diff --git a/.github/workflows/pull-translations.yml b/.github/workflows/pull-translations.yml new file mode 100644 index 0000000..504b32a --- /dev/null +++ b/.github/workflows/pull-translations.yml @@ -0,0 +1,62 @@ +# Workflow from https://github.com/python-docs-translations/transifex-automations/blob/main/sample-workflows/transifex-pull.yml +name: Pull Translations from Transifex + +on: + schedule: + - cron: '0 0 * * *' + workflow_dispatch: +permissions: + contents: write + +jobs: + update-translation: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + version: [ '3.14' ] + steps: + - uses: styfle/cancel-workflow-action@main + with: + access_token: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/setup-python@master + with: + python-version: 3 + - name: Install Dependencies + run: | + sudo apt-get install -y gettext + pip install requests cogapp polib transifex-python sphinx-intl blurb six + curl -o- https://raw.githubusercontent.com/transifex/cli/master/install.sh | bash + working-directory: /usr/local/bin + - uses: actions/checkout@master + with: + ref: ${{ matrix.version }} + fetch-depth: 0 + - run: curl -O https://raw.githubusercontent.com/python-docs-translations/transifex-automations/master/sample-workflows/transifex-util.py + - run: chmod +x transifex-util.py + - run: ./transifex-util.py recreate_tx_config --language id --project-slug python-newest --version 3.14 + env: + TX_TOKEN: ${{ secrets.TX_TOKEN }} + - run: ./transifex-util.py fetch --language id --project-slug python-newest --version 3.14 + env: + TX_TOKEN: ${{ secrets.TX_TOKEN }} + - run: ./transifex-util.py delete_obsolete_files --language id --project-slug python-newest --version 3.14 + - name: Set up Git + run: | + git config --local user.email github-actions@github.com + git config --local user.name "GitHub Action's update-translation job" + - name: Filter files + run: | + ! git diff -I'^"POT-Creation-Date: ' \ + -I'^"Language-Team: ' \ + -I'^# ' -I'^"Last-Translator: ' \ + --exit-code \ + && echo "SIGNIFICANT_CHANGES=1" >> $GITHUB_ENV || exit 0 + - run: git add . + - run: git commit -m 'Update translation from Transifex' + if: env.SIGNIFICANT_CHANGES + - uses: ad-m/github-push-action@master + if: env.SIGNIFICANT_CHANGES + with: + branch: ${{ matrix.version }} + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.tx/config b/.tx/config deleted file mode 100644 index c4cc304..0000000 --- a/.tx/config +++ /dev/null @@ -1,5153 +0,0 @@ -[main] -host = https://app.transifex.com - -[o:python-doc:p:python-newest:r:about] -file_filter = python-newest.about/.po -source_file = python-newest.about/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = about -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:bugs] -file_filter = python-newest.bugs/.po -source_file = python-newest.bugs/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = bugs -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--abstract] -file_filter = python-newest.c-api--abstract/.po -source_file = python-newest.c-api--abstract/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--abstract -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--allocation] -file_filter = python-newest.c-api--allocation/.po -source_file = python-newest.c-api--allocation/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--allocation -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--apiabiversion] -file_filter = python-newest.c-api--apiabiversion/.po -source_file = python-newest.c-api--apiabiversion/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--apiabiversion -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--arg] -file_filter = python-newest.c-api--arg/.po -source_file = python-newest.c-api--arg/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--arg -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--bool] -file_filter = python-newest.c-api--bool/.po -source_file = python-newest.c-api--bool/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--bool -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--buffer] -file_filter = python-newest.c-api--buffer/.po -source_file = python-newest.c-api--buffer/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--buffer -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--bytearray] -file_filter = python-newest.c-api--bytearray/.po -source_file = python-newest.c-api--bytearray/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--bytearray -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--bytes] -file_filter = python-newest.c-api--bytes/.po -source_file = python-newest.c-api--bytes/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--bytes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--call] -file_filter = python-newest.c-api--call/.po -source_file = python-newest.c-api--call/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--call -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--capsule] -file_filter = python-newest.c-api--capsule/.po -source_file = python-newest.c-api--capsule/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--capsule -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--cell] -file_filter = python-newest.c-api--cell/.po -source_file = python-newest.c-api--cell/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--cell -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--code] -file_filter = python-newest.c-api--code/.po -source_file = python-newest.c-api--code/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--code -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--codec] -file_filter = python-newest.c-api--codec/.po -source_file = python-newest.c-api--codec/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--codec -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--complex] -file_filter = python-newest.c-api--complex/.po -source_file = python-newest.c-api--complex/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--complex -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--concrete] -file_filter = python-newest.c-api--concrete/.po -source_file = python-newest.c-api--concrete/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--concrete -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--contextvars] -file_filter = python-newest.c-api--contextvars/.po -source_file = python-newest.c-api--contextvars/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--contextvars -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--conversion] -file_filter = python-newest.c-api--conversion/.po -source_file = python-newest.c-api--conversion/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--conversion -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--coro] -file_filter = python-newest.c-api--coro/.po -source_file = python-newest.c-api--coro/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--coro -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--datetime] -file_filter = python-newest.c-api--datetime/.po -source_file = python-newest.c-api--datetime/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--datetime -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--descriptor] -file_filter = python-newest.c-api--descriptor/.po -source_file = python-newest.c-api--descriptor/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--descriptor -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--dict] -file_filter = python-newest.c-api--dict/.po -source_file = python-newest.c-api--dict/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--dict -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--exceptions] -file_filter = python-newest.c-api--exceptions/.po -source_file = python-newest.c-api--exceptions/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--exceptions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--file] -file_filter = python-newest.c-api--file/.po -source_file = python-newest.c-api--file/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--file -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--float] -file_filter = python-newest.c-api--float/.po -source_file = python-newest.c-api--float/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--float -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--frame] -file_filter = python-newest.c-api--frame/.po -source_file = python-newest.c-api--frame/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--frame -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--function] -file_filter = python-newest.c-api--function/.po -source_file = python-newest.c-api--function/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--function -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--gcsupport] -file_filter = python-newest.c-api--gcsupport/.po -source_file = python-newest.c-api--gcsupport/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--gcsupport -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--gen] -file_filter = python-newest.c-api--gen/.po -source_file = python-newest.c-api--gen/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--gen -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--hash] -file_filter = python-newest.c-api--hash/.po -source_file = python-newest.c-api--hash/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--hash -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--import] -file_filter = python-newest.c-api--import/.po -source_file = python-newest.c-api--import/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--import -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--index] -file_filter = python-newest.c-api--index/.po -source_file = python-newest.c-api--index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--init] -file_filter = python-newest.c-api--init/.po -source_file = python-newest.c-api--init/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--init -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--init_config] -file_filter = python-newest.c-api--init_config/.po -source_file = python-newest.c-api--init_config/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--init_config -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--intro] -file_filter = python-newest.c-api--intro/.po -source_file = python-newest.c-api--intro/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--intro -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--iter] -file_filter = python-newest.c-api--iter/.po -source_file = python-newest.c-api--iter/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--iter -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--iterator] -file_filter = python-newest.c-api--iterator/.po -source_file = python-newest.c-api--iterator/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--iterator -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--list] -file_filter = python-newest.c-api--list/.po -source_file = python-newest.c-api--list/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--list -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--long] -file_filter = python-newest.c-api--long/.po -source_file = python-newest.c-api--long/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--long -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--mapping] -file_filter = python-newest.c-api--mapping/.po -source_file = python-newest.c-api--mapping/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--mapping -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--marshal] -file_filter = python-newest.c-api--marshal/.po -source_file = python-newest.c-api--marshal/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--marshal -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--memory] -file_filter = python-newest.c-api--memory/.po -source_file = python-newest.c-api--memory/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--memory -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--memoryview] -file_filter = python-newest.c-api--memoryview/.po -source_file = python-newest.c-api--memoryview/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--memoryview -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--method] -file_filter = python-newest.c-api--method/.po -source_file = python-newest.c-api--method/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--method -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--module] -file_filter = python-newest.c-api--module/.po -source_file = python-newest.c-api--module/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--module -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--monitoring] -file_filter = python-newest.c-api--monitoring/.po -source_file = python-newest.c-api--monitoring/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--monitoring -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--none] -file_filter = python-newest.c-api--none/.po -source_file = python-newest.c-api--none/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--none -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--number] -file_filter = python-newest.c-api--number/.po -source_file = python-newest.c-api--number/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--number -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--object] -file_filter = python-newest.c-api--object/.po -source_file = python-newest.c-api--object/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--object -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--objimpl] -file_filter = python-newest.c-api--objimpl/.po -source_file = python-newest.c-api--objimpl/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--objimpl -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--perfmaps] -file_filter = python-newest.c-api--perfmaps/.po -source_file = python-newest.c-api--perfmaps/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--perfmaps -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--refcounting] -file_filter = python-newest.c-api--refcounting/.po -source_file = python-newest.c-api--refcounting/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--refcounting -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--reflection] -file_filter = python-newest.c-api--reflection/.po -source_file = python-newest.c-api--reflection/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--reflection -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--sequence] -file_filter = python-newest.c-api--sequence/.po -source_file = python-newest.c-api--sequence/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--sequence -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--set] -file_filter = python-newest.c-api--set/.po -source_file = python-newest.c-api--set/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--set -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--slice] -file_filter = python-newest.c-api--slice/.po -source_file = python-newest.c-api--slice/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--slice -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--stable] -file_filter = python-newest.c-api--stable/.po -source_file = python-newest.c-api--stable/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--stable -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--structures] -file_filter = python-newest.c-api--structures/.po -source_file = python-newest.c-api--structures/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--structures -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--sys] -file_filter = python-newest.c-api--sys/.po -source_file = python-newest.c-api--sys/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--sys -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--time] -file_filter = python-newest.c-api--time/.po -source_file = python-newest.c-api--time/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--time -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--tuple] -file_filter = python-newest.c-api--tuple/.po -source_file = python-newest.c-api--tuple/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--tuple -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--type] -file_filter = python-newest.c-api--type/.po -source_file = python-newest.c-api--type/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--type -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--typehints] -file_filter = python-newest.c-api--typehints/.po -source_file = python-newest.c-api--typehints/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--typehints -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--typeobj] -file_filter = python-newest.c-api--typeobj/.po -source_file = python-newest.c-api--typeobj/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--typeobj -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--unicode] -file_filter = python-newest.c-api--unicode/.po -source_file = python-newest.c-api--unicode/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--unicode -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--utilities] -file_filter = python-newest.c-api--utilities/.po -source_file = python-newest.c-api--utilities/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--utilities -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--veryhigh] -file_filter = python-newest.c-api--veryhigh/.po -source_file = python-newest.c-api--veryhigh/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--veryhigh -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--weakref] -file_filter = python-newest.c-api--weakref/.po -source_file = python-newest.c-api--weakref/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = c-api--weakref -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:contents] -file_filter = python-newest.contents/.po -source_file = python-newest.contents/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = contents -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:copyright] -file_filter = python-newest.copyright/.po -source_file = python-newest.copyright/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = copyright -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--c-api-pending-removal-in-3_14] -file_filter = python-newest.deprecations--c-api-pending-removal-in-3_14/.po -source_file = python-newest.deprecations--c-api-pending-removal-in-3_14/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = deprecations--c-api-pending-removal-in-3_14 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--c-api-pending-removal-in-3_15] -file_filter = python-newest.deprecations--c-api-pending-removal-in-3_15/.po -source_file = python-newest.deprecations--c-api-pending-removal-in-3_15/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = deprecations--c-api-pending-removal-in-3_15 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--c-api-pending-removal-in-3_18] -file_filter = python-newest.deprecations--c-api-pending-removal-in-3_18/.po -source_file = python-newest.deprecations--c-api-pending-removal-in-3_18/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = deprecations--c-api-pending-removal-in-3_18 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--c-api-pending-removal-in-future] -file_filter = python-newest.deprecations--c-api-pending-removal-in-future/.po -source_file = python-newest.deprecations--c-api-pending-removal-in-future/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = deprecations--c-api-pending-removal-in-future -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--index] -file_filter = python-newest.deprecations--index/.po -source_file = python-newest.deprecations--index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = deprecations--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_13] -file_filter = python-newest.deprecations--pending-removal-in-3_13/.po -source_file = python-newest.deprecations--pending-removal-in-3_13/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = deprecations--pending-removal-in-3_13 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_14] -file_filter = python-newest.deprecations--pending-removal-in-3_14/.po -source_file = python-newest.deprecations--pending-removal-in-3_14/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = deprecations--pending-removal-in-3_14 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_15] -file_filter = python-newest.deprecations--pending-removal-in-3_15/.po -source_file = python-newest.deprecations--pending-removal-in-3_15/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = deprecations--pending-removal-in-3_15 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_16] -file_filter = python-newest.deprecations--pending-removal-in-3_16/.po -source_file = python-newest.deprecations--pending-removal-in-3_16/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = deprecations--pending-removal-in-3_16 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_17] -file_filter = python-newest.deprecations--pending-removal-in-3_17/.po -source_file = python-newest.deprecations--pending-removal-in-3_17/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = deprecations--pending-removal-in-3_17 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_19] -file_filter = python-newest.deprecations--pending-removal-in-3_19/.po -source_file = python-newest.deprecations--pending-removal-in-3_19/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = deprecations--pending-removal-in-3_19 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-future] -file_filter = python-newest.deprecations--pending-removal-in-future/.po -source_file = python-newest.deprecations--pending-removal-in-future/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = deprecations--pending-removal-in-future -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:distributing--index] -file_filter = python-newest.distributing--index/.po -source_file = python-newest.distributing--index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = distributing--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--building] -file_filter = python-newest.extending--building/.po -source_file = python-newest.extending--building/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = extending--building -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--embedding] -file_filter = python-newest.extending--embedding/.po -source_file = python-newest.extending--embedding/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = extending--embedding -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--extending] -file_filter = python-newest.extending--extending/.po -source_file = python-newest.extending--extending/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = extending--extending -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--index] -file_filter = python-newest.extending--index/.po -source_file = python-newest.extending--index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = extending--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--newtypes] -file_filter = python-newest.extending--newtypes/.po -source_file = python-newest.extending--newtypes/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = extending--newtypes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--newtypes_tutorial] -file_filter = python-newest.extending--newtypes_tutorial/.po -source_file = python-newest.extending--newtypes_tutorial/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = extending--newtypes_tutorial -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--windows] -file_filter = python-newest.extending--windows/.po -source_file = python-newest.extending--windows/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = extending--windows -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--design] -file_filter = python-newest.faq--design/.po -source_file = python-newest.faq--design/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = faq--design -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--extending] -file_filter = python-newest.faq--extending/.po -source_file = python-newest.faq--extending/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = faq--extending -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--general] -file_filter = python-newest.faq--general/.po -source_file = python-newest.faq--general/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = faq--general -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--gui] -file_filter = python-newest.faq--gui/.po -source_file = python-newest.faq--gui/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = faq--gui -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--index] -file_filter = python-newest.faq--index/.po -source_file = python-newest.faq--index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = faq--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--installed] -file_filter = python-newest.faq--installed/.po -source_file = python-newest.faq--installed/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = faq--installed -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--library] -file_filter = python-newest.faq--library/.po -source_file = python-newest.faq--library/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = faq--library -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--programming] -file_filter = python-newest.faq--programming/.po -source_file = python-newest.faq--programming/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = faq--programming -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--windows] -file_filter = python-newest.faq--windows/.po -source_file = python-newest.faq--windows/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = faq--windows -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:glossary_] -file_filter = python-newest.glossary_/.po -source_file = python-newest.glossary_/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = glossary_ -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--annotations] -file_filter = python-newest.howto--annotations/.po -source_file = python-newest.howto--annotations/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--annotations -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--argparse] -file_filter = python-newest.howto--argparse/.po -source_file = python-newest.howto--argparse/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--argparse -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--argparse-optparse] -file_filter = python-newest.howto--argparse-optparse/.po -source_file = python-newest.howto--argparse-optparse/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--argparse-optparse -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--clinic] -file_filter = python-newest.howto--clinic/.po -source_file = python-newest.howto--clinic/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--clinic -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--cporting] -file_filter = python-newest.howto--cporting/.po -source_file = python-newest.howto--cporting/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--cporting -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--curses] -file_filter = python-newest.howto--curses/.po -source_file = python-newest.howto--curses/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--curses -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--descriptor] -file_filter = python-newest.howto--descriptor/.po -source_file = python-newest.howto--descriptor/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--descriptor -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--enum] -file_filter = python-newest.howto--enum/.po -source_file = python-newest.howto--enum/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--enum -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--free-threading-extensions] -file_filter = python-newest.howto--free-threading-extensions/.po -source_file = python-newest.howto--free-threading-extensions/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--free-threading-extensions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--free-threading-python] -file_filter = python-newest.howto--free-threading-python/.po -source_file = python-newest.howto--free-threading-python/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--free-threading-python -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--functional] -file_filter = python-newest.howto--functional/.po -source_file = python-newest.howto--functional/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--functional -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--gdb_helpers] -file_filter = python-newest.howto--gdb_helpers/.po -source_file = python-newest.howto--gdb_helpers/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--gdb_helpers -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--index] -file_filter = python-newest.howto--index/.po -source_file = python-newest.howto--index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--instrumentation] -file_filter = python-newest.howto--instrumentation/.po -source_file = python-newest.howto--instrumentation/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--instrumentation -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--ipaddress] -file_filter = python-newest.howto--ipaddress/.po -source_file = python-newest.howto--ipaddress/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--ipaddress -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--isolating-extensions] -file_filter = python-newest.howto--isolating-extensions/.po -source_file = python-newest.howto--isolating-extensions/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--isolating-extensions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--logging] -file_filter = python-newest.howto--logging/.po -source_file = python-newest.howto--logging/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--logging -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--logging-cookbook] -file_filter = python-newest.howto--logging-cookbook/.po -source_file = python-newest.howto--logging-cookbook/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--logging-cookbook -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--mro] -file_filter = python-newest.howto--mro/.po -source_file = python-newest.howto--mro/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--mro -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--perf_profiling] -file_filter = python-newest.howto--perf_profiling/.po -source_file = python-newest.howto--perf_profiling/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--perf_profiling -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--pyporting] -file_filter = python-newest.howto--pyporting/.po -source_file = python-newest.howto--pyporting/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--pyporting -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--regex] -file_filter = python-newest.howto--regex/.po -source_file = python-newest.howto--regex/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--regex -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--remote_debugging] -file_filter = python-newest.howto--remote_debugging/.po -source_file = python-newest.howto--remote_debugging/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--remote_debugging -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--sockets] -file_filter = python-newest.howto--sockets/.po -source_file = python-newest.howto--sockets/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--sockets -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--sorting] -file_filter = python-newest.howto--sorting/.po -source_file = python-newest.howto--sorting/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--sorting -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--timerfd] -file_filter = python-newest.howto--timerfd/.po -source_file = python-newest.howto--timerfd/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--timerfd -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--unicode] -file_filter = python-newest.howto--unicode/.po -source_file = python-newest.howto--unicode/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--unicode -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--urllib2] -file_filter = python-newest.howto--urllib2/.po -source_file = python-newest.howto--urllib2/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = howto--urllib2 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:installing--index] -file_filter = python-newest.installing--index/.po -source_file = python-newest.installing--index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = installing--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--abc] -file_filter = python-newest.library--abc/.po -source_file = python-newest.library--abc/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--abc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--aifc] -file_filter = python-newest.library--aifc/.po -source_file = python-newest.library--aifc/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--aifc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--allos] -file_filter = python-newest.library--allos/.po -source_file = python-newest.library--allos/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--allos -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--annotationlib] -file_filter = python-newest.library--annotationlib/.po -source_file = python-newest.library--annotationlib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--annotationlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--archiving] -file_filter = python-newest.library--archiving/.po -source_file = python-newest.library--archiving/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--archiving -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--argparse] -file_filter = python-newest.library--argparse/.po -source_file = python-newest.library--argparse/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--argparse -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--array] -file_filter = python-newest.library--array/.po -source_file = python-newest.library--array/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--array -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ast] -file_filter = python-newest.library--ast/.po -source_file = python-newest.library--ast/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--ast -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asynchat] -file_filter = python-newest.library--asynchat/.po -source_file = python-newest.library--asynchat/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asynchat -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio] -file_filter = python-newest.library--asyncio/.po -source_file = python-newest.library--asyncio/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-api-index] -file_filter = python-newest.library--asyncio-api-index/.po -source_file = python-newest.library--asyncio-api-index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-api-index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-dev] -file_filter = python-newest.library--asyncio-dev/.po -source_file = python-newest.library--asyncio-dev/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-dev -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-eventloop] -file_filter = python-newest.library--asyncio-eventloop/.po -source_file = python-newest.library--asyncio-eventloop/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-eventloop -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-exceptions] -file_filter = python-newest.library--asyncio-exceptions/.po -source_file = python-newest.library--asyncio-exceptions/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-exceptions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-extending] -file_filter = python-newest.library--asyncio-extending/.po -source_file = python-newest.library--asyncio-extending/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-extending -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-future] -file_filter = python-newest.library--asyncio-future/.po -source_file = python-newest.library--asyncio-future/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-future -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-graph] -file_filter = python-newest.library--asyncio-graph/.po -source_file = python-newest.library--asyncio-graph/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-graph -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-llapi-index] -file_filter = python-newest.library--asyncio-llapi-index/.po -source_file = python-newest.library--asyncio-llapi-index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-llapi-index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-platforms] -file_filter = python-newest.library--asyncio-platforms/.po -source_file = python-newest.library--asyncio-platforms/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-platforms -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-policy] -file_filter = python-newest.library--asyncio-policy/.po -source_file = python-newest.library--asyncio-policy/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-policy -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-protocol] -file_filter = python-newest.library--asyncio-protocol/.po -source_file = python-newest.library--asyncio-protocol/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-protocol -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-queue] -file_filter = python-newest.library--asyncio-queue/.po -source_file = python-newest.library--asyncio-queue/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-queue -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-runner] -file_filter = python-newest.library--asyncio-runner/.po -source_file = python-newest.library--asyncio-runner/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-runner -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-stream] -file_filter = python-newest.library--asyncio-stream/.po -source_file = python-newest.library--asyncio-stream/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-stream -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-subprocess] -file_filter = python-newest.library--asyncio-subprocess/.po -source_file = python-newest.library--asyncio-subprocess/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-subprocess -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-sync] -file_filter = python-newest.library--asyncio-sync/.po -source_file = python-newest.library--asyncio-sync/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-sync -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-task] -file_filter = python-newest.library--asyncio-task/.po -source_file = python-newest.library--asyncio-task/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncio-task -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncore] -file_filter = python-newest.library--asyncore/.po -source_file = python-newest.library--asyncore/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--asyncore -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--atexit] -file_filter = python-newest.library--atexit/.po -source_file = python-newest.library--atexit/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--atexit -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--audioop] -file_filter = python-newest.library--audioop/.po -source_file = python-newest.library--audioop/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--audioop -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--audit_events] -file_filter = python-newest.library--audit_events/.po -source_file = python-newest.library--audit_events/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--audit_events -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--base64] -file_filter = python-newest.library--base64/.po -source_file = python-newest.library--base64/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--base64 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--bdb] -file_filter = python-newest.library--bdb/.po -source_file = python-newest.library--bdb/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--bdb -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--binary] -file_filter = python-newest.library--binary/.po -source_file = python-newest.library--binary/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--binary -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--binascii] -file_filter = python-newest.library--binascii/.po -source_file = python-newest.library--binascii/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--binascii -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--bisect] -file_filter = python-newest.library--bisect/.po -source_file = python-newest.library--bisect/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--bisect -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--builtins] -file_filter = python-newest.library--builtins/.po -source_file = python-newest.library--builtins/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--builtins -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--bz2] -file_filter = python-newest.library--bz2/.po -source_file = python-newest.library--bz2/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--bz2 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--calendar] -file_filter = python-newest.library--calendar/.po -source_file = python-newest.library--calendar/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--calendar -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--cgi] -file_filter = python-newest.library--cgi/.po -source_file = python-newest.library--cgi/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--cgi -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--cgitb] -file_filter = python-newest.library--cgitb/.po -source_file = python-newest.library--cgitb/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--cgitb -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--chunk] -file_filter = python-newest.library--chunk/.po -source_file = python-newest.library--chunk/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--chunk -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--cmath] -file_filter = python-newest.library--cmath/.po -source_file = python-newest.library--cmath/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--cmath -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--cmd] -file_filter = python-newest.library--cmd/.po -source_file = python-newest.library--cmd/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--cmd -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--cmdline] -file_filter = python-newest.library--cmdline/.po -source_file = python-newest.library--cmdline/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--cmdline -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--cmdlinelibs] -file_filter = python-newest.library--cmdlinelibs/.po -source_file = python-newest.library--cmdlinelibs/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--cmdlinelibs -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--code] -file_filter = python-newest.library--code/.po -source_file = python-newest.library--code/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--code -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--codecs] -file_filter = python-newest.library--codecs/.po -source_file = python-newest.library--codecs/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--codecs -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--codeop] -file_filter = python-newest.library--codeop/.po -source_file = python-newest.library--codeop/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--codeop -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--collections] -file_filter = python-newest.library--collections/.po -source_file = python-newest.library--collections/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--collections -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--collections_abc] -file_filter = python-newest.library--collections_abc/.po -source_file = python-newest.library--collections_abc/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--collections_abc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--colorsys] -file_filter = python-newest.library--colorsys/.po -source_file = python-newest.library--colorsys/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--colorsys -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--compileall] -file_filter = python-newest.library--compileall/.po -source_file = python-newest.library--compileall/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--compileall -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--concurrency] -file_filter = python-newest.library--concurrency/.po -source_file = python-newest.library--concurrency/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--concurrency -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--concurrent] -file_filter = python-newest.library--concurrent/.po -source_file = python-newest.library--concurrent/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--concurrent -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--concurrent_futures] -file_filter = python-newest.library--concurrent_futures/.po -source_file = python-newest.library--concurrent_futures/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--concurrent_futures -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--configparser] -file_filter = python-newest.library--configparser/.po -source_file = python-newest.library--configparser/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--configparser -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--constants] -file_filter = python-newest.library--constants/.po -source_file = python-newest.library--constants/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--constants -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--contextlib] -file_filter = python-newest.library--contextlib/.po -source_file = python-newest.library--contextlib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--contextlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--contextvars] -file_filter = python-newest.library--contextvars/.po -source_file = python-newest.library--contextvars/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--contextvars -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--copy] -file_filter = python-newest.library--copy/.po -source_file = python-newest.library--copy/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--copy -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--copyreg] -file_filter = python-newest.library--copyreg/.po -source_file = python-newest.library--copyreg/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--copyreg -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--crypt] -file_filter = python-newest.library--crypt/.po -source_file = python-newest.library--crypt/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--crypt -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--crypto] -file_filter = python-newest.library--crypto/.po -source_file = python-newest.library--crypto/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--crypto -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--csv] -file_filter = python-newest.library--csv/.po -source_file = python-newest.library--csv/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--csv -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ctypes] -file_filter = python-newest.library--ctypes/.po -source_file = python-newest.library--ctypes/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--ctypes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--curses] -file_filter = python-newest.library--curses/.po -source_file = python-newest.library--curses/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--curses -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--curses_ascii] -file_filter = python-newest.library--curses_ascii/.po -source_file = python-newest.library--curses_ascii/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--curses_ascii -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--curses_panel] -file_filter = python-newest.library--curses_panel/.po -source_file = python-newest.library--curses_panel/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--curses_panel -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--custominterp] -file_filter = python-newest.library--custominterp/.po -source_file = python-newest.library--custominterp/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--custominterp -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--dataclasses] -file_filter = python-newest.library--dataclasses/.po -source_file = python-newest.library--dataclasses/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--dataclasses -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--datatypes] -file_filter = python-newest.library--datatypes/.po -source_file = python-newest.library--datatypes/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--datatypes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--datetime] -file_filter = python-newest.library--datetime/.po -source_file = python-newest.library--datetime/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--datetime -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--dbm] -file_filter = python-newest.library--dbm/.po -source_file = python-newest.library--dbm/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--dbm -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--debug] -file_filter = python-newest.library--debug/.po -source_file = python-newest.library--debug/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--debug -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--decimal] -file_filter = python-newest.library--decimal/.po -source_file = python-newest.library--decimal/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--decimal -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--development] -file_filter = python-newest.library--development/.po -source_file = python-newest.library--development/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--development -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--devmode] -file_filter = python-newest.library--devmode/.po -source_file = python-newest.library--devmode/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--devmode -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--dialog] -file_filter = python-newest.library--dialog/.po -source_file = python-newest.library--dialog/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--dialog -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--difflib] -file_filter = python-newest.library--difflib/.po -source_file = python-newest.library--difflib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--difflib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--dis] -file_filter = python-newest.library--dis/.po -source_file = python-newest.library--dis/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--dis -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--distribution] -file_filter = python-newest.library--distribution/.po -source_file = python-newest.library--distribution/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--distribution -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--distutils] -file_filter = python-newest.library--distutils/.po -source_file = python-newest.library--distutils/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--distutils -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--doctest] -file_filter = python-newest.library--doctest/.po -source_file = python-newest.library--doctest/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--doctest -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email] -file_filter = python-newest.library--email/.po -source_file = python-newest.library--email/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_charset] -file_filter = python-newest.library--email_charset/.po -source_file = python-newest.library--email_charset/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_charset -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_compat32-message] -file_filter = python-newest.library--email_compat32-message/.po -source_file = python-newest.library--email_compat32-message/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_compat32-message -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_contentmanager] -file_filter = python-newest.library--email_contentmanager/.po -source_file = python-newest.library--email_contentmanager/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_contentmanager -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_encoders] -file_filter = python-newest.library--email_encoders/.po -source_file = python-newest.library--email_encoders/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_encoders -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_errors] -file_filter = python-newest.library--email_errors/.po -source_file = python-newest.library--email_errors/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_errors -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_examples] -file_filter = python-newest.library--email_examples/.po -source_file = python-newest.library--email_examples/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_examples -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_generator] -file_filter = python-newest.library--email_generator/.po -source_file = python-newest.library--email_generator/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_generator -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_header] -file_filter = python-newest.library--email_header/.po -source_file = python-newest.library--email_header/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_header -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_headerregistry] -file_filter = python-newest.library--email_headerregistry/.po -source_file = python-newest.library--email_headerregistry/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_headerregistry -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_iterators] -file_filter = python-newest.library--email_iterators/.po -source_file = python-newest.library--email_iterators/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_iterators -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_message] -file_filter = python-newest.library--email_message/.po -source_file = python-newest.library--email_message/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_message -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_mime] -file_filter = python-newest.library--email_mime/.po -source_file = python-newest.library--email_mime/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_mime -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_parser] -file_filter = python-newest.library--email_parser/.po -source_file = python-newest.library--email_parser/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_parser -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_policy] -file_filter = python-newest.library--email_policy/.po -source_file = python-newest.library--email_policy/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_policy -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_utils] -file_filter = python-newest.library--email_utils/.po -source_file = python-newest.library--email_utils/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--email_utils -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ensurepip] -file_filter = python-newest.library--ensurepip/.po -source_file = python-newest.library--ensurepip/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--ensurepip -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--enum] -file_filter = python-newest.library--enum/.po -source_file = python-newest.library--enum/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--enum -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--errno] -file_filter = python-newest.library--errno/.po -source_file = python-newest.library--errno/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--errno -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--exceptions] -file_filter = python-newest.library--exceptions/.po -source_file = python-newest.library--exceptions/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--exceptions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--faulthandler] -file_filter = python-newest.library--faulthandler/.po -source_file = python-newest.library--faulthandler/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--faulthandler -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--fcntl] -file_filter = python-newest.library--fcntl/.po -source_file = python-newest.library--fcntl/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--fcntl -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--filecmp] -file_filter = python-newest.library--filecmp/.po -source_file = python-newest.library--filecmp/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--filecmp -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--fileformats] -file_filter = python-newest.library--fileformats/.po -source_file = python-newest.library--fileformats/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--fileformats -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--fileinput] -file_filter = python-newest.library--fileinput/.po -source_file = python-newest.library--fileinput/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--fileinput -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--filesys] -file_filter = python-newest.library--filesys/.po -source_file = python-newest.library--filesys/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--filesys -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--fnmatch] -file_filter = python-newest.library--fnmatch/.po -source_file = python-newest.library--fnmatch/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--fnmatch -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--fractions] -file_filter = python-newest.library--fractions/.po -source_file = python-newest.library--fractions/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--fractions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--frameworks] -file_filter = python-newest.library--frameworks/.po -source_file = python-newest.library--frameworks/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--frameworks -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ftplib] -file_filter = python-newest.library--ftplib/.po -source_file = python-newest.library--ftplib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--ftplib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--functional] -file_filter = python-newest.library--functional/.po -source_file = python-newest.library--functional/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--functional -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--functions] -file_filter = python-newest.library--functions/.po -source_file = python-newest.library--functions/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--functions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--functools] -file_filter = python-newest.library--functools/.po -source_file = python-newest.library--functools/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--functools -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--__future__] -file_filter = python-newest.library--__future__/.po -source_file = python-newest.library--__future__/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--__future__ -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--gc] -file_filter = python-newest.library--gc/.po -source_file = python-newest.library--gc/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--gc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--getopt] -file_filter = python-newest.library--getopt/.po -source_file = python-newest.library--getopt/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--getopt -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--getpass] -file_filter = python-newest.library--getpass/.po -source_file = python-newest.library--getpass/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--getpass -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--gettext] -file_filter = python-newest.library--gettext/.po -source_file = python-newest.library--gettext/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--gettext -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--glob] -file_filter = python-newest.library--glob/.po -source_file = python-newest.library--glob/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--glob -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--graphlib] -file_filter = python-newest.library--graphlib/.po -source_file = python-newest.library--graphlib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--graphlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--grp] -file_filter = python-newest.library--grp/.po -source_file = python-newest.library--grp/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--grp -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--gzip] -file_filter = python-newest.library--gzip/.po -source_file = python-newest.library--gzip/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--gzip -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--hashlib] -file_filter = python-newest.library--hashlib/.po -source_file = python-newest.library--hashlib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--hashlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--heapq] -file_filter = python-newest.library--heapq/.po -source_file = python-newest.library--heapq/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--heapq -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--hmac] -file_filter = python-newest.library--hmac/.po -source_file = python-newest.library--hmac/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--hmac -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--html] -file_filter = python-newest.library--html/.po -source_file = python-newest.library--html/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--html -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--html_entities] -file_filter = python-newest.library--html_entities/.po -source_file = python-newest.library--html_entities/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--html_entities -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--html_parser] -file_filter = python-newest.library--html_parser/.po -source_file = python-newest.library--html_parser/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--html_parser -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--http] -file_filter = python-newest.library--http/.po -source_file = python-newest.library--http/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--http -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--http_client] -file_filter = python-newest.library--http_client/.po -source_file = python-newest.library--http_client/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--http_client -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--http_cookiejar] -file_filter = python-newest.library--http_cookiejar/.po -source_file = python-newest.library--http_cookiejar/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--http_cookiejar -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--http_cookies] -file_filter = python-newest.library--http_cookies/.po -source_file = python-newest.library--http_cookies/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--http_cookies -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--http_server] -file_filter = python-newest.library--http_server/.po -source_file = python-newest.library--http_server/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--http_server -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--i18n] -file_filter = python-newest.library--i18n/.po -source_file = python-newest.library--i18n/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--i18n -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--idle] -file_filter = python-newest.library--idle/.po -source_file = python-newest.library--idle/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--idle -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--imaplib] -file_filter = python-newest.library--imaplib/.po -source_file = python-newest.library--imaplib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--imaplib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--imghdr] -file_filter = python-newest.library--imghdr/.po -source_file = python-newest.library--imghdr/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--imghdr -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--imp] -file_filter = python-newest.library--imp/.po -source_file = python-newest.library--imp/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--imp -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--importlib] -file_filter = python-newest.library--importlib/.po -source_file = python-newest.library--importlib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--importlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--importlib_metadata] -file_filter = python-newest.library--importlib_metadata/.po -source_file = python-newest.library--importlib_metadata/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--importlib_metadata -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--importlib_resources] -file_filter = python-newest.library--importlib_resources/.po -source_file = python-newest.library--importlib_resources/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--importlib_resources -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--importlib_resources_abc] -file_filter = python-newest.library--importlib_resources_abc/.po -source_file = python-newest.library--importlib_resources_abc/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--importlib_resources_abc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--index] -file_filter = python-newest.library--index/.po -source_file = python-newest.library--index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--inspect] -file_filter = python-newest.library--inspect/.po -source_file = python-newest.library--inspect/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--inspect -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--internet] -file_filter = python-newest.library--internet/.po -source_file = python-newest.library--internet/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--internet -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--intro] -file_filter = python-newest.library--intro/.po -source_file = python-newest.library--intro/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--intro -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--io] -file_filter = python-newest.library--io/.po -source_file = python-newest.library--io/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--io -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ipaddress] -file_filter = python-newest.library--ipaddress/.po -source_file = python-newest.library--ipaddress/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--ipaddress -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ipc] -file_filter = python-newest.library--ipc/.po -source_file = python-newest.library--ipc/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--ipc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--itertools] -file_filter = python-newest.library--itertools/.po -source_file = python-newest.library--itertools/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--itertools -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--json] -file_filter = python-newest.library--json/.po -source_file = python-newest.library--json/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--json -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--keyword] -file_filter = python-newest.library--keyword/.po -source_file = python-newest.library--keyword/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--keyword -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--language] -file_filter = python-newest.library--language/.po -source_file = python-newest.library--language/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--language -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--linecache] -file_filter = python-newest.library--linecache/.po -source_file = python-newest.library--linecache/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--linecache -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--locale] -file_filter = python-newest.library--locale/.po -source_file = python-newest.library--locale/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--locale -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--logging] -file_filter = python-newest.library--logging/.po -source_file = python-newest.library--logging/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--logging -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--logging_config] -file_filter = python-newest.library--logging_config/.po -source_file = python-newest.library--logging_config/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--logging_config -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--logging_handlers] -file_filter = python-newest.library--logging_handlers/.po -source_file = python-newest.library--logging_handlers/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--logging_handlers -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--lzma] -file_filter = python-newest.library--lzma/.po -source_file = python-newest.library--lzma/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--lzma -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--mailbox] -file_filter = python-newest.library--mailbox/.po -source_file = python-newest.library--mailbox/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--mailbox -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--mailcap] -file_filter = python-newest.library--mailcap/.po -source_file = python-newest.library--mailcap/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--mailcap -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--__main__] -file_filter = python-newest.library--__main__/.po -source_file = python-newest.library--__main__/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--__main__ -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--markup] -file_filter = python-newest.library--markup/.po -source_file = python-newest.library--markup/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--markup -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--marshal] -file_filter = python-newest.library--marshal/.po -source_file = python-newest.library--marshal/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--marshal -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--math] -file_filter = python-newest.library--math/.po -source_file = python-newest.library--math/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--math -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--mimetypes] -file_filter = python-newest.library--mimetypes/.po -source_file = python-newest.library--mimetypes/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--mimetypes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--mm] -file_filter = python-newest.library--mm/.po -source_file = python-newest.library--mm/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--mm -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--mmap] -file_filter = python-newest.library--mmap/.po -source_file = python-newest.library--mmap/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--mmap -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--modulefinder] -file_filter = python-newest.library--modulefinder/.po -source_file = python-newest.library--modulefinder/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--modulefinder -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--modules] -file_filter = python-newest.library--modules/.po -source_file = python-newest.library--modules/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--modules -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--msilib] -file_filter = python-newest.library--msilib/.po -source_file = python-newest.library--msilib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--msilib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--msvcrt] -file_filter = python-newest.library--msvcrt/.po -source_file = python-newest.library--msvcrt/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--msvcrt -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--multiprocessing] -file_filter = python-newest.library--multiprocessing/.po -source_file = python-newest.library--multiprocessing/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--multiprocessing -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--multiprocessing_shared_memory] -file_filter = python-newest.library--multiprocessing_shared_memory/.po -source_file = python-newest.library--multiprocessing_shared_memory/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--multiprocessing_shared_memory -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--netdata] -file_filter = python-newest.library--netdata/.po -source_file = python-newest.library--netdata/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--netdata -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--netrc] -file_filter = python-newest.library--netrc/.po -source_file = python-newest.library--netrc/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--netrc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--nis] -file_filter = python-newest.library--nis/.po -source_file = python-newest.library--nis/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--nis -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--nntplib] -file_filter = python-newest.library--nntplib/.po -source_file = python-newest.library--nntplib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--nntplib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--numbers] -file_filter = python-newest.library--numbers/.po -source_file = python-newest.library--numbers/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--numbers -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--numeric] -file_filter = python-newest.library--numeric/.po -source_file = python-newest.library--numeric/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--numeric -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--operator] -file_filter = python-newest.library--operator/.po -source_file = python-newest.library--operator/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--operator -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--optparse] -file_filter = python-newest.library--optparse/.po -source_file = python-newest.library--optparse/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--optparse -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--os] -file_filter = python-newest.library--os/.po -source_file = python-newest.library--os/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--os -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--os_path] -file_filter = python-newest.library--os_path/.po -source_file = python-newest.library--os_path/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--os_path -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ossaudiodev] -file_filter = python-newest.library--ossaudiodev/.po -source_file = python-newest.library--ossaudiodev/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--ossaudiodev -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pathlib] -file_filter = python-newest.library--pathlib/.po -source_file = python-newest.library--pathlib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--pathlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pdb] -file_filter = python-newest.library--pdb/.po -source_file = python-newest.library--pdb/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--pdb -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--persistence] -file_filter = python-newest.library--persistence/.po -source_file = python-newest.library--persistence/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--persistence -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pickle] -file_filter = python-newest.library--pickle/.po -source_file = python-newest.library--pickle/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--pickle -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pickletools] -file_filter = python-newest.library--pickletools/.po -source_file = python-newest.library--pickletools/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--pickletools -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pipes] -file_filter = python-newest.library--pipes/.po -source_file = python-newest.library--pipes/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--pipes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pkgutil] -file_filter = python-newest.library--pkgutil/.po -source_file = python-newest.library--pkgutil/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--pkgutil -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--platform] -file_filter = python-newest.library--platform/.po -source_file = python-newest.library--platform/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--platform -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--plistlib] -file_filter = python-newest.library--plistlib/.po -source_file = python-newest.library--plistlib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--plistlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--poplib] -file_filter = python-newest.library--poplib/.po -source_file = python-newest.library--poplib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--poplib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--posix] -file_filter = python-newest.library--posix/.po -source_file = python-newest.library--posix/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--posix -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pprint] -file_filter = python-newest.library--pprint/.po -source_file = python-newest.library--pprint/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--pprint -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--profile] -file_filter = python-newest.library--profile/.po -source_file = python-newest.library--profile/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--profile -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pty] -file_filter = python-newest.library--pty/.po -source_file = python-newest.library--pty/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--pty -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pwd] -file_filter = python-newest.library--pwd/.po -source_file = python-newest.library--pwd/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--pwd -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pyclbr] -file_filter = python-newest.library--pyclbr/.po -source_file = python-newest.library--pyclbr/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--pyclbr -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--py_compile] -file_filter = python-newest.library--py_compile/.po -source_file = python-newest.library--py_compile/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--py_compile -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pydoc] -file_filter = python-newest.library--pydoc/.po -source_file = python-newest.library--pydoc/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--pydoc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pyexpat] -file_filter = python-newest.library--pyexpat/.po -source_file = python-newest.library--pyexpat/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--pyexpat -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--python] -file_filter = python-newest.library--python/.po -source_file = python-newest.library--python/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--python -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--queue] -file_filter = python-newest.library--queue/.po -source_file = python-newest.library--queue/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--queue -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--quopri] -file_filter = python-newest.library--quopri/.po -source_file = python-newest.library--quopri/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--quopri -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--random] -file_filter = python-newest.library--random/.po -source_file = python-newest.library--random/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--random -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--re] -file_filter = python-newest.library--re/.po -source_file = python-newest.library--re/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--re -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--readline] -file_filter = python-newest.library--readline/.po -source_file = python-newest.library--readline/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--readline -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--removed] -file_filter = python-newest.library--removed/.po -source_file = python-newest.library--removed/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--removed -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--reprlib] -file_filter = python-newest.library--reprlib/.po -source_file = python-newest.library--reprlib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--reprlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--resource] -file_filter = python-newest.library--resource/.po -source_file = python-newest.library--resource/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--resource -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--rlcompleter] -file_filter = python-newest.library--rlcompleter/.po -source_file = python-newest.library--rlcompleter/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--rlcompleter -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--runpy] -file_filter = python-newest.library--runpy/.po -source_file = python-newest.library--runpy/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--runpy -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sched] -file_filter = python-newest.library--sched/.po -source_file = python-newest.library--sched/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--sched -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--secrets] -file_filter = python-newest.library--secrets/.po -source_file = python-newest.library--secrets/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--secrets -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--security_warnings] -file_filter = python-newest.library--security_warnings/.po -source_file = python-newest.library--security_warnings/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--security_warnings -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--select] -file_filter = python-newest.library--select/.po -source_file = python-newest.library--select/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--select -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--selectors] -file_filter = python-newest.library--selectors/.po -source_file = python-newest.library--selectors/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--selectors -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--shelve] -file_filter = python-newest.library--shelve/.po -source_file = python-newest.library--shelve/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--shelve -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--shlex] -file_filter = python-newest.library--shlex/.po -source_file = python-newest.library--shlex/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--shlex -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--shutil] -file_filter = python-newest.library--shutil/.po -source_file = python-newest.library--shutil/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--shutil -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--signal] -file_filter = python-newest.library--signal/.po -source_file = python-newest.library--signal/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--signal -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--site] -file_filter = python-newest.library--site/.po -source_file = python-newest.library--site/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--site -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--smtpd] -file_filter = python-newest.library--smtpd/.po -source_file = python-newest.library--smtpd/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--smtpd -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--smtplib] -file_filter = python-newest.library--smtplib/.po -source_file = python-newest.library--smtplib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--smtplib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sndhdr] -file_filter = python-newest.library--sndhdr/.po -source_file = python-newest.library--sndhdr/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--sndhdr -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--socket] -file_filter = python-newest.library--socket/.po -source_file = python-newest.library--socket/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--socket -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--socketserver] -file_filter = python-newest.library--socketserver/.po -source_file = python-newest.library--socketserver/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--socketserver -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--spwd] -file_filter = python-newest.library--spwd/.po -source_file = python-newest.library--spwd/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--spwd -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sqlite3] -file_filter = python-newest.library--sqlite3/.po -source_file = python-newest.library--sqlite3/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--sqlite3 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ssl] -file_filter = python-newest.library--ssl/.po -source_file = python-newest.library--ssl/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--ssl -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--stat] -file_filter = python-newest.library--stat/.po -source_file = python-newest.library--stat/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--stat -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--statistics] -file_filter = python-newest.library--statistics/.po -source_file = python-newest.library--statistics/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--statistics -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--stdtypes] -file_filter = python-newest.library--stdtypes/.po -source_file = python-newest.library--stdtypes/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--stdtypes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--string] -file_filter = python-newest.library--string/.po -source_file = python-newest.library--string/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--string -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--stringprep] -file_filter = python-newest.library--stringprep/.po -source_file = python-newest.library--stringprep/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--stringprep -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--struct] -file_filter = python-newest.library--struct/.po -source_file = python-newest.library--struct/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--struct -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--subprocess] -file_filter = python-newest.library--subprocess/.po -source_file = python-newest.library--subprocess/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--subprocess -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sunau] -file_filter = python-newest.library--sunau/.po -source_file = python-newest.library--sunau/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--sunau -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--superseded] -file_filter = python-newest.library--superseded/.po -source_file = python-newest.library--superseded/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--superseded -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--symtable] -file_filter = python-newest.library--symtable/.po -source_file = python-newest.library--symtable/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--symtable -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sys] -file_filter = python-newest.library--sys/.po -source_file = python-newest.library--sys/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--sys -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sysconfig] -file_filter = python-newest.library--sysconfig/.po -source_file = python-newest.library--sysconfig/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--sysconfig -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--syslog] -file_filter = python-newest.library--syslog/.po -source_file = python-newest.library--syslog/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--syslog -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sys_monitoring] -file_filter = python-newest.library--sys_monitoring/.po -source_file = python-newest.library--sys_monitoring/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--sys_monitoring -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sys_path_init] -file_filter = python-newest.library--sys_path_init/.po -source_file = python-newest.library--sys_path_init/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--sys_path_init -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tabnanny] -file_filter = python-newest.library--tabnanny/.po -source_file = python-newest.library--tabnanny/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tabnanny -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tarfile] -file_filter = python-newest.library--tarfile/.po -source_file = python-newest.library--tarfile/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tarfile -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--telnetlib] -file_filter = python-newest.library--telnetlib/.po -source_file = python-newest.library--telnetlib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--telnetlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tempfile] -file_filter = python-newest.library--tempfile/.po -source_file = python-newest.library--tempfile/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tempfile -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--termios] -file_filter = python-newest.library--termios/.po -source_file = python-newest.library--termios/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--termios -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--test] -file_filter = python-newest.library--test/.po -source_file = python-newest.library--test/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--test -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--text] -file_filter = python-newest.library--text/.po -source_file = python-newest.library--text/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--text -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--textwrap] -file_filter = python-newest.library--textwrap/.po -source_file = python-newest.library--textwrap/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--textwrap -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--_thread] -file_filter = python-newest.library--_thread/.po -source_file = python-newest.library--_thread/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--_thread -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--threading] -file_filter = python-newest.library--threading/.po -source_file = python-newest.library--threading/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--threading -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--time] -file_filter = python-newest.library--time/.po -source_file = python-newest.library--time/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--time -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--timeit] -file_filter = python-newest.library--timeit/.po -source_file = python-newest.library--timeit/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--timeit -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tk] -file_filter = python-newest.library--tk/.po -source_file = python-newest.library--tk/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tk -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter] -file_filter = python-newest.library--tkinter/.po -source_file = python-newest.library--tkinter/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tkinter -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter_colorchooser] -file_filter = python-newest.library--tkinter_colorchooser/.po -source_file = python-newest.library--tkinter_colorchooser/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tkinter_colorchooser -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter_dnd] -file_filter = python-newest.library--tkinter_dnd/.po -source_file = python-newest.library--tkinter_dnd/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tkinter_dnd -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter_font] -file_filter = python-newest.library--tkinter_font/.po -source_file = python-newest.library--tkinter_font/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tkinter_font -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter_messagebox] -file_filter = python-newest.library--tkinter_messagebox/.po -source_file = python-newest.library--tkinter_messagebox/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tkinter_messagebox -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter_scrolledtext] -file_filter = python-newest.library--tkinter_scrolledtext/.po -source_file = python-newest.library--tkinter_scrolledtext/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tkinter_scrolledtext -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter_ttk] -file_filter = python-newest.library--tkinter_ttk/.po -source_file = python-newest.library--tkinter_ttk/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tkinter_ttk -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--token] -file_filter = python-newest.library--token/.po -source_file = python-newest.library--token/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--token -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tokenize] -file_filter = python-newest.library--tokenize/.po -source_file = python-newest.library--tokenize/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tokenize -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tomllib] -file_filter = python-newest.library--tomllib/.po -source_file = python-newest.library--tomllib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tomllib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--trace] -file_filter = python-newest.library--trace/.po -source_file = python-newest.library--trace/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--trace -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--traceback] -file_filter = python-newest.library--traceback/.po -source_file = python-newest.library--traceback/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--traceback -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tracemalloc] -file_filter = python-newest.library--tracemalloc/.po -source_file = python-newest.library--tracemalloc/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tracemalloc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tty] -file_filter = python-newest.library--tty/.po -source_file = python-newest.library--tty/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--tty -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--turtle] -file_filter = python-newest.library--turtle/.po -source_file = python-newest.library--turtle/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--turtle -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--types] -file_filter = python-newest.library--types/.po -source_file = python-newest.library--types/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--types -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--typing] -file_filter = python-newest.library--typing/.po -source_file = python-newest.library--typing/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--typing -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--unicodedata] -file_filter = python-newest.library--unicodedata/.po -source_file = python-newest.library--unicodedata/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--unicodedata -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--unittest] -file_filter = python-newest.library--unittest/.po -source_file = python-newest.library--unittest/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--unittest -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--unittest_mock] -file_filter = python-newest.library--unittest_mock/.po -source_file = python-newest.library--unittest_mock/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--unittest_mock -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--unittest_mock-examples] -file_filter = python-newest.library--unittest_mock-examples/.po -source_file = python-newest.library--unittest_mock-examples/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--unittest_mock-examples -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--unix] -file_filter = python-newest.library--unix/.po -source_file = python-newest.library--unix/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--unix -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--urllib] -file_filter = python-newest.library--urllib/.po -source_file = python-newest.library--urllib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--urllib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--urllib_error] -file_filter = python-newest.library--urllib_error/.po -source_file = python-newest.library--urllib_error/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--urllib_error -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--urllib_parse] -file_filter = python-newest.library--urllib_parse/.po -source_file = python-newest.library--urllib_parse/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--urllib_parse -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--urllib_request] -file_filter = python-newest.library--urllib_request/.po -source_file = python-newest.library--urllib_request/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--urllib_request -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--urllib_robotparser] -file_filter = python-newest.library--urllib_robotparser/.po -source_file = python-newest.library--urllib_robotparser/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--urllib_robotparser -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--uu] -file_filter = python-newest.library--uu/.po -source_file = python-newest.library--uu/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--uu -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--uuid] -file_filter = python-newest.library--uuid/.po -source_file = python-newest.library--uuid/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--uuid -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--venv] -file_filter = python-newest.library--venv/.po -source_file = python-newest.library--venv/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--venv -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--warnings] -file_filter = python-newest.library--warnings/.po -source_file = python-newest.library--warnings/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--warnings -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--wave] -file_filter = python-newest.library--wave/.po -source_file = python-newest.library--wave/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--wave -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--weakref] -file_filter = python-newest.library--weakref/.po -source_file = python-newest.library--weakref/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--weakref -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--webbrowser] -file_filter = python-newest.library--webbrowser/.po -source_file = python-newest.library--webbrowser/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--webbrowser -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--windows] -file_filter = python-newest.library--windows/.po -source_file = python-newest.library--windows/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--windows -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--winreg] -file_filter = python-newest.library--winreg/.po -source_file = python-newest.library--winreg/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--winreg -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--winsound] -file_filter = python-newest.library--winsound/.po -source_file = python-newest.library--winsound/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--winsound -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--wsgiref] -file_filter = python-newest.library--wsgiref/.po -source_file = python-newest.library--wsgiref/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--wsgiref -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xdrlib] -file_filter = python-newest.library--xdrlib/.po -source_file = python-newest.library--xdrlib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xdrlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml] -file_filter = python-newest.library--xml/.po -source_file = python-newest.library--xml/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xml -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_dom] -file_filter = python-newest.library--xml_dom/.po -source_file = python-newest.library--xml_dom/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xml_dom -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_dom_minidom] -file_filter = python-newest.library--xml_dom_minidom/.po -source_file = python-newest.library--xml_dom_minidom/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xml_dom_minidom -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_dom_pulldom] -file_filter = python-newest.library--xml_dom_pulldom/.po -source_file = python-newest.library--xml_dom_pulldom/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xml_dom_pulldom -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_etree_elementtree] -file_filter = python-newest.library--xml_etree_elementtree/.po -source_file = python-newest.library--xml_etree_elementtree/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xml_etree_elementtree -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xmlrpc] -file_filter = python-newest.library--xmlrpc/.po -source_file = python-newest.library--xmlrpc/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xmlrpc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xmlrpc_client] -file_filter = python-newest.library--xmlrpc_client/.po -source_file = python-newest.library--xmlrpc_client/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xmlrpc_client -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xmlrpc_server] -file_filter = python-newest.library--xmlrpc_server/.po -source_file = python-newest.library--xmlrpc_server/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xmlrpc_server -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_sax] -file_filter = python-newest.library--xml_sax/.po -source_file = python-newest.library--xml_sax/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xml_sax -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_sax_handler] -file_filter = python-newest.library--xml_sax_handler/.po -source_file = python-newest.library--xml_sax_handler/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xml_sax_handler -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_sax_reader] -file_filter = python-newest.library--xml_sax_reader/.po -source_file = python-newest.library--xml_sax_reader/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xml_sax_reader -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_sax_utils] -file_filter = python-newest.library--xml_sax_utils/.po -source_file = python-newest.library--xml_sax_utils/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--xml_sax_utils -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--zipapp] -file_filter = python-newest.library--zipapp/.po -source_file = python-newest.library--zipapp/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--zipapp -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--zipfile] -file_filter = python-newest.library--zipfile/.po -source_file = python-newest.library--zipfile/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--zipfile -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--zipimport] -file_filter = python-newest.library--zipimport/.po -source_file = python-newest.library--zipimport/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--zipimport -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--zlib] -file_filter = python-newest.library--zlib/.po -source_file = python-newest.library--zlib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--zlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--zoneinfo] -file_filter = python-newest.library--zoneinfo/.po -source_file = python-newest.library--zoneinfo/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = library--zoneinfo -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:license] -file_filter = python-newest.license/.po -source_file = python-newest.license/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = license -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--compound_stmts] -file_filter = python-newest.reference--compound_stmts/.po -source_file = python-newest.reference--compound_stmts/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = reference--compound_stmts -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--datamodel] -file_filter = python-newest.reference--datamodel/.po -source_file = python-newest.reference--datamodel/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = reference--datamodel -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--executionmodel] -file_filter = python-newest.reference--executionmodel/.po -source_file = python-newest.reference--executionmodel/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = reference--executionmodel -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--expressions] -file_filter = python-newest.reference--expressions/.po -source_file = python-newest.reference--expressions/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = reference--expressions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--grammar] -file_filter = python-newest.reference--grammar/.po -source_file = python-newest.reference--grammar/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = reference--grammar -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--import] -file_filter = python-newest.reference--import/.po -source_file = python-newest.reference--import/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = reference--import -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--index] -file_filter = python-newest.reference--index/.po -source_file = python-newest.reference--index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = reference--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--introduction] -file_filter = python-newest.reference--introduction/.po -source_file = python-newest.reference--introduction/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = reference--introduction -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--lexical_analysis] -file_filter = python-newest.reference--lexical_analysis/.po -source_file = python-newest.reference--lexical_analysis/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = reference--lexical_analysis -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--simple_stmts] -file_filter = python-newest.reference--simple_stmts/.po -source_file = python-newest.reference--simple_stmts/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = reference--simple_stmts -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--toplevel_components] -file_filter = python-newest.reference--toplevel_components/.po -source_file = python-newest.reference--toplevel_components/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = reference--toplevel_components -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:sphinx] -file_filter = python-newest.sphinx/.po -source_file = python-newest.sphinx/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = sphinx -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--appendix] -file_filter = python-newest.tutorial--appendix/.po -source_file = python-newest.tutorial--appendix/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--appendix -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--appetite] -file_filter = python-newest.tutorial--appetite/.po -source_file = python-newest.tutorial--appetite/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--appetite -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--classes] -file_filter = python-newest.tutorial--classes/.po -source_file = python-newest.tutorial--classes/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--classes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--controlflow] -file_filter = python-newest.tutorial--controlflow/.po -source_file = python-newest.tutorial--controlflow/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--controlflow -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--datastructures] -file_filter = python-newest.tutorial--datastructures/.po -source_file = python-newest.tutorial--datastructures/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--datastructures -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--errors] -file_filter = python-newest.tutorial--errors/.po -source_file = python-newest.tutorial--errors/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--errors -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--floatingpoint] -file_filter = python-newest.tutorial--floatingpoint/.po -source_file = python-newest.tutorial--floatingpoint/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--floatingpoint -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--index] -file_filter = python-newest.tutorial--index/.po -source_file = python-newest.tutorial--index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--inputoutput] -file_filter = python-newest.tutorial--inputoutput/.po -source_file = python-newest.tutorial--inputoutput/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--inputoutput -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--interactive] -file_filter = python-newest.tutorial--interactive/.po -source_file = python-newest.tutorial--interactive/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--interactive -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--interpreter] -file_filter = python-newest.tutorial--interpreter/.po -source_file = python-newest.tutorial--interpreter/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--interpreter -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--introduction] -file_filter = python-newest.tutorial--introduction/.po -source_file = python-newest.tutorial--introduction/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--introduction -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--modules] -file_filter = python-newest.tutorial--modules/.po -source_file = python-newest.tutorial--modules/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--modules -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--stdlib] -file_filter = python-newest.tutorial--stdlib/.po -source_file = python-newest.tutorial--stdlib/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--stdlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--stdlib2] -file_filter = python-newest.tutorial--stdlib2/.po -source_file = python-newest.tutorial--stdlib2/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--stdlib2 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--venv] -file_filter = python-newest.tutorial--venv/.po -source_file = python-newest.tutorial--venv/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--venv -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--whatnow] -file_filter = python-newest.tutorial--whatnow/.po -source_file = python-newest.tutorial--whatnow/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = tutorial--whatnow -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--android] -file_filter = python-newest.using--android/.po -source_file = python-newest.using--android/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = using--android -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--cmdline] -file_filter = python-newest.using--cmdline/.po -source_file = python-newest.using--cmdline/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = using--cmdline -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--configure] -file_filter = python-newest.using--configure/.po -source_file = python-newest.using--configure/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = using--configure -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--editors] -file_filter = python-newest.using--editors/.po -source_file = python-newest.using--editors/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = using--editors -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--index] -file_filter = python-newest.using--index/.po -source_file = python-newest.using--index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = using--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--ios] -file_filter = python-newest.using--ios/.po -source_file = python-newest.using--ios/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = using--ios -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--mac] -file_filter = python-newest.using--mac/.po -source_file = python-newest.using--mac/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = using--mac -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--unix] -file_filter = python-newest.using--unix/.po -source_file = python-newest.using--unix/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = using--unix -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--windows] -file_filter = python-newest.using--windows/.po -source_file = python-newest.using--windows/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = using--windows -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_0] -file_filter = python-newest.whatsnew--2_0/.po -source_file = python-newest.whatsnew--2_0/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_0 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_1] -file_filter = python-newest.whatsnew--2_1/.po -source_file = python-newest.whatsnew--2_1/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_1 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_2] -file_filter = python-newest.whatsnew--2_2/.po -source_file = python-newest.whatsnew--2_2/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_2 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_3] -file_filter = python-newest.whatsnew--2_3/.po -source_file = python-newest.whatsnew--2_3/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_3 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_4] -file_filter = python-newest.whatsnew--2_4/.po -source_file = python-newest.whatsnew--2_4/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_4 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_5] -file_filter = python-newest.whatsnew--2_5/.po -source_file = python-newest.whatsnew--2_5/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_5 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_6] -file_filter = python-newest.whatsnew--2_6/.po -source_file = python-newest.whatsnew--2_6/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_6 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_7] -file_filter = python-newest.whatsnew--2_7/.po -source_file = python-newest.whatsnew--2_7/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_7 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_0] -file_filter = python-newest.whatsnew--3_0/.po -source_file = python-newest.whatsnew--3_0/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_0 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_1] -file_filter = python-newest.whatsnew--3_1/.po -source_file = python-newest.whatsnew--3_1/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_1 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_10] -file_filter = python-newest.whatsnew--3_10/.po -source_file = python-newest.whatsnew--3_10/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_10 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_11] -file_filter = python-newest.whatsnew--3_11/.po -source_file = python-newest.whatsnew--3_11/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_11 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_12] -file_filter = python-newest.whatsnew--3_12/.po -source_file = python-newest.whatsnew--3_12/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_12 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_13] -file_filter = python-newest.whatsnew--3_13/.po -source_file = python-newest.whatsnew--3_13/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_13 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_14] -file_filter = python-newest.whatsnew--3_14/.po -source_file = python-newest.whatsnew--3_14/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_14 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_2] -file_filter = python-newest.whatsnew--3_2/.po -source_file = python-newest.whatsnew--3_2/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_2 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_3] -file_filter = python-newest.whatsnew--3_3/.po -source_file = python-newest.whatsnew--3_3/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_3 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_4] -file_filter = python-newest.whatsnew--3_4/.po -source_file = python-newest.whatsnew--3_4/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_4 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_5] -file_filter = python-newest.whatsnew--3_5/.po -source_file = python-newest.whatsnew--3_5/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_5 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_6] -file_filter = python-newest.whatsnew--3_6/.po -source_file = python-newest.whatsnew--3_6/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_6 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_7] -file_filter = python-newest.whatsnew--3_7/.po -source_file = python-newest.whatsnew--3_7/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_7 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_8] -file_filter = python-newest.whatsnew--3_8/.po -source_file = python-newest.whatsnew--3_8/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_8 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_9] -file_filter = python-newest.whatsnew--3_9/.po -source_file = python-newest.whatsnew--3_9/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_9 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--changelog] -file_filter = python-newest.whatsnew--changelog/.po -source_file = python-newest.whatsnew--changelog/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--changelog -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--index] -file_filter = python-newest.whatsnew--index/.po -source_file = python-newest.whatsnew--index/en.po -source_lang = en -type = PO -minimum_perc = 0 -resource_name = whatsnew--index -replace_edited_strings = false -keep_translations = false - diff --git a/python-newest.about/id.po b/python-newest.about/id.po deleted file mode 100644 index 83e2520..0000000 --- a/python-newest.about/id.po +++ /dev/null @@ -1,100 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Ahmad Mustafid, 2024 -# oon arfiandwi (OonID) , 2025 -# Ismail Sunni, 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Ismail Sunni, 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../about.rst:3 -msgid "About this documentation" -msgstr "Tentang Dokumentasi ini" - -#: ../../about.rst:6 -msgid "" -"Python's documentation is generated from `reStructuredText`_ sources using " -"`Sphinx`_, a documentation generator originally created for Python and now " -"maintained as an independent project." -msgstr "" -"Dokumentasi Python dihasilkan dari sumber `reStructuredText`_ dengan " -"`Sphinx`_, sebuah penghasil dokumentasi yang khusus ditulis untuk Python dan" -" sekarang dikelola sebagai proyek terpisah." - -#: ../../about.rst:16 -msgid "" -"Development of the documentation and its toolchain is an entirely volunteer " -"effort, just like Python itself. If you want to contribute, please take a " -"look at the :ref:`reporting-bugs` page for information on how to do so. New" -" volunteers are always welcome!" -msgstr "" -"Pengembangan dokumentasi dan perangkat pengembangannya sepenuhnya upaya " -"sukarela, seperti halnya Python. Jika anda ingin berkontribusi, silakan " -"lihat halaman :ref:`reporting-bugs` untuk informasi cara melakukannya. " -"Relawan baru selalu diterima!" - -#: ../../about.rst:21 -msgid "Many thanks go to:" -msgstr "Terima kasih banyak untuk:" - -#: ../../about.rst:23 -msgid "" -"Fred L. Drake, Jr., the creator of the original Python documentation toolset" -" and author of much of the content;" -msgstr "" -"Fred L. Drake, Jr., pencipta perangkat dokumentasi Python yang pertama dan " -"penulis sebagian besar konten;" - -#: ../../about.rst:25 -msgid "" -"the `Docutils `_ project for creating " -"reStructuredText and the Docutils suite;" -msgstr "" -"proyek `Docutils `_ untuk membuat " -"reStructuredText dan paket Docutils;" - -#: ../../about.rst:27 -msgid "" -"Fredrik Lundh for his Alternative Python Reference project from which Sphinx" -" got many good ideas." -msgstr "" -"Fredrik Lundh untuk proyek Referensi Python Alternatif darinya dimana Sphinx" -" mendapatkan banyak ide bagus." - -#: ../../about.rst:32 -msgid "Contributors to the Python documentation" -msgstr "Kontributor untuk dokumentasi Python" - -#: ../../about.rst:34 -msgid "" -"Many people have contributed to the Python language, the Python standard " -"library, and the Python documentation. See :source:`Misc/ACKS` in the " -"Python source distribution for a partial list of contributors." -msgstr "" -"Banyak orang telah berkontribusi ke bahasa Python, pustaka standar Python, " -"dan dokumentasi Python. Lihat :source:`Misc/ACKS` di distribusi kode sumber " -"Python untuk sebagian daftar kontributor-kontributor." - -#: ../../about.rst:38 -msgid "" -"It is only with the input and contributions of the Python community that " -"Python has such wonderful documentation -- Thank You!" -msgstr "" -"Hanya dengan masukan dan kontribusi dari komunitas Python sehingga Python " -"memiliki dokumentasi yang sangat baik. Terima kasih!" diff --git a/python-newest.bugs/id.po b/python-newest.bugs/id.po deleted file mode 100644 index 09fd289..0000000 --- a/python-newest.bugs/id.po +++ /dev/null @@ -1,277 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi (OonID) , 2021 -# Helen Febriani , 2021 -# Elmo , 2022 -# Ahmad Mustafid, 2024 -# Ismail Sunni, 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Ismail Sunni, 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../bugs.rst:5 -msgid "Dealing with Bugs" -msgstr "Berurusan dengan Bugs" - -#: ../../bugs.rst:7 -msgid "" -"Python is a mature programming language which has established a reputation " -"for stability. In order to maintain this reputation, the developers would " -"like to know of any deficiencies you find in Python." -msgstr "" -"Python merupakan sebuah bahasa pemrograman yang matang dan telah membangun " -"reputasi stabil. Untuk mempertahankan reputasi ini, pengembang ingin " -"mengatahui semua kekurangan yang kamu temui di Phyton." - -#: ../../bugs.rst:11 -msgid "" -"It can be sometimes faster to fix bugs yourself and contribute patches to " -"Python as it streamlines the process and involves less people. Learn how to " -":ref:`contribute `." -msgstr "" -"Terkadang akan lebih cepat untuk memperbaiki bug sendiri dan kontribusi " -"patch ke Python, karena dapat menyederhanakan proses dengan sedikit orang " -"yang terlibat. Pelajari caranya :ref:`contribute `." - -#: ../../bugs.rst:16 -msgid "Documentation bugs" -msgstr "Dokumentasi *bugs*" - -#: ../../bugs.rst:18 -msgid "" -"If you find a bug in this documentation or would like to propose an " -"improvement, please submit a bug report on the :ref:`issue tracker `. If you have a suggestion on how to fix it, include that as " -"well." -msgstr "" -"Jika Anda menemukan *bug* di dalam dokumentasi atau berkeinginan untuk " -"mengusulkan sebuah perbaikan, mohon untuk mengajukan sebuah laporan tentang " -"bug di dalam :ref:`tracker `. Jika Anda memiliki sebuah " -"saran bagaimana cara untuk memperbaikinya, lampirkan juga." - -#: ../../bugs.rst:22 -msgid "" -"You can also open a discussion item on our `Documentation Discourse forum " -"`_." -msgstr "" -"Anda juga dapat membuka item diskusi di forum `Documentation Discourse kami " -"`_." - -#: ../../bugs.rst:25 -msgid "" -"If you find a bug in the theme (HTML / CSS / JavaScript) of the " -"documentation, please submit a bug report on the `python-doc-theme issue " -"tracker `_." -msgstr "" -"Jika Anda menemukan bug pada tema (HTML / CSS / JavaScript) dokumentasi, " -"silakan kirimkan laporan bug pada `python-doc-theme issue tracker " -"`_." - -#: ../../bugs.rst:31 -msgid "`Documentation bugs`_" -msgstr "`Dokumentasi *bugs*`_" - -#: ../../bugs.rst:32 -msgid "" -"A list of documentation bugs that have been submitted to the Python issue " -"tracker." -msgstr "" -"Daftar dokumentasi *bugs* yang telah dikirimkan ke pelacak isu *issue " -"tracker* Python." - -#: ../../bugs.rst:34 -msgid "`Issue Tracking `_" -msgstr "`Issue Tracking `_" - -#: ../../bugs.rst:35 -msgid "" -"Overview of the process involved in reporting an improvement on the tracker." -msgstr "" -"Tinjauan dari proses yang terlibat dalam pelaporan perbaikan pada pelacak." - -#: ../../bugs.rst:37 -msgid "" -"`Helping with Documentation " -"`_" -msgstr "" -"`Membantu dengan Dokumentasi " -"`_" - -#: ../../bugs.rst:38 -msgid "" -"Comprehensive guide for individuals that are interested in contributing to " -"Python documentation." -msgstr "" -"Panduan komprehensif untuk pribadi yang tertarik untuk berkontribusi dalam " -"dokumentasi Python." - -#: ../../bugs.rst:40 -msgid "" -"`Documentation Translations " -"`_" -msgstr "" -"`Penerjemahan Dokumentasi " -"`_" - -#: ../../bugs.rst:41 -msgid "" -"A list of GitHub pages for documentation translation and their primary " -"contacts." -msgstr "" -"Daftar halaman GitHub untuk penerjemahan dokumentasi dan kontak utamanya." - -#: ../../bugs.rst:47 -msgid "Using the Python issue tracker" -msgstr "Menggunakan pelacak issue Python." - -#: ../../bugs.rst:49 -msgid "" -"Issue reports for Python itself should be submitted via the GitHub issues " -"tracker (https://github.com/python/cpython/issues). The GitHub issues " -"tracker offers a web form which allows pertinent information to be entered " -"and submitted to the developers." -msgstr "" -"Laporan masalah Python harus dikirimkan melalui pelacak masalah di GitHub " -"(https://github.com/python/cpython/issues). Pelacak masalah di GitHub " -"terdapat formulir web yang memungkinkan informasi terkait untuk bisa " -"dimasukkan dan diserahkan kepada pengembang." - -#: ../../bugs.rst:54 -msgid "" -"The first step in filing a report is to determine whether the problem has " -"already been reported. The advantage in doing so, aside from saving the " -"developers' time, is that you learn what has been done to fix it; it may be " -"that the problem has already been fixed for the next release, or additional " -"information is needed (in which case you are welcome to provide it if you " -"can!). To do this, search the tracker using the search box at the top of the" -" page." -msgstr "" -"Langkah pertama dalam mengajukan laporan adalah menentukan apakah masalah " -"tersebut sudah pernah dilaporkan. Keuntungannya, selain menghemat waktu " -"pengembang, Anda juga dapat mengetahui apa yang telah dilakukan untuk " -"memperbaikinya; mungkin saja masalahnya sudah diperbaiki untuk rilis " -"berikutnya, atau informasi tambahan diperlukan (dalam hal ini Anda " -"dipersilakan untuk memberikannya jika mungkin). Untuk melakukan hal ini, " -"carilah menggunakan kotak pencarian di bagian atas halaman." - -#: ../../bugs.rst:61 -msgid "" -"If the problem you're reporting is not already in the list, log in to " -"GitHub. If you don't already have a GitHub account, create a new account " -"using the \"Sign up\" link. It is not possible to submit a bug report " -"anonymously." -msgstr "" -"Jika masalah yang Anda laporkan belum ada di dalam daftar, masuklah ke " -"GitHub. Jika Anda belum memiliki akun GitHub, buatlah akun baru menggunakan " -"tautan \"Daftar\". Anda tidak dapat mengirimkan laporan bug secara anonim." - -#: ../../bugs.rst:66 -msgid "" -"Being now logged in, you can submit an issue. Click on the \"New issue\" " -"button in the top bar to report a new issue." -msgstr "" -"Setelah masuk, Anda dapat mengirimkan masalah. Klik tombol \"Masalah baru\" " -"di bilah atas untuk melaporkan masalah baru." - -#: ../../bugs.rst:69 -msgid "The submission form has two fields, \"Title\" and \"Comment\"." -msgstr "Formulir pengajuan memiliki dua kolom, \"Judul\" dan \"Komentar\"." - -#: ../../bugs.rst:71 -msgid "" -"For the \"Title\" field, enter a *very* short description of the problem; " -"fewer than ten words is good." -msgstr "" -"Untuk kolom \"Judul\", masukkan deskripsi yang *sangat* singkat tentang " -"masalah Anda; kurang dari sepuluh kata, cukup." - -#: ../../bugs.rst:74 -msgid "" -"In the \"Comment\" field, describe the problem in detail, including what you" -" expected to happen and what did happen. Be sure to include whether any " -"extension modules were involved, and what hardware and software platform you" -" were using (including version information as appropriate)." -msgstr "" -"Pada kolom \"Comment\", Jelaskan masalah secara detail, termasuk apa yang " -"kamu harapkan dan apa yang terjadi. Pastikan untuk menyertakan apakah ada " -"ekstensi modul yang terlibat, dan apa saja platform perangkat keras dan " -"perangkat lunak yang kamu gunakan (termasuk versi informasi yang sesuai)." - -#: ../../bugs.rst:79 -msgid "" -"Each issue report will be reviewed by a developer who will determine what " -"needs to be done to correct the problem. You will receive an update each " -"time an action is taken on the issue." -msgstr "" -"Setiap laporan masalah akan ditinjau oleh pengembang yang akan menentukan " -"apa yang perlu dilakukan untuk memperbaiki masalah tersebut. Anda akan " -"menerima pembaruan setiap kali ada tindakan yang diambil untuk mengatasi " -"masalah tersebut." - -#: ../../bugs.rst:86 -msgid "" -"`How to Report Bugs Effectively " -"`_" -msgstr "" -"`Bagaimana Melaporkan Bug Secara Efektif " -"`_" - -#: ../../bugs.rst:87 -msgid "" -"Article which goes into some detail about how to create a useful bug report." -" This describes what kind of information is useful and why it is useful." -msgstr "" -"Artikel yang memuat beberapa detail tentang bagaimana membuat laporan bug " -"yang berguna. Ini menjelaskan informasi apa saja yang berguna dan mengapa " -"menjadi berguna." - -#: ../../bugs.rst:90 -msgid "" -"`Bug Writing Guidelines `_" -msgstr "" -"`Pedoman Penulisan Bug `_" - -#: ../../bugs.rst:91 -msgid "" -"Information about writing a good bug report. Some of this is specific to " -"the Mozilla project, but describes general good practices." -msgstr "" -"Informasi seputar penulisan laporan bug yang baik. Beberapa diantaranya " -"merupakan project Mozilla, tapi dapat menggambarkan praktik umum yang baik." - -#: ../../bugs.rst:97 -msgid "Getting started contributing to Python yourself" -msgstr "Mulai konstribusi pada Python mu sendiri." - -#: ../../bugs.rst:99 -msgid "" -"Beyond just reporting bugs that you find, you are also welcome to submit " -"patches to fix them. You can find more information on how to get started " -"patching Python in the `Python Developer's Guide`_. If you have questions, " -"the `core-mentorship mailing list`_ is a friendly place to get answers to " -"any and all questions pertaining to the process of fixing issues in Python." -msgstr "" -"Selain melaporkan bug yang kamu temukan, kamu pula dipersilahkan untuk " -"mengirimkan solusi untuk memperbaikinya. Kamu dapat menukan informasi " -"bagaiamana cara memulai menambal Python di `Python Developer's Guide`_. Jika" -" kamu mempunyai pertanyaan, `core-mentorship mailing list`_ merupakan tempat" -" yang ramah untuk menjawab pertanyaan-pertanyaan mu yang berkaitan dengan " -"proses memperbaiki masalah dengan Python." diff --git a/python-newest.c-api--abstract/id.po b/python-newest.c-api--abstract/id.po deleted file mode 100644 index 5ba8b10..0000000 --- a/python-newest.c-api--abstract/id.po +++ /dev/null @@ -1,50 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/abstract.rst:7 -msgid "Abstract Objects Layer" -msgstr "Lapisan Abstrak Objek" - -#: ../../c-api/abstract.rst:9 -msgid "" -"The functions in this chapter interact with Python objects regardless of " -"their type, or with wide classes of object types (e.g. all numerical types, " -"or all sequence types). When used on object types for which they do not " -"apply, they will raise a Python exception." -msgstr "" -"Fungsi-fungsi dalam bab ini berinteraksi dengan objek-objek Python terlepas " -"dari tipenya, atau dengan kelas-kelas jenis objek yang luas (misalnya semua " -"tipe numerik, atau semua tipe urutan). Ketika digunakan pada jenis objek " -"yang tidak mereka terapkan, mereka akan menghasilkan pengecualian Python." - -#: ../../c-api/abstract.rst:14 -msgid "" -"It is not possible to use these functions on objects that are not properly " -"initialized, such as a list object that has been created by " -":c:func:`PyList_New`, but whose items have not been set to some non-\\ " -"``NULL`` value yet." -msgstr "" -"Tidak mungkin untuk menggunakan fungsi-fungsi ini pada objek yang tidak " -"diinisialisasi dengan benar, seperti objek daftar yang telah dibuat oleh :c:" -" func:`PyList_New`, tetapi item-itemnya belum disetel ke beberapa nilai " -"non-\\``NULL`` sebelumnya." diff --git a/python-newest.c-api--allocation/id.po b/python-newest.c-api--allocation/id.po deleted file mode 100644 index e59bc39..0000000 --- a/python-newest.c-api--allocation/id.po +++ /dev/null @@ -1,103 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Akhmat Safrudin , 2021 -# Helen Febriani , 2021 -# Nurul Eka Fitriany Hilal , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Nurul Eka Fitriany Hilal , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/allocation.rst:6 -msgid "Allocating Objects on the Heap" -msgstr "Mengalokasikan objek kedalam struktur data (heap)" - -#: ../../c-api/allocation.rst:17 -msgid "" -"Initialize a newly allocated object *op* with its type and initial " -"reference. Returns the initialized object. Other fields of the object are " -"not affected." -msgstr "" - -#: ../../c-api/allocation.rst:24 -msgid "" -"This does everything :c:func:`PyObject_Init` does, and also initializes the " -"length information for a variable-size object." -msgstr "" -"Ini melakukan segalanya :c:func:`PyObject_Init`, dan juga menginisialiasi " -"panjang informasi pada sebuah ukuran object variabel." - -#: ../../c-api/allocation.rst:30 -msgid "" -"Allocate a new Python object using the C structure type *TYPE* and the " -"Python type object *typeobj* (``PyTypeObject*``). Fields not defined by the " -"Python object header are not initialized. The caller will own the only " -"reference to the object (i.e. its reference count will be one). The size of " -"the memory allocation is determined from the " -":c:member:`~PyTypeObject.tp_basicsize` field of the type object." -msgstr "" - -#: ../../c-api/allocation.rst:38 -msgid "" -"Note that this function is unsuitable if *typeobj* has " -":c:macro:`Py_TPFLAGS_HAVE_GC` set. For such objects, use " -":c:func:`PyObject_GC_New` instead." -msgstr "" - -#: ../../c-api/allocation.rst:45 -msgid "" -"Allocate a new Python object using the C structure type *TYPE* and the " -"Python type object *typeobj* (``PyTypeObject*``). Fields not defined by the " -"Python object header are not initialized. The allocated memory allows for " -"the *TYPE* structure plus *size* (``Py_ssize_t``) fields of the size given " -"by the :c:member:`~PyTypeObject.tp_itemsize` field of *typeobj*. This is " -"useful for implementing objects like tuples, which are able to determine " -"their size at construction time. Embedding the array of fields into the " -"same allocation decreases the number of allocations, improving the memory " -"management efficiency." -msgstr "" - -#: ../../c-api/allocation.rst:56 -msgid "" -"Note that this function is unsuitable if *typeobj* has " -":c:macro:`Py_TPFLAGS_HAVE_GC` set. For such objects, use " -":c:func:`PyObject_GC_NewVar` instead." -msgstr "" - -#: ../../c-api/allocation.rst:63 -msgid "Same as :c:func:`PyObject_Free`." -msgstr "" - -#: ../../c-api/allocation.rst:67 -msgid "" -"Object which is visible in Python as ``None``. This should only be accessed" -" using the :c:macro:`Py_None` macro, which evaluates to a pointer to this " -"object." -msgstr "" -"Object yang terlihat di Python sebagai ``None``. Ini seharusnya hanya dapat " -"diakses menggunakan makro :c:macro:`Py_None`, yang mengevaluasi ke sebuah " -"pointer ke object ini." - -#: ../../c-api/allocation.rst:74 -msgid ":c:func:`PyModule_Create`" -msgstr ":c:func:`PyModule_Create`" - -#: ../../c-api/allocation.rst:75 -msgid "To allocate and create extension modules." -msgstr "Untuk mengalokasikan dan membuat modul ekstensi." diff --git a/python-newest.c-api--apiabiversion/id.po b/python-newest.c-api--apiabiversion/id.po deleted file mode 100644 index 1e92e6d..0000000 --- a/python-newest.c-api--apiabiversion/id.po +++ /dev/null @@ -1,291 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Tria Nur Aisyah Amini , 2019 -# oon arfiandwi , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: oon arfiandwi , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/apiabiversion.rst:7 -msgid "API and ABI Versioning" -msgstr "Pengelolaan Versi API dan ABI" - -#: ../../c-api/apiabiversion.rst:11 -msgid "Build-time version constants" -msgstr "" - -#: ../../c-api/apiabiversion.rst:13 -msgid "" -"CPython exposes its version number in the following macros. Note that these " -"correspond to the version code is **built** with. See :c:var:`Py_Version` " -"for the version used at **run time**." -msgstr "" - -#: ../../c-api/apiabiversion.rst:17 -msgid "" -"See :ref:`stable` for a discussion of API and ABI stability across versions." -msgstr "" - -#: ../../c-api/apiabiversion.rst:21 -msgid "The ``3`` in ``3.4.1a2``." -msgstr "" - -#: ../../c-api/apiabiversion.rst:25 -msgid "The ``4`` in ``3.4.1a2``." -msgstr "" - -#: ../../c-api/apiabiversion.rst:29 -msgid "The ``1`` in ``3.4.1a2``." -msgstr "" - -#: ../../c-api/apiabiversion.rst:33 -msgid "" -"The ``a`` in ``3.4.1a2``. This can be ``0xA`` for alpha, ``0xB`` for beta, " -"``0xC`` for release candidate or ``0xF`` for final." -msgstr "" - -#: ../../c-api/apiabiversion.rst:39 -msgid "The ``2`` in ``3.4.1a2``. Zero for final releases." -msgstr "" - -#: ../../c-api/apiabiversion.rst:43 -msgid "" -"The Python version number encoded in a single integer. See " -":c:func:`Py_PACK_FULL_VERSION` for the encoding details." -msgstr "" - -#: ../../c-api/apiabiversion.rst:46 -msgid "" -"Use this for numeric comparisons, for example, ``#if PY_VERSION_HEX >= " -"...``." -msgstr "" - -#: ../../c-api/apiabiversion.rst:51 -msgid "Run-time version" -msgstr "" - -#: ../../c-api/apiabiversion.rst:55 -msgid "" -"The Python runtime version number encoded in a single constant integer. See " -":c:func:`Py_PACK_FULL_VERSION` for the encoding details. This contains the " -"Python version used at run time." -msgstr "" - -#: ../../c-api/apiabiversion.rst:59 -msgid "" -"Use this for numeric comparisons, for example, ``if (Py_Version >= ...)``." -msgstr "" - -#: ../../c-api/apiabiversion.rst:65 -msgid "Bit-packing macros" -msgstr "" - -#: ../../c-api/apiabiversion.rst:69 -msgid "" -"Return the given version, encoded as a single 32-bit integer with the " -"following structure:" -msgstr "" - -#: ../../c-api/apiabiversion.rst:75 -msgid "Argument" -msgstr "" - -#: ../../c-api/apiabiversion.rst:73 -msgid "No. of bits" -msgstr "" - -#: ../../c-api/apiabiversion.rst:75 -msgid "Bit mask" -msgstr "" - -#: ../../c-api/apiabiversion.rst:75 -msgid "Bit shift" -msgstr "" - -#: ../../c-api/apiabiversion.rst:73 -msgid "Example values" -msgstr "" - -#: ../../c-api/apiabiversion.rst:75 ../../c-api/apiabiversion.rst:93 -msgid "``3.4.1a2``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:75 ../../c-api/apiabiversion.rst:95 -msgid "``3.10.0``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:77 -msgid "*major*" -msgstr "" - -#: ../../c-api/apiabiversion.rst:77 ../../c-api/apiabiversion.rst:79 -#: ../../c-api/apiabiversion.rst:81 -msgid "8" -msgstr "8" - -#: ../../c-api/apiabiversion.rst:77 -msgid "``0xFF000000``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:77 -msgid "24" -msgstr "" - -#: ../../c-api/apiabiversion.rst:77 -msgid "``0x03``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:79 -msgid "*minor*" -msgstr "" - -#: ../../c-api/apiabiversion.rst:79 -msgid "``0x00FF0000``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:79 -msgid "16" -msgstr "16" - -#: ../../c-api/apiabiversion.rst:79 -msgid "``0x04``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:79 -msgid "``0x0A``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:81 -msgid "*micro*" -msgstr "" - -#: ../../c-api/apiabiversion.rst:81 -msgid "``0x0000FF00``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:81 -msgid "``0x01``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:81 -msgid "``0x00``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:83 -msgid "*release_level*" -msgstr "" - -#: ../../c-api/apiabiversion.rst:83 ../../c-api/apiabiversion.rst:85 -msgid "4" -msgstr "4" - -#: ../../c-api/apiabiversion.rst:83 -msgid "``0x000000F0``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:83 -msgid "``0xA``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:83 -msgid "``0xF``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:85 -msgid "*release_serial*" -msgstr "" - -#: ../../c-api/apiabiversion.rst:85 -msgid "``0x0000000F``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:85 -msgid "0" -msgstr "0" - -#: ../../c-api/apiabiversion.rst:85 -msgid "``0x2``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:85 -msgid "``0x0``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:88 -msgid "For example:" -msgstr "Sebagai contoh:" - -#: ../../c-api/apiabiversion.rst:91 -msgid "Version" -msgstr "Versi" - -#: ../../c-api/apiabiversion.rst:91 -msgid "``Py_PACK_FULL_VERSION`` arguments" -msgstr "" - -#: ../../c-api/apiabiversion.rst:91 -msgid "Encoded version" -msgstr "" - -#: ../../c-api/apiabiversion.rst:93 -msgid "``(3, 4, 1, 0xA, 2)``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:93 -msgid "``0x030401a2``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:95 -msgid "``(3, 10, 0, 0xF, 0)``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:95 -msgid "``0x030a00f0``" -msgstr "" - -#: ../../c-api/apiabiversion.rst:98 -msgid "" -"Out-of range bits in the arguments are ignored. That is, the macro can be " -"defined as:" -msgstr "" - -#: ../../c-api/apiabiversion.rst:101 -msgid "" -"#ifndef Py_PACK_FULL_VERSION\n" -"#define Py_PACK_FULL_VERSION(X, Y, Z, LEVEL, SERIAL) ( \\\n" -" (((X) & 0xff) << 24) | \\\n" -" (((Y) & 0xff) << 16) | \\\n" -" (((Z) & 0xff) << 8) | \\\n" -" (((LEVEL) & 0xf) << 4) | \\\n" -" (((SERIAL) & 0xf) << 0))\n" -"#endif" -msgstr "" - -#: ../../c-api/apiabiversion.rst:112 -msgid "" -"``Py_PACK_FULL_VERSION`` is primarily a macro, intended for use in ``#if`` " -"directives, but it is also available as an exported function." -msgstr "" - -#: ../../c-api/apiabiversion.rst:119 -msgid "" -"Equivalent to ``Py_PACK_FULL_VERSION(major, minor, 0, 0, 0)``. The result " -"does not correspond to any Python release, but is useful in numeric " -"comparisons." -msgstr "" diff --git a/python-newest.c-api--arg/id.po b/python-newest.c-api--arg/id.po deleted file mode 100644 index 6d496a2..0000000 --- a/python-newest.c-api--arg/id.po +++ /dev/null @@ -1,1272 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Tria Nur Aisyah Amini , 2021 -# William Ang Kisjanto Surya , 2021 -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/arg.rst:6 -msgid "Parsing arguments and building values" -msgstr "Mengurai argumen dan membangun nilai" - -#: ../../c-api/arg.rst:8 -msgid "" -"These functions are useful when creating your own extension functions and " -"methods. Additional information and examples are available in " -":ref:`extending-index`." -msgstr "" - -#: ../../c-api/arg.rst:12 -msgid "" -"The first three of these functions described, :c:func:`PyArg_ParseTuple`, " -":c:func:`PyArg_ParseTupleAndKeywords`, and :c:func:`PyArg_Parse`, all use " -"*format strings* which are used to tell the function about the expected " -"arguments. The format strings use the same syntax for each of these " -"functions." -msgstr "" -"Tiga fungsi pertama dijelaskan yaitu, :c:func:`PyArg_ParseTuple`, " -":c:func:`PyArg_ParseTupleAndKeywords`, dan :c:func:`PyArg_Parse`, semuanya " -"menggunakan *format string* yang digunakan untuk memberitahu fungsi tentang " -"expected argumen . Format string menggunakan sintaks yang sama untuk setiap " -"fungsi tersebut." - -#: ../../c-api/arg.rst:19 -msgid "Parsing arguments" -msgstr "Mengurai argumen" - -#: ../../c-api/arg.rst:21 -msgid "" -"A format string consists of zero or more \"format units.\" A format unit " -"describes one Python object; it is usually a single character or a " -"parenthesized sequence of format units. With a few exceptions, a format " -"unit that is not a parenthesized sequence normally corresponds to a single " -"address argument to these functions. In the following description, the " -"quoted form is the format unit; the entry in (round) parentheses is the " -"Python object type that matches the format unit; and the entry in [square] " -"brackets is the type of the C variable(s) whose address should be passed." -msgstr "" -"format string terdiri dari nol atau lebih \"unit format.\" Sebuah unit " -"format menjelaskan satu obyek Python; Seringkali adalah sebuah karaketer " -"atau sebuah urutan unit format yang di dalam kurung. Dengan beberapa " -"pengecualian, format unit yang bukan sebuah urutan yang di dalam kurung " -"biasanya berhubungan dengan sebuah argumen yang memanggil fungsi-fungsi ini." -" Dalam penjelasan berikut ini, bentuk yang dikutip adalah unit format. Entri" -" yang di dalam kurung (bulat) adalah tipe obyek Python yang cocok dengan " -"unit format, dan entri yang di dalam kurung [kotak] adalah tipe variabel C " -"yang perlu dipanggil." - -#: ../../c-api/arg.rst:33 -msgid "Strings and buffers" -msgstr "String dan penyangga, *buffers*" - -#: ../../c-api/arg.rst:37 -msgid "" -"On Python 3.12 and older, the macro :c:macro:`!PY_SSIZE_T_CLEAN` must be " -"defined before including :file:`Python.h` to use all ``#`` variants of " -"formats (``s#``, ``y#``, etc.) explained below. This is not necessary on " -"Python 3.13 and later." -msgstr "" - -#: ../../c-api/arg.rst:42 -msgid "" -"These formats allow accessing an object as a contiguous chunk of memory. You" -" don't have to provide raw storage for the returned unicode or bytes area." -msgstr "" - -#: ../../c-api/arg.rst:46 -msgid "Unless otherwise stated, buffers are not NUL-terminated." -msgstr "Kecuali dinyatakan lain, buffer tidak akhiri oleh NUL." - -#: ../../c-api/arg.rst:48 -msgid "There are three ways strings and buffers can be converted to C:" -msgstr "" - -#: ../../c-api/arg.rst:50 -msgid "" -"Formats such as ``y*`` and ``s*`` fill a :c:type:`Py_buffer` structure. This" -" locks the underlying buffer so that the caller can subsequently use the " -"buffer even inside a :c:type:`Py_BEGIN_ALLOW_THREADS` block without the risk" -" of mutable data being resized or destroyed. As a result, **you have to " -"call** :c:func:`PyBuffer_Release` after you have finished processing the " -"data (or in any early abort case)." -msgstr "" - -#: ../../c-api/arg.rst:57 -msgid "" -"The ``es``, ``es#``, ``et`` and ``et#`` formats allocate the result buffer. " -"**You have to call** :c:func:`PyMem_Free` after you have finished processing" -" the data (or in any early abort case)." -msgstr "" - -#: ../../c-api/arg.rst:63 -msgid "" -"Other formats take a :class:`str` or a read-only :term:`bytes-like object`, " -"such as :class:`bytes`, and provide a ``const char *`` pointer to its " -"buffer. In this case the buffer is \"borrowed\": it is managed by the " -"corresponding Python object, and shares the lifetime of this object. You " -"won't have to release any memory yourself." -msgstr "" - -#: ../../c-api/arg.rst:70 -msgid "" -"To ensure that the underlying buffer may be safely borrowed, the object's " -":c:member:`PyBufferProcs.bf_releasebuffer` field must be ``NULL``. This " -"disallows common mutable objects such as :class:`bytearray`, but also some " -"read-only objects such as :class:`memoryview` of :class:`bytes`." -msgstr "" - -#: ../../c-api/arg.rst:76 -msgid "" -"Besides this ``bf_releasebuffer`` requirement, there is no check to verify " -"whether the input object is immutable (e.g. whether it would honor a request" -" for a writable buffer, or whether another thread can mutate the data)." -msgstr "" - -#: ../../c-api/arg.rst:80 -msgid "``s`` (:class:`str`) [const char \\*]" -msgstr "``s`` (:class:`str`) [const char \\*]" - -#: ../../c-api/arg.rst:81 -msgid "" -"Convert a Unicode object to a C pointer to a character string. A pointer to " -"an existing string is stored in the character pointer variable whose address" -" you pass. The C string is NUL-terminated. The Python string must not " -"contain embedded null code points; if it does, a :exc:`ValueError` exception" -" is raised. Unicode objects are converted to C strings using ``'utf-8'`` " -"encoding. If this conversion fails, a :exc:`UnicodeError` is raised." -msgstr "" - -#: ../../c-api/arg.rst:90 -msgid "" -"This format does not accept :term:`bytes-like objects `." -" If you want to accept filesystem paths and convert them to C character " -"strings, it is preferable to use the ``O&`` format with " -":c:func:`PyUnicode_FSConverter` as *converter*." -msgstr "" - -#: ../../c-api/arg.rst:96 -msgid "" -"Previously, :exc:`TypeError` was raised when embedded null code points were " -"encountered in the Python string." -msgstr "" - -#: ../../c-api/arg.rst:100 -msgid "``s*`` (:class:`str` or :term:`bytes-like object`) [Py_buffer]" -msgstr "``s*`` (:class:`str` atau :term:`bytes-like object`) [Py_buffer]" - -#: ../../c-api/arg.rst:101 -msgid "" -"This format accepts Unicode objects as well as bytes-like objects. It fills " -"a :c:type:`Py_buffer` structure provided by the caller. In this case the " -"resulting C string may contain embedded NUL bytes. Unicode objects are " -"converted to C strings using ``'utf-8'`` encoding." -msgstr "" - -#: ../../c-api/arg.rst:106 -msgid "" -"``s#`` (:class:`str`, read-only :term:`bytes-like object`) [const char \\*, " -":c:type:`Py_ssize_t`]" -msgstr "" - -#: ../../c-api/arg.rst:107 -msgid "" -"Like ``s*``, except that it provides a :ref:`borrowed buffer `. The result is stored into two C variables, the first one " -"a pointer to a C string, the second one its length. The string may contain " -"embedded null bytes. Unicode objects are converted to C strings using " -"``'utf-8'`` encoding." -msgstr "" - -#: ../../c-api/arg.rst:113 ../../c-api/arg.rst:629 -msgid "``z`` (:class:`str` or ``None``) [const char \\*]" -msgstr "``z`` (:class:`str` atau ``None``) [const char \\*]" - -#: ../../c-api/arg.rst:114 -msgid "" -"Like ``s``, but the Python object may also be ``None``, in which case the C " -"pointer is set to ``NULL``. It is the same as ``s?`` with the C pointer was " -"initialized to ``NULL``." -msgstr "" - -#: ../../c-api/arg.rst:118 -msgid "" -"``z*`` (:class:`str`, :term:`bytes-like object` or ``None``) [Py_buffer]" -msgstr "" -"``z*`` (:class:`str`, :term:`bytes-like object` atau ``None``) [Py_buffer]" - -#: ../../c-api/arg.rst:119 -msgid "" -"Like ``s*``, but the Python object may also be ``None``, in which case the " -"``buf`` member of the :c:type:`Py_buffer` structure is set to ``NULL``. It " -"is the same as ``s*?`` with the ``buf`` member of the :c:type:`Py_buffer` " -"structure was initialized to ``NULL``." -msgstr "" - -#: ../../c-api/arg.rst:124 -msgid "" -"``z#`` (:class:`str`, read-only :term:`bytes-like object` or ``None``) " -"[const char \\*, :c:type:`Py_ssize_t`]" -msgstr "" - -#: ../../c-api/arg.rst:125 -msgid "" -"Like ``s#``, but the Python object may also be ``None``, in which case the C" -" pointer is set to ``NULL``. It is the same as ``s#?`` with the C pointer " -"was initialized to ``NULL``." -msgstr "" - -#: ../../c-api/arg.rst:129 -msgid "``y`` (read-only :term:`bytes-like object`) [const char \\*]" -msgstr "``y`` (baca-saja :term:`bytes-like object`) [const char \\*]" - -#: ../../c-api/arg.rst:130 -msgid "" -"This format converts a bytes-like object to a C pointer to a :ref:`borrowed " -"` character string; it does not accept Unicode " -"objects. The bytes buffer must not contain embedded null bytes; if it does," -" a :exc:`ValueError` exception is raised." -msgstr "" - -#: ../../c-api/arg.rst:136 -msgid "" -"Previously, :exc:`TypeError` was raised when embedded null bytes were " -"encountered in the bytes buffer." -msgstr "" - -#: ../../c-api/arg.rst:140 -msgid "``y*`` (:term:`bytes-like object`) [Py_buffer]" -msgstr "``y*`` (:term:`bytes-like object`) [Py_buffer]" - -#: ../../c-api/arg.rst:141 -msgid "" -"This variant on ``s*`` doesn't accept Unicode objects, only bytes-like " -"objects. **This is the recommended way to accept binary data.**" -msgstr "" - -#: ../../c-api/arg.rst:145 -msgid "" -"``y#`` (read-only :term:`bytes-like object`) [const char \\*, " -":c:type:`Py_ssize_t`]" -msgstr "" - -#: ../../c-api/arg.rst:146 -msgid "" -"This variant on ``s#`` doesn't accept Unicode objects, only bytes-like " -"objects." -msgstr "" -"Varian pada ``s#`` ini tidak menerima objek Unicode, hanya objek yang " -"seperti byte." - -#: ../../c-api/arg.rst:149 -msgid "``S`` (:class:`bytes`) [PyBytesObject \\*]" -msgstr "``S`` (:class:`bytes`) [PyBytesObject \\*]" - -#: ../../c-api/arg.rst:150 -msgid "" -"Requires that the Python object is a :class:`bytes` object, without " -"attempting any conversion. Raises :exc:`TypeError` if the object is not a " -"bytes object. The C variable may also be declared as :c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/arg.rst:154 -msgid "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]" -msgstr "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]" - -#: ../../c-api/arg.rst:155 -msgid "" -"Requires that the Python object is a :class:`bytearray` object, without " -"attempting any conversion. Raises :exc:`TypeError` if the object is not a " -":class:`bytearray` object. The C variable may also be declared as " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/arg.rst:159 -msgid "``U`` (:class:`str`) [PyObject \\*]" -msgstr "``U`` (:class:`str`) [PyObject \\*]" - -#: ../../c-api/arg.rst:160 -msgid "" -"Requires that the Python object is a Unicode object, without attempting any " -"conversion. Raises :exc:`TypeError` if the object is not a Unicode object." -" The C variable may also be declared as :c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/arg.rst:164 -msgid "``w*`` (read-write :term:`bytes-like object`) [Py_buffer]" -msgstr "``w*`` (baca-tulis :term:`bytes-like object`) [Py_buffer]" - -#: ../../c-api/arg.rst:165 -msgid "" -"This format accepts any object which implements the read-write buffer " -"interface. It fills a :c:type:`Py_buffer` structure provided by the caller. " -"The buffer may contain embedded null bytes. The caller have to call " -":c:func:`PyBuffer_Release` when it is done with the buffer." -msgstr "" - -#: ../../c-api/arg.rst:170 -msgid "``es`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer]" -msgstr "``es`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer]" - -#: ../../c-api/arg.rst:171 -msgid "" -"This variant on ``s`` is used for encoding Unicode into a character buffer. " -"It only works for encoded data without embedded NUL bytes." -msgstr "" - -#: ../../c-api/arg.rst:174 -msgid "" -"This format requires two arguments. The first is only used as input, and " -"must be a :c:expr:`const char*` which points to the name of an encoding as a" -" NUL-terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is " -"used. An exception is raised if the named encoding is not known to Python. " -"The second argument must be a :c:expr:`char**`; the value of the pointer it " -"references will be set to a buffer with the contents of the argument text. " -"The text will be encoded in the encoding specified by the first argument." -msgstr "" - -#: ../../c-api/arg.rst:182 -msgid "" -":c:func:`PyArg_ParseTuple` will allocate a buffer of the needed size, copy " -"the encoded data into this buffer and adjust *\\*buffer* to reference the " -"newly allocated storage. The caller is responsible for calling " -":c:func:`PyMem_Free` to free the allocated buffer after use." -msgstr "" - -#: ../../c-api/arg.rst:187 -msgid "" -"``et`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const char " -"\\*encoding, char \\*\\*buffer]" -msgstr "" -"``et`` (:class:`str`, :class:`bytes` atau :class:`bytearray`) [const char " -"\\*encoding, char \\*\\*buffer]" - -#: ../../c-api/arg.rst:188 -msgid "" -"Same as ``es`` except that byte string objects are passed through without " -"recoding them. Instead, the implementation assumes that the byte string " -"object uses the encoding passed in as parameter." -msgstr "" - -#: ../../c-api/arg.rst:192 -msgid "" -"``es#`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer, " -":c:type:`Py_ssize_t` \\*buffer_length]" -msgstr "" - -#: ../../c-api/arg.rst:193 -msgid "" -"This variant on ``s#`` is used for encoding Unicode into a character buffer." -" Unlike the ``es`` format, this variant allows input data which contains NUL" -" characters." -msgstr "" - -#: ../../c-api/arg.rst:197 -msgid "" -"It requires three arguments. The first is only used as input, and must be a" -" :c:expr:`const char*` which points to the name of an encoding as a NUL-" -"terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is used. " -"An exception is raised if the named encoding is not known to Python. The " -"second argument must be a :c:expr:`char**`; the value of the pointer it " -"references will be set to a buffer with the contents of the argument text. " -"The text will be encoded in the encoding specified by the first argument. " -"The third argument must be a pointer to an integer; the referenced integer " -"will be set to the number of bytes in the output buffer." -msgstr "" - -#: ../../c-api/arg.rst:207 -msgid "There are two modes of operation:" -msgstr "Ada dua mode operasi:" - -#: ../../c-api/arg.rst:209 -msgid "" -"If *\\*buffer* points a ``NULL`` pointer, the function will allocate a " -"buffer of the needed size, copy the encoded data into this buffer and set " -"*\\*buffer* to reference the newly allocated storage. The caller is " -"responsible for calling :c:func:`PyMem_Free` to free the allocated buffer " -"after usage." -msgstr "" - -#: ../../c-api/arg.rst:214 -msgid "" -"If *\\*buffer* points to a non-``NULL`` pointer (an already allocated " -"buffer), :c:func:`PyArg_ParseTuple` will use this location as the buffer and" -" interpret the initial value of *\\*buffer_length* as the buffer size. It " -"will then copy the encoded data into the buffer and NUL-terminate it. If " -"the buffer is not large enough, a :exc:`ValueError` will be set." -msgstr "" - -#: ../../c-api/arg.rst:220 -msgid "" -"In both cases, *\\*buffer_length* is set to the length of the encoded data " -"without the trailing NUL byte." -msgstr "" - -#: ../../c-api/arg.rst:223 -msgid "" -"``et#`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const char " -"\\*encoding, char \\*\\*buffer, :c:type:`Py_ssize_t` \\*buffer_length]" -msgstr "" - -#: ../../c-api/arg.rst:224 -msgid "" -"Same as ``es#`` except that byte string objects are passed through without " -"recoding them. Instead, the implementation assumes that the byte string " -"object uses the encoding passed in as parameter." -msgstr "" - -#: ../../c-api/arg.rst:228 -msgid "" -"``u``, ``u#``, ``Z``, and ``Z#`` are removed because they used a legacy " -"``Py_UNICODE*`` representation." -msgstr "" - -#: ../../c-api/arg.rst:234 -msgid "Numbers" -msgstr "Angka" - -#: ../../c-api/arg.rst:236 -msgid "" -"These formats allow representing Python numbers or single characters as C " -"numbers. Formats that require :class:`int`, :class:`float` or " -":class:`complex` can also use the corresponding special methods " -":meth:`~object.__index__`, :meth:`~object.__float__` or " -":meth:`~object.__complex__` to convert the Python object to the required " -"type." -msgstr "" - -#: ../../c-api/arg.rst:242 -msgid "" -"For signed integer formats, :exc:`OverflowError` is raised if the value is " -"out of range for the C type. For unsigned integer formats, no range checking" -" is done --- the most significant bits are silently truncated when the " -"receiving field is too small to receive the value." -msgstr "" - -#: ../../c-api/arg.rst:248 -msgid "``b`` (:class:`int`) [unsigned char]" -msgstr "``b`` (:class:`int`) [unsigned char]" - -#: ../../c-api/arg.rst:249 -msgid "" -"Convert a nonnegative Python integer to an unsigned tiny integer, stored in " -"a C :c:expr:`unsigned char`." -msgstr "" - -#: ../../c-api/arg.rst:252 ../../c-api/arg.rst:663 -msgid "``B`` (:class:`int`) [unsigned char]" -msgstr "``B`` (:class:`int`) [unsigned char]" - -#: ../../c-api/arg.rst:253 -msgid "" -"Convert a Python integer to a tiny integer without overflow checking, stored" -" in a C :c:expr:`unsigned char`." -msgstr "" - -#: ../../c-api/arg.rst:256 ../../c-api/arg.rst:657 -msgid "``h`` (:class:`int`) [short int]" -msgstr "``h`` (:class:`int`) [short int]" - -#: ../../c-api/arg.rst:257 -msgid "Convert a Python integer to a C :c:expr:`short int`." -msgstr "" - -#: ../../c-api/arg.rst:259 ../../c-api/arg.rst:666 -msgid "``H`` (:class:`int`) [unsigned short int]" -msgstr "``H`` (:class:`int`) [unsigned short int]" - -#: ../../c-api/arg.rst:260 -msgid "" -"Convert a Python integer to a C :c:expr:`unsigned short int`, without " -"overflow checking." -msgstr "" - -#: ../../c-api/arg.rst:263 ../../c-api/arg.rst:651 -msgid "``i`` (:class:`int`) [int]" -msgstr "``i`` (:class:`int`) [int]" - -#: ../../c-api/arg.rst:264 -msgid "Convert a Python integer to a plain C :c:expr:`int`." -msgstr "" - -#: ../../c-api/arg.rst:266 ../../c-api/arg.rst:669 -msgid "``I`` (:class:`int`) [unsigned int]" -msgstr "``I`` (:class:`int`) [unsigned int]" - -#: ../../c-api/arg.rst:267 -msgid "" -"Convert a Python integer to a C :c:expr:`unsigned int`, without overflow " -"checking." -msgstr "" - -#: ../../c-api/arg.rst:270 ../../c-api/arg.rst:660 -msgid "``l`` (:class:`int`) [long int]" -msgstr "``l`` (:class:`int`) [long int]" - -#: ../../c-api/arg.rst:271 -msgid "Convert a Python integer to a C :c:expr:`long int`." -msgstr "" - -#: ../../c-api/arg.rst:273 ../../c-api/arg.rst:672 -msgid "``k`` (:class:`int`) [unsigned long]" -msgstr "``k`` (:class:`int`) [unsigned long]" - -#: ../../c-api/arg.rst:274 -msgid "" -"Convert a Python integer to a C :c:expr:`unsigned long` without overflow " -"checking." -msgstr "" - -#: ../../c-api/arg.rst:277 ../../c-api/arg.rst:287 -msgid "Use :meth:`~object.__index__` if available." -msgstr "" - -#: ../../c-api/arg.rst:280 ../../c-api/arg.rst:675 -msgid "``L`` (:class:`int`) [long long]" -msgstr "``L`` (:class:`int`) [long long]" - -#: ../../c-api/arg.rst:281 -msgid "Convert a Python integer to a C :c:expr:`long long`." -msgstr "" - -#: ../../c-api/arg.rst:283 ../../c-api/arg.rst:680 -msgid "``K`` (:class:`int`) [unsigned long long]" -msgstr "``K`` (:class:`int`) [unsigned long long]" - -#: ../../c-api/arg.rst:284 -msgid "" -"Convert a Python integer to a C :c:expr:`unsigned long long` without " -"overflow checking." -msgstr "" - -#: ../../c-api/arg.rst:290 ../../c-api/arg.rst:683 -msgid "``n`` (:class:`int`) [:c:type:`Py_ssize_t`]" -msgstr "" - -#: ../../c-api/arg.rst:291 -msgid "Convert a Python integer to a C :c:type:`Py_ssize_t`." -msgstr "" - -#: ../../c-api/arg.rst:293 -msgid "``c`` (:class:`bytes` or :class:`bytearray` of length 1) [char]" -msgstr "" -"``c`` (:class:`bytes` atau :class:`bytearray` dengan panjang 1) [char]" - -#: ../../c-api/arg.rst:294 -msgid "" -"Convert a Python byte, represented as a :class:`bytes` or :class:`bytearray`" -" object of length 1, to a C :c:expr:`char`." -msgstr "" - -#: ../../c-api/arg.rst:297 -msgid "Allow :class:`bytearray` objects." -msgstr "Izinkan objek :class:`bytearray`." - -#: ../../c-api/arg.rst:300 ../../c-api/arg.rst:694 -msgid "``C`` (:class:`str` of length 1) [int]" -msgstr "``C`` (:class:`str` dengan panjang 1) [int]" - -#: ../../c-api/arg.rst:301 -msgid "" -"Convert a Python character, represented as a :class:`str` object of length " -"1, to a C :c:expr:`int`." -msgstr "" - -#: ../../c-api/arg.rst:304 ../../c-api/arg.rst:701 -msgid "``f`` (:class:`float`) [float]" -msgstr "``f`` (:class:`float`) [float]" - -#: ../../c-api/arg.rst:305 -msgid "Convert a Python floating-point number to a C :c:expr:`float`." -msgstr "" - -#: ../../c-api/arg.rst:307 ../../c-api/arg.rst:698 -msgid "``d`` (:class:`float`) [double]" -msgstr "``d`` (:class:`float`) [double]" - -#: ../../c-api/arg.rst:308 -msgid "Convert a Python floating-point number to a C :c:expr:`double`." -msgstr "" - -#: ../../c-api/arg.rst:310 -msgid "``D`` (:class:`complex`) [Py_complex]" -msgstr "``D`` (:class:`complex`) [Py_complex]" - -#: ../../c-api/arg.rst:311 -msgid "Convert a Python complex number to a C :c:type:`Py_complex` structure." -msgstr "" - -#: ../../c-api/arg.rst:314 -msgid "Other objects" -msgstr "Objek lain" - -#: ../../c-api/arg.rst:316 ../../c-api/arg.rst:707 -msgid "``O`` (object) [PyObject \\*]" -msgstr "``O`` (object) [PyObject \\*]" - -#: ../../c-api/arg.rst:317 -msgid "" -"Store a Python object (without any conversion) in a C object pointer. The C" -" program thus receives the actual object that was passed. A new " -":term:`strong reference` to the object is not created (i.e. its reference " -"count is not increased). The pointer stored is not ``NULL``." -msgstr "" - -#: ../../c-api/arg.rst:323 -msgid "``O!`` (object) [*typeobject*, PyObject \\*]" -msgstr "``O!`` (object) [*typeobject*, PyObject \\*]" - -#: ../../c-api/arg.rst:324 -msgid "" -"Store a Python object in a C object pointer. This is similar to ``O``, but " -"takes two C arguments: the first is the address of a Python type object, the" -" second is the address of the C variable (of type :c:expr:`PyObject*`) into " -"which the object pointer is stored. If the Python object does not have the " -"required type, :exc:`TypeError` is raised." -msgstr "" - -#: ../../c-api/arg.rst:332 -msgid "``O&`` (object) [*converter*, *address*]" -msgstr "" - -#: ../../c-api/arg.rst:333 -msgid "" -"Convert a Python object to a C variable through a *converter* function. " -"This takes two arguments: the first is a function, the second is the address" -" of a C variable (of arbitrary type), converted to :c:expr:`void *`. The " -"*converter* function in turn is called as follows::" -msgstr "" - -#: ../../c-api/arg.rst:338 -msgid "status = converter(object, address);" -msgstr "" - -#: ../../c-api/arg.rst:340 -msgid "" -"where *object* is the Python object to be converted and *address* is the " -":c:expr:`void*` argument that was passed to the ``PyArg_Parse*`` function. " -"The returned *status* should be ``1`` for a successful conversion and ``0`` " -"if the conversion has failed. When the conversion fails, the *converter* " -"function should raise an exception and leave the content of *address* " -"unmodified." -msgstr "" - -#: ../../c-api/arg.rst:349 -msgid "" -"If the *converter* returns :c:macro:`!Py_CLEANUP_SUPPORTED`, it may get " -"called a second time if the argument parsing eventually fails, giving the " -"converter a chance to release any memory that it had already allocated. In " -"this second call, the *object* parameter will be ``NULL``; *address* will " -"have the same value as in the original call." -msgstr "" - -#: ../../c-api/arg.rst:355 -msgid "" -"Examples of converters: :c:func:`PyUnicode_FSConverter` and " -":c:func:`PyUnicode_FSDecoder`." -msgstr "" - -#: ../../c-api/arg.rst:358 -msgid ":c:macro:`!Py_CLEANUP_SUPPORTED` was added." -msgstr "" - -#: ../../c-api/arg.rst:361 ../../c-api/arg.rst:686 -msgid "``p`` (:class:`bool`) [int]" -msgstr "``p`` (:class:`bool`) [int]" - -#: ../../c-api/arg.rst:362 -msgid "" -"Tests the value passed in for truth (a boolean **p**\\ redicate) and " -"converts the result to its equivalent C true/false integer value. Sets the " -"int to ``1`` if the expression was true and ``0`` if it was false. This " -"accepts any valid Python value. See :ref:`truth` for more information about" -" how Python tests values for truth." -msgstr "" - -#: ../../c-api/arg.rst:370 -msgid "``(items)`` (sequence) [*matching-items*]" -msgstr "" - -#: ../../c-api/arg.rst:371 -msgid "" -"The object must be a Python sequence (except :class:`str`, :class:`bytes` or" -" :class:`bytearray`) whose length is the number of format units in *items*." -" The C arguments must correspond to the individual format units in *items*." -" Format units for sequences may be nested." -msgstr "" - -#: ../../c-api/arg.rst:376 -msgid "" -"If *items* contains format units which store a :ref:`borrowed buffer ` (``s``, ``s#``, ``z``, ``z#``, ``y``, or ``y#``) or a " -":term:`borrowed reference` (``S``, ``Y``, ``U``, ``O``, or ``O!``), the " -"object must be a Python tuple. The *converter* for the ``O&`` format unit in" -" *items* must not store a borrowed buffer or a borrowed reference." -msgstr "" - -#: ../../c-api/arg.rst:383 -msgid "" -":class:`str` and :class:`bytearray` objects no longer accepted as a " -"sequence." -msgstr "" - -#: ../../c-api/arg.rst:386 -msgid "" -"Non-tuple sequences are deprecated if *items* contains format units which " -"store a borrowed buffer or a borrowed reference." -msgstr "" - -#: ../../c-api/arg.rst:390 -msgid "``unit?`` (anything or ``None``) [*matching-variable(s)*]" -msgstr "" - -#: ../../c-api/arg.rst:391 -msgid "" -"``?`` modifies the behavior of the preceding format unit. The C variable(s) " -"corresponding to that parameter should be initialized to their default value" -" --- when the argument is ``None``, :c:func:`PyArg_ParseTuple` does not " -"touch the contents of the corresponding C variable(s). If the argument is " -"not ``None``, it is parsed according to the specified format unit." -msgstr "" - -#: ../../c-api/arg.rst:401 -msgid "" -"A few other characters have a meaning in a format string. These may not " -"occur inside nested parentheses. They are:" -msgstr "" - -#: ../../c-api/arg.rst:404 -msgid "``|``" -msgstr "``|``" - -#: ../../c-api/arg.rst:405 -msgid "" -"Indicates that the remaining arguments in the Python argument list are " -"optional. The C variables corresponding to optional arguments should be " -"initialized to their default value --- when an optional argument is not " -"specified, :c:func:`PyArg_ParseTuple` does not touch the contents of the " -"corresponding C variable(s)." -msgstr "" - -#: ../../c-api/arg.rst:411 -msgid "``$``" -msgstr "``$``" - -#: ../../c-api/arg.rst:412 -msgid "" -":c:func:`PyArg_ParseTupleAndKeywords` only: Indicates that the remaining " -"arguments in the Python argument list are keyword-only. Currently, all " -"keyword-only arguments must also be optional arguments, so ``|`` must always" -" be specified before ``$`` in the format string." -msgstr "" - -#: ../../c-api/arg.rst:420 -msgid "``:``" -msgstr "``:``" - -#: ../../c-api/arg.rst:421 -msgid "" -"The list of format units ends here; the string after the colon is used as " -"the function name in error messages (the \"associated value\" of the " -"exception that :c:func:`PyArg_ParseTuple` raises)." -msgstr "" - -#: ../../c-api/arg.rst:425 -msgid "``;``" -msgstr "``;``" - -#: ../../c-api/arg.rst:426 -msgid "" -"The list of format units ends here; the string after the semicolon is used " -"as the error message *instead* of the default error message. ``:`` and " -"``;`` mutually exclude each other." -msgstr "" - -#: ../../c-api/arg.rst:430 -msgid "" -"Note that any Python object references which are provided to the caller are " -"*borrowed* references; do not release them (i.e. do not decrement their " -"reference count)!" -msgstr "" - -#: ../../c-api/arg.rst:434 -msgid "" -"Additional arguments passed to these functions must be addresses of " -"variables whose type is determined by the format string; these are used to " -"store values from the input tuple. There are a few cases, as described in " -"the list of format units above, where these parameters are used as input " -"values; they should match what is specified for the corresponding format " -"unit in that case." -msgstr "" - -#: ../../c-api/arg.rst:440 -msgid "" -"For the conversion to succeed, the *arg* object must match the format and " -"the format must be exhausted. On success, the ``PyArg_Parse*`` functions " -"return true, otherwise they return false and raise an appropriate exception." -" When the ``PyArg_Parse*`` functions fail due to conversion failure in one " -"of the format units, the variables at the addresses corresponding to that " -"and the following format units are left untouched." -msgstr "" - -#: ../../c-api/arg.rst:449 -msgid "API Functions" -msgstr "Fungsi-fungsi API" - -#: ../../c-api/arg.rst:453 -msgid "" -"Parse the parameters of a function that takes only positional parameters " -"into local variables. Returns true on success; on failure, it returns false" -" and raises the appropriate exception." -msgstr "" - -#: ../../c-api/arg.rst:460 -msgid "" -"Identical to :c:func:`PyArg_ParseTuple`, except that it accepts a va_list " -"rather than a variable number of arguments." -msgstr "" - -#: ../../c-api/arg.rst:466 -msgid "" -"Parse the parameters of a function that takes both positional and keyword " -"parameters into local variables. The *keywords* argument is a " -"``NULL``-terminated array of keyword parameter names specified as null-" -"terminated ASCII or UTF-8 encoded C strings. Empty names denote " -":ref:`positional-only parameters `. Returns true " -"on success; on failure, it returns false and raises the appropriate " -"exception." -msgstr "" - -#: ../../c-api/arg.rst:477 -msgid "" -"The *keywords* parameter declaration is :c:expr:`char * const *` in C and " -":c:expr:`const char * const *` in C++. This can be overridden with the " -":c:macro:`PY_CXX_CONST` macro." -msgstr "" - -#: ../../c-api/arg.rst:481 -msgid "" -"Added support for :ref:`positional-only parameters `." -msgstr "" - -#: ../../c-api/arg.rst:485 -msgid "" -"The *keywords* parameter has now type :c:expr:`char * const *` in C and " -":c:expr:`const char * const *` in C++, instead of :c:expr:`char **`. Added " -"support for non-ASCII keyword parameter names." -msgstr "" - -#: ../../c-api/arg.rst:494 -msgid "" -"Identical to :c:func:`PyArg_ParseTupleAndKeywords`, except that it accepts a" -" va_list rather than a variable number of arguments." -msgstr "" - -#: ../../c-api/arg.rst:500 -msgid "" -"Ensure that the keys in the keywords argument dictionary are strings. This " -"is only needed if :c:func:`PyArg_ParseTupleAndKeywords` is not used, since " -"the latter already does this check." -msgstr "" - -#: ../../c-api/arg.rst:509 -msgid "" -"Parse the parameter of a function that takes a single positional parameter " -"into a local variable. Returns true on success; on failure, it returns " -"false and raises the appropriate exception." -msgstr "" - -#: ../../c-api/arg.rst:513 -msgid "Example::" -msgstr "Contoh::" - -#: ../../c-api/arg.rst:515 -msgid "" -"// Function using METH_O calling convention\n" -"static PyObject*\n" -"my_function(PyObject *module, PyObject *arg)\n" -"{\n" -" int value;\n" -" if (!PyArg_Parse(arg, \"i:my_function\", &value)) {\n" -" return NULL;\n" -" }\n" -" // ... use value ...\n" -"}" -msgstr "" - -#: ../../c-api/arg.rst:529 -msgid "" -"A simpler form of parameter retrieval which does not use a format string to " -"specify the types of the arguments. Functions which use this method to " -"retrieve their parameters should be declared as :c:macro:`METH_VARARGS` in " -"function or method tables. The tuple containing the actual parameters " -"should be passed as *args*; it must actually be a tuple. The length of the " -"tuple must be at least *min* and no more than *max*; *min* and *max* may be " -"equal. Additional arguments must be passed to the function, each of which " -"should be a pointer to a :c:expr:`PyObject*` variable; these will be filled " -"in with the values from *args*; they will contain :term:`borrowed references" -" `. The variables which correspond to optional " -"parameters not given by *args* will not be filled in; these should be " -"initialized by the caller. This function returns true on success and false " -"if *args* is not a tuple or contains the wrong number of elements; an " -"exception will be set if there was a failure." -msgstr "" - -#: ../../c-api/arg.rst:544 -msgid "" -"This is an example of the use of this function, taken from the sources for " -"the :mod:`!_weakref` helper module for weak references::" -msgstr "" - -#: ../../c-api/arg.rst:547 -msgid "" -"static PyObject *\n" -"weakref_ref(PyObject *self, PyObject *args)\n" -"{\n" -" PyObject *object;\n" -" PyObject *callback = NULL;\n" -" PyObject *result = NULL;\n" -"\n" -" if (PyArg_UnpackTuple(args, \"ref\", 1, 2, &object, &callback)) {\n" -" result = PyWeakref_NewRef(object, callback);\n" -" }\n" -" return result;\n" -"}" -msgstr "" - -#: ../../c-api/arg.rst:560 -msgid "" -"The call to :c:func:`PyArg_UnpackTuple` in this example is entirely " -"equivalent to this call to :c:func:`PyArg_ParseTuple`::" -msgstr "" - -#: ../../c-api/arg.rst:563 -msgid "PyArg_ParseTuple(args, \"O|O:ref\", &object, &callback)" -msgstr "" - -#: ../../c-api/arg.rst:567 -msgid "" -"The value to be inserted, if any, before :c:expr:`char * const *` in the " -"*keywords* parameter declaration of :c:func:`PyArg_ParseTupleAndKeywords` " -"and :c:func:`PyArg_VaParseTupleAndKeywords`. Default empty for C and " -"``const`` for C++ (:c:expr:`const char * const *`). To override, define it " -"to the desired value before including :file:`Python.h`." -msgstr "" - -#: ../../c-api/arg.rst:581 -msgid "Building values" -msgstr "Membangun nilai" - -#: ../../c-api/arg.rst:585 -msgid "" -"Create a new value based on a format string similar to those accepted by the" -" ``PyArg_Parse*`` family of functions and a sequence of values. Returns the" -" value or ``NULL`` in the case of an error; an exception will be raised if " -"``NULL`` is returned." -msgstr "" - -#: ../../c-api/arg.rst:590 -msgid "" -":c:func:`Py_BuildValue` does not always build a tuple. It builds a tuple " -"only if its format string contains two or more format units. If the format " -"string is empty, it returns ``None``; if it contains exactly one format " -"unit, it returns whatever object is described by that format unit. To force" -" it to return a tuple of size 0 or one, parenthesize the format string." -msgstr "" - -#: ../../c-api/arg.rst:596 -msgid "" -"When memory buffers are passed as parameters to supply data to build " -"objects, as for the ``s`` and ``s#`` formats, the required data is copied. " -"Buffers provided by the caller are never referenced by the objects created " -"by :c:func:`Py_BuildValue`. In other words, if your code invokes " -":c:func:`malloc` and passes the allocated memory to :c:func:`Py_BuildValue`," -" your code is responsible for calling :c:func:`free` for that memory once " -":c:func:`Py_BuildValue` returns." -msgstr "" - -#: ../../c-api/arg.rst:604 -msgid "" -"In the following description, the quoted form is the format unit; the entry " -"in (round) parentheses is the Python object type that the format unit will " -"return; and the entry in [square] brackets is the type of the C value(s) to " -"be passed." -msgstr "" - -#: ../../c-api/arg.rst:608 -msgid "" -"The characters space, tab, colon and comma are ignored in format strings " -"(but not within format units such as ``s#``). This can be used to make long" -" format strings a tad more readable." -msgstr "" - -#: ../../c-api/arg.rst:612 -msgid "``s`` (:class:`str` or ``None``) [const char \\*]" -msgstr "``s`` (:class:`str` atau ``None``) [const char \\*]" - -#: ../../c-api/arg.rst:613 -msgid "" -"Convert a null-terminated C string to a Python :class:`str` object using " -"``'utf-8'`` encoding. If the C string pointer is ``NULL``, ``None`` is used." -msgstr "" - -#: ../../c-api/arg.rst:616 -msgid "``s#`` (:class:`str` or ``None``) [const char \\*, :c:type:`Py_ssize_t`]" -msgstr "" - -#: ../../c-api/arg.rst:617 -msgid "" -"Convert a C string and its length to a Python :class:`str` object using " -"``'utf-8'`` encoding. If the C string pointer is ``NULL``, the length is " -"ignored and ``None`` is returned." -msgstr "" - -#: ../../c-api/arg.rst:621 -msgid "``y`` (:class:`bytes`) [const char \\*]" -msgstr "``y`` (:class:`bytes`) [const char \\*]" - -#: ../../c-api/arg.rst:622 -msgid "" -"This converts a C string to a Python :class:`bytes` object. If the C string" -" pointer is ``NULL``, ``None`` is returned." -msgstr "" - -#: ../../c-api/arg.rst:625 -msgid "``y#`` (:class:`bytes`) [const char \\*, :c:type:`Py_ssize_t`]" -msgstr "" - -#: ../../c-api/arg.rst:626 -msgid "" -"This converts a C string and its lengths to a Python object. If the C " -"string pointer is ``NULL``, ``None`` is returned." -msgstr "" - -#: ../../c-api/arg.rst:630 ../../c-api/arg.rst:646 -msgid "Same as ``s``." -msgstr "Sama seperti ``s``." - -#: ../../c-api/arg.rst:632 -msgid "``z#`` (:class:`str` or ``None``) [const char \\*, :c:type:`Py_ssize_t`]" -msgstr "" - -#: ../../c-api/arg.rst:633 ../../c-api/arg.rst:649 -msgid "Same as ``s#``." -msgstr "Sama seperti ``s#``." - -#: ../../c-api/arg.rst:635 -msgid "``u`` (:class:`str`) [const wchar_t \\*]" -msgstr "``u`` (:class:`str`) [const wchar_t \\*]" - -#: ../../c-api/arg.rst:636 -msgid "" -"Convert a null-terminated :c:type:`wchar_t` buffer of Unicode (UTF-16 or " -"UCS-4) data to a Python Unicode object. If the Unicode buffer pointer is " -"``NULL``, ``None`` is returned." -msgstr "" - -#: ../../c-api/arg.rst:640 -msgid "``u#`` (:class:`str`) [const wchar_t \\*, :c:type:`Py_ssize_t`]" -msgstr "" - -#: ../../c-api/arg.rst:641 -msgid "" -"Convert a Unicode (UTF-16 or UCS-4) data buffer and its length to a Python " -"Unicode object. If the Unicode buffer pointer is ``NULL``, the length is " -"ignored and ``None`` is returned." -msgstr "" - -#: ../../c-api/arg.rst:645 -msgid "``U`` (:class:`str` or ``None``) [const char \\*]" -msgstr "``U`` (:class:`str` atau ``None``) [const char \\*]" - -#: ../../c-api/arg.rst:648 -msgid "``U#`` (:class:`str` or ``None``) [const char \\*, :c:type:`Py_ssize_t`]" -msgstr "" - -#: ../../c-api/arg.rst:652 -msgid "Convert a plain C :c:expr:`int` to a Python integer object." -msgstr "" - -#: ../../c-api/arg.rst:654 -msgid "``b`` (:class:`int`) [char]" -msgstr "``b`` (:class:`int`) [char]" - -#: ../../c-api/arg.rst:655 -msgid "Convert a plain C :c:expr:`char` to a Python integer object." -msgstr "" - -#: ../../c-api/arg.rst:658 -msgid "Convert a plain C :c:expr:`short int` to a Python integer object." -msgstr "" - -#: ../../c-api/arg.rst:661 -msgid "Convert a C :c:expr:`long int` to a Python integer object." -msgstr "" - -#: ../../c-api/arg.rst:664 -msgid "Convert a C :c:expr:`unsigned char` to a Python integer object." -msgstr "" - -#: ../../c-api/arg.rst:667 -msgid "Convert a C :c:expr:`unsigned short int` to a Python integer object." -msgstr "" - -#: ../../c-api/arg.rst:670 -msgid "Convert a C :c:expr:`unsigned int` to a Python integer object." -msgstr "" - -#: ../../c-api/arg.rst:673 -msgid "Convert a C :c:expr:`unsigned long` to a Python integer object." -msgstr "" - -#: ../../c-api/arg.rst:676 -msgid "Convert a C :c:expr:`long long` to a Python integer object." -msgstr "" - -#: ../../c-api/arg.rst:681 -msgid "Convert a C :c:expr:`unsigned long long` to a Python integer object." -msgstr "" - -#: ../../c-api/arg.rst:684 -msgid "Convert a C :c:type:`Py_ssize_t` to a Python integer." -msgstr "" - -#: ../../c-api/arg.rst:687 -msgid "" -"Convert a C :c:expr:`int` to a Python :class:`bool` object. .. " -"versionadded:: 3.14" -msgstr "" - -#: ../../c-api/arg.rst:690 -msgid "``c`` (:class:`bytes` of length 1) [char]" -msgstr "``c`` (:class:`bytes` dengan panjang 1) [char]" - -#: ../../c-api/arg.rst:691 -msgid "" -"Convert a C :c:expr:`int` representing a byte to a Python :class:`bytes` " -"object of length 1." -msgstr "" - -#: ../../c-api/arg.rst:695 -msgid "" -"Convert a C :c:expr:`int` representing a character to Python :class:`str` " -"object of length 1." -msgstr "" - -#: ../../c-api/arg.rst:699 -msgid "Convert a C :c:expr:`double` to a Python floating-point number." -msgstr "" - -#: ../../c-api/arg.rst:702 -msgid "Convert a C :c:expr:`float` to a Python floating-point number." -msgstr "" - -#: ../../c-api/arg.rst:704 -msgid "``D`` (:class:`complex`) [Py_complex \\*]" -msgstr "``D`` (:class:`complex`) [Py_complex \\*]" - -#: ../../c-api/arg.rst:705 -msgid "Convert a C :c:type:`Py_complex` structure to a Python complex number." -msgstr "" - -#: ../../c-api/arg.rst:708 -msgid "" -"Pass a Python object untouched but create a new :term:`strong reference` to " -"it (i.e. its reference count is incremented by one). If the object passed in" -" is a ``NULL`` pointer, it is assumed that this was caused because the call " -"producing the argument found an error and set an exception. Therefore, " -":c:func:`Py_BuildValue` will return ``NULL`` but won't raise an exception. " -"If no exception has been raised yet, :exc:`SystemError` is set." -msgstr "" - -#: ../../c-api/arg.rst:717 -msgid "``S`` (object) [PyObject \\*]" -msgstr "``S`` (object) [PyObject \\*]" - -#: ../../c-api/arg.rst:718 -msgid "Same as ``O``." -msgstr "Sama seperti ``O``." - -#: ../../c-api/arg.rst:720 -msgid "``N`` (object) [PyObject \\*]" -msgstr "``N`` (object) [PyObject \\*]" - -#: ../../c-api/arg.rst:721 -msgid "" -"Same as ``O``, except it doesn't create a new :term:`strong reference`. " -"Useful when the object is created by a call to an object constructor in the " -"argument list." -msgstr "" - -#: ../../c-api/arg.rst:725 -msgid "``O&`` (object) [*converter*, *anything*]" -msgstr "``O&`` (object) [*converter*, *anything*]" - -#: ../../c-api/arg.rst:726 -msgid "" -"Convert *anything* to a Python object through a *converter* function. The " -"function is called with *anything* (which should be compatible with " -":c:expr:`void*`) as its argument and should return a \"new\" Python object, " -"or ``NULL`` if an error occurred." -msgstr "" - -#: ../../c-api/arg.rst:731 -msgid "``(items)`` (:class:`tuple`) [*matching-items*]" -msgstr "``(items)`` (:class:`tuple`) [*matching-items*]" - -#: ../../c-api/arg.rst:732 -msgid "" -"Convert a sequence of C values to a Python tuple with the same number of " -"items." -msgstr "" - -#: ../../c-api/arg.rst:734 -msgid "``[items]`` (:class:`list`) [*matching-items*]" -msgstr "" - -#: ../../c-api/arg.rst:735 -msgid "" -"Convert a sequence of C values to a Python list with the same number of " -"items." -msgstr "" - -#: ../../c-api/arg.rst:737 -msgid "``{items}`` (:class:`dict`) [*matching-items*]" -msgstr "``{items}`` (:class:`dict`) [*matching-items*]" - -#: ../../c-api/arg.rst:738 -msgid "" -"Convert a sequence of C values to a Python dictionary. Each pair of " -"consecutive C values adds one item to the dictionary, serving as key and " -"value, respectively." -msgstr "" - -#: ../../c-api/arg.rst:742 -msgid "" -"If there is an error in the format string, the :exc:`SystemError` exception " -"is set and ``NULL`` returned." -msgstr "" - -#: ../../c-api/arg.rst:747 -msgid "" -"Identical to :c:func:`Py_BuildValue`, except that it accepts a va_list " -"rather than a variable number of arguments." -msgstr "" diff --git a/python-newest.c-api--bool/id.po b/python-newest.c-api--bool/id.po deleted file mode 100644 index a2fd821..0000000 --- a/python-newest.c-api--bool/id.po +++ /dev/null @@ -1,83 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Elmo , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Elmo , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/bool.rst:6 -msgid "Boolean Objects" -msgstr "Objek Boolean" - -#: ../../c-api/bool.rst:8 -msgid "" -"Booleans in Python are implemented as a subclass of integers. There are " -"only two booleans, :c:data:`Py_False` and :c:data:`Py_True`. As such, the " -"normal creation and deletion functions don't apply to booleans. The " -"following macros are available, however." -msgstr "" - -#: ../../c-api/bool.rst:16 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python boolean type; " -"it is the same object as :class:`bool` in the Python layer." -msgstr "" - -#: ../../c-api/bool.rst:22 -msgid "" -"Return true if *o* is of type :c:data:`PyBool_Type`. This function always " -"succeeds." -msgstr "" -"Mengembalikan nilai true jika *o* bertipe :c:data:`PyBool_Type`. Fungsi ini " -"selalu berhasil." - -#: ../../c-api/bool.rst:28 -msgid "" -"The Python ``False`` object. This object has no methods and is " -":term:`immortal`." -msgstr "" - -#: ../../c-api/bool.rst:31 -msgid ":c:data:`Py_False` is :term:`immortal`." -msgstr "" - -#: ../../c-api/bool.rst:37 -msgid "" -"The Python ``True`` object. This object has no methods and is " -":term:`immortal`." -msgstr "" - -#: ../../c-api/bool.rst:40 -msgid ":c:data:`Py_True` is :term:`immortal`." -msgstr "" - -#: ../../c-api/bool.rst:46 -msgid "Return :c:data:`Py_False` from a function." -msgstr "" - -#: ../../c-api/bool.rst:51 -msgid "Return :c:data:`Py_True` from a function." -msgstr "" - -#: ../../c-api/bool.rst:56 -msgid "" -"Return :c:data:`Py_True` or :c:data:`Py_False`, depending on the truth value" -" of *v*." -msgstr "" diff --git a/python-newest.c-api--buffer/id.po b/python-newest.c-api--buffer/id.po deleted file mode 100644 index 55dc3ec..0000000 --- a/python-newest.c-api--buffer/id.po +++ /dev/null @@ -1,804 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Sutrisno Efendi , 2021 -# Elmo , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Elmo , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/buffer.rst:11 -msgid "Buffer Protocol" -msgstr "Protokol Penampung *Buffer*" - -#: ../../c-api/buffer.rst:18 -msgid "" -"Certain objects available in Python wrap access to an underlying memory " -"array or *buffer*. Such objects include the built-in :class:`bytes` and " -":class:`bytearray`, and some extension types like :class:`array.array`. " -"Third-party libraries may define their own types for special purposes, such " -"as image processing or numeric analysis." -msgstr "" -"Objek tertentu yang tersedia dalam Python membungkus akses ke larik memori " -"atau *buffer* yang mendasari. Objek tersebut termasuk built-in " -":class:`bytes` dan :class:`bytearray`, dan beberapa tipe ekstensi seperti " -":class:`array.array`. Pustaka pihak ketiga dapat menentukan jenisnya sendiri" -" untuk tujuan khusus, seperti pemrosesan gambar atau analisis numerik." - -#: ../../c-api/buffer.rst:24 -msgid "" -"While each of these types have their own semantics, they share the common " -"characteristic of being backed by a possibly large memory buffer. It is " -"then desirable, in some situations, to access that buffer directly and " -"without intermediate copying." -msgstr "" - -#: ../../c-api/buffer.rst:29 -msgid "" -"Python provides such a facility at the C and Python level in the form of the" -" :ref:`buffer protocol `. This protocol has two sides:" -msgstr "" - -#: ../../c-api/buffer.rst:34 -msgid "" -"on the producer side, a type can export a \"buffer interface\" which allows " -"objects of that type to expose information about their underlying buffer. " -"This interface is described in the section :ref:`buffer-structs`; for Python" -" see :ref:`python-buffer-protocol`." -msgstr "" - -#: ../../c-api/buffer.rst:39 -msgid "" -"on the consumer side, several means are available to obtain a pointer to the" -" raw underlying data of an object (for example a method parameter). For " -"Python see :class:`memoryview`." -msgstr "" - -#: ../../c-api/buffer.rst:43 -msgid "" -"Simple objects such as :class:`bytes` and :class:`bytearray` expose their " -"underlying buffer in byte-oriented form. Other forms are possible; for " -"example, the elements exposed by an :class:`array.array` can be multi-byte " -"values." -msgstr "" - -#: ../../c-api/buffer.rst:47 -msgid "" -"An example consumer of the buffer interface is the " -":meth:`~io.BufferedIOBase.write` method of file objects: any object that can" -" export a series of bytes through the buffer interface can be written to a " -"file. While :meth:`!write` only needs read-only access to the internal " -"contents of the object passed to it, other methods such as " -":meth:`~io.BufferedIOBase.readinto` need write access to the contents of " -"their argument. The buffer interface allows objects to selectively allow or" -" reject exporting of read-write and read-only buffers." -msgstr "" - -#: ../../c-api/buffer.rst:55 -msgid "" -"There are two ways for a consumer of the buffer interface to acquire a " -"buffer over a target object:" -msgstr "" - -#: ../../c-api/buffer.rst:58 -msgid "call :c:func:`PyObject_GetBuffer` with the right parameters;" -msgstr "" - -#: ../../c-api/buffer.rst:60 -msgid "" -"call :c:func:`PyArg_ParseTuple` (or one of its siblings) with one of the " -"``y*``, ``w*`` or ``s*`` :ref:`format codes `." -msgstr "" - -#: ../../c-api/buffer.rst:63 -msgid "" -"In both cases, :c:func:`PyBuffer_Release` must be called when the buffer " -"isn't needed anymore. Failure to do so could lead to various issues such as" -" resource leaks." -msgstr "" - -#: ../../c-api/buffer.rst:69 -msgid "" -"The buffer protocol is now accessible in Python, see :ref:`python-buffer-" -"protocol` and :class:`memoryview`." -msgstr "" - -#: ../../c-api/buffer.rst:75 -msgid "Buffer structure" -msgstr "Struktur penampung" - -#: ../../c-api/buffer.rst:77 -msgid "" -"Buffer structures (or simply \"buffers\") are useful as a way to expose the " -"binary data from another object to the Python programmer. They can also be " -"used as a zero-copy slicing mechanism. Using their ability to reference a " -"block of memory, it is possible to expose any data to the Python programmer " -"quite easily. The memory could be a large, constant array in a C extension," -" it could be a raw block of memory for manipulation before passing to an " -"operating system library, or it could be used to pass around structured data" -" in its native, in-memory format." -msgstr "" - -#: ../../c-api/buffer.rst:86 -msgid "" -"Contrary to most data types exposed by the Python interpreter, buffers are " -"not :c:type:`PyObject` pointers but rather simple C structures. This allows" -" them to be created and copied very simply. When a generic wrapper around a" -" buffer is needed, a :ref:`memoryview ` object can be " -"created." -msgstr "" - -#: ../../c-api/buffer.rst:92 -msgid "" -"For short instructions how to write an exporting object, see :ref:`Buffer " -"Object Structures `. For obtaining a buffer, see " -":c:func:`PyObject_GetBuffer`." -msgstr "" - -#: ../../c-api/buffer.rst:100 -msgid "" -"A pointer to the start of the logical structure described by the buffer " -"fields. This can be any location within the underlying physical memory block" -" of the exporter. For example, with negative :c:member:`~Py_buffer.strides` " -"the value may point to the end of the memory block." -msgstr "" - -#: ../../c-api/buffer.rst:105 -msgid "" -"For :term:`contiguous` arrays, the value points to the beginning of the " -"memory block." -msgstr "" - -#: ../../c-api/buffer.rst:110 -msgid "" -"A new reference to the exporting object. The reference is owned by the " -"consumer and automatically released (i.e. reference count decremented) and " -"set to ``NULL`` by :c:func:`PyBuffer_Release`. The field is the equivalent " -"of the return value of any standard C-API function." -msgstr "" - -#: ../../c-api/buffer.rst:117 -msgid "" -"As a special case, for *temporary* buffers that are wrapped by " -":c:func:`PyMemoryView_FromBuffer` or :c:func:`PyBuffer_FillInfo` this field " -"is ``NULL``. In general, exporting objects MUST NOT use this scheme." -msgstr "" - -#: ../../c-api/buffer.rst:124 -msgid "" -"``product(shape) * itemsize``. For contiguous arrays, this is the length of " -"the underlying memory block. For non-contiguous arrays, it is the length " -"that the logical structure would have if it were copied to a contiguous " -"representation." -msgstr "" - -#: ../../c-api/buffer.rst:129 -msgid "" -"Accessing ``((char *)buf)[0] up to ((char *)buf)[len-1]`` is only valid if " -"the buffer has been obtained by a request that guarantees contiguity. In " -"most cases such a request will be :c:macro:`PyBUF_SIMPLE` or " -":c:macro:`PyBUF_WRITABLE`." -msgstr "" - -#: ../../c-api/buffer.rst:135 -msgid "" -"An indicator of whether the buffer is read-only. This field is controlled by" -" the :c:macro:`PyBUF_WRITABLE` flag." -msgstr "" - -#: ../../c-api/buffer.rst:140 -msgid "" -"Item size in bytes of a single element. Same as the value of " -":func:`struct.calcsize` called on non-``NULL`` :c:member:`~Py_buffer.format`" -" values." -msgstr "" - -#: ../../c-api/buffer.rst:143 -msgid "" -"Important exception: If a consumer requests a buffer without the " -":c:macro:`PyBUF_FORMAT` flag, :c:member:`~Py_buffer.format` will be set to " -"``NULL``, but :c:member:`~Py_buffer.itemsize` still has the value for the " -"original format." -msgstr "" - -#: ../../c-api/buffer.rst:148 -msgid "" -"If :c:member:`~Py_buffer.shape` is present, the equality ``product(shape) * " -"itemsize == len`` still holds and the consumer can use " -":c:member:`~Py_buffer.itemsize` to navigate the buffer." -msgstr "" - -#: ../../c-api/buffer.rst:152 -msgid "" -"If :c:member:`~Py_buffer.shape` is ``NULL`` as a result of a " -":c:macro:`PyBUF_SIMPLE` or a :c:macro:`PyBUF_WRITABLE` request, the consumer" -" must disregard :c:member:`~Py_buffer.itemsize` and assume ``itemsize == " -"1``." -msgstr "" - -#: ../../c-api/buffer.rst:158 -msgid "" -"A *NULL* terminated string in :mod:`struct` module style syntax describing " -"the contents of a single item. If this is ``NULL``, ``\"B\"`` (unsigned " -"bytes) is assumed." -msgstr "" - -#: ../../c-api/buffer.rst:162 -msgid "This field is controlled by the :c:macro:`PyBUF_FORMAT` flag." -msgstr "" - -#: ../../c-api/buffer.rst:166 -msgid "" -"The number of dimensions the memory represents as an n-dimensional array. If" -" it is ``0``, :c:member:`~Py_buffer.buf` points to a single item " -"representing a scalar. In this case, :c:member:`~Py_buffer.shape`, " -":c:member:`~Py_buffer.strides` and :c:member:`~Py_buffer.suboffsets` MUST be" -" ``NULL``. The maximum number of dimensions is given by " -":c:macro:`PyBUF_MAX_NDIM`." -msgstr "" - -#: ../../c-api/buffer.rst:174 -msgid "" -"An array of :c:type:`Py_ssize_t` of length :c:member:`~Py_buffer.ndim` " -"indicating the shape of the memory as an n-dimensional array. Note that " -"``shape[0] * ... * shape[ndim-1] * itemsize`` MUST be equal to " -":c:member:`~Py_buffer.len`." -msgstr "" - -#: ../../c-api/buffer.rst:179 -msgid "" -"Shape values are restricted to ``shape[n] >= 0``. The case ``shape[n] == 0``" -" requires special attention. See `complex arrays`_ for further information." -msgstr "" - -#: ../../c-api/buffer.rst:183 -msgid "The shape array is read-only for the consumer." -msgstr "" - -#: ../../c-api/buffer.rst:187 -msgid "" -"An array of :c:type:`Py_ssize_t` of length :c:member:`~Py_buffer.ndim` " -"giving the number of bytes to skip to get to a new element in each " -"dimension." -msgstr "" - -#: ../../c-api/buffer.rst:191 -msgid "" -"Stride values can be any integer. For regular arrays, strides are usually " -"positive, but a consumer MUST be able to handle the case ``strides[n] <= " -"0``. See `complex arrays`_ for further information." -msgstr "" - -#: ../../c-api/buffer.rst:195 -msgid "The strides array is read-only for the consumer." -msgstr "" - -#: ../../c-api/buffer.rst:199 -msgid "" -"An array of :c:type:`Py_ssize_t` of length :c:member:`~Py_buffer.ndim`. If " -"``suboffsets[n] >= 0``, the values stored along the nth dimension are " -"pointers and the suboffset value dictates how many bytes to add to each " -"pointer after de-referencing. A suboffset value that is negative indicates " -"that no de-referencing should occur (striding in a contiguous memory block)." -msgstr "" - -#: ../../c-api/buffer.rst:206 -msgid "" -"If all suboffsets are negative (i.e. no de-referencing is needed), then this" -" field must be ``NULL`` (the default value)." -msgstr "" - -#: ../../c-api/buffer.rst:209 -msgid "" -"This type of array representation is used by the Python Imaging Library " -"(PIL). See `complex arrays`_ for further information how to access elements " -"of such an array." -msgstr "" - -#: ../../c-api/buffer.rst:213 -msgid "The suboffsets array is read-only for the consumer." -msgstr "" - -#: ../../c-api/buffer.rst:217 -msgid "" -"This is for use internally by the exporting object. For example, this might " -"be re-cast as an integer by the exporter and used to store flags about " -"whether or not the shape, strides, and suboffsets arrays must be freed when " -"the buffer is released. The consumer MUST NOT alter this value." -msgstr "" - -#: ../../c-api/buffer.rst:224 -msgid "Constants:" -msgstr "" - -#: ../../c-api/buffer.rst:228 -msgid "" -"The maximum number of dimensions the memory represents. Exporters MUST " -"respect this limit, consumers of multi-dimensional buffers SHOULD be able to" -" handle up to :c:macro:`!PyBUF_MAX_NDIM` dimensions. Currently set to 64." -msgstr "" - -#: ../../c-api/buffer.rst:237 -msgid "Buffer request types" -msgstr "" - -#: ../../c-api/buffer.rst:239 -msgid "" -"Buffers are usually obtained by sending a buffer request to an exporting " -"object via :c:func:`PyObject_GetBuffer`. Since the complexity of the logical" -" structure of the memory can vary drastically, the consumer uses the *flags*" -" argument to specify the exact buffer type it can handle." -msgstr "" - -#: ../../c-api/buffer.rst:244 -msgid "" -"All :c:type:`Py_buffer` fields are unambiguously defined by the request " -"type." -msgstr "" - -#: ../../c-api/buffer.rst:248 -msgid "request-independent fields" -msgstr "" - -#: ../../c-api/buffer.rst:249 -msgid "" -"The following fields are not influenced by *flags* and must always be filled" -" in with the correct values: :c:member:`~Py_buffer.obj`, " -":c:member:`~Py_buffer.buf`, :c:member:`~Py_buffer.len`, " -":c:member:`~Py_buffer.itemsize`, :c:member:`~Py_buffer.ndim`." -msgstr "" - -#: ../../c-api/buffer.rst:254 -msgid "readonly, format" -msgstr "" - -#: ../../c-api/buffer.rst:258 -msgid "" -"Controls the :c:member:`~Py_buffer.readonly` field. If set, the exporter " -"MUST provide a writable buffer or else report failure. Otherwise, the " -"exporter MAY provide either a read-only or writable buffer, but the choice " -"MUST be consistent for all consumers. For example, :c:expr:`PyBUF_SIMPLE | " -"PyBUF_WRITABLE` can be used to request a simple writable buffer." -msgstr "" - -#: ../../c-api/buffer.rst:266 -msgid "" -"Controls the :c:member:`~Py_buffer.format` field. If set, this field MUST be" -" filled in correctly. Otherwise, this field MUST be ``NULL``." -msgstr "" - -#: ../../c-api/buffer.rst:270 -msgid "" -":c:macro:`PyBUF_WRITABLE` can be \\|'d to any of the flags in the next " -"section. Since :c:macro:`PyBUF_SIMPLE` is defined as 0, " -":c:macro:`PyBUF_WRITABLE` can be used as a stand-alone flag to request a " -"simple writable buffer." -msgstr "" - -#: ../../c-api/buffer.rst:274 -msgid "" -":c:macro:`PyBUF_FORMAT` must be \\|'d to any of the flags except " -":c:macro:`PyBUF_SIMPLE`, because the latter already implies format ``B`` " -"(unsigned bytes). :c:macro:`!PyBUF_FORMAT` cannot be used on its own." -msgstr "" - -#: ../../c-api/buffer.rst:280 -msgid "shape, strides, suboffsets" -msgstr "" - -#: ../../c-api/buffer.rst:282 -msgid "" -"The flags that control the logical structure of the memory are listed in " -"decreasing order of complexity. Note that each flag contains all bits of the" -" flags below it." -msgstr "" - -#: ../../c-api/buffer.rst:289 ../../c-api/buffer.rst:313 -#: ../../c-api/buffer.rst:338 -msgid "Request" -msgstr "" - -#: ../../c-api/buffer.rst:289 ../../c-api/buffer.rst:313 -#: ../../c-api/buffer.rst:338 -msgid "shape" -msgstr "" - -#: ../../c-api/buffer.rst:289 ../../c-api/buffer.rst:313 -#: ../../c-api/buffer.rst:338 -msgid "strides" -msgstr "" - -#: ../../c-api/buffer.rst:289 ../../c-api/buffer.rst:313 -#: ../../c-api/buffer.rst:338 -msgid "suboffsets" -msgstr "" - -#: ../../c-api/buffer.rst:291 ../../c-api/buffer.rst:293 -#: ../../c-api/buffer.rst:295 ../../c-api/buffer.rst:315 -#: ../../c-api/buffer.rst:317 ../../c-api/buffer.rst:319 -#: ../../c-api/buffer.rst:321 ../../c-api/buffer.rst:340 -#: ../../c-api/buffer.rst:342 ../../c-api/buffer.rst:344 -#: ../../c-api/buffer.rst:346 ../../c-api/buffer.rst:348 -#: ../../c-api/buffer.rst:350 ../../c-api/buffer.rst:352 -#: ../../c-api/buffer.rst:354 -msgid "yes" -msgstr "ya" - -#: ../../c-api/buffer.rst:291 ../../c-api/buffer.rst:340 -#: ../../c-api/buffer.rst:342 -msgid "if needed" -msgstr "jika dibutuhkan" - -#: ../../c-api/buffer.rst:293 ../../c-api/buffer.rst:295 -#: ../../c-api/buffer.rst:297 ../../c-api/buffer.rst:315 -#: ../../c-api/buffer.rst:317 ../../c-api/buffer.rst:319 -#: ../../c-api/buffer.rst:321 ../../c-api/buffer.rst:344 -#: ../../c-api/buffer.rst:346 ../../c-api/buffer.rst:348 -#: ../../c-api/buffer.rst:350 ../../c-api/buffer.rst:352 -#: ../../c-api/buffer.rst:354 -msgid "NULL" -msgstr "NULL" - -#: ../../c-api/buffer.rst:304 -msgid "contiguity requests" -msgstr "" - -#: ../../c-api/buffer.rst:306 -msgid "" -"C or Fortran :term:`contiguity ` can be explicitly requested, " -"with and without stride information. Without stride information, the buffer " -"must be C-contiguous." -msgstr "" - -#: ../../c-api/buffer.rst:313 ../../c-api/buffer.rst:338 -msgid "contig" -msgstr "konfigurasi" - -#: ../../c-api/buffer.rst:315 ../../c-api/buffer.rst:321 -#: ../../c-api/buffer.rst:352 ../../c-api/buffer.rst:354 -msgid "C" -msgstr "C" - -#: ../../c-api/buffer.rst:317 -msgid "F" -msgstr "F" - -#: ../../c-api/buffer.rst:319 -msgid "C or F" -msgstr "C or F" - -#: ../../c-api/buffer.rst:321 -msgid ":c:macro:`PyBUF_ND`" -msgstr "" - -#: ../../c-api/buffer.rst:326 -msgid "compound requests" -msgstr "" - -#: ../../c-api/buffer.rst:328 -msgid "" -"All possible requests are fully defined by some combination of the flags in " -"the previous section. For convenience, the buffer protocol provides " -"frequently used combinations as single flags." -msgstr "" - -#: ../../c-api/buffer.rst:332 -msgid "" -"In the following table *U* stands for undefined contiguity. The consumer " -"would have to call :c:func:`PyBuffer_IsContiguous` to determine contiguity." -msgstr "" - -#: ../../c-api/buffer.rst:338 -msgid "readonly" -msgstr "baca saja" - -#: ../../c-api/buffer.rst:338 -msgid "format" -msgstr "format" - -#: ../../c-api/buffer.rst:340 ../../c-api/buffer.rst:342 -#: ../../c-api/buffer.rst:344 ../../c-api/buffer.rst:346 -#: ../../c-api/buffer.rst:348 ../../c-api/buffer.rst:350 -msgid "U" -msgstr "U" - -#: ../../c-api/buffer.rst:340 ../../c-api/buffer.rst:344 -#: ../../c-api/buffer.rst:348 ../../c-api/buffer.rst:352 -msgid "0" -msgstr "0" - -#: ../../c-api/buffer.rst:342 ../../c-api/buffer.rst:346 -#: ../../c-api/buffer.rst:350 ../../c-api/buffer.rst:354 -msgid "1 or 0" -msgstr "1 atau 0" - -#: ../../c-api/buffer.rst:359 -msgid "Complex arrays" -msgstr "" - -#: ../../c-api/buffer.rst:362 -msgid "NumPy-style: shape and strides" -msgstr "" - -#: ../../c-api/buffer.rst:364 -msgid "" -"The logical structure of NumPy-style arrays is defined by " -":c:member:`~Py_buffer.itemsize`, :c:member:`~Py_buffer.ndim`, " -":c:member:`~Py_buffer.shape` and :c:member:`~Py_buffer.strides`." -msgstr "" - -#: ../../c-api/buffer.rst:367 -msgid "" -"If ``ndim == 0``, the memory location pointed to by " -":c:member:`~Py_buffer.buf` is interpreted as a scalar of size " -":c:member:`~Py_buffer.itemsize`. In that case, both " -":c:member:`~Py_buffer.shape` and :c:member:`~Py_buffer.strides` are " -"``NULL``." -msgstr "" - -#: ../../c-api/buffer.rst:371 -msgid "" -"If :c:member:`~Py_buffer.strides` is ``NULL``, the array is interpreted as a" -" standard n-dimensional C-array. Otherwise, the consumer must access an " -"n-dimensional array as follows:" -msgstr "" - -#: ../../c-api/buffer.rst:375 -msgid "" -"ptr = (char *)buf + indices[0] * strides[0] + ... + indices[n-1] * strides[n-1];\n" -"item = *((typeof(item) *)ptr);" -msgstr "" - -#: ../../c-api/buffer.rst:381 -msgid "" -"As noted above, :c:member:`~Py_buffer.buf` can point to any location within " -"the actual memory block. An exporter can check the validity of a buffer with" -" this function:" -msgstr "" - -#: ../../c-api/buffer.rst:385 -msgid "" -"def verify_structure(memlen, itemsize, ndim, shape, strides, offset):\n" -" \"\"\"Verify that the parameters represent a valid array within\n" -" the bounds of the allocated memory:\n" -" char *mem: start of the physical memory block\n" -" memlen: length of the physical memory block\n" -" offset: (char *)buf - mem\n" -" \"\"\"\n" -" if offset % itemsize:\n" -" return False\n" -" if offset < 0 or offset+itemsize > memlen:\n" -" return False\n" -" if any(v % itemsize for v in strides):\n" -" return False\n" -"\n" -" if ndim <= 0:\n" -" return ndim == 0 and not shape and not strides\n" -" if 0 in shape:\n" -" return True\n" -"\n" -" imin = sum(strides[j]*(shape[j]-1) for j in range(ndim)\n" -" if strides[j] <= 0)\n" -" imax = sum(strides[j]*(shape[j]-1) for j in range(ndim)\n" -" if strides[j] > 0)\n" -"\n" -" return 0 <= offset+imin and offset+imax+itemsize <= memlen" -msgstr "" - -#: ../../c-api/buffer.rst:415 -msgid "PIL-style: shape, strides and suboffsets" -msgstr "" - -#: ../../c-api/buffer.rst:417 -msgid "" -"In addition to the regular items, PIL-style arrays can contain pointers that" -" must be followed in order to get to the next element in a dimension. For " -"example, the regular three-dimensional C-array ``char v[2][2][3]`` can also " -"be viewed as an array of 2 pointers to 2 two-dimensional arrays: ``char " -"(*v[2])[2][3]``. In suboffsets representation, those two pointers can be " -"embedded at the start of :c:member:`~Py_buffer.buf`, pointing to two ``char " -"x[2][3]`` arrays that can be located anywhere in memory." -msgstr "" - -#: ../../c-api/buffer.rst:426 -msgid "" -"Here is a function that returns a pointer to the element in an N-D array " -"pointed to by an N-dimensional index when there are both non-``NULL`` " -"strides and suboffsets::" -msgstr "" - -#: ../../c-api/buffer.rst:430 -msgid "" -"void *get_item_pointer(int ndim, void *buf, Py_ssize_t *strides,\n" -" Py_ssize_t *suboffsets, Py_ssize_t *indices) {\n" -" char *pointer = (char*)buf;\n" -" int i;\n" -" for (i = 0; i < ndim; i++) {\n" -" pointer += strides[i] * indices[i];\n" -" if (suboffsets[i] >=0 ) {\n" -" pointer = *((char**)pointer) + suboffsets[i];\n" -" }\n" -" }\n" -" return (void*)pointer;\n" -"}" -msgstr "" - -#: ../../c-api/buffer.rst:445 -msgid "Buffer-related functions" -msgstr "Fungsi terkait penampung" - -#: ../../c-api/buffer.rst:449 -msgid "" -"Return ``1`` if *obj* supports the buffer interface otherwise ``0``. When " -"``1`` is returned, it doesn't guarantee that :c:func:`PyObject_GetBuffer` " -"will succeed. This function always succeeds." -msgstr "" - -#: ../../c-api/buffer.rst:456 -msgid "" -"Send a request to *exporter* to fill in *view* as specified by *flags*. If " -"the exporter cannot provide a buffer of the exact type, it MUST raise " -":exc:`BufferError`, set ``view->obj`` to ``NULL`` and return ``-1``." -msgstr "" - -#: ../../c-api/buffer.rst:461 -msgid "" -"On success, fill in *view*, set ``view->obj`` to a new reference to " -"*exporter* and return 0. In the case of chained buffer providers that " -"redirect requests to a single object, ``view->obj`` MAY refer to this object" -" instead of *exporter* (See :ref:`Buffer Object Structures `)." -msgstr "" - -#: ../../c-api/buffer.rst:466 -msgid "" -"Successful calls to :c:func:`PyObject_GetBuffer` must be paired with calls " -"to :c:func:`PyBuffer_Release`, similar to :c:func:`malloc` and " -":c:func:`free`. Thus, after the consumer is done with the buffer, " -":c:func:`PyBuffer_Release` must be called exactly once." -msgstr "" - -#: ../../c-api/buffer.rst:474 -msgid "" -"Release the buffer *view* and release the :term:`strong reference` (i.e. " -"decrement the reference count) to the view's supporting object, " -"``view->obj``. This function MUST be called when the buffer is no longer " -"being used, otherwise reference leaks may occur." -msgstr "" - -#: ../../c-api/buffer.rst:479 -msgid "" -"It is an error to call this function on a buffer that was not obtained via " -":c:func:`PyObject_GetBuffer`." -msgstr "" - -#: ../../c-api/buffer.rst:485 -msgid "" -"Return the implied :c:member:`~Py_buffer.itemsize` from " -":c:member:`~Py_buffer.format`. On error, raise an exception and return -1." -msgstr "" - -#: ../../c-api/buffer.rst:493 -msgid "" -"Return ``1`` if the memory defined by the *view* is C-style (*order* is " -"``'C'``) or Fortran-style (*order* is ``'F'``) :term:`contiguous` or either " -"one (*order* is ``'A'``). Return ``0`` otherwise. This function always " -"succeeds." -msgstr "" - -#: ../../c-api/buffer.rst:500 -msgid "" -"Get the memory area pointed to by the *indices* inside the given *view*. " -"*indices* must point to an array of ``view->ndim`` indices." -msgstr "" - -#: ../../c-api/buffer.rst:506 -msgid "" -"Copy contiguous *len* bytes from *buf* to *view*. *fort* can be ``'C'`` or " -"``'F'`` (for C-style or Fortran-style ordering). ``0`` is returned on " -"success, ``-1`` on error." -msgstr "" - -#: ../../c-api/buffer.rst:513 -msgid "" -"Copy *len* bytes from *src* to its contiguous representation in *buf*. " -"*order* can be ``'C'`` or ``'F'`` or ``'A'`` (for C-style or Fortran-style " -"ordering or either one). ``0`` is returned on success, ``-1`` on error." -msgstr "" - -#: ../../c-api/buffer.rst:517 -msgid "This function fails if *len* != *src->len*." -msgstr "Fungsi ini gagal jika *len* != *src->len*." - -#: ../../c-api/buffer.rst:522 -msgid "" -"Copy data from *src* to *dest* buffer. Can convert between C-style and or " -"Fortran-style buffers." -msgstr "" - -#: ../../c-api/buffer.rst:525 -msgid "``0`` is returned on success, ``-1`` on error." -msgstr "" - -#: ../../c-api/buffer.rst:529 -msgid "" -"Fill the *strides* array with byte-strides of a :term:`contiguous` (C-style " -"if *order* is ``'C'`` or Fortran-style if *order* is ``'F'``) array of the " -"given shape with the given number of bytes per element." -msgstr "" - -#: ../../c-api/buffer.rst:536 -msgid "" -"Handle buffer requests for an exporter that wants to expose *buf* of size " -"*len* with writability set according to *readonly*. *buf* is interpreted as " -"a sequence of unsigned bytes." -msgstr "" - -#: ../../c-api/buffer.rst:540 -msgid "" -"The *flags* argument indicates the request type. This function always fills " -"in *view* as specified by flags, unless *buf* has been designated as read-" -"only and :c:macro:`PyBUF_WRITABLE` is set in *flags*." -msgstr "" - -#: ../../c-api/buffer.rst:544 -msgid "" -"On success, set ``view->obj`` to a new reference to *exporter* and return 0." -" Otherwise, raise :exc:`BufferError`, set ``view->obj`` to ``NULL`` and " -"return ``-1``;" -msgstr "" - -#: ../../c-api/buffer.rst:548 -msgid "" -"If this function is used as part of a :ref:`getbufferproc `," -" *exporter* MUST be set to the exporting object and *flags* must be passed " -"unmodified. Otherwise, *exporter* MUST be ``NULL``." -msgstr "" - -#: ../../c-api/buffer.rst:3 -msgid "buffer protocol" -msgstr "" - -#: ../../c-api/buffer.rst:3 -msgid "buffer interface" -msgstr "" - -#: ../../c-api/buffer.rst:3 -msgid "(see buffer protocol)" -msgstr "" - -#: ../../c-api/buffer.rst:3 -msgid "buffer object" -msgstr "" - -#: ../../c-api/buffer.rst:32 -msgid "PyBufferProcs (C type)" -msgstr "" - -#: ../../c-api/buffer.rst:301 -msgid "contiguous" -msgstr "" - -#: ../../c-api/buffer.rst:301 -msgid "C-contiguous" -msgstr "" - -#: ../../c-api/buffer.rst:301 -msgid "Fortran contiguous" -msgstr "" diff --git a/python-newest.c-api--bytearray/id.po b/python-newest.c-api--bytearray/id.po deleted file mode 100644 index 2216c33..0000000 --- a/python-newest.c-api--bytearray/id.po +++ /dev/null @@ -1,138 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/bytearray.rst:6 -msgid "Byte Array Objects" -msgstr "Objek Byte Array" - -#: ../../c-api/bytearray.rst:13 -msgid "" -"This subtype of :c:type:`PyObject` represents a Python bytearray object." -msgstr "Subtipe dari :c:type:`PyObject` ini mewakili objek bytearray Python." - -#: ../../c-api/bytearray.rst:18 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python bytearray " -"type; it is the same object as :class:`bytearray` in the Python layer." -msgstr "" -"Instance dari :c:type:`PyTypeObject` mewakili tipe bytearray Python; itu " -"adalah objek yang sama dengan :class:`bytearray` di lapisan Python." - -#: ../../c-api/bytearray.rst:23 -msgid "Type check macros" -msgstr "Makro cek tipe" - -#: ../../c-api/bytearray.rst:27 -msgid "" -"Return true if the object *o* is a bytearray object or an instance of a " -"subtype of the bytearray type. This function always succeeds." -msgstr "" -"Mengembalikan nilai true jika objek *o* adalah objek bytearray atau turunan " -"dari subtipe tipe bytearray. Fungsi ini selalu berhasil." - -#: ../../c-api/bytearray.rst:33 -msgid "" -"Return true if the object *o* is a bytearray object, but not an instance of " -"a subtype of the bytearray type. This function always succeeds." -msgstr "" -"Mengembalikan nilai true jika objek *o* adalah objek bytearray, tetapi bukan" -" turunan dari subtipe tipe bytearray. Fungsi ini selalu berhasil." - -#: ../../c-api/bytearray.rst:38 -msgid "Direct API functions" -msgstr "Fungsi API langsung" - -#: ../../c-api/bytearray.rst:42 -msgid "" -"Return a new bytearray object from any object, *o*, that implements the " -":ref:`buffer protocol `." -msgstr "" -"Mengembalikan objek bytearray baru dari objek apa pun, *o*, yang " -"mengimplementasikan :ref:`buffer protocol `." - -#: ../../c-api/bytearray.rst:45 ../../c-api/bytearray.rst:52 -#: ../../c-api/bytearray.rst:59 -msgid "On failure, return ``NULL`` with an exception set." -msgstr "" - -#: ../../c-api/bytearray.rst:50 -msgid "Create a new bytearray object from *string* and its length, *len*." -msgstr "" - -#: ../../c-api/bytearray.rst:57 -msgid "" -"Concat bytearrays *a* and *b* and return a new bytearray with the result." -msgstr "" -"Menyatukan bytearrays *a* dan *b* dan mengembalikan bytearray baru dengan " -"hasilnya." - -#: ../../c-api/bytearray.rst:64 -msgid "Return the size of *bytearray* after checking for a ``NULL`` pointer." -msgstr "Mengembalikan ukuran *bytearray* setelah memeriksa pointer ``NULL``." - -#: ../../c-api/bytearray.rst:69 -msgid "" -"Return the contents of *bytearray* as a char array after checking for a " -"``NULL`` pointer. The returned array always has an extra null byte " -"appended." -msgstr "" -"Mengembalikan konten *bytearray* sebagai array karakter setelah memeriksa " -"pointer ``NULL``. Array yang dikembalikan selalu memiliki byte null ekstra " -"yang ditambahkan." - -#: ../../c-api/bytearray.rst:76 -msgid "" -"Resize the internal buffer of *bytearray* to *len*. Failure is a ``-1`` " -"return with an exception set." -msgstr "" - -#: ../../c-api/bytearray.rst:79 -msgid "" -"A negative *len* will now result in an exception being set and -1 returned." -msgstr "" - -#: ../../c-api/bytearray.rst:84 -msgid "Macros" -msgstr "Makro" - -#: ../../c-api/bytearray.rst:86 -msgid "These macros trade safety for speed and they don't check pointers." -msgstr "" -"Makro ini menukar keamanan dengan kecepatan dan tidak memeriksa pointer." - -#: ../../c-api/bytearray.rst:90 -msgid "Similar to :c:func:`PyByteArray_AsString`, but without error checking." -msgstr "" - -#: ../../c-api/bytearray.rst:95 -msgid "Similar to :c:func:`PyByteArray_Size`, but without error checking." -msgstr "" - -#: ../../c-api/bytearray.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/bytearray.rst:8 -msgid "bytearray" -msgstr "" diff --git a/python-newest.c-api--bytes/id.po b/python-newest.c-api--bytes/id.po deleted file mode 100644 index e12da4c..0000000 --- a/python-newest.c-api--bytes/id.po +++ /dev/null @@ -1,362 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/bytes.rst:6 -msgid "Bytes Objects" -msgstr "" - -#: ../../c-api/bytes.rst:8 -msgid "" -"These functions raise :exc:`TypeError` when expecting a bytes parameter and " -"called with a non-bytes parameter." -msgstr "" - -#: ../../c-api/bytes.rst:16 -msgid "This subtype of :c:type:`PyObject` represents a Python bytes object." -msgstr "" - -#: ../../c-api/bytes.rst:21 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python bytes type; it" -" is the same object as :class:`bytes` in the Python layer." -msgstr "" - -#: ../../c-api/bytes.rst:27 -msgid "" -"Return true if the object *o* is a bytes object or an instance of a subtype " -"of the bytes type. This function always succeeds." -msgstr "" - -#: ../../c-api/bytes.rst:33 -msgid "" -"Return true if the object *o* is a bytes object, but not an instance of a " -"subtype of the bytes type. This function always succeeds." -msgstr "" - -#: ../../c-api/bytes.rst:39 -msgid "" -"Return a new bytes object with a copy of the string *v* as value on success," -" and ``NULL`` on failure. The parameter *v* must not be ``NULL``; it will " -"not be checked." -msgstr "" - -#: ../../c-api/bytes.rst:46 -msgid "" -"Return a new bytes object with a copy of the string *v* as value and length " -"*len* on success, and ``NULL`` on failure. If *v* is ``NULL``, the contents" -" of the bytes object are uninitialized." -msgstr "" - -#: ../../c-api/bytes.rst:53 -msgid "" -"Take a C :c:func:`printf`\\ -style *format* string and a variable number of " -"arguments, calculate the size of the resulting Python bytes object and " -"return a bytes object with the values formatted into it. The variable " -"arguments must be C types and must correspond exactly to the format " -"characters in the *format* string. The following format characters are " -"allowed:" -msgstr "" - -#: ../../c-api/bytes.rst:65 -msgid "Format Characters" -msgstr "" - -#: ../../c-api/bytes.rst:65 -msgid "Type" -msgstr "" - -#: ../../c-api/bytes.rst:65 -msgid "Comment" -msgstr "" - -#: ../../c-api/bytes.rst:67 -msgid "``%%``" -msgstr "``%%``" - -#: ../../c-api/bytes.rst:67 -msgid "*n/a*" -msgstr "*t/a*" - -#: ../../c-api/bytes.rst:67 -msgid "The literal % character." -msgstr "" - -#: ../../c-api/bytes.rst:69 -msgid "``%c``" -msgstr "``%c``" - -#: ../../c-api/bytes.rst:69 ../../c-api/bytes.rst:72 ../../c-api/bytes.rst:90 -#: ../../c-api/bytes.rst:93 -msgid "int" -msgstr "int" - -#: ../../c-api/bytes.rst:69 -msgid "A single byte, represented as a C int." -msgstr "" - -#: ../../c-api/bytes.rst:72 -msgid "``%d``" -msgstr "``%d``" - -#: ../../c-api/bytes.rst:72 -msgid "Equivalent to ``printf(\"%d\")``. [1]_" -msgstr "" - -#: ../../c-api/bytes.rst:75 -msgid "``%u``" -msgstr "``%u``" - -#: ../../c-api/bytes.rst:75 -msgid "unsigned int" -msgstr "unsigned int" - -#: ../../c-api/bytes.rst:75 -msgid "Equivalent to ``printf(\"%u\")``. [1]_" -msgstr "" - -#: ../../c-api/bytes.rst:78 -msgid "``%ld``" -msgstr "" - -#: ../../c-api/bytes.rst:78 -msgid "long" -msgstr "long" - -#: ../../c-api/bytes.rst:78 -msgid "Equivalent to ``printf(\"%ld\")``. [1]_" -msgstr "" - -#: ../../c-api/bytes.rst:81 -msgid "``%lu``" -msgstr "" - -#: ../../c-api/bytes.rst:81 -msgid "unsigned long" -msgstr "unsigned long" - -#: ../../c-api/bytes.rst:81 -msgid "Equivalent to ``printf(\"%lu\")``. [1]_" -msgstr "" - -#: ../../c-api/bytes.rst:84 -msgid "``%zd``" -msgstr "" - -#: ../../c-api/bytes.rst:84 -msgid ":c:type:`\\ Py_ssize_t`" -msgstr "" - -#: ../../c-api/bytes.rst:84 -msgid "Equivalent to ``printf(\"%zd\")``. [1]_" -msgstr "" - -#: ../../c-api/bytes.rst:87 -msgid "``%zu``" -msgstr "" - -#: ../../c-api/bytes.rst:87 -msgid "size_t" -msgstr "" - -#: ../../c-api/bytes.rst:87 -msgid "Equivalent to ``printf(\"%zu\")``. [1]_" -msgstr "" - -#: ../../c-api/bytes.rst:90 -msgid "``%i``" -msgstr "``%i``" - -#: ../../c-api/bytes.rst:90 -msgid "Equivalent to ``printf(\"%i\")``. [1]_" -msgstr "" - -#: ../../c-api/bytes.rst:93 -msgid "``%x``" -msgstr "``%x``" - -#: ../../c-api/bytes.rst:93 -msgid "Equivalent to ``printf(\"%x\")``. [1]_" -msgstr "" - -#: ../../c-api/bytes.rst:96 -msgid "``%s``" -msgstr "``%s``" - -#: ../../c-api/bytes.rst:96 -msgid "const char\\*" -msgstr "" - -#: ../../c-api/bytes.rst:96 -msgid "A null-terminated C character array." -msgstr "" - -#: ../../c-api/bytes.rst:99 -msgid "``%p``" -msgstr "``%p``" - -#: ../../c-api/bytes.rst:99 -msgid "const void\\*" -msgstr "" - -#: ../../c-api/bytes.rst:99 -msgid "" -"The hex representation of a C pointer. Mostly equivalent to " -"``printf(\"%p\")`` except that it is guaranteed to start with the literal " -"``0x`` regardless of what the platform's ``printf`` yields." -msgstr "" - -#: ../../c-api/bytes.rst:108 -msgid "" -"An unrecognized format character causes all the rest of the format string to" -" be copied as-is to the result object, and any extra arguments discarded." -msgstr "" - -#: ../../c-api/bytes.rst:111 -msgid "" -"For integer specifiers (d, u, ld, lu, zd, zu, i, x): the 0-conversion flag " -"has effect even when a precision is given." -msgstr "" - -#: ../../c-api/bytes.rst:117 -msgid "" -"Identical to :c:func:`PyBytes_FromFormat` except that it takes exactly two " -"arguments." -msgstr "" - -#: ../../c-api/bytes.rst:123 -msgid "" -"Return the bytes representation of object *o* that implements the buffer " -"protocol." -msgstr "" - -#: ../../c-api/bytes.rst:129 -msgid "Return the length of the bytes in bytes object *o*." -msgstr "" - -#: ../../c-api/bytes.rst:134 -msgid "Similar to :c:func:`PyBytes_Size`, but without error checking." -msgstr "" - -#: ../../c-api/bytes.rst:139 -msgid "" -"Return a pointer to the contents of *o*. The pointer refers to the internal" -" buffer of *o*, which consists of ``len(o) + 1`` bytes. The last byte in " -"the buffer is always null, regardless of whether there are any other null " -"bytes. The data must not be modified in any way, unless the object was just" -" created using ``PyBytes_FromStringAndSize(NULL, size)``. It must not be " -"deallocated. If *o* is not a bytes object at all, " -":c:func:`PyBytes_AsString` returns ``NULL`` and raises :exc:`TypeError`." -msgstr "" - -#: ../../c-api/bytes.rst:151 -msgid "Similar to :c:func:`PyBytes_AsString`, but without error checking." -msgstr "" - -#: ../../c-api/bytes.rst:156 -msgid "" -"Return the null-terminated contents of the object *obj* through the output " -"variables *buffer* and *length*. Returns ``0`` on success." -msgstr "" - -#: ../../c-api/bytes.rst:160 -msgid "" -"If *length* is ``NULL``, the bytes object may not contain embedded null " -"bytes; if it does, the function returns ``-1`` and a :exc:`ValueError` is " -"raised." -msgstr "" - -#: ../../c-api/bytes.rst:164 -msgid "" -"The buffer refers to an internal buffer of *obj*, which includes an " -"additional null byte at the end (not counted in *length*). The data must " -"not be modified in any way, unless the object was just created using " -"``PyBytes_FromStringAndSize(NULL, size)``. It must not be deallocated. If " -"*obj* is not a bytes object at all, :c:func:`PyBytes_AsStringAndSize` " -"returns ``-1`` and raises :exc:`TypeError`." -msgstr "" - -#: ../../c-api/bytes.rst:171 -msgid "" -"Previously, :exc:`TypeError` was raised when embedded null bytes were " -"encountered in the bytes object." -msgstr "" - -#: ../../c-api/bytes.rst:178 -msgid "" -"Create a new bytes object in *\\*bytes* containing the contents of *newpart*" -" appended to *bytes*; the caller will own the new reference. The reference " -"to the old value of *bytes* will be stolen. If the new object cannot be " -"created, the old reference to *bytes* will still be discarded and the value " -"of *\\*bytes* will be set to ``NULL``; the appropriate exception will be " -"set." -msgstr "" - -#: ../../c-api/bytes.rst:187 -msgid "" -"Create a new bytes object in *\\*bytes* containing the contents of *newpart*" -" appended to *bytes*. This version releases the :term:`strong reference` to" -" *newpart* (i.e. decrements its reference count)." -msgstr "" - -#: ../../c-api/bytes.rst:194 -msgid "Similar to ``sep.join(iterable)`` in Python." -msgstr "" - -#: ../../c-api/bytes.rst:196 -msgid "" -"*sep* must be Python :class:`bytes` object. (Note that " -":c:func:`PyUnicode_Join` accepts ``NULL`` separator and treats it as a " -"space, whereas :c:func:`PyBytes_Join` doesn't accept ``NULL`` separator.)" -msgstr "" - -#: ../../c-api/bytes.rst:201 -msgid "" -"*iterable* must be an iterable object yielding objects that implement the " -":ref:`buffer protocol `." -msgstr "" - -#: ../../c-api/bytes.rst:204 -msgid "" -"On success, return a new :class:`bytes` object. On error, set an exception " -"and return ``NULL``." -msgstr "" - -#: ../../c-api/bytes.rst:212 -msgid "" -"Resize a bytes object. *newsize* will be the new length of the bytes object." -" You can think of it as creating a new bytes object and destroying the old " -"one, only more efficiently. Pass the address of an existing bytes object as " -"an lvalue (it may be written into), and the new size desired. On success, " -"*\\*bytes* holds the resized bytes object and ``0`` is returned; the address" -" in *\\*bytes* may differ from its input value. If the reallocation fails, " -"the original bytes object at *\\*bytes* is deallocated, *\\*bytes* is set to" -" ``NULL``, :exc:`MemoryError` is set, and ``-1`` is returned." -msgstr "" - -#: ../../c-api/bytes.rst:11 -msgid "object" -msgstr "objek" - -#: ../../c-api/bytes.rst:11 -msgid "bytes" -msgstr "" diff --git a/python-newest.c-api--call/id.po b/python-newest.c-api--call/id.po deleted file mode 100644 index 1f009e3..0000000 --- a/python-newest.c-api--call/id.po +++ /dev/null @@ -1,570 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/call.rst:6 -msgid "Call Protocol" -msgstr "" - -#: ../../c-api/call.rst:8 -msgid "" -"CPython supports two different calling protocols: *tp_call* and vectorcall." -msgstr "" - -#: ../../c-api/call.rst:12 -msgid "The *tp_call* Protocol" -msgstr "" - -#: ../../c-api/call.rst:14 -msgid "" -"Instances of classes that set :c:member:`~PyTypeObject.tp_call` are " -"callable. The signature of the slot is::" -msgstr "" - -#: ../../c-api/call.rst:17 -msgid "" -"PyObject *tp_call(PyObject *callable, PyObject *args, PyObject *kwargs);" -msgstr "" - -#: ../../c-api/call.rst:19 -msgid "" -"A call is made using a tuple for the positional arguments and a dict for the" -" keyword arguments, similarly to ``callable(*args, **kwargs)`` in Python " -"code. *args* must be non-NULL (use an empty tuple if there are no arguments)" -" but *kwargs* may be *NULL* if there are no keyword arguments." -msgstr "" - -#: ../../c-api/call.rst:25 -msgid "" -"This convention is not only used by *tp_call*: " -":c:member:`~PyTypeObject.tp_new` and :c:member:`~PyTypeObject.tp_init` also " -"pass arguments this way." -msgstr "" - -#: ../../c-api/call.rst:29 -msgid "" -"To call an object, use :c:func:`PyObject_Call` or another :ref:`call API " -"`." -msgstr "" - -#: ../../c-api/call.rst:36 -msgid "The Vectorcall Protocol" -msgstr "" - -#: ../../c-api/call.rst:40 -msgid "" -"The vectorcall protocol was introduced in :pep:`590` as an additional " -"protocol for making calls more efficient." -msgstr "" - -#: ../../c-api/call.rst:43 -msgid "" -"As rule of thumb, CPython will prefer the vectorcall for internal calls if " -"the callable supports it. However, this is not a hard rule. Additionally, " -"some third-party extensions use *tp_call* directly (rather than using " -":c:func:`PyObject_Call`). Therefore, a class supporting vectorcall must also" -" implement :c:member:`~PyTypeObject.tp_call`. Moreover, the callable must " -"behave the same regardless of which protocol is used. The recommended way to" -" achieve this is by setting :c:member:`~PyTypeObject.tp_call` to " -":c:func:`PyVectorcall_Call`. This bears repeating:" -msgstr "" - -#: ../../c-api/call.rst:57 -msgid "" -"A class supporting vectorcall **must** also implement " -":c:member:`~PyTypeObject.tp_call` with the same semantics." -msgstr "" - -#: ../../c-api/call.rst:62 -msgid "" -"The :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` flag is now removed from a class " -"when the class's :py:meth:`~object.__call__` method is reassigned. (This " -"internally sets :c:member:`~PyTypeObject.tp_call` only, and thus may make it" -" behave differently than the vectorcall function.) In earlier Python " -"versions, vectorcall should only be used with :c:macro:`immutable " -"` or static types." -msgstr "" - -#: ../../c-api/call.rst:69 -msgid "" -"A class should not implement vectorcall if that would be slower than " -"*tp_call*. For example, if the callee needs to convert the arguments to an " -"args tuple and kwargs dict anyway, then there is no point in implementing " -"vectorcall." -msgstr "" - -#: ../../c-api/call.rst:74 -msgid "" -"Classes can implement the vectorcall protocol by enabling the " -":c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` flag and setting " -":c:member:`~PyTypeObject.tp_vectorcall_offset` to the offset inside the " -"object structure where a *vectorcallfunc* appears. This is a pointer to a " -"function with the following signature:" -msgstr "" - -#: ../../c-api/call.rst:82 -msgid "*callable* is the object being called." -msgstr "" - -#: ../../c-api/call.rst:83 -msgid "" -"*args* is a C array consisting of the positional arguments followed by the" -msgstr "" - -#: ../../c-api/call.rst:84 -msgid "" -"values of the keyword arguments. This can be *NULL* if there are no " -"arguments." -msgstr "" - -#: ../../c-api/call.rst:86 -msgid "*nargsf* is the number of positional arguments plus possibly the" -msgstr "" - -#: ../../c-api/call.rst:87 -msgid "" -":c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET` flag. To get the actual number of " -"positional arguments from *nargsf*, use :c:func:`PyVectorcall_NARGS`." -msgstr "" - -#: ../../c-api/call.rst:90 -msgid "*kwnames* is a tuple containing the names of the keyword arguments;" -msgstr "" - -#: ../../c-api/call.rst:91 -msgid "" -"in other words, the keys of the kwargs dict. These names must be strings " -"(instances of ``str`` or a subclass) and they must be unique. If there are " -"no keyword arguments, then *kwnames* can instead be *NULL*." -msgstr "" - -#: ../../c-api/call.rst:98 -msgid "" -"If this flag is set in a vectorcall *nargsf* argument, the callee is allowed" -" to temporarily change ``args[-1]``. In other words, *args* points to " -"argument 1 (not 0) in the allocated vector. The callee must restore the " -"value of ``args[-1]`` before returning." -msgstr "" - -#: ../../c-api/call.rst:103 -msgid "" -"For :c:func:`PyObject_VectorcallMethod`, this flag means instead that " -"``args[0]`` may be changed." -msgstr "" - -#: ../../c-api/call.rst:106 -msgid "" -"Whenever they can do so cheaply (without additional allocation), callers are" -" encouraged to use :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Doing so will " -"allow callables such as bound methods to make their onward calls (which " -"include a prepended *self* argument) very efficiently." -msgstr "" - -#: ../../c-api/call.rst:113 -msgid "" -"To call an object that implements vectorcall, use a :ref:`call API ` function as with any other callable. :c:func:`PyObject_Vectorcall` " -"will usually be most efficient." -msgstr "" - -#: ../../c-api/call.rst:119 -msgid "Recursion Control" -msgstr "Kontrol Rekursi" - -#: ../../c-api/call.rst:121 -msgid "" -"When using *tp_call*, callees do not need to worry about :ref:`recursion " -"`: CPython uses :c:func:`Py_EnterRecursiveCall` and " -":c:func:`Py_LeaveRecursiveCall` for calls made using *tp_call*." -msgstr "" - -#: ../../c-api/call.rst:126 -msgid "" -"For efficiency, this is not the case for calls done using vectorcall: the " -"callee should use *Py_EnterRecursiveCall* and *Py_LeaveRecursiveCall* if " -"needed." -msgstr "" - -#: ../../c-api/call.rst:132 -msgid "Vectorcall Support API" -msgstr "" - -#: ../../c-api/call.rst:136 -msgid "" -"Given a vectorcall *nargsf* argument, return the actual number of arguments." -" Currently equivalent to::" -msgstr "" - -#: ../../c-api/call.rst:140 -msgid "(Py_ssize_t)(nargsf & ~PY_VECTORCALL_ARGUMENTS_OFFSET)" -msgstr "" - -#: ../../c-api/call.rst:142 -msgid "" -"However, the function ``PyVectorcall_NARGS`` should be used to allow for " -"future extensions." -msgstr "" - -#: ../../c-api/call.rst:149 -msgid "" -"If *op* does not support the vectorcall protocol (either because the type " -"does not or because the specific instance does not), return *NULL*. " -"Otherwise, return the vectorcall function pointer stored in *op*. This " -"function never raises an exception." -msgstr "" - -#: ../../c-api/call.rst:154 -msgid "" -"This is mostly useful to check whether or not *op* supports vectorcall, " -"which can be done by checking ``PyVectorcall_Function(op) != NULL``." -msgstr "" - -#: ../../c-api/call.rst:161 -msgid "" -"Call *callable*'s :c:type:`vectorcallfunc` with positional and keyword " -"arguments given in a tuple and dict, respectively." -msgstr "" - -#: ../../c-api/call.rst:164 -msgid "" -"This is a specialized function, intended to be put in the " -":c:member:`~PyTypeObject.tp_call` slot or be used in an implementation of " -"``tp_call``. It does not check the :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` " -"flag and it does not fall back to ``tp_call``." -msgstr "" - -#: ../../c-api/call.rst:175 -msgid "Object Calling API" -msgstr "" - -#: ../../c-api/call.rst:177 -msgid "" -"Various functions are available for calling a Python object. Each converts " -"its arguments to a convention supported by the called object – either " -"*tp_call* or vectorcall. In order to do as little conversion as possible, " -"pick one that best fits the format of data you have available." -msgstr "" - -#: ../../c-api/call.rst:183 -msgid "" -"The following table summarizes the available functions; please see " -"individual documentation for details." -msgstr "" - -#: ../../c-api/call.rst:187 -msgid "Function" -msgstr "Fungsi" - -#: ../../c-api/call.rst:187 -msgid "callable" -msgstr "" - -#: ../../c-api/call.rst:187 -msgid "args" -msgstr "args" - -#: ../../c-api/call.rst:187 -msgid "kwargs" -msgstr "kwargs" - -#: ../../c-api/call.rst:189 -msgid ":c:func:`PyObject_Call`" -msgstr "" - -#: ../../c-api/call.rst:189 ../../c-api/call.rst:191 ../../c-api/call.rst:193 -#: ../../c-api/call.rst:195 ../../c-api/call.rst:197 ../../c-api/call.rst:201 -#: ../../c-api/call.rst:209 ../../c-api/call.rst:211 -msgid "``PyObject *``" -msgstr "" - -#: ../../c-api/call.rst:189 -msgid "tuple" -msgstr "" - -#: ../../c-api/call.rst:189 ../../c-api/call.rst:211 -msgid "dict/``NULL``" -msgstr "" - -#: ../../c-api/call.rst:191 -msgid ":c:func:`PyObject_CallNoArgs`" -msgstr "" - -#: ../../c-api/call.rst:191 ../../c-api/call.rst:193 ../../c-api/call.rst:195 -#: ../../c-api/call.rst:197 ../../c-api/call.rst:199 ../../c-api/call.rst:201 -#: ../../c-api/call.rst:203 ../../c-api/call.rst:205 ../../c-api/call.rst:207 -msgid "---" -msgstr "" - -#: ../../c-api/call.rst:193 -msgid ":c:func:`PyObject_CallOneArg`" -msgstr "" - -#: ../../c-api/call.rst:193 ../../c-api/call.rst:207 -msgid "1 object" -msgstr "" - -#: ../../c-api/call.rst:195 -msgid ":c:func:`PyObject_CallObject`" -msgstr "" - -#: ../../c-api/call.rst:195 -msgid "tuple/``NULL``" -msgstr "" - -#: ../../c-api/call.rst:197 -msgid ":c:func:`PyObject_CallFunction`" -msgstr "" - -#: ../../c-api/call.rst:197 ../../c-api/call.rst:199 -msgid "format" -msgstr "format" - -#: ../../c-api/call.rst:199 -msgid ":c:func:`PyObject_CallMethod`" -msgstr "" - -#: ../../c-api/call.rst:199 -msgid "obj + ``char*``" -msgstr "" - -#: ../../c-api/call.rst:201 -msgid ":c:func:`PyObject_CallFunctionObjArgs`" -msgstr "" - -#: ../../c-api/call.rst:201 ../../c-api/call.rst:203 -msgid "variadic" -msgstr "" - -#: ../../c-api/call.rst:203 -msgid ":c:func:`PyObject_CallMethodObjArgs`" -msgstr "" - -#: ../../c-api/call.rst:203 ../../c-api/call.rst:205 ../../c-api/call.rst:207 -msgid "obj + name" -msgstr "" - -#: ../../c-api/call.rst:205 -msgid ":c:func:`PyObject_CallMethodNoArgs`" -msgstr "" - -#: ../../c-api/call.rst:207 -msgid ":c:func:`PyObject_CallMethodOneArg`" -msgstr "" - -#: ../../c-api/call.rst:209 -msgid ":c:func:`PyObject_Vectorcall`" -msgstr "" - -#: ../../c-api/call.rst:209 ../../c-api/call.rst:211 ../../c-api/call.rst:213 -msgid "vectorcall" -msgstr "" - -#: ../../c-api/call.rst:211 -msgid ":c:func:`PyObject_VectorcallDict`" -msgstr "" - -#: ../../c-api/call.rst:213 -msgid ":c:func:`PyObject_VectorcallMethod`" -msgstr "" - -#: ../../c-api/call.rst:213 -msgid "arg + name" -msgstr "" - -#: ../../c-api/call.rst:219 -msgid "" -"Call a callable Python object *callable*, with arguments given by the tuple " -"*args*, and named arguments given by the dictionary *kwargs*." -msgstr "" - -#: ../../c-api/call.rst:222 -msgid "" -"*args* must not be *NULL*; use an empty tuple if no arguments are needed. If" -" no named arguments are needed, *kwargs* can be *NULL*." -msgstr "" - -#: ../../c-api/call.rst:225 ../../c-api/call.rst:237 ../../c-api/call.rst:248 -#: ../../c-api/call.rst:259 ../../c-api/call.rst:271 ../../c-api/call.rst:291 -#: ../../c-api/call.rst:310 ../../c-api/call.rst:324 ../../c-api/call.rst:333 -#: ../../c-api/call.rst:345 ../../c-api/call.rst:358 ../../c-api/call.rst:392 -msgid "" -"Return the result of the call on success, or raise an exception and return " -"*NULL* on failure." -msgstr "" - -#: ../../c-api/call.rst:228 -msgid "" -"This is the equivalent of the Python expression: ``callable(*args, " -"**kwargs)``." -msgstr "" - -#: ../../c-api/call.rst:234 -msgid "" -"Call a callable Python object *callable* without any arguments. It is the " -"most efficient way to call a callable Python object without any argument." -msgstr "" - -#: ../../c-api/call.rst:245 -msgid "" -"Call a callable Python object *callable* with exactly 1 positional argument " -"*arg* and no keyword arguments." -msgstr "" - -#: ../../c-api/call.rst:256 -msgid "" -"Call a callable Python object *callable*, with arguments given by the tuple " -"*args*. If no arguments are needed, then *args* can be *NULL*." -msgstr "" - -#: ../../c-api/call.rst:262 ../../c-api/call.rst:274 -msgid "This is the equivalent of the Python expression: ``callable(*args)``." -msgstr "" - -#: ../../c-api/call.rst:267 -msgid "" -"Call a callable Python object *callable*, with a variable number of C " -"arguments. The C arguments are described using a :c:func:`Py_BuildValue` " -"style format string. The format can be *NULL*, indicating that no arguments" -" are provided." -msgstr "" - -#: ../../c-api/call.rst:276 -msgid "" -"Note that if you only pass :c:expr:`PyObject *` args, " -":c:func:`PyObject_CallFunctionObjArgs` is a faster alternative." -msgstr "" - -#: ../../c-api/call.rst:279 -msgid "The type of *format* was changed from ``char *``." -msgstr "" - -#: ../../c-api/call.rst:285 -msgid "" -"Call the method named *name* of object *obj* with a variable number of C " -"arguments. The C arguments are described by a :c:func:`Py_BuildValue` " -"format string that should produce a tuple." -msgstr "" - -#: ../../c-api/call.rst:289 -msgid "The format can be *NULL*, indicating that no arguments are provided." -msgstr "" - -#: ../../c-api/call.rst:294 -msgid "" -"This is the equivalent of the Python expression: ``obj.name(arg1, arg2, " -"...)``." -msgstr "" - -#: ../../c-api/call.rst:297 -msgid "" -"Note that if you only pass :c:expr:`PyObject *` args, " -":c:func:`PyObject_CallMethodObjArgs` is a faster alternative." -msgstr "" - -#: ../../c-api/call.rst:300 -msgid "The types of *name* and *format* were changed from ``char *``." -msgstr "" - -#: ../../c-api/call.rst:306 -msgid "" -"Call a callable Python object *callable*, with a variable number of " -":c:expr:`PyObject *` arguments. The arguments are provided as a variable " -"number of parameters followed by *NULL*." -msgstr "" - -#: ../../c-api/call.rst:313 -msgid "" -"This is the equivalent of the Python expression: ``callable(arg1, arg2, " -"...)``." -msgstr "" - -#: ../../c-api/call.rst:319 -msgid "" -"Call a method of the Python object *obj*, where the name of the method is " -"given as a Python string object in *name*. It is called with a variable " -"number of :c:expr:`PyObject *` arguments. The arguments are provided as a " -"variable number of parameters followed by *NULL*." -msgstr "" - -#: ../../c-api/call.rst:330 -msgid "" -"Call a method of the Python object *obj* without arguments, where the name " -"of the method is given as a Python string object in *name*." -msgstr "" - -#: ../../c-api/call.rst:341 -msgid "" -"Call a method of the Python object *obj* with a single positional argument " -"*arg*, where the name of the method is given as a Python string object in " -"*name*." -msgstr "" - -#: ../../c-api/call.rst:353 -msgid "" -"Call a callable Python object *callable*. The arguments are the same as for " -":c:type:`vectorcallfunc`. If *callable* supports vectorcall_, this directly " -"calls the vectorcall function stored in *callable*." -msgstr "" - -#: ../../c-api/call.rst:365 -msgid "" -"Call *callable* with positional arguments passed exactly as in the " -"vectorcall_ protocol, but with keyword arguments passed as a dictionary " -"*kwdict*. The *args* array contains only the positional arguments." -msgstr "" - -#: ../../c-api/call.rst:369 -msgid "" -"Regardless of which protocol is used internally, a conversion of arguments " -"needs to be done. Therefore, this function should only be used if the caller" -" already has a dictionary ready to use for the keyword arguments, but not a " -"tuple for the positional arguments." -msgstr "" - -#: ../../c-api/call.rst:379 -msgid "" -"Call a method using the vectorcall calling convention. The name of the " -"method is given as a Python string *name*. The object whose method is called" -" is *args[0]*, and the *args* array starting at *args[1]* represents the " -"arguments of the call. There must be at least one positional argument. " -"*nargsf* is the number of positional arguments including *args[0]*, plus " -":c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET` if the value of ``args[0]`` may " -"temporarily be changed. Keyword arguments can be passed just like in " -":c:func:`PyObject_Vectorcall`." -msgstr "" - -#: ../../c-api/call.rst:388 -msgid "" -"If the object has the :c:macro:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature, this " -"will call the unbound method object with the full *args* vector as " -"arguments." -msgstr "" - -#: ../../c-api/call.rst:399 -msgid "Call Support API" -msgstr "" - -#: ../../c-api/call.rst:403 -msgid "" -"Determine if the object *o* is callable. Return ``1`` if the object is " -"callable and ``0`` otherwise. This function always succeeds." -msgstr "" diff --git a/python-newest.c-api--capsule/id.po b/python-newest.c-api--capsule/id.po deleted file mode 100644 index 741b32b..0000000 --- a/python-newest.c-api--capsule/id.po +++ /dev/null @@ -1,219 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/capsule.rst:6 -msgid "Capsules" -msgstr "Kapsul" - -#: ../../c-api/capsule.rst:10 -msgid "" -"Refer to :ref:`using-capsules` for more information on using these objects." -msgstr "" - -#: ../../c-api/capsule.rst:17 -msgid "" -"This subtype of :c:type:`PyObject` represents an opaque value, useful for C " -"extension modules who need to pass an opaque value (as a :c:expr:`void*` " -"pointer) through Python code to other C code. It is often used to make a C " -"function pointer defined in one module available to other modules, so the " -"regular import mechanism can be used to access C APIs defined in dynamically" -" loaded modules." -msgstr "" - -#: ../../c-api/capsule.rst:27 -msgid "The type of a destructor callback for a capsule. Defined as::" -msgstr "" - -#: ../../c-api/capsule.rst:29 -msgid "typedef void (*PyCapsule_Destructor)(PyObject *);" -msgstr "" - -#: ../../c-api/capsule.rst:31 -msgid "" -"See :c:func:`PyCapsule_New` for the semantics of PyCapsule_Destructor " -"callbacks." -msgstr "" - -#: ../../c-api/capsule.rst:37 -msgid "" -"Return true if its argument is a :c:type:`PyCapsule`. This function always " -"succeeds." -msgstr "" - -#: ../../c-api/capsule.rst:43 -msgid "" -"Create a :c:type:`PyCapsule` encapsulating the *pointer*. The *pointer* " -"argument may not be ``NULL``." -msgstr "" - -#: ../../c-api/capsule.rst:46 -msgid "On failure, set an exception and return ``NULL``." -msgstr "" - -#: ../../c-api/capsule.rst:48 -msgid "" -"The *name* string may either be ``NULL`` or a pointer to a valid C string. " -"If non-``NULL``, this string must outlive the capsule. (Though it is " -"permitted to free it inside the *destructor*.)" -msgstr "" - -#: ../../c-api/capsule.rst:52 -msgid "" -"If the *destructor* argument is not ``NULL``, it will be called with the " -"capsule as its argument when it is destroyed." -msgstr "" - -#: ../../c-api/capsule.rst:55 -msgid "" -"If this capsule will be stored as an attribute of a module, the *name* " -"should be specified as ``modulename.attributename``. This will enable other" -" modules to import the capsule using :c:func:`PyCapsule_Import`." -msgstr "" - -#: ../../c-api/capsule.rst:62 -msgid "" -"Retrieve the *pointer* stored in the capsule. On failure, set an exception " -"and return ``NULL``." -msgstr "" - -#: ../../c-api/capsule.rst:65 -msgid "" -"The *name* parameter must compare exactly to the name stored in the capsule." -" If the name stored in the capsule is ``NULL``, the *name* passed in must " -"also be ``NULL``. Python uses the C function :c:func:`!strcmp` to compare " -"capsule names." -msgstr "" - -#: ../../c-api/capsule.rst:73 -msgid "" -"Return the current destructor stored in the capsule. On failure, set an " -"exception and return ``NULL``." -msgstr "" - -#: ../../c-api/capsule.rst:76 -msgid "" -"It is legal for a capsule to have a ``NULL`` destructor. This makes a " -"``NULL`` return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or " -":c:func:`PyErr_Occurred` to disambiguate." -msgstr "" - -#: ../../c-api/capsule.rst:83 -msgid "" -"Return the current context stored in the capsule. On failure, set an " -"exception and return ``NULL``." -msgstr "" - -#: ../../c-api/capsule.rst:86 -msgid "" -"It is legal for a capsule to have a ``NULL`` context. This makes a ``NULL``" -" return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or " -":c:func:`PyErr_Occurred` to disambiguate." -msgstr "" - -#: ../../c-api/capsule.rst:93 -msgid "" -"Return the current name stored in the capsule. On failure, set an exception" -" and return ``NULL``." -msgstr "" - -#: ../../c-api/capsule.rst:96 -msgid "" -"It is legal for a capsule to have a ``NULL`` name. This makes a ``NULL`` " -"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or " -":c:func:`PyErr_Occurred` to disambiguate." -msgstr "" - -#: ../../c-api/capsule.rst:103 -msgid "" -"Import a pointer to a C object from a capsule attribute in a module. The " -"*name* parameter should specify the full name to the attribute, as in " -"``module.attribute``. The *name* stored in the capsule must match this " -"string exactly." -msgstr "" - -#: ../../c-api/capsule.rst:108 -msgid "" -"Return the capsule's internal *pointer* on success. On failure, set an " -"exception and return ``NULL``." -msgstr "" - -#: ../../c-api/capsule.rst:111 -msgid "*no_block* has no effect anymore." -msgstr "" - -#: ../../c-api/capsule.rst:117 -msgid "" -"Determines whether or not *capsule* is a valid capsule. A valid capsule is " -"non-``NULL``, passes :c:func:`PyCapsule_CheckExact`, has a non-``NULL`` " -"pointer stored in it, and its internal name matches the *name* parameter. " -"(See :c:func:`PyCapsule_GetPointer` for information on how capsule names are" -" compared.)" -msgstr "" - -#: ../../c-api/capsule.rst:123 -msgid "" -"In other words, if :c:func:`PyCapsule_IsValid` returns a true value, calls " -"to any of the accessors (any function starting with ``PyCapsule_Get``) are " -"guaranteed to succeed." -msgstr "" - -#: ../../c-api/capsule.rst:127 -msgid "" -"Return a nonzero value if the object is valid and matches the name passed " -"in. Return ``0`` otherwise. This function will not fail." -msgstr "" - -#: ../../c-api/capsule.rst:133 -msgid "Set the context pointer inside *capsule* to *context*." -msgstr "" - -#: ../../c-api/capsule.rst:135 ../../c-api/capsule.rst:142 -#: ../../c-api/capsule.rst:151 ../../c-api/capsule.rst:159 -msgid "" -"Return ``0`` on success. Return nonzero and set an exception on failure." -msgstr "" - -#: ../../c-api/capsule.rst:140 -msgid "Set the destructor inside *capsule* to *destructor*." -msgstr "" - -#: ../../c-api/capsule.rst:147 -msgid "" -"Set the name inside *capsule* to *name*. If non-``NULL``, the name must " -"outlive the capsule. If the previous *name* stored in the capsule was not " -"``NULL``, no attempt is made to free it." -msgstr "" - -#: ../../c-api/capsule.rst:156 -msgid "" -"Set the void pointer inside *capsule* to *pointer*. The pointer may not be " -"``NULL``." -msgstr "" - -#: ../../c-api/capsule.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/capsule.rst:8 -msgid "Capsule" -msgstr "" diff --git a/python-newest.c-api--cell/id.po b/python-newest.c-api--cell/id.po deleted file mode 100644 index 2a1d1b3..0000000 --- a/python-newest.c-api--cell/id.po +++ /dev/null @@ -1,113 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2024 -# Rafael Fontenelle , 2024 -# oon arfiandwi , 2024 -# Imaduddin A Majid , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Imaduddin A Majid , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/cell.rst:6 -msgid "Cell Objects" -msgstr "Objek Sel, *Cell*" - -#: ../../c-api/cell.rst:8 -msgid "" -"\"Cell\" objects are used to implement variables referenced by multiple " -"scopes. For each such variable, a cell object is created to store the value;" -" the local variables of each stack frame that references the value contains " -"a reference to the cells from outer scopes which also use that variable. " -"When the value is accessed, the value contained in the cell is used instead " -"of the cell object itself. This de-referencing of the cell object requires " -"support from the generated byte-code; these are not automatically de-" -"referenced when accessed. Cell objects are not likely to be useful " -"elsewhere." -msgstr "" -"Objek-objek \"Cell\" digunakan untuk mengimplementasi variabel-variabel yang" -" direferensikan oleh beberapa *scopes*. Untuk variable seperti itu, sebuah " -"objek *cell* dibuat untuk menyimpan nilai; variabel lokal dari setiap " -"kerangka *stack* yang mereferensikan nilai yang memiliki referensi ke " -"*cells* dari *scopes* luar yang juga menggunakan variabel tersebut. Ketika " -"nilai diakses, nilai yang dimiliki *cell* digunakan alih-alih objek *cell* " -"itu sendiri. *De-referencing* dari objek *cell* ini membutuhkan dukungan " -"dari kode *byte* yang dihasilkan; bagian ini tidak secara otomatis " -"mengalami *de-referenced* ketika diakses. Objek-objek *Cell* sepertinya " -"tidak akan berguna di tempat lain. " - -#: ../../c-api/cell.rst:20 -msgid "The C structure used for cell objects." -msgstr "Struktur C digunakan untuk objek sel." - -#: ../../c-api/cell.rst:25 -msgid "The type object corresponding to cell objects." -msgstr "Tipe objek yang sesuai dengan objek sel." - -#: ../../c-api/cell.rst:30 -msgid "" -"Return true if *ob* is a cell object; *ob* must not be ``NULL``. This " -"function always succeeds." -msgstr "" -"Mengembalikan nilai true jika *ob* adalah objek sel; *ob* tidak boleh " -"``NULL``. Fungsi ini selalu berhasil." - -#: ../../c-api/cell.rst:36 -msgid "" -"Create and return a new cell object containing the value *ob*. The parameter" -" may be ``NULL``." -msgstr "" -"Membuat dan mengembalikan objek *cell* baru yang memiliki nilai *ob*. " -"Parameter dibolehkan ``NULL``." - -#: ../../c-api/cell.rst:42 -msgid "" -"Return the contents of the cell *cell*, which can be ``NULL``. If *cell* is " -"not a cell object, returns ``NULL`` with an exception set." -msgstr "" - -#: ../../c-api/cell.rst:48 -msgid "" -"Return the contents of the cell *cell*, but without checking that *cell* is " -"non-``NULL`` and a cell object." -msgstr "" -"Kembalikan isi dari sel *cell*, tanpa mengecek jika *cell* merupakan " -"*non-*``NULL`` dan sebuah objek *cell." - -#: ../../c-api/cell.rst:54 -msgid "" -"Set the contents of the cell object *cell* to *value*. This releases the " -"reference to any current content of the cell. *value* may be ``NULL``. " -"*cell* must be non-``NULL``." -msgstr "" - -#: ../../c-api/cell.rst:58 -msgid "" -"On success, return ``0``. If *cell* is not a cell object, set an exception " -"and return ``-1``." -msgstr "" - -#: ../../c-api/cell.rst:64 -msgid "" -"Sets the value of the cell object *cell* to *value*. No reference counts " -"are adjusted, and no checks are made for safety; *cell* must be non-``NULL``" -" and must be a cell object." -msgstr "" -"Mengatur nilai dari objek sel *cell* ke *value*. Tidak ada hitungan " -"referensi yang diatur, dan tidak ada pengecekan untuk keamanan;*cell* harus " -"non-``NULL`` dan harus merupakan sebuah objek sel. " diff --git a/python-newest.c-api--code/id.po b/python-newest.c-api--code/id.po deleted file mode 100644 index 49692ab..0000000 --- a/python-newest.c-api--code/id.po +++ /dev/null @@ -1,381 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# LIQRGV , 2019 -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/code.rst:8 -msgid "Code Objects" -msgstr "Objek Kode" - -#: ../../c-api/code.rst:12 -msgid "" -"Code objects are a low-level detail of the CPython implementation. Each one " -"represents a chunk of executable code that hasn't yet been bound into a " -"function." -msgstr "" -"Objek kode merupakan detail tingkat rendah dari implementasi CPython. " -"Masing-masing mewakili sekumpulan kode yang dapat dieksekusi dimana belum " -"terikat ke fungsi." - -#: ../../c-api/code.rst:18 -msgid "" -"The C structure of the objects used to describe code objects. The fields of" -" this type are subject to change at any time." -msgstr "" -"Struktur C dari objek yang digunakan untuk menggambarkan objek kode. Jenis " -"dari tipe ini dapat berubah sewaktu-waktu." - -#: ../../c-api/code.rst:24 -msgid "" -"This is an instance of :c:type:`PyTypeObject` representing the Python " -":ref:`code object `." -msgstr "" - -#: ../../c-api/code.rst:30 -msgid "" -"Return true if *co* is a :ref:`code object `. This function " -"always succeeds." -msgstr "" - -#: ../../c-api/code.rst:35 -msgid "" -"Return the number of :term:`free (closure) variables ` in " -"a code object." -msgstr "" - -#: ../../c-api/code.rst:40 -msgid "" -"Return the position of the first :term:`free (closure) variable ` in a code object." -msgstr "" - -#: ../../c-api/code.rst:45 -msgid "" -"Renamed from ``PyCode_GetFirstFree`` as part of :ref:`unstable-c-api`. The " -"old name is deprecated, but will remain available until the signature " -"changes again." -msgstr "" - -#: ../../c-api/code.rst:51 -msgid "" -"Return a new code object. If you need a dummy code object to create a " -"frame, use :c:func:`PyCode_NewEmpty` instead." -msgstr "" - -#: ../../c-api/code.rst:54 -msgid "" -"Since the definition of the bytecode changes often, calling " -":c:func:`PyUnstable_Code_New` directly can bind you to a precise Python " -"version." -msgstr "" - -#: ../../c-api/code.rst:57 -msgid "" -"The many arguments of this function are inter-dependent in complex ways, " -"meaning that subtle changes to values are likely to result in incorrect " -"execution or VM crashes. Use this function only with extreme care." -msgstr "" - -#: ../../c-api/code.rst:61 -msgid "Added ``qualname`` and ``exceptiontable`` parameters." -msgstr "" - -#: ../../c-api/code.rst:68 -msgid "" -"Renamed from ``PyCode_New`` as part of :ref:`unstable-c-api`. The old name " -"is deprecated, but will remain available until the signature changes again." -msgstr "" - -#: ../../c-api/code.rst:74 -msgid "" -"Similar to :c:func:`PyUnstable_Code_New`, but with an extra " -"\"posonlyargcount\" for positional-only arguments. The same caveats that " -"apply to ``PyUnstable_Code_New`` also apply to this function." -msgstr "" - -#: ../../c-api/code.rst:79 -msgid "as ``PyCode_NewWithPosOnlyArgs``" -msgstr "" - -#: ../../c-api/code.rst:81 -msgid "Added ``qualname`` and ``exceptiontable`` parameters." -msgstr "" - -#: ../../c-api/code.rst:86 -msgid "" -"Renamed to ``PyUnstable_Code_NewWithPosOnlyArgs``. The old name is " -"deprecated, but will remain available until the signature changes again." -msgstr "" - -#: ../../c-api/code.rst:92 -msgid "" -"Return a new empty code object with the specified filename, function name, " -"and first line number. The resulting code object will raise an ``Exception``" -" if executed." -msgstr "" - -#: ../../c-api/code.rst:98 -msgid "" -"Return the line number of the instruction that occurs on or before " -"``byte_offset`` and ends after it. If you just need the line number of a " -"frame, use :c:func:`PyFrame_GetLineNumber` instead." -msgstr "" - -#: ../../c-api/code.rst:101 -msgid "" -"For efficiently iterating over the line numbers in a code object, use " -":pep:`the API described in PEP 626 <0626#out-of-process-debuggers-and-" -"profilers>`." -msgstr "" - -#: ../../c-api/code.rst:106 -msgid "" -"Sets the passed ``int`` pointers to the source code line and column numbers " -"for the instruction at ``byte_offset``. Sets the value to ``0`` when " -"information is not available for any particular element." -msgstr "" - -#: ../../c-api/code.rst:110 -msgid "Returns ``1`` if the function succeeds and 0 otherwise." -msgstr "" - -#: ../../c-api/code.rst:116 -msgid "" -"Equivalent to the Python code ``getattr(co, 'co_code')``. Returns a strong " -"reference to a :c:type:`PyBytesObject` representing the bytecode in a code " -"object. On error, ``NULL`` is returned and an exception is raised." -msgstr "" - -#: ../../c-api/code.rst:121 -msgid "" -"This ``PyBytesObject`` may be created on-demand by the interpreter and does " -"not necessarily represent the bytecode actually executed by CPython. The " -"primary use case for this function is debuggers and profilers." -msgstr "" - -#: ../../c-api/code.rst:129 -msgid "" -"Equivalent to the Python code ``getattr(co, 'co_varnames')``. Returns a new " -"reference to a :c:type:`PyTupleObject` containing the names of the local " -"variables. On error, ``NULL`` is returned and an exception is raised." -msgstr "" - -#: ../../c-api/code.rst:138 -msgid "" -"Equivalent to the Python code ``getattr(co, 'co_cellvars')``. Returns a new " -"reference to a :c:type:`PyTupleObject` containing the names of the local " -"variables that are referenced by nested functions. On error, ``NULL`` is " -"returned and an exception is raised." -msgstr "" - -#: ../../c-api/code.rst:147 -msgid "" -"Equivalent to the Python code ``getattr(co, 'co_freevars')``. Returns a new " -"reference to a :c:type:`PyTupleObject` containing the names of the " -":term:`free (closure) variables `. On error, ``NULL`` is " -"returned and an exception is raised." -msgstr "" - -#: ../../c-api/code.rst:156 -msgid "" -"Register *callback* as a code object watcher for the current interpreter. " -"Return an ID which may be passed to :c:func:`PyCode_ClearWatcher`. In case " -"of error (e.g. no more watcher IDs available), return ``-1`` and set an " -"exception." -msgstr "" - -#: ../../c-api/code.rst:165 -msgid "" -"Clear watcher identified by *watcher_id* previously returned from " -":c:func:`PyCode_AddWatcher` for the current interpreter. Return ``0`` on " -"success, or ``-1`` and set an exception on error (e.g. if the given " -"*watcher_id* was never registered.)" -msgstr "" - -#: ../../c-api/code.rst:174 -msgid "" -"Enumeration of possible code object watcher events: - " -"``PY_CODE_EVENT_CREATE`` - ``PY_CODE_EVENT_DESTROY``" -msgstr "" - -#: ../../c-api/code.rst:182 -msgid "Type of a code object watcher callback function." -msgstr "" - -#: ../../c-api/code.rst:184 -msgid "" -"If *event* is ``PY_CODE_EVENT_CREATE``, then the callback is invoked after " -"`co` has been fully initialized. Otherwise, the callback is invoked before " -"the destruction of *co* takes place, so the prior state of *co* can be " -"inspected." -msgstr "" - -#: ../../c-api/code.rst:189 -msgid "" -"If *event* is ``PY_CODE_EVENT_DESTROY``, taking a reference in the callback " -"to the about-to-be-destroyed code object will resurrect it and prevent it " -"from being freed at this time. When the resurrected object is destroyed " -"later, any watcher callbacks active at that time will be called again." -msgstr "" - -#: ../../c-api/code.rst:194 -msgid "" -"Users of this API should not rely on internal runtime implementation " -"details. Such details may include, but are not limited to, the exact order " -"and timing of creation and destruction of code objects. While changes in " -"these details may result in differences observable by watchers (including " -"whether a callback is invoked or not), it does not change the semantics of " -"the Python code being executed." -msgstr "" - -#: ../../c-api/code.rst:201 -msgid "" -"If the callback sets an exception, it must return ``-1``; this exception " -"will be printed as an unraisable exception using " -":c:func:`PyErr_WriteUnraisable`. Otherwise it should return ``0``." -msgstr "" - -#: ../../c-api/code.rst:205 -msgid "" -"There may already be a pending exception set on entry to the callback. In " -"this case, the callback should return ``0`` with the same exception still " -"set. This means the callback may not call any other API that can set an " -"exception unless it saves and clears the exception state first, and restores" -" it before returning." -msgstr "" - -#: ../../c-api/code.rst:215 -msgid "Extra information" -msgstr "" - -#: ../../c-api/code.rst:217 -msgid "" -"To support low-level extensions to frame evaluation, such as external just-" -"in-time compilers, it is possible to attach arbitrary extra data to code " -"objects." -msgstr "" - -#: ../../c-api/code.rst:221 -msgid "" -"These functions are part of the unstable C API tier: this functionality is a" -" CPython implementation detail, and the API may change without deprecation " -"warnings." -msgstr "" - -#: ../../c-api/code.rst:227 -msgid "" -"Return a new an opaque index value used to adding data to code objects." -msgstr "" - -#: ../../c-api/code.rst:229 -msgid "" -"You generally call this function once (per interpreter) and use the result " -"with ``PyCode_GetExtra`` and ``PyCode_SetExtra`` to manipulate data on " -"individual code objects." -msgstr "" - -#: ../../c-api/code.rst:233 -msgid "" -"If *free* is not ``NULL``: when a code object is deallocated, *free* will be" -" called on non-``NULL`` data stored under the new index. Use " -":c:func:`Py_DecRef` when storing :c:type:`PyObject`." -msgstr "" - -#: ../../c-api/code.rst:239 -msgid "as ``_PyEval_RequestCodeExtraIndex``" -msgstr "" - -#: ../../c-api/code.rst:243 -msgid "" -"Renamed to ``PyUnstable_Eval_RequestCodeExtraIndex``. The old private name " -"is deprecated, but will be available until the API changes." -msgstr "" - -#: ../../c-api/code.rst:249 -msgid "" -"Set *extra* to the extra data stored under the given index. Return 0 on " -"success. Set an exception and return -1 on failure." -msgstr "" - -#: ../../c-api/code.rst:252 -msgid "" -"If no data was set under the index, set *extra* to ``NULL`` and return 0 " -"without setting an exception." -msgstr "" - -#: ../../c-api/code.rst:257 -msgid "as ``_PyCode_GetExtra``" -msgstr "" - -#: ../../c-api/code.rst:261 -msgid "" -"Renamed to ``PyUnstable_Code_GetExtra``. The old private name is deprecated," -" but will be available until the API changes." -msgstr "" - -#: ../../c-api/code.rst:267 -msgid "" -"Set the extra data stored under the given index to *extra*. Return 0 on " -"success. Set an exception and return -1 on failure." -msgstr "" - -#: ../../c-api/code.rst:272 -msgid "as ``_PyCode_SetExtra``" -msgstr "" - -#: ../../c-api/code.rst:276 -msgid "" -"Renamed to ``PyUnstable_Code_SetExtra``. The old private name is deprecated," -" but will be available until the API changes." -msgstr "" - -#: ../../c-api/code.rst:3 -msgid "object" -msgstr "objek" - -#: ../../c-api/code.rst:3 -msgid "code" -msgstr "code" - -#: ../../c-api/code.rst:3 -msgid "code object" -msgstr "" - -#: ../../c-api/code.rst:64 -msgid "PyCode_New (C function)" -msgstr "" - -#: ../../c-api/code.rst:77 -msgid "PyCode_NewWithPosOnlyArgs (C function)" -msgstr "" - -#: ../../c-api/code.rst:237 -msgid "_PyEval_RequestCodeExtraIndex (C function)" -msgstr "" - -#: ../../c-api/code.rst:255 -msgid "_PyCode_GetExtra (C function)" -msgstr "" - -#: ../../c-api/code.rst:270 -msgid "_PyCode_SetExtra (C function)" -msgstr "" diff --git a/python-newest.c-api--codec/id.po b/python-newest.c-api--codec/id.po deleted file mode 100644 index 336daeb..0000000 --- a/python-newest.c-api--codec/id.po +++ /dev/null @@ -1,173 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/codec.rst:4 -msgid "Codec registry and support functions" -msgstr "" - -#: ../../c-api/codec.rst:8 -msgid "Register a new codec search function." -msgstr "" - -#: ../../c-api/codec.rst:10 -msgid "" -"As side effect, this tries to load the :mod:`!encodings` package, if not yet" -" done, to make sure that it is always first in the list of search functions." -msgstr "" - -#: ../../c-api/codec.rst:15 -msgid "" -"Unregister a codec search function and clear the registry's cache. If the " -"search function is not registered, do nothing. Return 0 on success. Raise an" -" exception and return -1 on error." -msgstr "" - -#: ../../c-api/codec.rst:23 -msgid "" -"Return ``1`` or ``0`` depending on whether there is a registered codec for " -"the given *encoding*. This function always succeeds." -msgstr "" - -#: ../../c-api/codec.rst:28 -msgid "Generic codec based encoding API." -msgstr "" - -#: ../../c-api/codec.rst:30 -msgid "" -"*object* is passed through the encoder function found for the given " -"*encoding* using the error handling method defined by *errors*. *errors* " -"may be ``NULL`` to use the default method defined for the codec. Raises a " -":exc:`LookupError` if no encoder can be found." -msgstr "" - -#: ../../c-api/codec.rst:37 -msgid "Generic codec based decoding API." -msgstr "" - -#: ../../c-api/codec.rst:39 -msgid "" -"*object* is passed through the decoder function found for the given " -"*encoding* using the error handling method defined by *errors*. *errors* " -"may be ``NULL`` to use the default method defined for the codec. Raises a " -":exc:`LookupError` if no encoder can be found." -msgstr "" - -#: ../../c-api/codec.rst:46 -msgid "Codec lookup API" -msgstr "" - -#: ../../c-api/codec.rst:48 -msgid "" -"In the following functions, the *encoding* string is looked up converted to " -"all lower-case characters, which makes encodings looked up through this " -"mechanism effectively case-insensitive. If no codec is found, a " -":exc:`KeyError` is set and ``NULL`` returned." -msgstr "" - -#: ../../c-api/codec.rst:55 -msgid "Get an encoder function for the given *encoding*." -msgstr "" - -#: ../../c-api/codec.rst:59 -msgid "Get a decoder function for the given *encoding*." -msgstr "" - -#: ../../c-api/codec.rst:63 -msgid "" -"Get an :class:`~codecs.IncrementalEncoder` object for the given *encoding*." -msgstr "" - -#: ../../c-api/codec.rst:67 -msgid "" -"Get an :class:`~codecs.IncrementalDecoder` object for the given *encoding*." -msgstr "" - -#: ../../c-api/codec.rst:71 -msgid "" -"Get a :class:`~codecs.StreamReader` factory function for the given " -"*encoding*." -msgstr "" - -#: ../../c-api/codec.rst:75 -msgid "" -"Get a :class:`~codecs.StreamWriter` factory function for the given " -"*encoding*." -msgstr "" - -#: ../../c-api/codec.rst:79 -msgid "Registry API for Unicode encoding error handlers" -msgstr "" - -#: ../../c-api/codec.rst:83 -msgid "" -"Register the error handling callback function *error* under the given " -"*name*. This callback function will be called by a codec when it encounters " -"unencodable characters/undecodable bytes and *name* is specified as the " -"error parameter in the call to the encode/decode function." -msgstr "" - -#: ../../c-api/codec.rst:88 -msgid "" -"The callback gets a single argument, an instance of " -":exc:`UnicodeEncodeError`, :exc:`UnicodeDecodeError` or " -":exc:`UnicodeTranslateError` that holds information about the problematic " -"sequence of characters or bytes and their offset in the original string (see" -" :ref:`unicodeexceptions` for functions to extract this information). The " -"callback must either raise the given exception, or return a two-item tuple " -"containing the replacement for the problematic sequence, and an integer " -"giving the offset in the original string at which encoding/decoding should " -"be resumed." -msgstr "" - -#: ../../c-api/codec.rst:98 -msgid "Return ``0`` on success, ``-1`` on error." -msgstr "" - -#: ../../c-api/codec.rst:102 -msgid "" -"Lookup the error handling callback function registered under *name*. As a " -"special case ``NULL`` can be passed, in which case the error handling " -"callback for \"strict\" will be returned." -msgstr "" - -#: ../../c-api/codec.rst:108 -msgid "Raise *exc* as an exception." -msgstr "" - -#: ../../c-api/codec.rst:112 -msgid "Ignore the unicode error, skipping the faulty input." -msgstr "" - -#: ../../c-api/codec.rst:116 -msgid "Replace the unicode encode error with ``?`` or ``U+FFFD``." -msgstr "" - -#: ../../c-api/codec.rst:120 -msgid "Replace the unicode encode error with XML character references." -msgstr "" - -#: ../../c-api/codec.rst:124 -msgid "" -"Replace the unicode encode error with backslash escapes (``\\x``, ``\\u`` " -"and ``\\U``)." -msgstr "" - -#: ../../c-api/codec.rst:129 -msgid "Replace the unicode encode error with ``\\N{...}`` escapes." -msgstr "" diff --git a/python-newest.c-api--complex/id.po b/python-newest.c-api--complex/id.po deleted file mode 100644 index 77f5748..0000000 --- a/python-newest.c-api--complex/id.po +++ /dev/null @@ -1,232 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Aulia Widyaputra , 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/complex.rst:6 -msgid "Complex Number Objects" -msgstr "Objek Bilangan Kompleks" - -#: ../../c-api/complex.rst:10 -msgid "" -"Python's complex number objects are implemented as two distinct types when " -"viewed from the C API: one is the Python object exposed to Python programs," -" and the other is a C structure which represents the actual complex number " -"value. The API provides functions for working with both." -msgstr "" -"Objek Bilangan Kompleks Python memiliki dua tipe implementasi berbeda jika " -"dilihat dari API Bahasa C: pertama adalah objek Python yang terekspos ke " -"program-program Python, dan yang kedua adalah struktur C yang " -"merepresentasikan nilai bilangan kompleks sebenarnya. API tersebut " -"memberikan fungsi-fungsi untuk bekerja dengan kedua tipe implementasi." - -#: ../../c-api/complex.rst:17 -msgid "Complex Numbers as C Structures" -msgstr "Bilangan Kompleks sebagai Struktur C" - -#: ../../c-api/complex.rst:19 -msgid "" -"Note that the functions which accept these structures as parameters and " -"return them as results do so *by value* rather than dereferencing them " -"through pointers. This is consistent throughout the API." -msgstr "" - -#: ../../c-api/complex.rst:26 -msgid "" -"The C structure which corresponds to the value portion of a Python complex " -"number object. Most of the functions for dealing with complex number " -"objects use structures of this type as input or output values, as " -"appropriate." -msgstr "" - -#: ../../c-api/complex.rst:33 -msgid "The structure is defined as::" -msgstr "" - -#: ../../c-api/complex.rst:35 -msgid "" -"typedef struct {\n" -" double real;\n" -" double imag;\n" -"} Py_complex;" -msgstr "" - -#: ../../c-api/complex.rst:43 -msgid "" -"Return the sum of two complex numbers, using the C :c:type:`Py_complex` " -"representation." -msgstr "" - -#: ../../c-api/complex.rst:49 -msgid "" -"Return the difference between two complex numbers, using the C " -":c:type:`Py_complex` representation." -msgstr "" - -#: ../../c-api/complex.rst:55 -msgid "" -"Return the negation of the complex number *num*, using the C " -":c:type:`Py_complex` representation." -msgstr "" - -#: ../../c-api/complex.rst:61 -msgid "" -"Return the product of two complex numbers, using the C :c:type:`Py_complex` " -"representation." -msgstr "" - -#: ../../c-api/complex.rst:67 -msgid "" -"Return the quotient of two complex numbers, using the C :c:type:`Py_complex`" -" representation." -msgstr "" - -#: ../../c-api/complex.rst:70 -msgid "" -"If *divisor* is null, this method returns zero and sets :c:data:`errno` to " -":c:macro:`!EDOM`." -msgstr "" - -#: ../../c-api/complex.rst:76 -msgid "" -"Return the exponentiation of *num* by *exp*, using the C " -":c:type:`Py_complex` representation." -msgstr "" - -#: ../../c-api/complex.rst:79 -msgid "" -"If *num* is null and *exp* is not a positive real number, this method " -"returns zero and sets :c:data:`errno` to :c:macro:`!EDOM`." -msgstr "" - -#: ../../c-api/complex.rst:82 -msgid "Set :c:data:`errno` to :c:macro:`!ERANGE` on overflows." -msgstr "" - -#: ../../c-api/complex.rst:86 -msgid "Complex Numbers as Python Objects" -msgstr "" - -#: ../../c-api/complex.rst:91 -msgid "" -"This subtype of :c:type:`PyObject` represents a Python complex number " -"object." -msgstr "" - -#: ../../c-api/complex.rst:96 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python complex number" -" type. It is the same object as :class:`complex` in the Python layer." -msgstr "" - -#: ../../c-api/complex.rst:102 -msgid "" -"Return true if its argument is a :c:type:`PyComplexObject` or a subtype of " -":c:type:`PyComplexObject`. This function always succeeds." -msgstr "" - -#: ../../c-api/complex.rst:108 -msgid "" -"Return true if its argument is a :c:type:`PyComplexObject`, but not a " -"subtype of :c:type:`PyComplexObject`. This function always succeeds." -msgstr "" - -#: ../../c-api/complex.rst:114 -msgid "" -"Create a new Python complex number object from a C :c:type:`Py_complex` " -"value. Return ``NULL`` with an exception set on error." -msgstr "" - -#: ../../c-api/complex.rst:120 -msgid "" -"Return a new :c:type:`PyComplexObject` object from *real* and *imag*. Return" -" ``NULL`` with an exception set on error." -msgstr "" - -#: ../../c-api/complex.rst:126 -msgid "Return the real part of *op* as a C :c:expr:`double`." -msgstr "" - -#: ../../c-api/complex.rst:128 -msgid "" -"If *op* is not a Python complex number object but has a " -":meth:`~object.__complex__` method, this method will first be called to " -"convert *op* to a Python complex number object. If :meth:`!__complex__` is " -"not defined then it falls back to call :c:func:`PyFloat_AsDouble` and " -"returns its result." -msgstr "" - -#: ../../c-api/complex.rst:134 ../../c-api/complex.rst:150 -msgid "" -"Upon failure, this method returns ``-1.0`` with an exception set, so one " -"should call :c:func:`PyErr_Occurred` to check for errors." -msgstr "" - -#: ../../c-api/complex.rst:137 ../../c-api/complex.rst:153 -msgid "Use :meth:`~object.__complex__` if available." -msgstr "" - -#: ../../c-api/complex.rst:142 -msgid "Return the imaginary part of *op* as a C :c:expr:`double`." -msgstr "" - -#: ../../c-api/complex.rst:144 -msgid "" -"If *op* is not a Python complex number object but has a " -":meth:`~object.__complex__` method, this method will first be called to " -"convert *op* to a Python complex number object. If :meth:`!__complex__` is " -"not defined then it falls back to call :c:func:`PyFloat_AsDouble` and " -"returns ``0.0`` on success." -msgstr "" - -#: ../../c-api/complex.rst:158 -msgid "Return the :c:type:`Py_complex` value of the complex number *op*." -msgstr "" - -#: ../../c-api/complex.rst:160 -msgid "" -"If *op* is not a Python complex number object but has a " -":meth:`~object.__complex__` method, this method will first be called to " -"convert *op* to a Python complex number object. If :meth:`!__complex__` is " -"not defined then it falls back to :meth:`~object.__float__`. If " -":meth:`!__float__` is not defined then it falls back to " -":meth:`~object.__index__`." -msgstr "" - -#: ../../c-api/complex.rst:166 -msgid "" -"Upon failure, this method returns :c:type:`Py_complex` with " -":c:member:`~Py_complex.real` set to ``-1.0`` and with an exception set, so " -"one should call :c:func:`PyErr_Occurred` to check for errors." -msgstr "" - -#: ../../c-api/complex.rst:170 -msgid "Use :meth:`~object.__index__` if available." -msgstr "" - -#: ../../c-api/complex.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/complex.rst:8 -msgid "complex number" -msgstr "bilangan kompleks" diff --git a/python-newest.c-api--concrete/id.po b/python-newest.c-api--concrete/id.po deleted file mode 100644 index c34aa13..0000000 --- a/python-newest.c-api--concrete/id.po +++ /dev/null @@ -1,117 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Akhmat Safrudin , 2021 -# LIQRGV , 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/concrete.rst:8 -msgid "Concrete Objects Layer" -msgstr "Lapisan Objek Konkrit" - -#: ../../c-api/concrete.rst:10 -msgid "" -"The functions in this chapter are specific to certain Python object types. " -"Passing them an object of the wrong type is not a good idea; if you receive " -"an object from a Python program and you are not sure that it has the right " -"type, you must perform a type check first; for example, to check that an " -"object is a dictionary, use :c:func:`PyDict_Check`. The chapter is " -"structured like the \"family tree\" of Python object types." -msgstr "" -"Fungsi dalam bab ini khusus untuk tipe objek Python tertentu. Mengisi mereka" -" dengan objek dari tipe yang salah bukanlah ide yang baik; jika Anda " -"menerima objek dari program Python dan Anda tidak yakin bahwa objek tersebut" -" memiliki tipe yang tepat, Anda harus melakukan pemeriksaan jenis terlebih " -"dahulu; misalnya, untuk memeriksa bahwa suatu objek adalah kamus " -"(dictionary), gunakan :c:func:`PyDict_Check`. Bab ini disusun seperti " -"\"pohon keluarga\" dari jenis objek Python." - -#: ../../c-api/concrete.rst:19 -msgid "" -"While the functions described in this chapter carefully check the type of " -"the objects which are passed in, many of them do not check for ``NULL`` " -"being passed instead of a valid object. Allowing ``NULL`` to be passed in " -"can cause memory access violations and immediate termination of the " -"interpreter." -msgstr "" -"Walaupun fungsi yang dijelaskan dalam bab ini dengan cermat memeriksa jenis " -"objek yang dilewatkan, banyak dari fungsi tersebut yang tidak memeriksa " -"``NULL`` yang dilewatkan dan menganggap objek yang valid. Mengizinkan " -"``NULL`` untuk dilewatkan dapat menyebabkan pelanggaran akses memori dan " -"penghentian interpreter." - -#: ../../c-api/concrete.rst:28 -msgid "Fundamental Objects" -msgstr "Objek Dasar" - -#: ../../c-api/concrete.rst:30 -msgid "" -"This section describes Python type objects and the singleton object " -"``None``." -msgstr "" -"Bagian ini menjelaskan objek tipe Python dan objek singleton ``None``." - -#: ../../c-api/concrete.rst:41 -msgid "Numeric Objects" -msgstr "Objek Numerik" - -#: ../../c-api/concrete.rst:56 -msgid "Sequence Objects" -msgstr "Objek Urutan" - -#: ../../c-api/concrete.rst:60 -msgid "" -"Generic operations on sequence objects were discussed in the previous " -"chapter; this section deals with the specific kinds of sequence objects that" -" are intrinsic to the Python language." -msgstr "" -"Operasi umum pada objek urutan dibahas dalam bab sebelumnya; bagian ini " -"berkaitan dengan jenis objek urutan tertentu yang mendasar pada bahasa " -"Python." - -#: ../../c-api/concrete.rst:78 -msgid "Container Objects" -msgstr "Objek Container" - -#: ../../c-api/concrete.rst:91 -msgid "Function Objects" -msgstr "Obyek Fungsi" - -#: ../../c-api/concrete.rst:102 -msgid "Other Objects" -msgstr "Objek lain" - -#: ../../c-api/concrete.rst:43 ../../c-api/concrete.rst:58 -#: ../../c-api/concrete.rst:80 -msgid "object" -msgstr "objek" - -#: ../../c-api/concrete.rst:43 -msgid "numeric" -msgstr "" - -#: ../../c-api/concrete.rst:58 -msgid "sequence" -msgstr "urutan" - -#: ../../c-api/concrete.rst:80 -msgid "mapping" -msgstr "pemetaan" diff --git a/python-newest.c-api--contextvars/id.po b/python-newest.c-api--contextvars/id.po deleted file mode 100644 index 1edf6c4..0000000 --- a/python-newest.c-api--contextvars/id.po +++ /dev/null @@ -1,239 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/contextvars.rst:6 -msgid "Context Variables Objects" -msgstr "" - -#: ../../c-api/contextvars.rst:15 -msgid "" -"In Python 3.7.1 the signatures of all context variables C APIs were " -"**changed** to use :c:type:`PyObject` pointers instead of " -":c:type:`PyContext`, :c:type:`PyContextVar`, and :c:type:`PyContextToken`, " -"e.g.::" -msgstr "" - -#: ../../c-api/contextvars.rst:20 -msgid "" -"// in 3.7.0:\n" -"PyContext *PyContext_New(void);\n" -"\n" -"// in 3.7.1+:\n" -"PyObject *PyContext_New(void);" -msgstr "" - -#: ../../c-api/contextvars.rst:26 -msgid "See :issue:`34762` for more details." -msgstr "" - -#: ../../c-api/contextvars.rst:29 -msgid "" -"This section details the public C API for the :mod:`contextvars` module." -msgstr "" - -#: ../../c-api/contextvars.rst:33 -msgid "" -"The C structure used to represent a :class:`contextvars.Context` object." -msgstr "" - -#: ../../c-api/contextvars.rst:38 -msgid "" -"The C structure used to represent a :class:`contextvars.ContextVar` object." -msgstr "" - -#: ../../c-api/contextvars.rst:43 -msgid "The C structure used to represent a :class:`contextvars.Token` object." -msgstr "" - -#: ../../c-api/contextvars.rst:47 -msgid "The type object representing the *context* type." -msgstr "" - -#: ../../c-api/contextvars.rst:51 -msgid "The type object representing the *context variable* type." -msgstr "" - -#: ../../c-api/contextvars.rst:55 -msgid "The type object representing the *context variable token* type." -msgstr "" - -#: ../../c-api/contextvars.rst:58 -msgid "Type-check macros:" -msgstr "" - -#: ../../c-api/contextvars.rst:62 -msgid "" -"Return true if *o* is of type :c:data:`PyContext_Type`. *o* must not be " -"``NULL``. This function always succeeds." -msgstr "" - -#: ../../c-api/contextvars.rst:67 -msgid "" -"Return true if *o* is of type :c:data:`PyContextVar_Type`. *o* must not be " -"``NULL``. This function always succeeds." -msgstr "" - -#: ../../c-api/contextvars.rst:72 -msgid "" -"Return true if *o* is of type :c:data:`PyContextToken_Type`. *o* must not be" -" ``NULL``. This function always succeeds." -msgstr "" - -#: ../../c-api/contextvars.rst:76 -msgid "Context object management functions:" -msgstr "" - -#: ../../c-api/contextvars.rst:80 -msgid "" -"Create a new empty context object. Returns ``NULL`` if an error has " -"occurred." -msgstr "" - -#: ../../c-api/contextvars.rst:85 -msgid "" -"Create a shallow copy of the passed *ctx* context object. Returns ``NULL`` " -"if an error has occurred." -msgstr "" - -#: ../../c-api/contextvars.rst:90 -msgid "" -"Create a shallow copy of the current thread context. Returns ``NULL`` if an " -"error has occurred." -msgstr "" - -#: ../../c-api/contextvars.rst:95 -msgid "" -"Set *ctx* as the current context for the current thread. Returns ``0`` on " -"success, and ``-1`` on error." -msgstr "" - -#: ../../c-api/contextvars.rst:100 -msgid "" -"Deactivate the *ctx* context and restore the previous context as the current" -" context for the current thread. Returns ``0`` on success, and ``-1`` on " -"error." -msgstr "" - -#: ../../c-api/contextvars.rst:106 -msgid "" -"Register *callback* as a context object watcher for the current interpreter." -" Return an ID which may be passed to :c:func:`PyContext_ClearWatcher`. In " -"case of error (e.g. no more watcher IDs available), return ``-1`` and set an" -" exception." -msgstr "" - -#: ../../c-api/contextvars.rst:115 -msgid "" -"Clear watcher identified by *watcher_id* previously returned from " -":c:func:`PyContext_AddWatcher` for the current interpreter. Return ``0`` on " -"success, or ``-1`` and set an exception on error (e.g. if the given " -"*watcher_id* was never registered.)" -msgstr "" - -#: ../../c-api/contextvars.rst:124 -msgid "Enumeration of possible context object watcher events:" -msgstr "" - -#: ../../c-api/contextvars.rst:126 -msgid "" -"``Py_CONTEXT_SWITCHED``: The :term:`current context` has switched to a " -"different context. The object passed to the watch callback is the now-" -"current :class:`contextvars.Context` object, or None if no context is " -"current." -msgstr "" - -#: ../../c-api/contextvars.rst:135 -msgid "" -"Context object watcher callback function. The object passed to the callback" -" is event-specific; see :c:type:`PyContextEvent` for details." -msgstr "" - -#: ../../c-api/contextvars.rst:138 -msgid "" -"If the callback returns with an exception set, it must return ``-1``; this " -"exception will be printed as an unraisable exception using " -":c:func:`PyErr_FormatUnraisable`. Otherwise it should return ``0``." -msgstr "" - -#: ../../c-api/contextvars.rst:142 -msgid "" -"There may already be a pending exception set on entry to the callback. In " -"this case, the callback should return ``0`` with the same exception still " -"set. This means the callback may not call any other API that can set an " -"exception unless it saves and clears the exception state first, and restores" -" it before returning." -msgstr "" - -#: ../../c-api/contextvars.rst:151 -msgid "Context variable functions:" -msgstr "" - -#: ../../c-api/contextvars.rst:155 -msgid "" -"Create a new ``ContextVar`` object. The *name* parameter is used for " -"introspection and debug purposes. The *def* parameter specifies a default " -"value for the context variable, or ``NULL`` for no default. If an error has " -"occurred, this function returns ``NULL``." -msgstr "" - -#: ../../c-api/contextvars.rst:162 -msgid "" -"Get the value of a context variable. Returns ``-1`` if an error has " -"occurred during lookup, and ``0`` if no error occurred, whether or not a " -"value was found." -msgstr "" - -#: ../../c-api/contextvars.rst:166 -msgid "" -"If the context variable was found, *value* will be a pointer to it. If the " -"context variable was *not* found, *value* will point to:" -msgstr "" - -#: ../../c-api/contextvars.rst:169 -msgid "*default_value*, if not ``NULL``;" -msgstr "" - -#: ../../c-api/contextvars.rst:170 -msgid "the default value of *var*, if not ``NULL``;" -msgstr "" - -#: ../../c-api/contextvars.rst:171 -msgid "``NULL``" -msgstr "``NULL``" - -#: ../../c-api/contextvars.rst:173 -msgid "Except for ``NULL``, the function returns a new reference." -msgstr "" - -#: ../../c-api/contextvars.rst:177 -msgid "" -"Set the value of *var* to *value* in the current context. Returns a new " -"token object for this change, or ``NULL`` if an error has occurred." -msgstr "" - -#: ../../c-api/contextvars.rst:182 -msgid "" -"Reset the state of the *var* context variable to that it was in before " -":c:func:`PyContextVar_Set` that returned the *token* was called. This " -"function returns ``0`` on success and ``-1`` on error." -msgstr "" diff --git a/python-newest.c-api--conversion/id.po b/python-newest.c-api--conversion/id.po deleted file mode 100644 index 9634be8..0000000 --- a/python-newest.c-api--conversion/id.po +++ /dev/null @@ -1,247 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Faiq Zakki <221709674@stis.ac.id>, 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Faiq Zakki <221709674@stis.ac.id>, 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/conversion.rst:6 -msgid "String conversion and formatting" -msgstr "Pemformatan dan konversi string" - -#: ../../c-api/conversion.rst:8 -msgid "Functions for number conversion and formatted string output." -msgstr "Fungsi-fungsi untuk konversi angka dan output string yang diformat" - -#: ../../c-api/conversion.rst:13 -msgid "" -"Output not more than *size* bytes to *str* according to the format string " -"*format* and the extra arguments. See the Unix man page " -":manpage:`snprintf(3)`." -msgstr "" - -#: ../../c-api/conversion.rst:19 -msgid "" -"Output not more than *size* bytes to *str* according to the format string " -"*format* and the variable argument list *va*. Unix man page " -":manpage:`vsnprintf(3)`." -msgstr "" - -#: ../../c-api/conversion.rst:23 -msgid "" -":c:func:`PyOS_snprintf` and :c:func:`PyOS_vsnprintf` wrap the Standard C " -"library functions :c:func:`snprintf` and :c:func:`vsnprintf`. Their purpose " -"is to guarantee consistent behavior in corner cases, which the Standard C " -"functions do not." -msgstr "" - -#: ../../c-api/conversion.rst:28 -msgid "" -"The wrappers ensure that ``str[size-1]`` is always ``'\\0'`` upon return. " -"They never write more than *size* bytes (including the trailing ``'\\0'``) " -"into str. Both functions require that ``str != NULL``, ``size > 0``, " -"``format != NULL`` and ``size < INT_MAX``. Note that this means there is no " -"equivalent to the C99 ``n = snprintf(NULL, 0, ...)`` which would determine " -"the necessary buffer size." -msgstr "" - -#: ../../c-api/conversion.rst:34 -msgid "" -"The return value (*rv*) for these functions should be interpreted as " -"follows:" -msgstr "" - -#: ../../c-api/conversion.rst:36 -msgid "" -"When ``0 <= rv < size``, the output conversion was successful and *rv* " -"characters were written to *str* (excluding the trailing ``'\\0'`` byte at " -"``str[rv]``)." -msgstr "" - -#: ../../c-api/conversion.rst:40 -msgid "" -"When ``rv >= size``, the output conversion was truncated and a buffer with " -"``rv + 1`` bytes would have been needed to succeed. ``str[size-1]`` is " -"``'\\0'`` in this case." -msgstr "" - -#: ../../c-api/conversion.rst:44 -msgid "" -"When ``rv < 0``, \"something bad happened.\" ``str[size-1]`` is ``'\\0'`` in" -" this case too, but the rest of *str* is undefined. The exact cause of the " -"error depends on the underlying platform." -msgstr "" - -#: ../../c-api/conversion.rst:49 -msgid "" -"The following functions provide locale-independent string to number " -"conversions." -msgstr "" - -#: ../../c-api/conversion.rst:53 -msgid "" -"Convert the initial part of the string in ``str`` to an :c:expr:`unsigned " -"long` value according to the given ``base``, which must be between ``2`` and" -" ``36`` inclusive, or be the special value ``0``." -msgstr "" - -#: ../../c-api/conversion.rst:57 -msgid "" -"Leading white space and case of characters are ignored. If ``base`` is zero" -" it looks for a leading ``0b``, ``0o`` or ``0x`` to tell which base. If " -"these are absent it defaults to ``10``. Base must be 0 or between 2 and 36 " -"(inclusive). If ``ptr`` is non-``NULL`` it will contain a pointer to the " -"end of the scan." -msgstr "" - -#: ../../c-api/conversion.rst:63 -msgid "" -"If the converted value falls out of range of corresponding return type, " -"range error occurs (:c:data:`errno` is set to :c:macro:`!ERANGE`) and " -":c:macro:`!ULONG_MAX` is returned. If no conversion can be performed, ``0``" -" is returned." -msgstr "" - -#: ../../c-api/conversion.rst:68 -msgid "See also the Unix man page :manpage:`strtoul(3)`." -msgstr "" - -#: ../../c-api/conversion.rst:75 -msgid "" -"Convert the initial part of the string in ``str`` to an :c:expr:`long` value" -" according to the given ``base``, which must be between ``2`` and ``36`` " -"inclusive, or be the special value ``0``." -msgstr "" - -#: ../../c-api/conversion.rst:79 -msgid "" -"Same as :c:func:`PyOS_strtoul`, but return a :c:expr:`long` value instead " -"and :c:macro:`LONG_MAX` on overflows." -msgstr "" - -#: ../../c-api/conversion.rst:82 -msgid "See also the Unix man page :manpage:`strtol(3)`." -msgstr "" - -#: ../../c-api/conversion.rst:89 -msgid "" -"Convert a string ``s`` to a :c:expr:`double`, raising a Python exception on " -"failure. The set of accepted strings corresponds to the set of strings " -"accepted by Python's :func:`float` constructor, except that ``s`` must not " -"have leading or trailing whitespace. The conversion is independent of the " -"current locale." -msgstr "" - -#: ../../c-api/conversion.rst:95 -msgid "" -"If ``endptr`` is ``NULL``, convert the whole string. Raise " -":exc:`ValueError` and return ``-1.0`` if the string is not a valid " -"representation of a floating-point number." -msgstr "" - -#: ../../c-api/conversion.rst:99 -msgid "" -"If endptr is not ``NULL``, convert as much of the string as possible and set" -" ``*endptr`` to point to the first unconverted character. If no initial " -"segment of the string is the valid representation of a floating-point " -"number, set ``*endptr`` to point to the beginning of the string, raise " -"ValueError, and return ``-1.0``." -msgstr "" - -#: ../../c-api/conversion.rst:106 -msgid "" -"If ``s`` represents a value that is too large to store in a float (for " -"example, ``\"1e500\"`` is such a string on many platforms) then if " -"``overflow_exception`` is ``NULL`` return ``Py_INFINITY`` (with an " -"appropriate sign) and don't set any exception. Otherwise, " -"``overflow_exception`` must point to a Python exception object; raise that " -"exception and return ``-1.0``. In both cases, set ``*endptr`` to point to " -"the first character after the converted value." -msgstr "" - -#: ../../c-api/conversion.rst:114 -msgid "" -"If any other error occurs during the conversion (for example an out-of-" -"memory error), set the appropriate Python exception and return ``-1.0``." -msgstr "" - -#: ../../c-api/conversion.rst:123 -msgid "" -"Convert a :c:expr:`double` *val* to a string using supplied *format_code*, " -"*precision*, and *flags*." -msgstr "" - -#: ../../c-api/conversion.rst:126 -msgid "" -"*format_code* must be one of ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, " -"``'G'`` or ``'r'``. For ``'r'``, the supplied *precision* must be 0 and is " -"ignored. The ``'r'`` format code specifies the standard :func:`repr` " -"format." -msgstr "" - -#: ../../c-api/conversion.rst:131 -msgid "" -"*flags* can be zero or more of the values ``Py_DTSF_SIGN``, " -"``Py_DTSF_ADD_DOT_0``, or ``Py_DTSF_ALT``, or-ed together:" -msgstr "" - -#: ../../c-api/conversion.rst:134 -msgid "" -"``Py_DTSF_SIGN`` means to always precede the returned string with a sign " -"character, even if *val* is non-negative." -msgstr "" - -#: ../../c-api/conversion.rst:137 -msgid "" -"``Py_DTSF_ADD_DOT_0`` means to ensure that the returned string will not look" -" like an integer." -msgstr "" - -#: ../../c-api/conversion.rst:140 -msgid "" -"``Py_DTSF_ALT`` means to apply \"alternate\" formatting rules. See the " -"documentation for the :c:func:`PyOS_snprintf` ``'#'`` specifier for details." -msgstr "" - -#: ../../c-api/conversion.rst:144 -msgid "" -"If *ptype* is non-``NULL``, then the value it points to will be set to one " -"of ``Py_DTST_FINITE``, ``Py_DTST_INFINITE``, or ``Py_DTST_NAN``, signifying " -"that *val* is a finite number, an infinite number, or not a number, " -"respectively." -msgstr "" - -#: ../../c-api/conversion.rst:148 -msgid "" -"The return value is a pointer to *buffer* with the converted string or " -"``NULL`` if the conversion failed. The caller is responsible for freeing the" -" returned string by calling :c:func:`PyMem_Free`." -msgstr "" - -#: ../../c-api/conversion.rst:157 -msgid "" -"Case insensitive comparison of strings. The function works almost " -"identically to :c:func:`!strcmp` except that it ignores the case." -msgstr "" - -#: ../../c-api/conversion.rst:163 -msgid "" -"Case insensitive comparison of strings. The function works almost " -"identically to :c:func:`!strncmp` except that it ignores the case." -msgstr "" diff --git a/python-newest.c-api--coro/id.po b/python-newest.c-api--coro/id.po deleted file mode 100644 index 3db28f0..0000000 --- a/python-newest.c-api--coro/id.po +++ /dev/null @@ -1,63 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# LIQRGV , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: LIQRGV , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/coro.rst:6 -msgid "Coroutine Objects" -msgstr "Objek Coroutine" - -#: ../../c-api/coro.rst:10 -msgid "" -"Coroutine objects are what functions declared with an ``async`` keyword " -"return." -msgstr "" -"Objek Coroutine adalah fungsi yang dideklarasikan dengan pengembalian kata " -"kunci ``async``." - -#: ../../c-api/coro.rst:16 -msgid "The C structure used for coroutine objects." -msgstr "Struktur C yang digunakan untuk objek coroutine." - -#: ../../c-api/coro.rst:21 -msgid "The type object corresponding to coroutine objects." -msgstr "Jenis objek yang sesuai dengan objek coroutine." - -#: ../../c-api/coro.rst:26 -msgid "" -"Return true if *ob*'s type is :c:type:`PyCoro_Type`; *ob* must not be " -"``NULL``. This function always succeeds." -msgstr "" -"Mengembalikan benar jika tipe dari *ob* adalah :c:type:`PyCoro_Type`; *ob* " -"harus tidak ``NULL``. Fungsi ini selalu sukses." - -#: ../../c-api/coro.rst:32 -msgid "" -"Create and return a new coroutine object based on the *frame* object, with " -"``__name__`` and ``__qualname__`` set to *name* and *qualname*. A reference " -"to *frame* is stolen by this function. The *frame* argument must not be " -"``NULL``." -msgstr "" -"Membuat and mengembalikan sebuah objek coroutine berdasarkan objek *frame* ," -" dengan ``__name__`` dan ``__qualname__`` diatur menjadi *name* dan " -"*qualname*. Referensi menuju *frame* diambil oleh fungsi ini. Argumen " -"*frame* tidak boleh ``NULL``." diff --git a/python-newest.c-api--datetime/id.po b/python-newest.c-api--datetime/id.po deleted file mode 100644 index 0687b5e..0000000 --- a/python-newest.c-api--datetime/id.po +++ /dev/null @@ -1,314 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# LIQRGV , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: LIQRGV , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/datetime.rst:6 -msgid "DateTime Objects" -msgstr "Objek DateTime" - -#: ../../c-api/datetime.rst:8 -msgid "" -"Various date and time objects are supplied by the :mod:`datetime` module. " -"Before using any of these functions, the header file :file:`datetime.h` must" -" be included in your source (note that this is not included by " -":file:`Python.h`), and the macro :c:macro:`!PyDateTime_IMPORT` must be " -"invoked, usually as part of the module initialisation function. The macro " -"puts a pointer to a C structure into a static variable, " -":c:data:`!PyDateTimeAPI`, that is used by the following macros." -msgstr "" - -#: ../../c-api/datetime.rst:18 -msgid "This subtype of :c:type:`PyObject` represents a Python date object." -msgstr "" - -#: ../../c-api/datetime.rst:22 -msgid "" -"This subtype of :c:type:`PyObject` represents a Python datetime object." -msgstr "" - -#: ../../c-api/datetime.rst:26 -msgid "This subtype of :c:type:`PyObject` represents a Python time object." -msgstr "" - -#: ../../c-api/datetime.rst:30 -msgid "" -"This subtype of :c:type:`PyObject` represents the difference between two " -"datetime values." -msgstr "" - -#: ../../c-api/datetime.rst:34 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python date type; it " -"is the same object as :class:`datetime.date` in the Python layer." -msgstr "" - -#: ../../c-api/datetime.rst:39 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python datetime type;" -" it is the same object as :class:`datetime.datetime` in the Python layer." -msgstr "" - -#: ../../c-api/datetime.rst:44 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python time type; it " -"is the same object as :class:`datetime.time` in the Python layer." -msgstr "" - -#: ../../c-api/datetime.rst:49 -msgid "" -"This instance of :c:type:`PyTypeObject` represents Python type for the " -"difference between two datetime values; it is the same object as " -":class:`datetime.timedelta` in the Python layer." -msgstr "" - -#: ../../c-api/datetime.rst:55 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python time zone info" -" type; it is the same object as :class:`datetime.tzinfo` in the Python " -"layer." -msgstr "" - -#: ../../c-api/datetime.rst:59 -msgid "Macro for access to the UTC singleton:" -msgstr "" - -#: ../../c-api/datetime.rst:63 -msgid "" -"Returns the time zone singleton representing UTC, the same object as " -":attr:`datetime.timezone.utc`." -msgstr "" - -#: ../../c-api/datetime.rst:69 -msgid "Type-check macros:" -msgstr "" - -#: ../../c-api/datetime.rst:73 -msgid "" -"Return true if *ob* is of type :c:data:`PyDateTime_DateType` or a subtype of" -" :c:data:`!PyDateTime_DateType`. *ob* must not be ``NULL``. This function " -"always succeeds." -msgstr "" - -#: ../../c-api/datetime.rst:80 -msgid "" -"Return true if *ob* is of type :c:data:`PyDateTime_DateType`. *ob* must not " -"be ``NULL``. This function always succeeds." -msgstr "" - -#: ../../c-api/datetime.rst:86 -msgid "" -"Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType` or a " -"subtype of :c:data:`!PyDateTime_DateTimeType`. *ob* must not be ``NULL``. " -"This function always succeeds." -msgstr "" - -#: ../../c-api/datetime.rst:93 -msgid "" -"Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType`. *ob* must " -"not be ``NULL``. This function always succeeds." -msgstr "" - -#: ../../c-api/datetime.rst:99 -msgid "" -"Return true if *ob* is of type :c:data:`PyDateTime_TimeType` or a subtype of" -" :c:data:`!PyDateTime_TimeType`. *ob* must not be ``NULL``. This function " -"always succeeds." -msgstr "" - -#: ../../c-api/datetime.rst:106 -msgid "" -"Return true if *ob* is of type :c:data:`PyDateTime_TimeType`. *ob* must not " -"be ``NULL``. This function always succeeds." -msgstr "" - -#: ../../c-api/datetime.rst:112 -msgid "" -"Return true if *ob* is of type :c:data:`PyDateTime_DeltaType` or a subtype " -"of :c:data:`!PyDateTime_DeltaType`. *ob* must not be ``NULL``. This " -"function always succeeds." -msgstr "" - -#: ../../c-api/datetime.rst:119 -msgid "" -"Return true if *ob* is of type :c:data:`PyDateTime_DeltaType`. *ob* must not" -" be ``NULL``. This function always succeeds." -msgstr "" - -#: ../../c-api/datetime.rst:125 -msgid "" -"Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType` or a subtype " -"of :c:data:`!PyDateTime_TZInfoType`. *ob* must not be ``NULL``. This " -"function always succeeds." -msgstr "" - -#: ../../c-api/datetime.rst:132 -msgid "" -"Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType`. *ob* must " -"not be ``NULL``. This function always succeeds." -msgstr "" - -#: ../../c-api/datetime.rst:136 -msgid "Macros to create objects:" -msgstr "" - -#: ../../c-api/datetime.rst:140 -msgid "" -"Return a :class:`datetime.date` object with the specified year, month and " -"day." -msgstr "" - -#: ../../c-api/datetime.rst:145 -msgid "" -"Return a :class:`datetime.datetime` object with the specified year, month, " -"day, hour, minute, second and microsecond." -msgstr "" - -#: ../../c-api/datetime.rst:151 -msgid "" -"Return a :class:`datetime.datetime` object with the specified year, month, " -"day, hour, minute, second, microsecond and fold." -msgstr "" - -#: ../../c-api/datetime.rst:159 -msgid "" -"Return a :class:`datetime.time` object with the specified hour, minute, " -"second and microsecond." -msgstr "" - -#: ../../c-api/datetime.rst:165 -msgid "" -"Return a :class:`datetime.time` object with the specified hour, minute, " -"second, microsecond and fold." -msgstr "" - -#: ../../c-api/datetime.rst:173 -msgid "" -"Return a :class:`datetime.timedelta` object representing the given number of" -" days, seconds and microseconds. Normalization is performed so that the " -"resulting number of microseconds and seconds lie in the ranges documented " -"for :class:`datetime.timedelta` objects." -msgstr "" - -#: ../../c-api/datetime.rst:181 -msgid "" -"Return a :class:`datetime.timezone` object with an unnamed fixed offset " -"represented by the *offset* argument." -msgstr "" - -#: ../../c-api/datetime.rst:189 -msgid "" -"Return a :class:`datetime.timezone` object with a fixed offset represented " -"by the *offset* argument and with tzname *name*." -msgstr "" - -#: ../../c-api/datetime.rst:195 -msgid "" -"Macros to extract fields from date objects. The argument must be an " -"instance of :c:type:`PyDateTime_Date`, including subclasses (such as " -":c:type:`PyDateTime_DateTime`). The argument must not be ``NULL``, and the " -"type is not checked:" -msgstr "" - -#: ../../c-api/datetime.rst:202 -msgid "Return the year, as a positive int." -msgstr "" - -#: ../../c-api/datetime.rst:207 -msgid "Return the month, as an int from 1 through 12." -msgstr "" - -#: ../../c-api/datetime.rst:212 -msgid "Return the day, as an int from 1 through 31." -msgstr "" - -#: ../../c-api/datetime.rst:215 -msgid "" -"Macros to extract fields from datetime objects. The argument must be an " -"instance of :c:type:`PyDateTime_DateTime`, including subclasses. The " -"argument must not be ``NULL``, and the type is not checked:" -msgstr "" - -#: ../../c-api/datetime.rst:221 ../../c-api/datetime.rst:259 -msgid "Return the hour, as an int from 0 through 23." -msgstr "" - -#: ../../c-api/datetime.rst:226 ../../c-api/datetime.rst:264 -msgid "Return the minute, as an int from 0 through 59." -msgstr "" - -#: ../../c-api/datetime.rst:231 ../../c-api/datetime.rst:269 -msgid "Return the second, as an int from 0 through 59." -msgstr "" - -#: ../../c-api/datetime.rst:236 ../../c-api/datetime.rst:274 -msgid "Return the microsecond, as an int from 0 through 999999." -msgstr "" - -#: ../../c-api/datetime.rst:241 ../../c-api/datetime.rst:279 -msgid "Return the fold, as an int from 0 through 1." -msgstr "" - -#: ../../c-api/datetime.rst:248 ../../c-api/datetime.rst:286 -msgid "Return the tzinfo (which may be ``None``)." -msgstr "" - -#: ../../c-api/datetime.rst:253 -msgid "" -"Macros to extract fields from time objects. The argument must be an " -"instance of :c:type:`PyDateTime_Time`, including subclasses. The argument " -"must not be ``NULL``, and the type is not checked:" -msgstr "" - -#: ../../c-api/datetime.rst:291 -msgid "" -"Macros to extract fields from time delta objects. The argument must be an " -"instance of :c:type:`PyDateTime_Delta`, including subclasses. The argument " -"must not be ``NULL``, and the type is not checked:" -msgstr "" - -#: ../../c-api/datetime.rst:297 -msgid "Return the number of days, as an int from -999999999 to 999999999." -msgstr "" - -#: ../../c-api/datetime.rst:304 -msgid "Return the number of seconds, as an int from 0 through 86399." -msgstr "" - -#: ../../c-api/datetime.rst:311 -msgid "Return the number of microseconds, as an int from 0 through 999999." -msgstr "" - -#: ../../c-api/datetime.rst:316 -msgid "Macros for the convenience of modules implementing the DB API:" -msgstr "" - -#: ../../c-api/datetime.rst:320 -msgid "" -"Create and return a new :class:`datetime.datetime` object given an argument " -"tuple suitable for passing to :meth:`datetime.datetime.fromtimestamp`." -msgstr "" - -#: ../../c-api/datetime.rst:326 -msgid "" -"Create and return a new :class:`datetime.date` object given an argument " -"tuple suitable for passing to :meth:`datetime.date.fromtimestamp`." -msgstr "" diff --git a/python-newest.c-api--descriptor/id.po b/python-newest.c-api--descriptor/id.po deleted file mode 100644 index 9f94c24..0000000 --- a/python-newest.c-api--descriptor/id.po +++ /dev/null @@ -1,45 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/descriptor.rst:6 -msgid "Descriptor Objects" -msgstr "Obyek Deskriptor" - -#: ../../c-api/descriptor.rst:8 -msgid "" -"\"Descriptors\" are objects that describe some attribute of an object. They " -"are found in the dictionary of type objects." -msgstr "" -"\"Deskriptor\" adalah obyek yang menggambarkan beberapa atribut dari suatu " -"obyek. Hal tersebut ditemukan dalam kamus jenis obyek." - -#: ../../c-api/descriptor.rst:15 -msgid "The type object for the built-in descriptor types." -msgstr "Jenis obyek untuk jenis deskriptor bawaan." - -#: ../../c-api/descriptor.rst:35 -msgid "" -"Return non-zero if the descriptor objects *descr* describes a data " -"attribute, or ``0`` if it describes a method. *descr* must be a descriptor " -"object; there is no error checking." -msgstr "" diff --git a/python-newest.c-api--dict/id.po b/python-newest.c-api--dict/id.po deleted file mode 100644 index f6f30f2..0000000 --- a/python-newest.c-api--dict/id.po +++ /dev/null @@ -1,496 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/dict.rst:6 -msgid "Dictionary Objects" -msgstr "Objek *Dictionary*" - -#: ../../c-api/dict.rst:13 -msgid "" -"This subtype of :c:type:`PyObject` represents a Python dictionary object." -msgstr "" - -#: ../../c-api/dict.rst:18 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python dictionary " -"type. This is the same object as :class:`dict` in the Python layer." -msgstr "" - -#: ../../c-api/dict.rst:24 -msgid "" -"Return true if *p* is a dict object or an instance of a subtype of the dict " -"type. This function always succeeds." -msgstr "" - -#: ../../c-api/dict.rst:30 -msgid "" -"Return true if *p* is a dict object, but not an instance of a subtype of the" -" dict type. This function always succeeds." -msgstr "" - -#: ../../c-api/dict.rst:36 -msgid "Return a new empty dictionary, or ``NULL`` on failure." -msgstr "" - -#: ../../c-api/dict.rst:41 -msgid "" -"Return a :class:`types.MappingProxyType` object for a mapping which enforces" -" read-only behavior. This is normally used to create a view to prevent " -"modification of the dictionary for non-dynamic class types." -msgstr "" - -#: ../../c-api/dict.rst:48 -msgid "Empty an existing dictionary of all key-value pairs." -msgstr "" - -#: ../../c-api/dict.rst:53 -msgid "" -"Determine if dictionary *p* contains *key*. If an item in *p* is matches " -"*key*, return ``1``, otherwise return ``0``. On error, return ``-1``. This " -"is equivalent to the Python expression ``key in p``." -msgstr "" - -#: ../../c-api/dict.rst:60 -msgid "" -"This is the same as :c:func:`PyDict_Contains`, but *key* is specified as a " -":c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/dict.rst:69 -msgid "Return a new dictionary that contains the same key-value pairs as *p*." -msgstr "" - -#: ../../c-api/dict.rst:74 -msgid "" -"Insert *val* into the dictionary *p* with a key of *key*. *key* must be " -":term:`hashable`; if it isn't, :exc:`TypeError` will be raised. Return ``0``" -" on success or ``-1`` on failure. This function *does not* steal a " -"reference to *val*." -msgstr "" - -#: ../../c-api/dict.rst:82 -msgid "" -"This is the same as :c:func:`PyDict_SetItem`, but *key* is specified as a " -":c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/dict.rst:89 -msgid "" -"Remove the entry in dictionary *p* with key *key*. *key* must be " -":term:`hashable`; if it isn't, :exc:`TypeError` is raised. If *key* is not " -"in the dictionary, :exc:`KeyError` is raised. Return ``0`` on success or " -"``-1`` on failure." -msgstr "" - -#: ../../c-api/dict.rst:97 -msgid "" -"This is the same as :c:func:`PyDict_DelItem`, but *key* is specified as a " -":c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/dict.rst:104 -msgid "" -"Return a new :term:`strong reference` to the object from dictionary *p* " -"which has a key *key*:" -msgstr "" - -#: ../../c-api/dict.rst:107 -msgid "" -"If the key is present, set *\\*result* to a new :term:`strong reference` to " -"the value and return ``1``." -msgstr "" - -#: ../../c-api/dict.rst:109 -msgid "If the key is missing, set *\\*result* to ``NULL`` and return ``0``." -msgstr "" - -#: ../../c-api/dict.rst:110 ../../c-api/dict.rst:207 -msgid "On error, raise an exception and return ``-1``." -msgstr "" - -#: ../../c-api/dict.rst:114 -msgid "See also the :c:func:`PyObject_GetItem` function." -msgstr "" - -#: ../../c-api/dict.rst:119 -msgid "" -"Return a :term:`borrowed reference` to the object from dictionary *p* which " -"has a key *key*. Return ``NULL`` if the key *key* is missing *without* " -"setting an exception." -msgstr "" - -#: ../../c-api/dict.rst:125 -msgid "" -"Exceptions that occur while this calls :meth:`~object.__hash__` and " -":meth:`~object.__eq__` methods are silently ignored. Prefer the " -":c:func:`PyDict_GetItemWithError` function instead." -msgstr "" - -#: ../../c-api/dict.rst:129 -msgid "" -"Calling this API without an :term:`attached thread state` had been allowed " -"for historical reason. It is no longer allowed." -msgstr "" - -#: ../../c-api/dict.rst:136 -msgid "" -"Variant of :c:func:`PyDict_GetItem` that does not suppress exceptions. " -"Return ``NULL`` **with** an exception set if an exception occurred. Return " -"``NULL`` **without** an exception set if the key wasn't present." -msgstr "" - -#: ../../c-api/dict.rst:144 -msgid "" -"This is the same as :c:func:`PyDict_GetItem`, but *key* is specified as a " -":c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/dict.rst:150 -msgid "" -"Exceptions that occur while this calls :meth:`~object.__hash__` and " -":meth:`~object.__eq__` methods or while creating the temporary :class:`str` " -"object are silently ignored. Prefer using the " -":c:func:`PyDict_GetItemWithError` function with your own " -":c:func:`PyUnicode_FromString` *key* instead." -msgstr "" - -#: ../../c-api/dict.rst:159 -msgid "" -"Similar to :c:func:`PyDict_GetItemRef`, but *key* is specified as a " -":c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/dict.rst:168 -msgid "" -"This is the same as the Python-level :meth:`dict.setdefault`. If present, " -"it returns the value corresponding to *key* from the dictionary *p*. If the" -" key is not in the dict, it is inserted with value *defaultobj* and " -"*defaultobj* is returned. This function evaluates the hash function of " -"*key* only once, instead of evaluating it independently for the lookup and " -"the insertion." -msgstr "" - -#: ../../c-api/dict.rst:179 -msgid "" -"Inserts *default_value* into the dictionary *p* with a key of *key* if the " -"key is not already present in the dictionary. If *result* is not ``NULL``, " -"then *\\*result* is set to a :term:`strong reference` to either " -"*default_value*, if the key was not present, or the existing value, if *key*" -" was already present in the dictionary. Returns ``1`` if the key was present" -" and *default_value* was not inserted, or ``0`` if the key was not present " -"and *default_value* was inserted. On failure, returns ``-1``, sets an " -"exception, and sets ``*result`` to ``NULL``." -msgstr "" - -#: ../../c-api/dict.rst:189 -msgid "" -"For clarity: if you have a strong reference to *default_value* before " -"calling this function, then after it returns, you hold a strong reference to" -" both *default_value* and *\\*result* (if it's not ``NULL``). These may " -"refer to the same object: in that case you hold two separate references to " -"it." -msgstr "" - -#: ../../c-api/dict.rst:200 -msgid "" -"Remove *key* from dictionary *p* and optionally return the removed value. Do" -" not raise :exc:`KeyError` if the key missing." -msgstr "" - -#: ../../c-api/dict.rst:203 -msgid "" -"If the key is present, set *\\*result* to a new reference to the removed " -"value if *result* is not ``NULL``, and return ``1``." -msgstr "" - -#: ../../c-api/dict.rst:205 -msgid "" -"If the key is missing, set *\\*result* to ``NULL`` if *result* is not " -"``NULL``, and return ``0``." -msgstr "" - -#: ../../c-api/dict.rst:209 -msgid "" -"Similar to :meth:`dict.pop`, but without the default value and not raising " -":exc:`KeyError` if the key missing." -msgstr "" - -#: ../../c-api/dict.rst:217 -msgid "" -"Similar to :c:func:`PyDict_Pop`, but *key* is specified as a :c:expr:`const " -"char*` UTF-8 encoded bytes string, rather than a :c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/dict.rst:226 -msgid "" -"Return a :c:type:`PyListObject` containing all the items from the " -"dictionary." -msgstr "" - -#: ../../c-api/dict.rst:231 -msgid "" -"Return a :c:type:`PyListObject` containing all the keys from the dictionary." -msgstr "" - -#: ../../c-api/dict.rst:236 -msgid "" -"Return a :c:type:`PyListObject` containing all the values from the " -"dictionary *p*." -msgstr "" - -#: ../../c-api/dict.rst:244 -msgid "" -"Return the number of items in the dictionary. This is equivalent to " -"``len(p)`` on a dictionary." -msgstr "" - -#: ../../c-api/dict.rst:250 -msgid "" -"Iterate over all key-value pairs in the dictionary *p*. The " -":c:type:`Py_ssize_t` referred to by *ppos* must be initialized to ``0`` " -"prior to the first call to this function to start the iteration; the " -"function returns true for each pair in the dictionary, and false once all " -"pairs have been reported. The parameters *pkey* and *pvalue* should either " -"point to :c:expr:`PyObject*` variables that will be filled in with each key " -"and value, respectively, or may be ``NULL``. Any references returned " -"through them are borrowed. *ppos* should not be altered during iteration. " -"Its value represents offsets within the internal dictionary structure, and " -"since the structure is sparse, the offsets are not consecutive." -msgstr "" - -#: ../../c-api/dict.rst:261 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../c-api/dict.rst:263 -msgid "" -"PyObject *key, *value;\n" -"Py_ssize_t pos = 0;\n" -"\n" -"while (PyDict_Next(self->dict, &pos, &key, &value)) {\n" -" /* do something interesting with the values... */\n" -" ...\n" -"}" -msgstr "" - -#: ../../c-api/dict.rst:271 -msgid "" -"The dictionary *p* should not be mutated during iteration. It is safe to " -"modify the values of the keys as you iterate over the dictionary, but only " -"so long as the set of keys does not change. For example::" -msgstr "" - -#: ../../c-api/dict.rst:275 -msgid "" -"PyObject *key, *value;\n" -"Py_ssize_t pos = 0;\n" -"\n" -"while (PyDict_Next(self->dict, &pos, &key, &value)) {\n" -" long i = PyLong_AsLong(value);\n" -" if (i == -1 && PyErr_Occurred()) {\n" -" return -1;\n" -" }\n" -" PyObject *o = PyLong_FromLong(i + 1);\n" -" if (o == NULL)\n" -" return -1;\n" -" if (PyDict_SetItem(self->dict, key, o) < 0) {\n" -" Py_DECREF(o);\n" -" return -1;\n" -" }\n" -" Py_DECREF(o);\n" -"}" -msgstr "" - -#: ../../c-api/dict.rst:293 -msgid "" -"The function is not thread-safe in the :term:`free-threaded ` build without external synchronization. You can use " -":c:macro:`Py_BEGIN_CRITICAL_SECTION` to lock the dictionary while iterating " -"over it::" -msgstr "" - -#: ../../c-api/dict.rst:298 -msgid "" -"Py_BEGIN_CRITICAL_SECTION(self->dict);\n" -"while (PyDict_Next(self->dict, &pos, &key, &value)) {\n" -" ...\n" -"}\n" -"Py_END_CRITICAL_SECTION();" -msgstr "" - -#: ../../c-api/dict.rst:307 -msgid "" -"Iterate over mapping object *b* adding key-value pairs to dictionary *a*. " -"*b* may be a dictionary, or any object supporting :c:func:`PyMapping_Keys` " -"and :c:func:`PyObject_GetItem`. If *override* is true, existing pairs in *a*" -" will be replaced if a matching key is found in *b*, otherwise pairs will " -"only be added if there is not a matching key in *a*. Return ``0`` on success" -" or ``-1`` if an exception was raised." -msgstr "" - -#: ../../c-api/dict.rst:317 -msgid "" -"This is the same as ``PyDict_Merge(a, b, 1)`` in C, and is similar to " -"``a.update(b)`` in Python except that :c:func:`PyDict_Update` doesn't fall " -"back to the iterating over a sequence of key value pairs if the second " -"argument has no \"keys\" attribute. Return ``0`` on success or ``-1`` if an" -" exception was raised." -msgstr "" - -#: ../../c-api/dict.rst:326 -msgid "" -"Update or merge into dictionary *a*, from the key-value pairs in *seq2*. " -"*seq2* must be an iterable object producing iterable objects of length 2, " -"viewed as key-value pairs. In case of duplicate keys, the last wins if " -"*override* is true, else the first wins. Return ``0`` on success or ``-1`` " -"if an exception was raised. Equivalent Python (except for the return " -"value)::" -msgstr "" - -#: ../../c-api/dict.rst:333 -msgid "" -"def PyDict_MergeFromSeq2(a, seq2, override):\n" -" for key, value in seq2:\n" -" if override or key not in a:\n" -" a[key] = value" -msgstr "" - -#: ../../c-api/dict.rst:340 -msgid "" -"Register *callback* as a dictionary watcher. Return a non-negative integer " -"id which must be passed to future calls to :c:func:`PyDict_Watch`. In case " -"of error (e.g. no more watcher IDs available), return ``-1`` and set an " -"exception." -msgstr "" - -#: ../../c-api/dict.rst:349 -msgid "" -"Clear watcher identified by *watcher_id* previously returned from " -":c:func:`PyDict_AddWatcher`. Return ``0`` on success, ``-1`` on error (e.g. " -"if the given *watcher_id* was never registered.)" -msgstr "" - -#: ../../c-api/dict.rst:357 -msgid "" -"Mark dictionary *dict* as watched. The callback granted *watcher_id* by " -":c:func:`PyDict_AddWatcher` will be called when *dict* is modified or " -"deallocated. Return ``0`` on success or ``-1`` on error." -msgstr "" - -#: ../../c-api/dict.rst:365 -msgid "" -"Mark dictionary *dict* as no longer watched. The callback granted " -"*watcher_id* by :c:func:`PyDict_AddWatcher` will no longer be called when " -"*dict* is modified or deallocated. The dict must previously have been " -"watched by this watcher. Return ``0`` on success or ``-1`` on error." -msgstr "" - -#: ../../c-api/dict.rst:374 -msgid "" -"Enumeration of possible dictionary watcher events: ``PyDict_EVENT_ADDED``, " -"``PyDict_EVENT_MODIFIED``, ``PyDict_EVENT_DELETED``, " -"``PyDict_EVENT_CLONED``, ``PyDict_EVENT_CLEARED``, or " -"``PyDict_EVENT_DEALLOCATED``." -msgstr "" - -#: ../../c-api/dict.rst:382 -msgid "Type of a dict watcher callback function." -msgstr "" - -#: ../../c-api/dict.rst:384 -msgid "" -"If *event* is ``PyDict_EVENT_CLEARED`` or ``PyDict_EVENT_DEALLOCATED``, both" -" *key* and *new_value* will be ``NULL``. If *event* is " -"``PyDict_EVENT_ADDED`` or ``PyDict_EVENT_MODIFIED``, *new_value* will be the" -" new value for *key*. If *event* is ``PyDict_EVENT_DELETED``, *key* is being" -" deleted from the dictionary and *new_value* will be ``NULL``." -msgstr "" - -#: ../../c-api/dict.rst:390 -msgid "" -"``PyDict_EVENT_CLONED`` occurs when *dict* was previously empty and another " -"dict is merged into it. To maintain efficiency of this operation, per-key " -"``PyDict_EVENT_ADDED`` events are not issued in this case; instead a single " -"``PyDict_EVENT_CLONED`` is issued, and *key* will be the source dictionary." -msgstr "" - -#: ../../c-api/dict.rst:396 -msgid "" -"The callback may inspect but must not modify *dict*; doing so could have " -"unpredictable effects, including infinite recursion. Do not trigger Python " -"code execution in the callback, as it could modify the dict as a side " -"effect." -msgstr "" - -#: ../../c-api/dict.rst:400 -msgid "" -"If *event* is ``PyDict_EVENT_DEALLOCATED``, taking a new reference in the " -"callback to the about-to-be-destroyed dictionary will resurrect it and " -"prevent it from being freed at this time. When the resurrected object is " -"destroyed later, any watcher callbacks active at that time will be called " -"again." -msgstr "" - -#: ../../c-api/dict.rst:406 -msgid "" -"Callbacks occur before the notified modification to *dict* takes place, so " -"the prior state of *dict* can be inspected." -msgstr "" - -#: ../../c-api/dict.rst:409 -msgid "" -"If the callback sets an exception, it must return ``-1``; this exception " -"will be printed as an unraisable exception using " -":c:func:`PyErr_WriteUnraisable`. Otherwise it should return ``0``." -msgstr "" - -#: ../../c-api/dict.rst:413 -msgid "" -"There may already be a pending exception set on entry to the callback. In " -"this case, the callback should return ``0`` with the same exception still " -"set. This means the callback may not call any other API that can set an " -"exception unless it saves and clears the exception state first, and restores" -" it before returning." -msgstr "" - -#: ../../c-api/dict.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/dict.rst:8 -msgid "dictionary" -msgstr "dictionary" - -#: ../../c-api/dict.rst:242 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../c-api/dict.rst:242 -msgid "len" -msgstr "" diff --git a/python-newest.c-api--exceptions/id.po b/python-newest.c-api--exceptions/id.po deleted file mode 100644 index 97f25d3..0000000 --- a/python-newest.c-api--exceptions/id.po +++ /dev/null @@ -1,1992 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/exceptions.rst:8 -msgid "Exception Handling" -msgstr "Penanganan Pengecualian" - -#: ../../c-api/exceptions.rst:10 -msgid "" -"The functions described in this chapter will let you handle and raise Python" -" exceptions. It is important to understand some of the basics of Python " -"exception handling. It works somewhat like the POSIX :c:data:`errno` " -"variable: there is a global indicator (per thread) of the last error that " -"occurred. Most C API functions don't clear this on success, but will set it" -" to indicate the cause of the error on failure. Most C API functions also " -"return an error indicator, usually ``NULL`` if they are supposed to return a" -" pointer, or ``-1`` if they return an integer (exception: the ``PyArg_*`` " -"functions return ``1`` for success and ``0`` for failure)." -msgstr "" - -#: ../../c-api/exceptions.rst:20 -msgid "" -"Concretely, the error indicator consists of three object pointers: the " -"exception's type, the exception's value, and the traceback object. Any of " -"those pointers can be ``NULL`` if non-set (although some combinations are " -"forbidden, for example you can't have a non-``NULL`` traceback if the " -"exception type is ``NULL``)." -msgstr "" - -#: ../../c-api/exceptions.rst:26 -msgid "" -"When a function must fail because some function it called failed, it " -"generally doesn't set the error indicator; the function it called already " -"set it. It is responsible for either handling the error and clearing the " -"exception or returning after cleaning up any resources it holds (such as " -"object references or memory allocations); it should *not* continue normally " -"if it is not prepared to handle the error. If returning due to an error, it" -" is important to indicate to the caller that an error has been set. If the " -"error is not handled or carefully propagated, additional calls into the " -"Python/C API may not behave as intended and may fail in mysterious ways." -msgstr "" - -#: ../../c-api/exceptions.rst:37 -msgid "" -"The error indicator is **not** the result of :func:`sys.exc_info`. The " -"former corresponds to an exception that is not yet caught (and is therefore " -"still propagating), while the latter returns an exception after it is caught" -" (and has therefore stopped propagating)." -msgstr "" - -#: ../../c-api/exceptions.rst:44 -msgid "Printing and clearing" -msgstr "Mencetak dan membersihkan" - -#: ../../c-api/exceptions.rst:49 -msgid "" -"Clear the error indicator. If the error indicator is not set, there is no " -"effect." -msgstr "" - -#: ../../c-api/exceptions.rst:55 -msgid "" -"Print a standard traceback to ``sys.stderr`` and clear the error indicator. " -"**Unless** the error is a ``SystemExit``, in that case no traceback is " -"printed and the Python process will exit with the error code specified by " -"the ``SystemExit`` instance." -msgstr "" - -#: ../../c-api/exceptions.rst:60 -msgid "" -"Call this function **only** when the error indicator is set. Otherwise it " -"will cause a fatal error!" -msgstr "" - -#: ../../c-api/exceptions.rst:63 -msgid "" -"If *set_sys_last_vars* is nonzero, the variable :data:`sys.last_exc` is set " -"to the printed exception. For backwards compatibility, the deprecated " -"variables :data:`sys.last_type`, :data:`sys.last_value` and " -":data:`sys.last_traceback` are also set to the type, value and traceback of " -"this exception, respectively." -msgstr "" - -#: ../../c-api/exceptions.rst:69 -msgid "The setting of :data:`sys.last_exc` was added." -msgstr "" - -#: ../../c-api/exceptions.rst:75 -msgid "Alias for ``PyErr_PrintEx(1)``." -msgstr "Alias dari ``PyErr_PrintEx(1)``." - -#: ../../c-api/exceptions.rst:80 -msgid "" -"Call :func:`sys.unraisablehook` using the current exception and *obj* " -"argument." -msgstr "" - -#: ../../c-api/exceptions.rst:83 -msgid "" -"This utility function prints a warning message to ``sys.stderr`` when an " -"exception has been set but it is impossible for the interpreter to actually " -"raise the exception. It is used, for example, when an exception occurs in " -"an :meth:`~object.__del__` method." -msgstr "" - -#: ../../c-api/exceptions.rst:88 -msgid "" -"The function is called with a single argument *obj* that identifies the " -"context in which the unraisable exception occurred. If possible, the repr of" -" *obj* will be printed in the warning message. If *obj* is ``NULL``, only " -"the traceback is printed." -msgstr "" - -#: ../../c-api/exceptions.rst:93 -msgid "An exception must be set when calling this function." -msgstr "" - -#: ../../c-api/exceptions.rst:95 -msgid "Print a traceback. Print only traceback if *obj* is ``NULL``." -msgstr "" - -#: ../../c-api/exceptions.rst:98 -msgid "Use :func:`sys.unraisablehook`." -msgstr "" - -#: ../../c-api/exceptions.rst:104 -msgid "" -"Similar to :c:func:`PyErr_WriteUnraisable`, but the *format* and subsequent " -"parameters help format the warning message; they have the same meaning and " -"values as in :c:func:`PyUnicode_FromFormat`. ``PyErr_WriteUnraisable(obj)`` " -"is roughly equivalent to ``PyErr_FormatUnraisable(\"Exception ignored in: " -"%R\", obj)``. If *format* is ``NULL``, only the traceback is printed." -msgstr "" - -#: ../../c-api/exceptions.rst:116 -msgid "" -"Print the standard traceback display of ``exc`` to ``sys.stderr``, including" -" chained exceptions and notes." -msgstr "" - -#: ../../c-api/exceptions.rst:123 -msgid "Raising exceptions" -msgstr "Menghasilkan pengecualian" - -#: ../../c-api/exceptions.rst:125 -msgid "" -"These functions help you set the current thread's error indicator. For " -"convenience, some of these functions will always return a ``NULL`` pointer " -"for use in a ``return`` statement." -msgstr "" - -#: ../../c-api/exceptions.rst:132 -msgid "" -"This is the most common way to set the error indicator. The first argument " -"specifies the exception type; it is normally one of the standard exceptions," -" e.g. :c:data:`PyExc_RuntimeError`. You need not create a new :term:`strong" -" reference` to it (e.g. with :c:func:`Py_INCREF`). The second argument is an" -" error message; it is decoded from ``'utf-8'``." -msgstr "" - -#: ../../c-api/exceptions.rst:141 -msgid "" -"This function is similar to :c:func:`PyErr_SetString` but lets you specify " -"an arbitrary Python object for the \"value\" of the exception." -msgstr "" - -#: ../../c-api/exceptions.rst:147 -msgid "" -"This function sets the error indicator and returns ``NULL``. *exception* " -"should be a Python exception class. The *format* and subsequent parameters " -"help format the error message; they have the same meaning and values as in " -":c:func:`PyUnicode_FromFormat`. *format* is an ASCII-encoded string." -msgstr "" - -#: ../../c-api/exceptions.rst:156 -msgid "" -"Same as :c:func:`PyErr_Format`, but taking a :c:type:`va_list` argument " -"rather than a variable number of arguments." -msgstr "" - -#: ../../c-api/exceptions.rst:164 -msgid "This is a shorthand for ``PyErr_SetObject(type, Py_None)``." -msgstr "" - -#: ../../c-api/exceptions.rst:169 -msgid "" -"This is a shorthand for ``PyErr_SetString(PyExc_TypeError, message)``, where" -" *message* indicates that a built-in operation was invoked with an illegal " -"argument. It is mostly for internal use." -msgstr "" - -#: ../../c-api/exceptions.rst:176 -msgid "" -"This is a shorthand for ``PyErr_SetNone(PyExc_MemoryError)``; it returns " -"``NULL`` so an object allocation function can write ``return " -"PyErr_NoMemory();`` when it runs out of memory." -msgstr "" - -#: ../../c-api/exceptions.rst:185 -msgid "" -"This is a convenience function to raise an exception when a C library " -"function has returned an error and set the C variable :c:data:`errno`. It " -"constructs a tuple object whose first item is the integer :c:data:`errno` " -"value and whose second item is the corresponding error message (gotten from " -":c:func:`!strerror`), and then calls ``PyErr_SetObject(type, object)``. On " -"Unix, when the :c:data:`errno` value is :c:macro:`!EINTR`, indicating an " -"interrupted system call, this calls :c:func:`PyErr_CheckSignals`, and if " -"that set the error indicator, leaves it set to that. The function always " -"returns ``NULL``, so a wrapper function around a system call can write " -"``return PyErr_SetFromErrno(type);`` when the system call returns an error." -msgstr "" - -#: ../../c-api/exceptions.rst:199 -msgid "" -"Similar to :c:func:`PyErr_SetFromErrno`, with the additional behavior that " -"if *filenameObject* is not ``NULL``, it is passed to the constructor of " -"*type* as a third parameter. In the case of :exc:`OSError` exception, this " -"is used to define the :attr:`!filename` attribute of the exception instance." -msgstr "" - -#: ../../c-api/exceptions.rst:208 -msgid "" -"Similar to :c:func:`PyErr_SetFromErrnoWithFilenameObject`, but takes a " -"second filename object, for raising errors when a function that takes two " -"filenames fails." -msgstr "" - -#: ../../c-api/exceptions.rst:217 -msgid "" -"Similar to :c:func:`PyErr_SetFromErrnoWithFilenameObject`, but the filename " -"is given as a C string. *filename* is decoded from the :term:`filesystem " -"encoding and error handler`." -msgstr "" - -#: ../../c-api/exceptions.rst:224 -msgid "" -"This is a convenience function to raise :exc:`OSError`. If called with " -"*ierr* of ``0``, the error code returned by a call to " -":c:func:`!GetLastError` is used instead. It calls the Win32 function " -":c:func:`!FormatMessage` to retrieve the Windows description of error code " -"given by *ierr* or :c:func:`!GetLastError`, then it constructs a " -":exc:`OSError` object with the :attr:`~OSError.winerror` attribute set to " -"the error code, the :attr:`~OSError.strerror` attribute set to the " -"corresponding error message (gotten from :c:func:`!FormatMessage`), and then" -" calls ``PyErr_SetObject(PyExc_OSError, object)``. This function always " -"returns ``NULL``." -msgstr "" - -#: ../../c-api/exceptions.rst:234 ../../c-api/exceptions.rst:242 -#: ../../c-api/exceptions.rst:253 ../../c-api/exceptions.rst:263 -#: ../../c-api/exceptions.rst:271 ../../c-api/exceptions.rst:281 -msgid "Availability" -msgstr "" - -#: ../../c-api/exceptions.rst:239 -msgid "" -"Similar to :c:func:`PyErr_SetFromWindowsErr`, with an additional parameter " -"specifying the exception type to be raised." -msgstr "" - -#: ../../c-api/exceptions.rst:247 -msgid "" -"Similar to :c:func:`PyErr_SetFromWindowsErr`, with the additional behavior " -"that if *filename* is not ``NULL``, it is decoded from the filesystem " -"encoding (:func:`os.fsdecode`) and passed to the constructor of " -":exc:`OSError` as a third parameter to be used to define the " -":attr:`!filename` attribute of the exception instance." -msgstr "" - -#: ../../c-api/exceptions.rst:258 -msgid "" -"Similar to :c:func:`PyErr_SetExcFromWindowsErr`, with the additional " -"behavior that if *filename* is not ``NULL``, it is passed to the constructor" -" of :exc:`OSError` as a third parameter to be used to define the " -":attr:`!filename` attribute of the exception instance." -msgstr "" - -#: ../../c-api/exceptions.rst:268 -msgid "" -"Similar to :c:func:`PyErr_SetExcFromWindowsErrWithFilenameObject`, but " -"accepts a second filename object." -msgstr "" - -#: ../../c-api/exceptions.rst:278 -msgid "" -"Similar to :c:func:`PyErr_SetFromWindowsErrWithFilename`, with an additional" -" parameter specifying the exception type to be raised." -msgstr "" - -#: ../../c-api/exceptions.rst:286 -msgid "" -"This is a convenience function to raise :exc:`ImportError`. *msg* will be " -"set as the exception's message string. *name* and *path*, both of which can " -"be ``NULL``, will be set as the :exc:`ImportError`'s respective ``name`` and" -" ``path`` attributes." -msgstr "" - -#: ../../c-api/exceptions.rst:296 -msgid "" -"Much like :c:func:`PyErr_SetImportError` but this function allows for " -"specifying a subclass of :exc:`ImportError` to raise." -msgstr "" - -#: ../../c-api/exceptions.rst:304 -msgid "" -"Set file, line, and offset information for the current exception. If the " -"current exception is not a :exc:`SyntaxError`, then it sets additional " -"attributes, which make the exception printing subsystem think the exception " -"is a :exc:`SyntaxError`." -msgstr "" - -#: ../../c-api/exceptions.rst:314 -msgid "" -"Like :c:func:`PyErr_SyntaxLocationObject`, but *filename* is a byte string " -"decoded from the :term:`filesystem encoding and error handler`." -msgstr "" - -#: ../../c-api/exceptions.rst:322 -msgid "" -"Like :c:func:`PyErr_SyntaxLocationEx`, but the *col_offset* parameter is " -"omitted." -msgstr "" - -#: ../../c-api/exceptions.rst:328 -msgid "" -"This is a shorthand for ``PyErr_SetString(PyExc_SystemError, message)``, " -"where *message* indicates that an internal operation (e.g. a Python/C API " -"function) was invoked with an illegal argument. It is mostly for internal " -"use." -msgstr "" - -#: ../../c-api/exceptions.rst:335 -msgid "Issuing warnings" -msgstr "Menerbitkan peringatan" - -#: ../../c-api/exceptions.rst:337 -msgid "" -"Use these functions to issue warnings from C code. They mirror similar " -"functions exported by the Python :mod:`warnings` module. They normally " -"print a warning message to *sys.stderr*; however, it is also possible that " -"the user has specified that warnings are to be turned into errors, and in " -"that case they will raise an exception. It is also possible that the " -"functions raise an exception because of a problem with the warning " -"machinery. The return value is ``0`` if no exception is raised, or ``-1`` if" -" an exception is raised. (It is not possible to determine whether a warning" -" message is actually printed, nor what the reason is for the exception; this" -" is intentional.) If an exception is raised, the caller should do its " -"normal exception handling (for example, :c:func:`Py_DECREF` owned references" -" and return an error value)." -msgstr "" - -#: ../../c-api/exceptions.rst:352 -msgid "" -"Issue a warning message. The *category* argument is a warning category (see" -" below) or ``NULL``; the *message* argument is a UTF-8 encoded string. " -"*stack_level* is a positive number giving a number of stack frames; the " -"warning will be issued from the currently executing line of code in that " -"stack frame. A *stack_level* of 1 is the function calling " -":c:func:`PyErr_WarnEx`, 2 is the function above that, and so forth." -msgstr "" - -#: ../../c-api/exceptions.rst:359 -msgid "" -"Warning categories must be subclasses of :c:data:`PyExc_Warning`; " -":c:data:`PyExc_Warning` is a subclass of :c:data:`PyExc_Exception`; the " -"default warning category is :c:data:`PyExc_RuntimeWarning`. The standard " -"Python warning categories are available as global variables whose names are " -"enumerated at :ref:`standardwarningcategories`." -msgstr "" - -#: ../../c-api/exceptions.rst:365 -msgid "" -"For information about warning control, see the documentation for the " -":mod:`warnings` module and the :option:`-W` option in the command line " -"documentation. There is no C API for warning control." -msgstr "" - -#: ../../c-api/exceptions.rst:372 -msgid "" -"Issue a warning message with explicit control over all warning attributes. " -"This is a straightforward wrapper around the Python function " -":func:`warnings.warn_explicit`; see there for more information. The " -"*module* and *registry* arguments may be set to ``NULL`` to get the default " -"effect described there." -msgstr "" - -#: ../../c-api/exceptions.rst:383 -msgid "" -"Similar to :c:func:`PyErr_WarnExplicitObject` except that *message* and " -"*module* are UTF-8 encoded strings, and *filename* is decoded from the " -":term:`filesystem encoding and error handler`." -msgstr "" - -#: ../../c-api/exceptions.rst:390 -msgid "" -"Function similar to :c:func:`PyErr_WarnEx`, but use " -":c:func:`PyUnicode_FromFormat` to format the warning message. *format* is " -"an ASCII-encoded string." -msgstr "" - -#: ../../c-api/exceptions.rst:399 -msgid "" -"Function similar to :c:func:`PyErr_WarnFormat`, but *category* is " -":exc:`ResourceWarning` and it passes *source* to " -":class:`!warnings.WarningMessage`." -msgstr "" - -#: ../../c-api/exceptions.rst:406 -msgid "Querying the error indicator" -msgstr "Meminta indikator kesalahan" - -#: ../../c-api/exceptions.rst:410 -msgid "" -"Test whether the error indicator is set. If set, return the exception " -"*type* (the first argument to the last call to one of the ``PyErr_Set*`` " -"functions or to :c:func:`PyErr_Restore`). If not set, return ``NULL``. You" -" do not own a reference to the return value, so you do not need to " -":c:func:`Py_DECREF` it." -msgstr "" - -#: ../../c-api/exceptions.rst:416 -msgid "The caller must have an :term:`attached thread state`." -msgstr "" - -#: ../../c-api/exceptions.rst:420 -msgid "" -"Do not compare the return value to a specific exception; use " -":c:func:`PyErr_ExceptionMatches` instead, shown below. (The comparison " -"could easily fail since the exception may be an instance instead of a class," -" in the case of a class exception, or it may be a subclass of the expected " -"exception.)" -msgstr "" - -#: ../../c-api/exceptions.rst:428 -msgid "" -"Equivalent to ``PyErr_GivenExceptionMatches(PyErr_Occurred(), exc)``. This " -"should only be called when an exception is actually set; a memory access " -"violation will occur if no exception has been raised." -msgstr "" - -#: ../../c-api/exceptions.rst:435 -msgid "" -"Return true if the *given* exception matches the exception type in *exc*. " -"If *exc* is a class object, this also returns true when *given* is an " -"instance of a subclass. If *exc* is a tuple, all exception types in the " -"tuple (and recursively in subtuples) are searched for a match." -msgstr "" - -#: ../../c-api/exceptions.rst:443 -msgid "" -"Return the exception currently being raised, clearing the error indicator at" -" the same time. Return ``NULL`` if the error indicator is not set." -msgstr "" - -#: ../../c-api/exceptions.rst:446 -msgid "" -"This function is used by code that needs to catch exceptions, or code that " -"needs to save and restore the error indicator temporarily." -msgstr "" - -#: ../../c-api/exceptions.rst:449 ../../c-api/exceptions.rst:493 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../c-api/exceptions.rst:451 -msgid "" -"{\n" -" PyObject *exc = PyErr_GetRaisedException();\n" -"\n" -" /* ... code that might produce other errors ... */\n" -"\n" -" PyErr_SetRaisedException(exc);\n" -"}" -msgstr "" - -#: ../../c-api/exceptions.rst:459 -msgid "" -":c:func:`PyErr_GetHandledException`, to save the exception currently being " -"handled." -msgstr "" - -#: ../../c-api/exceptions.rst:467 -msgid "" -"Set *exc* as the exception currently being raised, clearing the existing " -"exception if one is set." -msgstr "" - -#: ../../c-api/exceptions.rst:472 -msgid "" -"This call steals a reference to *exc*, which must be a valid exception." -msgstr "" - -#: ../../c-api/exceptions.rst:481 -msgid "Use :c:func:`PyErr_GetRaisedException` instead." -msgstr "" - -#: ../../c-api/exceptions.rst:483 -msgid "" -"Retrieve the error indicator into three variables whose addresses are " -"passed. If the error indicator is not set, set all three variables to " -"``NULL``. If it is set, it will be cleared and you own a reference to each " -"object retrieved. The value and traceback object may be ``NULL`` even when " -"the type object is not." -msgstr "" - -#: ../../c-api/exceptions.rst:490 -msgid "" -"This function is normally only used by legacy code that needs to catch " -"exceptions or save and restore the error indicator temporarily." -msgstr "" - -#: ../../c-api/exceptions.rst:495 -msgid "" -"{\n" -" PyObject *type, *value, *traceback;\n" -" PyErr_Fetch(&type, &value, &traceback);\n" -"\n" -" /* ... code that might produce other errors ... */\n" -"\n" -" PyErr_Restore(type, value, traceback);\n" -"}" -msgstr "" - -#: ../../c-api/exceptions.rst:509 -msgid "Use :c:func:`PyErr_SetRaisedException` instead." -msgstr "" - -#: ../../c-api/exceptions.rst:511 -msgid "" -"Set the error indicator from the three objects, *type*, *value*, and " -"*traceback*, clearing the existing exception if one is set. If the objects " -"are ``NULL``, the error indicator is cleared. Do not pass a ``NULL`` type " -"and non-``NULL`` value or traceback. The exception type should be a class." -" Do not pass an invalid exception type or value. (Violating these rules " -"will cause subtle problems later.) This call takes away a reference to each" -" object: you must own a reference to each object before the call and after " -"the call you no longer own these references. (If you don't understand this," -" don't use this function. I warned you.)" -msgstr "" - -#: ../../c-api/exceptions.rst:525 -msgid "" -"This function is normally only used by legacy code that needs to save and " -"restore the error indicator temporarily. Use :c:func:`PyErr_Fetch` to save " -"the current error indicator." -msgstr "" - -#: ../../c-api/exceptions.rst:534 -msgid "" -"Use :c:func:`PyErr_GetRaisedException` instead, to avoid any possible de-" -"normalization." -msgstr "" - -#: ../../c-api/exceptions.rst:537 -msgid "" -"Under certain circumstances, the values returned by :c:func:`PyErr_Fetch` " -"below can be \"unnormalized\", meaning that ``*exc`` is a class object but " -"``*val`` is not an instance of the same class. This function can be used " -"to instantiate the class in that case. If the values are already " -"normalized, nothing happens. The delayed normalization is implemented to " -"improve performance." -msgstr "" - -#: ../../c-api/exceptions.rst:545 -msgid "" -"This function *does not* implicitly set the " -":attr:`~BaseException.__traceback__` attribute on the exception value. If " -"setting the traceback appropriately is desired, the following additional " -"snippet is needed::" -msgstr "" - -#: ../../c-api/exceptions.rst:550 -msgid "" -"if (tb != NULL) {\n" -" PyException_SetTraceback(val, tb);\n" -"}" -msgstr "" - -#: ../../c-api/exceptions.rst:557 -msgid "" -"Retrieve the active exception instance, as would be returned by " -":func:`sys.exception`. This refers to an exception that was *already " -"caught*, not to an exception that was freshly raised. Returns a new " -"reference to the exception or ``NULL``. Does not modify the interpreter's " -"exception state." -msgstr "" - -#: ../../c-api/exceptions.rst:564 -msgid "" -"This function is not normally used by code that wants to handle exceptions. " -"Rather, it can be used when code needs to save and restore the exception " -"state temporarily. Use :c:func:`PyErr_SetHandledException` to restore or " -"clear the exception state." -msgstr "" - -#: ../../c-api/exceptions.rst:573 -msgid "" -"Set the active exception, as known from ``sys.exception()``. This refers to" -" an exception that was *already caught*, not to an exception that was " -"freshly raised. To clear the exception state, pass ``NULL``." -msgstr "" - -#: ../../c-api/exceptions.rst:580 -msgid "" -"This function is not normally used by code that wants to handle exceptions. " -"Rather, it can be used when code needs to save and restore the exception " -"state temporarily. Use :c:func:`PyErr_GetHandledException` to get the " -"exception state." -msgstr "" - -#: ../../c-api/exceptions.rst:589 -msgid "" -"Retrieve the old-style representation of the exception info, as known from " -":func:`sys.exc_info`. This refers to an exception that was *already " -"caught*, not to an exception that was freshly raised. Returns new " -"references for the three objects, any of which may be ``NULL``. Does not " -"modify the exception info state. This function is kept for backwards " -"compatibility. Prefer using :c:func:`PyErr_GetHandledException`." -msgstr "" - -#: ../../c-api/exceptions.rst:598 -msgid "" -"This function is not normally used by code that wants to handle exceptions. " -"Rather, it can be used when code needs to save and restore the exception " -"state temporarily. Use :c:func:`PyErr_SetExcInfo` to restore or clear the " -"exception state." -msgstr "" - -#: ../../c-api/exceptions.rst:608 -msgid "" -"Set the exception info, as known from ``sys.exc_info()``. This refers to an" -" exception that was *already caught*, not to an exception that was freshly " -"raised. This function steals the references of the arguments. To clear the " -"exception state, pass ``NULL`` for all three arguments. This function is " -"kept for backwards compatibility. Prefer using " -":c:func:`PyErr_SetHandledException`." -msgstr "" - -#: ../../c-api/exceptions.rst:617 -msgid "" -"This function is not normally used by code that wants to handle exceptions. " -"Rather, it can be used when code needs to save and restore the exception " -"state temporarily. Use :c:func:`PyErr_GetExcInfo` to read the exception " -"state." -msgstr "" - -#: ../../c-api/exceptions.rst:624 -msgid "" -"The ``type`` and ``traceback`` arguments are no longer used and can be NULL." -" The interpreter now derives them from the exception instance (the ``value``" -" argument). The function still steals references of all three arguments." -msgstr "" - -#: ../../c-api/exceptions.rst:632 -msgid "Signal Handling" -msgstr "Penanganan Sinyal *Signal*" - -#: ../../c-api/exceptions.rst:642 -msgid "This function interacts with Python's signal handling." -msgstr "" - -#: ../../c-api/exceptions.rst:644 -msgid "" -"If the function is called from the main thread and under the main Python " -"interpreter, it checks whether a signal has been sent to the processes and " -"if so, invokes the corresponding signal handler. If the :mod:`signal` " -"module is supported, this can invoke a signal handler written in Python." -msgstr "" - -#: ../../c-api/exceptions.rst:649 -msgid "" -"The function attempts to handle all pending signals, and then returns ``0``." -" However, if a Python signal handler raises an exception, the error " -"indicator is set and the function returns ``-1`` immediately (such that " -"other pending signals may not have been handled yet: they will be on the " -"next :c:func:`PyErr_CheckSignals()` invocation)." -msgstr "" - -#: ../../c-api/exceptions.rst:655 -msgid "" -"If the function is called from a non-main thread, or under a non-main Python" -" interpreter, it does nothing and returns ``0``." -msgstr "" - -#: ../../c-api/exceptions.rst:658 -msgid "" -"This function can be called by long-running C code that wants to be " -"interruptible by user requests (such as by pressing Ctrl-C)." -msgstr "" - -#: ../../c-api/exceptions.rst:662 -msgid "" -"The default Python signal handler for :c:macro:`!SIGINT` raises the " -":exc:`KeyboardInterrupt` exception." -msgstr "" - -#: ../../c-api/exceptions.rst:673 -msgid "" -"Simulate the effect of a :c:macro:`!SIGINT` signal arriving. This is " -"equivalent to ``PyErr_SetInterruptEx(SIGINT)``." -msgstr "" - -#: ../../c-api/exceptions.rst:677 ../../c-api/exceptions.rst:704 -msgid "" -"This function is async-signal-safe. It can be called without an " -":term:`attached thread state` and from a C signal handler." -msgstr "" - -#: ../../c-api/exceptions.rst:687 -msgid "" -"Simulate the effect of a signal arriving. The next time " -":c:func:`PyErr_CheckSignals` is called, the Python signal handler for the " -"given signal number will be called." -msgstr "" - -#: ../../c-api/exceptions.rst:691 -msgid "" -"This function can be called by C code that sets up its own signal handling " -"and wants Python signal handlers to be invoked as expected when an " -"interruption is requested (for example when the user presses Ctrl-C to " -"interrupt an operation)." -msgstr "" - -#: ../../c-api/exceptions.rst:696 -msgid "" -"If the given signal isn't handled by Python (it was set to " -":py:const:`signal.SIG_DFL` or :py:const:`signal.SIG_IGN`), it will be " -"ignored." -msgstr "" - -#: ../../c-api/exceptions.rst:699 -msgid "" -"If *signum* is outside of the allowed range of signal numbers, ``-1`` is " -"returned. Otherwise, ``0`` is returned. The error indicator is never " -"changed by this function." -msgstr "" - -#: ../../c-api/exceptions.rst:712 -msgid "" -"This utility function specifies a file descriptor to which the signal number" -" is written as a single byte whenever a signal is received. *fd* must be " -"non-blocking. It returns the previous such file descriptor." -msgstr "" - -#: ../../c-api/exceptions.rst:716 -msgid "" -"The value ``-1`` disables the feature; this is the initial state. This is " -"equivalent to :func:`signal.set_wakeup_fd` in Python, but without any error " -"checking. *fd* should be a valid file descriptor. The function should only" -" be called from the main thread." -msgstr "" - -#: ../../c-api/exceptions.rst:721 -msgid "On Windows, the function now also supports socket handles." -msgstr "" - -#: ../../c-api/exceptions.rst:726 -msgid "Exception Classes" -msgstr "Kelas Pengecualian" - -#: ../../c-api/exceptions.rst:730 -msgid "" -"This utility function creates and returns a new exception class. The *name* " -"argument must be the name of the new exception, a C string of the form " -"``module.classname``. The *base* and *dict* arguments are normally " -"``NULL``. This creates a class object derived from :exc:`Exception` " -"(accessible in C as :c:data:`PyExc_Exception`)." -msgstr "" - -#: ../../c-api/exceptions.rst:736 -msgid "" -"The :attr:`~type.__module__` attribute of the new class is set to the first " -"part (up to the last dot) of the *name* argument, and the class name is set " -"to the last part (after the last dot). The *base* argument can be used to " -"specify alternate base classes; it can either be only one class or a tuple " -"of classes. The *dict* argument can be used to specify a dictionary of class" -" variables and methods." -msgstr "" - -#: ../../c-api/exceptions.rst:745 -msgid "" -"Same as :c:func:`PyErr_NewException`, except that the new exception class " -"can easily be given a docstring: If *doc* is non-``NULL``, it will be used " -"as the docstring for the exception class." -msgstr "" - -#: ../../c-api/exceptions.rst:753 -msgid "Exception Objects" -msgstr "Objek Pengecualian" - -#: ../../c-api/exceptions.rst:757 -msgid "" -"Return the traceback associated with the exception as a new reference, as " -"accessible from Python through the :attr:`~BaseException.__traceback__` " -"attribute. If there is no traceback associated, this returns ``NULL``." -msgstr "" - -#: ../../c-api/exceptions.rst:765 -msgid "" -"Set the traceback associated with the exception to *tb*. Use ``Py_None`` to" -" clear it." -msgstr "" - -#: ../../c-api/exceptions.rst:771 -msgid "" -"Return the context (another exception instance during whose handling *ex* " -"was raised) associated with the exception as a new reference, as accessible " -"from Python through the :attr:`~BaseException.__context__` attribute. If " -"there is no context associated, this returns ``NULL``." -msgstr "" - -#: ../../c-api/exceptions.rst:779 -msgid "" -"Set the context associated with the exception to *ctx*. Use ``NULL`` to " -"clear it. There is no type check to make sure that *ctx* is an exception " -"instance. This steals a reference to *ctx*." -msgstr "" - -#: ../../c-api/exceptions.rst:786 -msgid "" -"Return the cause (either an exception instance, or ``None``, set by ``raise " -"... from ...``) associated with the exception as a new reference, as " -"accessible from Python through the :attr:`~BaseException.__cause__` " -"attribute." -msgstr "" - -#: ../../c-api/exceptions.rst:794 -msgid "" -"Set the cause associated with the exception to *cause*. Use ``NULL`` to " -"clear it. There is no type check to make sure that *cause* is either an " -"exception instance or ``None``. This steals a reference to *cause*." -msgstr "" - -#: ../../c-api/exceptions.rst:798 -msgid "" -"The :attr:`~BaseException.__suppress_context__` attribute is implicitly set " -"to ``True`` by this function." -msgstr "" - -#: ../../c-api/exceptions.rst:804 -msgid "Return :attr:`~BaseException.args` of exception *ex*." -msgstr "" - -#: ../../c-api/exceptions.rst:809 -msgid "Set :attr:`~BaseException.args` of exception *ex* to *args*." -msgstr "" - -#: ../../c-api/exceptions.rst:813 -msgid "" -"Implement part of the interpreter's implementation of :keyword:`!except*`. " -"*orig* is the original exception that was caught, and *excs* is the list of " -"the exceptions that need to be raised. This list contains the unhandled part" -" of *orig*, if any, as well as the exceptions that were raised from the " -":keyword:`!except*` clauses (so they have a different traceback from *orig*)" -" and those that were reraised (and have the same traceback as *orig*). " -"Return the :exc:`ExceptionGroup` that needs to be reraised in the end, or " -"``None`` if there is nothing to reraise." -msgstr "" - -#: ../../c-api/exceptions.rst:827 -msgid "Unicode Exception Objects" -msgstr "Objek Pengecualian Unicode" - -#: ../../c-api/exceptions.rst:829 -msgid "" -"The following functions are used to create and modify Unicode exceptions " -"from C." -msgstr "" - -#: ../../c-api/exceptions.rst:833 -msgid "" -"Create a :class:`UnicodeDecodeError` object with the attributes *encoding*, " -"*object*, *length*, *start*, *end* and *reason*. *encoding* and *reason* are" -" UTF-8 encoded strings." -msgstr "" - -#: ../../c-api/exceptions.rst:840 -msgid "Return the *encoding* attribute of the given exception object." -msgstr "" - -#: ../../c-api/exceptions.rst:846 -msgid "Return the *object* attribute of the given exception object." -msgstr "" - -#: ../../c-api/exceptions.rst:852 -msgid "" -"Get the *start* attribute of the given exception object and place it into " -"*\\*start*. *start* must not be ``NULL``. Return ``0`` on success, ``-1`` " -"on failure." -msgstr "" - -#: ../../c-api/exceptions.rst:856 -msgid "" -"If the :attr:`UnicodeError.object` is an empty sequence, the resulting " -"*start* is ``0``. Otherwise, it is clipped to ``[0, len(object) - 1]``." -msgstr "" - -#: ../../c-api/exceptions.rst:859 -msgid ":attr:`UnicodeError.start`" -msgstr "" - -#: ../../c-api/exceptions.rst:865 -msgid "" -"Set the *start* attribute of the given exception object to *start*. Return " -"``0`` on success, ``-1`` on failure." -msgstr "" - -#: ../../c-api/exceptions.rst:870 -msgid "" -"While passing a negative *start* does not raise an exception, the " -"corresponding getters will not consider it as a relative offset." -msgstr "" - -#: ../../c-api/exceptions.rst:878 -msgid "" -"Get the *end* attribute of the given exception object and place it into " -"*\\*end*. *end* must not be ``NULL``. Return ``0`` on success, ``-1`` on " -"failure." -msgstr "" - -#: ../../c-api/exceptions.rst:882 -msgid "" -"If the :attr:`UnicodeError.object` is an empty sequence, the resulting *end*" -" is ``0``. Otherwise, it is clipped to ``[1, len(object)]``." -msgstr "" - -#: ../../c-api/exceptions.rst:889 -msgid "" -"Set the *end* attribute of the given exception object to *end*. Return " -"``0`` on success, ``-1`` on failure." -msgstr "" - -#: ../../c-api/exceptions.rst:892 -msgid ":attr:`UnicodeError.end`" -msgstr "" - -#: ../../c-api/exceptions.rst:898 -msgid "Return the *reason* attribute of the given exception object." -msgstr "" - -#: ../../c-api/exceptions.rst:904 -msgid "" -"Set the *reason* attribute of the given exception object to *reason*. " -"Return ``0`` on success, ``-1`` on failure." -msgstr "" - -#: ../../c-api/exceptions.rst:911 -msgid "Recursion Control" -msgstr "Kontrol Rekursi" - -#: ../../c-api/exceptions.rst:913 -msgid "" -"These two functions provide a way to perform safe recursive calls at the C " -"level, both in the core and in extension modules. They are needed if the " -"recursive code does not necessarily invoke Python code (which tracks its " -"recursion depth automatically). They are also not needed for *tp_call* " -"implementations because the :ref:`call protocol ` takes care of " -"recursion handling." -msgstr "" - -#: ../../c-api/exceptions.rst:922 -msgid "Marks a point where a recursive C-level call is about to be performed." -msgstr "" - -#: ../../c-api/exceptions.rst:924 -msgid "" -"The function then checks if the stack limit is reached. If this is the " -"case, a :exc:`RecursionError` is set and a nonzero value is returned. " -"Otherwise, zero is returned." -msgstr "" - -#: ../../c-api/exceptions.rst:928 -msgid "" -"*where* should be a UTF-8 encoded string such as ``\" in instance check\"`` " -"to be concatenated to the :exc:`RecursionError` message caused by the " -"recursion depth limit." -msgstr "" - -#: ../../c-api/exceptions.rst:932 ../../c-api/exceptions.rst:940 -msgid "" -"This function is now also available in the :ref:`limited API `." -msgstr "" - -#: ../../c-api/exceptions.rst:937 -msgid "" -"Ends a :c:func:`Py_EnterRecursiveCall`. Must be called once for each " -"*successful* invocation of :c:func:`Py_EnterRecursiveCall`." -msgstr "" - -#: ../../c-api/exceptions.rst:943 -msgid "" -"Properly implementing :c:member:`~PyTypeObject.tp_repr` for container types " -"requires special recursion handling. In addition to protecting the stack, " -":c:member:`~PyTypeObject.tp_repr` also needs to track objects to prevent " -"cycles. The following two functions facilitate this functionality. " -"Effectively, these are the C equivalent to :func:`reprlib.recursive_repr`." -msgstr "" - -#: ../../c-api/exceptions.rst:951 -msgid "" -"Called at the beginning of the :c:member:`~PyTypeObject.tp_repr` " -"implementation to detect cycles." -msgstr "" - -#: ../../c-api/exceptions.rst:954 -msgid "" -"If the object has already been processed, the function returns a positive " -"integer. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " -"should return a string object indicating a cycle. As examples, " -":class:`dict` objects return ``{...}`` and :class:`list` objects return " -"``[...]``." -msgstr "" - -#: ../../c-api/exceptions.rst:960 -msgid "" -"The function will return a negative integer if the recursion limit is " -"reached. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " -"should typically return ``NULL``." -msgstr "" - -#: ../../c-api/exceptions.rst:964 -msgid "" -"Otherwise, the function returns zero and the " -":c:member:`~PyTypeObject.tp_repr` implementation can continue normally." -msgstr "" - -#: ../../c-api/exceptions.rst:969 -msgid "" -"Ends a :c:func:`Py_ReprEnter`. Must be called once for each invocation of " -":c:func:`Py_ReprEnter` that returns zero." -msgstr "" - -#: ../../c-api/exceptions.rst:976 -msgid "Standard Exceptions" -msgstr "Pengecualian Standar" - -#: ../../c-api/exceptions.rst:978 -msgid "" -"All standard Python exceptions are available as global variables whose names" -" are ``PyExc_`` followed by the Python exception name. These have the type " -":c:expr:`PyObject*`; they are all class objects. For completeness, here are" -" all the variables:" -msgstr "" - -#: ../../c-api/exceptions.rst:1040 ../../c-api/exceptions.rst:1175 -#: ../../c-api/exceptions.rst:1220 -msgid "C Name" -msgstr "Nama C" - -#: ../../c-api/exceptions.rst:1040 ../../c-api/exceptions.rst:1220 -msgid "Python Name" -msgstr "Nama Python" - -#: ../../c-api/exceptions.rst:1040 ../../c-api/exceptions.rst:1175 -#: ../../c-api/exceptions.rst:1220 -msgid "Notes" -msgstr "Catatan" - -#: ../../c-api/exceptions.rst:1042 -msgid ":c:data:`PyExc_BaseException`" -msgstr ":c:data:`PyExc_BaseException`" - -#: ../../c-api/exceptions.rst:1042 -msgid ":exc:`BaseException`" -msgstr ":exc:`BaseException`" - -#: ../../c-api/exceptions.rst:1042 ../../c-api/exceptions.rst:1044 -#: ../../c-api/exceptions.rst:1046 ../../c-api/exceptions.rst:1092 -#: ../../c-api/exceptions.rst:1104 -msgid "[1]_" -msgstr "[1]_" - -#: ../../c-api/exceptions.rst:1044 -msgid ":c:data:`PyExc_Exception`" -msgstr ":c:data:`PyExc_Exception`" - -#: ../../c-api/exceptions.rst:1044 -msgid ":exc:`Exception`" -msgstr ":exc:`Exception`" - -#: ../../c-api/exceptions.rst:1046 -msgid ":c:data:`PyExc_ArithmeticError`" -msgstr ":c:data:`PyExc_ArithmeticError`" - -#: ../../c-api/exceptions.rst:1046 -msgid ":exc:`ArithmeticError`" -msgstr ":exc:`ArithmeticError`" - -#: ../../c-api/exceptions.rst:1048 -msgid ":c:data:`PyExc_AssertionError`" -msgstr ":c:data:`PyExc_AssertionError`" - -#: ../../c-api/exceptions.rst:1048 -msgid ":exc:`AssertionError`" -msgstr ":exc:`AssertionError`" - -#: ../../c-api/exceptions.rst:1050 -msgid ":c:data:`PyExc_AttributeError`" -msgstr ":c:data:`PyExc_AttributeError`" - -#: ../../c-api/exceptions.rst:1050 -msgid ":exc:`AttributeError`" -msgstr ":exc:`AttributeError`" - -#: ../../c-api/exceptions.rst:1052 -msgid ":c:data:`PyExc_BlockingIOError`" -msgstr ":c:data:`PyExc_BlockingIOError`" - -#: ../../c-api/exceptions.rst:1052 -msgid ":exc:`BlockingIOError`" -msgstr ":exc:`BlockingIOError`" - -#: ../../c-api/exceptions.rst:1054 -msgid ":c:data:`PyExc_BrokenPipeError`" -msgstr ":c:data:`PyExc_BrokenPipeError`" - -#: ../../c-api/exceptions.rst:1054 -msgid ":exc:`BrokenPipeError`" -msgstr ":exc:`BrokenPipeError`" - -#: ../../c-api/exceptions.rst:1056 -msgid ":c:data:`PyExc_BufferError`" -msgstr ":c:data:`PyExc_BufferError`" - -#: ../../c-api/exceptions.rst:1056 -msgid ":exc:`BufferError`" -msgstr ":exc:`BufferError`" - -#: ../../c-api/exceptions.rst:1058 -msgid ":c:data:`PyExc_ChildProcessError`" -msgstr ":c:data:`PyExc_ChildProcessError`" - -#: ../../c-api/exceptions.rst:1058 -msgid ":exc:`ChildProcessError`" -msgstr ":exc:`ChildProcessError`" - -#: ../../c-api/exceptions.rst:1060 -msgid ":c:data:`PyExc_ConnectionAbortedError`" -msgstr ":c:data:`PyExc_ConnectionAbortedError`" - -#: ../../c-api/exceptions.rst:1060 -msgid ":exc:`ConnectionAbortedError`" -msgstr ":exc:`ConnectionAbortedError`" - -#: ../../c-api/exceptions.rst:1062 -msgid ":c:data:`PyExc_ConnectionError`" -msgstr ":c:data:`PyExc_ConnectionError`" - -#: ../../c-api/exceptions.rst:1062 -msgid ":exc:`ConnectionError`" -msgstr ":exc:`ConnectionError`" - -#: ../../c-api/exceptions.rst:1064 -msgid ":c:data:`PyExc_ConnectionRefusedError`" -msgstr ":c:data:`PyExc_ConnectionRefusedError`" - -#: ../../c-api/exceptions.rst:1064 -msgid ":exc:`ConnectionRefusedError`" -msgstr ":exc:`ConnectionRefusedError`" - -#: ../../c-api/exceptions.rst:1066 -msgid ":c:data:`PyExc_ConnectionResetError`" -msgstr ":c:data:`PyExc_ConnectionResetError`" - -#: ../../c-api/exceptions.rst:1066 -msgid ":exc:`ConnectionResetError`" -msgstr ":exc:`ConnectionResetError`" - -#: ../../c-api/exceptions.rst:1068 -msgid ":c:data:`PyExc_EOFError`" -msgstr ":c:data:`PyExc_EOFError`" - -#: ../../c-api/exceptions.rst:1068 -msgid ":exc:`EOFError`" -msgstr ":exc:`EOFError`" - -#: ../../c-api/exceptions.rst:1070 -msgid ":c:data:`PyExc_FileExistsError`" -msgstr ":c:data:`PyExc_FileExistsError`" - -#: ../../c-api/exceptions.rst:1070 -msgid ":exc:`FileExistsError`" -msgstr ":exc:`FileExistsError`" - -#: ../../c-api/exceptions.rst:1072 -msgid ":c:data:`PyExc_FileNotFoundError`" -msgstr ":c:data:`PyExc_FileNotFoundError`" - -#: ../../c-api/exceptions.rst:1072 -msgid ":exc:`FileNotFoundError`" -msgstr ":exc:`FileNotFoundError`" - -#: ../../c-api/exceptions.rst:1074 -msgid ":c:data:`PyExc_FloatingPointError`" -msgstr ":c:data:`PyExc_FloatingPointError`" - -#: ../../c-api/exceptions.rst:1074 -msgid ":exc:`FloatingPointError`" -msgstr ":exc:`FloatingPointError`" - -#: ../../c-api/exceptions.rst:1076 -msgid ":c:data:`PyExc_GeneratorExit`" -msgstr ":c:data:`PyExc_GeneratorExit`" - -#: ../../c-api/exceptions.rst:1076 -msgid ":exc:`GeneratorExit`" -msgstr ":exc:`GeneratorExit`" - -#: ../../c-api/exceptions.rst:1078 -msgid ":c:data:`PyExc_ImportError`" -msgstr ":c:data:`PyExc_ImportError`" - -#: ../../c-api/exceptions.rst:1078 -msgid ":exc:`ImportError`" -msgstr ":exc:`ImportError`" - -#: ../../c-api/exceptions.rst:1080 -msgid ":c:data:`PyExc_IndentationError`" -msgstr ":c:data:`PyExc_IndentationError`" - -#: ../../c-api/exceptions.rst:1080 -msgid ":exc:`IndentationError`" -msgstr ":exc:`IndentationError`" - -#: ../../c-api/exceptions.rst:1082 -msgid ":c:data:`PyExc_IndexError`" -msgstr ":c:data:`PyExc_IndexError`" - -#: ../../c-api/exceptions.rst:1082 -msgid ":exc:`IndexError`" -msgstr ":exc:`IndexError`" - -#: ../../c-api/exceptions.rst:1084 -msgid ":c:data:`PyExc_InterruptedError`" -msgstr ":c:data:`PyExc_InterruptedError`" - -#: ../../c-api/exceptions.rst:1084 -msgid ":exc:`InterruptedError`" -msgstr ":exc:`InterruptedError`" - -#: ../../c-api/exceptions.rst:1086 -msgid ":c:data:`PyExc_IsADirectoryError`" -msgstr ":c:data:`PyExc_IsADirectoryError`" - -#: ../../c-api/exceptions.rst:1086 -msgid ":exc:`IsADirectoryError`" -msgstr ":exc:`IsADirectoryError`" - -#: ../../c-api/exceptions.rst:1088 -msgid ":c:data:`PyExc_KeyError`" -msgstr ":c:data:`PyExc_KeyError`" - -#: ../../c-api/exceptions.rst:1088 -msgid ":exc:`KeyError`" -msgstr ":exc:`KeyError`" - -#: ../../c-api/exceptions.rst:1090 -msgid ":c:data:`PyExc_KeyboardInterrupt`" -msgstr ":c:data:`PyExc_KeyboardInterrupt`" - -#: ../../c-api/exceptions.rst:1090 -msgid ":exc:`KeyboardInterrupt`" -msgstr ":exc:`KeyboardInterrupt`" - -#: ../../c-api/exceptions.rst:1092 -msgid ":c:data:`PyExc_LookupError`" -msgstr ":c:data:`PyExc_LookupError`" - -#: ../../c-api/exceptions.rst:1092 -msgid ":exc:`LookupError`" -msgstr ":exc:`LookupError`" - -#: ../../c-api/exceptions.rst:1094 -msgid ":c:data:`PyExc_MemoryError`" -msgstr ":c:data:`PyExc_MemoryError`" - -#: ../../c-api/exceptions.rst:1094 -msgid ":exc:`MemoryError`" -msgstr ":exc:`MemoryError`" - -#: ../../c-api/exceptions.rst:1096 -msgid ":c:data:`PyExc_ModuleNotFoundError`" -msgstr ":c:data:`PyExc_ModuleNotFoundError`" - -#: ../../c-api/exceptions.rst:1096 -msgid ":exc:`ModuleNotFoundError`" -msgstr ":exc:`ModuleNotFoundError`" - -#: ../../c-api/exceptions.rst:1098 -msgid ":c:data:`PyExc_NameError`" -msgstr ":c:data:`PyExc_NameError`" - -#: ../../c-api/exceptions.rst:1098 -msgid ":exc:`NameError`" -msgstr ":exc:`NameError`" - -#: ../../c-api/exceptions.rst:1100 -msgid ":c:data:`PyExc_NotADirectoryError`" -msgstr ":c:data:`PyExc_NotADirectoryError`" - -#: ../../c-api/exceptions.rst:1100 -msgid ":exc:`NotADirectoryError`" -msgstr ":exc:`NotADirectoryError`" - -#: ../../c-api/exceptions.rst:1102 -msgid ":c:data:`PyExc_NotImplementedError`" -msgstr ":c:data:`PyExc_NotImplementedError`" - -#: ../../c-api/exceptions.rst:1102 -msgid ":exc:`NotImplementedError`" -msgstr ":exc:`NotImplementedError`" - -#: ../../c-api/exceptions.rst:1104 -msgid ":c:data:`PyExc_OSError`" -msgstr ":c:data:`PyExc_OSError`" - -#: ../../c-api/exceptions.rst:1104 -msgid ":exc:`OSError`" -msgstr ":exc:`OSError`" - -#: ../../c-api/exceptions.rst:1106 -msgid ":c:data:`PyExc_OverflowError`" -msgstr ":c:data:`PyExc_OverflowError`" - -#: ../../c-api/exceptions.rst:1106 -msgid ":exc:`OverflowError`" -msgstr ":exc:`OverflowError`" - -#: ../../c-api/exceptions.rst:1108 -msgid ":c:data:`PyExc_PermissionError`" -msgstr ":c:data:`PyExc_PermissionError`" - -#: ../../c-api/exceptions.rst:1108 -msgid ":exc:`PermissionError`" -msgstr ":exc:`PermissionError`" - -#: ../../c-api/exceptions.rst:1110 -msgid ":c:data:`PyExc_ProcessLookupError`" -msgstr ":c:data:`PyExc_ProcessLookupError`" - -#: ../../c-api/exceptions.rst:1110 -msgid ":exc:`ProcessLookupError`" -msgstr ":exc:`ProcessLookupError`" - -#: ../../c-api/exceptions.rst:1112 -msgid ":c:data:`PyExc_PythonFinalizationError`" -msgstr "" - -#: ../../c-api/exceptions.rst:1112 -msgid ":exc:`PythonFinalizationError`" -msgstr "" - -#: ../../c-api/exceptions.rst:1114 -msgid ":c:data:`PyExc_RecursionError`" -msgstr ":c:data:`PyExc_RecursionError`" - -#: ../../c-api/exceptions.rst:1114 -msgid ":exc:`RecursionError`" -msgstr ":exc:`RecursionError`" - -#: ../../c-api/exceptions.rst:1116 -msgid ":c:data:`PyExc_ReferenceError`" -msgstr ":c:data:`PyExc_ReferenceError`" - -#: ../../c-api/exceptions.rst:1116 -msgid ":exc:`ReferenceError`" -msgstr ":exc:`ReferenceError`" - -#: ../../c-api/exceptions.rst:1118 -msgid ":c:data:`PyExc_RuntimeError`" -msgstr ":c:data:`PyExc_RuntimeError`" - -#: ../../c-api/exceptions.rst:1118 -msgid ":exc:`RuntimeError`" -msgstr ":exc:`RuntimeError`" - -#: ../../c-api/exceptions.rst:1120 -msgid ":c:data:`PyExc_StopAsyncIteration`" -msgstr ":c:data:`PyExc_StopAsyncIteration`" - -#: ../../c-api/exceptions.rst:1120 -msgid ":exc:`StopAsyncIteration`" -msgstr ":exc:`StopAsyncIteration`" - -#: ../../c-api/exceptions.rst:1122 -msgid ":c:data:`PyExc_StopIteration`" -msgstr ":c:data:`PyExc_StopIteration`" - -#: ../../c-api/exceptions.rst:1122 -msgid ":exc:`StopIteration`" -msgstr ":exc:`StopIteration`" - -#: ../../c-api/exceptions.rst:1124 -msgid ":c:data:`PyExc_SyntaxError`" -msgstr ":c:data:`PyExc_SyntaxError`" - -#: ../../c-api/exceptions.rst:1124 -msgid ":exc:`SyntaxError`" -msgstr ":exc:`SyntaxError`" - -#: ../../c-api/exceptions.rst:1126 -msgid ":c:data:`PyExc_SystemError`" -msgstr ":c:data:`PyExc_SystemError`" - -#: ../../c-api/exceptions.rst:1126 -msgid ":exc:`SystemError`" -msgstr ":exc:`SystemError`" - -#: ../../c-api/exceptions.rst:1128 -msgid ":c:data:`PyExc_SystemExit`" -msgstr ":c:data:`PyExc_SystemExit`" - -#: ../../c-api/exceptions.rst:1128 -msgid ":exc:`SystemExit`" -msgstr ":exc:`SystemExit`" - -#: ../../c-api/exceptions.rst:1130 -msgid ":c:data:`PyExc_TabError`" -msgstr ":c:data:`PyExc_TabError`" - -#: ../../c-api/exceptions.rst:1130 -msgid ":exc:`TabError`" -msgstr ":exc:`TabError`" - -#: ../../c-api/exceptions.rst:1132 -msgid ":c:data:`PyExc_TimeoutError`" -msgstr ":c:data:`PyExc_TimeoutError`" - -#: ../../c-api/exceptions.rst:1132 -msgid ":exc:`TimeoutError`" -msgstr ":exc:`TimeoutError`" - -#: ../../c-api/exceptions.rst:1134 -msgid ":c:data:`PyExc_TypeError`" -msgstr ":c:data:`PyExc_TypeError`" - -#: ../../c-api/exceptions.rst:1134 -msgid ":exc:`TypeError`" -msgstr ":exc:`TypeError`" - -#: ../../c-api/exceptions.rst:1136 -msgid ":c:data:`PyExc_UnboundLocalError`" -msgstr ":c:data:`PyExc_UnboundLocalError`" - -#: ../../c-api/exceptions.rst:1136 -msgid ":exc:`UnboundLocalError`" -msgstr ":exc:`UnboundLocalError`" - -#: ../../c-api/exceptions.rst:1138 -msgid ":c:data:`PyExc_UnicodeDecodeError`" -msgstr ":c:data:`PyExc_UnicodeDecodeError`" - -#: ../../c-api/exceptions.rst:1138 -msgid ":exc:`UnicodeDecodeError`" -msgstr ":exc:`UnicodeDecodeError`" - -#: ../../c-api/exceptions.rst:1140 -msgid ":c:data:`PyExc_UnicodeEncodeError`" -msgstr ":c:data:`PyExc_UnicodeEncodeError`" - -#: ../../c-api/exceptions.rst:1140 -msgid ":exc:`UnicodeEncodeError`" -msgstr ":exc:`UnicodeEncodeError`" - -#: ../../c-api/exceptions.rst:1142 -msgid ":c:data:`PyExc_UnicodeError`" -msgstr ":c:data:`PyExc_UnicodeError`" - -#: ../../c-api/exceptions.rst:1142 -msgid ":exc:`UnicodeError`" -msgstr ":exc:`UnicodeError`" - -#: ../../c-api/exceptions.rst:1144 -msgid ":c:data:`PyExc_UnicodeTranslateError`" -msgstr ":c:data:`PyExc_UnicodeTranslateError`" - -#: ../../c-api/exceptions.rst:1144 -msgid ":exc:`UnicodeTranslateError`" -msgstr ":exc:`UnicodeTranslateError`" - -#: ../../c-api/exceptions.rst:1146 -msgid ":c:data:`PyExc_ValueError`" -msgstr ":c:data:`PyExc_ValueError`" - -#: ../../c-api/exceptions.rst:1146 -msgid ":exc:`ValueError`" -msgstr ":exc:`ValueError`" - -#: ../../c-api/exceptions.rst:1148 -msgid ":c:data:`PyExc_ZeroDivisionError`" -msgstr ":c:data:`PyExc_ZeroDivisionError`" - -#: ../../c-api/exceptions.rst:1148 -msgid ":exc:`ZeroDivisionError`" -msgstr ":exc:`ZeroDivisionError`" - -#: ../../c-api/exceptions.rst:1151 -msgid "" -":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, " -":c:data:`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, " -":c:data:`PyExc_ConnectionAbortedError`, " -":c:data:`PyExc_ConnectionRefusedError`, " -":c:data:`PyExc_ConnectionResetError`, :c:data:`PyExc_FileExistsError`, " -":c:data:`PyExc_FileNotFoundError`, :c:data:`PyExc_InterruptedError`, " -":c:data:`PyExc_IsADirectoryError`, :c:data:`PyExc_NotADirectoryError`, " -":c:data:`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError` and " -":c:data:`PyExc_TimeoutError` were introduced following :pep:`3151`." -msgstr "" -":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, " -":c:data:`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, " -":c:data:`PyExc_ConnectionAbortedError`, " -":c:data:`PyExc_ConnectionRefusedError`, " -":c:data:`PyExc_ConnectionResetError`, :c:data:`PyExc_FileExistsError`, " -":c:data:`PyExc_FileNotFoundError`, :c:data:`PyExc_InterruptedError`, " -":c:data:`PyExc_IsADirectoryError`, :c:data:`PyExc_NotADirectoryError`, " -":c:data:`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError` dan " -":c:data:`PyExc_TimeoutError` diperkenalkan berikut :pep:`3151`." - -#: ../../c-api/exceptions.rst:1161 -msgid ":c:data:`PyExc_StopAsyncIteration` and :c:data:`PyExc_RecursionError`." -msgstr "" -":c:data:`PyExc_StopAsyncIteration` dan :c:data:`PyExc_RecursionError`." - -#: ../../c-api/exceptions.rst:1164 -msgid ":c:data:`PyExc_ModuleNotFoundError`." -msgstr ":c:data:`PyExc_ModuleNotFoundError`." - -#: ../../c-api/exceptions.rst:1167 -msgid "These are compatibility aliases to :c:data:`PyExc_OSError`:" -msgstr "" - -#: ../../c-api/exceptions.rst:1177 -msgid ":c:data:`!PyExc_EnvironmentError`" -msgstr "" - -#: ../../c-api/exceptions.rst:1179 -msgid ":c:data:`!PyExc_IOError`" -msgstr "" - -#: ../../c-api/exceptions.rst:1181 -msgid ":c:data:`!PyExc_WindowsError`" -msgstr "" - -#: ../../c-api/exceptions.rst:1181 -msgid "[2]_" -msgstr "" - -#: ../../c-api/exceptions.rst:1184 -msgid "These aliases used to be separate exception types." -msgstr "" - -#: ../../c-api/exceptions.rst:1187 ../../c-api/exceptions.rst:1248 -msgid "Notes:" -msgstr "Catatan:" - -#: ../../c-api/exceptions.rst:1190 -msgid "This is a base class for other standard exceptions." -msgstr "" - -#: ../../c-api/exceptions.rst:1193 -msgid "" -"Only defined on Windows; protect code that uses this by testing that the " -"preprocessor macro ``MS_WINDOWS`` is defined." -msgstr "" - -#: ../../c-api/exceptions.rst:1199 -msgid "Standard Warning Categories" -msgstr "Kategori Peringatan Standar" - -#: ../../c-api/exceptions.rst:1201 -msgid "" -"All standard Python warning categories are available as global variables " -"whose names are ``PyExc_`` followed by the Python exception name. These have" -" the type :c:expr:`PyObject*`; they are all class objects. For completeness," -" here are all the variables:" -msgstr "" - -#: ../../c-api/exceptions.rst:1222 -msgid ":c:data:`PyExc_Warning`" -msgstr ":c:data:`PyExc_Warning`" - -#: ../../c-api/exceptions.rst:1222 -msgid ":exc:`Warning`" -msgstr ":exc:`Warning`" - -#: ../../c-api/exceptions.rst:1222 -msgid "[3]_" -msgstr "" - -#: ../../c-api/exceptions.rst:1224 -msgid ":c:data:`PyExc_BytesWarning`" -msgstr ":c:data:`PyExc_BytesWarning`" - -#: ../../c-api/exceptions.rst:1224 -msgid ":exc:`BytesWarning`" -msgstr ":exc:`BytesWarning`" - -#: ../../c-api/exceptions.rst:1226 -msgid ":c:data:`PyExc_DeprecationWarning`" -msgstr ":c:data:`PyExc_DeprecationWarning`" - -#: ../../c-api/exceptions.rst:1226 -msgid ":exc:`DeprecationWarning`" -msgstr ":exc:`DeprecationWarning`" - -#: ../../c-api/exceptions.rst:1228 -msgid ":c:data:`PyExc_FutureWarning`" -msgstr ":c:data:`PyExc_FutureWarning`" - -#: ../../c-api/exceptions.rst:1228 -msgid ":exc:`FutureWarning`" -msgstr ":exc:`FutureWarning`" - -#: ../../c-api/exceptions.rst:1230 -msgid ":c:data:`PyExc_ImportWarning`" -msgstr ":c:data:`PyExc_ImportWarning`" - -#: ../../c-api/exceptions.rst:1230 -msgid ":exc:`ImportWarning`" -msgstr ":exc:`ImportWarning`" - -#: ../../c-api/exceptions.rst:1232 -msgid ":c:data:`PyExc_PendingDeprecationWarning`" -msgstr ":c:data:`PyExc_PendingDeprecationWarning`" - -#: ../../c-api/exceptions.rst:1232 -msgid ":exc:`PendingDeprecationWarning`" -msgstr ":exc:`PendingDeprecationWarning`" - -#: ../../c-api/exceptions.rst:1234 -msgid ":c:data:`PyExc_ResourceWarning`" -msgstr ":c:data:`PyExc_ResourceWarning`" - -#: ../../c-api/exceptions.rst:1234 -msgid ":exc:`ResourceWarning`" -msgstr ":exc:`ResourceWarning`" - -#: ../../c-api/exceptions.rst:1236 -msgid ":c:data:`PyExc_RuntimeWarning`" -msgstr ":c:data:`PyExc_RuntimeWarning`" - -#: ../../c-api/exceptions.rst:1236 -msgid ":exc:`RuntimeWarning`" -msgstr ":exc:`RuntimeWarning`" - -#: ../../c-api/exceptions.rst:1238 -msgid ":c:data:`PyExc_SyntaxWarning`" -msgstr ":c:data:`PyExc_SyntaxWarning`" - -#: ../../c-api/exceptions.rst:1238 -msgid ":exc:`SyntaxWarning`" -msgstr ":exc:`SyntaxWarning`" - -#: ../../c-api/exceptions.rst:1240 -msgid ":c:data:`PyExc_UnicodeWarning`" -msgstr ":c:data:`PyExc_UnicodeWarning`" - -#: ../../c-api/exceptions.rst:1240 -msgid ":exc:`UnicodeWarning`" -msgstr ":exc:`UnicodeWarning`" - -#: ../../c-api/exceptions.rst:1242 -msgid ":c:data:`PyExc_UserWarning`" -msgstr ":c:data:`PyExc_UserWarning`" - -#: ../../c-api/exceptions.rst:1242 -msgid ":exc:`UserWarning`" -msgstr ":exc:`UserWarning`" - -#: ../../c-api/exceptions.rst:1245 -msgid ":c:data:`PyExc_ResourceWarning`." -msgstr ":c:data:`PyExc_ResourceWarning`." - -#: ../../c-api/exceptions.rst:1251 -msgid "This is a base class for other standard warning categories." -msgstr "" - -#: ../../c-api/exceptions.rst:183 -msgid "strerror (C function)" -msgstr "" - -#: ../../c-api/exceptions.rst:637 ../../c-api/exceptions.rst:668 -#: ../../c-api/exceptions.rst:683 -msgid "module" -msgstr "modul" - -#: ../../c-api/exceptions.rst:637 ../../c-api/exceptions.rst:668 -#: ../../c-api/exceptions.rst:683 -msgid "signal" -msgstr "signal" - -#: ../../c-api/exceptions.rst:637 ../../c-api/exceptions.rst:668 -msgid "SIGINT (C macro)" -msgstr "" - -#: ../../c-api/exceptions.rst:637 ../../c-api/exceptions.rst:668 -#: ../../c-api/exceptions.rst:683 -msgid "KeyboardInterrupt (built-in exception)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_BaseException (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_Exception (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_ArithmeticError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_AssertionError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_AttributeError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_BlockingIOError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_BrokenPipeError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_BufferError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_ChildProcessError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_ConnectionAbortedError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_ConnectionError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_ConnectionRefusedError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_ConnectionResetError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_EOFError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_FileExistsError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_FileNotFoundError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_FloatingPointError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_GeneratorExit (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_ImportError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_IndentationError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_IndexError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_InterruptedError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_IsADirectoryError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_KeyError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_KeyboardInterrupt (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_LookupError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_MemoryError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_ModuleNotFoundError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_NameError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_NotADirectoryError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_NotImplementedError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_OSError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_OverflowError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_PermissionError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_ProcessLookupError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_PythonFinalizationError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_RecursionError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_ReferenceError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_RuntimeError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_StopAsyncIteration (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_StopIteration (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_SyntaxError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_SystemError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_SystemExit (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_TabError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_TimeoutError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_TypeError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_UnboundLocalError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_UnicodeDecodeError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_UnicodeEncodeError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_UnicodeError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_UnicodeTranslateError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_ValueError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:983 -msgid "PyExc_ZeroDivisionError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1169 -msgid "PyExc_EnvironmentError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1169 -msgid "PyExc_IOError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1169 -msgid "PyExc_WindowsError (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1206 -msgid "PyExc_Warning (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1206 -msgid "PyExc_BytesWarning (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1206 -msgid "PyExc_DeprecationWarning (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1206 -msgid "PyExc_FutureWarning (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1206 -msgid "PyExc_ImportWarning (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1206 -msgid "PyExc_PendingDeprecationWarning (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1206 -msgid "PyExc_ResourceWarning (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1206 -msgid "PyExc_RuntimeWarning (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1206 -msgid "PyExc_SyntaxWarning (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1206 -msgid "PyExc_UnicodeWarning (C var)" -msgstr "" - -#: ../../c-api/exceptions.rst:1206 -msgid "PyExc_UserWarning (C var)" -msgstr "" diff --git a/python-newest.c-api--file/id.po b/python-newest.c-api--file/id.po deleted file mode 100644 index 7ea0101..0000000 --- a/python-newest.c-api--file/id.po +++ /dev/null @@ -1,159 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo Allistair, 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/file.rst:6 -msgid "File Objects" -msgstr "" - -#: ../../c-api/file.rst:10 -msgid "" -"These APIs are a minimal emulation of the Python 2 C API for built-in file " -"objects, which used to rely on the buffered I/O (:c:expr:`FILE*`) support " -"from the C standard library. In Python 3, files and streams use the new " -":mod:`io` module, which defines several layers over the low-level unbuffered" -" I/O of the operating system. The functions described below are convenience" -" C wrappers over these new APIs, and meant mostly for internal error " -"reporting in the interpreter; third-party code is advised to access the " -":mod:`io` APIs instead." -msgstr "" - -#: ../../c-api/file.rst:22 -msgid "" -"Create a Python file object from the file descriptor of an already opened " -"file *fd*. The arguments *name*, *encoding*, *errors* and *newline* can be " -"``NULL`` to use the defaults; *buffering* can be *-1* to use the default. " -"*name* is ignored and kept for backward compatibility. Return ``NULL`` on " -"failure. For a more comprehensive description of the arguments, please refer" -" to the :func:`io.open` function documentation." -msgstr "" - -#: ../../c-api/file.rst:31 -msgid "" -"Since Python streams have their own buffering layer, mixing them with OS-" -"level file descriptors can produce various issues (such as unexpected " -"ordering of data)." -msgstr "" - -#: ../../c-api/file.rst:35 -msgid "Ignore *name* attribute." -msgstr "" - -#: ../../c-api/file.rst:41 -msgid "" -"Return the file descriptor associated with *p* as an :c:expr:`int`. If the " -"object is an integer, its value is returned. If not, the object's " -":meth:`~io.IOBase.fileno` method is called if it exists; the method must " -"return an integer, which is returned as the file descriptor value. Sets an " -"exception and returns ``-1`` on failure." -msgstr "" - -#: ../../c-api/file.rst:52 -msgid "" -"Equivalent to ``p.readline([n])``, this function reads one line from the " -"object *p*. *p* may be a file object or any object with a " -":meth:`~io.IOBase.readline` method. If *n* is ``0``, exactly one line is " -"read, regardless of the length of the line. If *n* is greater than ``0``, " -"no more than *n* bytes will be read from the file; a partial line can be " -"returned. In both cases, an empty string is returned if the end of the file" -" is reached immediately. If *n* is less than ``0``, however, one line is " -"read regardless of length, but :exc:`EOFError` is raised if the end of the " -"file is reached immediately." -msgstr "" - -#: ../../c-api/file.rst:65 -msgid "" -"Overrides the normal behavior of :func:`io.open_code` to pass its parameter " -"through the provided handler." -msgstr "" - -#: ../../c-api/file.rst:68 -msgid "The *handler* is a function of type:" -msgstr "" - -#: ../../c-api/file.rst:73 -msgid "" -"Equivalent of :c:expr:`PyObject *(\\*)(PyObject *path, void *userData)`, " -"where *path* is guaranteed to be :c:type:`PyUnicodeObject`." -msgstr "" - -#: ../../c-api/file.rst:77 -msgid "" -"The *userData* pointer is passed into the hook function. Since hook " -"functions may be called from different runtimes, this pointer should not " -"refer directly to Python state." -msgstr "" - -#: ../../c-api/file.rst:81 -msgid "" -"As this hook is intentionally used during import, avoid importing new " -"modules during its execution unless they are known to be frozen or available" -" in ``sys.modules``." -msgstr "" - -#: ../../c-api/file.rst:85 -msgid "" -"Once a hook has been set, it cannot be removed or replaced, and later calls " -"to :c:func:`PyFile_SetOpenCodeHook` will fail. On failure, the function " -"returns -1 and sets an exception if the interpreter has been initialized." -msgstr "" - -#: ../../c-api/file.rst:89 -msgid "This function is safe to call before :c:func:`Py_Initialize`." -msgstr "" - -#: ../../c-api/file.rst:91 -msgid "" -"Raises an :ref:`auditing event ` ``setopencodehook`` with no " -"arguments." -msgstr "" - -#: ../../c-api/file.rst:101 -msgid "" -"Write object *obj* to file object *p*. The only supported flag for *flags* " -"is :c:macro:`Py_PRINT_RAW`; if given, the :func:`str` of the object is " -"written instead of the :func:`repr`. Return ``0`` on success or ``-1`` on " -"failure; the appropriate exception will be set." -msgstr "" - -#: ../../c-api/file.rst:109 -msgid "" -"Write string *s* to file object *p*. Return ``0`` on success or ``-1`` on " -"failure; the appropriate exception will be set." -msgstr "" - -#: ../../c-api/file.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/file.rst:8 -msgid "file" -msgstr "" - -#: ../../c-api/file.rst:50 -msgid "EOFError (built-in exception)" -msgstr "" - -#: ../../c-api/file.rst:99 -msgid "Py_PRINT_RAW (C macro)" -msgstr "" diff --git a/python-newest.c-api--float/id.po b/python-newest.c-api--float/id.po deleted file mode 100644 index 78d8c5f..0000000 --- a/python-newest.c-api--float/id.po +++ /dev/null @@ -1,232 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo Allistair, 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/float.rst:6 -msgid "Floating-Point Objects" -msgstr "" - -#: ../../c-api/float.rst:13 -msgid "" -"This subtype of :c:type:`PyObject` represents a Python floating-point " -"object." -msgstr "" - -#: ../../c-api/float.rst:18 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python floating-point" -" type. This is the same object as :class:`float` in the Python layer." -msgstr "" - -#: ../../c-api/float.rst:24 -msgid "" -"Return true if its argument is a :c:type:`PyFloatObject` or a subtype of " -":c:type:`PyFloatObject`. This function always succeeds." -msgstr "" - -#: ../../c-api/float.rst:30 -msgid "" -"Return true if its argument is a :c:type:`PyFloatObject`, but not a subtype " -"of :c:type:`PyFloatObject`. This function always succeeds." -msgstr "" - -#: ../../c-api/float.rst:36 -msgid "" -"Create a :c:type:`PyFloatObject` object based on the string value in *str*, " -"or ``NULL`` on failure." -msgstr "" - -#: ../../c-api/float.rst:42 -msgid "" -"Create a :c:type:`PyFloatObject` object from *v*, or ``NULL`` on failure." -msgstr "" - -#: ../../c-api/float.rst:47 -msgid "" -"Return a C :c:expr:`double` representation of the contents of *pyfloat*. If" -" *pyfloat* is not a Python floating-point object but has a " -":meth:`~object.__float__` method, this method will first be called to " -"convert *pyfloat* into a float. If :meth:`!__float__` is not defined then it" -" falls back to :meth:`~object.__index__`. This method returns ``-1.0`` upon " -"failure, so one should call :c:func:`PyErr_Occurred` to check for errors." -msgstr "" - -#: ../../c-api/float.rst:54 -msgid "Use :meth:`~object.__index__` if available." -msgstr "" - -#: ../../c-api/float.rst:60 -msgid "" -"Return a C :c:expr:`double` representation of the contents of *pyfloat*, but" -" without error checking." -msgstr "" - -#: ../../c-api/float.rst:66 -msgid "" -"Return a structseq instance which contains information about the precision, " -"minimum and maximum values of a float. It's a thin wrapper around the header" -" file :file:`float.h`." -msgstr "" - -#: ../../c-api/float.rst:73 -msgid "" -"Return the maximum representable finite float *DBL_MAX* as C " -":c:expr:`double`." -msgstr "" - -#: ../../c-api/float.rst:78 -msgid "" -"Return the minimum normalized positive float *DBL_MIN* as C " -":c:expr:`double`." -msgstr "" - -#: ../../c-api/float.rst:82 -msgid "Pack and Unpack functions" -msgstr "" - -#: ../../c-api/float.rst:84 -msgid "" -"The pack and unpack functions provide an efficient platform-independent way " -"to store floating-point values as byte strings. The Pack routines produce a " -"bytes string from a C :c:expr:`double`, and the Unpack routines produce a C " -":c:expr:`double` from such a bytes string. The suffix (2, 4 or 8) specifies " -"the number of bytes in the bytes string." -msgstr "" - -#: ../../c-api/float.rst:90 -msgid "" -"On platforms that appear to use IEEE 754 formats these functions work by " -"copying bits. On other platforms, the 2-byte format is identical to the IEEE" -" 754 binary16 half-precision format, the 4-byte format (32-bit) is identical" -" to the IEEE 754 binary32 single precision format, and the 8-byte format to " -"the IEEE 754 binary64 double precision format, although the packing of INFs " -"and NaNs (if such things exist on the platform) isn't handled correctly, and" -" attempting to unpack a bytes string containing an IEEE INF or NaN will " -"raise an exception." -msgstr "" - -#: ../../c-api/float.rst:99 -msgid "" -"Note that NaNs type may not be preserved on IEEE platforms (silent NaN " -"become quiet), for example on x86 systems in 32-bit mode." -msgstr "" - -#: ../../c-api/float.rst:102 -msgid "" -"On non-IEEE platforms with more precision, or larger dynamic range, than " -"IEEE 754 supports, not all values can be packed; on non-IEEE platforms with " -"less precision, or smaller dynamic range, not all values can be unpacked. " -"What happens in such cases is partly accidental (alas)." -msgstr "" - -#: ../../c-api/float.rst:110 -msgid "Pack functions" -msgstr "" - -#: ../../c-api/float.rst:112 -msgid "" -"The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an " -":c:expr:`int` argument, non-zero if you want the bytes string in little-" -"endian format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero" -" if you want big-endian format (exponent first, at *p*). The " -":c:macro:`PY_BIG_ENDIAN` constant can be used to use the native endian: it " -"is equal to ``1`` on big endian processor, or ``0`` on little endian " -"processor." -msgstr "" - -#: ../../c-api/float.rst:119 -msgid "" -"Return value: ``0`` if all is OK, ``-1`` if error (and an exception is set, " -"most likely :exc:`OverflowError`)." -msgstr "" - -#: ../../c-api/float.rst:122 -msgid "There are two problems on non-IEEE platforms:" -msgstr "" - -#: ../../c-api/float.rst:124 -msgid "What this does is undefined if *x* is a NaN or infinity." -msgstr "" - -#: ../../c-api/float.rst:125 -msgid "``-0.0`` and ``+0.0`` produce the same bytes string." -msgstr "" - -#: ../../c-api/float.rst:129 -msgid "Pack a C double as the IEEE 754 binary16 half-precision format." -msgstr "" - -#: ../../c-api/float.rst:133 -msgid "Pack a C double as the IEEE 754 binary32 single precision format." -msgstr "" - -#: ../../c-api/float.rst:137 -msgid "Pack a C double as the IEEE 754 binary64 double precision format." -msgstr "" - -#: ../../c-api/float.rst:141 -msgid "Unpack functions" -msgstr "" - -#: ../../c-api/float.rst:143 -msgid "" -"The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is an " -":c:expr:`int` argument, non-zero if the bytes string is in little-endian " -"format (exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero if " -"big-endian (exponent first, at *p*). The :c:macro:`PY_BIG_ENDIAN` constant " -"can be used to use the native endian: it is equal to ``1`` on big endian " -"processor, or ``0`` on little endian processor." -msgstr "" - -#: ../../c-api/float.rst:150 -msgid "" -"Return value: The unpacked double. On error, this is ``-1.0`` and " -":c:func:`PyErr_Occurred` is true (and an exception is set, most likely " -":exc:`OverflowError`)." -msgstr "" - -#: ../../c-api/float.rst:154 -msgid "" -"Note that on a non-IEEE platform this will refuse to unpack a bytes string " -"that represents a NaN or infinity." -msgstr "" - -#: ../../c-api/float.rst:159 -msgid "Unpack the IEEE 754 binary16 half-precision format as a C double." -msgstr "" - -#: ../../c-api/float.rst:163 -msgid "Unpack the IEEE 754 binary32 single precision format as a C double." -msgstr "" - -#: ../../c-api/float.rst:167 -msgid "Unpack the IEEE 754 binary64 double precision format as a C double." -msgstr "" - -#: ../../c-api/float.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/float.rst:8 -msgid "floating-point" -msgstr "" diff --git a/python-newest.c-api--frame/id.po b/python-newest.c-api--frame/id.po deleted file mode 100644 index 02653e1..0000000 --- a/python-newest.c-api--frame/id.po +++ /dev/null @@ -1,218 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/frame.rst:4 -msgid "Frame Objects" -msgstr "" - -#: ../../c-api/frame.rst:8 -msgid "The C structure of the objects used to describe frame objects." -msgstr "" - -#: ../../c-api/frame.rst:10 -msgid "There are no public members in this structure." -msgstr "" - -#: ../../c-api/frame.rst:12 -msgid "" -"The members of this structure were removed from the public C API. Refer to " -"the :ref:`What's New entry ` for details." -msgstr "" - -#: ../../c-api/frame.rst:17 -msgid "" -"The :c:func:`PyEval_GetFrame` and :c:func:`PyThreadState_GetFrame` functions" -" can be used to get a frame object." -msgstr "" - -#: ../../c-api/frame.rst:20 -msgid "See also :ref:`Reflection `." -msgstr "" - -#: ../../c-api/frame.rst:24 -msgid "" -"The type of frame objects. It is the same object as " -":py:class:`types.FrameType` in the Python layer." -msgstr "" - -#: ../../c-api/frame.rst:29 -msgid "" -"Previously, this type was only available after including " -"````." -msgstr "" - -#: ../../c-api/frame.rst:34 -msgid "Return non-zero if *obj* is a frame object." -msgstr "" - -#: ../../c-api/frame.rst:38 -msgid "" -"Previously, this function was only available after including " -"````." -msgstr "" - -#: ../../c-api/frame.rst:43 -msgid "Get the *frame* next outer frame." -msgstr "" - -#: ../../c-api/frame.rst:45 -msgid "" -"Return a :term:`strong reference`, or ``NULL`` if *frame* has no outer " -"frame." -msgstr "" - -#: ../../c-api/frame.rst:53 -msgid "Get the *frame*'s :attr:`~frame.f_builtins` attribute." -msgstr "" - -#: ../../c-api/frame.rst:55 ../../c-api/frame.rst:86 -msgid "Return a :term:`strong reference`. The result cannot be ``NULL``." -msgstr "" - -#: ../../c-api/frame.rst:62 -msgid "Get the *frame* code." -msgstr "" - -#: ../../c-api/frame.rst:64 ../../c-api/frame.rst:130 -msgid "Return a :term:`strong reference`." -msgstr "" - -#: ../../c-api/frame.rst:66 -msgid "The result (frame code) cannot be ``NULL``." -msgstr "" - -#: ../../c-api/frame.rst:73 -msgid "" -"Get the generator, coroutine, or async generator that owns this frame, or " -"``NULL`` if this frame is not owned by a generator. Does not raise an " -"exception, even if the return value is ``NULL``." -msgstr "" - -#: ../../c-api/frame.rst:77 -msgid "Return a :term:`strong reference`, or ``NULL``." -msgstr "" - -#: ../../c-api/frame.rst:84 -msgid "Get the *frame*'s :attr:`~frame.f_globals` attribute." -msgstr "" - -#: ../../c-api/frame.rst:93 -msgid "Get the *frame*'s :attr:`~frame.f_lasti` attribute." -msgstr "" - -#: ../../c-api/frame.rst:95 -msgid "Returns -1 if ``frame.f_lasti`` is ``None``." -msgstr "" - -#: ../../c-api/frame.rst:102 -msgid "Get the variable *name* of *frame*." -msgstr "" - -#: ../../c-api/frame.rst:104 -msgid "Return a :term:`strong reference` to the variable value on success." -msgstr "" - -#: ../../c-api/frame.rst:105 -msgid "" -"Raise :exc:`NameError` and return ``NULL`` if the variable does not exist." -msgstr "" - -#: ../../c-api/frame.rst:106 -msgid "Raise an exception and return ``NULL`` on error." -msgstr "" - -#: ../../c-api/frame.rst:108 -msgid "*name* type must be a :class:`str`." -msgstr "" - -#: ../../c-api/frame.rst:115 -msgid "" -"Similar to :c:func:`PyFrame_GetVar`, but the variable name is a C string " -"encoded in UTF-8." -msgstr "" - -#: ../../c-api/frame.rst:123 -msgid "" -"Get the *frame*'s :attr:`~frame.f_locals` attribute. If the frame refers to " -"an :term:`optimized scope`, this returns a write-through proxy object that " -"allows modifying the locals. In all other cases (classes, modules, " -":func:`exec`, :func:`eval`) it returns the mapping representing the frame " -"locals directly (as described for :func:`locals`)." -msgstr "" - -#: ../../c-api/frame.rst:134 -msgid "" -"As part of :pep:`667`, return an instance of " -":c:var:`PyFrameLocalsProxy_Type`." -msgstr "" - -#: ../../c-api/frame.rst:140 -msgid "Return the line number that *frame* is currently executing." -msgstr "" - -#: ../../c-api/frame.rst:144 -msgid "Frame Locals Proxies" -msgstr "" - -#: ../../c-api/frame.rst:148 -msgid "" -"The :attr:`~frame.f_locals` attribute on a :ref:`frame object ` is an instance of a \"frame-locals proxy\". The proxy object " -"exposes a write-through view of the underlying locals dictionary for the " -"frame. This ensures that the variables exposed by ``f_locals`` are always up" -" to date with the live local variables in the frame itself." -msgstr "" - -#: ../../c-api/frame.rst:154 -msgid "See :pep:`667` for more information." -msgstr "" - -#: ../../c-api/frame.rst:158 -msgid "The type of frame :func:`locals` proxy objects." -msgstr "" - -#: ../../c-api/frame.rst:162 -msgid "Return non-zero if *obj* is a frame :func:`locals` proxy." -msgstr "" - -#: ../../c-api/frame.rst:165 -msgid "Internal Frames" -msgstr "" - -#: ../../c-api/frame.rst:167 -msgid "Unless using :pep:`523`, you will not need this." -msgstr "" - -#: ../../c-api/frame.rst:171 -msgid "The interpreter's internal frame representation." -msgstr "" - -#: ../../c-api/frame.rst:177 -msgid "Return a :term:`strong reference` to the code object for the frame." -msgstr "" - -#: ../../c-api/frame.rst:184 -msgid "Return the byte offset into the last executed instruction." -msgstr "" - -#: ../../c-api/frame.rst:191 -msgid "" -"Return the currently executing line number, or -1 if there is no line " -"number." -msgstr "" diff --git a/python-newest.c-api--function/id.po b/python-newest.c-api--function/id.po deleted file mode 100644 index 19d7abc..0000000 --- a/python-newest.c-api--function/id.po +++ /dev/null @@ -1,254 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2021 -# Akhmat Safrudin , 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/function.rst:6 -msgid "Function Objects" -msgstr "Obyek Fungsi" - -#: ../../c-api/function.rst:10 -msgid "There are a few functions specific to Python functions." -msgstr "Terdapat beberapa fungsi spesifik untuk fungsi Python." - -#: ../../c-api/function.rst:15 -msgid "The C structure used for functions." -msgstr "" - -#: ../../c-api/function.rst:22 -msgid "" -"This is an instance of :c:type:`PyTypeObject` and represents the Python " -"function type. It is exposed to Python programmers as " -"``types.FunctionType``." -msgstr "" - -#: ../../c-api/function.rst:28 -msgid "" -"Return true if *o* is a function object (has type " -":c:data:`PyFunction_Type`). The parameter must not be ``NULL``. This " -"function always succeeds." -msgstr "" - -#: ../../c-api/function.rst:34 -msgid "" -"Return a new function object associated with the code object *code*. " -"*globals* must be a dictionary with the global variables accessible to the " -"function." -msgstr "" - -#: ../../c-api/function.rst:37 -msgid "" -"The function's docstring and name are retrieved from the code object. " -":attr:`~function.__module__` is retrieved from *globals*. The argument " -"defaults, annotations and closure are set to ``NULL``. " -":attr:`~function.__qualname__` is set to the same value as the code object's" -" :attr:`~codeobject.co_qualname` field." -msgstr "" - -#: ../../c-api/function.rst:46 -msgid "" -"As :c:func:`PyFunction_New`, but also allows setting the function object's " -":attr:`~function.__qualname__` attribute. *qualname* should be a unicode " -"object or ``NULL``; if ``NULL``, the :attr:`!__qualname__` attribute is set " -"to the same value as the code object's :attr:`~codeobject.co_qualname` " -"field." -msgstr "" - -#: ../../c-api/function.rst:57 -msgid "Return the code object associated with the function object *op*." -msgstr "" - -#: ../../c-api/function.rst:62 -msgid "" -"Return the globals dictionary associated with the function object *op*." -msgstr "" - -#: ../../c-api/function.rst:67 -msgid "" -"Return a :term:`borrowed reference` to the :attr:`~function.__module__` " -"attribute of the :ref:`function object ` *op*. It can be" -" *NULL*." -msgstr "" - -#: ../../c-api/function.rst:71 -msgid "" -"This is normally a :class:`string ` containing the module name, but can" -" be set to any other object by Python code." -msgstr "" - -#: ../../c-api/function.rst:77 -msgid "" -"Return the argument default values of the function object *op*. This can be " -"a tuple of arguments or ``NULL``." -msgstr "" - -#: ../../c-api/function.rst:83 -msgid "" -"Set the argument default values for the function object *op*. *defaults* " -"must be ``Py_None`` or a tuple." -msgstr "" - -#: ../../c-api/function.rst:86 ../../c-api/function.rst:109 -#: ../../c-api/function.rst:123 -msgid "Raises :exc:`SystemError` and returns ``-1`` on failure." -msgstr "" - -#: ../../c-api/function.rst:91 -msgid "Set the vectorcall field of a given function object *func*." -msgstr "" - -#: ../../c-api/function.rst:93 -msgid "" -"Warning: extensions using this API must preserve the behavior of the " -"unaltered (default) vectorcall function!" -msgstr "" - -#: ../../c-api/function.rst:100 -msgid "" -"Return the closure associated with the function object *op*. This can be " -"``NULL`` or a tuple of cell objects." -msgstr "" - -#: ../../c-api/function.rst:106 -msgid "" -"Set the closure associated with the function object *op*. *closure* must be " -"``Py_None`` or a tuple of cell objects." -msgstr "" - -#: ../../c-api/function.rst:114 -msgid "" -"Return the annotations of the function object *op*. This can be a mutable " -"dictionary or ``NULL``." -msgstr "" - -#: ../../c-api/function.rst:120 -msgid "" -"Set the annotations for the function object *op*. *annotations* must be a " -"dictionary or ``Py_None``." -msgstr "" - -#: ../../c-api/function.rst:128 -msgid "" -"Register *callback* as a function watcher for the current interpreter. " -"Return an ID which may be passed to :c:func:`PyFunction_ClearWatcher`. In " -"case of error (e.g. no more watcher IDs available), return ``-1`` and set an" -" exception." -msgstr "" - -#: ../../c-api/function.rst:138 -msgid "" -"Clear watcher identified by *watcher_id* previously returned from " -":c:func:`PyFunction_AddWatcher` for the current interpreter. Return ``0`` on" -" success, or ``-1`` and set an exception on error (e.g. if the given " -"*watcher_id* was never registered.)" -msgstr "" - -#: ../../c-api/function.rst:148 -msgid "Enumeration of possible function watcher events:" -msgstr "" - -#: ../../c-api/function.rst:150 -msgid "``PyFunction_EVENT_CREATE``" -msgstr "" - -#: ../../c-api/function.rst:151 -msgid "``PyFunction_EVENT_DESTROY``" -msgstr "" - -#: ../../c-api/function.rst:152 -msgid "``PyFunction_EVENT_MODIFY_CODE``" -msgstr "" - -#: ../../c-api/function.rst:153 -msgid "``PyFunction_EVENT_MODIFY_DEFAULTS``" -msgstr "" - -#: ../../c-api/function.rst:154 -msgid "``PyFunction_EVENT_MODIFY_KWDEFAULTS``" -msgstr "" - -#: ../../c-api/function.rst:161 -msgid "Type of a function watcher callback function." -msgstr "" - -#: ../../c-api/function.rst:163 -msgid "" -"If *event* is ``PyFunction_EVENT_CREATE`` or ``PyFunction_EVENT_DESTROY`` " -"then *new_value* will be ``NULL``. Otherwise, *new_value* will hold a " -":term:`borrowed reference` to the new value that is about to be stored in " -"*func* for the attribute that is being modified." -msgstr "" - -#: ../../c-api/function.rst:168 -msgid "" -"The callback may inspect but must not modify *func*; doing so could have " -"unpredictable effects, including infinite recursion." -msgstr "" - -#: ../../c-api/function.rst:171 -msgid "" -"If *event* is ``PyFunction_EVENT_CREATE``, then the callback is invoked " -"after `func` has been fully initialized. Otherwise, the callback is invoked " -"before the modification to *func* takes place, so the prior state of *func* " -"can be inspected. The runtime is permitted to optimize away the creation of " -"function objects when possible. In such cases no event will be emitted. " -"Although this creates the possibility of an observable difference of runtime" -" behavior depending on optimization decisions, it does not change the " -"semantics of the Python code being executed." -msgstr "" - -#: ../../c-api/function.rst:180 -msgid "" -"If *event* is ``PyFunction_EVENT_DESTROY``, Taking a reference in the " -"callback to the about-to-be-destroyed function will resurrect it, preventing" -" it from being freed at this time. When the resurrected object is destroyed " -"later, any watcher callbacks active at that time will be called again." -msgstr "" - -#: ../../c-api/function.rst:185 -msgid "" -"If the callback sets an exception, it must return ``-1``; this exception " -"will be printed as an unraisable exception using " -":c:func:`PyErr_WriteUnraisable`. Otherwise it should return ``0``." -msgstr "" - -#: ../../c-api/function.rst:189 -msgid "" -"There may already be a pending exception set on entry to the callback. In " -"this case, the callback should return ``0`` with the same exception still " -"set. This means the callback may not call any other API that can set an " -"exception unless it saves and clears the exception state first, and restores" -" it before returning." -msgstr "" - -#: ../../c-api/function.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/function.rst:8 -msgid "function" -msgstr "fungsi" - -#: ../../c-api/function.rst:20 -msgid "MethodType (in module types)" -msgstr "" diff --git a/python-newest.c-api--gcsupport/id.po b/python-newest.c-api--gcsupport/id.po deleted file mode 100644 index 2c16f5c..0000000 --- a/python-newest.c-api--gcsupport/id.po +++ /dev/null @@ -1,367 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/gcsupport.rst:6 -msgid "Supporting Cyclic Garbage Collection" -msgstr "" - -#: ../../c-api/gcsupport.rst:8 -msgid "" -"Python's support for detecting and collecting garbage which involves " -"circular references requires support from object types which are " -"\"containers\" for other objects which may also be containers. Types which " -"do not store references to other objects, or which only store references to " -"atomic types (such as numbers or strings), do not need to provide any " -"explicit support for garbage collection." -msgstr "" - -#: ../../c-api/gcsupport.rst:15 -msgid "" -"To create a container type, the :c:member:`~PyTypeObject.tp_flags` field of " -"the type object must include the :c:macro:`Py_TPFLAGS_HAVE_GC` and provide " -"an implementation of the :c:member:`~PyTypeObject.tp_traverse` handler. If " -"instances of the type are mutable, a :c:member:`~PyTypeObject.tp_clear` " -"implementation must also be provided." -msgstr "" - -#: ../../c-api/gcsupport.rst:21 -msgid ":c:macro:`Py_TPFLAGS_HAVE_GC`" -msgstr "" - -#: ../../c-api/gcsupport.rst:22 -msgid "" -"Objects with a type with this flag set must conform with the rules " -"documented here. For convenience these objects will be referred to as " -"container objects." -msgstr "" - -#: ../../c-api/gcsupport.rst:26 -msgid "Constructors for container types must conform to two rules:" -msgstr "" - -#: ../../c-api/gcsupport.rst:28 -msgid "" -"The memory for the object must be allocated using :c:macro:`PyObject_GC_New`" -" or :c:macro:`PyObject_GC_NewVar`." -msgstr "" - -#: ../../c-api/gcsupport.rst:31 -msgid "" -"Once all the fields which may contain references to other containers are " -"initialized, it must call :c:func:`PyObject_GC_Track`." -msgstr "" - -#: ../../c-api/gcsupport.rst:34 -msgid "" -"Similarly, the deallocator for the object must conform to a similar pair of " -"rules:" -msgstr "" - -#: ../../c-api/gcsupport.rst:37 -msgid "" -"Before fields which refer to other containers are invalidated, " -":c:func:`PyObject_GC_UnTrack` must be called." -msgstr "" - -#: ../../c-api/gcsupport.rst:40 -msgid "" -"The object's memory must be deallocated using :c:func:`PyObject_GC_Del`." -msgstr "" - -#: ../../c-api/gcsupport.rst:43 -msgid "" -"If a type adds the Py_TPFLAGS_HAVE_GC, then it *must* implement at least a " -":c:member:`~PyTypeObject.tp_traverse` handler or explicitly use one from its" -" subclass or subclasses." -msgstr "" - -#: ../../c-api/gcsupport.rst:47 -msgid "" -"When calling :c:func:`PyType_Ready` or some of the APIs that indirectly call" -" it like :c:func:`PyType_FromSpecWithBases` or :c:func:`PyType_FromSpec` the" -" interpreter will automatically populate the " -":c:member:`~PyTypeObject.tp_flags`, :c:member:`~PyTypeObject.tp_traverse` " -"and :c:member:`~PyTypeObject.tp_clear` fields if the type inherits from a " -"class that implements the garbage collector protocol and the child class " -"does *not* include the :c:macro:`Py_TPFLAGS_HAVE_GC` flag." -msgstr "" - -#: ../../c-api/gcsupport.rst:57 -msgid "" -"Analogous to :c:macro:`PyObject_New` but for container objects with the " -":c:macro:`Py_TPFLAGS_HAVE_GC` flag set." -msgstr "" - -#: ../../c-api/gcsupport.rst:62 -msgid "" -"Analogous to :c:macro:`PyObject_NewVar` but for container objects with the " -":c:macro:`Py_TPFLAGS_HAVE_GC` flag set." -msgstr "" - -#: ../../c-api/gcsupport.rst:67 -msgid "" -"Analogous to :c:macro:`PyObject_GC_New` but allocates *extra_size* bytes at " -"the end of the object (at offset :c:member:`~PyTypeObject.tp_basicsize`). " -"The allocated memory is initialized to zeros, except for the :c:type:`Python" -" object header `." -msgstr "" - -#: ../../c-api/gcsupport.rst:73 -msgid "" -"The extra data will be deallocated with the object, but otherwise it is not " -"managed by Python." -msgstr "" - -#: ../../c-api/gcsupport.rst:77 -msgid "" -"The function is marked as unstable because the final mechanism for reserving" -" extra data after an instance is not yet decided. For allocating a variable " -"number of fields, prefer using :c:type:`PyVarObject` and " -":c:member:`~PyTypeObject.tp_itemsize` instead." -msgstr "" - -#: ../../c-api/gcsupport.rst:88 -msgid "" -"Resize an object allocated by :c:macro:`PyObject_NewVar`. Returns the " -"resized object of type ``TYPE*`` (refers to any C type) or ``NULL`` on " -"failure." -msgstr "" - -#: ../../c-api/gcsupport.rst:92 -msgid "" -"*op* must be of type :c:expr:`PyVarObject *` and must not be tracked by the " -"collector yet. *newsize* must be of type :c:type:`Py_ssize_t`." -msgstr "" - -#: ../../c-api/gcsupport.rst:99 -msgid "" -"Adds the object *op* to the set of container objects tracked by the " -"collector. The collector can run at unexpected times so objects must be " -"valid while being tracked. This should be called once all the fields " -"followed by the :c:member:`~PyTypeObject.tp_traverse` handler become valid, " -"usually near the end of the constructor." -msgstr "" - -#: ../../c-api/gcsupport.rst:108 -msgid "" -"Returns non-zero if the object implements the garbage collector protocol, " -"otherwise returns 0." -msgstr "" - -#: ../../c-api/gcsupport.rst:111 -msgid "" -"The object cannot be tracked by the garbage collector if this function " -"returns 0." -msgstr "" - -#: ../../c-api/gcsupport.rst:116 -msgid "" -"Returns 1 if the object type of *op* implements the GC protocol and *op* is " -"being currently tracked by the garbage collector and 0 otherwise." -msgstr "" - -#: ../../c-api/gcsupport.rst:119 -msgid "This is analogous to the Python function :func:`gc.is_tracked`." -msgstr "" - -#: ../../c-api/gcsupport.rst:126 -msgid "" -"Returns 1 if the object type of *op* implements the GC protocol and *op* has" -" been already finalized by the garbage collector and 0 otherwise." -msgstr "" - -#: ../../c-api/gcsupport.rst:129 -msgid "This is analogous to the Python function :func:`gc.is_finalized`." -msgstr "" - -#: ../../c-api/gcsupport.rst:136 -msgid "" -"Releases memory allocated to an object using :c:macro:`PyObject_GC_New` or " -":c:macro:`PyObject_GC_NewVar`." -msgstr "" - -#: ../../c-api/gcsupport.rst:142 -msgid "" -"Remove the object *op* from the set of container objects tracked by the " -"collector. Note that :c:func:`PyObject_GC_Track` can be called again on " -"this object to add it back to the set of tracked objects. The deallocator " -"(:c:member:`~PyTypeObject.tp_dealloc` handler) should call this for the " -"object before any of the fields used by the " -":c:member:`~PyTypeObject.tp_traverse` handler become invalid." -msgstr "" - -#: ../../c-api/gcsupport.rst:151 -msgid "" -"The :c:func:`!_PyObject_GC_TRACK` and :c:func:`!_PyObject_GC_UNTRACK` macros" -" have been removed from the public C API." -msgstr "" - -#: ../../c-api/gcsupport.rst:154 -msgid "" -"The :c:member:`~PyTypeObject.tp_traverse` handler accepts a function " -"parameter of this type:" -msgstr "" - -#: ../../c-api/gcsupport.rst:159 -msgid "" -"Type of the visitor function passed to the " -":c:member:`~PyTypeObject.tp_traverse` handler. The function should be called" -" with an object to traverse as *object* and the third parameter to the " -":c:member:`~PyTypeObject.tp_traverse` handler as *arg*. The Python core " -"uses several visitor functions to implement cyclic garbage detection; it's " -"not expected that users will need to write their own visitor functions." -msgstr "" - -#: ../../c-api/gcsupport.rst:166 -msgid "" -"The :c:member:`~PyTypeObject.tp_traverse` handler must have the following " -"type:" -msgstr "" - -#: ../../c-api/gcsupport.rst:171 -msgid "" -"Traversal function for a container object. Implementations must call the " -"*visit* function for each object directly contained by *self*, with the " -"parameters to *visit* being the contained object and the *arg* value passed " -"to the handler. The *visit* function must not be called with a ``NULL`` " -"object argument. If *visit* returns a non-zero value that value should be " -"returned immediately." -msgstr "" - -#: ../../c-api/gcsupport.rst:178 -msgid "" -"To simplify writing :c:member:`~PyTypeObject.tp_traverse` handlers, a " -":c:func:`Py_VISIT` macro is provided. In order to use this macro, the " -":c:member:`~PyTypeObject.tp_traverse` implementation must name its arguments" -" exactly *visit* and *arg*:" -msgstr "" - -#: ../../c-api/gcsupport.rst:185 -msgid "" -"If *o* is not ``NULL``, call the *visit* callback, with arguments *o* and " -"*arg*. If *visit* returns a non-zero value, then return it. Using this " -"macro, :c:member:`~PyTypeObject.tp_traverse` handlers look like::" -msgstr "" - -#: ../../c-api/gcsupport.rst:190 -msgid "" -"static int\n" -"my_traverse(Noddy *self, visitproc visit, void *arg)\n" -"{\n" -" Py_VISIT(self->foo);\n" -" Py_VISIT(self->bar);\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../c-api/gcsupport.rst:198 -msgid "" -"The :c:member:`~PyTypeObject.tp_clear` handler must be of the " -":c:type:`inquiry` type, or ``NULL`` if the object is immutable." -msgstr "" - -#: ../../c-api/gcsupport.rst:204 -msgid "" -"Drop references that may have created reference cycles. Immutable objects " -"do not have to define this method since they can never directly create " -"reference cycles. Note that the object must still be valid after calling " -"this method (don't just call :c:func:`Py_DECREF` on a reference). The " -"collector will call this method if it detects that this object is involved " -"in a reference cycle." -msgstr "" - -#: ../../c-api/gcsupport.rst:213 -msgid "Controlling the Garbage Collector State" -msgstr "" - -#: ../../c-api/gcsupport.rst:215 -msgid "" -"The C-API provides the following functions for controlling garbage " -"collection runs." -msgstr "" - -#: ../../c-api/gcsupport.rst:220 -msgid "" -"Perform a full garbage collection, if the garbage collector is enabled. " -"(Note that :func:`gc.collect` runs it unconditionally.)" -msgstr "" - -#: ../../c-api/gcsupport.rst:223 -msgid "" -"Returns the number of collected + unreachable objects which cannot be " -"collected. If the garbage collector is disabled or already collecting, " -"returns ``0`` immediately. Errors during garbage collection are passed to " -":data:`sys.unraisablehook`. This function does not raise exceptions." -msgstr "" - -#: ../../c-api/gcsupport.rst:233 -msgid "" -"Enable the garbage collector: similar to :func:`gc.enable`. Returns the " -"previous state, 0 for disabled and 1 for enabled." -msgstr "" - -#: ../../c-api/gcsupport.rst:241 -msgid "" -"Disable the garbage collector: similar to :func:`gc.disable`. Returns the " -"previous state, 0 for disabled and 1 for enabled." -msgstr "" - -#: ../../c-api/gcsupport.rst:249 -msgid "" -"Query the state of the garbage collector: similar to :func:`gc.isenabled`. " -"Returns the current state, 0 for disabled and 1 for enabled." -msgstr "" - -#: ../../c-api/gcsupport.rst:256 -msgid "Querying Garbage Collector State" -msgstr "" - -#: ../../c-api/gcsupport.rst:258 -msgid "" -"The C-API provides the following interface for querying information about " -"the garbage collector." -msgstr "" - -#: ../../c-api/gcsupport.rst:263 -msgid "" -"Run supplied *callback* on all live GC-capable objects. *arg* is passed " -"through to all invocations of *callback*." -msgstr "" - -#: ../../c-api/gcsupport.rst:267 -msgid "" -"If new objects are (de)allocated by the callback it is undefined if they " -"will be visited." -msgstr "" - -#: ../../c-api/gcsupport.rst:270 -msgid "" -"Garbage collection is disabled during operation. Explicitly running a " -"collection in the callback may lead to undefined behaviour e.g. visiting the" -" same objects multiple times or not at all." -msgstr "" - -#: ../../c-api/gcsupport.rst:278 -msgid "" -"Type of the visitor function to be passed to " -":c:func:`PyUnstable_GC_VisitObjects`. *arg* is the same as the *arg* passed " -"to ``PyUnstable_GC_VisitObjects``. Return ``1`` to continue iteration, " -"return ``0`` to stop iteration. Other return values are reserved for now so " -"behavior on returning anything else is undefined." -msgstr "" diff --git a/python-newest.c-api--gen/id.po b/python-newest.c-api--gen/id.po deleted file mode 100644 index 83317a4..0000000 --- a/python-newest.c-api--gen/id.po +++ /dev/null @@ -1,65 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/gen.rst:6 -msgid "Generator Objects" -msgstr "" - -#: ../../c-api/gen.rst:8 -msgid "" -"Generator objects are what Python uses to implement generator iterators. " -"They are normally created by iterating over a function that yields values, " -"rather than explicitly calling :c:func:`PyGen_New` or " -":c:func:`PyGen_NewWithQualName`." -msgstr "" - -#: ../../c-api/gen.rst:15 -msgid "The C structure used for generator objects." -msgstr "" - -#: ../../c-api/gen.rst:20 -msgid "The type object corresponding to generator objects." -msgstr "" - -#: ../../c-api/gen.rst:25 -msgid "" -"Return true if *ob* is a generator object; *ob* must not be ``NULL``. This " -"function always succeeds." -msgstr "" - -#: ../../c-api/gen.rst:31 -msgid "" -"Return true if *ob*'s type is :c:type:`PyGen_Type`; *ob* must not be " -"``NULL``. This function always succeeds." -msgstr "" - -#: ../../c-api/gen.rst:37 -msgid "" -"Create and return a new generator object based on the *frame* object. A " -"reference to *frame* is stolen by this function. The argument must not be " -"``NULL``." -msgstr "" - -#: ../../c-api/gen.rst:43 -msgid "" -"Create and return a new generator object based on the *frame* object, with " -"``__name__`` and ``__qualname__`` set to *name* and *qualname*. A reference " -"to *frame* is stolen by this function. The *frame* argument must not be " -"``NULL``." -msgstr "" diff --git a/python-newest.c-api--hash/id.po b/python-newest.c-api--hash/id.po deleted file mode 100644 index b0c4ebe..0000000 --- a/python-newest.c-api--hash/id.po +++ /dev/null @@ -1,125 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-02-23 14:15+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/hash.rst:4 -msgid "PyHash API" -msgstr "" - -#: ../../c-api/hash.rst:6 -msgid "" -"See also the :c:member:`PyTypeObject.tp_hash` member and :ref:`numeric-" -"hash`." -msgstr "" - -#: ../../c-api/hash.rst:10 -msgid "Hash value type: signed integer." -msgstr "" - -#: ../../c-api/hash.rst:16 -msgid "Hash value type: unsigned integer." -msgstr "" - -#: ../../c-api/hash.rst:22 -msgid "" -"The `Mersenne prime `_ ``P = " -"2**n -1``, used for numeric hash scheme." -msgstr "" - -#: ../../c-api/hash.rst:28 -msgid "The exponent ``n`` of ``P`` in :c:macro:`PyHASH_MODULUS`." -msgstr "" - -#: ../../c-api/hash.rst:34 -msgid "Prime multiplier used in string and various other hashes." -msgstr "" - -#: ../../c-api/hash.rst:40 -msgid "The hash value returned for a positive infinity." -msgstr "" - -#: ../../c-api/hash.rst:46 -msgid "The multiplier used for the imaginary part of a complex number." -msgstr "" - -#: ../../c-api/hash.rst:52 -msgid "Hash function definition used by :c:func:`PyHash_GetFuncDef`." -msgstr "" - -#: ../../c-api/hash.rst:60 -msgid "Hash function name (UTF-8 encoded string)." -msgstr "" - -#: ../../c-api/hash.rst:64 -msgid "Internal size of the hash value in bits." -msgstr "" - -#: ../../c-api/hash.rst:68 -msgid "Size of seed input in bits." -msgstr "" - -#: ../../c-api/hash.rst:75 -msgid "Get the hash function definition." -msgstr "" - -#: ../../c-api/hash.rst:78 -msgid ":pep:`456` \"Secure and interchangeable hash algorithm\"." -msgstr "" - -#: ../../c-api/hash.rst:85 -msgid "" -"Hash a pointer value: process the pointer value as an integer (cast it to " -"``uintptr_t`` internally). The pointer is not dereferenced." -msgstr "" - -#: ../../c-api/hash.rst:88 -msgid "The function cannot fail: it cannot return ``-1``." -msgstr "" - -#: ../../c-api/hash.rst:95 -msgid "" -"Compute and return the hash value of a buffer of *len* bytes starting at " -"address *ptr*. The hash is guaranteed to match that of :class:`bytes`, " -":class:`memoryview`, and other built-in objects that implement the " -":ref:`buffer protocol `." -msgstr "" - -#: ../../c-api/hash.rst:100 -msgid "" -"Use this function to implement hashing for immutable objects whose " -":c:member:`~PyTypeObject.tp_richcompare` function compares to another " -"object's buffer." -msgstr "" - -#: ../../c-api/hash.rst:104 -msgid "*len* must be greater than or equal to ``0``." -msgstr "" - -#: ../../c-api/hash.rst:106 -msgid "This function always succeeds." -msgstr "" - -#: ../../c-api/hash.rst:113 -msgid "" -"Generic hashing function that is meant to be put into a type object's " -"``tp_hash`` slot. Its result only depends on the object's identity." -msgstr "" - -#: ../../c-api/hash.rst:118 -msgid "In CPython, it is equivalent to :c:func:`Py_HashPointer`." -msgstr "" diff --git a/python-newest.c-api--import/id.po b/python-newest.c-api--import/id.po deleted file mode 100644 index 2513a75..0000000 --- a/python-newest.c-api--import/id.po +++ /dev/null @@ -1,436 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/import.rst:6 -msgid "Importing Modules" -msgstr "Mengimpor Modul" - -#: ../../c-api/import.rst:16 -msgid "" -"This is a wrapper around :c:func:`PyImport_Import()` which takes a " -":c:expr:`const char *` as an argument instead of a :c:expr:`PyObject *`." -msgstr "" - -#: ../../c-api/import.rst:21 -msgid "" -"This function is a deprecated alias of :c:func:`PyImport_ImportModule`." -msgstr "" - -#: ../../c-api/import.rst:23 -msgid "" -"This function used to fail immediately when the import lock was held by " -"another thread. In Python 3.3 though, the locking scheme switched to per-" -"module locks for most purposes, so this function's special behaviour isn't " -"needed anymore." -msgstr "" - -#: ../../c-api/import.rst:29 -msgid "Use :c:func:`PyImport_ImportModule` instead." -msgstr "" - -#: ../../c-api/import.rst:37 -msgid "" -"Import a module. This is best described by referring to the built-in Python" -" function :func:`__import__`." -msgstr "" - -#: ../../c-api/import.rst:40 ../../c-api/import.rst:56 -msgid "" -"The return value is a new reference to the imported module or top-level " -"package, or ``NULL`` with an exception set on failure. Like for " -":func:`__import__`, the return value when a submodule of a package was " -"requested is normally the top-level package, unless a non-empty *fromlist* " -"was given." -msgstr "" - -#: ../../c-api/import.rst:46 -msgid "" -"Failing imports remove incomplete module objects, like with " -":c:func:`PyImport_ImportModule`." -msgstr "" - -#: ../../c-api/import.rst:52 -msgid "" -"Import a module. This is best described by referring to the built-in Python" -" function :func:`__import__`, as the standard :func:`__import__` function " -"calls this function directly." -msgstr "" - -#: ../../c-api/import.rst:66 -msgid "" -"Similar to :c:func:`PyImport_ImportModuleLevelObject`, but the name is a " -"UTF-8 encoded string instead of a Unicode object." -msgstr "" - -#: ../../c-api/import.rst:69 -msgid "Negative values for *level* are no longer accepted." -msgstr "" - -#: ../../c-api/import.rst:74 -msgid "" -"This is a higher-level interface that calls the current \"import hook " -"function\" (with an explicit *level* of 0, meaning absolute import). It " -"invokes the :func:`__import__` function from the ``__builtins__`` of the " -"current globals. This means that the import is done using whatever import " -"hooks are installed in the current environment." -msgstr "" - -#: ../../c-api/import.rst:80 -msgid "This function always uses absolute imports." -msgstr "" - -#: ../../c-api/import.rst:85 -msgid "" -"Reload a module. Return a new reference to the reloaded module, or ``NULL``" -" with an exception set on failure (the module still exists in this case)." -msgstr "" - -#: ../../c-api/import.rst:91 -msgid "Return the module object corresponding to a module name." -msgstr "" - -#: ../../c-api/import.rst:93 -msgid "" -"The *name* argument may be of the form ``package.module``. First check the " -"modules dictionary if there's one there, and if not, create a new one and " -"insert it in the modules dictionary." -msgstr "" - -#: ../../c-api/import.rst:97 -msgid "" -"Return a :term:`strong reference` to the module on success. Return ``NULL`` " -"with an exception set on failure." -msgstr "" - -#: ../../c-api/import.rst:100 -msgid "The module name *name* is decoded from UTF-8." -msgstr "" - -#: ../../c-api/import.rst:102 -msgid "" -"This function does not load or import the module; if the module wasn't " -"already loaded, you will get an empty module object. Use " -":c:func:`PyImport_ImportModule` or one of its variants to import a module. " -"Package structures implied by a dotted name for *name* are not created if " -"not already present." -msgstr "" - -#: ../../c-api/import.rst:113 -msgid "" -"Similar to :c:func:`PyImport_AddModuleRef`, but return a :term:`borrowed " -"reference` and *name* is a Python :class:`str` object." -msgstr "" - -#: ../../c-api/import.rst:121 -msgid "" -"Similar to :c:func:`PyImport_AddModuleRef`, but return a :term:`borrowed " -"reference`." -msgstr "" - -#: ../../c-api/import.rst:129 -msgid "" -"Given a module name (possibly of the form ``package.module``) and a code " -"object read from a Python bytecode file or obtained from the built-in " -"function :func:`compile`, load the module. Return a new reference to the " -"module object, or ``NULL`` with an exception set if an error occurred. " -"*name* is removed from :data:`sys.modules` in error cases, even if *name* " -"was already in :data:`sys.modules` on entry to " -":c:func:`PyImport_ExecCodeModule`. Leaving incompletely initialized modules" -" in :data:`sys.modules` is dangerous, as imports of such modules have no way" -" to know that the module object is an unknown (and probably damaged with " -"respect to the module author's intents) state." -msgstr "" - -#: ../../c-api/import.rst:139 -msgid "" -"The module's :attr:`~module.__spec__` and :attr:`~module.__loader__` will be" -" set, if not set already, with the appropriate values. The spec's loader " -"will be set to the module's :attr:`!__loader__` (if set) and to an instance " -"of :class:`~importlib.machinery.SourceFileLoader` otherwise." -msgstr "" - -#: ../../c-api/import.rst:144 -msgid "" -"The module's :attr:`~module.__file__` attribute will be set to the code " -"object's :attr:`~codeobject.co_filename`. If applicable, " -":attr:`~module.__cached__` will also be set." -msgstr "" - -#: ../../c-api/import.rst:148 -msgid "" -"This function will reload the module if it was already imported. See " -":c:func:`PyImport_ReloadModule` for the intended way to reload a module." -msgstr "" - -#: ../../c-api/import.rst:151 -msgid "" -"If *name* points to a dotted name of the form ``package.module``, any " -"package structures not already created will still not be created." -msgstr "" - -#: ../../c-api/import.rst:154 -msgid "" -"See also :c:func:`PyImport_ExecCodeModuleEx` and " -":c:func:`PyImport_ExecCodeModuleWithPathnames`." -msgstr "" - -#: ../../c-api/import.rst:157 -msgid "" -"The setting of :attr:`~module.__cached__` and :attr:`~module.__loader__` is " -"deprecated. See :class:`~importlib.machinery.ModuleSpec` for alternatives." -msgstr "" - -#: ../../c-api/import.rst:165 -msgid "" -"Like :c:func:`PyImport_ExecCodeModule`, but the :attr:`~module.__file__` " -"attribute of the module object is set to *pathname* if it is non-``NULL``." -msgstr "" - -#: ../../c-api/import.rst:168 -msgid "See also :c:func:`PyImport_ExecCodeModuleWithPathnames`." -msgstr "" - -#: ../../c-api/import.rst:173 -msgid "" -"Like :c:func:`PyImport_ExecCodeModuleEx`, but the :attr:`~module.__cached__`" -" attribute of the module object is set to *cpathname* if it is non-``NULL``." -" Of the three functions, this is the preferred one to use." -msgstr "" - -#: ../../c-api/import.rst:179 -msgid "" -"Setting :attr:`~module.__cached__` is deprecated. See " -":class:`~importlib.machinery.ModuleSpec` for alternatives." -msgstr "" - -#: ../../c-api/import.rst:186 -msgid "" -"Like :c:func:`PyImport_ExecCodeModuleObject`, but *name*, *pathname* and " -"*cpathname* are UTF-8 encoded strings. Attempts are also made to figure out " -"what the value for *pathname* should be from *cpathname* if the former is " -"set to ``NULL``." -msgstr "" - -#: ../../c-api/import.rst:192 -msgid "" -"Uses :func:`!imp.source_from_cache` in calculating the source path if only " -"the bytecode path is provided." -msgstr "" - -#: ../../c-api/import.rst:195 -msgid "No longer uses the removed :mod:`!imp` module." -msgstr "" - -#: ../../c-api/import.rst:201 -msgid "" -"Return the magic number for Python bytecode files (a.k.a. :file:`.pyc` " -"file). The magic number should be present in the first four bytes of the " -"bytecode file, in little-endian byte order. Returns ``-1`` on error." -msgstr "" - -#: ../../c-api/import.rst:205 -msgid "Return value of ``-1`` upon failure." -msgstr "" - -#: ../../c-api/import.rst:211 -msgid "" -"Return the magic tag string for :pep:`3147` format Python bytecode file " -"names. Keep in mind that the value at ``sys.implementation.cache_tag`` is " -"authoritative and should be used instead of this function." -msgstr "" - -#: ../../c-api/import.rst:219 -msgid "" -"Return the dictionary used for the module administration (a.k.a. " -"``sys.modules``). Note that this is a per-interpreter variable." -msgstr "" - -#: ../../c-api/import.rst:224 -msgid "" -"Return the already imported module with the given name. If the module has " -"not been imported yet then returns ``NULL`` but does not set an error. " -"Returns ``NULL`` and sets an error if the lookup failed." -msgstr "" - -#: ../../c-api/import.rst:232 -msgid "" -"Return a finder object for a :data:`sys.path`/:attr:`!pkg.__path__` item " -"*path*, possibly by fetching it from the :data:`sys.path_importer_cache` " -"dict. If it wasn't yet cached, traverse :data:`sys.path_hooks` until a hook" -" is found that can handle the path item. Return ``None`` if no hook could; " -"this tells our caller that the :term:`path based finder` could not find a " -"finder for this path item. Cache the result in " -":data:`sys.path_importer_cache`. Return a new reference to the finder " -"object." -msgstr "" - -#: ../../c-api/import.rst:243 -msgid "" -"Load a frozen module named *name*. Return ``1`` for success, ``0`` if the " -"module is not found, and ``-1`` with an exception set if the initialization " -"failed. To access the imported module on a successful load, use " -":c:func:`PyImport_ImportModule`. (Note the misnomer --- this function would" -" reload the module if it was already imported.)" -msgstr "" - -#: ../../c-api/import.rst:251 -msgid "The ``__file__`` attribute is no longer set on the module." -msgstr "" - -#: ../../c-api/import.rst:257 -msgid "" -"Similar to :c:func:`PyImport_ImportFrozenModuleObject`, but the name is a " -"UTF-8 encoded string instead of a Unicode object." -msgstr "" - -#: ../../c-api/import.rst:265 -msgid "" -"This is the structure type definition for frozen module descriptors, as " -"generated by the :program:`freeze` utility (see :file:`Tools/freeze/` in the" -" Python source distribution). Its definition, found in " -":file:`Include/import.h`, is::" -msgstr "" - -#: ../../c-api/import.rst:270 -msgid "" -"struct _frozen {\n" -" const char *name;\n" -" const unsigned char *code;\n" -" int size;\n" -" bool is_package;\n" -"};" -msgstr "" - -#: ../../c-api/import.rst:277 -msgid "" -"The new ``is_package`` field indicates whether the module is a package or " -"not. This replaces setting the ``size`` field to a negative value." -msgstr "" - -#: ../../c-api/import.rst:283 -msgid "" -"This pointer is initialized to point to an array of :c:struct:`_frozen` " -"records, terminated by one whose members are all ``NULL`` or zero. When a " -"frozen module is imported, it is searched in this table. Third-party code " -"could play tricks with this to provide a dynamically created collection of " -"frozen modules." -msgstr "" - -#: ../../c-api/import.rst:291 -msgid "" -"Add a single module to the existing table of built-in modules. This is a " -"convenience wrapper around :c:func:`PyImport_ExtendInittab`, returning " -"``-1`` if the table could not be extended. The new module can be imported " -"by the name *name*, and uses the function *initfunc* as the initialization " -"function called on the first attempted import. This should be called before" -" :c:func:`Py_Initialize`." -msgstr "" - -#: ../../c-api/import.rst:301 -msgid "" -"Structure describing a single entry in the list of built-in modules. " -"Programs which embed Python may use an array of these structures in " -"conjunction with :c:func:`PyImport_ExtendInittab` to provide additional " -"built-in modules. The structure consists of two members:" -msgstr "" - -#: ../../c-api/import.rst:309 -msgid "The module name, as an ASCII encoded string." -msgstr "" - -#: ../../c-api/import.rst:313 -msgid "Initialization function for a module built into the interpreter." -msgstr "" - -#: ../../c-api/import.rst:318 -msgid "" -"Add a collection of modules to the table of built-in modules. The *newtab* " -"array must end with a sentinel entry which contains ``NULL`` for the " -":c:member:`~_inittab.name` field; failure to provide the sentinel value can " -"result in a memory fault. Returns ``0`` on success or ``-1`` if insufficient" -" memory could be allocated to extend the internal table. In the event of " -"failure, no modules are added to the internal table. This must be called " -"before :c:func:`Py_Initialize`." -msgstr "" - -#: ../../c-api/import.rst:325 -msgid "" -"If Python is initialized multiple times, :c:func:`PyImport_AppendInittab` or" -" :c:func:`PyImport_ExtendInittab` must be called before each Python " -"initialization." -msgstr "" - -#: ../../c-api/import.rst:332 -msgid "Import the module *mod_name* and get its attribute *attr_name*." -msgstr "" - -#: ../../c-api/import.rst:334 -msgid "Names must be Python :class:`str` objects." -msgstr "" - -#: ../../c-api/import.rst:336 -msgid "" -"Helper function combining :c:func:`PyImport_Import` and " -":c:func:`PyObject_GetAttr`. For example, it can raise :exc:`ImportError` if " -"the module is not found, and :exc:`AttributeError` if the attribute doesn't " -"exist." -msgstr "" - -#: ../../c-api/import.rst:345 -msgid "" -"Similar to :c:func:`PyImport_ImportModuleAttr`, but names are UTF-8 encoded " -"strings instead of Python :class:`str` objects." -msgstr "" - -#: ../../c-api/import.rst:11 -msgid "package variable" -msgstr "" - -#: ../../c-api/import.rst:11 -msgid "__all__" -msgstr "" - -#: ../../c-api/import.rst:11 -msgid "__all__ (package variable)" -msgstr "" - -#: ../../c-api/import.rst:11 -msgid "modules (in module sys)" -msgstr "" - -#: ../../c-api/import.rst:35 ../../c-api/import.rst:127 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../c-api/import.rst:35 -msgid "__import__" -msgstr "" - -#: ../../c-api/import.rst:127 -msgid "compile" -msgstr "" - -#: ../../c-api/import.rst:263 -msgid "freeze utility" -msgstr "" diff --git a/python-newest.c-api--index/id.po b/python-newest.c-api--index/id.po deleted file mode 100644 index 72ff312..0000000 --- a/python-newest.c-api--index/id.po +++ /dev/null @@ -1,39 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/index.rst:5 -msgid "Python/C API Reference Manual" -msgstr "Panduan Referensi Python/API C" - -#: ../../c-api/index.rst:7 -msgid "" -"This manual documents the API used by C and C++ programmers who want to " -"write extension modules or embed Python. It is a companion to " -":ref:`extending-index`, which describes the general principles of extension " -"writing but does not document the API functions in detail." -msgstr "" -"Manual ini mendokumentasikan API yang digunakan oleh programmer C dan C++ " -"yang ingin menulis modul ekstensi atau menanamkan Python. Ini adalah " -"pendamping untuk :ref:`extending-index`, yang menggambarkan prinsip-prinsip " -"umum penulisan ekstensi tetapi tidak mendokumentasikan fungsi-fungsi API " -"secara rinci." diff --git a/python-newest.c-api--init/id.po b/python-newest.c-api--init/id.po deleted file mode 100644 index f4190d5..0000000 --- a/python-newest.c-api--init/id.po +++ /dev/null @@ -1,3191 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/init.rst:8 -msgid "Initialization, Finalization, and Threads" -msgstr "" - -#: ../../c-api/init.rst:10 -msgid "" -"See :ref:`Python Initialization Configuration ` for details on " -"how to configure the interpreter prior to initialization." -msgstr "" - -#: ../../c-api/init.rst:16 -msgid "Before Python Initialization" -msgstr "" - -#: ../../c-api/init.rst:18 -msgid "" -"In an application embedding Python, the :c:func:`Py_Initialize` function " -"must be called before using any other Python/C API functions; with the " -"exception of a few functions and the :ref:`global configuration variables " -"`." -msgstr "" - -#: ../../c-api/init.rst:23 -msgid "" -"The following functions can be safely called before Python is initialized:" -msgstr "" - -#: ../../c-api/init.rst:25 -msgid "Functions that initialize the interpreter:" -msgstr "" - -#: ../../c-api/init.rst:27 -msgid ":c:func:`Py_Initialize`" -msgstr "" - -#: ../../c-api/init.rst:28 -msgid ":c:func:`Py_InitializeEx`" -msgstr "" - -#: ../../c-api/init.rst:29 -msgid ":c:func:`Py_InitializeFromConfig`" -msgstr ":c:func:`Py_InitializeFromConfig`" - -#: ../../c-api/init.rst:30 -msgid ":c:func:`Py_BytesMain`" -msgstr ":c:func:`Py_BytesMain`" - -#: ../../c-api/init.rst:31 -msgid ":c:func:`Py_Main`" -msgstr "" - -#: ../../c-api/init.rst:32 -msgid "the runtime pre-initialization functions covered in :ref:`init-config`" -msgstr "" - -#: ../../c-api/init.rst:34 -msgid "Configuration functions:" -msgstr "" - -#: ../../c-api/init.rst:36 -msgid ":c:func:`PyImport_AppendInittab`" -msgstr ":c:func:`PyImport_AppendInittab`" - -#: ../../c-api/init.rst:37 -msgid ":c:func:`PyImport_ExtendInittab`" -msgstr ":c:func:`PyImport_ExtendInittab`" - -#: ../../c-api/init.rst:38 -msgid ":c:func:`!PyInitFrozenExtensions`" -msgstr "" - -#: ../../c-api/init.rst:39 -msgid ":c:func:`PyMem_SetAllocator`" -msgstr ":c:func:`PyMem_SetAllocator`" - -#: ../../c-api/init.rst:40 -msgid ":c:func:`PyMem_SetupDebugHooks`" -msgstr ":c:func:`PyMem_SetupDebugHooks`" - -#: ../../c-api/init.rst:41 -msgid ":c:func:`PyObject_SetArenaAllocator`" -msgstr ":c:func:`PyObject_SetArenaAllocator`" - -#: ../../c-api/init.rst:42 -msgid ":c:func:`Py_SetProgramName`" -msgstr ":c:func:`Py_SetProgramName`" - -#: ../../c-api/init.rst:43 -msgid ":c:func:`Py_SetPythonHome`" -msgstr ":c:func:`Py_SetPythonHome`" - -#: ../../c-api/init.rst:44 -msgid ":c:func:`PySys_ResetWarnOptions`" -msgstr ":c:func:`PySys_ResetWarnOptions`" - -#: ../../c-api/init.rst:45 -msgid "the configuration functions covered in :ref:`init-config`" -msgstr "" - -#: ../../c-api/init.rst:47 -msgid "Informative functions:" -msgstr "" - -#: ../../c-api/init.rst:49 ../../c-api/init.rst:57 -msgid ":c:func:`Py_IsInitialized`" -msgstr ":c:func:`Py_IsInitialized`" - -#: ../../c-api/init.rst:50 -msgid ":c:func:`PyMem_GetAllocator`" -msgstr ":c:func:`PyMem_GetAllocator`" - -#: ../../c-api/init.rst:51 -msgid ":c:func:`PyObject_GetArenaAllocator`" -msgstr ":c:func:`PyObject_GetArenaAllocator`" - -#: ../../c-api/init.rst:52 -msgid ":c:func:`Py_GetBuildInfo`" -msgstr ":c:func:`Py_GetBuildInfo`" - -#: ../../c-api/init.rst:53 -msgid ":c:func:`Py_GetCompiler`" -msgstr ":c:func:`Py_GetCompiler`" - -#: ../../c-api/init.rst:54 -msgid ":c:func:`Py_GetCopyright`" -msgstr ":c:func:`Py_GetCopyright`" - -#: ../../c-api/init.rst:55 -msgid ":c:func:`Py_GetPlatform`" -msgstr ":c:func:`Py_GetPlatform`" - -#: ../../c-api/init.rst:56 -msgid ":c:func:`Py_GetVersion`" -msgstr ":c:func:`Py_GetVersion`" - -#: ../../c-api/init.rst:59 -msgid "Utilities:" -msgstr "" - -#: ../../c-api/init.rst:61 -msgid ":c:func:`Py_DecodeLocale`" -msgstr ":c:func:`Py_DecodeLocale`" - -#: ../../c-api/init.rst:62 -msgid "" -"the status reporting and utility functions covered in :ref:`init-config`" -msgstr "" - -#: ../../c-api/init.rst:64 -msgid "Memory allocators:" -msgstr "" - -#: ../../c-api/init.rst:66 -msgid ":c:func:`PyMem_RawMalloc`" -msgstr ":c:func:`PyMem_RawMalloc`" - -#: ../../c-api/init.rst:67 -msgid ":c:func:`PyMem_RawRealloc`" -msgstr ":c:func:`PyMem_RawRealloc`" - -#: ../../c-api/init.rst:68 -msgid ":c:func:`PyMem_RawCalloc`" -msgstr ":c:func:`PyMem_RawCalloc`" - -#: ../../c-api/init.rst:69 -msgid ":c:func:`PyMem_RawFree`" -msgstr ":c:func:`PyMem_RawFree`" - -#: ../../c-api/init.rst:71 -msgid "Synchronization:" -msgstr "" - -#: ../../c-api/init.rst:73 -msgid ":c:func:`PyMutex_Lock`" -msgstr "" - -#: ../../c-api/init.rst:74 -msgid ":c:func:`PyMutex_Unlock`" -msgstr "" - -#: ../../c-api/init.rst:78 -msgid "" -"Despite their apparent similarity to some of the functions listed above, the" -" following functions **should not be called** before the interpreter has " -"been initialized: :c:func:`Py_EncodeLocale`, :c:func:`Py_GetPath`, " -":c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, " -":c:func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome`, " -":c:func:`Py_GetProgramName`, :c:func:`PyEval_InitThreads`, and " -":c:func:`Py_RunMain`." -msgstr "" - -#: ../../c-api/init.rst:90 -msgid "Global configuration variables" -msgstr "" - -#: ../../c-api/init.rst:92 -msgid "" -"Python has variables for the global configuration to control different " -"features and options. By default, these flags are controlled by " -":ref:`command line options `." -msgstr "" - -#: ../../c-api/init.rst:96 -msgid "" -"When a flag is set by an option, the value of the flag is the number of " -"times that the option was set. For example, ``-b`` sets " -":c:data:`Py_BytesWarningFlag` to 1 and ``-bb`` sets " -":c:data:`Py_BytesWarningFlag` to 2." -msgstr "" - -#: ../../c-api/init.rst:102 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.bytes_warning` should be used instead, see :ref:`Python " -"Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:106 -msgid "" -"Issue a warning when comparing :class:`bytes` or :class:`bytearray` with " -":class:`str` or :class:`bytes` with :class:`int`. Issue an error if greater" -" or equal to ``2``." -msgstr "" - -#: ../../c-api/init.rst:110 -msgid "Set by the :option:`-b` option." -msgstr "" - -#: ../../c-api/init.rst:116 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.parser_debug` should be used instead, see :ref:`Python " -"Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:120 -msgid "" -"Turn on parser debugging output (for expert only, depending on compilation " -"options)." -msgstr "" - -#: ../../c-api/init.rst:123 -msgid "" -"Set by the :option:`-d` option and the :envvar:`PYTHONDEBUG` environment " -"variable." -msgstr "" - -#: ../../c-api/init.rst:130 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.write_bytecode` should be used instead, see :ref:`Python" -" Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:134 -msgid "" -"If set to non-zero, Python won't try to write ``.pyc`` files on the import " -"of source modules." -msgstr "" - -#: ../../c-api/init.rst:137 -msgid "" -"Set by the :option:`-B` option and the :envvar:`PYTHONDONTWRITEBYTECODE` " -"environment variable." -msgstr "" - -#: ../../c-api/init.rst:144 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.pathconfig_warnings` should be used instead, see " -":ref:`Python Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:148 -msgid "" -"Suppress error messages when calculating the module search path in " -":c:func:`Py_GetPath`." -msgstr "" - -#: ../../c-api/init.rst:151 -msgid "Private flag used by ``_freeze_module`` and ``frozenmain`` programs." -msgstr "" - -#: ../../c-api/init.rst:157 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.hash_seed` and :c:member:`PyConfig.use_hash_seed` should" -" be used instead, see :ref:`Python Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:162 -msgid "" -"Set to ``1`` if the :envvar:`PYTHONHASHSEED` environment variable is set to " -"a non-empty string." -msgstr "" - -#: ../../c-api/init.rst:165 -msgid "" -"If the flag is non-zero, read the :envvar:`PYTHONHASHSEED` environment " -"variable to initialize the secret hash seed." -msgstr "" - -#: ../../c-api/init.rst:172 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.use_environment` should be used instead, see " -":ref:`Python Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:176 -msgid "" -"Ignore all :envvar:`!PYTHON*` environment variables, e.g. " -":envvar:`PYTHONPATH` and :envvar:`PYTHONHOME`, that might be set." -msgstr "" - -#: ../../c-api/init.rst:179 -msgid "Set by the :option:`-E` and :option:`-I` options." -msgstr "" - -#: ../../c-api/init.rst:185 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.inspect` should be used instead, see :ref:`Python " -"Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:189 -msgid "" -"When a script is passed as first argument or the :option:`-c` option is " -"used, enter interactive mode after executing the script or the command, even" -" when :data:`sys.stdin` does not appear to be a terminal." -msgstr "" - -#: ../../c-api/init.rst:193 -msgid "" -"Set by the :option:`-i` option and the :envvar:`PYTHONINSPECT` environment " -"variable." -msgstr "" - -#: ../../c-api/init.rst:200 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.interactive` should be used instead, see :ref:`Python " -"Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:204 -msgid "Set by the :option:`-i` option." -msgstr "" - -#: ../../c-api/init.rst:210 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.isolated` should be used instead, see :ref:`Python " -"Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:214 -msgid "" -"Run Python in isolated mode. In isolated mode :data:`sys.path` contains " -"neither the script's directory nor the user's site-packages directory." -msgstr "" - -#: ../../c-api/init.rst:217 -msgid "Set by the :option:`-I` option." -msgstr "" - -#: ../../c-api/init.rst:225 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyPreConfig.legacy_windows_fs_encoding` should be used instead, " -"see :ref:`Python Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:229 -msgid "" -"If the flag is non-zero, use the ``mbcs`` encoding with ``replace`` error " -"handler, instead of the UTF-8 encoding with ``surrogatepass`` error handler," -" for the :term:`filesystem encoding and error handler`." -msgstr "" - -#: ../../c-api/init.rst:233 -msgid "" -"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` environment " -"variable is set to a non-empty string." -msgstr "" - -#: ../../c-api/init.rst:236 -msgid "See :pep:`529` for more details." -msgstr "Lihat :pep:`529` untuk lebih detail." - -#: ../../c-api/init.rst:238 ../../c-api/init.rst:256 -msgid "Availability" -msgstr "" - -#: ../../c-api/init.rst:244 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.legacy_windows_stdio` should be used instead, see " -":ref:`Python Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:248 -msgid "" -"If the flag is non-zero, use :class:`io.FileIO` instead of " -":class:`!io._WindowsConsoleIO` for :mod:`sys` standard streams." -msgstr "" - -#: ../../c-api/init.rst:251 -msgid "" -"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable " -"is set to a non-empty string." -msgstr "" - -#: ../../c-api/init.rst:254 -msgid "See :pep:`528` for more details." -msgstr "" - -#: ../../c-api/init.rst:262 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.site_import` should be used instead, see :ref:`Python " -"Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:266 -msgid "" -"Disable the import of the module :mod:`site` and the site-dependent " -"manipulations of :data:`sys.path` that it entails. Also disable these " -"manipulations if :mod:`site` is explicitly imported later (call " -":func:`site.main` if you want them to be triggered)." -msgstr "" - -#: ../../c-api/init.rst:271 -msgid "Set by the :option:`-S` option." -msgstr "" - -#: ../../c-api/init.rst:277 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.user_site_directory` should be used instead, see " -":ref:`Python Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:281 -msgid "" -"Don't add the :data:`user site-packages directory ` to " -":data:`sys.path`." -msgstr "" - -#: ../../c-api/init.rst:284 -msgid "" -"Set by the :option:`-s` and :option:`-I` options, and the " -":envvar:`PYTHONNOUSERSITE` environment variable." -msgstr "" - -#: ../../c-api/init.rst:291 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.optimization_level` should be used instead, see " -":ref:`Python Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:295 -msgid "" -"Set by the :option:`-O` option and the :envvar:`PYTHONOPTIMIZE` environment " -"variable." -msgstr "" - -#: ../../c-api/init.rst:302 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.quiet` should be used instead, see :ref:`Python " -"Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:306 -msgid "" -"Don't display the copyright and version messages even in interactive mode." -msgstr "" - -#: ../../c-api/init.rst:308 -msgid "Set by the :option:`-q` option." -msgstr "" - -#: ../../c-api/init.rst:316 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.buffered_stdio` should be used instead, see :ref:`Python" -" Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:320 -msgid "Force the stdout and stderr streams to be unbuffered." -msgstr "" - -#: ../../c-api/init.rst:322 -msgid "" -"Set by the :option:`-u` option and the :envvar:`PYTHONUNBUFFERED` " -"environment variable." -msgstr "" - -#: ../../c-api/init.rst:329 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.verbose` should be used instead, see :ref:`Python " -"Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:333 -msgid "" -"Print a message each time a module is initialized, showing the place " -"(filename or built-in module) from which it is loaded. If greater or equal " -"to ``2``, print a message for each file that is checked for when searching " -"for a module. Also provides information on module cleanup at exit." -msgstr "" - -#: ../../c-api/init.rst:338 -msgid "" -"Set by the :option:`-v` option and the :envvar:`PYTHONVERBOSE` environment " -"variable." -msgstr "" - -#: ../../c-api/init.rst:345 -msgid "Initializing and finalizing the interpreter" -msgstr "" - -#: ../../c-api/init.rst:360 -msgid "" -"Initialize the Python interpreter. In an application embedding Python, " -"this should be called before using any other Python/C API functions; see " -":ref:`Before Python Initialization ` for the few exceptions." -msgstr "" - -#: ../../c-api/init.rst:364 -msgid "" -"This initializes the table of loaded modules (``sys.modules``), and creates " -"the fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`. It " -"also initializes the module search path (``sys.path``). It does not set " -"``sys.argv``; use the :ref:`Python Initialization Configuration ` API for that. This is a no-op when called for a second time " -"(without calling :c:func:`Py_FinalizeEx` first). There is no return value; " -"it is a fatal error if the initialization fails." -msgstr "" - -#: ../../c-api/init.rst:372 ../../c-api/init.rst:386 -msgid "" -"Use :c:func:`Py_InitializeFromConfig` to customize the :ref:`Python " -"Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:376 -msgid "" -"On Windows, changes the console mode from ``O_TEXT`` to ``O_BINARY``, which " -"will also affect non-Python uses of the console using the C Runtime." -msgstr "" - -#: ../../c-api/init.rst:382 -msgid "" -"This function works like :c:func:`Py_Initialize` if *initsigs* is ``1``. If " -"*initsigs* is ``0``, it skips initialization registration of signal " -"handlers, which may be useful when CPython is embedded as part of a larger " -"application." -msgstr "" - -#: ../../c-api/init.rst:392 -msgid "" -"Initialize Python from *config* configuration, as described in :ref:`init-" -"from-config`." -msgstr "" - -#: ../../c-api/init.rst:395 -msgid "" -"See the :ref:`init-config` section for details on pre-initializing the " -"interpreter, populating the runtime configuration structure, and querying " -"the returned status structure." -msgstr "" - -#: ../../c-api/init.rst:402 -msgid "" -"Return true (nonzero) when the Python interpreter has been initialized, " -"false (zero) if not. After :c:func:`Py_FinalizeEx` is called, this returns " -"false until :c:func:`Py_Initialize` is called again." -msgstr "" - -#: ../../c-api/init.rst:409 -msgid "" -"Return true (non-zero) if the main Python interpreter is :term:`shutting " -"down `. Return false (zero) otherwise." -msgstr "" - -#: ../../c-api/init.rst:417 -msgid "" -"Undo all initializations made by :c:func:`Py_Initialize` and subsequent use " -"of Python/C API functions, and destroy all sub-interpreters (see " -":c:func:`Py_NewInterpreter` below) that were created and not yet destroyed " -"since the last call to :c:func:`Py_Initialize`. This is a no-op when called" -" for a second time (without calling :c:func:`Py_Initialize` again first)." -msgstr "" - -#: ../../c-api/init.rst:423 -msgid "" -"Since this is the reverse of :c:func:`Py_Initialize`, it should be called in" -" the same thread with the same interpreter active. That means the main " -"thread and the main interpreter. This should never be called while " -":c:func:`Py_RunMain` is running." -msgstr "" - -#: ../../c-api/init.rst:428 -msgid "" -"Normally the return value is ``0``. If there were errors during finalization" -" (flushing buffered data), ``-1`` is returned." -msgstr "" - -#: ../../c-api/init.rst:432 -msgid "" -"Note that Python will do a best effort at freeing all memory allocated by " -"the Python interpreter. Therefore, any C-Extension should make sure to " -"correctly clean up all of the preveiously allocated PyObjects before using " -"them in subsequent calls to :c:func:`Py_Initialize`. Otherwise it could " -"introduce vulnerabilities and incorrect behavior." -msgstr "" - -#: ../../c-api/init.rst:438 -msgid "" -"This function is provided for a number of reasons. An embedding application" -" might want to restart Python without having to restart the application " -"itself. An application that has loaded the Python interpreter from a " -"dynamically loadable library (or DLL) might want to free all memory " -"allocated by Python before unloading the DLL. During a hunt for memory leaks" -" in an application a developer might want to free all memory allocated by " -"Python before exiting from the application." -msgstr "" - -#: ../../c-api/init.rst:446 -msgid "" -"**Bugs and caveats:** The destruction of modules and objects in modules is " -"done in random order; this may cause destructors (:meth:`~object.__del__` " -"methods) to fail when they depend on other objects (even functions) or " -"modules. Dynamically loaded extension modules loaded by Python are not " -"unloaded. Small amounts of memory allocated by the Python interpreter may " -"not be freed (if you find a leak, please report it). Memory tied up in " -"circular references between objects is not freed. Interned strings will all" -" be deallocated regardless of their reference count. Some memory allocated " -"by extension modules may not be freed. Some extensions may not work " -"properly if their initialization routine is called more than once; this can " -"happen if an application calls :c:func:`Py_Initialize` and " -":c:func:`Py_FinalizeEx` more than once. :c:func:`Py_FinalizeEx` must not be" -" called recursively from within itself. Therefore, it must not be called by" -" any code that may be run as part of the interpreter shutdown process, such " -"as :py:mod:`atexit` handlers, object finalizers, or any code that may be run" -" while flushing the stdout and stderr files." -msgstr "" - -#: ../../c-api/init.rst:462 -msgid "" -"Raises an :ref:`auditing event ` " -"``cpython._PySys_ClearAuditHooks`` with no arguments." -msgstr "" - -#: ../../c-api/init.rst:469 -msgid "" -"This is a backwards-compatible version of :c:func:`Py_FinalizeEx` that " -"disregards the return value." -msgstr "" - -#: ../../c-api/init.rst:475 -msgid "" -"Similar to :c:func:`Py_Main` but *argv* is an array of bytes strings, " -"allowing the calling application to delegate the text decoding step to the " -"CPython runtime." -msgstr "" - -#: ../../c-api/init.rst:484 -msgid "" -"The main program for the standard interpreter, encapsulating a full " -"initialization/finalization cycle, as well as additional behaviour to " -"implement reading configurations settings from the environment and command " -"line, and then executing ``__main__`` in accordance with :ref:`using-on-" -"cmdline`." -msgstr "" - -#: ../../c-api/init.rst:490 -msgid "" -"This is made available for programs which wish to support the full CPython " -"command line interface, rather than just embedding a Python runtime in a " -"larger application." -msgstr "" - -#: ../../c-api/init.rst:494 -msgid "" -"The *argc* and *argv* parameters are similar to those which are passed to a " -"C program's :c:func:`main` function, except that the *argv* entries are " -"first converted to ``wchar_t`` using :c:func:`Py_DecodeLocale`. It is also " -"important to note that the argument list entries may be modified to point to" -" strings other than those passed in (however, the contents of the strings " -"pointed to by the argument list are not modified)." -msgstr "" - -#: ../../c-api/init.rst:501 -msgid "" -"The return value will be ``0`` if the interpreter exits normally (i.e., " -"without an exception), ``1`` if the interpreter exits due to an exception, " -"or ``2`` if the argument list does not represent a valid Python command " -"line." -msgstr "" - -#: ../../c-api/init.rst:506 -msgid "" -"Note that if an otherwise unhandled :exc:`SystemExit` is raised, this " -"function will not return ``1``, but exit the process, as long as " -"``Py_InspectFlag`` is not set. If ``Py_InspectFlag`` is set, execution will " -"drop into the interactive Python prompt, at which point a second otherwise " -"unhandled :exc:`SystemExit` will still exit the process, while any other " -"means of exiting will set the return value as described above." -msgstr "" - -#: ../../c-api/init.rst:513 -msgid "" -"In terms of the CPython runtime configuration APIs documented in the " -":ref:`runtime configuration ` section (and without accounting " -"for error handling), ``Py_Main`` is approximately equivalent to::" -msgstr "" - -#: ../../c-api/init.rst:517 -msgid "" -"PyConfig config;\n" -"PyConfig_InitPythonConfig(&config);\n" -"PyConfig_SetArgv(&config, argc, argv);\n" -"Py_InitializeFromConfig(&config);\n" -"PyConfig_Clear(&config);\n" -"\n" -"Py_RunMain();" -msgstr "" - -#: ../../c-api/init.rst:525 -msgid "" -"In normal usage, an embedding application will call this function *instead* " -"of calling :c:func:`Py_Initialize`, :c:func:`Py_InitializeEx` or " -":c:func:`Py_InitializeFromConfig` directly, and all settings will be applied" -" as described elsewhere in this documentation. If this function is instead " -"called *after* a preceding runtime initialization API call, then exactly " -"which environmental and command line configuration settings will be updated " -"is version dependent (as it depends on which settings correctly support " -"being modified after they have already been set once when the runtime was " -"first initialized)." -msgstr "" - -#: ../../c-api/init.rst:538 -msgid "Executes the main module in a fully configured CPython runtime." -msgstr "" - -#: ../../c-api/init.rst:540 -msgid "" -"Executes the command (:c:member:`PyConfig.run_command`), the script " -"(:c:member:`PyConfig.run_filename`) or the module " -"(:c:member:`PyConfig.run_module`) specified on the command line or in the " -"configuration. If none of these values are set, runs the interactive Python " -"prompt (REPL) using the ``__main__`` module's global namespace." -msgstr "" - -#: ../../c-api/init.rst:546 -msgid "" -"If :c:member:`PyConfig.inspect` is not set (the default), the return value " -"will be ``0`` if the interpreter exits normally (that is, without raising an" -" exception), or ``1`` if the interpreter exits due to an exception. If an " -"otherwise unhandled :exc:`SystemExit` is raised, the function will " -"immediately exit the process instead of returning ``1``." -msgstr "" - -#: ../../c-api/init.rst:552 -msgid "" -"If :c:member:`PyConfig.inspect` is set (such as when the :option:`-i` option" -" is used), rather than returning when the interpreter exits, execution will " -"instead resume in an interactive Python prompt (REPL) using the ``__main__``" -" module's global namespace. If the interpreter exited with an exception, it " -"is immediately raised in the REPL session. The function return value is then" -" determined by the way the *REPL session* terminates: returning ``0`` if the" -" session terminates without raising an unhandled exception, exiting " -"immediately for an unhandled :exc:`SystemExit`, and returning ``1`` for any " -"other unhandled exception." -msgstr "" - -#: ../../c-api/init.rst:562 -msgid "" -"This function always finalizes the Python interpreter regardless of whether " -"it returns a value or immediately exits the process due to an unhandled " -":exc:`SystemExit` exception." -msgstr "" - -#: ../../c-api/init.rst:566 -msgid "" -"See :ref:`Python Configuration ` for an example of a " -"customized Python that always runs in isolated mode using " -":c:func:`Py_RunMain`." -msgstr "" - -#: ../../c-api/init.rst:572 -msgid "" -"Register an :mod:`atexit` callback for the target interpreter *interp*. This" -" is similar to :c:func:`Py_AtExit`, but takes an explicit interpreter and " -"data pointer for the callback." -msgstr "" - -#: ../../c-api/init.rst:576 -msgid "There must be an :term:`attached thread state` for *interp*." -msgstr "" - -#: ../../c-api/init.rst:581 -msgid "Process-wide parameters" -msgstr "" - -#: ../../c-api/init.rst:591 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.program_name` should be used instead, see :ref:`Python " -"Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:595 -msgid "" -"This function should be called before :c:func:`Py_Initialize` is called for " -"the first time, if it is called at all. It tells the interpreter the value " -"of the ``argv[0]`` argument to the :c:func:`main` function of the program " -"(converted to wide characters). This is used by :c:func:`Py_GetPath` and " -"some other functions below to find the Python run-time libraries relative to" -" the interpreter executable. The default value is ``'python'``. The " -"argument should point to a zero-terminated wide character string in static " -"storage whose contents will not change for the duration of the program's " -"execution. No code in the Python interpreter will change the contents of " -"this storage." -msgstr "" - -#: ../../c-api/init.rst:606 ../../c-api/init.rst:854 ../../c-api/init.rst:890 -#: ../../c-api/init.rst:916 -msgid "" -"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a " -":c:expr:`wchar_t*` string." -msgstr "" - -#: ../../c-api/init.rst:614 -msgid "" -"Return the program name set with :c:member:`PyConfig.program_name`, or the " -"default. The returned string points into static storage; the caller should " -"not modify its value." -msgstr "" - -#: ../../c-api/init.rst:618 ../../c-api/init.rst:641 ../../c-api/init.rst:689 -#: ../../c-api/init.rst:713 ../../c-api/init.rst:740 ../../c-api/init.rst:928 -msgid "" -"This function should not be called before :c:func:`Py_Initialize`, otherwise" -" it returns ``NULL``." -msgstr "" - -#: ../../c-api/init.rst:621 ../../c-api/init.rst:644 ../../c-api/init.rst:692 -#: ../../c-api/init.rst:716 ../../c-api/init.rst:745 ../../c-api/init.rst:931 -msgid "It now returns ``NULL`` if called before :c:func:`Py_Initialize`." -msgstr "" - -#: ../../c-api/init.rst:624 ../../c-api/init.rst:719 -msgid "" -"Use :c:func:`PyConfig_Get(\"executable\") ` " -"(:data:`sys.executable`) instead." -msgstr "" - -#: ../../c-api/init.rst:631 -msgid "" -"Return the *prefix* for installed platform-independent files. This is " -"derived through a number of complicated rules from the program name set with" -" :c:member:`PyConfig.program_name` and some environment variables; for " -"example, if the program name is ``'/usr/local/bin/python'``, the prefix is " -"``'/usr/local'``. The returned string points into static storage; the caller" -" should not modify its value. This corresponds to the :makevar:`prefix` " -"variable in the top-level :file:`Makefile` and the :option:`--prefix` " -"argument to the :program:`configure` script at build time. The value is " -"available to Python code as ``sys.base_prefix``. It is only useful on Unix." -" See also the next function." -msgstr "" - -#: ../../c-api/init.rst:647 -msgid "" -"Use :c:func:`PyConfig_Get(\"base_prefix\") ` " -"(:data:`sys.base_prefix`) instead. Use :c:func:`PyConfig_Get(\"prefix\") " -"` (:data:`sys.prefix`) if :ref:`virtual environments ` need to be handled." -msgstr "" - -#: ../../c-api/init.rst:656 -msgid "" -"Return the *exec-prefix* for installed platform-*dependent* files. This is " -"derived through a number of complicated rules from the program name set with" -" :c:member:`PyConfig.program_name` and some environment variables; for " -"example, if the program name is ``'/usr/local/bin/python'``, the exec-prefix" -" is ``'/usr/local'``. The returned string points into static storage; the " -"caller should not modify its value. This corresponds to the " -":makevar:`exec_prefix` variable in the top-level :file:`Makefile` and the " -"``--exec-prefix`` argument to the :program:`configure` script at build " -"time. The value is available to Python code as ``sys.base_exec_prefix``. " -"It is only useful on Unix." -msgstr "" - -#: ../../c-api/init.rst:667 -msgid "" -"Background: The exec-prefix differs from the prefix when platform dependent " -"files (such as executables and shared libraries) are installed in a " -"different directory tree. In a typical installation, platform dependent " -"files may be installed in the :file:`/usr/local/plat` subtree while platform" -" independent may be installed in :file:`/usr/local`." -msgstr "" - -#: ../../c-api/init.rst:673 -msgid "" -"Generally speaking, a platform is a combination of hardware and software " -"families, e.g. Sparc machines running the Solaris 2.x operating system are " -"considered the same platform, but Intel machines running Solaris 2.x are " -"another platform, and Intel machines running Linux are yet another platform." -" Different major revisions of the same operating system generally also form" -" different platforms. Non-Unix operating systems are a different story; the" -" installation strategies on those systems are so different that the prefix " -"and exec-prefix are meaningless, and set to the empty string. Note that " -"compiled Python bytecode files are platform independent (but not independent" -" from the Python version by which they were compiled!)." -msgstr "" - -#: ../../c-api/init.rst:684 -msgid "" -"System administrators will know how to configure the :program:`mount` or " -":program:`automount` programs to share :file:`/usr/local` between platforms " -"while having :file:`/usr/local/plat` be a different filesystem for each " -"platform." -msgstr "" - -#: ../../c-api/init.rst:695 -msgid "" -"Use :c:func:`PyConfig_Get(\"base_exec_prefix\") ` " -"(:data:`sys.base_exec_prefix`) instead. Use " -":c:func:`PyConfig_Get(\"exec_prefix\") ` " -"(:data:`sys.exec_prefix`) if :ref:`virtual environments ` need to " -"be handled." -msgstr "" - -#: ../../c-api/init.rst:707 -msgid "" -"Return the full program name of the Python executable; this is computed as " -"a side-effect of deriving the default module search path from the program " -"name (set by :c:member:`PyConfig.program_name`). The returned string points " -"into static storage; the caller should not modify its value. The value is " -"available to Python code as ``sys.executable``." -msgstr "" - -#: ../../c-api/init.rst:730 -msgid "" -"Return the default module search path; this is computed from the program " -"name (set by :c:member:`PyConfig.program_name`) and some environment " -"variables. The returned string consists of a series of directory names " -"separated by a platform dependent delimiter character. The delimiter " -"character is ``':'`` on Unix and macOS, ``';'`` on Windows. The returned " -"string points into static storage; the caller should not modify its value. " -"The list :data:`sys.path` is initialized with this value on interpreter " -"startup; it can be (and usually is) modified later to change the search path" -" for loading modules." -msgstr "" - -#: ../../c-api/init.rst:748 -msgid "" -"Use :c:func:`PyConfig_Get(\"module_search_paths\") ` " -"(:data:`sys.path`) instead." -msgstr "" - -#: ../../c-api/init.rst:754 -msgid "" -"Return the version of this Python interpreter. This is a string that looks " -"something like ::" -msgstr "" - -#: ../../c-api/init.rst:757 -msgid "\"3.0a5+ (py3k:63103M, May 12 2008, 00:53:55) \\n[GCC 4.2.3]\"" -msgstr "" - -#: ../../c-api/init.rst:761 -msgid "" -"The first word (up to the first space character) is the current Python " -"version; the first characters are the major and minor version separated by a" -" period. The returned string points into static storage; the caller should " -"not modify its value. The value is available to Python code as " -":data:`sys.version`." -msgstr "" - -#: ../../c-api/init.rst:766 -msgid "See also the :c:var:`Py_Version` constant." -msgstr "" - -#: ../../c-api/init.rst:773 -msgid "" -"Return the platform identifier for the current platform. On Unix, this is " -"formed from the \"official\" name of the operating system, converted to " -"lower case, followed by the major revision number; e.g., for Solaris 2.x, " -"which is also known as SunOS 5.x, the value is ``'sunos5'``. On macOS, it " -"is ``'darwin'``. On Windows, it is ``'win'``. The returned string points " -"into static storage; the caller should not modify its value. The value is " -"available to Python code as ``sys.platform``." -msgstr "" - -#: ../../c-api/init.rst:784 -msgid "" -"Return the official copyright string for the current Python version, for " -"example" -msgstr "" - -#: ../../c-api/init.rst:786 -msgid "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``" -msgstr "" - -#: ../../c-api/init.rst:790 -msgid "" -"The returned string points into static storage; the caller should not modify" -" its value. The value is available to Python code as ``sys.copyright``." -msgstr "" - -#: ../../c-api/init.rst:796 -msgid "" -"Return an indication of the compiler used to build the current Python " -"version, in square brackets, for example::" -msgstr "" - -#: ../../c-api/init.rst:799 -msgid "\"[GCC 2.7.2.2]\"" -msgstr "" - -#: ../../c-api/init.rst:803 ../../c-api/init.rst:817 -msgid "" -"The returned string points into static storage; the caller should not modify" -" its value. The value is available to Python code as part of the variable " -"``sys.version``." -msgstr "" - -#: ../../c-api/init.rst:810 -msgid "" -"Return information about the sequence number and build date and time of the" -" current Python interpreter instance, for example ::" -msgstr "" - -#: ../../c-api/init.rst:813 -msgid "\"#67, Aug 1 1997, 22:34:28\"" -msgstr "" - -#: ../../c-api/init.rst:829 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.argv`, :c:member:`PyConfig.parse_argv` and " -":c:member:`PyConfig.safe_path` should be used instead, see :ref:`Python " -"Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:834 -msgid "" -"Set :data:`sys.argv` based on *argc* and *argv*. These parameters are " -"similar to those passed to the program's :c:func:`main` function with the " -"difference that the first entry should refer to the script file to be " -"executed rather than the executable hosting the Python interpreter. If " -"there isn't a script that will be run, the first entry in *argv* can be an " -"empty string. If this function fails to initialize :data:`sys.argv`, a " -"fatal condition is signalled using :c:func:`Py_FatalError`." -msgstr "" - -#: ../../c-api/init.rst:842 -msgid "" -"If *updatepath* is zero, this is all the function does. If *updatepath* is " -"non-zero, the function also modifies :data:`sys.path` according to the " -"following algorithm:" -msgstr "" - -#: ../../c-api/init.rst:846 -msgid "" -"If the name of an existing script is passed in ``argv[0]``, the absolute " -"path of the directory where the script is located is prepended to " -":data:`sys.path`." -msgstr "" - -#: ../../c-api/init.rst:849 -msgid "" -"Otherwise (that is, if *argc* is ``0`` or ``argv[0]`` doesn't point to an " -"existing file name), an empty string is prepended to :data:`sys.path`, which" -" is the same as prepending the current working directory (``\".\"``)." -msgstr "" - -#: ../../c-api/init.rst:857 ../../c-api/init.rst:893 -msgid "" -"See also :c:member:`PyConfig.orig_argv` and :c:member:`PyConfig.argv` " -"members of the :ref:`Python Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:861 -msgid "" -"It is recommended that applications embedding the Python interpreter for " -"purposes other than executing a single script pass ``0`` as *updatepath*, " -"and update :data:`sys.path` themselves if desired. See :cve:`2008-5983`." -msgstr "" - -#: ../../c-api/init.rst:866 -msgid "" -"On versions before 3.1.3, you can achieve the same effect by manually " -"popping the first :data:`sys.path` element after having called " -":c:func:`PySys_SetArgv`, for example using::" -msgstr "" - -#: ../../c-api/init.rst:870 -msgid "PyRun_SimpleString(\"import sys; sys.path.pop(0)\\n\");" -msgstr "" - -#: ../../c-api/init.rst:882 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.argv` and :c:member:`PyConfig.parse_argv` should be used" -" instead, see :ref:`Python Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:886 -msgid "" -"This function works like :c:func:`PySys_SetArgvEx` with *updatepath* set to " -"``1`` unless the :program:`python` interpreter was started with the " -":option:`-I`." -msgstr "" - -#: ../../c-api/init.rst:896 -msgid "The *updatepath* value depends on :option:`-I`." -msgstr "" - -#: ../../c-api/init.rst:903 -msgid "" -"This API is kept for backward compatibility: setting " -":c:member:`PyConfig.home` should be used instead, see :ref:`Python " -"Initialization Configuration `." -msgstr "" - -#: ../../c-api/init.rst:907 -msgid "" -"Set the default \"home\" directory, that is, the location of the standard " -"Python libraries. See :envvar:`PYTHONHOME` for the meaning of the argument " -"string." -msgstr "" - -#: ../../c-api/init.rst:911 -msgid "" -"The argument should point to a zero-terminated character string in static " -"storage whose contents will not change for the duration of the program's " -"execution. No code in the Python interpreter will change the contents of " -"this storage." -msgstr "" - -#: ../../c-api/init.rst:924 -msgid "" -"Return the default \"home\", that is, the value set by " -":c:member:`PyConfig.home`, or the value of the :envvar:`PYTHONHOME` " -"environment variable if it is set." -msgstr "" - -#: ../../c-api/init.rst:934 -msgid "" -"Use :c:func:`PyConfig_Get(\"home\") ` or the " -":envvar:`PYTHONHOME` environment variable instead." -msgstr "" - -#: ../../c-api/init.rst:942 -msgid "Thread State and the Global Interpreter Lock" -msgstr "" - -#: ../../c-api/init.rst:949 -msgid "" -"Unless on a :term:`free-threaded ` build of :term:`CPython`," -" the Python interpreter is not fully thread-safe. In order to support " -"multi-threaded Python programs, there's a global lock, called the " -":term:`global interpreter lock` or :term:`GIL`, that must be held by the " -"current thread before it can safely access Python objects. Without the lock," -" even the simplest operations could cause problems in a multi-threaded " -"program: for example, when two threads simultaneously increment the " -"reference count of the same object, the reference count could end up being " -"incremented only once instead of twice." -msgstr "" - -#: ../../c-api/init.rst:960 -msgid "" -"Therefore, the rule exists that only the thread that has acquired the " -":term:`GIL` may operate on Python objects or call Python/C API functions. In" -" order to emulate concurrency of execution, the interpreter regularly tries " -"to switch threads (see :func:`sys.setswitchinterval`). The lock is also " -"released around potentially blocking I/O operations like reading or writing " -"a file, so that other Python threads can run in the meantime." -msgstr "" - -#: ../../c-api/init.rst:970 -msgid "" -"The Python interpreter keeps some thread-specific bookkeeping information " -"inside a data structure called :c:type:`PyThreadState`, known as a " -":term:`thread state`. Each OS thread has a thread-local pointer to a " -":c:type:`PyThreadState`; a thread state referenced by this pointer is " -"considered to be :term:`attached `." -msgstr "" - -#: ../../c-api/init.rst:975 -msgid "" -"A thread can only have one :term:`attached thread state` at a time. An " -"attached thread state is typically analogous with holding the :term:`GIL`, " -"except on :term:`free-threaded ` builds. On builds with the" -" :term:`GIL` enabled, :term:`attaching ` a thread " -"state will block until the :term:`GIL` can be acquired. However, even on " -"builds with the :term:`GIL` disabled, it is still required to have an " -"attached thread state to call most of the C API." -msgstr "" - -#: ../../c-api/init.rst:982 -msgid "" -"In general, there will always be an :term:`attached thread state` when using" -" Python's C API. Only in some specific cases (such as in a " -":c:macro:`Py_BEGIN_ALLOW_THREADS` block) will the thread not have an " -"attached thread state. If uncertain, check if " -":c:func:`PyThreadState_GetUnchecked` returns ``NULL``." -msgstr "" - -#: ../../c-api/init.rst:988 -msgid "Detaching the thread state from extension code" -msgstr "" - -#: ../../c-api/init.rst:990 -msgid "" -"Most extension code manipulating the :term:`thread state` has the following " -"simple structure::" -msgstr "" - -#: ../../c-api/init.rst:993 -msgid "" -"Save the thread state in a local variable.\n" -"... Do some blocking I/O operation ...\n" -"Restore the thread state from the local variable." -msgstr "" - -#: ../../c-api/init.rst:997 -msgid "This is so common that a pair of macros exists to simplify it::" -msgstr "" - -#: ../../c-api/init.rst:999 -msgid "" -"Py_BEGIN_ALLOW_THREADS\n" -"... Do some blocking I/O operation ...\n" -"Py_END_ALLOW_THREADS" -msgstr "" - -#: ../../c-api/init.rst:1007 -msgid "" -"The :c:macro:`Py_BEGIN_ALLOW_THREADS` macro opens a new block and declares a" -" hidden local variable; the :c:macro:`Py_END_ALLOW_THREADS` macro closes the" -" block." -msgstr "" - -#: ../../c-api/init.rst:1011 -msgid "The block above expands to the following code::" -msgstr "" - -#: ../../c-api/init.rst:1013 -msgid "" -"PyThreadState *_save;\n" -"\n" -"_save = PyEval_SaveThread();\n" -"... Do some blocking I/O operation ...\n" -"PyEval_RestoreThread(_save);" -msgstr "" - -#: ../../c-api/init.rst:1023 -msgid "Here is how these functions work:" -msgstr "" - -#: ../../c-api/init.rst:1025 -msgid "" -"The :term:`attached thread state` holds the :term:`GIL` for the entire " -"interpreter. When detaching the :term:`attached thread state`, the " -":term:`GIL` is released, allowing other threads to attach a thread state to " -"their own thread, thus getting the :term:`GIL` and can start executing. The " -"pointer to the prior :term:`attached thread state` is stored as a local " -"variable. Upon reaching :c:macro:`Py_END_ALLOW_THREADS`, the thread state " -"that was previously :term:`attached ` is passed to " -":c:func:`PyEval_RestoreThread`. This function will block until another " -"releases its :term:`thread state `, thus allowing the" -" old :term:`thread state ` to get re-attached and the" -" C API can be called again." -msgstr "" - -#: ../../c-api/init.rst:1035 -msgid "" -"For :term:`free-threaded ` builds, the :term:`GIL` is " -"normally out of the question, but detaching the :term:`thread state " -"` is still required for blocking I/O and long " -"operations. The difference is that threads don't have to wait for the " -":term:`GIL` to be released to attach their thread state, allowing true " -"multi-core parallelism." -msgstr "" - -#: ../../c-api/init.rst:1041 -msgid "" -"Calling system I/O functions is the most common use case for detaching the " -":term:`thread state `, but it can also be useful " -"before calling long-running computations which don't need access to Python " -"objects, such as compression or cryptographic functions operating over " -"memory buffers. For example, the standard :mod:`zlib` and :mod:`hashlib` " -"modules detach the :term:`thread state ` when " -"compressing or hashing data." -msgstr "" - -#: ../../c-api/init.rst:1052 -msgid "Non-Python created threads" -msgstr "" - -#: ../../c-api/init.rst:1054 -msgid "" -"When threads are created using the dedicated Python APIs (such as the " -":mod:`threading` module), a thread state is automatically associated to them" -" and the code showed above is therefore correct. However, when threads are " -"created from C (for example by a third-party library with its own thread " -"management), they don't hold the :term:`GIL`, because they don't have an " -":term:`attached thread state`." -msgstr "" - -#: ../../c-api/init.rst:1061 -msgid "" -"If you need to call Python code from these threads (often this will be part " -"of a callback API provided by the aforementioned third-party library), you " -"must first register these threads with the interpreter by creating an " -":term:`attached thread state` before you can start using the Python/C API. " -"When you are done, you should detach the :term:`thread state `, and finally free it." -msgstr "" - -#: ../../c-api/init.rst:1068 -msgid "" -"The :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release` functions " -"do all of the above automatically. The typical idiom for calling into " -"Python from a C thread is::" -msgstr "" - -#: ../../c-api/init.rst:1072 -msgid "" -"PyGILState_STATE gstate;\n" -"gstate = PyGILState_Ensure();\n" -"\n" -"/* Perform Python actions here. */\n" -"result = CallSomeFunction();\n" -"/* evaluate result or handle exception */\n" -"\n" -"/* Release the thread. No Python API allowed beyond this point. */\n" -"PyGILState_Release(gstate);" -msgstr "" - -#: ../../c-api/init.rst:1082 -msgid "" -"Note that the ``PyGILState_*`` functions assume there is only one global " -"interpreter (created automatically by :c:func:`Py_Initialize`). Python " -"supports the creation of additional interpreters (using " -":c:func:`Py_NewInterpreter`), but mixing multiple interpreters and the " -"``PyGILState_*`` API is unsupported." -msgstr "" - -#: ../../c-api/init.rst:1092 -msgid "Cautions about fork()" -msgstr "" - -#: ../../c-api/init.rst:1094 -msgid "" -"Another important thing to note about threads is their behaviour in the face" -" of the C :c:func:`fork` call. On most systems with :c:func:`fork`, after a " -"process forks only the thread that issued the fork will exist. This has a " -"concrete impact both on how locks must be handled and on all stored state in" -" CPython's runtime." -msgstr "" - -#: ../../c-api/init.rst:1100 -msgid "" -"The fact that only the \"current\" thread remains means any locks held by " -"other threads will never be released. Python solves this for :func:`os.fork`" -" by acquiring the locks it uses internally before the fork, and releasing " -"them afterwards. In addition, it resets any :ref:`lock-objects` in the " -"child. When extending or embedding Python, there is no way to inform Python " -"of additional (non-Python) locks that need to be acquired before or reset " -"after a fork. OS facilities such as :c:func:`!pthread_atfork` would need to " -"be used to accomplish the same thing. Additionally, when extending or " -"embedding Python, calling :c:func:`fork` directly rather than through " -":func:`os.fork` (and returning to or calling into Python) may result in a " -"deadlock by one of Python's internal locks being held by a thread that is " -"defunct after the fork. :c:func:`PyOS_AfterFork_Child` tries to reset the " -"necessary locks, but is not always able to." -msgstr "" - -#: ../../c-api/init.rst:1115 -msgid "" -"The fact that all other threads go away also means that CPython's runtime " -"state there must be cleaned up properly, which :func:`os.fork` does. This " -"means finalizing all other :c:type:`PyThreadState` objects belonging to the " -"current interpreter and all other :c:type:`PyInterpreterState` objects. Due" -" to this and the special nature of the :ref:`\"main\" interpreter `, :c:func:`fork` should only be called in that " -"interpreter's \"main\" thread, where the CPython global runtime was " -"originally initialized. The only exception is if :c:func:`exec` will be " -"called immediately after." -msgstr "" - -#: ../../c-api/init.rst:1129 -msgid "Cautions regarding runtime finalization" -msgstr "" - -#: ../../c-api/init.rst:1131 -msgid "" -"In the late stage of :term:`interpreter shutdown`, after attempting to wait " -"for non-daemon threads to exit (though this can be interrupted by " -":class:`KeyboardInterrupt`) and running the :mod:`atexit` functions, the " -"runtime is marked as *finalizing*: :c:func:`Py_IsFinalizing` and " -":func:`sys.is_finalizing` return true. At this point, only the " -"*finalization thread* that initiated finalization (typically the main " -"thread) is allowed to acquire the :term:`GIL`." -msgstr "" - -#: ../../c-api/init.rst:1139 -msgid "" -"If any thread, other than the finalization thread, attempts to attach a " -":term:`thread state` during finalization, either explicitly or implicitly, " -"the thread enters **a permanently blocked state** where it remains until the" -" program exits. In most cases this is harmless, but this can result in " -"deadlock if a later stage of finalization attempts to acquire a lock owned " -"by the blocked thread, or otherwise waits on the blocked thread." -msgstr "" - -#: ../../c-api/init.rst:1146 -msgid "" -"Gross? Yes. This prevents random crashes and/or unexpectedly skipped C++ " -"finalizations further up the call stack when such threads were forcibly " -"exited here in CPython 3.13 and earlier. The CPython runtime :term:`thread " -"state` C APIs have never had any error reporting or handling expectations at" -" :term:`thread state` attachment time that would've allowed for graceful " -"exit from this situation. Changing that would require new stable C APIs and " -"rewriting the majority of C code in the CPython ecosystem to use those with " -"error handling." -msgstr "" - -#: ../../c-api/init.rst:1156 -msgid "High-level API" -msgstr "" - -#: ../../c-api/init.rst:1158 -msgid "" -"These are the most commonly used types and functions when writing C " -"extension code, or when embedding the Python interpreter:" -msgstr "" - -#: ../../c-api/init.rst:1163 -msgid "" -"This data structure represents the state shared by a number of cooperating " -"threads. Threads belonging to the same interpreter share their module " -"administration and a few other internal items. There are no public members " -"in this structure." -msgstr "" - -#: ../../c-api/init.rst:1168 -msgid "" -"Threads belonging to different interpreters initially share nothing, except " -"process state like available memory, open file descriptors and such. The " -"global interpreter lock is also shared by all threads, regardless of to " -"which interpreter they belong." -msgstr "" - -#: ../../c-api/init.rst:1176 -msgid "" -"This data structure represents the state of a single thread. The only " -"public data member is:" -msgstr "" - -#: ../../c-api/init.rst:1181 -msgid "This thread's interpreter state." -msgstr "" - -#: ../../c-api/init.rst:1192 -msgid "Deprecated function which does nothing." -msgstr "" - -#: ../../c-api/init.rst:1194 -msgid "" -"In Python 3.6 and older, this function created the GIL if it didn't exist." -msgstr "" - -#: ../../c-api/init.rst:1196 -msgid "The function now does nothing." -msgstr "" - -#: ../../c-api/init.rst:1199 -msgid "" -"This function is now called by :c:func:`Py_Initialize()`, so you don't have " -"to call it yourself anymore." -msgstr "" - -#: ../../c-api/init.rst:1203 -msgid "" -"This function cannot be called before :c:func:`Py_Initialize()` anymore." -msgstr "" - -#: ../../c-api/init.rst:1213 -msgid "" -"Detach the :term:`attached thread state` and return it. The thread will have" -" no :term:`thread state` upon returning." -msgstr "" - -#: ../../c-api/init.rst:1219 -msgid "" -"Set the :term:`attached thread state` to *tstate*. The passed :term:`thread " -"state` **should not** be :term:`attached `, otherwise" -" deadlock ensues. *tstate* will be attached upon returning." -msgstr "" - -#: ../../c-api/init.rst:1224 ../../c-api/init.rst:1291 -#: ../../c-api/init.rst:1582 -msgid "" -"Calling this function from a thread when the runtime is finalizing will hang" -" the thread until the program exits, even if the thread was not created by " -"Python. Refer to :ref:`cautions-regarding-runtime-finalization` for more " -"details." -msgstr "" - -#: ../../c-api/init.rst:1229 ../../c-api/init.rst:1296 -#: ../../c-api/init.rst:1592 -msgid "" -"Hangs the current thread, rather than terminating it, if called while the " -"interpreter is finalizing." -msgstr "" - -#: ../../c-api/init.rst:1235 -msgid "" -"Return the :term:`attached thread state`. If the thread has no attached " -"thread state, (such as when inside of :c:macro:`Py_BEGIN_ALLOW_THREADS` " -"block), then this issues a fatal error (so that the caller needn't check for" -" ``NULL``)." -msgstr "" - -#: ../../c-api/init.rst:1240 -msgid "See also :c:func:`PyThreadState_GetUnchecked`." -msgstr "" - -#: ../../c-api/init.rst:1244 -msgid "" -"Similar to :c:func:`PyThreadState_Get`, but don't kill the process with a " -"fatal error if it is NULL. The caller is responsible to check if the result " -"is NULL." -msgstr "" - -#: ../../c-api/init.rst:1248 -msgid "" -"In Python 3.5 to 3.12, the function was private and known as " -"``_PyThreadState_UncheckedGet()``." -msgstr "" - -#: ../../c-api/init.rst:1255 -msgid "" -"Set the :term:`attached thread state` to *tstate*, and return the " -":term:`thread state` that was attached prior to calling." -msgstr "" - -#: ../../c-api/init.rst:1258 -msgid "" -"This function is safe to call without an :term:`attached thread state`; it " -"will simply return ``NULL`` indicating that there was no prior thread state." -msgstr "" - -#: ../../c-api/init.rst:1265 -msgid "" -"The following functions use thread-local storage, and are not compatible " -"with sub-interpreters:" -msgstr "" - -#: ../../c-api/init.rst:1270 -msgid "" -"Ensure that the current thread is ready to call the Python C API regardless " -"of the current state of Python, or of the :term:`attached thread state`. " -"This may be called as many times as desired by a thread as long as each call" -" is matched with a call to :c:func:`PyGILState_Release`. In general, other " -"thread-related APIs may be used between :c:func:`PyGILState_Ensure` and " -":c:func:`PyGILState_Release` calls as long as the thread state is restored " -"to its previous state before the Release(). For example, normal usage of " -"the :c:macro:`Py_BEGIN_ALLOW_THREADS` and :c:macro:`Py_END_ALLOW_THREADS` " -"macros is acceptable." -msgstr "" - -#: ../../c-api/init.rst:1280 -msgid "" -"The return value is an opaque \"handle\" to the :term:`attached thread " -"state` when :c:func:`PyGILState_Ensure` was called, and must be passed to " -":c:func:`PyGILState_Release` to ensure Python is left in the same state. " -"Even though recursive calls are allowed, these handles *cannot* be shared - " -"each unique call to :c:func:`PyGILState_Ensure` must save the handle for its" -" call to :c:func:`PyGILState_Release`." -msgstr "" - -#: ../../c-api/init.rst:1287 -msgid "" -"When the function returns, there will be an :term:`attached thread state` " -"and the thread will be able to call arbitrary Python code. Failure is a " -"fatal error." -msgstr "" - -#: ../../c-api/init.rst:1302 -msgid "" -"Release any resources previously acquired. After this call, Python's state " -"will be the same as it was prior to the corresponding " -":c:func:`PyGILState_Ensure` call (but generally this state will be unknown " -"to the caller, hence the use of the GILState API)." -msgstr "" - -#: ../../c-api/init.rst:1307 -msgid "" -"Every call to :c:func:`PyGILState_Ensure` must be matched by a call to " -":c:func:`PyGILState_Release` on the same thread." -msgstr "" - -#: ../../c-api/init.rst:1313 -msgid "" -"Get the :term:`attached thread state` for this thread. May return ``NULL`` " -"if no GILState API has been used on the current thread. Note that the main " -"thread always has such a thread-state, even if no auto-thread-state call has" -" been made on the main thread. This is mainly a helper/diagnostic function." -msgstr "" - -#: ../../c-api/init.rst:1323 -msgid "" -"Return ``1`` if the current thread is holding the :term:`GIL` and ``0`` " -"otherwise. This function can be called from any thread at any time. Only if " -"it has had its Python thread state initialized and currently is holding the " -":term:`GIL` will it return ``1``. This is mainly a helper/diagnostic " -"function. It can be useful for example in callback contexts or memory " -"allocation functions when knowing that the :term:`GIL` is locked can allow " -"the caller to perform sensitive actions or otherwise behave differently." -msgstr "" - -#: ../../c-api/init.rst:1335 -msgid "" -"The following macros are normally used without a trailing semicolon; look " -"for example usage in the Python source distribution." -msgstr "" - -#: ../../c-api/init.rst:1341 -msgid "" -"This macro expands to ``{ PyThreadState *_save; _save = " -"PyEval_SaveThread();``. Note that it contains an opening brace; it must be " -"matched with a following :c:macro:`Py_END_ALLOW_THREADS` macro. See above " -"for further discussion of this macro." -msgstr "" - -#: ../../c-api/init.rst:1349 -msgid "" -"This macro expands to ``PyEval_RestoreThread(_save); }``. Note that it " -"contains a closing brace; it must be matched with an earlier " -":c:macro:`Py_BEGIN_ALLOW_THREADS` macro. See above for further discussion " -"of this macro." -msgstr "" - -#: ../../c-api/init.rst:1357 -msgid "" -"This macro expands to ``PyEval_RestoreThread(_save);``: it is equivalent to " -":c:macro:`Py_END_ALLOW_THREADS` without the closing brace." -msgstr "" - -#: ../../c-api/init.rst:1363 -msgid "" -"This macro expands to ``_save = PyEval_SaveThread();``: it is equivalent to " -":c:macro:`Py_BEGIN_ALLOW_THREADS` without the opening brace and variable " -"declaration." -msgstr "" - -#: ../../c-api/init.rst:1369 -msgid "Low-level API" -msgstr "" - -#: ../../c-api/init.rst:1371 -msgid "" -"All of the following functions must be called after :c:func:`Py_Initialize`." -msgstr "" - -#: ../../c-api/init.rst:1373 -msgid "" -":c:func:`Py_Initialize()` now initializes the :term:`GIL` and sets an " -":term:`attached thread state`." -msgstr "" - -#: ../../c-api/init.rst:1380 -msgid "" -"Create a new interpreter state object. An :term:`attached thread state` is " -"not needed, but may optionally exist if it is necessary to serialize calls " -"to this function." -msgstr "" - -#: ../../c-api/init.rst:1384 -msgid "" -"Raises an :ref:`auditing event ` " -"``cpython.PyInterpreterState_New`` with no arguments." -msgstr "" - -#: ../../c-api/init.rst:1389 -msgid "" -"Reset all information in an interpreter state object. There must be an " -":term:`attached thread state` for the the interpreter." -msgstr "" - -#: ../../c-api/init.rst:1392 -msgid "" -"Raises an :ref:`auditing event ` " -"``cpython.PyInterpreterState_Clear`` with no arguments." -msgstr "" - -#: ../../c-api/init.rst:1397 -msgid "" -"Destroy an interpreter state object. There **should not** be an " -":term:`attached thread state` for the target interpreter. The interpreter " -"state must have been reset with a previous call to " -":c:func:`PyInterpreterState_Clear`." -msgstr "" - -#: ../../c-api/init.rst:1404 -msgid "" -"Create a new thread state object belonging to the given interpreter object. " -"An :term:`attached thread state` is not needed." -msgstr "" - -#: ../../c-api/init.rst:1409 -msgid "" -"Reset all information in a :term:`thread state` object. *tstate* must be " -":term:`attached `" -msgstr "" - -#: ../../c-api/init.rst:1412 -msgid "" -"This function now calls the :c:member:`PyThreadState.on_delete` callback. " -"Previously, that happened in :c:func:`PyThreadState_Delete`." -msgstr "" - -#: ../../c-api/init.rst:1416 -msgid "The :c:member:`PyThreadState.on_delete` callback was removed." -msgstr "" - -#: ../../c-api/init.rst:1422 -msgid "" -"Destroy a :term:`thread state` object. *tstate* should not be " -":term:`attached ` to any thread. *tstate* must have " -"been reset with a previous call to :c:func:`PyThreadState_Clear`." -msgstr "" - -#: ../../c-api/init.rst:1430 -msgid "" -"Detach the :term:`attached thread state` (which must have been reset with a " -"previous call to :c:func:`PyThreadState_Clear`) and then destroy it." -msgstr "" - -#: ../../c-api/init.rst:1433 -msgid "" -"No :term:`thread state` will be :term:`attached ` " -"upon returning." -msgstr "" - -#: ../../c-api/init.rst:1438 -msgid "Get the current frame of the Python thread state *tstate*." -msgstr "" - -#: ../../c-api/init.rst:1440 -msgid "" -"Return a :term:`strong reference`. Return ``NULL`` if no frame is currently " -"executing." -msgstr "" - -#: ../../c-api/init.rst:1443 -msgid "See also :c:func:`PyEval_GetFrame`." -msgstr "" - -#: ../../c-api/init.rst:1445 ../../c-api/init.rst:1454 -#: ../../c-api/init.rst:1463 -msgid "" -"*tstate* must not be ``NULL``, and must be :term:`attached `." -msgstr "" - -#: ../../c-api/init.rst:1452 -msgid "" -"Get the unique :term:`thread state` identifier of the Python thread state " -"*tstate*." -msgstr "" - -#: ../../c-api/init.rst:1461 -msgid "Get the interpreter of the Python thread state *tstate*." -msgstr "" - -#: ../../c-api/init.rst:1470 -msgid "Suspend tracing and profiling in the Python thread state *tstate*." -msgstr "" - -#: ../../c-api/init.rst:1472 -msgid "Resume them using the :c:func:`PyThreadState_LeaveTracing` function." -msgstr "" - -#: ../../c-api/init.rst:1479 -msgid "" -"Resume tracing and profiling in the Python thread state *tstate* suspended " -"by the :c:func:`PyThreadState_EnterTracing` function." -msgstr "" - -#: ../../c-api/init.rst:1482 -msgid "" -"See also :c:func:`PyEval_SetTrace` and :c:func:`PyEval_SetProfile` " -"functions." -msgstr "" - -#: ../../c-api/init.rst:1490 -msgid "Get the current interpreter." -msgstr "" - -#: ../../c-api/init.rst:1492 -msgid "" -"Issue a fatal error if there no :term:`attached thread state`. It cannot " -"return NULL." -msgstr "" - -#: ../../c-api/init.rst:1500 -msgid "" -"Return the interpreter's unique ID. If there was any error in doing so then" -" ``-1`` is returned and an error is set." -msgstr "" - -#: ../../c-api/init.rst:1503 ../../c-api/init.rst:2090 -#: ../../c-api/init.rst:2097 ../../c-api/init.rst:2116 -#: ../../c-api/init.rst:2123 -msgid "The caller must have an :term:`attached thread state`." -msgstr "" - -#: ../../c-api/init.rst:1510 -msgid "" -"Return a dictionary in which interpreter-specific data may be stored. If " -"this function returns ``NULL`` then no exception has been raised and the " -"caller should assume no interpreter-specific dict is available." -msgstr "" - -#: ../../c-api/init.rst:1514 -msgid "" -"This is not a replacement for :c:func:`PyModule_GetState()`, which " -"extensions should use to store interpreter-specific state information." -msgstr "" - -#: ../../c-api/init.rst:1522 -msgid "Type of a frame evaluation function." -msgstr "" - -#: ../../c-api/init.rst:1524 -msgid "" -"The *throwflag* parameter is used by the ``throw()`` method of generators: " -"if non-zero, handle the current exception." -msgstr "" - -#: ../../c-api/init.rst:1527 -msgid "The function now takes a *tstate* parameter." -msgstr "" - -#: ../../c-api/init.rst:1530 -msgid "" -"The *frame* parameter changed from ``PyFrameObject*`` to " -"``_PyInterpreterFrame*``." -msgstr "" - -#: ../../c-api/init.rst:1535 -msgid "Get the frame evaluation function." -msgstr "" - -#: ../../c-api/init.rst:1537 ../../c-api/init.rst:1545 -msgid "See the :pep:`523` \"Adding a frame evaluation API to CPython\"." -msgstr "" - -#: ../../c-api/init.rst:1543 -msgid "Set the frame evaluation function." -msgstr "" - -#: ../../c-api/init.rst:1552 -msgid "" -"Return a dictionary in which extensions can store thread-specific state " -"information. Each extension should use a unique key to use to store state " -"in the dictionary. It is okay to call this function when no :term:`thread " -"state` is :term:`attached `. If this function returns" -" ``NULL``, no exception has been raised and the caller should assume no " -"thread state is attached." -msgstr "" - -#: ../../c-api/init.rst:1562 -msgid "" -"Asynchronously raise an exception in a thread. The *id* argument is the " -"thread id of the target thread; *exc* is the exception object to be raised. " -"This function does not steal any references to *exc*. To prevent naive " -"misuse, you must write your own C extension to call this. Must be called " -"with an :term:`attached thread state`. Returns the number of thread states " -"modified; this is normally one, but will be zero if the thread id isn't " -"found. If *exc* is ``NULL``, the pending exception (if any) for the thread " -"is cleared. This raises no exceptions." -msgstr "" - -#: ../../c-api/init.rst:1570 -msgid "" -"The type of the *id* parameter changed from :c:expr:`long` to " -":c:expr:`unsigned long`." -msgstr "" - -#: ../../c-api/init.rst:1576 -msgid "" -":term:`Attach ` *tstate* to the current thread, which" -" must not be ``NULL`` or already :term:`attached `." -msgstr "" - -#: ../../c-api/init.rst:1579 -msgid "" -"The calling thread must not already have an :term:`attached thread state`." -msgstr "" - -#: ../../c-api/init.rst:1587 -msgid "" -"Updated to be consistent with :c:func:`PyEval_RestoreThread`, " -":c:func:`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`, and " -"terminate the current thread if called while the interpreter is finalizing." -msgstr "" - -#: ../../c-api/init.rst:1596 -msgid "" -":c:func:`PyEval_RestoreThread` is a higher-level function which is always " -"available (even when threads have not been initialized)." -msgstr "" - -#: ../../c-api/init.rst:1602 -msgid "" -"Detach the :term:`attached thread state`. The *tstate* argument, which must " -"not be ``NULL``, is only used to check that it represents the " -":term:`attached thread state` --- if it isn't, a fatal error is reported." -msgstr "" - -#: ../../c-api/init.rst:1607 -msgid "" -":c:func:`PyEval_SaveThread` is a higher-level function which is always " -"available (even when threads have not been initialized)." -msgstr "" - -#: ../../c-api/init.rst:1614 -msgid "Sub-interpreter support" -msgstr "" - -#: ../../c-api/init.rst:1616 -msgid "" -"While in most uses, you will only embed a single Python interpreter, there " -"are cases where you need to create several independent interpreters in the " -"same process and perhaps even in the same thread. Sub-interpreters allow you" -" to do that." -msgstr "" - -#: ../../c-api/init.rst:1621 -msgid "" -"The \"main\" interpreter is the first one created when the runtime " -"initializes. It is usually the only Python interpreter in a process. Unlike" -" sub-interpreters, the main interpreter has unique process-global " -"responsibilities like signal handling. It is also responsible for execution" -" during runtime initialization and is usually the active interpreter during " -"runtime finalization. The :c:func:`PyInterpreterState_Main` function " -"returns a pointer to its state." -msgstr "" - -#: ../../c-api/init.rst:1628 -msgid "" -"You can switch between sub-interpreters using the " -":c:func:`PyThreadState_Swap` function. You can create and destroy them using" -" the following functions:" -msgstr "" - -#: ../../c-api/init.rst:1634 -msgid "" -"Structure containing most parameters to configure a sub-interpreter. Its " -"values are used only in :c:func:`Py_NewInterpreterFromConfig` and never " -"modified by the runtime." -msgstr "" - -#: ../../c-api/init.rst:1640 -msgid "Structure fields:" -msgstr "" - -#: ../../c-api/init.rst:1644 -msgid "" -"If this is ``0`` then the sub-interpreter will use its own \"object\" " -"allocator state. Otherwise it will use (share) the main interpreter's." -msgstr "" - -#: ../../c-api/init.rst:1648 -msgid "" -"If this is ``0`` then " -":c:member:`~PyInterpreterConfig.check_multi_interp_extensions` must be ``1``" -" (non-zero). If this is ``1`` then :c:member:`~PyInterpreterConfig.gil` must" -" not be :c:macro:`PyInterpreterConfig_OWN_GIL`." -msgstr "" - -#: ../../c-api/init.rst:1656 -msgid "" -"If this is ``0`` then the runtime will not support forking the process in " -"any thread where the sub-interpreter is currently active. Otherwise fork is " -"unrestricted." -msgstr "" - -#: ../../c-api/init.rst:1660 -msgid "" -"Note that the :mod:`subprocess` module still works when fork is disallowed." -msgstr "" - -#: ../../c-api/init.rst:1665 -msgid "" -"If this is ``0`` then the runtime will not support replacing the current " -"process via exec (e.g. :func:`os.execv`) in any thread where the sub-" -"interpreter is currently active. Otherwise exec is unrestricted." -msgstr "" - -#: ../../c-api/init.rst:1670 -msgid "" -"Note that the :mod:`subprocess` module still works when exec is disallowed." -msgstr "" - -#: ../../c-api/init.rst:1675 -msgid "" -"If this is ``0`` then the sub-interpreter's :mod:`threading` module won't " -"create threads. Otherwise threads are allowed." -msgstr "" - -#: ../../c-api/init.rst:1681 -msgid "" -"If this is ``0`` then the sub-interpreter's :mod:`threading` module won't " -"create daemon threads. Otherwise daemon threads are allowed (as long as " -":c:member:`~PyInterpreterConfig.allow_threads` is non-zero)." -msgstr "" - -#: ../../c-api/init.rst:1688 -msgid "" -"If this is ``0`` then all extension modules may be imported, including " -"legacy (single-phase init) modules, in any thread where the sub-interpreter " -"is currently active. Otherwise only multi-phase init extension modules (see " -":pep:`489`) may be imported. (Also see " -":c:macro:`Py_mod_multiple_interpreters`.)" -msgstr "" - -#: ../../c-api/init.rst:1695 -msgid "" -"This must be ``1`` (non-zero) if " -":c:member:`~PyInterpreterConfig.use_main_obmalloc` is ``0``." -msgstr "" - -#: ../../c-api/init.rst:1700 -msgid "" -"This determines the operation of the GIL for the sub-interpreter. It may be " -"one of the following:" -msgstr "" - -#: ../../c-api/init.rst:1707 -msgid "Use the default selection (:c:macro:`PyInterpreterConfig_SHARED_GIL`)." -msgstr "" - -#: ../../c-api/init.rst:1711 -msgid "Use (share) the main interpreter's GIL." -msgstr "" - -#: ../../c-api/init.rst:1715 -msgid "Use the sub-interpreter's own GIL." -msgstr "" - -#: ../../c-api/init.rst:1717 -msgid "" -"If this is :c:macro:`PyInterpreterConfig_OWN_GIL` then " -":c:member:`PyInterpreterConfig.use_main_obmalloc` must be ``0``." -msgstr "" - -#: ../../c-api/init.rst:1731 -msgid "" -"Create a new sub-interpreter. This is an (almost) totally separate " -"environment for the execution of Python code. In particular, the new " -"interpreter has separate, independent versions of all imported modules, " -"including the fundamental modules :mod:`builtins`, :mod:`__main__` and " -":mod:`sys`. The table of loaded modules (``sys.modules``) and the module " -"search path (``sys.path``) are also separate. The new environment has no " -"``sys.argv`` variable. It has new standard I/O stream file objects " -"``sys.stdin``, ``sys.stdout`` and ``sys.stderr`` (however these refer to the" -" same underlying file descriptors)." -msgstr "" - -#: ../../c-api/init.rst:1741 -msgid "" -"The given *config* controls the options with which the interpreter is " -"initialized." -msgstr "" - -#: ../../c-api/init.rst:1744 -msgid "" -"Upon success, *tstate_p* will be set to the first :term:`thread state` " -"created in the new sub-interpreter. This thread state is :term:`attached " -"`. Note that no actual thread is created; see the " -"discussion of thread states below. If creation of the new interpreter is " -"unsuccessful, *tstate_p* is set to ``NULL``; no exception is set since the " -"exception state is stored in the :term:`attached thread state`, which might " -"not exist." -msgstr "" - -#: ../../c-api/init.rst:1753 -msgid "" -"Like all other Python/C API functions, an :term:`attached thread state` must" -" be present before calling this function, but it might be detached upon " -"returning. On success, the returned thread state will be :term:`attached " -"`. If the sub-interpreter is created with its own " -":term:`GIL` then the :term:`attached thread state` of the calling " -"interpreter will be detached. When the function returns, the new " -"interpreter's :term:`thread state` will be :term:`attached ` to the current thread and the previous interpreter's :term:`attached" -" thread state` will remain detached." -msgstr "" - -#: ../../c-api/init.rst:1764 -msgid "" -"Sub-interpreters are most effective when isolated from each other, with " -"certain functionality restricted::" -msgstr "" - -#: ../../c-api/init.rst:1767 -msgid "" -"PyInterpreterConfig config = {\n" -" .use_main_obmalloc = 0,\n" -" .allow_fork = 0,\n" -" .allow_exec = 0,\n" -" .allow_threads = 1,\n" -" .allow_daemon_threads = 0,\n" -" .check_multi_interp_extensions = 1,\n" -" .gil = PyInterpreterConfig_OWN_GIL,\n" -"};\n" -"PyThreadState *tstate = NULL;\n" -"PyStatus status = Py_NewInterpreterFromConfig(&tstate, &config);\n" -"if (PyStatus_Exception(status)) {\n" -" Py_ExitStatusException(status);\n" -"}" -msgstr "" - -#: ../../c-api/init.rst:1782 -msgid "" -"Note that the config is used only briefly and does not get modified. During " -"initialization the config's values are converted into various " -":c:type:`PyInterpreterState` values. A read-only copy of the config may be " -"stored internally on the :c:type:`PyInterpreterState`." -msgstr "" - -#: ../../c-api/init.rst:1791 -msgid "Extension modules are shared between (sub-)interpreters as follows:" -msgstr "" - -#: ../../c-api/init.rst:1793 -msgid "" -"For modules using multi-phase initialization, e.g. " -":c:func:`PyModule_FromDefAndSpec`, a separate module object is created and " -"initialized for each interpreter. Only C-level static and global variables " -"are shared between these module objects." -msgstr "" - -#: ../../c-api/init.rst:1799 -msgid "" -"For modules using single-phase initialization, e.g. " -":c:func:`PyModule_Create`, the first time a particular extension is " -"imported, it is initialized normally, and a (shallow) copy of its module's " -"dictionary is squirreled away. When the same extension is imported by " -"another (sub-)interpreter, a new module is initialized and filled with the " -"contents of this copy; the extension's ``init`` function is not called. " -"Objects in the module's dictionary thus end up shared across " -"(sub-)interpreters, which might cause unwanted behavior (see `Bugs and " -"caveats`_ below)." -msgstr "" - -#: ../../c-api/init.rst:1810 -msgid "" -"Note that this is different from what happens when an extension is imported " -"after the interpreter has been completely re-initialized by calling " -":c:func:`Py_FinalizeEx` and :c:func:`Py_Initialize`; in that case, the " -"extension's ``initmodule`` function *is* called again. As with multi-phase " -"initialization, this means that only C-level static and global variables are" -" shared between these modules." -msgstr "" - -#: ../../c-api/init.rst:1830 -msgid "" -"Create a new sub-interpreter. This is essentially just a wrapper around " -":c:func:`Py_NewInterpreterFromConfig` with a config that preserves the " -"existing behavior. The result is an unisolated sub-interpreter that shares " -"the main interpreter's GIL, allows fork/exec, allows daemon threads, and " -"allows single-phase init modules." -msgstr "" - -#: ../../c-api/init.rst:1842 -msgid "" -"Destroy the (sub-)interpreter represented by the given :term:`thread state`." -" The given thread state must be :term:`attached `. " -"When the call returns, there will be no :term:`attached thread state`. All " -"thread states associated with this interpreter are destroyed." -msgstr "" - -#: ../../c-api/init.rst:1847 -msgid "" -":c:func:`Py_FinalizeEx` will destroy all sub-interpreters that haven't been " -"explicitly destroyed at that point." -msgstr "" - -#: ../../c-api/init.rst:1852 -msgid "A Per-Interpreter GIL" -msgstr "" - -#: ../../c-api/init.rst:1854 -msgid "" -"Using :c:func:`Py_NewInterpreterFromConfig` you can create a sub-interpreter" -" that is completely isolated from other interpreters, including having its " -"own GIL. The most important benefit of this isolation is that such an " -"interpreter can execute Python code without being blocked by other " -"interpreters or blocking any others. Thus a single Python process can truly" -" take advantage of multiple CPU cores when running Python code. The " -"isolation also encourages a different approach to concurrency than that of " -"just using threads. (See :pep:`554`.)" -msgstr "" - -#: ../../c-api/init.rst:1864 -msgid "" -"Using an isolated interpreter requires vigilance in preserving that " -"isolation. That especially means not sharing any objects or mutable state " -"without guarantees about thread-safety. Even objects that are otherwise " -"immutable (e.g. ``None``, ``(1, 5)``) can't normally be shared because of " -"the refcount. One simple but less-efficient approach around this is to use " -"a global lock around all use of some state (or object). Alternately, " -"effectively immutable objects (like integers or strings) can be made safe in" -" spite of their refcounts by making them :term:`immortal`. In fact, this has" -" been done for the builtin singletons, small integers, and a number of other" -" builtin objects." -msgstr "" - -#: ../../c-api/init.rst:1875 -msgid "" -"If you preserve isolation then you will have access to proper multi-core " -"computing without the complications that come with free-threading. Failure " -"to preserve isolation will expose you to the full consequences of free-" -"threading, including races and hard-to-debug crashes." -msgstr "" - -#: ../../c-api/init.rst:1880 -msgid "" -"Aside from that, one of the main challenges of using multiple isolated " -"interpreters is how to communicate between them safely (not break isolation)" -" and efficiently. The runtime and stdlib do not provide any standard " -"approach to this yet. A future stdlib module would help mitigate the effort" -" of preserving isolation and expose effective tools for communicating (and " -"sharing) data between interpreters." -msgstr "" - -#: ../../c-api/init.rst:1891 -msgid "Bugs and caveats" -msgstr "" - -#: ../../c-api/init.rst:1893 -msgid "" -"Because sub-interpreters (and the main interpreter) are part of the same " -"process, the insulation between them isn't perfect --- for example, using " -"low-level file operations like :func:`os.close` they can (accidentally or " -"maliciously) affect each other's open files. Because of the way extensions " -"are shared between (sub-)interpreters, some extensions may not work " -"properly; this is especially likely when using single-phase initialization " -"or (static) global variables. It is possible to insert objects created in " -"one sub-interpreter into a namespace of another (sub-)interpreter; this " -"should be avoided if possible." -msgstr "" - -#: ../../c-api/init.rst:1903 -msgid "" -"Special care should be taken to avoid sharing user-defined functions, " -"methods, instances or classes between sub-interpreters, since import " -"operations executed by such objects may affect the wrong (sub-)interpreter's" -" dictionary of loaded modules. It is equally important to avoid sharing " -"objects from which the above are reachable." -msgstr "" - -#: ../../c-api/init.rst:1909 -msgid "" -"Also note that combining this functionality with ``PyGILState_*`` APIs is " -"delicate, because these APIs assume a bijection between Python thread states" -" and OS-level threads, an assumption broken by the presence of sub-" -"interpreters. It is highly recommended that you don't switch sub-" -"interpreters between a pair of matching :c:func:`PyGILState_Ensure` and " -":c:func:`PyGILState_Release` calls. Furthermore, extensions (such as " -":mod:`ctypes`) using these APIs to allow calling of Python code from non-" -"Python created threads will probably be broken when using sub-interpreters." -msgstr "" - -#: ../../c-api/init.rst:1920 -msgid "Asynchronous Notifications" -msgstr "" - -#: ../../c-api/init.rst:1922 -msgid "" -"A mechanism is provided to make asynchronous notifications to the main " -"interpreter thread. These notifications take the form of a function pointer" -" and a void pointer argument." -msgstr "" - -#: ../../c-api/init.rst:1929 -msgid "" -"Schedule a function to be called from the main interpreter thread. On " -"success, ``0`` is returned and *func* is queued for being called in the main" -" thread. On failure, ``-1`` is returned without setting any exception." -msgstr "" - -#: ../../c-api/init.rst:1933 -msgid "" -"When successfully queued, *func* will be *eventually* called from the main " -"interpreter thread with the argument *arg*. It will be called " -"asynchronously with respect to normally running Python code, but with both " -"these conditions met:" -msgstr "" - -#: ../../c-api/init.rst:1938 -msgid "on a :term:`bytecode` boundary;" -msgstr "" - -#: ../../c-api/init.rst:1939 -msgid "" -"with the main thread holding an :term:`attached thread state` (*func* can " -"therefore use the full C API)." -msgstr "" - -#: ../../c-api/init.rst:1942 -msgid "" -"*func* must return ``0`` on success, or ``-1`` on failure with an exception " -"set. *func* won't be interrupted to perform another asynchronous " -"notification recursively, but it can still be interrupted to switch threads " -"if the :term:`thread state ` is detached." -msgstr "" - -#: ../../c-api/init.rst:1947 -msgid "" -"This function doesn't need an :term:`attached thread state`. However, to " -"call this function in a subinterpreter, the caller must have an " -":term:`attached thread state`. Otherwise, the function *func* can be " -"scheduled to be called from the wrong interpreter." -msgstr "" - -#: ../../c-api/init.rst:1952 -msgid "" -"This is a low-level function, only useful for very special cases. There is " -"no guarantee that *func* will be called as quick as possible. If the main " -"thread is busy executing a system call, *func* won't be called before the " -"system call returns. This function is generally **not** suitable for " -"calling Python code from arbitrary C threads. Instead, use the " -":ref:`PyGILState API`." -msgstr "" - -#: ../../c-api/init.rst:1961 -msgid "" -"If this function is called in a subinterpreter, the function *func* is now " -"scheduled to be called from the subinterpreter, rather than being called " -"from the main interpreter. Each subinterpreter now has its own list of " -"scheduled calls." -msgstr "" - -#: ../../c-api/init.rst:1970 -msgid "Profiling and Tracing" -msgstr "" - -#: ../../c-api/init.rst:1975 -msgid "" -"The Python interpreter provides some low-level support for attaching " -"profiling and execution tracing facilities. These are used for profiling, " -"debugging, and coverage analysis tools." -msgstr "" - -#: ../../c-api/init.rst:1979 -msgid "" -"This C interface allows the profiling or tracing code to avoid the overhead " -"of calling through Python-level callable objects, making a direct C function" -" call instead. The essential attributes of the facility have not changed; " -"the interface allows trace functions to be installed per-thread, and the " -"basic events reported to the trace function are the same as had been " -"reported to the Python-level trace functions in previous versions." -msgstr "" - -#: ../../c-api/init.rst:1989 -msgid "" -"The type of the trace function registered using :c:func:`PyEval_SetProfile` " -"and :c:func:`PyEval_SetTrace`. The first parameter is the object passed to " -"the registration function as *obj*, *frame* is the frame object to which the" -" event pertains, *what* is one of the constants :c:data:`PyTrace_CALL`, " -":c:data:`PyTrace_EXCEPTION`, :c:data:`PyTrace_LINE`, " -":c:data:`PyTrace_RETURN`, :c:data:`PyTrace_C_CALL`, " -":c:data:`PyTrace_C_EXCEPTION`, :c:data:`PyTrace_C_RETURN`, or " -":c:data:`PyTrace_OPCODE`, and *arg* depends on the value of *what*:" -msgstr "" - -#: ../../c-api/init.rst:1998 -msgid "Value of *what*" -msgstr "" - -#: ../../c-api/init.rst:1998 -msgid "Meaning of *arg*" -msgstr "" - -#: ../../c-api/init.rst:2000 -msgid ":c:data:`PyTrace_CALL`" -msgstr "" - -#: ../../c-api/init.rst:2000 ../../c-api/init.rst:2005 -#: ../../c-api/init.rst:2016 -msgid "Always :c:data:`Py_None`." -msgstr "" - -#: ../../c-api/init.rst:2002 -msgid ":c:data:`PyTrace_EXCEPTION`" -msgstr "" - -#: ../../c-api/init.rst:2002 -msgid "Exception information as returned by :func:`sys.exc_info`." -msgstr "" - -#: ../../c-api/init.rst:2005 -msgid ":c:data:`PyTrace_LINE`" -msgstr "" - -#: ../../c-api/init.rst:2007 -msgid ":c:data:`PyTrace_RETURN`" -msgstr "" - -#: ../../c-api/init.rst:2007 -msgid "" -"Value being returned to the caller, or ``NULL`` if caused by an exception." -msgstr "" - -#: ../../c-api/init.rst:2010 -msgid ":c:data:`PyTrace_C_CALL`" -msgstr "" - -#: ../../c-api/init.rst:2010 ../../c-api/init.rst:2012 -#: ../../c-api/init.rst:2014 -msgid "Function object being called." -msgstr "" - -#: ../../c-api/init.rst:2012 -msgid ":c:data:`PyTrace_C_EXCEPTION`" -msgstr "" - -#: ../../c-api/init.rst:2014 -msgid ":c:data:`PyTrace_C_RETURN`" -msgstr "" - -#: ../../c-api/init.rst:2016 -msgid ":c:data:`PyTrace_OPCODE`" -msgstr "" - -#: ../../c-api/init.rst:2021 -msgid "" -"The value of the *what* parameter to a :c:type:`Py_tracefunc` function when " -"a new call to a function or method is being reported, or a new entry into a " -"generator. Note that the creation of the iterator for a generator function " -"is not reported as there is no control transfer to the Python bytecode in " -"the corresponding frame." -msgstr "" - -#: ../../c-api/init.rst:2030 -msgid "" -"The value of the *what* parameter to a :c:type:`Py_tracefunc` function when " -"an exception has been raised. The callback function is called with this " -"value for *what* when after any bytecode is processed after which the " -"exception becomes set within the frame being executed. The effect of this " -"is that as exception propagation causes the Python stack to unwind, the " -"callback is called upon return to each frame as the exception propagates. " -"Only trace functions receives these events; they are not needed by the " -"profiler." -msgstr "" - -#: ../../c-api/init.rst:2041 -msgid "" -"The value passed as the *what* parameter to a :c:type:`Py_tracefunc` " -"function (but not a profiling function) when a line-number event is being " -"reported. It may be disabled for a frame by setting " -":attr:`~frame.f_trace_lines` to *0* on that frame." -msgstr "" - -#: ../../c-api/init.rst:2049 -msgid "" -"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " -"a call is about to return." -msgstr "" - -#: ../../c-api/init.rst:2055 -msgid "" -"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " -"a C function is about to be called." -msgstr "" - -#: ../../c-api/init.rst:2061 -msgid "" -"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " -"a C function has raised an exception." -msgstr "" - -#: ../../c-api/init.rst:2067 -msgid "" -"The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " -"a C function has returned." -msgstr "" - -#: ../../c-api/init.rst:2073 -msgid "" -"The value for the *what* parameter to :c:type:`Py_tracefunc` functions (but " -"not profiling functions) when a new opcode is about to be executed. This " -"event is not emitted by default: it must be explicitly requested by setting " -":attr:`~frame.f_trace_opcodes` to *1* on the frame." -msgstr "" - -#: ../../c-api/init.rst:2081 -msgid "" -"Set the profiler function to *func*. The *obj* parameter is passed to the " -"function as its first parameter, and may be any Python object, or ``NULL``." -" If the profile function needs to maintain state, using a different value " -"for *obj* for each thread provides a convenient and thread-safe place to " -"store it. The profile function is called for all monitored events except " -":c:data:`PyTrace_LINE` :c:data:`PyTrace_OPCODE` and " -":c:data:`PyTrace_EXCEPTION`." -msgstr "" - -#: ../../c-api/init.rst:2088 -msgid "See also the :func:`sys.setprofile` function." -msgstr "" - -#: ../../c-api/init.rst:2094 -msgid "" -"Like :c:func:`PyEval_SetProfile` but sets the profile function in all " -"running threads belonging to the current interpreter instead of the setting " -"it only on the current thread." -msgstr "" - -#: ../../c-api/init.rst:2099 -msgid "" -"As :c:func:`PyEval_SetProfile`, this function ignores any exceptions raised " -"while setting the profile functions in all threads." -msgstr "" - -#: ../../c-api/init.rst:2107 -msgid "" -"Set the tracing function to *func*. This is similar to " -":c:func:`PyEval_SetProfile`, except the tracing function does receive line-" -"number events and per-opcode events, but does not receive any event related " -"to C function objects being called. Any trace function registered using " -":c:func:`PyEval_SetTrace` will not receive :c:data:`PyTrace_C_CALL`, " -":c:data:`PyTrace_C_EXCEPTION` or :c:data:`PyTrace_C_RETURN` as a value for " -"the *what* parameter." -msgstr "" - -#: ../../c-api/init.rst:2114 -msgid "See also the :func:`sys.settrace` function." -msgstr "" - -#: ../../c-api/init.rst:2120 -msgid "" -"Like :c:func:`PyEval_SetTrace` but sets the tracing function in all running " -"threads belonging to the current interpreter instead of the setting it only " -"on the current thread." -msgstr "" - -#: ../../c-api/init.rst:2125 -msgid "" -"As :c:func:`PyEval_SetTrace`, this function ignores any exceptions raised " -"while setting the trace functions in all threads." -msgstr "" - -#: ../../c-api/init.rst:2131 -msgid "Reference tracing" -msgstr "" - -#: ../../c-api/init.rst:2137 -msgid "" -"The type of the trace function registered using " -":c:func:`PyRefTracer_SetTracer`. The first parameter is a Python object that" -" has been just created (when **event** is set to " -":c:data:`PyRefTracer_CREATE`) or about to be destroyed (when **event** is " -"set to :c:data:`PyRefTracer_DESTROY`). The **data** argument is the opaque " -"pointer that was provided when :c:func:`PyRefTracer_SetTracer` was called." -msgstr "" - -#: ../../c-api/init.rst:2147 -msgid "" -"The value for the *event* parameter to :c:type:`PyRefTracer` functions when " -"a Python object has been created." -msgstr "" - -#: ../../c-api/init.rst:2152 -msgid "" -"The value for the *event* parameter to :c:type:`PyRefTracer` functions when " -"a Python object has been destroyed." -msgstr "" - -#: ../../c-api/init.rst:2157 -msgid "" -"Register a reference tracer function. The function will be called when a new" -" Python has been created or when an object is going to be destroyed. If " -"**data** is provided it must be an opaque pointer that will be provided when" -" the tracer function is called. Return ``0`` on success. Set an exception " -"and return ``-1`` on error." -msgstr "" - -#: ../../c-api/init.rst:2163 -msgid "" -"Not that tracer functions **must not** create Python objects inside or " -"otherwise the call will be re-entrant. The tracer also **must not** clear " -"any existing exception or set an exception. A :term:`thread state` will be " -"active every time the tracer function is called." -msgstr "" - -#: ../../c-api/init.rst:2168 ../../c-api/init.rst:2179 -msgid "" -"There must be an :term:`attached thread state` when calling this function." -msgstr "" - -#: ../../c-api/init.rst:2174 -msgid "" -"Get the registered reference tracer function and the value of the opaque " -"data pointer that was registered when :c:func:`PyRefTracer_SetTracer` was " -"called. If no tracer was registered this function will return NULL and will " -"set the **data** pointer to NULL." -msgstr "" - -#: ../../c-api/init.rst:2186 -msgid "Advanced Debugger Support" -msgstr "" - -#: ../../c-api/init.rst:2191 -msgid "" -"These functions are only intended to be used by advanced debugging tools." -msgstr "" - -#: ../../c-api/init.rst:2196 -msgid "" -"Return the interpreter state object at the head of the list of all such " -"objects." -msgstr "" - -#: ../../c-api/init.rst:2201 -msgid "Return the main interpreter state object." -msgstr "" - -#: ../../c-api/init.rst:2206 -msgid "" -"Return the next interpreter state object after *interp* from the list of all" -" such objects." -msgstr "" - -#: ../../c-api/init.rst:2212 -msgid "" -"Return the pointer to the first :c:type:`PyThreadState` object in the list " -"of threads associated with the interpreter *interp*." -msgstr "" - -#: ../../c-api/init.rst:2218 -msgid "" -"Return the next thread state object after *tstate* from the list of all such" -" objects belonging to the same :c:type:`PyInterpreterState` object." -msgstr "" - -#: ../../c-api/init.rst:2225 -msgid "Thread Local Storage Support" -msgstr "" - -#: ../../c-api/init.rst:2229 -msgid "" -"The Python interpreter provides low-level support for thread-local storage " -"(TLS) which wraps the underlying native TLS implementation to support the " -"Python-level thread local storage API (:class:`threading.local`). The " -"CPython C level APIs are similar to those offered by pthreads and Windows: " -"use a thread key and functions to associate a :c:expr:`void*` value per " -"thread." -msgstr "" - -#: ../../c-api/init.rst:2236 -msgid "" -"A :term:`thread state` does *not* need to be :term:`attached ` when calling these functions; they suppl their own locking." -msgstr "" - -#: ../../c-api/init.rst:2239 -msgid "" -"Note that :file:`Python.h` does not include the declaration of the TLS APIs," -" you need to include :file:`pythread.h` to use thread-local storage." -msgstr "" - -#: ../../c-api/init.rst:2243 -msgid "" -"None of these API functions handle memory management on behalf of the " -":c:expr:`void*` values. You need to allocate and deallocate them yourself. " -"If the :c:expr:`void*` values happen to be :c:expr:`PyObject*`, these " -"functions don't do refcount operations on them either." -msgstr "" - -#: ../../c-api/init.rst:2251 -msgid "Thread Specific Storage (TSS) API" -msgstr "" - -#: ../../c-api/init.rst:2253 -msgid "" -"TSS API is introduced to supersede the use of the existing TLS API within " -"the CPython interpreter. This API uses a new type :c:type:`Py_tss_t` " -"instead of :c:expr:`int` to represent thread keys." -msgstr "" - -#: ../../c-api/init.rst:2259 -msgid "\"A New C-API for Thread-Local Storage in CPython\" (:pep:`539`)" -msgstr "" - -#: ../../c-api/init.rst:2264 -msgid "" -"This data structure represents the state of a thread key, the definition of " -"which may depend on the underlying TLS implementation, and it has an " -"internal field representing the key's initialization state. There are no " -"public members in this structure." -msgstr "" - -#: ../../c-api/init.rst:2269 -msgid "" -"When :ref:`Py_LIMITED_API ` is not defined, static allocation of " -"this type by :c:macro:`Py_tss_NEEDS_INIT` is allowed." -msgstr "" - -#: ../../c-api/init.rst:2275 -msgid "" -"This macro expands to the initializer for :c:type:`Py_tss_t` variables. Note" -" that this macro won't be defined with :ref:`Py_LIMITED_API `." -msgstr "" - -#: ../../c-api/init.rst:2280 -msgid "Dynamic Allocation" -msgstr "" - -#: ../../c-api/init.rst:2282 -msgid "" -"Dynamic allocation of the :c:type:`Py_tss_t`, required in extension modules " -"built with :ref:`Py_LIMITED_API `, where static allocation of this " -"type is not possible due to its implementation being opaque at build time." -msgstr "" - -#: ../../c-api/init.rst:2289 -msgid "" -"Return a value which is the same state as a value initialized with " -":c:macro:`Py_tss_NEEDS_INIT`, or ``NULL`` in the case of dynamic allocation " -"failure." -msgstr "" - -#: ../../c-api/init.rst:2296 -msgid "" -"Free the given *key* allocated by :c:func:`PyThread_tss_alloc`, after first " -"calling :c:func:`PyThread_tss_delete` to ensure any associated thread locals" -" have been unassigned. This is a no-op if the *key* argument is ``NULL``." -msgstr "" - -#: ../../c-api/init.rst:2302 -msgid "" -"A freed key becomes a dangling pointer. You should reset the key to " -"``NULL``." -msgstr "" - -#: ../../c-api/init.rst:2307 -msgid "Methods" -msgstr "Metode-Metode" - -#: ../../c-api/init.rst:2309 -msgid "" -"The parameter *key* of these functions must not be ``NULL``. Moreover, the " -"behaviors of :c:func:`PyThread_tss_set` and :c:func:`PyThread_tss_get` are " -"undefined if the given :c:type:`Py_tss_t` has not been initialized by " -":c:func:`PyThread_tss_create`." -msgstr "" - -#: ../../c-api/init.rst:2317 -msgid "" -"Return a non-zero value if the given :c:type:`Py_tss_t` has been initialized" -" by :c:func:`PyThread_tss_create`." -msgstr "" - -#: ../../c-api/init.rst:2323 -msgid "" -"Return a zero value on successful initialization of a TSS key. The behavior" -" is undefined if the value pointed to by the *key* argument is not " -"initialized by :c:macro:`Py_tss_NEEDS_INIT`. This function can be called " -"repeatedly on the same key -- calling it on an already initialized key is a " -"no-op and immediately returns success." -msgstr "" - -#: ../../c-api/init.rst:2332 -msgid "" -"Destroy a TSS key to forget the values associated with the key across all " -"threads, and change the key's initialization state to uninitialized. A " -"destroyed key is able to be initialized again by " -":c:func:`PyThread_tss_create`. This function can be called repeatedly on the" -" same key -- calling it on an already destroyed key is a no-op." -msgstr "" - -#: ../../c-api/init.rst:2341 -msgid "" -"Return a zero value to indicate successfully associating a :c:expr:`void*` " -"value with a TSS key in the current thread. Each thread has a distinct " -"mapping of the key to a :c:expr:`void*` value." -msgstr "" - -#: ../../c-api/init.rst:2348 -msgid "" -"Return the :c:expr:`void*` value associated with a TSS key in the current " -"thread. This returns ``NULL`` if no value is associated with the key in the" -" current thread." -msgstr "" - -#: ../../c-api/init.rst:2356 -msgid "Thread Local Storage (TLS) API" -msgstr "" - -#: ../../c-api/init.rst:2358 -msgid "" -"This API is superseded by :ref:`Thread Specific Storage (TSS) API `." -msgstr "" - -#: ../../c-api/init.rst:2363 -msgid "" -"This version of the API does not support platforms where the native TLS key " -"is defined in a way that cannot be safely cast to ``int``. On such " -"platforms, :c:func:`PyThread_create_key` will return immediately with a " -"failure status, and the other TLS functions will all be no-ops on such " -"platforms." -msgstr "" - -#: ../../c-api/init.rst:2368 -msgid "" -"Due to the compatibility problem noted above, this version of the API should" -" not be used in new code." -msgstr "" - -#: ../../c-api/init.rst:2379 -msgid "Synchronization Primitives" -msgstr "" - -#: ../../c-api/init.rst:2381 -msgid "The C-API provides a basic mutual exclusion lock." -msgstr "" - -#: ../../c-api/init.rst:2385 -msgid "" -"A mutual exclusion lock. The :c:type:`!PyMutex` should be initialized to " -"zero to represent the unlocked state. For example::" -msgstr "" - -#: ../../c-api/init.rst:2388 -msgid "PyMutex mutex = {0};" -msgstr "" - -#: ../../c-api/init.rst:2390 -msgid "" -"Instances of :c:type:`!PyMutex` should not be copied or moved. Both the " -"contents and address of a :c:type:`!PyMutex` are meaningful, and it must " -"remain at a fixed, writable location in memory." -msgstr "" - -#: ../../c-api/init.rst:2396 -msgid "" -"A :c:type:`!PyMutex` currently occupies one byte, but the size should be " -"considered unstable. The size may change in future Python releases without " -"a deprecation period." -msgstr "" - -#: ../../c-api/init.rst:2404 -msgid "" -"Lock mutex *m*. If another thread has already locked it, the calling thread" -" will block until the mutex is unlocked. While blocked, the thread will " -"temporarily detach the :term:`thread state ` if one " -"exists." -msgstr "" - -#: ../../c-api/init.rst:2412 -msgid "" -"Unlock mutex *m*. The mutex must be locked --- otherwise, the function will " -"issue a fatal error." -msgstr "" - -#: ../../c-api/init.rst:2420 -msgid "Python Critical Section API" -msgstr "" - -#: ../../c-api/init.rst:2422 -msgid "" -"The critical section API provides a deadlock avoidance layer on top of per-" -"object locks for :term:`free-threaded ` CPython. They are " -"intended to replace reliance on the :term:`global interpreter lock`, and are" -" no-ops in versions of Python with the global interpreter lock." -msgstr "" - -#: ../../c-api/init.rst:2427 -msgid "" -"Critical sections avoid deadlocks by implicitly suspending active critical " -"sections and releasing the locks during calls to " -":c:func:`PyEval_SaveThread`. When :c:func:`PyEval_RestoreThread` is called, " -"the most recent critical section is resumed, and its locks reacquired. This" -" means the critical section API provides weaker guarantees than traditional " -"locks -- they are useful because their behavior is similar to the " -":term:`GIL`." -msgstr "" - -#: ../../c-api/init.rst:2434 -msgid "" -"The functions and structs used by the macros are exposed for cases where C " -"macros are not available. They should only be used as in the given macro " -"expansions. Note that the sizes and contents of the structures may change in" -" future Python versions." -msgstr "" - -#: ../../c-api/init.rst:2441 -msgid "" -"Operations that need to lock two objects at once must use " -":c:macro:`Py_BEGIN_CRITICAL_SECTION2`. You *cannot* use nested critical " -"sections to lock more than one object at once, because the inner critical " -"section may suspend the outer critical sections. This API does not provide " -"a way to lock more than two objects at once." -msgstr "" - -#: ../../c-api/init.rst:2447 -msgid "Example usage::" -msgstr "" - -#: ../../c-api/init.rst:2449 -msgid "" -"static PyObject *\n" -"set_field(MyObject *self, PyObject *value)\n" -"{\n" -" Py_BEGIN_CRITICAL_SECTION(self);\n" -" Py_SETREF(self->field, Py_XNewRef(value));\n" -" Py_END_CRITICAL_SECTION();\n" -" Py_RETURN_NONE;\n" -"}" -msgstr "" - -#: ../../c-api/init.rst:2458 -msgid "" -"In the above example, :c:macro:`Py_SETREF` calls :c:macro:`Py_DECREF`, which" -" can call arbitrary code through an object's deallocation function. The " -"critical section API avoids potential deadlocks due to reentrancy and lock " -"ordering by allowing the runtime to temporarily suspend the critical section" -" if the code triggered by the finalizer blocks and calls " -":c:func:`PyEval_SaveThread`." -msgstr "" - -#: ../../c-api/init.rst:2466 -msgid "" -"Acquires the per-object lock for the object *op* and begins a critical " -"section." -msgstr "" - -#: ../../c-api/init.rst:2469 ../../c-api/init.rst:2483 -#: ../../c-api/init.rst:2498 ../../c-api/init.rst:2512 -msgid "In the free-threaded build, this macro expands to::" -msgstr "" - -#: ../../c-api/init.rst:2471 -msgid "" -"{\n" -" PyCriticalSection _py_cs;\n" -" PyCriticalSection_Begin(&_py_cs, (PyObject*)(op))" -msgstr "" - -#: ../../c-api/init.rst:2475 ../../c-api/init.rst:2504 -msgid "In the default build, this macro expands to ``{``." -msgstr "" - -#: ../../c-api/init.rst:2481 -msgid "Ends the critical section and releases the per-object lock." -msgstr "" - -#: ../../c-api/init.rst:2485 -msgid "" -" PyCriticalSection_End(&_py_cs);\n" -"}" -msgstr "" - -#: ../../c-api/init.rst:2488 ../../c-api/init.rst:2517 -msgid "In the default build, this macro expands to ``}``." -msgstr "" - -#: ../../c-api/init.rst:2494 -msgid "" -"Acquires the per-objects locks for the objects *a* and *b* and begins a " -"critical section. The locks are acquired in a consistent order (lowest " -"address first) to avoid lock ordering deadlocks." -msgstr "" - -#: ../../c-api/init.rst:2500 -msgid "" -"{\n" -" PyCriticalSection2 _py_cs2;\n" -" PyCriticalSection2_Begin(&_py_cs2, (PyObject*)(a), (PyObject*)(b))" -msgstr "" - -#: ../../c-api/init.rst:2510 -msgid "Ends the critical section and releases the per-object locks." -msgstr "" - -#: ../../c-api/init.rst:2514 -msgid "" -" PyCriticalSection2_End(&_py_cs2);\n" -"}" -msgstr "" - -#: ../../c-api/init.rst:350 -msgid "PyEval_InitThreads()" -msgstr "" - -#: ../../c-api/init.rst:350 -msgid "modules (in module sys)" -msgstr "" - -#: ../../c-api/init.rst:350 ../../c-api/init.rst:726 -msgid "path (in module sys)" -msgstr "" - -#: ../../c-api/init.rst:350 ../../c-api/init.rst:726 ../../c-api/init.rst:1208 -#: ../../c-api/init.rst:1723 ../../c-api/init.rst:1822 -msgid "module" -msgstr "modul" - -#: ../../c-api/init.rst:350 ../../c-api/init.rst:1723 -#: ../../c-api/init.rst:1822 -msgid "builtins" -msgstr "builtins" - -#: ../../c-api/init.rst:350 ../../c-api/init.rst:1723 -#: ../../c-api/init.rst:1822 -msgid "__main__" -msgstr "" - -#: ../../c-api/init.rst:350 ../../c-api/init.rst:1723 -#: ../../c-api/init.rst:1822 -msgid "sys" -msgstr "sys" - -#: ../../c-api/init.rst:350 ../../c-api/init.rst:726 -msgid "search" -msgstr "" - -#: ../../c-api/init.rst:350 ../../c-api/init.rst:726 -msgid "path" -msgstr "" - -#: ../../c-api/init.rst:350 ../../c-api/init.rst:1787 -#: ../../c-api/init.rst:1840 -msgid "Py_FinalizeEx (C function)" -msgstr "" - -#: ../../c-api/init.rst:586 -msgid "Py_Initialize()" -msgstr "" - -#: ../../c-api/init.rst:586 ../../c-api/init.rst:824 -msgid "main()" -msgstr "" - -#: ../../c-api/init.rst:586 -msgid "Py_GetPath()" -msgstr "" - -#: ../../c-api/init.rst:704 -msgid "executable (in module sys)" -msgstr "" - -#: ../../c-api/init.rst:759 ../../c-api/init.rst:801 ../../c-api/init.rst:815 -msgid "version (in module sys)" -msgstr "" - -#: ../../c-api/init.rst:771 -msgid "platform (in module sys)" -msgstr "" - -#: ../../c-api/init.rst:788 -msgid "copyright (in module sys)" -msgstr "" - -#: ../../c-api/init.rst:824 -msgid "Py_FatalError()" -msgstr "" - -#: ../../c-api/init.rst:824 -msgid "argv (in module sys)" -msgstr "" - -#: ../../c-api/init.rst:944 -msgid "global interpreter lock" -msgstr "kunci interpreter global" - -#: ../../c-api/init.rst:944 -msgid "interpreter lock" -msgstr "" - -#: ../../c-api/init.rst:944 -msgid "lock, interpreter" -msgstr "" - -#: ../../c-api/init.rst:958 -msgid "setswitchinterval (in module sys)" -msgstr "" - -#: ../../c-api/init.rst:967 -msgid "PyThreadState (C type)" -msgstr "" - -#: ../../c-api/init.rst:1003 -msgid "Py_BEGIN_ALLOW_THREADS (C macro)" -msgstr "" - -#: ../../c-api/init.rst:1003 -msgid "Py_END_ALLOW_THREADS (C macro)" -msgstr "" - -#: ../../c-api/init.rst:1019 -msgid "PyEval_RestoreThread (C function)" -msgstr "" - -#: ../../c-api/init.rst:1019 -msgid "PyEval_SaveThread (C function)" -msgstr "" - -#: ../../c-api/init.rst:1186 -msgid "PyEval_AcquireThread()" -msgstr "" - -#: ../../c-api/init.rst:1186 -msgid "PyEval_ReleaseThread()" -msgstr "" - -#: ../../c-api/init.rst:1186 -msgid "PyEval_SaveThread()" -msgstr "" - -#: ../../c-api/init.rst:1186 -msgid "PyEval_RestoreThread()" -msgstr "" - -#: ../../c-api/init.rst:1208 -msgid "_thread" -msgstr "" - -#: ../../c-api/init.rst:1723 ../../c-api/init.rst:1822 -msgid "stdout (in module sys)" -msgstr "" - -#: ../../c-api/init.rst:1723 ../../c-api/init.rst:1822 -msgid "stderr (in module sys)" -msgstr "" - -#: ../../c-api/init.rst:1723 ../../c-api/init.rst:1822 -msgid "stdin (in module sys)" -msgstr "" - -#: ../../c-api/init.rst:1787 -msgid "Py_Initialize (C function)" -msgstr "" - -#: ../../c-api/init.rst:1817 -msgid "close (in module os)" -msgstr "" diff --git a/python-newest.c-api--init_config/id.po b/python-newest.c-api--init_config/id.po deleted file mode 100644 index 01bec8b..0000000 --- a/python-newest.c-api--init_config/id.po +++ /dev/null @@ -1,3392 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: oon arfiandwi , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/init_config.rst:7 -msgid "Python Initialization Configuration" -msgstr "" - -#: ../../c-api/init_config.rst:13 -msgid "PyInitConfig C API" -msgstr "" - -#: ../../c-api/init_config.rst:17 -msgid "Python can be initialized with :c:func:`Py_InitializeFromInitConfig`." -msgstr "" - -#: ../../c-api/init_config.rst:19 ../../c-api/init_config.rst:650 -msgid "" -"The :c:func:`Py_RunMain` function can be used to write a customized Python " -"program." -msgstr "" - -#: ../../c-api/init_config.rst:22 ../../c-api/init_config.rst:653 -msgid "" -"See also :ref:`Initialization, Finalization, and Threads `." -msgstr "" - -#: ../../c-api/init_config.rst:25 -msgid ":pep:`741` \"Python Configuration C API\"." -msgstr "" - -#: ../../c-api/init_config.rst:29 ../../c-api/init_config.rst:660 -msgid "Example" -msgstr "Contoh" - -#: ../../c-api/init_config.rst:31 -msgid "" -"Example of customized Python always running with the :ref:`Python " -"Development Mode ` enabled; return ``-1`` on error:" -msgstr "" - -#: ../../c-api/init_config.rst:34 -msgid "" -"int init_python(void)\n" -"{\n" -" PyInitConfig *config = PyInitConfig_Create();\n" -" if (config == NULL) {\n" -" printf(\"PYTHON INIT ERROR: memory allocation failed\\n\");\n" -" return -1;\n" -" }\n" -"\n" -" // Enable the Python Development Mode\n" -" if (PyInitConfig_SetInt(config, \"dev_mode\", 1) < 0) {\n" -" goto error;\n" -" }\n" -"\n" -" // Initialize Python with the configuration\n" -" if (Py_InitializeFromInitConfig(config) < 0) {\n" -" goto error;\n" -" }\n" -" PyInitConfig_Free(config);\n" -" return 0;\n" -"\n" -"error:\n" -" {\n" -" // Display the error message.\n" -" //\n" -" // This uncommon braces style is used, because you cannot make\n" -" // goto targets point to variable declarations.\n" -" const char *err_msg;\n" -" (void)PyInitConfig_GetError(config, &err_msg);\n" -" printf(\"PYTHON INIT ERROR: %s\\n\", err_msg);\n" -" PyInitConfig_Free(config);\n" -" return -1;\n" -" }\n" -"}" -msgstr "" - -#: ../../c-api/init_config.rst:71 -msgid "Create Config" -msgstr "" - -#: ../../c-api/init_config.rst:75 -msgid "Opaque structure to configure the Python initialization." -msgstr "" - -#: ../../c-api/init_config.rst:80 -msgid "" -"Create a new initialization configuration using :ref:`Isolated Configuration" -" ` default values." -msgstr "" - -#: ../../c-api/init_config.rst:83 -msgid "It must be freed by :c:func:`PyInitConfig_Free`." -msgstr "" - -#: ../../c-api/init_config.rst:85 -msgid "Return ``NULL`` on memory allocation failure." -msgstr "" - -#: ../../c-api/init_config.rst:90 -msgid "Free memory of the initialization configuration *config*." -msgstr "" - -#: ../../c-api/init_config.rst:92 -msgid "If *config* is ``NULL``, no operation is performed." -msgstr "" - -#: ../../c-api/init_config.rst:96 -msgid "Error Handling" -msgstr "Penanganan Kesalahan" - -#: ../../c-api/init_config.rst:100 -msgid "Get the *config* error message." -msgstr "" - -#: ../../c-api/init_config.rst:102 -msgid "Set *\\*err_msg* and return ``1`` if an error is set." -msgstr "" - -#: ../../c-api/init_config.rst:103 -msgid "Set *\\*err_msg* to ``NULL`` and return ``0`` otherwise." -msgstr "" - -#: ../../c-api/init_config.rst:105 -msgid "An error message is an UTF-8 encoded string." -msgstr "" - -#: ../../c-api/init_config.rst:107 -msgid "" -"If *config* has an exit code, format the exit code as an error message." -msgstr "" - -#: ../../c-api/init_config.rst:110 -msgid "" -"The error message remains valid until another ``PyInitConfig`` function is " -"called with *config*. The caller doesn't have to free the error message." -msgstr "" - -#: ../../c-api/init_config.rst:117 -msgid "Get the *config* exit code." -msgstr "" - -#: ../../c-api/init_config.rst:119 -msgid "Set *\\*exitcode* and return ``1`` if *config* has an exit code set." -msgstr "" - -#: ../../c-api/init_config.rst:120 -msgid "Return ``0`` if *config* has no exit code set." -msgstr "" - -#: ../../c-api/init_config.rst:122 -msgid "" -"Only the ``Py_InitializeFromInitConfig()`` function can set an exit code if " -"the ``parse_argv`` option is non-zero." -msgstr "" - -#: ../../c-api/init_config.rst:125 -msgid "" -"An exit code can be set when parsing the command line failed (exit code " -"``2``) or when a command line option asks to display the command line help " -"(exit code ``0``)." -msgstr "" - -#: ../../c-api/init_config.rst:131 -msgid "Get Options" -msgstr "" - -#: ../../c-api/init_config.rst:133 ../../c-api/init_config.rst:187 -#: ../../c-api/init_config.rst:559 -msgid "" -"The configuration option *name* parameter must be a non-NULL null-terminated" -" UTF-8 encoded string. See :ref:`Configuration Options `." -msgstr "" - -#: ../../c-api/init_config.rst:138 -msgid "Test if the configuration has an option called *name*." -msgstr "" - -#: ../../c-api/init_config.rst:140 -msgid "Return ``1`` if the option exists, or return ``0`` otherwise." -msgstr "" - -#: ../../c-api/init_config.rst:145 -msgid "Get an integer configuration option." -msgstr "" - -#: ../../c-api/init_config.rst:147 ../../c-api/init_config.rst:156 -msgid "Set *\\*value*, and return ``0`` on success." -msgstr "" - -#: ../../c-api/init_config.rst:148 ../../c-api/init_config.rst:157 -#: ../../c-api/init_config.rst:172 ../../c-api/init_config.rst:200 -#: ../../c-api/init_config.rst:209 ../../c-api/init_config.rst:218 -#: ../../c-api/init_config.rst:233 ../../c-api/init_config.rst:249 -msgid "Set an error in *config* and return ``-1`` on error." -msgstr "" - -#: ../../c-api/init_config.rst:153 -msgid "" -"Get a string configuration option as a null-terminated UTF-8 encoded string." -msgstr "" - -#: ../../c-api/init_config.rst:159 -msgid "" -"*\\*value* can be set to ``NULL`` if the option is an optional string and " -"the option is unset." -msgstr "" - -#: ../../c-api/init_config.rst:162 -msgid "" -"On success, the string must be released with ``free(value)`` if it's not " -"``NULL``." -msgstr "" - -#: ../../c-api/init_config.rst:168 -msgid "" -"Get a string list configuration option as an array of null-terminated UTF-8 " -"encoded strings." -msgstr "" - -#: ../../c-api/init_config.rst:171 -msgid "Set *\\*length* and *\\*value*, and return ``0`` on success." -msgstr "" - -#: ../../c-api/init_config.rst:174 -msgid "" -"On success, the string list must be released with " -"``PyInitConfig_FreeStrList(length, items)``." -msgstr "" - -#: ../../c-api/init_config.rst:180 -msgid "Free memory of a string list created by ``PyInitConfig_GetStrList()``." -msgstr "" - -#: ../../c-api/init_config.rst:185 -msgid "Set Options" -msgstr "" - -#: ../../c-api/init_config.rst:190 -msgid "" -"Some configuration options have side effects on other options. This logic is" -" only implemented when ``Py_InitializeFromInitConfig()`` is called, not by " -"the \"Set\" functions below. For example, setting ``dev_mode`` to ``1`` does" -" not set ``faulthandler`` to ``1``." -msgstr "" - -#: ../../c-api/init_config.rst:197 -msgid "Set an integer configuration option." -msgstr "" - -#: ../../c-api/init_config.rst:199 ../../c-api/init_config.rst:208 -#: ../../c-api/init_config.rst:217 ../../c-api/init_config.rst:232 -#: ../../c-api/init_config.rst:248 ../../c-api/init_config.rst:591 -msgid "Return ``0`` on success." -msgstr "" - -#: ../../c-api/init_config.rst:205 -msgid "" -"Set a string configuration option from a null-terminated UTF-8 encoded " -"string. The string is copied." -msgstr "" - -#: ../../c-api/init_config.rst:214 -msgid "" -"Set a string list configuration option from an array of null-terminated " -"UTF-8 encoded strings. The string list is copied." -msgstr "" - -#: ../../c-api/init_config.rst:222 -msgid "Module" -msgstr "" - -#: ../../c-api/init_config.rst:226 -msgid "Add a built-in extension module to the table of built-in modules." -msgstr "" - -#: ../../c-api/init_config.rst:228 -msgid "" -"The new module can be imported by the name *name*, and uses the function " -"*initfunc* as the initialization function called on the first attempted " -"import." -msgstr "" - -#: ../../c-api/init_config.rst:235 -msgid "" -"If Python is initialized multiple times, ``PyInitConfig_AddModule()`` must " -"be called at each Python initialization." -msgstr "" - -#: ../../c-api/init_config.rst:238 -msgid "Similar to the :c:func:`PyImport_AppendInittab` function." -msgstr "" - -#: ../../c-api/init_config.rst:242 -msgid "Initialize Python" -msgstr "" - -#: ../../c-api/init_config.rst:246 -msgid "Initialize Python from the initialization configuration." -msgstr "" - -#: ../../c-api/init_config.rst:250 -msgid "" -"Set an exit code in *config* and return ``-1`` if Python wants to exit." -msgstr "" - -#: ../../c-api/init_config.rst:253 -msgid "See ``PyInitConfig_GetExitcode()`` for the exit code case." -msgstr "" - -#: ../../c-api/init_config.rst:259 -msgid "Configuration Options" -msgstr "" - -#: ../../c-api/init_config.rst:264 -msgid "Option" -msgstr "Opsi" - -#: ../../c-api/init_config.rst:265 -msgid "PyConfig/PyPreConfig member" -msgstr "" - -#: ../../c-api/init_config.rst:266 -msgid "Type" -msgstr "" - -#: ../../c-api/init_config.rst:267 -msgid "Visibility" -msgstr "" - -#: ../../c-api/init_config.rst:268 -msgid "``\"allocator\"``" -msgstr "" - -#: ../../c-api/init_config.rst:269 -msgid ":c:member:`allocator `" -msgstr "" - -#: ../../c-api/init_config.rst:270 ../../c-api/init_config.rst:294 -#: ../../c-api/init_config.rst:322 ../../c-api/init_config.rst:358 -#: ../../c-api/init_config.rst:366 ../../c-api/init_config.rst:378 -#: ../../c-api/init_config.rst:406 ../../c-api/init_config.rst:494 -#: ../../c-api/init_config.rst:522 ../../c-api/init_config.rst:576 -msgid "``int``" -msgstr "``int``" - -#: ../../c-api/init_config.rst:271 ../../c-api/init_config.rst:291 -#: ../../c-api/init_config.rst:299 ../../c-api/init_config.rst:303 -#: ../../c-api/init_config.rst:307 ../../c-api/init_config.rst:311 -#: ../../c-api/init_config.rst:315 ../../c-api/init_config.rst:319 -#: ../../c-api/init_config.rst:327 ../../c-api/init_config.rst:331 -#: ../../c-api/init_config.rst:335 ../../c-api/init_config.rst:347 -#: ../../c-api/init_config.rst:351 ../../c-api/init_config.rst:355 -#: ../../c-api/init_config.rst:359 ../../c-api/init_config.rst:363 -#: ../../c-api/init_config.rst:367 ../../c-api/init_config.rst:375 -#: ../../c-api/init_config.rst:387 ../../c-api/init_config.rst:391 -#: ../../c-api/init_config.rst:395 ../../c-api/init_config.rst:399 -#: ../../c-api/init_config.rst:411 ../../c-api/init_config.rst:415 -#: ../../c-api/init_config.rst:423 ../../c-api/init_config.rst:427 -#: ../../c-api/init_config.rst:439 ../../c-api/init_config.rst:451 -#: ../../c-api/init_config.rst:455 ../../c-api/init_config.rst:459 -#: ../../c-api/init_config.rst:463 ../../c-api/init_config.rst:467 -#: ../../c-api/init_config.rst:471 ../../c-api/init_config.rst:475 -#: ../../c-api/init_config.rst:479 ../../c-api/init_config.rst:483 -#: ../../c-api/init_config.rst:487 ../../c-api/init_config.rst:495 -#: ../../c-api/init_config.rst:503 ../../c-api/init_config.rst:507 -#: ../../c-api/init_config.rst:511 ../../c-api/init_config.rst:515 -#: ../../c-api/init_config.rst:519 ../../c-api/init_config.rst:527 -#: ../../c-api/init_config.rst:543 -msgid "Read-only" -msgstr "" - -#: ../../c-api/init_config.rst:272 -msgid "``\"argv\"``" -msgstr "" - -#: ../../c-api/init_config.rst:273 -msgid ":c:member:`argv `" -msgstr "" - -#: ../../c-api/init_config.rst:274 ../../c-api/init_config.rst:402 -#: ../../c-api/init_config.rst:410 ../../c-api/init_config.rst:530 -#: ../../c-api/init_config.rst:578 -msgid "``list[str]``" -msgstr "" - -#: ../../c-api/init_config.rst:275 ../../c-api/init_config.rst:279 -#: ../../c-api/init_config.rst:283 ../../c-api/init_config.rst:287 -#: ../../c-api/init_config.rst:295 ../../c-api/init_config.rst:323 -#: ../../c-api/init_config.rst:339 ../../c-api/init_config.rst:343 -#: ../../c-api/init_config.rst:371 ../../c-api/init_config.rst:379 -#: ../../c-api/init_config.rst:383 ../../c-api/init_config.rst:403 -#: ../../c-api/init_config.rst:407 ../../c-api/init_config.rst:419 -#: ../../c-api/init_config.rst:431 ../../c-api/init_config.rst:435 -#: ../../c-api/init_config.rst:443 ../../c-api/init_config.rst:447 -#: ../../c-api/init_config.rst:491 ../../c-api/init_config.rst:499 -#: ../../c-api/init_config.rst:523 ../../c-api/init_config.rst:531 -#: ../../c-api/init_config.rst:535 ../../c-api/init_config.rst:539 -msgid "Public" -msgstr "" - -#: ../../c-api/init_config.rst:276 -msgid "``\"base_exec_prefix\"``" -msgstr "" - -#: ../../c-api/init_config.rst:277 -msgid ":c:member:`base_exec_prefix `" -msgstr "" - -#: ../../c-api/init_config.rst:278 ../../c-api/init_config.rst:282 -#: ../../c-api/init_config.rst:286 ../../c-api/init_config.rst:298 -#: ../../c-api/init_config.rst:334 ../../c-api/init_config.rst:338 -#: ../../c-api/init_config.rst:342 ../../c-api/init_config.rst:350 -#: ../../c-api/init_config.rst:354 ../../c-api/init_config.rst:362 -#: ../../c-api/init_config.rst:430 ../../c-api/init_config.rst:434 -#: ../../c-api/init_config.rst:438 ../../c-api/init_config.rst:442 -#: ../../c-api/init_config.rst:450 ../../c-api/init_config.rst:454 -#: ../../c-api/init_config.rst:458 ../../c-api/init_config.rst:462 -#: ../../c-api/init_config.rst:482 ../../c-api/init_config.rst:486 -#: ../../c-api/init_config.rst:490 ../../c-api/init_config.rst:577 -msgid "``str``" -msgstr "``str``" - -#: ../../c-api/init_config.rst:280 -msgid "``\"base_executable\"``" -msgstr "" - -#: ../../c-api/init_config.rst:281 -msgid ":c:member:`base_executable `" -msgstr "" - -#: ../../c-api/init_config.rst:284 -msgid "``\"base_prefix\"``" -msgstr "" - -#: ../../c-api/init_config.rst:285 -msgid ":c:member:`base_prefix `" -msgstr "" - -#: ../../c-api/init_config.rst:288 -msgid "``\"buffered_stdio\"``" -msgstr "" - -#: ../../c-api/init_config.rst:289 -msgid ":c:member:`buffered_stdio `" -msgstr "" - -#: ../../c-api/init_config.rst:290 ../../c-api/init_config.rst:302 -#: ../../c-api/init_config.rst:306 ../../c-api/init_config.rst:310 -#: ../../c-api/init_config.rst:314 ../../c-api/init_config.rst:318 -#: ../../c-api/init_config.rst:326 ../../c-api/init_config.rst:330 -#: ../../c-api/init_config.rst:346 ../../c-api/init_config.rst:370 -#: ../../c-api/init_config.rst:374 ../../c-api/init_config.rst:382 -#: ../../c-api/init_config.rst:386 ../../c-api/init_config.rst:390 -#: ../../c-api/init_config.rst:394 ../../c-api/init_config.rst:398 -#: ../../c-api/init_config.rst:414 ../../c-api/init_config.rst:418 -#: ../../c-api/init_config.rst:422 ../../c-api/init_config.rst:426 -#: ../../c-api/init_config.rst:446 ../../c-api/init_config.rst:466 -#: ../../c-api/init_config.rst:470 ../../c-api/init_config.rst:474 -#: ../../c-api/init_config.rst:478 ../../c-api/init_config.rst:498 -#: ../../c-api/init_config.rst:502 ../../c-api/init_config.rst:506 -#: ../../c-api/init_config.rst:510 ../../c-api/init_config.rst:514 -#: ../../c-api/init_config.rst:518 ../../c-api/init_config.rst:526 -#: ../../c-api/init_config.rst:534 ../../c-api/init_config.rst:542 -#: ../../c-api/init_config.rst:575 -msgid "``bool``" -msgstr "``bool``" - -#: ../../c-api/init_config.rst:292 -msgid "``\"bytes_warning\"``" -msgstr "" - -#: ../../c-api/init_config.rst:293 -msgid ":c:member:`bytes_warning `" -msgstr "" - -#: ../../c-api/init_config.rst:296 -msgid "``\"check_hash_pycs_mode\"``" -msgstr "" - -#: ../../c-api/init_config.rst:297 -msgid ":c:member:`check_hash_pycs_mode `" -msgstr "" - -#: ../../c-api/init_config.rst:300 -msgid "``\"code_debug_ranges\"``" -msgstr "" - -#: ../../c-api/init_config.rst:301 -msgid ":c:member:`code_debug_ranges `" -msgstr "" - -#: ../../c-api/init_config.rst:304 -msgid "``\"coerce_c_locale\"``" -msgstr "" - -#: ../../c-api/init_config.rst:305 -msgid ":c:member:`coerce_c_locale `" -msgstr "" - -#: ../../c-api/init_config.rst:308 -msgid "``\"coerce_c_locale_warn\"``" -msgstr "" - -#: ../../c-api/init_config.rst:309 -msgid ":c:member:`coerce_c_locale_warn `" -msgstr "" - -#: ../../c-api/init_config.rst:312 -msgid "``\"configure_c_stdio\"``" -msgstr "" - -#: ../../c-api/init_config.rst:313 -msgid ":c:member:`configure_c_stdio `" -msgstr "" - -#: ../../c-api/init_config.rst:316 -msgid "``\"configure_locale\"``" -msgstr "" - -#: ../../c-api/init_config.rst:317 -msgid ":c:member:`configure_locale `" -msgstr "" - -#: ../../c-api/init_config.rst:320 -msgid "``\"cpu_count\"``" -msgstr "" - -#: ../../c-api/init_config.rst:321 -msgid ":c:member:`cpu_count `" -msgstr "" - -#: ../../c-api/init_config.rst:324 -msgid "``\"dev_mode\"``" -msgstr "" - -#: ../../c-api/init_config.rst:325 -msgid ":c:member:`dev_mode `" -msgstr "" - -#: ../../c-api/init_config.rst:328 -msgid "``\"dump_refs\"``" -msgstr "" - -#: ../../c-api/init_config.rst:329 -msgid ":c:member:`dump_refs `" -msgstr "" - -#: ../../c-api/init_config.rst:332 -msgid "``\"dump_refs_file\"``" -msgstr "" - -#: ../../c-api/init_config.rst:333 -msgid ":c:member:`dump_refs_file `" -msgstr "" - -#: ../../c-api/init_config.rst:336 -msgid "``\"exec_prefix\"``" -msgstr "" - -#: ../../c-api/init_config.rst:337 -msgid ":c:member:`exec_prefix `" -msgstr "" - -#: ../../c-api/init_config.rst:340 -msgid "``\"executable\"``" -msgstr "" - -#: ../../c-api/init_config.rst:341 -msgid ":c:member:`executable `" -msgstr "" - -#: ../../c-api/init_config.rst:344 -msgid "``\"faulthandler\"``" -msgstr "" - -#: ../../c-api/init_config.rst:345 -msgid ":c:member:`faulthandler `" -msgstr "" - -#: ../../c-api/init_config.rst:348 -msgid "``\"filesystem_encoding\"``" -msgstr "" - -#: ../../c-api/init_config.rst:349 -msgid ":c:member:`filesystem_encoding `" -msgstr "" - -#: ../../c-api/init_config.rst:352 -msgid "``\"filesystem_errors\"``" -msgstr "" - -#: ../../c-api/init_config.rst:353 -msgid ":c:member:`filesystem_errors `" -msgstr "" - -#: ../../c-api/init_config.rst:356 -msgid "``\"hash_seed\"``" -msgstr "" - -#: ../../c-api/init_config.rst:357 -msgid ":c:member:`hash_seed `" -msgstr "" - -#: ../../c-api/init_config.rst:360 -msgid "``\"home\"``" -msgstr "" - -#: ../../c-api/init_config.rst:361 -msgid ":c:member:`home `" -msgstr "" - -#: ../../c-api/init_config.rst:364 -msgid "``\"import_time\"``" -msgstr "" - -#: ../../c-api/init_config.rst:365 -msgid ":c:member:`import_time `" -msgstr "" - -#: ../../c-api/init_config.rst:368 -msgid "``\"inspect\"``" -msgstr "" - -#: ../../c-api/init_config.rst:369 -msgid ":c:member:`inspect `" -msgstr "" - -#: ../../c-api/init_config.rst:372 -msgid "``\"install_signal_handlers\"``" -msgstr "" - -#: ../../c-api/init_config.rst:373 -msgid ":c:member:`install_signal_handlers `" -msgstr "" - -#: ../../c-api/init_config.rst:376 -msgid "``\"int_max_str_digits\"``" -msgstr "" - -#: ../../c-api/init_config.rst:377 -msgid ":c:member:`int_max_str_digits `" -msgstr "" - -#: ../../c-api/init_config.rst:380 -msgid "``\"interactive\"``" -msgstr "" - -#: ../../c-api/init_config.rst:381 -msgid ":c:member:`interactive `" -msgstr "" - -#: ../../c-api/init_config.rst:384 -msgid "``\"isolated\"``" -msgstr "" - -#: ../../c-api/init_config.rst:385 -msgid ":c:member:`isolated `" -msgstr "" - -#: ../../c-api/init_config.rst:388 -msgid "``\"legacy_windows_fs_encoding\"``" -msgstr "" - -#: ../../c-api/init_config.rst:389 -msgid "" -":c:member:`legacy_windows_fs_encoding " -"`" -msgstr "" - -#: ../../c-api/init_config.rst:392 -msgid "``\"legacy_windows_stdio\"``" -msgstr "" - -#: ../../c-api/init_config.rst:393 -msgid ":c:member:`legacy_windows_stdio `" -msgstr "" - -#: ../../c-api/init_config.rst:396 -msgid "``\"malloc_stats\"``" -msgstr "" - -#: ../../c-api/init_config.rst:397 -msgid ":c:member:`malloc_stats `" -msgstr "" - -#: ../../c-api/init_config.rst:400 -msgid "``\"module_search_paths\"``" -msgstr "" - -#: ../../c-api/init_config.rst:401 -msgid ":c:member:`module_search_paths `" -msgstr "" - -#: ../../c-api/init_config.rst:404 -msgid "``\"optimization_level\"``" -msgstr "" - -#: ../../c-api/init_config.rst:405 -msgid ":c:member:`optimization_level `" -msgstr "" - -#: ../../c-api/init_config.rst:408 -msgid "``\"orig_argv\"``" -msgstr "" - -#: ../../c-api/init_config.rst:409 -msgid ":c:member:`orig_argv `" -msgstr "" - -#: ../../c-api/init_config.rst:412 -msgid "``\"parse_argv\"``" -msgstr "" - -#: ../../c-api/init_config.rst:413 -msgid ":c:member:`parse_argv `" -msgstr "" - -#: ../../c-api/init_config.rst:416 -msgid "``\"parser_debug\"``" -msgstr "" - -#: ../../c-api/init_config.rst:417 -msgid ":c:member:`parser_debug `" -msgstr "" - -#: ../../c-api/init_config.rst:420 -msgid "``\"pathconfig_warnings\"``" -msgstr "" - -#: ../../c-api/init_config.rst:421 -msgid ":c:member:`pathconfig_warnings `" -msgstr "" - -#: ../../c-api/init_config.rst:424 -msgid "``\"perf_profiling\"``" -msgstr "" - -#: ../../c-api/init_config.rst:425 -msgid ":c:member:`perf_profiling `" -msgstr "" - -#: ../../c-api/init_config.rst:428 -msgid "``\"platlibdir\"``" -msgstr "" - -#: ../../c-api/init_config.rst:429 -msgid ":c:member:`platlibdir `" -msgstr "" - -#: ../../c-api/init_config.rst:432 -msgid "``\"prefix\"``" -msgstr "" - -#: ../../c-api/init_config.rst:433 -msgid ":c:member:`prefix `" -msgstr "" - -#: ../../c-api/init_config.rst:436 -msgid "``\"program_name\"``" -msgstr "" - -#: ../../c-api/init_config.rst:437 -msgid ":c:member:`program_name `" -msgstr "" - -#: ../../c-api/init_config.rst:440 -msgid "``\"pycache_prefix\"``" -msgstr "" - -#: ../../c-api/init_config.rst:441 -msgid ":c:member:`pycache_prefix `" -msgstr "" - -#: ../../c-api/init_config.rst:444 -msgid "``\"quiet\"``" -msgstr "" - -#: ../../c-api/init_config.rst:445 -msgid ":c:member:`quiet `" -msgstr "" - -#: ../../c-api/init_config.rst:448 -msgid "``\"run_command\"``" -msgstr "" - -#: ../../c-api/init_config.rst:449 -msgid ":c:member:`run_command `" -msgstr "" - -#: ../../c-api/init_config.rst:452 -msgid "``\"run_filename\"``" -msgstr "" - -#: ../../c-api/init_config.rst:453 -msgid ":c:member:`run_filename `" -msgstr "" - -#: ../../c-api/init_config.rst:456 -msgid "``\"run_module\"``" -msgstr "" - -#: ../../c-api/init_config.rst:457 -msgid ":c:member:`run_module `" -msgstr "" - -#: ../../c-api/init_config.rst:460 -msgid "``\"run_presite\"``" -msgstr "" - -#: ../../c-api/init_config.rst:461 -msgid ":c:member:`run_presite `" -msgstr "" - -#: ../../c-api/init_config.rst:464 -msgid "``\"safe_path\"``" -msgstr "" - -#: ../../c-api/init_config.rst:465 -msgid ":c:member:`safe_path `" -msgstr "" - -#: ../../c-api/init_config.rst:468 -msgid "``\"show_ref_count\"``" -msgstr "" - -#: ../../c-api/init_config.rst:469 -msgid ":c:member:`show_ref_count `" -msgstr "" - -#: ../../c-api/init_config.rst:472 -msgid "``\"site_import\"``" -msgstr "" - -#: ../../c-api/init_config.rst:473 -msgid ":c:member:`site_import `" -msgstr "" - -#: ../../c-api/init_config.rst:476 -msgid "``\"skip_source_first_line\"``" -msgstr "" - -#: ../../c-api/init_config.rst:477 -msgid ":c:member:`skip_source_first_line `" -msgstr "" - -#: ../../c-api/init_config.rst:480 -msgid "``\"stdio_encoding\"``" -msgstr "" - -#: ../../c-api/init_config.rst:481 -msgid ":c:member:`stdio_encoding `" -msgstr "" - -#: ../../c-api/init_config.rst:484 -msgid "``\"stdio_errors\"``" -msgstr "" - -#: ../../c-api/init_config.rst:485 -msgid ":c:member:`stdio_errors `" -msgstr "" - -#: ../../c-api/init_config.rst:488 -msgid "``\"stdlib_dir\"``" -msgstr "" - -#: ../../c-api/init_config.rst:489 -msgid ":c:member:`stdlib_dir `" -msgstr "" - -#: ../../c-api/init_config.rst:492 -msgid "``\"tracemalloc\"``" -msgstr "" - -#: ../../c-api/init_config.rst:493 -msgid ":c:member:`tracemalloc `" -msgstr "" - -#: ../../c-api/init_config.rst:496 -msgid "``\"use_environment\"``" -msgstr "" - -#: ../../c-api/init_config.rst:497 -msgid ":c:member:`use_environment `" -msgstr "" - -#: ../../c-api/init_config.rst:500 -msgid "``\"use_frozen_modules\"``" -msgstr "" - -#: ../../c-api/init_config.rst:501 -msgid ":c:member:`use_frozen_modules `" -msgstr "" - -#: ../../c-api/init_config.rst:504 -msgid "``\"use_hash_seed\"``" -msgstr "" - -#: ../../c-api/init_config.rst:505 -msgid ":c:member:`use_hash_seed `" -msgstr "" - -#: ../../c-api/init_config.rst:508 -msgid "``\"use_system_logger\"``" -msgstr "" - -#: ../../c-api/init_config.rst:509 -msgid ":c:member:`use_system_logger `" -msgstr "" - -#: ../../c-api/init_config.rst:512 -msgid "``\"user_site_directory\"``" -msgstr "" - -#: ../../c-api/init_config.rst:513 -msgid ":c:member:`user_site_directory `" -msgstr "" - -#: ../../c-api/init_config.rst:516 -msgid "``\"utf8_mode\"``" -msgstr "" - -#: ../../c-api/init_config.rst:517 -msgid ":c:member:`utf8_mode `" -msgstr "" - -#: ../../c-api/init_config.rst:520 -msgid "``\"verbose\"``" -msgstr "" - -#: ../../c-api/init_config.rst:521 -msgid ":c:member:`verbose `" -msgstr "" - -#: ../../c-api/init_config.rst:524 -msgid "``\"warn_default_encoding\"``" -msgstr "" - -#: ../../c-api/init_config.rst:525 -msgid ":c:member:`warn_default_encoding `" -msgstr "" - -#: ../../c-api/init_config.rst:528 -msgid "``\"warnoptions\"``" -msgstr "" - -#: ../../c-api/init_config.rst:529 -msgid ":c:member:`warnoptions `" -msgstr "" - -#: ../../c-api/init_config.rst:532 -msgid "``\"write_bytecode\"``" -msgstr "" - -#: ../../c-api/init_config.rst:533 -msgid ":c:member:`write_bytecode `" -msgstr "" - -#: ../../c-api/init_config.rst:536 -msgid "``\"xoptions\"``" -msgstr "" - -#: ../../c-api/init_config.rst:537 -msgid ":c:member:`xoptions `" -msgstr "" - -#: ../../c-api/init_config.rst:538 ../../c-api/init_config.rst:579 -msgid "``dict[str, str]``" -msgstr "" - -#: ../../c-api/init_config.rst:540 -msgid "``\"_pystats\"``" -msgstr "" - -#: ../../c-api/init_config.rst:541 -msgid ":c:member:`_pystats `" -msgstr "" - -#: ../../c-api/init_config.rst:545 -msgid "Visibility:" -msgstr "" - -#: ../../c-api/init_config.rst:547 -msgid "" -"Public: Can by get by :c:func:`PyConfig_Get` and set by " -":c:func:`PyConfig_Set`." -msgstr "" - -#: ../../c-api/init_config.rst:549 -msgid "" -"Read-only: Can by get by :c:func:`PyConfig_Get`, but cannot be set by " -":c:func:`PyConfig_Set`." -msgstr "" - -#: ../../c-api/init_config.rst:554 -msgid "Runtime Python configuration API" -msgstr "" - -#: ../../c-api/init_config.rst:556 -msgid "" -"At runtime, it's possible to get and set configuration options using " -":c:func:`PyConfig_Get` and :c:func:`PyConfig_Set` functions." -msgstr "" - -#: ../../c-api/init_config.rst:562 -msgid "" -"Some options are read from the :mod:`sys` attributes. For example, the " -"option ``\"argv\"`` is read from :data:`sys.argv`." -msgstr "" - -#: ../../c-api/init_config.rst:568 -msgid "" -"Get the current runtime value of a configuration option as a Python object." -msgstr "" - -#: ../../c-api/init_config.rst:570 ../../c-api/init_config.rst:601 -msgid "Return a new reference on success." -msgstr "" - -#: ../../c-api/init_config.rst:571 ../../c-api/init_config.rst:602 -msgid "Set an exception and return ``NULL`` on error." -msgstr "" - -#: ../../c-api/init_config.rst:573 -msgid "The object type depends on the configuration option. It can be:" -msgstr "" - -#: ../../c-api/init_config.rst:581 ../../c-api/init_config.rst:604 -#: ../../c-api/init_config.rst:619 -msgid "" -"The caller must have an :term:`attached thread state`. The function cannot " -"be called before Python initialization nor after Python finalization." -msgstr "" - -#: ../../c-api/init_config.rst:589 -msgid "Similar to :c:func:`PyConfig_Get`, but get the value as a C int." -msgstr "" - -#: ../../c-api/init_config.rst:592 -msgid "Set an exception and return ``-1`` on error." -msgstr "" - -#: ../../c-api/init_config.rst:599 -msgid "Get all configuration option names as a ``frozenset``." -msgstr "" - -#: ../../c-api/init_config.rst:612 -msgid "Set the current runtime value of a configuration option." -msgstr "" - -#: ../../c-api/init_config.rst:614 -msgid "Raise a :exc:`ValueError` if there is no option *name*." -msgstr "" - -#: ../../c-api/init_config.rst:615 -msgid "Raise a :exc:`ValueError` if *value* is an invalid value." -msgstr "" - -#: ../../c-api/init_config.rst:616 -msgid "Raise a :exc:`ValueError` if the option is read-only (cannot be set)." -msgstr "" - -#: ../../c-api/init_config.rst:617 -msgid "Raise a :exc:`TypeError` if *value* has not the proper type." -msgstr "" - -#: ../../c-api/init_config.rst:622 -msgid "" -"Raises an :ref:`auditing event ` ``cpython.PyConfig_Set`` with " -"arguments ``name``, ``value``." -msgstr "" - -#: ../../c-api/init_config.rst:630 -msgid "PyConfig C API" -msgstr "" - -#: ../../c-api/init_config.rst:634 -msgid "" -"Python can be initialized with :c:func:`Py_InitializeFromConfig` and the " -":c:type:`PyConfig` structure. It can be preinitialized with " -":c:func:`Py_PreInitialize` and the :c:type:`PyPreConfig` structure." -msgstr "" - -#: ../../c-api/init_config.rst:638 -msgid "There are two kinds of configuration:" -msgstr "" - -#: ../../c-api/init_config.rst:640 -msgid "" -"The :ref:`Python Configuration ` can be used to build a " -"customized Python which behaves as the regular Python. For example, " -"environment variables and command line arguments are used to configure " -"Python." -msgstr "" - -#: ../../c-api/init_config.rst:645 -msgid "" -"The :ref:`Isolated Configuration ` can be used to embed " -"Python into an application. It isolates Python from the system. For example," -" environment variables are ignored, the LC_CTYPE locale is left unchanged " -"and no signal handler is registered." -msgstr "" - -#: ../../c-api/init_config.rst:656 -msgid ":pep:`587` \"Python Initialization Configuration\"." -msgstr "" - -#: ../../c-api/init_config.rst:662 -msgid "Example of customized Python always running in isolated mode::" -msgstr "" - -#: ../../c-api/init_config.rst:664 -msgid "" -"int main(int argc, char **argv)\n" -"{\n" -" PyStatus status;\n" -"\n" -" PyConfig config;\n" -" PyConfig_InitPythonConfig(&config);\n" -" config.isolated = 1;\n" -"\n" -" /* Decode command line arguments.\n" -" Implicitly preinitialize Python (in isolated mode). */\n" -" status = PyConfig_SetBytesArgv(&config, argc, argv);\n" -" if (PyStatus_Exception(status)) {\n" -" goto exception;\n" -" }\n" -"\n" -" status = Py_InitializeFromConfig(&config);\n" -" if (PyStatus_Exception(status)) {\n" -" goto exception;\n" -" }\n" -" PyConfig_Clear(&config);\n" -"\n" -" return Py_RunMain();\n" -"\n" -"exception:\n" -" PyConfig_Clear(&config);\n" -" if (PyStatus_IsExit(status)) {\n" -" return status.exitcode;\n" -" }\n" -" /* Display the error message and exit the process with\n" -" non-zero exit code */\n" -" Py_ExitStatusException(status);\n" -"}" -msgstr "" - -#: ../../c-api/init_config.rst:699 -msgid "PyWideStringList" -msgstr "" - -#: ../../c-api/init_config.rst:703 -msgid "List of ``wchar_t*`` strings." -msgstr "" - -#: ../../c-api/init_config.rst:705 -msgid "" -"If *length* is non-zero, *items* must be non-``NULL`` and all strings must " -"be non-``NULL``." -msgstr "" - -#: ../../c-api/init_config.rst:710 -msgid "Methods:" -msgstr "" - -#: ../../c-api/init_config.rst:714 -msgid "Append *item* to *list*." -msgstr "" - -#: ../../c-api/init_config.rst:716 ../../c-api/init_config.rst:727 -msgid "Python must be preinitialized to call this function." -msgstr "" - -#: ../../c-api/init_config.rst:720 -msgid "Insert *item* into *list* at *index*." -msgstr "" - -#: ../../c-api/init_config.rst:722 -msgid "" -"If *index* is greater than or equal to *list* length, append *item* to " -"*list*." -msgstr "" - -#: ../../c-api/init_config.rst:725 -msgid "*index* must be greater than or equal to ``0``." -msgstr "" - -#: ../../c-api/init_config.rst:731 ../../c-api/init_config.rst:751 -#: ../../c-api/init_config.rst:858 ../../c-api/init_config.rst:1177 -msgid "Structure fields:" -msgstr "" - -#: ../../c-api/init_config.rst:735 -msgid "List length." -msgstr "" - -#: ../../c-api/init_config.rst:739 -msgid "List items." -msgstr "" - -#: ../../c-api/init_config.rst:742 -msgid "PyStatus" -msgstr "" - -#: ../../c-api/init_config.rst:746 -msgid "" -"Structure to store an initialization function status: success, error or " -"exit." -msgstr "" - -#: ../../c-api/init_config.rst:749 -msgid "" -"For an error, it can store the C function name which created the error." -msgstr "" - -#: ../../c-api/init_config.rst:755 -msgid "Exit code. Argument passed to ``exit()``." -msgstr "" - -#: ../../c-api/init_config.rst:759 -msgid "Error message." -msgstr "" - -#: ../../c-api/init_config.rst:763 -msgid "Name of the function which created an error, can be ``NULL``." -msgstr "" - -#: ../../c-api/init_config.rst:767 -msgid "Functions to create a status:" -msgstr "" - -#: ../../c-api/init_config.rst:771 -msgid "Success." -msgstr "" - -#: ../../c-api/init_config.rst:775 -msgid "Initialization error with a message." -msgstr "" - -#: ../../c-api/init_config.rst:777 -msgid "*err_msg* must not be ``NULL``." -msgstr "" - -#: ../../c-api/init_config.rst:781 -msgid "Memory allocation failure (out of memory)." -msgstr "" - -#: ../../c-api/init_config.rst:785 -msgid "Exit Python with the specified exit code." -msgstr "" - -#: ../../c-api/init_config.rst:787 -msgid "Functions to handle a status:" -msgstr "" - -#: ../../c-api/init_config.rst:791 -msgid "" -"Is the status an error or an exit? If true, the exception must be handled; " -"by calling :c:func:`Py_ExitStatusException` for example." -msgstr "" - -#: ../../c-api/init_config.rst:796 -msgid "Is the result an error?" -msgstr "" - -#: ../../c-api/init_config.rst:800 -msgid "Is the result an exit?" -msgstr "" - -#: ../../c-api/init_config.rst:804 -msgid "" -"Call ``exit(exitcode)`` if *status* is an exit. Print the error message and " -"exit with a non-zero exit code if *status* is an error. Must only be called" -" if ``PyStatus_Exception(status)`` is non-zero." -msgstr "" - -#: ../../c-api/init_config.rst:809 -msgid "" -"Internally, Python uses macros which set ``PyStatus.func``, whereas " -"functions to create a status set ``func`` to ``NULL``." -msgstr "" - -#: ../../c-api/init_config.rst:812 -msgid "Example::" -msgstr "Contoh::" - -#: ../../c-api/init_config.rst:814 -msgid "" -"PyStatus alloc(void **ptr, size_t size)\n" -"{\n" -" *ptr = PyMem_RawMalloc(size);\n" -" if (*ptr == NULL) {\n" -" return PyStatus_NoMemory();\n" -" }\n" -" return PyStatus_Ok();\n" -"}\n" -"\n" -"int main(int argc, char **argv)\n" -"{\n" -" void *ptr;\n" -" PyStatus status = alloc(&ptr, 16);\n" -" if (PyStatus_Exception(status)) {\n" -" Py_ExitStatusException(status);\n" -" }\n" -" PyMem_Free(ptr);\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../c-api/init_config.rst:836 -msgid "PyPreConfig" -msgstr "" - -#: ../../c-api/init_config.rst:840 -msgid "Structure used to preinitialize Python." -msgstr "" - -#: ../../c-api/init_config.rst:844 -msgid "Function to initialize a preconfiguration:" -msgstr "" - -#: ../../c-api/init_config.rst:848 -msgid "" -"Initialize the preconfiguration with :ref:`Python Configuration `." -msgstr "" - -#: ../../c-api/init_config.rst:853 -msgid "" -"Initialize the preconfiguration with :ref:`Isolated Configuration `." -msgstr "" - -#: ../../c-api/init_config.rst:862 -msgid "Name of the Python memory allocators:" -msgstr "" - -#: ../../c-api/init_config.rst:864 -msgid "" -"``PYMEM_ALLOCATOR_NOT_SET`` (``0``): don't change memory allocators (use " -"defaults)." -msgstr "" - -#: ../../c-api/init_config.rst:866 -msgid "" -"``PYMEM_ALLOCATOR_DEFAULT`` (``1``): :ref:`default memory allocators " -"`." -msgstr "" - -#: ../../c-api/init_config.rst:868 -msgid "" -"``PYMEM_ALLOCATOR_DEBUG`` (``2``): :ref:`default memory allocators ` with :ref:`debug hooks `." -msgstr "" - -#: ../../c-api/init_config.rst:871 -msgid "``PYMEM_ALLOCATOR_MALLOC`` (``3``): use ``malloc()`` of the C library." -msgstr "" - -#: ../../c-api/init_config.rst:872 -msgid "" -"``PYMEM_ALLOCATOR_MALLOC_DEBUG`` (``4``): force usage of ``malloc()`` with " -":ref:`debug hooks `." -msgstr "" - -#: ../../c-api/init_config.rst:874 -msgid "" -"``PYMEM_ALLOCATOR_PYMALLOC`` (``5``): :ref:`Python pymalloc memory allocator" -" `." -msgstr "" - -#: ../../c-api/init_config.rst:876 -msgid "" -"``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` (``6``): :ref:`Python pymalloc memory " -"allocator ` with :ref:`debug hooks `." -msgstr "" - -#: ../../c-api/init_config.rst:879 -msgid "" -"``PYMEM_ALLOCATOR_MIMALLOC`` (``6``): use ``mimalloc``, a fast malloc " -"replacement." -msgstr "" - -#: ../../c-api/init_config.rst:881 -msgid "" -"``PYMEM_ALLOCATOR_MIMALLOC_DEBUG`` (``7``): use ``mimalloc``, a fast malloc " -"replacement with :ref:`debug hooks `." -msgstr "" - -#: ../../c-api/init_config.rst:885 -msgid "" -"``PYMEM_ALLOCATOR_PYMALLOC`` and ``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` are not " -"supported if Python is :option:`configured using --without-pymalloc " -"<--without-pymalloc>`." -msgstr "" - -#: ../../c-api/init_config.rst:889 -msgid "" -"``PYMEM_ALLOCATOR_MIMALLOC`` and ``PYMEM_ALLOCATOR_MIMALLOC_DEBUG`` are not " -"supported if Python is :option:`configured using --without-mimalloc " -"<--without-mimalloc>` or if the underlying atomic support isn't available." -msgstr "" - -#: ../../c-api/init_config.rst:894 -msgid "See :ref:`Memory Management `." -msgstr "" - -#: ../../c-api/init_config.rst:896 -msgid "Default: ``PYMEM_ALLOCATOR_NOT_SET``." -msgstr "" - -#: ../../c-api/init_config.rst:900 -msgid "Set the LC_CTYPE locale to the user preferred locale." -msgstr "" - -#: ../../c-api/init_config.rst:902 -msgid "" -"If equals to ``0``, set :c:member:`~PyPreConfig.coerce_c_locale` and " -":c:member:`~PyPreConfig.coerce_c_locale_warn` members to ``0``." -msgstr "" - -#: ../../c-api/init_config.rst:905 ../../c-api/init_config.rst:916 -msgid "See the :term:`locale encoding`." -msgstr "" - -#: ../../c-api/init_config.rst:907 ../../c-api/init_config.rst:962 -#: ../../c-api/init_config.rst:1333 -msgid "Default: ``1`` in Python config, ``0`` in isolated config." -msgstr "" - -#: ../../c-api/init_config.rst:911 -msgid "If equals to ``2``, coerce the C locale." -msgstr "" - -#: ../../c-api/init_config.rst:913 -msgid "" -"If equals to ``1``, read the LC_CTYPE locale to decide if it should be " -"coerced." -msgstr "" - -#: ../../c-api/init_config.rst:918 ../../c-api/init_config.rst:924 -msgid "Default: ``-1`` in Python config, ``0`` in isolated config." -msgstr "" - -#: ../../c-api/init_config.rst:922 -msgid "If non-zero, emit a warning if the C locale is coerced." -msgstr "" - -#: ../../c-api/init_config.rst:928 -msgid "" -":ref:`Python Development Mode `: see :c:member:`PyConfig.dev_mode`." -msgstr "" - -#: ../../c-api/init_config.rst:931 ../../c-api/init_config.rst:1342 -#: ../../c-api/init_config.rst:1398 ../../c-api/init_config.rst:1892 -msgid "Default: ``-1`` in Python mode, ``0`` in isolated mode." -msgstr "" - -#: ../../c-api/init_config.rst:935 -msgid "Isolated mode: see :c:member:`PyConfig.isolated`." -msgstr "" - -#: ../../c-api/init_config.rst:937 ../../c-api/init_config.rst:1569 -msgid "Default: ``0`` in Python mode, ``1`` in isolated mode." -msgstr "" - -#: ../../c-api/init_config.rst:941 -msgid "If non-zero:" -msgstr "" - -#: ../../c-api/init_config.rst:943 -msgid "Set :c:member:`PyPreConfig.utf8_mode` to ``0``," -msgstr "" - -#: ../../c-api/init_config.rst:944 -msgid "Set :c:member:`PyConfig.filesystem_encoding` to ``\"mbcs\"``," -msgstr "" - -#: ../../c-api/init_config.rst:945 -msgid "Set :c:member:`PyConfig.filesystem_errors` to ``\"replace\"``." -msgstr "" - -#: ../../c-api/init_config.rst:947 -msgid "" -"Initialized from the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` environment " -"variable value." -msgstr "" - -#: ../../c-api/init_config.rst:950 ../../c-api/init_config.rst:1583 -msgid "" -"Only available on Windows. ``#ifdef MS_WINDOWS`` macro can be used for " -"Windows specific code." -msgstr "" - -#: ../../c-api/init_config.rst:953 ../../c-api/init_config.rst:1281 -#: ../../c-api/init_config.rst:1288 ../../c-api/init_config.rst:1355 -#: ../../c-api/init_config.rst:1487 ../../c-api/init_config.rst:1505 -#: ../../c-api/init_config.rst:1519 ../../c-api/init_config.rst:1586 -#: ../../c-api/init_config.rst:1600 ../../c-api/init_config.rst:1660 -#: ../../c-api/init_config.rst:1712 ../../c-api/init_config.rst:1774 -#: ../../c-api/init_config.rst:1828 ../../c-api/init_config.rst:1857 -#: ../../c-api/init_config.rst:1971 ../../c-api/init_config.rst:2018 -msgid "Default: ``0``." -msgstr "" - -#: ../../c-api/init_config.rst:957 -msgid "" -"If non-zero, :c:func:`Py_PreInitializeFromArgs` and " -":c:func:`Py_PreInitializeFromBytesArgs` parse their ``argv`` argument the " -"same way the regular Python parses command line arguments: see :ref:`Command" -" Line Arguments `." -msgstr "" - -#: ../../c-api/init_config.rst:966 -msgid "" -"Use :ref:`environment variables `? See " -":c:member:`PyConfig.use_environment`." -msgstr "" - -#: ../../c-api/init_config.rst:969 ../../c-api/init_config.rst:1933 -msgid "Default: ``1`` in Python config and ``0`` in isolated config." -msgstr "" - -#: ../../c-api/init_config.rst:973 -msgid "If non-zero, enable the :ref:`Python UTF-8 Mode `." -msgstr "" - -#: ../../c-api/init_config.rst:975 -msgid "" -"Set to ``0`` or ``1`` by the :option:`-X utf8 <-X>` command line option and " -"the :envvar:`PYTHONUTF8` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:978 -msgid "Also set to ``1`` if the ``LC_CTYPE`` locale is ``C`` or ``POSIX``." -msgstr "" - -#: ../../c-api/init_config.rst:980 -msgid "Default: ``-1`` in Python config and ``0`` in isolated config." -msgstr "" - -#: ../../c-api/init_config.rst:986 -msgid "Preinitialize Python with PyPreConfig" -msgstr "" - -#: ../../c-api/init_config.rst:988 -msgid "The preinitialization of Python:" -msgstr "" - -#: ../../c-api/init_config.rst:990 -msgid "Set the Python memory allocators (:c:member:`PyPreConfig.allocator`)" -msgstr "" - -#: ../../c-api/init_config.rst:991 -msgid "Configure the LC_CTYPE locale (:term:`locale encoding`)" -msgstr "" - -#: ../../c-api/init_config.rst:992 -msgid "" -"Set the :ref:`Python UTF-8 Mode ` " -"(:c:member:`PyPreConfig.utf8_mode`)" -msgstr "" - -#: ../../c-api/init_config.rst:995 -msgid "" -"The current preconfiguration (``PyPreConfig`` type) is stored in " -"``_PyRuntime.preconfig``." -msgstr "" - -#: ../../c-api/init_config.rst:998 -msgid "Functions to preinitialize Python:" -msgstr "" - -#: ../../c-api/init_config.rst:1002 ../../c-api/init_config.rst:1008 -#: ../../c-api/init_config.rst:1017 -msgid "Preinitialize Python from *preconfig* preconfiguration." -msgstr "" - -#: ../../c-api/init_config.rst:1004 ../../c-api/init_config.rst:1013 -#: ../../c-api/init_config.rst:1022 -msgid "*preconfig* must not be ``NULL``." -msgstr "" - -#: ../../c-api/init_config.rst:1010 -msgid "" -"Parse *argv* command line arguments (bytes strings) if " -":c:member:`~PyPreConfig.parse_argv` of *preconfig* is non-zero." -msgstr "" - -#: ../../c-api/init_config.rst:1019 -msgid "" -"Parse *argv* command line arguments (wide strings) if " -":c:member:`~PyPreConfig.parse_argv` of *preconfig* is non-zero." -msgstr "" - -#: ../../c-api/init_config.rst:1024 ../../c-api/init_config.rst:2041 -msgid "" -"The caller is responsible to handle exceptions (error or exit) using " -":c:func:`PyStatus_Exception` and :c:func:`Py_ExitStatusException`." -msgstr "" - -#: ../../c-api/init_config.rst:1027 -msgid "" -"For :ref:`Python Configuration ` " -"(:c:func:`PyPreConfig_InitPythonConfig`), if Python is initialized with " -"command line arguments, the command line arguments must also be passed to " -"preinitialize Python, since they have an effect on the pre-configuration " -"like encodings. For example, the :option:`-X utf8 <-X>` command line option " -"enables the :ref:`Python UTF-8 Mode `." -msgstr "" - -#: ../../c-api/init_config.rst:1034 -msgid "" -"``PyMem_SetAllocator()`` can be called after :c:func:`Py_PreInitialize` and " -"before :c:func:`Py_InitializeFromConfig` to install a custom memory " -"allocator. It can be called before :c:func:`Py_PreInitialize` if " -":c:member:`PyPreConfig.allocator` is set to ``PYMEM_ALLOCATOR_NOT_SET``." -msgstr "" - -#: ../../c-api/init_config.rst:1039 -msgid "" -"Python memory allocation functions like :c:func:`PyMem_RawMalloc` must not " -"be used before the Python preinitialization, whereas calling directly " -"``malloc()`` and ``free()`` is always safe. :c:func:`Py_DecodeLocale` must " -"not be called before the Python preinitialization." -msgstr "" - -#: ../../c-api/init_config.rst:1044 -msgid "" -"Example using the preinitialization to enable the :ref:`Python UTF-8 Mode " -"`::" -msgstr "" - -#: ../../c-api/init_config.rst:1047 -msgid "" -"PyStatus status;\n" -"PyPreConfig preconfig;\n" -"PyPreConfig_InitPythonConfig(&preconfig);\n" -"\n" -"preconfig.utf8_mode = 1;\n" -"\n" -"status = Py_PreInitialize(&preconfig);\n" -"if (PyStatus_Exception(status)) {\n" -" Py_ExitStatusException(status);\n" -"}\n" -"\n" -"/* at this point, Python speaks UTF-8 */\n" -"\n" -"Py_Initialize();\n" -"/* ... use Python API here ... */\n" -"Py_Finalize();" -msgstr "" - -#: ../../c-api/init_config.rst:1066 -msgid "PyConfig" -msgstr "" - -#: ../../c-api/init_config.rst:1070 -msgid "Structure containing most parameters to configure Python." -msgstr "" - -#: ../../c-api/init_config.rst:1072 -msgid "" -"When done, the :c:func:`PyConfig_Clear` function must be used to release the" -" configuration memory." -msgstr "" - -#: ../../c-api/init_config.rst:1077 -msgid "Structure methods:" -msgstr "" - -#: ../../c-api/init_config.rst:1081 -msgid "" -"Initialize configuration with the :ref:`Python Configuration `." -msgstr "" - -#: ../../c-api/init_config.rst:1086 -msgid "" -"Initialize configuration with the :ref:`Isolated Configuration `." -msgstr "" - -#: ../../c-api/init_config.rst:1091 -msgid "Copy the wide character string *str* into ``*config_str``." -msgstr "" - -#: ../../c-api/init_config.rst:1093 ../../c-api/init_config.rst:1100 -#: ../../c-api/init_config.rst:1107 ../../c-api/init_config.rst:1115 -#: ../../c-api/init_config.rst:1121 ../../c-api/init_config.rst:1138 -msgid ":ref:`Preinitialize Python ` if needed." -msgstr "" - -#: ../../c-api/init_config.rst:1097 -msgid "" -"Decode *str* using :c:func:`Py_DecodeLocale` and set the result into " -"``*config_str``." -msgstr "" - -#: ../../c-api/init_config.rst:1104 -msgid "" -"Set command line arguments (:c:member:`~PyConfig.argv` member of *config*) " -"from the *argv* list of wide character strings." -msgstr "" - -#: ../../c-api/init_config.rst:1111 -msgid "" -"Set command line arguments (:c:member:`~PyConfig.argv` member of *config*) " -"from the *argv* list of bytes strings. Decode bytes using " -":c:func:`Py_DecodeLocale`." -msgstr "" - -#: ../../c-api/init_config.rst:1119 -msgid "Set the list of wide strings *list* to *length* and *items*." -msgstr "" - -#: ../../c-api/init_config.rst:1125 -msgid "Read all Python configuration." -msgstr "" - -#: ../../c-api/init_config.rst:1127 -msgid "Fields which are already initialized are left unchanged." -msgstr "" - -#: ../../c-api/init_config.rst:1129 -msgid "" -"Fields for :ref:`path configuration ` are no longer " -"calculated or modified when calling this function, as of Python 3.11." -msgstr "" - -#: ../../c-api/init_config.rst:1132 ../../c-api/init_config.rst:1689 -msgid "" -"The :c:func:`PyConfig_Read` function only parses :c:member:`PyConfig.argv` " -"arguments once: :c:member:`PyConfig.parse_argv` is set to ``2`` after " -"arguments are parsed. Since Python arguments are stripped from " -":c:member:`PyConfig.argv`, parsing arguments twice would parse the " -"application options as Python options." -msgstr "" - -#: ../../c-api/init_config.rst:1140 -msgid "" -"The :c:member:`PyConfig.argv` arguments are now only parsed once, " -":c:member:`PyConfig.parse_argv` is set to ``2`` after arguments are parsed, " -"and arguments are only parsed if :c:member:`PyConfig.parse_argv` equals " -"``1``." -msgstr "" - -#: ../../c-api/init_config.rst:1146 -msgid "" -":c:func:`PyConfig_Read` no longer calculates all paths, and so fields listed" -" under :ref:`Python Path Configuration ` may no longer be " -"updated until :c:func:`Py_InitializeFromConfig` is called." -msgstr "" - -#: ../../c-api/init_config.rst:1154 -msgid "Release configuration memory." -msgstr "" - -#: ../../c-api/init_config.rst:1156 -msgid "" -"Most ``PyConfig`` methods :ref:`preinitialize Python ` if needed." -" In that case, the Python preinitialization configuration " -"(:c:type:`PyPreConfig`) in based on the :c:type:`PyConfig`. If configuration" -" fields which are in common with :c:type:`PyPreConfig` are tuned, they must " -"be set before calling a :c:type:`PyConfig` method:" -msgstr "" - -#: ../../c-api/init_config.rst:1162 -msgid ":c:member:`PyConfig.dev_mode`" -msgstr "" - -#: ../../c-api/init_config.rst:1163 -msgid ":c:member:`PyConfig.isolated`" -msgstr "" - -#: ../../c-api/init_config.rst:1164 -msgid ":c:member:`PyConfig.parse_argv`" -msgstr "" - -#: ../../c-api/init_config.rst:1165 -msgid ":c:member:`PyConfig.use_environment`" -msgstr "" - -#: ../../c-api/init_config.rst:1167 -msgid "" -"Moreover, if :c:func:`PyConfig_SetArgv` or :c:func:`PyConfig_SetBytesArgv` " -"is used, this method must be called before other methods, since the " -"preinitialization configuration depends on command line arguments (if " -":c:member:`~PyConfig.parse_argv` is non-zero)." -msgstr "" - -#: ../../c-api/init_config.rst:1172 -msgid "" -"The caller of these methods is responsible to handle exceptions (error or " -"exit) using ``PyStatus_Exception()`` and ``Py_ExitStatusException()``." -msgstr "" - -#: ../../c-api/init_config.rst:1185 -msgid "" -"Set :data:`sys.argv` command line arguments based on " -":c:member:`~PyConfig.argv`. These parameters are similar to those passed to" -" the program's :c:func:`main` function with the difference that the first " -"entry should refer to the script file to be executed rather than the " -"executable hosting the Python interpreter. If there isn't a script that " -"will be run, the first entry in :c:member:`~PyConfig.argv` can be an empty " -"string." -msgstr "" - -#: ../../c-api/init_config.rst:1193 -msgid "" -"Set :c:member:`~PyConfig.parse_argv` to ``1`` to parse " -":c:member:`~PyConfig.argv` the same way the regular Python parses Python " -"command line arguments and then to strip Python arguments from " -":c:member:`~PyConfig.argv`." -msgstr "" - -#: ../../c-api/init_config.rst:1198 -msgid "" -"If :c:member:`~PyConfig.argv` is empty, an empty string is added to ensure " -"that :data:`sys.argv` always exists and is never empty." -msgstr "" - -#: ../../c-api/init_config.rst:1201 ../../c-api/init_config.rst:1228 -#: ../../c-api/init_config.rst:1242 ../../c-api/init_config.rst:1252 -#: ../../c-api/init_config.rst:1363 ../../c-api/init_config.rst:1372 -#: ../../c-api/init_config.rst:1383 ../../c-api/init_config.rst:1474 -#: ../../c-api/init_config.rst:1630 ../../c-api/init_config.rst:1731 -#: ../../c-api/init_config.rst:1750 ../../c-api/init_config.rst:1765 -#: ../../c-api/init_config.rst:1782 ../../c-api/init_config.rst:1795 -#: ../../c-api/init_config.rst:1803 ../../c-api/init_config.rst:1817 -#: ../../c-api/init_config.rst:1920 -msgid "Default: ``NULL``." -msgstr "" - -#: ../../c-api/init_config.rst:1203 -msgid "See also the :c:member:`~PyConfig.orig_argv` member." -msgstr "" - -#: ../../c-api/init_config.rst:1207 -msgid "" -"If equals to zero, ``Py_RunMain()`` prepends a potentially unsafe path to " -":data:`sys.path` at startup:" -msgstr "" - -#: ../../c-api/init_config.rst:1210 -msgid "" -"If :c:member:`argv[0] ` is equal to ``L\"-m\"`` (``python -m " -"module``), prepend the current working directory." -msgstr "" - -#: ../../c-api/init_config.rst:1212 -msgid "" -"If running a script (``python script.py``), prepend the script's directory." -" If it's a symbolic link, resolve symbolic links." -msgstr "" - -#: ../../c-api/init_config.rst:1214 -msgid "" -"Otherwise (``python -c code`` and ``python``), prepend an empty string, " -"which means the current working directory." -msgstr "" - -#: ../../c-api/init_config.rst:1217 -msgid "" -"Set to ``1`` by the :option:`-P` command line option and the " -":envvar:`PYTHONSAFEPATH` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1220 -msgid "Default: ``0`` in Python config, ``1`` in isolated config." -msgstr "" - -#: ../../c-api/init_config.rst:1226 -msgid ":data:`sys.base_exec_prefix`." -msgstr "" - -#: ../../c-api/init_config.rst:1230 ../../c-api/init_config.rst:1244 -#: ../../c-api/init_config.rst:1254 ../../c-api/init_config.rst:1374 -#: ../../c-api/init_config.rst:1385 ../../c-api/init_config.rst:1647 -#: ../../c-api/init_config.rst:1733 -msgid "" -"Part of the :ref:`Python Path Configuration ` output." -msgstr "" - -#: ../../c-api/init_config.rst:1232 -msgid "See also :c:member:`PyConfig.exec_prefix`." -msgstr "" - -#: ../../c-api/init_config.rst:1236 -msgid "Python base executable: :data:`sys._base_executable`." -msgstr "" - -#: ../../c-api/init_config.rst:1238 -msgid "Set by the :envvar:`__PYVENV_LAUNCHER__` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1240 -msgid "Set from :c:member:`PyConfig.executable` if ``NULL``." -msgstr "" - -#: ../../c-api/init_config.rst:1246 -msgid "See also :c:member:`PyConfig.executable`." -msgstr "" - -#: ../../c-api/init_config.rst:1250 -msgid ":data:`sys.base_prefix`." -msgstr "" - -#: ../../c-api/init_config.rst:1256 -msgid "See also :c:member:`PyConfig.prefix`." -msgstr "" - -#: ../../c-api/init_config.rst:1260 -msgid "" -"If equals to ``0`` and :c:member:`~PyConfig.configure_c_stdio` is non-zero, " -"disable buffering on the C streams stdout and stderr." -msgstr "" - -#: ../../c-api/init_config.rst:1263 -msgid "" -"Set to ``0`` by the :option:`-u` command line option and the " -":envvar:`PYTHONUNBUFFERED` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1266 -msgid "stdin is always opened in buffered mode." -msgstr "" - -#: ../../c-api/init_config.rst:1268 ../../c-api/init_config.rst:1301 -#: ../../c-api/init_config.rst:1845 ../../c-api/init_config.rst:2003 -msgid "Default: ``1``." -msgstr "" - -#: ../../c-api/init_config.rst:1272 -msgid "" -"If equals to ``1``, issue a warning when comparing :class:`bytes` or " -":class:`bytearray` with :class:`str`, or comparing :class:`bytes` with " -":class:`int`." -msgstr "" - -#: ../../c-api/init_config.rst:1276 -msgid "" -"If equal or greater to ``2``, raise a :exc:`BytesWarning` exception in these" -" cases." -msgstr "" - -#: ../../c-api/init_config.rst:1279 -msgid "Incremented by the :option:`-b` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:1285 -msgid "" -"If non-zero, emit a :exc:`EncodingWarning` warning when " -":class:`io.TextIOWrapper` uses its default encoding. See :ref:`io-encoding-" -"warning` for details." -msgstr "" - -#: ../../c-api/init_config.rst:1294 -msgid "" -"If equals to ``0``, disables the inclusion of the end line and column " -"mappings in code objects. Also disables traceback printing carets to " -"specific error locations." -msgstr "" - -#: ../../c-api/init_config.rst:1298 -msgid "" -"Set to ``0`` by the :envvar:`PYTHONNODEBUGRANGES` environment variable and " -"by the :option:`-X no_debug_ranges <-X>` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:1307 -msgid "" -"Control the validation behavior of hash-based ``.pyc`` files: value of the " -":option:`--check-hash-based-pycs` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:1310 -msgid "Valid values:" -msgstr "" - -#: ../../c-api/init_config.rst:1312 -msgid "" -"``L\"always\"``: Hash the source file for invalidation regardless of value " -"of the 'check_source' flag." -msgstr "" - -#: ../../c-api/init_config.rst:1314 -msgid "``L\"never\"``: Assume that hash-based pycs always are valid." -msgstr "" - -#: ../../c-api/init_config.rst:1315 -msgid "" -"``L\"default\"``: The 'check_source' flag in hash-based pycs determines " -"invalidation." -msgstr "" - -#: ../../c-api/init_config.rst:1318 -msgid "Default: ``L\"default\"``." -msgstr "" - -#: ../../c-api/init_config.rst:1320 -msgid "See also :pep:`552` \"Deterministic pycs\"." -msgstr "" - -#: ../../c-api/init_config.rst:1324 -msgid "If non-zero, configure C standard streams:" -msgstr "" - -#: ../../c-api/init_config.rst:1326 -msgid "" -"On Windows, set the binary mode (``O_BINARY``) on stdin, stdout and stderr." -msgstr "" - -#: ../../c-api/init_config.rst:1328 -msgid "" -"If :c:member:`~PyConfig.buffered_stdio` equals zero, disable buffering of " -"stdin, stdout and stderr streams." -msgstr "" - -#: ../../c-api/init_config.rst:1330 -msgid "" -"If :c:member:`~PyConfig.interactive` is non-zero, enable stream buffering on" -" stdin and stdout (only stdout on Windows)." -msgstr "" - -#: ../../c-api/init_config.rst:1337 -msgid "If non-zero, enable the :ref:`Python Development Mode `." -msgstr "" - -#: ../../c-api/init_config.rst:1339 -msgid "" -"Set to ``1`` by the :option:`-X dev <-X>` option and the " -":envvar:`PYTHONDEVMODE` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1346 -msgid "Dump Python references?" -msgstr "" - -#: ../../c-api/init_config.rst:1348 -msgid "If non-zero, dump all objects which are still alive at exit." -msgstr "" - -#: ../../c-api/init_config.rst:1350 -msgid "Set to ``1`` by the :envvar:`PYTHONDUMPREFS` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1352 -msgid "" -"Needs a special build of Python with the ``Py_TRACE_REFS`` macro defined: " -"see the :option:`configure --with-trace-refs option <--with-trace-refs>`." -msgstr "" - -#: ../../c-api/init_config.rst:1359 -msgid "Filename where to dump Python references." -msgstr "" - -#: ../../c-api/init_config.rst:1361 -msgid "Set by the :envvar:`PYTHONDUMPREFSFILE` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1369 -msgid "" -"The site-specific directory prefix where the platform-dependent Python files" -" are installed: :data:`sys.exec_prefix`." -msgstr "" - -#: ../../c-api/init_config.rst:1376 -msgid "See also :c:member:`PyConfig.base_exec_prefix`." -msgstr "" - -#: ../../c-api/init_config.rst:1380 -msgid "" -"The absolute path of the executable binary for the Python interpreter: " -":data:`sys.executable`." -msgstr "" - -#: ../../c-api/init_config.rst:1387 -msgid "See also :c:member:`PyConfig.base_executable`." -msgstr "" - -#: ../../c-api/init_config.rst:1391 -msgid "Enable faulthandler?" -msgstr "" - -#: ../../c-api/init_config.rst:1393 -msgid "If non-zero, call :func:`faulthandler.enable` at startup." -msgstr "" - -#: ../../c-api/init_config.rst:1395 -msgid "" -"Set to ``1`` by :option:`-X faulthandler <-X>` and the " -":envvar:`PYTHONFAULTHANDLER` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1402 -msgid "" -":term:`Filesystem encoding `: " -":func:`sys.getfilesystemencoding`." -msgstr "" - -#: ../../c-api/init_config.rst:1405 -msgid "On macOS, Android and VxWorks: use ``\"utf-8\"`` by default." -msgstr "" - -#: ../../c-api/init_config.rst:1407 -msgid "" -"On Windows: use ``\"utf-8\"`` by default, or ``\"mbcs\"`` if " -":c:member:`~PyPreConfig.legacy_windows_fs_encoding` of :c:type:`PyPreConfig`" -" is non-zero." -msgstr "" - -#: ../../c-api/init_config.rst:1411 -msgid "Default encoding on other platforms:" -msgstr "" - -#: ../../c-api/init_config.rst:1413 -msgid "``\"utf-8\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero." -msgstr "" - -#: ../../c-api/init_config.rst:1414 -msgid "" -"``\"ascii\"`` if Python detects that ``nl_langinfo(CODESET)`` announces the " -"ASCII encoding, whereas the ``mbstowcs()`` function decodes from a different" -" encoding (usually Latin1)." -msgstr "" - -#: ../../c-api/init_config.rst:1417 -msgid "``\"utf-8\"`` if ``nl_langinfo(CODESET)`` returns an empty string." -msgstr "" - -#: ../../c-api/init_config.rst:1418 -msgid "" -"Otherwise, use the :term:`locale encoding`: ``nl_langinfo(CODESET)`` result." -msgstr "" - -#: ../../c-api/init_config.rst:1421 -msgid "" -"At Python startup, the encoding name is normalized to the Python codec name." -" For example, ``\"ANSI_X3.4-1968\"`` is replaced with ``\"ascii\"``." -msgstr "" - -#: ../../c-api/init_config.rst:1424 -msgid "See also the :c:member:`~PyConfig.filesystem_errors` member." -msgstr "" - -#: ../../c-api/init_config.rst:1428 -msgid "" -":term:`Filesystem error handler `: " -":func:`sys.getfilesystemencodeerrors`." -msgstr "" - -#: ../../c-api/init_config.rst:1431 -msgid "" -"On Windows: use ``\"surrogatepass\"`` by default, or ``\"replace\"`` if " -":c:member:`~PyPreConfig.legacy_windows_fs_encoding` of :c:type:`PyPreConfig`" -" is non-zero." -msgstr "" - -#: ../../c-api/init_config.rst:1435 -msgid "On other platforms: use ``\"surrogateescape\"`` by default." -msgstr "" - -#: ../../c-api/init_config.rst:1437 -msgid "Supported error handlers:" -msgstr "" - -#: ../../c-api/init_config.rst:1439 -msgid "``\"strict\"``" -msgstr "" - -#: ../../c-api/init_config.rst:1440 -msgid "``\"surrogateescape\"``" -msgstr "" - -#: ../../c-api/init_config.rst:1441 -msgid "``\"surrogatepass\"`` (only supported with the UTF-8 encoding)" -msgstr "" - -#: ../../c-api/init_config.rst:1443 -msgid "See also the :c:member:`~PyConfig.filesystem_encoding` member." -msgstr "" - -#: ../../c-api/init_config.rst:1447 -msgid "If non-zero, use frozen modules." -msgstr "" - -#: ../../c-api/init_config.rst:1449 -msgid "Set by the :envvar:`PYTHON_FROZEN_MODULES` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1451 -msgid "" -"Default: ``1`` in a release build, or ``0`` in a :ref:`debug build `." -msgstr "" - -#: ../../c-api/init_config.rst:1457 -msgid "Randomized hash function seed." -msgstr "" - -#: ../../c-api/init_config.rst:1459 -msgid "" -"If :c:member:`~PyConfig.use_hash_seed` is zero, a seed is chosen randomly at" -" Python startup, and :c:member:`~PyConfig.hash_seed` is ignored." -msgstr "" - -#: ../../c-api/init_config.rst:1462 -msgid "Set by the :envvar:`PYTHONHASHSEED` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1464 -msgid "" -"Default *use_hash_seed* value: ``-1`` in Python mode, ``0`` in isolated " -"mode." -msgstr "" - -#: ../../c-api/init_config.rst:1469 -msgid "" -"Set the default Python \"home\" directory, that is, the location of the " -"standard Python libraries (see :envvar:`PYTHONHOME`)." -msgstr "" - -#: ../../c-api/init_config.rst:1472 -msgid "Set by the :envvar:`PYTHONHOME` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1476 ../../c-api/init_config.rst:1612 -#: ../../c-api/init_config.rst:1632 ../../c-api/init_config.rst:1721 -#: ../../c-api/init_config.rst:1752 -msgid "Part of the :ref:`Python Path Configuration ` input." -msgstr "" - -#: ../../c-api/init_config.rst:1480 -msgid "" -"If ``1``, profile import time. If ``2``, include additional output that " -"indicates when an imported module has already been loaded." -msgstr "" - -#: ../../c-api/init_config.rst:1484 -msgid "" -"Set by the :option:`-X importtime <-X>` option and the " -":envvar:`PYTHONPROFILEIMPORTTIME` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1491 -msgid "Added support for ``import_time = 2``" -msgstr "" - -#: ../../c-api/init_config.rst:1495 -msgid "Enter interactive mode after executing a script or a command." -msgstr "" - -#: ../../c-api/init_config.rst:1497 -msgid "" -"If greater than ``0``, enable inspect: when a script is passed as first " -"argument or the -c option is used, enter interactive mode after executing " -"the script or the command, even when :data:`sys.stdin` does not appear to be" -" a terminal." -msgstr "" - -#: ../../c-api/init_config.rst:1502 -msgid "" -"Incremented by the :option:`-i` command line option. Set to ``1`` if the " -":envvar:`PYTHONINSPECT` environment variable is non-empty." -msgstr "" - -#: ../../c-api/init_config.rst:1509 -msgid "Install Python signal handlers?" -msgstr "" - -#: ../../c-api/init_config.rst:1511 ../../c-api/init_config.rst:1695 -#: ../../c-api/init_config.rst:1719 ../../c-api/init_config.rst:1955 -msgid "Default: ``1`` in Python mode, ``0`` in isolated mode." -msgstr "" - -#: ../../c-api/init_config.rst:1515 -msgid "If greater than ``0``, enable the interactive mode (REPL)." -msgstr "" - -#: ../../c-api/init_config.rst:1517 -msgid "Incremented by the :option:`-i` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:1523 -msgid "" -"Configures the :ref:`integer string conversion length limitation " -"`. An initial value of ``-1`` means the value will be " -"taken from the command line or environment or otherwise default to 4300 " -"(:data:`sys.int_info.default_max_str_digits`). A value of ``0`` disables " -"the limitation. Values greater than zero but less than 640 " -"(:data:`sys.int_info.str_digits_check_threshold`) are unsupported and will " -"produce an error." -msgstr "" - -#: ../../c-api/init_config.rst:1531 -msgid "" -"Configured by the :option:`-X int_max_str_digits <-X>` command line flag or " -"the :envvar:`PYTHONINTMAXSTRDIGITS` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1534 -msgid "" -"Default: ``-1`` in Python mode. 4300 " -"(:data:`sys.int_info.default_max_str_digits`) in isolated mode." -msgstr "" - -#: ../../c-api/init_config.rst:1541 -msgid "" -"If the value of :c:member:`~PyConfig.cpu_count` is not ``-1`` then it will " -"override the return values of :func:`os.cpu_count`, " -":func:`os.process_cpu_count`, and :func:`multiprocessing.cpu_count`." -msgstr "" - -#: ../../c-api/init_config.rst:1545 -msgid "" -"Configured by the :samp:`-X cpu_count={n|default}` command line flag or the " -":envvar:`PYTHON_CPU_COUNT` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1548 ../../c-api/init_config.rst:1909 -msgid "Default: ``-1``." -msgstr "" - -#: ../../c-api/init_config.rst:1554 -msgid "If greater than ``0``, enable isolated mode:" -msgstr "" - -#: ../../c-api/init_config.rst:1556 -msgid "" -"Set :c:member:`~PyConfig.safe_path` to ``1``: don't prepend a potentially " -"unsafe path to :data:`sys.path` at Python startup, such as the current " -"directory, the script's directory or an empty string." -msgstr "" - -#: ../../c-api/init_config.rst:1560 -msgid "" -"Set :c:member:`~PyConfig.use_environment` to ``0``: ignore ``PYTHON`` " -"environment variables." -msgstr "" - -#: ../../c-api/init_config.rst:1562 -msgid "" -"Set :c:member:`~PyConfig.user_site_directory` to ``0``: don't add the user " -"site directory to :data:`sys.path`." -msgstr "" - -#: ../../c-api/init_config.rst:1564 -msgid "" -"Python REPL doesn't import :mod:`readline` nor enable default readline " -"configuration on interactive prompts." -msgstr "" - -#: ../../c-api/init_config.rst:1567 -msgid "Set to ``1`` by the :option:`-I` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:1571 -msgid "" -"See also the :ref:`Isolated Configuration ` and " -":c:member:`PyPreConfig.isolated`." -msgstr "" - -#: ../../c-api/init_config.rst:1576 -msgid "" -"If non-zero, use :class:`io.FileIO` instead of " -":class:`!io._WindowsConsoleIO` for :data:`sys.stdin`, :data:`sys.stdout` and" -" :data:`sys.stderr`." -msgstr "" - -#: ../../c-api/init_config.rst:1580 -msgid "" -"Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable " -"is set to a non-empty string." -msgstr "" - -#: ../../c-api/init_config.rst:1588 -msgid "See also the :pep:`528` (Change Windows console encoding to UTF-8)." -msgstr "" - -#: ../../c-api/init_config.rst:1592 -msgid "" -"If non-zero, dump statistics on :ref:`Python pymalloc memory allocator " -"` at exit." -msgstr "" - -#: ../../c-api/init_config.rst:1595 -msgid "Set to ``1`` by the :envvar:`PYTHONMALLOCSTATS` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1597 -msgid "" -"The option is ignored if Python is :option:`configured using the --without-" -"pymalloc option <--without-pymalloc>`." -msgstr "" - -#: ../../c-api/init_config.rst:1604 -msgid "Platform library directory name: :data:`sys.platlibdir`." -msgstr "" - -#: ../../c-api/init_config.rst:1606 -msgid "Set by the :envvar:`PYTHONPLATLIBDIR` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1608 -msgid "" -"Default: value of the ``PLATLIBDIR`` macro which is set by the " -":option:`configure --with-platlibdir option <--with-platlibdir>` (default: " -"``\"lib\"``, or ``\"DLLs\"`` on Windows)." -msgstr "" - -#: ../../c-api/init_config.rst:1616 -msgid "" -"This macro is now used on Windows to locate the standard library extension " -"modules, typically under ``DLLs``. However, for compatibility, note that " -"this value is ignored for any non-standard layouts, including in-tree builds" -" and virtual environments." -msgstr "" - -#: ../../c-api/init_config.rst:1625 -msgid "" -"Module search paths (:data:`sys.path`) as a string separated by ``DELIM`` " -"(:data:`os.pathsep`)." -msgstr "" - -#: ../../c-api/init_config.rst:1628 -msgid "Set by the :envvar:`PYTHONPATH` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1637 -msgid "Module search paths: :data:`sys.path`." -msgstr "" - -#: ../../c-api/init_config.rst:1639 -msgid "" -"If :c:member:`~PyConfig.module_search_paths_set` is equal to ``0``, " -":c:func:`Py_InitializeFromConfig` will replace " -":c:member:`~PyConfig.module_search_paths` and sets " -":c:member:`~PyConfig.module_search_paths_set` to ``1``." -msgstr "" - -#: ../../c-api/init_config.rst:1644 -msgid "" -"Default: empty list (``module_search_paths``) and ``0`` " -"(``module_search_paths_set``)." -msgstr "" - -#: ../../c-api/init_config.rst:1651 -msgid "Compilation optimization level:" -msgstr "" - -#: ../../c-api/init_config.rst:1653 -msgid "``0``: Peephole optimizer, set ``__debug__`` to ``True``." -msgstr "" - -#: ../../c-api/init_config.rst:1654 -msgid "``1``: Level 0, remove assertions, set ``__debug__`` to ``False``." -msgstr "" - -#: ../../c-api/init_config.rst:1655 -msgid "``2``: Level 1, strip docstrings." -msgstr "" - -#: ../../c-api/init_config.rst:1657 -msgid "" -"Incremented by the :option:`-O` command line option. Set to the " -":envvar:`PYTHONOPTIMIZE` environment variable value." -msgstr "" - -#: ../../c-api/init_config.rst:1664 -msgid "" -"The list of the original command line arguments passed to the Python " -"executable: :data:`sys.orig_argv`." -msgstr "" - -#: ../../c-api/init_config.rst:1667 -msgid "" -"If :c:member:`~PyConfig.orig_argv` list is empty and " -":c:member:`~PyConfig.argv` is not a list only containing an empty string, " -":c:func:`PyConfig_Read` copies :c:member:`~PyConfig.argv` into " -":c:member:`~PyConfig.orig_argv` before modifying :c:member:`~PyConfig.argv` " -"(if :c:member:`~PyConfig.parse_argv` is non-zero)." -msgstr "" - -#: ../../c-api/init_config.rst:1674 -msgid "" -"See also the :c:member:`~PyConfig.argv` member and the " -":c:func:`Py_GetArgcArgv` function." -msgstr "" - -#: ../../c-api/init_config.rst:1677 ../../c-api/init_config.rst:1990 -#: ../../c-api/init_config.rst:2009 -msgid "Default: empty list." -msgstr "" - -#: ../../c-api/init_config.rst:1683 -msgid "Parse command line arguments?" -msgstr "" - -#: ../../c-api/init_config.rst:1685 -msgid "" -"If equals to ``1``, parse :c:member:`~PyConfig.argv` the same way the " -"regular Python parses :ref:`command line arguments `, and " -"strip Python arguments from :c:member:`~PyConfig.argv`." -msgstr "" - -#: ../../c-api/init_config.rst:1697 -msgid "" -"The :c:member:`PyConfig.argv` arguments are now only parsed if " -":c:member:`PyConfig.parse_argv` equals to ``1``." -msgstr "" - -#: ../../c-api/init_config.rst:1703 -msgid "" -"Parser debug mode. If greater than ``0``, turn on parser debugging output " -"(for expert only, depending on compilation options)." -msgstr "" - -#: ../../c-api/init_config.rst:1706 -msgid "" -"Incremented by the :option:`-d` command line option. Set to the " -":envvar:`PYTHONDEBUG` environment variable value." -msgstr "" - -#: ../../c-api/init_config.rst:1709 ../../c-api/init_config.rst:1814 -msgid "" -"Needs a :ref:`debug build of Python ` (the ``Py_DEBUG`` macro " -"must be defined)." -msgstr "" - -#: ../../c-api/init_config.rst:1716 -msgid "" -"If non-zero, calculation of path configuration is allowed to log warnings " -"into ``stderr``. If equals to ``0``, suppress these warnings." -msgstr "" - -#: ../../c-api/init_config.rst:1723 -msgid "Now also applies on Windows." -msgstr "" - -#: ../../c-api/init_config.rst:1728 -msgid "" -"The site-specific directory prefix where the platform independent Python " -"files are installed: :data:`sys.prefix`." -msgstr "" - -#: ../../c-api/init_config.rst:1735 -msgid "See also :c:member:`PyConfig.base_prefix`." -msgstr "" - -#: ../../c-api/init_config.rst:1739 -msgid "" -"Program name used to initialize :c:member:`~PyConfig.executable` and in " -"early error messages during Python initialization." -msgstr "" - -#: ../../c-api/init_config.rst:1742 -msgid "On macOS, use :envvar:`PYTHONEXECUTABLE` environment variable if set." -msgstr "" - -#: ../../c-api/init_config.rst:1743 -msgid "" -"If the ``WITH_NEXT_FRAMEWORK`` macro is defined, use " -":envvar:`__PYVENV_LAUNCHER__` environment variable if set." -msgstr "" - -#: ../../c-api/init_config.rst:1745 -msgid "" -"Use ``argv[0]`` of :c:member:`~PyConfig.argv` if available and non-empty." -msgstr "" - -#: ../../c-api/init_config.rst:1747 -msgid "" -"Otherwise, use ``L\"python\"`` on Windows, or ``L\"python3\"`` on other " -"platforms." -msgstr "" - -#: ../../c-api/init_config.rst:1756 -msgid "" -"Directory where cached ``.pyc`` files are written: " -":data:`sys.pycache_prefix`." -msgstr "" - -#: ../../c-api/init_config.rst:1759 -msgid "" -"Set by the :option:`-X pycache_prefix=PATH <-X>` command line option and the" -" :envvar:`PYTHONPYCACHEPREFIX` environment variable. The command-line option" -" takes precedence." -msgstr "" - -#: ../../c-api/init_config.rst:1763 -msgid "If ``NULL``, :data:`sys.pycache_prefix` is set to ``None``." -msgstr "" - -#: ../../c-api/init_config.rst:1769 -msgid "" -"Quiet mode. If greater than ``0``, don't display the copyright and version " -"at Python startup in interactive mode." -msgstr "" - -#: ../../c-api/init_config.rst:1772 -msgid "Incremented by the :option:`-q` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:1778 -msgid "Value of the :option:`-c` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:1780 ../../c-api/init_config.rst:1801 -msgid "Used by :c:func:`Py_RunMain`." -msgstr "" - -#: ../../c-api/init_config.rst:1786 -msgid "" -"Filename passed on the command line: trailing command line argument without " -":option:`-c` or :option:`-m`. It is used by the :c:func:`Py_RunMain` " -"function." -msgstr "" - -#: ../../c-api/init_config.rst:1790 -msgid "" -"For example, it is set to ``script.py`` by the ``python3 script.py arg`` " -"command line." -msgstr "" - -#: ../../c-api/init_config.rst:1793 -msgid "See also the :c:member:`PyConfig.skip_source_first_line` option." -msgstr "" - -#: ../../c-api/init_config.rst:1799 -msgid "Value of the :option:`-m` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:1807 -msgid "" -"``package.module`` path to module that should be imported before ``site.py``" -" is run." -msgstr "" - -#: ../../c-api/init_config.rst:1810 -msgid "" -"Set by the :option:`-X presite=package.module <-X>` command-line option and " -"the :envvar:`PYTHON_PRESITE` environment variable. The command-line option " -"takes precedence." -msgstr "" - -#: ../../c-api/init_config.rst:1821 -msgid "" -"Show total reference count at exit (excluding :term:`immortal` objects)?" -msgstr "" - -#: ../../c-api/init_config.rst:1823 -msgid "Set to ``1`` by :option:`-X showrefcount <-X>` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:1825 -msgid "" -"Needs a :ref:`debug build of Python ` (the ``Py_REF_DEBUG`` " -"macro must be defined)." -msgstr "" - -#: ../../c-api/init_config.rst:1832 -msgid "Import the :mod:`site` module at startup?" -msgstr "" - -#: ../../c-api/init_config.rst:1834 -msgid "" -"If equal to zero, disable the import of the module site and the site-" -"dependent manipulations of :data:`sys.path` that it entails." -msgstr "" - -#: ../../c-api/init_config.rst:1837 -msgid "" -"Also disable these manipulations if the :mod:`site` module is explicitly " -"imported later (call :func:`site.main` if you want them to be triggered)." -msgstr "" - -#: ../../c-api/init_config.rst:1840 -msgid "Set to ``0`` by the :option:`-S` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:1842 -msgid "" -":data:`sys.flags.no_site ` is set to the inverted value of " -":c:member:`~PyConfig.site_import`." -msgstr "" - -#: ../../c-api/init_config.rst:1849 -msgid "" -"If non-zero, skip the first line of the :c:member:`PyConfig.run_filename` " -"source." -msgstr "" - -#: ../../c-api/init_config.rst:1852 -msgid "" -"It allows the usage of non-Unix forms of ``#!cmd``. This is intended for a " -"DOS specific hack only." -msgstr "" - -#: ../../c-api/init_config.rst:1855 -msgid "Set to ``1`` by the :option:`-x` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:1862 -msgid "" -"Encoding and encoding errors of :data:`sys.stdin`, :data:`sys.stdout` and " -":data:`sys.stderr` (but :data:`sys.stderr` always uses " -"``\"backslashreplace\"`` error handler)." -msgstr "" - -#: ../../c-api/init_config.rst:1866 -msgid "" -"Use the :envvar:`PYTHONIOENCODING` environment variable if it is non-empty." -msgstr "" - -#: ../../c-api/init_config.rst:1869 -msgid "Default encoding:" -msgstr "" - -#: ../../c-api/init_config.rst:1871 -msgid "``\"UTF-8\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero." -msgstr "" - -#: ../../c-api/init_config.rst:1872 -msgid "Otherwise, use the :term:`locale encoding`." -msgstr "" - -#: ../../c-api/init_config.rst:1874 -msgid "Default error handler:" -msgstr "" - -#: ../../c-api/init_config.rst:1876 -msgid "On Windows: use ``\"surrogateescape\"``." -msgstr "" - -#: ../../c-api/init_config.rst:1877 -msgid "" -"``\"surrogateescape\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero, or" -" if the LC_CTYPE locale is \"C\" or \"POSIX\"." -msgstr "" - -#: ../../c-api/init_config.rst:1879 -msgid "``\"strict\"`` otherwise." -msgstr "" - -#: ../../c-api/init_config.rst:1881 -msgid "See also :c:member:`PyConfig.legacy_windows_stdio`." -msgstr "" - -#: ../../c-api/init_config.rst:1885 -msgid "Enable tracemalloc?" -msgstr "" - -#: ../../c-api/init_config.rst:1887 -msgid "If non-zero, call :func:`tracemalloc.start` at startup." -msgstr "" - -#: ../../c-api/init_config.rst:1889 -msgid "" -"Set by :option:`-X tracemalloc=N <-X>` command line option and by the " -":envvar:`PYTHONTRACEMALLOC` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1896 -msgid "Enable the Linux ``perf`` profiler support?" -msgstr "" - -#: ../../c-api/init_config.rst:1898 -msgid "If equals to ``1``, enable support for the Linux ``perf`` profiler." -msgstr "" - -#: ../../c-api/init_config.rst:1900 -msgid "" -"If equals to ``2``, enable support for the Linux ``perf`` profiler with " -"DWARF JIT support." -msgstr "" - -#: ../../c-api/init_config.rst:1903 -msgid "" -"Set to ``1`` by :option:`-X perf <-X>` command-line option and the " -":envvar:`PYTHONPERFSUPPORT` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1906 -msgid "" -"Set to ``2`` by the :option:`-X perf_jit <-X>` command-line option and the " -":envvar:`PYTHON_PERF_JIT_SUPPORT` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1912 -msgid "See :ref:`perf_profiling` for more information." -msgstr "" - -#: ../../c-api/init_config.rst:1918 -msgid "Directory of the Python standard library." -msgstr "" - -#: ../../c-api/init_config.rst:1926 -msgid "Use :ref:`environment variables `?" -msgstr "" - -#: ../../c-api/init_config.rst:1928 -msgid "" -"If equals to zero, ignore the :ref:`environment variables `." -msgstr "" - -#: ../../c-api/init_config.rst:1931 -msgid "Set to ``0`` by the :option:`-E` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1937 -msgid "" -"If non-zero, ``stdout`` and ``stderr`` will be redirected to the system log." -msgstr "" - -#: ../../c-api/init_config.rst:1940 -msgid "Only available on macOS 10.12 and later, and on iOS." -msgstr "" - -#: ../../c-api/init_config.rst:1942 -msgid "" -"Default: ``0`` (don't use the system log) on macOS; ``1`` on iOS (use the " -"system log)." -msgstr "" - -#: ../../c-api/init_config.rst:1949 -msgid "If non-zero, add the user site directory to :data:`sys.path`." -msgstr "" - -#: ../../c-api/init_config.rst:1951 -msgid "" -"Set to ``0`` by the :option:`-s` and :option:`-I` command line options." -msgstr "" - -#: ../../c-api/init_config.rst:1953 -msgid "Set to ``0`` by the :envvar:`PYTHONNOUSERSITE` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:1959 -msgid "" -"Verbose mode. If greater than ``0``, print a message each time a module is " -"imported, showing the place (filename or built-in module) from which it is " -"loaded." -msgstr "" - -#: ../../c-api/init_config.rst:1963 -msgid "" -"If greater than or equal to ``2``, print a message for each file that is " -"checked for when searching for a module. Also provides information on module" -" cleanup at exit." -msgstr "" - -#: ../../c-api/init_config.rst:1967 -msgid "Incremented by the :option:`-v` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:1969 -msgid "Set by the :envvar:`PYTHONVERBOSE` environment variable value." -msgstr "" - -#: ../../c-api/init_config.rst:1975 -msgid "" -"Options of the :mod:`warnings` module to build warnings filters, lowest to " -"highest priority: :data:`sys.warnoptions`." -msgstr "" - -#: ../../c-api/init_config.rst:1978 -msgid "" -"The :mod:`warnings` module adds :data:`sys.warnoptions` in the reverse " -"order: the last :c:member:`PyConfig.warnoptions` item becomes the first item" -" of :data:`warnings.filters` which is checked first (highest priority)." -msgstr "" - -#: ../../c-api/init_config.rst:1983 -msgid "" -"The :option:`-W` command line options adds its value to " -":c:member:`~PyConfig.warnoptions`, it can be used multiple times." -msgstr "" - -#: ../../c-api/init_config.rst:1986 -msgid "" -"The :envvar:`PYTHONWARNINGS` environment variable can also be used to add " -"warning options. Multiple options can be specified, separated by commas " -"(``,``)." -msgstr "" - -#: ../../c-api/init_config.rst:1994 -msgid "" -"If equal to ``0``, Python won't try to write ``.pyc`` files on the import of" -" source modules." -msgstr "" - -#: ../../c-api/init_config.rst:1997 -msgid "" -"Set to ``0`` by the :option:`-B` command line option and the " -":envvar:`PYTHONDONTWRITEBYTECODE` environment variable." -msgstr "" - -#: ../../c-api/init_config.rst:2000 -msgid "" -":data:`sys.dont_write_bytecode` is initialized to the inverted value of " -":c:member:`~PyConfig.write_bytecode`." -msgstr "" - -#: ../../c-api/init_config.rst:2007 -msgid "" -"Values of the :option:`-X` command line options: :data:`sys._xoptions`." -msgstr "" - -#: ../../c-api/init_config.rst:2013 -msgid "If non-zero, write performance statistics at Python exit." -msgstr "" - -#: ../../c-api/init_config.rst:2015 -msgid "" -"Need a special build with the ``Py_STATS`` macro: see :option:`--enable-" -"pystats`." -msgstr "" - -#: ../../c-api/init_config.rst:2020 -msgid "" -"If :c:member:`~PyConfig.parse_argv` is non-zero, :c:member:`~PyConfig.argv` " -"arguments are parsed the same way the regular Python parses :ref:`command " -"line arguments `, and Python arguments are stripped from " -":c:member:`~PyConfig.argv`." -msgstr "" - -#: ../../c-api/init_config.rst:2025 -msgid "" -"The :c:member:`~PyConfig.xoptions` options are parsed to set other options: " -"see the :option:`-X` command line option." -msgstr "" - -#: ../../c-api/init_config.rst:2030 -msgid "The ``show_alloc_count`` field has been removed." -msgstr "" - -#: ../../c-api/init_config.rst:2036 -msgid "Initialization with PyConfig" -msgstr "" - -#: ../../c-api/init_config.rst:2038 -msgid "" -"Initializing the interpreter from a populated configuration struct is " -"handled by calling :c:func:`Py_InitializeFromConfig`." -msgstr "" - -#: ../../c-api/init_config.rst:2044 -msgid "" -"If :c:func:`PyImport_FrozenModules`, :c:func:`PyImport_AppendInittab` or " -":c:func:`PyImport_ExtendInittab` are used, they must be set or called after " -"Python preinitialization and before the Python initialization. If Python is " -"initialized multiple times, :c:func:`PyImport_AppendInittab` or " -":c:func:`PyImport_ExtendInittab` must be called before each Python " -"initialization." -msgstr "" - -#: ../../c-api/init_config.rst:2051 -msgid "" -"The current configuration (``PyConfig`` type) is stored in " -"``PyInterpreterState.config``." -msgstr "" - -#: ../../c-api/init_config.rst:2054 -msgid "Example setting the program name::" -msgstr "" - -#: ../../c-api/init_config.rst:2056 -msgid "" -"void init_python(void)\n" -"{\n" -" PyStatus status;\n" -"\n" -" PyConfig config;\n" -" PyConfig_InitPythonConfig(&config);\n" -"\n" -" /* Set the program name. Implicitly preinitialize Python. */\n" -" status = PyConfig_SetString(&config, &config.program_name,\n" -" L\"/path/to/my_program\");\n" -" if (PyStatus_Exception(status)) {\n" -" goto exception;\n" -" }\n" -"\n" -" status = Py_InitializeFromConfig(&config);\n" -" if (PyStatus_Exception(status)) {\n" -" goto exception;\n" -" }\n" -" PyConfig_Clear(&config);\n" -" return;\n" -"\n" -"exception:\n" -" PyConfig_Clear(&config);\n" -" Py_ExitStatusException(status);\n" -"}" -msgstr "" - -#: ../../c-api/init_config.rst:2082 -msgid "" -"More complete example modifying the default configuration, read the " -"configuration, and then override some parameters. Note that since 3.11, many" -" parameters are not calculated until initialization, and so values cannot be" -" read from the configuration structure. Any values set before initialize is " -"called will be left unchanged by initialization::" -msgstr "" - -#: ../../c-api/init_config.rst:2089 -msgid "" -"PyStatus init_python(const char *program_name)\n" -"{\n" -" PyStatus status;\n" -"\n" -" PyConfig config;\n" -" PyConfig_InitPythonConfig(&config);\n" -"\n" -" /* Set the program name before reading the configuration\n" -" (decode byte string from the locale encoding).\n" -"\n" -" Implicitly preinitialize Python. */\n" -" status = PyConfig_SetBytesString(&config, &config.program_name,\n" -" program_name);\n" -" if (PyStatus_Exception(status)) {\n" -" goto done;\n" -" }\n" -"\n" -" /* Read all configuration at once */\n" -" status = PyConfig_Read(&config);\n" -" if (PyStatus_Exception(status)) {\n" -" goto done;\n" -" }\n" -"\n" -" /* Specify sys.path explicitly */\n" -" /* If you want to modify the default set of paths, finish\n" -" initialization first and then use PySys_GetObject(\"path\") */\n" -" config.module_search_paths_set = 1;\n" -" status = PyWideStringList_Append(&config.module_search_paths,\n" -" L\"/path/to/stdlib\");\n" -" if (PyStatus_Exception(status)) {\n" -" goto done;\n" -" }\n" -" status = PyWideStringList_Append(&config.module_search_paths,\n" -" L\"/path/to/more/modules\");\n" -" if (PyStatus_Exception(status)) {\n" -" goto done;\n" -" }\n" -"\n" -" /* Override executable computed by PyConfig_Read() */\n" -" status = PyConfig_SetString(&config, &config.executable,\n" -" L\"/path/to/my_executable\");\n" -" if (PyStatus_Exception(status)) {\n" -" goto done;\n" -" }\n" -"\n" -" status = Py_InitializeFromConfig(&config);\n" -"\n" -"done:\n" -" PyConfig_Clear(&config);\n" -" return status;\n" -"}" -msgstr "" - -#: ../../c-api/init_config.rst:2145 -msgid "Isolated Configuration" -msgstr "" - -#: ../../c-api/init_config.rst:2147 -msgid "" -":c:func:`PyPreConfig_InitIsolatedConfig` and " -":c:func:`PyConfig_InitIsolatedConfig` functions create a configuration to " -"isolate Python from the system. For example, to embed Python into an " -"application." -msgstr "" - -#: ../../c-api/init_config.rst:2152 -msgid "" -"This configuration ignores global configuration variables, environment " -"variables, command line arguments (:c:member:`PyConfig.argv` is not parsed) " -"and user site directory. The C standard streams (ex: ``stdout``) and the " -"LC_CTYPE locale are left unchanged. Signal handlers are not installed." -msgstr "" - -#: ../../c-api/init_config.rst:2157 -msgid "" -"Configuration files are still used with this configuration to determine " -"paths that are unspecified. Ensure :c:member:`PyConfig.home` is specified to" -" avoid computing the default path configuration." -msgstr "" - -#: ../../c-api/init_config.rst:2165 -msgid "Python Configuration" -msgstr "" - -#: ../../c-api/init_config.rst:2167 -msgid "" -":c:func:`PyPreConfig_InitPythonConfig` and " -":c:func:`PyConfig_InitPythonConfig` functions create a configuration to " -"build a customized Python which behaves as the regular Python." -msgstr "" - -#: ../../c-api/init_config.rst:2171 -msgid "" -"Environments variables and command line arguments are used to configure " -"Python, whereas global configuration variables are ignored." -msgstr "" - -#: ../../c-api/init_config.rst:2174 -msgid "" -"This function enables C locale coercion (:pep:`538`) and :ref:`Python UTF-8 " -"Mode ` (:pep:`540`) depending on the LC_CTYPE locale, " -":envvar:`PYTHONUTF8` and :envvar:`PYTHONCOERCECLOCALE` environment " -"variables." -msgstr "" - -#: ../../c-api/init_config.rst:2183 -msgid "Python Path Configuration" -msgstr "" - -#: ../../c-api/init_config.rst:2185 -msgid "" -":c:type:`PyConfig` contains multiple fields for the path configuration:" -msgstr "" - -#: ../../c-api/init_config.rst:2187 -msgid "Path configuration inputs:" -msgstr "" - -#: ../../c-api/init_config.rst:2189 -msgid ":c:member:`PyConfig.home`" -msgstr ":c:member:`PyConfig.home`" - -#: ../../c-api/init_config.rst:2190 -msgid ":c:member:`PyConfig.platlibdir`" -msgstr "" - -#: ../../c-api/init_config.rst:2191 -msgid ":c:member:`PyConfig.pathconfig_warnings`" -msgstr ":c:member:`PyConfig.pathconfig_warnings`" - -#: ../../c-api/init_config.rst:2192 -msgid ":c:member:`PyConfig.program_name`" -msgstr ":c:member:`PyConfig.program_name`" - -#: ../../c-api/init_config.rst:2193 -msgid ":c:member:`PyConfig.pythonpath_env`" -msgstr ":c:member:`PyConfig.pythonpath_env`" - -#: ../../c-api/init_config.rst:2194 -msgid "current working directory: to get absolute paths" -msgstr "" - -#: ../../c-api/init_config.rst:2195 -msgid "" -"``PATH`` environment variable to get the program full path (from " -":c:member:`PyConfig.program_name`)" -msgstr "" - -#: ../../c-api/init_config.rst:2197 -msgid "``__PYVENV_LAUNCHER__`` environment variable" -msgstr "" - -#: ../../c-api/init_config.rst:2198 -msgid "" -"(Windows only) Application paths in the registry under " -"\"Software\\Python\\PythonCore\\X.Y\\PythonPath\" of HKEY_CURRENT_USER and " -"HKEY_LOCAL_MACHINE (where X.Y is the Python version)." -msgstr "" - -#: ../../c-api/init_config.rst:2202 -msgid "Path configuration output fields:" -msgstr "" - -#: ../../c-api/init_config.rst:2204 -msgid ":c:member:`PyConfig.base_exec_prefix`" -msgstr ":c:member:`PyConfig.base_exec_prefix`" - -#: ../../c-api/init_config.rst:2205 -msgid ":c:member:`PyConfig.base_executable`" -msgstr ":c:member:`PyConfig.base_executable`" - -#: ../../c-api/init_config.rst:2206 -msgid ":c:member:`PyConfig.base_prefix`" -msgstr ":c:member:`PyConfig.base_prefix`" - -#: ../../c-api/init_config.rst:2207 -msgid ":c:member:`PyConfig.exec_prefix`" -msgstr ":c:member:`PyConfig.exec_prefix`" - -#: ../../c-api/init_config.rst:2208 -msgid ":c:member:`PyConfig.executable`" -msgstr ":c:member:`PyConfig.executable`" - -#: ../../c-api/init_config.rst:2209 -msgid "" -":c:member:`PyConfig.module_search_paths_set`, " -":c:member:`PyConfig.module_search_paths`" -msgstr "" - -#: ../../c-api/init_config.rst:2211 -msgid ":c:member:`PyConfig.prefix`" -msgstr ":c:member:`PyConfig.prefix`" - -#: ../../c-api/init_config.rst:2213 -msgid "" -"If at least one \"output field\" is not set, Python calculates the path " -"configuration to fill unset fields. If " -":c:member:`~PyConfig.module_search_paths_set` is equal to ``0``, " -":c:member:`~PyConfig.module_search_paths` is overridden and " -":c:member:`~PyConfig.module_search_paths_set` is set to ``1``." -msgstr "" - -#: ../../c-api/init_config.rst:2219 -msgid "" -"It is possible to completely ignore the function calculating the default " -"path configuration by setting explicitly all path configuration output " -"fields listed above. A string is considered as set even if it is non-empty. " -"``module_search_paths`` is considered as set if ``module_search_paths_set`` " -"is set to ``1``. In this case, ``module_search_paths`` will be used without " -"modification." -msgstr "" - -#: ../../c-api/init_config.rst:2226 -msgid "" -"Set :c:member:`~PyConfig.pathconfig_warnings` to ``0`` to suppress warnings " -"when calculating the path configuration (Unix only, Windows does not log any" -" warning)." -msgstr "" - -#: ../../c-api/init_config.rst:2229 -msgid "" -"If :c:member:`~PyConfig.base_prefix` or " -":c:member:`~PyConfig.base_exec_prefix` fields are not set, they inherit " -"their value from :c:member:`~PyConfig.prefix` and " -":c:member:`~PyConfig.exec_prefix` respectively." -msgstr "" - -#: ../../c-api/init_config.rst:2233 -msgid ":c:func:`Py_RunMain` and :c:func:`Py_Main` modify :data:`sys.path`:" -msgstr "" - -#: ../../c-api/init_config.rst:2235 -msgid "" -"If :c:member:`~PyConfig.run_filename` is set and is a directory which " -"contains a ``__main__.py`` script, prepend " -":c:member:`~PyConfig.run_filename` to :data:`sys.path`." -msgstr "" - -#: ../../c-api/init_config.rst:2238 -msgid "If :c:member:`~PyConfig.isolated` is zero:" -msgstr "" - -#: ../../c-api/init_config.rst:2240 -msgid "" -"If :c:member:`~PyConfig.run_module` is set, prepend the current directory to" -" :data:`sys.path`. Do nothing if the current directory cannot be read." -msgstr "" - -#: ../../c-api/init_config.rst:2242 -msgid "" -"If :c:member:`~PyConfig.run_filename` is set, prepend the directory of the " -"filename to :data:`sys.path`." -msgstr "" - -#: ../../c-api/init_config.rst:2244 -msgid "Otherwise, prepend an empty string to :data:`sys.path`." -msgstr "" - -#: ../../c-api/init_config.rst:2246 -msgid "" -"If :c:member:`~PyConfig.site_import` is non-zero, :data:`sys.path` can be " -"modified by the :mod:`site` module. If " -":c:member:`~PyConfig.user_site_directory` is non-zero and the user's site-" -"package directory exists, the :mod:`site` module appends the user's site-" -"package directory to :data:`sys.path`." -msgstr "" - -#: ../../c-api/init_config.rst:2252 -msgid "The following configuration files are used by the path configuration:" -msgstr "" - -#: ../../c-api/init_config.rst:2254 -msgid "``pyvenv.cfg``" -msgstr "" - -#: ../../c-api/init_config.rst:2255 -msgid "``._pth`` file (ex: ``python._pth``)" -msgstr "" - -#: ../../c-api/init_config.rst:2256 -msgid "``pybuilddir.txt`` (Unix only)" -msgstr "" - -#: ../../c-api/init_config.rst:2258 -msgid "If a ``._pth`` file is present:" -msgstr "" - -#: ../../c-api/init_config.rst:2260 -msgid "Set :c:member:`~PyConfig.isolated` to ``1``." -msgstr "" - -#: ../../c-api/init_config.rst:2261 -msgid "Set :c:member:`~PyConfig.use_environment` to ``0``." -msgstr "" - -#: ../../c-api/init_config.rst:2262 -msgid "Set :c:member:`~PyConfig.site_import` to ``0``." -msgstr "" - -#: ../../c-api/init_config.rst:2263 -msgid "Set :c:member:`~PyConfig.safe_path` to ``1``." -msgstr "" - -#: ../../c-api/init_config.rst:2265 -msgid "" -"If :c:member:`~PyConfig.home` is not set and a ``pyvenv.cfg`` file is " -"present in the same directory as :c:member:`~PyConfig.executable`, or its " -"parent, :c:member:`~PyConfig.prefix` and :c:member:`~PyConfig.exec_prefix` " -"are set that location. When this happens, :c:member:`~PyConfig.base_prefix` " -"and :c:member:`~PyConfig.base_exec_prefix` still keep their value, pointing " -"to the base installation. See :ref:`sys-path-init-virtual-environments` for " -"more information." -msgstr "" - -#: ../../c-api/init_config.rst:2273 -msgid "" -"The ``__PYVENV_LAUNCHER__`` environment variable is used to set " -":c:member:`PyConfig.base_executable`." -msgstr "" - -#: ../../c-api/init_config.rst:2278 -msgid "" -":c:member:`~PyConfig.prefix`, and :c:member:`~PyConfig.exec_prefix`, are now" -" set to the ``pyvenv.cfg`` directory. This was previously done by " -":mod:`site`, therefore affected by :option:`-S`." -msgstr "" - -#: ../../c-api/init_config.rst:2284 -msgid "Py_GetArgcArgv()" -msgstr "" - -#: ../../c-api/init_config.rst:2288 -msgid "Get the original command line arguments, before Python modified them." -msgstr "" - -#: ../../c-api/init_config.rst:2290 -msgid "See also :c:member:`PyConfig.orig_argv` member." -msgstr "" - -#: ../../c-api/init_config.rst:2293 -msgid "Delaying main module execution" -msgstr "" - -#: ../../c-api/init_config.rst:2295 -msgid "" -"In some embedding use cases, it may be desirable to separate interpreter " -"initialization from the execution of the main module." -msgstr "" - -#: ../../c-api/init_config.rst:2298 -msgid "" -"This separation can be achieved by setting ``PyConfig.run_command`` to the " -"empty string during initialization (to prevent the interpreter from dropping" -" into the interactive prompt), and then subsequently executing the desired " -"main module code using ``__main__.__dict__`` as the global namespace." -msgstr "" - -#: ../../c-api/init_config.rst:1181 -msgid "main()" -msgstr "" - -#: ../../c-api/init_config.rst:1181 -msgid "argv (in module sys)" -msgstr "" diff --git a/python-newest.c-api--intro/id.po b/python-newest.c-api--intro/id.po deleted file mode 100644 index 08f5947..0000000 --- a/python-newest.c-api--intro/id.po +++ /dev/null @@ -1,1155 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Helen Febriani , 2018 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/intro.rst:8 -msgid "Introduction" -msgstr "Pengantar" - -#: ../../c-api/intro.rst:10 -msgid "" -"The Application Programmer's Interface to Python gives C and C++ programmers" -" access to the Python interpreter at a variety of levels. The API is " -"equally usable from C++, but for brevity it is generally referred to as the " -"Python/C API. There are two fundamentally different reasons for using the " -"Python/C API. The first reason is to write *extension modules* for specific " -"purposes; these are C modules that extend the Python interpreter. This is " -"probably the most common use. The second reason is to use Python as a " -"component in a larger application; this technique is generally referred to " -"as :dfn:`embedding` Python in an application." -msgstr "" - -#: ../../c-api/intro.rst:20 -msgid "" -"Writing an extension module is a relatively well-understood process, where a" -" \"cookbook\" approach works well. There are several tools that automate " -"the process to some extent. While people have embedded Python in other " -"applications since its early existence, the process of embedding Python is " -"less straightforward than writing an extension." -msgstr "" - -#: ../../c-api/intro.rst:26 -msgid "" -"Many API functions are useful independent of whether you're embedding or " -"extending Python; moreover, most applications that embed Python will need " -"to provide a custom extension as well, so it's probably a good idea to " -"become familiar with writing an extension before attempting to embed Python" -" in a real application." -msgstr "" - -#: ../../c-api/intro.rst:34 -msgid "Language version compatibility" -msgstr "" - -#: ../../c-api/intro.rst:36 -msgid "Python's C API is compatible with C11 and C++11 versions of C and C++." -msgstr "" - -#: ../../c-api/intro.rst:38 -msgid "" -"This is a lower limit: the C API does not require features from later C/C++ " -"versions. You do *not* need to enable your compiler's \"c11 mode\"." -msgstr "" - -#: ../../c-api/intro.rst:44 -msgid "Coding standards" -msgstr "Standar pengkodean *coding*" - -#: ../../c-api/intro.rst:46 -msgid "" -"If you're writing C code for inclusion in CPython, you **must** follow the " -"guidelines and standards defined in :PEP:`7`. These guidelines apply " -"regardless of the version of Python you are contributing to. Following " -"these conventions is not necessary for your own third party extension " -"modules, unless you eventually expect to contribute them to Python." -msgstr "" - -#: ../../c-api/intro.rst:56 -msgid "Include Files" -msgstr "Menyertakan Berkas" - -#: ../../c-api/intro.rst:58 -msgid "" -"All function, type and macro definitions needed to use the Python/C API are " -"included in your code by the following line::" -msgstr "" - -#: ../../c-api/intro.rst:61 -msgid "" -"#define PY_SSIZE_T_CLEAN\n" -"#include " -msgstr "" - -#: ../../c-api/intro.rst:64 -msgid "" -"This implies inclusion of the following standard headers: ````, " -"````, ````, ````, ```` and " -"```` (if available)." -msgstr "" - -#: ../../c-api/intro.rst:70 -msgid "" -"Since Python may define some pre-processor definitions which affect the " -"standard headers on some systems, you *must* include :file:`Python.h` before" -" any standard headers are included." -msgstr "" - -#: ../../c-api/intro.rst:74 -msgid "" -"It is recommended to always define ``PY_SSIZE_T_CLEAN`` before including " -"``Python.h``. See :ref:`arg-parsing` for a description of this macro." -msgstr "" - -#: ../../c-api/intro.rst:77 -msgid "" -"All user visible names defined by Python.h (except those defined by the " -"included standard headers) have one of the prefixes ``Py`` or ``_Py``. " -"Names beginning with ``_Py`` are for internal use by the Python " -"implementation and should not be used by extension writers. Structure member" -" names do not have a reserved prefix." -msgstr "" - -#: ../../c-api/intro.rst:84 -msgid "" -"User code should never define names that begin with ``Py`` or ``_Py``. This " -"confuses the reader, and jeopardizes the portability of the user code to " -"future Python versions, which may define additional names beginning with one" -" of these prefixes." -msgstr "" - -#: ../../c-api/intro.rst:89 -msgid "" -"The header files are typically installed with Python. On Unix, these are " -"located in the directories :file:`{prefix}/include/pythonversion/` and " -":file:`{exec_prefix}/include/pythonversion/`, where :option:`prefix " -"<--prefix>` and :option:`exec_prefix <--exec-prefix>` are defined by the " -"corresponding parameters to Python's :program:`configure` script and " -"*version* is ``'%d.%d' % sys.version_info[:2]``. On Windows, the headers " -"are installed in :file:`{prefix}/include`, where ``prefix`` is the " -"installation directory specified to the installer." -msgstr "" - -#: ../../c-api/intro.rst:98 -msgid "" -"To include the headers, place both directories (if different) on your " -"compiler's search path for includes. Do *not* place the parent directories " -"on the search path and then use ``#include ``; this will" -" break on multi-platform builds since the platform independent headers under" -" :option:`prefix <--prefix>` include the platform specific headers from " -":option:`exec_prefix <--exec-prefix>`." -msgstr "" - -#: ../../c-api/intro.rst:105 -msgid "" -"C++ users should note that although the API is defined entirely using C, the" -" header files properly declare the entry points to be ``extern \"C\"``. As a" -" result, there is no need to do anything special to use the API from C++." -msgstr "" - -#: ../../c-api/intro.rst:111 -msgid "Useful macros" -msgstr "Makro yang berguna" - -#: ../../c-api/intro.rst:113 -msgid "" -"Several useful macros are defined in the Python header files. Many are " -"defined closer to where they are useful (e.g. :c:macro:`Py_RETURN_NONE`). " -"Others of a more general utility are defined here. This is not necessarily " -"a complete listing." -msgstr "" - -#: ../../c-api/intro.rst:120 -msgid "" -"Declare an extension module ``PyInit`` initialization function. The function" -" return type is :c:expr:`PyObject*`. The macro declares any special linkage " -"declarations required by the platform, and for C++ declares the function as " -"``extern \"C\"``." -msgstr "" - -#: ../../c-api/intro.rst:125 -msgid "" -"The initialization function must be named :samp:`PyInit_{name}`, where " -"*name* is the name of the module, and should be the only non-\\ ``static`` " -"item defined in the module file. Example::" -msgstr "" - -#: ../../c-api/intro.rst:129 -msgid "" -"static struct PyModuleDef spam_module = {\n" -" PyModuleDef_HEAD_INIT,\n" -" .m_name = \"spam\",\n" -" ...\n" -"};\n" -"\n" -"PyMODINIT_FUNC\n" -"PyInit_spam(void)\n" -"{\n" -" return PyModule_Create(&spam_module);\n" -"}" -msgstr "" - -#: ../../c-api/intro.rst:144 -msgid "Return the absolute value of ``x``." -msgstr "" - -#: ../../c-api/intro.rst:150 -msgid "" -"Ask the compiler to always inline a static inline function. The compiler can" -" ignore it and decide to not inline the function." -msgstr "" - -#: ../../c-api/intro.rst:153 -msgid "" -"It can be used to inline performance critical static inline functions when " -"building Python in debug mode with function inlining disabled. For example, " -"MSC disables function inlining when building in debug mode." -msgstr "" - -#: ../../c-api/intro.rst:157 -msgid "" -"Marking blindly a static inline function with Py_ALWAYS_INLINE can result in" -" worse performances (due to increased code size for example). The compiler " -"is usually smarter than the developer for the cost/benefit analysis." -msgstr "" - -#: ../../c-api/intro.rst:161 -msgid "" -"If Python is :ref:`built in debug mode ` (if the " -":c:macro:`Py_DEBUG` macro is defined), the :c:macro:`Py_ALWAYS_INLINE` macro" -" does nothing." -msgstr "" - -#: ../../c-api/intro.rst:164 -msgid "It must be specified before the function return type. Usage::" -msgstr "" - -#: ../../c-api/intro.rst:166 -msgid "static inline Py_ALWAYS_INLINE int random(void) { return 4; }" -msgstr "" - -#: ../../c-api/intro.rst:172 -msgid "" -"Argument must be a character or an integer in the range [-128, 127] or [0, " -"255]. This macro returns ``c`` cast to an ``unsigned char``." -msgstr "" - -#: ../../c-api/intro.rst:177 -msgid "" -"Use this for deprecated declarations. The macro must be placed before the " -"symbol name." -msgstr "" - -#: ../../c-api/intro.rst:180 ../../c-api/intro.rst:266 -#: ../../c-api/intro.rst:284 -msgid "Example::" -msgstr "Contoh::" - -#: ../../c-api/intro.rst:182 -msgid "Py_DEPRECATED(3.8) PyAPI_FUNC(int) Py_OldFunction(void);" -msgstr "" - -#: ../../c-api/intro.rst:184 -msgid "MSVC support was added." -msgstr "" - -#: ../../c-api/intro.rst:189 -msgid "" -"Like ``getenv(s)``, but returns ``NULL`` if :option:`-E` was passed on the " -"command line (see :c:member:`PyConfig.use_environment`)." -msgstr "" - -#: ../../c-api/intro.rst:194 -msgid "Return the maximum value between ``x`` and ``y``." -msgstr "" - -#: ../../c-api/intro.rst:200 -msgid "Return the size of a structure (``type``) ``member`` in bytes." -msgstr "" - -#: ../../c-api/intro.rst:206 -msgid "Return the minimum value between ``x`` and ``y``." -msgstr "" - -#: ../../c-api/intro.rst:212 -msgid "" -"Disable inlining on a function. For example, it reduces the C stack " -"consumption: useful on LTO+PGO builds which heavily inline code (see " -":issue:`33720`)." -msgstr "" - -#: ../../c-api/intro.rst:216 -msgid "Usage::" -msgstr "Penggunaan::" - -#: ../../c-api/intro.rst:218 -msgid "Py_NO_INLINE static int random(void) { return 4; }" -msgstr "" - -#: ../../c-api/intro.rst:224 -msgid "" -"Convert ``x`` to a C string. E.g. ``Py_STRINGIFY(123)`` returns " -"``\"123\"``." -msgstr "" - -#: ../../c-api/intro.rst:231 -msgid "" -"Use this when you have a code path that cannot be reached by design. For " -"example, in the ``default:`` clause in a ``switch`` statement for which all " -"possible values are covered in ``case`` statements. Use this in places " -"where you might be tempted to put an ``assert(0)`` or ``abort()`` call." -msgstr "" - -#: ../../c-api/intro.rst:236 -msgid "" -"In release mode, the macro helps the compiler to optimize the code, and " -"avoids a warning about unreachable code. For example, the macro is " -"implemented with ``__builtin_unreachable()`` on GCC in release mode." -msgstr "" - -#: ../../c-api/intro.rst:240 -msgid "" -"A use for ``Py_UNREACHABLE()`` is following a call a function that never " -"returns but that is not declared :c:macro:`_Py_NO_RETURN`." -msgstr "" - -#: ../../c-api/intro.rst:243 -msgid "" -"If a code path is very unlikely code but can be reached under exceptional " -"case, this macro must not be used. For example, under low memory condition " -"or if a system call returns a value out of the expected range. In this " -"case, it's better to report the error to the caller. If the error cannot be" -" reported to caller, :c:func:`Py_FatalError` can be used." -msgstr "" - -#: ../../c-api/intro.rst:253 -msgid "" -"Use this for unused arguments in a function definition to silence compiler " -"warnings. Example: ``int func(int a, int Py_UNUSED(b)) { return a; }``." -msgstr "" - -#: ../../c-api/intro.rst:260 -msgid "" -"Creates a variable with name ``name`` that can be used in docstrings. If " -"Python is built without docstrings, the value will be empty." -msgstr "" - -#: ../../c-api/intro.rst:263 -msgid "" -"Use :c:macro:`PyDoc_STRVAR` for docstrings to support building Python " -"without docstrings, as specified in :pep:`7`." -msgstr "" - -#: ../../c-api/intro.rst:268 -msgid "" -"PyDoc_STRVAR(pop_doc, \"Remove and return the rightmost element.\");\n" -"\n" -"static PyMethodDef deque_methods[] = {\n" -" // ...\n" -" {\"pop\", (PyCFunction)deque_pop, METH_NOARGS, pop_doc},\n" -" // ...\n" -"}" -msgstr "" - -#: ../../c-api/intro.rst:278 -msgid "" -"Creates a docstring for the given input string or an empty string if " -"docstrings are disabled." -msgstr "" - -#: ../../c-api/intro.rst:281 -msgid "" -"Use :c:macro:`PyDoc_STR` in specifying docstrings to support building Python" -" without docstrings, as specified in :pep:`7`." -msgstr "" - -#: ../../c-api/intro.rst:286 -msgid "" -"static PyMethodDef pysqlite_row_methods[] = {\n" -" {\"keys\", (PyCFunction)pysqlite_row_keys, METH_NOARGS,\n" -" PyDoc_STR(\"Returns the keys of the row.\")},\n" -" {NULL, NULL}\n" -"};" -msgstr "" - -#: ../../c-api/intro.rst:296 -msgid "Objects, Types and Reference Counts" -msgstr "Objek, Tipe dan Jumlah Referensi" - -#: ../../c-api/intro.rst:300 -msgid "" -"Most Python/C API functions have one or more arguments as well as a return " -"value of type :c:expr:`PyObject*`. This type is a pointer to an opaque data" -" type representing an arbitrary Python object. Since all Python object " -"types are treated the same way by the Python language in most situations " -"(e.g., assignments, scope rules, and argument passing), it is only fitting " -"that they should be represented by a single C type. Almost all Python " -"objects live on the heap: you never declare an automatic or static variable " -"of type :c:type:`PyObject`, only pointer variables of type " -":c:expr:`PyObject*` can be declared. The sole exception are the type " -"objects; since these must never be deallocated, they are typically static " -":c:type:`PyTypeObject` objects." -msgstr "" - -#: ../../c-api/intro.rst:311 -msgid "" -"All Python objects (even Python integers) have a :dfn:`type` and a " -":dfn:`reference count`. An object's type determines what kind of object it " -"is (e.g., an integer, a list, or a user-defined function; there are many " -"more as explained in :ref:`types`). For each of the well-known types there " -"is a macro to check whether an object is of that type; for instance, " -"``PyList_Check(a)`` is true if (and only if) the object pointed to by *a* is" -" a Python list." -msgstr "" - -#: ../../c-api/intro.rst:322 -msgid "Reference Counts" -msgstr "" - -#: ../../c-api/intro.rst:324 -msgid "" -"The reference count is important because today's computers have a finite " -"(and often severely limited) memory size; it counts how many different " -"places there are that have a :term:`strong reference` to an object. Such a " -"place could be another object, or a global (or static) C variable, or a " -"local variable in some C function. When the last :term:`strong reference` to" -" an object is released (i.e. its reference count becomes zero), the object " -"is deallocated. If it contains references to other objects, those references" -" are released. Those other objects may be deallocated in turn, if there are " -"no more references to them, and so on. (There's an obvious problem with " -"objects that reference each other here; for now, the solution is \"don't do " -"that.\")" -msgstr "" - -#: ../../c-api/intro.rst:341 -msgid "" -"Reference counts are always manipulated explicitly. The normal way is to " -"use the macro :c:func:`Py_INCREF` to take a new reference to an object (i.e." -" increment its reference count by one), and :c:func:`Py_DECREF` to release " -"that reference (i.e. decrement the reference count by one). The " -":c:func:`Py_DECREF` macro is considerably more complex than the incref one, " -"since it must check whether the reference count becomes zero and then cause " -"the object's deallocator to be called. The deallocator is a function " -"pointer contained in the object's type structure. The type-specific " -"deallocator takes care of releasing references for other objects contained " -"in the object if this is a compound object type, such as a list, as well as " -"performing any additional finalization that's needed. There's no chance " -"that the reference count can overflow; at least as many bits are used to " -"hold the reference count as there are distinct memory locations in virtual " -"memory (assuming ``sizeof(Py_ssize_t) >= sizeof(void*)``). Thus, the " -"reference count increment is a simple operation." -msgstr "" - -#: ../../c-api/intro.rst:357 -msgid "" -"It is not necessary to hold a :term:`strong reference` (i.e. increment the " -"reference count) for every local variable that contains a pointer to an " -"object. In theory, the object's reference count goes up by one when the " -"variable is made to point to it and it goes down by one when the variable " -"goes out of scope. However, these two cancel each other out, so at the end" -" the reference count hasn't changed. The only real reason to use the " -"reference count is to prevent the object from being deallocated as long as " -"our variable is pointing to it. If we know that there is at least one " -"other reference to the object that lives at least as long as our variable, " -"there is no need to take a new :term:`strong reference` (i.e. increment the " -"reference count) temporarily. An important situation where this arises is in" -" objects that are passed as arguments to C functions in an extension module" -" that are called from Python; the call mechanism guarantees to hold a " -"reference to every argument for the duration of the call." -msgstr "" - -#: ../../c-api/intro.rst:373 -msgid "" -"However, a common pitfall is to extract an object from a list and hold on to" -" it for a while without taking a new reference. Some other operation might " -"conceivably remove the object from the list, releasing that reference, and " -"possibly deallocating it. The real danger is that innocent-looking " -"operations may invoke arbitrary Python code which could do this; there is a " -"code path which allows control to flow back to the user from a " -":c:func:`Py_DECREF`, so almost any operation is potentially dangerous." -msgstr "" - -#: ../../c-api/intro.rst:381 -msgid "" -"A safe approach is to always use the generic operations (functions whose " -"name begins with ``PyObject_``, ``PyNumber_``, ``PySequence_`` or " -"``PyMapping_``). These operations always create a new :term:`strong " -"reference` (i.e. increment the reference count) of the object they return. " -"This leaves the caller with the responsibility to call :c:func:`Py_DECREF` " -"when they are done with the result; this soon becomes second nature." -msgstr "" - -#: ../../c-api/intro.rst:392 -msgid "Reference Count Details" -msgstr "" - -#: ../../c-api/intro.rst:394 -msgid "" -"The reference count behavior of functions in the Python/C API is best " -"explained in terms of *ownership of references*. Ownership pertains to " -"references, never to objects (objects are not owned: they are always " -"shared). \"Owning a reference\" means being responsible for calling " -"Py_DECREF on it when the reference is no longer needed. Ownership can also " -"be transferred, meaning that the code that receives ownership of the " -"reference then becomes responsible for eventually releasing it by calling " -":c:func:`Py_DECREF` or :c:func:`Py_XDECREF` when it's no longer needed---or " -"passing on this responsibility (usually to its caller). When a function " -"passes ownership of a reference on to its caller, the caller is said to " -"receive a *new* reference. When no ownership is transferred, the caller is " -"said to *borrow* the reference. Nothing needs to be done for a " -":term:`borrowed reference`." -msgstr "" - -#: ../../c-api/intro.rst:407 -msgid "" -"Conversely, when a calling function passes in a reference to an object, " -"there are two possibilities: the function *steals* a reference to the " -"object, or it does not. *Stealing a reference* means that when you pass a " -"reference to a function, that function assumes that it now owns that " -"reference, and you are not responsible for it any longer." -msgstr "" - -#: ../../c-api/intro.rst:417 -msgid "" -"Few functions steal references; the two notable exceptions are " -":c:func:`PyList_SetItem` and :c:func:`PyTuple_SetItem`, which steal a " -"reference to the item (but not to the tuple or list into which the item is " -"put!). These functions were designed to steal a reference because of a " -"common idiom for populating a tuple or list with newly created objects; for " -"example, the code to create the tuple ``(1, 2, \"three\")`` could look like " -"this (forgetting about error handling for the moment; a better way to code " -"this is shown below)::" -msgstr "" - -#: ../../c-api/intro.rst:425 -msgid "" -"PyObject *t;\n" -"\n" -"t = PyTuple_New(3);\n" -"PyTuple_SetItem(t, 0, PyLong_FromLong(1L));\n" -"PyTuple_SetItem(t, 1, PyLong_FromLong(2L));\n" -"PyTuple_SetItem(t, 2, PyUnicode_FromString(\"three\"));" -msgstr "" - -#: ../../c-api/intro.rst:432 -msgid "" -"Here, :c:func:`PyLong_FromLong` returns a new reference which is immediately" -" stolen by :c:func:`PyTuple_SetItem`. When you want to keep using an object" -" although the reference to it will be stolen, use :c:func:`Py_INCREF` to " -"grab another reference before calling the reference-stealing function." -msgstr "" - -#: ../../c-api/intro.rst:437 -msgid "" -"Incidentally, :c:func:`PyTuple_SetItem` is the *only* way to set tuple " -"items; :c:func:`PySequence_SetItem` and :c:func:`PyObject_SetItem` refuse to" -" do this since tuples are an immutable data type. You should only use " -":c:func:`PyTuple_SetItem` for tuples that you are creating yourself." -msgstr "" - -#: ../../c-api/intro.rst:442 -msgid "" -"Equivalent code for populating a list can be written using " -":c:func:`PyList_New` and :c:func:`PyList_SetItem`." -msgstr "" - -#: ../../c-api/intro.rst:445 -msgid "" -"However, in practice, you will rarely use these ways of creating and " -"populating a tuple or list. There's a generic function, " -":c:func:`Py_BuildValue`, that can create most common objects from C values, " -"directed by a :dfn:`format string`. For example, the above two blocks of " -"code could be replaced by the following (which also takes care of the error " -"checking)::" -msgstr "" - -#: ../../c-api/intro.rst:451 -msgid "" -"PyObject *tuple, *list;\n" -"\n" -"tuple = Py_BuildValue(\"(iis)\", 1, 2, \"three\");\n" -"list = Py_BuildValue(\"[iis]\", 1, 2, \"three\");" -msgstr "" - -#: ../../c-api/intro.rst:456 -msgid "" -"It is much more common to use :c:func:`PyObject_SetItem` and friends with " -"items whose references you are only borrowing, like arguments that were " -"passed in to the function you are writing. In that case, their behaviour " -"regarding references is much saner, since you don't have to take a new " -"reference just so you can give that reference away (\"have it be stolen\")." -" For example, this function sets all items of a list (actually, any mutable" -" sequence) to a given item::" -msgstr "" - -#: ../../c-api/intro.rst:463 -msgid "" -"int\n" -"set_all(PyObject *target, PyObject *item)\n" -"{\n" -" Py_ssize_t i, n;\n" -"\n" -" n = PyObject_Length(target);\n" -" if (n < 0)\n" -" return -1;\n" -" for (i = 0; i < n; i++) {\n" -" PyObject *index = PyLong_FromSsize_t(i);\n" -" if (!index)\n" -" return -1;\n" -" if (PyObject_SetItem(target, index, item) < 0) {\n" -" Py_DECREF(index);\n" -" return -1;\n" -" }\n" -" Py_DECREF(index);\n" -" }\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../c-api/intro.rst:486 -msgid "" -"The situation is slightly different for function return values. While " -"passing a reference to most functions does not change your ownership " -"responsibilities for that reference, many functions that return a reference" -" to an object give you ownership of the reference. The reason is simple: in " -"many cases, the returned object is created on the fly, and the reference " -"you get is the only reference to the object. Therefore, the generic " -"functions that return object references, like :c:func:`PyObject_GetItem` and" -" :c:func:`PySequence_GetItem`, always return a new reference (the caller " -"becomes the owner of the reference)." -msgstr "" - -#: ../../c-api/intro.rst:495 -msgid "" -"It is important to realize that whether you own a reference returned by a " -"function depends on which function you call only --- *the plumage* (the type" -" of the object passed as an argument to the function) *doesn't enter into " -"it!* Thus, if you extract an item from a list using " -":c:func:`PyList_GetItem`, you don't own the reference --- but if you obtain " -"the same item from the same list using :c:func:`PySequence_GetItem` (which " -"happens to take exactly the same arguments), you do own a reference to the " -"returned object." -msgstr "" - -#: ../../c-api/intro.rst:507 -msgid "" -"Here is an example of how you could write a function that computes the sum " -"of the items in a list of integers; once using :c:func:`PyList_GetItem`, " -"and once using :c:func:`PySequence_GetItem`. ::" -msgstr "" - -#: ../../c-api/intro.rst:511 -msgid "" -"long\n" -"sum_list(PyObject *list)\n" -"{\n" -" Py_ssize_t i, n;\n" -" long total = 0, value;\n" -" PyObject *item;\n" -"\n" -" n = PyList_Size(list);\n" -" if (n < 0)\n" -" return -1; /* Not a list */\n" -" for (i = 0; i < n; i++) {\n" -" item = PyList_GetItem(list, i); /* Can't fail */\n" -" if (!PyLong_Check(item)) continue; /* Skip non-integers */\n" -" value = PyLong_AsLong(item);\n" -" if (value == -1 && PyErr_Occurred())\n" -" /* Integer too big to fit in a C long, bail out */\n" -" return -1;\n" -" total += value;\n" -" }\n" -" return total;\n" -"}" -msgstr "" - -#: ../../c-api/intro.rst:537 -msgid "" -"long\n" -"sum_sequence(PyObject *sequence)\n" -"{\n" -" Py_ssize_t i, n;\n" -" long total = 0, value;\n" -" PyObject *item;\n" -" n = PySequence_Length(sequence);\n" -" if (n < 0)\n" -" return -1; /* Has no length */\n" -" for (i = 0; i < n; i++) {\n" -" item = PySequence_GetItem(sequence, i);\n" -" if (item == NULL)\n" -" return -1; /* Not a sequence, or other failure */\n" -" if (PyLong_Check(item)) {\n" -" value = PyLong_AsLong(item);\n" -" Py_DECREF(item);\n" -" if (value == -1 && PyErr_Occurred())\n" -" /* Integer too big to fit in a C long, bail out */\n" -" return -1;\n" -" total += value;\n" -" }\n" -" else {\n" -" Py_DECREF(item); /* Discard reference ownership */\n" -" }\n" -" }\n" -" return total;\n" -"}" -msgstr "" - -#: ../../c-api/intro.rst:571 -msgid "Types" -msgstr "Tipe-tipe" - -#: ../../c-api/intro.rst:573 -msgid "" -"There are few other data types that play a significant role in the Python/C" -" API; most are simple C types such as :c:expr:`int`, :c:expr:`long`, " -":c:expr:`double` and :c:expr:`char*`. A few structure types are used to " -"describe static tables used to list the functions exported by a module or " -"the data attributes of a new object type, and another is used to describe " -"the value of a complex number. These will be discussed together with the " -"functions that use them." -msgstr "" - -#: ../../c-api/intro.rst:583 -msgid "" -"A signed integral type such that ``sizeof(Py_ssize_t) == sizeof(size_t)``. " -"C99 doesn't define such a thing directly (size_t is an unsigned integral " -"type). See :pep:`353` for details. ``PY_SSIZE_T_MAX`` is the largest " -"positive value of type :c:type:`Py_ssize_t`." -msgstr "" - -#: ../../c-api/intro.rst:592 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../c-api/intro.rst:594 -msgid "" -"The Python programmer only needs to deal with exceptions if specific error " -"handling is required; unhandled exceptions are automatically propagated to " -"the caller, then to the caller's caller, and so on, until they reach the " -"top-level interpreter, where they are reported to the user accompanied by a" -" stack traceback." -msgstr "" - -#: ../../c-api/intro.rst:602 -msgid "" -"For C programmers, however, error checking always has to be explicit. All " -"functions in the Python/C API can raise exceptions, unless an explicit claim" -" is made otherwise in a function's documentation. In general, when a " -"function encounters an error, it sets an exception, discards any object " -"references that it owns, and returns an error indicator. If not documented " -"otherwise, this indicator is either ``NULL`` or ``-1``, depending on the " -"function's return type. A few functions return a Boolean true/false result, " -"with false indicating an error. Very few functions return no explicit error" -" indicator or have an ambiguous return value, and require explicit testing " -"for errors with :c:func:`PyErr_Occurred`. These exceptions are always " -"explicitly documented." -msgstr "" - -#: ../../c-api/intro.rst:617 -msgid "" -"Exception state is maintained in per-thread storage (this is equivalent to " -"using global storage in an unthreaded application). A thread can be in one" -" of two states: an exception has occurred, or not. The function " -":c:func:`PyErr_Occurred` can be used to check for this: it returns a " -"borrowed reference to the exception type object when an exception has " -"occurred, and ``NULL`` otherwise. There are a number of functions to set " -"the exception state: :c:func:`PyErr_SetString` is the most common (though " -"not the most general) function to set the exception state, and " -":c:func:`PyErr_Clear` clears the exception state." -msgstr "" - -#: ../../c-api/intro.rst:627 -msgid "" -"The full exception state consists of three objects (all of which can be " -"``NULL``): the exception type, the corresponding exception value, and the " -"traceback. These have the same meanings as the Python result of " -"``sys.exc_info()``; however, they are not the same: the Python objects " -"represent the last exception being handled by a Python :keyword:`try` ... " -":keyword:`except` statement, while the C level exception state only exists " -"while an exception is being passed on between C functions until it reaches " -"the Python bytecode interpreter's main loop, which takes care of " -"transferring it to ``sys.exc_info()`` and friends." -msgstr "" - -#: ../../c-api/intro.rst:639 -msgid "" -"Note that starting with Python 1.5, the preferred, thread-safe way to access" -" the exception state from Python code is to call the function " -":func:`sys.exc_info`, which returns the per-thread exception state for " -"Python code. Also, the semantics of both ways to access the exception state" -" have changed so that a function which catches an exception will save and " -"restore its thread's exception state so as to preserve the exception state " -"of its caller. This prevents common bugs in exception handling code caused " -"by an innocent-looking function overwriting the exception being handled; it " -"also reduces the often unwanted lifetime extension for objects that are " -"referenced by the stack frames in the traceback." -msgstr "" - -#: ../../c-api/intro.rst:650 -msgid "" -"As a general principle, a function that calls another function to perform " -"some task should check whether the called function raised an exception, and" -" if so, pass the exception state on to its caller. It should discard any " -"object references that it owns, and return an error indicator, but it " -"should *not* set another exception --- that would overwrite the exception " -"that was just raised, and lose important information about the exact cause " -"of the error." -msgstr "" - -#: ../../c-api/intro.rst:659 -msgid "" -"A simple example of detecting exceptions and passing them on is shown in the" -" :c:func:`!sum_sequence` example above. It so happens that this example " -"doesn't need to clean up any owned references when it detects an error. The" -" following example function shows some error cleanup. First, to remind you " -"why you like Python, we show the equivalent Python code::" -msgstr "" - -#: ../../c-api/intro.rst:665 -msgid "" -"def incr_item(dict, key):\n" -" try:\n" -" item = dict[key]\n" -" except KeyError:\n" -" item = 0\n" -" dict[key] = item + 1" -msgstr "" - -#: ../../c-api/intro.rst:674 -msgid "Here is the corresponding C code, in all its glory::" -msgstr "" - -#: ../../c-api/intro.rst:676 -msgid "" -"int\n" -"incr_item(PyObject *dict, PyObject *key)\n" -"{\n" -" /* Objects all initialized to NULL for Py_XDECREF */\n" -" PyObject *item = NULL, *const_one = NULL, *incremented_item = NULL;\n" -" int rv = -1; /* Return value initialized to -1 (failure) */\n" -"\n" -" item = PyObject_GetItem(dict, key);\n" -" if (item == NULL) {\n" -" /* Handle KeyError only: */\n" -" if (!PyErr_ExceptionMatches(PyExc_KeyError))\n" -" goto error;\n" -"\n" -" /* Clear the error and use zero: */\n" -" PyErr_Clear();\n" -" item = PyLong_FromLong(0L);\n" -" if (item == NULL)\n" -" goto error;\n" -" }\n" -" const_one = PyLong_FromLong(1L);\n" -" if (const_one == NULL)\n" -" goto error;\n" -"\n" -" incremented_item = PyNumber_Add(item, const_one);\n" -" if (incremented_item == NULL)\n" -" goto error;\n" -"\n" -" if (PyObject_SetItem(dict, key, incremented_item) < 0)\n" -" goto error;\n" -" rv = 0; /* Success */\n" -" /* Continue with cleanup code */\n" -"\n" -" error:\n" -" /* Cleanup code, shared by success and failure path */\n" -"\n" -" /* Use Py_XDECREF() to ignore NULL references */\n" -" Py_XDECREF(item);\n" -" Py_XDECREF(const_one);\n" -" Py_XDECREF(incremented_item);\n" -"\n" -" return rv; /* -1 for error, 0 for success */\n" -"}" -msgstr "" - -#: ../../c-api/intro.rst:726 -msgid "" -"This example represents an endorsed use of the ``goto`` statement in C! It " -"illustrates the use of :c:func:`PyErr_ExceptionMatches` and " -":c:func:`PyErr_Clear` to handle specific exceptions, and the use of " -":c:func:`Py_XDECREF` to dispose of owned references that may be ``NULL`` " -"(note the ``'X'`` in the name; :c:func:`Py_DECREF` would crash when " -"confronted with a ``NULL`` reference). It is important that the variables " -"used to hold owned references are initialized to ``NULL`` for this to work; " -"likewise, the proposed return value is initialized to ``-1`` (failure) and " -"only set to success after the final call made is successful." -msgstr "" - -#: ../../c-api/intro.rst:740 -msgid "Embedding Python" -msgstr "" - -#: ../../c-api/intro.rst:742 -msgid "" -"The one important task that only embedders (as opposed to extension writers)" -" of the Python interpreter have to worry about is the initialization, and " -"possibly the finalization, of the Python interpreter. Most functionality of" -" the interpreter can only be used after the interpreter has been " -"initialized." -msgstr "" - -#: ../../c-api/intro.rst:755 -msgid "" -"The basic initialization function is :c:func:`Py_Initialize`. This " -"initializes the table of loaded modules, and creates the fundamental modules" -" :mod:`builtins`, :mod:`__main__`, and :mod:`sys`. It also initializes the " -"module search path (``sys.path``)." -msgstr "" - -#: ../../c-api/intro.rst:760 -msgid "" -":c:func:`Py_Initialize` does not set the \"script argument list\" " -"(``sys.argv``). If this variable is needed by Python code that will be " -"executed later, setting :c:member:`PyConfig.argv` and " -":c:member:`PyConfig.parse_argv` must be set: see :ref:`Python Initialization" -" Configuration `." -msgstr "" - -#: ../../c-api/intro.rst:765 -msgid "" -"On most systems (in particular, on Unix and Windows, although the details " -"are slightly different), :c:func:`Py_Initialize` calculates the module " -"search path based upon its best guess for the location of the standard " -"Python interpreter executable, assuming that the Python library is found in " -"a fixed location relative to the Python interpreter executable. In " -"particular, it looks for a directory named :file:`lib/python{X.Y}` relative " -"to the parent directory where the executable named :file:`python` is found " -"on the shell command search path (the environment variable :envvar:`PATH`)." -msgstr "" - -#: ../../c-api/intro.rst:774 -msgid "" -"For instance, if the Python executable is found in " -":file:`/usr/local/bin/python`, it will assume that the libraries are in " -":file:`/usr/local/lib/python{X.Y}`. (In fact, this particular path is also " -"the \"fallback\" location, used when no executable file named :file:`python`" -" is found along :envvar:`PATH`.) The user can override this behavior by " -"setting the environment variable :envvar:`PYTHONHOME`, or insert additional " -"directories in front of the standard path by setting :envvar:`PYTHONPATH`." -msgstr "" - -#: ../../c-api/intro.rst:788 -msgid "" -"The embedding application can steer the search by setting " -":c:member:`PyConfig.program_name` *before* calling " -":c:func:`Py_InitializeFromConfig`. Note that :envvar:`PYTHONHOME` still " -"overrides this and :envvar:`PYTHONPATH` is still inserted in front of the " -"standard path. An application that requires total control has to provide " -"its own implementation of :c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, " -":c:func:`Py_GetExecPrefix`, and :c:func:`Py_GetProgramFullPath` (all defined" -" in :file:`Modules/getpath.c`)." -msgstr "" - -#: ../../c-api/intro.rst:799 -msgid "" -"Sometimes, it is desirable to \"uninitialize\" Python. For instance, the " -"application may want to start over (make another call to " -":c:func:`Py_Initialize`) or the application is simply done with its use of " -"Python and wants to free memory allocated by Python. This can be " -"accomplished by calling :c:func:`Py_FinalizeEx`. The function " -":c:func:`Py_IsInitialized` returns true if Python is currently in the " -"initialized state. More information about these functions is given in a " -"later chapter. Notice that :c:func:`Py_FinalizeEx` does *not* free all " -"memory allocated by the Python interpreter, e.g. memory allocated by " -"extension modules currently cannot be released." -msgstr "" - -#: ../../c-api/intro.rst:813 -msgid "Debugging Builds" -msgstr "" - -#: ../../c-api/intro.rst:815 -msgid "" -"Python can be built with several macros to enable extra checks of the " -"interpreter and extension modules. These checks tend to add a large amount " -"of overhead to the runtime so they are not enabled by default." -msgstr "" - -#: ../../c-api/intro.rst:819 -msgid "" -"A full list of the various types of debugging builds is in the file " -":file:`Misc/SpecialBuilds.txt` in the Python source distribution. Builds are" -" available that support tracing of reference counts, debugging the memory " -"allocator, or low-level profiling of the main interpreter loop. Only the " -"most frequently used builds will be described in the remainder of this " -"section." -msgstr "" - -#: ../../c-api/intro.rst:827 -msgid "" -"Compiling the interpreter with the :c:macro:`!Py_DEBUG` macro defined " -"produces what is generally meant by :ref:`a debug build of Python `. :c:macro:`!Py_DEBUG` is enabled in the Unix build by adding " -":option:`--with-pydebug` to the :file:`./configure` command. It is also " -"implied by the presence of the not-Python-specific :c:macro:`!_DEBUG` macro." -" When :c:macro:`!Py_DEBUG` is enabled in the Unix build, compiler " -"optimization is disabled." -msgstr "" - -#: ../../c-api/intro.rst:835 -msgid "" -"In addition to the reference count debugging described below, extra checks " -"are performed, see :ref:`Python Debug Build `." -msgstr "" - -#: ../../c-api/intro.rst:838 -msgid "" -"Defining :c:macro:`Py_TRACE_REFS` enables reference tracing (see the " -":option:`configure --with-trace-refs option <--with-trace-refs>`). When " -"defined, a circular doubly linked list of active objects is maintained by " -"adding two extra fields to every :c:type:`PyObject`. Total allocations are " -"tracked as well. Upon exit, all existing references are printed. (In " -"interactive mode this happens after every statement run by the interpreter.)" -msgstr "" - -#: ../../c-api/intro.rst:845 -msgid "" -"Please refer to :file:`Misc/SpecialBuilds.txt` in the Python source " -"distribution for more detailed information." -msgstr "" - -#: ../../c-api/intro.rst:298 -msgid "object" -msgstr "objek" - -#: ../../c-api/intro.rst:298 -msgid "type" -msgstr "tipe" - -#: ../../c-api/intro.rst:337 -msgid "Py_INCREF (C function)" -msgstr "" - -#: ../../c-api/intro.rst:337 -msgid "Py_DECREF (C function)" -msgstr "" - -#: ../../c-api/intro.rst:413 -msgid "PyList_SetItem (C function)" -msgstr "" - -#: ../../c-api/intro.rst:413 -msgid "PyTuple_SetItem (C function)" -msgstr "" - -#: ../../c-api/intro.rst:484 -msgid "set_all()" -msgstr "" - -#: ../../c-api/intro.rst:503 -msgid "PyList_GetItem (C function)" -msgstr "" - -#: ../../c-api/intro.rst:503 -msgid "PySequence_GetItem (C function)" -msgstr "" - -#: ../../c-api/intro.rst:533 -msgid "sum_list()" -msgstr "" - -#: ../../c-api/intro.rst:565 ../../c-api/intro.rst:657 -msgid "sum_sequence()" -msgstr "" - -#: ../../c-api/intro.rst:600 -msgid "PyErr_Occurred (C function)" -msgstr "" - -#: ../../c-api/intro.rst:613 -msgid "PyErr_SetString (C function)" -msgstr "" - -#: ../../c-api/intro.rst:613 ../../c-api/intro.rst:721 -msgid "PyErr_Clear (C function)" -msgstr "" - -#: ../../c-api/intro.rst:637 -msgid "exc_info (in module sys)" -msgstr "" - -#: ../../c-api/intro.rst:672 ../../c-api/intro.rst:719 -msgid "incr_item()" -msgstr "" - -#: ../../c-api/intro.rst:721 -msgid "PyErr_ExceptionMatches (C function)" -msgstr "" - -#: ../../c-api/intro.rst:721 -msgid "Py_XDECREF (C function)" -msgstr "" - -#: ../../c-api/intro.rst:747 -msgid "Py_Initialize (C function)" -msgstr "" - -#: ../../c-api/intro.rst:747 -msgid "module" -msgstr "modul" - -#: ../../c-api/intro.rst:747 -msgid "builtins" -msgstr "builtins" - -#: ../../c-api/intro.rst:747 -msgid "__main__" -msgstr "" - -#: ../../c-api/intro.rst:747 -msgid "sys" -msgstr "sys" - -#: ../../c-api/intro.rst:747 -msgid "search" -msgstr "" - -#: ../../c-api/intro.rst:747 -msgid "path" -msgstr "" - -#: ../../c-api/intro.rst:747 -msgid "path (in module sys)" -msgstr "" - -#: ../../c-api/intro.rst:782 -msgid "Py_GetPath (C function)" -msgstr "" - -#: ../../c-api/intro.rst:782 -msgid "Py_GetPrefix (C function)" -msgstr "" - -#: ../../c-api/intro.rst:782 -msgid "Py_GetExecPrefix (C function)" -msgstr "" - -#: ../../c-api/intro.rst:782 -msgid "Py_GetProgramFullPath (C function)" -msgstr "" - -#: ../../c-api/intro.rst:797 -msgid "Py_IsInitialized (C function)" -msgstr "" diff --git a/python-newest.c-api--iter/id.po b/python-newest.c-api--iter/id.po deleted file mode 100644 index 5f9ec4f..0000000 --- a/python-newest.c-api--iter/id.po +++ /dev/null @@ -1,88 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/iter.rst:6 -msgid "Iterator Protocol" -msgstr "" - -#: ../../c-api/iter.rst:8 -msgid "There are two functions specifically for working with iterators." -msgstr "" - -#: ../../c-api/iter.rst:12 -msgid "" -"Return non-zero if the object *o* can be safely passed to " -":c:func:`PyIter_NextItem` and ``0`` otherwise. This function always " -"succeeds." -msgstr "" - -#: ../../c-api/iter.rst:18 -msgid "" -"Return non-zero if the object *o* provides the :class:`AsyncIterator` " -"protocol, and ``0`` otherwise. This function always succeeds." -msgstr "" - -#: ../../c-api/iter.rst:25 -msgid "" -"Return ``1`` and set *item* to a :term:`strong reference` of the next value " -"of the iterator *iter* on success. Return ``0`` and set *item* to ``NULL`` " -"if there are no remaining values. Return ``-1``, set *item* to ``NULL`` and " -"set an exception on error." -msgstr "" - -#: ../../c-api/iter.rst:34 -msgid "" -"This is an older version of :c:func:`!PyIter_NextItem`, which is retained " -"for backwards compatibility. Prefer :c:func:`PyIter_NextItem`." -msgstr "" - -#: ../../c-api/iter.rst:38 -msgid "" -"Return the next value from the iterator *o*. The object must be an iterator" -" according to :c:func:`PyIter_Check` (it is up to the caller to check this)." -" If there are no remaining values, returns ``NULL`` with no exception set. " -"If an error occurs while retrieving the item, returns ``NULL`` and passes " -"along the exception." -msgstr "" - -#: ../../c-api/iter.rst:46 -msgid "" -"The enum value used to represent different results of :c:func:`PyIter_Send`." -msgstr "" - -#: ../../c-api/iter.rst:53 -msgid "Sends the *arg* value into the iterator *iter*. Returns:" -msgstr "" - -#: ../../c-api/iter.rst:55 -msgid "" -"``PYGEN_RETURN`` if iterator returns. Return value is returned via " -"*presult*." -msgstr "" - -#: ../../c-api/iter.rst:56 -msgid "" -"``PYGEN_NEXT`` if iterator yields. Yielded value is returned via *presult*." -msgstr "" - -#: ../../c-api/iter.rst:57 -msgid "" -"``PYGEN_ERROR`` if iterator has raised and exception. *presult* is set to " -"``NULL``." -msgstr "" diff --git a/python-newest.c-api--iterator/id.po b/python-newest.c-api--iterator/id.po deleted file mode 100644 index e420bee..0000000 --- a/python-newest.c-api--iterator/id.po +++ /dev/null @@ -1,89 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# LIQRGV , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: LIQRGV , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/iterator.rst:6 -msgid "Iterator Objects" -msgstr "Objek Iterator " - -#: ../../c-api/iterator.rst:8 -msgid "" -"Python provides two general-purpose iterator objects. The first, a sequence" -" iterator, works with an arbitrary sequence supporting the " -":meth:`~object.__getitem__` method. The second works with a callable object" -" and a sentinel value, calling the callable for each item in the sequence, " -"and ending the iteration when the sentinel value is returned." -msgstr "" - -#: ../../c-api/iterator.rst:17 -msgid "" -"Type object for iterator objects returned by :c:func:`PySeqIter_New` and the" -" one-argument form of the :func:`iter` built-in function for built-in " -"sequence types." -msgstr "" -"Tipe objek untuk objek iterator yang dikembalikan oleh " -":c:func:`PySeqIter_New` dan bentuk satu argumen dari fungsi bawaan " -":func:`iter` untuk tipe urutan bawaan." - -#: ../../c-api/iterator.rst:24 -msgid "" -"Return true if the type of *op* is :c:data:`PySeqIter_Type`. This function " -"always succeeds." -msgstr "" - -#: ../../c-api/iterator.rst:30 -msgid "" -"Return an iterator that works with a general sequence object, *seq*. The " -"iteration ends when the sequence raises :exc:`IndexError` for the " -"subscripting operation." -msgstr "" -"Mengembalikan iterator yang bekerja dengan objek urutan umum, *seq*. Iterasi" -" berakhir ketika urutan memunculkan :exc:`IndexError` untuk operasi " -"berlangganan (subscripting)." - -#: ../../c-api/iterator.rst:37 -msgid "" -"Type object for iterator objects returned by :c:func:`PyCallIter_New` and " -"the two-argument form of the :func:`iter` built-in function." -msgstr "" -"Tipe objek untuk objek iterator yang dikembalikan oleh " -":c:func:`PyCallIter_New` dan bentuk dua argumen dari fungsi bawaan " -":func:`iter` ." - -#: ../../c-api/iterator.rst:43 -msgid "" -"Return true if the type of *op* is :c:data:`PyCallIter_Type`. This function" -" always succeeds." -msgstr "" - -#: ../../c-api/iterator.rst:49 -msgid "" -"Return a new iterator. The first parameter, *callable*, can be any Python " -"callable object that can be called with no parameters; each call to it " -"should return the next item in the iteration. When *callable* returns a " -"value equal to *sentinel*, the iteration will be terminated." -msgstr "" -"Mengembalikan iterator baru. Parameter pertama, *callable*, dapat berupa " -"objek Python callable apa saja yang bisa dipanggil tanpa parameter; setiap " -"pemanggilan harus mengembalikan butir (item) berikutnya pada iterator. " -"Ketika *callable* mengembalikan nilai sama dengan *sentinel*, perulangan " -"akan dihentikan." diff --git a/python-newest.c-api--list/id.po b/python-newest.c-api--list/id.po deleted file mode 100644 index 6121f02..0000000 --- a/python-newest.c-api--list/id.po +++ /dev/null @@ -1,221 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2023 -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/list.rst:6 -msgid "List Objects" -msgstr "" - -#: ../../c-api/list.rst:13 -msgid "This subtype of :c:type:`PyObject` represents a Python list object." -msgstr "" - -#: ../../c-api/list.rst:18 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python list type. " -"This is the same object as :class:`list` in the Python layer." -msgstr "" - -#: ../../c-api/list.rst:24 -msgid "" -"Return true if *p* is a list object or an instance of a subtype of the list " -"type. This function always succeeds." -msgstr "" - -#: ../../c-api/list.rst:30 -msgid "" -"Return true if *p* is a list object, but not an instance of a subtype of the" -" list type. This function always succeeds." -msgstr "" - -#: ../../c-api/list.rst:36 -msgid "Return a new list of length *len* on success, or ``NULL`` on failure." -msgstr "" - -#: ../../c-api/list.rst:40 -msgid "" -"If *len* is greater than zero, the returned list object's items are set to " -"``NULL``. Thus you cannot use abstract API functions such as " -":c:func:`PySequence_SetItem` or expose the object to Python code before " -"setting all items to a real object with :c:func:`PyList_SetItem` or " -":c:func:`PyList_SET_ITEM()`. The following APIs are safe APIs before the " -"list is fully initialized: :c:func:`PyList_SetItem()` and " -":c:func:`PyList_SET_ITEM()`." -msgstr "" - -#: ../../c-api/list.rst:53 -msgid "" -"Return the length of the list object in *list*; this is equivalent to " -"``len(list)`` on a list object." -msgstr "" - -#: ../../c-api/list.rst:59 -msgid "Similar to :c:func:`PyList_Size`, but without error checking." -msgstr "" - -#: ../../c-api/list.rst:64 -msgid "" -"Return the object at position *index* in the list pointed to by *list*. The" -" position must be non-negative; indexing from the end of the list is not " -"supported. If *index* is out of bounds (:code:`<0 or >=len(list)`), return " -"``NULL`` and set an :exc:`IndexError` exception." -msgstr "" - -#: ../../c-api/list.rst:74 -msgid "" -"Like :c:func:`PyList_GetItemRef`, but returns a :term:`borrowed reference` " -"instead of a :term:`strong reference`." -msgstr "" - -#: ../../c-api/list.rst:80 -msgid "Similar to :c:func:`PyList_GetItem`, but without error checking." -msgstr "" - -#: ../../c-api/list.rst:85 -msgid "" -"Set the item at index *index* in list to *item*. Return ``0`` on success. " -"If *index* is out of bounds, return ``-1`` and set an :exc:`IndexError` " -"exception." -msgstr "" - -#: ../../c-api/list.rst:91 -msgid "" -"This function \"steals\" a reference to *item* and discards a reference to " -"an item already in the list at the affected position." -msgstr "" - -#: ../../c-api/list.rst:97 -msgid "" -"Macro form of :c:func:`PyList_SetItem` without error checking. This is " -"normally only used to fill in new lists where there is no previous content." -msgstr "" - -#: ../../c-api/list.rst:100 -msgid "" -"Bounds checking is performed as an assertion if Python is built in " -":ref:`debug mode ` or :option:`with assertions <--with-" -"assertions>`." -msgstr "" - -#: ../../c-api/list.rst:106 -msgid "" -"This macro \"steals\" a reference to *item*, and, unlike " -":c:func:`PyList_SetItem`, does *not* discard a reference to any item that is" -" being replaced; any reference in *list* at position *i* will be leaked." -msgstr "" - -#: ../../c-api/list.rst:114 -msgid "" -"Insert the item *item* into list *list* in front of index *index*. Return " -"``0`` if successful; return ``-1`` and set an exception if unsuccessful. " -"Analogous to ``list.insert(index, item)``." -msgstr "" - -#: ../../c-api/list.rst:121 -msgid "" -"Append the object *item* at the end of list *list*. Return ``0`` if " -"successful; return ``-1`` and set an exception if unsuccessful. Analogous " -"to ``list.append(item)``." -msgstr "" - -#: ../../c-api/list.rst:128 -msgid "" -"Return a list of the objects in *list* containing the objects *between* " -"*low* and *high*. Return ``NULL`` and set an exception if unsuccessful. " -"Analogous to ``list[low:high]``. Indexing from the end of the list is not " -"supported." -msgstr "" - -#: ../../c-api/list.rst:135 -msgid "" -"Set the slice of *list* between *low* and *high* to the contents of " -"*itemlist*. Analogous to ``list[low:high] = itemlist``. The *itemlist* may " -"be ``NULL``, indicating the assignment of an empty list (slice deletion). " -"Return ``0`` on success, ``-1`` on failure. Indexing from the end of the " -"list is not supported." -msgstr "" - -#: ../../c-api/list.rst:144 -msgid "" -"Extend *list* with the contents of *iterable*. This is the same as " -"``PyList_SetSlice(list, PY_SSIZE_T_MAX, PY_SSIZE_T_MAX, iterable)`` and " -"analogous to ``list.extend(iterable)`` or ``list += iterable``." -msgstr "" - -#: ../../c-api/list.rst:148 -msgid "" -"Raise an exception and return ``-1`` if *list* is not a :class:`list` " -"object. Return 0 on success." -msgstr "" - -#: ../../c-api/list.rst:156 -msgid "" -"Remove all items from *list*. This is the same as ``PyList_SetSlice(list, " -"0, PY_SSIZE_T_MAX, NULL)`` and analogous to ``list.clear()`` or ``del " -"list[:]``." -msgstr "" - -#: ../../c-api/list.rst:160 -msgid "" -"Raise an exception and return ``-1`` if *list* is not a :class:`list` " -"object. Return 0 on success." -msgstr "" - -#: ../../c-api/list.rst:168 -msgid "" -"Sort the items of *list* in place. Return ``0`` on success, ``-1`` on " -"failure. This is equivalent to ``list.sort()``." -msgstr "" - -#: ../../c-api/list.rst:174 -msgid "" -"Reverse the items of *list* in place. Return ``0`` on success, ``-1`` on " -"failure. This is the equivalent of ``list.reverse()``." -msgstr "" - -#: ../../c-api/list.rst:182 -msgid "" -"Return a new tuple object containing the contents of *list*; equivalent to " -"``tuple(list)``." -msgstr "" - -#: ../../c-api/list.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/list.rst:8 -msgid "list" -msgstr "list" - -#: ../../c-api/list.rst:51 ../../c-api/list.rst:180 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../c-api/list.rst:51 -msgid "len" -msgstr "" - -#: ../../c-api/list.rst:180 -msgid "tuple" -msgstr "" diff --git a/python-newest.c-api--long/id.po b/python-newest.c-api--long/id.po deleted file mode 100644 index 0bf3a64..0000000 --- a/python-newest.c-api--long/id.po +++ /dev/null @@ -1,1021 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/long.rst:6 -msgid "Integer Objects" -msgstr "" - -#: ../../c-api/long.rst:11 -msgid "" -"All integers are implemented as \"long\" integer objects of arbitrary size." -msgstr "" - -#: ../../c-api/long.rst:13 -msgid "" -"On error, most ``PyLong_As*`` APIs return ``(return type)-1`` which cannot " -"be distinguished from a number. Use :c:func:`PyErr_Occurred` to " -"disambiguate." -msgstr "" - -#: ../../c-api/long.rst:18 -msgid "This subtype of :c:type:`PyObject` represents a Python integer object." -msgstr "" - -#: ../../c-api/long.rst:23 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python integer type. " -"This is the same object as :class:`int` in the Python layer." -msgstr "" - -#: ../../c-api/long.rst:29 -msgid "" -"Return true if its argument is a :c:type:`PyLongObject` or a subtype of " -":c:type:`PyLongObject`. This function always succeeds." -msgstr "" - -#: ../../c-api/long.rst:35 -msgid "" -"Return true if its argument is a :c:type:`PyLongObject`, but not a subtype " -"of :c:type:`PyLongObject`. This function always succeeds." -msgstr "" - -#: ../../c-api/long.rst:41 -msgid "" -"Return a new :c:type:`PyLongObject` object from *v*, or ``NULL`` on failure." -msgstr "" - -#: ../../c-api/long.rst:43 -msgid "" -"The current implementation keeps an array of integer objects for all " -"integers between ``-5`` and ``256``. When you create an int in that range " -"you actually just get back a reference to the existing object." -msgstr "" - -#: ../../c-api/long.rst:50 -msgid "" -"Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long`," -" or ``NULL`` on failure." -msgstr "" - -#: ../../c-api/long.rst:56 -msgid "" -"Return a new :c:type:`PyLongObject` object from a C :c:type:`Py_ssize_t`, or" -" ``NULL`` on failure." -msgstr "" - -#: ../../c-api/long.rst:62 -msgid "" -"Return a new :c:type:`PyLongObject` object from a C :c:type:`size_t`, or " -"``NULL`` on failure." -msgstr "" - -#: ../../c-api/long.rst:68 -msgid "" -"Return a new :c:type:`PyLongObject` object from a C :c:expr:`long long`, or " -"``NULL`` on failure." -msgstr "" - -#: ../../c-api/long.rst:75 -msgid "" -"Return a new :c:type:`PyLongObject` object from a signed C :c:expr:`int32_t`" -" or :c:expr:`int64_t`, or ``NULL`` with an exception set on failure." -msgstr "" - -#: ../../c-api/long.rst:84 -msgid "" -"Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long " -"long`, or ``NULL`` on failure." -msgstr "" - -#: ../../c-api/long.rst:91 -msgid "" -"Return a new :c:type:`PyLongObject` object from an unsigned C " -":c:expr:`uint32_t` or :c:expr:`uint64_t`, or ``NULL`` with an exception set " -"on failure." -msgstr "" - -#: ../../c-api/long.rst:100 -msgid "" -"Return a new :c:type:`PyLongObject` object from the integer part of *v*, or " -"``NULL`` on failure." -msgstr "" - -#: ../../c-api/long.rst:106 -msgid "" -"Return a new :c:type:`PyLongObject` based on the string value in *str*, " -"which is interpreted according to the radix in *base*, or ``NULL`` on " -"failure. If *pend* is non-``NULL``, *\\*pend* will point to the end of " -"*str* on success or to the first character that could not be processed on " -"error. If *base* is ``0``, *str* is interpreted using the :ref:`integers` " -"definition; in this case, leading zeros in a non-zero decimal number raises " -"a :exc:`ValueError`. If *base* is not ``0``, it must be between ``2`` and " -"``36``, inclusive. Leading and trailing whitespace and single underscores " -"after a base specifier and between digits are ignored. If there are no " -"digits or *str* is not NULL-terminated following the digits and trailing " -"whitespace, :exc:`ValueError` will be raised." -msgstr "" - -#: ../../c-api/long.rst:117 -msgid "" -":c:func:`PyLong_AsNativeBytes()` and :c:func:`PyLong_FromNativeBytes()` " -"functions can be used to convert a :c:type:`PyLongObject` to/from an array " -"of bytes in base ``256``." -msgstr "" - -#: ../../c-api/long.rst:124 -msgid "" -"Convert a sequence of Unicode digits in the string *u* to a Python integer " -"value." -msgstr "" - -#: ../../c-api/long.rst:132 -msgid "" -"Create a Python integer from the pointer *p*. The pointer value can be " -"retrieved from the resulting value using :c:func:`PyLong_AsVoidPtr`." -msgstr "" - -#: ../../c-api/long.rst:138 -msgid "" -"Create a Python integer from the value contained in the first *n_bytes* of " -"*buffer*, interpreted as a two's-complement signed number." -msgstr "" - -#: ../../c-api/long.rst:141 -msgid "" -"*flags* are as for :c:func:`PyLong_AsNativeBytes`. Passing ``-1`` will " -"select the native endian that CPython was compiled with and assume that the " -"most-significant bit is a sign bit. Passing " -"``Py_ASNATIVEBYTES_UNSIGNED_BUFFER`` will produce the same result as calling" -" :c:func:`PyLong_FromUnsignedNativeBytes`. Other flags are ignored." -msgstr "" - -#: ../../c-api/long.rst:152 -msgid "" -"Create a Python integer from the value contained in the first *n_bytes* of " -"*buffer*, interpreted as an unsigned number." -msgstr "" - -#: ../../c-api/long.rst:155 -msgid "" -"*flags* are as for :c:func:`PyLong_AsNativeBytes`. Passing ``-1`` will " -"select the native endian that CPython was compiled with and assume that the " -"most-significant bit is not a sign bit. Flags other than endian are ignored." -msgstr "" - -#: ../../c-api/long.rst:168 ../../c-api/long.rst:204 -msgid "" -"Return a C :c:expr:`long` representation of *obj*. If *obj* is not an " -"instance of :c:type:`PyLongObject`, first call its :meth:`~object.__index__`" -" method (if present) to convert it to a :c:type:`PyLongObject`." -msgstr "" - -#: ../../c-api/long.rst:172 -msgid "" -"Raise :exc:`OverflowError` if the value of *obj* is out of range for a " -":c:expr:`long`." -msgstr "" - -#: ../../c-api/long.rst:175 ../../c-api/long.rst:213 ../../c-api/long.rst:234 -#: ../../c-api/long.rst:254 ../../c-api/long.rst:277 -msgid "" -"Returns ``-1`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." -msgstr "" - -#: ../../c-api/long.rst:177 ../../c-api/long.rst:215 ../../c-api/long.rst:236 -#: ../../c-api/long.rst:258 ../../c-api/long.rst:342 ../../c-api/long.rst:362 -msgid "Use :meth:`~object.__index__` if available." -msgstr "" - -#: ../../c-api/long.rst:180 ../../c-api/long.rst:218 ../../c-api/long.rst:239 -#: ../../c-api/long.rst:261 ../../c-api/long.rst:345 ../../c-api/long.rst:365 -msgid "This function will no longer use :meth:`~object.__int__`." -msgstr "" - -#: ../../c-api/long.rst:187 -msgid "" -"A :term:`soft deprecated` alias. Exactly equivalent to the preferred " -"``PyLong_AsLong``. In particular, it can fail with :exc:`OverflowError` or " -"another exception." -msgstr "" - -#: ../../c-api/long.rst:191 -msgid "The function is soft deprecated." -msgstr "" - -#: ../../c-api/long.rst:196 -msgid "" -"Similar to :c:func:`PyLong_AsLong`, but store the result in a C " -":c:expr:`int` instead of a C :c:expr:`long`." -msgstr "" - -#: ../../c-api/long.rst:208 -msgid "" -"If the value of *obj* is greater than :c:macro:`LONG_MAX` or less than " -":c:macro:`LONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and" -" return ``-1``; otherwise, set *\\*overflow* to ``0``. If any other " -"exception occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." -msgstr "" - -#: ../../c-api/long.rst:227 ../../c-api/long.rst:245 -msgid "" -"Return a C :c:expr:`long long` representation of *obj*. If *obj* is not an " -"instance of :c:type:`PyLongObject`, first call its :meth:`~object.__index__`" -" method (if present) to convert it to a :c:type:`PyLongObject`." -msgstr "" - -#: ../../c-api/long.rst:231 -msgid "" -"Raise :exc:`OverflowError` if the value of *obj* is out of range for a " -":c:expr:`long long`." -msgstr "" - -#: ../../c-api/long.rst:249 -msgid "" -"If the value of *obj* is greater than :c:macro:`LLONG_MAX` or less than " -":c:macro:`LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, " -"and return ``-1``; otherwise, set *\\*overflow* to ``0``. If any other " -"exception occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." -msgstr "" - -#: ../../c-api/long.rst:271 -msgid "" -"Return a C :c:type:`Py_ssize_t` representation of *pylong*. *pylong* must " -"be an instance of :c:type:`PyLongObject`." -msgstr "" - -#: ../../c-api/long.rst:274 -msgid "" -"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a " -":c:type:`Py_ssize_t`." -msgstr "" - -#: ../../c-api/long.rst:286 -msgid "" -"Return a C :c:expr:`unsigned long` representation of *pylong*. *pylong* " -"must be an instance of :c:type:`PyLongObject`." -msgstr "" - -#: ../../c-api/long.rst:289 -msgid "" -"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a " -":c:expr:`unsigned long`." -msgstr "" - -#: ../../c-api/long.rst:292 -msgid "" -"Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to " -"disambiguate." -msgstr "" - -#: ../../c-api/long.rst:302 -msgid "" -"Return a C :c:type:`size_t` representation of *pylong*. *pylong* must be an" -" instance of :c:type:`PyLongObject`." -msgstr "" - -#: ../../c-api/long.rst:305 -msgid "" -"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a " -":c:type:`size_t`." -msgstr "" - -#: ../../c-api/long.rst:308 -msgid "" -"Returns ``(size_t)-1`` on error. Use :c:func:`PyErr_Occurred` to " -"disambiguate." -msgstr "" - -#: ../../c-api/long.rst:317 -msgid "" -"Return a C :c:expr:`unsigned long long` representation of *pylong*. " -"*pylong* must be an instance of :c:type:`PyLongObject`." -msgstr "" - -#: ../../c-api/long.rst:320 -msgid "" -"Raise :exc:`OverflowError` if the value of *pylong* is out of range for an " -":c:expr:`unsigned long long`." -msgstr "" - -#: ../../c-api/long.rst:323 -msgid "" -"Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` to" -" disambiguate." -msgstr "" - -#: ../../c-api/long.rst:326 -msgid "" -"A negative *pylong* now raises :exc:`OverflowError`, not :exc:`TypeError`." -msgstr "" - -#: ../../c-api/long.rst:332 -msgid "" -"Return a C :c:expr:`unsigned long` representation of *obj*. If *obj* is not" -" an instance of :c:type:`PyLongObject`, first call its " -":meth:`~object.__index__` method (if present) to convert it to a " -":c:type:`PyLongObject`." -msgstr "" - -#: ../../c-api/long.rst:336 -msgid "" -"If the value of *obj* is out of range for an :c:expr:`unsigned long`, return" -" the reduction of that value modulo ``ULONG_MAX + 1``." -msgstr "" - -#: ../../c-api/long.rst:339 -msgid "" -"Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to " -"disambiguate." -msgstr "" - -#: ../../c-api/long.rst:351 -msgid "" -"Return a C :c:expr:`unsigned long long` representation of *obj*. If *obj* " -"is not an instance of :c:type:`PyLongObject`, first call its " -":meth:`~object.__index__` method (if present) to convert it to a " -":c:type:`PyLongObject`." -msgstr "" - -#: ../../c-api/long.rst:356 -msgid "" -"If the value of *obj* is out of range for an :c:expr:`unsigned long long`, " -"return the reduction of that value modulo ``ULLONG_MAX + 1``." -msgstr "" - -#: ../../c-api/long.rst:359 -msgid "" -"Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` " -"to disambiguate." -msgstr "" - -#: ../../c-api/long.rst:372 -msgid "" -"Set *\\*value* to a signed C :c:expr:`int32_t` or :c:expr:`int64_t` " -"representation of *obj*." -msgstr "" - -#: ../../c-api/long.rst:375 ../../c-api/long.rst:396 -msgid "If the *obj* value is out of range, raise an :exc:`OverflowError`." -msgstr "" - -#: ../../c-api/long.rst:377 ../../c-api/long.rst:398 -msgid "" -"Set *\\*value* and return ``0`` on success. Set an exception and return " -"``-1`` on error." -msgstr "" - -#: ../../c-api/long.rst:380 ../../c-api/long.rst:401 -msgid "*value* must not be ``NULL``." -msgstr "" - -#: ../../c-api/long.rst:388 -msgid "" -"Set *\\*value* to an unsigned C :c:expr:`uint32_t` or :c:expr:`uint64_t` " -"representation of *obj*." -msgstr "" - -#: ../../c-api/long.rst:391 -msgid "" -"If *obj* is not an instance of :c:type:`PyLongObject`, first call its " -":meth:`~object.__index__` method (if present) to convert it to a " -":c:type:`PyLongObject`." -msgstr "" - -#: ../../c-api/long.rst:395 -msgid "If *obj* is negative, raise a :exc:`ValueError`." -msgstr "" - -#: ../../c-api/long.rst:408 -msgid "" -"Return a C :c:expr:`double` representation of *pylong*. *pylong* must be an" -" instance of :c:type:`PyLongObject`." -msgstr "" - -#: ../../c-api/long.rst:411 -msgid "" -"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a " -":c:expr:`double`." -msgstr "" - -#: ../../c-api/long.rst:414 -msgid "" -"Returns ``-1.0`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." -msgstr "" - -#: ../../c-api/long.rst:419 -msgid "" -"Convert a Python integer *pylong* to a C :c:expr:`void` pointer. If *pylong*" -" cannot be converted, an :exc:`OverflowError` will be raised. This is only " -"assured to produce a usable :c:expr:`void` pointer for values created with " -":c:func:`PyLong_FromVoidPtr`." -msgstr "" - -#: ../../c-api/long.rst:424 -msgid "" -"Returns ``NULL`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." -msgstr "" - -#: ../../c-api/long.rst:429 -msgid "" -"Copy the Python integer value *pylong* to a native *buffer* of size " -"*n_bytes*. The *flags* can be set to ``-1`` to behave similarly to a C cast," -" or to values documented below to control the behavior." -msgstr "" - -#: ../../c-api/long.rst:433 -msgid "" -"Returns ``-1`` with an exception raised on error. This may happen if " -"*pylong* cannot be interpreted as an integer, or if *pylong* was negative " -"and the ``Py_ASNATIVEBYTES_REJECT_NEGATIVE`` flag was set." -msgstr "" - -#: ../../c-api/long.rst:437 -msgid "" -"Otherwise, returns the number of bytes required to store the value. If this " -"is equal to or less than *n_bytes*, the entire value was copied. All " -"*n_bytes* of the buffer are written: large buffers are padded with zeroes." -msgstr "" - -#: ../../c-api/long.rst:442 -msgid "" -"If the returned value is greater than than *n_bytes*, the value was " -"truncated: as many of the lowest bits of the value as could fit are written," -" and the higher bits are ignored. This matches the typical behavior of a " -"C-style downcast." -msgstr "" - -#: ../../c-api/long.rst:449 -msgid "" -"Overflow is not considered an error. If the returned value is larger than " -"*n_bytes*, most significant bits were discarded." -msgstr "" - -#: ../../c-api/long.rst:452 -msgid "``0`` will never be returned." -msgstr "" - -#: ../../c-api/long.rst:454 -msgid "Values are always copied as two's-complement." -msgstr "" - -#: ../../c-api/long.rst:456 -msgid "Usage example::" -msgstr "" - -#: ../../c-api/long.rst:458 -msgid "" -"int32_t value;\n" -"Py_ssize_t bytes = PyLong_AsNativeBytes(pylong, &value, sizeof(value), -1);\n" -"if (bytes < 0) {\n" -" // Failed. A Python exception was set with the reason.\n" -" return NULL;\n" -"}\n" -"else if (bytes <= (Py_ssize_t)sizeof(value)) {\n" -" // Success!\n" -"}\n" -"else {\n" -" // Overflow occurred, but 'value' contains the truncated\n" -" // lowest bits of pylong.\n" -"}" -msgstr "" - -#: ../../c-api/long.rst:472 -msgid "" -"Passing zero to *n_bytes* will return the size of a buffer that would be " -"large enough to hold the value. This may be larger than technically " -"necessary, but not unreasonably so. If *n_bytes=0*, *buffer* may be " -"``NULL``." -msgstr "" - -#: ../../c-api/long.rst:479 -msgid "" -"Passing *n_bytes=0* to this function is not an accurate way to determine the" -" bit length of the value." -msgstr "" - -#: ../../c-api/long.rst:482 -msgid "" -"To get at the entire Python value of an unknown size, the function can be " -"called twice: first to determine the buffer size, then to fill it::" -msgstr "" - -#: ../../c-api/long.rst:485 -msgid "" -"// Ask how much space we need.\n" -"Py_ssize_t expected = PyLong_AsNativeBytes(pylong, NULL, 0, -1);\n" -"if (expected < 0) {\n" -" // Failed. A Python exception was set with the reason.\n" -" return NULL;\n" -"}\n" -"assert(expected != 0); // Impossible per the API definition.\n" -"uint8_t *bignum = malloc(expected);\n" -"if (!bignum) {\n" -" PyErr_SetString(PyExc_MemoryError, \"bignum malloc failed.\");\n" -" return NULL;\n" -"}\n" -"// Safely get the entire value.\n" -"Py_ssize_t bytes = PyLong_AsNativeBytes(pylong, bignum, expected, -1);\n" -"if (bytes < 0) { // Exception has been set.\n" -" free(bignum);\n" -" return NULL;\n" -"}\n" -"else if (bytes > expected) { // This should not be possible.\n" -" PyErr_SetString(PyExc_RuntimeError,\n" -" \"Unexpected bignum truncation after a size check.\");\n" -" free(bignum);\n" -" return NULL;\n" -"}\n" -"// The expected success given the above pre-check.\n" -"// ... use bignum ...\n" -"free(bignum);" -msgstr "" - -#: ../../c-api/long.rst:513 -msgid "" -"*flags* is either ``-1`` (``Py_ASNATIVEBYTES_DEFAULTS``) to select defaults " -"that behave most like a C cast, or a combination of the other flags in the " -"table below. Note that ``-1`` cannot be combined with other flags." -msgstr "" - -#: ../../c-api/long.rst:518 -msgid "" -"Currently, ``-1`` corresponds to ``Py_ASNATIVEBYTES_NATIVE_ENDIAN | " -"Py_ASNATIVEBYTES_UNSIGNED_BUFFER``." -msgstr "" - -#: ../../c-api/long.rst:524 -msgid "Flag" -msgstr "Penanda" - -#: ../../c-api/long.rst:524 -msgid "Value" -msgstr "Nilai" - -#: ../../c-api/long.rst:526 -msgid "``-1``" -msgstr "" - -#: ../../c-api/long.rst:527 -msgid "``0``" -msgstr "``0``" - -#: ../../c-api/long.rst:528 -msgid "``1``" -msgstr "``1``" - -#: ../../c-api/long.rst:529 -msgid "``3``" -msgstr "``3``" - -#: ../../c-api/long.rst:530 -msgid "``4``" -msgstr "``4``" - -#: ../../c-api/long.rst:531 -msgid "``8``" -msgstr "``8``" - -#: ../../c-api/long.rst:532 -msgid "``16``" -msgstr "" - -#: ../../c-api/long.rst:535 -msgid "" -"Specifying ``Py_ASNATIVEBYTES_NATIVE_ENDIAN`` will override any other endian" -" flags. Passing ``2`` is reserved." -msgstr "" - -#: ../../c-api/long.rst:538 -msgid "" -"By default, sufficient buffer will be requested to include a sign bit. For " -"example, when converting 128 with *n_bytes=1*, the function will return 2 " -"(or more) in order to store a zero sign bit." -msgstr "" - -#: ../../c-api/long.rst:542 -msgid "" -"If ``Py_ASNATIVEBYTES_UNSIGNED_BUFFER`` is specified, a zero sign bit will " -"be omitted from size calculations. This allows, for example, 128 to fit in a" -" single-byte buffer. If the destination buffer is later treated as signed, a" -" positive input value may become negative. Note that the flag does not " -"affect handling of negative values: for those, space for a sign bit is " -"always requested." -msgstr "" - -#: ../../c-api/long.rst:549 -msgid "" -"Specifying ``Py_ASNATIVEBYTES_REJECT_NEGATIVE`` causes an exception to be " -"set if *pylong* is negative. Without this flag, negative values will be " -"copied provided there is enough space for at least one sign bit, regardless " -"of whether ``Py_ASNATIVEBYTES_UNSIGNED_BUFFER`` was specified." -msgstr "" - -#: ../../c-api/long.rst:554 -msgid "" -"If ``Py_ASNATIVEBYTES_ALLOW_INDEX`` is specified and a non-integer value is " -"passed, its :meth:`~object.__index__` method will be called first. This may " -"result in Python code executing and other threads being allowed to run, " -"which could cause changes to other objects or values in use. When *flags* is" -" ``-1``, this option is not set, and non-integer values will raise " -":exc:`TypeError`." -msgstr "" - -#: ../../c-api/long.rst:563 -msgid "" -"With the default *flags* (``-1``, or *UNSIGNED_BUFFER* without " -"*REJECT_NEGATIVE*), multiple Python integers can map to a single value " -"without overflow. For example, both ``255`` and ``-1`` fit a single-byte " -"buffer and set all its bits. This matches typical C cast behavior." -msgstr "" - -#: ../../c-api/long.rst:574 -msgid "Get the sign of the integer object *obj*." -msgstr "" - -#: ../../c-api/long.rst:576 -msgid "" -"On success, set *\\*sign* to the integer sign (0, -1 or +1 for zero, " -"negative or positive integer, respectively) and return 0." -msgstr "" - -#: ../../c-api/long.rst:579 -msgid "" -"On failure, return -1 with an exception set. This function always succeeds " -"if *obj* is a :c:type:`PyLongObject` or its subtype." -msgstr "" - -#: ../../c-api/long.rst:587 -msgid "Check if the integer object *obj* is positive (``obj > 0``)." -msgstr "" - -#: ../../c-api/long.rst:589 -msgid "" -"If *obj* is an instance of :c:type:`PyLongObject` or its subtype, return " -"``1`` when it's positive and ``0`` otherwise. Else set an exception and " -"return ``-1``." -msgstr "" - -#: ../../c-api/long.rst:598 -msgid "Check if the integer object *obj* is negative (``obj < 0``)." -msgstr "" - -#: ../../c-api/long.rst:600 -msgid "" -"If *obj* is an instance of :c:type:`PyLongObject` or its subtype, return " -"``1`` when it's negative and ``0`` otherwise. Else set an exception and " -"return ``-1``." -msgstr "" - -#: ../../c-api/long.rst:609 -msgid "Check if the integer object *obj* is zero." -msgstr "" - -#: ../../c-api/long.rst:611 -msgid "" -"If *obj* is an instance of :c:type:`PyLongObject` or its subtype, return " -"``1`` when it's zero and ``0`` otherwise. Else set an exception and return " -"``-1``." -msgstr "" - -#: ../../c-api/long.rst:620 -msgid "" -"On success, return a read only :term:`named tuple`, that holds information " -"about Python's internal representation of integers. See :data:`sys.int_info`" -" for description of individual fields." -msgstr "" - -#: ../../c-api/long.rst:624 -msgid "On failure, return ``NULL`` with an exception set." -msgstr "" - -#: ../../c-api/long.rst:631 -msgid "Return 1 if *op* is compact, 0 otherwise." -msgstr "" - -#: ../../c-api/long.rst:633 -msgid "" -"This function makes it possible for performance-critical code to implement a" -" “fast path” for small integers. For compact values use " -":c:func:`PyUnstable_Long_CompactValue`; for others fall back to a " -":c:func:`PyLong_As* ` function or " -":c:func:`PyLong_AsNativeBytes`." -msgstr "" - -#: ../../c-api/long.rst:639 -msgid "The speedup is expected to be negligible for most users." -msgstr "" - -#: ../../c-api/long.rst:641 -msgid "" -"Exactly what values are considered compact is an implementation detail and " -"is subject to change." -msgstr "" - -#: ../../c-api/long.rst:649 -msgid "" -"If *op* is compact, as determined by :c:func:`PyUnstable_Long_IsCompact`, " -"return its value." -msgstr "" - -#: ../../c-api/long.rst:652 -msgid "Otherwise, the return value is undefined." -msgstr "" - -#: ../../c-api/long.rst:658 -msgid "Export API" -msgstr "" - -#: ../../c-api/long.rst:664 -msgid "" -"Layout of an array of \"digits\" (\"limbs\" in the GMP terminology), used to" -" represent absolute value for arbitrary precision integers." -msgstr "" - -#: ../../c-api/long.rst:667 -msgid "" -"Use :c:func:`PyLong_GetNativeLayout` to get the native layout of Python " -":class:`int` objects, used internally for integers with \"big enough\" " -"absolute value." -msgstr "" - -#: ../../c-api/long.rst:671 -msgid "" -"See also :data:`sys.int_info` which exposes similar information in Python." -msgstr "" - -#: ../../c-api/long.rst:675 -msgid "" -"Bits per digit. For example, a 15 bit digit means that bits 0-14 contain " -"meaningful information." -msgstr "" - -#: ../../c-api/long.rst:680 -msgid "" -"Digit size in bytes. For example, a 15 bit digit will require at least 2 " -"bytes." -msgstr "" - -#: ../../c-api/long.rst:685 -msgid "Digits order:" -msgstr "" - -#: ../../c-api/long.rst:687 -msgid "``1`` for most significant digit first" -msgstr "" - -#: ../../c-api/long.rst:688 -msgid "``-1`` for least significant digit first" -msgstr "" - -#: ../../c-api/long.rst:692 -msgid "Digit endianness:" -msgstr "" - -#: ../../c-api/long.rst:694 -msgid "``1`` for most significant byte first (big endian)" -msgstr "" - -#: ../../c-api/long.rst:695 -msgid "``-1`` for least significant byte first (little endian)" -msgstr "" - -#: ../../c-api/long.rst:700 -msgid "Get the native layout of Python :class:`int` objects." -msgstr "" - -#: ../../c-api/long.rst:702 -msgid "See the :c:struct:`PyLongLayout` structure." -msgstr "" - -#: ../../c-api/long.rst:704 -msgid "" -"The function must not be called before Python initialization nor after " -"Python finalization. The returned layout is valid until Python is finalized." -" The layout is the same for all Python sub-interpreters in a process, and so" -" it can be cached." -msgstr "" - -#: ../../c-api/long.rst:712 -msgid "Export of a Python :class:`int` object." -msgstr "" - -#: ../../c-api/long.rst:714 -msgid "There are two cases:" -msgstr "" - -#: ../../c-api/long.rst:716 -msgid "" -"If :c:member:`digits` is ``NULL``, only use the :c:member:`value` member." -msgstr "" - -#: ../../c-api/long.rst:717 -msgid "" -"If :c:member:`digits` is not ``NULL``, use :c:member:`negative`, " -":c:member:`ndigits` and :c:member:`digits` members." -msgstr "" - -#: ../../c-api/long.rst:722 -msgid "" -"The native integer value of the exported :class:`int` object. Only valid if " -":c:member:`digits` is ``NULL``." -msgstr "" - -#: ../../c-api/long.rst:727 -msgid "" -"``1`` if the number is negative, ``0`` otherwise. Only valid if " -":c:member:`digits` is not ``NULL``." -msgstr "" - -#: ../../c-api/long.rst:732 -msgid "" -"Number of digits in :c:member:`digits` array. Only valid if " -":c:member:`digits` is not ``NULL``." -msgstr "" - -#: ../../c-api/long.rst:737 -msgid "Read-only array of unsigned digits. Can be ``NULL``." -msgstr "" - -#: ../../c-api/long.rst:742 -msgid "Export a Python :class:`int` object." -msgstr "" - -#: ../../c-api/long.rst:744 -msgid "" -"*export_long* must point to a :c:struct:`PyLongExport` structure allocated " -"by the caller. It must not be ``NULL``." -msgstr "" - -#: ../../c-api/long.rst:747 -msgid "" -"On success, fill in *\\*export_long* and return ``0``. On error, set an " -"exception and return ``-1``." -msgstr "" - -#: ../../c-api/long.rst:750 -msgid "" -":c:func:`PyLong_FreeExport` must be called when the export is no longer " -"needed." -msgstr "" - -#: ../../c-api/long.rst:754 -msgid "" -"This function always succeeds if *obj* is a Python :class:`int` object or a " -"subclass." -msgstr "" - -#: ../../c-api/long.rst:760 -msgid "Release the export *export_long* created by :c:func:`PyLong_Export`." -msgstr "" - -#: ../../c-api/long.rst:763 -msgid "" -"Calling :c:func:`PyLong_FreeExport` is optional if *export_long->digits* is " -"``NULL``." -msgstr "" - -#: ../../c-api/long.rst:768 -msgid "PyLongWriter API" -msgstr "" - -#: ../../c-api/long.rst:770 -msgid "The :c:type:`PyLongWriter` API can be used to import an integer." -msgstr "" - -#: ../../c-api/long.rst:776 -msgid "A Python :class:`int` writer instance." -msgstr "" - -#: ../../c-api/long.rst:778 -msgid "" -"The instance must be destroyed by :c:func:`PyLongWriter_Finish` or " -":c:func:`PyLongWriter_Discard`." -msgstr "" - -#: ../../c-api/long.rst:784 -msgid "Create a :c:type:`PyLongWriter`." -msgstr "" - -#: ../../c-api/long.rst:786 -msgid "" -"On success, allocate *\\*digits* and return a writer. On error, set an " -"exception and return ``NULL``." -msgstr "" - -#: ../../c-api/long.rst:789 -msgid "*negative* is ``1`` if the number is negative, or ``0`` otherwise." -msgstr "" - -#: ../../c-api/long.rst:791 -msgid "" -"*ndigits* is the number of digits in the *digits* array. It must be greater " -"than 0." -msgstr "" - -#: ../../c-api/long.rst:794 -msgid "*digits* must not be NULL." -msgstr "" - -#: ../../c-api/long.rst:796 -msgid "" -"After a successful call to this function, the caller should fill in the " -"array of digits *digits* and then call :c:func:`PyLongWriter_Finish` to get " -"a Python :class:`int`. The layout of *digits* is described by " -":c:func:`PyLong_GetNativeLayout`." -msgstr "" - -#: ../../c-api/long.rst:801 -msgid "" -"Digits must be in the range [``0``; ``(1 << bits_per_digit) - 1``] (where " -"the :c:struct:`~PyLongLayout.bits_per_digit` is the number of bits per " -"digit). Any unused most significant digits must be set to ``0``." -msgstr "" - -#: ../../c-api/long.rst:806 -msgid "" -"Alternately, call :c:func:`PyLongWriter_Discard` to destroy the writer " -"instance without creating an :class:`~int` object." -msgstr "" - -#: ../../c-api/long.rst:812 -msgid "" -"Finish a :c:type:`PyLongWriter` created by :c:func:`PyLongWriter_Create`." -msgstr "" - -#: ../../c-api/long.rst:814 -msgid "" -"On success, return a Python :class:`int` object. On error, set an exception " -"and return ``NULL``." -msgstr "" - -#: ../../c-api/long.rst:817 -msgid "" -"The function takes care of normalizing the digits and converts the object to" -" a compact integer if needed." -msgstr "" - -#: ../../c-api/long.rst:820 ../../c-api/long.rst:829 -msgid "The writer instance and the *digits* array are invalid after the call." -msgstr "" - -#: ../../c-api/long.rst:825 -msgid "" -"Discard a :c:type:`PyLongWriter` created by :c:func:`PyLongWriter_Create`." -msgstr "" - -#: ../../c-api/long.rst:827 -msgid "If *writer* is ``NULL``, no operation is performed." -msgstr "" - -#: ../../c-api/long.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/long.rst:8 -msgid "long integer" -msgstr "" - -#: ../../c-api/long.rst:8 -msgid "integer" -msgstr "bilangan bulat" - -#: ../../c-api/long.rst:164 -msgid "LONG_MAX (C macro)" -msgstr "" - -#: ../../c-api/long.rst:164 ../../c-api/long.rst:224 ../../c-api/long.rst:267 -#: ../../c-api/long.rst:282 ../../c-api/long.rst:298 ../../c-api/long.rst:314 -msgid "OverflowError (built-in exception)" -msgstr "" - -#: ../../c-api/long.rst:267 -msgid "PY_SSIZE_T_MAX (C macro)" -msgstr "" - -#: ../../c-api/long.rst:282 -msgid "ULONG_MAX (C macro)" -msgstr "" - -#: ../../c-api/long.rst:298 -msgid "SIZE_MAX (C macro)" -msgstr "" diff --git a/python-newest.c-api--mapping/id.po b/python-newest.c-api--mapping/id.po deleted file mode 100644 index 533fdca..0000000 --- a/python-newest.c-api--mapping/id.po +++ /dev/null @@ -1,173 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Andika Chandra , 2021 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/mapping.rst:6 -msgid "Mapping Protocol" -msgstr "Protokol Pemetaan" - -#: ../../c-api/mapping.rst:8 -msgid "" -"See also :c:func:`PyObject_GetItem`, :c:func:`PyObject_SetItem` and " -":c:func:`PyObject_DelItem`." -msgstr "" -"Lihat juga :c:func:`PyObject_GetItem`, :c:func:`PyObject_SetItem` dan " -":c:func:`PyObject_DelItem`." - -#: ../../c-api/mapping.rst:14 -msgid "" -"Return ``1`` if the object provides the mapping protocol or supports " -"slicing, and ``0`` otherwise. Note that it returns ``1`` for Python classes" -" with a :meth:`~object.__getitem__` method, since in general it is " -"impossible to determine what type of keys the class supports. This function " -"always succeeds." -msgstr "" - -#: ../../c-api/mapping.rst:25 -msgid "" -"Returns the number of keys in object *o* on success, and ``-1`` on failure. " -"This is equivalent to the Python expression ``len(o)``." -msgstr "" - -#: ../../c-api/mapping.rst:31 -msgid "" -"This is the same as :c:func:`PyObject_GetItem`, but *key* is specified as a " -":c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/mapping.rst:38 -msgid "" -"Variant of :c:func:`PyObject_GetItem` which doesn't raise :exc:`KeyError` if" -" the key is not found." -msgstr "" - -#: ../../c-api/mapping.rst:41 -msgid "" -"If the key is found, return ``1`` and set *\\*result* to a new :term:`strong" -" reference` to the corresponding value. If the key is not found, return " -"``0`` and set *\\*result* to ``NULL``; the :exc:`KeyError` is silenced. If " -"an error other than :exc:`KeyError` is raised, return ``-1`` and set " -"*\\*result* to ``NULL``." -msgstr "" - -#: ../../c-api/mapping.rst:53 -msgid "" -"This is the same as :c:func:`PyMapping_GetOptionalItem`, but *key* is " -"specified as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than" -" a :c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/mapping.rst:62 -msgid "" -"This is the same as :c:func:`PyObject_SetItem`, but *key* is specified as a " -":c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/mapping.rst:69 -msgid "This is an alias of :c:func:`PyObject_DelItem`." -msgstr "" - -#: ../../c-api/mapping.rst:74 -msgid "" -"This is the same as :c:func:`PyObject_DelItem`, but *key* is specified as a " -":c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/mapping.rst:81 -msgid "" -"Return ``1`` if the mapping object has the key *key* and ``0`` otherwise. " -"This is equivalent to the Python expression ``key in o``. On failure, return" -" ``-1``." -msgstr "" - -#: ../../c-api/mapping.rst:90 -msgid "" -"This is the same as :c:func:`PyMapping_HasKeyWithError`, but *key* is " -"specified as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than" -" a :c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/mapping.rst:99 -msgid "" -"Return ``1`` if the mapping object has the key *key* and ``0`` otherwise. " -"This is equivalent to the Python expression ``key in o``. This function " -"always succeeds." -msgstr "" - -#: ../../c-api/mapping.rst:105 -msgid "" -"Exceptions which occur when this calls :meth:`~object.__getitem__` method " -"are silently ignored. For proper error handling, use " -":c:func:`PyMapping_HasKeyWithError`, :c:func:`PyMapping_GetOptionalItem` or " -":c:func:`PyObject_GetItem()` instead." -msgstr "" - -#: ../../c-api/mapping.rst:113 -msgid "" -"This is the same as :c:func:`PyMapping_HasKey`, but *key* is specified as a " -":c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/mapping.rst:119 -msgid "" -"Exceptions that occur when this calls :meth:`~object.__getitem__` method or " -"while creating the temporary :class:`str` object are silently ignored. For " -"proper error handling, use :c:func:`PyMapping_HasKeyStringWithError`, " -":c:func:`PyMapping_GetOptionalItemString` or " -":c:func:`PyMapping_GetItemString` instead." -msgstr "" - -#: ../../c-api/mapping.rst:129 -msgid "" -"On success, return a list of the keys in object *o*. On failure, return " -"``NULL``." -msgstr "" - -#: ../../c-api/mapping.rst:132 ../../c-api/mapping.rst:141 -#: ../../c-api/mapping.rst:150 -msgid "Previously, the function returned a list or a tuple." -msgstr "" - -#: ../../c-api/mapping.rst:138 -msgid "" -"On success, return a list of the values in object *o*. On failure, return " -"``NULL``." -msgstr "" - -#: ../../c-api/mapping.rst:147 -msgid "" -"On success, return a list of the items in object *o*, where each item is a " -"tuple containing a key-value pair. On failure, return ``NULL``." -msgstr "" - -#: ../../c-api/mapping.rst:23 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../c-api/mapping.rst:23 -msgid "len" -msgstr "" diff --git a/python-newest.c-api--marshal/id.po b/python-newest.c-api--marshal/id.po deleted file mode 100644 index d586189..0000000 --- a/python-newest.c-api--marshal/id.po +++ /dev/null @@ -1,124 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/marshal.rst:6 -msgid "Data marshalling support" -msgstr "" - -#: ../../c-api/marshal.rst:8 -msgid "" -"These routines allow C code to work with serialized objects using the same " -"data format as the :mod:`marshal` module. There are functions to write data" -" into the serialization format, and additional functions that can be used to" -" read the data back. Files used to store marshalled data must be opened in " -"binary mode." -msgstr "" - -#: ../../c-api/marshal.rst:14 -msgid "Numeric values are stored with the least significant byte first." -msgstr "" - -#: ../../c-api/marshal.rst:16 -msgid "" -"The module supports several versions of the data format; see the " -":py:mod:`Python module documentation ` for details." -msgstr "" - -#: ../../c-api/marshal.rst:21 -msgid "The current format version. See :py:data:`marshal.version`." -msgstr "" - -#: ../../c-api/marshal.rst:25 -msgid "" -"Marshal a :c:expr:`long` integer, *value*, to *file*. This will only write " -"the least-significant 32 bits of *value*; regardless of the size of the " -"native :c:expr:`long` type. *version* indicates the file format." -msgstr "" - -#: ../../c-api/marshal.rst:29 ../../c-api/marshal.rst:37 -msgid "" -"This function can fail, in which case it sets the error indicator. Use " -":c:func:`PyErr_Occurred` to check for that." -msgstr "" - -#: ../../c-api/marshal.rst:34 -msgid "" -"Marshal a Python object, *value*, to *file*. *version* indicates the file " -"format." -msgstr "" - -#: ../../c-api/marshal.rst:42 -msgid "" -"Return a bytes object containing the marshalled representation of *value*. " -"*version* indicates the file format." -msgstr "" - -#: ../../c-api/marshal.rst:46 -msgid "The following functions allow marshalled values to be read back in." -msgstr "" - -#: ../../c-api/marshal.rst:51 -msgid "" -"Return a C :c:expr:`long` from the data stream in a :c:expr:`FILE*` opened " -"for reading. Only a 32-bit value can be read in using this function, " -"regardless of the native size of :c:expr:`long`." -msgstr "" - -#: ../../c-api/marshal.rst:55 ../../c-api/marshal.rst:65 -msgid "" -"On error, sets the appropriate exception (:exc:`EOFError`) and returns " -"``-1``." -msgstr "" - -#: ../../c-api/marshal.rst:61 -msgid "" -"Return a C :c:expr:`short` from the data stream in a :c:expr:`FILE*` opened " -"for reading. Only a 16-bit value can be read in using this function, " -"regardless of the native size of :c:expr:`short`." -msgstr "" - -#: ../../c-api/marshal.rst:71 -msgid "" -"Return a Python object from the data stream in a :c:expr:`FILE*` opened for " -"reading." -msgstr "" - -#: ../../c-api/marshal.rst:74 ../../c-api/marshal.rst:88 -#: ../../c-api/marshal.rst:97 -msgid "" -"On error, sets the appropriate exception (:exc:`EOFError`, :exc:`ValueError`" -" or :exc:`TypeError`) and returns ``NULL``." -msgstr "" - -#: ../../c-api/marshal.rst:80 -msgid "" -"Return a Python object from the data stream in a :c:expr:`FILE*` opened for " -"reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function " -"assumes that no further objects will be read from the file, allowing it to " -"aggressively load file data into memory so that the de-serialization can " -"operate from data in memory rather than reading a byte at a time from the " -"file. Only use these variant if you are certain that you won't be reading " -"anything else from the file." -msgstr "" - -#: ../../c-api/marshal.rst:94 -msgid "" -"Return a Python object from the data stream in a byte buffer containing " -"*len* bytes pointed to by *data*." -msgstr "" diff --git a/python-newest.c-api--memory/id.po b/python-newest.c-api--memory/id.po deleted file mode 100644 index 2b795be..0000000 --- a/python-newest.c-api--memory/id.po +++ /dev/null @@ -1,1173 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/memory.rst:8 -msgid "Memory Management" -msgstr "" - -#: ../../c-api/memory.rst:17 -msgid "Overview" -msgstr "" - -#: ../../c-api/memory.rst:19 -msgid "" -"Memory management in Python involves a private heap containing all Python " -"objects and data structures. The management of this private heap is ensured " -"internally by the *Python memory manager*. The Python memory manager has " -"different components which deal with various dynamic storage management " -"aspects, like sharing, segmentation, preallocation or caching." -msgstr "" - -#: ../../c-api/memory.rst:25 -msgid "" -"At the lowest level, a raw memory allocator ensures that there is enough " -"room in the private heap for storing all Python-related data by interacting " -"with the memory manager of the operating system. On top of the raw memory " -"allocator, several object-specific allocators operate on the same heap and " -"implement distinct memory management policies adapted to the peculiarities " -"of every object type. For example, integer objects are managed differently " -"within the heap than strings, tuples or dictionaries because integers imply " -"different storage requirements and speed/space tradeoffs. The Python memory " -"manager thus delegates some of the work to the object-specific allocators, " -"but ensures that the latter operate within the bounds of the private heap." -msgstr "" - -#: ../../c-api/memory.rst:36 -msgid "" -"It is important to understand that the management of the Python heap is " -"performed by the interpreter itself and that the user has no control over " -"it, even if they regularly manipulate object pointers to memory blocks " -"inside that heap. The allocation of heap space for Python objects and other" -" internal buffers is performed on demand by the Python memory manager " -"through the Python/C API functions listed in this document." -msgstr "" - -#: ../../c-api/memory.rst:49 -msgid "" -"To avoid memory corruption, extension writers should never try to operate on" -" Python objects with the functions exported by the C library: " -":c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` and :c:func:`free`. " -"This will result in mixed calls between the C allocator and the Python " -"memory manager with fatal consequences, because they implement different " -"algorithms and operate on different heaps. However, one may safely allocate" -" and release memory blocks with the C library allocator for individual " -"purposes, as shown in the following example::" -msgstr "" - -#: ../../c-api/memory.rst:58 -msgid "" -"PyObject *res;\n" -"char *buf = (char *) malloc(BUFSIZ); /* for I/O */\n" -"\n" -"if (buf == NULL)\n" -" return PyErr_NoMemory();\n" -"...Do some I/O operation involving buf...\n" -"res = PyBytes_FromString(buf);\n" -"free(buf); /* malloc'ed */\n" -"return res;" -msgstr "" - -#: ../../c-api/memory.rst:68 -msgid "" -"In this example, the memory request for the I/O buffer is handled by the C " -"library allocator. The Python memory manager is involved only in the " -"allocation of the bytes object returned as a result." -msgstr "" - -#: ../../c-api/memory.rst:72 -msgid "" -"In most situations, however, it is recommended to allocate memory from the " -"Python heap specifically because the latter is under control of the Python " -"memory manager. For example, this is required when the interpreter is " -"extended with new object types written in C. Another reason for using the " -"Python heap is the desire to *inform* the Python memory manager about the " -"memory needs of the extension module. Even when the requested memory is used" -" exclusively for internal, highly specific purposes, delegating all memory " -"requests to the Python memory manager causes the interpreter to have a more " -"accurate image of its memory footprint as a whole. Consequently, under " -"certain circumstances, the Python memory manager may or may not trigger " -"appropriate actions, like garbage collection, memory compaction or other " -"preventive procedures. Note that by using the C library allocator as shown " -"in the previous example, the allocated memory for the I/O buffer escapes " -"completely the Python memory manager." -msgstr "" - -#: ../../c-api/memory.rst:88 -msgid "" -"The :envvar:`PYTHONMALLOC` environment variable can be used to configure the" -" memory allocators used by Python." -msgstr "" - -#: ../../c-api/memory.rst:91 -msgid "" -"The :envvar:`PYTHONMALLOCSTATS` environment variable can be used to print " -"statistics of the :ref:`pymalloc memory allocator ` every time a " -"new pymalloc object arena is created, and on shutdown." -msgstr "" - -#: ../../c-api/memory.rst:96 -msgid "Allocator Domains" -msgstr "" - -#: ../../c-api/memory.rst:100 -msgid "" -"All allocating functions belong to one of three different \"domains\" (see " -"also :c:type:`PyMemAllocatorDomain`). These domains represent different " -"allocation strategies and are optimized for different purposes. The specific" -" details on how every domain allocates memory or what internal functions " -"each domain calls is considered an implementation detail, but for debugging " -"purposes a simplified table can be found at :ref:`here `. The APIs used to allocate and free a block of memory must be " -"from the same domain. For example, :c:func:`PyMem_Free` must be used to free" -" memory allocated using :c:func:`PyMem_Malloc`." -msgstr "" - -#: ../../c-api/memory.rst:109 -msgid "The three allocation domains are:" -msgstr "" - -#: ../../c-api/memory.rst:111 -msgid "" -"Raw domain: intended for allocating memory for general-purpose memory " -"buffers where the allocation *must* go to the system allocator or where the " -"allocator can operate without an :term:`attached thread state`. The memory " -"is requested directly from the system. See :ref:`Raw Memory Interface `." -msgstr "" - -#: ../../c-api/memory.rst:116 -msgid "" -"\"Mem\" domain: intended for allocating memory for Python buffers and " -"general-purpose memory buffers where the allocation must be performed with " -"an :term:`attached thread state`. The memory is taken from the Python " -"private heap. See :ref:`Memory Interface `." -msgstr "" - -#: ../../c-api/memory.rst:121 -msgid "" -"Object domain: intended for allocating memory for Python objects. The memory" -" is taken from the Python private heap. See :ref:`Object allocators " -"`." -msgstr "" - -#: ../../c-api/memory.rst:126 -msgid "" -"The :term:`free-threaded ` build requires that only Python " -"objects are allocated using the \"object\" domain and that all Python " -"objects are allocated using that domain. This differs from the prior Python " -"versions, where this was only a best practice and not a hard requirement." -msgstr "" - -#: ../../c-api/memory.rst:130 -msgid "" -"For example, buffers (non-Python objects) should be allocated using " -":c:func:`PyMem_Malloc`, :c:func:`PyMem_RawMalloc`, or :c:func:`malloc`, but " -"not :c:func:`PyObject_Malloc`." -msgstr "" - -#: ../../c-api/memory.rst:133 -msgid "See :ref:`Memory Allocation APIs `." -msgstr "" - -#: ../../c-api/memory.rst:139 -msgid "Raw Memory Interface" -msgstr "" - -#: ../../c-api/memory.rst:141 -msgid "" -"The following function sets are wrappers to the system allocator. These " -"functions are thread-safe, so a :term:`thread state` does not need to be " -":term:`attached `." -msgstr "" - -#: ../../c-api/memory.rst:145 -msgid "" -"The :ref:`default raw memory allocator ` uses the" -" following functions: :c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` " -"and :c:func:`!free`; call ``malloc(1)`` (or ``calloc(1, 1)``) when " -"requesting zero bytes." -msgstr "" - -#: ../../c-api/memory.rst:154 ../../c-api/memory.rst:224 -#: ../../c-api/memory.rst:333 -msgid "" -"Allocates *n* bytes and returns a pointer of type :c:expr:`void*` to the " -"allocated memory, or ``NULL`` if the request fails." -msgstr "" - -#: ../../c-api/memory.rst:157 -msgid "" -"Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " -"as if ``PyMem_RawMalloc(1)`` had been called instead. The memory will not " -"have been initialized in any way." -msgstr "" - -#: ../../c-api/memory.rst:164 ../../c-api/memory.rst:234 -#: ../../c-api/memory.rst:343 -msgid "" -"Allocates *nelem* elements each whose size in bytes is *elsize* and returns " -"a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if " -"the request fails. The memory is initialized to zeros." -msgstr "" - -#: ../../c-api/memory.rst:168 -msgid "" -"Requesting zero elements or elements of size zero bytes returns a distinct " -"non-``NULL`` pointer if possible, as if ``PyMem_RawCalloc(1, 1)`` had been " -"called instead." -msgstr "" - -#: ../../c-api/memory.rst:177 ../../c-api/memory.rst:247 -#: ../../c-api/memory.rst:356 -msgid "" -"Resizes the memory block pointed to by *p* to *n* bytes. The contents will " -"be unchanged to the minimum of the old and the new sizes." -msgstr "" - -#: ../../c-api/memory.rst:180 -msgid "" -"If *p* is ``NULL``, the call is equivalent to ``PyMem_RawMalloc(n)``; else " -"if *n* is equal to zero, the memory block is resized but is not freed, and " -"the returned pointer is non-``NULL``." -msgstr "" - -#: ../../c-api/memory.rst:184 -msgid "" -"Unless *p* is ``NULL``, it must have been returned by a previous call to " -":c:func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` or " -":c:func:`PyMem_RawCalloc`." -msgstr "" - -#: ../../c-api/memory.rst:188 -msgid "" -"If the request fails, :c:func:`PyMem_RawRealloc` returns ``NULL`` and *p* " -"remains a valid pointer to the previous memory area." -msgstr "" - -#: ../../c-api/memory.rst:194 -msgid "" -"Frees the memory block pointed to by *p*, which must have been returned by a" -" previous call to :c:func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` or " -":c:func:`PyMem_RawCalloc`. Otherwise, or if ``PyMem_RawFree(p)`` has been " -"called before, undefined behavior occurs." -msgstr "" - -#: ../../c-api/memory.rst:199 ../../c-api/memory.rst:268 -#: ../../c-api/memory.rst:377 -msgid "If *p* is ``NULL``, no operation is performed." -msgstr "" - -#: ../../c-api/memory.rst:205 -msgid "Memory Interface" -msgstr "" - -#: ../../c-api/memory.rst:207 ../../c-api/memory.rst:314 -msgid "" -"The following function sets, modeled after the ANSI C standard, but " -"specifying behavior when requesting zero bytes, are available for allocating" -" and releasing memory from the Python heap." -msgstr "" - -#: ../../c-api/memory.rst:211 -msgid "" -"The :ref:`default memory allocator ` uses the " -":ref:`pymalloc memory allocator `." -msgstr "" - -#: ../../c-api/memory.rst:216 ../../c-api/memory.rst:329 -msgid "" -"There must be an :term:`attached thread state` when using these functions." -msgstr "" - -#: ../../c-api/memory.rst:220 -msgid "" -"The default allocator is now pymalloc instead of system :c:func:`malloc`." -msgstr "" - -#: ../../c-api/memory.rst:227 -msgid "" -"Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " -"as if ``PyMem_Malloc(1)`` had been called instead. The memory will not have " -"been initialized in any way." -msgstr "" - -#: ../../c-api/memory.rst:238 -msgid "" -"Requesting zero elements or elements of size zero bytes returns a distinct " -"non-``NULL`` pointer if possible, as if ``PyMem_Calloc(1, 1)`` had been " -"called instead." -msgstr "" - -#: ../../c-api/memory.rst:250 -msgid "" -"If *p* is ``NULL``, the call is equivalent to ``PyMem_Malloc(n)``; else if " -"*n* is equal to zero, the memory block is resized but is not freed, and the " -"returned pointer is non-``NULL``." -msgstr "" - -#: ../../c-api/memory.rst:254 -msgid "" -"Unless *p* is ``NULL``, it must have been returned by a previous call to " -":c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc` or :c:func:`PyMem_Calloc`." -msgstr "" - -#: ../../c-api/memory.rst:257 -msgid "" -"If the request fails, :c:func:`PyMem_Realloc` returns ``NULL`` and *p* " -"remains a valid pointer to the previous memory area." -msgstr "" - -#: ../../c-api/memory.rst:263 -msgid "" -"Frees the memory block pointed to by *p*, which must have been returned by a" -" previous call to :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc` or " -":c:func:`PyMem_Calloc`. Otherwise, or if ``PyMem_Free(p)`` has been called " -"before, undefined behavior occurs." -msgstr "" - -#: ../../c-api/memory.rst:270 -msgid "" -"The following type-oriented macros are provided for convenience. Note that" -" *TYPE* refers to any C type." -msgstr "" - -#: ../../c-api/memory.rst:276 -msgid "" -"Same as :c:func:`PyMem_Malloc`, but allocates ``(n * sizeof(TYPE))`` bytes " -"of memory. Returns a pointer cast to ``TYPE*``. The memory will not have " -"been initialized in any way." -msgstr "" - -#: ../../c-api/memory.rst:283 -msgid "" -"Same as :c:func:`PyMem_Realloc`, but the memory block is resized to ``(n * " -"sizeof(TYPE))`` bytes. Returns a pointer cast to ``TYPE*``. On return, *p* " -"will be a pointer to the new memory area, or ``NULL`` in the event of " -"failure." -msgstr "" - -#: ../../c-api/memory.rst:288 -msgid "" -"This is a C preprocessor macro; *p* is always reassigned. Save the original" -" value of *p* to avoid losing memory when handling errors." -msgstr "" - -#: ../../c-api/memory.rst:294 -msgid "Same as :c:func:`PyMem_Free`." -msgstr "Sama seperti :c:func:`PyMem_Free`." - -#: ../../c-api/memory.rst:296 -msgid "" -"In addition, the following macro sets are provided for calling the Python " -"memory allocator directly, without involving the C API functions listed " -"above. However, note that their use does not preserve binary compatibility " -"across Python versions and is therefore deprecated in extension modules." -msgstr "" - -#: ../../c-api/memory.rst:301 -msgid "``PyMem_MALLOC(size)``" -msgstr "``PyMem_MALLOC(size)``" - -#: ../../c-api/memory.rst:302 -msgid "``PyMem_NEW(type, size)``" -msgstr "" - -#: ../../c-api/memory.rst:303 -msgid "``PyMem_REALLOC(ptr, size)``" -msgstr "" - -#: ../../c-api/memory.rst:304 -msgid "``PyMem_RESIZE(ptr, type, size)``" -msgstr "" - -#: ../../c-api/memory.rst:305 -msgid "``PyMem_FREE(ptr)``" -msgstr "" - -#: ../../c-api/memory.rst:306 -msgid "``PyMem_DEL(ptr)``" -msgstr "" - -#: ../../c-api/memory.rst:312 -msgid "Object allocators" -msgstr "" - -#: ../../c-api/memory.rst:319 -msgid "" -"There is no guarantee that the memory returned by these allocators can be " -"successfully cast to a Python object when intercepting the allocating " -"functions in this domain by the methods described in the :ref:`Customize " -"Memory Allocators ` section." -msgstr "" - -#: ../../c-api/memory.rst:324 -msgid "" -"The :ref:`default object allocator ` uses the " -":ref:`pymalloc memory allocator `." -msgstr "" - -#: ../../c-api/memory.rst:336 -msgid "" -"Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " -"as if ``PyObject_Malloc(1)`` had been called instead. The memory will not " -"have been initialized in any way." -msgstr "" - -#: ../../c-api/memory.rst:347 -msgid "" -"Requesting zero elements or elements of size zero bytes returns a distinct " -"non-``NULL`` pointer if possible, as if ``PyObject_Calloc(1, 1)`` had been " -"called instead." -msgstr "" - -#: ../../c-api/memory.rst:359 -msgid "" -"If *p* is ``NULL``, the call is equivalent to ``PyObject_Malloc(n)``; else " -"if *n* is equal to zero, the memory block is resized but is not freed, and " -"the returned pointer is non-``NULL``." -msgstr "" - -#: ../../c-api/memory.rst:363 -msgid "" -"Unless *p* is ``NULL``, it must have been returned by a previous call to " -":c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` or " -":c:func:`PyObject_Calloc`." -msgstr "" - -#: ../../c-api/memory.rst:366 -msgid "" -"If the request fails, :c:func:`PyObject_Realloc` returns ``NULL`` and *p* " -"remains a valid pointer to the previous memory area." -msgstr "" - -#: ../../c-api/memory.rst:372 -msgid "" -"Frees the memory block pointed to by *p*, which must have been returned by a" -" previous call to :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` or " -":c:func:`PyObject_Calloc`. Otherwise, or if ``PyObject_Free(p)`` has been " -"called before, undefined behavior occurs." -msgstr "" - -#: ../../c-api/memory.rst:383 -msgid "Default Memory Allocators" -msgstr "" - -#: ../../c-api/memory.rst:385 -msgid "Default memory allocators:" -msgstr "" - -#: ../../c-api/memory.rst:388 -msgid "Configuration" -msgstr "" - -#: ../../c-api/memory.rst:388 -msgid "Name" -msgstr "Nama" - -#: ../../c-api/memory.rst:388 -msgid "PyMem_RawMalloc" -msgstr "" - -#: ../../c-api/memory.rst:388 -msgid "PyMem_Malloc" -msgstr "PyMem_Malloc" - -#: ../../c-api/memory.rst:388 -msgid "PyObject_Malloc" -msgstr "" - -#: ../../c-api/memory.rst:390 -msgid "Release build" -msgstr "" - -#: ../../c-api/memory.rst:390 -msgid "``\"pymalloc\"``" -msgstr "" - -#: ../../c-api/memory.rst:390 ../../c-api/memory.rst:392 -msgid "``malloc``" -msgstr "" - -#: ../../c-api/memory.rst:390 -msgid "``pymalloc``" -msgstr "" - -#: ../../c-api/memory.rst:391 -msgid "Debug build" -msgstr "" - -#: ../../c-api/memory.rst:391 -msgid "``\"pymalloc_debug\"``" -msgstr "" - -#: ../../c-api/memory.rst:391 ../../c-api/memory.rst:393 -msgid "``malloc`` + debug" -msgstr "" - -#: ../../c-api/memory.rst:391 -msgid "``pymalloc`` + debug" -msgstr "" - -#: ../../c-api/memory.rst:392 -msgid "Release build, without pymalloc" -msgstr "" - -#: ../../c-api/memory.rst:392 -msgid "``\"malloc\"``" -msgstr "" - -#: ../../c-api/memory.rst:393 -msgid "Debug build, without pymalloc" -msgstr "" - -#: ../../c-api/memory.rst:393 -msgid "``\"malloc_debug\"``" -msgstr "" - -#: ../../c-api/memory.rst:396 -msgid "Legend:" -msgstr "" - -#: ../../c-api/memory.rst:398 -msgid "Name: value for :envvar:`PYTHONMALLOC` environment variable." -msgstr "" - -#: ../../c-api/memory.rst:399 -msgid "" -"``malloc``: system allocators from the standard C library, C functions: " -":c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` and :c:func:`free`." -msgstr "" - -#: ../../c-api/memory.rst:401 -msgid "``pymalloc``: :ref:`pymalloc memory allocator `." -msgstr "" - -#: ../../c-api/memory.rst:402 -msgid "" -"``mimalloc``: :ref:`mimalloc memory allocator `. The pymalloc " -"allocator will be used if mimalloc support isn't available." -msgstr "" - -#: ../../c-api/memory.rst:404 -msgid "" -"\"+ debug\": with :ref:`debug hooks on the Python memory allocators `." -msgstr "" - -#: ../../c-api/memory.rst:406 -msgid "\"Debug build\": :ref:`Python build in debug mode `." -msgstr "" - -#: ../../c-api/memory.rst:411 -msgid "Customize Memory Allocators" -msgstr "" - -#: ../../c-api/memory.rst:417 -msgid "" -"Structure used to describe a memory block allocator. The structure has the " -"following fields:" -msgstr "" - -#: ../../c-api/memory.rst:421 ../../c-api/memory.rst:668 -msgid "Field" -msgstr "Field" - -#: ../../c-api/memory.rst:421 ../../c-api/memory.rst:668 -msgid "Meaning" -msgstr "Artinya" - -#: ../../c-api/memory.rst:423 ../../c-api/memory.rst:670 -msgid "``void *ctx``" -msgstr "" - -#: ../../c-api/memory.rst:423 ../../c-api/memory.rst:670 -msgid "user context passed as first argument" -msgstr "" - -#: ../../c-api/memory.rst:425 -msgid "``void* malloc(void *ctx, size_t size)``" -msgstr "" - -#: ../../c-api/memory.rst:425 -msgid "allocate a memory block" -msgstr "" - -#: ../../c-api/memory.rst:427 -msgid "``void* calloc(void *ctx, size_t nelem, size_t elsize)``" -msgstr "" - -#: ../../c-api/memory.rst:427 -msgid "allocate a memory block initialized with zeros" -msgstr "" - -#: ../../c-api/memory.rst:430 -msgid "``void* realloc(void *ctx, void *ptr, size_t new_size)``" -msgstr "" - -#: ../../c-api/memory.rst:430 -msgid "allocate or resize a memory block" -msgstr "" - -#: ../../c-api/memory.rst:432 -msgid "``void free(void *ctx, void *ptr)``" -msgstr "" - -#: ../../c-api/memory.rst:432 -msgid "free a memory block" -msgstr "" - -#: ../../c-api/memory.rst:435 -msgid "" -"The :c:type:`!PyMemAllocator` structure was renamed to " -":c:type:`PyMemAllocatorEx` and a new ``calloc`` field was added." -msgstr "" - -#: ../../c-api/memory.rst:442 -msgid "Enum used to identify an allocator domain. Domains:" -msgstr "" - -#: ../../c-api/memory.rst:448 ../../c-api/memory.rst:457 -#: ../../c-api/memory.rst:466 -msgid "Functions:" -msgstr "Fungsi-fungsi:" - -#: ../../c-api/memory.rst:450 -msgid ":c:func:`PyMem_RawMalloc`" -msgstr ":c:func:`PyMem_RawMalloc`" - -#: ../../c-api/memory.rst:451 -msgid ":c:func:`PyMem_RawRealloc`" -msgstr ":c:func:`PyMem_RawRealloc`" - -#: ../../c-api/memory.rst:452 -msgid ":c:func:`PyMem_RawCalloc`" -msgstr ":c:func:`PyMem_RawCalloc`" - -#: ../../c-api/memory.rst:453 -msgid ":c:func:`PyMem_RawFree`" -msgstr ":c:func:`PyMem_RawFree`" - -#: ../../c-api/memory.rst:459 -msgid ":c:func:`PyMem_Malloc`," -msgstr ":c:func:`PyMem_Malloc`," - -#: ../../c-api/memory.rst:460 -msgid ":c:func:`PyMem_Realloc`" -msgstr ":c:func:`PyMem_Realloc`" - -#: ../../c-api/memory.rst:461 -msgid ":c:func:`PyMem_Calloc`" -msgstr ":c:func:`PyMem_Calloc`" - -#: ../../c-api/memory.rst:462 -msgid ":c:func:`PyMem_Free`" -msgstr ":c:func:`PyMem_Free`" - -#: ../../c-api/memory.rst:468 -msgid ":c:func:`PyObject_Malloc`" -msgstr ":c:func:`PyObject_Malloc`" - -#: ../../c-api/memory.rst:469 -msgid ":c:func:`PyObject_Realloc`" -msgstr ":c:func:`PyObject_Realloc`" - -#: ../../c-api/memory.rst:470 -msgid ":c:func:`PyObject_Calloc`" -msgstr ":c:func:`PyObject_Calloc`" - -#: ../../c-api/memory.rst:471 -msgid ":c:func:`PyObject_Free`" -msgstr ":c:func:`PyObject_Free`" - -#: ../../c-api/memory.rst:475 -msgid "Get the memory block allocator of the specified domain." -msgstr "" - -#: ../../c-api/memory.rst:480 -msgid "Set the memory block allocator of the specified domain." -msgstr "" - -#: ../../c-api/memory.rst:482 -msgid "" -"The new allocator must return a distinct non-``NULL`` pointer when " -"requesting zero bytes." -msgstr "" - -#: ../../c-api/memory.rst:485 -msgid "" -"For the :c:macro:`PYMEM_DOMAIN_RAW` domain, the allocator must be thread-" -"safe: a :term:`thread state` is not :term:`attached `" -" when the allocator is called." -msgstr "" - -#: ../../c-api/memory.rst:489 -msgid "" -"For the remaining domains, the allocator must also be thread-safe: the " -"allocator may be called in different interpreters that do not share a " -":term:`GIL`." -msgstr "" - -#: ../../c-api/memory.rst:493 -msgid "" -"If the new allocator is not a hook (does not call the previous allocator), " -"the :c:func:`PyMem_SetupDebugHooks` function must be called to reinstall the" -" debug hooks on top on the new allocator." -msgstr "" - -#: ../../c-api/memory.rst:497 -msgid "" -"See also :c:member:`PyPreConfig.allocator` and :ref:`Preinitialize Python " -"with PyPreConfig `." -msgstr "" - -#: ../../c-api/memory.rst:502 -msgid ":c:func:`PyMem_SetAllocator` does have the following contract:" -msgstr "" - -#: ../../c-api/memory.rst:504 -msgid "" -"It can be called after :c:func:`Py_PreInitialize` and before " -":c:func:`Py_InitializeFromConfig` to install a custom memory allocator. " -"There are no restrictions over the installed allocator other than the ones " -"imposed by the domain (for instance, the Raw Domain allows the allocator to " -"be called without an :term:`attached thread state`). See :ref:`the section " -"on allocator domains ` for more information." -msgstr "" - -#: ../../c-api/memory.rst:512 -msgid "" -"If called after Python has finish initializing (after " -":c:func:`Py_InitializeFromConfig` has been called) the allocator **must** " -"wrap the existing allocator. Substituting the current allocator for some " -"other arbitrary one is **not supported**." -msgstr "" - -#: ../../c-api/memory.rst:517 -msgid "All allocators must be thread-safe." -msgstr "" - -#: ../../c-api/memory.rst:523 -msgid "" -"Setup :ref:`debug hooks in the Python memory allocators `" -" to detect memory errors." -msgstr "" - -#: ../../c-api/memory.rst:530 -msgid "Debug hooks on the Python memory allocators" -msgstr "" - -#: ../../c-api/memory.rst:532 -msgid "" -"When :ref:`Python is built in debug mode `, the " -":c:func:`PyMem_SetupDebugHooks` function is called at the :ref:`Python " -"preinitialization ` to setup debug hooks on Python memory " -"allocators to detect memory errors." -msgstr "" - -#: ../../c-api/memory.rst:537 -msgid "" -"The :envvar:`PYTHONMALLOC` environment variable can be used to install debug" -" hooks on a Python compiled in release mode (ex: ``PYTHONMALLOC=debug``)." -msgstr "" - -#: ../../c-api/memory.rst:540 -msgid "" -"The :c:func:`PyMem_SetupDebugHooks` function can be used to set debug hooks " -"after calling :c:func:`PyMem_SetAllocator`." -msgstr "" - -#: ../../c-api/memory.rst:543 -msgid "" -"These debug hooks fill dynamically allocated memory blocks with special, " -"recognizable bit patterns. Newly allocated memory is filled with the byte " -"``0xCD`` (``PYMEM_CLEANBYTE``), freed memory is filled with the byte " -"``0xDD`` (``PYMEM_DEADBYTE``). Memory blocks are surrounded by \"forbidden " -"bytes\" filled with the byte ``0xFD`` (``PYMEM_FORBIDDENBYTE``). Strings of " -"these bytes are unlikely to be valid addresses, floats, or ASCII strings." -msgstr "" - -#: ../../c-api/memory.rst:550 -msgid "Runtime checks:" -msgstr "" - -#: ../../c-api/memory.rst:552 -msgid "" -"Detect API violations. For example, detect if :c:func:`PyObject_Free` is " -"called on a memory block allocated by :c:func:`PyMem_Malloc`." -msgstr "" - -#: ../../c-api/memory.rst:554 -msgid "Detect write before the start of the buffer (buffer underflow)." -msgstr "" - -#: ../../c-api/memory.rst:555 -msgid "Detect write after the end of the buffer (buffer overflow)." -msgstr "" - -#: ../../c-api/memory.rst:556 -msgid "" -"Check that there is an :term:`attached thread state` when allocator " -"functions of :c:macro:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and" -" :c:macro:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are " -"called." -msgstr "" - -#: ../../c-api/memory.rst:561 -msgid "" -"On error, the debug hooks use the :mod:`tracemalloc` module to get the " -"traceback where a memory block was allocated. The traceback is only " -"displayed if :mod:`tracemalloc` is tracing Python memory allocations and the" -" memory block was traced." -msgstr "" - -#: ../../c-api/memory.rst:566 -msgid "" -"Let *S* = ``sizeof(size_t)``. ``2*S`` bytes are added at each end of each " -"block of *N* bytes requested. The memory layout is like so, where p " -"represents the address returned by a malloc-like or realloc-like function " -"(``p[i:j]`` means the slice of bytes from ``*(p+i)`` inclusive up to " -"``*(p+j)`` exclusive; note that the treatment of negative indices differs " -"from a Python slice):" -msgstr "" - -#: ../../c-api/memory.rst:572 -msgid "``p[-2*S:-S]``" -msgstr "" - -#: ../../c-api/memory.rst:573 -msgid "" -"Number of bytes originally asked for. This is a size_t, big-endian (easier " -"to read in a memory dump)." -msgstr "" - -#: ../../c-api/memory.rst:575 -msgid "``p[-S]``" -msgstr "" - -#: ../../c-api/memory.rst:576 -msgid "API identifier (ASCII character):" -msgstr "" - -#: ../../c-api/memory.rst:578 -msgid "``'r'`` for :c:macro:`PYMEM_DOMAIN_RAW`." -msgstr "" - -#: ../../c-api/memory.rst:579 -msgid "``'m'`` for :c:macro:`PYMEM_DOMAIN_MEM`." -msgstr "" - -#: ../../c-api/memory.rst:580 -msgid "``'o'`` for :c:macro:`PYMEM_DOMAIN_OBJ`." -msgstr "" - -#: ../../c-api/memory.rst:582 -msgid "``p[-S+1:0]``" -msgstr "" - -#: ../../c-api/memory.rst:583 -msgid "Copies of PYMEM_FORBIDDENBYTE. Used to catch under- writes and reads." -msgstr "" - -#: ../../c-api/memory.rst:585 -msgid "``p[0:N]``" -msgstr "" - -#: ../../c-api/memory.rst:586 -msgid "" -"The requested memory, filled with copies of PYMEM_CLEANBYTE, used to catch " -"reference to uninitialized memory. When a realloc-like function is called " -"requesting a larger memory block, the new excess bytes are also filled with " -"PYMEM_CLEANBYTE. When a free-like function is called, these are overwritten" -" with PYMEM_DEADBYTE, to catch reference to freed memory. When a realloc- " -"like function is called requesting a smaller memory block, the excess old " -"bytes are also filled with PYMEM_DEADBYTE." -msgstr "" - -#: ../../c-api/memory.rst:594 -msgid "``p[N:N+S]``" -msgstr "" - -#: ../../c-api/memory.rst:595 -msgid "Copies of PYMEM_FORBIDDENBYTE. Used to catch over- writes and reads." -msgstr "" - -#: ../../c-api/memory.rst:597 -msgid "``p[N+S:N+2*S]``" -msgstr "" - -#: ../../c-api/memory.rst:598 -msgid "" -"Only used if the ``PYMEM_DEBUG_SERIALNO`` macro is defined (not defined by " -"default)." -msgstr "" - -#: ../../c-api/memory.rst:601 -msgid "" -"A serial number, incremented by 1 on each call to a malloc-like or realloc-" -"like function. Big-endian :c:type:`size_t`. If \"bad memory\" is detected " -"later, the serial number gives an excellent way to set a breakpoint on the " -"next run, to capture the instant at which this block was passed out. The " -"static function bumpserialno() in obmalloc.c is the only place the serial " -"number is incremented, and exists so you can set such a breakpoint easily." -msgstr "" - -#: ../../c-api/memory.rst:608 -msgid "" -"A realloc-like or free-like function first checks that the " -"PYMEM_FORBIDDENBYTE bytes at each end are intact. If they've been altered, " -"diagnostic output is written to stderr, and the program is aborted via " -"Py_FatalError(). The other main failure mode is provoking a memory error " -"when a program reads up one of the special bit patterns and tries to use it " -"as an address. If you get in a debugger then and look at the object, you're" -" likely to see that it's entirely filled with PYMEM_DEADBYTE (meaning freed " -"memory is getting used) or PYMEM_CLEANBYTE (meaning uninitialized memory is " -"getting used)." -msgstr "" - -#: ../../c-api/memory.rst:617 -msgid "" -"The :c:func:`PyMem_SetupDebugHooks` function now also works on Python " -"compiled in release mode. On error, the debug hooks now use " -":mod:`tracemalloc` to get the traceback where a memory block was allocated. " -"The debug hooks now also check if there is an :term:`attached thread state` " -"when functions of :c:macro:`PYMEM_DOMAIN_OBJ` and " -":c:macro:`PYMEM_DOMAIN_MEM` domains are called." -msgstr "" - -#: ../../c-api/memory.rst:625 -msgid "" -"Byte patterns ``0xCB`` (``PYMEM_CLEANBYTE``), ``0xDB`` (``PYMEM_DEADBYTE``) " -"and ``0xFB`` (``PYMEM_FORBIDDENBYTE``) have been replaced with ``0xCD``, " -"``0xDD`` and ``0xFD`` to use the same values than Windows CRT debug " -"``malloc()`` and ``free()``." -msgstr "" - -#: ../../c-api/memory.rst:635 -msgid "The pymalloc allocator" -msgstr "" - -#: ../../c-api/memory.rst:637 -msgid "" -"Python has a *pymalloc* allocator optimized for small objects (smaller or " -"equal to 512 bytes) with a short lifetime. It uses memory mappings called " -"\"arenas\" with a fixed size of either 256 KiB on 32-bit platforms or 1 MiB " -"on 64-bit platforms. It falls back to :c:func:`PyMem_RawMalloc` and " -":c:func:`PyMem_RawRealloc` for allocations larger than 512 bytes." -msgstr "" - -#: ../../c-api/memory.rst:643 -msgid "" -"*pymalloc* is the :ref:`default allocator ` of " -"the :c:macro:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) and " -":c:macro:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) domains." -msgstr "" - -#: ../../c-api/memory.rst:647 -msgid "The arena allocator uses the following functions:" -msgstr "" - -#: ../../c-api/memory.rst:649 -msgid ":c:func:`!VirtualAlloc` and :c:func:`!VirtualFree` on Windows," -msgstr "" - -#: ../../c-api/memory.rst:650 -msgid ":c:func:`!mmap` and :c:func:`!munmap` if available," -msgstr "" - -#: ../../c-api/memory.rst:651 -msgid ":c:func:`malloc` and :c:func:`free` otherwise." -msgstr "" - -#: ../../c-api/memory.rst:653 -msgid "" -"This allocator is disabled if Python is configured with the " -":option:`--without-pymalloc` option. It can also be disabled at runtime " -"using the :envvar:`PYTHONMALLOC` environment variable (ex: " -"``PYTHONMALLOC=malloc``)." -msgstr "" - -#: ../../c-api/memory.rst:658 -msgid "Customize pymalloc Arena Allocator" -msgstr "" - -#: ../../c-api/memory.rst:664 -msgid "" -"Structure used to describe an arena allocator. The structure has three " -"fields:" -msgstr "" - -#: ../../c-api/memory.rst:672 -msgid "``void* alloc(void *ctx, size_t size)``" -msgstr "" - -#: ../../c-api/memory.rst:672 -msgid "allocate an arena of size bytes" -msgstr "" - -#: ../../c-api/memory.rst:674 -msgid "``void free(void *ctx, void *ptr, size_t size)``" -msgstr "" - -#: ../../c-api/memory.rst:674 -msgid "free an arena" -msgstr "" - -#: ../../c-api/memory.rst:679 -msgid "Get the arena allocator." -msgstr "" - -#: ../../c-api/memory.rst:683 -msgid "Set the arena allocator." -msgstr "" - -#: ../../c-api/memory.rst:688 -msgid "The mimalloc allocator" -msgstr "" - -#: ../../c-api/memory.rst:692 -msgid "" -"Python supports the mimalloc allocator when the underlying platform support " -"is available. mimalloc \"is a general purpose allocator with excellent " -"performance characteristics. Initially developed by Daan Leijen for the " -"runtime systems of the Koka and Lean languages.\"" -msgstr "" - -#: ../../c-api/memory.rst:697 -msgid "tracemalloc C API" -msgstr "" - -#: ../../c-api/memory.rst:703 -msgid "Track an allocated memory block in the :mod:`tracemalloc` module." -msgstr "" - -#: ../../c-api/memory.rst:705 -msgid "" -"Return ``0`` on success, return ``-1`` on error (failed to allocate memory " -"to store the trace). Return ``-2`` if tracemalloc is disabled." -msgstr "" - -#: ../../c-api/memory.rst:708 -msgid "If memory block is already tracked, update the existing trace." -msgstr "" - -#: ../../c-api/memory.rst:712 -msgid "" -"Untrack an allocated memory block in the :mod:`tracemalloc` module. Do " -"nothing if the block was not tracked." -msgstr "" - -#: ../../c-api/memory.rst:715 -msgid "Return ``-2`` if tracemalloc is disabled, otherwise return ``0``." -msgstr "" - -#: ../../c-api/memory.rst:721 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../c-api/memory.rst:723 -msgid "" -"Here is the example from section :ref:`memoryoverview`, rewritten so that " -"the I/O buffer is allocated from the Python heap by using the first function" -" set::" -msgstr "" - -#: ../../c-api/memory.rst:726 -msgid "" -"PyObject *res;\n" -"char *buf = (char *) PyMem_Malloc(BUFSIZ); /* for I/O */\n" -"\n" -"if (buf == NULL)\n" -" return PyErr_NoMemory();\n" -"/* ...Do some I/O operation involving buf... */\n" -"res = PyBytes_FromString(buf);\n" -"PyMem_Free(buf); /* allocated with PyMem_Malloc */\n" -"return res;" -msgstr "" - -#: ../../c-api/memory.rst:736 -msgid "The same code using the type-oriented function set::" -msgstr "" - -#: ../../c-api/memory.rst:738 -msgid "" -"PyObject *res;\n" -"char *buf = PyMem_New(char, BUFSIZ); /* for I/O */\n" -"\n" -"if (buf == NULL)\n" -" return PyErr_NoMemory();\n" -"/* ...Do some I/O operation involving buf... */\n" -"res = PyBytes_FromString(buf);\n" -"PyMem_Free(buf); /* allocated with PyMem_New */\n" -"return res;" -msgstr "" - -#: ../../c-api/memory.rst:748 -msgid "" -"Note that in the two examples above, the buffer is always manipulated via " -"functions belonging to the same set. Indeed, it is required to use the same " -"memory API family for a given memory block, so that the risk of mixing " -"different allocators is reduced to a minimum. The following code sequence " -"contains two errors, one of which is labeled as *fatal* because it mixes two" -" different allocators operating on different heaps. ::" -msgstr "" - -#: ../../c-api/memory.rst:755 -msgid "" -"char *buf1 = PyMem_New(char, BUFSIZ);\n" -"char *buf2 = (char *) malloc(BUFSIZ);\n" -"char *buf3 = (char *) PyMem_Malloc(BUFSIZ);\n" -"...\n" -"PyMem_Del(buf3); /* Wrong -- should be PyMem_Free() */\n" -"free(buf2); /* Right -- allocated via malloc() */\n" -"free(buf1); /* Fatal -- should be PyMem_Free() */" -msgstr "" - -#: ../../c-api/memory.rst:763 -msgid "" -"In addition to the functions aimed at handling raw memory blocks from the " -"Python heap, objects in Python are allocated and released with " -":c:macro:`PyObject_New`, :c:macro:`PyObject_NewVar` and " -":c:func:`PyObject_Free`." -msgstr "" - -#: ../../c-api/memory.rst:767 -msgid "" -"These will be explained in the next chapter on defining and implementing new" -" object types in C." -msgstr "" - -#: ../../c-api/memory.rst:43 -msgid "malloc (C function)" -msgstr "" - -#: ../../c-api/memory.rst:43 -msgid "calloc (C function)" -msgstr "" - -#: ../../c-api/memory.rst:43 -msgid "realloc (C function)" -msgstr "" - -#: ../../c-api/memory.rst:43 -msgid "free (C function)" -msgstr "" diff --git a/python-newest.c-api--memoryview/id.po b/python-newest.c-api--memoryview/id.po deleted file mode 100644 index d900c38..0000000 --- a/python-newest.c-api--memoryview/id.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/memoryview.rst:9 -msgid "MemoryView objects" -msgstr "" - -#: ../../c-api/memoryview.rst:11 -msgid "" -"A :class:`memoryview` object exposes the C level :ref:`buffer interface " -"` as a Python object which can then be passed around like any" -" other object." -msgstr "" - -#: ../../c-api/memoryview.rst:18 -msgid "" -"Create a memoryview object from an object that provides the buffer " -"interface. If *obj* supports writable buffer exports, the memoryview object " -"will be read/write, otherwise it may be either read-only or read/write at " -"the discretion of the exporter." -msgstr "" - -#: ../../c-api/memoryview.rst:26 -msgid "Flag to request a readonly buffer." -msgstr "" - -#: ../../c-api/memoryview.rst:31 -msgid "Flag to request a writable buffer." -msgstr "" - -#: ../../c-api/memoryview.rst:36 -msgid "" -"Create a memoryview object using *mem* as the underlying buffer. *flags* can" -" be one of :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE`." -msgstr "" - -#: ../../c-api/memoryview.rst:43 -msgid "" -"Create a memoryview object wrapping the given buffer structure *view*. For " -"simple byte buffers, :c:func:`PyMemoryView_FromMemory` is the preferred " -"function." -msgstr "" - -#: ../../c-api/memoryview.rst:49 -msgid "" -"Create a memoryview object to a :term:`contiguous` chunk of memory (in " -"either 'C' or 'F'ortran *order*) from an object that defines the buffer " -"interface. If memory is contiguous, the memoryview object points to the " -"original memory. Otherwise, a copy is made and the memoryview points to a " -"new bytes object." -msgstr "" - -#: ../../c-api/memoryview.rst:55 -msgid "" -"*buffertype* can be one of :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE`." -msgstr "" - -#: ../../c-api/memoryview.rst:60 -msgid "" -"Return true if the object *obj* is a memoryview object. It is not currently" -" allowed to create subclasses of :class:`memoryview`. This function always " -"succeeds." -msgstr "" - -#: ../../c-api/memoryview.rst:67 -msgid "" -"Return a pointer to the memoryview's private copy of the exporter's buffer. " -"*mview* **must** be a memoryview instance; this macro doesn't check its " -"type, you must do it yourself or you will risk crashes." -msgstr "" - -#: ../../c-api/memoryview.rst:73 -msgid "" -"Return either a pointer to the exporting object that the memoryview is based" -" on or ``NULL`` if the memoryview has been created by one of the functions " -":c:func:`PyMemoryView_FromMemory` or :c:func:`PyMemoryView_FromBuffer`. " -"*mview* **must** be a memoryview instance." -msgstr "" - -#: ../../c-api/memoryview.rst:5 -msgid "object" -msgstr "objek" - -#: ../../c-api/memoryview.rst:5 -msgid "memoryview" -msgstr "" diff --git a/python-newest.c-api--method/id.po b/python-newest.c-api--method/id.po deleted file mode 100644 index a191773..0000000 --- a/python-newest.c-api--method/id.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/method.rst:6 -msgid "Instance Method Objects" -msgstr "" - -#: ../../c-api/method.rst:10 -msgid "" -"An instance method is a wrapper for a :c:type:`PyCFunction` and the new way " -"to bind a :c:type:`PyCFunction` to a class object. It replaces the former " -"call ``PyMethod_New(func, NULL, class)``." -msgstr "" - -#: ../../c-api/method.rst:17 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python instance " -"method type. It is not exposed to Python programs." -msgstr "" - -#: ../../c-api/method.rst:23 -msgid "" -"Return true if *o* is an instance method object (has type " -":c:data:`PyInstanceMethod_Type`). The parameter must not be ``NULL``. This " -"function always succeeds." -msgstr "" - -#: ../../c-api/method.rst:30 -msgid "" -"Return a new instance method object, with *func* being any callable object. " -"*func* is the function that will be called when the instance method is " -"called." -msgstr "" - -#: ../../c-api/method.rst:37 -msgid "Return the function object associated with the instance method *im*." -msgstr "" - -#: ../../c-api/method.rst:42 -msgid "" -"Macro version of :c:func:`PyInstanceMethod_Function` which avoids error " -"checking." -msgstr "" - -#: ../../c-api/method.rst:48 -msgid "Method Objects" -msgstr "Metode Objek" - -#: ../../c-api/method.rst:52 -msgid "" -"Methods are bound function objects. Methods are always bound to an instance " -"of a user-defined class. Unbound methods (methods bound to a class object) " -"are no longer available." -msgstr "" - -#: ../../c-api/method.rst:61 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python method type. " -"This is exposed to Python programs as ``types.MethodType``." -msgstr "" - -#: ../../c-api/method.rst:67 -msgid "" -"Return true if *o* is a method object (has type :c:data:`PyMethod_Type`). " -"The parameter must not be ``NULL``. This function always succeeds." -msgstr "" - -#: ../../c-api/method.rst:73 -msgid "" -"Return a new method object, with *func* being any callable object and *self*" -" the instance the method should be bound. *func* is the function that will " -"be called when the method is called. *self* must not be ``NULL``." -msgstr "" - -#: ../../c-api/method.rst:80 -msgid "Return the function object associated with the method *meth*." -msgstr "" - -#: ../../c-api/method.rst:85 -msgid "" -"Macro version of :c:func:`PyMethod_Function` which avoids error checking." -msgstr "" - -#: ../../c-api/method.rst:90 -msgid "Return the instance associated with the method *meth*." -msgstr "" - -#: ../../c-api/method.rst:95 -msgid "Macro version of :c:func:`PyMethod_Self` which avoids error checking." -msgstr "" - -#: ../../c-api/method.rst:8 ../../c-api/method.rst:50 -msgid "object" -msgstr "objek" - -#: ../../c-api/method.rst:8 -msgid "instancemethod" -msgstr "" - -#: ../../c-api/method.rst:50 -msgid "method" -msgstr "" - -#: ../../c-api/method.rst:59 -msgid "MethodType (in module types)" -msgstr "" diff --git a/python-newest.c-api--module/id.po b/python-newest.c-api--module/id.po deleted file mode 100644 index 63488ba..0000000 --- a/python-newest.c-api--module/id.po +++ /dev/null @@ -1,869 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/module.rst:6 -msgid "Module Objects" -msgstr "" - -#: ../../c-api/module.rst:15 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python module type. " -"This is exposed to Python programs as ``types.ModuleType``." -msgstr "" - -#: ../../c-api/module.rst:21 -msgid "" -"Return true if *p* is a module object, or a subtype of a module object. This" -" function always succeeds." -msgstr "" - -#: ../../c-api/module.rst:27 -msgid "" -"Return true if *p* is a module object, but not a subtype of " -":c:data:`PyModule_Type`. This function always succeeds." -msgstr "" - -#: ../../c-api/module.rst:40 -msgid "" -"Return a new module object with :attr:`module.__name__` set to *name*. The " -"module's :attr:`!__name__`, :attr:`~module.__doc__`, " -":attr:`~module.__package__` and :attr:`~module.__loader__` attributes are " -"filled in (all but :attr:`!__name__` are set to ``None``). The caller is " -"responsible for setting a :attr:`~module.__file__` attribute." -msgstr "" - -#: ../../c-api/module.rst:46 ../../c-api/module.rst:272 -#: ../../c-api/module.rst:474 -msgid "Return ``NULL`` with an exception set on error." -msgstr "" - -#: ../../c-api/module.rst:50 -msgid "" -":attr:`~module.__package__` and :attr:`~module.__loader__` are now set to " -"``None``." -msgstr "" - -#: ../../c-api/module.rst:57 -msgid "" -"Similar to :c:func:`PyModule_NewObject`, but the name is a UTF-8 encoded " -"string instead of a Unicode object." -msgstr "" - -#: ../../c-api/module.rst:65 -msgid "" -"Return the dictionary object that implements *module*'s namespace; this " -"object is the same as the :attr:`~object.__dict__` attribute of the module " -"object. If *module* is not a module object (or a subtype of a module " -"object), :exc:`SystemError` is raised and ``NULL`` is returned." -msgstr "" - -#: ../../c-api/module.rst:70 -msgid "" -"It is recommended extensions use other ``PyModule_*`` and ``PyObject_*`` " -"functions rather than directly manipulate a module's " -":attr:`~object.__dict__`." -msgstr "" - -#: ../../c-api/module.rst:81 -msgid "" -"Return *module*'s :attr:`~module.__name__` value. If the module does not " -"provide one, or if it is not a string, :exc:`SystemError` is raised and " -"``NULL`` is returned." -msgstr "" - -#: ../../c-api/module.rst:90 -msgid "" -"Similar to :c:func:`PyModule_GetNameObject` but return the name encoded to " -"``'utf-8'``." -msgstr "" - -#: ../../c-api/module.rst:95 -msgid "" -"Return the \"state\" of the module, that is, a pointer to the block of " -"memory allocated at module creation time, or ``NULL``. See " -":c:member:`PyModuleDef.m_size`." -msgstr "" - -#: ../../c-api/module.rst:102 -msgid "" -"Return a pointer to the :c:type:`PyModuleDef` struct from which the module " -"was created, or ``NULL`` if the module wasn't created from a definition." -msgstr "" - -#: ../../c-api/module.rst:112 -msgid "" -"Return the name of the file from which *module* was loaded using *module*'s " -":attr:`~module.__file__` attribute. If this is not defined, or if it is not" -" a string, raise :exc:`SystemError` and return ``NULL``; otherwise return a " -"reference to a Unicode object." -msgstr "" - -#: ../../c-api/module.rst:122 -msgid "" -"Similar to :c:func:`PyModule_GetFilenameObject` but return the filename " -"encoded to 'utf-8'." -msgstr "" - -#: ../../c-api/module.rst:125 -msgid "" -":c:func:`PyModule_GetFilename` raises :exc:`UnicodeEncodeError` on " -"unencodable filenames, use :c:func:`PyModule_GetFilenameObject` instead." -msgstr "" - -#: ../../c-api/module.rst:133 -msgid "Initializing C modules" -msgstr "" - -#: ../../c-api/module.rst:135 -msgid "" -"Modules objects are usually created from extension modules (shared libraries" -" which export an initialization function), or compiled-in modules (where the" -" initialization function is added using :c:func:`PyImport_AppendInittab`). " -"See :ref:`building` or :ref:`extending-with-embedding` for details." -msgstr "" - -#: ../../c-api/module.rst:140 -msgid "" -"The initialization function can either pass a module definition instance to " -":c:func:`PyModule_Create`, and return the resulting module object, or " -"request \"multi-phase initialization\" by returning the definition struct " -"itself." -msgstr "" - -#: ../../c-api/module.rst:146 -msgid "" -"The module definition struct, which holds all information needed to create a" -" module object. There is usually only one statically initialized variable of" -" this type for each module." -msgstr "" - -#: ../../c-api/module.rst:152 -msgid "Always initialize this member to :c:macro:`PyModuleDef_HEAD_INIT`." -msgstr "" - -#: ../../c-api/module.rst:156 -msgid "Name for the new module." -msgstr "" - -#: ../../c-api/module.rst:160 -msgid "" -"Docstring for the module; usually a docstring variable created with " -":c:macro:`PyDoc_STRVAR` is used." -msgstr "" - -#: ../../c-api/module.rst:165 -msgid "" -"Module state may be kept in a per-module memory area that can be retrieved " -"with :c:func:`PyModule_GetState`, rather than in static globals. This makes " -"modules safe for use in multiple sub-interpreters." -msgstr "" - -#: ../../c-api/module.rst:169 -msgid "" -"This memory area is allocated based on *m_size* on module creation, and " -"freed when the module object is deallocated, after the " -":c:member:`~PyModuleDef.m_free` function has been called, if present." -msgstr "" - -#: ../../c-api/module.rst:173 -msgid "" -"Setting ``m_size`` to ``-1`` means that the module does not support sub-" -"interpreters, because it has global state." -msgstr "" - -#: ../../c-api/module.rst:176 -msgid "" -"Setting it to a non-negative value means that the module can be re-" -"initialized and specifies the additional amount of memory it requires for " -"its state. Non-negative ``m_size`` is required for multi-phase " -"initialization." -msgstr "" - -#: ../../c-api/module.rst:181 -msgid "See :PEP:`3121` for more details." -msgstr "" - -#: ../../c-api/module.rst:185 -msgid "" -"A pointer to a table of module-level functions, described by " -":c:type:`PyMethodDef` values. Can be ``NULL`` if no functions are present." -msgstr "" - -#: ../../c-api/module.rst:190 -msgid "" -"An array of slot definitions for multi-phase initialization, terminated by a" -" ``{0, NULL}`` entry. When using single-phase initialization, *m_slots* must" -" be ``NULL``." -msgstr "" - -#: ../../c-api/module.rst:196 -msgid "" -"Prior to version 3.5, this member was always set to ``NULL``, and was " -"defined as:" -msgstr "" - -#: ../../c-api/module.rst:203 -msgid "" -"A traversal function to call during GC traversal of the module object, or " -"``NULL`` if not needed." -msgstr "" - -#: ../../c-api/module.rst:206 ../../c-api/module.rst:221 -#: ../../c-api/module.rst:242 -msgid "" -"This function is not called if the module state was requested but is not " -"allocated yet. This is the case immediately after the module is created and " -"before the module is executed (:c:data:`Py_mod_exec` function). More " -"precisely, this function is not called if :c:member:`~PyModuleDef.m_size` is" -" greater than 0 and the module state (as returned by " -":c:func:`PyModule_GetState`) is ``NULL``." -msgstr "" - -#: ../../c-api/module.rst:213 ../../c-api/module.rst:234 -#: ../../c-api/module.rst:249 -msgid "No longer called before the module state is allocated." -msgstr "" - -#: ../../c-api/module.rst:218 -msgid "" -"A clear function to call during GC clearing of the module object, or " -"``NULL`` if not needed." -msgstr "" - -#: ../../c-api/module.rst:228 -msgid "" -"Like :c:member:`PyTypeObject.tp_clear`, this function is not *always* called" -" before a module is deallocated. For example, when reference counting is " -"enough to determine that an object is no longer used, the cyclic garbage " -"collector is not involved and :c:member:`~PyModuleDef.m_free` is called " -"directly." -msgstr "" - -#: ../../c-api/module.rst:239 -msgid "" -"A function to call during deallocation of the module object, or ``NULL`` if " -"not needed." -msgstr "" - -#: ../../c-api/module.rst:253 -msgid "Single-phase initialization" -msgstr "" - -#: ../../c-api/module.rst:255 -msgid "" -"The module initialization function may create and return the module object " -"directly. This is referred to as \"single-phase initialization\", and uses " -"one of the following two module creation functions:" -msgstr "" - -#: ../../c-api/module.rst:261 -msgid "" -"Create a new module object, given the definition in *def*. This behaves " -"like :c:func:`PyModule_Create2` with *module_api_version* set to " -":c:macro:`PYTHON_API_VERSION`." -msgstr "" - -#: ../../c-api/module.rst:268 -msgid "" -"Create a new module object, given the definition in *def*, assuming the API " -"version *module_api_version*. If that version does not match the version of" -" the running interpreter, a :exc:`RuntimeWarning` is emitted." -msgstr "" - -#: ../../c-api/module.rst:276 -msgid "" -"Most uses of this function should be using :c:func:`PyModule_Create` " -"instead; only use this if you are sure you need it." -msgstr "" - -#: ../../c-api/module.rst:279 -msgid "" -"Before it is returned from in the initialization function, the resulting " -"module object is typically populated using functions like " -":c:func:`PyModule_AddObjectRef`." -msgstr "" - -#: ../../c-api/module.rst:285 -msgid "Multi-phase initialization" -msgstr "" - -#: ../../c-api/module.rst:287 -msgid "" -"An alternate way to specify extensions is to request \"multi-phase " -"initialization\". Extension modules created this way behave more like Python" -" modules: the initialization is split between the *creation phase*, when the" -" module object is created, and the *execution phase*, when it is populated. " -"The distinction is similar to the :py:meth:`!__new__` and " -":py:meth:`!__init__` methods of classes." -msgstr "" - -#: ../../c-api/module.rst:294 -msgid "" -"Unlike modules created using single-phase initialization, these modules are " -"not singletons: if the *sys.modules* entry is removed and the module is re-" -"imported, a new module object is created, and the old module is subject to " -"normal garbage collection -- as with Python modules. By default, multiple " -"modules created from the same definition should be independent: changes to " -"one should not affect the others. This means that all state should be " -"specific to the module object (using e.g. using " -":c:func:`PyModule_GetState`), or its contents (such as the module's " -":attr:`~object.__dict__` or individual classes created with " -":c:func:`PyType_FromSpec`)." -msgstr "" - -#: ../../c-api/module.rst:304 -msgid "" -"All modules created using multi-phase initialization are expected to support" -" :ref:`sub-interpreters `. Making sure multiple " -"modules are independent is typically enough to achieve this." -msgstr "" - -#: ../../c-api/module.rst:308 -msgid "" -"To request multi-phase initialization, the initialization function " -"(PyInit_modulename) returns a :c:type:`PyModuleDef` instance with non-empty " -":c:member:`~PyModuleDef.m_slots`. Before it is returned, the ``PyModuleDef``" -" instance must be initialized with the following function:" -msgstr "" - -#: ../../c-api/module.rst:315 -msgid "" -"Ensures a module definition is a properly initialized Python object that " -"correctly reports its type and reference count." -msgstr "" - -#: ../../c-api/module.rst:318 -msgid "Returns *def* cast to ``PyObject*``, or ``NULL`` if an error occurred." -msgstr "" - -#: ../../c-api/module.rst:322 -msgid "" -"The *m_slots* member of the module definition must point to an array of " -"``PyModuleDef_Slot`` structures:" -msgstr "" - -#: ../../c-api/module.rst:329 -msgid "A slot ID, chosen from the available values explained below." -msgstr "" - -#: ../../c-api/module.rst:333 -msgid "Value of the slot, whose meaning depends on the slot ID." -msgstr "" - -#: ../../c-api/module.rst:337 -msgid "The *m_slots* array must be terminated by a slot with id 0." -msgstr "" - -#: ../../c-api/module.rst:339 -msgid "The available slot types are:" -msgstr "" - -#: ../../c-api/module.rst:343 -msgid "" -"Specifies a function that is called to create the module object itself. The " -"*value* pointer of this slot must point to a function of the signature:" -msgstr "" - -#: ../../c-api/module.rst:350 -msgid "" -"The function receives a :py:class:`~importlib.machinery.ModuleSpec` " -"instance, as defined in :PEP:`451`, and the module definition. It should " -"return a new module object, or set an error and return ``NULL``." -msgstr "" - -#: ../../c-api/module.rst:355 -msgid "" -"This function should be kept minimal. In particular, it should not call " -"arbitrary Python code, as trying to import the same module again may result " -"in an infinite loop." -msgstr "" - -#: ../../c-api/module.rst:359 -msgid "" -"Multiple ``Py_mod_create`` slots may not be specified in one module " -"definition." -msgstr "" - -#: ../../c-api/module.rst:362 -msgid "" -"If ``Py_mod_create`` is not specified, the import machinery will create a " -"normal module object using :c:func:`PyModule_New`. The name is taken from " -"*spec*, not the definition, to allow extension modules to dynamically adjust" -" to their place in the module hierarchy and be imported under different " -"names through symlinks, all while sharing a single module definition." -msgstr "" - -#: ../../c-api/module.rst:368 -msgid "" -"There is no requirement for the returned object to be an instance of " -":c:type:`PyModule_Type`. Any type can be used, as long as it supports " -"setting and getting import-related attributes. However, only " -"``PyModule_Type`` instances may be returned if the ``PyModuleDef`` has " -"non-``NULL`` ``m_traverse``, ``m_clear``, ``m_free``; non-zero ``m_size``; " -"or slots other than ``Py_mod_create``." -msgstr "" - -#: ../../c-api/module.rst:377 -msgid "" -"Specifies a function that is called to *execute* the module. This is " -"equivalent to executing the code of a Python module: typically, this " -"function adds classes and constants to the module. The signature of the " -"function is:" -msgstr "" - -#: ../../c-api/module.rst:386 -msgid "" -"If multiple ``Py_mod_exec`` slots are specified, they are processed in the " -"order they appear in the *m_slots* array." -msgstr "" - -#: ../../c-api/module.rst:391 ../../c-api/module.rst:424 -msgid "Specifies one of the following values:" -msgstr "" - -#: ../../c-api/module.rst:397 -msgid "The module does not support being imported in subinterpreters." -msgstr "" - -#: ../../c-api/module.rst:401 -msgid "" -"The module supports being imported in subinterpreters, but only when they " -"share the main interpreter's GIL. (See :ref:`isolating-extensions-howto`.)" -msgstr "" - -#: ../../c-api/module.rst:407 -msgid "" -"The module supports being imported in subinterpreters, even when they have " -"their own GIL. (See :ref:`isolating-extensions-howto`.)" -msgstr "" - -#: ../../c-api/module.rst:411 -msgid "" -"This slot determines whether or not importing this module in a " -"subinterpreter will fail." -msgstr "" - -#: ../../c-api/module.rst:414 -msgid "" -"Multiple ``Py_mod_multiple_interpreters`` slots may not be specified in one " -"module definition." -msgstr "" - -#: ../../c-api/module.rst:417 -msgid "" -"If ``Py_mod_multiple_interpreters`` is not specified, the import machinery " -"defaults to ``Py_MOD_MULTIPLE_INTERPRETERS_SUPPORTED``." -msgstr "" - -#: ../../c-api/module.rst:430 -msgid "" -"The module depends on the presence of the global interpreter lock (GIL), and" -" may access global state without synchronization." -msgstr "" - -#: ../../c-api/module.rst:435 -msgid "The module is safe to run without an active GIL." -msgstr "" - -#: ../../c-api/module.rst:437 -msgid "" -"This slot is ignored by Python builds not configured with " -":option:`--disable-gil`. Otherwise, it determines whether or not importing " -"this module will cause the GIL to be automatically enabled. See " -":ref:`whatsnew313-free-threaded-cpython` for more detail." -msgstr "" - -#: ../../c-api/module.rst:442 -msgid "" -"Multiple ``Py_mod_gil`` slots may not be specified in one module definition." -msgstr "" - -#: ../../c-api/module.rst:444 -msgid "" -"If ``Py_mod_gil`` is not specified, the import machinery defaults to " -"``Py_MOD_GIL_USED``." -msgstr "" - -#: ../../c-api/module.rst:449 -msgid "See :PEP:`489` for more details on multi-phase initialization." -msgstr "" - -#: ../../c-api/module.rst:452 -msgid "Low-level module creation functions" -msgstr "" - -#: ../../c-api/module.rst:454 -msgid "" -"The following functions are called under the hood when using multi-phase " -"initialization. They can be used directly, for example when creating module " -"objects dynamically. Note that both ``PyModule_FromDefAndSpec`` and " -"``PyModule_ExecDef`` must be called to fully initialize a module." -msgstr "" - -#: ../../c-api/module.rst:461 -msgid "" -"Create a new module object, given the definition in *def* and the ModuleSpec" -" *spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` with " -"*module_api_version* set to :c:macro:`PYTHON_API_VERSION`." -msgstr "" - -#: ../../c-api/module.rst:469 -msgid "" -"Create a new module object, given the definition in *def* and the ModuleSpec" -" *spec*, assuming the API version *module_api_version*. If that version does" -" not match the version of the running interpreter, a :exc:`RuntimeWarning` " -"is emitted." -msgstr "" - -#: ../../c-api/module.rst:478 -msgid "" -"Most uses of this function should be using :c:func:`PyModule_FromDefAndSpec`" -" instead; only use this if you are sure you need it." -msgstr "" - -#: ../../c-api/module.rst:485 -msgid "Process any execution slots (:c:data:`Py_mod_exec`) given in *def*." -msgstr "" - -#: ../../c-api/module.rst:491 -msgid "" -"Set the docstring for *module* to *docstring*. This function is called " -"automatically when creating a module from ``PyModuleDef``, using either " -"``PyModule_Create`` or ``PyModule_FromDefAndSpec``." -msgstr "" - -#: ../../c-api/module.rst:500 -msgid "" -"Add the functions from the ``NULL`` terminated *functions* array to " -"*module*. Refer to the :c:type:`PyMethodDef` documentation for details on " -"individual entries (due to the lack of a shared module namespace, module " -"level \"functions\" implemented in C typically receive the module as their " -"first parameter, making them similar to instance methods on Python classes)." -" This function is called automatically when creating a module from " -"``PyModuleDef``, using either ``PyModule_Create`` or " -"``PyModule_FromDefAndSpec``." -msgstr "" - -#: ../../c-api/module.rst:512 -msgid "Support functions" -msgstr "" - -#: ../../c-api/module.rst:514 -msgid "" -"The module initialization function (if using single phase initialization) or" -" a function called from a module execution slot (if using multi-phase " -"initialization), can use the following functions to help initialize the " -"module state:" -msgstr "" - -#: ../../c-api/module.rst:521 -msgid "" -"Add an object to *module* as *name*. This is a convenience function which " -"can be used from the module's initialization function." -msgstr "" - -#: ../../c-api/module.rst:524 -msgid "" -"On success, return ``0``. On error, raise an exception and return ``-1``." -msgstr "" - -#: ../../c-api/module.rst:526 ../../c-api/module.rst:577 -#: ../../c-api/module.rst:604 -msgid "Example usage::" -msgstr "" - -#: ../../c-api/module.rst:528 -msgid "" -"static int\n" -"add_spam(PyObject *module, int value)\n" -"{\n" -" PyObject *obj = PyLong_FromLong(value);\n" -" if (obj == NULL) {\n" -" return -1;\n" -" }\n" -" int res = PyModule_AddObjectRef(module, \"spam\", obj);\n" -" Py_DECREF(obj);\n" -" return res;\n" -" }" -msgstr "" - -#: ../../c-api/module.rst:540 -msgid "" -"To be convenient, the function accepts ``NULL`` *value* with an exception " -"set. In this case, return ``-1`` and just leave the raised exception " -"unchanged." -msgstr "" - -#: ../../c-api/module.rst:544 -msgid "" -"The example can also be written without checking explicitly if *obj* is " -"``NULL``::" -msgstr "" - -#: ../../c-api/module.rst:547 -msgid "" -"static int\n" -"add_spam(PyObject *module, int value)\n" -"{\n" -" PyObject *obj = PyLong_FromLong(value);\n" -" int res = PyModule_AddObjectRef(module, \"spam\", obj);\n" -" Py_XDECREF(obj);\n" -" return res;\n" -" }" -msgstr "" - -#: ../../c-api/module.rst:556 -msgid "" -"Note that ``Py_XDECREF()`` should be used instead of ``Py_DECREF()`` in this" -" case, since *obj* can be ``NULL``." -msgstr "" - -#: ../../c-api/module.rst:559 -msgid "" -"The number of different *name* strings passed to this function should be " -"kept small, usually by only using statically allocated strings as *name*. " -"For names that aren't known at compile time, prefer calling " -":c:func:`PyUnicode_FromString` and :c:func:`PyObject_SetAttr` directly. For " -"more details, see :c:func:`PyUnicode_InternFromString`, which may be used " -"internally to create a key object." -msgstr "" - -#: ../../c-api/module.rst:572 -msgid "" -"Similar to :c:func:`PyModule_AddObjectRef`, but \"steals\" a reference to " -"*value*. It can be called with a result of function that returns a new " -"reference without bothering to check its result or even saving it to a " -"variable." -msgstr "" - -#: ../../c-api/module.rst:579 -msgid "" -"if (PyModule_Add(module, \"spam\", PyBytes_FromString(value)) < 0) {\n" -" goto error;\n" -"}" -msgstr "" - -#: ../../c-api/module.rst:588 -msgid "" -"Similar to :c:func:`PyModule_AddObjectRef`, but steals a reference to " -"*value* on success (if it returns ``0``)." -msgstr "" - -#: ../../c-api/module.rst:591 -msgid "" -"The new :c:func:`PyModule_Add` or :c:func:`PyModule_AddObjectRef` functions " -"are recommended, since it is easy to introduce reference leaks by misusing " -"the :c:func:`PyModule_AddObject` function." -msgstr "" - -#: ../../c-api/module.rst:598 -msgid "" -"Unlike other functions that steal references, ``PyModule_AddObject()`` only " -"releases the reference to *value* **on success**." -msgstr "" - -#: ../../c-api/module.rst:601 -msgid "" -"This means that its return value must be checked, and calling code must " -":c:func:`Py_XDECREF` *value* manually on error." -msgstr "" - -#: ../../c-api/module.rst:606 -msgid "" -"PyObject *obj = PyBytes_FromString(value);\n" -"if (PyModule_AddObject(module, \"spam\", obj) < 0) {\n" -" // If 'obj' is not NULL and PyModule_AddObject() failed,\n" -" // 'obj' strong reference must be deleted with Py_XDECREF().\n" -" // If 'obj' is NULL, Py_XDECREF() does nothing.\n" -" Py_XDECREF(obj);\n" -" goto error;\n" -"}\n" -"// PyModule_AddObject() stole a reference to obj:\n" -"// Py_XDECREF(obj) is not needed here." -msgstr "" - -#: ../../c-api/module.rst:619 -msgid ":c:func:`PyModule_AddObject` is :term:`soft deprecated`." -msgstr "" - -#: ../../c-api/module.rst:624 -msgid "" -"Add an integer constant to *module* as *name*. This convenience function " -"can be used from the module's initialization function. Return ``-1`` with an" -" exception set on error, ``0`` on success." -msgstr "" - -#: ../../c-api/module.rst:628 -msgid "" -"This is a convenience function that calls :c:func:`PyLong_FromLong` and " -":c:func:`PyModule_AddObjectRef`; see their documentation for details." -msgstr "" - -#: ../../c-api/module.rst:634 -msgid "" -"Add a string constant to *module* as *name*. This convenience function can " -"be used from the module's initialization function. The string *value* must " -"be ``NULL``-terminated. Return ``-1`` with an exception set on error, ``0`` " -"on success." -msgstr "" - -#: ../../c-api/module.rst:639 -msgid "" -"This is a convenience function that calls " -":c:func:`PyUnicode_InternFromString` and :c:func:`PyModule_AddObjectRef`; " -"see their documentation for details." -msgstr "" - -#: ../../c-api/module.rst:646 -msgid "" -"Add an int constant to *module*. The name and the value are taken from " -"*macro*. For example ``PyModule_AddIntMacro(module, AF_INET)`` adds the int " -"constant *AF_INET* with the value of *AF_INET* to *module*. Return ``-1`` " -"with an exception set on error, ``0`` on success." -msgstr "" - -#: ../../c-api/module.rst:654 -msgid "Add a string constant to *module*." -msgstr "" - -#: ../../c-api/module.rst:658 -msgid "" -"Add a type object to *module*. The type object is finalized by calling " -"internally :c:func:`PyType_Ready`. The name of the type object is taken from" -" the last component of :c:member:`~PyTypeObject.tp_name` after dot. Return " -"``-1`` with an exception set on error, ``0`` on success." -msgstr "" - -#: ../../c-api/module.rst:668 -msgid "" -"Indicate that *module* does or does not support running without the global " -"interpreter lock (GIL), using one of the values from :c:macro:`Py_mod_gil`. " -"It must be called during *module*'s initialization function. If this " -"function is not called during module initialization, the import machinery " -"assumes the module does not support running without the GIL. This function " -"is only available in Python builds configured with :option:`--disable-gil`. " -"Return ``-1`` with an exception set on error, ``0`` on success." -msgstr "" - -#: ../../c-api/module.rst:681 -msgid "Module lookup" -msgstr "" - -#: ../../c-api/module.rst:683 -msgid "" -"Single-phase initialization creates singleton modules that can be looked up " -"in the context of the current interpreter. This allows the module object to " -"be retrieved later with only a reference to the module definition." -msgstr "" - -#: ../../c-api/module.rst:687 -msgid "" -"These functions will not work on modules created using multi-phase " -"initialization, since multiple such modules can be created from a single " -"definition." -msgstr "" - -#: ../../c-api/module.rst:692 -msgid "" -"Returns the module object that was created from *def* for the current " -"interpreter. This method requires that the module object has been attached " -"to the interpreter state with :c:func:`PyState_AddModule` beforehand. In " -"case the corresponding module object is not found or has not been attached " -"to the interpreter state yet, it returns ``NULL``." -msgstr "" - -#: ../../c-api/module.rst:699 -msgid "" -"Attaches the module object passed to the function to the interpreter state. " -"This allows the module object to be accessible via " -":c:func:`PyState_FindModule`." -msgstr "" - -#: ../../c-api/module.rst:702 -msgid "Only effective on modules created using single-phase initialization." -msgstr "" - -#: ../../c-api/module.rst:704 -msgid "" -"Python calls ``PyState_AddModule`` automatically after importing a module, " -"so it is unnecessary (but harmless) to call it from module initialization " -"code. An explicit call is needed only if the module's own init code " -"subsequently calls ``PyState_FindModule``. The function is mainly intended " -"for implementing alternative import mechanisms (either by calling it " -"directly, or by referring to its implementation for details of the required " -"state updates)." -msgstr "" - -#: ../../c-api/module.rst:712 ../../c-api/module.rst:723 -msgid "The caller must have an :term:`attached thread state`." -msgstr "" - -#: ../../c-api/module.rst:714 -msgid "Return ``-1`` with an exception set on error, ``0`` on success." -msgstr "" - -#: ../../c-api/module.rst:720 -msgid "" -"Removes the module object created from *def* from the interpreter state. " -"Return ``-1`` with an exception set on error, ``0`` on success." -msgstr "" - -#: ../../c-api/module.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/module.rst:8 -msgid "module" -msgstr "modul" - -#: ../../c-api/module.rst:13 -msgid "ModuleType (in module types)" -msgstr "" - -#: ../../c-api/module.rst:33 ../../c-api/module.rst:77 -msgid "__name__ (module attribute)" -msgstr "" - -#: ../../c-api/module.rst:33 -msgid "__doc__ (module attribute)" -msgstr "" - -#: ../../c-api/module.rst:33 ../../c-api/module.rst:108 -msgid "__file__ (module attribute)" -msgstr "" - -#: ../../c-api/module.rst:33 -msgid "__package__ (module attribute)" -msgstr "" - -#: ../../c-api/module.rst:33 -msgid "__loader__ (module attribute)" -msgstr "" - -#: ../../c-api/module.rst:63 -msgid "__dict__ (module attribute)" -msgstr "" - -#: ../../c-api/module.rst:77 ../../c-api/module.rst:108 -msgid "SystemError (built-in exception)" -msgstr "" diff --git a/python-newest.c-api--monitoring/id.po b/python-newest.c-api--monitoring/id.po deleted file mode 100644 index f54644d..0000000 --- a/python-newest.c-api--monitoring/id.po +++ /dev/null @@ -1,304 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-05-11 01:07+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/monitoring.rst:6 -msgid "Monitoring C API" -msgstr "" - -#: ../../c-api/monitoring.rst:8 -msgid "Added in version 3.13." -msgstr "" - -#: ../../c-api/monitoring.rst:10 -msgid "" -"An extension may need to interact with the event monitoring system. " -"Subscribing to events and registering callbacks can be done via the Python " -"API exposed in :mod:`sys.monitoring`." -msgstr "" - -#: ../../c-api/monitoring.rst:15 -msgid "Generating Execution Events" -msgstr "" - -#: ../../c-api/monitoring.rst:17 -msgid "" -"The functions below make it possible for an extension to fire monitoring " -"events as it emulates the execution of Python code. Each of these functions " -"accepts a ``PyMonitoringState`` struct which contains concise information " -"about the activation state of events, as well as the event arguments, which " -"include a ``PyObject*`` representing the code object, the instruction offset" -" and sometimes additional, event-specific arguments (see " -":mod:`sys.monitoring` for details about the signatures of the different " -"event callbacks). The ``codelike`` argument should be an instance of " -":class:`types.CodeType` or of a type that emulates it." -msgstr "" - -#: ../../c-api/monitoring.rst:27 -msgid "" -"The VM disables tracing when firing an event, so there is no need for user " -"code to do that." -msgstr "" - -#: ../../c-api/monitoring.rst:30 -msgid "" -"Monitoring functions should not be called with an exception set, except " -"those listed below as working with the current exception." -msgstr "" - -#: ../../c-api/monitoring.rst:35 -msgid "" -"Representation of the state of an event type. It is allocated by the user " -"while its contents are maintained by the monitoring API functions described " -"below." -msgstr "" - -#: ../../c-api/monitoring.rst:39 -msgid "" -"All of the functions below return 0 on success and -1 (with an exception " -"set) on error." -msgstr "" - -#: ../../c-api/monitoring.rst:41 -msgid "See :mod:`sys.monitoring` for descriptions of the events." -msgstr "" - -#: ../../c-api/monitoring.rst:45 -msgid "Fire a ``PY_START`` event." -msgstr "" - -#: ../../c-api/monitoring.rst:50 -msgid "Fire a ``PY_RESUME`` event." -msgstr "" - -#: ../../c-api/monitoring.rst:55 -msgid "Fire a ``PY_RETURN`` event." -msgstr "" - -#: ../../c-api/monitoring.rst:60 -msgid "Fire a ``PY_YIELD`` event." -msgstr "" - -#: ../../c-api/monitoring.rst:65 -msgid "Fire a ``CALL`` event." -msgstr "" - -#: ../../c-api/monitoring.rst:70 -msgid "Fire a ``LINE`` event." -msgstr "" - -#: ../../c-api/monitoring.rst:75 -msgid "Fire a ``JUMP`` event." -msgstr "" - -#: ../../c-api/monitoring.rst:80 -msgid "Fire a ``BRANCH_LEFT`` event." -msgstr "" - -#: ../../c-api/monitoring.rst:85 -msgid "Fire a ``BRANCH_RIGHT`` event." -msgstr "" - -#: ../../c-api/monitoring.rst:90 -msgid "Fire a ``C_RETURN`` event." -msgstr "" - -#: ../../c-api/monitoring.rst:95 -msgid "" -"Fire a ``PY_THROW`` event with the current exception (as returned by " -":c:func:`PyErr_GetRaisedException`)." -msgstr "" - -#: ../../c-api/monitoring.rst:101 -msgid "" -"Fire a ``RAISE`` event with the current exception (as returned by " -":c:func:`PyErr_GetRaisedException`)." -msgstr "" - -#: ../../c-api/monitoring.rst:107 -msgid "" -"Fire a ``C_RAISE`` event with the current exception (as returned by " -":c:func:`PyErr_GetRaisedException`)." -msgstr "" - -#: ../../c-api/monitoring.rst:113 -msgid "" -"Fire a ``RERAISE`` event with the current exception (as returned by " -":c:func:`PyErr_GetRaisedException`)." -msgstr "" - -#: ../../c-api/monitoring.rst:119 -msgid "" -"Fire an ``EXCEPTION_HANDLED`` event with the current exception (as returned " -"by :c:func:`PyErr_GetRaisedException`)." -msgstr "" - -#: ../../c-api/monitoring.rst:125 -msgid "" -"Fire a ``PY_UNWIND`` event with the current exception (as returned by " -":c:func:`PyErr_GetRaisedException`)." -msgstr "" - -#: ../../c-api/monitoring.rst:131 -msgid "" -"Fire a ``STOP_ITERATION`` event. If ``value`` is an instance of " -":exc:`StopIteration`, it is used. Otherwise, a new :exc:`StopIteration` " -"instance is created with ``value`` as its argument." -msgstr "" - -#: ../../c-api/monitoring.rst:136 -msgid "Managing the Monitoring State" -msgstr "" - -#: ../../c-api/monitoring.rst:138 -msgid "" -"Monitoring states can be managed with the help of monitoring scopes. A scope" -" would typically correspond to a python function." -msgstr "" - -#: ../../c-api/monitoring.rst:143 -msgid "" -"Enter a monitored scope. ``event_types`` is an array of the event IDs for " -"events that may be fired from the scope. For example, the ID of a " -"``PY_START`` event is the value ``PY_MONITORING_EVENT_PY_START``, which is " -"numerically equal to the base-2 logarithm of " -"``sys.monitoring.events.PY_START``. ``state_array`` is an array with a " -"monitoring state entry for each event in ``event_types``, it is allocated by" -" the user but populated by :c:func:`!PyMonitoring_EnterScope` with " -"information about the activation state of the event. The size of " -"``event_types`` (and hence also of ``state_array``) is given in ``length``." -msgstr "" - -#: ../../c-api/monitoring.rst:153 -msgid "" -"The ``version`` argument is a pointer to a value which should be allocated " -"by the user together with ``state_array`` and initialized to 0, and then set" -" only by :c:func:`!PyMonitoring_EnterScope` itself. It allows this function " -"to determine whether event states have changed since the previous call, and " -"to return quickly if they have not." -msgstr "" - -#: ../../c-api/monitoring.rst:159 -msgid "" -"The scopes referred to here are lexical scopes: a function, class or method." -" :c:func:`!PyMonitoring_EnterScope` should be called whenever the lexical " -"scope is entered. Scopes can be reentered, reusing the same *state_array* " -"and *version*, in situations like when emulating a recursive Python " -"function. When a code-like's execution is paused, such as when emulating a " -"generator, the scope needs to be exited and re-entered." -msgstr "" - -#: ../../c-api/monitoring.rst:166 -msgid "The macros for *event_types* are:" -msgstr "" - -#: ../../c-api/monitoring.rst:174 -msgid "Macro" -msgstr "" - -#: ../../c-api/monitoring.rst:174 -msgid "Event" -msgstr "" - -#: ../../c-api/monitoring.rst:176 -msgid ":monitoring-event:`BRANCH_LEFT`" -msgstr "" - -#: ../../c-api/monitoring.rst:177 -msgid ":monitoring-event:`BRANCH_RIGHT`" -msgstr "" - -#: ../../c-api/monitoring.rst:178 -msgid ":monitoring-event:`CALL`" -msgstr "" - -#: ../../c-api/monitoring.rst:179 -msgid ":monitoring-event:`C_RAISE`" -msgstr "" - -#: ../../c-api/monitoring.rst:180 -msgid ":monitoring-event:`C_RETURN`" -msgstr "" - -#: ../../c-api/monitoring.rst:181 -msgid ":monitoring-event:`EXCEPTION_HANDLED`" -msgstr "" - -#: ../../c-api/monitoring.rst:182 -msgid ":monitoring-event:`INSTRUCTION`" -msgstr "" - -#: ../../c-api/monitoring.rst:183 -msgid ":monitoring-event:`JUMP`" -msgstr "" - -#: ../../c-api/monitoring.rst:184 -msgid ":monitoring-event:`LINE`" -msgstr "" - -#: ../../c-api/monitoring.rst:185 -msgid ":monitoring-event:`PY_RESUME`" -msgstr "" - -#: ../../c-api/monitoring.rst:186 -msgid ":monitoring-event:`PY_RETURN`" -msgstr "" - -#: ../../c-api/monitoring.rst:187 -msgid ":monitoring-event:`PY_START`" -msgstr "" - -#: ../../c-api/monitoring.rst:188 -msgid ":monitoring-event:`PY_THROW`" -msgstr "" - -#: ../../c-api/monitoring.rst:189 -msgid ":monitoring-event:`PY_UNWIND`" -msgstr "" - -#: ../../c-api/monitoring.rst:190 -msgid ":monitoring-event:`PY_YIELD`" -msgstr "" - -#: ../../c-api/monitoring.rst:191 -msgid ":monitoring-event:`RAISE`" -msgstr "" - -#: ../../c-api/monitoring.rst:192 -msgid ":monitoring-event:`RERAISE`" -msgstr "" - -#: ../../c-api/monitoring.rst:193 -msgid ":monitoring-event:`STOP_ITERATION`" -msgstr "" - -#: ../../c-api/monitoring.rst:198 -msgid "" -"Exit the last scope that was entered with " -":c:func:`!PyMonitoring_EnterScope`." -msgstr "" - -#: ../../c-api/monitoring.rst:203 -msgid "" -"Return true if the event corresponding to the event ID *ev* is a :ref:`local" -" event `." -msgstr "" - -#: ../../c-api/monitoring.rst:210 -msgid "This function is :term:`soft deprecated`." -msgstr "" diff --git a/python-newest.c-api--none/id.po b/python-newest.c-api--none/id.po deleted file mode 100644 index 4713371..0000000 --- a/python-newest.c-api--none/id.po +++ /dev/null @@ -1,56 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/none.rst:6 -msgid "The ``None`` Object" -msgstr "Objek ``None``" - -#: ../../c-api/none.rst:10 -msgid "" -"Note that the :c:type:`PyTypeObject` for ``None`` is not directly exposed in" -" the Python/C API. Since ``None`` is a singleton, testing for object " -"identity (using ``==`` in C) is sufficient. There is no " -":c:func:`!PyNone_Check` function for the same reason." -msgstr "" - -#: ../../c-api/none.rst:18 -msgid "" -"The Python ``None`` object, denoting lack of value. This object has no " -"methods and is :term:`immortal`." -msgstr "" - -#: ../../c-api/none.rst:21 -msgid ":c:data:`Py_None` is :term:`immortal`." -msgstr "" - -#: ../../c-api/none.rst:26 -msgid "Return :c:data:`Py_None` from a function." -msgstr "" - -#: ../../c-api/none.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/none.rst:8 -msgid "None" -msgstr "None" diff --git a/python-newest.c-api--number/id.po b/python-newest.c-api--number/id.po deleted file mode 100644 index 9713e10..0000000 --- a/python-newest.c-api--number/id.po +++ /dev/null @@ -1,332 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/number.rst:6 -msgid "Number Protocol" -msgstr "" - -#: ../../c-api/number.rst:11 -msgid "" -"Returns ``1`` if the object *o* provides numeric protocols, and false " -"otherwise. This function always succeeds." -msgstr "" - -#: ../../c-api/number.rst:14 -msgid "Returns ``1`` if *o* is an index integer." -msgstr "" - -#: ../../c-api/number.rst:20 -msgid "" -"Returns the result of adding *o1* and *o2*, or ``NULL`` on failure. This is" -" the equivalent of the Python expression ``o1 + o2``." -msgstr "" - -#: ../../c-api/number.rst:26 -msgid "" -"Returns the result of subtracting *o2* from *o1*, or ``NULL`` on failure. " -"This is the equivalent of the Python expression ``o1 - o2``." -msgstr "" - -#: ../../c-api/number.rst:32 -msgid "" -"Returns the result of multiplying *o1* and *o2*, or ``NULL`` on failure. " -"This is the equivalent of the Python expression ``o1 * o2``." -msgstr "" - -#: ../../c-api/number.rst:38 -msgid "" -"Returns the result of matrix multiplication on *o1* and *o2*, or ``NULL`` on" -" failure. This is the equivalent of the Python expression ``o1 @ o2``." -msgstr "" - -#: ../../c-api/number.rst:46 -msgid "" -"Return the floor of *o1* divided by *o2*, or ``NULL`` on failure. This is " -"the equivalent of the Python expression ``o1 // o2``." -msgstr "" - -#: ../../c-api/number.rst:52 -msgid "" -"Return a reasonable approximation for the mathematical value of *o1* divided" -" by *o2*, or ``NULL`` on failure. The return value is \"approximate\" " -"because binary floating-point numbers are approximate; it is not possible to" -" represent all real numbers in base two. This function can return a " -"floating-point value when passed two integers. This is the equivalent of " -"the Python expression ``o1 / o2``." -msgstr "" - -#: ../../c-api/number.rst:61 -msgid "" -"Returns the remainder of dividing *o1* by *o2*, or ``NULL`` on failure. " -"This is the equivalent of the Python expression ``o1 % o2``." -msgstr "" - -#: ../../c-api/number.rst:69 -msgid "" -"See the built-in function :func:`divmod`. Returns ``NULL`` on failure. This" -" is the equivalent of the Python expression ``divmod(o1, o2)``." -msgstr "" - -#: ../../c-api/number.rst:77 -msgid "" -"See the built-in function :func:`pow`. Returns ``NULL`` on failure. This is" -" the equivalent of the Python expression ``pow(o1, o2, o3)``, where *o3* is " -"optional. If *o3* is to be ignored, pass :c:data:`Py_None` in its place " -"(passing ``NULL`` for *o3* would cause an illegal memory access)." -msgstr "" - -#: ../../c-api/number.rst:85 -msgid "" -"Returns the negation of *o* on success, or ``NULL`` on failure. This is the " -"equivalent of the Python expression ``-o``." -msgstr "" - -#: ../../c-api/number.rst:91 -msgid "" -"Returns *o* on success, or ``NULL`` on failure. This is the equivalent of " -"the Python expression ``+o``." -msgstr "" - -#: ../../c-api/number.rst:99 -msgid "" -"Returns the absolute value of *o*, or ``NULL`` on failure. This is the " -"equivalent of the Python expression ``abs(o)``." -msgstr "" - -#: ../../c-api/number.rst:105 -msgid "" -"Returns the bitwise negation of *o* on success, or ``NULL`` on failure. " -"This is the equivalent of the Python expression ``~o``." -msgstr "" - -#: ../../c-api/number.rst:111 -msgid "" -"Returns the result of left shifting *o1* by *o2* on success, or ``NULL`` on " -"failure. This is the equivalent of the Python expression ``o1 << o2``." -msgstr "" - -#: ../../c-api/number.rst:117 -msgid "" -"Returns the result of right shifting *o1* by *o2* on success, or ``NULL`` on" -" failure. This is the equivalent of the Python expression ``o1 >> o2``." -msgstr "" - -#: ../../c-api/number.rst:123 -msgid "" -"Returns the \"bitwise and\" of *o1* and *o2* on success and ``NULL`` on " -"failure. This is the equivalent of the Python expression ``o1 & o2``." -msgstr "" - -#: ../../c-api/number.rst:129 -msgid "" -"Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or ``NULL``" -" on failure. This is the equivalent of the Python expression ``o1 ^ o2``." -msgstr "" - -#: ../../c-api/number.rst:135 -msgid "" -"Returns the \"bitwise or\" of *o1* and *o2* on success, or ``NULL`` on " -"failure. This is the equivalent of the Python expression ``o1 | o2``." -msgstr "" - -#: ../../c-api/number.rst:141 -msgid "" -"Returns the result of adding *o1* and *o2*, or ``NULL`` on failure. The " -"operation is done *in-place* when *o1* supports it. This is the equivalent " -"of the Python statement ``o1 += o2``." -msgstr "" - -#: ../../c-api/number.rst:148 -msgid "" -"Returns the result of subtracting *o2* from *o1*, or ``NULL`` on failure. " -"The operation is done *in-place* when *o1* supports it. This is the " -"equivalent of the Python statement ``o1 -= o2``." -msgstr "" - -#: ../../c-api/number.rst:155 -msgid "" -"Returns the result of multiplying *o1* and *o2*, or ``NULL`` on failure. " -"The operation is done *in-place* when *o1* supports it. This is the " -"equivalent of the Python statement ``o1 *= o2``." -msgstr "" - -#: ../../c-api/number.rst:162 -msgid "" -"Returns the result of matrix multiplication on *o1* and *o2*, or ``NULL`` on" -" failure. The operation is done *in-place* when *o1* supports it. This is " -"the equivalent of the Python statement ``o1 @= o2``." -msgstr "" - -#: ../../c-api/number.rst:171 -msgid "" -"Returns the mathematical floor of dividing *o1* by *o2*, or ``NULL`` on " -"failure. The operation is done *in-place* when *o1* supports it. This is " -"the equivalent of the Python statement ``o1 //= o2``." -msgstr "" - -#: ../../c-api/number.rst:178 -msgid "" -"Return a reasonable approximation for the mathematical value of *o1* divided" -" by *o2*, or ``NULL`` on failure. The return value is \"approximate\" " -"because binary floating-point numbers are approximate; it is not possible to" -" represent all real numbers in base two. This function can return a " -"floating-point value when passed two integers. The operation is done *in-" -"place* when *o1* supports it. This is the equivalent of the Python statement" -" ``o1 /= o2``." -msgstr "" - -#: ../../c-api/number.rst:188 -msgid "" -"Returns the remainder of dividing *o1* by *o2*, or ``NULL`` on failure. The" -" operation is done *in-place* when *o1* supports it. This is the equivalent" -" of the Python statement ``o1 %= o2``." -msgstr "" - -#: ../../c-api/number.rst:197 -msgid "" -"See the built-in function :func:`pow`. Returns ``NULL`` on failure. The " -"operation is done *in-place* when *o1* supports it. This is the equivalent " -"of the Python statement ``o1 **= o2`` when o3 is :c:data:`Py_None`, or an " -"in-place variant of ``pow(o1, o2, o3)`` otherwise. If *o3* is to be ignored," -" pass :c:data:`Py_None` in its place (passing ``NULL`` for *o3* would cause " -"an illegal memory access)." -msgstr "" - -#: ../../c-api/number.rst:206 -msgid "" -"Returns the result of left shifting *o1* by *o2* on success, or ``NULL`` on " -"failure. The operation is done *in-place* when *o1* supports it. This is " -"the equivalent of the Python statement ``o1 <<= o2``." -msgstr "" - -#: ../../c-api/number.rst:213 -msgid "" -"Returns the result of right shifting *o1* by *o2* on success, or ``NULL`` on" -" failure. The operation is done *in-place* when *o1* supports it. This is " -"the equivalent of the Python statement ``o1 >>= o2``." -msgstr "" - -#: ../../c-api/number.rst:220 -msgid "" -"Returns the \"bitwise and\" of *o1* and *o2* on success and ``NULL`` on " -"failure. The operation is done *in-place* when *o1* supports it. This is " -"the equivalent of the Python statement ``o1 &= o2``." -msgstr "" - -#: ../../c-api/number.rst:227 -msgid "" -"Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or ``NULL``" -" on failure. The operation is done *in-place* when *o1* supports it. This " -"is the equivalent of the Python statement ``o1 ^= o2``." -msgstr "" - -#: ../../c-api/number.rst:234 -msgid "" -"Returns the \"bitwise or\" of *o1* and *o2* on success, or ``NULL`` on " -"failure. The operation is done *in-place* when *o1* supports it. This is " -"the equivalent of the Python statement ``o1 |= o2``." -msgstr "" - -#: ../../c-api/number.rst:243 -msgid "" -"Returns the *o* converted to an integer object on success, or ``NULL`` on " -"failure. This is the equivalent of the Python expression ``int(o)``." -msgstr "" - -#: ../../c-api/number.rst:251 -msgid "" -"Returns the *o* converted to a float object on success, or ``NULL`` on " -"failure. This is the equivalent of the Python expression ``float(o)``." -msgstr "" - -#: ../../c-api/number.rst:257 -msgid "" -"Returns the *o* converted to a Python int on success or ``NULL`` with a " -":exc:`TypeError` exception raised on failure." -msgstr "" - -#: ../../c-api/number.rst:260 -msgid "" -"The result always has exact type :class:`int`. Previously, the result could" -" have been an instance of a subclass of ``int``." -msgstr "" - -#: ../../c-api/number.rst:267 -msgid "" -"Returns the integer *n* converted to base *base* as a string. The *base* " -"argument must be one of 2, 8, 10, or 16. For base 2, 8, or 16, the returned" -" string is prefixed with a base marker of ``'0b'``, ``'0o'``, or ``'0x'``, " -"respectively. If *n* is not a Python int, it is converted with " -":c:func:`PyNumber_Index` first." -msgstr "" - -#: ../../c-api/number.rst:276 -msgid "" -"Returns *o* converted to a :c:type:`Py_ssize_t` value if *o* can be " -"interpreted as an integer. If the call fails, an exception is raised and " -"``-1`` is returned." -msgstr "" - -#: ../../c-api/number.rst:279 -msgid "" -"If *o* can be converted to a Python int but the attempt to convert to a " -":c:type:`Py_ssize_t` value would raise an :exc:`OverflowError`, then the " -"*exc* argument is the type of exception that will be raised (usually " -":exc:`IndexError` or :exc:`OverflowError`). If *exc* is ``NULL``, then the " -"exception is cleared and the value is clipped to ``PY_SSIZE_T_MIN`` for a " -"negative integer or ``PY_SSIZE_T_MAX`` for a positive integer." -msgstr "" - -#: ../../c-api/number.rst:289 -msgid "" -"Returns ``1`` if *o* is an index integer (has the ``nb_index`` slot of the " -"``tp_as_number`` structure filled in), and ``0`` otherwise. This function " -"always succeeds." -msgstr "" - -#: ../../c-api/number.rst:67 ../../c-api/number.rst:75 -#: ../../c-api/number.rst:97 ../../c-api/number.rst:195 -#: ../../c-api/number.rst:241 ../../c-api/number.rst:249 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../c-api/number.rst:67 -msgid "divmod" -msgstr "" - -#: ../../c-api/number.rst:75 ../../c-api/number.rst:195 -msgid "pow" -msgstr "" - -#: ../../c-api/number.rst:97 -msgid "abs" -msgstr "" - -#: ../../c-api/number.rst:241 -msgid "int" -msgstr "int" - -#: ../../c-api/number.rst:249 -msgid "float" -msgstr "float" diff --git a/python-newest.c-api--object/id.po b/python-newest.c-api--object/id.po deleted file mode 100644 index 71527bd..0000000 --- a/python-newest.c-api--object/id.po +++ /dev/null @@ -1,968 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/object.rst:6 -msgid "Object Protocol" -msgstr "" - -#: ../../c-api/object.rst:11 -msgid "Get a :term:`strong reference` to a constant." -msgstr "" - -#: ../../c-api/object.rst:13 -msgid "Set an exception and return ``NULL`` if *constant_id* is invalid." -msgstr "" - -#: ../../c-api/object.rst:15 -msgid "*constant_id* must be one of these constant identifiers:" -msgstr "" - -#: ../../c-api/object.rst:20 -msgid "Constant Identifier" -msgstr "" - -#: ../../c-api/object.rst:20 -msgid "Value" -msgstr "Nilai" - -#: ../../c-api/object.rst:20 -msgid "Returned object" -msgstr "" - -#: ../../c-api/object.rst:22 ../../c-api/object.rst:27 -msgid "``0``" -msgstr "``0``" - -#: ../../c-api/object.rst:22 -msgid ":py:data:`None`" -msgstr "" - -#: ../../c-api/object.rst:23 ../../c-api/object.rst:28 -msgid "``1``" -msgstr "``1``" - -#: ../../c-api/object.rst:23 -msgid ":py:data:`False`" -msgstr "" - -#: ../../c-api/object.rst:24 -msgid "``2``" -msgstr "``2``" - -#: ../../c-api/object.rst:24 -msgid ":py:data:`True`" -msgstr "" - -#: ../../c-api/object.rst:25 -msgid "``3``" -msgstr "``3``" - -#: ../../c-api/object.rst:25 -msgid ":py:data:`Ellipsis`" -msgstr "" - -#: ../../c-api/object.rst:26 -msgid "``4``" -msgstr "``4``" - -#: ../../c-api/object.rst:26 -msgid ":py:data:`NotImplemented`" -msgstr "" - -#: ../../c-api/object.rst:27 -msgid "``5``" -msgstr "``5``" - -#: ../../c-api/object.rst:28 -msgid "``6``" -msgstr "``6``" - -#: ../../c-api/object.rst:29 -msgid "``7``" -msgstr "``7``" - -#: ../../c-api/object.rst:29 -msgid "``''``" -msgstr "" - -#: ../../c-api/object.rst:30 -msgid "``8``" -msgstr "``8``" - -#: ../../c-api/object.rst:30 -msgid "``b''``" -msgstr "" - -#: ../../c-api/object.rst:31 -msgid "``9``" -msgstr "``9``" - -#: ../../c-api/object.rst:31 -msgid "``()``" -msgstr "" - -#: ../../c-api/object.rst:34 -msgid "" -"Numeric values are only given for projects which cannot use the constant " -"identifiers." -msgstr "" - -#: ../../c-api/object.rst:42 -msgid "In CPython, all of these constants are :term:`immortal`." -msgstr "" - -#: ../../c-api/object.rst:47 -msgid "" -"Similar to :c:func:`Py_GetConstant`, but return a :term:`borrowed " -"reference`." -msgstr "" - -#: ../../c-api/object.rst:50 -msgid "" -"This function is primarily intended for backwards compatibility: using " -":c:func:`Py_GetConstant` is recommended for new code." -msgstr "" - -#: ../../c-api/object.rst:53 -msgid "" -"The reference is borrowed from the interpreter, and is valid until the " -"interpreter finalization." -msgstr "" - -#: ../../c-api/object.rst:61 -msgid "" -"The ``NotImplemented`` singleton, used to signal that an operation is not " -"implemented for the given type combination." -msgstr "" - -#: ../../c-api/object.rst:67 -msgid "" -"Properly handle returning :c:data:`Py_NotImplemented` from within a C " -"function (that is, create a new :term:`strong reference` to " -":const:`NotImplemented` and return it)." -msgstr "" - -#: ../../c-api/object.rst:74 -msgid "" -"Flag to be used with multiple functions that print the object (like " -":c:func:`PyObject_Print` and :c:func:`PyFile_WriteObject`). If passed, these" -" function would use the :func:`str` of the object instead of the " -":func:`repr`." -msgstr "" - -#: ../../c-api/object.rst:82 -msgid "" -"Print an object *o*, on file *fp*. Returns ``-1`` on error. The flags " -"argument is used to enable certain printing options. The only option " -"currently supported is :c:macro:`Py_PRINT_RAW`; if given, the :func:`str` of" -" the object is written instead of the :func:`repr`." -msgstr "" - -#: ../../c-api/object.rst:90 -msgid "" -"Returns ``1`` if *o* has the attribute *attr_name*, and ``0`` otherwise. " -"This is equivalent to the Python expression ``hasattr(o, attr_name)``. On " -"failure, return ``-1``." -msgstr "" - -#: ../../c-api/object.rst:99 -msgid "" -"This is the same as :c:func:`PyObject_HasAttrWithError`, but *attr_name* is " -"specified as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than" -" a :c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/object.rst:108 -msgid "" -"Returns ``1`` if *o* has the attribute *attr_name*, and ``0`` otherwise. " -"This function always succeeds." -msgstr "" - -#: ../../c-api/object.rst:113 -msgid "" -"Exceptions that occur when this calls :meth:`~object.__getattr__` and " -":meth:`~object.__getattribute__` methods aren't propagated, but instead " -"given to :func:`sys.unraisablehook`. For proper error handling, use " -":c:func:`PyObject_HasAttrWithError`, :c:func:`PyObject_GetOptionalAttr` or " -":c:func:`PyObject_GetAttr` instead." -msgstr "" - -#: ../../c-api/object.rst:122 -msgid "" -"This is the same as :c:func:`PyObject_HasAttr`, but *attr_name* is specified" -" as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/object.rst:128 -msgid "" -"Exceptions that occur when this calls :meth:`~object.__getattr__` and " -":meth:`~object.__getattribute__` methods or while creating the temporary " -":class:`str` object are silently ignored. For proper error handling, use " -":c:func:`PyObject_HasAttrStringWithError`, " -":c:func:`PyObject_GetOptionalAttrString` or :c:func:`PyObject_GetAttrString`" -" instead." -msgstr "" - -#: ../../c-api/object.rst:138 -msgid "" -"Retrieve an attribute named *attr_name* from object *o*. Returns the " -"attribute value on success, or ``NULL`` on failure. This is the equivalent " -"of the Python expression ``o.attr_name``." -msgstr "" - -#: ../../c-api/object.rst:142 -msgid "" -"If the missing attribute should not be treated as a failure, you can use " -":c:func:`PyObject_GetOptionalAttr` instead." -msgstr "" - -#: ../../c-api/object.rst:148 -msgid "" -"This is the same as :c:func:`PyObject_GetAttr`, but *attr_name* is specified" -" as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/object.rst:152 -msgid "" -"If the missing attribute should not be treated as a failure, you can use " -":c:func:`PyObject_GetOptionalAttrString` instead." -msgstr "" - -#: ../../c-api/object.rst:158 -msgid "" -"Variant of :c:func:`PyObject_GetAttr` which doesn't raise " -":exc:`AttributeError` if the attribute is not found." -msgstr "" - -#: ../../c-api/object.rst:161 -msgid "" -"If the attribute is found, return ``1`` and set *\\*result* to a new " -":term:`strong reference` to the attribute. If the attribute is not found, " -"return ``0`` and set *\\*result* to ``NULL``; the :exc:`AttributeError` is " -"silenced. If an error other than :exc:`AttributeError` is raised, return " -"``-1`` and set *\\*result* to ``NULL``." -msgstr "" - -#: ../../c-api/object.rst:173 -msgid "" -"This is the same as :c:func:`PyObject_GetOptionalAttr`, but *attr_name* is " -"specified as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than" -" a :c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/object.rst:181 -msgid "" -"Generic attribute getter function that is meant to be put into a type " -"object's ``tp_getattro`` slot. It looks for a descriptor in the dictionary " -"of classes in the object's MRO as well as an attribute in the object's " -":attr:`~object.__dict__` (if present). As outlined in :ref:`descriptors`, " -"data descriptors take preference over instance attributes, while non-data " -"descriptors don't. Otherwise, an :exc:`AttributeError` is raised." -msgstr "" - -#: ../../c-api/object.rst:191 -msgid "" -"Set the value of the attribute named *attr_name*, for object *o*, to the " -"value *v*. Raise an exception and return ``-1`` on failure; return ``0`` on " -"success. This is the equivalent of the Python statement ``o.attr_name = " -"v``." -msgstr "" - -#: ../../c-api/object.rst:196 -msgid "" -"If *v* is ``NULL``, the attribute is deleted. This behaviour is deprecated " -"in favour of using :c:func:`PyObject_DelAttr`, but there are currently no " -"plans to remove it." -msgstr "" - -#: ../../c-api/object.rst:203 -msgid "" -"This is the same as :c:func:`PyObject_SetAttr`, but *attr_name* is specified" -" as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/object.rst:207 -msgid "" -"If *v* is ``NULL``, the attribute is deleted, but this feature is deprecated" -" in favour of using :c:func:`PyObject_DelAttrString`." -msgstr "" - -#: ../../c-api/object.rst:210 -msgid "" -"The number of different attribute names passed to this function should be " -"kept small, usually by using a statically allocated string as *attr_name*. " -"For attribute names that aren't known at compile time, prefer calling " -":c:func:`PyUnicode_FromString` and :c:func:`PyObject_SetAttr` directly. For " -"more details, see :c:func:`PyUnicode_InternFromString`, which may be used " -"internally to create a key object." -msgstr "" - -#: ../../c-api/object.rst:220 -msgid "" -"Generic attribute setter and deleter function that is meant to be put into a" -" type object's :c:member:`~PyTypeObject.tp_setattro` slot. It looks for a " -"data descriptor in the dictionary of classes in the object's MRO, and if " -"found it takes preference over setting or deleting the attribute in the " -"instance dictionary. Otherwise, the attribute is set or deleted in the " -"object's :attr:`~object.__dict__` (if present). On success, ``0`` is " -"returned, otherwise an :exc:`AttributeError` is raised and ``-1`` is " -"returned." -msgstr "" - -#: ../../c-api/object.rst:232 -msgid "" -"Delete attribute named *attr_name*, for object *o*. Returns ``-1`` on " -"failure. This is the equivalent of the Python statement ``del o.attr_name``." -msgstr "" - -#: ../../c-api/object.rst:238 -msgid "" -"This is the same as :c:func:`PyObject_DelAttr`, but *attr_name* is specified" -" as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/object.rst:242 -msgid "" -"The number of different attribute names passed to this function should be " -"kept small, usually by using a statically allocated string as *attr_name*. " -"For attribute names that aren't known at compile time, prefer calling " -":c:func:`PyUnicode_FromString` and :c:func:`PyObject_DelAttr` directly. For " -"more details, see :c:func:`PyUnicode_InternFromString`, which may be used " -"internally to create a key object for lookup." -msgstr "" - -#: ../../c-api/object.rst:253 -msgid "" -"A generic implementation for the getter of a ``__dict__`` descriptor. It " -"creates the dictionary if necessary." -msgstr "" - -#: ../../c-api/object.rst:256 -msgid "" -"This function may also be called to get the :py:attr:`~object.__dict__` of " -"the object *o*. Pass ``NULL`` for *context* when calling it. Since this " -"function may need to allocate memory for the dictionary, it may be more " -"efficient to call :c:func:`PyObject_GetAttr` when accessing an attribute on " -"the object." -msgstr "" - -#: ../../c-api/object.rst:262 -msgid "On failure, returns ``NULL`` with an exception set." -msgstr "" - -#: ../../c-api/object.rst:269 -msgid "" -"A generic implementation for the setter of a ``__dict__`` descriptor. This " -"implementation does not allow the dictionary to be deleted." -msgstr "" - -#: ../../c-api/object.rst:277 -msgid "" -"Return a pointer to :py:attr:`~object.__dict__` of the object *obj*. If " -"there is no ``__dict__``, return ``NULL`` without setting an exception." -msgstr "" - -#: ../../c-api/object.rst:280 -msgid "" -"This function may need to allocate memory for the dictionary, so it may be " -"more efficient to call :c:func:`PyObject_GetAttr` when accessing an " -"attribute on the object." -msgstr "" - -#: ../../c-api/object.rst:287 -msgid "" -"Compare the values of *o1* and *o2* using the operation specified by *opid*," -" which must be one of :c:macro:`Py_LT`, :c:macro:`Py_LE`, :c:macro:`Py_EQ`, " -":c:macro:`Py_NE`, :c:macro:`Py_GT`, or :c:macro:`Py_GE`, corresponding to " -"``<``, ``<=``, ``==``, ``!=``, ``>``, or ``>=`` respectively. This is the " -"equivalent of the Python expression ``o1 op o2``, where ``op`` is the " -"operator corresponding to *opid*. Returns the value of the comparison on " -"success, or ``NULL`` on failure." -msgstr "" - -#: ../../c-api/object.rst:297 -msgid "" -"Compare the values of *o1* and *o2* using the operation specified by *opid*," -" like :c:func:`PyObject_RichCompare`, but returns ``-1`` on error, ``0`` if " -"the result is false, ``1`` otherwise." -msgstr "" - -#: ../../c-api/object.rst:302 -msgid "" -"If *o1* and *o2* are the same object, :c:func:`PyObject_RichCompareBool` " -"will always return ``1`` for :c:macro:`Py_EQ` and ``0`` for " -":c:macro:`Py_NE`." -msgstr "" - -#: ../../c-api/object.rst:307 -msgid "" -"Format *obj* using *format_spec*. This is equivalent to the Python " -"expression ``format(obj, format_spec)``." -msgstr "" - -#: ../../c-api/object.rst:310 -msgid "" -"*format_spec* may be ``NULL``. In this case the call is equivalent to " -"``format(obj)``. Returns the formatted string on success, ``NULL`` on " -"failure." -msgstr "" - -#: ../../c-api/object.rst:318 -msgid "" -"Compute a string representation of object *o*. Returns the string " -"representation on success, ``NULL`` on failure. This is the equivalent of " -"the Python expression ``repr(o)``. Called by the :func:`repr` built-in " -"function." -msgstr "" - -#: ../../c-api/object.rst:322 ../../c-api/object.rst:346 -msgid "" -"This function now includes a debug assertion to help ensure that it does not" -" silently discard an active exception." -msgstr "" - -#: ../../c-api/object.rst:330 -msgid "" -"As :c:func:`PyObject_Repr`, compute a string representation of object *o*, " -"but escape the non-ASCII characters in the string returned by " -":c:func:`PyObject_Repr` with ``\\x``, ``\\u`` or ``\\U`` escapes. This " -"generates a string similar to that returned by :c:func:`PyObject_Repr` in " -"Python 2. Called by the :func:`ascii` built-in function." -msgstr "" - -#: ../../c-api/object.rst:341 -msgid "" -"Compute a string representation of object *o*. Returns the string " -"representation on success, ``NULL`` on failure. This is the equivalent of " -"the Python expression ``str(o)``. Called by the :func:`str` built-in " -"function and, therefore, by the :func:`print` function." -msgstr "" - -#: ../../c-api/object.rst:355 -msgid "" -"Compute a bytes representation of object *o*. ``NULL`` is returned on " -"failure and a bytes object on success. This is equivalent to the Python " -"expression ``bytes(o)``, when *o* is not an integer. Unlike ``bytes(o)``, a" -" TypeError is raised when *o* is an integer instead of a zero-initialized " -"bytes object." -msgstr "" - -#: ../../c-api/object.rst:364 -msgid "" -"Return ``1`` if the class *derived* is identical to or derived from the " -"class *cls*, otherwise return ``0``. In case of an error, return ``-1``." -msgstr "" - -#: ../../c-api/object.rst:367 ../../c-api/object.rst:386 -msgid "" -"If *cls* is a tuple, the check will be done against every entry in *cls*. " -"The result will be ``1`` when at least one of the checks returns ``1``, " -"otherwise it will be ``0``." -msgstr "" - -#: ../../c-api/object.rst:371 -msgid "" -"If *cls* has a :meth:`~type.__subclasscheck__` method, it will be called to " -"determine the subclass status as described in :pep:`3119`. Otherwise, " -"*derived* is a subclass of *cls* if it is a direct or indirect subclass, " -"i.e. contained in :attr:`cls.__mro__ `." -msgstr "" - -#: ../../c-api/object.rst:376 -msgid "" -"Normally only class objects, i.e. instances of :class:`type` or a derived " -"class, are considered classes. However, objects can override this by having" -" a :attr:`~type.__bases__` attribute (which must be a tuple of base " -"classes)." -msgstr "" - -#: ../../c-api/object.rst:383 -msgid "" -"Return ``1`` if *inst* is an instance of the class *cls* or a subclass of " -"*cls*, or ``0`` if not. On error, returns ``-1`` and sets an exception." -msgstr "" - -#: ../../c-api/object.rst:390 -msgid "" -"If *cls* has a :meth:`~type.__instancecheck__` method, it will be called to " -"determine the subclass status as described in :pep:`3119`. Otherwise, " -"*inst* is an instance of *cls* if its class is a subclass of *cls*." -msgstr "" - -#: ../../c-api/object.rst:394 -msgid "" -"An instance *inst* can override what is considered its class by having a " -":attr:`~object.__class__` attribute." -msgstr "" - -#: ../../c-api/object.rst:397 -msgid "" -"An object *cls* can override if it is considered a class, and what its base " -"classes are, by having a :attr:`~type.__bases__` attribute (which must be a " -"tuple of base classes)." -msgstr "" - -#: ../../c-api/object.rst:406 -msgid "" -"Compute and return the hash value of an object *o*. On failure, return " -"``-1``. This is the equivalent of the Python expression ``hash(o)``." -msgstr "" - -#: ../../c-api/object.rst:409 -msgid "" -"The return type is now Py_hash_t. This is a signed integer the same size as" -" :c:type:`Py_ssize_t`." -msgstr "" - -#: ../../c-api/object.rst:416 -msgid "" -"Set a :exc:`TypeError` indicating that ``type(o)`` is not :term:`hashable` " -"and return ``-1``. This function receives special treatment when stored in a" -" ``tp_hash`` slot, allowing a type to explicitly indicate to the interpreter" -" that it is not hashable." -msgstr "" - -#: ../../c-api/object.rst:424 -msgid "" -"Returns ``1`` if the object *o* is considered to be true, and ``0`` " -"otherwise. This is equivalent to the Python expression ``not not o``. On " -"failure, return ``-1``." -msgstr "" - -#: ../../c-api/object.rst:431 -msgid "" -"Returns ``0`` if the object *o* is considered to be true, and ``1`` " -"otherwise. This is equivalent to the Python expression ``not o``. On " -"failure, return ``-1``." -msgstr "" - -#: ../../c-api/object.rst:440 -msgid "" -"When *o* is non-``NULL``, returns a type object corresponding to the object " -"type of object *o*. On failure, raises :exc:`SystemError` and returns " -"``NULL``. This is equivalent to the Python expression ``type(o)``. This " -"function creates a new :term:`strong reference` to the return value. There's" -" really no reason to use this function instead of the :c:func:`Py_TYPE()` " -"function, which returns a pointer of type :c:expr:`PyTypeObject*`, except " -"when a new :term:`strong reference` is needed." -msgstr "" - -#: ../../c-api/object.rst:452 -msgid "" -"Return non-zero if the object *o* is of type *type* or a subtype of *type*, " -"and ``0`` otherwise. Both parameters must be non-``NULL``." -msgstr "" - -#: ../../c-api/object.rst:461 -msgid "" -"Return the length of object *o*. If the object *o* provides either the " -"sequence and mapping protocols, the sequence length is returned. On error, " -"``-1`` is returned. This is the equivalent to the Python expression " -"``len(o)``." -msgstr "" - -#: ../../c-api/object.rst:468 -msgid "" -"Return an estimated length for the object *o*. First try to return its " -"actual length, then an estimate using :meth:`~object.__length_hint__`, and " -"finally return the default value. On error return ``-1``. This is the " -"equivalent to the Python expression ``operator.length_hint(o, " -"defaultvalue)``." -msgstr "" - -#: ../../c-api/object.rst:478 -msgid "" -"Return element of *o* corresponding to the object *key* or ``NULL`` on " -"failure. This is the equivalent of the Python expression ``o[key]``." -msgstr "" - -#: ../../c-api/object.rst:484 -msgid "" -"Map the object *key* to the value *v*. Raise an exception and return ``-1``" -" on failure; return ``0`` on success. This is the equivalent of the Python " -"statement ``o[key] = v``. This function *does not* steal a reference to " -"*v*." -msgstr "" - -#: ../../c-api/object.rst:492 -msgid "" -"Remove the mapping for the object *key* from the object *o*. Return ``-1`` " -"on failure. This is equivalent to the Python statement ``del o[key]``." -msgstr "" - -#: ../../c-api/object.rst:498 -msgid "" -"This is the same as :c:func:`PyObject_DelItem`, but *key* is specified as a " -":c:expr:`const char*` UTF-8 encoded bytes string, rather than a " -":c:expr:`PyObject*`." -msgstr "" - -#: ../../c-api/object.rst:505 -msgid "" -"This is equivalent to the Python expression ``dir(o)``, returning a " -"(possibly empty) list of strings appropriate for the object argument, or " -"``NULL`` if there was an error. If the argument is ``NULL``, this is like " -"the Python ``dir()``, returning the names of the current locals; in this " -"case, if no execution frame is active then ``NULL`` is returned but " -":c:func:`PyErr_Occurred` will return false." -msgstr "" - -#: ../../c-api/object.rst:514 -msgid "" -"This is equivalent to the Python expression ``iter(o)``. It returns a new " -"iterator for the object argument, or the object itself if the object is " -"already an iterator. Raises :exc:`TypeError` and returns ``NULL`` if the " -"object cannot be iterated." -msgstr "" - -#: ../../c-api/object.rst:522 -msgid "" -"This is equivalent to the Python ``__iter__(self): return self`` method. It " -"is intended for :term:`iterator` types, to be used in the " -":c:member:`PyTypeObject.tp_iter` slot." -msgstr "" - -#: ../../c-api/object.rst:528 -msgid "" -"This is the equivalent to the Python expression ``aiter(o)``. Takes an " -":class:`AsyncIterable` object and returns an :class:`AsyncIterator` for it. " -"This is typically a new iterator but if the argument is an " -":class:`AsyncIterator`, this returns itself. Raises :exc:`TypeError` and " -"returns ``NULL`` if the object cannot be iterated." -msgstr "" - -#: ../../c-api/object.rst:538 -msgid "Get a pointer to subclass-specific data reserved for *cls*." -msgstr "" - -#: ../../c-api/object.rst:540 -msgid "" -"The object *o* must be an instance of *cls*, and *cls* must have been " -"created using negative :c:member:`PyType_Spec.basicsize`. Python does not " -"check this." -msgstr "" - -#: ../../c-api/object.rst:544 -msgid "On error, set an exception and return ``NULL``." -msgstr "" - -#: ../../c-api/object.rst:550 -msgid "" -"Return the size of the instance memory space reserved for *cls*, i.e. the " -"size of the memory :c:func:`PyObject_GetTypeData` returns." -msgstr "" - -#: ../../c-api/object.rst:553 -msgid "" -"This may be larger than requested using :c:member:`-PyType_Spec.basicsize " -"`; it is safe to use this larger size (e.g. with " -":c:func:`!memset`)." -msgstr "" - -#: ../../c-api/object.rst:556 -msgid "" -"The type *cls* **must** have been created using negative " -":c:member:`PyType_Spec.basicsize`. Python does not check this." -msgstr "" - -#: ../../c-api/object.rst:560 -msgid "On error, set an exception and return a negative value." -msgstr "" - -#: ../../c-api/object.rst:566 -msgid "" -"Get a pointer to per-item data for a class with " -":c:macro:`Py_TPFLAGS_ITEMS_AT_END`." -msgstr "" - -#: ../../c-api/object.rst:569 -msgid "" -"On error, set an exception and return ``NULL``. :py:exc:`TypeError` is " -"raised if *o* does not have :c:macro:`Py_TPFLAGS_ITEMS_AT_END` set." -msgstr "" - -#: ../../c-api/object.rst:577 -msgid "Visit the managed dictionary of *obj*." -msgstr "" - -#: ../../c-api/object.rst:579 ../../c-api/object.rst:588 -msgid "" -"This function must only be called in a traverse function of the type which " -"has the :c:macro:`Py_TPFLAGS_MANAGED_DICT` flag set." -msgstr "" - -#: ../../c-api/object.rst:586 -msgid "Clear the managed dictionary of *obj*." -msgstr "" - -#: ../../c-api/object.rst:595 -msgid "" -"Enable `deferred reference counting " -"`_ on *obj*, " -"if supported by the runtime. In the :term:`free-threaded ` " -"build, this allows the interpreter to avoid reference count adjustments to " -"*obj*, which may improve multi-threaded performance. The tradeoff is that " -"*obj* will only be deallocated by the tracing garbage collector." -msgstr "" - -#: ../../c-api/object.rst:601 -msgid "" -"This function returns ``1`` if deferred reference counting is enabled on " -"*obj* (including when it was enabled before the call), and ``0`` if deferred" -" reference counting is not supported or if the hint was ignored by the " -"runtime. This function is thread-safe, and cannot fail." -msgstr "" - -#: ../../c-api/object.rst:606 -msgid "" -"This function does nothing on builds with the :term:`GIL` enabled, which do " -"not support deferred reference counting. This also does nothing if *obj* is " -"not an object tracked by the garbage collector (see :func:`gc.is_tracked` " -"and :c:func:`PyObject_GC_IsTracked`)." -msgstr "" - -#: ../../c-api/object.rst:611 -msgid "" -"This function is intended to be used soon after *obj* is created, by the " -"code that creates it." -msgstr "" - -#: ../../c-api/object.rst:618 -msgid "" -"Check if *obj* is a unique temporary object. Returns ``1`` if *obj* is known" -" to be a unique temporary object, and ``0`` otherwise. This function cannot" -" fail, but the check is conservative, and may return ``0`` in some cases " -"even if *obj* is a unique temporary object." -msgstr "" - -#: ../../c-api/object.rst:624 -msgid "" -"If an object is a unique temporary, it is guaranteed that the current code " -"has the only reference to the object. For arguments to C functions, this " -"should be used instead of checking if the reference count is ``1``. Starting" -" with Python 3.14, the interpreter internally avoids some reference count " -"modifications when loading objects onto the operands stack by " -":term:`borrowing ` references when possible, which means" -" that a reference count of ``1`` by itself does not guarantee that a " -"function argument uniquely referenced." -msgstr "" - -#: ../../c-api/object.rst:633 -msgid "" -"In the example below, ``my_func`` is called with a unique temporary object " -"as its argument::" -msgstr "" - -#: ../../c-api/object.rst:636 -msgid "my_func([1, 2, 3])" -msgstr "" - -#: ../../c-api/object.rst:638 -msgid "" -"In the example below, ``my_func`` is **not** called with a unique temporary " -"object as its argument, even if its refcount is ``1``::" -msgstr "" - -#: ../../c-api/object.rst:641 -msgid "" -"my_list = [1, 2, 3]\n" -"my_func(my_list)" -msgstr "" - -#: ../../c-api/object.rst:644 -msgid "See also the function :c:func:`Py_REFCNT`." -msgstr "" - -#: ../../c-api/object.rst:650 -msgid "" -"This function returns non-zero if *obj* is :term:`immortal`, and zero " -"otherwise. This function cannot fail." -msgstr "" - -#: ../../c-api/object.rst:655 -msgid "" -"Objects that are immortal in one CPython version are not guaranteed to be " -"immortal in another." -msgstr "" - -#: ../../c-api/object.rst:662 -msgid "" -"Increments the reference count of *obj* if it is not zero. Returns ``1`` if" -" the object's reference count was successfully incremented. Otherwise, this " -"function returns ``0``." -msgstr "" - -#: ../../c-api/object.rst:666 -msgid "" -":c:func:`PyUnstable_EnableTryIncRef` must have been called earlier on *obj* " -"or this function may spuriously return ``0`` in the :term:`free threading` " -"build." -msgstr "" - -#: ../../c-api/object.rst:670 -msgid "" -"This function is logically equivalent to the following C code, except that " -"it behaves atomically in the :term:`free threading` build::" -msgstr "" - -#: ../../c-api/object.rst:673 -msgid "" -"if (Py_REFCNT(op) > 0) {\n" -" Py_INCREF(op);\n" -" return 1;\n" -"}\n" -"return 0;" -msgstr "" - -#: ../../c-api/object.rst:679 -msgid "" -"This is intended as a building block for managing weak references without " -"the overhead of a Python :ref:`weak reference object `." -msgstr "" - -#: ../../c-api/object.rst:682 -msgid "" -"Typically, correct use of this function requires support from *obj*'s " -"deallocator (:c:member:`~PyTypeObject.tp_dealloc`). For example, the " -"following sketch could be adapted to implement a \"weakmap\" that works like" -" a :py:class:`~weakref.WeakValueDictionary` for a specific type:" -msgstr "" - -#: ../../c-api/object.rst:688 -msgid "" -"PyMutex mutex;\n" -"\n" -"PyObject *\n" -"add_entry(weakmap_key_type *key, PyObject *value)\n" -"{\n" -" PyUnstable_EnableTryIncRef(value);\n" -" weakmap_type weakmap = ...;\n" -" PyMutex_Lock(&mutex);\n" -" weakmap_add_entry(weakmap, key, value);\n" -" PyMutex_Unlock(&mutex);\n" -" Py_RETURN_NONE;\n" -"}\n" -"\n" -"PyObject *\n" -"get_value(weakmap_key_type *key)\n" -"{\n" -" weakmap_type weakmap = ...;\n" -" PyMutex_Lock(&mutex);\n" -" PyObject *result = weakmap_find(weakmap, key);\n" -" if (PyUnstable_TryIncRef(result)) {\n" -" // `result` is safe to use\n" -" PyMutex_Unlock(&mutex);\n" -" return result;\n" -" }\n" -" // if we get here, `result` is starting to be garbage-collected,\n" -" // but has not been removed from the weakmap yet\n" -" PyMutex_Unlock(&mutex);\n" -" return NULL;\n" -"}\n" -"\n" -"// tp_dealloc function for weakmap values\n" -"void\n" -"value_dealloc(PyObject *value)\n" -"{\n" -" weakmap_type weakmap = ...;\n" -" PyMutex_Lock(&mutex);\n" -" weakmap_remove_value(weakmap, value);\n" -"\n" -" ...\n" -" PyMutex_Unlock(&mutex);\n" -"}" -msgstr "" - -#: ../../c-api/object.rst:736 -msgid "" -"Enables subsequent uses of :c:func:`PyUnstable_TryIncRef` on *obj*. The " -"caller must hold a :term:`strong reference` to *obj* when calling this." -msgstr "" - -#: ../../c-api/object.rst:743 -msgid "Determine if *op* only has one reference." -msgstr "" - -#: ../../c-api/object.rst:745 -msgid "" -"On GIL-enabled builds, this function is equivalent to :c:expr:`Py_REFCNT(op)" -" == 1`." -msgstr "" - -#: ../../c-api/object.rst:748 -msgid "" -"On a :term:`free threaded ` build, this checks if *op*'s " -":term:`reference count` is equal to one and additionally checks if *op* is " -"only used by this thread. :c:expr:`Py_REFCNT(op) == 1` is **not** thread-" -"safe on free threaded builds; prefer this function." -msgstr "" - -#: ../../c-api/object.rst:753 -msgid "" -"The caller must hold an :term:`attached thread state`, despite the fact that" -" this function doesn't call into the Python interpreter. This function " -"cannot fail." -msgstr "" - -#: ../../c-api/object.rst:316 ../../c-api/object.rst:328 -#: ../../c-api/object.rst:353 ../../c-api/object.rst:404 -#: ../../c-api/object.rst:438 ../../c-api/object.rst:459 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../c-api/object.rst:316 -msgid "repr" -msgstr "repr" - -#: ../../c-api/object.rst:328 -msgid "ascii" -msgstr "ascii" - -#: ../../c-api/object.rst:336 -msgid "string" -msgstr "string" - -#: ../../c-api/object.rst:336 -msgid "PyObject_Str (C function)" -msgstr "" - -#: ../../c-api/object.rst:353 -msgid "bytes" -msgstr "" - -#: ../../c-api/object.rst:404 -msgid "hash" -msgstr "" - -#: ../../c-api/object.rst:438 -msgid "type" -msgstr "tipe" - -#: ../../c-api/object.rst:459 -msgid "len" -msgstr "" diff --git a/python-newest.c-api--objimpl/id.po b/python-newest.c-api--objimpl/id.po deleted file mode 100644 index f7bf72e..0000000 --- a/python-newest.c-api--objimpl/id.po +++ /dev/null @@ -1,34 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/objimpl.rst:7 -msgid "Object Implementation Support" -msgstr "Dukungan Implementasi Objek" - -#: ../../c-api/objimpl.rst:9 -msgid "" -"This chapter describes the functions, types, and macros used when defining " -"new object types." -msgstr "" -"Bab ini menjelaskan fungsi, tipe, dan makro yang digunakan saat menentukan " -"tipe objek baru." diff --git a/python-newest.c-api--perfmaps/id.po b/python-newest.c-api--perfmaps/id.po deleted file mode 100644 index eea31c4..0000000 --- a/python-newest.c-api--perfmaps/id.po +++ /dev/null @@ -1,92 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2023-05-24 13:07+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/perfmaps.rst:6 -msgid "Support for Perf Maps" -msgstr "" - -#: ../../c-api/perfmaps.rst:8 -msgid "" -"On supported platforms (as of this writing, only Linux), the runtime can " -"take advantage of *perf map files* to make Python functions visible to an " -"external profiling tool (such as `perf " -"`_). A running process may" -" create a file in the ``/tmp`` directory, which contains entries that can " -"map a section of executable code to a name. This interface is described in " -"the `documentation of the Linux Perf tool " -"`_." -msgstr "" - -#: ../../c-api/perfmaps.rst:16 -msgid "" -"In Python, these helper APIs can be used by libraries and features that rely" -" on generating machine code on the fly." -msgstr "" - -#: ../../c-api/perfmaps.rst:19 -msgid "" -"Note that holding an :term:`attached thread state` is not required for these" -" APIs." -msgstr "" - -#: ../../c-api/perfmaps.rst:23 -msgid "" -"Open the ``/tmp/perf-$pid.map`` file, unless it's already opened, and create" -" a lock to ensure thread-safe writes to the file (provided the writes are " -"done through :c:func:`PyUnstable_WritePerfMapEntry`). Normally, there's no " -"need to call this explicitly; just use " -":c:func:`PyUnstable_WritePerfMapEntry` and it will initialize the state on " -"first call." -msgstr "" - -#: ../../c-api/perfmaps.rst:29 -msgid "" -"Returns ``0`` on success, ``-1`` on failure to create/open the perf map " -"file, or ``-2`` on failure to create a lock. Check ``errno`` for more " -"information about the cause of a failure." -msgstr "" - -#: ../../c-api/perfmaps.rst:35 -msgid "" -"Write one single entry to the ``/tmp/perf-$pid.map`` file. This function is " -"thread safe. Here is what an example entry looks like::" -msgstr "" - -#: ../../c-api/perfmaps.rst:38 -msgid "" -"# address size name\n" -"7f3529fcf759 b py::bar:/run/t.py" -msgstr "" - -#: ../../c-api/perfmaps.rst:41 -msgid "" -"Will call :c:func:`PyUnstable_PerfMapState_Init` before writing the entry, " -"if the perf map file is not already opened. Returns ``0`` on success, or the" -" same error codes as :c:func:`PyUnstable_PerfMapState_Init` on failure." -msgstr "" - -#: ../../c-api/perfmaps.rst:47 -msgid "" -"Close the perf map file opened by :c:func:`PyUnstable_PerfMapState_Init`. " -"This is called by the runtime itself during interpreter shut-down. In " -"general, there shouldn't be a reason to explicitly call this, except to " -"handle specific scenarios such as forking." -msgstr "" diff --git a/python-newest.c-api--refcounting/id.po b/python-newest.c-api--refcounting/id.po deleted file mode 100644 index 05aff40..0000000 --- a/python-newest.c-api--refcounting/id.po +++ /dev/null @@ -1,309 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/refcounting.rst:8 -msgid "Reference Counting" -msgstr "" - -#: ../../c-api/refcounting.rst:10 -msgid "" -"The functions and macros in this section are used for managing reference " -"counts of Python objects." -msgstr "" - -#: ../../c-api/refcounting.rst:16 -msgid "Get the reference count of the Python object *o*." -msgstr "" - -#: ../../c-api/refcounting.rst:18 -msgid "" -"Note that the returned value may not actually reflect how many references to" -" the object are actually held. For example, some objects are " -":term:`immortal` and have a very high refcount that does not reflect the " -"actual number of references. Consequently, do not rely on the returned " -"value to be accurate, other than a value of 0 or 1." -msgstr "" - -#: ../../c-api/refcounting.rst:24 -msgid "" -"Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count." -msgstr "" - -#: ../../c-api/refcounting.rst:28 -msgid "" -"On :term:`free threaded ` builds of Python, returning 1 " -"isn't sufficient to determine if it's safe to treat *o* as having no access " -"by other threads. Use :c:func:`PyUnstable_Object_IsUniquelyReferenced` for " -"that instead." -msgstr "" - -#: ../../c-api/refcounting.rst:33 -msgid "" -"See also the function " -":c:func:`PyUnstable_Object_IsUniqueReferencedTemporary()`." -msgstr "" - -#: ../../c-api/refcounting.rst:35 -msgid ":c:func:`Py_REFCNT()` is changed to the inline static function." -msgstr "" - -#: ../../c-api/refcounting.rst:38 -msgid "The parameter type is no longer :c:expr:`const PyObject*`." -msgstr "" - -#: ../../c-api/refcounting.rst:44 -msgid "Set the object *o* reference counter to *refcnt*." -msgstr "" - -#: ../../c-api/refcounting.rst:46 -msgid "" -"On :ref:`Python build with Free Threading `, if " -"*refcnt* is larger than ``UINT32_MAX``, the object is made :term:`immortal`." -msgstr "" - -#: ../../c-api/refcounting.rst:49 ../../c-api/refcounting.rst:62 -#: ../../c-api/refcounting.rst:128 -msgid "This function has no effect on :term:`immortal` objects." -msgstr "" - -#: ../../c-api/refcounting.rst:53 ../../c-api/refcounting.rst:77 -#: ../../c-api/refcounting.rst:156 -msgid "Immortal objects are not modified." -msgstr "" - -#: ../../c-api/refcounting.rst:59 -msgid "" -"Indicate taking a new :term:`strong reference` to object *o*, indicating it " -"is in use and should not be destroyed." -msgstr "" - -#: ../../c-api/refcounting.rst:64 -msgid "" -"This function is usually used to convert a :term:`borrowed reference` to a " -":term:`strong reference` in-place. The :c:func:`Py_NewRef` function can be " -"used to create a new :term:`strong reference`." -msgstr "" - -#: ../../c-api/refcounting.rst:68 -msgid "When done using the object, release is by calling :c:func:`Py_DECREF`." -msgstr "" - -#: ../../c-api/refcounting.rst:70 -msgid "" -"The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, " -"use :c:func:`Py_XINCREF`." -msgstr "" - -#: ../../c-api/refcounting.rst:73 -msgid "" -"Do not expect this function to actually modify *o* in any way. For at least " -":pep:`some objects <0683>`, this function has no effect." -msgstr "" - -#: ../../c-api/refcounting.rst:83 -msgid "" -"Similar to :c:func:`Py_INCREF`, but the object *o* can be ``NULL``, in which" -" case this has no effect." -msgstr "" - -#: ../../c-api/refcounting.rst:86 -msgid "See also :c:func:`Py_XNewRef`." -msgstr "" - -#: ../../c-api/refcounting.rst:91 -msgid "" -"Create a new :term:`strong reference` to an object: call :c:func:`Py_INCREF`" -" on *o* and return the object *o*." -msgstr "" - -#: ../../c-api/refcounting.rst:94 -msgid "" -"When the :term:`strong reference` is no longer needed, :c:func:`Py_DECREF` " -"should be called on it to release the reference." -msgstr "" - -#: ../../c-api/refcounting.rst:97 -msgid "" -"The object *o* must not be ``NULL``; use :c:func:`Py_XNewRef` if *o* can be " -"``NULL``." -msgstr "" - -#: ../../c-api/refcounting.rst:100 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../c-api/refcounting.rst:102 -msgid "" -"Py_INCREF(obj);\n" -"self->attr = obj;" -msgstr "" - -#: ../../c-api/refcounting.rst:105 -msgid "can be written as::" -msgstr "" - -#: ../../c-api/refcounting.rst:107 -msgid "self->attr = Py_NewRef(obj);" -msgstr "" - -#: ../../c-api/refcounting.rst:109 -msgid "See also :c:func:`Py_INCREF`." -msgstr "" - -#: ../../c-api/refcounting.rst:116 -msgid "Similar to :c:func:`Py_NewRef`, but the object *o* can be NULL." -msgstr "" - -#: ../../c-api/refcounting.rst:118 -msgid "If the object *o* is ``NULL``, the function just returns ``NULL``." -msgstr "" - -#: ../../c-api/refcounting.rst:125 -msgid "" -"Release a :term:`strong reference` to object *o*, indicating the reference " -"is no longer used." -msgstr "" - -#: ../../c-api/refcounting.rst:130 -msgid "" -"Once the last :term:`strong reference` is released (i.e. the object's " -"reference count reaches 0), the object's type's deallocation function (which" -" must not be ``NULL``) is invoked." -msgstr "" - -#: ../../c-api/refcounting.rst:135 -msgid "" -"This function is usually used to delete a :term:`strong reference` before " -"exiting its scope." -msgstr "" - -#: ../../c-api/refcounting.rst:138 -msgid "" -"The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, " -"use :c:func:`Py_XDECREF`." -msgstr "" - -#: ../../c-api/refcounting.rst:141 -msgid "" -"Do not expect this function to actually modify *o* in any way. For at least " -":pep:`some objects <683>`, this function has no effect." -msgstr "" - -#: ../../c-api/refcounting.rst:147 -msgid "" -"The deallocation function can cause arbitrary Python code to be invoked " -"(e.g. when a class instance with a :meth:`~object.__del__` method is " -"deallocated). While exceptions in such code are not propagated, the " -"executed code has free access to all Python global variables. This means " -"that any object that is reachable from a global variable should be in a " -"consistent state before :c:func:`Py_DECREF` is invoked. For example, code " -"to delete an object from a list should copy a reference to the deleted " -"object in a temporary variable, update the list data structure, and then " -"call :c:func:`Py_DECREF` for the temporary variable." -msgstr "" - -#: ../../c-api/refcounting.rst:162 -msgid "" -"Similar to :c:func:`Py_DECREF`, but the object *o* can be ``NULL``, in which" -" case this has no effect. The same warning from :c:func:`Py_DECREF` applies " -"here as well." -msgstr "" - -#: ../../c-api/refcounting.rst:169 -msgid "" -"Release a :term:`strong reference` for object *o*. The object may be " -"``NULL``, in which case the macro has no effect; otherwise the effect is the" -" same as for :c:func:`Py_DECREF`, except that the argument is also set to " -"``NULL``. The warning for :c:func:`Py_DECREF` does not apply with respect " -"to the object passed because the macro carefully uses a temporary variable " -"and sets the argument to ``NULL`` before releasing the reference." -msgstr "" - -#: ../../c-api/refcounting.rst:177 -msgid "" -"It is a good idea to use this macro whenever releasing a reference to an " -"object that might be traversed during garbage collection." -msgstr "" - -#: ../../c-api/refcounting.rst:180 -msgid "" -"The macro argument is now only evaluated once. If the argument has side " -"effects, these are no longer duplicated." -msgstr "" - -#: ../../c-api/refcounting.rst:187 -msgid "" -"Indicate taking a new :term:`strong reference` to object *o*. A function " -"version of :c:func:`Py_XINCREF`. It can be used for runtime dynamic " -"embedding of Python." -msgstr "" - -#: ../../c-api/refcounting.rst:194 -msgid "" -"Release a :term:`strong reference` to object *o*. A function version of " -":c:func:`Py_XDECREF`. It can be used for runtime dynamic embedding of " -"Python." -msgstr "" - -#: ../../c-api/refcounting.rst:201 -msgid "" -"Macro safely releasing a :term:`strong reference` to object *dst* and " -"setting *dst* to *src*." -msgstr "" - -#: ../../c-api/refcounting.rst:204 -msgid "As in case of :c:func:`Py_CLEAR`, \"the obvious\" code can be deadly::" -msgstr "" - -#: ../../c-api/refcounting.rst:206 -msgid "" -"Py_DECREF(dst);\n" -"dst = src;" -msgstr "" - -#: ../../c-api/refcounting.rst:209 -msgid "The safe way is::" -msgstr "" - -#: ../../c-api/refcounting.rst:211 -msgid "Py_SETREF(dst, src);" -msgstr "" - -#: ../../c-api/refcounting.rst:213 -msgid "" -"That arranges to set *dst* to *src* _before_ releasing the reference to the " -"old value of *dst*, so that any code triggered as a side-effect of *dst* " -"getting torn down no longer believes *dst* points to a valid object." -msgstr "" - -#: ../../c-api/refcounting.rst:220 ../../c-api/refcounting.rst:232 -msgid "" -"The macro arguments are now only evaluated once. If an argument has side " -"effects, these are no longer duplicated." -msgstr "" - -#: ../../c-api/refcounting.rst:227 -msgid "" -"Variant of :c:macro:`Py_SETREF` macro that uses :c:func:`Py_XDECREF` instead" -" of :c:func:`Py_DECREF`." -msgstr "" diff --git a/python-newest.c-api--reflection/id.po b/python-newest.c-api--reflection/id.po deleted file mode 100644 index 2ea4d57..0000000 --- a/python-newest.c-api--reflection/id.po +++ /dev/null @@ -1,127 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/reflection.rst:6 -msgid "Reflection" -msgstr "" - -#: ../../c-api/reflection.rst:12 -msgid "Use :c:func:`PyEval_GetFrameBuiltins` instead." -msgstr "" - -#: ../../c-api/reflection.rst:14 ../../c-api/reflection.rst:66 -msgid "" -"Return a dictionary of the builtins in the current execution frame, or the " -"interpreter of the thread state if no frame is currently executing." -msgstr "" - -#: ../../c-api/reflection.rst:22 -msgid "" -"Use either :c:func:`PyEval_GetFrameLocals` to obtain the same behaviour as " -"calling :func:`locals` in Python code, or else call " -":c:func:`PyFrame_GetLocals` on the result of :c:func:`PyEval_GetFrame` to " -"access the :attr:`~frame.f_locals` attribute of the currently executing " -"frame." -msgstr "" - -#: ../../c-api/reflection.rst:27 -msgid "" -"Return a mapping providing access to the local variables in the current " -"execution frame, or ``NULL`` if no frame is currently executing." -msgstr "" - -#: ../../c-api/reflection.rst:30 -msgid "" -"Refer to :func:`locals` for details of the mapping returned at different " -"scopes." -msgstr "" - -#: ../../c-api/reflection.rst:32 -msgid "" -"As this function returns a :term:`borrowed reference`, the dictionary " -"returned for :term:`optimized scopes ` is cached on the " -"frame object and will remain alive as long as the frame object does. Unlike " -":c:func:`PyEval_GetFrameLocals` and :func:`locals`, subsequent calls to this" -" function in the same frame will update the contents of the cached " -"dictionary to reflect changes in the state of the local variables rather " -"than returning a new snapshot." -msgstr "" - -#: ../../c-api/reflection.rst:39 -msgid "" -"As part of :pep:`667`, :c:func:`PyFrame_GetLocals`, :func:`locals`, and " -":attr:`FrameType.f_locals ` no longer make use of the shared" -" cache dictionary. Refer to the :ref:`What's New entry ` for additional details." -msgstr "" - -#: ../../c-api/reflection.rst:50 -msgid "Use :c:func:`PyEval_GetFrameGlobals` instead." -msgstr "" - -#: ../../c-api/reflection.rst:52 -msgid "" -"Return a dictionary of the global variables in the current execution frame, " -"or ``NULL`` if no frame is currently executing." -msgstr "" - -#: ../../c-api/reflection.rst:58 -msgid "" -"Return the :term:`attached thread state`'s frame, which is ``NULL`` if no " -"frame is currently executing." -msgstr "" - -#: ../../c-api/reflection.rst:61 -msgid "See also :c:func:`PyThreadState_GetFrame`." -msgstr "" - -#: ../../c-api/reflection.rst:74 -msgid "" -"Return a dictionary of the local variables in the current execution frame, " -"or ``NULL`` if no frame is currently executing. Equivalent to calling " -":func:`locals` in Python code." -msgstr "" - -#: ../../c-api/reflection.rst:78 -msgid "" -"To access :attr:`~frame.f_locals` on the current frame without making an " -"independent snapshot in :term:`optimized scopes `, call " -":c:func:`PyFrame_GetLocals` on the result of :c:func:`PyEval_GetFrame`." -msgstr "" - -#: ../../c-api/reflection.rst:87 -msgid "" -"Return a dictionary of the global variables in the current execution frame, " -"or ``NULL`` if no frame is currently executing. Equivalent to calling " -":func:`globals` in Python code." -msgstr "" - -#: ../../c-api/reflection.rst:96 -msgid "" -"Return the name of *func* if it is a function, class or instance object, " -"else the name of *func*\\s type." -msgstr "" - -#: ../../c-api/reflection.rst:102 -msgid "" -"Return a description string, depending on the type of *func*. Return values " -"include \"()\" for functions and methods, \" constructor\", \" instance\", " -"and \" object\". Concatenated with the result of " -":c:func:`PyEval_GetFuncName`, the result will be a description of *func*." -msgstr "" diff --git a/python-newest.c-api--sequence/id.po b/python-newest.c-api--sequence/id.po deleted file mode 100644 index 03c8f8c..0000000 --- a/python-newest.c-api--sequence/id.po +++ /dev/null @@ -1,228 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/sequence.rst:6 -msgid "Sequence Protocol" -msgstr "" - -#: ../../c-api/sequence.rst:11 -msgid "" -"Return ``1`` if the object provides the sequence protocol, and ``0`` " -"otherwise. Note that it returns ``1`` for Python classes with a " -":meth:`~object.__getitem__` method, unless they are :class:`dict` " -"subclasses, since in general it is impossible to determine what type of keys" -" the class supports. This function always succeeds." -msgstr "" - -#: ../../c-api/sequence.rst:23 -msgid "" -"Returns the number of objects in sequence *o* on success, and ``-1`` on " -"failure. This is equivalent to the Python expression ``len(o)``." -msgstr "" - -#: ../../c-api/sequence.rst:29 -msgid "" -"Return the concatenation of *o1* and *o2* on success, and ``NULL`` on " -"failure. This is the equivalent of the Python expression ``o1 + o2``." -msgstr "" - -#: ../../c-api/sequence.rst:35 -msgid "" -"Return the result of repeating sequence object *o* *count* times, or " -"``NULL`` on failure. This is the equivalent of the Python expression ``o * " -"count``." -msgstr "" - -#: ../../c-api/sequence.rst:41 -msgid "" -"Return the concatenation of *o1* and *o2* on success, and ``NULL`` on " -"failure. The operation is done *in-place* when *o1* supports it. This is " -"the equivalent of the Python expression ``o1 += o2``." -msgstr "" - -#: ../../c-api/sequence.rst:48 -msgid "" -"Return the result of repeating sequence object *o* *count* times, or " -"``NULL`` on failure. The operation is done *in-place* when *o* supports it." -" This is the equivalent of the Python expression ``o *= count``." -msgstr "" - -#: ../../c-api/sequence.rst:55 -msgid "" -"Return the *i*\\ th element of *o*, or ``NULL`` on failure. This is the " -"equivalent of the Python expression ``o[i]``." -msgstr "" - -#: ../../c-api/sequence.rst:61 -msgid "" -"Return the slice of sequence object *o* between *i1* and *i2*, or ``NULL`` " -"on failure. This is the equivalent of the Python expression ``o[i1:i2]``." -msgstr "" - -#: ../../c-api/sequence.rst:67 -msgid "" -"Assign object *v* to the *i*\\ th element of *o*. Raise an exception and " -"return ``-1`` on failure; return ``0`` on success. This is the equivalent " -"of the Python statement ``o[i] = v``. This function *does not* steal a " -"reference to *v*." -msgstr "" - -#: ../../c-api/sequence.rst:72 -msgid "" -"If *v* is ``NULL``, the element is deleted, but this feature is deprecated " -"in favour of using :c:func:`PySequence_DelItem`." -msgstr "" - -#: ../../c-api/sequence.rst:78 -msgid "" -"Delete the *i*\\ th element of object *o*. Returns ``-1`` on failure. This" -" is the equivalent of the Python statement ``del o[i]``." -msgstr "" - -#: ../../c-api/sequence.rst:84 -msgid "" -"Assign the sequence object *v* to the slice in sequence object *o* from *i1*" -" to *i2*. This is the equivalent of the Python statement ``o[i1:i2] = v``." -msgstr "" - -#: ../../c-api/sequence.rst:90 -msgid "" -"Delete the slice in sequence object *o* from *i1* to *i2*. Returns ``-1`` " -"on failure. This is the equivalent of the Python statement ``del " -"o[i1:i2]``." -msgstr "" - -#: ../../c-api/sequence.rst:96 -msgid "" -"Return the number of occurrences of *value* in *o*, that is, return the " -"number of keys for which ``o[key] == value``. On failure, return ``-1``. " -"This is equivalent to the Python expression ``o.count(value)``." -msgstr "" - -#: ../../c-api/sequence.rst:103 -msgid "" -"Determine if *o* contains *value*. If an item in *o* is equal to *value*, " -"return ``1``, otherwise return ``0``. On error, return ``-1``. This is " -"equivalent to the Python expression ``value in o``." -msgstr "" - -#: ../../c-api/sequence.rst:110 -msgid "Alias for :c:func:`PySequence_Contains`." -msgstr "" - -#: ../../c-api/sequence.rst:112 -msgid "" -"The function is :term:`soft deprecated` and should no longer be used to " -"write new code." -msgstr "" - -#: ../../c-api/sequence.rst:119 -msgid "" -"Return the first index *i* for which ``o[i] == value``. On error, return " -"``-1``. This is equivalent to the Python expression ``o.index(value)``." -msgstr "" - -#: ../../c-api/sequence.rst:125 -msgid "" -"Return a list object with the same contents as the sequence or iterable *o*," -" or ``NULL`` on failure. The returned list is guaranteed to be new. This " -"is equivalent to the Python expression ``list(o)``." -msgstr "" - -#: ../../c-api/sequence.rst:134 -msgid "" -"Return a tuple object with the same contents as the sequence or iterable " -"*o*, or ``NULL`` on failure. If *o* is a tuple, a new reference will be " -"returned, otherwise a tuple will be constructed with the appropriate " -"contents. This is equivalent to the Python expression ``tuple(o)``." -msgstr "" - -#: ../../c-api/sequence.rst:142 -msgid "" -"Return the sequence or iterable *o* as an object usable by the other " -"``PySequence_Fast*`` family of functions. If the object is not a sequence or" -" iterable, raises :exc:`TypeError` with *m* as the message text. Returns " -"``NULL`` on failure." -msgstr "" - -#: ../../c-api/sequence.rst:147 -msgid "" -"The ``PySequence_Fast*`` functions are thus named because they assume *o* is" -" a :c:type:`PyTupleObject` or a :c:type:`PyListObject` and access the data " -"fields of *o* directly." -msgstr "" - -#: ../../c-api/sequence.rst:151 -msgid "" -"As a CPython implementation detail, if *o* is already a sequence or list, it" -" will be returned." -msgstr "" - -#: ../../c-api/sequence.rst:157 -msgid "" -"Returns the length of *o*, assuming that *o* was returned by " -":c:func:`PySequence_Fast` and that *o* is not ``NULL``. The size can also " -"be retrieved by calling :c:func:`PySequence_Size` on *o*, but " -":c:func:`PySequence_Fast_GET_SIZE` is faster because it can assume *o* is a " -"list or tuple." -msgstr "" - -#: ../../c-api/sequence.rst:166 -msgid "" -"Return the *i*\\ th element of *o*, assuming that *o* was returned by " -":c:func:`PySequence_Fast`, *o* is not ``NULL``, and that *i* is within " -"bounds." -msgstr "" - -#: ../../c-api/sequence.rst:172 -msgid "" -"Return the underlying array of PyObject pointers. Assumes that *o* was " -"returned by :c:func:`PySequence_Fast` and *o* is not ``NULL``." -msgstr "" - -#: ../../c-api/sequence.rst:175 -msgid "" -"Note, if a list gets resized, the reallocation may relocate the items array." -" So, only use the underlying array pointer in contexts where the sequence " -"cannot change." -msgstr "" - -#: ../../c-api/sequence.rst:182 -msgid "" -"Return the *i*\\ th element of *o* or ``NULL`` on failure. Faster form of " -":c:func:`PySequence_GetItem` but without checking that " -":c:func:`PySequence_Check` on *o* is true and without adjustment for " -"negative indices." -msgstr "" - -#: ../../c-api/sequence.rst:21 ../../c-api/sequence.rst:132 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../c-api/sequence.rst:21 -msgid "len" -msgstr "" - -#: ../../c-api/sequence.rst:132 -msgid "tuple" -msgstr "" diff --git a/python-newest.c-api--set/id.po b/python-newest.c-api--set/id.po deleted file mode 100644 index 2e543c7..0000000 --- a/python-newest.c-api--set/id.po +++ /dev/null @@ -1,214 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/set.rst:6 -msgid "Set Objects" -msgstr "" - -#: ../../c-api/set.rst:15 -msgid "" -"This section details the public API for :class:`set` and :class:`frozenset` " -"objects. Any functionality not listed below is best accessed using either " -"the abstract object protocol (including :c:func:`PyObject_CallMethod`, " -":c:func:`PyObject_RichCompareBool`, :c:func:`PyObject_Hash`, " -":c:func:`PyObject_Repr`, :c:func:`PyObject_IsTrue`, " -":c:func:`PyObject_Print`, and :c:func:`PyObject_GetIter`) or the abstract " -"number protocol (including :c:func:`PyNumber_And`, " -":c:func:`PyNumber_Subtract`, :c:func:`PyNumber_Or`, :c:func:`PyNumber_Xor`, " -":c:func:`PyNumber_InPlaceAnd`, :c:func:`PyNumber_InPlaceSubtract`, " -":c:func:`PyNumber_InPlaceOr`, and :c:func:`PyNumber_InPlaceXor`)." -msgstr "" - -#: ../../c-api/set.rst:29 -msgid "" -"This subtype of :c:type:`PyObject` is used to hold the internal data for " -"both :class:`set` and :class:`frozenset` objects. It is like a " -":c:type:`PyDictObject` in that it is a fixed size for small sets (much like " -"tuple storage) and will point to a separate, variable sized block of memory " -"for medium and large sized sets (much like list storage). None of the fields" -" of this structure should be considered public and all are subject to " -"change. All access should be done through the documented API rather than by" -" manipulating the values in the structure." -msgstr "" - -#: ../../c-api/set.rst:40 -msgid "" -"This is an instance of :c:type:`PyTypeObject` representing the Python " -":class:`set` type." -msgstr "" - -#: ../../c-api/set.rst:46 -msgid "" -"This is an instance of :c:type:`PyTypeObject` representing the Python " -":class:`frozenset` type." -msgstr "" - -#: ../../c-api/set.rst:49 -msgid "" -"The following type check macros work on pointers to any Python object. " -"Likewise, the constructor functions work with any iterable Python object." -msgstr "" - -#: ../../c-api/set.rst:55 -msgid "" -"Return true if *p* is a :class:`set` object or an instance of a subtype. " -"This function always succeeds." -msgstr "" - -#: ../../c-api/set.rst:60 -msgid "" -"Return true if *p* is a :class:`frozenset` object or an instance of a " -"subtype. This function always succeeds." -msgstr "" - -#: ../../c-api/set.rst:65 -msgid "" -"Return true if *p* is a :class:`set` object, a :class:`frozenset` object, or" -" an instance of a subtype. This function always succeeds." -msgstr "" - -#: ../../c-api/set.rst:70 -msgid "" -"Return true if *p* is a :class:`set` object but not an instance of a " -"subtype. This function always succeeds." -msgstr "" - -#: ../../c-api/set.rst:77 -msgid "" -"Return true if *p* is a :class:`set` object or a :class:`frozenset` object " -"but not an instance of a subtype. This function always succeeds." -msgstr "" - -#: ../../c-api/set.rst:83 -msgid "" -"Return true if *p* is a :class:`frozenset` object but not an instance of a " -"subtype. This function always succeeds." -msgstr "" - -#: ../../c-api/set.rst:89 -msgid "" -"Return a new :class:`set` containing objects returned by the *iterable*. " -"The *iterable* may be ``NULL`` to create a new empty set. Return the new " -"set on success or ``NULL`` on failure. Raise :exc:`TypeError` if *iterable*" -" is not actually iterable. The constructor is also useful for copying a set" -" (``c=set(s)``)." -msgstr "" - -#: ../../c-api/set.rst:98 -msgid "" -"Return a new :class:`frozenset` containing objects returned by the " -"*iterable*. The *iterable* may be ``NULL`` to create a new empty frozenset." -" Return the new set on success or ``NULL`` on failure. Raise " -":exc:`TypeError` if *iterable* is not actually iterable." -msgstr "" - -#: ../../c-api/set.rst:104 -msgid "" -"The following functions and macros are available for instances of " -":class:`set` or :class:`frozenset` or instances of their subtypes." -msgstr "" - -#: ../../c-api/set.rst:112 -msgid "" -"Return the length of a :class:`set` or :class:`frozenset` object. Equivalent" -" to ``len(anyset)``. Raises a :exc:`SystemError` if *anyset* is not a " -":class:`set`, :class:`frozenset`, or an instance of a subtype." -msgstr "" - -#: ../../c-api/set.rst:119 -msgid "Macro form of :c:func:`PySet_Size` without error checking." -msgstr "" - -#: ../../c-api/set.rst:124 -msgid "" -"Return ``1`` if found, ``0`` if not found, and ``-1`` if an error is " -"encountered. Unlike the Python :meth:`~object.__contains__` method, this " -"function does not automatically convert unhashable sets into temporary " -"frozensets. Raise a :exc:`TypeError` if the *key* is unhashable. Raise " -":exc:`SystemError` if *anyset* is not a :class:`set`, :class:`frozenset`, or" -" an instance of a subtype." -msgstr "" - -#: ../../c-api/set.rst:133 -msgid "" -"Add *key* to a :class:`set` instance. Also works with :class:`frozenset` " -"instances (like :c:func:`PyTuple_SetItem` it can be used to fill in the " -"values of brand new frozensets before they are exposed to other code). " -"Return ``0`` on success or ``-1`` on failure. Raise a :exc:`TypeError` if " -"the *key* is unhashable. Raise a :exc:`MemoryError` if there is no room to " -"grow. Raise a :exc:`SystemError` if *set* is not an instance of " -":class:`set` or its subtype." -msgstr "" - -#: ../../c-api/set.rst:142 -msgid "" -"The following functions are available for instances of :class:`set` or its " -"subtypes but not for instances of :class:`frozenset` or its subtypes." -msgstr "" - -#: ../../c-api/set.rst:148 -msgid "" -"Return ``1`` if found and removed, ``0`` if not found (no action taken), and" -" ``-1`` if an error is encountered. Does not raise :exc:`KeyError` for " -"missing keys. Raise a :exc:`TypeError` if the *key* is unhashable. Unlike " -"the Python :meth:`~frozenset.discard` method, this function does not " -"automatically convert unhashable sets into temporary frozensets. Raise " -":exc:`SystemError` if *set* is not an instance of :class:`set` or its " -"subtype." -msgstr "" - -#: ../../c-api/set.rst:158 -msgid "" -"Return a new reference to an arbitrary object in the *set*, and removes the " -"object from the *set*. Return ``NULL`` on failure. Raise :exc:`KeyError` " -"if the set is empty. Raise a :exc:`SystemError` if *set* is not an instance " -"of :class:`set` or its subtype." -msgstr "" - -#: ../../c-api/set.rst:166 -msgid "" -"Empty an existing set of all elements. Return ``0`` on success. Return " -"``-1`` and raise :exc:`SystemError` if *set* is not an instance of " -":class:`set` or its subtype." -msgstr "" - -#: ../../c-api/set.rst:11 -msgid "object" -msgstr "objek" - -#: ../../c-api/set.rst:11 -msgid "set" -msgstr "set" - -#: ../../c-api/set.rst:11 -msgid "frozenset" -msgstr "" - -#: ../../c-api/set.rst:110 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../c-api/set.rst:110 -msgid "len" -msgstr "" diff --git a/python-newest.c-api--slice/id.po b/python-newest.c-api--slice/id.po deleted file mode 100644 index cb02fe3..0000000 --- a/python-newest.c-api--slice/id.po +++ /dev/null @@ -1,172 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/slice.rst:6 -msgid "Slice Objects" -msgstr "" - -#: ../../c-api/slice.rst:11 -msgid "" -"The type object for slice objects. This is the same as :class:`slice` in " -"the Python layer." -msgstr "" - -#: ../../c-api/slice.rst:17 -msgid "" -"Return true if *ob* is a slice object; *ob* must not be ``NULL``. This " -"function always succeeds." -msgstr "" - -#: ../../c-api/slice.rst:23 -msgid "" -"Return a new slice object with the given values. The *start*, *stop*, and " -"*step* parameters are used as the values of the slice object attributes of " -"the same names. Any of the values may be ``NULL``, in which case the " -"``None`` will be used for the corresponding attribute." -msgstr "" - -#: ../../c-api/slice.rst:28 -msgid "" -"Return ``NULL`` with an exception set if the new object could not be " -"allocated." -msgstr "" - -#: ../../c-api/slice.rst:34 -msgid "" -"Retrieve the start, stop and step indices from the slice object *slice*, " -"assuming a sequence of length *length*. Treats indices greater than *length*" -" as errors." -msgstr "" - -#: ../../c-api/slice.rst:38 -msgid "" -"Returns ``0`` on success and ``-1`` on error with no exception set (unless " -"one of the indices was not ``None`` and failed to be converted to an " -"integer, in which case ``-1`` is returned with an exception set)." -msgstr "" - -#: ../../c-api/slice.rst:42 -msgid "You probably do not want to use this function." -msgstr "" - -#: ../../c-api/slice.rst:44 ../../c-api/slice.rst:75 -msgid "" -"The parameter type for the *slice* parameter was ``PySliceObject*`` before." -msgstr "" - -#: ../../c-api/slice.rst:51 -msgid "" -"Usable replacement for :c:func:`PySlice_GetIndices`. Retrieve the start, " -"stop, and step indices from the slice object *slice* assuming a sequence of " -"length *length*, and store the length of the slice in *slicelength*. Out of" -" bounds indices are clipped in a manner consistent with the handling of " -"normal slices." -msgstr "" - -#: ../../c-api/slice.rst:57 -msgid "Return ``0`` on success and ``-1`` on error with an exception set." -msgstr "" - -#: ../../c-api/slice.rst:60 -msgid "" -"This function is considered not safe for resizable sequences. Its invocation" -" should be replaced by a combination of :c:func:`PySlice_Unpack` and " -":c:func:`PySlice_AdjustIndices` where ::" -msgstr "" - -#: ../../c-api/slice.rst:64 -msgid "" -"if (PySlice_GetIndicesEx(slice, length, &start, &stop, &step, &slicelength) < 0) {\n" -" // return error\n" -"}" -msgstr "" - -#: ../../c-api/slice.rst:68 -msgid "is replaced by ::" -msgstr "" - -#: ../../c-api/slice.rst:70 -msgid "" -"if (PySlice_Unpack(slice, &start, &stop, &step) < 0) {\n" -" // return error\n" -"}\n" -"slicelength = PySlice_AdjustIndices(length, &start, &stop, step);" -msgstr "" - -#: ../../c-api/slice.rst:79 -msgid "" -"If ``Py_LIMITED_API`` is not set or set to the value between ``0x03050400`` " -"and ``0x03060000`` (not including) or ``0x03060100`` or higher " -":c:func:`!PySlice_GetIndicesEx` is implemented as a macro using " -":c:func:`!PySlice_Unpack` and :c:func:`!PySlice_AdjustIndices`. Arguments " -"*start*, *stop* and *step* are evaluated more than once." -msgstr "" - -#: ../../c-api/slice.rst:86 -msgid "" -"If ``Py_LIMITED_API`` is set to the value less than ``0x03050400`` or " -"between ``0x03060000`` and ``0x03060100`` (not including) " -":c:func:`!PySlice_GetIndicesEx` is a deprecated function." -msgstr "" - -#: ../../c-api/slice.rst:94 -msgid "" -"Extract the start, stop and step data members from a slice object as C " -"integers. Silently reduce values larger than ``PY_SSIZE_T_MAX`` to " -"``PY_SSIZE_T_MAX``, silently boost the start and stop values less than " -"``PY_SSIZE_T_MIN`` to ``PY_SSIZE_T_MIN``, and silently boost the step values" -" less than ``-PY_SSIZE_T_MAX`` to ``-PY_SSIZE_T_MAX``." -msgstr "" - -#: ../../c-api/slice.rst:100 -msgid "Return ``-1`` with an exception set on error, ``0`` on success." -msgstr "" - -#: ../../c-api/slice.rst:107 -msgid "" -"Adjust start/end slice indices assuming a sequence of the specified length. " -"Out of bounds indices are clipped in a manner consistent with the handling " -"of normal slices." -msgstr "" - -#: ../../c-api/slice.rst:111 -msgid "" -"Return the length of the slice. Always successful. Doesn't call Python " -"code." -msgstr "" - -#: ../../c-api/slice.rst:118 -msgid "Ellipsis Object" -msgstr "" - -#: ../../c-api/slice.rst:123 -msgid "" -"The type of Python :const:`Ellipsis` object. Same " -"as :class:`types.EllipsisType` in the Python layer." -msgstr "" - -#: ../../c-api/slice.rst:129 -msgid "" -"The Python ``Ellipsis`` object. This object has no methods. Like " -":c:data:`Py_None`, it is an :term:`immortal` singleton object." -msgstr "" - -#: ../../c-api/slice.rst:132 -msgid ":c:data:`Py_Ellipsis` is immortal." -msgstr "" diff --git a/python-newest.c-api--stable/id.po b/python-newest.c-api--stable/id.po deleted file mode 100644 index 27aed26..0000000 --- a/python-newest.c-api--stable/id.po +++ /dev/null @@ -1,316 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 14:21+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: oon arfiandwi , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/stable.rst:7 -msgid "C API Stability" -msgstr "Stabilitas API C" - -#: ../../c-api/stable.rst:9 -msgid "" -"Unless documented otherwise, Python's C API is covered by the Backwards " -"Compatibility Policy, :pep:`387`. Most changes to it are source-compatible " -"(typically by only adding new API). Changing existing API or removing API is" -" only done after a deprecation period or to fix serious issues." -msgstr "" - -#: ../../c-api/stable.rst:15 -msgid "" -"CPython's Application Binary Interface (ABI) is forward- and backwards-" -"compatible across a minor release (if these are compiled the same way; see " -":ref:`stable-abi-platform` below). So, code compiled for Python 3.10.0 will " -"work on 3.10.8 and vice versa, but will need to be compiled separately for " -"3.9.x and 3.11.x." -msgstr "" - -#: ../../c-api/stable.rst:21 -msgid "There are two tiers of C API with different stability expectations:" -msgstr "" - -#: ../../c-api/stable.rst:23 -msgid "" -":ref:`Unstable API `, may change in minor versions without a" -" deprecation period. It is marked by the ``PyUnstable`` prefix in names." -msgstr "" - -#: ../../c-api/stable.rst:25 -msgid "" -":ref:`Limited API `, is compatible across several minor " -"releases. When :c:macro:`Py_LIMITED_API` is defined, only this subset is " -"exposed from ``Python.h``." -msgstr "" - -#: ../../c-api/stable.rst:29 -msgid "These are discussed in more detail below." -msgstr "Hal ini dibahas secara lebih rinci di bawah ini." - -#: ../../c-api/stable.rst:31 -msgid "" -"Names prefixed by an underscore, such as ``_Py_InternalState``, are private " -"API that can change without notice even in patch releases. If you need to " -"use this API, consider reaching out to `CPython developers " -"`_ to discuss adding public " -"API for your use case." -msgstr "" - -#: ../../c-api/stable.rst:40 -msgid "Unstable C API" -msgstr "API C yang tidak stabil" - -#: ../../c-api/stable.rst:44 -msgid "" -"Any API named with the ``PyUnstable`` prefix exposes CPython implementation " -"details, and may change in every minor release (e.g. from 3.9 to 3.10) " -"without any deprecation warnings. However, it will not change in a bugfix " -"release (e.g. from 3.10.0 to 3.10.1)." -msgstr "" - -#: ../../c-api/stable.rst:49 -msgid "" -"It is generally intended for specialized, low-level tools like debuggers." -msgstr "" - -#: ../../c-api/stable.rst:51 -msgid "" -"Projects that use this API are expected to follow CPython development and " -"spend extra effort adjusting to changes." -msgstr "" - -#: ../../c-api/stable.rst:57 -msgid "Stable Application Binary Interface" -msgstr "" - -#: ../../c-api/stable.rst:59 -msgid "" -"For simplicity, this document talks about *extensions*, but the Limited API " -"and Stable ABI work the same way for all uses of the API – for example, " -"embedding Python." -msgstr "" - -#: ../../c-api/stable.rst:66 -msgid "Limited C API" -msgstr "API C terbatas" - -#: ../../c-api/stable.rst:68 -msgid "" -"Python 3.2 introduced the *Limited API*, a subset of Python's C API. " -"Extensions that only use the Limited API can be compiled once and be loaded " -"on multiple versions of Python. Contents of the Limited API are :ref:`listed" -" below `." -msgstr "" - -#: ../../c-api/stable.rst:75 -msgid "" -"Define this macro before including ``Python.h`` to opt in to only use the " -"Limited API, and to select the Limited API version." -msgstr "" - -#: ../../c-api/stable.rst:78 -msgid "" -"Define ``Py_LIMITED_API`` to the value of :c:macro:`PY_VERSION_HEX` " -"corresponding to the lowest Python version your extension supports. The " -"extension will be ABI-compatible with all Python 3 releases from the " -"specified one onward, and can use Limited API introduced up to that version." -msgstr "" - -#: ../../c-api/stable.rst:84 -msgid "" -"Rather than using the ``PY_VERSION_HEX`` macro directly, hardcode a minimum " -"minor version (e.g. ``0x030A0000`` for Python 3.10) for stability when " -"compiling with future Python versions." -msgstr "" - -#: ../../c-api/stable.rst:88 -msgid "" -"You can also define ``Py_LIMITED_API`` to ``3``. This works the same as " -"``0x03020000`` (Python 3.2, the version that introduced Limited API)." -msgstr "" - -#: ../../c-api/stable.rst:95 -msgid "Stable ABI" -msgstr "" - -#: ../../c-api/stable.rst:97 -msgid "" -"To enable this, Python provides a *Stable ABI*: a set of symbols that will " -"remain ABI-compatible across Python 3.x versions." -msgstr "" - -#: ../../c-api/stable.rst:102 -msgid "" -"The Stable ABI prevents ABI issues, like linker errors due to missing " -"symbols or data corruption due to changes in structure layouts or function " -"signatures. However, other changes in Python can change the *behavior* of " -"extensions. See Python's Backwards Compatibility Policy (:pep:`387`) for " -"details." -msgstr "" - -#: ../../c-api/stable.rst:108 -msgid "" -"The Stable ABI contains symbols exposed in the :ref:`Limited API `, but also other ones – for example, functions necessary to support " -"older versions of the Limited API." -msgstr "" - -#: ../../c-api/stable.rst:112 -msgid "" -"On Windows, extensions that use the Stable ABI should be linked against " -"``python3.dll`` rather than a version-specific library such as " -"``python39.dll``." -msgstr "" - -#: ../../c-api/stable.rst:116 -msgid "" -"On some platforms, Python will look for and load shared library files named " -"with the ``abi3`` tag (e.g. ``mymodule.abi3.so``). It does not check if such" -" extensions conform to a Stable ABI. The user (or their packaging tools) " -"need to ensure that, for example, extensions built with the 3.10+ Limited " -"API are not installed for lower versions of Python." -msgstr "" - -#: ../../c-api/stable.rst:123 -msgid "" -"All functions in the Stable ABI are present as functions in Python's shared " -"library, not solely as macros. This makes them usable from languages that " -"don't use the C preprocessor." -msgstr "" - -#: ../../c-api/stable.rst:129 -msgid "Limited API Scope and Performance" -msgstr "Cakupan dan Kinerja API Terbatas" - -#: ../../c-api/stable.rst:131 -msgid "" -"The goal for the Limited API is to allow everything that is possible with " -"the full C API, but possibly with a performance penalty." -msgstr "" - -#: ../../c-api/stable.rst:134 -msgid "" -"For example, while :c:func:`PyList_GetItem` is available, its “unsafe” macro" -" variant :c:func:`PyList_GET_ITEM` is not. The macro can be faster because " -"it can rely on version-specific implementation details of the list object." -msgstr "" - -#: ../../c-api/stable.rst:139 -msgid "" -"Without ``Py_LIMITED_API`` defined, some C API functions are inlined or " -"replaced by macros. Defining ``Py_LIMITED_API`` disables this inlining, " -"allowing stability as Python's data structures are improved, but possibly " -"reducing performance." -msgstr "" - -#: ../../c-api/stable.rst:144 -msgid "" -"By leaving out the ``Py_LIMITED_API`` definition, it is possible to compile " -"a Limited API extension with a version-specific ABI. This can improve " -"performance for that Python version, but will limit compatibility. Compiling" -" with ``Py_LIMITED_API`` will then yield an extension that can be " -"distributed where a version-specific one is not available – for example, for" -" prereleases of an upcoming Python version." -msgstr "" - -#: ../../c-api/stable.rst:153 -msgid "Limited API Caveats" -msgstr "Peringatan API Terbatas" - -#: ../../c-api/stable.rst:155 -msgid "" -"Note that compiling with ``Py_LIMITED_API`` is *not* a complete guarantee " -"that code conforms to the :ref:`Limited API ` or the " -":ref:`Stable ABI `. ``Py_LIMITED_API`` only covers definitions, " -"but an API also includes other issues, such as expected semantics." -msgstr "" - -#: ../../c-api/stable.rst:160 -msgid "" -"One issue that ``Py_LIMITED_API`` does not guard against is calling a " -"function with arguments that are invalid in a lower Python version. For " -"example, consider a function that starts accepting ``NULL`` for an argument." -" In Python 3.9, ``NULL`` now selects a default behavior, but in Python 3.8, " -"the argument will be used directly, causing a ``NULL`` dereference and " -"crash. A similar argument works for fields of structs." -msgstr "" - -#: ../../c-api/stable.rst:167 -msgid "" -"Another issue is that some struct fields are currently not hidden when " -"``Py_LIMITED_API`` is defined, even though they're part of the Limited API." -msgstr "" - -#: ../../c-api/stable.rst:170 -msgid "" -"For these reasons, we recommend testing an extension with *all* minor Python" -" versions it supports, and preferably to build with the *lowest* such " -"version." -msgstr "" - -#: ../../c-api/stable.rst:173 -msgid "" -"We also recommend reviewing documentation of all used API to check if it is " -"explicitly part of the Limited API. Even with ``Py_LIMITED_API`` defined, a " -"few private declarations are exposed for technical reasons (or even " -"unintentionally, as bugs)." -msgstr "" - -#: ../../c-api/stable.rst:178 -msgid "" -"Also note that the Limited API is not necessarily stable: compiling with " -"``Py_LIMITED_API`` with Python 3.8 means that the extension will run with " -"Python 3.12, but it will not necessarily *compile* with Python 3.12. In " -"particular, parts of the Limited API may be deprecated and removed, provided" -" that the Stable ABI stays stable." -msgstr "" - -#: ../../c-api/stable.rst:188 -msgid "Platform Considerations" -msgstr "Pertimbangan Platform" - -#: ../../c-api/stable.rst:190 -msgid "" -"ABI stability depends not only on Python, but also on the compiler used, " -"lower-level libraries and compiler options. For the purposes of the " -":ref:`Stable ABI `, these details define a “platform”. They " -"usually depend on the OS type and processor architecture" -msgstr "" - -#: ../../c-api/stable.rst:195 -msgid "" -"It is the responsibility of each particular distributor of Python to ensure " -"that all Python versions on a particular platform are built in a way that " -"does not break the Stable ABI. This is the case with Windows and macOS " -"releases from ``python.org`` and many third-party distributors." -msgstr "" - -#: ../../c-api/stable.rst:205 -msgid "Contents of Limited API" -msgstr "Konten dari API Terbatas" - -#: ../../c-api/stable.rst:208 -msgid "" -"Currently, the :ref:`Limited API ` includes the following " -"items:" -msgstr "" - -#: ../../c-api/stable.rst:42 -msgid "PyUnstable" -msgstr "PyUnstable" diff --git a/python-newest.c-api--structures/id.po b/python-newest.c-api--structures/id.po deleted file mode 100644 index 73d904c..0000000 --- a/python-newest.c-api--structures/id.po +++ /dev/null @@ -1,1029 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/structures.rst:6 -msgid "Common Object Structures" -msgstr "Struktur Objek Umum" - -#: ../../c-api/structures.rst:8 -msgid "" -"There are a large number of structures which are used in the definition of " -"object types for Python. This section describes these structures and how " -"they are used." -msgstr "" - -#: ../../c-api/structures.rst:14 -msgid "Base object types and macros" -msgstr "" - -#: ../../c-api/structures.rst:16 -msgid "" -"All Python objects ultimately share a small number of fields at the " -"beginning of the object's representation in memory. These are represented " -"by the :c:type:`PyObject` and :c:type:`PyVarObject` types, which are " -"defined, in turn, by the expansions of some macros also used, whether " -"directly or indirectly, in the definition of all other Python objects. " -"Additional macros can be found under :ref:`reference counting " -"`." -msgstr "" - -#: ../../c-api/structures.rst:26 -msgid "" -"All object types are extensions of this type. This is a type which contains" -" the information Python needs to treat a pointer to an object as an object." -" In a normal \"release\" build, it contains only the object's reference " -"count and a pointer to the corresponding type object. Nothing is actually " -"declared to be a :c:type:`PyObject`, but every pointer to a Python object " -"can be cast to a :c:expr:`PyObject*`. Access to the members must be done by" -" using the macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." -msgstr "" - -#: ../../c-api/structures.rst:38 -msgid "" -"This is an extension of :c:type:`PyObject` that adds the " -":c:member:`~PyVarObject.ob_size` field. This is only used for objects that " -"have some notion of *length*. This type does not often appear in the " -"Python/C API. Access to the members must be done by using the macros " -":c:macro:`Py_REFCNT`, :c:macro:`Py_TYPE`, and :c:macro:`Py_SIZE`." -msgstr "" - -#: ../../c-api/structures.rst:47 -msgid "" -"This is a macro used when declaring new types which represent objects " -"without a varying length. The PyObject_HEAD macro expands to::" -msgstr "" - -#: ../../c-api/structures.rst:50 -msgid "PyObject ob_base;" -msgstr "" - -#: ../../c-api/structures.rst:52 -msgid "See documentation of :c:type:`PyObject` above." -msgstr "" - -#: ../../c-api/structures.rst:57 -msgid "" -"This is a macro used when declaring new types which represent objects with a" -" length that varies from instance to instance. The PyObject_VAR_HEAD macro " -"expands to::" -msgstr "" - -#: ../../c-api/structures.rst:61 -msgid "PyVarObject ob_base;" -msgstr "" - -#: ../../c-api/structures.rst:63 -msgid "See documentation of :c:type:`PyVarObject` above." -msgstr "" - -#: ../../c-api/structures.rst:68 -msgid "" -"The base class of all other objects, the same as :class:`object` in Python." -msgstr "" - -#: ../../c-api/structures.rst:73 -msgid "" -"Test if the *x* object is the *y* object, the same as ``x is y`` in Python." -msgstr "" - -#: ../../c-api/structures.rst:80 -msgid "" -"Test if an object is the ``None`` singleton, the same as ``x is None`` in " -"Python." -msgstr "" - -#: ../../c-api/structures.rst:88 -msgid "" -"Test if an object is the ``True`` singleton, the same as ``x is True`` in " -"Python." -msgstr "" - -#: ../../c-api/structures.rst:96 -msgid "" -"Test if an object is the ``False`` singleton, the same as ``x is False`` in " -"Python." -msgstr "" - -#: ../../c-api/structures.rst:104 -msgid "Get the type of the Python object *o*." -msgstr "" - -#: ../../c-api/structures.rst:106 -msgid "Return a :term:`borrowed reference`." -msgstr "" - -#: ../../c-api/structures.rst:108 -msgid "Use the :c:func:`Py_SET_TYPE` function to set an object type." -msgstr "" - -#: ../../c-api/structures.rst:110 -msgid "" -":c:func:`Py_TYPE()` is changed to an inline static function. The parameter " -"type is no longer :c:expr:`const PyObject*`." -msgstr "" - -#: ../../c-api/structures.rst:117 -msgid "" -"Return non-zero if the object *o* type is *type*. Return zero otherwise. " -"Equivalent to: ``Py_TYPE(o) == type``." -msgstr "" - -#: ../../c-api/structures.rst:125 -msgid "Set the object *o* type to *type*." -msgstr "" - -#: ../../c-api/structures.rst:132 -msgid "Get the size of the Python object *o*." -msgstr "" - -#: ../../c-api/structures.rst:134 -msgid "Use the :c:func:`Py_SET_SIZE` function to set an object size." -msgstr "" - -#: ../../c-api/structures.rst:136 -msgid "" -":c:func:`Py_SIZE()` is changed to an inline static function. The parameter " -"type is no longer :c:expr:`const PyVarObject*`." -msgstr "" - -#: ../../c-api/structures.rst:143 -msgid "Set the object *o* size to *size*." -msgstr "" - -#: ../../c-api/structures.rst:150 -msgid "" -"This is a macro which expands to initialization values for a new " -":c:type:`PyObject` type. This macro expands to::" -msgstr "" - -#: ../../c-api/structures.rst:153 -msgid "" -"_PyObject_EXTRA_INIT\n" -"1, type," -msgstr "" - -#: ../../c-api/structures.rst:159 -msgid "" -"This is a macro which expands to initialization values for a new " -":c:type:`PyVarObject` type, including the :c:member:`~PyVarObject.ob_size` " -"field. This macro expands to::" -msgstr "" - -#: ../../c-api/structures.rst:163 -msgid "" -"_PyObject_EXTRA_INIT\n" -"1, type, size," -msgstr "" - -#: ../../c-api/structures.rst:168 -msgid "Implementing functions and methods" -msgstr "" - -#: ../../c-api/structures.rst:172 -msgid "" -"Type of the functions used to implement most Python callables in C. " -"Functions of this type take two :c:expr:`PyObject*` parameters and return " -"one such value. If the return value is ``NULL``, an exception shall have " -"been set. If not ``NULL``, the return value is interpreted as the return " -"value of the function as exposed in Python. The function must return a new " -"reference." -msgstr "" - -#: ../../c-api/structures.rst:179 -msgid "The function signature is::" -msgstr "" - -#: ../../c-api/structures.rst:181 -msgid "" -"PyObject *PyCFunction(PyObject *self,\n" -" PyObject *args);" -msgstr "" - -#: ../../c-api/structures.rst:186 -msgid "" -"Type of the functions used to implement Python callables in C with signature" -" :ref:`METH_VARARGS | METH_KEYWORDS `. The " -"function signature is::" -msgstr "" - -#: ../../c-api/structures.rst:190 -msgid "" -"PyObject *PyCFunctionWithKeywords(PyObject *self,\n" -" PyObject *args,\n" -" PyObject *kwargs);" -msgstr "" - -#: ../../c-api/structures.rst:197 -msgid "" -"Type of the functions used to implement Python callables in C with signature" -" :c:macro:`METH_FASTCALL`. The function signature is::" -msgstr "" - -#: ../../c-api/structures.rst:201 -msgid "" -"PyObject *PyCFunctionFast(PyObject *self,\n" -" PyObject *const *args,\n" -" Py_ssize_t nargs);" -msgstr "" - -#: ../../c-api/structures.rst:207 -msgid "" -"Type of the functions used to implement Python callables in C with signature" -" :ref:`METH_FASTCALL | METH_KEYWORDS `. The " -"function signature is::" -msgstr "" - -#: ../../c-api/structures.rst:211 -msgid "" -"PyObject *PyCFunctionFastWithKeywords(PyObject *self,\n" -" PyObject *const *args,\n" -" Py_ssize_t nargs,\n" -" PyObject *kwnames);" -msgstr "" - -#: ../../c-api/structures.rst:218 -msgid "" -"Type of the functions used to implement Python callables in C with signature" -" :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS `. The function signature is::" -msgstr "" - -#: ../../c-api/structures.rst:222 -msgid "" -"PyObject *PyCMethod(PyObject *self,\n" -" PyTypeObject *defining_class,\n" -" PyObject *const *args,\n" -" Py_ssize_t nargs,\n" -" PyObject *kwnames)" -msgstr "" - -#: ../../c-api/structures.rst:233 -msgid "" -"Structure used to describe a method of an extension type. This structure " -"has four fields:" -msgstr "" - -#: ../../c-api/structures.rst:238 -msgid "Name of the method." -msgstr "" - -#: ../../c-api/structures.rst:242 -msgid "Pointer to the C implementation." -msgstr "" - -#: ../../c-api/structures.rst:246 -msgid "Flags bits indicating how the call should be constructed." -msgstr "" - -#: ../../c-api/structures.rst:250 -msgid "Points to the contents of the docstring." -msgstr "" - -#: ../../c-api/structures.rst:252 -msgid "" -"The :c:member:`~PyMethodDef.ml_meth` is a C function pointer. The functions " -"may be of different types, but they always return :c:expr:`PyObject*`. If " -"the function is not of the :c:type:`PyCFunction`, the compiler will require " -"a cast in the method table. Even though :c:type:`PyCFunction` defines the " -"first parameter as :c:expr:`PyObject*`, it is common that the method " -"implementation uses the specific C type of the *self* object." -msgstr "" - -#: ../../c-api/structures.rst:260 -msgid "" -"The :c:member:`~PyMethodDef.ml_flags` field is a bitfield which can include " -"the following flags. The individual flags indicate either a calling " -"convention or a binding convention." -msgstr "" - -#: ../../c-api/structures.rst:265 -msgid "There are these calling conventions:" -msgstr "" - -#: ../../c-api/structures.rst:269 -msgid "" -"This is the typical calling convention, where the methods have the type " -":c:type:`PyCFunction`. The function expects two :c:expr:`PyObject*` values. " -"The first one is the *self* object for methods; for module functions, it is " -"the module object. The second parameter (often called *args*) is a tuple " -"object representing all arguments. This parameter is typically processed " -"using :c:func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`." -msgstr "" - -#: ../../c-api/structures.rst:279 -msgid "" -"Can only be used in certain combinations with other flags: " -":ref:`METH_VARARGS | METH_KEYWORDS `, " -":ref:`METH_FASTCALL | METH_KEYWORDS ` and " -":ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS `." -msgstr "" - -#: ../../c-api/structures.rst:287 -msgid ":c:expr:`METH_VARARGS | METH_KEYWORDS`" -msgstr "" - -#: ../../c-api/structures.rst:288 -msgid "" -"Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. " -"The function expects three parameters: *self*, *args*, *kwargs* where " -"*kwargs* is a dictionary of all the keyword arguments or possibly ``NULL`` " -"if there are no keyword arguments. The parameters are typically processed " -"using :c:func:`PyArg_ParseTupleAndKeywords`." -msgstr "" - -#: ../../c-api/structures.rst:297 -msgid "" -"Fast calling convention supporting only positional arguments. The methods " -"have the type :c:type:`PyCFunctionFast`. The first parameter is *self*, the " -"second parameter is a C array of :c:expr:`PyObject*` values indicating the " -"arguments and the third parameter is the number of arguments (the length of " -"the array)." -msgstr "" - -#: ../../c-api/structures.rst:307 -msgid "``METH_FASTCALL`` is now part of the :ref:`stable ABI `." -msgstr "" - -#: ../../c-api/structures.rst:312 -msgid ":c:expr:`METH_FASTCALL | METH_KEYWORDS`" -msgstr "" - -#: ../../c-api/structures.rst:313 -msgid "" -"Extension of :c:macro:`METH_FASTCALL` supporting also keyword arguments, " -"with methods of type :c:type:`PyCFunctionFastWithKeywords`. Keyword " -"arguments are passed the same way as in the :ref:`vectorcall protocol " -"`: there is an additional fourth :c:expr:`PyObject*` parameter " -"which is a tuple representing the names of the keyword arguments (which are " -"guaranteed to be strings) or possibly ``NULL`` if there are no keywords. " -"The values of the keyword arguments are stored in the *args* array, after " -"the positional arguments." -msgstr "" - -#: ../../c-api/structures.rst:328 -msgid "" -"Can only be used in the combination with other flags: :ref:`METH_METHOD | " -"METH_FASTCALL | METH_KEYWORDS `." -msgstr "" - -#: ../../c-api/structures.rst:334 -msgid ":c:expr:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`" -msgstr "" - -#: ../../c-api/structures.rst:335 -msgid "" -"Extension of :ref:`METH_FASTCALL | METH_KEYWORDS ` supporting the *defining class*, that is, the class that " -"contains the method in question. The defining class might be a superclass of" -" ``Py_TYPE(self)``." -msgstr "" - -#: ../../c-api/structures.rst:340 -msgid "" -"The method needs to be of type :c:type:`PyCMethod`, the same as for " -"``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added " -"after ``self``." -msgstr "" - -#: ../../c-api/structures.rst:349 -msgid "" -"Methods without parameters don't need to check whether arguments are given " -"if they are listed with the :c:macro:`METH_NOARGS` flag. They need to be of" -" type :c:type:`PyCFunction`. The first parameter is typically named *self* " -"and will hold a reference to the module or object instance. In all cases " -"the second parameter will be ``NULL``." -msgstr "" - -#: ../../c-api/structures.rst:355 -msgid "" -"The function must have 2 parameters. Since the second parameter is unused, " -":c:macro:`Py_UNUSED` can be used to prevent a compiler warning." -msgstr "" - -#: ../../c-api/structures.rst:361 -msgid "" -"Methods with a single object argument can be listed with the " -":c:macro:`METH_O` flag, instead of invoking :c:func:`PyArg_ParseTuple` with " -"a ``\"O\"`` argument. They have the type :c:type:`PyCFunction`, with the " -"*self* parameter, and a :c:expr:`PyObject*` parameter representing the " -"single argument." -msgstr "" - -#: ../../c-api/structures.rst:367 -msgid "" -"These two constants are not used to indicate the calling convention but the " -"binding when use with methods of classes. These may not be used for " -"functions defined for modules. At most one of these flags may be set for " -"any given method." -msgstr "" - -#: ../../c-api/structures.rst:377 -msgid "" -"The method will be passed the type object as the first parameter rather than" -" an instance of the type. This is used to create *class methods*, similar " -"to what is created when using the :func:`classmethod` built-in function." -msgstr "" - -#: ../../c-api/structures.rst:387 -msgid "" -"The method will be passed ``NULL`` as the first parameter rather than an " -"instance of the type. This is used to create *static methods*, similar to " -"what is created when using the :func:`staticmethod` built-in function." -msgstr "" - -#: ../../c-api/structures.rst:391 -msgid "" -"One other constant controls whether a method is loaded in place of another " -"definition with the same method name." -msgstr "" - -#: ../../c-api/structures.rst:397 -msgid "" -"The method will be loaded in place of existing definitions. Without " -"*METH_COEXIST*, the default is to skip repeated definitions. Since slot " -"wrappers are loaded before the method table, the existence of a " -"*sq_contains* slot, for example, would generate a wrapped method named " -":meth:`~object.__contains__` and preclude the loading of a corresponding " -"PyCFunction with the same name. With the flag defined, the PyCFunction will" -" be loaded in place of the wrapper object and will co-exist with the slot. " -"This is helpful because calls to PyCFunctions are optimized more than " -"wrapper object calls." -msgstr "" - -#: ../../c-api/structures.rst:409 -msgid "" -"Turn *ml* into a Python :term:`callable` object. The caller must ensure that" -" *ml* outlives the :term:`callable`. Typically, *ml* is defined as a static " -"variable." -msgstr "" - -#: ../../c-api/structures.rst:413 -msgid "" -"The *self* parameter will be passed as the *self* argument to the C function" -" in ``ml->ml_meth`` when invoked. *self* can be ``NULL``." -msgstr "" - -#: ../../c-api/structures.rst:417 -msgid "" -"The :term:`callable` object's ``__module__`` attribute can be set from the " -"given *module* argument. *module* should be a Python string, which will be " -"used as name of the module the function is defined in. If unavailable, it " -"can be set to :const:`None` or ``NULL``." -msgstr "" - -#: ../../c-api/structures.rst:423 -msgid ":attr:`function.__module__`" -msgstr "" - -#: ../../c-api/structures.rst:425 -msgid "" -"The *cls* parameter will be passed as the *defining_class* argument to the C" -" function. Must be set if :c:macro:`METH_METHOD` is set on ``ml->ml_flags``." -msgstr "" - -#: ../../c-api/structures.rst:434 -msgid "Equivalent to ``PyCMethod_New(ml, self, module, NULL)``." -msgstr "" - -#: ../../c-api/structures.rst:439 -msgid "Equivalent to ``PyCMethod_New(ml, self, NULL, NULL)``." -msgstr "" - -#: ../../c-api/structures.rst:443 -msgid "Accessing attributes of extension types" -msgstr "" - -#: ../../c-api/structures.rst:447 -msgid "" -"Structure which describes an attribute of a type which corresponds to a C " -"struct member. When defining a class, put a NULL-terminated array of these " -"structures in the :c:member:`~PyTypeObject.tp_members` slot." -msgstr "" - -#: ../../c-api/structures.rst:452 -msgid "Its fields are, in order:" -msgstr "" - -#: ../../c-api/structures.rst:456 -msgid "" -"Name of the member. A NULL value marks the end of a ``PyMemberDef[]`` array." -msgstr "" - -#: ../../c-api/structures.rst:459 -msgid "The string should be static, no copy is made of it." -msgstr "" - -#: ../../c-api/structures.rst:463 -msgid "" -"The type of the member in the C struct. See :ref:`PyMemberDef-types` for the" -" possible values." -msgstr "" - -#: ../../c-api/structures.rst:468 -msgid "" -"The offset in bytes that the member is located on the type’s object struct." -msgstr "" - -#: ../../c-api/structures.rst:472 -msgid "" -"Zero or more of the :ref:`PyMemberDef-flags`, combined using bitwise OR." -msgstr "" - -#: ../../c-api/structures.rst:476 -msgid "" -"The docstring, or NULL. The string should be static, no copy is made of it. " -"Typically, it is defined using :c:macro:`PyDoc_STR`." -msgstr "" - -#: ../../c-api/structures.rst:480 -msgid "" -"By default (when :c:member:`~PyMemberDef.flags` is ``0``), members allow " -"both read and write access. Use the :c:macro:`Py_READONLY` flag for read-" -"only access. Certain types, like :c:macro:`Py_T_STRING`, imply " -":c:macro:`Py_READONLY`. Only :c:macro:`Py_T_OBJECT_EX` (and legacy " -":c:macro:`T_OBJECT`) members can be deleted." -msgstr "" - -#: ../../c-api/structures.rst:489 -msgid "" -"For heap-allocated types (created using :c:func:`PyType_FromSpec` or " -"similar), ``PyMemberDef`` may contain a definition for the special member " -"``\"__vectorcalloffset__\"``, corresponding to " -":c:member:`~PyTypeObject.tp_vectorcall_offset` in type objects. This member " -"must be defined with ``Py_T_PYSSIZET``, and either ``Py_READONLY`` or " -"``Py_READONLY | Py_RELATIVE_OFFSET``. For example::" -msgstr "" - -#: ../../c-api/structures.rst:496 -msgid "" -"static PyMemberDef spam_type_members[] = {\n" -" {\"__vectorcalloffset__\", Py_T_PYSSIZET,\n" -" offsetof(Spam_object, vectorcall), Py_READONLY},\n" -" {NULL} /* Sentinel */\n" -"};" -msgstr "" - -#: ../../c-api/structures.rst:502 -msgid "(You may need to ``#include `` for :c:func:`!offsetof`.)" -msgstr "" - -#: ../../c-api/structures.rst:504 -msgid "" -"The legacy offsets :c:member:`~PyTypeObject.tp_dictoffset` and " -":c:member:`~PyTypeObject.tp_weaklistoffset` can be defined similarly using " -"``\"__dictoffset__\"`` and ``\"__weaklistoffset__\"`` members, but " -"extensions are strongly encouraged to use :c:macro:`Py_TPFLAGS_MANAGED_DICT`" -" and :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` instead." -msgstr "" - -#: ../../c-api/structures.rst:512 -msgid "" -"``PyMemberDef`` is always available. Previously, it required including " -"``\"structmember.h\"``." -msgstr "" - -#: ../../c-api/structures.rst:517 -msgid "" -":c:macro:`Py_RELATIVE_OFFSET` is now allowed for " -"``\"__vectorcalloffset__\"``, ``\"__dictoffset__\"`` and " -"``\"__weaklistoffset__\"``." -msgstr "" - -#: ../../c-api/structures.rst:523 -msgid "" -"Get an attribute belonging to the object at address *obj_addr*. The " -"attribute is described by ``PyMemberDef`` *m*. Returns ``NULL`` on error." -msgstr "" - -#: ../../c-api/structures.rst:529 -msgid "" -"``PyMember_GetOne`` is always available. Previously, it required including " -"``\"structmember.h\"``." -msgstr "" - -#: ../../c-api/structures.rst:534 -msgid "" -"Set an attribute belonging to the object at address *obj_addr* to object " -"*o*. The attribute to set is described by ``PyMemberDef`` *m*. Returns " -"``0`` if successful and a negative value on failure." -msgstr "" - -#: ../../c-api/structures.rst:540 -msgid "" -"``PyMember_SetOne`` is always available. Previously, it required including " -"``\"structmember.h\"``." -msgstr "" - -#: ../../c-api/structures.rst:546 -msgid "Member flags" -msgstr "" - -#: ../../c-api/structures.rst:548 -msgid "The following flags can be used with :c:member:`PyMemberDef.flags`:" -msgstr "" - -#: ../../c-api/structures.rst:552 -msgid "Not writable." -msgstr "" - -#: ../../c-api/structures.rst:556 -msgid "" -"Emit an ``object.__getattr__`` :ref:`audit event ` before " -"reading." -msgstr "" - -#: ../../c-api/structures.rst:561 -msgid "" -"Indicates that the :c:member:`~PyMemberDef.offset` of this ``PyMemberDef`` " -"entry indicates an offset from the subclass-specific data, rather than from " -"``PyObject``." -msgstr "" - -#: ../../c-api/structures.rst:565 -msgid "" -"Can only be used as part of :c:member:`Py_tp_members " -"` :c:type:`slot ` when creating a " -"class using negative :c:member:`~PyType_Spec.basicsize`. It is mandatory in " -"that case." -msgstr "" - -#: ../../c-api/structures.rst:570 -msgid "" -"This flag is only used in :c:type:`PyType_Slot`. When setting " -":c:member:`~PyTypeObject.tp_members` during class creation, Python clears it" -" and sets :c:member:`PyMemberDef.offset` to the offset from the ``PyObject``" -" struct." -msgstr "" - -#: ../../c-api/structures.rst:582 -msgid "" -"The :c:macro:`!RESTRICTED`, :c:macro:`!READ_RESTRICTED` and " -":c:macro:`!WRITE_RESTRICTED` macros available with ``#include " -"\"structmember.h\"`` are deprecated. :c:macro:`!READ_RESTRICTED` and " -":c:macro:`!RESTRICTED` are equivalent to :c:macro:`Py_AUDIT_READ`; " -":c:macro:`!WRITE_RESTRICTED` does nothing." -msgstr "" - -#: ../../c-api/structures.rst:593 -msgid "" -"The :c:macro:`!READONLY` macro was renamed to :c:macro:`Py_READONLY`. The " -":c:macro:`!PY_AUDIT_READ` macro was renamed with the ``Py_`` prefix. The new" -" names are now always available. Previously, these required ``#include " -"\"structmember.h\"``. The header is still available and it provides the old " -"names." -msgstr "" - -#: ../../c-api/structures.rst:602 -msgid "Member types" -msgstr "" - -#: ../../c-api/structures.rst:604 -msgid "" -":c:member:`PyMemberDef.type` can be one of the following macros " -"corresponding to various C types. When the member is accessed in Python, it " -"will be converted to the equivalent Python type. When it is set from Python," -" it will be converted back to the C type. If that is not possible, an " -"exception such as :exc:`TypeError` or :exc:`ValueError` is raised." -msgstr "" - -#: ../../c-api/structures.rst:612 -msgid "" -"Unless marked (D), attributes defined this way cannot be deleted using e.g. " -":keyword:`del` or :py:func:`delattr`." -msgstr "" - -#: ../../c-api/structures.rst:616 -msgid "Macro name" -msgstr "Nama macro" - -#: ../../c-api/structures.rst:616 -msgid "C type" -msgstr "tipe C" - -#: ../../c-api/structures.rst:616 -msgid "Python type" -msgstr "tipe Python" - -#: ../../c-api/structures.rst:618 -msgid ":c:expr:`char`" -msgstr "" - -#: ../../c-api/structures.rst:618 ../../c-api/structures.rst:619 -#: ../../c-api/structures.rst:620 ../../c-api/structures.rst:621 -#: ../../c-api/structures.rst:622 ../../c-api/structures.rst:623 -#: ../../c-api/structures.rst:624 ../../c-api/structures.rst:625 -#: ../../c-api/structures.rst:626 ../../c-api/structures.rst:627 -#: ../../c-api/structures.rst:628 -msgid ":py:class:`int`" -msgstr "" - -#: ../../c-api/structures.rst:619 -msgid ":c:expr:`short`" -msgstr "" - -#: ../../c-api/structures.rst:620 -msgid ":c:expr:`int`" -msgstr "" - -#: ../../c-api/structures.rst:621 -msgid ":c:expr:`long`" -msgstr "" - -#: ../../c-api/structures.rst:622 -msgid ":c:expr:`long long`" -msgstr "" - -#: ../../c-api/structures.rst:623 -msgid ":c:expr:`unsigned char`" -msgstr "" - -#: ../../c-api/structures.rst:624 -msgid ":c:expr:`unsigned int`" -msgstr "" - -#: ../../c-api/structures.rst:625 -msgid ":c:expr:`unsigned short`" -msgstr "" - -#: ../../c-api/structures.rst:626 -msgid ":c:expr:`unsigned long`" -msgstr "" - -#: ../../c-api/structures.rst:627 -msgid ":c:expr:`unsigned long long`" -msgstr "" - -#: ../../c-api/structures.rst:628 -msgid ":c:expr:`Py_ssize_t`" -msgstr "" - -#: ../../c-api/structures.rst:629 -msgid ":c:expr:`float`" -msgstr "" - -#: ../../c-api/structures.rst:629 ../../c-api/structures.rst:630 -msgid ":py:class:`float`" -msgstr "" - -#: ../../c-api/structures.rst:630 -msgid ":c:expr:`double`" -msgstr "" - -#: ../../c-api/structures.rst:631 -msgid ":c:expr:`char` (written as 0 or 1)" -msgstr "" - -#: ../../c-api/structures.rst:631 -msgid ":py:class:`bool`" -msgstr "" - -#: ../../c-api/structures.rst:633 -msgid ":c:expr:`const char *` (*)" -msgstr "" - -#: ../../c-api/structures.rst:633 ../../c-api/structures.rst:634 -msgid ":py:class:`str` (RO)" -msgstr "" - -#: ../../c-api/structures.rst:634 -msgid ":c:expr:`const char[]` (*)" -msgstr "" - -#: ../../c-api/structures.rst:635 -msgid ":c:expr:`char` (0-127)" -msgstr "" - -#: ../../c-api/structures.rst:635 -msgid ":py:class:`str` (**)" -msgstr "" - -#: ../../c-api/structures.rst:636 -msgid ":c:expr:`PyObject *`" -msgstr "" - -#: ../../c-api/structures.rst:636 -msgid ":py:class:`object` (D)" -msgstr "" - -#: ../../c-api/structures.rst:639 -msgid "" -"(*): Zero-terminated, UTF8-encoded C string. With :c:macro:`!Py_T_STRING` " -"the C representation is a pointer; with :c:macro:`!Py_T_STRING_INPLACE` the " -"string is stored directly in the structure." -msgstr "" - -#: ../../c-api/structures.rst:644 -msgid "(**): String of length 1. Only ASCII is accepted." -msgstr "" - -#: ../../c-api/structures.rst:646 -msgid "(RO): Implies :c:macro:`Py_READONLY`." -msgstr "" - -#: ../../c-api/structures.rst:648 -msgid "" -"(D): Can be deleted, in which case the pointer is set to ``NULL``. Reading a" -" ``NULL`` pointer raises :py:exc:`AttributeError`." -msgstr "" - -#: ../../c-api/structures.rst:674 -msgid "" -"In previous versions, the macros were only available with ``#include " -"\"structmember.h\"`` and were named without the ``Py_`` prefix (e.g. as " -"``T_INT``). The header is still available and contains the old names, along " -"with the following deprecated types:" -msgstr "" - -#: ../../c-api/structures.rst:682 -msgid "" -"Like ``Py_T_OBJECT_EX``, but ``NULL`` is converted to ``None``. This results" -" in surprising behavior in Python: deleting the attribute effectively sets " -"it to ``None``." -msgstr "" - -#: ../../c-api/structures.rst:688 -msgid "Always ``None``. Must be used with :c:macro:`Py_READONLY`." -msgstr "" - -#: ../../c-api/structures.rst:691 -msgid "Defining Getters and Setters" -msgstr "" - -#: ../../c-api/structures.rst:695 -msgid "" -"Structure to define property-like access for a type. See also description of" -" the :c:member:`PyTypeObject.tp_getset` slot." -msgstr "" - -#: ../../c-api/structures.rst:700 -msgid "attribute name" -msgstr "nama atribut" - -#: ../../c-api/structures.rst:704 -msgid "C function to get the attribute." -msgstr "" - -#: ../../c-api/structures.rst:708 -msgid "" -"Optional C function to set or delete the attribute. If ``NULL``, the " -"attribute is read-only." -msgstr "" - -#: ../../c-api/structures.rst:713 -msgid "optional docstring" -msgstr "*docstring* pilihan" - -#: ../../c-api/structures.rst:717 -msgid "" -"Optional user data pointer, providing additional data for getter and setter." -msgstr "" - -#: ../../c-api/structures.rst:721 -msgid "" -"The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) " -"and a user data pointer (the associated ``closure``):" -msgstr "" - -#: ../../c-api/structures.rst:724 -msgid "" -"It should return a new reference on success or ``NULL`` with a set exception" -" on failure." -msgstr "" - -#: ../../c-api/structures.rst:729 -msgid "" -"``set`` functions take two :c:expr:`PyObject*` parameters (the instance and " -"the value to be set) and a user data pointer (the associated ``closure``):" -msgstr "" - -#: ../../c-api/structures.rst:732 -msgid "" -"In case the attribute should be deleted the second parameter is ``NULL``. " -"Should return ``0`` on success or ``-1`` with a set exception on failure." -msgstr "" - -#: ../../c-api/structures.rst:375 ../../c-api/structures.rst:385 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../c-api/structures.rst:375 -msgid "classmethod" -msgstr "" - -#: ../../c-api/structures.rst:385 -msgid "staticmethod" -msgstr "" - -#: ../../c-api/structures.rst:575 -msgid "READ_RESTRICTED (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:575 -msgid "WRITE_RESTRICTED (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:575 -msgid "RESTRICTED (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:588 -msgid "READONLY (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_BYTE (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_SHORT (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_INT (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_LONG (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_LONGLONG (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_UBYTE (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_USHORT (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_UINT (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_ULONG (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_ULONGULONG (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_PYSSIZET (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_FLOAT (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_DOUBLE (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_BOOL (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_CHAR (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_STRING (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_STRING_INPLACE (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "T_OBJECT_EX (C macro)" -msgstr "" - -#: ../../c-api/structures.rst:651 -msgid "structmember.h" -msgstr "" diff --git a/python-newest.c-api--sys/id.po b/python-newest.c-api--sys/id.po deleted file mode 100644 index 5344e4f..0000000 --- a/python-newest.c-api--sys/id.po +++ /dev/null @@ -1,552 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/sys.rst:6 -msgid "Operating System Utilities" -msgstr "" - -#: ../../c-api/sys.rst:11 -msgid "" -"Return the file system representation for *path*. If the object is a " -":class:`str` or :class:`bytes` object, then a new :term:`strong reference` " -"is returned. If the object implements the :class:`os.PathLike` interface, " -"then :meth:`~os.PathLike.__fspath__` is returned as long as it is a " -":class:`str` or :class:`bytes` object. Otherwise :exc:`TypeError` is raised " -"and ``NULL`` is returned." -msgstr "" - -#: ../../c-api/sys.rst:24 -msgid "" -"Return true (nonzero) if the standard I/O file *fp* with name *filename* is " -"deemed interactive. This is the case for files for which " -"``isatty(fileno(fp))`` is true. If the :c:member:`PyConfig.interactive` is " -"non-zero, this function also returns true if the *filename* pointer is " -"``NULL`` or if the name is equal to one of the strings ``''`` or " -"``'???'``." -msgstr "" - -#: ../../c-api/sys.rst:30 -msgid "This function must not be called before Python is initialized." -msgstr "" - -#: ../../c-api/sys.rst:35 -msgid "" -"Function to prepare some internal state before a process fork. This should " -"be called before calling :c:func:`fork` or any similar function that clones " -"the current process. Only available on systems where :c:func:`fork` is " -"defined." -msgstr "" - -#: ../../c-api/sys.rst:41 -msgid "" -"The C :c:func:`fork` call should only be made from the :ref:`\"main\" thread" -" ` (of the :ref:`\"main\" interpreter `). The same is true for ``PyOS_BeforeFork()``." -msgstr "" - -#: ../../c-api/sys.rst:51 -msgid "" -"Function to update some internal state after a process fork. This should be" -" called from the parent process after calling :c:func:`fork` or any similar " -"function that clones the current process, regardless of whether process " -"cloning was successful. Only available on systems where :c:func:`fork` is " -"defined." -msgstr "" - -#: ../../c-api/sys.rst:58 -msgid "" -"The C :c:func:`fork` call should only be made from the :ref:`\"main\" thread" -" ` (of the :ref:`\"main\" interpreter `). The same is true for ``PyOS_AfterFork_Parent()``." -msgstr "" - -#: ../../c-api/sys.rst:68 -msgid "" -"Function to update internal interpreter state after a process fork. This " -"must be called from the child process after calling :c:func:`fork`, or any " -"similar function that clones the current process, if there is any chance the" -" process will call back into the Python interpreter. Only available on " -"systems where :c:func:`fork` is defined." -msgstr "" - -#: ../../c-api/sys.rst:75 -msgid "" -"The C :c:func:`fork` call should only be made from the :ref:`\"main\" thread" -" ` (of the :ref:`\"main\" interpreter `). The same is true for ``PyOS_AfterFork_Child()``." -msgstr "" - -#: ../../c-api/sys.rst:83 -msgid "" -":func:`os.register_at_fork` allows registering custom Python functions to be" -" called by :c:func:`PyOS_BeforeFork()`, :c:func:`PyOS_AfterFork_Parent` and" -" :c:func:`PyOS_AfterFork_Child`." -msgstr "" - -#: ../../c-api/sys.rst:90 -msgid "" -"Function to update some internal state after a process fork; this should be " -"called in the new process if the Python interpreter will continue to be " -"used. If a new executable is loaded into the new process, this function does" -" not need to be called." -msgstr "" - -#: ../../c-api/sys.rst:95 -msgid "This function is superseded by :c:func:`PyOS_AfterFork_Child()`." -msgstr "" - -#: ../../c-api/sys.rst:103 -msgid "" -"Return true when the interpreter runs out of stack space. This is a " -"reliable check, but is only available when :c:macro:`!USE_STACKCHECK` is " -"defined (currently on certain versions of Windows using the Microsoft Visual" -" C++ compiler). :c:macro:`!USE_STACKCHECK` will be defined automatically; " -"you should never change the definition in your own code." -msgstr "" - -#: ../../c-api/sys.rst:115 -msgid "" -"Return the current signal handler for signal *i*. This is a thin wrapper " -"around either :c:func:`!sigaction` or :c:func:`!signal`. Do not call those " -"functions directly!" -msgstr "" - -#: ../../c-api/sys.rst:122 -msgid "" -"Set the signal handler for signal *i* to be *h*; return the old signal " -"handler. This is a thin wrapper around either :c:func:`!sigaction` or " -":c:func:`!signal`. Do not call those functions directly!" -msgstr "" - -#: ../../c-api/sys.rst:129 -msgid "" -"This function should not be called directly: use the :c:type:`PyConfig` API " -"with the :c:func:`PyConfig_SetBytesString` function which ensures that " -":ref:`Python is preinitialized `." -msgstr "" - -#: ../../c-api/sys.rst:133 ../../c-api/sys.rst:200 -msgid "" -"This function must not be called before :ref:`Python is preinitialized " -"` and so that the LC_CTYPE locale is properly configured: see the" -" :c:func:`Py_PreInitialize` function." -msgstr "" - -#: ../../c-api/sys.rst:137 -msgid "" -"Decode a byte string from the :term:`filesystem encoding and error handler`." -" If the error handler is :ref:`surrogateescape error handler " -"`, undecodable bytes are decoded as characters in range " -"U+DC80..U+DCFF; and if a byte sequence can be decoded as a surrogate " -"character, the bytes are escaped using the surrogateescape error handler " -"instead of decoding them." -msgstr "" - -#: ../../c-api/sys.rst:144 -msgid "" -"Return a pointer to a newly allocated wide character string, use " -":c:func:`PyMem_RawFree` to free the memory. If size is not ``NULL``, write " -"the number of wide characters excluding the null character into ``*size``" -msgstr "" - -#: ../../c-api/sys.rst:148 -msgid "" -"Return ``NULL`` on decoding error or memory allocation error. If *size* is " -"not ``NULL``, ``*size`` is set to ``(size_t)-1`` on memory error or set to " -"``(size_t)-2`` on decoding error." -msgstr "" - -#: ../../c-api/sys.rst:152 ../../c-api/sys.rst:192 -msgid "" -"The :term:`filesystem encoding and error handler` are selected by " -":c:func:`PyConfig_Read`: see :c:member:`~PyConfig.filesystem_encoding` and " -":c:member:`~PyConfig.filesystem_errors` members of :c:type:`PyConfig`." -msgstr "" - -#: ../../c-api/sys.rst:156 -msgid "" -"Decoding errors should never happen, unless there is a bug in the C library." -msgstr "" - -#: ../../c-api/sys.rst:159 -msgid "" -"Use the :c:func:`Py_EncodeLocale` function to encode the character string " -"back to a byte string." -msgstr "" - -#: ../../c-api/sys.rst:164 -msgid "" -"The :c:func:`PyUnicode_DecodeFSDefaultAndSize` and " -":c:func:`PyUnicode_DecodeLocaleAndSize` functions." -msgstr "" - -#: ../../c-api/sys.rst:169 ../../c-api/sys.rst:211 -msgid "" -"The function now uses the UTF-8 encoding in the :ref:`Python UTF-8 Mode " -"`." -msgstr "" - -#: ../../c-api/sys.rst:173 -msgid "" -"The function now uses the UTF-8 encoding on Windows if " -":c:member:`PyPreConfig.legacy_windows_fs_encoding` is zero;" -msgstr "" - -#: ../../c-api/sys.rst:180 -msgid "" -"Encode a wide character string to the :term:`filesystem encoding and error " -"handler`. If the error handler is :ref:`surrogateescape error handler " -"`, surrogate characters in the range U+DC80..U+DCFF are " -"converted to bytes 0x80..0xFF." -msgstr "" - -#: ../../c-api/sys.rst:185 -msgid "" -"Return a pointer to a newly allocated byte string, use :c:func:`PyMem_Free` " -"to free the memory. Return ``NULL`` on encoding error or memory allocation " -"error." -msgstr "" - -#: ../../c-api/sys.rst:189 -msgid "" -"If error_pos is not ``NULL``, ``*error_pos`` is set to ``(size_t)-1`` on " -"success, or set to the index of the invalid character on encoding error." -msgstr "" - -#: ../../c-api/sys.rst:196 -msgid "" -"Use the :c:func:`Py_DecodeLocale` function to decode the bytes string back " -"to a wide character string." -msgstr "" - -#: ../../c-api/sys.rst:206 -msgid "" -"The :c:func:`PyUnicode_EncodeFSDefault` and :c:func:`PyUnicode_EncodeLocale`" -" functions." -msgstr "" - -#: ../../c-api/sys.rst:215 -msgid "" -"The function now uses the UTF-8 encoding on Windows if " -":c:member:`PyPreConfig.legacy_windows_fs_encoding` is zero." -msgstr "" - -#: ../../c-api/sys.rst:221 -msgid "" -"Similar to :c:func:`!fopen`, but *path* is a Python object and an exception " -"is set on error." -msgstr "" - -#: ../../c-api/sys.rst:224 -msgid "" -"*path* must be a :class:`str` object, a :class:`bytes` object, or a " -":term:`path-like object`." -msgstr "" - -#: ../../c-api/sys.rst:227 -msgid "" -"On success, return the new file pointer. On error, set an exception and " -"return ``NULL``." -msgstr "" - -#: ../../c-api/sys.rst:230 -msgid "" -"The file must be closed by :c:func:`Py_fclose` rather than calling directly " -":c:func:`!fclose`." -msgstr "" - -#: ../../c-api/sys.rst:233 -msgid "The file descriptor is created non-inheritable (:pep:`446`)." -msgstr "" - -#: ../../c-api/sys.rst:235 -msgid "The caller must have an :term:`attached thread state`." -msgstr "" - -#: ../../c-api/sys.rst:242 -msgid "Close a file that was opened by :c:func:`Py_fopen`." -msgstr "" - -#: ../../c-api/sys.rst:244 -msgid "" -"On success, return ``0``. On error, return ``EOF`` and ``errno`` is set to " -"indicate the error. In either case, any further access (including another " -"call to :c:func:`Py_fclose`) to the stream results in undefined behavior." -msgstr "" - -#: ../../c-api/sys.rst:255 -msgid "System Functions" -msgstr "" - -#: ../../c-api/sys.rst:257 -msgid "" -"These are utility functions that make functionality from the :mod:`sys` " -"module accessible to C code. They all work with the current interpreter " -"thread's :mod:`sys` module's dict, which is contained in the internal thread" -" state structure." -msgstr "" - -#: ../../c-api/sys.rst:263 -msgid "" -"Return the object *name* from the :mod:`sys` module or ``NULL`` if it does " -"not exist, without setting an exception." -msgstr "" - -#: ../../c-api/sys.rst:268 -msgid "" -"Set *name* in the :mod:`sys` module to *v* unless *v* is ``NULL``, in which " -"case *name* is deleted from the sys module. Returns ``0`` on success, ``-1``" -" on error." -msgstr "" - -#: ../../c-api/sys.rst:274 -msgid "" -"Reset :data:`sys.warnoptions` to an empty list. This function may be called " -"prior to :c:func:`Py_Initialize`." -msgstr "" - -#: ../../c-api/sys.rst:277 -msgid "Clear :data:`sys.warnoptions` and :data:`!warnings.filters` instead." -msgstr "" - -#: ../../c-api/sys.rst:282 -msgid "" -"Write the output string described by *format* to :data:`sys.stdout`. No " -"exceptions are raised, even if truncation occurs (see below)." -msgstr "" - -#: ../../c-api/sys.rst:285 -msgid "" -"*format* should limit the total size of the formatted output string to 1000 " -"bytes or less -- after 1000 bytes, the output string is truncated. In " -"particular, this means that no unrestricted \"%s\" formats should occur; " -"these should be limited using \"%.s\" where is a decimal number " -"calculated so that plus the maximum size of other formatted text does " -"not exceed 1000 bytes. Also watch out for \"%f\", which can print hundreds " -"of digits for very large numbers." -msgstr "" - -#: ../../c-api/sys.rst:293 -msgid "" -"If a problem occurs, or :data:`sys.stdout` is unset, the formatted message " -"is written to the real (C level) *stdout*." -msgstr "" - -#: ../../c-api/sys.rst:298 -msgid "" -"As :c:func:`PySys_WriteStdout`, but write to :data:`sys.stderr` or *stderr* " -"instead." -msgstr "" - -#: ../../c-api/sys.rst:303 -msgid "" -"Function similar to PySys_WriteStdout() but format the message using " -":c:func:`PyUnicode_FromFormatV` and don't truncate the message to an " -"arbitrary length." -msgstr "" - -#: ../../c-api/sys.rst:311 -msgid "" -"As :c:func:`PySys_FormatStdout`, but write to :data:`sys.stderr` or *stderr*" -" instead." -msgstr "" - -#: ../../c-api/sys.rst:318 -msgid "" -"Return the current dictionary of :option:`-X` options, similarly to " -":data:`sys._xoptions`. On error, ``NULL`` is returned and an exception is " -"set." -msgstr "" - -#: ../../c-api/sys.rst:327 -msgid "" -"Raise an auditing event with any active hooks. Return zero for success and " -"non-zero with an exception set on failure." -msgstr "" - -#: ../../c-api/sys.rst:330 -msgid "The *event* string argument must not be *NULL*." -msgstr "" - -#: ../../c-api/sys.rst:332 -msgid "" -"If any hooks have been added, *format* and other arguments will be used to " -"construct a tuple to pass. Apart from ``N``, the same format characters as " -"used in :c:func:`Py_BuildValue` are available. If the built value is not a " -"tuple, it will be added into a single-element tuple." -msgstr "" - -#: ../../c-api/sys.rst:337 -msgid "" -"The ``N`` format option must not be used. It consumes a reference, but since" -" there is no way to know whether arguments to this function will be " -"consumed, using it may cause reference leaks." -msgstr "" - -#: ../../c-api/sys.rst:341 -msgid "" -"Note that ``#`` format characters should always be treated as " -":c:type:`Py_ssize_t`, regardless of whether ``PY_SSIZE_T_CLEAN`` was " -"defined." -msgstr "" - -#: ../../c-api/sys.rst:344 -msgid ":func:`sys.audit` performs the same function from Python code." -msgstr "" - -#: ../../c-api/sys.rst:346 -msgid "See also :c:func:`PySys_AuditTuple`." -msgstr "" - -#: ../../c-api/sys.rst:352 -msgid "" -"Require :c:type:`Py_ssize_t` for ``#`` format characters. Previously, an " -"unavoidable deprecation warning was raised." -msgstr "" - -#: ../../c-api/sys.rst:358 -msgid "" -"Similar to :c:func:`PySys_Audit`, but pass arguments as a Python object. " -"*args* must be a :class:`tuple`. To pass no arguments, *args* can be *NULL*." -msgstr "" - -#: ../../c-api/sys.rst:366 -msgid "" -"Append the callable *hook* to the list of active auditing hooks. Return zero" -" on success and non-zero on failure. If the runtime has been initialized, " -"also set an error on failure. Hooks added through this API are called for " -"all interpreters created by the runtime." -msgstr "" - -#: ../../c-api/sys.rst:372 -msgid "" -"The *userData* pointer is passed into the hook function. Since hook " -"functions may be called from different runtimes, this pointer should not " -"refer directly to Python state." -msgstr "" - -#: ../../c-api/sys.rst:376 -msgid "" -"This function is safe to call before :c:func:`Py_Initialize`. When called " -"after runtime initialization, existing audit hooks are notified and may " -"silently abort the operation by raising an error subclassed from " -":class:`Exception` (other errors will not be silenced)." -msgstr "" - -#: ../../c-api/sys.rst:381 -msgid "" -"The hook function is always called with an :term:`attached thread state` by " -"the Python interpreter that raised the event." -msgstr "" - -#: ../../c-api/sys.rst:384 -msgid "" -"See :pep:`578` for a detailed description of auditing. Functions in the " -"runtime and standard library that raise events are listed in the :ref:`audit" -" events table `. Details are in each function's documentation." -msgstr "" - -#: ../../c-api/sys.rst:389 ../../c-api/sys.rst:391 -msgid "" -"If the interpreter is initialized, this function raises an auditing event " -"``sys.addaudithook`` with no arguments. If any existing hooks raise an " -"exception derived from :class:`Exception`, the new hook will not be added " -"and the exception is cleared. As a result, callers cannot assume that their " -"hook has been added unless they control all existing hooks." -msgstr "" - -#: ../../c-api/sys.rst:400 -msgid "" -"The type of the hook function. *event* is the C string event argument passed" -" to :c:func:`PySys_Audit` or :c:func:`PySys_AuditTuple`. *args* is " -"guaranteed to be a :c:type:`PyTupleObject`. *userData* is the argument " -"passed to PySys_AddAuditHook()." -msgstr "" - -#: ../../c-api/sys.rst:412 -msgid "Process Control" -msgstr "" - -#: ../../c-api/sys.rst:419 -msgid "" -"Print a fatal error message and kill the process. No cleanup is performed. " -"This function should only be invoked when a condition is detected that would" -" make it dangerous to continue using the Python interpreter; e.g., when the " -"object administration appears to be corrupted. On Unix, the standard C " -"library function :c:func:`!abort` is called which will attempt to produce a " -":file:`core` file." -msgstr "" - -#: ../../c-api/sys.rst:426 -msgid "" -"The ``Py_FatalError()`` function is replaced with a macro which logs " -"automatically the name of the current function, unless the " -"``Py_LIMITED_API`` macro is defined." -msgstr "" - -#: ../../c-api/sys.rst:430 -msgid "Log the function name automatically." -msgstr "" - -#: ../../c-api/sys.rst:440 -msgid "" -"Exit the current process. This calls :c:func:`Py_FinalizeEx` and then calls" -" the standard C library function ``exit(status)``. If " -":c:func:`Py_FinalizeEx` indicates an error, the exit status is set to 120." -msgstr "" - -#: ../../c-api/sys.rst:444 -msgid "Errors from finalization no longer ignored." -msgstr "" - -#: ../../c-api/sys.rst:454 -msgid "" -"Register a cleanup function to be called by :c:func:`Py_FinalizeEx`. The " -"cleanup function will be called with no arguments and should return no " -"value. At most 32 cleanup functions can be registered. When the " -"registration is successful, :c:func:`Py_AtExit` returns ``0``; on failure, " -"it returns ``-1``. The cleanup function registered last is called first. " -"Each cleanup function will be called at most once. Since Python's internal " -"finalization will have completed before the cleanup function, no Python APIs" -" should be called by *func*." -msgstr "" - -#: ../../c-api/sys.rst:464 -msgid ":c:func:`PyUnstable_AtExit` for passing a ``void *data`` argument." -msgstr "" - -#: ../../c-api/sys.rst:101 -msgid "USE_STACKCHECK (C macro)" -msgstr "" - -#: ../../c-api/sys.rst:417 -msgid "abort (C function)" -msgstr "" - -#: ../../c-api/sys.rst:436 ../../c-api/sys.rst:450 -msgid "Py_FinalizeEx (C function)" -msgstr "" - -#: ../../c-api/sys.rst:436 -msgid "exit (C function)" -msgstr "" - -#: ../../c-api/sys.rst:450 -msgid "cleanup functions" -msgstr "" diff --git a/python-newest.c-api--time/id.po b/python-newest.c-api--time/id.po deleted file mode 100644 index 77ec3cb..0000000 --- a/python-newest.c-api--time/id.po +++ /dev/null @@ -1,172 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi (OonID) , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-05-11 01:07+0000\n" -"Last-Translator: oon arfiandwi (OonID) , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/time.rst:6 -msgid "PyTime C API" -msgstr "" - -#: ../../c-api/time.rst:10 -msgid "" -"The clock C API provides access to system clocks. It is similar to the " -"Python :mod:`time` module." -msgstr "" - -#: ../../c-api/time.rst:13 -msgid "" -"For C API related to the :mod:`datetime` module, see :ref:`datetimeobjects`." -msgstr "" - -#: ../../c-api/time.rst:17 -msgid "Types" -msgstr "Tipe-tipe" - -#: ../../c-api/time.rst:21 -msgid "" -"A timestamp or duration in nanoseconds, represented as a signed 64-bit " -"integer." -msgstr "" - -#: ../../c-api/time.rst:24 -msgid "" -"The reference point for timestamps depends on the clock used. For example, " -":c:func:`PyTime_Time` returns timestamps relative to the UNIX epoch." -msgstr "" - -#: ../../c-api/time.rst:27 -msgid "" -"The supported range is around [-292.3 years; +292.3 years]. Using the Unix " -"epoch (January 1st, 1970) as reference, the supported date range is around " -"[1677-09-21; 2262-04-11]. The exact limits are exposed as constants:" -msgstr "" - -#: ../../c-api/time.rst:34 -msgid "Minimum value of :c:type:`PyTime_t`." -msgstr "" - -#: ../../c-api/time.rst:38 -msgid "Maximum value of :c:type:`PyTime_t`." -msgstr "" - -#: ../../c-api/time.rst:42 -msgid "Clock Functions" -msgstr "" - -#: ../../c-api/time.rst:44 -msgid "" -"The following functions take a pointer to a :c:expr:`PyTime_t` that they set" -" to the value of a particular clock. Details of each clock are given in the " -"documentation of the corresponding Python function." -msgstr "" - -#: ../../c-api/time.rst:49 -msgid "" -"The functions return ``0`` on success, or ``-1`` (with an exception set) on " -"failure." -msgstr "" - -#: ../../c-api/time.rst:52 -msgid "" -"On integer overflow, they set the :c:data:`PyExc_OverflowError` exception " -"and set ``*result`` to the value clamped to the ``[PyTime_MIN; PyTime_MAX]``" -" range. (On current systems, integer overflows are likely caused by " -"misconfigured system time.)" -msgstr "" - -#: ../../c-api/time.rst:58 -msgid "" -"As any other C API (unless otherwise specified), the functions must be " -"called with an :term:`attached thread state`." -msgstr "" - -#: ../../c-api/time.rst:63 -msgid "" -"Read the monotonic clock. See :func:`time.monotonic` for important details " -"on this clock." -msgstr "" - -#: ../../c-api/time.rst:68 -msgid "" -"Read the performance counter. See :func:`time.perf_counter` for important " -"details on this clock." -msgstr "" - -#: ../../c-api/time.rst:73 -msgid "" -"Read the “wall clock” time. See :func:`time.time` for details important on " -"this clock." -msgstr "" - -#: ../../c-api/time.rst:78 -msgid "Raw Clock Functions" -msgstr "" - -#: ../../c-api/time.rst:80 -msgid "" -"Similar to clock functions, but don't set an exception on error and don't " -"require the caller to have an :term:`attached thread state`." -msgstr "" - -#: ../../c-api/time.rst:83 -msgid "On success, the functions return ``0``." -msgstr "" - -#: ../../c-api/time.rst:85 -msgid "" -"On failure, they set ``*result`` to ``0`` and return ``-1``, *without* " -"setting an exception. To get the cause of the error, :term:`attach ` a :term:`thread state`, and call the regular (non-``Raw``) " -"function. Note that the regular function may succeed after the ``Raw`` one " -"failed." -msgstr "" - -#: ../../c-api/time.rst:92 -msgid "" -"Similar to :c:func:`PyTime_Monotonic`, but don't set an exception on error " -"and don't require an :term:`attached thread state`." -msgstr "" - -#: ../../c-api/time.rst:97 -msgid "" -"Similar to :c:func:`PyTime_PerfCounter`, but don't set an exception on error" -" and don't require an :term:`attached thread state`." -msgstr "" - -#: ../../c-api/time.rst:102 -msgid "" -"Similar to :c:func:`PyTime_Time`, but don't set an exception on error and " -"don't require an :term:`attached thread state`." -msgstr "" - -#: ../../c-api/time.rst:107 -msgid "Conversion functions" -msgstr "" - -#: ../../c-api/time.rst:111 -msgid "Convert a timestamp to a number of seconds as a C :c:expr:`double`." -msgstr "" - -#: ../../c-api/time.rst:113 -msgid "" -"The function cannot fail, but note that :c:expr:`double` has limited " -"accuracy for large values." -msgstr "" diff --git a/python-newest.c-api--tuple/id.po b/python-newest.c-api--tuple/id.po deleted file mode 100644 index 27e67ec..0000000 --- a/python-newest.c-api--tuple/id.po +++ /dev/null @@ -1,289 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/tuple.rst:6 -msgid "Tuple Objects" -msgstr "" - -#: ../../c-api/tuple.rst:13 -msgid "This subtype of :c:type:`PyObject` represents a Python tuple object." -msgstr "" - -#: ../../c-api/tuple.rst:18 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python tuple type; it" -" is the same object as :class:`tuple` in the Python layer." -msgstr "" - -#: ../../c-api/tuple.rst:24 -msgid "" -"Return true if *p* is a tuple object or an instance of a subtype of the " -"tuple type. This function always succeeds." -msgstr "" - -#: ../../c-api/tuple.rst:30 -msgid "" -"Return true if *p* is a tuple object, but not an instance of a subtype of " -"the tuple type. This function always succeeds." -msgstr "" - -#: ../../c-api/tuple.rst:36 -msgid "" -"Return a new tuple object of size *len*, or ``NULL`` with an exception set " -"on failure." -msgstr "" - -#: ../../c-api/tuple.rst:42 -msgid "" -"Return a new tuple object of size *n*, or ``NULL`` with an exception set on " -"failure. The tuple values are initialized to the subsequent *n* C arguments " -"pointing to Python objects. ``PyTuple_Pack(2, a, b)`` is equivalent to " -"``Py_BuildValue(\"(OO)\", a, b)``." -msgstr "" - -#: ../../c-api/tuple.rst:50 -msgid "" -"Take a pointer to a tuple object, and return the size of that tuple. On " -"error, return ``-1`` and with an exception set." -msgstr "" - -#: ../../c-api/tuple.rst:56 -msgid "Like :c:func:`PyTuple_Size`, but without error checking." -msgstr "" - -#: ../../c-api/tuple.rst:61 -msgid "" -"Return the object at position *pos* in the tuple pointed to by *p*. If " -"*pos* is negative or out of bounds, return ``NULL`` and set an " -":exc:`IndexError` exception." -msgstr "" - -#: ../../c-api/tuple.rst:64 -msgid "" -"The returned reference is borrowed from the tuple *p* (that is: it is only " -"valid as long as you hold a reference to *p*). To get a :term:`strong " -"reference`, use :c:func:`Py_NewRef(PyTuple_GetItem(...)) ` or " -":c:func:`PySequence_GetItem`." -msgstr "" - -#: ../../c-api/tuple.rst:73 -msgid "Like :c:func:`PyTuple_GetItem`, but does no checking of its arguments." -msgstr "" - -#: ../../c-api/tuple.rst:78 -msgid "" -"Return the slice of the tuple pointed to by *p* between *low* and *high*, or" -" ``NULL`` with an exception set on failure." -msgstr "" - -#: ../../c-api/tuple.rst:81 -msgid "" -"This is the equivalent of the Python expression ``p[low:high]``. Indexing " -"from the end of the tuple is not supported." -msgstr "" - -#: ../../c-api/tuple.rst:87 -msgid "" -"Insert a reference to object *o* at position *pos* of the tuple pointed to " -"by *p*. Return ``0`` on success. If *pos* is out of bounds, return ``-1`` " -"and set an :exc:`IndexError` exception." -msgstr "" - -#: ../../c-api/tuple.rst:93 -msgid "" -"This function \"steals\" a reference to *o* and discards a reference to an " -"item already in the tuple at the affected position." -msgstr "" - -#: ../../c-api/tuple.rst:99 -msgid "" -"Like :c:func:`PyTuple_SetItem`, but does no error checking, and should " -"*only* be used to fill in brand new tuples." -msgstr "" - -#: ../../c-api/tuple.rst:102 ../../c-api/tuple.rst:224 -#: ../../c-api/tuple.rst:242 -msgid "" -"Bounds checking is performed as an assertion if Python is built in " -":ref:`debug mode ` or :option:`with assertions <--with-" -"assertions>`." -msgstr "" - -#: ../../c-api/tuple.rst:107 -msgid "" -"This function \"steals\" a reference to *o*, and, unlike " -":c:func:`PyTuple_SetItem`, does *not* discard a reference to any item that " -"is being replaced; any reference in the tuple at position *pos* will be " -"leaked." -msgstr "" - -#: ../../c-api/tuple.rst:114 -msgid "" -"This macro should *only* be used on tuples that are newly created. Using " -"this macro on a tuple that is already in use (or in other words, has a " -"refcount > 1) could lead to undefined behavior." -msgstr "" - -#: ../../c-api/tuple.rst:121 -msgid "" -"Can be used to resize a tuple. *newsize* will be the new length of the " -"tuple. Because tuples are *supposed* to be immutable, this should only be " -"used if there is only one reference to the object. Do *not* use this if the" -" tuple may already be known to some other part of the code. The tuple will " -"always grow or shrink at the end. Think of this as destroying the old tuple" -" and creating a new one, only more efficiently. Returns ``0`` on success. " -"Client code should never assume that the resulting value of ``*p`` will be " -"the same as before calling this function. If the object referenced by ``*p``" -" is replaced, the original ``*p`` is destroyed. On failure, returns ``-1`` " -"and sets ``*p`` to ``NULL``, and raises :exc:`MemoryError` or " -":exc:`SystemError`." -msgstr "" - -#: ../../c-api/tuple.rst:136 -msgid "Struct Sequence Objects" -msgstr "" - -#: ../../c-api/tuple.rst:138 -msgid "" -"Struct sequence objects are the C equivalent of " -":func:`~collections.namedtuple` objects, i.e. a sequence whose items can " -"also be accessed through attributes. To create a struct sequence, you first " -"have to create a specific struct sequence type." -msgstr "" - -#: ../../c-api/tuple.rst:145 -msgid "" -"Create a new struct sequence type from the data in *desc*, described below. " -"Instances of the resulting type can be created with " -":c:func:`PyStructSequence_New`." -msgstr "" - -#: ../../c-api/tuple.rst:148 ../../c-api/tuple.rst:217 -msgid "Return ``NULL`` with an exception set on failure." -msgstr "" - -#: ../../c-api/tuple.rst:153 -msgid "Initializes a struct sequence type *type* from *desc* in place." -msgstr "" - -#: ../../c-api/tuple.rst:158 -msgid "" -"Like :c:func:`PyStructSequence_InitType`, but returns ``0`` on success and " -"``-1`` with an exception set on failure." -msgstr "" - -#: ../../c-api/tuple.rst:166 -msgid "Contains the meta information of a struct sequence type to create." -msgstr "" - -#: ../../c-api/tuple.rst:170 -msgid "" -"Fully qualified name of the type; null-terminated UTF-8 encoded. The name " -"must contain the module name." -msgstr "" - -#: ../../c-api/tuple.rst:175 -msgid "Pointer to docstring for the type or ``NULL`` to omit." -msgstr "" - -#: ../../c-api/tuple.rst:179 -msgid "Pointer to ``NULL``-terminated array with field names of the new type." -msgstr "" - -#: ../../c-api/tuple.rst:183 -msgid "Number of fields visible to the Python side (if used as tuple)." -msgstr "" - -#: ../../c-api/tuple.rst:188 -msgid "" -"Describes a field of a struct sequence. As a struct sequence is modeled as a" -" tuple, all fields are typed as :c:expr:`PyObject*`. The index in the " -":c:member:`~PyStructSequence_Desc.fields` array of the " -":c:type:`PyStructSequence_Desc` determines which field of the struct " -"sequence is described." -msgstr "" - -#: ../../c-api/tuple.rst:196 -msgid "" -"Name for the field or ``NULL`` to end the list of named fields, set to " -":c:data:`PyStructSequence_UnnamedField` to leave unnamed." -msgstr "" - -#: ../../c-api/tuple.rst:201 -msgid "Field docstring or ``NULL`` to omit." -msgstr "" - -#: ../../c-api/tuple.rst:206 -msgid "Special value for a field name to leave it unnamed." -msgstr "" - -#: ../../c-api/tuple.rst:208 -msgid "The type was changed from ``char *``." -msgstr "" - -#: ../../c-api/tuple.rst:214 -msgid "" -"Creates an instance of *type*, which must have been created with " -":c:func:`PyStructSequence_NewType`." -msgstr "" - -#: ../../c-api/tuple.rst:222 -msgid "" -"Return the object at position *pos* in the struct sequence pointed to by " -"*p*." -msgstr "" - -#: ../../c-api/tuple.rst:230 -msgid "Alias to :c:func:`PyStructSequence_GetItem`." -msgstr "" - -#: ../../c-api/tuple.rst:232 -msgid "Now implemented as an alias to :c:func:`PyStructSequence_GetItem`." -msgstr "" - -#: ../../c-api/tuple.rst:238 -msgid "" -"Sets the field at index *pos* of the struct sequence *p* to value *o*. Like" -" :c:func:`PyTuple_SET_ITEM`, this should only be used to fill in brand new " -"instances." -msgstr "" - -#: ../../c-api/tuple.rst:247 -msgid "This function \"steals\" a reference to *o*." -msgstr "" - -#: ../../c-api/tuple.rst:252 -msgid "Alias to :c:func:`PyStructSequence_SetItem`." -msgstr "" - -#: ../../c-api/tuple.rst:254 -msgid "Now implemented as an alias to :c:func:`PyStructSequence_SetItem`." -msgstr "" - -#: ../../c-api/tuple.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/tuple.rst:8 -msgid "tuple" -msgstr "" diff --git a/python-newest.c-api--type/id.po b/python-newest.c-api--type/id.po deleted file mode 100644 index eb3edd2..0000000 --- a/python-newest.c-api--type/id.po +++ /dev/null @@ -1,770 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/type.rst:6 -msgid "Type Objects" -msgstr "Objek Tipe" - -#: ../../c-api/type.rst:13 -msgid "The C structure of the objects used to describe built-in types." -msgstr "" - -#: ../../c-api/type.rst:18 -msgid "" -"This is the type object for type objects; it is the same object as " -":class:`type` in the Python layer." -msgstr "" - -#: ../../c-api/type.rst:24 -msgid "" -"Return non-zero if the object *o* is a type object, including instances of " -"types derived from the standard type object. Return 0 in all other cases. " -"This function always succeeds." -msgstr "" - -#: ../../c-api/type.rst:31 -msgid "" -"Return non-zero if the object *o* is a type object, but not a subtype of the" -" standard type object. Return 0 in all other cases. This function always " -"succeeds." -msgstr "" - -#: ../../c-api/type.rst:38 -msgid "Clear the internal lookup cache. Return the current version tag." -msgstr "" - -#: ../../c-api/type.rst:42 -msgid "" -"Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This " -"function is primarily meant for use with ``Py_LIMITED_API``; the individual " -"flag bits are guaranteed to be stable across Python releases, but access to " -":c:member:`~PyTypeObject.tp_flags` itself is not part of the :ref:`limited " -"API `." -msgstr "" - -#: ../../c-api/type.rst:49 -msgid "The return type is now ``unsigned long`` rather than ``long``." -msgstr "" - -#: ../../c-api/type.rst:55 -msgid "" -"Return the type object's internal namespace, which is otherwise only exposed" -" via a read-only proxy (:attr:`cls.__dict__ `). This is a " -"replacement for accessing :c:member:`~PyTypeObject.tp_dict` directly. The " -"returned dictionary must be treated as read-only." -msgstr "" - -#: ../../c-api/type.rst:61 -msgid "" -"This function is meant for specific embedding and language-binding cases, " -"where direct access to the dict is necessary and indirect access (e.g. via " -"the proxy or :c:func:`PyObject_GetAttr`) isn't adequate." -msgstr "" - -#: ../../c-api/type.rst:65 -msgid "" -"Extension modules should continue to use ``tp_dict``, directly or " -"indirectly, when setting up their own types." -msgstr "" - -#: ../../c-api/type.rst:73 -msgid "" -"Invalidate the internal lookup cache for the type and all of its subtypes. " -"This function must be called after any manual modification of the attributes" -" or base classes of the type." -msgstr "" - -#: ../../c-api/type.rst:80 -msgid "" -"Register *callback* as a type watcher. Return a non-negative integer ID " -"which must be passed to future calls to :c:func:`PyType_Watch`. In case of " -"error (e.g. no more watcher IDs available), return ``-1`` and set an " -"exception." -msgstr "" - -#: ../../c-api/type.rst:85 -msgid "" -"In free-threaded builds, :c:func:`PyType_AddWatcher` is not thread-safe, so " -"it must be called at start up (before spawning the first thread)." -msgstr "" - -#: ../../c-api/type.rst:93 -msgid "" -"Clear watcher identified by *watcher_id* (previously returned from " -":c:func:`PyType_AddWatcher`). Return ``0`` on success, ``-1`` on error (e.g." -" if *watcher_id* was never registered.)" -msgstr "" - -#: ../../c-api/type.rst:97 -msgid "" -"An extension should never call ``PyType_ClearWatcher`` with a *watcher_id* " -"that was not returned to it by a previous call to " -":c:func:`PyType_AddWatcher`." -msgstr "" - -#: ../../c-api/type.rst:106 -msgid "" -"Mark *type* as watched. The callback granted *watcher_id* by " -":c:func:`PyType_AddWatcher` will be called whenever " -":c:func:`PyType_Modified` reports a change to *type*. (The callback may be " -"called only once for a series of consecutive modifications to *type*, if " -":c:func:`!_PyType_Lookup` is not called on *type* between the modifications;" -" this is an implementation detail and subject to change.)" -msgstr "" - -#: ../../c-api/type.rst:113 -msgid "" -"An extension should never call ``PyType_Watch`` with a *watcher_id* that was" -" not returned to it by a previous call to :c:func:`PyType_AddWatcher`." -msgstr "" - -#: ../../c-api/type.rst:121 -msgid "Type of a type-watcher callback function." -msgstr "" - -#: ../../c-api/type.rst:123 -msgid "" -"The callback must not modify *type* or cause :c:func:`PyType_Modified` to be" -" called on *type* or any type in its MRO; violating this rule could cause " -"infinite recursion." -msgstr "" - -#: ../../c-api/type.rst:132 -msgid "" -"Return non-zero if the type object *o* sets the feature *feature*. Type " -"features are denoted by single bit flags." -msgstr "" - -#: ../../c-api/type.rst:138 -msgid "" -"Return true if the type object includes support for the cycle detector; this" -" tests the type flag :c:macro:`Py_TPFLAGS_HAVE_GC`." -msgstr "" - -#: ../../c-api/type.rst:144 -msgid "Return true if *a* is a subtype of *b*." -msgstr "" - -#: ../../c-api/type.rst:146 -msgid "" -"This function only checks for actual subtypes, which means that " -":meth:`~type.__subclasscheck__` is not called on *b*. Call " -":c:func:`PyObject_IsSubclass` to do the same check that :func:`issubclass` " -"would do." -msgstr "" - -#: ../../c-api/type.rst:154 -msgid "" -"Generic handler for the :c:member:`~PyTypeObject.tp_alloc` slot of a type " -"object. Use Python's default memory allocation mechanism to allocate a new " -"instance and initialize all its contents to ``NULL``." -msgstr "" - -#: ../../c-api/type.rst:160 -msgid "" -"Generic handler for the :c:member:`~PyTypeObject.tp_new` slot of a type " -"object. Create a new instance using the type's " -":c:member:`~PyTypeObject.tp_alloc` slot." -msgstr "" - -#: ../../c-api/type.rst:165 -msgid "" -"Finalize a type object. This should be called on all type objects to finish" -" their initialization. This function is responsible for adding inherited " -"slots from a type's base class. Return ``0`` on success, or return ``-1`` " -"and sets an exception on error." -msgstr "" - -#: ../../c-api/type.rst:171 -msgid "" -"If some of the base classes implements the GC protocol and the provided type" -" does not include the :c:macro:`Py_TPFLAGS_HAVE_GC` in its flags, then the " -"GC protocol will be automatically implemented from its parents. On the " -"contrary, if the type being created does include " -":c:macro:`Py_TPFLAGS_HAVE_GC` in its flags then it **must** implement the GC" -" protocol itself by at least implementing the " -":c:member:`~PyTypeObject.tp_traverse` handle." -msgstr "" - -#: ../../c-api/type.rst:181 -msgid "" -"Return the type's name. Equivalent to getting the type's " -":attr:`~type.__name__` attribute." -msgstr "" - -#: ../../c-api/type.rst:188 -msgid "" -"Return the type's qualified name. Equivalent to getting the type's " -":attr:`~type.__qualname__` attribute." -msgstr "" - -#: ../../c-api/type.rst:195 -msgid "" -"Return the type's fully qualified name. Equivalent to " -"``f\"{type.__module__}.{type.__qualname__}\"``, or :attr:`type.__qualname__`" -" if :attr:`type.__module__` is not a string or is equal to ``\"builtins\"``." -msgstr "" - -#: ../../c-api/type.rst:203 -msgid "" -"Return the type's module name. Equivalent to getting the " -":attr:`type.__module__` attribute." -msgstr "" - -#: ../../c-api/type.rst:210 -msgid "" -"Return the function pointer stored in the given slot. If the result is " -"``NULL``, this indicates that either the slot is ``NULL``, or that the " -"function was called with invalid parameters. Callers will typically cast the" -" result pointer into the appropriate function type." -msgstr "" - -#: ../../c-api/type.rst:216 -msgid "" -"See :c:member:`PyType_Slot.slot` for possible values of the *slot* argument." -msgstr "" - -#: ../../c-api/type.rst:220 -msgid "" -":c:func:`PyType_GetSlot` can now accept all types. Previously, it was " -"limited to :ref:`heap types `." -msgstr "" - -#: ../../c-api/type.rst:226 -msgid "" -"Return the module object associated with the given type when the type was " -"created using :c:func:`PyType_FromModuleAndSpec`." -msgstr "" - -#: ../../c-api/type.rst:229 ../../c-api/type.rst:249 -msgid "" -"If no module is associated with the given type, sets :py:class:`TypeError` " -"and returns ``NULL``." -msgstr "" - -#: ../../c-api/type.rst:232 -msgid "" -"This function is usually used to get the module in which a method is " -"defined. Note that in such a method, ``PyType_GetModule(Py_TYPE(self))`` may" -" not return the intended result. ``Py_TYPE(self)`` may be a *subclass* of " -"the intended class, and subclasses are not necessarily defined in the same " -"module as their superclass. See :c:type:`PyCMethod` to get the class that " -"defines the method. See :c:func:`PyType_GetModuleByDef` for cases when " -":c:type:`!PyCMethod` cannot be used." -msgstr "" - -#: ../../c-api/type.rst:245 -msgid "" -"Return the state of the module object associated with the given type. This " -"is a shortcut for calling :c:func:`PyModule_GetState()` on the result of " -":c:func:`PyType_GetModule`." -msgstr "" - -#: ../../c-api/type.rst:252 -msgid "" -"If the *type* has an associated module but its state is ``NULL``, returns " -"``NULL`` without setting an exception." -msgstr "" - -#: ../../c-api/type.rst:259 -msgid "" -"Find the first superclass whose module was created from the given " -":c:type:`PyModuleDef` *def*, and return that module." -msgstr "" - -#: ../../c-api/type.rst:262 -msgid "" -"If no module is found, raises a :py:class:`TypeError` and returns ``NULL``." -msgstr "" - -#: ../../c-api/type.rst:264 -msgid "" -"This function is intended to be used together with " -":c:func:`PyModule_GetState()` to get module state from slot methods (such as" -" :c:member:`~PyTypeObject.tp_init` or :c:member:`~PyNumberMethods.nb_add`) " -"and other places where a method's defining class cannot be passed using the " -":c:type:`PyCMethod` calling convention." -msgstr "" - -#: ../../c-api/type.rst:274 -msgid "" -"Find the first superclass in *type*'s :term:`method resolution order` whose " -":c:macro:`Py_tp_token` token is equal to the given one." -msgstr "" - -#: ../../c-api/type.rst:277 -msgid "" -"If found, set *\\*result* to a new :term:`strong reference` to it and return" -" ``1``." -msgstr "" - -#: ../../c-api/type.rst:279 -msgid "If not found, set *\\*result* to ``NULL`` and return ``0``." -msgstr "" - -#: ../../c-api/type.rst:280 -msgid "" -"On error, set *\\*result* to ``NULL`` and return ``-1`` with an exception " -"set." -msgstr "" - -#: ../../c-api/type.rst:283 -msgid "" -"The *result* argument may be ``NULL``, in which case *\\*result* is not set." -" Use this if you need only the return value." -msgstr "" - -#: ../../c-api/type.rst:286 -msgid "The *token* argument may not be ``NULL``." -msgstr "" - -#: ../../c-api/type.rst:292 -msgid "Attempt to assign a version tag to the given type." -msgstr "" - -#: ../../c-api/type.rst:294 -msgid "" -"Returns 1 if the type already had a valid version tag or a new one was " -"assigned, or 0 if a new tag could not be assigned." -msgstr "" - -#: ../../c-api/type.rst:301 -msgid "Creating Heap-Allocated Types" -msgstr "" - -#: ../../c-api/type.rst:303 -msgid "" -"The following functions and structs are used to create :ref:`heap types " -"`." -msgstr "" - -#: ../../c-api/type.rst:308 -msgid "" -"Create and return a :ref:`heap type ` from the *spec* (see " -":c:macro:`Py_TPFLAGS_HEAPTYPE`)." -msgstr "" - -#: ../../c-api/type.rst:311 -msgid "" -"The metaclass *metaclass* is used to construct the resulting type object. " -"When *metaclass* is ``NULL``, the metaclass is derived from *bases* (or " -"*Py_tp_base[s]* slots if *bases* is ``NULL``, see below)." -msgstr "" - -#: ../../c-api/type.rst:315 -msgid "" -"Metaclasses that override :c:member:`~PyTypeObject.tp_new` are not " -"supported, except if ``tp_new`` is ``NULL``." -msgstr "" - -#: ../../c-api/type.rst:318 -msgid "" -"The *bases* argument can be used to specify base classes; it can either be " -"only one class or a tuple of classes. If *bases* is ``NULL``, the " -"*Py_tp_bases* slot is used instead. If that also is ``NULL``, the " -"*Py_tp_base* slot is used instead. If that also is ``NULL``, the new type " -"derives from :class:`object`." -msgstr "" - -#: ../../c-api/type.rst:324 -msgid "" -"The *module* argument can be used to record the module in which the new " -"class is defined. It must be a module object or ``NULL``. If not ``NULL``, " -"the module is associated with the new type and can later be retrieved with " -":c:func:`PyType_GetModule`. The associated module is not inherited by " -"subclasses; it must be specified for each class individually." -msgstr "" - -#: ../../c-api/type.rst:331 -msgid "This function calls :c:func:`PyType_Ready` on the new type." -msgstr "" - -#: ../../c-api/type.rst:333 -msgid "" -"Note that this function does *not* fully match the behavior of calling " -":py:class:`type() ` or using the :keyword:`class` statement. With " -"user-provided base types or metaclasses, prefer :ref:`calling ` " -":py:class:`type` (or the metaclass) over ``PyType_From*`` functions. " -"Specifically:" -msgstr "" - -#: ../../c-api/type.rst:340 -msgid "" -":py:meth:`~object.__new__` is not called on the new class (and it must be " -"set to ``type.__new__``)." -msgstr "" - -#: ../../c-api/type.rst:342 -msgid ":py:meth:`~object.__init__` is not called on the new class." -msgstr "" - -#: ../../c-api/type.rst:343 -msgid ":py:meth:`~object.__init_subclass__` is not called on any bases." -msgstr "" - -#: ../../c-api/type.rst:344 -msgid ":py:meth:`~object.__set_name__` is not called on new descriptors." -msgstr "" - -#: ../../c-api/type.rst:350 -msgid "Equivalent to ``PyType_FromMetaclass(NULL, module, spec, bases)``." -msgstr "" - -#: ../../c-api/type.rst:356 -msgid "" -"The function now accepts a single class as the *bases* argument and ``NULL``" -" as the ``tp_doc`` slot." -msgstr "" - -#: ../../c-api/type.rst:361 ../../c-api/type.rst:382 -msgid "" -"The function now finds and uses a metaclass corresponding to the provided " -"base classes. Previously, only :class:`type` instances were returned." -msgstr "" - -#: ../../c-api/type.rst:364 ../../c-api/type.rst:385 ../../c-api/type.rst:405 -msgid "" -"The :c:member:`~PyTypeObject.tp_new` of the metaclass is *ignored*. which " -"may result in incomplete initialization. Creating classes whose metaclass " -"overrides :c:member:`~PyTypeObject.tp_new` is deprecated." -msgstr "" - -#: ../../c-api/type.rst:371 ../../c-api/type.rst:392 ../../c-api/type.rst:412 -msgid "" -"Creating classes whose metaclass overrides :c:member:`~PyTypeObject.tp_new` " -"is no longer allowed." -msgstr "" - -#: ../../c-api/type.rst:376 -msgid "Equivalent to ``PyType_FromMetaclass(NULL, NULL, spec, bases)``." -msgstr "" - -#: ../../c-api/type.rst:397 -msgid "Equivalent to ``PyType_FromMetaclass(NULL, NULL, spec, NULL)``." -msgstr "" - -#: ../../c-api/type.rst:401 -msgid "" -"The function now finds and uses a metaclass corresponding to the base " -"classes provided in *Py_tp_base[s]* slots. Previously, only :class:`type` " -"instances were returned." -msgstr "" - -#: ../../c-api/type.rst:417 -msgid "" -"Make a type immutable: set the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` flag." -msgstr "" - -#: ../../c-api/type.rst:419 -msgid "All base classes of *type* must be immutable." -msgstr "" - -#: ../../c-api/type.rst:421 -msgid "" -"On success, return ``0``. On error, set an exception and return ``-1``." -msgstr "" - -#: ../../c-api/type.rst:424 -msgid "" -"The type must not be used before it's made immutable. For example, type " -"instances must not be created before the type is made immutable." -msgstr "" - -#: ../../c-api/type.rst:440 -msgid "Structure defining a type's behavior." -msgstr "" - -#: ../../c-api/type.rst:444 -msgid "Name of the type, used to set :c:member:`PyTypeObject.tp_name`." -msgstr "" - -#: ../../c-api/type.rst:448 -msgid "" -"If positive, specifies the size of the instance in bytes. It is used to set " -":c:member:`PyTypeObject.tp_basicsize`." -msgstr "" - -#: ../../c-api/type.rst:451 -msgid "" -"If zero, specifies that :c:member:`~PyTypeObject.tp_basicsize` should be " -"inherited." -msgstr "" - -#: ../../c-api/type.rst:454 -msgid "" -"If negative, the absolute value specifies how much space instances of the " -"class need *in addition* to the superclass. Use " -":c:func:`PyObject_GetTypeData` to get a pointer to subclass-specific memory " -"reserved this way. For negative :c:member:`!basicsize`, Python will insert " -"padding when needed to meet :c:member:`~PyTypeObject.tp_basicsize`'s " -"alignment requirements." -msgstr "" - -#: ../../c-api/type.rst:464 -msgid "Previously, this field could not be negative." -msgstr "" - -#: ../../c-api/type.rst:468 -msgid "" -"Size of one element of a variable-size type, in bytes. Used to set " -":c:member:`PyTypeObject.tp_itemsize`. See ``tp_itemsize`` documentation for " -"caveats." -msgstr "" - -#: ../../c-api/type.rst:472 -msgid "" -"If zero, :c:member:`~PyTypeObject.tp_itemsize` is inherited. Extending " -"arbitrary variable-sized classes is dangerous, since some types use a fixed " -"offset for variable-sized memory, which can then overlap fixed-sized memory " -"used by a subclass. To help prevent mistakes, inheriting ``itemsize`` is " -"only possible in the following situations:" -msgstr "" - -#: ../../c-api/type.rst:479 -msgid "" -"The base is not variable-sized (its :c:member:`~PyTypeObject.tp_itemsize`)." -msgstr "" - -#: ../../c-api/type.rst:481 -msgid "" -"The requested :c:member:`PyType_Spec.basicsize` is positive, suggesting that" -" the memory layout of the base class is known." -msgstr "" - -#: ../../c-api/type.rst:483 -msgid "" -"The requested :c:member:`PyType_Spec.basicsize` is zero, suggesting that the" -" subclass does not access the instance's memory directly." -msgstr "" - -#: ../../c-api/type.rst:486 -msgid "With the :c:macro:`Py_TPFLAGS_ITEMS_AT_END` flag." -msgstr "" - -#: ../../c-api/type.rst:490 -msgid "Type flags, used to set :c:member:`PyTypeObject.tp_flags`." -msgstr "" - -#: ../../c-api/type.rst:492 -msgid "" -"If the ``Py_TPFLAGS_HEAPTYPE`` flag is not set, " -":c:func:`PyType_FromSpecWithBases` sets it automatically." -msgstr "" - -#: ../../c-api/type.rst:497 -msgid "" -"Array of :c:type:`PyType_Slot` structures. Terminated by the special slot " -"value ``{0, NULL}``." -msgstr "" - -#: ../../c-api/type.rst:500 -msgid "Each slot ID should be specified at most once." -msgstr "" - -#: ../../c-api/type.rst:510 -msgid "" -"Structure defining optional functionality of a type, containing a slot ID " -"and a value pointer." -msgstr "" - -#: ../../c-api/type.rst:515 -msgid "A slot ID." -msgstr "" - -#: ../../c-api/type.rst:517 -msgid "" -"Slot IDs are named like the field names of the structures " -":c:type:`PyTypeObject`, :c:type:`PyNumberMethods`, " -":c:type:`PySequenceMethods`, :c:type:`PyMappingMethods` and " -":c:type:`PyAsyncMethods` with an added ``Py_`` prefix. For example, use:" -msgstr "" - -#: ../../c-api/type.rst:523 -msgid "``Py_tp_dealloc`` to set :c:member:`PyTypeObject.tp_dealloc`" -msgstr "" - -#: ../../c-api/type.rst:524 -msgid "``Py_nb_add`` to set :c:member:`PyNumberMethods.nb_add`" -msgstr "" - -#: ../../c-api/type.rst:525 -msgid "``Py_sq_length`` to set :c:member:`PySequenceMethods.sq_length`" -msgstr "" - -#: ../../c-api/type.rst:527 -msgid "" -"An additional slot is supported that does not correspond to a " -":c:type:`!PyTypeObject` struct field:" -msgstr "" - -#: ../../c-api/type.rst:530 -msgid ":c:data:`Py_tp_token`" -msgstr "" - -#: ../../c-api/type.rst:532 -msgid "" -"The following “offset” fields cannot be set using :c:type:`PyType_Slot`:" -msgstr "" - -#: ../../c-api/type.rst:534 -msgid "" -":c:member:`~PyTypeObject.tp_weaklistoffset` (use " -":c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` instead if possible)" -msgstr "" - -#: ../../c-api/type.rst:536 -msgid "" -":c:member:`~PyTypeObject.tp_dictoffset` (use " -":c:macro:`Py_TPFLAGS_MANAGED_DICT` instead if possible)" -msgstr "" - -#: ../../c-api/type.rst:538 -msgid "" -":c:member:`~PyTypeObject.tp_vectorcall_offset` (use " -"``\"__vectorcalloffset__\"`` in :ref:`PyMemberDef `)" -msgstr "" - -#: ../../c-api/type.rst:542 -msgid "" -"If it is not possible to switch to a ``MANAGED`` flag (for example, for " -"vectorcall or to support Python older than 3.12), specify the offset in " -":c:member:`Py_tp_members `. See :ref:`PyMemberDef " -"documentation ` for details." -msgstr "" - -#: ../../c-api/type.rst:548 -msgid "" -"The following internal fields cannot be set at all when creating a heap " -"type:" -msgstr "" - -#: ../../c-api/type.rst:551 -msgid "" -":c:member:`~PyTypeObject.tp_dict`, :c:member:`~PyTypeObject.tp_mro`, " -":c:member:`~PyTypeObject.tp_cache`, :c:member:`~PyTypeObject.tp_subclasses`," -" and :c:member:`~PyTypeObject.tp_weaklist`." -msgstr "" - -#: ../../c-api/type.rst:557 -msgid "" -"Setting :c:data:`Py_tp_bases` or :c:data:`Py_tp_base` may be problematic on " -"some platforms. To avoid issues, use the *bases* argument of " -":c:func:`PyType_FromSpecWithBases` instead." -msgstr "" - -#: ../../c-api/type.rst:562 -msgid "Slots in :c:type:`PyBufferProcs` may be set in the unlimited API." -msgstr "" - -#: ../../c-api/type.rst:565 -msgid "" -":c:member:`~PyBufferProcs.bf_getbuffer` and " -":c:member:`~PyBufferProcs.bf_releasebuffer` are now available under the " -":ref:`limited API `." -msgstr "" - -#: ../../c-api/type.rst:570 -msgid "" -"The field :c:member:`~PyTypeObject.tp_vectorcall` can now set using " -"``Py_tp_vectorcall``. See the field's documentation for details." -msgstr "" - -#: ../../c-api/type.rst:577 -msgid "" -"The desired value of the slot. In most cases, this is a pointer to a " -"function." -msgstr "" - -#: ../../c-api/type.rst:580 -msgid "*pfunc* values may not be ``NULL``, except for the following slots:" -msgstr "" - -#: ../../c-api/type.rst:582 -msgid "``Py_tp_doc``" -msgstr "" - -#: ../../c-api/type.rst:583 -msgid "" -":c:data:`Py_tp_token` (for clarity, prefer :c:data:`Py_TP_USE_SPEC` rather " -"than ``NULL``)" -msgstr "" - -#: ../../c-api/type.rst:588 -msgid "" -"A :c:member:`~PyType_Slot.slot` that records a static memory layout ID for a" -" class." -msgstr "" - -#: ../../c-api/type.rst:591 -msgid "" -"If the :c:type:`PyType_Spec` of the class is statically allocated, the token" -" can be set to the spec using the special value :c:data:`Py_TP_USE_SPEC`:" -msgstr "" - -#: ../../c-api/type.rst:595 -msgid "" -"static PyType_Slot foo_slots[] = {\n" -" {Py_tp_token, Py_TP_USE_SPEC}," -msgstr "" - -#: ../../c-api/type.rst:600 -msgid "It can also be set to an arbitrary pointer, but you must ensure that:" -msgstr "" - -#: ../../c-api/type.rst:602 -msgid "" -"The pointer outlives the class, so it's not reused for something else while " -"the class exists." -msgstr "" - -#: ../../c-api/type.rst:604 -msgid "" -"It \"belongs\" to the extension module where the class lives, so it will not" -" clash with other extensions." -msgstr "" - -#: ../../c-api/type.rst:607 -msgid "" -"Use :c:func:`PyType_GetBaseByToken` to check if a class's superclass has a " -"given token -- that is, check whether the memory layout is compatible." -msgstr "" - -#: ../../c-api/type.rst:610 -msgid "" -"To get the token for a given class (without considering superclasses), use " -":c:func:`PyType_GetSlot` with ``Py_tp_token``." -msgstr "" - -#: ../../c-api/type.rst:619 -msgid "" -"Used as a value with :c:data:`Py_tp_token` to set the token to the class's " -":c:type:`PyType_Spec`. Expands to ``NULL``." -msgstr "" - -#: ../../c-api/type.rst:8 -msgid "object" -msgstr "objek" - -#: ../../c-api/type.rst:8 -msgid "type" -msgstr "tipe" diff --git a/python-newest.c-api--typehints/id.po b/python-newest.c-api--typehints/id.po deleted file mode 100644 index a6cbb0e..0000000 --- a/python-newest.c-api--typehints/id.po +++ /dev/null @@ -1,69 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/typehints.rst:6 -msgid "Objects for Type Hinting" -msgstr "" - -#: ../../c-api/typehints.rst:8 -msgid "" -"Various built-in types for type hinting are provided. Currently, two types " -"exist -- :ref:`GenericAlias ` and :ref:`Union `. Only ``GenericAlias`` is exposed to C." -msgstr "" - -#: ../../c-api/typehints.rst:14 -msgid "" -"Create a :ref:`GenericAlias ` object. Equivalent to " -"calling the Python class :class:`types.GenericAlias`. The *origin* and " -"*args* arguments set the ``GenericAlias``\\ 's ``__origin__`` and " -"``__args__`` attributes respectively. *origin* should be a " -":c:expr:`PyTypeObject*`, and *args* can be a :c:expr:`PyTupleObject*` or any" -" ``PyObject*``. If *args* passed is not a tuple, a 1-tuple is automatically" -" constructed and ``__args__`` is set to ``(args,)``. Minimal checking is " -"done for the arguments, so the function will succeed even if *origin* is not" -" a type. The ``GenericAlias``\\ 's ``__parameters__`` attribute is " -"constructed lazily from ``__args__``. On failure, an exception is raised " -"and ``NULL`` is returned." -msgstr "" - -#: ../../c-api/typehints.rst:28 -msgid "Here's an example of how to make an extension type generic::" -msgstr "" - -#: ../../c-api/typehints.rst:30 -msgid "" -"...\n" -"static PyMethodDef my_obj_methods[] = {\n" -" // Other methods.\n" -" ...\n" -" {\"__class_getitem__\", Py_GenericAlias, METH_O|METH_CLASS, \"See PEP 585\"}\n" -" ...\n" -"}" -msgstr "" - -#: ../../c-api/typehints.rst:38 -msgid "The data model method :meth:`~object.__class_getitem__`." -msgstr "" - -#: ../../c-api/typehints.rst:44 -msgid "" -"The C type of the object returned by :c:func:`Py_GenericAlias`. Equivalent " -"to :class:`types.GenericAlias` in Python." -msgstr "" diff --git a/python-newest.c-api--typeobj/id.po b/python-newest.c-api--typeobj/id.po deleted file mode 100644 index 1007e7d..0000000 --- a/python-newest.c-api--typeobj/id.po +++ /dev/null @@ -1,4218 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/typeobj.rst:6 -msgid "Type Object Structures" -msgstr "" - -#: ../../c-api/typeobj.rst:8 -msgid "" -"Perhaps one of the most important structures of the Python object system is " -"the structure that defines a new type: the :c:type:`PyTypeObject` structure." -" Type objects can be handled using any of the ``PyObject_*`` or " -"``PyType_*`` functions, but do not offer much that's interesting to most " -"Python applications. These objects are fundamental to how objects behave, so" -" they are very important to the interpreter itself and to any extension " -"module that implements new types." -msgstr "" - -#: ../../c-api/typeobj.rst:16 -msgid "" -"Type objects are fairly large compared to most of the standard types. The " -"reason for the size is that each type object stores a large number of " -"values, mostly C function pointers, each of which implements a small part of" -" the type's functionality. The fields of the type object are examined in " -"detail in this section. The fields will be described in the order in which " -"they occur in the structure." -msgstr "" - -#: ../../c-api/typeobj.rst:23 -msgid "" -"In addition to the following quick reference, the :ref:`typedef-examples` " -"section provides at-a-glance insight into the meaning and use of " -":c:type:`PyTypeObject`." -msgstr "" - -#: ../../c-api/typeobj.rst:29 -msgid "Quick Reference" -msgstr "Referensi Cepat" - -#: ../../c-api/typeobj.rst:34 -msgid "\"tp slots\"" -msgstr "\"tp slots\"" - -#: ../../c-api/typeobj.rst:40 -msgid "PyTypeObject Slot [#slots]_" -msgstr "" - -#: ../../c-api/typeobj.rst:40 ../../c-api/typeobj.rst:201 -msgid ":ref:`Type `" -msgstr ":ref:`Type `" - -#: ../../c-api/typeobj.rst:40 -msgid "special methods/attrs" -msgstr "" - -#: ../../c-api/typeobj.rst:40 -msgid "Info [#cols]_" -msgstr "" - -#: ../../c-api/typeobj.rst:42 -msgid "O" -msgstr "O" - -#: ../../c-api/typeobj.rst:42 -msgid "T" -msgstr "T" - -#: ../../c-api/typeobj.rst:42 -msgid "D" -msgstr "D" - -#: ../../c-api/typeobj.rst:42 -msgid "I" -msgstr "I" - -#: ../../c-api/typeobj.rst:44 -msgid " :c:member:`~PyTypeObject.tp_name`" -msgstr " :c:member:`~PyTypeObject.tp_name`" - -#: ../../c-api/typeobj.rst:0 ../../c-api/typeobj.rst:44 -#: ../../c-api/typeobj.rst:86 -msgid "const char *" -msgstr "const char *" - -#: ../../c-api/typeobj.rst:44 -msgid "__name__" -msgstr "__name__" - -#: ../../c-api/typeobj.rst:44 ../../c-api/typeobj.rst:46 -#: ../../c-api/typeobj.rst:48 ../../c-api/typeobj.rst:50 -#: ../../c-api/typeobj.rst:52 ../../c-api/typeobj.rst:62 -#: ../../c-api/typeobj.rst:70 ../../c-api/typeobj.rst:72 -#: ../../c-api/typeobj.rst:74 ../../c-api/typeobj.rst:76 -#: ../../c-api/typeobj.rst:79 ../../c-api/typeobj.rst:84 -#: ../../c-api/typeobj.rst:86 ../../c-api/typeobj.rst:88 -#: ../../c-api/typeobj.rst:90 ../../c-api/typeobj.rst:92 -#: ../../c-api/typeobj.rst:99 ../../c-api/typeobj.rst:101 -#: ../../c-api/typeobj.rst:103 ../../c-api/typeobj.rst:105 -#: ../../c-api/typeobj.rst:107 ../../c-api/typeobj.rst:109 -#: ../../c-api/typeobj.rst:111 ../../c-api/typeobj.rst:115 -#: ../../c-api/typeobj.rst:117 ../../c-api/typeobj.rst:120 -#: ../../c-api/typeobj.rst:122 ../../c-api/typeobj.rst:124 -#: ../../c-api/typeobj.rst:126 ../../c-api/typeobj.rst:128 -#: ../../c-api/typeobj.rst:130 ../../c-api/typeobj.rst:146 -msgid "X" -msgstr "X" - -#: ../../c-api/typeobj.rst:46 -msgid ":c:member:`~PyTypeObject.tp_basicsize`" -msgstr ":c:member:`~PyTypeObject.tp_basicsize`" - -#: ../../c-api/typeobj.rst:0 ../../c-api/typeobj.rst:46 -#: ../../c-api/typeobj.rst:48 ../../c-api/typeobj.rst:52 -#: ../../c-api/typeobj.rst:99 ../../c-api/typeobj.rst:120 -#: ../../c-api/typeobj.rst:416 -msgid ":c:type:`Py_ssize_t`" -msgstr "" - -#: ../../c-api/typeobj.rst:48 -msgid ":c:member:`~PyTypeObject.tp_itemsize`" -msgstr ":c:member:`~PyTypeObject.tp_itemsize`" - -#: ../../c-api/typeobj.rst:50 -msgid ":c:member:`~PyTypeObject.tp_dealloc`" -msgstr ":c:member:`~PyTypeObject.tp_dealloc`" - -#: ../../c-api/typeobj.rst:50 ../../c-api/typeobj.rst:142 -#: ../../c-api/typeobj.rst:146 ../../c-api/typeobj.rst:346 -msgid ":c:type:`destructor`" -msgstr ":c:type:`destructor`" - -#: ../../c-api/typeobj.rst:52 -msgid ":c:member:`~PyTypeObject.tp_vectorcall_offset`" -msgstr ":c:member:`~PyTypeObject.tp_vectorcall_offset`" - -#: ../../c-api/typeobj.rst:54 -msgid "(:c:member:`~PyTypeObject.tp_getattr`)" -msgstr "(:c:member:`~PyTypeObject.tp_getattr`)" - -#: ../../c-api/typeobj.rst:54 ../../c-api/typeobj.rst:370 -msgid ":c:type:`getattrfunc`" -msgstr ":c:type:`getattrfunc`" - -#: ../../c-api/typeobj.rst:54 ../../c-api/typeobj.rst:76 -msgid "__getattribute__, __getattr__" -msgstr "__getattribute__, __getattr__" - -#: ../../c-api/typeobj.rst:54 ../../c-api/typeobj.rst:57 -#: ../../c-api/typeobj.rst:70 ../../c-api/typeobj.rst:76 -#: ../../c-api/typeobj.rst:79 ../../c-api/typeobj.rst:88 -#: ../../c-api/typeobj.rst:90 ../../c-api/typeobj.rst:92 -msgid "G" -msgstr "G" - -#: ../../c-api/typeobj.rst:57 -msgid "(:c:member:`~PyTypeObject.tp_setattr`)" -msgstr "(:c:member:`~PyTypeObject.tp_setattr`)" - -#: ../../c-api/typeobj.rst:57 ../../c-api/typeobj.rst:375 -msgid ":c:type:`setattrfunc`" -msgstr ":c:type:`setattrfunc`" - -#: ../../c-api/typeobj.rst:57 ../../c-api/typeobj.rst:79 -msgid "__setattr__, __delattr__" -msgstr "__setattr__, __delattr__" - -#: ../../c-api/typeobj.rst:60 -msgid ":c:member:`~PyTypeObject.tp_as_async`" -msgstr ":c:member:`~PyTypeObject.tp_as_async`" - -#: ../../c-api/typeobj.rst:60 -msgid ":c:type:`PyAsyncMethods` *" -msgstr ":c:type:`PyAsyncMethods` *" - -#: ../../c-api/typeobj.rst:60 ../../c-api/typeobj.rst:64 -#: ../../c-api/typeobj.rst:66 ../../c-api/typeobj.rst:68 -msgid ":ref:`sub-slots`" -msgstr ":ref:`sub-slots`" - -#: ../../c-api/typeobj.rst:60 ../../c-api/typeobj.rst:64 -#: ../../c-api/typeobj.rst:66 ../../c-api/typeobj.rst:68 -#: ../../c-api/typeobj.rst:82 -msgid "%" -msgstr "%" - -#: ../../c-api/typeobj.rst:62 -msgid ":c:member:`~PyTypeObject.tp_repr`" -msgstr ":c:member:`~PyTypeObject.tp_repr`" - -#: ../../c-api/typeobj.rst:62 ../../c-api/typeobj.rst:74 -#: ../../c-api/typeobj.rst:368 -msgid ":c:type:`reprfunc`" -msgstr ":c:type:`reprfunc`" - -#: ../../c-api/typeobj.rst:62 -msgid "__repr__" -msgstr "__repr__" - -#: ../../c-api/typeobj.rst:64 -msgid ":c:member:`~PyTypeObject.tp_as_number`" -msgstr ":c:member:`~PyTypeObject.tp_as_number`" - -#: ../../c-api/typeobj.rst:64 -msgid ":c:type:`PyNumberMethods` *" -msgstr ":c:type:`PyNumberMethods` *" - -#: ../../c-api/typeobj.rst:66 -msgid ":c:member:`~PyTypeObject.tp_as_sequence`" -msgstr ":c:member:`~PyTypeObject.tp_as_sequence`" - -#: ../../c-api/typeobj.rst:66 -msgid ":c:type:`PySequenceMethods` *" -msgstr ":c:type:`PySequenceMethods` *" - -#: ../../c-api/typeobj.rst:68 -msgid ":c:member:`~PyTypeObject.tp_as_mapping`" -msgstr ":c:member:`~PyTypeObject.tp_as_mapping`" - -#: ../../c-api/typeobj.rst:68 -msgid ":c:type:`PyMappingMethods` *" -msgstr ":c:type:`PyMappingMethods` *" - -#: ../../c-api/typeobj.rst:70 -msgid ":c:member:`~PyTypeObject.tp_hash`" -msgstr ":c:member:`~PyTypeObject.tp_hash`" - -#: ../../c-api/typeobj.rst:70 ../../c-api/typeobj.rst:404 -msgid ":c:type:`hashfunc`" -msgstr ":c:type:`hashfunc`" - -#: ../../c-api/typeobj.rst:70 -msgid "__hash__" -msgstr "__hash__" - -#: ../../c-api/typeobj.rst:72 -msgid ":c:member:`~PyTypeObject.tp_call`" -msgstr ":c:member:`~PyTypeObject.tp_call`" - -#: ../../c-api/typeobj.rst:72 ../../c-api/typeobj.rst:237 -#: ../../c-api/typeobj.rst:240 ../../c-api/typeobj.rst:440 -msgid ":c:type:`ternaryfunc`" -msgstr ":c:type:`ternaryfunc`" - -#: ../../c-api/typeobj.rst:72 -msgid "__call__" -msgstr "__call__" - -#: ../../c-api/typeobj.rst:74 -msgid ":c:member:`~PyTypeObject.tp_str`" -msgstr ":c:member:`~PyTypeObject.tp_str`" - -#: ../../c-api/typeobj.rst:74 -msgid "__str__" -msgstr "__str__" - -#: ../../c-api/typeobj.rst:76 -msgid ":c:member:`~PyTypeObject.tp_getattro`" -msgstr ":c:member:`~PyTypeObject.tp_getattro`" - -#: ../../c-api/typeobj.rst:76 ../../c-api/typeobj.rst:381 -msgid ":c:type:`getattrofunc`" -msgstr ":c:type:`getattrofunc`" - -#: ../../c-api/typeobj.rst:79 -msgid ":c:member:`~PyTypeObject.tp_setattro`" -msgstr ":c:member:`~PyTypeObject.tp_setattro`" - -#: ../../c-api/typeobj.rst:79 ../../c-api/typeobj.rst:386 -msgid ":c:type:`setattrofunc`" -msgstr ":c:type:`setattrofunc`" - -#: ../../c-api/typeobj.rst:82 -msgid ":c:member:`~PyTypeObject.tp_as_buffer`" -msgstr ":c:member:`~PyTypeObject.tp_as_buffer`" - -#: ../../c-api/typeobj.rst:82 -msgid ":c:type:`PyBufferProcs` *" -msgstr ":c:type:`PyBufferProcs` *" - -#: ../../c-api/typeobj.rst:84 -msgid ":c:member:`~PyTypeObject.tp_flags`" -msgstr ":c:member:`~PyTypeObject.tp_flags`" - -#: ../../c-api/typeobj.rst:84 -msgid "unsigned long" -msgstr "unsigned long" - -#: ../../c-api/typeobj.rst:84 ../../c-api/typeobj.rst:99 -#: ../../c-api/typeobj.rst:113 ../../c-api/typeobj.rst:120 -#: ../../c-api/typeobj.rst:124 ../../c-api/typeobj.rst:126 -#: ../../c-api/typeobj.rst:128 -msgid "?" -msgstr "?" - -#: ../../c-api/typeobj.rst:86 -msgid ":c:member:`~PyTypeObject.tp_doc`" -msgstr ":c:member:`~PyTypeObject.tp_doc`" - -#: ../../c-api/typeobj.rst:86 -msgid "__doc__" -msgstr "__doc__" - -#: ../../c-api/typeobj.rst:88 -msgid ":c:member:`~PyTypeObject.tp_traverse`" -msgstr ":c:member:`~PyTypeObject.tp_traverse`" - -#: ../../c-api/typeobj.rst:88 ../../c-api/typeobj.rst:350 -msgid ":c:type:`traverseproc`" -msgstr ":c:type:`traverseproc`" - -#: ../../c-api/typeobj.rst:90 -msgid ":c:member:`~PyTypeObject.tp_clear`" -msgstr ":c:member:`~PyTypeObject.tp_clear`" - -#: ../../c-api/typeobj.rst:90 ../../c-api/typeobj.rst:130 -#: ../../c-api/typeobj.rst:248 ../../c-api/typeobj.rst:429 -msgid ":c:type:`inquiry`" -msgstr ":c:type:`inquiry`" - -#: ../../c-api/typeobj.rst:92 -msgid ":c:member:`~PyTypeObject.tp_richcompare`" -msgstr ":c:member:`~PyTypeObject.tp_richcompare`" - -#: ../../c-api/typeobj.rst:92 ../../c-api/typeobj.rst:406 -msgid ":c:type:`richcmpfunc`" -msgstr ":c:type:`richcmpfunc`" - -#: ../../c-api/typeobj.rst:92 -msgid "__lt__, __le__, __eq__, __ne__, __gt__, __ge__" -msgstr "__lt__, __le__, __eq__, __ne__, __gt__, __ge__" - -#: ../../c-api/typeobj.rst:99 -msgid "(:c:member:`~PyTypeObject.tp_weaklistoffset`)" -msgstr "" - -#: ../../c-api/typeobj.rst:101 -msgid ":c:member:`~PyTypeObject.tp_iter`" -msgstr ":c:member:`~PyTypeObject.tp_iter`" - -#: ../../c-api/typeobj.rst:101 ../../c-api/typeobj.rst:412 -msgid ":c:type:`getiterfunc`" -msgstr ":c:type:`getiterfunc`" - -#: ../../c-api/typeobj.rst:101 -msgid "__iter__" -msgstr "__iter__" - -#: ../../c-api/typeobj.rst:103 -msgid ":c:member:`~PyTypeObject.tp_iternext`" -msgstr ":c:member:`~PyTypeObject.tp_iternext`" - -#: ../../c-api/typeobj.rst:103 ../../c-api/typeobj.rst:414 -msgid ":c:type:`iternextfunc`" -msgstr ":c:type:`iternextfunc`" - -#: ../../c-api/typeobj.rst:103 -msgid "__next__" -msgstr "__next__" - -#: ../../c-api/typeobj.rst:105 -msgid ":c:member:`~PyTypeObject.tp_methods`" -msgstr ":c:member:`~PyTypeObject.tp_methods`" - -#: ../../c-api/typeobj.rst:105 -msgid ":c:type:`PyMethodDef` []" -msgstr ":c:type:`PyMethodDef` []" - -#: ../../c-api/typeobj.rst:107 -msgid ":c:member:`~PyTypeObject.tp_members`" -msgstr ":c:member:`~PyTypeObject.tp_members`" - -#: ../../c-api/typeobj.rst:107 -msgid ":c:type:`PyMemberDef` []" -msgstr ":c:type:`PyMemberDef` []" - -#: ../../c-api/typeobj.rst:109 -msgid ":c:member:`~PyTypeObject.tp_getset`" -msgstr ":c:member:`~PyTypeObject.tp_getset`" - -#: ../../c-api/typeobj.rst:109 -msgid ":c:type:`PyGetSetDef` []" -msgstr ":c:type:`PyGetSetDef` []" - -#: ../../c-api/typeobj.rst:111 -msgid ":c:member:`~PyTypeObject.tp_base`" -msgstr ":c:member:`~PyTypeObject.tp_base`" - -#: ../../c-api/typeobj.rst:0 ../../c-api/typeobj.rst:111 -msgid ":c:type:`PyTypeObject` *" -msgstr ":c:type:`PyTypeObject` *" - -#: ../../c-api/typeobj.rst:111 -msgid "__base__" -msgstr "__base__" - -#: ../../c-api/typeobj.rst:113 -msgid ":c:member:`~PyTypeObject.tp_dict`" -msgstr ":c:member:`~PyTypeObject.tp_dict`" - -#: ../../c-api/typeobj.rst:0 ../../c-api/typeobj.rst:113 -#: ../../c-api/typeobj.rst:132 ../../c-api/typeobj.rst:134 -#: ../../c-api/typeobj.rst:136 ../../c-api/typeobj.rst:140 -#: ../../c-api/typeobj.rst:341 ../../c-api/typeobj.rst:346 -#: ../../c-api/typeobj.rst:356 ../../c-api/typeobj.rst:368 -#: ../../c-api/typeobj.rst:370 ../../c-api/typeobj.rst:381 -#: ../../c-api/typeobj.rst:392 ../../c-api/typeobj.rst:404 -#: ../../c-api/typeobj.rst:406 ../../c-api/typeobj.rst:412 -#: ../../c-api/typeobj.rst:414 ../../c-api/typeobj.rst:416 -#: ../../c-api/typeobj.rst:429 ../../c-api/typeobj.rst:431 -#: ../../c-api/typeobj.rst:435 ../../c-api/typeobj.rst:440 -#: ../../c-api/typeobj.rst:446 -msgid ":c:type:`PyObject` *" -msgstr ":c:type:`PyObject` *" - -#: ../../c-api/typeobj.rst:113 -msgid "__dict__" -msgstr "__dict__" - -#: ../../c-api/typeobj.rst:115 -msgid ":c:member:`~PyTypeObject.tp_descr_get`" -msgstr ":c:member:`~PyTypeObject.tp_descr_get`" - -#: ../../c-api/typeobj.rst:115 ../../c-api/typeobj.rst:392 -msgid ":c:type:`descrgetfunc`" -msgstr ":c:type:`descrgetfunc`" - -#: ../../c-api/typeobj.rst:115 -msgid "__get__" -msgstr "__get__" - -#: ../../c-api/typeobj.rst:117 -msgid ":c:member:`~PyTypeObject.tp_descr_set`" -msgstr ":c:member:`~PyTypeObject.tp_descr_set`" - -#: ../../c-api/typeobj.rst:117 ../../c-api/typeobj.rst:398 -msgid ":c:type:`descrsetfunc`" -msgstr "" - -#: ../../c-api/typeobj.rst:117 -msgid "__set__, __delete__" -msgstr "__set__, __delete__" - -#: ../../c-api/typeobj.rst:120 -msgid "(:c:member:`~PyTypeObject.tp_dictoffset`)" -msgstr "" - -#: ../../c-api/typeobj.rst:122 -msgid ":c:member:`~PyTypeObject.tp_init`" -msgstr ":c:member:`~PyTypeObject.tp_init`" - -#: ../../c-api/typeobj.rst:122 ../../c-api/typeobj.rst:362 -msgid ":c:type:`initproc`" -msgstr ":c:type:`initproc`" - -#: ../../c-api/typeobj.rst:122 -msgid "__init__" -msgstr "__init__" - -#: ../../c-api/typeobj.rst:124 -msgid ":c:member:`~PyTypeObject.tp_alloc`" -msgstr ":c:member:`~PyTypeObject.tp_alloc`" - -#: ../../c-api/typeobj.rst:124 ../../c-api/typeobj.rst:341 -msgid ":c:type:`allocfunc`" -msgstr ":c:type:`allocfunc`" - -#: ../../c-api/typeobj.rst:126 -msgid ":c:member:`~PyTypeObject.tp_new`" -msgstr ":c:member:`~PyTypeObject.tp_new`" - -#: ../../c-api/typeobj.rst:126 ../../c-api/typeobj.rst:356 -msgid ":c:type:`newfunc`" -msgstr ":c:type:`newfunc`" - -#: ../../c-api/typeobj.rst:126 -msgid "__new__" -msgstr "__new__" - -#: ../../c-api/typeobj.rst:128 -msgid ":c:member:`~PyTypeObject.tp_free`" -msgstr ":c:member:`~PyTypeObject.tp_free`" - -#: ../../c-api/typeobj.rst:128 ../../c-api/typeobj.rst:348 -msgid ":c:type:`freefunc`" -msgstr ":c:type:`freefunc`" - -#: ../../c-api/typeobj.rst:130 -msgid ":c:member:`~PyTypeObject.tp_is_gc`" -msgstr ":c:member:`~PyTypeObject.tp_is_gc`" - -#: ../../c-api/typeobj.rst:132 -msgid "<:c:member:`~PyTypeObject.tp_bases`>" -msgstr "<:c:member:`~PyTypeObject.tp_bases`>" - -#: ../../c-api/typeobj.rst:132 -msgid "__bases__" -msgstr "__bases__" - -#: ../../c-api/typeobj.rst:132 ../../c-api/typeobj.rst:134 -msgid "~" -msgstr "~" - -#: ../../c-api/typeobj.rst:134 -msgid "<:c:member:`~PyTypeObject.tp_mro`>" -msgstr "<:c:member:`~PyTypeObject.tp_mro`>" - -#: ../../c-api/typeobj.rst:134 -msgid "__mro__" -msgstr "__mro__" - -#: ../../c-api/typeobj.rst:136 -msgid "[:c:member:`~PyTypeObject.tp_cache`]" -msgstr "[:c:member:`~PyTypeObject.tp_cache`]" - -#: ../../c-api/typeobj.rst:138 -msgid "[:c:member:`~PyTypeObject.tp_subclasses`]" -msgstr "[:c:member:`~PyTypeObject.tp_subclasses`]" - -#: ../../c-api/typeobj.rst:0 ../../c-api/typeobj.rst:138 -#: ../../c-api/typeobj.rst:279 ../../c-api/typeobj.rst:348 -msgid "void *" -msgstr "void *" - -#: ../../c-api/typeobj.rst:138 -msgid "__subclasses__" -msgstr "__subclasses__" - -#: ../../c-api/typeobj.rst:140 -msgid "[:c:member:`~PyTypeObject.tp_weaklist`]" -msgstr "[:c:member:`~PyTypeObject.tp_weaklist`]" - -#: ../../c-api/typeobj.rst:142 -msgid "(:c:member:`~PyTypeObject.tp_del`)" -msgstr "(:c:member:`~PyTypeObject.tp_del`)" - -#: ../../c-api/typeobj.rst:144 -msgid "[:c:member:`~PyTypeObject.tp_version_tag`]" -msgstr "[:c:member:`~PyTypeObject.tp_version_tag`]" - -#: ../../c-api/typeobj.rst:144 -msgid "unsigned int" -msgstr "unsigned int" - -#: ../../c-api/typeobj.rst:146 -msgid ":c:member:`~PyTypeObject.tp_finalize`" -msgstr ":c:member:`~PyTypeObject.tp_finalize`" - -#: ../../c-api/typeobj.rst:146 -msgid "__del__" -msgstr "__del__" - -#: ../../c-api/typeobj.rst:148 -msgid ":c:member:`~PyTypeObject.tp_vectorcall`" -msgstr "" - -#: ../../c-api/typeobj.rst:148 -msgid ":c:type:`vectorcallfunc`" -msgstr "" - -#: ../../c-api/typeobj.rst:150 -msgid "[:c:member:`~PyTypeObject.tp_watched`]" -msgstr "" - -#: ../../c-api/typeobj.rst:150 -msgid "unsigned char" -msgstr "unsigned char" - -#: ../../c-api/typeobj.rst:155 -msgid "" -"**()**: A slot name in parentheses indicates it is (effectively) deprecated." -msgstr "" - -#: ../../c-api/typeobj.rst:157 -msgid "" -"**<>**: Names in angle brackets should be initially set to ``NULL`` and " -"treated as read-only." -msgstr "" - -#: ../../c-api/typeobj.rst:160 -msgid "**[]**: Names in square brackets are for internal use only." -msgstr "" - -#: ../../c-api/typeobj.rst:162 -msgid "" -"**** (as a prefix) means the field is required (must be non-``NULL``)." -msgstr "" - -#: ../../c-api/typeobj.rst:164 -msgid "Columns:" -msgstr "" - -#: ../../c-api/typeobj.rst:166 -msgid "**\"O\"**: set on :c:data:`PyBaseObject_Type`" -msgstr "" - -#: ../../c-api/typeobj.rst:168 -msgid "**\"T\"**: set on :c:data:`PyType_Type`" -msgstr "" - -#: ../../c-api/typeobj.rst:170 -msgid "**\"D\"**: default (if slot is set to ``NULL``)" -msgstr "" - -#: ../../c-api/typeobj.rst:172 -msgid "" -"X - PyType_Ready sets this value if it is NULL\n" -"~ - PyType_Ready always sets this value (it should be NULL)\n" -"? - PyType_Ready may set this value depending on other slots\n" -"\n" -"Also see the inheritance column (\"I\")." -msgstr "" - -#: ../../c-api/typeobj.rst:180 -msgid "**\"I\"**: inheritance" -msgstr "" - -#: ../../c-api/typeobj.rst:182 -msgid "" -"X - type slot is inherited via *PyType_Ready* if defined with a *NULL* value\n" -"% - the slots of the sub-struct are inherited individually\n" -"G - inherited, but only in combination with other slots; see the slot's description\n" -"? - it's complicated; see the slot's description" -msgstr "" - -#: ../../c-api/typeobj.rst:189 -msgid "" -"Note that some slots are effectively inherited through the normal attribute " -"lookup chain." -msgstr "" - -#: ../../c-api/typeobj.rst:195 -msgid "sub-slots" -msgstr "" - -#: ../../c-api/typeobj.rst:201 -msgid "Slot" -msgstr "" - -#: ../../c-api/typeobj.rst:201 -msgid "special methods" -msgstr "" - -#: ../../c-api/typeobj.rst:204 -msgid ":c:member:`~PyAsyncMethods.am_await`" -msgstr ":c:member:`~PyAsyncMethods.am_await`" - -#: ../../c-api/typeobj.rst:204 ../../c-api/typeobj.rst:206 -#: ../../c-api/typeobj.rst:208 ../../c-api/typeobj.rst:242 -#: ../../c-api/typeobj.rst:244 ../../c-api/typeobj.rst:246 -#: ../../c-api/typeobj.rst:250 ../../c-api/typeobj.rst:277 -#: ../../c-api/typeobj.rst:281 ../../c-api/typeobj.rst:291 -#: ../../c-api/typeobj.rst:431 -msgid ":c:type:`unaryfunc`" -msgstr ":c:type:`unaryfunc`" - -#: ../../c-api/typeobj.rst:204 -msgid "__await__" -msgstr "__await__" - -#: ../../c-api/typeobj.rst:206 -msgid ":c:member:`~PyAsyncMethods.am_aiter`" -msgstr ":c:member:`~PyAsyncMethods.am_aiter`" - -#: ../../c-api/typeobj.rst:206 -msgid "__aiter__" -msgstr "__aiter__" - -#: ../../c-api/typeobj.rst:208 -msgid ":c:member:`~PyAsyncMethods.am_anext`" -msgstr ":c:member:`~PyAsyncMethods.am_anext`" - -#: ../../c-api/typeobj.rst:208 -msgid "__anext__" -msgstr "__anext__" - -#: ../../c-api/typeobj.rst:210 -msgid ":c:member:`~PyAsyncMethods.am_send`" -msgstr "" - -#: ../../c-api/typeobj.rst:210 -msgid ":c:type:`sendfunc`" -msgstr "" - -#: ../../c-api/typeobj.rst:214 -msgid ":c:member:`~PyNumberMethods.nb_add`" -msgstr ":c:member:`~PyNumberMethods.nb_add`" - -#: ../../c-api/typeobj.rst:214 ../../c-api/typeobj.rst:217 -#: ../../c-api/typeobj.rst:219 ../../c-api/typeobj.rst:222 -#: ../../c-api/typeobj.rst:224 ../../c-api/typeobj.rst:227 -#: ../../c-api/typeobj.rst:229 ../../c-api/typeobj.rst:232 -#: ../../c-api/typeobj.rst:234 ../../c-api/typeobj.rst:252 -#: ../../c-api/typeobj.rst:255 ../../c-api/typeobj.rst:257 -#: ../../c-api/typeobj.rst:260 ../../c-api/typeobj.rst:262 -#: ../../c-api/typeobj.rst:265 ../../c-api/typeobj.rst:267 -#: ../../c-api/typeobj.rst:270 ../../c-api/typeobj.rst:272 -#: ../../c-api/typeobj.rst:275 ../../c-api/typeobj.rst:283 -#: ../../c-api/typeobj.rst:285 ../../c-api/typeobj.rst:287 -#: ../../c-api/typeobj.rst:289 ../../c-api/typeobj.rst:293 -#: ../../c-api/typeobj.rst:296 ../../c-api/typeobj.rst:302 -#: ../../c-api/typeobj.rst:311 ../../c-api/typeobj.rst:322 -#: ../../c-api/typeobj.rst:435 -msgid ":c:type:`binaryfunc`" -msgstr ":c:type:`binaryfunc`" - -#: ../../c-api/typeobj.rst:214 -msgid "__add__ __radd__" -msgstr "__add__ __radd__" - -#: ../../c-api/typeobj.rst:217 -msgid ":c:member:`~PyNumberMethods.nb_inplace_add`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_add`" - -#: ../../c-api/typeobj.rst:217 ../../c-api/typeobj.rst:322 -msgid "__iadd__" -msgstr "__iadd__" - -#: ../../c-api/typeobj.rst:219 -msgid ":c:member:`~PyNumberMethods.nb_subtract`" -msgstr ":c:member:`~PyNumberMethods.nb_subtract`" - -#: ../../c-api/typeobj.rst:219 -msgid "__sub__ __rsub__" -msgstr "__sub__ __rsub__" - -#: ../../c-api/typeobj.rst:222 -msgid ":c:member:`~PyNumberMethods.nb_inplace_subtract`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_subtract`" - -#: ../../c-api/typeobj.rst:222 -msgid "__isub__" -msgstr "" - -#: ../../c-api/typeobj.rst:224 -msgid ":c:member:`~PyNumberMethods.nb_multiply`" -msgstr ":c:member:`~PyNumberMethods.nb_multiply`" - -#: ../../c-api/typeobj.rst:224 -msgid "__mul__ __rmul__" -msgstr "__mul__ __rmul__" - -#: ../../c-api/typeobj.rst:227 -msgid ":c:member:`~PyNumberMethods.nb_inplace_multiply`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_multiply`" - -#: ../../c-api/typeobj.rst:227 ../../c-api/typeobj.rst:324 -msgid "__imul__" -msgstr "__imul__" - -#: ../../c-api/typeobj.rst:229 -msgid ":c:member:`~PyNumberMethods.nb_remainder`" -msgstr ":c:member:`~PyNumberMethods.nb_remainder`" - -#: ../../c-api/typeobj.rst:229 -msgid "__mod__ __rmod__" -msgstr "__mod__ __rmod__" - -#: ../../c-api/typeobj.rst:232 -msgid ":c:member:`~PyNumberMethods.nb_inplace_remainder`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_remainder`" - -#: ../../c-api/typeobj.rst:232 -msgid "__imod__" -msgstr "" - -#: ../../c-api/typeobj.rst:234 -msgid ":c:member:`~PyNumberMethods.nb_divmod`" -msgstr ":c:member:`~PyNumberMethods.nb_divmod`" - -#: ../../c-api/typeobj.rst:234 -msgid "__divmod__ __rdivmod__" -msgstr "__divmod__ __rdivmod__" - -#: ../../c-api/typeobj.rst:237 -msgid ":c:member:`~PyNumberMethods.nb_power`" -msgstr ":c:member:`~PyNumberMethods.nb_power`" - -#: ../../c-api/typeobj.rst:237 -msgid "__pow__ __rpow__" -msgstr "__pow__ __rpow__" - -#: ../../c-api/typeobj.rst:240 -msgid ":c:member:`~PyNumberMethods.nb_inplace_power`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_power`" - -#: ../../c-api/typeobj.rst:240 -msgid "__ipow__" -msgstr "" - -#: ../../c-api/typeobj.rst:242 -msgid ":c:member:`~PyNumberMethods.nb_negative`" -msgstr ":c:member:`~PyNumberMethods.nb_negative`" - -#: ../../c-api/typeobj.rst:242 -msgid "__neg__" -msgstr "__neg__" - -#: ../../c-api/typeobj.rst:244 -msgid ":c:member:`~PyNumberMethods.nb_positive`" -msgstr ":c:member:`~PyNumberMethods.nb_positive`" - -#: ../../c-api/typeobj.rst:244 -msgid "__pos__" -msgstr "__pos__" - -#: ../../c-api/typeobj.rst:246 -msgid ":c:member:`~PyNumberMethods.nb_absolute`" -msgstr ":c:member:`~PyNumberMethods.nb_absolute`" - -#: ../../c-api/typeobj.rst:246 -msgid "__abs__" -msgstr "__abs__" - -#: ../../c-api/typeobj.rst:248 -msgid ":c:member:`~PyNumberMethods.nb_bool`" -msgstr ":c:member:`~PyNumberMethods.nb_bool`" - -#: ../../c-api/typeobj.rst:248 -msgid "__bool__" -msgstr "__bool__" - -#: ../../c-api/typeobj.rst:250 -msgid ":c:member:`~PyNumberMethods.nb_invert`" -msgstr ":c:member:`~PyNumberMethods.nb_invert`" - -#: ../../c-api/typeobj.rst:250 -msgid "__invert__" -msgstr "__invert__" - -#: ../../c-api/typeobj.rst:252 -msgid ":c:member:`~PyNumberMethods.nb_lshift`" -msgstr ":c:member:`~PyNumberMethods.nb_lshift`" - -#: ../../c-api/typeobj.rst:252 -msgid "__lshift__ __rlshift__" -msgstr "__lshift__ __rlshift__" - -#: ../../c-api/typeobj.rst:255 -msgid ":c:member:`~PyNumberMethods.nb_inplace_lshift`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_lshift`" - -#: ../../c-api/typeobj.rst:255 -msgid "__ilshift__" -msgstr "" - -#: ../../c-api/typeobj.rst:257 -msgid ":c:member:`~PyNumberMethods.nb_rshift`" -msgstr ":c:member:`~PyNumberMethods.nb_rshift`" - -#: ../../c-api/typeobj.rst:257 -msgid "__rshift__ __rrshift__" -msgstr "__rshift__ __rrshift__" - -#: ../../c-api/typeobj.rst:260 -msgid ":c:member:`~PyNumberMethods.nb_inplace_rshift`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_rshift`" - -#: ../../c-api/typeobj.rst:260 -msgid "__irshift__" -msgstr "" - -#: ../../c-api/typeobj.rst:262 -msgid ":c:member:`~PyNumberMethods.nb_and`" -msgstr ":c:member:`~PyNumberMethods.nb_and`" - -#: ../../c-api/typeobj.rst:262 -msgid "__and__ __rand__" -msgstr "__and__ __rand__" - -#: ../../c-api/typeobj.rst:265 -msgid ":c:member:`~PyNumberMethods.nb_inplace_and`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_and`" - -#: ../../c-api/typeobj.rst:265 -msgid "__iand__" -msgstr "" - -#: ../../c-api/typeobj.rst:267 -msgid ":c:member:`~PyNumberMethods.nb_xor`" -msgstr ":c:member:`~PyNumberMethods.nb_xor`" - -#: ../../c-api/typeobj.rst:267 -msgid "__xor__ __rxor__" -msgstr "__xor__ __rxor__" - -#: ../../c-api/typeobj.rst:270 -msgid ":c:member:`~PyNumberMethods.nb_inplace_xor`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_xor`" - -#: ../../c-api/typeobj.rst:270 -msgid "__ixor__" -msgstr "" - -#: ../../c-api/typeobj.rst:272 -msgid ":c:member:`~PyNumberMethods.nb_or`" -msgstr ":c:member:`~PyNumberMethods.nb_or`" - -#: ../../c-api/typeobj.rst:272 -msgid "__or__ __ror__" -msgstr "__or__ __ror__" - -#: ../../c-api/typeobj.rst:275 -msgid ":c:member:`~PyNumberMethods.nb_inplace_or`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_or`" - -#: ../../c-api/typeobj.rst:275 -msgid "__ior__" -msgstr "" - -#: ../../c-api/typeobj.rst:277 -msgid ":c:member:`~PyNumberMethods.nb_int`" -msgstr ":c:member:`~PyNumberMethods.nb_int`" - -#: ../../c-api/typeobj.rst:277 -msgid "__int__" -msgstr "__int__" - -#: ../../c-api/typeobj.rst:279 -msgid ":c:member:`~PyNumberMethods.nb_reserved`" -msgstr ":c:member:`~PyNumberMethods.nb_reserved`" - -#: ../../c-api/typeobj.rst:281 -msgid ":c:member:`~PyNumberMethods.nb_float`" -msgstr ":c:member:`~PyNumberMethods.nb_float`" - -#: ../../c-api/typeobj.rst:281 -msgid "__float__" -msgstr "__float__" - -#: ../../c-api/typeobj.rst:283 -msgid ":c:member:`~PyNumberMethods.nb_floor_divide`" -msgstr ":c:member:`~PyNumberMethods.nb_floor_divide`" - -#: ../../c-api/typeobj.rst:283 -msgid "__floordiv__" -msgstr "__floordiv__" - -#: ../../c-api/typeobj.rst:285 -msgid ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`" - -#: ../../c-api/typeobj.rst:285 -msgid "__ifloordiv__" -msgstr "" - -#: ../../c-api/typeobj.rst:287 -msgid ":c:member:`~PyNumberMethods.nb_true_divide`" -msgstr ":c:member:`~PyNumberMethods.nb_true_divide`" - -#: ../../c-api/typeobj.rst:287 -msgid "__truediv__" -msgstr "__truediv__" - -#: ../../c-api/typeobj.rst:289 -msgid ":c:member:`~PyNumberMethods.nb_inplace_true_divide`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_true_divide`" - -#: ../../c-api/typeobj.rst:289 -msgid "__itruediv__" -msgstr "" - -#: ../../c-api/typeobj.rst:291 -msgid ":c:member:`~PyNumberMethods.nb_index`" -msgstr ":c:member:`~PyNumberMethods.nb_index`" - -#: ../../c-api/typeobj.rst:291 -msgid "__index__" -msgstr "__index__" - -#: ../../c-api/typeobj.rst:293 -msgid ":c:member:`~PyNumberMethods.nb_matrix_multiply`" -msgstr "" - -#: ../../c-api/typeobj.rst:293 -msgid "__matmul__ __rmatmul__" -msgstr "__matmul__ __rmatmul__" - -#: ../../c-api/typeobj.rst:296 -msgid ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`" -msgstr ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`" - -#: ../../c-api/typeobj.rst:296 -msgid "__imatmul__" -msgstr "" - -#: ../../c-api/typeobj.rst:300 -msgid ":c:member:`~PyMappingMethods.mp_length`" -msgstr ":c:member:`~PyMappingMethods.mp_length`" - -#: ../../c-api/typeobj.rst:300 ../../c-api/typeobj.rst:309 -#: ../../c-api/typeobj.rst:416 -msgid ":c:type:`lenfunc`" -msgstr ":c:type:`lenfunc`" - -#: ../../c-api/typeobj.rst:300 ../../c-api/typeobj.rst:309 -msgid "__len__" -msgstr "__len__" - -#: ../../c-api/typeobj.rst:302 -msgid ":c:member:`~PyMappingMethods.mp_subscript`" -msgstr ":c:member:`~PyMappingMethods.mp_subscript`" - -#: ../../c-api/typeobj.rst:302 ../../c-api/typeobj.rst:315 -msgid "__getitem__" -msgstr "__getitem__" - -#: ../../c-api/typeobj.rst:304 -msgid ":c:member:`~PyMappingMethods.mp_ass_subscript`" -msgstr ":c:member:`~PyMappingMethods.mp_ass_subscript`" - -#: ../../c-api/typeobj.rst:304 ../../c-api/typeobj.rst:462 -msgid ":c:type:`objobjargproc`" -msgstr ":c:type:`objobjargproc`" - -#: ../../c-api/typeobj.rst:304 -msgid "__setitem__, __delitem__" -msgstr "__setitem__, __delitem__" - -#: ../../c-api/typeobj.rst:309 -msgid ":c:member:`~PySequenceMethods.sq_length`" -msgstr ":c:member:`~PySequenceMethods.sq_length`" - -#: ../../c-api/typeobj.rst:311 -msgid ":c:member:`~PySequenceMethods.sq_concat`" -msgstr ":c:member:`~PySequenceMethods.sq_concat`" - -#: ../../c-api/typeobj.rst:311 -msgid "__add__" -msgstr "__add__" - -#: ../../c-api/typeobj.rst:313 -msgid ":c:member:`~PySequenceMethods.sq_repeat`" -msgstr ":c:member:`~PySequenceMethods.sq_repeat`" - -#: ../../c-api/typeobj.rst:313 ../../c-api/typeobj.rst:315 -#: ../../c-api/typeobj.rst:324 ../../c-api/typeobj.rst:446 -msgid ":c:type:`ssizeargfunc`" -msgstr ":c:type:`ssizeargfunc`" - -#: ../../c-api/typeobj.rst:313 -msgid "__mul__" -msgstr "__mul__" - -#: ../../c-api/typeobj.rst:315 -msgid ":c:member:`~PySequenceMethods.sq_item`" -msgstr ":c:member:`~PySequenceMethods.sq_item`" - -#: ../../c-api/typeobj.rst:317 -msgid ":c:member:`~PySequenceMethods.sq_ass_item`" -msgstr ":c:member:`~PySequenceMethods.sq_ass_item`" - -#: ../../c-api/typeobj.rst:317 ../../c-api/typeobj.rst:451 -msgid ":c:type:`ssizeobjargproc`" -msgstr ":c:type:`ssizeobjargproc`" - -#: ../../c-api/typeobj.rst:317 -msgid "__setitem__ __delitem__" -msgstr "__setitem__ __delitem__" - -#: ../../c-api/typeobj.rst:320 -msgid ":c:member:`~PySequenceMethods.sq_contains`" -msgstr ":c:member:`~PySequenceMethods.sq_contains`" - -#: ../../c-api/typeobj.rst:320 ../../c-api/typeobj.rst:457 -msgid ":c:type:`objobjproc`" -msgstr ":c:type:`objobjproc`" - -#: ../../c-api/typeobj.rst:320 -msgid "__contains__" -msgstr "__contains__" - -#: ../../c-api/typeobj.rst:322 -msgid ":c:member:`~PySequenceMethods.sq_inplace_concat`" -msgstr ":c:member:`~PySequenceMethods.sq_inplace_concat`" - -#: ../../c-api/typeobj.rst:324 -msgid ":c:member:`~PySequenceMethods.sq_inplace_repeat`" -msgstr ":c:member:`~PySequenceMethods.sq_inplace_repeat`" - -#: ../../c-api/typeobj.rst:328 -msgid ":c:member:`~PyBufferProcs.bf_getbuffer`" -msgstr ":c:member:`~PyBufferProcs.bf_getbuffer`" - -#: ../../c-api/typeobj.rst:328 -msgid ":c:func:`getbufferproc`" -msgstr ":c:func:`getbufferproc`" - -#: ../../c-api/typeobj.rst:330 -msgid ":c:member:`~PyBufferProcs.bf_releasebuffer`" -msgstr ":c:member:`~PyBufferProcs.bf_releasebuffer`" - -#: ../../c-api/typeobj.rst:330 -msgid ":c:func:`releasebufferproc`" -msgstr ":c:func:`releasebufferproc`" - -#: ../../c-api/typeobj.rst:336 -msgid "slot typedefs" -msgstr "" - -#: ../../c-api/typeobj.rst:339 -msgid "typedef" -msgstr "typedef" - -#: ../../c-api/typeobj.rst:339 -msgid "Parameter Types" -msgstr "" - -#: ../../c-api/typeobj.rst:339 -msgid "Return Type" -msgstr "" - -#: ../../c-api/typeobj.rst:346 ../../c-api/typeobj.rst:348 -#: ../../c-api/typeobj.rst:424 -msgid "void" -msgstr "void" - -#: ../../c-api/typeobj.rst:0 -msgid ":c:type:`visitproc`" -msgstr ":c:type:`visitproc`" - -#: ../../c-api/typeobj.rst:0 ../../c-api/typeobj.rst:350 -#: ../../c-api/typeobj.rst:362 ../../c-api/typeobj.rst:375 -#: ../../c-api/typeobj.rst:386 ../../c-api/typeobj.rst:398 -#: ../../c-api/typeobj.rst:418 ../../c-api/typeobj.rst:429 -#: ../../c-api/typeobj.rst:451 ../../c-api/typeobj.rst:457 -#: ../../c-api/typeobj.rst:462 -msgid "int" -msgstr "int" - -#: ../../c-api/typeobj.rst:404 -msgid "Py_hash_t" -msgstr "Py_hash_t" - -#: ../../c-api/typeobj.rst:418 -msgid ":c:type:`getbufferproc`" -msgstr ":c:type:`getbufferproc`" - -#: ../../c-api/typeobj.rst:0 -msgid ":c:type:`Py_buffer` *" -msgstr ":c:type:`Py_buffer` *" - -#: ../../c-api/typeobj.rst:424 -msgid ":c:type:`releasebufferproc`" -msgstr ":c:type:`releasebufferproc`" - -#: ../../c-api/typeobj.rst:469 -msgid "See :ref:`slot-typedefs` below for more detail." -msgstr "" - -#: ../../c-api/typeobj.rst:473 -msgid "PyTypeObject Definition" -msgstr "" - -#: ../../c-api/typeobj.rst:475 -msgid "" -"The structure definition for :c:type:`PyTypeObject` can be found in " -":file:`Include/cpython/object.h`. For convenience of reference, this " -"repeats the definition found there:" -msgstr "" - -#: ../../c-api/typeobj.rst:481 -msgid "" -"typedef struct _typeobject {\n" -" PyObject_VAR_HEAD\n" -" const char *tp_name; /* For printing, in format \".\" */\n" -" Py_ssize_t tp_basicsize, tp_itemsize; /* For allocation */\n" -"\n" -" /* Methods to implement standard operations */\n" -"\n" -" destructor tp_dealloc;\n" -" Py_ssize_t tp_vectorcall_offset;\n" -" getattrfunc tp_getattr;\n" -" setattrfunc tp_setattr;\n" -" PyAsyncMethods *tp_as_async; /* formerly known as tp_compare (Python 2)\n" -" or tp_reserved (Python 3) */\n" -" reprfunc tp_repr;\n" -"\n" -" /* Method suites for standard classes */\n" -"\n" -" PyNumberMethods *tp_as_number;\n" -" PySequenceMethods *tp_as_sequence;\n" -" PyMappingMethods *tp_as_mapping;\n" -"\n" -" /* More standard operations (here for binary compatibility) */\n" -"\n" -" hashfunc tp_hash;\n" -" ternaryfunc tp_call;\n" -" reprfunc tp_str;\n" -" getattrofunc tp_getattro;\n" -" setattrofunc tp_setattro;\n" -"\n" -" /* Functions to access object as input/output buffer */\n" -" PyBufferProcs *tp_as_buffer;\n" -"\n" -" /* Flags to define presence of optional/expanded features */\n" -" unsigned long tp_flags;\n" -"\n" -" const char *tp_doc; /* Documentation string */\n" -"\n" -" /* Assigned meaning in release 2.0 */\n" -" /* call function for all accessible objects */\n" -" traverseproc tp_traverse;\n" -"\n" -" /* delete references to contained objects */\n" -" inquiry tp_clear;\n" -"\n" -" /* Assigned meaning in release 2.1 */\n" -" /* rich comparisons */\n" -" richcmpfunc tp_richcompare;\n" -"\n" -" /* weak reference enabler */\n" -" Py_ssize_t tp_weaklistoffset;\n" -"\n" -" /* Iterators */\n" -" getiterfunc tp_iter;\n" -" iternextfunc tp_iternext;\n" -"\n" -" /* Attribute descriptor and subclassing stuff */\n" -" PyMethodDef *tp_methods;\n" -" PyMemberDef *tp_members;\n" -" PyGetSetDef *tp_getset;\n" -" // Strong reference on a heap type, borrowed reference on a static type\n" -" PyTypeObject *tp_base;\n" -" PyObject *tp_dict;\n" -" descrgetfunc tp_descr_get;\n" -" descrsetfunc tp_descr_set;\n" -" Py_ssize_t tp_dictoffset;\n" -" initproc tp_init;\n" -" allocfunc tp_alloc;\n" -" newfunc tp_new;\n" -" freefunc tp_free; /* Low-level free-memory routine */\n" -" inquiry tp_is_gc; /* For PyObject_IS_GC */\n" -" PyObject *tp_bases;\n" -" PyObject *tp_mro; /* method resolution order */\n" -" PyObject *tp_cache; /* no longer used */\n" -" void *tp_subclasses; /* for static builtin types this is an index */\n" -" PyObject *tp_weaklist; /* not used for static builtin types */\n" -" destructor tp_del;\n" -"\n" -" /* Type attribute cache version tag. Added in version 2.6.\n" -" * If zero, the cache is invalid and must be initialized.\n" -" */\n" -" unsigned int tp_version_tag;\n" -"\n" -" destructor tp_finalize;\n" -" vectorcallfunc tp_vectorcall;\n" -"\n" -" /* bitset of which type-watchers care about this type */\n" -" unsigned char tp_watched;\n" -"\n" -" /* Number of tp_version_tag values used.\n" -" * Set to _Py_ATTR_CACHE_UNUSED if the attribute cache is\n" -" * disabled for this type (e.g. due to custom MRO entries).\n" -" * Otherwise, limited to MAX_VERSIONS_PER_CLASS (defined elsewhere).\n" -" */\n" -" uint16_t tp_versions_used;\n" -"} PyTypeObject;\n" -msgstr "" - -#: ../../c-api/typeobj.rst:485 -msgid "PyObject Slots" -msgstr "" - -#: ../../c-api/typeobj.rst:487 -msgid "" -"The type object structure extends the :c:type:`PyVarObject` structure. The " -":c:member:`~PyVarObject.ob_size` field is used for dynamic types (created by" -" :c:func:`!type_new`, usually called from a class statement). Note that " -":c:data:`PyType_Type` (the metatype) initializes " -":c:member:`~PyTypeObject.tp_itemsize`, which means that its instances (i.e. " -"type objects) *must* have the :c:member:`~PyVarObject.ob_size` field." -msgstr "" - -#: ../../c-api/typeobj.rst:496 -msgid "" -"This is the type object's reference count, initialized to ``1`` by the " -"``PyObject_HEAD_INIT`` macro. Note that for :ref:`statically allocated type" -" objects `, the type's instances (objects whose " -":c:member:`~PyObject.ob_type` points back to the type) do *not* count as " -"references. But for :ref:`dynamically allocated type objects `," -" the instances *do* count as references." -msgstr "" - -#: ../../c-api/typeobj.rst:503 ../../c-api/typeobj.rst:526 -#: ../../c-api/typeobj.rst:543 ../../c-api/typeobj.rst:587 -#: ../../c-api/typeobj.rst:665 ../../c-api/typeobj.rst:746 -#: ../../c-api/typeobj.rst:787 ../../c-api/typeobj.rst:804 -#: ../../c-api/typeobj.rst:821 ../../c-api/typeobj.rst:839 -#: ../../c-api/typeobj.rst:863 ../../c-api/typeobj.rst:880 -#: ../../c-api/typeobj.rst:892 ../../c-api/typeobj.rst:904 -#: ../../c-api/typeobj.rst:937 ../../c-api/typeobj.rst:959 -#: ../../c-api/typeobj.rst:979 ../../c-api/typeobj.rst:1000 -#: ../../c-api/typeobj.rst:1026 ../../c-api/typeobj.rst:1045 -#: ../../c-api/typeobj.rst:1061 ../../c-api/typeobj.rst:1101 -#: ../../c-api/typeobj.rst:1112 ../../c-api/typeobj.rst:1122 -#: ../../c-api/typeobj.rst:1132 ../../c-api/typeobj.rst:1146 -#: ../../c-api/typeobj.rst:1164 ../../c-api/typeobj.rst:1187 -#: ../../c-api/typeobj.rst:1205 ../../c-api/typeobj.rst:1218 -#: ../../c-api/typeobj.rst:1240 ../../c-api/typeobj.rst:1284 -#: ../../c-api/typeobj.rst:1305 ../../c-api/typeobj.rst:1324 -#: ../../c-api/typeobj.rst:1354 ../../c-api/typeobj.rst:1376 -#: ../../c-api/typeobj.rst:1402 ../../c-api/typeobj.rst:1488 -#: ../../c-api/typeobj.rst:1563 ../../c-api/typeobj.rst:1624 -#: ../../c-api/typeobj.rst:1660 ../../c-api/typeobj.rst:1685 -#: ../../c-api/typeobj.rst:1708 ../../c-api/typeobj.rst:1721 -#: ../../c-api/typeobj.rst:1736 ../../c-api/typeobj.rst:1750 -#: ../../c-api/typeobj.rst:1780 ../../c-api/typeobj.rst:1812 -#: ../../c-api/typeobj.rst:1838 ../../c-api/typeobj.rst:1856 -#: ../../c-api/typeobj.rst:1885 ../../c-api/typeobj.rst:1929 -#: ../../c-api/typeobj.rst:1946 ../../c-api/typeobj.rst:1987 -#: ../../c-api/typeobj.rst:2009 ../../c-api/typeobj.rst:2041 -#: ../../c-api/typeobj.rst:2069 ../../c-api/typeobj.rst:2082 -#: ../../c-api/typeobj.rst:2092 ../../c-api/typeobj.rst:2109 -#: ../../c-api/typeobj.rst:2126 ../../c-api/typeobj.rst:2140 -#: ../../c-api/typeobj.rst:2173 ../../c-api/typeobj.rst:2225 -msgid "**Inheritance:**" -msgstr "**Pewarisan:**" - -#: ../../c-api/typeobj.rst:505 ../../c-api/typeobj.rst:545 -#: ../../c-api/typeobj.rst:589 -msgid "This field is not inherited by subtypes." -msgstr "*field* ini tidak diwariskan oleh subtipe." - -#: ../../c-api/typeobj.rst:510 -msgid "" -"This is the type's type, in other words its metatype. It is initialized by " -"the argument to the ``PyObject_HEAD_INIT`` macro, and its value should " -"normally be ``&PyType_Type``. However, for dynamically loadable extension " -"modules that must be usable on Windows (at least), the compiler complains " -"that this is not a valid initializer. Therefore, the convention is to pass " -"``NULL`` to the ``PyObject_HEAD_INIT`` macro and to initialize this field " -"explicitly at the start of the module's initialization function, before " -"doing anything else. This is typically done like this::" -msgstr "" - -#: ../../c-api/typeobj.rst:519 -msgid "Foo_Type.ob_type = &PyType_Type;" -msgstr "" - -#: ../../c-api/typeobj.rst:521 -msgid "" -"This should be done before any instances of the type are created. " -":c:func:`PyType_Ready` checks if :c:member:`~PyObject.ob_type` is ``NULL``, " -"and if so, initializes it to the :c:member:`~PyObject.ob_type` field of the " -"base class. :c:func:`PyType_Ready` will not change this field if it is non-" -"zero." -msgstr "" - -#: ../../c-api/typeobj.rst:528 ../../c-api/typeobj.rst:748 -#: ../../c-api/typeobj.rst:865 ../../c-api/typeobj.rst:961 -#: ../../c-api/typeobj.rst:981 ../../c-api/typeobj.rst:1687 -#: ../../c-api/typeobj.rst:1710 ../../c-api/typeobj.rst:1840 -#: ../../c-api/typeobj.rst:1858 ../../c-api/typeobj.rst:1931 -#: ../../c-api/typeobj.rst:2043 ../../c-api/typeobj.rst:2175 -msgid "This field is inherited by subtypes." -msgstr "*field* ini diwariskan oleh subtipe." - -#: ../../c-api/typeobj.rst:532 -msgid "PyVarObject Slots" -msgstr "" - -#: ../../c-api/typeobj.rst:536 -msgid "" -"For :ref:`statically allocated type objects `, this should be " -"initialized to zero. For :ref:`dynamically allocated type objects `, this field has a special internal meaning." -msgstr "" - -#: ../../c-api/typeobj.rst:540 -msgid "" -"This field should be accessed using the :c:func:`Py_SIZE()` and " -":c:func:`Py_SET_SIZE()` macros." -msgstr "" - -#: ../../c-api/typeobj.rst:549 -msgid "PyTypeObject Slots" -msgstr "" - -#: ../../c-api/typeobj.rst:551 -msgid "" -"Each slot has a section describing inheritance. If :c:func:`PyType_Ready` " -"may set a value when the field is set to ``NULL`` then there will also be a " -"\"Default\" section. (Note that many fields set on " -":c:data:`PyBaseObject_Type` and :c:data:`PyType_Type` effectively act as " -"defaults.)" -msgstr "" - -#: ../../c-api/typeobj.rst:558 -msgid "" -"Pointer to a NUL-terminated string containing the name of the type. For " -"types that are accessible as module globals, the string should be the full " -"module name, followed by a dot, followed by the type name; for built-in " -"types, it should be just the type name. If the module is a submodule of a " -"package, the full package name is part of the full module name. For " -"example, a type named :class:`!T` defined in module :mod:`!M` in subpackage " -":mod:`!Q` in package :mod:`!P` should have the " -":c:member:`~PyTypeObject.tp_name` initializer ``\"P.Q.M.T\"``." -msgstr "" - -#: ../../c-api/typeobj.rst:566 -msgid "" -"For :ref:`dynamically allocated type objects `, this should just" -" be the type name, and the module name explicitly stored in the type dict as" -" the value for key ``'__module__'``." -msgstr "" - -#: ../../c-api/typeobj.rst:571 -msgid "" -"For :ref:`statically allocated type objects `, the *tp_name* " -"field should contain a dot. Everything before the last dot is made " -"accessible as the :attr:`~type.__module__` attribute, and everything after " -"the last dot is made accessible as the :attr:`~type.__name__` attribute." -msgstr "" - -#: ../../c-api/typeobj.rst:577 -msgid "" -"If no dot is present, the entire :c:member:`~PyTypeObject.tp_name` field is " -"made accessible as the :attr:`~type.__name__` attribute, and the " -":attr:`~type.__module__` attribute is undefined (unless explicitly set in " -"the dictionary, as explained above). This means your type will be " -"impossible to pickle. Additionally, it will not be listed in module " -"documentations created with pydoc." -msgstr "" - -#: ../../c-api/typeobj.rst:583 -msgid "" -"This field must not be ``NULL``. It is the only required field in " -":c:func:`PyTypeObject` (other than potentially " -":c:member:`~PyTypeObject.tp_itemsize`)." -msgstr "" - -#: ../../c-api/typeobj.rst:595 -msgid "" -"These fields allow calculating the size in bytes of instances of the type." -msgstr "" - -#: ../../c-api/typeobj.rst:597 -msgid "" -"There are two kinds of types: types with fixed-length instances have a zero " -":c:member:`!tp_itemsize` field, types with variable-length instances have a " -"non-zero :c:member:`!tp_itemsize` field. For a type with fixed-length " -"instances, all instances have the same size, given in " -":c:member:`!tp_basicsize`. (Exceptions to this rule can be made using " -":c:func:`PyUnstable_Object_GC_NewWithExtraData`.)" -msgstr "" - -#: ../../c-api/typeobj.rst:604 -msgid "" -"For a type with variable-length instances, the instances must have an " -":c:member:`~PyVarObject.ob_size` field, and the instance size is " -":c:member:`!tp_basicsize` plus N times :c:member:`!tp_itemsize`, where N is " -"the \"length\" of the object." -msgstr "" - -#: ../../c-api/typeobj.rst:609 -msgid "" -"Functions like :c:func:`PyObject_NewVar` will take the value of N as an " -"argument, and store in the instance's :c:member:`~PyVarObject.ob_size` " -"field. Note that the :c:member:`~PyVarObject.ob_size` field may later be " -"used for other purposes. For example, :py:type:`int` instances use the bits " -"of :c:member:`~PyVarObject.ob_size` in an implementation-defined way; the " -"underlying storage and its size should be accessed using " -":c:func:`PyLong_Export`." -msgstr "" - -#: ../../c-api/typeobj.rst:619 -msgid "" -"The :c:member:`~PyVarObject.ob_size` field should be accessed using the " -":c:func:`Py_SIZE()` and :c:func:`Py_SET_SIZE()` macros." -msgstr "" - -#: ../../c-api/typeobj.rst:622 -msgid "" -"Also, the presence of an :c:member:`~PyVarObject.ob_size` field in the " -"instance layout doesn't mean that the instance structure is variable-length." -" For example, the :py:type:`list` type has fixed-length instances, yet those" -" instances have a :c:member:`~PyVarObject.ob_size` field. (As with " -":py:type:`int`, avoid reading lists' :c:member:`!ob_size` directly. Call " -":c:func:`PyList_Size` instead.)" -msgstr "" - -#: ../../c-api/typeobj.rst:629 -msgid "" -"The :c:member:`!tp_basicsize` includes size needed for data of the type's " -":c:member:`~PyTypeObject.tp_base`, plus any extra data needed by each " -"instance." -msgstr "" - -#: ../../c-api/typeobj.rst:633 -msgid "" -"The correct way to set :c:member:`!tp_basicsize` is to use the ``sizeof`` " -"operator on the struct used to declare the instance layout. This struct must" -" include the struct used to declare the base type. In other words, " -":c:member:`!tp_basicsize` must be greater than or equal to the base's " -":c:member:`!tp_basicsize`." -msgstr "" - -#: ../../c-api/typeobj.rst:639 -msgid "" -"Since every type is a subtype of :py:type:`object`, this struct must include" -" :c:type:`PyObject` or :c:type:`PyVarObject` (depending on whether " -":c:member:`~PyVarObject.ob_size` should be included). These are usually " -"defined by the macro :c:macro:`PyObject_HEAD` or " -":c:macro:`PyObject_VAR_HEAD`, respectively." -msgstr "" - -#: ../../c-api/typeobj.rst:645 -msgid "" -"The basic size does not include the GC header size, as that header is not " -"part of :c:macro:`PyObject_HEAD`." -msgstr "" - -#: ../../c-api/typeobj.rst:648 -msgid "" -"For cases where struct used to declare the base type is unknown, see " -":c:member:`PyType_Spec.basicsize` and :c:func:`PyType_FromMetaclass`." -msgstr "" - -#: ../../c-api/typeobj.rst:651 -msgid "Notes about alignment:" -msgstr "" - -#: ../../c-api/typeobj.rst:653 -msgid "" -":c:member:`!tp_basicsize` must be a multiple of ``_Alignof(PyObject)``. When" -" using ``sizeof`` on a ``struct`` that includes :c:macro:`PyObject_HEAD`, as" -" recommended, the compiler ensures this. When not using a C ``struct``, or " -"when using compiler extensions like ``__attribute__((packed))``, it is up to" -" you." -msgstr "" - -#: ../../c-api/typeobj.rst:658 -msgid "" -"If the variable items require a particular alignment, " -":c:member:`!tp_basicsize` and :c:member:`!tp_itemsize` must each be a " -"multiple of that alignment. For example, if a type's variable part stores a " -"``double``, it is your responsibility that both fields are a multiple of " -"``_Alignof(double)``." -msgstr "" - -#: ../../c-api/typeobj.rst:667 -msgid "" -"These fields are inherited separately by subtypes. (That is, if the field is" -" set to zero, :c:func:`PyType_Ready` will copy the value from the base type," -" indicating that the instances do not need additional storage.)" -msgstr "" - -#: ../../c-api/typeobj.rst:672 -msgid "" -"If the base type has a non-zero :c:member:`~PyTypeObject.tp_itemsize`, it is" -" generally not safe to set :c:member:`~PyTypeObject.tp_itemsize` to a " -"different non-zero value in a subtype (though this depends on the " -"implementation of the base type)." -msgstr "" - -#: ../../c-api/typeobj.rst:679 -msgid "" -"A pointer to the instance destructor function. This function must be " -"defined unless the type guarantees that its instances will never be " -"deallocated (as is the case for the singletons ``None`` and ``Ellipsis``). " -"The function signature is::" -msgstr "" - -#: ../../c-api/typeobj.rst:683 -msgid "void tp_dealloc(PyObject *self);" -msgstr "" - -#: ../../c-api/typeobj.rst:685 -msgid "" -"The destructor function is called by the :c:func:`Py_DECREF` and " -":c:func:`Py_XDECREF` macros when the new reference count is zero. At this " -"point, the instance is still in existence, but there are no references to " -"it. The destructor function should free all references which the instance " -"owns, free all memory buffers owned by the instance (using the freeing " -"function corresponding to the allocation function used to allocate the " -"buffer), and call the type's :c:member:`~PyTypeObject.tp_free` function. If" -" the type is not subtypable (doesn't have the :c:macro:`Py_TPFLAGS_BASETYPE`" -" flag bit set), it is permissible to call the object deallocator directly " -"instead of via :c:member:`~PyTypeObject.tp_free`. The object deallocator " -"should be the one used to allocate the instance; this is normally " -":c:func:`PyObject_Free` if the instance was allocated using " -":c:macro:`PyObject_New` or :c:macro:`PyObject_NewVar`, or " -":c:func:`PyObject_GC_Del` if the instance was allocated using " -":c:macro:`PyObject_GC_New` or :c:macro:`PyObject_GC_NewVar`." -msgstr "" - -#: ../../c-api/typeobj.rst:700 -msgid "" -"If the type supports garbage collection (has the " -":c:macro:`Py_TPFLAGS_HAVE_GC` flag bit set), the destructor should call " -":c:func:`PyObject_GC_UnTrack` before clearing any member fields." -msgstr "" - -#: ../../c-api/typeobj.rst:704 -msgid "" -"static void\n" -"foo_dealloc(PyObject *op)\n" -"{\n" -" foo_object *self = (foo_object *) op;\n" -" PyObject_GC_UnTrack(self);\n" -" Py_CLEAR(self->ref);\n" -" Py_TYPE(self)->tp_free(self);\n" -"}" -msgstr "" - -#: ../../c-api/typeobj.rst:715 -msgid "" -"Finally, if the type is heap allocated (:c:macro:`Py_TPFLAGS_HEAPTYPE`), the" -" deallocator should release the owned reference to its type object (via " -":c:func:`Py_DECREF`) after calling the type deallocator. In order to avoid " -"dangling pointers, the recommended way to achieve this is:" -msgstr "" - -#: ../../c-api/typeobj.rst:721 -msgid "" -"static void\n" -"foo_dealloc(PyObject *op)\n" -"{\n" -" PyTypeObject *tp = Py_TYPE(op);\n" -" // free references and buffers here\n" -" tp->tp_free(op);\n" -" Py_DECREF(tp);\n" -"}" -msgstr "" - -#: ../../c-api/typeobj.rst:734 -msgid "" -"In a garbage collected Python, :c:member:`!tp_dealloc` may be called from " -"any Python thread, not just the thread which created the object (if the " -"object becomes part of a refcount cycle, that cycle might be collected by a " -"garbage collection on any thread). This is not a problem for Python API " -"calls, since the thread on which :c:member:`!tp_dealloc` is called with an " -":term:`attached thread state`. However, if the object being destroyed in " -"turn destroys objects from some other C or C++ library, care should be taken" -" to ensure that destroying those objects on the thread which called " -":c:member:`!tp_dealloc` will not violate any assumptions of the library." -msgstr "" - -#: ../../c-api/typeobj.rst:753 -msgid "" -"An optional offset to a per-instance function that implements calling the " -"object using the :ref:`vectorcall protocol `, a more efficient " -"alternative of the simpler :c:member:`~PyTypeObject.tp_call`." -msgstr "" - -#: ../../c-api/typeobj.rst:758 -msgid "" -"This field is only used if the flag :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` is" -" set. If so, this must be a positive integer containing the offset in the " -"instance of a :c:type:`vectorcallfunc` pointer." -msgstr "" - -#: ../../c-api/typeobj.rst:762 -msgid "" -"The *vectorcallfunc* pointer may be ``NULL``, in which case the instance " -"behaves as if :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` was not set: calling the" -" instance falls back to :c:member:`~PyTypeObject.tp_call`." -msgstr "" - -#: ../../c-api/typeobj.rst:766 -msgid "" -"Any class that sets ``Py_TPFLAGS_HAVE_VECTORCALL`` must also set " -":c:member:`~PyTypeObject.tp_call` and make sure its behaviour is consistent " -"with the *vectorcallfunc* function. This can be done by setting *tp_call* to" -" :c:func:`PyVectorcall_Call`." -msgstr "" - -#: ../../c-api/typeobj.rst:773 -msgid "" -"Before version 3.8, this slot was named ``tp_print``. In Python 2.x, it was " -"used for printing to a file. In Python 3.0 to 3.7, it was unused." -msgstr "" - -#: ../../c-api/typeobj.rst:779 -msgid "" -"Before version 3.12, it was not recommended for :ref:`mutable heap types " -"` to implement the vectorcall protocol. When a user sets " -":attr:`~object.__call__` in Python code, only *tp_call* is updated, likely " -"making it inconsistent with the vectorcall function. Since 3.12, setting " -"``__call__`` will disable vectorcall optimization by clearing the " -":c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` flag." -msgstr "" - -#: ../../c-api/typeobj.rst:789 -msgid "" -"This field is always inherited. However, the " -":c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` flag is not always inherited. If it's " -"not set, then the subclass won't use :ref:`vectorcall `, except " -"when :c:func:`PyVectorcall_Call` is explicitly called." -msgstr "" - -#: ../../c-api/typeobj.rst:798 -msgid "An optional pointer to the get-attribute-string function." -msgstr "" - -#: ../../c-api/typeobj.rst:800 -msgid "" -"This field is deprecated. When it is defined, it should point to a function" -" that acts the same as the :c:member:`~PyTypeObject.tp_getattro` function, " -"but taking a C string instead of a Python string object to give the " -"attribute name." -msgstr "" - -#: ../../c-api/typeobj.rst:806 ../../c-api/typeobj.rst:1002 -msgid "" -"Group: :c:member:`~PyTypeObject.tp_getattr`, " -":c:member:`~PyTypeObject.tp_getattro`" -msgstr "" - -#: ../../c-api/typeobj.rst:808 -msgid "" -"This field is inherited by subtypes together with " -":c:member:`~PyTypeObject.tp_getattro`: a subtype inherits both " -":c:member:`~PyTypeObject.tp_getattr` and " -":c:member:`~PyTypeObject.tp_getattro` from its base type when the subtype's " -":c:member:`~PyTypeObject.tp_getattr` and " -":c:member:`~PyTypeObject.tp_getattro` are both ``NULL``." -msgstr "" - -#: ../../c-api/typeobj.rst:815 ../../c-api/typeobj.rst:1015 -msgid "" -"An optional pointer to the function for setting and deleting attributes." -msgstr "" - -#: ../../c-api/typeobj.rst:817 -msgid "" -"This field is deprecated. When it is defined, it should point to a function" -" that acts the same as the :c:member:`~PyTypeObject.tp_setattro` function, " -"but taking a C string instead of a Python string object to give the " -"attribute name." -msgstr "" - -#: ../../c-api/typeobj.rst:823 ../../c-api/typeobj.rst:1028 -msgid "" -"Group: :c:member:`~PyTypeObject.tp_setattr`, " -":c:member:`~PyTypeObject.tp_setattro`" -msgstr "" - -#: ../../c-api/typeobj.rst:825 -msgid "" -"This field is inherited by subtypes together with " -":c:member:`~PyTypeObject.tp_setattro`: a subtype inherits both " -":c:member:`~PyTypeObject.tp_setattr` and " -":c:member:`~PyTypeObject.tp_setattro` from its base type when the subtype's " -":c:member:`~PyTypeObject.tp_setattr` and " -":c:member:`~PyTypeObject.tp_setattro` are both ``NULL``." -msgstr "" - -#: ../../c-api/typeobj.rst:832 -msgid "" -"Pointer to an additional structure that contains fields relevant only to " -"objects which implement :term:`awaitable` and :term:`asynchronous iterator` " -"protocols at the C-level. See :ref:`async-structs` for details." -msgstr "" - -#: ../../c-api/typeobj.rst:836 -msgid "Formerly known as ``tp_compare`` and ``tp_reserved``." -msgstr "" - -#: ../../c-api/typeobj.rst:841 -msgid "" -"The :c:member:`~PyTypeObject.tp_as_async` field is not inherited, but the " -"contained fields are inherited individually." -msgstr "" - -#: ../../c-api/typeobj.rst:849 -msgid "" -"An optional pointer to a function that implements the built-in function " -":func:`repr`." -msgstr "" - -#: ../../c-api/typeobj.rst:852 -msgid "The signature is the same as for :c:func:`PyObject_Repr`::" -msgstr "" - -#: ../../c-api/typeobj.rst:854 -msgid "PyObject *tp_repr(PyObject *self);" -msgstr "" - -#: ../../c-api/typeobj.rst:856 -msgid "" -"The function must return a string or a Unicode object. Ideally, this " -"function should return a string that, when passed to :func:`eval`, given a " -"suitable environment, returns an object with the same value. If this is not" -" feasible, it should return a string starting with ``'<'`` and ending with " -"``'>'`` from which both the type and the value of the object can be deduced." -msgstr "" - -#: ../../c-api/typeobj.rst:867 ../../c-api/typeobj.rst:946 -#: ../../c-api/typeobj.rst:983 ../../c-api/typeobj.rst:1008 -#: ../../c-api/typeobj.rst:1034 ../../c-api/typeobj.rst:1076 -#: ../../c-api/typeobj.rst:1633 ../../c-api/typeobj.rst:1667 -#: ../../c-api/typeobj.rst:1784 ../../c-api/typeobj.rst:1817 -#: ../../c-api/typeobj.rst:1892 ../../c-api/typeobj.rst:1933 -#: ../../c-api/typeobj.rst:1951 ../../c-api/typeobj.rst:1993 -#: ../../c-api/typeobj.rst:2014 ../../c-api/typeobj.rst:2045 -msgid "**Default:**" -msgstr "**Bawaan:**" - -#: ../../c-api/typeobj.rst:869 -msgid "" -"When this field is not set, a string of the form ``<%s object at %p>`` is " -"returned, where ``%s`` is replaced by the type name, and ``%p`` by the " -"object's memory address." -msgstr "" - -#: ../../c-api/typeobj.rst:876 -msgid "" -"Pointer to an additional structure that contains fields relevant only to " -"objects which implement the number protocol. These fields are documented in" -" :ref:`number-structs`." -msgstr "" - -#: ../../c-api/typeobj.rst:882 -msgid "" -"The :c:member:`~PyTypeObject.tp_as_number` field is not inherited, but the " -"contained fields are inherited individually." -msgstr "" - -#: ../../c-api/typeobj.rst:888 -msgid "" -"Pointer to an additional structure that contains fields relevant only to " -"objects which implement the sequence protocol. These fields are documented " -"in :ref:`sequence-structs`." -msgstr "" - -#: ../../c-api/typeobj.rst:894 -msgid "" -"The :c:member:`~PyTypeObject.tp_as_sequence` field is not inherited, but the" -" contained fields are inherited individually." -msgstr "" - -#: ../../c-api/typeobj.rst:900 -msgid "" -"Pointer to an additional structure that contains fields relevant only to " -"objects which implement the mapping protocol. These fields are documented " -"in :ref:`mapping-structs`." -msgstr "" - -#: ../../c-api/typeobj.rst:906 -msgid "" -"The :c:member:`~PyTypeObject.tp_as_mapping` field is not inherited, but the " -"contained fields are inherited individually." -msgstr "" - -#: ../../c-api/typeobj.rst:914 -msgid "" -"An optional pointer to a function that implements the built-in function " -":func:`hash`." -msgstr "" - -#: ../../c-api/typeobj.rst:917 -msgid "The signature is the same as for :c:func:`PyObject_Hash`::" -msgstr "" - -#: ../../c-api/typeobj.rst:919 -msgid "Py_hash_t tp_hash(PyObject *);" -msgstr "" - -#: ../../c-api/typeobj.rst:921 -msgid "" -"The value ``-1`` should not be returned as a normal return value; when an " -"error occurs during the computation of the hash value, the function should " -"set an exception and return ``-1``." -msgstr "" - -#: ../../c-api/typeobj.rst:925 -msgid "" -"When this field is not set (*and* :c:member:`~PyTypeObject.tp_richcompare` " -"is not set), an attempt to take the hash of the object raises " -":exc:`TypeError`. This is the same as setting it to " -":c:func:`PyObject_HashNotImplemented`." -msgstr "" - -#: ../../c-api/typeobj.rst:929 -msgid "" -"This field can be set explicitly to :c:func:`PyObject_HashNotImplemented` to" -" block inheritance of the hash method from a parent type. This is " -"interpreted as the equivalent of ``__hash__ = None`` at the Python level, " -"causing ``isinstance(o, collections.Hashable)`` to correctly return " -"``False``. Note that the converse is also true - setting ``__hash__ = None``" -" on a class at the Python level will result in the ``tp_hash`` slot being " -"set to :c:func:`PyObject_HashNotImplemented`." -msgstr "" - -#: ../../c-api/typeobj.rst:939 ../../c-api/typeobj.rst:1626 -msgid "" -"Group: :c:member:`~PyTypeObject.tp_hash`, " -":c:member:`~PyTypeObject.tp_richcompare`" -msgstr "" - -#: ../../c-api/typeobj.rst:941 -msgid "" -"This field is inherited by subtypes together with " -":c:member:`~PyTypeObject.tp_richcompare`: a subtype inherits both of " -":c:member:`~PyTypeObject.tp_richcompare` and " -":c:member:`~PyTypeObject.tp_hash`, when the subtype's " -":c:member:`~PyTypeObject.tp_richcompare` and " -":c:member:`~PyTypeObject.tp_hash` are both ``NULL``." -msgstr "" - -#: ../../c-api/typeobj.rst:948 -msgid ":c:data:`PyBaseObject_Type` uses :c:func:`PyObject_GenericHash`." -msgstr "" - -#: ../../c-api/typeobj.rst:953 -msgid "" -"An optional pointer to a function that implements calling the object. This " -"should be ``NULL`` if the object is not callable. The signature is the same" -" as for :c:func:`PyObject_Call`::" -msgstr "" - -#: ../../c-api/typeobj.rst:957 -msgid "PyObject *tp_call(PyObject *self, PyObject *args, PyObject *kwargs);" -msgstr "" - -#: ../../c-api/typeobj.rst:966 -msgid "" -"An optional pointer to a function that implements the built-in operation " -":func:`str`. (Note that :class:`str` is a type now, and :func:`str` calls " -"the constructor for that type. This constructor calls " -":c:func:`PyObject_Str` to do the actual work, and :c:func:`PyObject_Str` " -"will call this handler.)" -msgstr "" - -#: ../../c-api/typeobj.rst:971 -msgid "The signature is the same as for :c:func:`PyObject_Str`::" -msgstr "" - -#: ../../c-api/typeobj.rst:973 -msgid "PyObject *tp_str(PyObject *self);" -msgstr "" - -#: ../../c-api/typeobj.rst:975 -msgid "" -"The function must return a string or a Unicode object. It should be a " -"\"friendly\" string representation of the object, as this is the " -"representation that will be used, among other things, by the :func:`print` " -"function." -msgstr "" - -#: ../../c-api/typeobj.rst:985 -msgid "" -"When this field is not set, :c:func:`PyObject_Repr` is called to return a " -"string representation." -msgstr "" - -#: ../../c-api/typeobj.rst:991 -msgid "An optional pointer to the get-attribute function." -msgstr "" - -#: ../../c-api/typeobj.rst:993 -msgid "The signature is the same as for :c:func:`PyObject_GetAttr`::" -msgstr "" - -#: ../../c-api/typeobj.rst:995 -msgid "PyObject *tp_getattro(PyObject *self, PyObject *attr);" -msgstr "" - -#: ../../c-api/typeobj.rst:997 -msgid "" -"It is usually convenient to set this field to " -":c:func:`PyObject_GenericGetAttr`, which implements the normal way of " -"looking for object attributes." -msgstr "" - -#: ../../c-api/typeobj.rst:1004 -msgid "" -"This field is inherited by subtypes together with " -":c:member:`~PyTypeObject.tp_getattr`: a subtype inherits both " -":c:member:`~PyTypeObject.tp_getattr` and " -":c:member:`~PyTypeObject.tp_getattro` from its base type when the subtype's " -":c:member:`~PyTypeObject.tp_getattr` and " -":c:member:`~PyTypeObject.tp_getattro` are both ``NULL``." -msgstr "" - -#: ../../c-api/typeobj.rst:1010 -msgid ":c:data:`PyBaseObject_Type` uses :c:func:`PyObject_GenericGetAttr`." -msgstr "" - -#: ../../c-api/typeobj.rst:1017 -msgid "The signature is the same as for :c:func:`PyObject_SetAttr`::" -msgstr "" - -#: ../../c-api/typeobj.rst:1019 -msgid "int tp_setattro(PyObject *self, PyObject *attr, PyObject *value);" -msgstr "" - -#: ../../c-api/typeobj.rst:1021 -msgid "" -"In addition, setting *value* to ``NULL`` to delete an attribute must be " -"supported. It is usually convenient to set this field to " -":c:func:`PyObject_GenericSetAttr`, which implements the normal way of " -"setting object attributes." -msgstr "" - -#: ../../c-api/typeobj.rst:1030 -msgid "" -"This field is inherited by subtypes together with " -":c:member:`~PyTypeObject.tp_setattr`: a subtype inherits both " -":c:member:`~PyTypeObject.tp_setattr` and " -":c:member:`~PyTypeObject.tp_setattro` from its base type when the subtype's " -":c:member:`~PyTypeObject.tp_setattr` and " -":c:member:`~PyTypeObject.tp_setattro` are both ``NULL``." -msgstr "" - -#: ../../c-api/typeobj.rst:1036 -msgid ":c:data:`PyBaseObject_Type` uses :c:func:`PyObject_GenericSetAttr`." -msgstr "" - -#: ../../c-api/typeobj.rst:1041 -msgid "" -"Pointer to an additional structure that contains fields relevant only to " -"objects which implement the buffer interface. These fields are documented " -"in :ref:`buffer-structs`." -msgstr "" - -#: ../../c-api/typeobj.rst:1047 -msgid "" -"The :c:member:`~PyTypeObject.tp_as_buffer` field is not inherited, but the " -"contained fields are inherited individually." -msgstr "" - -#: ../../c-api/typeobj.rst:1053 -msgid "" -"This field is a bit mask of various flags. Some flags indicate variant " -"semantics for certain situations; others are used to indicate that certain " -"fields in the type object (or in the extension structures referenced via " -":c:member:`~PyTypeObject.tp_as_number`, " -":c:member:`~PyTypeObject.tp_as_sequence`, " -":c:member:`~PyTypeObject.tp_as_mapping`, and " -":c:member:`~PyTypeObject.tp_as_buffer`) that were historically not always " -"present are valid; if such a flag bit is clear, the type fields it guards " -"must not be accessed and must be considered to have a zero or ``NULL`` value" -" instead." -msgstr "" - -#: ../../c-api/typeobj.rst:1063 -msgid "" -"Inheritance of this field is complicated. Most flag bits are inherited " -"individually, i.e. if the base type has a flag bit set, the subtype inherits" -" this flag bit. The flag bits that pertain to extension structures are " -"strictly inherited if the extension structure is inherited, i.e. the base " -"type's value of the flag bit is copied into the subtype together with a " -"pointer to the extension structure. The :c:macro:`Py_TPFLAGS_HAVE_GC` flag " -"bit is inherited together with the :c:member:`~PyTypeObject.tp_traverse` and" -" :c:member:`~PyTypeObject.tp_clear` fields, i.e. if the " -":c:macro:`Py_TPFLAGS_HAVE_GC` flag bit is clear in the subtype and the " -":c:member:`~PyTypeObject.tp_traverse` and :c:member:`~PyTypeObject.tp_clear`" -" fields in the subtype exist and have ``NULL`` values." -msgstr "" - -#: ../../c-api/typeobj.rst:1078 -msgid "" -":c:data:`PyBaseObject_Type` uses ``Py_TPFLAGS_DEFAULT | " -"Py_TPFLAGS_BASETYPE``." -msgstr "" - -#: ../../c-api/typeobj.rst:1081 -msgid "**Bit Masks:**" -msgstr "**Bit Masks:**" - -#: ../../c-api/typeobj.rst:1085 -msgid "" -"The following bit masks are currently defined; these can be ORed together " -"using the ``|`` operator to form the value of the " -":c:member:`~PyTypeObject.tp_flags` field. The macro " -":c:func:`PyType_HasFeature` takes a type and a flags value, *tp* and *f*, " -"and checks whether ``tp->tp_flags & f`` is non-zero." -msgstr "" - -#: ../../c-api/typeobj.rst:1092 -msgid "" -"This bit is set when the type object itself is allocated on the heap, for " -"example, types created dynamically using :c:func:`PyType_FromSpec`. In this" -" case, the :c:member:`~PyObject.ob_type` field of its instances is " -"considered a reference to the type, and the type object is INCREF'ed when a " -"new instance is created, and DECREF'ed when an instance is destroyed (this " -"does not apply to instances of subtypes; only the type referenced by the " -"instance's ob_type gets INCREF'ed or DECREF'ed). Heap types should also " -":ref:`support garbage collection ` as they can " -"form a reference cycle with their own module object." -msgstr "" - -#: ../../c-api/typeobj.rst:1103 ../../c-api/typeobj.rst:1114 -#: ../../c-api/typeobj.rst:1124 ../../c-api/typeobj.rst:1134 -#: ../../c-api/typeobj.rst:1166 -msgid "???" -msgstr "???" - -#: ../../c-api/typeobj.rst:1108 -msgid "" -"This bit is set when the type can be used as the base type of another type." -" If this bit is clear, the type cannot be subtyped (similar to a \"final\" " -"class in Java)." -msgstr "" - -#: ../../c-api/typeobj.rst:1119 -msgid "" -"This bit is set when the type object has been fully initialized by " -":c:func:`PyType_Ready`." -msgstr "" - -#: ../../c-api/typeobj.rst:1129 -msgid "" -"This bit is set while :c:func:`PyType_Ready` is in the process of " -"initializing the type object." -msgstr "" - -#: ../../c-api/typeobj.rst:1139 -msgid "" -"This bit is set when the object supports garbage collection. If this bit is" -" set, instances must be created using :c:macro:`PyObject_GC_New` and " -"destroyed using :c:func:`PyObject_GC_Del`. More information in section " -":ref:`supporting-cycle-detection`. This bit also implies that the GC-" -"related fields :c:member:`~PyTypeObject.tp_traverse` and " -":c:member:`~PyTypeObject.tp_clear` are present in the type object." -msgstr "" - -#: ../../c-api/typeobj.rst:1148 ../../c-api/typeobj.rst:1490 -#: ../../c-api/typeobj.rst:1565 -msgid "" -"Group: :c:macro:`Py_TPFLAGS_HAVE_GC`, :c:member:`~PyTypeObject.tp_traverse`," -" :c:member:`~PyTypeObject.tp_clear`" -msgstr "" - -#: ../../c-api/typeobj.rst:1150 -msgid "" -"The :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit is inherited together with the " -":c:member:`~PyTypeObject.tp_traverse` and :c:member:`~PyTypeObject.tp_clear`" -" fields, i.e. if the :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit is clear in the" -" subtype and the :c:member:`~PyTypeObject.tp_traverse` and " -":c:member:`~PyTypeObject.tp_clear` fields in the subtype exist and have " -"``NULL`` values." -msgstr "" - -#: ../../c-api/typeobj.rst:1160 -msgid "" -"This is a bitmask of all the bits that pertain to the existence of certain " -"fields in the type object and its extension structures. Currently, it " -"includes the following bits: :c:macro:`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`." -msgstr "" - -#: ../../c-api/typeobj.rst:1171 -msgid "This bit indicates that objects behave like unbound methods." -msgstr "" - -#: ../../c-api/typeobj.rst:1173 -msgid "If this flag is set for ``type(meth)``, then:" -msgstr "" - -#: ../../c-api/typeobj.rst:1175 -msgid "" -"``meth.__get__(obj, cls)(*args, **kwds)`` (with ``obj`` not None) must be " -"equivalent to ``meth(obj, *args, **kwds)``." -msgstr "" - -#: ../../c-api/typeobj.rst:1178 -msgid "" -"``meth.__get__(None, cls)(*args, **kwds)`` must be equivalent to " -"``meth(*args, **kwds)``." -msgstr "" - -#: ../../c-api/typeobj.rst:1181 -msgid "" -"This flag enables an optimization for typical method calls like " -"``obj.meth()``: it avoids creating a temporary \"bound method\" object for " -"``obj.meth``." -msgstr "" - -#: ../../c-api/typeobj.rst:1189 -msgid "" -"This flag is never inherited by types without the " -":c:macro:`Py_TPFLAGS_IMMUTABLETYPE` flag set. For extension types, it is " -"inherited whenever :c:member:`~PyTypeObject.tp_descr_get` is inherited." -msgstr "" - -#: ../../c-api/typeobj.rst:1195 -msgid "" -"This bit indicates that instances of the class have a `~object.__dict__` " -"attribute, and that the space for the dictionary is managed by the VM." -msgstr "" - -#: ../../c-api/typeobj.rst:1198 -msgid "If this flag is set, :c:macro:`Py_TPFLAGS_HAVE_GC` should also be set." -msgstr "" - -#: ../../c-api/typeobj.rst:1200 -msgid "" -"The type traverse function must call :c:func:`PyObject_VisitManagedDict` and" -" its clear function must call :c:func:`PyObject_ClearManagedDict`." -msgstr "" - -#: ../../c-api/typeobj.rst:1207 -msgid "" -"This flag is inherited unless the :c:member:`~PyTypeObject.tp_dictoffset` " -"field is set in a superclass." -msgstr "" - -#: ../../c-api/typeobj.rst:1213 -msgid "" -"This bit indicates that instances of the class should be weakly " -"referenceable." -msgstr "" - -#: ../../c-api/typeobj.rst:1220 -msgid "" -"This flag is inherited unless the " -":c:member:`~PyTypeObject.tp_weaklistoffset` field is set in a superclass." -msgstr "" - -#: ../../c-api/typeobj.rst:1226 -msgid "" -"Only usable with variable-size types, i.e. ones with non-zero " -":c:member:`~PyTypeObject.tp_itemsize`." -msgstr "" - -#: ../../c-api/typeobj.rst:1229 -msgid "" -"Indicates that the variable-sized portion of an instance of this type is at " -"the end of the instance's memory area, at an offset of " -"``Py_TYPE(obj)->tp_basicsize`` (which may be different in each subclass)." -msgstr "" - -#: ../../c-api/typeobj.rst:1234 -msgid "" -"When setting this flag, be sure that all superclasses either use this memory" -" layout, or are not variable-sized. Python does not check this." -msgstr "" - -#: ../../c-api/typeobj.rst:1242 -msgid "This flag is inherited." -msgstr "" - -#: ../../c-api/typeobj.rst:1256 -msgid "" -"These flags are used by functions such as :c:func:`PyLong_Check` to quickly " -"determine if a type is a subclass of a built-in type; such specific checks " -"are faster than a generic check, like :c:func:`PyObject_IsInstance`. Custom " -"types that inherit from built-ins should have their " -":c:member:`~PyTypeObject.tp_flags` set appropriately, or the code that " -"interacts with such types will behave differently depending on what kind of " -"check is used." -msgstr "" - -#: ../../c-api/typeobj.rst:1267 -msgid "" -"This bit is set when the :c:member:`~PyTypeObject.tp_finalize` slot is " -"present in the type structure." -msgstr "" - -#: ../../c-api/typeobj.rst:1272 -msgid "" -"This flag isn't necessary anymore, as the interpreter assumes the " -":c:member:`~PyTypeObject.tp_finalize` slot is always present in the type " -"structure." -msgstr "" - -#: ../../c-api/typeobj.rst:1280 -msgid "" -"This bit is set when the class implements the :ref:`vectorcall protocol " -"`. See :c:member:`~PyTypeObject.tp_vectorcall_offset` for " -"details." -msgstr "" - -#: ../../c-api/typeobj.rst:1286 -msgid "" -"This bit is inherited if :c:member:`~PyTypeObject.tp_call` is also " -"inherited." -msgstr "" - -#: ../../c-api/typeobj.rst:1293 -msgid "" -"This flag is now removed from a class when the class's " -":py:meth:`~object.__call__` method is reassigned." -msgstr "" - -#: ../../c-api/typeobj.rst:1296 -msgid "This flag can now be inherited by mutable classes." -msgstr "" - -#: ../../c-api/typeobj.rst:1300 -msgid "" -"This bit is set for type objects that are immutable: type attributes cannot " -"be set nor deleted." -msgstr "" - -#: ../../c-api/typeobj.rst:1302 -msgid "" -":c:func:`PyType_Ready` automatically applies this flag to :ref:`static types" -" `." -msgstr "" - -#: ../../c-api/typeobj.rst:1307 -msgid "This flag is not inherited." -msgstr "" - -#: ../../c-api/typeobj.rst:1313 -msgid "" -"Disallow creating instances of the type: set " -":c:member:`~PyTypeObject.tp_new` to NULL and don't create the ``__new__`` " -"key in the type dictionary." -msgstr "" - -#: ../../c-api/typeobj.rst:1317 -msgid "" -"The flag must be set before creating the type, not after. For example, it " -"must be set before :c:func:`PyType_Ready` is called on the type." -msgstr "" - -#: ../../c-api/typeobj.rst:1320 -msgid "" -"The flag is set automatically on :ref:`static types ` if " -":c:member:`~PyTypeObject.tp_base` is NULL or ``&PyBaseObject_Type`` and " -":c:member:`~PyTypeObject.tp_new` is NULL." -msgstr "" - -#: ../../c-api/typeobj.rst:1326 -msgid "" -"This flag is not inherited. However, subclasses will not be instantiable " -"unless they provide a non-NULL :c:member:`~PyTypeObject.tp_new` (which is " -"only possible via the C API)." -msgstr "" - -#: ../../c-api/typeobj.rst:1333 -msgid "" -"To disallow instantiating a class directly but allow instantiating its " -"subclasses (e.g. for an :term:`abstract base class`), do not use this flag. " -"Instead, make :c:member:`~PyTypeObject.tp_new` only succeed for subclasses." -msgstr "" - -#: ../../c-api/typeobj.rst:1344 -msgid "" -"This bit indicates that instances of the class may match mapping patterns " -"when used as the subject of a :keyword:`match` block. It is automatically " -"set when registering or subclassing :class:`collections.abc.Mapping`, and " -"unset when registering :class:`collections.abc.Sequence`." -msgstr "" - -#: ../../c-api/typeobj.rst:1351 ../../c-api/typeobj.rst:1373 -msgid "" -":c:macro:`Py_TPFLAGS_MAPPING` and :c:macro:`Py_TPFLAGS_SEQUENCE` are " -"mutually exclusive; it is an error to enable both flags simultaneously." -msgstr "" - -#: ../../c-api/typeobj.rst:1356 -msgid "" -"This flag is inherited by types that do not already set " -":c:macro:`Py_TPFLAGS_SEQUENCE`." -msgstr "" - -#: ../../c-api/typeobj.rst:1359 ../../c-api/typeobj.rst:1381 -msgid ":pep:`634` -- Structural Pattern Matching: Specification" -msgstr "" - -#: ../../c-api/typeobj.rst:1366 -msgid "" -"This bit indicates that instances of the class may match sequence patterns " -"when used as the subject of a :keyword:`match` block. It is automatically " -"set when registering or subclassing :class:`collections.abc.Sequence`, and " -"unset when registering :class:`collections.abc.Mapping`." -msgstr "" - -#: ../../c-api/typeobj.rst:1378 -msgid "" -"This flag is inherited by types that do not already set " -":c:macro:`Py_TPFLAGS_MAPPING`." -msgstr "" - -#: ../../c-api/typeobj.rst:1388 -msgid "" -"Internal. Do not set or unset this flag. To indicate that a class has " -"changed call :c:func:`PyType_Modified`" -msgstr "" - -#: ../../c-api/typeobj.rst:1392 -msgid "" -"This flag is present in header files, but is not be used. It will be removed" -" in a future version of CPython" -msgstr "" - -#: ../../c-api/typeobj.rst:1398 -msgid "" -"An optional pointer to a NUL-terminated C string giving the docstring for " -"this type object. This is exposed as the :attr:`~type.__doc__` attribute on" -" the type and instances of the type." -msgstr "" - -#: ../../c-api/typeobj.rst:1404 -msgid "This field is *not* inherited by subtypes." -msgstr "*field* ini *tidak* diwariskan oleh subtipe." - -#: ../../c-api/typeobj.rst:1409 -msgid "" -"An optional pointer to a traversal function for the garbage collector. This" -" is only used if the :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit is set. The " -"signature is::" -msgstr "" - -#: ../../c-api/typeobj.rst:1412 -msgid "int tp_traverse(PyObject *self, visitproc visit, void *arg);" -msgstr "" - -#: ../../c-api/typeobj.rst:1414 ../../c-api/typeobj.rst:1560 -msgid "" -"More information about Python's garbage collection scheme can be found in " -"section :ref:`supporting-cycle-detection`." -msgstr "" - -#: ../../c-api/typeobj.rst:1417 -msgid "" -"The :c:member:`~PyTypeObject.tp_traverse` pointer is used by the garbage " -"collector to detect reference cycles. A typical implementation of a " -":c:member:`~PyTypeObject.tp_traverse` function simply calls " -":c:func:`Py_VISIT` on each of the instance's members that are Python objects" -" that the instance owns. For example, this is function " -":c:func:`!local_traverse` from the :mod:`!_thread` extension module::" -msgstr "" - -#: ../../c-api/typeobj.rst:1423 -msgid "" -"static int\n" -"local_traverse(PyObject *op, visitproc visit, void *arg)\n" -"{\n" -" localobject *self = (localobject *) op;\n" -" Py_VISIT(self->args);\n" -" Py_VISIT(self->kw);\n" -" Py_VISIT(self->dict);\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../c-api/typeobj.rst:1433 -msgid "" -"Note that :c:func:`Py_VISIT` is called only on those members that can " -"participate in reference cycles. Although there is also a ``self->key`` " -"member, it can only be ``NULL`` or a Python string and therefore cannot be " -"part of a reference cycle." -msgstr "" - -#: ../../c-api/typeobj.rst:1437 -msgid "" -"On the other hand, even if you know a member can never be part of a cycle, " -"as a debugging aid you may want to visit it anyway just so the :mod:`gc` " -"module's :func:`~gc.get_referents` function will include it." -msgstr "" - -#: ../../c-api/typeobj.rst:1441 -msgid "" -"Heap types (:c:macro:`Py_TPFLAGS_HEAPTYPE`) must visit their type with::" -msgstr "" - -#: ../../c-api/typeobj.rst:1443 -msgid "Py_VISIT(Py_TYPE(self));" -msgstr "" - -#: ../../c-api/typeobj.rst:1445 -msgid "" -"It is only needed since Python 3.9. To support Python 3.8 and older, this " -"line must be conditional::" -msgstr "" - -#: ../../c-api/typeobj.rst:1448 -msgid "" -"#if PY_VERSION_HEX >= 0x03090000\n" -" Py_VISIT(Py_TYPE(self));\n" -"#endif" -msgstr "" - -#: ../../c-api/typeobj.rst:1452 -msgid "" -"If the :c:macro:`Py_TPFLAGS_MANAGED_DICT` bit is set in the " -":c:member:`~PyTypeObject.tp_flags` field, the traverse function must call " -":c:func:`PyObject_VisitManagedDict` like this::" -msgstr "" - -#: ../../c-api/typeobj.rst:1456 -msgid "PyObject_VisitManagedDict((PyObject*)self, visit, arg);" -msgstr "" - -#: ../../c-api/typeobj.rst:1459 -msgid "" -"When implementing :c:member:`~PyTypeObject.tp_traverse`, only the members " -"that the instance *owns* (by having :term:`strong references ` to them) must be visited. For instance, if an object supports " -"weak references via the :c:member:`~PyTypeObject.tp_weaklist` slot, the " -"pointer supporting the linked list (what *tp_weaklist* points to) must " -"**not** be visited as the instance does not directly own the weak references" -" to itself (the weakreference list is there to support the weak reference " -"machinery, but the instance has no strong reference to the elements inside " -"it, as they are allowed to be removed even if the instance is still alive)." -msgstr "" - -#: ../../c-api/typeobj.rst:1470 -msgid "" -"Note that :c:func:`Py_VISIT` requires the *visit* and *arg* parameters to " -":c:func:`!local_traverse` to have these specific names; don't name them just" -" anything." -msgstr "" - -#: ../../c-api/typeobj.rst:1474 -msgid "" -"Instances of :ref:`heap-allocated types ` hold a reference to " -"their type. Their traversal function must therefore either visit " -":c:func:`Py_TYPE(self) `, or delegate this responsibility by " -"calling ``tp_traverse`` of another heap-allocated type (such as a heap-" -"allocated superclass). If they do not, the type object may not be garbage-" -"collected." -msgstr "" - -#: ../../c-api/typeobj.rst:1483 -msgid "" -"Heap-allocated types are expected to visit ``Py_TYPE(self)`` in " -"``tp_traverse``. In earlier versions of Python, due to `bug 40217 " -"`_, doing this may lead to crashes in " -"subclasses." -msgstr "" - -#: ../../c-api/typeobj.rst:1492 -msgid "" -"This field is inherited by subtypes together with " -":c:member:`~PyTypeObject.tp_clear` and the :c:macro:`Py_TPFLAGS_HAVE_GC` " -"flag bit: the flag bit, :c:member:`~PyTypeObject.tp_traverse`, and " -":c:member:`~PyTypeObject.tp_clear` are all inherited from the base type if " -"they are all zero in the subtype." -msgstr "" - -#: ../../c-api/typeobj.rst:1500 -msgid "" -"An optional pointer to a clear function for the garbage collector. This is " -"only used if the :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit is set. The " -"signature is::" -msgstr "" - -#: ../../c-api/typeobj.rst:1503 -msgid "int tp_clear(PyObject *);" -msgstr "" - -#: ../../c-api/typeobj.rst:1505 -msgid "" -"The :c:member:`~PyTypeObject.tp_clear` member function is used to break " -"reference cycles in cyclic garbage detected by the garbage collector. Taken" -" together, all :c:member:`~PyTypeObject.tp_clear` functions in the system " -"must combine to break all reference cycles. This is subtle, and if in any " -"doubt supply a :c:member:`~PyTypeObject.tp_clear` function. For example, " -"the tuple type does not implement a :c:member:`~PyTypeObject.tp_clear` " -"function, because it's possible to prove that no reference cycle can be " -"composed entirely of tuples. Therefore the " -":c:member:`~PyTypeObject.tp_clear` functions of other types must be " -"sufficient to break any cycle containing a tuple. This isn't immediately " -"obvious, and there's rarely a good reason to avoid implementing " -":c:member:`~PyTypeObject.tp_clear`." -msgstr "" - -#: ../../c-api/typeobj.rst:1515 -msgid "" -"Implementations of :c:member:`~PyTypeObject.tp_clear` should drop the " -"instance's references to those of its members that may be Python objects, " -"and set its pointers to those members to ``NULL``, as in the following " -"example::" -msgstr "" - -#: ../../c-api/typeobj.rst:1519 -msgid "" -"static int\n" -"local_clear(PyObject *op)\n" -"{\n" -" localobject *self = (localobject *) op;\n" -" Py_CLEAR(self->key);\n" -" Py_CLEAR(self->args);\n" -" Py_CLEAR(self->kw);\n" -" Py_CLEAR(self->dict);\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../c-api/typeobj.rst:1530 -msgid "" -"The :c:func:`Py_CLEAR` macro should be used, because clearing references is " -"delicate: the reference to the contained object must not be released (via " -":c:func:`Py_DECREF`) until after the pointer to the contained object is set " -"to ``NULL``. This is because releasing the reference may cause the " -"contained object to become trash, triggering a chain of reclamation activity" -" that may include invoking arbitrary Python code (due to finalizers, or " -"weakref callbacks, associated with the contained object). If it's possible " -"for such code to reference *self* again, it's important that the pointer to " -"the contained object be ``NULL`` at that time, so that *self* knows the " -"contained object can no longer be used. The :c:func:`Py_CLEAR` macro " -"performs the operations in a safe order." -msgstr "" - -#: ../../c-api/typeobj.rst:1542 -msgid "" -"If the :c:macro:`Py_TPFLAGS_MANAGED_DICT` bit is set in the " -":c:member:`~PyTypeObject.tp_flags` field, the traverse function must call " -":c:func:`PyObject_ClearManagedDict` like this::" -msgstr "" - -#: ../../c-api/typeobj.rst:1546 -msgid "PyObject_ClearManagedDict((PyObject*)self);" -msgstr "" - -#: ../../c-api/typeobj.rst:1548 -msgid "" -"Note that :c:member:`~PyTypeObject.tp_clear` is not *always* called before " -"an instance is deallocated. For example, when reference counting is enough " -"to determine that an object is no longer used, the cyclic garbage collector " -"is not involved and :c:member:`~PyTypeObject.tp_dealloc` is called directly." -msgstr "" - -#: ../../c-api/typeobj.rst:1554 -msgid "" -"Because the goal of :c:member:`~PyTypeObject.tp_clear` functions is to break" -" reference cycles, it's not necessary to clear contained objects like Python" -" strings or Python integers, which can't participate in reference cycles. On" -" the other hand, it may be convenient to clear all contained Python objects," -" and write the type's :c:member:`~PyTypeObject.tp_dealloc` function to " -"invoke :c:member:`~PyTypeObject.tp_clear`." -msgstr "" - -#: ../../c-api/typeobj.rst:1567 -msgid "" -"This field is inherited by subtypes together with " -":c:member:`~PyTypeObject.tp_traverse` and the :c:macro:`Py_TPFLAGS_HAVE_GC` " -"flag bit: the flag bit, :c:member:`~PyTypeObject.tp_traverse`, and " -":c:member:`~PyTypeObject.tp_clear` are all inherited from the base type if " -"they are all zero in the subtype." -msgstr "" - -#: ../../c-api/typeobj.rst:1575 -msgid "" -"An optional pointer to the rich comparison function, whose signature is::" -msgstr "" - -#: ../../c-api/typeobj.rst:1577 -msgid "PyObject *tp_richcompare(PyObject *self, PyObject *other, int op);" -msgstr "" - -#: ../../c-api/typeobj.rst:1579 -msgid "" -"The first parameter is guaranteed to be an instance of the type that is " -"defined by :c:type:`PyTypeObject`." -msgstr "" - -#: ../../c-api/typeobj.rst:1582 -msgid "" -"The function should return the result of the comparison (usually ``Py_True``" -" or ``Py_False``). If the comparison is undefined, it must return " -"``Py_NotImplemented``, if another error occurred it must return ``NULL`` and" -" set an exception condition." -msgstr "" - -#: ../../c-api/typeobj.rst:1587 -msgid "" -"The following constants are defined to be used as the third argument for " -":c:member:`~PyTypeObject.tp_richcompare` and for " -":c:func:`PyObject_RichCompare`:" -msgstr "" - -#: ../../c-api/typeobj.rst:1593 -msgid "Constant" -msgstr "Konstanta" - -#: ../../c-api/typeobj.rst:1593 -msgid "Comparison" -msgstr "Perbandingan" - -#: ../../c-api/typeobj.rst:1595 -msgid "``<``" -msgstr "``<``" - -#: ../../c-api/typeobj.rst:1597 -msgid "``<=``" -msgstr "``<=``" - -#: ../../c-api/typeobj.rst:1599 -msgid "``==``" -msgstr "``==``" - -#: ../../c-api/typeobj.rst:1601 -msgid "``!=``" -msgstr "``!=``" - -#: ../../c-api/typeobj.rst:1603 -msgid "``>``" -msgstr "``>``" - -#: ../../c-api/typeobj.rst:1605 -msgid "``>=``" -msgstr "``>=``" - -#: ../../c-api/typeobj.rst:1608 -msgid "" -"The following macro is defined to ease writing rich comparison functions:" -msgstr "" - -#: ../../c-api/typeobj.rst:1612 -msgid "" -"Return ``Py_True`` or ``Py_False`` from the function, depending on the " -"result of a comparison. VAL_A and VAL_B must be orderable by C comparison " -"operators (for example, they may be C ints or floats). The third argument " -"specifies the requested operation, as for :c:func:`PyObject_RichCompare`." -msgstr "" - -#: ../../c-api/typeobj.rst:1618 -msgid "The returned value is a new :term:`strong reference`." -msgstr "" - -#: ../../c-api/typeobj.rst:1620 -msgid "On error, sets an exception and returns ``NULL`` from the function." -msgstr "" - -#: ../../c-api/typeobj.rst:1628 -msgid "" -"This field is inherited by subtypes together with " -":c:member:`~PyTypeObject.tp_hash`: a subtype inherits " -":c:member:`~PyTypeObject.tp_richcompare` and " -":c:member:`~PyTypeObject.tp_hash` when the subtype's " -":c:member:`~PyTypeObject.tp_richcompare` and " -":c:member:`~PyTypeObject.tp_hash` are both ``NULL``." -msgstr "" - -#: ../../c-api/typeobj.rst:1635 -msgid "" -":c:data:`PyBaseObject_Type` provides a " -":c:member:`~PyTypeObject.tp_richcompare` implementation, which may be " -"inherited. However, if only :c:member:`~PyTypeObject.tp_hash` is defined, " -"not even the inherited function is used and instances of the type will not " -"be able to participate in any comparisons." -msgstr "" - -#: ../../c-api/typeobj.rst:1644 -msgid "" -"While this field is still supported, :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` " -"should be used instead, if at all possible." -msgstr "" - -#: ../../c-api/typeobj.rst:1647 -msgid "" -"If the instances of this type are weakly referenceable, this field is " -"greater than zero and contains the offset in the instance structure of the " -"weak reference list head (ignoring the GC header, if present); this offset " -"is used by :c:func:`PyObject_ClearWeakRefs` and the ``PyWeakref_*`` " -"functions. The instance structure needs to include a field of type " -":c:expr:`PyObject*` which is initialized to ``NULL``." -msgstr "" - -#: ../../c-api/typeobj.rst:1654 -msgid "" -"Do not confuse this field with :c:member:`~PyTypeObject.tp_weaklist`; that " -"is the list head for weak references to the type object itself." -msgstr "" - -#: ../../c-api/typeobj.rst:1657 -msgid "" -"It is an error to set both the :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` bit and" -" :c:member:`~PyTypeObject.tp_weaklistoffset`." -msgstr "" - -#: ../../c-api/typeobj.rst:1662 -msgid "" -"This field is inherited by subtypes, but see the rules listed below. A " -"subtype may override this offset; this means that the subtype uses a " -"different weak reference list head than the base type. Since the list head " -"is always found via :c:member:`~PyTypeObject.tp_weaklistoffset`, this should" -" not be a problem." -msgstr "" - -#: ../../c-api/typeobj.rst:1669 -msgid "" -"If the :c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` bit is set in the " -":c:member:`~PyTypeObject.tp_flags` field, then " -":c:member:`~PyTypeObject.tp_weaklistoffset` will be set to a negative value," -" to indicate that it is unsafe to use this field." -msgstr "" - -#: ../../c-api/typeobj.rst:1677 -msgid "" -"An optional pointer to a function that returns an :term:`iterator` for the " -"object. Its presence normally signals that the instances of this type are " -":term:`iterable` (although sequences may be iterable without this function)." -msgstr "" - -#: ../../c-api/typeobj.rst:1681 -msgid "This function has the same signature as :c:func:`PyObject_GetIter`::" -msgstr "" - -#: ../../c-api/typeobj.rst:1683 -msgid "PyObject *tp_iter(PyObject *self);" -msgstr "" - -#: ../../c-api/typeobj.rst:1692 -msgid "" -"An optional pointer to a function that returns the next item in an " -":term:`iterator`. The signature is::" -msgstr "" - -#: ../../c-api/typeobj.rst:1695 -msgid "PyObject *tp_iternext(PyObject *self);" -msgstr "" - -#: ../../c-api/typeobj.rst:1697 -msgid "" -"When the iterator is exhausted, it must return ``NULL``; a " -":exc:`StopIteration` exception may or may not be set. When another error " -"occurs, it must return ``NULL`` too. Its presence signals that the " -"instances of this type are iterators." -msgstr "" - -#: ../../c-api/typeobj.rst:1702 -msgid "" -"Iterator types should also define the :c:member:`~PyTypeObject.tp_iter` " -"function, and that function should return the iterator instance itself (not " -"a new iterator instance)." -msgstr "" - -#: ../../c-api/typeobj.rst:1706 -msgid "This function has the same signature as :c:func:`PyIter_Next`." -msgstr "" - -#: ../../c-api/typeobj.rst:1715 -msgid "" -"An optional pointer to a static ``NULL``-terminated array of " -":c:type:`PyMethodDef` structures, declaring regular methods of this type." -msgstr "" - -#: ../../c-api/typeobj.rst:1718 -msgid "" -"For each entry in the array, an entry is added to the type's dictionary (see" -" :c:member:`~PyTypeObject.tp_dict` below) containing a method descriptor." -msgstr "" - -#: ../../c-api/typeobj.rst:1723 -msgid "" -"This field is not inherited by subtypes (methods are inherited through a " -"different mechanism)." -msgstr "" - -#: ../../c-api/typeobj.rst:1729 -msgid "" -"An optional pointer to a static ``NULL``-terminated array of " -":c:type:`PyMemberDef` structures, declaring regular data members (fields or " -"slots) of instances of this type." -msgstr "" - -#: ../../c-api/typeobj.rst:1733 -msgid "" -"For each entry in the array, an entry is added to the type's dictionary (see" -" :c:member:`~PyTypeObject.tp_dict` below) containing a member descriptor." -msgstr "" - -#: ../../c-api/typeobj.rst:1738 -msgid "" -"This field is not inherited by subtypes (members are inherited through a " -"different mechanism)." -msgstr "" - -#: ../../c-api/typeobj.rst:1744 -msgid "" -"An optional pointer to a static ``NULL``-terminated array of " -":c:type:`PyGetSetDef` structures, declaring computed attributes of instances" -" of this type." -msgstr "" - -#: ../../c-api/typeobj.rst:1747 -msgid "" -"For each entry in the array, an entry is added to the type's dictionary (see" -" :c:member:`~PyTypeObject.tp_dict` below) containing a getset descriptor." -msgstr "" - -#: ../../c-api/typeobj.rst:1752 -msgid "" -"This field is not inherited by subtypes (computed attributes are inherited " -"through a different mechanism)." -msgstr "" - -#: ../../c-api/typeobj.rst:1758 -msgid "" -"An optional pointer to a base type from which type properties are inherited." -" At this level, only single inheritance is supported; multiple inheritance " -"require dynamically creating a type object by calling the metatype." -msgstr "" - -#: ../../c-api/typeobj.rst:1766 -msgid "" -"Slot initialization is subject to the rules of initializing globals. C99 " -"requires the initializers to be \"address constants\". Function designators" -" like :c:func:`PyType_GenericNew`, with implicit conversion to a pointer, " -"are valid C99 address constants." -msgstr "" - -#: ../../c-api/typeobj.rst:1771 -msgid "" -"However, the unary '&' operator applied to a non-static variable like " -":c:data:`PyBaseObject_Type` is not required to produce an address constant." -" Compilers may support this (gcc does), MSVC does not. Both compilers are " -"strictly standard conforming in this particular behavior." -msgstr "" - -#: ../../c-api/typeobj.rst:1777 -msgid "" -"Consequently, :c:member:`~PyTypeObject.tp_base` should be set in the " -"extension module's init function." -msgstr "" - -#: ../../c-api/typeobj.rst:1782 -msgid "This field is not inherited by subtypes (obviously)." -msgstr "" - -#: ../../c-api/typeobj.rst:1786 -msgid "" -"This field defaults to ``&PyBaseObject_Type`` (which to Python programmers " -"is known as the type :class:`object`)." -msgstr "" - -#: ../../c-api/typeobj.rst:1792 -msgid "The type's dictionary is stored here by :c:func:`PyType_Ready`." -msgstr "" - -#: ../../c-api/typeobj.rst:1794 -msgid "" -"This field should normally be initialized to ``NULL`` before PyType_Ready is" -" called; it may also be initialized to a dictionary containing initial " -"attributes for the type. Once :c:func:`PyType_Ready` has initialized the " -"type, extra attributes for the type may be added to this dictionary only if " -"they don't correspond to overloaded operations (like " -":meth:`~object.__add__`). Once initialization for the type has finished, " -"this field should be treated as read-only." -msgstr "" - -#: ../../c-api/typeobj.rst:1802 -msgid "" -"Some types may not store their dictionary in this slot. Use " -":c:func:`PyType_GetDict` to retrieve the dictionary for an arbitrary type." -msgstr "" - -#: ../../c-api/typeobj.rst:1808 -msgid "" -"Internals detail: For static builtin types, this is always ``NULL``. " -"Instead, the dict for such types is stored on ``PyInterpreterState``. Use " -":c:func:`PyType_GetDict` to get the dict for an arbitrary type." -msgstr "" - -#: ../../c-api/typeobj.rst:1814 -msgid "" -"This field is not inherited by subtypes (though the attributes defined in " -"here are inherited through a different mechanism)." -msgstr "" - -#: ../../c-api/typeobj.rst:1819 -msgid "" -"If this field is ``NULL``, :c:func:`PyType_Ready` will assign a new " -"dictionary to it." -msgstr "" - -#: ../../c-api/typeobj.rst:1824 -msgid "" -"It is not safe to use :c:func:`PyDict_SetItem` on or otherwise modify " -":c:member:`~PyTypeObject.tp_dict` with the dictionary C-API." -msgstr "" - -#: ../../c-api/typeobj.rst:1830 -msgid "An optional pointer to a \"descriptor get\" function." -msgstr "" - -#: ../../c-api/typeobj.rst:1832 ../../c-api/typeobj.rst:1848 -#: ../../c-api/typeobj.rst:1912 ../../c-api/typeobj.rst:1942 -#: ../../c-api/typeobj.rst:1966 -msgid "The function signature is::" -msgstr "" - -#: ../../c-api/typeobj.rst:1834 -msgid "" -"PyObject * tp_descr_get(PyObject *self, PyObject *obj, PyObject *type);" -msgstr "" - -#: ../../c-api/typeobj.rst:1845 -msgid "" -"An optional pointer to a function for setting and deleting a descriptor's " -"value." -msgstr "" - -#: ../../c-api/typeobj.rst:1850 -msgid "int tp_descr_set(PyObject *self, PyObject *obj, PyObject *value);" -msgstr "" - -#: ../../c-api/typeobj.rst:1852 -msgid "The *value* argument is set to ``NULL`` to delete the value." -msgstr "" - -#: ../../c-api/typeobj.rst:1863 -msgid "" -"While this field is still supported, :c:macro:`Py_TPFLAGS_MANAGED_DICT` " -"should be used instead, if at all possible." -msgstr "" - -#: ../../c-api/typeobj.rst:1866 -msgid "" -"If the instances of this type have a dictionary containing instance " -"variables, this field is non-zero and contains the offset in the instances " -"of the type of the instance variable dictionary; this offset is used by " -":c:func:`PyObject_GenericGetAttr`." -msgstr "" - -#: ../../c-api/typeobj.rst:1871 -msgid "" -"Do not confuse this field with :c:member:`~PyTypeObject.tp_dict`; that is " -"the dictionary for attributes of the type object itself." -msgstr "" - -#: ../../c-api/typeobj.rst:1874 -msgid "" -"The value specifies the offset of the dictionary from the start of the " -"instance structure." -msgstr "" - -#: ../../c-api/typeobj.rst:1876 -msgid "" -"The :c:member:`~PyTypeObject.tp_dictoffset` should be regarded as write-" -"only. To get the pointer to the dictionary call " -":c:func:`PyObject_GenericGetDict`. Calling :c:func:`PyObject_GenericGetDict`" -" may need to allocate memory for the dictionary, so it is may be more " -"efficient to call :c:func:`PyObject_GetAttr` when accessing an attribute on " -"the object." -msgstr "" - -#: ../../c-api/typeobj.rst:1882 -msgid "" -"It is an error to set both the :c:macro:`Py_TPFLAGS_MANAGED_DICT` bit and " -":c:member:`~PyTypeObject.tp_dictoffset`." -msgstr "" - -#: ../../c-api/typeobj.rst:1887 -msgid "" -"This field is inherited by subtypes. A subtype should not override this " -"offset; doing so could be unsafe, if C code tries to access the dictionary " -"at the previous offset. To properly support inheritance, use " -":c:macro:`Py_TPFLAGS_MANAGED_DICT`." -msgstr "" - -#: ../../c-api/typeobj.rst:1894 -msgid "" -"This slot has no default. For :ref:`static types `, if the " -"field is ``NULL`` then no :attr:`~object.__dict__` gets created for " -"instances." -msgstr "" - -#: ../../c-api/typeobj.rst:1897 -msgid "" -"If the :c:macro:`Py_TPFLAGS_MANAGED_DICT` bit is set in the " -":c:member:`~PyTypeObject.tp_flags` field, then " -":c:member:`~PyTypeObject.tp_dictoffset` will be set to ``-1``, to indicate " -"that it is unsafe to use this field." -msgstr "" - -#: ../../c-api/typeobj.rst:1905 -msgid "An optional pointer to an instance initialization function." -msgstr "" - -#: ../../c-api/typeobj.rst:1907 -msgid "" -"This function corresponds to the :meth:`~object.__init__` method of classes." -" Like :meth:`!__init__`, it is possible to create an instance without " -"calling :meth:`!__init__`, and it is possible to reinitialize an instance by" -" calling its :meth:`!__init__` method again." -msgstr "" - -#: ../../c-api/typeobj.rst:1914 -msgid "int tp_init(PyObject *self, PyObject *args, PyObject *kwds);" -msgstr "" - -#: ../../c-api/typeobj.rst:1916 -msgid "" -"The self argument is the instance to be initialized; the *args* and *kwds* " -"arguments represent positional and keyword arguments of the call to " -":meth:`~object.__init__`." -msgstr "" - -#: ../../c-api/typeobj.rst:1920 -msgid "" -"The :c:member:`~PyTypeObject.tp_init` function, if not ``NULL``, is called " -"when an instance is created normally by calling its type, after the type's " -":c:member:`~PyTypeObject.tp_new` function has returned an instance of the " -"type. If the :c:member:`~PyTypeObject.tp_new` function returns an instance " -"of some other type that is not a subtype of the original type, no " -":c:member:`~PyTypeObject.tp_init` function is called; if " -":c:member:`~PyTypeObject.tp_new` returns an instance of a subtype of the " -"original type, the subtype's :c:member:`~PyTypeObject.tp_init` is called." -msgstr "" - -#: ../../c-api/typeobj.rst:1927 -msgid "Returns ``0`` on success, ``-1`` and sets an exception on error." -msgstr "" - -#: ../../c-api/typeobj.rst:1935 -msgid "" -"For :ref:`static types ` this field does not have a default." -msgstr "" - -#: ../../c-api/typeobj.rst:1940 -msgid "An optional pointer to an instance allocation function." -msgstr "" - -#: ../../c-api/typeobj.rst:1944 -msgid "PyObject *tp_alloc(PyTypeObject *self, Py_ssize_t nitems);" -msgstr "" - -#: ../../c-api/typeobj.rst:1948 -msgid "" -"This field is inherited by static subtypes, but not by dynamic subtypes " -"(subtypes created by a class statement)." -msgstr "" - -#: ../../c-api/typeobj.rst:1953 -msgid "" -"For dynamic subtypes, this field is always set to " -":c:func:`PyType_GenericAlloc`, to force a standard heap allocation strategy." -msgstr "" - -#: ../../c-api/typeobj.rst:1957 -msgid "" -"For static subtypes, :c:data:`PyBaseObject_Type` uses " -":c:func:`PyType_GenericAlloc`. That is the recommended value for all " -"statically defined types." -msgstr "" - -#: ../../c-api/typeobj.rst:1964 -msgid "An optional pointer to an instance creation function." -msgstr "" - -#: ../../c-api/typeobj.rst:1968 -msgid "" -"PyObject *tp_new(PyTypeObject *subtype, PyObject *args, PyObject *kwds);" -msgstr "" - -#: ../../c-api/typeobj.rst:1970 -msgid "" -"The *subtype* argument is the type of the object being created; the *args* " -"and *kwds* arguments represent positional and keyword arguments of the call " -"to the type. Note that *subtype* doesn't have to equal the type whose " -":c:member:`~PyTypeObject.tp_new` function is called; it may be a subtype of " -"that type (but not an unrelated type)." -msgstr "" - -#: ../../c-api/typeobj.rst:1976 -msgid "" -"The :c:member:`~PyTypeObject.tp_new` function should call " -"``subtype->tp_alloc(subtype, nitems)`` to allocate space for the object, and" -" then do only as much further initialization as is absolutely necessary. " -"Initialization that can safely be ignored or repeated should be placed in " -"the :c:member:`~PyTypeObject.tp_init` handler. A good rule of thumb is that" -" for immutable types, all initialization should take place in " -":c:member:`~PyTypeObject.tp_new`, while for mutable types, most " -"initialization should be deferred to :c:member:`~PyTypeObject.tp_init`." -msgstr "" - -#: ../../c-api/typeobj.rst:1984 -msgid "" -"Set the :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag to disallow " -"creating instances of the type in Python." -msgstr "" - -#: ../../c-api/typeobj.rst:1989 -msgid "" -"This field is inherited by subtypes, except it is not inherited by " -":ref:`static types ` whose :c:member:`~PyTypeObject.tp_base` " -"is ``NULL`` or ``&PyBaseObject_Type``." -msgstr "" - -#: ../../c-api/typeobj.rst:1995 -msgid "" -"For :ref:`static types ` this field has no default. This means" -" if the slot is defined as ``NULL``, the type cannot be called to create new" -" instances; presumably there is some other way to create instances, like a " -"factory function." -msgstr "" - -#: ../../c-api/typeobj.rst:2003 -msgid "" -"An optional pointer to an instance deallocation function. Its signature " -"is::" -msgstr "" - -#: ../../c-api/typeobj.rst:2005 -msgid "void tp_free(void *self);" -msgstr "" - -#: ../../c-api/typeobj.rst:2007 -msgid "" -"An initializer that is compatible with this signature is " -":c:func:`PyObject_Free`." -msgstr "" - -#: ../../c-api/typeobj.rst:2011 -msgid "" -"This field is inherited by static subtypes, but not by dynamic subtypes " -"(subtypes created by a class statement)" -msgstr "" - -#: ../../c-api/typeobj.rst:2016 -msgid "" -"In dynamic subtypes, this field is set to a deallocator suitable to match " -":c:func:`PyType_GenericAlloc` and the value of the " -":c:macro:`Py_TPFLAGS_HAVE_GC` flag bit." -msgstr "" - -#: ../../c-api/typeobj.rst:2020 -msgid "" -"For static subtypes, :c:data:`PyBaseObject_Type` uses " -":c:func:`PyObject_Free`." -msgstr "" - -#: ../../c-api/typeobj.rst:2025 -msgid "An optional pointer to a function called by the garbage collector." -msgstr "" - -#: ../../c-api/typeobj.rst:2027 -msgid "" -"The garbage collector needs to know whether a particular object is " -"collectible or not. Normally, it is sufficient to look at the object's " -"type's :c:member:`~PyTypeObject.tp_flags` field, and check the " -":c:macro:`Py_TPFLAGS_HAVE_GC` flag bit. But some types have a mixture of " -"statically and dynamically allocated instances, and the statically allocated" -" instances are not collectible. Such types should define this function; it " -"should return ``1`` for a collectible instance, and ``0`` for a non-" -"collectible instance. The signature is::" -msgstr "" - -#: ../../c-api/typeobj.rst:2035 -msgid "int tp_is_gc(PyObject *self);" -msgstr "" - -#: ../../c-api/typeobj.rst:2037 -msgid "" -"(The only example of this are types themselves. The metatype, " -":c:data:`PyType_Type`, defines this function to distinguish between " -"statically and :ref:`dynamically allocated types `.)" -msgstr "" - -#: ../../c-api/typeobj.rst:2047 -msgid "" -"This slot has no default. If this field is ``NULL``, " -":c:macro:`Py_TPFLAGS_HAVE_GC` is used as the functional equivalent." -msgstr "" - -#: ../../c-api/typeobj.rst:2053 -msgid "Tuple of base types." -msgstr "" - -#: ../../c-api/typeobj.rst:2055 ../../c-api/typeobj.rst:2079 -msgid "" -"This field should be set to ``NULL`` and treated as read-only. Python will " -"fill it in when the type is :c:func:`initialized `." -msgstr "" - -#: ../../c-api/typeobj.rst:2058 -msgid "" -"For dynamically created classes, the ``Py_tp_bases`` :c:type:`slot " -"` can be used instead of the *bases* argument of " -":c:func:`PyType_FromSpecWithBases`. The argument form is preferred." -msgstr "" - -#: ../../c-api/typeobj.rst:2065 -msgid "" -"Multiple inheritance does not work well for statically defined types. If you" -" set ``tp_bases`` to a tuple, Python will not raise an error, but some slots" -" will only be inherited from the first base." -msgstr "" - -#: ../../c-api/typeobj.rst:2071 ../../c-api/typeobj.rst:2094 -#: ../../c-api/typeobj.rst:2111 ../../c-api/typeobj.rst:2128 -#: ../../c-api/typeobj.rst:2142 -msgid "This field is not inherited." -msgstr "" - -#: ../../c-api/typeobj.rst:2076 -msgid "" -"Tuple containing the expanded set of base types, starting with the type " -"itself and ending with :class:`object`, in Method Resolution Order." -msgstr "" - -#: ../../c-api/typeobj.rst:2084 -msgid "" -"This field is not inherited; it is calculated fresh by " -":c:func:`PyType_Ready`." -msgstr "" - -#: ../../c-api/typeobj.rst:2090 -msgid "Unused. Internal use only." -msgstr "" - -#: ../../c-api/typeobj.rst:2099 -msgid "" -"A collection of subclasses. Internal use only. May be an invalid pointer." -msgstr "" - -#: ../../c-api/typeobj.rst:2101 -msgid "" -"To get a list of subclasses, call the Python method " -":py:meth:`~type.__subclasses__`." -msgstr "" - -#: ../../c-api/typeobj.rst:2106 -msgid "" -"For some types, this field does not hold a valid :c:expr:`PyObject*`. The " -"type was changed to :c:expr:`void*` to indicate this." -msgstr "" - -#: ../../c-api/typeobj.rst:2116 -msgid "" -"Weak reference list head, for weak references to this type object. Not " -"inherited. Internal use only." -msgstr "" - -#: ../../c-api/typeobj.rst:2121 -msgid "" -"Internals detail: For the static builtin types this is always ``NULL``, even" -" if weakrefs are added. Instead, the weakrefs for each are stored on " -"``PyInterpreterState``. Use the public C-API or the internal " -"``_PyObject_GET_WEAKREFS_LISTPTR()`` macro to avoid the distinction." -msgstr "" - -#: ../../c-api/typeobj.rst:2133 -msgid "" -"This field is deprecated. Use :c:member:`~PyTypeObject.tp_finalize` " -"instead." -msgstr "" - -#: ../../c-api/typeobj.rst:2138 -msgid "Used to index into the method cache. Internal use only." -msgstr "" - -#: ../../c-api/typeobj.rst:2147 -msgid "" -"An optional pointer to an instance finalization function. Its signature " -"is::" -msgstr "" - -#: ../../c-api/typeobj.rst:2149 -msgid "void tp_finalize(PyObject *self);" -msgstr "" - -#: ../../c-api/typeobj.rst:2151 -msgid "" -"If :c:member:`~PyTypeObject.tp_finalize` is set, the interpreter calls it " -"once when finalizing an instance. It is called either from the garbage " -"collector (if the instance is part of an isolated reference cycle) or just " -"before the object is deallocated. Either way, it is guaranteed to be called" -" before attempting to break reference cycles, ensuring that it finds the " -"object in a sane state." -msgstr "" - -#: ../../c-api/typeobj.rst:2158 -msgid "" -":c:member:`~PyTypeObject.tp_finalize` should not mutate the current " -"exception status; therefore, a recommended way to write a non-trivial " -"finalizer is::" -msgstr "" - -#: ../../c-api/typeobj.rst:2161 -msgid "" -"static void\n" -"local_finalize(PyObject *self)\n" -"{\n" -" /* Save the current exception, if any. */\n" -" PyObject *exc = PyErr_GetRaisedException();\n" -"\n" -" /* ... */\n" -"\n" -" /* Restore the saved exception. */\n" -" PyErr_SetRaisedException(exc);\n" -"}" -msgstr "" - -#: ../../c-api/typeobj.rst:2181 -msgid "" -"Before version 3.8 it was necessary to set the " -":c:macro:`Py_TPFLAGS_HAVE_FINALIZE` flags bit in order for this field to be " -"used. This is no longer required." -msgstr "" - -#: ../../c-api/typeobj.rst:2185 -msgid "\"Safe object finalization\" (:pep:`442`)" -msgstr "" - -#: ../../c-api/typeobj.rst:2190 -msgid "" -"A :ref:`vectorcall function ` to use for calls of this type " -"object (rather than instances). In other words, ``tp_vectorcall`` can be " -"used to optimize ``type.__call__``, which typically returns a new instance " -"of *type*." -msgstr "" - -#: ../../c-api/typeobj.rst:2195 -msgid "" -"As with any vectorcall function, if ``tp_vectorcall`` is ``NULL``, the " -"*tp_call* protocol (``Py_TYPE(type)->tp_call``) is used instead." -msgstr "" - -#: ../../c-api/typeobj.rst:2200 -msgid "" -"The :ref:`vectorcall protocol ` requires that the vectorcall " -"function has the same behavior as the corresponding ``tp_call``. This means " -"that ``type->tp_vectorcall`` must match the behavior of " -"``Py_TYPE(type)->tp_call``." -msgstr "" - -#: ../../c-api/typeobj.rst:2205 -msgid "" -"Specifically, if *type* uses the default metaclass, ``type->tp_vectorcall`` " -"must behave the same as :c:expr:`PyType_Type->tp_call`, which:" -msgstr "" - -#: ../../c-api/typeobj.rst:2209 -msgid "calls ``type->tp_new``," -msgstr "" - -#: ../../c-api/typeobj.rst:2211 -msgid "" -"if the result is a subclass of *type*, calls ``type->tp_init`` on the result" -" of ``tp_new``, and" -msgstr "" - -#: ../../c-api/typeobj.rst:2214 -msgid "returns the result of ``tp_new``." -msgstr "" - -#: ../../c-api/typeobj.rst:2216 -msgid "" -"Typically, ``tp_vectorcall`` is overridden to optimize this process for " -"specific :c:member:`~PyTypeObject.tp_new` and " -":c:member:`~PyTypeObject.tp_init`. When doing this for user-subclassable " -"types, note that both can be overridden (using :py:func:`~object.__new__` " -"and :py:func:`~object.__init__`, respectively)." -msgstr "" - -#: ../../c-api/typeobj.rst:2227 -msgid "This field is never inherited." -msgstr "" - -#: ../../c-api/typeobj.rst:2229 -msgid "(the field exists since 3.8 but it's only used since 3.9)" -msgstr "" - -#: ../../c-api/typeobj.rst:2234 -msgid "Internal. Do not use." -msgstr "" - -#: ../../c-api/typeobj.rst:2242 -msgid "Static Types" -msgstr "" - -#: ../../c-api/typeobj.rst:2244 -msgid "" -"Traditionally, types defined in C code are *static*, that is, a static " -":c:type:`PyTypeObject` structure is defined directly in code and initialized" -" using :c:func:`PyType_Ready`." -msgstr "" - -#: ../../c-api/typeobj.rst:2248 -msgid "" -"This results in types that are limited relative to types defined in Python:" -msgstr "" - -#: ../../c-api/typeobj.rst:2250 -msgid "" -"Static types are limited to one base, i.e. they cannot use multiple " -"inheritance." -msgstr "" - -#: ../../c-api/typeobj.rst:2252 -msgid "" -"Static type objects (but not necessarily their instances) are immutable. It " -"is not possible to add or modify the type object's attributes from Python." -msgstr "" - -#: ../../c-api/typeobj.rst:2254 -msgid "" -"Static type objects are shared across :ref:`sub-interpreters `, so they should not include any subinterpreter-" -"specific state." -msgstr "" - -#: ../../c-api/typeobj.rst:2258 -msgid "" -"Also, since :c:type:`PyTypeObject` is only part of the :ref:`Limited API " -"` as an opaque struct, any extension modules using static " -"types must be compiled for a specific Python minor version." -msgstr "" - -#: ../../c-api/typeobj.rst:2266 -msgid "Heap Types" -msgstr "" - -#: ../../c-api/typeobj.rst:2268 -msgid "" -"An alternative to :ref:`static types ` is *heap-allocated " -"types*, or *heap types* for short, which correspond closely to classes " -"created by Python's ``class`` statement. Heap types have the " -":c:macro:`Py_TPFLAGS_HEAPTYPE` flag set." -msgstr "" - -#: ../../c-api/typeobj.rst:2273 -msgid "" -"This is done by filling a :c:type:`PyType_Spec` structure and calling " -":c:func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases`, " -":c:func:`PyType_FromModuleAndSpec`, or :c:func:`PyType_FromMetaclass`." -msgstr "" - -#: ../../c-api/typeobj.rst:2281 -msgid "Number Object Structures" -msgstr "" - -#: ../../c-api/typeobj.rst:2288 -msgid "" -"This structure holds pointers to the functions which an object uses to " -"implement the number protocol. Each function is used by the function of " -"similar name documented in the :ref:`number` section." -msgstr "" - -#: ../../c-api/typeobj.rst:2294 ../../c-api/typeobj.rst:2618 -msgid "Here is the structure definition::" -msgstr "" - -#: ../../c-api/typeobj.rst:2296 -msgid "" -"typedef struct {\n" -" binaryfunc nb_add;\n" -" binaryfunc nb_subtract;\n" -" binaryfunc nb_multiply;\n" -" binaryfunc nb_remainder;\n" -" binaryfunc nb_divmod;\n" -" ternaryfunc nb_power;\n" -" unaryfunc nb_negative;\n" -" unaryfunc nb_positive;\n" -" unaryfunc nb_absolute;\n" -" inquiry nb_bool;\n" -" unaryfunc nb_invert;\n" -" binaryfunc nb_lshift;\n" -" binaryfunc nb_rshift;\n" -" binaryfunc nb_and;\n" -" binaryfunc nb_xor;\n" -" binaryfunc nb_or;\n" -" unaryfunc nb_int;\n" -" void *nb_reserved;\n" -" unaryfunc nb_float;\n" -"\n" -" binaryfunc nb_inplace_add;\n" -" binaryfunc nb_inplace_subtract;\n" -" binaryfunc nb_inplace_multiply;\n" -" binaryfunc nb_inplace_remainder;\n" -" ternaryfunc nb_inplace_power;\n" -" binaryfunc nb_inplace_lshift;\n" -" binaryfunc nb_inplace_rshift;\n" -" binaryfunc nb_inplace_and;\n" -" binaryfunc nb_inplace_xor;\n" -" binaryfunc nb_inplace_or;\n" -"\n" -" binaryfunc nb_floor_divide;\n" -" binaryfunc nb_true_divide;\n" -" binaryfunc nb_inplace_floor_divide;\n" -" binaryfunc nb_inplace_true_divide;\n" -"\n" -" unaryfunc nb_index;\n" -"\n" -" binaryfunc nb_matrix_multiply;\n" -" binaryfunc nb_inplace_matrix_multiply;\n" -"} PyNumberMethods;" -msgstr "" - -#: ../../c-api/typeobj.rst:2341 -msgid "" -"Binary and ternary functions must check the type of all their operands, and " -"implement the necessary conversions (at least one of the operands is an " -"instance of the defined type). If the operation is not defined for the " -"given operands, binary and ternary functions must return " -"``Py_NotImplemented``, if another error occurred they must return ``NULL`` " -"and set an exception." -msgstr "" - -#: ../../c-api/typeobj.rst:2350 -msgid "" -"The :c:member:`~PyNumberMethods.nb_reserved` field should always be " -"``NULL``. It was previously called :c:member:`!nb_long`, and was renamed in" -" Python 3.0.1." -msgstr "" - -#: ../../c-api/typeobj.rst:2395 -msgid "Mapping Object Structures" -msgstr "" - -#: ../../c-api/typeobj.rst:2402 -msgid "" -"This structure holds pointers to the functions which an object uses to " -"implement the mapping protocol. It has three members:" -msgstr "" - -#: ../../c-api/typeobj.rst:2407 -msgid "" -"This function is used by :c:func:`PyMapping_Size` and " -":c:func:`PyObject_Size`, and has the same signature. This slot may be set " -"to ``NULL`` if the object has no defined length." -msgstr "" - -#: ../../c-api/typeobj.rst:2413 -msgid "" -"This function is used by :c:func:`PyObject_GetItem` and " -":c:func:`PySequence_GetSlice`, and has the same signature as " -":c:func:`!PyObject_GetItem`. This slot must be filled for the " -":c:func:`PyMapping_Check` function to return ``1``, it can be ``NULL`` " -"otherwise." -msgstr "" - -#: ../../c-api/typeobj.rst:2421 -msgid "" -"This function is used by :c:func:`PyObject_SetItem`, " -":c:func:`PyObject_DelItem`, :c:func:`PySequence_SetSlice` and " -":c:func:`PySequence_DelSlice`. It has the same signature as " -":c:func:`!PyObject_SetItem`, but *v* can also be set to ``NULL`` to delete " -"an item. If this slot is ``NULL``, the object does not support item " -"assignment and deletion." -msgstr "" - -#: ../../c-api/typeobj.rst:2432 -msgid "Sequence Object Structures" -msgstr "" - -#: ../../c-api/typeobj.rst:2439 -msgid "" -"This structure holds pointers to the functions which an object uses to " -"implement the sequence protocol." -msgstr "" - -#: ../../c-api/typeobj.rst:2444 -msgid "" -"This function is used by :c:func:`PySequence_Size` and " -":c:func:`PyObject_Size`, and has the same signature. It is also used for " -"handling negative indices via the :c:member:`~PySequenceMethods.sq_item` and" -" the :c:member:`~PySequenceMethods.sq_ass_item` slots." -msgstr "" - -#: ../../c-api/typeobj.rst:2451 -msgid "" -"This function is used by :c:func:`PySequence_Concat` and has the same " -"signature. It is also used by the ``+`` operator, after trying the numeric " -"addition via the :c:member:`~PyNumberMethods.nb_add` slot." -msgstr "" - -#: ../../c-api/typeobj.rst:2457 -msgid "" -"This function is used by :c:func:`PySequence_Repeat` and has the same " -"signature. It is also used by the ``*`` operator, after trying numeric " -"multiplication via the :c:member:`~PyNumberMethods.nb_multiply` slot." -msgstr "" - -#: ../../c-api/typeobj.rst:2463 -msgid "" -"This function is used by :c:func:`PySequence_GetItem` and has the same " -"signature. It is also used by :c:func:`PyObject_GetItem`, after trying the " -"subscription via the :c:member:`~PyMappingMethods.mp_subscript` slot. This " -"slot must be filled for the :c:func:`PySequence_Check` function to return " -"``1``, it can be ``NULL`` otherwise." -msgstr "" - -#: ../../c-api/typeobj.rst:2469 -msgid "" -"Negative indexes are handled as follows: if the " -":c:member:`~PySequenceMethods.sq_length` slot is filled, it is called and " -"the sequence length is used to compute a positive index which is passed to " -":c:member:`~PySequenceMethods.sq_item`. If :c:member:`!sq_length` is " -"``NULL``, the index is passed as is to the function." -msgstr "" - -#: ../../c-api/typeobj.rst:2476 -msgid "" -"This function is used by :c:func:`PySequence_SetItem` and has the same " -"signature. It is also used by :c:func:`PyObject_SetItem` and " -":c:func:`PyObject_DelItem`, after trying the item assignment and deletion " -"via the :c:member:`~PyMappingMethods.mp_ass_subscript` slot. This slot may " -"be left to ``NULL`` if the object does not support item assignment and " -"deletion." -msgstr "" - -#: ../../c-api/typeobj.rst:2485 -msgid "" -"This function may be used by :c:func:`PySequence_Contains` and has the same " -"signature. This slot may be left to ``NULL``, in this case " -":c:func:`!PySequence_Contains` simply traverses the sequence until it finds " -"a match." -msgstr "" - -#: ../../c-api/typeobj.rst:2492 -msgid "" -"This function is used by :c:func:`PySequence_InPlaceConcat` and has the same" -" signature. It should modify its first operand, and return it. This slot " -"may be left to ``NULL``, in this case :c:func:`!PySequence_InPlaceConcat` " -"will fall back to :c:func:`PySequence_Concat`. It is also used by the " -"augmented assignment ``+=``, after trying numeric in-place addition via the " -":c:member:`~PyNumberMethods.nb_inplace_add` slot." -msgstr "" - -#: ../../c-api/typeobj.rst:2501 -msgid "" -"This function is used by :c:func:`PySequence_InPlaceRepeat` and has the same" -" signature. It should modify its first operand, and return it. This slot " -"may be left to ``NULL``, in this case :c:func:`!PySequence_InPlaceRepeat` " -"will fall back to :c:func:`PySequence_Repeat`. It is also used by the " -"augmented assignment ``*=``, after trying numeric in-place multiplication " -"via the :c:member:`~PyNumberMethods.nb_inplace_multiply` slot." -msgstr "" - -#: ../../c-api/typeobj.rst:2512 -msgid "Buffer Object Structures" -msgstr "" - -#: ../../c-api/typeobj.rst:2520 -msgid "" -"This structure holds pointers to the functions required by the :ref:`Buffer " -"protocol `. The protocol defines how an exporter object can " -"expose its internal data to consumer objects." -msgstr "" - -#: ../../c-api/typeobj.rst:2526 ../../c-api/typeobj.rst:2575 -#: ../../c-api/typeobj.rst:2629 ../../c-api/typeobj.rst:2640 -#: ../../c-api/typeobj.rst:2652 ../../c-api/typeobj.rst:2662 -msgid "The signature of this function is::" -msgstr "" - -#: ../../c-api/typeobj.rst:2528 -msgid "int (PyObject *exporter, Py_buffer *view, int flags);" -msgstr "" - -#: ../../c-api/typeobj.rst:2530 -msgid "" -"Handle a request to *exporter* to fill in *view* as specified by *flags*. " -"Except for point (3), an implementation of this function MUST take these " -"steps:" -msgstr "" - -#: ../../c-api/typeobj.rst:2534 -msgid "" -"Check if the request can be met. If not, raise :exc:`BufferError`, set " -":c:expr:`view->obj` to ``NULL`` and return ``-1``." -msgstr "" - -#: ../../c-api/typeobj.rst:2537 -msgid "Fill in the requested fields." -msgstr "" - -#: ../../c-api/typeobj.rst:2539 -msgid "Increment an internal counter for the number of exports." -msgstr "" - -#: ../../c-api/typeobj.rst:2541 -msgid "" -"Set :c:expr:`view->obj` to *exporter* and increment :c:expr:`view->obj`." -msgstr "" - -#: ../../c-api/typeobj.rst:2543 -msgid "Return ``0``." -msgstr "Mengembalikan ``0``." - -#: ../../c-api/typeobj.rst:2545 -msgid "" -"If *exporter* is part of a chain or tree of buffer providers, two main " -"schemes can be used:" -msgstr "" - -#: ../../c-api/typeobj.rst:2548 -msgid "" -"Re-export: Each member of the tree acts as the exporting object and sets " -":c:expr:`view->obj` to a new reference to itself." -msgstr "" - -#: ../../c-api/typeobj.rst:2551 -msgid "" -"Redirect: The buffer request is redirected to the root object of the tree. " -"Here, :c:expr:`view->obj` will be a new reference to the root object." -msgstr "" - -#: ../../c-api/typeobj.rst:2555 -msgid "" -"The individual fields of *view* are described in section :ref:`Buffer " -"structure `, the rules how an exporter must react to " -"specific requests are in section :ref:`Buffer request types `." -msgstr "" - -#: ../../c-api/typeobj.rst:2560 -msgid "" -"All memory pointed to in the :c:type:`Py_buffer` structure belongs to the " -"exporter and must remain valid until there are no consumers left. " -":c:member:`~Py_buffer.format`, :c:member:`~Py_buffer.shape`, " -":c:member:`~Py_buffer.strides`, :c:member:`~Py_buffer.suboffsets` and " -":c:member:`~Py_buffer.internal` are read-only for the consumer." -msgstr "" - -#: ../../c-api/typeobj.rst:2567 -msgid "" -":c:func:`PyBuffer_FillInfo` provides an easy way of exposing a simple bytes " -"buffer while dealing correctly with all request types." -msgstr "" - -#: ../../c-api/typeobj.rst:2570 -msgid "" -":c:func:`PyObject_GetBuffer` is the interface for the consumer that wraps " -"this function." -msgstr "" - -#: ../../c-api/typeobj.rst:2577 -msgid "void (PyObject *exporter, Py_buffer *view);" -msgstr "" - -#: ../../c-api/typeobj.rst:2579 -msgid "" -"Handle a request to release the resources of the buffer. If no resources " -"need to be released, :c:member:`PyBufferProcs.bf_releasebuffer` may be " -"``NULL``. Otherwise, a standard implementation of this function will take " -"these optional steps:" -msgstr "" - -#: ../../c-api/typeobj.rst:2584 -msgid "Decrement an internal counter for the number of exports." -msgstr "" - -#: ../../c-api/typeobj.rst:2586 -msgid "If the counter is ``0``, free all memory associated with *view*." -msgstr "" - -#: ../../c-api/typeobj.rst:2588 -msgid "" -"The exporter MUST use the :c:member:`~Py_buffer.internal` field to keep " -"track of buffer-specific resources. This field is guaranteed to remain " -"constant, while a consumer MAY pass a copy of the original buffer as the " -"*view* argument." -msgstr "" - -#: ../../c-api/typeobj.rst:2594 -msgid "" -"This function MUST NOT decrement :c:expr:`view->obj`, since that is done " -"automatically in :c:func:`PyBuffer_Release` (this scheme is useful for " -"breaking reference cycles)." -msgstr "" - -#: ../../c-api/typeobj.rst:2599 -msgid "" -":c:func:`PyBuffer_Release` is the interface for the consumer that wraps this" -" function." -msgstr "" - -#: ../../c-api/typeobj.rst:2607 -msgid "Async Object Structures" -msgstr "" - -#: ../../c-api/typeobj.rst:2615 -msgid "" -"This structure holds pointers to the functions required to implement " -":term:`awaitable` and :term:`asynchronous iterator` objects." -msgstr "" - -#: ../../c-api/typeobj.rst:2620 -msgid "" -"typedef struct {\n" -" unaryfunc am_await;\n" -" unaryfunc am_aiter;\n" -" unaryfunc am_anext;\n" -" sendfunc am_send;\n" -"} PyAsyncMethods;" -msgstr "" - -#: ../../c-api/typeobj.rst:2631 -msgid "PyObject *am_await(PyObject *self);" -msgstr "" - -#: ../../c-api/typeobj.rst:2633 -msgid "" -"The returned object must be an :term:`iterator`, i.e. :c:func:`PyIter_Check`" -" must return ``1`` for it." -msgstr "" - -#: ../../c-api/typeobj.rst:2636 -msgid "" -"This slot may be set to ``NULL`` if an object is not an :term:`awaitable`." -msgstr "" - -#: ../../c-api/typeobj.rst:2642 -msgid "PyObject *am_aiter(PyObject *self);" -msgstr "" - -#: ../../c-api/typeobj.rst:2644 -msgid "" -"Must return an :term:`asynchronous iterator` object. See " -":meth:`~object.__anext__` for details." -msgstr "" - -#: ../../c-api/typeobj.rst:2647 -msgid "" -"This slot may be set to ``NULL`` if an object does not implement " -"asynchronous iteration protocol." -msgstr "" - -#: ../../c-api/typeobj.rst:2654 -msgid "PyObject *am_anext(PyObject *self);" -msgstr "" - -#: ../../c-api/typeobj.rst:2656 -msgid "" -"Must return an :term:`awaitable` object. See :meth:`~object.__anext__` for " -"details. This slot may be set to ``NULL``." -msgstr "" - -#: ../../c-api/typeobj.rst:2664 -msgid "" -"PySendResult am_send(PyObject *self, PyObject *arg, PyObject **result);" -msgstr "" - -#: ../../c-api/typeobj.rst:2666 -msgid "" -"See :c:func:`PyIter_Send` for details. This slot may be set to ``NULL``." -msgstr "" - -#: ../../c-api/typeobj.rst:2675 -msgid "Slot Type typedefs" -msgstr "" - -#: ../../c-api/typeobj.rst:2679 -msgid "" -"The purpose of this function is to separate memory allocation from memory " -"initialization. It should return a pointer to a block of memory of adequate" -" length for the instance, suitably aligned, and initialized to zeros, but " -"with :c:member:`~PyObject.ob_refcnt` set to ``1`` and " -":c:member:`~PyObject.ob_type` set to the type argument. If the type's " -":c:member:`~PyTypeObject.tp_itemsize` is non-zero, the object's " -":c:member:`~PyVarObject.ob_size` field should be initialized to *nitems* and" -" the length of the allocated memory block should be ``tp_basicsize + " -"nitems*tp_itemsize``, rounded up to a multiple of ``sizeof(void*)``; " -"otherwise, *nitems* is not used and the length of the block should be " -":c:member:`~PyTypeObject.tp_basicsize`." -msgstr "" - -#: ../../c-api/typeobj.rst:2689 -msgid "" -"This function should not do any other instance initialization, not even to " -"allocate additional memory; that should be done by " -":c:member:`~PyTypeObject.tp_new`." -msgstr "" - -#: ../../c-api/typeobj.rst:2696 -msgid "See :c:member:`~PyTypeObject.tp_free`." -msgstr "Lihat :c:member:`~PyTypeObject.tp_free`." - -#: ../../c-api/typeobj.rst:2700 -msgid "See :c:member:`~PyTypeObject.tp_new`." -msgstr "Lihat :c:member:`~PyTypeObject.tp_new`." - -#: ../../c-api/typeobj.rst:2704 -msgid "See :c:member:`~PyTypeObject.tp_init`." -msgstr "Lihat :c:member:`~PyTypeObject.tp_init`." - -#: ../../c-api/typeobj.rst:2708 -msgid "See :c:member:`~PyTypeObject.tp_repr`." -msgstr "Lihat :c:member:`~PyTypeObject.tp_repr`." - -#: ../../c-api/typeobj.rst:2712 ../../c-api/typeobj.rst:2721 -msgid "Return the value of the named attribute for the object." -msgstr "" - -#: ../../c-api/typeobj.rst:2716 ../../c-api/typeobj.rst:2727 -msgid "" -"Set the value of the named attribute for the object. The value argument is " -"set to ``NULL`` to delete the attribute." -msgstr "" - -#: ../../c-api/typeobj.rst:2723 -msgid "See :c:member:`~PyTypeObject.tp_getattro`." -msgstr "Lihat :c:member:`~PyTypeObject.tp_getattro`." - -#: ../../c-api/typeobj.rst:2730 -msgid "See :c:member:`~PyTypeObject.tp_setattro`." -msgstr "Lihat :c:member:`~PyTypeObject.tp_setattro`." - -#: ../../c-api/typeobj.rst:2734 -msgid "See :c:member:`~PyTypeObject.tp_descr_get`." -msgstr "" - -#: ../../c-api/typeobj.rst:2738 -msgid "See :c:member:`~PyTypeObject.tp_descr_set`." -msgstr "" - -#: ../../c-api/typeobj.rst:2742 -msgid "See :c:member:`~PyTypeObject.tp_hash`." -msgstr "Lihat :c:member:`~PyTypeObject.tp_hash`." - -#: ../../c-api/typeobj.rst:2746 -msgid "See :c:member:`~PyTypeObject.tp_richcompare`." -msgstr "Lihat :c:member:`~PyTypeObject.tp_richcompare`." - -#: ../../c-api/typeobj.rst:2750 -msgid "See :c:member:`~PyTypeObject.tp_iter`." -msgstr "Lihat :c:member:`~PyTypeObject.tp_iter`." - -#: ../../c-api/typeobj.rst:2754 -msgid "See :c:member:`~PyTypeObject.tp_iternext`." -msgstr "Lihat :c:member:`~PyTypeObject.tp_iternext`." - -#: ../../c-api/typeobj.rst:2768 -msgid "See :c:member:`~PyAsyncMethods.am_send`." -msgstr "" - -#: ../../c-api/typeobj.rst:2784 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../c-api/typeobj.rst:2786 -msgid "" -"The following are simple examples of Python type definitions. They include " -"common usage you may encounter. Some demonstrate tricky corner cases. For " -"more examples, practical info, and a tutorial, see :ref:`defining-new-types`" -" and :ref:`new-types-topics`." -msgstr "" - -#: ../../c-api/typeobj.rst:2791 -msgid "A basic :ref:`static type `::" -msgstr "" - -#: ../../c-api/typeobj.rst:2793 -msgid "" -"typedef struct {\n" -" PyObject_HEAD\n" -" const char *data;\n" -"} MyObject;\n" -"\n" -"static PyTypeObject MyObject_Type = {\n" -" PyVarObject_HEAD_INIT(NULL, 0)\n" -" .tp_name = \"mymod.MyObject\",\n" -" .tp_basicsize = sizeof(MyObject),\n" -" .tp_doc = PyDoc_STR(\"My objects\"),\n" -" .tp_new = myobj_new,\n" -" .tp_dealloc = (destructor)myobj_dealloc,\n" -" .tp_repr = (reprfunc)myobj_repr,\n" -"};" -msgstr "" - -#: ../../c-api/typeobj.rst:2808 -msgid "" -"You may also find older code (especially in the CPython code base) with a " -"more verbose initializer::" -msgstr "" - -#: ../../c-api/typeobj.rst:2811 -msgid "" -"static PyTypeObject MyObject_Type = {\n" -" PyVarObject_HEAD_INIT(NULL, 0)\n" -" \"mymod.MyObject\", /* tp_name */\n" -" sizeof(MyObject), /* tp_basicsize */\n" -" 0, /* tp_itemsize */\n" -" (destructor)myobj_dealloc, /* tp_dealloc */\n" -" 0, /* tp_vectorcall_offset */\n" -" 0, /* tp_getattr */\n" -" 0, /* tp_setattr */\n" -" 0, /* tp_as_async */\n" -" (reprfunc)myobj_repr, /* tp_repr */\n" -" 0, /* tp_as_number */\n" -" 0, /* tp_as_sequence */\n" -" 0, /* tp_as_mapping */\n" -" 0, /* tp_hash */\n" -" 0, /* tp_call */\n" -" 0, /* tp_str */\n" -" 0, /* tp_getattro */\n" -" 0, /* tp_setattro */\n" -" 0, /* tp_as_buffer */\n" -" 0, /* tp_flags */\n" -" PyDoc_STR(\"My objects\"), /* tp_doc */\n" -" 0, /* tp_traverse */\n" -" 0, /* tp_clear */\n" -" 0, /* tp_richcompare */\n" -" 0, /* tp_weaklistoffset */\n" -" 0, /* tp_iter */\n" -" 0, /* tp_iternext */\n" -" 0, /* tp_methods */\n" -" 0, /* tp_members */\n" -" 0, /* tp_getset */\n" -" 0, /* tp_base */\n" -" 0, /* tp_dict */\n" -" 0, /* tp_descr_get */\n" -" 0, /* tp_descr_set */\n" -" 0, /* tp_dictoffset */\n" -" 0, /* tp_init */\n" -" 0, /* tp_alloc */\n" -" myobj_new, /* tp_new */\n" -"};" -msgstr "" - -#: ../../c-api/typeobj.rst:2852 -msgid "A type that supports weakrefs, instance dicts, and hashing::" -msgstr "" - -#: ../../c-api/typeobj.rst:2854 -msgid "" -"typedef struct {\n" -" PyObject_HEAD\n" -" const char *data;\n" -"} MyObject;\n" -"\n" -"static PyTypeObject MyObject_Type = {\n" -" PyVarObject_HEAD_INIT(NULL, 0)\n" -" .tp_name = \"mymod.MyObject\",\n" -" .tp_basicsize = sizeof(MyObject),\n" -" .tp_doc = PyDoc_STR(\"My objects\"),\n" -" .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE |\n" -" Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_MANAGED_DICT |\n" -" Py_TPFLAGS_MANAGED_WEAKREF,\n" -" .tp_new = myobj_new,\n" -" .tp_traverse = (traverseproc)myobj_traverse,\n" -" .tp_clear = (inquiry)myobj_clear,\n" -" .tp_alloc = PyType_GenericNew,\n" -" .tp_dealloc = (destructor)myobj_dealloc,\n" -" .tp_repr = (reprfunc)myobj_repr,\n" -" .tp_hash = (hashfunc)myobj_hash,\n" -" .tp_richcompare = PyBaseObject_Type.tp_richcompare,\n" -"};" -msgstr "" - -#: ../../c-api/typeobj.rst:2877 -msgid "" -"A str subclass that cannot be subclassed and cannot be called to create " -"instances (e.g. uses a separate factory func) using " -":c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag::" -msgstr "" - -#: ../../c-api/typeobj.rst:2881 -msgid "" -"typedef struct {\n" -" PyUnicodeObject raw;\n" -" char *extra;\n" -"} MyStr;\n" -"\n" -"static PyTypeObject MyStr_Type = {\n" -" PyVarObject_HEAD_INIT(NULL, 0)\n" -" .tp_name = \"mymod.MyStr\",\n" -" .tp_basicsize = sizeof(MyStr),\n" -" .tp_base = NULL, // set to &PyUnicode_Type in module init\n" -" .tp_doc = PyDoc_STR(\"my custom str\"),\n" -" .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION,\n" -" .tp_repr = (reprfunc)myobj_repr,\n" -"};" -msgstr "" - -#: ../../c-api/typeobj.rst:2896 -msgid "" -"The simplest :ref:`static type ` with fixed-length instances::" -msgstr "" - -#: ../../c-api/typeobj.rst:2898 -msgid "" -"typedef struct {\n" -" PyObject_HEAD\n" -"} MyObject;\n" -"\n" -"static PyTypeObject MyObject_Type = {\n" -" PyVarObject_HEAD_INIT(NULL, 0)\n" -" .tp_name = \"mymod.MyObject\",\n" -"};" -msgstr "" - -#: ../../c-api/typeobj.rst:2907 -msgid "" -"The simplest :ref:`static type ` with variable-length " -"instances::" -msgstr "" - -#: ../../c-api/typeobj.rst:2909 -msgid "" -"typedef struct {\n" -" PyObject_VAR_HEAD\n" -" const char *data[1];\n" -"} MyObject;\n" -"\n" -"static PyTypeObject MyObject_Type = {\n" -" PyVarObject_HEAD_INIT(NULL, 0)\n" -" .tp_name = \"mymod.MyObject\",\n" -" .tp_basicsize = sizeof(MyObject) - sizeof(char *),\n" -" .tp_itemsize = sizeof(char *),\n" -"};" -msgstr "" - -#: ../../c-api/typeobj.rst:847 ../../c-api/typeobj.rst:912 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../c-api/typeobj.rst:847 -msgid "repr" -msgstr "repr" - -#: ../../c-api/typeobj.rst:912 -msgid "hash" -msgstr "" diff --git a/python-newest.c-api--unicode/id.po b/python-newest.c-api--unicode/id.po deleted file mode 100644 index 2e97c04..0000000 --- a/python-newest.c-api--unicode/id.po +++ /dev/null @@ -1,2321 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/unicode.rst:6 -msgid "Unicode Objects and Codecs" -msgstr "" - -#: ../../c-api/unicode.rst:12 -msgid "Unicode Objects" -msgstr "Objek Unicode" - -#: ../../c-api/unicode.rst:14 -msgid "" -"Since the implementation of :pep:`393` in Python 3.3, Unicode objects " -"internally use a variety of representations, in order to allow handling the " -"complete range of Unicode characters while staying memory efficient. There " -"are special cases for strings where all code points are below 128, 256, or " -"65536; otherwise, code points must be below 1114112 (which is the full " -"Unicode range)." -msgstr "" - -#: ../../c-api/unicode.rst:20 -msgid "" -"UTF-8 representation is created on demand and cached in the Unicode object." -msgstr "" - -#: ../../c-api/unicode.rst:23 -msgid "" -"The :c:type:`Py_UNICODE` representation has been removed since Python 3.12 " -"with deprecated APIs. See :pep:`623` for more information." -msgstr "" - -#: ../../c-api/unicode.rst:29 -msgid "Unicode Type" -msgstr "Tipe Unicode" - -#: ../../c-api/unicode.rst:31 -msgid "" -"These are the basic Unicode object types used for the Unicode implementation" -" in Python:" -msgstr "" - -#: ../../c-api/unicode.rst:36 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python Unicode type. " -"It is exposed to Python code as :py:class:`str`." -msgstr "" - -#: ../../c-api/unicode.rst:42 -msgid "" -"This instance of :c:type:`PyTypeObject` represents the Python Unicode " -"iterator type. It is used to iterate over Unicode string objects." -msgstr "" - -#: ../../c-api/unicode.rst:50 -msgid "" -"These types are typedefs for unsigned integer types wide enough to contain " -"characters of 32 bits, 16 bits and 8 bits, respectively. When dealing with " -"single Unicode characters, use :c:type:`Py_UCS4`." -msgstr "" - -#: ../../c-api/unicode.rst:61 -msgid "" -"These subtypes of :c:type:`PyObject` represent a Python Unicode object. In " -"almost all cases, they shouldn't be used directly, since all API functions " -"that deal with Unicode objects take and return :c:type:`PyObject` pointers." -msgstr "" - -#: ../../c-api/unicode.rst:68 -msgid "" -"The following APIs are C macros and static inlined functions for fast checks" -" and access to internal read-only data of Unicode objects:" -msgstr "" - -#: ../../c-api/unicode.rst:73 -msgid "" -"Return true if the object *obj* is a Unicode object or an instance of a " -"Unicode subtype. This function always succeeds." -msgstr "" - -#: ../../c-api/unicode.rst:79 -msgid "" -"Return true if the object *obj* is a Unicode object, but not an instance of " -"a subtype. This function always succeeds." -msgstr "" - -#: ../../c-api/unicode.rst:85 -msgid "" -"Return the length of the Unicode string, in code points. *unicode* has to " -"be a Unicode object in the \"canonical\" representation (not checked)." -msgstr "" - -#: ../../c-api/unicode.rst:95 -msgid "" -"Return a pointer to the canonical representation cast to UCS1, UCS2 or UCS4 " -"integer types for direct character access. No checks are performed if the " -"canonical representation has the correct character size; use " -":c:func:`PyUnicode_KIND` to select the right function." -msgstr "" - -#: ../../c-api/unicode.rst:107 -msgid "Return values of the :c:func:`PyUnicode_KIND` macro." -msgstr "" - -#: ../../c-api/unicode.rst:111 -msgid "``PyUnicode_WCHAR_KIND`` has been removed." -msgstr "" - -#: ../../c-api/unicode.rst:117 -msgid "" -"Return one of the PyUnicode kind constants (see above) that indicate how " -"many bytes per character this Unicode object uses to store its data. " -"*unicode* has to be a Unicode object in the \"canonical\" representation " -"(not checked)." -msgstr "" - -#: ../../c-api/unicode.rst:126 -msgid "" -"Return a void pointer to the raw Unicode buffer. *unicode* has to be a " -"Unicode object in the \"canonical\" representation (not checked)." -msgstr "" - -#: ../../c-api/unicode.rst:135 -msgid "" -"Write the code point *value* to the given zero-based *index* in a string." -msgstr "" - -#: ../../c-api/unicode.rst:137 -msgid "" -"The *kind* value and *data* pointer must have been obtained from a string " -"using :c:func:`PyUnicode_KIND` and :c:func:`PyUnicode_DATA` respectively. " -"You must hold a reference to that string while calling " -":c:func:`!PyUnicode_WRITE`. All requirements of " -":c:func:`PyUnicode_WriteChar` also apply." -msgstr "" - -#: ../../c-api/unicode.rst:143 -msgid "" -"The function performs no checks for any of its requirements, and is intended" -" for usage in loops." -msgstr "" - -#: ../../c-api/unicode.rst:152 -msgid "" -"Read a code point from a canonical representation *data* (as obtained with " -":c:func:`PyUnicode_DATA`). No checks or ready calls are performed." -msgstr "" - -#: ../../c-api/unicode.rst:160 -msgid "" -"Read a character from a Unicode object *unicode*, which must be in the " -"\"canonical\" representation. This is less efficient than " -":c:func:`PyUnicode_READ` if you do multiple consecutive reads." -msgstr "" - -#: ../../c-api/unicode.rst:169 -msgid "" -"Return the maximum code point that is suitable for creating another string " -"based on *unicode*, which must be in the \"canonical\" representation. This" -" is always an approximation but more efficient than iterating over the " -"string." -msgstr "" - -#: ../../c-api/unicode.rst:178 -msgid "" -"Return ``1`` if the string is a valid identifier according to the language " -"definition, section :ref:`identifiers`. Return ``0`` otherwise." -msgstr "" - -#: ../../c-api/unicode.rst:181 -msgid "" -"The function does not call :c:func:`Py_FatalError` anymore if the string is " -"not ready." -msgstr "" - -#: ../../c-api/unicode.rst:188 -msgid "" -"Return true if the string only contains ASCII characters. Equivalent to " -":py:meth:`str.isascii`." -msgstr "" - -#: ../../c-api/unicode.rst:195 -msgid "Unicode Character Properties" -msgstr "" - -#: ../../c-api/unicode.rst:197 -msgid "" -"Unicode provides many different character properties. The most often needed " -"ones are available through these macros which are mapped to C functions " -"depending on the Python configuration." -msgstr "" - -#: ../../c-api/unicode.rst:204 -msgid "" -"Return ``1`` or ``0`` depending on whether *ch* is a whitespace character." -msgstr "" - -#: ../../c-api/unicode.rst:209 -msgid "" -"Return ``1`` or ``0`` depending on whether *ch* is a lowercase character." -msgstr "" - -#: ../../c-api/unicode.rst:214 -msgid "" -"Return ``1`` or ``0`` depending on whether *ch* is an uppercase character." -msgstr "" - -#: ../../c-api/unicode.rst:219 -msgid "" -"Return ``1`` or ``0`` depending on whether *ch* is a titlecase character." -msgstr "" - -#: ../../c-api/unicode.rst:224 -msgid "" -"Return ``1`` or ``0`` depending on whether *ch* is a linebreak character." -msgstr "" - -#: ../../c-api/unicode.rst:229 -msgid "" -"Return ``1`` or ``0`` depending on whether *ch* is a decimal character." -msgstr "" - -#: ../../c-api/unicode.rst:234 -msgid "Return ``1`` or ``0`` depending on whether *ch* is a digit character." -msgstr "" - -#: ../../c-api/unicode.rst:239 -msgid "" -"Return ``1`` or ``0`` depending on whether *ch* is a numeric character." -msgstr "" - -#: ../../c-api/unicode.rst:244 -msgid "" -"Return ``1`` or ``0`` depending on whether *ch* is an alphabetic character." -msgstr "" - -#: ../../c-api/unicode.rst:249 -msgid "" -"Return ``1`` or ``0`` depending on whether *ch* is an alphanumeric " -"character." -msgstr "" - -#: ../../c-api/unicode.rst:254 -msgid "" -"Return ``1`` or ``0`` depending on whether *ch* is a printable character, in" -" the sense of :meth:`str.isprintable`." -msgstr "" - -#: ../../c-api/unicode.rst:258 -msgid "These APIs can be used for fast direct character conversions:" -msgstr "" - -#: ../../c-api/unicode.rst:263 -msgid "Return the character *ch* converted to lower case." -msgstr "" - -#: ../../c-api/unicode.rst:268 -msgid "Return the character *ch* converted to upper case." -msgstr "" - -#: ../../c-api/unicode.rst:273 -msgid "Return the character *ch* converted to title case." -msgstr "" - -#: ../../c-api/unicode.rst:278 -msgid "" -"Return the character *ch* converted to a decimal positive integer. Return " -"``-1`` if this is not possible. This function does not raise exceptions." -msgstr "" - -#: ../../c-api/unicode.rst:284 -msgid "" -"Return the character *ch* converted to a single digit integer. Return ``-1``" -" if this is not possible. This function does not raise exceptions." -msgstr "" - -#: ../../c-api/unicode.rst:290 -msgid "" -"Return the character *ch* converted to a double. Return ``-1.0`` if this is " -"not possible. This function does not raise exceptions." -msgstr "" - -#: ../../c-api/unicode.rst:294 -msgid "These APIs can be used to work with surrogates:" -msgstr "" - -#: ../../c-api/unicode.rst:298 -msgid "Check if *ch* is a surrogate (``0xD800 <= ch <= 0xDFFF``)." -msgstr "" - -#: ../../c-api/unicode.rst:302 -msgid "Check if *ch* is a high surrogate (``0xD800 <= ch <= 0xDBFF``)." -msgstr "" - -#: ../../c-api/unicode.rst:306 -msgid "Check if *ch* is a low surrogate (``0xDC00 <= ch <= 0xDFFF``)." -msgstr "" - -#: ../../c-api/unicode.rst:310 -msgid "" -"Join two surrogate code points and return a single :c:type:`Py_UCS4` value. " -"*high* and *low* are respectively the leading and trailing surrogates in a " -"surrogate pair. *high* must be in the range [0xD800; 0xDBFF] and *low* must " -"be in the range [0xDC00; 0xDFFF]." -msgstr "" - -#: ../../c-api/unicode.rst:317 -msgid "Creating and accessing Unicode strings" -msgstr "" - -#: ../../c-api/unicode.rst:319 -msgid "" -"To create Unicode objects and access their basic sequence properties, use " -"these APIs:" -msgstr "" - -#: ../../c-api/unicode.rst:324 -msgid "" -"Create a new Unicode object. *maxchar* should be the true maximum code " -"point to be placed in the string. As an approximation, it can be rounded up" -" to the nearest value in the sequence 127, 255, 65535, 1114111." -msgstr "" - -#: ../../c-api/unicode.rst:328 -msgid "On error, set an exception and return ``NULL``." -msgstr "" - -#: ../../c-api/unicode.rst:330 -msgid "" -"After creation, the string can be filled by :c:func:`PyUnicode_WriteChar`, " -":c:func:`PyUnicode_CopyCharacters`, :c:func:`PyUnicode_Fill`, " -":c:func:`PyUnicode_WRITE` or similar. Since strings are supposed to be " -"immutable, take care to not “use” the result while it is being modified. In " -"particular, before it's filled with its final contents, a string:" -msgstr "" - -#: ../../c-api/unicode.rst:337 -msgid "must not be hashed," -msgstr "" - -#: ../../c-api/unicode.rst:338 -msgid "" -"must not be :c:func:`converted to UTF-8 `, or " -"another non-\"canonical\" representation," -msgstr "" - -#: ../../c-api/unicode.rst:340 -msgid "must not have its reference count changed," -msgstr "" - -#: ../../c-api/unicode.rst:341 -msgid "must not be shared with code that might do one of the above." -msgstr "" - -#: ../../c-api/unicode.rst:343 -msgid "" -"This list is not exhaustive. Avoiding these uses is your responsibility; " -"Python does not always check these requirements." -msgstr "" - -#: ../../c-api/unicode.rst:346 -msgid "" -"To avoid accidentally exposing a partially-written string object, prefer " -"using the :c:type:`PyUnicodeWriter` API, or one of the ``PyUnicode_From*`` " -"functions below." -msgstr "" - -#: ../../c-api/unicode.rst:357 -msgid "" -"Create a new Unicode object with the given *kind* (possible values are " -":c:macro:`PyUnicode_1BYTE_KIND` etc., as returned by " -":c:func:`PyUnicode_KIND`). The *buffer* must point to an array of *size* " -"units of 1, 2 or 4 bytes per character, as given by the kind." -msgstr "" - -#: ../../c-api/unicode.rst:362 -msgid "" -"If necessary, the input *buffer* is copied and transformed into the " -"canonical representation. For example, if the *buffer* is a UCS4 string " -"(:c:macro:`PyUnicode_4BYTE_KIND`) and it consists only of codepoints in the " -"UCS1 range, it will be transformed into UCS1 " -"(:c:macro:`PyUnicode_1BYTE_KIND`)." -msgstr "" - -#: ../../c-api/unicode.rst:373 -msgid "" -"Create a Unicode object from the char buffer *str*. The bytes will be " -"interpreted as being UTF-8 encoded. The buffer is copied into the new " -"object. The return value might be a shared object, i.e. modification of the " -"data is not allowed." -msgstr "" - -#: ../../c-api/unicode.rst:379 -msgid "This function raises :exc:`SystemError` when:" -msgstr "" - -#: ../../c-api/unicode.rst:381 -msgid "*size* < 0," -msgstr "" - -#: ../../c-api/unicode.rst:382 -msgid "*str* is ``NULL`` and *size* > 0" -msgstr "" - -#: ../../c-api/unicode.rst:384 -msgid "*str* == ``NULL`` with *size* > 0 is not allowed anymore." -msgstr "" - -#: ../../c-api/unicode.rst:390 -msgid "" -"Create a Unicode object from a UTF-8 encoded null-terminated char buffer " -"*str*." -msgstr "" - -#: ../../c-api/unicode.rst:396 -msgid "" -"Take a C :c:func:`printf`\\ -style *format* string and a variable number of " -"arguments, calculate the size of the resulting Python Unicode string and " -"return a string with the values formatted into it. The variable arguments " -"must be C types and must correspond exactly to the format characters in the " -"*format* ASCII-encoded string." -msgstr "" - -#: ../../c-api/unicode.rst:402 -msgid "" -"A conversion specifier contains two or more characters and has the following" -" components, which must occur in this order:" -msgstr "" - -#: ../../c-api/unicode.rst:405 -msgid "The ``'%'`` character, which marks the start of the specifier." -msgstr "" - -#: ../../c-api/unicode.rst:407 -msgid "" -"Conversion flags (optional), which affect the result of some conversion " -"types." -msgstr "" - -#: ../../c-api/unicode.rst:410 -msgid "" -"Minimum field width (optional). If specified as an ``'*'`` (asterisk), the " -"actual width is given in the next argument, which must be of type " -":c:expr:`int`, and the object to convert comes after the minimum field width" -" and optional precision." -msgstr "" - -#: ../../c-api/unicode.rst:415 -msgid "" -"Precision (optional), given as a ``'.'`` (dot) followed by the precision. If" -" specified as ``'*'`` (an asterisk), the actual precision is given in the " -"next argument, which must be of type :c:expr:`int`, and the value to convert" -" comes after the precision." -msgstr "" - -#: ../../c-api/unicode.rst:420 -msgid "Length modifier (optional)." -msgstr "" - -#: ../../c-api/unicode.rst:422 -msgid "Conversion type." -msgstr "" - -#: ../../c-api/unicode.rst:424 -msgid "The conversion flag characters are:" -msgstr "" - -#: ../../c-api/unicode.rst:429 -msgid "Flag" -msgstr "Penanda" - -#: ../../c-api/unicode.rst:429 -msgid "Meaning" -msgstr "Artinya" - -#: ../../c-api/unicode.rst:431 -msgid "``0``" -msgstr "``0``" - -#: ../../c-api/unicode.rst:431 -msgid "The conversion will be zero padded for numeric values." -msgstr "" - -#: ../../c-api/unicode.rst:433 -msgid "``-``" -msgstr "" - -#: ../../c-api/unicode.rst:433 -msgid "" -"The converted value is left adjusted (overrides the ``0`` flag if both are " -"given)." -msgstr "" - -#: ../../c-api/unicode.rst:437 -msgid "" -"The length modifiers for following integer conversions (``d``, ``i``, ``o``," -" ``u``, ``x``, or ``X``) specify the type of the argument (:c:expr:`int` by " -"default):" -msgstr "" - -#: ../../c-api/unicode.rst:444 -msgid "Modifier" -msgstr "" - -#: ../../c-api/unicode.rst:444 -msgid "Types" -msgstr "Tipe-tipe" - -#: ../../c-api/unicode.rst:446 -msgid "``l``" -msgstr "``l``" - -#: ../../c-api/unicode.rst:446 -msgid ":c:expr:`long` or :c:expr:`unsigned long`" -msgstr "" - -#: ../../c-api/unicode.rst:448 -msgid "``ll``" -msgstr "" - -#: ../../c-api/unicode.rst:448 -msgid ":c:expr:`long long` or :c:expr:`unsigned long long`" -msgstr "" - -#: ../../c-api/unicode.rst:450 -msgid "``j``" -msgstr "" - -#: ../../c-api/unicode.rst:450 -msgid ":c:type:`intmax_t` or :c:type:`uintmax_t`" -msgstr "" - -#: ../../c-api/unicode.rst:452 -msgid "``z``" -msgstr "" - -#: ../../c-api/unicode.rst:452 -msgid ":c:type:`size_t` or :c:type:`ssize_t`" -msgstr "" - -#: ../../c-api/unicode.rst:454 -msgid "``t``" -msgstr "" - -#: ../../c-api/unicode.rst:454 -msgid ":c:type:`ptrdiff_t`" -msgstr "" - -#: ../../c-api/unicode.rst:457 -msgid "" -"The length modifier ``l`` for following conversions ``s`` or ``V`` specify " -"that the type of the argument is :c:expr:`const wchar_t*`." -msgstr "" - -#: ../../c-api/unicode.rst:460 -msgid "The conversion specifiers are:" -msgstr "" - -#: ../../c-api/unicode.rst:466 -msgid "Conversion Specifier" -msgstr "" - -#: ../../c-api/unicode.rst:467 -msgid "Type" -msgstr "" - -#: ../../c-api/unicode.rst:468 -msgid "Comment" -msgstr "" - -#: ../../c-api/unicode.rst:470 -msgid "``%``" -msgstr "``%``" - -#: ../../c-api/unicode.rst:471 -msgid "*n/a*" -msgstr "*t/a*" - -#: ../../c-api/unicode.rst:472 -msgid "The literal ``%`` character." -msgstr "" - -#: ../../c-api/unicode.rst:474 -msgid "``d``, ``i``" -msgstr "" - -#: ../../c-api/unicode.rst:475 ../../c-api/unicode.rst:479 -#: ../../c-api/unicode.rst:483 ../../c-api/unicode.rst:487 -#: ../../c-api/unicode.rst:491 -msgid "Specified by the length modifier" -msgstr "" - -#: ../../c-api/unicode.rst:476 -msgid "The decimal representation of a signed C integer." -msgstr "" - -#: ../../c-api/unicode.rst:478 -msgid "``u``" -msgstr "" - -#: ../../c-api/unicode.rst:480 -msgid "The decimal representation of an unsigned C integer." -msgstr "" - -#: ../../c-api/unicode.rst:482 -msgid "``o``" -msgstr "``o``" - -#: ../../c-api/unicode.rst:484 -msgid "The octal representation of an unsigned C integer." -msgstr "" - -#: ../../c-api/unicode.rst:486 -msgid "``x``" -msgstr "``x``" - -#: ../../c-api/unicode.rst:488 -msgid "The hexadecimal representation of an unsigned C integer (lowercase)." -msgstr "" - -#: ../../c-api/unicode.rst:490 -msgid "``X``" -msgstr "" - -#: ../../c-api/unicode.rst:492 -msgid "The hexadecimal representation of an unsigned C integer (uppercase)." -msgstr "" - -#: ../../c-api/unicode.rst:494 -msgid "``c``" -msgstr "``c``" - -#: ../../c-api/unicode.rst:495 -msgid ":c:expr:`int`" -msgstr "" - -#: ../../c-api/unicode.rst:496 -msgid "A single character." -msgstr "" - -#: ../../c-api/unicode.rst:498 -msgid "``s``" -msgstr "``s``" - -#: ../../c-api/unicode.rst:499 -msgid ":c:expr:`const char*` or :c:expr:`const wchar_t*`" -msgstr "" - -#: ../../c-api/unicode.rst:500 -msgid "A null-terminated C character array." -msgstr "" - -#: ../../c-api/unicode.rst:502 -msgid "``p``" -msgstr "``p``" - -#: ../../c-api/unicode.rst:503 -msgid ":c:expr:`const void*`" -msgstr "" - -#: ../../c-api/unicode.rst:504 -msgid "" -"The hex representation of a C pointer. Mostly equivalent to " -"``printf(\"%p\")`` except that it is guaranteed to start with the literal " -"``0x`` regardless of what the platform's ``printf`` yields." -msgstr "" - -#: ../../c-api/unicode.rst:509 -msgid "``A``" -msgstr "" - -#: ../../c-api/unicode.rst:510 ../../c-api/unicode.rst:514 -#: ../../c-api/unicode.rst:524 ../../c-api/unicode.rst:528 -#: ../../c-api/unicode.rst:532 ../../c-api/unicode.rst:537 -msgid ":c:expr:`PyObject*`" -msgstr "" - -#: ../../c-api/unicode.rst:511 -msgid "The result of calling :func:`ascii`." -msgstr "" - -#: ../../c-api/unicode.rst:513 -msgid "``U``" -msgstr "" - -#: ../../c-api/unicode.rst:515 -msgid "A Unicode object." -msgstr "" - -#: ../../c-api/unicode.rst:517 -msgid "``V``" -msgstr "" - -#: ../../c-api/unicode.rst:518 -msgid ":c:expr:`PyObject*`, :c:expr:`const char*` or :c:expr:`const wchar_t*`" -msgstr "" - -#: ../../c-api/unicode.rst:519 -msgid "" -"A Unicode object (which may be ``NULL``) and a null-terminated C character " -"array as a second parameter (which will be used, if the first parameter is " -"``NULL``)." -msgstr "" - -#: ../../c-api/unicode.rst:523 -msgid "``S``" -msgstr "" - -#: ../../c-api/unicode.rst:525 -msgid "The result of calling :c:func:`PyObject_Str`." -msgstr "" - -#: ../../c-api/unicode.rst:527 -msgid "``R``" -msgstr "" - -#: ../../c-api/unicode.rst:529 -msgid "The result of calling :c:func:`PyObject_Repr`." -msgstr "" - -#: ../../c-api/unicode.rst:531 -msgid "``T``" -msgstr "" - -#: ../../c-api/unicode.rst:533 -msgid "" -"Get the fully qualified name of an object type; call " -":c:func:`PyType_GetFullyQualifiedName`." -msgstr "" - -#: ../../c-api/unicode.rst:536 -msgid "``#T``" -msgstr "" - -#: ../../c-api/unicode.rst:538 -msgid "" -"Similar to ``T`` format, but use a colon (``:``) as separator between the " -"module name and the qualified name." -msgstr "" - -#: ../../c-api/unicode.rst:541 -msgid "``N``" -msgstr "``N``" - -#: ../../c-api/unicode.rst:542 ../../c-api/unicode.rst:547 -msgid ":c:expr:`PyTypeObject*`" -msgstr "" - -#: ../../c-api/unicode.rst:543 -msgid "" -"Get the fully qualified name of a type; call " -":c:func:`PyType_GetFullyQualifiedName`." -msgstr "" - -#: ../../c-api/unicode.rst:546 -msgid "``#N``" -msgstr "" - -#: ../../c-api/unicode.rst:548 -msgid "" -"Similar to ``N`` format, but use a colon (``:``) as separator between the " -"module name and the qualified name." -msgstr "" - -#: ../../c-api/unicode.rst:552 -msgid "" -"The width formatter unit is number of characters rather than bytes. The " -"precision formatter unit is number of bytes or :c:type:`wchar_t` items (if " -"the length modifier ``l`` is used) for ``\"%s\"`` and ``\"%V\"`` (if the " -"``PyObject*`` argument is ``NULL``), and a number of characters for " -"``\"%A\"``, ``\"%U\"``, ``\"%S\"``, ``\"%R\"`` and ``\"%V\"`` (if the " -"``PyObject*`` argument is not ``NULL``)." -msgstr "" - -#: ../../c-api/unicode.rst:560 -msgid "" -"Unlike to C :c:func:`printf` the ``0`` flag has effect even when a precision" -" is given for integer conversions (``d``, ``i``, ``u``, ``o``, ``x``, or " -"``X``)." -msgstr "" - -#: ../../c-api/unicode.rst:564 -msgid "Support for ``\"%lld\"`` and ``\"%llu\"`` added." -msgstr "" - -#: ../../c-api/unicode.rst:567 -msgid "Support for ``\"%li\"``, ``\"%lli\"`` and ``\"%zi\"`` added." -msgstr "" - -#: ../../c-api/unicode.rst:570 -msgid "" -"Support width and precision formatter for ``\"%s\"``, ``\"%A\"``, " -"``\"%U\"``, ``\"%V\"``, ``\"%S\"``, ``\"%R\"`` added." -msgstr "" - -#: ../../c-api/unicode.rst:574 -msgid "" -"Support for conversion specifiers ``o`` and ``X``. Support for length " -"modifiers ``j`` and ``t``. Length modifiers are now applied to all integer " -"conversions. Length modifier ``l`` is now applied to conversion specifiers " -"``s`` and ``V``. Support for variable width and precision ``*``. Support for" -" flag ``-``." -msgstr "" - -#: ../../c-api/unicode.rst:582 -msgid "" -"An unrecognized format character now sets a :exc:`SystemError`. In previous " -"versions it caused all the rest of the format string to be copied as-is to " -"the result string, and any extra arguments discarded." -msgstr "" - -#: ../../c-api/unicode.rst:586 -msgid "Support for ``%T``, ``%#T``, ``%N`` and ``%#N`` formats added." -msgstr "" - -#: ../../c-api/unicode.rst:592 -msgid "" -"Identical to :c:func:`PyUnicode_FromFormat` except that it takes exactly two" -" arguments." -msgstr "" - -#: ../../c-api/unicode.rst:598 -msgid "" -"Copy an instance of a Unicode subtype to a new true Unicode object if " -"necessary. If *obj* is already a true Unicode object (not a subtype), return" -" a new :term:`strong reference` to the object." -msgstr "" - -#: ../../c-api/unicode.rst:602 -msgid "" -"Objects other than Unicode or its subtypes will cause a :exc:`TypeError`." -msgstr "" - -#: ../../c-api/unicode.rst:607 -msgid "Create a Unicode Object from the given Unicode code point *ordinal*." -msgstr "" - -#: ../../c-api/unicode.rst:609 -msgid "" -"The ordinal must be in ``range(0x110000)``. A :exc:`ValueError` is raised in" -" the case it is not." -msgstr "" - -#: ../../c-api/unicode.rst:616 -msgid "Decode an encoded object *obj* to a Unicode object." -msgstr "" - -#: ../../c-api/unicode.rst:618 -msgid "" -":class:`bytes`, :class:`bytearray` and other :term:`bytes-like objects " -"` are decoded according to the given *encoding* and using" -" the error handling defined by *errors*. Both can be ``NULL`` to have the " -"interface use the default values (see :ref:`builtincodecs` for details)." -msgstr "" - -#: ../../c-api/unicode.rst:624 -msgid "" -"All other objects, including Unicode objects, cause a :exc:`TypeError` to be" -" set." -msgstr "" - -#: ../../c-api/unicode.rst:627 -msgid "" -"The API returns ``NULL`` if there was an error. The caller is responsible " -"for decref'ing the returned objects." -msgstr "" - -#: ../../c-api/unicode.rst:633 -msgid "" -"Append the string *right* to the end of *p_left*. *p_left* must point to a " -":term:`strong reference` to a Unicode object; :c:func:`!PyUnicode_Append` " -"releases (\"steals\") this reference." -msgstr "" - -#: ../../c-api/unicode.rst:637 -msgid "On error, set *\\*p_left* to ``NULL`` and set an exception." -msgstr "" - -#: ../../c-api/unicode.rst:639 -msgid "On success, set *\\*p_left* to a new strong reference to the result." -msgstr "" - -#: ../../c-api/unicode.rst:644 -msgid "" -"The function is similar to :c:func:`PyUnicode_Append`, with the only " -"difference being that it decrements the reference count of *right* by one." -msgstr "" - -#: ../../c-api/unicode.rst:650 -msgid "" -"Return the name of the default string encoding, ``\"utf-8\"``. See " -":func:`sys.getdefaultencoding`." -msgstr "" - -#: ../../c-api/unicode.rst:653 -msgid "" -"The returned string does not need to be freed, and is valid until " -"interpreter shutdown." -msgstr "" - -#: ../../c-api/unicode.rst:659 -msgid "Return the length of the Unicode object, in code points." -msgstr "" - -#: ../../c-api/unicode.rst:661 -msgid "On error, set an exception and return ``-1``." -msgstr "" - -#: ../../c-api/unicode.rst:672 -msgid "" -"Copy characters from one Unicode object into another. This function " -"performs character conversion when necessary and falls back to " -":c:func:`!memcpy` if possible. Returns ``-1`` and sets an exception on " -"error, otherwise returns the number of copied characters." -msgstr "" - -#: ../../c-api/unicode.rst:677 ../../c-api/unicode.rst:707 -#: ../../c-api/unicode.rst:727 -msgid "" -"The string must not have been “used” yet. See :c:func:`PyUnicode_New` for " -"details." -msgstr "" - -#: ../../c-api/unicode.rst:685 -msgid "Resize a Unicode object *\\*unicode* to the new *length* in code points." -msgstr "" - -#: ../../c-api/unicode.rst:687 -msgid "" -"Try to resize the string in place (which is usually faster than allocating a" -" new string and copying characters), or create a new string." -msgstr "" - -#: ../../c-api/unicode.rst:690 -msgid "" -"*\\*unicode* is modified to point to the new (resized) object and ``0`` is " -"returned on success. Otherwise, ``-1`` is returned and an exception is set, " -"and *\\*unicode* is left untouched." -msgstr "" - -#: ../../c-api/unicode.rst:694 -msgid "" -"The function doesn't check string content, the result may not be a string in" -" canonical representation." -msgstr "" - -#: ../../c-api/unicode.rst:701 -msgid "" -"Fill a string with a character: write *fill_char* into " -"``unicode[start:start+length]``." -msgstr "" - -#: ../../c-api/unicode.rst:704 -msgid "" -"Fail if *fill_char* is bigger than the string maximum character, or if the " -"string has more than 1 reference." -msgstr "" - -#: ../../c-api/unicode.rst:710 -msgid "" -"Return the number of written character, or return ``-1`` and raise an " -"exception on error." -msgstr "" - -#: ../../c-api/unicode.rst:719 -msgid "" -"Write a *character* to the string *unicode* at the zero-based *index*. " -"Return ``0`` on success, ``-1`` on error with an exception set." -msgstr "" - -#: ../../c-api/unicode.rst:722 -msgid "" -"This function checks that *unicode* is a Unicode object, that the index is " -"not out of bounds, and that the object's reference count is one). See " -":c:func:`PyUnicode_WRITE` for a version that skips these checks, making them" -" your responsibility." -msgstr "" - -#: ../../c-api/unicode.rst:735 -msgid "" -"Read a character from a string. This function checks that *unicode* is a " -"Unicode object and the index is not out of bounds, in contrast to " -":c:func:`PyUnicode_READ_CHAR`, which performs no error checking." -msgstr "" - -#: ../../c-api/unicode.rst:739 -msgid "Return character on success, ``-1`` on error with an exception set." -msgstr "" - -#: ../../c-api/unicode.rst:747 -msgid "" -"Return a substring of *unicode*, from character index *start* (included) to " -"character index *end* (excluded). Negative indices are not supported. On " -"error, set an exception and return ``NULL``." -msgstr "" - -#: ../../c-api/unicode.rst:757 -msgid "" -"Copy the string *unicode* into a UCS4 buffer, including a null character, if" -" *copy_null* is set. Returns ``NULL`` and sets an exception on error (in " -"particular, a :exc:`SystemError` if *buflen* is smaller than the length of " -"*unicode*). *buffer* is returned on success." -msgstr "" - -#: ../../c-api/unicode.rst:767 -msgid "" -"Copy the string *unicode* into a new UCS4 buffer that is allocated using " -":c:func:`PyMem_Malloc`. If this fails, ``NULL`` is returned with a " -":exc:`MemoryError` set. The returned buffer always has an extra null code " -"point appended." -msgstr "" - -#: ../../c-api/unicode.rst:776 -msgid "Locale Encoding" -msgstr "" - -#: ../../c-api/unicode.rst:778 -msgid "" -"The current locale encoding can be used to decode text from the operating " -"system." -msgstr "" - -#: ../../c-api/unicode.rst:785 -msgid "" -"Decode a string from UTF-8 on Android and VxWorks, or from the current " -"locale encoding on other platforms. The supported error handlers are " -"``\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The decoder uses " -"``\"strict\"`` error handler if *errors* is ``NULL``. *str* must end with a" -" null character but cannot contain embedded null characters." -msgstr "" - -#: ../../c-api/unicode.rst:792 -msgid "" -"Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` to decode a string from the " -":term:`filesystem encoding and error handler`." -msgstr "" - -#: ../../c-api/unicode.rst:795 ../../c-api/unicode.rst:830 -msgid "This function ignores the :ref:`Python UTF-8 Mode `." -msgstr "" - -#: ../../c-api/unicode.rst:799 ../../c-api/unicode.rst:915 -msgid "The :c:func:`Py_DecodeLocale` function." -msgstr "" - -#: ../../c-api/unicode.rst:803 -msgid "" -"The function now also uses the current locale encoding for the " -"``surrogateescape`` error handler, except on Android. Previously, " -":c:func:`Py_DecodeLocale` was used for the ``surrogateescape``, and the " -"current locale encoding was used for ``strict``." -msgstr "" - -#: ../../c-api/unicode.rst:812 -msgid "" -"Similar to :c:func:`PyUnicode_DecodeLocaleAndSize`, but compute the string " -"length using :c:func:`!strlen`." -msgstr "" - -#: ../../c-api/unicode.rst:820 -msgid "" -"Encode a Unicode object to UTF-8 on Android and VxWorks, or to the current " -"locale encoding on other platforms. The supported error handlers are " -"``\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The encoder uses " -"``\"strict\"`` error handler if *errors* is ``NULL``. Return a " -":class:`bytes` object. *unicode* cannot contain embedded null characters." -msgstr "" - -#: ../../c-api/unicode.rst:827 -msgid "" -"Use :c:func:`PyUnicode_EncodeFSDefault` to encode a string to the " -":term:`filesystem encoding and error handler`." -msgstr "" - -#: ../../c-api/unicode.rst:834 ../../c-api/unicode.rst:946 -msgid "The :c:func:`Py_EncodeLocale` function." -msgstr "" - -#: ../../c-api/unicode.rst:838 -msgid "" -"The function now also uses the current locale encoding for the " -"``surrogateescape`` error handler, except on Android. Previously, " -":c:func:`Py_EncodeLocale` was used for the ``surrogateescape``, and the " -"current locale encoding was used for ``strict``." -msgstr "" - -#: ../../c-api/unicode.rst:847 -msgid "File System Encoding" -msgstr "" - -#: ../../c-api/unicode.rst:849 -msgid "" -"Functions encoding to and decoding from the :term:`filesystem encoding and " -"error handler` (:pep:`383` and :pep:`529`)." -msgstr "" - -#: ../../c-api/unicode.rst:852 -msgid "" -"To encode file names to :class:`bytes` during argument parsing, the " -"``\"O&\"`` converter should be used, passing " -":c:func:`!PyUnicode_FSConverter` as the conversion function:" -msgstr "" - -#: ../../c-api/unicode.rst:858 -msgid "" -":ref:`PyArg_Parse\\* converter `: encode :class:`str` objects " -"-- obtained directly or through the :class:`os.PathLike` interface -- to " -":class:`bytes` using :c:func:`PyUnicode_EncodeFSDefault`; :class:`bytes` " -"objects are output as-is. *result* must be an address of a C variable of " -"type :c:expr:`PyObject*` (or :c:expr:`PyBytesObject*`). On success, set the " -"variable to a new :term:`strong reference` to a :ref:`bytes object " -"` which must be released when it is no longer used and return " -"a non-zero value (:c:macro:`Py_CLEANUP_SUPPORTED`). Embedded null bytes are " -"not allowed in the result. On failure, return ``0`` with an exception set." -msgstr "" - -#: ../../c-api/unicode.rst:870 -msgid "" -"If *obj* is ``NULL``, the function releases a strong reference stored in the" -" variable referred by *result* and returns ``1``." -msgstr "" - -#: ../../c-api/unicode.rst:875 ../../c-api/unicode.rst:902 -msgid "Accepts a :term:`path-like object`." -msgstr "Menerima sebuah :term:`path-like object`." - -#: ../../c-api/unicode.rst:878 -msgid "" -"To decode file names to :class:`str` during argument parsing, the ``\"O&\"``" -" converter should be used, passing :c:func:`!PyUnicode_FSDecoder` as the " -"conversion function:" -msgstr "" - -#: ../../c-api/unicode.rst:884 -msgid "" -":ref:`PyArg_Parse\\* converter `: decode :class:`bytes` objects" -" -- obtained either directly or indirectly through the :class:`os.PathLike` " -"interface -- to :class:`str` using " -":c:func:`PyUnicode_DecodeFSDefaultAndSize`; :class:`str` objects are output " -"as-is. *result* must be an address of a C variable of type " -":c:expr:`PyObject*` (or :c:expr:`PyUnicodeObject*`). On success, set the " -"variable to a new :term:`strong reference` to a :ref:`Unicode object " -"` which must be released when it is no longer used and " -"return a non-zero value (:c:macro:`Py_CLEANUP_SUPPORTED`). Embedded null " -"characters are not allowed in the result. On failure, return ``0`` with an " -"exception set." -msgstr "" - -#: ../../c-api/unicode.rst:897 -msgid "" -"If *obj* is ``NULL``, release the strong reference to the object referred to" -" by *result* and return ``1``." -msgstr "" - -#: ../../c-api/unicode.rst:908 -msgid "" -"Decode a string from the :term:`filesystem encoding and error handler`." -msgstr "" - -#: ../../c-api/unicode.rst:910 -msgid "" -"If you need to decode a string from the current locale encoding, use " -":c:func:`PyUnicode_DecodeLocaleAndSize`." -msgstr "" - -#: ../../c-api/unicode.rst:917 ../../c-api/unicode.rst:930 -#: ../../c-api/unicode.rst:950 -msgid "" -"The :term:`filesystem error handler `" -" is now used." -msgstr "" - -#: ../../c-api/unicode.rst:924 -msgid "" -"Decode a null-terminated string from the :term:`filesystem encoding and " -"error handler`." -msgstr "" - -#: ../../c-api/unicode.rst:927 -msgid "" -"If the string length is known, use " -":c:func:`PyUnicode_DecodeFSDefaultAndSize`." -msgstr "" - -#: ../../c-api/unicode.rst:937 -msgid "" -"Encode a Unicode object to the :term:`filesystem encoding and error " -"handler`, and return :class:`bytes`. Note that the resulting :class:`bytes` " -"object can contain null bytes." -msgstr "" - -#: ../../c-api/unicode.rst:941 -msgid "" -"If you need to encode a string to the current locale encoding, use " -":c:func:`PyUnicode_EncodeLocale`." -msgstr "" - -#: ../../c-api/unicode.rst:955 -msgid "wchar_t Support" -msgstr "" - -#: ../../c-api/unicode.rst:957 -msgid ":c:type:`wchar_t` support for platforms which support it:" -msgstr "" - -#: ../../c-api/unicode.rst:961 -msgid "" -"Create a Unicode object from the :c:type:`wchar_t` buffer *wstr* of the " -"given *size*. Passing ``-1`` as the *size* indicates that the function must " -"itself compute the length, using :c:func:`!wcslen`. Return ``NULL`` on " -"failure." -msgstr "" - -#: ../../c-api/unicode.rst:969 -msgid "" -"Copy the Unicode object contents into the :c:type:`wchar_t` buffer *wstr*. " -"At most *size* :c:type:`wchar_t` characters are copied (excluding a possibly" -" trailing null termination character). Return the number of " -":c:type:`wchar_t` characters copied or ``-1`` in case of an error." -msgstr "" - -#: ../../c-api/unicode.rst:974 -msgid "" -"When *wstr* is ``NULL``, instead return the *size* that would be required to" -" store all of *unicode* including a terminating null." -msgstr "" - -#: ../../c-api/unicode.rst:977 -msgid "" -"Note that the resulting :c:expr:`wchar_t*` string may or may not be null-" -"terminated. It is the responsibility of the caller to make sure that the " -":c:expr:`wchar_t*` string is null-terminated in case this is required by the" -" application. Also, note that the :c:expr:`wchar_t*` string might contain " -"null characters, which would cause the string to be truncated when used with" -" most C functions." -msgstr "" - -#: ../../c-api/unicode.rst:987 -msgid "" -"Convert the Unicode object to a wide character string. The output string " -"always ends with a null character. If *size* is not ``NULL``, write the " -"number of wide characters (excluding the trailing null termination " -"character) into *\\*size*. Note that the resulting :c:type:`wchar_t` string " -"might contain null characters, which would cause the string to be truncated " -"when used with most C functions. If *size* is ``NULL`` and the " -":c:expr:`wchar_t*` string contains null characters a :exc:`ValueError` is " -"raised." -msgstr "" - -#: ../../c-api/unicode.rst:995 -msgid "" -"Returns a buffer allocated by :c:macro:`PyMem_New` (use :c:func:`PyMem_Free`" -" to free it) on success. On error, returns ``NULL`` and *\\*size* is " -"undefined. Raises a :exc:`MemoryError` if memory allocation is failed." -msgstr "" - -#: ../../c-api/unicode.rst:1002 -msgid "" -"Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:expr:`wchar_t*` " -"string contains null characters." -msgstr "" - -#: ../../c-api/unicode.rst:1010 -msgid "Built-in Codecs" -msgstr "" - -#: ../../c-api/unicode.rst:1012 -msgid "" -"Python provides a set of built-in codecs which are written in C for speed. " -"All of these codecs are directly usable via the following functions." -msgstr "" - -#: ../../c-api/unicode.rst:1015 -msgid "" -"Many of the following APIs take two arguments encoding and errors, and they " -"have the same semantics as the ones of the built-in :func:`str` string " -"object constructor." -msgstr "" - -#: ../../c-api/unicode.rst:1019 -msgid "" -"Setting encoding to ``NULL`` causes the default encoding to be used which is" -" UTF-8. The file system calls should use :c:func:`PyUnicode_FSConverter` " -"for encoding file names. This uses the :term:`filesystem encoding and error " -"handler` internally." -msgstr "" - -#: ../../c-api/unicode.rst:1024 -msgid "" -"Error handling is set by errors which may also be set to ``NULL`` meaning to" -" use the default handling defined for the codec. Default error handling for" -" all built-in codecs is \"strict\" (:exc:`ValueError` is raised)." -msgstr "" - -#: ../../c-api/unicode.rst:1028 -msgid "" -"The codecs all use a similar interface. Only deviations from the following " -"generic ones are documented for simplicity." -msgstr "" - -#: ../../c-api/unicode.rst:1033 -msgid "Generic Codecs" -msgstr "" - -#: ../../c-api/unicode.rst:1035 -msgid "The following macro is provided:" -msgstr "" - -#: ../../c-api/unicode.rst:1040 -msgid "The Unicode code point ``U+FFFD`` (replacement character)." -msgstr "" - -#: ../../c-api/unicode.rst:1042 -msgid "" -"This Unicode character is used as the replacement character during decoding " -"if the *errors* argument is set to \"replace\"." -msgstr "" - -#: ../../c-api/unicode.rst:1046 -msgid "These are the generic codec APIs:" -msgstr "" - -#: ../../c-api/unicode.rst:1052 -msgid "" -"Create a Unicode object by decoding *size* bytes of the encoded string " -"*str*. *encoding* and *errors* have the same meaning as the parameters of " -"the same name in the :func:`str` built-in function. The codec to be used is" -" looked up using the Python codec registry. Return ``NULL`` if an exception" -" was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1062 -msgid "" -"Encode a Unicode object and return the result as Python bytes object. " -"*encoding* and *errors* have the same meaning as the parameters of the same " -"name in the Unicode :meth:`~str.encode` method. The codec to be used is " -"looked up using the Python codec registry. Return ``NULL`` if an exception " -"was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1070 -msgid "UTF-8 Codecs" -msgstr "" - -#: ../../c-api/unicode.rst:1072 -msgid "These are the UTF-8 codec APIs:" -msgstr "" - -#: ../../c-api/unicode.rst:1077 -msgid "" -"Create a Unicode object by decoding *size* bytes of the UTF-8 encoded string" -" *str*. Return ``NULL`` if an exception was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1084 -msgid "" -"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF8`. If " -"*consumed* is not ``NULL``, trailing incomplete UTF-8 byte sequences will " -"not be treated as an error. Those bytes will not be decoded and the number " -"of bytes that have been decoded will be stored in *consumed*." -msgstr "" - -#: ../../c-api/unicode.rst:1092 -msgid "" -"Encode a Unicode object using UTF-8 and return the result as Python bytes " -"object. Error handling is \"strict\". Return ``NULL`` if an exception was " -"raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1096 ../../c-api/unicode.rst:1111 -msgid "" -"The function fails if the string contains surrogate code points (``U+D800`` " -"- ``U+DFFF``)." -msgstr "" - -#: ../../c-api/unicode.rst:1102 -msgid "" -"Return a pointer to the UTF-8 encoding of the Unicode object, and store the " -"size of the encoded representation (in bytes) in *size*. The *size* " -"argument can be ``NULL``; in this case no size will be stored. The returned" -" buffer always has an extra null byte appended (not included in *size*), " -"regardless of whether there are any other null code points." -msgstr "" - -#: ../../c-api/unicode.rst:1108 -msgid "" -"On error, set an exception, set *size* to ``-1`` (if it's not NULL) and " -"return ``NULL``." -msgstr "" - -#: ../../c-api/unicode.rst:1114 -msgid "" -"This caches the UTF-8 representation of the string in the Unicode object, " -"and subsequent calls will return a pointer to the same buffer. The caller " -"is not responsible for deallocating the buffer. The buffer is deallocated " -"and pointers to it become invalid when the Unicode object is garbage " -"collected." -msgstr "" - -#: ../../c-api/unicode.rst:1121 ../../c-api/unicode.rst:1143 -msgid "The return type is now ``const char *`` rather of ``char *``." -msgstr "" - -#: ../../c-api/unicode.rst:1124 -msgid "This function is a part of the :ref:`limited API `." -msgstr "" - -#: ../../c-api/unicode.rst:1130 -msgid "As :c:func:`PyUnicode_AsUTF8AndSize`, but does not store the size." -msgstr "" - -#: ../../c-api/unicode.rst:1134 -msgid "" -"This function does not have any special behavior for `null characters " -"`_ embedded within *unicode*. " -"As a result, strings containing null characters will remain in the returned " -"string, which some C functions might interpret as the end of the string, " -"leading to truncation. If truncation is an issue, it is recommended to use " -":c:func:`PyUnicode_AsUTF8AndSize` instead." -msgstr "" - -#: ../../c-api/unicode.rst:1148 -msgid "UTF-32 Codecs" -msgstr "" - -#: ../../c-api/unicode.rst:1150 -msgid "These are the UTF-32 codec APIs:" -msgstr "" - -#: ../../c-api/unicode.rst:1156 -msgid "" -"Decode *size* bytes from a UTF-32 encoded buffer string and return the " -"corresponding Unicode object. *errors* (if non-``NULL``) defines the error " -"handling. It defaults to \"strict\"." -msgstr "" - -#: ../../c-api/unicode.rst:1160 ../../c-api/unicode.rst:1210 -msgid "" -"If *byteorder* is non-``NULL``, the decoder starts decoding using the given " -"byte order::" -msgstr "" - -#: ../../c-api/unicode.rst:1163 ../../c-api/unicode.rst:1213 -msgid "" -"*byteorder == -1: little endian\n" -"*byteorder == 0: native order\n" -"*byteorder == 1: big endian" -msgstr "" - -#: ../../c-api/unicode.rst:1167 -msgid "" -"If ``*byteorder`` is zero, and the first four bytes of the input data are a " -"byte order mark (BOM), the decoder switches to this byte order and the BOM " -"is not copied into the resulting Unicode string. If ``*byteorder`` is " -"``-1`` or ``1``, any byte order mark is copied to the output." -msgstr "" - -#: ../../c-api/unicode.rst:1172 -msgid "" -"After completion, *\\*byteorder* is set to the current byte order at the end" -" of input data." -msgstr "" - -#: ../../c-api/unicode.rst:1175 ../../c-api/unicode.rst:1226 -msgid "If *byteorder* is ``NULL``, the codec starts in native order mode." -msgstr "" - -#: ../../c-api/unicode.rst:1177 ../../c-api/unicode.rst:1228 -msgid "Return ``NULL`` if an exception was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1183 -msgid "" -"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF32`. If " -"*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF32Stateful` will not" -" treat trailing incomplete UTF-32 byte sequences (such as a number of bytes " -"not divisible by four) as an error. Those bytes will not be decoded and the " -"number of bytes that have been decoded will be stored in *consumed*." -msgstr "" - -#: ../../c-api/unicode.rst:1192 -msgid "" -"Return a Python byte string using the UTF-32 encoding in native byte order. " -"The string always starts with a BOM mark. Error handling is \"strict\". " -"Return ``NULL`` if an exception was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1198 -msgid "UTF-16 Codecs" -msgstr "" - -#: ../../c-api/unicode.rst:1200 -msgid "These are the UTF-16 codec APIs:" -msgstr "" - -#: ../../c-api/unicode.rst:1206 -msgid "" -"Decode *size* bytes from a UTF-16 encoded buffer string and return the " -"corresponding Unicode object. *errors* (if non-``NULL``) defines the error " -"handling. It defaults to \"strict\"." -msgstr "" - -#: ../../c-api/unicode.rst:1217 -msgid "" -"If ``*byteorder`` is zero, and the first two bytes of the input data are a " -"byte order mark (BOM), the decoder switches to this byte order and the BOM " -"is not copied into the resulting Unicode string. If ``*byteorder`` is " -"``-1`` or ``1``, any byte order mark is copied to the output (where it will " -"result in either a ``\\ufeff`` or a ``\\ufffe`` character)." -msgstr "" - -#: ../../c-api/unicode.rst:1223 -msgid "" -"After completion, ``*byteorder`` is set to the current byte order at the end" -" of input data." -msgstr "" - -#: ../../c-api/unicode.rst:1234 -msgid "" -"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF16`. If " -"*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF16Stateful` will not" -" treat trailing incomplete UTF-16 byte sequences (such as an odd number of " -"bytes or a split surrogate pair) as an error. Those bytes will not be " -"decoded and the number of bytes that have been decoded will be stored in " -"*consumed*." -msgstr "" - -#: ../../c-api/unicode.rst:1243 -msgid "" -"Return a Python byte string using the UTF-16 encoding in native byte order. " -"The string always starts with a BOM mark. Error handling is \"strict\". " -"Return ``NULL`` if an exception was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1249 -msgid "UTF-7 Codecs" -msgstr "" - -#: ../../c-api/unicode.rst:1251 -msgid "These are the UTF-7 codec APIs:" -msgstr "" - -#: ../../c-api/unicode.rst:1256 -msgid "" -"Create a Unicode object by decoding *size* bytes of the UTF-7 encoded string" -" *str*. Return ``NULL`` if an exception was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1263 -msgid "" -"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF7`. If " -"*consumed* is not ``NULL``, trailing incomplete UTF-7 base-64 sections will " -"not be treated as an error. Those bytes will not be decoded and the number " -"of bytes that have been decoded will be stored in *consumed*." -msgstr "" - -#: ../../c-api/unicode.rst:1270 -msgid "Unicode-Escape Codecs" -msgstr "" - -#: ../../c-api/unicode.rst:1272 -msgid "These are the \"Unicode Escape\" codec APIs:" -msgstr "" - -#: ../../c-api/unicode.rst:1278 -msgid "" -"Create a Unicode object by decoding *size* bytes of the Unicode-Escape " -"encoded string *str*. Return ``NULL`` if an exception was raised by the " -"codec." -msgstr "" - -#: ../../c-api/unicode.rst:1284 -msgid "" -"Encode a Unicode object using Unicode-Escape and return the result as a " -"bytes object. Error handling is \"strict\". Return ``NULL`` if an " -"exception was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1290 -msgid "Raw-Unicode-Escape Codecs" -msgstr "" - -#: ../../c-api/unicode.rst:1292 -msgid "These are the \"Raw Unicode Escape\" codec APIs:" -msgstr "" - -#: ../../c-api/unicode.rst:1298 -msgid "" -"Create a Unicode object by decoding *size* bytes of the Raw-Unicode-Escape " -"encoded string *str*. Return ``NULL`` if an exception was raised by the " -"codec." -msgstr "" - -#: ../../c-api/unicode.rst:1304 -msgid "" -"Encode a Unicode object using Raw-Unicode-Escape and return the result as a " -"bytes object. Error handling is \"strict\". Return ``NULL`` if an " -"exception was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1310 -msgid "Latin-1 Codecs" -msgstr "" - -#: ../../c-api/unicode.rst:1312 -msgid "" -"These are the Latin-1 codec APIs: Latin-1 corresponds to the first 256 " -"Unicode ordinals and only these are accepted by the codecs during encoding." -msgstr "" - -#: ../../c-api/unicode.rst:1318 -msgid "" -"Create a Unicode object by decoding *size* bytes of the Latin-1 encoded " -"string *str*. Return ``NULL`` if an exception was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1324 -msgid "" -"Encode a Unicode object using Latin-1 and return the result as Python bytes " -"object. Error handling is \"strict\". Return ``NULL`` if an exception was " -"raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1330 -msgid "ASCII Codecs" -msgstr "" - -#: ../../c-api/unicode.rst:1332 -msgid "" -"These are the ASCII codec APIs. Only 7-bit ASCII data is accepted. All " -"other codes generate errors." -msgstr "" - -#: ../../c-api/unicode.rst:1338 -msgid "" -"Create a Unicode object by decoding *size* bytes of the ASCII encoded string" -" *str*. Return ``NULL`` if an exception was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1344 -msgid "" -"Encode a Unicode object using ASCII and return the result as Python bytes " -"object. Error handling is \"strict\". Return ``NULL`` if an exception was " -"raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1350 -msgid "Character Map Codecs" -msgstr "" - -#: ../../c-api/unicode.rst:1352 -msgid "" -"This codec is special in that it can be used to implement many different " -"codecs (and this is in fact what was done to obtain most of the standard " -"codecs included in the :mod:`!encodings` package). The codec uses mappings " -"to encode and decode characters. The mapping objects provided must support " -"the :meth:`~object.__getitem__` mapping interface; dictionaries and " -"sequences work well." -msgstr "" - -#: ../../c-api/unicode.rst:1358 -msgid "These are the mapping codec APIs:" -msgstr "" - -#: ../../c-api/unicode.rst:1363 -msgid "" -"Create a Unicode object by decoding *size* bytes of the encoded string *str*" -" using the given *mapping* object. Return ``NULL`` if an exception was " -"raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1367 -msgid "" -"If *mapping* is ``NULL``, Latin-1 decoding will be applied. Else *mapping* " -"must map bytes ordinals (integers in the range from 0 to 255) to Unicode " -"strings, integers (which are then interpreted as Unicode ordinals) or " -"``None``. Unmapped data bytes -- ones which cause a :exc:`LookupError`, as " -"well as ones which get mapped to ``None``, ``0xFFFE`` or ``'\\ufffe'``, are " -"treated as undefined mappings and cause an error." -msgstr "" - -#: ../../c-api/unicode.rst:1378 -msgid "" -"Encode a Unicode object using the given *mapping* object and return the " -"result as a bytes object. Error handling is \"strict\". Return ``NULL`` if" -" an exception was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1382 -msgid "" -"The *mapping* object must map Unicode ordinal integers to bytes objects, " -"integers in the range from 0 to 255 or ``None``. Unmapped character " -"ordinals (ones which cause a :exc:`LookupError`) as well as mapped to " -"``None`` are treated as \"undefined mapping\" and cause an error." -msgstr "" - -#: ../../c-api/unicode.rst:1388 -msgid "The following codec API is special in that maps Unicode to Unicode." -msgstr "" - -#: ../../c-api/unicode.rst:1392 -msgid "" -"Translate a string by applying a character mapping table to it and return " -"the resulting Unicode object. Return ``NULL`` if an exception was raised by " -"the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1396 -msgid "" -"The mapping table must map Unicode ordinal integers to Unicode ordinal " -"integers or ``None`` (causing deletion of the character)." -msgstr "" - -#: ../../c-api/unicode.rst:1399 -msgid "" -"Mapping tables need only provide the :meth:`~object.__getitem__` interface; " -"dictionaries and sequences work well. Unmapped character ordinals (ones " -"which cause a :exc:`LookupError`) are left untouched and are copied as-is." -msgstr "" - -#: ../../c-api/unicode.rst:1403 -msgid "" -"*errors* has the usual meaning for codecs. It may be ``NULL`` which " -"indicates to use the default error handling." -msgstr "" - -#: ../../c-api/unicode.rst:1408 -msgid "MBCS codecs for Windows" -msgstr "" - -#: ../../c-api/unicode.rst:1410 -msgid "" -"These are the MBCS codec APIs. They are currently only available on Windows " -"and use the Win32 MBCS converters to implement the conversions. Note that " -"MBCS (or DBCS) is a class of encodings, not just one. The target encoding " -"is defined by the user settings on the machine running the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1417 -msgid "" -"Create a Unicode object by decoding *size* bytes of the MBCS encoded string " -"*str*. Return ``NULL`` if an exception was raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1424 -msgid "" -"If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeMBCS`. If " -"*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeMBCSStateful` will not " -"decode trailing lead byte and the number of bytes that have been decoded " -"will be stored in *consumed*." -msgstr "" - -#: ../../c-api/unicode.rst:1433 -msgid "" -"Similar to :c:func:`PyUnicode_DecodeMBCSStateful`, except uses the code page" -" specified by *code_page*." -msgstr "" - -#: ../../c-api/unicode.rst:1439 -msgid "" -"Encode a Unicode object using MBCS and return the result as Python bytes " -"object. Error handling is \"strict\". Return ``NULL`` if an exception was " -"raised by the codec." -msgstr "" - -#: ../../c-api/unicode.rst:1446 -msgid "" -"Encode the Unicode object using the specified code page and return a Python " -"bytes object. Return ``NULL`` if an exception was raised by the codec. Use " -":c:macro:`!CP_ACP` code page to get the MBCS encoder." -msgstr "" - -#: ../../c-api/unicode.rst:1454 -msgid "Methods & Slots" -msgstr "" - -#: ../../c-api/unicode.rst:1460 -msgid "Methods and Slot Functions" -msgstr "" - -#: ../../c-api/unicode.rst:1462 -msgid "" -"The following APIs are capable of handling Unicode objects and strings on " -"input (we refer to them as strings in the descriptions) and return Unicode " -"objects or integers as appropriate." -msgstr "" - -#: ../../c-api/unicode.rst:1466 -msgid "They all return ``NULL`` or ``-1`` if an exception occurs." -msgstr "" - -#: ../../c-api/unicode.rst:1471 -msgid "Concat two strings giving a new Unicode string." -msgstr "" - -#: ../../c-api/unicode.rst:1476 -msgid "" -"Split a string giving a list of Unicode strings. If *sep* is ``NULL``, " -"splitting will be done at all whitespace substrings. Otherwise, splits " -"occur at the given separator. At most *maxsplit* splits will be done. If " -"negative, no limit is set. Separators are not included in the resulting " -"list." -msgstr "" - -#: ../../c-api/unicode.rst:1481 ../../c-api/unicode.rst:1491 -#: ../../c-api/unicode.rst:1512 ../../c-api/unicode.rst:1525 -msgid "On error, return ``NULL`` with an exception set." -msgstr "" - -#: ../../c-api/unicode.rst:1483 -msgid "Equivalent to :py:meth:`str.split`." -msgstr "" - -#: ../../c-api/unicode.rst:1488 -msgid "" -"Similar to :c:func:`PyUnicode_Split`, but splitting will be done beginning " -"at the end of the string." -msgstr "" - -#: ../../c-api/unicode.rst:1493 -msgid "Equivalent to :py:meth:`str.rsplit`." -msgstr "" - -#: ../../c-api/unicode.rst:1498 -msgid "" -"Split a Unicode string at line breaks, returning a list of Unicode strings. " -"CRLF is considered to be one line break. If *keepends* is ``0``, the Line " -"break characters are not included in the resulting strings." -msgstr "" - -#: ../../c-api/unicode.rst:1505 -msgid "" -"Split a Unicode string at the first occurrence of *sep*, and return a " -"3-tuple containing the part before the separator, the separator itself, and " -"the part after the separator. If the separator is not found, return a " -"3-tuple containing the string itself, followed by two empty strings." -msgstr "" - -#: ../../c-api/unicode.rst:1510 ../../c-api/unicode.rst:1523 -msgid "*sep* must not be empty." -msgstr "" - -#: ../../c-api/unicode.rst:1514 -msgid "Equivalent to :py:meth:`str.partition`." -msgstr "" - -#: ../../c-api/unicode.rst:1519 -msgid "" -"Similar to :c:func:`PyUnicode_Partition`, but split a Unicode string at the " -"last occurrence of *sep*. If the separator is not found, return a 3-tuple " -"containing two empty strings, followed by the string itself." -msgstr "" - -#: ../../c-api/unicode.rst:1527 -msgid "Equivalent to :py:meth:`str.rpartition`." -msgstr "" - -#: ../../c-api/unicode.rst:1532 -msgid "" -"Join a sequence of strings using the given *separator* and return the " -"resulting Unicode string." -msgstr "" - -#: ../../c-api/unicode.rst:1539 -msgid "" -"Return ``1`` if *substr* matches ``unicode[start:end]`` at the given tail " -"end (*direction* == ``-1`` means to do a prefix match, *direction* == ``1`` " -"a suffix match), ``0`` otherwise. Return ``-1`` if an error occurred." -msgstr "" - -#: ../../c-api/unicode.rst:1547 -msgid "" -"Return the first position of *substr* in ``unicode[start:end]`` using the " -"given *direction* (*direction* == ``1`` means to do a forward search, " -"*direction* == ``-1`` a backward search). The return value is the index of " -"the first match; a value of ``-1`` indicates that no match was found, and " -"``-2`` indicates that an error occurred and an exception has been set." -msgstr "" - -#: ../../c-api/unicode.rst:1557 -msgid "" -"Return the first position of the character *ch* in ``unicode[start:end]`` " -"using the given *direction* (*direction* == ``1`` means to do a forward " -"search, *direction* == ``-1`` a backward search). The return value is the " -"index of the first match; a value of ``-1`` indicates that no match was " -"found, and ``-2`` indicates that an error occurred and an exception has been" -" set." -msgstr "" - -#: ../../c-api/unicode.rst:1565 -msgid "" -"*start* and *end* are now adjusted to behave like ``unicode[start:end]``." -msgstr "" - -#: ../../c-api/unicode.rst:1572 -msgid "" -"Return the number of non-overlapping occurrences of *substr* in " -"``unicode[start:end]``. Return ``-1`` if an error occurred." -msgstr "" - -#: ../../c-api/unicode.rst:1579 -msgid "" -"Replace at most *maxcount* occurrences of *substr* in *unicode* with " -"*replstr* and return the resulting Unicode object. *maxcount* == ``-1`` " -"means replace all occurrences." -msgstr "" - -#: ../../c-api/unicode.rst:1586 -msgid "" -"Compare two strings and return ``-1``, ``0``, ``1`` for less than, equal, " -"and greater than, respectively." -msgstr "" - -#: ../../c-api/unicode.rst:1589 -msgid "" -"This function returns ``-1`` upon failure, so one should call " -":c:func:`PyErr_Occurred` to check for errors." -msgstr "" - -#: ../../c-api/unicode.rst:1594 -msgid "The :c:func:`PyUnicode_Equal` function." -msgstr "" - -#: ../../c-api/unicode.rst:1599 -msgid "Test if two strings are equal:" -msgstr "" - -#: ../../c-api/unicode.rst:1601 -msgid "Return ``1`` if *a* is equal to *b*." -msgstr "" - -#: ../../c-api/unicode.rst:1602 -msgid "Return ``0`` if *a* is not equal to *b*." -msgstr "" - -#: ../../c-api/unicode.rst:1603 -msgid "" -"Set a :exc:`TypeError` exception and return ``-1`` if *a* or *b* is not a " -":class:`str` object." -msgstr "" - -#: ../../c-api/unicode.rst:1606 -msgid "The function always succeeds if *a* and *b* are :class:`str` objects." -msgstr "" - -#: ../../c-api/unicode.rst:1608 -msgid "" -"The function works for :class:`str` subclasses, but does not honor custom " -"``__eq__()`` method." -msgstr "" - -#: ../../c-api/unicode.rst:1613 -msgid "The :c:func:`PyUnicode_Compare` function." -msgstr "" - -#: ../../c-api/unicode.rst:1620 -msgid "" -"Compare a Unicode object with a char buffer which is interpreted as being " -"UTF-8 or ASCII encoded and return true (``1``) if they are equal, or false " -"(``0``) otherwise. If the Unicode object contains surrogate code points " -"(``U+D800`` - ``U+DFFF``) or the C string is not valid UTF-8, false (``0``) " -"is returned." -msgstr "" - -#: ../../c-api/unicode.rst:1627 ../../c-api/unicode.rst:1648 -msgid "This function does not raise exceptions." -msgstr "" - -#: ../../c-api/unicode.rst:1634 -msgid "" -"Similar to :c:func:`PyUnicode_EqualToUTF8AndSize`, but compute *string* " -"length using :c:func:`!strlen`. If the Unicode object contains null " -"characters, false (``0``) is returned." -msgstr "" - -#: ../../c-api/unicode.rst:1643 -msgid "" -"Compare a Unicode object, *unicode*, with *string* and return ``-1``, ``0``," -" ``1`` for less than, equal, and greater than, respectively. It is best to " -"pass only ASCII-encoded strings, but the function interprets the input " -"string as ISO-8859-1 if it contains non-ASCII characters." -msgstr "" - -#: ../../c-api/unicode.rst:1653 -msgid "Rich compare two Unicode strings and return one of the following:" -msgstr "" - -#: ../../c-api/unicode.rst:1655 -msgid "``NULL`` in case an exception was raised" -msgstr "" - -#: ../../c-api/unicode.rst:1656 -msgid ":c:data:`Py_True` or :c:data:`Py_False` for successful comparisons" -msgstr "" - -#: ../../c-api/unicode.rst:1657 -msgid ":c:data:`Py_NotImplemented` in case the type combination is unknown" -msgstr "" - -#: ../../c-api/unicode.rst:1659 -msgid "" -"Possible values for *op* are :c:macro:`Py_GT`, :c:macro:`Py_GE`, " -":c:macro:`Py_EQ`, :c:macro:`Py_NE`, :c:macro:`Py_LT`, and :c:macro:`Py_LE`." -msgstr "" - -#: ../../c-api/unicode.rst:1665 -msgid "" -"Return a new string object from *format* and *args*; this is analogous to " -"``format % args``." -msgstr "" - -#: ../../c-api/unicode.rst:1671 -msgid "" -"Check whether *substr* is contained in *unicode* and return true or false " -"accordingly." -msgstr "" - -#: ../../c-api/unicode.rst:1674 -msgid "" -"*substr* has to coerce to a one element Unicode string. ``-1`` is returned " -"if there was an error." -msgstr "" - -#: ../../c-api/unicode.rst:1680 -msgid "" -"Intern the argument :c:expr:`*p_unicode` in place. The argument must be the" -" address of a pointer variable pointing to a Python Unicode string object. " -"If there is an existing interned string that is the same as " -":c:expr:`*p_unicode`, it sets :c:expr:`*p_unicode` to it (releasing the " -"reference to the old string object and creating a new :term:`strong " -"reference` to the interned string object), otherwise it leaves " -":c:expr:`*p_unicode` alone and interns it." -msgstr "" - -#: ../../c-api/unicode.rst:1687 -msgid "" -"(Clarification: even though there is a lot of talk about references, think " -"of this function as reference-neutral. You must own the object you pass in; " -"after the call you no longer own the passed-in reference, but you newly own " -"the result.)" -msgstr "" - -#: ../../c-api/unicode.rst:1692 -msgid "" -"This function never raises an exception. On error, it leaves its argument " -"unchanged without interning it." -msgstr "" - -#: ../../c-api/unicode.rst:1695 -msgid "" -"Instances of subclasses of :py:class:`str` may not be interned, that is, " -":c:expr:`PyUnicode_CheckExact(*p_unicode)` must be true. If it is not, then " -"-- as with any other error -- the argument is left unchanged." -msgstr "" - -#: ../../c-api/unicode.rst:1699 -msgid "" -"Note that interned strings are not “immortal”. You must keep a reference to " -"the result to benefit from interning." -msgstr "" - -#: ../../c-api/unicode.rst:1705 -msgid "" -"A combination of :c:func:`PyUnicode_FromString` and " -":c:func:`PyUnicode_InternInPlace`, meant for statically allocated strings." -msgstr "" - -#: ../../c-api/unicode.rst:1708 -msgid "" -"Return a new (\"owned\") reference to either a new Unicode string object " -"that has been interned, or an earlier interned string object with the same " -"value." -msgstr "" - -#: ../../c-api/unicode.rst:1712 -msgid "" -"Python may keep a reference to the result, or make it :term:`immortal`, " -"preventing it from being garbage-collected promptly. For interning an " -"unbounded number of different strings, such as ones coming from user input, " -"prefer calling :c:func:`PyUnicode_FromString` and " -":c:func:`PyUnicode_InternInPlace` directly." -msgstr "" - -#: ../../c-api/unicode.rst:1720 -msgid "Strings interned this way are made :term:`immortal`." -msgstr "" - -#: ../../c-api/unicode.rst:1725 -msgid "" -"Return a non-zero value if *str* is interned, zero if not. The *str* " -"argument must be a string; this is not checked. This function always " -"succeeds." -msgstr "" - -#: ../../c-api/unicode.rst:1731 -msgid "" -"A non-zero return value may carry additional information about *how* the " -"string is interned. The meaning of such non-zero values, as well as each " -"specific string's intern-related details, may change between CPython " -"versions." -msgstr "" - -#: ../../c-api/unicode.rst:1738 -msgid "PyUnicodeWriter" -msgstr "" - -#: ../../c-api/unicode.rst:1740 -msgid "" -"The :c:type:`PyUnicodeWriter` API can be used to create a Python " -":class:`str` object." -msgstr "" - -#: ../../c-api/unicode.rst:1747 -msgid "A Unicode writer instance." -msgstr "" - -#: ../../c-api/unicode.rst:1749 -msgid "" -"The instance must be destroyed by :c:func:`PyUnicodeWriter_Finish` on " -"success, or :c:func:`PyUnicodeWriter_Discard` on error." -msgstr "" - -#: ../../c-api/unicode.rst:1754 -msgid "Create a Unicode writer instance." -msgstr "" - -#: ../../c-api/unicode.rst:1756 -msgid "*length* must be greater than or equal to ``0``." -msgstr "" - -#: ../../c-api/unicode.rst:1758 -msgid "" -"If *length* is greater than ``0``, preallocate an internal buffer of " -"*length* characters." -msgstr "" - -#: ../../c-api/unicode.rst:1761 ../../c-api/unicode.rst:1767 -msgid "Set an exception and return ``NULL`` on error." -msgstr "" - -#: ../../c-api/unicode.rst:1765 -msgid "" -"Return the final Python :class:`str` object and destroy the writer instance." -msgstr "" - -#: ../../c-api/unicode.rst:1769 ../../c-api/unicode.rst:1777 -msgid "The writer instance is invalid after this call." -msgstr "" - -#: ../../c-api/unicode.rst:1773 -msgid "Discard the internal Unicode buffer and destroy the writer instance." -msgstr "" - -#: ../../c-api/unicode.rst:1775 -msgid "If *writer* is ``NULL``, no operation is performed." -msgstr "" - -#: ../../c-api/unicode.rst:1781 -msgid "Write the single Unicode character *ch* into *writer*." -msgstr "" - -#: ../../c-api/unicode.rst:1783 ../../c-api/unicode.rst:1793 -#: ../../c-api/unicode.rst:1805 ../../c-api/unicode.rst:1814 -#: ../../c-api/unicode.rst:1821 ../../c-api/unicode.rst:1828 -#: ../../c-api/unicode.rst:1839 ../../c-api/unicode.rst:1846 -#: ../../c-api/unicode.rst:1865 -msgid "" -"On success, return ``0``. On error, set an exception, leave the writer " -"unchanged, and return ``-1``." -msgstr "" - -#: ../../c-api/unicode.rst:1788 -msgid "" -"Decode the string *str* from UTF-8 in strict mode and write the output into " -"*writer*." -msgstr "" - -#: ../../c-api/unicode.rst:1790 ../../c-api/unicode.rst:1854 -msgid "" -"*size* is the string length in bytes. If *size* is equal to ``-1``, call " -"``strlen(str)`` to get the string length." -msgstr "" - -#: ../../c-api/unicode.rst:1796 -msgid "See also :c:func:`PyUnicodeWriter_DecodeUTF8Stateful`." -msgstr "" - -#: ../../c-api/unicode.rst:1800 -msgid "Writer the wide string *str* into *writer*." -msgstr "" - -#: ../../c-api/unicode.rst:1802 -msgid "" -"*size* is a number of wide characters. If *size* is equal to ``-1``, call " -"``wcslen(str)`` to get the string length." -msgstr "" - -#: ../../c-api/unicode.rst:1810 -msgid "Writer the UCS4 string *str* into *writer*." -msgstr "" - -#: ../../c-api/unicode.rst:1812 -msgid "*size* is a number of UCS4 characters." -msgstr "" - -#: ../../c-api/unicode.rst:1819 -msgid "" -"Call :c:func:`PyObject_Str` on *obj* and write the output into *writer*." -msgstr "" - -#: ../../c-api/unicode.rst:1826 -msgid "" -"Call :c:func:`PyObject_Repr` on *obj* and write the output into *writer*." -msgstr "" - -#: ../../c-api/unicode.rst:1833 -msgid "Write the substring ``str[start:end]`` into *writer*." -msgstr "" - -#: ../../c-api/unicode.rst:1835 -msgid "" -"*str* must be Python :class:`str` object. *start* must be greater than or " -"equal to 0, and less than or equal to *end*. *end* must be less than or " -"equal to *str* length." -msgstr "" - -#: ../../c-api/unicode.rst:1844 -msgid "" -"Similar to :c:func:`PyUnicode_FromFormat`, but write the output directly " -"into *writer*." -msgstr "" - -#: ../../c-api/unicode.rst:1851 -msgid "" -"Decode the string *str* from UTF-8 with *errors* error handler and write the" -" output into *writer*." -msgstr "" - -#: ../../c-api/unicode.rst:1857 -msgid "" -"*errors* is an :ref:`error handler ` name, such as " -"``\"replace\"``. If *errors* is ``NULL``, use the strict error handler." -msgstr "" - -#: ../../c-api/unicode.rst:1860 -msgid "" -"If *consumed* is not ``NULL``, set *\\*consumed* to the number of decoded " -"bytes on success. If *consumed* is ``NULL``, treat trailing incomplete UTF-8" -" byte sequences as an error." -msgstr "" - -#: ../../c-api/unicode.rst:1868 -msgid "See also :c:func:`PyUnicodeWriter_WriteUTF8`." -msgstr "" - -#: ../../c-api/unicode.rst:1871 -msgid "Deprecated API" -msgstr "" - -#: ../../c-api/unicode.rst:1873 -msgid "The following API is deprecated." -msgstr "" - -#: ../../c-api/unicode.rst:1877 -msgid "" -"This is a typedef of :c:type:`wchar_t`, which is a 16-bit type or 32-bit " -"type depending on the platform. Please use :c:type:`wchar_t` directly " -"instead." -msgstr "" - -#: ../../c-api/unicode.rst:1881 -msgid "" -"In previous versions, this was a 16-bit type or a 32-bit type depending on " -"whether you selected a \"narrow\" or \"wide\" Unicode version of Python at " -"build time." -msgstr "" - -#: ../../c-api/unicode.rst:1891 -msgid "" -"Do nothing and return ``0``. This API is kept only for backward " -"compatibility, but there are no plans to remove it." -msgstr "" - -#: ../../c-api/unicode.rst:1897 -msgid "" -"This API does nothing since Python 3.12. Previously, this needed to be " -"called for each string created using the old API " -"(:c:func:`!PyUnicode_FromUnicode` or similar)." -msgstr "" - -#: ../../c-api/unicode.rst:1905 -msgid "" -"Do nothing and return ``1``. This API is kept only for backward " -"compatibility, but there are no plans to remove it." -msgstr "" - -#: ../../c-api/unicode.rst:1911 -msgid "" -"This API does nothing since Python 3.12. Previously, this could be called to" -" check if :c:func:`PyUnicode_READY` is necessary." -msgstr "" diff --git a/python-newest.c-api--utilities/id.po b/python-newest.c-api--utilities/id.po deleted file mode 100644 index f3f666b..0000000 --- a/python-newest.c-api--utilities/id.po +++ /dev/null @@ -1,38 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/utilities.rst:7 -msgid "Utilities" -msgstr "Utilitas" - -#: ../../c-api/utilities.rst:9 -msgid "" -"The functions in this chapter perform various utility tasks, ranging from " -"helping C code be more portable across platforms, using Python modules from " -"C, and parsing function arguments and constructing Python values from C " -"values." -msgstr "" -"Fungsi dalam bab ini melakukan berbagai tugas utilitas, mulai dari membantu " -"kode C menjadi lebih portabel di seluruh platform, menggunakan modul Python " -"dari C, dan mem-parsing argumen fungsi dan membangun nilai-nilai Python dari" -" nilai-nilai C." diff --git a/python-newest.c-api--veryhigh/id.po b/python-newest.c-api--veryhigh/id.po deleted file mode 100644 index c701b87..0000000 --- a/python-newest.c-api--veryhigh/id.po +++ /dev/null @@ -1,413 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/veryhigh.rst:8 -msgid "The Very High Level Layer" -msgstr "" - -#: ../../c-api/veryhigh.rst:10 -msgid "" -"The functions in this chapter will let you execute Python source code given " -"in a file or a buffer, but they will not let you interact in a more detailed" -" way with the interpreter." -msgstr "" - -#: ../../c-api/veryhigh.rst:14 -msgid "" -"Several of these functions accept a start symbol from the grammar as a " -"parameter. The available start symbols are :c:data:`Py_eval_input`, " -":c:data:`Py_file_input`, and :c:data:`Py_single_input`. These are described" -" following the functions which accept them as parameters." -msgstr "" - -#: ../../c-api/veryhigh.rst:19 -msgid "" -"Note also that several of these functions take :c:expr:`FILE*` parameters. " -"One particular issue which needs to be handled carefully is that the " -":c:type:`FILE` structure for different C libraries can be different and " -"incompatible. Under Windows (at least), it is possible for dynamically " -"linked extensions to actually use different libraries, so care should be " -"taken that :c:expr:`FILE*` parameters are only passed to these functions if " -"it is certain that they were created by the same library that the Python " -"runtime is using." -msgstr "" - -#: ../../c-api/veryhigh.rst:30 -msgid "" -"This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " -"leaving *closeit* set to ``0`` and *flags* set to ``NULL``." -msgstr "" - -#: ../../c-api/veryhigh.rst:36 -msgid "" -"This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " -"leaving the *closeit* argument set to ``0``." -msgstr "" - -#: ../../c-api/veryhigh.rst:42 -msgid "" -"This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " -"leaving the *flags* argument set to ``NULL``." -msgstr "" - -#: ../../c-api/veryhigh.rst:48 -msgid "" -"If *fp* refers to a file associated with an interactive device (console or " -"terminal input or Unix pseudo-terminal), return the value of " -":c:func:`PyRun_InteractiveLoop`, otherwise return the result of " -":c:func:`PyRun_SimpleFile`. *filename* is decoded from the filesystem " -"encoding (:func:`sys.getfilesystemencoding`). If *filename* is ``NULL``, " -"this function uses ``\"???\"`` as the filename. If *closeit* is true, the " -"file is closed before ``PyRun_SimpleFileExFlags()`` returns." -msgstr "" - -#: ../../c-api/veryhigh.rst:60 -msgid "" -"This is a simplified interface to :c:func:`PyRun_SimpleStringFlags` below, " -"leaving the :c:struct:`PyCompilerFlags`\\* argument set to ``NULL``." -msgstr "" - -#: ../../c-api/veryhigh.rst:66 -msgid "" -"Executes the Python source code from *command* in the :mod:`__main__` module" -" according to the *flags* argument. If :mod:`__main__` does not already " -"exist, it is created. Returns ``0`` on success or ``-1`` if an exception " -"was raised. If there was an error, there is no way to get the exception " -"information. For the meaning of *flags*, see below." -msgstr "" - -#: ../../c-api/veryhigh.rst:72 -msgid "" -"Note that if an otherwise unhandled :exc:`SystemExit` is raised, this " -"function will not return ``-1``, but exit the process, as long as " -":c:member:`PyConfig.inspect` is zero." -msgstr "" - -#: ../../c-api/veryhigh.rst:79 -msgid "" -"This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, " -"leaving *closeit* set to ``0`` and *flags* set to ``NULL``." -msgstr "" - -#: ../../c-api/veryhigh.rst:85 -msgid "" -"This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, " -"leaving *flags* set to ``NULL``." -msgstr "" - -#: ../../c-api/veryhigh.rst:91 -msgid "" -"Similar to :c:func:`PyRun_SimpleStringFlags`, but the Python source code is " -"read from *fp* instead of an in-memory string. *filename* should be the name" -" of the file, it is decoded from :term:`filesystem encoding and error " -"handler`. If *closeit* is true, the file is closed before " -"``PyRun_SimpleFileExFlags()`` returns." -msgstr "" - -#: ../../c-api/veryhigh.rst:98 -msgid "" -"On Windows, *fp* should be opened as binary mode (e.g. ``fopen(filename, " -"\"rb\")``). Otherwise, Python may not handle script file with LF line ending" -" correctly." -msgstr "" - -#: ../../c-api/veryhigh.rst:104 -msgid "" -"This is a simplified interface to :c:func:`PyRun_InteractiveOneFlags` below," -" leaving *flags* set to ``NULL``." -msgstr "" - -#: ../../c-api/veryhigh.rst:110 -msgid "" -"Read and execute a single statement from a file associated with an " -"interactive device according to the *flags* argument. The user will be " -"prompted using ``sys.ps1`` and ``sys.ps2``. *filename* is decoded from the " -":term:`filesystem encoding and error handler`." -msgstr "" - -#: ../../c-api/veryhigh.rst:115 -msgid "" -"Returns ``0`` when the input was executed successfully, ``-1`` if there was " -"an exception, or an error code from the :file:`errcode.h` include file " -"distributed as part of Python if there was a parse error. (Note that " -":file:`errcode.h` is not included by :file:`Python.h`, so must be included " -"specifically if needed.)" -msgstr "" - -#: ../../c-api/veryhigh.rst:124 -msgid "" -"This is a simplified interface to :c:func:`PyRun_InteractiveLoopFlags` " -"below, leaving *flags* set to ``NULL``." -msgstr "" - -#: ../../c-api/veryhigh.rst:130 -msgid "" -"Read and execute statements from a file associated with an interactive " -"device until EOF is reached. The user will be prompted using ``sys.ps1`` " -"and ``sys.ps2``. *filename* is decoded from the :term:`filesystem encoding " -"and error handler`. Returns ``0`` at EOF or a negative number upon failure." -msgstr "" - -#: ../../c-api/veryhigh.rst:138 -msgid "" -"Can be set to point to a function with the prototype ``int func(void)``. " -"The function will be called when Python's interpreter prompt is about to " -"become idle and wait for user input from the terminal. The return value is " -"ignored. Overriding this hook can be used to integrate the interpreter's " -"prompt with other event loops, as done in the :file:`Modules/_tkinter.c` in " -"the Python source code." -msgstr "" - -#: ../../c-api/veryhigh.rst:146 ../../c-api/veryhigh.rst:170 -msgid "" -"This function is only called from the :ref:`main interpreter `." -msgstr "" - -#: ../../c-api/veryhigh.rst:153 -msgid "" -"Can be set to point to a function with the prototype ``char *func(FILE " -"*stdin, FILE *stdout, char *prompt)``, overriding the default function used " -"to read a single line of input at the interpreter's prompt. The function is" -" expected to output the string *prompt* if it's not ``NULL``, and then read " -"a line of input from the provided standard input file, returning the " -"resulting string. For example, The :mod:`readline` module sets this hook to" -" provide line-editing and tab-completion features." -msgstr "" - -#: ../../c-api/veryhigh.rst:162 -msgid "" -"The result must be a string allocated by :c:func:`PyMem_RawMalloc` or " -":c:func:`PyMem_RawRealloc`, or ``NULL`` if an error occurred." -msgstr "" - -#: ../../c-api/veryhigh.rst:165 -msgid "" -"The result must be allocated by :c:func:`PyMem_RawMalloc` or " -":c:func:`PyMem_RawRealloc`, instead of being allocated by " -":c:func:`PyMem_Malloc` or :c:func:`PyMem_Realloc`." -msgstr "" - -#: ../../c-api/veryhigh.rst:176 -msgid "" -"This is a simplified interface to :c:func:`PyRun_StringFlags` below, leaving" -" *flags* set to ``NULL``." -msgstr "" - -#: ../../c-api/veryhigh.rst:182 -msgid "" -"Execute Python source code from *str* in the context specified by the " -"objects *globals* and *locals* with the compiler flags specified by *flags*." -" *globals* must be a dictionary; *locals* can be any object that implements" -" the mapping protocol. The parameter *start* specifies the start token that" -" should be used to parse the source code." -msgstr "" - -#: ../../c-api/veryhigh.rst:188 -msgid "" -"Returns the result of executing the code as a Python object, or ``NULL`` if " -"an exception was raised." -msgstr "" - -#: ../../c-api/veryhigh.rst:194 -msgid "" -"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving" -" *closeit* set to ``0`` and *flags* set to ``NULL``." -msgstr "" - -#: ../../c-api/veryhigh.rst:200 -msgid "" -"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving" -" *flags* set to ``NULL``." -msgstr "" - -#: ../../c-api/veryhigh.rst:206 -msgid "" -"This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving" -" *closeit* set to ``0``." -msgstr "" - -#: ../../c-api/veryhigh.rst:212 -msgid "" -"Similar to :c:func:`PyRun_StringFlags`, but the Python source code is read " -"from *fp* instead of an in-memory string. *filename* should be the name of " -"the file, it is decoded from the :term:`filesystem encoding and error " -"handler`. If *closeit* is true, the file is closed before " -":c:func:`PyRun_FileExFlags` returns." -msgstr "" - -#: ../../c-api/veryhigh.rst:221 -msgid "" -"This is a simplified interface to :c:func:`Py_CompileStringFlags` below, " -"leaving *flags* set to ``NULL``." -msgstr "" - -#: ../../c-api/veryhigh.rst:227 -msgid "" -"This is a simplified interface to :c:func:`Py_CompileStringExFlags` below, " -"with *optimize* set to ``-1``." -msgstr "" - -#: ../../c-api/veryhigh.rst:233 -msgid "" -"Parse and compile the Python source code in *str*, returning the resulting " -"code object. The start token is given by *start*; this can be used to " -"constrain the code which can be compiled and should be " -":c:data:`Py_eval_input`, :c:data:`Py_file_input`, or " -":c:data:`Py_single_input`. The filename specified by *filename* is used to " -"construct the code object and may appear in tracebacks or :exc:`SyntaxError`" -" exception messages. This returns ``NULL`` if the code cannot be parsed or " -"compiled." -msgstr "" - -#: ../../c-api/veryhigh.rst:241 -msgid "" -"The integer *optimize* specifies the optimization level of the compiler; a " -"value of ``-1`` selects the optimization level of the interpreter as given " -"by :option:`-O` options. Explicit levels are ``0`` (no optimization; " -"``__debug__`` is true), ``1`` (asserts are removed, ``__debug__`` is false) " -"or ``2`` (docstrings are removed too)." -msgstr "" - -#: ../../c-api/veryhigh.rst:252 -msgid "" -"Like :c:func:`Py_CompileStringObject`, but *filename* is a byte string " -"decoded from the :term:`filesystem encoding and error handler`." -msgstr "" - -#: ../../c-api/veryhigh.rst:259 -msgid "" -"This is a simplified interface to :c:func:`PyEval_EvalCodeEx`, with just the" -" code object, and global and local variables. The other arguments are set " -"to ``NULL``." -msgstr "" - -#: ../../c-api/veryhigh.rst:266 -msgid "" -"Evaluate a precompiled code object, given a particular environment for its " -"evaluation. This environment consists of a dictionary of global variables, " -"a mapping object of local variables, arrays of arguments, keywords and " -"defaults, a dictionary of default values for :ref:`keyword-only ` arguments and a closure tuple of cells." -msgstr "" - -#: ../../c-api/veryhigh.rst:275 -msgid "" -"Evaluate an execution frame. This is a simplified interface to " -":c:func:`PyEval_EvalFrameEx`, for backward compatibility." -msgstr "" - -#: ../../c-api/veryhigh.rst:281 -msgid "" -"This is the main, unvarnished function of Python interpretation. The code " -"object associated with the execution frame *f* is executed, interpreting " -"bytecode and executing calls as needed. The additional *throwflag* " -"parameter can mostly be ignored - if true, then it causes an exception to " -"immediately be thrown; this is used for the :meth:`~generator.throw` methods" -" of generator objects." -msgstr "" - -#: ../../c-api/veryhigh.rst:288 -msgid "" -"This function now includes a debug assertion to help ensure that it does not" -" silently discard an active exception." -msgstr "" - -#: ../../c-api/veryhigh.rst:295 -msgid "" -"This function changes the flags of the current evaluation frame, and returns" -" true on success, false on failure." -msgstr "" - -#: ../../c-api/veryhigh.rst:303 -msgid "" -"The start symbol from the Python grammar for isolated expressions; for use " -"with :c:func:`Py_CompileString`." -msgstr "" - -#: ../../c-api/veryhigh.rst:311 -msgid "" -"The start symbol from the Python grammar for sequences of statements as read" -" from a file or other source; for use with :c:func:`Py_CompileString`. This" -" is the symbol to use when compiling arbitrarily long Python source code." -msgstr "" - -#: ../../c-api/veryhigh.rst:320 -msgid "" -"The start symbol from the Python grammar for a single statement; for use " -"with :c:func:`Py_CompileString`. This is the symbol used for the interactive" -" interpreter loop." -msgstr "" - -#: ../../c-api/veryhigh.rst:327 -msgid "" -"This is the structure used to hold compiler flags. In cases where code is " -"only being compiled, it is passed as ``int flags``, and in cases where code " -"is being executed, it is passed as ``PyCompilerFlags *flags``. In this " -"case, ``from __future__ import`` can modify *flags*." -msgstr "" - -#: ../../c-api/veryhigh.rst:332 -msgid "" -"Whenever ``PyCompilerFlags *flags`` is ``NULL``, " -":c:member:`~PyCompilerFlags.cf_flags` is treated as equal to ``0``, and any " -"modification due to ``from __future__ import`` is discarded." -msgstr "" - -#: ../../c-api/veryhigh.rst:338 -msgid "Compiler flags." -msgstr "" - -#: ../../c-api/veryhigh.rst:342 -msgid "" -"*cf_feature_version* is the minor Python version. It should be initialized " -"to ``PY_MINOR_VERSION``." -msgstr "" - -#: ../../c-api/veryhigh.rst:345 -msgid "" -"The field is ignored by default, it is used if and only if ``PyCF_ONLY_AST``" -" flag is set in :c:member:`~PyCompilerFlags.cf_flags`." -msgstr "" - -#: ../../c-api/veryhigh.rst:348 -msgid "Added *cf_feature_version* field." -msgstr "" - -#: ../../c-api/veryhigh.rst:351 -msgid "The available compiler flags are accessible as macros:" -msgstr "" - -#: ../../c-api/veryhigh.rst:360 -msgid "" -"See :ref:`compiler flags ` in documentation of the " -":py:mod:`!ast` Python module, which exports these constants under the same " -"names." -msgstr "" - -#: ../../c-api/veryhigh.rst:366 -msgid "" -"This bit can be set in *flags* to cause division operator ``/`` to be " -"interpreted as \"true division\" according to :pep:`238`." -msgstr "" - -#: ../../c-api/veryhigh.rst:301 ../../c-api/veryhigh.rst:309 -#: ../../c-api/veryhigh.rst:318 -msgid "Py_CompileString (C function)" -msgstr "" diff --git a/python-newest.c-api--weakref/id.po b/python-newest.c-api--weakref/id.po deleted file mode 100644 index 7f7d5f9..0000000 --- a/python-newest.c-api--weakref/id.po +++ /dev/null @@ -1,153 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../c-api/weakref.rst:6 -msgid "Weak Reference Objects" -msgstr "" - -#: ../../c-api/weakref.rst:8 -msgid "" -"Python supports *weak references* as first-class objects. There are two " -"specific object types which directly implement weak references. The first " -"is a simple reference object, and the second acts as a proxy for the " -"original object as much as it can." -msgstr "" - -#: ../../c-api/weakref.rst:16 -msgid "" -"Return non-zero if *ob* is either a reference or proxy object. This " -"function always succeeds." -msgstr "" - -#: ../../c-api/weakref.rst:22 -msgid "" -"Return non-zero if *ob* is a reference object. This function always " -"succeeds." -msgstr "" - -#: ../../c-api/weakref.rst:27 -msgid "" -"Return non-zero if *ob* is a proxy object. This function always succeeds." -msgstr "" - -#: ../../c-api/weakref.rst:32 -msgid "" -"Return a weak reference object for the object *ob*. This will always return" -" a new reference, but is not guaranteed to create a new object; an existing " -"reference object may be returned. The second parameter, *callback*, can be " -"a callable object that receives notification when *ob* is garbage collected;" -" it should accept a single parameter, which will be the weak reference " -"object itself. *callback* may also be ``None`` or ``NULL``. If *ob* is not " -"a weakly referenceable object, or if *callback* is not callable, ``None``, " -"or ``NULL``, this will return ``NULL`` and raise :exc:`TypeError`." -msgstr "" - -#: ../../c-api/weakref.rst:44 -msgid "" -"Return a weak reference proxy object for the object *ob*. This will always " -"return a new reference, but is not guaranteed to create a new object; an " -"existing proxy object may be returned. The second parameter, *callback*, " -"can be a callable object that receives notification when *ob* is garbage " -"collected; it should accept a single parameter, which will be the weak " -"reference object itself. *callback* may also be ``None`` or ``NULL``. If " -"*ob* is not a weakly referenceable object, or if *callback* is not callable," -" ``None``, or ``NULL``, this will return ``NULL`` and raise " -":exc:`TypeError`." -msgstr "" - -#: ../../c-api/weakref.rst:56 -msgid "" -"Get a :term:`strong reference` to the referenced object from a weak " -"reference, *ref*, into *\\*pobj*." -msgstr "" - -#: ../../c-api/weakref.rst:59 -msgid "" -"On success, set *\\*pobj* to a new :term:`strong reference` to the " -"referenced object and return 1." -msgstr "" - -#: ../../c-api/weakref.rst:61 -msgid "If the reference is dead, set *\\*pobj* to ``NULL`` and return 0." -msgstr "" - -#: ../../c-api/weakref.rst:62 -msgid "On error, raise an exception and return -1." -msgstr "" - -#: ../../c-api/weakref.rst:69 -msgid "" -"Return a :term:`borrowed reference` to the referenced object from a weak " -"reference, *ref*. If the referent is no longer live, returns ``Py_None``." -msgstr "" - -#: ../../c-api/weakref.rst:74 -msgid "" -"This function returns a :term:`borrowed reference` to the referenced object." -" This means that you should always call :c:func:`Py_INCREF` on the object " -"except when it cannot be destroyed before the last usage of the borrowed " -"reference." -msgstr "" - -#: ../../c-api/weakref.rst:79 ../../c-api/weakref.rst:87 -msgid "Use :c:func:`PyWeakref_GetRef` instead." -msgstr "" - -#: ../../c-api/weakref.rst:85 -msgid "Similar to :c:func:`PyWeakref_GetObject`, but does no error checking." -msgstr "" - -#: ../../c-api/weakref.rst:93 -msgid "" -"Test if the weak reference *ref* is dead. Returns 1 if the reference is " -"dead, 0 if it is alive, and -1 with an error set if *ref* is not a weak " -"reference object." -msgstr "" - -#: ../../c-api/weakref.rst:102 -msgid "" -"This function is called by the :c:member:`~PyTypeObject.tp_dealloc` handler " -"to clear weak references." -msgstr "" - -#: ../../c-api/weakref.rst:105 -msgid "" -"This iterates through the weak references for *object* and calls callbacks " -"for those references which have one. It returns when all callbacks have been" -" attempted." -msgstr "" - -#: ../../c-api/weakref.rst:112 -msgid "Clears the weakrefs for *object* without calling the callbacks." -msgstr "" - -#: ../../c-api/weakref.rst:114 -msgid "" -"This function is called by the :c:member:`~PyTypeObject.tp_dealloc` handler " -"for types with finalizers (i.e., :meth:`~object.__del__`). The handler for " -"those objects first calls :c:func:`PyObject_ClearWeakRefs` to clear weakrefs" -" and call their callbacks, then the finalizer, and finally this function to " -"clear any weakrefs that may have been created by the finalizer." -msgstr "" - -#: ../../c-api/weakref.rst:120 -msgid "" -"In most circumstances, it's more appropriate to use " -":c:func:`PyObject_ClearWeakRefs` to clear weakrefs instead of this function." -msgstr "" diff --git a/python-newest.contents/id.po b/python-newest.contents/id.po deleted file mode 100644 index 87cc9d8..0000000 --- a/python-newest.contents/id.po +++ /dev/null @@ -1,26 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi (OonID) , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: oon arfiandwi (OonID) , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../contents.rst:3 -msgid "Python Documentation contents" -msgstr "Isi Dokumentasi Python" diff --git a/python-newest.copyright/id.po b/python-newest.copyright/id.po deleted file mode 100644 index 88f2542..0000000 --- a/python-newest.copyright/id.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../copyright.rst:3 -msgid "Copyright" -msgstr "Hak Cipta" - -#: ../../copyright.rst:5 -msgid "Python and this documentation is:" -msgstr "Python dan dokumentasi ini adalah:" - -#: ../../copyright.rst:7 -msgid "Copyright © 2001 Python Software Foundation. All rights reserved." -msgstr "" - -#: ../../copyright.rst:9 -msgid "Copyright © 2000 BeOpen.com. All rights reserved." -msgstr "Hak Cipta © 2000 BeOpen.com. Seluruh hak cipta." - -#: ../../copyright.rst:11 -msgid "" -"Copyright © 1995-2000 Corporation for National Research Initiatives. All " -"rights reserved." -msgstr "" -"Hak Cipta © 1995-2000 Corporation for National Research Initiatives. Seluruh" -" hak cipta." - -#: ../../copyright.rst:14 -msgid "" -"Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved." -msgstr "" -"Hak Cipta © 1991-1995 Stichting Mathematisch Centrum. Seluruh hak cipta." - -#: ../../copyright.rst:18 -msgid "" -"See :ref:`history-and-license` for complete license and permissions " -"information." -msgstr "" -"Lihat :ref:`history-and-license` untuk lisensi lengkap dan informasi " -"perizinan." diff --git a/python-newest.deprecations--c-api-pending-removal-in-3_14/id.po b/python-newest.deprecations--c-api-pending-removal-in-3_14/id.po deleted file mode 100644 index a832d32..0000000 --- a/python-newest.deprecations--c-api-pending-removal-in-3_14/id.po +++ /dev/null @@ -1,34 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-08-02 14:17+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../deprecations/c-api-pending-removal-in-3.14.rst:2 -msgid "Pending removal in Python 3.14" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.14.rst:4 -msgid "" -"The ``ma_version_tag`` field in :c:type:`PyDictObject` for extension modules" -" (:pep:`699`; :gh:`101193`)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.14.rst:7 -msgid "" -"Creating :c:data:`immutable types ` with mutable " -"bases (:gh:`95388`)." -msgstr "" diff --git a/python-newest.deprecations--c-api-pending-removal-in-3_15/id.po b/python-newest.deprecations--c-api-pending-removal-in-3_15/id.po deleted file mode 100644 index 9f7416e..0000000 --- a/python-newest.deprecations--c-api-pending-removal-in-3_15/id.po +++ /dev/null @@ -1,297 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-08-02 14:17+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:2 -msgid "Pending removal in Python 3.15" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:4 -msgid "The bundled copy of ``libmpdecimal``." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:5 -msgid "" -"The :c:func:`PyImport_ImportModuleNoBlock`: Use " -":c:func:`PyImport_ImportModule` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:7 -msgid "" -":c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`: Use " -":c:func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project " -"`__ can be used to get " -":c:func:`PyWeakref_GetRef` on Python 3.12 and older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:11 -msgid "" -":c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: Use " -":c:type:`wchar_t` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:13 -msgid "" -":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:15 -msgid "" -":c:func:`!PyUnicode_AsDecodedUnicode`: Use :c:func:`PyCodec_Decode` instead;" -" Note that some codecs (for example, \"base64\") may return a type other " -"than :class:`str`, such as :class:`bytes`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:18 -msgid "" -":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:20 -msgid "" -":c:func:`!PyUnicode_AsEncodedUnicode`: Use :c:func:`PyCodec_Encode` instead;" -" Note that some codecs (for example, \"base64\") may return a type other " -"than :class:`bytes`, such as :class:`str`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:23 -msgid "Python initialization functions, deprecated in Python 3.13:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:25 -msgid "" -":c:func:`Py_GetPath`: Use :c:func:`PyConfig_Get(\"module_search_paths\") " -"` (:data:`sys.path`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:28 -msgid "" -":c:func:`Py_GetPrefix`: Use :c:func:`PyConfig_Get(\"base_prefix\") " -"` (:data:`sys.base_prefix`) instead. Use " -":c:func:`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) if " -":ref:`virtual environments ` need to be handled." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:33 -msgid "" -":c:func:`Py_GetExecPrefix`: Use :c:func:`PyConfig_Get(\"base_exec_prefix\") " -"` (:data:`sys.base_exec_prefix`) instead. Use " -":c:func:`PyConfig_Get(\"exec_prefix\") ` " -"(:data:`sys.exec_prefix`) if :ref:`virtual environments ` need to " -"be handled." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:39 -msgid "" -":c:func:`Py_GetProgramFullPath`: Use :c:func:`PyConfig_Get(\"executable\") " -"` (:data:`sys.executable`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:42 -msgid "" -":c:func:`Py_GetProgramName`: Use :c:func:`PyConfig_Get(\"executable\") " -"` (:data:`sys.executable`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:45 -msgid "" -":c:func:`Py_GetPythonHome`: Use :c:func:`PyConfig_Get(\"home\") " -"` or the :envvar:`PYTHONHOME` environment variable instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:49 -msgid "" -"The `pythoncapi-compat project `__ can be used to get :c:func:`PyConfig_Get` on Python 3.13 and " -"older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:53 -msgid "" -"Functions to configure Python's initialization, deprecated in Python 3.11:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:55 -msgid ":c:func:`!PySys_SetArgvEx()`: Set :c:member:`PyConfig.argv` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:57 -msgid ":c:func:`!PySys_SetArgv()`: Set :c:member:`PyConfig.argv` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:59 -msgid "" -":c:func:`!Py_SetProgramName()`: Set :c:member:`PyConfig.program_name` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:61 -msgid ":c:func:`!Py_SetPythonHome()`: Set :c:member:`PyConfig.home` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:63 -msgid "" -":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and " -":data:`!warnings.filters` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:66 -msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with " -":c:type:`PyConfig` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:69 -msgid "Global configuration variables:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:71 -msgid "" -":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` or " -":c:func:`PyConfig_Get(\"parser_debug\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:74 -msgid "" -":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` or " -":c:func:`PyConfig_Get(\"verbose\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:77 -msgid "" -":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` or " -":c:func:`PyConfig_Get(\"quiet\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:80 -msgid "" -":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` or " -":c:func:`PyConfig_Get(\"interactive\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:83 -msgid "" -":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` or " -":c:func:`PyConfig_Get(\"inspect\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:86 -msgid "" -":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` or " -":c:func:`PyConfig_Get(\"optimization_level\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:89 -msgid "" -":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` or " -":c:func:`PyConfig_Get(\"site_import\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:92 -msgid "" -":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` or " -":c:func:`PyConfig_Get(\"bytes_warning\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:95 -msgid "" -":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` or " -":c:func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:98 -msgid "" -":c:var:`Py_IgnoreEnvironmentFlag`: Use :c:member:`PyConfig.use_environment` " -"or :c:func:`PyConfig_Get(\"use_environment\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:101 -msgid "" -":c:var:`Py_DontWriteBytecodeFlag`: Use :c:member:`PyConfig.write_bytecode` " -"or :c:func:`PyConfig_Get(\"write_bytecode\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:104 -msgid "" -":c:var:`Py_NoUserSiteDirectory`: Use " -":c:member:`PyConfig.user_site_directory` or " -":c:func:`PyConfig_Get(\"user_site_directory\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:107 -msgid "" -":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` or " -":c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:110 -msgid "" -":c:var:`Py_HashRandomizationFlag`: Use :c:member:`PyConfig.use_hash_seed` " -"and :c:member:`PyConfig.hash_seed` or :c:func:`PyConfig_Get(\"hash_seed\") " -"` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:114 -msgid "" -":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` or " -":c:func:`PyConfig_Get(\"isolated\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:117 -msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use " -":c:member:`PyPreConfig.legacy_windows_fs_encoding` or " -":c:func:`PyConfig_Get(\"legacy_windows_fs_encoding\") ` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:120 -msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: Use " -":c:member:`PyConfig.legacy_windows_stdio` or " -":c:func:`PyConfig_Get(\"legacy_windows_stdio\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:123 -msgid "" -":c:var:`!Py_FileSystemDefaultEncoding`, " -":c:var:`!Py_HasFileSystemDefaultEncoding`: Use " -":c:member:`PyConfig.filesystem_encoding` or " -":c:func:`PyConfig_Get(\"filesystem_encoding\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:126 -msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use " -":c:member:`PyConfig.filesystem_errors` or " -":c:func:`PyConfig_Get(\"filesystem_errors\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:129 -msgid "" -":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` or " -":c:func:`PyConfig_Get(\"utf8_mode\") ` instead. (see " -":c:func:`Py_PreInitialize`)" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:134 -msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with " -":c:type:`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can be " -"used to get these options at runtime." -msgstr "" diff --git a/python-newest.deprecations--c-api-pending-removal-in-3_18/id.po b/python-newest.deprecations--c-api-pending-removal-in-3_18/id.po deleted file mode 100644 index e686451..0000000 --- a/python-newest.deprecations--c-api-pending-removal-in-3_18/id.po +++ /dev/null @@ -1,141 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2025-05-08 06:04+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:2 -msgid "Pending removal in Python 3.18" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:4 -msgid "Deprecated private functions (:gh:`128863`):" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:6 -msgid ":c:func:`!_PyBytes_Join`: use :c:func:`PyBytes_Join`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:7 -msgid "" -":c:func:`!_PyDict_GetItemStringWithError`: use " -":c:func:`PyDict_GetItemStringRef`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:8 -msgid ":c:func:`!_PyDict_Pop()`: :c:func:`PyDict_Pop`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:9 -msgid ":c:func:`!_PyLong_Sign()`: use :c:func:`PyLong_GetSign`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:10 -msgid "" -":c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: use " -":c:func:`PyLongWriter_Create`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:12 -msgid "" -":c:func:`!_PyThreadState_UncheckedGet`: use " -":c:func:`PyThreadState_GetUnchecked`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:13 -msgid ":c:func:`!_PyUnicode_AsString`: use :c:func:`PyUnicode_AsUTF8`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:14 -msgid "" -":c:func:`!_PyUnicodeWriter_Init`: replace ``_PyUnicodeWriter_Init(&writer)``" -" with :c:func:`writer = PyUnicodeWriter_Create(0) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:17 -msgid "" -":c:func:`!_PyUnicodeWriter_Finish`: replace " -"``_PyUnicodeWriter_Finish(&writer)`` with " -":c:func:`PyUnicodeWriter_Finish(writer) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:20 -msgid "" -":c:func:`!_PyUnicodeWriter_Dealloc`: replace " -"``_PyUnicodeWriter_Dealloc(&writer)`` with " -":c:func:`PyUnicodeWriter_Discard(writer) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:23 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteChar`: replace " -"``_PyUnicodeWriter_WriteChar(&writer, ch)`` with " -":c:func:`PyUnicodeWriter_WriteChar(writer, ch) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:26 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteStr`: replace " -"``_PyUnicodeWriter_WriteStr(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteStr(writer, str) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:29 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteSubstring`: replace " -"``_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)`` with " -":c:func:`PyUnicodeWriter_WriteSubstring(writer, str, start, end) " -"`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:32 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteASCIIString`: replace " -"``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteUTF8(writer, str) " -"`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:35 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteLatin1String`: replace " -"``_PyUnicodeWriter_WriteLatin1String(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteUTF8(writer, str) " -"`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:38 -msgid ":c:func:`!_PyUnicodeWriter_Prepare`: (no replacement)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:39 -msgid ":c:func:`!_PyUnicodeWriter_PrepareKind`: (no replacement)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:40 -msgid ":c:func:`!_Py_HashPointer`: use :c:func:`Py_HashPointer`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:41 -msgid ":c:func:`!_Py_fopen_obj`: use :c:func:`Py_fopen`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:43 -msgid "" -"The `pythoncapi-compat project `__ can be used to get these new public functions on Python 3.13 and" -" older." -msgstr "" diff --git a/python-newest.deprecations--c-api-pending-removal-in-future/id.po b/python-newest.deprecations--c-api-pending-removal-in-future/id.po deleted file mode 100644 index 89a9363..0000000 --- a/python-newest.deprecations--c-api-pending-removal-in-future/id.po +++ /dev/null @@ -1,118 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-08-02 14:17+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:2 -msgid "Pending removal in future versions" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:4 -msgid "" -"The following APIs are deprecated and will be removed, although there is " -"currently no date scheduled for their removal." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:7 -msgid ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: Unneeded since Python 3.8." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:9 -msgid ":c:func:`PyErr_Fetch`: Use :c:func:`PyErr_GetRaisedException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:11 -msgid "" -":c:func:`PyErr_NormalizeException`: Use :c:func:`PyErr_GetRaisedException` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:13 -msgid "" -":c:func:`PyErr_Restore`: Use :c:func:`PyErr_SetRaisedException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:15 -msgid "" -":c:func:`PyModule_GetFilename`: Use :c:func:`PyModule_GetFilenameObject` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:17 -msgid ":c:func:`PyOS_AfterFork`: Use :c:func:`PyOS_AfterFork_Child` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:19 -msgid "" -":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and " -":c:func:`PySlice_AdjustIndices` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:21 -msgid ":c:func:`PyUnicode_READY`: Unneeded since Python 3.12" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:23 -msgid "" -":c:func:`!PyErr_Display`: Use :c:func:`PyErr_DisplayException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:25 -msgid "" -":c:func:`!_PyErr_ChainExceptions`: Use :c:func:`!_PyErr_ChainExceptions1` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:27 -msgid "" -":c:member:`!PyBytesObject.ob_shash` member: call :c:func:`PyObject_Hash` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:29 -msgid "Thread Local Storage (TLS) API:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:31 -msgid "" -":c:func:`PyThread_create_key`: Use :c:func:`PyThread_tss_alloc` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:33 -msgid "" -":c:func:`PyThread_delete_key`: Use :c:func:`PyThread_tss_free` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:35 -msgid "" -":c:func:`PyThread_set_key_value`: Use :c:func:`PyThread_tss_set` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:37 -msgid "" -":c:func:`PyThread_get_key_value`: Use :c:func:`PyThread_tss_get` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:39 -msgid "" -":c:func:`PyThread_delete_key_value`: Use :c:func:`PyThread_tss_delete` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:41 -msgid ":c:func:`PyThread_ReInitTLS`: Unneeded since Python 3.7." -msgstr "" diff --git a/python-newest.deprecations--index/id.po b/python-newest.deprecations--index/id.po deleted file mode 100644 index 5742636..0000000 --- a/python-newest.deprecations--index/id.po +++ /dev/null @@ -1,1271 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-07-29 04:07+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../deprecations/index.rst:2 -msgid "Deprecations" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:2 -#: ../../deprecations/pending-removal-in-3.15.rst:2 -msgid "Pending removal in Python 3.15" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:4 -#: ../../deprecations/pending-removal-in-3.16.rst:4 -msgid "The import system:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:6 -msgid "" -"Setting :attr:`~module.__cached__` on a module while failing to set " -":attr:`__spec__.cached ` is " -"deprecated. In Python 3.15, :attr:`!__cached__` will cease to be set or take" -" into consideration by the import system or standard library. (:gh:`97879`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:11 -msgid "" -"Setting :attr:`~module.__package__` on a module while failing to set " -":attr:`__spec__.parent ` is " -"deprecated. In Python 3.15, :attr:`!__package__` will cease to be set or " -"take into consideration by the import system or standard library. " -"(:gh:`97879`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:16 -#: ../../deprecations/pending-removal-in-3.19.rst:4 -msgid ":mod:`ctypes`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:18 -msgid "" -"The undocumented :func:`!ctypes.SetPointerType` function has been deprecated" -" since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:21 -msgid ":mod:`http.server`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:23 -msgid "" -"The obsolete and rarely used :class:`~http.server.CGIHTTPRequestHandler` has" -" been deprecated since Python 3.13. No direct replacement exists. *Anything*" -" is better than CGI to interface a web server with a request handler." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:29 -msgid "" -"The :option:`!--cgi` flag to the :program:`python -m http.server` command-" -"line interface has been deprecated since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:32 -#: ../../deprecations/pending-removal-in-future.rst:64 -msgid ":mod:`importlib`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:34 -msgid "``load_module()`` method: use ``exec_module()`` instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:36 -msgid ":class:`locale`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:38 -msgid "" -"The :func:`~locale.getdefaultlocale` function has been deprecated since " -"Python 3.11. Its removal was originally planned for Python 3.13 " -"(:gh:`90817`), but has been postponed to Python 3.15. Use " -":func:`~locale.getlocale`, :func:`~locale.setlocale`, and " -":func:`~locale.getencoding` instead. (Contributed by Hugo van Kemenade in " -":gh:`111187`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:46 -msgid ":mod:`pathlib`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:48 -msgid "" -":meth:`.PurePath.is_reserved` has been deprecated since Python 3.13. Use " -":func:`os.path.isreserved` to detect reserved paths on Windows." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:52 -msgid ":mod:`platform`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:54 -msgid "" -":func:`~platform.java_ver` has been deprecated since Python 3.13. This " -"function is only useful for Jython support, has a confusing API, and is " -"largely untested." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:58 -#: ../../deprecations/pending-removal-in-3.16.rst:96 -msgid ":mod:`sysconfig`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:60 -msgid "" -"The *check_home* argument of :func:`sysconfig.is_python_build` has been " -"deprecated since Python 3.12." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:63 -msgid ":mod:`threading`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:65 -msgid "" -":func:`~threading.RLock` will take no arguments in Python 3.15. Passing any " -"arguments has been deprecated since Python 3.14, as the Python version does" -" not permit any arguments, but the C version allows any number of positional" -" or keyword arguments, ignoring every argument." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:71 -msgid ":mod:`types`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:73 -msgid "" -":class:`types.CodeType`: Accessing :attr:`~codeobject.co_lnotab` was " -"deprecated in :pep:`626` since 3.10 and was planned to be removed in 3.12, " -"but it only got a proper :exc:`DeprecationWarning` in 3.12. May be removed " -"in 3.15. (Contributed by Nikita Sobolev in :gh:`101866`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:80 -#: ../../deprecations/pending-removal-in-3.17.rst:4 -msgid ":mod:`typing`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:82 -msgid "" -"The undocumented keyword argument syntax for creating " -":class:`~typing.NamedTuple` classes (for example, ``Point = " -"NamedTuple(\"Point\", x=int, y=int)``) has been deprecated since Python " -"3.13. Use the class-based syntax or the functional syntax instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:88 -msgid "" -"The :func:`typing.no_type_check_decorator` decorator function has been " -"deprecated since Python 3.13. After eight years in the :mod:`typing` module," -" it has yet to be supported by any major type checker." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:93 -msgid ":mod:`wave`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:95 -msgid "" -"The :meth:`~wave.Wave_read.getmark`, :meth:`!setmark`, and " -":meth:`~wave.Wave_read.getmarkers` methods of the :class:`~wave.Wave_read` " -"and :class:`~wave.Wave_write` classes have been deprecated since Python " -"3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:100 -msgid ":mod:`zipimport`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:102 -msgid "" -":meth:`~zipimport.zipimporter.load_module` has been deprecated since Python " -"3.10. Use :meth:`~zipimport.zipimporter.exec_module` instead. (Contributed " -"by Jiahao Li in :gh:`125746`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:2 -msgid "Pending removal in Python 3.16" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:6 -msgid "" -"Setting :attr:`~module.__loader__` on a module while failing to set " -":attr:`__spec__.loader ` is " -"deprecated. In Python 3.16, :attr:`!__loader__` will cease to be set or " -"taken into consideration by the import system or the standard library." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:11 -msgid ":mod:`array`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:13 -msgid "" -"The ``'u'`` format code (:c:type:`wchar_t`) has been deprecated in " -"documentation since Python 3.3 and at runtime since Python 3.13. Use the " -"``'w'`` format code (:c:type:`Py_UCS4`) for Unicode characters instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:19 -msgid ":mod:`asyncio`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:21 -msgid "" -":func:`!asyncio.iscoroutinefunction` is deprecated and will be removed in " -"Python 3.16; use :func:`inspect.iscoroutinefunction` instead. (Contributed " -"by Jiahao Li and Kumar Aditya in :gh:`122875`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:26 -msgid "" -":mod:`asyncio` policy system is deprecated and will be removed in Python " -"3.16. In particular, the following classes and functions are deprecated:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:29 -msgid ":class:`asyncio.AbstractEventLoopPolicy`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:30 -msgid ":class:`asyncio.DefaultEventLoopPolicy`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:31 -msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:32 -msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:33 -msgid ":func:`asyncio.get_event_loop_policy`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:34 -msgid ":func:`asyncio.set_event_loop_policy`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:36 -msgid "" -"Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with " -"*loop_factory* to use the desired event loop implementation." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:39 -msgid "For example, to use :class:`asyncio.SelectorEventLoop` on Windows::" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:41 -msgid "" -"import asyncio\n" -"\n" -"async def main():\n" -" ...\n" -"\n" -"asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:48 -msgid "(Contributed by Kumar Aditya in :gh:`127949`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:50 -#: ../../deprecations/pending-removal-in-future.rst:16 -msgid ":mod:`builtins`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:52 -msgid "" -"Bitwise inversion on boolean types, ``~True`` or ``~False`` has been " -"deprecated since Python 3.12, as it produces surprising and unintuitive " -"results (``-2`` and ``-1``). Use ``not x`` instead for the logical negation " -"of a Boolean. In the rare case that you need the bitwise inversion of the " -"underlying integer, convert to ``int`` explicitly (``~int(x)``)." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:59 -msgid ":mod:`functools`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:61 -msgid "" -"Calling the Python implementation of :func:`functools.reduce` with " -"*function* or *sequence* as keyword arguments has been deprecated since " -"Python 3.14." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:64 -msgid ":mod:`logging`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:66 -msgid "" -"Support for custom logging handlers with the *strm* argument is deprecated " -"and scheduled for removal in Python 3.16. Define handlers with the *stream* " -"argument instead. (Contributed by Mariusz Felisiak in :gh:`115032`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:70 -msgid ":mod:`mimetypes`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:72 -msgid "" -"Valid extensions start with a '.' or are empty for " -":meth:`mimetypes.MimeTypes.add_type`. Undotted extensions are deprecated and" -" will raise a :exc:`ValueError` in Python 3.16. (Contributed by Hugo van " -"Kemenade in :gh:`75223`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:78 -msgid ":mod:`shutil`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:80 -msgid "" -"The :class:`!ExecError` exception has been deprecated since Python 3.14. It " -"has not been used by any function in :mod:`!shutil` since Python 3.4, and is" -" now an alias of :exc:`RuntimeError`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:85 -msgid ":mod:`symtable`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:87 -msgid "" -"The :meth:`Class.get_methods ` method has been " -"deprecated since Python 3.14." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:90 -msgid ":mod:`sys`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:92 -msgid "" -"The :func:`~sys._enablelegacywindowsfsencoding` function has been deprecated" -" since Python 3.13. Use the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " -"environment variable instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:98 -msgid "" -"The :func:`!sysconfig.expand_makefile_vars` function has been deprecated " -"since Python 3.14. Use the ``vars`` argument of :func:`sysconfig.get_paths` " -"instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:102 -msgid ":mod:`tarfile`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:104 -msgid "" -"The undocumented and unused :attr:`!TarFile.tarfile` attribute has been " -"deprecated since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.17.rst:2 -msgid "Pending removal in Python 3.17" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.17.rst:6 -msgid "" -"Before Python 3.14, old-style unions were implemented using the private " -"class ``typing._UnionGenericAlias``. This class is no longer needed for the " -"implementation, but it has been retained for backward compatibility, with " -"removal scheduled for Python 3.17. Users should use documented introspection" -" helpers like :func:`typing.get_origin` and :func:`typing.get_args` instead " -"of relying on private implementation details." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.19.rst:2 -msgid "Pending removal in Python 3.19" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.19.rst:6 -msgid "" -"Implicitly switching to the MSVC-compatible struct layout by setting " -":attr:`~ctypes.Structure._pack_` but not :attr:`~ctypes.Structure._layout_` " -"on non-Windows platforms." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:2 -#: ../../deprecations/pending-removal-in-future.rst:2 -msgid "Pending removal in future versions" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:4 -msgid "" -"The following APIs will be removed in the future, although there is " -"currently no date scheduled for their removal." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:7 -msgid ":mod:`argparse`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:9 -msgid "" -"Nesting argument groups and nesting mutually exclusive groups are " -"deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:11 -msgid "" -"Passing the undocumented keyword argument *prefix_chars* to " -":meth:`~argparse.ArgumentParser.add_argument_group` is now deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:14 -msgid "The :class:`argparse.FileType` type converter is deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:18 -msgid "``bool(NotImplemented)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:19 -msgid "" -"Generators: ``throw(type, exc, tb)`` and ``athrow(type, exc, tb)`` signature" -" is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " -"argument signature." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:22 -msgid "" -"Currently Python accepts numeric literals immediately followed by keywords, " -"for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and " -"ambiguous expressions like ``[0x1for x in y]`` (which can be interpreted as " -"``[0x1 for x in y]`` or ``[0x1f or x in y]``). A syntax warning is raised " -"if the numeric literal is immediately followed by one of keywords " -":keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, " -":keyword:`in`, :keyword:`is` and :keyword:`or`. In a future release it will" -" be changed to a syntax error. (:gh:`87999`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:30 -msgid "" -"Support for ``__index__()`` and ``__int__()`` method returning non-int type:" -" these methods will be required to return an instance of a strict subclass " -"of :class:`int`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:33 -msgid "" -"Support for ``__float__()`` method returning a strict subclass of " -":class:`float`: these methods will be required to return an instance of " -":class:`float`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:36 -msgid "" -"Support for ``__complex__()`` method returning a strict subclass of " -":class:`complex`: these methods will be required to return an instance of " -":class:`complex`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:39 -msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:40 -msgid "" -"Passing a complex number as the *real* or *imag* argument in the " -":func:`complex` constructor is now deprecated; it should only be passed as a" -" single positional argument. (Contributed by Serhiy Storchaka in " -":gh:`109218`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:45 -msgid "" -":mod:`calendar`: ``calendar.January`` and ``calendar.February`` constants " -"are deprecated and replaced by :data:`calendar.JANUARY` and " -":data:`calendar.FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:50 -msgid "" -":mod:`codecs`: use :func:`open` instead of :func:`codecs.open`. " -"(:gh:`133038`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:52 -msgid "" -":attr:`codeobject.co_lnotab`: use the :meth:`codeobject.co_lines` method " -"instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:55 -msgid ":mod:`datetime`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:57 -msgid "" -":meth:`~datetime.datetime.utcnow`: use " -"``datetime.datetime.now(tz=datetime.UTC)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:59 -msgid "" -":meth:`~datetime.datetime.utcfromtimestamp`: use " -"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:62 -msgid ":mod:`gettext`: Plural value must be an integer." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:66 -msgid "" -":func:`~importlib.util.cache_from_source` *debug_override* parameter is " -"deprecated: use the *optimization* parameter instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:69 -msgid ":mod:`importlib.metadata`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:71 -msgid "``EntryPoints`` tuple interface." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:72 -msgid "Implicit ``None`` on return values." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:74 -msgid "" -":mod:`logging`: the ``warn()`` method has been deprecated since Python 3.3, " -"use :meth:`~logging.warning` instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:77 -msgid "" -":mod:`mailbox`: Use of StringIO input and text mode is deprecated, use " -"BytesIO and binary mode instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:80 -msgid "" -":mod:`os`: Calling :func:`os.register_at_fork` in multi-threaded process." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:82 -msgid "" -":class:`!pydoc.ErrorDuringImport`: A tuple value for *exc_info* parameter is" -" deprecated, use an exception instance." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:85 -msgid "" -":mod:`re`: More strict rules are now applied for numerical group references " -"and group names in regular expressions. Only sequence of ASCII digits is " -"now accepted as a numerical reference. The group name in bytes patterns and" -" replacement strings can now only contain ASCII letters and digits and " -"underscore. (Contributed by Serhiy Storchaka in :gh:`91760`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:92 -msgid "" -":mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse` modules." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:94 -msgid "" -":mod:`shutil`: :func:`~shutil.rmtree`'s *onerror* parameter is deprecated in" -" Python 3.12; use the *onexc* parameter instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:97 -msgid ":mod:`ssl` options and protocols:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:99 -msgid ":class:`ssl.SSLContext` without protocol argument is deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:100 -msgid "" -":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` and " -":meth:`!selected_npn_protocol` are deprecated: use ALPN instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:103 -msgid "``ssl.OP_NO_SSL*`` options" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:104 -msgid "``ssl.OP_NO_TLS*`` options" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:105 -msgid "``ssl.PROTOCOL_SSLv3``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:106 -msgid "``ssl.PROTOCOL_TLS``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:107 -msgid "``ssl.PROTOCOL_TLSv1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:108 -msgid "``ssl.PROTOCOL_TLSv1_1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:109 -msgid "``ssl.PROTOCOL_TLSv1_2``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:110 -msgid "``ssl.TLSVersion.SSLv3``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:111 -msgid "``ssl.TLSVersion.TLSv1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:112 -msgid "``ssl.TLSVersion.TLSv1_1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:114 -msgid ":mod:`threading` methods:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:116 -msgid "" -":meth:`!threading.Condition.notifyAll`: use " -":meth:`~threading.Condition.notify_all`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:117 -msgid ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:118 -msgid "" -":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use " -":attr:`threading.Thread.daemon` attribute." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:120 -msgid "" -":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use " -":attr:`threading.Thread.name` attribute." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:122 -msgid "" -":meth:`!threading.currentThread`: use :meth:`threading.current_thread`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:123 -msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:125 -msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:127 -msgid "" -"The internal class ``typing._UnionGenericAlias`` is no longer used to " -"implement :class:`typing.Union`. To preserve compatibility with users using " -"this private class, a compatibility shim will be provided until at least " -"Python 3.17. (Contributed by Jelle Zijlstra in :gh:`105499`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:132 -msgid "" -":class:`unittest.IsolatedAsyncioTestCase`: it is deprecated to return a " -"value that is not ``None`` from a test case." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:135 -msgid "" -":mod:`urllib.parse` deprecated functions: :func:`~urllib.parse.urlparse` " -"instead" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:137 -msgid "``splitattr()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:138 -msgid "``splithost()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:139 -msgid "``splitnport()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:140 -msgid "``splitpasswd()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:141 -msgid "``splitport()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:142 -msgid "``splitquery()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:143 -msgid "``splittag()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:144 -msgid "``splittype()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:145 -msgid "``splituser()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:146 -msgid "``splitvalue()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:147 -msgid "``to_bytes()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:149 -msgid "" -":mod:`wsgiref`: ``SimpleHandler.stdout.write()`` should not do partial " -"writes." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:152 -msgid "" -":mod:`xml.etree.ElementTree`: Testing the truth value of an " -":class:`~xml.etree.ElementTree.Element` is deprecated. In a future release " -"it will always return ``True``. Prefer explicit ``len(elem)`` or ``elem is " -"not None`` tests instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:157 -msgid "" -":func:`sys._clear_type_cache` is deprecated: use " -":func:`sys._clear_internal_caches` instead." -msgstr "" - -#: ../../deprecations/index.rst:15 -msgid "C API deprecations" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:4 -msgid "The bundled copy of ``libmpdecimal``." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:5 -msgid "" -"The :c:func:`PyImport_ImportModuleNoBlock`: Use " -":c:func:`PyImport_ImportModule` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:7 -msgid "" -":c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`: Use " -":c:func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project " -"`__ can be used to get " -":c:func:`PyWeakref_GetRef` on Python 3.12 and older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:11 -msgid "" -":c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: Use " -":c:type:`wchar_t` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:13 -msgid "" -":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:15 -msgid "" -":c:func:`!PyUnicode_AsDecodedUnicode`: Use :c:func:`PyCodec_Decode` instead;" -" Note that some codecs (for example, \"base64\") may return a type other " -"than :class:`str`, such as :class:`bytes`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:18 -msgid "" -":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:20 -msgid "" -":c:func:`!PyUnicode_AsEncodedUnicode`: Use :c:func:`PyCodec_Encode` instead;" -" Note that some codecs (for example, \"base64\") may return a type other " -"than :class:`bytes`, such as :class:`str`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:23 -msgid "Python initialization functions, deprecated in Python 3.13:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:25 -msgid "" -":c:func:`Py_GetPath`: Use :c:func:`PyConfig_Get(\"module_search_paths\") " -"` (:data:`sys.path`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:28 -msgid "" -":c:func:`Py_GetPrefix`: Use :c:func:`PyConfig_Get(\"base_prefix\") " -"` (:data:`sys.base_prefix`) instead. Use " -":c:func:`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) if " -":ref:`virtual environments ` need to be handled." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:33 -msgid "" -":c:func:`Py_GetExecPrefix`: Use :c:func:`PyConfig_Get(\"base_exec_prefix\") " -"` (:data:`sys.base_exec_prefix`) instead. Use " -":c:func:`PyConfig_Get(\"exec_prefix\") ` " -"(:data:`sys.exec_prefix`) if :ref:`virtual environments ` need to " -"be handled." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:39 -msgid "" -":c:func:`Py_GetProgramFullPath`: Use :c:func:`PyConfig_Get(\"executable\") " -"` (:data:`sys.executable`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:42 -msgid "" -":c:func:`Py_GetProgramName`: Use :c:func:`PyConfig_Get(\"executable\") " -"` (:data:`sys.executable`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:45 -msgid "" -":c:func:`Py_GetPythonHome`: Use :c:func:`PyConfig_Get(\"home\") " -"` or the :envvar:`PYTHONHOME` environment variable instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:49 -msgid "" -"The `pythoncapi-compat project `__ can be used to get :c:func:`PyConfig_Get` on Python 3.13 and " -"older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:53 -msgid "" -"Functions to configure Python's initialization, deprecated in Python 3.11:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:55 -msgid ":c:func:`!PySys_SetArgvEx()`: Set :c:member:`PyConfig.argv` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:57 -msgid ":c:func:`!PySys_SetArgv()`: Set :c:member:`PyConfig.argv` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:59 -msgid "" -":c:func:`!Py_SetProgramName()`: Set :c:member:`PyConfig.program_name` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:61 -msgid ":c:func:`!Py_SetPythonHome()`: Set :c:member:`PyConfig.home` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:63 -msgid "" -":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and " -":data:`!warnings.filters` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:66 -msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with " -":c:type:`PyConfig` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:69 -msgid "Global configuration variables:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:71 -msgid "" -":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` or " -":c:func:`PyConfig_Get(\"parser_debug\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:74 -msgid "" -":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` or " -":c:func:`PyConfig_Get(\"verbose\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:77 -msgid "" -":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` or " -":c:func:`PyConfig_Get(\"quiet\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:80 -msgid "" -":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` or " -":c:func:`PyConfig_Get(\"interactive\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:83 -msgid "" -":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` or " -":c:func:`PyConfig_Get(\"inspect\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:86 -msgid "" -":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` or " -":c:func:`PyConfig_Get(\"optimization_level\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:89 -msgid "" -":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` or " -":c:func:`PyConfig_Get(\"site_import\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:92 -msgid "" -":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` or " -":c:func:`PyConfig_Get(\"bytes_warning\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:95 -msgid "" -":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` or " -":c:func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:98 -msgid "" -":c:var:`Py_IgnoreEnvironmentFlag`: Use :c:member:`PyConfig.use_environment` " -"or :c:func:`PyConfig_Get(\"use_environment\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:101 -msgid "" -":c:var:`Py_DontWriteBytecodeFlag`: Use :c:member:`PyConfig.write_bytecode` " -"or :c:func:`PyConfig_Get(\"write_bytecode\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:104 -msgid "" -":c:var:`Py_NoUserSiteDirectory`: Use " -":c:member:`PyConfig.user_site_directory` or " -":c:func:`PyConfig_Get(\"user_site_directory\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:107 -msgid "" -":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` or " -":c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:110 -msgid "" -":c:var:`Py_HashRandomizationFlag`: Use :c:member:`PyConfig.use_hash_seed` " -"and :c:member:`PyConfig.hash_seed` or :c:func:`PyConfig_Get(\"hash_seed\") " -"` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:114 -msgid "" -":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` or " -":c:func:`PyConfig_Get(\"isolated\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:117 -msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use " -":c:member:`PyPreConfig.legacy_windows_fs_encoding` or " -":c:func:`PyConfig_Get(\"legacy_windows_fs_encoding\") ` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:120 -msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: Use " -":c:member:`PyConfig.legacy_windows_stdio` or " -":c:func:`PyConfig_Get(\"legacy_windows_stdio\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:123 -msgid "" -":c:var:`!Py_FileSystemDefaultEncoding`, " -":c:var:`!Py_HasFileSystemDefaultEncoding`: Use " -":c:member:`PyConfig.filesystem_encoding` or " -":c:func:`PyConfig_Get(\"filesystem_encoding\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:126 -msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use " -":c:member:`PyConfig.filesystem_errors` or " -":c:func:`PyConfig_Get(\"filesystem_errors\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:129 -msgid "" -":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` or " -":c:func:`PyConfig_Get(\"utf8_mode\") ` instead. (see " -":c:func:`Py_PreInitialize`)" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:134 -msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with " -":c:type:`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can be " -"used to get these options at runtime." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:2 -msgid "Pending removal in Python 3.18" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:4 -msgid "Deprecated private functions (:gh:`128863`):" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:6 -msgid ":c:func:`!_PyBytes_Join`: use :c:func:`PyBytes_Join`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:7 -msgid "" -":c:func:`!_PyDict_GetItemStringWithError`: use " -":c:func:`PyDict_GetItemStringRef`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:8 -msgid ":c:func:`!_PyDict_Pop()`: :c:func:`PyDict_Pop`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:9 -msgid ":c:func:`!_PyLong_Sign()`: use :c:func:`PyLong_GetSign`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:10 -msgid "" -":c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: use " -":c:func:`PyLongWriter_Create`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:12 -msgid "" -":c:func:`!_PyThreadState_UncheckedGet`: use " -":c:func:`PyThreadState_GetUnchecked`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:13 -msgid ":c:func:`!_PyUnicode_AsString`: use :c:func:`PyUnicode_AsUTF8`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:14 -msgid "" -":c:func:`!_PyUnicodeWriter_Init`: replace ``_PyUnicodeWriter_Init(&writer)``" -" with :c:func:`writer = PyUnicodeWriter_Create(0) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:17 -msgid "" -":c:func:`!_PyUnicodeWriter_Finish`: replace " -"``_PyUnicodeWriter_Finish(&writer)`` with " -":c:func:`PyUnicodeWriter_Finish(writer) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:20 -msgid "" -":c:func:`!_PyUnicodeWriter_Dealloc`: replace " -"``_PyUnicodeWriter_Dealloc(&writer)`` with " -":c:func:`PyUnicodeWriter_Discard(writer) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:23 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteChar`: replace " -"``_PyUnicodeWriter_WriteChar(&writer, ch)`` with " -":c:func:`PyUnicodeWriter_WriteChar(writer, ch) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:26 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteStr`: replace " -"``_PyUnicodeWriter_WriteStr(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteStr(writer, str) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:29 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteSubstring`: replace " -"``_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)`` with " -":c:func:`PyUnicodeWriter_WriteSubstring(writer, str, start, end) " -"`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:32 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteASCIIString`: replace " -"``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteUTF8(writer, str) " -"`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:35 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteLatin1String`: replace " -"``_PyUnicodeWriter_WriteLatin1String(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteUTF8(writer, str) " -"`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:38 -msgid ":c:func:`!_PyUnicodeWriter_Prepare`: (no replacement)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:39 -msgid ":c:func:`!_PyUnicodeWriter_PrepareKind`: (no replacement)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:40 -msgid ":c:func:`!_Py_HashPointer`: use :c:func:`Py_HashPointer`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:41 -msgid ":c:func:`!_Py_fopen_obj`: use :c:func:`Py_fopen`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:43 -msgid "" -"The `pythoncapi-compat project `__ can be used to get these new public functions on Python 3.13 and" -" older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:4 -msgid "" -"The following APIs are deprecated and will be removed, although there is " -"currently no date scheduled for their removal." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:7 -msgid ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: Unneeded since Python 3.8." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:9 -msgid ":c:func:`PyErr_Fetch`: Use :c:func:`PyErr_GetRaisedException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:11 -msgid "" -":c:func:`PyErr_NormalizeException`: Use :c:func:`PyErr_GetRaisedException` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:13 -msgid "" -":c:func:`PyErr_Restore`: Use :c:func:`PyErr_SetRaisedException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:15 -msgid "" -":c:func:`PyModule_GetFilename`: Use :c:func:`PyModule_GetFilenameObject` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:17 -msgid ":c:func:`PyOS_AfterFork`: Use :c:func:`PyOS_AfterFork_Child` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:19 -msgid "" -":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and " -":c:func:`PySlice_AdjustIndices` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:21 -msgid ":c:func:`PyUnicode_READY`: Unneeded since Python 3.12" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:23 -msgid "" -":c:func:`!PyErr_Display`: Use :c:func:`PyErr_DisplayException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:25 -msgid "" -":c:func:`!_PyErr_ChainExceptions`: Use :c:func:`!_PyErr_ChainExceptions1` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:27 -msgid "" -":c:member:`!PyBytesObject.ob_shash` member: call :c:func:`PyObject_Hash` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:29 -msgid "Thread Local Storage (TLS) API:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:31 -msgid "" -":c:func:`PyThread_create_key`: Use :c:func:`PyThread_tss_alloc` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:33 -msgid "" -":c:func:`PyThread_delete_key`: Use :c:func:`PyThread_tss_free` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:35 -msgid "" -":c:func:`PyThread_set_key_value`: Use :c:func:`PyThread_tss_set` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:37 -msgid "" -":c:func:`PyThread_get_key_value`: Use :c:func:`PyThread_tss_get` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:39 -msgid "" -":c:func:`PyThread_delete_key_value`: Use :c:func:`PyThread_tss_delete` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:41 -msgid ":c:func:`PyThread_ReInitTLS`: Unneeded since Python 3.7." -msgstr "" diff --git a/python-newest.deprecations--pending-removal-in-3_13/id.po b/python-newest.deprecations--pending-removal-in-3_13/id.po deleted file mode 100644 index 5899430..0000000 --- a/python-newest.deprecations--pending-removal-in-3_13/id.po +++ /dev/null @@ -1,194 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 14:21+0000\n" -"PO-Revision-Date: 2024-07-26 14:16+0000\n" -"Last-Translator: oon arfiandwi , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../deprecations/pending-removal-in-3.13.rst:2 -msgid "Pending removal in Python 3.13" -msgstr "Penghapusan yang tertunda di Python 3.13" - -#: ../../deprecations/pending-removal-in-3.13.rst:4 -msgid "Modules (see :pep:`594`):" -msgstr "Modul (lihat :pep:`594`):" - -#: ../../deprecations/pending-removal-in-3.13.rst:6 -msgid ":mod:`!aifc`" -msgstr ":mod:`!aifc`" - -#: ../../deprecations/pending-removal-in-3.13.rst:7 -msgid ":mod:`!audioop`" -msgstr ":mod:`!audioop`" - -#: ../../deprecations/pending-removal-in-3.13.rst:8 -msgid ":mod:`!cgi`" -msgstr ":mod:`!cgi`" - -#: ../../deprecations/pending-removal-in-3.13.rst:9 -msgid ":mod:`!cgitb`" -msgstr ":mod:`!cgitb`" - -#: ../../deprecations/pending-removal-in-3.13.rst:10 -msgid ":mod:`!chunk`" -msgstr ":mod:`!chunk`" - -#: ../../deprecations/pending-removal-in-3.13.rst:11 -msgid ":mod:`!crypt`" -msgstr ":mod:`!crypt`" - -#: ../../deprecations/pending-removal-in-3.13.rst:12 -msgid ":mod:`!imghdr`" -msgstr ":mod:`!imghdr`" - -#: ../../deprecations/pending-removal-in-3.13.rst:13 -msgid ":mod:`!mailcap`" -msgstr ":mod:`!mailcap`" - -#: ../../deprecations/pending-removal-in-3.13.rst:14 -msgid ":mod:`!msilib`" -msgstr ":mod:`!msilib`" - -#: ../../deprecations/pending-removal-in-3.13.rst:15 -msgid ":mod:`!nis`" -msgstr ":mod:`!nis`" - -#: ../../deprecations/pending-removal-in-3.13.rst:16 -msgid ":mod:`!nntplib`" -msgstr ":mod:`!nntplib`" - -#: ../../deprecations/pending-removal-in-3.13.rst:17 -msgid ":mod:`!ossaudiodev`" -msgstr ":mod:`!ossaudiodev`" - -#: ../../deprecations/pending-removal-in-3.13.rst:18 -msgid ":mod:`!pipes`" -msgstr ":mod:`!pipes`" - -#: ../../deprecations/pending-removal-in-3.13.rst:19 -msgid ":mod:`!sndhdr`" -msgstr ":mod:`!sndhdr`" - -#: ../../deprecations/pending-removal-in-3.13.rst:20 -msgid ":mod:`!spwd`" -msgstr ":mod:`!spwd`" - -#: ../../deprecations/pending-removal-in-3.13.rst:21 -msgid ":mod:`!sunau`" -msgstr ":mod:`!sunau`" - -#: ../../deprecations/pending-removal-in-3.13.rst:22 -msgid ":mod:`!telnetlib`" -msgstr ":mod:`!telnetlib`" - -#: ../../deprecations/pending-removal-in-3.13.rst:23 -msgid ":mod:`!uu`" -msgstr ":mod:`!uu`" - -#: ../../deprecations/pending-removal-in-3.13.rst:24 -msgid ":mod:`!xdrlib`" -msgstr ":mod:`!xdrlib`" - -#: ../../deprecations/pending-removal-in-3.13.rst:26 -msgid "Other modules:" -msgstr "Modul lainnya:" - -#: ../../deprecations/pending-removal-in-3.13.rst:28 -msgid ":mod:`!lib2to3`, and the :program:`2to3` program (:gh:`84540`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.13.rst:30 -msgid "APIs:" -msgstr "APIs:" - -#: ../../deprecations/pending-removal-in-3.13.rst:32 -msgid ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)" -msgstr ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:33 -msgid "``locale.resetlocale()`` (:gh:`90817`)" -msgstr "``locale.resetlocale()`` (:gh:`90817`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:34 -msgid ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)" -msgstr ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:35 -msgid ":func:`!unittest.findTestCases` (:gh:`50096`)" -msgstr ":func:`!unittest.findTestCases` (:gh:`50096`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:36 -msgid ":func:`!unittest.getTestCaseNames` (:gh:`50096`)" -msgstr ":func:`!unittest.getTestCaseNames` (:gh:`50096`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:37 -msgid ":func:`!unittest.makeSuite` (:gh:`50096`)" -msgstr ":func:`!unittest.makeSuite` (:gh:`50096`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:38 -msgid ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)" -msgstr ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:39 -msgid ":class:`!webbrowser.MacOSX` (:gh:`86421`)" -msgstr ":class:`!webbrowser.MacOSX` (:gh:`86421`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:40 -msgid ":class:`classmethod` descriptor chaining (:gh:`89519`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.13.rst:41 -msgid ":mod:`importlib.resources` deprecated methods:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.13.rst:43 -msgid "``contents()``" -msgstr "``contents()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:44 -msgid "``is_resource()``" -msgstr "``is_resource()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:45 -msgid "``open_binary()``" -msgstr "``open_binary()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:46 -msgid "``open_text()``" -msgstr "``open_text()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:47 -msgid "``path()``" -msgstr "``path()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:48 -msgid "``read_binary()``" -msgstr "``read_binary()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:49 -msgid "``read_text()``" -msgstr "``read_text()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:51 -msgid "" -"Use :func:`importlib.resources.files` instead. Refer to `importlib-" -"resources: Migrating from Legacy `_ " -"(:gh:`106531`)" -msgstr "" diff --git a/python-newest.deprecations--pending-removal-in-3_14/id.po b/python-newest.deprecations--pending-removal-in-3_14/id.po deleted file mode 100644 index dcac744..0000000 --- a/python-newest.deprecations--pending-removal-in-3_14/id.po +++ /dev/null @@ -1,212 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../deprecations/pending-removal-in-3.14.rst:2 -msgid "Pending removal in Python 3.14" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:4 -msgid "" -":mod:`argparse`: The *type*, *choices*, and *metavar* parameters of " -":class:`!argparse.BooleanOptionalAction` are deprecated and will be removed " -"in 3.14. (Contributed by Nikita Sobolev in :gh:`92248`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:9 -msgid "" -":mod:`ast`: The following features have been deprecated in documentation " -"since Python 3.8, now cause a :exc:`DeprecationWarning` to be emitted at " -"runtime when they are accessed or used, and will be removed in Python 3.14:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:13 -msgid ":class:`!ast.Num`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:14 -msgid ":class:`!ast.Str`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:15 -msgid ":class:`!ast.Bytes`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:16 -msgid ":class:`!ast.NameConstant`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:17 -msgid ":class:`!ast.Ellipsis`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:19 -msgid "" -"Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka in " -":gh:`90953`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:22 -msgid ":mod:`asyncio`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:24 -msgid "" -"The child watcher classes :class:`!asyncio.MultiLoopChildWatcher`, " -":class:`!asyncio.FastChildWatcher`, :class:`!asyncio.AbstractChildWatcher` " -"and :class:`!asyncio.SafeChildWatcher` are deprecated and will be removed in" -" Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:30 -msgid "" -":func:`!asyncio.set_child_watcher`, :func:`!asyncio.get_child_watcher`, " -":meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher` and " -":meth:`!asyncio.AbstractEventLoopPolicy.get_child_watcher` are deprecated " -"and will be removed in Python 3.14. (Contributed by Kumar Aditya in " -":gh:`94597`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:36 -msgid "" -"The :meth:`~asyncio.get_event_loop` method of the default event loop policy " -"now emits a :exc:`DeprecationWarning` if there is no current event loop set " -"and it decides to create one. (Contributed by Serhiy Storchaka and Guido van" -" Rossum in :gh:`100160`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:41 -msgid "" -":mod:`collections.abc`: Deprecated :class:`!collections.abc.ByteString`. " -"Prefer :class:`!Sequence` or :class:`~collections.abc.Buffer`. For use in " -"typing, prefer a union, like ``bytes | bytearray``, or " -":class:`collections.abc.Buffer`. (Contributed by Shantanu Jain in " -":gh:`91896`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:47 -msgid "" -":mod:`email`: Deprecated the *isdst* parameter in " -":func:`email.utils.localtime`. (Contributed by Alan Williams in " -":gh:`72346`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:50 -msgid ":mod:`importlib.abc` deprecated classes:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:52 -msgid ":class:`!importlib.abc.ResourceReader`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:53 -msgid ":class:`!importlib.abc.Traversable`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:54 -msgid ":class:`!importlib.abc.TraversableResources`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:56 -msgid "Use :mod:`importlib.resources.abc` classes instead:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:58 -msgid ":class:`importlib.resources.abc.Traversable`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:59 -msgid ":class:`importlib.resources.abc.TraversableResources`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:61 -msgid "(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:63 -msgid "" -":mod:`itertools` had undocumented, inefficient, historically buggy, and " -"inconsistent support for copy, deepcopy, and pickle operations. This will be" -" removed in 3.14 for a significant reduction in code volume and maintenance " -"burden. (Contributed by Raymond Hettinger in :gh:`101588`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:69 -msgid "" -":mod:`multiprocessing`: The default start method will change to a safer one " -"on Linux, BSDs, and other non-macOS POSIX platforms where ``'fork'`` is " -"currently the default (:gh:`84559`). Adding a runtime warning about this was" -" deemed too disruptive as the majority of code is not expected to care. Use " -"the :func:`~multiprocessing.get_context` or " -":func:`~multiprocessing.set_start_method` APIs to explicitly specify when " -"your code *requires* ``'fork'``. See :ref:`multiprocessing-start-methods`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:77 -msgid "" -":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` and " -":meth:`~pathlib.PurePath.relative_to`: passing additional arguments is " -"deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:81 -msgid "" -":mod:`pkgutil`: :func:`!pkgutil.find_loader` and :func:`!pkgutil.get_loader`" -" now raise :exc:`DeprecationWarning`; use :func:`importlib.util.find_spec` " -"instead. (Contributed by Nikita Sobolev in :gh:`97850`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:86 -msgid ":mod:`pty`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:88 -msgid "``master_open()``: use :func:`pty.openpty`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:89 -msgid "``slave_open()``: use :func:`pty.openpty`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:91 -msgid ":mod:`sqlite3`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:93 -msgid ":data:`!version` and :data:`!version_info`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:95 -msgid "" -":meth:`~sqlite3.Cursor.execute` and :meth:`~sqlite3.Cursor.executemany` if " -":ref:`named placeholders ` are used and *parameters* " -"is a sequence instead of a :class:`dict`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:99 -msgid "" -":mod:`typing`: :class:`!typing.ByteString`, deprecated since Python 3.9, now" -" causes a :exc:`DeprecationWarning` to be emitted when it is used." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:102 -msgid "" -":mod:`urllib`: :class:`!urllib.parse.Quoter` is deprecated: it was not " -"intended to be a public API. (Contributed by Gregory P. Smith in " -":gh:`88168`.)" -msgstr "" diff --git a/python-newest.deprecations--pending-removal-in-3_15/id.po b/python-newest.deprecations--pending-removal-in-3_15/id.po deleted file mode 100644 index 734af0c..0000000 --- a/python-newest.deprecations--pending-removal-in-3_15/id.po +++ /dev/null @@ -1,189 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../deprecations/pending-removal-in-3.15.rst:2 -msgid "Pending removal in Python 3.15" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:4 -msgid "The import system:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:6 -msgid "" -"Setting :attr:`~module.__cached__` on a module while failing to set " -":attr:`__spec__.cached ` is " -"deprecated. In Python 3.15, :attr:`!__cached__` will cease to be set or take" -" into consideration by the import system or standard library. (:gh:`97879`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:11 -msgid "" -"Setting :attr:`~module.__package__` on a module while failing to set " -":attr:`__spec__.parent ` is " -"deprecated. In Python 3.15, :attr:`!__package__` will cease to be set or " -"take into consideration by the import system or standard library. " -"(:gh:`97879`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:16 -msgid ":mod:`ctypes`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:18 -msgid "" -"The undocumented :func:`!ctypes.SetPointerType` function has been deprecated" -" since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:21 -msgid ":mod:`http.server`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:23 -msgid "" -"The obsolete and rarely used :class:`~http.server.CGIHTTPRequestHandler` has" -" been deprecated since Python 3.13. No direct replacement exists. *Anything*" -" is better than CGI to interface a web server with a request handler." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:29 -msgid "" -"The :option:`!--cgi` flag to the :program:`python -m http.server` command-" -"line interface has been deprecated since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:32 -msgid ":mod:`importlib`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:34 -msgid "``load_module()`` method: use ``exec_module()`` instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:36 -msgid ":class:`locale`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:38 -msgid "" -"The :func:`~locale.getdefaultlocale` function has been deprecated since " -"Python 3.11. Its removal was originally planned for Python 3.13 " -"(:gh:`90817`), but has been postponed to Python 3.15. Use " -":func:`~locale.getlocale`, :func:`~locale.setlocale`, and " -":func:`~locale.getencoding` instead. (Contributed by Hugo van Kemenade in " -":gh:`111187`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:46 -msgid ":mod:`pathlib`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:48 -msgid "" -":meth:`.PurePath.is_reserved` has been deprecated since Python 3.13. Use " -":func:`os.path.isreserved` to detect reserved paths on Windows." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:52 -msgid ":mod:`platform`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:54 -msgid "" -":func:`~platform.java_ver` has been deprecated since Python 3.13. This " -"function is only useful for Jython support, has a confusing API, and is " -"largely untested." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:58 -msgid ":mod:`sysconfig`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:60 -msgid "" -"The *check_home* argument of :func:`sysconfig.is_python_build` has been " -"deprecated since Python 3.12." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:63 -msgid ":mod:`threading`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:65 -msgid "" -":func:`~threading.RLock` will take no arguments in Python 3.15. Passing any " -"arguments has been deprecated since Python 3.14, as the Python version does" -" not permit any arguments, but the C version allows any number of positional" -" or keyword arguments, ignoring every argument." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:71 -msgid ":mod:`types`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:73 -msgid "" -":class:`types.CodeType`: Accessing :attr:`~codeobject.co_lnotab` was " -"deprecated in :pep:`626` since 3.10 and was planned to be removed in 3.12, " -"but it only got a proper :exc:`DeprecationWarning` in 3.12. May be removed " -"in 3.15. (Contributed by Nikita Sobolev in :gh:`101866`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:80 -msgid ":mod:`typing`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:82 -msgid "" -"The undocumented keyword argument syntax for creating " -":class:`~typing.NamedTuple` classes (for example, ``Point = " -"NamedTuple(\"Point\", x=int, y=int)``) has been deprecated since Python " -"3.13. Use the class-based syntax or the functional syntax instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:88 -msgid "" -"The :func:`typing.no_type_check_decorator` decorator function has been " -"deprecated since Python 3.13. After eight years in the :mod:`typing` module," -" it has yet to be supported by any major type checker." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:93 -msgid ":mod:`wave`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:95 -msgid "" -"The :meth:`~wave.Wave_read.getmark`, :meth:`!setmark`, and " -":meth:`~wave.Wave_read.getmarkers` methods of the :class:`~wave.Wave_read` " -"and :class:`~wave.Wave_write` classes have been deprecated since Python " -"3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:100 -msgid ":mod:`zipimport`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:102 -msgid "" -":meth:`~zipimport.zipimporter.load_module` has been deprecated since Python " -"3.10. Use :meth:`~zipimport.zipimporter.exec_module` instead. (Contributed " -"by Jiahao Li in :gh:`125746`.)" -msgstr "" diff --git a/python-newest.deprecations--pending-removal-in-3_16/id.po b/python-newest.deprecations--pending-removal-in-3_16/id.po deleted file mode 100644 index 4cf5df7..0000000 --- a/python-newest.deprecations--pending-removal-in-3_16/id.po +++ /dev/null @@ -1,210 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../deprecations/pending-removal-in-3.16.rst:2 -msgid "Pending removal in Python 3.16" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:4 -msgid "The import system:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:6 -msgid "" -"Setting :attr:`~module.__loader__` on a module while failing to set " -":attr:`__spec__.loader ` is " -"deprecated. In Python 3.16, :attr:`!__loader__` will cease to be set or " -"taken into consideration by the import system or the standard library." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:11 -msgid ":mod:`array`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:13 -msgid "" -"The ``'u'`` format code (:c:type:`wchar_t`) has been deprecated in " -"documentation since Python 3.3 and at runtime since Python 3.13. Use the " -"``'w'`` format code (:c:type:`Py_UCS4`) for Unicode characters instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:19 -msgid ":mod:`asyncio`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:21 -msgid "" -":func:`!asyncio.iscoroutinefunction` is deprecated and will be removed in " -"Python 3.16; use :func:`inspect.iscoroutinefunction` instead. (Contributed " -"by Jiahao Li and Kumar Aditya in :gh:`122875`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:26 -msgid "" -":mod:`asyncio` policy system is deprecated and will be removed in Python " -"3.16. In particular, the following classes and functions are deprecated:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:29 -msgid ":class:`asyncio.AbstractEventLoopPolicy`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:30 -msgid ":class:`asyncio.DefaultEventLoopPolicy`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:31 -msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:32 -msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:33 -msgid ":func:`asyncio.get_event_loop_policy`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:34 -msgid ":func:`asyncio.set_event_loop_policy`" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:36 -msgid "" -"Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with " -"*loop_factory* to use the desired event loop implementation." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:39 -msgid "For example, to use :class:`asyncio.SelectorEventLoop` on Windows::" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:41 -msgid "" -"import asyncio\n" -"\n" -"async def main():\n" -" ...\n" -"\n" -"asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:48 -msgid "(Contributed by Kumar Aditya in :gh:`127949`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:50 -msgid ":mod:`builtins`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:52 -msgid "" -"Bitwise inversion on boolean types, ``~True`` or ``~False`` has been " -"deprecated since Python 3.12, as it produces surprising and unintuitive " -"results (``-2`` and ``-1``). Use ``not x`` instead for the logical negation " -"of a Boolean. In the rare case that you need the bitwise inversion of the " -"underlying integer, convert to ``int`` explicitly (``~int(x)``)." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:59 -msgid ":mod:`functools`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:61 -msgid "" -"Calling the Python implementation of :func:`functools.reduce` with " -"*function* or *sequence* as keyword arguments has been deprecated since " -"Python 3.14." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:64 -msgid ":mod:`logging`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:66 -msgid "" -"Support for custom logging handlers with the *strm* argument is deprecated " -"and scheduled for removal in Python 3.16. Define handlers with the *stream* " -"argument instead. (Contributed by Mariusz Felisiak in :gh:`115032`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:70 -msgid ":mod:`mimetypes`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:72 -msgid "" -"Valid extensions start with a '.' or are empty for " -":meth:`mimetypes.MimeTypes.add_type`. Undotted extensions are deprecated and" -" will raise a :exc:`ValueError` in Python 3.16. (Contributed by Hugo van " -"Kemenade in :gh:`75223`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:78 -msgid ":mod:`shutil`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:80 -msgid "" -"The :class:`!ExecError` exception has been deprecated since Python 3.14. It " -"has not been used by any function in :mod:`!shutil` since Python 3.4, and is" -" now an alias of :exc:`RuntimeError`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:85 -msgid ":mod:`symtable`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:87 -msgid "" -"The :meth:`Class.get_methods ` method has been " -"deprecated since Python 3.14." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:90 -msgid ":mod:`sys`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:92 -msgid "" -"The :func:`~sys._enablelegacywindowsfsencoding` function has been deprecated" -" since Python 3.13. Use the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " -"environment variable instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:96 -msgid ":mod:`sysconfig`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:98 -msgid "" -"The :func:`!sysconfig.expand_makefile_vars` function has been deprecated " -"since Python 3.14. Use the ``vars`` argument of :func:`sysconfig.get_paths` " -"instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:102 -msgid ":mod:`tarfile`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:104 -msgid "" -"The undocumented and unused :attr:`!TarFile.tarfile` attribute has been " -"deprecated since Python 3.13." -msgstr "" diff --git a/python-newest.deprecations--pending-removal-in-3_17/id.po b/python-newest.deprecations--pending-removal-in-3_17/id.po deleted file mode 100644 index c2d2a83..0000000 --- a/python-newest.deprecations--pending-removal-in-3_17/id.po +++ /dev/null @@ -1,36 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2025-05-08 06:04+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../deprecations/pending-removal-in-3.17.rst:2 -msgid "Pending removal in Python 3.17" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.17.rst:4 -msgid ":mod:`typing`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.17.rst:6 -msgid "" -"Before Python 3.14, old-style unions were implemented using the private " -"class ``typing._UnionGenericAlias``. This class is no longer needed for the " -"implementation, but it has been retained for backward compatibility, with " -"removal scheduled for Python 3.17. Users should use documented introspection" -" helpers like :func:`typing.get_origin` and :func:`typing.get_args` instead " -"of relying on private implementation details." -msgstr "" diff --git a/python-newest.deprecations--pending-removal-in-3_19/id.po b/python-newest.deprecations--pending-removal-in-3_19/id.po deleted file mode 100644 index 5622964..0000000 --- a/python-newest.deprecations--pending-removal-in-3_19/id.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2025-05-08 06:04+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../deprecations/pending-removal-in-3.19.rst:2 -msgid "Pending removal in Python 3.19" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.19.rst:4 -msgid ":mod:`ctypes`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.19.rst:6 -msgid "" -"Implicitly switching to the MSVC-compatible struct layout by setting " -":attr:`~ctypes.Structure._pack_` but not :attr:`~ctypes.Structure._layout_` " -"on non-Windows platforms." -msgstr "" diff --git a/python-newest.deprecations--pending-removal-in-future/id.po b/python-newest.deprecations--pending-removal-in-future/id.po deleted file mode 100644 index bfb7213..0000000 --- a/python-newest.deprecations--pending-removal-in-future/id.po +++ /dev/null @@ -1,389 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../deprecations/pending-removal-in-future.rst:2 -msgid "Pending removal in future versions" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:4 -msgid "" -"The following APIs will be removed in the future, although there is " -"currently no date scheduled for their removal." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:7 -msgid ":mod:`argparse`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:9 -msgid "" -"Nesting argument groups and nesting mutually exclusive groups are " -"deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:11 -msgid "" -"Passing the undocumented keyword argument *prefix_chars* to " -":meth:`~argparse.ArgumentParser.add_argument_group` is now deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:14 -msgid "The :class:`argparse.FileType` type converter is deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:16 -msgid ":mod:`builtins`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:18 -msgid "``bool(NotImplemented)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:19 -msgid "" -"Generators: ``throw(type, exc, tb)`` and ``athrow(type, exc, tb)`` signature" -" is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " -"argument signature." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:22 -msgid "" -"Currently Python accepts numeric literals immediately followed by keywords, " -"for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and " -"ambiguous expressions like ``[0x1for x in y]`` (which can be interpreted as " -"``[0x1 for x in y]`` or ``[0x1f or x in y]``). A syntax warning is raised " -"if the numeric literal is immediately followed by one of keywords " -":keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, " -":keyword:`in`, :keyword:`is` and :keyword:`or`. In a future release it will" -" be changed to a syntax error. (:gh:`87999`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:30 -msgid "" -"Support for ``__index__()`` and ``__int__()`` method returning non-int type:" -" these methods will be required to return an instance of a strict subclass " -"of :class:`int`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:33 -msgid "" -"Support for ``__float__()`` method returning a strict subclass of " -":class:`float`: these methods will be required to return an instance of " -":class:`float`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:36 -msgid "" -"Support for ``__complex__()`` method returning a strict subclass of " -":class:`complex`: these methods will be required to return an instance of " -":class:`complex`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:39 -msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:40 -msgid "" -"Passing a complex number as the *real* or *imag* argument in the " -":func:`complex` constructor is now deprecated; it should only be passed as a" -" single positional argument. (Contributed by Serhiy Storchaka in " -":gh:`109218`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:45 -msgid "" -":mod:`calendar`: ``calendar.January`` and ``calendar.February`` constants " -"are deprecated and replaced by :data:`calendar.JANUARY` and " -":data:`calendar.FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:50 -msgid "" -":mod:`codecs`: use :func:`open` instead of :func:`codecs.open`. " -"(:gh:`133038`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:52 -msgid "" -":attr:`codeobject.co_lnotab`: use the :meth:`codeobject.co_lines` method " -"instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:55 -msgid ":mod:`datetime`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:57 -msgid "" -":meth:`~datetime.datetime.utcnow`: use " -"``datetime.datetime.now(tz=datetime.UTC)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:59 -msgid "" -":meth:`~datetime.datetime.utcfromtimestamp`: use " -"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:62 -msgid ":mod:`gettext`: Plural value must be an integer." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:64 -msgid ":mod:`importlib`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:66 -msgid "" -":func:`~importlib.util.cache_from_source` *debug_override* parameter is " -"deprecated: use the *optimization* parameter instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:69 -msgid ":mod:`importlib.metadata`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:71 -msgid "``EntryPoints`` tuple interface." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:72 -msgid "Implicit ``None`` on return values." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:74 -msgid "" -":mod:`logging`: the ``warn()`` method has been deprecated since Python 3.3, " -"use :meth:`~logging.warning` instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:77 -msgid "" -":mod:`mailbox`: Use of StringIO input and text mode is deprecated, use " -"BytesIO and binary mode instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:80 -msgid "" -":mod:`os`: Calling :func:`os.register_at_fork` in multi-threaded process." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:82 -msgid "" -":class:`!pydoc.ErrorDuringImport`: A tuple value for *exc_info* parameter is" -" deprecated, use an exception instance." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:85 -msgid "" -":mod:`re`: More strict rules are now applied for numerical group references " -"and group names in regular expressions. Only sequence of ASCII digits is " -"now accepted as a numerical reference. The group name in bytes patterns and" -" replacement strings can now only contain ASCII letters and digits and " -"underscore. (Contributed by Serhiy Storchaka in :gh:`91760`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:92 -msgid "" -":mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse` modules." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:94 -msgid "" -":mod:`shutil`: :func:`~shutil.rmtree`'s *onerror* parameter is deprecated in" -" Python 3.12; use the *onexc* parameter instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:97 -msgid ":mod:`ssl` options and protocols:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:99 -msgid ":class:`ssl.SSLContext` without protocol argument is deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:100 -msgid "" -":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` and " -":meth:`!selected_npn_protocol` are deprecated: use ALPN instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:103 -msgid "``ssl.OP_NO_SSL*`` options" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:104 -msgid "``ssl.OP_NO_TLS*`` options" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:105 -msgid "``ssl.PROTOCOL_SSLv3``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:106 -msgid "``ssl.PROTOCOL_TLS``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:107 -msgid "``ssl.PROTOCOL_TLSv1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:108 -msgid "``ssl.PROTOCOL_TLSv1_1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:109 -msgid "``ssl.PROTOCOL_TLSv1_2``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:110 -msgid "``ssl.TLSVersion.SSLv3``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:111 -msgid "``ssl.TLSVersion.TLSv1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:112 -msgid "``ssl.TLSVersion.TLSv1_1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:114 -msgid ":mod:`threading` methods:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:116 -msgid "" -":meth:`!threading.Condition.notifyAll`: use " -":meth:`~threading.Condition.notify_all`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:117 -msgid ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:118 -msgid "" -":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use " -":attr:`threading.Thread.daemon` attribute." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:120 -msgid "" -":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use " -":attr:`threading.Thread.name` attribute." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:122 -msgid "" -":meth:`!threading.currentThread`: use :meth:`threading.current_thread`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:123 -msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:125 -msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:127 -msgid "" -"The internal class ``typing._UnionGenericAlias`` is no longer used to " -"implement :class:`typing.Union`. To preserve compatibility with users using " -"this private class, a compatibility shim will be provided until at least " -"Python 3.17. (Contributed by Jelle Zijlstra in :gh:`105499`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:132 -msgid "" -":class:`unittest.IsolatedAsyncioTestCase`: it is deprecated to return a " -"value that is not ``None`` from a test case." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:135 -msgid "" -":mod:`urllib.parse` deprecated functions: :func:`~urllib.parse.urlparse` " -"instead" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:137 -msgid "``splitattr()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:138 -msgid "``splithost()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:139 -msgid "``splitnport()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:140 -msgid "``splitpasswd()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:141 -msgid "``splitport()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:142 -msgid "``splitquery()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:143 -msgid "``splittag()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:144 -msgid "``splittype()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:145 -msgid "``splituser()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:146 -msgid "``splitvalue()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:147 -msgid "``to_bytes()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:149 -msgid "" -":mod:`wsgiref`: ``SimpleHandler.stdout.write()`` should not do partial " -"writes." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:152 -msgid "" -":mod:`xml.etree.ElementTree`: Testing the truth value of an " -":class:`~xml.etree.ElementTree.Element` is deprecated. In a future release " -"it will always return ``True``. Prefer explicit ``len(elem)`` or ``elem is " -"not None`` tests instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:157 -msgid "" -":func:`sys._clear_type_cache` is deprecated: use " -":func:`sys._clear_internal_caches` instead." -msgstr "" diff --git a/python-newest.distributing--index/id.po b/python-newest.distributing--index/id.po deleted file mode 100644 index 0c3181a..0000000 --- a/python-newest.distributing--index/id.po +++ /dev/null @@ -1,34 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2020 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../distributing/index.rst:10 -msgid "Distributing Python Modules" -msgstr "Mendistribusikan Modul Python" - -#: ../../distributing/index.rst:14 -msgid "" -"Information and guidance on distributing Python modules and packages has " -"been moved to the `Python Packaging User Guide`_, and the tutorial on " -"`packaging Python projects`_." -msgstr "" diff --git a/python-newest.extending--building/id.po b/python-newest.extending--building/id.po deleted file mode 100644 index 59b7bea..0000000 --- a/python-newest.extending--building/id.po +++ /dev/null @@ -1,87 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../extending/building.rst:7 -msgid "Building C and C++ Extensions" -msgstr "" - -#: ../../extending/building.rst:9 -msgid "" -"A C extension for CPython is a shared library (e.g. a ``.so`` file on Linux," -" ``.pyd`` on Windows), which exports an *initialization function*." -msgstr "" - -#: ../../extending/building.rst:12 -msgid "" -"To be importable, the shared library must be available on " -":envvar:`PYTHONPATH`, and must be named after the module name, with an " -"appropriate extension. When using setuptools, the correct filename is " -"generated automatically." -msgstr "" - -#: ../../extending/building.rst:16 -msgid "The initialization function has the signature:" -msgstr "" - -#: ../../extending/building.rst:20 -msgid "" -"It returns either a fully initialized module, or a :c:type:`PyModuleDef` " -"instance. See :ref:`initializing-modules` for details." -msgstr "" - -#: ../../extending/building.rst:25 -msgid "" -"For modules with ASCII-only names, the function must be named " -"``PyInit_``, with ```` replaced by the name of the " -"module. When using :ref:`multi-phase-initialization`, non-ASCII module names" -" are allowed. In this case, the initialization function name is " -"``PyInitU_``, with ```` encoded using Python's " -"*punycode* encoding with hyphens replaced by underscores. In Python::" -msgstr "" - -#: ../../extending/building.rst:32 -msgid "" -"def initfunc_name(name):\n" -" try:\n" -" suffix = b'_' + name.encode('ascii')\n" -" except UnicodeEncodeError:\n" -" suffix = b'U_' + name.encode('punycode').replace(b'-', b'_')\n" -" return b'PyInit' + suffix" -msgstr "" - -#: ../../extending/building.rst:39 -msgid "" -"It is possible to export multiple modules from a single shared library by " -"defining multiple initialization functions. However, importing them requires" -" using symbolic links or a custom importer, because by default only the " -"function corresponding to the filename is found. See the *\"Multiple modules" -" in one library\"* section in :pep:`489` for details." -msgstr "" - -#: ../../extending/building.rst:52 -msgid "Building C and C++ Extensions with setuptools" -msgstr "" - -#: ../../extending/building.rst:54 -msgid "" -"Python 3.12 and newer no longer come with distutils. Please refer to the " -"``setuptools`` documentation at " -"https://setuptools.readthedocs.io/en/latest/setuptools.html to learn more " -"about how build and distribute C/C++ extensions with setuptools." -msgstr "" diff --git a/python-newest.extending--embedding/id.po b/python-newest.extending--embedding/id.po deleted file mode 100644 index 1be47c9..0000000 --- a/python-newest.extending--embedding/id.po +++ /dev/null @@ -1,553 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../extending/embedding.rst:8 -msgid "Embedding Python in Another Application" -msgstr "" - -#: ../../extending/embedding.rst:10 -msgid "" -"The previous chapters discussed how to extend Python, that is, how to extend" -" the functionality of Python by attaching a library of C functions to it. " -"It is also possible to do it the other way around: enrich your C/C++ " -"application by embedding Python in it. Embedding provides your application " -"with the ability to implement some of the functionality of your application " -"in Python rather than C or C++. This can be used for many purposes; one " -"example would be to allow users to tailor the application to their needs by " -"writing some scripts in Python. You can also use it yourself if some of the" -" functionality can be written in Python more easily." -msgstr "" - -#: ../../extending/embedding.rst:20 -msgid "" -"Embedding Python is similar to extending it, but not quite. The difference " -"is that when you extend Python, the main program of the application is still" -" the Python interpreter, while if you embed Python, the main program may " -"have nothing to do with Python --- instead, some parts of the application " -"occasionally call the Python interpreter to run some Python code." -msgstr "" - -#: ../../extending/embedding.rst:26 -msgid "" -"So if you are embedding Python, you are providing your own main program. " -"One of the things this main program has to do is initialize the Python " -"interpreter. At the very least, you have to call the function " -":c:func:`Py_Initialize`. There are optional calls to pass command line " -"arguments to Python. Then later you can call the interpreter from any part " -"of the application." -msgstr "" - -#: ../../extending/embedding.rst:32 -msgid "" -"There are several different ways to call the interpreter: you can pass a " -"string containing Python statements to :c:func:`PyRun_SimpleString`, or you " -"can pass a stdio file pointer and a file name (for identification in error " -"messages only) to :c:func:`PyRun_SimpleFile`. You can also call the lower-" -"level operations described in the previous chapters to construct and use " -"Python objects." -msgstr "" - -#: ../../extending/embedding.rst:41 -msgid ":ref:`c-api-index`" -msgstr "" - -#: ../../extending/embedding.rst:42 -msgid "" -"The details of Python's C interface are given in this manual. A great deal " -"of necessary information can be found here." -msgstr "" - -#: ../../extending/embedding.rst:49 -msgid "Very High Level Embedding" -msgstr "" - -#: ../../extending/embedding.rst:51 -msgid "" -"The simplest form of embedding Python is the use of the very high level " -"interface. This interface is intended to execute a Python script without " -"needing to interact with the application directly. This can for example be " -"used to perform some operation on a file. ::" -msgstr "" - -#: ../../extending/embedding.rst:56 -msgid "" -"#define PY_SSIZE_T_CLEAN\n" -"#include \n" -"\n" -"int\n" -"main(int argc, char *argv[])\n" -"{\n" -" PyStatus status;\n" -" PyConfig config;\n" -" PyConfig_InitPythonConfig(&config);\n" -"\n" -" /* optional but recommended */\n" -" status = PyConfig_SetBytesString(&config, &config.program_name, argv[0]);\n" -" if (PyStatus_Exception(status)) {\n" -" goto exception;\n" -" }\n" -"\n" -" status = Py_InitializeFromConfig(&config);\n" -" if (PyStatus_Exception(status)) {\n" -" goto exception;\n" -" }\n" -" PyConfig_Clear(&config);\n" -"\n" -" PyRun_SimpleString(\"from time import time,ctime\\n\"\n" -" \"print('Today is', ctime(time()))\\n\");\n" -" if (Py_FinalizeEx() < 0) {\n" -" exit(120);\n" -" }\n" -" return 0;\n" -"\n" -" exception:\n" -" PyConfig_Clear(&config);\n" -" Py_ExitStatusException(status);\n" -"}" -msgstr "" - -#: ../../extending/embedding.rst:92 -msgid "" -"``#define PY_SSIZE_T_CLEAN`` was used to indicate that ``Py_ssize_t`` should" -" be used in some APIs instead of ``int``. It is not necessary since Python " -"3.13, but we keep it here for backward compatibility. See :ref:`arg-parsing-" -"string-and-buffers` for a description of this macro." -msgstr "" - -#: ../../extending/embedding.rst:97 -msgid "" -"Setting :c:member:`PyConfig.program_name` should be called before " -":c:func:`Py_InitializeFromConfig` to inform the interpreter about paths to " -"Python run-time libraries. Next, the Python interpreter is initialized with" -" :c:func:`Py_Initialize`, followed by the execution of a hard-coded Python " -"script that prints the date and time. Afterwards, the " -":c:func:`Py_FinalizeEx` call shuts the interpreter down, followed by the end" -" of the program. In a real program, you may want to get the Python script " -"from another source, perhaps a text-editor routine, a file, or a database. " -"Getting the Python code from a file can better be done by using the " -":c:func:`PyRun_SimpleFile` function, which saves you the trouble of " -"allocating memory space and loading the file contents." -msgstr "" - -#: ../../extending/embedding.rst:112 -msgid "Beyond Very High Level Embedding: An overview" -msgstr "" - -#: ../../extending/embedding.rst:114 -msgid "" -"The high level interface gives you the ability to execute arbitrary pieces " -"of Python code from your application, but exchanging data values is quite " -"cumbersome to say the least. If you want that, you should use lower level " -"calls. At the cost of having to write more C code, you can achieve almost " -"anything." -msgstr "" - -#: ../../extending/embedding.rst:119 -msgid "" -"It should be noted that extending Python and embedding Python is quite the " -"same activity, despite the different intent. Most topics discussed in the " -"previous chapters are still valid. To show this, consider what the extension" -" code from Python to C really does:" -msgstr "" - -#: ../../extending/embedding.rst:124 -msgid "Convert data values from Python to C," -msgstr "" - -#: ../../extending/embedding.rst:126 -msgid "Perform a function call to a C routine using the converted values, and" -msgstr "" - -#: ../../extending/embedding.rst:128 -msgid "Convert the data values from the call from C to Python." -msgstr "" - -#: ../../extending/embedding.rst:130 -msgid "When embedding Python, the interface code does:" -msgstr "" - -#: ../../extending/embedding.rst:132 -msgid "Convert data values from C to Python," -msgstr "" - -#: ../../extending/embedding.rst:134 -msgid "" -"Perform a function call to a Python interface routine using the converted " -"values, and" -msgstr "" - -#: ../../extending/embedding.rst:137 -msgid "Convert the data values from the call from Python to C." -msgstr "" - -#: ../../extending/embedding.rst:139 -msgid "" -"As you can see, the data conversion steps are simply swapped to accommodate " -"the different direction of the cross-language transfer. The only difference " -"is the routine that you call between both data conversions. When extending, " -"you call a C routine, when embedding, you call a Python routine." -msgstr "" - -#: ../../extending/embedding.rst:144 -msgid "" -"This chapter will not discuss how to convert data from Python to C and vice " -"versa. Also, proper use of references and dealing with errors is assumed to" -" be understood. Since these aspects do not differ from extending the " -"interpreter, you can refer to earlier chapters for the required information." -msgstr "" - -#: ../../extending/embedding.rst:153 -msgid "Pure Embedding" -msgstr "" - -#: ../../extending/embedding.rst:155 -msgid "" -"The first program aims to execute a function in a Python script. Like in the" -" section about the very high level interface, the Python interpreter does " -"not directly interact with the application (but that will change in the next" -" section)." -msgstr "" - -#: ../../extending/embedding.rst:160 -msgid "The code to run a function defined in a Python script is:" -msgstr "" - -#: ../../extending/embedding.rst:162 -msgid "" -"#define PY_SSIZE_T_CLEAN\n" -"#include \n" -"\n" -"int\n" -"main(int argc, char *argv[])\n" -"{\n" -" PyObject *pName, *pModule, *pFunc;\n" -" PyObject *pArgs, *pValue;\n" -" int i;\n" -"\n" -" if (argc < 3) {\n" -" fprintf(stderr,\"Usage: call pythonfile funcname [args]\\n\");\n" -" return 1;\n" -" }\n" -"\n" -" Py_Initialize();\n" -" pName = PyUnicode_DecodeFSDefault(argv[1]);\n" -" /* Error checking of pName left out */\n" -"\n" -" pModule = PyImport_Import(pName);\n" -" Py_DECREF(pName);\n" -"\n" -" if (pModule != NULL) {\n" -" pFunc = PyObject_GetAttrString(pModule, argv[2]);\n" -" /* pFunc is a new reference */\n" -"\n" -" if (pFunc && PyCallable_Check(pFunc)) {\n" -" pArgs = PyTuple_New(argc - 3);\n" -" for (i = 0; i < argc - 3; ++i) {\n" -" pValue = PyLong_FromLong(atoi(argv[i + 3]));\n" -" if (!pValue) {\n" -" Py_DECREF(pArgs);\n" -" Py_DECREF(pModule);\n" -" fprintf(stderr, \"Cannot convert argument\\n\");\n" -" return 1;\n" -" }\n" -" /* pValue reference stolen here: */\n" -" PyTuple_SetItem(pArgs, i, pValue);\n" -" }\n" -" pValue = PyObject_CallObject(pFunc, pArgs);\n" -" Py_DECREF(pArgs);\n" -" if (pValue != NULL) {\n" -" printf(\"Result of call: %ld\\n\", PyLong_AsLong(pValue));\n" -" Py_DECREF(pValue);\n" -" }\n" -" else {\n" -" Py_DECREF(pFunc);\n" -" Py_DECREF(pModule);\n" -" PyErr_Print();\n" -" fprintf(stderr,\"Call failed\\n\");\n" -" return 1;\n" -" }\n" -" }\n" -" else {\n" -" if (PyErr_Occurred())\n" -" PyErr_Print();\n" -" fprintf(stderr, \"Cannot find function \\\"%s\\\"\\n\", argv[2]);\n" -" }\n" -" Py_XDECREF(pFunc);\n" -" Py_DECREF(pModule);\n" -" }\n" -" else {\n" -" PyErr_Print();\n" -" fprintf(stderr, \"Failed to load \\\"%s\\\"\\n\", argv[1]);\n" -" return 1;\n" -" }\n" -" if (Py_FinalizeEx() < 0) {\n" -" return 120;\n" -" }\n" -" return 0;\n" -"}\n" -msgstr "" - -#: ../../extending/embedding.rst:165 -msgid "" -"This code loads a Python script using ``argv[1]``, and calls the function " -"named in ``argv[2]``. Its integer arguments are the other values of the " -"``argv`` array. If you :ref:`compile and link ` this program " -"(let's call the finished executable :program:`call`), and use it to execute " -"a Python script, such as:" -msgstr "" - -#: ../../extending/embedding.rst:171 -msgid "" -"def multiply(a,b):\n" -" print(\"Will compute\", a, \"times\", b)\n" -" c = 0\n" -" for i in range(0, a):\n" -" c = c + b\n" -" return c" -msgstr "" - -#: ../../extending/embedding.rst:180 -msgid "then the result should be:" -msgstr "" - -#: ../../extending/embedding.rst:182 -msgid "" -"$ call multiply multiply 3 2\n" -"Will compute 3 times 2\n" -"Result of call: 6" -msgstr "" - -#: ../../extending/embedding.rst:188 -msgid "" -"Although the program is quite large for its functionality, most of the code " -"is for data conversion between Python and C, and for error reporting. The " -"interesting part with respect to embedding Python starts with ::" -msgstr "" - -#: ../../extending/embedding.rst:192 -msgid "" -"Py_Initialize();\n" -"pName = PyUnicode_DecodeFSDefault(argv[1]);\n" -"/* Error checking of pName left out */\n" -"pModule = PyImport_Import(pName);" -msgstr "" - -#: ../../extending/embedding.rst:197 -msgid "" -"After initializing the interpreter, the script is loaded using " -":c:func:`PyImport_Import`. This routine needs a Python string as its " -"argument, which is constructed using the :c:func:`PyUnicode_DecodeFSDefault`" -" data conversion routine. ::" -msgstr "" - -#: ../../extending/embedding.rst:202 -msgid "" -"pFunc = PyObject_GetAttrString(pModule, argv[2]);\n" -"/* pFunc is a new reference */\n" -"\n" -"if (pFunc && PyCallable_Check(pFunc)) {\n" -" ...\n" -"}\n" -"Py_XDECREF(pFunc);" -msgstr "" - -#: ../../extending/embedding.rst:210 -msgid "" -"Once the script is loaded, the name we're looking for is retrieved using " -":c:func:`PyObject_GetAttrString`. If the name exists, and the object " -"returned is callable, you can safely assume that it is a function. The " -"program then proceeds by constructing a tuple of arguments as normal. The " -"call to the Python function is then made with::" -msgstr "" - -#: ../../extending/embedding.rst:216 -msgid "pValue = PyObject_CallObject(pFunc, pArgs);" -msgstr "" - -#: ../../extending/embedding.rst:218 -msgid "" -"Upon return of the function, ``pValue`` is either ``NULL`` or it contains a " -"reference to the return value of the function. Be sure to release the " -"reference after examining the value." -msgstr "" - -#: ../../extending/embedding.rst:226 -msgid "Extending Embedded Python" -msgstr "" - -#: ../../extending/embedding.rst:228 -msgid "" -"Until now, the embedded Python interpreter had no access to functionality " -"from the application itself. The Python API allows this by extending the " -"embedded interpreter. That is, the embedded interpreter gets extended with " -"routines provided by the application. While it sounds complex, it is not so " -"bad. Simply forget for a while that the application starts the Python " -"interpreter. Instead, consider the application to be a set of subroutines, " -"and write some glue code that gives Python access to those routines, just " -"like you would write a normal Python extension. For example::" -msgstr "" - -#: ../../extending/embedding.rst:237 -msgid "" -"static int numargs=0;\n" -"\n" -"/* Return the number of arguments of the application command line */\n" -"static PyObject*\n" -"emb_numargs(PyObject *self, PyObject *args)\n" -"{\n" -" if(!PyArg_ParseTuple(args, \":numargs\"))\n" -" return NULL;\n" -" return PyLong_FromLong(numargs);\n" -"}\n" -"\n" -"static PyMethodDef EmbMethods[] = {\n" -" {\"numargs\", emb_numargs, METH_VARARGS,\n" -" \"Return the number of arguments received by the process.\"},\n" -" {NULL, NULL, 0, NULL}\n" -"};\n" -"\n" -"static PyModuleDef EmbModule = {\n" -" PyModuleDef_HEAD_INIT, \"emb\", NULL, -1, EmbMethods,\n" -" NULL, NULL, NULL, NULL\n" -"};\n" -"\n" -"static PyObject*\n" -"PyInit_emb(void)\n" -"{\n" -" return PyModule_Create(&EmbModule);\n" -"}" -msgstr "" - -#: ../../extending/embedding.rst:265 -msgid "" -"Insert the above code just above the :c:func:`main` function. Also, insert " -"the following two statements before the call to :c:func:`Py_Initialize`::" -msgstr "" - -#: ../../extending/embedding.rst:268 -msgid "" -"numargs = argc;\n" -"PyImport_AppendInittab(\"emb\", &PyInit_emb);" -msgstr "" - -#: ../../extending/embedding.rst:271 -msgid "" -"These two lines initialize the ``numargs`` variable, and make the " -":func:`!emb.numargs` function accessible to the embedded Python interpreter." -" With these extensions, the Python script can do things like" -msgstr "" - -#: ../../extending/embedding.rst:275 -msgid "" -"import emb\n" -"print(\"Number of arguments\", emb.numargs())" -msgstr "" - -#: ../../extending/embedding.rst:280 -msgid "" -"In a real application, the methods will expose an API of the application to " -"Python." -msgstr "" - -#: ../../extending/embedding.rst:290 -msgid "Embedding Python in C++" -msgstr "" - -#: ../../extending/embedding.rst:292 -msgid "" -"It is also possible to embed Python in a C++ program; precisely how this is " -"done will depend on the details of the C++ system used; in general you will " -"need to write the main program in C++, and use the C++ compiler to compile " -"and link your program. There is no need to recompile Python itself using " -"C++." -msgstr "" - -#: ../../extending/embedding.rst:301 -msgid "Compiling and Linking under Unix-like systems" -msgstr "" - -#: ../../extending/embedding.rst:303 -msgid "" -"It is not necessarily trivial to find the right flags to pass to your " -"compiler (and linker) in order to embed the Python interpreter into your " -"application, particularly because Python needs to load library modules " -"implemented as C dynamic extensions (:file:`.so` files) linked against it." -msgstr "" - -#: ../../extending/embedding.rst:309 -msgid "" -"To find out the required compiler and linker flags, you can execute the " -":file:`python{X.Y}-config` script which is generated as part of the " -"installation process (a :file:`python3-config` script may also be " -"available). This script has several options, of which the following will be" -" directly useful to you:" -msgstr "" - -#: ../../extending/embedding.rst:315 -msgid "" -"``pythonX.Y-config --cflags`` will give you the recommended flags when " -"compiling:" -msgstr "" - -#: ../../extending/embedding.rst:318 -msgid "" -"$ /opt/bin/python3.11-config --cflags\n" -"-I/opt/include/python3.11 -I/opt/include/python3.11 -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall" -msgstr "" - -#: ../../extending/embedding.rst:323 -msgid "" -"``pythonX.Y-config --ldflags --embed`` will give you the recommended flags " -"when linking:" -msgstr "" - -#: ../../extending/embedding.rst:326 -msgid "" -"$ /opt/bin/python3.11-config --ldflags --embed\n" -"-L/opt/lib/python3.11/config-3.11-x86_64-linux-gnu -L/opt/lib -lpython3.11 -lpthread -ldl -lutil -lm" -msgstr "" - -#: ../../extending/embedding.rst:332 -msgid "" -"To avoid confusion between several Python installations (and especially " -"between the system Python and your own compiled Python), it is recommended " -"that you use the absolute path to :file:`python{X.Y}-config`, as in the " -"above example." -msgstr "" - -#: ../../extending/embedding.rst:337 -msgid "" -"If this procedure doesn't work for you (it is not guaranteed to work for all" -" Unix-like platforms; however, we welcome :ref:`bug reports `) you will have to read your system's documentation about dynamic " -"linking and/or examine Python's :file:`Makefile` (use " -":func:`sysconfig.get_makefile_filename` to find its location) and " -"compilation options. In this case, the :mod:`sysconfig` module is a useful " -"tool to programmatically extract the configuration values that you will want" -" to combine together. For example:" -msgstr "" - -#: ../../extending/embedding.rst:346 -msgid "" -">>> import sysconfig\n" -">>> sysconfig.get_config_var('LIBS')\n" -"'-lpthread -ldl -lutil'\n" -">>> sysconfig.get_config_var('LINKFORSHARED')\n" -"'-Xlinker -export-dynamic'" -msgstr "" diff --git a/python-newest.extending--extending/id.po b/python-newest.extending--extending/id.po deleted file mode 100644 index 12fc037..0000000 --- a/python-newest.extending--extending/id.po +++ /dev/null @@ -1,1908 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../extending/extending.rst:8 -msgid "Extending Python with C or C++" -msgstr "" - -#: ../../extending/extending.rst:10 -msgid "" -"It is quite easy to add new built-in modules to Python, if you know how to " -"program in C. Such :dfn:`extension modules` can do two things that can't be" -" done directly in Python: they can implement new built-in object types, and " -"they can call C library functions and system calls." -msgstr "" - -#: ../../extending/extending.rst:15 -msgid "" -"To support extensions, the Python API (Application Programmers Interface) " -"defines a set of functions, macros and variables that provide access to most" -" aspects of the Python run-time system. The Python API is incorporated in a" -" C source file by including the header ``\"Python.h\"``." -msgstr "" - -#: ../../extending/extending.rst:20 -msgid "" -"The compilation of an extension module depends on its intended use as well " -"as on your system setup; details are given in later chapters." -msgstr "" - -#: ../../extending/extending.rst:25 -msgid "" -"The C extension interface is specific to CPython, and extension modules do " -"not work on other Python implementations. In many cases, it is possible to " -"avoid writing C extensions and preserve portability to other " -"implementations. For example, if your use case is calling C library " -"functions or system calls, you should consider using the :mod:`ctypes` " -"module or the `cffi `_ library rather than " -"writing custom C code. These modules let you write Python code to interface " -"with C code and are more portable between implementations of Python than " -"writing and compiling a C extension module." -msgstr "" - -#: ../../extending/extending.rst:40 -msgid "A Simple Example" -msgstr "Contoh Sederhana" - -#: ../../extending/extending.rst:42 -msgid "" -"Let's create an extension module called ``spam`` (the favorite food of Monty" -" Python fans...) and let's say we want to create a Python interface to the C" -" library function :c:func:`system` [#]_. This function takes a null-" -"terminated character string as argument and returns an integer. We want " -"this function to be callable from Python as follows:" -msgstr "" - -#: ../../extending/extending.rst:48 -msgid "" -">>> import spam\n" -">>> status = spam.system(\"ls -l\")" -msgstr "" - -#: ../../extending/extending.rst:53 -msgid "" -"Begin by creating a file :file:`spammodule.c`. (Historically, if a module " -"is called ``spam``, the C file containing its implementation is called " -":file:`spammodule.c`; if the module name is very long, like ``spammify``, " -"the module name can be just :file:`spammify.c`.)" -msgstr "" - -#: ../../extending/extending.rst:58 -msgid "The first two lines of our file can be::" -msgstr "" - -#: ../../extending/extending.rst:60 ../../extending/extending.rst:663 -msgid "" -"#define PY_SSIZE_T_CLEAN\n" -"#include " -msgstr "" - -#: ../../extending/extending.rst:63 -msgid "" -"which pulls in the Python API (you can add a comment describing the purpose " -"of the module and a copyright notice if you like)." -msgstr "" - -#: ../../extending/extending.rst:68 -msgid "" -"Since Python may define some pre-processor definitions which affect the " -"standard headers on some systems, you *must* include :file:`Python.h` before" -" any standard headers are included." -msgstr "" - -#: ../../extending/extending.rst:72 -msgid "" -"``#define PY_SSIZE_T_CLEAN`` was used to indicate that ``Py_ssize_t`` should" -" be used in some APIs instead of ``int``. It is not necessary since Python " -"3.13, but we keep it here for backward compatibility. See :ref:`arg-parsing-" -"string-and-buffers` for a description of this macro." -msgstr "" - -#: ../../extending/extending.rst:77 -msgid "" -"All user-visible symbols defined by :file:`Python.h` have a prefix of ``Py``" -" or ``PY``, except those defined in standard header files. For convenience, " -"and since they are used extensively by the Python interpreter, " -"``\"Python.h\"`` includes a few standard header files: ````, " -"````, ````, and ````. If the latter header " -"file does not exist on your system, it declares the functions " -":c:func:`malloc`, :c:func:`free` and :c:func:`realloc` directly." -msgstr "" - -#: ../../extending/extending.rst:85 -msgid "" -"The next thing we add to our module file is the C function that will be " -"called when the Python expression ``spam.system(string)`` is evaluated " -"(we'll see shortly how it ends up being called)::" -msgstr "" - -#: ../../extending/extending.rst:89 -msgid "" -"static PyObject *\n" -"spam_system(PyObject *self, PyObject *args)\n" -"{\n" -" const char *command;\n" -" int sts;\n" -"\n" -" if (!PyArg_ParseTuple(args, \"s\", &command))\n" -" return NULL;\n" -" sts = system(command);\n" -" return PyLong_FromLong(sts);\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:101 -msgid "" -"There is a straightforward translation from the argument list in Python (for" -" example, the single expression ``\"ls -l\"``) to the arguments passed to " -"the C function. The C function always has two arguments, conventionally " -"named *self* and *args*." -msgstr "" - -#: ../../extending/extending.rst:106 -msgid "" -"The *self* argument points to the module object for module-level functions; " -"for a method it would point to the object instance." -msgstr "" - -#: ../../extending/extending.rst:109 -msgid "" -"The *args* argument will be a pointer to a Python tuple object containing " -"the arguments. Each item of the tuple corresponds to an argument in the " -"call's argument list. The arguments are Python objects --- in order to do " -"anything with them in our C function we have to convert them to C values. " -"The function :c:func:`PyArg_ParseTuple` in the Python API checks the " -"argument types and converts them to C values. It uses a template string to " -"determine the required types of the arguments as well as the types of the C " -"variables into which to store the converted values. More about this later." -msgstr "" - -#: ../../extending/extending.rst:118 -msgid "" -":c:func:`PyArg_ParseTuple` returns true (nonzero) if all arguments have the " -"right type and its components have been stored in the variables whose " -"addresses are passed. It returns false (zero) if an invalid argument list " -"was passed. In the latter case it also raises an appropriate exception so " -"the calling function can return ``NULL`` immediately (as we saw in the " -"example)." -msgstr "" - -#: ../../extending/extending.rst:128 -msgid "Intermezzo: Errors and Exceptions" -msgstr "" - -#: ../../extending/extending.rst:130 -msgid "" -"An important convention throughout the Python interpreter is the following: " -"when a function fails, it should set an exception condition and return an " -"error value (usually ``-1`` or a ``NULL`` pointer). Exception information " -"is stored in three members of the interpreter's thread state. These are " -"``NULL`` if there is no exception. Otherwise they are the C equivalents of " -"the members of the Python tuple returned by :meth:`sys.exc_info`. These are" -" the exception type, exception instance, and a traceback object. It is " -"important to know about them to understand how errors are passed around." -msgstr "" - -#: ../../extending/extending.rst:139 -msgid "" -"The Python API defines a number of functions to set various types of " -"exceptions." -msgstr "" - -#: ../../extending/extending.rst:141 -msgid "" -"The most common one is :c:func:`PyErr_SetString`. Its arguments are an " -"exception object and a C string. The exception object is usually a " -"predefined object like :c:data:`PyExc_ZeroDivisionError`. The C string " -"indicates the cause of the error and is converted to a Python string object " -"and stored as the \"associated value\" of the exception." -msgstr "" - -#: ../../extending/extending.rst:147 -msgid "" -"Another useful function is :c:func:`PyErr_SetFromErrno`, which only takes an" -" exception argument and constructs the associated value by inspection of the" -" global variable :c:data:`errno`. The most general function is " -":c:func:`PyErr_SetObject`, which takes two object arguments, the exception " -"and its associated value. You don't need to :c:func:`Py_INCREF` the objects" -" passed to any of these functions." -msgstr "" - -#: ../../extending/extending.rst:154 -msgid "" -"You can test non-destructively whether an exception has been set with " -":c:func:`PyErr_Occurred`. This returns the current exception object, or " -"``NULL`` if no exception has occurred. You normally don't need to call " -":c:func:`PyErr_Occurred` to see whether an error occurred in a function " -"call, since you should be able to tell from the return value." -msgstr "" - -#: ../../extending/extending.rst:160 -msgid "" -"When a function *f* that calls another function *g* detects that the latter " -"fails, *f* should itself return an error value (usually ``NULL`` or ``-1``)." -" It should *not* call one of the ``PyErr_*`` functions --- one has already " -"been called by *g*. *f*'s caller is then supposed to also return an error " -"indication to *its* caller, again *without* calling ``PyErr_*``, and so on " -"--- the most detailed cause of the error was already reported by the " -"function that first detected it. Once the error reaches the Python " -"interpreter's main loop, this aborts the currently executing Python code and" -" tries to find an exception handler specified by the Python programmer." -msgstr "" - -#: ../../extending/extending.rst:170 -msgid "" -"(There are situations where a module can actually give a more detailed error" -" message by calling another ``PyErr_*`` function, and in such cases it is " -"fine to do so. As a general rule, however, this is not necessary, and can " -"cause information about the cause of the error to be lost: most operations " -"can fail for a variety of reasons.)" -msgstr "" - -#: ../../extending/extending.rst:176 -msgid "" -"To ignore an exception set by a function call that failed, the exception " -"condition must be cleared explicitly by calling :c:func:`PyErr_Clear`. The " -"only time C code should call :c:func:`PyErr_Clear` is if it doesn't want to " -"pass the error on to the interpreter but wants to handle it completely by " -"itself (possibly by trying something else, or pretending nothing went " -"wrong)." -msgstr "" - -#: ../../extending/extending.rst:182 -msgid "" -"Every failing :c:func:`malloc` call must be turned into an exception --- the" -" direct caller of :c:func:`malloc` (or :c:func:`realloc`) must call " -":c:func:`PyErr_NoMemory` and return a failure indicator itself. All the " -"object-creating functions (for example, :c:func:`PyLong_FromLong`) already " -"do this, so this note is only relevant to those who call :c:func:`malloc` " -"directly." -msgstr "" - -#: ../../extending/extending.rst:188 -msgid "" -"Also note that, with the important exception of :c:func:`PyArg_ParseTuple` " -"and friends, functions that return an integer status usually return a " -"positive value or zero for success and ``-1`` for failure, like Unix system " -"calls." -msgstr "" - -#: ../../extending/extending.rst:192 -msgid "" -"Finally, be careful to clean up garbage (by making :c:func:`Py_XDECREF` or " -":c:func:`Py_DECREF` calls for objects you have already created) when you " -"return an error indicator!" -msgstr "" - -#: ../../extending/extending.rst:196 -msgid "" -"The choice of which exception to raise is entirely yours. There are " -"predeclared C objects corresponding to all built-in Python exceptions, such " -"as :c:data:`PyExc_ZeroDivisionError`, which you can use directly. Of course," -" you should choose exceptions wisely --- don't use :c:data:`PyExc_TypeError`" -" to mean that a file couldn't be opened (that should probably be " -":c:data:`PyExc_OSError`). If something's wrong with the argument list, the " -":c:func:`PyArg_ParseTuple` function usually raises " -":c:data:`PyExc_TypeError`. If you have an argument whose value must be in a" -" particular range or must satisfy other conditions, " -":c:data:`PyExc_ValueError` is appropriate." -msgstr "" - -#: ../../extending/extending.rst:206 -msgid "" -"You can also define a new exception that is unique to your module. For this," -" you usually declare a static object variable at the beginning of your " -"file::" -msgstr "" - -#: ../../extending/extending.rst:209 -msgid "static PyObject *SpamError;" -msgstr "" - -#: ../../extending/extending.rst:211 -msgid "" -"and initialize it in your module's initialization function " -"(:c:func:`!PyInit_spam`) with an exception object::" -msgstr "" - -#: ../../extending/extending.rst:214 -msgid "" -"PyMODINIT_FUNC\n" -"PyInit_spam(void)\n" -"{\n" -" PyObject *m;\n" -"\n" -" m = PyModule_Create(&spammodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" -" SpamError = PyErr_NewException(\"spam.error\", NULL, NULL);\n" -" if (PyModule_AddObjectRef(m, \"error\", SpamError) < 0) {\n" -" Py_CLEAR(SpamError);\n" -" Py_DECREF(m);\n" -" return NULL;\n" -" }\n" -"\n" -" return m;\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:233 -msgid "" -"Note that the Python name for the exception object is :exc:`!spam.error`. " -"The :c:func:`PyErr_NewException` function may create a class with the base " -"class being :exc:`Exception` (unless another class is passed in instead of " -"``NULL``), described in :ref:`bltin-exceptions`." -msgstr "" - -#: ../../extending/extending.rst:238 -msgid "" -"Note also that the :c:data:`!SpamError` variable retains a reference to the " -"newly created exception class; this is intentional! Since the exception " -"could be removed from the module by external code, an owned reference to the" -" class is needed to ensure that it will not be discarded, causing " -":c:data:`!SpamError` to become a dangling pointer. Should it become a " -"dangling pointer, C code which raises the exception could cause a core dump " -"or other unintended side effects." -msgstr "" - -#: ../../extending/extending.rst:245 -msgid "" -"We discuss the use of :c:macro:`PyMODINIT_FUNC` as a function return type " -"later in this sample." -msgstr "" - -#: ../../extending/extending.rst:248 -msgid "" -"The :exc:`!spam.error` exception can be raised in your extension module " -"using a call to :c:func:`PyErr_SetString` as shown below::" -msgstr "" - -#: ../../extending/extending.rst:251 -msgid "" -"static PyObject *\n" -"spam_system(PyObject *self, PyObject *args)\n" -"{\n" -" const char *command;\n" -" int sts;\n" -"\n" -" if (!PyArg_ParseTuple(args, \"s\", &command))\n" -" return NULL;\n" -" sts = system(command);\n" -" if (sts < 0) {\n" -" PyErr_SetString(SpamError, \"System command failed\");\n" -" return NULL;\n" -" }\n" -" return PyLong_FromLong(sts);\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:271 -msgid "Back to the Example" -msgstr "Kembali ke Contoh" - -#: ../../extending/extending.rst:273 -msgid "" -"Going back to our example function, you should now be able to understand " -"this statement::" -msgstr "" - -#: ../../extending/extending.rst:276 -msgid "" -"if (!PyArg_ParseTuple(args, \"s\", &command))\n" -" return NULL;" -msgstr "" - -#: ../../extending/extending.rst:279 -msgid "" -"It returns ``NULL`` (the error indicator for functions returning object " -"pointers) if an error is detected in the argument list, relying on the " -"exception set by :c:func:`PyArg_ParseTuple`. Otherwise the string value of " -"the argument has been copied to the local variable :c:data:`!command`. This" -" is a pointer assignment and you are not supposed to modify the string to " -"which it points (so in Standard C, the variable :c:data:`!command` should " -"properly be declared as ``const char *command``)." -msgstr "" - -#: ../../extending/extending.rst:287 -msgid "" -"The next statement is a call to the Unix function :c:func:`system`, passing " -"it the string we just got from :c:func:`PyArg_ParseTuple`::" -msgstr "" - -#: ../../extending/extending.rst:290 -msgid "sts = system(command);" -msgstr "" - -#: ../../extending/extending.rst:292 -msgid "" -"Our :func:`!spam.system` function must return the value of :c:data:`!sts` as" -" a Python object. This is done using the function " -":c:func:`PyLong_FromLong`. ::" -msgstr "" - -#: ../../extending/extending.rst:295 -msgid "return PyLong_FromLong(sts);" -msgstr "" - -#: ../../extending/extending.rst:297 -msgid "" -"In this case, it will return an integer object. (Yes, even integers are " -"objects on the heap in Python!)" -msgstr "" - -#: ../../extending/extending.rst:300 -msgid "" -"If you have a C function that returns no useful argument (a function " -"returning :c:expr:`void`), the corresponding Python function must return " -"``None``. You need this idiom to do so (which is implemented by the " -":c:macro:`Py_RETURN_NONE` macro)::" -msgstr "" - -#: ../../extending/extending.rst:305 -msgid "" -"Py_INCREF(Py_None);\n" -"return Py_None;" -msgstr "" - -#: ../../extending/extending.rst:308 -msgid "" -":c:data:`Py_None` is the C name for the special Python object ``None``. It " -"is a genuine Python object rather than a ``NULL`` pointer, which means " -"\"error\" in most contexts, as we have seen." -msgstr "" - -#: ../../extending/extending.rst:316 -msgid "The Module's Method Table and Initialization Function" -msgstr "" - -#: ../../extending/extending.rst:318 -msgid "" -"I promised to show how :c:func:`!spam_system` is called from Python " -"programs. First, we need to list its name and address in a \"method " -"table\"::" -msgstr "" - -#: ../../extending/extending.rst:321 -msgid "" -"static PyMethodDef SpamMethods[] = {\n" -" ...\n" -" {\"system\", spam_system, METH_VARARGS,\n" -" \"Execute a shell command.\"},\n" -" ...\n" -" {NULL, NULL, 0, NULL} /* Sentinel */\n" -"};" -msgstr "" - -#: ../../extending/extending.rst:329 -msgid "" -"Note the third entry (``METH_VARARGS``). This is a flag telling the " -"interpreter the calling convention to be used for the C function. It should" -" normally always be ``METH_VARARGS`` or ``METH_VARARGS | METH_KEYWORDS``; a " -"value of ``0`` means that an obsolete variant of :c:func:`PyArg_ParseTuple` " -"is used." -msgstr "" - -#: ../../extending/extending.rst:334 -msgid "" -"When using only ``METH_VARARGS``, the function should expect the Python-" -"level parameters to be passed in as a tuple acceptable for parsing via " -":c:func:`PyArg_ParseTuple`; more information on this function is provided " -"below." -msgstr "" - -#: ../../extending/extending.rst:338 -msgid "" -"The :c:macro:`METH_KEYWORDS` bit may be set in the third field if keyword " -"arguments should be passed to the function. In this case, the C function " -"should accept a third ``PyObject *`` parameter which will be a dictionary of" -" keywords. Use :c:func:`PyArg_ParseTupleAndKeywords` to parse the arguments " -"to such a function." -msgstr "" - -#: ../../extending/extending.rst:344 -msgid "" -"The method table must be referenced in the module definition structure::" -msgstr "" - -#: ../../extending/extending.rst:346 -msgid "" -"static struct PyModuleDef spammodule = {\n" -" PyModuleDef_HEAD_INIT,\n" -" \"spam\", /* name of module */\n" -" spam_doc, /* module documentation, may be NULL */\n" -" -1, /* size of per-interpreter state of the module,\n" -" or -1 if the module keeps state in global variables. */\n" -" SpamMethods\n" -"};" -msgstr "" - -#: ../../extending/extending.rst:355 -msgid "" -"This structure, in turn, must be passed to the interpreter in the module's " -"initialization function. The initialization function must be named " -":c:func:`!PyInit_name`, where *name* is the name of the module, and should " -"be the only non-\\ ``static`` item defined in the module file::" -msgstr "" - -#: ../../extending/extending.rst:360 -msgid "" -"PyMODINIT_FUNC\n" -"PyInit_spam(void)\n" -"{\n" -" return PyModule_Create(&spammodule);\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:366 -msgid "" -"Note that :c:macro:`PyMODINIT_FUNC` declares the function as ``PyObject *`` " -"return type, declares any special linkage declarations required by the " -"platform, and for C++ declares the function as ``extern \"C\"``." -msgstr "" - -#: ../../extending/extending.rst:370 -msgid "" -"When the Python program imports module :mod:`!spam` for the first time, " -":c:func:`!PyInit_spam` is called. (See below for comments about embedding " -"Python.) It calls :c:func:`PyModule_Create`, which returns a module object, " -"and inserts built-in function objects into the newly created module based " -"upon the table (an array of :c:type:`PyMethodDef` structures) found in the " -"module definition. :c:func:`PyModule_Create` returns a pointer to the module" -" object that it creates. It may abort with a fatal error for certain " -"errors, or return ``NULL`` if the module could not be initialized " -"satisfactorily. The init function must return the module object to its " -"caller, so that it then gets inserted into ``sys.modules``." -msgstr "" - -#: ../../extending/extending.rst:381 -msgid "" -"When embedding Python, the :c:func:`!PyInit_spam` function is not called " -"automatically unless there's an entry in the :c:data:`PyImport_Inittab` " -"table. To add the module to the initialization table, use " -":c:func:`PyImport_AppendInittab`, optionally followed by an import of the " -"module::" -msgstr "" - -#: ../../extending/extending.rst:386 -msgid "" -"#define PY_SSIZE_T_CLEAN\n" -"#include \n" -"\n" -"int\n" -"main(int argc, char *argv[])\n" -"{\n" -" PyStatus status;\n" -" PyConfig config;\n" -" PyConfig_InitPythonConfig(&config);\n" -"\n" -" /* Add a built-in module, before Py_Initialize */\n" -" if (PyImport_AppendInittab(\"spam\", PyInit_spam) == -1) {\n" -" fprintf(stderr, \"Error: could not extend in-built modules table\\n\");\n" -" exit(1);\n" -" }\n" -"\n" -" /* Pass argv[0] to the Python interpreter */\n" -" status = PyConfig_SetBytesString(&config, &config.program_name, argv[0]);\n" -" if (PyStatus_Exception(status)) {\n" -" goto exception;\n" -" }\n" -"\n" -" /* Initialize the Python interpreter. Required.\n" -" If this step fails, it will be a fatal error. */\n" -" status = Py_InitializeFromConfig(&config);\n" -" if (PyStatus_Exception(status)) {\n" -" goto exception;\n" -" }\n" -" PyConfig_Clear(&config);\n" -"\n" -" /* Optionally import the module; alternatively,\n" -" import can be deferred until the embedded script\n" -" imports it. */\n" -" PyObject *pmodule = PyImport_ImportModule(\"spam\");\n" -" if (!pmodule) {\n" -" PyErr_Print();\n" -" fprintf(stderr, \"Error: could not import module 'spam'\\n\");\n" -" }\n" -"\n" -" // ... use Python C API here ...\n" -"\n" -" return 0;\n" -"\n" -" exception:\n" -" PyConfig_Clear(&config);\n" -" Py_ExitStatusException(status);\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:436 -msgid "" -"Removing entries from ``sys.modules`` or importing compiled modules into " -"multiple interpreters within a process (or following a :c:func:`fork` " -"without an intervening :c:func:`exec`) can create problems for some " -"extension modules. Extension module authors should exercise caution when " -"initializing internal data structures." -msgstr "" - -#: ../../extending/extending.rst:442 -msgid "" -"A more substantial example module is included in the Python source " -"distribution as :file:`Modules/xxmodule.c`. This file may be used as a " -"template or simply read as an example." -msgstr "" - -#: ../../extending/extending.rst:448 -msgid "" -"Unlike our ``spam`` example, ``xxmodule`` uses *multi-phase initialization* " -"(new in Python 3.5), where a PyModuleDef structure is returned from " -"``PyInit_spam``, and creation of the module is left to the import machinery." -" For details on multi-phase initialization, see :PEP:`489`." -msgstr "" - -#: ../../extending/extending.rst:457 -msgid "Compilation and Linkage" -msgstr "" - -#: ../../extending/extending.rst:459 -msgid "" -"There are two more things to do before you can use your new extension: " -"compiling and linking it with the Python system. If you use dynamic " -"loading, the details may depend on the style of dynamic loading your system " -"uses; see the chapters about building extension modules (chapter " -":ref:`building`) and additional information that pertains only to building " -"on Windows (chapter :ref:`building-on-windows`) for more information about " -"this." -msgstr "" - -#: ../../extending/extending.rst:466 -msgid "" -"If you can't use dynamic loading, or if you want to make your module a " -"permanent part of the Python interpreter, you will have to change the " -"configuration setup and rebuild the interpreter. Luckily, this is very " -"simple on Unix: just place your file (:file:`spammodule.c` for example) in " -"the :file:`Modules/` directory of an unpacked source distribution, add a " -"line to the file :file:`Modules/Setup.local` describing your file:" -msgstr "" - -#: ../../extending/extending.rst:473 -msgid "spam spammodule.o" -msgstr "" - -#: ../../extending/extending.rst:477 -msgid "" -"and rebuild the interpreter by running :program:`make` in the toplevel " -"directory. You can also run :program:`make` in the :file:`Modules/` " -"subdirectory, but then you must first rebuild :file:`Makefile` there by " -"running ':program:`make` Makefile'. (This is necessary each time you change" -" the :file:`Setup` file.)" -msgstr "" - -#: ../../extending/extending.rst:483 -msgid "" -"If your module requires additional libraries to link with, these can be " -"listed on the line in the configuration file as well, for instance:" -msgstr "" - -#: ../../extending/extending.rst:486 -msgid "spam spammodule.o -lX11" -msgstr "" - -#: ../../extending/extending.rst:494 -msgid "Calling Python Functions from C" -msgstr "" - -#: ../../extending/extending.rst:496 -msgid "" -"So far we have concentrated on making C functions callable from Python. The" -" reverse is also useful: calling Python functions from C. This is especially" -" the case for libraries that support so-called \"callback\" functions. If a" -" C interface makes use of callbacks, the equivalent Python often needs to " -"provide a callback mechanism to the Python programmer; the implementation " -"will require calling the Python callback functions from a C callback. Other" -" uses are also imaginable." -msgstr "" - -#: ../../extending/extending.rst:504 -msgid "" -"Fortunately, the Python interpreter is easily called recursively, and there " -"is a standard interface to call a Python function. (I won't dwell on how to" -" call the Python parser with a particular string as input --- if you're " -"interested, have a look at the implementation of the :option:`-c` command " -"line option in :file:`Modules/main.c` from the Python source code.)" -msgstr "" - -#: ../../extending/extending.rst:510 -msgid "" -"Calling a Python function is easy. First, the Python program must somehow " -"pass you the Python function object. You should provide a function (or some" -" other interface) to do this. When this function is called, save a pointer " -"to the Python function object (be careful to :c:func:`Py_INCREF` it!) in a " -"global variable --- or wherever you see fit. For example, the following " -"function might be part of a module definition::" -msgstr "" - -#: ../../extending/extending.rst:517 -msgid "" -"static PyObject *my_callback = NULL;\n" -"\n" -"static PyObject *\n" -"my_set_callback(PyObject *dummy, PyObject *args)\n" -"{\n" -" PyObject *result = NULL;\n" -" PyObject *temp;\n" -"\n" -" if (PyArg_ParseTuple(args, \"O:set_callback\", &temp)) {\n" -" if (!PyCallable_Check(temp)) {\n" -" PyErr_SetString(PyExc_TypeError, \"parameter must be callable\");\n" -" return NULL;\n" -" }\n" -" Py_XINCREF(temp); /* Add a reference to new callback */\n" -" Py_XDECREF(my_callback); /* Dispose of previous callback */\n" -" my_callback = temp; /* Remember new callback */\n" -" /* Boilerplate to return \"None\" */\n" -" Py_INCREF(Py_None);\n" -" result = Py_None;\n" -" }\n" -" return result;\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:540 -msgid "" -"This function must be registered with the interpreter using the " -":c:macro:`METH_VARARGS` flag; this is described in section " -":ref:`methodtable`. The :c:func:`PyArg_ParseTuple` function and its " -"arguments are documented in section :ref:`parsetuple`." -msgstr "" - -#: ../../extending/extending.rst:545 -msgid "" -"The macros :c:func:`Py_XINCREF` and :c:func:`Py_XDECREF` increment/decrement" -" the reference count of an object and are safe in the presence of ``NULL`` " -"pointers (but note that *temp* will not be ``NULL`` in this context). More" -" info on them in section :ref:`refcounts`." -msgstr "" - -#: ../../extending/extending.rst:552 -msgid "" -"Later, when it is time to call the function, you call the C function " -":c:func:`PyObject_CallObject`. This function has two arguments, both " -"pointers to arbitrary Python objects: the Python function, and the argument " -"list. The argument list must always be a tuple object, whose length is the " -"number of arguments. To call the Python function with no arguments, pass in" -" ``NULL``, or an empty tuple; to call it with one argument, pass a singleton" -" tuple. :c:func:`Py_BuildValue` returns a tuple when its format string " -"consists of zero or more format codes between parentheses. For example::" -msgstr "" - -#: ../../extending/extending.rst:561 -msgid "" -"int arg;\n" -"PyObject *arglist;\n" -"PyObject *result;\n" -"...\n" -"arg = 123;\n" -"...\n" -"/* Time to call the callback */\n" -"arglist = Py_BuildValue(\"(i)\", arg);\n" -"result = PyObject_CallObject(my_callback, arglist);\n" -"Py_DECREF(arglist);" -msgstr "" - -#: ../../extending/extending.rst:572 -msgid "" -":c:func:`PyObject_CallObject` returns a Python object pointer: this is the " -"return value of the Python function. :c:func:`PyObject_CallObject` is " -"\"reference-count-neutral\" with respect to its arguments. In the example a" -" new tuple was created to serve as the argument list, which is " -":c:func:`Py_DECREF`\\ -ed immediately after the " -":c:func:`PyObject_CallObject` call." -msgstr "" - -#: ../../extending/extending.rst:579 -msgid "" -"The return value of :c:func:`PyObject_CallObject` is \"new\": either it is a" -" brand new object, or it is an existing object whose reference count has " -"been incremented. So, unless you want to save it in a global variable, you " -"should somehow :c:func:`Py_DECREF` the result, even (especially!) if you are" -" not interested in its value." -msgstr "" - -#: ../../extending/extending.rst:585 -msgid "" -"Before you do this, however, it is important to check that the return value " -"isn't ``NULL``. If it is, the Python function terminated by raising an " -"exception. If the C code that called :c:func:`PyObject_CallObject` is called" -" from Python, it should now return an error indication to its Python caller," -" so the interpreter can print a stack trace, or the calling Python code can " -"handle the exception. If this is not possible or desirable, the exception " -"should be cleared by calling :c:func:`PyErr_Clear`. For example::" -msgstr "" - -#: ../../extending/extending.rst:593 -msgid "" -"if (result == NULL)\n" -" return NULL; /* Pass error back */\n" -"...use result...\n" -"Py_DECREF(result);" -msgstr "" - -#: ../../extending/extending.rst:598 -msgid "" -"Depending on the desired interface to the Python callback function, you may " -"also have to provide an argument list to :c:func:`PyObject_CallObject`. In " -"some cases the argument list is also provided by the Python program, through" -" the same interface that specified the callback function. It can then be " -"saved and used in the same manner as the function object. In other cases, " -"you may have to construct a new tuple to pass as the argument list. The " -"simplest way to do this is to call :c:func:`Py_BuildValue`. For example, if" -" you want to pass an integral event code, you might use the following code::" -msgstr "" - -#: ../../extending/extending.rst:607 -msgid "" -"PyObject *arglist;\n" -"...\n" -"arglist = Py_BuildValue(\"(l)\", eventcode);\n" -"result = PyObject_CallObject(my_callback, arglist);\n" -"Py_DECREF(arglist);\n" -"if (result == NULL)\n" -" return NULL; /* Pass error back */\n" -"/* Here maybe use the result */\n" -"Py_DECREF(result);" -msgstr "" - -#: ../../extending/extending.rst:617 -msgid "" -"Note the placement of ``Py_DECREF(arglist)`` immediately after the call, " -"before the error check! Also note that strictly speaking this code is not " -"complete: :c:func:`Py_BuildValue` may run out of memory, and this should be " -"checked." -msgstr "" - -#: ../../extending/extending.rst:621 -msgid "" -"You may also call a function with keyword arguments by using " -":c:func:`PyObject_Call`, which supports arguments and keyword arguments. As" -" in the above example, we use :c:func:`Py_BuildValue` to construct the " -"dictionary. ::" -msgstr "" - -#: ../../extending/extending.rst:625 -msgid "" -"PyObject *dict;\n" -"...\n" -"dict = Py_BuildValue(\"{s:i}\", \"name\", val);\n" -"result = PyObject_Call(my_callback, NULL, dict);\n" -"Py_DECREF(dict);\n" -"if (result == NULL)\n" -" return NULL; /* Pass error back */\n" -"/* Here maybe use the result */\n" -"Py_DECREF(result);" -msgstr "" - -#: ../../extending/extending.rst:639 -msgid "Extracting Parameters in Extension Functions" -msgstr "" - -#: ../../extending/extending.rst:643 -msgid "The :c:func:`PyArg_ParseTuple` function is declared as follows::" -msgstr "" - -#: ../../extending/extending.rst:645 -msgid "int PyArg_ParseTuple(PyObject *arg, const char *format, ...);" -msgstr "" - -#: ../../extending/extending.rst:647 -msgid "" -"The *arg* argument must be a tuple object containing an argument list passed" -" from Python to a C function. The *format* argument must be a format " -"string, whose syntax is explained in :ref:`arg-parsing` in the Python/C API " -"Reference Manual. The remaining arguments must be addresses of variables " -"whose type is determined by the format string." -msgstr "" - -#: ../../extending/extending.rst:653 -msgid "" -"Note that while :c:func:`PyArg_ParseTuple` checks that the Python arguments " -"have the required types, it cannot check the validity of the addresses of C " -"variables passed to the call: if you make mistakes there, your code will " -"probably crash or at least overwrite random bits in memory. So be careful!" -msgstr "" - -#: ../../extending/extending.rst:658 -msgid "" -"Note that any Python object references which are provided to the caller are " -"*borrowed* references; do not decrement their reference count!" -msgstr "" - -#: ../../extending/extending.rst:661 -msgid "Some example calls::" -msgstr "" - -#: ../../extending/extending.rst:668 -msgid "" -"int ok;\n" -"int i, j;\n" -"long k, l;\n" -"const char *s;\n" -"Py_ssize_t size;\n" -"\n" -"ok = PyArg_ParseTuple(args, \"\"); /* No arguments */\n" -" /* Python call: f() */" -msgstr "" - -#: ../../extending/extending.rst:679 -msgid "" -"ok = PyArg_ParseTuple(args, \"s\", &s); /* A string */\n" -" /* Possible Python call: f('whoops!') */" -msgstr "" - -#: ../../extending/extending.rst:684 -msgid "" -"ok = PyArg_ParseTuple(args, \"lls\", &k, &l, &s); /* Two longs and a string */\n" -" /* Possible Python call: f(1, 2, 'three') */" -msgstr "" - -#: ../../extending/extending.rst:689 -msgid "" -"ok = PyArg_ParseTuple(args, \"(ii)s#\", &i, &j, &s, &size);\n" -" /* A pair of ints and a string, whose size is also returned */\n" -" /* Possible Python call: f((1, 2), 'three') */" -msgstr "" - -#: ../../extending/extending.rst:695 -msgid "" -"{\n" -" const char *file;\n" -" const char *mode = \"r\";\n" -" int bufsize = 0;\n" -" ok = PyArg_ParseTuple(args, \"s|si\", &file, &mode, &bufsize);\n" -" /* A string, and optionally another string and an integer */\n" -" /* Possible Python calls:\n" -" f('spam')\n" -" f('spam', 'w')\n" -" f('spam', 'wb', 100000) */\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:709 -msgid "" -"{\n" -" int left, top, right, bottom, h, v;\n" -" ok = PyArg_ParseTuple(args, \"((ii)(ii))(ii)\",\n" -" &left, &top, &right, &bottom, &h, &v);\n" -" /* A rectangle and a point */\n" -" /* Possible Python call:\n" -" f(((0, 0), (400, 300)), (10, 10)) */\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:720 -msgid "" -"{\n" -" Py_complex c;\n" -" ok = PyArg_ParseTuple(args, \"D:myfunction\", &c);\n" -" /* a complex, also providing a function name for errors */\n" -" /* Possible Python call: myfunction(1+2j) */\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:731 -msgid "Keyword Parameters for Extension Functions" -msgstr "" - -#: ../../extending/extending.rst:735 -msgid "" -"The :c:func:`PyArg_ParseTupleAndKeywords` function is declared as follows::" -msgstr "" - -#: ../../extending/extending.rst:737 -msgid "" -"int PyArg_ParseTupleAndKeywords(PyObject *arg, PyObject *kwdict,\n" -" const char *format, char * const *kwlist, ...);" -msgstr "" - -#: ../../extending/extending.rst:740 -msgid "" -"The *arg* and *format* parameters are identical to those of the " -":c:func:`PyArg_ParseTuple` function. The *kwdict* parameter is the " -"dictionary of keywords received as the third parameter from the Python " -"runtime. The *kwlist* parameter is a ``NULL``-terminated list of strings " -"which identify the parameters; the names are matched with the type " -"information from *format* from left to right. On success, " -":c:func:`PyArg_ParseTupleAndKeywords` returns true, otherwise it returns " -"false and raises an appropriate exception." -msgstr "" - -#: ../../extending/extending.rst:750 -msgid "" -"Nested tuples cannot be parsed when using keyword arguments! Keyword " -"parameters passed in which are not present in the *kwlist* will cause " -":exc:`TypeError` to be raised." -msgstr "" - -#: ../../extending/extending.rst:756 -msgid "" -"Here is an example module which uses keywords, based on an example by Geoff " -"Philbrick (philbrick@hks.com)::" -msgstr "" - -#: ../../extending/extending.rst:759 -msgid "" -"#define PY_SSIZE_T_CLEAN\n" -"#include \n" -"\n" -"static PyObject *\n" -"keywdarg_parrot(PyObject *self, PyObject *args, PyObject *keywds)\n" -"{\n" -" int voltage;\n" -" const char *state = \"a stiff\";\n" -" const char *action = \"voom\";\n" -" const char *type = \"Norwegian Blue\";\n" -"\n" -" static char *kwlist[] = {\"voltage\", \"state\", \"action\", \"type\", NULL};\n" -"\n" -" if (!PyArg_ParseTupleAndKeywords(args, keywds, \"i|sss\", kwlist,\n" -" &voltage, &state, &action, &type))\n" -" return NULL;\n" -"\n" -" printf(\"-- This parrot wouldn't %s if you put %i Volts through it.\\n\",\n" -" action, voltage);\n" -" printf(\"-- Lovely plumage, the %s -- It's %s!\\n\", type, state);\n" -"\n" -" Py_RETURN_NONE;\n" -"}\n" -"\n" -"static PyMethodDef keywdarg_methods[] = {\n" -" /* The cast of the function is necessary since PyCFunction values\n" -" * only take two PyObject* parameters, and keywdarg_parrot() takes\n" -" * three.\n" -" */\n" -" {\"parrot\", (PyCFunction)(void(*)(void))keywdarg_parrot, METH_VARARGS | METH_KEYWORDS,\n" -" \"Print a lovely skit to standard output.\"},\n" -" {NULL, NULL, 0, NULL} /* sentinel */\n" -"};\n" -"\n" -"static struct PyModuleDef keywdargmodule = {\n" -" PyModuleDef_HEAD_INIT,\n" -" \"keywdarg\",\n" -" NULL,\n" -" -1,\n" -" keywdarg_methods\n" -"};\n" -"\n" -"PyMODINIT_FUNC\n" -"PyInit_keywdarg(void)\n" -"{\n" -" return PyModule_Create(&keywdargmodule);\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:811 -msgid "Building Arbitrary Values" -msgstr "" - -#: ../../extending/extending.rst:813 -msgid "" -"This function is the counterpart to :c:func:`PyArg_ParseTuple`. It is " -"declared as follows::" -msgstr "" - -#: ../../extending/extending.rst:816 -msgid "PyObject *Py_BuildValue(const char *format, ...);" -msgstr "" - -#: ../../extending/extending.rst:818 -msgid "" -"It recognizes a set of format units similar to the ones recognized by " -":c:func:`PyArg_ParseTuple`, but the arguments (which are input to the " -"function, not output) must not be pointers, just values. It returns a new " -"Python object, suitable for returning from a C function called from Python." -msgstr "" - -#: ../../extending/extending.rst:823 -msgid "" -"One difference with :c:func:`PyArg_ParseTuple`: while the latter requires " -"its first argument to be a tuple (since Python argument lists are always " -"represented as tuples internally), :c:func:`Py_BuildValue` does not always " -"build a tuple. It builds a tuple only if its format string contains two or " -"more format units. If the format string is empty, it returns ``None``; if it" -" contains exactly one format unit, it returns whatever object is described " -"by that format unit. To force it to return a tuple of size 0 or one, " -"parenthesize the format string." -msgstr "" - -#: ../../extending/extending.rst:831 -msgid "" -"Examples (to the left the call, to the right the resulting Python value):" -msgstr "" - -#: ../../extending/extending.rst:833 -msgid "" -"Py_BuildValue(\"\") None\n" -"Py_BuildValue(\"i\", 123) 123\n" -"Py_BuildValue(\"iii\", 123, 456, 789) (123, 456, 789)\n" -"Py_BuildValue(\"s\", \"hello\") 'hello'\n" -"Py_BuildValue(\"y\", \"hello\") b'hello'\n" -"Py_BuildValue(\"ss\", \"hello\", \"world\") ('hello', 'world')\n" -"Py_BuildValue(\"s#\", \"hello\", 4) 'hell'\n" -"Py_BuildValue(\"y#\", \"hello\", 4) b'hell'\n" -"Py_BuildValue(\"()\") ()\n" -"Py_BuildValue(\"(i)\", 123) (123,)\n" -"Py_BuildValue(\"(ii)\", 123, 456) (123, 456)\n" -"Py_BuildValue(\"(i,i)\", 123, 456) (123, 456)\n" -"Py_BuildValue(\"[i,i]\", 123, 456) [123, 456]\n" -"Py_BuildValue(\"{s:i,s:i}\",\n" -" \"abc\", 123, \"def\", 456) {'abc': 123, 'def': 456}\n" -"Py_BuildValue(\"((ii)(ii)) (ii)\",\n" -" 1, 2, 3, 4, 5, 6) (((1, 2), (3, 4)), (5, 6))" -msgstr "" - -#: ../../extending/extending.rst:857 -msgid "Reference Counts" -msgstr "" - -#: ../../extending/extending.rst:859 -msgid "" -"In languages like C or C++, the programmer is responsible for dynamic " -"allocation and deallocation of memory on the heap. In C, this is done using" -" the functions :c:func:`malloc` and :c:func:`free`. In C++, the operators " -"``new`` and ``delete`` are used with essentially the same meaning and we'll " -"restrict the following discussion to the C case." -msgstr "" - -#: ../../extending/extending.rst:865 -msgid "" -"Every block of memory allocated with :c:func:`malloc` should eventually be " -"returned to the pool of available memory by exactly one call to " -":c:func:`free`. It is important to call :c:func:`free` at the right time. " -"If a block's address is forgotten but :c:func:`free` is not called for it, " -"the memory it occupies cannot be reused until the program terminates. This " -"is called a :dfn:`memory leak`. On the other hand, if a program calls " -":c:func:`free` for a block and then continues to use the block, it creates a" -" conflict with reuse of the block through another :c:func:`malloc` call. " -"This is called :dfn:`using freed memory`. It has the same bad consequences " -"as referencing uninitialized data --- core dumps, wrong results, mysterious " -"crashes." -msgstr "" - -#: ../../extending/extending.rst:876 -msgid "" -"Common causes of memory leaks are unusual paths through the code. For " -"instance, a function may allocate a block of memory, do some calculation, " -"and then free the block again. Now a change in the requirements for the " -"function may add a test to the calculation that detects an error condition " -"and can return prematurely from the function. It's easy to forget to free " -"the allocated memory block when taking this premature exit, especially when " -"it is added later to the code. Such leaks, once introduced, often go " -"undetected for a long time: the error exit is taken only in a small fraction" -" of all calls, and most modern machines have plenty of virtual memory, so " -"the leak only becomes apparent in a long-running process that uses the " -"leaking function frequently. Therefore, it's important to prevent leaks " -"from happening by having a coding convention or strategy that minimizes this" -" kind of errors." -msgstr "" - -#: ../../extending/extending.rst:889 -msgid "" -"Since Python makes heavy use of :c:func:`malloc` and :c:func:`free`, it " -"needs a strategy to avoid memory leaks as well as the use of freed memory. " -"The chosen method is called :dfn:`reference counting`. The principle is " -"simple: every object contains a counter, which is incremented when a " -"reference to the object is stored somewhere, and which is decremented when a" -" reference to it is deleted. When the counter reaches zero, the last " -"reference to the object has been deleted and the object is freed." -msgstr "" - -#: ../../extending/extending.rst:897 -msgid "" -"An alternative strategy is called :dfn:`automatic garbage collection`. " -"(Sometimes, reference counting is also referred to as a garbage collection " -"strategy, hence my use of \"automatic\" to distinguish the two.) The big " -"advantage of automatic garbage collection is that the user doesn't need to " -"call :c:func:`free` explicitly. (Another claimed advantage is an " -"improvement in speed or memory usage --- this is no hard fact however.) The" -" disadvantage is that for C, there is no truly portable automatic garbage " -"collector, while reference counting can be implemented portably (as long as " -"the functions :c:func:`malloc` and :c:func:`free` are available --- which " -"the C Standard guarantees). Maybe some day a sufficiently portable automatic" -" garbage collector will be available for C. Until then, we'll have to live " -"with reference counts." -msgstr "" - -#: ../../extending/extending.rst:909 -msgid "" -"While Python uses the traditional reference counting implementation, it also" -" offers a cycle detector that works to detect reference cycles. This allows" -" applications to not worry about creating direct or indirect circular " -"references; these are the weakness of garbage collection implemented using " -"only reference counting. Reference cycles consist of objects which contain " -"(possibly indirect) references to themselves, so that each object in the " -"cycle has a reference count which is non-zero. Typical reference counting " -"implementations are not able to reclaim the memory belonging to any objects " -"in a reference cycle, or referenced from the objects in the cycle, even " -"though there are no further references to the cycle itself." -msgstr "" - -#: ../../extending/extending.rst:920 -msgid "" -"The cycle detector is able to detect garbage cycles and can reclaim them. " -"The :mod:`gc` module exposes a way to run the detector (the " -":func:`~gc.collect` function), as well as configuration interfaces and the " -"ability to disable the detector at runtime." -msgstr "" - -#: ../../extending/extending.rst:929 -msgid "Reference Counting in Python" -msgstr "" - -#: ../../extending/extending.rst:931 -msgid "" -"There are two macros, ``Py_INCREF(x)`` and ``Py_DECREF(x)``, which handle " -"the incrementing and decrementing of the reference count. " -":c:func:`Py_DECREF` also frees the object when the count reaches zero. For " -"flexibility, it doesn't call :c:func:`free` directly --- rather, it makes a " -"call through a function pointer in the object's :dfn:`type object`. For " -"this purpose (and others), every object also contains a pointer to its type " -"object." -msgstr "" - -#: ../../extending/extending.rst:938 -msgid "" -"The big question now remains: when to use ``Py_INCREF(x)`` and " -"``Py_DECREF(x)``? Let's first introduce some terms. Nobody \"owns\" an " -"object; however, you can :dfn:`own a reference` to an object. An object's " -"reference count is now defined as the number of owned references to it. The" -" owner of a reference is responsible for calling :c:func:`Py_DECREF` when " -"the reference is no longer needed. Ownership of a reference can be " -"transferred. There are three ways to dispose of an owned reference: pass it" -" on, store it, or call :c:func:`Py_DECREF`. Forgetting to dispose of an " -"owned reference creates a memory leak." -msgstr "" - -#: ../../extending/extending.rst:947 -msgid "" -"It is also possible to :dfn:`borrow` [#]_ a reference to an object. The " -"borrower of a reference should not call :c:func:`Py_DECREF`. The borrower " -"must not hold on to the object longer than the owner from which it was " -"borrowed. Using a borrowed reference after the owner has disposed of it " -"risks using freed memory and should be avoided completely [#]_." -msgstr "" - -#: ../../extending/extending.rst:953 -msgid "" -"The advantage of borrowing over owning a reference is that you don't need to" -" take care of disposing of the reference on all possible paths through the " -"code --- in other words, with a borrowed reference you don't run the risk of" -" leaking when a premature exit is taken. The disadvantage of borrowing over" -" owning is that there are some subtle situations where in seemingly correct " -"code a borrowed reference can be used after the owner from which it was " -"borrowed has in fact disposed of it." -msgstr "" - -#: ../../extending/extending.rst:961 -msgid "" -"A borrowed reference can be changed into an owned reference by calling " -":c:func:`Py_INCREF`. This does not affect the status of the owner from " -"which the reference was borrowed --- it creates a new owned reference, and " -"gives full owner responsibilities (the new owner must dispose of the " -"reference properly, as well as the previous owner)." -msgstr "" - -#: ../../extending/extending.rst:971 -msgid "Ownership Rules" -msgstr "" - -#: ../../extending/extending.rst:973 -msgid "" -"Whenever an object reference is passed into or out of a function, it is part" -" of the function's interface specification whether ownership is transferred " -"with the reference or not." -msgstr "" - -#: ../../extending/extending.rst:977 -msgid "" -"Most functions that return a reference to an object pass on ownership with " -"the reference. In particular, all functions whose function it is to create " -"a new object, such as :c:func:`PyLong_FromLong` and :c:func:`Py_BuildValue`," -" pass ownership to the receiver. Even if the object is not actually new, " -"you still receive ownership of a new reference to that object. For " -"instance, :c:func:`PyLong_FromLong` maintains a cache of popular values and " -"can return a reference to a cached item." -msgstr "" - -#: ../../extending/extending.rst:985 -msgid "" -"Many functions that extract objects from other objects also transfer " -"ownership with the reference, for instance :c:func:`PyObject_GetAttrString`." -" The picture is less clear, here, however, since a few common routines are " -"exceptions: :c:func:`PyTuple_GetItem`, :c:func:`PyList_GetItem`, " -":c:func:`PyDict_GetItem`, and :c:func:`PyDict_GetItemString` all return " -"references that you borrow from the tuple, list or dictionary." -msgstr "" - -#: ../../extending/extending.rst:992 -msgid "" -"The function :c:func:`PyImport_AddModule` also returns a borrowed reference," -" even though it may actually create the object it returns: this is possible " -"because an owned reference to the object is stored in ``sys.modules``." -msgstr "" - -#: ../../extending/extending.rst:996 -msgid "" -"When you pass an object reference into another function, in general, the " -"function borrows the reference from you --- if it needs to store it, it will" -" use :c:func:`Py_INCREF` to become an independent owner. There are exactly " -"two important exceptions to this rule: :c:func:`PyTuple_SetItem` and " -":c:func:`PyList_SetItem`. These functions take over ownership of the item " -"passed to them --- even if they fail! (Note that :c:func:`PyDict_SetItem` " -"and friends don't take over ownership --- they are \"normal.\")" -msgstr "" - -#: ../../extending/extending.rst:1004 -msgid "" -"When a C function is called from Python, it borrows references to its " -"arguments from the caller. The caller owns a reference to the object, so " -"the borrowed reference's lifetime is guaranteed until the function returns." -" Only when such a borrowed reference must be stored or passed on, it must " -"be turned into an owned reference by calling :c:func:`Py_INCREF`." -msgstr "" - -#: ../../extending/extending.rst:1010 -msgid "" -"The object reference returned from a C function that is called from Python " -"must be an owned reference --- ownership is transferred from the function to" -" its caller." -msgstr "" - -#: ../../extending/extending.rst:1018 -msgid "Thin Ice" -msgstr "" - -#: ../../extending/extending.rst:1020 -msgid "" -"There are a few situations where seemingly harmless use of a borrowed " -"reference can lead to problems. These all have to do with implicit " -"invocations of the interpreter, which can cause the owner of a reference to " -"dispose of it." -msgstr "" - -#: ../../extending/extending.rst:1024 -msgid "" -"The first and most important case to know about is using :c:func:`Py_DECREF`" -" on an unrelated object while borrowing a reference to a list item. For " -"instance::" -msgstr "" - -#: ../../extending/extending.rst:1027 -msgid "" -"void\n" -"bug(PyObject *list)\n" -"{\n" -" PyObject *item = PyList_GetItem(list, 0);\n" -"\n" -" PyList_SetItem(list, 1, PyLong_FromLong(0L));\n" -" PyObject_Print(item, stdout, 0); /* BUG! */\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:1036 -msgid "" -"This function first borrows a reference to ``list[0]``, then replaces " -"``list[1]`` with the value ``0``, and finally prints the borrowed reference." -" Looks harmless, right? But it's not!" -msgstr "" - -#: ../../extending/extending.rst:1040 -msgid "" -"Let's follow the control flow into :c:func:`PyList_SetItem`. The list owns " -"references to all its items, so when item 1 is replaced, it has to dispose " -"of the original item 1. Now let's suppose the original item 1 was an " -"instance of a user-defined class, and let's further suppose that the class " -"defined a :meth:`!__del__` method. If this class instance has a reference " -"count of 1, disposing of it will call its :meth:`!__del__` method." -msgstr "" - -#: ../../extending/extending.rst:1047 -msgid "" -"Since it is written in Python, the :meth:`!__del__` method can execute " -"arbitrary Python code. Could it perhaps do something to invalidate the " -"reference to ``item`` in :c:func:`!bug`? You bet! Assuming that the list " -"passed into :c:func:`!bug` is accessible to the :meth:`!__del__` method, it " -"could execute a statement to the effect of ``del list[0]``, and assuming " -"this was the last reference to that object, it would free the memory " -"associated with it, thereby invalidating ``item``." -msgstr "" - -#: ../../extending/extending.rst:1055 -msgid "" -"The solution, once you know the source of the problem, is easy: temporarily " -"increment the reference count. The correct version of the function reads::" -msgstr "" - -#: ../../extending/extending.rst:1058 -msgid "" -"void\n" -"no_bug(PyObject *list)\n" -"{\n" -" PyObject *item = PyList_GetItem(list, 0);\n" -"\n" -" Py_INCREF(item);\n" -" PyList_SetItem(list, 1, PyLong_FromLong(0L));\n" -" PyObject_Print(item, stdout, 0);\n" -" Py_DECREF(item);\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:1069 -msgid "" -"This is a true story. An older version of Python contained variants of this" -" bug and someone spent a considerable amount of time in a C debugger to " -"figure out why his :meth:`!__del__` methods would fail..." -msgstr "" - -#: ../../extending/extending.rst:1073 -msgid "" -"The second case of problems with a borrowed reference is a variant involving" -" threads. Normally, multiple threads in the Python interpreter can't get in" -" each other's way, because there is a global lock protecting Python's entire" -" object space. However, it is possible to temporarily release this lock " -"using the macro :c:macro:`Py_BEGIN_ALLOW_THREADS`, and to re-acquire it " -"using :c:macro:`Py_END_ALLOW_THREADS`. This is common around blocking I/O " -"calls, to let other threads use the processor while waiting for the I/O to " -"complete. Obviously, the following function has the same problem as the " -"previous one::" -msgstr "" - -#: ../../extending/extending.rst:1082 -msgid "" -"void\n" -"bug(PyObject *list)\n" -"{\n" -" PyObject *item = PyList_GetItem(list, 0);\n" -" Py_BEGIN_ALLOW_THREADS\n" -" ...some blocking I/O call...\n" -" Py_END_ALLOW_THREADS\n" -" PyObject_Print(item, stdout, 0); /* BUG! */\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:1096 -msgid "NULL Pointers" -msgstr "" - -#: ../../extending/extending.rst:1098 -msgid "" -"In general, functions that take object references as arguments do not expect" -" you to pass them ``NULL`` pointers, and will dump core (or cause later core" -" dumps) if you do so. Functions that return object references generally " -"return ``NULL`` only to indicate that an exception occurred. The reason for" -" not testing for ``NULL`` arguments is that functions often pass the objects" -" they receive on to other function --- if each function were to test for " -"``NULL``, there would be a lot of redundant tests and the code would run " -"more slowly." -msgstr "" - -#: ../../extending/extending.rst:1106 -msgid "" -"It is better to test for ``NULL`` only at the \"source:\" when a pointer " -"that may be ``NULL`` is received, for example, from :c:func:`malloc` or from" -" a function that may raise an exception." -msgstr "" - -#: ../../extending/extending.rst:1110 -msgid "" -"The macros :c:func:`Py_INCREF` and :c:func:`Py_DECREF` do not check for " -"``NULL`` pointers --- however, their variants :c:func:`Py_XINCREF` and " -":c:func:`Py_XDECREF` do." -msgstr "" - -#: ../../extending/extending.rst:1114 -msgid "" -"The macros for checking for a particular object type (``Pytype_Check()``) " -"don't check for ``NULL`` pointers --- again, there is much code that calls " -"several of these in a row to test an object against various different " -"expected types, and this would generate redundant tests. There are no " -"variants with ``NULL`` checking." -msgstr "" - -#: ../../extending/extending.rst:1120 -msgid "" -"The C function calling mechanism guarantees that the argument list passed to" -" C functions (``args`` in the examples) is never ``NULL`` --- in fact it " -"guarantees that it is always a tuple [#]_." -msgstr "" - -#: ../../extending/extending.rst:1124 -msgid "" -"It is a severe error to ever let a ``NULL`` pointer \"escape\" to the Python" -" user." -msgstr "" - -#: ../../extending/extending.rst:1135 -msgid "Writing Extensions in C++" -msgstr "" - -#: ../../extending/extending.rst:1137 -msgid "" -"It is possible to write extension modules in C++. Some restrictions apply." -" If the main program (the Python interpreter) is compiled and linked by the" -" C compiler, global or static objects with constructors cannot be used. " -"This is not a problem if the main program is linked by the C++ compiler. " -"Functions that will be called by the Python interpreter (in particular, " -"module initialization functions) have to be declared using ``extern \"C\"``." -" It is unnecessary to enclose the Python header files in ``extern \"C\" " -"{...}`` --- they use this form already if the symbol ``__cplusplus`` is " -"defined (all recent C++ compilers define this symbol)." -msgstr "" - -#: ../../extending/extending.rst:1151 -msgid "Providing a C API for an Extension Module" -msgstr "" - -#: ../../extending/extending.rst:1156 -msgid "" -"Many extension modules just provide new functions and types to be used from " -"Python, but sometimes the code in an extension module can be useful for " -"other extension modules. For example, an extension module could implement a " -"type \"collection\" which works like lists without order. Just like the " -"standard Python list type has a C API which permits extension modules to " -"create and manipulate lists, this new collection type should have a set of C" -" functions for direct manipulation from other extension modules." -msgstr "" - -#: ../../extending/extending.rst:1164 -msgid "" -"At first sight this seems easy: just write the functions (without declaring " -"them ``static``, of course), provide an appropriate header file, and " -"document the C API. And in fact this would work if all extension modules " -"were always linked statically with the Python interpreter. When modules are " -"used as shared libraries, however, the symbols defined in one module may not" -" be visible to another module. The details of visibility depend on the " -"operating system; some systems use one global namespace for the Python " -"interpreter and all extension modules (Windows, for example), whereas others" -" require an explicit list of imported symbols at module link time (AIX is " -"one example), or offer a choice of different strategies (most Unices). And " -"even if symbols are globally visible, the module whose functions one wishes " -"to call might not have been loaded yet!" -msgstr "" - -#: ../../extending/extending.rst:1176 -msgid "" -"Portability therefore requires not to make any assumptions about symbol " -"visibility. This means that all symbols in extension modules should be " -"declared ``static``, except for the module's initialization function, in " -"order to avoid name clashes with other extension modules (as discussed in " -"section :ref:`methodtable`). And it means that symbols that *should* be " -"accessible from other extension modules must be exported in a different way." -msgstr "" - -#: ../../extending/extending.rst:1183 -msgid "" -"Python provides a special mechanism to pass C-level information (pointers) " -"from one extension module to another one: Capsules. A Capsule is a Python " -"data type which stores a pointer (:c:expr:`void \\*`). Capsules can only be" -" created and accessed via their C API, but they can be passed around like " -"any other Python object. In particular, they can be assigned to a name in " -"an extension module's namespace. Other extension modules can then import " -"this module, retrieve the value of this name, and then retrieve the pointer " -"from the Capsule." -msgstr "" - -#: ../../extending/extending.rst:1191 -msgid "" -"There are many ways in which Capsules can be used to export the C API of an " -"extension module. Each function could get its own Capsule, or all C API " -"pointers could be stored in an array whose address is published in a " -"Capsule. And the various tasks of storing and retrieving the pointers can be" -" distributed in different ways between the module providing the code and the" -" client modules." -msgstr "" - -#: ../../extending/extending.rst:1197 -msgid "" -"Whichever method you choose, it's important to name your Capsules properly. " -"The function :c:func:`PyCapsule_New` takes a name parameter (:c:expr:`const " -"char \\*`); you're permitted to pass in a ``NULL`` name, but we strongly " -"encourage you to specify a name. Properly named Capsules provide a degree " -"of runtime type-safety; there is no feasible way to tell one unnamed Capsule" -" from another." -msgstr "" - -#: ../../extending/extending.rst:1204 -msgid "" -"In particular, Capsules used to expose C APIs should be given a name " -"following this convention::" -msgstr "" - -#: ../../extending/extending.rst:1207 -msgid "modulename.attributename" -msgstr "" - -#: ../../extending/extending.rst:1209 -msgid "" -"The convenience function :c:func:`PyCapsule_Import` makes it easy to load a " -"C API provided via a Capsule, but only if the Capsule's name matches this " -"convention. This behavior gives C API users a high degree of certainty that" -" the Capsule they load contains the correct C API." -msgstr "" - -#: ../../extending/extending.rst:1214 -msgid "" -"The following example demonstrates an approach that puts most of the burden " -"on the writer of the exporting module, which is appropriate for commonly " -"used library modules. It stores all C API pointers (just one in the " -"example!) in an array of :c:expr:`void` pointers which becomes the value of " -"a Capsule. The header file corresponding to the module provides a macro that" -" takes care of importing the module and retrieving its C API pointers; " -"client modules only have to call this macro before accessing the C API." -msgstr "" - -#: ../../extending/extending.rst:1222 -msgid "" -"The exporting module is a modification of the :mod:`!spam` module from " -"section :ref:`extending-simpleexample`. The function :func:`!spam.system` " -"does not call the C library function :c:func:`system` directly, but a " -"function :c:func:`!PySpam_System`, which would of course do something more " -"complicated in reality (such as adding \"spam\" to every command). This " -"function :c:func:`!PySpam_System` is also exported to other extension " -"modules." -msgstr "" - -#: ../../extending/extending.rst:1229 -msgid "" -"The function :c:func:`!PySpam_System` is a plain C function, declared " -"``static`` like everything else::" -msgstr "" - -#: ../../extending/extending.rst:1232 -msgid "" -"static int\n" -"PySpam_System(const char *command)\n" -"{\n" -" return system(command);\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:1238 -msgid "The function :c:func:`!spam_system` is modified in a trivial way::" -msgstr "" - -#: ../../extending/extending.rst:1240 -msgid "" -"static PyObject *\n" -"spam_system(PyObject *self, PyObject *args)\n" -"{\n" -" const char *command;\n" -" int sts;\n" -"\n" -" if (!PyArg_ParseTuple(args, \"s\", &command))\n" -" return NULL;\n" -" sts = PySpam_System(command);\n" -" return PyLong_FromLong(sts);\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:1252 -msgid "In the beginning of the module, right after the line ::" -msgstr "" - -#: ../../extending/extending.rst:1254 -msgid "#include " -msgstr "" - -#: ../../extending/extending.rst:1256 -msgid "two more lines must be added::" -msgstr "" - -#: ../../extending/extending.rst:1258 -msgid "" -"#define SPAM_MODULE\n" -"#include \"spammodule.h\"" -msgstr "" - -#: ../../extending/extending.rst:1261 -msgid "" -"The ``#define`` is used to tell the header file that it is being included in" -" the exporting module, not a client module. Finally, the module's " -"initialization function must take care of initializing the C API pointer " -"array::" -msgstr "" - -#: ../../extending/extending.rst:1265 -msgid "" -"PyMODINIT_FUNC\n" -"PyInit_spam(void)\n" -"{\n" -" PyObject *m;\n" -" static void *PySpam_API[PySpam_API_pointers];\n" -" PyObject *c_api_object;\n" -"\n" -" m = PyModule_Create(&spammodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" -" /* Initialize the C API pointer array */\n" -" PySpam_API[PySpam_System_NUM] = (void *)PySpam_System;\n" -"\n" -" /* Create a Capsule containing the API pointer array's address */\n" -" c_api_object = PyCapsule_New((void *)PySpam_API, \"spam._C_API\", NULL);\n" -"\n" -" if (PyModule_Add(m, \"_C_API\", c_api_object) < 0) {\n" -" Py_DECREF(m);\n" -" return NULL;\n" -" }\n" -"\n" -" return m;\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:1290 -msgid "" -"Note that ``PySpam_API`` is declared ``static``; otherwise the pointer array" -" would disappear when :c:func:`!PyInit_spam` terminates!" -msgstr "" - -#: ../../extending/extending.rst:1293 -msgid "" -"The bulk of the work is in the header file :file:`spammodule.h`, which looks" -" like this::" -msgstr "" - -#: ../../extending/extending.rst:1296 -msgid "" -"#ifndef Py_SPAMMODULE_H\n" -"#define Py_SPAMMODULE_H\n" -"#ifdef __cplusplus\n" -"extern \"C\" {\n" -"#endif\n" -"\n" -"/* Header file for spammodule */\n" -"\n" -"/* C API functions */\n" -"#define PySpam_System_NUM 0\n" -"#define PySpam_System_RETURN int\n" -"#define PySpam_System_PROTO (const char *command)\n" -"\n" -"/* Total number of C API pointers */\n" -"#define PySpam_API_pointers 1\n" -"\n" -"\n" -"#ifdef SPAM_MODULE\n" -"/* This section is used when compiling spammodule.c */\n" -"\n" -"static PySpam_System_RETURN PySpam_System PySpam_System_PROTO;\n" -"\n" -"#else\n" -"/* This section is used in modules that use spammodule's API */\n" -"\n" -"static void **PySpam_API;\n" -"\n" -"#define PySpam_System \\\n" -" (*(PySpam_System_RETURN (*)PySpam_System_PROTO) PySpam_API[PySpam_System_NUM])\n" -"\n" -"/* Return -1 on error, 0 on success.\n" -" * PyCapsule_Import will set an exception if there's an error.\n" -" */\n" -"static int\n" -"import_spam(void)\n" -"{\n" -" PySpam_API = (void **)PyCapsule_Import(\"spam._C_API\", 0);\n" -" return (PySpam_API != NULL) ? 0 : -1;\n" -"}\n" -"\n" -"#endif\n" -"\n" -"#ifdef __cplusplus\n" -"}\n" -"#endif\n" -"\n" -"#endif /* !defined(Py_SPAMMODULE_H) */" -msgstr "" - -#: ../../extending/extending.rst:1344 -msgid "" -"All that a client module must do in order to have access to the function " -":c:func:`!PySpam_System` is to call the function (or rather macro) " -":c:func:`!import_spam` in its initialization function::" -msgstr "" - -#: ../../extending/extending.rst:1348 -msgid "" -"PyMODINIT_FUNC\n" -"PyInit_client(void)\n" -"{\n" -" PyObject *m;\n" -"\n" -" m = PyModule_Create(&clientmodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -" if (import_spam() < 0)\n" -" return NULL;\n" -" /* additional initialization can happen here */\n" -" return m;\n" -"}" -msgstr "" - -#: ../../extending/extending.rst:1362 -msgid "" -"The main disadvantage of this approach is that the file :file:`spammodule.h`" -" is rather complicated. However, the basic structure is the same for each " -"function that is exported, so it has to be learned only once." -msgstr "" - -#: ../../extending/extending.rst:1366 -msgid "" -"Finally it should be mentioned that Capsules offer additional functionality," -" which is especially useful for memory allocation and deallocation of the " -"pointer stored in a Capsule. The details are described in the Python/C API " -"Reference Manual in the section :ref:`capsules` and in the implementation of" -" Capsules (files :file:`Include/pycapsule.h` and :file:`Objects/pycapsule.c`" -" in the Python source code distribution)." -msgstr "" - -#: ../../extending/extending.rst:1374 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../extending/extending.rst:1375 -msgid "" -"An interface for this function already exists in the standard module " -":mod:`os` --- it was chosen as a simple and straightforward example." -msgstr "" - -#: ../../extending/extending.rst:1378 -msgid "" -"The metaphor of \"borrowing\" a reference is not completely correct: the " -"owner still has a copy of the reference." -msgstr "" - -#: ../../extending/extending.rst:1381 -msgid "" -"Checking that the reference count is at least 1 **does not work** --- the " -"reference count itself could be in freed memory and may thus be reused for " -"another object!" -msgstr "" - -#: ../../extending/extending.rst:1385 -msgid "" -"These guarantees don't hold when you use the \"old\" style calling " -"convention --- this is still found in much existing code." -msgstr "" - -#: ../../extending/extending.rst:550 -msgid "PyObject_CallObject (C function)" -msgstr "" - -#: ../../extending/extending.rst:641 -msgid "PyArg_ParseTuple (C function)" -msgstr "" - -#: ../../extending/extending.rst:733 -msgid "PyArg_ParseTupleAndKeywords (C function)" -msgstr "" - -#: ../../extending/extending.rst:754 -msgid "Philbrick, Geoff" -msgstr "" diff --git a/python-newest.extending--index/id.po b/python-newest.extending--index/id.po deleted file mode 100644 index 180c358..0000000 --- a/python-newest.extending--index/id.po +++ /dev/null @@ -1,132 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../extending/index.rst:5 -msgid "Extending and Embedding the Python Interpreter" -msgstr "Memperluas dan Menggabungkan Interpreter Python" - -#: ../../extending/index.rst:7 -msgid "" -"This document describes how to write modules in C or C++ to extend the " -"Python interpreter with new modules. Those modules can not only define new " -"functions but also new object types and their methods. The document also " -"describes how to embed the Python interpreter in another application, for " -"use as an extension language. Finally, it shows how to compile and link " -"extension modules so that they can be loaded dynamically (at run time) into " -"the interpreter, if the underlying operating system supports this feature." -msgstr "" -"Dokumen ini menjelaskan cara menulis modul dalam C atau C++ untuk memperluas" -" interpreter Python dengan modul baru. Modul-modul itu tidak hanya dapat " -"mendefinisikan fungsi baru tetapi juga jenis objek baru dan metode mereka. " -"Dokumen ini juga menjelaskan cara menanamkan interpreter Python di aplikasi " -"lain, untuk digunakan sebagai ekstensi bahasa. Akhirnya, ini menunjukkan " -"bagaimana mengkompilasi dan menautkan modul ekstensi sehingga mereka dapat " -"dimuat secara dinamis (pada saat *run time*) ke dalam interpreter, jika " -"sistem operasi yang mendasarinya mendukung fitur ini." - -#: ../../extending/index.rst:15 -msgid "" -"This document assumes basic knowledge about Python. For an informal " -"introduction to the language, see :ref:`tutorial-index`. :ref:`reference-" -"index` gives a more formal definition of the language. :ref:`library-index`" -" documents the existing object types, functions and modules (both built-in " -"and written in Python) that give the language its wide application range." -msgstr "" -"Dokumen ini mengasumsikan pengetahuan dasar tentang Python. Untuk pengantar " -"informal ke bahasa, lihat :ref:`tutorial-index`. :ref:`reference-index` " -"memberikan definisi bahasa yang lebih formal. :ref:`library-index` " -"mendokumentasikan jenis objek, fungsi, dan modul yang ada (baik bawaan dan " -"ditulis dengan Python) yang memberikan rentang penggunaan aplikasi yang luas" -" terhadap bahasa tersebut." - -#: ../../extending/index.rst:21 -msgid "" -"For a detailed description of the whole Python/C API, see the separate " -":ref:`c-api-index`." -msgstr "" -"Untuk deskripsi terperinci dari keseluruhan API Python/C, lihat bagian " -"terpisah :ref:`c-api-index`." - -#: ../../extending/index.rst:26 -msgid "Recommended third party tools" -msgstr "Alat pihak ketiga yang direkomendasikan" - -#: ../../extending/index.rst:28 -msgid "" -"This guide only covers the basic tools for creating extensions provided as " -"part of this version of CPython. Third party tools like `Cython " -"`_, `cffi `_, `SWIG " -"`_ and `Numba `_ offer both" -" simpler and more sophisticated approaches to creating C and C++ extensions " -"for Python." -msgstr "" - -#: ../../extending/index.rst:37 -msgid "" -"`Python Packaging User Guide: Binary Extensions " -"`_" -msgstr "" -"`Panduan Pengguna Pengemasan Python: Ekstensi Biner " -"`_" - -#: ../../extending/index.rst:38 -msgid "" -"The Python Packaging User Guide not only covers several available tools that" -" simplify the creation of binary extensions, but also discusses the various " -"reasons why creating an extension module may be desirable in the first " -"place." -msgstr "" -"Panduan Pengguna Pengemasan Python tidak hanya mencakup beberapa alat yang " -"tersedia yang menyederhanakan pembuatan ekstensi biner, tetapi juga membahas" -" berbagai alasan mengapa membuat modul ekstensi mungkin diinginkan di awal." - -#: ../../extending/index.rst:45 -msgid "Creating extensions without third party tools" -msgstr "Membuat ekstensi tanpa alat pihak ketiga" - -#: ../../extending/index.rst:47 -msgid "" -"This section of the guide covers creating C and C++ extensions without " -"assistance from third party tools. It is intended primarily for creators of " -"those tools, rather than being a recommended way to create your own C " -"extensions." -msgstr "" -"Bagian panduan ini mencakup pembuatan ekstensi C dan C++ tanpa bantuan dari " -"alat pihak ketiga. Ini dimaksudkan terutama untuk pembuat alat-alat itu, " -"daripada menjadi cara yang disarankan untuk membuat ekstensi C Anda sendiri." - -#: ../../extending/index.rst:63 -msgid "Embedding the CPython runtime in a larger application" -msgstr "Menggabungkan runtime CPython di aplikasi yang lebih besar" - -#: ../../extending/index.rst:65 -msgid "" -"Sometimes, rather than creating an extension that runs inside the Python " -"interpreter as the main application, it is desirable to instead embed the " -"CPython runtime inside a larger application. This section covers some of the" -" details involved in doing that successfully." -msgstr "" -"Terkadang, alih-alih membuat ekstensi yang berjalan di dalam interpreter " -"Python sebagai aplikasi utama, lebih baik menanamkan runtime CPython di " -"dalam aplikasi yang lebih besar. Bagian ini mencakup beberapa detail yang " -"terlibat dalam melakukan hal itu dengan sukses." diff --git a/python-newest.extending--newtypes/id.po b/python-newest.extending--newtypes/id.po deleted file mode 100644 index 6d5b4f3..0000000 --- a/python-newest.extending--newtypes/id.po +++ /dev/null @@ -1,1017 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../extending/newtypes.rst:7 -msgid "Defining Extension Types: Assorted Topics" -msgstr "" - -#: ../../extending/newtypes.rst:11 -msgid "" -"This section aims to give a quick fly-by on the various type methods you can" -" implement and what they do." -msgstr "" - -#: ../../extending/newtypes.rst:14 -msgid "" -"Here is the definition of :c:type:`PyTypeObject`, with some fields only used" -" in :ref:`debug builds ` omitted:" -msgstr "" - -#: ../../extending/newtypes.rst:17 -msgid "" -"typedef struct _typeobject {\n" -" PyObject_VAR_HEAD\n" -" const char *tp_name; /* For printing, in format \".\" */\n" -" Py_ssize_t tp_basicsize, tp_itemsize; /* For allocation */\n" -"\n" -" /* Methods to implement standard operations */\n" -"\n" -" destructor tp_dealloc;\n" -" Py_ssize_t tp_vectorcall_offset;\n" -" getattrfunc tp_getattr;\n" -" setattrfunc tp_setattr;\n" -" PyAsyncMethods *tp_as_async; /* formerly known as tp_compare (Python 2)\n" -" or tp_reserved (Python 3) */\n" -" reprfunc tp_repr;\n" -"\n" -" /* Method suites for standard classes */\n" -"\n" -" PyNumberMethods *tp_as_number;\n" -" PySequenceMethods *tp_as_sequence;\n" -" PyMappingMethods *tp_as_mapping;\n" -"\n" -" /* More standard operations (here for binary compatibility) */\n" -"\n" -" hashfunc tp_hash;\n" -" ternaryfunc tp_call;\n" -" reprfunc tp_str;\n" -" getattrofunc tp_getattro;\n" -" setattrofunc tp_setattro;\n" -"\n" -" /* Functions to access object as input/output buffer */\n" -" PyBufferProcs *tp_as_buffer;\n" -"\n" -" /* Flags to define presence of optional/expanded features */\n" -" unsigned long tp_flags;\n" -"\n" -" const char *tp_doc; /* Documentation string */\n" -"\n" -" /* Assigned meaning in release 2.0 */\n" -" /* call function for all accessible objects */\n" -" traverseproc tp_traverse;\n" -"\n" -" /* delete references to contained objects */\n" -" inquiry tp_clear;\n" -"\n" -" /* Assigned meaning in release 2.1 */\n" -" /* rich comparisons */\n" -" richcmpfunc tp_richcompare;\n" -"\n" -" /* weak reference enabler */\n" -" Py_ssize_t tp_weaklistoffset;\n" -"\n" -" /* Iterators */\n" -" getiterfunc tp_iter;\n" -" iternextfunc tp_iternext;\n" -"\n" -" /* Attribute descriptor and subclassing stuff */\n" -" PyMethodDef *tp_methods;\n" -" PyMemberDef *tp_members;\n" -" PyGetSetDef *tp_getset;\n" -" // Strong reference on a heap type, borrowed reference on a static type\n" -" PyTypeObject *tp_base;\n" -" PyObject *tp_dict;\n" -" descrgetfunc tp_descr_get;\n" -" descrsetfunc tp_descr_set;\n" -" Py_ssize_t tp_dictoffset;\n" -" initproc tp_init;\n" -" allocfunc tp_alloc;\n" -" newfunc tp_new;\n" -" freefunc tp_free; /* Low-level free-memory routine */\n" -" inquiry tp_is_gc; /* For PyObject_IS_GC */\n" -" PyObject *tp_bases;\n" -" PyObject *tp_mro; /* method resolution order */\n" -" PyObject *tp_cache; /* no longer used */\n" -" void *tp_subclasses; /* for static builtin types this is an index */\n" -" PyObject *tp_weaklist; /* not used for static builtin types */\n" -" destructor tp_del;\n" -"\n" -" /* Type attribute cache version tag. Added in version 2.6.\n" -" * If zero, the cache is invalid and must be initialized.\n" -" */\n" -" unsigned int tp_version_tag;\n" -"\n" -" destructor tp_finalize;\n" -" vectorcallfunc tp_vectorcall;\n" -"\n" -" /* bitset of which type-watchers care about this type */\n" -" unsigned char tp_watched;\n" -"\n" -" /* Number of tp_version_tag values used.\n" -" * Set to _Py_ATTR_CACHE_UNUSED if the attribute cache is\n" -" * disabled for this type (e.g. due to custom MRO entries).\n" -" * Otherwise, limited to MAX_VERSIONS_PER_CLASS (defined elsewhere).\n" -" */\n" -" uint16_t tp_versions_used;\n" -"} PyTypeObject;\n" -msgstr "" - -#: ../../extending/newtypes.rst:20 -msgid "" -"Now that's a *lot* of methods. Don't worry too much though -- if you have a" -" type you want to define, the chances are very good that you will only " -"implement a handful of these." -msgstr "" - -#: ../../extending/newtypes.rst:24 -msgid "" -"As you probably expect by now, we're going to go over this and give more " -"information about the various handlers. We won't go in the order they are " -"defined in the structure, because there is a lot of historical baggage that " -"impacts the ordering of the fields. It's often easiest to find an example " -"that includes the fields you need and then change the values to suit your " -"new type. ::" -msgstr "" - -#: ../../extending/newtypes.rst:31 -msgid "const char *tp_name; /* For printing */" -msgstr "" - -#: ../../extending/newtypes.rst:33 -msgid "" -"The name of the type -- as mentioned in the previous chapter, this will " -"appear in various places, almost entirely for diagnostic purposes. Try to " -"choose something that will be helpful in such a situation! ::" -msgstr "" - -#: ../../extending/newtypes.rst:37 -msgid "Py_ssize_t tp_basicsize, tp_itemsize; /* For allocation */" -msgstr "" - -#: ../../extending/newtypes.rst:39 -msgid "" -"These fields tell the runtime how much memory to allocate when new objects " -"of this type are created. Python has some built-in support for variable " -"length structures (think: strings, tuples) which is where the " -":c:member:`~PyTypeObject.tp_itemsize` field comes in. This will be dealt " -"with later. ::" -msgstr "" - -#: ../../extending/newtypes.rst:44 -msgid "const char *tp_doc;" -msgstr "" - -#: ../../extending/newtypes.rst:46 -msgid "" -"Here you can put a string (or its address) that you want returned when the " -"Python script references ``obj.__doc__`` to retrieve the doc string." -msgstr "" - -#: ../../extending/newtypes.rst:49 -msgid "" -"Now we come to the basic type methods -- the ones most extension types will " -"implement." -msgstr "" - -#: ../../extending/newtypes.rst:54 -msgid "Finalization and De-allocation" -msgstr "" - -#: ../../extending/newtypes.rst:64 -msgid "destructor tp_dealloc;" -msgstr "" - -#: ../../extending/newtypes.rst:66 -msgid "" -"This function is called when the reference count of the instance of your " -"type is reduced to zero and the Python interpreter wants to reclaim it. If " -"your type has memory to free or other clean-up to perform, you can put it " -"here. The object itself needs to be freed here as well. Here is an example" -" of this function::" -msgstr "" - -#: ../../extending/newtypes.rst:72 -msgid "" -"static void\n" -"newdatatype_dealloc(PyObject *op)\n" -"{\n" -" newdatatypeobject *self = (newdatatypeobject *) op;\n" -" free(self->obj_UnderlyingDatatypePtr);\n" -" Py_TYPE(self)->tp_free(self);\n" -"}" -msgstr "" - -#: ../../extending/newtypes.rst:80 -msgid "" -"If your type supports garbage collection, the destructor should call " -":c:func:`PyObject_GC_UnTrack` before clearing any member fields::" -msgstr "" - -#: ../../extending/newtypes.rst:83 -msgid "" -"static void\n" -"newdatatype_dealloc(PyObject *op)\n" -"{\n" -" newdatatypeobject *self = (newdatatypeobject *) op;\n" -" PyObject_GC_UnTrack(op);\n" -" Py_CLEAR(self->other_obj);\n" -" ...\n" -" Py_TYPE(self)->tp_free(self);\n" -"}" -msgstr "" - -#: ../../extending/newtypes.rst:97 -msgid "" -"One important requirement of the deallocator function is that it leaves any " -"pending exceptions alone. This is important since deallocators are " -"frequently called as the interpreter unwinds the Python stack; when the " -"stack is unwound due to an exception (rather than normal returns), nothing " -"is done to protect the deallocators from seeing that an exception has " -"already been set. Any actions which a deallocator performs which may cause " -"additional Python code to be executed may detect that an exception has been " -"set. This can lead to misleading errors from the interpreter. The proper " -"way to protect against this is to save a pending exception before performing" -" the unsafe action, and restoring it when done. This can be done using the " -":c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` functions::" -msgstr "" - -#: ../../extending/newtypes.rst:109 -msgid "" -"static void\n" -"my_dealloc(PyObject *obj)\n" -"{\n" -" MyObject *self = (MyObject *) obj;\n" -" PyObject *cbresult;\n" -"\n" -" if (self->my_callback != NULL) {\n" -" PyObject *err_type, *err_value, *err_traceback;\n" -"\n" -" /* This saves the current exception state */\n" -" PyErr_Fetch(&err_type, &err_value, &err_traceback);\n" -"\n" -" cbresult = PyObject_CallNoArgs(self->my_callback);\n" -" if (cbresult == NULL) {\n" -" PyErr_WriteUnraisable(self->my_callback);\n" -" }\n" -" else {\n" -" Py_DECREF(cbresult);\n" -" }\n" -"\n" -" /* This restores the saved exception state */\n" -" PyErr_Restore(err_type, err_value, err_traceback);\n" -"\n" -" Py_DECREF(self->my_callback);\n" -" }\n" -" Py_TYPE(self)->tp_free(self);\n" -"}" -msgstr "" - -#: ../../extending/newtypes.rst:138 -msgid "" -"There are limitations to what you can safely do in a deallocator function. " -"First, if your type supports garbage collection (using " -":c:member:`~PyTypeObject.tp_traverse` and/or " -":c:member:`~PyTypeObject.tp_clear`), some of the object's members can have " -"been cleared or finalized by the time :c:member:`~PyTypeObject.tp_dealloc` " -"is called. Second, in :c:member:`~PyTypeObject.tp_dealloc`, your object is " -"in an unstable state: its reference count is equal to zero. Any call to a " -"non-trivial object or API (as in the example above) might end up calling " -":c:member:`~PyTypeObject.tp_dealloc` again, causing a double free and a " -"crash." -msgstr "" - -#: ../../extending/newtypes.rst:147 -msgid "" -"Starting with Python 3.4, it is recommended not to put any complex " -"finalization code in :c:member:`~PyTypeObject.tp_dealloc`, and instead use " -"the new :c:member:`~PyTypeObject.tp_finalize` type method." -msgstr "" - -#: ../../extending/newtypes.rst:152 -msgid ":pep:`442` explains the new finalization scheme." -msgstr "" - -#: ../../extending/newtypes.rst:159 -msgid "Object Presentation" -msgstr "" - -#: ../../extending/newtypes.rst:161 -msgid "" -"In Python, there are two ways to generate a textual representation of an " -"object: the :func:`repr` function, and the :func:`str` function. (The " -":func:`print` function just calls :func:`str`.) These handlers are both " -"optional." -msgstr "" - -#: ../../extending/newtypes.rst:167 -msgid "" -"reprfunc tp_repr;\n" -"reprfunc tp_str;" -msgstr "" - -#: ../../extending/newtypes.rst:170 -msgid "" -"The :c:member:`~PyTypeObject.tp_repr` handler should return a string object " -"containing a representation of the instance for which it is called. Here is" -" a simple example::" -msgstr "" - -#: ../../extending/newtypes.rst:174 -msgid "" -"static PyObject *\n" -"newdatatype_repr(PyObject *op)\n" -"{\n" -" newdatatypeobject *self = (newdatatypeobject *) op;\n" -" return PyUnicode_FromFormat(\"Repr-ified_newdatatype{{size:%d}}\",\n" -" self->obj_UnderlyingDatatypePtr->size);\n" -"}" -msgstr "" - -#: ../../extending/newtypes.rst:182 -msgid "" -"If no :c:member:`~PyTypeObject.tp_repr` handler is specified, the " -"interpreter will supply a representation that uses the type's " -":c:member:`~PyTypeObject.tp_name` and a uniquely identifying value for the " -"object." -msgstr "" - -#: ../../extending/newtypes.rst:186 -msgid "" -"The :c:member:`~PyTypeObject.tp_str` handler is to :func:`str` what the " -":c:member:`~PyTypeObject.tp_repr` handler described above is to " -":func:`repr`; that is, it is called when Python code calls :func:`str` on an" -" instance of your object. Its implementation is very similar to the " -":c:member:`~PyTypeObject.tp_repr` function, but the resulting string is " -"intended for human consumption. If :c:member:`~PyTypeObject.tp_str` is not " -"specified, the :c:member:`~PyTypeObject.tp_repr` handler is used instead." -msgstr "" - -#: ../../extending/newtypes.rst:193 -msgid "Here is a simple example::" -msgstr "" - -#: ../../extending/newtypes.rst:195 -msgid "" -"static PyObject *\n" -"newdatatype_str(PyObject *op)\n" -"{\n" -" newdatatypeobject *self = (newdatatypeobject *) op;\n" -" return PyUnicode_FromFormat(\"Stringified_newdatatype{{size:%d}}\",\n" -" self->obj_UnderlyingDatatypePtr->size);\n" -"}" -msgstr "" - -#: ../../extending/newtypes.rst:206 -msgid "Attribute Management" -msgstr "" - -#: ../../extending/newtypes.rst:208 -msgid "" -"For every object which can support attributes, the corresponding type must " -"provide the functions that control how the attributes are resolved. There " -"needs to be a function which can retrieve attributes (if any are defined), " -"and another to set attributes (if setting attributes is allowed). Removing " -"an attribute is a special case, for which the new value passed to the " -"handler is ``NULL``." -msgstr "" - -#: ../../extending/newtypes.rst:214 -msgid "" -"Python supports two pairs of attribute handlers; a type that supports " -"attributes only needs to implement the functions for one pair. The " -"difference is that one pair takes the name of the attribute as a " -":c:expr:`char\\*`, while the other accepts a :c:expr:`PyObject*`. Each type" -" can use whichever pair makes more sense for the implementation's " -"convenience. ::" -msgstr "" - -#: ../../extending/newtypes.rst:220 -msgid "" -"getattrfunc tp_getattr; /* char * version */\n" -"setattrfunc tp_setattr;\n" -"/* ... */\n" -"getattrofunc tp_getattro; /* PyObject * version */\n" -"setattrofunc tp_setattro;" -msgstr "" - -#: ../../extending/newtypes.rst:226 -msgid "" -"If accessing attributes of an object is always a simple operation (this will" -" be explained shortly), there are generic implementations which can be used " -"to provide the :c:expr:`PyObject*` version of the attribute management " -"functions. The actual need for type-specific attribute handlers almost " -"completely disappeared starting with Python 2.2, though there are many " -"examples which have not been updated to use some of the new generic " -"mechanism that is available." -msgstr "" - -#: ../../extending/newtypes.rst:237 -msgid "Generic Attribute Management" -msgstr "" - -#: ../../extending/newtypes.rst:239 -msgid "" -"Most extension types only use *simple* attributes. So, what makes the " -"attributes simple? There are only a couple of conditions that must be met:" -msgstr "" - -#: ../../extending/newtypes.rst:242 -msgid "" -"The name of the attributes must be known when :c:func:`PyType_Ready` is " -"called." -msgstr "" - -#: ../../extending/newtypes.rst:245 -msgid "" -"No special processing is needed to record that an attribute was looked up or" -" set, nor do actions need to be taken based on the value." -msgstr "" - -#: ../../extending/newtypes.rst:248 -msgid "" -"Note that this list does not place any restrictions on the values of the " -"attributes, when the values are computed, or how relevant data is stored." -msgstr "" - -#: ../../extending/newtypes.rst:251 -msgid "" -"When :c:func:`PyType_Ready` is called, it uses three tables referenced by " -"the type object to create :term:`descriptor`\\s which are placed in the " -"dictionary of the type object. Each descriptor controls access to one " -"attribute of the instance object. Each of the tables is optional; if all " -"three are ``NULL``, instances of the type will only have attributes that are" -" inherited from their base type, and should leave the " -":c:member:`~PyTypeObject.tp_getattro` and " -":c:member:`~PyTypeObject.tp_setattro` fields ``NULL`` as well, allowing the " -"base type to handle attributes." -msgstr "" - -#: ../../extending/newtypes.rst:259 -msgid "The tables are declared as three fields of the type object::" -msgstr "" - -#: ../../extending/newtypes.rst:261 -msgid "" -"struct PyMethodDef *tp_methods;\n" -"struct PyMemberDef *tp_members;\n" -"struct PyGetSetDef *tp_getset;" -msgstr "" - -#: ../../extending/newtypes.rst:265 -msgid "" -"If :c:member:`~PyTypeObject.tp_methods` is not ``NULL``, it must refer to an" -" array of :c:type:`PyMethodDef` structures. Each entry in the table is an " -"instance of this structure::" -msgstr "" - -#: ../../extending/newtypes.rst:269 -msgid "" -"typedef struct PyMethodDef {\n" -" const char *ml_name; /* method name */\n" -" PyCFunction ml_meth; /* implementation function */\n" -" int ml_flags; /* flags */\n" -" const char *ml_doc; /* docstring */\n" -"} PyMethodDef;" -msgstr "" - -#: ../../extending/newtypes.rst:276 -msgid "" -"One entry should be defined for each method provided by the type; no entries" -" are needed for methods inherited from a base type. One additional entry is" -" needed at the end; it is a sentinel that marks the end of the array. The " -":c:member:`~PyMethodDef.ml_name` field of the sentinel must be ``NULL``." -msgstr "" - -#: ../../extending/newtypes.rst:281 -msgid "" -"The second table is used to define attributes which map directly to data " -"stored in the instance. A variety of primitive C types are supported, and " -"access may be read-only or read-write. The structures in the table are " -"defined as::" -msgstr "" - -#: ../../extending/newtypes.rst:285 -msgid "" -"typedef struct PyMemberDef {\n" -" const char *name;\n" -" int type;\n" -" int offset;\n" -" int flags;\n" -" const char *doc;\n" -"} PyMemberDef;" -msgstr "" - -#: ../../extending/newtypes.rst:293 -msgid "" -"For each entry in the table, a :term:`descriptor` will be constructed and " -"added to the type which will be able to extract a value from the instance " -"structure. The :c:member:`~PyMemberDef.type` field should contain a type " -"code like :c:macro:`Py_T_INT` or :c:macro:`Py_T_DOUBLE`; the value will be " -"used to determine how to convert Python values to and from C values. The " -":c:member:`~PyMemberDef.flags` field is used to store flags which control " -"how the attribute can be accessed: you can set it to :c:macro:`Py_READONLY` " -"to prevent Python code from setting it." -msgstr "" - -#: ../../extending/newtypes.rst:301 -msgid "" -"An interesting advantage of using the :c:member:`~PyTypeObject.tp_members` " -"table to build descriptors that are used at runtime is that any attribute " -"defined this way can have an associated doc string simply by providing the " -"text in the table. An application can use the introspection API to retrieve" -" the descriptor from the class object, and get the doc string using its " -":attr:`~type.__doc__` attribute." -msgstr "" - -#: ../../extending/newtypes.rst:307 -msgid "" -"As with the :c:member:`~PyTypeObject.tp_methods` table, a sentinel entry " -"with a :c:member:`~PyMethodDef.ml_name` value of ``NULL`` is required." -msgstr "" - -#: ../../extending/newtypes.rst:321 -msgid "Type-specific Attribute Management" -msgstr "" - -#: ../../extending/newtypes.rst:323 -msgid "" -"For simplicity, only the :c:expr:`char\\*` version will be demonstrated " -"here; the type of the name parameter is the only difference between the " -":c:expr:`char\\*` and :c:expr:`PyObject*` flavors of the interface. This " -"example effectively does the same thing as the generic example above, but " -"does not use the generic support added in Python 2.2. It explains how the " -"handler functions are called, so that if you do need to extend their " -"functionality, you'll understand what needs to be done." -msgstr "" - -#: ../../extending/newtypes.rst:331 -msgid "" -"The :c:member:`~PyTypeObject.tp_getattr` handler is called when the object " -"requires an attribute look-up. It is called in the same situations where " -"the :meth:`~object.__getattr__` method of a class would be called." -msgstr "" - -#: ../../extending/newtypes.rst:335 -msgid "Here is an example::" -msgstr "" - -#: ../../extending/newtypes.rst:337 -msgid "" -"static PyObject *\n" -"newdatatype_getattr(PyObject *op, char *name)\n" -"{\n" -" newdatatypeobject *self = (newdatatypeobject *) op;\n" -" if (strcmp(name, \"data\") == 0) {\n" -" return PyLong_FromLong(self->data);\n" -" }\n" -"\n" -" PyErr_Format(PyExc_AttributeError,\n" -" \"'%.100s' object has no attribute '%.400s'\",\n" -" Py_TYPE(self)->tp_name, name);\n" -" return NULL;\n" -"}" -msgstr "" - -#: ../../extending/newtypes.rst:351 -msgid "" -"The :c:member:`~PyTypeObject.tp_setattr` handler is called when the " -":meth:`~object.__setattr__` or :meth:`~object.__delattr__` method of a class" -" instance would be called. When an attribute should be deleted, the third " -"parameter will be ``NULL``. Here is an example that simply raises an " -"exception; if this were really all you wanted, the " -":c:member:`~PyTypeObject.tp_setattr` handler should be set to ``NULL``. ::" -msgstr "" - -#: ../../extending/newtypes.rst:357 -msgid "" -"static int\n" -"newdatatype_setattr(PyObject *op, char *name, PyObject *v)\n" -"{\n" -" PyErr_Format(PyExc_RuntimeError, \"Read-only attribute: %s\", name);\n" -" return -1;\n" -"}" -msgstr "" - -#: ../../extending/newtypes.rst:365 -msgid "Object Comparison" -msgstr "" - -#: ../../extending/newtypes.rst:369 -msgid "richcmpfunc tp_richcompare;" -msgstr "" - -#: ../../extending/newtypes.rst:371 -msgid "" -"The :c:member:`~PyTypeObject.tp_richcompare` handler is called when " -"comparisons are needed. It is analogous to the :ref:`rich comparison " -"methods `, like :meth:`!__lt__`, and also called by " -":c:func:`PyObject_RichCompare` and :c:func:`PyObject_RichCompareBool`." -msgstr "" - -#: ../../extending/newtypes.rst:376 -msgid "" -"This function is called with two Python objects and the operator as " -"arguments, where the operator is one of ``Py_EQ``, ``Py_NE``, ``Py_LE``, " -"``Py_GE``, ``Py_LT`` or ``Py_GT``. It should compare the two objects with " -"respect to the specified operator and return ``Py_True`` or ``Py_False`` if " -"the comparison is successful, ``Py_NotImplemented`` to indicate that " -"comparison is not implemented and the other object's comparison method " -"should be tried, or ``NULL`` if an exception was set." -msgstr "" - -#: ../../extending/newtypes.rst:384 -msgid "" -"Here is a sample implementation, for a datatype that is considered equal if " -"the size of an internal pointer is equal::" -msgstr "" - -#: ../../extending/newtypes.rst:387 -msgid "" -"static PyObject *\n" -"newdatatype_richcmp(PyObject *lhs, PyObject *rhs, int op)\n" -"{\n" -" newdatatypeobject *obj1 = (newdatatypeobject *) lhs;\n" -" newdatatypeobject *obj2 = (newdatatypeobject *) rhs;\n" -" PyObject *result;\n" -" int c, size1, size2;\n" -"\n" -" /* code to make sure that both arguments are of type\n" -" newdatatype omitted */\n" -"\n" -" size1 = obj1->obj_UnderlyingDatatypePtr->size;\n" -" size2 = obj2->obj_UnderlyingDatatypePtr->size;\n" -"\n" -" switch (op) {\n" -" case Py_LT: c = size1 < size2; break;\n" -" case Py_LE: c = size1 <= size2; break;\n" -" case Py_EQ: c = size1 == size2; break;\n" -" case Py_NE: c = size1 != size2; break;\n" -" case Py_GT: c = size1 > size2; break;\n" -" case Py_GE: c = size1 >= size2; break;\n" -" }\n" -" result = c ? Py_True : Py_False;\n" -" return Py_NewRef(result);\n" -" }" -msgstr "" - -#: ../../extending/newtypes.rst:415 -msgid "Abstract Protocol Support" -msgstr "" - -#: ../../extending/newtypes.rst:417 -msgid "" -"Python supports a variety of *abstract* 'protocols;' the specific interfaces" -" provided to use these interfaces are documented in :ref:`abstract`." -msgstr "" - -#: ../../extending/newtypes.rst:421 -msgid "" -"A number of these abstract interfaces were defined early in the development " -"of the Python implementation. In particular, the number, mapping, and " -"sequence protocols have been part of Python since the beginning. Other " -"protocols have been added over time. For protocols which depend on several " -"handler routines from the type implementation, the older protocols have been" -" defined as optional blocks of handlers referenced by the type object. For " -"newer protocols there are additional slots in the main type object, with a " -"flag bit being set to indicate that the slots are present and should be " -"checked by the interpreter. (The flag bit does not indicate that the slot " -"values are non-``NULL``. The flag may be set to indicate the presence of a " -"slot, but a slot may still be unfilled.) ::" -msgstr "" - -#: ../../extending/newtypes.rst:432 -msgid "" -"PyNumberMethods *tp_as_number;\n" -"PySequenceMethods *tp_as_sequence;\n" -"PyMappingMethods *tp_as_mapping;" -msgstr "" - -#: ../../extending/newtypes.rst:436 -msgid "" -"If you wish your object to be able to act like a number, a sequence, or a " -"mapping object, then you place the address of a structure that implements " -"the C type :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods`, or " -":c:type:`PyMappingMethods`, respectively. It is up to you to fill in this " -"structure with appropriate values. You can find examples of the use of each " -"of these in the :file:`Objects` directory of the Python source distribution." -" ::" -msgstr "" - -#: ../../extending/newtypes.rst:443 -msgid "hashfunc tp_hash;" -msgstr "" - -#: ../../extending/newtypes.rst:445 -msgid "" -"This function, if you choose to provide it, should return a hash number for " -"an instance of your data type. Here is a simple example::" -msgstr "" - -#: ../../extending/newtypes.rst:448 -msgid "" -"static Py_hash_t\n" -"newdatatype_hash(PyObject *op)\n" -"{\n" -" newdatatypeobject *self = (newdatatypeobject *) op;\n" -" Py_hash_t result;\n" -" result = self->some_size + 32767 * self->some_number;\n" -" if (result == -1) {\n" -" result = -2;\n" -" }\n" -" return result;\n" -"}" -msgstr "" - -#: ../../extending/newtypes.rst:460 -msgid "" -":c:type:`Py_hash_t` is a signed integer type with a platform-varying width. " -"Returning ``-1`` from :c:member:`~PyTypeObject.tp_hash` indicates an error, " -"which is why you should be careful to avoid returning it when hash " -"computation is successful, as seen above." -msgstr "" - -#: ../../extending/newtypes.rst:467 -msgid "ternaryfunc tp_call;" -msgstr "" - -#: ../../extending/newtypes.rst:469 -msgid "" -"This function is called when an instance of your data type is \"called\", " -"for example, if ``obj1`` is an instance of your data type and the Python " -"script contains ``obj1('hello')``, the :c:member:`~PyTypeObject.tp_call` " -"handler is invoked." -msgstr "" - -#: ../../extending/newtypes.rst:473 -msgid "This function takes three arguments:" -msgstr "" - -#: ../../extending/newtypes.rst:475 -msgid "" -"*self* is the instance of the data type which is the subject of the call. If" -" the call is ``obj1('hello')``, then *self* is ``obj1``." -msgstr "" - -#: ../../extending/newtypes.rst:478 -msgid "" -"*args* is a tuple containing the arguments to the call. You can use " -":c:func:`PyArg_ParseTuple` to extract the arguments." -msgstr "" - -#: ../../extending/newtypes.rst:481 -msgid "" -"*kwds* is a dictionary of keyword arguments that were passed. If this is " -"non-``NULL`` and you support keyword arguments, use " -":c:func:`PyArg_ParseTupleAndKeywords` to extract the arguments. If you do " -"not want to support keyword arguments and this is non-``NULL``, raise a " -":exc:`TypeError` with a message saying that keyword arguments are not " -"supported." -msgstr "" - -#: ../../extending/newtypes.rst:487 -msgid "Here is a toy ``tp_call`` implementation::" -msgstr "" - -#: ../../extending/newtypes.rst:489 -msgid "" -"static PyObject *\n" -"newdatatype_call(PyObject *op, PyObject *args, PyObject *kwds)\n" -"{\n" -" newdatatypeobject *self = (newdatatypeobject *) op;\n" -" PyObject *result;\n" -" const char *arg1;\n" -" const char *arg2;\n" -" const char *arg3;\n" -"\n" -" if (!PyArg_ParseTuple(args, \"sss:call\", &arg1, &arg2, &arg3)) {\n" -" return NULL;\n" -" }\n" -" result = PyUnicode_FromFormat(\n" -" \"Returning -- value: [%d] arg1: [%s] arg2: [%s] arg3: [%s]\\n\",\n" -" self->obj_UnderlyingDatatypePtr->size,\n" -" arg1, arg2, arg3);\n" -" return result;\n" -"}" -msgstr "" - -#: ../../extending/newtypes.rst:510 -msgid "" -"/* Iterators */\n" -"getiterfunc tp_iter;\n" -"iternextfunc tp_iternext;" -msgstr "" - -#: ../../extending/newtypes.rst:514 -msgid "" -"These functions provide support for the iterator protocol. Both handlers " -"take exactly one parameter, the instance for which they are being called, " -"and return a new reference. In the case of an error, they should set an " -"exception and return ``NULL``. :c:member:`~PyTypeObject.tp_iter` " -"corresponds to the Python :meth:`~object.__iter__` method, while " -":c:member:`~PyTypeObject.tp_iternext` corresponds to the Python " -":meth:`~iterator.__next__` method." -msgstr "" - -#: ../../extending/newtypes.rst:521 -msgid "" -"Any :term:`iterable` object must implement the " -":c:member:`~PyTypeObject.tp_iter` handler, which must return an " -":term:`iterator` object. Here the same guidelines apply as for Python " -"classes:" -msgstr "" - -#: ../../extending/newtypes.rst:525 -msgid "" -"For collections (such as lists and tuples) which can support multiple " -"independent iterators, a new iterator should be created and returned by each" -" call to :c:member:`~PyTypeObject.tp_iter`." -msgstr "" - -#: ../../extending/newtypes.rst:528 -msgid "" -"Objects which can only be iterated over once (usually due to side effects of" -" iteration, such as file objects) can implement " -":c:member:`~PyTypeObject.tp_iter` by returning a new reference to themselves" -" -- and should also therefore implement the " -":c:member:`~PyTypeObject.tp_iternext` handler." -msgstr "" - -#: ../../extending/newtypes.rst:533 -msgid "" -"Any :term:`iterator` object should implement both " -":c:member:`~PyTypeObject.tp_iter` and :c:member:`~PyTypeObject.tp_iternext`." -" An iterator's :c:member:`~PyTypeObject.tp_iter` handler should return a " -"new reference to the iterator. Its :c:member:`~PyTypeObject.tp_iternext` " -"handler should return a new reference to the next object in the iteration, " -"if there is one. If the iteration has reached the end, " -":c:member:`~PyTypeObject.tp_iternext` may return ``NULL`` without setting an" -" exception, or it may set :exc:`StopIteration` *in addition* to returning " -"``NULL``; avoiding the exception can yield slightly better performance. If " -"an actual error occurs, :c:member:`~PyTypeObject.tp_iternext` should always " -"set an exception and return ``NULL``." -msgstr "" - -#: ../../extending/newtypes.rst:549 -msgid "Weak Reference Support" -msgstr "" - -#: ../../extending/newtypes.rst:551 -msgid "" -"One of the goals of Python's weak reference implementation is to allow any " -"type to participate in the weak reference mechanism without incurring the " -"overhead on performance-critical objects (such as numbers)." -msgstr "" - -#: ../../extending/newtypes.rst:556 -msgid "Documentation for the :mod:`weakref` module." -msgstr "" - -#: ../../extending/newtypes.rst:558 -msgid "" -"For an object to be weakly referenceable, the extension type must set the " -"``Py_TPFLAGS_MANAGED_WEAKREF`` bit of the :c:member:`~PyTypeObject.tp_flags`" -" field. The legacy :c:member:`~PyTypeObject.tp_weaklistoffset` field should " -"be left as zero." -msgstr "" - -#: ../../extending/newtypes.rst:563 -msgid "" -"Concretely, here is how the statically declared type object would look::" -msgstr "" - -#: ../../extending/newtypes.rst:565 -msgid "" -"static PyTypeObject TrivialType = {\n" -" PyVarObject_HEAD_INIT(NULL, 0)\n" -" /* ... other members omitted for brevity ... */\n" -" .tp_flags = Py_TPFLAGS_MANAGED_WEAKREF | ...,\n" -"};" -msgstr "" - -#: ../../extending/newtypes.rst:572 -msgid "" -"The only further addition is that ``tp_dealloc`` needs to clear any weak " -"references (by calling :c:func:`PyObject_ClearWeakRefs`)::" -msgstr "" - -#: ../../extending/newtypes.rst:575 -msgid "" -"static void\n" -"Trivial_dealloc(PyObject *op)\n" -"{\n" -" /* Clear weakrefs first before calling any destructors */\n" -" PyObject_ClearWeakRefs(op);\n" -" /* ... remainder of destruction code omitted for brevity ... */\n" -" Py_TYPE(op)->tp_free(op);\n" -"}" -msgstr "" - -#: ../../extending/newtypes.rst:586 -msgid "More Suggestions" -msgstr "" - -#: ../../extending/newtypes.rst:588 -msgid "" -"In order to learn how to implement any specific method for your new data " -"type, get the :term:`CPython` source code. Go to the :file:`Objects` " -"directory, then search the C source files for ``tp_`` plus the function you " -"want (for example, ``tp_richcompare``). You will find examples of the " -"function you want to implement." -msgstr "" - -#: ../../extending/newtypes.rst:594 -msgid "" -"When you need to verify that an object is a concrete instance of the type " -"you are implementing, use the :c:func:`PyObject_TypeCheck` function. A " -"sample of its use might be something like the following::" -msgstr "" - -#: ../../extending/newtypes.rst:598 -msgid "" -"if (!PyObject_TypeCheck(some_object, &MyType)) {\n" -" PyErr_SetString(PyExc_TypeError, \"arg #1 not a mything\");\n" -" return NULL;\n" -"}" -msgstr "" - -#: ../../extending/newtypes.rst:604 -msgid "Download CPython source releases." -msgstr "" - -#: ../../extending/newtypes.rst:605 -msgid "https://www.python.org/downloads/source/" -msgstr "" - -#: ../../extending/newtypes.rst:607 -msgid "" -"The CPython project on GitHub, where the CPython source code is developed." -msgstr "" - -#: ../../extending/newtypes.rst:608 -msgid "https://github.com/python/cpython" -msgstr "" - -#: ../../extending/newtypes.rst:56 -msgid "object" -msgstr "objek" - -#: ../../extending/newtypes.rst:56 -msgid "deallocation" -msgstr "" - -#: ../../extending/newtypes.rst:56 -msgid "deallocation, object" -msgstr "" - -#: ../../extending/newtypes.rst:56 -msgid "finalization" -msgstr "" - -#: ../../extending/newtypes.rst:56 -msgid "finalization, of objects" -msgstr "" - -#: ../../extending/newtypes.rst:93 -msgid "PyErr_Fetch (C function)" -msgstr "" - -#: ../../extending/newtypes.rst:93 -msgid "PyErr_Restore (C function)" -msgstr "" - -#: ../../extending/newtypes.rst:154 -msgid "string" -msgstr "string" - -#: ../../extending/newtypes.rst:154 -msgid "object representation" -msgstr "" - -#: ../../extending/newtypes.rst:154 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../extending/newtypes.rst:154 -msgid "repr" -msgstr "repr" diff --git a/python-newest.extending--newtypes_tutorial/id.po b/python-newest.extending--newtypes_tutorial/id.po deleted file mode 100644 index e487277..0000000 --- a/python-newest.extending--newtypes_tutorial/id.po +++ /dev/null @@ -1,2048 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# Eka Antonius Kurniawan , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Eka Antonius Kurniawan , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../extending/newtypes_tutorial.rst:7 -msgid "Defining Extension Types: Tutorial" -msgstr "Mendefinisikan Tipe Ekstensi: Tutorial" - -#: ../../extending/newtypes_tutorial.rst:14 -msgid "" -"Python allows the writer of a C extension module to define new types that " -"can be manipulated from Python code, much like the built-in :class:`str` and" -" :class:`list` types. The code for all extension types follows a pattern, " -"but there are some details that you need to understand before you can get " -"started. This document is a gentle introduction to the topic." -msgstr "" -"Python mengizinkan penulis modul ekstensi C untuk mendefinisikan tipe baru " -"yang dapat dimanipulasi dengan kode Python, seperti tipe dasar :class:`str` " -"dan :class:`list` . Kode untuk semua tipe ekstensi mengikuti suatu pola, " -"tetapi ada beberapa seluk-beluk yang harus dimengerti sebelum memulainya. " -"Dokumen ini berisi pengenalan dasar untuk topik ini." - -#: ../../extending/newtypes_tutorial.rst:24 -msgid "The Basics" -msgstr "Bagian Dasar" - -#: ../../extending/newtypes_tutorial.rst:26 -msgid "" -"The :term:`CPython` runtime sees all Python objects as variables of type " -":c:expr:`PyObject*`, which serves as a \"base type\" for all Python objects." -" The :c:type:`PyObject` structure itself only contains the object's " -":term:`reference count` and a pointer to the object's \"type object\". This " -"is where the action is; the type object determines which (C) functions get " -"called by the interpreter when, for instance, an attribute gets looked up on" -" an object, a method called, or it is multiplied by another object. These C" -" functions are called \"type methods\"." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:35 -msgid "" -"So, if you want to define a new extension type, you need to create a new " -"type object." -msgstr "" -"Jadi, jika Anda ingin mendefinisikan tipe ekstensi baru, Anda perlu membuat " -"tipe obyek baru." - -#: ../../extending/newtypes_tutorial.rst:38 -msgid "" -"This sort of thing can only be explained by example, so here's a minimal, " -"but complete, module that defines a new type named :class:`!Custom` inside a" -" C extension module :mod:`!custom`:" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:43 -msgid "" -"What we're showing here is the traditional way of defining *static* " -"extension types. It should be adequate for most uses. The C API also " -"allows defining heap-allocated extension types using the " -":c:func:`PyType_FromSpec` function, which isn't covered in this tutorial." -msgstr "" -"Yang kami tunjukkan di sini adalah cara lama mendefinisikan tipe ekstensi " -"*statis*. Ini seharusnya cukup untuk penggunaan pada umumnya. API C juga " -"bisa digunakan untuk mendefenisikan tipe ekstensi yang dinamis melalui " -"fungsi :c:func:`PyType_FromSpec`, yang tidak dibahas di tutorial ini." - -#: ../../extending/newtypes_tutorial.rst:48 -msgid "" -"#define PY_SSIZE_T_CLEAN\n" -"#include \n" -"\n" -"typedef struct {\n" -" PyObject_HEAD\n" -" /* Type-specific fields go here. */\n" -"} CustomObject;\n" -"\n" -"static PyTypeObject CustomType = {\n" -" .ob_base = PyVarObject_HEAD_INIT(NULL, 0)\n" -" .tp_name = \"custom.Custom\",\n" -" .tp_doc = PyDoc_STR(\"Custom objects\"),\n" -" .tp_basicsize = sizeof(CustomObject),\n" -" .tp_itemsize = 0,\n" -" .tp_flags = Py_TPFLAGS_DEFAULT,\n" -" .tp_new = PyType_GenericNew,\n" -"};\n" -"\n" -"static PyModuleDef custommodule = {\n" -" .m_base = PyModuleDef_HEAD_INIT,\n" -" .m_name = \"custom\",\n" -" .m_doc = \"Example module that creates an extension type.\",\n" -" .m_size = -1,\n" -"};\n" -"\n" -"PyMODINIT_FUNC\n" -"PyInit_custom(void)\n" -"{\n" -" PyObject *m;\n" -" if (PyType_Ready(&CustomType) < 0)\n" -" return NULL;\n" -"\n" -" m = PyModule_Create(&custommodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" -" if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) {\n" -" Py_DECREF(m);\n" -" return NULL;\n" -" }\n" -"\n" -" return m;\n" -"}\n" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:50 -msgid "" -"Now that's quite a bit to take in at once, but hopefully bits will seem " -"familiar from the previous chapter. This file defines three things:" -msgstr "" -"Semua ini sudah tergolong banyak untuk dibahas, tapi semoga bagian-bagiannya" -" bisa dirasakan lazim karena bab sebelumnya. File ini mendefinisikan tiga " -"hal:" - -#: ../../extending/newtypes_tutorial.rst:53 -msgid "" -"What a :class:`!Custom` **object** contains: this is the ``CustomObject`` " -"struct, which is allocated once for each :class:`!Custom` instance." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:55 -msgid "" -"How the :class:`!Custom` **type** behaves: this is the ``CustomType`` " -"struct, which defines a set of flags and function pointers that the " -"interpreter inspects when specific operations are requested." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:58 -msgid "" -"How to initialize the :mod:`!custom` module: this is the ``PyInit_custom`` " -"function and the associated ``custommodule`` struct." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:61 -msgid "The first bit is::" -msgstr "Bit pertama adalah::" - -#: ../../extending/newtypes_tutorial.rst:63 -msgid "" -"typedef struct {\n" -" PyObject_HEAD\n" -"} CustomObject;" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:67 -msgid "" -"This is what a Custom object will contain. ``PyObject_HEAD`` is mandatory " -"at the start of each object struct and defines a field called ``ob_base`` of" -" type :c:type:`PyObject`, containing a pointer to a type object and a " -"reference count (these can be accessed using the macros :c:macro:`Py_TYPE` " -"and :c:macro:`Py_REFCNT` respectively). The reason for the macro is to " -"abstract away the layout and to enable additional fields in :ref:`debug " -"builds `." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:76 -msgid "" -"There is no semicolon above after the :c:macro:`PyObject_HEAD` macro. Be " -"wary of adding one by accident: some compilers will complain." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:79 -msgid "" -"Of course, objects generally store additional data besides the standard " -"``PyObject_HEAD`` boilerplate; for example, here is the definition for " -"standard Python floats::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:83 -msgid "" -"typedef struct {\n" -" PyObject_HEAD\n" -" double ob_fval;\n" -"} PyFloatObject;" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:88 -msgid "The second bit is the definition of the type object. ::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:90 -msgid "" -"static PyTypeObject CustomType = {\n" -" .ob_base = PyVarObject_HEAD_INIT(NULL, 0)\n" -" .tp_name = \"custom.Custom\",\n" -" .tp_doc = PyDoc_STR(\"Custom objects\"),\n" -" .tp_basicsize = sizeof(CustomObject),\n" -" .tp_itemsize = 0,\n" -" .tp_flags = Py_TPFLAGS_DEFAULT,\n" -" .tp_new = PyType_GenericNew,\n" -"};" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:101 -msgid "" -"We recommend using C99-style designated initializers as above, to avoid " -"listing all the :c:type:`PyTypeObject` fields that you don't care about and " -"also to avoid caring about the fields' declaration order." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:105 -msgid "" -"The actual definition of :c:type:`PyTypeObject` in :file:`object.h` has many" -" more :ref:`fields ` than the definition above. The remaining" -" fields will be filled with zeros by the C compiler, and it's common " -"practice to not specify them explicitly unless you need them." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:110 -msgid "We're going to pick it apart, one field at a time::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:112 -msgid ".ob_base = PyVarObject_HEAD_INIT(NULL, 0)" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:114 -msgid "" -"This line is mandatory boilerplate to initialize the ``ob_base`` field " -"mentioned above. ::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:117 -msgid ".tp_name = \"custom.Custom\"," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:119 -msgid "" -"The name of our type. This will appear in the default textual " -"representation of our objects and in some error messages, for example:" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:122 -msgid "" -">>> \"\" + custom.Custom()\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: can only concatenate str (not \"custom.Custom\") to str" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:129 -msgid "" -"Note that the name is a dotted name that includes both the module name and " -"the name of the type within the module. The module in this case is " -":mod:`!custom` and the type is :class:`!Custom`, so we set the type name to " -":class:`!custom.Custom`. Using the real dotted import path is important to " -"make your type compatible with the :mod:`pydoc` and :mod:`pickle` modules. " -"::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:135 -msgid "" -".tp_basicsize = sizeof(CustomObject),\n" -".tp_itemsize = 0," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:138 -msgid "" -"This is so that Python knows how much memory to allocate when creating new " -":class:`!Custom` instances. :c:member:`~PyTypeObject.tp_itemsize` is only " -"used for variable-sized objects and should otherwise be zero." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:144 -msgid "" -"If you want your type to be subclassable from Python, and your type has the " -"same :c:member:`~PyTypeObject.tp_basicsize` as its base type, you may have " -"problems with multiple inheritance. A Python subclass of your type will " -"have to list your type first in its :attr:`~type.__bases__`, or else it will" -" not be able to call your type's :meth:`~object.__new__` method without " -"getting an error. You can avoid this problem by ensuring that your type has" -" a larger value for :c:member:`~PyTypeObject.tp_basicsize` than its base " -"type does. Most of the time, this will be true anyway, because either your " -"base type will be :class:`object`, or else you will be adding data members " -"to your base type, and therefore increasing its size." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:154 -msgid "We set the class flags to :c:macro:`Py_TPFLAGS_DEFAULT`. ::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:156 -msgid ".tp_flags = Py_TPFLAGS_DEFAULT," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:158 -msgid "" -"All types should include this constant in their flags. It enables all of " -"the members defined until at least Python 3.3. If you need further members," -" you will need to OR the corresponding flags." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:162 -msgid "" -"We provide a doc string for the type in :c:member:`~PyTypeObject.tp_doc`. ::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:164 -msgid ".tp_doc = PyDoc_STR(\"Custom objects\")," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:166 -msgid "" -"To enable object creation, we have to provide a " -":c:member:`~PyTypeObject.tp_new` handler. This is the equivalent of the " -"Python method :meth:`~object.__new__`, but has to be specified explicitly. " -"In this case, we can just use the default implementation provided by the API" -" function :c:func:`PyType_GenericNew`. ::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:171 -msgid ".tp_new = PyType_GenericNew," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:173 -msgid "" -"Everything else in the file should be familiar, except for some code in " -":c:func:`!PyInit_custom`::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:176 -msgid "" -"if (PyType_Ready(&CustomType) < 0)\n" -" return;" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:179 -msgid "" -"This initializes the :class:`!Custom` type, filling in a number of members " -"to the appropriate default values, including :c:member:`~PyObject.ob_type` " -"that we initially set to ``NULL``. ::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:183 -msgid "" -"if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) {\n" -" Py_DECREF(m);\n" -" return NULL;\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:188 -msgid "" -"This adds the type to the module dictionary. This allows us to create " -":class:`!Custom` instances by calling the :class:`!Custom` class:" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:191 -msgid "" -">>> import custom\n" -">>> mycustom = custom.Custom()" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:196 -msgid "" -"That's it! All that remains is to build it; put the above code in a file " -"called :file:`custom.c`," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:199 -msgid "" -"[build-system]\n" -"requires = [\"setuptools\"]\n" -"build-backend = \"setuptools.build_meta\"\n" -"\n" -"[project]\n" -"name = \"custom\"\n" -"version = \"1\"\n" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:201 -msgid "in a file called :file:`pyproject.toml`, and" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:203 -msgid "" -"from setuptools import Extension, setup\n" -"setup(ext_modules=[Extension(\"custom\", [\"custom.c\"])])" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:208 -msgid "in a file called :file:`setup.py`; then typing" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:210 -#: ../../extending/newtypes_tutorial.rst:548 -msgid "$ python -m pip install ." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:214 -msgid "" -"in a shell should produce a file :file:`custom.so` in a subdirectory and " -"install it; now fire up Python --- you should be able to ``import custom`` " -"and play around with ``Custom`` objects." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:218 -msgid "That wasn't so hard, was it?" -msgstr "Itu tidak terlalu sulit, kan?" - -#: ../../extending/newtypes_tutorial.rst:220 -msgid "" -"Of course, the current Custom type is pretty uninteresting. It has no data " -"and doesn't do anything. It can't even be subclassed." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:225 -msgid "Adding data and methods to the Basic example" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:227 -msgid "" -"Let's extend the basic example to add some data and methods. Let's also " -"make the type usable as a base class. We'll create a new module, " -":mod:`!custom2` that adds these capabilities:" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:231 -msgid "" -"#define PY_SSIZE_T_CLEAN\n" -"#include \n" -"#include /* for offsetof() */\n" -"\n" -"typedef struct {\n" -" PyObject_HEAD\n" -" PyObject *first; /* first name */\n" -" PyObject *last; /* last name */\n" -" int number;\n" -"} CustomObject;\n" -"\n" -"static void\n" -"Custom_dealloc(PyObject *op)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" Py_XDECREF(self->first);\n" -" Py_XDECREF(self->last);\n" -" Py_TYPE(self)->tp_free(self);\n" -"}\n" -"\n" -"static PyObject *\n" -"Custom_new(PyTypeObject *type, PyObject *args, PyObject *kwds)\n" -"{\n" -" CustomObject *self;\n" -" self = (CustomObject *) type->tp_alloc(type, 0);\n" -" if (self != NULL) {\n" -" self->first = Py_GetConstant(Py_CONSTANT_EMPTY_STR);\n" -" if (self->first == NULL) {\n" -" Py_DECREF(self);\n" -" return NULL;\n" -" }\n" -" self->last = Py_GetConstant(Py_CONSTANT_EMPTY_STR);\n" -" if (self->last == NULL) {\n" -" Py_DECREF(self);\n" -" return NULL;\n" -" }\n" -" self->number = 0;\n" -" }\n" -" return (PyObject *) self;\n" -"}\n" -"\n" -"static int\n" -"Custom_init(PyObject *op, PyObject *args, PyObject *kwds)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" static char *kwlist[] = {\"first\", \"last\", \"number\", NULL};\n" -" PyObject *first = NULL, *last = NULL;\n" -"\n" -" if (!PyArg_ParseTupleAndKeywords(args, kwds, \"|OOi\", kwlist,\n" -" &first, &last,\n" -" &self->number))\n" -" return -1;\n" -"\n" -" if (first) {\n" -" Py_XSETREF(self->first, Py_NewRef(first));\n" -" }\n" -" if (last) {\n" -" Py_XSETREF(self->last, Py_NewRef(last));\n" -" }\n" -" return 0;\n" -"}\n" -"\n" -"static PyMemberDef Custom_members[] = {\n" -" {\"first\", Py_T_OBJECT_EX, offsetof(CustomObject, first), 0,\n" -" \"first name\"},\n" -" {\"last\", Py_T_OBJECT_EX, offsetof(CustomObject, last), 0,\n" -" \"last name\"},\n" -" {\"number\", Py_T_INT, offsetof(CustomObject, number), 0,\n" -" \"custom number\"},\n" -" {NULL} /* Sentinel */\n" -"};\n" -"\n" -"static PyObject *\n" -"Custom_name(PyObject *op, PyObject *Py_UNUSED(dummy))\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" if (self->first == NULL) {\n" -" PyErr_SetString(PyExc_AttributeError, \"first\");\n" -" return NULL;\n" -" }\n" -" if (self->last == NULL) {\n" -" PyErr_SetString(PyExc_AttributeError, \"last\");\n" -" return NULL;\n" -" }\n" -" return PyUnicode_FromFormat(\"%S %S\", self->first, self->last);\n" -"}\n" -"\n" -"static PyMethodDef Custom_methods[] = {\n" -" {\"name\", Custom_name, METH_NOARGS,\n" -" \"Return the name, combining the first and last name\"\n" -" },\n" -" {NULL} /* Sentinel */\n" -"};\n" -"\n" -"static PyTypeObject CustomType = {\n" -" .ob_base = PyVarObject_HEAD_INIT(NULL, 0)\n" -" .tp_name = \"custom2.Custom\",\n" -" .tp_doc = PyDoc_STR(\"Custom objects\"),\n" -" .tp_basicsize = sizeof(CustomObject),\n" -" .tp_itemsize = 0,\n" -" .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,\n" -" .tp_new = Custom_new,\n" -" .tp_init = Custom_init,\n" -" .tp_dealloc = Custom_dealloc,\n" -" .tp_members = Custom_members,\n" -" .tp_methods = Custom_methods,\n" -"};\n" -"\n" -"static PyModuleDef custommodule = {\n" -" .m_base =PyModuleDef_HEAD_INIT,\n" -" .m_name = \"custom2\",\n" -" .m_doc = \"Example module that creates an extension type.\",\n" -" .m_size = -1,\n" -"};\n" -"\n" -"PyMODINIT_FUNC\n" -"PyInit_custom2(void)\n" -"{\n" -" PyObject *m;\n" -" if (PyType_Ready(&CustomType) < 0)\n" -" return NULL;\n" -"\n" -" m = PyModule_Create(&custommodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" -" if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) {\n" -" Py_DECREF(m);\n" -" return NULL;\n" -" }\n" -"\n" -" return m;\n" -"}\n" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:234 -msgid "This version of the module has a number of changes." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:236 -msgid "" -"The :class:`!Custom` type now has three data attributes in its C struct, " -"*first*, *last*, and *number*. The *first* and *last* variables are Python " -"strings containing first and last names. The *number* attribute is a C " -"integer." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:240 -msgid "The object structure is updated accordingly::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:242 -msgid "" -"typedef struct {\n" -" PyObject_HEAD\n" -" PyObject *first; /* first name */\n" -" PyObject *last; /* last name */\n" -" int number;\n" -"} CustomObject;" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:249 -msgid "" -"Because we now have data to manage, we have to be more careful about object " -"allocation and deallocation. At a minimum, we need a deallocation method::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:252 -msgid "" -"static void\n" -"Custom_dealloc(PyObject *op)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" Py_XDECREF(self->first);\n" -" Py_XDECREF(self->last);\n" -" Py_TYPE(self)->tp_free(self);\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:261 -msgid "which is assigned to the :c:member:`~PyTypeObject.tp_dealloc` member::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:263 -msgid ".tp_dealloc = Custom_dealloc," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:265 -msgid "" -"This method first clears the reference counts of the two Python attributes. " -":c:func:`Py_XDECREF` correctly handles the case where its argument is " -"``NULL`` (which might happen here if ``tp_new`` failed midway). It then " -"calls the :c:member:`~PyTypeObject.tp_free` member of the object's type " -"(computed by ``Py_TYPE(self)``) to free the object's memory. Note that the " -"object's type might not be :class:`!CustomType`, because the object may be " -"an instance of a subclass." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:275 -msgid "" -"The explicit cast to ``CustomObject *`` above is needed because we defined " -"``Custom_dealloc`` to take a ``PyObject *`` argument, as the ``tp_dealloc`` " -"function pointer expects to receive a ``PyObject *`` argument. By assigning " -"to the the ``tp_dealloc`` slot of a type, we declare that it can only be " -"called with instances of our ``CustomObject`` class, so the cast to " -"``(CustomObject *)`` is safe. This is object-oriented polymorphism, in C!" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:283 -msgid "" -"In existing code, or in previous versions of this tutorial, you might see " -"similar functions take a pointer to the subtype object structure " -"(``CustomObject*``) directly, like this::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:287 -msgid "" -"Custom_dealloc(CustomObject *self)\n" -"{\n" -" Py_XDECREF(self->first);\n" -" Py_XDECREF(self->last);\n" -" Py_TYPE(self)->tp_free((PyObject *) self);\n" -"}\n" -"...\n" -".tp_dealloc = (destructor) Custom_dealloc," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:296 -msgid "" -"This does the same thing on all architectures that CPython supports, but " -"according to the C standard, it invokes undefined behavior." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:300 -msgid "" -"We want to make sure that the first and last names are initialized to empty " -"strings, so we provide a ``tp_new`` implementation::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:303 -msgid "" -"static PyObject *\n" -"Custom_new(PyTypeObject *type, PyObject *args, PyObject *kwds)\n" -"{\n" -" CustomObject *self;\n" -" self = (CustomObject *) type->tp_alloc(type, 0);\n" -" if (self != NULL) {\n" -" self->first = PyUnicode_FromString(\"\");\n" -" if (self->first == NULL) {\n" -" Py_DECREF(self);\n" -" return NULL;\n" -" }\n" -" self->last = PyUnicode_FromString(\"\");\n" -" if (self->last == NULL) {\n" -" Py_DECREF(self);\n" -" return NULL;\n" -" }\n" -" self->number = 0;\n" -" }\n" -" return (PyObject *) self;\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:324 -msgid "and install it in the :c:member:`~PyTypeObject.tp_new` member::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:326 -msgid ".tp_new = Custom_new," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:328 -msgid "" -"The ``tp_new`` handler is responsible for creating (as opposed to " -"initializing) objects of the type. It is exposed in Python as the " -":meth:`~object.__new__` method. It is not required to define a ``tp_new`` " -"member, and indeed many extension types will simply reuse " -":c:func:`PyType_GenericNew` as done in the first version of the " -":class:`!Custom` type above. In this case, we use the ``tp_new`` handler to" -" initialize the ``first`` and ``last`` attributes to non-``NULL`` default " -"values." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:336 -msgid "" -"``tp_new`` is passed the type being instantiated (not necessarily " -"``CustomType``, if a subclass is instantiated) and any arguments passed when" -" the type was called, and is expected to return the instance created. " -"``tp_new`` handlers always accept positional and keyword arguments, but they" -" often ignore the arguments, leaving the argument handling to initializer " -"(a.k.a. ``tp_init`` in C or ``__init__`` in Python) methods." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:344 -msgid "" -"``tp_new`` shouldn't call ``tp_init`` explicitly, as the interpreter will do" -" it itself." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:347 -msgid "" -"The ``tp_new`` implementation calls the :c:member:`~PyTypeObject.tp_alloc` " -"slot to allocate memory::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:350 -msgid "self = (CustomObject *) type->tp_alloc(type, 0);" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:352 -msgid "" -"Since memory allocation may fail, we must check the " -":c:member:`~PyTypeObject.tp_alloc` result against ``NULL`` before " -"proceeding." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:356 -msgid "" -"We didn't fill the :c:member:`~PyTypeObject.tp_alloc` slot ourselves. Rather" -" :c:func:`PyType_Ready` fills it for us by inheriting it from our base " -"class, which is :class:`object` by default. Most types use the default " -"allocation strategy." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:362 -msgid "" -"If you are creating a co-operative :c:member:`~PyTypeObject.tp_new` (one " -"that calls a base type's :c:member:`~PyTypeObject.tp_new` or " -":meth:`~object.__new__`), you must *not* try to determine what method to " -"call using method resolution order at runtime. Always statically determine " -"what type you are going to call, and call its " -":c:member:`~PyTypeObject.tp_new` directly, or via ``type->tp_base->tp_new``." -" If you do not do this, Python subclasses of your type that also inherit " -"from other Python-defined classes may not work correctly. (Specifically, you" -" may not be able to create instances of such subclasses without getting a " -":exc:`TypeError`.)" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:372 -msgid "" -"We also define an initialization function which accepts arguments to provide" -" initial values for our instance::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:375 -msgid "" -"static int\n" -"Custom_init(PyObject *op, PyObject *args, PyObject *kwds)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" static char *kwlist[] = {\"first\", \"last\", \"number\", NULL};\n" -" PyObject *first = NULL, *last = NULL, *tmp;\n" -"\n" -" if (!PyArg_ParseTupleAndKeywords(args, kwds, \"|OOi\", kwlist,\n" -" &first, &last,\n" -" &self->number))\n" -" return -1;\n" -"\n" -" if (first) {\n" -" tmp = self->first;\n" -" Py_INCREF(first);\n" -" self->first = first;\n" -" Py_XDECREF(tmp);\n" -" }\n" -" if (last) {\n" -" tmp = self->last;\n" -" Py_INCREF(last);\n" -" self->last = last;\n" -" Py_XDECREF(tmp);\n" -" }\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:402 -msgid "by filling the :c:member:`~PyTypeObject.tp_init` slot. ::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:404 -msgid ".tp_init = Custom_init," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:406 -msgid "" -"The :c:member:`~PyTypeObject.tp_init` slot is exposed in Python as the " -":meth:`~object.__init__` method. It is used to initialize an object after " -"it's created. Initializers always accept positional and keyword arguments, " -"and they should return either ``0`` on success or ``-1`` on error." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:411 -msgid "" -"Unlike the ``tp_new`` handler, there is no guarantee that ``tp_init`` is " -"called at all (for example, the :mod:`pickle` module by default doesn't call" -" :meth:`~object.__init__` on unpickled instances). It can also be called " -"multiple times. Anyone can call the :meth:`!__init__` method on our " -"objects. For this reason, we have to be extra careful when assigning the " -"new attribute values. We might be tempted, for example to assign the " -"``first`` member like this::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:419 -msgid "" -"if (first) {\n" -" Py_XDECREF(self->first);\n" -" Py_INCREF(first);\n" -" self->first = first;\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:425 -msgid "" -"But this would be risky. Our type doesn't restrict the type of the " -"``first`` member, so it could be any kind of object. It could have a " -"destructor that causes code to be executed that tries to access the " -"``first`` member; or that destructor could detach the :term:`thread state " -"` and let arbitrary code run in other threads that " -"accesses and modifies our object." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:432 -msgid "" -"To be paranoid and protect ourselves against this possibility, we almost " -"always reassign members before decrementing their reference counts. When " -"don't we have to do this?" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:436 -msgid "when we absolutely know that the reference count is greater than 1;" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:438 -msgid "" -"when we know that deallocation of the object [#]_ will neither detach the " -":term:`thread state ` nor cause any calls back into " -"our type's code;" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:441 -msgid "" -"when decrementing a reference count in a " -":c:member:`~PyTypeObject.tp_dealloc` handler on a type which doesn't support" -" cyclic garbage collection [#]_." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:444 -msgid "" -"We want to expose our instance variables as attributes. There are a number " -"of ways to do that. The simplest way is to define member definitions::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:447 -msgid "" -"static PyMemberDef Custom_members[] = {\n" -" {\"first\", Py_T_OBJECT_EX, offsetof(CustomObject, first), 0,\n" -" \"first name\"},\n" -" {\"last\", Py_T_OBJECT_EX, offsetof(CustomObject, last), 0,\n" -" \"last name\"},\n" -" {\"number\", Py_T_INT, offsetof(CustomObject, number), 0,\n" -" \"custom number\"},\n" -" {NULL} /* Sentinel */\n" -"};" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:457 -msgid "" -"and put the definitions in the :c:member:`~PyTypeObject.tp_members` slot::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:459 -msgid ".tp_members = Custom_members," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:461 -msgid "" -"Each member definition has a member name, type, offset, access flags and " -"documentation string. See the :ref:`Generic-Attribute-Management` section " -"below for details." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:465 -msgid "" -"A disadvantage of this approach is that it doesn't provide a way to restrict" -" the types of objects that can be assigned to the Python attributes. We " -"expect the first and last names to be strings, but any Python objects can be" -" assigned. Further, the attributes can be deleted, setting the C pointers to" -" ``NULL``. Even though we can make sure the members are initialized to " -"non-``NULL`` values, the members can be set to ``NULL`` if the attributes " -"are deleted." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:472 -msgid "" -"We define a single method, :meth:`!Custom.name`, that outputs the objects " -"name as the concatenation of the first and last names. ::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:475 -msgid "" -"static PyObject *\n" -"Custom_name(PyObject *op, PyObject *Py_UNUSED(dummy))\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" if (self->first == NULL) {\n" -" PyErr_SetString(PyExc_AttributeError, \"first\");\n" -" return NULL;\n" -" }\n" -" if (self->last == NULL) {\n" -" PyErr_SetString(PyExc_AttributeError, \"last\");\n" -" return NULL;\n" -" }\n" -" return PyUnicode_FromFormat(\"%S %S\", self->first, self->last);\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:490 -msgid "" -"The method is implemented as a C function that takes a :class:`!Custom` (or " -":class:`!Custom` subclass) instance as the first argument. Methods always " -"take an instance as the first argument. Methods often take positional and " -"keyword arguments as well, but in this case we don't take any and don't need" -" to accept a positional argument tuple or keyword argument dictionary. This " -"method is equivalent to the Python method:" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:497 -msgid "" -"def name(self):\n" -" return \"%s %s\" % (self.first, self.last)" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:502 -msgid "" -"Note that we have to check for the possibility that our :attr:`!first` and " -":attr:`!last` members are ``NULL``. This is because they can be deleted, in" -" which case they are set to ``NULL``. It would be better to prevent " -"deletion of these attributes and to restrict the attribute values to be " -"strings. We'll see how to do that in the next section." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:508 -msgid "" -"Now that we've defined the method, we need to create an array of method " -"definitions::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:511 -msgid "" -"static PyMethodDef Custom_methods[] = {\n" -" {\"name\", Custom_name, METH_NOARGS,\n" -" \"Return the name, combining the first and last name\"\n" -" },\n" -" {NULL} /* Sentinel */\n" -"};" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:518 -msgid "" -"(note that we used the :c:macro:`METH_NOARGS` flag to indicate that the " -"method is expecting no arguments other than *self*)" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:521 -msgid "and assign it to the :c:member:`~PyTypeObject.tp_methods` slot::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:523 -msgid ".tp_methods = Custom_methods," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:525 -msgid "" -"Finally, we'll make our type usable as a base class for subclassing. We've " -"written our methods carefully so far so that they don't make any assumptions" -" about the type of the object being created or used, so all we need to do is" -" to add the :c:macro:`Py_TPFLAGS_BASETYPE` to our class flag definition::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:530 -msgid ".tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:532 -msgid "" -"We rename :c:func:`!PyInit_custom` to :c:func:`!PyInit_custom2`, update the " -"module name in the :c:type:`PyModuleDef` struct, and update the full class " -"name in the :c:type:`PyTypeObject` struct." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:536 -msgid "" -"Finally, we update our :file:`setup.py` file to include the new module," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:538 -msgid "" -"from setuptools import Extension, setup\n" -"setup(ext_modules=[\n" -" Extension(\"custom\", [\"custom.c\"]),\n" -" Extension(\"custom2\", [\"custom2.c\"]),\n" -"])" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:546 -msgid "and then we re-install so that we can ``import custom2``:" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:553 -msgid "Providing finer control over data attributes" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:555 -msgid "" -"In this section, we'll provide finer control over how the :attr:`!first` and" -" :attr:`!last` attributes are set in the :class:`!Custom` example. In the " -"previous version of our module, the instance variables :attr:`!first` and " -":attr:`!last` could be set to non-string values or even deleted. We want to " -"make sure that these attributes always contain strings." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:561 -msgid "" -"#define PY_SSIZE_T_CLEAN\n" -"#include \n" -"#include /* for offsetof() */\n" -"\n" -"typedef struct {\n" -" PyObject_HEAD\n" -" PyObject *first; /* first name */\n" -" PyObject *last; /* last name */\n" -" int number;\n" -"} CustomObject;\n" -"\n" -"static void\n" -"Custom_dealloc(PyObject *op)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" Py_XDECREF(self->first);\n" -" Py_XDECREF(self->last);\n" -" Py_TYPE(self)->tp_free(self);\n" -"}\n" -"\n" -"static PyObject *\n" -"Custom_new(PyTypeObject *type, PyObject *args, PyObject *kwds)\n" -"{\n" -" CustomObject *self;\n" -" self = (CustomObject *) type->tp_alloc(type, 0);\n" -" if (self != NULL) {\n" -" self->first = Py_GetConstant(Py_CONSTANT_EMPTY_STR);\n" -" if (self->first == NULL) {\n" -" Py_DECREF(self);\n" -" return NULL;\n" -" }\n" -" self->last = Py_GetConstant(Py_CONSTANT_EMPTY_STR);\n" -" if (self->last == NULL) {\n" -" Py_DECREF(self);\n" -" return NULL;\n" -" }\n" -" self->number = 0;\n" -" }\n" -" return (PyObject *) self;\n" -"}\n" -"\n" -"static int\n" -"Custom_init(PyObject *op, PyObject *args, PyObject *kwds)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" static char *kwlist[] = {\"first\", \"last\", \"number\", NULL};\n" -" PyObject *first = NULL, *last = NULL;\n" -"\n" -" if (!PyArg_ParseTupleAndKeywords(args, kwds, \"|UUi\", kwlist,\n" -" &first, &last,\n" -" &self->number))\n" -" return -1;\n" -"\n" -" if (first) {\n" -" Py_SETREF(self->first, Py_NewRef(first));\n" -" }\n" -" if (last) {\n" -" Py_SETREF(self->last, Py_NewRef(last));\n" -" }\n" -" return 0;\n" -"}\n" -"\n" -"static PyMemberDef Custom_members[] = {\n" -" {\"number\", Py_T_INT, offsetof(CustomObject, number), 0,\n" -" \"custom number\"},\n" -" {NULL} /* Sentinel */\n" -"};\n" -"\n" -"static PyObject *\n" -"Custom_getfirst(PyObject *op, void *closure)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" return Py_NewRef(self->first);\n" -"}\n" -"\n" -"static int\n" -"Custom_setfirst(PyObject *op, PyObject *value, void *closure)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" if (value == NULL) {\n" -" PyErr_SetString(PyExc_TypeError, \"Cannot delete the first attribute\");\n" -" return -1;\n" -" }\n" -" if (!PyUnicode_Check(value)) {\n" -" PyErr_SetString(PyExc_TypeError,\n" -" \"The first attribute value must be a string\");\n" -" return -1;\n" -" }\n" -" Py_SETREF(self->first, Py_NewRef(value));\n" -" return 0;\n" -"}\n" -"\n" -"static PyObject *\n" -"Custom_getlast(PyObject *op, void *closure)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" return Py_NewRef(self->last);\n" -"}\n" -"\n" -"static int\n" -"Custom_setlast(PyObject *op, PyObject *value, void *closure)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" if (value == NULL) {\n" -" PyErr_SetString(PyExc_TypeError, \"Cannot delete the last attribute\");\n" -" return -1;\n" -" }\n" -" if (!PyUnicode_Check(value)) {\n" -" PyErr_SetString(PyExc_TypeError,\n" -" \"The last attribute value must be a string\");\n" -" return -1;\n" -" }\n" -" Py_SETREF(self->last, Py_NewRef(value));\n" -" return 0;\n" -"}\n" -"\n" -"static PyGetSetDef Custom_getsetters[] = {\n" -" {\"first\", Custom_getfirst, Custom_setfirst,\n" -" \"first name\", NULL},\n" -" {\"last\", Custom_getlast, Custom_setlast,\n" -" \"last name\", NULL},\n" -" {NULL} /* Sentinel */\n" -"};\n" -"\n" -"static PyObject *\n" -"Custom_name(PyObject *op, PyObject *Py_UNUSED(dummy))\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" return PyUnicode_FromFormat(\"%S %S\", self->first, self->last);\n" -"}\n" -"\n" -"static PyMethodDef Custom_methods[] = {\n" -" {\"name\", Custom_name, METH_NOARGS,\n" -" \"Return the name, combining the first and last name\"\n" -" },\n" -" {NULL} /* Sentinel */\n" -"};\n" -"\n" -"static PyTypeObject CustomType = {\n" -" .ob_base = PyVarObject_HEAD_INIT(NULL, 0)\n" -" .tp_name = \"custom3.Custom\",\n" -" .tp_doc = PyDoc_STR(\"Custom objects\"),\n" -" .tp_basicsize = sizeof(CustomObject),\n" -" .tp_itemsize = 0,\n" -" .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,\n" -" .tp_new = Custom_new,\n" -" .tp_init = Custom_init,\n" -" .tp_dealloc = Custom_dealloc,\n" -" .tp_members = Custom_members,\n" -" .tp_methods = Custom_methods,\n" -" .tp_getset = Custom_getsetters,\n" -"};\n" -"\n" -"static PyModuleDef custommodule = {\n" -" .m_base = PyModuleDef_HEAD_INIT,\n" -" .m_name = \"custom3\",\n" -" .m_doc = \"Example module that creates an extension type.\",\n" -" .m_size = -1,\n" -"};\n" -"\n" -"PyMODINIT_FUNC\n" -"PyInit_custom3(void)\n" -"{\n" -" PyObject *m;\n" -" if (PyType_Ready(&CustomType) < 0)\n" -" return NULL;\n" -"\n" -" m = PyModule_Create(&custommodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" -" if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) {\n" -" Py_DECREF(m);\n" -" return NULL;\n" -" }\n" -"\n" -" return m;\n" -"}\n" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:564 -msgid "" -"To provide greater control, over the :attr:`!first` and :attr:`!last` " -"attributes, we'll use custom getter and setter functions. Here are the " -"functions for getting and setting the :attr:`!first` attribute::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:568 -msgid "" -"static PyObject *\n" -"Custom_getfirst(PyObject *op, void *closure)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" Py_INCREF(self->first);\n" -" return self->first;\n" -"}\n" -"\n" -"static int\n" -"Custom_setfirst(PyObject *op, PyObject *value, void *closure)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" PyObject *tmp;\n" -" if (value == NULL) {\n" -" PyErr_SetString(PyExc_TypeError, \"Cannot delete the first attribute\");\n" -" return -1;\n" -" }\n" -" if (!PyUnicode_Check(value)) {\n" -" PyErr_SetString(PyExc_TypeError,\n" -" \"The first attribute value must be a string\");\n" -" return -1;\n" -" }\n" -" tmp = self->first;\n" -" Py_INCREF(value);\n" -" self->first = value;\n" -" Py_DECREF(tmp);\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:597 -msgid "" -"The getter function is passed a :class:`!Custom` object and a \"closure\", " -"which is a void pointer. In this case, the closure is ignored. (The " -"closure supports an advanced usage in which definition data is passed to the" -" getter and setter. This could, for example, be used to allow a single set " -"of getter and setter functions that decide the attribute to get or set based" -" on data in the closure.)" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:603 -msgid "" -"The setter function is passed the :class:`!Custom` object, the new value, " -"and the closure. The new value may be ``NULL``, in which case the attribute" -" is being deleted. In our setter, we raise an error if the attribute is " -"deleted or if its new value is not a string." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:608 -msgid "We create an array of :c:type:`PyGetSetDef` structures::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:610 -msgid "" -"static PyGetSetDef Custom_getsetters[] = {\n" -" {\"first\", Custom_getfirst, Custom_setfirst,\n" -" \"first name\", NULL},\n" -" {\"last\", Custom_getlast, Custom_setlast,\n" -" \"last name\", NULL},\n" -" {NULL} /* Sentinel */\n" -"};" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:618 -msgid "and register it in the :c:member:`~PyTypeObject.tp_getset` slot::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:620 -msgid ".tp_getset = Custom_getsetters," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:622 -msgid "" -"The last item in a :c:type:`PyGetSetDef` structure is the \"closure\" " -"mentioned above. In this case, we aren't using a closure, so we just pass " -"``NULL``." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:625 -msgid "We also remove the member definitions for these attributes::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:627 -msgid "" -"static PyMemberDef Custom_members[] = {\n" -" {\"number\", Py_T_INT, offsetof(CustomObject, number), 0,\n" -" \"custom number\"},\n" -" {NULL} /* Sentinel */\n" -"};" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:633 -msgid "" -"We also need to update the :c:member:`~PyTypeObject.tp_init` handler to only" -" allow strings [#]_ to be passed::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:636 -msgid "" -"static int\n" -"Custom_init(PyObject *op, PyObject *args, PyObject *kwds)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" static char *kwlist[] = {\"first\", \"last\", \"number\", NULL};\n" -" PyObject *first = NULL, *last = NULL, *tmp;\n" -"\n" -" if (!PyArg_ParseTupleAndKeywords(args, kwds, \"|UUi\", kwlist,\n" -" &first, &last,\n" -" &self->number))\n" -" return -1;\n" -"\n" -" if (first) {\n" -" tmp = self->first;\n" -" Py_INCREF(first);\n" -" self->first = first;\n" -" Py_DECREF(tmp);\n" -" }\n" -" if (last) {\n" -" tmp = self->last;\n" -" Py_INCREF(last);\n" -" self->last = last;\n" -" Py_DECREF(tmp);\n" -" }\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:663 -msgid "" -"With these changes, we can assure that the ``first`` and ``last`` members " -"are never ``NULL`` so we can remove checks for ``NULL`` values in almost all" -" cases. This means that most of the :c:func:`Py_XDECREF` calls can be " -"converted to :c:func:`Py_DECREF` calls. The only place we can't change " -"these calls is in the ``tp_dealloc`` implementation, where there is the " -"possibility that the initialization of these members failed in ``tp_new``." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:670 -msgid "" -"We also rename the module initialization function and module name in the " -"initialization function, as we did before, and we add an extra definition to" -" the :file:`setup.py` file." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:676 -msgid "Supporting cyclic garbage collection" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:678 -msgid "" -"Python has a :term:`cyclic garbage collector (GC) ` that" -" can identify unneeded objects even when their reference counts are not " -"zero. This can happen when objects are involved in cycles. For example, " -"consider:" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:682 -msgid "" -">>> l = []\n" -">>> l.append(l)\n" -">>> del l" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:688 -msgid "" -"In this example, we create a list that contains itself. When we delete it, " -"it still has a reference from itself. Its reference count doesn't drop to " -"zero. Fortunately, Python's cyclic garbage collector will eventually figure " -"out that the list is garbage and free it." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:693 -msgid "" -"In the second version of the :class:`!Custom` example, we allowed any kind " -"of object to be stored in the :attr:`!first` or :attr:`!last` attributes " -"[#]_. Besides, in the second and third versions, we allowed subclassing " -":class:`!Custom`, and subclasses may add arbitrary attributes. For any of " -"those two reasons, :class:`!Custom` objects can participate in cycles:" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:699 -msgid "" -">>> import custom3\n" -">>> class Derived(custom3.Custom): pass\n" -"...\n" -">>> n = Derived()\n" -">>> n.some_attribute = n" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:707 -msgid "" -"To allow a :class:`!Custom` instance participating in a reference cycle to " -"be properly detected and collected by the cyclic GC, our :class:`!Custom` " -"type needs to fill two additional slots and to enable a flag that enables " -"these slots:" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:711 -msgid "" -"#define PY_SSIZE_T_CLEAN\n" -"#include \n" -"#include /* for offsetof() */\n" -"\n" -"typedef struct {\n" -" PyObject_HEAD\n" -" PyObject *first; /* first name */\n" -" PyObject *last; /* last name */\n" -" int number;\n" -"} CustomObject;\n" -"\n" -"static int\n" -"Custom_traverse(PyObject *op, visitproc visit, void *arg)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" Py_VISIT(self->first);\n" -" Py_VISIT(self->last);\n" -" return 0;\n" -"}\n" -"\n" -"static int\n" -"Custom_clear(PyObject *op)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" Py_CLEAR(self->first);\n" -" Py_CLEAR(self->last);\n" -" return 0;\n" -"}\n" -"\n" -"static void\n" -"Custom_dealloc(PyObject *op)\n" -"{\n" -" PyObject_GC_UnTrack(op);\n" -" (void)Custom_clear(op);\n" -" Py_TYPE(op)->tp_free(op);\n" -"}\n" -"\n" -"static PyObject *\n" -"Custom_new(PyTypeObject *type, PyObject *args, PyObject *kwds)\n" -"{\n" -" CustomObject *self;\n" -" self = (CustomObject *) type->tp_alloc(type, 0);\n" -" if (self != NULL) {\n" -" self->first = Py_GetConstant(Py_CONSTANT_EMPTY_STR);\n" -" if (self->first == NULL) {\n" -" Py_DECREF(self);\n" -" return NULL;\n" -" }\n" -" self->last = Py_GetConstant(Py_CONSTANT_EMPTY_STR);\n" -" if (self->last == NULL) {\n" -" Py_DECREF(self);\n" -" return NULL;\n" -" }\n" -" self->number = 0;\n" -" }\n" -" return (PyObject *) self;\n" -"}\n" -"\n" -"static int\n" -"Custom_init(PyObject *op, PyObject *args, PyObject *kwds)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" static char *kwlist[] = {\"first\", \"last\", \"number\", NULL};\n" -" PyObject *first = NULL, *last = NULL;\n" -"\n" -" if (!PyArg_ParseTupleAndKeywords(args, kwds, \"|UUi\", kwlist,\n" -" &first, &last,\n" -" &self->number))\n" -" return -1;\n" -"\n" -" if (first) {\n" -" Py_SETREF(self->first, Py_NewRef(first));\n" -" }\n" -" if (last) {\n" -" Py_SETREF(self->last, Py_NewRef(last));\n" -" }\n" -" return 0;\n" -"}\n" -"\n" -"static PyMemberDef Custom_members[] = {\n" -" {\"number\", Py_T_INT, offsetof(CustomObject, number), 0,\n" -" \"custom number\"},\n" -" {NULL} /* Sentinel */\n" -"};\n" -"\n" -"static PyObject *\n" -"Custom_getfirst(PyObject *op, void *closure)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" return Py_NewRef(self->first);\n" -"}\n" -"\n" -"static int\n" -"Custom_setfirst(PyObject *op, PyObject *value, void *closure)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" if (value == NULL) {\n" -" PyErr_SetString(PyExc_TypeError, \"Cannot delete the first attribute\");\n" -" return -1;\n" -" }\n" -" if (!PyUnicode_Check(value)) {\n" -" PyErr_SetString(PyExc_TypeError,\n" -" \"The first attribute value must be a string\");\n" -" return -1;\n" -" }\n" -" Py_XSETREF(self->first, Py_NewRef(value));\n" -" return 0;\n" -"}\n" -"\n" -"static PyObject *\n" -"Custom_getlast(PyObject *op, void *closure)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" return Py_NewRef(self->last);\n" -"}\n" -"\n" -"static int\n" -"Custom_setlast(PyObject *op, PyObject *value, void *closure)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" if (value == NULL) {\n" -" PyErr_SetString(PyExc_TypeError, \"Cannot delete the last attribute\");\n" -" return -1;\n" -" }\n" -" if (!PyUnicode_Check(value)) {\n" -" PyErr_SetString(PyExc_TypeError,\n" -" \"The last attribute value must be a string\");\n" -" return -1;\n" -" }\n" -" Py_XSETREF(self->last, Py_NewRef(value));\n" -" return 0;\n" -"}\n" -"\n" -"static PyGetSetDef Custom_getsetters[] = {\n" -" {\"first\", Custom_getfirst, Custom_setfirst,\n" -" \"first name\", NULL},\n" -" {\"last\", Custom_getlast, Custom_setlast,\n" -" \"last name\", NULL},\n" -" {NULL} /* Sentinel */\n" -"};\n" -"\n" -"static PyObject *\n" -"Custom_name(PyObject *op, PyObject *Py_UNUSED(dummy))\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" return PyUnicode_FromFormat(\"%S %S\", self->first, self->last);\n" -"}\n" -"\n" -"static PyMethodDef Custom_methods[] = {\n" -" {\"name\", Custom_name, METH_NOARGS,\n" -" \"Return the name, combining the first and last name\"\n" -" },\n" -" {NULL} /* Sentinel */\n" -"};\n" -"\n" -"static PyTypeObject CustomType = {\n" -" .ob_base = PyVarObject_HEAD_INIT(NULL, 0)\n" -" .tp_name = \"custom4.Custom\",\n" -" .tp_doc = PyDoc_STR(\"Custom objects\"),\n" -" .tp_basicsize = sizeof(CustomObject),\n" -" .tp_itemsize = 0,\n" -" .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC,\n" -" .tp_new = Custom_new,\n" -" .tp_init = Custom_init,\n" -" .tp_dealloc = Custom_dealloc,\n" -" .tp_traverse = Custom_traverse,\n" -" .tp_clear = Custom_clear,\n" -" .tp_members = Custom_members,\n" -" .tp_methods = Custom_methods,\n" -" .tp_getset = Custom_getsetters,\n" -"};\n" -"\n" -"static PyModuleDef custommodule = {\n" -" .m_base = PyModuleDef_HEAD_INIT,\n" -" .m_name = \"custom4\",\n" -" .m_doc = \"Example module that creates an extension type.\",\n" -" .m_size = -1,\n" -"};\n" -"\n" -"PyMODINIT_FUNC\n" -"PyInit_custom4(void)\n" -"{\n" -" PyObject *m;\n" -" if (PyType_Ready(&CustomType) < 0)\n" -" return NULL;\n" -"\n" -" m = PyModule_Create(&custommodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" -" if (PyModule_AddObjectRef(m, \"Custom\", (PyObject *) &CustomType) < 0) {\n" -" Py_DECREF(m);\n" -" return NULL;\n" -" }\n" -"\n" -" return m;\n" -"}\n" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:714 -msgid "" -"First, the traversal method lets the cyclic GC know about subobjects that " -"could participate in cycles::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:717 -msgid "" -"static int\n" -"Custom_traverse(PyObject *op, visitproc visit, void *arg)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" int vret;\n" -" if (self->first) {\n" -" vret = visit(self->first, arg);\n" -" if (vret != 0)\n" -" return vret;\n" -" }\n" -" if (self->last) {\n" -" vret = visit(self->last, arg);\n" -" if (vret != 0)\n" -" return vret;\n" -" }\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:735 -msgid "" -"For each subobject that can participate in cycles, we need to call the " -":c:func:`!visit` function, which is passed to the traversal method. The " -":c:func:`!visit` function takes as arguments the subobject and the extra " -"argument *arg* passed to the traversal method. It returns an integer value " -"that must be returned if it is non-zero." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:741 -msgid "" -"Python provides a :c:func:`Py_VISIT` macro that automates calling visit " -"functions. With :c:func:`Py_VISIT`, we can minimize the amount of " -"boilerplate in ``Custom_traverse``::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:745 -msgid "" -"static int\n" -"Custom_traverse(PyObject *op, visitproc visit, void *arg)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" Py_VISIT(self->first);\n" -" Py_VISIT(self->last);\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:755 -msgid "" -"The :c:member:`~PyTypeObject.tp_traverse` implementation must name its " -"arguments exactly *visit* and *arg* in order to use :c:func:`Py_VISIT`." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:758 -msgid "" -"Second, we need to provide a method for clearing any subobjects that can " -"participate in cycles::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:761 -msgid "" -"static int\n" -"Custom_clear(PyObject *op)\n" -"{\n" -" CustomObject *self = (CustomObject *) op;\n" -" Py_CLEAR(self->first);\n" -" Py_CLEAR(self->last);\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:770 -msgid "" -"Notice the use of the :c:func:`Py_CLEAR` macro. It is the recommended and " -"safe way to clear data attributes of arbitrary types while decrementing " -"their reference counts. If you were to call :c:func:`Py_XDECREF` instead on" -" the attribute before setting it to ``NULL``, there is a possibility that " -"the attribute's destructor would call back into code that reads the " -"attribute again (*especially* if there is a reference cycle)." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:778 -msgid "You could emulate :c:func:`Py_CLEAR` by writing::" -msgstr "Anda dapat mengemulasikan :c:func:`Py_CLEAR` dengan menulis::" - -#: ../../extending/newtypes_tutorial.rst:780 -msgid "" -"PyObject *tmp;\n" -"tmp = self->first;\n" -"self->first = NULL;\n" -"Py_XDECREF(tmp);" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:785 -msgid "" -"Nevertheless, it is much easier and less error-prone to always use " -":c:func:`Py_CLEAR` when deleting an attribute. Don't try to micro-optimize " -"at the expense of robustness!" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:789 -msgid "" -"The deallocator ``Custom_dealloc`` may call arbitrary code when clearing " -"attributes. It means the circular GC can be triggered inside the function. " -"Since the GC assumes reference count is not zero, we need to untrack the " -"object from the GC by calling :c:func:`PyObject_GC_UnTrack` before clearing " -"members. Here is our reimplemented deallocator using " -":c:func:`PyObject_GC_UnTrack` and ``Custom_clear``::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:796 -msgid "" -"static void\n" -"Custom_dealloc(PyObject *op)\n" -"{\n" -" PyObject_GC_UnTrack(op);\n" -" (void)Custom_clear(op);\n" -" Py_TYPE(op)->tp_free(op);\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:804 -msgid "" -"Finally, we add the :c:macro:`Py_TPFLAGS_HAVE_GC` flag to the class flags::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:806 -msgid "" -".tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC," -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:808 -msgid "" -"That's pretty much it. If we had written custom " -":c:member:`~PyTypeObject.tp_alloc` or :c:member:`~PyTypeObject.tp_free` " -"handlers, we'd need to modify them for cyclic garbage collection. Most " -"extensions will use the versions automatically provided." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:814 -msgid "Subclassing other types" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:816 -msgid "" -"It is possible to create new extension types that are derived from existing " -"types. It is easiest to inherit from the built in types, since an extension " -"can easily use the :c:type:`PyTypeObject` it needs. It can be difficult to " -"share these :c:type:`PyTypeObject` structures between extension modules." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:821 -msgid "" -"In this example we will create a :class:`!SubList` type that inherits from " -"the built-in :class:`list` type. The new type will be completely compatible " -"with regular lists, but will have an additional :meth:`!increment` method " -"that increases an internal counter:" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:826 -msgid "" -">>> import sublist\n" -">>> s = sublist.SubList(range(3))\n" -">>> s.extend(s)\n" -">>> print(len(s))\n" -"6\n" -">>> print(s.increment())\n" -"1\n" -">>> print(s.increment())\n" -"2" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:838 -msgid "" -"#define PY_SSIZE_T_CLEAN\n" -"#include \n" -"\n" -"typedef struct {\n" -" PyListObject list;\n" -" int state;\n" -"} SubListObject;\n" -"\n" -"static PyObject *\n" -"SubList_increment(PyObject *op, PyObject *Py_UNUSED(dummy))\n" -"{\n" -" SubListObject *self = (SubListObject *) op;\n" -" self->state++;\n" -" return PyLong_FromLong(self->state);\n" -"}\n" -"\n" -"static PyMethodDef SubList_methods[] = {\n" -" {\"increment\", SubList_increment, METH_NOARGS,\n" -" PyDoc_STR(\"increment state counter\")},\n" -" {NULL},\n" -"};\n" -"\n" -"static int\n" -"SubList_init(PyObject *op, PyObject *args, PyObject *kwds)\n" -"{\n" -" SubListObject *self = (SubListObject *) op;\n" -" if (PyList_Type.tp_init(op, args, kwds) < 0)\n" -" return -1;\n" -" self->state = 0;\n" -" return 0;\n" -"}\n" -"\n" -"static PyTypeObject SubListType = {\n" -" PyVarObject_HEAD_INIT(NULL, 0)\n" -" .tp_name = \"sublist.SubList\",\n" -" .tp_doc = PyDoc_STR(\"SubList objects\"),\n" -" .tp_basicsize = sizeof(SubListObject),\n" -" .tp_itemsize = 0,\n" -" .tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,\n" -" .tp_init = SubList_init,\n" -" .tp_methods = SubList_methods,\n" -"};\n" -"\n" -"static PyModuleDef sublistmodule = {\n" -" PyModuleDef_HEAD_INIT,\n" -" .m_name = \"sublist\",\n" -" .m_doc = \"Example module that creates an extension type.\",\n" -" .m_size = -1,\n" -"};\n" -"\n" -"PyMODINIT_FUNC\n" -"PyInit_sublist(void)\n" -"{\n" -" PyObject *m;\n" -" SubListType.tp_base = &PyList_Type;\n" -" if (PyType_Ready(&SubListType) < 0)\n" -" return NULL;\n" -"\n" -" m = PyModule_Create(&sublistmodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" -" if (PyModule_AddObjectRef(m, \"SubList\", (PyObject *) &SubListType) < 0) {\n" -" Py_DECREF(m);\n" -" return NULL;\n" -" }\n" -"\n" -" return m;\n" -"}\n" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:841 -msgid "" -"As you can see, the source code closely resembles the :class:`!Custom` " -"examples in previous sections. We will break down the main differences " -"between them. ::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:844 -msgid "" -"typedef struct {\n" -" PyListObject list;\n" -" int state;\n" -"} SubListObject;" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:849 -msgid "" -"The primary difference for derived type objects is that the base type's " -"object structure must be the first value. The base type will already " -"include the :c:func:`PyObject_HEAD` at the beginning of its structure." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:853 -msgid "" -"When a Python object is a :class:`!SubList` instance, its ``PyObject *`` " -"pointer can be safely cast to both ``PyListObject *`` and ``SubListObject " -"*``::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:856 -msgid "" -"static int\n" -"SubList_init(PyObject *op, PyObject *args, PyObject *kwds)\n" -"{\n" -" SubListObject *self = (SubListObject *) op;\n" -" if (PyList_Type.tp_init(op, args, kwds) < 0)\n" -" return -1;\n" -" self->state = 0;\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:866 -msgid "" -"We see above how to call through to the :meth:`~object.__init__` method of " -"the base type." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:869 -msgid "" -"This pattern is important when writing a type with custom " -":c:member:`~PyTypeObject.tp_new` and :c:member:`~PyTypeObject.tp_dealloc` " -"members. The :c:member:`~PyTypeObject.tp_new` handler should not actually " -"create the memory for the object with its " -":c:member:`~PyTypeObject.tp_alloc`, but let the base class handle it by " -"calling its own :c:member:`~PyTypeObject.tp_new`." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:875 -msgid "" -"The :c:type:`PyTypeObject` struct supports a " -":c:member:`~PyTypeObject.tp_base` specifying the type's concrete base class." -" Due to cross-platform compiler issues, you can't fill that field directly " -"with a reference to :c:type:`PyList_Type`; it should be done later in the " -"module initialization function::" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:881 -msgid "" -"PyMODINIT_FUNC\n" -"PyInit_sublist(void)\n" -"{\n" -" PyObject* m;\n" -" SubListType.tp_base = &PyList_Type;\n" -" if (PyType_Ready(&SubListType) < 0)\n" -" return NULL;\n" -"\n" -" m = PyModule_Create(&sublistmodule);\n" -" if (m == NULL)\n" -" return NULL;\n" -"\n" -" if (PyModule_AddObjectRef(m, \"SubList\", (PyObject *) &SubListType) < 0) {\n" -" Py_DECREF(m);\n" -" return NULL;\n" -" }\n" -"\n" -" return m;\n" -"}" -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:901 -msgid "" -"Before calling :c:func:`PyType_Ready`, the type structure must have the " -":c:member:`~PyTypeObject.tp_base` slot filled in. When we are deriving an " -"existing type, it is not necessary to fill out the " -":c:member:`~PyTypeObject.tp_alloc` slot with :c:func:`PyType_GenericNew` -- " -"the allocation function from the base type will be inherited." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:907 -msgid "" -"After that, calling :c:func:`PyType_Ready` and adding the type object to the" -" module is the same as with the basic :class:`!Custom` examples." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:912 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../extending/newtypes_tutorial.rst:913 -msgid "" -"This is true when we know that the object is a basic type, like a string or " -"a float." -msgstr "" -"Hal ini benar ketika kita tahu bahwa objek adalah tipe dasar, seperti string" -" atau float." - -#: ../../extending/newtypes_tutorial.rst:916 -msgid "" -"We relied on this in the :c:member:`~PyTypeObject.tp_dealloc` handler in " -"this example, because our type doesn't support garbage collection." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:919 -msgid "" -"We now know that the first and last members are strings, so perhaps we could" -" be less careful about decrementing their reference counts, however, we " -"accept instances of string subclasses. Even though deallocating normal " -"strings won't call back into our objects, we can't guarantee that " -"deallocating an instance of a string subclass won't call back into our " -"objects." -msgstr "" - -#: ../../extending/newtypes_tutorial.rst:925 -msgid "" -"Also, even with our attributes restricted to strings instances, the user " -"could pass arbitrary :class:`str` subclasses and therefore still create " -"reference cycles." -msgstr "" diff --git a/python-newest.extending--windows/id.po b/python-newest.extending--windows/id.po deleted file mode 100644 index 8ccad50..0000000 --- a/python-newest.extending--windows/id.po +++ /dev/null @@ -1,255 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Elmo , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../extending/windows.rst:8 -msgid "Building C and C++ Extensions on Windows" -msgstr "Membangun Ekstensi C dan C++ di Windows" - -#: ../../extending/windows.rst:10 -msgid "" -"This chapter briefly explains how to create a Windows extension module for " -"Python using Microsoft Visual C++, and follows with more detailed background" -" information on how it works. The explanatory material is useful for both " -"the Windows programmer learning to build Python extensions and the Unix " -"programmer interested in producing software which can be successfully built " -"on both Unix and Windows." -msgstr "" -"Bab ini menjelaskan secara singkat cara membuat modul ekstensi Windows untuk" -" Python menggunakan Microsoft Visual C++, dan diikuti dengan informasi latar" -" belakang yang lebih rinci tentang cara kerjanya. Materi penjelasan berguna " -"untuk pemrogram Windows yang belajar membuat ekstensi Python dan pemrogram " -"Unix yang tertarik untuk memproduksi perangkat lunak yang dapat dibangun di " -"Unix dan Windows." - -#: ../../extending/windows.rst:17 -msgid "" -"Module authors are encouraged to use the distutils approach for building " -"extension modules, instead of the one described in this section. You will " -"still need the C compiler that was used to build Python; typically Microsoft" -" Visual C++." -msgstr "" -"Penulis modul didorong untuk menggunakan pendekatan distutil untuk membangun" -" modul ekstensi, daripada yang dijelaskan di bagian ini. Anda masih " -"memerlukan kompiler C yang digunakan untuk membangun Python; biasanya " -"Microsoft Visual C++." - -#: ../../extending/windows.rst:24 -msgid "" -"This chapter mentions a number of filenames that include an encoded Python " -"version number. These filenames are represented with the version number " -"shown as ``XY``; in practice, ``'X'`` will be the major version number and " -"``'Y'`` will be the minor version number of the Python release you're " -"working with. For example, if you are using Python 2.2.1, ``XY`` will " -"actually be ``22``." -msgstr "" -"Bab ini menyebutkan sejumlah nama file yang menyertakan nomor versi Python " -"yang disandikan. Nama file ini diwakili dengan nomor versi yang ditampilkan " -"sebagai ``XY``; dalam praktiknya, ``'X'`` akan menjadi nomor versi utama dan" -" ``'Y'`` akan menjadi nomor versi minor dari rilis Python yang sedang Anda " -"kerjakan. Misalnya, jika Anda menggunakan Python 2.2.1, ``XY`` sebenarnya " -"akan menjadi ``22``." - -#: ../../extending/windows.rst:34 -msgid "A Cookbook Approach" -msgstr "" - -#: ../../extending/windows.rst:36 -msgid "" -"There are two approaches to building extension modules on Windows, just as " -"there are on Unix: use the ``setuptools`` package to control the build " -"process, or do things manually. The setuptools approach works well for most" -" extensions; documentation on using ``setuptools`` to build and package " -"extension modules is available in :ref:`setuptools-index`. If you find you " -"really need to do things manually, it may be instructive to study the " -"project file for the :source:`winsound ` standard " -"library module." -msgstr "" - -#: ../../extending/windows.rst:48 -msgid "Differences Between Unix and Windows" -msgstr "" - -#: ../../extending/windows.rst:53 -msgid "" -"Unix and Windows use completely different paradigms for run-time loading of " -"code. Before you try to build a module that can be dynamically loaded, be " -"aware of how your system works." -msgstr "" - -#: ../../extending/windows.rst:57 -msgid "" -"In Unix, a shared object (:file:`.so`) file contains code to be used by the " -"program, and also the names of functions and data that it expects to find in" -" the program. When the file is joined to the program, all references to " -"those functions and data in the file's code are changed to point to the " -"actual locations in the program where the functions and data are placed in " -"memory. This is basically a link operation." -msgstr "" - -#: ../../extending/windows.rst:64 -msgid "" -"In Windows, a dynamic-link library (:file:`.dll`) file has no dangling " -"references. Instead, an access to functions or data goes through a lookup " -"table. So the DLL code does not have to be fixed up at runtime to refer to " -"the program's memory; instead, the code already uses the DLL's lookup table," -" and the lookup table is modified at runtime to point to the functions and " -"data." -msgstr "" - -#: ../../extending/windows.rst:70 -msgid "" -"In Unix, there is only one type of library file (:file:`.a`) which contains " -"code from several object files (:file:`.o`). During the link step to create" -" a shared object file (:file:`.so`), the linker may find that it doesn't " -"know where an identifier is defined. The linker will look for it in the " -"object files in the libraries; if it finds it, it will include all the code " -"from that object file." -msgstr "" - -#: ../../extending/windows.rst:76 -msgid "" -"In Windows, there are two types of library, a static library and an import " -"library (both called :file:`.lib`). A static library is like a Unix " -":file:`.a` file; it contains code to be included as necessary. An import " -"library is basically used only to reassure the linker that a certain " -"identifier is legal, and will be present in the program when the DLL is " -"loaded. So the linker uses the information from the import library to build" -" the lookup table for using identifiers that are not included in the DLL. " -"When an application or a DLL is linked, an import library may be generated, " -"which will need to be used for all future DLLs that depend on the symbols in" -" the application or DLL." -msgstr "" - -#: ../../extending/windows.rst:86 -msgid "" -"Suppose you are building two dynamic-load modules, B and C, which should " -"share another block of code A. On Unix, you would *not* pass :file:`A.a` to" -" the linker for :file:`B.so` and :file:`C.so`; that would cause it to be " -"included twice, so that B and C would each have their own copy. In Windows," -" building :file:`A.dll` will also build :file:`A.lib`. You *do* pass " -":file:`A.lib` to the linker for B and C. :file:`A.lib` does not contain " -"code; it just contains information which will be used at runtime to access " -"A's code." -msgstr "" - -#: ../../extending/windows.rst:94 -msgid "" -"In Windows, using an import library is sort of like using ``import spam``; " -"it gives you access to spam's names, but does not create a separate copy. " -"On Unix, linking with a library is more like ``from spam import *``; it does" -" create a separate copy." -msgstr "" - -#: ../../extending/windows.rst:101 -msgid "" -"Turn off the implicit, ``#pragma``-based linkage with the Python library, " -"performed inside CPython header files." -msgstr "" - -#: ../../extending/windows.rst:110 -msgid "Using DLLs in Practice" -msgstr "" - -#: ../../extending/windows.rst:115 -msgid "" -"Windows Python is built in Microsoft Visual C++; using other compilers may " -"or may not work. The rest of this section is MSVC++ specific." -msgstr "" - -#: ../../extending/windows.rst:118 -msgid "" -"When creating DLLs in Windows, you can use the CPython library in two ways:" -msgstr "" - -#: ../../extending/windows.rst:120 -msgid "" -"By default, inclusion of :file:`PC/pyconfig.h` directly or via " -":file:`Python.h` triggers an implicit, configure-aware link with the " -"library. The header file chooses :file:`pythonXY_d.lib` for Debug, " -":file:`pythonXY.lib` for Release, and :file:`pythonX.lib` for Release with " -"the `Limited API `_ enabled." -msgstr "" - -#: ../../extending/windows.rst:126 ../../extending/windows.rst:144 -msgid "" -"To build two DLLs, spam and ni (which uses C functions found in spam), you " -"could use these commands::" -msgstr "" - -#: ../../extending/windows.rst:129 -msgid "" -"cl /LD /I/python/include spam.c\n" -"cl /LD /I/python/include ni.c spam.lib" -msgstr "" - -#: ../../extending/windows.rst:132 -msgid "" -"The first command created three files: :file:`spam.obj`, :file:`spam.dll` " -"and :file:`spam.lib`. :file:`Spam.dll` does not contain any Python " -"functions (such as :c:func:`PyArg_ParseTuple`), but it does know how to find" -" the Python code thanks to the implicitly linked :file:`pythonXY.lib`." -msgstr "" - -#: ../../extending/windows.rst:137 ../../extending/windows.rst:155 -msgid "" -"The second command created :file:`ni.dll` (and :file:`.obj` and " -":file:`.lib`), which knows how to find the necessary functions from spam, " -"and also from the Python executable." -msgstr "" - -#: ../../extending/windows.rst:141 -msgid "" -"Manually by defining :c:macro:`Py_NO_LINK_LIB` macro before including " -":file:`Python.h`. You must pass :file:`pythonXY.lib` to the linker." -msgstr "" - -#: ../../extending/windows.rst:147 -msgid "" -"cl /LD /DPy_NO_LINK_LIB /I/python/include spam.c ../libs/pythonXY.lib\n" -"cl /LD /DPy_NO_LINK_LIB /I/python/include ni.c spam.lib ../libs/pythonXY.lib" -msgstr "" - -#: ../../extending/windows.rst:150 -msgid "" -"The first command created three files: :file:`spam.obj`, :file:`spam.dll` " -"and :file:`spam.lib`. :file:`Spam.dll` does not contain any Python " -"functions (such as :c:func:`PyArg_ParseTuple`), but it does know how to find" -" the Python code thanks to :file:`pythonXY.lib`." -msgstr "" - -#: ../../extending/windows.rst:159 -msgid "" -"Not every identifier is exported to the lookup table. If you want any other" -" modules (including Python) to be able to see your identifiers, you have to " -"say ``_declspec(dllexport)``, as in ``void _declspec(dllexport) " -"initspam(void)`` or ``PyObject _declspec(dllexport) *NiGetSpamData(void)``." -msgstr "" - -#: ../../extending/windows.rst:164 -msgid "" -"Developer Studio will throw in a lot of import libraries that you do not " -"really need, adding about 100K to your executable. To get rid of them, use " -"the Project Settings dialog, Link tab, to specify *ignore default " -"libraries*. Add the correct :file:`msvcrt{xx}.lib` to the list of " -"libraries." -msgstr "" diff --git a/python-newest.faq--design/id.po b/python-newest.faq--design/id.po deleted file mode 100644 index 460cca3..0000000 --- a/python-newest.faq--design/id.po +++ /dev/null @@ -1,1237 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../faq/design.rst:3 -msgid "Design and History FAQ" -msgstr "Desain dan Sejarah FAQ" - -#: ../../faq/design.rst:6 -msgid "Contents" -msgstr "Konten" - -#: ../../faq/design.rst:11 -msgid "Why does Python use indentation for grouping of statements?" -msgstr "Mengapa Python menggunakan indentasi untuk pengelompokan pernyataan?" - -#: ../../faq/design.rst:13 -msgid "" -"Guido van Rossum believes that using indentation for grouping is extremely " -"elegant and contributes a lot to the clarity of the average Python program. " -"Most people learn to love this feature after a while." -msgstr "" -"Guido van Rossum percaya bahwa menggunakan indentasi untuk pengelompokan " -"sangat elegan dan berkontribusi banyak pada kejelasan rata-rata program " -"Python. Kebanyakan orang belajar menyukai fitur ini setelah beberapa saat." - -#: ../../faq/design.rst:17 -msgid "" -"Since there are no begin/end brackets there cannot be a disagreement between" -" grouping perceived by the parser and the human reader. Occasionally C " -"programmers will encounter a fragment of code like this::" -msgstr "" - -#: ../../faq/design.rst:21 -msgid "" -"if (x <= y)\n" -" x++;\n" -" y--;\n" -"z++;" -msgstr "" - -#: ../../faq/design.rst:26 -msgid "" -"Only the ``x++`` statement is executed if the condition is true, but the " -"indentation leads many to believe otherwise. Even experienced C programmers" -" will sometimes stare at it a long time wondering as to why ``y`` is being " -"decremented even for ``x > y``." -msgstr "" - -#: ../../faq/design.rst:31 -msgid "" -"Because there are no begin/end brackets, Python is much less prone to " -"coding-style conflicts. In C there are many different ways to place the " -"braces. After becoming used to reading and writing code using a particular " -"style, it is normal to feel somewhat uneasy when reading (or being required " -"to write) in a different one." -msgstr "" - -#: ../../faq/design.rst:38 -msgid "" -"Many coding styles place begin/end brackets on a line by themselves. This " -"makes programs considerably longer and wastes valuable screen space, making " -"it harder to get a good overview of a program. Ideally, a function should " -"fit on one screen (say, 20--30 lines). 20 lines of Python can do a lot more" -" work than 20 lines of C. This is not solely due to the lack of begin/end " -"brackets -- the lack of declarations and the high-level data types are also " -"responsible -- but the indentation-based syntax certainly helps." -msgstr "" - -#: ../../faq/design.rst:48 -msgid "Why am I getting strange results with simple arithmetic operations?" -msgstr "" - -#: ../../faq/design.rst:50 -msgid "See the next question." -msgstr "" - -#: ../../faq/design.rst:54 -msgid "Why are floating-point calculations so inaccurate?" -msgstr "" - -#: ../../faq/design.rst:56 -msgid "Users are often surprised by results like this::" -msgstr "" - -#: ../../faq/design.rst:58 -msgid "" -">>> 1.2 - 1.0\n" -"0.19999999999999996" -msgstr "" - -#: ../../faq/design.rst:61 -msgid "" -"and think it is a bug in Python. It's not. This has little to do with " -"Python, and much more to do with how the underlying platform handles " -"floating-point numbers." -msgstr "" - -#: ../../faq/design.rst:65 -msgid "" -"The :class:`float` type in CPython uses a C ``double`` for storage. A " -":class:`float` object's value is stored in binary floating-point with a " -"fixed precision (typically 53 bits) and Python uses C operations, which in " -"turn rely on the hardware implementation in the processor, to perform " -"floating-point operations. This means that as far as floating-point " -"operations are concerned, Python behaves like many popular languages " -"including C and Java." -msgstr "" - -#: ../../faq/design.rst:72 -msgid "" -"Many numbers that can be written easily in decimal notation cannot be " -"expressed exactly in binary floating point. For example, after::" -msgstr "" - -#: ../../faq/design.rst:75 -msgid ">>> x = 1.2" -msgstr "" - -#: ../../faq/design.rst:77 -msgid "" -"the value stored for ``x`` is a (very good) approximation to the decimal " -"value ``1.2``, but is not exactly equal to it. On a typical machine, the " -"actual stored value is::" -msgstr "" -"nilai yang disimpan untuk ``x`` adalah perkiraan (sangat baik) ke nilai " -"desimal ``1.2``, tetapi tidak persis sama dengan itu. Pada mesin biasa, " -"nilai sebenarnya yang disimpan adalah::" - -#: ../../faq/design.rst:81 -msgid "1.0011001100110011001100110011001100110011001100110011 (binary)" -msgstr "" - -#: ../../faq/design.rst:83 -msgid "which is exactly::" -msgstr "" - -#: ../../faq/design.rst:85 -msgid "1.1999999999999999555910790149937383830547332763671875 (decimal)" -msgstr "" - -#: ../../faq/design.rst:87 -msgid "" -"The typical precision of 53 bits provides Python floats with 15--16 decimal " -"digits of accuracy." -msgstr "" - -#: ../../faq/design.rst:90 -msgid "" -"For a fuller explanation, please see the :ref:`floating-point arithmetic " -"` chapter in the Python tutorial." -msgstr "" - -#: ../../faq/design.rst:95 -msgid "Why are Python strings immutable?" -msgstr "" - -#: ../../faq/design.rst:97 -msgid "There are several advantages." -msgstr "" - -#: ../../faq/design.rst:99 -msgid "" -"One is performance: knowing that a string is immutable means we can allocate" -" space for it at creation time, and the storage requirements are fixed and " -"unchanging. This is also one of the reasons for the distinction between " -"tuples and lists." -msgstr "" - -#: ../../faq/design.rst:104 -msgid "" -"Another advantage is that strings in Python are considered as \"elemental\" " -"as numbers. No amount of activity will change the value 8 to anything else," -" and in Python, no amount of activity will change the string \"eight\" to " -"anything else." -msgstr "" - -#: ../../faq/design.rst:112 -msgid "Why must 'self' be used explicitly in method definitions and calls?" -msgstr "" - -#: ../../faq/design.rst:114 -msgid "" -"The idea was borrowed from Modula-3. It turns out to be very useful, for a " -"variety of reasons." -msgstr "" - -#: ../../faq/design.rst:117 -msgid "" -"First, it's more obvious that you are using a method or instance attribute " -"instead of a local variable. Reading ``self.x`` or ``self.meth()`` makes it" -" absolutely clear that an instance variable or method is used even if you " -"don't know the class definition by heart. In C++, you can sort of tell by " -"the lack of a local variable declaration (assuming globals are rare or " -"easily recognizable) -- but in Python, there are no local variable " -"declarations, so you'd have to look up the class definition to be sure. " -"Some C++ and Java coding standards call for instance attributes to have an " -"``m_`` prefix, so this explicitness is still useful in those languages, too." -msgstr "" - -#: ../../faq/design.rst:127 -msgid "" -"Second, it means that no special syntax is necessary if you want to " -"explicitly reference or call the method from a particular class. In C++, if" -" you want to use a method from a base class which is overridden in a derived" -" class, you have to use the ``::`` operator -- in Python you can write " -"``baseclass.methodname(self, )``. This is particularly " -"useful for :meth:`~object.__init__` methods, and in general in cases where a" -" derived class method wants to extend the base class method of the same name" -" and thus has to call the base class method somehow." -msgstr "" - -#: ../../faq/design.rst:136 -msgid "" -"Finally, for instance variables it solves a syntactic problem with " -"assignment: since local variables in Python are (by definition!) those " -"variables to which a value is assigned in a function body (and that aren't " -"explicitly declared global), there has to be some way to tell the " -"interpreter that an assignment was meant to assign to an instance variable " -"instead of to a local variable, and it should preferably be syntactic (for " -"efficiency reasons). C++ does this through declarations, but Python doesn't" -" have declarations and it would be a pity having to introduce them just for " -"this purpose. Using the explicit ``self.var`` solves this nicely. " -"Similarly, for using instance variables, having to write ``self.var`` means " -"that references to unqualified names inside a method don't have to search " -"the instance's directories. To put it another way, local variables and " -"instance variables live in two different namespaces, and you need to tell " -"Python which namespace to use." -msgstr "" - -#: ../../faq/design.rst:154 -msgid "Why can't I use an assignment in an expression?" -msgstr "" - -#: ../../faq/design.rst:156 -msgid "Starting in Python 3.8, you can!" -msgstr "" - -#: ../../faq/design.rst:158 -msgid "" -"Assignment expressions using the walrus operator ``:=`` assign a variable in" -" an expression::" -msgstr "" - -#: ../../faq/design.rst:161 -msgid "" -"while chunk := fp.read(200):\n" -" print(chunk)" -msgstr "" - -#: ../../faq/design.rst:164 -msgid "See :pep:`572` for more information." -msgstr "Lihat :pep:`572` untuk informasi lebih lanjut." - -#: ../../faq/design.rst:169 -msgid "" -"Why does Python use methods for some functionality (e.g. list.index()) but " -"functions for other (e.g. len(list))?" -msgstr "" - -#: ../../faq/design.rst:171 -msgid "As Guido said:" -msgstr "Seperti yang Guido katakan:" - -#: ../../faq/design.rst:173 -msgid "" -"(a) For some operations, prefix notation just reads better than postfix -- " -"prefix (and infix!) operations have a long tradition in mathematics which " -"likes notations where the visuals help the mathematician thinking about a " -"problem. Compare the easy with which we rewrite a formula like x*(a+b) into " -"x*a + x*b to the clumsiness of doing the same thing using a raw OO notation." -msgstr "" - -#: ../../faq/design.rst:180 -msgid "" -"(b) When I read code that says len(x) I *know* that it is asking for the " -"length of something. This tells me two things: the result is an integer, and" -" the argument is some kind of container. To the contrary, when I read " -"x.len(), I have to already know that x is some kind of container " -"implementing an interface or inheriting from a class that has a standard " -"len(). Witness the confusion we occasionally have when a class that is not " -"implementing a mapping has a get() or keys() method, or something that isn't" -" a file has a write() method." -msgstr "" - -#: ../../faq/design.rst:189 -msgid "" -"https://mail.python.org/pipermail/python-3000/2006-November/004643.html" -msgstr "" -"https://mail.python.org/pipermail/python-3000/2006-November/004643.html" - -#: ../../faq/design.rst:193 -msgid "Why is join() a string method instead of a list or tuple method?" -msgstr "" - -#: ../../faq/design.rst:195 -msgid "" -"Strings became much more like other standard types starting in Python 1.6, " -"when methods were added which give the same functionality that has always " -"been available using the functions of the string module. Most of these new " -"methods have been widely accepted, but the one which appears to make some " -"programmers feel uncomfortable is::" -msgstr "" - -#: ../../faq/design.rst:201 -msgid "\", \".join(['1', '2', '4', '8', '16'])" -msgstr "" - -#: ../../faq/design.rst:203 -msgid "which gives the result::" -msgstr "" - -#: ../../faq/design.rst:205 -msgid "\"1, 2, 4, 8, 16\"" -msgstr "" - -#: ../../faq/design.rst:207 -msgid "There are two common arguments against this usage." -msgstr "" - -#: ../../faq/design.rst:209 -msgid "" -"The first runs along the lines of: \"It looks really ugly using a method of " -"a string literal (string constant)\", to which the answer is that it might, " -"but a string literal is just a fixed value. If the methods are to be allowed" -" on names bound to strings there is no logical reason to make them " -"unavailable on literals." -msgstr "" - -#: ../../faq/design.rst:215 -msgid "" -"The second objection is typically cast as: \"I am really telling a sequence " -"to join its members together with a string constant\". Sadly, you aren't. " -"For some reason there seems to be much less difficulty with having " -":meth:`~str.split` as a string method, since in that case it is easy to see " -"that ::" -msgstr "" - -#: ../../faq/design.rst:220 -msgid "\"1, 2, 4, 8, 16\".split(\", \")" -msgstr "" - -#: ../../faq/design.rst:222 -msgid "" -"is an instruction to a string literal to return the substrings delimited by " -"the given separator (or, by default, arbitrary runs of white space)." -msgstr "" - -#: ../../faq/design.rst:225 -msgid "" -":meth:`~str.join` is a string method because in using it you are telling the" -" separator string to iterate over a sequence of strings and insert itself " -"between adjacent elements. This method can be used with any argument which " -"obeys the rules for sequence objects, including any new classes you might " -"define yourself. Similar methods exist for bytes and bytearray objects." -msgstr "" - -#: ../../faq/design.rst:233 -msgid "How fast are exceptions?" -msgstr "" - -#: ../../faq/design.rst:235 -msgid "" -"A :keyword:`try`/:keyword:`except` block is extremely efficient if no " -"exceptions are raised. Actually catching an exception is expensive. In " -"versions of Python prior to 2.0 it was common to use this idiom::" -msgstr "" - -#: ../../faq/design.rst:240 -msgid "" -"try:\n" -" value = mydict[key]\n" -"except KeyError:\n" -" mydict[key] = getvalue(key)\n" -" value = mydict[key]" -msgstr "" - -#: ../../faq/design.rst:246 -msgid "" -"This only made sense when you expected the dict to have the key almost all " -"the time. If that wasn't the case, you coded it like this::" -msgstr "" - -#: ../../faq/design.rst:249 -msgid "" -"if key in mydict:\n" -" value = mydict[key]\n" -"else:\n" -" value = mydict[key] = getvalue(key)" -msgstr "" - -#: ../../faq/design.rst:254 -msgid "" -"For this specific case, you could also use ``value = dict.setdefault(key, " -"getvalue(key))``, but only if the ``getvalue()`` call is cheap enough " -"because it is evaluated in all cases." -msgstr "" - -#: ../../faq/design.rst:260 -msgid "Why isn't there a switch or case statement in Python?" -msgstr "" - -#: ../../faq/design.rst:262 -msgid "" -"In general, structured switch statements execute one block of code when an " -"expression has a particular value or set of values. Since Python 3.10 one " -"can easily match literal values, or constants within a namespace, with a " -"``match ... case`` statement. An older alternative is a sequence of ``if... " -"elif... elif... else``." -msgstr "" - -#: ../../faq/design.rst:268 -msgid "" -"For cases where you need to choose from a very large number of " -"possibilities, you can create a dictionary mapping case values to functions " -"to call. For example::" -msgstr "" - -#: ../../faq/design.rst:272 -msgid "" -"functions = {'a': function_1,\n" -" 'b': function_2,\n" -" 'c': self.method_1}\n" -"\n" -"func = functions[value]\n" -"func()" -msgstr "" - -#: ../../faq/design.rst:279 -msgid "" -"For calling methods on objects, you can simplify yet further by using the " -":func:`getattr` built-in to retrieve methods with a particular name::" -msgstr "" - -#: ../../faq/design.rst:282 -msgid "" -"class MyVisitor:\n" -" def visit_a(self):\n" -" ...\n" -"\n" -" def dispatch(self, value):\n" -" method_name = 'visit_' + str(value)\n" -" method = getattr(self, method_name)\n" -" method()" -msgstr "" - -#: ../../faq/design.rst:291 -msgid "" -"It's suggested that you use a prefix for the method names, such as " -"``visit_`` in this example. Without such a prefix, if values are coming " -"from an untrusted source, an attacker would be able to call any method on " -"your object." -msgstr "" - -#: ../../faq/design.rst:295 -msgid "" -"Imitating switch with fallthrough, as with C's switch-case-default, is " -"possible, much harder, and less needed." -msgstr "" - -#: ../../faq/design.rst:300 -msgid "" -"Can't you emulate threads in the interpreter instead of relying on an OS-" -"specific thread implementation?" -msgstr "" - -#: ../../faq/design.rst:302 -msgid "" -"Answer 1: Unfortunately, the interpreter pushes at least one C stack frame " -"for each Python stack frame. Also, extensions can call back into Python at " -"almost random moments. Therefore, a complete threads implementation " -"requires thread support for C." -msgstr "" - -#: ../../faq/design.rst:307 -msgid "" -"Answer 2: Fortunately, there is `Stackless Python " -"`_, which has a completely " -"redesigned interpreter loop that avoids the C stack." -msgstr "" - -#: ../../faq/design.rst:312 -msgid "Why can't lambda expressions contain statements?" -msgstr "" - -#: ../../faq/design.rst:314 -msgid "" -"Python lambda expressions cannot contain statements because Python's " -"syntactic framework can't handle statements nested inside expressions. " -"However, in Python, this is not a serious problem. Unlike lambda forms in " -"other languages, where they add functionality, Python lambdas are only a " -"shorthand notation if you're too lazy to define a function." -msgstr "" - -#: ../../faq/design.rst:320 -msgid "" -"Functions are already first class objects in Python, and can be declared in " -"a local scope. Therefore the only advantage of using a lambda instead of a " -"locally defined function is that you don't need to invent a name for the " -"function -- but that's just a local variable to which the function object " -"(which is exactly the same type of object that a lambda expression yields) " -"is assigned!" -msgstr "" - -#: ../../faq/design.rst:328 -msgid "Can Python be compiled to machine code, C or some other language?" -msgstr "" - -#: ../../faq/design.rst:330 -msgid "" -"`Cython `_ compiles a modified version of Python with " -"optional annotations into C extensions. `Nuitka `_ is " -"an up-and-coming compiler of Python into C++ code, aiming to support the " -"full Python language." -msgstr "" - -#: ../../faq/design.rst:337 -msgid "How does Python manage memory?" -msgstr "" - -#: ../../faq/design.rst:339 -msgid "" -"The details of Python memory management depend on the implementation. The " -"standard implementation of Python, :term:`CPython`, uses reference counting " -"to detect inaccessible objects, and another mechanism to collect reference " -"cycles, periodically executing a cycle detection algorithm which looks for " -"inaccessible cycles and deletes the objects involved. The :mod:`gc` module " -"provides functions to perform a garbage collection, obtain debugging " -"statistics, and tune the collector's parameters." -msgstr "" - -#: ../../faq/design.rst:347 -msgid "" -"Other implementations (such as `Jython `_ or `PyPy " -"`_), however, can rely on a different mechanism such as a " -"full-blown garbage collector. This difference can cause some subtle porting" -" problems if your Python code depends on the behavior of the reference " -"counting implementation." -msgstr "" - -#: ../../faq/design.rst:353 -msgid "" -"In some Python implementations, the following code (which is fine in " -"CPython) will probably run out of file descriptors::" -msgstr "" - -#: ../../faq/design.rst:356 -msgid "" -"for file in very_long_list_of_files:\n" -" f = open(file)\n" -" c = f.read(1)" -msgstr "" - -#: ../../faq/design.rst:360 -msgid "" -"Indeed, using CPython's reference counting and destructor scheme, each new " -"assignment to ``f`` closes the previous file. With a traditional GC, " -"however, those file objects will only get collected (and closed) at varying " -"and possibly long intervals." -msgstr "" - -#: ../../faq/design.rst:365 -msgid "" -"If you want to write code that will work with any Python implementation, you" -" should explicitly close the file or use the :keyword:`with` statement; this" -" will work regardless of memory management scheme::" -msgstr "" - -#: ../../faq/design.rst:369 -msgid "" -"for file in very_long_list_of_files:\n" -" with open(file) as f:\n" -" c = f.read(1)" -msgstr "" - -#: ../../faq/design.rst:375 -msgid "Why doesn't CPython use a more traditional garbage collection scheme?" -msgstr "" - -#: ../../faq/design.rst:377 -msgid "" -"For one thing, this is not a C standard feature and hence it's not portable." -" (Yes, we know about the Boehm GC library. It has bits of assembler code " -"for *most* common platforms, not for all of them, and although it is mostly " -"transparent, it isn't completely transparent; patches are required to get " -"Python to work with it.)" -msgstr "" - -#: ../../faq/design.rst:383 -msgid "" -"Traditional GC also becomes a problem when Python is embedded into other " -"applications. While in a standalone Python it's fine to replace the " -"standard ``malloc()`` and ``free()`` with versions provided by the GC " -"library, an application embedding Python may want to have its *own* " -"substitute for ``malloc()`` and ``free()``, and may not want Python's. " -"Right now, CPython works with anything that implements ``malloc()`` and " -"``free()`` properly." -msgstr "" - -#: ../../faq/design.rst:392 -msgid "Why isn't all memory freed when CPython exits?" -msgstr "" - -#: ../../faq/design.rst:394 -msgid "" -"Objects referenced from the global namespaces of Python modules are not " -"always deallocated when Python exits. This may happen if there are circular" -" references. There are also certain bits of memory that are allocated by " -"the C library that are impossible to free (e.g. a tool like Purify will " -"complain about these). Python is, however, aggressive about cleaning up " -"memory on exit and does try to destroy every single object." -msgstr "" - -#: ../../faq/design.rst:401 -msgid "" -"If you want to force Python to delete certain things on deallocation use the" -" :mod:`atexit` module to run a function that will force those deletions." -msgstr "" - -#: ../../faq/design.rst:406 -msgid "Why are there separate tuple and list data types?" -msgstr "" - -#: ../../faq/design.rst:408 -msgid "" -"Lists and tuples, while similar in many respects, are generally used in " -"fundamentally different ways. Tuples can be thought of as being similar to " -"Pascal ``records`` or C ``structs``; they're small collections of related " -"data which may be of different types which are operated on as a group. For " -"example, a Cartesian coordinate is appropriately represented as a tuple of " -"two or three numbers." -msgstr "" - -#: ../../faq/design.rst:415 -msgid "" -"Lists, on the other hand, are more like arrays in other languages. They " -"tend to hold a varying number of objects all of which have the same type and" -" which are operated on one-by-one. For example, :func:`os.listdir('.') " -"` returns a list of strings representing the files in the " -"current directory. Functions which operate on this output would generally " -"not break if you added another file or two to the directory." -msgstr "" - -#: ../../faq/design.rst:423 -msgid "" -"Tuples are immutable, meaning that once a tuple has been created, you can't " -"replace any of its elements with a new value. Lists are mutable, meaning " -"that you can always change a list's elements. Only immutable elements can " -"be used as dictionary keys, and hence only tuples and not lists can be used " -"as keys." -msgstr "" - -#: ../../faq/design.rst:430 -msgid "How are lists implemented in CPython?" -msgstr "" - -#: ../../faq/design.rst:432 -msgid "" -"CPython's lists are really variable-length arrays, not Lisp-style linked " -"lists. The implementation uses a contiguous array of references to other " -"objects, and keeps a pointer to this array and the array's length in a list " -"head structure." -msgstr "" - -#: ../../faq/design.rst:436 -msgid "" -"This makes indexing a list ``a[i]`` an operation whose cost is independent " -"of the size of the list or the value of the index." -msgstr "" - -#: ../../faq/design.rst:439 -msgid "" -"When items are appended or inserted, the array of references is resized. " -"Some cleverness is applied to improve the performance of appending items " -"repeatedly; when the array must be grown, some extra space is allocated so " -"the next few times don't require an actual resize." -msgstr "" - -#: ../../faq/design.rst:446 -msgid "How are dictionaries implemented in CPython?" -msgstr "" - -#: ../../faq/design.rst:448 -msgid "" -"CPython's dictionaries are implemented as resizable hash tables. Compared " -"to B-trees, this gives better performance for lookup (the most common " -"operation by far) under most circumstances, and the implementation is " -"simpler." -msgstr "" - -#: ../../faq/design.rst:452 -msgid "" -"Dictionaries work by computing a hash code for each key stored in the " -"dictionary using the :func:`hash` built-in function. The hash code varies " -"widely depending on the key and a per-process seed; for example, " -"``'Python'`` could hash to ``-539294296`` while ``'python'``, a string that " -"differs by a single bit, could hash to ``1142331976``. The hash code is " -"then used to calculate a location in an internal array where the value will " -"be stored. Assuming that you're storing keys that all have different hash " -"values, this means that dictionaries take constant time -- *O*\\ (1), in " -"Big-O notation -- to retrieve a key." -msgstr "" - -#: ../../faq/design.rst:463 -msgid "Why must dictionary keys be immutable?" -msgstr "" - -#: ../../faq/design.rst:465 -msgid "" -"The hash table implementation of dictionaries uses a hash value calculated " -"from the key value to find the key. If the key were a mutable object, its " -"value could change, and thus its hash could also change. But since whoever " -"changes the key object can't tell that it was being used as a dictionary " -"key, it can't move the entry around in the dictionary. Then, when you try " -"to look up the same object in the dictionary it won't be found because its " -"hash value is different. If you tried to look up the old value it wouldn't " -"be found either, because the value of the object found in that hash bin " -"would be different." -msgstr "" - -#: ../../faq/design.rst:474 -msgid "" -"If you want a dictionary indexed with a list, simply convert the list to a " -"tuple first; the function ``tuple(L)`` creates a tuple with the same entries" -" as the list ``L``. Tuples are immutable and can therefore be used as " -"dictionary keys." -msgstr "" - -#: ../../faq/design.rst:478 -msgid "Some unacceptable solutions that have been proposed:" -msgstr "" - -#: ../../faq/design.rst:480 -msgid "" -"Hash lists by their address (object ID). This doesn't work because if you " -"construct a new list with the same value it won't be found; e.g.::" -msgstr "" - -#: ../../faq/design.rst:483 -msgid "" -"mydict = {[1, 2]: '12'}\n" -"print(mydict[[1, 2]])" -msgstr "" - -#: ../../faq/design.rst:486 -msgid "" -"would raise a :exc:`KeyError` exception because the id of the ``[1, 2]`` " -"used in the second line differs from that in the first line. In other " -"words, dictionary keys should be compared using ``==``, not using " -":keyword:`is`." -msgstr "" - -#: ../../faq/design.rst:490 -msgid "" -"Make a copy when using a list as a key. This doesn't work because the list," -" being a mutable object, could contain a reference to itself, and then the " -"copying code would run into an infinite loop." -msgstr "" - -#: ../../faq/design.rst:494 -msgid "" -"Allow lists as keys but tell the user not to modify them. This would allow " -"a class of hard-to-track bugs in programs when you forgot or modified a list" -" by accident. It also invalidates an important invariant of dictionaries: " -"every value in ``d.keys()`` is usable as a key of the dictionary." -msgstr "" - -#: ../../faq/design.rst:499 -msgid "" -"Mark lists as read-only once they are used as a dictionary key. The problem" -" is that it's not just the top-level object that could change its value; you" -" could use a tuple containing a list as a key. Entering anything as a key " -"into a dictionary would require marking all objects reachable from there as " -"read-only -- and again, self-referential objects could cause an infinite " -"loop." -msgstr "" - -#: ../../faq/design.rst:505 -msgid "" -"There is a trick to get around this if you need to, but use it at your own " -"risk: You can wrap a mutable structure inside a class instance which has " -"both a :meth:`~object.__eq__` and a :meth:`~object.__hash__` method. You " -"must then make sure that the hash value for all such wrapper objects that " -"reside in a dictionary (or other hash based structure), remain fixed while " -"the object is in the dictionary (or other structure). ::" -msgstr "" - -#: ../../faq/design.rst:513 -msgid "" -"class ListWrapper:\n" -" def __init__(self, the_list):\n" -" self.the_list = the_list\n" -"\n" -" def __eq__(self, other):\n" -" return self.the_list == other.the_list\n" -"\n" -" def __hash__(self):\n" -" l = self.the_list\n" -" result = 98767 - len(l)*555\n" -" for i, el in enumerate(l):\n" -" try:\n" -" result = result + (hash(el) % 9999999) * 1001 + i\n" -" except Exception:\n" -" result = (result % 7777777) + i * 333\n" -" return result" -msgstr "" - -#: ../../faq/design.rst:530 -msgid "" -"Note that the hash computation is complicated by the possibility that some " -"members of the list may be unhashable and also by the possibility of " -"arithmetic overflow." -msgstr "" - -#: ../../faq/design.rst:534 -msgid "" -"Furthermore it must always be the case that if ``o1 == o2`` (ie " -"``o1.__eq__(o2) is True``) then ``hash(o1) == hash(o2)`` (ie, " -"``o1.__hash__() == o2.__hash__()``), regardless of whether the object is in " -"a dictionary or not. If you fail to meet these restrictions dictionaries " -"and other hash based structures will misbehave." -msgstr "" - -#: ../../faq/design.rst:539 -msgid "" -"In the case of :class:`!ListWrapper`, whenever the wrapper object is in a " -"dictionary the wrapped list must not change to avoid anomalies. Don't do " -"this unless you are prepared to think hard about the requirements and the " -"consequences of not meeting them correctly. Consider yourself warned." -msgstr "" - -#: ../../faq/design.rst:546 -msgid "Why doesn't list.sort() return the sorted list?" -msgstr "" - -#: ../../faq/design.rst:548 -msgid "" -"In situations where performance matters, making a copy of the list just to " -"sort it would be wasteful. Therefore, :meth:`list.sort` sorts the list in " -"place. In order to remind you of that fact, it does not return the sorted " -"list. This way, you won't be fooled into accidentally overwriting a list " -"when you need a sorted copy but also need to keep the unsorted version " -"around." -msgstr "" - -#: ../../faq/design.rst:554 -msgid "" -"If you want to return a new list, use the built-in :func:`sorted` function " -"instead. This function creates a new list from a provided iterable, sorts " -"it and returns it. For example, here's how to iterate over the keys of a " -"dictionary in sorted order::" -msgstr "" - -#: ../../faq/design.rst:559 -msgid "" -"for key in sorted(mydict):\n" -" ... # do whatever with mydict[key]..." -msgstr "" - -#: ../../faq/design.rst:564 -msgid "How do you specify and enforce an interface spec in Python?" -msgstr "" - -#: ../../faq/design.rst:566 -msgid "" -"An interface specification for a module as provided by languages such as C++" -" and Java describes the prototypes for the methods and functions of the " -"module. Many feel that compile-time enforcement of interface specifications" -" helps in the construction of large programs." -msgstr "" - -#: ../../faq/design.rst:571 -msgid "" -"Python 2.6 adds an :mod:`abc` module that lets you define Abstract Base " -"Classes (ABCs). You can then use :func:`isinstance` and :func:`issubclass` " -"to check whether an instance or a class implements a particular ABC. The " -":mod:`collections.abc` module defines a set of useful ABCs such as " -":class:`~collections.abc.Iterable`, :class:`~collections.abc.Container`, and" -" :class:`~collections.abc.MutableMapping`." -msgstr "" - -#: ../../faq/design.rst:578 -msgid "" -"For Python, many of the advantages of interface specifications can be " -"obtained by an appropriate test discipline for components." -msgstr "" - -#: ../../faq/design.rst:581 -msgid "" -"A good test suite for a module can both provide a regression test and serve " -"as a module interface specification and a set of examples. Many Python " -"modules can be run as a script to provide a simple \"self test.\" Even " -"modules which use complex external interfaces can often be tested in " -"isolation using trivial \"stub\" emulations of the external interface. The " -":mod:`doctest` and :mod:`unittest` modules or third-party test frameworks " -"can be used to construct exhaustive test suites that exercise every line of " -"code in a module." -msgstr "" - -#: ../../faq/design.rst:589 -msgid "" -"An appropriate testing discipline can help build large complex applications " -"in Python as well as having interface specifications would. In fact, it can" -" be better because an interface specification cannot test certain properties" -" of a program. For example, the :meth:`!list.append` method is expected to " -"add new elements to the end of some internal list; an interface " -"specification cannot test that your :meth:`!list.append` implementation will" -" actually do this correctly, but it's trivial to check this property in a " -"test suite." -msgstr "" - -#: ../../faq/design.rst:597 -msgid "" -"Writing test suites is very helpful, and you might want to design your code " -"to make it easily tested. One increasingly popular technique, test-driven " -"development, calls for writing parts of the test suite first, before you " -"write any of the actual code. Of course Python allows you to be sloppy and " -"not write test cases at all." -msgstr "" - -#: ../../faq/design.rst:605 -msgid "Why is there no goto?" -msgstr "" - -#: ../../faq/design.rst:607 -msgid "" -"In the 1970s people realized that unrestricted goto could lead to messy " -"\"spaghetti\" code that was hard to understand and revise. In a high-level " -"language, it is also unneeded as long as there are ways to branch (in " -"Python, with :keyword:`if` statements and :keyword:`or`, :keyword:`and`, and" -" :keyword:`if`/:keyword:`else` expressions) and loop (with :keyword:`while` " -"and :keyword:`for` statements, possibly containing :keyword:`continue` and " -":keyword:`break`)." -msgstr "" - -#: ../../faq/design.rst:614 -msgid "" -"One can also use exceptions to provide a \"structured goto\" that works even" -" across function calls. Many feel that exceptions can conveniently emulate " -"all reasonable uses of the ``go`` or ``goto`` constructs of C, Fortran, and " -"other languages. For example::" -msgstr "" - -#: ../../faq/design.rst:620 -msgid "" -"class label(Exception): pass # declare a label\n" -"\n" -"try:\n" -" ...\n" -" if condition: raise label() # goto label\n" -" ...\n" -"except label: # where to goto\n" -" pass\n" -"..." -msgstr "" - -#: ../../faq/design.rst:630 -msgid "" -"This doesn't allow you to jump into the middle of a loop, but that's usually" -" considered an abuse of ``goto`` anyway. Use sparingly." -msgstr "" - -#: ../../faq/design.rst:635 -msgid "Why can't raw strings (r-strings) end with a backslash?" -msgstr "" - -#: ../../faq/design.rst:637 -msgid "" -"More precisely, they can't end with an odd number of backslashes: the " -"unpaired backslash at the end escapes the closing quote character, leaving " -"an unterminated string." -msgstr "" - -#: ../../faq/design.rst:641 -msgid "" -"Raw strings were designed to ease creating input for processors (chiefly " -"regular expression engines) that want to do their own backslash escape " -"processing. Such processors consider an unmatched trailing backslash to be " -"an error anyway, so raw strings disallow that. In return, they allow you to" -" pass on the string quote character by escaping it with a backslash. These " -"rules work well when r-strings are used for their intended purpose." -msgstr "" - -#: ../../faq/design.rst:648 -msgid "" -"If you're trying to build Windows pathnames, note that all Windows system " -"calls accept forward slashes too::" -msgstr "" - -#: ../../faq/design.rst:651 -msgid "f = open(\"/mydir/file.txt\") # works fine!" -msgstr "" - -#: ../../faq/design.rst:653 -msgid "" -"If you're trying to build a pathname for a DOS command, try e.g. one of ::" -msgstr "" - -#: ../../faq/design.rst:655 -msgid "" -"dir = r\"\\this\\is\\my\\dos\\dir\" \"\\\\\"\n" -"dir = r\"\\this\\is\\my\\dos\\dir\\ \"[:-1]\n" -"dir = \"\\\\this\\\\is\\\\my\\\\dos\\\\dir\\\\\"" -msgstr "" - -#: ../../faq/design.rst:661 -msgid "Why doesn't Python have a \"with\" statement for attribute assignments?" -msgstr "" - -#: ../../faq/design.rst:663 -msgid "" -"Python has a :keyword:`with` statement that wraps the execution of a block, " -"calling code on the entrance and exit from the block. Some languages have a" -" construct that looks like this::" -msgstr "" - -#: ../../faq/design.rst:667 -msgid "" -"with obj:\n" -" a = 1 # equivalent to obj.a = 1\n" -" total = total + 1 # obj.total = obj.total + 1" -msgstr "" - -#: ../../faq/design.rst:671 -msgid "In Python, such a construct would be ambiguous." -msgstr "" - -#: ../../faq/design.rst:673 -msgid "" -"Other languages, such as Object Pascal, Delphi, and C++, use static types, " -"so it's possible to know, in an unambiguous way, what member is being " -"assigned to. This is the main point of static typing -- the compiler " -"*always* knows the scope of every variable at compile time." -msgstr "" - -#: ../../faq/design.rst:678 -msgid "" -"Python uses dynamic types. It is impossible to know in advance which " -"attribute will be referenced at runtime. Member attributes may be added or " -"removed from objects on the fly. This makes it impossible to know, from a " -"simple reading, what attribute is being referenced: a local one, a global " -"one, or a member attribute?" -msgstr "" - -#: ../../faq/design.rst:684 -msgid "For instance, take the following incomplete snippet::" -msgstr "" - -#: ../../faq/design.rst:686 -msgid "" -"def foo(a):\n" -" with a:\n" -" print(x)" -msgstr "" - -#: ../../faq/design.rst:690 -msgid "" -"The snippet assumes that ``a`` must have a member attribute called ``x``. " -"However, there is nothing in Python that tells the interpreter this. What " -"should happen if ``a`` is, let us say, an integer? If there is a global " -"variable named ``x``, will it be used inside the :keyword:`with` block? As " -"you see, the dynamic nature of Python makes such choices much harder." -msgstr "" - -#: ../../faq/design.rst:696 -msgid "" -"The primary benefit of :keyword:`with` and similar language features " -"(reduction of code volume) can, however, easily be achieved in Python by " -"assignment. Instead of::" -msgstr "" - -#: ../../faq/design.rst:699 -msgid "" -"function(args).mydict[index][index].a = 21\n" -"function(args).mydict[index][index].b = 42\n" -"function(args).mydict[index][index].c = 63" -msgstr "" - -#: ../../faq/design.rst:703 -msgid "write this::" -msgstr "" - -#: ../../faq/design.rst:705 -msgid "" -"ref = function(args).mydict[index][index]\n" -"ref.a = 21\n" -"ref.b = 42\n" -"ref.c = 63" -msgstr "" - -#: ../../faq/design.rst:710 -msgid "" -"This also has the side-effect of increasing execution speed because name " -"bindings are resolved at run-time in Python, and the second version only " -"needs to perform the resolution once." -msgstr "" - -#: ../../faq/design.rst:714 -msgid "" -"Similar proposals that would introduce syntax to further reduce code volume," -" such as using a 'leading dot', have been rejected in favour of explicitness" -" (see https://mail.python.org/pipermail/python-ideas/2016-May/040070.html)." -msgstr "" - -#: ../../faq/design.rst:720 -msgid "Why don't generators support the with statement?" -msgstr "" - -#: ../../faq/design.rst:722 -msgid "" -"For technical reasons, a generator used directly as a context manager would " -"not work correctly. When, as is most common, a generator is used as an " -"iterator run to completion, no closing is needed. When it is, wrap it as " -":func:`contextlib.closing(generator) ` in the " -":keyword:`with` statement." -msgstr "" - -#: ../../faq/design.rst:730 -msgid "Why are colons required for the if/while/def/class statements?" -msgstr "" - -#: ../../faq/design.rst:732 -msgid "" -"The colon is required primarily to enhance readability (one of the results " -"of the experimental ABC language). Consider this::" -msgstr "" - -#: ../../faq/design.rst:735 -msgid "" -"if a == b\n" -" print(a)" -msgstr "" - -#: ../../faq/design.rst:738 -msgid "versus ::" -msgstr "" - -#: ../../faq/design.rst:740 -msgid "" -"if a == b:\n" -" print(a)" -msgstr "" - -#: ../../faq/design.rst:743 -msgid "" -"Notice how the second one is slightly easier to read. Notice further how a " -"colon sets off the example in this FAQ answer; it's a standard usage in " -"English." -msgstr "" - -#: ../../faq/design.rst:746 -msgid "" -"Another minor reason is that the colon makes it easier for editors with " -"syntax highlighting; they can look for colons to decide when indentation " -"needs to be increased instead of having to do a more elaborate parsing of " -"the program text." -msgstr "" - -#: ../../faq/design.rst:752 -msgid "Why does Python allow commas at the end of lists and tuples?" -msgstr "" - -#: ../../faq/design.rst:754 -msgid "" -"Python lets you add a trailing comma at the end of lists, tuples, and " -"dictionaries::" -msgstr "" - -#: ../../faq/design.rst:757 -msgid "" -"[1, 2, 3,]\n" -"('a', 'b', 'c',)\n" -"d = {\n" -" \"A\": [1, 5],\n" -" \"B\": [6, 7], # last trailing comma is optional but good style\n" -"}" -msgstr "" - -#: ../../faq/design.rst:765 -msgid "There are several reasons to allow this." -msgstr "" - -#: ../../faq/design.rst:767 -msgid "" -"When you have a literal value for a list, tuple, or dictionary spread across" -" multiple lines, it's easier to add more elements because you don't have to " -"remember to add a comma to the previous line. The lines can also be " -"reordered without creating a syntax error." -msgstr "" - -#: ../../faq/design.rst:772 -msgid "" -"Accidentally omitting the comma can lead to errors that are hard to " -"diagnose. For example::" -msgstr "" - -#: ../../faq/design.rst:775 -msgid "" -"x = [\n" -" \"fee\",\n" -" \"fie\"\n" -" \"foo\",\n" -" \"fum\"\n" -"]" -msgstr "" - -#: ../../faq/design.rst:782 -msgid "" -"This list looks like it has four elements, but it actually contains three: " -"\"fee\", \"fiefoo\" and \"fum\". Always adding the comma avoids this source" -" of error." -msgstr "" - -#: ../../faq/design.rst:785 -msgid "" -"Allowing the trailing comma may also make programmatic code generation " -"easier." -msgstr "" diff --git a/python-newest.faq--extending/id.po b/python-newest.faq--extending/id.po deleted file mode 100644 index f22f589..0000000 --- a/python-newest.faq--extending/id.po +++ /dev/null @@ -1,438 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../faq/extending.rst:3 -msgid "Extending/Embedding FAQ" -msgstr "" - -#: ../../faq/extending.rst:6 -msgid "Contents" -msgstr "Konten" - -#: ../../faq/extending.rst:16 -msgid "Can I create my own functions in C?" -msgstr "" - -#: ../../faq/extending.rst:18 -msgid "" -"Yes, you can create built-in modules containing functions, variables, " -"exceptions and even new types in C. This is explained in the document " -":ref:`extending-index`." -msgstr "" - -#: ../../faq/extending.rst:22 -msgid "Most intermediate or advanced Python books will also cover this topic." -msgstr "" - -#: ../../faq/extending.rst:26 -msgid "Can I create my own functions in C++?" -msgstr "" - -#: ../../faq/extending.rst:28 -msgid "" -"Yes, using the C compatibility features found in C++. Place ``extern \"C\" " -"{ ... }`` around the Python include files and put ``extern \"C\"`` before " -"each function that is going to be called by the Python interpreter. Global " -"or static C++ objects with constructors are probably not a good idea." -msgstr "" - -#: ../../faq/extending.rst:37 -msgid "Writing C is hard; are there any alternatives?" -msgstr "" - -#: ../../faq/extending.rst:39 -msgid "" -"There are a number of alternatives to writing your own C extensions, " -"depending on what you're trying to do." -msgstr "" - -#: ../../faq/extending.rst:44 -msgid "" -"`Cython `_ and its relative `Pyrex " -"`_ are compilers" -" that accept a slightly modified form of Python and generate the " -"corresponding C code. Cython and Pyrex make it possible to write an " -"extension without having to learn Python's C API." -msgstr "" - -#: ../../faq/extending.rst:50 -msgid "" -"If you need to interface to some C or C++ library for which no Python " -"extension currently exists, you can try wrapping the library's data types " -"and functions with a tool such as `SWIG `_. `SIP " -"`__, `CXX " -"`_ `Boost " -"`_, or `Weave " -"`_ are also alternatives for wrapping C++ " -"libraries." -msgstr "" - -#: ../../faq/extending.rst:61 -msgid "How can I execute arbitrary Python statements from C?" -msgstr "" - -#: ../../faq/extending.rst:63 -msgid "" -"The highest-level function to do this is :c:func:`PyRun_SimpleString` which " -"takes a single string argument to be executed in the context of the module " -"``__main__`` and returns ``0`` for success and ``-1`` when an exception " -"occurred (including :exc:`SyntaxError`). If you want more control, use " -":c:func:`PyRun_String`; see the source for :c:func:`PyRun_SimpleString` in " -"``Python/pythonrun.c``." -msgstr "" - -#: ../../faq/extending.rst:72 -msgid "How can I evaluate an arbitrary Python expression from C?" -msgstr "" - -#: ../../faq/extending.rst:74 -msgid "" -"Call the function :c:func:`PyRun_String` from the previous question with the" -" start symbol :c:data:`Py_eval_input`; it parses an expression, evaluates it" -" and returns its value." -msgstr "" - -#: ../../faq/extending.rst:80 -msgid "How do I extract C values from a Python object?" -msgstr "" - -#: ../../faq/extending.rst:82 -msgid "" -"That depends on the object's type. If it's a tuple, :c:func:`PyTuple_Size` " -"returns its length and :c:func:`PyTuple_GetItem` returns the item at a " -"specified index. Lists have similar functions, :c:func:`PyList_Size` and " -":c:func:`PyList_GetItem`." -msgstr "" - -#: ../../faq/extending.rst:87 -msgid "" -"For bytes, :c:func:`PyBytes_Size` returns its length and " -":c:func:`PyBytes_AsStringAndSize` provides a pointer to its value and its " -"length. Note that Python bytes objects may contain null bytes so C's " -":c:func:`!strlen` should not be used." -msgstr "" - -#: ../../faq/extending.rst:92 -msgid "" -"To test the type of an object, first make sure it isn't ``NULL``, and then " -"use :c:func:`PyBytes_Check`, :c:func:`PyTuple_Check`, " -":c:func:`PyList_Check`, etc." -msgstr "" - -#: ../../faq/extending.rst:95 -msgid "" -"There is also a high-level API to Python objects which is provided by the " -"so-called 'abstract' interface -- read ``Include/abstract.h`` for further " -"details. It allows interfacing with any kind of Python sequence using calls" -" like :c:func:`PySequence_Length`, :c:func:`PySequence_GetItem`, etc. as " -"well as many other useful protocols such as numbers " -"(:c:func:`PyNumber_Index` et al.) and mappings in the PyMapping APIs." -msgstr "" - -#: ../../faq/extending.rst:104 -msgid "How do I use Py_BuildValue() to create a tuple of arbitrary length?" -msgstr "" - -#: ../../faq/extending.rst:106 -msgid "You can't. Use :c:func:`PyTuple_Pack` instead." -msgstr "" - -#: ../../faq/extending.rst:110 -msgid "How do I call an object's method from C?" -msgstr "" - -#: ../../faq/extending.rst:112 -msgid "" -"The :c:func:`PyObject_CallMethod` function can be used to call an arbitrary " -"method of an object. The parameters are the object, the name of the method " -"to call, a format string like that used with :c:func:`Py_BuildValue`, and " -"the argument values::" -msgstr "" - -#: ../../faq/extending.rst:117 -msgid "" -"PyObject *\n" -"PyObject_CallMethod(PyObject *object, const char *method_name,\n" -" const char *arg_format, ...);" -msgstr "" - -#: ../../faq/extending.rst:121 -msgid "" -"This works for any object that has methods -- whether built-in or user-" -"defined. You are responsible for eventually :c:func:`Py_DECREF`\\ 'ing the " -"return value." -msgstr "" - -#: ../../faq/extending.rst:124 -msgid "" -"To call, e.g., a file object's \"seek\" method with arguments 10, 0 " -"(assuming the file object pointer is \"f\")::" -msgstr "" - -#: ../../faq/extending.rst:127 -msgid "" -"res = PyObject_CallMethod(f, \"seek\", \"(ii)\", 10, 0);\n" -"if (res == NULL) {\n" -" ... an exception occurred ...\n" -"}\n" -"else {\n" -" Py_DECREF(res);\n" -"}" -msgstr "" - -#: ../../faq/extending.rst:135 -msgid "" -"Note that since :c:func:`PyObject_CallObject` *always* wants a tuple for the" -" argument list, to call a function without arguments, pass \"()\" for the " -"format, and to call a function with one argument, surround the argument in " -"parentheses, e.g. \"(i)\"." -msgstr "" - -#: ../../faq/extending.rst:142 -msgid "" -"How do I catch the output from PyErr_Print() (or anything that prints to " -"stdout/stderr)?" -msgstr "" - -#: ../../faq/extending.rst:144 -msgid "" -"In Python code, define an object that supports the ``write()`` method. " -"Assign this object to :data:`sys.stdout` and :data:`sys.stderr`. Call " -"print_error, or just allow the standard traceback mechanism to work. Then, " -"the output will go wherever your ``write()`` method sends it." -msgstr "" - -#: ../../faq/extending.rst:149 -msgid "The easiest way to do this is to use the :class:`io.StringIO` class:" -msgstr "" - -#: ../../faq/extending.rst:151 -msgid "" -">>> import io, sys\n" -">>> sys.stdout = io.StringIO()\n" -">>> print('foo')\n" -">>> print('hello world!')\n" -">>> sys.stderr.write(sys.stdout.getvalue())\n" -"foo\n" -"hello world!" -msgstr "" - -#: ../../faq/extending.rst:161 -msgid "A custom object to do the same would look like this:" -msgstr "" - -#: ../../faq/extending.rst:163 -msgid "" -">>> import io, sys\n" -">>> class StdoutCatcher(io.TextIOBase):\n" -"... def __init__(self):\n" -"... self.data = []\n" -"... def write(self, stuff):\n" -"... self.data.append(stuff)\n" -"...\n" -">>> import sys\n" -">>> sys.stdout = StdoutCatcher()\n" -">>> print('foo')\n" -">>> print('hello world!')\n" -">>> sys.stderr.write(''.join(sys.stdout.data))\n" -"foo\n" -"hello world!" -msgstr "" - -#: ../../faq/extending.rst:182 -msgid "How do I access a module written in Python from C?" -msgstr "" - -#: ../../faq/extending.rst:184 -msgid "You can get a pointer to the module object as follows::" -msgstr "" - -#: ../../faq/extending.rst:186 -msgid "module = PyImport_ImportModule(\"\");" -msgstr "" - -#: ../../faq/extending.rst:188 -msgid "" -"If the module hasn't been imported yet (i.e. it is not yet present in " -":data:`sys.modules`), this initializes the module; otherwise it simply " -"returns the value of ``sys.modules[\"\"]``. Note that it " -"doesn't enter the module into any namespace -- it only ensures it has been " -"initialized and is stored in :data:`sys.modules`." -msgstr "" - -#: ../../faq/extending.rst:194 -msgid "" -"You can then access the module's attributes (i.e. any name defined in the " -"module) as follows::" -msgstr "" - -#: ../../faq/extending.rst:197 -msgid "attr = PyObject_GetAttrString(module, \"\");" -msgstr "" - -#: ../../faq/extending.rst:199 -msgid "" -"Calling :c:func:`PyObject_SetAttrString` to assign to variables in the " -"module also works." -msgstr "" - -#: ../../faq/extending.rst:204 -msgid "How do I interface to C++ objects from Python?" -msgstr "" - -#: ../../faq/extending.rst:206 -msgid "" -"Depending on your requirements, there are many approaches. To do this " -"manually, begin by reading :ref:`the \"Extending and Embedding\" document " -"`. Realize that for the Python run-time system, there " -"isn't a whole lot of difference between C and C++ -- so the strategy of " -"building a new Python type around a C structure (pointer) type will also " -"work for C++ objects." -msgstr "" - -#: ../../faq/extending.rst:212 -msgid "For C++ libraries, see :ref:`c-wrapper-software`." -msgstr "" - -#: ../../faq/extending.rst:216 -msgid "I added a module using the Setup file and the make fails; why?" -msgstr "" - -#: ../../faq/extending.rst:218 -msgid "" -"Setup must end in a newline, if there is no newline there, the build process" -" fails. (Fixing this requires some ugly shell script hackery, and this bug " -"is so minor that it doesn't seem worth the effort.)" -msgstr "" - -#: ../../faq/extending.rst:224 -msgid "How do I debug an extension?" -msgstr "" - -#: ../../faq/extending.rst:226 -msgid "" -"When using GDB with dynamically loaded extensions, you can't set a " -"breakpoint in your extension until your extension is loaded." -msgstr "" - -#: ../../faq/extending.rst:229 -msgid "In your ``.gdbinit`` file (or interactively), add the command:" -msgstr "" - -#: ../../faq/extending.rst:231 -msgid "br _PyImport_LoadDynamicModule" -msgstr "" - -#: ../../faq/extending.rst:235 -msgid "Then, when you run GDB:" -msgstr "" - -#: ../../faq/extending.rst:237 -msgid "" -"$ gdb /local/bin/python\n" -"gdb) run myscript.py\n" -"gdb) continue # repeat until your extension is loaded\n" -"gdb) finish # so that your extension is loaded\n" -"gdb) br myfunction.c:50\n" -"gdb) continue" -msgstr "" - -#: ../../faq/extending.rst:247 -msgid "" -"I want to compile a Python module on my Linux system, but some files are " -"missing. Why?" -msgstr "" - -#: ../../faq/extending.rst:249 -msgid "" -"Most packaged versions of Python omit some files required for compiling " -"Python extensions." -msgstr "" - -#: ../../faq/extending.rst:252 -msgid "For Red Hat, install the python3-devel RPM to get the necessary files." -msgstr "" - -#: ../../faq/extending.rst:254 -msgid "For Debian, run ``apt-get install python3-dev``." -msgstr "" - -#: ../../faq/extending.rst:257 -msgid "How do I tell \"incomplete input\" from \"invalid input\"?" -msgstr "" - -#: ../../faq/extending.rst:259 -msgid "" -"Sometimes you want to emulate the Python interactive interpreter's behavior," -" where it gives you a continuation prompt when the input is incomplete (e.g." -" you typed the start of an \"if\" statement or you didn't close your " -"parentheses or triple string quotes), but it gives you a syntax error " -"message immediately when the input is invalid." -msgstr "" - -#: ../../faq/extending.rst:265 -msgid "" -"In Python you can use the :mod:`codeop` module, which approximates the " -"parser's behavior sufficiently. IDLE uses this, for example." -msgstr "" - -#: ../../faq/extending.rst:268 -msgid "" -"The easiest way to do it in C is to call :c:func:`PyRun_InteractiveLoop` " -"(perhaps in a separate thread) and let the Python interpreter handle the " -"input for you. You can also set the :c:func:`PyOS_ReadlineFunctionPointer` " -"to point at your custom input function. See ``Modules/readline.c`` and " -"``Parser/myreadline.c`` for more hints." -msgstr "" - -#: ../../faq/extending.rst:275 -msgid "How do I find undefined g++ symbols __builtin_new or __pure_virtual?" -msgstr "" - -#: ../../faq/extending.rst:277 -msgid "" -"To dynamically load g++ extension modules, you must recompile Python, relink" -" it using g++ (change LINKCC in the Python Modules Makefile), and link your " -"extension module using g++ (e.g., ``g++ -shared -o mymodule.so " -"mymodule.o``)." -msgstr "" - -#: ../../faq/extending.rst:283 -msgid "" -"Can I create an object class with some methods implemented in C and others " -"in Python (e.g. through inheritance)?" -msgstr "" - -#: ../../faq/extending.rst:285 -msgid "" -"Yes, you can inherit from built-in classes such as :class:`int`, " -":class:`list`, :class:`dict`, etc." -msgstr "" - -#: ../../faq/extending.rst:288 -msgid "" -"The Boost Python Library (BPL, " -"https://www.boost.org/libs/python/doc/index.html) provides a way of doing " -"this from C++ (i.e. you can inherit from an extension class written in C++ " -"using the BPL)." -msgstr "" diff --git a/python-newest.faq--general/id.po b/python-newest.faq--general/id.po deleted file mode 100644 index 7870dd4..0000000 --- a/python-newest.faq--general/id.po +++ /dev/null @@ -1,874 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Ryan Febriansyah <15523163@students.uii.ac.id>, 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../faq/general.rst:5 -msgid "General Python FAQ" -msgstr "FAQ Umum Python" - -#: ../../faq/general.rst:8 -msgid "Contents" -msgstr "Konten" - -#: ../../faq/general.rst:13 -msgid "General Information" -msgstr "Informasi Umum" - -#: ../../faq/general.rst:16 -msgid "What is Python?" -msgstr "Apa itu Python?" - -#: ../../faq/general.rst:18 -msgid "" -"Python is an interpreted, interactive, object-oriented programming language." -" It incorporates modules, exceptions, dynamic typing, very high level " -"dynamic data types, and classes. It supports multiple programming paradigms" -" beyond object-oriented programming, such as procedural and functional " -"programming. Python combines remarkable power with very clear syntax. It has" -" interfaces to many system calls and libraries, as well as to various window" -" systems, and is extensible in C or C++. It is also usable as an extension " -"language for applications that need a programmable interface. Finally, " -"Python is portable: it runs on many Unix variants including Linux and macOS," -" and on Windows." -msgstr "" -"Python adalah bahasa pemrograman yang diinterpretasi, interaktif, dan " -"berorientasi objek. Itu menggabungkan modul-modul, exception, pengetikan " -"yang dinamis, tipe data dinamis yang bersifat tingkat tinggi, dan kelas-" -"kelas. Python menggabungkan kekuatan yang luar biasa dengan sintaks yang " -"sangat jelas. Memiliki antar muka ke banyak pemanggilan sistem dan pustaka, " -"serta sejumlah sistem di windows, serta dapat diperluas ke dalam bahasa C " -"atau C++. Juga dapat digunakan sebagai bahasa tambahan untuk aplikasi yang " -"membutuhkan antar muka yang dapat diprogram. Terakhir, Python bersifat " -"portabel: berjalan di banyak varian Unix, di Mac, dan pada Windows 2000 dan " -"yang lebih baru" - -#: ../../faq/general.rst:28 -msgid "" -"To find out more, start with :ref:`tutorial-index`. The `Beginner's Guide " -"to Python `_ links to other " -"introductory tutorials and resources for learning Python." -msgstr "" -"Untuk mengetahui lebih lanjut, mulai dengan :ref:`tutorial-index`. `Panduan" -" Pemula Python `_ tautan ke " -"tutorial pengantar dan sumber lain untuk belajar Python." - -#: ../../faq/general.rst:34 -msgid "What is the Python Software Foundation?" -msgstr "Apa itu Python Software Foundation?" - -#: ../../faq/general.rst:36 -msgid "" -"The Python Software Foundation is an independent non-profit organization " -"that holds the copyright on Python versions 2.1 and newer. The PSF's " -"mission is to advance open source technology related to the Python " -"programming language and to publicize the use of Python. The PSF's home " -"page is at https://www.python.org/psf/." -msgstr "" -"The Python Software Foundation adalah organisasi nirlaba independen yang " -"memegang hak cipta pada Python versi 2.1 dan yang lebih baru. Misi PSF " -"adalah untuk memajukan teknologi *open source* yang terkait dengan bahasa " -"pemrograman Python dan untuk mempublikasikan penggunaan Python. Halaman " -"utama PSF ada di https://www.python.org/psf/." - -#: ../../faq/general.rst:42 -msgid "" -"Donations to the PSF are tax-exempt in the US. If you use Python and find " -"it helpful, please contribute via `the PSF donation page " -"`_." -msgstr "" -"Sumbangan untuk PSF bebas pajak di AS. Jika Anda menggunakan Python dan " -"merasa terbantu, silakan berkontribusi melalui `halaman donasi PSF " -"`_." - -#: ../../faq/general.rst:48 -msgid "Are there copyright restrictions on the use of Python?" -msgstr "Apakah ada batasan hak cipta atas penggunaan Python?" - -#: ../../faq/general.rst:50 -msgid "" -"You can do anything you want with the source, as long as you leave the " -"copyrights in and display those copyrights in any documentation about Python" -" that you produce. If you honor the copyright rules, it's OK to use Python " -"for commercial use, to sell copies of Python in source or binary form " -"(modified or unmodified), or to sell products that incorporate Python in " -"some form. We would still like to know about all commercial use of Python, " -"of course." -msgstr "" -"Anda dapat melakukan apa pun yang Anda inginkan dengan sumbernya, selama " -"Anda meninggalkan hak cipta dan menampilkan hak cipta itu dalam dokumentasi " -"apa pun tentang Python yang Anda hasilkan. Jika Anda menghormati aturan hak " -"cipta, boleh saja menggunakan Python untuk penggunaan komersial, menjual " -"salinan Python dalam bentuk sumber atau biner (dimodifikasi atau tidak " -"dimodifikasi), atau untuk menjual produk yang memasukkan Python dalam " -"beberapa bentuk. Kami masih ingin tahu tentang semua penggunaan komersial " -"Python, tentu saja." - -#: ../../faq/general.rst:57 -msgid "" -"See `the license page `_ to find " -"further explanations and the full text of the PSF License." -msgstr "" - -#: ../../faq/general.rst:60 -msgid "" -"The Python logo is trademarked, and in certain cases permission is required " -"to use it. Consult `the Trademark Usage Policy " -"`__ for more information." -msgstr "" -"Logo Python terdaftar merek dagang, dan dalam kasus tertentu diperlukan izin" -" untuk menggunakannya. Lihat `Kebijakan Penggunaan Merek Dagang " -"`__ untuk info lebih lanjut." - -#: ../../faq/general.rst:66 -msgid "Why was Python created in the first place?" -msgstr "Pada mulanya kenapa Python dibuat?" - -#: ../../faq/general.rst:68 -msgid "" -"Here's a *very* brief summary of what started it all, written by Guido van " -"Rossum:" -msgstr "" -"Berikut adalah ringkasan *singkat* dari sejak awal dimulai, ditulis oleh " -"Guido van Rossum:" - -#: ../../faq/general.rst:71 -msgid "" -"I had extensive experience with implementing an interpreted language in the " -"ABC group at CWI, and from working with this group I had learned a lot about" -" language design. This is the origin of many Python features, including the" -" use of indentation for statement grouping and the inclusion of very-high-" -"level data types (although the details are all different in Python)." -msgstr "" -"Saya memiliki pengalaman luas dalam mengimplementasikan bahasa yang " -"ditafsirkan *interpreted* dalam kelompok ABC di CWI, dan dari bekerja dengan" -" kelompok ini saya telah belajar banyak tentang desain bahasa. Ini adalah " -"asal dari banyak fitur Python, termasuk penggunaan indentasi untuk " -"pengelompokan pernyataan dan penyertaan tipe data tingkat-sangat-tinggi " -"(walaupun detailnya semua berbeda dalam Python)." - -#: ../../faq/general.rst:78 -msgid "" -"I had a number of gripes about the ABC language, but also liked many of its " -"features. It was impossible to extend the ABC language (or its " -"implementation) to remedy my complaints -- in fact its lack of extensibility" -" was one of its biggest problems. I had some experience with using " -"Modula-2+ and talked with the designers of Modula-3 and read the Modula-3 " -"report. Modula-3 is the origin of the syntax and semantics used for " -"exceptions, and some other Python features." -msgstr "" -"Saya memiliki sejumlah keluhan tentang bahasa ABC, tetapi juga menyukai " -"banyak fitur-fiturnya. Tidak mungkin untuk memperluas bahasa ABC (atau " -"implementasinya) untuk memperbaiki keluhan saya -- pada kenyataannya " -"kurangnya ekstensibilitas adalah salah satu masalah terbesarnya. Saya punya " -"pengalaman menggunakan Modula-2+ dan berbicara dengan desainer Modula-3 dan " -"membaca laporan Modula-3. Modula-3 adalah asal dari sintaks dan semantik " -"yang digunakan untuk pengecualian, dan beberapa fitur Python lainnya." - -#: ../../faq/general.rst:86 -msgid "" -"I was working in the Amoeba distributed operating system group at CWI. We " -"needed a better way to do system administration than by writing either C " -"programs or Bourne shell scripts, since Amoeba had its own system call " -"interface which wasn't easily accessible from the Bourne shell. My " -"experience with error handling in Amoeba made me acutely aware of the " -"importance of exceptions as a programming language feature." -msgstr "" -"Saya bekerja di grup sistem operasi terdistribusi Amoeba di CWI. Kami " -"membutuhkan cara yang lebih baik untuk melakukan administrasi sistem " -"daripada dengan menulis baik program C atau skrip Bourne *shell*, karena " -"Amuba memiliki antarmuka sistem panggilan sendiri yang tidak mudah diakses " -"dari Bourne *shell*. Pengalaman saya dengan penanganan kesalahan di Amuba " -"membuat saya sangat sadar akan pentingnya pengecualian sebagai fitur bahasa " -"pemrograman." - -#: ../../faq/general.rst:93 -msgid "" -"It occurred to me that a scripting language with a syntax like ABC but with " -"access to the Amoeba system calls would fill the need. I realized that it " -"would be foolish to write an Amoeba-specific language, so I decided that I " -"needed a language that was generally extensible." -msgstr "" -"Terpikir oleh saya bahwa bahasa *scripting* dengan sintaksis seperti ABC " -"tetapi dengan akses ke panggilan sistem Amuba akan memenuhi kebutuhan. Saya " -"menyadari bahwa bodoh untuk menulis bahasa khusus Amuba, jadi saya " -"memutuskan bahwa saya membutuhkan bahasa yang pada umumnya dapat diperluas." - -#: ../../faq/general.rst:98 -msgid "" -"During the 1989 Christmas holidays, I had a lot of time on my hand, so I " -"decided to give it a try. During the next year, while still mostly working " -"on it in my own time, Python was used in the Amoeba project with increasing " -"success, and the feedback from colleagues made me add many early " -"improvements." -msgstr "" -"Selama liburan Natal 1989, saya punya banyak waktu, jadi saya memutuskan " -"untuk mencobanya. Selama tahun berikutnya, sementara sebagian besar masih " -"mengerjakannya di waktu saya sendiri, Python digunakan dalam proyek Amoeba " -"dengan keberhasilan yang semakin meningkat, dan umpan balik dari kolega " -"membuat saya menambahkan banyak perbaikan awal." - -#: ../../faq/general.rst:104 -msgid "" -"In February 1991, after just over a year of development, I decided to post " -"to USENET. The rest is in the ``Misc/HISTORY`` file." -msgstr "" -"Pada Februari 1991, setelah setahun pengembangan, saya memutuskan untuk " -"mengirim ke USENET. Sisanya ada di berkas``Misc/HISTORY``." - -#: ../../faq/general.rst:109 -msgid "What is Python good for?" -msgstr "Apa gunanya Python?" - -#: ../../faq/general.rst:111 -msgid "" -"Python is a high-level general-purpose programming language that can be " -"applied to many different classes of problems." -msgstr "" -"Python adalah bahasa pemrograman umum tingkat atas yang dapat diterapkan " -"untuk berbagai jenis permasalahan." - -#: ../../faq/general.rst:114 -msgid "" -"The language comes with a large standard library that covers areas such as " -"string processing (regular expressions, Unicode, calculating differences " -"between files), internet protocols (HTTP, FTP, SMTP, XML-RPC, POP, IMAP), " -"software engineering (unit testing, logging, profiling, parsing Python " -"code), and operating system interfaces (system calls, filesystems, TCP/IP " -"sockets). Look at the table of contents for :ref:`library-index` to get an " -"idea of what's available. A wide variety of third-party extensions are also" -" available. Consult `the Python Package Index `_ to find " -"packages of interest to you." -msgstr "" - -#: ../../faq/general.rst:128 -msgid "How does the Python version numbering scheme work?" -msgstr "Bagaimana cara kerja skema penomoran versi Python?" - -#: ../../faq/general.rst:130 -msgid "Python versions are numbered \"A.B.C\" or \"A.B\":" -msgstr "" - -#: ../../faq/general.rst:132 -msgid "" -"*A* is the major version number -- it is only incremented for really major " -"changes in the language." -msgstr "" - -#: ../../faq/general.rst:134 -msgid "" -"*B* is the minor version number -- it is incremented for less earth-" -"shattering changes." -msgstr "" - -#: ../../faq/general.rst:136 -msgid "" -"*C* is the micro version number -- it is incremented for each bugfix " -"release." -msgstr "" - -#: ../../faq/general.rst:138 -msgid "" -"Not all releases are bugfix releases. In the run-up to a new feature " -"release, a series of development releases are made, denoted as alpha, beta, " -"or release candidate. Alphas are early releases in which interfaces aren't " -"yet finalized; it's not unexpected to see an interface change between two " -"alpha releases. Betas are more stable, preserving existing interfaces but " -"possibly adding new modules, and release candidates are frozen, making no " -"changes except as needed to fix critical bugs." -msgstr "" - -#: ../../faq/general.rst:146 -msgid "Alpha, beta and release candidate versions have an additional suffix:" -msgstr "" - -#: ../../faq/general.rst:148 -msgid "The suffix for an alpha version is \"aN\" for some small number *N*." -msgstr "" - -#: ../../faq/general.rst:149 -msgid "The suffix for a beta version is \"bN\" for some small number *N*." -msgstr "" - -#: ../../faq/general.rst:150 -msgid "" -"The suffix for a release candidate version is \"rcN\" for some small number " -"*N*." -msgstr "" - -#: ../../faq/general.rst:152 -msgid "" -"In other words, all versions labeled *2.0aN* precede the versions labeled " -"*2.0bN*, which precede versions labeled *2.0rcN*, and *those* precede 2.0." -msgstr "" - -#: ../../faq/general.rst:155 -msgid "" -"You may also find version numbers with a \"+\" suffix, e.g. \"2.2+\". These" -" are unreleased versions, built directly from the CPython development " -"repository. In practice, after a final minor release is made, the version " -"is incremented to the next minor version, which becomes the \"a0\" version, " -"e.g. \"2.4a0\"." -msgstr "" -"Anda juga dapat menemukan nomor versi dengan akhiran \"+\", mis. \"2.2+\". " -"Ini adalah versi yang belum dirilis, dibangun langsung dari repositori " -"pengembangan CPython. Dalam praktiknya, setelah rilis minor final dibuat, " -"versi tersebut bertambah menjadi versi minor berikutnya, yang menjadi versi " -"\"a0\", mis. \"2.4a0\"." - -#: ../../faq/general.rst:160 -msgid "" -"See the `Developer's Guide `__ for more information about the development " -"cycle, and :pep:`387` to learn more about Python's backward compatibility " -"policy. See also the documentation for :data:`sys.version`, " -":data:`sys.hexversion`, and :data:`sys.version_info`." -msgstr "" - -#: ../../faq/general.rst:169 -msgid "How do I obtain a copy of the Python source?" -msgstr "Bagaimana saya mendapatkan salinan kode sumber Python?" - -#: ../../faq/general.rst:171 -msgid "" -"The latest Python source distribution is always available from python.org, " -"at https://www.python.org/downloads/. The latest development sources can be" -" obtained at https://github.com/python/cpython/." -msgstr "" -"Distribusi kode sumber Python terbaru selalu bisa didapatkan dari " -"python.org, di https://www.python.org/downloads/. Kode sumber pengembangan " -"terbaru bisa didapatkan di https://github.com/python/cpython/." - -#: ../../faq/general.rst:175 -msgid "" -"The source distribution is a gzipped tar file containing the complete C " -"source, Sphinx-formatted documentation, Python library modules, example " -"programs, and several useful pieces of freely distributable software. The " -"source will compile and run out of the box on most UNIX platforms." -msgstr "" -"Distribusi sumber adalah file tar gzip yang berisi sumber C lengkap, " -"dokumentasi berformat Sphinx, modul pustaka Python, program contoh, dan " -"beberapa perangkat lunak berguna yang dapat didistribusikan secara bebas. " -"Sumber akan mengkompilasi dan langsung dapat digunakan pada sebagian besar " -"platform UNIX." - -#: ../../faq/general.rst:180 -msgid "" -"Consult the `Getting Started section of the Python Developer's Guide " -"`__ for more information on getting the " -"source code and compiling it." -msgstr "" -"Lihat `Bagian Memulai dari Panduan Pengembang Python " -"`__ untuk informasi lebih lanjut tentang" -" mendapatkan kode sumber dan melakukan kompilasi." - -#: ../../faq/general.rst:186 -msgid "How do I get documentation on Python?" -msgstr "Bagaimana saya mendapatkan dokumentasi tentang Python?" - -#: ../../faq/general.rst:188 -msgid "" -"The standard documentation for the current stable version of Python is " -"available at https://docs.python.org/3/. PDF, plain text, and downloadable " -"HTML versions are also available at https://docs.python.org/3/download.html." -msgstr "" -"Dokumentasi standar untuk Python versi stabil saat ini tersedia di " -"https://docs.python.org/3/. PDF, teks biasa, dan versi HTML yang dapat " -"diunduh juga tersedia di https://docs.python.org/3/download.html." - -#: ../../faq/general.rst:192 -msgid "" -"The documentation is written in reStructuredText and processed by `the " -"Sphinx documentation tool `__. The " -"reStructuredText source for the documentation is part of the Python source " -"distribution." -msgstr "" - -#: ../../faq/general.rst:198 -msgid "I've never programmed before. Is there a Python tutorial?" -msgstr "" -"Saya belum pernah memrogram sebelumnya. Apakah ada tutorial tentang Python?" - -#: ../../faq/general.rst:200 -msgid "" -"There are numerous tutorials and books available. The standard " -"documentation includes :ref:`tutorial-index`." -msgstr "" -"Ada sejumlah tutorial dan buku yang tersedia. Dokumentasi standar " -"menyertakan :ref:`tutorial-index`." - -#: ../../faq/general.rst:203 -msgid "" -"Consult `the Beginner's Guide " -"`_ to find information for " -"beginning Python programmers, including lists of tutorials." -msgstr "" -"Lihat `Panduan Memulai `_ untuk" -" menemukan informasi tentang menjadi pemrogram Python pemula, termasuk " -"daftar tutorial." - -#: ../../faq/general.rst:208 -msgid "Is there a newsgroup or mailing list devoted to Python?" -msgstr "Apakah ada newsgroup atau milis yang ditujukan untuk Python?" - -#: ../../faq/general.rst:210 -msgid "" -"There is a newsgroup, :newsgroup:`comp.lang.python`, and a mailing list, " -"`python-list `_. The " -"newsgroup and mailing list are gatewayed into each other -- if you can read " -"news it's unnecessary to subscribe to the mailing list. " -":newsgroup:`comp.lang.python` is high-traffic, receiving hundreds of " -"postings every day, and Usenet readers are often more able to cope with this" -" volume." -msgstr "" -"Ada newsgroup, :newsgroup:`comp.lang.python`, dan milis, `python-list " -"`_. Newsgroup dan " -"milis saling berhubungan satu sama lain -- jika Anda dapat membaca berita, " -"tidak perlu berlangganan ke milis. :newsgroup:`comp.lang.python` memiliki " -"lalu lintas tinggi, menerima ratusan posting setiap hari, dan pembaca Usenet" -" seringkali lebih mampu mengatasi volume ini." - -#: ../../faq/general.rst:217 -msgid "" -"Announcements of new software releases and events can be found in " -"comp.lang.python.announce, a low-traffic moderated list that receives about " -"five postings per day. It's available as `the python-announce mailing list " -"`_." -msgstr "" - -#: ../../faq/general.rst:222 -msgid "" -"More info about other mailing lists and newsgroups can be found at " -"https://www.python.org/community/lists/." -msgstr "" -"Info lebih lanjut tentang milis dan newsgroup lainnya dapat ditemukan di " -"https://www.python.org/community/lists/." - -#: ../../faq/general.rst:227 -msgid "How do I get a beta test version of Python?" -msgstr "Bagaimana saya mendapatkan versi uji beta dari Python?" - -#: ../../faq/general.rst:229 -msgid "" -"Alpha and beta releases are available from " -"https://www.python.org/downloads/. All releases are announced on the " -"comp.lang.python and comp.lang.python.announce newsgroups and on the Python " -"home page at https://www.python.org/; an RSS feed of news is available." -msgstr "" -"Rilis alfa dan beta tersedia dari https://www.python.org/downloads/. Semua " -"rilis diumumkan melalui newsgroup comp.lang.python dan " -"comp.lang.python.announce dan di halaman utama Python di " -"https://www.python.org/; tersedia juga umpan RSS dari berita." - -#: ../../faq/general.rst:234 -msgid "" -"You can also access the development version of Python through Git. See `The" -" Python Developer's Guide `_ for details." -msgstr "" -"Anda juga dapat mengakses versi pengembangan dari Python melalui Git. Lihat" -" `Panduan Pengembang Python `_ untuk lebih " -"jelasnya." - -#: ../../faq/general.rst:239 -msgid "How do I submit bug reports and patches for Python?" -msgstr "Bagaimana saya mengirimkan laporan bug dan patch untuk Python?" - -#: ../../faq/general.rst:241 -msgid "" -"To report a bug or submit a patch, use the issue tracker at " -"https://github.com/python/cpython/issues." -msgstr "" - -#: ../../faq/general.rst:244 -msgid "" -"For more information on how Python is developed, consult `the Python " -"Developer's Guide `_." -msgstr "" -"Untuk informasi lebih lanjut mengenai bagaimana Python dikembangkan, lihat " -"`Panduan Pengembang Python `_." - -#: ../../faq/general.rst:249 -msgid "Are there any published articles about Python that I can reference?" -msgstr "" -"Apakah ada publikasi artikel tentang Python yang bisa saya gunakan sebagai " -"referensi?" - -#: ../../faq/general.rst:251 -msgid "It's probably best to cite your favorite book about Python." -msgstr "Mungkin sebaiknya mengutip buku favorit Anda tentang Python." - -#: ../../faq/general.rst:253 -msgid "" -"The `very first article `_ about Python was " -"written in 1991 and is now quite outdated." -msgstr "" - -#: ../../faq/general.rst:256 -msgid "" -"Guido van Rossum and Jelke de Boer, \"Interactively Testing Remote Servers " -"Using the Python Programming Language\", CWI Quarterly, Volume 4, Issue 4 " -"(December 1991), Amsterdam, pp 283--303." -msgstr "" -"Guido van Rossum dan Jelke de Boer, \"Interactively Testing Remote Servers " -"Using the Python Programming Language\", CWI Quarterly, Volume 4, Issue 4 " -"(December 1991), Amsterdam, pp 283--303." - -#: ../../faq/general.rst:262 -msgid "Are there any books on Python?" -msgstr "Apakah ada buku-buku tentang Python?" - -#: ../../faq/general.rst:264 -msgid "" -"Yes, there are many, and more are being published. See the python.org wiki " -"at https://wiki.python.org/moin/PythonBooks for a list." -msgstr "" -"Ya, ada banyak, dan banyak juga yang sedang diterbitkan. Untuk daftarnya " -"lihat wiki python.org di https://wiki.python.org/moin/PythonBooks ." - -#: ../../faq/general.rst:267 -msgid "" -"You can also search online bookstores for \"Python\" and filter out the " -"Monty Python references; or perhaps search for \"Python\" and \"language\"." -msgstr "" -"Anda juga dapat mencari \"Python\" di toko buku online dan menyaring " -"referensi Monty Python; atau mungkin cari \"Python\" dan \"bahasa\"." - -#: ../../faq/general.rst:272 -msgid "Where in the world is www.python.org located?" -msgstr "Dimana di dunia lokasi www.python.org?" - -#: ../../faq/general.rst:274 -msgid "" -"The Python project's infrastructure is located all over the world and is " -"managed by the Python Infrastructure Team. Details `here " -"`__." -msgstr "" - -#: ../../faq/general.rst:279 -msgid "Why is it called Python?" -msgstr "Kenapa disebut Python?" - -#: ../../faq/general.rst:281 -msgid "" -"When he began implementing Python, Guido van Rossum was also reading the " -"published scripts from `\"Monty Python's Flying Circus\" " -"`__, a BBC comedy series from " -"the 1970s. Van Rossum thought he needed a name that was short, unique, and " -"slightly mysterious, so he decided to call the language Python." -msgstr "" -"Ketika mulai mengimplementasikan Python, Guido van Rossum juga membaca skrip" -" yang diterbitkan dari `\"Sirkus Terbang Monty Python " -"\"`__, sebuah serial komedi BBC " -"dari tahun 1970-an. Van Rossum berpikir dia membutuhkan nama yang pendek, " -"unik, dan sedikit misterius, jadi dia memutuskan untuk memanggil bahasa " -"Python." - -#: ../../faq/general.rst:289 -msgid "Do I have to like \"Monty Python's Flying Circus\"?" -msgstr "Apakah saya harus menyukai \"Monty Python's Flying Circus\"?" - -#: ../../faq/general.rst:291 -msgid "No, but it helps. :)" -msgstr "Tidak, tapi itu membantu. :)" - -#: ../../faq/general.rst:295 -msgid "Python in the real world" -msgstr "Python di dunia nyata" - -#: ../../faq/general.rst:298 -msgid "How stable is Python?" -msgstr "Seberapa stabil Python?" - -#: ../../faq/general.rst:300 -msgid "" -"Very stable. New, stable releases have been coming out roughly every 6 to " -"18 months since 1991, and this seems likely to continue. As of version 3.9," -" Python will have a new feature release every 12 months (:pep:`602`)." -msgstr "" - -#: ../../faq/general.rst:304 -msgid "" -"The developers issue bugfix releases of older versions, so the stability of " -"existing releases gradually improves. Bugfix releases, indicated by a third" -" component of the version number (e.g. 3.5.3, 3.6.2), are managed for " -"stability; only fixes for known problems are included in a bugfix release, " -"and it's guaranteed that interfaces will remain the same throughout a series" -" of bugfix releases." -msgstr "" - -#: ../../faq/general.rst:311 -msgid "" -"The latest stable releases can always be found on the `Python download page " -"`_. Python 3.x is the recommended version" -" and supported by most widely used libraries. Python 2.x :pep:`is not " -"maintained anymore <373>`." -msgstr "" - -#: ../../faq/general.rst:317 -msgid "How many people are using Python?" -msgstr "Berapa banyak orang menggunakan Python?" - -#: ../../faq/general.rst:319 -msgid "" -"There are probably millions of users, though it's difficult to obtain an " -"exact count." -msgstr "" -"Mungkin ada jutaan pengguna, meskipun sulit untuk mendapatkan jumlah " -"pastinya." - -#: ../../faq/general.rst:322 -msgid "" -"Python is available for free download, so there are no sales figures, and " -"it's available from many different sites and packaged with many Linux " -"distributions, so download statistics don't tell the whole story either." -msgstr "" -"Python tersedia untuk diunduh gratis, jadi tidak ada angka penjualan, dan " -"itu tersedia dari banyak situs yang berbeda dan dikemas dengan banyak " -"distribusi Linux, jadi statistik unduhan juga tidak menceritakan keseluruhan" -" cerita." - -#: ../../faq/general.rst:326 -msgid "" -"The comp.lang.python newsgroup is very active, but not all Python users post" -" to the group or even read it." -msgstr "" -"newsgroup comp.lang.python sangat aktif, tetapi tidak semua pengguna Python " -"mengirim ke grup atau bahkan membacanya." - -#: ../../faq/general.rst:331 -msgid "Have any significant projects been done in Python?" -msgstr "Apakah ada proyek-proyek penting yang dibuat dengan Python?" - -#: ../../faq/general.rst:333 -msgid "" -"See https://www.python.org/about/success for a list of projects that use " -"Python. Consulting the proceedings for `past Python conferences " -"`_ will reveal contributions " -"from many different companies and organizations." -msgstr "" -"Lihat https://www.python.org/about/success untuk daftar proyek yang " -"menggunakan Python. Konsultasi proses untuk `konferensi Python masa lalu " -"`_ akan mengungkapkan " -"kontribusi dari banyak perusahaan dan organisasi yang berbeda." - -#: ../../faq/general.rst:338 -msgid "" -"High-profile Python projects include `the Mailman mailing list manager " -"`_ and `the Zope application server " -"`_. Several Linux distributions, most notably `Red " -"Hat `_, have written part or all of their installer " -"and system administration software in Python. Companies that use Python " -"internally include Google, Yahoo, and Lucasfilm Ltd." -msgstr "" - -#: ../../faq/general.rst:347 -msgid "What new developments are expected for Python in the future?" -msgstr "Apa pengembangan baru yang diharapkan dari Python di masa depan?" - -#: ../../faq/general.rst:349 -msgid "" -"See https://peps.python.org/ for the Python Enhancement Proposals (PEPs). " -"PEPs are design documents describing a suggested new feature for Python, " -"providing a concise technical specification and a rationale. Look for a PEP" -" titled \"Python X.Y Release Schedule\", where X.Y is a version that hasn't " -"been publicly released yet." -msgstr "" - -#: ../../faq/general.rst:355 -msgid "" -"New development is discussed on `the python-dev mailing list " -"`_." -msgstr "" - -#: ../../faq/general.rst:360 -msgid "Is it reasonable to propose incompatible changes to Python?" -msgstr "" -"Apakah beralasan untuk mengusulkan perubahan yang tidak kompatibel terhadap " -"Python?" - -#: ../../faq/general.rst:362 -msgid "" -"In general, no. There are already millions of lines of Python code around " -"the world, so any change in the language that invalidates more than a very " -"small fraction of existing programs has to be frowned upon. Even if you can" -" provide a conversion program, there's still the problem of updating all " -"documentation; many books have been written about Python, and we don't want " -"to invalidate them all at a single stroke." -msgstr "" -"Secara umum, tidak. Sudah ada jutaan baris kode Python di seluruh dunia, " -"sehingga setiap perubahan dalam bahasa yang membatalkan lebih dari sebagian " -"kecil dari program yang ada harus dihapuskan. Bahkan jika Anda dapat " -"menyediakan program konversi, masih ada masalah memperbarui semua " -"dokumentasi; banyak buku telah ditulis tentang Python, dan kami tidak ingin " -"membatalkan semuanya dengan satu goresan." - -#: ../../faq/general.rst:369 -msgid "" -"Providing a gradual upgrade path is necessary if a feature has to be " -"changed. :pep:`5` describes the procedure followed for introducing backward-" -"incompatible changes while minimizing disruption for users." -msgstr "" -"Diperlukan jalur peningkatan bertahap jika fitur harus diubah. :pep:`5` " -"menjelaskan prosedur yang diikuti untuk memperkenalkan perubahan yang tidak " -"kompatibel ke belakang sambil meminimalkan gangguan bagi pengguna." - -#: ../../faq/general.rst:375 -msgid "Is Python a good language for beginning programmers?" -msgstr "Apakah Python bahasa yang baik untuk pemrogram pemula?" - -#: ../../faq/general.rst:377 -msgid "Yes." -msgstr "Ya." - -#: ../../faq/general.rst:379 -msgid "" -"It is still common to start students with a procedural and statically typed " -"language such as Pascal, C, or a subset of C++ or Java. Students may be " -"better served by learning Python as their first language. Python has a very" -" simple and consistent syntax and a large standard library and, most " -"importantly, using Python in a beginning programming course lets students " -"concentrate on important programming skills such as problem decomposition " -"and data type design. With Python, students can be quickly introduced to " -"basic concepts such as loops and procedures. They can probably even work " -"with user-defined objects in their very first course." -msgstr "" -"Masih umum untuk memulai siswa belajar dengan bahasa prosedural dan tipe " -"statis seperti Pascal, C, atau subset dari C++ atau Java. Siswa mungkin " -"lebih baik dididik dengan mempelajari Python sebagai bahasa pertama mereka. " -"Python memiliki sintaksis yang sangat sederhana dan konsisten serta pustaka " -"standar yang besar dan, yang paling penting, menggunakan Python dalam kursus" -" pemrograman awal memungkinkan siswa berkonsentrasi pada keterampilan " -"penting pemrograman seperti dekomposisi masalah dan desain tipe data. Dengan" -" Python, siswa dapat dengan cepat diperkenalkan dengan konsep-konsep dasar " -"seperti loop dan prosedur. Mereka bahkan dapat bekerja dengan objek yang " -"ditentukan pengguna dalam kursus pertama mereka." - -#: ../../faq/general.rst:389 -msgid "" -"For a student who has never programmed before, using a statically typed " -"language seems unnatural. It presents additional complexity that the " -"student must master and slows the pace of the course. The students are " -"trying to learn to think like a computer, decompose problems, design " -"consistent interfaces, and encapsulate data. While learning to use a " -"statically typed language is important in the long term, it is not " -"necessarily the best topic to address in the students' first programming " -"course." -msgstr "" -"Untuk siswa yang belum pernah memprogram sebelumnya, menggunakan bahasa yang" -" memiliki tipe statis tampaknya tidak wajar atau tidak biasa. Ini menyajikan" -" kompleksitas tambahan bahwa siswa harus menguasai dan memperlambat laju " -"kursus. Para siswa berusaha belajar berpikir seperti komputer, menguraikan " -"masalah, mendesain antarmuka yang konsisten, dan merangkum data. Sementara " -"belajar untuk menggunakan bahasa yang memiliki tipe statis itu penting dalam" -" jangka panjang, itu tidak selalu merupakan topik terbaik untuk dibahas " -"dalam kursus pemrograman pertama siswa." - -#: ../../faq/general.rst:397 -msgid "" -"Many other aspects of Python make it a good first language. Like Java, " -"Python has a large standard library so that students can be assigned " -"programming projects very early in the course that *do* something. " -"Assignments aren't restricted to the standard four-function calculator and " -"check balancing programs. By using the standard library, students can gain " -"the satisfaction of working on realistic applications as they learn the " -"fundamentals of programming. Using the standard library also teaches " -"students about code reuse. Third-party modules such as PyGame are also " -"helpful in extending the students' reach." -msgstr "" -"Banyak aspek lain dari Python menjadikannya bahasa pertama yang baik. " -"Seperti Java, Python memiliki pustaka standar yang besar sehingga siswa " -"dapat ditugaskan proyek pemrograman sangat awal dalam kursus yang *do* " -"sesuatu. Tugas tidak terbatas pada kalkulator empat fungsi standar dan " -"periksa program keseimbangan. Dengan menggunakan perpustakaan standar, siswa" -" dapat memperoleh kepuasan bekerja pada aplikasi dunia nyata saat mereka " -"mempelajari dasar-dasar pemrograman. Menggunakan perpustakaan standar juga " -"mengajarkan siswa tentang penggunaan kembali *reuse* kode. Modul pihak " -"ketiga seperti PyGame juga membantu dalam memperluas jangkauan siswa." - -#: ../../faq/general.rst:406 -msgid "" -"Python's interactive interpreter enables students to test language features " -"while they're programming. They can keep a window with the interpreter " -"running while they enter their program's source in another window. If they " -"can't remember the methods for a list, they can do something like this::" -msgstr "" -"*interpreter* interaktif Python memungkinkan siswa untuk menguji fitur " -"bahasa saat mereka sedang melakukan pemrograman. Mereka dapat menjaga " -"jendela dengan *interpreter* berjalan saat mereka memasukkan sumber program " -"mereka di jendela lain. Jika mereka tidak dapat mengingat metode untuk " -"*list*, mereka dapat melakukan sesuatu seperti ini::" - -#: ../../faq/general.rst:411 -msgid "" -">>> L = []\n" -">>> dir(L)\n" -"['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',\n" -"'__dir__', '__doc__', '__eq__', '__format__', '__ge__',\n" -"'__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__',\n" -"'__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__',\n" -"'__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__',\n" -"'__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__',\n" -"'__sizeof__', '__str__', '__subclasshook__', 'append', 'clear',\n" -"'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove',\n" -"'reverse', 'sort']\n" -">>> [d for d in dir(L) if '__' not in d]\n" -"['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']\n" -"\n" -">>> help(L.append)\n" -"Help on built-in function append:\n" -"\n" -"append(...)\n" -" L.append(object) -> None -- append object to end\n" -"\n" -">>> L.append(1)\n" -">>> L\n" -"[1]" -msgstr "" - -#: ../../faq/general.rst:435 -msgid "" -"With the interpreter, documentation is never far from the student as they " -"are programming." -msgstr "" -"Dengan interpreter, dokumentasi tidak pernah jauh dari pelajar saat mereka " -"melakukan pemrograman." - -#: ../../faq/general.rst:438 -msgid "" -"There are also good IDEs for Python. IDLE is a cross-platform IDE for " -"Python that is written in Python using Tkinter. Emacs users will be happy to" -" know that there is a very good Python mode for Emacs. All of these " -"programming environments provide syntax highlighting, auto-indenting, and " -"access to the interactive interpreter while coding. Consult `the Python " -"wiki `_ for a full list of " -"Python editing environments." -msgstr "" - -#: ../../faq/general.rst:446 -msgid "" -"If you want to discuss Python's use in education, you may be interested in " -"joining `the edu-sig mailing list " -"`_." -msgstr "" -"Jika ingin mendiskusikan penggunaan Python di bidang pendidikan, Anda " -"mungkin tertarik untuk bergabung di `milis edu-sig " -"`_." diff --git a/python-newest.faq--gui/id.po b/python-newest.faq--gui/id.po deleted file mode 100644 index e8cac46..0000000 --- a/python-newest.faq--gui/id.po +++ /dev/null @@ -1,122 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Taufan Budiman , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Taufan Budiman , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../faq/gui.rst:5 -msgid "Graphic User Interface FAQ" -msgstr "Antarmuka Pengguna Grafis FAQ" - -#: ../../faq/gui.rst:8 -msgid "Contents" -msgstr "Konten" - -#: ../../faq/gui.rst:15 -msgid "General GUI Questions" -msgstr "Pertanyaan Umum GUI" - -#: ../../faq/gui.rst:18 -msgid "What GUI toolkits exist for Python?" -msgstr "" - -#: ../../faq/gui.rst:20 -msgid "" -"Standard builds of Python include an object-oriented interface to the Tcl/Tk" -" widget set, called :ref:`tkinter `. This is probably the easiest " -"to install (since it comes included with most `binary distributions " -"`_ of Python) and use. For more info " -"about Tk, including pointers to the source, see the `Tcl/Tk home page " -"`_. Tcl/Tk is fully portable to the macOS, Windows, and" -" Unix platforms." -msgstr "" - -#: ../../faq/gui.rst:28 -msgid "" -"Depending on what platform(s) you are aiming at, there are also several " -"alternatives. A `list of cross-platform " -"`_ " -"and `platform-specific " -"`_" -" GUI frameworks can be found on the python wiki." -msgstr "" - -#: ../../faq/gui.rst:36 -msgid "Tkinter questions" -msgstr "Pertanyaan-pertanyaan Tkinter" - -#: ../../faq/gui.rst:39 -msgid "How do I freeze Tkinter applications?" -msgstr "Bagaimana cara membekukan aplikasi Tkinter?" - -#: ../../faq/gui.rst:41 -msgid "" -"Freeze is a tool to create stand-alone applications. When freezing Tkinter " -"applications, the applications will not be truly stand-alone, as the " -"application will still need the Tcl and Tk libraries." -msgstr "" - -#: ../../faq/gui.rst:45 -msgid "" -"One solution is to ship the application with the Tcl and Tk libraries, and " -"point to them at run-time using the :envvar:`!TCL_LIBRARY` and " -":envvar:`!TK_LIBRARY` environment variables." -msgstr "" - -#: ../../faq/gui.rst:49 -msgid "" -"Various third-party freeze libraries such as py2exe and cx_Freeze have " -"handling for Tkinter applications built-in." -msgstr "" - -#: ../../faq/gui.rst:54 -msgid "Can I have Tk events handled while waiting for I/O?" -msgstr "" - -#: ../../faq/gui.rst:56 -msgid "" -"On platforms other than Windows, yes, and you don't even need threads! But " -"you'll have to restructure your I/O code a bit. Tk has the equivalent of " -"Xt's :c:func:`!XtAddInput` call, which allows you to register a callback " -"function which will be called from the Tk mainloop when I/O is possible on a" -" file descriptor. See :ref:`tkinter-file-handlers`." -msgstr "" - -#: ../../faq/gui.rst:64 -msgid "I can't get key bindings to work in Tkinter: why?" -msgstr "" -"Saya tidak bisa mendapatkan pengikatan kunci untuk bekerja di Tkinter: " -"mengapa?" - -#: ../../faq/gui.rst:66 -msgid "" -"An often-heard complaint is that event handlers :ref:`bound ` to events with the :meth:`!bind` method don't get handled even when" -" the appropriate key is pressed." -msgstr "" - -#: ../../faq/gui.rst:70 -msgid "" -"The most common cause is that the widget to which the binding applies " -"doesn't have \"keyboard focus\". Check out the Tk documentation for the " -"focus command. Usually a widget is given the keyboard focus by clicking in " -"it (but not for labels; see the takefocus option)." -msgstr "" diff --git a/python-newest.faq--index/id.po b/python-newest.faq--index/id.po deleted file mode 100644 index 8a9fc5c..0000000 --- a/python-newest.faq--index/id.po +++ /dev/null @@ -1,26 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../faq/index.rst:5 -msgid "Python Frequently Asked Questions" -msgstr "Pertanyaan tentang Python yang Sering Diajukan" diff --git a/python-newest.faq--installed/id.po b/python-newest.faq--installed/id.po deleted file mode 100644 index 23052fa..0000000 --- a/python-newest.faq--installed/id.po +++ /dev/null @@ -1,144 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../faq/installed.rst:3 -msgid "\"Why is Python Installed on my Computer?\" FAQ" -msgstr "\"Kenapa Python Terpasang di Komputer saya?\" FAQ" - -#: ../../faq/installed.rst:6 -msgid "What is Python?" -msgstr "Apa itu Python?" - -#: ../../faq/installed.rst:8 -msgid "" -"Python is a programming language. It's used for many different " -"applications. It's used in some high schools and colleges as an introductory" -" programming language because Python is easy to learn, but it's also used by" -" professional software developers at places such as Google, NASA, and " -"Lucasfilm Ltd." -msgstr "" -"Python adalah bahasa pemrograman. Digunakan untuk berbagai aplikasi. " -"Digunakan di sejumlah sekolah menengah dan perguruan tinggi sebagai " -"pengenalan bahasa pemrograman karena Python mudah dipelajari, namun juga " -"digunakan oleh pengembang perangkat lunak profesional di berbagai tempat " -"misalnya Google, NASA, dan Lucasfilm Ltd." - -#: ../../faq/installed.rst:13 -msgid "" -"If you wish to learn more about Python, start with the `Beginner's Guide to " -"Python `_." -msgstr "" -"Jika anda ingin pelajari Python lebih lanjut, mulai dengan `Panduan Pemula " -"untuk Python `_." - -#: ../../faq/installed.rst:18 -msgid "Why is Python installed on my machine?" -msgstr "Kenapa Python Terpasang di Komputer saya?" - -#: ../../faq/installed.rst:20 -msgid "" -"If you find Python installed on your system but don't remember installing " -"it, there are several possible ways it could have gotten there." -msgstr "" -"Jika Anda menemukan Python terpasang pada sistem Anda tetapi tidak ingat " -"pemasangannya, ada beberapa kemungkinan penyebab bisa ada di situ." - -#: ../../faq/installed.rst:23 -msgid "" -"Perhaps another user on the computer wanted to learn programming and " -"installed it; you'll have to figure out who's been using the machine and " -"might have installed it." -msgstr "" -"Mungkin pengguna komputer lain ingin belajar pemrograman dan memasangnya; " -"Anda harus mencari tahu siapa yang menggunakan mesin dan mungkin " -"memasangnya." - -#: ../../faq/installed.rst:26 -msgid "" -"A third-party application installed on the machine might have been written " -"in Python and included a Python installation. There are many such " -"applications, from GUI programs to network servers and administrative " -"scripts." -msgstr "" -"Aplikasi pihak ketiga yang terpasang di mesin mungkin ditulis dengan Python " -"dan menyertakan instalasi Python. Ada banyak aplikasi, dari program GUI " -"hingga skrip jaringan server dan administrasi." - -#: ../../faq/installed.rst:29 -msgid "" -"Some Windows machines also have Python installed. At this writing we're " -"aware of computers from Hewlett-Packard and Compaq that include Python. " -"Apparently some of HP/Compaq's administrative tools are written in Python." -msgstr "" -"Beberapa mesin Windows telah terpasang Python. Pada saat penulisan ini sudah" -" diketahui komputer-komputer dari Hewlett-Packard dan Compaq menyertakan " -"Python. Rupanya beberapa alat administrasi HP/Compaq ditulis dengan Python." - -#: ../../faq/installed.rst:32 -msgid "" -"Many Unix-compatible operating systems, such as macOS and some Linux " -"distributions, have Python installed by default; it's included in the base " -"installation." -msgstr "" - -#: ../../faq/installed.rst:38 -msgid "Can I delete Python?" -msgstr "Dapatkah Saya hapus Python?" - -#: ../../faq/installed.rst:40 -msgid "That depends on where Python came from." -msgstr "Hal itu tergantung dari mana Python berasal." - -#: ../../faq/installed.rst:42 -msgid "" -"If someone installed it deliberately, you can remove it without hurting " -"anything. On Windows, use the Add/Remove Programs icon in the Control " -"Panel." -msgstr "" -"Jika seseorang memasangnya dengan sengaja, Anda dapat menghapusnya tanpa " -"merusak apapun. Di Windows, gunakan ikon Add/Remove Programs di Control " -"Panel." - -#: ../../faq/installed.rst:45 -msgid "" -"If Python was installed by a third-party application, you can also remove " -"it, but that application will no longer work. You should use that " -"application's uninstaller rather than removing Python directly." -msgstr "" -"Jika Python dipasang oleh aplikasi pihak ketiga, Anda juga dapat " -"menghapusnya, tetapi aplikasi tersebut tidak akan berfungsi lagi. Anda " -"perlu menggunakan penghapus pemasangan aplikasi dibanding menghapus Python " -"secara langsung." - -#: ../../faq/installed.rst:49 -msgid "" -"If Python came with your operating system, removing it is not recommended. " -"If you remove it, whatever tools were written in Python will no longer run, " -"and some of them might be important to you. Reinstalling the whole system " -"would then be required to fix things again." -msgstr "" -"Jika Python terpasang dari sistem operasi Anda, tidak direkomendasikan untuk" -" menghapusnya. Jika Anda menghapusnya, alat apapun yang ditulis dengan " -"Python akan tidak berfungsi lagi, dan sejumlah diantaranya mungkin penting " -"untuk Anda. Memasang ulang keseluruhan sistem akan dibutuhkan untuk " -"memperbaikinya lagi." diff --git a/python-newest.faq--library/id.po b/python-newest.faq--library/id.po deleted file mode 100644 index dc20910..0000000 --- a/python-newest.faq--library/id.po +++ /dev/null @@ -1,1046 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Ryan Febriansyah <15523163@students.uii.ac.id>, 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../faq/library.rst:5 -msgid "Library and Extension FAQ" -msgstr "FAQ Pustaka dan Ekstensi" - -#: ../../faq/library.rst:8 -msgid "Contents" -msgstr "Konten" - -#: ../../faq/library.rst:12 -msgid "General Library Questions" -msgstr "Pertanyaan Umum Pustaka" - -#: ../../faq/library.rst:15 -msgid "How do I find a module or application to perform task X?" -msgstr "" -"Bagaimana saya mencari sebuah modul atau aplikasi untuk melakukan pekerjaan " -"X?" - -#: ../../faq/library.rst:17 -msgid "" -"Check :ref:`the Library Reference ` to see if there's a " -"relevant standard library module. (Eventually you'll learn what's in the " -"standard library and will be able to skip this step.)" -msgstr "" - -#: ../../faq/library.rst:21 -msgid "" -"For third-party packages, search the `Python Package Index " -"`_ or try `Google `_ or another " -"web search engine. Searching for \"Python\" plus a keyword or two for your " -"topic of interest will usually find something helpful." -msgstr "" - -#: ../../faq/library.rst:28 -msgid "Where is the math.py (socket.py, regex.py, etc.) source file?" -msgstr "Dimana berkas sumber math.py (socket.py, regex.py, dll.)?" - -#: ../../faq/library.rst:30 -msgid "" -"If you can't find a source file for a module it may be a built-in or " -"dynamically loaded module implemented in C, C++ or other compiled language. " -"In this case you may not have the source file or it may be something like " -":file:`mathmodule.c`, somewhere in a C source directory (not on the Python " -"Path)." -msgstr "" - -#: ../../faq/library.rst:35 -msgid "There are (at least) three kinds of modules in Python:" -msgstr "" - -#: ../../faq/library.rst:37 -msgid "modules written in Python (.py);" -msgstr "modul ditulis dengan Python (.py);" - -#: ../../faq/library.rst:38 -msgid "" -"modules written in C and dynamically loaded (.dll, .pyd, .so, .sl, etc);" -msgstr "" -"modul ditulis dengan C dan dimuat secara dinamis (.dll, .pyd, .so, .sl, " -"dll);" - -#: ../../faq/library.rst:39 -msgid "" -"modules written in C and linked with the interpreter; to get a list of " -"these, type::" -msgstr "" - -#: ../../faq/library.rst:42 -msgid "" -"import sys\n" -"print(sys.builtin_module_names)" -msgstr "" - -#: ../../faq/library.rst:47 -msgid "How do I make a Python script executable on Unix?" -msgstr "Bagaimana saya membuat sebuah skrip Python dapat dieksekusi di Unix?" - -#: ../../faq/library.rst:49 -msgid "" -"You need to do two things: the script file's mode must be executable and the" -" first line must begin with ``#!`` followed by the path of the Python " -"interpreter." -msgstr "" - -#: ../../faq/library.rst:53 -msgid "" -"The first is done by executing ``chmod +x scriptfile`` or perhaps ``chmod " -"755 scriptfile``." -msgstr "" - -#: ../../faq/library.rst:56 -msgid "" -"The second can be done in a number of ways. The most straightforward way is" -" to write ::" -msgstr "" - -#: ../../faq/library.rst:59 -msgid "#!/usr/local/bin/python" -msgstr "" - -#: ../../faq/library.rst:61 -msgid "" -"as the very first line of your file, using the pathname for where the Python" -" interpreter is installed on your platform." -msgstr "" - -#: ../../faq/library.rst:64 -msgid "" -"If you would like the script to be independent of where the Python " -"interpreter lives, you can use the :program:`env` program. Almost all Unix " -"variants support the following, assuming the Python interpreter is in a " -"directory on the user's :envvar:`PATH`::" -msgstr "" - -#: ../../faq/library.rst:69 -msgid "#!/usr/bin/env python" -msgstr "" - -#: ../../faq/library.rst:71 -msgid "" -"*Don't* do this for CGI scripts. The :envvar:`PATH` variable for CGI " -"scripts is often very minimal, so you need to use the actual absolute " -"pathname of the interpreter." -msgstr "" - -#: ../../faq/library.rst:75 -msgid "" -"Occasionally, a user's environment is so full that the " -":program:`/usr/bin/env` program fails; or there's no env program at all. In" -" that case, you can try the following hack (due to Alex Rezinsky):" -msgstr "" - -#: ../../faq/library.rst:79 -msgid "" -"#! /bin/sh\n" -"\"\"\":\"\n" -"exec python $0 ${1+\"$@\"}\n" -"\"\"\"" -msgstr "" - -#: ../../faq/library.rst:86 -msgid "" -"The minor disadvantage is that this defines the script's __doc__ string. " -"However, you can fix that by adding ::" -msgstr "" - -#: ../../faq/library.rst:89 -msgid "__doc__ = \"\"\"...Whatever...\"\"\"" -msgstr "" - -#: ../../faq/library.rst:94 -msgid "Is there a curses/termcap package for Python?" -msgstr "" - -#: ../../faq/library.rst:98 -msgid "" -"For Unix variants: The standard Python source distribution comes with a " -"curses module in the :source:`Modules` subdirectory, though it's not " -"compiled by default. (Note that this is not available in the Windows " -"distribution -- there is no curses module for Windows.)" -msgstr "" - -#: ../../faq/library.rst:103 -msgid "" -"The :mod:`curses` module supports basic curses features as well as many " -"additional functions from ncurses and SYSV curses such as colour, " -"alternative character set support, pads, and mouse support. This means the " -"module isn't compatible with operating systems that only have BSD curses, " -"but there don't seem to be any currently maintained OSes that fall into this" -" category." -msgstr "" - -#: ../../faq/library.rst:111 -msgid "Is there an equivalent to C's onexit() in Python?" -msgstr "" - -#: ../../faq/library.rst:113 -msgid "" -"The :mod:`atexit` module provides a register function that is similar to C's" -" :c:func:`!onexit`." -msgstr "" - -#: ../../faq/library.rst:118 -msgid "Why don't my signal handlers work?" -msgstr "" - -#: ../../faq/library.rst:120 -msgid "" -"The most common problem is that the signal handler is declared with the " -"wrong argument list. It is called as ::" -msgstr "" - -#: ../../faq/library.rst:123 -msgid "handler(signum, frame)" -msgstr "" - -#: ../../faq/library.rst:125 -msgid "so it should be declared with two parameters::" -msgstr "" - -#: ../../faq/library.rst:127 -msgid "" -"def handler(signum, frame):\n" -" ..." -msgstr "" - -#: ../../faq/library.rst:132 -msgid "Common tasks" -msgstr "Tugas umum" - -#: ../../faq/library.rst:135 -msgid "How do I test a Python program or component?" -msgstr "Bagaimana saya menguji sebuah program Python atau komponen?" - -#: ../../faq/library.rst:137 -msgid "" -"Python comes with two testing frameworks. The :mod:`doctest` module finds " -"examples in the docstrings for a module and runs them, comparing the output " -"with the expected output given in the docstring." -msgstr "" - -#: ../../faq/library.rst:141 -msgid "" -"The :mod:`unittest` module is a fancier testing framework modelled on Java " -"and Smalltalk testing frameworks." -msgstr "" - -#: ../../faq/library.rst:144 -msgid "" -"To make testing easier, you should use good modular design in your program. " -"Your program should have almost all functionality encapsulated in either " -"functions or class methods -- and this sometimes has the surprising and " -"delightful effect of making the program run faster (because local variable " -"accesses are faster than global accesses). Furthermore the program should " -"avoid depending on mutating global variables, since this makes testing much " -"more difficult to do." -msgstr "" - -#: ../../faq/library.rst:152 -msgid "The \"global main logic\" of your program may be as simple as ::" -msgstr "" - -#: ../../faq/library.rst:154 -msgid "" -"if __name__ == \"__main__\":\n" -" main_logic()" -msgstr "" - -#: ../../faq/library.rst:157 -msgid "at the bottom of the main module of your program." -msgstr "di bagian bawah dari modul utama program anda." - -#: ../../faq/library.rst:159 -msgid "" -"Once your program is organized as a tractable collection of function and " -"class behaviours, you should write test functions that exercise the " -"behaviours. A test suite that automates a sequence of tests can be " -"associated with each module. This sounds like a lot of work, but since " -"Python is so terse and flexible it's surprisingly easy. You can make coding" -" much more pleasant and fun by writing your test functions in parallel with " -"the \"production code\", since this makes it easy to find bugs and even " -"design flaws earlier." -msgstr "" - -#: ../../faq/library.rst:167 -msgid "" -"\"Support modules\" that are not intended to be the main module of a program" -" may include a self-test of the module. ::" -msgstr "" - -#: ../../faq/library.rst:170 -msgid "" -"if __name__ == \"__main__\":\n" -" self_test()" -msgstr "" - -#: ../../faq/library.rst:173 -msgid "" -"Even programs that interact with complex external interfaces may be tested " -"when the external interfaces are unavailable by using \"fake\" interfaces " -"implemented in Python." -msgstr "" - -#: ../../faq/library.rst:179 -msgid "How do I create documentation from doc strings?" -msgstr "Bagaimana saya membuat dokumentasi dari doc strings?" - -#: ../../faq/library.rst:181 -msgid "" -"The :mod:`pydoc` module can create HTML from the doc strings in your Python " -"source code. An alternative for creating API documentation purely from " -"docstrings is `epydoc `_. `Sphinx " -"`_ can also include docstring content." -msgstr "" - -#: ../../faq/library.rst:188 -msgid "How do I get a single keypress at a time?" -msgstr "" - -#: ../../faq/library.rst:190 -msgid "" -"For Unix variants there are several solutions. It's straightforward to do " -"this using curses, but curses is a fairly large module to learn." -msgstr "" - -#: ../../faq/library.rst:234 -msgid "Threads" -msgstr "" - -#: ../../faq/library.rst:237 -msgid "How do I program using threads?" -msgstr "" - -#: ../../faq/library.rst:239 -msgid "" -"Be sure to use the :mod:`threading` module and not the :mod:`_thread` " -"module. The :mod:`threading` module builds convenient abstractions on top of" -" the low-level primitives provided by the :mod:`_thread` module." -msgstr "" - -#: ../../faq/library.rst:245 -msgid "None of my threads seem to run: why?" -msgstr "" - -#: ../../faq/library.rst:247 -msgid "" -"As soon as the main thread exits, all threads are killed. Your main thread " -"is running too quickly, giving the threads no time to do any work." -msgstr "" - -#: ../../faq/library.rst:250 -msgid "" -"A simple fix is to add a sleep to the end of the program that's long enough " -"for all the threads to finish::" -msgstr "" - -#: ../../faq/library.rst:253 -msgid "" -"import threading, time\n" -"\n" -"def thread_task(name, n):\n" -" for i in range(n):\n" -" print(name, i)\n" -"\n" -"for i in range(10):\n" -" T = threading.Thread(target=thread_task, args=(str(i), i))\n" -" T.start()\n" -"\n" -"time.sleep(10) # <---------------------------!" -msgstr "" - -#: ../../faq/library.rst:265 -msgid "" -"But now (on many platforms) the threads don't run in parallel, but appear to" -" run sequentially, one at a time! The reason is that the OS thread " -"scheduler doesn't start a new thread until the previous thread is blocked." -msgstr "" - -#: ../../faq/library.rst:269 -msgid "A simple fix is to add a tiny sleep to the start of the run function::" -msgstr "" - -#: ../../faq/library.rst:271 -msgid "" -"def thread_task(name, n):\n" -" time.sleep(0.001) # <--------------------!\n" -" for i in range(n):\n" -" print(name, i)\n" -"\n" -"for i in range(10):\n" -" T = threading.Thread(target=thread_task, args=(str(i), i))\n" -" T.start()\n" -"\n" -"time.sleep(10)" -msgstr "" - -#: ../../faq/library.rst:282 -msgid "" -"Instead of trying to guess a good delay value for :func:`time.sleep`, it's " -"better to use some kind of semaphore mechanism. One idea is to use the " -":mod:`queue` module to create a queue object, let each thread append a token" -" to the queue when it finishes, and let the main thread read as many tokens " -"from the queue as there are threads." -msgstr "" - -#: ../../faq/library.rst:290 -msgid "How do I parcel out work among a bunch of worker threads?" -msgstr "" - -#: ../../faq/library.rst:292 -msgid "" -"The easiest way is to use the :mod:`concurrent.futures` module, especially " -"the :mod:`~concurrent.futures.ThreadPoolExecutor` class." -msgstr "" - -#: ../../faq/library.rst:295 -msgid "" -"Or, if you want fine control over the dispatching algorithm, you can write " -"your own logic manually. Use the :mod:`queue` module to create a queue " -"containing a list of jobs. The :class:`~queue.Queue` class maintains a list" -" of objects and has a ``.put(obj)`` method that adds items to the queue and " -"a ``.get()`` method to return them. The class will take care of the locking" -" necessary to ensure that each job is handed out exactly once." -msgstr "" - -#: ../../faq/library.rst:302 -msgid "Here's a trivial example::" -msgstr "Berikut beberapa contoh::" - -#: ../../faq/library.rst:304 -msgid "" -"import threading, queue, time\n" -"\n" -"# The worker thread gets jobs off the queue. When the queue is empty, it\n" -"# assumes there will be no more work and exits.\n" -"# (Realistically workers will run until terminated.)\n" -"def worker():\n" -" print('Running worker')\n" -" time.sleep(0.1)\n" -" while True:\n" -" try:\n" -" arg = q.get(block=False)\n" -" except queue.Empty:\n" -" print('Worker', threading.current_thread(), end=' ')\n" -" print('queue empty')\n" -" break\n" -" else:\n" -" print('Worker', threading.current_thread(), end=' ')\n" -" print('running with argument', arg)\n" -" time.sleep(0.5)\n" -"\n" -"# Create queue\n" -"q = queue.Queue()\n" -"\n" -"# Start a pool of 5 workers\n" -"for i in range(5):\n" -" t = threading.Thread(target=worker, name='worker %i' % (i+1))\n" -" t.start()\n" -"\n" -"# Begin adding work to the queue\n" -"for i in range(50):\n" -" q.put(i)\n" -"\n" -"# Give threads time to run\n" -"print('Main thread sleeping')\n" -"time.sleep(5)" -msgstr "" - -#: ../../faq/library.rst:340 -msgid "When run, this will produce the following output:" -msgstr "Ketika berjalan, Ini menghasilkan keluaran berikut:" - -#: ../../faq/library.rst:342 -msgid "" -"Running worker\n" -"Running worker\n" -"Running worker\n" -"Running worker\n" -"Running worker\n" -"Main thread sleeping\n" -"Worker running with argument 0\n" -"Worker running with argument 1\n" -"Worker running with argument 2\n" -"Worker running with argument 3\n" -"Worker running with argument 4\n" -"Worker running with argument 5\n" -"..." -msgstr "" - -#: ../../faq/library.rst:358 -msgid "" -"Consult the module's documentation for more details; the " -":class:`~queue.Queue` class provides a featureful interface." -msgstr "" - -#: ../../faq/library.rst:363 -msgid "What kinds of global value mutation are thread-safe?" -msgstr "" - -#: ../../faq/library.rst:365 -msgid "" -"A :term:`global interpreter lock` (GIL) is used internally to ensure that " -"only one thread runs in the Python VM at a time. In general, Python offers " -"to switch among threads only between bytecode instructions; how frequently " -"it switches can be set via :func:`sys.setswitchinterval`. Each bytecode " -"instruction and therefore all the C implementation code reached from each " -"instruction is therefore atomic from the point of view of a Python program." -msgstr "" - -#: ../../faq/library.rst:372 -msgid "" -"In theory, this means an exact accounting requires an exact understanding of" -" the PVM bytecode implementation. In practice, it means that operations on " -"shared variables of built-in data types (ints, lists, dicts, etc) that " -"\"look atomic\" really are." -msgstr "" - -#: ../../faq/library.rst:377 -msgid "" -"For example, the following operations are all atomic (L, L1, L2 are lists, " -"D, D1, D2 are dicts, x, y are objects, i, j are ints)::" -msgstr "" - -#: ../../faq/library.rst:380 -msgid "" -"L.append(x)\n" -"L1.extend(L2)\n" -"x = L[i]\n" -"x = L.pop()\n" -"L1[i:j] = L2\n" -"L.sort()\n" -"x = y\n" -"x.field = y\n" -"D[x] = y\n" -"D1.update(D2)\n" -"D.keys()" -msgstr "" - -#: ../../faq/library.rst:392 -msgid "These aren't::" -msgstr "Ini tidak::" - -#: ../../faq/library.rst:394 -msgid "" -"i = i+1\n" -"L.append(L[-1])\n" -"L[i] = L[j]\n" -"D[x] = D[x] + 1" -msgstr "" - -#: ../../faq/library.rst:399 -msgid "" -"Operations that replace other objects may invoke those other objects' " -":meth:`~object.__del__` method when their reference count reaches zero, and " -"that can affect things. This is especially true for the mass updates to " -"dictionaries and lists. When in doubt, use a mutex!" -msgstr "" - -#: ../../faq/library.rst:406 -msgid "Can't we get rid of the Global Interpreter Lock?" -msgstr "" - -#: ../../faq/library.rst:408 -msgid "" -"The :term:`global interpreter lock` (GIL) is often seen as a hindrance to " -"Python's deployment on high-end multiprocessor server machines, because a " -"multi-threaded Python program effectively only uses one CPU, due to the " -"insistence that (almost) all Python code can only run while the GIL is held." -msgstr "" - -#: ../../faq/library.rst:413 -msgid "" -"With the approval of :pep:`703` work is now underway to remove the GIL from " -"the CPython implementation of Python. Initially it will be implemented as " -"an optional compiler flag when building the interpreter, and so separate " -"builds will be available with and without the GIL. Long-term, the hope is " -"to settle on a single build, once the performance implications of removing " -"the GIL are fully understood. Python 3.13 is likely to be the first release" -" containing this work, although it may not be completely functional in this " -"release." -msgstr "" - -#: ../../faq/library.rst:422 -msgid "" -"The current work to remove the GIL is based on a `fork of Python 3.9 with " -"the GIL removed `_ by Sam Gross. Prior " -"to that, in the days of Python 1.5, Greg Stein actually implemented a " -"comprehensive patch set (the \"free threading\" patches) that removed the " -"GIL and replaced it with fine-grained locking. Adam Olsen did a similar " -"experiment in his `python-safethread " -"`_ project. " -"Unfortunately, both of these earlier experiments exhibited a sharp drop in " -"single-thread performance (at least 30% slower), due to the amount of fine-" -"grained locking necessary to compensate for the removal of the GIL. The " -"Python 3.9 fork is the first attempt at removing the GIL with an acceptable " -"performance impact." -msgstr "" - -#: ../../faq/library.rst:437 -msgid "" -"The presence of the GIL in current Python releases doesn't mean that you " -"can't make good use of Python on multi-CPU machines! You just have to be " -"creative with dividing the work up between multiple *processes* rather than " -"multiple *threads*. The :class:`~concurrent.futures.ProcessPoolExecutor` " -"class in the new :mod:`concurrent.futures` module provides an easy way of " -"doing so; the :mod:`multiprocessing` module provides a lower-level API in " -"case you want more control over dispatching of tasks." -msgstr "" - -#: ../../faq/library.rst:446 -msgid "" -"Judicious use of C extensions will also help; if you use a C extension to " -"perform a time-consuming task, the extension can release the GIL while the " -"thread of execution is in the C code and allow other threads to get some " -"work done. Some standard library modules such as :mod:`zlib` and " -":mod:`hashlib` already do this." -msgstr "" - -#: ../../faq/library.rst:452 -msgid "" -"An alternative approach to reducing the impact of the GIL is to make the GIL" -" a per-interpreter-state lock rather than truly global. This was :ref:`first" -" implemented in Python 3.12 ` and is available in the C " -"API. A Python interface to it is expected in Python 3.13. The main " -"limitation to it at the moment is likely to be 3rd party extension modules, " -"since these must be written with multiple interpreters in mind in order to " -"be usable, so many older extension modules will not be usable." -msgstr "" - -#: ../../faq/library.rst:462 -msgid "Input and Output" -msgstr "Masukan dan Keluaran" - -#: ../../faq/library.rst:465 -msgid "How do I delete a file? (And other file questions...)" -msgstr "" -"Bagaimana saya menghapus sebuah berkas? (pertanyaan, dan berkas lainnya...)" - -#: ../../faq/library.rst:467 -msgid "" -"Use ``os.remove(filename)`` or ``os.unlink(filename)``; for documentation, " -"see the :mod:`os` module. The two functions are identical; " -":func:`~os.unlink` is simply the name of the Unix system call for this " -"function." -msgstr "" - -#: ../../faq/library.rst:471 -msgid "" -"To remove a directory, use :func:`os.rmdir`; use :func:`os.mkdir` to create " -"one. ``os.makedirs(path)`` will create any intermediate directories in " -"``path`` that don't exist. ``os.removedirs(path)`` will remove intermediate " -"directories as long as they're empty; if you want to delete an entire " -"directory tree and its contents, use :func:`shutil.rmtree`." -msgstr "" - -#: ../../faq/library.rst:477 -msgid "To rename a file, use ``os.rename(old_path, new_path)``." -msgstr "" - -#: ../../faq/library.rst:479 -msgid "" -"To truncate a file, open it using ``f = open(filename, \"rb+\")``, and use " -"``f.truncate(offset)``; offset defaults to the current seek position. " -"There's also ``os.ftruncate(fd, offset)`` for files opened with " -":func:`os.open`, where *fd* is the file descriptor (a small integer)." -msgstr "" - -#: ../../faq/library.rst:484 -msgid "" -"The :mod:`shutil` module also contains a number of functions to work on " -"files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and " -":func:`~shutil.rmtree`." -msgstr "" - -#: ../../faq/library.rst:490 -msgid "How do I copy a file?" -msgstr "Bagaimana saya mengopi sebuah berkas?" - -#: ../../faq/library.rst:492 -msgid "" -"The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note " -"that on Windows NTFS volumes, it does not copy `alternate data streams " -"`_ nor " -"`resource forks `__ on macOS " -"HFS+ volumes, though both are now rarely used. It also doesn't copy file " -"permissions and metadata, though using :func:`shutil.copy2` instead will " -"preserve most (though not all) of it." -msgstr "" - -#: ../../faq/library.rst:503 -msgid "How do I read (or write) binary data?" -msgstr "Bagaimana saya membaca (atau menulis) data biner?" - -#: ../../faq/library.rst:505 -msgid "" -"To read or write complex binary data formats, it's best to use the " -":mod:`struct` module. It allows you to take a string containing binary data" -" (usually numbers) and convert it to Python objects; and vice versa." -msgstr "" - -#: ../../faq/library.rst:509 -msgid "" -"For example, the following code reads two 2-byte integers and one 4-byte " -"integer in big-endian format from a file::" -msgstr "" - -#: ../../faq/library.rst:512 -msgid "" -"import struct\n" -"\n" -"with open(filename, \"rb\") as f:\n" -" s = f.read(8)\n" -" x, y, z = struct.unpack(\">hhl\", s)" -msgstr "" - -#: ../../faq/library.rst:518 -msgid "" -"The '>' in the format string forces big-endian data; the letter 'h' reads " -"one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 " -"bytes) from the string." -msgstr "" - -#: ../../faq/library.rst:522 -msgid "" -"For data that is more regular (e.g. a homogeneous list of ints or floats), " -"you can also use the :mod:`array` module." -msgstr "" - -#: ../../faq/library.rst:527 -msgid "" -"To read and write binary data, it is mandatory to open the file in binary " -"mode (here, passing ``\"rb\"`` to :func:`open`). If you use ``\"r\"`` " -"instead (the default), the file will be open in text mode and ``f.read()`` " -"will return :class:`str` objects rather than :class:`bytes` objects." -msgstr "" - -#: ../../faq/library.rst:535 -msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" -msgstr "" - -#: ../../faq/library.rst:537 -msgid "" -":func:`os.read` is a low-level function which takes a file descriptor, a " -"small integer representing the opened file. :func:`os.popen` creates a " -"high-level file object, the same type returned by the built-in :func:`open` " -"function. Thus, to read *n* bytes from a pipe *p* created with " -":func:`os.popen`, you need to use ``p.read(n)``." -msgstr "" - -#: ../../faq/library.rst:545 -msgid "How do I access the serial (RS232) port?" -msgstr "" - -#: ../../faq/library.rst:547 -msgid "For Win32, OSX, Linux, BSD, Jython, IronPython:" -msgstr "" - -#: ../../faq/library.rst:549 -msgid ":pypi:`pyserial`" -msgstr "" - -#: ../../faq/library.rst:551 -msgid "For Unix, see a Usenet post by Mitch Chapman:" -msgstr "" - -#: ../../faq/library.rst:553 -msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" -msgstr "" - -#: ../../faq/library.rst:557 -msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" -msgstr "" - -#: ../../faq/library.rst:559 -msgid "" -"Python :term:`file objects ` are a high-level layer of " -"abstraction on low-level C file descriptors." -msgstr "" - -#: ../../faq/library.rst:562 -msgid "" -"For most file objects you create in Python via the built-in :func:`open` " -"function, ``f.close()`` marks the Python file object as being closed from " -"Python's point of view, and also arranges to close the underlying C file " -"descriptor. This also happens automatically in ``f``'s destructor, when " -"``f`` becomes garbage." -msgstr "" - -#: ../../faq/library.rst:568 -msgid "" -"But stdin, stdout and stderr are treated specially by Python, because of the" -" special status also given to them by C. Running ``sys.stdout.close()`` " -"marks the Python-level file object as being closed, but does *not* close the" -" associated C file descriptor." -msgstr "" - -#: ../../faq/library.rst:573 -msgid "" -"To close the underlying C file descriptor for one of these three, you should" -" first be sure that's what you really want to do (e.g., you may confuse " -"extension modules trying to do I/O). If it is, use :func:`os.close`::" -msgstr "" - -#: ../../faq/library.rst:577 -msgid "" -"os.close(stdin.fileno())\n" -"os.close(stdout.fileno())\n" -"os.close(stderr.fileno())" -msgstr "" - -#: ../../faq/library.rst:581 -msgid "Or you can use the numeric constants 0, 1 and 2, respectively." -msgstr "" - -#: ../../faq/library.rst:585 -msgid "Network/Internet Programming" -msgstr "Pemrograman Jaringan/Internet" - -#: ../../faq/library.rst:588 -msgid "What WWW tools are there for Python?" -msgstr "" - -#: ../../faq/library.rst:590 -msgid "" -"See the chapters titled :ref:`internet` and :ref:`netdata` in the Library " -"Reference Manual. Python has many modules that will help you build server-" -"side and client-side web systems." -msgstr "" - -#: ../../faq/library.rst:596 -msgid "" -"A summary of available frameworks is maintained by Paul Boddie at " -"https://wiki.python.org/moin/WebProgramming\\ ." -msgstr "" - -#: ../../faq/library.rst:601 -msgid "What module should I use to help with generating HTML?" -msgstr "" -"Modul apa yang sebaiknya saya gunakan untuk membantu menghasilkan HTML?" - -#: ../../faq/library.rst:605 -msgid "" -"You can find a collection of useful links on the `Web Programming wiki page " -"`_." -msgstr "" - -#: ../../faq/library.rst:610 -msgid "How do I send mail from a Python script?" -msgstr "Bagaimana saya mengirim email melalui skrip Python?" - -#: ../../faq/library.rst:612 -msgid "Use the standard library module :mod:`smtplib`." -msgstr "Gunakan pustaka standar modul :mod:`smtplib`." - -#: ../../faq/library.rst:614 -msgid "" -"Here's a very simple interactive mail sender that uses it. This method will" -" work on any host that supports an SMTP listener. ::" -msgstr "" - -#: ../../faq/library.rst:617 -msgid "" -"import sys, smtplib\n" -"\n" -"fromaddr = input(\"From: \")\n" -"toaddrs = input(\"To: \").split(',')\n" -"print(\"Enter message, end with ^D:\")\n" -"msg = ''\n" -"while True:\n" -" line = sys.stdin.readline()\n" -" if not line:\n" -" break\n" -" msg += line\n" -"\n" -"# The actual mail send\n" -"server = smtplib.SMTP('localhost')\n" -"server.sendmail(fromaddr, toaddrs, msg)\n" -"server.quit()" -msgstr "" - -#: ../../faq/library.rst:634 -msgid "" -"A Unix-only alternative uses sendmail. The location of the sendmail program" -" varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes " -"``/usr/sbin/sendmail``. The sendmail manual page will help you out. Here's" -" some sample code::" -msgstr "" - -#: ../../faq/library.rst:639 -msgid "" -"import os\n" -"\n" -"SENDMAIL = \"/usr/sbin/sendmail\" # sendmail location\n" -"p = os.popen(\"%s -t -i\" % SENDMAIL, \"w\")\n" -"p.write(\"To: receiver@example.com\\n\")\n" -"p.write(\"Subject: test\\n\")\n" -"p.write(\"\\n\") # blank line separating headers from body\n" -"p.write(\"Some text\\n\")\n" -"p.write(\"some more text\\n\")\n" -"sts = p.close()\n" -"if sts != 0:\n" -" print(\"Sendmail exit status\", sts)" -msgstr "" - -#: ../../faq/library.rst:654 -msgid "How do I avoid blocking in the connect() method of a socket?" -msgstr "" -"Bagaimana saya menghindari pemblokiran di metode connect() dari sebuah " -"socket?" - -#: ../../faq/library.rst:656 -msgid "" -"The :mod:`select` module is commonly used to help with asynchronous I/O on " -"sockets." -msgstr "" - -#: ../../faq/library.rst:659 -msgid "" -"To prevent the TCP connect from blocking, you can set the socket to non-" -"blocking mode. Then when you do the :meth:`~socket.socket.connect`, you " -"will either connect immediately (unlikely) or get an exception that contains" -" the error number as ``.errno``. ``errno.EINPROGRESS`` indicates that the " -"connection is in progress, but hasn't finished yet. Different OSes will " -"return different values, so you're going to have to check what's returned on" -" your system." -msgstr "" - -#: ../../faq/library.rst:667 -msgid "" -"You can use the :meth:`~socket.socket.connect_ex` method to avoid creating " -"an exception. It will just return the errno value. To poll, you can call " -":meth:`~socket.socket.connect_ex` again later -- ``0`` or ``errno.EISCONN`` " -"indicate that you're connected -- or you can pass this socket to " -":meth:`select.select` to check if it's writable." -msgstr "" - -#: ../../faq/library.rst:675 -msgid "" -"The :mod:`asyncio` module provides a general purpose single-threaded and " -"concurrent asynchronous library, which can be used for writing non-blocking " -"network code. The third-party `Twisted `_ library is a" -" popular and feature-rich alternative." -msgstr "" - -#: ../../faq/library.rst:683 -msgid "Databases" -msgstr "Basisdata" - -#: ../../faq/library.rst:686 -msgid "Are there any interfaces to database packages in Python?" -msgstr "Apakah ada paket antarmuka ke basisdata di Python?" - -#: ../../faq/library.rst:688 -msgid "Yes." -msgstr "Ya." - -#: ../../faq/library.rst:690 -msgid "" -"Interfaces to disk-based hashes such as :mod:`DBM ` and :mod:`GDBM" -" ` are also included with standard Python. There is also the " -":mod:`sqlite3` module, which provides a lightweight disk-based relational " -"database." -msgstr "" - -#: ../../faq/library.rst:695 -msgid "" -"Support for most relational databases is available. See the " -"`DatabaseProgramming wiki page " -"`_ for details." -msgstr "" - -#: ../../faq/library.rst:701 -msgid "How do you implement persistent objects in Python?" -msgstr "" - -#: ../../faq/library.rst:703 -msgid "" -"The :mod:`pickle` library module solves this in a very general way (though " -"you still can't store things like open files, sockets or windows), and the " -":mod:`shelve` library module uses pickle and (g)dbm to create persistent " -"mappings containing arbitrary Python objects." -msgstr "" - -#: ../../faq/library.rst:710 -msgid "Mathematics and Numerics" -msgstr "Matematika dan Bilangan" - -#: ../../faq/library.rst:713 -msgid "How do I generate random numbers in Python?" -msgstr "" - -#: ../../faq/library.rst:715 -msgid "" -"The standard module :mod:`random` implements a random number generator. " -"Usage is simple::" -msgstr "" - -#: ../../faq/library.rst:718 -msgid "" -"import random\n" -"random.random()" -msgstr "" - -#: ../../faq/library.rst:721 -msgid "This returns a random floating-point number in the range [0, 1)." -msgstr "" - -#: ../../faq/library.rst:723 -msgid "" -"There are also many other specialized generators in this module, such as:" -msgstr "" - -#: ../../faq/library.rst:725 -msgid "``randrange(a, b)`` chooses an integer in the range [a, b)." -msgstr "" - -#: ../../faq/library.rst:726 -msgid "``uniform(a, b)`` chooses a floating-point number in the range [a, b)." -msgstr "" - -#: ../../faq/library.rst:727 -msgid "" -"``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." -msgstr "" - -#: ../../faq/library.rst:729 -msgid "Some higher-level functions operate on sequences directly, such as:" -msgstr "" - -#: ../../faq/library.rst:731 -msgid "``choice(S)`` chooses a random element from a given sequence." -msgstr "" - -#: ../../faq/library.rst:732 -msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly." -msgstr "" - -#: ../../faq/library.rst:734 -msgid "" -"There's also a ``Random`` class you can instantiate to create independent " -"multiple random number generators." -msgstr "" diff --git a/python-newest.faq--programming/id.po b/python-newest.faq--programming/id.po deleted file mode 100644 index 1762319..0000000 --- a/python-newest.faq--programming/id.po +++ /dev/null @@ -1,3443 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../faq/programming.rst:5 -msgid "Programming FAQ" -msgstr "Pemrograman FAQ" - -#: ../../faq/programming.rst:8 -msgid "Contents" -msgstr "Konten" - -#: ../../faq/programming.rst:12 -msgid "General Questions" -msgstr "Pertanyaan Umum" - -#: ../../faq/programming.rst:15 -msgid "" -"Is there a source code level debugger with breakpoints, single-stepping, " -"etc.?" -msgstr "" - -#: ../../faq/programming.rst:17 ../../faq/programming.rst:58 -msgid "Yes." -msgstr "Ya." - -#: ../../faq/programming.rst:19 -msgid "" -"Several debuggers for Python are described below, and the built-in function " -":func:`breakpoint` allows you to drop into any of them." -msgstr "" - -#: ../../faq/programming.rst:22 -msgid "" -"The pdb module is a simple but adequate console-mode debugger for Python. It" -" is part of the standard Python library, and is :mod:`documented in the " -"Library Reference Manual `. You can also write your own debugger by " -"using the code for pdb as an example." -msgstr "" - -#: ../../faq/programming.rst:27 -msgid "" -"The IDLE interactive development environment, which is part of the standard " -"Python distribution (normally available as `Tools/scripts/idle3 " -"`_), " -"includes a graphical debugger." -msgstr "" - -#: ../../faq/programming.rst:32 -msgid "" -"PythonWin is a Python IDE that includes a GUI debugger based on pdb. The " -"PythonWin debugger colors breakpoints and has quite a few cool features such" -" as debugging non-PythonWin programs. PythonWin is available as part of " -"`pywin32 `_ project and as a part of " -"the `ActivePython `_ " -"distribution." -msgstr "" - -#: ../../faq/programming.rst:39 -msgid "" -"`Eric `_ is an IDE built on PyQt and " -"the Scintilla editing component." -msgstr "" - -#: ../../faq/programming.rst:42 -msgid "" -"`trepan3k `_ is a gdb-like " -"debugger." -msgstr "" - -#: ../../faq/programming.rst:44 -msgid "" -"`Visual Studio Code `_ is an IDE with " -"debugging tools that integrates with version-control software." -msgstr "" - -#: ../../faq/programming.rst:47 -msgid "" -"There are a number of commercial Python IDEs that include graphical " -"debuggers. They include:" -msgstr "" -"Ada sejumlah IDE Python komersial yang menyertakan debugger berbentuk " -"grafis. Mereka adalah:" - -#: ../../faq/programming.rst:50 -msgid "`Wing IDE `_" -msgstr "" - -#: ../../faq/programming.rst:51 -msgid "`Komodo IDE `_" -msgstr "" - -#: ../../faq/programming.rst:52 -msgid "`PyCharm `_" -msgstr "" - -#: ../../faq/programming.rst:56 -msgid "Are there tools to help find bugs or perform static analysis?" -msgstr "" -"Apakah terdapat alat untuk membantu menemukan bug atau melakukan analisis " -"yang bersifat statis?" - -#: ../../faq/programming.rst:60 -msgid "" -"`Pylint `_ and `Pyflakes " -"`_ do basic checking that will help you " -"catch bugs sooner." -msgstr "" - -#: ../../faq/programming.rst:64 -msgid "" -"Static type checkers such as `Mypy `_, `Pyre " -"`_, and `Pytype " -"`_ can check type hints in Python source " -"code." -msgstr "" - -#: ../../faq/programming.rst:73 -msgid "How can I create a stand-alone binary from a Python script?" -msgstr "" - -#: ../../faq/programming.rst:75 -msgid "" -"You don't need the ability to compile Python to C code if all you want is a " -"stand-alone program that users can download and run without having to " -"install the Python distribution first. There are a number of tools that " -"determine the set of modules required by a program and bind these modules " -"together with a Python binary to produce a single executable." -msgstr "" - -#: ../../faq/programming.rst:81 -msgid "" -"One is to use the freeze tool, which is included in the Python source tree " -"as `Tools/freeze " -"`_. It converts " -"Python byte code to C arrays; with a C compiler you can embed all your " -"modules into a new program, which is then linked with the standard Python " -"modules." -msgstr "" - -#: ../../faq/programming.rst:87 -msgid "" -"It works by scanning your source recursively for import statements (in both " -"forms) and looking for the modules in the standard Python path as well as in" -" the source directory (for built-in modules). It then turns the bytecode " -"for modules written in Python into C code (array initializers that can be " -"turned into code objects using the marshal module) and creates a custom-made" -" config file that only contains those built-in modules which are actually " -"used in the program. It then compiles the generated C code and links it " -"with the rest of the Python interpreter to form a self-contained binary " -"which acts exactly like your script." -msgstr "" - -#: ../../faq/programming.rst:96 -msgid "" -"The following packages can help with the creation of console and GUI " -"executables:" -msgstr "" - -#: ../../faq/programming.rst:99 -msgid "`Nuitka `_ (Cross-platform)" -msgstr "" - -#: ../../faq/programming.rst:100 -msgid "`PyInstaller `_ (Cross-platform)" -msgstr "" - -#: ../../faq/programming.rst:101 -msgid "" -"`PyOxidizer `_ (Cross-" -"platform)" -msgstr "" - -#: ../../faq/programming.rst:102 -msgid "" -"`cx_Freeze `_ (Cross-platform)" -msgstr "" - -#: ../../faq/programming.rst:103 -msgid "`py2app `_ (macOS only)" -msgstr "" - -#: ../../faq/programming.rst:104 -msgid "`py2exe `_ (Windows only)" -msgstr "" - -#: ../../faq/programming.rst:107 -msgid "Are there coding standards or a style guide for Python programs?" -msgstr "" - -#: ../../faq/programming.rst:109 -msgid "" -"Yes. The coding style required for standard library modules is documented " -"as :pep:`8`." -msgstr "" - -#: ../../faq/programming.rst:114 -msgid "Core Language" -msgstr "Inti Bahasa" - -#: ../../faq/programming.rst:119 -msgid "Why am I getting an UnboundLocalError when the variable has a value?" -msgstr "" - -#: ../../faq/programming.rst:121 -msgid "" -"It can be a surprise to get the :exc:`UnboundLocalError` in previously " -"working code when it is modified by adding an assignment statement somewhere" -" in the body of a function." -msgstr "" - -#: ../../faq/programming.rst:125 -msgid "This code:" -msgstr "Kode ini:" - -#: ../../faq/programming.rst:134 -msgid "works, but this code:" -msgstr "dapat beroperasi, tapi kode ini:" - -#: ../../faq/programming.rst:141 -msgid "results in an :exc:`!UnboundLocalError`:" -msgstr "" - -#: ../../faq/programming.rst:148 -msgid "" -"This is because when you make an assignment to a variable in a scope, that " -"variable becomes local to that scope and shadows any similarly named " -"variable in the outer scope. Since the last statement in foo assigns a new " -"value to ``x``, the compiler recognizes it as a local variable. " -"Consequently when the earlier ``print(x)`` attempts to print the " -"uninitialized local variable and an error results." -msgstr "" - -#: ../../faq/programming.rst:155 -msgid "" -"In the example above you can access the outer scope variable by declaring it" -" global:" -msgstr "" - -#: ../../faq/programming.rst:167 -msgid "" -"This explicit declaration is required in order to remind you that (unlike " -"the superficially analogous situation with class and instance variables) you" -" are actually modifying the value of the variable in the outer scope:" -msgstr "" - -#: ../../faq/programming.rst:174 -msgid "" -"You can do a similar thing in a nested scope using the :keyword:`nonlocal` " -"keyword:" -msgstr "" - -#: ../../faq/programming.rst:192 -msgid "What are the rules for local and global variables in Python?" -msgstr "Apa saja aturan-aturan untuk variabel lokal dan global di Python?" - -#: ../../faq/programming.rst:194 -msgid "" -"In Python, variables that are only referenced inside a function are " -"implicitly global. If a variable is assigned a value anywhere within the " -"function's body, it's assumed to be a local unless explicitly declared as " -"global." -msgstr "" - -#: ../../faq/programming.rst:198 -msgid "" -"Though a bit surprising at first, a moment's consideration explains this. " -"On one hand, requiring :keyword:`global` for assigned variables provides a " -"bar against unintended side-effects. On the other hand, if ``global`` was " -"required for all global references, you'd be using ``global`` all the time." -" You'd have to declare as global every reference to a built-in function or " -"to a component of an imported module. This clutter would defeat the " -"usefulness of the ``global`` declaration for identifying side-effects." -msgstr "" - -#: ../../faq/programming.rst:208 -msgid "" -"Why do lambdas defined in a loop with different values all return the same " -"result?" -msgstr "" -"Mengapa lambda yang didefinisikan dalam sebuah perulangan dengan nilai yang " -"berbeda semuanya mengembalikan hasil yang sama?" - -#: ../../faq/programming.rst:210 -msgid "" -"Assume you use a for loop to define a few different lambdas (or even plain " -"functions), e.g.::" -msgstr "" - -#: ../../faq/programming.rst:213 -msgid "" -">>> squares = []\n" -">>> for x in range(5):\n" -"... squares.append(lambda: x**2)" -msgstr "" - -#: ../../faq/programming.rst:217 -msgid "" -"This gives you a list that contains 5 lambdas that calculate ``x**2``. You " -"might expect that, when called, they would return, respectively, ``0``, " -"``1``, ``4``, ``9``, and ``16``. However, when you actually try you will " -"see that they all return ``16``::" -msgstr "" - -#: ../../faq/programming.rst:222 -msgid "" -">>> squares[2]()\n" -"16\n" -">>> squares[4]()\n" -"16" -msgstr "" - -#: ../../faq/programming.rst:227 -msgid "" -"This happens because ``x`` is not local to the lambdas, but is defined in " -"the outer scope, and it is accessed when the lambda is called --- not when " -"it is defined. At the end of the loop, the value of ``x`` is ``4``, so all " -"the functions now return ``4**2``, i.e. ``16``. You can also verify this by" -" changing the value of ``x`` and see how the results of the lambdas change::" -msgstr "" - -#: ../../faq/programming.rst:233 -msgid "" -">>> x = 8\n" -">>> squares[2]()\n" -"64" -msgstr "" - -#: ../../faq/programming.rst:237 -msgid "" -"In order to avoid this, you need to save the values in variables local to " -"the lambdas, so that they don't rely on the value of the global ``x``::" -msgstr "" - -#: ../../faq/programming.rst:240 -msgid "" -">>> squares = []\n" -">>> for x in range(5):\n" -"... squares.append(lambda n=x: n**2)" -msgstr "" - -#: ../../faq/programming.rst:244 -msgid "" -"Here, ``n=x`` creates a new variable ``n`` local to the lambda and computed " -"when the lambda is defined so that it has the same value that ``x`` had at " -"that point in the loop. This means that the value of ``n`` will be ``0`` in" -" the first lambda, ``1`` in the second, ``2`` in the third, and so on. " -"Therefore each lambda will now return the correct result::" -msgstr "" - -#: ../../faq/programming.rst:250 -msgid "" -">>> squares[2]()\n" -"4\n" -">>> squares[4]()\n" -"16" -msgstr "" - -#: ../../faq/programming.rst:255 -msgid "" -"Note that this behaviour is not peculiar to lambdas, but applies to regular " -"functions too." -msgstr "" - -#: ../../faq/programming.rst:260 -msgid "How do I share global variables across modules?" -msgstr "Bagaimana Saya dapat berbagi variabel global di seluruh modul?" - -#: ../../faq/programming.rst:262 -msgid "" -"The canonical way to share information across modules within a single " -"program is to create a special module (often called config or cfg). Just " -"import the config module in all modules of your application; the module then" -" becomes available as a global name. Because there is only one instance of " -"each module, any changes made to the module object get reflected everywhere." -" For example:" -msgstr "" - -#: ../../faq/programming.rst:268 -msgid "config.py::" -msgstr "config.py::" - -#: ../../faq/programming.rst:270 -msgid "x = 0 # Default value of the 'x' configuration setting" -msgstr "" - -#: ../../faq/programming.rst:272 -msgid "mod.py::" -msgstr "mod.py::" - -#: ../../faq/programming.rst:274 -msgid "" -"import config\n" -"config.x = 1" -msgstr "" - -#: ../../faq/programming.rst:277 -msgid "main.py::" -msgstr "main.py::" - -#: ../../faq/programming.rst:279 -msgid "" -"import config\n" -"import mod\n" -"print(config.x)" -msgstr "" - -#: ../../faq/programming.rst:283 -msgid "" -"Note that using a module is also the basis for implementing the singleton " -"design pattern, for the same reason." -msgstr "" - -#: ../../faq/programming.rst:288 -msgid "What are the \"best practices\" for using import in a module?" -msgstr "" - -#: ../../faq/programming.rst:290 -msgid "" -"In general, don't use ``from modulename import *``. Doing so clutters the " -"importer's namespace, and makes it much harder for linters to detect " -"undefined names." -msgstr "" - -#: ../../faq/programming.rst:294 -msgid "" -"Import modules at the top of a file. Doing so makes it clear what other " -"modules your code requires and avoids questions of whether the module name " -"is in scope. Using one import per line makes it easy to add and delete " -"module imports, but using multiple imports per line uses less screen space." -msgstr "" - -#: ../../faq/programming.rst:299 -msgid "It's good practice if you import modules in the following order:" -msgstr "" - -#: ../../faq/programming.rst:301 -msgid "" -"standard library modules -- e.g. :mod:`sys`, :mod:`os`, :mod:`argparse`, " -":mod:`re`" -msgstr "" - -#: ../../faq/programming.rst:302 -msgid "" -"third-party library modules (anything installed in Python's site-packages " -"directory) -- e.g. :mod:`!dateutil`, :mod:`!requests`, :mod:`!PIL.Image`" -msgstr "" - -#: ../../faq/programming.rst:304 -msgid "locally developed modules" -msgstr "" - -#: ../../faq/programming.rst:306 -msgid "" -"It is sometimes necessary to move imports to a function or class to avoid " -"problems with circular imports. Gordon McMillan says:" -msgstr "" - -#: ../../faq/programming.rst:309 -msgid "" -"Circular imports are fine where both modules use the \"import \" " -"form of import. They fail when the 2nd module wants to grab a name out of " -"the first (\"from module import name\") and the import is at the top level." -" That's because names in the 1st are not yet available, because the first " -"module is busy importing the 2nd." -msgstr "" - -#: ../../faq/programming.rst:315 -msgid "" -"In this case, if the second module is only used in one function, then the " -"import can easily be moved into that function. By the time the import is " -"called, the first module will have finished initializing, and the second " -"module can do its import." -msgstr "" - -#: ../../faq/programming.rst:320 -msgid "" -"It may also be necessary to move imports out of the top level of code if " -"some of the modules are platform-specific. In that case, it may not even be" -" possible to import all of the modules at the top of the file. In this " -"case, importing the correct modules in the corresponding platform-specific " -"code is a good option." -msgstr "" - -#: ../../faq/programming.rst:325 -msgid "" -"Only move imports into a local scope, such as inside a function definition, " -"if it's necessary to solve a problem such as avoiding a circular import or " -"are trying to reduce the initialization time of a module. This technique is" -" especially helpful if many of the imports are unnecessary depending on how " -"the program executes. You may also want to move imports into a function if " -"the modules are only ever used in that function. Note that loading a module" -" the first time may be expensive because of the one time initialization of " -"the module, but loading a module multiple times is virtually free, costing " -"only a couple of dictionary lookups. Even if the module name has gone out " -"of scope, the module is probably available in :data:`sys.modules`." -msgstr "" - -#: ../../faq/programming.rst:338 -msgid "Why are default values shared between objects?" -msgstr "" - -#: ../../faq/programming.rst:340 -msgid "" -"This type of bug commonly bites neophyte programmers. Consider this " -"function::" -msgstr "" - -#: ../../faq/programming.rst:342 -msgid "" -"def foo(mydict={}): # Danger: shared reference to one dict for all calls\n" -" ... compute something ...\n" -" mydict[key] = value\n" -" return mydict" -msgstr "" - -#: ../../faq/programming.rst:347 -msgid "" -"The first time you call this function, ``mydict`` contains a single item. " -"The second time, ``mydict`` contains two items because when ``foo()`` begins" -" executing, ``mydict`` starts out with an item already in it." -msgstr "" - -#: ../../faq/programming.rst:351 -msgid "" -"It is often expected that a function call creates new objects for default " -"values. This is not what happens. Default values are created exactly once, " -"when the function is defined. If that object is changed, like the " -"dictionary in this example, subsequent calls to the function will refer to " -"this changed object." -msgstr "" - -#: ../../faq/programming.rst:356 -msgid "" -"By definition, immutable objects such as numbers, strings, tuples, and " -"``None``, are safe from change. Changes to mutable objects such as " -"dictionaries, lists, and class instances can lead to confusion." -msgstr "" - -#: ../../faq/programming.rst:360 -msgid "" -"Because of this feature, it is good programming practice to not use mutable " -"objects as default values. Instead, use ``None`` as the default value and " -"inside the function, check if the parameter is ``None`` and create a new " -"list/dictionary/whatever if it is. For example, don't write::" -msgstr "" - -#: ../../faq/programming.rst:365 -msgid "" -"def foo(mydict={}):\n" -" ..." -msgstr "" - -#: ../../faq/programming.rst:368 -msgid "but::" -msgstr "tapi::" - -#: ../../faq/programming.rst:370 -msgid "" -"def foo(mydict=None):\n" -" if mydict is None:\n" -" mydict = {} # create a new dict for local namespace" -msgstr "" - -#: ../../faq/programming.rst:374 -msgid "" -"This feature can be useful. When you have a function that's time-consuming " -"to compute, a common technique is to cache the parameters and the resulting " -"value of each call to the function, and return the cached value if the same " -"value is requested again. This is called \"memoizing\", and can be " -"implemented like this::" -msgstr "" - -#: ../../faq/programming.rst:379 -msgid "" -"# Callers can only provide two parameters and optionally pass _cache by keyword\n" -"def expensive(arg1, arg2, *, _cache={}):\n" -" if (arg1, arg2) in _cache:\n" -" return _cache[(arg1, arg2)]\n" -"\n" -" # Calculate the value\n" -" result = ... expensive computation ...\n" -" _cache[(arg1, arg2)] = result # Store result in the cache\n" -" return result" -msgstr "" - -#: ../../faq/programming.rst:389 -msgid "" -"You could use a global variable containing a dictionary instead of the " -"default value; it's a matter of taste." -msgstr "" - -#: ../../faq/programming.rst:394 -msgid "" -"How can I pass optional or keyword parameters from one function to another?" -msgstr "" - -#: ../../faq/programming.rst:396 -msgid "" -"Collect the arguments using the ``*`` and ``**`` specifiers in the " -"function's parameter list; this gives you the positional arguments as a " -"tuple and the keyword arguments as a dictionary. You can then pass these " -"arguments when calling another function by using ``*`` and ``**``::" -msgstr "" - -#: ../../faq/programming.rst:401 -msgid "" -"def f(x, *args, **kwargs):\n" -" ...\n" -" kwargs['width'] = '14.3c'\n" -" ...\n" -" g(x, *args, **kwargs)" -msgstr "" - -#: ../../faq/programming.rst:415 -msgid "What is the difference between arguments and parameters?" -msgstr "" - -#: ../../faq/programming.rst:417 -msgid "" -":term:`Parameters ` are defined by the names that appear in a " -"function definition, whereas :term:`arguments ` are the values " -"actually passed to a function when calling it. Parameters define what " -":term:`kind of arguments ` a function can accept. For example, " -"given the function definition::" -msgstr "" - -#: ../../faq/programming.rst:423 -msgid "" -"def func(foo, bar=None, **kwargs):\n" -" pass" -msgstr "" - -#: ../../faq/programming.rst:426 -msgid "" -"*foo*, *bar* and *kwargs* are parameters of ``func``. However, when calling" -" ``func``, for example::" -msgstr "" - -#: ../../faq/programming.rst:429 -msgid "func(42, bar=314, extra=somevar)" -msgstr "" - -#: ../../faq/programming.rst:431 -msgid "the values ``42``, ``314``, and ``somevar`` are arguments." -msgstr "" - -#: ../../faq/programming.rst:435 -msgid "Why did changing list 'y' also change list 'x'?" -msgstr "" - -#: ../../faq/programming.rst:437 -msgid "If you wrote code like::" -msgstr "Jika kamu menulis kode seperti::" - -#: ../../faq/programming.rst:439 -msgid "" -">>> x = []\n" -">>> y = x\n" -">>> y.append(10)\n" -">>> y\n" -"[10]\n" -">>> x\n" -"[10]" -msgstr "" - -#: ../../faq/programming.rst:447 -msgid "" -"you might be wondering why appending an element to ``y`` changed ``x`` too." -msgstr "" - -#: ../../faq/programming.rst:449 -msgid "There are two factors that produce this result:" -msgstr "Terdapat dua faktor yang menghasilkan hasil ini:" - -#: ../../faq/programming.rst:451 -msgid "" -"Variables are simply names that refer to objects. Doing ``y = x`` doesn't " -"create a copy of the list -- it creates a new variable ``y`` that refers to " -"the same object ``x`` refers to. This means that there is only one object " -"(the list), and both ``x`` and ``y`` refer to it." -msgstr "" - -#: ../../faq/programming.rst:455 -msgid "" -"Lists are :term:`mutable`, which means that you can change their content." -msgstr "" - -#: ../../faq/programming.rst:457 -msgid "" -"After the call to :meth:`!append`, the content of the mutable object has " -"changed from ``[]`` to ``[10]``. Since both the variables refer to the same" -" object, using either name accesses the modified value ``[10]``." -msgstr "" - -#: ../../faq/programming.rst:461 -msgid "If we instead assign an immutable object to ``x``::" -msgstr "" - -#: ../../faq/programming.rst:463 -msgid "" -">>> x = 5 # ints are immutable\n" -">>> y = x\n" -">>> x = x + 1 # 5 can't be mutated, we are creating a new object here\n" -">>> x\n" -"6\n" -">>> y\n" -"5" -msgstr "" - -#: ../../faq/programming.rst:471 -msgid "" -"we can see that in this case ``x`` and ``y`` are not equal anymore. This is" -" because integers are :term:`immutable`, and when we do ``x = x + 1`` we are" -" not mutating the int ``5`` by incrementing its value; instead, we are " -"creating a new object (the int ``6``) and assigning it to ``x`` (that is, " -"changing which object ``x`` refers to). After this assignment we have two " -"objects (the ints ``6`` and ``5``) and two variables that refer to them " -"(``x`` now refers to ``6`` but ``y`` still refers to ``5``)." -msgstr "" - -#: ../../faq/programming.rst:479 -msgid "" -"Some operations (for example ``y.append(10)`` and ``y.sort()``) mutate the " -"object, whereas superficially similar operations (for example ``y = y + " -"[10]`` and :func:`sorted(y) `) create a new object. In general in " -"Python (and in all cases in the standard library) a method that mutates an " -"object will return ``None`` to help avoid getting the two types of " -"operations confused. So if you mistakenly write ``y.sort()`` thinking it " -"will give you a sorted copy of ``y``, you'll instead end up with ``None``, " -"which will likely cause your program to generate an easily diagnosed error." -msgstr "" - -#: ../../faq/programming.rst:488 -msgid "" -"However, there is one class of operations where the same operation sometimes" -" has different behaviors with different types: the augmented assignment " -"operators. For example, ``+=`` mutates lists but not tuples or ints " -"(``a_list += [1, 2, 3]`` is equivalent to ``a_list.extend([1, 2, 3])`` and " -"mutates ``a_list``, whereas ``some_tuple += (1, 2, 3)`` and ``some_int += " -"1`` create new objects)." -msgstr "" - -#: ../../faq/programming.rst:495 -msgid "In other words:" -msgstr "Dengan kata lain:" - -#: ../../faq/programming.rst:497 -msgid "" -"If we have a mutable object (:class:`list`, :class:`dict`, :class:`set`, " -"etc.), we can use some specific operations to mutate it and all the " -"variables that refer to it will see the change." -msgstr "" - -#: ../../faq/programming.rst:500 -msgid "" -"If we have an immutable object (:class:`str`, :class:`int`, :class:`tuple`, " -"etc.), all the variables that refer to it will always see the same value, " -"but operations that transform that value into a new value always return a " -"new object." -msgstr "" - -#: ../../faq/programming.rst:505 -msgid "" -"If you want to know if two variables refer to the same object or not, you " -"can use the :keyword:`is` operator, or the built-in function :func:`id`." -msgstr "" - -#: ../../faq/programming.rst:510 -msgid "How do I write a function with output parameters (call by reference)?" -msgstr "" - -#: ../../faq/programming.rst:512 -msgid "" -"Remember that arguments are passed by assignment in Python. Since " -"assignment just creates references to objects, there's no alias between an " -"argument name in the caller and callee, and so no call-by-reference per se." -" You can achieve the desired effect in a number of ways." -msgstr "" - -#: ../../faq/programming.rst:517 -msgid "By returning a tuple of the results::" -msgstr "" - -#: ../../faq/programming.rst:519 -msgid "" -">>> def func1(a, b):\n" -"... a = 'new-value' # a and b are local names\n" -"... b = b + 1 # assigned to new objects\n" -"... return a, b # return new values\n" -"...\n" -">>> x, y = 'old-value', 99\n" -">>> func1(x, y)\n" -"('new-value', 100)" -msgstr "" - -#: ../../faq/programming.rst:528 -msgid "This is almost always the clearest solution." -msgstr "Ini merupakan solusi yang jelas." - -#: ../../faq/programming.rst:530 -msgid "" -"By using global variables. This isn't thread-safe, and is not recommended." -msgstr "" - -#: ../../faq/programming.rst:532 -msgid "By passing a mutable (changeable in-place) object::" -msgstr "" - -#: ../../faq/programming.rst:534 -msgid "" -">>> def func2(a):\n" -"... a[0] = 'new-value' # 'a' references a mutable list\n" -"... a[1] = a[1] + 1 # changes a shared object\n" -"...\n" -">>> args = ['old-value', 99]\n" -">>> func2(args)\n" -">>> args\n" -"['new-value', 100]" -msgstr "" - -#: ../../faq/programming.rst:543 -msgid "By passing in a dictionary that gets mutated::" -msgstr "" - -#: ../../faq/programming.rst:545 -msgid "" -">>> def func3(args):\n" -"... args['a'] = 'new-value' # args is a mutable dictionary\n" -"... args['b'] = args['b'] + 1 # change it in-place\n" -"...\n" -">>> args = {'a': 'old-value', 'b': 99}\n" -">>> func3(args)\n" -">>> args\n" -"{'a': 'new-value', 'b': 100}" -msgstr "" - -#: ../../faq/programming.rst:554 -msgid "Or bundle up values in a class instance::" -msgstr "" - -#: ../../faq/programming.rst:556 -msgid "" -">>> class Namespace:\n" -"... def __init__(self, /, **args):\n" -"... for key, value in args.items():\n" -"... setattr(self, key, value)\n" -"...\n" -">>> def func4(args):\n" -"... args.a = 'new-value' # args is a mutable Namespace\n" -"... args.b = args.b + 1 # change object in-place\n" -"...\n" -">>> args = Namespace(a='old-value', b=99)\n" -">>> func4(args)\n" -">>> vars(args)\n" -"{'a': 'new-value', 'b': 100}" -msgstr "" - -#: ../../faq/programming.rst:571 -msgid "There's almost never a good reason to get this complicated." -msgstr "" - -#: ../../faq/programming.rst:573 -msgid "Your best choice is to return a tuple containing the multiple results." -msgstr "" - -#: ../../faq/programming.rst:577 -msgid "How do you make a higher order function in Python?" -msgstr "" - -#: ../../faq/programming.rst:579 -msgid "" -"You have two choices: you can use nested scopes or you can use callable " -"objects. For example, suppose you wanted to define ``linear(a,b)`` which " -"returns a function ``f(x)`` that computes the value ``a*x+b``. Using nested" -" scopes::" -msgstr "" - -#: ../../faq/programming.rst:583 -msgid "" -"def linear(a, b):\n" -" def result(x):\n" -" return a * x + b\n" -" return result" -msgstr "" - -#: ../../faq/programming.rst:588 -msgid "Or using a callable object::" -msgstr "" - -#: ../../faq/programming.rst:590 -msgid "" -"class linear:\n" -"\n" -" def __init__(self, a, b):\n" -" self.a, self.b = a, b\n" -"\n" -" def __call__(self, x):\n" -" return self.a * x + self.b" -msgstr "" - -#: ../../faq/programming.rst:598 -msgid "In both cases, ::" -msgstr "Dalam kedua kasus, ::" - -#: ../../faq/programming.rst:600 -msgid "taxes = linear(0.3, 2)" -msgstr "" - -#: ../../faq/programming.rst:602 -msgid "gives a callable object where ``taxes(10e6) == 0.3 * 10e6 + 2``." -msgstr "" - -#: ../../faq/programming.rst:604 -msgid "" -"The callable object approach has the disadvantage that it is a bit slower " -"and results in slightly longer code. However, note that a collection of " -"callables can share their signature via inheritance::" -msgstr "" - -#: ../../faq/programming.rst:608 -msgid "" -"class exponential(linear):\n" -" # __init__ inherited\n" -" def __call__(self, x):\n" -" return self.a * (x ** self.b)" -msgstr "" - -#: ../../faq/programming.rst:613 -msgid "Object can encapsulate state for several methods::" -msgstr "" - -#: ../../faq/programming.rst:615 -msgid "" -"class counter:\n" -"\n" -" value = 0\n" -"\n" -" def set(self, x):\n" -" self.value = x\n" -"\n" -" def up(self):\n" -" self.value = self.value + 1\n" -"\n" -" def down(self):\n" -" self.value = self.value - 1\n" -"\n" -"count = counter()\n" -"inc, dec, reset = count.up, count.down, count.set" -msgstr "" - -#: ../../faq/programming.rst:631 -msgid "" -"Here ``inc()``, ``dec()`` and ``reset()`` act like functions which share the" -" same counting variable." -msgstr "" - -#: ../../faq/programming.rst:636 -msgid "How do I copy an object in Python?" -msgstr "" - -#: ../../faq/programming.rst:638 -msgid "" -"In general, try :func:`copy.copy` or :func:`copy.deepcopy` for the general " -"case. Not all objects can be copied, but most can." -msgstr "" - -#: ../../faq/programming.rst:641 -msgid "" -"Some objects can be copied more easily. Dictionaries have a " -":meth:`~dict.copy` method::" -msgstr "" - -#: ../../faq/programming.rst:644 -msgid "newdict = olddict.copy()" -msgstr "" - -#: ../../faq/programming.rst:646 -msgid "Sequences can be copied by slicing::" -msgstr "" - -#: ../../faq/programming.rst:648 -msgid "new_l = l[:]" -msgstr "" - -#: ../../faq/programming.rst:652 -msgid "How can I find the methods or attributes of an object?" -msgstr "" - -#: ../../faq/programming.rst:654 -msgid "" -"For an instance ``x`` of a user-defined class, :func:`dir(x) ` returns " -"an alphabetized list of the names containing the instance attributes and " -"methods and attributes defined by its class." -msgstr "" - -#: ../../faq/programming.rst:660 -msgid "How can my code discover the name of an object?" -msgstr "" - -#: ../../faq/programming.rst:662 -msgid "" -"Generally speaking, it can't, because objects don't really have names. " -"Essentially, assignment always binds a name to a value; the same is true of " -"``def`` and ``class`` statements, but in that case the value is a callable. " -"Consider the following code::" -msgstr "" - -#: ../../faq/programming.rst:667 -msgid "" -">>> class A:\n" -"... pass\n" -"...\n" -">>> B = A\n" -">>> a = B()\n" -">>> b = a\n" -">>> print(b)\n" -"<__main__.A object at 0x16D07CC>\n" -">>> print(a)\n" -"<__main__.A object at 0x16D07CC>" -msgstr "" - -#: ../../faq/programming.rst:678 -msgid "" -"Arguably the class has a name: even though it is bound to two names and " -"invoked through the name ``B`` the created instance is still reported as an " -"instance of class ``A``. However, it is impossible to say whether the " -"instance's name is ``a`` or ``b``, since both names are bound to the same " -"value." -msgstr "" - -#: ../../faq/programming.rst:683 -msgid "" -"Generally speaking it should not be necessary for your code to \"know the " -"names\" of particular values. Unless you are deliberately writing " -"introspective programs, this is usually an indication that a change of " -"approach might be beneficial." -msgstr "" - -#: ../../faq/programming.rst:688 -msgid "" -"In comp.lang.python, Fredrik Lundh once gave an excellent analogy in answer " -"to this question:" -msgstr "" - -#: ../../faq/programming.rst:691 -msgid "" -"The same way as you get the name of that cat you found on your porch: the " -"cat (object) itself cannot tell you its name, and it doesn't really care -- " -"so the only way to find out what it's called is to ask all your neighbours " -"(namespaces) if it's their cat (object)..." -msgstr "" - -#: ../../faq/programming.rst:696 -msgid "" -"....and don't be surprised if you'll find that it's known by many names, or " -"no name at all!" -msgstr "" - -#: ../../faq/programming.rst:701 -msgid "What's up with the comma operator's precedence?" -msgstr "" - -#: ../../faq/programming.rst:703 -msgid "Comma is not an operator in Python. Consider this session::" -msgstr "" - -#: ../../faq/programming.rst:705 -msgid "" -">>> \"a\" in \"b\", \"a\"\n" -"(False, 'a')" -msgstr "" - -#: ../../faq/programming.rst:708 -msgid "" -"Since the comma is not an operator, but a separator between expressions the " -"above is evaluated as if you had entered::" -msgstr "" - -#: ../../faq/programming.rst:711 -msgid "(\"a\" in \"b\"), \"a\"" -msgstr "" - -#: ../../faq/programming.rst:713 -msgid "not::" -msgstr "tidak::" - -#: ../../faq/programming.rst:715 -msgid "\"a\" in (\"b\", \"a\")" -msgstr "" - -#: ../../faq/programming.rst:717 -msgid "" -"The same is true of the various assignment operators (``=``, ``+=`` etc). " -"They are not truly operators but syntactic delimiters in assignment " -"statements." -msgstr "" - -#: ../../faq/programming.rst:722 -msgid "Is there an equivalent of C's \"?:\" ternary operator?" -msgstr "" - -#: ../../faq/programming.rst:724 -msgid "Yes, there is. The syntax is as follows::" -msgstr "" - -#: ../../faq/programming.rst:726 -msgid "" -"[on_true] if [expression] else [on_false]\n" -"\n" -"x, y = 50, 25\n" -"small = x if x < y else y" -msgstr "" - -#: ../../faq/programming.rst:731 -msgid "" -"Before this syntax was introduced in Python 2.5, a common idiom was to use " -"logical operators::" -msgstr "" - -#: ../../faq/programming.rst:734 -msgid "[expression] and [on_true] or [on_false]" -msgstr "" - -#: ../../faq/programming.rst:736 -msgid "" -"However, this idiom is unsafe, as it can give wrong results when *on_true* " -"has a false boolean value. Therefore, it is always better to use the ``... " -"if ... else ...`` form." -msgstr "" - -#: ../../faq/programming.rst:742 -msgid "Is it possible to write obfuscated one-liners in Python?" -msgstr "" - -#: ../../faq/programming.rst:744 -msgid "" -"Yes. Usually this is done by nesting :keyword:`lambda` within " -":keyword:`!lambda`. See the following three examples, slightly adapted from" -" Ulf Bartelt::" -msgstr "" - -#: ../../faq/programming.rst:747 -msgid "" -"from functools import reduce\n" -"\n" -"# Primes < 1000\n" -"print(list(filter(None,map(lambda y:y*reduce(lambda x,y:x*y!=0,\n" -"map(lambda x,y=y:y%x,range(2,int(pow(y,0.5)+1))),1),range(2,1000)))))\n" -"\n" -"# First 10 Fibonacci numbers\n" -"print(list(map(lambda x,f=lambda x,f:(f(x-1,f)+f(x-2,f)) if x>1 else 1:\n" -"f(x,f), range(10))))\n" -"\n" -"# Mandelbrot set\n" -"print((lambda Ru,Ro,Iu,Io,IM,Sx,Sy:reduce(lambda x,y:x+'\\n'+y,map(lambda y,\n" -"Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,Sy=Sy,L=lambda yc,Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,i=IM,\n" -"Sx=Sx,Sy=Sy:reduce(lambda x,y:x+y,map(lambda x,xc=Ru,yc=yc,Ru=Ru,Ro=Ro,\n" -"i=i,Sx=Sx,F=lambda xc,yc,x,y,k,f=lambda xc,yc,x,y,k,f:(k<=0)or (x*x+y*y\n" -">=4.0) or 1+f(xc,yc,x*x-y*y+xc,2.0*x*y+yc,k-1,f):f(xc,yc,x,y,k,f):chr(\n" -"64+F(Ru+x*(Ro-Ru)/Sx,yc,0,0,i)),range(Sx))):L(Iu+y*(Io-Iu)/Sy),range(Sy\n" -"))))(-2.1, 0.7, -1.2, 1.2, 30, 80, 24))\n" -"# \\___ ___/ \\___ ___/ | | |__ lines on screen\n" -"# V V | |______ columns on screen\n" -"# | | |__________ maximum of \"iterations\"\n" -"# | |_________________ range on y axis\n" -"# |____________________________ range on x axis" -msgstr "" - -#: ../../faq/programming.rst:771 -msgid "Don't try this at home, kids!" -msgstr "Jangan lakukan ini di rumah, anak-anak!" - -#: ../../faq/programming.rst:777 -msgid "What does the slash(/) in the parameter list of a function mean?" -msgstr "" - -#: ../../faq/programming.rst:779 -msgid "" -"A slash in the argument list of a function denotes that the parameters prior" -" to it are positional-only. Positional-only parameters are the ones without" -" an externally usable name. Upon calling a function that accepts " -"positional-only parameters, arguments are mapped to parameters based solely " -"on their position. For example, :func:`divmod` is a function that accepts " -"positional-only parameters. Its documentation looks like this::" -msgstr "" - -#: ../../faq/programming.rst:786 -msgid "" -">>> help(divmod)\n" -"Help on built-in function divmod in module builtins:\n" -"\n" -"divmod(x, y, /)\n" -" Return the tuple (x//y, x%y). Invariant: div*y + mod == x." -msgstr "" - -#: ../../faq/programming.rst:792 -msgid "" -"The slash at the end of the parameter list means that both parameters are " -"positional-only. Thus, calling :func:`divmod` with keyword arguments would " -"lead to an error::" -msgstr "" - -#: ../../faq/programming.rst:796 -msgid "" -">>> divmod(x=3, y=4)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: divmod() takes no keyword arguments" -msgstr "" - -#: ../../faq/programming.rst:803 -msgid "Numbers and strings" -msgstr "Angka dan string" - -#: ../../faq/programming.rst:806 -msgid "How do I specify hexadecimal and octal integers?" -msgstr "" - -#: ../../faq/programming.rst:808 -msgid "" -"To specify an octal digit, precede the octal value with a zero, and then a " -"lower or uppercase \"o\". For example, to set the variable \"a\" to the " -"octal value \"10\" (8 in decimal), type::" -msgstr "" - -#: ../../faq/programming.rst:812 -msgid "" -">>> a = 0o10\n" -">>> a\n" -"8" -msgstr "" - -#: ../../faq/programming.rst:816 -msgid "" -"Hexadecimal is just as easy. Simply precede the hexadecimal number with a " -"zero, and then a lower or uppercase \"x\". Hexadecimal digits can be " -"specified in lower or uppercase. For example, in the Python interpreter::" -msgstr "" - -#: ../../faq/programming.rst:820 -msgid "" -">>> a = 0xa5\n" -">>> a\n" -"165\n" -">>> b = 0XB2\n" -">>> b\n" -"178" -msgstr "" - -#: ../../faq/programming.rst:829 -msgid "Why does -22 // 10 return -3?" -msgstr "" - -#: ../../faq/programming.rst:831 -msgid "" -"It's primarily driven by the desire that ``i % j`` have the same sign as " -"``j``. If you want that, and also want::" -msgstr "" - -#: ../../faq/programming.rst:834 -msgid "i == (i // j) * j + (i % j)" -msgstr "" - -#: ../../faq/programming.rst:836 -msgid "" -"then integer division has to return the floor. C also requires that " -"identity to hold, and then compilers that truncate ``i // j`` need to make " -"``i % j`` have the same sign as ``i``." -msgstr "" - -#: ../../faq/programming.rst:840 -msgid "" -"There are few real use cases for ``i % j`` when ``j`` is negative. When " -"``j`` is positive, there are many, and in virtually all of them it's more " -"useful for ``i % j`` to be ``>= 0``. If the clock says 10 now, what did it " -"say 200 hours ago? ``-190 % 12 == 2`` is useful; ``-190 % 12 == -10`` is a " -"bug waiting to bite." -msgstr "" - -#: ../../faq/programming.rst:848 -msgid "How do I get int literal attribute instead of SyntaxError?" -msgstr "" - -#: ../../faq/programming.rst:850 -msgid "" -"Trying to lookup an ``int`` literal attribute in the normal manner gives a " -":exc:`SyntaxError` because the period is seen as a decimal point::" -msgstr "" - -#: ../../faq/programming.rst:853 -msgid "" -">>> 1.__class__\n" -" File \"\", line 1\n" -" 1.__class__\n" -" ^\n" -"SyntaxError: invalid decimal literal" -msgstr "" - -#: ../../faq/programming.rst:859 -msgid "" -"The solution is to separate the literal from the period with either a space " -"or parentheses." -msgstr "" - -#: ../../faq/programming.rst:869 -msgid "How do I convert a string to a number?" -msgstr "Bagaimana cara mengonversi string menjadi angka?" - -#: ../../faq/programming.rst:871 -msgid "" -"For integers, use the built-in :func:`int` type constructor, e.g. " -"``int('144') == 144``. Similarly, :func:`float` converts to a floating-" -"point number, e.g. ``float('144') == 144.0``." -msgstr "" - -#: ../../faq/programming.rst:875 -msgid "" -"By default, these interpret the number as decimal, so that ``int('0144') == " -"144`` holds true, and ``int('0x144')`` raises :exc:`ValueError`. " -"``int(string, base)`` takes the base to convert from as a second optional " -"argument, so ``int( '0x144', 16) == 324``. If the base is specified as 0, " -"the number is interpreted using Python's rules: a leading '0o' indicates " -"octal, and '0x' indicates a hex number." -msgstr "" - -#: ../../faq/programming.rst:882 -msgid "" -"Do not use the built-in function :func:`eval` if all you need is to convert " -"strings to numbers. :func:`eval` will be significantly slower and it " -"presents a security risk: someone could pass you a Python expression that " -"might have unwanted side effects. For example, someone could pass " -"``__import__('os').system(\"rm -rf $HOME\")`` which would erase your home " -"directory." -msgstr "" - -#: ../../faq/programming.rst:889 -msgid "" -":func:`eval` also has the effect of interpreting numbers as Python " -"expressions, so that e.g. ``eval('09')`` gives a syntax error because Python" -" does not allow leading '0' in a decimal number (except '0')." -msgstr "" - -#: ../../faq/programming.rst:895 -msgid "How do I convert a number to a string?" -msgstr "Bagaimana cara mengonversi angka menjadi string?" - -#: ../../faq/programming.rst:897 -msgid "" -"To convert, e.g., the number ``144`` to the string ``'144'``, use the built-" -"in type constructor :func:`str`. If you want a hexadecimal or octal " -"representation, use the built-in functions :func:`hex` or :func:`oct`. For " -"fancy formatting, see the :ref:`f-strings` and :ref:`formatstrings` " -"sections, e.g. ``\"{:04d}\".format(144)`` yields ``'0144'`` and " -"``\"{:.3f}\".format(1.0/3.0)`` yields ``'0.333'``." -msgstr "" - -#: ../../faq/programming.rst:906 -msgid "How do I modify a string in place?" -msgstr "" - -#: ../../faq/programming.rst:908 -msgid "" -"You can't, because strings are immutable. In most situations, you should " -"simply construct a new string from the various parts you want to assemble it" -" from. However, if you need an object with the ability to modify in-place " -"unicode data, try using an :class:`io.StringIO` object or the :mod:`array` " -"module::" -msgstr "" - -#: ../../faq/programming.rst:914 -msgid "" -">>> import io\n" -">>> s = \"Hello, world\"\n" -">>> sio = io.StringIO(s)\n" -">>> sio.getvalue()\n" -"'Hello, world'\n" -">>> sio.seek(7)\n" -"7\n" -">>> sio.write(\"there!\")\n" -"6\n" -">>> sio.getvalue()\n" -"'Hello, there!'\n" -"\n" -">>> import array\n" -">>> a = array.array('w', s)\n" -">>> print(a)\n" -"array('w', 'Hello, world')\n" -">>> a[0] = 'y'\n" -">>> print(a)\n" -"array('w', 'yello, world')\n" -">>> a.tounicode()\n" -"'yello, world'" -msgstr "" - -#: ../../faq/programming.rst:938 -msgid "How do I use strings to call functions/methods?" -msgstr "" - -#: ../../faq/programming.rst:940 -msgid "There are various techniques." -msgstr "Ada berbagai teknik." - -#: ../../faq/programming.rst:942 -msgid "" -"The best is to use a dictionary that maps strings to functions. The primary" -" advantage of this technique is that the strings do not need to match the " -"names of the functions. This is also the primary technique used to emulate " -"a case construct::" -msgstr "" - -#: ../../faq/programming.rst:947 -msgid "" -"def a():\n" -" pass\n" -"\n" -"def b():\n" -" pass\n" -"\n" -"dispatch = {'go': a, 'stop': b} # Note lack of parens for funcs\n" -"\n" -"dispatch[get_input()]() # Note trailing parens to call function" -msgstr "" - -#: ../../faq/programming.rst:957 -msgid "Use the built-in function :func:`getattr`::" -msgstr "" - -#: ../../faq/programming.rst:959 -msgid "" -"import foo\n" -"getattr(foo, 'bar')()" -msgstr "" - -#: ../../faq/programming.rst:962 -msgid "" -"Note that :func:`getattr` works on any object, including classes, class " -"instances, modules, and so on." -msgstr "" - -#: ../../faq/programming.rst:965 -msgid "This is used in several places in the standard library, like this::" -msgstr "" - -#: ../../faq/programming.rst:967 -msgid "" -"class Foo:\n" -" def do_foo(self):\n" -" ...\n" -"\n" -" def do_bar(self):\n" -" ...\n" -"\n" -"f = getattr(foo_instance, 'do_' + opname)\n" -"f()" -msgstr "" - -#: ../../faq/programming.rst:978 -msgid "Use :func:`locals` to resolve the function name::" -msgstr "" - -#: ../../faq/programming.rst:980 -msgid "" -"def myFunc():\n" -" print(\"hello\")\n" -"\n" -"fname = \"myFunc\"\n" -"\n" -"f = locals()[fname]\n" -"f()" -msgstr "" - -#: ../../faq/programming.rst:990 -msgid "" -"Is there an equivalent to Perl's ``chomp()`` for removing trailing newlines " -"from strings?" -msgstr "" - -#: ../../faq/programming.rst:992 -msgid "" -"You can use ``S.rstrip(\"\\r\\n\")`` to remove all occurrences of any line " -"terminator from the end of the string ``S`` without removing other trailing " -"whitespace. If the string ``S`` represents more than one line, with several" -" empty lines at the end, the line terminators for all the blank lines will " -"be removed::" -msgstr "" - -#: ../../faq/programming.rst:998 -msgid "" -">>> lines = (\"line 1 \\r\\n\"\n" -"... \"\\r\\n\"\n" -"... \"\\r\\n\")\n" -">>> lines.rstrip(\"\\n\\r\")\n" -"'line 1 '" -msgstr "" - -#: ../../faq/programming.rst:1004 -msgid "" -"Since this is typically only desired when reading text one line at a time, " -"using ``S.rstrip()`` this way works well." -msgstr "" - -#: ../../faq/programming.rst:1009 -msgid "Is there a ``scanf()`` or ``sscanf()`` equivalent?" -msgstr "" - -#: ../../faq/programming.rst:1011 -msgid "Not as such." -msgstr "Tidak seperti itu." - -#: ../../faq/programming.rst:1013 -msgid "" -"For simple input parsing, the easiest approach is usually to split the line " -"into whitespace-delimited words using the :meth:`~str.split` method of " -"string objects and then convert decimal strings to numeric values using " -":func:`int` or :func:`float`. :meth:`!split` supports an optional \"sep\" " -"parameter which is useful if the line uses something other than whitespace " -"as a separator." -msgstr "" - -#: ../../faq/programming.rst:1019 -msgid "" -"For more complicated input parsing, regular expressions are more powerful " -"than C's ``sscanf`` and better suited for the task." -msgstr "" - -#: ../../faq/programming.rst:1024 -msgid "What does ``UnicodeDecodeError`` or ``UnicodeEncodeError`` error mean?" -msgstr "" - -#: ../../faq/programming.rst:1026 -msgid "See the :ref:`unicode-howto`." -msgstr "" - -#: ../../faq/programming.rst:1032 -msgid "Can I end a raw string with an odd number of backslashes?" -msgstr "" - -#: ../../faq/programming.rst:1034 -msgid "" -"A raw string ending with an odd number of backslashes will escape the " -"string's quote::" -msgstr "" - -#: ../../faq/programming.rst:1036 -msgid "" -">>> r'C:\\this\\will\\not\\work\\'\n" -" File \"\", line 1\n" -" r'C:\\this\\will\\not\\work\\'\n" -" ^\n" -"SyntaxError: unterminated string literal (detected at line 1)" -msgstr "" - -#: ../../faq/programming.rst:1042 -msgid "" -"There are several workarounds for this. One is to use regular strings and " -"double the backslashes::" -msgstr "" - -#: ../../faq/programming.rst:1045 -msgid "" -">>> 'C:\\\\this\\\\will\\\\work\\\\'\n" -"'C:\\\\this\\\\will\\\\work\\\\'" -msgstr "" - -#: ../../faq/programming.rst:1048 -msgid "" -"Another is to concatenate a regular string containing an escaped backslash " -"to the raw string::" -msgstr "" - -#: ../../faq/programming.rst:1051 -msgid "" -">>> r'C:\\this\\will\\work' '\\\\'\n" -"'C:\\\\this\\\\will\\\\work\\\\'" -msgstr "" - -#: ../../faq/programming.rst:1054 -msgid "" -"It is also possible to use :func:`os.path.join` to append a backslash on " -"Windows::" -msgstr "" - -#: ../../faq/programming.rst:1056 -msgid "" -">>> os.path.join(r'C:\\this\\will\\work', '')\n" -"'C:\\\\this\\\\will\\\\work\\\\'" -msgstr "" - -#: ../../faq/programming.rst:1059 -msgid "" -"Note that while a backslash will \"escape\" a quote for the purposes of " -"determining where the raw string ends, no escaping occurs when interpreting " -"the value of the raw string. That is, the backslash remains present in the " -"value of the raw string::" -msgstr "" - -#: ../../faq/programming.rst:1064 -msgid "" -">>> r'backslash\\'preserved'\n" -"\"backslash\\\\'preserved\"" -msgstr "" - -#: ../../faq/programming.rst:1067 -msgid "Also see the specification in the :ref:`language reference `." -msgstr "" - -#: ../../faq/programming.rst:1070 -msgid "Performance" -msgstr "Performa" - -#: ../../faq/programming.rst:1073 -msgid "My program is too slow. How do I speed it up?" -msgstr "" -"Kode program saya berjalan lamban. Bagaimana cara saya mempercepatnya?" - -#: ../../faq/programming.rst:1075 -msgid "" -"That's a tough one, in general. First, here are a list of things to " -"remember before diving further:" -msgstr "" - -#: ../../faq/programming.rst:1078 -msgid "" -"Performance characteristics vary across Python implementations. This FAQ " -"focuses on :term:`CPython`." -msgstr "" - -#: ../../faq/programming.rst:1080 -msgid "" -"Behaviour can vary across operating systems, especially when talking about " -"I/O or multi-threading." -msgstr "" - -#: ../../faq/programming.rst:1082 -msgid "" -"You should always find the hot spots in your program *before* attempting to " -"optimize any code (see the :mod:`profile` module)." -msgstr "" - -#: ../../faq/programming.rst:1084 -msgid "" -"Writing benchmark scripts will allow you to iterate quickly when searching " -"for improvements (see the :mod:`timeit` module)." -msgstr "" - -#: ../../faq/programming.rst:1086 -msgid "" -"It is highly recommended to have good code coverage (through unit testing or" -" any other technique) before potentially introducing regressions hidden in " -"sophisticated optimizations." -msgstr "" - -#: ../../faq/programming.rst:1090 -msgid "" -"That being said, there are many tricks to speed up Python code. Here are " -"some general principles which go a long way towards reaching acceptable " -"performance levels:" -msgstr "" - -#: ../../faq/programming.rst:1094 -msgid "" -"Making your algorithms faster (or changing to faster ones) can yield much " -"larger benefits than trying to sprinkle micro-optimization tricks all over " -"your code." -msgstr "" - -#: ../../faq/programming.rst:1098 -msgid "" -"Use the right data structures. Study documentation for the :ref:`bltin-" -"types` and the :mod:`collections` module." -msgstr "" - -#: ../../faq/programming.rst:1101 -msgid "" -"When the standard library provides a primitive for doing something, it is " -"likely (although not guaranteed) to be faster than any alternative you may " -"come up with. This is doubly true for primitives written in C, such as " -"builtins and some extension types. For example, be sure to use either the " -":meth:`list.sort` built-in method or the related :func:`sorted` function to " -"do sorting (and see the :ref:`sortinghowto` for examples of moderately " -"advanced usage)." -msgstr "" - -#: ../../faq/programming.rst:1109 -msgid "" -"Abstractions tend to create indirections and force the interpreter to work " -"more. If the levels of indirection outweigh the amount of useful work done," -" your program will be slower. You should avoid excessive abstraction, " -"especially under the form of tiny functions or methods (which are also often" -" detrimental to readability)." -msgstr "" - -#: ../../faq/programming.rst:1115 -msgid "" -"If you have reached the limit of what pure Python can allow, there are tools" -" to take you further away. For example, `Cython `_ can " -"compile a slightly modified version of Python code into a C extension, and " -"can be used on many different platforms. Cython can take advantage of " -"compilation (and optional type annotations) to make your code significantly " -"faster than when interpreted. If you are confident in your C programming " -"skills, you can also :ref:`write a C extension module ` " -"yourself." -msgstr "" - -#: ../../faq/programming.rst:1125 -msgid "" -"The wiki page devoted to `performance tips " -"`_." -msgstr "" - -#: ../../faq/programming.rst:1131 -msgid "What is the most efficient way to concatenate many strings together?" -msgstr "" -"Apakah cara yang paling efisien untuk menggabungkan banyak string secara " -"bersamaan?" - -#: ../../faq/programming.rst:1133 -msgid "" -":class:`str` and :class:`bytes` objects are immutable, therefore " -"concatenating many strings together is inefficient as each concatenation " -"creates a new object. In the general case, the total runtime cost is " -"quadratic in the total string length." -msgstr "" - -#: ../../faq/programming.rst:1138 -msgid "" -"To accumulate many :class:`str` objects, the recommended idiom is to place " -"them into a list and call :meth:`str.join` at the end::" -msgstr "" - -#: ../../faq/programming.rst:1141 -msgid "" -"chunks = []\n" -"for s in my_strings:\n" -" chunks.append(s)\n" -"result = ''.join(chunks)" -msgstr "" - -#: ../../faq/programming.rst:1146 -msgid "(another reasonably efficient idiom is to use :class:`io.StringIO`)" -msgstr "" -"(idiom lain yang cukup efisien adalah dengan menggunakan " -":class:`io.StringIO`)" - -#: ../../faq/programming.rst:1148 -msgid "" -"To accumulate many :class:`bytes` objects, the recommended idiom is to " -"extend a :class:`bytearray` object using in-place concatenation (the ``+=`` " -"operator)::" -msgstr "" - -#: ../../faq/programming.rst:1151 -msgid "" -"result = bytearray()\n" -"for b in my_bytes_objects:\n" -" result += b" -msgstr "" - -#: ../../faq/programming.rst:1157 -msgid "Sequences (Tuples/Lists)" -msgstr "Urutan (*Tuple*/*List*)" - -#: ../../faq/programming.rst:1160 -msgid "How do I convert between tuples and lists?" -msgstr "Bagaimana cara saya mengonversi tuples dan lists?" - -#: ../../faq/programming.rst:1162 -msgid "" -"The type constructor ``tuple(seq)`` converts any sequence (actually, any " -"iterable) into a tuple with the same items in the same order." -msgstr "" - -#: ../../faq/programming.rst:1165 -msgid "" -"For example, ``tuple([1, 2, 3])`` yields ``(1, 2, 3)`` and ``tuple('abc')`` " -"yields ``('a', 'b', 'c')``. If the argument is a tuple, it does not make a " -"copy but returns the same object, so it is cheap to call :func:`tuple` when " -"you aren't sure that an object is already a tuple." -msgstr "" - -#: ../../faq/programming.rst:1170 -msgid "" -"The type constructor ``list(seq)`` converts any sequence or iterable into a " -"list with the same items in the same order. For example, ``list((1, 2, " -"3))`` yields ``[1, 2, 3]`` and ``list('abc')`` yields ``['a', 'b', 'c']``. " -"If the argument is a list, it makes a copy just like ``seq[:]`` would." -msgstr "" - -#: ../../faq/programming.rst:1177 -msgid "What's a negative index?" -msgstr "Apa itu indeks negatif?" - -#: ../../faq/programming.rst:1179 -msgid "" -"Python sequences are indexed with positive numbers and negative numbers. " -"For positive numbers 0 is the first index 1 is the second index and so " -"forth. For negative indices -1 is the last index and -2 is the penultimate " -"(next to last) index and so forth. Think of ``seq[-n]`` as the same as " -"``seq[len(seq)-n]``." -msgstr "" - -#: ../../faq/programming.rst:1184 -msgid "" -"Using negative indices can be very convenient. For example ``S[:-1]`` is " -"all of the string except for its last character, which is useful for " -"removing the trailing newline from a string." -msgstr "" - -#: ../../faq/programming.rst:1190 -msgid "How do I iterate over a sequence in reverse order?" -msgstr "" - -#: ../../faq/programming.rst:1192 -msgid "Use the :func:`reversed` built-in function::" -msgstr "" - -#: ../../faq/programming.rst:1194 -msgid "" -"for x in reversed(sequence):\n" -" ... # do something with x ..." -msgstr "" - -#: ../../faq/programming.rst:1197 -msgid "" -"This won't touch your original sequence, but build a new copy with reversed " -"order to iterate over." -msgstr "" - -#: ../../faq/programming.rst:1202 -msgid "How do you remove duplicates from a list?" -msgstr "Bagaimana Anda menghapus duplikasi dari list?" - -#: ../../faq/programming.rst:1204 -msgid "See the Python Cookbook for a long discussion of many ways to do this:" -msgstr "" - -#: ../../faq/programming.rst:1206 -msgid "https://code.activestate.com/recipes/52560/" -msgstr "https://code.activestate.com/recipes/52560/" - -#: ../../faq/programming.rst:1208 -msgid "" -"If you don't mind reordering the list, sort it and then scan from the end of" -" the list, deleting duplicates as you go::" -msgstr "" - -#: ../../faq/programming.rst:1211 -msgid "" -"if mylist:\n" -" mylist.sort()\n" -" last = mylist[-1]\n" -" for i in range(len(mylist)-2, -1, -1):\n" -" if last == mylist[i]:\n" -" del mylist[i]\n" -" else:\n" -" last = mylist[i]" -msgstr "" - -#: ../../faq/programming.rst:1220 -msgid "" -"If all elements of the list may be used as set keys (i.e. they are all " -":term:`hashable`) this is often faster ::" -msgstr "" - -#: ../../faq/programming.rst:1223 -msgid "mylist = list(set(mylist))" -msgstr "" - -#: ../../faq/programming.rst:1225 -msgid "" -"This converts the list into a set, thereby removing duplicates, and then " -"back into a list." -msgstr "" - -#: ../../faq/programming.rst:1230 -msgid "How do you remove multiple items from a list" -msgstr "" - -#: ../../faq/programming.rst:1232 -msgid "" -"As with removing duplicates, explicitly iterating in reverse with a delete " -"condition is one possibility. However, it is easier and faster to use slice" -" replacement with an implicit or explicit forward iteration. Here are three " -"variations.::" -msgstr "" - -#: ../../faq/programming.rst:1237 -msgid "" -"mylist[:] = filter(keep_function, mylist)\n" -"mylist[:] = (x for x in mylist if keep_condition)\n" -"mylist[:] = [x for x in mylist if keep_condition]" -msgstr "" - -#: ../../faq/programming.rst:1241 -msgid "The list comprehension may be fastest." -msgstr "" - -#: ../../faq/programming.rst:1245 -msgid "How do you make an array in Python?" -msgstr "Bagaimana anda membuat sebuah array di Python?" - -#: ../../faq/programming.rst:1247 -msgid "Use a list::" -msgstr "Gunakan sebuah *list*::" - -#: ../../faq/programming.rst:1249 -msgid "[\"this\", 1, \"is\", \"an\", \"array\"]" -msgstr "" - -#: ../../faq/programming.rst:1251 -msgid "" -"Lists are equivalent to C or Pascal arrays in their time complexity; the " -"primary difference is that a Python list can contain objects of many " -"different types." -msgstr "" - -#: ../../faq/programming.rst:1254 -msgid "" -"The ``array`` module also provides methods for creating arrays of fixed " -"types with compact representations, but they are slower to index than lists." -" Also note that `NumPy `_ and other third party " -"packages define array-like structures with various characteristics as well." -msgstr "" - -#: ../../faq/programming.rst:1260 -msgid "" -"To get Lisp-style linked lists, you can emulate *cons cells* using tuples::" -msgstr "" - -#: ../../faq/programming.rst:1262 -msgid "lisp_list = (\"like\", (\"this\", (\"example\", None) ) )" -msgstr "" - -#: ../../faq/programming.rst:1264 -msgid "" -"If mutability is desired, you could use lists instead of tuples. Here the " -"analogue of a Lisp *car* is ``lisp_list[0]`` and the analogue of *cdr* is " -"``lisp_list[1]``. Only do this if you're sure you really need to, because " -"it's usually a lot slower than using Python lists." -msgstr "" - -#: ../../faq/programming.rst:1273 -msgid "How do I create a multidimensional list?" -msgstr "Bagaimana cara Saya membuat list multidimensi?" - -#: ../../faq/programming.rst:1275 -msgid "You probably tried to make a multidimensional array like this::" -msgstr "" - -#: ../../faq/programming.rst:1277 -msgid ">>> A = [[None] * 2] * 3" -msgstr "" - -#: ../../faq/programming.rst:1279 -msgid "This looks correct if you print it:" -msgstr "" - -#: ../../faq/programming.rst:1285 -msgid "" -">>> A\n" -"[[None, None], [None, None], [None, None]]" -msgstr "" - -#: ../../faq/programming.rst:1290 -msgid "But when you assign a value, it shows up in multiple places:" -msgstr "" - -#: ../../faq/programming.rst:1296 -msgid "" -">>> A[0][0] = 5\n" -">>> A\n" -"[[5, None], [5, None], [5, None]]" -msgstr "" - -#: ../../faq/programming.rst:1302 -msgid "" -"The reason is that replicating a list with ``*`` doesn't create copies, it " -"only creates references to the existing objects. The ``*3`` creates a list " -"containing 3 references to the same list of length two. Changes to one row " -"will show in all rows, which is almost certainly not what you want." -msgstr "" - -#: ../../faq/programming.rst:1307 -msgid "" -"The suggested approach is to create a list of the desired length first and " -"then fill in each element with a newly created list::" -msgstr "" - -#: ../../faq/programming.rst:1310 -msgid "" -"A = [None] * 3\n" -"for i in range(3):\n" -" A[i] = [None] * 2" -msgstr "" - -#: ../../faq/programming.rst:1314 -msgid "" -"This generates a list containing 3 different lists of length two. You can " -"also use a list comprehension::" -msgstr "" - -#: ../../faq/programming.rst:1317 -msgid "" -"w, h = 2, 3\n" -"A = [[None] * w for i in range(h)]" -msgstr "" - -#: ../../faq/programming.rst:1320 -msgid "" -"Or, you can use an extension that provides a matrix datatype; `NumPy " -"`_ is the best known." -msgstr "" - -#: ../../faq/programming.rst:1325 -msgid "How do I apply a method or function to a sequence of objects?" -msgstr "" - -#: ../../faq/programming.rst:1327 -msgid "" -"To call a method or function and accumulate the return values is a list, a " -":term:`list comprehension` is an elegant solution::" -msgstr "" - -#: ../../faq/programming.rst:1330 -msgid "" -"result = [obj.method() for obj in mylist]\n" -"\n" -"result = [function(obj) for obj in mylist]" -msgstr "" - -#: ../../faq/programming.rst:1334 -msgid "" -"To just run the method or function without saving the return values, a plain" -" :keyword:`for` loop will suffice::" -msgstr "" - -#: ../../faq/programming.rst:1337 -msgid "" -"for obj in mylist:\n" -" obj.method()\n" -"\n" -"for obj in mylist:\n" -" function(obj)" -msgstr "" - -#: ../../faq/programming.rst:1346 -msgid "" -"Why does a_tuple[i] += ['item'] raise an exception when the addition works?" -msgstr "" - -#: ../../faq/programming.rst:1348 -msgid "" -"This is because of a combination of the fact that augmented assignment " -"operators are *assignment* operators, and the difference between mutable and" -" immutable objects in Python." -msgstr "" - -#: ../../faq/programming.rst:1352 -msgid "" -"This discussion applies in general when augmented assignment operators are " -"applied to elements of a tuple that point to mutable objects, but we'll use " -"a ``list`` and ``+=`` as our exemplar." -msgstr "" - -#: ../../faq/programming.rst:1356 -msgid "If you wrote::" -msgstr "Jika kamu menulis::" - -#: ../../faq/programming.rst:1358 -msgid "" -">>> a_tuple = (1, 2)\n" -">>> a_tuple[0] += 1\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: 'tuple' object does not support item assignment" -msgstr "" - -#: ../../faq/programming.rst:1364 -msgid "" -"The reason for the exception should be immediately clear: ``1`` is added to " -"the object ``a_tuple[0]`` points to (``1``), producing the result object, " -"``2``, but when we attempt to assign the result of the computation, ``2``, " -"to element ``0`` of the tuple, we get an error because we can't change what " -"an element of a tuple points to." -msgstr "" - -#: ../../faq/programming.rst:1370 -msgid "" -"Under the covers, what this augmented assignment statement is doing is " -"approximately this::" -msgstr "" - -#: ../../faq/programming.rst:1373 -msgid "" -">>> result = a_tuple[0] + 1\n" -">>> a_tuple[0] = result\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: 'tuple' object does not support item assignment" -msgstr "" - -#: ../../faq/programming.rst:1379 -msgid "" -"It is the assignment part of the operation that produces the error, since a " -"tuple is immutable." -msgstr "" - -#: ../../faq/programming.rst:1382 -msgid "When you write something like::" -msgstr "Ketika kamu menulis sesuatu seperti::" - -#: ../../faq/programming.rst:1384 -msgid "" -">>> a_tuple = (['foo'], 'bar')\n" -">>> a_tuple[0] += ['item']\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: 'tuple' object does not support item assignment" -msgstr "" - -#: ../../faq/programming.rst:1390 -msgid "" -"The exception is a bit more surprising, and even more surprising is the fact" -" that even though there was an error, the append worked::" -msgstr "" - -#: ../../faq/programming.rst:1393 -msgid "" -">>> a_tuple[0]\n" -"['foo', 'item']" -msgstr "" - -#: ../../faq/programming.rst:1396 -msgid "" -"To see why this happens, you need to know that (a) if an object implements " -"an :meth:`~object.__iadd__` magic method, it gets called when the ``+=`` " -"augmented assignment is executed, and its return value is what gets used in " -"the assignment statement; and (b) for lists, :meth:`!__iadd__` is equivalent" -" to calling :meth:`!extend` on the list and returning the list. That's why " -"we say that for lists, ``+=`` is a \"shorthand\" for :meth:`!list.extend`::" -msgstr "" - -#: ../../faq/programming.rst:1404 -msgid "" -">>> a_list = []\n" -">>> a_list += [1]\n" -">>> a_list\n" -"[1]" -msgstr "" - -#: ../../faq/programming.rst:1409 -msgid "This is equivalent to::" -msgstr "Ini setara dengan::" - -#: ../../faq/programming.rst:1411 -msgid "" -">>> result = a_list.__iadd__([1])\n" -">>> a_list = result" -msgstr "" - -#: ../../faq/programming.rst:1414 -msgid "" -"The object pointed to by a_list has been mutated, and the pointer to the " -"mutated object is assigned back to ``a_list``. The end result of the " -"assignment is a no-op, since it is a pointer to the same object that " -"``a_list`` was previously pointing to, but the assignment still happens." -msgstr "" - -#: ../../faq/programming.rst:1419 -msgid "Thus, in our tuple example what is happening is equivalent to::" -msgstr "" - -#: ../../faq/programming.rst:1421 -msgid "" -">>> result = a_tuple[0].__iadd__(['item'])\n" -">>> a_tuple[0] = result\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: 'tuple' object does not support item assignment" -msgstr "" - -#: ../../faq/programming.rst:1427 -msgid "" -"The :meth:`!__iadd__` succeeds, and thus the list is extended, but even " -"though ``result`` points to the same object that ``a_tuple[0]`` already " -"points to, that final assignment still results in an error, because tuples " -"are immutable." -msgstr "" - -#: ../../faq/programming.rst:1433 -msgid "" -"I want to do a complicated sort: can you do a Schwartzian Transform in " -"Python?" -msgstr "" - -#: ../../faq/programming.rst:1435 -msgid "" -"The technique, attributed to Randal Schwartz of the Perl community, sorts " -"the elements of a list by a metric which maps each element to its \"sort " -"value\". In Python, use the ``key`` argument for the :meth:`list.sort` " -"method::" -msgstr "" - -#: ../../faq/programming.rst:1439 -msgid "" -"Isorted = L[:]\n" -"Isorted.sort(key=lambda s: int(s[10:15]))" -msgstr "" - -#: ../../faq/programming.rst:1444 -msgid "How can I sort one list by values from another list?" -msgstr "" - -#: ../../faq/programming.rst:1446 -msgid "" -"Merge them into an iterator of tuples, sort the resulting list, and then " -"pick out the element you want. ::" -msgstr "" - -#: ../../faq/programming.rst:1449 -msgid "" -">>> list1 = [\"what\", \"I'm\", \"sorting\", \"by\"]\n" -">>> list2 = [\"something\", \"else\", \"to\", \"sort\"]\n" -">>> pairs = zip(list1, list2)\n" -">>> pairs = sorted(pairs)\n" -">>> pairs\n" -"[(\"I'm\", 'else'), ('by', 'sort'), ('sorting', 'to'), ('what', 'something')]\n" -">>> result = [x[1] for x in pairs]\n" -">>> result\n" -"['else', 'sort', 'to', 'something']" -msgstr "" - -#: ../../faq/programming.rst:1461 -msgid "Objects" -msgstr "Objek" - -#: ../../faq/programming.rst:1464 -msgid "What is a class?" -msgstr "Apa itu kelas?" - -#: ../../faq/programming.rst:1466 -msgid "" -"A class is the particular object type created by executing a class " -"statement. Class objects are used as templates to create instance objects, " -"which embody both the data (attributes) and code (methods) specific to a " -"datatype." -msgstr "" - -#: ../../faq/programming.rst:1470 -msgid "" -"A class can be based on one or more other classes, called its base " -"class(es). It then inherits the attributes and methods of its base classes. " -"This allows an object model to be successively refined by inheritance. You " -"might have a generic ``Mailbox`` class that provides basic accessor methods " -"for a mailbox, and subclasses such as ``MboxMailbox``, ``MaildirMailbox``, " -"``OutlookMailbox`` that handle various specific mailbox formats." -msgstr "" - -#: ../../faq/programming.rst:1479 -msgid "What is a method?" -msgstr "Apa itu metode?" - -#: ../../faq/programming.rst:1481 -msgid "" -"A method is a function on some object ``x`` that you normally call as " -"``x.name(arguments...)``. Methods are defined as functions inside the class" -" definition::" -msgstr "" - -#: ../../faq/programming.rst:1485 -msgid "" -"class C:\n" -" def meth(self, arg):\n" -" return arg * 2 + self.attribute" -msgstr "" - -#: ../../faq/programming.rst:1491 -msgid "What is self?" -msgstr "Apa itu *self*?" - -#: ../../faq/programming.rst:1493 -msgid "" -"Self is merely a conventional name for the first argument of a method. A " -"method defined as ``meth(self, a, b, c)`` should be called as ``x.meth(a, b," -" c)`` for some instance ``x`` of the class in which the definition occurs; " -"the called method will think it is called as ``meth(x, a, b, c)``." -msgstr "" - -#: ../../faq/programming.rst:1498 -msgid "See also :ref:`why-self`." -msgstr "Lihat juga :ref:`why-self`." - -#: ../../faq/programming.rst:1502 -msgid "" -"How do I check if an object is an instance of a given class or of a subclass" -" of it?" -msgstr "" - -#: ../../faq/programming.rst:1504 -msgid "" -"Use the built-in function :func:`isinstance(obj, cls) `. You " -"can check if an object is an instance of any of a number of classes by " -"providing a tuple instead of a single class, e.g. ``isinstance(obj, (class1," -" class2, ...))``, and can also check whether an object is one of Python's " -"built-in types, e.g. ``isinstance(obj, str)`` or ``isinstance(obj, (int, " -"float, complex))``." -msgstr "" - -#: ../../faq/programming.rst:1511 -msgid "" -"Note that :func:`isinstance` also checks for virtual inheritance from an " -":term:`abstract base class`. So, the test will return ``True`` for a " -"registered class even if hasn't directly or indirectly inherited from it. " -"To test for \"true inheritance\", scan the :term:`MRO` of the class:" -msgstr "" - -#: ../../faq/programming.rst:1516 -msgid "" -"from collections.abc import Mapping\n" -"\n" -"class P:\n" -" pass\n" -"\n" -"class C(P):\n" -" pass\n" -"\n" -"Mapping.register(P)" -msgstr "" - -#: ../../faq/programming.rst:1528 -msgid "" -">>> c = C()\n" -">>> isinstance(c, C) # direct\n" -"True\n" -">>> isinstance(c, P) # indirect\n" -"True\n" -">>> isinstance(c, Mapping) # virtual\n" -"True\n" -"\n" -"# Actual inheritance chain\n" -">>> type(c).__mro__\n" -"(, , )\n" -"\n" -"# Test for \"true inheritance\"\n" -">>> Mapping in type(c).__mro__\n" -"False" -msgstr "" - -#: ../../faq/programming.rst:1546 -msgid "" -"Note that most programs do not use :func:`isinstance` on user-defined " -"classes very often. If you are developing the classes yourself, a more " -"proper object-oriented style is to define methods on the classes that " -"encapsulate a particular behaviour, instead of checking the object's class " -"and doing a different thing based on what class it is. For example, if you " -"have a function that does something::" -msgstr "" - -#: ../../faq/programming.rst:1553 -msgid "" -"def search(obj):\n" -" if isinstance(obj, Mailbox):\n" -" ... # code to search a mailbox\n" -" elif isinstance(obj, Document):\n" -" ... # code to search a document\n" -" elif ..." -msgstr "" - -#: ../../faq/programming.rst:1560 -msgid "" -"A better approach is to define a ``search()`` method on all the classes and " -"just call it::" -msgstr "" - -#: ../../faq/programming.rst:1563 -msgid "" -"class Mailbox:\n" -" def search(self):\n" -" ... # code to search a mailbox\n" -"\n" -"class Document:\n" -" def search(self):\n" -" ... # code to search a document\n" -"\n" -"obj.search()" -msgstr "" - -#: ../../faq/programming.rst:1575 -msgid "What is delegation?" -msgstr "Apa itu delegasi?" - -#: ../../faq/programming.rst:1577 -msgid "" -"Delegation is an object oriented technique (also called a design pattern). " -"Let's say you have an object ``x`` and want to change the behaviour of just " -"one of its methods. You can create a new class that provides a new " -"implementation of the method you're interested in changing and delegates all" -" other methods to the corresponding method of ``x``." -msgstr "" - -#: ../../faq/programming.rst:1583 -msgid "" -"Python programmers can easily implement delegation. For example, the " -"following class implements a class that behaves like a file but converts all" -" written data to uppercase::" -msgstr "" - -#: ../../faq/programming.rst:1587 -msgid "" -"class UpperOut:\n" -"\n" -" def __init__(self, outfile):\n" -" self._outfile = outfile\n" -"\n" -" def write(self, s):\n" -" self._outfile.write(s.upper())\n" -"\n" -" def __getattr__(self, name):\n" -" return getattr(self._outfile, name)" -msgstr "" - -#: ../../faq/programming.rst:1598 -msgid "" -"Here the ``UpperOut`` class redefines the ``write()`` method to convert the " -"argument string to uppercase before calling the underlying " -"``self._outfile.write()`` method. All other methods are delegated to the " -"underlying ``self._outfile`` object. The delegation is accomplished via the" -" :meth:`~object.__getattr__` method; consult :ref:`the language reference " -"` for more information about controlling attribute access." -msgstr "" - -#: ../../faq/programming.rst:1605 -msgid "" -"Note that for more general cases delegation can get trickier. When " -"attributes must be set as well as retrieved, the class must define a " -":meth:`~object.__setattr__` method too, and it must do so carefully. The " -"basic implementation of :meth:`!__setattr__` is roughly equivalent to the " -"following::" -msgstr "" - -#: ../../faq/programming.rst:1610 -msgid "" -"class X:\n" -" ...\n" -" def __setattr__(self, name, value):\n" -" self.__dict__[name] = value\n" -" ..." -msgstr "" - -#: ../../faq/programming.rst:1616 -msgid "" -"Many :meth:`~object.__setattr__` implementations call " -":meth:`!object.__setattr__` to set an attribute on self without causing " -"infinite recursion::" -msgstr "" - -#: ../../faq/programming.rst:1619 -msgid "" -"class X:\n" -" def __setattr__(self, name, value):\n" -" # Custom logic here...\n" -" object.__setattr__(self, name, value)" -msgstr "" - -#: ../../faq/programming.rst:1624 -msgid "" -"Alternatively, it is possible to set attributes by inserting entries into " -":attr:`self.__dict__ ` directly." -msgstr "" - -#: ../../faq/programming.rst:1629 -msgid "" -"How do I call a method defined in a base class from a derived class that " -"extends it?" -msgstr "" - -#: ../../faq/programming.rst:1631 -msgid "Use the built-in :func:`super` function::" -msgstr "" - -#: ../../faq/programming.rst:1633 -msgid "" -"class Derived(Base):\n" -" def meth(self):\n" -" super().meth() # calls Base.meth" -msgstr "" - -#: ../../faq/programming.rst:1637 -msgid "" -"In the example, :func:`super` will automatically determine the instance from" -" which it was called (the ``self`` value), look up the :term:`method " -"resolution order` (MRO) with ``type(self).__mro__``, and return the next in " -"line after ``Derived`` in the MRO: ``Base``." -msgstr "" - -#: ../../faq/programming.rst:1644 -msgid "How can I organize my code to make it easier to change the base class?" -msgstr "" - -#: ../../faq/programming.rst:1646 -msgid "" -"You could assign the base class to an alias and derive from the alias. Then" -" all you have to change is the value assigned to the alias. Incidentally, " -"this trick is also handy if you want to decide dynamically (e.g. depending " -"on availability of resources) which base class to use. Example::" -msgstr "" - -#: ../../faq/programming.rst:1651 -msgid "" -"class Base:\n" -" ...\n" -"\n" -"BaseAlias = Base\n" -"\n" -"class Derived(BaseAlias):\n" -" ..." -msgstr "" - -#: ../../faq/programming.rst:1661 -msgid "How do I create static class data and static class methods?" -msgstr "" - -#: ../../faq/programming.rst:1663 -msgid "" -"Both static data and static methods (in the sense of C++ or Java) are " -"supported in Python." -msgstr "" - -#: ../../faq/programming.rst:1666 -msgid "" -"For static data, simply define a class attribute. To assign a new value to " -"the attribute, you have to explicitly use the class name in the assignment::" -msgstr "" - -#: ../../faq/programming.rst:1669 -msgid "" -"class C:\n" -" count = 0 # number of times C.__init__ called\n" -"\n" -" def __init__(self):\n" -" C.count = C.count + 1\n" -"\n" -" def getcount(self):\n" -" return C.count # or return self.count" -msgstr "" - -#: ../../faq/programming.rst:1678 -msgid "" -"``c.count`` also refers to ``C.count`` for any ``c`` such that " -"``isinstance(c, C)`` holds, unless overridden by ``c`` itself or by some " -"class on the base-class search path from ``c.__class__`` back to ``C``." -msgstr "" - -#: ../../faq/programming.rst:1682 -msgid "" -"Caution: within a method of C, an assignment like ``self.count = 42`` " -"creates a new and unrelated instance named \"count\" in ``self``'s own dict." -" Rebinding of a class-static data name must always specify the class " -"whether inside a method or not::" -msgstr "" - -#: ../../faq/programming.rst:1687 -msgid "C.count = 314" -msgstr "" - -#: ../../faq/programming.rst:1689 -msgid "Static methods are possible::" -msgstr "" - -#: ../../faq/programming.rst:1691 -msgid "" -"class C:\n" -" @staticmethod\n" -" def static(arg1, arg2, arg3):\n" -" # No 'self' parameter!\n" -" ..." -msgstr "" - -#: ../../faq/programming.rst:1697 -msgid "" -"However, a far more straightforward way to get the effect of a static method" -" is via a simple module-level function::" -msgstr "" - -#: ../../faq/programming.rst:1700 -msgid "" -"def getcount():\n" -" return C.count" -msgstr "" - -#: ../../faq/programming.rst:1703 -msgid "" -"If your code is structured so as to define one class (or tightly related " -"class hierarchy) per module, this supplies the desired encapsulation." -msgstr "" - -#: ../../faq/programming.rst:1708 -msgid "How can I overload constructors (or methods) in Python?" -msgstr "" - -#: ../../faq/programming.rst:1710 -msgid "" -"This answer actually applies to all methods, but the question usually comes " -"up first in the context of constructors." -msgstr "" - -#: ../../faq/programming.rst:1713 -msgid "In C++ you'd write" -msgstr "Di C++ kamu akan menulis" - -#: ../../faq/programming.rst:1715 -msgid "" -"class C {\n" -" C() { cout << \"No arguments\\n\"; }\n" -" C(int i) { cout << \"Argument is \" << i << \"\\n\"; }\n" -"}" -msgstr "" - -#: ../../faq/programming.rst:1722 -msgid "" -"In Python you have to write a single constructor that catches all cases " -"using default arguments. For example::" -msgstr "" - -#: ../../faq/programming.rst:1725 -msgid "" -"class C:\n" -" def __init__(self, i=None):\n" -" if i is None:\n" -" print(\"No arguments\")\n" -" else:\n" -" print(\"Argument is\", i)" -msgstr "" - -#: ../../faq/programming.rst:1732 -msgid "This is not entirely equivalent, but close enough in practice." -msgstr "" - -#: ../../faq/programming.rst:1734 -msgid "You could also try a variable-length argument list, e.g. ::" -msgstr "" - -#: ../../faq/programming.rst:1736 -msgid "" -"def __init__(self, *args):\n" -" ..." -msgstr "" - -#: ../../faq/programming.rst:1739 -msgid "The same approach works for all method definitions." -msgstr "" - -#: ../../faq/programming.rst:1743 -msgid "I try to use __spam and I get an error about _SomeClassName__spam." -msgstr "" - -#: ../../faq/programming.rst:1745 -msgid "" -"Variable names with double leading underscores are \"mangled\" to provide a " -"simple but effective way to define class private variables. Any identifier " -"of the form ``__spam`` (at least two leading underscores, at most one " -"trailing underscore) is textually replaced with ``_classname__spam``, where " -"``classname`` is the current class name with any leading underscores " -"stripped." -msgstr "" - -#: ../../faq/programming.rst:1751 -msgid "" -"The identifier can be used unchanged within the class, but to access it " -"outside the class, the mangled name must be used:" -msgstr "" - -#: ../../faq/programming.rst:1754 -msgid "" -"class A:\n" -" def __one(self):\n" -" return 1\n" -" def two(self):\n" -" return 2 * self.__one()\n" -"\n" -"class B(A):\n" -" def three(self):\n" -" return 3 * self._A__one()\n" -"\n" -"four = 4 * A()._A__one()" -msgstr "" - -#: ../../faq/programming.rst:1768 -msgid "" -"In particular, this does not guarantee privacy since an outside user can " -"still deliberately access the private attribute; many Python programmers " -"never bother to use private variable names at all." -msgstr "" - -#: ../../faq/programming.rst:1774 -msgid "" -"The :ref:`private name mangling specifications ` for " -"details and special cases." -msgstr "" - -#: ../../faq/programming.rst:1778 -msgid "" -"My class defines __del__ but it is not called when I delete the object." -msgstr "" - -#: ../../faq/programming.rst:1780 -msgid "There are several possible reasons for this." -msgstr "" - -#: ../../faq/programming.rst:1782 -msgid "" -"The :keyword:`del` statement does not necessarily call " -":meth:`~object.__del__` -- it simply decrements the object's reference " -"count, and if this reaches zero :meth:`!__del__` is called." -msgstr "" - -#: ../../faq/programming.rst:1786 -msgid "" -"If your data structures contain circular links (e.g. a tree where each child" -" has a parent reference and each parent has a list of children) the " -"reference counts will never go back to zero. Once in a while Python runs an" -" algorithm to detect such cycles, but the garbage collector might run some " -"time after the last reference to your data structure vanishes, so your " -":meth:`!__del__` method may be called at an inconvenient and random time. " -"This is inconvenient if you're trying to reproduce a problem. Worse, the " -"order in which object's :meth:`!__del__` methods are executed is arbitrary." -" You can run :func:`gc.collect` to force a collection, but there *are* " -"pathological cases where objects will never be collected." -msgstr "" - -#: ../../faq/programming.rst:1797 -msgid "" -"Despite the cycle collector, it's still a good idea to define an explicit " -"``close()`` method on objects to be called whenever you're done with them. " -"The ``close()`` method can then remove attributes that refer to subobjects." -" Don't call :meth:`!__del__` directly -- :meth:`!__del__` should call " -"``close()`` and ``close()`` should make sure that it can be called more than" -" once for the same object." -msgstr "" - -#: ../../faq/programming.rst:1804 -msgid "" -"Another way to avoid cyclical references is to use the :mod:`weakref` " -"module, which allows you to point to objects without incrementing their " -"reference count. Tree data structures, for instance, should use weak " -"references for their parent and sibling references (if they need them!)." -msgstr "" - -#: ../../faq/programming.rst:1817 -msgid "" -"Finally, if your :meth:`!__del__` method raises an exception, a warning " -"message is printed to :data:`sys.stderr`." -msgstr "" - -#: ../../faq/programming.rst:1822 -msgid "How do I get a list of all instances of a given class?" -msgstr "" - -#: ../../faq/programming.rst:1824 -msgid "" -"Python does not keep track of all instances of a class (or of a built-in " -"type). You can program the class's constructor to keep track of all " -"instances by keeping a list of weak references to each instance." -msgstr "" - -#: ../../faq/programming.rst:1830 -msgid "Why does the result of ``id()`` appear to be not unique?" -msgstr "" - -#: ../../faq/programming.rst:1832 -msgid "" -"The :func:`id` builtin returns an integer that is guaranteed to be unique " -"during the lifetime of the object. Since in CPython, this is the object's " -"memory address, it happens frequently that after an object is deleted from " -"memory, the next freshly created object is allocated at the same position in" -" memory. This is illustrated by this example:" -msgstr "" - -#: ../../faq/programming.rst:1843 -msgid "" -"The two ids belong to different integer objects that are created before, and" -" deleted immediately after execution of the ``id()`` call. To be sure that " -"objects whose id you want to examine are still alive, create another " -"reference to the object:" -msgstr "" - -#: ../../faq/programming.rst:1856 -msgid "When can I rely on identity tests with the *is* operator?" -msgstr "" - -#: ../../faq/programming.rst:1858 -msgid "" -"The ``is`` operator tests for object identity. The test ``a is b`` is " -"equivalent to ``id(a) == id(b)``." -msgstr "" - -#: ../../faq/programming.rst:1861 -msgid "" -"The most important property of an identity test is that an object is always " -"identical to itself, ``a is a`` always returns ``True``. Identity tests are" -" usually faster than equality tests. And unlike equality tests, identity " -"tests are guaranteed to return a boolean ``True`` or ``False``." -msgstr "" - -#: ../../faq/programming.rst:1866 -msgid "" -"However, identity tests can *only* be substituted for equality tests when " -"object identity is assured. Generally, there are three circumstances where " -"identity is guaranteed:" -msgstr "" - -#: ../../faq/programming.rst:1870 -msgid "" -"Assignments create new names but do not change object identity. After the " -"assignment ``new = old``, it is guaranteed that ``new is old``." -msgstr "" - -#: ../../faq/programming.rst:1873 -msgid "" -"Putting an object in a container that stores object references does not " -"change object identity. After the list assignment ``s[0] = x``, it is " -"guaranteed that ``s[0] is x``." -msgstr "" - -#: ../../faq/programming.rst:1877 -msgid "" -"If an object is a singleton, it means that only one instance of that object " -"can exist. After the assignments ``a = None`` and ``b = None``, it is " -"guaranteed that ``a is b`` because ``None`` is a singleton." -msgstr "" - -#: ../../faq/programming.rst:1881 -msgid "" -"In most other circumstances, identity tests are inadvisable and equality " -"tests are preferred. In particular, identity tests should not be used to " -"check constants such as :class:`int` and :class:`str` which aren't " -"guaranteed to be singletons::" -msgstr "" - -#: ../../faq/programming.rst:1886 -msgid "" -">>> a = 1000\n" -">>> b = 500\n" -">>> c = b + 500\n" -">>> a is c\n" -"False\n" -"\n" -">>> a = 'Python'\n" -">>> b = 'Py'\n" -">>> c = b + 'thon'\n" -">>> a is c\n" -"False" -msgstr "" - -#: ../../faq/programming.rst:1898 -msgid "Likewise, new instances of mutable containers are never identical::" -msgstr "" - -#: ../../faq/programming.rst:1900 -msgid "" -">>> a = []\n" -">>> b = []\n" -">>> a is b\n" -"False" -msgstr "" - -#: ../../faq/programming.rst:1905 -msgid "" -"In the standard library code, you will see several common patterns for " -"correctly using identity tests:" -msgstr "" - -#: ../../faq/programming.rst:1908 -msgid "" -"As recommended by :pep:`8`, an identity test is the preferred way to check " -"for ``None``. This reads like plain English in code and avoids confusion " -"with other objects that may have boolean values that evaluate to false." -msgstr "" - -#: ../../faq/programming.rst:1912 -msgid "" -"Detecting optional arguments can be tricky when ``None`` is a valid input " -"value. In those situations, you can create a singleton sentinel object " -"guaranteed to be distinct from other objects. For example, here is how to " -"implement a method that behaves like :meth:`dict.pop`:" -msgstr "" - -#: ../../faq/programming.rst:1917 -msgid "" -"_sentinel = object()\n" -"\n" -"def pop(self, key, default=_sentinel):\n" -" if key in self:\n" -" value = self[key]\n" -" del self[key]\n" -" return value\n" -" if default is _sentinel:\n" -" raise KeyError(key)\n" -" return default" -msgstr "" - -#: ../../faq/programming.rst:1930 -msgid "" -"Container implementations sometimes need to augment equality tests with " -"identity tests. This prevents the code from being confused by objects such " -"as ``float('NaN')`` that are not equal to themselves." -msgstr "" - -#: ../../faq/programming.rst:1934 -msgid "" -"For example, here is the implementation of " -":meth:`!collections.abc.Sequence.__contains__`::" -msgstr "" - -#: ../../faq/programming.rst:1937 -msgid "" -"def __contains__(self, value):\n" -" for v in self:\n" -" if v is value or v == value:\n" -" return True\n" -" return False" -msgstr "" - -#: ../../faq/programming.rst:1945 -msgid "" -"How can a subclass control what data is stored in an immutable instance?" -msgstr "" - -#: ../../faq/programming.rst:1947 -msgid "" -"When subclassing an immutable type, override the :meth:`~object.__new__` " -"method instead of the :meth:`~object.__init__` method. The latter only runs" -" *after* an instance is created, which is too late to alter data in an " -"immutable instance." -msgstr "" - -#: ../../faq/programming.rst:1952 -msgid "" -"All of these immutable classes have a different signature than their parent " -"class:" -msgstr "" - -#: ../../faq/programming.rst:1955 -msgid "" -"from datetime import date\n" -"\n" -"class FirstOfMonthDate(date):\n" -" \"Always choose the first day of the month\"\n" -" def __new__(cls, year, month, day):\n" -" return super().__new__(cls, year, month, 1)\n" -"\n" -"class NamedInt(int):\n" -" \"Allow text names for some numbers\"\n" -" xlat = {'zero': 0, 'one': 1, 'ten': 10}\n" -" def __new__(cls, value):\n" -" value = cls.xlat.get(value, value)\n" -" return super().__new__(cls, value)\n" -"\n" -"class TitleStr(str):\n" -" \"Convert str to name suitable for a URL path\"\n" -" def __new__(cls, s):\n" -" s = s.lower().replace(' ', '-')\n" -" s = ''.join([c for c in s if c.isalnum() or c == '-'])\n" -" return super().__new__(cls, s)" -msgstr "" - -#: ../../faq/programming.rst:1978 -msgid "The classes can be used like this:" -msgstr "" - -#: ../../faq/programming.rst:1980 -msgid "" -">>> FirstOfMonthDate(2012, 2, 14)\n" -"FirstOfMonthDate(2012, 2, 1)\n" -">>> NamedInt('ten')\n" -"10\n" -">>> NamedInt(20)\n" -"20\n" -">>> TitleStr('Blog: Why Python Rocks')\n" -"'blog-why-python-rocks'" -msgstr "" - -#: ../../faq/programming.rst:1995 -msgid "How do I cache method calls?" -msgstr "" - -#: ../../faq/programming.rst:1997 -msgid "" -"The two principal tools for caching methods are " -":func:`functools.cached_property` and :func:`functools.lru_cache`. The " -"former stores results at the instance level and the latter at the class " -"level." -msgstr "" - -#: ../../faq/programming.rst:2002 -msgid "" -"The *cached_property* approach only works with methods that do not take any " -"arguments. It does not create a reference to the instance. The cached " -"method result will be kept only as long as the instance is alive." -msgstr "" - -#: ../../faq/programming.rst:2006 -msgid "" -"The advantage is that when an instance is no longer used, the cached method " -"result will be released right away. The disadvantage is that if instances " -"accumulate, so too will the accumulated method results. They can grow " -"without bound." -msgstr "" - -#: ../../faq/programming.rst:2011 -msgid "" -"The *lru_cache* approach works with methods that have :term:`hashable` " -"arguments. It creates a reference to the instance unless special efforts " -"are made to pass in weak references." -msgstr "" - -#: ../../faq/programming.rst:2015 -msgid "" -"The advantage of the least recently used algorithm is that the cache is " -"bounded by the specified *maxsize*. The disadvantage is that instances are " -"kept alive until they age out of the cache or until the cache is cleared." -msgstr "" - -#: ../../faq/programming.rst:2020 -msgid "This example shows the various techniques::" -msgstr "" - -#: ../../faq/programming.rst:2022 -msgid "" -"class Weather:\n" -" \"Lookup weather information on a government website\"\n" -"\n" -" def __init__(self, station_id):\n" -" self._station_id = station_id\n" -" # The _station_id is private and immutable\n" -"\n" -" def current_temperature(self):\n" -" \"Latest hourly observation\"\n" -" # Do not cache this because old results\n" -" # can be out of date.\n" -"\n" -" @cached_property\n" -" def location(self):\n" -" \"Return the longitude/latitude coordinates of the station\"\n" -" # Result only depends on the station_id\n" -"\n" -" @lru_cache(maxsize=20)\n" -" def historic_rainfall(self, date, units='mm'):\n" -" \"Rainfall on a given date\"\n" -" # Depends on the station_id, date, and units." -msgstr "" - -#: ../../faq/programming.rst:2044 -msgid "" -"The above example assumes that the *station_id* never changes. If the " -"relevant instance attributes are mutable, the *cached_property* approach " -"can't be made to work because it cannot detect changes to the attributes." -msgstr "" - -#: ../../faq/programming.rst:2049 -msgid "" -"To make the *lru_cache* approach work when the *station_id* is mutable, the " -"class needs to define the :meth:`~object.__eq__` and " -":meth:`~object.__hash__` methods so that the cache can detect relevant " -"attribute updates::" -msgstr "" - -#: ../../faq/programming.rst:2053 -msgid "" -"class Weather:\n" -" \"Example with a mutable station identifier\"\n" -"\n" -" def __init__(self, station_id):\n" -" self.station_id = station_id\n" -"\n" -" def change_station(self, station_id):\n" -" self.station_id = station_id\n" -"\n" -" def __eq__(self, other):\n" -" return self.station_id == other.station_id\n" -"\n" -" def __hash__(self):\n" -" return hash(self.station_id)\n" -"\n" -" @lru_cache(maxsize=20)\n" -" def historic_rainfall(self, date, units='cm'):\n" -" 'Rainfall on a given date'\n" -" # Depends on the station_id, date, and units." -msgstr "" - -#: ../../faq/programming.rst:2075 -msgid "Modules" -msgstr "Modul-Modul" - -#: ../../faq/programming.rst:2078 -msgid "How do I create a .pyc file?" -msgstr "Bagaimana saya membuat berkas .pyc?" - -#: ../../faq/programming.rst:2080 -msgid "" -"When a module is imported for the first time (or when the source file has " -"changed since the current compiled file was created) a ``.pyc`` file " -"containing the compiled code should be created in a ``__pycache__`` " -"subdirectory of the directory containing the ``.py`` file. The ``.pyc`` " -"file will have a filename that starts with the same name as the ``.py`` " -"file, and ends with ``.pyc``, with a middle component that depends on the " -"particular ``python`` binary that created it. (See :pep:`3147` for " -"details.)" -msgstr "" - -#: ../../faq/programming.rst:2088 -msgid "" -"One reason that a ``.pyc`` file may not be created is a permissions problem " -"with the directory containing the source file, meaning that the " -"``__pycache__`` subdirectory cannot be created. This can happen, for " -"example, if you develop as one user but run as another, such as if you are " -"testing with a web server." -msgstr "" - -#: ../../faq/programming.rst:2093 -msgid "" -"Unless the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable is set, " -"creation of a .pyc file is automatic if you're importing a module and Python" -" has the ability (permissions, free space, etc...) to create a " -"``__pycache__`` subdirectory and write the compiled module to that " -"subdirectory." -msgstr "" - -#: ../../faq/programming.rst:2098 -msgid "" -"Running Python on a top level script is not considered an import and no " -"``.pyc`` will be created. For example, if you have a top-level module " -"``foo.py`` that imports another module ``xyz.py``, when you run ``foo`` (by " -"typing ``python foo.py`` as a shell command), a ``.pyc`` will be created for" -" ``xyz`` because ``xyz`` is imported, but no ``.pyc`` file will be created " -"for ``foo`` since ``foo.py`` isn't being imported." -msgstr "" - -#: ../../faq/programming.rst:2105 -msgid "" -"If you need to create a ``.pyc`` file for ``foo`` -- that is, to create a " -"``.pyc`` file for a module that is not imported -- you can, using the " -":mod:`py_compile` and :mod:`compileall` modules." -msgstr "" - -#: ../../faq/programming.rst:2109 -msgid "" -"The :mod:`py_compile` module can manually compile any module. One way is to" -" use the ``compile()`` function in that module interactively::" -msgstr "" - -#: ../../faq/programming.rst:2112 -msgid "" -">>> import py_compile\n" -">>> py_compile.compile('foo.py')" -msgstr "" - -#: ../../faq/programming.rst:2115 -msgid "" -"This will write the ``.pyc`` to a ``__pycache__`` subdirectory in the same " -"location as ``foo.py`` (or you can override that with the optional parameter" -" ``cfile``)." -msgstr "" - -#: ../../faq/programming.rst:2119 -msgid "" -"You can also automatically compile all files in a directory or directories " -"using the :mod:`compileall` module. You can do it from the shell prompt by " -"running ``compileall.py`` and providing the path of a directory containing " -"Python files to compile::" -msgstr "" - -#: ../../faq/programming.rst:2124 -msgid "python -m compileall ." -msgstr "" - -#: ../../faq/programming.rst:2128 -msgid "How do I find the current module name?" -msgstr "" - -#: ../../faq/programming.rst:2130 -msgid "" -"A module can find out its own module name by looking at the predefined " -"global variable ``__name__``. If this has the value ``'__main__'``, the " -"program is running as a script. Many modules that are usually used by " -"importing them also provide a command-line interface or a self-test, and " -"only execute this code after checking ``__name__``::" -msgstr "" - -#: ../../faq/programming.rst:2136 -msgid "" -"def main():\n" -" print('Running test...')\n" -" ...\n" -"\n" -"if __name__ == '__main__':\n" -" main()" -msgstr "" - -#: ../../faq/programming.rst:2145 -msgid "How can I have modules that mutually import each other?" -msgstr "" - -#: ../../faq/programming.rst:2147 -msgid "Suppose you have the following modules:" -msgstr "" - -#: ../../faq/programming.rst:2149 -msgid ":file:`foo.py`::" -msgstr "" - -#: ../../faq/programming.rst:2151 -msgid "" -"from bar import bar_var\n" -"foo_var = 1" -msgstr "" - -#: ../../faq/programming.rst:2154 -msgid ":file:`bar.py`::" -msgstr "" - -#: ../../faq/programming.rst:2156 -msgid "" -"from foo import foo_var\n" -"bar_var = 2" -msgstr "" - -#: ../../faq/programming.rst:2159 -msgid "The problem is that the interpreter will perform the following steps:" -msgstr "" - -#: ../../faq/programming.rst:2161 -msgid "main imports ``foo``" -msgstr "" - -#: ../../faq/programming.rst:2162 -msgid "Empty globals for ``foo`` are created" -msgstr "" - -#: ../../faq/programming.rst:2163 -msgid "``foo`` is compiled and starts executing" -msgstr "" - -#: ../../faq/programming.rst:2164 -msgid "``foo`` imports ``bar``" -msgstr "" - -#: ../../faq/programming.rst:2165 -msgid "Empty globals for ``bar`` are created" -msgstr "" - -#: ../../faq/programming.rst:2166 -msgid "``bar`` is compiled and starts executing" -msgstr "" - -#: ../../faq/programming.rst:2167 -msgid "" -"``bar`` imports ``foo`` (which is a no-op since there already is a module " -"named ``foo``)" -msgstr "" - -#: ../../faq/programming.rst:2168 -msgid "" -"The import mechanism tries to read ``foo_var`` from ``foo`` globals, to set " -"``bar.foo_var = foo.foo_var``" -msgstr "" - -#: ../../faq/programming.rst:2170 -msgid "" -"The last step fails, because Python isn't done with interpreting ``foo`` yet" -" and the global symbol dictionary for ``foo`` is still empty." -msgstr "" - -#: ../../faq/programming.rst:2173 -msgid "" -"The same thing happens when you use ``import foo``, and then try to access " -"``foo.foo_var`` in global code." -msgstr "" - -#: ../../faq/programming.rst:2176 -msgid "There are (at least) three possible workarounds for this problem." -msgstr "" - -#: ../../faq/programming.rst:2178 -msgid "" -"Guido van Rossum recommends avoiding all uses of ``from import " -"...``, and placing all code inside functions. Initializations of global " -"variables and class variables should use constants or built-in functions " -"only. This means everything from an imported module is referenced as " -"``.``." -msgstr "" - -#: ../../faq/programming.rst:2183 -msgid "" -"Jim Roskind suggests performing steps in the following order in each module:" -msgstr "" - -#: ../../faq/programming.rst:2185 -msgid "" -"exports (globals, functions, and classes that don't need imported base " -"classes)" -msgstr "" - -#: ../../faq/programming.rst:2187 -msgid "``import`` statements" -msgstr "pernyataan ``import``" - -#: ../../faq/programming.rst:2188 -msgid "" -"active code (including globals that are initialized from imported values)." -msgstr "" - -#: ../../faq/programming.rst:2190 -msgid "" -"Van Rossum doesn't like this approach much because the imports appear in a " -"strange place, but it does work." -msgstr "" - -#: ../../faq/programming.rst:2193 -msgid "" -"Matthias Urlichs recommends restructuring your code so that the recursive " -"import is not necessary in the first place." -msgstr "" - -#: ../../faq/programming.rst:2196 -msgid "These solutions are not mutually exclusive." -msgstr "" - -#: ../../faq/programming.rst:2200 -msgid "__import__('x.y.z') returns ; how do I get z?" -msgstr "" - -#: ../../faq/programming.rst:2202 -msgid "" -"Consider using the convenience function :func:`~importlib.import_module` " -"from :mod:`importlib` instead::" -msgstr "" - -#: ../../faq/programming.rst:2205 -msgid "z = importlib.import_module('x.y.z')" -msgstr "" - -#: ../../faq/programming.rst:2209 -msgid "" -"When I edit an imported module and reimport it, the changes don't show up. " -"Why does this happen?" -msgstr "" - -#: ../../faq/programming.rst:2211 -msgid "" -"For reasons of efficiency as well as consistency, Python only reads the " -"module file on the first time a module is imported. If it didn't, in a " -"program consisting of many modules where each one imports the same basic " -"module, the basic module would be parsed and re-parsed many times. To force" -" re-reading of a changed module, do this::" -msgstr "" - -#: ../../faq/programming.rst:2217 -msgid "" -"import importlib\n" -"import modname\n" -"importlib.reload(modname)" -msgstr "" - -#: ../../faq/programming.rst:2221 -msgid "" -"Warning: this technique is not 100% fool-proof. In particular, modules " -"containing statements like ::" -msgstr "" - -#: ../../faq/programming.rst:2224 -msgid "from modname import some_objects" -msgstr "" - -#: ../../faq/programming.rst:2226 -msgid "" -"will continue to work with the old version of the imported objects. If the " -"module contains class definitions, existing class instances will *not* be " -"updated to use the new class definition. This can result in the following " -"paradoxical behaviour::" -msgstr "" - -#: ../../faq/programming.rst:2231 -msgid "" -">>> import importlib\n" -">>> import cls\n" -">>> c = cls.C() # Create an instance of C\n" -">>> importlib.reload(cls)\n" -"\n" -">>> isinstance(c, cls.C) # isinstance is false?!?\n" -"False" -msgstr "" - -#: ../../faq/programming.rst:2239 -msgid "" -"The nature of the problem is made clear if you print out the \"identity\" of" -" the class objects::" -msgstr "Sifat masalah dibuat jelas jika Anda mencetak \"identitas\" objek kelas::" - -#: ../../faq/programming.rst:2242 -msgid "" -">>> hex(id(c.__class__))\n" -"'0x7352a0'\n" -">>> hex(id(cls.C))\n" -"'0x4198d0'" -msgstr "" - -#: ../../faq/programming.rst:408 -msgid "argument" -msgstr "argumen" - -#: ../../faq/programming.rst:408 -msgid "difference from parameter" -msgstr "" - -#: ../../faq/programming.rst:408 -msgid "parameter" -msgstr "parameter" - -#: ../../faq/programming.rst:408 -msgid "difference from argument" -msgstr "" diff --git a/python-newest.faq--windows/id.po b/python-newest.faq--windows/id.po deleted file mode 100644 index 08a8eab..0000000 --- a/python-newest.faq--windows/id.po +++ /dev/null @@ -1,564 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../faq/windows.rst:9 -msgid "Python on Windows FAQ" -msgstr "FAQ Python di Windows" - -#: ../../faq/windows.rst:12 -msgid "Contents" -msgstr "Konten" - -#: ../../faq/windows.rst:22 -msgid "How do I run a Python program under Windows?" -msgstr "Bagaimana cara mengoperasikan program Python di Windows?" - -#: ../../faq/windows.rst:24 -msgid "" -"This is not necessarily a straightforward question. If you are already " -"familiar with running programs from the Windows command line then everything" -" will seem obvious; otherwise, you might need a little more guidance." -msgstr "" -"Ini belum tentu pertanyaan langsung. Jika Anda sudahFamiliar dengan program " -"yang berjalan dari Windows command line maka semuanyaAkan tampak jelas; jika" -" tidak, Anda mungkin membutuhkan lebih banyak panduan. " - -#: ../../faq/windows.rst:28 -msgid "" -"Unless you use some sort of integrated development environment, you will end" -" up *typing* Windows commands into what is referred to as a \"Command prompt" -" window\". Usually you can create such a window from your search bar by " -"searching for ``cmd``. You should be able to recognize when you have " -"started such a window because you will see a Windows \"command prompt\", " -"which usually looks like this:" -msgstr "" - -#: ../../faq/windows.rst:35 -msgid "C:\\>" -msgstr "" - -#: ../../faq/windows.rst:39 -msgid "" -"The letter may be different, and there might be other things after it, so " -"you might just as easily see something like:" -msgstr "" -"Suratnya mungkin berbeda, dan mungkin ada hal lain setelahnya, jadi kamu " -"mungkin dapat dengan mudah melihat sesuatu seperti ini:" - -#: ../../faq/windows.rst:42 -msgid "D:\\YourName\\Projects\\Python>" -msgstr "" - -#: ../../faq/windows.rst:46 -msgid "" -"depending on how your computer has been set up and what else you have " -"recently done with it. Once you have started such a window, you are well on" -" the way to running Python programs." -msgstr "" -"tergantung pada bagaimana komputer Anda telah diatur dan apa lagi yang Anda " -"baru saja selesai dengan itu. Setelah Anda memulai sebuah window seperti " -"itu, Anda sudah siap menjalankan program Python." - -#: ../../faq/windows.rst:50 -msgid "" -"You need to realize that your Python scripts have to be processed by another" -" program called the Python *interpreter*. The interpreter reads your " -"script, compiles it into bytecodes, and then executes the bytecodes to run " -"your program. So, how do you arrange for the interpreter to handle your " -"Python?" -msgstr "" -"Anda perlu menyadari bahwa skrip Python Anda harus diproses oleh orang " -"program yang disebut dengan Python *interpreter*. Interpreter itu membaca " -"skrip anda, mengkompilasinya menjadi bytecode, dan kemudian mengeksekusi " -"bytecode untuk menjalankan program Anda. Jadi, bagaimana Anda mengatur " -"interpreter untuk menangani PythonAnda?" - -#: ../../faq/windows.rst:55 -msgid "" -"First, you need to make sure that your command window recognises the word " -"\"py\" as an instruction to start the interpreter. If you have opened a " -"command window, you should try entering the command ``py`` and hitting " -"return:" -msgstr "" -"Pertama, Anda perlu memastikan bahwa command window Anda mengenali kata " -"\"py\" sebagai instruksi untuk memulai penerjemah. Jika Anda telah membuka " -"command window, Anda dapat mengketik command ``py`` dan menekan kembali:" - -#: ../../faq/windows.rst:60 -msgid "C:\\Users\\YourName> py" -msgstr "" - -#: ../../faq/windows.rst:64 -msgid "You should then see something like:" -msgstr "Anda dapat melihat sesuatu tampak seperti ini:" - -#: ../../faq/windows.rst:66 -msgid "" -"Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32\n" -"Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n" -">>>" -msgstr "" - -#: ../../faq/windows.rst:72 -msgid "" -"You have started the interpreter in \"interactive mode\". That means you can" -" enter Python statements or expressions interactively and have them executed" -" or evaluated while you wait. This is one of Python's strongest features. " -"Check it by entering a few expressions of your choice and seeing the " -"results:" -msgstr "" -"Anda telah memulai penerjemah dalam \"mode interaktif\". Artinya kamu bisa " -"masuk ke dalam pernyataan atau ekspresi Python secara interaktif dan " -"mengeksekusi atau mengevaluasi selang Anda menunggu. Ini adalah salah satu " -"fitur terkuat Python. Periksa dengan memasukkan beberapa ekspresi pilihan " -"Anda dan melihat hasilnya:" - -#: ../../faq/windows.rst:77 -msgid "" -">>> print(\"Hello\")\n" -"Hello\n" -">>> \"Hello\" * 3\n" -"'HelloHelloHello'" -msgstr "" - -#: ../../faq/windows.rst:84 -msgid "" -"Many people use the interactive mode as a convenient yet highly programmable" -" calculator. When you want to end your interactive Python session, call the" -" :func:`exit` function or hold the :kbd:`Ctrl` key down while you enter a " -":kbd:`Z`, then hit the \":kbd:`Enter`\" key to get back to your Windows " -"command prompt." -msgstr "" -"Banyak orang menggunakan mode interaktif sebagai cara yang nyaman namun " -"sangat dapat diprogram kalulator. Saat Anda ingin mengakhiri sesi Python " -"interaktif Anda, panggil fungsi :func:`exit` atau tahan tombol :kbd:`Ctrl` " -"saat anda menekan tombol :kbd:`Z`, lalu tekan \":kbd:`Enter`\" untuk kembali" -" ke Windows command prompt Anda." - -#: ../../faq/windows.rst:90 -msgid "" -"You may also find that you have a Start-menu entry such as " -":menuselection:`Start --> Programs --> Python 3.x --> Python (command line)`" -" that results in you seeing the ``>>>`` prompt in a new window. If so, the " -"window will disappear after you call the :func:`exit` function or enter the " -":kbd:`Ctrl-Z` character; Windows is running a single \"python\" command in " -"the window, and closes it when you terminate the interpreter." -msgstr "" -"Anda mungkin juga menemukan bahwa Anda memiliki entri Start-menu seperti " -":menuselection:`Start --> Programs --> Python 3.x --> Python (command " -"line)` yang mengakibatkan Anda melihat prompt ``>>>`` di jendela baru. Jika" -" demikian, jendela tersebut akan menghilang setelah anda memanggil fungsi " -":func:`exit` atau menekan :kbd:`Ctrl-Z` karakter; Windows menjalankan satu " -"perintah \"python\" di jendela tersebut, dan tutup itu ketika anda akan " -"mengakhiri interpreter." - -#: ../../faq/windows.rst:97 -msgid "" -"Now that we know the ``py`` command is recognized, you can give your Python " -"script to it. You'll have to give either an absolute or a relative path to " -"the Python script. Let's say your Python script is located in your desktop " -"and is named ``hello.py``, and your command prompt is nicely opened in your " -"home directory so you're seeing something similar to::" -msgstr "" -"Sekarang kita tahu bahwa perintah ``py`` dikenali, Anda dapat memberikan hal" -" tersebut ke dalam Python script. Anda harus memberikan jalur absolut atau " -"relatif ke Python skrip tersebut. Katakanlah skrip Python Anda ada di " -"desktop Anda dan itu bernama ``hello.py``. dan command prompt Anda terbuka " -"di direktori home jadi anda dapat tampak melihat sesuatu familiar seperti::" - -#: ../../faq/windows.rst:104 -msgid "C:\\Users\\YourName>" -msgstr "" - -#: ../../faq/windows.rst:106 -msgid "" -"So now you'll ask the ``py`` command to give your script to Python by typing" -" ``py`` followed by your script path::" -msgstr "" -"Jadi sekarang Anda akan meminta perintah ``py`` untuk memberikan skrip Anda " -"ke Python dengan mengetik ``py`` yang dilanjuti dengan jalur skrip Anda::" - -#: ../../faq/windows.rst:110 -msgid "" -"C:\\Users\\YourName> py Desktop\\hello.py\n" -"hello" -msgstr "" - -#: ../../faq/windows.rst:114 -msgid "How do I make Python scripts executable?" -msgstr "Bagaimana cara saya membuat skrip Python dapat dieksekusi?" - -#: ../../faq/windows.rst:116 -msgid "" -"On Windows, the standard Python installer already associates the .py " -"extension with a file type (Python.File) and gives that file type an open " -"command that runs the interpreter (``D:\\Program Files\\Python\\python.exe " -"\"%1\" %*``). This is enough to make scripts executable from the command " -"prompt as 'foo.py'. If you'd rather be able to execute the script by simple" -" typing 'foo' with no extension you need to add .py to the PATHEXT " -"environment variable." -msgstr "" -"Di Windows, standar penginstal Python sudah diasosiasikan dengan .py " -"ekstensi dengan tipe file (Python.File) dan memberikan tipe file tersebut " -"untuk membuka command yang menjalankan interpreter (``D:\\Program " -"Files\\Python\\python.exe \"%1\" %*``). Ini cukup untuk membuat skrip dapat " -"dieksekusi dari perintah simpel dengan mengketik 'foo' tanpa ekstensi yang " -"perlu Anda tambahkan .py di PATHEXT environment variable." - -#: ../../faq/windows.rst:124 -msgid "Why does Python sometimes take so long to start?" -msgstr "Mengapa Python terkadang membutuhkan waktu lama untuk memulai?" - -#: ../../faq/windows.rst:126 -msgid "" -"Usually Python starts very quickly on Windows, but occasionally there are " -"bug reports that Python suddenly begins to take a long time to start up. " -"This is made even more puzzling because Python will work fine on other " -"Windows systems which appear to be configured identically." -msgstr "" -"Biasanya, Python terbuka sangat cepat di Windows, tetapi terkadang ada " -"laporan bug bahwa Python tiba-tiba mulai membutuhkan waktu lama untuk " -"memulai. Ini menjadi lebih membingungkan karena Python akan berfungsi dengan" -" baik pada Windows sistem yang lain yang mana secara identikal " -"terkonfigurasi." - -#: ../../faq/windows.rst:131 -msgid "" -"The problem may be caused by a misconfiguration of virus checking software " -"on the problem machine. Some virus scanners have been known to introduce " -"startup overhead of two orders of magnitude when the scanner is configured " -"to monitor all reads from the filesystem. Try checking the configuration of" -" virus scanning software on your systems to ensure that they are indeed " -"configured identically. McAfee, when configured to scan all file system read" -" activity, is a particular offender." -msgstr "" -"Masalahnya mungkin disebabkan oleh kesalahan konfigurasi perangkat lunak " -"pemeriksaan virus di mesin masalah. Beberapa pemindai virus telah diketahui " -"memperkenalkan overhead startup dua kali lipat saat pemindai dikonfigurasi " -"untuk memantau semua pembacaan dari sistem file. Coba periksa konfigurasi " -"dari perangkat lunak pemindaian virus pada sistem Anda untuk memastikan " -"bahwa perangkat memang benar terkonfigurasi secara identik. McAfee, ketika " -"dikonfigurasi untuk memindai semua aktivitas baca dari sistem file " -"aktivitas, adalah pelaku tertentu." - -#: ../../faq/windows.rst:141 -msgid "How do I make an executable from a Python script?" -msgstr "Bagaimana cara membuat sebuah executable dari skrip Python?" - -#: ../../faq/windows.rst:143 -msgid "" -"See :ref:`faq-create-standalone-binary` for a list of tools that can be used" -" to make executables." -msgstr "" -"Lihat :ref:`faq-create-standalone-binary` untuk daftar perkakas yang dapat " -"digunakan membuat aplikasi yang dapat dieksekusi." - -#: ../../faq/windows.rst:148 -msgid "Is a ``*.pyd`` file the same as a DLL?" -msgstr "Apakah file ``*.pyd`` sama dengan DLL?" - -#: ../../faq/windows.rst:150 -msgid "" -"Yes, .pyd files are dll's, but there are a few differences. If you have a " -"DLL named ``foo.pyd``, then it must have a function ``PyInit_foo()``. You " -"can then write Python \"import foo\", and Python will search for foo.pyd (as" -" well as foo.py, foo.pyc) and if it finds it, will attempt to call " -"``PyInit_foo()`` to initialize it. You do not link your .exe with foo.lib, " -"as that would cause Windows to require the DLL to be present." -msgstr "" -"Ya, .pyd file merupakan bagian dari dll, tapi dengan sedikit perbedaan. Jika" -" kamu mempunyai DLL bernama ``foo.pyd``, kana itu pasti sebuah fungsi dari " -"``PyInit_foo()``. Anda dapat menulis Python \"import foo\", dan Python akan " -"mencari untuk foo.pyd(dan juga foo.py, foo.pyc) dan jika itu ditemukan, maka" -" akan memanggil ``PyInit_foo()`` untuk segera diinisalisasikan. Anda tidak " -"menautkan .exe Anda dengan foo.lib, karena hal itu akan menyebabkan Windows " -"memerlukan DLL." - -#: ../../faq/windows.rst:157 -msgid "" -"Note that the search path for foo.pyd is PYTHONPATH, not the same as the " -"path that Windows uses to search for foo.dll. Also, foo.pyd need not be " -"present to run your program, whereas if you linked your program with a dll, " -"the dll is required. Of course, foo.pyd is required if you want to say " -"``import foo``. In a DLL, linkage is declared in the source code with " -"``__declspec(dllexport)``. In a .pyd, linkage is defined in a list of " -"available functions." -msgstr "" -"Perhatikan bahwa jalur pencarian untuk foo.pyd adalah PYTHONPATH, tidak sama" -" dengan jalur yang digunakan Windows untuk mencari foo.dll. Selain itu, " -"foo.pyd tidak perlu hadir untuk menjalankan program Anda, sedangkan jika " -"Anda menautkan program Anda dengan dll, dll diperlukan. Tentu saja, foo.pyd " -"diperlukan jika Anda ingin mengatakannya ``import foo``. Di file DLL, " -"keterkaitan dideklarasikan dalam kode sumber dengan " -"``__declspec(dllexport)``. Di file .pyd, keterkaitan didefinisikan sebagai " -"sebuah list dari fungsi yang tersedia." - -#: ../../faq/windows.rst:166 -msgid "How can I embed Python into a Windows application?" -msgstr "Bagaimana cara memasukkan Python ke dalam aplikasi Windows?" - -#: ../../faq/windows.rst:168 -msgid "" -"Embedding the Python interpreter in a Windows app can be summarized as " -"follows:" -msgstr "" -"Menyematkan interpreter Python di aplikasi Windows dapat diringkas menjadi " -"sebagai:" - -#: ../../faq/windows.rst:170 -msgid "" -"Do **not** build Python into your .exe file directly. On Windows, Python " -"must be a DLL to handle importing modules that are themselves DLL's. (This " -"is the first key undocumented fact.) Instead, link to " -":file:`python{NN}.dll`; it is typically installed in " -"``C:\\Windows\\System``. *NN* is the Python version, a number such as " -"\"33\" for Python 3.3." -msgstr "" - -#: ../../faq/windows.rst:176 -msgid "" -"You can link to Python in two different ways. Load-time linking means " -"linking against :file:`python{NN}.lib`, while run-time linking means linking" -" against :file:`python{NN}.dll`. (General note: :file:`python{NN}.lib` is " -"the so-called \"import lib\" corresponding to :file:`python{NN}.dll`. It " -"merely defines symbols for the linker.)" -msgstr "" -"Anda dapat menautkan ke Python dengan dua cara berbeda. Alat penautan waktu " -"muat menautkan ke :file:`python{NN}.lib`, sedangkan penautan run-time " -"berarti menautkan kedalam :file:`python{NN}.dll`. (Catatan umum: " -":file:`python{NN}.lib` adalah file yang disebut dengan \"import lib\" sesuai" -" dengan :file:`python{NN}.dll`. itu hanya mendefinisikan simbol untuk " -"linker.)" - -#: ../../faq/windows.rst:182 -msgid "" -"Run-time linking greatly simplifies link options; everything happens at run " -"time. Your code must load :file:`python{NN}.dll` using the Windows " -"``LoadLibraryEx()`` routine. The code must also use access routines and " -"data in :file:`python{NN}.dll` (that is, Python's C API's) using pointers " -"obtained by the Windows ``GetProcAddress()`` routine. Macros can make using" -" these pointers transparent to any C code that calls routines in Python's C " -"API." -msgstr "" -"Tautan run-time sangat menyederhanakan opsi tautan; semuanya terjadi saat " -"runtime. Kode anda harus dibuka :file:`python{NN}.dll` dengan menggunakan " -"Windows ``LoadLibraryEx()``. Kode juga harus menggunakan rutinitas akses dan" -" data di :file:`python{NN}.dll` (yaitu, C API Python) menggunakan pointer " -"yang didapatkan dari Windows ``GetProcAddress()``. Makro dapat dibuat dengan" -" menggunakan pointer tersebut ke kode C apapun yang memanggil rutinitas di C" -" Python API." - -#: ../../faq/windows.rst:191 -msgid "" -"If you use SWIG, it is easy to create a Python \"extension module\" that " -"will make the app's data and methods available to Python. SWIG will handle " -"just about all the grungy details for you. The result is C code that you " -"link *into* your .exe file (!) You do **not** have to create a DLL file, " -"and this also simplifies linking." -msgstr "" - -#: ../../faq/windows.rst:197 -msgid "" -"SWIG will create an init function (a C function) whose name depends on the " -"name of the extension module. For example, if the name of the module is " -"leo, the init function will be called initleo(). If you use SWIG shadow " -"classes, as you should, the init function will be called initleoc(). This " -"initializes a mostly hidden helper class used by the shadow class." -msgstr "" -"SWIG akan membuat fungsi init (fungsi C) yang namanya bergantung pada nama " -"modul ekstensi. Misalnya, jika nama modulnya adalah leo, fungsi init akan " -"dipanggil initleo(). Jika Anda menggunakan bayangan SWIG kelas, sebagaimana " -"seharusnya, fungsi init akan dipanggil initleoc(). Ini menginisialisasi " -"kelas pembantu yang sebagian besar tersembunyi yang digunakan oleh kelas " -"bayangan." - -#: ../../faq/windows.rst:203 -msgid "" -"The reason you can link the C code in step 2 into your .exe file is that " -"calling the initialization function is equivalent to importing the module " -"into Python! (This is the second key undocumented fact.)" -msgstr "" -"Alasan Anda dapat menautkan kode C pada langkah 2 ke file .exe Anda adalah " -"itu memanggil fungsi inisialisasi sama dengan mengimpor modul ke dalam " -"Python! (Ini adalah fakta kunci tak terdokumentasi kedua.)" - -#: ../../faq/windows.rst:207 -msgid "" -"In short, you can use the following code to initialize the Python " -"interpreter with your extension module." -msgstr "" -"Singkatnya, Anda dapat menggunakan kode berikut untuk menginisialisasi " -"Python interpreter dengan ekstensi modul Anda." - -#: ../../faq/windows.rst:210 -msgid "" -"#include \n" -"...\n" -"Py_Initialize(); // Initialize Python.\n" -"initmyAppc(); // Initialize (import) the helper class.\n" -"PyRun_SimpleString(\"import myApp\"); // Import the shadow class." -msgstr "" - -#: ../../faq/windows.rst:218 -msgid "" -"There are two problems with Python's C API which will become apparent if you" -" use a compiler other than MSVC, the compiler used to build pythonNN.dll." -msgstr "" -"Ada dua masalah dengan C API Python yang akan terlihat jika Andamenggunakan " -"kompilator selain MSVC, kompilator yang digunakan untuk membangun " -"pythonNN.dll." - -#: ../../faq/windows.rst:221 -msgid "" -"Problem 1: The so-called \"Very High Level\" functions that take ``FILE *`` " -"arguments will not work in a multi-compiler environment because each " -"compiler's notion of a ``struct FILE`` will be different. From an " -"implementation standpoint these are very low level functions." -msgstr "" - -#: ../../faq/windows.rst:226 -msgid "" -"Problem 2: SWIG generates the following code when generating wrappers to " -"void functions:" -msgstr "" -"Masalah 2: SWIG menghasilkan kode berikut saat membuat wrappers ke dalam " -"fungsi void:" - -#: ../../faq/windows.rst:229 -msgid "" -"Py_INCREF(Py_None);\n" -"_resultobj = Py_None;\n" -"return _resultobj;" -msgstr "" - -#: ../../faq/windows.rst:235 -msgid "" -"Alas, Py_None is a macro that expands to a reference to a complex data " -"structure called _Py_NoneStruct inside pythonNN.dll. Again, this code will " -"fail in a mult-compiler environment. Replace such code by:" -msgstr "" -"Sayangnya, Py_None adalah makro yang meluas ke referensi ke data kompleks " -"struktur yang disebut _Py_NoneStruct di dalam pythonNN.dll. Sekali lagi, " -"kode ini akan gagal di lingkungan mult-compiler. Ganti kode tersebut dengan:" - -#: ../../faq/windows.rst:239 -msgid "return Py_BuildValue(\"\");" -msgstr "" - -#: ../../faq/windows.rst:243 -msgid "" -"It may be possible to use SWIG's ``%typemap`` command to make the change " -"automatically, though I have not been able to get this to work (I'm a " -"complete SWIG newbie)." -msgstr "" -"Dimungkinkan untuk menggunakan perintah ``%typemap`` SWIG untuk membuat " -"perubahan secara otomatis, meskipun saya belum bisa membuat ini berfungsi " -"(saya adalah pemula SWIG)." - -#: ../../faq/windows.rst:247 -msgid "" -"Using a Python shell script to put up a Python interpreter window from " -"inside your Windows app is not a good idea; the resulting window will be " -"independent of your app's windowing system. Rather, you (or the " -"wxPythonWindow class) should create a \"native\" interpreter window. It is " -"easy to connect that window to the Python interpreter. You can redirect " -"Python's i/o to _any_ object that supports read and write, so all you need " -"is a Python object (defined in your extension module) that contains read() " -"and write() methods." -msgstr "" -"Menggunakan skrip shell Python untuk memasang jendela interpreter Python di " -"dalam aplikasi Windows Anda bukanlah ide yang bagus; jendela yang dihasilkan" -" akan menjadi terlepas dari sistem windowing aplikasi Anda. Sebaliknya, Anda" -" (atau wxPythonWindow) harus membuat jendela penerjemah \"native\". ini " -"mudah untuk menghubungkan jendela itu ke interpreter Python. Anda dapat " -"mengalihkan Objek i/o ke _any_ Python yang mendukung baca dan tulis, jadi " -"semua yang Anda butuhkan adalah objek Python (didefinisikan dalam modul " -"ekstensi Anda) yang berisi metode read() dan write()." - -#: ../../faq/windows.rst:256 -msgid "How do I keep editors from inserting tabs into my Python source?" -msgstr "" -"Bagaimana cara mencegah editor memasukkan tab ke dalam sumber Python saya?" - -#: ../../faq/windows.rst:258 -msgid "" -"The FAQ does not recommend using tabs, and the Python style guide, :pep:`8`," -" recommends 4 spaces for distributed Python code; this is also the Emacs " -"python-mode default." -msgstr "" -"FAQ tidak merekomendasikan penggunaan tab, dan panduan gaya Python, " -":pep:`8`, merekomendasikan dengan 4 spasi untuk distribusi kode Python; ini " -"juga Emacs python-mode secara default." - -#: ../../faq/windows.rst:262 -msgid "" -"Under any editor, mixing tabs and spaces is a bad idea. MSVC is no " -"different in this respect, and is easily configured to use spaces: Take " -":menuselection:`Tools --> Options --> Tabs`, and for file type \"Default\" " -"set \"Tab size\" and \"Indent size\" to 4, and select the \"Insert spaces\" " -"radio button." -msgstr "" -"Di bawah editor apa pun, mencampur tab dan spasi adalah ide yang buruk. MSVC" -" adalah berbeda dalam hal ini, dan mudah dikonfigurasi untuk menggunakan " -"spasi: Ambil :menuselection:`Tools --> Options --> Tabs`, dan untuk file " -"tipe \"Default\" set \"Tab size\" dan \"Indent size\" menjadi 4, dan pilih " -"\"Insert spaces\" tombol radio." - -#: ../../faq/windows.rst:267 -msgid "" -"Python raises :exc:`IndentationError` or :exc:`TabError` if mixed tabs and " -"spaces are causing problems in leading whitespace. You may also run the " -":mod:`tabnanny` module to check a directory tree in batch mode." -msgstr "" -"Python akan memunculkan :exc:`IndentationError` atau :exc:`TabError` jika " -"terdapat gabugan antaratabs dan spasi yang menyebabkan masalah dalam spasi. " -"Anda juga dapat menjalankan :mod:`tabnanny` modul untuk mengecek sebuah " -"direktori di mode batch." - -#: ../../faq/windows.rst:274 -msgid "How do I check for a keypress without blocking?" -msgstr "Bagaimana cara memeriksa tombol yang ditekan tanpa memblokir?" - -#: ../../faq/windows.rst:276 -msgid "" -"Use the :mod:`msvcrt` module. This is a standard Windows-specific extension" -" module. It defines a function ``kbhit()`` which checks whether a keyboard " -"hit is present, and ``getch()`` which gets one character without echoing it." -msgstr "" -"Gunakan modul msvcrt. Ini adalah ekstensi khusus Windows standar modul. Ini " -"mendefinisikan fungsi ``kbhit()`` yang memeriksa apakah keyboard menekan, " -"dan ``getch()`` yang mendapat satu karakter tanpa mengulanginya." - -#: ../../faq/windows.rst:281 -msgid "How do I solve the missing api-ms-win-crt-runtime-l1-1-0.dll error?" -msgstr "" - -#: ../../faq/windows.rst:283 -msgid "" -"This can occur on Python 3.5 and later when using Windows 8.1 or earlier " -"without all updates having been installed. First ensure your operating " -"system is supported and is up to date, and if that does not resolve the " -"issue, visit the `Microsoft support page `_ for guidance on manually installing the C Runtime " -"update." -msgstr "" diff --git a/python-newest.glossary_/id.po b/python-newest.glossary_/id.po deleted file mode 100644 index 08bca03..0000000 --- a/python-newest.glossary_/id.po +++ /dev/null @@ -1,2634 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2021 -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2021 -# oon arfiandwi (OonID) , 2024 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../glossary.rst:5 -msgid "Glossary" -msgstr "Ikhtisar" - -#: ../../glossary.rst:10 -msgid "``>>>``" -msgstr "``>>>``" - -#: ../../glossary.rst:12 -msgid "" -"The default Python prompt of the :term:`interactive` shell. Often seen for " -"code examples which can be executed interactively in the interpreter." -msgstr "" - -#: ../../glossary.rst:15 -msgid "``...``" -msgstr "``...``" - -#: ../../glossary.rst:17 -msgid "Can refer to:" -msgstr "Dapat mengacu ke:" - -#: ../../glossary.rst:19 -msgid "" -"The default Python prompt of the :term:`interactive` shell when entering the" -" code for an indented code block, when within a pair of matching left and " -"right delimiters (parentheses, square brackets, curly braces or triple " -"quotes), or after specifying a decorator." -msgstr "" - -#: ../../glossary.rst:24 -msgid "The :const:`Ellipsis` built-in constant." -msgstr "Konstanta :const:`Ellipsis` bawaan." - -#: ../../glossary.rst:25 -msgid "abstract base class" -msgstr "kelas basis abstrak" - -#: ../../glossary.rst:27 -msgid "" -"Abstract base classes complement :term:`duck-typing` by providing a way to " -"define interfaces when other techniques like :func:`hasattr` would be clumsy" -" or subtly wrong (for example with :ref:`magic methods `). " -"ABCs introduce virtual subclasses, which are classes that don't inherit from" -" a class but are still recognized by :func:`isinstance` and " -":func:`issubclass`; see the :mod:`abc` module documentation. Python comes " -"with many built-in ABCs for data structures (in the :mod:`collections.abc` " -"module), numbers (in the :mod:`numbers` module), streams (in the :mod:`io` " -"module), import finders and loaders (in the :mod:`importlib.abc` module). " -"You can create your own ABCs with the :mod:`abc` module." -msgstr "" - -#: ../../glossary.rst:38 -msgid "annotate function" -msgstr "" - -#: ../../glossary.rst:40 -msgid "" -"A function that can be called to retrieve the :term:`annotations " -"` of an object. This function is accessible as the " -":attr:`~object.__annotate__` attribute of functions, classes, and modules. " -"Annotate functions are a subset of :term:`evaluate functions `." -msgstr "" - -#: ../../glossary.rst:44 -msgid "annotation" -msgstr "anotasi" - -#: ../../glossary.rst:46 -msgid "" -"A label associated with a variable, a class attribute or a function " -"parameter or return value, used by convention as a :term:`type hint`." -msgstr "" - -#: ../../glossary.rst:50 -msgid "" -"Annotations of local variables cannot be accessed at runtime, but " -"annotations of global variables, class attributes, and functions can be " -"retrieved by calling :func:`annotationlib.get_annotations` on modules, " -"classes, and functions, respectively." -msgstr "" - -#: ../../glossary.rst:55 -msgid "" -"See :term:`variable annotation`, :term:`function annotation`, :pep:`484`, " -":pep:`526`, and :pep:`649`, which describe this functionality. Also see " -":ref:`annotations-howto` for best practices on working with annotations." -msgstr "" - -#: ../../glossary.rst:59 -msgid "argument" -msgstr "argumen" - -#: ../../glossary.rst:61 -msgid "" -"A value passed to a :term:`function` (or :term:`method`) when calling the " -"function. There are two kinds of argument:" -msgstr "" - -#: ../../glossary.rst:64 -msgid "" -":dfn:`keyword argument`: an argument preceded by an identifier (e.g. " -"``name=``) in a function call or passed as a value in a dictionary preceded " -"by ``**``. For example, ``3`` and ``5`` are both keyword arguments in the " -"following calls to :func:`complex`::" -msgstr "" - -#: ../../glossary.rst:69 -msgid "" -"complex(real=3, imag=5)\n" -"complex(**{'real': 3, 'imag': 5})" -msgstr "" - -#: ../../glossary.rst:72 -msgid "" -":dfn:`positional argument`: an argument that is not a keyword argument. " -"Positional arguments can appear at the beginning of an argument list and/or " -"be passed as elements of an :term:`iterable` preceded by ``*``. For example," -" ``3`` and ``5`` are both positional arguments in the following calls::" -msgstr "" - -#: ../../glossary.rst:78 -msgid "" -"complex(3, 5)\n" -"complex(*(3, 5))" -msgstr "" - -#: ../../glossary.rst:81 -msgid "" -"Arguments are assigned to the named local variables in a function body. See " -"the :ref:`calls` section for the rules governing this assignment. " -"Syntactically, any expression can be used to represent an argument; the " -"evaluated value is assigned to the local variable." -msgstr "" - -#: ../../glossary.rst:86 -msgid "" -"See also the :term:`parameter` glossary entry, the FAQ question on :ref:`the" -" difference between arguments and parameters `, " -"and :pep:`362`." -msgstr "" - -#: ../../glossary.rst:89 -msgid "asynchronous context manager" -msgstr "manajer konteks asinkron" - -#: ../../glossary.rst:91 -msgid "" -"An object which controls the environment seen in an :keyword:`async with` " -"statement by defining :meth:`~object.__aenter__` and " -":meth:`~object.__aexit__` methods. Introduced by :pep:`492`." -msgstr "" - -#: ../../glossary.rst:94 -msgid "asynchronous generator" -msgstr "pembangkit asinkron" - -#: ../../glossary.rst:96 -msgid "" -"A function which returns an :term:`asynchronous generator iterator`. It " -"looks like a coroutine function defined with :keyword:`async def` except " -"that it contains :keyword:`yield` expressions for producing a series of " -"values usable in an :keyword:`async for` loop." -msgstr "" - -#: ../../glossary.rst:101 -msgid "" -"Usually refers to an asynchronous generator function, but may refer to an " -"*asynchronous generator iterator* in some contexts. In cases where the " -"intended meaning isn't clear, using the full terms avoids ambiguity." -msgstr "" - -#: ../../glossary.rst:105 -msgid "" -"An asynchronous generator function may contain :keyword:`await` expressions " -"as well as :keyword:`async for`, and :keyword:`async with` statements." -msgstr "" - -#: ../../glossary.rst:108 -msgid "asynchronous generator iterator" -msgstr "iterator generator asinkron" - -#: ../../glossary.rst:110 -msgid "An object created by a :term:`asynchronous generator` function." -msgstr "Sebuah objek dibuat oleh fungsi :term:`asynchronous generator`." - -#: ../../glossary.rst:112 -msgid "" -"This is an :term:`asynchronous iterator` which when called using the " -":meth:`~object.__anext__` method returns an awaitable object which will " -"execute the body of the asynchronous generator function until the next " -":keyword:`yield` expression." -msgstr "" - -#: ../../glossary.rst:117 -msgid "" -"Each :keyword:`yield` temporarily suspends processing, remembering the " -"execution state (including local variables and pending try-statements). " -"When the *asynchronous generator iterator* effectively resumes with another " -"awaitable returned by :meth:`~object.__anext__`, it picks up where it left " -"off. See :pep:`492` and :pep:`525`." -msgstr "" - -#: ../../glossary.rst:122 -msgid "asynchronous iterable" -msgstr "" - -#: ../../glossary.rst:124 -msgid "" -"An object, that can be used in an :keyword:`async for` statement. Must " -"return an :term:`asynchronous iterator` from its :meth:`~object.__aiter__` " -"method. Introduced by :pep:`492`." -msgstr "" - -#: ../../glossary.rst:127 -msgid "asynchronous iterator" -msgstr "iterator asinkron" - -#: ../../glossary.rst:129 -msgid "" -"An object that implements the :meth:`~object.__aiter__` and " -":meth:`~object.__anext__` methods. :meth:`~object.__anext__` must return an" -" :term:`awaitable` object. :keyword:`async for` resolves the awaitables " -"returned by an asynchronous iterator's :meth:`~object.__anext__` method " -"until it raises a :exc:`StopAsyncIteration` exception. Introduced by " -":pep:`492`." -msgstr "" - -#: ../../glossary.rst:134 -msgid "attached thread state" -msgstr "" - -#: ../../glossary.rst:137 -msgid "A :term:`thread state` that is active for the current OS thread." -msgstr "" - -#: ../../glossary.rst:139 -msgid "" -"When a :term:`thread state` is attached, the OS thread has access to the " -"full Python C API and can safely invoke the bytecode interpreter." -msgstr "" - -#: ../../glossary.rst:143 -msgid "" -"Unless a function explicitly notes otherwise, attempting to call the C API " -"without an attached thread state will result in a fatal error or undefined " -"behavior. A thread state can be attached and detached explicitly by the " -"user through the C API, or implicitly by the runtime, including during " -"blocking C calls and by the bytecode interpreter in between calls." -msgstr "" - -#: ../../glossary.rst:150 -msgid "" -"On most builds of Python, having an attached thread state implies that the " -"caller holds the :term:`GIL` for the current interpreter, so only one OS " -"thread can have an attached thread state at a given moment. In :term:`free-" -"threaded ` builds of Python, threads can concurrently hold " -"an attached thread state, allowing for true parallelism of the bytecode " -"interpreter." -msgstr "" - -#: ../../glossary.rst:156 -msgid "attribute" -msgstr "atribut" - -#: ../../glossary.rst:158 -msgid "" -"A value associated with an object which is usually referenced by name using " -"dotted expressions. For example, if an object *o* has an attribute *a* it " -"would be referenced as *o.a*." -msgstr "" - -#: ../../glossary.rst:163 -msgid "" -"It is possible to give an object an attribute whose name is not an " -"identifier as defined by :ref:`identifiers`, for example using " -":func:`setattr`, if the object allows it. Such an attribute will not be " -"accessible using a dotted expression, and would instead need to be retrieved" -" with :func:`getattr`." -msgstr "" - -#: ../../glossary.rst:168 -msgid "awaitable" -msgstr "menunggu" - -#: ../../glossary.rst:170 -msgid "" -"An object that can be used in an :keyword:`await` expression. Can be a " -":term:`coroutine` or an object with an :meth:`~object.__await__` method. See" -" also :pep:`492`." -msgstr "" - -#: ../../glossary.rst:173 -msgid "BDFL" -msgstr "BDFL" - -#: ../../glossary.rst:175 -msgid "" -"Benevolent Dictator For Life, a.k.a. `Guido van Rossum " -"`_, Python's creator." -msgstr "" - -#: ../../glossary.rst:177 -msgid "binary file" -msgstr "berkas biner" - -#: ../../glossary.rst:179 -msgid "" -"A :term:`file object` able to read and write :term:`bytes-like objects " -"`. Examples of binary files are files opened in binary " -"mode (``'rb'``, ``'wb'`` or ``'rb+'``), :data:`sys.stdin.buffer " -"`, :data:`sys.stdout.buffer `, and instances of " -":class:`io.BytesIO` and :class:`gzip.GzipFile`." -msgstr "" - -#: ../../glossary.rst:186 -msgid "" -"See also :term:`text file` for a file object able to read and write " -":class:`str` objects." -msgstr "" - -#: ../../glossary.rst:188 -msgid "borrowed reference" -msgstr "" - -#: ../../glossary.rst:190 -msgid "" -"In Python's C API, a borrowed reference is a reference to an object, where " -"the code using the object does not own the reference. It becomes a dangling " -"pointer if the object is destroyed. For example, a garbage collection can " -"remove the last :term:`strong reference` to the object and so destroy it." -msgstr "" - -#: ../../glossary.rst:196 -msgid "" -"Calling :c:func:`Py_INCREF` on the :term:`borrowed reference` is recommended" -" to convert it to a :term:`strong reference` in-place, except when the " -"object cannot be destroyed before the last usage of the borrowed reference. " -"The :c:func:`Py_NewRef` function can be used to create a new :term:`strong " -"reference`." -msgstr "" - -#: ../../glossary.rst:201 -msgid "bytes-like object" -msgstr "" - -#: ../../glossary.rst:203 -msgid "" -"An object that supports the :ref:`bufferobjects` and can export a " -"C-:term:`contiguous` buffer. This includes all :class:`bytes`, " -":class:`bytearray`, and :class:`array.array` objects, as well as many common" -" :class:`memoryview` objects. Bytes-like objects can be used for various " -"operations that work with binary data; these include compression, saving to " -"a binary file, and sending over a socket." -msgstr "" - -#: ../../glossary.rst:210 -msgid "" -"Some operations need the binary data to be mutable. The documentation often" -" refers to these as \"read-write bytes-like objects\". Example mutable " -"buffer objects include :class:`bytearray` and a :class:`memoryview` of a " -":class:`bytearray`. Other operations require the binary data to be stored in" -" immutable objects (\"read-only bytes-like objects\"); examples of these " -"include :class:`bytes` and a :class:`memoryview` of a :class:`bytes` object." -msgstr "" - -#: ../../glossary.rst:218 -msgid "bytecode" -msgstr "bytecode" - -#: ../../glossary.rst:220 -msgid "" -"Python source code is compiled into bytecode, the internal representation of" -" a Python program in the CPython interpreter. The bytecode is also cached " -"in ``.pyc`` files so that executing the same file is faster the second time " -"(recompilation from source to bytecode can be avoided). This \"intermediate" -" language\" is said to run on a :term:`virtual machine` that executes the " -"machine code corresponding to each bytecode. Do note that bytecodes are not " -"expected to work between different Python virtual machines, nor to be stable" -" between Python releases." -msgstr "" - -#: ../../glossary.rst:230 -msgid "" -"A list of bytecode instructions can be found in the documentation for " -":ref:`the dis module `." -msgstr "" -"Daftar instruksi-instruksi bytecode dapat ditemukan di dokumentasi pada " -":ref:`the dis module `." - -#: ../../glossary.rst:232 -msgid "callable" -msgstr "" - -#: ../../glossary.rst:234 -msgid "" -"A callable is an object that can be called, possibly with a set of arguments" -" (see :term:`argument`), with the following syntax::" -msgstr "" - -#: ../../glossary.rst:237 -msgid "callable(argument1, argument2, argumentN)" -msgstr "" - -#: ../../glossary.rst:239 -msgid "" -"A :term:`function`, and by extension a :term:`method`, is a callable. An " -"instance of a class that implements the :meth:`~object.__call__` method is " -"also a callable." -msgstr "" - -#: ../../glossary.rst:242 -msgid "callback" -msgstr "" - -#: ../../glossary.rst:244 -msgid "" -"A subroutine function which is passed as an argument to be executed at some " -"point in the future." -msgstr "" - -#: ../../glossary.rst:246 -msgid "class" -msgstr "kelas" - -#: ../../glossary.rst:248 -msgid "" -"A template for creating user-defined objects. Class definitions normally " -"contain method definitions which operate on instances of the class." -msgstr "" - -#: ../../glossary.rst:251 -msgid "class variable" -msgstr "" - -#: ../../glossary.rst:253 -msgid "" -"A variable defined in a class and intended to be modified only at class " -"level (i.e., not in an instance of the class)." -msgstr "" - -#: ../../glossary.rst:255 -msgid "closure variable" -msgstr "" - -#: ../../glossary.rst:257 -msgid "" -"A :term:`free variable` referenced from a :term:`nested scope` that is " -"defined in an outer scope rather than being resolved at runtime from the " -"globals or builtin namespaces. May be explicitly defined with the " -":keyword:`nonlocal` keyword to allow write access, or implicitly defined if " -"the variable is only being read." -msgstr "" - -#: ../../glossary.rst:262 -msgid "" -"For example, in the ``inner`` function in the following code, both ``x`` and" -" ``print`` are :term:`free variables `, but only ``x`` is a " -"*closure variable*::" -msgstr "" - -#: ../../glossary.rst:265 -msgid "" -"def outer():\n" -" x = 0\n" -" def inner():\n" -" nonlocal x\n" -" x += 1\n" -" print(x)\n" -" return inner" -msgstr "" - -#: ../../glossary.rst:273 -msgid "" -"Due to the :attr:`codeobject.co_freevars` attribute (which, despite its " -"name, only includes the names of closure variables rather than listing all " -"referenced free variables), the more general :term:`free variable` term is " -"sometimes used even when the intended meaning is to refer specifically to " -"closure variables." -msgstr "" - -#: ../../glossary.rst:277 -msgid "complex number" -msgstr "bilangan kompleks" - -#: ../../glossary.rst:279 -msgid "" -"An extension of the familiar real number system in which all numbers are " -"expressed as a sum of a real part and an imaginary part. Imaginary numbers " -"are real multiples of the imaginary unit (the square root of ``-1``), often " -"written ``i`` in mathematics or ``j`` in engineering. Python has built-in " -"support for complex numbers, which are written with this latter notation; " -"the imaginary part is written with a ``j`` suffix, e.g., ``3+1j``. To get " -"access to complex equivalents of the :mod:`math` module, use :mod:`cmath`. " -"Use of complex numbers is a fairly advanced mathematical feature. If you're" -" not aware of a need for them, it's almost certain you can safely ignore " -"them." -msgstr "" - -#: ../../glossary.rst:289 -msgid "context" -msgstr "" - -#: ../../glossary.rst:291 -msgid "" -"This term has different meanings depending on where and how it is used. Some" -" common meanings:" -msgstr "" - -#: ../../glossary.rst:294 -msgid "" -"The temporary state or environment established by a :term:`context manager` " -"via a :keyword:`with` statement." -msgstr "" - -#: ../../glossary.rst:296 -msgid "" -"The collection of key­value bindings associated with a particular " -":class:`contextvars.Context` object and accessed via " -":class:`~contextvars.ContextVar` objects. Also see :term:`context " -"variable`." -msgstr "" - -#: ../../glossary.rst:300 -msgid "" -"A :class:`contextvars.Context` object. Also see :term:`current context`." -msgstr "" - -#: ../../glossary.rst:302 -msgid "context management protocol" -msgstr "" - -#: ../../glossary.rst:304 -msgid "" -"The :meth:`~object.__enter__` and :meth:`~object.__exit__` methods called by" -" the :keyword:`with` statement. See :pep:`343`." -msgstr "" - -#: ../../glossary.rst:306 -msgid "context manager" -msgstr "manajer konteks" - -#: ../../glossary.rst:308 -msgid "" -"An object which implements the :term:`context management protocol` and " -"controls the environment seen in a :keyword:`with` statement. See " -":pep:`343`." -msgstr "" - -#: ../../glossary.rst:311 -msgid "context variable" -msgstr "" - -#: ../../glossary.rst:313 -msgid "" -"A variable whose value depends on which context is the :term:`current " -"context`. Values are accessed via :class:`contextvars.ContextVar` objects." -" Context variables are primarily used to isolate state between concurrent " -"asynchronous tasks." -msgstr "" - -#: ../../glossary.rst:317 -msgid "contiguous" -msgstr "" - -#: ../../glossary.rst:321 -msgid "" -"A buffer is considered contiguous exactly if it is either *C-contiguous* or " -"*Fortran contiguous*. Zero-dimensional buffers are C and Fortran " -"contiguous. In one-dimensional arrays, the items must be laid out in memory" -" next to each other, in order of increasing indexes starting from zero. In " -"multidimensional C-contiguous arrays, the last index varies the fastest when" -" visiting items in order of memory address. However, in Fortran contiguous " -"arrays, the first index varies the fastest." -msgstr "" - -#: ../../glossary.rst:329 -msgid "coroutine" -msgstr "" - -#: ../../glossary.rst:331 -msgid "" -"Coroutines are a more generalized form of subroutines. Subroutines are " -"entered at one point and exited at another point. Coroutines can be " -"entered, exited, and resumed at many different points. They can be " -"implemented with the :keyword:`async def` statement. See also :pep:`492`." -msgstr "" - -#: ../../glossary.rst:336 -msgid "coroutine function" -msgstr "" - -#: ../../glossary.rst:338 -msgid "" -"A function which returns a :term:`coroutine` object. A coroutine function " -"may be defined with the :keyword:`async def` statement, and may contain " -":keyword:`await`, :keyword:`async for`, and :keyword:`async with` keywords." -" These were introduced by :pep:`492`." -msgstr "" - -#: ../../glossary.rst:343 -msgid "CPython" -msgstr "CPython" - -#: ../../glossary.rst:345 -msgid "" -"The canonical implementation of the Python programming language, as " -"distributed on `python.org `_. The term \"CPython\"" -" is used when necessary to distinguish this implementation from others such " -"as Jython or IronPython." -msgstr "" - -#: ../../glossary.rst:349 -msgid "current context" -msgstr "" - -#: ../../glossary.rst:351 -msgid "" -"The :term:`context` (:class:`contextvars.Context` object) that is currently " -"used by :class:`~contextvars.ContextVar` objects to access (get or set) the " -"values of :term:`context variables `. Each thread has its" -" own current context. Frameworks for executing asynchronous tasks (see " -":mod:`asyncio`) associate each task with a context which becomes the current" -" context whenever the task starts or resumes execution." -msgstr "" - -#: ../../glossary.rst:357 -msgid "decorator" -msgstr "decorator" - -#: ../../glossary.rst:359 -msgid "" -"A function returning another function, usually applied as a function " -"transformation using the ``@wrapper`` syntax. Common examples for " -"decorators are :func:`classmethod` and :func:`staticmethod`." -msgstr "" - -#: ../../glossary.rst:363 -msgid "" -"The decorator syntax is merely syntactic sugar, the following two function " -"definitions are semantically equivalent::" -msgstr "" - -#: ../../glossary.rst:366 -msgid "" -"def f(arg):\n" -" ...\n" -"f = staticmethod(f)\n" -"\n" -"@staticmethod\n" -"def f(arg):\n" -" ..." -msgstr "" - -#: ../../glossary.rst:374 -msgid "" -"The same concept exists for classes, but is less commonly used there. See " -"the documentation for :ref:`function definitions ` and :ref:`class" -" definitions ` for more about decorators." -msgstr "" - -#: ../../glossary.rst:377 -msgid "descriptor" -msgstr "" - -#: ../../glossary.rst:379 -msgid "" -"Any object which defines the methods :meth:`~object.__get__`, " -":meth:`~object.__set__`, or :meth:`~object.__delete__`. When a class " -"attribute is a descriptor, its special binding behavior is triggered upon " -"attribute lookup. Normally, using *a.b* to get, set or delete an attribute " -"looks up the object named *b* in the class dictionary for *a*, but if *b* is" -" a descriptor, the respective descriptor method gets called. Understanding " -"descriptors is a key to a deep understanding of Python because they are the " -"basis for many features including functions, methods, properties, class " -"methods, static methods, and reference to super classes." -msgstr "" - -#: ../../glossary.rst:390 -msgid "" -"For more information about descriptors' methods, see :ref:`descriptors` or " -"the :ref:`Descriptor How To Guide `." -msgstr "" - -#: ../../glossary.rst:392 -msgid "dictionary" -msgstr "dictionary" - -#: ../../glossary.rst:394 -msgid "" -"An associative array, where arbitrary keys are mapped to values. The keys " -"can be any object with :meth:`~object.__hash__` and :meth:`~object.__eq__` " -"methods. Called a hash in Perl." -msgstr "" - -#: ../../glossary.rst:398 -msgid "dictionary comprehension" -msgstr "" - -#: ../../glossary.rst:400 -msgid "" -"A compact way to process all or part of the elements in an iterable and " -"return a dictionary with the results. ``results = {n: n ** 2 for n in " -"range(10)}`` generates a dictionary containing key ``n`` mapped to value ``n" -" ** 2``. See :ref:`comprehensions`." -msgstr "" - -#: ../../glossary.rst:404 -msgid "dictionary view" -msgstr "" - -#: ../../glossary.rst:406 -msgid "" -"The objects returned from :meth:`dict.keys`, :meth:`dict.values`, and " -":meth:`dict.items` are called dictionary views. They provide a dynamic view " -"on the dictionary’s entries, which means that when the dictionary changes, " -"the view reflects these changes. To force the dictionary view to become a " -"full list use ``list(dictview)``. See :ref:`dict-views`." -msgstr "" - -#: ../../glossary.rst:412 -msgid "docstring" -msgstr "" - -#: ../../glossary.rst:414 -msgid "" -"A string literal which appears as the first expression in a class, function " -"or module. While ignored when the suite is executed, it is recognized by " -"the compiler and put into the :attr:`~definition.__doc__` attribute of the " -"enclosing class, function or module. Since it is available via " -"introspection, it is the canonical place for documentation of the object." -msgstr "" - -#: ../../glossary.rst:420 -msgid "duck-typing" -msgstr "" - -#: ../../glossary.rst:422 -msgid "" -"A programming style which does not look at an object's type to determine if " -"it has the right interface; instead, the method or attribute is simply " -"called or used (\"If it looks like a duck and quacks like a duck, it must be" -" a duck.\") By emphasizing interfaces rather than specific types, well-" -"designed code improves its flexibility by allowing polymorphic substitution." -" Duck-typing avoids tests using :func:`type` or :func:`isinstance`. (Note," -" however, that duck-typing can be complemented with :term:`abstract base " -"classes `.) Instead, it typically employs " -":func:`hasattr` tests or :term:`EAFP` programming." -msgstr "" - -#: ../../glossary.rst:431 -msgid "EAFP" -msgstr "EAFP" - -#: ../../glossary.rst:433 -msgid "" -"Easier to ask for forgiveness than permission. This common Python coding " -"style assumes the existence of valid keys or attributes and catches " -"exceptions if the assumption proves false. This clean and fast style is " -"characterized by the presence of many :keyword:`try` and :keyword:`except` " -"statements. The technique contrasts with the :term:`LBYL` style common to " -"many other languages such as C." -msgstr "" - -#: ../../glossary.rst:439 -msgid "evaluate function" -msgstr "" - -#: ../../glossary.rst:441 -msgid "" -"A function that can be called to evaluate a lazily evaluated attribute of an" -" object, such as the value of type aliases created with the :keyword:`type` " -"statement." -msgstr "" - -#: ../../glossary.rst:444 -msgid "expression" -msgstr "ekspresi" - -#: ../../glossary.rst:446 -msgid "" -"A piece of syntax which can be evaluated to some value. In other words, an " -"expression is an accumulation of expression elements like literals, names, " -"attribute access, operators or function calls which all return a value. In " -"contrast to many other languages, not all language constructs are " -"expressions. There are also :term:`statement`\\s which cannot be used as " -"expressions, such as :keyword:`while`. Assignments are also statements, not" -" expressions." -msgstr "" - -#: ../../glossary.rst:453 -msgid "extension module" -msgstr "modul tambahan" - -#: ../../glossary.rst:455 -msgid "" -"A module written in C or C++, using Python's C API to interact with the core" -" and with user code." -msgstr "" - -#: ../../glossary.rst:457 -msgid "f-string" -msgstr "f-string" - -#: ../../glossary.rst:459 -msgid "" -"String literals prefixed with ``'f'`` or ``'F'`` are commonly called " -"\"f-strings\" which is short for :ref:`formatted string literals " -"`. See also :pep:`498`." -msgstr "" - -#: ../../glossary.rst:462 -msgid "file object" -msgstr "objek berkas" - -#: ../../glossary.rst:464 -msgid "" -"An object exposing a file-oriented API (with methods such as :meth:`!read` " -"or :meth:`!write`) to an underlying resource. Depending on the way it was " -"created, a file object can mediate access to a real on-disk file or to " -"another type of storage or communication device (for example standard " -"input/output, in-memory buffers, sockets, pipes, etc.). File objects are " -"also called :dfn:`file-like objects` or :dfn:`streams`." -msgstr "" - -#: ../../glossary.rst:472 -msgid "" -"There are actually three categories of file objects: raw :term:`binary files" -" `, buffered :term:`binary files ` and :term:`text" -" files `. Their interfaces are defined in the :mod:`io` module. " -"The canonical way to create a file object is by using the :func:`open` " -"function." -msgstr "" - -#: ../../glossary.rst:477 -msgid "file-like object" -msgstr "" - -#: ../../glossary.rst:479 -msgid "A synonym for :term:`file object`." -msgstr "" - -#: ../../glossary.rst:480 -msgid "filesystem encoding and error handler" -msgstr "" - -#: ../../glossary.rst:482 -msgid "" -"Encoding and error handler used by Python to decode bytes from the operating" -" system and encode Unicode to the operating system." -msgstr "" - -#: ../../glossary.rst:485 -msgid "" -"The filesystem encoding must guarantee to successfully decode all bytes " -"below 128. If the file system encoding fails to provide this guarantee, API " -"functions can raise :exc:`UnicodeError`." -msgstr "" - -#: ../../glossary.rst:489 -msgid "" -"The :func:`sys.getfilesystemencoding` and " -":func:`sys.getfilesystemencodeerrors` functions can be used to get the " -"filesystem encoding and error handler." -msgstr "" - -#: ../../glossary.rst:493 -msgid "" -"The :term:`filesystem encoding and error handler` are configured at Python " -"startup by the :c:func:`PyConfig_Read` function: see " -":c:member:`~PyConfig.filesystem_encoding` and " -":c:member:`~PyConfig.filesystem_errors` members of :c:type:`PyConfig`." -msgstr "" - -#: ../../glossary.rst:498 -msgid "See also the :term:`locale encoding`." -msgstr "" - -#: ../../glossary.rst:499 -msgid "finder" -msgstr "" - -#: ../../glossary.rst:501 -msgid "" -"An object that tries to find the :term:`loader` for a module that is being " -"imported." -msgstr "" - -#: ../../glossary.rst:504 -msgid "" -"There are two types of finder: :term:`meta path finders ` " -"for use with :data:`sys.meta_path`, and :term:`path entry finders ` for use with :data:`sys.path_hooks`." -msgstr "" - -#: ../../glossary.rst:508 -msgid "" -"See :ref:`finders-and-loaders` and :mod:`importlib` for much more detail." -msgstr "" - -#: ../../glossary.rst:509 -msgid "floor division" -msgstr "" - -#: ../../glossary.rst:511 -msgid "" -"Mathematical division that rounds down to nearest integer. The floor " -"division operator is ``//``. For example, the expression ``11 // 4`` " -"evaluates to ``2`` in contrast to the ``2.75`` returned by float true " -"division. Note that ``(-11) // 4`` is ``-3`` because that is ``-2.75`` " -"rounded *downward*. See :pep:`238`." -msgstr "" - -#: ../../glossary.rst:516 -msgid "free threading" -msgstr "" - -#: ../../glossary.rst:518 -msgid "" -"A threading model where multiple threads can run Python bytecode " -"simultaneously within the same interpreter. This is in contrast to the " -":term:`global interpreter lock` which allows only one thread to execute " -"Python bytecode at a time. See :pep:`703`." -msgstr "" - -#: ../../glossary.rst:522 -msgid "free variable" -msgstr "" - -#: ../../glossary.rst:524 -msgid "" -"Formally, as defined in the :ref:`language execution model `, a " -"free variable is any variable used in a namespace which is not a local " -"variable in that namespace. See :term:`closure variable` for an example. " -"Pragmatically, due to the name of the :attr:`codeobject.co_freevars` " -"attribute, the term is also sometimes used as a synonym for :term:`closure " -"variable`." -msgstr "" - -#: ../../glossary.rst:529 -msgid "function" -msgstr "fungsi" - -#: ../../glossary.rst:531 -msgid "" -"A series of statements which returns some value to a caller. It can also be " -"passed zero or more :term:`arguments ` which may be used in the " -"execution of the body. See also :term:`parameter`, :term:`method`, and the " -":ref:`function` section." -msgstr "" - -#: ../../glossary.rst:535 -msgid "function annotation" -msgstr "anotasi fungsi" - -#: ../../glossary.rst:537 -msgid "An :term:`annotation` of a function parameter or return value." -msgstr "" - -#: ../../glossary.rst:539 -msgid "" -"Function annotations are usually used for :term:`type hints `: " -"for example, this function is expected to take two :class:`int` arguments " -"and is also expected to have an :class:`int` return value::" -msgstr "" - -#: ../../glossary.rst:544 -msgid "" -"def sum_two_numbers(a: int, b: int) -> int:\n" -" return a + b" -msgstr "" - -#: ../../glossary.rst:547 -msgid "Function annotation syntax is explained in section :ref:`function`." -msgstr "" - -#: ../../glossary.rst:549 -msgid "" -"See :term:`variable annotation` and :pep:`484`, which describe this " -"functionality. Also see :ref:`annotations-howto` for best practices on " -"working with annotations." -msgstr "" - -#: ../../glossary.rst:553 -msgid "__future__" -msgstr "__future__" - -#: ../../glossary.rst:555 -msgid "" -"A :ref:`future statement `, ``from __future__ import ``, " -"directs the compiler to compile the current module using syntax or semantics" -" that will become standard in a future release of Python. The " -":mod:`__future__` module documents the possible values of *feature*. By " -"importing this module and evaluating its variables, you can see when a new " -"feature was first added to the language and when it will (or did) become the" -" default::" -msgstr "" - -#: ../../glossary.rst:563 -msgid "" -">>> import __future__\n" -">>> __future__.division\n" -"_Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)" -msgstr "" - -#: ../../glossary.rst:566 -msgid "garbage collection" -msgstr "pengumpulan sampah" - -#: ../../glossary.rst:568 -msgid "" -"The process of freeing memory when it is not used anymore. Python performs " -"garbage collection via reference counting and a cyclic garbage collector " -"that is able to detect and break reference cycles. The garbage collector " -"can be controlled using the :mod:`gc` module." -msgstr "" - -#: ../../glossary.rst:573 ../../glossary.rst:574 -msgid "generator" -msgstr "pembangkit" - -#: ../../glossary.rst:576 -msgid "" -"A function which returns a :term:`generator iterator`. It looks like a " -"normal function except that it contains :keyword:`yield` expressions for " -"producing a series of values usable in a for-loop or that can be retrieved " -"one at a time with the :func:`next` function." -msgstr "" - -#: ../../glossary.rst:581 -msgid "" -"Usually refers to a generator function, but may refer to a *generator " -"iterator* in some contexts. In cases where the intended meaning isn't " -"clear, using the full terms avoids ambiguity." -msgstr "" - -#: ../../glossary.rst:584 -msgid "generator iterator" -msgstr "" - -#: ../../glossary.rst:586 -msgid "An object created by a :term:`generator` function." -msgstr "" - -#: ../../glossary.rst:588 -msgid "" -"Each :keyword:`yield` temporarily suspends processing, remembering the " -"execution state (including local variables and pending try-statements). " -"When the *generator iterator* resumes, it picks up where it left off (in " -"contrast to functions which start fresh on every invocation)." -msgstr "" - -#: ../../glossary.rst:594 ../../glossary.rst:595 -msgid "generator expression" -msgstr "" - -#: ../../glossary.rst:597 -msgid "" -"An :term:`expression` that returns an :term:`iterator`. It looks like a " -"normal expression followed by a :keyword:`!for` clause defining a loop " -"variable, range, and an optional :keyword:`!if` clause. The combined " -"expression generates values for an enclosing function::" -msgstr "" - -#: ../../glossary.rst:602 -msgid "" -">>> sum(i*i for i in range(10)) # sum of squares 0, 1, 4, ... 81\n" -"285" -msgstr "" - -#: ../../glossary.rst:604 -msgid "generic function" -msgstr "fungsi generik" - -#: ../../glossary.rst:606 -msgid "" -"A function composed of multiple functions implementing the same operation " -"for different types. Which implementation should be used during a call is " -"determined by the dispatch algorithm." -msgstr "" - -#: ../../glossary.rst:610 -msgid "" -"See also the :term:`single dispatch` glossary entry, the " -":func:`functools.singledispatch` decorator, and :pep:`443`." -msgstr "" - -#: ../../glossary.rst:612 -msgid "generic type" -msgstr "" - -#: ../../glossary.rst:614 -msgid "" -"A :term:`type` that can be parameterized; typically a :ref:`container " -"class` such as :class:`list` or :class:`dict`. Used for " -":term:`type hints ` and :term:`annotations `." -msgstr "" - -#: ../../glossary.rst:619 -msgid "" -"For more details, see :ref:`generic alias types`, " -":pep:`483`, :pep:`484`, :pep:`585`, and the :mod:`typing` module." -msgstr "" - -#: ../../glossary.rst:621 -msgid "GIL" -msgstr "GIL" - -#: ../../glossary.rst:623 -msgid "See :term:`global interpreter lock`." -msgstr "Lihat :term:`global interpreter lock`." - -#: ../../glossary.rst:624 -msgid "global interpreter lock" -msgstr "kunci interpreter global" - -#: ../../glossary.rst:626 -msgid "" -"The mechanism used by the :term:`CPython` interpreter to assure that only " -"one thread executes Python :term:`bytecode` at a time. This simplifies the " -"CPython implementation by making the object model (including critical built-" -"in types such as :class:`dict`) implicitly safe against concurrent access. " -"Locking the entire interpreter makes it easier for the interpreter to be " -"multi-threaded, at the expense of much of the parallelism afforded by multi-" -"processor machines." -msgstr "" - -#: ../../glossary.rst:635 -msgid "" -"However, some extension modules, either standard or third-party, are " -"designed so as to release the GIL when doing computationally intensive tasks" -" such as compression or hashing. Also, the GIL is always released when " -"doing I/O." -msgstr "" - -#: ../../glossary.rst:640 -msgid "" -"As of Python 3.13, the GIL can be disabled using the :option:`--disable-gil`" -" build configuration. After building Python with this option, code must be " -"run with :option:`-X gil=0 <-X>` or after setting the :envvar:`PYTHON_GIL=0 " -"` environment variable. This feature enables improved " -"performance for multi-threaded applications and makes it easier to use " -"multi-core CPUs efficiently. For more details, see :pep:`703`." -msgstr "" - -#: ../../glossary.rst:647 -msgid "" -"In prior versions of Python's C API, a function might declare that it " -"requires the GIL to be held in order to use it. This refers to having an " -":term:`attached thread state`." -msgstr "" - -#: ../../glossary.rst:650 -msgid "hash-based pyc" -msgstr "" - -#: ../../glossary.rst:652 -msgid "" -"A bytecode cache file that uses the hash rather than the last-modified time " -"of the corresponding source file to determine its validity. See :ref:`pyc-" -"invalidation`." -msgstr "" - -#: ../../glossary.rst:655 -msgid "hashable" -msgstr "" - -#: ../../glossary.rst:657 -msgid "" -"An object is *hashable* if it has a hash value which never changes during " -"its lifetime (it needs a :meth:`~object.__hash__` method), and can be " -"compared to other objects (it needs an :meth:`~object.__eq__` method). " -"Hashable objects which compare equal must have the same hash value." -msgstr "" - -#: ../../glossary.rst:663 -msgid "" -"Hashability makes an object usable as a dictionary key and a set member, " -"because these data structures use the hash value internally." -msgstr "" - -#: ../../glossary.rst:666 -msgid "" -"Most of Python's immutable built-in objects are hashable; mutable containers" -" (such as lists or dictionaries) are not; immutable containers (such as " -"tuples and frozensets) are only hashable if their elements are hashable. " -"Objects which are instances of user-defined classes are hashable by default." -" They all compare unequal (except with themselves), and their hash value is" -" derived from their :func:`id`." -msgstr "" - -#: ../../glossary.rst:673 -msgid "IDLE" -msgstr "IDLE" - -#: ../../glossary.rst:675 -msgid "" -"An Integrated Development and Learning Environment for Python. :ref:`idle` " -"is a basic editor and interpreter environment which ships with the standard " -"distribution of Python." -msgstr "" - -#: ../../glossary.rst:678 -msgid "immortal" -msgstr "" - -#: ../../glossary.rst:680 -msgid "" -"*Immortal objects* are a CPython implementation detail introduced in " -":pep:`683`." -msgstr "" - -#: ../../glossary.rst:683 -msgid "" -"If an object is immortal, its :term:`reference count` is never modified, and" -" therefore it is never deallocated while the interpreter is running. For " -"example, :const:`True` and :const:`None` are immortal in CPython." -msgstr "" - -#: ../../glossary.rst:687 -msgid "" -"Immortal objects can be identified via :func:`sys._is_immortal`, or via " -":c:func:`PyUnstable_IsImmortal` in the C API." -msgstr "" - -#: ../../glossary.rst:689 -msgid "immutable" -msgstr "" - -#: ../../glossary.rst:691 -msgid "" -"An object with a fixed value. Immutable objects include numbers, strings " -"and tuples. Such an object cannot be altered. A new object has to be " -"created if a different value has to be stored. They play an important role " -"in places where a constant hash value is needed, for example as a key in a " -"dictionary." -msgstr "" - -#: ../../glossary.rst:696 -msgid "import path" -msgstr "" - -#: ../../glossary.rst:698 -msgid "" -"A list of locations (or :term:`path entries `) that are searched" -" by the :term:`path based finder` for modules to import. During import, this" -" list of locations usually comes from :data:`sys.path`, but for subpackages " -"it may also come from the parent package's ``__path__`` attribute." -msgstr "" - -#: ../../glossary.rst:703 -msgid "importing" -msgstr "" - -#: ../../glossary.rst:705 -msgid "" -"The process by which Python code in one module is made available to Python " -"code in another module." -msgstr "" - -#: ../../glossary.rst:707 -msgid "importer" -msgstr "" - -#: ../../glossary.rst:709 -msgid "" -"An object that both finds and loads a module; both a :term:`finder` and " -":term:`loader` object." -msgstr "" - -#: ../../glossary.rst:711 -msgid "interactive" -msgstr "interaktif" - -#: ../../glossary.rst:713 -msgid "" -"Python has an interactive interpreter which means you can enter statements " -"and expressions at the interpreter prompt, immediately execute them and see " -"their results. Just launch ``python`` with no arguments (possibly by " -"selecting it from your computer's main menu). It is a very powerful way to " -"test out new ideas or inspect modules and packages (remember ``help(x)``). " -"For more on interactive mode, see :ref:`tut-interac`." -msgstr "" - -#: ../../glossary.rst:720 -msgid "interpreted" -msgstr "diinterpretasi" - -#: ../../glossary.rst:722 -msgid "" -"Python is an interpreted language, as opposed to a compiled one, though the " -"distinction can be blurry because of the presence of the bytecode compiler." -" This means that source files can be run directly without explicitly " -"creating an executable which is then run. Interpreted languages typically " -"have a shorter development/debug cycle than compiled ones, though their " -"programs generally also run more slowly. See also :term:`interactive`." -msgstr "" - -#: ../../glossary.rst:729 -msgid "interpreter shutdown" -msgstr "" - -#: ../../glossary.rst:731 -msgid "" -"When asked to shut down, the Python interpreter enters a special phase where" -" it gradually releases all allocated resources, such as modules and various " -"critical internal structures. It also makes several calls to the " -":term:`garbage collector `. This can trigger the " -"execution of code in user-defined destructors or weakref callbacks. Code " -"executed during the shutdown phase can encounter various exceptions as the " -"resources it relies on may not function anymore (common examples are library" -" modules or the warnings machinery)." -msgstr "" - -#: ../../glossary.rst:740 -msgid "" -"The main reason for interpreter shutdown is that the ``__main__`` module or " -"the script being run has finished executing." -msgstr "" - -#: ../../glossary.rst:742 -msgid "iterable" -msgstr "" - -#: ../../glossary.rst:744 -msgid "" -"An object capable of returning its members one at a time. Examples of " -"iterables include all sequence types (such as :class:`list`, :class:`str`, " -"and :class:`tuple`) and some non-sequence types like :class:`dict`, " -":term:`file objects `, and objects of any classes you define " -"with an :meth:`~object.__iter__` method or with a " -":meth:`~object.__getitem__` method that implements :term:`sequence` " -"semantics." -msgstr "" - -#: ../../glossary.rst:752 -msgid "" -"Iterables can be used in a :keyword:`for` loop and in many other places " -"where a sequence is needed (:func:`zip`, :func:`map`, ...). When an " -"iterable object is passed as an argument to the built-in function " -":func:`iter`, it returns an iterator for the object. This iterator is good " -"for one pass over the set of values. When using iterables, it is usually " -"not necessary to call :func:`iter` or deal with iterator objects yourself. " -"The :keyword:`for` statement does that automatically for you, creating a " -"temporary unnamed variable to hold the iterator for the duration of the " -"loop. See also :term:`iterator`, :term:`sequence`, and :term:`generator`." -msgstr "" - -#: ../../glossary.rst:762 -msgid "iterator" -msgstr "" - -#: ../../glossary.rst:764 -msgid "" -"An object representing a stream of data. Repeated calls to the iterator's " -":meth:`~iterator.__next__` method (or passing it to the built-in function " -":func:`next`) return successive items in the stream. When no more data are " -"available a :exc:`StopIteration` exception is raised instead. At this " -"point, the iterator object is exhausted and any further calls to its " -":meth:`!__next__` method just raise :exc:`StopIteration` again. Iterators " -"are required to have an :meth:`~iterator.__iter__` method that returns the " -"iterator object itself so every iterator is also iterable and may be used in" -" most places where other iterables are accepted. One notable exception is " -"code which attempts multiple iteration passes. A container object (such as " -"a :class:`list`) produces a fresh new iterator each time you pass it to the " -":func:`iter` function or use it in a :keyword:`for` loop. Attempting this " -"with an iterator will just return the same exhausted iterator object used in" -" the previous iteration pass, making it appear like an empty container." -msgstr "" - -#: ../../glossary.rst:779 -msgid "More information can be found in :ref:`typeiter`." -msgstr "Informasi lebih lanjut dapat ditemukan di :ref:`typeiter`." - -#: ../../glossary.rst:783 -msgid "" -"CPython does not consistently apply the requirement that an iterator define " -":meth:`~iterator.__iter__`. And also please note that the free-threading " -"CPython does not guarantee the thread-safety of iterator operations." -msgstr "" - -#: ../../glossary.rst:788 -msgid "key function" -msgstr "fungsi kunci" - -#: ../../glossary.rst:790 -msgid "" -"A key function or collation function is a callable that returns a value used" -" for sorting or ordering. For example, :func:`locale.strxfrm` is used to " -"produce a sort key that is aware of locale specific sort conventions." -msgstr "" - -#: ../../glossary.rst:795 -msgid "" -"A number of tools in Python accept key functions to control how elements are" -" ordered or grouped. They include :func:`min`, :func:`max`, :func:`sorted`," -" :meth:`list.sort`, :func:`heapq.merge`, :func:`heapq.nsmallest`, " -":func:`heapq.nlargest`, and :func:`itertools.groupby`." -msgstr "" - -#: ../../glossary.rst:801 -msgid "" -"There are several ways to create a key function. For example. the " -":meth:`str.lower` method can serve as a key function for case insensitive " -"sorts. Alternatively, a key function can be built from a :keyword:`lambda` " -"expression such as ``lambda r: (r[0], r[2])``. Also, " -":func:`operator.attrgetter`, :func:`operator.itemgetter`, and " -":func:`operator.methodcaller` are three key function constructors. See the " -":ref:`Sorting HOW TO ` for examples of how to create and use " -"key functions." -msgstr "" - -#: ../../glossary.rst:808 -msgid "keyword argument" -msgstr "argumen kata kunci" - -#: ../../glossary.rst:810 ../../glossary.rst:1125 -msgid "See :term:`argument`." -msgstr "Lihat :term:`argument`." - -#: ../../glossary.rst:811 -msgid "lambda" -msgstr "" - -#: ../../glossary.rst:813 -msgid "" -"An anonymous inline function consisting of a single :term:`expression` which" -" is evaluated when the function is called. The syntax to create a lambda " -"function is ``lambda [parameters]: expression``" -msgstr "" - -#: ../../glossary.rst:816 -msgid "LBYL" -msgstr "LBYL" - -#: ../../glossary.rst:818 -msgid "" -"Look before you leap. This coding style explicitly tests for pre-conditions" -" before making calls or lookups. This style contrasts with the :term:`EAFP`" -" approach and is characterized by the presence of many :keyword:`if` " -"statements." -msgstr "" - -#: ../../glossary.rst:823 -msgid "" -"In a multi-threaded environment, the LBYL approach can risk introducing a " -"race condition between \"the looking\" and \"the leaping\". For example, " -"the code, ``if key in mapping: return mapping[key]`` can fail if another " -"thread removes *key* from *mapping* after the test, but before the lookup. " -"This issue can be solved with locks or by using the EAFP approach." -msgstr "" - -#: ../../glossary.rst:828 -msgid "lexical analyzer" -msgstr "" - -#: ../../glossary.rst:831 -msgid "Formal name for the *tokenizer*; see :term:`token`." -msgstr "" - -#: ../../glossary.rst:832 -msgid "list" -msgstr "list" - -#: ../../glossary.rst:834 -msgid "" -"A built-in Python :term:`sequence`. Despite its name it is more akin to an " -"array in other languages than to a linked list since access to elements is " -"*O*\\ (1)." -msgstr "" - -#: ../../glossary.rst:837 -msgid "list comprehension" -msgstr "" - -#: ../../glossary.rst:839 -msgid "" -"A compact way to process all or part of the elements in a sequence and " -"return a list with the results. ``result = ['{:#04x}'.format(x) for x in " -"range(256) if x % 2 == 0]`` generates a list of strings containing even hex " -"numbers (0x..) in the range from 0 to 255. The :keyword:`if` clause is " -"optional. If omitted, all elements in ``range(256)`` are processed." -msgstr "" - -#: ../../glossary.rst:845 -msgid "loader" -msgstr "" - -#: ../../glossary.rst:847 -msgid "" -"An object that loads a module. It must define the :meth:`!exec_module` and " -":meth:`!create_module` methods to implement the " -":class:`~importlib.abc.Loader` interface. A loader is typically returned by " -"a :term:`finder`. See also:" -msgstr "" - -#: ../../glossary.rst:853 -msgid ":ref:`finders-and-loaders`" -msgstr "" - -#: ../../glossary.rst:854 -msgid ":class:`importlib.abc.Loader`" -msgstr "" - -#: ../../glossary.rst:855 -msgid ":pep:`302`" -msgstr ":pep:`302`" - -#: ../../glossary.rst:856 -msgid "locale encoding" -msgstr "" - -#: ../../glossary.rst:858 -msgid "" -"On Unix, it is the encoding of the LC_CTYPE locale. It can be set with " -":func:`locale.setlocale(locale.LC_CTYPE, new_locale) `." -msgstr "" - -#: ../../glossary.rst:861 -msgid "On Windows, it is the ANSI code page (ex: ``\"cp1252\"``)." -msgstr "" - -#: ../../glossary.rst:863 -msgid "On Android and VxWorks, Python uses ``\"utf-8\"`` as the locale encoding." -msgstr "" - -#: ../../glossary.rst:865 -msgid ":func:`locale.getencoding` can be used to get the locale encoding." -msgstr "" - -#: ../../glossary.rst:867 -msgid "See also the :term:`filesystem encoding and error handler`." -msgstr "" - -#: ../../glossary.rst:868 -msgid "magic method" -msgstr "" - -#: ../../glossary.rst:872 -msgid "An informal synonym for :term:`special method`." -msgstr "" - -#: ../../glossary.rst:873 -msgid "mapping" -msgstr "pemetaan" - -#: ../../glossary.rst:875 -msgid "" -"A container object that supports arbitrary key lookups and implements the " -"methods specified in the :class:`collections.abc.Mapping` or " -":class:`collections.abc.MutableMapping` :ref:`abstract base classes " -"`. Examples include :class:`dict`, " -":class:`collections.defaultdict`, :class:`collections.OrderedDict` and " -":class:`collections.Counter`." -msgstr "" - -#: ../../glossary.rst:881 -msgid "meta path finder" -msgstr "" - -#: ../../glossary.rst:883 -msgid "" -"A :term:`finder` returned by a search of :data:`sys.meta_path`. Meta path " -"finders are related to, but different from :term:`path entry finders `." -msgstr "" - -#: ../../glossary.rst:887 -msgid "" -"See :class:`importlib.abc.MetaPathFinder` for the methods that meta path " -"finders implement." -msgstr "" - -#: ../../glossary.rst:889 -msgid "metaclass" -msgstr "" - -#: ../../glossary.rst:891 -msgid "" -"The class of a class. Class definitions create a class name, a class " -"dictionary, and a list of base classes. The metaclass is responsible for " -"taking those three arguments and creating the class. Most object oriented " -"programming languages provide a default implementation. What makes Python " -"special is that it is possible to create custom metaclasses. Most users " -"never need this tool, but when the need arises, metaclasses can provide " -"powerful, elegant solutions. They have been used for logging attribute " -"access, adding thread-safety, tracking object creation, implementing " -"singletons, and many other tasks." -msgstr "" - -#: ../../glossary.rst:901 -msgid "More information can be found in :ref:`metaclasses`." -msgstr "Informasi lebih lanjut dapat ditemukan di :ref:`metaclasses`." - -#: ../../glossary.rst:870 ../../glossary.rst:902 ../../glossary.rst:1270 -msgid "method" -msgstr "" - -#: ../../glossary.rst:904 -msgid "" -"A function which is defined inside a class body. If called as an attribute " -"of an instance of that class, the method will get the instance object as its" -" first :term:`argument` (which is usually called ``self``). See " -":term:`function` and :term:`nested scope`." -msgstr "" - -#: ../../glossary.rst:908 -msgid "method resolution order" -msgstr "" - -#: ../../glossary.rst:910 -msgid "" -"Method Resolution Order is the order in which base classes are searched for " -"a member during lookup. See :ref:`python_2.3_mro` for details of the " -"algorithm used by the Python interpreter since the 2.3 release." -msgstr "" - -#: ../../glossary.rst:913 -msgid "module" -msgstr "modul" - -#: ../../glossary.rst:915 -msgid "" -"An object that serves as an organizational unit of Python code. Modules " -"have a namespace containing arbitrary Python objects. Modules are loaded " -"into Python by the process of :term:`importing`." -msgstr "" - -#: ../../glossary.rst:919 -msgid "See also :term:`package`." -msgstr "Lihat juga :term:`package`." - -#: ../../glossary.rst:920 -msgid "module spec" -msgstr "" - -#: ../../glossary.rst:922 -msgid "" -"A namespace containing the import-related information used to load a module." -" An instance of :class:`importlib.machinery.ModuleSpec`." -msgstr "" - -#: ../../glossary.rst:925 -msgid "See also :ref:`module-specs`." -msgstr "" - -#: ../../glossary.rst:926 -msgid "MRO" -msgstr "MRO" - -#: ../../glossary.rst:928 -msgid "See :term:`method resolution order`." -msgstr "Lihat :term:`method resolution order`." - -#: ../../glossary.rst:929 -msgid "mutable" -msgstr "" - -#: ../../glossary.rst:931 -msgid "" -"Mutable objects can change their value but keep their :func:`id`. See also " -":term:`immutable`." -msgstr "" - -#: ../../glossary.rst:933 -msgid "named tuple" -msgstr "" - -#: ../../glossary.rst:935 -msgid "" -"The term \"named tuple\" applies to any type or class that inherits from " -"tuple and whose indexable elements are also accessible using named " -"attributes. The type or class may have other features as well." -msgstr "" - -#: ../../glossary.rst:939 -msgid "" -"Several built-in types are named tuples, including the values returned by " -":func:`time.localtime` and :func:`os.stat`. Another example is " -":data:`sys.float_info`::" -msgstr "" - -#: ../../glossary.rst:943 -msgid "" -">>> sys.float_info[1] # indexed access\n" -"1024\n" -">>> sys.float_info.max_exp # named field access\n" -"1024\n" -">>> isinstance(sys.float_info, tuple) # kind of tuple\n" -"True" -msgstr "" - -#: ../../glossary.rst:950 -msgid "" -"Some named tuples are built-in types (such as the above examples). " -"Alternatively, a named tuple can be created from a regular class definition " -"that inherits from :class:`tuple` and that defines named fields. Such a " -"class can be written by hand, or it can be created by inheriting " -":class:`typing.NamedTuple`, or with the factory function " -":func:`collections.namedtuple`. The latter techniques also add some extra " -"methods that may not be found in hand-written or built-in named tuples." -msgstr "" - -#: ../../glossary.rst:958 -msgid "namespace" -msgstr "" - -#: ../../glossary.rst:960 -msgid "" -"The place where a variable is stored. Namespaces are implemented as " -"dictionaries. There are the local, global and built-in namespaces as well " -"as nested namespaces in objects (in methods). Namespaces support modularity" -" by preventing naming conflicts. For instance, the functions " -":func:`builtins.open <.open>` and :func:`os.open` are distinguished by their" -" namespaces. Namespaces also aid readability and maintainability by making " -"it clear which module implements a function. For instance, writing " -":func:`random.seed` or :func:`itertools.islice` makes it clear that those " -"functions are implemented by the :mod:`random` and :mod:`itertools` modules," -" respectively." -msgstr "" - -#: ../../glossary.rst:970 -msgid "namespace package" -msgstr "" - -#: ../../glossary.rst:972 -msgid "" -"A :term:`package` which serves only as a container for subpackages. " -"Namespace packages may have no physical representation, and specifically are" -" not like a :term:`regular package` because they have no ``__init__.py`` " -"file." -msgstr "" - -#: ../../glossary.rst:977 -msgid "" -"Namespace packages allow several individually installable packages to have a" -" common parent package. Otherwise, it is recommended to use a :term:`regular" -" package`." -msgstr "" - -#: ../../glossary.rst:980 -msgid "" -"For more information, see :pep:`420` and :ref:`reference-namespace-package`." -msgstr "" - -#: ../../glossary.rst:982 -msgid "See also :term:`module`." -msgstr "Lihat juga :term:`module`." - -#: ../../glossary.rst:983 -msgid "nested scope" -msgstr "" - -#: ../../glossary.rst:985 -msgid "" -"The ability to refer to a variable in an enclosing definition. For " -"instance, a function defined inside another function can refer to variables " -"in the outer function. Note that nested scopes by default work only for " -"reference and not for assignment. Local variables both read and write in " -"the innermost scope. Likewise, global variables read and write to the " -"global namespace. The :keyword:`nonlocal` allows writing to outer scopes." -msgstr "" - -#: ../../glossary.rst:992 -msgid "new-style class" -msgstr "" - -#: ../../glossary.rst:994 -msgid "" -"Old name for the flavor of classes now used for all class objects. In " -"earlier Python versions, only new-style classes could use Python's newer, " -"versatile features like :attr:`~object.__slots__`, descriptors, properties, " -":meth:`~object.__getattribute__`, class methods, and static methods." -msgstr "" - -#: ../../glossary.rst:999 -msgid "object" -msgstr "objek" - -#: ../../glossary.rst:1001 -msgid "" -"Any data with state (attributes or value) and defined behavior (methods). " -"Also the ultimate base class of any :term:`new-style class`." -msgstr "" - -#: ../../glossary.rst:1004 -msgid "optimized scope" -msgstr "" - -#: ../../glossary.rst:1006 -msgid "" -"A scope where target local variable names are reliably known to the compiler" -" when the code is compiled, allowing optimization of read and write access " -"to these names. The local namespaces for functions, generators, coroutines, " -"comprehensions, and generator expressions are optimized in this fashion. " -"Note: most interpreter optimizations are applied to all scopes, only those " -"relying on a known set of local and nonlocal variable names are restricted " -"to optimized scopes." -msgstr "" - -#: ../../glossary.rst:1013 -msgid "package" -msgstr "paket" - -#: ../../glossary.rst:1015 -msgid "" -"A Python :term:`module` which can contain submodules or recursively, " -"subpackages. Technically, a package is a Python module with a ``__path__`` " -"attribute." -msgstr "" - -#: ../../glossary.rst:1019 -msgid "See also :term:`regular package` and :term:`namespace package`." -msgstr "" - -#: ../../glossary.rst:1020 -msgid "parameter" -msgstr "parameter" - -#: ../../glossary.rst:1022 -msgid "" -"A named entity in a :term:`function` (or method) definition that specifies " -"an :term:`argument` (or in some cases, arguments) that the function can " -"accept. There are five kinds of parameter:" -msgstr "" - -#: ../../glossary.rst:1026 -msgid "" -":dfn:`positional-or-keyword`: specifies an argument that can be passed " -"either :term:`positionally ` or as a :term:`keyword argument " -"`. This is the default kind of parameter, for example *foo* and " -"*bar* in the following::" -msgstr "" - -#: ../../glossary.rst:1031 -msgid "def func(foo, bar=None): ..." -msgstr "" - -#: ../../glossary.rst:1035 -msgid "" -":dfn:`positional-only`: specifies an argument that can be supplied only by " -"position. Positional-only parameters can be defined by including a ``/`` " -"character in the parameter list of the function definition after them, for " -"example *posonly1* and *posonly2* in the following::" -msgstr "" - -#: ../../glossary.rst:1040 -msgid "def func(posonly1, posonly2, /, positional_or_keyword): ..." -msgstr "" - -#: ../../glossary.rst:1044 -msgid "" -":dfn:`keyword-only`: specifies an argument that can be supplied only by " -"keyword. Keyword-only parameters can be defined by including a single var-" -"positional parameter or bare ``*`` in the parameter list of the function " -"definition before them, for example *kw_only1* and *kw_only2* in the " -"following::" -msgstr "" - -#: ../../glossary.rst:1050 -msgid "def func(arg, *, kw_only1, kw_only2): ..." -msgstr "" - -#: ../../glossary.rst:1052 -msgid "" -":dfn:`var-positional`: specifies that an arbitrary sequence of positional " -"arguments can be provided (in addition to any positional arguments already " -"accepted by other parameters). Such a parameter can be defined by " -"prepending the parameter name with ``*``, for example *args* in the " -"following::" -msgstr "" - -#: ../../glossary.rst:1058 -msgid "def func(*args, **kwargs): ..." -msgstr "" - -#: ../../glossary.rst:1060 -msgid "" -":dfn:`var-keyword`: specifies that arbitrarily many keyword arguments can be" -" provided (in addition to any keyword arguments already accepted by other " -"parameters). Such a parameter can be defined by prepending the parameter " -"name with ``**``, for example *kwargs* in the example above." -msgstr "" - -#: ../../glossary.rst:1066 -msgid "" -"Parameters can specify both optional and required arguments, as well as " -"default values for some optional arguments." -msgstr "" - -#: ../../glossary.rst:1069 -msgid "" -"See also the :term:`argument` glossary entry, the FAQ question on :ref:`the " -"difference between arguments and parameters `, " -"the :class:`inspect.Parameter` class, the :ref:`function` section, and " -":pep:`362`." -msgstr "" - -#: ../../glossary.rst:1073 -msgid "path entry" -msgstr "" - -#: ../../glossary.rst:1075 -msgid "" -"A single location on the :term:`import path` which the :term:`path based " -"finder` consults to find modules for importing." -msgstr "" - -#: ../../glossary.rst:1077 -msgid "path entry finder" -msgstr "" - -#: ../../glossary.rst:1079 -msgid "" -"A :term:`finder` returned by a callable on :data:`sys.path_hooks` (i.e. a " -":term:`path entry hook`) which knows how to locate modules given a " -":term:`path entry`." -msgstr "" - -#: ../../glossary.rst:1083 -msgid "" -"See :class:`importlib.abc.PathEntryFinder` for the methods that path entry " -"finders implement." -msgstr "" - -#: ../../glossary.rst:1085 -msgid "path entry hook" -msgstr "" - -#: ../../glossary.rst:1087 -msgid "" -"A callable on the :data:`sys.path_hooks` list which returns a :term:`path " -"entry finder` if it knows how to find modules on a specific :term:`path " -"entry`." -msgstr "" - -#: ../../glossary.rst:1090 -msgid "path based finder" -msgstr "" - -#: ../../glossary.rst:1092 -msgid "" -"One of the default :term:`meta path finders ` which " -"searches an :term:`import path` for modules." -msgstr "" - -#: ../../glossary.rst:1094 -msgid "path-like object" -msgstr "" - -#: ../../glossary.rst:1096 -msgid "" -"An object representing a file system path. A path-like object is either a " -":class:`str` or :class:`bytes` object representing a path, or an object " -"implementing the :class:`os.PathLike` protocol. An object that supports the " -":class:`os.PathLike` protocol can be converted to a :class:`str` or " -":class:`bytes` file system path by calling the :func:`os.fspath` function; " -":func:`os.fsdecode` and :func:`os.fsencode` can be used to guarantee a " -":class:`str` or :class:`bytes` result instead, respectively. Introduced by " -":pep:`519`." -msgstr "" - -#: ../../glossary.rst:1104 -msgid "PEP" -msgstr "PEP" - -#: ../../glossary.rst:1106 -msgid "" -"Python Enhancement Proposal. A PEP is a design document providing " -"information to the Python community, or describing a new feature for Python " -"or its processes or environment. PEPs should provide a concise technical " -"specification and a rationale for proposed features." -msgstr "" - -#: ../../glossary.rst:1112 -msgid "" -"PEPs are intended to be the primary mechanisms for proposing major new " -"features, for collecting community input on an issue, and for documenting " -"the design decisions that have gone into Python. The PEP author is " -"responsible for building consensus within the community and documenting " -"dissenting opinions." -msgstr "" - -#: ../../glossary.rst:1118 -msgid "See :pep:`1`." -msgstr "Lihat :pep:`1`." - -#: ../../glossary.rst:1119 -msgid "portion" -msgstr "porsi" - -#: ../../glossary.rst:1121 -msgid "" -"A set of files in a single directory (possibly stored in a zip file) that " -"contribute to a namespace package, as defined in :pep:`420`." -msgstr "" - -#: ../../glossary.rst:1123 -msgid "positional argument" -msgstr "" - -#: ../../glossary.rst:1126 -msgid "provisional API" -msgstr "" - -#: ../../glossary.rst:1128 -msgid "" -"A provisional API is one which has been deliberately excluded from the " -"standard library's backwards compatibility guarantees. While major changes " -"to such interfaces are not expected, as long as they are marked provisional," -" backwards incompatible changes (up to and including removal of the " -"interface) may occur if deemed necessary by core developers. Such changes " -"will not be made gratuitously -- they will occur only if serious fundamental" -" flaws are uncovered that were missed prior to the inclusion of the API." -msgstr "" - -#: ../../glossary.rst:1137 -msgid "" -"Even for provisional APIs, backwards incompatible changes are seen as a " -"\"solution of last resort\" - every attempt will still be made to find a " -"backwards compatible resolution to any identified problems." -msgstr "" - -#: ../../glossary.rst:1141 -msgid "" -"This process allows the standard library to continue to evolve over time, " -"without locking in problematic design errors for extended periods of time. " -"See :pep:`411` for more details." -msgstr "" - -#: ../../glossary.rst:1144 -msgid "provisional package" -msgstr "" - -#: ../../glossary.rst:1146 -msgid "See :term:`provisional API`." -msgstr "Lihat :term:`provisional API`." - -#: ../../glossary.rst:1147 -msgid "Python 3000" -msgstr "Python 3000" - -#: ../../glossary.rst:1149 -msgid "" -"Nickname for the Python 3.x release line (coined long ago when the release " -"of version 3 was something in the distant future.) This is also abbreviated" -" \"Py3k\"." -msgstr "" - -#: ../../glossary.rst:1152 -msgid "Pythonic" -msgstr "" - -#: ../../glossary.rst:1154 -msgid "" -"An idea or piece of code which closely follows the most common idioms of the" -" Python language, rather than implementing code using concepts common to " -"other languages. For example, a common idiom in Python is to loop over all " -"elements of an iterable using a :keyword:`for` statement. Many other " -"languages don't have this type of construct, so people unfamiliar with " -"Python sometimes use a numerical counter instead::" -msgstr "" - -#: ../../glossary.rst:1161 -msgid "" -"for i in range(len(food)):\n" -" print(food[i])" -msgstr "" - -#: ../../glossary.rst:1164 -msgid "As opposed to the cleaner, Pythonic method::" -msgstr "" - -#: ../../glossary.rst:1166 -msgid "" -"for piece in food:\n" -" print(piece)" -msgstr "" - -#: ../../glossary.rst:1168 -msgid "qualified name" -msgstr "nama yang memenuhi syarat" - -#: ../../glossary.rst:1170 -msgid "" -"A dotted name showing the \"path\" from a module's global scope to a class, " -"function or method defined in that module, as defined in :pep:`3155`. For " -"top-level functions and classes, the qualified name is the same as the " -"object's name::" -msgstr "" - -#: ../../glossary.rst:1175 -msgid "" -">>> class C:\n" -"... class D:\n" -"... def meth(self):\n" -"... pass\n" -"...\n" -">>> C.__qualname__\n" -"'C'\n" -">>> C.D.__qualname__\n" -"'C.D'\n" -">>> C.D.meth.__qualname__\n" -"'C.D.meth'" -msgstr "" - -#: ../../glossary.rst:1187 -msgid "" -"When used to refer to modules, the *fully qualified name* means the entire " -"dotted path to the module, including any parent packages, e.g. " -"``email.mime.text``::" -msgstr "" - -#: ../../glossary.rst:1191 -msgid "" -">>> import email.mime.text\n" -">>> email.mime.text.__name__\n" -"'email.mime.text'" -msgstr "" - -#: ../../glossary.rst:1194 -msgid "reference count" -msgstr "jumlah referensi" - -#: ../../glossary.rst:1196 -msgid "" -"The number of references to an object. When the reference count of an " -"object drops to zero, it is deallocated. Some objects are :term:`immortal` " -"and have reference counts that are never modified, and therefore the objects" -" are never deallocated. Reference counting is generally not visible to " -"Python code, but it is a key element of the :term:`CPython` implementation." -" Programmers can call the :func:`sys.getrefcount` function to return the " -"reference count for a particular object." -msgstr "" - -#: ../../glossary.rst:1204 -msgid "regular package" -msgstr "paket biasa" - -#: ../../glossary.rst:1206 -msgid "" -"A traditional :term:`package`, such as a directory containing an " -"``__init__.py`` file." -msgstr "" - -#: ../../glossary.rst:1209 -msgid "See also :term:`namespace package`." -msgstr "Lihat juga :term:`namespace package`." - -#: ../../glossary.rst:1210 -msgid "REPL" -msgstr "" - -#: ../../glossary.rst:1212 -msgid "" -"An acronym for the \"read–eval–print loop\", another name for the " -":term:`interactive` interpreter shell." -msgstr "" - -#: ../../glossary.rst:1214 -msgid "__slots__" -msgstr "" - -#: ../../glossary.rst:1216 -msgid "" -"A declaration inside a class that saves memory by pre-declaring space for " -"instance attributes and eliminating instance dictionaries. Though popular, " -"the technique is somewhat tricky to get right and is best reserved for rare " -"cases where there are large numbers of instances in a memory-critical " -"application." -msgstr "" - -#: ../../glossary.rst:1221 -msgid "sequence" -msgstr "urutan" - -#: ../../glossary.rst:1223 -msgid "" -"An :term:`iterable` which supports efficient element access using integer " -"indices via the :meth:`~object.__getitem__` special method and defines a " -":meth:`~object.__len__` method that returns the length of the sequence. Some" -" built-in sequence types are :class:`list`, :class:`str`, :class:`tuple`, " -"and :class:`bytes`. Note that :class:`dict` also supports " -":meth:`~object.__getitem__` and :meth:`!__len__`, but is considered a " -"mapping rather than a sequence because the lookups use arbitrary " -":term:`hashable` keys rather than integers." -msgstr "" - -#: ../../glossary.rst:1232 -msgid "" -"The :class:`collections.abc.Sequence` abstract base class defines a much " -"richer interface that goes beyond just :meth:`~object.__getitem__` and " -":meth:`~object.__len__`, adding :meth:`!count`, :meth:`!index`, " -":meth:`~object.__contains__`, and :meth:`~object.__reversed__`. Types that " -"implement this expanded interface can be registered explicitly using " -":func:`~abc.ABCMeta.register`. For more documentation on sequence methods " -"generally, see :ref:`Common Sequence Operations `." -msgstr "" - -#: ../../glossary.rst:1241 -msgid "set comprehension" -msgstr "" - -#: ../../glossary.rst:1243 -msgid "" -"A compact way to process all or part of the elements in an iterable and " -"return a set with the results. ``results = {c for c in 'abracadabra' if c " -"not in 'abc'}`` generates the set of strings ``{'r', 'd'}``. See " -":ref:`comprehensions`." -msgstr "" - -#: ../../glossary.rst:1247 -msgid "single dispatch" -msgstr "" - -#: ../../glossary.rst:1249 -msgid "" -"A form of :term:`generic function` dispatch where the implementation is " -"chosen based on the type of a single argument." -msgstr "" - -#: ../../glossary.rst:1251 -msgid "slice" -msgstr "" - -#: ../../glossary.rst:1253 -msgid "" -"An object usually containing a portion of a :term:`sequence`. A slice is " -"created using the subscript notation, ``[]`` with colons between numbers " -"when several are given, such as in ``variable_name[1:3:5]``. The bracket " -"(subscript) notation uses :class:`slice` objects internally." -msgstr "" - -#: ../../glossary.rst:1257 -msgid "soft deprecated" -msgstr "" - -#: ../../glossary.rst:1259 -msgid "" -"A soft deprecated API should not be used in new code, but it is safe for " -"already existing code to use it. The API remains documented and tested, but " -"will not be enhanced further." -msgstr "" - -#: ../../glossary.rst:1263 -msgid "" -"Soft deprecation, unlike normal deprecation, does not plan on removing the " -"API and will not emit warnings." -msgstr "" - -#: ../../glossary.rst:1266 -msgid "" -"See `PEP 387: Soft Deprecation `_." -msgstr "" - -#: ../../glossary.rst:1268 -msgid "special method" -msgstr "" - -#: ../../glossary.rst:1272 -msgid "" -"A method that is called implicitly by Python to execute a certain operation " -"on a type, such as addition. Such methods have names starting and ending " -"with double underscores. Special methods are documented in " -":ref:`specialnames`." -msgstr "" - -#: ../../glossary.rst:1276 -msgid "statement" -msgstr "pernyataan" - -#: ../../glossary.rst:1278 -msgid "" -"A statement is part of a suite (a \"block\" of code). A statement is either" -" an :term:`expression` or one of several constructs with a keyword, such as " -":keyword:`if`, :keyword:`while` or :keyword:`for`." -msgstr "" - -#: ../../glossary.rst:1281 -msgid "static type checker" -msgstr "" - -#: ../../glossary.rst:1283 -msgid "" -"An external tool that reads Python code and analyzes it, looking for issues " -"such as incorrect types. See also :term:`type hints ` and the " -":mod:`typing` module." -msgstr "" - -#: ../../glossary.rst:1286 -msgid "strong reference" -msgstr "" - -#: ../../glossary.rst:1288 -msgid "" -"In Python's C API, a strong reference is a reference to an object which is " -"owned by the code holding the reference. The strong reference is taken by " -"calling :c:func:`Py_INCREF` when the reference is created and released with " -":c:func:`Py_DECREF` when the reference is deleted." -msgstr "" - -#: ../../glossary.rst:1294 -msgid "" -"The :c:func:`Py_NewRef` function can be used to create a strong reference to" -" an object. Usually, the :c:func:`Py_DECREF` function must be called on the " -"strong reference before exiting the scope of the strong reference, to avoid " -"leaking one reference." -msgstr "" - -#: ../../glossary.rst:1299 -msgid "See also :term:`borrowed reference`." -msgstr "" - -#: ../../glossary.rst:1300 -msgid "text encoding" -msgstr "" - -#: ../../glossary.rst:1302 -msgid "" -"A string in Python is a sequence of Unicode code points (in range " -"``U+0000``--``U+10FFFF``). To store or transfer a string, it needs to be " -"serialized as a sequence of bytes." -msgstr "" - -#: ../../glossary.rst:1306 -msgid "" -"Serializing a string into a sequence of bytes is known as \"encoding\", and " -"recreating the string from the sequence of bytes is known as \"decoding\"." -msgstr "" - -#: ../../glossary.rst:1309 -msgid "" -"There are a variety of different text serialization :ref:`codecs `, which are collectively referred to as \"text encodings\"." -msgstr "" - -#: ../../glossary.rst:1312 -msgid "text file" -msgstr "berkas teks" - -#: ../../glossary.rst:1314 -msgid "" -"A :term:`file object` able to read and write :class:`str` objects. Often, a " -"text file actually accesses a byte-oriented datastream and handles the " -":term:`text encoding` automatically. Examples of text files are files opened" -" in text mode (``'r'`` or ``'w'``), :data:`sys.stdin`, :data:`sys.stdout`, " -"and instances of :class:`io.StringIO`." -msgstr "" - -#: ../../glossary.rst:1321 -msgid "" -"See also :term:`binary file` for a file object able to read and write " -":term:`bytes-like objects `." -msgstr "" - -#: ../../glossary.rst:1323 -msgid "thread state" -msgstr "" - -#: ../../glossary.rst:1326 -msgid "" -"The information used by the :term:`CPython` runtime to run in an OS thread. " -"For example, this includes the current exception, if any, and the state of " -"the bytecode interpreter." -msgstr "" - -#: ../../glossary.rst:1330 -msgid "" -"Each thread state is bound to a single OS thread, but threads may have many " -"thread states available. At most, one of them may be :term:`attached " -"` at once." -msgstr "" - -#: ../../glossary.rst:1334 -msgid "" -"An :term:`attached thread state` is required to call most of Python's C API," -" unless a function explicitly documents otherwise. The bytecode interpreter " -"only runs under an attached thread state." -msgstr "" - -#: ../../glossary.rst:1338 -msgid "" -"Each thread state belongs to a single interpreter, but each interpreter may " -"have many thread states, including multiple for the same OS thread. Thread " -"states from multiple interpreters may be bound to the same thread, but only " -"one can be :term:`attached ` in that thread at any " -"given moment." -msgstr "" - -#: ../../glossary.rst:1344 -msgid "" -"See :ref:`Thread State and the Global Interpreter Lock ` for more " -"information." -msgstr "" - -#: ../../glossary.rst:1346 -msgid "token" -msgstr "" - -#: ../../glossary.rst:1349 -msgid "" -"A small unit of source code, generated by the :ref:`lexical analyzer " -"` (also called the *tokenizer*). Names, numbers, strings, " -"operators, newlines and similar are represented by tokens." -msgstr "" - -#: ../../glossary.rst:1354 -msgid "" -"The :mod:`tokenize` module exposes Python's lexical analyzer. The " -":mod:`token` module contains information on the various types of tokens." -msgstr "" - -#: ../../glossary.rst:1357 -msgid "triple-quoted string" -msgstr "teks tiga-kutip" - -#: ../../glossary.rst:1359 -msgid "" -"A string which is bound by three instances of either a quotation mark (\") " -"or an apostrophe ('). While they don't provide any functionality not " -"available with single-quoted strings, they are useful for a number of " -"reasons. They allow you to include unescaped single and double quotes " -"within a string and they can span multiple lines without the use of the " -"continuation character, making them especially useful when writing " -"docstrings." -msgstr "" - -#: ../../glossary.rst:1366 -msgid "type" -msgstr "tipe" - -#: ../../glossary.rst:1368 -msgid "" -"The type of a Python object determines what kind of object it is; every " -"object has a type. An object's type is accessible as its " -":attr:`~object.__class__` attribute or can be retrieved with ``type(obj)``." -msgstr "" - -#: ../../glossary.rst:1372 -msgid "type alias" -msgstr "" - -#: ../../glossary.rst:1374 -msgid "A synonym for a type, created by assigning the type to an identifier." -msgstr "" - -#: ../../glossary.rst:1376 -msgid "" -"Type aliases are useful for simplifying :term:`type hints `. For " -"example::" -msgstr "" - -#: ../../glossary.rst:1379 -msgid "" -"def remove_gray_shades(\n" -" colors: list[tuple[int, int, int]]) -> list[tuple[int, int, int]]:\n" -" pass" -msgstr "" - -#: ../../glossary.rst:1383 -msgid "could be made more readable like this::" -msgstr "" - -#: ../../glossary.rst:1385 -msgid "" -"Color = tuple[int, int, int]\n" -"\n" -"def remove_gray_shades(colors: list[Color]) -> list[Color]:\n" -" pass" -msgstr "" - -#: ../../glossary.rst:1390 ../../glossary.rst:1404 -msgid "See :mod:`typing` and :pep:`484`, which describe this functionality." -msgstr "" - -#: ../../glossary.rst:1391 -msgid "type hint" -msgstr "" - -#: ../../glossary.rst:1393 -msgid "" -"An :term:`annotation` that specifies the expected type for a variable, a " -"class attribute, or a function parameter or return value." -msgstr "" - -#: ../../glossary.rst:1396 -msgid "" -"Type hints are optional and are not enforced by Python but they are useful " -"to :term:`static type checkers `. They can also aid " -"IDEs with code completion and refactoring." -msgstr "" - -#: ../../glossary.rst:1400 -msgid "" -"Type hints of global variables, class attributes, and functions, but not " -"local variables, can be accessed using :func:`typing.get_type_hints`." -msgstr "" - -#: ../../glossary.rst:1405 -msgid "universal newlines" -msgstr "" - -#: ../../glossary.rst:1407 -msgid "" -"A manner of interpreting text streams in which all of the following are " -"recognized as ending a line: the Unix end-of-line convention ``'\\n'``, the " -"Windows convention ``'\\r\\n'``, and the old Macintosh convention ``'\\r'``." -" See :pep:`278` and :pep:`3116`, as well as :func:`bytes.splitlines` for an" -" additional use." -msgstr "" - -#: ../../glossary.rst:1412 -msgid "variable annotation" -msgstr "anotasi variabel" - -#: ../../glossary.rst:1414 -msgid "An :term:`annotation` of a variable or a class attribute." -msgstr "" - -#: ../../glossary.rst:1416 -msgid "" -"When annotating a variable or a class attribute, assignment is optional::" -msgstr "" - -#: ../../glossary.rst:1418 -msgid "" -"class C:\n" -" field: 'annotation'" -msgstr "" - -#: ../../glossary.rst:1421 -msgid "" -"Variable annotations are usually used for :term:`type hints `: " -"for example this variable is expected to take :class:`int` values::" -msgstr "" - -#: ../../glossary.rst:1425 -msgid "count: int = 0" -msgstr "" - -#: ../../glossary.rst:1427 -msgid "Variable annotation syntax is explained in section :ref:`annassign`." -msgstr "" - -#: ../../glossary.rst:1429 -msgid "" -"See :term:`function annotation`, :pep:`484` and :pep:`526`, which describe " -"this functionality. Also see :ref:`annotations-howto` for best practices on " -"working with annotations." -msgstr "" - -#: ../../glossary.rst:1433 -msgid "virtual environment" -msgstr "lingkungan virtual" - -#: ../../glossary.rst:1435 -msgid "" -"A cooperatively isolated runtime environment that allows Python users and " -"applications to install and upgrade Python distribution packages without " -"interfering with the behaviour of other Python applications running on the " -"same system." -msgstr "" -"Lingkungan runtime kooperatif yang memungkinkan pengguna dan aplikasi Python" -" untuk menginstal dan memperbarui paket distribusi Python tanpa mengganggu " -"perilaku aplikasi Python lain yang berjalan pada sistem yang sama." - -#: ../../glossary.rst:1440 -msgid "See also :mod:`venv`." -msgstr "Lihat juga :mod:`venv`." - -#: ../../glossary.rst:1441 -msgid "virtual machine" -msgstr "mesin virtual" - -#: ../../glossary.rst:1443 -msgid "" -"A computer defined entirely in software. Python's virtual machine executes " -"the :term:`bytecode` emitted by the bytecode compiler." -msgstr "" - -#: ../../glossary.rst:1445 -msgid "Zen of Python" -msgstr "" - -#: ../../glossary.rst:1447 -msgid "" -"Listing of Python design principles and philosophies that are helpful in " -"understanding and using the language. The listing can be found by typing " -"\"``import this``\" at the interactive prompt." -msgstr "" - -#: ../../glossary.rst:319 -msgid "C-contiguous" -msgstr "" - -#: ../../glossary.rst:319 -msgid "Fortran contiguous" -msgstr "" - -#: ../../glossary.rst:870 -msgid "magic" -msgstr "" - -#: ../../glossary.rst:1270 -msgid "special" -msgstr "" diff --git a/python-newest.howto--annotations/id.po b/python-newest.howto--annotations/id.po deleted file mode 100644 index 5ef77a3..0000000 --- a/python-newest.howto--annotations/id.po +++ /dev/null @@ -1,387 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi (OonID) , 2021 -# Akhmat Safrudin , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Akhmat Safrudin , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/annotations.rst:5 -msgid "Annotations Best Practices" -msgstr "" - -#: ../../howto/annotations.rst:0 -msgid "author" -msgstr "penulis" - -#: ../../howto/annotations.rst:7 -msgid "Larry Hastings" -msgstr "Larry Hastings" - -#: ../../howto/annotations.rst-1 -msgid "Abstract" -msgstr "Abstrak" - -#: ../../howto/annotations.rst:11 -msgid "" -"This document is designed to encapsulate the best practices for working with" -" annotations dicts. If you write Python code that examines " -"``__annotations__`` on Python objects, we encourage you to follow the " -"guidelines described below." -msgstr "" - -#: ../../howto/annotations.rst:16 -msgid "" -"The document is organized into four sections: best practices for accessing " -"the annotations of an object in Python versions 3.10 and newer, best " -"practices for accessing the annotations of an object in Python versions 3.9 " -"and older, other best practices for ``__annotations__`` that apply to any " -"Python version, and quirks of ``__annotations__``." -msgstr "" - -#: ../../howto/annotations.rst:26 -msgid "" -"Note that this document is specifically about working with " -"``__annotations__``, not uses *for* annotations. If you're looking for " -"information on how to use \"type hints\" in your code, please see the " -":mod:`typing` module." -msgstr "" - -#: ../../howto/annotations.rst:33 -msgid "Accessing The Annotations Dict Of An Object In Python 3.10 And Newer" -msgstr "" - -#: ../../howto/annotations.rst:35 -msgid "" -"Python 3.10 adds a new function to the standard library: " -":func:`inspect.get_annotations`. In Python versions 3.10 through 3.13, " -"calling this function is the best practice for accessing the annotations " -"dict of any object that supports annotations. This function can also \"un-" -"stringize\" stringized annotations for you." -msgstr "" - -#: ../../howto/annotations.rst:42 -msgid "" -"In Python 3.14, there is a new :mod:`annotationlib` module with " -"functionality for working with annotations. This includes a " -":func:`annotationlib.get_annotations` function, which supersedes " -":func:`inspect.get_annotations`." -msgstr "" - -#: ../../howto/annotations.rst:47 -msgid "" -"If for some reason :func:`inspect.get_annotations` isn't viable for your use" -" case, you may access the ``__annotations__`` data member manually. Best " -"practice for this changed in Python 3.10 as well: as of Python 3.10, " -"``o.__annotations__`` is guaranteed to *always* work on Python functions, " -"classes, and modules. If you're certain the object you're examining is one " -"of these three *specific* objects, you may simply use ``o.__annotations__`` " -"to get at the object's annotations dict." -msgstr "" - -#: ../../howto/annotations.rst:57 -msgid "" -"However, other types of callables--for example, callables created by " -":func:`functools.partial`--may not have an ``__annotations__`` attribute " -"defined. When accessing the ``__annotations__`` of a possibly unknown " -"object, best practice in Python versions 3.10 and newer is to call " -":func:`getattr` with three arguments, for example ``getattr(o, " -"'__annotations__', None)``." -msgstr "" - -#: ../../howto/annotations.rst:65 -msgid "" -"Before Python 3.10, accessing ``__annotations__`` on a class that defines no" -" annotations but that has a parent class with annotations would return the " -"parent's ``__annotations__``. In Python 3.10 and newer, the child class's " -"annotations will be an empty dict instead." -msgstr "" - -#: ../../howto/annotations.rst:73 -msgid "Accessing The Annotations Dict Of An Object In Python 3.9 And Older" -msgstr "" - -#: ../../howto/annotations.rst:75 -msgid "" -"In Python 3.9 and older, accessing the annotations dict of an object is much" -" more complicated than in newer versions. The problem is a design flaw in " -"these older versions of Python, specifically to do with class annotations." -msgstr "" - -#: ../../howto/annotations.rst:80 -msgid "" -"Best practice for accessing the annotations dict of other objects--" -"functions, other callables, and modules--is the same as best practice for " -"3.10, assuming you aren't calling :func:`inspect.get_annotations`: you " -"should use three-argument :func:`getattr` to access the object's " -"``__annotations__`` attribute." -msgstr "" - -#: ../../howto/annotations.rst:87 -msgid "" -"Unfortunately, this isn't best practice for classes. The problem is that, " -"since ``__annotations__`` is optional on classes, and because classes can " -"inherit attributes from their base classes, accessing the " -"``__annotations__`` attribute of a class may inadvertently return the " -"annotations dict of a *base class.* As an example::" -msgstr "" - -#: ../../howto/annotations.rst:94 -msgid "" -"class Base:\n" -" a: int = 3\n" -" b: str = 'abc'\n" -"\n" -"class Derived(Base):\n" -" pass\n" -"\n" -"print(Derived.__annotations__)" -msgstr "" - -#: ../../howto/annotations.rst:103 -msgid "This will print the annotations dict from ``Base``, not ``Derived``." -msgstr "" - -#: ../../howto/annotations.rst:106 -msgid "" -"Your code will have to have a separate code path if the object you're " -"examining is a class (``isinstance(o, type)``). In that case, best practice " -"relies on an implementation detail of Python 3.9 and before: if a class has " -"annotations defined, they are stored in the class's :attr:`~type.__dict__` " -"dictionary. Since the class may or may not have annotations defined, best " -"practice is to call the :meth:`~dict.get` method on the class dict." -msgstr "" - -#: ../../howto/annotations.rst:114 -msgid "" -"To put it all together, here is some sample code that safely accesses the " -"``__annotations__`` attribute on an arbitrary object in Python 3.9 and " -"before::" -msgstr "" - -#: ../../howto/annotations.rst:118 -msgid "" -"if isinstance(o, type):\n" -" ann = o.__dict__.get('__annotations__', None)\n" -"else:\n" -" ann = getattr(o, '__annotations__', None)" -msgstr "" - -#: ../../howto/annotations.rst:123 -msgid "" -"After running this code, ``ann`` should be either a dictionary or ``None``." -" You're encouraged to double-check the type of ``ann`` using " -":func:`isinstance` before further examination." -msgstr "" - -#: ../../howto/annotations.rst:128 -msgid "" -"Note that some exotic or malformed type objects may not have a " -":attr:`~type.__dict__` attribute, so for extra safety you may also wish to " -"use :func:`getattr` to access :attr:`!__dict__`." -msgstr "" - -#: ../../howto/annotations.rst:134 -msgid "Manually Un-Stringizing Stringized Annotations" -msgstr "" - -#: ../../howto/annotations.rst:136 -msgid "" -"In situations where some annotations may be \"stringized\", and you wish to " -"evaluate those strings to produce the Python values they represent, it " -"really is best to call :func:`inspect.get_annotations` to do this work for " -"you." -msgstr "" - -#: ../../howto/annotations.rst:142 -msgid "" -"If you're using Python 3.9 or older, or if for some reason you can't use " -":func:`inspect.get_annotations`, you'll need to duplicate its logic. You're" -" encouraged to examine the implementation of :func:`inspect.get_annotations`" -" in the current Python version and follow a similar approach." -msgstr "" - -#: ../../howto/annotations.rst:148 -msgid "" -"In a nutshell, if you wish to evaluate a stringized annotation on an " -"arbitrary object ``o``:" -msgstr "" - -#: ../../howto/annotations.rst:151 -msgid "" -"If ``o`` is a module, use ``o.__dict__`` as the ``globals`` when calling " -":func:`eval`." -msgstr "" - -#: ../../howto/annotations.rst:153 -msgid "" -"If ``o`` is a class, use ``sys.modules[o.__module__].__dict__`` as the " -"``globals``, and ``dict(vars(o))`` as the ``locals``, when calling " -":func:`eval`." -msgstr "" - -#: ../../howto/annotations.rst:156 -msgid "" -"If ``o`` is a wrapped callable using :func:`functools.update_wrapper`, " -":func:`functools.wraps`, or :func:`functools.partial`, iteratively unwrap it" -" by accessing either ``o.__wrapped__`` or ``o.func`` as appropriate, until " -"you have found the root unwrapped function." -msgstr "" - -#: ../../howto/annotations.rst:160 -msgid "" -"If ``o`` is a callable (but not a class), use :attr:`o.__globals__ " -"` as the globals when calling :func:`eval`." -msgstr "" - -#: ../../howto/annotations.rst:164 -msgid "" -"However, not all string values used as annotations can be successfully " -"turned into Python values by :func:`eval`. String values could theoretically" -" contain any valid string, and in practice there are valid use cases for " -"type hints that require annotating with string values that specifically " -"*can't* be evaluated. For example:" -msgstr "" - -#: ../../howto/annotations.rst:171 -msgid "" -":pep:`604` union types using ``|``, before support for this was added to " -"Python 3.10." -msgstr "" - -#: ../../howto/annotations.rst:173 -msgid "" -"Definitions that aren't needed at runtime, only imported when " -":const:`typing.TYPE_CHECKING` is true." -msgstr "" - -#: ../../howto/annotations.rst:176 -msgid "" -"If :func:`eval` attempts to evaluate such values, it will fail and raise an " -"exception. So, when designing a library API that works with annotations, " -"it's recommended to only attempt to evaluate string values when explicitly " -"requested to by the caller." -msgstr "" - -#: ../../howto/annotations.rst:184 -msgid "Best Practices For ``__annotations__`` In Any Python Version" -msgstr "" - -#: ../../howto/annotations.rst:186 -msgid "" -"You should avoid assigning to the ``__annotations__`` member of objects " -"directly. Let Python manage setting ``__annotations__``." -msgstr "" - -#: ../../howto/annotations.rst:189 -msgid "" -"If you do assign directly to the ``__annotations__`` member of an object, " -"you should always set it to a ``dict`` object." -msgstr "" - -#: ../../howto/annotations.rst:192 -msgid "" -"You should avoid accessing ``__annotations__`` directly on any object. " -"Instead, use :func:`annotationlib.get_annotations` (Python 3.14+) or " -":func:`inspect.get_annotations` (Python 3.10+)." -msgstr "" - -#: ../../howto/annotations.rst:196 -msgid "" -"If you do directly access the ``__annotations__`` member of an object, you " -"should ensure that it's a dictionary before attempting to examine its " -"contents." -msgstr "" - -#: ../../howto/annotations.rst:200 -msgid "You should avoid modifying ``__annotations__`` dicts." -msgstr "" - -#: ../../howto/annotations.rst:202 -msgid "" -"You should avoid deleting the ``__annotations__`` attribute of an object." -msgstr "" - -#: ../../howto/annotations.rst:207 -msgid "``__annotations__`` Quirks" -msgstr "" - -#: ../../howto/annotations.rst:209 -msgid "" -"In all versions of Python 3, function objects lazy-create an annotations " -"dict if no annotations are defined on that object. You can delete the " -"``__annotations__`` attribute using ``del fn.__annotations__``, but if you " -"then access ``fn.__annotations__`` the object will create a new empty dict " -"that it will store and return as its annotations. Deleting the annotations " -"on a function before it has lazily created its annotations dict will throw " -"an ``AttributeError``; using ``del fn.__annotations__`` twice in a row is " -"guaranteed to always throw an ``AttributeError``." -msgstr "" - -#: ../../howto/annotations.rst:219 -msgid "" -"Everything in the above paragraph also applies to class and module objects " -"in Python 3.10 and newer." -msgstr "" - -#: ../../howto/annotations.rst:222 -msgid "" -"In all versions of Python 3, you can set ``__annotations__`` on a function " -"object to ``None``. However, subsequently accessing the annotations on that" -" object using ``fn.__annotations__`` will lazy-create an empty dictionary as" -" per the first paragraph of this section. This is *not* true of modules and" -" classes, in any Python version; those objects permit setting " -"``__annotations__`` to any Python value, and will retain whatever value is " -"set." -msgstr "" - -#: ../../howto/annotations.rst:230 -msgid "" -"If Python stringizes your annotations for you (using ``from __future__ " -"import annotations``), and you specify a string as an annotation, the string" -" will itself be quoted. In effect the annotation is quoted *twice.* For " -"example::" -msgstr "" - -#: ../../howto/annotations.rst:236 -msgid "" -"from __future__ import annotations\n" -"def foo(a: \"str\"): pass\n" -"\n" -"print(foo.__annotations__)" -msgstr "" - -#: ../../howto/annotations.rst:241 -msgid "" -"This prints ``{'a': \"'str'\"}``. This shouldn't really be considered a " -"\"quirk\"; it's mentioned here simply because it might be surprising." -msgstr "" - -#: ../../howto/annotations.rst:244 -msgid "" -"If you use a class with a custom metaclass and access ``__annotations__`` on" -" the class, you may observe unexpected behavior; see :pep:`749 " -"<749#pep749-metaclasses>` for some examples. You can avoid these quirks by " -"using :func:`annotationlib.get_annotations` on Python 3.14+ or " -":func:`inspect.get_annotations` on Python 3.10+. On earlier versions of " -"Python, you can avoid these bugs by accessing the annotations from the " -"class's :attr:`~type.__dict__` (e.g., ``cls.__dict__.get('__annotations__', " -"None)``)." -msgstr "" diff --git a/python-newest.howto--argparse-optparse/id.po b/python-newest.howto--argparse-optparse/id.po deleted file mode 100644 index 5e827b6..0000000 --- a/python-newest.howto--argparse-optparse/id.po +++ /dev/null @@ -1,136 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-10-11 14:19+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/argparse-optparse.rst:8 -msgid "Migrating ``optparse`` code to ``argparse``" -msgstr "" - -#: ../../howto/argparse-optparse.rst:10 -msgid "" -"The :mod:`argparse` module offers several higher level features not natively" -" provided by the :mod:`optparse` module, including:" -msgstr "" - -#: ../../howto/argparse-optparse.rst:13 -msgid "Handling positional arguments." -msgstr "" - -#: ../../howto/argparse-optparse.rst:14 -msgid "Supporting subcommands." -msgstr "" - -#: ../../howto/argparse-optparse.rst:15 -msgid "Allowing alternative option prefixes like ``+`` and ``/``." -msgstr "" - -#: ../../howto/argparse-optparse.rst:16 -msgid "Handling zero-or-more and one-or-more style arguments." -msgstr "" - -#: ../../howto/argparse-optparse.rst:17 -msgid "Producing more informative usage messages." -msgstr "" - -#: ../../howto/argparse-optparse.rst:18 -msgid "Providing a much simpler interface for custom ``type`` and ``action``." -msgstr "" - -#: ../../howto/argparse-optparse.rst:20 -msgid "" -"Originally, the :mod:`argparse` module attempted to maintain compatibility " -"with :mod:`optparse`. However, the fundamental design differences between " -"supporting declarative command line option processing (while leaving " -"positional argument processing to application code), and supporting both " -"named options and positional arguments in the declarative interface mean " -"that the API has diverged from that of ``optparse`` over time." -msgstr "" - -#: ../../howto/argparse-optparse.rst:27 -msgid "" -"As described in :ref:`choosing-an-argument-parser`, applications that are " -"currently using :mod:`optparse` and are happy with the way it works can just" -" continue to use ``optparse``." -msgstr "" - -#: ../../howto/argparse-optparse.rst:31 -msgid "" -"Application developers that are considering migrating should also review the" -" list of intrinsic behavioural differences described in that section before " -"deciding whether or not migration is desirable." -msgstr "" - -#: ../../howto/argparse-optparse.rst:35 -msgid "" -"For applications that do choose to migrate from :mod:`optparse` to " -":mod:`argparse`, the following suggestions should be helpful:" -msgstr "" - -#: ../../howto/argparse-optparse.rst:38 -msgid "" -"Replace all :meth:`optparse.OptionParser.add_option` calls with " -":meth:`ArgumentParser.add_argument` calls." -msgstr "" - -#: ../../howto/argparse-optparse.rst:41 -msgid "" -"Replace ``(options, args) = parser.parse_args()`` with ``args = " -"parser.parse_args()`` and add additional :meth:`ArgumentParser.add_argument`" -" calls for the positional arguments. Keep in mind that what was previously " -"called ``options``, now in the :mod:`argparse` context is called ``args``." -msgstr "" - -#: ../../howto/argparse-optparse.rst:46 -msgid "" -"Replace :meth:`optparse.OptionParser.disable_interspersed_args` by using " -":meth:`~ArgumentParser.parse_intermixed_args` instead of " -":meth:`~ArgumentParser.parse_args`." -msgstr "" - -#: ../../howto/argparse-optparse.rst:50 -msgid "" -"Replace callback actions and the ``callback_*`` keyword arguments with " -"``type`` or ``action`` arguments." -msgstr "" - -#: ../../howto/argparse-optparse.rst:53 -msgid "" -"Replace string names for ``type`` keyword arguments with the corresponding " -"type objects (e.g. int, float, complex, etc)." -msgstr "" - -#: ../../howto/argparse-optparse.rst:56 -msgid "" -"Replace :class:`optparse.Values` with :class:`Namespace` and " -":exc:`optparse.OptionError` and :exc:`optparse.OptionValueError` with " -":exc:`ArgumentError`." -msgstr "" - -#: ../../howto/argparse-optparse.rst:60 -msgid "" -"Replace strings with implicit arguments such as ``%default`` or ``%prog`` " -"with the standard Python syntax to use dictionaries to format strings, that " -"is, ``%(default)s`` and ``%(prog)s``." -msgstr "" - -#: ../../howto/argparse-optparse.rst:64 -msgid "" -"Replace the OptionParser constructor ``version`` argument with a call to " -"``parser.add_argument('--version', action='version', version='')``." -msgstr "" diff --git a/python-newest.howto--argparse/id.po b/python-newest.howto--argparse/id.po deleted file mode 100644 index 2797d1f..0000000 --- a/python-newest.howto--argparse/id.po +++ /dev/null @@ -1,1211 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/argparse.rst:5 -msgid "Argparse Tutorial" -msgstr "" - -#: ../../howto/argparse.rst:0 -msgid "author" -msgstr "penulis" - -#: ../../howto/argparse.rst:7 -msgid "Tshepang Mbambo" -msgstr "" - -#: ../../howto/argparse.rst:11 -msgid "" -"This tutorial is intended to be a gentle introduction to :mod:`argparse`, " -"the recommended command-line parsing module in the Python standard library." -msgstr "" - -#: ../../howto/argparse.rst:16 -msgid "" -"The standard library includes two other libraries directly related to " -"command-line parameter processing: the lower level :mod:`optparse` module " -"(which may require more code to configure for a given application, but also " -"allows an application to request behaviors that ``argparse`` doesn't " -"support), and the very low level :mod:`getopt` (which specifically serves as" -" an equivalent to the :c:func:`!getopt` family of functions available to C " -"programmers). While neither of those modules is covered directly in this " -"guide, many of the core concepts in ``argparse`` first originated in " -"``optparse``, so some aspects of this tutorial will also be relevant to " -"``optparse`` users." -msgstr "" - -#: ../../howto/argparse.rst:29 -msgid "Concepts" -msgstr "" - -#: ../../howto/argparse.rst:31 -msgid "" -"Let's show the sort of functionality that we are going to explore in this " -"introductory tutorial by making use of the :command:`ls` command:" -msgstr "" - -#: ../../howto/argparse.rst:34 -msgid "" -"$ ls\n" -"cpython devguide prog.py pypy rm-unused-function.patch\n" -"$ ls pypy\n" -"ctypes_configure demo dotviewer include lib_pypy lib-python ...\n" -"$ ls -l\n" -"total 20\n" -"drwxr-xr-x 19 wena wena 4096 Feb 18 18:51 cpython\n" -"drwxr-xr-x 4 wena wena 4096 Feb 8 12:04 devguide\n" -"-rwxr-xr-x 1 wena wena 535 Feb 19 00:05 prog.py\n" -"drwxr-xr-x 14 wena wena 4096 Feb 7 00:59 pypy\n" -"-rw-r--r-- 1 wena wena 741 Feb 18 01:01 rm-unused-function.patch\n" -"$ ls --help\n" -"Usage: ls [OPTION]... [FILE]...\n" -"List information about the FILEs (the current directory by default).\n" -"Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n" -"..." -msgstr "" - -#: ../../howto/argparse.rst:53 -msgid "A few concepts we can learn from the four commands:" -msgstr "" - -#: ../../howto/argparse.rst:55 -msgid "" -"The :command:`ls` command is useful when run without any options at all. It " -"defaults to displaying the contents of the current directory." -msgstr "" - -#: ../../howto/argparse.rst:58 -msgid "" -"If we want beyond what it provides by default, we tell it a bit more. In " -"this case, we want it to display a different directory, ``pypy``. What we " -"did is specify what is known as a positional argument. It's named so because" -" the program should know what to do with the value, solely based on where it" -" appears on the command line. This concept is more relevant to a command " -"like :command:`cp`, whose most basic usage is ``cp SRC DEST``. The first " -"position is *what you want copied,* and the second position is *where you " -"want it copied to*." -msgstr "" - -#: ../../howto/argparse.rst:67 -msgid "" -"Now, say we want to change behaviour of the program. In our example, we " -"display more info for each file instead of just showing the file names. The " -"``-l`` in that case is known as an optional argument." -msgstr "" - -#: ../../howto/argparse.rst:71 -msgid "" -"That's a snippet of the help text. It's very useful in that you can come " -"across a program you have never used before, and can figure out how it works" -" simply by reading its help text." -msgstr "" - -#: ../../howto/argparse.rst:77 -msgid "The basics" -msgstr "" - -#: ../../howto/argparse.rst:79 -msgid "Let us start with a very simple example which does (almost) nothing::" -msgstr "" - -#: ../../howto/argparse.rst:81 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.parse_args()" -msgstr "" - -#: ../../howto/argparse.rst:85 ../../howto/argparse.rst:193 -#: ../../howto/argparse.rst:214 -msgid "Following is a result of running the code:" -msgstr "" - -#: ../../howto/argparse.rst:87 -msgid "" -"$ python prog.py\n" -"$ python prog.py --help\n" -"usage: prog.py [-h]\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -"$ python prog.py --verbose\n" -"usage: prog.py [-h]\n" -"prog.py: error: unrecognized arguments: --verbose\n" -"$ python prog.py foo\n" -"usage: prog.py [-h]\n" -"prog.py: error: unrecognized arguments: foo" -msgstr "" - -#: ../../howto/argparse.rst:102 ../../howto/argparse.rst:259 -#: ../../howto/argparse.rst:303 -msgid "Here is what is happening:" -msgstr "" - -#: ../../howto/argparse.rst:104 -msgid "" -"Running the script without any options results in nothing displayed to " -"stdout. Not so useful." -msgstr "" - -#: ../../howto/argparse.rst:107 -msgid "" -"The second one starts to display the usefulness of the :mod:`argparse` " -"module. We have done almost nothing, but already we get a nice help message." -msgstr "" - -#: ../../howto/argparse.rst:110 -msgid "" -"The ``--help`` option, which can also be shortened to ``-h``, is the only " -"option we get for free (i.e. no need to specify it). Specifying anything " -"else results in an error. But even then, we do get a useful usage message, " -"also for free." -msgstr "" - -#: ../../howto/argparse.rst:117 -msgid "Introducing Positional arguments" -msgstr "" - -#: ../../howto/argparse.rst:119 -msgid "An example::" -msgstr "" - -#: ../../howto/argparse.rst:121 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"echo\")\n" -"args = parser.parse_args()\n" -"print(args.echo)" -msgstr "" - -#: ../../howto/argparse.rst:127 -msgid "And running the code:" -msgstr "" - -#: ../../howto/argparse.rst:129 -msgid "" -"$ python prog.py\n" -"usage: prog.py [-h] echo\n" -"prog.py: error: the following arguments are required: echo\n" -"$ python prog.py --help\n" -"usage: prog.py [-h] echo\n" -"\n" -"positional arguments:\n" -" echo\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -"$ python prog.py foo\n" -"foo" -msgstr "" - -#: ../../howto/argparse.rst:145 -msgid "Here is what's happening:" -msgstr "" - -#: ../../howto/argparse.rst:147 -msgid "" -"We've added the :meth:`~ArgumentParser.add_argument` method, which is what " -"we use to specify which command-line options the program is willing to " -"accept. In this case, I've named it ``echo`` so that it's in line with its " -"function." -msgstr "" - -#: ../../howto/argparse.rst:151 -msgid "Calling our program now requires us to specify an option." -msgstr "" - -#: ../../howto/argparse.rst:153 -msgid "" -"The :meth:`~ArgumentParser.parse_args` method actually returns some data " -"from the options specified, in this case, ``echo``." -msgstr "" - -#: ../../howto/argparse.rst:156 -msgid "" -"The variable is some form of 'magic' that :mod:`argparse` performs for free " -"(i.e. no need to specify which variable that value is stored in). You will " -"also notice that its name matches the string argument given to the method, " -"``echo``." -msgstr "" - -#: ../../howto/argparse.rst:161 -msgid "" -"Note however that, although the help display looks nice and all, it " -"currently is not as helpful as it can be. For example we see that we got " -"``echo`` as a positional argument, but we don't know what it does, other " -"than by guessing or by reading the source code. So, let's make it a bit more" -" useful::" -msgstr "" - -#: ../../howto/argparse.rst:166 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"echo\", help=\"echo the string you use here\")\n" -"args = parser.parse_args()\n" -"print(args.echo)" -msgstr "" - -#: ../../howto/argparse.rst:172 -msgid "And we get:" -msgstr "" - -#: ../../howto/argparse.rst:174 -msgid "" -"$ python prog.py -h\n" -"usage: prog.py [-h] echo\n" -"\n" -"positional arguments:\n" -" echo echo the string you use here\n" -"\n" -"options:\n" -" -h, --help show this help message and exit" -msgstr "" - -#: ../../howto/argparse.rst:185 -msgid "Now, how about doing something even more useful::" -msgstr "" - -#: ../../howto/argparse.rst:187 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"square\", help=\"display a square of a given number\")\n" -"args = parser.parse_args()\n" -"print(args.square**2)" -msgstr "" - -#: ../../howto/argparse.rst:195 -msgid "" -"$ python prog.py 4\n" -"Traceback (most recent call last):\n" -" File \"prog.py\", line 5, in \n" -" print(args.square**2)\n" -"TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'" -msgstr "" - -#: ../../howto/argparse.rst:203 -msgid "" -"That didn't go so well. That's because :mod:`argparse` treats the options we" -" give it as strings, unless we tell it otherwise. So, let's tell " -":mod:`argparse` to treat that input as an integer::" -msgstr "" - -#: ../../howto/argparse.rst:207 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"square\", help=\"display a square of a given number\",\n" -" type=int)\n" -"args = parser.parse_args()\n" -"print(args.square**2)" -msgstr "" - -#: ../../howto/argparse.rst:216 -msgid "" -"$ python prog.py 4\n" -"16\n" -"$ python prog.py four\n" -"usage: prog.py [-h] square\n" -"prog.py: error: argument square: invalid int value: 'four'" -msgstr "" - -#: ../../howto/argparse.rst:224 -msgid "" -"That went well. The program now even helpfully quits on bad illegal input " -"before proceeding." -msgstr "" - -#: ../../howto/argparse.rst:229 -msgid "Introducing Optional arguments" -msgstr "" - -#: ../../howto/argparse.rst:231 -msgid "" -"So far we have been playing with positional arguments. Let us have a look on" -" how to add optional ones::" -msgstr "" - -#: ../../howto/argparse.rst:234 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"--verbosity\", help=\"increase output verbosity\")\n" -"args = parser.parse_args()\n" -"if args.verbosity:\n" -" print(\"verbosity turned on\")" -msgstr "" - -#: ../../howto/argparse.rst:241 ../../howto/argparse.rst:287 -#: ../../howto/argparse.rst:403 ../../howto/argparse.rst:437 -msgid "And the output:" -msgstr "" - -#: ../../howto/argparse.rst:243 -msgid "" -"$ python prog.py --verbosity 1\n" -"verbosity turned on\n" -"$ python prog.py\n" -"$ python prog.py --help\n" -"usage: prog.py [-h] [--verbosity VERBOSITY]\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" --verbosity VERBOSITY\n" -" increase output verbosity\n" -"$ python prog.py --verbosity\n" -"usage: prog.py [-h] [--verbosity VERBOSITY]\n" -"prog.py: error: argument --verbosity: expected one argument" -msgstr "" - -#: ../../howto/argparse.rst:261 -msgid "" -"The program is written so as to display something when ``--verbosity`` is " -"specified and display nothing when not." -msgstr "" - -#: ../../howto/argparse.rst:264 -msgid "" -"To show that the option is actually optional, there is no error when running" -" the program without it. Note that by default, if an optional argument isn't" -" used, the relevant variable, in this case ``args.verbosity``, is given " -"``None`` as a value, which is the reason it fails the truth test of the " -":keyword:`if` statement." -msgstr "" - -#: ../../howto/argparse.rst:270 -msgid "The help message is a bit different." -msgstr "" - -#: ../../howto/argparse.rst:272 -msgid "" -"When using the ``--verbosity`` option, one must also specify some value, any" -" value." -msgstr "" - -#: ../../howto/argparse.rst:275 -msgid "" -"The above example accepts arbitrary integer values for ``--verbosity``, but " -"for our simple program, only two values are actually useful, ``True`` or " -"``False``. Let's modify the code accordingly::" -msgstr "" - -#: ../../howto/argparse.rst:279 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"--verbose\", help=\"increase output verbosity\",\n" -" action=\"store_true\")\n" -"args = parser.parse_args()\n" -"if args.verbose:\n" -" print(\"verbosity turned on\")" -msgstr "" - -#: ../../howto/argparse.rst:289 -msgid "" -"$ python prog.py --verbose\n" -"verbosity turned on\n" -"$ python prog.py --verbose 1\n" -"usage: prog.py [-h] [--verbose]\n" -"prog.py: error: unrecognized arguments: 1\n" -"$ python prog.py --help\n" -"usage: prog.py [-h] [--verbose]\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" --verbose increase output verbosity" -msgstr "" - -#: ../../howto/argparse.rst:305 -msgid "" -"The option is now more of a flag than something that requires a value. We " -"even changed the name of the option to match that idea. Note that we now " -"specify a new keyword, ``action``, and give it the value ``\"store_true\"``." -" This means that, if the option is specified, assign the value ``True`` to " -"``args.verbose``. Not specifying it implies ``False``." -msgstr "" - -#: ../../howto/argparse.rst:312 -msgid "" -"It complains when you specify a value, in true spirit of what flags actually" -" are." -msgstr "" - -#: ../../howto/argparse.rst:315 -msgid "Notice the different help text." -msgstr "" - -#: ../../howto/argparse.rst:319 -msgid "Short options" -msgstr "" - -#: ../../howto/argparse.rst:321 -msgid "" -"If you are familiar with command line usage, you will notice that I haven't " -"yet touched on the topic of short versions of the options. It's quite " -"simple::" -msgstr "" - -#: ../../howto/argparse.rst:325 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"-v\", \"--verbose\", help=\"increase output verbosity\",\n" -" action=\"store_true\")\n" -"args = parser.parse_args()\n" -"if args.verbose:\n" -" print(\"verbosity turned on\")" -msgstr "" - -#: ../../howto/argparse.rst:333 -msgid "And here goes:" -msgstr "" - -#: ../../howto/argparse.rst:335 -msgid "" -"$ python prog.py -v\n" -"verbosity turned on\n" -"$ python prog.py --help\n" -"usage: prog.py [-h] [-v]\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" -v, --verbose increase output verbosity" -msgstr "" - -#: ../../howto/argparse.rst:346 -msgid "Note that the new ability is also reflected in the help text." -msgstr "" - -#: ../../howto/argparse.rst:350 -msgid "Combining Positional and Optional arguments" -msgstr "" - -#: ../../howto/argparse.rst:352 -msgid "Our program keeps growing in complexity::" -msgstr "" - -#: ../../howto/argparse.rst:354 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"square\", type=int,\n" -" help=\"display a square of a given number\")\n" -"parser.add_argument(\"-v\", \"--verbose\", action=\"store_true\",\n" -" help=\"increase output verbosity\")\n" -"args = parser.parse_args()\n" -"answer = args.square**2\n" -"if args.verbose:\n" -" print(f\"the square of {args.square} equals {answer}\")\n" -"else:\n" -" print(answer)" -msgstr "" - -#: ../../howto/argparse.rst:367 -msgid "And now the output:" -msgstr "" - -#: ../../howto/argparse.rst:369 -msgid "" -"$ python prog.py\n" -"usage: prog.py [-h] [-v] square\n" -"prog.py: error: the following arguments are required: square\n" -"$ python prog.py 4\n" -"16\n" -"$ python prog.py 4 --verbose\n" -"the square of 4 equals 16\n" -"$ python prog.py --verbose 4\n" -"the square of 4 equals 16" -msgstr "" - -#: ../../howto/argparse.rst:381 -msgid "We've brought back a positional argument, hence the complaint." -msgstr "" - -#: ../../howto/argparse.rst:383 -msgid "Note that the order does not matter." -msgstr "" - -#: ../../howto/argparse.rst:385 -msgid "" -"How about we give this program of ours back the ability to have multiple " -"verbosity values, and actually get to use them::" -msgstr "" - -#: ../../howto/argparse.rst:388 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"square\", type=int,\n" -" help=\"display a square of a given number\")\n" -"parser.add_argument(\"-v\", \"--verbosity\", type=int,\n" -" help=\"increase output verbosity\")\n" -"args = parser.parse_args()\n" -"answer = args.square**2\n" -"if args.verbosity == 2:\n" -" print(f\"the square of {args.square} equals {answer}\")\n" -"elif args.verbosity == 1:\n" -" print(f\"{args.square}^2 == {answer}\")\n" -"else:\n" -" print(answer)" -msgstr "" - -#: ../../howto/argparse.rst:405 -msgid "" -"$ python prog.py 4\n" -"16\n" -"$ python prog.py 4 -v\n" -"usage: prog.py [-h] [-v VERBOSITY] square\n" -"prog.py: error: argument -v/--verbosity: expected one argument\n" -"$ python prog.py 4 -v 1\n" -"4^2 == 16\n" -"$ python prog.py 4 -v 2\n" -"the square of 4 equals 16\n" -"$ python prog.py 4 -v 3\n" -"16" -msgstr "" - -#: ../../howto/argparse.rst:419 -msgid "" -"These all look good except the last one, which exposes a bug in our program." -" Let's fix it by restricting the values the ``--verbosity`` option can " -"accept::" -msgstr "" - -#: ../../howto/argparse.rst:422 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"square\", type=int,\n" -" help=\"display a square of a given number\")\n" -"parser.add_argument(\"-v\", \"--verbosity\", type=int, choices=[0, 1, 2],\n" -" help=\"increase output verbosity\")\n" -"args = parser.parse_args()\n" -"answer = args.square**2\n" -"if args.verbosity == 2:\n" -" print(f\"the square of {args.square} equals {answer}\")\n" -"elif args.verbosity == 1:\n" -" print(f\"{args.square}^2 == {answer}\")\n" -"else:\n" -" print(answer)" -msgstr "" - -#: ../../howto/argparse.rst:439 -msgid "" -"$ python prog.py 4 -v 3\n" -"usage: prog.py [-h] [-v {0,1,2}] square\n" -"prog.py: error: argument -v/--verbosity: invalid choice: 3 (choose from 0, 1, 2)\n" -"$ python prog.py 4 -h\n" -"usage: prog.py [-h] [-v {0,1,2}] square\n" -"\n" -"positional arguments:\n" -" square display a square of a given number\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" -v, --verbosity {0,1,2}\n" -" increase output verbosity" -msgstr "" - -#: ../../howto/argparse.rst:455 -msgid "" -"Note that the change also reflects both in the error message as well as the " -"help string." -msgstr "" - -#: ../../howto/argparse.rst:458 -msgid "" -"Now, let's use a different approach of playing with verbosity, which is " -"pretty common. It also matches the way the CPython executable handles its " -"own verbosity argument (check the output of ``python --help``)::" -msgstr "" - -#: ../../howto/argparse.rst:462 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"square\", type=int,\n" -" help=\"display the square of a given number\")\n" -"parser.add_argument(\"-v\", \"--verbosity\", action=\"count\",\n" -" help=\"increase output verbosity\")\n" -"args = parser.parse_args()\n" -"answer = args.square**2\n" -"if args.verbosity == 2:\n" -" print(f\"the square of {args.square} equals {answer}\")\n" -"elif args.verbosity == 1:\n" -" print(f\"{args.square}^2 == {answer}\")\n" -"else:\n" -" print(answer)" -msgstr "" - -#: ../../howto/argparse.rst:477 -msgid "" -"We have introduced another action, \"count\", to count the number of " -"occurrences of specific options." -msgstr "" - -#: ../../howto/argparse.rst:481 -msgid "" -"$ python prog.py 4\n" -"16\n" -"$ python prog.py 4 -v\n" -"4^2 == 16\n" -"$ python prog.py 4 -vv\n" -"the square of 4 equals 16\n" -"$ python prog.py 4 --verbosity --verbosity\n" -"the square of 4 equals 16\n" -"$ python prog.py 4 -v 1\n" -"usage: prog.py [-h] [-v] square\n" -"prog.py: error: unrecognized arguments: 1\n" -"$ python prog.py 4 -h\n" -"usage: prog.py [-h] [-v] square\n" -"\n" -"positional arguments:\n" -" square display a square of a given number\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" -v, --verbosity increase output verbosity\n" -"$ python prog.py 4 -vvv\n" -"16" -msgstr "" - -#: ../../howto/argparse.rst:506 -msgid "" -"Yes, it's now more of a flag (similar to ``action=\"store_true\"``) in the " -"previous version of our script. That should explain the complaint." -msgstr "" - -#: ../../howto/argparse.rst:509 -msgid "It also behaves similar to \"store_true\" action." -msgstr "" - -#: ../../howto/argparse.rst:511 -msgid "" -"Now here's a demonstration of what the \"count\" action gives. You've " -"probably seen this sort of usage before." -msgstr "" - -#: ../../howto/argparse.rst:514 -msgid "" -"And if you don't specify the ``-v`` flag, that flag is considered to have " -"``None`` value." -msgstr "" - -#: ../../howto/argparse.rst:517 -msgid "" -"As should be expected, specifying the long form of the flag, we should get " -"the same output." -msgstr "" - -#: ../../howto/argparse.rst:520 -msgid "" -"Sadly, our help output isn't very informative on the new ability our script " -"has acquired, but that can always be fixed by improving the documentation " -"for our script (e.g. via the ``help`` keyword argument)." -msgstr "" - -#: ../../howto/argparse.rst:524 -msgid "That last output exposes a bug in our program." -msgstr "" - -#: ../../howto/argparse.rst:527 -msgid "Let's fix::" -msgstr "" - -#: ../../howto/argparse.rst:529 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"square\", type=int,\n" -" help=\"display a square of a given number\")\n" -"parser.add_argument(\"-v\", \"--verbosity\", action=\"count\",\n" -" help=\"increase output verbosity\")\n" -"args = parser.parse_args()\n" -"answer = args.square**2\n" -"\n" -"# bugfix: replace == with >=\n" -"if args.verbosity >= 2:\n" -" print(f\"the square of {args.square} equals {answer}\")\n" -"elif args.verbosity >= 1:\n" -" print(f\"{args.square}^2 == {answer}\")\n" -"else:\n" -" print(answer)" -msgstr "" - -#: ../../howto/argparse.rst:546 -msgid "And this is what it gives:" -msgstr "" - -#: ../../howto/argparse.rst:548 -msgid "" -"$ python prog.py 4 -vvv\n" -"the square of 4 equals 16\n" -"$ python prog.py 4 -vvvv\n" -"the square of 4 equals 16\n" -"$ python prog.py 4\n" -"Traceback (most recent call last):\n" -" File \"prog.py\", line 11, in \n" -" if args.verbosity >= 2:\n" -"TypeError: '>=' not supported between instances of 'NoneType' and 'int'" -msgstr "" - -#: ../../howto/argparse.rst:561 -msgid "" -"First output went well, and fixes the bug we had before. That is, we want " -"any value >= 2 to be as verbose as possible." -msgstr "" - -#: ../../howto/argparse.rst:564 -msgid "Third output not so good." -msgstr "" - -#: ../../howto/argparse.rst:566 -msgid "Let's fix that bug::" -msgstr "" - -#: ../../howto/argparse.rst:568 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"square\", type=int,\n" -" help=\"display a square of a given number\")\n" -"parser.add_argument(\"-v\", \"--verbosity\", action=\"count\", default=0,\n" -" help=\"increase output verbosity\")\n" -"args = parser.parse_args()\n" -"answer = args.square**2\n" -"if args.verbosity >= 2:\n" -" print(f\"the square of {args.square} equals {answer}\")\n" -"elif args.verbosity >= 1:\n" -" print(f\"{args.square}^2 == {answer}\")\n" -"else:\n" -" print(answer)" -msgstr "" - -#: ../../howto/argparse.rst:583 -msgid "" -"We've just introduced yet another keyword, ``default``. We've set it to " -"``0`` in order to make it comparable to the other int values. Remember that " -"by default, if an optional argument isn't specified, it gets the ``None`` " -"value, and that cannot be compared to an int value (hence the " -":exc:`TypeError` exception)." -msgstr "" - -#: ../../howto/argparse.rst:590 -msgid "And:" -msgstr "" - -#: ../../howto/argparse.rst:592 -msgid "" -"$ python prog.py 4\n" -"16" -msgstr "" - -#: ../../howto/argparse.rst:597 -msgid "" -"You can go quite far just with what we've learned so far, and we have only " -"scratched the surface. The :mod:`argparse` module is very powerful, and " -"we'll explore a bit more of it before we end this tutorial." -msgstr "" - -#: ../../howto/argparse.rst:604 -msgid "Getting a little more advanced" -msgstr "" - -#: ../../howto/argparse.rst:606 -msgid "" -"What if we wanted to expand our tiny program to perform other powers, not " -"just squares::" -msgstr "" - -#: ../../howto/argparse.rst:609 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"x\", type=int, help=\"the base\")\n" -"parser.add_argument(\"y\", type=int, help=\"the exponent\")\n" -"parser.add_argument(\"-v\", \"--verbosity\", action=\"count\", default=0)\n" -"args = parser.parse_args()\n" -"answer = args.x**args.y\n" -"if args.verbosity >= 2:\n" -" print(f\"{args.x} to the power {args.y} equals {answer}\")\n" -"elif args.verbosity >= 1:\n" -" print(f\"{args.x}^{args.y} == {answer}\")\n" -"else:\n" -" print(answer)" -msgstr "" - -#: ../../howto/argparse.rst:623 ../../howto/argparse.rst:661 -#: ../../howto/argparse.rst:877 -msgid "Output:" -msgstr "" - -#: ../../howto/argparse.rst:625 -msgid "" -"$ python prog.py\n" -"usage: prog.py [-h] [-v] x y\n" -"prog.py: error: the following arguments are required: x, y\n" -"$ python prog.py -h\n" -"usage: prog.py [-h] [-v] x y\n" -"\n" -"positional arguments:\n" -" x the base\n" -" y the exponent\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" -v, --verbosity\n" -"$ python prog.py 4 2 -v\n" -"4^2 == 16" -msgstr "" - -#: ../../howto/argparse.rst:644 -msgid "" -"Notice that so far we've been using verbosity level to *change* the text " -"that gets displayed. The following example instead uses verbosity level to " -"display *more* text instead::" -msgstr "" - -#: ../../howto/argparse.rst:648 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument(\"x\", type=int, help=\"the base\")\n" -"parser.add_argument(\"y\", type=int, help=\"the exponent\")\n" -"parser.add_argument(\"-v\", \"--verbosity\", action=\"count\", default=0)\n" -"args = parser.parse_args()\n" -"answer = args.x**args.y\n" -"if args.verbosity >= 2:\n" -" print(f\"Running '{__file__}'\")\n" -"if args.verbosity >= 1:\n" -" print(f\"{args.x}^{args.y} == \", end=\"\")\n" -"print(answer)" -msgstr "" - -#: ../../howto/argparse.rst:663 -msgid "" -"$ python prog.py 4 2\n" -"16\n" -"$ python prog.py 4 2 -v\n" -"4^2 == 16\n" -"$ python prog.py 4 2 -vv\n" -"Running 'prog.py'\n" -"4^2 == 16" -msgstr "" - -#: ../../howto/argparse.rst:677 -msgid "Specifying ambiguous arguments" -msgstr "" - -#: ../../howto/argparse.rst:679 -msgid "" -"When there is ambiguity in deciding whether an argument is positional or for" -" an argument, ``--`` can be used to tell :meth:`~ArgumentParser.parse_args` " -"that everything after that is a positional argument::" -msgstr "" - -#: ../../howto/argparse.rst:683 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('-n', nargs='+')\n" -">>> parser.add_argument('args', nargs='*')\n" -"\n" -">>> # ambiguous, so parse_args assumes it's an option\n" -">>> parser.parse_args(['-f'])\n" -"usage: PROG [-h] [-n N [N ...]] [args ...]\n" -"PROG: error: unrecognized arguments: -f\n" -"\n" -">>> parser.parse_args(['--', '-f'])\n" -"Namespace(args=['-f'], n=None)\n" -"\n" -">>> # ambiguous, so the -n option greedily accepts arguments\n" -">>> parser.parse_args(['-n', '1', '2', '3'])\n" -"Namespace(args=[], n=['1', '2', '3'])\n" -"\n" -">>> parser.parse_args(['-n', '1', '--', '2', '3'])\n" -"Namespace(args=['2', '3'], n=['1'])" -msgstr "" - -#: ../../howto/argparse.rst:704 -msgid "Conflicting options" -msgstr "" - -#: ../../howto/argparse.rst:706 -msgid "" -"So far, we have been working with two methods of an " -":class:`argparse.ArgumentParser` instance. Let's introduce a third one, " -":meth:`~ArgumentParser.add_mutually_exclusive_group`. It allows for us to " -"specify options that conflict with each other. Let's also change the rest of" -" the program so that the new functionality makes more sense: we'll introduce" -" the ``--quiet`` option, which will be the opposite of the ``--verbose`` " -"one::" -msgstr "" - -#: ../../howto/argparse.rst:714 -msgid "" -"import argparse\n" -"\n" -"parser = argparse.ArgumentParser()\n" -"group = parser.add_mutually_exclusive_group()\n" -"group.add_argument(\"-v\", \"--verbose\", action=\"store_true\")\n" -"group.add_argument(\"-q\", \"--quiet\", action=\"store_true\")\n" -"parser.add_argument(\"x\", type=int, help=\"the base\")\n" -"parser.add_argument(\"y\", type=int, help=\"the exponent\")\n" -"args = parser.parse_args()\n" -"answer = args.x**args.y\n" -"\n" -"if args.quiet:\n" -" print(answer)\n" -"elif args.verbose:\n" -" print(f\"{args.x} to the power {args.y} equals {answer}\")\n" -"else:\n" -" print(f\"{args.x}^{args.y} == {answer}\")" -msgstr "" - -#: ../../howto/argparse.rst:732 -msgid "" -"Our program is now simpler, and we've lost some functionality for the sake " -"of demonstration. Anyways, here's the output:" -msgstr "" - -#: ../../howto/argparse.rst:735 -msgid "" -"$ python prog.py 4 2\n" -"4^2 == 16\n" -"$ python prog.py 4 2 -q\n" -"16\n" -"$ python prog.py 4 2 -v\n" -"4 to the power 2 equals 16\n" -"$ python prog.py 4 2 -vq\n" -"usage: prog.py [-h] [-v | -q] x y\n" -"prog.py: error: argument -q/--quiet: not allowed with argument -v/--verbose\n" -"$ python prog.py 4 2 -v --quiet\n" -"usage: prog.py [-h] [-v | -q] x y\n" -"prog.py: error: argument -q/--quiet: not allowed with argument -v/--verbose" -msgstr "" - -#: ../../howto/argparse.rst:750 -msgid "" -"That should be easy to follow. I've added that last output so you can see " -"the sort of flexibility you get, i.e. mixing long form options with short " -"form ones." -msgstr "" - -#: ../../howto/argparse.rst:754 -msgid "" -"Before we conclude, you probably want to tell your users the main purpose of" -" your program, just in case they don't know::" -msgstr "" - -#: ../../howto/argparse.rst:757 -msgid "" -"import argparse\n" -"\n" -"parser = argparse.ArgumentParser(description=\"calculate X to the power of Y\")\n" -"group = parser.add_mutually_exclusive_group()\n" -"group.add_argument(\"-v\", \"--verbose\", action=\"store_true\")\n" -"group.add_argument(\"-q\", \"--quiet\", action=\"store_true\")\n" -"parser.add_argument(\"x\", type=int, help=\"the base\")\n" -"parser.add_argument(\"y\", type=int, help=\"the exponent\")\n" -"args = parser.parse_args()\n" -"answer = args.x**args.y\n" -"\n" -"if args.quiet:\n" -" print(answer)\n" -"elif args.verbose:\n" -" print(f\"{args.x} to the power {args.y} equals {answer}\")\n" -"else:\n" -" print(f\"{args.x}^{args.y} == {answer}\")" -msgstr "" - -#: ../../howto/argparse.rst:775 -msgid "" -"Note that slight difference in the usage text. Note the ``[-v | -q]``, which" -" tells us that we can either use ``-v`` or ``-q``, but not both at the same " -"time:" -msgstr "" - -#: ../../howto/argparse.rst:779 ../../howto/argparse.rst:806 -msgid "" -"$ python prog.py --help\n" -"usage: prog.py [-h] [-v | -q] x y\n" -"\n" -"calculate X to the power of Y\n" -"\n" -"positional arguments:\n" -" x the base\n" -" y the exponent\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" -v, --verbose\n" -" -q, --quiet" -msgstr "" - -#: ../../howto/argparse.rst:797 -msgid "How to translate the argparse output" -msgstr "" - -#: ../../howto/argparse.rst:799 -msgid "" -"The output of the :mod:`argparse` module such as its help text and error " -"messages are all made translatable using the :mod:`gettext` module. This " -"allows applications to easily localize messages produced by :mod:`argparse`." -" See also :ref:`i18n-howto`." -msgstr "" - -#: ../../howto/argparse.rst:804 -msgid "For instance, in this :mod:`argparse` output:" -msgstr "" - -#: ../../howto/argparse.rst:822 -msgid "" -"The strings ``usage:``, ``positional arguments:``, ``options:`` and ``show " -"this help message and exit`` are all translatable." -msgstr "" - -#: ../../howto/argparse.rst:825 -msgid "" -"In order to translate these strings, they must first be extracted into a " -"``.po`` file. For example, using `Babel `__, run " -"this command:" -msgstr "" - -#: ../../howto/argparse.rst:829 -msgid "$ pybabel extract -o messages.po /usr/lib/python3.12/argparse.py" -msgstr "" - -#: ../../howto/argparse.rst:833 -msgid "" -"This command will extract all translatable strings from the :mod:`argparse` " -"module and output them into a file named ``messages.po``. This command " -"assumes that your Python installation is in ``/usr/lib``." -msgstr "" - -#: ../../howto/argparse.rst:837 -msgid "" -"You can find out the location of the :mod:`argparse` module on your system " -"using this script::" -msgstr "" - -#: ../../howto/argparse.rst:840 -msgid "" -"import argparse\n" -"print(argparse.__file__)" -msgstr "" - -#: ../../howto/argparse.rst:843 -msgid "" -"Once the messages in the ``.po`` file are translated and the translations " -"are installed using :mod:`gettext`, :mod:`argparse` will be able to display " -"the translated messages." -msgstr "" - -#: ../../howto/argparse.rst:847 -msgid "" -"To translate your own strings in the :mod:`argparse` output, use " -":mod:`gettext`." -msgstr "" - -#: ../../howto/argparse.rst:850 -msgid "Custom type converters" -msgstr "" - -#: ../../howto/argparse.rst:852 -msgid "" -"The :mod:`argparse` module allows you to specify custom type converters for " -"your command-line arguments. This allows you to modify user input before " -"it's stored in the :class:`argparse.Namespace`. This can be useful when you " -"need to pre-process the input before it is used in your program." -msgstr "" - -#: ../../howto/argparse.rst:857 -msgid "" -"When using a custom type converter, you can use any callable that takes a " -"single string argument (the argument value) and returns the converted value." -" However, if you need to handle more complex scenarios, you can use a custom" -" action class with the **action** parameter instead." -msgstr "" - -#: ../../howto/argparse.rst:862 -msgid "" -"For example, let's say you want to handle arguments with different prefixes " -"and process them accordingly::" -msgstr "" - -#: ../../howto/argparse.rst:865 -msgid "" -"import argparse\n" -"\n" -"parser = argparse.ArgumentParser(prefix_chars='-+')\n" -"\n" -"parser.add_argument('-a', metavar='', action='append',\n" -" type=lambda x: ('-', x))\n" -"parser.add_argument('+a', metavar='', action='append',\n" -" type=lambda x: ('+', x))\n" -"\n" -"args = parser.parse_args()\n" -"print(args)" -msgstr "" - -#: ../../howto/argparse.rst:879 -msgid "" -"$ python prog.py -a value1 +a value2\n" -"Namespace(a=[('-', 'value1'), ('+', 'value2')])" -msgstr "" - -#: ../../howto/argparse.rst:884 -msgid "In this example, we:" -msgstr "" - -#: ../../howto/argparse.rst:886 -msgid "" -"Created a parser with custom prefix characters using the ``prefix_chars`` " -"parameter." -msgstr "" - -#: ../../howto/argparse.rst:889 -msgid "" -"Defined two arguments, ``-a`` and ``+a``, which used the ``type`` parameter " -"to create custom type converters to store the value in a tuple with the " -"prefix." -msgstr "" - -#: ../../howto/argparse.rst:892 -msgid "" -"Without the custom type converters, the arguments would have treated the " -"``-a`` and ``+a`` as the same argument, which would have been undesirable. " -"By using custom type converters, we were able to differentiate between the " -"two arguments." -msgstr "" - -#: ../../howto/argparse.rst:897 -msgid "Conclusion" -msgstr "" - -#: ../../howto/argparse.rst:899 -msgid "" -"The :mod:`argparse` module offers a lot more than shown here. Its docs are " -"quite detailed and thorough, and full of examples. Having gone through this " -"tutorial, you should easily digest them without feeling overwhelmed." -msgstr "" diff --git a/python-newest.howto--clinic/id.po b/python-newest.howto--clinic/id.po deleted file mode 100644 index 21a26fb..0000000 --- a/python-newest.howto--clinic/id.po +++ /dev/null @@ -1,35 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Akhmat Safrudin , 2018 -# Iwan Setiawan , 2018 -# Faiq Zakki <221709674@stis.ac.id>, 2021 -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/clinic.rst:8 -msgid "Argument Clinic How-To" -msgstr "Klinik Argumen How-To" - -#: ../../howto/clinic.rst:13 -msgid "" -"The Argument Clinic How-TO has been moved to the `Python Developer's Guide " -"`__." -msgstr "" diff --git a/python-newest.howto--cporting/id.po b/python-newest.howto--cporting/id.po deleted file mode 100644 index a0c4512..0000000 --- a/python-newest.howto--cporting/id.po +++ /dev/null @@ -1,65 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2024 -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/cporting.rst:7 -msgid "Porting Extension Modules to Python 3" -msgstr "Penyesuaian *Porting* Modul Ekstensi ke Python 3" - -#: ../../howto/cporting.rst:9 -msgid "" -"We recommend the following resources for porting extension modules to Python" -" 3:" -msgstr "" -"Kami merekomendasikan sumber daya berikut untuk penyesuaian *porting* modul " -"ekstensi ke Python 3:" - -#: ../../howto/cporting.rst:11 -msgid "" -"The `Migrating C extensions`_ chapter from *Supporting Python 3: An in-depth" -" guide*, a book on moving from Python 2 to Python 3 in general, guides the " -"reader through porting an extension module." -msgstr "" -"Bab `Migrating C extensions`_ from *Supporting Python 3: An in-depth " -"guide*, sebuah buku yang membahas perpindahan dari Python 2 ke Python 3 " -"secara umum, menjadi panduan pembaca dalam *porting* sebuah modul ekstensi." - -#: ../../howto/cporting.rst:15 -msgid "" -"The `Porting guide`_ from the *py3c* project provides opinionated " -"suggestions with supporting code." -msgstr "" -"`Porting guide`_ dari proyek *py3c* menyediakan saran beropini dengan kode " -"pendukung." - -#: ../../howto/cporting.rst:17 -msgid "" -"The `Cython`_ and `CFFI`_ libraries offer abstractions over Python's C API. " -"Extensions generally need to be re-written to use one of them, but the " -"library then handles differences between various Python versions and " -"implementations." -msgstr "" -"Pustaka `Cython`_ dan` CFFI`_ menawarkan abstraksi melalui C API Python. " -"Ekstensi umumnya perlu ditulis ulang untuk menggunakan salah satunya, tetapi" -" pustaka kemudian menangani perbedaan antara berbagai versi dan implementasi" -" Python." diff --git a/python-newest.howto--curses/id.po b/python-newest.howto--curses/id.po deleted file mode 100644 index 66fe0f1..0000000 --- a/python-newest.howto--curses/id.po +++ /dev/null @@ -1,884 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# Akhmat Safrudin , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Akhmat Safrudin , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/curses.rst:5 -msgid "Curses Programming with Python" -msgstr "Pemrograman Curses dengan Python" - -#: ../../howto/curses.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../howto/curses.rst:9 -msgid "A.M. Kuchling, Eric S. Raymond" -msgstr "A.M. Kuchling, Eric S. Raymond" - -#: ../../howto/curses.rst:0 -msgid "Release" -msgstr "Rilis" - -#: ../../howto/curses.rst:10 -msgid "2.04" -msgstr "2.04" - -#: ../../howto/curses.rst-1 -msgid "Abstract" -msgstr "Abstrak" - -#: ../../howto/curses.rst:15 -msgid "" -"This document describes how to use the :mod:`curses` extension module to " -"control text-mode displays." -msgstr "" - -#: ../../howto/curses.rst:20 -msgid "What is curses?" -msgstr "Apa itu curses?" - -#: ../../howto/curses.rst:22 -msgid "" -"The curses library supplies a terminal-independent screen-painting and " -"keyboard-handling facility for text-based terminals; such terminals include " -"VT100s, the Linux console, and the simulated terminal provided by various " -"programs. Display terminals support various control codes to perform common" -" operations such as moving the cursor, scrolling the screen, and erasing " -"areas. Different terminals use widely differing codes, and often have their" -" own minor quirks." -msgstr "" - -#: ../../howto/curses.rst:30 -msgid "" -"In a world of graphical displays, one might ask \"why bother\"? It's true " -"that character-cell display terminals are an obsolete technology, but there " -"are niches in which being able to do fancy things with them are still " -"valuable. One niche is on small-footprint or embedded Unixes that don't run" -" an X server. Another is tools such as OS installers and kernel " -"configurators that may have to run before any graphical support is " -"available." -msgstr "" - -#: ../../howto/curses.rst:38 -msgid "" -"The curses library provides fairly basic functionality, providing the " -"programmer with an abstraction of a display containing multiple non-" -"overlapping windows of text. The contents of a window can be changed in " -"various ways---adding text, erasing it, changing its appearance---and the " -"curses library will figure out what control codes need to be sent to the " -"terminal to produce the right output. curses doesn't provide many user-" -"interface concepts such as buttons, checkboxes, or dialogs; if you need such" -" features, consider a user interface library such as :pypi:`Urwid`." -msgstr "" - -#: ../../howto/curses.rst:48 -msgid "" -"The curses library was originally written for BSD Unix; the later System V " -"versions of Unix from AT&T added many enhancements and new functions. BSD " -"curses is no longer maintained, having been replaced by ncurses, which is an" -" open-source implementation of the AT&T interface. If you're using an open-" -"source Unix such as Linux or FreeBSD, your system almost certainly uses " -"ncurses. Since most current commercial Unix versions are based on System V " -"code, all the functions described here will probably be available. The " -"older versions of curses carried by some proprietary Unixes may not support " -"everything, though." -msgstr "" - -#: ../../howto/curses.rst:58 -msgid "" -"The Windows version of Python doesn't include the :mod:`curses` module. A " -"ported version called :pypi:`UniCurses` is available." -msgstr "" - -#: ../../howto/curses.rst:63 -msgid "The Python curses module" -msgstr "" - -#: ../../howto/curses.rst:65 -msgid "" -"The Python module is a fairly simple wrapper over the C functions provided " -"by curses; if you're already familiar with curses programming in C, it's " -"really easy to transfer that knowledge to Python. The biggest difference is" -" that the Python interface makes things simpler by merging different C " -"functions such as :c:func:`!addstr`, :c:func:`!mvaddstr`, and " -":c:func:`!mvwaddstr` into a single :meth:`~curses.window.addstr` method. " -"You'll see this covered in more detail later." -msgstr "" - -#: ../../howto/curses.rst:73 -msgid "" -"This HOWTO is an introduction to writing text-mode programs with curses and " -"Python. It doesn't attempt to be a complete guide to the curses API; for " -"that, see the Python library guide's section on ncurses, and the C manual " -"pages for ncurses. It will, however, give you the basic ideas." -msgstr "" - -#: ../../howto/curses.rst:80 -msgid "Starting and ending a curses application" -msgstr "" - -#: ../../howto/curses.rst:82 -msgid "" -"Before doing anything, curses must be initialized. This is done by calling " -"the :func:`~curses.initscr` function, which will determine the terminal " -"type, send any required setup codes to the terminal, and create various " -"internal data structures. If successful, :func:`!initscr` returns a window " -"object representing the entire screen; this is usually called ``stdscr`` " -"after the name of the corresponding C variable. ::" -msgstr "" - -#: ../../howto/curses.rst:90 -msgid "" -"import curses\n" -"stdscr = curses.initscr()" -msgstr "" - -#: ../../howto/curses.rst:93 -msgid "" -"Usually curses applications turn off automatic echoing of keys to the " -"screen, in order to be able to read keys and only display them under certain" -" circumstances. This requires calling the :func:`~curses.noecho` function. " -"::" -msgstr "" - -#: ../../howto/curses.rst:98 -msgid "curses.noecho()" -msgstr "" - -#: ../../howto/curses.rst:100 -msgid "" -"Applications will also commonly need to react to keys instantly, without " -"requiring the Enter key to be pressed; this is called cbreak mode, as " -"opposed to the usual buffered input mode. ::" -msgstr "" - -#: ../../howto/curses.rst:104 -msgid "curses.cbreak()" -msgstr "" - -#: ../../howto/curses.rst:106 -msgid "" -"Terminals usually return special keys, such as the cursor keys or navigation" -" keys such as Page Up and Home, as a multibyte escape sequence. While you " -"could write your application to expect such sequences and process them " -"accordingly, curses can do it for you, returning a special value such as " -":const:`curses.KEY_LEFT`. To get curses to do the job, you'll have to " -"enable keypad mode. ::" -msgstr "" - -#: ../../howto/curses.rst:113 -msgid "stdscr.keypad(True)" -msgstr "" - -#: ../../howto/curses.rst:115 -msgid "" -"Terminating a curses application is much easier than starting one. You'll " -"need to call::" -msgstr "" - -#: ../../howto/curses.rst:118 -msgid "" -"curses.nocbreak()\n" -"stdscr.keypad(False)\n" -"curses.echo()" -msgstr "" - -#: ../../howto/curses.rst:122 -msgid "" -"to reverse the curses-friendly terminal settings. Then call the " -":func:`~curses.endwin` function to restore the terminal to its original " -"operating mode. ::" -msgstr "" - -#: ../../howto/curses.rst:126 -msgid "curses.endwin()" -msgstr "" - -#: ../../howto/curses.rst:128 -msgid "" -"A common problem when debugging a curses application is to get your terminal" -" messed up when the application dies without restoring the terminal to its " -"previous state. In Python this commonly happens when your code is buggy and" -" raises an uncaught exception. Keys are no longer echoed to the screen when" -" you type them, for example, which makes using the shell difficult." -msgstr "" - -#: ../../howto/curses.rst:134 -msgid "" -"In Python you can avoid these complications and make debugging much easier " -"by importing the :func:`curses.wrapper` function and using it like this::" -msgstr "" - -#: ../../howto/curses.rst:137 -msgid "" -"from curses import wrapper\n" -"\n" -"def main(stdscr):\n" -" # Clear screen\n" -" stdscr.clear()\n" -"\n" -" # This raises ZeroDivisionError when i == 10.\n" -" for i in range(0, 11):\n" -" v = i-10\n" -" stdscr.addstr(i, 0, '10 divided by {} is {}'.format(v, 10/v))\n" -"\n" -" stdscr.refresh()\n" -" stdscr.getkey()\n" -"\n" -"wrapper(main)" -msgstr "" - -#: ../../howto/curses.rst:153 -msgid "" -"The :func:`~curses.wrapper` function takes a callable object and does the " -"initializations described above, also initializing colors if color support " -"is present. :func:`!wrapper` then runs your provided callable. Once the " -"callable returns, :func:`!wrapper` will restore the original state of the " -"terminal. The callable is called inside a :keyword:`try`...\\ " -":keyword:`except` that catches exceptions, restores the state of the " -"terminal, and then re-raises the exception. Therefore your terminal won't " -"be left in a funny state on exception and you'll be able to read the " -"exception's message and traceback." -msgstr "" - -#: ../../howto/curses.rst:165 -msgid "Windows and Pads" -msgstr "" - -#: ../../howto/curses.rst:167 -msgid "" -"Windows are the basic abstraction in curses. A window object represents a " -"rectangular area of the screen, and supports methods to display text, erase " -"it, allow the user to input strings, and so forth." -msgstr "" - -#: ../../howto/curses.rst:171 -msgid "" -"The ``stdscr`` object returned by the :func:`~curses.initscr` function is a " -"window object that covers the entire screen. Many programs may need only " -"this single window, but you might wish to divide the screen into smaller " -"windows, in order to redraw or clear them separately. The " -":func:`~curses.newwin` function creates a new window of a given size, " -"returning the new window object. ::" -msgstr "" - -#: ../../howto/curses.rst:178 -msgid "" -"begin_x = 20; begin_y = 7\n" -"height = 5; width = 40\n" -"win = curses.newwin(height, width, begin_y, begin_x)" -msgstr "" - -#: ../../howto/curses.rst:182 -msgid "" -"Note that the coordinate system used in curses is unusual. Coordinates are " -"always passed in the order *y,x*, and the top-left corner of a window is " -"coordinate (0,0). This breaks the normal convention for handling " -"coordinates where the *x* coordinate comes first. This is an unfortunate " -"difference from most other computer applications, but it's been part of " -"curses since it was first written, and it's too late to change things now." -msgstr "" - -#: ../../howto/curses.rst:190 -msgid "" -"Your application can determine the size of the screen by using the " -":data:`curses.LINES` and :data:`curses.COLS` variables to obtain the *y* and" -" *x* sizes. Legal coordinates will then extend from ``(0,0)`` to " -"``(curses.LINES - 1, curses.COLS - 1)``." -msgstr "" - -#: ../../howto/curses.rst:195 -msgid "" -"When you call a method to display or erase text, the effect doesn't " -"immediately show up on the display. Instead you must call the " -":meth:`~curses.window.refresh` method of window objects to update the " -"screen." -msgstr "" - -#: ../../howto/curses.rst:200 -msgid "" -"This is because curses was originally written with slow 300-baud terminal " -"connections in mind; with these terminals, minimizing the time required to " -"redraw the screen was very important. Instead curses accumulates changes to" -" the screen and displays them in the most efficient manner when you call " -":meth:`!refresh`. For example, if your program displays some text in a " -"window and then clears the window, there's no need to send the original text" -" because they're never visible." -msgstr "" - -#: ../../howto/curses.rst:209 -msgid "" -"In practice, explicitly telling curses to redraw a window doesn't really " -"complicate programming with curses much. Most programs go into a flurry of " -"activity, and then pause waiting for a keypress or some other action on the " -"part of the user. All you have to do is to be sure that the screen has been" -" redrawn before pausing to wait for user input, by first calling " -":meth:`!stdscr.refresh` or the :meth:`!refresh` method of some other " -"relevant window." -msgstr "" - -#: ../../howto/curses.rst:217 -msgid "" -"A pad is a special case of a window; it can be larger than the actual " -"display screen, and only a portion of the pad displayed at a time. Creating " -"a pad requires the pad's height and width, while refreshing a pad requires " -"giving the coordinates of the on-screen area where a subsection of the pad " -"will be displayed. ::" -msgstr "" - -#: ../../howto/curses.rst:223 -msgid "" -"pad = curses.newpad(100, 100)\n" -"# These loops fill the pad with letters; addch() is\n" -"# explained in the next section\n" -"for y in range(0, 99):\n" -" for x in range(0, 99):\n" -" pad.addch(y,x, ord('a') + (x*x+y*y) % 26)\n" -"\n" -"# Displays a section of the pad in the middle of the screen.\n" -"# (0,0) : coordinate of upper-left corner of pad area to display.\n" -"# (5,5) : coordinate of upper-left corner of window area to be filled\n" -"# with pad content.\n" -"# (20, 75) : coordinate of lower-right corner of window area to be\n" -"# : filled with pad content.\n" -"pad.refresh( 0,0, 5,5, 20,75)" -msgstr "" - -#: ../../howto/curses.rst:238 -msgid "" -"The :meth:`!refresh` call displays a section of the pad in the rectangle " -"extending from coordinate (5,5) to coordinate (20,75) on the screen; the " -"upper left corner of the displayed section is coordinate (0,0) on the pad. " -"Beyond that difference, pads are exactly like ordinary windows and support " -"the same methods." -msgstr "" - -#: ../../howto/curses.rst:244 -msgid "" -"If you have multiple windows and pads on screen there is a more efficient " -"way to update the screen and prevent annoying screen flicker as each part of" -" the screen gets updated. :meth:`!refresh` actually does two things:" -msgstr "" - -#: ../../howto/curses.rst:249 -msgid "" -"Calls the :meth:`~curses.window.noutrefresh` method of each window to update" -" an underlying data structure representing the desired state of the screen." -msgstr "" - -#: ../../howto/curses.rst:252 -msgid "" -"Calls the function :func:`~curses.doupdate` function to change the physical " -"screen to match the desired state recorded in the data structure." -msgstr "" - -#: ../../howto/curses.rst:255 -msgid "" -"Instead you can call :meth:`!noutrefresh` on a number of windows to update " -"the data structure, and then call :func:`!doupdate` to update the screen." -msgstr "" - -#: ../../howto/curses.rst:261 -msgid "Displaying Text" -msgstr "" - -#: ../../howto/curses.rst:263 -msgid "" -"From a C programmer's point of view, curses may sometimes look like a twisty" -" maze of functions, all subtly different. For example, :c:func:`!addstr` " -"displays a string at the current cursor location in the ``stdscr`` window, " -"while :c:func:`!mvaddstr` moves to a given y,x coordinate first before " -"displaying the string. :c:func:`!waddstr` is just like :c:func:`!addstr`, " -"but allows specifying a window to use instead of using ``stdscr`` by " -"default. :c:func:`!mvwaddstr` allows specifying both a window and a " -"coordinate." -msgstr "" - -#: ../../howto/curses.rst:272 -msgid "" -"Fortunately the Python interface hides all these details. ``stdscr`` is a " -"window object like any other, and methods such as " -":meth:`~curses.window.addstr` accept multiple argument forms. Usually there" -" are four different forms." -msgstr "" - -#: ../../howto/curses.rst:278 -msgid "Form" -msgstr "Bentuk" - -#: ../../howto/curses.rst:278 ../../howto/curses.rst:346 -msgid "Description" -msgstr "Deskripsi" - -#: ../../howto/curses.rst:280 -msgid "*str* or *ch*" -msgstr "*str* atau *ch*" - -#: ../../howto/curses.rst:280 -msgid "Display the string *str* or character *ch* at the current position" -msgstr "" - -#: ../../howto/curses.rst:283 -msgid "*str* or *ch*, *attr*" -msgstr "*str* atau *ch*, *attr*" - -#: ../../howto/curses.rst:283 -msgid "" -"Display the string *str* or character *ch*, using attribute *attr* at the " -"current position" -msgstr "" - -#: ../../howto/curses.rst:287 -msgid "*y*, *x*, *str* or *ch*" -msgstr "*y*, *x*, *str* atau *ch*" - -#: ../../howto/curses.rst:287 -msgid "Move to position *y,x* within the window, and display *str* or *ch*" -msgstr "" - -#: ../../howto/curses.rst:290 -msgid "*y*, *x*, *str* or *ch*, *attr*" -msgstr "*y*, *x*, *str* atau *ch*, *attr*" - -#: ../../howto/curses.rst:290 -msgid "" -"Move to position *y,x* within the window, and display *str* or *ch*, using " -"attribute *attr*" -msgstr "" - -#: ../../howto/curses.rst:294 -msgid "" -"Attributes allow displaying text in highlighted forms such as boldface, " -"underline, reverse code, or in color. They'll be explained in more detail " -"in the next subsection." -msgstr "" - -#: ../../howto/curses.rst:299 -msgid "" -"The :meth:`~curses.window.addstr` method takes a Python string or bytestring" -" as the value to be displayed. The contents of bytestrings are sent to the " -"terminal as-is. Strings are encoded to bytes using the value of the " -"window's :attr:`~window.encoding` attribute; this defaults to the default " -"system encoding as returned by :func:`locale.getencoding`." -msgstr "" - -#: ../../howto/curses.rst:305 -msgid "" -"The :meth:`~curses.window.addch` methods take a character, which can be " -"either a string of length 1, a bytestring of length 1, or an integer." -msgstr "" - -#: ../../howto/curses.rst:308 -msgid "" -"Constants are provided for extension characters; these constants are " -"integers greater than 255. For example, :const:`ACS_PLMINUS` is a +/- " -"symbol, and :const:`ACS_ULCORNER` is the upper left corner of a box (handy " -"for drawing borders). You can also use the appropriate Unicode character." -msgstr "" - -#: ../../howto/curses.rst:314 -msgid "" -"Windows remember where the cursor was left after the last operation, so if " -"you leave out the *y,x* coordinates, the string or character will be " -"displayed wherever the last operation left off. You can also move the " -"cursor with the ``move(y,x)`` method. Because some terminals always display" -" a flashing cursor, you may want to ensure that the cursor is positioned in " -"some location where it won't be distracting; it can be confusing to have the" -" cursor blinking at some apparently random location." -msgstr "" - -#: ../../howto/curses.rst:322 -msgid "" -"If your application doesn't need a blinking cursor at all, you can call " -"``curs_set(False)`` to make it invisible. For compatibility with older " -"curses versions, there's a ``leaveok(bool)`` function that's a synonym for " -":func:`~curses.curs_set`. When *bool* is true, the curses library will " -"attempt to suppress the flashing cursor, and you won't need to worry about " -"leaving it in odd locations." -msgstr "" - -#: ../../howto/curses.rst:331 -msgid "Attributes and Color" -msgstr "" - -#: ../../howto/curses.rst:333 -msgid "" -"Characters can be displayed in different ways. Status lines in a text-based" -" application are commonly shown in reverse video, or a text viewer may need " -"to highlight certain words. curses supports this by allowing you to specify" -" an attribute for each cell on the screen." -msgstr "" - -#: ../../howto/curses.rst:338 -msgid "" -"An attribute is an integer, each bit representing a different attribute. " -"You can try to display text with multiple attribute bits set, but curses " -"doesn't guarantee that all the possible combinations are available, or that " -"they're all visually distinct. That depends on the ability of the terminal " -"being used, so it's safest to stick to the most commonly available " -"attributes, listed here." -msgstr "" - -#: ../../howto/curses.rst:346 -msgid "Attribute" -msgstr "Atribut" - -#: ../../howto/curses.rst:348 -msgid ":const:`A_BLINK`" -msgstr "" - -#: ../../howto/curses.rst:348 -msgid "Blinking text" -msgstr "" - -#: ../../howto/curses.rst:350 -msgid ":const:`A_BOLD`" -msgstr "" - -#: ../../howto/curses.rst:350 -msgid "Extra bright or bold text" -msgstr "" - -#: ../../howto/curses.rst:352 -msgid ":const:`A_DIM`" -msgstr "" - -#: ../../howto/curses.rst:352 -msgid "Half bright text" -msgstr "" - -#: ../../howto/curses.rst:354 -msgid ":const:`A_REVERSE`" -msgstr "" - -#: ../../howto/curses.rst:354 -msgid "Reverse-video text" -msgstr "" - -#: ../../howto/curses.rst:356 -msgid ":const:`A_STANDOUT`" -msgstr "" - -#: ../../howto/curses.rst:356 -msgid "The best highlighting mode available" -msgstr "" - -#: ../../howto/curses.rst:358 -msgid ":const:`A_UNDERLINE`" -msgstr "" - -#: ../../howto/curses.rst:358 -msgid "Underlined text" -msgstr "" - -#: ../../howto/curses.rst:361 -msgid "" -"So, to display a reverse-video status line on the top line of the screen, " -"you could code::" -msgstr "" - -#: ../../howto/curses.rst:364 -msgid "" -"stdscr.addstr(0, 0, \"Current mode: Typing mode\",\n" -" curses.A_REVERSE)\n" -"stdscr.refresh()" -msgstr "" - -#: ../../howto/curses.rst:368 -msgid "" -"The curses library also supports color on those terminals that provide it. " -"The most common such terminal is probably the Linux console, followed by " -"color xterms." -msgstr "" - -#: ../../howto/curses.rst:372 -msgid "" -"To use color, you must call the :func:`~curses.start_color` function soon " -"after calling :func:`~curses.initscr`, to initialize the default color set " -"(the :func:`curses.wrapper` function does this automatically). Once that's " -"done, the :func:`~curses.has_colors` function returns TRUE if the terminal " -"in use can actually display color. (Note: curses uses the American spelling" -" 'color', instead of the Canadian/British spelling 'colour'. If you're used" -" to the British spelling, you'll have to resign yourself to misspelling it " -"for the sake of these functions.)" -msgstr "" - -#: ../../howto/curses.rst:382 -msgid "" -"The curses library maintains a finite number of color pairs, containing a " -"foreground (or text) color and a background color. You can get the " -"attribute value corresponding to a color pair with the " -":func:`~curses.color_pair` function; this can be bitwise-OR'ed with other " -"attributes such as :const:`A_REVERSE`, but again, such combinations are not " -"guaranteed to work on all terminals." -msgstr "" - -#: ../../howto/curses.rst:389 -msgid "An example, which displays a line of text using color pair 1::" -msgstr "" - -#: ../../howto/curses.rst:391 -msgid "" -"stdscr.addstr(\"Pretty text\", curses.color_pair(1))\n" -"stdscr.refresh()" -msgstr "" - -#: ../../howto/curses.rst:394 -msgid "" -"As I said before, a color pair consists of a foreground and background " -"color. The ``init_pair(n, f, b)`` function changes the definition of color " -"pair *n*, to foreground color f and background color b. Color pair 0 is " -"hard-wired to white on black, and cannot be changed." -msgstr "" - -#: ../../howto/curses.rst:399 -msgid "" -"Colors are numbered, and :func:`start_color` initializes 8 basic colors when" -" it activates color mode. They are: 0:black, 1:red, 2:green, 3:yellow, " -"4:blue, 5:magenta, 6:cyan, and 7:white. The :mod:`curses` module defines " -"named constants for each of these colors: :const:`curses.COLOR_BLACK`, " -":const:`curses.COLOR_RED`, and so forth." -msgstr "" - -#: ../../howto/curses.rst:405 -msgid "" -"Let's put all this together. To change color 1 to red text on a white " -"background, you would call::" -msgstr "" - -#: ../../howto/curses.rst:408 -msgid "curses.init_pair(1, curses.COLOR_RED, curses.COLOR_WHITE)" -msgstr "" - -#: ../../howto/curses.rst:410 -msgid "" -"When you change a color pair, any text already displayed using that color " -"pair will change to the new colors. You can also display new text in this " -"color with::" -msgstr "" - -#: ../../howto/curses.rst:414 -msgid "stdscr.addstr(0,0, \"RED ALERT!\", curses.color_pair(1))" -msgstr "" - -#: ../../howto/curses.rst:416 -msgid "" -"Very fancy terminals can change the definitions of the actual colors to a " -"given RGB value. This lets you change color 1, which is usually red, to " -"purple or blue or any other color you like. Unfortunately, the Linux " -"console doesn't support this, so I'm unable to try it out, and can't provide" -" any examples. You can check if your terminal can do this by calling " -":func:`~curses.can_change_color`, which returns ``True`` if the capability " -"is there. If you're lucky enough to have such a talented terminal, consult " -"your system's man pages for more information." -msgstr "" - -#: ../../howto/curses.rst:427 -msgid "User Input" -msgstr "" - -#: ../../howto/curses.rst:429 -msgid "" -"The C curses library offers only very simple input mechanisms. Python's " -":mod:`curses` module adds a basic text-input widget. (Other libraries such " -"as :pypi:`Urwid` have more extensive collections of widgets.)" -msgstr "" - -#: ../../howto/curses.rst:433 -msgid "There are two methods for getting input from a window:" -msgstr "" - -#: ../../howto/curses.rst:435 -msgid "" -":meth:`~curses.window.getch` refreshes the screen and then waits for the " -"user to hit a key, displaying the key if :func:`~curses.echo` has been " -"called earlier. You can optionally specify a coordinate to which the cursor" -" should be moved before pausing." -msgstr "" - -#: ../../howto/curses.rst:440 -msgid "" -":meth:`~curses.window.getkey` does the same thing but converts the integer " -"to a string. Individual characters are returned as 1-character strings, and" -" special keys such as function keys return longer strings containing a key " -"name such as ``KEY_UP`` or ``^G``." -msgstr "" - -#: ../../howto/curses.rst:445 -msgid "" -"It's possible to not wait for the user using the " -":meth:`~curses.window.nodelay` window method. After ``nodelay(True)``, " -":meth:`!getch` and :meth:`!getkey` for the window become non-blocking. To " -"signal that no input is ready, :meth:`!getch` returns ``curses.ERR`` (a " -"value of -1) and :meth:`!getkey` raises an exception. There's also a " -":func:`~curses.halfdelay` function, which can be used to (in effect) set a " -"timer on each :meth:`!getch`; if no input becomes available within a " -"specified delay (measured in tenths of a second), curses raises an " -"exception." -msgstr "" - -#: ../../howto/curses.rst:455 -msgid "" -"The :meth:`!getch` method returns an integer; if it's between 0 and 255, it " -"represents the ASCII code of the key pressed. Values greater than 255 are " -"special keys such as Page Up, Home, or the cursor keys. You can compare the " -"value returned to constants such as :const:`curses.KEY_PPAGE`, " -":const:`curses.KEY_HOME`, or :const:`curses.KEY_LEFT`. The main loop of " -"your program may look something like this::" -msgstr "" - -#: ../../howto/curses.rst:462 -msgid "" -"while True:\n" -" c = stdscr.getch()\n" -" if c == ord('p'):\n" -" PrintDocument()\n" -" elif c == ord('q'):\n" -" break # Exit the while loop\n" -" elif c == curses.KEY_HOME:\n" -" x = y = 0" -msgstr "" - -#: ../../howto/curses.rst:471 -msgid "" -"The :mod:`curses.ascii` module supplies ASCII class membership functions " -"that take either integer or 1-character string arguments; these may be " -"useful in writing more readable tests for such loops. It also supplies " -"conversion functions that take either integer or 1-character-string " -"arguments and return the same type. For example, :func:`curses.ascii.ctrl` " -"returns the control character corresponding to its argument." -msgstr "" - -#: ../../howto/curses.rst:478 -msgid "" -"There's also a method to retrieve an entire string, " -":meth:`~curses.window.getstr`. It isn't used very often, because its " -"functionality is quite limited; the only editing keys available are the " -"backspace key and the Enter key, which terminates the string. It can " -"optionally be limited to a fixed number of characters. ::" -msgstr "" - -#: ../../howto/curses.rst:484 -msgid "" -"curses.echo() # Enable echoing of characters\n" -"\n" -"# Get a 15-character string, with the cursor on the top line\n" -"s = stdscr.getstr(0,0, 15)" -msgstr "" - -#: ../../howto/curses.rst:489 -msgid "" -"The :mod:`curses.textpad` module supplies a text box that supports an Emacs-" -"like set of keybindings. Various methods of the " -":class:`~curses.textpad.Textbox` class support editing with input validation" -" and gathering the edit results either with or without trailing spaces. " -"Here's an example::" -msgstr "" - -#: ../../howto/curses.rst:495 -msgid "" -"import curses\n" -"from curses.textpad import Textbox, rectangle\n" -"\n" -"def main(stdscr):\n" -" stdscr.addstr(0, 0, \"Enter IM message: (hit Ctrl-G to send)\")\n" -"\n" -" editwin = curses.newwin(5,30, 2,1)\n" -" rectangle(stdscr, 1,0, 1+5+1, 1+30+1)\n" -" stdscr.refresh()\n" -"\n" -" box = Textbox(editwin)\n" -"\n" -" # Let the user edit until Ctrl-G is struck.\n" -" box.edit()\n" -"\n" -" # Get resulting contents\n" -" message = box.gather()" -msgstr "" - -#: ../../howto/curses.rst:513 -msgid "" -"See the library documentation on :mod:`curses.textpad` for more details." -msgstr "" - -#: ../../howto/curses.rst:517 -msgid "For More Information" -msgstr "" - -#: ../../howto/curses.rst:519 -msgid "" -"This HOWTO doesn't cover some advanced topics, such as reading the contents " -"of the screen or capturing mouse events from an xterm instance, but the " -"Python library page for the :mod:`curses` module is now reasonably complete." -" You should browse it next." -msgstr "" - -#: ../../howto/curses.rst:524 -msgid "" -"If you're in doubt about the detailed behavior of the curses functions, " -"consult the manual pages for your curses implementation, whether it's " -"ncurses or a proprietary Unix vendor's. The manual pages will document any " -"quirks, and provide complete lists of all the functions, attributes, and " -":ref:`ACS_\\* ` characters available to you." -msgstr "" - -#: ../../howto/curses.rst:531 -msgid "" -"Because the curses API is so large, some functions aren't supported in the " -"Python interface. Often this isn't because they're difficult to implement, " -"but because no one has needed them yet. Also, Python doesn't yet support " -"the menu library associated with ncurses. Patches adding support for these " -"would be welcome; see `the Python Developer's Guide " -"`_ to learn more about submitting patches to " -"Python." -msgstr "" - -#: ../../howto/curses.rst:539 -msgid "" -"`Writing Programs with NCURSES `_: a lengthy tutorial for C " -"programmers." -msgstr "" - -#: ../../howto/curses.rst:541 -msgid "`The ncurses man page `_" -msgstr "" - -#: ../../howto/curses.rst:542 -msgid "" -"`The ncurses FAQ `_" -msgstr "" - -#: ../../howto/curses.rst:543 -msgid "" -"`\"Use curses... don't swear\" " -"`_: video of a PyCon 2013 talk " -"on controlling terminals using curses or Urwid." -msgstr "" - -#: ../../howto/curses.rst:545 -msgid "" -"`\"Console Applications with Urwid\" " -"`_: video of" -" a PyCon CA 2012 talk demonstrating some applications written using Urwid." -msgstr "" diff --git a/python-newest.howto--descriptor/id.po b/python-newest.howto--descriptor/id.po deleted file mode 100644 index 6d0e66f..0000000 --- a/python-newest.howto--descriptor/id.po +++ /dev/null @@ -1,1904 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# Akhmat Safrudin , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Akhmat Safrudin , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/descriptor.rst:5 -msgid "Descriptor Guide" -msgstr "" - -#: ../../howto/descriptor.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../howto/descriptor.rst:7 -msgid "Raymond Hettinger" -msgstr "Raymond Hettinger" - -#: ../../howto/descriptor.rst:0 -msgid "Contact" -msgstr "" - -#: ../../howto/descriptor.rst:8 -msgid "" -msgstr "" - -#: ../../howto/descriptor.rst:11 -msgid "Contents" -msgstr "Konten" - -#: ../../howto/descriptor.rst:13 -msgid "" -":term:`Descriptors ` let objects customize attribute lookup, " -"storage, and deletion." -msgstr "" - -#: ../../howto/descriptor.rst:16 -msgid "This guide has four major sections:" -msgstr "" - -#: ../../howto/descriptor.rst:18 -msgid "" -"The \"primer\" gives a basic overview, moving gently from simple examples, " -"adding one feature at a time. Start here if you're new to descriptors." -msgstr "" - -#: ../../howto/descriptor.rst:21 -msgid "" -"The second section shows a complete, practical descriptor example. If you " -"already know the basics, start there." -msgstr "" - -#: ../../howto/descriptor.rst:24 -msgid "" -"The third section provides a more technical tutorial that goes into the " -"detailed mechanics of how descriptors work. Most people don't need this " -"level of detail." -msgstr "" - -#: ../../howto/descriptor.rst:28 -msgid "" -"The last section has pure Python equivalents for built-in descriptors that " -"are written in C. Read this if you're curious about how functions turn into" -" bound methods or about the implementation of common tools like " -":func:`classmethod`, :func:`staticmethod`, :func:`property`, and " -":term:`__slots__`." -msgstr "" - -#: ../../howto/descriptor.rst:36 -msgid "Primer" -msgstr "" - -#: ../../howto/descriptor.rst:38 -msgid "" -"In this primer, we start with the most basic possible example and then we'll" -" add new capabilities one by one." -msgstr "" - -#: ../../howto/descriptor.rst:43 -msgid "Simple example: A descriptor that returns a constant" -msgstr "" - -#: ../../howto/descriptor.rst:45 -msgid "" -"The :class:`!Ten` class is a descriptor whose :meth:`~object.__get__` method" -" always returns the constant ``10``:" -msgstr "" - -#: ../../howto/descriptor.rst:48 -msgid "" -"class Ten:\n" -" def __get__(self, obj, objtype=None):\n" -" return 10" -msgstr "" - -#: ../../howto/descriptor.rst:54 -msgid "" -"To use the descriptor, it must be stored as a class variable in another " -"class:" -msgstr "" - -#: ../../howto/descriptor.rst:56 -msgid "" -"class A:\n" -" x = 5 # Regular class attribute\n" -" y = Ten() # Descriptor instance" -msgstr "" - -#: ../../howto/descriptor.rst:62 -msgid "" -"An interactive session shows the difference between normal attribute lookup " -"and descriptor lookup:" -msgstr "" - -#: ../../howto/descriptor.rst:65 -msgid "" -">>> a = A() # Make an instance of class A\n" -">>> a.x # Normal attribute lookup\n" -"5\n" -">>> a.y # Descriptor lookup\n" -"10" -msgstr "" - -#: ../../howto/descriptor.rst:73 -msgid "" -"In the ``a.x`` attribute lookup, the dot operator finds ``'x': 5`` in the " -"class dictionary. In the ``a.y`` lookup, the dot operator finds a " -"descriptor instance, recognized by its ``__get__`` method. Calling that " -"method returns ``10``." -msgstr "" - -#: ../../howto/descriptor.rst:78 -msgid "" -"Note that the value ``10`` is not stored in either the class dictionary or " -"the instance dictionary. Instead, the value ``10`` is computed on demand." -msgstr "" - -#: ../../howto/descriptor.rst:81 -msgid "" -"This example shows how a simple descriptor works, but it isn't very useful. " -"For retrieving constants, normal attribute lookup would be better." -msgstr "" - -#: ../../howto/descriptor.rst:84 -msgid "" -"In the next section, we'll create something more useful, a dynamic lookup." -msgstr "" - -#: ../../howto/descriptor.rst:88 -msgid "Dynamic lookups" -msgstr "" - -#: ../../howto/descriptor.rst:90 -msgid "" -"Interesting descriptors typically run computations instead of returning " -"constants:" -msgstr "" - -#: ../../howto/descriptor.rst:93 -msgid "" -"import os\n" -"\n" -"class DirectorySize:\n" -"\n" -" def __get__(self, obj, objtype=None):\n" -" return len(os.listdir(obj.dirname))\n" -"\n" -"class Directory:\n" -"\n" -" size = DirectorySize() # Descriptor instance\n" -"\n" -" def __init__(self, dirname):\n" -" self.dirname = dirname # Regular instance attribute" -msgstr "" - -#: ../../howto/descriptor.rst:109 -msgid "" -"An interactive session shows that the lookup is dynamic — it computes " -"different, updated answers each time::" -msgstr "" - -#: ../../howto/descriptor.rst:112 -msgid "" -">>> s = Directory('songs')\n" -">>> g = Directory('games')\n" -">>> s.size # The songs directory has twenty files\n" -"20\n" -">>> g.size # The games directory has three files\n" -"3\n" -">>> os.remove('games/chess') # Delete a game\n" -">>> g.size # File count is automatically updated\n" -"2" -msgstr "" - -#: ../../howto/descriptor.rst:122 -msgid "" -"Besides showing how descriptors can run computations, this example also " -"reveals the purpose of the parameters to :meth:`~object.__get__`. The " -"*self* parameter is *size*, an instance of *DirectorySize*. The *obj* " -"parameter is either *g* or *s*, an instance of *Directory*. It is the *obj*" -" parameter that lets the :meth:`~object.__get__` method learn the target " -"directory. The *objtype* parameter is the class *Directory*." -msgstr "" - -#: ../../howto/descriptor.rst:131 -msgid "Managed attributes" -msgstr "" - -#: ../../howto/descriptor.rst:133 -msgid "" -"A popular use for descriptors is managing access to instance data. The " -"descriptor is assigned to a public attribute in the class dictionary while " -"the actual data is stored as a private attribute in the instance dictionary." -" The descriptor's :meth:`~object.__get__` and :meth:`~object.__set__` " -"methods are triggered when the public attribute is accessed." -msgstr "" - -#: ../../howto/descriptor.rst:139 -msgid "" -"In the following example, *age* is the public attribute and *_age* is the " -"private attribute. When the public attribute is accessed, the descriptor " -"logs the lookup or update:" -msgstr "" - -#: ../../howto/descriptor.rst:143 -msgid "" -"import logging\n" -"\n" -"logging.basicConfig(level=logging.INFO)\n" -"\n" -"class LoggedAgeAccess:\n" -"\n" -" def __get__(self, obj, objtype=None):\n" -" value = obj._age\n" -" logging.info('Accessing %r giving %r', 'age', value)\n" -" return value\n" -"\n" -" def __set__(self, obj, value):\n" -" logging.info('Updating %r to %r', 'age', value)\n" -" obj._age = value\n" -"\n" -"class Person:\n" -"\n" -" age = LoggedAgeAccess() # Descriptor instance\n" -"\n" -" def __init__(self, name, age):\n" -" self.name = name # Regular instance attribute\n" -" self.age = age # Calls __set__()\n" -"\n" -" def birthday(self):\n" -" self.age += 1 # Calls both __get__() and __set__()" -msgstr "" - -#: ../../howto/descriptor.rst:172 -msgid "" -"An interactive session shows that all access to the managed attribute *age* " -"is logged, but that the regular attribute *name* is not logged:" -msgstr "" - -#: ../../howto/descriptor.rst:181 -msgid "" -">>> mary = Person('Mary M', 30) # The initial age update is logged\n" -"INFO:root:Updating 'age' to 30\n" -">>> dave = Person('David D', 40)\n" -"INFO:root:Updating 'age' to 40\n" -"\n" -">>> vars(mary) # The actual data is in a private attribute\n" -"{'name': 'Mary M', '_age': 30}\n" -">>> vars(dave)\n" -"{'name': 'David D', '_age': 40}\n" -"\n" -">>> mary.age # Access the data and log the lookup\n" -"INFO:root:Accessing 'age' giving 30\n" -"30\n" -">>> mary.birthday() # Updates are logged as well\n" -"INFO:root:Accessing 'age' giving 30\n" -"INFO:root:Updating 'age' to 31\n" -"\n" -">>> dave.name # Regular attribute lookup isn't logged\n" -"'David D'\n" -">>> dave.age # Only the managed attribute is logged\n" -"INFO:root:Accessing 'age' giving 40\n" -"40" -msgstr "" - -#: ../../howto/descriptor.rst:206 -msgid "" -"One major issue with this example is that the private name *_age* is " -"hardwired in the *LoggedAgeAccess* class. That means that each instance can" -" only have one logged attribute and that its name is unchangeable. In the " -"next example, we'll fix that problem." -msgstr "" - -#: ../../howto/descriptor.rst:213 -msgid "Customized names" -msgstr "" - -#: ../../howto/descriptor.rst:215 -msgid "" -"When a class uses descriptors, it can inform each descriptor about which " -"variable name was used." -msgstr "" - -#: ../../howto/descriptor.rst:218 -msgid "" -"In this example, the :class:`!Person` class has two descriptor instances, " -"*name* and *age*. When the :class:`!Person` class is defined, it makes a " -"callback to :meth:`~object.__set_name__` in *LoggedAccess* so that the field" -" names can be recorded, giving each descriptor its own *public_name* and " -"*private_name*:" -msgstr "" - -#: ../../howto/descriptor.rst:223 -msgid "" -"import logging\n" -"\n" -"logging.basicConfig(level=logging.INFO)\n" -"\n" -"class LoggedAccess:\n" -"\n" -" def __set_name__(self, owner, name):\n" -" self.public_name = name\n" -" self.private_name = '_' + name\n" -"\n" -" def __get__(self, obj, objtype=None):\n" -" value = getattr(obj, self.private_name)\n" -" logging.info('Accessing %r giving %r', self.public_name, value)\n" -" return value\n" -"\n" -" def __set__(self, obj, value):\n" -" logging.info('Updating %r to %r', self.public_name, value)\n" -" setattr(obj, self.private_name, value)\n" -"\n" -"class Person:\n" -"\n" -" name = LoggedAccess() # First descriptor instance\n" -" age = LoggedAccess() # Second descriptor instance\n" -"\n" -" def __init__(self, name, age):\n" -" self.name = name # Calls the first descriptor\n" -" self.age = age # Calls the second descriptor\n" -"\n" -" def birthday(self):\n" -" self.age += 1" -msgstr "" - -#: ../../howto/descriptor.rst:256 -msgid "" -"An interactive session shows that the :class:`!Person` class has called " -":meth:`~object.__set_name__` so that the field names would be recorded. " -"Here we call :func:`vars` to look up the descriptor without triggering it:" -msgstr "" - -#: ../../howto/descriptor.rst:260 -msgid "" -">>> vars(vars(Person)['name'])\n" -"{'public_name': 'name', 'private_name': '_name'}\n" -">>> vars(vars(Person)['age'])\n" -"{'public_name': 'age', 'private_name': '_age'}" -msgstr "" - -#: ../../howto/descriptor.rst:267 -msgid "The new class now logs access to both *name* and *age*:" -msgstr "" - -#: ../../howto/descriptor.rst:275 -msgid "" -">>> pete = Person('Peter P', 10)\n" -"INFO:root:Updating 'name' to 'Peter P'\n" -"INFO:root:Updating 'age' to 10\n" -">>> kate = Person('Catherine C', 20)\n" -"INFO:root:Updating 'name' to 'Catherine C'\n" -"INFO:root:Updating 'age' to 20" -msgstr "" - -#: ../../howto/descriptor.rst:284 -msgid "The two *Person* instances contain only the private names:" -msgstr "" - -#: ../../howto/descriptor.rst:286 -msgid "" -">>> vars(pete)\n" -"{'_name': 'Peter P', '_age': 10}\n" -">>> vars(kate)\n" -"{'_name': 'Catherine C', '_age': 20}" -msgstr "" - -#: ../../howto/descriptor.rst:295 -msgid "Closing thoughts" -msgstr "" - -#: ../../howto/descriptor.rst:297 -msgid "" -"A :term:`descriptor` is what we call any object that defines " -":meth:`~object.__get__`, :meth:`~object.__set__`, or " -":meth:`~object.__delete__`." -msgstr "" - -#: ../../howto/descriptor.rst:300 -msgid "" -"Optionally, descriptors can have a :meth:`~object.__set_name__` method. " -"This is only used in cases where a descriptor needs to know either the class" -" where it was created or the name of class variable it was assigned to. " -"(This method, if present, is called even if the class is not a descriptor.)" -msgstr "" - -#: ../../howto/descriptor.rst:305 -msgid "" -"Descriptors get invoked by the dot operator during attribute lookup. If a " -"descriptor is accessed indirectly with " -"``vars(some_class)[descriptor_name]``, the descriptor instance is returned " -"without invoking it." -msgstr "" - -#: ../../howto/descriptor.rst:309 -msgid "" -"Descriptors only work when used as class variables. When put in instances, " -"they have no effect." -msgstr "" - -#: ../../howto/descriptor.rst:312 -msgid "" -"The main motivation for descriptors is to provide a hook allowing objects " -"stored in class variables to control what happens during attribute lookup." -msgstr "" - -#: ../../howto/descriptor.rst:315 -msgid "" -"Traditionally, the calling class controls what happens during lookup. " -"Descriptors invert that relationship and allow the data being looked-up to " -"have a say in the matter." -msgstr "" - -#: ../../howto/descriptor.rst:319 -msgid "" -"Descriptors are used throughout the language. It is how functions turn into" -" bound methods. Common tools like :func:`classmethod`, " -":func:`staticmethod`, :func:`property`, and " -":func:`functools.cached_property` are all implemented as descriptors." -msgstr "" - -#: ../../howto/descriptor.rst:326 -msgid "Complete Practical Example" -msgstr "" - -#: ../../howto/descriptor.rst:328 -msgid "" -"In this example, we create a practical and powerful tool for locating " -"notoriously hard to find data corruption bugs." -msgstr "" - -#: ../../howto/descriptor.rst:333 -msgid "Validator class" -msgstr "" - -#: ../../howto/descriptor.rst:335 -msgid "" -"A validator is a descriptor for managed attribute access. Prior to storing " -"any data, it verifies that the new value meets various type and range " -"restrictions. If those restrictions aren't met, it raises an exception to " -"prevent data corruption at its source." -msgstr "" - -#: ../../howto/descriptor.rst:340 -msgid "" -"This :class:`!Validator` class is both an :term:`abstract base class` and a " -"managed attribute descriptor:" -msgstr "" - -#: ../../howto/descriptor.rst:343 -msgid "" -"from abc import ABC, abstractmethod\n" -"\n" -"class Validator(ABC):\n" -"\n" -" def __set_name__(self, owner, name):\n" -" self.private_name = '_' + name\n" -"\n" -" def __get__(self, obj, objtype=None):\n" -" return getattr(obj, self.private_name)\n" -"\n" -" def __set__(self, obj, value):\n" -" self.validate(value)\n" -" setattr(obj, self.private_name, value)\n" -"\n" -" @abstractmethod\n" -" def validate(self, value):\n" -" pass" -msgstr "" - -#: ../../howto/descriptor.rst:363 -msgid "" -"Custom validators need to inherit from :class:`!Validator` and must supply a" -" :meth:`!validate` method to test various restrictions as needed." -msgstr "" - -#: ../../howto/descriptor.rst:368 -msgid "Custom validators" -msgstr "" - -#: ../../howto/descriptor.rst:370 -msgid "Here are three practical data validation utilities:" -msgstr "" - -#: ../../howto/descriptor.rst:372 -msgid "" -":class:`!OneOf` verifies that a value is one of a restricted set of options." -msgstr "" - -#: ../../howto/descriptor.rst:374 -msgid "" -":class:`!Number` verifies that a value is either an :class:`int` or " -":class:`float`. Optionally, it verifies that a value is between a given " -"minimum or maximum." -msgstr "" - -#: ../../howto/descriptor.rst:378 -msgid "" -":class:`!String` verifies that a value is a :class:`str`. Optionally, it " -"validates a given minimum or maximum length. It can validate a user-defined" -" `predicate `_" -" as well." -msgstr "" - -#: ../../howto/descriptor.rst:383 -msgid "" -"class OneOf(Validator):\n" -"\n" -" def __init__(self, *options):\n" -" self.options = set(options)\n" -"\n" -" def validate(self, value):\n" -" if value not in self.options:\n" -" raise ValueError(\n" -" f'Expected {value!r} to be one of {self.options!r}'\n" -" )\n" -"\n" -"class Number(Validator):\n" -"\n" -" def __init__(self, minvalue=None, maxvalue=None):\n" -" self.minvalue = minvalue\n" -" self.maxvalue = maxvalue\n" -"\n" -" def validate(self, value):\n" -" if not isinstance(value, (int, float)):\n" -" raise TypeError(f'Expected {value!r} to be an int or float')\n" -" if self.minvalue is not None and value < self.minvalue:\n" -" raise ValueError(\n" -" f'Expected {value!r} to be at least {self.minvalue!r}'\n" -" )\n" -" if self.maxvalue is not None and value > self.maxvalue:\n" -" raise ValueError(\n" -" f'Expected {value!r} to be no more than {self.maxvalue!r}'\n" -" )\n" -"\n" -"class String(Validator):\n" -"\n" -" def __init__(self, minsize=None, maxsize=None, predicate=None):\n" -" self.minsize = minsize\n" -" self.maxsize = maxsize\n" -" self.predicate = predicate\n" -"\n" -" def validate(self, value):\n" -" if not isinstance(value, str):\n" -" raise TypeError(f'Expected {value!r} to be an str')\n" -" if self.minsize is not None and len(value) < self.minsize:\n" -" raise ValueError(\n" -" f'Expected {value!r} to be no smaller than {self.minsize!r}'\n" -" )\n" -" if self.maxsize is not None and len(value) > self.maxsize:\n" -" raise ValueError(\n" -" f'Expected {value!r} to be no bigger than {self.maxsize!r}'\n" -" )\n" -" if self.predicate is not None and not self.predicate(value):\n" -" raise ValueError(\n" -" f'Expected {self.predicate} to be true for {value!r}'\n" -" )" -msgstr "" - -#: ../../howto/descriptor.rst:439 -msgid "Practical application" -msgstr "" - -#: ../../howto/descriptor.rst:441 -msgid "Here's how the data validators can be used in a real class:" -msgstr "" - -#: ../../howto/descriptor.rst:443 -msgid "" -"class Component:\n" -"\n" -" name = String(minsize=3, maxsize=10, predicate=str.isupper)\n" -" kind = OneOf('wood', 'metal', 'plastic')\n" -" quantity = Number(minvalue=0)\n" -"\n" -" def __init__(self, name, kind, quantity):\n" -" self.name = name\n" -" self.kind = kind\n" -" self.quantity = quantity" -msgstr "" - -#: ../../howto/descriptor.rst:456 -msgid "The descriptors prevent invalid instances from being created:" -msgstr "" - -#: ../../howto/descriptor.rst:458 -msgid "" -">>> Component('Widget', 'metal', 5) # Blocked: 'Widget' is not all uppercase\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError: Expected to be true for 'Widget'\n" -"\n" -">>> Component('WIDGET', 'metle', 5) # Blocked: 'metle' is misspelled\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError: Expected 'metle' to be one of {'metal', 'plastic', 'wood'}\n" -"\n" -">>> Component('WIDGET', 'metal', -5) # Blocked: -5 is negative\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError: Expected -5 to be at least 0\n" -"\n" -">>> Component('WIDGET', 'metal', 'V') # Blocked: 'V' isn't a number\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: Expected 'V' to be an int or float\n" -"\n" -">>> c = Component('WIDGET', 'metal', 5) # Allowed: The inputs are valid" -msgstr "" - -#: ../../howto/descriptor.rst:484 -msgid "Technical Tutorial" -msgstr "" - -#: ../../howto/descriptor.rst:486 -msgid "" -"What follows is a more technical tutorial for the mechanics and details of " -"how descriptors work." -msgstr "" - -#: ../../howto/descriptor.rst:491 -msgid "Abstract" -msgstr "Abstrak" - -#: ../../howto/descriptor.rst:493 -msgid "" -"Defines descriptors, summarizes the protocol, and shows how descriptors are " -"called. Provides an example showing how object relational mappings work." -msgstr "" - -#: ../../howto/descriptor.rst:496 -msgid "" -"Learning about descriptors not only provides access to a larger toolset, it " -"creates a deeper understanding of how Python works." -msgstr "" - -#: ../../howto/descriptor.rst:501 -msgid "Definition and introduction" -msgstr "" - -#: ../../howto/descriptor.rst:503 -msgid "" -"In general, a descriptor is an attribute value that has one of the methods " -"in the descriptor protocol. Those methods are :meth:`~object.__get__`, " -":meth:`~object.__set__`, and :meth:`~object.__delete__`. If any of those " -"methods are defined for an attribute, it is said to be a :term:`descriptor`." -msgstr "" - -#: ../../howto/descriptor.rst:508 -msgid "" -"The default behavior for attribute access is to get, set, or delete the " -"attribute from an object's dictionary. For instance, ``a.x`` has a lookup " -"chain starting with ``a.__dict__['x']``, then ``type(a).__dict__['x']``, and" -" continuing through the method resolution order of ``type(a)``. If the " -"looked-up value is an object defining one of the descriptor methods, then " -"Python may override the default behavior and invoke the descriptor method " -"instead. Where this occurs in the precedence chain depends on which " -"descriptor methods were defined." -msgstr "" - -#: ../../howto/descriptor.rst:517 -msgid "" -"Descriptors are a powerful, general purpose protocol. They are the " -"mechanism behind properties, methods, static methods, class methods, and " -":func:`super`. They are used throughout Python itself. Descriptors " -"simplify the underlying C code and offer a flexible set of new tools for " -"everyday Python programs." -msgstr "" - -#: ../../howto/descriptor.rst:525 -msgid "Descriptor protocol" -msgstr "" - -#: ../../howto/descriptor.rst:527 -msgid "``descr.__get__(self, obj, type=None)``" -msgstr "" - -#: ../../howto/descriptor.rst:529 -msgid "``descr.__set__(self, obj, value)``" -msgstr "" - -#: ../../howto/descriptor.rst:531 -msgid "``descr.__delete__(self, obj)``" -msgstr "" - -#: ../../howto/descriptor.rst:533 -msgid "" -"That is all there is to it. Define any of these methods and an object is " -"considered a descriptor and can override default behavior upon being looked " -"up as an attribute." -msgstr "" - -#: ../../howto/descriptor.rst:537 -msgid "" -"If an object defines :meth:`~object.__set__` or :meth:`~object.__delete__`, " -"it is considered a data descriptor. Descriptors that only define " -":meth:`~object.__get__` are called non-data descriptors (they are often used" -" for methods but other uses are possible)." -msgstr "" - -#: ../../howto/descriptor.rst:542 -msgid "" -"Data and non-data descriptors differ in how overrides are calculated with " -"respect to entries in an instance's dictionary. If an instance's dictionary" -" has an entry with the same name as a data descriptor, the data descriptor " -"takes precedence. If an instance's dictionary has an entry with the same " -"name as a non-data descriptor, the dictionary entry takes precedence." -msgstr "" - -#: ../../howto/descriptor.rst:548 -msgid "" -"To make a read-only data descriptor, define both :meth:`~object.__get__` and" -" :meth:`~object.__set__` with the :meth:`~object.__set__` raising an " -":exc:`AttributeError` when called. Defining the :meth:`~object.__set__` " -"method with an exception raising placeholder is enough to make it a data " -"descriptor." -msgstr "" - -#: ../../howto/descriptor.rst:555 -msgid "Overview of descriptor invocation" -msgstr "" - -#: ../../howto/descriptor.rst:557 -msgid "" -"A descriptor can be called directly with ``desc.__get__(obj)`` or " -"``desc.__get__(None, cls)``." -msgstr "" - -#: ../../howto/descriptor.rst:560 -msgid "" -"But it is more common for a descriptor to be invoked automatically from " -"attribute access." -msgstr "" - -#: ../../howto/descriptor.rst:563 -msgid "" -"The expression ``obj.x`` looks up the attribute ``x`` in the chain of " -"namespaces for ``obj``. If the search finds a descriptor outside of the " -"instance :attr:`~object.__dict__`, its :meth:`~object.__get__` method is " -"invoked according to the precedence rules listed below." -msgstr "" - -#: ../../howto/descriptor.rst:568 -msgid "" -"The details of invocation depend on whether ``obj`` is an object, class, or " -"instance of super." -msgstr "" - -#: ../../howto/descriptor.rst:573 -msgid "Invocation from an instance" -msgstr "" - -#: ../../howto/descriptor.rst:575 -msgid "" -"Instance lookup scans through a chain of namespaces giving data descriptors " -"the highest priority, followed by instance variables, then non-data " -"descriptors, then class variables, and lastly :meth:`~object.__getattr__` if" -" it is provided." -msgstr "" - -#: ../../howto/descriptor.rst:580 -msgid "" -"If a descriptor is found for ``a.x``, then it is invoked with: " -"``desc.__get__(a, type(a))``." -msgstr "" - -#: ../../howto/descriptor.rst:583 -msgid "" -"The logic for a dotted lookup is in :meth:`object.__getattribute__`. Here " -"is a pure Python equivalent:" -msgstr "" - -#: ../../howto/descriptor.rst:586 -msgid "" -"def find_name_in_mro(cls, name, default):\n" -" \"Emulate _PyType_Lookup() in Objects/typeobject.c\"\n" -" for base in cls.__mro__:\n" -" if name in vars(base):\n" -" return vars(base)[name]\n" -" return default\n" -"\n" -"def object_getattribute(obj, name):\n" -" \"Emulate PyObject_GenericGetAttr() in Objects/object.c\"\n" -" null = object()\n" -" objtype = type(obj)\n" -" cls_var = find_name_in_mro(objtype, name, null)\n" -" descr_get = getattr(type(cls_var), '__get__', null)\n" -" if descr_get is not null:\n" -" if (hasattr(type(cls_var), '__set__')\n" -" or hasattr(type(cls_var), '__delete__')):\n" -" return descr_get(cls_var, obj, objtype) # data descriptor\n" -" if hasattr(obj, '__dict__') and name in vars(obj):\n" -" return vars(obj)[name] # instance variable\n" -" if descr_get is not null:\n" -" return descr_get(cls_var, obj, objtype) # non-data descriptor\n" -" if cls_var is not null:\n" -" return cls_var # class variable\n" -" raise AttributeError(name)" -msgstr "" - -#: ../../howto/descriptor.rst:722 -msgid "" -"Note, there is no :meth:`~object.__getattr__` hook in the " -":meth:`~object.__getattribute__` code. That is why calling " -":meth:`~object.__getattribute__` directly or with " -"``super().__getattribute__`` will bypass :meth:`~object.__getattr__` " -"entirely." -msgstr "" - -#: ../../howto/descriptor.rst:726 -msgid "" -"Instead, it is the dot operator and the :func:`getattr` function that are " -"responsible for invoking :meth:`~object.__getattr__` whenever " -":meth:`~object.__getattribute__` raises an :exc:`AttributeError`. Their " -"logic is encapsulated in a helper function:" -msgstr "" - -#: ../../howto/descriptor.rst:731 -msgid "" -"def getattr_hook(obj, name):\n" -" \"Emulate slot_tp_getattr_hook() in Objects/typeobject.c\"\n" -" try:\n" -" return obj.__getattribute__(name)\n" -" except AttributeError:\n" -" if not hasattr(type(obj), '__getattr__'):\n" -" raise\n" -" return type(obj).__getattr__(obj, name) # __getattr__" -msgstr "" - -#: ../../howto/descriptor.rst:776 -msgid "Invocation from a class" -msgstr "" - -#: ../../howto/descriptor.rst:778 -msgid "" -"The logic for a dotted lookup such as ``A.x`` is in " -":meth:`!type.__getattribute__`. The steps are similar to those for " -":meth:`!object.__getattribute__` but the instance dictionary lookup is " -"replaced by a search through the class's :term:`method resolution order`." -msgstr "" - -#: ../../howto/descriptor.rst:783 -msgid "" -"If a descriptor is found, it is invoked with ``desc.__get__(None, A)``." -msgstr "" - -#: ../../howto/descriptor.rst:785 -msgid "" -"The full C implementation can be found in :c:func:`!type_getattro` and " -":c:func:`!_PyType_Lookup` in :source:`Objects/typeobject.c`." -msgstr "" - -#: ../../howto/descriptor.rst:790 -msgid "Invocation from super" -msgstr "" - -#: ../../howto/descriptor.rst:792 -msgid "" -"The logic for super's dotted lookup is in the " -":meth:`~object.__getattribute__` method for object returned by " -":func:`super`." -msgstr "" - -#: ../../howto/descriptor.rst:795 -msgid "" -"A dotted lookup such as ``super(A, obj).m`` searches " -"``obj.__class__.__mro__`` for the base class ``B`` immediately following " -"``A`` and then returns ``B.__dict__['m'].__get__(obj, A)``. If not a " -"descriptor, ``m`` is returned unchanged." -msgstr "" - -#: ../../howto/descriptor.rst:800 -msgid "" -"The full C implementation can be found in :c:func:`!super_getattro` in " -":source:`Objects/typeobject.c`. A pure Python equivalent can be found in " -"`Guido's Tutorial " -"`_." -msgstr "" - -#: ../../howto/descriptor.rst:807 -msgid "Summary of invocation logic" -msgstr "" - -#: ../../howto/descriptor.rst:809 -msgid "" -"The mechanism for descriptors is embedded in the " -":meth:`~object.__getattribute__` methods for :class:`object`, :class:`type`," -" and :func:`super`." -msgstr "" - -#: ../../howto/descriptor.rst:812 -msgid "The important points to remember are:" -msgstr "" - -#: ../../howto/descriptor.rst:814 -msgid "" -"Descriptors are invoked by the :meth:`~object.__getattribute__` method." -msgstr "" - -#: ../../howto/descriptor.rst:816 -msgid "" -"Classes inherit this machinery from :class:`object`, :class:`type`, or " -":func:`super`." -msgstr "" - -#: ../../howto/descriptor.rst:819 -msgid "" -"Overriding :meth:`~object.__getattribute__` prevents automatic descriptor " -"calls because all the descriptor logic is in that method." -msgstr "" - -#: ../../howto/descriptor.rst:822 -msgid "" -":meth:`!object.__getattribute__` and :meth:`!type.__getattribute__` make " -"different calls to :meth:`~object.__get__`. The first includes the instance" -" and may include the class. The second puts in ``None`` for the instance " -"and always includes the class." -msgstr "" - -#: ../../howto/descriptor.rst:827 -msgid "Data descriptors always override instance dictionaries." -msgstr "" - -#: ../../howto/descriptor.rst:829 -msgid "Non-data descriptors may be overridden by instance dictionaries." -msgstr "" - -#: ../../howto/descriptor.rst:833 -msgid "Automatic name notification" -msgstr "" - -#: ../../howto/descriptor.rst:835 -msgid "" -"Sometimes it is desirable for a descriptor to know what class variable name " -"it was assigned to. When a new class is created, the :class:`type` " -"metaclass scans the dictionary of the new class. If any of the entries are " -"descriptors and if they define :meth:`~object.__set_name__`, that method is " -"called with two arguments. The *owner* is the class where the descriptor is" -" used, and the *name* is the class variable the descriptor was assigned to." -msgstr "" - -#: ../../howto/descriptor.rst:842 -msgid "" -"The implementation details are in :c:func:`!type_new` and " -":c:func:`!set_names` in :source:`Objects/typeobject.c`." -msgstr "" - -#: ../../howto/descriptor.rst:845 -msgid "" -"Since the update logic is in :meth:`!type.__new__`, notifications only take " -"place at the time of class creation. If descriptors are added to the class " -"afterwards, :meth:`~object.__set_name__` will need to be called manually." -msgstr "" - -#: ../../howto/descriptor.rst:851 -msgid "ORM example" -msgstr "" - -#: ../../howto/descriptor.rst:853 -msgid "" -"The following code is a simplified skeleton showing how data descriptors " -"could be used to implement an `object relational mapping " -"`_." -msgstr "" - -#: ../../howto/descriptor.rst:857 -msgid "" -"The essential idea is that the data is stored in an external database. The " -"Python instances only hold keys to the database's tables. Descriptors take " -"care of lookups or updates:" -msgstr "" - -#: ../../howto/descriptor.rst:861 -msgid "" -"class Field:\n" -"\n" -" def __set_name__(self, owner, name):\n" -" self.fetch = f'SELECT {name} FROM {owner.table} WHERE {owner.key}=?;'\n" -" self.store = f'UPDATE {owner.table} SET {name}=? WHERE {owner.key}=?;'\n" -"\n" -" def __get__(self, obj, objtype=None):\n" -" return conn.execute(self.fetch, [obj.key]).fetchone()[0]\n" -"\n" -" def __set__(self, obj, value):\n" -" conn.execute(self.store, [value, obj.key])\n" -" conn.commit()" -msgstr "" - -#: ../../howto/descriptor.rst:876 -msgid "" -"We can use the :class:`!Field` class to define `models " -"`_ that describe the schema " -"for each table in a database:" -msgstr "" - -#: ../../howto/descriptor.rst:880 -msgid "" -"class Movie:\n" -" table = 'Movies' # Table name\n" -" key = 'title' # Primary key\n" -" director = Field()\n" -" year = Field()\n" -"\n" -" def __init__(self, key):\n" -" self.key = key\n" -"\n" -"class Song:\n" -" table = 'Music'\n" -" key = 'title'\n" -" artist = Field()\n" -" year = Field()\n" -" genre = Field()\n" -"\n" -" def __init__(self, key):\n" -" self.key = key" -msgstr "" - -#: ../../howto/descriptor.rst:901 -msgid "To use the models, first connect to the database::" -msgstr "" - -#: ../../howto/descriptor.rst:903 -msgid "" -">>> import sqlite3\n" -">>> conn = sqlite3.connect('entertainment.db')" -msgstr "" - -#: ../../howto/descriptor.rst:906 -msgid "" -"An interactive session shows how data is retrieved from the database and how" -" it can be updated:" -msgstr "" - -#: ../../howto/descriptor.rst:934 -msgid "" -">>> Movie('Star Wars').director\n" -"'George Lucas'\n" -">>> jaws = Movie('Jaws')\n" -">>> f'Released in {jaws.year} by {jaws.director}'\n" -"'Released in 1975 by Steven Spielberg'\n" -"\n" -">>> Song('Country Roads').artist\n" -"'John Denver'\n" -"\n" -">>> Movie('Star Wars').director = 'J.J. Abrams'\n" -">>> Movie('Star Wars').director\n" -"'J.J. Abrams'" -msgstr "" - -#: ../../howto/descriptor.rst:955 -msgid "Pure Python Equivalents" -msgstr "" - -#: ../../howto/descriptor.rst:957 -msgid "" -"The descriptor protocol is simple and offers exciting possibilities. " -"Several use cases are so common that they have been prepackaged into built-" -"in tools. Properties, bound methods, static methods, class methods, and " -"\\_\\_slots\\_\\_ are all based on the descriptor protocol." -msgstr "" - -#: ../../howto/descriptor.rst:964 -msgid "Properties" -msgstr "" - -#: ../../howto/descriptor.rst:966 -msgid "" -"Calling :func:`property` is a succinct way of building a data descriptor " -"that triggers a function call upon access to an attribute. Its signature " -"is::" -msgstr "" - -#: ../../howto/descriptor.rst:969 -msgid "property(fget=None, fset=None, fdel=None, doc=None) -> property" -msgstr "" - -#: ../../howto/descriptor.rst:971 -msgid "" -"The documentation shows a typical use to define a managed attribute ``x``:" -msgstr "" - -#: ../../howto/descriptor.rst:973 -msgid "" -"class C:\n" -" def getx(self): return self.__x\n" -" def setx(self, value): self.__x = value\n" -" def delx(self): del self.__x\n" -" x = property(getx, setx, delx, \"I'm the 'x' property.\")" -msgstr "" - -#: ../../howto/descriptor.rst:995 -msgid "" -"To see how :func:`property` is implemented in terms of the descriptor " -"protocol, here is a pure Python equivalent that implements most of the core " -"functionality:" -msgstr "" - -#: ../../howto/descriptor.rst:998 -msgid "" -"class Property:\n" -" \"Emulate PyProperty_Type() in Objects/descrobject.c\"\n" -"\n" -" def __init__(self, fget=None, fset=None, fdel=None, doc=None):\n" -" self.fget = fget\n" -" self.fset = fset\n" -" self.fdel = fdel\n" -" if doc is None and fget is not None:\n" -" doc = fget.__doc__\n" -" self.__doc__ = doc\n" -"\n" -" def __set_name__(self, owner, name):\n" -" self.__name__ = name\n" -"\n" -" def __get__(self, obj, objtype=None):\n" -" if obj is None:\n" -" return self\n" -" if self.fget is None:\n" -" raise AttributeError\n" -" return self.fget(obj)\n" -"\n" -" def __set__(self, obj, value):\n" -" if self.fset is None:\n" -" raise AttributeError\n" -" self.fset(obj, value)\n" -"\n" -" def __delete__(self, obj):\n" -" if self.fdel is None:\n" -" raise AttributeError\n" -" self.fdel(obj)\n" -"\n" -" def getter(self, fget):\n" -" return type(self)(fget, self.fset, self.fdel, self.__doc__)\n" -"\n" -" def setter(self, fset):\n" -" return type(self)(self.fget, fset, self.fdel, self.__doc__)\n" -"\n" -" def deleter(self, fdel):\n" -" return type(self)(self.fget, self.fset, fdel, self.__doc__)" -msgstr "" - -#: ../../howto/descriptor.rst:1122 -msgid "" -"The :func:`property` builtin helps whenever a user interface has granted " -"attribute access and then subsequent changes require the intervention of a " -"method." -msgstr "" - -#: ../../howto/descriptor.rst:1126 -msgid "" -"For instance, a spreadsheet class may grant access to a cell value through " -"``Cell('b10').value``. Subsequent improvements to the program require the " -"cell to be recalculated on every access; however, the programmer does not " -"want to affect existing client code accessing the attribute directly. The " -"solution is to wrap access to the value attribute in a property data " -"descriptor:" -msgstr "" - -#: ../../howto/descriptor.rst:1132 -msgid "" -"class Cell:\n" -" ...\n" -"\n" -" @property\n" -" def value(self):\n" -" \"Recalculate the cell before returning value\"\n" -" self.recalc()\n" -" return self._value" -msgstr "" - -#: ../../howto/descriptor.rst:1143 -msgid "" -"Either the built-in :func:`property` or our :func:`!Property` equivalent " -"would work in this example." -msgstr "" - -#: ../../howto/descriptor.rst:1148 -msgid "Functions and methods" -msgstr "" - -#: ../../howto/descriptor.rst:1150 -msgid "" -"Python's object oriented features are built upon a function based " -"environment. Using non-data descriptors, the two are merged seamlessly." -msgstr "" - -#: ../../howto/descriptor.rst:1153 -msgid "" -"Functions stored in class dictionaries get turned into methods when invoked." -" Methods only differ from regular functions in that the object instance is " -"prepended to the other arguments. By convention, the instance is called " -"*self* but could be called *this* or any other variable name." -msgstr "" - -#: ../../howto/descriptor.rst:1158 -msgid "" -"Methods can be created manually with :class:`types.MethodType` which is " -"roughly equivalent to:" -msgstr "" - -#: ../../howto/descriptor.rst:1161 -msgid "" -"class MethodType:\n" -" \"Emulate PyMethod_Type in Objects/classobject.c\"\n" -"\n" -" def __init__(self, func, obj):\n" -" self.__func__ = func\n" -" self.__self__ = obj\n" -"\n" -" def __call__(self, *args, **kwargs):\n" -" func = self.__func__\n" -" obj = self.__self__\n" -" return func(obj, *args, **kwargs)\n" -"\n" -" def __getattribute__(self, name):\n" -" \"Emulate method_getset() in Objects/classobject.c\"\n" -" if name == '__doc__':\n" -" return self.__func__.__doc__\n" -" return object.__getattribute__(self, name)\n" -"\n" -" def __getattr__(self, name):\n" -" \"Emulate method_getattro() in Objects/classobject.c\"\n" -" return getattr(self.__func__, name)\n" -"\n" -" def __get__(self, obj, objtype=None):\n" -" \"Emulate method_descr_get() in Objects/classobject.c\"\n" -" return self" -msgstr "" - -#: ../../howto/descriptor.rst:1189 -msgid "" -"To support automatic creation of methods, functions include the " -":meth:`~object.__get__` method for binding methods during attribute access." -" This means that functions are non-data descriptors that return bound " -"methods during dotted lookup from an instance. Here's how it works:" -msgstr "" - -#: ../../howto/descriptor.rst:1194 -msgid "" -"class Function:\n" -" ...\n" -"\n" -" def __get__(self, obj, objtype=None):\n" -" \"Simulate func_descr_get() in Objects/funcobject.c\"\n" -" if obj is None:\n" -" return self\n" -" return MethodType(self, obj)" -msgstr "" - -#: ../../howto/descriptor.rst:1205 -msgid "" -"Running the following class in the interpreter shows how the function " -"descriptor works in practice:" -msgstr "" - -#: ../../howto/descriptor.rst:1208 -msgid "" -"class D:\n" -" def f(self):\n" -" return self\n" -"\n" -"class D2:\n" -" pass" -msgstr "" - -#: ../../howto/descriptor.rst:1226 -msgid "" -"The function has a :term:`qualified name` attribute to support " -"introspection:" -msgstr "" - -#: ../../howto/descriptor.rst:1228 -msgid "" -">>> D.f.__qualname__\n" -"'D.f'" -msgstr "" - -#: ../../howto/descriptor.rst:1233 -msgid "" -"Accessing the function through the class dictionary does not invoke " -":meth:`~object.__get__`. Instead, it just returns the underlying function " -"object::" -msgstr "" - -#: ../../howto/descriptor.rst:1236 -msgid "" -">>> D.__dict__['f']\n" -"" -msgstr "" - -#: ../../howto/descriptor.rst:1239 -msgid "" -"Dotted access from a class calls :meth:`~object.__get__` which just returns " -"the underlying function unchanged::" -msgstr "" - -#: ../../howto/descriptor.rst:1242 -msgid "" -">>> D.f\n" -"" -msgstr "" - -#: ../../howto/descriptor.rst:1245 -msgid "" -"The interesting behavior occurs during dotted access from an instance. The " -"dotted lookup calls :meth:`~object.__get__` which returns a bound method " -"object::" -msgstr "" - -#: ../../howto/descriptor.rst:1248 -msgid "" -">>> d = D()\n" -">>> d.f\n" -">" -msgstr "" - -#: ../../howto/descriptor.rst:1252 -msgid "" -"Internally, the bound method stores the underlying function and the bound " -"instance::" -msgstr "" - -#: ../../howto/descriptor.rst:1255 -msgid "" -">>> d.f.__func__\n" -"\n" -"\n" -">>> d.f.__self__\n" -"<__main__.D object at 0x00B18C90>" -msgstr "" - -#: ../../howto/descriptor.rst:1261 -msgid "" -"If you have ever wondered where *self* comes from in regular methods or " -"where *cls* comes from in class methods, this is it!" -msgstr "" - -#: ../../howto/descriptor.rst:1266 -msgid "Kinds of methods" -msgstr "" - -#: ../../howto/descriptor.rst:1268 -msgid "" -"Non-data descriptors provide a simple mechanism for variations on the usual " -"patterns of binding functions into methods." -msgstr "" - -#: ../../howto/descriptor.rst:1271 -msgid "" -"To recap, functions have a :meth:`~object.__get__` method so that they can " -"be converted to a method when accessed as attributes. The non-data " -"descriptor transforms an ``obj.f(*args)`` call into ``f(obj, *args)``. " -"Calling ``cls.f(*args)`` becomes ``f(*args)``." -msgstr "" - -#: ../../howto/descriptor.rst:1276 -msgid "This chart summarizes the binding and its two most useful variants:" -msgstr "" - -#: ../../howto/descriptor.rst:1279 -msgid "Transformation" -msgstr "" - -#: ../../howto/descriptor.rst:1279 -msgid "Called from an object" -msgstr "" - -#: ../../howto/descriptor.rst:1279 -msgid "Called from a class" -msgstr "" - -#: ../../howto/descriptor.rst:1282 -msgid "function" -msgstr "fungsi" - -#: ../../howto/descriptor.rst:1282 -msgid "f(obj, \\*args)" -msgstr "" - -#: ../../howto/descriptor.rst:1282 ../../howto/descriptor.rst:1284 -msgid "f(\\*args)" -msgstr "" - -#: ../../howto/descriptor.rst:1284 -msgid "staticmethod" -msgstr "" - -#: ../../howto/descriptor.rst:1286 -msgid "classmethod" -msgstr "" - -#: ../../howto/descriptor.rst:1286 -msgid "f(type(obj), \\*args)" -msgstr "" - -#: ../../howto/descriptor.rst:1286 -msgid "f(cls, \\*args)" -msgstr "" - -#: ../../howto/descriptor.rst:1291 -msgid "Static methods" -msgstr "" - -#: ../../howto/descriptor.rst:1293 -msgid "" -"Static methods return the underlying function without changes. Calling " -"either ``c.f`` or ``C.f`` is the equivalent of a direct lookup into " -"``object.__getattribute__(c, \"f\")`` or ``object.__getattribute__(C, " -"\"f\")``. As a result, the function becomes identically accessible from " -"either an object or a class." -msgstr "" - -#: ../../howto/descriptor.rst:1299 -msgid "" -"Good candidates for static methods are methods that do not reference the " -"``self`` variable." -msgstr "" - -#: ../../howto/descriptor.rst:1302 -msgid "" -"For instance, a statistics package may include a container class for " -"experimental data. The class provides normal methods for computing the " -"average, mean, median, and other descriptive statistics that depend on the " -"data. However, there may be useful functions which are conceptually related " -"but do not depend on the data. For instance, ``erf(x)`` is handy conversion" -" routine that comes up in statistical work but does not directly depend on a" -" particular dataset. It can be called either from an object or the class: " -"``s.erf(1.5) --> 0.9332`` or ``Sample.erf(1.5) --> 0.9332``." -msgstr "" - -#: ../../howto/descriptor.rst:1311 -msgid "" -"Since static methods return the underlying function with no changes, the " -"example calls are unexciting:" -msgstr "" - -#: ../../howto/descriptor.rst:1314 -msgid "" -"class E:\n" -" @staticmethod\n" -" def f(x):\n" -" return x * 10" -msgstr "" - -#: ../../howto/descriptor.rst:1321 -msgid "" -">>> E.f(3)\n" -"30\n" -">>> E().f(3)\n" -"30" -msgstr "" - -#: ../../howto/descriptor.rst:1328 -msgid "" -"Using the non-data descriptor protocol, a pure Python version of " -":func:`staticmethod` would look like this:" -msgstr "" - -#: ../../howto/descriptor.rst:1331 -msgid "" -"import functools\n" -"\n" -"class StaticMethod:\n" -" \"Emulate PyStaticMethod_Type() in Objects/funcobject.c\"\n" -"\n" -" def __init__(self, f):\n" -" self.f = f\n" -" functools.update_wrapper(self, f)\n" -"\n" -" def __get__(self, obj, objtype=None):\n" -" return self.f\n" -"\n" -" def __call__(self, *args, **kwds):\n" -" return self.f(*args, **kwds)\n" -"\n" -" @property\n" -" def __annotations__(self):\n" -" return self.f.__annotations__" -msgstr "" - -#: ../../howto/descriptor.rst:1352 -msgid "" -"The :func:`functools.update_wrapper` call adds a ``__wrapped__`` attribute " -"that refers to the underlying function. Also it carries forward the " -"attributes necessary to make the wrapper look like the wrapped function, " -"including :attr:`~function.__name__`, :attr:`~function.__qualname__`, and " -":attr:`~function.__doc__`." -msgstr "" - -#: ../../howto/descriptor.rst:1421 -msgid "Class methods" -msgstr "" - -#: ../../howto/descriptor.rst:1423 -msgid "" -"Unlike static methods, class methods prepend the class reference to the " -"argument list before calling the function. This format is the same for " -"whether the caller is an object or a class:" -msgstr "" - -#: ../../howto/descriptor.rst:1427 -msgid "" -"class F:\n" -" @classmethod\n" -" def f(cls, x):\n" -" return cls.__name__, x" -msgstr "" - -#: ../../howto/descriptor.rst:1434 -msgid "" -">>> F.f(3)\n" -"('F', 3)\n" -">>> F().f(3)\n" -"('F', 3)" -msgstr "" - -#: ../../howto/descriptor.rst:1441 -msgid "" -"This behavior is useful whenever the method only needs to have a class " -"reference and does not rely on data stored in a specific instance. One use " -"for class methods is to create alternate class constructors. For example, " -"the classmethod :func:`dict.fromkeys` creates a new dictionary from a list " -"of keys. The pure Python equivalent is:" -msgstr "" - -#: ../../howto/descriptor.rst:1447 -msgid "" -"class Dict(dict):\n" -" @classmethod\n" -" def fromkeys(cls, iterable, value=None):\n" -" \"Emulate dict_fromkeys() in Objects/dictobject.c\"\n" -" d = cls()\n" -" for key in iterable:\n" -" d[key] = value\n" -" return d" -msgstr "" - -#: ../../howto/descriptor.rst:1458 -msgid "Now a new dictionary of unique keys can be constructed like this:" -msgstr "" - -#: ../../howto/descriptor.rst:1460 -msgid "" -">>> d = Dict.fromkeys('abracadabra')\n" -">>> type(d) is Dict\n" -"True\n" -">>> d\n" -"{'a': None, 'b': None, 'r': None, 'c': None, 'd': None}" -msgstr "" - -#: ../../howto/descriptor.rst:1468 -msgid "" -"Using the non-data descriptor protocol, a pure Python version of " -":func:`classmethod` would look like this:" -msgstr "" - -#: ../../howto/descriptor.rst:1471 -msgid "" -"import functools\n" -"\n" -"class ClassMethod:\n" -" \"Emulate PyClassMethod_Type() in Objects/funcobject.c\"\n" -"\n" -" def __init__(self, f):\n" -" self.f = f\n" -" functools.update_wrapper(self, f)\n" -"\n" -" def __get__(self, obj, cls=None):\n" -" if cls is None:\n" -" cls = type(obj)\n" -" return MethodType(self.f, cls)" -msgstr "" - -#: ../../howto/descriptor.rst:1533 -msgid "" -"The :func:`functools.update_wrapper` call in ``ClassMethod`` adds a " -"``__wrapped__`` attribute that refers to the underlying function. Also it " -"carries forward the attributes necessary to make the wrapper look like the " -"wrapped function: :attr:`~function.__name__`, " -":attr:`~function.__qualname__`, :attr:`~function.__doc__`, and " -":attr:`~function.__annotations__`." -msgstr "" - -#: ../../howto/descriptor.rst:1542 -msgid "Member objects and __slots__" -msgstr "" - -#: ../../howto/descriptor.rst:1544 -msgid "" -"When a class defines ``__slots__``, it replaces instance dictionaries with a" -" fixed-length array of slot values. From a user point of view that has " -"several effects:" -msgstr "" - -#: ../../howto/descriptor.rst:1548 -msgid "" -"1. Provides immediate detection of bugs due to misspelled attribute " -"assignments. Only attribute names specified in ``__slots__`` are allowed:" -msgstr "" - -#: ../../howto/descriptor.rst:1551 -msgid "" -"class Vehicle:\n" -" __slots__ = ('id_number', 'make', 'model')" -msgstr "" - -#: ../../howto/descriptor.rst:1556 -msgid "" -">>> auto = Vehicle()\n" -">>> auto.id_nubmer = 'VYE483814LQEX'\n" -"Traceback (most recent call last):\n" -" ...\n" -"AttributeError: 'Vehicle' object has no attribute 'id_nubmer'" -msgstr "" - -#: ../../howto/descriptor.rst:1564 -msgid "" -"2. Helps create immutable objects where descriptors manage access to private" -" attributes stored in ``__slots__``:" -msgstr "" - -#: ../../howto/descriptor.rst:1567 -msgid "" -"class Immutable:\n" -"\n" -" __slots__ = ('_dept', '_name') # Replace the instance dictionary\n" -"\n" -" def __init__(self, dept, name):\n" -" self._dept = dept # Store to private attribute\n" -" self._name = name # Store to private attribute\n" -"\n" -" @property # Read-only descriptor\n" -" def dept(self):\n" -" return self._dept\n" -"\n" -" @property\n" -" def name(self): # Read-only descriptor\n" -" return self._name" -msgstr "" - -#: ../../howto/descriptor.rst:1585 -msgid "" -">>> mark = Immutable('Botany', 'Mark Watney')\n" -">>> mark.dept\n" -"'Botany'\n" -">>> mark.dept = 'Space Pirate'\n" -"Traceback (most recent call last):\n" -" ...\n" -"AttributeError: property 'dept' of 'Immutable' object has no setter\n" -">>> mark.location = 'Mars'\n" -"Traceback (most recent call last):\n" -" ...\n" -"AttributeError: 'Immutable' object has no attribute 'location'" -msgstr "" - -#: ../../howto/descriptor.rst:1599 -msgid "" -"3. Saves memory. On a 64-bit Linux build, an instance with two attributes " -"takes 48 bytes with ``__slots__`` and 152 bytes without. This `flyweight " -"design pattern `_ likely " -"only matters when a large number of instances are going to be created." -msgstr "" - -#: ../../howto/descriptor.rst:1604 -msgid "" -"4. Improves speed. Reading instance variables is 35% faster with " -"``__slots__`` (as measured with Python 3.10 on an Apple M1 processor)." -msgstr "" - -#: ../../howto/descriptor.rst:1607 -msgid "" -"5. Blocks tools like :func:`functools.cached_property` which require an " -"instance dictionary to function correctly:" -msgstr "" - -#: ../../howto/descriptor.rst:1610 -msgid "" -"from functools import cached_property\n" -"\n" -"class CP:\n" -" __slots__ = () # Eliminates the instance dict\n" -"\n" -" @cached_property # Requires an instance dict\n" -" def pi(self):\n" -" return 4 * sum((-1.0)**n / (2.0*n + 1.0)\n" -" for n in reversed(range(100_000)))" -msgstr "" - -#: ../../howto/descriptor.rst:1622 -msgid "" -">>> CP().pi\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: No '__dict__' attribute on 'CP' instance to cache 'pi' property." -msgstr "" - -#: ../../howto/descriptor.rst:1629 -msgid "" -"It is not possible to create an exact drop-in pure Python version of " -"``__slots__`` because it requires direct access to C structures and control " -"over object memory allocation. However, we can build a mostly faithful " -"simulation where the actual C structure for slots is emulated by a private " -"``_slotvalues`` list. Reads and writes to that private structure are " -"managed by member descriptors:" -msgstr "" - -#: ../../howto/descriptor.rst:1636 -msgid "" -"null = object()\n" -"\n" -"class Member:\n" -"\n" -" def __init__(self, name, clsname, offset):\n" -" 'Emulate PyMemberDef in Include/structmember.h'\n" -" # Also see descr_new() in Objects/descrobject.c\n" -" self.name = name\n" -" self.clsname = clsname\n" -" self.offset = offset\n" -"\n" -" def __get__(self, obj, objtype=None):\n" -" 'Emulate member_get() in Objects/descrobject.c'\n" -" # Also see PyMember_GetOne() in Python/structmember.c\n" -" if obj is None:\n" -" return self\n" -" value = obj._slotvalues[self.offset]\n" -" if value is null:\n" -" raise AttributeError(self.name)\n" -" return value\n" -"\n" -" def __set__(self, obj, value):\n" -" 'Emulate member_set() in Objects/descrobject.c'\n" -" obj._slotvalues[self.offset] = value\n" -"\n" -" def __delete__(self, obj):\n" -" 'Emulate member_delete() in Objects/descrobject.c'\n" -" value = obj._slotvalues[self.offset]\n" -" if value is null:\n" -" raise AttributeError(self.name)\n" -" obj._slotvalues[self.offset] = null\n" -"\n" -" def __repr__(self):\n" -" 'Emulate member_repr() in Objects/descrobject.c'\n" -" return f''" -msgstr "" - -#: ../../howto/descriptor.rst:1674 -msgid "" -"The :meth:`!type.__new__` method takes care of adding member objects to " -"class variables:" -msgstr "" - -#: ../../howto/descriptor.rst:1677 -msgid "" -"class Type(type):\n" -" 'Simulate how the type metaclass adds member objects for slots'\n" -"\n" -" def __new__(mcls, clsname, bases, mapping, **kwargs):\n" -" 'Emulate type_new() in Objects/typeobject.c'\n" -" # type_new() calls PyTypeReady() which calls add_methods()\n" -" slot_names = mapping.get('slot_names', [])\n" -" for offset, name in enumerate(slot_names):\n" -" mapping[name] = Member(name, clsname, offset)\n" -" return type.__new__(mcls, clsname, bases, mapping, **kwargs)" -msgstr "" - -#: ../../howto/descriptor.rst:1690 -msgid "" -"The :meth:`object.__new__` method takes care of creating instances that have" -" slots instead of an instance dictionary. Here is a rough simulation in " -"pure Python:" -msgstr "" - -#: ../../howto/descriptor.rst:1694 -msgid "" -"class Object:\n" -" 'Simulate how object.__new__() allocates memory for __slots__'\n" -"\n" -" def __new__(cls, *args, **kwargs):\n" -" 'Emulate object_new() in Objects/typeobject.c'\n" -" inst = super().__new__(cls)\n" -" if hasattr(cls, 'slot_names'):\n" -" empty_slots = [null] * len(cls.slot_names)\n" -" object.__setattr__(inst, '_slotvalues', empty_slots)\n" -" return inst\n" -"\n" -" def __setattr__(self, name, value):\n" -" 'Emulate _PyObject_GenericSetAttrWithDict() Objects/object.c'\n" -" cls = type(self)\n" -" if hasattr(cls, 'slot_names') and name not in cls.slot_names:\n" -" raise AttributeError(\n" -" f'{cls.__name__!r} object has no attribute {name!r}'\n" -" )\n" -" super().__setattr__(name, value)\n" -"\n" -" def __delattr__(self, name):\n" -" 'Emulate _PyObject_GenericSetAttrWithDict() Objects/object.c'\n" -" cls = type(self)\n" -" if hasattr(cls, 'slot_names') and name not in cls.slot_names:\n" -" raise AttributeError(\n" -" f'{cls.__name__!r} object has no attribute {name!r}'\n" -" )\n" -" super().__delattr__(name)" -msgstr "" - -#: ../../howto/descriptor.rst:1725 -msgid "" -"To use the simulation in a real class, just inherit from :class:`!Object` " -"and set the :term:`metaclass` to :class:`Type`:" -msgstr "" - -#: ../../howto/descriptor.rst:1728 -msgid "" -"class H(Object, metaclass=Type):\n" -" 'Instance variables stored in slots'\n" -"\n" -" slot_names = ['x', 'y']\n" -"\n" -" def __init__(self, x, y):\n" -" self.x = x\n" -" self.y = y" -msgstr "" - -#: ../../howto/descriptor.rst:1739 -msgid "" -"At this point, the metaclass has loaded member objects for *x* and *y*::" -msgstr "" - -#: ../../howto/descriptor.rst:1741 -msgid "" -">>> from pprint import pp\n" -">>> pp(dict(vars(H)))\n" -"{'__module__': '__main__',\n" -" '__doc__': 'Instance variables stored in slots',\n" -" 'slot_names': ['x', 'y'],\n" -" '__init__': ,\n" -" 'x': ,\n" -" 'y': }" -msgstr "" - -#: ../../howto/descriptor.rst:1760 -msgid "" -"When instances are created, they have a ``slot_values`` list where the " -"attributes are stored:" -msgstr "" - -#: ../../howto/descriptor.rst:1763 -msgid "" -">>> h = H(10, 20)\n" -">>> vars(h)\n" -"{'_slotvalues': [10, 20]}\n" -">>> h.x = 55\n" -">>> vars(h)\n" -"{'_slotvalues': [55, 20]}" -msgstr "" - -#: ../../howto/descriptor.rst:1772 -msgid "Misspelled or unassigned attributes will raise an exception:" -msgstr "" - -#: ../../howto/descriptor.rst:1774 -msgid "" -">>> h.xz\n" -"Traceback (most recent call last):\n" -" ...\n" -"AttributeError: 'H' object has no attribute 'xz'" -msgstr "" diff --git a/python-newest.howto--enum/id.po b/python-newest.howto--enum/id.po deleted file mode 100644 index 70a8324..0000000 --- a/python-newest.howto--enum/id.po +++ /dev/null @@ -1,2327 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/enum.rst:5 -msgid "Enum HOWTO" -msgstr "" - -#: ../../howto/enum.rst:11 -msgid "" -"An :class:`Enum` is a set of symbolic names bound to unique values. They " -"are similar to global variables, but they offer a more useful :func:`repr`, " -"grouping, type-safety, and a few other features." -msgstr "" - -#: ../../howto/enum.rst:15 -msgid "" -"They are most useful when you have a variable that can take one of a limited" -" selection of values. For example, the days of the week::" -msgstr "" - -#: ../../howto/enum.rst:18 -msgid "" -">>> from enum import Enum\n" -">>> class Weekday(Enum):\n" -"... MONDAY = 1\n" -"... TUESDAY = 2\n" -"... WEDNESDAY = 3\n" -"... THURSDAY = 4\n" -"... FRIDAY = 5\n" -"... SATURDAY = 6\n" -"... SUNDAY = 7" -msgstr "" - -#: ../../howto/enum.rst:28 -msgid "Or perhaps the RGB primary colors::" -msgstr "" - -#: ../../howto/enum.rst:30 -msgid "" -">>> from enum import Enum\n" -">>> class Color(Enum):\n" -"... RED = 1\n" -"... GREEN = 2\n" -"... BLUE = 3" -msgstr "" - -#: ../../howto/enum.rst:36 -msgid "" -"As you can see, creating an :class:`Enum` is as simple as writing a class " -"that inherits from :class:`Enum` itself." -msgstr "" - -#: ../../howto/enum.rst:39 -msgid "Case of Enum Members" -msgstr "" - -#: ../../howto/enum.rst:41 -msgid "" -"Because Enums are used to represent constants, and to help avoid issues with" -" name clashes between mixin-class methods/attributes and enum names, we " -"strongly recommend using UPPER_CASE names for members, and will be using " -"that style in our examples." -msgstr "" - -#: ../../howto/enum.rst:46 -msgid "" -"Depending on the nature of the enum a member's value may or may not be " -"important, but either way that value can be used to get the corresponding " -"member::" -msgstr "" - -#: ../../howto/enum.rst:50 -msgid "" -">>> Weekday(3)\n" -"" -msgstr "" - -#: ../../howto/enum.rst:53 -msgid "" -"As you can see, the ``repr()`` of a member shows the enum name, the member " -"name, and the value. The ``str()`` of a member shows only the enum name and" -" member name::" -msgstr "" - -#: ../../howto/enum.rst:57 -msgid "" -">>> print(Weekday.THURSDAY)\n" -"Weekday.THURSDAY" -msgstr "" - -#: ../../howto/enum.rst:60 -msgid "The *type* of an enumeration member is the enum it belongs to::" -msgstr "" - -#: ../../howto/enum.rst:62 -msgid "" -">>> type(Weekday.MONDAY)\n" -"\n" -">>> isinstance(Weekday.FRIDAY, Weekday)\n" -"True" -msgstr "" - -#: ../../howto/enum.rst:67 -msgid "" -"Enum members have an attribute that contains just their :attr:`!name`::" -msgstr "" - -#: ../../howto/enum.rst:69 -msgid "" -">>> print(Weekday.TUESDAY.name)\n" -"TUESDAY" -msgstr "" - -#: ../../howto/enum.rst:72 -msgid "Likewise, they have an attribute for their :attr:`!value`::" -msgstr "" - -#: ../../howto/enum.rst:75 -msgid "" -">>> Weekday.WEDNESDAY.value\n" -"3" -msgstr "" - -#: ../../howto/enum.rst:78 -msgid "" -"Unlike many languages that treat enumerations solely as name/value pairs, " -"Python Enums can have behavior added. For example, :class:`datetime.date` " -"has two methods for returning the weekday: :meth:`~datetime.date.weekday` " -"and :meth:`~datetime.date.isoweekday`. The difference is that one of them " -"counts from 0-6 and the other from 1-7. Rather than keep track of that " -"ourselves we can add a method to the :class:`!Weekday` enum to extract the " -"day from the :class:`~datetime.date` instance and return the matching enum " -"member::" -msgstr "" - -#: ../../howto/enum.rst:87 -msgid "" -"@classmethod\n" -"def from_date(cls, date):\n" -" return cls(date.isoweekday())" -msgstr "" - -#: ../../howto/enum.rst:91 -msgid "The complete :class:`!Weekday` enum now looks like this::" -msgstr "" - -#: ../../howto/enum.rst:93 -msgid "" -">>> class Weekday(Enum):\n" -"... MONDAY = 1\n" -"... TUESDAY = 2\n" -"... WEDNESDAY = 3\n" -"... THURSDAY = 4\n" -"... FRIDAY = 5\n" -"... SATURDAY = 6\n" -"... SUNDAY = 7\n" -"... #\n" -"... @classmethod\n" -"... def from_date(cls, date):\n" -"... return cls(date.isoweekday())" -msgstr "" - -#: ../../howto/enum.rst:106 -msgid "Now we can find out what today is! Observe::" -msgstr "" - -#: ../../howto/enum.rst:108 -msgid "" -">>> from datetime import date\n" -">>> Weekday.from_date(date.today())\n" -"" -msgstr "" - -#: ../../howto/enum.rst:112 -msgid "" -"Of course, if you're reading this on some other day, you'll see that day " -"instead." -msgstr "" - -#: ../../howto/enum.rst:114 -msgid "" -"This :class:`!Weekday` enum is great if our variable only needs one day, but" -" what if we need several? Maybe we're writing a function to plot chores " -"during a week, and don't want to use a :class:`list` -- we could use a " -"different type of :class:`Enum`::" -msgstr "" - -#: ../../howto/enum.rst:119 -msgid "" -">>> from enum import Flag\n" -">>> class Weekday(Flag):\n" -"... MONDAY = 1\n" -"... TUESDAY = 2\n" -"... WEDNESDAY = 4\n" -"... THURSDAY = 8\n" -"... FRIDAY = 16\n" -"... SATURDAY = 32\n" -"... SUNDAY = 64" -msgstr "" - -#: ../../howto/enum.rst:129 -msgid "" -"We've changed two things: we're inherited from :class:`Flag`, and the values" -" are all powers of 2." -msgstr "" - -#: ../../howto/enum.rst:132 -msgid "" -"Just like the original :class:`!Weekday` enum above, we can have a single " -"selection::" -msgstr "" - -#: ../../howto/enum.rst:134 -msgid "" -">>> first_week_day = Weekday.MONDAY\n" -">>> first_week_day\n" -"" -msgstr "" - -#: ../../howto/enum.rst:138 -msgid "" -"But :class:`Flag` also allows us to combine several members into a single " -"variable::" -msgstr "" - -#: ../../howto/enum.rst:141 -msgid "" -">>> weekend = Weekday.SATURDAY | Weekday.SUNDAY\n" -">>> weekend\n" -"" -msgstr "" - -#: ../../howto/enum.rst:145 -msgid "You can even iterate over a :class:`Flag` variable::" -msgstr "" - -#: ../../howto/enum.rst:147 -msgid "" -">>> for day in weekend:\n" -"... print(day)\n" -"Weekday.SATURDAY\n" -"Weekday.SUNDAY" -msgstr "" - -#: ../../howto/enum.rst:152 -msgid "Okay, let's get some chores set up::" -msgstr "" - -#: ../../howto/enum.rst:154 -msgid "" -">>> chores_for_ethan = {\n" -"... 'feed the cat': Weekday.MONDAY | Weekday.WEDNESDAY | Weekday.FRIDAY,\n" -"... 'do the dishes': Weekday.TUESDAY | Weekday.THURSDAY,\n" -"... 'answer SO questions': Weekday.SATURDAY,\n" -"... }" -msgstr "" - -#: ../../howto/enum.rst:160 -msgid "And a function to display the chores for a given day::" -msgstr "" - -#: ../../howto/enum.rst:162 -msgid "" -">>> def show_chores(chores, day):\n" -"... for chore, days in chores.items():\n" -"... if day in days:\n" -"... print(chore)\n" -"...\n" -">>> show_chores(chores_for_ethan, Weekday.SATURDAY)\n" -"answer SO questions" -msgstr "" - -#: ../../howto/enum.rst:170 -msgid "" -"In cases where the actual values of the members do not matter, you can save " -"yourself some work and use :func:`auto` for the values::" -msgstr "" - -#: ../../howto/enum.rst:173 -msgid "" -">>> from enum import auto\n" -">>> class Weekday(Flag):\n" -"... MONDAY = auto()\n" -"... TUESDAY = auto()\n" -"... WEDNESDAY = auto()\n" -"... THURSDAY = auto()\n" -"... FRIDAY = auto()\n" -"... SATURDAY = auto()\n" -"... SUNDAY = auto()\n" -"... WEEKEND = SATURDAY | SUNDAY" -msgstr "" - -#: ../../howto/enum.rst:189 -msgid "Programmatic access to enumeration members and their attributes" -msgstr "" - -#: ../../howto/enum.rst:191 -msgid "" -"Sometimes it's useful to access members in enumerations programmatically " -"(i.e. situations where ``Color.RED`` won't do because the exact color is not" -" known at program-writing time). ``Enum`` allows such access::" -msgstr "" - -#: ../../howto/enum.rst:195 -msgid "" -">>> Color(1)\n" -"\n" -">>> Color(3)\n" -"" -msgstr "" - -#: ../../howto/enum.rst:200 -msgid "If you want to access enum members by *name*, use item access::" -msgstr "" - -#: ../../howto/enum.rst:202 -msgid "" -">>> Color['RED']\n" -"\n" -">>> Color['GREEN']\n" -"" -msgstr "" - -#: ../../howto/enum.rst:207 -msgid "" -"If you have an enum member and need its :attr:`!name` or :attr:`!value`::" -msgstr "" - -#: ../../howto/enum.rst:209 -msgid "" -">>> member = Color.RED\n" -">>> member.name\n" -"'RED'\n" -">>> member.value\n" -"1" -msgstr "" - -#: ../../howto/enum.rst:217 -msgid "Duplicating enum members and values" -msgstr "" - -#: ../../howto/enum.rst:219 -msgid "Having two enum members with the same name is invalid::" -msgstr "" - -#: ../../howto/enum.rst:221 -msgid "" -">>> class Shape(Enum):\n" -"... SQUARE = 2\n" -"... SQUARE = 3\n" -"...\n" -"Traceback (most recent call last):\n" -"...\n" -"TypeError: 'SQUARE' already defined as 2" -msgstr "" - -#: ../../howto/enum.rst:229 -msgid "" -"However, an enum member can have other names associated with it. Given two " -"entries ``A`` and ``B`` with the same value (and ``A`` defined first), ``B``" -" is an alias for the member ``A``. By-value lookup of the value of ``A`` " -"will return the member ``A``. By-name lookup of ``A`` will return the " -"member ``A``. By-name lookup of ``B`` will also return the member ``A``::" -msgstr "" - -#: ../../howto/enum.rst:235 -msgid "" -">>> class Shape(Enum):\n" -"... SQUARE = 2\n" -"... DIAMOND = 1\n" -"... CIRCLE = 3\n" -"... ALIAS_FOR_SQUARE = 2\n" -"...\n" -">>> Shape.SQUARE\n" -"\n" -">>> Shape.ALIAS_FOR_SQUARE\n" -"\n" -">>> Shape(2)\n" -"" -msgstr "" - -#: ../../howto/enum.rst:250 -msgid "" -"Attempting to create a member with the same name as an already defined " -"attribute (another member, a method, etc.) or attempting to create an " -"attribute with the same name as a member is not allowed." -msgstr "" - -#: ../../howto/enum.rst:256 -msgid "Ensuring unique enumeration values" -msgstr "" - -#: ../../howto/enum.rst:258 -msgid "" -"By default, enumerations allow multiple names as aliases for the same value." -" When this behavior isn't desired, you can use the :func:`unique` " -"decorator::" -msgstr "" - -#: ../../howto/enum.rst:261 -msgid "" -">>> from enum import Enum, unique\n" -">>> @unique\n" -"... class Mistake(Enum):\n" -"... ONE = 1\n" -"... TWO = 2\n" -"... THREE = 3\n" -"... FOUR = 3\n" -"...\n" -"Traceback (most recent call last):\n" -"...\n" -"ValueError: duplicate values found in : FOUR -> THREE" -msgstr "" - -#: ../../howto/enum.rst:275 -msgid "Using automatic values" -msgstr "" - -#: ../../howto/enum.rst:277 -msgid "If the exact value is unimportant you can use :class:`auto`::" -msgstr "" - -#: ../../howto/enum.rst:279 -msgid "" -">>> from enum import Enum, auto\n" -">>> class Color(Enum):\n" -"... RED = auto()\n" -"... BLUE = auto()\n" -"... GREEN = auto()\n" -"...\n" -">>> [member.value for member in Color]\n" -"[1, 2, 3]" -msgstr "" - -#: ../../howto/enum.rst:288 -msgid "" -"The values are chosen by :func:`~Enum._generate_next_value_`, which can be " -"overridden::" -msgstr "" - -#: ../../howto/enum.rst:291 -msgid "" -">>> class AutoName(Enum):\n" -"... @staticmethod\n" -"... def _generate_next_value_(name, start, count, last_values):\n" -"... return name\n" -"...\n" -">>> class Ordinal(AutoName):\n" -"... NORTH = auto()\n" -"... SOUTH = auto()\n" -"... EAST = auto()\n" -"... WEST = auto()\n" -"...\n" -">>> [member.value for member in Ordinal]\n" -"['NORTH', 'SOUTH', 'EAST', 'WEST']" -msgstr "" - -#: ../../howto/enum.rst:307 -msgid "" -"The :meth:`~Enum._generate_next_value_` method must be defined before any " -"members." -msgstr "" - -#: ../../howto/enum.rst:310 -msgid "Iteration" -msgstr "" - -#: ../../howto/enum.rst:312 -msgid "Iterating over the members of an enum does not provide the aliases::" -msgstr "" - -#: ../../howto/enum.rst:314 -msgid "" -">>> list(Shape)\n" -"[, , ]\n" -">>> list(Weekday)\n" -"[, , , , , , ]" -msgstr "" - -#: ../../howto/enum.rst:319 -msgid "" -"Note that the aliases ``Shape.ALIAS_FOR_SQUARE`` and ``Weekday.WEEKEND`` " -"aren't shown." -msgstr "" - -#: ../../howto/enum.rst:321 -msgid "" -"The special attribute ``__members__`` is a read-only ordered mapping of " -"names to members. It includes all names defined in the enumeration, " -"including the aliases::" -msgstr "" - -#: ../../howto/enum.rst:325 -msgid "" -">>> for name, member in Shape.__members__.items():\n" -"... name, member\n" -"...\n" -"('SQUARE', )\n" -"('DIAMOND', )\n" -"('CIRCLE', )\n" -"('ALIAS_FOR_SQUARE', )" -msgstr "" - -#: ../../howto/enum.rst:333 -msgid "" -"The ``__members__`` attribute can be used for detailed programmatic access " -"to the enumeration members. For example, finding all the aliases::" -msgstr "" - -#: ../../howto/enum.rst:336 -msgid "" -">>> [name for name, member in Shape.__members__.items() if member.name != name]\n" -"['ALIAS_FOR_SQUARE']" -msgstr "" - -#: ../../howto/enum.rst:341 -msgid "" -"Aliases for flags include values with multiple flags set, such as ``3``, and" -" no flags set, i.e. ``0``." -msgstr "" - -#: ../../howto/enum.rst:346 -msgid "Comparisons" -msgstr "Perbandingan" - -#: ../../howto/enum.rst:348 -msgid "Enumeration members are compared by identity::" -msgstr "" - -#: ../../howto/enum.rst:350 -msgid "" -">>> Color.RED is Color.RED\n" -"True\n" -">>> Color.RED is Color.BLUE\n" -"False\n" -">>> Color.RED is not Color.BLUE\n" -"True" -msgstr "" - -#: ../../howto/enum.rst:357 -msgid "" -"Ordered comparisons between enumeration values are *not* supported. Enum " -"members are not integers (but see `IntEnum`_ below)::" -msgstr "" - -#: ../../howto/enum.rst:360 -msgid "" -">>> Color.RED < Color.BLUE\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: '<' not supported between instances of 'Color' and 'Color'" -msgstr "" - -#: ../../howto/enum.rst:365 -msgid "Equality comparisons are defined though::" -msgstr "" - -#: ../../howto/enum.rst:367 -msgid "" -">>> Color.BLUE == Color.RED\n" -"False\n" -">>> Color.BLUE != Color.RED\n" -"True\n" -">>> Color.BLUE == Color.BLUE\n" -"True" -msgstr "" - -#: ../../howto/enum.rst:374 -msgid "" -"Comparisons against non-enumeration values will always compare not equal " -"(again, :class:`IntEnum` was explicitly designed to behave differently, see " -"below)::" -msgstr "" - -#: ../../howto/enum.rst:378 -msgid "" -">>> Color.BLUE == 2\n" -"False" -msgstr "" - -#: ../../howto/enum.rst:383 -msgid "" -"It is possible to reload modules -- if a reloaded module contains enums, " -"they will be recreated, and the new members may not compare identical/equal " -"to the original members." -msgstr "" - -#: ../../howto/enum.rst:388 -msgid "Allowed members and attributes of enumerations" -msgstr "" - -#: ../../howto/enum.rst:390 -msgid "" -"Most of the examples above use integers for enumeration values. Using " -"integers is short and handy (and provided by default by the `Functional " -"API`_), but not strictly enforced. In the vast majority of use-cases, one " -"doesn't care what the actual value of an enumeration is. But if the value " -"*is* important, enumerations can have arbitrary values." -msgstr "" - -#: ../../howto/enum.rst:396 -msgid "" -"Enumerations are Python classes, and can have methods and special methods as" -" usual. If we have this enumeration::" -msgstr "" - -#: ../../howto/enum.rst:399 -msgid "" -">>> class Mood(Enum):\n" -"... FUNKY = 1\n" -"... HAPPY = 3\n" -"...\n" -"... def describe(self):\n" -"... # self is the member here\n" -"... return self.name, self.value\n" -"...\n" -"... def __str__(self):\n" -"... return 'my custom str! {0}'.format(self.value)\n" -"...\n" -"... @classmethod\n" -"... def favorite_mood(cls):\n" -"... # cls here is the enumeration\n" -"... return cls.HAPPY\n" -"..." -msgstr "" - -#: ../../howto/enum.rst:416 -msgid "Then::" -msgstr "" - -#: ../../howto/enum.rst:418 -msgid "" -">>> Mood.favorite_mood()\n" -"\n" -">>> Mood.HAPPY.describe()\n" -"('HAPPY', 3)\n" -">>> str(Mood.FUNKY)\n" -"'my custom str! 1'" -msgstr "" - -#: ../../howto/enum.rst:425 -msgid "" -"The rules for what is allowed are as follows: names that start and end with " -"a single underscore are reserved by enum and cannot be used; all other " -"attributes defined within an enumeration will become members of this " -"enumeration, with the exception of special methods (:meth:`~object.__str__`," -" :meth:`~object.__add__`, etc.), descriptors (methods are also descriptors)," -" and variable names listed in :attr:`~Enum._ignore_`." -msgstr "" - -#: ../../howto/enum.rst:432 -msgid "" -"Note: if your enumeration defines :meth:`~object.__new__` and/or " -":meth:`~object.__init__`, any value(s) given to the enum member will be " -"passed into those methods. See `Planet`_ for an example." -msgstr "" - -#: ../../howto/enum.rst:438 -msgid "" -"The :meth:`~object.__new__` method, if defined, is used during creation of " -"the Enum members; it is then replaced by Enum's :meth:`~object.__new__` " -"which is used after class creation for lookup of existing members. See " -":ref:`new-vs-init` for more details." -msgstr "" - -#: ../../howto/enum.rst:445 -msgid "Restricted Enum subclassing" -msgstr "" - -#: ../../howto/enum.rst:447 -msgid "" -"A new :class:`Enum` class must have one base enum class, up to one concrete " -"data type, and as many :class:`object`-based mixin classes as needed. The " -"order of these base classes is::" -msgstr "" - -#: ../../howto/enum.rst:451 -msgid "" -"class EnumName([mix-in, ...,] [data-type,] base-enum):\n" -" pass" -msgstr "" - -#: ../../howto/enum.rst:454 -msgid "" -"Also, subclassing an enumeration is allowed only if the enumeration does not" -" define any members. So this is forbidden::" -msgstr "" - -#: ../../howto/enum.rst:457 -msgid "" -">>> class MoreColor(Color):\n" -"... PINK = 17\n" -"...\n" -"Traceback (most recent call last):\n" -"...\n" -"TypeError: cannot extend " -msgstr "" - -#: ../../howto/enum.rst:464 -msgid "But this is allowed::" -msgstr "" - -#: ../../howto/enum.rst:466 -msgid "" -">>> class Foo(Enum):\n" -"... def some_behavior(self):\n" -"... pass\n" -"...\n" -">>> class Bar(Foo):\n" -"... HAPPY = 1\n" -"... SAD = 2\n" -"..." -msgstr "" - -#: ../../howto/enum.rst:475 -msgid "" -"Allowing subclassing of enums that define members would lead to a violation " -"of some important invariants of types and instances. On the other hand, it " -"makes sense to allow sharing some common behavior between a group of " -"enumerations. (See `OrderedEnum`_ for an example.)" -msgstr "" - -#: ../../howto/enum.rst:484 -msgid "Dataclass support" -msgstr "" - -#: ../../howto/enum.rst:486 -msgid "" -"When inheriting from a :class:`~dataclasses.dataclass`, the " -":meth:`~Enum.__repr__` omits the inherited class' name. For example::" -msgstr "" - -#: ../../howto/enum.rst:489 -msgid "" -">>> from dataclasses import dataclass, field\n" -">>> @dataclass\n" -"... class CreatureDataMixin:\n" -"... size: str\n" -"... legs: int\n" -"... tail: bool = field(repr=False, default=True)\n" -"...\n" -">>> class Creature(CreatureDataMixin, Enum):\n" -"... BEETLE = 'small', 6\n" -"... DOG = 'medium', 4\n" -"...\n" -">>> Creature.DOG\n" -"" -msgstr "" - -#: ../../howto/enum.rst:503 -msgid "" -"Use the :func:`~dataclasses.dataclass` argument ``repr=False`` to use the " -"standard :func:`repr`." -msgstr "" - -#: ../../howto/enum.rst:506 -msgid "" -"Only the dataclass fields are shown in the value area, not the dataclass' " -"name." -msgstr "" - -#: ../../howto/enum.rst:512 -msgid "" -"Adding :func:`~dataclasses.dataclass` decorator to :class:`Enum` and its " -"subclasses is not supported. It will not raise any errors, but it will " -"produce very strange results at runtime, such as members being equal to each" -" other::" -msgstr "" - -#: ../../howto/enum.rst:517 -msgid "" -">>> @dataclass # don't do this: it does not make any sense\n" -"... class Color(Enum):\n" -"... RED = 1\n" -"... BLUE = 2\n" -"...\n" -">>> Color.RED is Color.BLUE\n" -"False\n" -">>> Color.RED == Color.BLUE # problem is here: they should not be equal\n" -"True" -msgstr "" - -#: ../../howto/enum.rst:529 -msgid "Pickling" -msgstr "" - -#: ../../howto/enum.rst:531 -msgid "Enumerations can be pickled and unpickled::" -msgstr "" - -#: ../../howto/enum.rst:533 -msgid "" -">>> from test.test_enum import Fruit\n" -">>> from pickle import dumps, loads\n" -">>> Fruit.TOMATO is loads(dumps(Fruit.TOMATO))\n" -"True" -msgstr "" - -#: ../../howto/enum.rst:538 -msgid "" -"The usual restrictions for pickling apply: picklable enums must be defined " -"in the top level of a module, since unpickling requires them to be " -"importable from that module." -msgstr "" - -#: ../../howto/enum.rst:544 -msgid "" -"With pickle protocol version 4 it is possible to easily pickle enums nested " -"in other classes." -msgstr "" - -#: ../../howto/enum.rst:547 -msgid "" -"It is possible to modify how enum members are pickled/unpickled by defining " -":meth:`~object.__reduce_ex__` in the enumeration class. The default method " -"is by-value, but enums with complicated values may want to use by-name::" -msgstr "" - -#: ../../howto/enum.rst:551 -msgid "" -">>> import enum\n" -">>> class MyEnum(enum.Enum):\n" -"... __reduce_ex__ = enum.pickle_by_enum_name" -msgstr "" - -#: ../../howto/enum.rst:557 -msgid "" -"Using by-name for flags is not recommended, as unnamed aliases will not " -"unpickle." -msgstr "" - -#: ../../howto/enum.rst:562 -msgid "Functional API" -msgstr "" - -#: ../../howto/enum.rst:564 -msgid "" -"The :class:`Enum` class is callable, providing the following functional " -"API::" -msgstr "" - -#: ../../howto/enum.rst:566 -msgid "" -">>> Animal = Enum('Animal', 'ANT BEE CAT DOG')\n" -">>> Animal\n" -"\n" -">>> Animal.ANT\n" -"\n" -">>> list(Animal)\n" -"[, , , ]" -msgstr "" - -#: ../../howto/enum.rst:574 -msgid "" -"The semantics of this API resemble :class:`~collections.namedtuple`. The " -"first argument of the call to :class:`Enum` is the name of the enumeration." -msgstr "" - -#: ../../howto/enum.rst:577 -msgid "" -"The second argument is the *source* of enumeration member names. It can be " -"a whitespace-separated string of names, a sequence of names, a sequence of " -"2-tuples with key/value pairs, or a mapping (e.g. dictionary) of names to " -"values. The last two options enable assigning arbitrary values to " -"enumerations; the others auto-assign increasing integers starting with 1 " -"(use the ``start`` parameter to specify a different starting value). A new " -"class derived from :class:`Enum` is returned. In other words, the above " -"assignment to :class:`!Animal` is equivalent to::" -msgstr "" - -#: ../../howto/enum.rst:586 -msgid "" -">>> class Animal(Enum):\n" -"... ANT = 1\n" -"... BEE = 2\n" -"... CAT = 3\n" -"... DOG = 4\n" -"..." -msgstr "" - -#: ../../howto/enum.rst:593 -msgid "" -"The reason for defaulting to ``1`` as the starting number and not ``0`` is " -"that ``0`` is ``False`` in a boolean sense, but by default enum members all " -"evaluate to ``True``." -msgstr "" - -#: ../../howto/enum.rst:597 -msgid "" -"Pickling enums created with the functional API can be tricky as frame stack " -"implementation details are used to try and figure out which module the " -"enumeration is being created in (e.g. it will fail if you use a utility " -"function in a separate module, and also may not work on IronPython or " -"Jython). The solution is to specify the module name explicitly as follows::" -msgstr "" - -#: ../../howto/enum.rst:603 -msgid ">>> Animal = Enum('Animal', 'ANT BEE CAT DOG', module=__name__)" -msgstr "" - -#: ../../howto/enum.rst:607 -msgid "" -"If ``module`` is not supplied, and Enum cannot determine what it is, the new" -" Enum members will not be unpicklable; to keep errors closer to the source, " -"pickling will be disabled." -msgstr "" - -#: ../../howto/enum.rst:611 -msgid "" -"The new pickle protocol 4 also, in some circumstances, relies on " -":attr:`~type.__qualname__` being set to the location where pickle will be " -"able to find the class. For example, if the class was made available in " -"class SomeData in the global scope::" -msgstr "" - -#: ../../howto/enum.rst:616 -msgid "" -">>> Animal = Enum('Animal', 'ANT BEE CAT DOG', qualname='SomeData.Animal')" -msgstr "" - -#: ../../howto/enum.rst:618 -msgid "The complete signature is::" -msgstr "" - -#: ../../howto/enum.rst:620 -msgid "" -"Enum(\n" -" value='NewEnumName',\n" -" names=<...>,\n" -" *,\n" -" module='...',\n" -" qualname='...',\n" -" type=,\n" -" start=1,\n" -" )" -msgstr "" - -#: ../../howto/enum.rst:630 -msgid "*value*: What the new enum class will record as its name." -msgstr "" - -#: ../../howto/enum.rst:632 -msgid "" -"*names*: The enum members. This can be a whitespace- or comma-separated " -"string (values will start at 1 unless otherwise specified)::" -msgstr "" - -#: ../../howto/enum.rst:635 -msgid "'RED GREEN BLUE' | 'RED,GREEN,BLUE' | 'RED, GREEN, BLUE'" -msgstr "" - -#: ../../howto/enum.rst:637 -msgid "or an iterator of names::" -msgstr "" - -#: ../../howto/enum.rst:639 -msgid "['RED', 'GREEN', 'BLUE']" -msgstr "" - -#: ../../howto/enum.rst:641 -msgid "or an iterator of (name, value) pairs::" -msgstr "" - -#: ../../howto/enum.rst:643 -msgid "[('CYAN', 4), ('MAGENTA', 5), ('YELLOW', 6)]" -msgstr "" - -#: ../../howto/enum.rst:645 -msgid "or a mapping::" -msgstr "" - -#: ../../howto/enum.rst:647 -msgid "{'CHARTREUSE': 7, 'SEA_GREEN': 11, 'ROSEMARY': 42}" -msgstr "" - -#: ../../howto/enum.rst:649 -msgid "*module*: name of module where new enum class can be found." -msgstr "" - -#: ../../howto/enum.rst:651 -msgid "*qualname*: where in module new enum class can be found." -msgstr "" - -#: ../../howto/enum.rst:653 -msgid "*type*: type to mix in to new enum class." -msgstr "" - -#: ../../howto/enum.rst:655 -msgid "*start*: number to start counting at if only names are passed in." -msgstr "" - -#: ../../howto/enum.rst:657 -msgid "The *start* parameter was added." -msgstr "" - -#: ../../howto/enum.rst:662 -msgid "Derived Enumerations" -msgstr "" - -#: ../../howto/enum.rst:665 -msgid "IntEnum" -msgstr "" - -#: ../../howto/enum.rst:667 -msgid "" -"The first variation of :class:`Enum` that is provided is also a subclass of " -":class:`int`. Members of an :class:`IntEnum` can be compared to integers; " -"by extension, integer enumerations of different types can also be compared " -"to each other::" -msgstr "" - -#: ../../howto/enum.rst:672 -msgid "" -">>> from enum import IntEnum\n" -">>> class Shape(IntEnum):\n" -"... CIRCLE = 1\n" -"... SQUARE = 2\n" -"...\n" -">>> class Request(IntEnum):\n" -"... POST = 1\n" -"... GET = 2\n" -"...\n" -">>> Shape == 1\n" -"False\n" -">>> Shape.CIRCLE == 1\n" -"True\n" -">>> Shape.CIRCLE == Request.POST\n" -"True" -msgstr "" - -#: ../../howto/enum.rst:688 -msgid "" -"However, they still can't be compared to standard :class:`Enum` " -"enumerations::" -msgstr "" - -#: ../../howto/enum.rst:690 -msgid "" -">>> class Shape(IntEnum):\n" -"... CIRCLE = 1\n" -"... SQUARE = 2\n" -"...\n" -">>> class Color(Enum):\n" -"... RED = 1\n" -"... GREEN = 2\n" -"...\n" -">>> Shape.CIRCLE == Color.RED\n" -"False" -msgstr "" - -#: ../../howto/enum.rst:701 -msgid "" -":class:`IntEnum` values behave like integers in other ways you'd expect::" -msgstr "" - -#: ../../howto/enum.rst:703 -msgid "" -">>> int(Shape.CIRCLE)\n" -"1\n" -">>> ['a', 'b', 'c'][Shape.CIRCLE]\n" -"'b'\n" -">>> [i for i in range(Shape.SQUARE)]\n" -"[0, 1]" -msgstr "" - -#: ../../howto/enum.rst:712 -msgid "StrEnum" -msgstr "" - -#: ../../howto/enum.rst:714 -msgid "" -"The second variation of :class:`Enum` that is provided is also a subclass of" -" :class:`str`. Members of a :class:`StrEnum` can be compared to strings; by" -" extension, string enumerations of different types can also be compared to " -"each other." -msgstr "" - -#: ../../howto/enum.rst:723 -msgid "IntFlag" -msgstr "" - -#: ../../howto/enum.rst:725 -msgid "" -"The next variation of :class:`Enum` provided, :class:`IntFlag`, is also " -"based on :class:`int`. The difference being :class:`IntFlag` members can be" -" combined using the bitwise operators (&, \\|, ^, ~) and the result is still" -" an :class:`IntFlag` member, if possible. Like :class:`IntEnum`, " -":class:`IntFlag` members are also integers and can be used wherever an " -":class:`int` is used." -msgstr "" - -#: ../../howto/enum.rst:733 -msgid "" -"Any operation on an :class:`IntFlag` member besides the bit-wise operations " -"will lose the :class:`IntFlag` membership." -msgstr "" - -#: ../../howto/enum.rst:736 -msgid "" -"Bit-wise operations that result in invalid :class:`IntFlag` values will lose" -" the :class:`IntFlag` membership. See :class:`FlagBoundary` for details." -msgstr "" - -#: ../../howto/enum.rst:743 -msgid "Sample :class:`IntFlag` class::" -msgstr "" - -#: ../../howto/enum.rst:745 -msgid "" -">>> from enum import IntFlag\n" -">>> class Perm(IntFlag):\n" -"... R = 4\n" -"... W = 2\n" -"... X = 1\n" -"...\n" -">>> Perm.R | Perm.W\n" -"\n" -">>> Perm.R + Perm.W\n" -"6\n" -">>> RW = Perm.R | Perm.W\n" -">>> Perm.R in RW\n" -"True" -msgstr "" - -#: ../../howto/enum.rst:759 -msgid "It is also possible to name the combinations::" -msgstr "" - -#: ../../howto/enum.rst:761 -msgid "" -">>> class Perm(IntFlag):\n" -"... R = 4\n" -"... W = 2\n" -"... X = 1\n" -"... RWX = 7\n" -"...\n" -">>> Perm.RWX\n" -"\n" -">>> ~Perm.RWX\n" -"\n" -">>> Perm(7)\n" -"" -msgstr "" - -#: ../../howto/enum.rst:776 -msgid "" -"Named combinations are considered aliases. Aliases do not show up during " -"iteration, but can be returned from by-value lookups." -msgstr "" - -#: ../../howto/enum.rst:781 -msgid "" -"Another important difference between :class:`IntFlag` and :class:`Enum` is " -"that if no flags are set (the value is 0), its boolean evaluation is " -":data:`False`::" -msgstr "" - -#: ../../howto/enum.rst:784 -msgid "" -">>> Perm.R & Perm.X\n" -"\n" -">>> bool(Perm.R & Perm.X)\n" -"False" -msgstr "" - -#: ../../howto/enum.rst:789 -msgid "" -"Because :class:`IntFlag` members are also subclasses of :class:`int` they " -"can be combined with them (but may lose :class:`IntFlag` membership::" -msgstr "" - -#: ../../howto/enum.rst:792 -msgid "" -">>> Perm.X | 4\n" -"\n" -"\n" -">>> Perm.X + 8\n" -"9" -msgstr "" - -#: ../../howto/enum.rst:800 -msgid "" -"The negation operator, ``~``, always returns an :class:`IntFlag` member with" -" a positive value::" -msgstr "" - -#: ../../howto/enum.rst:803 -msgid "" -">>> (~Perm.X).value == (Perm.R|Perm.W).value == 6\n" -"True" -msgstr "" - -#: ../../howto/enum.rst:806 -msgid ":class:`IntFlag` members can also be iterated over::" -msgstr "" - -#: ../../howto/enum.rst:808 -msgid "" -">>> list(RW)\n" -"[, ]" -msgstr "" - -#: ../../howto/enum.rst:815 -msgid "Flag" -msgstr "Penanda" - -#: ../../howto/enum.rst:817 -msgid "" -"The last variation is :class:`Flag`. Like :class:`IntFlag`, :class:`Flag` " -"members can be combined using the bitwise operators (&, \\|, ^, ~). Unlike " -":class:`IntFlag`, they cannot be combined with, nor compared against, any " -"other :class:`Flag` enumeration, nor :class:`int`. While it is possible to " -"specify the values directly it is recommended to use :class:`auto` as the " -"value and let :class:`Flag` select an appropriate value." -msgstr "" - -#: ../../howto/enum.rst:826 -msgid "" -"Like :class:`IntFlag`, if a combination of :class:`Flag` members results in " -"no flags being set, the boolean evaluation is :data:`False`::" -msgstr "" - -#: ../../howto/enum.rst:829 -msgid "" -">>> from enum import Flag, auto\n" -">>> class Color(Flag):\n" -"... RED = auto()\n" -"... BLUE = auto()\n" -"... GREEN = auto()\n" -"...\n" -">>> Color.RED & Color.GREEN\n" -"\n" -">>> bool(Color.RED & Color.GREEN)\n" -"False" -msgstr "" - -#: ../../howto/enum.rst:840 -msgid "" -"Individual flags should have values that are powers of two (1, 2, 4, 8, " -"...), while combinations of flags will not::" -msgstr "" - -#: ../../howto/enum.rst:843 -msgid "" -">>> class Color(Flag):\n" -"... RED = auto()\n" -"... BLUE = auto()\n" -"... GREEN = auto()\n" -"... WHITE = RED | BLUE | GREEN\n" -"...\n" -">>> Color.WHITE\n" -"" -msgstr "" - -#: ../../howto/enum.rst:852 -msgid "" -"Giving a name to the \"no flags set\" condition does not change its boolean " -"value::" -msgstr "" - -#: ../../howto/enum.rst:855 -msgid "" -">>> class Color(Flag):\n" -"... BLACK = 0\n" -"... RED = auto()\n" -"... BLUE = auto()\n" -"... GREEN = auto()\n" -"...\n" -">>> Color.BLACK\n" -"\n" -">>> bool(Color.BLACK)\n" -"False" -msgstr "" - -#: ../../howto/enum.rst:866 -msgid ":class:`Flag` members can also be iterated over::" -msgstr "" - -#: ../../howto/enum.rst:868 -msgid "" -">>> purple = Color.RED | Color.BLUE\n" -">>> list(purple)\n" -"[, ]" -msgstr "" - -#: ../../howto/enum.rst:876 -msgid "" -"For the majority of new code, :class:`Enum` and :class:`Flag` are strongly " -"recommended, since :class:`IntEnum` and :class:`IntFlag` break some semantic" -" promises of an enumeration (by being comparable to integers, and thus by " -"transitivity to other unrelated enumerations). :class:`IntEnum` and " -":class:`IntFlag` should be used only in cases where :class:`Enum` and " -":class:`Flag` will not do; for example, when integer constants are replaced " -"with enumerations, or for interoperability with other systems." -msgstr "" - -#: ../../howto/enum.rst:886 -msgid "Others" -msgstr "" - -#: ../../howto/enum.rst:888 -msgid "" -"While :class:`IntEnum` is part of the :mod:`enum` module, it would be very " -"simple to implement independently::" -msgstr "" - -#: ../../howto/enum.rst:891 -msgid "" -"class IntEnum(int, ReprEnum): # or Enum instead of ReprEnum\n" -" pass" -msgstr "" - -#: ../../howto/enum.rst:894 -msgid "" -"This demonstrates how similar derived enumerations can be defined; for " -"example a :class:`!FloatEnum` that mixes in :class:`float` instead of " -":class:`int`." -msgstr "" - -#: ../../howto/enum.rst:897 -msgid "Some rules:" -msgstr "" - -#: ../../howto/enum.rst:899 -msgid "" -"When subclassing :class:`Enum`, mix-in types must appear before the " -":class:`Enum` class itself in the sequence of bases, as in the " -":class:`IntEnum` example above." -msgstr "" - -#: ../../howto/enum.rst:902 -msgid "" -"Mix-in types must be subclassable. For example, :class:`bool` and " -":class:`range` are not subclassable and will throw an error during Enum " -"creation if used as the mix-in type." -msgstr "" - -#: ../../howto/enum.rst:905 -msgid "" -"While :class:`Enum` can have members of any type, once you mix in an " -"additional type, all the members must have values of that type, e.g. " -":class:`int` above. This restriction does not apply to mix-ins which only " -"add methods and don't specify another type." -msgstr "" - -#: ../../howto/enum.rst:909 -msgid "" -"When another data type is mixed in, the :attr:`~Enum.value` attribute is " -"*not the same* as the enum member itself, although it is equivalent and will" -" compare equal." -msgstr "" - -#: ../../howto/enum.rst:912 -msgid "" -"A ``data type`` is a mixin that defines :meth:`~object.__new__`, or a " -":class:`~dataclasses.dataclass`" -msgstr "" - -#: ../../howto/enum.rst:914 -msgid "" -"%-style formatting: ``%s`` and ``%r`` call the :class:`Enum` class's " -":meth:`~object.__str__` and :meth:`~object.__repr__` respectively; other " -"codes (such as ``%i`` or ``%h`` for IntEnum) treat the enum member as its " -"mixed-in type." -msgstr "" - -#: ../../howto/enum.rst:917 -msgid "" -":ref:`Formatted string literals `, :meth:`str.format`, and " -":func:`format` will use the enum's :meth:`~object.__str__` method." -msgstr "" - -#: ../../howto/enum.rst:922 -msgid "" -"Because :class:`IntEnum`, :class:`IntFlag`, and :class:`StrEnum` are " -"designed to be drop-in replacements for existing constants, their " -":meth:`~object.__str__` method has been reset to their data types' " -":meth:`~object.__str__` method." -msgstr "" - -#: ../../howto/enum.rst:930 -msgid "When to use :meth:`~object.__new__` vs. :meth:`~object.__init__`" -msgstr "" - -#: ../../howto/enum.rst:932 -msgid "" -":meth:`~object.__new__` must be used whenever you want to customize the " -"actual value of the :class:`Enum` member. Any other modifications may go in" -" either :meth:`~object.__new__` or :meth:`~object.__init__`, with " -":meth:`~object.__init__` being preferred." -msgstr "" - -#: ../../howto/enum.rst:936 -msgid "" -"For example, if you want to pass several items to the constructor, but only " -"want one of them to be the value::" -msgstr "" - -#: ../../howto/enum.rst:939 -msgid "" -">>> class Coordinate(bytes, Enum):\n" -"... \"\"\"\n" -"... Coordinate with binary codes that can be indexed by the int code.\n" -"... \"\"\"\n" -"... def __new__(cls, value, label, unit):\n" -"... obj = bytes.__new__(cls, [value])\n" -"... obj._value_ = value\n" -"... obj.label = label\n" -"... obj.unit = unit\n" -"... return obj\n" -"... PX = (0, 'P.X', 'km')\n" -"... PY = (1, 'P.Y', 'km')\n" -"... VX = (2, 'V.X', 'km/s')\n" -"... VY = (3, 'V.Y', 'km/s')\n" -"...\n" -"\n" -">>> print(Coordinate['PY'])\n" -"Coordinate.PY\n" -"\n" -">>> print(Coordinate(3))\n" -"Coordinate.VY" -msgstr "" - -#: ../../howto/enum.rst:963 -msgid "" -"*Do not* call ``super().__new__()``, as the lookup-only ``__new__`` is the " -"one that is found; instead, use the data type directly." -msgstr "" - -#: ../../howto/enum.rst:968 -msgid "Finer Points" -msgstr "" - -#: ../../howto/enum.rst:971 -msgid "Supported ``__dunder__`` names" -msgstr "" - -#: ../../howto/enum.rst:973 -msgid "" -":attr:`~enum.EnumType.__members__` is a read-only ordered mapping of " -"``member_name``:``member`` items. It is only available on the class." -msgstr "" - -#: ../../howto/enum.rst:976 -msgid "" -":meth:`~object.__new__`, if specified, must create and return the enum " -"members; it is also a very good idea to set the member's " -":attr:`~Enum._value_` appropriately. Once all the members are created it is" -" no longer used." -msgstr "" - -#: ../../howto/enum.rst:982 -msgid "Supported ``_sunder_`` names" -msgstr "" - -#: ../../howto/enum.rst:984 -msgid ":attr:`~Enum._name_` -- name of the member" -msgstr "" - -#: ../../howto/enum.rst:985 -msgid "" -":attr:`~Enum._value_` -- value of the member; can be set in ``__new__``" -msgstr "" - -#: ../../howto/enum.rst:986 -msgid "" -":meth:`~Enum._missing_` -- a lookup function used when a value is not found;" -" may be overridden" -msgstr "" - -#: ../../howto/enum.rst:988 -msgid "" -":attr:`~Enum._ignore_` -- a list of names, either as a :class:`list` or a " -":class:`str`, that will not be transformed into members, and will be removed" -" from the final class" -msgstr "" - -#: ../../howto/enum.rst:991 -msgid "" -":meth:`~Enum._generate_next_value_` -- used to get an appropriate value for " -"an enum member; may be overridden" -msgstr "" - -#: ../../howto/enum.rst:993 -msgid "" -":meth:`~EnumType._add_alias_` -- adds a new name as an alias to an existing " -"member." -msgstr "" - -#: ../../howto/enum.rst:995 -msgid "" -":meth:`~EnumType._add_value_alias_` -- adds a new value as an alias to an " -"existing member. See `MultiValueEnum`_ for an example." -msgstr "" - -#: ../../howto/enum.rst:1000 -msgid "" -"For standard :class:`Enum` classes the next value chosen is the highest " -"value seen incremented by one." -msgstr "" - -#: ../../howto/enum.rst:1003 -msgid "" -"For :class:`Flag` classes the next value chosen will be the next highest " -"power-of-two." -msgstr "" - -#: ../../howto/enum.rst:1006 -msgid "" -"Prior versions would use the last seen value instead of the highest value." -msgstr "" - -#: ../../howto/enum.rst:1009 -msgid "``_missing_``, ``_order_``, ``_generate_next_value_``" -msgstr "" - -#: ../../howto/enum.rst:1010 -msgid "``_ignore_``" -msgstr "" - -#: ../../howto/enum.rst:1011 -msgid "``_add_alias_``, ``_add_value_alias_``" -msgstr "" - -#: ../../howto/enum.rst:1013 -msgid "" -"To help keep Python 2 / Python 3 code in sync an :attr:`~Enum._order_` " -"attribute can be provided. It will be checked against the actual order of " -"the enumeration and raise an error if the two do not match::" -msgstr "" - -#: ../../howto/enum.rst:1017 -msgid "" -">>> class Color(Enum):\n" -"... _order_ = 'RED GREEN BLUE'\n" -"... RED = 1\n" -"... BLUE = 3\n" -"... GREEN = 2\n" -"...\n" -"Traceback (most recent call last):\n" -"...\n" -"TypeError: member order does not match _order_:\n" -" ['RED', 'BLUE', 'GREEN']\n" -" ['RED', 'GREEN', 'BLUE']" -msgstr "" - -#: ../../howto/enum.rst:1031 -msgid "" -"In Python 2 code the :attr:`~Enum._order_` attribute is necessary as " -"definition order is lost before it can be recorded." -msgstr "" - -#: ../../howto/enum.rst:1036 -msgid "_Private__names" -msgstr "" - -#: ../../howto/enum.rst:1038 -msgid "" -":ref:`Private names ` are not converted to enum " -"members, but remain normal attributes." -msgstr "" - -#: ../../howto/enum.rst:1045 -msgid "``Enum`` member type" -msgstr "" - -#: ../../howto/enum.rst:1047 -msgid "" -"Enum members are instances of their enum class, and are normally accessed as" -" ``EnumClass.member``. In certain situations, such as writing custom enum " -"behavior, being able to access one member directly from another is useful, " -"and is supported; however, in order to avoid name clashes between member " -"names and attributes/methods from mixed-in classes, upper-case names are " -"strongly recommended." -msgstr "" - -#: ../../howto/enum.rst:1058 -msgid "Creating members that are mixed with other data types" -msgstr "" - -#: ../../howto/enum.rst:1060 -msgid "" -"When subclassing other data types, such as :class:`int` or :class:`str`, " -"with an :class:`Enum`, all values after the ``=`` are passed to that data " -"type's constructor. For example::" -msgstr "" - -#: ../../howto/enum.rst:1064 -msgid "" -">>> class MyEnum(IntEnum): # help(int) -> int(x, base=10) -> integer\n" -"... example = '11', 16 # so x='11' and base=16\n" -"...\n" -">>> MyEnum.example.value # and hex(11) is...\n" -"17" -msgstr "" - -#: ../../howto/enum.rst:1072 -msgid "Boolean value of ``Enum`` classes and members" -msgstr "" - -#: ../../howto/enum.rst:1074 -msgid "" -"Enum classes that are mixed with non-:class:`Enum` types (such as " -":class:`int`, :class:`str`, etc.) are evaluated according to the mixed-in " -"type's rules; otherwise, all members evaluate as :data:`True`. To make your" -" own enum's boolean evaluation depend on the member's value add the " -"following to your class::" -msgstr "" - -#: ../../howto/enum.rst:1080 -msgid "" -"def __bool__(self):\n" -" return bool(self.value)" -msgstr "" - -#: ../../howto/enum.rst:1083 -msgid "Plain :class:`Enum` classes always evaluate as :data:`True`." -msgstr "" - -#: ../../howto/enum.rst:1087 -msgid "``Enum`` classes with methods" -msgstr "" - -#: ../../howto/enum.rst:1089 -msgid "" -"If you give your enum subclass extra methods, like the `Planet`_ class " -"below, those methods will show up in a :func:`dir` of the member, but not of" -" the class::" -msgstr "" - -#: ../../howto/enum.rst:1093 -msgid "" -">>> dir(Planet)\n" -"['EARTH', 'JUPITER', 'MARS', 'MERCURY', 'NEPTUNE', 'SATURN', 'URANUS', 'VENUS', '__class__', '__doc__', '__members__', '__module__']\n" -">>> dir(Planet.EARTH)\n" -"['__class__', '__doc__', '__module__', 'mass', 'name', 'radius', 'surface_gravity', 'value']" -msgstr "" - -#: ../../howto/enum.rst:1100 -msgid "Combining members of ``Flag``" -msgstr "" - -#: ../../howto/enum.rst:1102 -msgid "" -"Iterating over a combination of :class:`Flag` members will only return the " -"members that are comprised of a single bit::" -msgstr "" - -#: ../../howto/enum.rst:1105 -msgid "" -">>> class Color(Flag):\n" -"... RED = auto()\n" -"... GREEN = auto()\n" -"... BLUE = auto()\n" -"... MAGENTA = RED | BLUE\n" -"... YELLOW = RED | GREEN\n" -"... CYAN = GREEN | BLUE\n" -"...\n" -">>> Color(3) # named combination\n" -"\n" -">>> Color(7) # not named combination\n" -"" -msgstr "" - -#: ../../howto/enum.rst:1120 -msgid "``Flag`` and ``IntFlag`` minutia" -msgstr "" - -#: ../../howto/enum.rst:1122 -msgid "Using the following snippet for our examples::" -msgstr "" - -#: ../../howto/enum.rst:1124 -msgid "" -">>> class Color(IntFlag):\n" -"... BLACK = 0\n" -"... RED = 1\n" -"... GREEN = 2\n" -"... BLUE = 4\n" -"... PURPLE = RED | BLUE\n" -"... WHITE = RED | GREEN | BLUE\n" -"..." -msgstr "" - -#: ../../howto/enum.rst:1133 -msgid "the following are true:" -msgstr "" - -#: ../../howto/enum.rst:1135 -msgid "single-bit flags are canonical" -msgstr "" - -#: ../../howto/enum.rst:1136 -msgid "multi-bit and zero-bit flags are aliases" -msgstr "" - -#: ../../howto/enum.rst:1137 -msgid "only canonical flags are returned during iteration::" -msgstr "" - -#: ../../howto/enum.rst:1139 -msgid "" -">>> list(Color.WHITE)\n" -"[, , ]" -msgstr "" - -#: ../../howto/enum.rst:1142 -msgid "" -"negating a flag or flag set returns a new flag/flag set with the " -"corresponding positive integer value::" -msgstr "" - -#: ../../howto/enum.rst:1145 -msgid "" -">>> Color.BLUE\n" -"\n" -"\n" -">>> ~Color.BLUE\n" -"" -msgstr "" - -#: ../../howto/enum.rst:1151 -msgid "names of pseudo-flags are constructed from their members' names::" -msgstr "" - -#: ../../howto/enum.rst:1153 -msgid "" -">>> (Color.RED | Color.GREEN).name\n" -"'RED|GREEN'\n" -"\n" -">>> class Perm(IntFlag):\n" -"... R = 4\n" -"... W = 2\n" -"... X = 1\n" -"...\n" -">>> (Perm.R & Perm.W).name is None # effectively Perm(0)\n" -"True" -msgstr "" - -#: ../../howto/enum.rst:1164 -msgid "multi-bit flags, aka aliases, can be returned from operations::" -msgstr "" - -#: ../../howto/enum.rst:1166 -msgid "" -">>> Color.RED | Color.BLUE\n" -"\n" -"\n" -">>> Color(7) # or Color(-1)\n" -"\n" -"\n" -">>> Color(0)\n" -"" -msgstr "" - -#: ../../howto/enum.rst:1175 -msgid "" -"membership / containment checking: zero-valued flags are always considered " -"to be contained::" -msgstr "" - -#: ../../howto/enum.rst:1178 -msgid "" -">>> Color.BLACK in Color.WHITE\n" -"True" -msgstr "" - -#: ../../howto/enum.rst:1181 -msgid "" -"otherwise, only if all bits of one flag are in the other flag will True be " -"returned::" -msgstr "" - -#: ../../howto/enum.rst:1184 -msgid "" -">>> Color.PURPLE in Color.WHITE\n" -"True\n" -"\n" -">>> Color.GREEN in Color.PURPLE\n" -"False" -msgstr "" - -#: ../../howto/enum.rst:1190 -msgid "" -"There is a new boundary mechanism that controls how out-of-range / invalid " -"bits are handled: ``STRICT``, ``CONFORM``, ``EJECT``, and ``KEEP``:" -msgstr "" - -#: ../../howto/enum.rst:1193 -msgid "STRICT --> raises an exception when presented with invalid values" -msgstr "" - -#: ../../howto/enum.rst:1194 -msgid "CONFORM --> discards any invalid bits" -msgstr "" - -#: ../../howto/enum.rst:1195 -msgid "" -"EJECT --> lose Flag status and become a normal int with the given value" -msgstr "" - -#: ../../howto/enum.rst:1196 -msgid "KEEP --> keep the extra bits" -msgstr "" - -#: ../../howto/enum.rst:1198 -msgid "keeps Flag status and extra bits" -msgstr "" - -#: ../../howto/enum.rst:1199 -msgid "extra bits do not show up in iteration" -msgstr "" - -#: ../../howto/enum.rst:1200 -msgid "extra bits do show up in repr() and str()" -msgstr "" - -#: ../../howto/enum.rst:1202 -msgid "" -"The default for Flag is ``STRICT``, the default for ``IntFlag`` is " -"``EJECT``, and the default for ``_convert_`` is ``KEEP`` (see " -"``ssl.Options`` for an example of when ``KEEP`` is needed)." -msgstr "" - -#: ../../howto/enum.rst:1210 -msgid "How are Enums and Flags different?" -msgstr "" - -#: ../../howto/enum.rst:1212 -msgid "" -"Enums have a custom metaclass that affects many aspects of both derived " -":class:`Enum` classes and their instances (members)." -msgstr "" - -#: ../../howto/enum.rst:1217 -msgid "Enum Classes" -msgstr "" - -#: ../../howto/enum.rst:1219 -msgid "" -"The :class:`EnumType` metaclass is responsible for providing the " -":meth:`~object.__contains__`, :meth:`~object.__dir__`, " -":meth:`~object.__iter__` and other methods that allow one to do things with " -"an :class:`Enum` class that fail on a typical class, such as ``list(Color)``" -" or ``some_enum_var in Color``. :class:`EnumType` is responsible for " -"ensuring that various other methods on the final :class:`Enum` class are " -"correct (such as :meth:`~object.__new__`, :meth:`~object.__getnewargs__`, " -":meth:`~object.__str__` and :meth:`~object.__repr__`)." -msgstr "" - -#: ../../howto/enum.rst:1228 -msgid "Flag Classes" -msgstr "" - -#: ../../howto/enum.rst:1230 -msgid "" -"Flags have an expanded view of aliasing: to be canonical, the value of a " -"flag needs to be a power-of-two value, and not a duplicate name. So, in " -"addition to the :class:`Enum` definition of alias, a flag with no value " -"(a.k.a. ``0``) or with more than one power-of-two value (e.g. ``3``) is " -"considered an alias." -msgstr "" - -#: ../../howto/enum.rst:1236 -msgid "Enum Members (aka instances)" -msgstr "" - -#: ../../howto/enum.rst:1238 -msgid "" -"The most interesting thing about enum members is that they are singletons. " -":class:`EnumType` creates them all while it is creating the enum class " -"itself, and then puts a custom :meth:`~object.__new__` in place to ensure " -"that no new ones are ever instantiated by returning only the existing member" -" instances." -msgstr "" - -#: ../../howto/enum.rst:1244 -msgid "Flag Members" -msgstr "" - -#: ../../howto/enum.rst:1246 -msgid "" -"Flag members can be iterated over just like the :class:`Flag` class, and " -"only the canonical members will be returned. For example::" -msgstr "" - -#: ../../howto/enum.rst:1249 -msgid "" -">>> list(Color)\n" -"[, , ]" -msgstr "" - -#: ../../howto/enum.rst:1252 -msgid "(Note that ``BLACK``, ``PURPLE``, and ``WHITE`` do not show up.)" -msgstr "" - -#: ../../howto/enum.rst:1254 -msgid "" -"Inverting a flag member returns the corresponding positive value, rather " -"than a negative value --- for example::" -msgstr "" - -#: ../../howto/enum.rst:1257 -msgid "" -">>> ~Color.RED\n" -"" -msgstr "" - -#: ../../howto/enum.rst:1260 -msgid "" -"Flag members have a length corresponding to the number of power-of-two " -"values they contain. For example::" -msgstr "" - -#: ../../howto/enum.rst:1263 -msgid "" -">>> len(Color.PURPLE)\n" -"2" -msgstr "" - -#: ../../howto/enum.rst:1270 -msgid "Enum Cookbook" -msgstr "" - -#: ../../howto/enum.rst:1273 -msgid "" -"While :class:`Enum`, :class:`IntEnum`, :class:`StrEnum`, :class:`Flag`, and " -":class:`IntFlag` are expected to cover the majority of use-cases, they " -"cannot cover them all. Here are recipes for some different types of " -"enumerations that can be used directly, or as examples for creating one's " -"own." -msgstr "" - -#: ../../howto/enum.rst:1280 -msgid "Omitting values" -msgstr "" - -#: ../../howto/enum.rst:1282 -msgid "" -"In many use-cases, one doesn't care what the actual value of an enumeration " -"is. There are several ways to define this type of simple enumeration:" -msgstr "" - -#: ../../howto/enum.rst:1285 -msgid "use instances of :class:`auto` for the value" -msgstr "" - -#: ../../howto/enum.rst:1286 -msgid "use instances of :class:`object` as the value" -msgstr "" - -#: ../../howto/enum.rst:1287 -msgid "use a descriptive string as the value" -msgstr "" - -#: ../../howto/enum.rst:1288 -msgid "" -"use a tuple as the value and a custom :meth:`~object.__new__` to replace the" -" tuple with an :class:`int` value" -msgstr "" - -#: ../../howto/enum.rst:1291 -msgid "" -"Using any of these methods signifies to the user that these values are not " -"important, and also enables one to add, remove, or reorder members without " -"having to renumber the remaining members." -msgstr "" - -#: ../../howto/enum.rst:1297 -msgid "Using :class:`auto`" -msgstr "" - -#: ../../howto/enum.rst:1299 -msgid "Using :class:`auto` would look like::" -msgstr "" - -#: ../../howto/enum.rst:1301 -msgid "" -">>> class Color(Enum):\n" -"... RED = auto()\n" -"... BLUE = auto()\n" -"... GREEN = auto()\n" -"...\n" -">>> Color.GREEN\n" -"" -msgstr "" - -#: ../../howto/enum.rst:1311 -msgid "Using :class:`object`" -msgstr "" - -#: ../../howto/enum.rst:1313 -msgid "Using :class:`object` would look like::" -msgstr "" - -#: ../../howto/enum.rst:1315 -msgid "" -">>> class Color(Enum):\n" -"... RED = object()\n" -"... GREEN = object()\n" -"... BLUE = object()\n" -"...\n" -">>> Color.GREEN\n" -">" -msgstr "" - -#: ../../howto/enum.rst:1323 -msgid "" -"This is also a good example of why you might want to write your own " -":meth:`~object.__repr__`::" -msgstr "" - -#: ../../howto/enum.rst:1326 -msgid "" -">>> class Color(Enum):\n" -"... RED = object()\n" -"... GREEN = object()\n" -"... BLUE = object()\n" -"... def __repr__(self):\n" -"... return \"<%s.%s>\" % (self.__class__.__name__, self._name_)\n" -"...\n" -">>> Color.GREEN\n" -"" -msgstr "" - -#: ../../howto/enum.rst:1339 -msgid "Using a descriptive string" -msgstr "" - -#: ../../howto/enum.rst:1341 -msgid "Using a string as the value would look like::" -msgstr "" - -#: ../../howto/enum.rst:1343 -msgid "" -">>> class Color(Enum):\n" -"... RED = 'stop'\n" -"... GREEN = 'go'\n" -"... BLUE = 'too fast!'\n" -"...\n" -">>> Color.GREEN\n" -"" -msgstr "" - -#: ../../howto/enum.rst:1353 -msgid "Using a custom :meth:`~object.__new__`" -msgstr "" - -#: ../../howto/enum.rst:1355 -msgid "Using an auto-numbering :meth:`~object.__new__` would look like::" -msgstr "" - -#: ../../howto/enum.rst:1357 -msgid "" -">>> class AutoNumber(Enum):\n" -"... def __new__(cls):\n" -"... value = len(cls.__members__) + 1\n" -"... obj = object.__new__(cls)\n" -"... obj._value_ = value\n" -"... return obj\n" -"...\n" -">>> class Color(AutoNumber):\n" -"... RED = ()\n" -"... GREEN = ()\n" -"... BLUE = ()\n" -"...\n" -">>> Color.GREEN\n" -"" -msgstr "" - -#: ../../howto/enum.rst:1372 -msgid "" -"To make a more general purpose ``AutoNumber``, add ``*args`` to the " -"signature::" -msgstr "" - -#: ../../howto/enum.rst:1374 -msgid "" -">>> class AutoNumber(Enum):\n" -"... def __new__(cls, *args): # this is the only change from above\n" -"... value = len(cls.__members__) + 1\n" -"... obj = object.__new__(cls)\n" -"... obj._value_ = value\n" -"... return obj\n" -"..." -msgstr "" - -#: ../../howto/enum.rst:1382 -msgid "" -"Then when you inherit from ``AutoNumber`` you can write your own " -"``__init__`` to handle any extra arguments::" -msgstr "" - -#: ../../howto/enum.rst:1385 -msgid "" -">>> class Swatch(AutoNumber):\n" -"... def __init__(self, pantone='unknown'):\n" -"... self.pantone = pantone\n" -"... AUBURN = '3497'\n" -"... SEA_GREEN = '1246'\n" -"... BLEACHED_CORAL = () # New color, no Pantone code yet!\n" -"...\n" -">>> Swatch.SEA_GREEN\n" -"\n" -">>> Swatch.SEA_GREEN.pantone\n" -"'1246'\n" -">>> Swatch.BLEACHED_CORAL.pantone\n" -"'unknown'" -msgstr "" - -#: ../../howto/enum.rst:1401 -msgid "" -"The :meth:`~object.__new__` method, if defined, is used during creation of " -"the Enum members; it is then replaced by Enum's :meth:`~object.__new__` " -"which is used after class creation for lookup of existing members." -msgstr "" - -#: ../../howto/enum.rst:1407 -msgid "" -"*Do not* call ``super().__new__()``, as the lookup-only ``__new__`` is the " -"one that is found; instead, use the data type directly -- e.g.::" -msgstr "" - -#: ../../howto/enum.rst:1410 -msgid "obj = int.__new__(cls, value)" -msgstr "" - -#: ../../howto/enum.rst:1414 -msgid "OrderedEnum" -msgstr "" - -#: ../../howto/enum.rst:1416 -msgid "" -"An ordered enumeration that is not based on :class:`IntEnum` and so " -"maintains the normal :class:`Enum` invariants (such as not being comparable " -"to other enumerations)::" -msgstr "" - -#: ../../howto/enum.rst:1420 -msgid "" -">>> class OrderedEnum(Enum):\n" -"... def __ge__(self, other):\n" -"... if self.__class__ is other.__class__:\n" -"... return self.value >= other.value\n" -"... return NotImplemented\n" -"... def __gt__(self, other):\n" -"... if self.__class__ is other.__class__:\n" -"... return self.value > other.value\n" -"... return NotImplemented\n" -"... def __le__(self, other):\n" -"... if self.__class__ is other.__class__:\n" -"... return self.value <= other.value\n" -"... return NotImplemented\n" -"... def __lt__(self, other):\n" -"... if self.__class__ is other.__class__:\n" -"... return self.value < other.value\n" -"... return NotImplemented\n" -"...\n" -">>> class Grade(OrderedEnum):\n" -"... A = 5\n" -"... B = 4\n" -"... C = 3\n" -"... D = 2\n" -"... F = 1\n" -"...\n" -">>> Grade.C < Grade.A\n" -"True" -msgstr "" - -#: ../../howto/enum.rst:1450 -msgid "DuplicateFreeEnum" -msgstr "" - -#: ../../howto/enum.rst:1452 -msgid "" -"Raises an error if a duplicate member value is found instead of creating an " -"alias::" -msgstr "" - -#: ../../howto/enum.rst:1455 -msgid "" -">>> class DuplicateFreeEnum(Enum):\n" -"... def __init__(self, *args):\n" -"... cls = self.__class__\n" -"... if any(self.value == e.value for e in cls):\n" -"... a = self.name\n" -"... e = cls(self.value).name\n" -"... raise ValueError(\n" -"... \"aliases not allowed in DuplicateFreeEnum: %r --> %r\"\n" -"... % (a, e))\n" -"...\n" -">>> class Color(DuplicateFreeEnum):\n" -"... RED = 1\n" -"... GREEN = 2\n" -"... BLUE = 3\n" -"... GRENE = 2\n" -"...\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError: aliases not allowed in DuplicateFreeEnum: 'GRENE' --> 'GREEN'" -msgstr "" - -#: ../../howto/enum.rst:1477 -msgid "" -"This is a useful example for subclassing Enum to add or change other " -"behaviors as well as disallowing aliases. If the only desired change is " -"disallowing aliases, the :func:`unique` decorator can be used instead." -msgstr "" - -#: ../../howto/enum.rst:1483 -msgid "MultiValueEnum" -msgstr "" - -#: ../../howto/enum.rst:1485 -msgid "Supports having more than one value per member::" -msgstr "" - -#: ../../howto/enum.rst:1487 -msgid "" -">>> class MultiValueEnum(Enum):\n" -"... def __new__(cls, value, *values):\n" -"... self = object.__new__(cls)\n" -"... self._value_ = value\n" -"... for v in values:\n" -"... self._add_value_alias_(v)\n" -"... return self\n" -"...\n" -">>> class DType(MultiValueEnum):\n" -"... float32 = 'f', 8\n" -"... double64 = 'd', 9\n" -"...\n" -">>> DType('f')\n" -"\n" -">>> DType(9)\n" -"" -msgstr "" - -#: ../../howto/enum.rst:1506 -msgid "Planet" -msgstr "" - -#: ../../howto/enum.rst:1508 -msgid "" -"If :meth:`~object.__new__` or :meth:`~object.__init__` is defined, the value" -" of the enum member will be passed to those methods::" -msgstr "" - -#: ../../howto/enum.rst:1511 -msgid "" -">>> class Planet(Enum):\n" -"... MERCURY = (3.303e+23, 2.4397e6)\n" -"... VENUS = (4.869e+24, 6.0518e6)\n" -"... EARTH = (5.976e+24, 6.37814e6)\n" -"... MARS = (6.421e+23, 3.3972e6)\n" -"... JUPITER = (1.9e+27, 7.1492e7)\n" -"... SATURN = (5.688e+26, 6.0268e7)\n" -"... URANUS = (8.686e+25, 2.5559e7)\n" -"... NEPTUNE = (1.024e+26, 2.4746e7)\n" -"... def __init__(self, mass, radius):\n" -"... self.mass = mass # in kilograms\n" -"... self.radius = radius # in meters\n" -"... @property\n" -"... def surface_gravity(self):\n" -"... # universal gravitational constant (m3 kg-1 s-2)\n" -"... G = 6.67300E-11\n" -"... return G * self.mass / (self.radius * self.radius)\n" -"...\n" -">>> Planet.EARTH.value\n" -"(5.976e+24, 6378140.0)\n" -">>> Planet.EARTH.surface_gravity\n" -"9.802652743337129" -msgstr "" - -#: ../../howto/enum.rst:1537 -msgid "TimePeriod" -msgstr "" - -#: ../../howto/enum.rst:1539 -msgid "An example to show the :attr:`~Enum._ignore_` attribute in use::" -msgstr "" - -#: ../../howto/enum.rst:1541 -msgid "" -">>> from datetime import timedelta\n" -">>> class Period(timedelta, Enum):\n" -"... \"different lengths of time\"\n" -"... _ignore_ = 'Period i'\n" -"... Period = vars()\n" -"... for i in range(367):\n" -"... Period['day_%d' % i] = i\n" -"...\n" -">>> list(Period)[:2]\n" -"[, ]\n" -">>> list(Period)[-2:]\n" -"[, ]" -msgstr "" - -#: ../../howto/enum.rst:1558 -msgid "Subclassing EnumType" -msgstr "" - -#: ../../howto/enum.rst:1560 -msgid "" -"While most enum needs can be met by customizing :class:`Enum` subclasses, " -"either with class decorators or custom functions, :class:`EnumType` can be " -"subclassed to provide a different Enum experience." -msgstr "" diff --git a/python-newest.howto--free-threading-extensions/id.po b/python-newest.howto--free-threading-extensions/id.po deleted file mode 100644 index 45dcb86..0000000 --- a/python-newest.howto--free-threading-extensions/id.po +++ /dev/null @@ -1,678 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-06-20 06:42+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/free-threading-extensions.rst:7 -msgid "C API Extension Support for Free Threading" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:9 -msgid "" -"Starting with the 3.13 release, CPython has experimental support for running" -" with the :term:`global interpreter lock` (GIL) disabled in a configuration " -"called :term:`free threading`. This document describes how to adapt C API " -"extensions to support free threading." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:16 -msgid "Identifying the Free-Threaded Build in C" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:18 -msgid "" -"The CPython C API exposes the ``Py_GIL_DISABLED`` macro: in the free-" -"threaded build it's defined to ``1``, and in the regular build it's not " -"defined. You can use it to enable code that only runs under the free-" -"threaded build::" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:22 -msgid "" -"#ifdef Py_GIL_DISABLED\n" -"/* code that only runs in the free-threaded build */\n" -"#endif" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:27 -msgid "Module Initialization" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:29 -msgid "" -"Extension modules need to explicitly indicate that they support running with" -" the GIL disabled; otherwise importing the extension will raise a warning " -"and enable the GIL at runtime." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:33 -msgid "" -"There are two ways to indicate that an extension module supports running " -"with the GIL disabled depending on whether the extension uses multi-phase or" -" single-phase initialization." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:38 -msgid "Multi-Phase Initialization" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:40 -msgid "" -"Extensions that use multi-phase initialization (i.e., " -":c:func:`PyModuleDef_Init`) should add a :c:data:`Py_mod_gil` slot in the " -"module definition. If your extension supports older versions of CPython, " -"you should guard the slot with a :c:data:`PY_VERSION_HEX` check." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:47 -msgid "" -"static struct PyModuleDef_Slot module_slots[] = {\n" -" ...\n" -"#if PY_VERSION_HEX >= 0x030D0000\n" -" {Py_mod_gil, Py_MOD_GIL_NOT_USED},\n" -"#endif\n" -" {0, NULL}\n" -"};\n" -"\n" -"static struct PyModuleDef moduledef = {\n" -" PyModuleDef_HEAD_INIT,\n" -" .m_slots = module_slots,\n" -" ...\n" -"};" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:63 -msgid "Single-Phase Initialization" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:65 -msgid "" -"Extensions that use single-phase initialization (i.e., " -":c:func:`PyModule_Create`) should call :c:func:`PyUnstable_Module_SetGIL` to" -" indicate that they support running with the GIL disabled. The function is " -"only defined in the free-threaded build, so you should guard the call with " -"``#ifdef Py_GIL_DISABLED`` to avoid compilation errors in the regular build." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:73 -msgid "" -"static struct PyModuleDef moduledef = {\n" -" PyModuleDef_HEAD_INIT,\n" -" ...\n" -"};\n" -"\n" -"PyMODINIT_FUNC\n" -"PyInit_mymodule(void)\n" -"{\n" -" PyObject *m = PyModule_Create(&moduledef);\n" -" if (m == NULL) {\n" -" return NULL;\n" -" }\n" -"#ifdef Py_GIL_DISABLED\n" -" PyUnstable_Module_SetGIL(m, Py_MOD_GIL_NOT_USED);\n" -"#endif\n" -" return m;\n" -"}" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:93 -msgid "General API Guidelines" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:95 -msgid "Most of the C API is thread-safe, but there are some exceptions." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:97 -msgid "" -"**Struct Fields**: Accessing fields in Python C API objects or structs " -"directly is not thread-safe if the field may be concurrently modified." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:99 -msgid "" -"**Macros**: Accessor macros like :c:macro:`PyList_GET_ITEM`, " -":c:macro:`PyList_SET_ITEM`, and macros like " -":c:macro:`PySequence_Fast_GET_SIZE` that use the object returned by " -":c:func:`PySequence_Fast` do not perform any error checking or locking. " -"These macros are not thread-safe if the container object may be modified " -"concurrently." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:105 -msgid "" -"**Borrowed References**: C API functions that return :term:`borrowed " -"references ` may not be thread-safe if the containing " -"object is modified concurrently. See the section on :ref:`borrowed " -"references ` for more information." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:112 -msgid "Container Thread Safety" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:114 -msgid "" -"Containers like :c:struct:`PyListObject`, :c:struct:`PyDictObject`, and " -":c:struct:`PySetObject` perform internal locking in the free-threaded build." -" For example, the :c:func:`PyList_Append` will lock the list before " -"appending an item." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:122 -msgid "``PyDict_Next``" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:124 -msgid "" -"A notable exception is :c:func:`PyDict_Next`, which does not lock the " -"dictionary. You should use :c:macro:`Py_BEGIN_CRITICAL_SECTION` to protect " -"the dictionary while iterating over it if the dictionary may be concurrently" -" modified::" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:129 -msgid "" -"Py_BEGIN_CRITICAL_SECTION(dict);\n" -"PyObject *key, *value;\n" -"Py_ssize_t pos = 0;\n" -"while (PyDict_Next(dict, &pos, &key, &value)) {\n" -" ...\n" -"}\n" -"Py_END_CRITICAL_SECTION();" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:139 -msgid "Borrowed References" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:143 -msgid "" -"Some C API functions return :term:`borrowed references `. These APIs are not thread-safe if the containing object is " -"modified concurrently. For example, it's not safe to use " -":c:func:`PyList_GetItem` if the list may be modified concurrently." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:148 -msgid "" -"The following table lists some borrowed reference APIs and their " -"replacements that return :term:`strong references `." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:152 -msgid "Borrowed reference API" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:152 -msgid "Strong reference API" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:154 -msgid ":c:func:`PyList_GetItem`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:154 -msgid ":c:func:`PyList_GetItemRef`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:156 -msgid ":c:func:`PyDict_GetItem`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:156 -#: ../../howto/free-threading-extensions.rst:158 -msgid ":c:func:`PyDict_GetItemRef`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:158 -msgid ":c:func:`PyDict_GetItemWithError`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:160 -msgid ":c:func:`PyDict_GetItemString`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:160 -msgid ":c:func:`PyDict_GetItemStringRef`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:162 -msgid ":c:func:`PyDict_SetDefault`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:162 -msgid ":c:func:`PyDict_SetDefaultRef`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:164 -msgid ":c:func:`PyDict_Next`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:164 -msgid "none (see :ref:`PyDict_Next`)" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:166 -msgid ":c:func:`PyWeakref_GetObject`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:166 -#: ../../howto/free-threading-extensions.rst:168 -msgid ":c:func:`PyWeakref_GetRef`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:168 -msgid ":c:func:`PyWeakref_GET_OBJECT`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:170 -msgid ":c:func:`PyImport_AddModule`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:170 -msgid ":c:func:`PyImport_AddModuleRef`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:172 -msgid ":c:func:`PyCell_GET`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:172 -msgid ":c:func:`PyCell_Get`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:175 -msgid "" -"Not all APIs that return borrowed references are problematic. For example, " -":c:func:`PyTuple_GetItem` is safe because tuples are immutable. Similarly, " -"not all uses of the above APIs are problematic. For example, " -":c:func:`PyDict_GetItem` is often used for parsing keyword argument " -"dictionaries in function calls; those keyword argument dictionaries are " -"effectively private (not accessible by other threads), so using borrowed " -"references in that context is safe." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:183 -msgid "" -"Some of these functions were added in Python 3.13. You can use the " -"`pythoncapi-compat `_ package " -"to provide implementations of these functions for older Python versions." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:191 -msgid "Memory Allocation APIs" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:193 -msgid "" -"Python's memory management C API provides functions in three different " -":ref:`allocation domains `: \"raw\", \"mem\", and " -"\"object\". For thread-safety, the free-threaded build requires that only " -"Python objects are allocated using the object domain, and that all Python " -"object are allocated using that domain. This differs from the prior Python " -"versions, where this was only a best practice and not a hard requirement." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:202 -msgid "" -"Search for uses of :c:func:`PyObject_Malloc` in your extension and check " -"that the allocated memory is used for Python objects. Use " -":c:func:`PyMem_Malloc` to allocate buffers instead of " -":c:func:`PyObject_Malloc`." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:209 -msgid "Thread State and GIL APIs" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:211 -msgid "" -"Python provides a set of functions and macros to manage thread state and the" -" GIL, such as:" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:214 -msgid ":c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:215 -msgid ":c:func:`PyEval_SaveThread` and :c:func:`PyEval_RestoreThread`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:216 -msgid ":c:macro:`Py_BEGIN_ALLOW_THREADS` and :c:macro:`Py_END_ALLOW_THREADS`" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:218 -msgid "" -"These functions should still be used in the free-threaded build to manage " -"thread state even when the :term:`GIL` is disabled. For example, if you " -"create a thread outside of Python, you must call :c:func:`PyGILState_Ensure`" -" before calling into the Python API to ensure that the thread has a valid " -"Python thread state." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:224 -msgid "" -"You should continue to call :c:func:`PyEval_SaveThread` or " -":c:macro:`Py_BEGIN_ALLOW_THREADS` around blocking operations, such as I/O or" -" lock acquisitions, to allow other threads to run the :term:`cyclic garbage " -"collector `." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:231 -msgid "Protecting Internal Extension State" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:233 -msgid "" -"Your extension may have internal state that was previously protected by the " -"GIL. You may need to add locking to protect this state. The approach will " -"depend on your extension, but some common patterns include:" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:237 -msgid "" -"**Caches**: global caches are a common source of shared state. Consider " -"using a lock to protect the cache or disabling it in the free-threaded build" -" if the cache is not critical for performance." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:240 -msgid "" -"**Global State**: global state may need to be protected by a lock or moved " -"to thread local storage. C11 and C++11 provide the ``thread_local`` or " -"``_Thread_local`` for `thread-local storage " -"`_." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:247 -msgid "Critical Sections" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:251 -msgid "" -"In the free-threaded build, CPython provides a mechanism called \"critical " -"sections\" to protect data that would otherwise be protected by the GIL. " -"While extension authors may not interact with the internal critical section " -"implementation directly, understanding their behavior is crucial when using " -"certain C API functions or managing shared state in the free-threaded build." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:258 -msgid "What Are Critical Sections?" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:260 -msgid "" -"Conceptually, critical sections act as a deadlock avoidance layer built on " -"top of simple mutexes. Each thread maintains a stack of active critical " -"sections. When a thread needs to acquire a lock associated with a critical " -"section (e.g., implicitly when calling a thread-safe C API function like " -":c:func:`PyDict_SetItem`, or explicitly using macros), it attempts to " -"acquire the underlying mutex." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:268 -msgid "Using Critical Sections" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:270 -msgid "The primary APIs for using critical sections are:" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:272 -msgid "" -":c:macro:`Py_BEGIN_CRITICAL_SECTION` and :c:macro:`Py_END_CRITICAL_SECTION` " -"- For locking a single object" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:275 -msgid "" -":c:macro:`Py_BEGIN_CRITICAL_SECTION2` and " -":c:macro:`Py_END_CRITICAL_SECTION2` - For locking two objects simultaneously" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:278 -msgid "" -"These macros must be used in matching pairs and must appear in the same C " -"scope, since they establish a new local scope. These macros are no-ops in " -"non-free-threaded builds, so they can be safely added to code that needs to " -"support both build types." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:283 -msgid "" -"A common use of a critical section would be to lock an object while " -"accessing an internal attribute of it. For example, if an extension type " -"has an internal count field, you could use a critical section while reading " -"or writing that field::" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:288 -msgid "" -"// read the count, returns new reference to internal count value\n" -"PyObject *result;\n" -"Py_BEGIN_CRITICAL_SECTION(obj);\n" -"result = Py_NewRef(obj->count);\n" -"Py_END_CRITICAL_SECTION();\n" -"return result;\n" -"\n" -"// write the count, consumes reference from new_count\n" -"Py_BEGIN_CRITICAL_SECTION(obj);\n" -"obj->count = new_count;\n" -"Py_END_CRITICAL_SECTION();" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:302 -msgid "How Critical Sections Work" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:304 -msgid "" -"Unlike traditional locks, critical sections do not guarantee exclusive " -"access throughout their entire duration. If a thread would block while " -"holding a critical section (e.g., by acquiring another lock or performing " -"I/O), the critical section is temporarily suspended—all locks are " -"released—and then resumed when the blocking operation completes." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:310 -msgid "" -"This behavior is similar to what happens with the GIL when a thread makes a " -"blocking call. The key differences are:" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:313 -msgid "Critical sections operate on a per-object basis rather than globally" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:315 -msgid "" -"Critical sections follow a stack discipline within each thread (the " -"\"begin\" and \"end\" macros enforce this since they must be paired and " -"within the same scope)" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:318 -msgid "" -"Critical sections automatically release and reacquire locks around potential" -" blocking operations" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:322 -msgid "Deadlock Avoidance" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:324 -msgid "Critical sections help avoid deadlocks in two ways:" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:326 -msgid "" -"If a thread tries to acquire a lock that's already held by another thread, " -"it first suspends all of its active critical sections, temporarily releasing" -" their locks" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:330 -msgid "" -"When the blocking operation completes, only the top-most critical section is" -" reacquired first" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:333 -msgid "" -"This means you cannot rely on nested critical sections to lock multiple " -"objects at once, as the inner critical section may suspend the outer ones. " -"Instead, use :c:macro:`Py_BEGIN_CRITICAL_SECTION2` to lock two objects " -"simultaneously." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:337 -msgid "" -"Note that the locks described above are only :c:type:`!PyMutex` based locks." -" The critical section implementation does not know about or affect other " -"locking mechanisms that might be in use, like POSIX mutexes. Also note that" -" while blocking on any :c:type:`!PyMutex` causes the critical sections to be" -" suspended, only the mutexes that are part of the critical sections are " -"released. If :c:type:`!PyMutex` is used without a critical section, it will" -" not be released and therefore does not get the same deadlock avoidance." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:346 -msgid "Important Considerations" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:348 -msgid "" -"Critical sections may temporarily release their locks, allowing other " -"threads to modify the protected data. Be careful about making assumptions " -"about the state of the data after operations that might block." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:352 -msgid "" -"Because locks can be temporarily released (suspended), entering a critical " -"section does not guarantee exclusive access to the protected resource " -"throughout the section's duration. If code within a critical section calls " -"another function that blocks (e.g., acquires another lock, performs blocking" -" I/O), all locks held by the thread via critical sections will be released. " -"This is similar to how the GIL can be released during blocking calls." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:359 -msgid "" -"Only the lock(s) associated with the most recently entered (top-most) " -"critical section are guaranteed to be held at any given time. Locks for " -"outer, nested critical sections might have been suspended." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:363 -msgid "" -"You can lock at most two objects simultaneously with these APIs. If you need" -" to lock more objects, you'll need to restructure your code." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:366 -msgid "" -"While critical sections will not deadlock if you attempt to lock the same " -"object twice, they are less efficient than purpose-built reentrant locks for" -" this use case." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:370 -msgid "" -"When using :c:macro:`Py_BEGIN_CRITICAL_SECTION2`, the order of the objects " -"doesn't affect correctness (the implementation handles deadlock avoidance), " -"but it's good practice to always lock objects in a consistent order." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:374 -msgid "" -"Remember that the critical section macros are primarily for protecting " -"access to *Python objects* that might be involved in internal CPython " -"operations susceptible to the deadlock scenarios described above. For " -"protecting purely internal extension state, standard mutexes or other " -"synchronization primitives might be more appropriate." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:382 -msgid "Building Extensions for the Free-Threaded Build" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:384 -msgid "" -"C API extensions need to be built specifically for the free-threaded build. " -"The wheels, shared libraries, and binaries are indicated by a ``t`` suffix." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:387 -msgid "" -"`pypa/manylinux `_ supports the free-" -"threaded build, with the ``t`` suffix, such as ``python3.13t``." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:389 -msgid "" -"`pypa/cibuildwheel `_ supports the " -"free-threaded build if you set `CIBW_FREE_THREADED_SUPPORT " -"`_." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:394 -msgid "Limited C API and Stable ABI" -msgstr "" - -#: ../../howto/free-threading-extensions.rst:396 -msgid "" -"The free-threaded build does not currently support the :ref:`Limited C API " -"` or the stable ABI. If you use `setuptools " -"`_ to build your " -"extension and currently set ``py_limited_api=True`` you can use " -"``py_limited_api=not sysconfig.get_config_var(\"Py_GIL_DISABLED\")`` to opt " -"out of the limited API when building with the free-threaded build." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:404 -msgid "" -"You will need to build separate wheels specifically for the free-threaded " -"build. If you currently use the stable ABI, you can continue to build a " -"single wheel for multiple non-free-threaded Python versions." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:410 -msgid "Windows" -msgstr "Windows" - -#: ../../howto/free-threading-extensions.rst:412 -msgid "" -"Due to a limitation of the official Windows installer, you will need to " -"manually define ``Py_GIL_DISABLED=1`` when building extensions from source." -msgstr "" - -#: ../../howto/free-threading-extensions.rst:417 -msgid "" -"`Porting Extension Modules to Support Free-Threading `_: A community-maintained porting guide for " -"extension authors." -msgstr "" diff --git a/python-newest.howto--free-threading-python/id.po b/python-newest.howto--free-threading-python/id.po deleted file mode 100644 index 242cf0d..0000000 --- a/python-newest.howto--free-threading-python/id.po +++ /dev/null @@ -1,301 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-10-04 14:19+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/free-threading-python.rst:5 -msgid "Python experimental support for free threading" -msgstr "" - -#: ../../howto/free-threading-python.rst:7 -msgid "" -"Starting with the 3.13 release, CPython has experimental support for a build" -" of Python called :term:`free threading` where the :term:`global interpreter" -" lock` (GIL) is disabled. Free-threaded execution allows for full " -"utilization of the available processing power by running threads in parallel" -" on available CPU cores. While not all software will benefit from this " -"automatically, programs designed with threading in mind will run faster on " -"multi-core hardware." -msgstr "" - -#: ../../howto/free-threading-python.rst:14 -msgid "" -"**The free-threaded mode is experimental** and work is ongoing to improve " -"it: expect some bugs and a substantial single-threaded performance hit." -msgstr "" - -#: ../../howto/free-threading-python.rst:17 -msgid "" -"This document describes the implications of free threading for Python code." -" See :ref:`freethreading-extensions-howto` for information on how to write " -"C extensions that support the free-threaded build." -msgstr "" - -#: ../../howto/free-threading-python.rst:23 -msgid "" -":pep:`703` – Making the Global Interpreter Lock Optional in CPython for an " -"overall description of free-threaded Python." -msgstr "" - -#: ../../howto/free-threading-python.rst:28 -msgid "Installation" -msgstr "" - -#: ../../howto/free-threading-python.rst:30 -msgid "" -"Starting with Python 3.13, the official macOS and Windows installers " -"optionally support installing free-threaded Python binaries. The installers" -" are available at https://www.python.org/downloads/." -msgstr "" - -#: ../../howto/free-threading-python.rst:34 -msgid "" -"For information on other platforms, see the `Installing a Free-Threaded " -"Python `_, a " -"community-maintained installation guide for installing free-threaded Python." -msgstr "" - -#: ../../howto/free-threading-python.rst:38 -msgid "" -"When building CPython from source, the :option:`--disable-gil` configure " -"option should be used to build a free-threaded Python interpreter." -msgstr "" - -#: ../../howto/free-threading-python.rst:43 -msgid "Identifying free-threaded Python" -msgstr "" - -#: ../../howto/free-threading-python.rst:45 -msgid "" -"To check if the current interpreter supports free-threading, :option:`python" -" -VV <-V>` and :data:`sys.version` contain \"experimental free-threading " -"build\". The new :func:`sys._is_gil_enabled` function can be used to check " -"whether the GIL is actually disabled in the running process." -msgstr "" - -#: ../../howto/free-threading-python.rst:50 -msgid "" -"The ``sysconfig.get_config_var(\"Py_GIL_DISABLED\")`` configuration variable" -" can be used to determine whether the build supports free threading. If the" -" variable is set to ``1``, then the build supports free threading. This is " -"the recommended mechanism for decisions related to the build configuration." -msgstr "" - -#: ../../howto/free-threading-python.rst:57 -msgid "The global interpreter lock in free-threaded Python" -msgstr "" - -#: ../../howto/free-threading-python.rst:59 -msgid "" -"Free-threaded builds of CPython support optionally running with the GIL " -"enabled at runtime using the environment variable :envvar:`PYTHON_GIL` or " -"the command-line option :option:`-X gil`." -msgstr "" - -#: ../../howto/free-threading-python.rst:63 -msgid "" -"The GIL may also automatically be enabled when importing a C-API extension " -"module that is not explicitly marked as supporting free threading. A " -"warning will be printed in this case." -msgstr "" - -#: ../../howto/free-threading-python.rst:67 -msgid "" -"In addition to individual package documentation, the following websites " -"track the status of popular packages support for free threading:" -msgstr "" - -#: ../../howto/free-threading-python.rst:70 -msgid "https://py-free-threading.github.io/tracking/" -msgstr "" - -#: ../../howto/free-threading-python.rst:71 -msgid "https://hugovk.github.io/free-threaded-wheels/" -msgstr "" - -#: ../../howto/free-threading-python.rst:75 -msgid "Thread safety" -msgstr "" - -#: ../../howto/free-threading-python.rst:77 -msgid "" -"The free-threaded build of CPython aims to provide similar thread-safety " -"behavior at the Python level to the default GIL-enabled build. Built-in " -"types like :class:`dict`, :class:`list`, and :class:`set` use internal locks" -" to protect against concurrent modifications in ways that behave similarly " -"to the GIL. However, Python has not historically guaranteed specific " -"behavior for concurrent modifications to these built-in types, so this " -"should be treated as a description of the current implementation, not a " -"guarantee of current or future behavior." -msgstr "" - -#: ../../howto/free-threading-python.rst:88 -msgid "" -"It's recommended to use the :class:`threading.Lock` or other synchronization" -" primitives instead of relying on the internal locks of built-in types, when" -" possible." -msgstr "" - -#: ../../howto/free-threading-python.rst:94 -msgid "Known limitations" -msgstr "" - -#: ../../howto/free-threading-python.rst:96 -msgid "" -"This section describes known limitations of the free-threaded CPython build." -msgstr "" - -#: ../../howto/free-threading-python.rst:99 -msgid "Immortalization" -msgstr "" - -#: ../../howto/free-threading-python.rst:101 -msgid "" -"The free-threaded build of the 3.13 release makes some objects " -":term:`immortal`. Immortal objects are not deallocated and have reference " -"counts that are never modified. This is done to avoid reference count " -"contention that would prevent efficient multi-threaded scaling." -msgstr "" - -#: ../../howto/free-threading-python.rst:106 -msgid "" -"An object will be made immortal when a new thread is started for the first " -"time after the main thread is running. The following objects are " -"immortalized:" -msgstr "" - -#: ../../howto/free-threading-python.rst:109 -msgid "" -":ref:`function ` objects declared at the module level" -msgstr "" - -#: ../../howto/free-threading-python.rst:110 -msgid ":ref:`method ` descriptors" -msgstr "" - -#: ../../howto/free-threading-python.rst:111 -msgid ":ref:`code ` objects" -msgstr "" - -#: ../../howto/free-threading-python.rst:112 -msgid ":term:`module` objects and their dictionaries" -msgstr "" - -#: ../../howto/free-threading-python.rst:113 -msgid ":ref:`classes ` (type objects)" -msgstr "" - -#: ../../howto/free-threading-python.rst:115 -msgid "" -"Because immortal objects are never deallocated, applications that create " -"many objects of these types may see increased memory usage. This is " -"expected to be addressed in the 3.14 release." -msgstr "" - -#: ../../howto/free-threading-python.rst:119 -msgid "" -"Additionally, numeric and string literals in the code as well as strings " -"returned by :func:`sys.intern` are also immortalized. This behavior is " -"expected to remain in the 3.14 free-threaded build." -msgstr "" - -#: ../../howto/free-threading-python.rst:125 -msgid "Frame objects" -msgstr "" - -#: ../../howto/free-threading-python.rst:127 -msgid "" -"It is not safe to access :ref:`frame ` objects from other " -"threads and doing so may cause your program to crash . This means that " -":func:`sys._current_frames` is generally not safe to use in a free-threaded " -"build. Functions like :func:`inspect.currentframe` and " -":func:`sys._getframe` are generally safe as long as the resulting frame " -"object is not passed to another thread." -msgstr "" - -#: ../../howto/free-threading-python.rst:135 -msgid "Iterators" -msgstr "*Iterators*" - -#: ../../howto/free-threading-python.rst:137 -msgid "" -"Sharing the same iterator object between multiple threads is generally not " -"safe and threads may see duplicate or missing elements when iterating or " -"crash the interpreter." -msgstr "" - -#: ../../howto/free-threading-python.rst:143 -msgid "Single-threaded performance" -msgstr "" - -#: ../../howto/free-threading-python.rst:145 -msgid "" -"The free-threaded build has additional overhead when executing Python code " -"compared to the default GIL-enabled build. In 3.13, this overhead is about " -"40% on the `pyperformance `_ suite. " -"Programs that spend most of their time in C extensions or I/O will see less " -"of an impact. The largest impact is because the specializing adaptive " -"interpreter (:pep:`659`) is disabled in the free-threaded build. We expect " -"to re-enable it in a thread-safe way in the 3.14 release. This overhead is " -"expected to be reduced in upcoming Python release. We are aiming for an " -"overhead of 10% or less on the pyperformance suite compared to the default " -"GIL-enabled build." -msgstr "" - -#: ../../howto/free-threading-python.rst:158 -msgid "Behavioral changes" -msgstr "" - -#: ../../howto/free-threading-python.rst:160 -msgid "" -"This section describes CPython behavioural changes with the free-threaded " -"build." -msgstr "" - -#: ../../howto/free-threading-python.rst:165 -msgid "Context variables" -msgstr "" - -#: ../../howto/free-threading-python.rst:167 -msgid "" -"In the free-threaded build, the flag " -":data:`~sys.flags.thread_inherit_context` is set to true by default which " -"causes threads created with :class:`threading.Thread` to start with a copy " -"of the :class:`~contextvars.Context()` of the caller of " -":meth:`~threading.Thread.start`. In the default GIL-enabled build, the flag" -" defaults to false so threads start with an empty " -":class:`~contextvars.Context()`." -msgstr "" - -#: ../../howto/free-threading-python.rst:177 -msgid "Warning filters" -msgstr "" - -#: ../../howto/free-threading-python.rst:179 -msgid "" -"In the free-threaded build, the flag " -":data:`~sys.flags.context_aware_warnings` is set to true by default. In the" -" default GIL-enabled build, the flag defaults to false. If the flag is true" -" then the :class:`warnings.catch_warnings` context manager uses a context " -"variable for warning filters. If the flag is false then " -":class:`~warnings.catch_warnings` modifies the global filters list, which is" -" not thread-safe. See the :mod:`warnings` module for more details." -msgstr "" diff --git a/python-newest.howto--functional/id.po b/python-newest.howto--functional/id.po deleted file mode 100644 index 952c6b2..0000000 --- a/python-newest.howto--functional/id.po +++ /dev/null @@ -1,1854 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# Akhmat Safrudin , 2021 -# Helen Febriani , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Helen Febriani , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/functional.rst:5 -msgid "Functional Programming HOWTO" -msgstr "Pemrograman Fungsional HOWTO" - -#: ../../howto/functional.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../howto/functional.rst:7 -msgid "A. M. Kuchling" -msgstr "A. M. Kuchling" - -#: ../../howto/functional.rst:0 -msgid "Release" -msgstr "Rilis" - -#: ../../howto/functional.rst:8 -msgid "0.32" -msgstr "0.32" - -#: ../../howto/functional.rst:10 -msgid "" -"In this document, we'll take a tour of Python's features suitable for " -"implementing programs in a functional style. After an introduction to the " -"concepts of functional programming, we'll look at language features such as " -":term:`iterator`\\s and :term:`generator`\\s and relevant library modules " -"such as :mod:`itertools` and :mod:`functools`." -msgstr "" -"Dalam dokumen ini, kita akan membahas fitur Python yang cocok untuk " -"menerapkan program dalam gaya fungsional. Setelah pengenalan konsep " -"pemrograman fungsional, kita akan membahas fitur bahasa seperti " -":term:`iterator`\\s dan :term:`generator`\\s dan modul library seperti " -":mod:`itertools` dan :mod:`functools`." - -#: ../../howto/functional.rst:18 -msgid "Introduction" -msgstr "Pengantar" - -#: ../../howto/functional.rst:20 -msgid "" -"This section explains the basic concept of functional programming; if you're" -" just interested in learning about Python language features, skip to the " -"next section on :ref:`functional-howto-iterators`." -msgstr "" - -#: ../../howto/functional.rst:24 -msgid "" -"Programming languages support decomposing problems in several different " -"ways:" -msgstr "" -"Bahasa pemrograman mendukung pemecahan masalah dalam beberapa cara berbeda :" - -#: ../../howto/functional.rst:26 -msgid "" -"Most programming languages are **procedural**: programs are lists of " -"instructions that tell the computer what to do with the program's input. C," -" Pascal, and even Unix shells are procedural languages." -msgstr "" -"Kebanyakan bahasa pemrograman adalah **procedural**: Program merupakan " -"daftar instruksi yang memberitahukan kepada komputer apa yang harus " -"dilakukan dengan masukan program. C, Pascal dan bahkan Unix shells merupakan" -" bahasa prosedural." - -#: ../../howto/functional.rst:30 -msgid "" -"In **declarative** languages, you write a specification that describes the " -"problem to be solved, and the language implementation figures out how to " -"perform the computation efficiently. SQL is the declarative language you're" -" most likely to be familiar with; a SQL query describes the data set you " -"want to retrieve, and the SQL engine decides whether to scan tables or use " -"indexes, which subclauses should be performed first, etc." -msgstr "" - -#: ../../howto/functional.rst:37 -msgid "" -"**Object-oriented** programs manipulate collections of objects. Objects " -"have internal state and support methods that query or modify this internal " -"state in some way. Smalltalk and Java are object-oriented languages. C++ " -"and Python are languages that support object-oriented programming, but don't" -" force the use of object-oriented features." -msgstr "" - -#: ../../howto/functional.rst:43 -msgid "" -"**Functional** programming decomposes a problem into a set of functions. " -"Ideally, functions only take inputs and produce outputs, and don't have any " -"internal state that affects the output produced for a given input. Well-" -"known functional languages include the ML family (Standard ML, OCaml, and " -"other variants) and Haskell." -msgstr "" - -#: ../../howto/functional.rst:49 -msgid "" -"The designers of some computer languages choose to emphasize one particular " -"approach to programming. This often makes it difficult to write programs " -"that use a different approach. Other languages are multi-paradigm languages" -" that support several different approaches. Lisp, C++, and Python are multi-" -"paradigm; you can write programs or libraries that are largely procedural, " -"object-oriented, or functional in all of these languages. In a large " -"program, different sections might be written using different approaches; the" -" GUI might be object-oriented while the processing logic is procedural or " -"functional, for example." -msgstr "" - -#: ../../howto/functional.rst:60 -msgid "" -"In a functional program, input flows through a set of functions. Each " -"function operates on its input and produces some output. Functional style " -"discourages functions with side effects that modify internal state or make " -"other changes that aren't visible in the function's return value. Functions" -" that have no side effects at all are called **purely functional**. " -"Avoiding side effects means not using data structures that get updated as a " -"program runs; every function's output must only depend on its input." -msgstr "" - -#: ../../howto/functional.rst:68 -msgid "" -"Some languages are very strict about purity and don't even have assignment " -"statements such as ``a=3`` or ``c = a + b``, but it's difficult to avoid all" -" side effects, such as printing to the screen or writing to a disk file. " -"Another example is a call to the :func:`print` or :func:`time.sleep` " -"function, neither of which returns a useful value. Both are called only for " -"their side effects of sending some text to the screen or pausing execution " -"for a second." -msgstr "" - -#: ../../howto/functional.rst:75 -msgid "" -"Python programs written in functional style usually won't go to the extreme " -"of avoiding all I/O or all assignments; instead, they'll provide a " -"functional-appearing interface but will use non-functional features " -"internally. For example, the implementation of a function will still use " -"assignments to local variables, but won't modify global variables or have " -"other side effects." -msgstr "" - -#: ../../howto/functional.rst:81 -msgid "" -"Functional programming can be considered the opposite of object-oriented " -"programming. Objects are little capsules containing some internal state " -"along with a collection of method calls that let you modify this state, and " -"programs consist of making the right set of state changes. Functional " -"programming wants to avoid state changes as much as possible and works with " -"data flowing between functions. In Python you might combine the two " -"approaches by writing functions that take and return instances representing " -"objects in your application (e-mail messages, transactions, etc.)." -msgstr "" - -#: ../../howto/functional.rst:90 -msgid "" -"Functional design may seem like an odd constraint to work under. Why should" -" you avoid objects and side effects? There are theoretical and practical " -"advantages to the functional style:" -msgstr "" - -#: ../../howto/functional.rst:94 -msgid "Formal provability." -msgstr "" - -#: ../../howto/functional.rst:95 -msgid "Modularity." -msgstr "" - -#: ../../howto/functional.rst:96 -msgid "Composability." -msgstr "" - -#: ../../howto/functional.rst:97 -msgid "Ease of debugging and testing." -msgstr "Memudahkan dalam debugging dan testing." - -#: ../../howto/functional.rst:101 -msgid "Formal provability" -msgstr "" - -#: ../../howto/functional.rst:103 -msgid "" -"A theoretical benefit is that it's easier to construct a mathematical proof " -"that a functional program is correct." -msgstr "" - -#: ../../howto/functional.rst:106 -msgid "" -"For a long time researchers have been interested in finding ways to " -"mathematically prove programs correct. This is different from testing a " -"program on numerous inputs and concluding that its output is usually " -"correct, or reading a program's source code and concluding that the code " -"looks right; the goal is instead a rigorous proof that a program produces " -"the right result for all possible inputs." -msgstr "" - -#: ../../howto/functional.rst:113 -msgid "" -"The technique used to prove programs correct is to write down " -"**invariants**, properties of the input data and of the program's variables " -"that are always true. For each line of code, you then show that if " -"invariants X and Y are true **before** the line is executed, the slightly " -"different invariants X' and Y' are true **after** the line is executed. " -"This continues until you reach the end of the program, at which point the " -"invariants should match the desired conditions on the program's output." -msgstr "" - -#: ../../howto/functional.rst:121 -msgid "" -"Functional programming's avoidance of assignments arose because assignments " -"are difficult to handle with this technique; assignments can break " -"invariants that were true before the assignment without producing any new " -"invariants that can be propagated onward." -msgstr "" - -#: ../../howto/functional.rst:126 -msgid "" -"Unfortunately, proving programs correct is largely impractical and not " -"relevant to Python software. Even trivial programs require proofs that are " -"several pages long; the proof of correctness for a moderately complicated " -"program would be enormous, and few or none of the programs you use daily " -"(the Python interpreter, your XML parser, your web browser) could be proven " -"correct. Even if you wrote down or generated a proof, there would then be " -"the question of verifying the proof; maybe there's an error in it, and you " -"wrongly believe you've proved the program correct." -msgstr "" - -#: ../../howto/functional.rst:137 -msgid "Modularity" -msgstr "" - -#: ../../howto/functional.rst:139 -msgid "" -"A more practical benefit of functional programming is that it forces you to " -"break apart your problem into small pieces. Programs are more modular as a " -"result. It's easier to specify and write a small function that does one " -"thing than a large function that performs a complicated transformation. " -"Small functions are also easier to read and to check for errors." -msgstr "" - -#: ../../howto/functional.rst:147 -msgid "Ease of debugging and testing" -msgstr "" - -#: ../../howto/functional.rst:149 -msgid "Testing and debugging a functional-style program is easier." -msgstr "" - -#: ../../howto/functional.rst:151 -msgid "" -"Debugging is simplified because functions are generally small and clearly " -"specified. When a program doesn't work, each function is an interface point" -" where you can check that the data are correct. You can look at the " -"intermediate inputs and outputs to quickly isolate the function that's " -"responsible for a bug." -msgstr "" - -#: ../../howto/functional.rst:156 -msgid "" -"Testing is easier because each function is a potential subject for a unit " -"test. Functions don't depend on system state that needs to be replicated " -"before running a test; instead you only have to synthesize the right input " -"and then check that the output matches expectations." -msgstr "" - -#: ../../howto/functional.rst:163 -msgid "Composability" -msgstr "" - -#: ../../howto/functional.rst:165 -msgid "" -"As you work on a functional-style program, you'll write a number of " -"functions with varying inputs and outputs. Some of these functions will be " -"unavoidably specialized to a particular application, but others will be " -"useful in a wide variety of programs. For example, a function that takes a " -"directory path and returns all the XML files in the directory, or a function" -" that takes a filename and returns its contents, can be applied to many " -"different situations." -msgstr "" - -#: ../../howto/functional.rst:172 -msgid "" -"Over time you'll form a personal library of utilities. Often you'll " -"assemble new programs by arranging existing functions in a new configuration" -" and writing a few functions specialized for the current task." -msgstr "" - -#: ../../howto/functional.rst:180 -msgid "Iterators" -msgstr "*Iterators*" - -#: ../../howto/functional.rst:182 -msgid "" -"I'll start by looking at a Python language feature that's an important " -"foundation for writing functional-style programs: iterators." -msgstr "" - -#: ../../howto/functional.rst:185 -msgid "" -"An iterator is an object representing a stream of data; this object returns " -"the data one element at a time. A Python iterator must support a method " -"called :meth:`~iterator.__next__` that takes no arguments and always returns" -" the next element of the stream. If there are no more elements in the " -"stream, :meth:`~iterator.__next__` must raise the :exc:`StopIteration` " -"exception. Iterators don't have to be finite, though; it's perfectly " -"reasonable to write an iterator that produces an infinite stream of data." -msgstr "" - -#: ../../howto/functional.rst:193 -msgid "" -"The built-in :func:`iter` function takes an arbitrary object and tries to " -"return an iterator that will return the object's contents or elements, " -"raising :exc:`TypeError` if the object doesn't support iteration. Several " -"of Python's built-in data types support iteration, the most common being " -"lists and dictionaries. An object is called :term:`iterable` if you can get" -" an iterator for it." -msgstr "" - -#: ../../howto/functional.rst:200 -msgid "You can experiment with the iteration interface manually:" -msgstr "" - -#: ../../howto/functional.rst:218 -msgid "" -"Python expects iterable objects in several different contexts, the most " -"important being the :keyword:`for` statement. In the statement ``for X in " -"Y``, Y must be an iterator or some object for which :func:`iter` can create " -"an iterator. These two statements are equivalent::" -msgstr "" - -#: ../../howto/functional.rst:224 -msgid "" -"for i in iter(obj):\n" -" print(i)\n" -"\n" -"for i in obj:\n" -" print(i)" -msgstr "" - -#: ../../howto/functional.rst:230 -msgid "" -"Iterators can be materialized as lists or tuples by using the :func:`list` " -"or :func:`tuple` constructor functions:" -msgstr "" - -#: ../../howto/functional.rst:239 -msgid "" -"Sequence unpacking also supports iterators: if you know an iterator will " -"return N elements, you can unpack them into an N-tuple:" -msgstr "" - -#: ../../howto/functional.rst:248 -msgid "" -"Built-in functions such as :func:`max` and :func:`min` can take a single " -"iterator argument and will return the largest or smallest element. The " -"``\"in\"`` and ``\"not in\"`` operators also support iterators: ``X in " -"iterator`` is true if X is found in the stream returned by the iterator. " -"You'll run into obvious problems if the iterator is infinite; :func:`max`, " -":func:`min` will never return, and if the element X never appears in the " -"stream, the ``\"in\"`` and ``\"not in\"`` operators won't return either." -msgstr "" - -#: ../../howto/functional.rst:256 -msgid "" -"Note that you can only go forward in an iterator; there's no way to get the " -"previous element, reset the iterator, or make a copy of it. Iterator " -"objects can optionally provide these additional capabilities, but the " -"iterator protocol only specifies the :meth:`~iterator.__next__` method. " -"Functions may therefore consume all of the iterator's output, and if you " -"need to do something different with the same stream, you'll have to create a" -" new iterator." -msgstr "" - -#: ../../howto/functional.rst:266 -msgid "Data Types That Support Iterators" -msgstr "" - -#: ../../howto/functional.rst:268 -msgid "" -"We've already seen how lists and tuples support iterators. In fact, any " -"Python sequence type, such as strings, will automatically support creation " -"of an iterator." -msgstr "" - -#: ../../howto/functional.rst:272 -msgid "" -"Calling :func:`iter` on a dictionary returns an iterator that will loop over" -" the dictionary's keys::" -msgstr "" - -#: ../../howto/functional.rst:275 -msgid "" -">>> m = {'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4, 'May': 5, 'Jun': 6,\n" -"... 'Jul': 7, 'Aug': 8, 'Sep': 9, 'Oct': 10, 'Nov': 11, 'Dec': 12}\n" -">>> for key in m:\n" -"... print(key, m[key])\n" -"Jan 1\n" -"Feb 2\n" -"Mar 3\n" -"Apr 4\n" -"May 5\n" -"Jun 6\n" -"Jul 7\n" -"Aug 8\n" -"Sep 9\n" -"Oct 10\n" -"Nov 11\n" -"Dec 12" -msgstr "" - -#: ../../howto/functional.rst:292 -msgid "" -"Note that starting with Python 3.7, dictionary iteration order is guaranteed" -" to be the same as the insertion order. In earlier versions, the behaviour " -"was unspecified and could vary between implementations." -msgstr "" - -#: ../../howto/functional.rst:296 -msgid "" -"Applying :func:`iter` to a dictionary always loops over the keys, but " -"dictionaries have methods that return other iterators. If you want to " -"iterate over values or key/value pairs, you can explicitly call the " -":meth:`~dict.values` or :meth:`~dict.items` methods to get an appropriate " -"iterator." -msgstr "" - -#: ../../howto/functional.rst:302 -msgid "" -"The :func:`dict` constructor can accept an iterator that returns a finite " -"stream of ``(key, value)`` tuples:" -msgstr "" - -#: ../../howto/functional.rst:309 -msgid "" -"Files also support iteration by calling the :meth:`~io.TextIOBase.readline` " -"method until there are no more lines in the file. This means you can read " -"each line of a file like this::" -msgstr "" - -#: ../../howto/functional.rst:313 -msgid "" -"for line in file:\n" -" # do something for each line\n" -" ..." -msgstr "" - -#: ../../howto/functional.rst:317 -msgid "" -"Sets can take their contents from an iterable and let you iterate over the " -"set's elements::" -msgstr "" - -#: ../../howto/functional.rst:320 -msgid "" -">>> S = {2, 3, 5, 7, 11, 13}\n" -">>> for i in S:\n" -"... print(i)\n" -"2\n" -"3\n" -"5\n" -"7\n" -"11\n" -"13" -msgstr "" - -#: ../../howto/functional.rst:333 -msgid "Generator expressions and list comprehensions" -msgstr "" - -#: ../../howto/functional.rst:335 -msgid "" -"Two common operations on an iterator's output are 1) performing some " -"operation for every element, 2) selecting a subset of elements that meet " -"some condition. For example, given a list of strings, you might want to " -"strip off trailing whitespace from each line or extract all the strings " -"containing a given substring." -msgstr "" - -#: ../../howto/functional.rst:341 -msgid "" -"List comprehensions and generator expressions (short form: \"listcomps\" and" -" \"genexps\") are a concise notation for such operations, borrowed from the " -"functional programming language Haskell (https://www.haskell.org/). You can" -" strip all the whitespace from a stream of strings with the following code::" -msgstr "" - -#: ../../howto/functional.rst:346 -msgid "" -">>> line_list = [' line 1\\n', 'line 2 \\n', ' \\n', '']\n" -"\n" -">>> # Generator expression -- returns iterator\n" -">>> stripped_iter = (line.strip() for line in line_list)\n" -"\n" -">>> # List comprehension -- returns list\n" -">>> stripped_list = [line.strip() for line in line_list]" -msgstr "" - -#: ../../howto/functional.rst:354 -msgid "You can select only certain elements by adding an ``\"if\"`` condition::" -msgstr "" - -#: ../../howto/functional.rst:356 -msgid "" -">>> stripped_list = [line.strip() for line in line_list\n" -"... if line != \"\"]" -msgstr "" - -#: ../../howto/functional.rst:359 -msgid "" -"With a list comprehension, you get back a Python list; ``stripped_list`` is " -"a list containing the resulting lines, not an iterator. Generator " -"expressions return an iterator that computes the values as necessary, not " -"needing to materialize all the values at once. This means that list " -"comprehensions aren't useful if you're working with iterators that return an" -" infinite stream or a very large amount of data. Generator expressions are " -"preferable in these situations." -msgstr "" - -#: ../../howto/functional.rst:366 -msgid "" -"Generator expressions are surrounded by parentheses (\"()\") and list " -"comprehensions are surrounded by square brackets (\"[]\"). Generator " -"expressions have the form::" -msgstr "" - -#: ../../howto/functional.rst:370 -msgid "" -"( expression for expr in sequence1\n" -" if condition1\n" -" for expr2 in sequence2\n" -" if condition2\n" -" for expr3 in sequence3\n" -" ...\n" -" if condition3\n" -" for exprN in sequenceN\n" -" if conditionN )" -msgstr "" - -#: ../../howto/functional.rst:380 -msgid "" -"Again, for a list comprehension only the outside brackets are different " -"(square brackets instead of parentheses)." -msgstr "" - -#: ../../howto/functional.rst:383 -msgid "" -"The elements of the generated output will be the successive values of " -"``expression``. The ``if`` clauses are all optional; if present, " -"``expression`` is only evaluated and added to the result when ``condition`` " -"is true." -msgstr "" - -#: ../../howto/functional.rst:387 -msgid "" -"Generator expressions always have to be written inside parentheses, but the " -"parentheses signalling a function call also count. If you want to create an" -" iterator that will be immediately passed to a function you can write::" -msgstr "" - -#: ../../howto/functional.rst:391 -msgid "obj_total = sum(obj.count for obj in list_all_objects())" -msgstr "" - -#: ../../howto/functional.rst:393 -msgid "" -"The ``for...in`` clauses contain the sequences to be iterated over. The " -"sequences do not have to be the same length, because they are iterated over " -"from left to right, **not** in parallel. For each element in ``sequence1``," -" ``sequence2`` is looped over from the beginning. ``sequence3`` is then " -"looped over for each resulting pair of elements from ``sequence1`` and " -"``sequence2``." -msgstr "" - -#: ../../howto/functional.rst:399 -msgid "" -"To put it another way, a list comprehension or generator expression is " -"equivalent to the following Python code::" -msgstr "" - -#: ../../howto/functional.rst:402 -msgid "" -"for expr1 in sequence1:\n" -" if not (condition1):\n" -" continue # Skip this element\n" -" for expr2 in sequence2:\n" -" if not (condition2):\n" -" continue # Skip this element\n" -" ...\n" -" for exprN in sequenceN:\n" -" if not (conditionN):\n" -" continue # Skip this element\n" -"\n" -" # Output the value of\n" -" # the expression." -msgstr "" - -#: ../../howto/functional.rst:416 -msgid "" -"This means that when there are multiple ``for...in`` clauses but no ``if`` " -"clauses, the length of the resulting output will be equal to the product of " -"the lengths of all the sequences. If you have two lists of length 3, the " -"output list is 9 elements long:" -msgstr "" - -#: ../../howto/functional.rst:428 -msgid "" -"To avoid introducing an ambiguity into Python's grammar, if ``expression`` " -"is creating a tuple, it must be surrounded with parentheses. The first list" -" comprehension below is a syntax error, while the second one is correct::" -msgstr "" - -#: ../../howto/functional.rst:432 -msgid "" -"# Syntax error\n" -"[x, y for x in seq1 for y in seq2]\n" -"# Correct\n" -"[(x, y) for x in seq1 for y in seq2]" -msgstr "" - -#: ../../howto/functional.rst:439 -msgid "Generators" -msgstr "Pembangkit *Generator*" - -#: ../../howto/functional.rst:441 -msgid "" -"Generators are a special class of functions that simplify the task of " -"writing iterators. Regular functions compute a value and return it, but " -"generators return an iterator that returns a stream of values." -msgstr "" - -#: ../../howto/functional.rst:445 -msgid "" -"You're doubtless familiar with how regular function calls work in Python or " -"C. When you call a function, it gets a private namespace where its local " -"variables are created. When the function reaches a ``return`` statement, " -"the local variables are destroyed and the value is returned to the caller. " -"A later call to the same function creates a new private namespace and a " -"fresh set of local variables. But, what if the local variables weren't " -"thrown away on exiting a function? What if you could later resume the " -"function where it left off? This is what generators provide; they can be " -"thought of as resumable functions." -msgstr "" - -#: ../../howto/functional.rst:454 -msgid "Here's the simplest example of a generator function:" -msgstr "" - -#: ../../howto/functional.rst:460 -msgid "" -"Any function containing a :keyword:`yield` keyword is a generator function; " -"this is detected by Python's :term:`bytecode` compiler which compiles the " -"function specially as a result." -msgstr "" - -#: ../../howto/functional.rst:464 -msgid "" -"When you call a generator function, it doesn't return a single value; " -"instead it returns a generator object that supports the iterator protocol. " -"On executing the ``yield`` expression, the generator outputs the value of " -"``i``, similar to a ``return`` statement. The big difference between " -"``yield`` and a ``return`` statement is that on reaching a ``yield`` the " -"generator's state of execution is suspended and local variables are " -"preserved. On the next call to the generator's :meth:`~generator.__next__` " -"method, the function will resume executing." -msgstr "" - -#: ../../howto/functional.rst:473 -msgid "Here's a sample usage of the ``generate_ints()`` generator:" -msgstr "" - -#: ../../howto/functional.rst:490 -msgid "" -"You could equally write ``for i in generate_ints(5)``, or ``a, b, c = " -"generate_ints(3)``." -msgstr "" - -#: ../../howto/functional.rst:493 -msgid "" -"Inside a generator function, ``return value`` causes " -"``StopIteration(value)`` to be raised from the :meth:`~generator.__next__` " -"method. Once this happens, or the bottom of the function is reached, the " -"procession of values ends and the generator cannot yield any further values." -msgstr "" - -#: ../../howto/functional.rst:498 -msgid "" -"You could achieve the effect of generators manually by writing your own " -"class and storing all the local variables of the generator as instance " -"variables. For example, returning a list of integers could be done by " -"setting ``self.count`` to 0, and having the :meth:`~iterator.__next__` " -"method increment ``self.count`` and return it. However, for a moderately " -"complicated generator, writing a corresponding class can be much messier." -msgstr "" - -#: ../../howto/functional.rst:506 -msgid "" -"The test suite included with Python's library, " -":source:`Lib/test/test_generators.py`, contains a number of more interesting" -" examples. Here's one generator that implements an in-order traversal of a " -"tree using generators recursively. ::" -msgstr "" - -#: ../../howto/functional.rst:511 -msgid "" -"# A recursive generator that generates Tree leaves in in-order.\n" -"def inorder(t):\n" -" if t:\n" -" for x in inorder(t.left):\n" -" yield x\n" -"\n" -" yield t.label\n" -"\n" -" for x in inorder(t.right):\n" -" yield x" -msgstr "" - -#: ../../howto/functional.rst:522 -msgid "" -"Two other examples in ``test_generators.py`` produce solutions for the " -"N-Queens problem (placing N queens on an NxN chess board so that no queen " -"threatens another) and the Knight's Tour (finding a route that takes a " -"knight to every square of an NxN chessboard without visiting any square " -"twice)." -msgstr "" - -#: ../../howto/functional.rst:530 -msgid "Passing values into a generator" -msgstr "" - -#: ../../howto/functional.rst:532 -msgid "" -"In Python 2.4 and earlier, generators only produced output. Once a " -"generator's code was invoked to create an iterator, there was no way to pass" -" any new information into the function when its execution is resumed. You " -"could hack together this ability by making the generator look at a global " -"variable or by passing in some mutable object that callers then modify, but " -"these approaches are messy." -msgstr "" - -#: ../../howto/functional.rst:539 -msgid "" -"In Python 2.5 there's a simple way to pass values into a generator. " -":keyword:`yield` became an expression, returning a value that can be " -"assigned to a variable or otherwise operated on::" -msgstr "" - -#: ../../howto/functional.rst:543 -msgid "val = (yield i)" -msgstr "" - -#: ../../howto/functional.rst:545 -msgid "" -"I recommend that you **always** put parentheses around a ``yield`` " -"expression when you're doing something with the returned value, as in the " -"above example. The parentheses aren't always necessary, but it's easier to " -"always add them instead of having to remember when they're needed." -msgstr "" - -#: ../../howto/functional.rst:550 -msgid "" -"(:pep:`342` explains the exact rules, which are that a ``yield``-expression " -"must always be parenthesized except when it occurs at the top-level " -"expression on the right-hand side of an assignment. This means you can " -"write ``val = yield i`` but have to use parentheses when there's an " -"operation, as in ``val = (yield i) + 12``.)" -msgstr "" - -#: ../../howto/functional.rst:556 -msgid "" -"Values are sent into a generator by calling its :meth:`send(value) " -"` method. This method resumes the generator's code and the " -"``yield`` expression returns the specified value. If the regular " -":meth:`~generator.__next__` method is called, the ``yield`` returns " -"``None``." -msgstr "" - -#: ../../howto/functional.rst:561 -msgid "" -"Here's a simple counter that increments by 1 and allows changing the value " -"of the internal counter." -msgstr "" - -#: ../../howto/functional.rst:564 -msgid "" -"def counter(maximum):\n" -" i = 0\n" -" while i < maximum:\n" -" val = (yield i)\n" -" # If value provided, change counter\n" -" if val is not None:\n" -" i = val\n" -" else:\n" -" i += 1" -msgstr "" - -#: ../../howto/functional.rst:576 -msgid "And here's an example of changing the counter:" -msgstr "" - -#: ../../howto/functional.rst:593 -msgid "" -"Because ``yield`` will often be returning ``None``, you should always check " -"for this case. Don't just use its value in expressions unless you're sure " -"that the :meth:`~generator.send` method will be the only method used to " -"resume your generator function." -msgstr "" - -#: ../../howto/functional.rst:598 -msgid "" -"In addition to :meth:`~generator.send`, there are two other methods on " -"generators:" -msgstr "" - -#: ../../howto/functional.rst:601 -msgid "" -":meth:`throw(value) ` is used to raise an exception inside " -"the generator; the exception is raised by the ``yield`` expression where the" -" generator's execution is paused." -msgstr "" - -#: ../../howto/functional.rst:605 -msgid "" -":meth:`~generator.close` raises a :exc:`GeneratorExit` exception inside the " -"generator to terminate the iteration. On receiving this exception, the " -"generator's code must either raise :exc:`GeneratorExit` or " -":exc:`StopIteration`; catching the exception and doing anything else is " -"illegal and will trigger a :exc:`RuntimeError`. :meth:`~generator.close` " -"will also be called by Python's garbage collector when the generator is " -"garbage-collected." -msgstr "" - -#: ../../howto/functional.rst:613 -msgid "" -"If you need to run cleanup code when a :exc:`GeneratorExit` occurs, I " -"suggest using a ``try: ... finally:`` suite instead of catching " -":exc:`GeneratorExit`." -msgstr "" - -#: ../../howto/functional.rst:616 -msgid "" -"The cumulative effect of these changes is to turn generators from one-way " -"producers of information into both producers and consumers." -msgstr "" - -#: ../../howto/functional.rst:619 -msgid "" -"Generators also become **coroutines**, a more generalized form of " -"subroutines. Subroutines are entered at one point and exited at another " -"point (the top of the function, and a ``return`` statement), but coroutines " -"can be entered, exited, and resumed at many different points (the ``yield`` " -"statements)." -msgstr "" - -#: ../../howto/functional.rst:626 -msgid "Built-in functions" -msgstr "" - -#: ../../howto/functional.rst:628 -msgid "" -"Let's look in more detail at built-in functions often used with iterators." -msgstr "" - -#: ../../howto/functional.rst:630 -msgid "" -"Two of Python's built-in functions, :func:`map` and :func:`filter` duplicate" -" the features of generator expressions:" -msgstr "" - -#: ../../howto/functional.rst:633 -msgid "" -":func:`map(f, iterA, iterB, ...) ` returns an iterator over the " -"sequence" -msgstr "" - -#: ../../howto/functional.rst:634 -msgid "" -"``f(iterA[0], iterB[0]), f(iterA[1], iterB[1]), f(iterA[2], iterB[2]), " -"...``." -msgstr "" - -#: ../../howto/functional.rst:644 -msgid "You can of course achieve the same effect with a list comprehension." -msgstr "" - -#: ../../howto/functional.rst:646 -msgid "" -":func:`filter(predicate, iter) ` returns an iterator over all the " -"sequence elements that meet a certain condition, and is similarly duplicated" -" by list comprehensions. A **predicate** is a function that returns the " -"truth value of some condition; for use with :func:`filter`, the predicate " -"must take a single value." -msgstr "" - -#: ../../howto/functional.rst:659 -msgid "This can also be written as a list comprehension:" -msgstr "" - -#: ../../howto/functional.rst:665 -msgid "" -":func:`enumerate(iter, start=0) ` counts off the elements in the " -"iterable returning 2-tuples containing the count (from *start*) and each " -"element. ::" -msgstr "" - -#: ../../howto/functional.rst:669 -msgid "" -">>> for item in enumerate(['subject', 'verb', 'object']):\n" -"... print(item)\n" -"(0, 'subject')\n" -"(1, 'verb')\n" -"(2, 'object')" -msgstr "" - -#: ../../howto/functional.rst:675 -msgid "" -":func:`enumerate` is often used when looping through a list and recording " -"the indexes at which certain conditions are met::" -msgstr "" - -#: ../../howto/functional.rst:678 -msgid "" -"f = open('data.txt', 'r')\n" -"for i, line in enumerate(f):\n" -" if line.strip() == '':\n" -" print('Blank line at line #%i' % i)" -msgstr "" - -#: ../../howto/functional.rst:683 -msgid "" -":func:`sorted(iterable, key=None, reverse=False) ` collects all the " -"elements of the iterable into a list, sorts the list, and returns the sorted" -" result. The *key* and *reverse* arguments are passed through to the " -"constructed list's :meth:`~list.sort` method. ::" -msgstr "" - -#: ../../howto/functional.rst:688 -msgid "" -">>> import random\n" -">>> # Generate 8 random numbers between [0, 10000)\n" -">>> rand_list = random.sample(range(10000), 8)\n" -">>> rand_list\n" -"[769, 7953, 9828, 6431, 8442, 9878, 6213, 2207]\n" -">>> sorted(rand_list)\n" -"[769, 2207, 6213, 6431, 7953, 8442, 9828, 9878]\n" -">>> sorted(rand_list, reverse=True)\n" -"[9878, 9828, 8442, 7953, 6431, 6213, 2207, 769]" -msgstr "" - -#: ../../howto/functional.rst:698 -msgid "" -"(For a more detailed discussion of sorting, see the :ref:`sortinghowto`.)" -msgstr "" - -#: ../../howto/functional.rst:701 -msgid "" -"The :func:`any(iter) ` and :func:`all(iter) ` built-ins look at " -"the truth values of an iterable's contents. :func:`any` returns ``True`` if" -" any element in the iterable is a true value, and :func:`all` returns " -"``True`` if all of the elements are true values:" -msgstr "" - -#: ../../howto/functional.rst:720 -msgid "" -":func:`zip(iterA, iterB, ...) ` takes one element from each iterable " -"and returns them in a tuple::" -msgstr "" - -#: ../../howto/functional.rst:723 -msgid "" -"zip(['a', 'b', 'c'], (1, 2, 3)) =>\n" -" ('a', 1), ('b', 2), ('c', 3)" -msgstr "" - -#: ../../howto/functional.rst:726 -msgid "" -"It doesn't construct an in-memory list and exhaust all the input iterators " -"before returning; instead tuples are constructed and returned only if " -"they're requested. (The technical term for this behaviour is `lazy " -"evaluation `__.)" -msgstr "" - -#: ../../howto/functional.rst:731 -msgid "" -"This iterator is intended to be used with iterables that are all of the same" -" length. If the iterables are of different lengths, the resulting stream " -"will be the same length as the shortest iterable. ::" -msgstr "" - -#: ../../howto/functional.rst:735 -msgid "" -"zip(['a', 'b'], (1, 2, 3)) =>\n" -" ('a', 1), ('b', 2)" -msgstr "" - -#: ../../howto/functional.rst:738 -msgid "" -"You should avoid doing this, though, because an element may be taken from " -"the longer iterators and discarded. This means you can't go on to use the " -"iterators further because you risk skipping a discarded element." -msgstr "" - -#: ../../howto/functional.rst:744 -msgid "The itertools module" -msgstr "" - -#: ../../howto/functional.rst:746 -msgid "" -"The :mod:`itertools` module contains a number of commonly used iterators as " -"well as functions for combining several iterators. This section will " -"introduce the module's contents by showing small examples." -msgstr "" - -#: ../../howto/functional.rst:750 -msgid "The module's functions fall into a few broad classes:" -msgstr "" - -#: ../../howto/functional.rst:752 -msgid "Functions that create a new iterator based on an existing iterator." -msgstr "" - -#: ../../howto/functional.rst:753 -msgid "Functions for treating an iterator's elements as function arguments." -msgstr "" - -#: ../../howto/functional.rst:754 -msgid "Functions for selecting portions of an iterator's output." -msgstr "" - -#: ../../howto/functional.rst:755 -msgid "A function for grouping an iterator's output." -msgstr "" - -#: ../../howto/functional.rst:758 -msgid "Creating new iterators" -msgstr "" - -#: ../../howto/functional.rst:760 -msgid "" -":func:`itertools.count(start, step) ` returns an infinite " -"stream of evenly spaced values. You can optionally supply the starting " -"number, which defaults to 0, and the interval between numbers, which " -"defaults to 1::" -msgstr "" - -#: ../../howto/functional.rst:764 -msgid "" -"itertools.count() =>\n" -" 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ...\n" -"itertools.count(10) =>\n" -" 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, ...\n" -"itertools.count(10, 5) =>\n" -" 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, ..." -msgstr "" - -#: ../../howto/functional.rst:771 -msgid "" -":func:`itertools.cycle(iter) ` saves a copy of the contents" -" of a provided iterable and returns a new iterator that returns its elements" -" from first to last. The new iterator will repeat these elements " -"infinitely. ::" -msgstr "" - -#: ../../howto/functional.rst:775 -msgid "" -"itertools.cycle([1, 2, 3, 4, 5]) =>\n" -" 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ..." -msgstr "" - -#: ../../howto/functional.rst:778 -msgid "" -":func:`itertools.repeat(elem, [n]) ` returns the provided " -"element *n* times, or returns the element endlessly if *n* is not provided. " -"::" -msgstr "" - -#: ../../howto/functional.rst:781 -msgid "" -"itertools.repeat('abc') =>\n" -" abc, abc, abc, abc, abc, abc, abc, abc, abc, abc, ...\n" -"itertools.repeat('abc', 5) =>\n" -" abc, abc, abc, abc, abc" -msgstr "" - -#: ../../howto/functional.rst:786 -msgid "" -":func:`itertools.chain(iterA, iterB, ...) ` takes an " -"arbitrary number of iterables as input, and returns all the elements of the " -"first iterator, then all the elements of the second, and so on, until all of" -" the iterables have been exhausted. ::" -msgstr "" - -#: ../../howto/functional.rst:791 -msgid "" -"itertools.chain(['a', 'b', 'c'], (1, 2, 3)) =>\n" -" a, b, c, 1, 2, 3" -msgstr "" - -#: ../../howto/functional.rst:794 -msgid "" -":func:`itertools.islice(iter, [start], stop, [step]) ` " -"returns a stream that's a slice of the iterator. With a single *stop* " -"argument, it will return the first *stop* elements. If you supply a " -"starting index, you'll get *stop-start* elements, and if you supply a value " -"for *step*, elements will be skipped accordingly. Unlike Python's string " -"and list slicing, you can't use negative values for *start*, *stop*, or " -"*step*. ::" -msgstr "" - -#: ../../howto/functional.rst:801 -msgid "" -"itertools.islice(range(10), 8) =>\n" -" 0, 1, 2, 3, 4, 5, 6, 7\n" -"itertools.islice(range(10), 2, 8) =>\n" -" 2, 3, 4, 5, 6, 7\n" -"itertools.islice(range(10), 2, 8, 2) =>\n" -" 2, 4, 6" -msgstr "" - -#: ../../howto/functional.rst:808 -msgid "" -":func:`itertools.tee(iter, [n]) ` replicates an iterator; it " -"returns *n* independent iterators that will all return the contents of the " -"source iterator. If you don't supply a value for *n*, the default is 2. " -"Replicating iterators requires saving some of the contents of the source " -"iterator, so this can consume significant memory if the iterator is large " -"and one of the new iterators is consumed more than the others. ::" -msgstr "" - -#: ../../howto/functional.rst:816 -msgid "" -"itertools.tee( itertools.count() ) =>\n" -" iterA, iterB\n" -"\n" -"where iterA ->\n" -" 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ...\n" -"\n" -"and iterB ->\n" -" 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ..." -msgstr "" - -#: ../../howto/functional.rst:827 -msgid "Calling functions on elements" -msgstr "" - -#: ../../howto/functional.rst:829 -msgid "" -"The :mod:`operator` module contains a set of functions corresponding to " -"Python's operators. Some examples are :func:`operator.add(a, b) " -"` (adds two values), :func:`operator.ne(a, b) ` " -"(same as ``a != b``), and :func:`operator.attrgetter('id') " -"` (returns a callable that fetches the ``.id`` " -"attribute)." -msgstr "" - -#: ../../howto/functional.rst:835 -msgid "" -":func:`itertools.starmap(func, iter) ` assumes that the " -"iterable will return a stream of tuples, and calls *func* using these tuples" -" as the arguments::" -msgstr "" - -#: ../../howto/functional.rst:839 -msgid "" -"itertools.starmap(os.path.join,\n" -" [('/bin', 'python'), ('/usr', 'bin', 'java'),\n" -" ('/usr', 'bin', 'perl'), ('/usr', 'bin', 'ruby')])\n" -"=>\n" -" /bin/python, /usr/bin/java, /usr/bin/perl, /usr/bin/ruby" -msgstr "" - -#: ../../howto/functional.rst:847 -msgid "Selecting elements" -msgstr "" - -#: ../../howto/functional.rst:849 -msgid "" -"Another group of functions chooses a subset of an iterator's elements based " -"on a predicate." -msgstr "" - -#: ../../howto/functional.rst:852 -msgid "" -":func:`itertools.filterfalse(predicate, iter) ` is " -"the opposite of :func:`filter`, returning all elements for which the " -"predicate returns false::" -msgstr "" - -#: ../../howto/functional.rst:856 -msgid "" -"itertools.filterfalse(is_even, itertools.count()) =>\n" -" 1, 3, 5, 7, 9, 11, 13, 15, ..." -msgstr "" - -#: ../../howto/functional.rst:859 -msgid "" -":func:`itertools.takewhile(predicate, iter) ` returns " -"elements for as long as the predicate returns true. Once the predicate " -"returns false, the iterator will signal the end of its results. ::" -msgstr "" - -#: ../../howto/functional.rst:863 -msgid "" -"def less_than_10(x):\n" -" return x < 10\n" -"\n" -"itertools.takewhile(less_than_10, itertools.count()) =>\n" -" 0, 1, 2, 3, 4, 5, 6, 7, 8, 9\n" -"\n" -"itertools.takewhile(is_even, itertools.count()) =>\n" -" 0" -msgstr "" - -#: ../../howto/functional.rst:872 -msgid "" -":func:`itertools.dropwhile(predicate, iter) ` discards " -"elements while the predicate returns true, and then returns the rest of the " -"iterable's results. ::" -msgstr "" - -#: ../../howto/functional.rst:876 -msgid "" -"itertools.dropwhile(less_than_10, itertools.count()) =>\n" -" 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, ...\n" -"\n" -"itertools.dropwhile(is_even, itertools.count()) =>\n" -" 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ..." -msgstr "" - -#: ../../howto/functional.rst:882 -msgid "" -":func:`itertools.compress(data, selectors) ` takes two " -"iterators and returns only those elements of *data* for which the " -"corresponding element of *selectors* is true, stopping whenever either one " -"is exhausted::" -msgstr "" - -#: ../../howto/functional.rst:886 -msgid "" -"itertools.compress([1, 2, 3, 4, 5], [True, True, False, False, True]) =>\n" -" 1, 2, 5" -msgstr "" - -#: ../../howto/functional.rst:891 -msgid "Combinatoric functions" -msgstr "" - -#: ../../howto/functional.rst:893 -msgid "" -"The :func:`itertools.combinations(iterable, r) ` " -"returns an iterator giving all possible *r*-tuple combinations of the " -"elements contained in *iterable*. ::" -msgstr "" - -#: ../../howto/functional.rst:897 -msgid "" -"itertools.combinations([1, 2, 3, 4, 5], 2) =>\n" -" (1, 2), (1, 3), (1, 4), (1, 5),\n" -" (2, 3), (2, 4), (2, 5),\n" -" (3, 4), (3, 5),\n" -" (4, 5)\n" -"\n" -"itertools.combinations([1, 2, 3, 4, 5], 3) =>\n" -" (1, 2, 3), (1, 2, 4), (1, 2, 5), (1, 3, 4), (1, 3, 5), (1, 4, 5),\n" -" (2, 3, 4), (2, 3, 5), (2, 4, 5),\n" -" (3, 4, 5)" -msgstr "" - -#: ../../howto/functional.rst:908 -msgid "" -"The elements within each tuple remain in the same order as *iterable* " -"returned them. For example, the number 1 is always before 2, 3, 4, or 5 in " -"the examples above. A similar function, " -":func:`itertools.permutations(iterable, r=None) `, " -"removes this constraint on the order, returning all possible arrangements of" -" length *r*::" -msgstr "" - -#: ../../howto/functional.rst:915 -msgid "" -"itertools.permutations([1, 2, 3, 4, 5], 2) =>\n" -" (1, 2), (1, 3), (1, 4), (1, 5),\n" -" (2, 1), (2, 3), (2, 4), (2, 5),\n" -" (3, 1), (3, 2), (3, 4), (3, 5),\n" -" (4, 1), (4, 2), (4, 3), (4, 5),\n" -" (5, 1), (5, 2), (5, 3), (5, 4)\n" -"\n" -"itertools.permutations([1, 2, 3, 4, 5]) =>\n" -" (1, 2, 3, 4, 5), (1, 2, 3, 5, 4), (1, 2, 4, 3, 5),\n" -" ...\n" -" (5, 4, 3, 2, 1)" -msgstr "" - -#: ../../howto/functional.rst:927 -msgid "" -"If you don't supply a value for *r* the length of the iterable is used, " -"meaning that all the elements are permuted." -msgstr "" - -#: ../../howto/functional.rst:930 -msgid "" -"Note that these functions produce all of the possible combinations by " -"position and don't require that the contents of *iterable* are unique::" -msgstr "" - -#: ../../howto/functional.rst:933 -msgid "" -"itertools.permutations('aba', 3) =>\n" -" ('a', 'b', 'a'), ('a', 'a', 'b'), ('b', 'a', 'a'),\n" -" ('b', 'a', 'a'), ('a', 'a', 'b'), ('a', 'b', 'a')" -msgstr "" - -#: ../../howto/functional.rst:937 -msgid "" -"The identical tuple ``('a', 'a', 'b')`` occurs twice, but the two 'a' " -"strings came from different positions." -msgstr "" - -#: ../../howto/functional.rst:940 -msgid "" -"The :func:`itertools.combinations_with_replacement(iterable, r) " -"` function relaxes a different " -"constraint: elements can be repeated within a single tuple. Conceptually an" -" element is selected for the first position of each tuple and then is " -"replaced before the second element is selected. ::" -msgstr "" - -#: ../../howto/functional.rst:946 -msgid "" -"itertools.combinations_with_replacement([1, 2, 3, 4, 5], 2) =>\n" -" (1, 1), (1, 2), (1, 3), (1, 4), (1, 5),\n" -" (2, 2), (2, 3), (2, 4), (2, 5),\n" -" (3, 3), (3, 4), (3, 5),\n" -" (4, 4), (4, 5),\n" -" (5, 5)" -msgstr "" - -#: ../../howto/functional.rst:955 -msgid "Grouping elements" -msgstr "" - -#: ../../howto/functional.rst:957 -msgid "" -"The last function I'll discuss, :func:`itertools.groupby(iter, " -"key_func=None) `, is the most complicated. " -"``key_func(elem)`` is a function that can compute a key value for each " -"element returned by the iterable. If you don't supply a key function, the " -"key is simply each element itself." -msgstr "" - -#: ../../howto/functional.rst:962 -msgid "" -":func:`~itertools.groupby` collects all the consecutive elements from the " -"underlying iterable that have the same key value, and returns a stream of " -"2-tuples containing a key value and an iterator for the elements with that " -"key." -msgstr "" - -#: ../../howto/functional.rst:968 -msgid "" -"city_list = [('Decatur', 'AL'), ('Huntsville', 'AL'), ('Selma', 'AL'),\n" -" ('Anchorage', 'AK'), ('Nome', 'AK'),\n" -" ('Flagstaff', 'AZ'), ('Phoenix', 'AZ'), ('Tucson', 'AZ'),\n" -" ...\n" -" ]\n" -"\n" -"def get_state(city_state):\n" -" return city_state[1]\n" -"\n" -"itertools.groupby(city_list, get_state) =>\n" -" ('AL', iterator-1),\n" -" ('AK', iterator-2),\n" -" ('AZ', iterator-3), ...\n" -"\n" -"where\n" -"iterator-1 =>\n" -" ('Decatur', 'AL'), ('Huntsville', 'AL'), ('Selma', 'AL')\n" -"iterator-2 =>\n" -" ('Anchorage', 'AK'), ('Nome', 'AK')\n" -"iterator-3 =>\n" -" ('Flagstaff', 'AZ'), ('Phoenix', 'AZ'), ('Tucson', 'AZ')" -msgstr "" - -#: ../../howto/functional.rst:990 -msgid "" -":func:`~itertools.groupby` assumes that the underlying iterable's contents " -"will already be sorted based on the key. Note that the returned iterators " -"also use the underlying iterable, so you have to consume the results of " -"iterator-1 before requesting iterator-2 and its corresponding key." -msgstr "" - -#: ../../howto/functional.rst:997 -msgid "The functools module" -msgstr "" - -#: ../../howto/functional.rst:999 -msgid "" -"The :mod:`functools` module contains some higher-order functions. A " -"**higher-order function** takes one or more functions as input and returns a" -" new function. The most useful tool in this module is the " -":func:`functools.partial` function." -msgstr "" - -#: ../../howto/functional.rst:1004 -msgid "" -"For programs written in a functional style, you'll sometimes want to " -"construct variants of existing functions that have some of the parameters " -"filled in. Consider a Python function ``f(a, b, c)``; you may wish to create" -" a new function ``g(b, c)`` that's equivalent to ``f(1, b, c)``; you're " -"filling in a value for one of ``f()``'s parameters. This is called " -"\"partial function application\"." -msgstr "" - -#: ../../howto/functional.rst:1010 -msgid "" -"The constructor for :func:`~functools.partial` takes the arguments " -"``(function, arg1, arg2, ..., kwarg1=value1, kwarg2=value2)``. The " -"resulting object is callable, so you can just call it to invoke ``function``" -" with the filled-in arguments." -msgstr "" - -#: ../../howto/functional.rst:1015 -msgid "Here's a small but realistic example::" -msgstr "" - -#: ../../howto/functional.rst:1017 -msgid "" -"import functools\n" -"\n" -"def log(message, subsystem):\n" -" \"\"\"Write the contents of 'message' to the specified subsystem.\"\"\"\n" -" print('%s: %s' % (subsystem, message))\n" -" ...\n" -"\n" -"server_log = functools.partial(log, subsystem='server')\n" -"server_log('Unable to open socket')" -msgstr "" - -#: ../../howto/functional.rst:1027 -msgid "" -":func:`functools.reduce(func, iter, [initial_value]) ` " -"cumulatively performs an operation on all the iterable's elements and, " -"therefore, can't be applied to infinite iterables. *func* must be a function" -" that takes two elements and returns a single value. " -":func:`functools.reduce` takes the first two elements A and B returned by " -"the iterator and calculates ``func(A, B)``. It then requests the third " -"element, C, calculates ``func(func(A, B), C)``, combines this result with " -"the fourth element returned, and continues until the iterable is exhausted." -" If the iterable returns no values at all, a :exc:`TypeError` exception is " -"raised. If the initial value is supplied, it's used as a starting point and" -" ``func(initial_value, A)`` is the first calculation. ::" -msgstr "" - -#: ../../howto/functional.rst:1039 -msgid "" -">>> import operator, functools\n" -">>> functools.reduce(operator.concat, ['A', 'BB', 'C'])\n" -"'ABBC'\n" -">>> functools.reduce(operator.concat, [])\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: reduce() of empty sequence with no initial value\n" -">>> functools.reduce(operator.mul, [1, 2, 3], 1)\n" -"6\n" -">>> functools.reduce(operator.mul, [], 1)\n" -"1" -msgstr "" - -#: ../../howto/functional.rst:1051 -msgid "" -"If you use :func:`operator.add` with :func:`functools.reduce`, you'll add up" -" all the elements of the iterable. This case is so common that there's a " -"special built-in called :func:`sum` to compute it:" -msgstr "" - -#: ../../howto/functional.rst:1063 -msgid "" -"For many uses of :func:`functools.reduce`, though, it can be clearer to just" -" write the obvious :keyword:`for` loop::" -msgstr "" - -#: ../../howto/functional.rst:1066 -msgid "" -"import functools\n" -"# Instead of:\n" -"product = functools.reduce(operator.mul, [1, 2, 3], 1)\n" -"\n" -"# You can write:\n" -"product = 1\n" -"for i in [1, 2, 3]:\n" -" product *= i" -msgstr "" - -#: ../../howto/functional.rst:1075 -msgid "" -"A related function is :func:`itertools.accumulate(iterable, " -"func=operator.add) `. It performs the same " -"calculation, but instead of returning only the final result, " -":func:`~itertools.accumulate` returns an iterator that also yields each " -"partial result::" -msgstr "" - -#: ../../howto/functional.rst:1080 -msgid "" -"itertools.accumulate([1, 2, 3, 4, 5]) =>\n" -" 1, 3, 6, 10, 15\n" -"\n" -"itertools.accumulate([1, 2, 3, 4, 5], operator.mul) =>\n" -" 1, 2, 6, 24, 120" -msgstr "" - -#: ../../howto/functional.rst:1088 -msgid "The operator module" -msgstr "" - -#: ../../howto/functional.rst:1090 -msgid "" -"The :mod:`operator` module was mentioned earlier. It contains a set of " -"functions corresponding to Python's operators. These functions are often " -"useful in functional-style code because they save you from writing trivial " -"functions that perform a single operation." -msgstr "" - -#: ../../howto/functional.rst:1095 -msgid "Some of the functions in this module are:" -msgstr "" - -#: ../../howto/functional.rst:1097 -msgid "" -"Math operations: ``add()``, ``sub()``, ``mul()``, ``floordiv()``, ``abs()``," -" ..." -msgstr "" - -#: ../../howto/functional.rst:1098 -msgid "Logical operations: ``not_()``, ``truth()``." -msgstr "" - -#: ../../howto/functional.rst:1099 -msgid "Bitwise operations: ``and_()``, ``or_()``, ``invert()``." -msgstr "" - -#: ../../howto/functional.rst:1100 -msgid "" -"Comparisons: ``eq()``, ``ne()``, ``lt()``, ``le()``, ``gt()``, and ``ge()``." -msgstr "" - -#: ../../howto/functional.rst:1101 -msgid "Object identity: ``is_()``, ``is_not()``." -msgstr "" - -#: ../../howto/functional.rst:1103 -msgid "Consult the operator module's documentation for a complete list." -msgstr "" - -#: ../../howto/functional.rst:1107 -msgid "Small functions and the lambda expression" -msgstr "" - -#: ../../howto/functional.rst:1109 -msgid "" -"When writing functional-style programs, you'll often need little functions " -"that act as predicates or that combine elements in some way." -msgstr "" - -#: ../../howto/functional.rst:1112 -msgid "" -"If there's a Python built-in or a module function that's suitable, you don't" -" need to define a new function at all::" -msgstr "" - -#: ../../howto/functional.rst:1115 -msgid "" -"stripped_lines = [line.strip() for line in lines]\n" -"existing_files = filter(os.path.exists, file_list)" -msgstr "" - -#: ../../howto/functional.rst:1118 -msgid "" -"If the function you need doesn't exist, you need to write it. One way to " -"write small functions is to use the :keyword:`lambda` expression. " -"``lambda`` takes a number of parameters and an expression combining these " -"parameters, and creates an anonymous function that returns the value of the " -"expression::" -msgstr "" - -#: ../../howto/functional.rst:1123 -msgid "" -"adder = lambda x, y: x+y\n" -"\n" -"print_assign = lambda name, value: name + '=' + str(value)" -msgstr "" - -#: ../../howto/functional.rst:1127 -msgid "" -"An alternative is to just use the ``def`` statement and define a function in" -" the usual way::" -msgstr "" - -#: ../../howto/functional.rst:1130 -msgid "" -"def adder(x, y):\n" -" return x + y\n" -"\n" -"def print_assign(name, value):\n" -" return name + '=' + str(value)" -msgstr "" - -#: ../../howto/functional.rst:1136 -msgid "" -"Which alternative is preferable? That's a style question; my usual course " -"is to avoid using ``lambda``." -msgstr "" - -#: ../../howto/functional.rst:1139 -msgid "" -"One reason for my preference is that ``lambda`` is quite limited in the " -"functions it can define. The result has to be computable as a single " -"expression, which means you can't have multiway ``if... elif... else`` " -"comparisons or ``try... except`` statements. If you try to do too much in a" -" ``lambda`` statement, you'll end up with an overly complicated expression " -"that's hard to read. Quick, what's the following code doing? ::" -msgstr "" - -#: ../../howto/functional.rst:1146 -msgid "" -"import functools\n" -"total = functools.reduce(lambda a, b: (0, a[1] + b[1]), items)[1]" -msgstr "" - -#: ../../howto/functional.rst:1149 -msgid "" -"You can figure it out, but it takes time to disentangle the expression to " -"figure out what's going on. Using a short nested ``def`` statements makes " -"things a little bit better::" -msgstr "" - -#: ../../howto/functional.rst:1153 -msgid "" -"import functools\n" -"def combine(a, b):\n" -" return 0, a[1] + b[1]\n" -"\n" -"total = functools.reduce(combine, items)[1]" -msgstr "" - -#: ../../howto/functional.rst:1159 -msgid "But it would be best of all if I had simply used a ``for`` loop::" -msgstr "" - -#: ../../howto/functional.rst:1161 -msgid "" -"total = 0\n" -"for a, b in items:\n" -" total += b" -msgstr "" - -#: ../../howto/functional.rst:1165 -msgid "Or the :func:`sum` built-in and a generator expression::" -msgstr "" - -#: ../../howto/functional.rst:1167 -msgid "total = sum(b for a, b in items)" -msgstr "" - -#: ../../howto/functional.rst:1169 -msgid "" -"Many uses of :func:`functools.reduce` are clearer when written as ``for`` " -"loops." -msgstr "" - -#: ../../howto/functional.rst:1171 -msgid "" -"Fredrik Lundh once suggested the following set of rules for refactoring uses" -" of ``lambda``:" -msgstr "" - -#: ../../howto/functional.rst:1174 -msgid "Write a lambda function." -msgstr "" - -#: ../../howto/functional.rst:1175 -msgid "Write a comment explaining what the heck that lambda does." -msgstr "" - -#: ../../howto/functional.rst:1176 -msgid "" -"Study the comment for a while, and think of a name that captures the essence" -" of the comment." -msgstr "" - -#: ../../howto/functional.rst:1178 -msgid "Convert the lambda to a def statement, using that name." -msgstr "" - -#: ../../howto/functional.rst:1179 -msgid "Remove the comment." -msgstr "" - -#: ../../howto/functional.rst:1181 -msgid "" -"I really like these rules, but you're free to disagree about whether this " -"lambda-free style is better." -msgstr "" - -#: ../../howto/functional.rst:1186 -msgid "Revision History and Acknowledgements" -msgstr "" - -#: ../../howto/functional.rst:1188 -msgid "" -"The author would like to thank the following people for offering " -"suggestions, corrections and assistance with various drafts of this article:" -" Ian Bicking, Nick Coghlan, Nick Efford, Raymond Hettinger, Jim Jewett, Mike" -" Krell, Leandro Lameiro, Jussi Salmela, Collin Winter, Blake Winton." -msgstr "" - -#: ../../howto/functional.rst:1193 -msgid "Version 0.1: posted June 30 2006." -msgstr "" - -#: ../../howto/functional.rst:1195 -msgid "Version 0.11: posted July 1 2006. Typo fixes." -msgstr "" - -#: ../../howto/functional.rst:1197 -msgid "" -"Version 0.2: posted July 10 2006. Merged genexp and listcomp sections into " -"one. Typo fixes." -msgstr "" - -#: ../../howto/functional.rst:1200 -msgid "" -"Version 0.21: Added more references suggested on the tutor mailing list." -msgstr "" - -#: ../../howto/functional.rst:1202 -msgid "" -"Version 0.30: Adds a section on the ``functional`` module written by Collin " -"Winter; adds short section on the operator module; a few other edits." -msgstr "" - -#: ../../howto/functional.rst:1207 -msgid "References" -msgstr "" - -#: ../../howto/functional.rst:1210 -msgid "General" -msgstr "" - -#: ../../howto/functional.rst:1212 -msgid "" -"**Structure and Interpretation of Computer Programs**, by Harold Abelson and" -" Gerald Jay Sussman with Julie Sussman. The book can be found at " -"https://mitpress.mit.edu/sicp. In this classic textbook of computer " -"science, chapters 2 and 3 discuss the use of sequences and streams to " -"organize the data flow inside a program. The book uses Scheme for its " -"examples, but many of the design approaches described in these chapters are " -"applicable to functional-style Python code." -msgstr "" - -#: ../../howto/functional.rst:1220 -msgid "" -"https://www.defmacro.org/ramblings/fp.html: A general introduction to " -"functional programming that uses Java examples and has a lengthy historical " -"introduction." -msgstr "" - -#: ../../howto/functional.rst:1223 -msgid "" -"https://en.wikipedia.org/wiki/Functional_programming: General Wikipedia " -"entry describing functional programming." -msgstr "" - -#: ../../howto/functional.rst:1226 -msgid "https://en.wikipedia.org/wiki/Coroutine: Entry for coroutines." -msgstr "" - -#: ../../howto/functional.rst:1228 -msgid "" -"https://en.wikipedia.org/wiki/Partial_application: Entry for the concept of " -"partial function application." -msgstr "" - -#: ../../howto/functional.rst:1230 -msgid "" -"https://en.wikipedia.org/wiki/Currying: Entry for the concept of currying." -msgstr "" - -#: ../../howto/functional.rst:1233 -msgid "Python-specific" -msgstr "" - -#: ../../howto/functional.rst:1235 -msgid "" -"https://gnosis.cx/TPiP/: The first chapter of David Mertz's book :title-" -"reference:`Text Processing in Python` discusses functional programming for " -"text processing, in the section titled \"Utilizing Higher-Order Functions in" -" Text Processing\"." -msgstr "" - -#: ../../howto/functional.rst:1240 -msgid "" -"Mertz also wrote a 3-part series of articles on functional programming for " -"IBM's DeveloperWorks site; see `part 1 " -"`__, `part 2 " -"`__, and `part 3 " -"`__," -msgstr "" - -#: ../../howto/functional.rst:1248 -msgid "Python documentation" -msgstr "Dokumentasi Phyton" - -#: ../../howto/functional.rst:1250 -msgid "Documentation for the :mod:`itertools` module." -msgstr "" - -#: ../../howto/functional.rst:1252 -msgid "Documentation for the :mod:`functools` module." -msgstr "" - -#: ../../howto/functional.rst:1254 -msgid "Documentation for the :mod:`operator` module." -msgstr "" - -#: ../../howto/functional.rst:1256 -msgid ":pep:`289`: \"Generator Expressions\"" -msgstr "" - -#: ../../howto/functional.rst:1258 -msgid "" -":pep:`342`: \"Coroutines via Enhanced Generators\" describes the new " -"generator features in Python 2.5." -msgstr "" diff --git a/python-newest.howto--gdb_helpers/id.po b/python-newest.howto--gdb_helpers/id.po deleted file mode 100644 index d683150..0000000 --- a/python-newest.howto--gdb_helpers/id.po +++ /dev/null @@ -1,672 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2024-02-25 01:11+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/gdb_helpers.rst:5 -msgid "Debugging C API extensions and CPython Internals with GDB" -msgstr "" - -#: ../../howto/gdb_helpers.rst:9 -msgid "" -"This document explains how the Python GDB extension, ``python-gdb.py``, can " -"be used with the GDB debugger to debug CPython extensions and the CPython " -"interpreter itself." -msgstr "" - -#: ../../howto/gdb_helpers.rst:13 -msgid "" -"When debugging low-level problems such as crashes or deadlocks, a low-level " -"debugger, such as GDB, is useful to diagnose and correct the issue. By " -"default, GDB (or any of its front-ends) doesn't support high-level " -"information specific to the CPython interpreter." -msgstr "" - -#: ../../howto/gdb_helpers.rst:18 -msgid "" -"The ``python-gdb.py`` extension adds CPython interpreter information to GDB." -" The extension helps introspect the stack of currently executing Python " -"functions. Given a Python object represented by a :c:expr:`PyObject *` " -"pointer, the extension surfaces the type and value of the object." -msgstr "" - -#: ../../howto/gdb_helpers.rst:23 -msgid "" -"Developers who are working on CPython extensions or tinkering with parts of " -"CPython that are written in C can use this document to learn how to use the " -"``python-gdb.py`` extension with GDB." -msgstr "" - -#: ../../howto/gdb_helpers.rst:29 -msgid "" -"This document assumes that you are familiar with the basics of GDB and the " -"CPython C API. It consolidates guidance from the `devguide " -"`_ and the `Python wiki " -"`_." -msgstr "" - -#: ../../howto/gdb_helpers.rst:36 -msgid "Prerequisites" -msgstr "" - -#: ../../howto/gdb_helpers.rst:38 -msgid "You need to have:" -msgstr "" - -#: ../../howto/gdb_helpers.rst:40 -msgid "" -"GDB 7 or later. (For earlier versions of GDB, see ``Misc/gdbinit`` in the " -"sources of Python 3.11 or earlier.)" -msgstr "" - -#: ../../howto/gdb_helpers.rst:42 -msgid "" -"GDB-compatible debugging information for Python and any extension you are " -"debugging." -msgstr "" - -#: ../../howto/gdb_helpers.rst:44 -msgid "The ``python-gdb.py`` extension." -msgstr "" - -#: ../../howto/gdb_helpers.rst:46 -msgid "" -"The extension is built with Python, but might be distributed separately or " -"not at all. Below, we include tips for a few common systems as examples. " -"Note that even if the instructions match your system, they might be " -"outdated." -msgstr "" - -#: ../../howto/gdb_helpers.rst:52 -msgid "Setup with Python built from source" -msgstr "" - -#: ../../howto/gdb_helpers.rst:54 -msgid "" -"When you build CPython from source, debugging information should be " -"available, and the build should add a ``python-gdb.py`` file to the root " -"directory of your repository." -msgstr "" - -#: ../../howto/gdb_helpers.rst:58 -msgid "" -"To activate support, you must add the directory containing ``python-gdb.py``" -" to GDB's \"auto-load-safe-path\". If you haven't done this, recent versions" -" of GDB will print out a warning with instructions on how to do this." -msgstr "" - -#: ../../howto/gdb_helpers.rst:65 -msgid "" -"If you do not see instructions for your version of GDB, put this in your " -"configuration file (``~/.gdbinit`` or ``~/.config/gdb/gdbinit``)::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:68 -msgid "add-auto-load-safe-path /path/to/cpython" -msgstr "" - -#: ../../howto/gdb_helpers.rst:70 -msgid "You can also add multiple paths, separated by ``:``." -msgstr "" - -#: ../../howto/gdb_helpers.rst:74 -msgid "Setup for Python from a Linux distro" -msgstr "" - -#: ../../howto/gdb_helpers.rst:76 -msgid "" -"Most Linux systems provide debug information for the system Python in a " -"package called ``python-debuginfo``, ``python-dbg`` or similar. For example:" -msgstr "" - -#: ../../howto/gdb_helpers.rst:80 -msgid "Fedora:" -msgstr "" - -#: ../../howto/gdb_helpers.rst:82 -msgid "" -"sudo dnf install gdb\n" -"sudo dnf debuginfo-install python3" -msgstr "" - -#: ../../howto/gdb_helpers.rst:87 -msgid "Ubuntu:" -msgstr "" - -#: ../../howto/gdb_helpers.rst:89 -msgid "sudo apt install gdb python3-dbg" -msgstr "" - -#: ../../howto/gdb_helpers.rst:93 -msgid "" -"On several recent Linux systems, GDB can download debugging symbols " -"automatically using *debuginfod*. However, this will not install the " -"``python-gdb.py`` extension; you generally do need to install the debug info" -" package separately." -msgstr "" - -#: ../../howto/gdb_helpers.rst:100 -msgid "Using the Debug build and Development mode" -msgstr "" - -#: ../../howto/gdb_helpers.rst:102 -msgid "For easier debugging, you might want to:" -msgstr "" - -#: ../../howto/gdb_helpers.rst:104 -msgid "" -"Use a :ref:`debug build ` of Python. (When building from " -"source, use ``configure --with-pydebug``. On Linux distros, install and run " -"a package like ``python-debug`` or ``python-dbg``, if available.)" -msgstr "" - -#: ../../howto/gdb_helpers.rst:107 -msgid "Use the runtime :ref:`development mode ` (``-X dev``)." -msgstr "" - -#: ../../howto/gdb_helpers.rst:109 -msgid "" -"Both enable extra assertions and disable some optimizations. Sometimes this " -"hides the bug you are trying to find, but in most cases they make the " -"process easier." -msgstr "" - -#: ../../howto/gdb_helpers.rst:115 -msgid "Using the ``python-gdb`` extension" -msgstr "" - -#: ../../howto/gdb_helpers.rst:117 -msgid "" -"When the extension is loaded, it provides two main features: pretty printers" -" for Python values, and additional commands." -msgstr "" - -#: ../../howto/gdb_helpers.rst:121 -msgid "Pretty-printers" -msgstr "" - -#: ../../howto/gdb_helpers.rst:123 -msgid "" -"This is what a GDB backtrace looks like (truncated) when this extension is " -"enabled::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:126 -msgid "" -"#0 0x000000000041a6b1 in PyObject_Malloc (nbytes=Cannot access memory at address 0x7fffff7fefe8\n" -") at Objects/obmalloc.c:748\n" -"#1 0x000000000041b7c0 in _PyObject_DebugMallocApi (id=111 'o', nbytes=24) at Objects/obmalloc.c:1445\n" -"#2 0x000000000041b717 in _PyObject_DebugMalloc (nbytes=24) at Objects/obmalloc.c:1412\n" -"#3 0x000000000044060a in _PyUnicode_New (length=11) at Objects/unicodeobject.c:346\n" -"#4 0x00000000004466aa in PyUnicodeUCS2_DecodeUTF8Stateful (s=0x5c2b8d \"__lltrace__\", size=11, errors=0x0, consumed=\n" -" 0x0) at Objects/unicodeobject.c:2531\n" -"#5 0x0000000000446647 in PyUnicodeUCS2_DecodeUTF8 (s=0x5c2b8d \"__lltrace__\", size=11, errors=0x0)\n" -" at Objects/unicodeobject.c:2495\n" -"#6 0x0000000000440d1b in PyUnicodeUCS2_FromStringAndSize (u=0x5c2b8d \"__lltrace__\", size=11)\n" -" at Objects/unicodeobject.c:551\n" -"#7 0x0000000000440d94 in PyUnicodeUCS2_FromString (u=0x5c2b8d \"__lltrace__\") at Objects/unicodeobject.c:569\n" -"#8 0x0000000000584abd in PyDict_GetItemString (v=\n" -" {'Yuck': , '__builtins__': , '__file__': 'Lib/test/crashers/nasty_eq_vs_dict.py', '__package__': None, 'y': , 'dict': {0: 0, 1: 1, 2: 2, 3: 3}, '__cached__': None, '__name__': '__main__', 'z': , '__doc__': None}, key=\n" -" 0x5c2b8d \"__lltrace__\") at Objects/dictobject.c:2171" -msgstr "" - -#: ../../howto/gdb_helpers.rst:142 -msgid "" -"Notice how the dictionary argument to ``PyDict_GetItemString`` is displayed " -"as its ``repr()``, rather than an opaque ``PyObject *`` pointer." -msgstr "" - -#: ../../howto/gdb_helpers.rst:145 -msgid "" -"The extension works by supplying a custom printing routine for values of " -"type ``PyObject *``. If you need to access lower-level details of an " -"object, then cast the value to a pointer of the appropriate type. For " -"example::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:149 -msgid "" -"(gdb) p globals\n" -"$1 = {'__builtins__': , '__name__':\n" -"'__main__', 'ctypes': , '__doc__': None,\n" -"'__package__': None}\n" -"\n" -"(gdb) p *(PyDictObject*)globals\n" -"$2 = {ob_refcnt = 3, ob_type = 0x3dbdf85820, ma_fill = 5, ma_used = 5,\n" -"ma_mask = 7, ma_table = 0x63d0f8, ma_lookup = 0x3dbdc7ea70\n" -", ma_smalltable = {{me_hash = 7065186196740147912,\n" -"me_key = '__builtins__', me_value = },\n" -"{me_hash = -368181376027291943, me_key = '__name__',\n" -"me_value ='__main__'}, {me_hash = 0, me_key = 0x0, me_value = 0x0},\n" -"{me_hash = 0, me_key = 0x0, me_value = 0x0},\n" -"{me_hash = -9177857982131165996, me_key = 'ctypes',\n" -"me_value = },\n" -"{me_hash = -8518757509529533123, me_key = '__doc__', me_value = None},\n" -"{me_hash = 0, me_key = 0x0, me_value = 0x0}, {\n" -" me_hash = 6614918939584953775, me_key = '__package__', me_value = None}}}" -msgstr "" - -#: ../../howto/gdb_helpers.rst:168 -msgid "" -"Note that the pretty-printers do not actually call ``repr()``. For basic " -"types, they try to match its result closely." -msgstr "" - -#: ../../howto/gdb_helpers.rst:171 -msgid "" -"An area that can be confusing is that the custom printer for some types look" -" a lot like GDB's built-in printer for standard types. For example, the " -"pretty-printer for a Python ``int`` (:c:expr:`PyLongObject *`) gives a " -"representation that is not distinguishable from one of a regular machine-" -"level integer::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:177 -msgid "" -"(gdb) p some_machine_integer\n" -"$3 = 42\n" -"\n" -"(gdb) p some_python_integer\n" -"$4 = 42" -msgstr "" - -#: ../../howto/gdb_helpers.rst:183 -msgid "" -"The internal structure can be revealed with a cast to :c:expr:`PyLongObject " -"*`::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:185 -msgid "" -"(gdb) p *(PyLongObject*)some_python_integer\n" -"$5 = {ob_base = {ob_base = {ob_refcnt = 8, ob_type = 0x3dad39f5e0}, ob_size = 1},\n" -"ob_digit = {42}}" -msgstr "" - -#: ../../howto/gdb_helpers.rst:189 -msgid "" -"A similar confusion can arise with the ``str`` type, where the output looks " -"a lot like gdb's built-in printer for ``char *``::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:192 -msgid "" -"(gdb) p ptr_to_python_str\n" -"$6 = '__builtins__'" -msgstr "" - -#: ../../howto/gdb_helpers.rst:195 -msgid "" -"The pretty-printer for ``str`` instances defaults to using single-quotes (as" -" does Python's ``repr`` for strings) whereas the standard printer for ``char" -" *`` values uses double-quotes and contains a hexadecimal address::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:199 -msgid "" -"(gdb) p ptr_to_char_star\n" -"$7 = 0x6d72c0 \"hello world\"" -msgstr "" - -#: ../../howto/gdb_helpers.rst:202 -msgid "" -"Again, the implementation details can be revealed with a cast to " -":c:expr:`PyUnicodeObject *`::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:205 -msgid "" -"(gdb) p *(PyUnicodeObject*)$6\n" -"$8 = {ob_base = {ob_refcnt = 33, ob_type = 0x3dad3a95a0}, length = 12,\n" -"str = 0x7ffff2128500, hash = 7065186196740147912, state = 1, defenc = 0x0}" -msgstr "" - -#: ../../howto/gdb_helpers.rst:210 -msgid "``py-list``" -msgstr "" - -#: ../../howto/gdb_helpers.rst:212 -msgid "" -"The extension adds a ``py-list`` command, which lists the Python source code" -" (if any) for the current frame in the selected thread. The current line is" -" marked with a \">\"::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:216 -msgid "" -"(gdb) py-list\n" -" 901 if options.profile:\n" -" 902 options.profile = False\n" -" 903 profile_me()\n" -" 904 return\n" -" 905\n" -">906 u = UI()\n" -" 907 if not u.quit:\n" -" 908 try:\n" -" 909 gtk.main()\n" -" 910 except KeyboardInterrupt:\n" -" 911 # properly quit on a keyboard interrupt..." -msgstr "" - -#: ../../howto/gdb_helpers.rst:229 -msgid "" -"Use ``py-list START`` to list at a different line number within the Python " -"source, and ``py-list START,END`` to list a specific range of lines within " -"the Python source." -msgstr "" - -#: ../../howto/gdb_helpers.rst:234 -msgid "``py-up`` and ``py-down``" -msgstr "" - -#: ../../howto/gdb_helpers.rst:236 -msgid "" -"The ``py-up`` and ``py-down`` commands are analogous to GDB's regular ``up``" -" and ``down`` commands, but try to move at the level of CPython frames, " -"rather than C frames." -msgstr "" - -#: ../../howto/gdb_helpers.rst:240 -msgid "" -"GDB is not always able to read the relevant frame information, depending on " -"the optimization level with which CPython was compiled. Internally, the " -"commands look for C frames that are executing the default frame evaluation " -"function (that is, the core bytecode interpreter loop within CPython) and " -"look up the value of the related ``PyFrameObject *``." -msgstr "" - -#: ../../howto/gdb_helpers.rst:246 -msgid "They emit the frame number (at the C level) within the thread." -msgstr "" - -#: ../../howto/gdb_helpers.rst:248 ../../howto/gdb_helpers.rst:320 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../howto/gdb_helpers.rst:250 -msgid "" -"(gdb) py-up\n" -"#37 Frame 0x9420b04, for file /usr/lib/python2.6/site-packages/\n" -"gnome_sudoku/main.py, line 906, in start_game ()\n" -" u = UI()\n" -"(gdb) py-up\n" -"#40 Frame 0x948e82c, for file /usr/lib/python2.6/site-packages/\n" -"gnome_sudoku/gnome_sudoku.py, line 22, in start_game(main=)\n" -" main.start_game()\n" -"(gdb) py-up\n" -"Unable to find an older python frame" -msgstr "" - -#: ../../howto/gdb_helpers.rst:261 -msgid "so we're at the top of the Python stack." -msgstr "" - -#: ../../howto/gdb_helpers.rst:263 -msgid "" -"The frame numbers correspond to those displayed by GDB's standard " -"``backtrace`` command. The command skips C frames which are not executing " -"Python code." -msgstr "" - -#: ../../howto/gdb_helpers.rst:267 -msgid "Going back down::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:269 -msgid "" -"(gdb) py-down\n" -"#37 Frame 0x9420b04, for file /usr/lib/python2.6/site-packages/gnome_sudoku/main.py, line 906, in start_game ()\n" -" u = UI()\n" -"(gdb) py-down\n" -"#34 (unable to read python frame information)\n" -"(gdb) py-down\n" -"#23 (unable to read python frame information)\n" -"(gdb) py-down\n" -"#19 (unable to read python frame information)\n" -"(gdb) py-down\n" -"#14 Frame 0x99262ac, for file /usr/lib/python2.6/site-packages/gnome_sudoku/game_selector.py, line 201, in run_swallowed_dialog (self=, puzzle=None, saved_games=[{'gsd.auto_fills': 0, 'tracking': {}, 'trackers': {}, 'notes': [], 'saved_at': 1270084485, 'game': '7 8 0 0 0 0 0 5 6 0 0 9 0 8 0 1 0 0 0 4 6 0 0 0 0 7 0 6 5 0 0 0 4 7 9 2 0 0 0 9 0 1 0 0 0 3 9 7 6 0 0 0 1 8 0 6 0 0 0 0 2 8 0 0 0 5 0 4 0 6 0 0 2 1 0 0 0 0 0 4 5\\n7 8 0 0 0 0 0 5 6 0 0 9 0 8 0 1 0 0 0 4 6 0 0 0 0 7 0 6 5 1 8 3 4 7 9 2 0 0 0 9 0 1 0 0 0 3 9 7 6 0 0 0 1 8 0 6 0 0 0 0 2 8 0 0 0 5 0 4 0 6 0 0 2 1 0 0 0 0 0 4 5', 'gsd.impossible_hints': 0, 'timer.__absolute_start_time__': , 'gsd.hints': 0, 'timer.active_time': , 'timer.total_time': }], dialog=, saved_game_model=, sudoku_maker=, main_page=0) at remote 0x98fa6e4>, d=)\n" -" gtk.main()\n" -"(gdb) py-down\n" -"#8 (unable to read python frame information)\n" -"(gdb) py-down\n" -"Unable to find a newer python frame" -msgstr "" - -#: ../../howto/gdb_helpers.rst:289 -msgid "and we're at the bottom of the Python stack." -msgstr "" - -#: ../../howto/gdb_helpers.rst:291 -msgid "" -"Note that in Python 3.12 and newer, the same C stack frame can be used for " -"multiple Python stack frames. This means that ``py-up`` and ``py-down`` may " -"move multiple Python frames at once. For example::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:295 -msgid "" -"(gdb) py-up\n" -"#6 Frame 0x7ffff7fb62b0, for file /tmp/rec.py, line 5, in recursive_function (n=0)\n" -" time.sleep(5)\n" -"#6 Frame 0x7ffff7fb6240, for file /tmp/rec.py, line 7, in recursive_function (n=1)\n" -" recursive_function(n-1)\n" -"#6 Frame 0x7ffff7fb61d0, for file /tmp/rec.py, line 7, in recursive_function (n=2)\n" -" recursive_function(n-1)\n" -"#6 Frame 0x7ffff7fb6160, for file /tmp/rec.py, line 7, in recursive_function (n=3)\n" -" recursive_function(n-1)\n" -"#6 Frame 0x7ffff7fb60f0, for file /tmp/rec.py, line 7, in recursive_function (n=4)\n" -" recursive_function(n-1)\n" -"#6 Frame 0x7ffff7fb6080, for file /tmp/rec.py, line 7, in recursive_function (n=5)\n" -" recursive_function(n-1)\n" -"#6 Frame 0x7ffff7fb6020, for file /tmp/rec.py, line 9, in ()\n" -" recursive_function(5)\n" -"(gdb) py-up\n" -"Unable to find an older python frame" -msgstr "" - -#: ../../howto/gdb_helpers.rst:315 -msgid "``py-bt``" -msgstr "" - -#: ../../howto/gdb_helpers.rst:317 -msgid "" -"The ``py-bt`` command attempts to display a Python-level backtrace of the " -"current thread." -msgstr "" - -#: ../../howto/gdb_helpers.rst:322 -msgid "" -"(gdb) py-bt\n" -"#8 (unable to read python frame information)\n" -"#11 Frame 0x9aead74, for file /usr/lib/python2.6/site-packages/gnome_sudoku/dialog_swallower.py, line 48, in run_dialog (self=, main_page=0) at remote 0x98fa6e4>, d=)\n" -" gtk.main()\n" -"#14 Frame 0x99262ac, for file /usr/lib/python2.6/site-packages/gnome_sudoku/game_selector.py, line 201, in run_swallowed_dialog (self=, puzzle=None, saved_games=[{'gsd.auto_fills': 0, 'tracking': {}, 'trackers': {}, 'notes': [], 'saved_at': 1270084485, 'game': '7 8 0 0 0 0 0 5 6 0 0 9 0 8 0 1 0 0 0 4 6 0 0 0 0 7 0 6 5 0 0 0 4 7 9 2 0 0 0 9 0 1 0 0 0 3 9 7 6 0 0 0 1 8 0 6 0 0 0 0 2 8 0 0 0 5 0 4 0 6 0 0 2 1 0 0 0 0 0 4 5\\n7 8 0 0 0 0 0 5 6 0 0 9 0 8 0 1 0 0 0 4 6 0 0 0 0 7 0 6 5 1 8 3 4 7 9 2 0 0 0 9 0 1 0 0 0 3 9 7 6 0 0 0 1 8 0 6 0 0 0 0 2 8 0 0 0 5 0 4 0 6 0 0 2 1 0 0 0 0 0 4 5', 'gsd.impossible_hints': 0, 'timer.__absolute_start_time__': , 'gsd.hints': 0, 'timer.active_time': , 'timer.total_time': }], dialog=, saved_game_model=, sudoku_maker=)\n" -" main.start_game()" -msgstr "" - -#: ../../howto/gdb_helpers.rst:336 -msgid "" -"The frame numbers correspond to those displayed by GDB's standard " -"``backtrace`` command." -msgstr "" - -#: ../../howto/gdb_helpers.rst:340 -msgid "``py-print``" -msgstr "" - -#: ../../howto/gdb_helpers.rst:342 -msgid "" -"The ``py-print`` command looks up a Python name and tries to print it. It " -"looks in locals within the current thread, then globals, then finally " -"builtins::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:346 -msgid "" -"(gdb) py-print self\n" -"local 'self' = ,\n" -"main_page=0) at remote 0x98fa6e4>\n" -"(gdb) py-print __name__\n" -"global '__name__' = 'gnome_sudoku.dialog_swallower'\n" -"(gdb) py-print len\n" -"builtin 'len' = \n" -"(gdb) py-print scarlet_pimpernel\n" -"'scarlet_pimpernel' not found" -msgstr "" - -#: ../../howto/gdb_helpers.rst:356 -msgid "" -"If the current C frame corresponds to multiple Python frames, ``py-print`` " -"only considers the first one." -msgstr "" - -#: ../../howto/gdb_helpers.rst:360 -msgid "``py-locals``" -msgstr "" - -#: ../../howto/gdb_helpers.rst:362 -msgid "" -"The ``py-locals`` command looks up all Python locals within the current " -"Python frame in the selected thread, and prints their representations::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:365 -msgid "" -"(gdb) py-locals\n" -"self = ,\n" -"main_page=0) at remote 0x98fa6e4>\n" -"d = " -msgstr "" - -#: ../../howto/gdb_helpers.rst:370 -msgid "" -"If the current C frame corresponds to multiple Python frames, locals from " -"all of them will be shown::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:373 -msgid "" -"(gdb) py-locals\n" -"Locals for recursive_function\n" -"n = 0\n" -"Locals for recursive_function\n" -"n = 1\n" -"Locals for recursive_function\n" -"n = 2\n" -"Locals for recursive_function\n" -"n = 3\n" -"Locals for recursive_function\n" -"n = 4\n" -"Locals for recursive_function\n" -"n = 5\n" -"Locals for " -msgstr "" - -#: ../../howto/gdb_helpers.rst:390 -msgid "Use with GDB commands" -msgstr "" - -#: ../../howto/gdb_helpers.rst:392 -msgid "" -"The extension commands complement GDB's built-in commands. For example, you " -"can use a frame numbers shown by ``py-bt`` with the ``frame`` command to go " -"a specific frame within the selected thread, like this::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:396 -msgid "" -"(gdb) py-bt\n" -"(output snipped)\n" -"#68 Frame 0xaa4560, for file Lib/test/regrtest.py, line 1548, in ()\n" -" main()\n" -"(gdb) frame 68\n" -"#68 0x00000000004cd1e6 in PyEval_EvalFrameEx (f=Frame 0xaa4560, for file Lib/test/regrtest.py, line 1548, in (), throwflag=0) at Python/ceval.c:2665\n" -"2665 x = call_function(&sp, oparg);\n" -"(gdb) py-list\n" -"1543 # Run the tests in a context manager that temporary changes the CWD to a\n" -"1544 # temporary and writable directory. If it's not possible to create or\n" -"1545 # change the CWD, the original CWD will be used. The original CWD is\n" -"1546 # available from test_support.SAVEDCWD.\n" -"1547 with test_support.temp_cwd(TESTCWD, quiet=True):\n" -">1548 main()" -msgstr "" - -#: ../../howto/gdb_helpers.rst:411 -msgid "" -"The ``info threads`` command will give you a list of the threads within the " -"process, and you can use the ``thread`` command to select a different one::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:414 -msgid "" -"(gdb) info threads\n" -" 105 Thread 0x7fffefa18710 (LWP 10260) sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86\n" -" 104 Thread 0x7fffdf5fe710 (LWP 10259) sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86\n" -"* 1 Thread 0x7ffff7fe2700 (LWP 10145) 0x00000038e46d73e3 in select () at ../sysdeps/unix/syscall-template.S:82" -msgstr "" - -#: ../../howto/gdb_helpers.rst:419 -msgid "" -"You can use ``thread apply all COMMAND`` or (``t a a COMMAND`` for short) to" -" run a command on all threads. With ``py-bt``, this lets you see what every" -" thread is doing at the Python level::" -msgstr "" - -#: ../../howto/gdb_helpers.rst:423 -msgid "" -"(gdb) t a a py-bt\n" -"\n" -"Thread 105 (Thread 0x7fffefa18710 (LWP 10260)):\n" -"#5 Frame 0x7fffd00019d0, for file /home/david/coding/python-svn/Lib/threading.py, line 155, in _acquire_restore (self=<_RLock(_Verbose__verbose=False, _RLock__owner=140737354016512, _RLock__block=, _RLock__count=1) at remote 0xd7ff40>, count_owner=(1, 140737213728528), count=1, owner=140737213728528)\n" -" self.__block.acquire()\n" -"#8 Frame 0x7fffac001640, for file /home/david/coding/python-svn/Lib/threading.py, line 269, in wait (self=<_Condition(_Condition__lock=<_RLock(_Verbose__verbose=False, _RLock__owner=140737354016512, _RLock__block=, _RLock__count=1) at remote 0xd7ff40>, acquire=, _is_owned=, _release_save=, release=, _acquire_restore=, _Verbose__verbose=False, _Condition__waiters=[]) at remote 0xd7fd10>, timeout=None, waiter=, saved_state=(1, 140737213728528))\n" -" self._acquire_restore(saved_state)\n" -"#12 Frame 0x7fffb8001a10, for file /home/david/coding/python-svn/Lib/test/lock_tests.py, line 348, in f ()\n" -" cond.wait()\n" -"#16 Frame 0x7fffb8001c40, for file /home/david/coding/python-svn/Lib/test/lock_tests.py, line 37, in task (tid=140737213728528)\n" -" f()\n" -"\n" -"Thread 104 (Thread 0x7fffdf5fe710 (LWP 10259)):\n" -"#5 Frame 0x7fffe4001580, for file /home/david/coding/python-svn/Lib/threading.py, line 155, in _acquire_restore (self=<_RLock(_Verbose__verbose=False, _RLock__owner=140737354016512, _RLock__block=, _RLock__count=1) at remote 0xd7ff40>, count_owner=(1, 140736940992272), count=1, owner=140736940992272)\n" -" self.__block.acquire()\n" -"#8 Frame 0x7fffc8002090, for file /home/david/coding/python-svn/Lib/threading.py, line 269, in wait (self=<_Condition(_Condition__lock=<_RLock(_Verbose__verbose=False, _RLock__owner=140737354016512, _RLock__block=, _RLock__count=1) at remote 0xd7ff40>, acquire=, _is_owned=, _release_save=, release=, _acquire_restore=, _Verbose__verbose=False, _Condition__waiters=[]) at remote 0xd7fd10>, timeout=None, waiter=, saved_state=(1, 140736940992272))\n" -" self._acquire_restore(saved_state)\n" -"#12 Frame 0x7fffac001c90, for file /home/david/coding/python-svn/Lib/test/lock_tests.py, line 348, in f ()\n" -" cond.wait()\n" -"#16 Frame 0x7fffac0011c0, for file /home/david/coding/python-svn/Lib/test/lock_tests.py, line 37, in task (tid=140736940992272)\n" -" f()\n" -"\n" -"Thread 1 (Thread 0x7ffff7fe2700 (LWP 10145)):\n" -"#5 Frame 0xcb5380, for file /home/david/coding/python-svn/Lib/test/lock_tests.py, line 16, in _wait ()\n" -" time.sleep(0.01)\n" -"#8 Frame 0x7fffd00024a0, for file /home/david/coding/python-svn/Lib/test/lock_tests.py, line 378, in _check_notify (self=, skipped=[], _mirrorOutput=False, testsRun=39, buffer=False, _original_stderr=, _stdout_buffer=, _stderr_buffer=, _moduleSetUpFailed=False, expectedFailures=[], errors=[], _previousTestClass=, unexpectedSuccesses=[], failures=[], shouldStop=False, failfast=False) at remote 0xc185a0>, _threads=(0,), _cleanups=[], _type_equality_funcs={: , : , : , : , , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/index.rst:3 -msgid "Python HOWTOs" -msgstr "HOWTOs Python" - -#: ../../howto/index.rst:5 -msgid "" -"Python HOWTOs are documents that cover a specific topic in-depth. Modeled on" -" the Linux Documentation Project's HOWTO collection, this collection is an " -"effort to foster documentation that's more detailed than the Python Library " -"Reference." -msgstr "" - -#: ../../howto/index.rst:39 -msgid "General:" -msgstr "" - -#: ../../howto/index.rst:41 -msgid ":ref:`annotations-howto`" -msgstr "" - -#: ../../howto/index.rst:42 -msgid ":ref:`argparse-tutorial`" -msgstr "" - -#: ../../howto/index.rst:43 -msgid ":ref:`descriptorhowto`" -msgstr "" - -#: ../../howto/index.rst:44 -msgid ":ref:`enum-howto`" -msgstr "" - -#: ../../howto/index.rst:45 -msgid ":ref:`functional-howto`" -msgstr "" - -#: ../../howto/index.rst:46 -msgid ":ref:`ipaddress-howto`" -msgstr "" - -#: ../../howto/index.rst:47 -msgid ":ref:`logging-howto`" -msgstr "" - -#: ../../howto/index.rst:48 -msgid ":ref:`logging-cookbook`" -msgstr "" - -#: ../../howto/index.rst:49 -msgid ":ref:`regex-howto`" -msgstr "" - -#: ../../howto/index.rst:50 -msgid ":ref:`sortinghowto`" -msgstr "" - -#: ../../howto/index.rst:51 -msgid ":ref:`unicode-howto`" -msgstr "" - -#: ../../howto/index.rst:52 -msgid ":ref:`urllib-howto`" -msgstr "" - -#: ../../howto/index.rst:54 -msgid "Advanced development:" -msgstr "" - -#: ../../howto/index.rst:56 -msgid ":ref:`curses-howto`" -msgstr "" - -#: ../../howto/index.rst:57 -msgid ":ref:`freethreading-python-howto`" -msgstr "" - -#: ../../howto/index.rst:58 -msgid ":ref:`freethreading-extensions-howto`" -msgstr "" - -#: ../../howto/index.rst:59 -msgid ":ref:`isolating-extensions-howto`" -msgstr "" - -#: ../../howto/index.rst:60 -msgid ":ref:`python_2.3_mro`" -msgstr "" - -#: ../../howto/index.rst:61 -msgid ":ref:`socket-howto`" -msgstr "" - -#: ../../howto/index.rst:62 -msgid ":ref:`timerfd-howto`" -msgstr "" - -#: ../../howto/index.rst:63 -msgid ":ref:`cporting-howto`" -msgstr "" - -#: ../../howto/index.rst:65 -msgid "Debugging and profiling:" -msgstr "" - -#: ../../howto/index.rst:67 -msgid ":ref:`gdb`" -msgstr "" - -#: ../../howto/index.rst:68 -msgid ":ref:`instrumentation`" -msgstr "" - -#: ../../howto/index.rst:69 -msgid ":ref:`perf_profiling`" -msgstr "" - -#: ../../howto/index.rst:70 -msgid ":ref:`remote-debugging`" -msgstr "" diff --git a/python-newest.howto--instrumentation/id.po b/python-newest.howto--instrumentation/id.po deleted file mode 100644 index 78eea5c..0000000 --- a/python-newest.howto--instrumentation/id.po +++ /dev/null @@ -1,590 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Elmo , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Elmo , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/instrumentation.rst:7 -msgid "Instrumenting CPython with DTrace and SystemTap" -msgstr "" - -#: ../../howto/instrumentation.rst:0 -msgid "author" -msgstr "penulis" - -#: ../../howto/instrumentation.rst:9 -msgid "David Malcolm" -msgstr "" - -#: ../../howto/instrumentation.rst:10 -msgid "Łukasz Langa" -msgstr "Łukasz Langa" - -#: ../../howto/instrumentation.rst:12 -msgid "" -"DTrace and SystemTap are monitoring tools, each providing a way to inspect " -"what the processes on a computer system are doing. They both use domain-" -"specific languages allowing a user to write scripts which:" -msgstr "" - -#: ../../howto/instrumentation.rst:16 -msgid "filter which processes are to be observed" -msgstr "" - -#: ../../howto/instrumentation.rst:17 -msgid "gather data from the processes of interest" -msgstr "" - -#: ../../howto/instrumentation.rst:18 -msgid "generate reports on the data" -msgstr "" - -#: ../../howto/instrumentation.rst:20 -msgid "" -"As of Python 3.6, CPython can be built with embedded \"markers\", also known" -" as \"probes\", that can be observed by a DTrace or SystemTap script, making" -" it easier to monitor what the CPython processes on a system are doing." -msgstr "" - -#: ../../howto/instrumentation.rst:27 -msgid "" -"DTrace markers are implementation details of the CPython interpreter. No " -"guarantees are made about probe compatibility between versions of CPython. " -"DTrace scripts can stop working or work incorrectly without warning when " -"changing CPython versions." -msgstr "" - -#: ../../howto/instrumentation.rst:34 -msgid "Enabling the static markers" -msgstr "" - -#: ../../howto/instrumentation.rst:36 -msgid "" -"macOS comes with built-in support for DTrace. On Linux, in order to build " -"CPython with the embedded markers for SystemTap, the SystemTap development " -"tools must be installed." -msgstr "" - -#: ../../howto/instrumentation.rst:40 -msgid "On a Linux machine, this can be done via::" -msgstr "" - -#: ../../howto/instrumentation.rst:42 -msgid "$ yum install systemtap-sdt-devel" -msgstr "" - -#: ../../howto/instrumentation.rst:44 -msgid "or::" -msgstr "atau::" - -#: ../../howto/instrumentation.rst:46 -msgid "$ sudo apt-get install systemtap-sdt-dev" -msgstr "" - -#: ../../howto/instrumentation.rst:49 -msgid "" -"CPython must then be :option:`configured with the --with-dtrace option " -"<--with-dtrace>`:" -msgstr "" - -#: ../../howto/instrumentation.rst:52 -msgid "checking for --with-dtrace... yes" -msgstr "" - -#: ../../howto/instrumentation.rst:56 -msgid "" -"On macOS, you can list available DTrace probes by running a Python process " -"in the background and listing all probes made available by the Python " -"provider::" -msgstr "" - -#: ../../howto/instrumentation.rst:60 -msgid "" -"$ python3.6 -q &\n" -"$ sudo dtrace -l -P python$! # or: dtrace -l -m python3.6\n" -"\n" -" ID PROVIDER MODULE FUNCTION NAME\n" -"29564 python18035 python3.6 _PyEval_EvalFrameDefault function-entry\n" -"29565 python18035 python3.6 dtrace_function_entry function-entry\n" -"29566 python18035 python3.6 _PyEval_EvalFrameDefault function-return\n" -"29567 python18035 python3.6 dtrace_function_return function-return\n" -"29568 python18035 python3.6 collect gc-done\n" -"29569 python18035 python3.6 collect gc-start\n" -"29570 python18035 python3.6 _PyEval_EvalFrameDefault line\n" -"29571 python18035 python3.6 maybe_dtrace_line line" -msgstr "" - -#: ../../howto/instrumentation.rst:73 -msgid "" -"On Linux, you can verify if the SystemTap static markers are present in the " -"built binary by seeing if it contains a \".note.stapsdt\" section." -msgstr "" - -#: ../../howto/instrumentation.rst:78 -msgid "" -"$ readelf -S ./python | grep .note.stapsdt\n" -"[30] .note.stapsdt NOTE 0000000000000000 00308d78" -msgstr "" - -#: ../../howto/instrumentation.rst:81 -msgid "" -"If you've built Python as a shared library (with the :option:`--enable-" -"shared` configure option), you need to look instead within the shared " -"library. For example::" -msgstr "" - -#: ../../howto/instrumentation.rst:85 -msgid "" -"$ readelf -S libpython3.3dm.so.1.0 | grep .note.stapsdt\n" -"[29] .note.stapsdt NOTE 0000000000000000 00365b68" -msgstr "" - -#: ../../howto/instrumentation.rst:88 -msgid "Sufficiently modern readelf can print the metadata::" -msgstr "" - -#: ../../howto/instrumentation.rst:90 -msgid "" -"$ readelf -n ./python\n" -"\n" -"Displaying notes found at file offset 0x00000254 with length 0x00000020:\n" -" Owner Data size Description\n" -" GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)\n" -" OS: Linux, ABI: 2.6.32\n" -"\n" -"Displaying notes found at file offset 0x00000274 with length 0x00000024:\n" -" Owner Data size Description\n" -" GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)\n" -" Build ID: df924a2b08a7e89f6e11251d4602022977af2670\n" -"\n" -"Displaying notes found at file offset 0x002d6c30 with length 0x00000144:\n" -" Owner Data size Description\n" -" stapsdt 0x00000031 NT_STAPSDT (SystemTap probe descriptors)\n" -" Provider: python\n" -" Name: gc__start\n" -" Location: 0x00000000004371c3, Base: 0x0000000000630ce2, Semaphore: 0x00000000008d6bf6\n" -" Arguments: -4@%ebx\n" -" stapsdt 0x00000030 NT_STAPSDT (SystemTap probe descriptors)\n" -" Provider: python\n" -" Name: gc__done\n" -" Location: 0x00000000004374e1, Base: 0x0000000000630ce2, Semaphore: 0x00000000008d6bf8\n" -" Arguments: -8@%rax\n" -" stapsdt 0x00000045 NT_STAPSDT (SystemTap probe descriptors)\n" -" Provider: python\n" -" Name: function__entry\n" -" Location: 0x000000000053db6c, Base: 0x0000000000630ce2, Semaphore: 0x00000000008d6be8\n" -" Arguments: 8@%rbp 8@%r12 -4@%eax\n" -" stapsdt 0x00000046 NT_STAPSDT (SystemTap probe descriptors)\n" -" Provider: python\n" -" Name: function__return\n" -" Location: 0x000000000053dba8, Base: 0x0000000000630ce2, Semaphore: 0x00000000008d6bea\n" -" Arguments: 8@%rbp 8@%r12 -4@%eax" -msgstr "" - -#: ../../howto/instrumentation.rst:125 -msgid "" -"The above metadata contains information for SystemTap describing how it can " -"patch strategically placed machine code instructions to enable the tracing " -"hooks used by a SystemTap script." -msgstr "" - -#: ../../howto/instrumentation.rst:131 -msgid "Static DTrace probes" -msgstr "" - -#: ../../howto/instrumentation.rst:133 -msgid "" -"The following example DTrace script can be used to show the call/return " -"hierarchy of a Python script, only tracing within the invocation of a " -"function called \"start\". In other words, import-time function invocations " -"are not going to be listed:" -msgstr "" - -#: ../../howto/instrumentation.rst:138 -msgid "" -"self int indent;\n" -"\n" -"python$target:::function-entry\n" -"/copyinstr(arg1) == \"start\"/\n" -"{\n" -" self->trace = 1;\n" -"}\n" -"\n" -"python$target:::function-entry\n" -"/self->trace/\n" -"{\n" -" printf(\"%d\\t%*s:\", timestamp, 15, probename);\n" -" printf(\"%*s\", self->indent, \"\");\n" -" printf(\"%s:%s:%d\\n\", basename(copyinstr(arg0)), copyinstr(arg1), arg2);\n" -" self->indent++;\n" -"}\n" -"\n" -"python$target:::function-return\n" -"/self->trace/\n" -"{\n" -" self->indent--;\n" -" printf(\"%d\\t%*s:\", timestamp, 15, probename);\n" -" printf(\"%*s\", self->indent, \"\");\n" -" printf(\"%s:%s:%d\\n\", basename(copyinstr(arg0)), copyinstr(arg1), arg2);\n" -"}\n" -"\n" -"python$target:::function-return\n" -"/copyinstr(arg1) == \"start\"/\n" -"{\n" -" self->trace = 0;\n" -"}" -msgstr "" - -#: ../../howto/instrumentation.rst:172 ../../howto/instrumentation.rst:230 -msgid "It can be invoked like this::" -msgstr "" - -#: ../../howto/instrumentation.rst:174 -msgid "$ sudo dtrace -q -s call_stack.d -c \"python3.6 script.py\"" -msgstr "" - -#: ../../howto/instrumentation.rst:176 ../../howto/instrumentation.rst:236 -msgid "The output looks like this:" -msgstr "" - -#: ../../howto/instrumentation.rst:178 -msgid "" -"156641360502280 function-entry:call_stack.py:start:23\n" -"156641360518804 function-entry: call_stack.py:function_1:1\n" -"156641360532797 function-entry: call_stack.py:function_3:9\n" -"156641360546807 function-return: call_stack.py:function_3:10\n" -"156641360563367 function-return: call_stack.py:function_1:2\n" -"156641360578365 function-entry: call_stack.py:function_2:5\n" -"156641360591757 function-entry: call_stack.py:function_1:1\n" -"156641360605556 function-entry: call_stack.py:function_3:9\n" -"156641360617482 function-return: call_stack.py:function_3:10\n" -"156641360629814 function-return: call_stack.py:function_1:2\n" -"156641360642285 function-return: call_stack.py:function_2:6\n" -"156641360656770 function-entry: call_stack.py:function_3:9\n" -"156641360669707 function-return: call_stack.py:function_3:10\n" -"156641360687853 function-entry: call_stack.py:function_4:13\n" -"156641360700719 function-return: call_stack.py:function_4:14\n" -"156641360719640 function-entry: call_stack.py:function_5:18\n" -"156641360732567 function-return: call_stack.py:function_5:21\n" -"156641360747370 function-return:call_stack.py:start:28" -msgstr "" - -#: ../../howto/instrumentation.rst:201 -msgid "Static SystemTap markers" -msgstr "" - -#: ../../howto/instrumentation.rst:203 -msgid "" -"The low-level way to use the SystemTap integration is to use the static " -"markers directly. This requires you to explicitly state the binary file " -"containing them." -msgstr "" - -#: ../../howto/instrumentation.rst:207 -msgid "" -"For example, this SystemTap script can be used to show the call/return " -"hierarchy of a Python script:" -msgstr "" - -#: ../../howto/instrumentation.rst:210 -msgid "" -"probe process(\"python\").mark(\"function__entry\") {\n" -" filename = user_string($arg1);\n" -" funcname = user_string($arg2);\n" -" lineno = $arg3;\n" -"\n" -" printf(\"%s => %s in %s:%d\\\\n\",\n" -" thread_indent(1), funcname, filename, lineno);\n" -"}\n" -"\n" -"probe process(\"python\").mark(\"function__return\") {\n" -" filename = user_string($arg1);\n" -" funcname = user_string($arg2);\n" -" lineno = $arg3;\n" -"\n" -" printf(\"%s <= %s in %s:%d\\\\n\",\n" -" thread_indent(-1), funcname, filename, lineno);\n" -"}" -msgstr "" - -#: ../../howto/instrumentation.rst:232 -msgid "" -"$ stap \\\n" -" show-call-hierarchy.stp \\\n" -" -c \"./python test.py\"" -msgstr "" - -#: ../../howto/instrumentation.rst:238 -msgid "" -"11408 python(8274): => __contains__ in Lib/_abcoll.py:362\n" -"11414 python(8274): => __getitem__ in Lib/os.py:425\n" -"11418 python(8274): => encode in Lib/os.py:490\n" -"11424 python(8274): <= encode in Lib/os.py:493\n" -"11428 python(8274): <= __getitem__ in Lib/os.py:426\n" -"11433 python(8274): <= __contains__ in Lib/_abcoll.py:366" -msgstr "" - -#: ../../howto/instrumentation.rst:247 -msgid "where the columns are:" -msgstr "" - -#: ../../howto/instrumentation.rst:249 -msgid "time in microseconds since start of script" -msgstr "" - -#: ../../howto/instrumentation.rst:250 -msgid "name of executable" -msgstr "" - -#: ../../howto/instrumentation.rst:251 -msgid "PID of process" -msgstr "" - -#: ../../howto/instrumentation.rst:253 -msgid "" -"and the remainder indicates the call/return hierarchy as the script " -"executes." -msgstr "" - -#: ../../howto/instrumentation.rst:255 -msgid "" -"For a :option:`--enable-shared` build of CPython, the markers are contained " -"within the libpython shared library, and the probe's dotted path needs to " -"reflect this. For example, this line from the above example:" -msgstr "" - -#: ../../howto/instrumentation.rst:259 -msgid "probe process(\"python\").mark(\"function__entry\") {" -msgstr "" - -#: ../../howto/instrumentation.rst:263 -msgid "should instead read:" -msgstr "" - -#: ../../howto/instrumentation.rst:265 -msgid "" -"probe " -"process(\"python\").library(\"libpython3.6dm.so.1.0\").mark(\"function__entry\")" -" {" -msgstr "" - -#: ../../howto/instrumentation.rst:269 -msgid "(assuming a :ref:`debug build ` of CPython 3.6)" -msgstr "" - -#: ../../howto/instrumentation.rst:273 -msgid "Available static markers" -msgstr "" - -#: ../../howto/instrumentation.rst:277 -msgid "" -"This marker indicates that execution of a Python function has begun. It is " -"only triggered for pure-Python (bytecode) functions." -msgstr "" - -#: ../../howto/instrumentation.rst:280 -msgid "" -"The filename, function name, and line number are provided back to the " -"tracing script as positional arguments, which must be accessed using " -"``$arg1``, ``$arg2``, ``$arg3``:" -msgstr "" - -#: ../../howto/instrumentation.rst:284 -msgid "" -"``$arg1`` : ``(const char *)`` filename, accessible using " -"``user_string($arg1)``" -msgstr "" - -#: ../../howto/instrumentation.rst:286 -msgid "" -"``$arg2`` : ``(const char *)`` function name, accessible using " -"``user_string($arg2)``" -msgstr "" - -#: ../../howto/instrumentation.rst:289 -msgid "``$arg3`` : ``int`` line number" -msgstr "" - -#: ../../howto/instrumentation.rst:293 -msgid "" -"This marker is the converse of :c:func:`!function__entry`, and indicates " -"that execution of a Python function has ended (either via ``return``, or via" -" an exception). It is only triggered for pure-Python (bytecode) functions." -msgstr "" - -#: ../../howto/instrumentation.rst:297 -msgid "The arguments are the same as for :c:func:`!function__entry`" -msgstr "" - -#: ../../howto/instrumentation.rst:301 -msgid "" -"This marker indicates a Python line is about to be executed. It is the " -"equivalent of line-by-line tracing with a Python profiler. It is not " -"triggered within C functions." -msgstr "" - -#: ../../howto/instrumentation.rst:305 -msgid "The arguments are the same as for :c:func:`!function__entry`." -msgstr "" - -#: ../../howto/instrumentation.rst:309 -msgid "" -"Fires when the Python interpreter starts a garbage collection cycle. " -"``arg0`` is the generation to scan, like :func:`gc.collect`." -msgstr "" - -#: ../../howto/instrumentation.rst:314 -msgid "" -"Fires when the Python interpreter finishes a garbage collection cycle. " -"``arg0`` is the number of collected objects." -msgstr "" - -#: ../../howto/instrumentation.rst:319 -msgid "" -"Fires before :mod:`importlib` attempts to find and load the module. ``arg0``" -" is the module name." -msgstr "" - -#: ../../howto/instrumentation.rst:326 -msgid "" -"Fires after :mod:`importlib`'s find_and_load function is called. ``arg0`` is" -" the module name, ``arg1`` indicates if module was successfully loaded." -msgstr "" - -#: ../../howto/instrumentation.rst:335 -msgid "" -"Fires when :func:`sys.audit` or :c:func:`PySys_Audit` is called. ``arg0`` is" -" the event name as C string, ``arg1`` is a :c:type:`PyObject` pointer to a " -"tuple object." -msgstr "" - -#: ../../howto/instrumentation.rst:343 -msgid "SystemTap Tapsets" -msgstr "" - -#: ../../howto/instrumentation.rst:345 -msgid "" -"The higher-level way to use the SystemTap integration is to use a " -"\"tapset\": SystemTap's equivalent of a library, which hides some of the " -"lower-level details of the static markers." -msgstr "" - -#: ../../howto/instrumentation.rst:349 -msgid "Here is a tapset file, based on a non-shared build of CPython:" -msgstr "" - -#: ../../howto/instrumentation.rst:351 -msgid "" -"/*\n" -" Provide a higher-level wrapping around the function__entry and\n" -" function__return markers:\n" -" \\*/\n" -"probe python.function.entry = process(\"python\").mark(\"function__entry\")\n" -"{\n" -" filename = user_string($arg1);\n" -" funcname = user_string($arg2);\n" -" lineno = $arg3;\n" -" frameptr = $arg4\n" -"}\n" -"probe python.function.return = process(\"python\").mark(\"function__return\")\n" -"{\n" -" filename = user_string($arg1);\n" -" funcname = user_string($arg2);\n" -" lineno = $arg3;\n" -" frameptr = $arg4\n" -"}" -msgstr "" - -#: ../../howto/instrumentation.rst:372 -msgid "" -"If this file is installed in SystemTap's tapset directory (e.g. " -"``/usr/share/systemtap/tapset``), then these additional probepoints become " -"available:" -msgstr "" - -#: ../../howto/instrumentation.rst:378 -msgid "" -"This probe point indicates that execution of a Python function has begun. It" -" is only triggered for pure-Python (bytecode) functions." -msgstr "" - -#: ../../howto/instrumentation.rst:383 -msgid "" -"This probe point is the converse of ``python.function.return``, and " -"indicates that execution of a Python function has ended (either via " -"``return``, or via an exception). It is only triggered for pure-Python " -"(bytecode) functions." -msgstr "" - -#: ../../howto/instrumentation.rst:390 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../howto/instrumentation.rst:391 -msgid "" -"This SystemTap script uses the tapset above to more cleanly implement the " -"example given above of tracing the Python function-call hierarchy, without " -"needing to directly name the static markers:" -msgstr "" - -#: ../../howto/instrumentation.rst:395 -msgid "" -"probe python.function.entry\n" -"{\n" -" printf(\"%s => %s in %s:%d\\n\",\n" -" thread_indent(1), funcname, filename, lineno);\n" -"}\n" -"\n" -"probe python.function.return\n" -"{\n" -" printf(\"%s <= %s in %s:%d\\n\",\n" -" thread_indent(-1), funcname, filename, lineno);\n" -"}" -msgstr "" - -#: ../../howto/instrumentation.rst:410 -msgid "" -"The following script uses the tapset above to provide a top-like view of all" -" running CPython code, showing the top 20 most frequently entered bytecode " -"frames, each second, across the whole system:" -msgstr "" - -#: ../../howto/instrumentation.rst:414 -msgid "" -"global fn_calls;\n" -"\n" -"probe python.function.entry\n" -"{\n" -" fn_calls[pid(), filename, funcname, lineno] += 1;\n" -"}\n" -"\n" -"probe timer.ms(1000) {\n" -" printf(\"\\033[2J\\033[1;1H\") /* clear screen \\*/\n" -" printf(\"%6s %80s %6s %30s %6s\\n\",\n" -" \"PID\", \"FILENAME\", \"LINE\", \"FUNCTION\", \"CALLS\")\n" -" foreach ([pid, filename, funcname, lineno] in fn_calls- limit 20) {\n" -" printf(\"%6d %80s %6d %30s %6d\\n\",\n" -" pid, filename, lineno, funcname,\n" -" fn_calls[pid, filename, funcname, lineno]);\n" -" }\n" -" delete fn_calls;\n" -"}" -msgstr "" diff --git a/python-newest.howto--ipaddress/id.po b/python-newest.howto--ipaddress/id.po deleted file mode 100644 index ef9449a..0000000 --- a/python-newest.howto--ipaddress/id.po +++ /dev/null @@ -1,489 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/ipaddress.rst:9 -msgid "An introduction to the ipaddress module" -msgstr "" - -#: ../../howto/ipaddress.rst:0 -msgid "author" -msgstr "penulis" - -#: ../../howto/ipaddress.rst:11 -msgid "Peter Moody" -msgstr "" - -#: ../../howto/ipaddress.rst:12 -msgid "Nick Coghlan" -msgstr "" - -#: ../../howto/ipaddress.rst-1 -msgid "Overview" -msgstr "" - -#: ../../howto/ipaddress.rst:16 -msgid "" -"This document aims to provide a gentle introduction to the :mod:`ipaddress` " -"module. It is aimed primarily at users that aren't already familiar with IP " -"networking terminology, but may also be useful to network engineers wanting " -"an overview of how :mod:`ipaddress` represents IP network addressing " -"concepts." -msgstr "" - -#: ../../howto/ipaddress.rst:24 -msgid "Creating Address/Network/Interface objects" -msgstr "" - -#: ../../howto/ipaddress.rst:26 -msgid "" -"Since :mod:`ipaddress` is a module for inspecting and manipulating IP " -"addresses, the first thing you'll want to do is create some objects. You " -"can use :mod:`ipaddress` to create objects from strings and integers." -msgstr "" - -#: ../../howto/ipaddress.rst:32 -msgid "A Note on IP Versions" -msgstr "" - -#: ../../howto/ipaddress.rst:34 -msgid "" -"For readers that aren't particularly familiar with IP addressing, it's " -"important to know that the Internet Protocol (IP) is currently in the " -"process of moving from version 4 of the protocol to version 6. This " -"transition is occurring largely because version 4 of the protocol doesn't " -"provide enough addresses to handle the needs of the whole world, especially " -"given the increasing number of devices with direct connections to the " -"internet." -msgstr "" - -#: ../../howto/ipaddress.rst:41 -msgid "" -"Explaining the details of the differences between the two versions of the " -"protocol is beyond the scope of this introduction, but readers need to at " -"least be aware that these two versions exist, and it will sometimes be " -"necessary to force the use of one version or the other." -msgstr "" - -#: ../../howto/ipaddress.rst:48 -msgid "IP Host Addresses" -msgstr "" - -#: ../../howto/ipaddress.rst:50 -msgid "" -"Addresses, often referred to as \"host addresses\" are the most basic unit " -"when working with IP addressing. The simplest way to create addresses is to " -"use the :func:`ipaddress.ip_address` factory function, which automatically " -"determines whether to create an IPv4 or IPv6 address based on the passed in " -"value:" -msgstr "" - -#: ../../howto/ipaddress.rst:61 -msgid "" -"Addresses can also be created directly from integers. Values that will fit " -"within 32 bits are assumed to be IPv4 addresses::" -msgstr "" - -#: ../../howto/ipaddress.rst:64 -msgid "" -">>> ipaddress.ip_address(3221225985)\n" -"IPv4Address('192.0.2.1')\n" -">>> ipaddress.ip_address(42540766411282592856903984951653826561)\n" -"IPv6Address('2001:db8::1')" -msgstr "" - -#: ../../howto/ipaddress.rst:69 -msgid "" -"To force the use of IPv4 or IPv6 addresses, the relevant classes can be " -"invoked directly. This is particularly useful to force creation of IPv6 " -"addresses for small integers::" -msgstr "" - -#: ../../howto/ipaddress.rst:73 -msgid "" -">>> ipaddress.ip_address(1)\n" -"IPv4Address('0.0.0.1')\n" -">>> ipaddress.IPv4Address(1)\n" -"IPv4Address('0.0.0.1')\n" -">>> ipaddress.IPv6Address(1)\n" -"IPv6Address('::1')" -msgstr "" - -#: ../../howto/ipaddress.rst:82 -msgid "Defining Networks" -msgstr "" - -#: ../../howto/ipaddress.rst:84 -msgid "" -"Host addresses are usually grouped together into IP networks, so " -":mod:`ipaddress` provides a way to create, inspect and manipulate network " -"definitions. IP network objects are constructed from strings that define the" -" range of host addresses that are part of that network. The simplest form " -"for that information is a \"network address/network prefix\" pair, where the" -" prefix defines the number of leading bits that are compared to determine " -"whether or not an address is part of the network and the network address " -"defines the expected value of those bits." -msgstr "" - -#: ../../howto/ipaddress.rst:93 -msgid "" -"As for addresses, a factory function is provided that determines the correct" -" IP version automatically::" -msgstr "" - -#: ../../howto/ipaddress.rst:96 -msgid "" -">>> ipaddress.ip_network('192.0.2.0/24')\n" -"IPv4Network('192.0.2.0/24')\n" -">>> ipaddress.ip_network('2001:db8::0/96')\n" -"IPv6Network('2001:db8::/96')" -msgstr "" - -#: ../../howto/ipaddress.rst:101 -msgid "" -"Network objects cannot have any host bits set. The practical effect of this" -" is that ``192.0.2.1/24`` does not describe a network. Such definitions are" -" referred to as interface objects since the ip-on-a-network notation is " -"commonly used to describe network interfaces of a computer on a given " -"network and are described further in the next section." -msgstr "" - -#: ../../howto/ipaddress.rst:107 -msgid "" -"By default, attempting to create a network object with host bits set will " -"result in :exc:`ValueError` being raised. To request that the additional " -"bits instead be coerced to zero, the flag ``strict=False`` can be passed to " -"the constructor::" -msgstr "" - -#: ../../howto/ipaddress.rst:112 -msgid "" -">>> ipaddress.ip_network('192.0.2.1/24')\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError: 192.0.2.1/24 has host bits set\n" -">>> ipaddress.ip_network('192.0.2.1/24', strict=False)\n" -"IPv4Network('192.0.2.0/24')" -msgstr "" - -#: ../../howto/ipaddress.rst:119 -msgid "" -"While the string form offers significantly more flexibility, networks can " -"also be defined with integers, just like host addresses. In this case, the " -"network is considered to contain only the single address identified by the " -"integer, so the network prefix includes the entire network address::" -msgstr "" - -#: ../../howto/ipaddress.rst:124 -msgid "" -">>> ipaddress.ip_network(3221225984)\n" -"IPv4Network('192.0.2.0/32')\n" -">>> ipaddress.ip_network(42540766411282592856903984951653826560)\n" -"IPv6Network('2001:db8::/128')" -msgstr "" - -#: ../../howto/ipaddress.rst:129 -msgid "" -"As with addresses, creation of a particular kind of network can be forced by" -" calling the class constructor directly instead of using the factory " -"function." -msgstr "" - -#: ../../howto/ipaddress.rst:135 -msgid "Host Interfaces" -msgstr "" - -#: ../../howto/ipaddress.rst:137 -msgid "" -"As mentioned just above, if you need to describe an address on a particular " -"network, neither the address nor the network classes are sufficient. " -"Notation like ``192.0.2.1/24`` is commonly used by network engineers and the" -" people who write tools for firewalls and routers as shorthand for \"the " -"host ``192.0.2.1`` on the network ``192.0.2.0/24``\", Accordingly, " -":mod:`ipaddress` provides a set of hybrid classes that associate an address " -"with a particular network. The interface for creation is identical to that " -"for defining network objects, except that the address portion isn't " -"constrained to being a network address." -msgstr "" - -#: ../../howto/ipaddress.rst:152 -msgid "" -"Integer inputs are accepted (as with networks), and use of a particular IP " -"version can be forced by calling the relevant constructor directly." -msgstr "" - -#: ../../howto/ipaddress.rst:157 -msgid "Inspecting Address/Network/Interface Objects" -msgstr "" - -#: ../../howto/ipaddress.rst:159 -msgid "" -"You've gone to the trouble of creating an " -"IPv(4|6)(Address|Network|Interface) object, so you probably want to get " -"information about it. :mod:`ipaddress` tries to make doing this easy and " -"intuitive." -msgstr "" - -#: ../../howto/ipaddress.rst:163 -msgid "Extracting the IP version::" -msgstr "" - -#: ../../howto/ipaddress.rst:165 -msgid "" -">>> addr4 = ipaddress.ip_address('192.0.2.1')\n" -">>> addr6 = ipaddress.ip_address('2001:db8::1')\n" -">>> addr6.version\n" -"6\n" -">>> addr4.version\n" -"4" -msgstr "" - -#: ../../howto/ipaddress.rst:172 -msgid "Obtaining the network from an interface::" -msgstr "" - -#: ../../howto/ipaddress.rst:174 -msgid "" -">>> host4 = ipaddress.ip_interface('192.0.2.1/24')\n" -">>> host4.network\n" -"IPv4Network('192.0.2.0/24')\n" -">>> host6 = ipaddress.ip_interface('2001:db8::1/96')\n" -">>> host6.network\n" -"IPv6Network('2001:db8::/96')" -msgstr "" - -#: ../../howto/ipaddress.rst:181 -msgid "Finding out how many individual addresses are in a network::" -msgstr "" - -#: ../../howto/ipaddress.rst:183 -msgid "" -">>> net4 = ipaddress.ip_network('192.0.2.0/24')\n" -">>> net4.num_addresses\n" -"256\n" -">>> net6 = ipaddress.ip_network('2001:db8::0/96')\n" -">>> net6.num_addresses\n" -"4294967296" -msgstr "" - -#: ../../howto/ipaddress.rst:190 -msgid "Iterating through the \"usable\" addresses on a network::" -msgstr "" - -#: ../../howto/ipaddress.rst:192 -msgid "" -">>> net4 = ipaddress.ip_network('192.0.2.0/24')\n" -">>> for x in net4.hosts():\n" -"... print(x)\n" -"192.0.2.1\n" -"192.0.2.2\n" -"192.0.2.3\n" -"192.0.2.4\n" -"...\n" -"192.0.2.252\n" -"192.0.2.253\n" -"192.0.2.254" -msgstr "" - -#: ../../howto/ipaddress.rst:205 -msgid "" -"Obtaining the netmask (i.e. set bits corresponding to the network prefix) or" -" the hostmask (any bits that are not part of the netmask):" -msgstr "" - -#: ../../howto/ipaddress.rst:220 -msgid "Exploding or compressing the address::" -msgstr "" - -#: ../../howto/ipaddress.rst:222 -msgid "" -">>> addr6.exploded\n" -"'2001:0db8:0000:0000:0000:0000:0000:0001'\n" -">>> addr6.compressed\n" -"'2001:db8::1'\n" -">>> net6.exploded\n" -"'2001:0db8:0000:0000:0000:0000:0000:0000/96'\n" -">>> net6.compressed\n" -"'2001:db8::/96'" -msgstr "" - -#: ../../howto/ipaddress.rst:231 -msgid "" -"While IPv4 doesn't support explosion or compression, the associated objects " -"still provide the relevant properties so that version neutral code can " -"easily ensure the most concise or most verbose form is used for IPv6 " -"addresses while still correctly handling IPv4 addresses." -msgstr "" - -#: ../../howto/ipaddress.rst:238 -msgid "Networks as lists of Addresses" -msgstr "" - -#: ../../howto/ipaddress.rst:240 -msgid "" -"It's sometimes useful to treat networks as lists. This means it is possible" -" to index them like this::" -msgstr "" - -#: ../../howto/ipaddress.rst:243 -msgid "" -">>> net4[1]\n" -"IPv4Address('192.0.2.1')\n" -">>> net4[-1]\n" -"IPv4Address('192.0.2.255')\n" -">>> net6[1]\n" -"IPv6Address('2001:db8::1')\n" -">>> net6[-1]\n" -"IPv6Address('2001:db8::ffff:ffff')" -msgstr "" - -#: ../../howto/ipaddress.rst:253 -msgid "" -"It also means that network objects lend themselves to using the list " -"membership test syntax like this::" -msgstr "" - -#: ../../howto/ipaddress.rst:256 -msgid "" -"if address in network:\n" -" # do something" -msgstr "" - -#: ../../howto/ipaddress.rst:259 -msgid "Containment testing is done efficiently based on the network prefix::" -msgstr "" - -#: ../../howto/ipaddress.rst:261 -msgid "" -">>> addr4 = ipaddress.ip_address('192.0.2.1')\n" -">>> addr4 in ipaddress.ip_network('192.0.2.0/24')\n" -"True\n" -">>> addr4 in ipaddress.ip_network('192.0.3.0/24')\n" -"False" -msgstr "" - -#: ../../howto/ipaddress.rst:269 -msgid "Comparisons" -msgstr "Perbandingan" - -#: ../../howto/ipaddress.rst:271 -msgid "" -":mod:`ipaddress` provides some simple, hopefully intuitive ways to compare " -"objects, where it makes sense::" -msgstr "" - -#: ../../howto/ipaddress.rst:274 -msgid "" -">>> ipaddress.ip_address('192.0.2.1') < ipaddress.ip_address('192.0.2.2')\n" -"True" -msgstr "" - -#: ../../howto/ipaddress.rst:277 -msgid "" -"A :exc:`TypeError` exception is raised if you try to compare objects of " -"different versions or different types." -msgstr "" - -#: ../../howto/ipaddress.rst:282 -msgid "Using IP Addresses with other modules" -msgstr "" - -#: ../../howto/ipaddress.rst:284 -msgid "" -"Other modules that use IP addresses (such as :mod:`socket`) usually won't " -"accept objects from this module directly. Instead, they must be coerced to " -"an integer or string that the other module will accept::" -msgstr "" - -#: ../../howto/ipaddress.rst:288 -msgid "" -">>> addr4 = ipaddress.ip_address('192.0.2.1')\n" -">>> str(addr4)\n" -"'192.0.2.1'\n" -">>> int(addr4)\n" -"3221225985" -msgstr "" - -#: ../../howto/ipaddress.rst:296 -msgid "Getting more detail when instance creation fails" -msgstr "" - -#: ../../howto/ipaddress.rst:298 -msgid "" -"When creating address/network/interface objects using the version-agnostic " -"factory functions, any errors will be reported as :exc:`ValueError` with a " -"generic error message that simply says the passed in value was not " -"recognized as an object of that type. The lack of a specific error is " -"because it's necessary to know whether the value is *supposed* to be IPv4 or" -" IPv6 in order to provide more detail on why it has been rejected." -msgstr "" - -#: ../../howto/ipaddress.rst:305 -msgid "" -"To support use cases where it is useful to have access to this additional " -"detail, the individual class constructors actually raise the " -":exc:`ValueError` subclasses :exc:`ipaddress.AddressValueError` and " -":exc:`ipaddress.NetmaskValueError` to indicate exactly which part of the " -"definition failed to parse correctly." -msgstr "" - -#: ../../howto/ipaddress.rst:311 -msgid "" -"The error messages are significantly more detailed when using the class " -"constructors directly. For example::" -msgstr "" - -#: ../../howto/ipaddress.rst:314 -msgid "" -">>> ipaddress.ip_address(\"192.168.0.256\")\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError: '192.168.0.256' does not appear to be an IPv4 or IPv6 address\n" -">>> ipaddress.IPv4Address(\"192.168.0.256\")\n" -"Traceback (most recent call last):\n" -" ...\n" -"ipaddress.AddressValueError: Octet 256 (> 255) not permitted in '192.168.0.256'\n" -"\n" -">>> ipaddress.ip_network(\"192.168.0.1/64\")\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError: '192.168.0.1/64' does not appear to be an IPv4 or IPv6 network\n" -">>> ipaddress.IPv4Network(\"192.168.0.1/64\")\n" -"Traceback (most recent call last):\n" -" ...\n" -"ipaddress.NetmaskValueError: '64' is not a valid netmask" -msgstr "" - -#: ../../howto/ipaddress.rst:332 -msgid "" -"However, both of the module specific exceptions have :exc:`ValueError` as " -"their parent class, so if you're not concerned with the particular type of " -"error, you can still write code like the following::" -msgstr "" - -#: ../../howto/ipaddress.rst:336 -msgid "" -"try:\n" -" network = ipaddress.IPv4Network(address)\n" -"except ValueError:\n" -" print('address/netmask is invalid for IPv4:', address)" -msgstr "" diff --git a/python-newest.howto--isolating-extensions/id.po b/python-newest.howto--isolating-extensions/id.po deleted file mode 100644 index 7e8b2d2..0000000 --- a/python-newest.howto--isolating-extensions/id.po +++ /dev/null @@ -1,922 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Akhmat Safrudin , 2022 -# oon arfiandwi , 2022 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Last-Translator: oon arfiandwi , 2022\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/isolating-extensions.rst:7 -msgid "Isolating Extension Modules" -msgstr "" - -#: ../../howto/isolating-extensions.rst-1 -msgid "Abstract" -msgstr "Abstrak" - -#: ../../howto/isolating-extensions.rst:11 -msgid "" -"Traditionally, state belonging to Python extension modules was kept in C " -"``static`` variables, which have process-wide scope. This document describes" -" problems of such per-process state and shows a safer way: per-module state." -msgstr "" - -#: ../../howto/isolating-extensions.rst:16 -msgid "" -"The document also describes how to switch to per-module state where " -"possible. This transition involves allocating space for that state, " -"potentially switching from static types to heap types, and—perhaps most " -"importantly—accessing per-module state from code." -msgstr "" - -#: ../../howto/isolating-extensions.rst:23 -msgid "Who should read this" -msgstr "" - -#: ../../howto/isolating-extensions.rst:25 -msgid "" -"This guide is written for maintainers of :ref:`C-API ` " -"extensions who would like to make that extension safer to use in " -"applications where Python itself is used as a library." -msgstr "" - -#: ../../howto/isolating-extensions.rst:31 -msgid "Background" -msgstr "" - -#: ../../howto/isolating-extensions.rst:33 -msgid "" -"An *interpreter* is the context in which Python code runs. It contains " -"configuration (e.g. the import path) and runtime state (e.g. the set of " -"imported modules)." -msgstr "" - -#: ../../howto/isolating-extensions.rst:37 -msgid "" -"Python supports running multiple interpreters in one process. There are two " -"cases to think about—users may run interpreters:" -msgstr "" - -#: ../../howto/isolating-extensions.rst:40 -msgid "" -"in sequence, with several :c:func:`Py_InitializeEx`/:c:func:`Py_FinalizeEx` " -"cycles, and" -msgstr "" - -#: ../../howto/isolating-extensions.rst:42 -msgid "" -"in parallel, managing \"sub-interpreters\" using " -":c:func:`Py_NewInterpreter`/:c:func:`Py_EndInterpreter`." -msgstr "" - -#: ../../howto/isolating-extensions.rst:45 -msgid "" -"Both cases (and combinations of them) would be most useful when embedding " -"Python within a library. Libraries generally shouldn't make assumptions " -"about the application that uses them, which include assuming a process-wide " -"\"main Python interpreter\"." -msgstr "" - -#: ../../howto/isolating-extensions.rst:50 -msgid "" -"Historically, Python extension modules don't handle this use case well. Many" -" extension modules (and even some stdlib modules) use *per-process* global " -"state, because C ``static`` variables are extremely easy to use. Thus, data " -"that should be specific to an interpreter ends up being shared between " -"interpreters. Unless the extension developer is careful, it is very easy to " -"introduce edge cases that lead to crashes when a module is loaded in more " -"than one interpreter in the same process." -msgstr "" - -#: ../../howto/isolating-extensions.rst:58 -msgid "" -"Unfortunately, *per-interpreter* state is not easy to achieve. Extension " -"authors tend to not keep multiple interpreters in mind when developing, and " -"it is currently cumbersome to test the behavior." -msgstr "" - -#: ../../howto/isolating-extensions.rst:63 -msgid "Enter Per-Module State" -msgstr "" - -#: ../../howto/isolating-extensions.rst:65 -msgid "" -"Instead of focusing on per-interpreter state, Python's C API is evolving to " -"better support the more granular *per-module* state. This means that C-level" -" data should be attached to a *module object*. Each interpreter creates its " -"own module object, keeping the data separate. For testing the isolation, " -"multiple module objects corresponding to a single extension can even be " -"loaded in a single interpreter." -msgstr "" - -#: ../../howto/isolating-extensions.rst:72 -msgid "" -"Per-module state provides an easy way to think about lifetime and resource " -"ownership: the extension module will initialize when a module object is " -"created, and clean up when it's freed. In this regard, a module is just like" -" any other :c:expr:`PyObject *`; there are no \"on interpreter shutdown\" " -"hooks to think—or forget—about." -msgstr "" - -#: ../../howto/isolating-extensions.rst:78 -msgid "" -"Note that there are use cases for different kinds of \"globals\": per-" -"process, per-interpreter, per-thread or per-task state. With per-module " -"state as the default, these are still possible, but you should treat them as" -" exceptional cases: if you need them, you should give them additional care " -"and testing. (Note that this guide does not cover them.)" -msgstr "" - -#: ../../howto/isolating-extensions.rst:87 -msgid "Isolated Module Objects" -msgstr "" - -#: ../../howto/isolating-extensions.rst:89 -msgid "" -"The key point to keep in mind when developing an extension module is that " -"several module objects can be created from a single shared library. For " -"example:" -msgstr "" - -#: ../../howto/isolating-extensions.rst:93 -msgid "" -">>> import sys\n" -">>> import binascii\n" -">>> old_binascii = binascii\n" -">>> del sys.modules['binascii']\n" -">>> import binascii # create a new module object\n" -">>> old_binascii == binascii\n" -"False" -msgstr "" - -#: ../../howto/isolating-extensions.rst:103 -msgid "" -"As a rule of thumb, the two modules should be completely independent. All " -"objects and state specific to the module should be encapsulated within the " -"module object, not shared with other module objects, and cleaned up when the" -" module object is deallocated. Since this just is a rule of thumb, " -"exceptions are possible (see `Managing Global State`_), but they will need " -"more thought and attention to edge cases." -msgstr "" - -#: ../../howto/isolating-extensions.rst:111 -msgid "" -"While some modules could do with less stringent restrictions, isolated " -"modules make it easier to set clear expectations and guidelines that work " -"across a variety of use cases." -msgstr "" - -#: ../../howto/isolating-extensions.rst:117 -msgid "Surprising Edge Cases" -msgstr "" - -#: ../../howto/isolating-extensions.rst:119 -msgid "" -"Note that isolated modules do create some surprising edge cases. Most " -"notably, each module object will typically not share its classes and " -"exceptions with other similar modules. Continuing from the `example above " -"`__, note that ``old_binascii.Error`` and " -"``binascii.Error`` are separate objects. In the following code, the " -"exception is *not* caught:" -msgstr "" - -#: ../../howto/isolating-extensions.rst:126 -msgid "" -">>> old_binascii.Error == binascii.Error\n" -"False\n" -">>> try:\n" -"... old_binascii.unhexlify(b'qwertyuiop')\n" -"... except binascii.Error:\n" -"... print('boo')\n" -"...\n" -"Traceback (most recent call last):\n" -" File \"\", line 2, in \n" -"binascii.Error: Non-hexadecimal digit found" -msgstr "" - -#: ../../howto/isolating-extensions.rst:139 -msgid "" -"This is expected. Notice that pure-Python modules behave the same way: it is" -" a part of how Python works." -msgstr "" - -#: ../../howto/isolating-extensions.rst:142 -msgid "" -"The goal is to make extension modules safe at the C level, not to make hacks" -" behave intuitively. Mutating ``sys.modules`` \"manually\" counts as a hack." -msgstr "" - -#: ../../howto/isolating-extensions.rst:148 -msgid "Making Modules Safe with Multiple Interpreters" -msgstr "" - -#: ../../howto/isolating-extensions.rst:152 -msgid "Managing Global State" -msgstr "" - -#: ../../howto/isolating-extensions.rst:154 -msgid "" -"Sometimes, the state associated with a Python module is not specific to that" -" module, but to the entire process (or something else \"more global\" than a" -" module). For example:" -msgstr "" - -#: ../../howto/isolating-extensions.rst:158 -msgid "The ``readline`` module manages *the* terminal." -msgstr "" - -#: ../../howto/isolating-extensions.rst:159 -msgid "" -"A module running on a circuit board wants to control *the* on-board LED." -msgstr "" - -#: ../../howto/isolating-extensions.rst:162 -msgid "" -"In these cases, the Python module should provide *access* to the global " -"state, rather than *own* it. If possible, write the module so that multiple " -"copies of it can access the state independently (along with other libraries," -" whether for Python or other languages). If that is not possible, consider " -"explicit locking." -msgstr "" - -#: ../../howto/isolating-extensions.rst:168 -msgid "" -"If it is necessary to use process-global state, the simplest way to avoid " -"issues with multiple interpreters is to explicitly prevent a module from " -"being loaded more than once per process—see `Opt-Out: Limiting to One Module" -" Object per Process`_." -msgstr "" - -#: ../../howto/isolating-extensions.rst:175 -msgid "Managing Per-Module State" -msgstr "" - -#: ../../howto/isolating-extensions.rst:177 -msgid "" -"To use per-module state, use :ref:`multi-phase extension module " -"initialization `. This signals that your module " -"supports multiple interpreters correctly." -msgstr "" - -#: ../../howto/isolating-extensions.rst:181 -msgid "" -"Set ``PyModuleDef.m_size`` to a positive number to request that many bytes " -"of storage local to the module. Usually, this will be set to the size of " -"some module-specific ``struct``, which can store all of the module's C-level" -" state. In particular, it is where you should put pointers to classes " -"(including exceptions, but excluding static types) and settings (e.g. " -"``csv``'s :py:data:`~csv.field_size_limit`) which the C code needs to " -"function." -msgstr "" - -#: ../../howto/isolating-extensions.rst:190 -msgid "" -"Another option is to store state in the module's ``__dict__``, but you must " -"avoid crashing when users modify ``__dict__`` from Python code. This usually" -" means error- and type-checking at the C level, which is easy to get wrong " -"and hard to test sufficiently." -msgstr "" - -#: ../../howto/isolating-extensions.rst:195 -msgid "" -"However, if module state is not needed in C code, storing it in ``__dict__``" -" only is a good idea." -msgstr "" - -#: ../../howto/isolating-extensions.rst:198 -msgid "" -"If the module state includes ``PyObject`` pointers, the module object must " -"hold references to those objects and implement the module-level hooks " -"``m_traverse``, ``m_clear`` and ``m_free``. These work like ``tp_traverse``," -" ``tp_clear`` and ``tp_free`` of a class. Adding them will require some work" -" and make the code longer; this is the price for modules which can be " -"unloaded cleanly." -msgstr "" - -#: ../../howto/isolating-extensions.rst:205 -msgid "" -"An example of a module with per-module state is currently available as " -"`xxlimited " -"`__; " -"example module initialization shown at the bottom of the file." -msgstr "" - -#: ../../howto/isolating-extensions.rst:211 -msgid "Opt-Out: Limiting to One Module Object per Process" -msgstr "" - -#: ../../howto/isolating-extensions.rst:213 -msgid "" -"A non-negative ``PyModuleDef.m_size`` signals that a module supports " -"multiple interpreters correctly. If this is not yet the case for your " -"module, you can explicitly make your module loadable only once per process. " -"For example::" -msgstr "" - -#: ../../howto/isolating-extensions.rst:218 -msgid "" -"static int loaded = 0;\n" -"\n" -"static int\n" -"exec_module(PyObject* module)\n" -"{\n" -" if (loaded) {\n" -" PyErr_SetString(PyExc_ImportError,\n" -" \"cannot load module more than once per process\");\n" -" return -1;\n" -" }\n" -" loaded = 1;\n" -" // ... rest of initialization\n" -"}" -msgstr "" - -#: ../../howto/isolating-extensions.rst:234 -msgid "Module State Access from Functions" -msgstr "" - -#: ../../howto/isolating-extensions.rst:236 -msgid "" -"Accessing the state from module-level functions is straightforward. " -"Functions get the module object as their first argument; for extracting the " -"state, you can use ``PyModule_GetState``::" -msgstr "" - -#: ../../howto/isolating-extensions.rst:240 -msgid "" -"static PyObject *\n" -"func(PyObject *module, PyObject *args)\n" -"{\n" -" my_struct *state = (my_struct*)PyModule_GetState(module);\n" -" if (state == NULL) {\n" -" return NULL;\n" -" }\n" -" // ... rest of logic\n" -"}" -msgstr "" - -#: ../../howto/isolating-extensions.rst:251 -msgid "" -"``PyModule_GetState`` may return ``NULL`` without setting an exception if " -"there is no module state, i.e. ``PyModuleDef.m_size`` was zero. In your own " -"module, you're in control of ``m_size``, so this is easy to prevent." -msgstr "" - -#: ../../howto/isolating-extensions.rst:258 -msgid "Heap Types" -msgstr "" - -#: ../../howto/isolating-extensions.rst:260 -msgid "" -"Traditionally, types defined in C code are *static*; that is, ``static " -"PyTypeObject`` structures defined directly in code and initialized using " -"``PyType_Ready()``." -msgstr "" - -#: ../../howto/isolating-extensions.rst:264 -msgid "" -"Such types are necessarily shared across the process. Sharing them between " -"module objects requires paying attention to any state they own or access. To" -" limit the possible issues, static types are immutable at the Python level: " -"for example, you can't set ``str.myattribute = 123``." -msgstr "" - -#: ../../howto/isolating-extensions.rst:270 -msgid "" -"Sharing truly immutable objects between interpreters is fine, as long as " -"they don't provide access to mutable objects. However, in CPython, every " -"Python object has a mutable implementation detail: the reference count. " -"Changes to the refcount are guarded by the GIL. Thus, code that shares any " -"Python objects across interpreters implicitly depends on CPython's current, " -"process-wide GIL." -msgstr "" - -#: ../../howto/isolating-extensions.rst:277 -msgid "" -"Because they are immutable and process-global, static types cannot access " -"\"their\" module state. If any method of such a type requires access to " -"module state, the type must be converted to a *heap-allocated type*, or " -"*heap type* for short. These correspond more closely to classes created by " -"Python's ``class`` statement." -msgstr "" - -#: ../../howto/isolating-extensions.rst:284 -msgid "For new modules, using heap types by default is a good rule of thumb." -msgstr "" - -#: ../../howto/isolating-extensions.rst:288 -msgid "Changing Static Types to Heap Types" -msgstr "" - -#: ../../howto/isolating-extensions.rst:290 -msgid "" -"Static types can be converted to heap types, but note that the heap type API" -" was not designed for \"lossless\" conversion from static types—that is, " -"creating a type that works exactly like a given static type. So, when " -"rewriting the class definition in a new API, you are likely to " -"unintentionally change a few details (e.g. pickleability or inherited " -"slots). Always test the details that are important to you." -msgstr "" - -#: ../../howto/isolating-extensions.rst:299 -msgid "" -"Watch out for the following two points in particular (but note that this is " -"not a comprehensive list):" -msgstr "" - -#: ../../howto/isolating-extensions.rst:302 -msgid "" -"Unlike static types, heap type objects are mutable by default. Use the " -":c:macro:`Py_TPFLAGS_IMMUTABLETYPE` flag to prevent mutability." -msgstr "" - -#: ../../howto/isolating-extensions.rst:304 -msgid "" -"Heap types inherit :c:member:`~PyTypeObject.tp_new` by default, so it may " -"become possible to instantiate them from Python code. You can prevent this " -"with the :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag." -msgstr "" - -#: ../../howto/isolating-extensions.rst:310 -msgid "Defining Heap Types" -msgstr "" - -#: ../../howto/isolating-extensions.rst:312 -msgid "" -"Heap types can be created by filling a :c:struct:`PyType_Spec` structure, a " -"description or \"blueprint\" of a class, and calling " -":c:func:`PyType_FromModuleAndSpec` to construct a new class object." -msgstr "" - -#: ../../howto/isolating-extensions.rst:317 -msgid "" -"Other functions, like :c:func:`PyType_FromSpec`, can also create heap types," -" but :c:func:`PyType_FromModuleAndSpec` associates the module with the " -"class, allowing access to the module state from methods." -msgstr "" - -#: ../../howto/isolating-extensions.rst:321 -msgid "" -"The class should generally be stored in *both* the module state (for safe " -"access from C) and the module's ``__dict__`` (for access from Python code)." -msgstr "" - -#: ../../howto/isolating-extensions.rst:327 -msgid "Garbage-Collection Protocol" -msgstr "" - -#: ../../howto/isolating-extensions.rst:329 -msgid "" -"Instances of heap types hold a reference to their type. This ensures that " -"the type isn't destroyed before all its instances are, but may result in " -"reference cycles that need to be broken by the garbage collector." -msgstr "" - -#: ../../howto/isolating-extensions.rst:334 -msgid "" -"To avoid memory leaks, instances of heap types must implement the garbage " -"collection protocol. That is, heap types should:" -msgstr "" - -#: ../../howto/isolating-extensions.rst:338 -msgid "Have the :c:macro:`Py_TPFLAGS_HAVE_GC` flag." -msgstr "" - -#: ../../howto/isolating-extensions.rst:339 -msgid "" -"Define a traverse function using ``Py_tp_traverse``, which visits the type " -"(e.g. using ``Py_VISIT(Py_TYPE(self))``)." -msgstr "" - -#: ../../howto/isolating-extensions.rst:342 -msgid "" -"Please refer to the documentation of :c:macro:`Py_TPFLAGS_HAVE_GC` and " -":c:member:`~PyTypeObject.tp_traverse` for additional considerations." -msgstr "" - -#: ../../howto/isolating-extensions.rst:346 -msgid "" -"The API for defining heap types grew organically, leaving it somewhat " -"awkward to use in its current state. The following sections will guide you " -"through common issues." -msgstr "" - -#: ../../howto/isolating-extensions.rst:352 -msgid "``tp_traverse`` in Python 3.8 and lower" -msgstr "" - -#: ../../howto/isolating-extensions.rst:354 -msgid "" -"The requirement to visit the type from ``tp_traverse`` was added in Python " -"3.9. If you support Python 3.8 and lower, the traverse function must *not* " -"visit the type, so it must be more complicated::" -msgstr "" - -#: ../../howto/isolating-extensions.rst:358 -msgid "" -"static int my_traverse(PyObject *self, visitproc visit, void *arg)\n" -"{\n" -" if (Py_Version >= 0x03090000) {\n" -" Py_VISIT(Py_TYPE(self));\n" -" }\n" -" return 0;\n" -"}" -msgstr "" - -#: ../../howto/isolating-extensions.rst:366 -msgid "" -"Unfortunately, :c:data:`Py_Version` was only added in Python 3.11. As a " -"replacement, use:" -msgstr "" - -#: ../../howto/isolating-extensions.rst:369 -msgid ":c:macro:`PY_VERSION_HEX`, if not using the stable ABI, or" -msgstr "" - -#: ../../howto/isolating-extensions.rst:370 -msgid "" -":py:data:`sys.version_info` (via :c:func:`PySys_GetObject` and " -":c:func:`PyArg_ParseTuple`)." -msgstr "" - -#: ../../howto/isolating-extensions.rst:375 -msgid "Delegating ``tp_traverse``" -msgstr "" - -#: ../../howto/isolating-extensions.rst:377 -msgid "" -"If your traverse function delegates to the " -":c:member:`~PyTypeObject.tp_traverse` of its base class (or another type), " -"ensure that ``Py_TYPE(self)`` is visited only once. Note that only heap type" -" are expected to visit the type in ``tp_traverse``." -msgstr "" - -#: ../../howto/isolating-extensions.rst:382 -msgid "For example, if your traverse function includes::" -msgstr "" - -#: ../../howto/isolating-extensions.rst:384 -msgid "base->tp_traverse(self, visit, arg)" -msgstr "" - -#: ../../howto/isolating-extensions.rst:386 -msgid "...and ``base`` may be a static type, then it should also include::" -msgstr "" - -#: ../../howto/isolating-extensions.rst:388 -msgid "" -"if (base->tp_flags & Py_TPFLAGS_HEAPTYPE) {\n" -" // a heap type's tp_traverse already visited Py_TYPE(self)\n" -"} else {\n" -" if (Py_Version >= 0x03090000) {\n" -" Py_VISIT(Py_TYPE(self));\n" -" }\n" -"}" -msgstr "" - -#: ../../howto/isolating-extensions.rst:396 -msgid "" -"It is not necessary to handle the type's reference count in " -":c:member:`~PyTypeObject.tp_new` and :c:member:`~PyTypeObject.tp_clear`." -msgstr "" - -#: ../../howto/isolating-extensions.rst:401 -msgid "Defining ``tp_dealloc``" -msgstr "" - -#: ../../howto/isolating-extensions.rst:403 -msgid "" -"If your type has a custom :c:member:`~PyTypeObject.tp_dealloc` function, it " -"needs to:" -msgstr "" - -#: ../../howto/isolating-extensions.rst:406 -msgid "" -"call :c:func:`PyObject_GC_UnTrack` before any fields are invalidated, and" -msgstr "" - -#: ../../howto/isolating-extensions.rst:407 -msgid "decrement the reference count of the type." -msgstr "" - -#: ../../howto/isolating-extensions.rst:409 -msgid "" -"To keep the type valid while ``tp_free`` is called, the type's refcount " -"needs to be decremented *after* the instance is deallocated. For example::" -msgstr "" - -#: ../../howto/isolating-extensions.rst:412 -msgid "" -"static void my_dealloc(PyObject *self)\n" -"{\n" -" PyObject_GC_UnTrack(self);\n" -" ...\n" -" PyTypeObject *type = Py_TYPE(self);\n" -" type->tp_free(self);\n" -" Py_DECREF(type);\n" -"}" -msgstr "" - -#: ../../howto/isolating-extensions.rst:421 -msgid "" -"The default ``tp_dealloc`` function does this, so if your type does *not* " -"override ``tp_dealloc`` you don't need to add it." -msgstr "" - -#: ../../howto/isolating-extensions.rst:427 -msgid "Not overriding ``tp_free``" -msgstr "" - -#: ../../howto/isolating-extensions.rst:429 -msgid "" -"The :c:member:`~PyTypeObject.tp_free` slot of a heap type must be set to " -":c:func:`PyObject_GC_Del`. This is the default; do not override it." -msgstr "" - -#: ../../howto/isolating-extensions.rst:435 -msgid "Avoiding ``PyObject_New``" -msgstr "" - -#: ../../howto/isolating-extensions.rst:437 -msgid "GC-tracked objects need to be allocated using GC-aware functions." -msgstr "" - -#: ../../howto/isolating-extensions.rst:439 -msgid "If you use use :c:func:`PyObject_New` or :c:func:`PyObject_NewVar`:" -msgstr "" - -#: ../../howto/isolating-extensions.rst:441 -msgid "" -"Get and call type's :c:member:`~PyTypeObject.tp_alloc` slot, if possible. " -"That is, replace ``TYPE *o = PyObject_New(TYPE, typeobj)`` with::" -msgstr "" - -#: ../../howto/isolating-extensions.rst:444 -msgid "TYPE *o = typeobj->tp_alloc(typeobj, 0);" -msgstr "" - -#: ../../howto/isolating-extensions.rst:446 -msgid "" -"Replace ``o = PyObject_NewVar(TYPE, typeobj, size)`` with the same, but use " -"size instead of the 0." -msgstr "" - -#: ../../howto/isolating-extensions.rst:449 -msgid "" -"If the above is not possible (e.g. inside a custom ``tp_alloc``), call " -":c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar`::" -msgstr "" - -#: ../../howto/isolating-extensions.rst:452 -msgid "" -"TYPE *o = PyObject_GC_New(TYPE, typeobj);\n" -"\n" -"TYPE *o = PyObject_GC_NewVar(TYPE, typeobj, size);" -msgstr "" - -#: ../../howto/isolating-extensions.rst:458 -msgid "Module State Access from Classes" -msgstr "" - -#: ../../howto/isolating-extensions.rst:460 -msgid "" -"If you have a type object defined with :c:func:`PyType_FromModuleAndSpec`, " -"you can call :c:func:`PyType_GetModule` to get the associated module, and " -"then :c:func:`PyModule_GetState` to get the module's state." -msgstr "" - -#: ../../howto/isolating-extensions.rst:464 -msgid "" -"To save a some tedious error-handling boilerplate code, you can combine " -"these two steps with :c:func:`PyType_GetModuleState`, resulting in::" -msgstr "" - -#: ../../howto/isolating-extensions.rst:467 -msgid "" -"my_struct *state = (my_struct*)PyType_GetModuleState(type);\n" -"if (state == NULL) {\n" -" return NULL;\n" -"}" -msgstr "" - -#: ../../howto/isolating-extensions.rst:474 -msgid "Module State Access from Regular Methods" -msgstr "" - -#: ../../howto/isolating-extensions.rst:476 -msgid "" -"Accessing the module-level state from methods of a class is somewhat more " -"complicated, but is possible thanks to API introduced in Python 3.9. To get " -"the state, you need to first get the *defining class*, and then get the " -"module state from it." -msgstr "" - -#: ../../howto/isolating-extensions.rst:481 -msgid "" -"The largest roadblock is getting *the class a method was defined in*, or " -"that method's \"defining class\" for short. The defining class can have a " -"reference to the module it is part of." -msgstr "" - -#: ../../howto/isolating-extensions.rst:485 -msgid "" -"Do not confuse the defining class with ``Py_TYPE(self)``. If the method is " -"called on a *subclass* of your type, ``Py_TYPE(self)`` will refer to that " -"subclass, which may be defined in different module than yours." -msgstr "" - -#: ../../howto/isolating-extensions.rst:490 -msgid "" -"The following Python code can illustrate the concept. " -"``Base.get_defining_class`` returns ``Base`` even if ``type(self) == Sub``:" -msgstr "" - -#: ../../howto/isolating-extensions.rst:494 -msgid "" -"class Base:\n" -" def get_type_of_self(self):\n" -" return type(self)\n" -"\n" -" def get_defining_class(self):\n" -" return __class__\n" -"\n" -"class Sub(Base):\n" -" pass" -msgstr "" - -#: ../../howto/isolating-extensions.rst:506 -msgid "" -"For a method to get its \"defining class\", it must use the " -":ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS ` :c:type:`calling convention ` and" -" the corresponding :c:type:`PyCMethod` signature::" -msgstr "" - -#: ../../howto/isolating-extensions.rst:511 -msgid "" -"PyObject *PyCMethod(\n" -" PyObject *self, // object the method was called on\n" -" PyTypeObject *defining_class, // defining class\n" -" PyObject *const *args, // C array of arguments\n" -" Py_ssize_t nargs, // length of \"args\"\n" -" PyObject *kwnames) // NULL, or dict of keyword arguments" -msgstr "" - -#: ../../howto/isolating-extensions.rst:518 -msgid "" -"Once you have the defining class, call :c:func:`PyType_GetModuleState` to " -"get the state of its associated module." -msgstr "" - -#: ../../howto/isolating-extensions.rst:521 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../howto/isolating-extensions.rst:523 -msgid "" -"static PyObject *\n" -"example_method(PyObject *self,\n" -" PyTypeObject *defining_class,\n" -" PyObject *const *args,\n" -" Py_ssize_t nargs,\n" -" PyObject *kwnames)\n" -"{\n" -" my_struct *state = (my_struct*)PyType_GetModuleState(defining_class);\n" -" if (state == NULL) {\n" -" return NULL;\n" -" }\n" -" ... // rest of logic\n" -"}\n" -"\n" -"PyDoc_STRVAR(example_method_doc, \"...\");\n" -"\n" -"static PyMethodDef my_methods[] = {\n" -" {\"example_method\",\n" -" (PyCFunction)(void(*)(void))example_method,\n" -" METH_METHOD|METH_FASTCALL|METH_KEYWORDS,\n" -" example_method_doc}\n" -" {NULL},\n" -"}" -msgstr "" - -#: ../../howto/isolating-extensions.rst:549 -msgid "Module State Access from Slot Methods, Getters and Setters" -msgstr "" - -#: ../../howto/isolating-extensions.rst:553 -msgid "This is new in Python 3.11." -msgstr "" - -#: ../../howto/isolating-extensions.rst:561 -msgid "" -"Slot methods—the fast C equivalents for special methods, such as " -":c:member:`~PyNumberMethods.nb_add` for :py:attr:`~object.__add__` or " -":c:member:`~PyTypeObject.tp_new` for initialization—have a very simple API " -"that doesn't allow passing in the defining class, unlike with " -":c:type:`PyCMethod`. The same goes for getters and setters defined with " -":c:type:`PyGetSetDef`." -msgstr "" - -#: ../../howto/isolating-extensions.rst:568 -msgid "" -"To access the module state in these cases, use the " -":c:func:`PyType_GetModuleByDef` function, and pass in the module definition." -" Once you have the module, call :c:func:`PyModule_GetState` to get the " -"state::" -msgstr "" - -#: ../../howto/isolating-extensions.rst:573 -msgid "" -"PyObject *module = PyType_GetModuleByDef(Py_TYPE(self), &module_def);\n" -"my_struct *state = (my_struct*)PyModule_GetState(module);\n" -"if (state == NULL) {\n" -" return NULL;\n" -"}" -msgstr "" - -#: ../../howto/isolating-extensions.rst:579 -msgid "" -":c:func:`!PyType_GetModuleByDef` works by searching the :term:`method " -"resolution order` (i.e. all superclasses) for the first superclass that has " -"a corresponding module." -msgstr "" - -#: ../../howto/isolating-extensions.rst:585 -msgid "" -"In very exotic cases (inheritance chains spanning multiple modules created " -"from the same definition), :c:func:`!PyType_GetModuleByDef` might not return" -" the module of the true defining class. However, it will always return a " -"module with the same definition, ensuring a compatible C memory layout." -msgstr "" - -#: ../../howto/isolating-extensions.rst:593 -msgid "Lifetime of the Module State" -msgstr "" - -#: ../../howto/isolating-extensions.rst:595 -msgid "" -"When a module object is garbage-collected, its module state is freed. For " -"each pointer to (a part of) the module state, you must hold a reference to " -"the module object." -msgstr "" - -#: ../../howto/isolating-extensions.rst:599 -msgid "" -"Usually this is not an issue, because types created with " -":c:func:`PyType_FromModuleAndSpec`, and their instances, hold a reference to" -" the module. However, you must be careful in reference counting when you " -"reference module state from other places, such as callbacks for external " -"libraries." -msgstr "" - -#: ../../howto/isolating-extensions.rst:608 -msgid "Open Issues" -msgstr "" - -#: ../../howto/isolating-extensions.rst:610 -msgid "Several issues around per-module state and heap types are still open." -msgstr "" - -#: ../../howto/isolating-extensions.rst:612 -msgid "" -"Discussions about improving the situation are best held on the `capi-sig " -"mailing list `__." -msgstr "" - -#: ../../howto/isolating-extensions.rst:617 -msgid "Per-Class Scope" -msgstr "" - -#: ../../howto/isolating-extensions.rst:619 -msgid "" -"It is currently (as of Python 3.11) not possible to attach state to " -"individual *types* without relying on CPython implementation details (which " -"may change in the future—perhaps, ironically, to allow a proper solution for" -" per-class scope)." -msgstr "" - -#: ../../howto/isolating-extensions.rst:626 -msgid "Lossless Conversion to Heap Types" -msgstr "" - -#: ../../howto/isolating-extensions.rst:628 -msgid "" -"The heap type API was not designed for \"lossless\" conversion from static " -"types; that is, creating a type that works exactly like a given static type." -msgstr "" diff --git a/python-newest.howto--logging-cookbook/id.po b/python-newest.howto--logging-cookbook/id.po deleted file mode 100644 index 8e7a935..0000000 --- a/python-newest.howto--logging-cookbook/id.po +++ /dev/null @@ -1,5114 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2022 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: oon arfiandwi , 2022\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/logging-cookbook.rst:5 -msgid "Logging Cookbook" -msgstr "" - -#: ../../howto/logging-cookbook.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../howto/logging-cookbook.rst:7 -msgid "Vinay Sajip " -msgstr "Vinay Sajip " - -#: ../../howto/logging-cookbook.rst:9 -msgid "" -"This page contains a number of recipes related to logging, which have been " -"found useful in the past. For links to tutorial and reference information, " -"please see :ref:`cookbook-ref-links`." -msgstr "" - -#: ../../howto/logging-cookbook.rst:16 -msgid "Using logging in multiple modules" -msgstr "" - -#: ../../howto/logging-cookbook.rst:18 -msgid "" -"Multiple calls to ``logging.getLogger('someLogger')`` return a reference to " -"the same logger object. This is true not only within the same module, but " -"also across modules as long as it is in the same Python interpreter process." -" It is true for references to the same object; additionally, application " -"code can define and configure a parent logger in one module and create (but " -"not configure) a child logger in a separate module, and all logger calls to " -"the child will pass up to the parent. Here is a main module::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:26 -msgid "" -"import logging\n" -"import auxiliary_module\n" -"\n" -"# create logger with 'spam_application'\n" -"logger = logging.getLogger('spam_application')\n" -"logger.setLevel(logging.DEBUG)\n" -"# create file handler which logs even debug messages\n" -"fh = logging.FileHandler('spam.log')\n" -"fh.setLevel(logging.DEBUG)\n" -"# create console handler with a higher log level\n" -"ch = logging.StreamHandler()\n" -"ch.setLevel(logging.ERROR)\n" -"# create formatter and add it to the handlers\n" -"formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')\n" -"fh.setFormatter(formatter)\n" -"ch.setFormatter(formatter)\n" -"# add the handlers to the logger\n" -"logger.addHandler(fh)\n" -"logger.addHandler(ch)\n" -"\n" -"logger.info('creating an instance of auxiliary_module.Auxiliary')\n" -"a = auxiliary_module.Auxiliary()\n" -"logger.info('created an instance of auxiliary_module.Auxiliary')\n" -"logger.info('calling auxiliary_module.Auxiliary.do_something')\n" -"a.do_something()\n" -"logger.info('finished auxiliary_module.Auxiliary.do_something')\n" -"logger.info('calling auxiliary_module.some_function()')\n" -"auxiliary_module.some_function()\n" -"logger.info('done with auxiliary_module.some_function()')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:56 -msgid "Here is the auxiliary module::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:58 -msgid "" -"import logging\n" -"\n" -"# create logger\n" -"module_logger = logging.getLogger('spam_application.auxiliary')\n" -"\n" -"class Auxiliary:\n" -" def __init__(self):\n" -" self.logger = logging.getLogger('spam_application.auxiliary.Auxiliary')\n" -" self.logger.info('creating an instance of Auxiliary')\n" -"\n" -" def do_something(self):\n" -" self.logger.info('doing something')\n" -" a = 1 + 1\n" -" self.logger.info('done doing something')\n" -"\n" -"def some_function():\n" -" module_logger.info('received a call to \"some_function\"')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:76 -msgid "The output looks like this:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:78 -msgid "" -"2005-03-23 23:47:11,663 - spam_application - INFO -\n" -" creating an instance of auxiliary_module.Auxiliary\n" -"2005-03-23 23:47:11,665 - spam_application.auxiliary.Auxiliary - INFO -\n" -" creating an instance of Auxiliary\n" -"2005-03-23 23:47:11,665 - spam_application - INFO -\n" -" created an instance of auxiliary_module.Auxiliary\n" -"2005-03-23 23:47:11,668 - spam_application - INFO -\n" -" calling auxiliary_module.Auxiliary.do_something\n" -"2005-03-23 23:47:11,668 - spam_application.auxiliary.Auxiliary - INFO -\n" -" doing something\n" -"2005-03-23 23:47:11,669 - spam_application.auxiliary.Auxiliary - INFO -\n" -" done doing something\n" -"2005-03-23 23:47:11,670 - spam_application - INFO -\n" -" finished auxiliary_module.Auxiliary.do_something\n" -"2005-03-23 23:47:11,671 - spam_application - INFO -\n" -" calling auxiliary_module.some_function()\n" -"2005-03-23 23:47:11,672 - spam_application.auxiliary - INFO -\n" -" received a call to 'some_function'\n" -"2005-03-23 23:47:11,673 - spam_application - INFO -\n" -" done with auxiliary_module.some_function()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:102 -msgid "Logging from multiple threads" -msgstr "" - -#: ../../howto/logging-cookbook.rst:104 -msgid "" -"Logging from multiple threads requires no special effort. The following " -"example shows logging from the main (initial) thread and another thread::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:107 -msgid "" -"import logging\n" -"import threading\n" -"import time\n" -"\n" -"def worker(arg):\n" -" while not arg['stop']:\n" -" logging.debug('Hi from myfunc')\n" -" time.sleep(0.5)\n" -"\n" -"def main():\n" -" logging.basicConfig(level=logging.DEBUG, format='%(relativeCreated)6d %(threadName)s %(message)s')\n" -" info = {'stop': False}\n" -" thread = threading.Thread(target=worker, args=(info,))\n" -" thread.start()\n" -" while True:\n" -" try:\n" -" logging.debug('Hello from main')\n" -" time.sleep(0.75)\n" -" except KeyboardInterrupt:\n" -" info['stop'] = True\n" -" break\n" -" thread.join()\n" -"\n" -"if __name__ == '__main__':\n" -" main()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:133 -msgid "When run, the script should print something like the following:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:135 -msgid "" -" 0 Thread-1 Hi from myfunc\n" -" 3 MainThread Hello from main\n" -" 505 Thread-1 Hi from myfunc\n" -" 755 MainThread Hello from main\n" -"1007 Thread-1 Hi from myfunc\n" -"1507 MainThread Hello from main\n" -"1508 Thread-1 Hi from myfunc\n" -"2010 Thread-1 Hi from myfunc\n" -"2258 MainThread Hello from main\n" -"2512 Thread-1 Hi from myfunc\n" -"3009 MainThread Hello from main\n" -"3013 Thread-1 Hi from myfunc\n" -"3515 Thread-1 Hi from myfunc\n" -"3761 MainThread Hello from main\n" -"4017 Thread-1 Hi from myfunc\n" -"4513 MainThread Hello from main\n" -"4518 Thread-1 Hi from myfunc" -msgstr "" - -#: ../../howto/logging-cookbook.rst:155 -msgid "" -"This shows the logging output interspersed as one might expect. This " -"approach works for more threads than shown here, of course." -msgstr "" - -#: ../../howto/logging-cookbook.rst:159 -msgid "Multiple handlers and formatters" -msgstr "" - -#: ../../howto/logging-cookbook.rst:161 -msgid "" -"Loggers are plain Python objects. The :meth:`~Logger.addHandler` method has" -" no minimum or maximum quota for the number of handlers you may add. " -"Sometimes it will be beneficial for an application to log all messages of " -"all severities to a text file while simultaneously logging errors or above " -"to the console. To set this up, simply configure the appropriate handlers." -" The logging calls in the application code will remain unchanged. Here is " -"a slight modification to the previous simple module-based configuration " -"example::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:169 -msgid "" -"import logging\n" -"\n" -"logger = logging.getLogger('simple_example')\n" -"logger.setLevel(logging.DEBUG)\n" -"# create file handler which logs even debug messages\n" -"fh = logging.FileHandler('spam.log')\n" -"fh.setLevel(logging.DEBUG)\n" -"# create console handler with a higher log level\n" -"ch = logging.StreamHandler()\n" -"ch.setLevel(logging.ERROR)\n" -"# create formatter and add it to the handlers\n" -"formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')\n" -"ch.setFormatter(formatter)\n" -"fh.setFormatter(formatter)\n" -"# add the handlers to logger\n" -"logger.addHandler(ch)\n" -"logger.addHandler(fh)\n" -"\n" -"# 'application' code\n" -"logger.debug('debug message')\n" -"logger.info('info message')\n" -"logger.warning('warn message')\n" -"logger.error('error message')\n" -"logger.critical('critical message')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:194 -msgid "" -"Notice that the 'application' code does not care about multiple handlers. " -"All that changed was the addition and configuration of a new handler named " -"*fh*." -msgstr "" - -#: ../../howto/logging-cookbook.rst:197 -msgid "" -"The ability to create new handlers with higher- or lower-severity filters " -"can be very helpful when writing and testing an application. Instead of " -"using many ``print`` statements for debugging, use ``logger.debug``: Unlike " -"the print statements, which you will have to delete or comment out later, " -"the logger.debug statements can remain intact in the source code and remain " -"dormant until you need them again. At that time, the only change that needs" -" to happen is to modify the severity level of the logger and/or handler to " -"debug." -msgstr "" - -#: ../../howto/logging-cookbook.rst:208 -msgid "Logging to multiple destinations" -msgstr "" - -#: ../../howto/logging-cookbook.rst:210 -msgid "" -"Let's say you want to log to console and file with different message formats" -" and in differing circumstances. Say you want to log messages with levels of" -" DEBUG and higher to file, and those messages at level INFO and higher to " -"the console. Let's also assume that the file should contain timestamps, but " -"the console messages should not. Here's how you can achieve this::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:216 -msgid "" -"import logging\n" -"\n" -"# set up logging to file - see previous section for more details\n" -"logging.basicConfig(level=logging.DEBUG,\n" -" format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',\n" -" datefmt='%m-%d %H:%M',\n" -" filename='/tmp/myapp.log',\n" -" filemode='w')\n" -"# define a Handler which writes INFO messages or higher to the sys.stderr\n" -"console = logging.StreamHandler()\n" -"console.setLevel(logging.INFO)\n" -"# set a format which is simpler for console use\n" -"formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')\n" -"# tell the handler to use this format\n" -"console.setFormatter(formatter)\n" -"# add the handler to the root logger\n" -"logging.getLogger('').addHandler(console)\n" -"\n" -"# Now, we can log to the root logger, or any other logger. First the root...\n" -"logging.info('Jackdaws love my big sphinx of quartz.')\n" -"\n" -"# Now, define a couple of other loggers which might represent areas in your\n" -"# application:\n" -"\n" -"logger1 = logging.getLogger('myapp.area1')\n" -"logger2 = logging.getLogger('myapp.area2')\n" -"\n" -"logger1.debug('Quick zephyrs blow, vexing daft Jim.')\n" -"logger1.info('How quickly daft jumping zebras vex.')\n" -"logger2.warning('Jail zesty vixen who grabbed pay from quack.')\n" -"logger2.error('The five boxing wizards jump quickly.')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:248 -msgid "When you run this, on the console you will see" -msgstr "" - -#: ../../howto/logging-cookbook.rst:250 -msgid "" -"root : INFO Jackdaws love my big sphinx of quartz.\n" -"myapp.area1 : INFO How quickly daft jumping zebras vex.\n" -"myapp.area2 : WARNING Jail zesty vixen who grabbed pay from quack.\n" -"myapp.area2 : ERROR The five boxing wizards jump quickly." -msgstr "" - -#: ../../howto/logging-cookbook.rst:257 -msgid "and in the file you will see something like" -msgstr "" - -#: ../../howto/logging-cookbook.rst:259 -msgid "" -"10-22 22:19 root INFO Jackdaws love my big sphinx of quartz.\n" -"10-22 22:19 myapp.area1 DEBUG Quick zephyrs blow, vexing daft Jim.\n" -"10-22 22:19 myapp.area1 INFO How quickly daft jumping zebras vex.\n" -"10-22 22:19 myapp.area2 WARNING Jail zesty vixen who grabbed pay from quack.\n" -"10-22 22:19 myapp.area2 ERROR The five boxing wizards jump quickly." -msgstr "" - -#: ../../howto/logging-cookbook.rst:267 -msgid "" -"As you can see, the DEBUG message only shows up in the file. The other " -"messages are sent to both destinations." -msgstr "" - -#: ../../howto/logging-cookbook.rst:270 -msgid "" -"This example uses console and file handlers, but you can use any number and " -"combination of handlers you choose." -msgstr "" - -#: ../../howto/logging-cookbook.rst:273 -msgid "" -"Note that the above choice of log filename ``/tmp/myapp.log`` implies use of" -" a standard location for temporary files on POSIX systems. On Windows, you " -"may need to choose a different directory name for the log - just ensure that" -" the directory exists and that you have the permissions to create and update" -" files in it." -msgstr "" - -#: ../../howto/logging-cookbook.rst:282 -msgid "Custom handling of levels" -msgstr "" - -#: ../../howto/logging-cookbook.rst:284 -msgid "" -"Sometimes, you might want to do something slightly different from the " -"standard handling of levels in handlers, where all levels above a threshold " -"get processed by a handler. To do this, you need to use filters. Let's look " -"at a scenario where you want to arrange things as follows:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:289 -msgid "Send messages of severity ``INFO`` and ``WARNING`` to ``sys.stdout``" -msgstr "" - -#: ../../howto/logging-cookbook.rst:290 -msgid "Send messages of severity ``ERROR`` and above to ``sys.stderr``" -msgstr "" - -#: ../../howto/logging-cookbook.rst:291 -msgid "Send messages of severity ``DEBUG`` and above to file ``app.log``" -msgstr "" - -#: ../../howto/logging-cookbook.rst:293 -msgid "Suppose you configure logging with the following JSON:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:295 -msgid "" -"{\n" -" \"version\": 1,\n" -" \"disable_existing_loggers\": false,\n" -" \"formatters\": {\n" -" \"simple\": {\n" -" \"format\": \"%(levelname)-8s - %(message)s\"\n" -" }\n" -" },\n" -" \"handlers\": {\n" -" \"stdout\": {\n" -" \"class\": \"logging.StreamHandler\",\n" -" \"level\": \"INFO\",\n" -" \"formatter\": \"simple\",\n" -" \"stream\": \"ext://sys.stdout\"\n" -" },\n" -" \"stderr\": {\n" -" \"class\": \"logging.StreamHandler\",\n" -" \"level\": \"ERROR\",\n" -" \"formatter\": \"simple\",\n" -" \"stream\": \"ext://sys.stderr\"\n" -" },\n" -" \"file\": {\n" -" \"class\": \"logging.FileHandler\",\n" -" \"formatter\": \"simple\",\n" -" \"filename\": \"app.log\",\n" -" \"mode\": \"w\"\n" -" }\n" -" },\n" -" \"root\": {\n" -" \"level\": \"DEBUG\",\n" -" \"handlers\": [\n" -" \"stderr\",\n" -" \"stdout\",\n" -" \"file\"\n" -" ]\n" -" }\n" -"}" -msgstr "" - -#: ../../howto/logging-cookbook.rst:335 -msgid "" -"This configuration does *almost* what we want, except that ``sys.stdout`` " -"would show messages of severity ``ERROR`` and only events of this severity " -"and higher will be tracked as well as ``INFO`` and ``WARNING`` messages. To " -"prevent this, we can set up a filter which excludes those messages and add " -"it to the relevant handler. This can be configured by adding a ``filters`` " -"section parallel to ``formatters`` and ``handlers``:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:341 -msgid "" -"{\n" -" \"filters\": {\n" -" \"warnings_and_below\": {\n" -" \"()\" : \"__main__.filter_maker\",\n" -" \"level\": \"WARNING\"\n" -" }\n" -" }\n" -"}" -msgstr "" - -#: ../../howto/logging-cookbook.rst:352 -msgid "and changing the section on the ``stdout`` handler to add it:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:354 -msgid "" -"{\n" -" \"stdout\": {\n" -" \"class\": \"logging.StreamHandler\",\n" -" \"level\": \"INFO\",\n" -" \"formatter\": \"simple\",\n" -" \"stream\": \"ext://sys.stdout\",\n" -" \"filters\": [\"warnings_and_below\"]\n" -" }\n" -"}" -msgstr "" - -#: ../../howto/logging-cookbook.rst:366 -msgid "" -"A filter is just a function, so we can define the ``filter_maker`` (a " -"factory function) as follows:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:369 -msgid "" -"def filter_maker(level):\n" -" level = getattr(logging, level)\n" -"\n" -" def filter(record):\n" -" return record.levelno <= level\n" -"\n" -" return filter" -msgstr "" - -#: ../../howto/logging-cookbook.rst:379 -msgid "" -"This converts the string argument passed in to a numeric level, and returns " -"a function which only returns ``True`` if the level of the passed in record " -"is at or below the specified level. Note that in this example I have defined" -" the ``filter_maker`` in a test script ``main.py`` that I run from the " -"command line, so its module will be ``__main__`` - hence the " -"``__main__.filter_maker`` in the filter configuration. You will need to " -"change that if you define it in a different module." -msgstr "" - -#: ../../howto/logging-cookbook.rst:387 -msgid "With the filter added, we can run ``main.py``, which in full is:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:389 -msgid "" -"import json\n" -"import logging\n" -"import logging.config\n" -"\n" -"CONFIG = '''\n" -"{\n" -" \"version\": 1,\n" -" \"disable_existing_loggers\": false,\n" -" \"formatters\": {\n" -" \"simple\": {\n" -" \"format\": \"%(levelname)-8s - %(message)s\"\n" -" }\n" -" },\n" -" \"filters\": {\n" -" \"warnings_and_below\": {\n" -" \"()\" : \"__main__.filter_maker\",\n" -" \"level\": \"WARNING\"\n" -" }\n" -" },\n" -" \"handlers\": {\n" -" \"stdout\": {\n" -" \"class\": \"logging.StreamHandler\",\n" -" \"level\": \"INFO\",\n" -" \"formatter\": \"simple\",\n" -" \"stream\": \"ext://sys.stdout\",\n" -" \"filters\": [\"warnings_and_below\"]\n" -" },\n" -" \"stderr\": {\n" -" \"class\": \"logging.StreamHandler\",\n" -" \"level\": \"ERROR\",\n" -" \"formatter\": \"simple\",\n" -" \"stream\": \"ext://sys.stderr\"\n" -" },\n" -" \"file\": {\n" -" \"class\": \"logging.FileHandler\",\n" -" \"formatter\": \"simple\",\n" -" \"filename\": \"app.log\",\n" -" \"mode\": \"w\"\n" -" }\n" -" },\n" -" \"root\": {\n" -" \"level\": \"DEBUG\",\n" -" \"handlers\": [\n" -" \"stderr\",\n" -" \"stdout\",\n" -" \"file\"\n" -" ]\n" -" }\n" -"}\n" -"'''\n" -"\n" -"def filter_maker(level):\n" -" level = getattr(logging, level)\n" -"\n" -" def filter(record):\n" -" return record.levelno <= level\n" -"\n" -" return filter\n" -"\n" -"logging.config.dictConfig(json.loads(CONFIG))\n" -"logging.debug('A DEBUG message')\n" -"logging.info('An INFO message')\n" -"logging.warning('A WARNING message')\n" -"logging.error('An ERROR message')\n" -"logging.critical('A CRITICAL message')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:457 -msgid "And after running it like this:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:459 -msgid "python main.py 2>stderr.log >stdout.log" -msgstr "" - -#: ../../howto/logging-cookbook.rst:463 -msgid "We can see the results are as expected:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:465 -msgid "" -"$ more *.log\n" -"::::::::::::::\n" -"app.log\n" -"::::::::::::::\n" -"DEBUG - A DEBUG message\n" -"INFO - An INFO message\n" -"WARNING - A WARNING message\n" -"ERROR - An ERROR message\n" -"CRITICAL - A CRITICAL message\n" -"::::::::::::::\n" -"stderr.log\n" -"::::::::::::::\n" -"ERROR - An ERROR message\n" -"CRITICAL - A CRITICAL message\n" -"::::::::::::::\n" -"stdout.log\n" -"::::::::::::::\n" -"INFO - An INFO message\n" -"WARNING - A WARNING message" -msgstr "" - -#: ../../howto/logging-cookbook.rst:489 -msgid "Configuration server example" -msgstr "" - -#: ../../howto/logging-cookbook.rst:491 -msgid "" -"Here is an example of a module using the logging configuration server::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:493 -msgid "" -"import logging\n" -"import logging.config\n" -"import time\n" -"import os\n" -"\n" -"# read initial config file\n" -"logging.config.fileConfig('logging.conf')\n" -"\n" -"# create and start listener on port 9999\n" -"t = logging.config.listen(9999)\n" -"t.start()\n" -"\n" -"logger = logging.getLogger('simpleExample')\n" -"\n" -"try:\n" -" # loop through logging calls to see the difference\n" -" # new configurations make, until Ctrl+C is pressed\n" -" while True:\n" -" logger.debug('debug message')\n" -" logger.info('info message')\n" -" logger.warning('warn message')\n" -" logger.error('error message')\n" -" logger.critical('critical message')\n" -" time.sleep(5)\n" -"except KeyboardInterrupt:\n" -" # cleanup\n" -" logging.config.stopListening()\n" -" t.join()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:522 -msgid "" -"And here is a script that takes a filename and sends that file to the " -"server, properly preceded with the binary-encoded length, as the new logging" -" configuration::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:526 -msgid "" -"#!/usr/bin/env python\n" -"import socket, sys, struct\n" -"\n" -"with open(sys.argv[1], 'rb') as f:\n" -" data_to_send = f.read()\n" -"\n" -"HOST = 'localhost'\n" -"PORT = 9999\n" -"s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n" -"print('connecting...')\n" -"s.connect((HOST, PORT))\n" -"print('sending config...')\n" -"s.send(struct.pack('>L', len(data_to_send)))\n" -"s.send(data_to_send)\n" -"s.close()\n" -"print('complete')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:547 -msgid "Dealing with handlers that block" -msgstr "" - -#: ../../howto/logging-cookbook.rst:551 -msgid "" -"Sometimes you have to get your logging handlers to do their work without " -"blocking the thread you're logging from. This is common in web applications," -" though of course it also occurs in other scenarios." -msgstr "" - -#: ../../howto/logging-cookbook.rst:555 -msgid "" -"A common culprit which demonstrates sluggish behaviour is the " -":class:`SMTPHandler`: sending emails can take a long time, for a number of " -"reasons outside the developer's control (for example, a poorly performing " -"mail or network infrastructure). But almost any network-based handler can " -"block: Even a :class:`SocketHandler` operation may do a DNS query under the " -"hood which is too slow (and this query can be deep in the socket library " -"code, below the Python layer, and outside your control)." -msgstr "" - -#: ../../howto/logging-cookbook.rst:563 -msgid "" -"One solution is to use a two-part approach. For the first part, attach only " -"a :class:`QueueHandler` to those loggers which are accessed from " -"performance-critical threads. They simply write to their queue, which can be" -" sized to a large enough capacity or initialized with no upper bound to " -"their size. The write to the queue will typically be accepted quickly, " -"though you will probably need to catch the :exc:`queue.Full` exception as a " -"precaution in your code. If you are a library developer who has performance-" -"critical threads in their code, be sure to document this (together with a " -"suggestion to attach only ``QueueHandlers`` to your loggers) for the benefit" -" of other developers who will use your code." -msgstr "" - -#: ../../howto/logging-cookbook.rst:574 -msgid "" -"The second part of the solution is :class:`QueueListener`, which has been " -"designed as the counterpart to :class:`QueueHandler`. A " -":class:`QueueListener` is very simple: it's passed a queue and some " -"handlers, and it fires up an internal thread which listens to its queue for " -"LogRecords sent from ``QueueHandlers`` (or any other source of " -"``LogRecords``, for that matter). The ``LogRecords`` are removed from the " -"queue and passed to the handlers for processing." -msgstr "" - -#: ../../howto/logging-cookbook.rst:582 -msgid "" -"The advantage of having a separate :class:`QueueListener` class is that you " -"can use the same instance to service multiple ``QueueHandlers``. This is " -"more resource-friendly than, say, having threaded versions of the existing " -"handler classes, which would eat up one thread per handler for no particular" -" benefit." -msgstr "" - -#: ../../howto/logging-cookbook.rst:587 -msgid "An example of using these two classes follows (imports omitted)::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:589 -msgid "" -"que = queue.Queue(-1) # no limit on size\n" -"queue_handler = QueueHandler(que)\n" -"handler = logging.StreamHandler()\n" -"listener = QueueListener(que, handler)\n" -"root = logging.getLogger()\n" -"root.addHandler(queue_handler)\n" -"formatter = logging.Formatter('%(threadName)s: %(message)s')\n" -"handler.setFormatter(formatter)\n" -"listener.start()\n" -"# The log output will display the thread which generated\n" -"# the event (the main thread) rather than the internal\n" -"# thread which monitors the internal queue. This is what\n" -"# you want to happen.\n" -"root.warning('Look out!')\n" -"listener.stop()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:605 -msgid "which, when run, will produce:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:607 -msgid "MainThread: Look out!" -msgstr "" - -#: ../../howto/logging-cookbook.rst:611 -msgid "" -"Although the earlier discussion wasn't specifically talking about async " -"code, but rather about slow logging handlers, it should be noted that when " -"logging from async code, network and even file handlers could lead to " -"problems (blocking the event loop) because some logging is done from " -":mod:`asyncio` internals. It might be best, if any async code is used in an " -"application, to use the above approach for logging, so that any blocking " -"code runs only in the ``QueueListener`` thread." -msgstr "" - -#: ../../howto/logging-cookbook.rst:619 -msgid "" -"Prior to Python 3.5, the :class:`QueueListener` always passed every message " -"received from the queue to every handler it was initialized with. (This was " -"because it was assumed that level filtering was all done on the other side, " -"where the queue is filled.) From 3.5 onwards, this behaviour can be changed " -"by passing a keyword argument ``respect_handler_level=True`` to the " -"listener's constructor. When this is done, the listener compares the level " -"of each message with the handler's level, and only passes a message to a " -"handler if it's appropriate to do so." -msgstr "" - -#: ../../howto/logging-cookbook.rst:629 -msgid "" -"The :class:`QueueListener` can be started (and stopped) via the " -":keyword:`with` statement. For example:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:633 -msgid "" -"with QueueListener(que, handler) as listener:\n" -" # The queue listener automatically starts\n" -" # when the 'with' block is entered.\n" -" pass\n" -"# The queue listener automatically stops once\n" -"# the 'with' block is exited." -msgstr "" - -#: ../../howto/logging-cookbook.rst:645 -msgid "Sending and receiving logging events across a network" -msgstr "" - -#: ../../howto/logging-cookbook.rst:647 -msgid "" -"Let's say you want to send logging events across a network, and handle them " -"at the receiving end. A simple way of doing this is attaching a " -":class:`SocketHandler` instance to the root logger at the sending end::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:651 -msgid "" -"import logging, logging.handlers\n" -"\n" -"rootLogger = logging.getLogger('')\n" -"rootLogger.setLevel(logging.DEBUG)\n" -"socketHandler = logging.handlers.SocketHandler('localhost',\n" -" logging.handlers.DEFAULT_TCP_LOGGING_PORT)\n" -"# don't bother with a formatter, since a socket handler sends the event as\n" -"# an unformatted pickle\n" -"rootLogger.addHandler(socketHandler)\n" -"\n" -"# Now, we can log to the root logger, or any other logger. First the root...\n" -"logging.info('Jackdaws love my big sphinx of quartz.')\n" -"\n" -"# Now, define a couple of other loggers which might represent areas in your\n" -"# application:\n" -"\n" -"logger1 = logging.getLogger('myapp.area1')\n" -"logger2 = logging.getLogger('myapp.area2')\n" -"\n" -"logger1.debug('Quick zephyrs blow, vexing daft Jim.')\n" -"logger1.info('How quickly daft jumping zebras vex.')\n" -"logger2.warning('Jail zesty vixen who grabbed pay from quack.')\n" -"logger2.error('The five boxing wizards jump quickly.')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:675 -msgid "" -"At the receiving end, you can set up a receiver using the " -":mod:`socketserver` module. Here is a basic working example::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:678 -msgid "" -"import pickle\n" -"import logging\n" -"import logging.handlers\n" -"import socketserver\n" -"import struct\n" -"\n" -"\n" -"class LogRecordStreamHandler(socketserver.StreamRequestHandler):\n" -" \"\"\"Handler for a streaming logging request.\n" -"\n" -" This basically logs the record using whatever logging policy is\n" -" configured locally.\n" -" \"\"\"\n" -"\n" -" def handle(self):\n" -" \"\"\"\n" -" Handle multiple requests - each expected to be a 4-byte length,\n" -" followed by the LogRecord in pickle format. Logs the record\n" -" according to whatever policy is configured locally.\n" -" \"\"\"\n" -" while True:\n" -" chunk = self.connection.recv(4)\n" -" if len(chunk) < 4:\n" -" break\n" -" slen = struct.unpack('>L', chunk)[0]\n" -" chunk = self.connection.recv(slen)\n" -" while len(chunk) < slen:\n" -" chunk = chunk + self.connection.recv(slen - len(chunk))\n" -" obj = self.unPickle(chunk)\n" -" record = logging.makeLogRecord(obj)\n" -" self.handleLogRecord(record)\n" -"\n" -" def unPickle(self, data):\n" -" return pickle.loads(data)\n" -"\n" -" def handleLogRecord(self, record):\n" -" # if a name is specified, we use the named logger rather than the one\n" -" # implied by the record.\n" -" if self.server.logname is not None:\n" -" name = self.server.logname\n" -" else:\n" -" name = record.name\n" -" logger = logging.getLogger(name)\n" -" # N.B. EVERY record gets logged. This is because Logger.handle\n" -" # is normally called AFTER logger-level filtering. If you want\n" -" # to do filtering, do it at the client end to save wasting\n" -" # cycles and network bandwidth!\n" -" logger.handle(record)\n" -"\n" -"class LogRecordSocketReceiver(socketserver.ThreadingTCPServer):\n" -" \"\"\"\n" -" Simple TCP socket-based logging receiver suitable for testing.\n" -" \"\"\"\n" -"\n" -" allow_reuse_address = True\n" -"\n" -" def __init__(self, host='localhost',\n" -" port=logging.handlers.DEFAULT_TCP_LOGGING_PORT,\n" -" handler=LogRecordStreamHandler):\n" -" socketserver.ThreadingTCPServer.__init__(self, (host, port), handler)\n" -" self.abort = 0\n" -" self.timeout = 1\n" -" self.logname = None\n" -"\n" -" def serve_until_stopped(self):\n" -" import select\n" -" abort = 0\n" -" while not abort:\n" -" rd, wr, ex = select.select([self.socket.fileno()],\n" -" [], [],\n" -" self.timeout)\n" -" if rd:\n" -" self.handle_request()\n" -" abort = self.abort\n" -"\n" -"def main():\n" -" logging.basicConfig(\n" -" format='%(relativeCreated)5d %(name)-15s %(levelname)-8s %(message)s')\n" -" tcpserver = LogRecordSocketReceiver()\n" -" print('About to start TCP server...')\n" -" tcpserver.serve_until_stopped()\n" -"\n" -"if __name__ == '__main__':\n" -" main()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:763 -msgid "" -"First run the server, and then the client. On the client side, nothing is " -"printed on the console; on the server side, you should see something like:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:766 -msgid "" -"About to start TCP server...\n" -" 59 root INFO Jackdaws love my big sphinx of quartz.\n" -" 59 myapp.area1 DEBUG Quick zephyrs blow, vexing daft Jim.\n" -" 69 myapp.area1 INFO How quickly daft jumping zebras vex.\n" -" 69 myapp.area2 WARNING Jail zesty vixen who grabbed pay from quack.\n" -" 69 myapp.area2 ERROR The five boxing wizards jump quickly." -msgstr "" - -#: ../../howto/logging-cookbook.rst:775 -msgid "" -"Note that there are some security issues with pickle in some scenarios. If " -"these affect you, you can use an alternative serialization scheme by " -"overriding the :meth:`~SocketHandler.makePickle` method and implementing " -"your alternative there, as well as adapting the above script to use your " -"alternative serialization." -msgstr "" - -#: ../../howto/logging-cookbook.rst:783 -msgid "Running a logging socket listener in production" -msgstr "" - -#: ../../howto/logging-cookbook.rst:787 -msgid "" -"To run a logging listener in production, you may need to use a process-" -"management tool such as `Supervisor `_. `Here is a " -"Gist `__ which provides the bare-bones files to run " -"the above functionality using Supervisor. It consists of the following " -"files:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:794 -msgid "File" -msgstr "" - -#: ../../howto/logging-cookbook.rst:794 -msgid "Purpose" -msgstr "" - -#: ../../howto/logging-cookbook.rst:796 -msgid ":file:`prepare.sh`" -msgstr "" - -#: ../../howto/logging-cookbook.rst:796 -msgid "A Bash script to prepare the environment for testing" -msgstr "" - -#: ../../howto/logging-cookbook.rst:799 -msgid ":file:`supervisor.conf`" -msgstr "" - -#: ../../howto/logging-cookbook.rst:799 -msgid "" -"The Supervisor configuration file, which has entries for the listener and a " -"multi-process web application" -msgstr "" - -#: ../../howto/logging-cookbook.rst:803 -msgid ":file:`ensure_app.sh`" -msgstr "" - -#: ../../howto/logging-cookbook.rst:803 -msgid "" -"A Bash script to ensure that Supervisor is running with the above " -"configuration" -msgstr "" - -#: ../../howto/logging-cookbook.rst:806 -msgid ":file:`log_listener.py`" -msgstr "" - -#: ../../howto/logging-cookbook.rst:806 -msgid "" -"The socket listener program which receives log events and records them to a " -"file" -msgstr "" - -#: ../../howto/logging-cookbook.rst:809 -msgid ":file:`main.py`" -msgstr "" - -#: ../../howto/logging-cookbook.rst:809 -msgid "" -"A simple web application which performs logging via a socket connected to " -"the listener" -msgstr "" - -#: ../../howto/logging-cookbook.rst:812 -msgid ":file:`webapp.json`" -msgstr "" - -#: ../../howto/logging-cookbook.rst:812 -msgid "A JSON configuration file for the web application" -msgstr "" - -#: ../../howto/logging-cookbook.rst:814 -msgid ":file:`client.py`" -msgstr "" - -#: ../../howto/logging-cookbook.rst:814 -msgid "A Python script to exercise the web application" -msgstr "" - -#: ../../howto/logging-cookbook.rst:817 -msgid "" -"The web application uses `Gunicorn `_, which is a " -"popular web application server that starts multiple worker processes to " -"handle requests. This example setup shows how the workers can write to the " -"same log file without conflicting with one another --- they all go through " -"the socket listener." -msgstr "" - -#: ../../howto/logging-cookbook.rst:822 -msgid "To test these files, do the following in a POSIX environment:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:824 -msgid "" -"Download `the Gist `__ as a ZIP archive using the " -":guilabel:`Download ZIP` button." -msgstr "" - -#: ../../howto/logging-cookbook.rst:827 -msgid "Unzip the above files from the archive into a scratch directory." -msgstr "" - -#: ../../howto/logging-cookbook.rst:829 -msgid "" -"In the scratch directory, run ``bash prepare.sh`` to get things ready. This " -"creates a :file:`run` subdirectory to contain Supervisor-related and log " -"files, and a :file:`venv` subdirectory to contain a virtual environment into" -" which ``bottle``, ``gunicorn`` and ``supervisor`` are installed." -msgstr "" - -#: ../../howto/logging-cookbook.rst:834 -msgid "" -"Run ``bash ensure_app.sh`` to ensure that Supervisor is running with the " -"above configuration." -msgstr "" - -#: ../../howto/logging-cookbook.rst:837 -msgid "" -"Run ``venv/bin/python client.py`` to exercise the web application, which " -"will lead to records being written to the log." -msgstr "" - -#: ../../howto/logging-cookbook.rst:840 -msgid "" -"Inspect the log files in the :file:`run` subdirectory. You should see the " -"most recent log lines in files matching the pattern :file:`app.log*`. They " -"won't be in any particular order, since they have been handled concurrently " -"by different worker processes in a non-deterministic way." -msgstr "" - -#: ../../howto/logging-cookbook.rst:845 -msgid "" -"You can shut down the listener and the web application by running " -"``venv/bin/supervisorctl -c supervisor.conf shutdown``." -msgstr "" - -#: ../../howto/logging-cookbook.rst:848 -msgid "" -"You may need to tweak the configuration files in the unlikely event that the" -" configured ports clash with something else in your test environment." -msgstr "" - -#: ../../howto/logging-cookbook.rst:851 -msgid "" -"The default configuration uses a TCP socket on port 9020. You can use a Unix" -" Domain socket instead of a TCP socket by doing the following:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:854 -msgid "" -"In :file:`listener.json`, add a ``socket`` key with the path to the domain " -"socket you want to use. If this key is present, the listener listens on the " -"corresponding domain socket and not on a TCP socket (the ``port`` key is " -"ignored)." -msgstr "" - -#: ../../howto/logging-cookbook.rst:859 -msgid "" -"In :file:`webapp.json`, change the socket handler configuration dictionary " -"so that the ``host`` value is the path to the domain socket, and set the " -"``port`` value to ``null``." -msgstr "" - -#: ../../howto/logging-cookbook.rst:869 -msgid "Adding contextual information to your logging output" -msgstr "" - -#: ../../howto/logging-cookbook.rst:871 -msgid "" -"Sometimes you want logging output to contain contextual information in " -"addition to the parameters passed to the logging call. For example, in a " -"networked application, it may be desirable to log client-specific " -"information in the log (e.g. remote client's username, or IP address). " -"Although you could use the *extra* parameter to achieve this, it's not " -"always convenient to pass the information in this way. While it might be " -"tempting to create :class:`Logger` instances on a per-connection basis, this" -" is not a good idea because these instances are not garbage collected. While" -" this is not a problem in practice, when the number of :class:`Logger` " -"instances is dependent on the level of granularity you want to use in " -"logging an application, it could be hard to manage if the number of " -":class:`Logger` instances becomes effectively unbounded." -msgstr "" - -#: ../../howto/logging-cookbook.rst:886 -msgid "Using LoggerAdapters to impart contextual information" -msgstr "" - -#: ../../howto/logging-cookbook.rst:888 -msgid "" -"An easy way in which you can pass contextual information to be output along " -"with logging event information is to use the :class:`LoggerAdapter` class. " -"This class is designed to look like a :class:`Logger`, so that you can call " -":meth:`debug`, :meth:`info`, :meth:`warning`, :meth:`error`, " -":meth:`exception`, :meth:`critical` and :meth:`log`. These methods have the " -"same signatures as their counterparts in :class:`Logger`, so you can use the" -" two types of instances interchangeably." -msgstr "" - -#: ../../howto/logging-cookbook.rst:896 -msgid "" -"When you create an instance of :class:`LoggerAdapter`, you pass it a " -":class:`Logger` instance and a dict-like object which contains your " -"contextual information. When you call one of the logging methods on an " -"instance of :class:`LoggerAdapter`, it delegates the call to the underlying " -"instance of :class:`Logger` passed to its constructor, and arranges to pass " -"the contextual information in the delegated call. Here's a snippet from the " -"code of :class:`LoggerAdapter`::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:904 -msgid "" -"def debug(self, msg, /, *args, **kwargs):\n" -" \"\"\"\n" -" Delegate a debug call to the underlying logger, after adding\n" -" contextual information from this adapter instance.\n" -" \"\"\"\n" -" msg, kwargs = self.process(msg, kwargs)\n" -" self.logger.debug(msg, *args, **kwargs)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:912 -msgid "" -"The :meth:`~LoggerAdapter.process` method of :class:`LoggerAdapter` is where" -" the contextual information is added to the logging output. It's passed the " -"message and keyword arguments of the logging call, and it passes back " -"(potentially) modified versions of these to use in the call to the " -"underlying logger. The default implementation of this method leaves the " -"message alone, but inserts an 'extra' key in the keyword argument whose " -"value is the dict-like object passed to the constructor. Of course, if you " -"had passed an 'extra' keyword argument in the call to the adapter, it will " -"be silently overwritten." -msgstr "" - -#: ../../howto/logging-cookbook.rst:921 -msgid "" -"The advantage of using 'extra' is that the values in the dict-like object " -"are merged into the :class:`LogRecord` instance's __dict__, allowing you to " -"use customized strings with your :class:`Formatter` instances which know " -"about the keys of the dict-like object. If you need a different method, e.g." -" if you want to prepend or append the contextual information to the message " -"string, you just need to subclass :class:`LoggerAdapter` and override " -":meth:`~LoggerAdapter.process` to do what you need. Here is a simple " -"example::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:929 -msgid "" -"class CustomAdapter(logging.LoggerAdapter):\n" -" \"\"\"\n" -" This example adapter expects the passed in dict-like object to have a\n" -" 'connid' key, whose value in brackets is prepended to the log message.\n" -" \"\"\"\n" -" def process(self, msg, kwargs):\n" -" return '[%s] %s' % (self.extra['connid'], msg), kwargs" -msgstr "" - -#: ../../howto/logging-cookbook.rst:937 -msgid "which you can use like this::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:939 -msgid "" -"logger = logging.getLogger(__name__)\n" -"adapter = CustomAdapter(logger, {'connid': some_conn_id})" -msgstr "" - -#: ../../howto/logging-cookbook.rst:942 -msgid "" -"Then any events that you log to the adapter will have the value of " -"``some_conn_id`` prepended to the log messages." -msgstr "" - -#: ../../howto/logging-cookbook.rst:946 -msgid "Using objects other than dicts to pass contextual information" -msgstr "" - -#: ../../howto/logging-cookbook.rst:948 -msgid "" -"You don't need to pass an actual dict to a :class:`LoggerAdapter` - you " -"could pass an instance of a class which implements ``__getitem__`` and " -"``__iter__`` so that it looks like a dict to logging. This would be useful " -"if you want to generate values dynamically (whereas the values in a dict " -"would be constant)." -msgstr "" - -#: ../../howto/logging-cookbook.rst:957 -msgid "Using Filters to impart contextual information" -msgstr "" - -#: ../../howto/logging-cookbook.rst:959 -msgid "" -"You can also add contextual information to log output using a user-defined " -":class:`Filter`. ``Filter`` instances are allowed to modify the " -"``LogRecords`` passed to them, including adding additional attributes which " -"can then be output using a suitable format string, or if needed a custom " -":class:`Formatter`." -msgstr "" - -#: ../../howto/logging-cookbook.rst:964 -msgid "" -"For example in a web application, the request being processed (or at least, " -"the interesting parts of it) can be stored in a threadlocal " -"(:class:`threading.local`) variable, and then accessed from a ``Filter`` to " -"add, say, information from the request - say, the remote IP address and " -"remote user's username - to the ``LogRecord``, using the attribute names " -"'ip' and 'user' as in the ``LoggerAdapter`` example above. In that case, the" -" same format string can be used to get similar output to that shown above. " -"Here's an example script::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:973 -msgid "" -"import logging\n" -"from random import choice\n" -"\n" -"class ContextFilter(logging.Filter):\n" -" \"\"\"\n" -" This is a filter which injects contextual information into the log.\n" -"\n" -" Rather than use actual contextual information, we just use random\n" -" data in this demo.\n" -" \"\"\"\n" -"\n" -" USERS = ['jim', 'fred', 'sheila']\n" -" IPS = ['123.231.231.123', '127.0.0.1', '192.168.0.1']\n" -"\n" -" def filter(self, record):\n" -"\n" -" record.ip = choice(ContextFilter.IPS)\n" -" record.user = choice(ContextFilter.USERS)\n" -" return True\n" -"\n" -"if __name__ == '__main__':\n" -" levels = (logging.DEBUG, logging.INFO, logging.WARNING, logging.ERROR, logging.CRITICAL)\n" -" logging.basicConfig(level=logging.DEBUG,\n" -" format='%(asctime)-15s %(name)-5s %(levelname)-8s IP: %(ip)-15s User: %(user)-8s %(message)s')\n" -" a1 = logging.getLogger('a.b.c')\n" -" a2 = logging.getLogger('d.e.f')\n" -"\n" -" f = ContextFilter()\n" -" a1.addFilter(f)\n" -" a2.addFilter(f)\n" -" a1.debug('A debug message')\n" -" a1.info('An info message with %s', 'some parameters')\n" -" for x in range(10):\n" -" lvl = choice(levels)\n" -" lvlname = logging.getLevelName(lvl)\n" -" a2.log(lvl, 'A message at %s level with %d %s', lvlname, 2, 'parameters')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1010 -msgid "which, when run, produces something like:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1012 -msgid "" -"2010-09-06 22:38:15,292 a.b.c DEBUG IP: 123.231.231.123 User: fred A debug message\n" -"2010-09-06 22:38:15,300 a.b.c INFO IP: 192.168.0.1 User: sheila An info message with some parameters\n" -"2010-09-06 22:38:15,300 d.e.f CRITICAL IP: 127.0.0.1 User: sheila A message at CRITICAL level with 2 parameters\n" -"2010-09-06 22:38:15,300 d.e.f ERROR IP: 127.0.0.1 User: jim A message at ERROR level with 2 parameters\n" -"2010-09-06 22:38:15,300 d.e.f DEBUG IP: 127.0.0.1 User: sheila A message at DEBUG level with 2 parameters\n" -"2010-09-06 22:38:15,300 d.e.f ERROR IP: 123.231.231.123 User: fred A message at ERROR level with 2 parameters\n" -"2010-09-06 22:38:15,300 d.e.f CRITICAL IP: 192.168.0.1 User: jim A message at CRITICAL level with 2 parameters\n" -"2010-09-06 22:38:15,300 d.e.f CRITICAL IP: 127.0.0.1 User: sheila A message at CRITICAL level with 2 parameters\n" -"2010-09-06 22:38:15,300 d.e.f DEBUG IP: 192.168.0.1 User: jim A message at DEBUG level with 2 parameters\n" -"2010-09-06 22:38:15,301 d.e.f ERROR IP: 127.0.0.1 User: sheila A message at ERROR level with 2 parameters\n" -"2010-09-06 22:38:15,301 d.e.f DEBUG IP: 123.231.231.123 User: fred A message at DEBUG level with 2 parameters\n" -"2010-09-06 22:38:15,301 d.e.f INFO IP: 123.231.231.123 User: fred A message at INFO level with 2 parameters" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1028 -msgid "Use of ``contextvars``" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1030 -msgid "" -"Since Python 3.7, the :mod:`contextvars` module has provided context-local " -"storage which works for both :mod:`threading` and :mod:`asyncio` processing " -"needs. This type of storage may thus be generally preferable to thread-" -"locals. The following example shows how, in a multi-threaded environment, " -"logs can populated with contextual information such as, for example, request" -" attributes handled by web applications." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1036 -msgid "" -"For the purposes of illustration, say that you have different web " -"applications, each independent of the other but running in the same Python " -"process and using a library common to them. How can each of these " -"applications have their own log, where all logging messages from the library" -" (and other request processing code) are directed to the appropriate " -"application's log file, while including in the log additional contextual " -"information such as client IP, HTTP request method and client username?" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1043 -msgid "Let's assume that the library can be simulated by the following code:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1045 -msgid "" -"# webapplib.py\n" -"import logging\n" -"import time\n" -"\n" -"logger = logging.getLogger(__name__)\n" -"\n" -"def useful():\n" -" # Just a representative event logged from the library\n" -" logger.debug('Hello from webapplib!')\n" -" # Just sleep for a bit so other threads get to run\n" -" time.sleep(0.01)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1059 -msgid "" -"We can simulate the multiple web applications by means of two simple " -"classes, ``Request`` and ``WebApp``. These simulate how real threaded web " -"applications work - each request is handled by a thread:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1063 -msgid "" -"# main.py\n" -"import argparse\n" -"from contextvars import ContextVar\n" -"import logging\n" -"import os\n" -"from random import choice\n" -"import threading\n" -"import webapplib\n" -"\n" -"logger = logging.getLogger(__name__)\n" -"root = logging.getLogger()\n" -"root.setLevel(logging.DEBUG)\n" -"\n" -"class Request:\n" -" \"\"\"\n" -" A simple dummy request class which just holds dummy HTTP request method,\n" -" client IP address and client username\n" -" \"\"\"\n" -" def __init__(self, method, ip, user):\n" -" self.method = method\n" -" self.ip = ip\n" -" self.user = user\n" -"\n" -"# A dummy set of requests which will be used in the simulation - we'll just pick\n" -"# from this list randomly. Note that all GET requests are from 192.168.2.XXX\n" -"# addresses, whereas POST requests are from 192.16.3.XXX addresses. Three users\n" -"# are represented in the sample requests.\n" -"\n" -"REQUESTS = [\n" -" Request('GET', '192.168.2.20', 'jim'),\n" -" Request('POST', '192.168.3.20', 'fred'),\n" -" Request('GET', '192.168.2.21', 'sheila'),\n" -" Request('POST', '192.168.3.21', 'jim'),\n" -" Request('GET', '192.168.2.22', 'fred'),\n" -" Request('POST', '192.168.3.22', 'sheila'),\n" -"]\n" -"\n" -"# Note that the format string includes references to request context information\n" -"# such as HTTP method, client IP and username\n" -"\n" -"formatter = logging.Formatter('%(threadName)-11s %(appName)s %(name)-9s %(user)-6s %(ip)s %(method)-4s %(message)s')\n" -"\n" -"# Create our context variables. These will be filled at the start of request\n" -"# processing, and used in the logging that happens during that processing\n" -"\n" -"ctx_request = ContextVar('request')\n" -"ctx_appname = ContextVar('appname')\n" -"\n" -"class InjectingFilter(logging.Filter):\n" -" \"\"\"\n" -" A filter which injects context-specific information into logs and ensures\n" -" that only information for a specific webapp is included in its log\n" -" \"\"\"\n" -" def __init__(self, app):\n" -" self.app = app\n" -"\n" -" def filter(self, record):\n" -" request = ctx_request.get()\n" -" record.method = request.method\n" -" record.ip = request.ip\n" -" record.user = request.user\n" -" record.appName = appName = ctx_appname.get()\n" -" return appName == self.app.name\n" -"\n" -"class WebApp:\n" -" \"\"\"\n" -" A dummy web application class which has its own handler and filter for a\n" -" webapp-specific log.\n" -" \"\"\"\n" -" def __init__(self, name):\n" -" self.name = name\n" -" handler = logging.FileHandler(name + '.log', 'w')\n" -" f = InjectingFilter(self)\n" -" handler.setFormatter(formatter)\n" -" handler.addFilter(f)\n" -" root.addHandler(handler)\n" -" self.num_requests = 0\n" -"\n" -" def process_request(self, request):\n" -" \"\"\"\n" -" This is the dummy method for processing a request. It's called on a\n" -" different thread for every request. We store the context information into\n" -" the context vars before doing anything else.\n" -" \"\"\"\n" -" ctx_request.set(request)\n" -" ctx_appname.set(self.name)\n" -" self.num_requests += 1\n" -" logger.debug('Request processing started')\n" -" webapplib.useful()\n" -" logger.debug('Request processing finished')\n" -"\n" -"def main():\n" -" fn = os.path.splitext(os.path.basename(__file__))[0]\n" -" adhf = argparse.ArgumentDefaultsHelpFormatter\n" -" ap = argparse.ArgumentParser(formatter_class=adhf, prog=fn,\n" -" description='Simulate a couple of web '\n" -" 'applications handling some '\n" -" 'requests, showing how request '\n" -" 'context can be used to '\n" -" 'populate logs')\n" -" aa = ap.add_argument\n" -" aa('--count', '-c', type=int, default=100, help='How many requests to simulate')\n" -" options = ap.parse_args()\n" -"\n" -" # Create the dummy webapps and put them in a list which we can use to select\n" -" # from randomly\n" -" app1 = WebApp('app1')\n" -" app2 = WebApp('app2')\n" -" apps = [app1, app2]\n" -" threads = []\n" -" # Add a common handler which will capture all events\n" -" handler = logging.FileHandler('app.log', 'w')\n" -" handler.setFormatter(formatter)\n" -" root.addHandler(handler)\n" -"\n" -" # Generate calls to process requests\n" -" for i in range(options.count):\n" -" try:\n" -" # Pick an app at random and a request for it to process\n" -" app = choice(apps)\n" -" request = choice(REQUESTS)\n" -" # Process the request in its own thread\n" -" t = threading.Thread(target=app.process_request, args=(request,))\n" -" threads.append(t)\n" -" t.start()\n" -" except KeyboardInterrupt:\n" -" break\n" -"\n" -" # Wait for the threads to terminate\n" -" for t in threads:\n" -" t.join()\n" -"\n" -" for app in apps:\n" -" print('%s processed %s requests' % (app.name, app.num_requests))\n" -"\n" -"if __name__ == '__main__':\n" -" main()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1203 -msgid "" -"If you run the above, you should find that roughly half the requests go into" -" :file:`app1.log` and the rest into :file:`app2.log`, and the all the " -"requests are logged to :file:`app.log`. Each webapp-specific log will " -"contain only log entries for only that webapp, and the request information " -"will be displayed consistently in the log (i.e. the information in each " -"dummy request will always appear together in a log line). This is " -"illustrated by the following shell output:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1210 -msgid "" -"~/logging-contextual-webapp$ python main.py\n" -"app1 processed 51 requests\n" -"app2 processed 49 requests\n" -"~/logging-contextual-webapp$ wc -l *.log\n" -" 153 app1.log\n" -" 147 app2.log\n" -" 300 app.log\n" -" 600 total\n" -"~/logging-contextual-webapp$ head -3 app1.log\n" -"Thread-3 (process_request) app1 __main__ jim 192.168.3.21 POST Request processing started\n" -"Thread-3 (process_request) app1 webapplib jim 192.168.3.21 POST Hello from webapplib!\n" -"Thread-5 (process_request) app1 __main__ jim 192.168.3.21 POST Request processing started\n" -"~/logging-contextual-webapp$ head -3 app2.log\n" -"Thread-1 (process_request) app2 __main__ sheila 192.168.2.21 GET Request processing started\n" -"Thread-1 (process_request) app2 webapplib sheila 192.168.2.21 GET Hello from webapplib!\n" -"Thread-2 (process_request) app2 __main__ jim 192.168.2.20 GET Request processing started\n" -"~/logging-contextual-webapp$ head app.log\n" -"Thread-1 (process_request) app2 __main__ sheila 192.168.2.21 GET Request processing started\n" -"Thread-1 (process_request) app2 webapplib sheila 192.168.2.21 GET Hello from webapplib!\n" -"Thread-2 (process_request) app2 __main__ jim 192.168.2.20 GET Request processing started\n" -"Thread-3 (process_request) app1 __main__ jim 192.168.3.21 POST Request processing started\n" -"Thread-2 (process_request) app2 webapplib jim 192.168.2.20 GET Hello from webapplib!\n" -"Thread-3 (process_request) app1 webapplib jim 192.168.3.21 POST Hello from webapplib!\n" -"Thread-4 (process_request) app2 __main__ fred 192.168.2.22 GET Request processing started\n" -"Thread-5 (process_request) app1 __main__ jim 192.168.3.21 POST Request processing started\n" -"Thread-4 (process_request) app2 webapplib fred 192.168.2.22 GET Hello from webapplib!\n" -"Thread-6 (process_request) app1 __main__ jim 192.168.3.21 POST Request processing started\n" -"~/logging-contextual-webapp$ grep app1 app1.log | wc -l\n" -"153\n" -"~/logging-contextual-webapp$ grep app2 app2.log | wc -l\n" -"147\n" -"~/logging-contextual-webapp$ grep app1 app.log | wc -l\n" -"153\n" -"~/logging-contextual-webapp$ grep app2 app.log | wc -l\n" -"147" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1250 -msgid "Imparting contextual information in handlers" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1252 -msgid "" -"Each :class:`~Handler` has its own chain of filters. If you want to add " -"contextual information to a :class:`LogRecord` without leaking it to other " -"handlers, you can use a filter that returns a new :class:`~LogRecord` " -"instead of modifying it in-place, as shown in the following script::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1257 -msgid "" -"import copy\n" -"import logging\n" -"\n" -"def filter(record: logging.LogRecord):\n" -" record = copy.copy(record)\n" -" record.user = 'jim'\n" -" return record\n" -"\n" -"if __name__ == '__main__':\n" -" logger = logging.getLogger()\n" -" logger.setLevel(logging.INFO)\n" -" handler = logging.StreamHandler()\n" -" formatter = logging.Formatter('%(message)s from %(user)-8s')\n" -" handler.setFormatter(formatter)\n" -" handler.addFilter(filter)\n" -" logger.addHandler(handler)\n" -"\n" -" logger.info('A log message')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1279 -msgid "Logging to a single file from multiple processes" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1281 -msgid "" -"Although logging is thread-safe, and logging to a single file from multiple " -"threads in a single process *is* supported, logging to a single file from " -"*multiple processes* is *not* supported, because there is no standard way to" -" serialize access to a single file across multiple processes in Python. If " -"you need to log to a single file from multiple processes, one way of doing " -"this is to have all the processes log to a :class:`~handlers.SocketHandler`," -" and have a separate process which implements a socket server which reads " -"from the socket and logs to file. (If you prefer, you can dedicate one " -"thread in one of the existing processes to perform this function.) " -":ref:`This section ` documents this approach in more detail" -" and includes a working socket receiver which can be used as a starting " -"point for you to adapt in your own applications." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1294 -msgid "" -"You could also write your own handler which uses the " -":class:`~multiprocessing.Lock` class from the :mod:`multiprocessing` module " -"to serialize access to the file from your processes. The stdlib " -":class:`FileHandler` and subclasses do not make use of " -":mod:`multiprocessing`." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1301 -msgid "" -"Alternatively, you can use a ``Queue`` and a :class:`QueueHandler` to send " -"all logging events to one of the processes in your multi-process " -"application. The following example script demonstrates how you can do this; " -"in the example a separate listener process listens for events sent by other " -"processes and logs them according to its own logging configuration. Although" -" the example only demonstrates one way of doing it (for example, you may " -"want to use a listener thread rather than a separate listener process -- the" -" implementation would be analogous) it does allow for completely different " -"logging configurations for the listener and the other processes in your " -"application, and can be used as the basis for code meeting your own specific" -" requirements::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1312 -msgid "" -"# You'll need these imports in your own code\n" -"import logging\n" -"import logging.handlers\n" -"import multiprocessing\n" -"\n" -"# Next two import lines for this demo only\n" -"from random import choice, random\n" -"import time\n" -"\n" -"#\n" -"# Because you'll want to define the logging configurations for listener and workers, the\n" -"# listener and worker process functions take a configurer parameter which is a callable\n" -"# for configuring logging for that process. These functions are also passed the queue,\n" -"# which they use for communication.\n" -"#\n" -"# In practice, you can configure the listener however you want, but note that in this\n" -"# simple example, the listener does not apply level or filter logic to received records.\n" -"# In practice, you would probably want to do this logic in the worker processes, to avoid\n" -"# sending events which would be filtered out between processes.\n" -"#\n" -"# The size of the rotated files is made small so you can see the results easily.\n" -"def listener_configurer():\n" -" root = logging.getLogger()\n" -" h = logging.handlers.RotatingFileHandler('mptest.log', 'a', 300, 10)\n" -" f = logging.Formatter('%(asctime)s %(processName)-10s %(name)s %(levelname)-8s %(message)s')\n" -" h.setFormatter(f)\n" -" root.addHandler(h)\n" -"\n" -"# This is the listener process top-level loop: wait for logging events\n" -"# (LogRecords)on the queue and handle them, quit when you get a None for a\n" -"# LogRecord.\n" -"def listener_process(queue, configurer):\n" -" configurer()\n" -" while True:\n" -" try:\n" -" record = queue.get()\n" -" if record is None: # We send this as a sentinel to tell the listener to quit.\n" -" break\n" -" logger = logging.getLogger(record.name)\n" -" logger.handle(record) # No level or filter logic applied - just do it!\n" -" except Exception:\n" -" import sys, traceback\n" -" print('Whoops! Problem:', file=sys.stderr)\n" -" traceback.print_exc(file=sys.stderr)\n" -"\n" -"# Arrays used for random selections in this demo\n" -"\n" -"LEVELS = [logging.DEBUG, logging.INFO, logging.WARNING,\n" -" logging.ERROR, logging.CRITICAL]\n" -"\n" -"LOGGERS = ['a.b.c', 'd.e.f']\n" -"\n" -"MESSAGES = [\n" -" 'Random message #1',\n" -" 'Random message #2',\n" -" 'Random message #3',\n" -"]\n" -"\n" -"# The worker configuration is done at the start of the worker process run.\n" -"# Note that on Windows you can't rely on fork semantics, so each process\n" -"# will run the logging configuration code when it starts.\n" -"def worker_configurer(queue):\n" -" h = logging.handlers.QueueHandler(queue) # Just the one handler needed\n" -" root = logging.getLogger()\n" -" root.addHandler(h)\n" -" # send all messages, for demo; no other level or filter logic applied.\n" -" root.setLevel(logging.DEBUG)\n" -"\n" -"# This is the worker process top-level loop, which just logs ten events with\n" -"# random intervening delays before terminating.\n" -"# The print messages are just so you know it's doing something!\n" -"def worker_process(queue, configurer):\n" -" configurer(queue)\n" -" name = multiprocessing.current_process().name\n" -" print('Worker started: %s' % name)\n" -" for i in range(10):\n" -" time.sleep(random())\n" -" logger = logging.getLogger(choice(LOGGERS))\n" -" level = choice(LEVELS)\n" -" message = choice(MESSAGES)\n" -" logger.log(level, message)\n" -" print('Worker finished: %s' % name)\n" -"\n" -"# Here's where the demo gets orchestrated. Create the queue, create and start\n" -"# the listener, create ten workers and start them, wait for them to finish,\n" -"# then send a None to the queue to tell the listener to finish.\n" -"def main():\n" -" queue = multiprocessing.Queue(-1)\n" -" listener = multiprocessing.Process(target=listener_process,\n" -" args=(queue, listener_configurer))\n" -" listener.start()\n" -" workers = []\n" -" for i in range(10):\n" -" worker = multiprocessing.Process(target=worker_process,\n" -" args=(queue, worker_configurer))\n" -" workers.append(worker)\n" -" worker.start()\n" -" for w in workers:\n" -" w.join()\n" -" queue.put_nowait(None)\n" -" listener.join()\n" -"\n" -"if __name__ == '__main__':\n" -" main()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1417 -msgid "" -"A variant of the above script keeps the logging in the main process, in a " -"separate thread::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1420 -msgid "" -"import logging\n" -"import logging.config\n" -"import logging.handlers\n" -"from multiprocessing import Process, Queue\n" -"import random\n" -"import threading\n" -"import time\n" -"\n" -"def logger_thread(q):\n" -" while True:\n" -" record = q.get()\n" -" if record is None:\n" -" break\n" -" logger = logging.getLogger(record.name)\n" -" logger.handle(record)\n" -"\n" -"\n" -"def worker_process(q):\n" -" qh = logging.handlers.QueueHandler(q)\n" -" root = logging.getLogger()\n" -" root.setLevel(logging.DEBUG)\n" -" root.addHandler(qh)\n" -" levels = [logging.DEBUG, logging.INFO, logging.WARNING, logging.ERROR,\n" -" logging.CRITICAL]\n" -" loggers = ['foo', 'foo.bar', 'foo.bar.baz',\n" -" 'spam', 'spam.ham', 'spam.ham.eggs']\n" -" for i in range(100):\n" -" lvl = random.choice(levels)\n" -" logger = logging.getLogger(random.choice(loggers))\n" -" logger.log(lvl, 'Message no. %d', i)\n" -"\n" -"if __name__ == '__main__':\n" -" q = Queue()\n" -" d = {\n" -" 'version': 1,\n" -" 'formatters': {\n" -" 'detailed': {\n" -" 'class': 'logging.Formatter',\n" -" 'format': '%(asctime)s %(name)-15s %(levelname)-8s %(processName)-10s %(message)s'\n" -" }\n" -" },\n" -" 'handlers': {\n" -" 'console': {\n" -" 'class': 'logging.StreamHandler',\n" -" 'level': 'INFO',\n" -" },\n" -" 'file': {\n" -" 'class': 'logging.FileHandler',\n" -" 'filename': 'mplog.log',\n" -" 'mode': 'w',\n" -" 'formatter': 'detailed',\n" -" },\n" -" 'foofile': {\n" -" 'class': 'logging.FileHandler',\n" -" 'filename': 'mplog-foo.log',\n" -" 'mode': 'w',\n" -" 'formatter': 'detailed',\n" -" },\n" -" 'errors': {\n" -" 'class': 'logging.FileHandler',\n" -" 'filename': 'mplog-errors.log',\n" -" 'mode': 'w',\n" -" 'level': 'ERROR',\n" -" 'formatter': 'detailed',\n" -" },\n" -" },\n" -" 'loggers': {\n" -" 'foo': {\n" -" 'handlers': ['foofile']\n" -" }\n" -" },\n" -" 'root': {\n" -" 'level': 'DEBUG',\n" -" 'handlers': ['console', 'file', 'errors']\n" -" },\n" -" }\n" -" workers = []\n" -" for i in range(5):\n" -" wp = Process(target=worker_process, name='worker %d' % (i + 1), args=(q,))\n" -" workers.append(wp)\n" -" wp.start()\n" -" logging.config.dictConfig(d)\n" -" lp = threading.Thread(target=logger_thread, args=(q,))\n" -" lp.start()\n" -" # At this point, the main process could do some useful work of its own\n" -" # Once it's done that, it can wait for the workers to terminate...\n" -" for wp in workers:\n" -" wp.join()\n" -" # And now tell the logging thread to finish up, too\n" -" q.put(None)\n" -" lp.join()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1512 -msgid "" -"This variant shows how you can e.g. apply configuration for particular " -"loggers - e.g. the ``foo`` logger has a special handler which stores all " -"events in the ``foo`` subsystem in a file ``mplog-foo.log``. This will be " -"used by the logging machinery in the main process (even though the logging " -"events are generated in the worker processes) to direct the messages to the " -"appropriate destinations." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1519 -msgid "Using concurrent.futures.ProcessPoolExecutor" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1521 -msgid "" -"If you want to use :class:`concurrent.futures.ProcessPoolExecutor` to start " -"your worker processes, you need to create the queue slightly differently. " -"Instead of" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1525 -msgid "queue = multiprocessing.Queue(-1)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1529 -msgid "you should use" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1531 -msgid "" -"queue = multiprocessing.Manager().Queue(-1) # also works with the examples " -"above" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1535 -msgid "and you can then replace the worker creation from this::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1537 -msgid "" -"workers = []\n" -"for i in range(10):\n" -" worker = multiprocessing.Process(target=worker_process,\n" -" args=(queue, worker_configurer))\n" -" workers.append(worker)\n" -" worker.start()\n" -"for w in workers:\n" -" w.join()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1546 -msgid "to this (remembering to first import :mod:`concurrent.futures`)::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1548 -msgid "" -"with concurrent.futures.ProcessPoolExecutor(max_workers=10) as executor:\n" -" for i in range(10):\n" -" executor.submit(worker_process, queue, worker_configurer)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1553 -msgid "Deploying Web applications using Gunicorn and uWSGI" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1555 -msgid "" -"When deploying Web applications using `Gunicorn `_ or" -" `uWSGI `_ (or similar), " -"multiple worker processes are created to handle client requests. In such " -"environments, avoid creating file-based handlers directly in your web " -"application. Instead, use a :class:`SocketHandler` to log from the web " -"application to a listener in a separate process. This can be set up using a " -"process management tool such as Supervisor - see `Running a logging socket " -"listener in production`_ for more details." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1565 -msgid "Using file rotation" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1570 -msgid "" -"Sometimes you want to let a log file grow to a certain size, then open a new" -" file and log to that. You may want to keep a certain number of these files," -" and when that many files have been created, rotate the files so that the " -"number of files and the size of the files both remain bounded. For this " -"usage pattern, the logging package provides a :class:`RotatingFileHandler`::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1576 -msgid "" -"import glob\n" -"import logging\n" -"import logging.handlers\n" -"\n" -"LOG_FILENAME = 'logging_rotatingfile_example.out'\n" -"\n" -"# Set up a specific logger with our desired output level\n" -"my_logger = logging.getLogger('MyLogger')\n" -"my_logger.setLevel(logging.DEBUG)\n" -"\n" -"# Add the log message handler to the logger\n" -"handler = logging.handlers.RotatingFileHandler(\n" -" LOG_FILENAME, maxBytes=20, backupCount=5)\n" -"\n" -"my_logger.addHandler(handler)\n" -"\n" -"# Log some messages\n" -"for i in range(20):\n" -" my_logger.debug('i = %d' % i)\n" -"\n" -"# See what files are created\n" -"logfiles = glob.glob('%s*' % LOG_FILENAME)\n" -"\n" -"for filename in logfiles:\n" -" print(filename)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1602 -msgid "" -"The result should be 6 separate files, each with part of the log history for" -" the application:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1605 -msgid "" -"logging_rotatingfile_example.out\n" -"logging_rotatingfile_example.out.1\n" -"logging_rotatingfile_example.out.2\n" -"logging_rotatingfile_example.out.3\n" -"logging_rotatingfile_example.out.4\n" -"logging_rotatingfile_example.out.5" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1614 -msgid "" -"The most current file is always :file:`logging_rotatingfile_example.out`, " -"and each time it reaches the size limit it is renamed with the suffix " -"``.1``. Each of the existing backup files is renamed to increment the suffix" -" (``.1`` becomes ``.2``, etc.) and the ``.6`` file is erased." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1619 -msgid "" -"Obviously this example sets the log length much too small as an extreme " -"example. You would want to set *maxBytes* to an appropriate value." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1627 -msgid "Use of alternative formatting styles" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1629 -msgid "" -"When logging was added to the Python standard library, the only way of " -"formatting messages with variable content was to use the %-formatting " -"method. Since then, Python has gained two new formatting approaches: " -":class:`string.Template` (added in Python 2.4) and :meth:`str.format` (added" -" in Python 2.6)." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1635 -msgid "" -"Logging (as of 3.2) provides improved support for these two additional " -"formatting styles. The :class:`Formatter` class been enhanced to take an " -"additional, optional keyword parameter named ``style``. This defaults to " -"``'%'``, but other possible values are ``'{'`` and ``'$'``, which correspond" -" to the other two formatting styles. Backwards compatibility is maintained " -"by default (as you would expect), but by explicitly specifying a style " -"parameter, you get the ability to specify format strings which work with " -":meth:`str.format` or :class:`string.Template`. Here's an example console " -"session to show the possibilities:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1645 -msgid "" -">>> import logging\n" -">>> root = logging.getLogger()\n" -">>> root.setLevel(logging.DEBUG)\n" -">>> handler = logging.StreamHandler()\n" -">>> bf = logging.Formatter('{asctime} {name} {levelname:8s} {message}',\n" -"... style='{')\n" -">>> handler.setFormatter(bf)\n" -">>> root.addHandler(handler)\n" -">>> logger = logging.getLogger('foo.bar')\n" -">>> logger.debug('This is a DEBUG message')\n" -"2010-10-28 15:11:55,341 foo.bar DEBUG This is a DEBUG message\n" -">>> logger.critical('This is a CRITICAL message')\n" -"2010-10-28 15:12:11,526 foo.bar CRITICAL This is a CRITICAL message\n" -">>> df = logging.Formatter('$asctime $name ${levelname} $message',\n" -"... style='$')\n" -">>> handler.setFormatter(df)\n" -">>> logger.debug('This is a DEBUG message')\n" -"2010-10-28 15:13:06,924 foo.bar DEBUG This is a DEBUG message\n" -">>> logger.critical('This is a CRITICAL message')\n" -"2010-10-28 15:13:11,494 foo.bar CRITICAL This is a CRITICAL message\n" -">>>" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1669 -msgid "" -"Note that the formatting of logging messages for final output to logs is " -"completely independent of how an individual logging message is constructed. " -"That can still use %-formatting, as shown here::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1673 -msgid "" -">>> logger.error('This is an%s %s %s', 'other,', 'ERROR,', 'message')\n" -"2010-10-28 15:19:29,833 foo.bar ERROR This is another, ERROR, message\n" -">>>" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1677 -msgid "" -"Logging calls (``logger.debug()``, ``logger.info()`` etc.) only take " -"positional parameters for the actual logging message itself, with keyword " -"parameters used only for determining options for how to handle the actual " -"logging call (e.g. the ``exc_info`` keyword parameter to indicate that " -"traceback information should be logged, or the ``extra`` keyword parameter " -"to indicate additional contextual information to be added to the log). So " -"you cannot directly make logging calls using :meth:`str.format` or " -":class:`string.Template` syntax, because internally the logging package uses" -" %-formatting to merge the format string and the variable arguments. There " -"would be no changing this while preserving backward compatibility, since all" -" logging calls which are out there in existing code will be using %-format " -"strings." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1690 -msgid "" -"There is, however, a way that you can use {}- and $- formatting to construct" -" your individual log messages. Recall that for a message you can use an " -"arbitrary object as a message format string, and that the logging package " -"will call ``str()`` on that object to get the actual format string. Consider" -" the following two classes::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1696 ../../howto/logging-cookbook.rst:2784 -msgid "" -"class BraceMessage:\n" -" def __init__(self, fmt, /, *args, **kwargs):\n" -" self.fmt = fmt\n" -" self.args = args\n" -" self.kwargs = kwargs\n" -"\n" -" def __str__(self):\n" -" return self.fmt.format(*self.args, **self.kwargs)\n" -"\n" -"class DollarMessage:\n" -" def __init__(self, fmt, /, **kwargs):\n" -" self.fmt = fmt\n" -" self.kwargs = kwargs\n" -"\n" -" def __str__(self):\n" -" from string import Template\n" -" return Template(self.fmt).substitute(**self.kwargs)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1714 -msgid "" -"Either of these can be used in place of a format string, to allow {}- or " -"$-formatting to be used to build the actual \"message\" part which appears " -"in the formatted log output in place of \"%(message)s\" or \"{message}\" or " -"\"$message\". It's a little unwieldy to use the class names whenever you " -"want to log something, but it's quite palatable if you use an alias such as " -"__ (double underscore --- not to be confused with _, the single underscore " -"used as a synonym/alias for :func:`gettext.gettext` or its brethren)." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1722 -msgid "" -"The above classes are not included in Python, though they're easy enough to " -"copy and paste into your own code. They can be used as follows (assuming " -"that they're declared in a module called ``wherever``):" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1726 -msgid "" -">>> from wherever import BraceMessage as __\n" -">>> print(__('Message with {0} {name}', 2, name='placeholders'))\n" -"Message with 2 placeholders\n" -">>> class Point: pass\n" -"...\n" -">>> p = Point()\n" -">>> p.x = 0.5\n" -">>> p.y = 0.5\n" -">>> print(__('Message with coordinates: ({point.x:.2f}, {point.y:.2f})',\n" -"... point=p))\n" -"Message with coordinates: (0.50, 0.50)\n" -">>> from wherever import DollarMessage as __\n" -">>> print(__('Message with $num $what', num=2, what='placeholders'))\n" -"Message with 2 placeholders\n" -">>>" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1744 -msgid "" -"While the above examples use ``print()`` to show how the formatting works, " -"you would of course use ``logger.debug()`` or similar to actually log using " -"this approach." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1748 -msgid "" -"One thing to note is that you pay no significant performance penalty with " -"this approach: the actual formatting happens not when you make the logging " -"call, but when (and if) the logged message is actually about to be output to" -" a log by a handler. So the only slightly unusual thing which might trip you" -" up is that the parentheses go around the format string and the arguments, " -"not just the format string. That's because the __ notation is just syntax " -"sugar for a constructor call to one of the :samp:`{XXX}Message` classes." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1756 -msgid "" -"If you prefer, you can use a :class:`LoggerAdapter` to achieve a similar " -"effect to the above, as in the following example::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1759 -msgid "" -"import logging\n" -"\n" -"class Message:\n" -" def __init__(self, fmt, args):\n" -" self.fmt = fmt\n" -" self.args = args\n" -"\n" -" def __str__(self):\n" -" return self.fmt.format(*self.args)\n" -"\n" -"class StyleAdapter(logging.LoggerAdapter):\n" -" def log(self, level, msg, /, *args, stacklevel=1, **kwargs):\n" -" if self.isEnabledFor(level):\n" -" msg, kwargs = self.process(msg, kwargs)\n" -" self.logger.log(level, Message(msg, args), **kwargs,\n" -" stacklevel=stacklevel+1)\n" -"\n" -"logger = StyleAdapter(logging.getLogger(__name__))\n" -"\n" -"def main():\n" -" logger.debug('Hello, {}', 'world!')\n" -"\n" -"if __name__ == '__main__':\n" -" logging.basicConfig(level=logging.DEBUG)\n" -" main()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1785 -msgid "" -"The above script should log the message ``Hello, world!`` when run with " -"Python 3.8 or later." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1794 -msgid "Customizing ``LogRecord``" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1796 -msgid "" -"Every logging event is represented by a :class:`LogRecord` instance. When an" -" event is logged and not filtered out by a logger's level, a " -":class:`LogRecord` is created, populated with information about the event " -"and then passed to the handlers for that logger (and its ancestors, up to " -"and including the logger where further propagation up the hierarchy is " -"disabled). Before Python 3.2, there were only two places where this creation" -" was done:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1803 -msgid "" -":meth:`Logger.makeRecord`, which is called in the normal process of logging " -"an event. This invoked :class:`LogRecord` directly to create an instance." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1806 -msgid "" -":func:`makeLogRecord`, which is called with a dictionary containing " -"attributes to be added to the LogRecord. This is typically invoked when a " -"suitable dictionary has been received over the network (e.g. in pickle form " -"via a :class:`~handlers.SocketHandler`, or in JSON form via an " -":class:`~handlers.HTTPHandler`)." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1812 -msgid "" -"This has usually meant that if you need to do anything special with a " -":class:`LogRecord`, you've had to do one of the following." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1815 -msgid "" -"Create your own :class:`Logger` subclass, which overrides " -":meth:`Logger.makeRecord`, and set it using :func:`~logging.setLoggerClass` " -"before any loggers that you care about are instantiated." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1818 -msgid "" -"Add a :class:`Filter` to a logger or handler, which does the necessary " -"special manipulation you need when its :meth:`~Filter.filter` method is " -"called." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1822 -msgid "" -"The first approach would be a little unwieldy in the scenario where (say) " -"several different libraries wanted to do different things. Each would " -"attempt to set its own :class:`Logger` subclass, and the one which did this " -"last would win." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1827 -msgid "" -"The second approach works reasonably well for many cases, but does not allow" -" you to e.g. use a specialized subclass of :class:`LogRecord`. Library " -"developers can set a suitable filter on their loggers, but they would have " -"to remember to do this every time they introduced a new logger (which they " -"would do simply by adding new packages or modules and doing ::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1833 -msgid "logger = logging.getLogger(__name__)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1835 -msgid "" -"at module level). It's probably one too many things to think about. " -"Developers could also add the filter to a :class:`~logging.NullHandler` " -"attached to their top-level logger, but this would not be invoked if an " -"application developer attached a handler to a lower-level library logger ---" -" so output from that handler would not reflect the intentions of the library" -" developer." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1841 -msgid "" -"In Python 3.2 and later, :class:`~logging.LogRecord` creation is done " -"through a factory, which you can specify. The factory is just a callable you" -" can set with :func:`~logging.setLogRecordFactory`, and interrogate with " -":func:`~logging.getLogRecordFactory`. The factory is invoked with the same " -"signature as the :class:`~logging.LogRecord` constructor, as " -":class:`LogRecord` is the default setting for the factory." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1848 -msgid "" -"This approach allows a custom factory to control all aspects of LogRecord " -"creation. For example, you could return a subclass, or just add some " -"additional attributes to the record once created, using a pattern similar to" -" this::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1852 -msgid "" -"old_factory = logging.getLogRecordFactory()\n" -"\n" -"def record_factory(*args, **kwargs):\n" -" record = old_factory(*args, **kwargs)\n" -" record.custom_attribute = 0xdecafbad\n" -" return record\n" -"\n" -"logging.setLogRecordFactory(record_factory)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1861 -msgid "" -"This pattern allows different libraries to chain factories together, and as " -"long as they don't overwrite each other's attributes or unintentionally " -"overwrite the attributes provided as standard, there should be no surprises." -" However, it should be borne in mind that each link in the chain adds run-" -"time overhead to all logging operations, and the technique should only be " -"used when the use of a :class:`Filter` does not provide the desired result." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1873 -msgid "Subclassing QueueHandler and QueueListener- a ZeroMQ example" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1876 ../../howto/logging-cookbook.rst:2009 -msgid "Subclass ``QueueHandler``" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1878 -msgid "" -"You can use a :class:`QueueHandler` subclass to send messages to other kinds" -" of queues, for example a ZeroMQ 'publish' socket. In the example below,the " -"socket is created separately and passed to the handler (as its 'queue')::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1882 -msgid "" -"import zmq # using pyzmq, the Python binding for ZeroMQ\n" -"import json # for serializing records portably\n" -"\n" -"ctx = zmq.Context()\n" -"sock = zmq.Socket(ctx, zmq.PUB) # or zmq.PUSH, or other suitable value\n" -"sock.bind('tcp://*:5556') # or wherever\n" -"\n" -"class ZeroMQSocketHandler(QueueHandler):\n" -" def enqueue(self, record):\n" -" self.queue.send_json(record.__dict__)\n" -"\n" -"\n" -"handler = ZeroMQSocketHandler(sock)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1897 -msgid "" -"Of course there are other ways of organizing this, for example passing in " -"the data needed by the handler to create the socket::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1900 -msgid "" -"class ZeroMQSocketHandler(QueueHandler):\n" -" def __init__(self, uri, socktype=zmq.PUB, ctx=None):\n" -" self.ctx = ctx or zmq.Context()\n" -" socket = zmq.Socket(self.ctx, socktype)\n" -" socket.bind(uri)\n" -" super().__init__(socket)\n" -"\n" -" def enqueue(self, record):\n" -" self.queue.send_json(record.__dict__)\n" -"\n" -" def close(self):\n" -" self.queue.close()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1915 ../../howto/logging-cookbook.rst:1945 -msgid "Subclass ``QueueListener``" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1917 -msgid "" -"You can also subclass :class:`QueueListener` to get messages from other " -"kinds of queues, for example a ZeroMQ 'subscribe' socket. Here's an " -"example::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1920 -msgid "" -"class ZeroMQSocketListener(QueueListener):\n" -" def __init__(self, uri, /, *handlers, **kwargs):\n" -" self.ctx = kwargs.get('ctx') or zmq.Context()\n" -" socket = zmq.Socket(self.ctx, zmq.SUB)\n" -" socket.setsockopt_string(zmq.SUBSCRIBE, '') # subscribe to everything\n" -" socket.connect(uri)\n" -" super().__init__(socket, *handlers, **kwargs)\n" -"\n" -" def dequeue(self):\n" -" msg = self.queue.recv_json()\n" -" return logging.makeLogRecord(msg)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1935 -msgid "Subclassing QueueHandler and QueueListener- a ``pynng`` example" -msgstr "" - -#: ../../howto/logging-cookbook.rst:1937 -msgid "" -"In a similar way to the above section, we can implement a listener and " -"handler using :pypi:`pynng`, which is a Python binding to `NNG " -"`_, billed as a spiritual successor to ZeroMQ. The" -" following snippets illustrate -- you can test them in an environment which " -"has ``pynng`` installed. Just for variety, we present the listener first." -msgstr "" - -#: ../../howto/logging-cookbook.rst:1947 -msgid "" -"# listener.py\n" -"import json\n" -"import logging\n" -"import logging.handlers\n" -"\n" -"import pynng\n" -"\n" -"DEFAULT_ADDR = \"tcp://localhost:13232\"\n" -"\n" -"interrupted = False\n" -"\n" -"class NNGSocketListener(logging.handlers.QueueListener):\n" -"\n" -" def __init__(self, uri, /, *handlers, **kwargs):\n" -" # Have a timeout for interruptability, and open a\n" -" # subscriber socket\n" -" socket = pynng.Sub0(listen=uri, recv_timeout=500)\n" -" # The b'' subscription matches all topics\n" -" topics = kwargs.pop('topics', None) or b''\n" -" socket.subscribe(topics)\n" -" # We treat the socket as a queue\n" -" super().__init__(socket, *handlers, **kwargs)\n" -"\n" -" def dequeue(self, block):\n" -" data = None\n" -" # Keep looping while not interrupted and no data received over the\n" -" # socket\n" -" while not interrupted:\n" -" try:\n" -" data = self.queue.recv(block=block)\n" -" break\n" -" except pynng.Timeout:\n" -" pass\n" -" except pynng.Closed: # sometimes happens when you hit Ctrl-C\n" -" break\n" -" if data is None:\n" -" return None\n" -" # Get the logging event sent from a publisher\n" -" event = json.loads(data.decode('utf-8'))\n" -" return logging.makeLogRecord(event)\n" -"\n" -" def enqueue_sentinel(self):\n" -" # Not used in this implementation, as the socket isn't really a\n" -" # queue\n" -" pass\n" -"\n" -"logging.getLogger('pynng').propagate = False\n" -"listener = NNGSocketListener(DEFAULT_ADDR, logging.StreamHandler(), topics=b'')\n" -"listener.start()\n" -"print('Press Ctrl-C to stop.')\n" -"try:\n" -" while True:\n" -" pass\n" -"except KeyboardInterrupt:\n" -" interrupted = True\n" -"finally:\n" -" listener.stop()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2013 -msgid "" -"# sender.py\n" -"import json\n" -"import logging\n" -"import logging.handlers\n" -"import time\n" -"import random\n" -"\n" -"import pynng\n" -"\n" -"DEFAULT_ADDR = \"tcp://localhost:13232\"\n" -"\n" -"class NNGSocketHandler(logging.handlers.QueueHandler):\n" -"\n" -" def __init__(self, uri):\n" -" socket = pynng.Pub0(dial=uri, send_timeout=500)\n" -" super().__init__(socket)\n" -"\n" -" def enqueue(self, record):\n" -" # Send the record as UTF-8 encoded JSON\n" -" d = dict(record.__dict__)\n" -" data = json.dumps(d)\n" -" self.queue.send(data.encode('utf-8'))\n" -"\n" -" def close(self):\n" -" self.queue.close()\n" -"\n" -"logging.getLogger('pynng').propagate = False\n" -"handler = NNGSocketHandler(DEFAULT_ADDR)\n" -"# Make sure the process ID is in the output\n" -"logging.basicConfig(level=logging.DEBUG,\n" -" handlers=[logging.StreamHandler(), handler],\n" -" format='%(levelname)-8s %(name)10s %(process)6s %(message)s')\n" -"levels = (logging.DEBUG, logging.INFO, logging.WARNING, logging.ERROR,\n" -" logging.CRITICAL)\n" -"logger_names = ('myapp', 'myapp.lib1', 'myapp.lib2')\n" -"msgno = 1\n" -"while True:\n" -" # Just randomly select some loggers and levels and log away\n" -" level = random.choice(levels)\n" -" logger = logging.getLogger(random.choice(logger_names))\n" -" logger.log(level, 'Message no. %5d' % msgno)\n" -" msgno += 1\n" -" delay = random.random() * 2 + 0.5\n" -" time.sleep(delay)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2060 -msgid "" -"You can run the above two snippets in separate command shells. If we run the" -" listener in one shell and run the sender in two separate shells, we should " -"see something like the following. In the first sender shell:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2064 -msgid "" -"$ python sender.py\n" -"DEBUG myapp 613 Message no. 1\n" -"WARNING myapp.lib2 613 Message no. 2\n" -"CRITICAL myapp.lib2 613 Message no. 3\n" -"WARNING myapp.lib2 613 Message no. 4\n" -"CRITICAL myapp.lib1 613 Message no. 5\n" -"DEBUG myapp 613 Message no. 6\n" -"CRITICAL myapp.lib1 613 Message no. 7\n" -"INFO myapp.lib1 613 Message no. 8\n" -"(and so on)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2077 -msgid "In the second sender shell:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2079 -msgid "" -"$ python sender.py\n" -"INFO myapp.lib2 657 Message no. 1\n" -"CRITICAL myapp.lib2 657 Message no. 2\n" -"CRITICAL myapp 657 Message no. 3\n" -"CRITICAL myapp.lib1 657 Message no. 4\n" -"INFO myapp.lib1 657 Message no. 5\n" -"WARNING myapp.lib2 657 Message no. 6\n" -"CRITICAL myapp 657 Message no. 7\n" -"DEBUG myapp.lib1 657 Message no. 8\n" -"(and so on)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2092 -msgid "In the listener shell:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2094 -msgid "" -"$ python listener.py\n" -"Press Ctrl-C to stop.\n" -"DEBUG myapp 613 Message no. 1\n" -"WARNING myapp.lib2 613 Message no. 2\n" -"INFO myapp.lib2 657 Message no. 1\n" -"CRITICAL myapp.lib2 613 Message no. 3\n" -"CRITICAL myapp.lib2 657 Message no. 2\n" -"CRITICAL myapp 657 Message no. 3\n" -"WARNING myapp.lib2 613 Message no. 4\n" -"CRITICAL myapp.lib1 613 Message no. 5\n" -"CRITICAL myapp.lib1 657 Message no. 4\n" -"INFO myapp.lib1 657 Message no. 5\n" -"DEBUG myapp 613 Message no. 6\n" -"WARNING myapp.lib2 657 Message no. 6\n" -"CRITICAL myapp 657 Message no. 7\n" -"CRITICAL myapp.lib1 613 Message no. 7\n" -"INFO myapp.lib1 613 Message no. 8\n" -"DEBUG myapp.lib1 657 Message no. 8\n" -"(and so on)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2116 -msgid "" -"As you can see, the logging from the two sender processes is interleaved in " -"the listener's output." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2121 -msgid "An example dictionary-based configuration" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2123 -msgid "" -"Below is an example of a logging configuration dictionary - it's taken from " -"the `documentation on the Django project " -"`_. This dictionary is passed to :func:`~config.dictConfig` to put " -"the configuration into effect::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2127 -msgid "" -"LOGGING = {\n" -" 'version': 1,\n" -" 'disable_existing_loggers': False,\n" -" 'formatters': {\n" -" 'verbose': {\n" -" 'format': '{levelname} {asctime} {module} {process:d} {thread:d} {message}',\n" -" 'style': '{',\n" -" },\n" -" 'simple': {\n" -" 'format': '{levelname} {message}',\n" -" 'style': '{',\n" -" },\n" -" },\n" -" 'filters': {\n" -" 'special': {\n" -" '()': 'project.logging.SpecialFilter',\n" -" 'foo': 'bar',\n" -" },\n" -" },\n" -" 'handlers': {\n" -" 'console': {\n" -" 'level': 'INFO',\n" -" 'class': 'logging.StreamHandler',\n" -" 'formatter': 'simple',\n" -" },\n" -" 'mail_admins': {\n" -" 'level': 'ERROR',\n" -" 'class': 'django.utils.log.AdminEmailHandler',\n" -" 'filters': ['special']\n" -" }\n" -" },\n" -" 'loggers': {\n" -" 'django': {\n" -" 'handlers': ['console'],\n" -" 'propagate': True,\n" -" },\n" -" 'django.request': {\n" -" 'handlers': ['mail_admins'],\n" -" 'level': 'ERROR',\n" -" 'propagate': False,\n" -" },\n" -" 'myproject.custom': {\n" -" 'handlers': ['console', 'mail_admins'],\n" -" 'level': 'INFO',\n" -" 'filters': ['special']\n" -" }\n" -" }\n" -"}" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2176 -msgid "" -"For more information about this configuration, you can see the `relevant " -"section " -"`_ of the Django documentation." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2183 -msgid "Using a rotator and namer to customize log rotation processing" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2185 -msgid "" -"An example of how you can define a namer and rotator is given in the " -"following runnable script, which shows gzip compression of the log file::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2188 -msgid "" -"import gzip\n" -"import logging\n" -"import logging.handlers\n" -"import os\n" -"import shutil\n" -"\n" -"def namer(name):\n" -" return name + \".gz\"\n" -"\n" -"def rotator(source, dest):\n" -" with open(source, 'rb') as f_in:\n" -" with gzip.open(dest, 'wb') as f_out:\n" -" shutil.copyfileobj(f_in, f_out)\n" -" os.remove(source)\n" -"\n" -"\n" -"rh = logging.handlers.RotatingFileHandler('rotated.log', maxBytes=128, backupCount=5)\n" -"rh.rotator = rotator\n" -"rh.namer = namer\n" -"\n" -"root = logging.getLogger()\n" -"root.setLevel(logging.INFO)\n" -"root.addHandler(rh)\n" -"f = logging.Formatter('%(asctime)s %(message)s')\n" -"rh.setFormatter(f)\n" -"for i in range(1000):\n" -" root.info(f'Message no. {i + 1}')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2216 -msgid "" -"After running this, you will see six new files, five of which are " -"compressed:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2218 -msgid "" -"$ ls rotated.log*\n" -"rotated.log rotated.log.2.gz rotated.log.4.gz\n" -"rotated.log.1.gz rotated.log.3.gz rotated.log.5.gz\n" -"$ zcat rotated.log.1.gz\n" -"2023-01-20 02:28:17,767 Message no. 996\n" -"2023-01-20 02:28:17,767 Message no. 997\n" -"2023-01-20 02:28:17,767 Message no. 998" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2229 -msgid "A more elaborate multiprocessing example" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2231 -msgid "" -"The following working example shows how logging can be used with " -"multiprocessing using configuration files. The configurations are fairly " -"simple, but serve to illustrate how more complex ones could be implemented " -"in a real multiprocessing scenario." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2236 -msgid "" -"In the example, the main process spawns a listener process and some worker " -"processes. Each of the main process, the listener and the workers have three" -" separate configurations (the workers all share the same configuration). We " -"can see logging in the main process, how the workers log to a QueueHandler " -"and how the listener implements a QueueListener and a more complex logging " -"configuration, and arranges to dispatch events received via the queue to the" -" handlers specified in the configuration. Note that these configurations are" -" purely illustrative, but you should be able to adapt this example to your " -"own scenario." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2246 -msgid "" -"Here's the script - the docstrings and the comments hopefully explain how it" -" works::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2249 -msgid "" -"import logging\n" -"import logging.config\n" -"import logging.handlers\n" -"from multiprocessing import Process, Queue, Event, current_process\n" -"import os\n" -"import random\n" -"import time\n" -"\n" -"class MyHandler:\n" -" \"\"\"\n" -" A simple handler for logging events. It runs in the listener process and\n" -" dispatches events to loggers based on the name in the received record,\n" -" which then get dispatched, by the logging system, to the handlers\n" -" configured for those loggers.\n" -" \"\"\"\n" -"\n" -" def handle(self, record):\n" -" if record.name == \"root\":\n" -" logger = logging.getLogger()\n" -" else:\n" -" logger = logging.getLogger(record.name)\n" -"\n" -" if logger.isEnabledFor(record.levelno):\n" -" # The process name is transformed just to show that it's the listener\n" -" # doing the logging to files and console\n" -" record.processName = '%s (for %s)' % (current_process().name, record.processName)\n" -" logger.handle(record)\n" -"\n" -"def listener_process(q, stop_event, config):\n" -" \"\"\"\n" -" This could be done in the main process, but is just done in a separate\n" -" process for illustrative purposes.\n" -"\n" -" This initialises logging according to the specified configuration,\n" -" starts the listener and waits for the main process to signal completion\n" -" via the event. The listener is then stopped, and the process exits.\n" -" \"\"\"\n" -" logging.config.dictConfig(config)\n" -" listener = logging.handlers.QueueListener(q, MyHandler())\n" -" listener.start()\n" -" if os.name == 'posix':\n" -" # On POSIX, the setup logger will have been configured in the\n" -" # parent process, but should have been disabled following the\n" -" # dictConfig call.\n" -" # On Windows, since fork isn't used, the setup logger won't\n" -" # exist in the child, so it would be created and the message\n" -" # would appear - hence the \"if posix\" clause.\n" -" logger = logging.getLogger('setup')\n" -" logger.critical('Should not appear, because of disabled logger ...')\n" -" stop_event.wait()\n" -" listener.stop()\n" -"\n" -"def worker_process(config):\n" -" \"\"\"\n" -" A number of these are spawned for the purpose of illustration. In\n" -" practice, they could be a heterogeneous bunch of processes rather than\n" -" ones which are identical to each other.\n" -"\n" -" This initialises logging according to the specified configuration,\n" -" and logs a hundred messages with random levels to randomly selected\n" -" loggers.\n" -"\n" -" A small sleep is added to allow other processes a chance to run. This\n" -" is not strictly needed, but it mixes the output from the different\n" -" processes a bit more than if it's left out.\n" -" \"\"\"\n" -" logging.config.dictConfig(config)\n" -" levels = [logging.DEBUG, logging.INFO, logging.WARNING, logging.ERROR,\n" -" logging.CRITICAL]\n" -" loggers = ['foo', 'foo.bar', 'foo.bar.baz',\n" -" 'spam', 'spam.ham', 'spam.ham.eggs']\n" -" if os.name == 'posix':\n" -" # On POSIX, the setup logger will have been configured in the\n" -" # parent process, but should have been disabled following the\n" -" # dictConfig call.\n" -" # On Windows, since fork isn't used, the setup logger won't\n" -" # exist in the child, so it would be created and the message\n" -" # would appear - hence the \"if posix\" clause.\n" -" logger = logging.getLogger('setup')\n" -" logger.critical('Should not appear, because of disabled logger ...')\n" -" for i in range(100):\n" -" lvl = random.choice(levels)\n" -" logger = logging.getLogger(random.choice(loggers))\n" -" logger.log(lvl, 'Message no. %d', i)\n" -" time.sleep(0.01)\n" -"\n" -"def main():\n" -" q = Queue()\n" -" # The main process gets a simple configuration which prints to the console.\n" -" config_initial = {\n" -" 'version': 1,\n" -" 'handlers': {\n" -" 'console': {\n" -" 'class': 'logging.StreamHandler',\n" -" 'level': 'INFO'\n" -" }\n" -" },\n" -" 'root': {\n" -" 'handlers': ['console'],\n" -" 'level': 'DEBUG'\n" -" }\n" -" }\n" -" # The worker process configuration is just a QueueHandler attached to the\n" -" # root logger, which allows all messages to be sent to the queue.\n" -" # We disable existing loggers to disable the \"setup\" logger used in the\n" -" # parent process. This is needed on POSIX because the logger will\n" -" # be there in the child following a fork().\n" -" config_worker = {\n" -" 'version': 1,\n" -" 'disable_existing_loggers': True,\n" -" 'handlers': {\n" -" 'queue': {\n" -" 'class': 'logging.handlers.QueueHandler',\n" -" 'queue': q\n" -" }\n" -" },\n" -" 'root': {\n" -" 'handlers': ['queue'],\n" -" 'level': 'DEBUG'\n" -" }\n" -" }\n" -" # The listener process configuration shows that the full flexibility of\n" -" # logging configuration is available to dispatch events to handlers however\n" -" # you want.\n" -" # We disable existing loggers to disable the \"setup\" logger used in the\n" -" # parent process. This is needed on POSIX because the logger will\n" -" # be there in the child following a fork().\n" -" config_listener = {\n" -" 'version': 1,\n" -" 'disable_existing_loggers': True,\n" -" 'formatters': {\n" -" 'detailed': {\n" -" 'class': 'logging.Formatter',\n" -" 'format': '%(asctime)s %(name)-15s %(levelname)-8s %(processName)-10s %(message)s'\n" -" },\n" -" 'simple': {\n" -" 'class': 'logging.Formatter',\n" -" 'format': '%(name)-15s %(levelname)-8s %(processName)-10s %(message)s'\n" -" }\n" -" },\n" -" 'handlers': {\n" -" 'console': {\n" -" 'class': 'logging.StreamHandler',\n" -" 'formatter': 'simple',\n" -" 'level': 'INFO'\n" -" },\n" -" 'file': {\n" -" 'class': 'logging.FileHandler',\n" -" 'filename': 'mplog.log',\n" -" 'mode': 'w',\n" -" 'formatter': 'detailed'\n" -" },\n" -" 'foofile': {\n" -" 'class': 'logging.FileHandler',\n" -" 'filename': 'mplog-foo.log',\n" -" 'mode': 'w',\n" -" 'formatter': 'detailed'\n" -" },\n" -" 'errors': {\n" -" 'class': 'logging.FileHandler',\n" -" 'filename': 'mplog-errors.log',\n" -" 'mode': 'w',\n" -" 'formatter': 'detailed',\n" -" 'level': 'ERROR'\n" -" }\n" -" },\n" -" 'loggers': {\n" -" 'foo': {\n" -" 'handlers': ['foofile']\n" -" }\n" -" },\n" -" 'root': {\n" -" 'handlers': ['console', 'file', 'errors'],\n" -" 'level': 'DEBUG'\n" -" }\n" -" }\n" -" # Log some initial events, just to show that logging in the parent works\n" -" # normally.\n" -" logging.config.dictConfig(config_initial)\n" -" logger = logging.getLogger('setup')\n" -" logger.info('About to create workers ...')\n" -" workers = []\n" -" for i in range(5):\n" -" wp = Process(target=worker_process, name='worker %d' % (i + 1),\n" -" args=(config_worker,))\n" -" workers.append(wp)\n" -" wp.start()\n" -" logger.info('Started worker: %s', wp.name)\n" -" logger.info('About to create listener ...')\n" -" stop_event = Event()\n" -" lp = Process(target=listener_process, name='listener',\n" -" args=(q, stop_event, config_listener))\n" -" lp.start()\n" -" logger.info('Started listener')\n" -" # We now hang around for the workers to finish their work.\n" -" for wp in workers:\n" -" wp.join()\n" -" # Workers all done, listening can now stop.\n" -" # Logging in the parent still works normally.\n" -" logger.info('Telling listener to stop ...')\n" -" stop_event.set()\n" -" lp.join()\n" -" logger.info('All done.')\n" -"\n" -"if __name__ == '__main__':\n" -" main()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2458 -msgid "Inserting a BOM into messages sent to a SysLogHandler" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2460 -msgid "" -":rfc:`5424` requires that a Unicode message be sent to a syslog daemon as a " -"set of bytes which have the following structure: an optional pure-ASCII " -"component, followed by a UTF-8 Byte Order Mark (BOM), followed by Unicode " -"encoded using UTF-8. (See the :rfc:`relevant section of the specification " -"<5424#section-6>`.)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2466 -msgid "" -"In Python 3.1, code was added to :class:`~logging.handlers.SysLogHandler` to" -" insert a BOM into the message, but unfortunately, it was implemented " -"incorrectly, with the BOM appearing at the beginning of the message and " -"hence not allowing any pure-ASCII component to appear before it." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2472 -msgid "" -"As this behaviour is broken, the incorrect BOM insertion code is being " -"removed from Python 3.2.4 and later. However, it is not being replaced, and " -"if you want to produce :rfc:`5424`-compliant messages which include a BOM, " -"an optional pure-ASCII sequence before it and arbitrary Unicode after it, " -"encoded using UTF-8, then you need to do the following:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2478 -msgid "" -"Attach a :class:`~logging.Formatter` instance to your " -":class:`~logging.handlers.SysLogHandler` instance, with a format string such" -" as::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2482 -msgid "'ASCII section\\ufeffUnicode section'" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2484 -msgid "" -"The Unicode code point U+FEFF, when encoded using UTF-8, will be encoded as " -"a UTF-8 BOM -- the byte-string ``b'\\xef\\xbb\\xbf'``." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2487 -msgid "" -"Replace the ASCII section with whatever placeholders you like, but make sure" -" that the data that appears in there after substitution is always ASCII " -"(that way, it will remain unchanged after UTF-8 encoding)." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2491 -msgid "" -"Replace the Unicode section with whatever placeholders you like; if the data" -" which appears there after substitution contains characters outside the " -"ASCII range, that's fine -- it will be encoded using UTF-8." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2495 -msgid "" -"The formatted message *will* be encoded using UTF-8 encoding by " -"``SysLogHandler``. If you follow the above rules, you should be able to " -"produce :rfc:`5424`-compliant messages. If you don't, logging may not " -"complain, but your messages will not be RFC 5424-compliant, and your syslog " -"daemon may complain." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2502 -msgid "Implementing structured logging" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2504 -msgid "" -"Although most logging messages are intended for reading by humans, and thus " -"not readily machine-parseable, there might be circumstances where you want " -"to output messages in a structured format which *is* capable of being parsed" -" by a program (without needing complex regular expressions to parse the log " -"message). This is straightforward to achieve using the logging package. " -"There are a number of ways in which this could be achieved, but the " -"following is a simple approach which uses JSON to serialise the event in a " -"machine-parseable manner::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2512 -msgid "" -"import json\n" -"import logging\n" -"\n" -"class StructuredMessage:\n" -" def __init__(self, message, /, **kwargs):\n" -" self.message = message\n" -" self.kwargs = kwargs\n" -"\n" -" def __str__(self):\n" -" return '%s >>> %s' % (self.message, json.dumps(self.kwargs))\n" -"\n" -"_ = StructuredMessage # optional, to improve readability\n" -"\n" -"logging.basicConfig(level=logging.INFO, format='%(message)s')\n" -"logging.info(_('message 1', foo='bar', bar='baz', num=123, fnum=123.456))" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2528 -msgid "If the above script is run, it prints:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2530 -msgid "message 1 >>> {\"fnum\": 123.456, \"num\": 123, \"bar\": \"baz\", \"foo\": \"bar\"}" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2534 ../../howto/logging-cookbook.rst:2576 -msgid "" -"Note that the order of items might be different according to the version of " -"Python used." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2537 -msgid "" -"If you need more specialised processing, you can use a custom JSON encoder, " -"as in the following complete example::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2540 -msgid "" -"import json\n" -"import logging\n" -"\n" -"\n" -"class Encoder(json.JSONEncoder):\n" -" def default(self, o):\n" -" if isinstance(o, set):\n" -" return tuple(o)\n" -" elif isinstance(o, str):\n" -" return o.encode('unicode_escape').decode('ascii')\n" -" return super().default(o)\n" -"\n" -"class StructuredMessage:\n" -" def __init__(self, message, /, **kwargs):\n" -" self.message = message\n" -" self.kwargs = kwargs\n" -"\n" -" def __str__(self):\n" -" s = Encoder().encode(self.kwargs)\n" -" return '%s >>> %s' % (self.message, s)\n" -"\n" -"_ = StructuredMessage # optional, to improve readability\n" -"\n" -"def main():\n" -" logging.basicConfig(level=logging.INFO, format='%(message)s')\n" -" logging.info(_('message 1', set_value={1, 2, 3}, snowman='\\u2603'))\n" -"\n" -"if __name__ == '__main__':\n" -" main()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2570 -msgid "When the above script is run, it prints:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2572 -msgid "message 1 >>> {\"snowman\": \"\\u2603\", \"set_value\": [1, 2, 3]}" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2585 -msgid "Customizing handlers with :func:`dictConfig`" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2587 -msgid "" -"There are times when you want to customize logging handlers in particular " -"ways, and if you use :func:`dictConfig` you may be able to do this without " -"subclassing. As an example, consider that you may want to set the ownership " -"of a log file. On POSIX, this is easily done using :func:`shutil.chown`, but" -" the file handlers in the stdlib don't offer built-in support. You can " -"customize handler creation using a plain function such as::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2594 -msgid "" -"def owned_file_handler(filename, mode='a', encoding=None, owner=None):\n" -" if owner:\n" -" if not os.path.exists(filename):\n" -" open(filename, 'a').close()\n" -" shutil.chown(filename, *owner)\n" -" return logging.FileHandler(filename, mode, encoding)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2601 -msgid "" -"You can then specify, in a logging configuration passed to " -":func:`dictConfig`, that a logging handler be created by calling this " -"function::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2604 -msgid "" -"LOGGING = {\n" -" 'version': 1,\n" -" 'disable_existing_loggers': False,\n" -" 'formatters': {\n" -" 'default': {\n" -" 'format': '%(asctime)s %(levelname)s %(name)s %(message)s'\n" -" },\n" -" },\n" -" 'handlers': {\n" -" 'file':{\n" -" # The values below are popped from this dictionary and\n" -" # used to create the handler, set the handler's level and\n" -" # its formatter.\n" -" '()': owned_file_handler,\n" -" 'level':'DEBUG',\n" -" 'formatter': 'default',\n" -" # The values below are passed to the handler creator callable\n" -" # as keyword arguments.\n" -" 'owner': ['pulse', 'pulse'],\n" -" 'filename': 'chowntest.log',\n" -" 'mode': 'w',\n" -" 'encoding': 'utf-8',\n" -" },\n" -" },\n" -" 'root': {\n" -" 'handlers': ['file'],\n" -" 'level': 'DEBUG',\n" -" },\n" -"}" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2634 -msgid "" -"In this example I am setting the ownership using the ``pulse`` user and " -"group, just for the purposes of illustration. Putting it together into a " -"working script, ``chowntest.py``::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2638 -msgid "" -"import logging, logging.config, os, shutil\n" -"\n" -"def owned_file_handler(filename, mode='a', encoding=None, owner=None):\n" -" if owner:\n" -" if not os.path.exists(filename):\n" -" open(filename, 'a').close()\n" -" shutil.chown(filename, *owner)\n" -" return logging.FileHandler(filename, mode, encoding)\n" -"\n" -"LOGGING = {\n" -" 'version': 1,\n" -" 'disable_existing_loggers': False,\n" -" 'formatters': {\n" -" 'default': {\n" -" 'format': '%(asctime)s %(levelname)s %(name)s %(message)s'\n" -" },\n" -" },\n" -" 'handlers': {\n" -" 'file':{\n" -" # The values below are popped from this dictionary and\n" -" # used to create the handler, set the handler's level and\n" -" # its formatter.\n" -" '()': owned_file_handler,\n" -" 'level':'DEBUG',\n" -" 'formatter': 'default',\n" -" # The values below are passed to the handler creator callable\n" -" # as keyword arguments.\n" -" 'owner': ['pulse', 'pulse'],\n" -" 'filename': 'chowntest.log',\n" -" 'mode': 'w',\n" -" 'encoding': 'utf-8',\n" -" },\n" -" },\n" -" 'root': {\n" -" 'handlers': ['file'],\n" -" 'level': 'DEBUG',\n" -" },\n" -"}\n" -"\n" -"logging.config.dictConfig(LOGGING)\n" -"logger = logging.getLogger('mylogger')\n" -"logger.debug('A debug message')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2681 -msgid "To run this, you will probably need to run as ``root``:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2683 -msgid "" -"$ sudo python3.3 chowntest.py\n" -"$ cat chowntest.log\n" -"2013-11-05 09:34:51,128 DEBUG mylogger A debug message\n" -"$ ls -l chowntest.log\n" -"-rw-r--r-- 1 pulse pulse 55 2013-11-05 09:34 chowntest.log" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2691 -msgid "" -"Note that this example uses Python 3.3 because that's where " -":func:`shutil.chown` makes an appearance. This approach should work with any" -" Python version that supports :func:`dictConfig` - namely, Python 2.7, 3.2 " -"or later. With pre-3.3 versions, you would need to implement the actual " -"ownership change using e.g. :func:`os.chown`." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2697 -msgid "" -"In practice, the handler-creating function may be in a utility module " -"somewhere in your project. Instead of the line in the configuration::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2700 -msgid "'()': owned_file_handler," -msgstr "" - -#: ../../howto/logging-cookbook.rst:2702 -msgid "you could use e.g.::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2704 -msgid "'()': 'ext://project.util.owned_file_handler'," -msgstr "" - -#: ../../howto/logging-cookbook.rst:2706 -msgid "" -"where ``project.util`` can be replaced with the actual name of the package " -"where the function resides. In the above working script, using " -"``'ext://__main__.owned_file_handler'`` should work. Here, the actual " -"callable is resolved by :func:`dictConfig` from the ``ext://`` " -"specification." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2711 -msgid "" -"This example hopefully also points the way to how you could implement other " -"types of file change - e.g. setting specific POSIX permission bits - in the " -"same way, using :func:`os.chmod`." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2715 -msgid "" -"Of course, the approach could also be extended to types of handler other " -"than a :class:`~logging.FileHandler` - for example, one of the rotating file" -" handlers, or a different type of handler altogether." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2725 -msgid "Using particular formatting styles throughout your application" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2727 -msgid "" -"In Python 3.2, the :class:`~logging.Formatter` gained a ``style`` keyword " -"parameter which, while defaulting to ``%`` for backward compatibility, " -"allowed the specification of ``{`` or ``$`` to support the formatting " -"approaches supported by :meth:`str.format` and :class:`string.Template`. " -"Note that this governs the formatting of logging messages for final output " -"to logs, and is completely orthogonal to how an individual logging message " -"is constructed." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2734 -msgid "" -"Logging calls (:meth:`~Logger.debug`, :meth:`~Logger.info` etc.) only take " -"positional parameters for the actual logging message itself, with keyword " -"parameters used only for determining options for how to handle the logging " -"call (e.g. the ``exc_info`` keyword parameter to indicate that traceback " -"information should be logged, or the ``extra`` keyword parameter to indicate" -" additional contextual information to be added to the log). So you cannot " -"directly make logging calls using :meth:`str.format` or " -":class:`string.Template` syntax, because internally the logging package uses" -" %-formatting to merge the format string and the variable arguments. There " -"would be no changing this while preserving backward compatibility, since all" -" logging calls which are out there in existing code will be using %-format " -"strings." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2746 -msgid "" -"There have been suggestions to associate format styles with specific " -"loggers, but that approach also runs into backward compatibility problems " -"because any existing code could be using a given logger name and using " -"%-formatting." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2750 -msgid "" -"For logging to work interoperably between any third-party libraries and your" -" code, decisions about formatting need to be made at the level of the " -"individual logging call. This opens up a couple of ways in which alternative" -" formatting styles can be accommodated." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2757 -msgid "Using LogRecord factories" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2759 -msgid "" -"In Python 3.2, along with the :class:`~logging.Formatter` changes mentioned " -"above, the logging package gained the ability to allow users to set their " -"own :class:`LogRecord` subclasses, using the :func:`setLogRecordFactory` " -"function. You can use this to set your own subclass of :class:`LogRecord`, " -"which does the Right Thing by overriding the :meth:`~LogRecord.getMessage` " -"method. The base class implementation of this method is where the ``msg % " -"args`` formatting happens, and where you can substitute your alternate " -"formatting; however, you should be careful to support all formatting styles " -"and allow %-formatting as the default, to ensure interoperability with other" -" code. Care should also be taken to call ``str(self.msg)``, just as the base" -" implementation does." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2770 -msgid "" -"Refer to the reference documentation on :func:`setLogRecordFactory` and " -":class:`LogRecord` for more information." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2775 -msgid "Using custom message objects" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2777 -msgid "" -"There is another, perhaps simpler way that you can use {}- and $- formatting" -" to construct your individual log messages. You may recall (from " -":ref:`arbitrary-object-messages`) that when logging you can use an arbitrary" -" object as a message format string, and that the logging package will call " -":func:`str` on that object to get the actual format string. Consider the " -"following two classes::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2802 -msgid "" -"Either of these can be used in place of a format string, to allow {}- or " -"$-formatting to be used to build the actual \"message\" part which appears " -"in the formatted log output in place of “%(message)s” or “{message}” or " -"“$message”. If you find it a little unwieldy to use the class names whenever" -" you want to log something, you can make it more palatable if you use an " -"alias such as ``M`` or ``_`` for the message (or perhaps ``__``, if you are " -"using ``_`` for localization)." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2810 -msgid "" -"Examples of this approach are given below. Firstly, formatting with " -":meth:`str.format`::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2813 -msgid "" -">>> __ = BraceMessage\n" -">>> print(__('Message with {0} {1}', 2, 'placeholders'))\n" -"Message with 2 placeholders\n" -">>> class Point: pass\n" -"...\n" -">>> p = Point()\n" -">>> p.x = 0.5\n" -">>> p.y = 0.5\n" -">>> print(__('Message with coordinates: ({point.x:.2f}, {point.y:.2f})', point=p))\n" -"Message with coordinates: (0.50, 0.50)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2824 -msgid "Secondly, formatting with :class:`string.Template`::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2826 -msgid "" -">>> __ = DollarMessage\n" -">>> print(__('Message with $num $what', num=2, what='placeholders'))\n" -"Message with 2 placeholders\n" -">>>" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2831 -msgid "" -"One thing to note is that you pay no significant performance penalty with " -"this approach: the actual formatting happens not when you make the logging " -"call, but when (and if) the logged message is actually about to be output to" -" a log by a handler. So the only slightly unusual thing which might trip you" -" up is that the parentheses go around the format string and the arguments, " -"not just the format string. That’s because the __ notation is just syntax " -"sugar for a constructor call to one of the :samp:`{XXX}Message` classes " -"shown above." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2845 -msgid "Configuring filters with :func:`dictConfig`" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2847 -msgid "" -"You *can* configure filters using :func:`~logging.config.dictConfig`, though" -" it might not be obvious at first glance how to do it (hence this recipe). " -"Since :class:`~logging.Filter` is the only filter class included in the " -"standard library, and it is unlikely to cater to many requirements (it's " -"only there as a base class), you will typically need to define your own " -":class:`~logging.Filter` subclass with an overridden " -":meth:`~logging.Filter.filter` method. To do this, specify the ``()`` key in" -" the configuration dictionary for the filter, specifying a callable which " -"will be used to create the filter (a class is the most obvious, but you can " -"provide any callable which returns a :class:`~logging.Filter` instance). " -"Here is a complete example::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2858 -msgid "" -"import logging\n" -"import logging.config\n" -"import sys\n" -"\n" -"class MyFilter(logging.Filter):\n" -" def __init__(self, param=None):\n" -" self.param = param\n" -"\n" -" def filter(self, record):\n" -" if self.param is None:\n" -" allow = True\n" -" else:\n" -" allow = self.param not in record.msg\n" -" if allow:\n" -" record.msg = 'changed: ' + record.msg\n" -" return allow\n" -"\n" -"LOGGING = {\n" -" 'version': 1,\n" -" 'filters': {\n" -" 'myfilter': {\n" -" '()': MyFilter,\n" -" 'param': 'noshow',\n" -" }\n" -" },\n" -" 'handlers': {\n" -" 'console': {\n" -" 'class': 'logging.StreamHandler',\n" -" 'filters': ['myfilter']\n" -" }\n" -" },\n" -" 'root': {\n" -" 'level': 'DEBUG',\n" -" 'handlers': ['console']\n" -" },\n" -"}\n" -"\n" -"if __name__ == '__main__':\n" -" logging.config.dictConfig(LOGGING)\n" -" logging.debug('hello')\n" -" logging.debug('hello - noshow')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2900 -msgid "" -"This example shows how you can pass configuration data to the callable which" -" constructs the instance, in the form of keyword parameters. When run, the " -"above script will print:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2904 -msgid "changed: hello" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2908 -msgid "which shows that the filter is working as configured." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2910 -msgid "A couple of extra points to note:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2912 -msgid "" -"If you can't refer to the callable directly in the configuration (e.g. if it" -" lives in a different module, and you can't import it directly where the " -"configuration dictionary is), you can use the form ``ext://...`` as " -"described in :ref:`logging-config-dict-externalobj`. For example, you could " -"have used the text ``'ext://__main__.MyFilter'`` instead of ``MyFilter`` in " -"the above example." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2919 -msgid "" -"As well as for filters, this technique can also be used to configure custom " -"handlers and formatters. See :ref:`logging-config-dict-userdef` for more " -"information on how logging supports using user-defined objects in its " -"configuration, and see the other cookbook recipe :ref:`custom-handlers` " -"above." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2928 -msgid "Customized exception formatting" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2930 -msgid "" -"There might be times when you want to do customized exception formatting - " -"for argument's sake, let's say you want exactly one line per logged event, " -"even when exception information is present. You can do this with a custom " -"formatter class, as shown in the following example::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2935 -msgid "" -"import logging\n" -"\n" -"class OneLineExceptionFormatter(logging.Formatter):\n" -" def formatException(self, exc_info):\n" -" \"\"\"\n" -" Format an exception so that it prints on a single line.\n" -" \"\"\"\n" -" result = super().formatException(exc_info)\n" -" return repr(result) # or format into one line however you want to\n" -"\n" -" def format(self, record):\n" -" s = super().format(record)\n" -" if record.exc_text:\n" -" s = s.replace('\\n', '') + '|'\n" -" return s\n" -"\n" -"def configure_logging():\n" -" fh = logging.FileHandler('output.txt', 'w')\n" -" f = OneLineExceptionFormatter('%(asctime)s|%(levelname)s|%(message)s|',\n" -" '%d/%m/%Y %H:%M:%S')\n" -" fh.setFormatter(f)\n" -" root = logging.getLogger()\n" -" root.setLevel(logging.DEBUG)\n" -" root.addHandler(fh)\n" -"\n" -"def main():\n" -" configure_logging()\n" -" logging.info('Sample message')\n" -" try:\n" -" x = 1 / 0\n" -" except ZeroDivisionError as e:\n" -" logging.exception('ZeroDivisionError: %s', e)\n" -"\n" -"if __name__ == '__main__':\n" -" main()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2971 -msgid "When run, this produces a file with exactly two lines:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2973 -msgid "" -"28/01/2015 07:21:23|INFO|Sample message|\n" -"28/01/2015 07:21:23|ERROR|ZeroDivisionError: division by zero|'Traceback (most recent call last):\\n File \"logtest7.py\", line 30, in main\\n x = 1 / 0\\nZeroDivisionError: division by zero'|" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2978 -msgid "" -"While the above treatment is simplistic, it points the way to how exception " -"information can be formatted to your liking. The :mod:`traceback` module may" -" be helpful for more specialized needs." -msgstr "" - -#: ../../howto/logging-cookbook.rst:2985 -msgid "Speaking logging messages" -msgstr "" - -#: ../../howto/logging-cookbook.rst:2987 -msgid "" -"There might be situations when it is desirable to have logging messages " -"rendered in an audible rather than a visible format. This is easy to do if " -"you have text-to-speech (TTS) functionality available in your system, even " -"if it doesn't have a Python binding. Most TTS systems have a command line " -"program you can run, and this can be invoked from a handler using " -":mod:`subprocess`. It's assumed here that TTS command line programs won't " -"expect to interact with users or take a long time to complete, and that the " -"frequency of logged messages will be not so high as to swamp the user with " -"messages, and that it's acceptable to have the messages spoken one at a time" -" rather than concurrently, The example implementation below waits for one " -"message to be spoken before the next is processed, and this might cause " -"other handlers to be kept waiting. Here is a short example showing the " -"approach, which assumes that the ``espeak`` TTS package is available::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3000 -msgid "" -"import logging\n" -"import subprocess\n" -"import sys\n" -"\n" -"class TTSHandler(logging.Handler):\n" -" def emit(self, record):\n" -" msg = self.format(record)\n" -" # Speak slowly in a female English voice\n" -" cmd = ['espeak', '-s150', '-ven+f3', msg]\n" -" p = subprocess.Popen(cmd, stdout=subprocess.PIPE,\n" -" stderr=subprocess.STDOUT)\n" -" # wait for the program to finish\n" -" p.communicate()\n" -"\n" -"def configure_logging():\n" -" h = TTSHandler()\n" -" root = logging.getLogger()\n" -" root.addHandler(h)\n" -" # the default formatter just returns the message\n" -" root.setLevel(logging.DEBUG)\n" -"\n" -"def main():\n" -" logging.info('Hello')\n" -" logging.debug('Goodbye')\n" -"\n" -"if __name__ == '__main__':\n" -" configure_logging()\n" -" sys.exit(main())" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3029 -msgid "" -"When run, this script should say \"Hello\" and then \"Goodbye\" in a female " -"voice." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3031 -msgid "" -"The above approach can, of course, be adapted to other TTS systems and even " -"other systems altogether which can process messages via external programs " -"run from a command line." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3039 -msgid "Buffering logging messages and outputting them conditionally" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3041 -msgid "" -"There might be situations where you want to log messages in a temporary area" -" and only output them if a certain condition occurs. For example, you may " -"want to start logging debug events in a function, and if the function " -"completes without errors, you don't want to clutter the log with the " -"collected debug information, but if there is an error, you want all the " -"debug information to be output as well as the error." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3048 -msgid "" -"Here is an example which shows how you could do this using a decorator for " -"your functions where you want logging to behave this way. It makes use of " -"the :class:`logging.handlers.MemoryHandler`, which allows buffering of " -"logged events until some condition occurs, at which point the buffered " -"events are ``flushed`` - passed to another handler (the ``target`` handler) " -"for processing. By default, the ``MemoryHandler`` flushed when its buffer " -"gets filled up or an event whose level is greater than or equal to a " -"specified threshold is seen. You can use this recipe with a more specialised" -" subclass of ``MemoryHandler`` if you want custom flushing behavior." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3058 -msgid "" -"The example script has a simple function, ``foo``, which just cycles through" -" all the logging levels, writing to ``sys.stderr`` to say what level it's " -"about to log at, and then actually logging a message at that level. You can " -"pass a parameter to ``foo`` which, if true, will log at ERROR and CRITICAL " -"levels - otherwise, it only logs at DEBUG, INFO and WARNING levels." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3064 -msgid "" -"The script just arranges to decorate ``foo`` with a decorator which will do " -"the conditional logging that's required. The decorator takes a logger as a " -"parameter and attaches a memory handler for the duration of the call to the " -"decorated function. The decorator can be additionally parameterised using a " -"target handler, a level at which flushing should occur, and a capacity for " -"the buffer (number of records buffered). These default to a " -":class:`~logging.StreamHandler` which writes to ``sys.stderr``, " -"``logging.ERROR`` and ``100`` respectively." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3072 -msgid "Here's the script::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3074 -msgid "" -"import logging\n" -"from logging.handlers import MemoryHandler\n" -"import sys\n" -"\n" -"logger = logging.getLogger(__name__)\n" -"logger.addHandler(logging.NullHandler())\n" -"\n" -"def log_if_errors(logger, target_handler=None, flush_level=None, capacity=None):\n" -" if target_handler is None:\n" -" target_handler = logging.StreamHandler()\n" -" if flush_level is None:\n" -" flush_level = logging.ERROR\n" -" if capacity is None:\n" -" capacity = 100\n" -" handler = MemoryHandler(capacity, flushLevel=flush_level, target=target_handler)\n" -"\n" -" def decorator(fn):\n" -" def wrapper(*args, **kwargs):\n" -" logger.addHandler(handler)\n" -" try:\n" -" return fn(*args, **kwargs)\n" -" except Exception:\n" -" logger.exception('call failed')\n" -" raise\n" -" finally:\n" -" super(MemoryHandler, handler).flush()\n" -" logger.removeHandler(handler)\n" -" return wrapper\n" -"\n" -" return decorator\n" -"\n" -"def write_line(s):\n" -" sys.stderr.write('%s\\n' % s)\n" -"\n" -"def foo(fail=False):\n" -" write_line('about to log at DEBUG ...')\n" -" logger.debug('Actually logged at DEBUG')\n" -" write_line('about to log at INFO ...')\n" -" logger.info('Actually logged at INFO')\n" -" write_line('about to log at WARNING ...')\n" -" logger.warning('Actually logged at WARNING')\n" -" if fail:\n" -" write_line('about to log at ERROR ...')\n" -" logger.error('Actually logged at ERROR')\n" -" write_line('about to log at CRITICAL ...')\n" -" logger.critical('Actually logged at CRITICAL')\n" -" return fail\n" -"\n" -"decorated_foo = log_if_errors(logger)(foo)\n" -"\n" -"if __name__ == '__main__':\n" -" logger.setLevel(logging.DEBUG)\n" -" write_line('Calling undecorated foo with False')\n" -" assert not foo(False)\n" -" write_line('Calling undecorated foo with True')\n" -" assert foo(True)\n" -" write_line('Calling decorated foo with False')\n" -" assert not decorated_foo(False)\n" -" write_line('Calling decorated foo with True')\n" -" assert decorated_foo(True)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3135 -msgid "When this script is run, the following output should be observed:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3137 -msgid "" -"Calling undecorated foo with False\n" -"about to log at DEBUG ...\n" -"about to log at INFO ...\n" -"about to log at WARNING ...\n" -"Calling undecorated foo with True\n" -"about to log at DEBUG ...\n" -"about to log at INFO ...\n" -"about to log at WARNING ...\n" -"about to log at ERROR ...\n" -"about to log at CRITICAL ...\n" -"Calling decorated foo with False\n" -"about to log at DEBUG ...\n" -"about to log at INFO ...\n" -"about to log at WARNING ...\n" -"Calling decorated foo with True\n" -"about to log at DEBUG ...\n" -"about to log at INFO ...\n" -"about to log at WARNING ...\n" -"about to log at ERROR ...\n" -"Actually logged at DEBUG\n" -"Actually logged at INFO\n" -"Actually logged at WARNING\n" -"Actually logged at ERROR\n" -"about to log at CRITICAL ...\n" -"Actually logged at CRITICAL" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3165 -msgid "" -"As you can see, actual logging output only occurs when an event is logged " -"whose severity is ERROR or greater, but in that case, any previous events at" -" lower severities are also logged." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3169 -msgid "You can of course use the conventional means of decoration::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3171 -msgid "" -"@log_if_errors(logger)\n" -"def foo(fail=False):\n" -" ..." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3179 -msgid "Sending logging messages to email, with buffering" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3181 -msgid "" -"To illustrate how you can send log messages via email, so that a set number " -"of messages are sent per email, you can subclass " -":class:`~logging.handlers.BufferingHandler`. In the following example, " -"which you can adapt to suit your specific needs, a simple test harness is " -"provided which allows you to run the script with command line arguments " -"specifying what you typically need to send things via SMTP. (Run the " -"downloaded script with the ``-h`` argument to see the required and optional " -"arguments.)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3189 -msgid "" -"import logging\n" -"import logging.handlers\n" -"import smtplib\n" -"\n" -"class BufferingSMTPHandler(logging.handlers.BufferingHandler):\n" -" def __init__(self, mailhost, port, username, password, fromaddr, toaddrs,\n" -" subject, capacity):\n" -" logging.handlers.BufferingHandler.__init__(self, capacity)\n" -" self.mailhost = mailhost\n" -" self.mailport = port\n" -" self.username = username\n" -" self.password = password\n" -" self.fromaddr = fromaddr\n" -" if isinstance(toaddrs, str):\n" -" toaddrs = [toaddrs]\n" -" self.toaddrs = toaddrs\n" -" self.subject = subject\n" -" self.setFormatter(logging.Formatter(\"%(asctime)s %(levelname)-5s %(message)s\"))\n" -"\n" -" def flush(self):\n" -" if len(self.buffer) > 0:\n" -" try:\n" -" smtp = smtplib.SMTP(self.mailhost, self.mailport)\n" -" smtp.starttls()\n" -" smtp.login(self.username, self.password)\n" -" msg = \"From: %s\\r\\nTo: %s\\r\\nSubject: %s\\r\\n\\r\\n\" % (self.fromaddr, ','.join(self.toaddrs), self.subject)\n" -" for record in self.buffer:\n" -" s = self.format(record)\n" -" msg = msg + s + \"\\r\\n\"\n" -" smtp.sendmail(self.fromaddr, self.toaddrs, msg)\n" -" smtp.quit()\n" -" except Exception:\n" -" if logging.raiseExceptions:\n" -" raise\n" -" self.buffer = []\n" -"\n" -"if __name__ == '__main__':\n" -" import argparse\n" -"\n" -" ap = argparse.ArgumentParser()\n" -" aa = ap.add_argument\n" -" aa('host', metavar='HOST', help='SMTP server')\n" -" aa('--port', '-p', type=int, default=587, help='SMTP port')\n" -" aa('user', metavar='USER', help='SMTP username')\n" -" aa('password', metavar='PASSWORD', help='SMTP password')\n" -" aa('to', metavar='TO', help='Addressee for emails')\n" -" aa('sender', metavar='SENDER', help='Sender email address')\n" -" aa('--subject', '-s',\n" -" default='Test Logging email from Python logging module (buffering)',\n" -" help='Subject of email')\n" -" options = ap.parse_args()\n" -" logger = logging.getLogger()\n" -" logger.setLevel(logging.DEBUG)\n" -" h = BufferingSMTPHandler(options.host, options.port, options.user,\n" -" options.password, options.sender,\n" -" options.to, options.subject, 10)\n" -" logger.addHandler(h)\n" -" for i in range(102):\n" -" logger.info(\"Info index = %d\", i)\n" -" h.flush()\n" -" h.close()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3253 -msgid "" -"If you run this script and your SMTP server is correctly set up, you should " -"find that it sends eleven emails to the addressee you specify. The first ten" -" emails will each have ten log messages, and the eleventh will have two " -"messages. That makes up 102 messages as specified in the script." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3261 -msgid "Formatting times using UTC (GMT) via configuration" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3263 -msgid "" -"Sometimes you want to format times using UTC, which can be done using a " -"class such as ``UTCFormatter``, shown below::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3266 -msgid "" -"import logging\n" -"import time\n" -"\n" -"class UTCFormatter(logging.Formatter):\n" -" converter = time.gmtime" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3272 -msgid "" -"and you can then use the ``UTCFormatter`` in your code instead of " -":class:`~logging.Formatter`. If you want to do that via configuration, you " -"can use the :func:`~logging.config.dictConfig` API with an approach " -"illustrated by the following complete example::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3277 -msgid "" -"import logging\n" -"import logging.config\n" -"import time\n" -"\n" -"class UTCFormatter(logging.Formatter):\n" -" converter = time.gmtime\n" -"\n" -"LOGGING = {\n" -" 'version': 1,\n" -" 'disable_existing_loggers': False,\n" -" 'formatters': {\n" -" 'utc': {\n" -" '()': UTCFormatter,\n" -" 'format': '%(asctime)s %(message)s',\n" -" },\n" -" 'local': {\n" -" 'format': '%(asctime)s %(message)s',\n" -" }\n" -" },\n" -" 'handlers': {\n" -" 'console1': {\n" -" 'class': 'logging.StreamHandler',\n" -" 'formatter': 'utc',\n" -" },\n" -" 'console2': {\n" -" 'class': 'logging.StreamHandler',\n" -" 'formatter': 'local',\n" -" },\n" -" },\n" -" 'root': {\n" -" 'handlers': ['console1', 'console2'],\n" -" }\n" -"}\n" -"\n" -"if __name__ == '__main__':\n" -" logging.config.dictConfig(LOGGING)\n" -" logging.warning('The local time is %s', time.asctime())" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3315 -msgid "When this script is run, it should print something like:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3317 -msgid "" -"2015-10-17 12:53:29,501 The local time is Sat Oct 17 13:53:29 2015\n" -"2015-10-17 13:53:29,501 The local time is Sat Oct 17 13:53:29 2015" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3322 -msgid "" -"showing how the time is formatted both as local time and UTC, one for each " -"handler." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3329 -msgid "Using a context manager for selective logging" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3331 -msgid "" -"There are times when it would be useful to temporarily change the logging " -"configuration and revert it back after doing something. For this, a context " -"manager is the most obvious way of saving and restoring the logging context." -" Here is a simple example of such a context manager, which allows you to " -"optionally change the logging level and add a logging handler purely in the " -"scope of the context manager::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3338 -msgid "" -"import logging\n" -"import sys\n" -"\n" -"class LoggingContext:\n" -" def __init__(self, logger, level=None, handler=None, close=True):\n" -" self.logger = logger\n" -" self.level = level\n" -" self.handler = handler\n" -" self.close = close\n" -"\n" -" def __enter__(self):\n" -" if self.level is not None:\n" -" self.old_level = self.logger.level\n" -" self.logger.setLevel(self.level)\n" -" if self.handler:\n" -" self.logger.addHandler(self.handler)\n" -"\n" -" def __exit__(self, et, ev, tb):\n" -" if self.level is not None:\n" -" self.logger.setLevel(self.old_level)\n" -" if self.handler:\n" -" self.logger.removeHandler(self.handler)\n" -" if self.handler and self.close:\n" -" self.handler.close()\n" -" # implicit return of None => don't swallow exceptions" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3364 -msgid "" -"If you specify a level value, the logger's level is set to that value in the" -" scope of the with block covered by the context manager. If you specify a " -"handler, it is added to the logger on entry to the block and removed on exit" -" from the block. You can also ask the manager to close the handler for you " -"on block exit - you could do this if you don't need the handler any more." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3370 -msgid "" -"To illustrate how it works, we can add the following block of code to the " -"above::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3373 -msgid "" -"if __name__ == '__main__':\n" -" logger = logging.getLogger('foo')\n" -" logger.addHandler(logging.StreamHandler())\n" -" logger.setLevel(logging.INFO)\n" -" logger.info('1. This should appear just once on stderr.')\n" -" logger.debug('2. This should not appear.')\n" -" with LoggingContext(logger, level=logging.DEBUG):\n" -" logger.debug('3. This should appear once on stderr.')\n" -" logger.debug('4. This should not appear.')\n" -" h = logging.StreamHandler(sys.stdout)\n" -" with LoggingContext(logger, level=logging.DEBUG, handler=h, close=True):\n" -" logger.debug('5. This should appear twice - once on stderr and once on stdout.')\n" -" logger.info('6. This should appear just once on stderr.')\n" -" logger.debug('7. This should not appear.')" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3388 -msgid "" -"We initially set the logger's level to ``INFO``, so message #1 appears and " -"message #2 doesn't. We then change the level to ``DEBUG`` temporarily in the" -" following ``with`` block, and so message #3 appears. After the block exits," -" the logger's level is restored to ``INFO`` and so message #4 doesn't " -"appear. In the next ``with`` block, we set the level to ``DEBUG`` again but " -"also add a handler writing to ``sys.stdout``. Thus, message #5 appears twice" -" on the console (once via ``stderr`` and once via ``stdout``). After the " -"``with`` statement's completion, the status is as it was before so message " -"#6 appears (like message #1) whereas message #7 doesn't (just like message " -"#2)." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3398 -msgid "If we run the resulting script, the result is as follows:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3400 -msgid "" -"$ python logctx.py\n" -"1. This should appear just once on stderr.\n" -"3. This should appear once on stderr.\n" -"5. This should appear twice - once on stderr and once on stdout.\n" -"5. This should appear twice - once on stderr and once on stdout.\n" -"6. This should appear just once on stderr." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3409 -msgid "" -"If we run it again, but pipe ``stderr`` to ``/dev/null``, we see the " -"following, which is the only message written to ``stdout``:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3412 -msgid "" -"$ python logctx.py 2>/dev/null\n" -"5. This should appear twice - once on stderr and once on stdout." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3417 -msgid "Once again, but piping ``stdout`` to ``/dev/null``, we get:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3419 -msgid "" -"$ python logctx.py >/dev/null\n" -"1. This should appear just once on stderr.\n" -"3. This should appear once on stderr.\n" -"5. This should appear twice - once on stderr and once on stdout.\n" -"6. This should appear just once on stderr." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3427 -msgid "" -"In this case, the message #5 printed to ``stdout`` doesn't appear, as " -"expected." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3429 -msgid "" -"Of course, the approach described here can be generalised, for example to " -"attach logging filters temporarily. Note that the above code works in Python" -" 2 as well as Python 3." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3437 -msgid "A CLI application starter template" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3439 -msgid "Here's an example which shows how you can:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3441 -msgid "Use a logging level based on command-line arguments" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3442 -msgid "" -"Dispatch to multiple subcommands in separate files, all logging at the same " -"level in a consistent way" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3444 -msgid "Make use of simple, minimal configuration" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3446 -msgid "" -"Suppose we have a command-line application whose job is to stop, start or " -"restart some services. This could be organised for the purposes of " -"illustration as a file ``app.py`` that is the main script for the " -"application, with individual commands implemented in ``start.py``, " -"``stop.py`` and ``restart.py``. Suppose further that we want to control the " -"verbosity of the application via a command-line argument, defaulting to " -"``logging.INFO``. Here's one way that ``app.py`` could be written::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3454 -msgid "" -"import argparse\n" -"import importlib\n" -"import logging\n" -"import os\n" -"import sys\n" -"\n" -"def main(args=None):\n" -" scriptname = os.path.basename(__file__)\n" -" parser = argparse.ArgumentParser(scriptname)\n" -" levels = ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL')\n" -" parser.add_argument('--log-level', default='INFO', choices=levels)\n" -" subparsers = parser.add_subparsers(dest='command',\n" -" help='Available commands:')\n" -" start_cmd = subparsers.add_parser('start', help='Start a service')\n" -" start_cmd.add_argument('name', metavar='NAME',\n" -" help='Name of service to start')\n" -" stop_cmd = subparsers.add_parser('stop',\n" -" help='Stop one or more services')\n" -" stop_cmd.add_argument('names', metavar='NAME', nargs='+',\n" -" help='Name of service to stop')\n" -" restart_cmd = subparsers.add_parser('restart',\n" -" help='Restart one or more services')\n" -" restart_cmd.add_argument('names', metavar='NAME', nargs='+',\n" -" help='Name of service to restart')\n" -" options = parser.parse_args()\n" -" # the code to dispatch commands could all be in this file. For the purposes\n" -" # of illustration only, we implement each command in a separate module.\n" -" try:\n" -" mod = importlib.import_module(options.command)\n" -" cmd = getattr(mod, 'command')\n" -" except (ImportError, AttributeError):\n" -" print('Unable to find the code for command \\'%s\\'' % options.command)\n" -" return 1\n" -" # Could get fancy here and load configuration from file or dictionary\n" -" logging.basicConfig(level=options.log_level,\n" -" format='%(levelname)s %(name)s %(message)s')\n" -" cmd(options)\n" -"\n" -"if __name__ == '__main__':\n" -" sys.exit(main())" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3495 -msgid "" -"And the ``start``, ``stop`` and ``restart`` commands can be implemented in " -"separate modules, like so for starting::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3498 -msgid "" -"# start.py\n" -"import logging\n" -"\n" -"logger = logging.getLogger(__name__)\n" -"\n" -"def command(options):\n" -" logger.debug('About to start %s', options.name)\n" -" # actually do the command processing here ...\n" -" logger.info('Started the \\'%s\\' service.', options.name)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3508 -msgid "and thus for stopping::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3510 -msgid "" -"# stop.py\n" -"import logging\n" -"\n" -"logger = logging.getLogger(__name__)\n" -"\n" -"def command(options):\n" -" n = len(options.names)\n" -" if n == 1:\n" -" plural = ''\n" -" services = '\\'%s\\'' % options.names[0]\n" -" else:\n" -" plural = 's'\n" -" services = ', '.join('\\'%s\\'' % name for name in options.names)\n" -" i = services.rfind(', ')\n" -" services = services[:i] + ' and ' + services[i + 2:]\n" -" logger.debug('About to stop %s', services)\n" -" # actually do the command processing here ...\n" -" logger.info('Stopped the %s service%s.', services, plural)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3529 -msgid "and similarly for restarting::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3531 -msgid "" -"# restart.py\n" -"import logging\n" -"\n" -"logger = logging.getLogger(__name__)\n" -"\n" -"def command(options):\n" -" n = len(options.names)\n" -" if n == 1:\n" -" plural = ''\n" -" services = '\\'%s\\'' % options.names[0]\n" -" else:\n" -" plural = 's'\n" -" services = ', '.join('\\'%s\\'' % name for name in options.names)\n" -" i = services.rfind(', ')\n" -" services = services[:i] + ' and ' + services[i + 2:]\n" -" logger.debug('About to restart %s', services)\n" -" # actually do the command processing here ...\n" -" logger.info('Restarted the %s service%s.', services, plural)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3550 -msgid "" -"If we run this application with the default log level, we get output like " -"this:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3552 -msgid "" -"$ python app.py start foo\n" -"INFO start Started the 'foo' service.\n" -"\n" -"$ python app.py stop foo bar\n" -"INFO stop Stopped the 'foo' and 'bar' services.\n" -"\n" -"$ python app.py restart foo bar baz\n" -"INFO restart Restarted the 'foo', 'bar' and 'baz' services." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3563 -msgid "" -"The first word is the logging level, and the second word is the module or " -"package name of the place where the event was logged." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3566 -msgid "" -"If we change the logging level, then we can change the information sent to " -"the log. For example, if we want more information:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3569 -msgid "" -"$ python app.py --log-level DEBUG start foo\n" -"DEBUG start About to start foo\n" -"INFO start Started the 'foo' service.\n" -"\n" -"$ python app.py --log-level DEBUG stop foo bar\n" -"DEBUG stop About to stop 'foo' and 'bar'\n" -"INFO stop Stopped the 'foo' and 'bar' services.\n" -"\n" -"$ python app.py --log-level DEBUG restart foo bar baz\n" -"DEBUG restart About to restart 'foo', 'bar' and 'baz'\n" -"INFO restart Restarted the 'foo', 'bar' and 'baz' services." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3583 -msgid "And if we want less:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3585 -msgid "" -"$ python app.py --log-level WARNING start foo\n" -"$ python app.py --log-level WARNING stop foo bar\n" -"$ python app.py --log-level WARNING restart foo bar baz" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3591 -msgid "" -"In this case, the commands don't print anything to the console, since " -"nothing at ``WARNING`` level or above is logged by them." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3597 -msgid "A Qt GUI for logging" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3599 -msgid "" -"A question that comes up from time to time is about how to log to a GUI " -"application. The `Qt `_ framework is a popular cross-" -"platform UI framework with Python bindings using :pypi:`PySide2` or " -":pypi:`PyQt5` libraries." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3604 -msgid "" -"The following example shows how to log to a Qt GUI. This introduces a simple" -" ``QtHandler`` class which takes a callable, which should be a slot in the " -"main thread that does GUI updates. A worker thread is also created to show " -"how you can log to the GUI from both the UI itself (via a button for manual " -"logging) as well as a worker thread doing work in the background (here, just" -" logging messages at random levels with random short delays in between)." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3611 -msgid "" -"The worker thread is implemented using Qt's ``QThread`` class rather than " -"the :mod:`threading` module, as there are circumstances where one has to use" -" ``QThread``, which offers better integration with other ``Qt`` components." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3615 -msgid "" -"The code should work with recent releases of any of ``PySide6``, ``PyQt6``, " -"``PySide2`` or ``PyQt5``. You should be able to adapt the approach to " -"earlier versions of Qt. Please refer to the comments in the code snippet for" -" more detailed information." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3620 -msgid "" -"import datetime\n" -"import logging\n" -"import random\n" -"import sys\n" -"import time\n" -"\n" -"# Deal with minor differences between different Qt packages\n" -"try:\n" -" from PySide6 import QtCore, QtGui, QtWidgets\n" -" Signal = QtCore.Signal\n" -" Slot = QtCore.Slot\n" -"except ImportError:\n" -" try:\n" -" from PyQt6 import QtCore, QtGui, QtWidgets\n" -" Signal = QtCore.pyqtSignal\n" -" Slot = QtCore.pyqtSlot\n" -" except ImportError:\n" -" try:\n" -" from PySide2 import QtCore, QtGui, QtWidgets\n" -" Signal = QtCore.Signal\n" -" Slot = QtCore.Slot\n" -" except ImportError:\n" -" from PyQt5 import QtCore, QtGui, QtWidgets\n" -" Signal = QtCore.pyqtSignal\n" -" Slot = QtCore.pyqtSlot\n" -"\n" -"logger = logging.getLogger(__name__)\n" -"\n" -"\n" -"#\n" -"# Signals need to be contained in a QObject or subclass in order to be correctly\n" -"# initialized.\n" -"#\n" -"class Signaller(QtCore.QObject):\n" -" signal = Signal(str, logging.LogRecord)\n" -"\n" -"#\n" -"# Output to a Qt GUI is only supposed to happen on the main thread. So, this\n" -"# handler is designed to take a slot function which is set up to run in the main\n" -"# thread. In this example, the function takes a string argument which is a\n" -"# formatted log message, and the log record which generated it. The formatted\n" -"# string is just a convenience - you could format a string for output any way\n" -"# you like in the slot function itself.\n" -"#\n" -"# You specify the slot function to do whatever GUI updates you want. The handler\n" -"# doesn't know or care about specific UI elements.\n" -"#\n" -"class QtHandler(logging.Handler):\n" -" def __init__(self, slotfunc, *args, **kwargs):\n" -" super().__init__(*args, **kwargs)\n" -" self.signaller = Signaller()\n" -" self.signaller.signal.connect(slotfunc)\n" -"\n" -" def emit(self, record):\n" -" s = self.format(record)\n" -" self.signaller.signal.emit(s, record)\n" -"\n" -"#\n" -"# This example uses QThreads, which means that the threads at the Python level\n" -"# are named something like \"Dummy-1\". The function below gets the Qt name of the\n" -"# current thread.\n" -"#\n" -"def ctname():\n" -" return QtCore.QThread.currentThread().objectName()\n" -"\n" -"\n" -"#\n" -"# Used to generate random levels for logging.\n" -"#\n" -"LEVELS = (logging.DEBUG, logging.INFO, logging.WARNING, logging.ERROR,\n" -" logging.CRITICAL)\n" -"\n" -"#\n" -"# This worker class represents work that is done in a thread separate to the\n" -"# main thread. The way the thread is kicked off to do work is via a button press\n" -"# that connects to a slot in the worker.\n" -"#\n" -"# Because the default threadName value in the LogRecord isn't much use, we add\n" -"# a qThreadName which contains the QThread name as computed above, and pass that\n" -"# value in an \"extra\" dictionary which is used to update the LogRecord with the\n" -"# QThread name.\n" -"#\n" -"# This example worker just outputs messages sequentially, interspersed with\n" -"# random delays of the order of a few seconds.\n" -"#\n" -"class Worker(QtCore.QObject):\n" -" @Slot()\n" -" def start(self):\n" -" extra = {'qThreadName': ctname() }\n" -" logger.debug('Started work', extra=extra)\n" -" i = 1\n" -" # Let the thread run until interrupted. This allows reasonably clean\n" -" # thread termination.\n" -" while not QtCore.QThread.currentThread().isInterruptionRequested():\n" -" delay = 0.5 + random.random() * 2\n" -" time.sleep(delay)\n" -" try:\n" -" if random.random() < 0.1:\n" -" raise ValueError('Exception raised: %d' % i)\n" -" else:\n" -" level = random.choice(LEVELS)\n" -" logger.log(level, 'Message after delay of %3.1f: %d', delay, i, extra=extra)\n" -" except ValueError as e:\n" -" logger.exception('Failed: %s', e, extra=extra)\n" -" i += 1\n" -"\n" -"#\n" -"# Implement a simple UI for this cookbook example. This contains:\n" -"#\n" -"# * A read-only text edit window which holds formatted log messages\n" -"# * A button to start work and log stuff in a separate thread\n" -"# * A button to log something from the main thread\n" -"# * A button to clear the log window\n" -"#\n" -"class Window(QtWidgets.QWidget):\n" -"\n" -" COLORS = {\n" -" logging.DEBUG: 'black',\n" -" logging.INFO: 'blue',\n" -" logging.WARNING: 'orange',\n" -" logging.ERROR: 'red',\n" -" logging.CRITICAL: 'purple',\n" -" }\n" -"\n" -" def __init__(self, app):\n" -" super().__init__()\n" -" self.app = app\n" -" self.textedit = te = QtWidgets.QPlainTextEdit(self)\n" -" # Set whatever the default monospace font is for the platform\n" -" f = QtGui.QFont('nosuchfont')\n" -" if hasattr(f, 'Monospace'):\n" -" f.setStyleHint(f.Monospace)\n" -" else:\n" -" f.setStyleHint(f.StyleHint.Monospace) # for Qt6\n" -" te.setFont(f)\n" -" te.setReadOnly(True)\n" -" PB = QtWidgets.QPushButton\n" -" self.work_button = PB('Start background work', self)\n" -" self.log_button = PB('Log a message at a random level', self)\n" -" self.clear_button = PB('Clear log window', self)\n" -" self.handler = h = QtHandler(self.update_status)\n" -" # Remember to use qThreadName rather than threadName in the format string.\n" -" fs = '%(asctime)s %(qThreadName)-12s %(levelname)-8s %(message)s'\n" -" formatter = logging.Formatter(fs)\n" -" h.setFormatter(formatter)\n" -" logger.addHandler(h)\n" -" # Set up to terminate the QThread when we exit\n" -" app.aboutToQuit.connect(self.force_quit)\n" -"\n" -" # Lay out all the widgets\n" -" layout = QtWidgets.QVBoxLayout(self)\n" -" layout.addWidget(te)\n" -" layout.addWidget(self.work_button)\n" -" layout.addWidget(self.log_button)\n" -" layout.addWidget(self.clear_button)\n" -" self.setFixedSize(900, 400)\n" -"\n" -" # Connect the non-worker slots and signals\n" -" self.log_button.clicked.connect(self.manual_update)\n" -" self.clear_button.clicked.connect(self.clear_display)\n" -"\n" -" # Start a new worker thread and connect the slots for the worker\n" -" self.start_thread()\n" -" self.work_button.clicked.connect(self.worker.start)\n" -" # Once started, the button should be disabled\n" -" self.work_button.clicked.connect(lambda : self.work_button.setEnabled(False))\n" -"\n" -" def start_thread(self):\n" -" self.worker = Worker()\n" -" self.worker_thread = QtCore.QThread()\n" -" self.worker.setObjectName('Worker')\n" -" self.worker_thread.setObjectName('WorkerThread') # for qThreadName\n" -" self.worker.moveToThread(self.worker_thread)\n" -" # This will start an event loop in the worker thread\n" -" self.worker_thread.start()\n" -"\n" -" def kill_thread(self):\n" -" # Just tell the worker to stop, then tell it to quit and wait for that\n" -" # to happen\n" -" self.worker_thread.requestInterruption()\n" -" if self.worker_thread.isRunning():\n" -" self.worker_thread.quit()\n" -" self.worker_thread.wait()\n" -" else:\n" -" print('worker has already exited.')\n" -"\n" -" def force_quit(self):\n" -" # For use when the window is closed\n" -" if self.worker_thread.isRunning():\n" -" self.kill_thread()\n" -"\n" -" # The functions below update the UI and run in the main thread because\n" -" # that's where the slots are set up\n" -"\n" -" @Slot(str, logging.LogRecord)\n" -" def update_status(self, status, record):\n" -" color = self.COLORS.get(record.levelno, 'black')\n" -" s = '
%s
' % (color, status)\n" -" self.textedit.appendHtml(s)\n" -"\n" -" @Slot()\n" -" def manual_update(self):\n" -" # This function uses the formatted message passed in, but also uses\n" -" # information from the record to format the message in an appropriate\n" -" # color according to its severity (level).\n" -" level = random.choice(LEVELS)\n" -" extra = {'qThreadName': ctname() }\n" -" logger.log(level, 'Manually logged!', extra=extra)\n" -"\n" -" @Slot()\n" -" def clear_display(self):\n" -" self.textedit.clear()\n" -"\n" -"\n" -"def main():\n" -" QtCore.QThread.currentThread().setObjectName('MainThread')\n" -" logging.getLogger().setLevel(logging.DEBUG)\n" -" app = QtWidgets.QApplication(sys.argv)\n" -" example = Window(app)\n" -" example.show()\n" -" if hasattr(app, 'exec'):\n" -" rc = app.exec()\n" -" else:\n" -" rc = app.exec_()\n" -" sys.exit(rc)\n" -"\n" -"if __name__=='__main__':\n" -" main()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3852 -msgid "Logging to syslog with RFC5424 support" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3854 -msgid "" -"Although :rfc:`5424` dates from 2009, most syslog servers are configured by " -"default to use the older :rfc:`3164`, which hails from 2001. When " -"``logging`` was added to Python in 2003, it supported the earlier (and only " -"existing) protocol at the time. Since RFC5424 came out, as there has not " -"been widespread deployment of it in syslog servers, the " -":class:`~logging.handlers.SysLogHandler` functionality has not been updated." -msgstr "" - -#: ../../howto/logging-cookbook.rst:3861 -msgid "" -"RFC 5424 contains some useful features such as support for structured data, " -"and if you need to be able to log to a syslog server with support for it, " -"you can do so with a subclassed handler which looks something like this::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3865 -msgid "" -"import datetime\n" -"import logging.handlers\n" -"import re\n" -"import socket\n" -"import time\n" -"\n" -"class SysLogHandler5424(logging.handlers.SysLogHandler):\n" -"\n" -" tz_offset = re.compile(r'([+-]\\d{2})(\\d{2})$')\n" -" escaped = re.compile(r'([\\]\"\\\\])')\n" -"\n" -" def __init__(self, *args, **kwargs):\n" -" self.msgid = kwargs.pop('msgid', None)\n" -" self.appname = kwargs.pop('appname', None)\n" -" super().__init__(*args, **kwargs)\n" -"\n" -" def format(self, record):\n" -" version = 1\n" -" asctime = datetime.datetime.fromtimestamp(record.created).isoformat()\n" -" m = self.tz_offset.match(time.strftime('%z'))\n" -" has_offset = False\n" -" if m and time.timezone:\n" -" hrs, mins = m.groups()\n" -" if int(hrs) or int(mins):\n" -" has_offset = True\n" -" if not has_offset:\n" -" asctime += 'Z'\n" -" else:\n" -" asctime += f'{hrs}:{mins}'\n" -" try:\n" -" hostname = socket.gethostname()\n" -" except Exception:\n" -" hostname = '-'\n" -" appname = self.appname or '-'\n" -" procid = record.process\n" -" msgid = '-'\n" -" msg = super().format(record)\n" -" sdata = '-'\n" -" if hasattr(record, 'structured_data'):\n" -" sd = record.structured_data\n" -" # This should be a dict where the keys are SD-ID and the value is a\n" -" # dict mapping PARAM-NAME to PARAM-VALUE (refer to the RFC for what these\n" -" # mean)\n" -" # There's no error checking here - it's purely for illustration, and you\n" -" # can adapt this code for use in production environments\n" -" parts = []\n" -"\n" -" def replacer(m):\n" -" g = m.groups()\n" -" return '\\\\' + g[0]\n" -"\n" -" for sdid, dv in sd.items():\n" -" part = f'[{sdid}'\n" -" for k, v in dv.items():\n" -" s = str(v)\n" -" s = self.escaped.sub(replacer, s)\n" -" part += f' {k}=\"{s}\"'\n" -" part += ']'\n" -" parts.append(part)\n" -" sdata = ''.join(parts)\n" -" return f'{version} {asctime} {hostname} {appname} {procid} {msgid} {sdata} {msg}'" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3927 -msgid "" -"You'll need to be familiar with RFC 5424 to fully understand the above code," -" and it may be that you have slightly different needs (e.g. for how you pass" -" structural data to the log). Nevertheless, the above should be adaptable to" -" your speciric needs. With the above handler, you'd pass structured data " -"using something like this::" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3932 -msgid "" -"sd = {\n" -" 'foo@12345': {'bar': 'baz', 'baz': 'bozz', 'fizz': r'buzz'},\n" -" 'foo@54321': {'rab': 'baz', 'zab': 'bozz', 'zzif': r'buzz'}\n" -"}\n" -"extra = {'structured_data': sd}\n" -"i = 1\n" -"logger.debug('Message %d', i, extra=extra)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3941 -msgid "How to treat a logger like an output stream" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3943 -msgid "" -"Sometimes, you need to interface to a third-party API which expects a file-" -"like object to write to, but you want to direct the API's output to a " -"logger. You can do this using a class which wraps a logger with a file-like " -"API. Here's a short script illustrating such a class:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3948 -msgid "" -"import logging\n" -"\n" -"class LoggerWriter:\n" -" def __init__(self, logger, level):\n" -" self.logger = logger\n" -" self.level = level\n" -"\n" -" def write(self, message):\n" -" if message != '\\n': # avoid printing bare newlines, if you like\n" -" self.logger.log(self.level, message)\n" -"\n" -" def flush(self):\n" -" # doesn't actually do anything, but might be expected of a file-like\n" -" # object - so optional depending on your situation\n" -" pass\n" -"\n" -" def close(self):\n" -" # doesn't actually do anything, but might be expected of a file-like\n" -" # object - so optional depending on your situation. You might want\n" -" # to set a flag so that later calls to write raise an exception\n" -" pass\n" -"\n" -"def main():\n" -" logging.basicConfig(level=logging.DEBUG)\n" -" logger = logging.getLogger('demo')\n" -" info_fp = LoggerWriter(logger, logging.INFO)\n" -" debug_fp = LoggerWriter(logger, logging.DEBUG)\n" -" print('An INFO message', file=info_fp)\n" -" print('A DEBUG message', file=debug_fp)\n" -"\n" -"if __name__ == \"__main__\":\n" -" main()" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3983 -msgid "When this script is run, it prints" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3985 -msgid "" -"INFO:demo:An INFO message\n" -"DEBUG:demo:A DEBUG message" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3990 -msgid "" -"You could also use ``LoggerWriter`` to redirect ``sys.stdout`` and " -"``sys.stderr`` by doing something like this:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:3993 -msgid "" -"import sys\n" -"\n" -"sys.stdout = LoggerWriter(logger, logging.INFO)\n" -"sys.stderr = LoggerWriter(logger, logging.WARNING)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4000 -msgid "" -"You should do this *after* configuring logging for your needs. In the above " -"example, the :func:`~logging.basicConfig` call does this (using the " -"``sys.stderr`` value *before* it is overwritten by a ``LoggerWriter`` " -"instance). Then, you'd get this kind of result:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4005 -msgid "" -">>> print('Foo')\n" -"INFO:demo:Foo\n" -">>> print('Bar', file=sys.stderr)\n" -"WARNING:demo:Bar\n" -">>>" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4013 -msgid "" -"Of course, the examples above show output according to the format used by " -":func:`~logging.basicConfig`, but you can use a different formatter when you" -" configure logging." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4017 -msgid "" -"Note that with the above scheme, you are somewhat at the mercy of buffering " -"and the sequence of write calls which you are intercepting. For example, " -"with the definition of ``LoggerWriter`` above, if you have the snippet" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4021 -msgid "" -"sys.stderr = LoggerWriter(logger, logging.WARNING)\n" -"1 / 0" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4026 -msgid "then running the script results in" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4028 -msgid "" -"WARNING:demo:Traceback (most recent call last):\n" -"\n" -"WARNING:demo: File \"/home/runner/cookbook-loggerwriter/test.py\", line 53, in \n" -"\n" -"WARNING:demo:\n" -"WARNING:demo:main()\n" -"WARNING:demo: File \"/home/runner/cookbook-loggerwriter/test.py\", line 49, in main\n" -"\n" -"WARNING:demo:\n" -"WARNING:demo:1 / 0\n" -"WARNING:demo:ZeroDivisionError\n" -"WARNING:demo::\n" -"WARNING:demo:division by zero" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4044 -msgid "" -"As you can see, this output isn't ideal. That's because the underlying code " -"which writes to ``sys.stderr`` makes multiple writes, each of which results " -"in a separate logged line (for example, the last three lines above). To get " -"around this problem, you need to buffer things and only output log lines " -"when newlines are seen. Let's use a slightly better implementation of " -"``LoggerWriter``:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4050 -msgid "" -"class BufferingLoggerWriter(LoggerWriter):\n" -" def __init__(self, logger, level):\n" -" super().__init__(logger, level)\n" -" self.buffer = ''\n" -"\n" -" def write(self, message):\n" -" if '\\n' not in message:\n" -" self.buffer += message\n" -" else:\n" -" parts = message.split('\\n')\n" -" if self.buffer:\n" -" s = self.buffer + parts.pop(0)\n" -" self.logger.log(self.level, s)\n" -" self.buffer = parts.pop()\n" -" for part in parts:\n" -" self.logger.log(self.level, part)" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4069 -msgid "" -"This just buffers up stuff until a newline is seen, and then logs complete " -"lines. With this approach, you get better output:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4072 -msgid "" -"WARNING:demo:Traceback (most recent call last):\n" -"WARNING:demo: File \"/home/runner/cookbook-loggerwriter/main.py\", line 55, in \n" -"WARNING:demo: main()\n" -"WARNING:demo: File \"/home/runner/cookbook-loggerwriter/main.py\", line 52, in main\n" -"WARNING:demo: 1/0\n" -"WARNING:demo:ZeroDivisionError: division by zero" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4085 -msgid "Patterns to avoid" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4087 -msgid "" -"Although the preceding sections have described ways of doing things you " -"might need to do or deal with, it is worth mentioning some usage patterns " -"which are *unhelpful*, and which should therefore be avoided in most cases. " -"The following sections are in no particular order." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4093 -msgid "Opening the same log file multiple times" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4095 -msgid "" -"On Windows, you will generally not be able to open the same file multiple " -"times as this will lead to a \"file is in use by another process\" error. " -"However, on POSIX platforms you'll not get any errors if you open the same " -"file multiple times. This could be done accidentally, for example by:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4100 -msgid "" -"Adding a file handler more than once which references the same file (e.g. by" -" a copy/paste/forget-to-change error)." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4103 -msgid "" -"Opening two files that look different, as they have different names, but are" -" the same because one is a symbolic link to the other." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4106 -msgid "" -"Forking a process, following which both parent and child have a reference to" -" the same file. This might be through use of the :mod:`multiprocessing` " -"module, for example." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4110 -msgid "" -"Opening a file multiple times might *appear* to work most of the time, but " -"can lead to a number of problems in practice:" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4113 -msgid "" -"Logging output can be garbled because multiple threads or processes try to " -"write to the same file. Although logging guards against concurrent use of " -"the same handler instance by multiple threads, there is no such protection " -"if concurrent writes are attempted by two different threads using two " -"different handler instances which happen to point to the same file." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4119 -msgid "" -"An attempt to delete a file (e.g. during file rotation) silently fails, " -"because there is another reference pointing to it. This can lead to " -"confusion and wasted debugging time - log entries end up in unexpected " -"places, or are lost altogether. Or a file that was supposed to be moved " -"remains in place, and grows in size unexpectedly despite size-based rotation" -" being supposedly in place." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4126 -msgid "" -"Use the techniques outlined in :ref:`multiple-processes` to circumvent such " -"issues." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4130 -msgid "Using loggers as attributes in a class or passing them as parameters" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4132 -msgid "" -"While there might be unusual cases where you'll need to do this, in general " -"there is no point because loggers are singletons. Code can always access a " -"given logger instance by name using ``logging.getLogger(name)``, so passing " -"instances around and holding them as instance attributes is pointless. Note " -"that in other languages such as Java and C#, loggers are often static class " -"attributes. However, this pattern doesn't make sense in Python, where the " -"module (and not the class) is the unit of software decomposition." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4141 -msgid "" -"Adding handlers other than :class:`~logging.NullHandler` to a logger in a " -"library" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4143 -msgid "" -"Configuring logging by adding handlers, formatters and filters is the " -"responsibility of the application developer, not the library developer. If " -"you are maintaining a library, ensure that you don't add handlers to any of " -"your loggers other than a :class:`~logging.NullHandler` instance." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4149 -msgid "Creating a lot of loggers" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4151 -msgid "" -"Loggers are singletons that are never freed during a script execution, and " -"so creating lots of loggers will use up memory which can't then be freed. " -"Rather than create a logger per e.g. file processed or network connection " -"made, use the :ref:`existing mechanisms ` for passing " -"contextual information into your logs and restrict the loggers created to " -"those describing areas within your application (generally modules, but " -"occasionally slightly more fine-grained than that)." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4162 -msgid "Other resources" -msgstr "Sumber daya lain" - -#: ../../howto/logging-cookbook.rst:4166 -msgid "Module :mod:`logging`" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4167 -msgid "API reference for the logging module." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4169 -msgid "Module :mod:`logging.config`" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4170 -msgid "Configuration API for the logging module." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4172 -msgid "Module :mod:`logging.handlers`" -msgstr "" - -#: ../../howto/logging-cookbook.rst:4173 -msgid "Useful handlers included with the logging module." -msgstr "" - -#: ../../howto/logging-cookbook.rst:4175 -msgid ":ref:`Basic Tutorial `" -msgstr ":ref:`Basic Tutorial `" - -#: ../../howto/logging-cookbook.rst:4177 -msgid ":ref:`Advanced Tutorial `" -msgstr ":ref:`Advanced Tutorial `" diff --git a/python-newest.howto--logging/id.po b/python-newest.howto--logging/id.po deleted file mode 100644 index 08550df..0000000 --- a/python-newest.howto--logging/id.po +++ /dev/null @@ -1,1711 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/logging.rst:5 -msgid "Logging HOWTO" -msgstr "" - -#: ../../howto/logging.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../howto/logging.rst:7 -msgid "Vinay Sajip " -msgstr "Vinay Sajip " - -#: ../../howto/logging.rst:13 -msgid "" -"This page contains tutorial information. For links to reference information " -"and a logging cookbook, please see :ref:`tutorial-ref-links`." -msgstr "" - -#: ../../howto/logging.rst:17 -msgid "Basic Logging Tutorial" -msgstr "" - -#: ../../howto/logging.rst:19 -msgid "" -"Logging is a means of tracking events that happen when some software runs. " -"The software's developer adds logging calls to their code to indicate that " -"certain events have occurred. An event is described by a descriptive message" -" which can optionally contain variable data (i.e. data that is potentially " -"different for each occurrence of the event). Events also have an importance " -"which the developer ascribes to the event; the importance can also be called" -" the *level* or *severity*." -msgstr "" - -#: ../../howto/logging.rst:28 -msgid "When to use logging" -msgstr "" - -#: ../../howto/logging.rst:30 -msgid "" -"You can access logging functionality by creating a logger via ``logger = " -"getLogger(__name__)``, and then calling the logger's :meth:`~Logger.debug`, " -":meth:`~Logger.info`, :meth:`~Logger.warning`, :meth:`~Logger.error` and " -":meth:`~Logger.critical` methods. To determine when to use logging, and to " -"see which logger methods to use when, see the table below. It states, for " -"each of a set of common tasks, the best tool to use for that task." -msgstr "" - -#: ../../howto/logging.rst:38 -msgid "Task you want to perform" -msgstr "" - -#: ../../howto/logging.rst:38 -msgid "The best tool for the task" -msgstr "" - -#: ../../howto/logging.rst:40 -msgid "" -"Display console output for ordinary usage of a command line script or " -"program" -msgstr "" - -#: ../../howto/logging.rst:40 -msgid ":func:`print`" -msgstr ":func:`print`" - -#: ../../howto/logging.rst:44 -msgid "" -"Report events that occur during normal operation of a program (e.g. for " -"status monitoring or fault investigation)" -msgstr "" - -#: ../../howto/logging.rst:44 -msgid "" -"A logger's :meth:`~Logger.info` (or :meth:`~Logger.debug` method for very " -"detailed output for diagnostic purposes)" -msgstr "" - -#: ../../howto/logging.rst:49 -msgid "Issue a warning regarding a particular runtime event" -msgstr "" - -#: ../../howto/logging.rst:49 -msgid "" -":func:`warnings.warn` in library code if the issue is avoidable and the " -"client application should be modified to eliminate the warning" -msgstr "" - -#: ../../howto/logging.rst:54 -msgid "" -"A logger's :meth:`~Logger.warning` method if there is nothing the client " -"application can do about the situation, but the event should still be noted" -msgstr "" - -#: ../../howto/logging.rst:60 -msgid "Report an error regarding a particular runtime event" -msgstr "" - -#: ../../howto/logging.rst:60 -msgid "Raise an exception" -msgstr "" - -#: ../../howto/logging.rst:63 -msgid "" -"Report suppression of an error without raising an exception (e.g. error " -"handler in a long-running server process)" -msgstr "" - -#: ../../howto/logging.rst:63 -msgid "" -"A logger's :meth:`~Logger.error`, :meth:`~Logger.exception` or " -":meth:`~Logger.critical` method as appropriate for the specific error and " -"application domain" -msgstr "" - -#: ../../howto/logging.rst:70 -msgid "" -"The logger methods are named after the level or severity of the events they " -"are used to track. The standard levels and their applicability are described" -" below (in increasing order of severity):" -msgstr "" - -#: ../../howto/logging.rst:77 ../../howto/logging.rst:875 -msgid "Level" -msgstr "Level" - -#: ../../howto/logging.rst:77 -msgid "When it's used" -msgstr "" - -#: ../../howto/logging.rst:79 ../../howto/logging.rst:885 -msgid "``DEBUG``" -msgstr "``DEBUG``" - -#: ../../howto/logging.rst:79 -msgid "" -"Detailed information, typically of interest only when diagnosing problems." -msgstr "" - -#: ../../howto/logging.rst:82 ../../howto/logging.rst:883 -msgid "``INFO``" -msgstr "``INFO``" - -#: ../../howto/logging.rst:82 -msgid "Confirmation that things are working as expected." -msgstr "" - -#: ../../howto/logging.rst:85 ../../howto/logging.rst:881 -msgid "``WARNING``" -msgstr "``WARNING``" - -#: ../../howto/logging.rst:85 -msgid "" -"An indication that something unexpected happened, or indicative of some " -"problem in the near future (e.g. 'disk space low'). The software is still " -"working as expected." -msgstr "" - -#: ../../howto/logging.rst:90 ../../howto/logging.rst:879 -msgid "``ERROR``" -msgstr "``ERROR``" - -#: ../../howto/logging.rst:90 -msgid "" -"Due to a more serious problem, the software has not been able to perform " -"some function." -msgstr "" - -#: ../../howto/logging.rst:93 ../../howto/logging.rst:877 -msgid "``CRITICAL``" -msgstr "``CRITICAL``" - -#: ../../howto/logging.rst:93 -msgid "" -"A serious error, indicating that the program itself may be unable to " -"continue running." -msgstr "" - -#: ../../howto/logging.rst:97 -msgid "" -"The default level is ``WARNING``, which means that only events of this " -"severity and higher will be tracked, unless the logging package is " -"configured to do otherwise." -msgstr "" - -#: ../../howto/logging.rst:100 -msgid "" -"Events that are tracked can be handled in different ways. The simplest way " -"of handling tracked events is to print them to the console. Another common " -"way is to write them to a disk file." -msgstr "" - -#: ../../howto/logging.rst:108 -msgid "A simple example" -msgstr "" - -#: ../../howto/logging.rst:110 -msgid "A very simple example is::" -msgstr "" - -#: ../../howto/logging.rst:112 -msgid "" -"import logging\n" -"logging.warning('Watch out!') # will print a message to the console\n" -"logging.info('I told you so') # will not print anything" -msgstr "" - -#: ../../howto/logging.rst:116 -msgid "If you type these lines into a script and run it, you'll see:" -msgstr "" - -#: ../../howto/logging.rst:118 -msgid "WARNING:root:Watch out!" -msgstr "" - -#: ../../howto/logging.rst:122 -msgid "" -"printed out on the console. The ``INFO`` message doesn't appear because the " -"default level is ``WARNING``. The printed message includes the indication of" -" the level and the description of the event provided in the logging call, " -"i.e. 'Watch out!'. The actual output can be formatted quite flexibly if you " -"need that; formatting options will also be explained later." -msgstr "" - -#: ../../howto/logging.rst:128 -msgid "" -"Notice that in this example, we use functions directly on the ``logging`` " -"module, like ``logging.debug``, rather than creating a logger and calling " -"functions on it. These functions operate on the root logger, but can be " -"useful as they will call :func:`~logging.basicConfig` for you if it has not " -"been called yet, like in this example. In larger programs you'll usually " -"want to control the logging configuration explicitly however - so for that " -"reason as well as others, it's better to create loggers and call their " -"methods." -msgstr "" - -#: ../../howto/logging.rst:137 -msgid "Logging to a file" -msgstr "" - -#: ../../howto/logging.rst:139 -msgid "" -"A very common situation is that of recording logging events in a file, so " -"let's look at that next. Be sure to try the following in a newly started " -"Python interpreter, and don't just continue from the session described " -"above::" -msgstr "" - -#: ../../howto/logging.rst:143 -msgid "" -"import logging\n" -"logger = logging.getLogger(__name__)\n" -"logging.basicConfig(filename='example.log', encoding='utf-8', level=logging.DEBUG)\n" -"logger.debug('This message should go to the log file')\n" -"logger.info('So should this')\n" -"logger.warning('And this, too')\n" -"logger.error('And non-ASCII stuff, too, like Øresund and Malmö')" -msgstr "" - -#: ../../howto/logging.rst:151 -msgid "" -"The *encoding* argument was added. In earlier Python versions, or if not " -"specified, the encoding used is the default value used by :func:`open`. " -"While not shown in the above example, an *errors* argument can also now be " -"passed, which determines how encoding errors are handled. For available " -"values and the default, see the documentation for :func:`open`." -msgstr "" - -#: ../../howto/logging.rst:158 -msgid "" -"And now if we open the file and look at what we have, we should find the log" -" messages:" -msgstr "" - -#: ../../howto/logging.rst:161 -msgid "" -"DEBUG:__main__:This message should go to the log file\n" -"INFO:__main__:So should this\n" -"WARNING:__main__:And this, too\n" -"ERROR:__main__:And non-ASCII stuff, too, like Øresund and Malmö" -msgstr "" - -#: ../../howto/logging.rst:168 -msgid "" -"This example also shows how you can set the logging level which acts as the " -"threshold for tracking. In this case, because we set the threshold to " -"``DEBUG``, all of the messages were printed." -msgstr "" - -#: ../../howto/logging.rst:172 -msgid "" -"If you want to set the logging level from a command-line option such as:" -msgstr "" - -#: ../../howto/logging.rst:174 -msgid "--log=INFO" -msgstr "" - -#: ../../howto/logging.rst:178 -msgid "" -"and you have the value of the parameter passed for ``--log`` in some " -"variable *loglevel*, you can use::" -msgstr "" - -#: ../../howto/logging.rst:181 -msgid "getattr(logging, loglevel.upper())" -msgstr "" - -#: ../../howto/logging.rst:183 -msgid "" -"to get the value which you'll pass to :func:`basicConfig` via the *level* " -"argument. You may want to error check any user input value, perhaps as in " -"the following example::" -msgstr "" - -#: ../../howto/logging.rst:187 -msgid "" -"# assuming loglevel is bound to the string value obtained from the\n" -"# command line argument. Convert to upper case to allow the user to\n" -"# specify --log=DEBUG or --log=debug\n" -"numeric_level = getattr(logging, loglevel.upper(), None)\n" -"if not isinstance(numeric_level, int):\n" -" raise ValueError('Invalid log level: %s' % loglevel)\n" -"logging.basicConfig(level=numeric_level, ...)" -msgstr "" - -#: ../../howto/logging.rst:195 -msgid "" -"The call to :func:`basicConfig` should come *before* any calls to a logger's" -" methods such as :meth:`~Logger.debug`, :meth:`~Logger.info`, etc. " -"Otherwise, that logging event may not be handled in the desired manner." -msgstr "" - -#: ../../howto/logging.rst:199 -msgid "" -"If you run the above script several times, the messages from successive runs" -" are appended to the file *example.log*. If you want each run to start " -"afresh, not remembering the messages from earlier runs, you can specify the " -"*filemode* argument, by changing the call in the above example to::" -msgstr "" - -#: ../../howto/logging.rst:204 -msgid "" -"logging.basicConfig(filename='example.log', filemode='w', " -"level=logging.DEBUG)" -msgstr "" - -#: ../../howto/logging.rst:206 -msgid "" -"The output will be the same as before, but the log file is no longer " -"appended to, so the messages from earlier runs are lost." -msgstr "" - -#: ../../howto/logging.rst:211 -msgid "Logging variable data" -msgstr "" - -#: ../../howto/logging.rst:213 -msgid "" -"To log variable data, use a format string for the event description message " -"and append the variable data as arguments. For example::" -msgstr "" - -#: ../../howto/logging.rst:216 -msgid "" -"import logging\n" -"logging.warning('%s before you %s', 'Look', 'leap!')" -msgstr "" - -#: ../../howto/logging.rst:219 -msgid "will display:" -msgstr "" - -#: ../../howto/logging.rst:221 -msgid "WARNING:root:Look before you leap!" -msgstr "" - -#: ../../howto/logging.rst:225 -msgid "" -"As you can see, merging of variable data into the event description message " -"uses the old, %-style of string formatting. This is for backwards " -"compatibility: the logging package pre-dates newer formatting options such " -"as :meth:`str.format` and :class:`string.Template`. These newer formatting " -"options *are* supported, but exploring them is outside the scope of this " -"tutorial: see :ref:`formatting-styles` for more information." -msgstr "" - -#: ../../howto/logging.rst:234 -msgid "Changing the format of displayed messages" -msgstr "" - -#: ../../howto/logging.rst:236 -msgid "" -"To change the format which is used to display messages, you need to specify " -"the format you want to use::" -msgstr "" - -#: ../../howto/logging.rst:239 -msgid "" -"import logging\n" -"logging.basicConfig(format='%(levelname)s:%(message)s', level=logging.DEBUG)\n" -"logging.debug('This message should appear on the console')\n" -"logging.info('So should this')\n" -"logging.warning('And this, too')" -msgstr "" - -#: ../../howto/logging.rst:245 -msgid "which would print:" -msgstr "" - -#: ../../howto/logging.rst:247 -msgid "" -"DEBUG:This message should appear on the console\n" -"INFO:So should this\n" -"WARNING:And this, too" -msgstr "" - -#: ../../howto/logging.rst:253 -msgid "" -"Notice that the 'root' which appeared in earlier examples has disappeared. " -"For a full set of things that can appear in format strings, you can refer to" -" the documentation for :ref:`logrecord-attributes`, but for simple usage, " -"you just need the *levelname* (severity), *message* (event description, " -"including variable data) and perhaps to display when the event occurred. " -"This is described in the next section." -msgstr "" - -#: ../../howto/logging.rst:262 -msgid "Displaying the date/time in messages" -msgstr "" - -#: ../../howto/logging.rst:264 -msgid "" -"To display the date and time of an event, you would place '%(asctime)s' in " -"your format string::" -msgstr "" - -#: ../../howto/logging.rst:267 -msgid "" -"import logging\n" -"logging.basicConfig(format='%(asctime)s %(message)s')\n" -"logging.warning('is when this event was logged.')" -msgstr "" - -#: ../../howto/logging.rst:271 -msgid "which should print something like this:" -msgstr "" - -#: ../../howto/logging.rst:273 -msgid "2010-12-12 11:41:42,612 is when this event was logged." -msgstr "" - -#: ../../howto/logging.rst:277 -msgid "" -"The default format for date/time display (shown above) is like ISO8601 or " -":rfc:`3339`. If you need more control over the formatting of the date/time, " -"provide a *datefmt* argument to ``basicConfig``, as in this example::" -msgstr "" - -#: ../../howto/logging.rst:281 -msgid "" -"import logging\n" -"logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')\n" -"logging.warning('is when this event was logged.')" -msgstr "" - -#: ../../howto/logging.rst:285 -msgid "which would display something like this:" -msgstr "" - -#: ../../howto/logging.rst:287 -msgid "12/12/2010 11:46:36 AM is when this event was logged." -msgstr "" - -#: ../../howto/logging.rst:291 -msgid "" -"The format of the *datefmt* argument is the same as supported by " -":func:`time.strftime`." -msgstr "" - -#: ../../howto/logging.rst:296 -msgid "Next Steps" -msgstr "Langkah Berikutnya" - -#: ../../howto/logging.rst:298 -msgid "" -"That concludes the basic tutorial. It should be enough to get you up and " -"running with logging. There's a lot more that the logging package offers, " -"but to get the best out of it, you'll need to invest a little more of your " -"time in reading the following sections. If you're ready for that, grab some " -"of your favourite beverage and carry on." -msgstr "" - -#: ../../howto/logging.rst:304 -msgid "" -"If your logging needs are simple, then use the above examples to incorporate" -" logging into your own scripts, and if you run into problems or don't " -"understand something, please post a question on the comp.lang.python Usenet " -"group (available at https://groups.google.com/g/comp.lang.python) and you " -"should receive help before too long." -msgstr "" - -#: ../../howto/logging.rst:310 -msgid "" -"Still here? You can carry on reading the next few sections, which provide a " -"slightly more advanced/in-depth tutorial than the basic one above. After " -"that, you can take a look at the :ref:`logging-cookbook`." -msgstr "" - -#: ../../howto/logging.rst:318 -msgid "Advanced Logging Tutorial" -msgstr "" - -#: ../../howto/logging.rst:320 -msgid "" -"The logging library takes a modular approach and offers several categories " -"of components: loggers, handlers, filters, and formatters." -msgstr "" - -#: ../../howto/logging.rst:323 -msgid "Loggers expose the interface that application code directly uses." -msgstr "" - -#: ../../howto/logging.rst:324 -msgid "" -"Handlers send the log records (created by loggers) to the appropriate " -"destination." -msgstr "" - -#: ../../howto/logging.rst:326 -msgid "" -"Filters provide a finer grained facility for determining which log records " -"to output." -msgstr "" - -#: ../../howto/logging.rst:328 -msgid "Formatters specify the layout of log records in the final output." -msgstr "" - -#: ../../howto/logging.rst:330 -msgid "" -"Log event information is passed between loggers, handlers, filters and " -"formatters in a :class:`LogRecord` instance." -msgstr "" - -#: ../../howto/logging.rst:333 -msgid "" -"Logging is performed by calling methods on instances of the :class:`Logger` " -"class (hereafter called :dfn:`loggers`). Each instance has a name, and they " -"are conceptually arranged in a namespace hierarchy using dots (periods) as " -"separators. For example, a logger named 'scan' is the parent of loggers " -"'scan.text', 'scan.html' and 'scan.pdf'. Logger names can be anything you " -"want, and indicate the area of an application in which a logged message " -"originates." -msgstr "" - -#: ../../howto/logging.rst:340 -msgid "" -"A good convention to use when naming loggers is to use a module-level " -"logger, in each module which uses logging, named as follows::" -msgstr "" - -#: ../../howto/logging.rst:343 -msgid "logger = logging.getLogger(__name__)" -msgstr "" - -#: ../../howto/logging.rst:345 -msgid "" -"This means that logger names track the package/module hierarchy, and it's " -"intuitively obvious where events are logged just from the logger name." -msgstr "" - -#: ../../howto/logging.rst:348 -msgid "" -"The root of the hierarchy of loggers is called the root logger. That's the " -"logger used by the functions :func:`debug`, :func:`info`, :func:`warning`, " -":func:`error` and :func:`critical`, which just call the same-named method of" -" the root logger. The functions and the methods have the same signatures. " -"The root logger's name is printed as 'root' in the logged output." -msgstr "" - -#: ../../howto/logging.rst:354 -msgid "" -"It is, of course, possible to log messages to different destinations. " -"Support is included in the package for writing log messages to files, HTTP " -"GET/POST locations, email via SMTP, generic sockets, queues, or OS-specific " -"logging mechanisms such as syslog or the Windows NT event log. Destinations " -"are served by :dfn:`handler` classes. You can create your own log " -"destination class if you have special requirements not met by any of the " -"built-in handler classes." -msgstr "" - -#: ../../howto/logging.rst:361 -msgid "" -"By default, no destination is set for any logging messages. You can specify " -"a destination (such as console or file) by using :func:`basicConfig` as in " -"the tutorial examples. If you call the functions :func:`debug`, " -":func:`info`, :func:`warning`, :func:`error` and :func:`critical`, they will" -" check to see if no destination is set; and if one is not set, they will set" -" a destination of the console (``sys.stderr``) and a default format for the " -"displayed message before delegating to the root logger to do the actual " -"message output." -msgstr "" - -#: ../../howto/logging.rst:369 -msgid "The default format set by :func:`basicConfig` for messages is:" -msgstr "" - -#: ../../howto/logging.rst:371 -msgid "severity:logger name:message" -msgstr "" - -#: ../../howto/logging.rst:375 -msgid "" -"You can change this by passing a format string to :func:`basicConfig` with " -"the *format* keyword argument. For all options regarding how a format string" -" is constructed, see :ref:`formatter-objects`." -msgstr "" - -#: ../../howto/logging.rst:380 -msgid "Logging Flow" -msgstr "" - -#: ../../howto/logging.rst:382 -msgid "" -"The flow of log event information in loggers and handlers is illustrated in " -"the following diagram." -msgstr "" - -#: ../../howto/logging.rst:433 -msgid "Loggers" -msgstr "" - -#: ../../howto/logging.rst:435 -msgid "" -":class:`Logger` objects have a threefold job. First, they expose several " -"methods to application code so that applications can log messages at " -"runtime. Second, logger objects determine which log messages to act upon " -"based upon severity (the default filtering facility) or filter objects. " -"Third, logger objects pass along relevant log messages to all interested log" -" handlers." -msgstr "" - -#: ../../howto/logging.rst:441 -msgid "" -"The most widely used methods on logger objects fall into two categories: " -"configuration and message sending." -msgstr "" - -#: ../../howto/logging.rst:444 -msgid "These are the most common configuration methods:" -msgstr "" - -#: ../../howto/logging.rst:446 -msgid "" -":meth:`Logger.setLevel` specifies the lowest-severity log message a logger " -"will handle, where debug is the lowest built-in severity level and critical " -"is the highest built-in severity. For example, if the severity level is " -"INFO, the logger will handle only INFO, WARNING, ERROR, and CRITICAL " -"messages and will ignore DEBUG messages." -msgstr "" - -#: ../../howto/logging.rst:452 -msgid "" -":meth:`Logger.addHandler` and :meth:`Logger.removeHandler` add and remove " -"handler objects from the logger object. Handlers are covered in more detail" -" in :ref:`handler-basic`." -msgstr "" - -#: ../../howto/logging.rst:456 -msgid "" -":meth:`Logger.addFilter` and :meth:`Logger.removeFilter` add and remove " -"filter objects from the logger object. Filters are covered in more detail " -"in :ref:`filter`." -msgstr "" - -#: ../../howto/logging.rst:460 -msgid "" -"You don't need to always call these methods on every logger you create. See " -"the last two paragraphs in this section." -msgstr "" - -#: ../../howto/logging.rst:463 -msgid "" -"With the logger object configured, the following methods create log " -"messages:" -msgstr "" - -#: ../../howto/logging.rst:465 -msgid "" -":meth:`Logger.debug`, :meth:`Logger.info`, :meth:`Logger.warning`, " -":meth:`Logger.error`, and :meth:`Logger.critical` all create log records " -"with a message and a level that corresponds to their respective method " -"names. The message is actually a format string, which may contain the " -"standard string substitution syntax of ``%s``, ``%d``, ``%f``, and so on. " -"The rest of their arguments is a list of objects that correspond with the " -"substitution fields in the message. With regard to ``**kwargs``, the " -"logging methods care only about a keyword of ``exc_info`` and use it to " -"determine whether to log exception information." -msgstr "" - -#: ../../howto/logging.rst:475 -msgid "" -":meth:`Logger.exception` creates a log message similar to " -":meth:`Logger.error`. The difference is that :meth:`Logger.exception` dumps" -" a stack trace along with it. Call this method only from an exception " -"handler." -msgstr "" - -#: ../../howto/logging.rst:479 -msgid "" -":meth:`Logger.log` takes a log level as an explicit argument. This is a " -"little more verbose for logging messages than using the log level " -"convenience methods listed above, but this is how to log at custom log " -"levels." -msgstr "" - -#: ../../howto/logging.rst:483 -msgid "" -":func:`getLogger` returns a reference to a logger instance with the " -"specified name if it is provided, or ``root`` if not. The names are period-" -"separated hierarchical structures. Multiple calls to :func:`getLogger` with" -" the same name will return a reference to the same logger object. Loggers " -"that are further down in the hierarchical list are children of loggers " -"higher up in the list. For example, given a logger with a name of ``foo``, " -"loggers with names of ``foo.bar``, ``foo.bar.baz``, and ``foo.bam`` are all " -"descendants of ``foo``." -msgstr "" - -#: ../../howto/logging.rst:491 -msgid "" -"Loggers have a concept of *effective level*. If a level is not explicitly " -"set on a logger, the level of its parent is used instead as its effective " -"level. If the parent has no explicit level set, *its* parent is examined, " -"and so on - all ancestors are searched until an explicitly set level is " -"found. The root logger always has an explicit level set (``WARNING`` by " -"default). When deciding whether to process an event, the effective level of " -"the logger is used to determine whether the event is passed to the logger's " -"handlers." -msgstr "" - -#: ../../howto/logging.rst:499 -msgid "" -"Child loggers propagate messages up to the handlers associated with their " -"ancestor loggers. Because of this, it is unnecessary to define and configure" -" handlers for all the loggers an application uses. It is sufficient to " -"configure handlers for a top-level logger and create child loggers as " -"needed. (You can, however, turn off propagation by setting the *propagate* " -"attribute of a logger to ``False``.)" -msgstr "" - -#: ../../howto/logging.rst:510 -msgid "Handlers" -msgstr "Penangan" - -#: ../../howto/logging.rst:512 -msgid "" -":class:`~logging.Handler` objects are responsible for dispatching the " -"appropriate log messages (based on the log messages' severity) to the " -"handler's specified destination. :class:`Logger` objects can add zero or " -"more handler objects to themselves with an :meth:`~Logger.addHandler` " -"method. As an example scenario, an application may want to send all log " -"messages to a log file, all log messages of error or higher to stdout, and " -"all messages of critical to an email address. This scenario requires three " -"individual handlers where each handler is responsible for sending messages " -"of a specific severity to a specific location." -msgstr "" - -#: ../../howto/logging.rst:522 -msgid "" -"The standard library includes quite a few handler types (see :ref:`useful-" -"handlers`); the tutorials use mainly :class:`StreamHandler` and " -":class:`FileHandler` in its examples." -msgstr "" - -#: ../../howto/logging.rst:526 -msgid "" -"There are very few methods in a handler for application developers to " -"concern themselves with. The only handler methods that seem relevant for " -"application developers who are using the built-in handler objects (that is, " -"not creating custom handlers) are the following configuration methods:" -msgstr "" - -#: ../../howto/logging.rst:531 -msgid "" -"The :meth:`~Handler.setLevel` method, just as in logger objects, specifies " -"the lowest severity that will be dispatched to the appropriate destination." -" Why are there two :meth:`~Handler.setLevel` methods? The level set in the" -" logger determines which severity of messages it will pass to its handlers." -" The level set in each handler determines which messages that handler will " -"send on." -msgstr "" - -#: ../../howto/logging.rst:537 -msgid "" -":meth:`~Handler.setFormatter` selects a Formatter object for this handler to" -" use." -msgstr "" - -#: ../../howto/logging.rst:540 -msgid "" -":meth:`~Handler.addFilter` and :meth:`~Handler.removeFilter` respectively " -"configure and deconfigure filter objects on handlers." -msgstr "" - -#: ../../howto/logging.rst:543 -msgid "" -"Application code should not directly instantiate and use instances of " -":class:`Handler`. Instead, the :class:`Handler` class is a base class that " -"defines the interface that all handlers should have and establishes some " -"default behavior that child classes can use (or override)." -msgstr "" - -#: ../../howto/logging.rst:550 -msgid "Formatters" -msgstr "" - -#: ../../howto/logging.rst:552 -msgid "" -"Formatter objects configure the final order, structure, and contents of the " -"log message. Unlike the base :class:`logging.Handler` class, application " -"code may instantiate formatter classes, although you could likely subclass " -"the formatter if your application needs special behavior. The constructor " -"takes three optional arguments -- a message format string, a date format " -"string and a style indicator." -msgstr "" - -#: ../../howto/logging.rst:561 -msgid "" -"If there is no message format string, the default is to use the raw message." -" If there is no date format string, the default date format is:" -msgstr "" - -#: ../../howto/logging.rst:564 -msgid "%Y-%m-%d %H:%M:%S" -msgstr "" - -#: ../../howto/logging.rst:568 -msgid "" -"with the milliseconds tacked on at the end. The ``style`` is one of ``'%'``," -" ``'{'``, or ``'$'``. If one of these is not specified, then ``'%'`` will be" -" used." -msgstr "" - -#: ../../howto/logging.rst:571 -msgid "" -"If the ``style`` is ``'%'``, the message format string uses ``%()s`` styled string substitution; the possible keys are documented in " -":ref:`logrecord-attributes`. If the style is ``'{'``, the message format " -"string is assumed to be compatible with :meth:`str.format` (using keyword " -"arguments), while if the style is ``'$'`` then the message format string " -"should conform to what is expected by :meth:`string.Template.substitute`." -msgstr "" - -#: ../../howto/logging.rst:578 -msgid "Added the ``style`` parameter." -msgstr "" - -#: ../../howto/logging.rst:581 -msgid "" -"The following message format string will log the time in a human-readable " -"format, the severity of the message, and the contents of the message, in " -"that order::" -msgstr "" - -#: ../../howto/logging.rst:585 -msgid "'%(asctime)s - %(levelname)s - %(message)s'" -msgstr "" - -#: ../../howto/logging.rst:587 -msgid "" -"Formatters use a user-configurable function to convert the creation time of " -"a record to a tuple. By default, :func:`time.localtime` is used; to change " -"this for a particular formatter instance, set the ``converter`` attribute of" -" the instance to a function with the same signature as " -":func:`time.localtime` or :func:`time.gmtime`. To change it for all " -"formatters, for example if you want all logging times to be shown in GMT, " -"set the ``converter`` attribute in the Formatter class (to ``time.gmtime`` " -"for GMT display)." -msgstr "" - -#: ../../howto/logging.rst:597 -msgid "Configuring Logging" -msgstr "" - -#: ../../howto/logging.rst:601 -msgid "Programmers can configure logging in three ways:" -msgstr "" - -#: ../../howto/logging.rst:603 -msgid "" -"Creating loggers, handlers, and formatters explicitly using Python code that" -" calls the configuration methods listed above." -msgstr "" - -#: ../../howto/logging.rst:605 -msgid "" -"Creating a logging config file and reading it using the :func:`fileConfig` " -"function." -msgstr "" - -#: ../../howto/logging.rst:607 -msgid "" -"Creating a dictionary of configuration information and passing it to the " -":func:`dictConfig` function." -msgstr "" - -#: ../../howto/logging.rst:610 -msgid "" -"For the reference documentation on the last two options, see :ref:`logging-" -"config-api`. The following example configures a very simple logger, a " -"console handler, and a simple formatter using Python code::" -msgstr "" - -#: ../../howto/logging.rst:614 -msgid "" -"import logging\n" -"\n" -"# create logger\n" -"logger = logging.getLogger('simple_example')\n" -"logger.setLevel(logging.DEBUG)\n" -"\n" -"# create console handler and set level to debug\n" -"ch = logging.StreamHandler()\n" -"ch.setLevel(logging.DEBUG)\n" -"\n" -"# create formatter\n" -"formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')\n" -"\n" -"# add formatter to ch\n" -"ch.setFormatter(formatter)\n" -"\n" -"# add ch to logger\n" -"logger.addHandler(ch)\n" -"\n" -"# 'application' code\n" -"logger.debug('debug message')\n" -"logger.info('info message')\n" -"logger.warning('warn message')\n" -"logger.error('error message')\n" -"logger.critical('critical message')" -msgstr "" - -#: ../../howto/logging.rst:640 -msgid "" -"Running this module from the command line produces the following output:" -msgstr "" - -#: ../../howto/logging.rst:642 -msgid "" -"$ python simple_logging_module.py\n" -"2005-03-19 15:10:26,618 - simple_example - DEBUG - debug message\n" -"2005-03-19 15:10:26,620 - simple_example - INFO - info message\n" -"2005-03-19 15:10:26,695 - simple_example - WARNING - warn message\n" -"2005-03-19 15:10:26,697 - simple_example - ERROR - error message\n" -"2005-03-19 15:10:26,773 - simple_example - CRITICAL - critical message" -msgstr "" - -#: ../../howto/logging.rst:651 -msgid "" -"The following Python module creates a logger, handler, and formatter nearly " -"identical to those in the example listed above, with the only difference " -"being the names of the objects::" -msgstr "" - -#: ../../howto/logging.rst:655 -msgid "" -"import logging\n" -"import logging.config\n" -"\n" -"logging.config.fileConfig('logging.conf')\n" -"\n" -"# create logger\n" -"logger = logging.getLogger('simpleExample')\n" -"\n" -"# 'application' code\n" -"logger.debug('debug message')\n" -"logger.info('info message')\n" -"logger.warning('warn message')\n" -"logger.error('error message')\n" -"logger.critical('critical message')" -msgstr "" - -#: ../../howto/logging.rst:670 -msgid "Here is the logging.conf file:" -msgstr "" - -#: ../../howto/logging.rst:672 -msgid "" -"[loggers]\n" -"keys=root,simpleExample\n" -"\n" -"[handlers]\n" -"keys=consoleHandler\n" -"\n" -"[formatters]\n" -"keys=simpleFormatter\n" -"\n" -"[logger_root]\n" -"level=DEBUG\n" -"handlers=consoleHandler\n" -"\n" -"[logger_simpleExample]\n" -"level=DEBUG\n" -"handlers=consoleHandler\n" -"qualname=simpleExample\n" -"propagate=0\n" -"\n" -"[handler_consoleHandler]\n" -"class=StreamHandler\n" -"level=DEBUG\n" -"formatter=simpleFormatter\n" -"args=(sys.stdout,)\n" -"\n" -"[formatter_simpleFormatter]\n" -"format=%(asctime)s - %(name)s - %(levelname)s - %(message)s" -msgstr "" - -#: ../../howto/logging.rst:702 -msgid "" -"The output is nearly identical to that of the non-config-file-based example:" -msgstr "" - -#: ../../howto/logging.rst:704 -msgid "" -"$ python simple_logging_config.py\n" -"2005-03-19 15:38:55,977 - simpleExample - DEBUG - debug message\n" -"2005-03-19 15:38:55,979 - simpleExample - INFO - info message\n" -"2005-03-19 15:38:56,054 - simpleExample - WARNING - warn message\n" -"2005-03-19 15:38:56,055 - simpleExample - ERROR - error message\n" -"2005-03-19 15:38:56,130 - simpleExample - CRITICAL - critical message" -msgstr "" - -#: ../../howto/logging.rst:713 -msgid "" -"You can see that the config file approach has a few advantages over the " -"Python code approach, mainly separation of configuration and code and the " -"ability of noncoders to easily modify the logging properties." -msgstr "" - -#: ../../howto/logging.rst:717 -msgid "" -"The :func:`fileConfig` function takes a default parameter, " -"``disable_existing_loggers``, which defaults to ``True`` for reasons of " -"backward compatibility. This may or may not be what you want, since it will " -"cause any non-root loggers existing before the :func:`fileConfig` call to be" -" disabled unless they (or an ancestor) are explicitly named in the " -"configuration. Please refer to the reference documentation for more " -"information, and specify ``False`` for this parameter if you wish." -msgstr "" - -#: ../../howto/logging.rst:725 -msgid "" -"The dictionary passed to :func:`dictConfig` can also specify a Boolean value" -" with key ``disable_existing_loggers``, which if not specified explicitly in" -" the dictionary also defaults to being interpreted as ``True``. This leads " -"to the logger-disabling behaviour described above, which may not be what you" -" want - in which case, provide the key explicitly with a value of ``False``." -msgstr "" - -#: ../../howto/logging.rst:735 -msgid "" -"Note that the class names referenced in config files need to be either " -"relative to the logging module, or absolute values which can be resolved " -"using normal import mechanisms. Thus, you could use either " -":class:`~logging.handlers.WatchedFileHandler` (relative to the logging " -"module) or ``mypackage.mymodule.MyHandler`` (for a class defined in package " -"``mypackage`` and module ``mymodule``, where ``mypackage`` is available on " -"the Python import path)." -msgstr "" - -#: ../../howto/logging.rst:743 -msgid "" -"In Python 3.2, a new means of configuring logging has been introduced, using" -" dictionaries to hold configuration information. This provides a superset of" -" the functionality of the config-file-based approach outlined above, and is " -"the recommended configuration method for new applications and deployments. " -"Because a Python dictionary is used to hold configuration information, and " -"since you can populate that dictionary using different means, you have more " -"options for configuration. For example, you can use a configuration file in " -"JSON format, or, if you have access to YAML processing functionality, a file" -" in YAML format, to populate the configuration dictionary. Or, of course, " -"you can construct the dictionary in Python code, receive it in pickled form " -"over a socket, or use whatever approach makes sense for your application." -msgstr "" - -#: ../../howto/logging.rst:755 -msgid "" -"Here's an example of the same configuration as above, in YAML format for the" -" new dictionary-based approach:" -msgstr "" - -#: ../../howto/logging.rst:758 -msgid "" -"version: 1\n" -"formatters:\n" -" simple:\n" -" format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s'\n" -"handlers:\n" -" console:\n" -" class: logging.StreamHandler\n" -" level: DEBUG\n" -" formatter: simple\n" -" stream: ext://sys.stdout\n" -"loggers:\n" -" simpleExample:\n" -" level: DEBUG\n" -" handlers: [console]\n" -" propagate: no\n" -"root:\n" -" level: DEBUG\n" -" handlers: [console]" -msgstr "" - -#: ../../howto/logging.rst:779 -msgid "" -"For more information about logging using a dictionary, see :ref:`logging-" -"config-api`." -msgstr "" - -#: ../../howto/logging.rst:783 -msgid "What happens if no configuration is provided" -msgstr "" - -#: ../../howto/logging.rst:785 -msgid "" -"If no logging configuration is provided, it is possible to have a situation " -"where a logging event needs to be output, but no handlers can be found to " -"output the event." -msgstr "" - -#: ../../howto/logging.rst:789 -msgid "" -"The event is output using a 'handler of last resort', stored in " -":data:`lastResort`. This internal handler is not associated with any logger," -" and acts like a :class:`~logging.StreamHandler` which writes the event " -"description message to the current value of ``sys.stderr`` (therefore " -"respecting any redirections which may be in effect). No formatting is done " -"on the message - just the bare event description message is printed. The " -"handler's level is set to ``WARNING``, so all events at this and greater " -"severities will be output." -msgstr "" - -#: ../../howto/logging.rst:800 -msgid "For versions of Python prior to 3.2, the behaviour is as follows:" -msgstr "" - -#: ../../howto/logging.rst:802 -msgid "" -"If :data:`raiseExceptions` is ``False`` (production mode), the event is " -"silently dropped." -msgstr "" - -#: ../../howto/logging.rst:805 -msgid "" -"If :data:`raiseExceptions` is ``True`` (development mode), a message 'No " -"handlers could be found for logger X.Y.Z' is printed once." -msgstr "" - -#: ../../howto/logging.rst:808 -msgid "" -"To obtain the pre-3.2 behaviour, :data:`lastResort` can be set to ``None``." -msgstr "" - -#: ../../howto/logging.rst:814 -msgid "Configuring Logging for a Library" -msgstr "" - -#: ../../howto/logging.rst:816 -msgid "" -"When developing a library which uses logging, you should take care to " -"document how the library uses logging - for example, the names of loggers " -"used. Some consideration also needs to be given to its logging " -"configuration. If the using application does not use logging, and library " -"code makes logging calls, then (as described in the previous section) events" -" of severity ``WARNING`` and greater will be printed to ``sys.stderr``. This" -" is regarded as the best default behaviour." -msgstr "" - -#: ../../howto/logging.rst:824 -msgid "" -"If for some reason you *don't* want these messages printed in the absence of" -" any logging configuration, you can attach a do-nothing handler to the top-" -"level logger for your library. This avoids the message being printed, since " -"a handler will always be found for the library's events: it just doesn't " -"produce any output. If the library user configures logging for application " -"use, presumably that configuration will add some handlers, and if levels are" -" suitably configured then logging calls made in library code will send " -"output to those handlers, as normal." -msgstr "" - -#: ../../howto/logging.rst:833 -msgid "" -"A do-nothing handler is included in the logging package: " -":class:`~logging.NullHandler` (since Python 3.1). An instance of this " -"handler could be added to the top-level logger of the logging namespace used" -" by the library (*if* you want to prevent your library's logged events being" -" output to ``sys.stderr`` in the absence of logging configuration). If all " -"logging by a library *foo* is done using loggers with names matching " -"'foo.x', 'foo.x.y', etc. then the code::" -msgstr "" - -#: ../../howto/logging.rst:841 -msgid "" -"import logging\n" -"logging.getLogger('foo').addHandler(logging.NullHandler())" -msgstr "" - -#: ../../howto/logging.rst:844 -msgid "" -"should have the desired effect. If an organisation produces a number of " -"libraries, then the logger name specified can be 'orgname.foo' rather than " -"just 'foo'." -msgstr "" - -#: ../../howto/logging.rst:848 -msgid "" -"It is strongly advised that you *do not log to the root logger* in your " -"library. Instead, use a logger with a unique and easily identifiable name, " -"such as the ``__name__`` for your library's top-level package or module. " -"Logging to the root logger will make it difficult or impossible for the " -"application developer to configure the logging verbosity or handlers of your" -" library as they wish." -msgstr "" - -#: ../../howto/logging.rst:855 -msgid "" -"It is strongly advised that you *do not add any handlers other than* " -":class:`~logging.NullHandler` *to your library's loggers*. This is because " -"the configuration of handlers is the prerogative of the application " -"developer who uses your library. The application developer knows their " -"target audience and what handlers are most appropriate for their " -"application: if you add handlers 'under the hood', you might well interfere " -"with their ability to carry out unit tests and deliver logs which suit their" -" requirements." -msgstr "" - -#: ../../howto/logging.rst:866 -msgid "Logging Levels" -msgstr "" - -#: ../../howto/logging.rst:868 -msgid "" -"The numeric values of logging levels are given in the following table. These" -" are primarily of interest if you want to define your own levels, and need " -"them to have specific values relative to the predefined levels. If you " -"define a level with the same numeric value, it overwrites the predefined " -"value; the predefined name is lost." -msgstr "" - -#: ../../howto/logging.rst:875 -msgid "Numeric value" -msgstr "Nilai angka" - -#: ../../howto/logging.rst:877 -msgid "50" -msgstr "50" - -#: ../../howto/logging.rst:879 -msgid "40" -msgstr "40" - -#: ../../howto/logging.rst:881 -msgid "30" -msgstr "30" - -#: ../../howto/logging.rst:883 -msgid "20" -msgstr "20" - -#: ../../howto/logging.rst:885 -msgid "10" -msgstr "10" - -#: ../../howto/logging.rst:887 -msgid "``NOTSET``" -msgstr "``NOTSET``" - -#: ../../howto/logging.rst:887 -msgid "0" -msgstr "0" - -#: ../../howto/logging.rst:890 -msgid "" -"Levels can also be associated with loggers, being set either by the " -"developer or through loading a saved logging configuration. When a logging " -"method is called on a logger, the logger compares its own level with the " -"level associated with the method call. If the logger's level is higher than " -"the method call's, no logging message is actually generated. This is the " -"basic mechanism controlling the verbosity of logging output." -msgstr "" - -#: ../../howto/logging.rst:897 -msgid "" -"Logging messages are encoded as instances of the :class:`~logging.LogRecord`" -" class. When a logger decides to actually log an event, a " -":class:`~logging.LogRecord` instance is created from the logging message." -msgstr "" - -#: ../../howto/logging.rst:901 -msgid "" -"Logging messages are subjected to a dispatch mechanism through the use of " -":dfn:`handlers`, which are instances of subclasses of the :class:`Handler` " -"class. Handlers are responsible for ensuring that a logged message (in the " -"form of a :class:`LogRecord`) ends up in a particular location (or set of " -"locations) which is useful for the target audience for that message (such as" -" end users, support desk staff, system administrators, developers). Handlers" -" are passed :class:`LogRecord` instances intended for particular " -"destinations. Each logger can have zero, one or more handlers associated " -"with it (via the :meth:`~Logger.addHandler` method of :class:`Logger`). In " -"addition to any handlers directly associated with a logger, *all handlers " -"associated with all ancestors of the logger* are called to dispatch the " -"message (unless the *propagate* flag for a logger is set to a false value, " -"at which point the passing to ancestor handlers stops)." -msgstr "" - -#: ../../howto/logging.rst:915 -msgid "" -"Just as for loggers, handlers can have levels associated with them. A " -"handler's level acts as a filter in the same way as a logger's level does. " -"If a handler decides to actually dispatch an event, the " -":meth:`~Handler.emit` method is used to send the message to its destination." -" Most user-defined subclasses of :class:`Handler` will need to override this" -" :meth:`~Handler.emit`." -msgstr "" - -#: ../../howto/logging.rst:924 -msgid "Custom Levels" -msgstr "" - -#: ../../howto/logging.rst:926 -msgid "" -"Defining your own levels is possible, but should not be necessary, as the " -"existing levels have been chosen on the basis of practical experience. " -"However, if you are convinced that you need custom levels, great care should" -" be exercised when doing this, and it is possibly *a very bad idea to define" -" custom levels if you are developing a library*. That's because if multiple " -"library authors all define their own custom levels, there is a chance that " -"the logging output from such multiple libraries used together will be " -"difficult for the using developer to control and/or interpret, because a " -"given numeric value might mean different things for different libraries." -msgstr "" - -#: ../../howto/logging.rst:939 -msgid "Useful Handlers" -msgstr "" - -#: ../../howto/logging.rst:941 -msgid "" -"In addition to the base :class:`Handler` class, many useful subclasses are " -"provided:" -msgstr "" - -#: ../../howto/logging.rst:944 -msgid "" -":class:`StreamHandler` instances send messages to streams (file-like " -"objects)." -msgstr "" - -#: ../../howto/logging.rst:947 -msgid ":class:`FileHandler` instances send messages to disk files." -msgstr "" - -#: ../../howto/logging.rst:949 -msgid "" -":class:`~handlers.BaseRotatingHandler` is the base class for handlers that " -"rotate log files at a certain point. It is not meant to be instantiated " -"directly. Instead, use :class:`~handlers.RotatingFileHandler` or " -":class:`~handlers.TimedRotatingFileHandler`." -msgstr "" - -#: ../../howto/logging.rst:954 -msgid "" -":class:`~handlers.RotatingFileHandler` instances send messages to disk " -"files, with support for maximum log file sizes and log file rotation." -msgstr "" - -#: ../../howto/logging.rst:957 -msgid "" -":class:`~handlers.TimedRotatingFileHandler` instances send messages to disk " -"files, rotating the log file at certain timed intervals." -msgstr "" - -#: ../../howto/logging.rst:960 -msgid "" -":class:`~handlers.SocketHandler` instances send messages to TCP/IP sockets. " -"Since 3.4, Unix domain sockets are also supported." -msgstr "" - -#: ../../howto/logging.rst:963 -msgid "" -":class:`~handlers.DatagramHandler` instances send messages to UDP sockets. " -"Since 3.4, Unix domain sockets are also supported." -msgstr "" - -#: ../../howto/logging.rst:966 -msgid "" -":class:`~handlers.SMTPHandler` instances send messages to a designated email" -" address." -msgstr "" - -#: ../../howto/logging.rst:969 -msgid "" -":class:`~handlers.SysLogHandler` instances send messages to a Unix syslog " -"daemon, possibly on a remote machine." -msgstr "" - -#: ../../howto/logging.rst:972 -msgid "" -":class:`~handlers.NTEventLogHandler` instances send messages to a Windows " -"NT/2000/XP event log." -msgstr "" - -#: ../../howto/logging.rst:975 -msgid "" -":class:`~handlers.MemoryHandler` instances send messages to a buffer in " -"memory, which is flushed whenever specific criteria are met." -msgstr "" - -#: ../../howto/logging.rst:978 -msgid "" -":class:`~handlers.HTTPHandler` instances send messages to an HTTP server " -"using either ``GET`` or ``POST`` semantics." -msgstr "" - -#: ../../howto/logging.rst:981 -msgid "" -":class:`~handlers.WatchedFileHandler` instances watch the file they are " -"logging to. If the file changes, it is closed and reopened using the file " -"name. This handler is only useful on Unix-like systems; Windows does not " -"support the underlying mechanism used." -msgstr "" - -#: ../../howto/logging.rst:986 -msgid "" -":class:`~handlers.QueueHandler` instances send messages to a queue, such as " -"those implemented in the :mod:`queue` or :mod:`multiprocessing` modules." -msgstr "" - -#: ../../howto/logging.rst:989 -msgid "" -":class:`NullHandler` instances do nothing with error messages. They are used" -" by library developers who want to use logging, but want to avoid the 'No " -"handlers could be found for logger *XXX*' message which can be displayed if " -"the library user has not configured logging. See :ref:`library-config` for " -"more information." -msgstr "" - -#: ../../howto/logging.rst:995 -msgid "The :class:`NullHandler` class." -msgstr "" - -#: ../../howto/logging.rst:998 -msgid "The :class:`~handlers.QueueHandler` class." -msgstr "" - -#: ../../howto/logging.rst:1001 -msgid "" -"The :class:`NullHandler`, :class:`StreamHandler` and :class:`FileHandler` " -"classes are defined in the core logging package. The other handlers are " -"defined in a sub-module, :mod:`logging.handlers`. (There is also another " -"sub-module, :mod:`logging.config`, for configuration functionality.)" -msgstr "" - -#: ../../howto/logging.rst:1006 -msgid "" -"Logged messages are formatted for presentation through instances of the " -":class:`Formatter` class. They are initialized with a format string suitable" -" for use with the % operator and a dictionary." -msgstr "" - -#: ../../howto/logging.rst:1010 -msgid "" -"For formatting multiple messages in a batch, instances of " -":class:`BufferingFormatter` can be used. In addition to the format string " -"(which is applied to each message in the batch), there is provision for " -"header and trailer format strings." -msgstr "" - -#: ../../howto/logging.rst:1015 -msgid "" -"When filtering based on logger level and/or handler level is not enough, " -"instances of :class:`Filter` can be added to both :class:`Logger` and " -":class:`Handler` instances (through their :meth:`~Handler.addFilter` " -"method). Before deciding to process a message further, both loggers and " -"handlers consult all their filters for permission. If any filter returns a " -"false value, the message is not processed further." -msgstr "" - -#: ../../howto/logging.rst:1022 -msgid "" -"The basic :class:`Filter` functionality allows filtering by specific logger " -"name. If this feature is used, messages sent to the named logger and its " -"children are allowed through the filter, and all others dropped." -msgstr "" - -#: ../../howto/logging.rst:1030 -msgid "Exceptions raised during logging" -msgstr "" - -#: ../../howto/logging.rst:1032 -msgid "" -"The logging package is designed to swallow exceptions which occur while " -"logging in production. This is so that errors which occur while handling " -"logging events - such as logging misconfiguration, network or other similar " -"errors - do not cause the application using logging to terminate " -"prematurely." -msgstr "" - -#: ../../howto/logging.rst:1037 -msgid "" -":class:`SystemExit` and :class:`KeyboardInterrupt` exceptions are never " -"swallowed. Other exceptions which occur during the :meth:`~Handler.emit` " -"method of a :class:`Handler` subclass are passed to its " -":meth:`~Handler.handleError` method." -msgstr "" - -#: ../../howto/logging.rst:1042 -msgid "" -"The default implementation of :meth:`~Handler.handleError` in " -":class:`Handler` checks to see if a module-level variable, " -":data:`raiseExceptions`, is set. If set, a traceback is printed to " -":data:`sys.stderr`. If not set, the exception is swallowed." -msgstr "" - -#: ../../howto/logging.rst:1048 -msgid "" -"The default value of :data:`raiseExceptions` is ``True``. This is because " -"during development, you typically want to be notified of any exceptions that" -" occur. It's advised that you set :data:`raiseExceptions` to ``False`` for " -"production usage." -msgstr "" - -#: ../../howto/logging.rst:1058 -msgid "Using arbitrary objects as messages" -msgstr "" - -#: ../../howto/logging.rst:1060 -msgid "" -"In the preceding sections and examples, it has been assumed that the message" -" passed when logging the event is a string. However, this is not the only " -"possibility. You can pass an arbitrary object as a message, and its " -":meth:`~object.__str__` method will be called when the logging system needs " -"to convert it to a string representation. In fact, if you want to, you can " -"avoid computing a string representation altogether - for example, the " -":class:`~handlers.SocketHandler` emits an event by pickling it and sending " -"it over the wire." -msgstr "" - -#: ../../howto/logging.rst:1071 -msgid "Optimization" -msgstr "" - -#: ../../howto/logging.rst:1073 -msgid "" -"Formatting of message arguments is deferred until it cannot be avoided. " -"However, computing the arguments passed to the logging method can also be " -"expensive, and you may want to avoid doing it if the logger will just throw " -"away your event. To decide what to do, you can call the " -":meth:`~Logger.isEnabledFor` method which takes a level argument and returns" -" true if the event would be created by the Logger for that level of call. " -"You can write code like this::" -msgstr "" - -#: ../../howto/logging.rst:1081 -msgid "" -"if logger.isEnabledFor(logging.DEBUG):\n" -" logger.debug('Message with %s, %s', expensive_func1(),\n" -" expensive_func2())" -msgstr "" - -#: ../../howto/logging.rst:1085 -msgid "" -"so that if the logger's threshold is set above ``DEBUG``, the calls to " -"``expensive_func1`` and ``expensive_func2`` are never made." -msgstr "" - -#: ../../howto/logging.rst:1088 -msgid "" -"In some cases, :meth:`~Logger.isEnabledFor` can itself be more expensive " -"than you'd like (e.g. for deeply nested loggers where an explicit level is " -"only set high up in the logger hierarchy). In such cases (or if you want to " -"avoid calling a method in tight loops), you can cache the result of a call " -"to :meth:`~Logger.isEnabledFor` in a local or instance variable, and use " -"that instead of calling the method each time. Such a cached value would only" -" need to be recomputed when the logging configuration changes dynamically " -"while the application is running (which is not all that common)." -msgstr "" - -#: ../../howto/logging.rst:1097 -msgid "" -"There are other optimizations which can be made for specific applications " -"which need more precise control over what logging information is collected. " -"Here's a list of things you can do to avoid processing during logging which " -"you don't need:" -msgstr "" - -#: ../../howto/logging.rst:1103 -msgid "What you don't want to collect" -msgstr "" - -#: ../../howto/logging.rst:1103 -msgid "How to avoid collecting it" -msgstr "" - -#: ../../howto/logging.rst:1105 -msgid "Information about where calls were made from." -msgstr "" - -#: ../../howto/logging.rst:1105 -msgid "" -"Set ``logging._srcfile`` to ``None``. This avoids calling " -":func:`sys._getframe`, which may help to speed up your code in environments " -"like PyPy (which can't speed up code that uses :func:`sys._getframe`)." -msgstr "" - -#: ../../howto/logging.rst:1111 -msgid "Threading information." -msgstr "" - -#: ../../howto/logging.rst:1111 -msgid "Set ``logging.logThreads`` to ``False``." -msgstr "" - -#: ../../howto/logging.rst:1113 -msgid "Current process ID (:func:`os.getpid`)" -msgstr "" - -#: ../../howto/logging.rst:1113 -msgid "Set ``logging.logProcesses`` to ``False``." -msgstr "" - -#: ../../howto/logging.rst:1115 -msgid "" -"Current process name when using ``multiprocessing`` to manage multiple " -"processes." -msgstr "" - -#: ../../howto/logging.rst:1115 -msgid "Set ``logging.logMultiprocessing`` to ``False``." -msgstr "" - -#: ../../howto/logging.rst:1118 -msgid "Current :class:`asyncio.Task` name when using ``asyncio``." -msgstr "" - -#: ../../howto/logging.rst:1118 -msgid "Set ``logging.logAsyncioTasks`` to ``False``." -msgstr "" - -#: ../../howto/logging.rst:1122 -msgid "" -"Also note that the core logging module only includes the basic handlers. If " -"you don't import :mod:`logging.handlers` and :mod:`logging.config`, they " -"won't take up any memory." -msgstr "" - -#: ../../howto/logging.rst:1129 -msgid "Other resources" -msgstr "Sumber daya lain" - -#: ../../howto/logging.rst:1133 -msgid "Module :mod:`logging`" -msgstr "" - -#: ../../howto/logging.rst:1134 -msgid "API reference for the logging module." -msgstr "" - -#: ../../howto/logging.rst:1136 -msgid "Module :mod:`logging.config`" -msgstr "" - -#: ../../howto/logging.rst:1137 -msgid "Configuration API for the logging module." -msgstr "" - -#: ../../howto/logging.rst:1139 -msgid "Module :mod:`logging.handlers`" -msgstr "" - -#: ../../howto/logging.rst:1140 -msgid "Useful handlers included with the logging module." -msgstr "" - -#: ../../howto/logging.rst:1142 -msgid ":ref:`A logging cookbook `" -msgstr "" diff --git a/python-newest.howto--mro/id.po b/python-newest.howto--mro/id.po deleted file mode 100644 index ae1b9bf..0000000 --- a/python-newest.howto--mro/id.po +++ /dev/null @@ -1,908 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# Akhmat Safrudin , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-04-19 14:15+0000\n" -"Last-Translator: Akhmat Safrudin , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/mro.rst:4 -msgid "The Python 2.3 Method Resolution Order" -msgstr "" - -#: ../../howto/mro.rst:8 -msgid "" -"This is a historical document, provided as an appendix to the official " -"documentation. The Method Resolution Order discussed here was *introduced* " -"in Python 2.3, but it is still used in later versions -- including Python 3." -msgstr "" - -#: ../../howto/mro.rst:13 -msgid "By `Michele Simionato `__." -msgstr "" - -#: ../../howto/mro.rst:0 -msgid "Abstract" -msgstr "Abstrak" - -#: ../../howto/mro.rst:17 -msgid "" -"*This document is intended for Python programmers who want to understand the" -" C3 Method Resolution Order used in Python 2.3. Although it is not intended " -"for newbies, it is quite pedagogical with many worked out examples. I am " -"not aware of other publicly available documents with the same scope, " -"therefore it should be useful.*" -msgstr "" - -#: ../../howto/mro.rst:23 -msgid "Disclaimer:" -msgstr "" - -#: ../../howto/mro.rst:25 -msgid "" -"*I donate this document to the Python Software Foundation, under the Python " -"2.3 license. As usual in these circumstances, I warn the reader that what " -"follows* should *be correct, but I don't give any warranty. Use it at your " -"own risk and peril!*" -msgstr "" - -#: ../../howto/mro.rst:30 -msgid "Acknowledgments:" -msgstr "" - -#: ../../howto/mro.rst:32 -msgid "" -"*All the people of the Python mailing list who sent me their support. Paul " -"Foley who pointed out various imprecisions and made me to add the part on " -"local precedence ordering. David Goodger for help with the formatting in " -"reStructuredText. David Mertz for help with the editing. Finally, Guido van " -"Rossum who enthusiastically added this document to the official Python 2.3 " -"home-page.*" -msgstr "" - -#: ../../howto/mro.rst:40 -msgid "The beginning" -msgstr "" - -#: ../../howto/mro.rst:42 -msgid "*Felix qui potuit rerum cognoscere causas* -- Virgilius" -msgstr "" - -#: ../../howto/mro.rst:44 -msgid "" -"Everything started with a post by Samuele Pedroni to the Python development " -"mailing list [#]_. In his post, Samuele showed that the Python 2.2 method " -"resolution order is not monotonic and he proposed to replace it with the C3 " -"method resolution order. Guido agreed with his arguments and therefore now " -"Python 2.3 uses C3. The C3 method itself has nothing to do with Python, " -"since it was invented by people working on Dylan and it is described in a " -"paper intended for lispers [#]_. The present paper gives a (hopefully) " -"readable discussion of the C3 algorithm for Pythonistas who want to " -"understand the reasons for the change." -msgstr "" - -#: ../../howto/mro.rst:55 -msgid "" -"First of all, let me point out that what I am going to say only applies to " -"the *new style classes* introduced in Python 2.2: *classic classes* " -"maintain their old method resolution order, depth first and then left to " -"right. Therefore, there is no breaking of old code for classic classes; and" -" even if in principle there could be breaking of code for Python 2.2 new " -"style classes, in practice the cases in which the C3 resolution order " -"differs from the Python 2.2 method resolution order are so rare that no real" -" breaking of code is expected. Therefore:" -msgstr "" - -#: ../../howto/mro.rst:64 -msgid "*Don't be scared!*" -msgstr "" - -#: ../../howto/mro.rst:66 -msgid "" -"Moreover, unless you make strong use of multiple inheritance and you have " -"non-trivial hierarchies, you don't need to understand the C3 algorithm, and " -"you can easily skip this paper. On the other hand, if you really want to " -"know how multiple inheritance works, then this paper is for you. The good " -"news is that things are not as complicated as you might expect." -msgstr "" - -#: ../../howto/mro.rst:73 -msgid "Let me begin with some basic definitions." -msgstr "" - -#: ../../howto/mro.rst:75 -msgid "" -"Given a class C in a complicated multiple inheritance hierarchy, it is a " -"non-trivial task to specify the order in which methods are overridden, i.e. " -"to specify the order of the ancestors of C." -msgstr "" - -#: ../../howto/mro.rst:79 -msgid "" -"The list of the ancestors of a class C, including the class itself, ordered " -"from the nearest ancestor to the furthest, is called the class precedence " -"list or the *linearization* of C." -msgstr "" - -#: ../../howto/mro.rst:83 -msgid "" -"The *Method Resolution Order* (MRO) is the set of rules that construct the " -"linearization. In the Python literature, the idiom \"the MRO of C\" is also" -" used as a synonymous for the linearization of the class C." -msgstr "" - -#: ../../howto/mro.rst:88 -msgid "" -"For instance, in the case of single inheritance hierarchy, if C is a " -"subclass of C1, and C1 is a subclass of C2, then the linearization of C is " -"simply the list [C, C1 , C2]. However, with multiple inheritance " -"hierarchies, the construction of the linearization is more cumbersome, since" -" it is more difficult to construct a linearization that respects *local " -"precedence ordering* and *monotonicity*." -msgstr "" - -#: ../../howto/mro.rst:96 -msgid "" -"I will discuss the local precedence ordering later, but I can give the " -"definition of monotonicity here. A MRO is monotonic when the following is " -"true: *if C1 precedes C2 in the linearization of C, then C1 precedes C2 in " -"the linearization of any subclass of C*. Otherwise, the innocuous operation " -"of deriving a new class could change the resolution order of methods, " -"potentially introducing very subtle bugs. Examples where this happens will " -"be shown later." -msgstr "" - -#: ../../howto/mro.rst:104 -msgid "" -"Not all classes admit a linearization. There are cases, in complicated " -"hierarchies, where it is not possible to derive a class such that its " -"linearization respects all the desired properties." -msgstr "" - -#: ../../howto/mro.rst:108 -msgid "Here I give an example of this situation. Consider the hierarchy" -msgstr "" - -#: ../../howto/mro.rst:116 -msgid "" -"which can be represented with the following inheritance graph, where I have " -"denoted with O the ``object`` class, which is the beginning of any hierarchy" -" for new style classes:" -msgstr "" - -#: ../../howto/mro.rst:120 -msgid "" -" -----------\n" -"| |\n" -"| O |\n" -"| / \\ |\n" -" - X Y /\n" -" | / | /\n" -" | / |/\n" -" A B\n" -" \\ /\n" -" ?" -msgstr "" - -#: ../../howto/mro.rst:133 -msgid "" -"In this case, it is not possible to derive a new class C from A and B, since" -" X precedes Y in A, but Y precedes X in B, therefore the method resolution " -"order would be ambiguous in C." -msgstr "" - -#: ../../howto/mro.rst:137 -msgid "" -"Python 2.3 raises an exception in this situation (TypeError: MRO conflict " -"among bases Y, X) forbidding the naive programmer from creating ambiguous " -"hierarchies. Python 2.2 instead does not raise an exception, but chooses an" -" *ad hoc* ordering (CABXYO in this case)." -msgstr "" - -#: ../../howto/mro.rst:143 -msgid "The C3 Method Resolution Order" -msgstr "" - -#: ../../howto/mro.rst:145 -msgid "" -"Let me introduce a few simple notations which will be useful for the " -"following discussion. I will use the shortcut notation::" -msgstr "" - -#: ../../howto/mro.rst:148 -msgid "C1 C2 ... CN" -msgstr "" - -#: ../../howto/mro.rst:150 -msgid "to indicate the list of classes [C1, C2, ... , CN]." -msgstr "" - -#: ../../howto/mro.rst:152 -msgid "The *head* of the list is its first element::" -msgstr "" - -#: ../../howto/mro.rst:154 -msgid "head = C1" -msgstr "" - -#: ../../howto/mro.rst:156 -msgid "whereas the *tail* is the rest of the list::" -msgstr "" - -#: ../../howto/mro.rst:158 -msgid "tail = C2 ... CN." -msgstr "" - -#: ../../howto/mro.rst:160 -msgid "I shall also use the notation::" -msgstr "" - -#: ../../howto/mro.rst:162 -msgid "C + (C1 C2 ... CN) = C C1 C2 ... CN" -msgstr "" - -#: ../../howto/mro.rst:164 -msgid "to denote the sum of the lists [C] + [C1, C2, ... ,CN]." -msgstr "" - -#: ../../howto/mro.rst:166 -msgid "Now I can explain how the MRO works in Python 2.3." -msgstr "" - -#: ../../howto/mro.rst:168 -msgid "" -"Consider a class C in a multiple inheritance hierarchy, with C inheriting " -"from the base classes B1, B2, ... , BN. We want to compute the " -"linearization L[C] of the class C. The rule is the following:" -msgstr "" - -#: ../../howto/mro.rst:173 -msgid "" -"*the linearization of C is the sum of C plus the merge of the linearizations" -" of the parents and the list of the parents.*" -msgstr "" - -#: ../../howto/mro.rst:176 -msgid "In symbolic notation::" -msgstr "" - -#: ../../howto/mro.rst:178 -msgid "L[C(B1 ... BN)] = C + merge(L[B1] ... L[BN], B1 ... BN)" -msgstr "" - -#: ../../howto/mro.rst:180 -msgid "" -"In particular, if C is the ``object`` class, which has no parents, the " -"linearization is trivial::" -msgstr "" - -#: ../../howto/mro.rst:183 -msgid "L[object] = object." -msgstr "" - -#: ../../howto/mro.rst:185 -msgid "" -"However, in general one has to compute the merge according to the following " -"prescription:" -msgstr "" - -#: ../../howto/mro.rst:188 -msgid "" -"*take the head of the first list, i.e L[B1][0]; if this head is not in the " -"tail of any of the other lists, then add it to the linearization of C and " -"remove it from the lists in the merge, otherwise look at the head of the " -"next list and take it, if it is a good head. Then repeat the operation " -"until all the class are removed or it is impossible to find good heads. In " -"this case, it is impossible to construct the merge, Python 2.3 will refuse " -"to create the class C and will raise an exception.*" -msgstr "" - -#: ../../howto/mro.rst:197 -msgid "" -"This prescription ensures that the merge operation *preserves* the ordering," -" if the ordering can be preserved. On the other hand, if the order cannot " -"be preserved (as in the example of serious order disagreement discussed " -"above) then the merge cannot be computed." -msgstr "" - -#: ../../howto/mro.rst:202 -msgid "" -"The computation of the merge is trivial if C has only one parent (single " -"inheritance); in this case::" -msgstr "" - -#: ../../howto/mro.rst:205 -msgid "L[C(B)] = C + merge(L[B],B) = C + L[B]" -msgstr "" - -#: ../../howto/mro.rst:207 -msgid "" -"However, in the case of multiple inheritance things are more cumbersome and " -"I don't expect you can understand the rule without a couple of examples ;-)" -msgstr "" - -#: ../../howto/mro.rst:212 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../howto/mro.rst:214 -msgid "First example. Consider the following hierarchy:" -msgstr "" - -#: ../../howto/mro.rst:224 -msgid "In this case the inheritance graph can be drawn as:" -msgstr "" - -#: ../../howto/mro.rst:226 -msgid "" -" 6\n" -" ---\n" -"Level 3 | O | (more general)\n" -" / --- \\\n" -" / | \\ |\n" -" / | \\ |\n" -" / | \\ |\n" -" --- --- --- |\n" -"Level 2 3 | D | 4| E | | F | 5 |\n" -" --- --- --- |\n" -" \\ \\ _ / | |\n" -" \\ / \\ _ | |\n" -" \\ / \\ | |\n" -" --- --- |\n" -"Level 1 1 | B | | C | 2 |\n" -" --- --- |\n" -" \\ / |\n" -" \\ / \\ /\n" -" ---\n" -"Level 0 0 | A | (more specialized)\n" -" ---" -msgstr "" - -#: ../../howto/mro.rst:251 -msgid "The linearizations of O,D,E and F are trivial::" -msgstr "" - -#: ../../howto/mro.rst:253 -msgid "" -"L[O] = O\n" -"L[D] = D O\n" -"L[E] = E O\n" -"L[F] = F O" -msgstr "" - -#: ../../howto/mro.rst:258 -msgid "The linearization of B can be computed as::" -msgstr "" - -#: ../../howto/mro.rst:260 -msgid "L[B] = B + merge(DO, EO, DE)" -msgstr "" - -#: ../../howto/mro.rst:262 -msgid "" -"We see that D is a good head, therefore we take it and we are reduced to " -"compute ``merge(O,EO,E)``. Now O is not a good head, since it is in the " -"tail of the sequence EO. In this case the rule says that we have to skip to" -" the next sequence. Then we see that E is a good head; we take it and we " -"are reduced to compute ``merge(O,O)`` which gives O. Therefore::" -msgstr "" - -#: ../../howto/mro.rst:268 -msgid "L[B] = B D E O" -msgstr "" - -#: ../../howto/mro.rst:270 -msgid "Using the same procedure one finds::" -msgstr "" - -#: ../../howto/mro.rst:272 -msgid "" -"L[C] = C + merge(DO,FO,DF)\n" -" = C + D + merge(O,FO,F)\n" -" = C + D + F + merge(O,O)\n" -" = C D F O" -msgstr "" - -#: ../../howto/mro.rst:277 -msgid "Now we can compute::" -msgstr "" - -#: ../../howto/mro.rst:279 -msgid "" -"L[A] = A + merge(BDEO,CDFO,BC)\n" -" = A + B + merge(DEO,CDFO,C)\n" -" = A + B + C + merge(DEO,DFO)\n" -" = A + B + C + D + merge(EO,FO)\n" -" = A + B + C + D + E + merge(O,FO)\n" -" = A + B + C + D + E + F + merge(O,O)\n" -" = A B C D E F O" -msgstr "" - -#: ../../howto/mro.rst:287 -msgid "" -"In this example, the linearization is ordered in a pretty nice way according" -" to the inheritance level, in the sense that lower levels (i.e. more " -"specialized classes) have higher precedence (see the inheritance graph). " -"However, this is not the general case." -msgstr "" - -#: ../../howto/mro.rst:292 -msgid "" -"I leave as an exercise for the reader to compute the linearization for my " -"second example:" -msgstr "" - -#: ../../howto/mro.rst:303 -msgid "" -"The only difference with the previous example is the change B(D,E) --> " -"B(E,D); however even such a little modification completely changes the " -"ordering of the hierarchy:" -msgstr "" - -#: ../../howto/mro.rst:307 -msgid "" -" 6\n" -" ---\n" -"Level 3 | O |\n" -" / --- \\\n" -" / | \\\n" -" / | \\\n" -" / | \\\n" -" --- --- ---\n" -"Level 2 2 | E | 4 | D | | F | 5\n" -" --- --- ---\n" -" \\ / \\ /\n" -" \\ / \\ /\n" -" \\ / \\ /\n" -" --- ---\n" -"Level 1 1 | B | | C | 3\n" -" --- ---\n" -" \\ /\n" -" \\ /\n" -" ---\n" -"Level 0 0 | A |\n" -" ---" -msgstr "" - -#: ../../howto/mro.rst:332 -msgid "" -"Notice that the class E, which is in the second level of the hierarchy, " -"precedes the class C, which is in the first level of the hierarchy, i.e. E " -"is more specialized than C, even if it is in a higher level." -msgstr "" - -#: ../../howto/mro.rst:336 -msgid "" -"A lazy programmer can obtain the MRO directly from Python 2.2, since in this" -" case it coincides with the Python 2.3 linearization. It is enough to " -"invoke the :meth:`~type.mro` method of class A:" -msgstr "" - -#: ../../howto/mro.rst:345 -msgid "" -"Finally, let me consider the example discussed in the first section, " -"involving a serious order disagreement. In this case, it is straightforward" -" to compute the linearizations of O, X, Y, A and B:" -msgstr "" - -#: ../../howto/mro.rst:349 -msgid "" -"L[O] = 0\n" -"L[X] = X O\n" -"L[Y] = Y O\n" -"L[A] = A X Y O\n" -"L[B] = B Y X O" -msgstr "" - -#: ../../howto/mro.rst:357 -msgid "" -"However, it is impossible to compute the linearization for a class C that " -"inherits from A and B::" -msgstr "" - -#: ../../howto/mro.rst:360 -msgid "" -"L[C] = C + merge(AXYO, BYXO, AB)\n" -" = C + A + merge(XYO, BYXO, B)\n" -" = C + A + B + merge(XYO, YXO)" -msgstr "" - -#: ../../howto/mro.rst:364 -msgid "" -"At this point we cannot merge the lists XYO and YXO, since X is in the tail " -"of YXO whereas Y is in the tail of XYO: therefore there are no good heads " -"and the C3 algorithm stops. Python 2.3 raises an error and refuses to " -"create the class C." -msgstr "" - -#: ../../howto/mro.rst:370 -msgid "Bad Method Resolution Orders" -msgstr "" - -#: ../../howto/mro.rst:372 -msgid "" -"A MRO is *bad* when it breaks such fundamental properties as local " -"precedence ordering and monotonicity. In this section, I will show that " -"both the MRO for classic classes and the MRO for new style classes in Python" -" 2.2 are bad." -msgstr "" - -#: ../../howto/mro.rst:377 -msgid "" -"It is easier to start with the local precedence ordering. Consider the " -"following example:" -msgstr "" - -#: ../../howto/mro.rst:384 -msgid "with inheritance diagram" -msgstr "" - -#: ../../howto/mro.rst:386 -msgid "" -" O\n" -" |\n" -"(buy spam) F\n" -" | \\\n" -" | E (buy eggs)\n" -" | /\n" -" G\n" -"\n" -" (buy eggs or spam ?)" -msgstr "" - -#: ../../howto/mro.rst:399 -msgid "" -"We see that class G inherits from F and E, with F *before* E: therefore we " -"would expect the attribute *G.remember2buy* to be inherited by " -"*F.remember2buy* and not by *E.remember2buy*: nevertheless Python 2.2 gives" -msgstr "" - -#: ../../howto/mro.rst:407 -msgid "" -"This is a breaking of local precedence ordering since the order in the local" -" precedence list, i.e. the list of the parents of G, is not preserved in the" -" Python 2.2 linearization of G::" -msgstr "" - -#: ../../howto/mro.rst:411 -msgid "L[G,P22]= G E F object # F *follows* E" -msgstr "" - -#: ../../howto/mro.rst:413 -msgid "" -"One could argue that the reason why F follows E in the Python 2.2 " -"linearization is that F is less specialized than E, since F is the " -"superclass of E; nevertheless the breaking of local precedence ordering is " -"quite non-intuitive and error prone. This is particularly true since it is " -"a different from old style classes:" -msgstr "" - -#: ../../howto/mro.rst:425 -msgid "" -"In this case the MRO is GFEF and the local precedence ordering is preserved." -msgstr "" - -#: ../../howto/mro.rst:428 -msgid "" -"As a general rule, hierarchies such as the previous one should be avoided, " -"since it is unclear if F should override E or vice-versa. Python 2.3 solves " -"the ambiguity by raising an exception in the creation of class G, " -"effectively stopping the programmer from generating ambiguous hierarchies. " -"The reason for that is that the C3 algorithm fails when the merge::" -msgstr "" - -#: ../../howto/mro.rst:435 -msgid "merge(FO,EFO,FE)" -msgstr "" - -#: ../../howto/mro.rst:437 -msgid "" -"cannot be computed, because F is in the tail of EFO and E is in the tail of " -"FE." -msgstr "" - -#: ../../howto/mro.rst:440 -msgid "" -"The real solution is to design a non-ambiguous hierarchy, i.e. to derive G " -"from E and F (the more specific first) and not from F and E; in this case " -"the MRO is GEF without any doubt." -msgstr "" - -#: ../../howto/mro.rst:444 -msgid "" -" O\n" -" |\n" -" F (spam)\n" -" / |\n" -"(eggs) E |\n" -" \\ |\n" -" G\n" -" (eggs, no doubt)" -msgstr "" - -#: ../../howto/mro.rst:456 -msgid "" -"Python 2.3 forces the programmer to write good hierarchies (or, at least, " -"less error-prone ones)." -msgstr "" - -#: ../../howto/mro.rst:459 -msgid "" -"On a related note, let me point out that the Python 2.3 algorithm is smart " -"enough to recognize obvious mistakes, as the duplication of classes in the " -"list of parents:" -msgstr "" - -#: ../../howto/mro.rst:469 -msgid "" -"Python 2.2 (both for classic classes and new style classes) in this " -"situation, would not raise any exception." -msgstr "" - -#: ../../howto/mro.rst:472 -msgid "" -"Finally, I would like to point out two lessons we have learned from this " -"example:" -msgstr "" - -#: ../../howto/mro.rst:475 -msgid "" -"despite the name, the MRO determines the resolution order of attributes, not" -" only of methods;" -msgstr "" - -#: ../../howto/mro.rst:478 -msgid "" -"the default food for Pythonistas is spam ! (but you already knew that ;-)" -msgstr "" - -#: ../../howto/mro.rst:481 -msgid "" -"Having discussed the issue of local precedence ordering, let me now consider" -" the issue of monotonicity. My goal is to show that neither the MRO for " -"classic classes nor that for Python 2.2 new style classes is monotonic." -msgstr "" - -#: ../../howto/mro.rst:486 -msgid "" -"To prove that the MRO for classic classes is non-monotonic is rather " -"trivial, it is enough to look at the diamond diagram:" -msgstr "" - -#: ../../howto/mro.rst:489 -msgid "" -" C\n" -" / \\\n" -" / \\\n" -"A B\n" -" \\ /\n" -" \\ /\n" -" D" -msgstr "" - -#: ../../howto/mro.rst:500 -msgid "One easily discerns the inconsistency::" -msgstr "" - -#: ../../howto/mro.rst:502 -msgid "" -"L[B,P21] = B C # B precedes C : B's methods win\n" -"L[D,P21] = D A C B C # B follows C : C's methods win!" -msgstr "" - -#: ../../howto/mro.rst:505 -msgid "" -"On the other hand, there are no problems with the Python 2.2 and 2.3 MROs, " -"they give both::" -msgstr "" - -#: ../../howto/mro.rst:508 -msgid "L[D] = D A B C" -msgstr "" - -#: ../../howto/mro.rst:510 -msgid "" -"Guido points out in his essay [#]_ that the classic MRO is not so bad in " -"practice, since one can typically avoids diamonds for classic classes. But " -"all new style classes inherit from ``object``, therefore diamonds are " -"unavoidable and inconsistencies shows up in every multiple inheritance " -"graph." -msgstr "" - -#: ../../howto/mro.rst:516 -msgid "" -"The MRO of Python 2.2 makes breaking monotonicity difficult, but not " -"impossible. The following example, originally provided by Samuele Pedroni, " -"shows that the MRO of Python 2.2 is non-monotonic:" -msgstr "" - -#: ../../howto/mro.rst:530 -msgid "" -"Here are the linearizations according to the C3 MRO (the reader should " -"verify these linearizations as an exercise and draw the inheritance diagram " -";-) ::" -msgstr "" - -#: ../../howto/mro.rst:534 -msgid "" -"L[A] = A O\n" -"L[B] = B O\n" -"L[C] = C O\n" -"L[D] = D O\n" -"L[E] = E O\n" -"L[K1]= K1 A B C O\n" -"L[K2]= K2 D B E O\n" -"L[K3]= K3 D A O\n" -"L[Z] = Z K1 K2 K3 D A B C E O" -msgstr "" - -#: ../../howto/mro.rst:544 -msgid "" -"Python 2.2 gives exactly the same linearizations for A, B, C, D, E, K1, K2 " -"and K3, but a different linearization for Z::" -msgstr "" - -#: ../../howto/mro.rst:547 -msgid "L[Z,P22] = Z K1 K3 A K2 D B C E O" -msgstr "" - -#: ../../howto/mro.rst:549 -msgid "" -"It is clear that this linearization is *wrong*, since A comes before D " -"whereas in the linearization of K3 A comes *after* D. In other words, in K3 " -"methods derived by D override methods derived by A, but in Z, which still is" -" a subclass of K3, methods derived by A override methods derived by D! This" -" is a violation of monotonicity. Moreover, the Python 2.2 linearization of " -"Z is also inconsistent with local precedence ordering, since the local " -"precedence list of the class Z is [K1, K2, K3] (K2 precedes K3), whereas in " -"the linearization of Z K2 *follows* K3. These problems explain why the 2.2 " -"rule has been dismissed in favor of the C3 rule." -msgstr "" - -#: ../../howto/mro.rst:561 -msgid "The end" -msgstr "" - -#: ../../howto/mro.rst:563 -msgid "" -"This section is for the impatient reader, who skipped all the previous " -"sections and jumped immediately to the end. This section is for the lazy " -"programmer too, who didn't want to exercise her/his brain. Finally, it is " -"for the programmer with some hubris, otherwise s/he would not be reading a " -"paper on the C3 method resolution order in multiple inheritance hierarchies " -";-) These three virtues taken all together (and *not* separately) deserve a " -"prize: the prize is a short Python 2.2 script that allows you to compute " -"the 2.3 MRO without risk to your brain. Simply change the last line to play" -" with the various examples I have discussed in this paper.::" -msgstr "" - -#: ../../howto/mro.rst:574 -msgid "" -"#\n" -"\n" -"\"\"\"C3 algorithm by Samuele Pedroni (with readability enhanced by me).\"\"\"\n" -"\n" -"class __metaclass__(type):\n" -" \"All classes are metamagically modified to be nicely printed\"\n" -" __repr__ = lambda cls: cls.__name__\n" -"\n" -"class ex_2:\n" -" \"Serious order disagreement\" #From Guido\n" -" class O: pass\n" -" class X(O): pass\n" -" class Y(O): pass\n" -" class A(X,Y): pass\n" -" class B(Y,X): pass\n" -" try:\n" -" class Z(A,B): pass #creates Z(A,B) in Python 2.2\n" -" except TypeError:\n" -" pass # Z(A,B) cannot be created in Python 2.3\n" -"\n" -"class ex_5:\n" -" \"My first example\"\n" -" class O: pass\n" -" class F(O): pass\n" -" class E(O): pass\n" -" class D(O): pass\n" -" class C(D,F): pass\n" -" class B(D,E): pass\n" -" class A(B,C): pass\n" -"\n" -"class ex_6:\n" -" \"My second example\"\n" -" class O: pass\n" -" class F(O): pass\n" -" class E(O): pass\n" -" class D(O): pass\n" -" class C(D,F): pass\n" -" class B(E,D): pass\n" -" class A(B,C): pass\n" -"\n" -"class ex_9:\n" -" \"Difference between Python 2.2 MRO and C3\" #From Samuele\n" -" class O: pass\n" -" class A(O): pass\n" -" class B(O): pass\n" -" class C(O): pass\n" -" class D(O): pass\n" -" class E(O): pass\n" -" class K1(A,B,C): pass\n" -" class K2(D,B,E): pass\n" -" class K3(D,A): pass\n" -" class Z(K1,K2,K3): pass\n" -"\n" -"def merge(seqs):\n" -" print '\\n\\nCPL[%s]=%s' % (seqs[0][0],seqs),\n" -" res = []; i=0\n" -" while 1:\n" -" nonemptyseqs=[seq for seq in seqs if seq]\n" -" if not nonemptyseqs: return res\n" -" i+=1; print '\\n',i,'round: candidates...',\n" -" for seq in nonemptyseqs: # find merge candidates among seq heads\n" -" cand = seq[0]; print ' ',cand,\n" -" nothead=[s for s in nonemptyseqs if cand in s[1:]]\n" -" if nothead: cand=None #reject candidate\n" -" else: break\n" -" if not cand: raise \"Inconsistent hierarchy\"\n" -" res.append(cand)\n" -" for seq in nonemptyseqs: # remove cand\n" -" if seq[0] == cand: del seq[0]\n" -"\n" -"def mro(C):\n" -" \"Compute the class precedence list (mro) according to C3\"\n" -" return merge([[C]]+map(mro,C.__bases__)+[list(C.__bases__)])\n" -"\n" -"def print_mro(C):\n" -" print '\\nMRO[%s]=%s' % (C,mro(C))\n" -" print '\\nP22 MRO[%s]=%s' % (C,C.mro())\n" -"\n" -"print_mro(ex_9.Z)\n" -"\n" -"#" -msgstr "" - -#: ../../howto/mro.rst:656 -msgid "That's all folks," -msgstr "" - -#: ../../howto/mro.rst:658 -msgid "enjoy !" -msgstr "" - -#: ../../howto/mro.rst:662 -msgid "Resources" -msgstr "" - -#: ../../howto/mro.rst:664 -msgid "" -"The thread on python-dev started by Samuele Pedroni: " -"https://mail.python.org/pipermail/python-dev/2002-October/029035.html" -msgstr "" - -#: ../../howto/mro.rst:667 -msgid "" -"The paper *A Monotonic Superclass Linearization for Dylan*: " -"https://doi.org/10.1145/236337.236343" -msgstr "" - -#: ../../howto/mro.rst:670 -msgid "" -"Guido van Rossum's essay, *Unifying types and classes in Python 2.2*: " -"https://web.archive.org/web/20140210194412/http://www.python.org/download/releases/2.2.2/descrintro" -msgstr "" diff --git a/python-newest.howto--perf_profiling/id.po b/python-newest.howto--perf_profiling/id.po deleted file mode 100644 index 07ff9ca..0000000 --- a/python-newest.howto--perf_profiling/id.po +++ /dev/null @@ -1,418 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2023-05-24 13:07+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/perf_profiling.rst:7 -msgid "Python support for the Linux ``perf`` profiler" -msgstr "" - -#: ../../howto/perf_profiling.rst:0 -msgid "author" -msgstr "penulis" - -#: ../../howto/perf_profiling.rst:9 -msgid "Pablo Galindo" -msgstr "" - -#: ../../howto/perf_profiling.rst:11 -msgid "" -"`The Linux perf profiler `_ is a very powerful" -" tool that allows you to profile and obtain information about the " -"performance of your application. ``perf`` also has a very vibrant ecosystem " -"of tools that aid with the analysis of the data that it produces." -msgstr "" - -#: ../../howto/perf_profiling.rst:17 -msgid "" -"The main problem with using the ``perf`` profiler with Python applications " -"is that ``perf`` only gets information about native symbols, that is, the " -"names of functions and procedures written in C. This means that the names " -"and file names of Python functions in your code will not appear in the " -"output of ``perf``." -msgstr "" - -#: ../../howto/perf_profiling.rst:22 -msgid "" -"Since Python 3.12, the interpreter can run in a special mode that allows " -"Python functions to appear in the output of the ``perf`` profiler. When this" -" mode is enabled, the interpreter will interpose a small piece of code " -"compiled on the fly before the execution of every Python function and it " -"will teach ``perf`` the relationship between this piece of code and the " -"associated Python function using :doc:`perf map files <../c-api/perfmaps>`." -msgstr "" - -#: ../../howto/perf_profiling.rst:31 -msgid "" -"Support for the ``perf`` profiler is currently only available for Linux on " -"select architectures. Check the output of the ``configure`` build step or " -"check the output of ``python -m sysconfig | grep HAVE_PERF_TRAMPOLINE`` to " -"see if your system is supported." -msgstr "" - -#: ../../howto/perf_profiling.rst:36 -msgid "For example, consider the following script:" -msgstr "" - -#: ../../howto/perf_profiling.rst:38 -msgid "" -"def foo(n):\n" -" result = 0\n" -" for _ in range(n):\n" -" result += 1\n" -" return result\n" -"\n" -"def bar(n):\n" -" foo(n)\n" -"\n" -"def baz(n):\n" -" bar(n)\n" -"\n" -"if __name__ == \"__main__\":\n" -" baz(1000000)" -msgstr "" - -#: ../../howto/perf_profiling.rst:55 -msgid "We can run ``perf`` to sample CPU stack traces at 9999 hertz::" -msgstr "" - -#: ../../howto/perf_profiling.rst:57 -msgid "$ perf record -F 9999 -g -o perf.data python my_script.py" -msgstr "" - -#: ../../howto/perf_profiling.rst:59 -msgid "Then we can use ``perf report`` to analyze the data:" -msgstr "" - -#: ../../howto/perf_profiling.rst:61 -msgid "" -"$ perf report --stdio -n -g\n" -"\n" -"# Children Self Samples Command Shared Object Symbol\n" -"# ........ ........ ............ .......... .................. ..........................................\n" -"#\n" -" 91.08% 0.00% 0 python.exe python.exe [.] _start\n" -" |\n" -" ---_start\n" -" |\n" -" --90.71%--__libc_start_main\n" -" Py_BytesMain\n" -" |\n" -" |--56.88%--pymain_run_python.constprop.0\n" -" | |\n" -" | |--56.13%--_PyRun_AnyFileObject\n" -" | | _PyRun_SimpleFileObject\n" -" | | |\n" -" | | |--55.02%--run_mod\n" -" | | | |\n" -" | | | --54.65%--PyEval_EvalCode\n" -" | | | _PyEval_EvalFrameDefault\n" -" | | | PyObject_Vectorcall\n" -" | | | _PyEval_Vector\n" -" | | | _PyEval_EvalFrameDefault\n" -" | | | PyObject_Vectorcall\n" -" | | | _PyEval_Vector\n" -" | | | _PyEval_EvalFrameDefault\n" -" | | | PyObject_Vectorcall\n" -" | | | _PyEval_Vector\n" -" | | | |\n" -" | | | |--51.67%--_PyEval_EvalFrameDefault\n" -" | | | | |\n" -" | | | | |--11.52%--_PyLong_Add\n" -" | | | | | |\n" -" | | | | | |--2.97%--_PyObject_Malloc\n" -"..." -msgstr "" - -#: ../../howto/perf_profiling.rst:100 -msgid "" -"As you can see, the Python functions are not shown in the output, only " -"``_PyEval_EvalFrameDefault`` (the function that evaluates the Python " -"bytecode) shows up. Unfortunately that's not very useful because all Python " -"functions use the same C function to evaluate bytecode so we cannot know " -"which Python function corresponds to which bytecode-evaluating function." -msgstr "" - -#: ../../howto/perf_profiling.rst:105 -msgid "" -"Instead, if we run the same experiment with ``perf`` support enabled we get:" -msgstr "" - -#: ../../howto/perf_profiling.rst:107 -msgid "" -"$ perf report --stdio -n -g\n" -"\n" -"# Children Self Samples Command Shared Object Symbol\n" -"# ........ ........ ............ .......... .................. .....................................................................\n" -"#\n" -" 90.58% 0.36% 1 python.exe python.exe [.] _start\n" -" |\n" -" ---_start\n" -" |\n" -" --89.86%--__libc_start_main\n" -" Py_BytesMain\n" -" |\n" -" |--55.43%--pymain_run_python.constprop.0\n" -" | |\n" -" | |--54.71%--_PyRun_AnyFileObject\n" -" | | _PyRun_SimpleFileObject\n" -" | | |\n" -" | | |--53.62%--run_mod\n" -" | | | |\n" -" | | | --53.26%--PyEval_EvalCode\n" -" | | | py:::/src/script.py\n" -" | | | _PyEval_EvalFrameDefault\n" -" | | | PyObject_Vectorcall\n" -" | | | _PyEval_Vector\n" -" | | | py::baz:/src/script.py\n" -" | | | _PyEval_EvalFrameDefault\n" -" | | | PyObject_Vectorcall\n" -" | | | _PyEval_Vector\n" -" | | | py::bar:/src/script.py\n" -" | | | _PyEval_EvalFrameDefault\n" -" | | | PyObject_Vectorcall\n" -" | | | _PyEval_Vector\n" -" | | | py::foo:/src/script.py\n" -" | | | |\n" -" | | | |--51.81%--_PyEval_EvalFrameDefault\n" -" | | | | |\n" -" | | | | |--13.77%--_PyLong_Add\n" -" | | | | | |\n" -" | | | | | |--3.26%--_PyObject_Malloc" -msgstr "" - -#: ../../howto/perf_profiling.rst:152 -msgid "How to enable ``perf`` profiling support" -msgstr "" - -#: ../../howto/perf_profiling.rst:154 -msgid "" -"``perf`` profiling support can be enabled either from the start using the " -"environment variable :envvar:`PYTHONPERFSUPPORT` or the :option:`-X perf " -"<-X>` option, or dynamically using :func:`sys.activate_stack_trampoline` and" -" :func:`sys.deactivate_stack_trampoline`." -msgstr "" - -#: ../../howto/perf_profiling.rst:160 -msgid "" -"The :mod:`!sys` functions take precedence over the :option:`!-X` option, the" -" :option:`!-X` option takes precedence over the environment variable." -msgstr "" - -#: ../../howto/perf_profiling.rst:163 -msgid "Example, using the environment variable::" -msgstr "" - -#: ../../howto/perf_profiling.rst:165 -msgid "" -"$ PYTHONPERFSUPPORT=1 perf record -F 9999 -g -o perf.data python my_script.py\n" -"$ perf report -g -i perf.data" -msgstr "" - -#: ../../howto/perf_profiling.rst:168 -msgid "Example, using the :option:`!-X` option::" -msgstr "" - -#: ../../howto/perf_profiling.rst:170 -msgid "" -"$ perf record -F 9999 -g -o perf.data python -X perf my_script.py\n" -"$ perf report -g -i perf.data" -msgstr "" - -#: ../../howto/perf_profiling.rst:173 -msgid "Example, using the :mod:`sys` APIs in file :file:`example.py`:" -msgstr "" - -#: ../../howto/perf_profiling.rst:175 -msgid "" -"import sys\n" -"\n" -"sys.activate_stack_trampoline(\"perf\")\n" -"do_profiled_stuff()\n" -"sys.deactivate_stack_trampoline()\n" -"\n" -"non_profiled_stuff()" -msgstr "" - -#: ../../howto/perf_profiling.rst:185 -msgid "...then::" -msgstr "" - -#: ../../howto/perf_profiling.rst:187 -msgid "" -"$ perf record -F 9999 -g -o perf.data python ./example.py\n" -"$ perf report -g -i perf.data" -msgstr "" - -#: ../../howto/perf_profiling.rst:192 -msgid "How to obtain the best results" -msgstr "" - -#: ../../howto/perf_profiling.rst:194 -msgid "" -"For best results, Python should be compiled with ``CFLAGS=\"-fno-omit-frame-" -"pointer -mno-omit-leaf-frame-pointer\"`` as this allows profilers to unwind " -"using only the frame pointer and not on DWARF debug information. This is " -"because as the code that is interposed to allow ``perf`` support is " -"dynamically generated it doesn't have any DWARF debugging information " -"available." -msgstr "" - -#: ../../howto/perf_profiling.rst:201 -msgid "" -"You can check if your system has been compiled with this flag by running::" -msgstr "" - -#: ../../howto/perf_profiling.rst:203 -msgid "$ python -m sysconfig | grep 'no-omit-frame-pointer'" -msgstr "" - -#: ../../howto/perf_profiling.rst:205 -msgid "" -"If you don't see any output it means that your interpreter has not been " -"compiled with frame pointers and therefore it may not be able to show Python" -" functions in the output of ``perf``." -msgstr "" - -#: ../../howto/perf_profiling.rst:211 -msgid "How to work without frame pointers" -msgstr "" - -#: ../../howto/perf_profiling.rst:213 -msgid "" -"If you are working with a Python interpreter that has been compiled without " -"frame pointers, you can still use the ``perf`` profiler, but the overhead " -"will be a bit higher because Python needs to generate unwinding information " -"for every Python function call on the fly. Additionally, ``perf`` will take " -"more time to process the data because it will need to use the DWARF " -"debugging information to unwind the stack and this is a slow process." -msgstr "" - -#: ../../howto/perf_profiling.rst:220 -msgid "" -"To enable this mode, you can use the environment variable " -":envvar:`PYTHON_PERF_JIT_SUPPORT` or the :option:`-X perf_jit <-X>` option, " -"which will enable the JIT mode for the ``perf`` profiler." -msgstr "" - -#: ../../howto/perf_profiling.rst:226 -msgid "" -"Due to a bug in the ``perf`` tool, only ``perf`` versions higher than v6.8 " -"will work with the JIT mode. The fix was also backported to the v6.7.2 " -"version of the tool." -msgstr "" - -#: ../../howto/perf_profiling.rst:230 -msgid "" -"Note that when checking the version of the ``perf`` tool (which can be done " -"by running ``perf version``) you must take into account that some distros " -"add some custom version numbers including a ``-`` character. This means " -"that ``perf 6.7-3`` is not necessarily ``perf 6.7.3``." -msgstr "" - -#: ../../howto/perf_profiling.rst:235 -msgid "" -"When using the perf JIT mode, you need an extra step before you can run " -"``perf report``. You need to call the ``perf inject`` command to inject the " -"JIT information into the ``perf.data`` file.::" -msgstr "" - -#: ../../howto/perf_profiling.rst:239 -msgid "" -"$ perf record -F 9999 -g -k 1 --call-graph dwarf -o perf.data python -Xperf_jit my_script.py\n" -"$ perf inject -i perf.data --jit --output perf.jit.data\n" -"$ perf report -g -i perf.jit.data" -msgstr "" - -#: ../../howto/perf_profiling.rst:243 -msgid "or using the environment variable::" -msgstr "" - -#: ../../howto/perf_profiling.rst:245 -msgid "" -"$ PYTHON_PERF_JIT_SUPPORT=1 perf record -F 9999 -g --call-graph dwarf -o perf.data python my_script.py\n" -"$ perf inject -i perf.data --jit --output perf.jit.data\n" -"$ perf report -g -i perf.jit.data" -msgstr "" - -#: ../../howto/perf_profiling.rst:249 -msgid "" -"``perf inject --jit`` command will read ``perf.data``, automatically pick up" -" the perf dump file that Python creates (in ``/tmp/perf-$PID.dump``), and " -"then create ``perf.jit.data`` which merges all the JIT information together." -" It should also create a lot of ``jitted-XXXX-N.so`` files in the current " -"directory which are ELF images for all the JIT trampolines that were created" -" by Python." -msgstr "" - -#: ../../howto/perf_profiling.rst:257 -msgid "" -"When using ``--call-graph dwarf``, the ``perf`` tool will take snapshots of " -"the stack of the process being profiled and save the information in the " -"``perf.data`` file. By default, the size of the stack dump is 8192 bytes, " -"but you can change the size by passing it after a comma like ``--call-graph " -"dwarf,16384``." -msgstr "" - -#: ../../howto/perf_profiling.rst:263 -msgid "" -"The size of the stack dump is important because if the size is too small " -"``perf`` will not be able to unwind the stack and the output will be " -"incomplete. On the other hand, if the size is too big, then ``perf`` won't " -"be able to sample the process as frequently as it would like as the overhead" -" will be higher." -msgstr "" - -#: ../../howto/perf_profiling.rst:269 -msgid "" -"The stack size is particularly important when profiling Python code compiled" -" with low optimization levels (like ``-O0``), as these builds tend to have " -"larger stack frames. If you are compiling Python with ``-O0`` and not seeing" -" Python functions in your profiling output, try increasing the stack dump " -"size to 65528 bytes (the maximum)::" -msgstr "" - -#: ../../howto/perf_profiling.rst:275 -msgid "" -"$ perf record -F 9999 -g -k 1 --call-graph dwarf,65528 -o perf.data python " -"-Xperf_jit my_script.py" -msgstr "" - -#: ../../howto/perf_profiling.rst:277 -msgid "Different compilation flags can significantly impact stack sizes:" -msgstr "" - -#: ../../howto/perf_profiling.rst:279 -msgid "" -"Builds with ``-O0`` typically have much larger stack frames than those with " -"``-O1`` or higher" -msgstr "" - -#: ../../howto/perf_profiling.rst:280 -msgid "" -"Adding optimizations (``-O1``, ``-O2``, etc.) typically reduces stack size" -msgstr "" - -#: ../../howto/perf_profiling.rst:281 -msgid "" -"Frame pointers (``-fno-omit-frame-pointer``) generally provide more reliable" -" stack unwinding" -msgstr "" diff --git a/python-newest.howto--pyporting/id.po b/python-newest.howto--pyporting/id.po deleted file mode 100644 index d737935..0000000 --- a/python-newest.howto--pyporting/id.po +++ /dev/null @@ -1,90 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Akhmat Safrudin , 2018 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/pyporting.rst:7 -msgid "How to port Python 2 Code to Python 3" -msgstr "" - -#: ../../howto/pyporting.rst:0 -msgid "author" -msgstr "penulis" - -#: ../../howto/pyporting.rst:9 -msgid "Brett Cannon" -msgstr "Brett Cannon" - -#: ../../howto/pyporting.rst:11 -msgid "" -"Python 2 reached its official end-of-life at the start of 2020. This means " -"that no new bug reports, fixes, or changes will be made to Python 2 - it's " -"no longer supported: see :pep:`373` and `status of Python versions " -"`_." -msgstr "" - -#: ../../howto/pyporting.rst:16 -msgid "" -"If you are looking to port an extension module instead of pure Python code, " -"please see :ref:`cporting-howto`." -msgstr "" - -#: ../../howto/pyporting.rst:19 -msgid "" -"The archived python-porting_ mailing list may contain some useful guidance." -msgstr "" - -#: ../../howto/pyporting.rst:21 -msgid "" -"Since Python 3.11 the original porting guide was discontinued. You can find " -"the old guide in the `archive " -"`_." -msgstr "" - -#: ../../howto/pyporting.rst:27 -msgid "Third-party guides" -msgstr "" - -#: ../../howto/pyporting.rst:29 -msgid "There are also multiple third-party guides that might be useful:" -msgstr "" - -#: ../../howto/pyporting.rst:31 -msgid "`Guide by Fedora `_" -msgstr "" - -#: ../../howto/pyporting.rst:32 -msgid "`PyCon 2020 tutorial `_" -msgstr "" - -#: ../../howto/pyporting.rst:33 -msgid "" -"`Guide by DigitalOcean " -"`_" -msgstr "" - -#: ../../howto/pyporting.rst:34 -msgid "" -"`Guide by ActiveState `_" -msgstr "" diff --git a/python-newest.howto--regex/id.po b/python-newest.howto--regex/id.po deleted file mode 100644 index ad4ecd3..0000000 --- a/python-newest.howto--regex/id.po +++ /dev/null @@ -1,2283 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Helen Febriani , 2018 -# Akhmat Safrudin , 2021 -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/regex.rst:5 -msgid "Regular Expression HOWTO" -msgstr "" - -#: ../../howto/regex.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../howto/regex.rst:7 -msgid "A.M. Kuchling " -msgstr "A.M. Kuchling " - -#: ../../howto/regex.rst-1 -msgid "Abstract" -msgstr "Abstrak" - -#: ../../howto/regex.rst:18 -msgid "" -"This document is an introductory tutorial to using regular expressions in " -"Python with the :mod:`re` module. It provides a gentler introduction than " -"the corresponding section in the Library Reference." -msgstr "" - -#: ../../howto/regex.rst:24 -msgid "Introduction" -msgstr "Pengantar" - -#: ../../howto/regex.rst:26 -msgid "" -"Regular expressions (called REs, or regexes, or regex patterns) are " -"essentially a tiny, highly specialized programming language embedded inside " -"Python and made available through the :mod:`re` module. Using this little " -"language, you specify the rules for the set of possible strings that you " -"want to match; this set might contain English sentences, or e-mail " -"addresses, or TeX commands, or anything you like. You can then ask " -"questions such as \"Does this string match the pattern?\", or \"Is there a " -"match for the pattern anywhere in this string?\". You can also use REs to " -"modify a string or to split it apart in various ways." -msgstr "" - -#: ../../howto/regex.rst:35 -msgid "" -"Regular expression patterns are compiled into a series of bytecodes which " -"are then executed by a matching engine written in C. For advanced use, it " -"may be necessary to pay careful attention to how the engine will execute a " -"given RE, and write the RE in a certain way in order to produce bytecode " -"that runs faster. Optimization isn't covered in this document, because it " -"requires that you have a good understanding of the matching engine's " -"internals." -msgstr "" - -#: ../../howto/regex.rst:42 -msgid "" -"The regular expression language is relatively small and restricted, so not " -"all possible string processing tasks can be done using regular expressions." -" There are also tasks that *can* be done with regular expressions, but the " -"expressions turn out to be very complicated. In these cases, you may be " -"better off writing Python code to do the processing; while Python code will " -"be slower than an elaborate regular expression, it will also probably be " -"more understandable." -msgstr "" - -#: ../../howto/regex.rst:51 -msgid "Simple Patterns" -msgstr "" - -#: ../../howto/regex.rst:53 -msgid "" -"We'll start by learning about the simplest possible regular expressions. " -"Since regular expressions are used to operate on strings, we'll begin with " -"the most common task: matching characters." -msgstr "" - -#: ../../howto/regex.rst:57 -msgid "" -"For a detailed explanation of the computer science underlying regular " -"expressions (deterministic and non-deterministic finite automata), you can " -"refer to almost any textbook on writing compilers." -msgstr "" - -#: ../../howto/regex.rst:63 -msgid "Matching Characters" -msgstr "" - -#: ../../howto/regex.rst:65 -msgid "" -"Most letters and characters will simply match themselves. For example, the " -"regular expression ``test`` will match the string ``test`` exactly. (You " -"can enable a case-insensitive mode that would let this RE match ``Test`` or " -"``TEST`` as well; more about this later.)" -msgstr "" - -#: ../../howto/regex.rst:70 -msgid "" -"There are exceptions to this rule; some characters are special " -":dfn:`metacharacters`, and don't match themselves. Instead, they signal " -"that some out-of-the-ordinary thing should be matched, or they affect other " -"portions of the RE by repeating them or changing their meaning. Much of " -"this document is devoted to discussing various metacharacters and what they " -"do." -msgstr "" - -#: ../../howto/regex.rst:76 -msgid "" -"Here's a complete list of the metacharacters; their meanings will be " -"discussed in the rest of this HOWTO." -msgstr "" - -#: ../../howto/regex.rst:79 -msgid ". ^ $ * + ? { } [ ] \\ | ( )" -msgstr "" - -#: ../../howto/regex.rst:83 -msgid "" -"The first metacharacters we'll look at are ``[`` and ``]``. They're used for" -" specifying a character class, which is a set of characters that you wish to" -" match. Characters can be listed individually, or a range of characters can" -" be indicated by giving two characters and separating them by a ``'-'``. " -"For example, ``[abc]`` will match any of the characters ``a``, ``b``, or " -"``c``; this is the same as ``[a-c]``, which uses a range to express the same" -" set of characters. If you wanted to match only lowercase letters, your RE " -"would be ``[a-z]``." -msgstr "" - -#: ../../howto/regex.rst:92 -msgid "" -"Metacharacters (except ``\\``) are not active inside classes. For example, " -"``[akm$]`` will match any of the characters ``'a'``, ``'k'``, ``'m'``, or " -"``'$'``; ``'$'`` is usually a metacharacter, but inside a character class " -"it's stripped of its special nature." -msgstr "" - -#: ../../howto/regex.rst:97 -msgid "" -"You can match the characters not listed within the class by " -":dfn:`complementing` the set. This is indicated by including a ``'^'`` as " -"the first character of the class. For example, ``[^5]`` will match any " -"character except ``'5'``. If the caret appears elsewhere in a character " -"class, it does not have special meaning. For example: ``[5^]`` will match " -"either a ``'5'`` or a ``'^'``." -msgstr "" - -#: ../../howto/regex.rst:103 -msgid "" -"Perhaps the most important metacharacter is the backslash, ``\\``. As in " -"Python string literals, the backslash can be followed by various characters " -"to signal various special sequences. It's also used to escape all the " -"metacharacters so you can still match them in patterns; for example, if you " -"need to match a ``[`` or ``\\``, you can precede them with a backslash to " -"remove their special meaning: ``\\[`` or ``\\\\``." -msgstr "" - -#: ../../howto/regex.rst:110 -msgid "" -"Some of the special sequences beginning with ``'\\'`` represent predefined " -"sets of characters that are often useful, such as the set of digits, the set" -" of letters, or the set of anything that isn't whitespace." -msgstr "" - -#: ../../howto/regex.rst:115 -msgid "" -"Let's take an example: ``\\w`` matches any alphanumeric character. If the " -"regex pattern is expressed in bytes, this is equivalent to the class " -"``[a-zA-Z0-9_]``. If the regex pattern is a string, ``\\w`` will match all " -"the characters marked as letters in the Unicode database provided by the " -":mod:`unicodedata` module. You can use the more restricted definition of " -"``\\w`` in a string pattern by supplying the :const:`re.ASCII` flag when " -"compiling the regular expression." -msgstr "" - -#: ../../howto/regex.rst:123 -msgid "" -"The following list of special sequences isn't complete. For a complete list " -"of sequences and expanded class definitions for Unicode string patterns, see" -" the last part of :ref:`Regular Expression Syntax ` in the " -"Standard Library reference. In general, the Unicode versions match any " -"character that's in the appropriate category in the Unicode database." -msgstr "" - -#: ../../howto/regex.rst:130 -msgid "``\\d``" -msgstr "``\\d``" - -#: ../../howto/regex.rst:131 -msgid "Matches any decimal digit; this is equivalent to the class ``[0-9]``." -msgstr "" - -#: ../../howto/regex.rst:133 -msgid "``\\D``" -msgstr "``\\D``" - -#: ../../howto/regex.rst:134 -msgid "" -"Matches any non-digit character; this is equivalent to the class ``[^0-9]``." -msgstr "" - -#: ../../howto/regex.rst:136 -msgid "``\\s``" -msgstr "``\\s``" - -#: ../../howto/regex.rst:137 -msgid "" -"Matches any whitespace character; this is equivalent to the class ``[ " -"\\t\\n\\r\\f\\v]``." -msgstr "" - -#: ../../howto/regex.rst:140 -msgid "``\\S``" -msgstr "``\\S``" - -#: ../../howto/regex.rst:141 -msgid "" -"Matches any non-whitespace character; this is equivalent to the class ``[^ " -"\\t\\n\\r\\f\\v]``." -msgstr "" - -#: ../../howto/regex.rst:144 -msgid "``\\w``" -msgstr "``\\w``" - -#: ../../howto/regex.rst:145 -msgid "" -"Matches any alphanumeric character; this is equivalent to the class " -"``[a-zA-Z0-9_]``." -msgstr "" - -#: ../../howto/regex.rst:148 -msgid "``\\W``" -msgstr "``\\W``" - -#: ../../howto/regex.rst:149 -msgid "" -"Matches any non-alphanumeric character; this is equivalent to the class " -"``[^a-zA-Z0-9_]``." -msgstr "" - -#: ../../howto/regex.rst:152 -msgid "" -"These sequences can be included inside a character class. For example, " -"``[\\s,.]`` is a character class that will match any whitespace character, " -"or ``','`` or ``'.'``." -msgstr "" - -#: ../../howto/regex.rst:156 -msgid "" -"The final metacharacter in this section is ``.``. It matches anything " -"except a newline character, and there's an alternate mode " -"(:const:`re.DOTALL`) where it will match even a newline. ``.`` is often " -"used where you want to match \"any character\"." -msgstr "" - -#: ../../howto/regex.rst:163 -msgid "Repeating Things" -msgstr "" - -#: ../../howto/regex.rst:165 -msgid "" -"Being able to match varying sets of characters is the first thing regular " -"expressions can do that isn't already possible with the methods available on" -" strings. However, if that was the only additional capability of regexes, " -"they wouldn't be much of an advance. Another capability is that you can " -"specify that portions of the RE must be repeated a certain number of times." -msgstr "" - -#: ../../howto/regex.rst:171 -msgid "" -"The first metacharacter for repeating things that we'll look at is ``*``. " -"``*`` doesn't match the literal character ``'*'``; instead, it specifies " -"that the previous character can be matched zero or more times, instead of " -"exactly once." -msgstr "" - -#: ../../howto/regex.rst:175 -msgid "" -"For example, ``ca*t`` will match ``'ct'`` (0 ``'a'`` characters), ``'cat'`` " -"(1 ``'a'``), ``'caaat'`` (3 ``'a'`` characters), and so forth." -msgstr "" - -#: ../../howto/regex.rst:178 -msgid "" -"Repetitions such as ``*`` are :dfn:`greedy`; when repeating a RE, the " -"matching engine will try to repeat it as many times as possible. If later " -"portions of the pattern don't match, the matching engine will then back up " -"and try again with fewer repetitions." -msgstr "" - -#: ../../howto/regex.rst:183 -msgid "" -"A step-by-step example will make this more obvious. Let's consider the " -"expression ``a[bcd]*b``. This matches the letter ``'a'``, zero or more " -"letters from the class ``[bcd]``, and finally ends with a ``'b'``. Now " -"imagine matching this RE against the string ``'abcbd'``." -msgstr "" - -#: ../../howto/regex.rst:189 -msgid "Step" -msgstr "" - -#: ../../howto/regex.rst:189 -msgid "Matched" -msgstr "" - -#: ../../howto/regex.rst:189 -msgid "Explanation" -msgstr "" - -#: ../../howto/regex.rst:191 -msgid "1" -msgstr "1" - -#: ../../howto/regex.rst:191 -msgid "``a``" -msgstr "``a``" - -#: ../../howto/regex.rst:191 -msgid "The ``a`` in the RE matches." -msgstr "" - -#: ../../howto/regex.rst:193 -msgid "2" -msgstr "2" - -#: ../../howto/regex.rst:193 -msgid "``abcbd``" -msgstr "``abcbd``" - -#: ../../howto/regex.rst:193 -msgid "" -"The engine matches ``[bcd]*``, going as far as it can, which is to the end " -"of the string." -msgstr "" - -#: ../../howto/regex.rst:197 -msgid "3" -msgstr "3" - -#: ../../howto/regex.rst:197 ../../howto/regex.rst:205 -msgid "*Failure*" -msgstr "" - -#: ../../howto/regex.rst:197 -msgid "" -"The engine tries to match ``b``, but the current position is at the end of " -"the string, so it fails." -msgstr "" - -#: ../../howto/regex.rst:202 -msgid "4" -msgstr "4" - -#: ../../howto/regex.rst:202 ../../howto/regex.rst:213 -msgid "``abcb``" -msgstr "``abcb``" - -#: ../../howto/regex.rst:202 -msgid "Back up, so that ``[bcd]*`` matches one less character." -msgstr "" - -#: ../../howto/regex.rst:205 -msgid "5" -msgstr "5" - -#: ../../howto/regex.rst:205 -msgid "" -"Try ``b`` again, but the current position is at the last character, which is" -" a ``'d'``." -msgstr "" - -#: ../../howto/regex.rst:209 ../../howto/regex.rst:213 -msgid "6" -msgstr "6" - -#: ../../howto/regex.rst:209 -msgid "``abc``" -msgstr "``abc``" - -#: ../../howto/regex.rst:209 -msgid "Back up again, so that ``[bcd]*`` is only matching ``bc``." -msgstr "" - -#: ../../howto/regex.rst:213 -msgid "" -"Try ``b`` again. This time the character at the current position is " -"``'b'``, so it succeeds." -msgstr "" - -#: ../../howto/regex.rst:219 -msgid "" -"The end of the RE has now been reached, and it has matched ``'abcb'``. This" -" demonstrates how the matching engine goes as far as it can at first, and if" -" no match is found it will then progressively back up and retry the rest of " -"the RE again and again. It will back up until it has tried zero matches for" -" ``[bcd]*``, and if that subsequently fails, the engine will conclude that " -"the string doesn't match the RE at all." -msgstr "" - -#: ../../howto/regex.rst:226 -msgid "" -"Another repeating metacharacter is ``+``, which matches one or more times. " -"Pay careful attention to the difference between ``*`` and ``+``; ``*`` " -"matches *zero* or more times, so whatever's being repeated may not be " -"present at all, while ``+`` requires at least *one* occurrence. To use a " -"similar example, ``ca+t`` will match ``'cat'`` (1 ``'a'``), ``'caaat'`` (3 " -"``'a'``\\ s), but won't match ``'ct'``." -msgstr "" - -#: ../../howto/regex.rst:233 -msgid "" -"There are two more repeating operators or quantifiers. The question mark " -"character, ``?``, matches either once or zero times; you can think of it as " -"marking something as being optional. For example, ``home-?brew`` matches " -"either ``'homebrew'`` or ``'home-brew'``." -msgstr "" - -#: ../../howto/regex.rst:238 -msgid "" -"The most complicated quantifier is ``{m,n}``, where *m* and *n* are decimal " -"integers. This quantifier means there must be at least *m* repetitions, and" -" at most *n*. For example, ``a/{1,3}b`` will match ``'a/b'``, ``'a//b'``, " -"and ``'a///b'``. It won't match ``'ab'``, which has no slashes, or " -"``'a////b'``, which has four." -msgstr "" - -#: ../../howto/regex.rst:244 -msgid "" -"You can omit either *m* or *n*; in that case, a reasonable value is assumed " -"for the missing value. Omitting *m* is interpreted as a lower limit of 0, " -"while omitting *n* results in an upper bound of infinity." -msgstr "" - -#: ../../howto/regex.rst:248 -msgid "" -"The simplest case ``{m}`` matches the preceding item exactly *m* times. For " -"example, ``a/{2}b`` will only match ``'a//b'``." -msgstr "" - -#: ../../howto/regex.rst:251 -msgid "" -"Readers of a reductionist bent may notice that the three other quantifiers " -"can all be expressed using this notation. ``{0,}`` is the same as ``*``, " -"``{1,}`` is equivalent to ``+``, and ``{0,1}`` is the same as ``?``. It's " -"better to use ``*``, ``+``, or ``?`` when you can, simply because they're " -"shorter and easier to read." -msgstr "" - -#: ../../howto/regex.rst:259 -msgid "Using Regular Expressions" -msgstr "" - -#: ../../howto/regex.rst:261 -msgid "" -"Now that we've looked at some simple regular expressions, how do we actually" -" use them in Python? The :mod:`re` module provides an interface to the " -"regular expression engine, allowing you to compile REs into objects and then" -" perform matches with them." -msgstr "" - -#: ../../howto/regex.rst:268 -msgid "Compiling Regular Expressions" -msgstr "" - -#: ../../howto/regex.rst:270 -msgid "" -"Regular expressions are compiled into pattern objects, which have methods " -"for various operations such as searching for pattern matches or performing " -"string substitutions. ::" -msgstr "" - -#: ../../howto/regex.rst:274 -msgid "" -">>> import re\n" -">>> p = re.compile('ab*')\n" -">>> p\n" -"re.compile('ab*')" -msgstr "" - -#: ../../howto/regex.rst:279 -msgid "" -":func:`re.compile` also accepts an optional *flags* argument, used to enable" -" various special features and syntax variations. We'll go over the " -"available settings later, but for now a single example will do::" -msgstr "" - -#: ../../howto/regex.rst:283 -msgid ">>> p = re.compile('ab*', re.IGNORECASE)" -msgstr "" - -#: ../../howto/regex.rst:285 -msgid "" -"The RE is passed to :func:`re.compile` as a string. REs are handled as " -"strings because regular expressions aren't part of the core Python language," -" and no special syntax was created for expressing them. (There are " -"applications that don't need REs at all, so there's no need to bloat the " -"language specification by including them.) Instead, the :mod:`re` module is " -"simply a C extension module included with Python, just like the " -":mod:`socket` or :mod:`zlib` modules." -msgstr "" - -#: ../../howto/regex.rst:292 -msgid "" -"Putting REs in strings keeps the Python language simpler, but has one " -"disadvantage which is the topic of the next section." -msgstr "" - -#: ../../howto/regex.rst:299 -msgid "The Backslash Plague" -msgstr "" - -#: ../../howto/regex.rst:301 -msgid "" -"As stated earlier, regular expressions use the backslash character " -"(``'\\'``) to indicate special forms or to allow special characters to be " -"used without invoking their special meaning. This conflicts with Python's " -"usage of the same character for the same purpose in string literals." -msgstr "" - -#: ../../howto/regex.rst:306 -msgid "" -"Let's say you want to write a RE that matches the string ``\\section``, " -"which might be found in a LaTeX file. To figure out what to write in the " -"program code, start with the desired string to be matched. Next, you must " -"escape any backslashes and other metacharacters by preceding them with a " -"backslash, resulting in the string ``\\\\section``. The resulting string " -"that must be passed to :func:`re.compile` must be ``\\\\section``. However," -" to express this as a Python string literal, both backslashes must be " -"escaped *again*." -msgstr "" - -#: ../../howto/regex.rst:315 -msgid "Characters" -msgstr "" - -#: ../../howto/regex.rst:315 -msgid "Stage" -msgstr "" - -#: ../../howto/regex.rst:317 -msgid "``\\section``" -msgstr "``\\section``" - -#: ../../howto/regex.rst:317 -msgid "Text string to be matched" -msgstr "" - -#: ../../howto/regex.rst:319 -msgid "``\\\\section``" -msgstr "``\\\\section``" - -#: ../../howto/regex.rst:319 -msgid "Escaped backslash for :func:`re.compile`" -msgstr "" - -#: ../../howto/regex.rst:321 ../../howto/regex.rst:348 -msgid "``\"\\\\\\\\section\"``" -msgstr "``\"\\\\\\\\section\"``" - -#: ../../howto/regex.rst:321 -msgid "Escaped backslashes for a string literal" -msgstr "" - -#: ../../howto/regex.rst:324 -msgid "" -"In short, to match a literal backslash, one has to write ``'\\\\\\\\'`` as " -"the RE string, because the regular expression must be ``\\\\``, and each " -"backslash must be expressed as ``\\\\`` inside a regular Python string " -"literal. In REs that feature backslashes repeatedly, this leads to lots of " -"repeated backslashes and makes the resulting strings difficult to " -"understand." -msgstr "" - -#: ../../howto/regex.rst:330 -msgid "" -"The solution is to use Python's raw string notation for regular expressions;" -" backslashes are not handled in any special way in a string literal prefixed" -" with ``'r'``, so ``r\"\\n\"`` is a two-character string containing ``'\\'``" -" and ``'n'``, while ``\"\\n\"`` is a one-character string containing a " -"newline. Regular expressions will often be written in Python code using this" -" raw string notation." -msgstr "" - -#: ../../howto/regex.rst:336 -msgid "" -"In addition, special escape sequences that are valid in regular expressions," -" but not valid as Python string literals, now result in a " -":exc:`DeprecationWarning` and will eventually become a :exc:`SyntaxError`, " -"which means the sequences will be invalid if raw string notation or escaping" -" the backslashes isn't used." -msgstr "" - -#: ../../howto/regex.rst:344 -msgid "Regular String" -msgstr "" - -#: ../../howto/regex.rst:344 -msgid "Raw string" -msgstr "" - -#: ../../howto/regex.rst:346 -msgid "``\"ab*\"``" -msgstr "``\"ab*\"``" - -#: ../../howto/regex.rst:346 -msgid "``r\"ab*\"``" -msgstr "``r\"ab*\"``" - -#: ../../howto/regex.rst:348 -msgid "``r\"\\\\section\"``" -msgstr "``r\"\\\\section\"``" - -#: ../../howto/regex.rst:350 -msgid "``\"\\\\w+\\\\s+\\\\1\"``" -msgstr "``\"\\\\w+\\\\s+\\\\1\"``" - -#: ../../howto/regex.rst:350 -msgid "``r\"\\w+\\s+\\1\"``" -msgstr "``r\"\\w+\\s+\\1\"``" - -#: ../../howto/regex.rst:355 -msgid "Performing Matches" -msgstr "" - -#: ../../howto/regex.rst:357 -msgid "" -"Once you have an object representing a compiled regular expression, what do " -"you do with it? Pattern objects have several methods and attributes. Only " -"the most significant ones will be covered here; consult the :mod:`re` docs " -"for a complete listing." -msgstr "" - -#: ../../howto/regex.rst:363 ../../howto/regex.rst:417 -#: ../../howto/regex.rst:1068 -msgid "Method/Attribute" -msgstr "" - -#: ../../howto/regex.rst:363 ../../howto/regex.rst:417 -#: ../../howto/regex.rst:1068 -msgid "Purpose" -msgstr "" - -#: ../../howto/regex.rst:365 -msgid "``match()``" -msgstr "``match()``" - -#: ../../howto/regex.rst:365 -msgid "Determine if the RE matches at the beginning of the string." -msgstr "" - -#: ../../howto/regex.rst:368 -msgid "``search()``" -msgstr "``search()``" - -#: ../../howto/regex.rst:368 -msgid "Scan through a string, looking for any location where this RE matches." -msgstr "" - -#: ../../howto/regex.rst:371 -msgid "``findall()``" -msgstr "``findall()``" - -#: ../../howto/regex.rst:371 -msgid "Find all substrings where the RE matches, and returns them as a list." -msgstr "" - -#: ../../howto/regex.rst:374 -msgid "``finditer()``" -msgstr "``finditer()``" - -#: ../../howto/regex.rst:374 -msgid "" -"Find all substrings where the RE matches, and returns them as an " -":term:`iterator`." -msgstr "" - -#: ../../howto/regex.rst:378 -msgid "" -":meth:`~re.Pattern.match` and :meth:`~re.Pattern.search` return ``None`` if " -"no match can be found. If they're successful, a :ref:`match object ` instance is returned, containing information about the match: " -"where it starts and ends, the substring it matched, and more." -msgstr "" - -#: ../../howto/regex.rst:383 -msgid "" -"You can learn about this by interactively experimenting with the :mod:`re` " -"module." -msgstr "" - -#: ../../howto/regex.rst:386 -msgid "" -"This HOWTO uses the standard Python interpreter for its examples. First, run" -" the Python interpreter, import the :mod:`re` module, and compile a RE::" -msgstr "" - -#: ../../howto/regex.rst:389 -msgid "" -">>> import re\n" -">>> p = re.compile('[a-z]+')\n" -">>> p\n" -"re.compile('[a-z]+')" -msgstr "" - -#: ../../howto/regex.rst:394 -msgid "" -"Now, you can try matching various strings against the RE ``[a-z]+``. An " -"empty string shouldn't match at all, since ``+`` means 'one or more " -"repetitions'. :meth:`~re.Pattern.match` should return ``None`` in this case," -" which will cause the interpreter to print no output. You can explicitly " -"print the result of :meth:`!match` to make this clear. ::" -msgstr "" - -#: ../../howto/regex.rst:400 -msgid "" -">>> p.match(\"\")\n" -">>> print(p.match(\"\"))\n" -"None" -msgstr "" - -#: ../../howto/regex.rst:404 -msgid "" -"Now, let's try it on a string that it should match, such as ``tempo``. In " -"this case, :meth:`~re.Pattern.match` will return a :ref:`match object " -"`, so you should store the result in a variable for later " -"use. ::" -msgstr "" - -#: ../../howto/regex.rst:408 -msgid "" -">>> m = p.match('tempo')\n" -">>> m\n" -"" -msgstr "" - -#: ../../howto/regex.rst:412 -msgid "" -"Now you can query the :ref:`match object ` for information " -"about the matching string. Match object instances also have several methods" -" and attributes; the most important ones are:" -msgstr "" - -#: ../../howto/regex.rst:419 -msgid "``group()``" -msgstr "``group()``" - -#: ../../howto/regex.rst:419 -msgid "Return the string matched by the RE" -msgstr "" - -#: ../../howto/regex.rst:421 -msgid "``start()``" -msgstr "``start()``" - -#: ../../howto/regex.rst:421 -msgid "Return the starting position of the match" -msgstr "" - -#: ../../howto/regex.rst:423 -msgid "``end()``" -msgstr "``end()``" - -#: ../../howto/regex.rst:423 -msgid "Return the ending position of the match" -msgstr "" - -#: ../../howto/regex.rst:425 -msgid "``span()``" -msgstr "``span()``" - -#: ../../howto/regex.rst:425 -msgid "Return a tuple containing the (start, end) positions of the match" -msgstr "" - -#: ../../howto/regex.rst:429 -msgid "Trying these methods will soon clarify their meaning::" -msgstr "" - -#: ../../howto/regex.rst:431 -msgid "" -">>> m.group()\n" -"'tempo'\n" -">>> m.start(), m.end()\n" -"(0, 5)\n" -">>> m.span()\n" -"(0, 5)" -msgstr "" - -#: ../../howto/regex.rst:438 -msgid "" -":meth:`~re.Match.group` returns the substring that was matched by the RE. " -":meth:`~re.Match.start` and :meth:`~re.Match.end` return the starting and " -"ending index of the match. :meth:`~re.Match.span` returns both start and end" -" indexes in a single tuple. Since the :meth:`~re.Pattern.match` method only" -" checks if the RE matches at the start of a string, :meth:`!start` will " -"always be zero. However, the :meth:`~re.Pattern.search` method of patterns " -"scans through the string, so the match may not start at zero in that case. " -"::" -msgstr "" - -#: ../../howto/regex.rst:446 -msgid "" -">>> print(p.match('::: message'))\n" -"None\n" -">>> m = p.search('::: message'); print(m)\n" -"\n" -">>> m.group()\n" -"'message'\n" -">>> m.span()\n" -"(4, 11)" -msgstr "" - -#: ../../howto/regex.rst:455 -msgid "" -"In actual programs, the most common style is to store the :ref:`match object" -" ` in a variable, and then check if it was ``None``. This " -"usually looks like::" -msgstr "" - -#: ../../howto/regex.rst:459 -msgid "" -"p = re.compile( ... )\n" -"m = p.match( 'string goes here' )\n" -"if m:\n" -" print('Match found: ', m.group())\n" -"else:\n" -" print('No match')" -msgstr "" - -#: ../../howto/regex.rst:466 -msgid "" -"Two pattern methods return all of the matches for a pattern. " -":meth:`~re.Pattern.findall` returns a list of matching strings::" -msgstr "" - -#: ../../howto/regex.rst:469 -msgid "" -">>> p = re.compile(r'\\d+')\n" -">>> p.findall('12 drummers drumming, 11 pipers piping, 10 lords a-leaping')\n" -"['12', '11', '10']" -msgstr "" - -#: ../../howto/regex.rst:473 -msgid "" -"The ``r`` prefix, making the literal a raw string literal, is needed in this" -" example because escape sequences in a normal \"cooked\" string literal that" -" are not recognized by Python, as opposed to regular expressions, now result" -" in a :exc:`DeprecationWarning` and will eventually become a " -":exc:`SyntaxError`. See :ref:`the-backslash-plague`." -msgstr "" - -#: ../../howto/regex.rst:479 -msgid "" -":meth:`~re.Pattern.findall` has to create the entire list before it can be " -"returned as the result. The :meth:`~re.Pattern.finditer` method returns a " -"sequence of :ref:`match object ` instances as an " -":term:`iterator`::" -msgstr "" - -#: ../../howto/regex.rst:483 -msgid "" -">>> iterator = p.finditer('12 drummers drumming, 11 ... 10 ...')\n" -">>> iterator\n" -"\n" -">>> for match in iterator:\n" -"... print(match.span())\n" -"...\n" -"(0, 2)\n" -"(22, 24)\n" -"(29, 31)" -msgstr "" - -#: ../../howto/regex.rst:495 -msgid "Module-Level Functions" -msgstr "" - -#: ../../howto/regex.rst:497 -msgid "" -"You don't have to create a pattern object and call its methods; the " -":mod:`re` module also provides top-level functions called :func:`~re.match`," -" :func:`~re.search`, :func:`~re.findall`, :func:`~re.sub`, and so forth. " -"These functions take the same arguments as the corresponding pattern method " -"with the RE string added as the first argument, and still return either " -"``None`` or a :ref:`match object ` instance. ::" -msgstr "" - -#: ../../howto/regex.rst:504 -msgid "" -">>> print(re.match(r'From\\s+', 'Fromage amk'))\n" -"None\n" -">>> re.match(r'From\\s+', 'From amk Thu May 14 19:12:10 1998')\n" -"" -msgstr "" - -#: ../../howto/regex.rst:509 -msgid "" -"Under the hood, these functions simply create a pattern object for you and " -"call the appropriate method on it. They also store the compiled object in a" -" cache, so future calls using the same RE won't need to parse the pattern " -"again and again." -msgstr "" - -#: ../../howto/regex.rst:514 -msgid "" -"Should you use these module-level functions, or should you get the pattern " -"and call its methods yourself? If you're accessing a regex within a loop, " -"pre-compiling it will save a few function calls. Outside of loops, there's " -"not much difference thanks to the internal cache." -msgstr "" - -#: ../../howto/regex.rst:522 -msgid "Compilation Flags" -msgstr "" - -#: ../../howto/regex.rst:526 -msgid "" -"Compilation flags let you modify some aspects of how regular expressions " -"work. Flags are available in the :mod:`re` module under two names, a long " -"name such as :const:`IGNORECASE` and a short, one-letter form such as " -":const:`I`. (If you're familiar with Perl's pattern modifiers, the one-" -"letter forms use the same letters; the short form of :const:`re.VERBOSE` is " -":const:`re.X`, for example.) Multiple flags can be specified by bitwise OR-" -"ing them; ``re.I | re.M`` sets both the :const:`I` and :const:`M` flags, for" -" example." -msgstr "" - -#: ../../howto/regex.rst:534 -msgid "" -"Here's a table of the available flags, followed by a more detailed " -"explanation of each one." -msgstr "" - -#: ../../howto/regex.rst:538 -msgid "Flag" -msgstr "Penanda" - -#: ../../howto/regex.rst:538 -msgid "Meaning" -msgstr "Artinya" - -#: ../../howto/regex.rst:540 -msgid ":const:`ASCII`, :const:`A`" -msgstr ":const:`ASCII`, :const:`A`" - -#: ../../howto/regex.rst:540 -msgid "" -"Makes several escapes like ``\\w``, ``\\b``, ``\\s`` and ``\\d`` match only " -"on ASCII characters with the respective property." -msgstr "" - -#: ../../howto/regex.rst:544 -msgid ":const:`DOTALL`, :const:`S`" -msgstr ":const:`DOTALL`, :const:`S`" - -#: ../../howto/regex.rst:544 -msgid "Make ``.`` match any character, including newlines." -msgstr "" - -#: ../../howto/regex.rst:547 -msgid ":const:`IGNORECASE`, :const:`I`" -msgstr ":const:`IGNORECASE`, :const:`I`" - -#: ../../howto/regex.rst:547 -msgid "Do case-insensitive matches." -msgstr "" - -#: ../../howto/regex.rst:549 -msgid ":const:`LOCALE`, :const:`L`" -msgstr ":const:`LOCALE`, :const:`L`" - -#: ../../howto/regex.rst:549 -msgid "Do a locale-aware match." -msgstr "" - -#: ../../howto/regex.rst:551 -msgid ":const:`MULTILINE`, :const:`M`" -msgstr ":const:`MULTILINE`, :const:`M`" - -#: ../../howto/regex.rst:551 -msgid "Multi-line matching, affecting ``^`` and ``$``." -msgstr "" - -#: ../../howto/regex.rst:554 -msgid ":const:`VERBOSE`, :const:`X` (for 'extended')" -msgstr "" - -#: ../../howto/regex.rst:554 -msgid "" -"Enable verbose REs, which can be organized more cleanly and understandably." -msgstr "" - -#: ../../howto/regex.rst:563 -msgid "" -"Perform case-insensitive matching; character class and literal strings will " -"match letters by ignoring case. For example, ``[A-Z]`` will match lowercase" -" letters, too. Full Unicode matching also works unless the :const:`ASCII` " -"flag is used to disable non-ASCII matches. When the Unicode patterns " -"``[a-z]`` or ``[A-Z]`` are used in combination with the :const:`IGNORECASE` " -"flag, they will match the 52 ASCII letters and 4 additional non-ASCII " -"letters: 'İ' (U+0130, Latin capital letter I with dot above), 'ı' (U+0131, " -"Latin small letter dotless i), 'ſ' (U+017F, Latin small letter long s) and " -"'K' (U+212A, Kelvin sign). ``Spam`` will match ``'Spam'``, ``'spam'``, " -"``'spAM'``, or ``'ſpam'`` (the latter is matched only in Unicode mode). This" -" lowercasing doesn't take the current locale into account; it will if you " -"also set the :const:`LOCALE` flag." -msgstr "" - -#: ../../howto/regex.rst:581 -msgid "" -"Make ``\\w``, ``\\W``, ``\\b``, ``\\B`` and case-insensitive matching " -"dependent on the current locale instead of the Unicode database." -msgstr "" - -#: ../../howto/regex.rst:584 -msgid "" -"Locales are a feature of the C library intended to help in writing programs " -"that take account of language differences. For example, if you're " -"processing encoded French text, you'd want to be able to write ``\\w+`` to " -"match words, but ``\\w`` only matches the character class ``[A-Za-z]`` in " -"bytes patterns; it won't match bytes corresponding to ``é`` or ``ç``. If " -"your system is configured properly and a French locale is selected, certain " -"C functions will tell the program that the byte corresponding to ``é`` " -"should also be considered a letter. Setting the :const:`LOCALE` flag when " -"compiling a regular expression will cause the resulting compiled object to " -"use these C functions for ``\\w``; this is slower, but also enables ``\\w+``" -" to match French words as you'd expect. The use of this flag is discouraged " -"in Python 3 as the locale mechanism is very unreliable, it only handles one " -"\"culture\" at a time, and it only works with 8-bit locales. Unicode " -"matching is already enabled by default in Python 3 for Unicode (str) " -"patterns, and it is able to handle different locales/languages." -msgstr "" - -#: ../../howto/regex.rst:606 -msgid "" -"(``^`` and ``$`` haven't been explained yet; they'll be introduced in " -"section :ref:`more-metacharacters`.)" -msgstr "" - -#: ../../howto/regex.rst:609 -msgid "" -"Usually ``^`` matches only at the beginning of the string, and ``$`` matches" -" only at the end of the string and immediately before the newline (if any) " -"at the end of the string. When this flag is specified, ``^`` matches at the " -"beginning of the string and at the beginning of each line within the string," -" immediately following each newline. Similarly, the ``$`` metacharacter " -"matches either at the end of the string and at the end of each line " -"(immediately preceding each newline)." -msgstr "" - -#: ../../howto/regex.rst:622 -msgid "" -"Makes the ``'.'`` special character match any character at all, including a " -"newline; without this flag, ``'.'`` will match anything *except* a newline." -msgstr "" - -#: ../../howto/regex.rst:630 -msgid "" -"Make ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\s`` and ``\\S`` perform ASCII-" -"only matching instead of full Unicode matching. This is only meaningful for " -"Unicode patterns, and is ignored for byte patterns." -msgstr "" - -#: ../../howto/regex.rst:639 -msgid "" -"This flag allows you to write regular expressions that are more readable by " -"granting you more flexibility in how you can format them. When this flag " -"has been specified, whitespace within the RE string is ignored, except when " -"the whitespace is in a character class or preceded by an unescaped " -"backslash; this lets you organize and indent the RE more clearly. This flag" -" also lets you put comments within a RE that will be ignored by the engine; " -"comments are marked by a ``'#'`` that's neither in a character class or " -"preceded by an unescaped backslash." -msgstr "" - -#: ../../howto/regex.rst:648 -msgid "" -"For example, here's a RE that uses :const:`re.VERBOSE`; see how much easier " -"it is to read? ::" -msgstr "" - -#: ../../howto/regex.rst:651 -msgid "" -"charref = re.compile(r\"\"\"\n" -" &[#] # Start of a numeric entity reference\n" -" (\n" -" 0[0-7]+ # Octal form\n" -" | [0-9]+ # Decimal form\n" -" | x[0-9a-fA-F]+ # Hexadecimal form\n" -" )\n" -" ; # Trailing semicolon\n" -"\"\"\", re.VERBOSE)" -msgstr "" - -#: ../../howto/regex.rst:661 -msgid "Without the verbose setting, the RE would look like this::" -msgstr "" - -#: ../../howto/regex.rst:663 -msgid "" -"charref = re.compile(\"&#(0[0-7]+\"\n" -" \"|[0-9]+\"\n" -" \"|x[0-9a-fA-F]+);\")" -msgstr "" - -#: ../../howto/regex.rst:667 -msgid "" -"In the above example, Python's automatic concatenation of string literals " -"has been used to break up the RE into smaller pieces, but it's still more " -"difficult to understand than the version using :const:`re.VERBOSE`." -msgstr "" - -#: ../../howto/regex.rst:673 -msgid "More Pattern Power" -msgstr "" - -#: ../../howto/regex.rst:675 -msgid "" -"So far we've only covered a part of the features of regular expressions. In" -" this section, we'll cover some new metacharacters, and how to use groups to" -" retrieve portions of the text that was matched." -msgstr "" - -#: ../../howto/regex.rst:683 -msgid "More Metacharacters" -msgstr "" - -#: ../../howto/regex.rst:685 -msgid "" -"There are some metacharacters that we haven't covered yet. Most of them " -"will be covered in this section." -msgstr "" - -#: ../../howto/regex.rst:688 -msgid "" -"Some of the remaining metacharacters to be discussed are :dfn:`zero-width " -"assertions`. They don't cause the engine to advance through the string; " -"instead, they consume no characters at all, and simply succeed or fail. For" -" example, ``\\b`` is an assertion that the current position is located at a " -"word boundary; the position isn't changed by the ``\\b`` at all. This means" -" that zero-width assertions should never be repeated, because if they match " -"once at a given location, they can obviously be matched an infinite number " -"of times." -msgstr "" - -#: ../../howto/regex.rst:696 -msgid "``|``" -msgstr "``|``" - -#: ../../howto/regex.rst:697 -msgid "" -"Alternation, or the \"or\" operator. If *A* and *B* are regular " -"expressions, ``A|B`` will match any string that matches either *A* or *B*. " -"``|`` has very low precedence in order to make it work reasonably when " -"you're alternating multi-character strings. ``Crow|Servo`` will match either" -" ``'Crow'`` or ``'Servo'``, not ``'Cro'``, a ``'w'`` or an ``'S'``, and " -"``'ervo'``." -msgstr "" - -#: ../../howto/regex.rst:703 -msgid "" -"To match a literal ``'|'``, use ``\\|``, or enclose it inside a character " -"class, as in ``[|]``." -msgstr "" - -#: ../../howto/regex.rst:706 -msgid "``^``" -msgstr "``^``" - -#: ../../howto/regex.rst:707 -msgid "" -"Matches at the beginning of lines. Unless the :const:`MULTILINE` flag has " -"been set, this will only match at the beginning of the string. In " -":const:`MULTILINE` mode, this also matches immediately after each newline " -"within the string." -msgstr "" - -#: ../../howto/regex.rst:711 -msgid "" -"For example, if you wish to match the word ``From`` only at the beginning of" -" a line, the RE to use is ``^From``. ::" -msgstr "" - -#: ../../howto/regex.rst:714 -msgid "" -">>> print(re.search('^From', 'From Here to Eternity'))\n" -"\n" -">>> print(re.search('^From', 'Reciting From Memory'))\n" -"None" -msgstr "" - -#: ../../howto/regex.rst:719 -msgid "To match a literal ``'^'``, use ``\\^``." -msgstr "" - -#: ../../howto/regex.rst:721 -msgid "``$``" -msgstr "``$``" - -#: ../../howto/regex.rst:722 -msgid "" -"Matches at the end of a line, which is defined as either the end of the " -"string, or any location followed by a newline character. ::" -msgstr "" - -#: ../../howto/regex.rst:725 -msgid "" -">>> print(re.search('}$', '{block}'))\n" -"\n" -">>> print(re.search('}$', '{block} '))\n" -"None\n" -">>> print(re.search('}$', '{block}\\n'))\n" -"" -msgstr "" - -#: ../../howto/regex.rst:732 -msgid "" -"To match a literal ``'$'``, use ``\\$`` or enclose it inside a character " -"class, as in ``[$]``." -msgstr "" - -#: ../../howto/regex.rst:735 -msgid "``\\A``" -msgstr "``\\A``" - -#: ../../howto/regex.rst:736 -msgid "" -"Matches only at the start of the string. When not in :const:`MULTILINE` " -"mode, ``\\A`` and ``^`` are effectively the same. In :const:`MULTILINE` " -"mode, they're different: ``\\A`` still matches only at the beginning of the " -"string, but ``^`` may match at any location inside the string that follows a" -" newline character." -msgstr "" - -#: ../../howto/regex.rst:741 -msgid "``\\z``" -msgstr "" - -#: ../../howto/regex.rst:742 -msgid "Matches only at the end of the string." -msgstr "" - -#: ../../howto/regex.rst:744 -msgid "``\\Z``" -msgstr "``\\Z``" - -#: ../../howto/regex.rst:745 -msgid "The same as ``\\z``. For compatibility with old Python versions." -msgstr "" - -#: ../../howto/regex.rst:747 -msgid "``\\b``" -msgstr "``\\b``" - -#: ../../howto/regex.rst:748 -msgid "" -"Word boundary. This is a zero-width assertion that matches only at the " -"beginning or end of a word. A word is defined as a sequence of alphanumeric" -" characters, so the end of a word is indicated by whitespace or a non-" -"alphanumeric character." -msgstr "" - -#: ../../howto/regex.rst:753 -msgid "" -"The following example matches ``class`` only when it's a complete word; it " -"won't match when it's contained inside another word. ::" -msgstr "" - -#: ../../howto/regex.rst:756 -msgid "" -">>> p = re.compile(r'\\bclass\\b')\n" -">>> print(p.search('no class at all'))\n" -"\n" -">>> print(p.search('the declassified algorithm'))\n" -"None\n" -">>> print(p.search('one subclass is'))\n" -"None" -msgstr "" - -#: ../../howto/regex.rst:764 -msgid "" -"There are two subtleties you should remember when using this special " -"sequence. First, this is the worst collision between Python's string " -"literals and regular expression sequences. In Python's string literals, " -"``\\b`` is the backspace character, ASCII value 8. If you're not using raw " -"strings, then Python will convert the ``\\b`` to a backspace, and your RE " -"won't match as you expect it to. The following example looks the same as our" -" previous RE, but omits the ``'r'`` in front of the RE string. ::" -msgstr "" - -#: ../../howto/regex.rst:772 -msgid "" -">>> p = re.compile('\\bclass\\b')\n" -">>> print(p.search('no class at all'))\n" -"None\n" -">>> print(p.search('\\b' + 'class' + '\\b'))\n" -"" -msgstr "" - -#: ../../howto/regex.rst:778 -msgid "" -"Second, inside a character class, where there's no use for this assertion, " -"``\\b`` represents the backspace character, for compatibility with Python's " -"string literals." -msgstr "" - -#: ../../howto/regex.rst:782 -msgid "``\\B``" -msgstr "``\\B``" - -#: ../../howto/regex.rst:783 -msgid "" -"Another zero-width assertion, this is the opposite of ``\\b``, only matching" -" when the current position is not at a word boundary." -msgstr "" - -#: ../../howto/regex.rst:788 -msgid "Grouping" -msgstr "" - -#: ../../howto/regex.rst:790 -msgid "" -"Frequently you need to obtain more information than just whether the RE " -"matched or not. Regular expressions are often used to dissect strings by " -"writing a RE divided into several subgroups which match different components" -" of interest. For example, an RFC-822 header line is divided into a header " -"name and a value, separated by a ``':'``, like this:" -msgstr "" - -#: ../../howto/regex.rst:796 -msgid "" -"From: author@example.com\n" -"User-Agent: Thunderbird 1.5.0.9 (X11/20061227)\n" -"MIME-Version: 1.0\n" -"To: editor@example.com" -msgstr "" - -#: ../../howto/regex.rst:803 -msgid "" -"This can be handled by writing a regular expression which matches an entire " -"header line, and has one group which matches the header name, and another " -"group which matches the header's value." -msgstr "" - -#: ../../howto/regex.rst:807 -msgid "" -"Groups are marked by the ``'('``, ``')'`` metacharacters. ``'('`` and " -"``')'`` have much the same meaning as they do in mathematical expressions; " -"they group together the expressions contained inside them, and you can " -"repeat the contents of a group with a quantifier, such as ``*``, ``+``, " -"``?``, or ``{m,n}``. For example, ``(ab)*`` will match zero or more " -"repetitions of ``ab``. ::" -msgstr "" - -#: ../../howto/regex.rst:814 -msgid "" -">>> p = re.compile('(ab)*')\n" -">>> print(p.match('ababababab').span())\n" -"(0, 10)" -msgstr "" - -#: ../../howto/regex.rst:818 -msgid "" -"Groups indicated with ``'('``, ``')'`` also capture the starting and ending " -"index of the text that they match; this can be retrieved by passing an " -"argument to :meth:`~re.Match.group`, :meth:`~re.Match.start`, " -":meth:`~re.Match.end`, and :meth:`~re.Match.span`. Groups are numbered " -"starting with 0. Group 0 is always present; it's the whole RE, so " -":ref:`match object ` methods all have group 0 as their " -"default argument. Later we'll see how to express groups that don't capture " -"the span of text that they match. ::" -msgstr "" - -#: ../../howto/regex.rst:827 -msgid "" -">>> p = re.compile('(a)b')\n" -">>> m = p.match('ab')\n" -">>> m.group()\n" -"'ab'\n" -">>> m.group(0)\n" -"'ab'" -msgstr "" - -#: ../../howto/regex.rst:834 -msgid "" -"Subgroups are numbered from left to right, from 1 upward. Groups can be " -"nested; to determine the number, just count the opening parenthesis " -"characters, going from left to right. ::" -msgstr "" - -#: ../../howto/regex.rst:838 -msgid "" -">>> p = re.compile('(a(b)c)d')\n" -">>> m = p.match('abcd')\n" -">>> m.group(0)\n" -"'abcd'\n" -">>> m.group(1)\n" -"'abc'\n" -">>> m.group(2)\n" -"'b'" -msgstr "" - -#: ../../howto/regex.rst:847 -msgid "" -":meth:`~re.Match.group` can be passed multiple group numbers at a time, in " -"which case it will return a tuple containing the corresponding values for " -"those groups. ::" -msgstr "" - -#: ../../howto/regex.rst:850 -msgid "" -">>> m.group(2,1,2)\n" -"('b', 'abc', 'b')" -msgstr "" - -#: ../../howto/regex.rst:853 -msgid "" -"The :meth:`~re.Match.groups` method returns a tuple containing the strings " -"for all the subgroups, from 1 up to however many there are. ::" -msgstr "" - -#: ../../howto/regex.rst:856 -msgid "" -">>> m.groups()\n" -"('abc', 'b')" -msgstr "" - -#: ../../howto/regex.rst:859 -msgid "" -"Backreferences in a pattern allow you to specify that the contents of an " -"earlier capturing group must also be found at the current location in the " -"string. For example, ``\\1`` will succeed if the exact contents of group 1 " -"can be found at the current position, and fails otherwise. Remember that " -"Python's string literals also use a backslash followed by numbers to allow " -"including arbitrary characters in a string, so be sure to use a raw string " -"when incorporating backreferences in a RE." -msgstr "" - -#: ../../howto/regex.rst:867 -msgid "For example, the following RE detects doubled words in a string. ::" -msgstr "" - -#: ../../howto/regex.rst:869 -msgid "" -">>> p = re.compile(r'\\b(\\w+)\\s+\\1\\b')\n" -">>> p.search('Paris in the the spring').group()\n" -"'the the'" -msgstr "" - -#: ../../howto/regex.rst:873 -msgid "" -"Backreferences like this aren't often useful for just searching through a " -"string --- there are few text formats which repeat data in this way --- but " -"you'll soon find out that they're *very* useful when performing string " -"substitutions." -msgstr "" - -#: ../../howto/regex.rst:879 -msgid "Non-capturing and Named Groups" -msgstr "" - -#: ../../howto/regex.rst:881 -msgid "" -"Elaborate REs may use many groups, both to capture substrings of interest, " -"and to group and structure the RE itself. In complex REs, it becomes " -"difficult to keep track of the group numbers. There are two features which " -"help with this problem. Both of them use a common syntax for regular " -"expression extensions, so we'll look at that first." -msgstr "" - -#: ../../howto/regex.rst:887 -msgid "" -"Perl 5 is well known for its powerful additions to standard regular " -"expressions. For these new features the Perl developers couldn't choose new " -"single-keystroke metacharacters or new special sequences beginning with " -"``\\`` without making Perl's regular expressions confusingly different from " -"standard REs. If they chose ``&`` as a new metacharacter, for example, old " -"expressions would be assuming that ``&`` was a regular character and " -"wouldn't have escaped it by writing ``\\&`` or ``[&]``." -msgstr "" - -#: ../../howto/regex.rst:894 -msgid "" -"The solution chosen by the Perl developers was to use ``(?...)`` as the " -"extension syntax. ``?`` immediately after a parenthesis was a syntax error " -"because the ``?`` would have nothing to repeat, so this didn't introduce any" -" compatibility problems. The characters immediately after the ``?`` " -"indicate what extension is being used, so ``(?=foo)`` is one thing (a " -"positive lookahead assertion) and ``(?:foo)`` is something else (a non-" -"capturing group containing the subexpression ``foo``)." -msgstr "" - -#: ../../howto/regex.rst:902 -msgid "" -"Python supports several of Perl's extensions and adds an extension syntax to" -" Perl's extension syntax. If the first character after the question mark is" -" a ``P``, you know that it's an extension that's specific to Python." -msgstr "" - -#: ../../howto/regex.rst:907 -msgid "" -"Now that we've looked at the general extension syntax, we can return to the " -"features that simplify working with groups in complex REs." -msgstr "" - -#: ../../howto/regex.rst:910 -msgid "" -"Sometimes you'll want to use a group to denote a part of a regular " -"expression, but aren't interested in retrieving the group's contents. You " -"can make this fact explicit by using a non-capturing group: ``(?:...)``, " -"where you can replace the ``...`` with any other regular expression. ::" -msgstr "" - -#: ../../howto/regex.rst:915 -msgid "" -">>> m = re.match(\"([abc])+\", \"abc\")\n" -">>> m.groups()\n" -"('c',)\n" -">>> m = re.match(\"(?:[abc])+\", \"abc\")\n" -">>> m.groups()\n" -"()" -msgstr "" - -#: ../../howto/regex.rst:922 -msgid "" -"Except for the fact that you can't retrieve the contents of what the group " -"matched, a non-capturing group behaves exactly the same as a capturing " -"group; you can put anything inside it, repeat it with a repetition " -"metacharacter such as ``*``, and nest it within other groups (capturing or " -"non-capturing). ``(?:...)`` is particularly useful when modifying an " -"existing pattern, since you can add new groups without changing how all the " -"other groups are numbered. It should be mentioned that there's no " -"performance difference in searching between capturing and non-capturing " -"groups; neither form is any faster than the other." -msgstr "" - -#: ../../howto/regex.rst:931 -msgid "" -"A more significant feature is named groups: instead of referring to them by " -"numbers, groups can be referenced by a name." -msgstr "" - -#: ../../howto/regex.rst:934 -msgid "" -"The syntax for a named group is one of the Python-specific extensions: " -"``(?P...)``. *name* is, obviously, the name of the group. Named " -"groups behave exactly like capturing groups, and additionally associate a " -"name with a group. The :ref:`match object ` methods that " -"deal with capturing groups all accept either integers that refer to the " -"group by number or strings that contain the desired group's name. Named " -"groups are still given numbers, so you can retrieve information about a " -"group in two ways::" -msgstr "" - -#: ../../howto/regex.rst:942 -msgid "" -">>> p = re.compile(r'(?P\\b\\w+\\b)')\n" -">>> m = p.search( '(((( Lots of punctuation )))' )\n" -">>> m.group('word')\n" -"'Lots'\n" -">>> m.group(1)\n" -"'Lots'" -msgstr "" - -#: ../../howto/regex.rst:949 -msgid "" -"Additionally, you can retrieve named groups as a dictionary with " -":meth:`~re.Match.groupdict`::" -msgstr "" - -#: ../../howto/regex.rst:952 -msgid "" -">>> m = re.match(r'(?P\\w+) (?P\\w+)', 'Jane Doe')\n" -">>> m.groupdict()\n" -"{'first': 'Jane', 'last': 'Doe'}" -msgstr "" - -#: ../../howto/regex.rst:956 -msgid "" -"Named groups are handy because they let you use easily remembered names, " -"instead of having to remember numbers. Here's an example RE from the " -":mod:`imaplib` module::" -msgstr "" - -#: ../../howto/regex.rst:960 -msgid "" -"InternalDate = re.compile(r'INTERNALDATE \"'\n" -" r'(?P[ 123][0-9])-(?P[A-Z][a-z][a-z])-'\n" -" r'(?P[0-9][0-9][0-9][0-9])'\n" -" r' (?P[0-9][0-9]):(?P[0-9][0-9]):(?P[0-9][0-9])'\n" -" r' (?P[-+])(?P[0-9][0-9])(?P[0-9][0-9])'\n" -" r'\"')" -msgstr "" - -#: ../../howto/regex.rst:967 -msgid "" -"It's obviously much easier to retrieve ``m.group('zonem')``, instead of " -"having to remember to retrieve group 9." -msgstr "" - -#: ../../howto/regex.rst:970 -msgid "" -"The syntax for backreferences in an expression such as ``(...)\\1`` refers " -"to the number of the group. There's naturally a variant that uses the group" -" name instead of the number. This is another Python extension: ``(?P=name)``" -" indicates that the contents of the group called *name* should again be " -"matched at the current point. The regular expression for finding doubled " -"words, ``\\b(\\w+)\\s+\\1\\b`` can also be written as " -"``\\b(?P\\w+)\\s+(?P=word)\\b``::" -msgstr "" - -#: ../../howto/regex.rst:977 -msgid "" -">>> p = re.compile(r'\\b(?P\\w+)\\s+(?P=word)\\b')\n" -">>> p.search('Paris in the the spring').group()\n" -"'the the'" -msgstr "" - -#: ../../howto/regex.rst:983 -msgid "Lookahead Assertions" -msgstr "" - -#: ../../howto/regex.rst:985 -msgid "" -"Another zero-width assertion is the lookahead assertion. Lookahead " -"assertions are available in both positive and negative form, and look like " -"this:" -msgstr "" - -#: ../../howto/regex.rst:988 -msgid "``(?=...)``" -msgstr "``(?=...)``" - -#: ../../howto/regex.rst:989 -msgid "" -"Positive lookahead assertion. This succeeds if the contained regular " -"expression, represented here by ``...``, successfully matches at the current" -" location, and fails otherwise. But, once the contained expression has been " -"tried, the matching engine doesn't advance at all; the rest of the pattern " -"is tried right where the assertion started." -msgstr "" - -#: ../../howto/regex.rst:995 -msgid "``(?!...)``" -msgstr "``(?!...)``" - -#: ../../howto/regex.rst:996 -msgid "" -"Negative lookahead assertion. This is the opposite of the positive " -"assertion; it succeeds if the contained expression *doesn't* match at the " -"current position in the string." -msgstr "" - -#: ../../howto/regex.rst:1000 -msgid "" -"To make this concrete, let's look at a case where a lookahead is useful. " -"Consider a simple pattern to match a filename and split it apart into a base" -" name and an extension, separated by a ``.``. For example, in ``news.rc``, " -"``news`` is the base name, and ``rc`` is the filename's extension." -msgstr "" - -#: ../../howto/regex.rst:1005 -msgid "The pattern to match this is quite simple:" -msgstr "" - -#: ../../howto/regex.rst:1007 -msgid "``.*[.].*$``" -msgstr "``.*[.].*$``" - -#: ../../howto/regex.rst:1009 -msgid "" -"Notice that the ``.`` needs to be treated specially because it's a " -"metacharacter, so it's inside a character class to only match that specific " -"character. Also notice the trailing ``$``; this is added to ensure that all" -" the rest of the string must be included in the extension. This regular " -"expression matches ``foo.bar`` and ``autoexec.bat`` and ``sendmail.cf`` and " -"``printers.conf``." -msgstr "" - -#: ../../howto/regex.rst:1016 -msgid "" -"Now, consider complicating the problem a bit; what if you want to match " -"filenames where the extension is not ``bat``? Some incorrect attempts:" -msgstr "" - -#: ../../howto/regex.rst:1019 -msgid "" -"``.*[.][^b].*$`` The first attempt above tries to exclude ``bat`` by " -"requiring that the first character of the extension is not a ``b``. This is" -" wrong, because the pattern also doesn't match ``foo.bar``." -msgstr "" - -#: ../../howto/regex.rst:1023 -msgid "``.*[.]([^b]..|.[^a].|..[^t])$``" -msgstr "``.*[.]([^b]..|.[^a].|..[^t])$``" - -#: ../../howto/regex.rst:1025 -msgid "" -"The expression gets messier when you try to patch up the first solution by " -"requiring one of the following cases to match: the first character of the " -"extension isn't ``b``; the second character isn't ``a``; or the third " -"character isn't ``t``. This accepts ``foo.bar`` and rejects " -"``autoexec.bat``, but it requires a three-letter extension and won't accept " -"a filename with a two-letter extension such as ``sendmail.cf``. We'll " -"complicate the pattern again in an effort to fix it." -msgstr "" - -#: ../../howto/regex.rst:1033 -msgid "``.*[.]([^b].?.?|.[^a]?.?|..?[^t]?)$``" -msgstr "``.*[.]([^b].?.?|.[^a]?.?|..?[^t]?)$``" - -#: ../../howto/regex.rst:1035 -msgid "" -"In the third attempt, the second and third letters are all made optional in " -"order to allow matching extensions shorter than three characters, such as " -"``sendmail.cf``." -msgstr "" - -#: ../../howto/regex.rst:1039 -msgid "" -"The pattern's getting really complicated now, which makes it hard to read " -"and understand. Worse, if the problem changes and you want to exclude both " -"``bat`` and ``exe`` as extensions, the pattern would get even more " -"complicated and confusing." -msgstr "" - -#: ../../howto/regex.rst:1044 -msgid "A negative lookahead cuts through all this confusion:" -msgstr "" - -#: ../../howto/regex.rst:1046 -msgid "" -"``.*[.](?!bat$)[^.]*$`` The negative lookahead means: if the expression " -"``bat`` doesn't match at this point, try the rest of the pattern; if " -"``bat$`` does match, the whole pattern will fail. The trailing ``$`` is " -"required to ensure that something like ``sample.batch``, where the extension" -" only starts with ``bat``, will be allowed. The ``[^.]*`` makes sure that " -"the pattern works when there are multiple dots in the filename." -msgstr "" - -#: ../../howto/regex.rst:1053 -msgid "" -"Excluding another filename extension is now easy; simply add it as an " -"alternative inside the assertion. The following pattern excludes filenames " -"that end in either ``bat`` or ``exe``:" -msgstr "" - -#: ../../howto/regex.rst:1057 -msgid "``.*[.](?!bat$|exe$)[^.]*$``" -msgstr "``.*[.](?!bat$|exe$)[^.]*$``" - -#: ../../howto/regex.rst:1061 -msgid "Modifying Strings" -msgstr "" - -#: ../../howto/regex.rst:1063 -msgid "" -"Up to this point, we've simply performed searches against a static string. " -"Regular expressions are also commonly used to modify strings in various " -"ways, using the following pattern methods:" -msgstr "" - -#: ../../howto/regex.rst:1070 -msgid "``split()``" -msgstr "``split()``" - -#: ../../howto/regex.rst:1070 -msgid "Split the string into a list, splitting it wherever the RE matches" -msgstr "" - -#: ../../howto/regex.rst:1073 -msgid "``sub()``" -msgstr "``sub()``" - -#: ../../howto/regex.rst:1073 -msgid "" -"Find all substrings where the RE matches, and replace them with a different " -"string" -msgstr "" - -#: ../../howto/regex.rst:1076 -msgid "``subn()``" -msgstr "``subn()``" - -#: ../../howto/regex.rst:1076 -msgid "" -"Does the same thing as :meth:`!sub`, but returns the new string and the " -"number of replacements" -msgstr "" - -#: ../../howto/regex.rst:1083 -msgid "Splitting Strings" -msgstr "" - -#: ../../howto/regex.rst:1085 -msgid "" -"The :meth:`~re.Pattern.split` method of a pattern splits a string apart " -"wherever the RE matches, returning a list of the pieces. It's similar to the" -" :meth:`~str.split` method of strings but provides much more generality in " -"the delimiters that you can split by; string :meth:`!split` only supports " -"splitting by whitespace or by a fixed string. As you'd expect, there's a " -"module-level :func:`re.split` function, too." -msgstr "" - -#: ../../howto/regex.rst:1096 -msgid "" -"Split *string* by the matches of the regular expression. If capturing " -"parentheses are used in the RE, then their contents will also be returned as" -" part of the resulting list. If *maxsplit* is nonzero, at most *maxsplit* " -"splits are performed." -msgstr "" - -#: ../../howto/regex.rst:1101 -msgid "" -"You can limit the number of splits made, by passing a value for *maxsplit*. " -"When *maxsplit* is nonzero, at most *maxsplit* splits will be made, and the " -"remainder of the string is returned as the final element of the list. In " -"the following example, the delimiter is any sequence of non-alphanumeric " -"characters. ::" -msgstr "" - -#: ../../howto/regex.rst:1107 -msgid "" -">>> p = re.compile(r'\\W+')\n" -">>> p.split('This is a test, short and sweet, of split().')\n" -"['This', 'is', 'a', 'test', 'short', 'and', 'sweet', 'of', 'split', '']\n" -">>> p.split('This is a test, short and sweet, of split().', 3)\n" -"['This', 'is', 'a', 'test, short and sweet, of split().']" -msgstr "" - -#: ../../howto/regex.rst:1113 -msgid "" -"Sometimes you're not only interested in what the text between delimiters is," -" but also need to know what the delimiter was. If capturing parentheses are" -" used in the RE, then their values are also returned as part of the list. " -"Compare the following calls::" -msgstr "" - -#: ../../howto/regex.rst:1118 -msgid "" -">>> p = re.compile(r'\\W+')\n" -">>> p2 = re.compile(r'(\\W+)')\n" -">>> p.split('This... is a test.')\n" -"['This', 'is', 'a', 'test', '']\n" -">>> p2.split('This... is a test.')\n" -"['This', '... ', 'is', ' ', 'a', ' ', 'test', '.', '']" -msgstr "" - -#: ../../howto/regex.rst:1125 -msgid "" -"The module-level function :func:`re.split` adds the RE to be used as the " -"first argument, but is otherwise the same. ::" -msgstr "" - -#: ../../howto/regex.rst:1128 -msgid "" -">>> re.split(r'[\\W]+', 'Words, words, words.')\n" -"['Words', 'words', 'words', '']\n" -">>> re.split(r'([\\W]+)', 'Words, words, words.')\n" -"['Words', ', ', 'words', ', ', 'words', '.', '']\n" -">>> re.split(r'[\\W]+', 'Words, words, words.', 1)\n" -"['Words', 'words, words.']" -msgstr "" - -#: ../../howto/regex.rst:1137 -msgid "Search and Replace" -msgstr "" - -#: ../../howto/regex.rst:1139 -msgid "" -"Another common task is to find all the matches for a pattern, and replace " -"them with a different string. The :meth:`~re.Pattern.sub` method takes a " -"replacement value, which can be either a string or a function, and the " -"string to be processed." -msgstr "" - -#: ../../howto/regex.rst:1146 -msgid "" -"Returns the string obtained by replacing the leftmost non-overlapping " -"occurrences of the RE in *string* by the replacement *replacement*. If the " -"pattern isn't found, *string* is returned unchanged." -msgstr "" - -#: ../../howto/regex.rst:1150 -msgid "" -"The optional argument *count* is the maximum number of pattern occurrences " -"to be replaced; *count* must be a non-negative integer. The default value " -"of 0 means to replace all occurrences." -msgstr "" - -#: ../../howto/regex.rst:1154 -msgid "" -"Here's a simple example of using the :meth:`~re.Pattern.sub` method. It " -"replaces colour names with the word ``colour``::" -msgstr "" - -#: ../../howto/regex.rst:1157 -msgid "" -">>> p = re.compile('(blue|white|red)')\n" -">>> p.sub('colour', 'blue socks and red shoes')\n" -"'colour socks and colour shoes'\n" -">>> p.sub('colour', 'blue socks and red shoes', count=1)\n" -"'colour socks and red shoes'" -msgstr "" - -#: ../../howto/regex.rst:1163 -msgid "" -"The :meth:`~re.Pattern.subn` method does the same work, but returns a " -"2-tuple containing the new string value and the number of replacements that" -" were performed::" -msgstr "" - -#: ../../howto/regex.rst:1166 -msgid "" -">>> p = re.compile('(blue|white|red)')\n" -">>> p.subn('colour', 'blue socks and red shoes')\n" -"('colour socks and colour shoes', 2)\n" -">>> p.subn('colour', 'no colours at all')\n" -"('no colours at all', 0)" -msgstr "" - -#: ../../howto/regex.rst:1172 -msgid "" -"Empty matches are replaced only when they're not adjacent to a previous " -"empty match. ::" -msgstr "" - -#: ../../howto/regex.rst:1175 -msgid "" -">>> p = re.compile('x*')\n" -">>> p.sub('-', 'abxd')\n" -"'-a-b--d-'" -msgstr "" - -#: ../../howto/regex.rst:1179 -msgid "" -"If *replacement* is a string, any backslash escapes in it are processed. " -"That is, ``\\n`` is converted to a single newline character, ``\\r`` is " -"converted to a carriage return, and so forth. Unknown escapes such as " -"``\\&`` are left alone. Backreferences, such as ``\\6``, are replaced with " -"the substring matched by the corresponding group in the RE. This lets you " -"incorporate portions of the original text in the resulting replacement " -"string." -msgstr "" - -#: ../../howto/regex.rst:1186 -msgid "" -"This example matches the word ``section`` followed by a string enclosed in " -"``{``, ``}``, and changes ``section`` to ``subsection``::" -msgstr "" - -#: ../../howto/regex.rst:1189 -msgid "" -">>> p = re.compile('section{ ( [^}]* ) }', re.VERBOSE)\n" -">>> p.sub(r'subsection{\\1}','section{First} section{second}')\n" -"'subsection{First} subsection{second}'" -msgstr "" - -#: ../../howto/regex.rst:1193 -msgid "" -"There's also a syntax for referring to named groups as defined by the " -"``(?P...)`` syntax. ``\\g`` will use the substring matched by " -"the group named ``name``, and ``\\g`` uses the corresponding group" -" number. ``\\g<2>`` is therefore equivalent to ``\\2``, but isn't ambiguous" -" in a replacement string such as ``\\g<2>0``. (``\\20`` would be " -"interpreted as a reference to group 20, not a reference to group 2 followed " -"by the literal character ``'0'``.) The following substitutions are all " -"equivalent, but use all three variations of the replacement string. ::" -msgstr "" - -#: ../../howto/regex.rst:1202 -msgid "" -">>> p = re.compile('section{ (?P [^}]* ) }', re.VERBOSE)\n" -">>> p.sub(r'subsection{\\1}','section{First}')\n" -"'subsection{First}'\n" -">>> p.sub(r'subsection{\\g<1>}','section{First}')\n" -"'subsection{First}'\n" -">>> p.sub(r'subsection{\\g}','section{First}')\n" -"'subsection{First}'" -msgstr "" - -#: ../../howto/regex.rst:1210 -msgid "" -"*replacement* can also be a function, which gives you even more control. If" -" *replacement* is a function, the function is called for every non-" -"overlapping occurrence of *pattern*. On each call, the function is passed a" -" :ref:`match object ` argument for the match and can use this" -" information to compute the desired replacement string and return it." -msgstr "" - -#: ../../howto/regex.rst:1216 -msgid "" -"In the following example, the replacement function translates decimals into " -"hexadecimal::" -msgstr "" - -#: ../../howto/regex.rst:1219 -msgid "" -">>> def hexrepl(match):\n" -"... \"Return the hex string for a decimal number\"\n" -"... value = int(match.group())\n" -"... return hex(value)\n" -"...\n" -">>> p = re.compile(r'\\d+')\n" -">>> p.sub(hexrepl, 'Call 65490 for printing, 49152 for user code.')\n" -"'Call 0xffd2 for printing, 0xc000 for user code.'" -msgstr "" - -#: ../../howto/regex.rst:1228 -msgid "" -"When using the module-level :func:`re.sub` function, the pattern is passed " -"as the first argument. The pattern may be provided as an object or as a " -"string; if you need to specify regular expression flags, you must either use" -" a pattern object as the first parameter, or use embedded modifiers in the " -"pattern string, e.g. ``sub(\"(?i)b+\", \"x\", \"bbbb BBBB\")`` returns ``'x " -"x'``." -msgstr "" - -#: ../../howto/regex.rst:1236 -msgid "Common Problems" -msgstr "" - -#: ../../howto/regex.rst:1238 -msgid "" -"Regular expressions are a powerful tool for some applications, but in some " -"ways their behaviour isn't intuitive and at times they don't behave the way " -"you may expect them to. This section will point out some of the most common" -" pitfalls." -msgstr "" - -#: ../../howto/regex.rst:1244 -msgid "Use String Methods" -msgstr "" - -#: ../../howto/regex.rst:1246 -msgid "" -"Sometimes using the :mod:`re` module is a mistake. If you're matching a " -"fixed string, or a single character class, and you're not using any " -":mod:`re` features such as the :const:`~re.IGNORECASE` flag, then the full " -"power of regular expressions may not be required. Strings have several " -"methods for performing operations with fixed strings and they're usually " -"much faster, because the implementation is a single small C loop that's been" -" optimized for the purpose, instead of the large, more generalized regular " -"expression engine." -msgstr "" - -#: ../../howto/regex.rst:1254 -msgid "" -"One example might be replacing a single fixed string with another one; for " -"example, you might replace ``word`` with ``deed``. :func:`re.sub` seems " -"like the function to use for this, but consider the :meth:`~str.replace` " -"method. Note that :meth:`!replace` will also replace ``word`` inside words," -" turning ``swordfish`` into ``sdeedfish``, but the naive RE ``word`` would " -"have done that, too. (To avoid performing the substitution on parts of " -"words, the pattern would have to be ``\\bword\\b``, in order to require that" -" ``word`` have a word boundary on either side. This takes the job beyond " -":meth:`!replace`'s abilities.)" -msgstr "" - -#: ../../howto/regex.rst:1263 -msgid "" -"Another common task is deleting every occurrence of a single character from " -"a string or replacing it with another single character. You might do this " -"with something like ``re.sub('\\n', ' ', S)``, but :meth:`~str.translate` is" -" capable of doing both tasks and will be faster than any regular expression " -"operation can be." -msgstr "" - -#: ../../howto/regex.rst:1269 -msgid "" -"In short, before turning to the :mod:`re` module, consider whether your " -"problem can be solved with a faster and simpler string method." -msgstr "" - -#: ../../howto/regex.rst:1274 -msgid "match() versus search()" -msgstr "" - -#: ../../howto/regex.rst:1276 -msgid "" -"The :func:`~re.match` function only checks if the RE matches at the " -"beginning of the string while :func:`~re.search` will scan forward through " -"the string for a match. It's important to keep this distinction in mind. " -"Remember, :func:`!match` will only report a successful match which will " -"start at 0; if the match wouldn't start at zero, :func:`!match` will *not* " -"report it. ::" -msgstr "" - -#: ../../howto/regex.rst:1282 -msgid "" -">>> print(re.match('super', 'superstition').span())\n" -"(0, 5)\n" -">>> print(re.match('super', 'insuperable'))\n" -"None" -msgstr "" - -#: ../../howto/regex.rst:1287 -msgid "" -"On the other hand, :func:`~re.search` will scan forward through the string, " -"reporting the first match it finds. ::" -msgstr "" - -#: ../../howto/regex.rst:1290 -msgid "" -">>> print(re.search('super', 'superstition').span())\n" -"(0, 5)\n" -">>> print(re.search('super', 'insuperable').span())\n" -"(2, 7)" -msgstr "" - -#: ../../howto/regex.rst:1295 -msgid "" -"Sometimes you'll be tempted to keep using :func:`re.match`, and just add " -"``.*`` to the front of your RE. Resist this temptation and use " -":func:`re.search` instead. The regular expression compiler does some " -"analysis of REs in order to speed up the process of looking for a match. " -"One such analysis figures out what the first character of a match must be; " -"for example, a pattern starting with ``Crow`` must match starting with a " -"``'C'``. The analysis lets the engine quickly scan through the string " -"looking for the starting character, only trying the full match if a ``'C'`` " -"is found." -msgstr "" - -#: ../../howto/regex.rst:1304 -msgid "" -"Adding ``.*`` defeats this optimization, requiring scanning to the end of " -"the string and then backtracking to find a match for the rest of the RE. " -"Use :func:`re.search` instead." -msgstr "" - -#: ../../howto/regex.rst:1310 -msgid "Greedy versus Non-Greedy" -msgstr "" - -#: ../../howto/regex.rst:1312 -msgid "" -"When repeating a regular expression, as in ``a*``, the resulting action is " -"to consume as much of the pattern as possible. This fact often bites you " -"when you're trying to match a pair of balanced delimiters, such as the angle" -" brackets surrounding an HTML tag. The naive pattern for matching a single " -"HTML tag doesn't work because of the greedy nature of ``.*``. ::" -msgstr "" - -#: ../../howto/regex.rst:1318 -msgid "" -">>> s = 'Title'\n" -">>> len(s)\n" -"32\n" -">>> print(re.match('<.*>', s).span())\n" -"(0, 32)\n" -">>> print(re.match('<.*>', s).group())\n" -"Title" -msgstr "" - -#: ../../howto/regex.rst:1326 -msgid "" -"The RE matches the ``'<'`` in ``''``, and the ``.*`` consumes the rest" -" of the string. There's still more left in the RE, though, and the ``>`` " -"can't match at the end of the string, so the regular expression engine has " -"to backtrack character by character until it finds a match for the ``>``. " -"The final match extends from the ``'<'`` in ``''`` to the ``'>'`` in " -"``''``, which isn't what you want." -msgstr "" - -#: ../../howto/regex.rst:1333 -msgid "" -"In this case, the solution is to use the non-greedy quantifiers ``*?``, " -"``+?``, ``??``, or ``{m,n}?``, which match as *little* text as possible. In" -" the above example, the ``'>'`` is tried immediately after the first ``'<'``" -" matches, and when it fails, the engine advances a character at a time, " -"retrying the ``'>'`` at every step. This produces just the right result::" -msgstr "" - -#: ../../howto/regex.rst:1339 -msgid "" -">>> print(re.match('<.*?>', s).group())\n" -"" -msgstr "" - -#: ../../howto/regex.rst:1342 -msgid "" -"(Note that parsing HTML or XML with regular expressions is painful. Quick-" -"and-dirty patterns will handle common cases, but HTML and XML have special " -"cases that will break the obvious regular expression; by the time you've " -"written a regular expression that handles all of the possible cases, the " -"patterns will be *very* complicated. Use an HTML or XML parser module for " -"such tasks.)" -msgstr "" - -#: ../../howto/regex.rst:1350 -msgid "Using re.VERBOSE" -msgstr "" - -#: ../../howto/regex.rst:1352 -msgid "" -"By now you've probably noticed that regular expressions are a very compact " -"notation, but they're not terribly readable. REs of moderate complexity can" -" become lengthy collections of backslashes, parentheses, and metacharacters," -" making them difficult to read and understand." -msgstr "" - -#: ../../howto/regex.rst:1357 -msgid "" -"For such REs, specifying the :const:`re.VERBOSE` flag when compiling the " -"regular expression can be helpful, because it allows you to format the " -"regular expression more clearly." -msgstr "" - -#: ../../howto/regex.rst:1361 -msgid "" -"The ``re.VERBOSE`` flag has several effects. Whitespace in the regular " -"expression that *isn't* inside a character class is ignored. This means " -"that an expression such as ``dog | cat`` is equivalent to the less readable " -"``dog|cat``, but ``[a b]`` will still match the characters ``'a'``, ``'b'``," -" or a space. In addition, you can also put comments inside a RE; comments " -"extend from a ``#`` character to the next newline. When used with triple-" -"quoted strings, this enables REs to be formatted more neatly::" -msgstr "" - -#: ../../howto/regex.rst:1369 -msgid "" -"pat = re.compile(r\"\"\"\n" -" \\s* # Skip leading whitespace\n" -" (?P
[^:]+) # Header name\n" -" \\s* : # Whitespace, and a colon\n" -" (?P.*?) # The header's value -- *? used to\n" -" # lose the following trailing whitespace\n" -" \\s*$ # Trailing whitespace to end-of-line\n" -"\"\"\", re.VERBOSE)" -msgstr "" - -#: ../../howto/regex.rst:1378 -msgid "This is far more readable than::" -msgstr "" - -#: ../../howto/regex.rst:1380 -msgid "pat = re.compile(r\"\\s*(?P
[^:]+)\\s*:(?P.*?)\\s*$\")" -msgstr "" - -#: ../../howto/regex.rst:1384 -msgid "Feedback" -msgstr "" - -#: ../../howto/regex.rst:1386 -msgid "" -"Regular expressions are a complicated topic. Did this document help you " -"understand them? Were there parts that were unclear, or Problems you " -"encountered that weren't covered here? If so, please send suggestions for " -"improvements to the author." -msgstr "" - -#: ../../howto/regex.rst:1391 -msgid "" -"The most complete book on regular expressions is almost certainly Jeffrey " -"Friedl's Mastering Regular Expressions, published by O'Reilly. " -"Unfortunately, it exclusively concentrates on Perl and Java's flavours of " -"regular expressions, and doesn't contain any Python material at all, so it " -"won't be useful as a reference for programming in Python. (The first " -"edition covered Python's now-removed :mod:`!regex` module, which won't help " -"you much.) Consider checking it out from your library." -msgstr "" diff --git a/python-newest.howto--remote_debugging/id.po b/python-newest.howto--remote_debugging/id.po deleted file mode 100644 index 726ea9f..0000000 --- a/python-newest.howto--remote_debugging/id.po +++ /dev/null @@ -1,851 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2025-05-08 06:04+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/remote_debugging.rst:4 -msgid "Remote debugging attachment protocol" -msgstr "" - -#: ../../howto/remote_debugging.rst:6 -msgid "" -"This section describes the low-level protocol that enables external tools to" -" inject and execute a Python script within a running CPython process." -msgstr "" - -#: ../../howto/remote_debugging.rst:9 -msgid "" -"This mechanism forms the basis of the :func:`sys.remote_exec` function, " -"which instructs a remote Python process to execute a ``.py`` file. However, " -"this section does not document the usage of that function. Instead, it " -"provides a detailed explanation of the underlying protocol, which takes as " -"input the ``pid`` of a target Python process and the path to a Python source" -" file to be executed. This information supports independent reimplementation" -" of the protocol, regardless of programming language." -msgstr "" - -#: ../../howto/remote_debugging.rst:19 -msgid "" -"The execution of the injected script depends on the interpreter reaching a " -"safe evaluation point. As a result, execution may be delayed depending on " -"the runtime state of the target process." -msgstr "" - -#: ../../howto/remote_debugging.rst:23 -msgid "" -"Once injected, the script is executed by the interpreter within the target " -"process the next time a safe evaluation point is reached. This approach " -"enables remote execution capabilities without modifying the behavior or " -"structure of the running Python application." -msgstr "" - -#: ../../howto/remote_debugging.rst:28 -msgid "" -"Subsequent sections provide a step-by-step description of the protocol, " -"including techniques for locating interpreter structures in memory, safely " -"accessing internal fields, and triggering code execution. Platform-specific " -"variations are noted where applicable, and example implementations are " -"included to clarify each operation." -msgstr "" - -#: ../../howto/remote_debugging.rst:35 -msgid "Locating the PyRuntime structure" -msgstr "" - -#: ../../howto/remote_debugging.rst:37 -msgid "" -"CPython places the ``PyRuntime`` structure in a dedicated binary section to " -"help external tools find it at runtime. The name and format of this section " -"vary by platform. For example, ``.PyRuntime`` is used on ELF systems, and " -"``__DATA,__PyRuntime`` is used on macOS. Tools can find the offset of this " -"structure by examining the binary on disk." -msgstr "" - -#: ../../howto/remote_debugging.rst:43 -msgid "" -"The ``PyRuntime`` structure contains CPython’s global interpreter state and " -"provides access to other internal data, including the list of interpreters, " -"thread states, and debugger support fields." -msgstr "" - -#: ../../howto/remote_debugging.rst:47 -msgid "" -"To work with a remote Python process, a debugger must first find the memory " -"address of the ``PyRuntime`` structure in the target process. This address " -"can’t be hardcoded or calculated from a symbol name, because it depends on " -"where the operating system loaded the binary." -msgstr "" - -#: ../../howto/remote_debugging.rst:52 -msgid "" -"The method for finding ``PyRuntime`` depends on the platform, but the steps " -"are the same in general:" -msgstr "" - -#: ../../howto/remote_debugging.rst:55 -msgid "" -"Find the base address where the Python binary or shared library was loaded " -"in the target process." -msgstr "" - -#: ../../howto/remote_debugging.rst:57 -msgid "" -"Use the on-disk binary to locate the offset of the ``.PyRuntime`` section." -msgstr "" - -#: ../../howto/remote_debugging.rst:58 -msgid "" -"Add the section offset to the base address to compute the address in memory." -msgstr "" - -#: ../../howto/remote_debugging.rst:60 -msgid "" -"The sections below explain how to do this on each supported platform and " -"include example code." -msgstr "" - -#: ../../howto/remote_debugging.rst:64 -msgid "Linux (ELF)" -msgstr "" - -#: ../../howto/remote_debugging.rst:65 -msgid "To find the ``PyRuntime`` structure on Linux:" -msgstr "" - -#: ../../howto/remote_debugging.rst:67 -msgid "" -"Read the process’s memory map (for example, ``/proc//maps``) to find " -"the address where the Python executable or ``libpython`` was loaded." -msgstr "" - -#: ../../howto/remote_debugging.rst:69 -msgid "" -"Parse the ELF section headers in the binary to get the offset of the " -"``.PyRuntime`` section." -msgstr "" - -#: ../../howto/remote_debugging.rst:71 -msgid "" -"Add that offset to the base address from step 1 to get the memory address of" -" ``PyRuntime``." -msgstr "" - -#: ../../howto/remote_debugging.rst:74 ../../howto/remote_debugging.rst:136 -#: ../../howto/remote_debugging.rst:206 ../../howto/remote_debugging.rst:475 -msgid "The following is an example implementation::" -msgstr "" - -#: ../../howto/remote_debugging.rst:76 -msgid "" -"def find_py_runtime_linux(pid: int) -> int:\n" -" # Step 1: Try to find the Python executable in memory\n" -" binary_path, base_address = find_mapped_binary(\n" -" pid, name_contains=\"python\"\n" -" )\n" -"\n" -" # Step 2: Fallback to shared library if executable is not found\n" -" if binary_path is None:\n" -" binary_path, base_address = find_mapped_binary(\n" -" pid, name_contains=\"libpython\"\n" -" )\n" -"\n" -" # Step 3: Parse ELF headers to get .PyRuntime section offset\n" -" section_offset = parse_elf_section_offset(\n" -" binary_path, \".PyRuntime\"\n" -" )\n" -"\n" -" # Step 4: Compute PyRuntime address in memory\n" -" return base_address + section_offset" -msgstr "" - -#: ../../howto/remote_debugging.rst:97 -msgid "" -"On Linux systems, there are two main approaches to read memory from another " -"process. The first is through the ``/proc`` filesystem, specifically by " -"reading from ``/proc/[pid]/mem`` which provides direct access to the " -"process's memory. This requires appropriate permissions - either being the " -"same user as the target process or having root access. The second approach " -"is using the ``process_vm_readv()`` system call which provides a more " -"efficient way to copy memory between processes. While ptrace's " -"``PTRACE_PEEKTEXT`` operation can also be used to read memory, it is " -"significantly slower as it only reads one word at a time and requires " -"multiple context switches between the tracer and tracee processes." -msgstr "" - -#: ../../howto/remote_debugging.rst:108 -msgid "" -"For parsing ELF sections, the process involves reading and interpreting the " -"ELF file format structures from the binary file on disk. The ELF header " -"contains a pointer to the section header table. Each section header contains" -" metadata about a section including its name (stored in a separate string " -"table), offset, and size. To find a specific section like .PyRuntime, you " -"need to walk through these headers and match the section name. The section " -"header then provides the offset where that section exists in the file, which" -" can be used to calculate its runtime address when the binary is loaded into" -" memory." -msgstr "" - -#: ../../howto/remote_debugging.rst:117 -msgid "" -"You can read more about the ELF file format in the `ELF specification " -"`_." -msgstr "" - -#: ../../howto/remote_debugging.rst:122 -msgid "macOS (Mach-O)" -msgstr "" - -#: ../../howto/remote_debugging.rst:123 -msgid "To find the ``PyRuntime`` structure on macOS:" -msgstr "" - -#: ../../howto/remote_debugging.rst:125 -msgid "" -"Call ``task_for_pid()`` to get the ``mach_port_t`` task port for the target " -"process. This handle is needed to read memory using APIs like " -"``mach_vm_read_overwrite`` and ``mach_vm_region``." -msgstr "" - -#: ../../howto/remote_debugging.rst:128 -msgid "" -"Scan the memory regions to find the one containing the Python executable or " -"``libpython``." -msgstr "" - -#: ../../howto/remote_debugging.rst:130 -msgid "" -"Load the binary file from disk and parse the Mach-O headers to find the " -"section named ``PyRuntime`` in the ``__DATA`` segment. On macOS, symbol " -"names are automatically prefixed with an underscore, so the ``PyRuntime`` " -"symbol appears as ``_PyRuntime`` in the symbol table, but the section name " -"is not affected." -msgstr "" - -#: ../../howto/remote_debugging.rst:138 -msgid "" -"def find_py_runtime_macos(pid: int) -> int:\n" -" # Step 1: Get access to the process's memory\n" -" handle = get_memory_access_handle(pid)\n" -"\n" -" # Step 2: Try to find the Python executable in memory\n" -" binary_path, base_address = find_mapped_binary(\n" -" handle, name_contains=\"python\"\n" -" )\n" -"\n" -" # Step 3: Fallback to libpython if the executable is not found\n" -" if binary_path is None:\n" -" binary_path, base_address = find_mapped_binary(\n" -" handle, name_contains=\"libpython\"\n" -" )\n" -"\n" -" # Step 4: Parse Mach-O headers to get __DATA,__PyRuntime section offset\n" -" section_offset = parse_macho_section_offset(\n" -" binary_path, \"__DATA\", \"__PyRuntime\"\n" -" )\n" -"\n" -" # Step 5: Compute the PyRuntime address in memory\n" -" return base_address + section_offset" -msgstr "" - -#: ../../howto/remote_debugging.rst:161 -msgid "" -"On macOS, accessing another process's memory requires using Mach-O specific " -"APIs and file formats. The first step is obtaining a ``task_port`` handle " -"via ``task_for_pid()``, which provides access to the target process's memory" -" space. This handle enables memory operations through APIs like " -"``mach_vm_read_overwrite()``." -msgstr "" - -#: ../../howto/remote_debugging.rst:167 -msgid "" -"The process memory can be examined using ``mach_vm_region()`` to scan " -"through the virtual memory space, while ``proc_regionfilename()`` helps " -"identify which binary files are loaded at each memory region. When the " -"Python binary or library is found, its Mach-O headers need to be parsed to " -"locate the ``PyRuntime`` structure." -msgstr "" - -#: ../../howto/remote_debugging.rst:172 -msgid "" -"The Mach-O format organizes code and data into segments and sections. The " -"``PyRuntime`` structure lives in a section named ``__PyRuntime`` within the " -"``__DATA`` segment. The actual runtime address calculation involves finding " -"the ``__TEXT`` segment which serves as the binary's base address, then " -"locating the ``__DATA`` segment containing our target section. The final " -"address is computed by combining the base address with the appropriate " -"section offsets from the Mach-O headers." -msgstr "" - -#: ../../howto/remote_debugging.rst:180 -msgid "" -"Note that accessing another process's memory on macOS typically requires " -"elevated privileges - either root access or special security entitlements " -"granted to the debugging process." -msgstr "" - -#: ../../howto/remote_debugging.rst:186 -msgid "Windows (PE)" -msgstr "" - -#: ../../howto/remote_debugging.rst:187 -msgid "To find the ``PyRuntime`` structure on Windows:" -msgstr "" - -#: ../../howto/remote_debugging.rst:189 -msgid "" -"Use the ToolHelp API to enumerate all modules loaded in the target process. " -"This is done using functions such as `CreateToolhelp32Snapshot " -"`_, `Module32First " -"`_, and `Module32Next " -"`_." -msgstr "" - -#: ../../howto/remote_debugging.rst:196 -msgid "" -"Identify the module corresponding to :file:`python.exe` or " -":file:`python{XY}.dll`, where ``X`` and ``Y`` are the major and minor " -"version numbers of the Python version, and record its base address." -msgstr "" - -#: ../../howto/remote_debugging.rst:199 -msgid "" -"Locate the ``PyRuntim`` section. Due to the PE format's 8-character limit on" -" section names (defined as ``IMAGE_SIZEOF_SHORT_NAME``), the original name " -"``PyRuntime`` is truncated. This section contains the ``PyRuntime`` " -"structure." -msgstr "" - -#: ../../howto/remote_debugging.rst:203 -msgid "" -"Retrieve the section’s relative virtual address (RVA) and add it to the base" -" address of the module." -msgstr "" - -#: ../../howto/remote_debugging.rst:208 -msgid "" -"def find_py_runtime_windows(pid: int) -> int:\n" -" # Step 1: Try to find the Python executable in memory\n" -" binary_path, base_address = find_loaded_module(\n" -" pid, name_contains=\"python\"\n" -" )\n" -"\n" -" # Step 2: Fallback to shared pythonXY.dll if the executable is not\n" -" # found\n" -" if binary_path is None:\n" -" binary_path, base_address = find_loaded_module(\n" -" pid, name_contains=\"python3\"\n" -" )\n" -"\n" -" # Step 3: Parse PE section headers to get the RVA of the PyRuntime\n" -" # section. The section name appears as \"PyRuntim\" due to the\n" -" # 8-character limit defined by the PE format (IMAGE_SIZEOF_SHORT_NAME).\n" -" section_rva = parse_pe_section_offset(binary_path, \"PyRuntim\")\n" -"\n" -" # Step 4: Compute PyRuntime address in memory\n" -" return base_address + section_rva" -msgstr "" - -#: ../../howto/remote_debugging.rst:230 -msgid "" -"On Windows, accessing another process's memory requires using the Windows " -"API functions like ``CreateToolhelp32Snapshot()`` and " -"``Module32First()/Module32Next()`` to enumerate loaded modules. The " -"``OpenProcess()`` function provides a handle to access the target process's " -"memory space, enabling memory operations through ``ReadProcessMemory()``." -msgstr "" - -#: ../../howto/remote_debugging.rst:236 -msgid "" -"The process memory can be examined by enumerating loaded modules to find the" -" Python binary or DLL. When found, its PE headers need to be parsed to " -"locate the ``PyRuntime`` structure." -msgstr "" - -#: ../../howto/remote_debugging.rst:240 -msgid "" -"The PE format organizes code and data into sections. The ``PyRuntime`` " -"structure lives in a section named \"PyRuntim\" (truncated from " -"\"PyRuntime\" due to PE's 8-character name limit). The actual runtime " -"address calculation involves finding the module's base address from the " -"module entry, then locating our target section in the PE headers. The final " -"address is computed by combining the base address with the section's virtual" -" address from the PE section headers." -msgstr "" - -#: ../../howto/remote_debugging.rst:247 -msgid "" -"Note that accessing another process's memory on Windows typically requires " -"appropriate privileges - either administrative access or the " -"``SeDebugPrivilege`` privilege granted to the debugging process." -msgstr "" - -#: ../../howto/remote_debugging.rst:253 -msgid "Reading _Py_DebugOffsets" -msgstr "" - -#: ../../howto/remote_debugging.rst:255 -msgid "" -"Once the address of the ``PyRuntime`` structure has been determined, the " -"next step is to read the ``_Py_DebugOffsets`` structure located at the " -"beginning of the ``PyRuntime`` block." -msgstr "" - -#: ../../howto/remote_debugging.rst:259 -msgid "" -"This structure provides version-specific field offsets that are needed to " -"safely read interpreter and thread state memory. These offsets vary between " -"CPython versions and must be checked before use to ensure they are " -"compatible." -msgstr "" - -#: ../../howto/remote_debugging.rst:263 -msgid "To read and check the debug offsets, follow these steps:" -msgstr "" - -#: ../../howto/remote_debugging.rst:265 -msgid "" -"Read memory from the target process starting at the ``PyRuntime`` address, " -"covering the same number of bytes as the ``_Py_DebugOffsets`` structure. " -"This structure is located at the very start of the ``PyRuntime`` memory " -"block. Its layout is defined in CPython’s internal headers and stays the " -"same within a given minor version, but may change in major versions." -msgstr "" - -#: ../../howto/remote_debugging.rst:271 -msgid "Check that the structure contains valid data:" -msgstr "" - -#: ../../howto/remote_debugging.rst:273 -msgid "The ``cookie`` field must match the expected debug marker." -msgstr "" - -#: ../../howto/remote_debugging.rst:274 -msgid "" -"The ``version`` field must match the version of the Python interpreter used " -"by the debugger." -msgstr "" - -#: ../../howto/remote_debugging.rst:276 -msgid "" -"If either the debugger or the target process is using a pre-release version " -"(for example, an alpha, beta, or release candidate), the versions must match" -" exactly." -msgstr "" - -#: ../../howto/remote_debugging.rst:279 -msgid "" -"The ``free_threaded`` field must have the same value in both the debugger " -"and the target process." -msgstr "" - -#: ../../howto/remote_debugging.rst:282 -msgid "" -"If the structure is valid, the offsets it contains can be used to locate " -"fields in memory. If any check fails, the debugger should stop the operation" -" to avoid reading memory in the wrong format." -msgstr "" - -#: ../../howto/remote_debugging.rst:286 -msgid "" -"The following is an example implementation that reads and checks " -"``_Py_DebugOffsets``::" -msgstr "" - -#: ../../howto/remote_debugging.rst:289 -msgid "" -"def read_debug_offsets(pid: int, py_runtime_addr: int) -> DebugOffsets:\n" -" # Step 1: Read memory from the target process at the PyRuntime address\n" -" data = read_process_memory(\n" -" pid, address=py_runtime_addr, size=DEBUG_OFFSETS_SIZE\n" -" )\n" -"\n" -" # Step 2: Deserialize the raw bytes into a _Py_DebugOffsets structure\n" -" debug_offsets = parse_debug_offsets(data)\n" -"\n" -" # Step 3: Validate the contents of the structure\n" -" if debug_offsets.cookie != EXPECTED_COOKIE:\n" -" raise RuntimeError(\"Invalid or missing debug cookie\")\n" -" if debug_offsets.version != LOCAL_PYTHON_VERSION:\n" -" raise RuntimeError(\n" -" \"Mismatch between caller and target Python versions\"\n" -" )\n" -" if debug_offsets.free_threaded != LOCAL_FREE_THREADED:\n" -" raise RuntimeError(\"Mismatch in free-threaded configuration\")\n" -"\n" -" return debug_offsets" -msgstr "" - -#: ../../howto/remote_debugging.rst:314 -msgid "**Process suspension recommended**" -msgstr "" - -#: ../../howto/remote_debugging.rst:316 -msgid "" -"To avoid race conditions and ensure memory consistency, it is strongly " -"recommended that the target process be suspended before performing any " -"operations that read or write internal interpreter state. The Python runtime" -" may concurrently mutate interpreter data structures—such as creating or " -"destroying threads—during normal execution. This can result in invalid " -"memory reads or writes." -msgstr "" - -#: ../../howto/remote_debugging.rst:323 -msgid "" -"A debugger may suspend execution by attaching to the process with ``ptrace``" -" or by sending a ``SIGSTOP`` signal. Execution should only be resumed after " -"debugger-side memory operations are complete." -msgstr "" - -#: ../../howto/remote_debugging.rst:329 -msgid "" -"Some tools, such as profilers or sampling-based debuggers, may operate on a " -"running process without suspension. In such cases, tools must be explicitly " -"designed to handle partially updated or inconsistent memory. For most " -"debugger implementations, suspending the process remains the safest and most" -" robust approach." -msgstr "" - -#: ../../howto/remote_debugging.rst:337 -msgid "Locating the interpreter and thread state" -msgstr "" - -#: ../../howto/remote_debugging.rst:339 -msgid "" -"Before code can be injected and executed in a remote Python process, the " -"debugger must choose a thread in which to schedule execution. This is " -"necessary because the control fields used to perform remote code injection " -"are located in the ``_PyRemoteDebuggerSupport`` structure, which is embedded" -" in a ``PyThreadState`` object. These fields are modified by the debugger to" -" request execution of injected scripts." -msgstr "" - -#: ../../howto/remote_debugging.rst:346 -msgid "" -"The ``PyThreadState`` structure represents a thread running inside a Python " -"interpreter. It maintains the thread’s evaluation context and contains the " -"fields required for debugger coordination. Locating a valid " -"``PyThreadState`` is therefore a key prerequisite for triggering execution " -"remotely." -msgstr "" - -#: ../../howto/remote_debugging.rst:351 -msgid "" -"A thread is typically selected based on its role or ID. In most cases, the " -"main thread is used, but some tools may target a specific thread by its " -"native thread ID. Once the target thread is chosen, the debugger must locate" -" both the interpreter and the associated thread state structures in memory." -msgstr "" - -#: ../../howto/remote_debugging.rst:356 -msgid "The relevant internal structures are defined as follows:" -msgstr "" - -#: ../../howto/remote_debugging.rst:358 -msgid "" -"``PyInterpreterState`` represents an isolated Python interpreter instance. " -"Each interpreter maintains its own set of imported modules, built-in state, " -"and thread state list. Although most Python applications use a single " -"interpreter, CPython supports multiple interpreters in the same process." -msgstr "" - -#: ../../howto/remote_debugging.rst:363 -msgid "" -"``PyThreadState`` represents a thread running within an interpreter. It " -"contains execution state and the control fields used by the debugger." -msgstr "" - -#: ../../howto/remote_debugging.rst:366 -msgid "To locate a thread:" -msgstr "" - -#: ../../howto/remote_debugging.rst:368 -msgid "" -"Use the offset ``runtime_state.interpreters_head`` to obtain the address of " -"the first interpreter in the ``PyRuntime`` structure. This is the entry " -"point to the linked list of active interpreters." -msgstr "" - -#: ../../howto/remote_debugging.rst:372 -msgid "" -"Use the offset ``interpreter_state.threads_main`` to access the main thread " -"state associated with the selected interpreter. This is typically the most " -"reliable thread to target." -msgstr "" - -#: ../../howto/remote_debugging.rst:376 -msgid "" -"3. Optionally, use the offset ``interpreter_state.threads_head`` to iterate " -"through the linked list of all thread states. Each ``PyThreadState`` " -"structure contains a ``native_thread_id`` field, which may be compared to a " -"target thread ID to find a specific thread." -msgstr "" - -#: ../../howto/remote_debugging.rst:381 -msgid "" -"1. Once a valid ``PyThreadState`` has been found, its address can be used in" -" later steps of the protocol, such as writing debugger control fields and " -"scheduling execution." -msgstr "" - -#: ../../howto/remote_debugging.rst:385 -msgid "" -"The following is an example implementation that locates the main thread " -"state::" -msgstr "" - -#: ../../howto/remote_debugging.rst:387 -msgid "" -"def find_main_thread_state(\n" -" pid: int, py_runtime_addr: int, debug_offsets: DebugOffsets,\n" -") -> int:\n" -" # Step 1: Read interpreters_head from PyRuntime\n" -" interp_head_ptr = (\n" -" py_runtime_addr + debug_offsets.runtime_state.interpreters_head\n" -" )\n" -" interp_addr = read_pointer(pid, interp_head_ptr)\n" -" if interp_addr == 0:\n" -" raise RuntimeError(\"No interpreter found in the target process\")\n" -"\n" -" # Step 2: Read the threads_main pointer from the interpreter\n" -" threads_main_ptr = (\n" -" interp_addr + debug_offsets.interpreter_state.threads_main\n" -" )\n" -" thread_state_addr = read_pointer(pid, threads_main_ptr)\n" -" if thread_state_addr == 0:\n" -" raise RuntimeError(\"Main thread state is not available\")\n" -"\n" -" return thread_state_addr" -msgstr "" - -#: ../../howto/remote_debugging.rst:408 -msgid "" -"The following example demonstrates how to locate a thread by its native " -"thread ID::" -msgstr "" - -#: ../../howto/remote_debugging.rst:411 -msgid "" -"def find_thread_by_id(\n" -" pid: int,\n" -" interp_addr: int,\n" -" debug_offsets: DebugOffsets,\n" -" target_tid: int,\n" -") -> int:\n" -" # Start at threads_head and walk the linked list\n" -" thread_ptr = read_pointer(\n" -" pid,\n" -" interp_addr + debug_offsets.interpreter_state.threads_head\n" -" )\n" -"\n" -" while thread_ptr:\n" -" native_tid_ptr = (\n" -" thread_ptr + debug_offsets.thread_state.native_thread_id\n" -" )\n" -" native_tid = read_int(pid, native_tid_ptr)\n" -" if native_tid == target_tid:\n" -" return thread_ptr\n" -" thread_ptr = read_pointer(\n" -" pid,\n" -" thread_ptr + debug_offsets.thread_state.next\n" -" )\n" -"\n" -" raise RuntimeError(\"Thread with the given ID was not found\")" -msgstr "" - -#: ../../howto/remote_debugging.rst:438 -msgid "" -"Once a valid thread state has been located, the debugger can proceed with " -"modifying its control fields and scheduling execution, as described in the " -"next section." -msgstr "" - -#: ../../howto/remote_debugging.rst:443 -msgid "Writing control information" -msgstr "" - -#: ../../howto/remote_debugging.rst:445 -msgid "" -"Once a valid ``PyThreadState`` structure has been identified, the debugger " -"may modify control fields within it to schedule the execution of a specified" -" Python script. These control fields are checked periodically by the " -"interpreter, and when set correctly, they trigger the execution of remote " -"code at a safe point in the evaluation loop." -msgstr "" - -#: ../../howto/remote_debugging.rst:451 -msgid "" -"Each ``PyThreadState`` contains a ``_PyRemoteDebuggerSupport`` structure " -"used for communication between the debugger and the interpreter. The " -"locations of its fields are defined by the ``_Py_DebugOffsets`` structure " -"and include the following:" -msgstr "" - -#: ../../howto/remote_debugging.rst:456 -msgid "" -"``debugger_script_path``: A fixed-size buffer that holds the full path to a" -msgstr "" - -#: ../../howto/remote_debugging.rst:457 -msgid "" -"Python source file (``.py``). This file must be accessible and readable by " -"the target process when execution is triggered." -msgstr "" - -#: ../../howto/remote_debugging.rst:460 -msgid "" -"``debugger_pending_call``: An integer flag. Setting this to ``1`` tells the" -msgstr "" - -#: ../../howto/remote_debugging.rst:461 -msgid "interpreter that a script is ready to be executed." -msgstr "" - -#: ../../howto/remote_debugging.rst:463 -msgid "``eval_breaker``: A field checked by the interpreter during execution." -msgstr "" - -#: ../../howto/remote_debugging.rst:464 -msgid "" -"Setting bit 5 (``_PY_EVAL_PLEASE_STOP_BIT``, value ``1U << 5``) in this " -"field causes the interpreter to pause and check for debugger activity." -msgstr "" - -#: ../../howto/remote_debugging.rst:467 -msgid "" -"To complete the injection, the debugger must perform the following steps:" -msgstr "" - -#: ../../howto/remote_debugging.rst:469 -msgid "Write the full script path into the ``debugger_script_path`` buffer." -msgstr "" - -#: ../../howto/remote_debugging.rst:470 -msgid "Set ``debugger_pending_call`` to ``1``." -msgstr "" - -#: ../../howto/remote_debugging.rst:471 -msgid "" -"Read the current value of ``eval_breaker``, set bit 5 " -"(``_PY_EVAL_PLEASE_STOP_BIT``), and write the updated value back. This " -"signals the interpreter to check for debugger activity." -msgstr "" - -#: ../../howto/remote_debugging.rst:477 -msgid "" -"def inject_script(\n" -" pid: int,\n" -" thread_state_addr: int,\n" -" debug_offsets: DebugOffsets,\n" -" script_path: str\n" -") -> None:\n" -" # Compute the base offset of _PyRemoteDebuggerSupport\n" -" support_base = (\n" -" thread_state_addr +\n" -" debug_offsets.debugger_support.remote_debugger_support\n" -" )\n" -"\n" -" # Step 1: Write the script path into debugger_script_path\n" -" script_path_ptr = (\n" -" support_base +\n" -" debug_offsets.debugger_support.debugger_script_path\n" -" )\n" -" write_string(pid, script_path_ptr, script_path)\n" -"\n" -" # Step 2: Set debugger_pending_call to 1\n" -" pending_ptr = (\n" -" support_base +\n" -" debug_offsets.debugger_support.debugger_pending_call\n" -" )\n" -" write_int(pid, pending_ptr, 1)\n" -"\n" -" # Step 3: Set _PY_EVAL_PLEASE_STOP_BIT (bit 5, value 1 << 5) in\n" -" # eval_breaker\n" -" eval_breaker_ptr = (\n" -" thread_state_addr +\n" -" debug_offsets.debugger_support.eval_breaker\n" -" )\n" -" breaker = read_int(pid, eval_breaker_ptr)\n" -" breaker |= (1 << 5)\n" -" write_int(pid, eval_breaker_ptr, breaker)" -msgstr "" - -#: ../../howto/remote_debugging.rst:514 -msgid "" -"Once these fields are set, the debugger may resume the process (if it was " -"suspended). The interpreter will process the request at the next safe " -"evaluation point, load the script from disk, and execute it." -msgstr "" - -#: ../../howto/remote_debugging.rst:518 -msgid "" -"It is the responsibility of the debugger to ensure that the script file " -"remains present and accessible to the target process during execution." -msgstr "" - -#: ../../howto/remote_debugging.rst:523 -msgid "" -"Script execution is asynchronous. The script file cannot be deleted " -"immediately after injection. The debugger should wait until the injected " -"script has produced an observable effect before removing the file. This " -"effect depends on what the script is designed to do. For example, a debugger" -" might wait until the remote process connects back to a socket before " -"removing the script. Once such an effect is observed, it is safe to assume " -"the file is no longer needed." -msgstr "" - -#: ../../howto/remote_debugging.rst:532 -msgid "Summary" -msgstr "" - -#: ../../howto/remote_debugging.rst:534 -msgid "To inject and execute a Python script in a remote process:" -msgstr "" - -#: ../../howto/remote_debugging.rst:536 -msgid "Locate the ``PyRuntime`` structure in the target process’s memory." -msgstr "" - -#: ../../howto/remote_debugging.rst:537 -msgid "" -"Read and validate the ``_Py_DebugOffsets`` structure at the beginning of " -"``PyRuntime``." -msgstr "" - -#: ../../howto/remote_debugging.rst:539 -msgid "Use the offsets to locate a valid ``PyThreadState``." -msgstr "" - -#: ../../howto/remote_debugging.rst:540 -msgid "Write the path to a Python script into ``debugger_script_path``." -msgstr "" - -#: ../../howto/remote_debugging.rst:541 -msgid "Set the ``debugger_pending_call`` flag to ``1``." -msgstr "" - -#: ../../howto/remote_debugging.rst:542 -msgid "Set ``_PY_EVAL_PLEASE_STOP_BIT`` in the ``eval_breaker`` field." -msgstr "" - -#: ../../howto/remote_debugging.rst:543 -msgid "" -"Resume the process (if suspended). The script will execute at the next safe " -"evaluation point." -msgstr "" diff --git a/python-newest.howto--sockets/id.po b/python-newest.howto--sockets/id.po deleted file mode 100644 index a30304c..0000000 --- a/python-newest.howto--sockets/id.po +++ /dev/null @@ -1,601 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# Akhmat Safrudin , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Akhmat Safrudin , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/sockets.rst:5 -msgid "Socket Programming HOWTO" -msgstr "HOWTO Pemrograman Soket" - -#: ../../howto/sockets.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../howto/sockets.rst:7 -msgid "Gordon McMillan" -msgstr "Gordon McMillan" - -#: ../../howto/sockets.rst-1 -msgid "Abstract" -msgstr "Abstrak" - -#: ../../howto/sockets.rst:12 -msgid "" -"Sockets are used nearly everywhere, but are one of the most severely " -"misunderstood technologies around. This is a 10,000 foot overview of " -"sockets. It's not really a tutorial - you'll still have work to do in " -"getting things operational. It doesn't cover the fine points (and there are " -"a lot of them), but I hope it will give you enough background to begin using" -" them decently." -msgstr "" -"Soket digunakan hampir di mana-mana, tetapi merupakan salah satu teknologi " -"yang paling disalahpahami. Ini adalah gambaran soket dari 10.000 kaki. Ini " -"sebenarnya bukan tutorial - Anda masih memiliki pekerjaan yang harus " -"dilakukan agar segala sesuatunya beroperasi. Itu tidak mencakup poin-poin " -"penting (dan ada banyak di antaranya), tetapi saya berharap ini akan memberi" -" Anda latar belakang yang cukup untuk mulai menggunakannya dengan baik." - -#: ../../howto/sockets.rst:20 -msgid "Sockets" -msgstr "Soket" - -#: ../../howto/sockets.rst:22 -msgid "" -"I'm only going to talk about INET (i.e. IPv4) sockets, but they account for " -"at least 99% of the sockets in use. And I'll only talk about STREAM (i.e. " -"TCP) sockets - unless you really know what you're doing (in which case this " -"HOWTO isn't for you!), you'll get better behavior and performance from a " -"STREAM socket than anything else. I will try to clear up the mystery of what" -" a socket is, as well as some hints on how to work with blocking and non-" -"blocking sockets. But I'll start by talking about blocking sockets. You'll " -"need to know how they work before dealing with non-blocking sockets." -msgstr "" - -#: ../../howto/sockets.rst:31 -msgid "" -"Part of the trouble with understanding these things is that \"socket\" can " -"mean a number of subtly different things, depending on context. So first, " -"let's make a distinction between a \"client\" socket - an endpoint of a " -"conversation, and a \"server\" socket, which is more like a switchboard " -"operator. The client application (your browser, for example) uses \"client\"" -" sockets exclusively; the web server it's talking to uses both \"server\" " -"sockets and \"client\" sockets." -msgstr "" - -#: ../../howto/sockets.rst:40 -msgid "History" -msgstr "Sejarah" - -#: ../../howto/sockets.rst:42 -msgid "" -"Of the various forms of :abbr:`IPC (Inter Process Communication)`, sockets " -"are by far the most popular. On any given platform, there are likely to be " -"other forms of IPC that are faster, but for cross-platform communication, " -"sockets are about the only game in town." -msgstr "" - -#: ../../howto/sockets.rst:47 -msgid "" -"They were invented in Berkeley as part of the BSD flavor of Unix. They " -"spread like wildfire with the internet. With good reason --- the combination" -" of sockets with INET makes talking to arbitrary machines around the world " -"unbelievably easy (at least compared to other schemes)." -msgstr "" - -#: ../../howto/sockets.rst:54 -msgid "Creating a Socket" -msgstr "Membuat sebuah Soket" - -#: ../../howto/sockets.rst:56 -msgid "" -"Roughly speaking, when you clicked on the link that brought you to this " -"page, your browser did something like the following::" -msgstr "" -"Secara kasar, ketika Anda mengklik tautan yang membawa Anda ke halaman ini, " -"browser Anda melakukan sesuatu seperti berikut:" - -#: ../../howto/sockets.rst:59 -msgid "" -"# create an INET, STREAMing socket\n" -"s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n" -"# now connect to the web server on port 80 - the normal http port\n" -"s.connect((\"www.python.org\", 80))" -msgstr "" - -#: ../../howto/sockets.rst:64 -msgid "" -"When the ``connect`` completes, the socket ``s`` can be used to send in a " -"request for the text of the page. The same socket will read the reply, and " -"then be destroyed. That's right, destroyed. Client sockets are normally only" -" used for one exchange (or a small set of sequential exchanges)." -msgstr "" - -#: ../../howto/sockets.rst:70 -msgid "" -"What happens in the web server is a bit more complex. First, the web server " -"creates a \"server socket\"::" -msgstr "" -"Apa yang terjadi di server web sedikit lebih kompleks. Pertama, server web " -"membuat \"soket server\"::" - -#: ../../howto/sockets.rst:73 -msgid "" -"# create an INET, STREAMing socket\n" -"serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n" -"# bind the socket to a public host, and a well-known port\n" -"serversocket.bind((socket.gethostname(), 80))\n" -"# become a server socket\n" -"serversocket.listen(5)" -msgstr "" - -#: ../../howto/sockets.rst:80 -msgid "" -"A couple things to notice: we used ``socket.gethostname()`` so that the " -"socket would be visible to the outside world. If we had used " -"``s.bind(('localhost', 80))`` or ``s.bind(('127.0.0.1', 80))`` we would " -"still have a \"server\" socket, but one that was only visible within the " -"same machine. ``s.bind(('', 80))`` specifies that the socket is reachable " -"by any address the machine happens to have." -msgstr "" - -#: ../../howto/sockets.rst:87 -msgid "" -"A second thing to note: low number ports are usually reserved for \"well " -"known\" services (HTTP, SNMP etc). If you're playing around, use a nice high" -" number (4 digits)." -msgstr "" - -#: ../../howto/sockets.rst:91 -msgid "" -"Finally, the argument to ``listen`` tells the socket library that we want it" -" to queue up as many as 5 connect requests (the normal max) before refusing " -"outside connections. If the rest of the code is written properly, that " -"should be plenty." -msgstr "" - -#: ../../howto/sockets.rst:95 -msgid "" -"Now that we have a \"server\" socket, listening on port 80, we can enter the" -" mainloop of the web server::" -msgstr "" -"Sekarang kita memiliki soket \"server\", mendengarkan pada port 80, kita " -"dapat masuk ke *mainloop* server web::" - -#: ../../howto/sockets.rst:98 -msgid "" -"while True:\n" -" # accept connections from outside\n" -" (clientsocket, address) = serversocket.accept()\n" -" # now do something with the clientsocket\n" -" # in this case, we'll pretend this is a threaded server\n" -" ct = make_client_thread(clientsocket)\n" -" ct.start()" -msgstr "" - -#: ../../howto/sockets.rst:106 -msgid "" -"There's actually 3 general ways in which this loop could work - dispatching " -"a thread to handle ``clientsocket``, create a new process to handle " -"``clientsocket``, or restructure this app to use non-blocking sockets, and " -"multiplex between our \"server\" socket and any active ``clientsocket``\\ s " -"using ``select``. More about that later. The important thing to understand " -"now is this: this is *all* a \"server\" socket does. It doesn't send any " -"data. It doesn't receive any data. It just produces \"client\" sockets. Each" -" ``clientsocket`` is created in response to some *other* \"client\" socket " -"doing a ``connect()`` to the host and port we're bound to. As soon as we've " -"created that ``clientsocket``, we go back to listening for more connections." -" The two \"clients\" are free to chat it up - they are using some " -"dynamically allocated port which will be recycled when the conversation " -"ends." -msgstr "" - -#: ../../howto/sockets.rst:121 -msgid "IPC" -msgstr "IPC" - -#: ../../howto/sockets.rst:123 -msgid "" -"If you need fast IPC between two processes on one machine, you should look " -"into pipes or shared memory. If you do decide to use AF_INET sockets, bind " -"the \"server\" socket to ``'localhost'``. On most platforms, this will take " -"a shortcut around a couple of layers of network code and be quite a bit " -"faster." -msgstr "" - -#: ../../howto/sockets.rst:129 -msgid "" -"The :mod:`multiprocessing` integrates cross-platform IPC into a higher-level" -" API." -msgstr "" -"The :mod:`multiprocessing` mengintegrasikan IPC lintas platform ke dalam API" -" tingkat yang lebih tinggi." - -#: ../../howto/sockets.rst:134 -msgid "Using a Socket" -msgstr "Menggunakan sebuah Soket" - -#: ../../howto/sockets.rst:136 -msgid "" -"The first thing to note, is that the web browser's \"client\" socket and the" -" web server's \"client\" socket are identical beasts. That is, this is a " -"\"peer to peer\" conversation. Or to put it another way, *as the designer, " -"you will have to decide what the rules of etiquette are for a conversation*." -" Normally, the ``connect``\\ ing socket starts the conversation, by sending " -"in a request, or perhaps a signon. But that's a design decision - it's not a" -" rule of sockets." -msgstr "" - -#: ../../howto/sockets.rst:143 -msgid "" -"Now there are two sets of verbs to use for communication. You can use " -"``send`` and ``recv``, or you can transform your client socket into a file-" -"like beast and use ``read`` and ``write``. The latter is the way Java " -"presents its sockets. I'm not going to talk about it here, except to warn " -"you that you need to use ``flush`` on sockets. These are buffered \"files\"," -" and a common mistake is to ``write`` something, and then ``read`` for a " -"reply. Without a ``flush`` in there, you may wait forever for the reply, " -"because the request may still be in your output buffer." -msgstr "" - -#: ../../howto/sockets.rst:152 -msgid "" -"Now we come to the major stumbling block of sockets - ``send`` and ``recv`` " -"operate on the network buffers. They do not necessarily handle all the bytes" -" you hand them (or expect from them), because their major focus is handling " -"the network buffers. In general, they return when the associated network " -"buffers have been filled (``send``) or emptied (``recv``). They then tell " -"you how many bytes they handled. It is *your* responsibility to call them " -"again until your message has been completely dealt with." -msgstr "" - -#: ../../howto/sockets.rst:160 -msgid "" -"When a ``recv`` returns 0 bytes, it means the other side has closed (or is " -"in the process of closing) the connection. You will not receive any more " -"data on this connection. Ever. You may be able to send data successfully; " -"I'll talk more about this later." -msgstr "" - -#: ../../howto/sockets.rst:165 -msgid "" -"A protocol like HTTP uses a socket for only one transfer. The client sends a" -" request, then reads a reply. That's it. The socket is discarded. This " -"means that a client can detect the end of the reply by receiving 0 bytes." -msgstr "" -"Protokol seperti HTTP menggunakan soket hanya untuk satu transfer. Klien " -"mengirim permintaan, lalu membaca balasan. Hanya itu. Soket ditinggalkan. " -"Artinya, klien dapat mendeteksi akhir balasan dengan menerima 0 byte." - -#: ../../howto/sockets.rst:169 -msgid "" -"But if you plan to reuse your socket for further transfers, you need to " -"realize that *there is no* :abbr:`EOT (End of Transfer)` *on a socket.* I " -"repeat: if a socket ``send`` or ``recv`` returns after handling 0 bytes, the" -" connection has been broken. If the connection has *not* been broken, you " -"may wait on a ``recv`` forever, because the socket will *not* tell you that " -"there's nothing more to read (for now). Now if you think about that a bit, " -"you'll come to realize a fundamental truth of sockets: *messages must either" -" be fixed length* (yuck), *or be delimited* (shrug), *or indicate how long " -"they are* (much better), *or end by shutting down the connection*. The " -"choice is entirely yours, (but some ways are righter than others)." -msgstr "" - -#: ../../howto/sockets.rst:180 -msgid "" -"Assuming you don't want to end the connection, the simplest solution is a " -"fixed length message::" -msgstr "" -"Dengan asumsi Anda tidak ingin mengakhiri koneksi, solusi paling sederhana " -"adalah pesan dengan panjang tetap::" - -#: ../../howto/sockets.rst:183 -msgid "" -"class MySocket:\n" -" \"\"\"demonstration class only\n" -" - coded for clarity, not efficiency\n" -" \"\"\"\n" -"\n" -" def __init__(self, sock=None):\n" -" if sock is None:\n" -" self.sock = socket.socket(\n" -" socket.AF_INET, socket.SOCK_STREAM)\n" -" else:\n" -" self.sock = sock\n" -"\n" -" def connect(self, host, port):\n" -" self.sock.connect((host, port))\n" -"\n" -" def mysend(self, msg):\n" -" totalsent = 0\n" -" while totalsent < MSGLEN:\n" -" sent = self.sock.send(msg[totalsent:])\n" -" if sent == 0:\n" -" raise RuntimeError(\"socket connection broken\")\n" -" totalsent = totalsent + sent\n" -"\n" -" def myreceive(self):\n" -" chunks = []\n" -" bytes_recd = 0\n" -" while bytes_recd < MSGLEN:\n" -" chunk = self.sock.recv(min(MSGLEN - bytes_recd, 2048))\n" -" if chunk == b'':\n" -" raise RuntimeError(\"socket connection broken\")\n" -" chunks.append(chunk)\n" -" bytes_recd = bytes_recd + len(chunk)\n" -" return b''.join(chunks)" -msgstr "" - -#: ../../howto/sockets.rst:217 -msgid "" -"The sending code here is usable for almost any messaging scheme - in Python " -"you send strings, and you can use ``len()`` to determine its length (even if" -" it has embedded ``\\0`` characters). It's mostly the receiving code that " -"gets more complex. (And in C, it's not much worse, except you can't use " -"``strlen`` if the message has embedded ``\\0``\\ s.)" -msgstr "" - -#: ../../howto/sockets.rst:223 -msgid "" -"The easiest enhancement is to make the first character of the message an " -"indicator of message type, and have the type determine the length. Now you " -"have two ``recv``\\ s - the first to get (at least) that first character so " -"you can look up the length, and the second in a loop to get the rest. If you" -" decide to go the delimited route, you'll be receiving in some arbitrary " -"chunk size, (4096 or 8192 is frequently a good match for network buffer " -"sizes), and scanning what you've received for a delimiter." -msgstr "" - -#: ../../howto/sockets.rst:231 -msgid "" -"One complication to be aware of: if your conversational protocol allows " -"multiple messages to be sent back to back (without some kind of reply), and " -"you pass ``recv`` an arbitrary chunk size, you may end up reading the start " -"of a following message. You'll need to put that aside and hold onto it, " -"until it's needed." -msgstr "" - -#: ../../howto/sockets.rst:237 -msgid "" -"Prefixing the message with its length (say, as 5 numeric characters) gets " -"more complex, because (believe it or not), you may not get all 5 characters " -"in one ``recv``. In playing around, you'll get away with it; but in high " -"network loads, your code will very quickly break unless you use two ``recv``" -" loops - the first to determine the length, the second to get the data part " -"of the message. Nasty. This is also when you'll discover that ``send`` does " -"not always manage to get rid of everything in one pass. And despite having " -"read this, you will eventually get bit by it!" -msgstr "" - -#: ../../howto/sockets.rst:246 -msgid "" -"In the interests of space, building your character, (and preserving my " -"competitive position), these enhancements are left as an exercise for the " -"reader. Lets move on to cleaning up." -msgstr "" -"Untuk kepentingan ruang, membangun karakter Anda, (dan mempertahankan posisi" -" kompetitif saya), peningkatan ini dibiarkan sebagai latihan bagi pembaca. " -"Mari kita lanjutkan ke pembersihan." - -#: ../../howto/sockets.rst:252 -msgid "Binary Data" -msgstr "Data Biner" - -#: ../../howto/sockets.rst:254 -msgid "" -"It is perfectly possible to send binary data over a socket. The major " -"problem is that not all machines use the same formats for binary data. For " -"example, `network byte order " -"`_ is big-endian, with " -"the most significant byte first, so a 16 bit integer with the value ``1`` " -"would be the two hex bytes ``00 01``. However, most common processors " -"(x86/AMD64, ARM, RISC-V), are little-endian, with the least significant byte" -" first - that same ``1`` would be ``01 00``." -msgstr "" - -#: ../../howto/sockets.rst:262 -msgid "" -"Socket libraries have calls for converting 16 and 32 bit integers - ``ntohl," -" htonl, ntohs, htons`` where \"n\" means *network* and \"h\" means *host*, " -"\"s\" means *short* and \"l\" means *long*. Where network order is host " -"order, these do nothing, but where the machine is byte-reversed, these swap " -"the bytes around appropriately." -msgstr "" - -#: ../../howto/sockets.rst:268 -msgid "" -"In these days of 64-bit machines, the ASCII representation of binary data is" -" frequently smaller than the binary representation. That's because a " -"surprising amount of the time, most integers have the value 0, or maybe 1. " -"The string ``\"0\"`` would be two bytes, while a full 64-bit integer would " -"be 8. Of course, this doesn't fit well with fixed-length messages. " -"Decisions, decisions." -msgstr "" - -#: ../../howto/sockets.rst:277 -msgid "Disconnecting" -msgstr "Pemutusan" - -#: ../../howto/sockets.rst:279 -msgid "" -"Strictly speaking, you're supposed to use ``shutdown`` on a socket before " -"you ``close`` it. The ``shutdown`` is an advisory to the socket at the " -"other end. Depending on the argument you pass it, it can mean \"I'm not " -"going to send anymore, but I'll still listen\", or \"I'm not listening, good" -" riddance!\". Most socket libraries, however, are so used to programmers " -"neglecting to use this piece of etiquette that normally a ``close`` is the " -"same as ``shutdown(); close()``. So in most situations, an explicit " -"``shutdown`` is not needed." -msgstr "" - -#: ../../howto/sockets.rst:287 -msgid "" -"One way to use ``shutdown`` effectively is in an HTTP-like exchange. The " -"client sends a request and then does a ``shutdown(1)``. This tells the " -"server \"This client is done sending, but can still receive.\" The server " -"can detect \"EOF\" by a receive of 0 bytes. It can assume it has the " -"complete request. The server sends a reply. If the ``send`` completes " -"successfully then, indeed, the client was still receiving." -msgstr "" - -#: ../../howto/sockets.rst:294 -msgid "" -"Python takes the automatic shutdown a step further, and says that when a " -"socket is garbage collected, it will automatically do a ``close`` if it's " -"needed. But relying on this is a very bad habit. If your socket just " -"disappears without doing a ``close``, the socket at the other end may hang " -"indefinitely, thinking you're just being slow. *Please* ``close`` your " -"sockets when you're done." -msgstr "" - -#: ../../howto/sockets.rst:302 -msgid "When Sockets Die" -msgstr "Saat Soket Mati" - -#: ../../howto/sockets.rst:304 -msgid "" -"Probably the worst thing about using blocking sockets is what happens when " -"the other side comes down hard (without doing a ``close``). Your socket is " -"likely to hang. TCP is a reliable protocol, and it will wait a long, long " -"time before giving up on a connection. If you're using threads, the entire " -"thread is essentially dead. There's not much you can do about it. As long as" -" you aren't doing something dumb, like holding a lock while doing a blocking" -" read, the thread isn't really consuming much in the way of resources. Do " -"*not* try to kill the thread - part of the reason that threads are more " -"efficient than processes is that they avoid the overhead associated with the" -" automatic recycling of resources. In other words, if you do manage to kill " -"the thread, your whole process is likely to be screwed up." -msgstr "" - -#: ../../howto/sockets.rst:318 -msgid "Non-blocking Sockets" -msgstr "Soket Tidak-memblokir" - -#: ../../howto/sockets.rst:320 -msgid "" -"If you've understood the preceding, you already know most of what you need " -"to know about the mechanics of using sockets. You'll still use the same " -"calls, in much the same ways. It's just that, if you do it right, your app " -"will be almost inside-out." -msgstr "" - -#: ../../howto/sockets.rst:325 -msgid "" -"In Python, you use ``socket.setblocking(False)`` to make it non-blocking. In" -" C, it's more complex, (for one thing, you'll need to choose between the BSD" -" flavor ``O_NONBLOCK`` and the almost indistinguishable POSIX flavor " -"``O_NDELAY``, which is completely different from ``TCP_NODELAY``), but it's " -"the exact same idea. You do this after creating the socket, but before using" -" it. (Actually, if you're nuts, you can switch back and forth.)" -msgstr "" - -#: ../../howto/sockets.rst:332 -msgid "" -"The major mechanical difference is that ``send``, ``recv``, ``connect`` and " -"``accept`` can return without having done anything. You have (of course) a " -"number of choices. You can check return code and error codes and generally " -"drive yourself crazy. If you don't believe me, try it sometime. Your app " -"will grow large, buggy and suck CPU. So let's skip the brain-dead solutions " -"and do it right." -msgstr "" - -#: ../../howto/sockets.rst:339 -msgid "Use ``select``." -msgstr "Menggunakan ``select``." - -#: ../../howto/sockets.rst:341 -msgid "" -"In C, coding ``select`` is fairly complex. In Python, it's a piece of cake, " -"but it's close enough to the C version that if you understand ``select`` in " -"Python, you'll have little trouble with it in C::" -msgstr "" -"Di C, pengkodean ``select`` cukup kompleks. Dengan Python, ini sangat mudah," -" tetapi cukup dekat dengan versi C sehingga jika Anda memahami ``select`` " -"dengan Python, Anda akan mengalami sedikit masalah dengan itu di C::" - -#: ../../howto/sockets.rst:345 -msgid "" -"ready_to_read, ready_to_write, in_error = \\\n" -" select.select(\n" -" potential_readers,\n" -" potential_writers,\n" -" potential_errs,\n" -" timeout)" -msgstr "" - -#: ../../howto/sockets.rst:352 -msgid "" -"You pass ``select`` three lists: the first contains all sockets that you " -"might want to try reading; the second all the sockets you might want to try " -"writing to, and the last (normally left empty) those that you want to check " -"for errors. You should note that a socket can go into more than one list. " -"The ``select`` call is blocking, but you can give it a timeout. This is " -"generally a sensible thing to do - give it a nice long timeout (say a " -"minute) unless you have good reason to do otherwise." -msgstr "" - -#: ../../howto/sockets.rst:360 -msgid "" -"In return, you will get three lists. They contain the sockets that are " -"actually readable, writable and in error. Each of these lists is a subset " -"(possibly empty) of the corresponding list you passed in." -msgstr "" -"Sebagai gantinya, Anda akan mendapatkan tiga daftar. Mereka berisi soket " -"yang sebenarnya dapat dibaca, ditulis dan dalam kesalahan. Setiap daftar ini" -" adalah subset (mungkin kosong) dari daftar terkait yang Anda berikan." - -#: ../../howto/sockets.rst:364 -msgid "" -"If a socket is in the output readable list, you can be as-close-to-certain-" -"as-we-ever-get-in-this-business that a ``recv`` on that socket will return " -"*something*. Same idea for the writable list. You'll be able to send " -"*something*. Maybe not all you want to, but *something* is better than " -"nothing. (Actually, any reasonably healthy socket will return as writable -" -" it just means outbound network buffer space is available.)" -msgstr "" - -#: ../../howto/sockets.rst:371 -msgid "" -"If you have a \"server\" socket, put it in the potential_readers list. If it" -" comes out in the readable list, your ``accept`` will (almost certainly) " -"work. If you have created a new socket to ``connect`` to someone else, put " -"it in the potential_writers list. If it shows up in the writable list, you " -"have a decent chance that it has connected." -msgstr "" - -#: ../../howto/sockets.rst:377 -msgid "" -"Actually, ``select`` can be handy even with blocking sockets. It's one way " -"of determining whether you will block - the socket returns as readable when " -"there's something in the buffers. However, this still doesn't help with the" -" problem of determining whether the other end is done, or just busy with " -"something else." -msgstr "" - -#: ../../howto/sockets.rst:382 -msgid "" -"**Portability alert**: On Unix, ``select`` works both with the sockets and " -"files. Don't try this on Windows. On Windows, ``select`` works with sockets " -"only. Also note that in C, many of the more advanced socket options are done" -" differently on Windows. In fact, on Windows I usually use threads (which " -"work very, very well) with my sockets." -msgstr "" diff --git a/python-newest.howto--sorting/id.po b/python-newest.howto--sorting/id.po deleted file mode 100644 index b5a7530..0000000 --- a/python-newest.howto--sorting/id.po +++ /dev/null @@ -1,635 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Akhmat Safrudin , 2018 -# Iwan Setiawan , 2021 -# oon arfiandwi , 2022 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: oon arfiandwi , 2022\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/sorting.rst:4 -msgid "Sorting Techniques" -msgstr "" - -#: ../../howto/sorting.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../howto/sorting.rst:6 -msgid "Andrew Dalke and Raymond Hettinger" -msgstr "Andrew Dalke dan Raymond Hettinger" - -#: ../../howto/sorting.rst:9 -msgid "" -"Python lists have a built-in :meth:`list.sort` method that modifies the list" -" in-place. There is also a :func:`sorted` built-in function that builds a " -"new sorted list from an iterable." -msgstr "" - -#: ../../howto/sorting.rst:13 -msgid "" -"In this document, we explore the various techniques for sorting data using " -"Python." -msgstr "" - -#: ../../howto/sorting.rst:17 -msgid "Sorting Basics" -msgstr "" - -#: ../../howto/sorting.rst:19 -msgid "" -"A simple ascending sort is very easy: just call the :func:`sorted` function." -" It returns a new sorted list:" -msgstr "" - -#: ../../howto/sorting.rst:22 -msgid "" -">>> sorted([5, 2, 3, 1, 4])\n" -"[1, 2, 3, 4, 5]" -msgstr "" - -#: ../../howto/sorting.rst:27 -msgid "" -"You can also use the :meth:`list.sort` method. It modifies the list in-place" -" (and returns ``None`` to avoid confusion). Usually it's less convenient " -"than :func:`sorted` - but if you don't need the original list, it's slightly" -" more efficient." -msgstr "" - -#: ../../howto/sorting.rst:32 -msgid "" -">>> a = [5, 2, 3, 1, 4]\n" -">>> a.sort()\n" -">>> a\n" -"[1, 2, 3, 4, 5]" -msgstr "" - -#: ../../howto/sorting.rst:39 -msgid "" -"Another difference is that the :meth:`list.sort` method is only defined for " -"lists. In contrast, the :func:`sorted` function accepts any iterable." -msgstr "" - -#: ../../howto/sorting.rst:42 -msgid "" -">>> sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})\n" -"[1, 2, 3, 4, 5]" -msgstr "" - -#: ../../howto/sorting.rst:48 -msgid "Key Functions" -msgstr "" - -#: ../../howto/sorting.rst:50 -msgid "" -"The :meth:`list.sort` method and the functions :func:`sorted`, :func:`min`, " -":func:`max`, :func:`heapq.nsmallest`, and :func:`heapq.nlargest` have a " -"*key* parameter to specify a function (or other callable) to be called on " -"each list element prior to making comparisons." -msgstr "" - -#: ../../howto/sorting.rst:56 -msgid "" -"For example, here's a case-insensitive string comparison using " -":meth:`str.casefold`:" -msgstr "" - -#: ../../howto/sorting.rst:59 -msgid "" -">>> sorted(\"This is a test string from Andrew\".split(), key=str.casefold)\n" -"['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']" -msgstr "" - -#: ../../howto/sorting.rst:64 -msgid "" -"The value of the *key* parameter should be a function (or other callable) " -"that takes a single argument and returns a key to use for sorting purposes. " -"This technique is fast because the key function is called exactly once for " -"each input record." -msgstr "" - -#: ../../howto/sorting.rst:69 -msgid "" -"A common pattern is to sort complex objects using some of the object's " -"indices as keys. For example:" -msgstr "" - -#: ../../howto/sorting.rst:72 -msgid "" -">>> student_tuples = [\n" -"... ('john', 'A', 15),\n" -"... ('jane', 'B', 12),\n" -"... ('dave', 'B', 10),\n" -"... ]\n" -">>> sorted(student_tuples, key=lambda student: student[2]) # sort by age\n" -"[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]" -msgstr "" - -#: ../../howto/sorting.rst:82 -msgid "" -"The same technique works for objects with named attributes. For example:" -msgstr "" - -#: ../../howto/sorting.rst:84 -msgid "" -">>> class Student:\n" -"... def __init__(self, name, grade, age):\n" -"... self.name = name\n" -"... self.grade = grade\n" -"... self.age = age\n" -"... def __repr__(self):\n" -"... return repr((self.name, self.grade, self.age))\n" -"\n" -">>> student_objects = [\n" -"... Student('john', 'A', 15),\n" -"... Student('jane', 'B', 12),\n" -"... Student('dave', 'B', 10),\n" -"... ]\n" -">>> sorted(student_objects, key=lambda student: student.age) # sort by age\n" -"[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]" -msgstr "" - -#: ../../howto/sorting.rst:102 -msgid "" -"Objects with named attributes can be made by a regular class as shown above," -" or they can be instances of :class:`~dataclasses.dataclass` or a " -":term:`named tuple`." -msgstr "" - -#: ../../howto/sorting.rst:107 -msgid "Operator Module Functions and Partial Function Evaluation" -msgstr "" - -#: ../../howto/sorting.rst:109 -msgid "" -"The :term:`key function` patterns shown above are very common, so Python " -"provides convenience functions to make accessor functions easier and faster." -" The :mod:`operator` module has :func:`~operator.itemgetter`, " -":func:`~operator.attrgetter`, and a :func:`~operator.methodcaller` function." -msgstr "" - -#: ../../howto/sorting.rst:114 -msgid "Using those functions, the above examples become simpler and faster:" -msgstr "" - -#: ../../howto/sorting.rst:116 -msgid "" -">>> from operator import itemgetter, attrgetter\n" -"\n" -">>> sorted(student_tuples, key=itemgetter(2))\n" -"[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]\n" -"\n" -">>> sorted(student_objects, key=attrgetter('age'))\n" -"[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]" -msgstr "" - -#: ../../howto/sorting.rst:126 -msgid "" -"The operator module functions allow multiple levels of sorting. For example," -" to sort by *grade* then by *age*:" -msgstr "" - -#: ../../howto/sorting.rst:129 -msgid "" -">>> sorted(student_tuples, key=itemgetter(1,2))\n" -"[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]\n" -"\n" -">>> sorted(student_objects, key=attrgetter('grade', 'age'))\n" -"[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]" -msgstr "" - -#: ../../howto/sorting.rst:137 -msgid "" -"The :mod:`functools` module provides another helpful tool for making key-" -"functions. The :func:`~functools.partial` function can reduce the `arity " -"`_ of a multi-argument function making " -"it suitable for use as a key-function." -msgstr "" - -#: ../../howto/sorting.rst:142 -msgid "" -">>> from functools import partial\n" -">>> from unicodedata import normalize\n" -"\n" -">>> names = 'Zoë Åbjørn Núñez Élana Zeke Abe Nubia Eloise'.split()\n" -"\n" -">>> sorted(names, key=partial(normalize, 'NFD'))\n" -"['Abe', 'Åbjørn', 'Eloise', 'Élana', 'Nubia', 'Núñez', 'Zeke', 'Zoë']\n" -"\n" -">>> sorted(names, key=partial(normalize, 'NFC'))\n" -"['Abe', 'Eloise', 'Nubia', 'Núñez', 'Zeke', 'Zoë', 'Åbjørn', 'Élana']" -msgstr "" - -#: ../../howto/sorting.rst:156 -msgid "Ascending and Descending" -msgstr "" - -#: ../../howto/sorting.rst:158 -msgid "" -"Both :meth:`list.sort` and :func:`sorted` accept a *reverse* parameter with " -"a boolean value. This is used to flag descending sorts. For example, to get " -"the student data in reverse *age* order:" -msgstr "" - -#: ../../howto/sorting.rst:162 -msgid "" -">>> sorted(student_tuples, key=itemgetter(2), reverse=True)\n" -"[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]\n" -"\n" -">>> sorted(student_objects, key=attrgetter('age'), reverse=True)\n" -"[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]" -msgstr "" - -#: ../../howto/sorting.rst:171 -msgid "Sort Stability and Complex Sorts" -msgstr "" - -#: ../../howto/sorting.rst:173 -msgid "" -"Sorts are guaranteed to be `stable " -"`_\\. That means " -"that when multiple records have the same key, their original order is " -"preserved." -msgstr "" - -#: ../../howto/sorting.rst:177 -msgid "" -">>> data = [('red', 1), ('blue', 1), ('red', 2), ('blue', 2)]\n" -">>> sorted(data, key=itemgetter(0))\n" -"[('blue', 1), ('blue', 2), ('red', 1), ('red', 2)]" -msgstr "" - -#: ../../howto/sorting.rst:183 -msgid "" -"Notice how the two records for *blue* retain their original order so that " -"``('blue', 1)`` is guaranteed to precede ``('blue', 2)``." -msgstr "" - -#: ../../howto/sorting.rst:186 -msgid "" -"This wonderful property lets you build complex sorts in a series of sorting " -"steps. For example, to sort the student data by descending *grade* and then " -"ascending *age*, do the *age* sort first and then sort again using *grade*:" -msgstr "" - -#: ../../howto/sorting.rst:190 -msgid "" -">>> s = sorted(student_objects, key=attrgetter('age')) # sort on secondary key\n" -">>> sorted(s, key=attrgetter('grade'), reverse=True) # now sort on primary key, descending\n" -"[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]" -msgstr "" - -#: ../../howto/sorting.rst:196 -msgid "" -"This can be abstracted out into a wrapper function that can take a list and " -"tuples of field and order to sort them on multiple passes." -msgstr "" - -#: ../../howto/sorting.rst:199 -msgid "" -">>> def multisort(xs, specs):\n" -"... for key, reverse in reversed(specs):\n" -"... xs.sort(key=attrgetter(key), reverse=reverse)\n" -"... return xs\n" -"\n" -">>> multisort(list(student_objects), (('grade', True), ('age', False)))\n" -"[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]" -msgstr "" - -#: ../../howto/sorting.rst:209 -msgid "" -"The `Timsort `_ algorithm used in " -"Python does multiple sorts efficiently because it can take advantage of any " -"ordering already present in a dataset." -msgstr "" - -#: ../../howto/sorting.rst:214 -msgid "Decorate-Sort-Undecorate" -msgstr "" - -#: ../../howto/sorting.rst:216 -msgid "This idiom is called Decorate-Sort-Undecorate after its three steps:" -msgstr "" - -#: ../../howto/sorting.rst:218 -msgid "" -"First, the initial list is decorated with new values that control the sort " -"order." -msgstr "" - -#: ../../howto/sorting.rst:220 -msgid "Second, the decorated list is sorted." -msgstr "" - -#: ../../howto/sorting.rst:222 -msgid "" -"Finally, the decorations are removed, creating a list that contains only the" -" initial values in the new order." -msgstr "" - -#: ../../howto/sorting.rst:225 -msgid "" -"For example, to sort the student data by *grade* using the DSU approach:" -msgstr "" - -#: ../../howto/sorting.rst:227 -msgid "" -">>> decorated = [(student.grade, i, student) for i, student in enumerate(student_objects)]\n" -">>> decorated.sort()\n" -">>> [student for grade, i, student in decorated] # undecorate\n" -"[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]" -msgstr "" - -#: ../../howto/sorting.rst:234 -msgid "" -"This idiom works because tuples are compared lexicographically; the first " -"items are compared; if they are the same then the second items are compared," -" and so on." -msgstr "" - -#: ../../howto/sorting.rst:238 -msgid "" -"It is not strictly necessary in all cases to include the index *i* in the " -"decorated list, but including it gives two benefits:" -msgstr "" - -#: ../../howto/sorting.rst:241 -msgid "" -"The sort is stable -- if two items have the same key, their order will be " -"preserved in the sorted list." -msgstr "" - -#: ../../howto/sorting.rst:244 -msgid "" -"The original items do not have to be comparable because the ordering of the " -"decorated tuples will be determined by at most the first two items. So for " -"example the original list could contain complex numbers which cannot be " -"sorted directly." -msgstr "" - -#: ../../howto/sorting.rst:249 -msgid "" -"Another name for this idiom is `Schwartzian transform " -"`_\\, after Randal L. " -"Schwartz, who popularized it among Perl programmers." -msgstr "" - -#: ../../howto/sorting.rst:253 -msgid "" -"Now that Python sorting provides key-functions, this technique is not often " -"needed." -msgstr "" - -#: ../../howto/sorting.rst:256 -msgid "Comparison Functions" -msgstr "" - -#: ../../howto/sorting.rst:258 -msgid "" -"Unlike key functions that return an absolute value for sorting, a comparison" -" function computes the relative ordering for two inputs." -msgstr "" - -#: ../../howto/sorting.rst:261 -msgid "" -"For example, a `balance scale " -"`_" -" compares two samples giving a relative ordering: lighter, equal, or " -"heavier. Likewise, a comparison function such as ``cmp(a, b)`` will return a" -" negative value for less-than, zero if the inputs are equal, or a positive " -"value for greater-than." -msgstr "" - -#: ../../howto/sorting.rst:268 -msgid "" -"It is common to encounter comparison functions when translating algorithms " -"from other languages. Also, some libraries provide comparison functions as " -"part of their API. For example, :func:`locale.strcoll` is a comparison " -"function." -msgstr "" - -#: ../../howto/sorting.rst:272 -msgid "" -"To accommodate those situations, Python provides " -":class:`functools.cmp_to_key` to wrap the comparison function to make it " -"usable as a key function::" -msgstr "" - -#: ../../howto/sorting.rst:276 -msgid "sorted(words, key=cmp_to_key(strcoll)) # locale-aware sort order" -msgstr "" - -#: ../../howto/sorting.rst:279 -msgid "Strategies For Unorderable Types and Values" -msgstr "" - -#: ../../howto/sorting.rst:281 -msgid "" -"A number of type and value issues can arise when sorting. Here are some " -"strategies that can help:" -msgstr "" - -#: ../../howto/sorting.rst:284 -msgid "Convert non-comparable input types to strings prior to sorting:" -msgstr "" - -#: ../../howto/sorting.rst:286 -msgid "" -">>> data = ['twelve', '11', 10]\n" -">>> sorted(map(str, data))\n" -"['10', '11', 'twelve']" -msgstr "" - -#: ../../howto/sorting.rst:292 -msgid "" -"This is needed because most cross-type comparisons raise a :exc:`TypeError`." -msgstr "" - -#: ../../howto/sorting.rst:295 -msgid "Remove special values prior to sorting:" -msgstr "" - -#: ../../howto/sorting.rst:297 -msgid "" -">>> from math import isnan\n" -">>> from itertools import filterfalse\n" -">>> data = [3.3, float('nan'), 1.1, 2.2]\n" -">>> sorted(filterfalse(isnan, data))\n" -"[1.1, 2.2, 3.3]" -msgstr "" - -#: ../../howto/sorting.rst:305 -msgid "" -"This is needed because the `IEEE-754 standard " -"`_ specifies that, \"Every NaN shall" -" compare unordered with everything, including itself.\"" -msgstr "" - -#: ../../howto/sorting.rst:309 -msgid "Likewise, ``None`` can be stripped from datasets as well:" -msgstr "" - -#: ../../howto/sorting.rst:311 -msgid "" -">>> data = [3.3, None, 1.1, 2.2]\n" -">>> sorted(x for x in data if x is not None)\n" -"[1.1, 2.2, 3.3]" -msgstr "" - -#: ../../howto/sorting.rst:317 -msgid "This is needed because ``None`` is not comparable to other types." -msgstr "" - -#: ../../howto/sorting.rst:319 -msgid "Convert mapping types into sorted item lists before sorting:" -msgstr "" - -#: ../../howto/sorting.rst:321 -msgid "" -">>> data = [{'a': 1}, {'b': 2}]\n" -">>> sorted(data, key=lambda d: sorted(d.items()))\n" -"[{'a': 1}, {'b': 2}]" -msgstr "" - -#: ../../howto/sorting.rst:327 -msgid "" -"This is needed because dict-to-dict comparisons raise a :exc:`TypeError`." -msgstr "" - -#: ../../howto/sorting.rst:330 -msgid "Convert set types into sorted lists before sorting:" -msgstr "" - -#: ../../howto/sorting.rst:332 -msgid "" -">>> data = [{'a', 'b', 'c'}, {'b', 'c', 'd'}]\n" -">>> sorted(map(sorted, data))\n" -"[['a', 'b', 'c'], ['b', 'c', 'd']]" -msgstr "" - -#: ../../howto/sorting.rst:338 -msgid "" -"This is needed because the elements contained in set types do not have a " -"deterministic order. For example, ``list({'a', 'b'})`` may produce either " -"``['a', 'b']`` or ``['b', 'a']``." -msgstr "" - -#: ../../howto/sorting.rst:343 -msgid "Odds and Ends" -msgstr "Barang Sisa *Odds and Ends*" - -#: ../../howto/sorting.rst:345 -msgid "" -"For locale aware sorting, use :func:`locale.strxfrm` for a key function or " -":func:`locale.strcoll` for a comparison function. This is necessary because" -" \"alphabetical\" sort orderings can vary across cultures even if the " -"underlying alphabet is the same." -msgstr "" - -#: ../../howto/sorting.rst:350 -msgid "" -"The *reverse* parameter still maintains sort stability (so that records with" -" equal keys retain the original order). Interestingly, that effect can be " -"simulated without the parameter by using the builtin :func:`reversed` " -"function twice:" -msgstr "" - -#: ../../howto/sorting.rst:355 -msgid "" -">>> data = [('red', 1), ('blue', 1), ('red', 2), ('blue', 2)]\n" -">>> standard_way = sorted(data, key=itemgetter(0), reverse=True)\n" -">>> double_reversed = list(reversed(sorted(reversed(data), key=itemgetter(0))))\n" -">>> assert standard_way == double_reversed\n" -">>> standard_way\n" -"[('red', 1), ('red', 2), ('blue', 1), ('blue', 2)]" -msgstr "" - -#: ../../howto/sorting.rst:364 -msgid "" -"The sort routines use ``<`` when making comparisons between two objects. So," -" it is easy to add a standard sort order to a class by defining an " -":meth:`~object.__lt__` method:" -msgstr "" - -#: ../../howto/sorting.rst:368 -msgid "" -">>> Student.__lt__ = lambda self, other: self.age < other.age\n" -">>> sorted(student_objects)\n" -"[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]" -msgstr "" - -#: ../../howto/sorting.rst:374 -msgid "" -"However, note that ``<`` can fall back to using :meth:`~object.__gt__` if " -":meth:`~object.__lt__` is not implemented (see :func:`object.__lt__` for " -"details on the mechanics). To avoid surprises, :pep:`8` recommends that all" -" six comparison methods be implemented. The " -":func:`~functools.total_ordering` decorator is provided to make that task " -"easier." -msgstr "" - -#: ../../howto/sorting.rst:381 -msgid "" -"Key functions need not depend directly on the objects being sorted. A key " -"function can also access external resources. For instance, if the student " -"grades are stored in a dictionary, they can be used to sort a separate list " -"of student names:" -msgstr "" - -#: ../../howto/sorting.rst:386 -msgid "" -">>> students = ['dave', 'john', 'jane']\n" -">>> newgrades = {'john': 'F', 'jane':'A', 'dave': 'C'}\n" -">>> sorted(students, key=newgrades.__getitem__)\n" -"['jane', 'dave', 'john']" -msgstr "" - -#: ../../howto/sorting.rst:394 -msgid "Partial Sorts" -msgstr "" - -#: ../../howto/sorting.rst:396 -msgid "" -"Some applications require only some of the data to be ordered. The standard" -" library provides several tools that do less work than a full sort:" -msgstr "" - -#: ../../howto/sorting.rst:399 -msgid "" -":func:`min` and :func:`max` return the smallest and largest values, " -"respectively. These functions make a single pass over the input data and " -"require almost no auxiliary memory." -msgstr "" - -#: ../../howto/sorting.rst:403 -msgid "" -":func:`heapq.nsmallest` and :func:`heapq.nlargest` return the *n* smallest " -"and largest values, respectively. These functions make a single pass over " -"the data keeping only *n* elements in memory at a time. For values of *n* " -"that are small relative to the number of inputs, these functions make far " -"fewer comparisons than a full sort." -msgstr "" - -#: ../../howto/sorting.rst:409 -msgid "" -":func:`heapq.heappush` and :func:`heapq.heappop` create and maintain a " -"partially sorted arrangement of data that keeps the smallest element at " -"position ``0``. These functions are suitable for implementing priority " -"queues which are commonly used for task scheduling." -msgstr "" diff --git a/python-newest.howto--timerfd/id.po b/python-newest.howto--timerfd/id.po deleted file mode 100644 index 2dd682a..0000000 --- a/python-newest.howto--timerfd/id.po +++ /dev/null @@ -1,275 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Akhmat Safrudin , 2024 -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-05-11 01:08+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/timerfd.rst:5 -msgid "timer file descriptor HOWTO" -msgstr "" - -#: ../../howto/timerfd.rst:0 -msgid "Release" -msgstr "Rilis" - -#: ../../howto/timerfd.rst:7 -msgid "1.13" -msgstr "" - -#: ../../howto/timerfd.rst:9 -msgid "" -"This HOWTO discusses Python's support for the linux timer file descriptor." -msgstr "" - -#: ../../howto/timerfd.rst:13 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../howto/timerfd.rst:15 -msgid "" -"The following example shows how to use a timer file descriptor to execute a " -"function twice a second:" -msgstr "" - -#: ../../howto/timerfd.rst:18 -msgid "" -"# Practical scripts should use really use a non-blocking timer,\n" -"# we use a blocking timer here for simplicity.\n" -"import os, time\n" -"\n" -"# Create the timer file descriptor\n" -"fd = os.timerfd_create(time.CLOCK_REALTIME)\n" -"\n" -"# Start the timer in 1 second, with an interval of half a second\n" -"os.timerfd_settime(fd, initial=1, interval=0.5)\n" -"\n" -"try:\n" -" # Process timer events four times.\n" -" for _ in range(4):\n" -" # read() will block until the timer expires\n" -" _ = os.read(fd, 8)\n" -" print(\"Timer expired\")\n" -"finally:\n" -" # Remember to close the timer file descriptor!\n" -" os.close(fd)" -msgstr "" - -#: ../../howto/timerfd.rst:40 -msgid "" -"To avoid the precision loss caused by the :class:`float` type, timer file " -"descriptors allow specifying initial expiration and interval in integer " -"nanoseconds with ``_ns`` variants of the functions." -msgstr "" - -#: ../../howto/timerfd.rst:44 -msgid "" -"This example shows how :func:`~select.epoll` can be used with timer file " -"descriptors to wait until the file descriptor is ready for reading:" -msgstr "" - -#: ../../howto/timerfd.rst:47 -msgid "" -"import os, time, select, socket, sys\n" -"\n" -"# Create an epoll object\n" -"ep = select.epoll()\n" -"\n" -"# In this example, use loopback address to send \"stop\" command to the server.\n" -"#\n" -"# $ telnet 127.0.0.1 1234\n" -"# Trying 127.0.0.1...\n" -"# Connected to 127.0.0.1.\n" -"# Escape character is '^]'.\n" -"# stop\n" -"# Connection closed by foreign host.\n" -"#\n" -"sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n" -"sock.bind((\"127.0.0.1\", 1234))\n" -"sock.setblocking(False)\n" -"sock.listen(1)\n" -"ep.register(sock, select.EPOLLIN)\n" -"\n" -"# Create timer file descriptors in non-blocking mode.\n" -"num = 3\n" -"fds = []\n" -"for _ in range(num):\n" -" fd = os.timerfd_create(time.CLOCK_REALTIME, flags=os.TFD_NONBLOCK)\n" -" fds.append(fd)\n" -" # Register the timer file descriptor for read events\n" -" ep.register(fd, select.EPOLLIN)\n" -"\n" -"# Start the timer with os.timerfd_settime_ns() in nanoseconds.\n" -"# Timer 1 fires every 0.25 seconds; timer 2 every 0.5 seconds; etc\n" -"for i, fd in enumerate(fds, start=1):\n" -" one_sec_in_nsec = 10**9\n" -" i = i * one_sec_in_nsec\n" -" os.timerfd_settime_ns(fd, initial=i//4, interval=i//4)\n" -"\n" -"timeout = 3\n" -"try:\n" -" conn = None\n" -" is_active = True\n" -" while is_active:\n" -" # Wait for the timer to expire for 3 seconds.\n" -" # epoll.poll() returns a list of (fd, event) pairs.\n" -" # fd is a file descriptor.\n" -" # sock and conn[=returned value of socket.accept()] are socket objects, not file descriptors.\n" -" # So use sock.fileno() and conn.fileno() to get the file descriptors.\n" -" events = ep.poll(timeout)\n" -"\n" -" # If more than one timer file descriptors are ready for reading at once,\n" -" # epoll.poll() returns a list of (fd, event) pairs.\n" -" #\n" -" # In this example settings,\n" -" # 1st timer fires every 0.25 seconds in 0.25 seconds. (0.25, 0.5, 0.75, 1.0, ...)\n" -" # 2nd timer every 0.5 seconds in 0.5 seconds. (0.5, 1.0, 1.5, 2.0, ...)\n" -" # 3rd timer every 0.75 seconds in 0.75 seconds. (0.75, 1.5, 2.25, 3.0, ...)\n" -" #\n" -" # In 0.25 seconds, only 1st timer fires.\n" -" # In 0.5 seconds, 1st timer and 2nd timer fires at once.\n" -" # In 0.75 seconds, 1st timer and 3rd timer fires at once.\n" -" # In 1.5 seconds, 1st timer, 2nd timer and 3rd timer fires at once.\n" -" #\n" -" # If a timer file descriptor is signaled more than once since\n" -" # the last os.read() call, os.read() returns the number of signaled\n" -" # as host order of class bytes.\n" -" print(f\"Signaled events={events}\")\n" -" for fd, event in events:\n" -" if event & select.EPOLLIN:\n" -" if fd == sock.fileno():\n" -" # Check if there is a connection request.\n" -" print(f\"Accepting connection {fd}\")\n" -" conn, addr = sock.accept()\n" -" conn.setblocking(False)\n" -" print(f\"Accepted connection {conn} from {addr}\")\n" -" ep.register(conn, select.EPOLLIN)\n" -" elif conn and fd == conn.fileno():\n" -" # Check if there is data to read.\n" -" print(f\"Reading data {fd}\")\n" -" data = conn.recv(1024)\n" -" if data:\n" -" # You should catch UnicodeDecodeError exception for safety.\n" -" cmd = data.decode()\n" -" if cmd.startswith(\"stop\"):\n" -" print(f\"Stopping server\")\n" -" is_active = False\n" -" else:\n" -" print(f\"Unknown command: {cmd}\")\n" -" else:\n" -" # No more data, close connection\n" -" print(f\"Closing connection {fd}\")\n" -" ep.unregister(conn)\n" -" conn.close()\n" -" conn = None\n" -" elif fd in fds:\n" -" print(f\"Reading timer {fd}\")\n" -" count = int.from_bytes(os.read(fd, 8), byteorder=sys.byteorder)\n" -" print(f\"Timer {fds.index(fd) + 1} expired {count} times\")\n" -" else:\n" -" print(f\"Unknown file descriptor {fd}\")\n" -"finally:\n" -" for fd in fds:\n" -" ep.unregister(fd)\n" -" os.close(fd)\n" -" ep.close()" -msgstr "" - -#: ../../howto/timerfd.rst:153 -msgid "" -"This example shows how :func:`~select.select` can be used with timer file " -"descriptors to wait until the file descriptor is ready for reading:" -msgstr "" - -#: ../../howto/timerfd.rst:156 -msgid "" -"import os, time, select, socket, sys\n" -"\n" -"# In this example, use loopback address to send \"stop\" command to the server.\n" -"#\n" -"# $ telnet 127.0.0.1 1234\n" -"# Trying 127.0.0.1...\n" -"# Connected to 127.0.0.1.\n" -"# Escape character is '^]'.\n" -"# stop\n" -"# Connection closed by foreign host.\n" -"#\n" -"sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n" -"sock.bind((\"127.0.0.1\", 1234))\n" -"sock.setblocking(False)\n" -"sock.listen(1)\n" -"\n" -"# Create timer file descriptors in non-blocking mode.\n" -"num = 3\n" -"fds = [os.timerfd_create(time.CLOCK_REALTIME, flags=os.TFD_NONBLOCK)\n" -" for _ in range(num)]\n" -"select_fds = fds + [sock]\n" -"\n" -"# Start the timers with os.timerfd_settime() in seconds.\n" -"# Timer 1 fires every 0.25 seconds; timer 2 every 0.5 seconds; etc\n" -"for i, fd in enumerate(fds, start=1):\n" -" os.timerfd_settime(fd, initial=i/4, interval=i/4)\n" -"\n" -"timeout = 3\n" -"try:\n" -" conn = None\n" -" is_active = True\n" -" while is_active:\n" -" # Wait for the timer to expire for 3 seconds.\n" -" # select.select() returns a list of file descriptors or objects.\n" -" rfd, wfd, xfd = select.select(select_fds, select_fds, select_fds, timeout)\n" -" for fd in rfd:\n" -" if fd == sock:\n" -" # Check if there is a connection request.\n" -" print(f\"Accepting connection {fd}\")\n" -" conn, addr = sock.accept()\n" -" conn.setblocking(False)\n" -" print(f\"Accepted connection {conn} from {addr}\")\n" -" select_fds.append(conn)\n" -" elif conn and fd == conn:\n" -" # Check if there is data to read.\n" -" print(f\"Reading data {fd}\")\n" -" data = conn.recv(1024)\n" -" if data:\n" -" # You should catch UnicodeDecodeError exception for safety.\n" -" cmd = data.decode()\n" -" if cmd.startswith(\"stop\"):\n" -" print(f\"Stopping server\")\n" -" is_active = False\n" -" else:\n" -" print(f\"Unknown command: {cmd}\")\n" -" else:\n" -" # No more data, close connection\n" -" print(f\"Closing connection {fd}\")\n" -" select_fds.remove(conn)\n" -" conn.close()\n" -" conn = None\n" -" elif fd in fds:\n" -" print(f\"Reading timer {fd}\")\n" -" count = int.from_bytes(os.read(fd, 8), byteorder=sys.byteorder)\n" -" print(f\"Timer {fds.index(fd) + 1} expired {count} times\")\n" -" else:\n" -" print(f\"Unknown file descriptor {fd}\")\n" -"finally:\n" -" for fd in fds:\n" -" os.close(fd)\n" -" sock.close()\n" -" sock = None" -msgstr "" diff --git a/python-newest.howto--unicode/id.po b/python-newest.howto--unicode/id.po deleted file mode 100644 index e2be445..0000000 --- a/python-newest.howto--unicode/id.po +++ /dev/null @@ -1,1146 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Akhmat Safrudin , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Akhmat Safrudin , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/unicode.rst:5 -msgid "Unicode HOWTO" -msgstr "*Unicode* HOWTO" - -#: ../../howto/unicode.rst:0 -msgid "Release" -msgstr "Rilis" - -#: ../../howto/unicode.rst:7 -msgid "1.12" -msgstr "1.12" - -#: ../../howto/unicode.rst:9 -msgid "" -"This HOWTO discusses Python's support for the Unicode specification for " -"representing textual data, and explains various problems that people " -"commonly encounter when trying to work with Unicode." -msgstr "" - -#: ../../howto/unicode.rst:15 -msgid "Introduction to Unicode" -msgstr "Pengenalan *Unicode*" - -#: ../../howto/unicode.rst:18 -msgid "Definitions" -msgstr "Definisi" - -#: ../../howto/unicode.rst:20 -msgid "" -"Today's programs need to be able to handle a wide variety of characters. " -"Applications are often internationalized to display messages and output in a" -" variety of user-selectable languages; the same program might need to output" -" an error message in English, French, Japanese, Hebrew, or Russian. Web " -"content can be written in any of these languages and can also include a " -"variety of emoji symbols. Python's string type uses the Unicode Standard for" -" representing characters, which lets Python programs work with all these " -"different possible characters." -msgstr "" - -#: ../../howto/unicode.rst:30 -msgid "" -"Unicode (https://www.unicode.org/) is a specification that aims to list " -"every character used by human languages and give each character its own " -"unique code. The Unicode specifications are continually revised and updated" -" to add new languages and symbols." -msgstr "" - -#: ../../howto/unicode.rst:35 -msgid "" -"A **character** is the smallest possible component of a text. 'A', 'B', " -"'C', etc., are all different characters. So are 'È' and 'Í'. Characters " -"vary depending on the language or context you're talking about. For " -"example, there's a character for \"Roman Numeral One\", 'Ⅰ', that's separate" -" from the uppercase letter 'I'. They'll usually look the same, but these " -"are two different characters that have different meanings." -msgstr "" - -#: ../../howto/unicode.rst:42 -msgid "" -"The Unicode standard describes how characters are represented by **code " -"points**. A code point value is an integer in the range 0 to 0x10FFFF " -"(about 1.1 million values, the `actual number assigned " -"`_ is less than that). In " -"the standard and in this document, a code point is written using the " -"notation ``U+265E`` to mean the character with value ``0x265e`` (9,822 in " -"decimal)." -msgstr "" - -#: ../../howto/unicode.rst:50 -msgid "" -"The Unicode standard contains a lot of tables listing characters and their " -"corresponding code points:" -msgstr "" - -#: ../../howto/unicode.rst:53 -msgid "" -"0061 'a'; LATIN SMALL LETTER A\n" -"0062 'b'; LATIN SMALL LETTER B\n" -"0063 'c'; LATIN SMALL LETTER C\n" -"...\n" -"007B '{'; LEFT CURLY BRACKET\n" -"...\n" -"2167 'Ⅷ'; ROMAN NUMERAL EIGHT\n" -"2168 'Ⅸ'; ROMAN NUMERAL NINE\n" -"...\n" -"265E '♞'; BLACK CHESS KNIGHT\n" -"265F '♟'; BLACK CHESS PAWN\n" -"...\n" -"1F600 '😀'; GRINNING FACE\n" -"1F609 '😉'; WINKING FACE\n" -"..." -msgstr "" - -#: ../../howto/unicode.rst:71 -msgid "" -"Strictly, these definitions imply that it's meaningless to say 'this is " -"character ``U+265E``'. ``U+265E`` is a code point, which represents some " -"particular character; in this case, it represents the character 'BLACK CHESS" -" KNIGHT', '♞'. In informal contexts, this distinction between code points " -"and characters will sometimes be forgotten." -msgstr "" - -#: ../../howto/unicode.rst:78 -msgid "" -"A character is represented on a screen or on paper by a set of graphical " -"elements that's called a **glyph**. The glyph for an uppercase A, for " -"example, is two diagonal strokes and a horizontal stroke, though the exact " -"details will depend on the font being used. Most Python code doesn't need " -"to worry about glyphs; figuring out the correct glyph to display is " -"generally the job of a GUI toolkit or a terminal's font renderer." -msgstr "" - -#: ../../howto/unicode.rst:87 -msgid "Encodings" -msgstr "" - -#: ../../howto/unicode.rst:89 -msgid "" -"To summarize the previous section: a Unicode string is a sequence of code " -"points, which are numbers from 0 through ``0x10FFFF`` (1,114,111 decimal). " -"This sequence of code points needs to be represented in memory as a set of " -"**code units**, and **code units** are then mapped to 8-bit bytes. The " -"rules for translating a Unicode string into a sequence of bytes are called a" -" **character encoding**, or just an **encoding**." -msgstr "" - -#: ../../howto/unicode.rst:97 -msgid "" -"The first encoding you might think of is using 32-bit integers as the code " -"unit, and then using the CPU's representation of 32-bit integers. In this " -"representation, the string \"Python\" might look like this:" -msgstr "" - -#: ../../howto/unicode.rst:101 -msgid "" -" P y t h o n\n" -"0x50 00 00 00 79 00 00 00 74 00 00 00 68 00 00 00 6f 00 00 00 6e 00 00 00\n" -" 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23" -msgstr "" - -#: ../../howto/unicode.rst:107 -msgid "" -"This representation is straightforward but using it presents a number of " -"problems." -msgstr "" - -#: ../../howto/unicode.rst:110 -msgid "It's not portable; different processors order the bytes differently." -msgstr "" - -#: ../../howto/unicode.rst:112 -msgid "" -"It's very wasteful of space. In most texts, the majority of the code points" -" are less than 127, or less than 255, so a lot of space is occupied by " -"``0x00`` bytes. The above string takes 24 bytes compared to the 6 bytes " -"needed for an ASCII representation. Increased RAM usage doesn't matter too " -"much (desktop computers have gigabytes of RAM, and strings aren't usually " -"that large), but expanding our usage of disk and network bandwidth by a " -"factor of 4 is intolerable." -msgstr "" - -#: ../../howto/unicode.rst:120 -msgid "" -"It's not compatible with existing C functions such as ``strlen()``, so a new" -" family of wide string functions would need to be used." -msgstr "" - -#: ../../howto/unicode.rst:123 -msgid "" -"Therefore this encoding isn't used very much, and people instead choose " -"other encodings that are more efficient and convenient, such as UTF-8." -msgstr "" - -#: ../../howto/unicode.rst:126 -msgid "" -"UTF-8 is one of the most commonly used encodings, and Python often defaults " -"to using it. UTF stands for \"Unicode Transformation Format\", and the '8' " -"means that 8-bit values are used in the encoding. (There are also UTF-16 " -"and UTF-32 encodings, but they are less frequently used than UTF-8.) UTF-8 " -"uses the following rules:" -msgstr "" - -#: ../../howto/unicode.rst:132 -msgid "" -"If the code point is < 128, it's represented by the corresponding byte " -"value." -msgstr "" - -#: ../../howto/unicode.rst:133 -msgid "" -"If the code point is >= 128, it's turned into a sequence of two, three, or " -"four bytes, where each byte of the sequence is between 128 and 255." -msgstr "" - -#: ../../howto/unicode.rst:136 -msgid "UTF-8 has several convenient properties:" -msgstr "" - -#: ../../howto/unicode.rst:138 -msgid "It can handle any Unicode code point." -msgstr "" - -#: ../../howto/unicode.rst:139 -msgid "" -"A Unicode string is turned into a sequence of bytes that contains embedded " -"zero bytes only where they represent the null character (U+0000). This means" -" that UTF-8 strings can be processed by C functions such as ``strcpy()`` and" -" sent through protocols that can't handle zero bytes for anything other than" -" end-of-string markers." -msgstr "" - -#: ../../howto/unicode.rst:144 -msgid "A string of ASCII text is also valid UTF-8 text." -msgstr "" - -#: ../../howto/unicode.rst:145 -msgid "" -"UTF-8 is fairly compact; the majority of commonly used characters can be " -"represented with one or two bytes." -msgstr "" - -#: ../../howto/unicode.rst:147 -msgid "" -"If bytes are corrupted or lost, it's possible to determine the start of the " -"next UTF-8-encoded code point and resynchronize. It's also unlikely that " -"random 8-bit data will look like valid UTF-8." -msgstr "" - -#: ../../howto/unicode.rst:150 -msgid "" -"UTF-8 is a byte oriented encoding. The encoding specifies that each " -"character is represented by a specific sequence of one or more bytes. This " -"avoids the byte-ordering issues that can occur with integer and word " -"oriented encodings, like UTF-16 and UTF-32, where the sequence of bytes " -"varies depending on the hardware on which the string was encoded." -msgstr "" - -#: ../../howto/unicode.rst:158 ../../howto/unicode.rst:514 -#: ../../howto/unicode.rst:735 -msgid "References" -msgstr "" - -#: ../../howto/unicode.rst:160 -msgid "" -"The `Unicode Consortium site `_ has character " -"charts, a glossary, and PDF versions of the Unicode specification. Be " -"prepared for some difficult reading. `A chronology " -"`_ of the origin and development of " -"Unicode is also available on the site." -msgstr "" - -#: ../../howto/unicode.rst:165 -msgid "" -"On the Computerphile Youtube channel, Tom Scott briefly `discusses the " -"history of Unicode and UTF-8 `_" -" (9 minutes 36 seconds)." -msgstr "" - -#: ../../howto/unicode.rst:169 -msgid "" -"To help understand the standard, Jukka Korpela has written `an introductory " -"guide `_ to reading the Unicode " -"character tables." -msgstr "" - -#: ../../howto/unicode.rst:173 -msgid "" -"Another `good introductory article " -"`_ was written by Joel Spolsky. If this " -"introduction didn't make things clear to you, you should try reading this " -"alternate article before continuing." -msgstr "" - -#: ../../howto/unicode.rst:178 -msgid "" -"Wikipedia entries are often helpful; see the entries for \"`character " -"encoding `_\" and `UTF-8 " -"`_, for example." -msgstr "" - -#: ../../howto/unicode.rst:184 -msgid "Python's Unicode Support" -msgstr "" - -#: ../../howto/unicode.rst:186 -msgid "" -"Now that you've learned the rudiments of Unicode, we can look at Python's " -"Unicode features." -msgstr "" - -#: ../../howto/unicode.rst:190 -msgid "The String Type" -msgstr "" - -#: ../../howto/unicode.rst:192 -msgid "" -"Since Python 3.0, the language's :class:`str` type contains Unicode " -"characters, meaning any string created using ``\"unicode rocks!\"``, " -"``'unicode rocks!'``, or the triple-quoted string syntax is stored as " -"Unicode." -msgstr "" - -#: ../../howto/unicode.rst:196 -msgid "" -"The default encoding for Python source code is UTF-8, so you can simply " -"include a Unicode character in a string literal::" -msgstr "" - -#: ../../howto/unicode.rst:199 -msgid "" -"try:\n" -" with open('/tmp/input.txt', 'r') as f:\n" -" ...\n" -"except OSError:\n" -" # 'File not found' error message.\n" -" print(\"Fichier non trouvé\")" -msgstr "" - -#: ../../howto/unicode.rst:206 -msgid "" -"Side note: Python 3 also supports using Unicode characters in identifiers::" -msgstr "" - -#: ../../howto/unicode.rst:208 -msgid "" -"répertoire = \"/tmp/records.log\"\n" -"with open(répertoire, \"w\") as f:\n" -" f.write(\"test\\n\")" -msgstr "" - -#: ../../howto/unicode.rst:212 -msgid "" -"If you can't enter a particular character in your editor or want to keep the" -" source code ASCII-only for some reason, you can also use escape sequences " -"in string literals. (Depending on your system, you may see the actual " -"capital-delta glyph instead of a \\u escape.) ::" -msgstr "" - -#: ../../howto/unicode.rst:217 -msgid "" -">>> \"\\N{GREEK CAPITAL LETTER DELTA}\" # Using the character name\n" -"'\\u0394'\n" -">>> \"\\u0394\" # Using a 16-bit hex value\n" -"'\\u0394'\n" -">>> \"\\U00000394\" # Using a 32-bit hex value\n" -"'\\u0394'" -msgstr "" - -#: ../../howto/unicode.rst:224 -msgid "" -"In addition, one can create a string using the :func:`~bytes.decode` method " -"of :class:`bytes`. This method takes an *encoding* argument, such as " -"``UTF-8``, and optionally an *errors* argument." -msgstr "" - -#: ../../howto/unicode.rst:228 -msgid "" -"The *errors* argument specifies the response when the input string can't be " -"converted according to the encoding's rules. Legal values for this argument" -" are ``'strict'`` (raise a :exc:`UnicodeDecodeError` exception), " -"``'replace'`` (use ``U+FFFD``, ``REPLACEMENT CHARACTER``), ``'ignore'`` " -"(just leave the character out of the Unicode result), or " -"``'backslashreplace'`` (inserts a ``\\xNN`` escape sequence). The following " -"examples show the differences::" -msgstr "" - -#: ../../howto/unicode.rst:236 -msgid "" -">>> b'\\x80abc'.decode(\"utf-8\", \"strict\")\n" -"Traceback (most recent call last):\n" -" ...\n" -"UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0:\n" -" invalid start byte\n" -">>> b'\\x80abc'.decode(\"utf-8\", \"replace\")\n" -"'\\ufffdabc'\n" -">>> b'\\x80abc'.decode(\"utf-8\", \"backslashreplace\")\n" -"'\\\\x80abc'\n" -">>> b'\\x80abc'.decode(\"utf-8\", \"ignore\")\n" -"'abc'" -msgstr "" - -#: ../../howto/unicode.rst:248 -msgid "" -"Encodings are specified as strings containing the encoding's name. Python " -"comes with roughly 100 different encodings; see the Python Library Reference" -" at :ref:`standard-encodings` for a list. Some encodings have multiple " -"names; for example, ``'latin-1'``, ``'iso_8859_1'`` and ``'8859``' are all " -"synonyms for the same encoding." -msgstr "" - -#: ../../howto/unicode.rst:254 -msgid "" -"One-character Unicode strings can also be created with the :func:`chr` " -"built-in function, which takes integers and returns a Unicode string of " -"length 1 that contains the corresponding code point. The reverse operation " -"is the built-in :func:`ord` function that takes a one-character Unicode " -"string and returns the code point value::" -msgstr "" - -#: ../../howto/unicode.rst:260 -msgid "" -">>> chr(57344)\n" -"'\\ue000'\n" -">>> ord('\\ue000')\n" -"57344" -msgstr "" - -#: ../../howto/unicode.rst:266 -msgid "Converting to Bytes" -msgstr "" - -#: ../../howto/unicode.rst:268 -msgid "" -"The opposite method of :meth:`bytes.decode` is :meth:`str.encode`, which " -"returns a :class:`bytes` representation of the Unicode string, encoded in " -"the requested *encoding*." -msgstr "" - -#: ../../howto/unicode.rst:272 -msgid "" -"The *errors* parameter is the same as the parameter of the " -":meth:`~bytes.decode` method but supports a few more possible handlers. As " -"well as ``'strict'``, ``'ignore'``, and ``'replace'`` (which in this case " -"inserts a question mark instead of the unencodable character), there is also" -" ``'xmlcharrefreplace'`` (inserts an XML character reference), " -"``backslashreplace`` (inserts a ``\\uNNNN`` escape sequence) and " -"``namereplace`` (inserts a ``\\N{...}`` escape sequence)." -msgstr "" - -#: ../../howto/unicode.rst:280 -msgid "The following example shows the different results::" -msgstr "" - -#: ../../howto/unicode.rst:282 -msgid "" -">>> u = chr(40960) + 'abcd' + chr(1972)\n" -">>> u.encode('utf-8')\n" -"b'\\xea\\x80\\x80abcd\\xde\\xb4'\n" -">>> u.encode('ascii')\n" -"Traceback (most recent call last):\n" -" ...\n" -"UnicodeEncodeError: 'ascii' codec can't encode character '\\ua000' in\n" -" position 0: ordinal not in range(128)\n" -">>> u.encode('ascii', 'ignore')\n" -"b'abcd'\n" -">>> u.encode('ascii', 'replace')\n" -"b'?abcd?'\n" -">>> u.encode('ascii', 'xmlcharrefreplace')\n" -"b'ꀀabcd޴'\n" -">>> u.encode('ascii', 'backslashreplace')\n" -"b'\\\\ua000abcd\\\\u07b4'\n" -">>> u.encode('ascii', 'namereplace')\n" -"b'\\\\N{YI SYLLABLE IT}abcd\\\\u07b4'" -msgstr "" - -#: ../../howto/unicode.rst:301 -msgid "" -"The low-level routines for registering and accessing the available encodings" -" are found in the :mod:`codecs` module. Implementing new encodings also " -"requires understanding the :mod:`codecs` module. However, the encoding and " -"decoding functions returned by this module are usually more low-level than " -"is comfortable, and writing new encodings is a specialized task, so the " -"module won't be covered in this HOWTO." -msgstr "" - -#: ../../howto/unicode.rst:310 -msgid "Unicode Literals in Python Source Code" -msgstr "" - -#: ../../howto/unicode.rst:312 -msgid "" -"In Python source code, specific Unicode code points can be written using the" -" ``\\u`` escape sequence, which is followed by four hex digits giving the " -"code point. The ``\\U`` escape sequence is similar, but expects eight hex " -"digits, not four::" -msgstr "" - -#: ../../howto/unicode.rst:317 -msgid "" -">>> s = \"a\\xac\\u1234\\u20ac\\U00008000\"\n" -"... # ^^^^ two-digit hex escape\n" -"... # ^^^^^^ four-digit Unicode escape\n" -"... # ^^^^^^^^^^ eight-digit Unicode escape\n" -">>> [ord(c) for c in s]\n" -"[97, 172, 4660, 8364, 32768]" -msgstr "" - -#: ../../howto/unicode.rst:324 -msgid "" -"Using escape sequences for code points greater than 127 is fine in small " -"doses, but becomes an annoyance if you're using many accented characters, as" -" you would in a program with messages in French or some other accent-using " -"language. You can also assemble strings using the :func:`chr` built-in " -"function, but this is even more tedious." -msgstr "" - -#: ../../howto/unicode.rst:330 -msgid "" -"Ideally, you'd want to be able to write literals in your language's natural " -"encoding. You could then edit Python source code with your favorite editor " -"which would display the accented characters naturally, and have the right " -"characters used at runtime." -msgstr "" - -#: ../../howto/unicode.rst:335 -msgid "" -"Python supports writing source code in UTF-8 by default, but you can use " -"almost any encoding if you declare the encoding being used. This is done by" -" including a special comment as either the first or second line of the " -"source file::" -msgstr "" - -#: ../../howto/unicode.rst:339 -msgid "" -"#!/usr/bin/env python\n" -"# -*- coding: latin-1 -*-\n" -"\n" -"u = 'abcdé'\n" -"print(ord(u[-1]))" -msgstr "" - -#: ../../howto/unicode.rst:345 -msgid "" -"The syntax is inspired by Emacs's notation for specifying variables local to" -" a file. Emacs supports many different variables, but Python only supports " -"'coding'. The ``-*-`` symbols indicate to Emacs that the comment is " -"special; they have no significance to Python but are a convention. Python " -"looks for ``coding: name`` or ``coding=name`` in the comment." -msgstr "" - -#: ../../howto/unicode.rst:351 -msgid "" -"If you don't include such a comment, the default encoding used will be UTF-8" -" as already mentioned. See also :pep:`263` for more information." -msgstr "" - -#: ../../howto/unicode.rst:356 -msgid "Unicode Properties" -msgstr "" - -#: ../../howto/unicode.rst:358 -msgid "" -"The Unicode specification includes a database of information about code " -"points. For each defined code point, the information includes the " -"character's name, its category, the numeric value if applicable (for " -"characters representing numeric concepts such as the Roman numerals, " -"fractions such as one-third and four-fifths, etc.). There are also display-" -"related properties, such as how to use the code point in bidirectional text." -msgstr "" - -#: ../../howto/unicode.rst:366 -msgid "" -"The following program displays some information about several characters, " -"and prints the numeric value of one particular character::" -msgstr "" - -#: ../../howto/unicode.rst:369 -msgid "" -"import unicodedata\n" -"\n" -"u = chr(233) + chr(0x0bf2) + chr(3972) + chr(6000) + chr(13231)\n" -"\n" -"for i, c in enumerate(u):\n" -" print(i, '%04x' % ord(c), unicodedata.category(c), end=\" \")\n" -" print(unicodedata.name(c))\n" -"\n" -"# Get numeric value of second character\n" -"print(unicodedata.numeric(u[1]))" -msgstr "" - -#: ../../howto/unicode.rst:380 -msgid "When run, this prints:" -msgstr "" - -#: ../../howto/unicode.rst:382 -msgid "" -"0 00e9 Ll LATIN SMALL LETTER E WITH ACUTE\n" -"1 0bf2 No TAMIL NUMBER ONE THOUSAND\n" -"2 0f84 Mn TIBETAN MARK HALANTA\n" -"3 1770 Lo TAGBANWA LETTER SA\n" -"4 33af So SQUARE RAD OVER S SQUARED\n" -"1000.0" -msgstr "" - -#: ../../howto/unicode.rst:391 -msgid "" -"The category codes are abbreviations describing the nature of the character." -" These are grouped into categories such as \"Letter\", \"Number\", " -"\"Punctuation\", or \"Symbol\", which in turn are broken up into " -"subcategories. To take the codes from the above output, ``'Ll'`` means " -"'Letter, lowercase', ``'No'`` means \"Number, other\", ``'Mn'`` is \"Mark, " -"nonspacing\", and ``'So'`` is \"Symbol, other\". See `the General Category " -"Values section of the Unicode Character Database documentation " -"`_ for a list" -" of category codes." -msgstr "" - -#: ../../howto/unicode.rst:402 -msgid "Comparing Strings" -msgstr "" - -#: ../../howto/unicode.rst:404 -msgid "" -"Unicode adds some complication to comparing strings, because the same set of" -" characters can be represented by different sequences of code points. For " -"example, a letter like 'ê' can be represented as a single code point U+00EA," -" or as U+0065 U+0302, which is the code point for 'e' followed by a code " -"point for 'COMBINING CIRCUMFLEX ACCENT'. These will produce the same output" -" when printed, but one is a string of length 1 and the other is of length 2." -msgstr "" - -#: ../../howto/unicode.rst:412 -msgid "" -"One tool for a case-insensitive comparison is the :meth:`~str.casefold` " -"string method that converts a string to a case-insensitive form following an" -" algorithm described by the Unicode Standard. This algorithm has special " -"handling for characters such as the German letter 'ß' (code point U+00DF), " -"which becomes the pair of lowercase letters 'ss'." -msgstr "" - -#: ../../howto/unicode.rst:421 -msgid "" -">>> street = 'Gürzenichstraße'\n" -">>> street.casefold()\n" -"'gürzenichstrasse'" -msgstr "" - -#: ../../howto/unicode.rst:425 -msgid "" -"A second tool is the :mod:`unicodedata` module's " -":func:`~unicodedata.normalize` function that converts strings to one of " -"several normal forms, where letters followed by a combining character are " -"replaced with single characters. :func:`~unicodedata.normalize` can be used" -" to perform string comparisons that won't falsely report inequality if two " -"strings use combining characters differently:" -msgstr "" - -#: ../../howto/unicode.rst:434 -msgid "" -"import unicodedata\n" -"\n" -"def compare_strs(s1, s2):\n" -" def NFD(s):\n" -" return unicodedata.normalize('NFD', s)\n" -"\n" -" return NFD(s1) == NFD(s2)\n" -"\n" -"single_char = 'ê'\n" -"multiple_chars = '\\N{LATIN SMALL LETTER E}\\N{COMBINING CIRCUMFLEX ACCENT}'\n" -"print('length of first string=', len(single_char))\n" -"print('length of second string=', len(multiple_chars))\n" -"print(compare_strs(single_char, multiple_chars))" -msgstr "" - -#: ../../howto/unicode.rst:448 -msgid "When run, this outputs:" -msgstr "" - -#: ../../howto/unicode.rst:450 -msgid "" -"$ python compare-strs.py\n" -"length of first string= 1\n" -"length of second string= 2\n" -"True" -msgstr "" - -#: ../../howto/unicode.rst:457 -msgid "" -"The first argument to the :func:`~unicodedata.normalize` function is a " -"string giving the desired normalization form, which can be one of 'NFC', " -"'NFKC', 'NFD', and 'NFKD'." -msgstr "" - -#: ../../howto/unicode.rst:461 -msgid "The Unicode Standard also specifies how to do caseless comparisons::" -msgstr "" - -#: ../../howto/unicode.rst:463 -msgid "" -"import unicodedata\n" -"\n" -"def compare_caseless(s1, s2):\n" -" def NFD(s):\n" -" return unicodedata.normalize('NFD', s)\n" -"\n" -" return NFD(NFD(s1).casefold()) == NFD(NFD(s2).casefold())\n" -"\n" -"# Example usage\n" -"single_char = 'ê'\n" -"multiple_chars = '\\N{LATIN CAPITAL LETTER E}\\N{COMBINING CIRCUMFLEX ACCENT}'\n" -"\n" -"print(compare_caseless(single_char, multiple_chars))" -msgstr "" - -#: ../../howto/unicode.rst:477 -msgid "" -"This will print ``True``. (Why is :func:`!NFD` invoked twice? Because " -"there are a few characters that make :meth:`~str.casefold` return a non-" -"normalized string, so the result needs to be normalized again. See section " -"3.13 of the Unicode Standard for a discussion and an example.)" -msgstr "" - -#: ../../howto/unicode.rst:484 -msgid "Unicode Regular Expressions" -msgstr "" - -#: ../../howto/unicode.rst:486 -msgid "" -"The regular expressions supported by the :mod:`re` module can be provided " -"either as bytes or strings. Some of the special character sequences such as" -" ``\\d`` and ``\\w`` have different meanings depending on whether the " -"pattern is supplied as bytes or a string. For example, ``\\d`` will match " -"the characters ``[0-9]`` in bytes but in strings will match any character " -"that's in the ``'Nd'`` category." -msgstr "" - -#: ../../howto/unicode.rst:493 -msgid "" -"The string in this example has the number 57 written in both Thai and Arabic" -" numerals::" -msgstr "" - -#: ../../howto/unicode.rst:496 -msgid "" -"import re\n" -"p = re.compile(r'\\d+')\n" -"\n" -"s = \"Over \\u0e55\\u0e57 57 flavours\"\n" -"m = p.search(s)\n" -"print(repr(m.group()))" -msgstr "" - -#: ../../howto/unicode.rst:503 -msgid "" -"When executed, ``\\d+`` will match the Thai numerals and print them out. If" -" you supply the :const:`re.ASCII` flag to :func:`~re.compile`, ``\\d+`` will" -" match the substring \"57\" instead." -msgstr "" - -#: ../../howto/unicode.rst:507 -msgid "" -"Similarly, ``\\w`` matches a wide variety of Unicode characters but only " -"``[a-zA-Z0-9_]`` in bytes or if :const:`re.ASCII` is supplied, and ``\\s`` " -"will match either Unicode whitespace characters or ``[ \\t\\n\\r\\f\\v]``." -msgstr "" - -#: ../../howto/unicode.rst:518 -msgid "Some good alternative discussions of Python's Unicode support are:" -msgstr "" - -#: ../../howto/unicode.rst:520 -msgid "" -"`Processing Text Files in Python 3 `_, " -"by Nick Coghlan." -msgstr "" - -#: ../../howto/unicode.rst:521 -msgid "" -"`Pragmatic Unicode `_, a PyCon " -"2012 presentation by Ned Batchelder." -msgstr "" - -#: ../../howto/unicode.rst:523 -msgid "" -"The :class:`str` type is described in the Python library reference at " -":ref:`textseq`." -msgstr "" - -#: ../../howto/unicode.rst:526 -msgid "The documentation for the :mod:`unicodedata` module." -msgstr "" - -#: ../../howto/unicode.rst:528 -msgid "The documentation for the :mod:`codecs` module." -msgstr "" - -#: ../../howto/unicode.rst:530 -msgid "" -"Marc-André Lemburg gave `a presentation titled \"Python and Unicode\" (PDF " -"slides) `_ at " -"EuroPython 2002. The slides are an excellent overview of the design of " -"Python 2's Unicode features (where the Unicode string type is called " -"``unicode`` and literals start with ``u``)." -msgstr "" - -#: ../../howto/unicode.rst:538 -msgid "Reading and Writing Unicode Data" -msgstr "" - -#: ../../howto/unicode.rst:540 -msgid "" -"Once you've written some code that works with Unicode data, the next problem" -" is input/output. How do you get Unicode strings into your program, and how" -" do you convert Unicode into a form suitable for storage or transmission?" -msgstr "" - -#: ../../howto/unicode.rst:544 -msgid "" -"It's possible that you may not need to do anything depending on your input " -"sources and output destinations; you should check whether the libraries used" -" in your application support Unicode natively. XML parsers often return " -"Unicode data, for example. Many relational databases also support Unicode-" -"valued columns and can return Unicode values from an SQL query." -msgstr "" - -#: ../../howto/unicode.rst:550 -msgid "" -"Unicode data is usually converted to a particular encoding before it gets " -"written to disk or sent over a socket. It's possible to do all the work " -"yourself: open a file, read an 8-bit bytes object from it, and convert the " -"bytes with ``bytes.decode(encoding)``. However, the manual approach is not " -"recommended." -msgstr "" - -#: ../../howto/unicode.rst:555 -msgid "" -"One problem is the multi-byte nature of encodings; one Unicode character can" -" be represented by several bytes. If you want to read the file in " -"arbitrary-sized chunks (say, 1024 or 4096 bytes), you need to write error-" -"handling code to catch the case where only part of the bytes encoding a " -"single Unicode character are read at the end of a chunk. One solution would" -" be to read the entire file into memory and then perform the decoding, but " -"that prevents you from working with files that are extremely large; if you " -"need to read a 2 GiB file, you need 2 GiB of RAM. (More, really, since for " -"at least a moment you'd need to have both the encoded string and its Unicode" -" version in memory.)" -msgstr "" - -#: ../../howto/unicode.rst:565 -msgid "" -"The solution would be to use the low-level decoding interface to catch the " -"case of partial coding sequences. The work of implementing this has already" -" been done for you: the built-in :func:`open` function can return a file-" -"like object that assumes the file's contents are in a specified encoding and" -" accepts Unicode parameters for methods such as :meth:`~io.TextIOBase.read` " -"and :meth:`~io.TextIOBase.write`. This works through :func:`open`\\'s " -"*encoding* and *errors* parameters which are interpreted just like those in " -":meth:`str.encode` and :meth:`bytes.decode`." -msgstr "" - -#: ../../howto/unicode.rst:574 -msgid "Reading Unicode from a file is therefore simple::" -msgstr "" - -#: ../../howto/unicode.rst:576 -msgid "" -"with open('unicode.txt', encoding='utf-8') as f:\n" -" for line in f:\n" -" print(repr(line))" -msgstr "" - -#: ../../howto/unicode.rst:580 -msgid "" -"It's also possible to open files in update mode, allowing both reading and " -"writing::" -msgstr "" - -#: ../../howto/unicode.rst:583 -msgid "" -"with open('test', encoding='utf-8', mode='w+') as f:\n" -" f.write('\\u4500 blah blah blah\\n')\n" -" f.seek(0)\n" -" print(repr(f.readline()[:1]))" -msgstr "" - -#: ../../howto/unicode.rst:588 -msgid "" -"The Unicode character ``U+FEFF`` is used as a byte-order mark (BOM), and is " -"often written as the first character of a file in order to assist with " -"autodetection of the file's byte ordering. Some encodings, such as UTF-16, " -"expect a BOM to be present at the start of a file; when such an encoding is " -"used, the BOM will be automatically written as the first character and will " -"be silently dropped when the file is read. There are variants of these " -"encodings, such as 'utf-16-le' and 'utf-16-be' for little-endian and big-" -"endian encodings, that specify one particular byte ordering and don't skip " -"the BOM." -msgstr "" - -#: ../../howto/unicode.rst:597 -msgid "" -"In some areas, it is also convention to use a \"BOM\" at the start of UTF-8 " -"encoded files; the name is misleading since UTF-8 is not byte-order " -"dependent. The mark simply announces that the file is encoded in UTF-8. For" -" reading such files, use the 'utf-8-sig' codec to automatically skip the " -"mark if present." -msgstr "" - -#: ../../howto/unicode.rst:604 -msgid "Unicode filenames" -msgstr "" - -#: ../../howto/unicode.rst:606 -msgid "" -"Most of the operating systems in common use today support filenames that " -"contain arbitrary Unicode characters. Usually this is implemented by " -"converting the Unicode string into some encoding that varies depending on " -"the system. Today Python is converging on using UTF-8: Python on MacOS has " -"used UTF-8 for several versions, and Python 3.6 switched to using UTF-8 on " -"Windows as well. On Unix systems, there will only be a :term:`filesystem " -"encoding `. if you've set the " -"``LANG`` or ``LC_CTYPE`` environment variables; if you haven't, the default " -"encoding is again UTF-8." -msgstr "" - -#: ../../howto/unicode.rst:616 -msgid "" -"The :func:`sys.getfilesystemencoding` function returns the encoding to use " -"on your current system, in case you want to do the encoding manually, but " -"there's not much reason to bother. When opening a file for reading or " -"writing, you can usually just provide the Unicode string as the filename, " -"and it will be automatically converted to the right encoding for you::" -msgstr "" - -#: ../../howto/unicode.rst:622 -msgid "" -"filename = 'filename\\u4500abc'\n" -"with open(filename, 'w') as f:\n" -" f.write('blah\\n')" -msgstr "" - -#: ../../howto/unicode.rst:626 -msgid "" -"Functions in the :mod:`os` module such as :func:`os.stat` will also accept " -"Unicode filenames." -msgstr "" - -#: ../../howto/unicode.rst:629 -msgid "" -"The :func:`os.listdir` function returns filenames, which raises an issue: " -"should it return the Unicode version of filenames, or should it return bytes" -" containing the encoded versions? :func:`os.listdir` can do both, depending" -" on whether you provided the directory path as bytes or a Unicode string. " -"If you pass a Unicode string as the path, filenames will be decoded using " -"the filesystem's encoding and a list of Unicode strings will be returned, " -"while passing a byte path will return the filenames as bytes. For example, " -"assuming the default :term:`filesystem encoding ` is UTF-8, running the following program::" -msgstr "" - -#: ../../howto/unicode.rst:639 -msgid "" -"fn = 'filename\\u4500abc'\n" -"f = open(fn, 'w')\n" -"f.close()\n" -"\n" -"import os\n" -"print(os.listdir(b'.'))\n" -"print(os.listdir('.'))" -msgstr "" - -#: ../../howto/unicode.rst:647 -msgid "will produce the following output:" -msgstr "" - -#: ../../howto/unicode.rst:649 -msgid "" -"$ python listdir-test.py\n" -"[b'filename\\xe4\\x94\\x80abc', ...]\n" -"['filename\\u4500abc', ...]" -msgstr "" - -#: ../../howto/unicode.rst:655 -msgid "" -"The first list contains UTF-8-encoded filenames, and the second list " -"contains the Unicode versions." -msgstr "" - -#: ../../howto/unicode.rst:658 -msgid "" -"Note that on most occasions, you should can just stick with using Unicode " -"with these APIs. The bytes APIs should only be used on systems where " -"undecodable file names can be present; that's pretty much only Unix systems " -"now." -msgstr "" - -#: ../../howto/unicode.rst:665 -msgid "Tips for Writing Unicode-aware Programs" -msgstr "" - -#: ../../howto/unicode.rst:667 -msgid "" -"This section provides some suggestions on writing software that deals with " -"Unicode." -msgstr "" - -#: ../../howto/unicode.rst:670 -msgid "The most important tip is:" -msgstr "" - -#: ../../howto/unicode.rst:672 -msgid "" -"Software should only work with Unicode strings internally, decoding the " -"input data as soon as possible and encoding the output only at the end." -msgstr "" - -#: ../../howto/unicode.rst:675 -msgid "" -"If you attempt to write processing functions that accept both Unicode and " -"byte strings, you will find your program vulnerable to bugs wherever you " -"combine the two different kinds of strings. There is no automatic encoding " -"or decoding: if you do e.g. ``str + bytes``, a :exc:`TypeError` will be " -"raised." -msgstr "" - -#: ../../howto/unicode.rst:680 -msgid "" -"When using data coming from a web browser or some other untrusted source, a " -"common technique is to check for illegal characters in a string before using" -" the string in a generated command line or storing it in a database. If " -"you're doing this, be careful to check the decoded string, not the encoded " -"bytes data; some encodings may have interesting properties, such as not " -"being bijective or not being fully ASCII-compatible. This is especially " -"true if the input data also specifies the encoding, since the attacker can " -"then choose a clever way to hide malicious text in the encoded bytestream." -msgstr "" - -#: ../../howto/unicode.rst:691 -msgid "Converting Between File Encodings" -msgstr "" - -#: ../../howto/unicode.rst:693 -msgid "" -"The :class:`~codecs.StreamRecoder` class can transparently convert between " -"encodings, taking a stream that returns data in encoding #1 and behaving " -"like a stream returning data in encoding #2." -msgstr "" - -#: ../../howto/unicode.rst:697 -msgid "" -"For example, if you have an input file *f* that's in Latin-1, you can wrap " -"it with a :class:`~codecs.StreamRecoder` to return bytes encoded in UTF-8::" -msgstr "" - -#: ../../howto/unicode.rst:701 -msgid "" -"new_f = codecs.StreamRecoder(f,\n" -" # en/decoder: used by read() to encode its results and\n" -" # by write() to decode its input.\n" -" codecs.getencoder('utf-8'), codecs.getdecoder('utf-8'),\n" -"\n" -" # reader/writer: used to read and write to the stream.\n" -" codecs.getreader('latin-1'), codecs.getwriter('latin-1') )" -msgstr "" - -#: ../../howto/unicode.rst:711 -msgid "Files in an Unknown Encoding" -msgstr "" - -#: ../../howto/unicode.rst:713 -msgid "" -"What can you do if you need to make a change to a file, but don't know the " -"file's encoding? If you know the encoding is ASCII-compatible and only want" -" to examine or modify the ASCII parts, you can open the file with the " -"``surrogateescape`` error handler::" -msgstr "" - -#: ../../howto/unicode.rst:718 -msgid "" -"with open(fname, 'r', encoding=\"ascii\", errors=\"surrogateescape\") as f:\n" -" data = f.read()\n" -"\n" -"# make changes to the string 'data'\n" -"\n" -"with open(fname + '.new', 'w',\n" -" encoding=\"ascii\", errors=\"surrogateescape\") as f:\n" -" f.write(data)" -msgstr "" - -#: ../../howto/unicode.rst:727 -msgid "" -"The ``surrogateescape`` error handler will decode any non-ASCII bytes as " -"code points in a special range running from U+DC80 to U+DCFF. These code " -"points will then turn back into the same bytes when the ``surrogateescape`` " -"error handler is used to encode the data and write it back out." -msgstr "" - -#: ../../howto/unicode.rst:737 -msgid "" -"One section of `Mastering Python 3 Input/Output " -"`_, a " -"PyCon 2010 talk by David Beazley, discusses text processing and binary data " -"handling." -msgstr "" - -#: ../../howto/unicode.rst:741 -msgid "" -"The `PDF slides for Marc-André Lemburg's presentation \"Writing Unicode-" -"aware Applications in Python\" " -"`_ discuss questions of character encodings as " -"well as how to internationalize and localize an application. These slides " -"cover Python 2.x only." -msgstr "" - -#: ../../howto/unicode.rst:747 -msgid "" -"`The Guts of Unicode in Python `_ is a PyCon 2013 talk by Benjamin Peterson that " -"discusses the internal Unicode representation in Python 3.3." -msgstr "" - -#: ../../howto/unicode.rst:754 -msgid "Acknowledgements" -msgstr "Ucapan Terima Kasih" - -#: ../../howto/unicode.rst:756 -msgid "" -"The initial draft of this document was written by Andrew Kuchling. It has " -"since been revised further by Alexander Belopolsky, Georg Brandl, Andrew " -"Kuchling, and Ezio Melotti." -msgstr "" - -#: ../../howto/unicode.rst:760 -msgid "" -"Thanks to the following people who have noted errors or offered suggestions " -"on this article: Éric Araujo, Nicholas Bastin, Nick Coghlan, Marius " -"Gedminas, Kent Johnson, Ken Krugler, Marc-André Lemburg, Martin von Löwis, " -"Terry J. Reedy, Serhiy Storchaka, Eryk Sun, Chad Whitacre, Graham Wideman." -msgstr "" diff --git a/python-newest.howto--urllib2/id.po b/python-newest.howto--urllib2/id.po deleted file mode 100644 index 5f02ee1..0000000 --- a/python-newest.howto--urllib2/id.po +++ /dev/null @@ -1,855 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Helen Febriani , 2018 -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../howto/urllib2.rst:5 -msgid "HOWTO Fetch Internet Resources Using The urllib Package" -msgstr "" - -#: ../../howto/urllib2.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../howto/urllib2.rst:7 -msgid "`Michael Foord `_" -msgstr "" - -#: ../../howto/urllib2.rst:11 -msgid "Introduction" -msgstr "Pengantar" - -#: ../../howto/urllib2.rst:15 -msgid "" -"You may also find useful the following article on fetching web resources " -"with Python:" -msgstr "" - -#: ../../howto/urllib2.rst:18 -msgid "" -"`Basic Authentication " -"`_" -msgstr "" - -#: ../../howto/urllib2.rst:20 -msgid "A tutorial on *Basic Authentication*, with examples in Python." -msgstr "" - -#: ../../howto/urllib2.rst:22 -msgid "" -"**urllib.request** is a Python module for fetching URLs (Uniform Resource " -"Locators). It offers a very simple interface, in the form of the *urlopen* " -"function. This is capable of fetching URLs using a variety of different " -"protocols. It also offers a slightly more complex interface for handling " -"common situations - like basic authentication, cookies, proxies and so on. " -"These are provided by objects called handlers and openers." -msgstr "" - -#: ../../howto/urllib2.rst:29 -msgid "" -"urllib.request supports fetching URLs for many \"URL schemes\" (identified " -"by the string before the ``\":\"`` in URL - for example ``\"ftp\"`` is the " -"URL scheme of ``\"ftp://python.org/\"``) using their associated network " -"protocols (e.g. FTP, HTTP). This tutorial focuses on the most common case, " -"HTTP." -msgstr "" - -#: ../../howto/urllib2.rst:34 -msgid "" -"For straightforward situations *urlopen* is very easy to use. But as soon as" -" you encounter errors or non-trivial cases when opening HTTP URLs, you will " -"need some understanding of the HyperText Transfer Protocol. The most " -"comprehensive and authoritative reference to HTTP is :rfc:`2616`. This is a " -"technical document and not intended to be easy to read. This HOWTO aims to " -"illustrate using *urllib*, with enough detail about HTTP to help you " -"through. It is not intended to replace the :mod:`urllib.request` docs, but " -"is supplementary to them." -msgstr "" - -#: ../../howto/urllib2.rst:44 -msgid "Fetching URLs" -msgstr "" - -#: ../../howto/urllib2.rst:46 -msgid "The simplest way to use urllib.request is as follows::" -msgstr "" - -#: ../../howto/urllib2.rst:48 -msgid "" -"import urllib.request\n" -"with urllib.request.urlopen('http://python.org/') as response:\n" -" html = response.read()" -msgstr "" - -#: ../../howto/urllib2.rst:52 -msgid "" -"If you wish to retrieve a resource via URL and store it in a temporary " -"location, you can do so via the :func:`shutil.copyfileobj` and " -":func:`tempfile.NamedTemporaryFile` functions::" -msgstr "" - -#: ../../howto/urllib2.rst:56 -msgid "" -"import shutil\n" -"import tempfile\n" -"import urllib.request\n" -"\n" -"with urllib.request.urlopen('http://python.org/') as response:\n" -" with tempfile.NamedTemporaryFile(delete=False) as tmp_file:\n" -" shutil.copyfileobj(response, tmp_file)\n" -"\n" -"with open(tmp_file.name) as html:\n" -" pass" -msgstr "" - -#: ../../howto/urllib2.rst:67 -msgid "" -"Many uses of urllib will be that simple (note that instead of an 'http:' URL" -" we could have used a URL starting with 'ftp:', 'file:', etc.). However, " -"it's the purpose of this tutorial to explain the more complicated cases, " -"concentrating on HTTP." -msgstr "" - -#: ../../howto/urllib2.rst:72 -msgid "" -"HTTP is based on requests and responses - the client makes requests and " -"servers send responses. urllib.request mirrors this with a ``Request`` " -"object which represents the HTTP request you are making. In its simplest " -"form you create a Request object that specifies the URL you want to fetch. " -"Calling ``urlopen`` with this Request object returns a response object for " -"the URL requested. This response is a file-like object, which means you can " -"for example call ``.read()`` on the response::" -msgstr "" - -#: ../../howto/urllib2.rst:80 -msgid "" -"import urllib.request\n" -"\n" -"req = urllib.request.Request('http://python.org/')\n" -"with urllib.request.urlopen(req) as response:\n" -" the_page = response.read()" -msgstr "" - -#: ../../howto/urllib2.rst:86 -msgid "" -"Note that urllib.request makes use of the same Request interface to handle " -"all URL schemes. For example, you can make an FTP request like so::" -msgstr "" - -#: ../../howto/urllib2.rst:89 -msgid "req = urllib.request.Request('ftp://example.com/')" -msgstr "" - -#: ../../howto/urllib2.rst:91 -msgid "" -"In the case of HTTP, there are two extra things that Request objects allow " -"you to do: First, you can pass data to be sent to the server. Second, you " -"can pass extra information (\"metadata\") *about* the data or about the " -"request itself, to the server - this information is sent as HTTP " -"\"headers\". Let's look at each of these in turn." -msgstr "" - -#: ../../howto/urllib2.rst:98 -msgid "Data" -msgstr "Data" - -#: ../../howto/urllib2.rst:100 -msgid "" -"Sometimes you want to send data to a URL (often the URL will refer to a CGI " -"(Common Gateway Interface) script or other web application). With HTTP, this" -" is often done using what's known as a **POST** request. This is often what " -"your browser does when you submit a HTML form that you filled in on the web." -" Not all POSTs have to come from forms: you can use a POST to transmit " -"arbitrary data to your own application. In the common case of HTML forms, " -"the data needs to be encoded in a standard way, and then passed to the " -"Request object as the ``data`` argument. The encoding is done using a " -"function from the :mod:`urllib.parse` library. ::" -msgstr "" - -#: ../../howto/urllib2.rst:110 -msgid "" -"import urllib.parse\n" -"import urllib.request\n" -"\n" -"url = 'http://www.someserver.com/cgi-bin/register.cgi'\n" -"values = {'name' : 'Michael Foord',\n" -" 'location' : 'Northampton',\n" -" 'language' : 'Python' }\n" -"\n" -"data = urllib.parse.urlencode(values)\n" -"data = data.encode('ascii') # data should be bytes\n" -"req = urllib.request.Request(url, data)\n" -"with urllib.request.urlopen(req) as response:\n" -" the_page = response.read()" -msgstr "" - -#: ../../howto/urllib2.rst:124 -msgid "" -"Note that other encodings are sometimes required (e.g. for file upload from " -"HTML forms - see `HTML Specification, Form Submission " -"`_ for more " -"details)." -msgstr "" - -#: ../../howto/urllib2.rst:129 -msgid "" -"If you do not pass the ``data`` argument, urllib uses a **GET** request. One" -" way in which GET and POST requests differ is that POST requests often have " -"\"side-effects\": they change the state of the system in some way (for " -"example by placing an order with the website for a hundredweight of tinned " -"spam to be delivered to your door). Though the HTTP standard makes it clear" -" that POSTs are intended to *always* cause side-effects, and GET requests " -"*never* to cause side-effects, nothing prevents a GET request from having " -"side-effects, nor a POST requests from having no side-effects. Data can also" -" be passed in an HTTP GET request by encoding it in the URL itself." -msgstr "" - -#: ../../howto/urllib2.rst:139 -msgid "This is done as follows::" -msgstr "" - -#: ../../howto/urllib2.rst:141 -msgid "" -">>> import urllib.request\n" -">>> import urllib.parse\n" -">>> data = {}\n" -">>> data['name'] = 'Somebody Here'\n" -">>> data['location'] = 'Northampton'\n" -">>> data['language'] = 'Python'\n" -">>> url_values = urllib.parse.urlencode(data)\n" -">>> print(url_values) # The order may differ from below.\n" -"name=Somebody+Here&language=Python&location=Northampton\n" -">>> url = 'http://www.example.com/example.cgi'\n" -">>> full_url = url + '?' + url_values\n" -">>> data = urllib.request.urlopen(full_url)" -msgstr "" - -#: ../../howto/urllib2.rst:154 -msgid "" -"Notice that the full URL is created by adding a ``?`` to the URL, followed " -"by the encoded values." -msgstr "" - -#: ../../howto/urllib2.rst:158 -msgid "Headers" -msgstr "" - -#: ../../howto/urllib2.rst:160 -msgid "" -"We'll discuss here one particular HTTP header, to illustrate how to add " -"headers to your HTTP request." -msgstr "" - -#: ../../howto/urllib2.rst:163 -msgid "" -"Some websites [#]_ dislike being browsed by programs, or send different " -"versions to different browsers [#]_. By default urllib identifies itself as " -"``Python-urllib/x.y`` (where ``x`` and ``y`` are the major and minor version" -" numbers of the Python release, e.g. ``Python-urllib/2.5``), which may " -"confuse the site, or just plain not work. The way a browser identifies " -"itself is through the ``User-Agent`` header [#]_. When you create a Request " -"object you can pass a dictionary of headers in. The following example makes " -"the same request as above, but identifies itself as a version of Internet " -"Explorer [#]_. ::" -msgstr "" - -#: ../../howto/urllib2.rst:174 -msgid "" -"import urllib.parse\n" -"import urllib.request\n" -"\n" -"url = 'http://www.someserver.com/cgi-bin/register.cgi'\n" -"user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'\n" -"values = {'name': 'Michael Foord',\n" -" 'location': 'Northampton',\n" -" 'language': 'Python' }\n" -"headers = {'User-Agent': user_agent}\n" -"\n" -"data = urllib.parse.urlencode(values)\n" -"data = data.encode('ascii')\n" -"req = urllib.request.Request(url, data, headers)\n" -"with urllib.request.urlopen(req) as response:\n" -" the_page = response.read()" -msgstr "" - -#: ../../howto/urllib2.rst:190 -msgid "" -"The response also has two useful methods. See the section on `info and " -"geturl`_ which comes after we have a look at what happens when things go " -"wrong." -msgstr "" - -#: ../../howto/urllib2.rst:195 -msgid "Handling Exceptions" -msgstr "Menangani Pengecualian" - -#: ../../howto/urllib2.rst:197 -msgid "" -"*urlopen* raises :exc:`~urllib.error.URLError` when it cannot handle a " -"response (though as usual with Python APIs, built-in exceptions such as " -":exc:`ValueError`, :exc:`TypeError` etc. may also be raised)." -msgstr "" - -#: ../../howto/urllib2.rst:201 -msgid "" -":exc:`~urllib.error.HTTPError` is the subclass of " -":exc:`~urllib.error.URLError` raised in the specific case of HTTP URLs." -msgstr "" - -#: ../../howto/urllib2.rst:204 -msgid "" -"The exception classes are exported from the :mod:`urllib.error` module." -msgstr "" - -#: ../../howto/urllib2.rst:207 -msgid "URLError" -msgstr "" - -#: ../../howto/urllib2.rst:209 -msgid "" -"Often, URLError is raised because there is no network connection (no route " -"to the specified server), or the specified server doesn't exist. In this " -"case, the exception raised will have a 'reason' attribute, which is a tuple " -"containing an error code and a text error message." -msgstr "" - -#: ../../howto/urllib2.rst:214 -msgid "e.g. ::" -msgstr "mis. ::" - -#: ../../howto/urllib2.rst:216 -msgid "" -">>> req = urllib.request.Request('http://www.pretend_server.org')\n" -">>> try: urllib.request.urlopen(req)\n" -"... except urllib.error.URLError as e:\n" -"... print(e.reason)\n" -"...\n" -"(4, 'getaddrinfo failed')" -msgstr "" - -#: ../../howto/urllib2.rst:225 -msgid "HTTPError" -msgstr "" - -#: ../../howto/urllib2.rst:227 -msgid "" -"Every HTTP response from the server contains a numeric \"status code\". " -"Sometimes the status code indicates that the server is unable to fulfil the " -"request. The default handlers will handle some of these responses for you " -"(for example, if the response is a \"redirection\" that requests the client " -"fetch the document from a different URL, urllib will handle that for you). " -"For those it can't handle, urlopen will raise an " -":exc:`~urllib.error.HTTPError`. Typical errors include '404' (page not " -"found), '403' (request forbidden), and '401' (authentication required)." -msgstr "" - -#: ../../howto/urllib2.rst:235 -msgid "" -"See section 10 of :rfc:`2616` for a reference on all the HTTP error codes." -msgstr "" - -#: ../../howto/urllib2.rst:237 -msgid "" -"The :exc:`~urllib.error.HTTPError` instance raised will have an integer " -"'code' attribute, which corresponds to the error sent by the server." -msgstr "" - -#: ../../howto/urllib2.rst:241 -msgid "Error Codes" -msgstr "" - -#: ../../howto/urllib2.rst:243 -msgid "" -"Because the default handlers handle redirects (codes in the 300 range), and " -"codes in the 100--299 range indicate success, you will usually only see " -"error codes in the 400--599 range." -msgstr "" - -#: ../../howto/urllib2.rst:247 -msgid "" -":attr:`http.server.BaseHTTPRequestHandler.responses` is a useful dictionary " -"of response codes in that shows all the response codes used by :rfc:`2616`. " -"The dictionary is reproduced here for convenience ::" -msgstr "" - -#: ../../howto/urllib2.rst:251 -msgid "" -"# Table mapping response codes to messages; entries have the\n" -"# form {code: (shortmessage, longmessage)}.\n" -"responses = {\n" -" 100: ('Continue', 'Request received, please continue'),\n" -" 101: ('Switching Protocols',\n" -" 'Switching to new protocol; obey Upgrade header'),\n" -"\n" -" 200: ('OK', 'Request fulfilled, document follows'),\n" -" 201: ('Created', 'Document created, URL follows'),\n" -" 202: ('Accepted',\n" -" 'Request accepted, processing continues off-line'),\n" -" 203: ('Non-Authoritative Information', 'Request fulfilled from cache'),\n" -" 204: ('No Content', 'Request fulfilled, nothing follows'),\n" -" 205: ('Reset Content', 'Clear input form for further input.'),\n" -" 206: ('Partial Content', 'Partial content follows.'),\n" -"\n" -" 300: ('Multiple Choices',\n" -" 'Object has several resources -- see URI list'),\n" -" 301: ('Moved Permanently', 'Object moved permanently -- see URI list'),\n" -" 302: ('Found', 'Object moved temporarily -- see URI list'),\n" -" 303: ('See Other', 'Object moved -- see Method and URL list'),\n" -" 304: ('Not Modified',\n" -" 'Document has not changed since given time'),\n" -" 305: ('Use Proxy',\n" -" 'You must use proxy specified in Location to access this '\n" -" 'resource.'),\n" -" 307: ('Temporary Redirect',\n" -" 'Object moved temporarily -- see URI list'),\n" -"\n" -" 400: ('Bad Request',\n" -" 'Bad request syntax or unsupported method'),\n" -" 401: ('Unauthorized',\n" -" 'No permission -- see authorization schemes'),\n" -" 402: ('Payment Required',\n" -" 'No payment -- see charging schemes'),\n" -" 403: ('Forbidden',\n" -" 'Request forbidden -- authorization will not help'),\n" -" 404: ('Not Found', 'Nothing matches the given URI'),\n" -" 405: ('Method Not Allowed',\n" -" 'Specified method is invalid for this server.'),\n" -" 406: ('Not Acceptable', 'URI not available in preferred format.'),\n" -" 407: ('Proxy Authentication Required', 'You must authenticate with '\n" -" 'this proxy before proceeding.'),\n" -" 408: ('Request Timeout', 'Request timed out; try again later.'),\n" -" 409: ('Conflict', 'Request conflict.'),\n" -" 410: ('Gone',\n" -" 'URI no longer exists and has been permanently removed.'),\n" -" 411: ('Length Required', 'Client must specify Content-Length.'),\n" -" 412: ('Precondition Failed', 'Precondition in headers is false.'),\n" -" 413: ('Request Entity Too Large', 'Entity is too large.'),\n" -" 414: ('Request-URI Too Long', 'URI is too long.'),\n" -" 415: ('Unsupported Media Type', 'Entity body in unsupported format.'),\n" -" 416: ('Requested Range Not Satisfiable',\n" -" 'Cannot satisfy request range.'),\n" -" 417: ('Expectation Failed',\n" -" 'Expect condition could not be satisfied.'),\n" -"\n" -" 500: ('Internal Server Error', 'Server got itself in trouble'),\n" -" 501: ('Not Implemented',\n" -" 'Server does not support this operation'),\n" -" 502: ('Bad Gateway', 'Invalid responses from another server/proxy.'),\n" -" 503: ('Service Unavailable',\n" -" 'The server cannot process the request due to a high load'),\n" -" 504: ('Gateway Timeout',\n" -" 'The gateway server did not receive a timely response'),\n" -" 505: ('HTTP Version Not Supported', 'Cannot fulfill request.'),\n" -" }" -msgstr "" - -#: ../../howto/urllib2.rst:319 -msgid "" -"When an error is raised the server responds by returning an HTTP error code " -"*and* an error page. You can use the :exc:`~urllib.error.HTTPError` instance" -" as a response on the page returned. This means that as well as the code " -"attribute, it also has read, geturl, and info, methods as returned by the " -"``urllib.response`` module::" -msgstr "" - -#: ../../howto/urllib2.rst:324 -msgid "" -">>> req = urllib.request.Request('http://www.python.org/fish.html')\n" -">>> try:\n" -"... urllib.request.urlopen(req)\n" -"... except urllib.error.HTTPError as e:\n" -"... print(e.code)\n" -"... print(e.read())\n" -"...\n" -"404\n" -"b'\\n\\n\\nPage Not Found\\n\n" -" ..." -msgstr "" - -#: ../../howto/urllib2.rst:339 -msgid "Wrapping it Up" -msgstr "" - -#: ../../howto/urllib2.rst:341 -msgid "" -"So if you want to be prepared for :exc:`~urllib.error.HTTPError` *or* " -":exc:`~urllib.error.URLError` there are two basic approaches. I prefer the " -"second approach." -msgstr "" - -#: ../../howto/urllib2.rst:345 -msgid "Number 1" -msgstr "" - -#: ../../howto/urllib2.rst:350 -msgid "" -"from urllib.request import Request, urlopen\n" -"from urllib.error import URLError, HTTPError\n" -"req = Request(someurl)\n" -"try:\n" -" response = urlopen(req)\n" -"except HTTPError as e:\n" -" print('The server couldn\\'t fulfill the request.')\n" -" print('Error code: ', e.code)\n" -"except URLError as e:\n" -" print('We failed to reach a server.')\n" -" print('Reason: ', e.reason)\n" -"else:\n" -" # everything is fine" -msgstr "" - -#: ../../howto/urllib2.rst:367 -msgid "" -"The ``except HTTPError`` *must* come first, otherwise ``except URLError`` " -"will *also* catch an :exc:`~urllib.error.HTTPError`." -msgstr "" - -#: ../../howto/urllib2.rst:371 -msgid "Number 2" -msgstr "" - -#: ../../howto/urllib2.rst:375 -msgid "" -"from urllib.request import Request, urlopen\n" -"from urllib.error import URLError\n" -"req = Request(someurl)\n" -"try:\n" -" response = urlopen(req)\n" -"except URLError as e:\n" -" if hasattr(e, 'reason'):\n" -" print('We failed to reach a server.')\n" -" print('Reason: ', e.reason)\n" -" elif hasattr(e, 'code'):\n" -" print('The server couldn\\'t fulfill the request.')\n" -" print('Error code: ', e.code)\n" -"else:\n" -" # everything is fine" -msgstr "" - -#: ../../howto/urllib2.rst:392 -msgid "info and geturl" -msgstr "" - -#: ../../howto/urllib2.rst:394 -msgid "" -"The response returned by urlopen (or the :exc:`~urllib.error.HTTPError` " -"instance) has two useful methods :meth:`!info` and :meth:`!geturl` and is " -"defined in the module :mod:`urllib.response`." -msgstr "" - -#: ../../howto/urllib2.rst:398 -msgid "" -"**geturl** - this returns the real URL of the page fetched. This is useful " -"because ``urlopen`` (or the opener object used) may have followed a " -"redirect. The URL of the page fetched may not be the same as the URL " -"requested." -msgstr "" - -#: ../../howto/urllib2.rst:402 -msgid "" -"**info** - this returns a dictionary-like object that describes the page " -"fetched, particularly the headers sent by the server. It is currently an " -":class:`http.client.HTTPMessage` instance." -msgstr "" - -#: ../../howto/urllib2.rst:406 -msgid "" -"Typical headers include 'Content-length', 'Content-type', and so on. See the" -" `Quick Reference to HTTP Headers `_ for a " -"useful listing of HTTP headers with brief explanations of their meaning and " -"use." -msgstr "" - -#: ../../howto/urllib2.rst:413 -msgid "Openers and Handlers" -msgstr "" - -#: ../../howto/urllib2.rst:415 -msgid "" -"When you fetch a URL you use an opener (an instance of the perhaps " -"confusingly named :class:`urllib.request.OpenerDirector`). Normally we have " -"been using the default opener - via ``urlopen`` - but you can create custom " -"openers. Openers use handlers. All the \"heavy lifting\" is done by the " -"handlers. Each handler knows how to open URLs for a particular URL scheme " -"(http, ftp, etc.), or how to handle an aspect of URL opening, for example " -"HTTP redirections or HTTP cookies." -msgstr "" - -#: ../../howto/urllib2.rst:423 -msgid "" -"You will want to create openers if you want to fetch URLs with specific " -"handlers installed, for example to get an opener that handles cookies, or to" -" get an opener that does not handle redirections." -msgstr "" - -#: ../../howto/urllib2.rst:427 -msgid "" -"To create an opener, instantiate an ``OpenerDirector``, and then call " -"``.add_handler(some_handler_instance)`` repeatedly." -msgstr "" - -#: ../../howto/urllib2.rst:430 -msgid "" -"Alternatively, you can use ``build_opener``, which is a convenience function" -" for creating opener objects with a single function call. ``build_opener`` " -"adds several handlers by default, but provides a quick way to add more " -"and/or override the default handlers." -msgstr "" - -#: ../../howto/urllib2.rst:435 -msgid "" -"Other sorts of handlers you might want to can handle proxies, " -"authentication, and other common but slightly specialised situations." -msgstr "" - -#: ../../howto/urllib2.rst:438 -msgid "" -"``install_opener`` can be used to make an ``opener`` object the (global) " -"default opener. This means that calls to ``urlopen`` will use the opener you" -" have installed." -msgstr "" - -#: ../../howto/urllib2.rst:442 -msgid "" -"Opener objects have an ``open`` method, which can be called directly to " -"fetch urls in the same way as the ``urlopen`` function: there's no need to " -"call ``install_opener``, except as a convenience." -msgstr "" - -#: ../../howto/urllib2.rst:448 -msgid "Basic Authentication" -msgstr "" - -#: ../../howto/urllib2.rst:450 -msgid "" -"To illustrate creating and installing a handler we will use the " -"``HTTPBasicAuthHandler``. For a more detailed discussion of this subject -- " -"including an explanation of how Basic Authentication works - see the `Basic " -"Authentication Tutorial " -"`__." -msgstr "" - -#: ../../howto/urllib2.rst:456 -msgid "" -"When authentication is required, the server sends a header (as well as the " -"401 error code) requesting authentication. This specifies the " -"authentication scheme and a 'realm'. The header looks like: ``WWW-" -"Authenticate: SCHEME realm=\"REALM\"``." -msgstr "" - -#: ../../howto/urllib2.rst:461 -msgid "e.g." -msgstr "mis." - -#: ../../howto/urllib2.rst:463 -msgid "WWW-Authenticate: Basic realm=\"cPanel Users\"" -msgstr "" - -#: ../../howto/urllib2.rst:468 -msgid "" -"The client should then retry the request with the appropriate name and " -"password for the realm included as a header in the request. This is 'basic " -"authentication'. In order to simplify this process we can create an instance" -" of ``HTTPBasicAuthHandler`` and an opener to use this handler." -msgstr "" - -#: ../../howto/urllib2.rst:473 -msgid "" -"The ``HTTPBasicAuthHandler`` uses an object called a password manager to " -"handle the mapping of URLs and realms to passwords and usernames. If you " -"know what the realm is (from the authentication header sent by the server), " -"then you can use a ``HTTPPasswordMgr``. Frequently one doesn't care what the" -" realm is. In that case, it is convenient to use " -"``HTTPPasswordMgrWithDefaultRealm``. This allows you to specify a default " -"username and password for a URL. This will be supplied in the absence of you" -" providing an alternative combination for a specific realm. We indicate this" -" by providing ``None`` as the realm argument to the ``add_password`` method." -msgstr "" - -#: ../../howto/urllib2.rst:483 -msgid "" -"The top-level URL is the first URL that requires authentication. URLs " -"\"deeper\" than the URL you pass to .add_password() will also match. ::" -msgstr "" - -#: ../../howto/urllib2.rst:486 -msgid "" -"# create a password manager\n" -"password_mgr = urllib.request.HTTPPasswordMgrWithDefaultRealm()\n" -"\n" -"# Add the username and password.\n" -"# If we knew the realm, we could use it instead of None.\n" -"top_level_url = \"http://example.com/foo/\"\n" -"password_mgr.add_password(None, top_level_url, username, password)\n" -"\n" -"handler = urllib.request.HTTPBasicAuthHandler(password_mgr)\n" -"\n" -"# create \"opener\" (OpenerDirector instance)\n" -"opener = urllib.request.build_opener(handler)\n" -"\n" -"# use the opener to fetch a URL\n" -"opener.open(a_url)\n" -"\n" -"# Install the opener.\n" -"# Now all calls to urllib.request.urlopen use our opener.\n" -"urllib.request.install_opener(opener)" -msgstr "" - -#: ../../howto/urllib2.rst:508 -msgid "" -"In the above example we only supplied our ``HTTPBasicAuthHandler`` to " -"``build_opener``. By default openers have the handlers for normal situations" -" -- ``ProxyHandler`` (if a proxy setting such as an :envvar:`!http_proxy` " -"environment variable is set), ``UnknownHandler``, ``HTTPHandler``, " -"``HTTPDefaultErrorHandler``, ``HTTPRedirectHandler``, ``FTPHandler``, " -"``FileHandler``, ``DataHandler``, ``HTTPErrorProcessor``." -msgstr "" - -#: ../../howto/urllib2.rst:515 -msgid "" -"``top_level_url`` is in fact *either* a full URL (including the 'http:' " -"scheme component and the hostname and optionally the port number) e.g. " -"``\"http://example.com/\"`` *or* an \"authority\" (i.e. the hostname, " -"optionally including the port number) e.g. ``\"example.com\"`` or " -"``\"example.com:8080\"`` (the latter example includes a port number). The " -"authority, if present, must NOT contain the \"userinfo\" component - for " -"example ``\"joe:password@example.com\"`` is not correct." -msgstr "" - -#: ../../howto/urllib2.rst:525 -msgid "Proxies" -msgstr "" - -#: ../../howto/urllib2.rst:527 -msgid "" -"**urllib** will auto-detect your proxy settings and use those. This is " -"through the ``ProxyHandler``, which is part of the normal handler chain when" -" a proxy setting is detected. Normally that's a good thing, but there are " -"occasions when it may not be helpful [#]_. One way to do this is to setup " -"our own ``ProxyHandler``, with no proxies defined. This is done using " -"similar steps to setting up a `Basic Authentication`_ handler: ::" -msgstr "" - -#: ../../howto/urllib2.rst:534 -msgid "" -">>> proxy_support = urllib.request.ProxyHandler({})\n" -">>> opener = urllib.request.build_opener(proxy_support)\n" -">>> urllib.request.install_opener(opener)" -msgstr "" - -#: ../../howto/urllib2.rst:540 -msgid "" -"Currently ``urllib.request`` *does not* support fetching of ``https`` " -"locations through a proxy. However, this can be enabled by extending " -"urllib.request as shown in the recipe [#]_." -msgstr "" - -#: ../../howto/urllib2.rst:546 -msgid "" -"``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see " -"the documentation on :func:`~urllib.request.getproxies`." -msgstr "" - -#: ../../howto/urllib2.rst:551 -msgid "Sockets and Layers" -msgstr "" - -#: ../../howto/urllib2.rst:553 -msgid "" -"The Python support for fetching resources from the web is layered. urllib " -"uses the :mod:`http.client` library, which in turn uses the socket library." -msgstr "" - -#: ../../howto/urllib2.rst:556 -msgid "" -"As of Python 2.3 you can specify how long a socket should wait for a " -"response before timing out. This can be useful in applications which have to" -" fetch web pages. By default the socket module has *no timeout* and can " -"hang. Currently, the socket timeout is not exposed at the http.client or " -"urllib.request levels. However, you can set the default timeout globally for" -" all sockets using ::" -msgstr "" - -#: ../../howto/urllib2.rst:562 -msgid "" -"import socket\n" -"import urllib.request\n" -"\n" -"# timeout in seconds\n" -"timeout = 10\n" -"socket.setdefaulttimeout(timeout)\n" -"\n" -"# this call to urllib.request.urlopen now uses the default timeout\n" -"# we have set in the socket module\n" -"req = urllib.request.Request('http://www.voidspace.org.uk')\n" -"response = urllib.request.urlopen(req)" -msgstr "" - -#: ../../howto/urllib2.rst:579 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../howto/urllib2.rst:581 -msgid "This document was reviewed and revised by John Lee." -msgstr "" - -#: ../../howto/urllib2.rst:583 -msgid "Google for example." -msgstr "" - -#: ../../howto/urllib2.rst:584 -msgid "" -"Browser sniffing is a very bad practice for website design - building sites " -"using web standards is much more sensible. Unfortunately a lot of sites " -"still send different versions to different browsers." -msgstr "" - -#: ../../howto/urllib2.rst:587 -msgid "" -"The user agent for MSIE 6 is *'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT" -" 5.1; SV1; .NET CLR 1.1.4322)'*" -msgstr "" - -#: ../../howto/urllib2.rst:589 -msgid "" -"For details of more HTTP request headers, see `Quick Reference to HTTP " -"Headers`_." -msgstr "" - -#: ../../howto/urllib2.rst:591 -msgid "" -"In my case I have to use a proxy to access the internet at work. If you " -"attempt to fetch *localhost* URLs through this proxy it blocks them. IE is " -"set to use the proxy, which urllib picks up on. In order to test scripts " -"with a localhost server, I have to prevent urllib from using the proxy." -msgstr "" - -#: ../../howto/urllib2.rst:596 -msgid "" -"urllib opener for SSL proxy (CONNECT method): `ASPN Cookbook Recipe " -"`_." -msgstr "" diff --git a/python-newest.installing--index/id.po b/python-newest.installing--index/id.po deleted file mode 100644 index 9445287..0000000 --- a/python-newest.installing--index/id.po +++ /dev/null @@ -1,404 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../installing/index.rst:7 -msgid "Installing Python Modules" -msgstr "Instalasi Modul-modul Python" - -#: ../../installing/index.rst:0 -msgid "Email" -msgstr "Email" - -#: ../../installing/index.rst:9 -msgid "distutils-sig@python.org" -msgstr "distutils-sig@python.org" - -#: ../../installing/index.rst:11 -msgid "" -"As a popular open source development project, Python has an active " -"supporting community of contributors and users that also make their software" -" available for other Python developers to use under open source license " -"terms." -msgstr "" -"Sebagai proyek pengembangan open source yang populer, Python memiliki " -"komunitas pendukung aktif dan pengguna yang juga membuat perangkat lunak " -"mereka tersedia untuk pengembang Python lain untuk digunakan di bawah " -"persyaratan lisensi sumber terbuka." - -#: ../../installing/index.rst:15 -msgid "" -"This allows Python users to share and collaborate effectively, benefiting " -"from the solutions others have already created to common (and sometimes even" -" rare!) problems, as well as potentially contributing their own solutions to" -" the common pool." -msgstr "" -"Hal ini memungkinkan pengguna Python untuk berbagi dan berkolaborasi secara " -"efektif, mendapatkan manfaat dari solusi yang telah dibuat oleh orang lain " -"untuk masalah umum (dan kadang-kadang bahkan langka!), Serta berpotensi " -"memberikan kontribusi solusi mereka sendiri ke kumpulan umum." - -#: ../../installing/index.rst:20 -msgid "" -"This guide covers the installation part of the process. For a guide to " -"creating and sharing your own Python projects, refer to the `Python " -"packaging user guide`_." -msgstr "" - -#: ../../installing/index.rst:28 -msgid "" -"For corporate and other institutional users, be aware that many " -"organisations have their own policies around using and contributing to open " -"source software. Please take such policies into account when making use of " -"the distribution and installation tools provided with Python." -msgstr "" -"Untuk pengguna korporat dan institusi lainnya, sadarilah bahwa banyak " -"organisasi memiliki kebijakan mereka sendiri tentang penggunaan dan " -"kontribusi untuk perangkat lunak sumber terbuka. Harap pertimbangkan " -"kebijakan tersebut saat menggunakan alat distribusi dan instalasi yang " -"disediakan dengan Python." - -#: ../../installing/index.rst:35 -msgid "Key terms" -msgstr "Istilah utama" - -#: ../../installing/index.rst:37 -msgid "" -"``pip`` is the preferred installer program. Starting with Python 3.4, it is " -"included by default with the Python binary installers." -msgstr "" -"``pip`` adalah program penginstal yang disukai. Mulai dari Python 3.4, " -"disertakan secara bawaan pada *installer* biner Python." - -#: ../../installing/index.rst:39 -msgid "" -"A *virtual environment* is a semi-isolated Python environment that allows " -"packages to be installed for use by a particular application, rather than " -"being installed system wide." -msgstr "" -"Sebuah *virtual environment* adalah lingkungan Python semi-terisolasi yang " -"memungkinkan paket diinstal untuk digunakan oleh aplikasi tertentu, " -"dibandingkan diinstal sistem luas atau global." - -#: ../../installing/index.rst:42 -msgid "" -"``venv`` is the standard tool for creating virtual environments, and has " -"been part of Python since Python 3.3. Starting with Python 3.4, it defaults " -"to installing ``pip`` into all created virtual environments." -msgstr "" - -#: ../../installing/index.rst:45 -msgid "" -"``virtualenv`` is a third party alternative (and predecessor) to ``venv``. " -"It allows virtual environments to be used on versions of Python prior to " -"3.4, which either don't provide ``venv`` at all, or aren't able to " -"automatically install ``pip`` into created environments." -msgstr "" - -#: ../../installing/index.rst:49 -msgid "" -"The `Python Package Index `__ is a public repository of " -"open source licensed packages made available for use by other Python users." -msgstr "" - -#: ../../installing/index.rst:52 -msgid "" -"the `Python Packaging Authority `__ is the group of " -"developers and documentation authors responsible for the maintenance and " -"evolution of the standard packaging tools and the associated metadata and " -"file format standards. They maintain a variety of tools, documentation, and " -"issue trackers on `GitHub `__." -msgstr "" - -#: ../../installing/index.rst:58 -msgid "" -"``distutils`` is the original build and distribution system first added to " -"the Python standard library in 1998. While direct use of ``distutils`` is " -"being phased out, it still laid the foundation for the current packaging and" -" distribution infrastructure, and it not only remains part of the standard " -"library, but its name lives on in other ways (such as the name of the " -"mailing list used to coordinate Python packaging standards development)." -msgstr "" - -#: ../../installing/index.rst:66 -msgid "" -"The use of ``venv`` is now recommended for creating virtual environments." -msgstr "" -"Penggunaan ``venv`` sekarang disarankan untuk membuat lingkungan virtual." - -#: ../../installing/index.rst:71 -msgid "" -"`Python Packaging User Guide: Creating and using virtual environments " -"`__" -msgstr "" -"`Panduan Pengguna *Python Packaging*: Pembuatan dan penggunaan *virtual " -"environments* `__" - -#: ../../installing/index.rst:76 -msgid "Basic usage" -msgstr "Penggunaan dasar" - -#: ../../installing/index.rst:78 -msgid "" -"The standard packaging tools are all designed to be used from the command " -"line." -msgstr "" - -#: ../../installing/index.rst:81 -msgid "" -"The following command will install the latest version of a module and its " -"dependencies from the Python Package Index::" -msgstr "" - -#: ../../installing/index.rst:84 -msgid "python -m pip install SomePackage" -msgstr "" - -#: ../../installing/index.rst:88 -msgid "" -"For POSIX users (including macOS and Linux users), the examples in this " -"guide assume the use of a :term:`virtual environment`." -msgstr "" - -#: ../../installing/index.rst:91 -msgid "" -"For Windows users, the examples in this guide assume that the option to " -"adjust the system PATH environment variable was selected when installing " -"Python." -msgstr "" - -#: ../../installing/index.rst:95 -msgid "" -"It's also possible to specify an exact or minimum version directly on the " -"command line. When using comparator operators such as ``>``, ``<`` or some " -"other special character which get interpreted by shell, the package name and" -" the version should be enclosed within double quotes::" -msgstr "" - -#: ../../installing/index.rst:100 -msgid "" -"python -m pip install SomePackage==1.0.4 # specific version\n" -"python -m pip install \"SomePackage>=1.0.4\" # minimum version" -msgstr "" - -#: ../../installing/index.rst:103 -msgid "" -"Normally, if a suitable module is already installed, attempting to install " -"it again will have no effect. Upgrading existing modules must be requested " -"explicitly::" -msgstr "" - -#: ../../installing/index.rst:107 -msgid "python -m pip install --upgrade SomePackage" -msgstr "" - -#: ../../installing/index.rst:109 -msgid "" -"More information and resources regarding ``pip`` and its capabilities can be" -" found in the `Python Packaging User Guide " -"`__." -msgstr "" - -#: ../../installing/index.rst:112 -msgid "" -"Creation of virtual environments is done through the :mod:`venv` module. " -"Installing packages into an active virtual environment uses the commands " -"shown above." -msgstr "" - -#: ../../installing/index.rst:118 -msgid "" -"`Python Packaging User Guide: Installing Python Distribution Packages " -"`__" -msgstr "" - -#: ../../installing/index.rst:123 -msgid "How do I ...?" -msgstr "Bagaimana saya ...?" - -#: ../../installing/index.rst:125 -msgid "These are quick answers or links for some common tasks." -msgstr "Ini adalah jawaban cepat atau tautan untuk beberapa tugas umum." - -#: ../../installing/index.rst:128 -msgid "... install ``pip`` in versions of Python prior to Python 3.4?" -msgstr "" - -#: ../../installing/index.rst:130 -msgid "" -"Python only started bundling ``pip`` with Python 3.4. For earlier versions, " -"``pip`` needs to be \"bootstrapped\" as described in the Python Packaging " -"User Guide." -msgstr "" - -#: ../../installing/index.rst:136 -msgid "" -"`Python Packaging User Guide: Requirements for Installing Packages " -"`__" -msgstr "" - -#: ../../installing/index.rst:143 -msgid "... install packages just for the current user?" -msgstr "" - -#: ../../installing/index.rst:145 -msgid "" -"Passing the ``--user`` option to ``python -m pip install`` will install a " -"package just for the current user, rather than for all users of the system." -msgstr "" - -#: ../../installing/index.rst:150 -msgid "... install scientific Python packages?" -msgstr "... memasang paket-paket Python saintifik?" - -#: ../../installing/index.rst:152 -msgid "" -"A number of scientific Python packages have complex binary dependencies, and" -" aren't currently easy to install using ``pip`` directly. At this point in " -"time, it will often be easier for users to install these packages by `other " -"means `__ rather than attempting to " -"install them with ``pip``." -msgstr "" - -#: ../../installing/index.rst:160 -msgid "" -"`Python Packaging User Guide: Installing Scientific Packages " -"`__" -msgstr "" - -#: ../../installing/index.rst:165 -msgid "... work with multiple versions of Python installed in parallel?" -msgstr "" - -#: ../../installing/index.rst:167 -msgid "" -"On Linux, macOS, and other POSIX systems, use the versioned Python commands " -"in combination with the ``-m`` switch to run the appropriate copy of " -"``pip``::" -msgstr "" - -#: ../../installing/index.rst:171 -msgid "" -"python2 -m pip install SomePackage # default Python 2\n" -"python2.7 -m pip install SomePackage # specifically Python 2.7\n" -"python3 -m pip install SomePackage # default Python 3\n" -"python3.4 -m pip install SomePackage # specifically Python 3.4" -msgstr "" - -#: ../../installing/index.rst:176 -msgid "Appropriately versioned ``pip`` commands may also be available." -msgstr "" - -#: ../../installing/index.rst:178 -msgid "" -"On Windows, use the ``py`` Python launcher in combination with the ``-m`` " -"switch::" -msgstr "" - -#: ../../installing/index.rst:181 -msgid "" -"py -2 -m pip install SomePackage # default Python 2\n" -"py -2.7 -m pip install SomePackage # specifically Python 2.7\n" -"py -3 -m pip install SomePackage # default Python 3\n" -"py -3.4 -m pip install SomePackage # specifically Python 3.4" -msgstr "" - -#: ../../installing/index.rst:195 -msgid "Common installation issues" -msgstr "Permasalahan umum pemasangan" - -#: ../../installing/index.rst:198 -msgid "Installing into the system Python on Linux" -msgstr "" - -#: ../../installing/index.rst:200 -msgid "" -"On Linux systems, a Python installation will typically be included as part " -"of the distribution. Installing into this Python installation requires root " -"access to the system, and may interfere with the operation of the system " -"package manager and other components of the system if a component is " -"unexpectedly upgraded using ``pip``." -msgstr "" - -#: ../../installing/index.rst:206 -msgid "" -"On such systems, it is often better to use a virtual environment or a per-" -"user installation when installing packages with ``pip``." -msgstr "" - -#: ../../installing/index.rst:211 -msgid "Pip not installed" -msgstr "Pip tidak terpasang" - -#: ../../installing/index.rst:213 -msgid "" -"It is possible that ``pip`` does not get installed by default. One potential" -" fix is::" -msgstr "" - -#: ../../installing/index.rst:215 -msgid "python -m ensurepip --default-pip" -msgstr "" - -#: ../../installing/index.rst:217 -msgid "" -"There are also additional resources for `installing pip. " -"`__" -msgstr "" - -#: ../../installing/index.rst:222 -msgid "Installing binary extensions" -msgstr "Memasang ekstensi biner" - -#: ../../installing/index.rst:224 -msgid "" -"Python has typically relied heavily on source based distribution, with end " -"users being expected to compile extension modules from source as part of the" -" installation process." -msgstr "" - -#: ../../installing/index.rst:228 -msgid "" -"With the introduction of support for the binary ``wheel`` format, and the " -"ability to publish wheels for at least Windows and macOS through the Python " -"Package Index, this problem is expected to diminish over time, as users are " -"more regularly able to install pre-built extensions rather than needing to " -"build them themselves." -msgstr "" - -#: ../../installing/index.rst:234 -msgid "" -"Some of the solutions for installing `scientific software " -"`__ that are not yet available as " -"pre-built ``wheel`` files may also help with obtaining other binary " -"extensions without needing to build them locally." -msgstr "" - -#: ../../installing/index.rst:241 -msgid "" -"`Python Packaging User Guide: Binary Extensions " -"`__" -msgstr "" diff --git a/python-newest.library--__future__/id.po b/python-newest.library--__future__/id.po deleted file mode 100644 index bf04915..0000000 --- a/python-newest.library--__future__/id.po +++ /dev/null @@ -1,308 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Faiq Zakki <221709674@stis.ac.id>, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Faiq Zakki <221709674@stis.ac.id>, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/__future__.rst:2 -msgid ":mod:`!__future__` --- Future statement definitions" -msgstr "" - -#: ../../library/__future__.rst:7 -msgid "**Source code:** :source:`Lib/__future__.py`" -msgstr "" - -#: ../../library/__future__.rst:11 -msgid "" -"Imports of the form ``from __future__ import feature`` are called " -":ref:`future statements `. These are special-cased by the Python " -"compiler to allow the use of new Python features in modules containing the " -"future statement before the release in which the feature becomes standard." -msgstr "" - -#: ../../library/__future__.rst:16 -msgid "" -"While these future statements are given additional special meaning by the " -"Python compiler, they are still executed like any other import statement and" -" the :mod:`__future__` exists and is handled by the import system the same " -"way any other Python module would be. This design serves three purposes:" -msgstr "" - -#: ../../library/__future__.rst:21 -msgid "" -"To avoid confusing existing tools that analyze import statements and expect " -"to find the modules they're importing." -msgstr "" - -#: ../../library/__future__.rst:24 -msgid "" -"To document when incompatible changes were introduced, and when they will be" -" --- or were --- made mandatory. This is a form of executable " -"documentation, and can be inspected programmatically via importing " -":mod:`__future__` and examining its contents." -msgstr "" - -#: ../../library/__future__.rst:29 -msgid "" -"To ensure that :ref:`future statements ` run under releases prior to" -" Python 2.1 at least yield runtime exceptions (the import of " -":mod:`__future__` will fail, because there was no module of that name prior " -"to 2.1)." -msgstr "" - -#: ../../library/__future__.rst:34 -msgid "Module Contents" -msgstr "Modul-Modul" - -#: ../../library/__future__.rst:36 -msgid "" -"No feature description will ever be deleted from :mod:`__future__`. Since " -"its introduction in Python 2.1 the following features have found their way " -"into the language using this mechanism:" -msgstr "" - -#: ../../library/__future__.rst:41 -msgid "feature" -msgstr "fitur" - -#: ../../library/__future__.rst:41 -msgid "optional in" -msgstr "" - -#: ../../library/__future__.rst:41 -msgid "mandatory in" -msgstr "" - -#: ../../library/__future__.rst:41 -msgid "effect" -msgstr "efek" - -#: ../../library/__future__.rst:43 -msgid "nested_scopes" -msgstr "nested_scopes" - -#: ../../library/__future__.rst:43 -msgid "2.1.0b1" -msgstr "2.1.0b1" - -#: ../../library/__future__.rst:43 -msgid "2.2" -msgstr "2.2" - -#: ../../library/__future__.rst:43 -msgid ":pep:`227`: *Statically Nested Scopes*" -msgstr ":pep:`227`: *Statically Nested Scopes*" - -#: ../../library/__future__.rst:46 -msgid "generators" -msgstr "" - -#: ../../library/__future__.rst:46 -msgid "2.2.0a1" -msgstr "2.2.0a1" - -#: ../../library/__future__.rst:46 -msgid "2.3" -msgstr "2.3" - -#: ../../library/__future__.rst:46 -msgid ":pep:`255`: *Simple Generators*" -msgstr ":pep:`255`: *Simple Generators*" - -#: ../../library/__future__.rst:49 -msgid "division" -msgstr "" - -#: ../../library/__future__.rst:49 -msgid "2.2.0a2" -msgstr "2.2.0a2" - -#: ../../library/__future__.rst:49 ../../library/__future__.rst:52 -#: ../../library/__future__.rst:58 ../../library/__future__.rst:61 -msgid "3.0" -msgstr "3.0" - -#: ../../library/__future__.rst:49 -msgid ":pep:`238`: *Changing the Division Operator*" -msgstr ":pep:`238`: *Changing the Division Operator*" - -#: ../../library/__future__.rst:52 -msgid "absolute_import" -msgstr "absolute_import" - -#: ../../library/__future__.rst:52 ../../library/__future__.rst:55 -msgid "2.5.0a1" -msgstr "2.5.0a1" - -#: ../../library/__future__.rst:52 -msgid ":pep:`328`: *Imports: Multi-Line and Absolute/Relative*" -msgstr ":pep:`328`: *Imports: Multi-Line and Absolute/Relative*" - -#: ../../library/__future__.rst:55 -msgid "with_statement" -msgstr "with_statement" - -#: ../../library/__future__.rst:55 -msgid "2.6" -msgstr "2.6" - -#: ../../library/__future__.rst:55 -msgid ":pep:`343`: *The \"with\" Statement*" -msgstr ":pep:`343`: *The \"with\" Statement*" - -#: ../../library/__future__.rst:58 -msgid "print_function" -msgstr "print_function" - -#: ../../library/__future__.rst:58 ../../library/__future__.rst:61 -msgid "2.6.0a2" -msgstr "2.6.0a2" - -#: ../../library/__future__.rst:58 -msgid ":pep:`3105`: *Make print a function*" -msgstr ":pep:`3105`: *Make print a function*" - -#: ../../library/__future__.rst:61 -msgid "unicode_literals" -msgstr "unicode_literals" - -#: ../../library/__future__.rst:61 -msgid ":pep:`3112`: *Bytes literals in Python 3000*" -msgstr ":pep:`3112`: *Bytes literals in Python 3000*" - -#: ../../library/__future__.rst:64 -msgid "generator_stop" -msgstr "generator_stop" - -#: ../../library/__future__.rst:64 -msgid "3.5.0b1" -msgstr "3.5.0b1" - -#: ../../library/__future__.rst:64 -msgid "3.7" -msgstr "3.7" - -#: ../../library/__future__.rst:64 -msgid ":pep:`479`: *StopIteration handling inside generators*" -msgstr ":pep:`479`: *StopIteration handling inside generators*" - -#: ../../library/__future__.rst:67 -msgid "annotations" -msgstr "anotasi" - -#: ../../library/__future__.rst:67 -msgid "3.7.0b1" -msgstr "3.7.0b1" - -#: ../../library/__future__.rst:67 -msgid "Never [1]_" -msgstr "" - -#: ../../library/__future__.rst:67 -msgid "" -":pep:`563`: *Postponed evaluation of annotations*, :pep:`649`: *Deferred " -"evaluation of annotations using descriptors*" -msgstr "" - -#: ../../library/__future__.rst:79 -msgid "Each statement in :file:`__future__.py` is of the form::" -msgstr "" - -#: ../../library/__future__.rst:81 -msgid "" -"FeatureName = _Feature(OptionalRelease, MandatoryRelease,\n" -" CompilerFlag)" -msgstr "" - -#: ../../library/__future__.rst:84 -msgid "" -"where, normally, *OptionalRelease* is less than *MandatoryRelease*, and both" -" are 5-tuples of the same form as :data:`sys.version_info`::" -msgstr "" - -#: ../../library/__future__.rst:87 -msgid "" -"(PY_MAJOR_VERSION, # the 2 in 2.1.0a3; an int\n" -" PY_MINOR_VERSION, # the 1; an int\n" -" PY_MICRO_VERSION, # the 0; an int\n" -" PY_RELEASE_LEVEL, # \"alpha\", \"beta\", \"candidate\" or \"final\"; string\n" -" PY_RELEASE_SERIAL # the 3; an int\n" -")" -msgstr "" - -#: ../../library/__future__.rst:96 -msgid "" -"*OptionalRelease* records the first release in which the feature was " -"accepted." -msgstr "" - -#: ../../library/__future__.rst:100 -msgid "" -"In the case of a *MandatoryRelease* that has not yet occurred, " -"*MandatoryRelease* predicts the release in which the feature will become " -"part of the language." -msgstr "" - -#: ../../library/__future__.rst:104 -msgid "" -"Else *MandatoryRelease* records when the feature became part of the " -"language; in releases at or after that, modules no longer need a future " -"statement to use the feature in question, but may continue to use such " -"imports." -msgstr "" - -#: ../../library/__future__.rst:108 -msgid "" -"*MandatoryRelease* may also be ``None``, meaning that a planned feature got " -"dropped or that it is not yet decided." -msgstr "" - -#: ../../library/__future__.rst:113 -msgid "" -"*CompilerFlag* is the (bitfield) flag that should be passed in the fourth " -"argument to the built-in function :func:`compile` to enable the feature in " -"dynamically compiled code. This flag is stored in the " -":attr:`_Feature.compiler_flag` attribute on :class:`_Feature` instances." -msgstr "" - -#: ../../library/__future__.rst:119 -msgid "" -"``from __future__ import annotations`` was previously scheduled to become " -"mandatory in Python 3.10, but the change was delayed and ultimately " -"canceled. This feature will eventually be deprecated and removed. See " -":pep:`649` and :pep:`749`." -msgstr "" - -#: ../../library/__future__.rst:127 -msgid ":ref:`future`" -msgstr ":ref:`future`" - -#: ../../library/__future__.rst:128 -msgid "How the compiler treats future imports." -msgstr "" - -#: ../../library/__future__.rst:130 -msgid ":pep:`236` - Back to the __future__" -msgstr "" - -#: ../../library/__future__.rst:131 -msgid "The original proposal for the __future__ mechanism." -msgstr "" diff --git a/python-newest.library--__main__/id.po b/python-newest.library--__main__/id.po deleted file mode 100644 index 1f1c6e5..0000000 --- a/python-newest.library--__main__/id.po +++ /dev/null @@ -1,540 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/__main__.rst:2 -msgid ":mod:`!__main__` --- Top-level code environment" -msgstr "" - -#: ../../library/__main__.rst:10 -msgid "" -"In Python, the special name ``__main__`` is used for two important " -"constructs:" -msgstr "" - -#: ../../library/__main__.rst:12 -msgid "" -"the name of the top-level environment of the program, which can be checked " -"using the ``__name__ == '__main__'`` expression; and" -msgstr "" - -#: ../../library/__main__.rst:14 -msgid "the ``__main__.py`` file in Python packages." -msgstr "" - -#: ../../library/__main__.rst:16 -msgid "" -"Both of these mechanisms are related to Python modules; how users interact " -"with them and how they interact with each other. They are explained in " -"detail below. If you're new to Python modules, see the tutorial section " -":ref:`tut-modules` for an introduction." -msgstr "" - -#: ../../library/__main__.rst:25 -msgid "``__name__ == '__main__'``" -msgstr "" - -#: ../../library/__main__.rst:27 -msgid "" -"When a Python module or package is imported, ``__name__`` is set to the " -"module's name. Usually, this is the name of the Python file itself without " -"the ``.py`` extension::" -msgstr "" - -#: ../../library/__main__.rst:31 -msgid "" -">>> import configparser\n" -">>> configparser.__name__\n" -"'configparser'" -msgstr "" - -#: ../../library/__main__.rst:35 -msgid "" -"If the file is part of a package, ``__name__`` will also include the parent " -"package's path::" -msgstr "" - -#: ../../library/__main__.rst:38 -msgid "" -">>> from concurrent.futures import process\n" -">>> process.__name__\n" -"'concurrent.futures.process'" -msgstr "" - -#: ../../library/__main__.rst:42 -msgid "" -"However, if the module is executed in the top-level code environment, its " -"``__name__`` is set to the string ``'__main__'``." -msgstr "" - -#: ../../library/__main__.rst:46 -msgid "What is the \"top-level code environment\"?" -msgstr "" - -#: ../../library/__main__.rst:48 -msgid "" -"``__main__`` is the name of the environment where top-level code is run. " -"\"Top-level code\" is the first user-specified Python module that starts " -"running. It's \"top-level\" because it imports all other modules that the " -"program needs. Sometimes \"top-level code\" is called an *entry point* to " -"the application." -msgstr "" - -#: ../../library/__main__.rst:53 -msgid "The top-level code environment can be:" -msgstr "" - -#: ../../library/__main__.rst:55 -msgid "the scope of an interactive prompt::" -msgstr "" - -#: ../../library/__main__.rst:57 -msgid "" -">>> __name__\n" -"'__main__'" -msgstr "" - -#: ../../library/__main__.rst:60 -msgid "the Python module passed to the Python interpreter as a file argument:" -msgstr "" - -#: ../../library/__main__.rst:62 -msgid "" -"$ python helloworld.py\n" -"Hello, world!" -msgstr "" - -#: ../../library/__main__.rst:67 -msgid "" -"the Python module or package passed to the Python interpreter with the " -":option:`-m` argument:" -msgstr "" - -#: ../../library/__main__.rst:70 -msgid "" -"$ python -m tarfile\n" -"usage: tarfile.py [-h] [-v] (...)" -msgstr "" - -#: ../../library/__main__.rst:75 -msgid "Python code read by the Python interpreter from standard input:" -msgstr "" - -#: ../../library/__main__.rst:77 -msgid "" -"$ echo \"import this\" | python\n" -"The Zen of Python, by Tim Peters\n" -"\n" -"Beautiful is better than ugly.\n" -"Explicit is better than implicit.\n" -"..." -msgstr "" - -#: ../../library/__main__.rst:86 -msgid "" -"Python code passed to the Python interpreter with the :option:`-c` argument:" -msgstr "" - -#: ../../library/__main__.rst:88 -msgid "" -"$ python -c \"import this\"\n" -"The Zen of Python, by Tim Peters\n" -"\n" -"Beautiful is better than ugly.\n" -"Explicit is better than implicit.\n" -"..." -msgstr "" - -#: ../../library/__main__.rst:97 -msgid "" -"In each of these situations, the top-level module's ``__name__`` is set to " -"``'__main__'``." -msgstr "" - -#: ../../library/__main__.rst:100 -msgid "" -"As a result, a module can discover whether or not it is running in the top-" -"level environment by checking its own ``__name__``, which allows a common " -"idiom for conditionally executing code when the module is not initialized " -"from an import statement::" -msgstr "" - -#: ../../library/__main__.rst:105 -msgid "" -"if __name__ == '__main__':\n" -" # Execute when the module is not initialized from an import statement.\n" -" ..." -msgstr "" - -#: ../../library/__main__.rst:111 -msgid "" -"For a more detailed look at how ``__name__`` is set in all situations, see " -"the tutorial section :ref:`tut-modules`." -msgstr "" - -#: ../../library/__main__.rst:116 ../../library/__main__.rst:239 -msgid "Idiomatic Usage" -msgstr "" - -#: ../../library/__main__.rst:118 -msgid "" -"Some modules contain code that is intended for script use only, like parsing" -" command-line arguments or fetching data from standard input. If a module " -"like this was imported from a different module, for example to unit test it," -" the script code would unintentionally execute as well." -msgstr "" - -#: ../../library/__main__.rst:123 -msgid "" -"This is where using the ``if __name__ == '__main__'`` code block comes in " -"handy. Code within this block won't run unless the module is executed in the" -" top-level environment." -msgstr "" - -#: ../../library/__main__.rst:127 -msgid "" -"Putting as few statements as possible in the block below ``if __name__ == " -"'__main__'`` can improve code clarity and correctness. Most often, a " -"function named ``main`` encapsulates the program's primary behavior::" -msgstr "" - -#: ../../library/__main__.rst:131 -msgid "" -"# echo.py\n" -"\n" -"import shlex\n" -"import sys\n" -"\n" -"def echo(phrase: str) -> None:\n" -" \"\"\"A dummy wrapper around print.\"\"\"\n" -" # for demonstration purposes, you can imagine that there is some\n" -" # valuable and reusable logic inside this function\n" -" print(phrase)\n" -"\n" -"def main() -> int:\n" -" \"\"\"Echo the input arguments to standard output\"\"\"\n" -" phrase = shlex.join(sys.argv)\n" -" echo(phrase)\n" -" return 0\n" -"\n" -"if __name__ == '__main__':\n" -" sys.exit(main()) # next section explains the use of sys.exit" -msgstr "" - -#: ../../library/__main__.rst:151 -msgid "" -"Note that if the module didn't encapsulate code inside the ``main`` function" -" but instead put it directly within the ``if __name__ == '__main__'`` block," -" the ``phrase`` variable would be global to the entire module. This is " -"error-prone as other functions within the module could be unintentionally " -"using the global variable instead of a local name. A ``main`` function " -"solves this problem." -msgstr "" - -#: ../../library/__main__.rst:158 -msgid "" -"Using a ``main`` function has the added benefit of the ``echo`` function " -"itself being isolated and importable elsewhere. When ``echo.py`` is " -"imported, the ``echo`` and ``main`` functions will be defined, but neither " -"of them will be called, because ``__name__ != '__main__'``." -msgstr "" - -#: ../../library/__main__.rst:165 -msgid "Packaging Considerations" -msgstr "" - -#: ../../library/__main__.rst:167 -msgid "" -"``main`` functions are often used to create command-line tools by specifying" -" them as entry points for console scripts. When this is done, `pip " -"`_ inserts the function call into a template script, " -"where the return value of ``main`` is passed into :func:`sys.exit`. For " -"example::" -msgstr "" - -#: ../../library/__main__.rst:173 -msgid "sys.exit(main())" -msgstr "" - -#: ../../library/__main__.rst:175 -msgid "" -"Since the call to ``main`` is wrapped in :func:`sys.exit`, the expectation " -"is that your function will return some value acceptable as an input to " -":func:`sys.exit`; typically, an integer or ``None`` (which is implicitly " -"returned if your function does not have a return statement)." -msgstr "" - -#: ../../library/__main__.rst:180 -msgid "" -"By proactively following this convention ourselves, our module will have the" -" same behavior when run directly (i.e. ``python echo.py``) as it will have " -"if we later package it as a console script entry-point in a pip-installable " -"package." -msgstr "" - -#: ../../library/__main__.rst:185 -msgid "" -"In particular, be careful about returning strings from your ``main`` " -"function. :func:`sys.exit` will interpret a string argument as a failure " -"message, so your program will have an exit code of ``1``, indicating " -"failure, and the string will be written to :data:`sys.stderr`. The " -"``echo.py`` example from earlier exemplifies using the ``sys.exit(main())`` " -"convention." -msgstr "" - -#: ../../library/__main__.rst:193 -msgid "" -"`Python Packaging User Guide `_ contains a " -"collection of tutorials and references on how to distribute and install " -"Python packages with modern tools." -msgstr "" - -#: ../../library/__main__.rst:199 -msgid "``__main__.py`` in Python Packages" -msgstr "" - -#: ../../library/__main__.rst:201 -msgid "" -"If you are not familiar with Python packages, see section :ref:`tut-" -"packages` of the tutorial. Most commonly, the ``__main__.py`` file is used " -"to provide a command-line interface for a package. Consider the following " -"hypothetical package, \"bandclass\":" -msgstr "" - -#: ../../library/__main__.rst:206 -msgid "" -"bandclass\n" -" ├── __init__.py\n" -" ├── __main__.py\n" -" └── student.py" -msgstr "" - -#: ../../library/__main__.rst:213 -msgid "" -"``__main__.py`` will be executed when the package itself is invoked directly" -" from the command line using the :option:`-m` flag. For example:" -msgstr "" - -#: ../../library/__main__.rst:216 -msgid "$ python -m bandclass" -msgstr "" - -#: ../../library/__main__.rst:220 -msgid "" -"This command will cause ``__main__.py`` to run. How you utilize this " -"mechanism will depend on the nature of the package you are writing, but in " -"this hypothetical case, it might make sense to allow the teacher to search " -"for students::" -msgstr "" - -#: ../../library/__main__.rst:225 -msgid "" -"# bandclass/__main__.py\n" -"\n" -"import sys\n" -"from .student import search_students\n" -"\n" -"student_name = sys.argv[1] if len(sys.argv) >= 2 else ''\n" -"print(f'Found student: {search_students(student_name)}')" -msgstr "" - -#: ../../library/__main__.rst:233 -msgid "" -"Note that ``from .student import search_students`` is an example of a " -"relative import. This import style can be used when referencing modules " -"within a package. For more details, see :ref:`intra-package-references` in " -"the :ref:`tut-modules` section of the tutorial." -msgstr "" - -#: ../../library/__main__.rst:241 -msgid "" -"The content of ``__main__.py`` typically isn't fenced with an ``if __name__ " -"== '__main__'`` block. Instead, those files are kept short and import " -"functions to execute from other modules. Those other modules can then be " -"easily unit-tested and are properly reusable." -msgstr "" - -#: ../../library/__main__.rst:246 -msgid "" -"If used, an ``if __name__ == '__main__'`` block will still work as expected " -"for a ``__main__.py`` file within a package, because its ``__name__`` " -"attribute will include the package's path if imported::" -msgstr "" - -#: ../../library/__main__.rst:250 -msgid "" -">>> import asyncio.__main__\n" -">>> asyncio.__main__.__name__\n" -"'asyncio.__main__'" -msgstr "" - -#: ../../library/__main__.rst:254 -msgid "" -"This won't work for ``__main__.py`` files in the root directory of a " -"``.zip`` file though. Hence, for consistency, a minimal ``__main__.py`` " -"without a ``__name__`` check is preferred." -msgstr "" - -#: ../../library/__main__.rst:260 -msgid "" -"See :mod:`venv` for an example of a package with a minimal ``__main__.py`` " -"in the standard library. It doesn't contain a ``if __name__ == '__main__'`` " -"block. You can invoke it with ``python -m venv [directory]``." -msgstr "" - -#: ../../library/__main__.rst:264 -msgid "" -"See :mod:`runpy` for more details on the :option:`-m` flag to the " -"interpreter executable." -msgstr "" - -#: ../../library/__main__.rst:267 -msgid "" -"See :mod:`zipapp` for how to run applications packaged as *.zip* files. In " -"this case Python looks for a ``__main__.py`` file in the root directory of " -"the archive." -msgstr "" - -#: ../../library/__main__.rst:274 -msgid "``import __main__``" -msgstr "" - -#: ../../library/__main__.rst:276 -msgid "" -"Regardless of which module a Python program was started with, other modules " -"running within that same program can import the top-level environment's " -"scope (:term:`namespace`) by importing the ``__main__`` module. This " -"doesn't import a ``__main__.py`` file but rather whichever module that " -"received the special name ``'__main__'``." -msgstr "" - -#: ../../library/__main__.rst:282 -msgid "Here is an example module that consumes the ``__main__`` namespace::" -msgstr "" - -#: ../../library/__main__.rst:284 -msgid "" -"# namely.py\n" -"\n" -"import __main__\n" -"\n" -"def did_user_define_their_name():\n" -" return 'my_name' in dir(__main__)\n" -"\n" -"def print_user_name():\n" -" if not did_user_define_their_name():\n" -" raise ValueError('Define the variable `my_name`!')\n" -"\n" -" print(__main__.my_name)" -msgstr "" - -#: ../../library/__main__.rst:297 -msgid "Example usage of this module could be as follows::" -msgstr "" - -#: ../../library/__main__.rst:299 -msgid "" -"# start.py\n" -"\n" -"import sys\n" -"\n" -"from namely import print_user_name\n" -"\n" -"# my_name = \"Dinsdale\"\n" -"\n" -"def main():\n" -" try:\n" -" print_user_name()\n" -" except ValueError as ve:\n" -" return str(ve)\n" -"\n" -"if __name__ == \"__main__\":\n" -" sys.exit(main())" -msgstr "" - -#: ../../library/__main__.rst:316 -msgid "Now, if we started our program, the result would look like this:" -msgstr "" - -#: ../../library/__main__.rst:318 -msgid "" -"$ python start.py\n" -"Define the variable `my_name`!" -msgstr "" - -#: ../../library/__main__.rst:323 -msgid "" -"The exit code of the program would be 1, indicating an error. Uncommenting " -"the line with ``my_name = \"Dinsdale\"`` fixes the program and now it exits " -"with status code 0, indicating success:" -msgstr "" - -#: ../../library/__main__.rst:327 -msgid "" -"$ python start.py\n" -"Dinsdale" -msgstr "" - -#: ../../library/__main__.rst:332 -msgid "" -"Note that importing ``__main__`` doesn't cause any issues with " -"unintentionally running top-level code meant for script use which is put in " -"the ``if __name__ == \"__main__\"`` block of the ``start`` module. Why does " -"this work?" -msgstr "" - -#: ../../library/__main__.rst:336 -msgid "" -"Python inserts an empty ``__main__`` module in :data:`sys.modules` at " -"interpreter startup, and populates it by running top-level code. In our " -"example this is the ``start`` module which runs line by line and imports " -"``namely``. In turn, ``namely`` imports ``__main__`` (which is really " -"``start``). That's an import cycle! Fortunately, since the partially " -"populated ``__main__`` module is present in :data:`sys.modules`, Python " -"passes that to ``namely``. See :ref:`Special considerations for __main__ " -"` in the import system's reference for details on how " -"this works." -msgstr "" - -#: ../../library/__main__.rst:345 -msgid "" -"The Python REPL is another example of a \"top-level environment\", so " -"anything defined in the REPL becomes part of the ``__main__`` scope::" -msgstr "" - -#: ../../library/__main__.rst:348 -msgid "" -">>> import namely\n" -">>> namely.did_user_define_their_name()\n" -"False\n" -">>> namely.print_user_name()\n" -"Traceback (most recent call last):\n" -"...\n" -"ValueError: Define the variable `my_name`!\n" -">>> my_name = 'Jabberwocky'\n" -">>> namely.did_user_define_their_name()\n" -"True\n" -">>> namely.print_user_name()\n" -"Jabberwocky" -msgstr "" - -#: ../../library/__main__.rst:361 -msgid "" -"The ``__main__`` scope is used in the implementation of :mod:`pdb` and " -":mod:`rlcompleter`." -msgstr "" diff --git a/python-newest.library--_thread/id.po b/python-newest.library--_thread/id.po deleted file mode 100644 index b0f20bd..0000000 --- a/python-newest.library--_thread/id.po +++ /dev/null @@ -1,322 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/_thread.rst:2 -msgid ":mod:`!_thread` --- Low-level threading API" -msgstr "" - -#: ../../library/_thread.rst:15 -msgid "" -"This module provides low-level primitives for working with multiple threads " -"(also called :dfn:`light-weight processes` or :dfn:`tasks`) --- multiple " -"threads of control sharing their global data space. For synchronization, " -"simple locks (also called :dfn:`mutexes` or :dfn:`binary semaphores`) are " -"provided. The :mod:`threading` module provides an easier to use and higher-" -"level threading API built on top of this module." -msgstr "" - -#: ../../library/_thread.rst:26 -msgid "This module used to be optional, it is now always available." -msgstr "" - -#: ../../library/_thread.rst:29 -msgid "This module defines the following constants and functions:" -msgstr "" - -#: ../../library/_thread.rst:33 -msgid "Raised on thread-specific errors." -msgstr "" - -#: ../../library/_thread.rst:35 -msgid "This is now a synonym of the built-in :exc:`RuntimeError`." -msgstr "" - -#: ../../library/_thread.rst:41 -msgid "This is the type of lock objects." -msgstr "" - -#: ../../library/_thread.rst:46 -msgid "" -"Start a new thread and return its identifier. The thread executes the " -"function *function* with the argument list *args* (which must be a tuple). " -"The optional *kwargs* argument specifies a dictionary of keyword arguments." -msgstr "" - -#: ../../library/_thread.rst:50 -msgid "When the function returns, the thread silently exits." -msgstr "" - -#: ../../library/_thread.rst:52 -msgid "" -"When the function terminates with an unhandled exception, " -":func:`sys.unraisablehook` is called to handle the exception. The *object* " -"attribute of the hook argument is *function*. By default, a stack trace is " -"printed and then the thread exits (but other threads continue to run)." -msgstr "" - -#: ../../library/_thread.rst:57 -msgid "" -"When the function raises a :exc:`SystemExit` exception, it is silently " -"ignored." -msgstr "" - -#: ../../library/_thread.rst:60 -msgid "" -"Raises an :ref:`auditing event ` ``_thread.start_new_thread`` with" -" arguments ``function``, ``args``, ``kwargs``." -msgstr "" - -#: ../../library/_thread.rst:62 -msgid ":func:`sys.unraisablehook` is now used to handle unhandled exceptions." -msgstr "" - -#: ../../library/_thread.rst:68 -msgid "" -"Simulate the effect of a signal arriving in the main thread. A thread can " -"use this function to interrupt the main thread, though there is no guarantee" -" that the interruption will happen immediately." -msgstr "" - -#: ../../library/_thread.rst:72 -msgid "" -"If given, *signum* is the number of the signal to simulate. If *signum* is " -"not given, :const:`signal.SIGINT` is simulated." -msgstr "" - -#: ../../library/_thread.rst:75 -msgid "" -"If the given signal isn't handled by Python (it was set to " -":const:`signal.SIG_DFL` or :const:`signal.SIG_IGN`), this function does " -"nothing." -msgstr "" - -#: ../../library/_thread.rst:79 -msgid "The *signum* argument is added to customize the signal number." -msgstr "" - -#: ../../library/_thread.rst:83 -msgid "" -"This does not emit the corresponding signal but schedules a call to the " -"associated handler (if it exists). If you want to truly emit the signal, use" -" :func:`signal.raise_signal`." -msgstr "" - -#: ../../library/_thread.rst:90 -msgid "" -"Raise the :exc:`SystemExit` exception. When not caught, this will cause the" -" thread to exit silently." -msgstr "" - -#: ../../library/_thread.rst:104 -msgid "" -"Return a new lock object. Methods of locks are described below. The lock " -"is initially unlocked." -msgstr "" - -#: ../../library/_thread.rst:110 -msgid "" -"Return the 'thread identifier' of the current thread. This is a nonzero " -"integer. Its value has no direct meaning; it is intended as a magic cookie " -"to be used e.g. to index a dictionary of thread-specific data. Thread " -"identifiers may be recycled when a thread exits and another thread is " -"created." -msgstr "" - -#: ../../library/_thread.rst:118 -msgid "" -"Return the native integral Thread ID of the current thread assigned by the " -"kernel. This is a non-negative integer. Its value may be used to uniquely " -"identify this particular thread system-wide (until the thread terminates, " -"after which the value may be recycled by the OS)." -msgstr "" - -#: ../../library/_thread.rst:123 ../../library/_thread.rst:148 -msgid "Availability" -msgstr "" - -#: ../../library/_thread.rst:127 -msgid "Added support for GNU/kFreeBSD." -msgstr "" - -#: ../../library/_thread.rst:133 -msgid "" -"Return the thread stack size used when creating new threads. The optional " -"*size* argument specifies the stack size to be used for subsequently created" -" threads, and must be 0 (use platform or configured default) or a positive " -"integer value of at least 32,768 (32 KiB). If *size* is not specified, 0 is " -"used. If changing the thread stack size is unsupported, a " -":exc:`RuntimeError` is raised. If the specified stack size is invalid, a " -":exc:`ValueError` is raised and the stack size is unmodified. 32 KiB is " -"currently the minimum supported stack size value to guarantee sufficient " -"stack space for the interpreter itself. Note that some platforms may have " -"particular restrictions on values for the stack size, such as requiring a " -"minimum stack size > 32 KiB or requiring allocation in multiples of the " -"system memory page size - platform documentation should be referred to for " -"more information (4 KiB pages are common; using multiples of 4096 for the " -"stack size is the suggested approach in the absence of more specific " -"information)." -msgstr "" - -#: ../../library/_thread.rst:150 -msgid "Unix platforms with POSIX threads support." -msgstr "" - -#: ../../library/_thread.rst:155 -msgid "" -"The maximum value allowed for the *timeout* parameter of :meth:`Lock.acquire" -" `. Specifying a timeout greater than this value " -"will raise an :exc:`OverflowError`." -msgstr "" - -#: ../../library/_thread.rst:162 -msgid "Lock objects have the following methods:" -msgstr "" - -#: ../../library/_thread.rst:167 -msgid "" -"Without any optional argument, this method acquires the lock " -"unconditionally, if necessary waiting until it is released by another thread" -" (only one thread at a time can acquire a lock --- that's their reason for " -"existence)." -msgstr "" - -#: ../../library/_thread.rst:171 -msgid "" -"If the *blocking* argument is present, the action depends on its value: if " -"it is false, the lock is only acquired if it can be acquired immediately " -"without waiting, while if it is true, the lock is acquired unconditionally " -"as above." -msgstr "" - -#: ../../library/_thread.rst:176 -msgid "" -"If the floating-point *timeout* argument is present and positive, it " -"specifies the maximum wait time in seconds before returning. A negative " -"*timeout* argument specifies an unbounded wait. You cannot specify a " -"*timeout* if *blocking* is false." -msgstr "" - -#: ../../library/_thread.rst:181 -msgid "" -"The return value is ``True`` if the lock is acquired successfully, ``False``" -" if not." -msgstr "" - -#: ../../library/_thread.rst:184 -msgid "The *timeout* parameter is new." -msgstr "" - -#: ../../library/_thread.rst:187 -msgid "Lock acquires can now be interrupted by signals on POSIX." -msgstr "" - -#: ../../library/_thread.rst:190 -msgid "Lock acquires can now be interrupted by signals on Windows." -msgstr "" - -#: ../../library/_thread.rst:196 -msgid "" -"Releases the lock. The lock must have been acquired earlier, but not " -"necessarily by the same thread." -msgstr "" - -#: ../../library/_thread.rst:202 -msgid "" -"Return the status of the lock: ``True`` if it has been acquired by some " -"thread, ``False`` if not." -msgstr "" - -#: ../../library/_thread.rst:205 -msgid "" -"In addition to these methods, lock objects can also be used via the " -":keyword:`with` statement, e.g.::" -msgstr "" - -#: ../../library/_thread.rst:208 -msgid "" -"import _thread\n" -"\n" -"a_lock = _thread.allocate_lock()\n" -"\n" -"with a_lock:\n" -" print(\"a_lock is locked while this executes\")" -msgstr "" - -#: ../../library/_thread.rst:215 -msgid "**Caveats:**" -msgstr "" - -#: ../../library/_thread.rst:219 -msgid "" -"Interrupts always go to the main thread (the :exc:`KeyboardInterrupt` " -"exception will be received by that thread.)" -msgstr "" - -#: ../../library/_thread.rst:222 -msgid "" -"Calling :func:`sys.exit` or raising the :exc:`SystemExit` exception is " -"equivalent to calling :func:`_thread.exit`." -msgstr "" - -#: ../../library/_thread.rst:225 -msgid "" -"When the main thread exits, it is system defined whether the other threads " -"survive. On most systems, they are killed without executing :keyword:`try` " -"... :keyword:`finally` clauses or executing object destructors." -msgstr "" - -#: ../../library/_thread.rst:7 -msgid "light-weight processes" -msgstr "" - -#: ../../library/_thread.rst:7 -msgid "processes, light-weight" -msgstr "" - -#: ../../library/_thread.rst:7 -msgid "binary semaphores" -msgstr "" - -#: ../../library/_thread.rst:7 -msgid "semaphores, binary" -msgstr "" - -#: ../../library/_thread.rst:22 -msgid "pthreads" -msgstr "" - -#: ../../library/_thread.rst:22 -msgid "threads" -msgstr "" - -#: ../../library/_thread.rst:22 -msgid "POSIX" -msgstr "" - -#: ../../library/_thread.rst:217 -msgid "module" -msgstr "modul" - -#: ../../library/_thread.rst:217 -msgid "signal" -msgstr "signal" diff --git a/python-newest.library--abc/id.po b/python-newest.library--abc/id.po deleted file mode 100644 index 220623c..0000000 --- a/python-newest.library--abc/id.po +++ /dev/null @@ -1,487 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/abc.rst:2 -msgid ":mod:`!abc` --- Abstract Base Classes" -msgstr "" - -#: ../../library/abc.rst:11 -msgid "**Source code:** :source:`Lib/abc.py`" -msgstr "" - -#: ../../library/abc.rst:15 -msgid "" -"This module provides the infrastructure for defining :term:`abstract base " -"classes ` (ABCs) in Python, as outlined in :pep:`3119`;" -" see the PEP for why this was added to Python. (See also :pep:`3141` and the" -" :mod:`numbers` module regarding a type hierarchy for numbers based on " -"ABCs.)" -msgstr "" - -#: ../../library/abc.rst:20 -msgid "" -"The :mod:`collections` module has some concrete classes that derive from " -"ABCs; these can, of course, be further derived. In addition, the " -":mod:`collections.abc` submodule has some ABCs that can be used to test " -"whether a class or instance provides a particular interface, for example, if" -" it is :term:`hashable` or if it is a :term:`mapping`." -msgstr "" - -#: ../../library/abc.rst:27 -msgid "" -"This module provides the metaclass :class:`ABCMeta` for defining ABCs and a " -"helper class :class:`ABC` to alternatively define ABCs through inheritance:" -msgstr "" - -#: ../../library/abc.rst:32 -msgid "" -"A helper class that has :class:`ABCMeta` as its metaclass. With this class," -" an abstract base class can be created by simply deriving from :class:`!ABC`" -" avoiding sometimes confusing metaclass usage, for example::" -msgstr "" - -#: ../../library/abc.rst:36 -msgid "" -"from abc import ABC\n" -"\n" -"class MyABC(ABC):\n" -" pass" -msgstr "" - -#: ../../library/abc.rst:41 -msgid "" -"Note that the type of :class:`!ABC` is still :class:`ABCMeta`, therefore " -"inheriting from :class:`!ABC` requires the usual precautions regarding " -"metaclass usage, as multiple inheritance may lead to metaclass conflicts. " -"One may also define an abstract base class by passing the metaclass keyword " -"and using :class:`!ABCMeta` directly, for example::" -msgstr "" - -#: ../../library/abc.rst:47 -msgid "" -"from abc import ABCMeta\n" -"\n" -"class MyABC(metaclass=ABCMeta):\n" -" pass" -msgstr "" - -#: ../../library/abc.rst:57 -msgid "Metaclass for defining Abstract Base Classes (ABCs)." -msgstr "" - -#: ../../library/abc.rst:59 -msgid "" -"Use this metaclass to create an ABC. An ABC can be subclassed directly, and" -" then acts as a mix-in class. You can also register unrelated concrete " -"classes (even built-in classes) and unrelated ABCs as \"virtual subclasses\"" -" -- these and their descendants will be considered subclasses of the " -"registering ABC by the built-in :func:`issubclass` function, but the " -"registering ABC won't show up in their MRO (Method Resolution Order) nor " -"will method implementations defined by the registering ABC be callable (not " -"even via :func:`super`). [#]_" -msgstr "" - -#: ../../library/abc.rst:68 -msgid "" -"Classes created with a metaclass of :class:`!ABCMeta` have the following " -"method:" -msgstr "" - -#: ../../library/abc.rst:72 -msgid "Register *subclass* as a \"virtual subclass\" of this ABC. For example::" -msgstr "" - -#: ../../library/abc.rst:75 -msgid "" -"from abc import ABC\n" -"\n" -"class MyABC(ABC):\n" -" pass\n" -"\n" -"MyABC.register(tuple)\n" -"\n" -"assert issubclass(tuple, MyABC)\n" -"assert isinstance((), MyABC)" -msgstr "" - -#: ../../library/abc.rst:85 -msgid "Returns the registered subclass, to allow usage as a class decorator." -msgstr "" - -#: ../../library/abc.rst:88 -msgid "" -"To detect calls to :meth:`!register`, you can use the " -":func:`get_cache_token` function." -msgstr "" - -#: ../../library/abc.rst:92 -msgid "You can also override this method in an abstract base class:" -msgstr "" - -#: ../../library/abc.rst:96 -msgid "(Must be defined as a class method.)" -msgstr "" - -#: ../../library/abc.rst:98 -msgid "" -"Check whether *subclass* is considered a subclass of this ABC. This means " -"that you can customize the behavior of :func:`issubclass` further without " -"the need to call :meth:`register` on every class you want to consider a " -"subclass of the ABC. (This class method is called from the " -":meth:`~type.__subclasscheck__` method of the ABC.)" -msgstr "" - -#: ../../library/abc.rst:104 -msgid "" -"This method should return ``True``, ``False`` or :data:`NotImplemented`. If" -" it returns ``True``, the *subclass* is considered a subclass of this ABC. " -"If it returns ``False``, the *subclass* is not considered a subclass of this" -" ABC, even if it would normally be one. If it returns " -":data:`!NotImplemented`, the subclass check is continued with the usual " -"mechanism." -msgstr "" - -#: ../../library/abc.rst:114 -msgid "" -"For a demonstration of these concepts, look at this example ABC definition::" -msgstr "" - -#: ../../library/abc.rst:116 -msgid "" -"class Foo:\n" -" def __getitem__(self, index):\n" -" ...\n" -" def __len__(self):\n" -" ...\n" -" def get_iterator(self):\n" -" return iter(self)\n" -"\n" -"class MyIterable(ABC):\n" -"\n" -" @abstractmethod\n" -" def __iter__(self):\n" -" while False:\n" -" yield None\n" -"\n" -" def get_iterator(self):\n" -" return self.__iter__()\n" -"\n" -" @classmethod\n" -" def __subclasshook__(cls, C):\n" -" if cls is MyIterable:\n" -" if any(\"__iter__\" in B.__dict__ for B in C.__mro__):\n" -" return True\n" -" return NotImplemented\n" -"\n" -"MyIterable.register(Foo)" -msgstr "" - -#: ../../library/abc.rst:143 -msgid "" -"The ABC ``MyIterable`` defines the standard iterable method, " -":meth:`~object.__iter__`, as an abstract method. The implementation given " -"here can still be called from subclasses. The :meth:`!get_iterator` method " -"is also part of the ``MyIterable`` abstract base class, but it does not have" -" to be overridden in non-abstract derived classes." -msgstr "" - -#: ../../library/abc.rst:149 -msgid "" -"The :meth:`__subclasshook__` class method defined here says that any class " -"that has an :meth:`~object.__iter__` method in its :attr:`~object.__dict__` " -"(or in that of one of its base classes, accessed via the " -":attr:`~type.__mro__` list) is considered a ``MyIterable`` too." -msgstr "" - -#: ../../library/abc.rst:154 -msgid "" -"Finally, the last line makes ``Foo`` a virtual subclass of ``MyIterable``, " -"even though it does not define an :meth:`~object.__iter__` method (it uses " -"the old-style iterable protocol, defined in terms of :meth:`~object.__len__`" -" and :meth:`~object.__getitem__`). Note that this will not make " -"``get_iterator`` available as a method of ``Foo``, so it is provided " -"separately." -msgstr "" - -#: ../../library/abc.rst:163 -msgid "The :mod:`!abc` module also provides the following decorator:" -msgstr "" - -#: ../../library/abc.rst:167 -msgid "A decorator indicating abstract methods." -msgstr "" - -#: ../../library/abc.rst:169 -msgid "" -"Using this decorator requires that the class's metaclass is :class:`ABCMeta`" -" or is derived from it. A class that has a metaclass derived from " -":class:`!ABCMeta` cannot be instantiated unless all of its abstract methods " -"and properties are overridden. The abstract methods can be called using any" -" of the normal 'super' call mechanisms. :func:`!abstractmethod` may be used" -" to declare abstract methods for properties and descriptors." -msgstr "" - -#: ../../library/abc.rst:176 -msgid "" -"Dynamically adding abstract methods to a class, or attempting to modify the " -"abstraction status of a method or class once it is created, are only " -"supported using the :func:`update_abstractmethods` function. The " -":func:`!abstractmethod` only affects subclasses derived using regular " -"inheritance; \"virtual subclasses\" registered with the ABC's " -":meth:`~ABCMeta.register` method are not affected." -msgstr "" - -#: ../../library/abc.rst:183 -msgid "" -"When :func:`!abstractmethod` is applied in combination with other method " -"descriptors, it should be applied as the innermost decorator, as shown in " -"the following usage examples::" -msgstr "" - -#: ../../library/abc.rst:187 -msgid "" -"class C(ABC):\n" -" @abstractmethod\n" -" def my_abstract_method(self, arg1):\n" -" ...\n" -" @classmethod\n" -" @abstractmethod\n" -" def my_abstract_classmethod(cls, arg2):\n" -" ...\n" -" @staticmethod\n" -" @abstractmethod\n" -" def my_abstract_staticmethod(arg3):\n" -" ...\n" -"\n" -" @property\n" -" @abstractmethod\n" -" def my_abstract_property(self):\n" -" ...\n" -" @my_abstract_property.setter\n" -" @abstractmethod\n" -" def my_abstract_property(self, val):\n" -" ...\n" -"\n" -" @abstractmethod\n" -" def _get_x(self):\n" -" ...\n" -" @abstractmethod\n" -" def _set_x(self, val):\n" -" ...\n" -" x = property(_get_x, _set_x)" -msgstr "" - -#: ../../library/abc.rst:217 -msgid "" -"In order to correctly interoperate with the abstract base class machinery, " -"the descriptor must identify itself as abstract using " -":attr:`!__isabstractmethod__`. In general, this attribute should be ``True``" -" if any of the methods used to compose the descriptor are abstract. For " -"example, Python's built-in :class:`property` does the equivalent of::" -msgstr "" - -#: ../../library/abc.rst:223 -msgid "" -"class Descriptor:\n" -" ...\n" -" @property\n" -" def __isabstractmethod__(self):\n" -" return any(getattr(f, '__isabstractmethod__', False) for\n" -" f in (self._fget, self._fset, self._fdel))" -msgstr "" - -#: ../../library/abc.rst:232 -msgid "" -"Unlike Java abstract methods, these abstract methods may have an " -"implementation. This implementation can be called via the :func:`super` " -"mechanism from the class that overrides it. This could be useful as an end-" -"point for a super-call in a framework that uses cooperative multiple-" -"inheritance." -msgstr "" - -#: ../../library/abc.rst:239 -msgid "The :mod:`!abc` module also supports the following legacy decorators:" -msgstr "" - -#: ../../library/abc.rst:244 -msgid "" -"It is now possible to use :class:`classmethod` with :func:`abstractmethod`, " -"making this decorator redundant." -msgstr "" - -#: ../../library/abc.rst:248 -msgid "" -"A subclass of the built-in :func:`classmethod`, indicating an abstract " -"classmethod. Otherwise it is similar to :func:`abstractmethod`." -msgstr "" - -#: ../../library/abc.rst:251 -msgid "" -"This special case is deprecated, as the :func:`classmethod` decorator is now" -" correctly identified as abstract when applied to an abstract method::" -msgstr "" - -#: ../../library/abc.rst:255 -msgid "" -"class C(ABC):\n" -" @classmethod\n" -" @abstractmethod\n" -" def my_abstract_classmethod(cls, arg):\n" -" ..." -msgstr "" - -#: ../../library/abc.rst:265 -msgid "" -"It is now possible to use :class:`staticmethod` with :func:`abstractmethod`," -" making this decorator redundant." -msgstr "" - -#: ../../library/abc.rst:269 -msgid "" -"A subclass of the built-in :func:`staticmethod`, indicating an abstract " -"staticmethod. Otherwise it is similar to :func:`abstractmethod`." -msgstr "" - -#: ../../library/abc.rst:272 -msgid "" -"This special case is deprecated, as the :func:`staticmethod` decorator is " -"now correctly identified as abstract when applied to an abstract method::" -msgstr "" - -#: ../../library/abc.rst:276 -msgid "" -"class C(ABC):\n" -" @staticmethod\n" -" @abstractmethod\n" -" def my_abstract_staticmethod(arg):\n" -" ..." -msgstr "" - -#: ../../library/abc.rst:285 -msgid "" -"It is now possible to use :class:`property`, :meth:`property.getter`, " -":meth:`property.setter` and :meth:`property.deleter` with " -":func:`abstractmethod`, making this decorator redundant." -msgstr "" - -#: ../../library/abc.rst:290 -msgid "" -"A subclass of the built-in :func:`property`, indicating an abstract " -"property." -msgstr "" - -#: ../../library/abc.rst:293 -msgid "" -"This special case is deprecated, as the :func:`property` decorator is now " -"correctly identified as abstract when applied to an abstract method::" -msgstr "" - -#: ../../library/abc.rst:297 -msgid "" -"class C(ABC):\n" -" @property\n" -" @abstractmethod\n" -" def my_abstract_property(self):\n" -" ..." -msgstr "" - -#: ../../library/abc.rst:303 -msgid "" -"The above example defines a read-only property; you can also define a read-" -"write abstract property by appropriately marking one or more of the " -"underlying methods as abstract::" -msgstr "" - -#: ../../library/abc.rst:307 -msgid "" -"class C(ABC):\n" -" @property\n" -" def x(self):\n" -" ...\n" -"\n" -" @x.setter\n" -" @abstractmethod\n" -" def x(self, val):\n" -" ..." -msgstr "" - -#: ../../library/abc.rst:317 -msgid "" -"If only some components are abstract, only those components need to be " -"updated to create a concrete property in a subclass::" -msgstr "" - -#: ../../library/abc.rst:320 -msgid "" -"class D(C):\n" -" @C.x.setter\n" -" def x(self, val):\n" -" ..." -msgstr "" - -#: ../../library/abc.rst:326 -msgid "The :mod:`!abc` module also provides the following functions:" -msgstr "" - -#: ../../library/abc.rst:330 -msgid "Returns the current abstract base class cache token." -msgstr "" - -#: ../../library/abc.rst:332 -msgid "" -"The token is an opaque object (that supports equality testing) identifying " -"the current version of the abstract base class cache for virtual subclasses." -" The token changes with every call to :meth:`ABCMeta.register` on any ABC." -msgstr "" - -#: ../../library/abc.rst:340 -msgid "" -"A function to recalculate an abstract class's abstraction status. This " -"function should be called if a class's abstract methods have been " -"implemented or changed after it was created. Usually, this function should " -"be called from within a class decorator." -msgstr "" - -#: ../../library/abc.rst:345 -msgid "Returns *cls*, to allow usage as a class decorator." -msgstr "" - -#: ../../library/abc.rst:347 -msgid "If *cls* is not an instance of :class:`ABCMeta`, does nothing." -msgstr "" - -#: ../../library/abc.rst:351 -msgid "" -"This function assumes that *cls*'s superclasses are already updated. It does" -" not update any subclasses." -msgstr "" - -#: ../../library/abc.rst:357 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/abc.rst:358 -msgid "" -"C++ programmers should note that Python's virtual base class concept is not " -"the same as C++'s." -msgstr "" diff --git a/python-newest.library--aifc/id.po b/python-newest.library--aifc/id.po deleted file mode 100644 index e21af23..0000000 --- a/python-newest.library--aifc/id.po +++ /dev/null @@ -1,35 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/aifc.rst:2 -msgid ":mod:`!aifc` --- Read and write AIFF and AIFC files" -msgstr "" - -#: ../../library/aifc.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.13 ` after being deprecated in" -" Python 3.11. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/aifc.rst:14 -msgid "" -"The last version of Python that provided the :mod:`!aifc` module was `Python" -" 3.12 `_." -msgstr "" diff --git a/python-newest.library--allos/id.po b/python-newest.library--allos/id.po deleted file mode 100644 index 07a03e0..0000000 --- a/python-newest.library--allos/id.po +++ /dev/null @@ -1,39 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/allos.rst:5 -msgid "Generic Operating System Services" -msgstr "Layanan Sistem Operasi Generik" - -#: ../../library/allos.rst:7 -msgid "" -"The modules described in this chapter provide interfaces to operating system" -" features that are available on (almost) all operating systems, such as " -"files and a clock. The interfaces are generally modeled after the Unix or C" -" interfaces, but they are available on most other systems as well. Here's " -"an overview:" -msgstr "" -"Modul yang dijelaskan dalam bab ini menyediakan antarmuka untuk fitur sistem" -" operasi yang tersedia pada (hampir) semua sistem operasi, seperti file dan " -"jam. Antarmuka umumnya dimodelkan setelah antarmuka Unix atau C, tetapi " -"mereka tersedia di sebagian besar sistem lain juga. Berikut ini ikhtisar:" diff --git a/python-newest.library--annotationlib/id.po b/python-newest.library--annotationlib/id.po deleted file mode 100644 index 4da0f8a..0000000 --- a/python-newest.library--annotationlib/id.po +++ /dev/null @@ -1,696 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2025 -# Rafael Fontenelle , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2025-05-08 06:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/annotationlib.rst:2 -msgid ":mod:`!annotationlib` --- Functionality for introspecting annotations" -msgstr "" - -#: ../../library/annotationlib.rst:8 -msgid "**Source code:** :source:`Lib/annotationlib.py`" -msgstr "" - -#: ../../library/annotationlib.rst:17 -msgid "" -"The :mod:`!annotationlib` module provides tools for introspecting " -":term:`annotations ` on modules, classes, and functions." -msgstr "" - -#: ../../library/annotationlib.rst:20 -msgid "" -"Annotations are :ref:`lazily evaluated ` and often contain " -"forward references to objects that are not yet defined when the annotation " -"is created. This module provides a set of low-level tools that can be used " -"to retrieve annotations in a reliable way, even in the presence of forward " -"references and other edge cases." -msgstr "" - -#: ../../library/annotationlib.rst:25 -msgid "" -"This module supports retrieving annotations in three main formats (see " -":class:`Format`), each of which works best for different use cases:" -msgstr "" - -#: ../../library/annotationlib.rst:28 -msgid "" -":attr:`~Format.VALUE` evaluates the annotations and returns their value. " -"This is most straightforward to work with, but it may raise errors, for " -"example if the annotations contain references to undefined names." -msgstr "" - -#: ../../library/annotationlib.rst:31 -msgid "" -":attr:`~Format.FORWARDREF` returns :class:`ForwardRef` objects for " -"annotations that cannot be resolved, allowing you to inspect the annotations" -" without evaluating them. This is useful when you need to work with " -"annotations that may contain unresolved forward references." -msgstr "" - -#: ../../library/annotationlib.rst:35 -msgid "" -":attr:`~Format.STRING` returns the annotations as a string, similar to how " -"it would appear in the source file. This is useful for documentation " -"generators that want to display annotations in a readable way." -msgstr "" - -#: ../../library/annotationlib.rst:39 -msgid "" -"The :func:`get_annotations` function is the main entry point for retrieving " -"annotations. Given a function, class, or module, it returns an annotations " -"dictionary in the requested format. This module also provides functionality " -"for working directly with the :term:`annotate function` that is used to " -"evaluate annotations, such as :func:`get_annotate_from_class_namespace` and " -":func:`call_annotate_function`, as well as the " -":func:`call_evaluate_function` function for working with :term:`evaluate " -"functions `." -msgstr "" - -#: ../../library/annotationlib.rst:51 -msgid "" -":pep:`649` proposed the current model for how annotations work in Python." -msgstr "" - -#: ../../library/annotationlib.rst:53 -msgid "" -":pep:`749` expanded on various aspects of :pep:`649` and introduced the " -":mod:`!annotationlib` module." -msgstr "" - -#: ../../library/annotationlib.rst:56 -msgid "" -":ref:`annotations-howto` provides best practices for working with " -"annotations." -msgstr "" - -#: ../../library/annotationlib.rst:59 -msgid "" -":pypi:`typing-extensions` provides a backport of :func:`get_annotations` " -"that works on earlier versions of Python." -msgstr "" - -#: ../../library/annotationlib.rst:63 -msgid "Annotation semantics" -msgstr "" - -#: ../../library/annotationlib.rst:65 -msgid "" -"The way annotations are evaluated has changed over the history of Python 3, " -"and currently still depends on a :ref:`future import `. There have " -"been execution models for annotations:" -msgstr "" - -#: ../../library/annotationlib.rst:69 -msgid "" -"*Stock semantics* (default in Python 3.0 through 3.13; see :pep:`3107` and " -":pep:`526`): Annotations are evaluated eagerly, as they are encountered in " -"the source code." -msgstr "" - -#: ../../library/annotationlib.rst:72 -msgid "" -"*Stringified annotations* (used with ``from __future__ import annotations`` " -"in Python 3.7 and newer; see :pep:`563`): Annotations are stored as strings " -"only." -msgstr "" - -#: ../../library/annotationlib.rst:75 -msgid "" -"*Deferred evaluation* (default in Python 3.14 and newer; see :pep:`649` and " -":pep:`749`): Annotations are evaluated lazily, only when they are accessed." -msgstr "" - -#: ../../library/annotationlib.rst:78 -msgid "As an example, consider the following program::" -msgstr "" - -#: ../../library/annotationlib.rst:80 -msgid "" -"def func(a: Cls) -> None:\n" -" print(a)\n" -"\n" -"class Cls: pass\n" -"\n" -"print(func.__annotations__)" -msgstr "" - -#: ../../library/annotationlib.rst:87 -msgid "This will behave as follows:" -msgstr "" - -#: ../../library/annotationlib.rst:89 -msgid "" -"Under stock semantics (Python 3.13 and earlier), it will throw a " -":exc:`NameError` at the line where ``func`` is defined, because ``Cls`` is " -"an undefined name at that point." -msgstr "" - -#: ../../library/annotationlib.rst:92 -msgid "" -"Under stringified annotations (if ``from __future__ import annotations`` is " -"used), it will print ``{'a': 'Cls', 'return': 'None'}``." -msgstr "" - -#: ../../library/annotationlib.rst:94 -msgid "" -"Under deferred evaluation (Python 3.14 and later), it will print ``{'a': " -", 'return': None}``." -msgstr "" - -#: ../../library/annotationlib.rst:97 -msgid "" -"Stock semantics were used when function annotations were first introduced in" -" Python 3.0 (by :pep:`3107`) because this was the simplest, most obvious way" -" to implement annotations. The same execution model was used when variable " -"annotations were introduced in Python 3.6 (by :pep:`526`). However, stock " -"semantics caused problems when using annotations as type hints, such as a " -"need to refer to names that are not yet defined when the annotation is " -"encountered. In addition, there were performance problems with executing " -"annotations at module import time. Therefore, in Python 3.7, :pep:`563` " -"introduced the ability to store annotations as strings using the ``from " -"__future__ import annotations`` syntax. The plan at the time was to " -"eventually make this behavior the default, but a problem appeared: " -"stringified annotations are more difficult to process for those who " -"introspect annotations at runtime. An alternative proposal, :pep:`649`, " -"introduced the third execution model, deferred evaluation, and was " -"implemented in Python 3.14. Stringified annotations are still used if ``from" -" __future__ import annotations`` is present, but this behavior will " -"eventually be removed." -msgstr "" - -#: ../../library/annotationlib.rst:116 -msgid "Classes" -msgstr "Classes" - -#: ../../library/annotationlib.rst:120 -msgid "" -"An :class:`~enum.IntEnum` describing the formats in which annotations can be" -" returned. Members of the enum, or their equivalent integer values, can be " -"passed to :func:`get_annotations` and other functions in this module, as " -"well as to :attr:`~object.__annotate__` functions." -msgstr "" - -#: ../../library/annotationlib.rst:128 -msgid "Values are the result of evaluating the annotation expressions." -msgstr "" - -#: ../../library/annotationlib.rst:133 -msgid "" -"Values are real annotation values (as per :attr:`Format.VALUE` format) for " -"defined values, and :class:`ForwardRef` proxies for undefined values. Real " -"objects may contain references to :class:`ForwardRef` proxy objects." -msgstr "" - -#: ../../library/annotationlib.rst:141 -msgid "" -"Values are the text string of the annotation as it appears in the source " -"code, up to modifications including, but not restricted to, whitespace " -"normalizations and constant values optimizations." -msgstr "" - -#: ../../library/annotationlib.rst:145 -msgid "" -"The exact values of these strings may change in future versions of Python." -msgstr "" - -#: ../../library/annotationlib.rst:150 -msgid "" -"Special value used to signal that an annotate function is being evaluated in" -" a special environment with fake globals. When passed this value, annotate " -"functions should either return the same value as for the " -":attr:`Format.VALUE` format, or raise :exc:`NotImplementedError` to signal " -"that they do not support execution in this environment. This format is only " -"used internally and should not be passed to the functions in this module." -msgstr "" - -#: ../../library/annotationlib.rst:162 -msgid "A proxy object for forward references in annotations." -msgstr "" - -#: ../../library/annotationlib.rst:164 -msgid "" -"Instances of this class are returned when the :attr:`~Format.FORWARDREF` " -"format is used and annotations contain a name that cannot be resolved. This " -"can happen when a forward reference is used in an annotation, such as when a" -" class is referenced before it is defined." -msgstr "" - -#: ../../library/annotationlib.rst:171 -msgid "" -"A string containing the code that was evaluated to produce the " -":class:`~ForwardRef`. The string may not be exactly equivalent to the " -"original source." -msgstr "" - -#: ../../library/annotationlib.rst:177 -msgid "Evaluate the forward reference, returning its value." -msgstr "" - -#: ../../library/annotationlib.rst:179 -msgid "" -"If the *format* argument is :attr:`~Format.VALUE` (the default), this method" -" may throw an exception, such as :exc:`NameError`, if the forward reference " -"refers to a name that cannot be resolved. The arguments to this method can " -"be used to provide bindings for names that would otherwise be undefined. If " -"the *format* argument is :attr:`~Format.FORWARDREF`, the method will never " -"throw an exception, but may return a :class:`~ForwardRef` instance. For " -"example, if the forward reference object contains the code " -"``list[undefined]``, where ``undefined`` is a name that is not defined, " -"evaluating it with the :attr:`~Format.FORWARDREF` format will return " -"``list[ForwardRef('undefined')]``. If the *format* argument is " -":attr:`~Format.STRING`, the method will return " -":attr:`~ForwardRef.__forward_arg__`." -msgstr "" - -#: ../../library/annotationlib.rst:191 -msgid "" -"The *owner* parameter provides the preferred mechanism for passing scope " -"information to this method. The owner of a :class:`~ForwardRef` is the " -"object that contains the annotation from which the :class:`~ForwardRef` " -"derives, such as a module object, type object, or function object." -msgstr "" - -#: ../../library/annotationlib.rst:196 -msgid "" -"The *globals*, *locals*, and *type_params* parameters provide a more precise" -" mechanism for influencing the names that are available when the " -":class:`~ForwardRef` is evaluated. *globals* and *locals* are passed to " -":func:`eval`, representing the global and local namespaces in which the name" -" is evaluated. The *type_params* parameter is relevant for objects created " -"using the native syntax for :ref:`generic classes ` and " -":ref:`functions `. It is a tuple of :ref:`type parameters" -" ` that are in scope while the forward reference is being " -"evaluated. For example, if evaluating a :class:`~ForwardRef` retrieved from " -"an annotation found in the class namespace of a generic class ``C``, " -"*type_params* should be set to ``C.__type_params__``." -msgstr "" - -#: ../../library/annotationlib.rst:207 -msgid "" -":class:`~ForwardRef` instances returned by :func:`get_annotations` retain " -"references to information about the scope they originated from, so calling " -"this method with no further arguments may be sufficient to evaluate such " -"objects. :class:`~ForwardRef` instances created by other means may not have " -"any information about their scope, so passing arguments to this method may " -"be necessary to evaluate them successfully." -msgstr "" - -#: ../../library/annotationlib.rst:218 -msgid "Functions" -msgstr "Fungsi-Fungsi" - -#: ../../library/annotationlib.rst:222 -msgid "" -"Convert an annotations dict containing runtime values to a dict containing " -"only strings. If the values are not already strings, they are converted " -"using :func:`type_repr`. This is meant as a helper for user-provided " -"annotate functions that support the :attr:`~Format.STRING` format but do not" -" have access to the code creating the annotations." -msgstr "" - -#: ../../library/annotationlib.rst:229 -msgid "" -"For example, this is used to implement the :attr:`~Format.STRING` for " -":class:`typing.TypedDict` classes created through the functional syntax:" -msgstr "" - -#: ../../library/annotationlib.rst:232 -msgid "" -">>> from typing import TypedDict\n" -">>> Movie = TypedDict(\"movie\", {\"name\": str, \"year\": int})\n" -">>> get_annotations(Movie, format=Format.STRING)\n" -"{'name': 'str', 'year': 'int'}" -msgstr "" - -#: ../../library/annotationlib.rst:243 -msgid "" -"Call the :term:`annotate function` *annotate* with the given *format*, a " -"member of the :class:`Format` enum, and return the annotations dictionary " -"produced by the function." -msgstr "" - -#: ../../library/annotationlib.rst:247 -msgid "" -"This helper function is required because annotate functions generated by the" -" compiler for functions, classes, and modules only support the " -":attr:`~Format.VALUE` format when called directly. To support other formats," -" this function calls the annotate function in a special environment that " -"allows it to produce annotations in the other formats. This is a useful " -"building block when implementing functionality that needs to partially " -"evaluate annotations while a class is being constructed." -msgstr "" - -#: ../../library/annotationlib.rst:256 -msgid "" -"*owner* is the object that owns the annotation function, usually a function," -" class, or module. If provided, it is used in the :attr:`~Format.FORWARDREF`" -" format to produce a :class:`ForwardRef` object that carries more " -"information." -msgstr "" - -#: ../../library/annotationlib.rst:263 -msgid "" -":PEP:`PEP 649 <649#the-stringizer-and-the-fake-globals-environment>` " -"contains an explanation of the implementation technique used by this " -"function." -msgstr "" - -#: ../../library/annotationlib.rst:271 -msgid "" -"Call the :term:`evaluate function` *evaluate* with the given *format*, a " -"member of the :class:`Format` enum, and return the value produced by the " -"function. This is similar to :func:`call_annotate_function`, but the latter " -"always returns a dictionary mapping strings to annotations, while this " -"function returns a single value." -msgstr "" - -#: ../../library/annotationlib.rst:277 -msgid "" -"This is intended for use with the evaluate functions generated for lazily " -"evaluated elements related to type aliases and type parameters:" -msgstr "" - -#: ../../library/annotationlib.rst:280 -msgid ":meth:`typing.TypeAliasType.evaluate_value`, the value of type aliases" -msgstr "" - -#: ../../library/annotationlib.rst:281 -msgid ":meth:`typing.TypeVar.evaluate_bound`, the bound of type variables" -msgstr "" - -#: ../../library/annotationlib.rst:282 -msgid "" -":meth:`typing.TypeVar.evaluate_constraints`, the constraints of type " -"variables" -msgstr "" - -#: ../../library/annotationlib.rst:284 -msgid "" -":meth:`typing.TypeVar.evaluate_default`, the default value of type variables" -msgstr "" - -#: ../../library/annotationlib.rst:286 -msgid "" -":meth:`typing.ParamSpec.evaluate_default`, the default value of parameter " -"specifications" -msgstr "" - -#: ../../library/annotationlib.rst:288 -msgid "" -":meth:`typing.TypeVarTuple.evaluate_default`, the default value of type " -"variable tuples" -msgstr "" - -#: ../../library/annotationlib.rst:291 -msgid "" -"*owner* is the object that owns the evaluate function, such as the type " -"alias or type variable object." -msgstr "" - -#: ../../library/annotationlib.rst:294 -msgid "" -"*format* can be used to control the format in which the value is returned:" -msgstr "" - -#: ../../library/annotationlib.rst:296 -msgid "" -">>> type Alias = undefined\n" -">>> call_evaluate_function(Alias.evaluate_value, Format.VALUE)\n" -"Traceback (most recent call last):\n" -"...\n" -"NameError: name 'undefined' is not defined\n" -">>> call_evaluate_function(Alias.evaluate_value, Format.FORWARDREF)\n" -"ForwardRef('undefined')\n" -">>> call_evaluate_function(Alias.evaluate_value, Format.STRING)\n" -"'undefined'" -msgstr "" - -#: ../../library/annotationlib.rst:312 -msgid "" -"Retrieve the :term:`annotate function` from a class namespace dictionary " -"*namespace*. Return :const:`!None` if the namespace does not contain an " -"annotate function. This is primarily useful before the class has been fully " -"created (e.g., in a metaclass); after the class exists, the annotate " -"function can be retrieved with ``cls.__annotate__``. See :ref:`below " -"` for an example using this function in a " -"metaclass." -msgstr "" - -#: ../../library/annotationlib.rst:322 -msgid "Compute the annotations dict for an object." -msgstr "" - -#: ../../library/annotationlib.rst:324 -msgid "" -"*obj* may be a callable, class, module, or other object with " -":attr:`~object.__annotate__` or :attr:`~object.__annotations__` attributes. " -"Passing any other object raises :exc:`TypeError`." -msgstr "" - -#: ../../library/annotationlib.rst:328 -msgid "" -"The *format* parameter controls the format in which annotations are " -"returned, and must be a member of the :class:`Format` enum or its integer " -"equivalent. The different formats work as follows:" -msgstr "" - -#: ../../library/annotationlib.rst:332 -msgid "" -"VALUE: :attr:`!object.__annotations__` is tried first; if that does not " -"exist, the :attr:`!object.__annotate__` function is called if it exists." -msgstr "" - -#: ../../library/annotationlib.rst:334 -msgid "" -"FORWARDREF: If :attr:`!object.__annotations__` exists and can be evaluated " -"successfully, it is used; otherwise, the :attr:`!object.__annotate__` " -"function is called. If it does not exist either, " -":attr:`!object.__annotations__` is tried again and any error from accessing " -"it is re-raised." -msgstr "" - -#: ../../library/annotationlib.rst:338 -msgid "" -"STRING: If :attr:`!object.__annotate__` exists, it is called first; " -"otherwise, :attr:`!object.__annotations__` is used and stringified using " -":func:`annotations_to_string`." -msgstr "" - -#: ../../library/annotationlib.rst:342 -msgid "" -"Returns a dict. :func:`!get_annotations` returns a new dict every time it's " -"called; calling it twice on the same object will return two different but " -"equivalent dicts." -msgstr "" - -#: ../../library/annotationlib.rst:346 -msgid "This function handles several details for you:" -msgstr "" - -#: ../../library/annotationlib.rst:348 -msgid "" -"If *eval_str* is true, values of type :class:`!str` will be un-stringized " -"using :func:`eval`. This is intended for use with stringized annotations " -"(``from __future__ import annotations``). It is an error to set *eval_str* " -"to true with formats other than :attr:`Format.VALUE`." -msgstr "" - -#: ../../library/annotationlib.rst:353 -msgid "" -"If *obj* doesn't have an annotations dict, returns an empty dict. (Functions" -" and methods always have an annotations dict; classes, modules, and other " -"types of callables may not.)" -msgstr "" - -#: ../../library/annotationlib.rst:357 -msgid "" -"Ignores inherited annotations on classes, as well as annotations on " -"metaclasses. If a class doesn't have its own annotations dict, returns an " -"empty dict." -msgstr "" - -#: ../../library/annotationlib.rst:360 -msgid "" -"All accesses to object members and dict values are done using ``getattr()`` " -"and ``dict.get()`` for safety." -msgstr "" - -#: ../../library/annotationlib.rst:363 -msgid "" -"*eval_str* controls whether or not values of type :class:`!str` are replaced" -" with the result of calling :func:`eval` on those values:" -msgstr "" - -#: ../../library/annotationlib.rst:366 -msgid "" -"If eval_str is true, :func:`eval` is called on values of type :class:`!str`." -" (Note that :func:`!get_annotations` doesn't catch exceptions; if " -":func:`eval` raises an exception, it will unwind the stack past the " -":func:`!get_annotations` call.)" -msgstr "" - -#: ../../library/annotationlib.rst:370 -msgid "" -"If *eval_str* is false (the default), values of type :class:`!str` are " -"unchanged." -msgstr "" - -#: ../../library/annotationlib.rst:373 -msgid "" -"*globals* and *locals* are passed in to :func:`eval`; see the documentation " -"for :func:`eval` for more information. If *globals* or *locals* is " -":const:`!None`, this function may replace that value with a context-specific" -" default, contingent on ``type(obj)``:" -msgstr "" - -#: ../../library/annotationlib.rst:378 -msgid "If *obj* is a module, *globals* defaults to ``obj.__dict__``." -msgstr "" - -#: ../../library/annotationlib.rst:379 -msgid "" -"If *obj* is a class, *globals* defaults to " -"``sys.modules[obj.__module__].__dict__`` and *locals* defaults to the *obj* " -"class namespace." -msgstr "" - -#: ../../library/annotationlib.rst:382 -msgid "" -"If *obj* is a callable, *globals* defaults to :attr:`obj.__globals__ " -"`, although if *obj* is a wrapped function (using " -":func:`functools.update_wrapper`) or a :class:`functools.partial` object, it" -" is unwrapped until a non-wrapped function is found." -msgstr "" - -#: ../../library/annotationlib.rst:388 -msgid "" -"Calling :func:`!get_annotations` is best practice for accessing the " -"annotations dict of any object. See :ref:`annotations-howto` for more " -"information on annotations best practices." -msgstr "" - -#: ../../library/annotationlib.rst:392 -msgid "" -">>> def f(a: int, b: str) -> float:\n" -"... pass\n" -">>> get_annotations(f)\n" -"{'a': , 'b': , 'return': }" -msgstr "" - -#: ../../library/annotationlib.rst:403 -msgid "" -"Convert an arbitrary Python value to a format suitable for use by the " -":attr:`~Format.STRING` format. This calls :func:`repr` for most objects, but" -" has special handling for some objects, such as type objects." -msgstr "" - -#: ../../library/annotationlib.rst:407 -msgid "" -"This is meant as a helper for user-provided annotate functions that support " -"the :attr:`~Format.STRING` format but do not have access to the code " -"creating the annotations. It can also be used to provide a user-friendly " -"string representation for other objects that contain values that are " -"commonly encountered in annotations." -msgstr "" - -#: ../../library/annotationlib.rst:417 -msgid "Recipes" -msgstr "" - -#: ../../library/annotationlib.rst:422 -msgid "Using annotations in a metaclass" -msgstr "" - -#: ../../library/annotationlib.rst:424 -msgid "" -"A :ref:`metaclass ` may want to inspect or even modify the " -"annotations in a class body during class creation. Doing so requires " -"retrieving annotations from the class namespace dictionary. For classes " -"created with ``from __future__ import annotations``, the annotations will be" -" in the ``__annotations__`` key of the dictionary. For other classes with " -"annotations, :func:`get_annotate_from_class_namespace` can be used to get " -"the annotate function, and :func:`call_annotate_function` can be used to " -"call it and retrieve the annotations. Using the :attr:`~Format.FORWARDREF` " -"format will usually be best, because this allows the annotations to refer to" -" names that cannot yet be resolved when the class is created." -msgstr "" - -#: ../../library/annotationlib.rst:435 -msgid "" -"To modify the annotations, it is best to create a wrapper annotate function " -"that calls the original annotate function, makes any necessary adjustments, " -"and returns the result." -msgstr "" - -#: ../../library/annotationlib.rst:439 -msgid "" -"Below is an example of a metaclass that filters out all " -":class:`typing.ClassVar` annotations from the class and puts them in a " -"separate attribute:" -msgstr "" - -#: ../../library/annotationlib.rst:442 -msgid "" -"import annotationlib\n" -"import typing\n" -"\n" -"class ClassVarSeparator(type):\n" -" def __new__(mcls, name, bases, ns):\n" -" if \"__annotations__\" in ns: # from __future__ import annotations\n" -" annotations = ns[\"__annotations__\"]\n" -" classvar_keys = {\n" -" key for key, value in annotations.items()\n" -" # Use string comparison for simplicity; a more robust solution\n" -" # could use annotationlib.ForwardRef.evaluate\n" -" if value.startswith(\"ClassVar\")\n" -" }\n" -" classvars = {key: annotations[key] for key in classvar_keys}\n" -" ns[\"__annotations__\"] = {\n" -" key: value for key, value in annotations.items()\n" -" if key not in classvar_keys\n" -" }\n" -" wrapped_annotate = None\n" -" elif annotate := annotationlib.get_annotate_from_class_namespace(ns):\n" -" annotations = annotationlib.call_annotate_function(\n" -" annotate, format=annotationlib.Format.FORWARDREF\n" -" )\n" -" classvar_keys = {\n" -" key for key, value in annotations.items()\n" -" if typing.get_origin(value) is typing.ClassVar\n" -" }\n" -" classvars = {key: annotations[key] for key in classvar_keys}\n" -"\n" -" def wrapped_annotate(format):\n" -" annos = annotationlib.call_annotate_function(annotate, format, owner=typ)\n" -" return {key: value for key, value in annos.items() if key not in classvar_keys}\n" -"\n" -" else: # no annotations\n" -" classvars = {}\n" -" wrapped_annotate = None\n" -" typ = super().__new__(mcls, name, bases, ns)\n" -"\n" -" if wrapped_annotate is not None:\n" -" # Wrap the original __annotate__ with a wrapper that removes ClassVars\n" -" typ.__annotate__ = wrapped_annotate\n" -" typ.classvars = classvars # Store the ClassVars in a separate attribute\n" -" return typ" -msgstr "" diff --git a/python-newest.library--archiving/id.po b/python-newest.library--archiving/id.po deleted file mode 100644 index 32c01c8..0000000 --- a/python-newest.library--archiving/id.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/archiving.rst:5 -msgid "Data Compression and Archiving" -msgstr "Kompresi Data dan Pengarsipan" - -#: ../../library/archiving.rst:7 -msgid "" -"The modules described in this chapter support data compression with the " -"zlib, gzip, bzip2 and lzma algorithms, and the creation of ZIP- and tar-" -"format archives. See also :ref:`archiving-operations` provided by the " -":mod:`shutil` module." -msgstr "" -"Modul yang dijelaskan dalam bab ini mendukung kompresi data dengan algoritma" -" zlib, gzip, bzip2 dan lzma, dan pembuatan arsip format-ZIP dan tar. Lihat " -"juga :ref:`archiving-operations` yang disediakan oleh modul :mod:`shutil`." diff --git a/python-newest.library--argparse/id.po b/python-newest.library--argparse/id.po deleted file mode 100644 index 3739b15..0000000 --- a/python-newest.library--argparse/id.po +++ /dev/null @@ -1,3154 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2021 -# Faiq Zakki <221709674@stis.ac.id>, 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/argparse.rst:2 -msgid "" -":mod:`!argparse` --- Parser for command-line options, arguments and " -"subcommands" -msgstr "" - -#: ../../library/argparse.rst:12 -msgid "**Source code:** :source:`Lib/argparse.py`" -msgstr "**Sumber Kode:** :source:`Lib/argparse.py`" - -#: ../../library/argparse.rst:16 -msgid "" -"While :mod:`argparse` is the default recommended standard library module for" -" implementing basic command line applications, authors with more exacting " -"requirements for exactly how their command line applications behave may find" -" it doesn't provide the necessary level of control. Refer to :ref:`choosing-" -"an-argument-parser` for alternatives to consider when ``argparse`` doesn't " -"support behaviors that the application requires (such as entirely disabling " -"support for interspersed options and positional arguments, or accepting " -"option parameter values that start with ``-`` even when they correspond to " -"another defined option)." -msgstr "" - -#: ../../library/argparse.rst-1 -msgid "Tutorial" -msgstr "Tutorial" - -#: ../../library/argparse.rst:30 -msgid "" -"This page contains the API reference information. For a more gentle " -"introduction to Python command-line parsing, have a look at the " -":ref:`argparse tutorial `." -msgstr "" -"Halaman ini berisi informasi mengenai referensi API. Untuk pengenalan yang " -"lebih mudah dalam penguraian command-line dengan Python, lihat di " -":ref:`tutorial argparse `." - -#: ../../library/argparse.rst:34 -msgid "" -"The :mod:`!argparse` module makes it easy to write user-friendly command-" -"line interfaces. The program defines what arguments it requires, and " -":mod:`!argparse` will figure out how to parse those out of :data:`sys.argv`." -" The :mod:`!argparse` module also automatically generates help and usage " -"messages. The module will also issue errors when users give the program " -"invalid arguments." -msgstr "" - -#: ../../library/argparse.rst:40 -msgid "" -"The :mod:`!argparse` module's support for command-line interfaces is built " -"around an instance of :class:`argparse.ArgumentParser`. It is a container " -"for argument specifications and has options that apply to the parser as " -"whole::" -msgstr "" - -#: ../../library/argparse.rst:44 -msgid "" -"parser = argparse.ArgumentParser(\n" -" prog='ProgramName',\n" -" description='What the program does',\n" -" epilog='Text at the bottom of help')" -msgstr "" - -#: ../../library/argparse.rst:49 -msgid "" -"The :meth:`ArgumentParser.add_argument` method attaches individual argument " -"specifications to the parser. It supports positional arguments, options " -"that accept values, and on/off flags::" -msgstr "" - -#: ../../library/argparse.rst:53 -msgid "" -"parser.add_argument('filename') # positional argument\n" -"parser.add_argument('-c', '--count') # option that takes a value\n" -"parser.add_argument('-v', '--verbose',\n" -" action='store_true') # on/off flag" -msgstr "" - -#: ../../library/argparse.rst:58 -msgid "" -"The :meth:`ArgumentParser.parse_args` method runs the parser and places the " -"extracted data in a :class:`argparse.Namespace` object::" -msgstr "" - -#: ../../library/argparse.rst:61 -msgid "" -"args = parser.parse_args()\n" -"print(args.filename, args.count, args.verbose)" -msgstr "" - -#: ../../library/argparse.rst:65 -msgid "" -"If you're looking for a guide about how to upgrade :mod:`optparse` code to " -":mod:`!argparse`, see :ref:`Upgrading Optparse Code `." -msgstr "" - -#: ../../library/argparse.rst:69 -msgid "ArgumentParser objects" -msgstr "Objek ArgumentParser" - -#: ../../library/argparse.rst:79 -msgid "" -"Create a new :class:`ArgumentParser` object. All parameters should be passed" -" as keyword arguments. Each parameter has its own more detailed description " -"below, but in short they are:" -msgstr "" - -#: ../../library/argparse.rst:83 -msgid "" -"prog_ - The name of the program (default: generated from the ``__main__`` " -"module attributes and ``sys.argv[0]``)" -msgstr "" - -#: ../../library/argparse.rst:86 -msgid "" -"usage_ - The string describing the program usage (default: generated from " -"arguments added to parser)" -msgstr "" - -#: ../../library/argparse.rst:89 -msgid "" -"description_ - Text to display before the argument help (by default, no " -"text)" -msgstr "" - -#: ../../library/argparse.rst:92 -msgid "" -"epilog_ - Text to display after the argument help (by default, no text)" -msgstr "" - -#: ../../library/argparse.rst:94 -msgid "" -"parents_ - A list of :class:`ArgumentParser` objects whose arguments should " -"also be included" -msgstr "" - -#: ../../library/argparse.rst:97 -msgid "formatter_class_ - A class for customizing the help output" -msgstr "" - -#: ../../library/argparse.rst:99 -msgid "" -"prefix_chars_ - The set of characters that prefix optional arguments " -"(default: '-')" -msgstr "" - -#: ../../library/argparse.rst:102 -msgid "" -"fromfile_prefix_chars_ - The set of characters that prefix files from which " -"additional arguments should be read (default: ``None``)" -msgstr "" - -#: ../../library/argparse.rst:105 -msgid "" -"argument_default_ - The global default value for arguments (default: " -"``None``)" -msgstr "" - -#: ../../library/argparse.rst:108 -msgid "" -"conflict_handler_ - The strategy for resolving conflicting optionals " -"(usually unnecessary)" -msgstr "" - -#: ../../library/argparse.rst:111 -msgid "" -"add_help_ - Add a ``-h/--help`` option to the parser (default: ``True``)" -msgstr "" - -#: ../../library/argparse.rst:113 -msgid "" -"allow_abbrev_ - Allows long options to be abbreviated if the abbreviation is" -" unambiguous (default: ``True``)" -msgstr "" - -#: ../../library/argparse.rst:116 -msgid "" -"exit_on_error_ - Determines whether or not :class:`!ArgumentParser` exits " -"with error info when an error occurs. (default: ``True``)" -msgstr "" - -#: ../../library/argparse.rst:119 -msgid "" -"suggest_on_error_ - Enables suggestions for mistyped argument choices and " -"subparser names (default: ``False``)" -msgstr "" - -#: ../../library/argparse.rst:122 -msgid "color_ - Allow color output (default: ``False``)" -msgstr "" - -#: ../../library/argparse.rst:124 -msgid "*allow_abbrev* parameter was added." -msgstr "" - -#: ../../library/argparse.rst:127 -msgid "" -"In previous versions, *allow_abbrev* also disabled grouping of short flags " -"such as ``-vv`` to mean ``-v -v``." -msgstr "" - -#: ../../library/argparse.rst:131 -msgid "*exit_on_error* parameter was added." -msgstr "" - -#: ../../library/argparse.rst:134 -msgid "*suggest_on_error* and *color* parameters were added." -msgstr "" - -#: ../../library/argparse.rst:137 ../../library/argparse.rst:686 -msgid "The following sections describe how each of these are used." -msgstr "" - -#: ../../library/argparse.rst:143 -msgid "prog" -msgstr "prog" - -#: ../../library/argparse.rst:146 -msgid "" -"By default, :class:`ArgumentParser` calculates the name of the program to " -"display in help messages depending on the way the Python interpreter was " -"run:" -msgstr "" - -#: ../../library/argparse.rst:149 -msgid "" -"The :func:`base name ` of ``sys.argv[0]`` if a file was " -"passed as argument." -msgstr "" - -#: ../../library/argparse.rst:151 -msgid "" -"The Python interpreter name followed by ``sys.argv[0]`` if a directory or a " -"zipfile was passed as argument." -msgstr "" - -#: ../../library/argparse.rst:153 -msgid "" -"The Python interpreter name followed by ``-m`` followed by the module or " -"package name if the :option:`-m` option was used." -msgstr "" - -#: ../../library/argparse.rst:156 -msgid "" -"This default is almost always desirable because it will make the help " -"messages match the string that was used to invoke the program on the command" -" line. However, to change this default behavior, another value can be " -"supplied using the ``prog=`` argument to :class:`ArgumentParser`::" -msgstr "" - -#: ../../library/argparse.rst:161 -msgid "" -">>> parser = argparse.ArgumentParser(prog='myprogram')\n" -">>> parser.print_help()\n" -"usage: myprogram [-h]\n" -"\n" -"options:\n" -" -h, --help show this help message and exit" -msgstr "" - -#: ../../library/argparse.rst:168 -msgid "" -"Note that the program name, whether determined from ``sys.argv[0]``, from " -"the ``__main__`` module attributes or from the ``prog=`` argument, is " -"available to help messages using the ``%(prog)s`` format specifier." -msgstr "" - -#: ../../library/argparse.rst:175 -msgid "" -">>> parser = argparse.ArgumentParser(prog='myprogram')\n" -">>> parser.add_argument('--foo', help='foo of the %(prog)s program')\n" -">>> parser.print_help()\n" -"usage: myprogram [-h] [--foo FOO]\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" --foo FOO foo of the myprogram program" -msgstr "" - -#: ../../library/argparse.rst:184 -msgid "" -"The default ``prog`` value now reflects how ``__main__`` was actually " -"executed, rather than always being ``os.path.basename(sys.argv[0])``." -msgstr "" - -#: ../../library/argparse.rst:189 -msgid "usage" -msgstr "penggunaan" - -#: ../../library/argparse.rst:191 -msgid "" -"By default, :class:`ArgumentParser` calculates the usage message from the " -"arguments it contains. The default message can be overridden with the " -"``usage=`` keyword argument::" -msgstr "" - -#: ../../library/argparse.rst:195 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG', usage='%(prog)s [options]')\n" -">>> parser.add_argument('--foo', nargs='?', help='foo help')\n" -">>> parser.add_argument('bar', nargs='+', help='bar help')\n" -">>> parser.print_help()\n" -"usage: PROG [options]\n" -"\n" -"positional arguments:\n" -" bar bar help\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" --foo [FOO] foo help" -msgstr "" - -#: ../../library/argparse.rst:208 -msgid "" -"The ``%(prog)s`` format specifier is available to fill in the program name " -"in your usage messages." -msgstr "" - -#: ../../library/argparse.rst:211 -msgid "" -"When a custom usage message is specified for the main parser, you may also " -"want to consider passing the ``prog`` argument to " -":meth:`~ArgumentParser.add_subparsers` or the ``prog`` and the ``usage`` " -"arguments to :meth:`~_SubParsersAction.add_parser`, to ensure consistent " -"command prefixes and usage information across subparsers." -msgstr "" - -#: ../../library/argparse.rst:221 -msgid "description" -msgstr "deskripsi" - -#: ../../library/argparse.rst:223 -msgid "" -"Most calls to the :class:`ArgumentParser` constructor will use the " -"``description=`` keyword argument. This argument gives a brief description " -"of what the program does and how it works. In help messages, the " -"description is displayed between the command-line usage string and the help " -"messages for the various arguments." -msgstr "" - -#: ../../library/argparse.rst:229 -msgid "" -"By default, the description will be line-wrapped so that it fits within the " -"given space. To change this behavior, see the formatter_class_ argument." -msgstr "" - -#: ../../library/argparse.rst:234 -msgid "epilog" -msgstr "epilog" - -#: ../../library/argparse.rst:236 -msgid "" -"Some programs like to display additional description of the program after " -"the description of the arguments. Such text can be specified using the " -"``epilog=`` argument to :class:`ArgumentParser`::" -msgstr "" - -#: ../../library/argparse.rst:240 -msgid "" -">>> parser = argparse.ArgumentParser(\n" -"... description='A foo that bars',\n" -"... epilog=\"And that's how you'd foo a bar\")\n" -">>> parser.print_help()\n" -"usage: argparse.py [-h]\n" -"\n" -"A foo that bars\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -"\n" -"And that's how you'd foo a bar" -msgstr "" - -#: ../../library/argparse.rst:253 -msgid "" -"As with the description_ argument, the ``epilog=`` text is by default line-" -"wrapped, but this behavior can be adjusted with the formatter_class_ " -"argument to :class:`ArgumentParser`." -msgstr "" - -#: ../../library/argparse.rst:259 -msgid "parents" -msgstr "" - -#: ../../library/argparse.rst:261 -msgid "" -"Sometimes, several parsers share a common set of arguments. Rather than " -"repeating the definitions of these arguments, a single parser with all the " -"shared arguments and passed to ``parents=`` argument to " -":class:`ArgumentParser` can be used. The ``parents=`` argument takes a list" -" of :class:`ArgumentParser` objects, collects all the positional and " -"optional actions from them, and adds these actions to the " -":class:`ArgumentParser` object being constructed::" -msgstr "" - -#: ../../library/argparse.rst:268 -msgid "" -">>> parent_parser = argparse.ArgumentParser(add_help=False)\n" -">>> parent_parser.add_argument('--parent', type=int)\n" -"\n" -">>> foo_parser = argparse.ArgumentParser(parents=[parent_parser])\n" -">>> foo_parser.add_argument('foo')\n" -">>> foo_parser.parse_args(['--parent', '2', 'XXX'])\n" -"Namespace(foo='XXX', parent=2)\n" -"\n" -">>> bar_parser = argparse.ArgumentParser(parents=[parent_parser])\n" -">>> bar_parser.add_argument('--bar')\n" -">>> bar_parser.parse_args(['--bar', 'YYY'])\n" -"Namespace(bar='YYY', parent=None)" -msgstr "" - -#: ../../library/argparse.rst:281 -msgid "" -"Note that most parent parsers will specify ``add_help=False``. Otherwise, " -"the :class:`ArgumentParser` will see two ``-h/--help`` options (one in the " -"parent and one in the child) and raise an error." -msgstr "" - -#: ../../library/argparse.rst:286 -msgid "" -"You must fully initialize the parsers before passing them via ``parents=``. " -"If you change the parent parsers after the child parser, those changes will " -"not be reflected in the child." -msgstr "" - -#: ../../library/argparse.rst:294 -msgid "formatter_class" -msgstr "formatter_class" - -#: ../../library/argparse.rst:296 -msgid "" -":class:`ArgumentParser` objects allow the help formatting to be customized " -"by specifying an alternate formatting class. Currently, there are four such" -" classes:" -msgstr "" -"Objek-objek :class:`ArgumentParser` memungkinkan pemformatan bantuan untuk " -"disesuaikan dengan menentukan kelas pemformatan alternatif. Saat ini, " -"terdapat empat kelas:" - -#: ../../library/argparse.rst:305 -msgid "" -":class:`RawDescriptionHelpFormatter` and :class:`RawTextHelpFormatter` give " -"more control over how textual descriptions are displayed. By default, " -":class:`ArgumentParser` objects line-wrap the description_ and epilog_ texts" -" in command-line help messages::" -msgstr "" - -#: ../../library/argparse.rst:310 -msgid "" -">>> parser = argparse.ArgumentParser(\n" -"... prog='PROG',\n" -"... description='''this description\n" -"... was indented weird\n" -"... but that is okay''',\n" -"... epilog='''\n" -"... likewise for this epilog whose whitespace will\n" -"... be cleaned up and whose words will be wrapped\n" -"... across a couple lines''')\n" -">>> parser.print_help()\n" -"usage: PROG [-h]\n" -"\n" -"this description was indented weird but that is okay\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -"\n" -"likewise for this epilog whose whitespace will be cleaned up and whose words\n" -"will be wrapped across a couple lines" -msgstr "" - -#: ../../library/argparse.rst:330 -msgid "" -"Passing :class:`RawDescriptionHelpFormatter` as ``formatter_class=`` " -"indicates that description_ and epilog_ are already correctly formatted and " -"should not be line-wrapped::" -msgstr "" - -#: ../../library/argparse.rst:334 -msgid "" -">>> parser = argparse.ArgumentParser(\n" -"... prog='PROG',\n" -"... formatter_class=argparse.RawDescriptionHelpFormatter,\n" -"... description=textwrap.dedent('''\\\n" -"... Please do not mess up this text!\n" -"... --------------------------------\n" -"... I have indented it\n" -"... exactly the way\n" -"... I want it\n" -"... '''))\n" -">>> parser.print_help()\n" -"usage: PROG [-h]\n" -"\n" -"Please do not mess up this text!\n" -"--------------------------------\n" -" I have indented it\n" -" exactly the way\n" -" I want it\n" -"\n" -"options:\n" -" -h, --help show this help message and exit" -msgstr "" - -#: ../../library/argparse.rst:356 -msgid "" -":class:`RawTextHelpFormatter` maintains whitespace for all sorts of help " -"text, including argument descriptions. However, multiple newlines are " -"replaced with one. If you wish to preserve multiple blank lines, add spaces " -"between the newlines." -msgstr "" - -#: ../../library/argparse.rst:361 -msgid "" -":class:`ArgumentDefaultsHelpFormatter` automatically adds information about " -"default values to each of the argument help messages::" -msgstr "" - -#: ../../library/argparse.rst:364 -msgid "" -">>> parser = argparse.ArgumentParser(\n" -"... prog='PROG',\n" -"... formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n" -">>> parser.add_argument('--foo', type=int, default=42, help='FOO!')\n" -">>> parser.add_argument('bar', nargs='*', default=[1, 2, 3], help='BAR!')\n" -">>> parser.print_help()\n" -"usage: PROG [-h] [--foo FOO] [bar ...]\n" -"\n" -"positional arguments:\n" -" bar BAR! (default: [1, 2, 3])\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" --foo FOO FOO! (default: 42)" -msgstr "" - -#: ../../library/argparse.rst:379 -msgid "" -":class:`MetavarTypeHelpFormatter` uses the name of the type_ argument for " -"each argument as the display name for its values (rather than using the " -"dest_ as the regular formatter does)::" -msgstr "" - -#: ../../library/argparse.rst:383 -msgid "" -">>> parser = argparse.ArgumentParser(\n" -"... prog='PROG',\n" -"... formatter_class=argparse.MetavarTypeHelpFormatter)\n" -">>> parser.add_argument('--foo', type=int)\n" -">>> parser.add_argument('bar', type=float)\n" -">>> parser.print_help()\n" -"usage: PROG [-h] [--foo int] float\n" -"\n" -"positional arguments:\n" -" float\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" --foo int" -msgstr "" - -#: ../../library/argparse.rst:400 -msgid "prefix_chars" -msgstr "prefix_chars" - -#: ../../library/argparse.rst:402 -msgid "" -"Most command-line options will use ``-`` as the prefix, e.g. ``-f/--foo``. " -"Parsers that need to support different or additional prefix characters, e.g." -" for options like ``+f`` or ``/foo``, may specify them using the " -"``prefix_chars=`` argument to the :class:`ArgumentParser` constructor::" -msgstr "" - -#: ../../library/argparse.rst:408 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG', prefix_chars='-+')\n" -">>> parser.add_argument('+f')\n" -">>> parser.add_argument('++bar')\n" -">>> parser.parse_args('+f X ++bar Y'.split())\n" -"Namespace(bar='Y', f='X')" -msgstr "" - -#: ../../library/argparse.rst:414 -msgid "" -"The ``prefix_chars=`` argument defaults to ``'-'``. Supplying a set of " -"characters that does not include ``-`` will cause ``-f/--foo`` options to be" -" disallowed." -msgstr "" - -#: ../../library/argparse.rst:420 -msgid "fromfile_prefix_chars" -msgstr "fromfile_prefix_chars" - -#: ../../library/argparse.rst:422 -msgid "" -"Sometimes, when dealing with a particularly long argument list, it may make " -"sense to keep the list of arguments in a file rather than typing it out at " -"the command line. If the ``fromfile_prefix_chars=`` argument is given to " -"the :class:`ArgumentParser` constructor, then arguments that start with any " -"of the specified characters will be treated as files, and will be replaced " -"by the arguments they contain. For example::" -msgstr "" - -#: ../../library/argparse.rst:429 -msgid "" -">>> with open('args.txt', 'w', encoding=sys.getfilesystemencoding()) as fp:\n" -"... fp.write('-f\\nbar')\n" -"...\n" -">>> parser = argparse.ArgumentParser(fromfile_prefix_chars='@')\n" -">>> parser.add_argument('-f')\n" -">>> parser.parse_args(['-f', 'foo', '@args.txt'])\n" -"Namespace(f='bar')" -msgstr "" - -#: ../../library/argparse.rst:437 -msgid "" -"Arguments read from a file must by default be one per line (but see also " -":meth:`~ArgumentParser.convert_arg_line_to_args`) and are treated as if they" -" were in the same place as the original file referencing argument on the " -"command line. So in the example above, the expression ``['-f', 'foo', " -"'@args.txt']`` is considered equivalent to the expression ``['-f', 'foo', " -"'-f', 'bar']``." -msgstr "" - -#: ../../library/argparse.rst:443 -msgid "" -":class:`ArgumentParser` uses :term:`filesystem encoding and error handler` " -"to read the file containing arguments." -msgstr "" - -#: ../../library/argparse.rst:446 -msgid "" -"The ``fromfile_prefix_chars=`` argument defaults to ``None``, meaning that " -"arguments will never be treated as file references." -msgstr "" - -#: ../../library/argparse.rst:449 -msgid "" -":class:`ArgumentParser` changed encoding and errors to read arguments files " -"from default (e.g. :func:`locale.getpreferredencoding(False) " -"` and ``\"strict\"``) to the :term:`filesystem " -"encoding and error handler`. Arguments file should be encoded in UTF-8 " -"instead of ANSI Codepage on Windows." -msgstr "" - -#: ../../library/argparse.rst:457 -msgid "argument_default" -msgstr "argument_default" - -#: ../../library/argparse.rst:459 -msgid "" -"Generally, argument defaults are specified either by passing a default to " -":meth:`~ArgumentParser.add_argument` or by calling the " -":meth:`~ArgumentParser.set_defaults` methods with a specific set of name-" -"value pairs. Sometimes however, it may be useful to specify a single " -"parser-wide default for arguments. This can be accomplished by passing the " -"``argument_default=`` keyword argument to :class:`ArgumentParser`. For " -"example, to globally suppress attribute creation on " -":meth:`~ArgumentParser.parse_args` calls, we supply " -"``argument_default=SUPPRESS``::" -msgstr "" - -#: ../../library/argparse.rst:468 -msgid "" -">>> parser = argparse.ArgumentParser(argument_default=argparse.SUPPRESS)\n" -">>> parser.add_argument('--foo')\n" -">>> parser.add_argument('bar', nargs='?')\n" -">>> parser.parse_args(['--foo', '1', 'BAR'])\n" -"Namespace(bar='BAR', foo='1')\n" -">>> parser.parse_args([])\n" -"Namespace()" -msgstr "" - -#: ../../library/argparse.rst:479 -msgid "allow_abbrev" -msgstr "allow_abbrev" - -#: ../../library/argparse.rst:481 -msgid "" -"Normally, when you pass an argument list to the " -":meth:`~ArgumentParser.parse_args` method of an :class:`ArgumentParser`, it " -":ref:`recognizes abbreviations ` of long options." -msgstr "" - -#: ../../library/argparse.rst:485 -msgid "" -"This feature can be disabled by setting ``allow_abbrev`` to ``False``::" -msgstr "" - -#: ../../library/argparse.rst:487 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG', allow_abbrev=False)\n" -">>> parser.add_argument('--foobar', action='store_true')\n" -">>> parser.add_argument('--foonley', action='store_false')\n" -">>> parser.parse_args(['--foon'])\n" -"usage: PROG [-h] [--foobar] [--foonley]\n" -"PROG: error: unrecognized arguments: --foon" -msgstr "" - -#: ../../library/argparse.rst:498 -msgid "conflict_handler" -msgstr "conflict_handler" - -#: ../../library/argparse.rst:500 -msgid "" -":class:`ArgumentParser` objects do not allow two actions with the same " -"option string. By default, :class:`ArgumentParser` objects raise an " -"exception if an attempt is made to create an argument with an option string " -"that is already in use::" -msgstr "" - -#: ../../library/argparse.rst:505 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('-f', '--foo', help='old foo help')\n" -">>> parser.add_argument('--foo', help='new foo help')\n" -"Traceback (most recent call last):\n" -" ..\n" -"ArgumentError: argument --foo: conflicting option string(s): --foo" -msgstr "" - -#: ../../library/argparse.rst:512 -msgid "" -"Sometimes (e.g. when using parents_) it may be useful to simply override any" -" older arguments with the same option string. To get this behavior, the " -"value ``'resolve'`` can be supplied to the ``conflict_handler=`` argument of" -" :class:`ArgumentParser`::" -msgstr "" - -#: ../../library/argparse.rst:517 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG', conflict_handler='resolve')\n" -">>> parser.add_argument('-f', '--foo', help='old foo help')\n" -">>> parser.add_argument('--foo', help='new foo help')\n" -">>> parser.print_help()\n" -"usage: PROG [-h] [-f FOO] [--foo FOO]\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" -f FOO old foo help\n" -" --foo FOO new foo help" -msgstr "" - -#: ../../library/argparse.rst:528 -msgid "" -"Note that :class:`ArgumentParser` objects only remove an action if all of " -"its option strings are overridden. So, in the example above, the old " -"``-f/--foo`` action is retained as the ``-f`` action, because only the " -"``--foo`` option string was overridden." -msgstr "" - -#: ../../library/argparse.rst:535 -msgid "add_help" -msgstr "add_help" - -#: ../../library/argparse.rst:537 -msgid "" -"By default, :class:`ArgumentParser` objects add an option which simply " -"displays the parser's help message. If ``-h`` or ``--help`` is supplied at " -"the command line, the :class:`!ArgumentParser` help will be printed." -msgstr "" - -#: ../../library/argparse.rst:541 -msgid "" -"Occasionally, it may be useful to disable the addition of this help option. " -"This can be achieved by passing ``False`` as the ``add_help=`` argument to " -":class:`ArgumentParser`::" -msgstr "" - -#: ../../library/argparse.rst:545 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG', add_help=False)\n" -">>> parser.add_argument('--foo', help='foo help')\n" -">>> parser.print_help()\n" -"usage: PROG [--foo FOO]\n" -"\n" -"options:\n" -" --foo FOO foo help" -msgstr "" - -#: ../../library/argparse.rst:553 -msgid "" -"The help option is typically ``-h/--help``. The exception to this is if the " -"``prefix_chars=`` is specified and does not include ``-``, in which case " -"``-h`` and ``--help`` are not valid options. In this case, the first " -"character in ``prefix_chars`` is used to prefix the help options::" -msgstr "" - -#: ../../library/argparse.rst:559 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG', prefix_chars='+/')\n" -">>> parser.print_help()\n" -"usage: PROG [+h]\n" -"\n" -"options:\n" -" +h, ++help show this help message and exit" -msgstr "" - -#: ../../library/argparse.rst:568 -msgid "exit_on_error" -msgstr "exit_on_error" - -#: ../../library/argparse.rst:570 -msgid "" -"Normally, when you pass an invalid argument list to the " -":meth:`~ArgumentParser.parse_args` method of an :class:`ArgumentParser`, it " -"will print a *message* to :data:`sys.stderr` and exit with a status code of " -"2." -msgstr "" - -#: ../../library/argparse.rst:574 -msgid "" -"If the user would like to catch errors manually, the feature can be enabled " -"by setting ``exit_on_error`` to ``False``::" -msgstr "" - -#: ../../library/argparse.rst:577 -msgid "" -">>> parser = argparse.ArgumentParser(exit_on_error=False)\n" -">>> parser.add_argument('--integers', type=int)\n" -"_StoreAction(option_strings=['--integers'], dest='integers', nargs=None, const=None, default=None, type=, choices=None, help=None, metavar=None)\n" -">>> try:\n" -"... parser.parse_args('--integers a'.split())\n" -"... except argparse.ArgumentError:\n" -"... print('Catching an argumentError')\n" -"...\n" -"Catching an argumentError" -msgstr "" - -#: ../../library/argparse.rst:590 -msgid "suggest_on_error" -msgstr "" - -#: ../../library/argparse.rst:592 -msgid "" -"By default, when a user passes an invalid argument choice or subparser name," -" :class:`ArgumentParser` will exit with error info and list the permissible " -"argument choices (if specified) or subparser names as part of the error " -"message." -msgstr "" - -#: ../../library/argparse.rst:596 -msgid "" -"If the user would like to enable suggestions for mistyped argument choices " -"and subparser names, the feature can be enabled by setting " -"``suggest_on_error`` to ``True``. Note that this only applies for arguments " -"when the choices specified are strings::" -msgstr "" - -#: ../../library/argparse.rst:601 -msgid "" -">>> parser = argparse.ArgumentParser(description='Process some integers.',\n" -" suggest_on_error=True)\n" -">>> parser.add_argument('--action', choices=['sum', 'max'])\n" -">>> parser.add_argument('integers', metavar='N', type=int, nargs='+',\n" -"... help='an integer for the accumulator')\n" -">>> parser.parse_args(['--action', 'sumn', 1, 2, 3])\n" -"tester.py: error: argument --action: invalid choice: 'sumn', maybe you meant 'sum'? (choose from 'sum', 'max')" -msgstr "" - -#: ../../library/argparse.rst:609 -msgid "" -"If you're writing code that needs to be compatible with older Python " -"versions and want to opportunistically use ``suggest_on_error`` when it's " -"available, you can set it as an attribute after initializing the parser " -"instead of using the keyword argument::" -msgstr "" - -#: ../../library/argparse.rst:614 -msgid "" -">>> parser = argparse.ArgumentParser(description='Process some integers.')\n" -">>> parser.suggest_on_error = True" -msgstr "" - -#: ../../library/argparse.rst:621 -msgid "color" -msgstr "" - -#: ../../library/argparse.rst:623 -msgid "" -"By default, the help message is printed in plain text. If you want to allow " -"color in help messages, you can enable it by setting ``color`` to ``True``::" -msgstr "" - -#: ../../library/argparse.rst:626 -msgid "" -">>> parser = argparse.ArgumentParser(description='Process some integers.',\n" -"... color=True)\n" -">>> parser.add_argument('--action', choices=['sum', 'max'])\n" -">>> parser.add_argument('integers', metavar='N', type=int, nargs='+',\n" -"... help='an integer for the accumulator')\n" -">>> parser.parse_args(['--help'])" -msgstr "" - -#: ../../library/argparse.rst:633 -msgid "" -"Even if a CLI author has enabled color, it can be :ref:`controlled using " -"environment variables `." -msgstr "" - -#: ../../library/argparse.rst:636 -msgid "" -"If you're writing code that needs to be compatible with older Python " -"versions and want to opportunistically use ``color`` when it's available, " -"you can set it as an attribute after initializing the parser instead of " -"using the keyword argument::" -msgstr "" - -#: ../../library/argparse.rst:641 -msgid "" -">>> parser = argparse.ArgumentParser(description='Process some integers.')\n" -">>> parser.color = True" -msgstr "" - -#: ../../library/argparse.rst:648 -msgid "The add_argument() method" -msgstr "Metode add_argument()" - -#: ../../library/argparse.rst:654 -msgid "" -"Define how a single command-line argument should be parsed. Each parameter " -"has its own more detailed description below, but in short they are:" -msgstr "" - -#: ../../library/argparse.rst:657 -msgid "" -"`name or flags`_ - Either a name or a list of option strings, e.g. ``'foo'``" -" or ``'-f', '--foo'``." -msgstr "" - -#: ../../library/argparse.rst:660 -msgid "" -"action_ - The basic type of action to be taken when this argument is " -"encountered at the command line." -msgstr "" - -#: ../../library/argparse.rst:663 -msgid "nargs_ - The number of command-line arguments that should be consumed." -msgstr "" - -#: ../../library/argparse.rst:665 -msgid "" -"const_ - A constant value required by some action_ and nargs_ selections." -msgstr "" - -#: ../../library/argparse.rst:667 -msgid "" -"default_ - The value produced if the argument is absent from the command " -"line and if it is absent from the namespace object." -msgstr "" - -#: ../../library/argparse.rst:670 -msgid "" -"type_ - The type to which the command-line argument should be converted." -msgstr "" - -#: ../../library/argparse.rst:672 -msgid "choices_ - A sequence of the allowable values for the argument." -msgstr "" - -#: ../../library/argparse.rst:674 -msgid "" -"required_ - Whether or not the command-line option may be omitted (optionals" -" only)." -msgstr "" - -#: ../../library/argparse.rst:677 -msgid "help_ - A brief description of what the argument does." -msgstr "" - -#: ../../library/argparse.rst:679 -msgid "metavar_ - A name for the argument in usage messages." -msgstr "" - -#: ../../library/argparse.rst:681 -msgid "" -"dest_ - The name of the attribute to be added to the object returned by " -":meth:`parse_args`." -msgstr "" - -#: ../../library/argparse.rst:684 -msgid "deprecated_ - Whether or not use of the argument is deprecated." -msgstr "" - -#: ../../library/argparse.rst:692 -msgid "name or flags" -msgstr "" - -#: ../../library/argparse.rst:694 -msgid "" -"The :meth:`~ArgumentParser.add_argument` method must know whether an " -"optional argument, like ``-f`` or ``--foo``, or a positional argument, like " -"a list of filenames, is expected. The first arguments passed to " -":meth:`~ArgumentParser.add_argument` must therefore be either a series of " -"flags, or a simple argument name." -msgstr "" - -#: ../../library/argparse.rst:700 -msgid "For example, an optional argument could be created like::" -msgstr "" - -#: ../../library/argparse.rst:702 -msgid ">>> parser.add_argument('-f', '--foo')" -msgstr "" - -#: ../../library/argparse.rst:704 -msgid "while a positional argument could be created like::" -msgstr "" - -#: ../../library/argparse.rst:706 -msgid ">>> parser.add_argument('bar')" -msgstr "" - -#: ../../library/argparse.rst:708 -msgid "" -"When :meth:`~ArgumentParser.parse_args` is called, optional arguments will " -"be identified by the ``-`` prefix, and the remaining arguments will be " -"assumed to be positional::" -msgstr "" - -#: ../../library/argparse.rst:712 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('-f', '--foo')\n" -">>> parser.add_argument('bar')\n" -">>> parser.parse_args(['BAR'])\n" -"Namespace(bar='BAR', foo=None)\n" -">>> parser.parse_args(['BAR', '--foo', 'FOO'])\n" -"Namespace(bar='BAR', foo='FOO')\n" -">>> parser.parse_args(['--foo', 'FOO'])\n" -"usage: PROG [-h] [-f FOO] bar\n" -"PROG: error: the following arguments are required: bar" -msgstr "" - -#: ../../library/argparse.rst:723 -msgid "" -"By default, :mod:`!argparse` automatically handles the internal naming and " -"display names of arguments, simplifying the process without requiring " -"additional configuration. As such, you do not need to specify the dest_ and " -"metavar_ parameters. The dest_ parameter defaults to the argument name with " -"underscores ``_`` replacing hyphens ``-`` . The metavar_ parameter defaults " -"to the upper-cased name. For example::" -msgstr "" - -#: ../../library/argparse.rst:731 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('--foo-bar')\n" -">>> parser.parse_args(['--foo-bar', 'FOO-BAR']\n" -"Namespace(foo_bar='FOO-BAR')\n" -">>> parser.print_help()\n" -"usage: [-h] [--foo-bar FOO-BAR]\n" -"\n" -"optional arguments:\n" -" -h, --help show this help message and exit\n" -" --foo-bar FOO-BAR" -msgstr "" - -#: ../../library/argparse.rst:746 -msgid "action" -msgstr "aksi" - -#: ../../library/argparse.rst:748 -msgid "" -":class:`ArgumentParser` objects associate command-line arguments with " -"actions. These actions can do just about anything with the command-line " -"arguments associated with them, though most actions simply add an attribute " -"to the object returned by :meth:`~ArgumentParser.parse_args`. The " -"``action`` keyword argument specifies how the command-line arguments should " -"be handled. The supplied actions are:" -msgstr "" - -#: ../../library/argparse.rst:754 -msgid "" -"``'store'`` - This just stores the argument's value. This is the default " -"action." -msgstr "" - -#: ../../library/argparse.rst:757 -msgid "" -"``'store_const'`` - This stores the value specified by the const_ keyword " -"argument; note that the const_ keyword argument defaults to ``None``. The " -"``'store_const'`` action is most commonly used with optional arguments that " -"specify some sort of flag. For example::" -msgstr "" - -#: ../../library/argparse.rst:762 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', action='store_const', const=42)\n" -">>> parser.parse_args(['--foo'])\n" -"Namespace(foo=42)" -msgstr "" - -#: ../../library/argparse.rst:767 -msgid "" -"``'store_true'`` and ``'store_false'`` - These are special cases of " -"``'store_const'`` used for storing the values ``True`` and ``False`` " -"respectively. In addition, they create default values of ``False`` and " -"``True`` respectively::" -msgstr "" - -#: ../../library/argparse.rst:772 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', action='store_true')\n" -">>> parser.add_argument('--bar', action='store_false')\n" -">>> parser.add_argument('--baz', action='store_false')\n" -">>> parser.parse_args('--foo --bar'.split())\n" -"Namespace(foo=True, bar=False, baz=True)" -msgstr "" - -#: ../../library/argparse.rst:779 -msgid "" -"``'append'`` - This stores a list, and appends each argument value to the " -"list. It is useful to allow an option to be specified multiple times. If the" -" default value is non-empty, the default elements will be present in the " -"parsed value for the option, with any values from the command line appended " -"after those default values. Example usage::" -msgstr "" - -#: ../../library/argparse.rst:785 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', action='append')\n" -">>> parser.parse_args('--foo 1 --foo 2'.split())\n" -"Namespace(foo=['1', '2'])" -msgstr "" - -#: ../../library/argparse.rst:790 -msgid "" -"``'append_const'`` - This stores a list, and appends the value specified by " -"the const_ keyword argument to the list; note that the const_ keyword " -"argument defaults to ``None``. The ``'append_const'`` action is typically " -"useful when multiple arguments need to store constants to the same list. For" -" example::" -msgstr "" - -#: ../../library/argparse.rst:796 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--str', dest='types', action='append_const', const=str)\n" -">>> parser.add_argument('--int', dest='types', action='append_const', const=int)\n" -">>> parser.parse_args('--str --int'.split())\n" -"Namespace(types=[, ])" -msgstr "" - -#: ../../library/argparse.rst:802 -msgid "" -"``'extend'`` - This stores a list and appends each item from the multi-value" -" argument list to it. The ``'extend'`` action is typically used with the " -"nargs_ keyword argument value ``'+'`` or ``'*'``. Note that when nargs_ is " -"``None`` (the default) or ``'?'``, each character of the argument string " -"will be appended to the list. Example usage::" -msgstr "" - -#: ../../library/argparse.rst:810 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument(\"--foo\", action=\"extend\", nargs=\"+\", type=str)\n" -">>> parser.parse_args([\"--foo\", \"f1\", \"--foo\", \"f2\", \"f3\", \"f4\"])\n" -"Namespace(foo=['f1', 'f2', 'f3', 'f4'])" -msgstr "" - -#: ../../library/argparse.rst:817 -msgid "" -"``'count'`` - This counts the number of times a keyword argument occurs. For" -" example, this is useful for increasing verbosity levels::" -msgstr "" - -#: ../../library/argparse.rst:820 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--verbose', '-v', action='count', default=0)\n" -">>> parser.parse_args(['-vvv'])\n" -"Namespace(verbose=3)" -msgstr "" - -#: ../../library/argparse.rst:825 -msgid "Note, the *default* will be ``None`` unless explicitly set to *0*." -msgstr "" - -#: ../../library/argparse.rst:827 -msgid "" -"``'help'`` - This prints a complete help message for all the options in the " -"current parser and then exits. By default a help action is automatically " -"added to the parser. See :class:`ArgumentParser` for details of how the " -"output is created." -msgstr "" - -#: ../../library/argparse.rst:832 -msgid "" -"``'version'`` - This expects a ``version=`` keyword argument in the " -":meth:`~ArgumentParser.add_argument` call, and prints version information " -"and exits when invoked::" -msgstr "" - -#: ../../library/argparse.rst:836 -msgid "" -">>> import argparse\n" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('--version', action='version', version='%(prog)s 2.0')\n" -">>> parser.parse_args(['--version'])\n" -"PROG 2.0" -msgstr "" - -#: ../../library/argparse.rst:842 -msgid "" -"Only actions that consume command-line arguments (e.g. ``'store'``, " -"``'append'`` or ``'extend'``) can be used with positional arguments." -msgstr "" - -#: ../../library/argparse.rst:847 -msgid "" -"You may also specify an arbitrary action by passing an :class:`Action` " -"subclass or other object that implements the same interface. The " -":class:`!BooleanOptionalAction` is available in :mod:`!argparse` and adds " -"support for boolean actions such as ``--foo`` and ``--no-foo``::" -msgstr "" - -#: ../../library/argparse.rst:852 -msgid "" -">>> import argparse\n" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', action=argparse.BooleanOptionalAction)\n" -">>> parser.parse_args(['--no-foo'])\n" -"Namespace(foo=False)" -msgstr "" - -#: ../../library/argparse.rst:860 -msgid "" -"The recommended way to create a custom action is to extend :class:`Action`, " -"overriding the :meth:`!__call__` method and optionally the :meth:`!__init__`" -" and :meth:`!format_usage` methods. You can also register custom actions " -"using the :meth:`~ArgumentParser.register` method and reference them by " -"their registered name." -msgstr "" - -#: ../../library/argparse.rst:865 -msgid "An example of a custom action::" -msgstr "Contoh untuk aksi kustom::" - -#: ../../library/argparse.rst:867 -msgid "" -">>> class FooAction(argparse.Action):\n" -"... def __init__(self, option_strings, dest, nargs=None, **kwargs):\n" -"... if nargs is not None:\n" -"... raise ValueError(\"nargs not allowed\")\n" -"... super().__init__(option_strings, dest, **kwargs)\n" -"... def __call__(self, parser, namespace, values, option_string=None):\n" -"... print('%r %r %r' % (namespace, values, option_string))\n" -"... setattr(namespace, self.dest, values)\n" -"...\n" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', action=FooAction)\n" -">>> parser.add_argument('bar', action=FooAction)\n" -">>> args = parser.parse_args('1 --foo 2'.split())\n" -"Namespace(bar=None, foo=None) '1' None\n" -"Namespace(bar='1', foo=None) '2' '--foo'\n" -">>> args\n" -"Namespace(bar='1', foo='2')" -msgstr "" - -#: ../../library/argparse.rst:885 -msgid "For more details, see :class:`Action`." -msgstr "Untuk detail lebih lanjut, lihat :class:`Action`." - -#: ../../library/argparse.rst:891 -msgid "nargs" -msgstr "nargs" - -#: ../../library/argparse.rst:893 -msgid "" -":class:`ArgumentParser` objects usually associate a single command-line " -"argument with a single action to be taken. The ``nargs`` keyword argument " -"associates a different number of command-line arguments with a single " -"action. See also :ref:`specifying-ambiguous-arguments`. The supported values" -" are:" -msgstr "" - -#: ../../library/argparse.rst:898 -msgid "" -"``N`` (an integer). ``N`` arguments from the command line will be gathered " -"together into a list. For example::" -msgstr "" - -#: ../../library/argparse.rst:901 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', nargs=2)\n" -">>> parser.add_argument('bar', nargs=1)\n" -">>> parser.parse_args('c --foo a b'.split())\n" -"Namespace(bar=['c'], foo=['a', 'b'])" -msgstr "" - -#: ../../library/argparse.rst:907 -msgid "" -"Note that ``nargs=1`` produces a list of one item. This is different from " -"the default, in which the item is produced by itself." -msgstr "" - -#: ../../library/argparse.rst:912 -msgid "" -"``'?'``. One argument will be consumed from the command line if possible, " -"and produced as a single item. If no command-line argument is present, the " -"value from default_ will be produced. Note that for optional arguments, " -"there is an additional case - the option string is present but not followed " -"by a command-line argument. In this case the value from const_ will be " -"produced. Some examples to illustrate this::" -msgstr "" - -#: ../../library/argparse.rst:919 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', nargs='?', const='c', default='d')\n" -">>> parser.add_argument('bar', nargs='?', default='d')\n" -">>> parser.parse_args(['XX', '--foo', 'YY'])\n" -"Namespace(bar='XX', foo='YY')\n" -">>> parser.parse_args(['XX', '--foo'])\n" -"Namespace(bar='XX', foo='c')\n" -">>> parser.parse_args([])\n" -"Namespace(bar='d', foo='d')" -msgstr "" - -#: ../../library/argparse.rst:929 -msgid "" -"One of the more common uses of ``nargs='?'`` is to allow optional input and " -"output files::" -msgstr "" - -#: ../../library/argparse.rst:932 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('infile', nargs='?')\n" -">>> parser.add_argument('outfile', nargs='?')\n" -">>> parser.parse_args(['input.txt', 'output.txt'])\n" -"Namespace(infile='input.txt', outfile='output.txt')\n" -">>> parser.parse_args(['input.txt'])\n" -"Namespace(infile='input.txt', outfile=None)\n" -">>> parser.parse_args([])\n" -"Namespace(infile=None, outfile=None)" -msgstr "" - -#: ../../library/argparse.rst:944 -msgid "" -"``'*'``. All command-line arguments present are gathered into a list. Note" -" that it generally doesn't make much sense to have more than one positional " -"argument with ``nargs='*'``, but multiple optional arguments with " -"``nargs='*'`` is possible. For example::" -msgstr "" - -#: ../../library/argparse.rst:949 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', nargs='*')\n" -">>> parser.add_argument('--bar', nargs='*')\n" -">>> parser.add_argument('baz', nargs='*')\n" -">>> parser.parse_args('a b --foo x y --bar 1 2'.split())\n" -"Namespace(bar=['1', '2'], baz=['a', 'b'], foo=['x', 'y'])" -msgstr "" - -#: ../../library/argparse.rst:958 -msgid "" -"``'+'``. Just like ``'*'``, all command-line args present are gathered into " -"a list. Additionally, an error message will be generated if there wasn't at" -" least one command-line argument present. For example::" -msgstr "" - -#: ../../library/argparse.rst:962 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('foo', nargs='+')\n" -">>> parser.parse_args(['a', 'b'])\n" -"Namespace(foo=['a', 'b'])\n" -">>> parser.parse_args([])\n" -"usage: PROG [-h] foo [foo ...]\n" -"PROG: error: the following arguments are required: foo" -msgstr "" - -#: ../../library/argparse.rst:970 -msgid "" -"If the ``nargs`` keyword argument is not provided, the number of arguments " -"consumed is determined by the action_. Generally this means a single " -"command-line argument will be consumed and a single item (not a list) will " -"be produced. Actions that do not consume command-line arguments (e.g. " -"``'store_const'``) set ``nargs=0``." -msgstr "" - -#: ../../library/argparse.rst:980 -msgid "const" -msgstr "const" - -#: ../../library/argparse.rst:982 -msgid "" -"The ``const`` argument of :meth:`~ArgumentParser.add_argument` is used to " -"hold constant values that are not read from the command line but are " -"required for the various :class:`ArgumentParser` actions. The two most " -"common uses of it are:" -msgstr "" - -#: ../../library/argparse.rst:986 -msgid "" -"When :meth:`~ArgumentParser.add_argument` is called with " -"``action='store_const'`` or ``action='append_const'``. These actions add " -"the ``const`` value to one of the attributes of the object returned by " -":meth:`~ArgumentParser.parse_args`. See the action_ description for " -"examples. If ``const`` is not provided to " -":meth:`~ArgumentParser.add_argument`, it will receive a default value of " -"``None``." -msgstr "" - -#: ../../library/argparse.rst:994 -msgid "" -"When :meth:`~ArgumentParser.add_argument` is called with option strings " -"(like ``-f`` or ``--foo``) and ``nargs='?'``. This creates an optional " -"argument that can be followed by zero or one command-line arguments. When " -"parsing the command line, if the option string is encountered with no " -"command-line argument following it, the value of ``const`` will be assumed " -"to be ``None`` instead. See the nargs_ description for examples." -msgstr "" - -#: ../../library/argparse.rst:1001 -msgid "" -"``const=None`` by default, including when ``action='append_const'`` or " -"``action='store_const'``." -msgstr "" - -#: ../../library/argparse.rst:1008 -msgid "default" -msgstr "bawaan" - -#: ../../library/argparse.rst:1010 -msgid "" -"All optional arguments and some positional arguments may be omitted at the " -"command line. The ``default`` keyword argument of " -":meth:`~ArgumentParser.add_argument`, whose value defaults to ``None``, " -"specifies what value should be used if the command-line argument is not " -"present. For optional arguments, the ``default`` value is used when the " -"option string was not present at the command line::" -msgstr "" - -#: ../../library/argparse.rst:1017 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', default=42)\n" -">>> parser.parse_args(['--foo', '2'])\n" -"Namespace(foo='2')\n" -">>> parser.parse_args([])\n" -"Namespace(foo=42)" -msgstr "" - -#: ../../library/argparse.rst:1024 -msgid "" -"If the target namespace already has an attribute set, the action *default* " -"will not overwrite it::" -msgstr "" - -#: ../../library/argparse.rst:1027 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', default=42)\n" -">>> parser.parse_args([], namespace=argparse.Namespace(foo=101))\n" -"Namespace(foo=101)" -msgstr "" - -#: ../../library/argparse.rst:1032 -msgid "" -"If the ``default`` value is a string, the parser parses the value as if it " -"were a command-line argument. In particular, the parser applies any type_ " -"conversion argument, if provided, before setting the attribute on the " -":class:`Namespace` return value. Otherwise, the parser uses the value as " -"is::" -msgstr "" - -#: ../../library/argparse.rst:1037 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--length', default='10', type=int)\n" -">>> parser.add_argument('--width', default=10.5, type=int)\n" -">>> parser.parse_args()\n" -"Namespace(length=10, width=10.5)" -msgstr "" - -#: ../../library/argparse.rst:1043 -msgid "" -"For positional arguments with nargs_ equal to ``?`` or ``*``, the " -"``default`` value is used when no command-line argument was present::" -msgstr "" - -#: ../../library/argparse.rst:1046 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('foo', nargs='?', default=42)\n" -">>> parser.parse_args(['a'])\n" -"Namespace(foo='a')\n" -">>> parser.parse_args([])\n" -"Namespace(foo=42)" -msgstr "" - -#: ../../library/argparse.rst:1053 -msgid "" -"For required_ arguments, the ``default`` value is ignored. For example, this" -" applies to positional arguments with nargs_ values other than ``?`` or " -"``*``, or optional arguments marked as ``required=True``." -msgstr "" - -#: ../../library/argparse.rst:1057 -msgid "" -"Providing ``default=argparse.SUPPRESS`` causes no attribute to be added if " -"the command-line argument was not present::" -msgstr "" - -#: ../../library/argparse.rst:1060 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', default=argparse.SUPPRESS)\n" -">>> parser.parse_args([])\n" -"Namespace()\n" -">>> parser.parse_args(['--foo', '1'])\n" -"Namespace(foo='1')" -msgstr "" - -#: ../../library/argparse.rst:1071 -msgid "type" -msgstr "tipe" - -#: ../../library/argparse.rst:1073 -msgid "" -"By default, the parser reads command-line arguments in as simple strings. " -"However, quite often the command-line string should instead be interpreted " -"as another type, such as a :class:`float` or :class:`int`. The ``type`` " -"keyword for :meth:`~ArgumentParser.add_argument` allows any necessary type-" -"checking and type conversions to be performed." -msgstr "" - -#: ../../library/argparse.rst:1079 -msgid "" -"If the type_ keyword is used with the default_ keyword, the type converter " -"is only applied if the default is a string." -msgstr "" - -#: ../../library/argparse.rst:1082 -msgid "" -"The argument to ``type`` can be a callable that accepts a single string or " -"the name of a registered type (see :meth:`~ArgumentParser.register`) If the " -"function raises :exc:`ArgumentTypeError`, :exc:`TypeError`, or " -":exc:`ValueError`, the exception is caught and a nicely formatted error " -"message is displayed. Other exception types are not handled." -msgstr "" - -#: ../../library/argparse.rst:1088 -msgid "Common built-in types and functions can be used as type converters:" -msgstr "" - -#: ../../library/argparse.rst:1090 -msgid "" -"import argparse\n" -"import pathlib\n" -"\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument('count', type=int)\n" -"parser.add_argument('distance', type=float)\n" -"parser.add_argument('street', type=ascii)\n" -"parser.add_argument('code_point', type=ord)\n" -"parser.add_argument('datapath', type=pathlib.Path)" -msgstr "" - -#: ../../library/argparse.rst:1102 -msgid "User defined functions can be used as well:" -msgstr "" - -#: ../../library/argparse.rst:1104 -msgid "" -">>> def hyphenated(string):\n" -"... return '-'.join([word[:4] for word in string.casefold().split()])\n" -"...\n" -">>> parser = argparse.ArgumentParser()\n" -">>> _ = parser.add_argument('short_title', type=hyphenated)\n" -">>> parser.parse_args(['\"The Tale of Two Cities\"'])\n" -"Namespace(short_title='\"the-tale-of-two-citi')" -msgstr "" - -#: ../../library/argparse.rst:1114 -msgid "" -"The :func:`bool` function is not recommended as a type converter. All it " -"does is convert empty strings to ``False`` and non-empty strings to " -"``True``. This is usually not what is desired." -msgstr "" - -#: ../../library/argparse.rst:1118 -msgid "" -"In general, the ``type`` keyword is a convenience that should only be used " -"for simple conversions that can only raise one of the three supported " -"exceptions. Anything with more interesting error-handling or resource " -"management should be done downstream after the arguments are parsed." -msgstr "" - -#: ../../library/argparse.rst:1123 -msgid "" -"For example, JSON or YAML conversions have complex error cases that require " -"better reporting than can be given by the ``type`` keyword. A " -":exc:`~json.JSONDecodeError` would not be well formatted and a " -":exc:`FileNotFoundError` exception would not be handled at all." -msgstr "" - -#: ../../library/argparse.rst:1128 -msgid "" -"Even :class:`~argparse.FileType` has its limitations for use with the " -"``type`` keyword. If one argument uses :class:`~argparse.FileType` and then" -" a subsequent argument fails, an error is reported but the file is not " -"automatically closed. In this case, it would be better to wait until after " -"the parser has run and then use the :keyword:`with`-statement to manage the " -"files." -msgstr "" - -#: ../../library/argparse.rst:1135 -msgid "" -"For type checkers that simply check against a fixed set of values, consider " -"using the choices_ keyword instead." -msgstr "" - -#: ../../library/argparse.rst:1142 -msgid "choices" -msgstr "pilihan" - -#: ../../library/argparse.rst:1144 -msgid "" -"Some command-line arguments should be selected from a restricted set of " -"values. These can be handled by passing a sequence object as the *choices* " -"keyword argument to :meth:`~ArgumentParser.add_argument`. When the command " -"line is parsed, argument values will be checked, and an error message will " -"be displayed if the argument was not one of the acceptable values::" -msgstr "" - -#: ../../library/argparse.rst:1150 -msgid "" -">>> parser = argparse.ArgumentParser(prog='game.py')\n" -">>> parser.add_argument('move', choices=['rock', 'paper', 'scissors'])\n" -">>> parser.parse_args(['rock'])\n" -"Namespace(move='rock')\n" -">>> parser.parse_args(['fire'])\n" -"usage: game.py [-h] {rock,paper,scissors}\n" -"game.py: error: argument move: invalid choice: 'fire' (choose from 'rock',\n" -"'paper', 'scissors')" -msgstr "" - -#: ../../library/argparse.rst:1159 -msgid "" -"Note that inclusion in the *choices* sequence is checked after any type_ " -"conversions have been performed, so the type of the objects in the *choices*" -" sequence should match the type_ specified." -msgstr "" - -#: ../../library/argparse.rst:1163 -msgid "" -"Any sequence can be passed as the *choices* value, so :class:`list` objects," -" :class:`tuple` objects, and custom sequences are all supported." -msgstr "" - -#: ../../library/argparse.rst:1166 -msgid "" -"Use of :class:`enum.Enum` is not recommended because it is difficult to " -"control its appearance in usage, help, and error messages." -msgstr "" - -#: ../../library/argparse.rst:1169 -msgid "" -"Formatted choices override the default *metavar* which is normally derived " -"from *dest*. This is usually what you want because the user never sees the " -"*dest* parameter. If this display isn't desirable (perhaps because there " -"are many choices), just specify an explicit metavar_." -msgstr "" - -#: ../../library/argparse.rst:1178 -msgid "required" -msgstr "" - -#: ../../library/argparse.rst:1180 -msgid "" -"In general, the :mod:`!argparse` module assumes that flags like ``-f`` and " -"``--bar`` indicate *optional* arguments, which can always be omitted at the " -"command line. To make an option *required*, ``True`` can be specified for " -"the ``required=`` keyword argument to :meth:`~ArgumentParser.add_argument`::" -msgstr "" - -#: ../../library/argparse.rst:1185 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', required=True)\n" -">>> parser.parse_args(['--foo', 'BAR'])\n" -"Namespace(foo='BAR')\n" -">>> parser.parse_args([])\n" -"usage: [-h] --foo FOO\n" -": error: the following arguments are required: --foo" -msgstr "" - -#: ../../library/argparse.rst:1193 -msgid "" -"As the example shows, if an option is marked as ``required``, " -":meth:`~ArgumentParser.parse_args` will report an error if that option is " -"not present at the command line." -msgstr "" - -#: ../../library/argparse.rst:1199 -msgid "" -"Required options are generally considered bad form because users expect " -"*options* to be *optional*, and thus they should be avoided when possible." -msgstr "" - -#: ../../library/argparse.rst:1206 -msgid "help" -msgstr "" - -#: ../../library/argparse.rst:1208 -msgid "" -"The ``help`` value is a string containing a brief description of the " -"argument. When a user requests help (usually by using ``-h`` or ``--help`` " -"at the command line), these ``help`` descriptions will be displayed with " -"each argument." -msgstr "" - -#: ../../library/argparse.rst:1213 -msgid "" -"The ``help`` strings can include various format specifiers to avoid " -"repetition of things like the program name or the argument default_. The " -"available specifiers include the program name, ``%(prog)s`` and most keyword" -" arguments to :meth:`~ArgumentParser.add_argument`, e.g. ``%(default)s``, " -"``%(type)s``, etc.::" -msgstr "" - -#: ../../library/argparse.rst:1218 -msgid "" -">>> parser = argparse.ArgumentParser(prog='frobble')\n" -">>> parser.add_argument('bar', nargs='?', type=int, default=42,\n" -"... help='the bar to %(prog)s (default: %(default)s)')\n" -">>> parser.print_help()\n" -"usage: frobble [-h] [bar]\n" -"\n" -"positional arguments:\n" -" bar the bar to frobble (default: 42)\n" -"\n" -"options:\n" -" -h, --help show this help message and exit" -msgstr "" - -#: ../../library/argparse.rst:1230 -msgid "" -"As the help string supports %-formatting, if you want a literal ``%`` to " -"appear in the help string, you must escape it as ``%%``." -msgstr "" - -#: ../../library/argparse.rst:1233 -msgid "" -":mod:`!argparse` supports silencing the help entry for certain options, by " -"setting the ``help`` value to ``argparse.SUPPRESS``::" -msgstr "" - -#: ../../library/argparse.rst:1236 -msgid "" -">>> parser = argparse.ArgumentParser(prog='frobble')\n" -">>> parser.add_argument('--foo', help=argparse.SUPPRESS)\n" -">>> parser.print_help()\n" -"usage: frobble [-h]\n" -"\n" -"options:\n" -" -h, --help show this help message and exit" -msgstr "" - -#: ../../library/argparse.rst:1248 -msgid "metavar" -msgstr "" - -#: ../../library/argparse.rst:1250 -msgid "" -"When :class:`ArgumentParser` generates help messages, it needs some way to " -"refer to each expected argument. By default, :class:`!ArgumentParser` " -"objects use the dest_ value as the \"name\" of each object. By default, for" -" positional argument actions, the dest_ value is used directly, and for " -"optional argument actions, the dest_ value is uppercased. So, a single " -"positional argument with ``dest='bar'`` will be referred to as ``bar``. A " -"single optional argument ``--foo`` that should be followed by a single " -"command-line argument will be referred to as ``FOO``. An example::" -msgstr "" - -#: ../../library/argparse.rst:1259 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo')\n" -">>> parser.add_argument('bar')\n" -">>> parser.parse_args('X --foo Y'.split())\n" -"Namespace(bar='X', foo='Y')\n" -">>> parser.print_help()\n" -"usage: [-h] [--foo FOO] bar\n" -"\n" -"positional arguments:\n" -" bar\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" --foo FOO" -msgstr "" - -#: ../../library/argparse.rst:1274 -msgid "An alternative name can be specified with ``metavar``::" -msgstr "" - -#: ../../library/argparse.rst:1276 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', metavar='YYY')\n" -">>> parser.add_argument('bar', metavar='XXX')\n" -">>> parser.parse_args('X --foo Y'.split())\n" -"Namespace(bar='X', foo='Y')\n" -">>> parser.print_help()\n" -"usage: [-h] [--foo YYY] XXX\n" -"\n" -"positional arguments:\n" -" XXX\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" --foo YYY" -msgstr "" - -#: ../../library/argparse.rst:1291 -msgid "" -"Note that ``metavar`` only changes the *displayed* name - the name of the " -"attribute on the :meth:`~ArgumentParser.parse_args` object is still " -"determined by the dest_ value." -msgstr "" - -#: ../../library/argparse.rst:1295 -msgid "" -"Different values of ``nargs`` may cause the metavar to be used multiple " -"times. Providing a tuple to ``metavar`` specifies a different display for " -"each of the arguments::" -msgstr "" - -#: ../../library/argparse.rst:1299 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('-x', nargs=2)\n" -">>> parser.add_argument('--foo', nargs=2, metavar=('bar', 'baz'))\n" -">>> parser.print_help()\n" -"usage: PROG [-h] [-x X X] [--foo bar baz]\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" -x X X\n" -" --foo bar baz" -msgstr "" - -#: ../../library/argparse.rst:1314 -msgid "dest" -msgstr "" - -#: ../../library/argparse.rst:1316 -msgid "" -"Most :class:`ArgumentParser` actions add some value as an attribute of the " -"object returned by :meth:`~ArgumentParser.parse_args`. The name of this " -"attribute is determined by the ``dest`` keyword argument of " -":meth:`~ArgumentParser.add_argument`. For positional argument actions, " -"``dest`` is normally supplied as the first argument to " -":meth:`~ArgumentParser.add_argument`::" -msgstr "" - -#: ../../library/argparse.rst:1323 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('bar')\n" -">>> parser.parse_args(['XXX'])\n" -"Namespace(bar='XXX')" -msgstr "" - -#: ../../library/argparse.rst:1328 -msgid "" -"For optional argument actions, the value of ``dest`` is normally inferred " -"from the option strings. :class:`ArgumentParser` generates the value of " -"``dest`` by taking the first long option string and stripping away the " -"initial ``--`` string. If no long option strings were supplied, ``dest`` " -"will be derived from the first short option string by stripping the initial " -"``-`` character. Any internal ``-`` characters will be converted to ``_`` " -"characters to make sure the string is a valid attribute name. The examples " -"below illustrate this behavior::" -msgstr "" - -#: ../../library/argparse.rst:1337 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('-f', '--foo-bar', '--foo')\n" -">>> parser.add_argument('-x', '-y')\n" -">>> parser.parse_args('-f 1 -x 2'.split())\n" -"Namespace(foo_bar='1', x='2')\n" -">>> parser.parse_args('--foo 1 -y 2'.split())\n" -"Namespace(foo_bar='1', x='2')" -msgstr "" - -#: ../../library/argparse.rst:1345 -msgid "``dest`` allows a custom attribute name to be provided::" -msgstr "" - -#: ../../library/argparse.rst:1347 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', dest='bar')\n" -">>> parser.parse_args('--foo XXX'.split())\n" -"Namespace(bar='XXX')" -msgstr "" - -#: ../../library/argparse.rst:1356 -msgid "deprecated" -msgstr "" - -#: ../../library/argparse.rst:1358 -msgid "" -"During a project's lifetime, some arguments may need to be removed from the " -"command line. Before removing them, you should inform your users that the " -"arguments are deprecated and will be removed. The ``deprecated`` keyword " -"argument of :meth:`~ArgumentParser.add_argument`, which defaults to " -"``False``, specifies if the argument is deprecated and will be removed in " -"the future. For arguments, if ``deprecated`` is ``True``, then a warning " -"will be printed to :data:`sys.stderr` when the argument is used::" -msgstr "" - -#: ../../library/argparse.rst:1368 -msgid "" -">>> import argparse\n" -">>> parser = argparse.ArgumentParser(prog='snake.py')\n" -">>> parser.add_argument('--legs', default=0, type=int, deprecated=True)\n" -">>> parser.parse_args([])\n" -"Namespace(legs=0)\n" -">>> parser.parse_args(['--legs', '4'])\n" -"snake.py: warning: option '--legs' is deprecated\n" -"Namespace(legs=4)" -msgstr "" - -#: ../../library/argparse.rst:1381 -msgid "Action classes" -msgstr "" - -#: ../../library/argparse.rst:1383 -msgid "" -":class:`!Action` classes implement the Action API, a callable which returns " -"a callable which processes arguments from the command-line. Any object which" -" follows this API may be passed as the ``action`` parameter to " -":meth:`~ArgumentParser.add_argument`." -msgstr "" - -#: ../../library/argparse.rst:1392 -msgid "" -":class:`!Action` objects are used by an :class:`ArgumentParser` to represent" -" the information needed to parse a single argument from one or more strings " -"from the command line. The :class:`!Action` class must accept the two " -"positional arguments plus any keyword arguments passed to " -":meth:`ArgumentParser.add_argument` except for the ``action`` itself." -msgstr "" - -#: ../../library/argparse.rst:1398 -msgid "" -"Instances of :class:`!Action` (or return value of any callable to the " -"``action`` parameter) should have attributes :attr:`!dest`, " -":attr:`!option_strings`, :attr:`!default`, :attr:`!type`, :attr:`!required`," -" :attr:`!help`, etc. defined. The easiest way to ensure these attributes are" -" defined is to call :meth:`!Action.__init__`." -msgstr "" - -#: ../../library/argparse.rst:1406 -msgid "" -":class:`!Action` instances should be callable, so subclasses must override " -"the :meth:`!__call__` method, which should accept four parameters:" -msgstr "" - -#: ../../library/argparse.rst:1409 -msgid "" -"*parser* - The :class:`ArgumentParser` object which contains this action." -msgstr "" - -#: ../../library/argparse.rst:1411 -msgid "" -"*namespace* - The :class:`Namespace` object that will be returned by " -":meth:`~ArgumentParser.parse_args`. Most actions add an attribute to this " -"object using :func:`setattr`." -msgstr "" - -#: ../../library/argparse.rst:1415 -msgid "" -"*values* - The associated command-line arguments, with any type conversions " -"applied. Type conversions are specified with the type_ keyword argument to " -":meth:`~ArgumentParser.add_argument`." -msgstr "" - -#: ../../library/argparse.rst:1419 -msgid "" -"*option_string* - The option string that was used to invoke this action. The" -" ``option_string`` argument is optional, and will be absent if the action is" -" associated with a positional argument." -msgstr "" - -#: ../../library/argparse.rst:1423 -msgid "" -"The :meth:`!__call__` method may perform arbitrary actions, but will " -"typically set attributes on the ``namespace`` based on ``dest`` and " -"``values``." -msgstr "" - -#: ../../library/argparse.rst:1428 -msgid "" -":class:`!Action` subclasses can define a :meth:`!format_usage` method that " -"takes no argument and return a string which will be used when printing the " -"usage of the program. If such method is not provided, a sensible default " -"will be used." -msgstr "" - -#: ../../library/argparse.rst:1434 -msgid "The parse_args() method" -msgstr "" - -#: ../../library/argparse.rst:1438 -msgid "" -"Convert argument strings to objects and assign them as attributes of the " -"namespace. Return the populated namespace." -msgstr "" - -#: ../../library/argparse.rst:1441 -msgid "" -"Previous calls to :meth:`add_argument` determine exactly what objects are " -"created and how they are assigned. See the documentation for " -":meth:`!add_argument` for details." -msgstr "" - -#: ../../library/argparse.rst:1445 -msgid "" -"args_ - List of strings to parse. The default is taken from " -":data:`sys.argv`." -msgstr "" - -#: ../../library/argparse.rst:1448 -msgid "" -"namespace_ - An object to take the attributes. The default is a new empty " -":class:`Namespace` object." -msgstr "" - -#: ../../library/argparse.rst:1453 -msgid "Option value syntax" -msgstr "" - -#: ../../library/argparse.rst:1455 -msgid "" -"The :meth:`~ArgumentParser.parse_args` method supports several ways of " -"specifying the value of an option (if it takes one). In the simplest case, " -"the option and its value are passed as two separate arguments::" -msgstr "" - -#: ../../library/argparse.rst:1459 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('-x')\n" -">>> parser.add_argument('--foo')\n" -">>> parser.parse_args(['-x', 'X'])\n" -"Namespace(foo=None, x='X')\n" -">>> parser.parse_args(['--foo', 'FOO'])\n" -"Namespace(foo='FOO', x=None)" -msgstr "" - -#: ../../library/argparse.rst:1467 -msgid "" -"For long options (options with names longer than a single character), the " -"option and value can also be passed as a single command-line argument, using" -" ``=`` to separate them::" -msgstr "" - -#: ../../library/argparse.rst:1471 -msgid "" -">>> parser.parse_args(['--foo=FOO'])\n" -"Namespace(foo='FOO', x=None)" -msgstr "" - -#: ../../library/argparse.rst:1474 -msgid "" -"For short options (options only one character long), the option and its " -"value can be concatenated::" -msgstr "" - -#: ../../library/argparse.rst:1477 -msgid "" -">>> parser.parse_args(['-xX'])\n" -"Namespace(foo=None, x='X')" -msgstr "" - -#: ../../library/argparse.rst:1480 -msgid "" -"Several short options can be joined together, using only a single ``-`` " -"prefix, as long as only the last option (or none of them) requires a value::" -msgstr "" - -#: ../../library/argparse.rst:1483 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('-x', action='store_true')\n" -">>> parser.add_argument('-y', action='store_true')\n" -">>> parser.add_argument('-z')\n" -">>> parser.parse_args(['-xyzZ'])\n" -"Namespace(x=True, y=True, z='Z')" -msgstr "" - -#: ../../library/argparse.rst:1492 -msgid "Invalid arguments" -msgstr "" - -#: ../../library/argparse.rst:1494 -msgid "" -"While parsing the command line, :meth:`~ArgumentParser.parse_args` checks " -"for a variety of errors, including ambiguous options, invalid types, invalid" -" options, wrong number of positional arguments, etc. When it encounters " -"such an error, it exits and prints the error along with a usage message::" -msgstr "" - -#: ../../library/argparse.rst:1499 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('--foo', type=int)\n" -">>> parser.add_argument('bar', nargs='?')\n" -"\n" -">>> # invalid type\n" -">>> parser.parse_args(['--foo', 'spam'])\n" -"usage: PROG [-h] [--foo FOO] [bar]\n" -"PROG: error: argument --foo: invalid int value: 'spam'\n" -"\n" -">>> # invalid option\n" -">>> parser.parse_args(['--bar'])\n" -"usage: PROG [-h] [--foo FOO] [bar]\n" -"PROG: error: no such option: --bar\n" -"\n" -">>> # wrong number of arguments\n" -">>> parser.parse_args(['spam', 'badger'])\n" -"usage: PROG [-h] [--foo FOO] [bar]\n" -"PROG: error: extra arguments found: badger" -msgstr "" - -#: ../../library/argparse.rst:1520 -msgid "Arguments containing ``-``" -msgstr "" - -#: ../../library/argparse.rst:1522 -msgid "" -"The :meth:`~ArgumentParser.parse_args` method attempts to give errors " -"whenever the user has clearly made a mistake, but some situations are " -"inherently ambiguous. For example, the command-line argument ``-1`` could " -"either be an attempt to specify an option or an attempt to provide a " -"positional argument. The :meth:`~ArgumentParser.parse_args` method is " -"cautious here: positional arguments may only begin with ``-`` if they look " -"like negative numbers and there are no options in the parser that look like " -"negative numbers::" -msgstr "" - -#: ../../library/argparse.rst:1530 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('-x')\n" -">>> parser.add_argument('foo', nargs='?')\n" -"\n" -">>> # no negative number options, so -1 is a positional argument\n" -">>> parser.parse_args(['-x', '-1'])\n" -"Namespace(foo=None, x='-1')\n" -"\n" -">>> # no negative number options, so -1 and -5 are positional arguments\n" -">>> parser.parse_args(['-x', '-1', '-5'])\n" -"Namespace(foo='-5', x='-1')\n" -"\n" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('-1', dest='one')\n" -">>> parser.add_argument('foo', nargs='?')\n" -"\n" -">>> # negative number options present, so -1 is an option\n" -">>> parser.parse_args(['-1', 'X'])\n" -"Namespace(foo=None, one='X')\n" -"\n" -">>> # negative number options present, so -2 is an option\n" -">>> parser.parse_args(['-2'])\n" -"usage: PROG [-h] [-1 ONE] [foo]\n" -"PROG: error: no such option: -2\n" -"\n" -">>> # negative number options present, so both -1s are options\n" -">>> parser.parse_args(['-1', '-1'])\n" -"usage: PROG [-h] [-1 ONE] [foo]\n" -"PROG: error: argument -1: expected one argument" -msgstr "" - -#: ../../library/argparse.rst:1560 -msgid "" -"If you have positional arguments that must begin with ``-`` and don't look " -"like negative numbers, you can insert the pseudo-argument ``'--'`` which " -"tells :meth:`~ArgumentParser.parse_args` that everything after that is a " -"positional argument::" -msgstr "" - -#: ../../library/argparse.rst:1565 -msgid "" -">>> parser.parse_args(['--', '-f'])\n" -"Namespace(foo='-f', one=None)" -msgstr "" - -#: ../../library/argparse.rst:1568 -msgid "" -"See also :ref:`the argparse howto on ambiguous arguments ` for more details." -msgstr "" - -#: ../../library/argparse.rst:1574 -msgid "Argument abbreviations (prefix matching)" -msgstr "" - -#: ../../library/argparse.rst:1576 -msgid "" -"The :meth:`~ArgumentParser.parse_args` method :ref:`by default " -"` allows long options to be abbreviated to a prefix, if the " -"abbreviation is unambiguous (the prefix matches a unique option)::" -msgstr "" - -#: ../../library/argparse.rst:1580 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('-bacon')\n" -">>> parser.add_argument('-badger')\n" -">>> parser.parse_args('-bac MMM'.split())\n" -"Namespace(bacon='MMM', badger=None)\n" -">>> parser.parse_args('-bad WOOD'.split())\n" -"Namespace(bacon=None, badger='WOOD')\n" -">>> parser.parse_args('-ba BA'.split())\n" -"usage: PROG [-h] [-bacon BACON] [-badger BADGER]\n" -"PROG: error: ambiguous option: -ba could match -badger, -bacon" -msgstr "" - -#: ../../library/argparse.rst:1591 -msgid "" -"An error is produced for arguments that could produce more than one options." -" This feature can be disabled by setting :ref:`allow_abbrev` to ``False``." -msgstr "" - -#: ../../library/argparse.rst:1597 -msgid "Beyond ``sys.argv``" -msgstr "" - -#: ../../library/argparse.rst:1599 -msgid "" -"Sometimes it may be useful to have an :class:`ArgumentParser` parse " -"arguments other than those of :data:`sys.argv`. This can be accomplished by" -" passing a list of strings to :meth:`~ArgumentParser.parse_args`. This is " -"useful for testing at the interactive prompt::" -msgstr "" - -#: ../../library/argparse.rst:1604 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument(\n" -"... 'integers', metavar='int', type=int, choices=range(10),\n" -"... nargs='+', help='an integer in the range 0..9')\n" -">>> parser.add_argument(\n" -"... '--sum', dest='accumulate', action='store_const', const=sum,\n" -"... default=max, help='sum the integers (default: find the max)')\n" -">>> parser.parse_args(['1', '2', '3', '4'])\n" -"Namespace(accumulate=, integers=[1, 2, 3, 4])\n" -">>> parser.parse_args(['1', '2', '3', '4', '--sum'])\n" -"Namespace(accumulate=, integers=[1, 2, 3, 4])" -msgstr "" - -#: ../../library/argparse.rst:1619 -msgid "The Namespace object" -msgstr "" - -#: ../../library/argparse.rst:1623 -msgid "" -"Simple class used by default by :meth:`~ArgumentParser.parse_args` to create" -" an object holding attributes and return it." -msgstr "" - -#: ../../library/argparse.rst:1626 -msgid "" -"This class is deliberately simple, just an :class:`object` subclass with a " -"readable string representation. If you prefer to have dict-like view of the " -"attributes, you can use the standard Python idiom, :func:`vars`::" -msgstr "" - -#: ../../library/argparse.rst:1630 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo')\n" -">>> args = parser.parse_args(['--foo', 'BAR'])\n" -">>> vars(args)\n" -"{'foo': 'BAR'}" -msgstr "" - -#: ../../library/argparse.rst:1636 -msgid "" -"It may also be useful to have an :class:`ArgumentParser` assign attributes " -"to an already existing object, rather than a new :class:`Namespace` object." -" This can be achieved by specifying the ``namespace=`` keyword argument::" -msgstr "" - -#: ../../library/argparse.rst:1640 -msgid "" -">>> class C:\n" -"... pass\n" -"...\n" -">>> c = C()\n" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo')\n" -">>> parser.parse_args(args=['--foo', 'BAR'], namespace=c)\n" -">>> c.foo\n" -"'BAR'" -msgstr "" - -#: ../../library/argparse.rst:1652 -msgid "Other utilities" -msgstr "" - -#: ../../library/argparse.rst:1655 -msgid "Sub-commands" -msgstr "" - -#: ../../library/argparse.rst:1662 -msgid "" -"Many programs split up their functionality into a number of subcommands, for" -" example, the ``svn`` program can invoke subcommands like ``svn checkout``, " -"``svn update``, and ``svn commit``. Splitting up functionality this way can" -" be a particularly good idea when a program performs several different " -"functions which require different kinds of command-line arguments. " -":class:`ArgumentParser` supports the creation of such subcommands with the " -":meth:`!add_subparsers` method. The :meth:`!add_subparsers` method is " -"normally called with no arguments and returns a special action object. This" -" object has a single method, :meth:`~_SubParsersAction.add_parser`, which " -"takes a command name and any :class:`!ArgumentParser` constructor arguments," -" and returns an :class:`!ArgumentParser` object that can be modified as " -"usual." -msgstr "" - -#: ../../library/argparse.rst:1674 -msgid "Description of parameters:" -msgstr "" - -#: ../../library/argparse.rst:1676 -msgid "" -"*title* - title for the sub-parser group in help output; by default " -"\"subcommands\" if description is provided, otherwise uses title for " -"positional arguments" -msgstr "" - -#: ../../library/argparse.rst:1680 -msgid "" -"*description* - description for the sub-parser group in help output, by " -"default ``None``" -msgstr "" - -#: ../../library/argparse.rst:1683 -msgid "" -"*prog* - usage information that will be displayed with sub-command help, by " -"default the name of the program and any positional arguments before the " -"subparser argument" -msgstr "" - -#: ../../library/argparse.rst:1687 -msgid "" -"*parser_class* - class which will be used to create sub-parser instances, by" -" default the class of the current parser (e.g. :class:`ArgumentParser`)" -msgstr "" - -#: ../../library/argparse.rst:1690 -msgid "" -"action_ - the basic type of action to be taken when this argument is " -"encountered at the command line" -msgstr "" - -#: ../../library/argparse.rst:1693 -msgid "" -"dest_ - name of the attribute under which sub-command name will be stored; " -"by default ``None`` and no value is stored" -msgstr "" - -#: ../../library/argparse.rst:1696 -msgid "" -"required_ - Whether or not a subcommand must be provided, by default " -"``False`` (added in 3.7)" -msgstr "" - -#: ../../library/argparse.rst:1699 -msgid "help_ - help for sub-parser group in help output, by default ``None``" -msgstr "" - -#: ../../library/argparse.rst:1701 -msgid "" -"metavar_ - string presenting available subcommands in help; by default it is" -" ``None`` and presents subcommands in form {cmd1, cmd2, ..}" -msgstr "" - -#: ../../library/argparse.rst:1704 -msgid "Some example usage::" -msgstr "" - -#: ../../library/argparse.rst:1706 -msgid "" -">>> # create the top-level parser\n" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> parser.add_argument('--foo', action='store_true', help='foo help')\n" -">>> subparsers = parser.add_subparsers(help='subcommand help')\n" -">>>\n" -">>> # create the parser for the \"a\" command\n" -">>> parser_a = subparsers.add_parser('a', help='a help')\n" -">>> parser_a.add_argument('bar', type=int, help='bar help')\n" -">>>\n" -">>> # create the parser for the \"b\" command\n" -">>> parser_b = subparsers.add_parser('b', help='b help')\n" -">>> parser_b.add_argument('--baz', choices=('X', 'Y', 'Z'), help='baz help')\n" -">>>\n" -">>> # parse some argument lists\n" -">>> parser.parse_args(['a', '12'])\n" -"Namespace(bar=12, foo=False)\n" -">>> parser.parse_args(['--foo', 'b', '--baz', 'Z'])\n" -"Namespace(baz='Z', foo=True)" -msgstr "" - -#: ../../library/argparse.rst:1725 -msgid "" -"Note that the object returned by :meth:`parse_args` will only contain " -"attributes for the main parser and the subparser that was selected by the " -"command line (and not any other subparsers). So in the example above, when " -"the ``a`` command is specified, only the ``foo`` and ``bar`` attributes are " -"present, and when the ``b`` command is specified, only the ``foo`` and " -"``baz`` attributes are present." -msgstr "" - -#: ../../library/argparse.rst:1732 -msgid "" -"Similarly, when a help message is requested from a subparser, only the help " -"for that particular parser will be printed. The help message will not " -"include parent parser or sibling parser messages. (A help message for each " -"subparser command, however, can be given by supplying the ``help=`` argument" -" to :meth:`~_SubParsersAction.add_parser` as above.)" -msgstr "" - -#: ../../library/argparse.rst:1740 -msgid "" -">>> parser.parse_args(['--help'])\n" -"usage: PROG [-h] [--foo] {a,b} ...\n" -"\n" -"positional arguments:\n" -" {a,b} subcommand help\n" -" a a help\n" -" b b help\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" --foo foo help\n" -"\n" -">>> parser.parse_args(['a', '--help'])\n" -"usage: PROG a [-h] bar\n" -"\n" -"positional arguments:\n" -" bar bar help\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -"\n" -">>> parser.parse_args(['b', '--help'])\n" -"usage: PROG b [-h] [--baz {X,Y,Z}]\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" --baz {X,Y,Z} baz help" -msgstr "" - -#: ../../library/argparse.rst:1768 -msgid "" -"The :meth:`add_subparsers` method also supports ``title`` and " -"``description`` keyword arguments. When either is present, the subparser's " -"commands will appear in their own group in the help output. For example::" -msgstr "" - -#: ../../library/argparse.rst:1772 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> subparsers = parser.add_subparsers(title='subcommands',\n" -"... description='valid subcommands',\n" -"... help='additional help')\n" -">>> subparsers.add_parser('foo')\n" -">>> subparsers.add_parser('bar')\n" -">>> parser.parse_args(['-h'])\n" -"usage: [-h] {foo,bar} ...\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -"\n" -"subcommands:\n" -" valid subcommands\n" -"\n" -" {foo,bar} additional help" -msgstr "" - -#: ../../library/argparse.rst:1789 -msgid "" -"Furthermore, :meth:`~_SubParsersAction.add_parser` supports an additional " -"*aliases* argument, which allows multiple strings to refer to the same " -"subparser. This example, like ``svn``, aliases ``co`` as a shorthand for " -"``checkout``::" -msgstr "" - -#: ../../library/argparse.rst:1794 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> subparsers = parser.add_subparsers()\n" -">>> checkout = subparsers.add_parser('checkout', aliases=['co'])\n" -">>> checkout.add_argument('foo')\n" -">>> parser.parse_args(['co', 'bar'])\n" -"Namespace(foo='bar')" -msgstr "" - -#: ../../library/argparse.rst:1801 -msgid "" -":meth:`~_SubParsersAction.add_parser` supports also an additional " -"*deprecated* argument, which allows to deprecate the subparser." -msgstr "" - -#: ../../library/argparse.rst:1815 -msgid "" -"One particularly effective way of handling subcommands is to combine the use" -" of the :meth:`add_subparsers` method with calls to :meth:`set_defaults` so " -"that each subparser knows which Python function it should execute. For " -"example::" -msgstr "" - -#: ../../library/argparse.rst:1820 -msgid "" -">>> # subcommand functions\n" -">>> def foo(args):\n" -"... print(args.x * args.y)\n" -"...\n" -">>> def bar(args):\n" -"... print('((%s))' % args.z)\n" -"...\n" -">>> # create the top-level parser\n" -">>> parser = argparse.ArgumentParser()\n" -">>> subparsers = parser.add_subparsers(required=True)\n" -">>>\n" -">>> # create the parser for the \"foo\" command\n" -">>> parser_foo = subparsers.add_parser('foo')\n" -">>> parser_foo.add_argument('-x', type=int, default=1)\n" -">>> parser_foo.add_argument('y', type=float)\n" -">>> parser_foo.set_defaults(func=foo)\n" -">>>\n" -">>> # create the parser for the \"bar\" command\n" -">>> parser_bar = subparsers.add_parser('bar')\n" -">>> parser_bar.add_argument('z')\n" -">>> parser_bar.set_defaults(func=bar)\n" -">>>\n" -">>> # parse the args and call whatever function was selected\n" -">>> args = parser.parse_args('foo 1 -x 2'.split())\n" -">>> args.func(args)\n" -"2.0\n" -">>>\n" -">>> # parse the args and call whatever function was selected\n" -">>> args = parser.parse_args('bar XYZYX'.split())\n" -">>> args.func(args)\n" -"((XYZYX))" -msgstr "" - -#: ../../library/argparse.rst:1852 -msgid "" -"This way, you can let :meth:`parse_args` do the job of calling the " -"appropriate function after argument parsing is complete. Associating " -"functions with actions like this is typically the easiest way to handle the " -"different actions for each of your subparsers. However, if it is necessary " -"to check the name of the subparser that was invoked, the ``dest`` keyword " -"argument to the :meth:`add_subparsers` call will work::" -msgstr "" - -#: ../../library/argparse.rst:1859 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> subparsers = parser.add_subparsers(dest='subparser_name')\n" -">>> subparser1 = subparsers.add_parser('1')\n" -">>> subparser1.add_argument('-x')\n" -">>> subparser2 = subparsers.add_parser('2')\n" -">>> subparser2.add_argument('y')\n" -">>> parser.parse_args(['2', 'frobble'])\n" -"Namespace(subparser_name='2', y='frobble')" -msgstr "" - -#: ../../library/argparse.rst:1868 -msgid "New *required* keyword-only parameter." -msgstr "" - -#: ../../library/argparse.rst:1871 -msgid "" -"Subparser's *prog* is no longer affected by a custom usage message in the " -"main parser." -msgstr "" - -#: ../../library/argparse.rst:1877 -msgid "FileType objects" -msgstr "" - -#: ../../library/argparse.rst:1881 -msgid "" -"The :class:`FileType` factory creates objects that can be passed to the type" -" argument of :meth:`ArgumentParser.add_argument`. Arguments that have " -":class:`FileType` objects as their type will open command-line arguments as " -"files with the requested modes, buffer sizes, encodings and error handling " -"(see the :func:`open` function for more details)::" -msgstr "" - -#: ../../library/argparse.rst:1887 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--raw', type=argparse.FileType('wb', 0))\n" -">>> parser.add_argument('out', type=argparse.FileType('w', encoding='UTF-8'))\n" -">>> parser.parse_args(['--raw', 'raw.dat', 'file.txt'])\n" -"Namespace(out=<_io.TextIOWrapper name='file.txt' mode='w' encoding='UTF-8'>, raw=<_io.FileIO name='raw.dat' mode='wb'>)" -msgstr "" - -#: ../../library/argparse.rst:1893 -msgid "" -"FileType objects understand the pseudo-argument ``'-'`` and automatically " -"convert this into :data:`sys.stdin` for readable :class:`FileType` objects " -"and :data:`sys.stdout` for writable :class:`FileType` objects::" -msgstr "" - -#: ../../library/argparse.rst:1897 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('infile', type=argparse.FileType('r'))\n" -">>> parser.parse_args(['-'])\n" -"Namespace(infile=<_io.TextIOWrapper name='' encoding='UTF-8'>)" -msgstr "" - -#: ../../library/argparse.rst:1904 -msgid "" -"If one argument uses *FileType* and then a subsequent argument fails, an " -"error is reported but the file is not automatically closed. This can also " -"clobber the output files. In this case, it would be better to wait until " -"after the parser has run and then use the :keyword:`with`-statement to " -"manage the files." -msgstr "" - -#: ../../library/argparse.rst:1910 -msgid "Added the *encodings* and *errors* parameters." -msgstr "" - -#: ../../library/argparse.rst:1917 -msgid "Argument groups" -msgstr "" - -#: ../../library/argparse.rst:1922 -msgid "" -"By default, :class:`ArgumentParser` groups command-line arguments into " -"\"positional arguments\" and \"options\" when displaying help messages. When" -" there is a better conceptual grouping of arguments than this default one, " -"appropriate groups can be created using the :meth:`!add_argument_group` " -"method::" -msgstr "" - -#: ../../library/argparse.rst:1928 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG', add_help=False)\n" -">>> group = parser.add_argument_group('group')\n" -">>> group.add_argument('--foo', help='foo help')\n" -">>> group.add_argument('bar', help='bar help')\n" -">>> parser.print_help()\n" -"usage: PROG [--foo FOO] bar\n" -"\n" -"group:\n" -" bar bar help\n" -" --foo FOO foo help" -msgstr "" - -#: ../../library/argparse.rst:1939 -msgid "" -"The :meth:`add_argument_group` method returns an argument group object which" -" has an :meth:`~ArgumentParser.add_argument` method just like a regular " -":class:`ArgumentParser`. When an argument is added to the group, the parser" -" treats it just like a normal argument, but displays the argument in a " -"separate group for help messages. The :meth:`!add_argument_group` method " -"accepts *title* and *description* arguments which can be used to customize " -"this display::" -msgstr "" - -#: ../../library/argparse.rst:1947 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG', add_help=False)\n" -">>> group1 = parser.add_argument_group('group1', 'group1 description')\n" -">>> group1.add_argument('foo', help='foo help')\n" -">>> group2 = parser.add_argument_group('group2', 'group2 description')\n" -">>> group2.add_argument('--bar', help='bar help')\n" -">>> parser.print_help()\n" -"usage: PROG [--bar BAR] foo\n" -"\n" -"group1:\n" -" group1 description\n" -"\n" -" foo foo help\n" -"\n" -"group2:\n" -" group2 description\n" -"\n" -" --bar BAR bar help" -msgstr "" - -#: ../../library/argparse.rst:1965 -msgid "" -"The optional, keyword-only parameters argument_default_ and " -"conflict_handler_ allow for finer-grained control of the behavior of the " -"argument group. These parameters have the same meaning as in the " -":class:`ArgumentParser` constructor, but apply specifically to the argument " -"group rather than the entire parser." -msgstr "" - -#: ../../library/argparse.rst:1970 -msgid "" -"Note that any arguments not in your user-defined groups will end up back in " -"the usual \"positional arguments\" and \"optional arguments\" sections." -msgstr "" - -#: ../../library/argparse.rst:1973 -msgid "" -"Calling :meth:`add_argument_group` on an argument group now raises an " -"exception. This nesting was never supported, often failed to work correctly," -" and was unintentionally exposed through inheritance." -msgstr "" - -#: ../../library/argparse.rst:1978 -msgid "Passing prefix_chars_ to :meth:`add_argument_group` is now deprecated." -msgstr "" - -#: ../../library/argparse.rst:1984 -msgid "Mutual exclusion" -msgstr "" - -#: ../../library/argparse.rst:1988 -msgid "" -"Create a mutually exclusive group. :mod:`!argparse` will make sure that only" -" one of the arguments in the mutually exclusive group was present on the " -"command line::" -msgstr "" - -#: ../../library/argparse.rst:1992 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> group = parser.add_mutually_exclusive_group()\n" -">>> group.add_argument('--foo', action='store_true')\n" -">>> group.add_argument('--bar', action='store_false')\n" -">>> parser.parse_args(['--foo'])\n" -"Namespace(bar=True, foo=True)\n" -">>> parser.parse_args(['--bar'])\n" -"Namespace(bar=False, foo=False)\n" -">>> parser.parse_args(['--foo', '--bar'])\n" -"usage: PROG [-h] [--foo | --bar]\n" -"PROG: error: argument --bar: not allowed with argument --foo" -msgstr "" - -#: ../../library/argparse.rst:2004 -msgid "" -"The :meth:`add_mutually_exclusive_group` method also accepts a *required* " -"argument, to indicate that at least one of the mutually exclusive arguments " -"is required::" -msgstr "" - -#: ../../library/argparse.rst:2008 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> group = parser.add_mutually_exclusive_group(required=True)\n" -">>> group.add_argument('--foo', action='store_true')\n" -">>> group.add_argument('--bar', action='store_false')\n" -">>> parser.parse_args([])\n" -"usage: PROG [-h] (--foo | --bar)\n" -"PROG: error: one of the arguments --foo --bar is required" -msgstr "" - -#: ../../library/argparse.rst:2016 -msgid "" -"Note that currently mutually exclusive argument groups do not support the " -"*title* and *description* arguments of " -":meth:`~ArgumentParser.add_argument_group`. However, a mutually exclusive " -"group can be added to an argument group that has a title and description. " -"For example::" -msgstr "" - -#: ../../library/argparse.rst:2022 -msgid "" -">>> parser = argparse.ArgumentParser(prog='PROG')\n" -">>> group = parser.add_argument_group('Group title', 'Group description')\n" -">>> exclusive_group = group.add_mutually_exclusive_group(required=True)\n" -">>> exclusive_group.add_argument('--foo', help='foo help')\n" -">>> exclusive_group.add_argument('--bar', help='bar help')\n" -">>> parser.print_help()\n" -"usage: PROG [-h] (--foo FOO | --bar BAR)\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -"\n" -"Group title:\n" -" Group description\n" -"\n" -" --foo FOO foo help\n" -" --bar BAR bar help" -msgstr "" - -#: ../../library/argparse.rst:2039 -msgid "" -"Calling :meth:`add_argument_group` or :meth:`add_mutually_exclusive_group` " -"on a mutually exclusive group now raises an exception. This nesting was " -"never supported, often failed to work correctly, and was unintentionally " -"exposed through inheritance." -msgstr "" - -#: ../../library/argparse.rst:2047 -msgid "Parser defaults" -msgstr "" - -#: ../../library/argparse.rst:2051 -msgid "" -"Most of the time, the attributes of the object returned by " -":meth:`parse_args` will be fully determined by inspecting the command-line " -"arguments and the argument actions. :meth:`set_defaults` allows some " -"additional attributes that are determined without any inspection of the " -"command line to be added::" -msgstr "" - -#: ../../library/argparse.rst:2057 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('foo', type=int)\n" -">>> parser.set_defaults(bar=42, baz='badger')\n" -">>> parser.parse_args(['736'])\n" -"Namespace(bar=42, baz='badger', foo=736)" -msgstr "" - -#: ../../library/argparse.rst:2063 -msgid "" -"Note that parser-level defaults always override argument-level defaults::" -msgstr "" - -#: ../../library/argparse.rst:2065 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', default='bar')\n" -">>> parser.set_defaults(foo='spam')\n" -">>> parser.parse_args([])\n" -"Namespace(foo='spam')" -msgstr "" - -#: ../../library/argparse.rst:2071 -msgid "" -"Parser-level defaults can be particularly useful when working with multiple " -"parsers. See the :meth:`~ArgumentParser.add_subparsers` method for an " -"example of this type." -msgstr "" - -#: ../../library/argparse.rst:2077 -msgid "" -"Get the default value for a namespace attribute, as set by either " -":meth:`~ArgumentParser.add_argument` or by " -":meth:`~ArgumentParser.set_defaults`::" -msgstr "" - -#: ../../library/argparse.rst:2081 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', default='badger')\n" -">>> parser.get_default('foo')\n" -"'badger'" -msgstr "" - -#: ../../library/argparse.rst:2088 -msgid "Printing help" -msgstr "" - -#: ../../library/argparse.rst:2090 -msgid "" -"In most typical applications, :meth:`~ArgumentParser.parse_args` will take " -"care of formatting and printing any usage or error messages. However, " -"several formatting methods are available:" -msgstr "" - -#: ../../library/argparse.rst:2096 -msgid "" -"Print a brief description of how the :class:`ArgumentParser` should be " -"invoked on the command line. If *file* is ``None``, :data:`sys.stdout` is " -"assumed." -msgstr "" - -#: ../../library/argparse.rst:2102 -msgid "" -"Print a help message, including the program usage and information about the " -"arguments registered with the :class:`ArgumentParser`. If *file* is " -"``None``, :data:`sys.stdout` is assumed." -msgstr "" - -#: ../../library/argparse.rst:2106 -msgid "" -"There are also variants of these methods that simply return a string instead" -" of printing it:" -msgstr "" - -#: ../../library/argparse.rst:2111 -msgid "" -"Return a string containing a brief description of how the " -":class:`ArgumentParser` should be invoked on the command line." -msgstr "" - -#: ../../library/argparse.rst:2116 -msgid "" -"Return a string containing a help message, including the program usage and " -"information about the arguments registered with the :class:`ArgumentParser`." -msgstr "" - -#: ../../library/argparse.rst:2121 -msgid "Partial parsing" -msgstr "" - -#: ../../library/argparse.rst:2125 -msgid "" -"Sometimes a script may only parse a few of the command-line arguments, " -"passing the remaining arguments on to another script or program. In these " -"cases, the :meth:`~ArgumentParser.parse_known_args` method can be useful. " -"It works much like :meth:`~ArgumentParser.parse_args` except that it does " -"not produce an error when extra arguments are present. Instead, it returns " -"a two item tuple containing the populated namespace and the list of " -"remaining argument strings." -msgstr "" - -#: ../../library/argparse.rst:2134 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo', action='store_true')\n" -">>> parser.add_argument('bar')\n" -">>> parser.parse_known_args(['--foo', '--badger', 'BAR', 'spam'])\n" -"(Namespace(bar='BAR', foo=True), ['--badger', 'spam'])" -msgstr "" - -#: ../../library/argparse.rst:2141 -msgid "" -":ref:`Prefix matching ` rules apply to " -":meth:`~ArgumentParser.parse_known_args`. The parser may consume an option " -"even if it's just a prefix of one of its known options, instead of leaving " -"it in the remaining arguments list." -msgstr "" - -#: ../../library/argparse.rst:2148 -msgid "Customizing file parsing" -msgstr "" - -#: ../../library/argparse.rst:2152 -msgid "" -"Arguments that are read from a file (see the *fromfile_prefix_chars* keyword" -" argument to the :class:`ArgumentParser` constructor) are read one argument " -"per line. :meth:`convert_arg_line_to_args` can be overridden for fancier " -"reading." -msgstr "" - -#: ../../library/argparse.rst:2157 -msgid "" -"This method takes a single argument *arg_line* which is a string read from " -"the argument file. It returns a list of arguments parsed from this string. " -"The method is called once per line read from the argument file, in order." -msgstr "" - -#: ../../library/argparse.rst:2161 -msgid "" -"A useful override of this method is one that treats each space-separated " -"word as an argument. The following example demonstrates how to do this::" -msgstr "" - -#: ../../library/argparse.rst:2164 -msgid "" -"class MyArgumentParser(argparse.ArgumentParser):\n" -" def convert_arg_line_to_args(self, arg_line):\n" -" return arg_line.split()" -msgstr "" - -#: ../../library/argparse.rst:2170 -msgid "Exiting methods" -msgstr "" - -#: ../../library/argparse.rst:2174 -msgid "" -"This method terminates the program, exiting with the specified *status* and," -" if given, it prints a *message* to :data:`sys.stderr` before that. The user" -" can override this method to handle these steps differently::" -msgstr "" - -#: ../../library/argparse.rst:2178 -msgid "" -"class ErrorCatchingArgumentParser(argparse.ArgumentParser):\n" -" def exit(self, status=0, message=None):\n" -" if status:\n" -" raise Exception(f'Exiting because of an error: {message}')\n" -" exit(status)" -msgstr "" - -#: ../../library/argparse.rst:2186 -msgid "" -"This method prints a usage message, including the *message*, to " -":data:`sys.stderr` and terminates the program with a status code of 2." -msgstr "" - -#: ../../library/argparse.rst:2191 -msgid "Intermixed parsing" -msgstr "" - -#: ../../library/argparse.rst:2196 -msgid "" -"A number of Unix commands allow the user to intermix optional arguments with" -" positional arguments. The :meth:`~ArgumentParser.parse_intermixed_args` " -"and :meth:`~ArgumentParser.parse_known_intermixed_args` methods support this" -" parsing style." -msgstr "" - -#: ../../library/argparse.rst:2201 -msgid "" -"These parsers do not support all the :mod:`!argparse` features, and will " -"raise exceptions if unsupported features are used. In particular, " -"subparsers, and mutually exclusive groups that include both optionals and " -"positionals are not supported." -msgstr "" - -#: ../../library/argparse.rst:2206 -msgid "" -"The following example shows the difference between " -":meth:`~ArgumentParser.parse_known_args` and " -":meth:`~ArgumentParser.parse_intermixed_args`: the former returns ``['2', " -"'3']`` as unparsed arguments, while the latter collects all the positionals " -"into ``rest``. ::" -msgstr "" - -#: ../../library/argparse.rst:2212 -msgid "" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.add_argument('--foo')\n" -">>> parser.add_argument('cmd')\n" -">>> parser.add_argument('rest', nargs='*', type=int)\n" -">>> parser.parse_known_args('doit 1 --foo bar 2 3'.split())\n" -"(Namespace(cmd='doit', foo='bar', rest=[1]), ['2', '3'])\n" -">>> parser.parse_intermixed_args('doit 1 --foo bar 2 3'.split())\n" -"Namespace(cmd='doit', foo='bar', rest=[1, 2, 3])" -msgstr "" - -#: ../../library/argparse.rst:2221 -msgid "" -":meth:`~ArgumentParser.parse_known_intermixed_args` returns a two item tuple" -" containing the populated namespace and the list of remaining argument " -"strings. :meth:`~ArgumentParser.parse_intermixed_args` raises an error if " -"there are any remaining unparsed argument strings." -msgstr "" - -#: ../../library/argparse.rst:2230 -msgid "Registering custom types or actions" -msgstr "" - -#: ../../library/argparse.rst:2234 -msgid "" -"Sometimes it's desirable to use a custom string in error messages to provide" -" more user-friendly output. In these cases, :meth:`!register` can be used to" -" register custom actions or types with a parser and allow you to reference " -"the type by their registered name instead of their callable name." -msgstr "" - -#: ../../library/argparse.rst:2239 -msgid "" -"The :meth:`!register` method accepts three arguments - a *registry_name*, " -"specifying the internal registry where the object will be stored (e.g., " -"``action``, ``type``), *value*, which is the key under which the object will" -" be registered, and object, the callable to be registered." -msgstr "" - -#: ../../library/argparse.rst:2244 -msgid "" -"The following example shows how to register a custom type with a parser::" -msgstr "" - -#: ../../library/argparse.rst:2246 -msgid "" -">>> import argparse\n" -">>> parser = argparse.ArgumentParser()\n" -">>> parser.register('type', 'hexadecimal integer', lambda s: int(s, 16))\n" -">>> parser.add_argument('--foo', type='hexadecimal integer')\n" -"_StoreAction(option_strings=['--foo'], dest='foo', nargs=None, const=None, default=None, type='hexadecimal integer', choices=None, required=False, help=None, metavar=None, deprecated=False)\n" -">>> parser.parse_args(['--foo', '0xFA'])\n" -"Namespace(foo=250)\n" -">>> parser.parse_args(['--foo', '1.2'])\n" -"usage: PROG [-h] [--foo FOO]\n" -"PROG: error: argument --foo: invalid 'hexadecimal integer' value: '1.2'" -msgstr "" - -#: ../../library/argparse.rst:2258 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/argparse.rst:2262 -msgid "An error from creating or using an argument (optional or positional)." -msgstr "" - -#: ../../library/argparse.rst:2264 -msgid "" -"The string value of this exception is the message, augmented with " -"information about the argument that caused it." -msgstr "" - -#: ../../library/argparse.rst:2269 -msgid "" -"Raised when something goes wrong converting a command line string to a type." -msgstr "" - -#: ../../library/argparse.rst:2273 -msgid "Guides and Tutorials" -msgstr "" - -#: ../../library/argparse.rst:910 -msgid "? (question mark)" -msgstr "" - -#: ../../library/argparse.rst:910 ../../library/argparse.rst:942 -#: ../../library/argparse.rst:956 -msgid "in argparse module" -msgstr "" - -#: ../../library/argparse.rst:942 -msgid "* (asterisk)" -msgstr "" - -#: ../../library/argparse.rst:956 -msgid "+ (plus)" -msgstr "" diff --git a/python-newest.library--array/id.po b/python-newest.library--array/id.po deleted file mode 100644 index 800a7d9..0000000 --- a/python-newest.library--array/id.po +++ /dev/null @@ -1,467 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/array.rst:2 -msgid ":mod:`!array` --- Efficient arrays of numeric values" -msgstr "" - -#: ../../library/array.rst:11 -msgid "" -"This module defines an object type which can compactly represent an array of" -" basic values: characters, integers, floating-point numbers. Arrays are " -"sequence types and behave very much like lists, except that the type of " -"objects stored in them is constrained. The type is specified at object " -"creation time by using a :dfn:`type code`, which is a single character. The" -" following type codes are defined:" -msgstr "" - -#: ../../library/array.rst:19 -msgid "Type code" -msgstr "Kode tipe" - -#: ../../library/array.rst:19 -msgid "C Type" -msgstr "Tipe C" - -#: ../../library/array.rst:19 -msgid "Python Type" -msgstr "Tipe Python" - -#: ../../library/array.rst:19 -msgid "Minimum size in bytes" -msgstr "Ukuran minimum dalam bytes" - -#: ../../library/array.rst:19 -msgid "Notes" -msgstr "Catatan" - -#: ../../library/array.rst:21 -msgid "``'b'``" -msgstr "``'b'``" - -#: ../../library/array.rst:21 -msgid "signed char" -msgstr "" - -#: ../../library/array.rst:21 ../../library/array.rst:23 -#: ../../library/array.rst:29 ../../library/array.rst:31 -#: ../../library/array.rst:33 ../../library/array.rst:35 -#: ../../library/array.rst:37 ../../library/array.rst:39 -#: ../../library/array.rst:41 ../../library/array.rst:43 -msgid "int" -msgstr "int" - -#: ../../library/array.rst:21 ../../library/array.rst:23 -msgid "1" -msgstr "1" - -#: ../../library/array.rst:23 -msgid "``'B'``" -msgstr "``'B'``" - -#: ../../library/array.rst:23 -msgid "unsigned char" -msgstr "unsigned char" - -#: ../../library/array.rst:25 -msgid "``'u'``" -msgstr "``'u'``" - -#: ../../library/array.rst:25 -msgid "wchar_t" -msgstr "" - -#: ../../library/array.rst:25 ../../library/array.rst:27 -msgid "Unicode character" -msgstr "Unicode character" - -#: ../../library/array.rst:25 ../../library/array.rst:29 -#: ../../library/array.rst:31 ../../library/array.rst:33 -#: ../../library/array.rst:35 -msgid "2" -msgstr "2" - -#: ../../library/array.rst:25 -msgid "\\(1)" -msgstr "\\(1)" - -#: ../../library/array.rst:27 -msgid "``'w'``" -msgstr "``'w'``" - -#: ../../library/array.rst:27 -msgid "Py_UCS4" -msgstr "" - -#: ../../library/array.rst:27 ../../library/array.rst:37 -#: ../../library/array.rst:39 ../../library/array.rst:45 -msgid "4" -msgstr "4" - -#: ../../library/array.rst:29 -msgid "``'h'``" -msgstr "``'h'``" - -#: ../../library/array.rst:29 -msgid "signed short" -msgstr "signed short" - -#: ../../library/array.rst:31 -msgid "``'H'``" -msgstr "``'H'``" - -#: ../../library/array.rst:31 -msgid "unsigned short" -msgstr "unsigned short" - -#: ../../library/array.rst:33 -msgid "``'i'``" -msgstr "``'i'``" - -#: ../../library/array.rst:33 -msgid "signed int" -msgstr "signed int" - -#: ../../library/array.rst:35 -msgid "``'I'``" -msgstr "``'I'``" - -#: ../../library/array.rst:35 -msgid "unsigned int" -msgstr "unsigned int" - -#: ../../library/array.rst:37 -msgid "``'l'``" -msgstr "``'l'``" - -#: ../../library/array.rst:37 -msgid "signed long" -msgstr "signed long" - -#: ../../library/array.rst:39 -msgid "``'L'``" -msgstr "``'L'``" - -#: ../../library/array.rst:39 -msgid "unsigned long" -msgstr "unsigned long" - -#: ../../library/array.rst:41 -msgid "``'q'``" -msgstr "``'q'``" - -#: ../../library/array.rst:41 -msgid "signed long long" -msgstr "signed long long" - -#: ../../library/array.rst:41 ../../library/array.rst:43 -#: ../../library/array.rst:47 -msgid "8" -msgstr "8" - -#: ../../library/array.rst:43 -msgid "``'Q'``" -msgstr "``'Q'``" - -#: ../../library/array.rst:43 -msgid "unsigned long long" -msgstr "unsigned long long" - -#: ../../library/array.rst:45 -msgid "``'f'``" -msgstr "``'f'``" - -#: ../../library/array.rst:45 ../../library/array.rst:47 -msgid "float" -msgstr "float" - -#: ../../library/array.rst:47 -msgid "``'d'``" -msgstr "``'d'``" - -#: ../../library/array.rst:47 -msgid "double" -msgstr "double" - -#: ../../library/array.rst:50 -msgid "Notes:" -msgstr "Catatan:" - -#: ../../library/array.rst:53 -msgid "It can be 16 bits or 32 bits depending on the platform." -msgstr "" - -#: ../../library/array.rst:55 -msgid "" -"``array('u')`` now uses :c:type:`wchar_t` as C type instead of deprecated " -"``Py_UNICODE``. This change doesn't affect its behavior because " -"``Py_UNICODE`` is alias of :c:type:`wchar_t` since Python 3.3." -msgstr "" - -#: ../../library/array.rst:60 -msgid "Please migrate to ``'w'`` typecode." -msgstr "" - -#: ../../library/array.rst:64 -msgid "" -"The actual representation of values is determined by the machine " -"architecture (strictly speaking, by the C implementation). The actual size " -"can be accessed through the :attr:`array.itemsize` attribute." -msgstr "" - -#: ../../library/array.rst:68 -msgid "The module defines the following item:" -msgstr "" - -#: ../../library/array.rst:73 -msgid "A string with all available type codes." -msgstr "" - -#: ../../library/array.rst:76 -msgid "The module defines the following type:" -msgstr "" - -#: ../../library/array.rst:81 -msgid "" -"A new array whose items are restricted by *typecode*, and initialized from " -"the optional *initializer* value, which must be a :class:`bytes` or " -":class:`bytearray` object, a Unicode string, or iterable over elements of " -"the appropriate type." -msgstr "" - -#: ../../library/array.rst:86 -msgid "" -"If given a :class:`bytes` or :class:`bytearray` object, the initializer is " -"passed to the new array's :meth:`frombytes` method; if given a Unicode " -"string, the initializer is passed to the :meth:`fromunicode` method; " -"otherwise, the initializer's iterator is passed to the :meth:`extend` method" -" to add initial items to the array." -msgstr "" - -#: ../../library/array.rst:93 -msgid "" -"Array objects support the ordinary sequence operations of indexing, slicing," -" concatenation, and multiplication. When using slice assignment, the " -"assigned value must be an array object with the same type code; in all other" -" cases, :exc:`TypeError` is raised. Array objects also implement the buffer " -"interface, and may be used wherever :term:`bytes-like objects ` are supported." -msgstr "" - -#: ../../library/array.rst:99 -msgid "" -"Raises an :ref:`auditing event ` ``array.__new__`` with arguments " -"``typecode``, ``initializer``." -msgstr "" - -#: ../../library/array.rst:104 -msgid "The typecode character used to create the array." -msgstr "" - -#: ../../library/array.rst:109 -msgid "The length in bytes of one array item in the internal representation." -msgstr "" - -#: ../../library/array.rst:114 -msgid "Append a new item with value *x* to the end of the array." -msgstr "" - -#: ../../library/array.rst:119 -msgid "" -"Return a tuple ``(address, length)`` giving the current memory address and " -"the length in elements of the buffer used to hold array's contents. The " -"size of the memory buffer in bytes can be computed as " -"``array.buffer_info()[1] * array.itemsize``. This is occasionally useful " -"when working with low-level (and inherently unsafe) I/O interfaces that " -"require memory addresses, such as certain :c:func:`!ioctl` operations. The " -"returned numbers are valid as long as the array exists and no length-" -"changing operations are applied to it." -msgstr "" - -#: ../../library/array.rst:129 -msgid "" -"When using array objects from code written in C or C++ (the only way to " -"effectively make use of this information), it makes more sense to use the " -"buffer interface supported by array objects. This method is maintained for " -"backward compatibility and should be avoided in new code. The buffer " -"interface is documented in :ref:`bufferobjects`." -msgstr "" - -#: ../../library/array.rst:138 -msgid "" -"\"Byteswap\" all items of the array. This is only supported for values " -"which are 1, 2, 4, or 8 bytes in size; for other types of values, " -":exc:`RuntimeError` is raised. It is useful when reading data from a file " -"written on a machine with a different byte order." -msgstr "" - -#: ../../library/array.rst:146 -msgid "Return the number of occurrences of *x* in the array." -msgstr "" - -#: ../../library/array.rst:151 -msgid "" -"Append items from *iterable* to the end of the array. If *iterable* is " -"another array, it must have *exactly* the same type code; if not, " -":exc:`TypeError` will be raised. If *iterable* is not an array, it must be " -"iterable and its elements must be the right type to be appended to the " -"array." -msgstr "" - -#: ../../library/array.rst:159 -msgid "" -"Appends items from the :term:`bytes-like object`, interpreting its content " -"as an array of machine values (as if it had been read from a file using the " -":meth:`fromfile` method)." -msgstr "" - -#: ../../library/array.rst:163 -msgid ":meth:`!fromstring` is renamed to :meth:`frombytes` for clarity." -msgstr "" - -#: ../../library/array.rst:169 -msgid "" -"Read *n* items (as machine values) from the :term:`file object` *f* and " -"append them to the end of the array. If less than *n* items are available, " -":exc:`EOFError` is raised, but the items that were available are still " -"inserted into the array." -msgstr "" - -#: ../../library/array.rst:177 -msgid "" -"Append items from the list. This is equivalent to ``for x in list: " -"a.append(x)`` except that if there is a type error, the array is unchanged." -msgstr "" - -#: ../../library/array.rst:183 -msgid "" -"Extends this array with data from the given Unicode string. The array must " -"have type code ``'u'`` or ``'w'``; otherwise a :exc:`ValueError` is raised. " -"Use ``array.frombytes(unicodestring.encode(enc))`` to append Unicode data to" -" an array of some other type." -msgstr "" - -#: ../../library/array.rst:191 -msgid "" -"Return the smallest *i* such that *i* is the index of the first occurrence " -"of *x* in the array. The optional arguments *start* and *stop* can be " -"specified to search for *x* within a subsection of the array. Raise " -":exc:`ValueError` if *x* is not found." -msgstr "" - -#: ../../library/array.rst:196 -msgid "Added optional *start* and *stop* parameters." -msgstr "" - -#: ../../library/array.rst:202 -msgid "" -"Insert a new item with value *x* in the array before position *i*. Negative " -"values are treated as being relative to the end of the array." -msgstr "" - -#: ../../library/array.rst:208 -msgid "" -"Removes the item with the index *i* from the array and returns it. The " -"optional argument defaults to ``-1``, so that by default the last item is " -"removed and returned." -msgstr "" - -#: ../../library/array.rst:215 -msgid "Remove the first occurrence of *x* from the array." -msgstr "" - -#: ../../library/array.rst:220 -msgid "Remove all elements from the array." -msgstr "" - -#: ../../library/array.rst:227 -msgid "Reverse the order of the items in the array." -msgstr "" - -#: ../../library/array.rst:232 -msgid "" -"Convert the array to an array of machine values and return the bytes " -"representation (the same sequence of bytes that would be written to a file " -"by the :meth:`tofile` method.)" -msgstr "" - -#: ../../library/array.rst:236 -msgid ":meth:`!tostring` is renamed to :meth:`tobytes` for clarity." -msgstr "" - -#: ../../library/array.rst:242 -msgid "Write all items (as machine values) to the :term:`file object` *f*." -msgstr "" - -#: ../../library/array.rst:247 -msgid "Convert the array to an ordinary list with the same items." -msgstr "" - -#: ../../library/array.rst:252 -msgid "" -"Convert the array to a Unicode string. The array must have a type ``'u'`` " -"or ``'w'``; otherwise a :exc:`ValueError` is raised. Use " -"``array.tobytes().decode(enc)`` to obtain a Unicode string from an array of " -"some other type." -msgstr "" - -#: ../../library/array.rst:257 -msgid "" -"The string representation of array objects has the form ``array(typecode, " -"initializer)``. The *initializer* is omitted if the array is empty, " -"otherwise it is a Unicode string if the *typecode* is ``'u'`` or ``'w'``, " -"otherwise it is a list of numbers. The string representation is guaranteed " -"to be able to be converted back to an array with the same type and value " -"using :func:`eval`, so long as the :class:`~array.array` class has been " -"imported using ``from array import array``. Variables ``inf`` and ``nan`` " -"must also be defined if it contains corresponding floating-point values. " -"Examples::" -msgstr "" - -#: ../../library/array.rst:269 -msgid "" -"array('l')\n" -"array('w', 'hello \\u2641')\n" -"array('l', [1, 2, 3, 4, 5])\n" -"array('d', [1.0, 2.0, 3.14, -inf, nan])" -msgstr "" - -#: ../../library/array.rst:277 -msgid "Module :mod:`struct`" -msgstr "Modul :mod:`struct`" - -#: ../../library/array.rst:278 -msgid "Packing and unpacking of heterogeneous binary data." -msgstr "" - -#: ../../library/array.rst:280 -msgid "`NumPy `_" -msgstr "" - -#: ../../library/array.rst:281 -msgid "The NumPy package defines another array type." -msgstr "" - -#: ../../library/array.rst:7 -msgid "arrays" -msgstr "" diff --git a/python-newest.library--ast/id.po b/python-newest.library--ast/id.po deleted file mode 100644 index 6333f8d..0000000 --- a/python-newest.library--ast/id.po +++ /dev/null @@ -1,3079 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/ast.rst:2 -msgid ":mod:`!ast` --- Abstract syntax trees" -msgstr "" - -#: ../../library/ast.rst:14 -msgid "**Source code:** :source:`Lib/ast.py`" -msgstr "" - -#: ../../library/ast.rst:18 -msgid "" -"The :mod:`ast` module helps Python applications to process trees of the " -"Python abstract syntax grammar. The abstract syntax itself might change " -"with each Python release; this module helps to find out programmatically " -"what the current grammar looks like." -msgstr "" - -#: ../../library/ast.rst:23 -msgid "" -"An abstract syntax tree can be generated by passing " -":data:`ast.PyCF_ONLY_AST` as a flag to the :func:`compile` built-in " -"function, or using the :func:`parse` helper provided in this module. The " -"result will be a tree of objects whose classes all inherit from " -":class:`ast.AST`. An abstract syntax tree can be compiled into a Python " -"code object using the built-in :func:`compile` function." -msgstr "" - -#: ../../library/ast.rst:33 -msgid "Abstract grammar" -msgstr "" - -#: ../../library/ast.rst:35 -msgid "The abstract grammar is currently defined as follows:" -msgstr "" - -#: ../../library/ast.rst:37 -msgid "" -"-- ASDL's 4 builtin types are:\n" -"-- identifier, int, string, constant\n" -"\n" -"module Python\n" -"{\n" -" mod = Module(stmt* body, type_ignore* type_ignores)\n" -" | Interactive(stmt* body)\n" -" | Expression(expr body)\n" -" | FunctionType(expr* argtypes, expr returns)\n" -"\n" -" stmt = FunctionDef(identifier name, arguments args,\n" -" stmt* body, expr* decorator_list, expr? returns,\n" -" string? type_comment, type_param* type_params)\n" -" | AsyncFunctionDef(identifier name, arguments args,\n" -" stmt* body, expr* decorator_list, expr? returns,\n" -" string? type_comment, type_param* type_params)\n" -"\n" -" | ClassDef(identifier name,\n" -" expr* bases,\n" -" keyword* keywords,\n" -" stmt* body,\n" -" expr* decorator_list,\n" -" type_param* type_params)\n" -" | Return(expr? value)\n" -"\n" -" | Delete(expr* targets)\n" -" | Assign(expr* targets, expr value, string? type_comment)\n" -" | TypeAlias(expr name, type_param* type_params, expr value)\n" -" | AugAssign(expr target, operator op, expr value)\n" -" -- 'simple' indicates that we annotate simple name without parens\n" -" | AnnAssign(expr target, expr annotation, expr? value, int simple)\n" -"\n" -" -- use 'orelse' because else is a keyword in target languages\n" -" | For(expr target, expr iter, stmt* body, stmt* orelse, string? type_comment)\n" -" | AsyncFor(expr target, expr iter, stmt* body, stmt* orelse, string? type_comment)\n" -" | While(expr test, stmt* body, stmt* orelse)\n" -" | If(expr test, stmt* body, stmt* orelse)\n" -" | With(withitem* items, stmt* body, string? type_comment)\n" -" | AsyncWith(withitem* items, stmt* body, string? type_comment)\n" -"\n" -" | Match(expr subject, match_case* cases)\n" -"\n" -" | Raise(expr? exc, expr? cause)\n" -" | Try(stmt* body, excepthandler* handlers, stmt* orelse, stmt* finalbody)\n" -" | TryStar(stmt* body, excepthandler* handlers, stmt* orelse, stmt* finalbody)\n" -" | Assert(expr test, expr? msg)\n" -"\n" -" | Import(alias* names)\n" -" | ImportFrom(identifier? module, alias* names, int? level)\n" -"\n" -" | Global(identifier* names)\n" -" | Nonlocal(identifier* names)\n" -" | Expr(expr value)\n" -" | Pass | Break | Continue\n" -"\n" -" -- col_offset is the byte offset in the utf8 string the parser uses\n" -" attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset)\n" -"\n" -" -- BoolOp() can use left & right?\n" -" expr = BoolOp(boolop op, expr* values)\n" -" | NamedExpr(expr target, expr value)\n" -" | BinOp(expr left, operator op, expr right)\n" -" | UnaryOp(unaryop op, expr operand)\n" -" | Lambda(arguments args, expr body)\n" -" | IfExp(expr test, expr body, expr orelse)\n" -" | Dict(expr?* keys, expr* values)\n" -" | Set(expr* elts)\n" -" | ListComp(expr elt, comprehension* generators)\n" -" | SetComp(expr elt, comprehension* generators)\n" -" | DictComp(expr key, expr value, comprehension* generators)\n" -" | GeneratorExp(expr elt, comprehension* generators)\n" -" -- the grammar constrains where yield expressions can occur\n" -" | Await(expr value)\n" -" | Yield(expr? value)\n" -" | YieldFrom(expr value)\n" -" -- need sequences for compare to distinguish between\n" -" -- x < 4 < 3 and (x < 4) < 3\n" -" | Compare(expr left, cmpop* ops, expr* comparators)\n" -" | Call(expr func, expr* args, keyword* keywords)\n" -" | FormattedValue(expr value, int conversion, expr? format_spec)\n" -" | Interpolation(expr value, constant str, int conversion, expr? format_spec)\n" -" | JoinedStr(expr* values)\n" -" | TemplateStr(expr* values)\n" -" | Constant(constant value, string? kind)\n" -"\n" -" -- the following expression can appear in assignment context\n" -" | Attribute(expr value, identifier attr, expr_context ctx)\n" -" | Subscript(expr value, expr slice, expr_context ctx)\n" -" | Starred(expr value, expr_context ctx)\n" -" | Name(identifier id, expr_context ctx)\n" -" | List(expr* elts, expr_context ctx)\n" -" | Tuple(expr* elts, expr_context ctx)\n" -"\n" -" -- can appear only in Subscript\n" -" | Slice(expr? lower, expr? upper, expr? step)\n" -"\n" -" -- col_offset is the byte offset in the utf8 string the parser uses\n" -" attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset)\n" -"\n" -" expr_context = Load | Store | Del\n" -"\n" -" boolop = And | Or\n" -"\n" -" operator = Add | Sub | Mult | MatMult | Div | Mod | Pow | LShift\n" -" | RShift | BitOr | BitXor | BitAnd | FloorDiv\n" -"\n" -" unaryop = Invert | Not | UAdd | USub\n" -"\n" -" cmpop = Eq | NotEq | Lt | LtE | Gt | GtE | Is | IsNot | In | NotIn\n" -"\n" -" comprehension = (expr target, expr iter, expr* ifs, int is_async)\n" -"\n" -" excepthandler = ExceptHandler(expr? type, identifier? name, stmt* body)\n" -" attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset)\n" -"\n" -" arguments = (arg* posonlyargs, arg* args, arg? vararg, arg* kwonlyargs,\n" -" expr* kw_defaults, arg? kwarg, expr* defaults)\n" -"\n" -" arg = (identifier arg, expr? annotation, string? type_comment)\n" -" attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset)\n" -"\n" -" -- keyword arguments supplied to call (NULL identifier for **kwargs)\n" -" keyword = (identifier? arg, expr value)\n" -" attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset)\n" -"\n" -" -- import name with optional 'as' alias.\n" -" alias = (identifier name, identifier? asname)\n" -" attributes (int lineno, int col_offset, int? end_lineno, int? end_col_offset)\n" -"\n" -" withitem = (expr context_expr, expr? optional_vars)\n" -"\n" -" match_case = (pattern pattern, expr? guard, stmt* body)\n" -"\n" -" pattern = MatchValue(expr value)\n" -" | MatchSingleton(constant value)\n" -" | MatchSequence(pattern* patterns)\n" -" | MatchMapping(expr* keys, pattern* patterns, identifier? rest)\n" -" | MatchClass(expr cls, pattern* patterns, identifier* kwd_attrs, pattern* kwd_patterns)\n" -"\n" -" | MatchStar(identifier? name)\n" -" -- The optional \"rest\" MatchMapping parameter handles capturing extra mapping keys\n" -"\n" -" | MatchAs(pattern? pattern, identifier? name)\n" -" | MatchOr(pattern* patterns)\n" -"\n" -" attributes (int lineno, int col_offset, int end_lineno, int end_col_offset)\n" -"\n" -" type_ignore = TypeIgnore(int lineno, string tag)\n" -"\n" -" type_param = TypeVar(identifier name, expr? bound, expr? default_value)\n" -" | ParamSpec(identifier name, expr? default_value)\n" -" | TypeVarTuple(identifier name, expr? default_value)\n" -" attributes (int lineno, int col_offset, int end_lineno, int end_col_offset)\n" -"}\n" -msgstr "" - -#: ../../library/ast.rst:42 -msgid "Node classes" -msgstr "" - -#: ../../library/ast.rst:46 -msgid "" -"This is the base of all AST node classes. The actual node classes are " -"derived from the :file:`Parser/Python.asdl` file, which is reproduced " -":ref:`above `. They are defined in the :mod:`!_ast` C " -"module and re-exported in :mod:`ast`." -msgstr "" - -#: ../../library/ast.rst:51 -msgid "" -"There is one class defined for each left-hand side symbol in the abstract " -"grammar (for example, :class:`ast.stmt` or :class:`ast.expr`). In addition," -" there is one class defined for each constructor on the right-hand side; " -"these classes inherit from the classes for the left-hand side trees. For " -"example, :class:`ast.BinOp` inherits from :class:`ast.expr`. For production" -" rules with alternatives (aka \"sums\"), the left-hand side class is " -"abstract: only instances of specific constructor nodes are ever created." -msgstr "" - -#: ../../library/ast.rst:64 -msgid "" -"Each concrete class has an attribute :attr:`!_fields` which gives the names " -"of all child nodes." -msgstr "" - -#: ../../library/ast.rst:67 -msgid "" -"Each instance of a concrete class has one attribute for each child node, of " -"the type as defined in the grammar. For example, :class:`ast.BinOp` " -"instances have an attribute :attr:`left` of type :class:`ast.expr`." -msgstr "" - -#: ../../library/ast.rst:71 -msgid "" -"If these attributes are marked as optional in the grammar (using a question " -"mark), the value might be ``None``. If the attributes can have zero-or-more" -" values (marked with an asterisk), the values are represented as Python " -"lists. All possible attributes must be present and have valid values when " -"compiling an AST with :func:`compile`." -msgstr "" - -#: ../../library/ast.rst:79 -msgid "" -"The :attr:`!_field_types` attribute on each concrete class is a dictionary " -"mapping field names (as also listed in :attr:`_fields`) to their types." -msgstr "" - -#: ../../library/ast.rst:82 -msgid "" -">>> ast.TypeVar._field_types\n" -"{'name': , 'bound': ast.expr | None, 'default_value': ast.expr | None}" -msgstr "" - -#: ../../library/ast.rst:94 -msgid "" -"Instances of :class:`ast.expr` and :class:`ast.stmt` subclasses have " -":attr:`lineno`, :attr:`col_offset`, :attr:`end_lineno`, and " -":attr:`end_col_offset` attributes. The :attr:`lineno` and " -":attr:`end_lineno` are the first and last line numbers of source text span " -"(1-indexed so the first line is line 1) and the :attr:`col_offset` and " -":attr:`end_col_offset` are the corresponding UTF-8 byte offsets of the first" -" and last tokens that generated the node. The UTF-8 offset is recorded " -"because the parser uses UTF-8 internally." -msgstr "" - -#: ../../library/ast.rst:103 -msgid "" -"Note that the end positions are not required by the compiler and are " -"therefore optional. The end offset is *after* the last symbol, for example " -"one can get the source segment of a one-line expression node using " -"``source_line[node.col_offset : node.end_col_offset]``." -msgstr "" - -#: ../../library/ast.rst:108 -msgid "" -"The constructor of a class :class:`ast.T` parses its arguments as follows:" -msgstr "" - -#: ../../library/ast.rst:110 -msgid "" -"If there are positional arguments, there must be as many as there are items " -"in :attr:`T._fields`; they will be assigned as attributes of these names." -msgstr "" - -#: ../../library/ast.rst:112 -msgid "" -"If there are keyword arguments, they will set the attributes of the same " -"names to the given values." -msgstr "" - -#: ../../library/ast.rst:115 -msgid "" -"For example, to create and populate an :class:`ast.UnaryOp` node, you could " -"use ::" -msgstr "" - -#: ../../library/ast.rst:118 -msgid "" -"node = ast.UnaryOp(ast.USub(), ast.Constant(5, lineno=0, col_offset=0),\n" -" lineno=0, col_offset=0)" -msgstr "" - -#: ../../library/ast.rst:121 -msgid "" -"If a field that is optional in the grammar is omitted from the constructor, " -"it defaults to ``None``. If a list field is omitted, it defaults to the " -"empty list. If a field of type :class:`!ast.expr_context` is omitted, it " -"defaults to :class:`Load() `. If any other field is omitted, a " -":exc:`DeprecationWarning` is raised and the AST node will not have this " -"field. In Python 3.15, this condition will raise an error." -msgstr "" - -#: ../../library/ast.rst:130 -msgid "Class :class:`ast.Constant` is now used for all constants." -msgstr "" - -#: ../../library/ast.rst:134 -msgid "" -"Simple indices are represented by their value, extended slices are " -"represented as tuples." -msgstr "" - -#: ../../library/ast.rst:139 -msgid "" -"The :meth:`~object.__repr__` output of :class:`~ast.AST` nodes includes the " -"values of the node fields." -msgstr "" - -#: ../../library/ast.rst:144 -msgid "" -"Old classes :class:`!ast.Num`, :class:`!ast.Str`, :class:`!ast.Bytes`, " -":class:`!ast.NameConstant` and :class:`!ast.Ellipsis` are still available, " -"but they will be removed in future Python releases. In the meantime, " -"instantiating them will return an instance of a different class." -msgstr "" - -#: ../../library/ast.rst:151 -msgid "" -"Old classes :class:`!ast.Index` and :class:`!ast.ExtSlice` are still " -"available, but they will be removed in future Python releases. In the " -"meantime, instantiating them will return an instance of a different class." -msgstr "" - -#: ../../library/ast.rst:158 -msgid "" -"Previous versions of Python allowed the creation of AST nodes that were " -"missing required fields. Similarly, AST node constructors allowed arbitrary " -"keyword arguments that were set as attributes of the AST node, even if they " -"did not match any of the fields of the AST node. This behavior is deprecated" -" and will be removed in Python 3.15." -msgstr "" - -#: ../../library/ast.rst:165 -msgid "" -"The descriptions of the specific node classes displayed here were initially " -"adapted from the fantastic `Green Tree Snakes " -"`__ project and all its " -"contributors." -msgstr "" - -#: ../../library/ast.rst:174 -msgid "Root nodes" -msgstr "" - -#: ../../library/ast.rst:178 -msgid "" -"A Python module, as with :ref:`file input `. Node type generated" -" by :func:`ast.parse` in the default ``\"exec\"`` *mode*." -msgstr "" - -#: ../../library/ast.rst:181 -msgid "``body`` is a :class:`list` of the module's :ref:`ast-statements`." -msgstr "" - -#: ../../library/ast.rst:183 -msgid "" -"``type_ignores`` is a :class:`list` of the module's type ignore comments; " -"see :func:`ast.parse` for more details." -msgstr "" - -#: ../../library/ast.rst:186 -msgid "" -">>> print(ast.dump(ast.parse('x = 1'), indent=4))\n" -"Module(\n" -" body=[\n" -" Assign(\n" -" targets=[\n" -" Name(id='x', ctx=Store())],\n" -" value=Constant(value=1))])" -msgstr "" - -#: ../../library/ast.rst:199 -msgid "" -"A single Python :ref:`expression input `. Node type " -"generated by :func:`ast.parse` when *mode* is ``\"eval\"``." -msgstr "" - -#: ../../library/ast.rst:202 -msgid "" -"``body`` is a single node, one of the :ref:`expression types `." -msgstr "" - -#: ../../library/ast.rst:205 ../../library/ast.rst:275 -msgid "" -">>> print(ast.dump(ast.parse('123', mode='eval'), indent=4))\n" -"Expression(\n" -" body=Constant(value=123))" -msgstr "" - -#: ../../library/ast.rst:214 -msgid "" -"A single :ref:`interactive input `, like in :ref:`tut-interac`." -" Node type generated by :func:`ast.parse` when *mode* is ``\"single\"``." -msgstr "" - -#: ../../library/ast.rst:217 -msgid "" -"``body`` is a :class:`list` of :ref:`statement nodes `." -msgstr "" - -#: ../../library/ast.rst:219 -msgid "" -">>> print(ast.dump(ast.parse('x = 1; y = 2', mode='single'), indent=4))\n" -"Interactive(\n" -" body=[\n" -" Assign(\n" -" targets=[\n" -" Name(id='x', ctx=Store())],\n" -" value=Constant(value=1)),\n" -" Assign(\n" -" targets=[\n" -" Name(id='y', ctx=Store())],\n" -" value=Constant(value=2))])" -msgstr "" - -#: ../../library/ast.rst:236 -msgid "" -"A representation of an old-style type comments for functions, as Python " -"versions prior to 3.5 didn't support :pep:`484` annotations. Node type " -"generated by :func:`ast.parse` when *mode* is ``\"func_type\"``." -msgstr "" - -#: ../../library/ast.rst:240 -msgid "Such type comments would look like this::" -msgstr "" - -#: ../../library/ast.rst:242 -msgid "" -"def sum_two_number(a, b):\n" -" # type: (int, int) -> int\n" -" return a + b" -msgstr "" - -#: ../../library/ast.rst:246 -msgid "" -"``argtypes`` is a :class:`list` of :ref:`expression nodes `." -msgstr "" - -#: ../../library/ast.rst:248 -msgid "``returns`` is a single :ref:`expression node `." -msgstr "" - -#: ../../library/ast.rst:250 -msgid "" -">>> print(ast.dump(ast.parse('(int, str) -> List[int]', mode='func_type'), indent=4))\n" -"FunctionType(\n" -" argtypes=[\n" -" Name(id='int', ctx=Load()),\n" -" Name(id='str', ctx=Load())],\n" -" returns=Subscript(\n" -" value=Name(id='List', ctx=Load()),\n" -" slice=Name(id='int', ctx=Load()),\n" -" ctx=Load()))" -msgstr "" - -#: ../../library/ast.rst:266 -msgid "Literals" -msgstr "" - -#: ../../library/ast.rst:270 -msgid "" -"A constant value. The ``value`` attribute of the ``Constant`` literal " -"contains the Python object it represents. The values represented can be " -"simple types such as a number, string or ``None``, but also immutable " -"container types (tuples and frozensets) if all of their elements are " -"constant." -msgstr "" - -#: ../../library/ast.rst:284 -msgid "" -"Node representing a single formatting field in an f-string. If the string " -"contains a single formatting field and nothing else the node can be isolated" -" otherwise it appears in :class:`JoinedStr`." -msgstr "" - -#: ../../library/ast.rst:288 -msgid "" -"``value`` is any expression node (such as a literal, a variable, or a " -"function call)." -msgstr "" - -#: ../../library/ast.rst:290 -msgid "``conversion`` is an integer:" -msgstr "" - -#: ../../library/ast.rst:292 -msgid "-1: no formatting" -msgstr "" - -#: ../../library/ast.rst:293 -msgid "115: ``!s`` string formatting" -msgstr "" - -#: ../../library/ast.rst:294 -msgid "114: ``!r`` repr formatting" -msgstr "" - -#: ../../library/ast.rst:295 -msgid "97: ``!a`` ascii formatting" -msgstr "" - -#: ../../library/ast.rst:297 -msgid "" -"``format_spec`` is a :class:`JoinedStr` node representing the formatting of " -"the value, or ``None`` if no format was specified. Both ``conversion`` and " -"``format_spec`` can be set at the same time." -msgstr "" - -#: ../../library/ast.rst:304 -msgid "" -"An f-string, comprising a series of :class:`FormattedValue` and " -":class:`Constant` nodes." -msgstr "" - -#: ../../library/ast.rst:307 -msgid "" -">>> print(ast.dump(ast.parse('f\"sin({a}) is {sin(a):.3}\"', mode='eval'), indent=4))\n" -"Expression(\n" -" body=JoinedStr(\n" -" values=[\n" -" Constant(value='sin('),\n" -" FormattedValue(\n" -" value=Name(id='a', ctx=Load()),\n" -" conversion=-1),\n" -" Constant(value=') is '),\n" -" FormattedValue(\n" -" value=Call(\n" -" func=Name(id='sin', ctx=Load()),\n" -" args=[\n" -" Name(id='a', ctx=Load())]),\n" -" conversion=-1,\n" -" format_spec=JoinedStr(\n" -" values=[\n" -" Constant(value='.3')]))]))" -msgstr "" - -#: ../../library/ast.rst:332 -msgid "" -"A list or tuple. ``elts`` holds a list of nodes representing the elements. " -"``ctx`` is :class:`Store` if the container is an assignment target (i.e. " -"``(x,y)=something``), and :class:`Load` otherwise." -msgstr "" - -#: ../../library/ast.rst:336 -msgid "" -">>> print(ast.dump(ast.parse('[1, 2, 3]', mode='eval'), indent=4))\n" -"Expression(\n" -" body=List(\n" -" elts=[\n" -" Constant(value=1),\n" -" Constant(value=2),\n" -" Constant(value=3)],\n" -" ctx=Load()))\n" -">>> print(ast.dump(ast.parse('(1, 2, 3)', mode='eval'), indent=4))\n" -"Expression(\n" -" body=Tuple(\n" -" elts=[\n" -" Constant(value=1),\n" -" Constant(value=2),\n" -" Constant(value=3)],\n" -" ctx=Load()))" -msgstr "" - -#: ../../library/ast.rst:358 -msgid "A set. ``elts`` holds a list of nodes representing the set's elements." -msgstr "" - -#: ../../library/ast.rst:360 -msgid "" -">>> print(ast.dump(ast.parse('{1, 2, 3}', mode='eval'), indent=4))\n" -"Expression(\n" -" body=Set(\n" -" elts=[\n" -" Constant(value=1),\n" -" Constant(value=2),\n" -" Constant(value=3)]))" -msgstr "" - -#: ../../library/ast.rst:373 -msgid "" -"A dictionary. ``keys`` and ``values`` hold lists of nodes representing the " -"keys and the values respectively, in matching order (what would be returned " -"when calling :code:`dictionary.keys()` and :code:`dictionary.values()`)." -msgstr "" - -#: ../../library/ast.rst:377 -msgid "" -"When doing dictionary unpacking using dictionary literals the expression to " -"be expanded goes in the ``values`` list, with a ``None`` at the " -"corresponding position in ``keys``." -msgstr "" - -#: ../../library/ast.rst:381 -msgid "" -">>> print(ast.dump(ast.parse('{\"a\":1, **d}', mode='eval'), indent=4))\n" -"Expression(\n" -" body=Dict(\n" -" keys=[\n" -" Constant(value='a'),\n" -" None],\n" -" values=[\n" -" Constant(value=1),\n" -" Name(id='d', ctx=Load())]))" -msgstr "" - -#: ../../library/ast.rst:395 -msgid "Variables" -msgstr "" - -#: ../../library/ast.rst:399 -msgid "" -"A variable name. ``id`` holds the name as a string, and ``ctx`` is one of " -"the following types." -msgstr "" - -#: ../../library/ast.rst:407 -msgid "" -"Variable references can be used to load the value of a variable, to assign a" -" new value to it, or to delete it. Variable references are given a context " -"to distinguish these cases." -msgstr "" - -#: ../../library/ast.rst:411 -msgid "" -">>> print(ast.dump(ast.parse('a'), indent=4))\n" -"Module(\n" -" body=[\n" -" Expr(\n" -" value=Name(id='a', ctx=Load()))])\n" -"\n" -">>> print(ast.dump(ast.parse('a = 1'), indent=4))\n" -"Module(\n" -" body=[\n" -" Assign(\n" -" targets=[\n" -" Name(id='a', ctx=Store())],\n" -" value=Constant(value=1))])\n" -"\n" -">>> print(ast.dump(ast.parse('del a'), indent=4))\n" -"Module(\n" -" body=[\n" -" Delete(\n" -" targets=[\n" -" Name(id='a', ctx=Del())])])" -msgstr "" - -#: ../../library/ast.rst:437 -msgid "" -"A ``*var`` variable reference. ``value`` holds the variable, typically a " -":class:`Name` node. This type must be used when building a :class:`Call` " -"node with ``*args``." -msgstr "" - -#: ../../library/ast.rst:441 -msgid "" -">>> print(ast.dump(ast.parse('a, *b = it'), indent=4))\n" -"Module(\n" -" body=[\n" -" Assign(\n" -" targets=[\n" -" Tuple(\n" -" elts=[\n" -" Name(id='a', ctx=Store()),\n" -" Starred(\n" -" value=Name(id='b', ctx=Store()),\n" -" ctx=Store())],\n" -" ctx=Store())],\n" -" value=Name(id='it', ctx=Load()))])" -msgstr "" - -#: ../../library/ast.rst:461 -msgid "Expressions" -msgstr "" - -#: ../../library/ast.rst:465 -msgid "" -"When an expression, such as a function call, appears as a statement by " -"itself with its return value not used or stored, it is wrapped in this " -"container. ``value`` holds one of the other nodes in this section, a " -":class:`Constant`, a :class:`Name`, a :class:`Lambda`, a :class:`Yield` or " -":class:`YieldFrom` node." -msgstr "" - -#: ../../library/ast.rst:470 -msgid "" -">>> print(ast.dump(ast.parse('-a'), indent=4))\n" -"Module(\n" -" body=[\n" -" Expr(\n" -" value=UnaryOp(\n" -" op=USub(),\n" -" operand=Name(id='a', ctx=Load())))])" -msgstr "" - -#: ../../library/ast.rst:483 -msgid "" -"A unary operation. ``op`` is the operator, and ``operand`` any expression " -"node." -msgstr "" - -#: ../../library/ast.rst:492 -msgid "" -"Unary operator tokens. :class:`Not` is the ``not`` keyword, :class:`Invert` " -"is the ``~`` operator." -msgstr "" - -#: ../../library/ast.rst:495 -msgid "" -">>> print(ast.dump(ast.parse('not x', mode='eval'), indent=4))\n" -"Expression(\n" -" body=UnaryOp(\n" -" op=Not(),\n" -" operand=Name(id='x', ctx=Load())))" -msgstr "" - -#: ../../library/ast.rst:506 -msgid "" -"A binary operation (like addition or division). ``op`` is the operator, and " -"``left`` and ``right`` are any expression nodes." -msgstr "" - -#: ../../library/ast.rst:509 -msgid "" -">>> print(ast.dump(ast.parse('x + y', mode='eval'), indent=4))\n" -"Expression(\n" -" body=BinOp(\n" -" left=Name(id='x', ctx=Load()),\n" -" op=Add(),\n" -" right=Name(id='y', ctx=Load())))" -msgstr "" - -#: ../../library/ast.rst:533 -msgid "Binary operator tokens." -msgstr "" - -#: ../../library/ast.rst:538 -msgid "" -"A boolean operation, 'or' or 'and'. ``op`` is :class:`Or` or :class:`And`. " -"``values`` are the values involved. Consecutive operations with the same " -"operator, such as ``a or b or c``, are collapsed into one node with several " -"values." -msgstr "" - -#: ../../library/ast.rst:543 -msgid "This doesn't include ``not``, which is a :class:`UnaryOp`." -msgstr "" - -#: ../../library/ast.rst:545 -msgid "" -">>> print(ast.dump(ast.parse('x or y', mode='eval'), indent=4))\n" -"Expression(\n" -" body=BoolOp(\n" -" op=Or(),\n" -" values=[\n" -" Name(id='x', ctx=Load()),\n" -" Name(id='y', ctx=Load())]))" -msgstr "" - -#: ../../library/ast.rst:559 -msgid "Boolean operator tokens." -msgstr "" - -#: ../../library/ast.rst:564 -msgid "" -"A comparison of two or more values. ``left`` is the first value in the " -"comparison, ``ops`` the list of operators, and ``comparators`` the list of " -"values after the first element in the comparison." -msgstr "" - -#: ../../library/ast.rst:568 -msgid "" -">>> print(ast.dump(ast.parse('1 <= a < 10', mode='eval'), indent=4))\n" -"Expression(\n" -" body=Compare(\n" -" left=Constant(value=1),\n" -" ops=[\n" -" LtE(),\n" -" Lt()],\n" -" comparators=[\n" -" Name(id='a', ctx=Load()),\n" -" Constant(value=10)]))" -msgstr "" - -#: ../../library/ast.rst:593 -msgid "Comparison operator tokens." -msgstr "" - -#: ../../library/ast.rst:598 -msgid "" -"A function call. ``func`` is the function, which will often be a " -":class:`Name` or :class:`Attribute` object. Of the arguments:" -msgstr "" - -#: ../../library/ast.rst:601 -msgid "``args`` holds a list of the arguments passed by position." -msgstr "" - -#: ../../library/ast.rst:602 -msgid "" -"``keywords`` holds a list of :class:`.keyword` objects representing " -"arguments passed by keyword." -msgstr "" - -#: ../../library/ast.rst:605 -msgid "" -"The ``args`` and ``keywords`` arguments are optional and default to empty " -"lists." -msgstr "" - -#: ../../library/ast.rst:607 -msgid "" -">>> print(ast.dump(ast.parse('func(a, b=c, *d, **e)', mode='eval'), indent=4))\n" -"Expression(\n" -" body=Call(\n" -" func=Name(id='func', ctx=Load()),\n" -" args=[\n" -" Name(id='a', ctx=Load()),\n" -" Starred(\n" -" value=Name(id='d', ctx=Load()),\n" -" ctx=Load())],\n" -" keywords=[\n" -" keyword(\n" -" arg='b',\n" -" value=Name(id='c', ctx=Load())),\n" -" keyword(\n" -" value=Name(id='e', ctx=Load()))]))" -msgstr "" - -#: ../../library/ast.rst:628 -msgid "" -"A keyword argument to a function call or class definition. ``arg`` is a raw " -"string of the parameter name, ``value`` is a node to pass in." -msgstr "" - -#: ../../library/ast.rst:634 -msgid "" -"An expression such as ``a if b else c``. Each field holds a single node, so " -"in the following example, all three are :class:`Name` nodes." -msgstr "" - -#: ../../library/ast.rst:637 -msgid "" -">>> print(ast.dump(ast.parse('a if b else c', mode='eval'), indent=4))\n" -"Expression(\n" -" body=IfExp(\n" -" test=Name(id='b', ctx=Load()),\n" -" body=Name(id='a', ctx=Load()),\n" -" orelse=Name(id='c', ctx=Load())))" -msgstr "" - -#: ../../library/ast.rst:649 -msgid "" -"Attribute access, e.g. ``d.keys``. ``value`` is a node, typically a " -":class:`Name`. ``attr`` is a bare string giving the name of the attribute, " -"and ``ctx`` is :class:`Load`, :class:`Store` or :class:`Del` according to " -"how the attribute is acted on." -msgstr "" - -#: ../../library/ast.rst:654 -msgid "" -">>> print(ast.dump(ast.parse('snake.colour', mode='eval'), indent=4))\n" -"Expression(\n" -" body=Attribute(\n" -" value=Name(id='snake', ctx=Load()),\n" -" attr='colour',\n" -" ctx=Load()))" -msgstr "" - -#: ../../library/ast.rst:666 -msgid "" -"A named expression. This AST node is produced by the assignment expressions " -"operator (also known as the walrus operator). As opposed to the " -":class:`Assign` node in which the first argument can be multiple nodes, in " -"this case both ``target`` and ``value`` must be single nodes." -msgstr "" - -#: ../../library/ast.rst:671 -msgid "" -">>> print(ast.dump(ast.parse('(x := 4)', mode='eval'), indent=4))\n" -"Expression(\n" -" body=NamedExpr(\n" -" target=Name(id='x', ctx=Store()),\n" -" value=Constant(value=4)))" -msgstr "" - -#: ../../library/ast.rst:682 -msgid "Subscripting" -msgstr "" - -#: ../../library/ast.rst:686 -msgid "" -"A subscript, such as ``l[1]``. ``value`` is the subscripted object (usually " -"sequence or mapping). ``slice`` is an index, slice or key. It can be a " -":class:`Tuple` and contain a :class:`Slice`. ``ctx`` is :class:`Load`, " -":class:`Store` or :class:`Del` according to the action performed with the " -"subscript." -msgstr "" - -#: ../../library/ast.rst:692 -msgid "" -">>> print(ast.dump(ast.parse('l[1:2, 3]', mode='eval'), indent=4))\n" -"Expression(\n" -" body=Subscript(\n" -" value=Name(id='l', ctx=Load()),\n" -" slice=Tuple(\n" -" elts=[\n" -" Slice(\n" -" lower=Constant(value=1),\n" -" upper=Constant(value=2)),\n" -" Constant(value=3)],\n" -" ctx=Load()),\n" -" ctx=Load()))" -msgstr "" - -#: ../../library/ast.rst:710 -msgid "" -"Regular slicing (on the form ``lower:upper`` or ``lower:upper:step``). Can " -"occur only inside the *slice* field of :class:`Subscript`, either directly " -"or as an element of :class:`Tuple`." -msgstr "" - -#: ../../library/ast.rst:714 -msgid "" -">>> print(ast.dump(ast.parse('l[1:2]', mode='eval'), indent=4))\n" -"Expression(\n" -" body=Subscript(\n" -" value=Name(id='l', ctx=Load()),\n" -" slice=Slice(\n" -" lower=Constant(value=1),\n" -" upper=Constant(value=2)),\n" -" ctx=Load()))" -msgstr "" - -#: ../../library/ast.rst:727 -msgid "Comprehensions" -msgstr "" - -#: ../../library/ast.rst:734 -msgid "" -"List and set comprehensions, generator expressions, and dictionary " -"comprehensions. ``elt`` (or ``key`` and ``value``) is a single node " -"representing the part that will be evaluated for each item." -msgstr "" - -#: ../../library/ast.rst:738 -msgid "``generators`` is a list of :class:`comprehension` nodes." -msgstr "" - -#: ../../library/ast.rst:740 -msgid "" -">>> print(ast.dump(\n" -"... ast.parse('[x for x in numbers]', mode='eval'),\n" -"... indent=4,\n" -"... ))\n" -"Expression(\n" -" body=ListComp(\n" -" elt=Name(id='x', ctx=Load()),\n" -" generators=[\n" -" comprehension(\n" -" target=Name(id='x', ctx=Store()),\n" -" iter=Name(id='numbers', ctx=Load()),\n" -" is_async=0)]))\n" -">>> print(ast.dump(\n" -"... ast.parse('{x: x**2 for x in numbers}', mode='eval'),\n" -"... indent=4,\n" -"... ))\n" -"Expression(\n" -" body=DictComp(\n" -" key=Name(id='x', ctx=Load()),\n" -" value=BinOp(\n" -" left=Name(id='x', ctx=Load()),\n" -" op=Pow(),\n" -" right=Constant(value=2)),\n" -" generators=[\n" -" comprehension(\n" -" target=Name(id='x', ctx=Store()),\n" -" iter=Name(id='numbers', ctx=Load()),\n" -" is_async=0)]))\n" -">>> print(ast.dump(\n" -"... ast.parse('{x for x in numbers}', mode='eval'),\n" -"... indent=4,\n" -"... ))\n" -"Expression(\n" -" body=SetComp(\n" -" elt=Name(id='x', ctx=Load()),\n" -" generators=[\n" -" comprehension(\n" -" target=Name(id='x', ctx=Store()),\n" -" iter=Name(id='numbers', ctx=Load()),\n" -" is_async=0)]))" -msgstr "" - -#: ../../library/ast.rst:786 -msgid "" -"One ``for`` clause in a comprehension. ``target`` is the reference to use " -"for each element - typically a :class:`Name` or :class:`Tuple` node. " -"``iter`` is the object to iterate over. ``ifs`` is a list of test " -"expressions: each ``for`` clause can have multiple ``ifs``." -msgstr "" - -#: ../../library/ast.rst:791 -msgid "" -"``is_async`` indicates a comprehension is asynchronous (using an ``async " -"for`` instead of ``for``). The value is an integer (0 or 1)." -msgstr "" - -#: ../../library/ast.rst:794 -msgid "" -">>> print(ast.dump(ast.parse('[ord(c) for line in file for c in line]', mode='eval'),\n" -"... indent=4)) # Multiple comprehensions in one.\n" -"Expression(\n" -" body=ListComp(\n" -" elt=Call(\n" -" func=Name(id='ord', ctx=Load()),\n" -" args=[\n" -" Name(id='c', ctx=Load())]),\n" -" generators=[\n" -" comprehension(\n" -" target=Name(id='line', ctx=Store()),\n" -" iter=Name(id='file', ctx=Load()),\n" -" is_async=0),\n" -" comprehension(\n" -" target=Name(id='c', ctx=Store()),\n" -" iter=Name(id='line', ctx=Load()),\n" -" is_async=0)]))\n" -"\n" -">>> print(ast.dump(ast.parse('(n**2 for n in it if n>5 if n<10)', mode='eval'),\n" -"... indent=4)) # generator comprehension\n" -"Expression(\n" -" body=GeneratorExp(\n" -" elt=BinOp(\n" -" left=Name(id='n', ctx=Load()),\n" -" op=Pow(),\n" -" right=Constant(value=2)),\n" -" generators=[\n" -" comprehension(\n" -" target=Name(id='n', ctx=Store()),\n" -" iter=Name(id='it', ctx=Load()),\n" -" ifs=[\n" -" Compare(\n" -" left=Name(id='n', ctx=Load()),\n" -" ops=[\n" -" Gt()],\n" -" comparators=[\n" -" Constant(value=5)]),\n" -" Compare(\n" -" left=Name(id='n', ctx=Load()),\n" -" ops=[\n" -" Lt()],\n" -" comparators=[\n" -" Constant(value=10)])],\n" -" is_async=0)]))\n" -"\n" -">>> print(ast.dump(ast.parse('[i async for i in soc]', mode='eval'),\n" -"... indent=4)) # Async comprehension\n" -"Expression(\n" -" body=ListComp(\n" -" elt=Name(id='i', ctx=Load()),\n" -" generators=[\n" -" comprehension(\n" -" target=Name(id='i', ctx=Store()),\n" -" iter=Name(id='soc', ctx=Load()),\n" -" is_async=1)]))" -msgstr "" - -#: ../../library/ast.rst:856 -msgid "Statements" -msgstr "" - -#: ../../library/ast.rst:860 -msgid "" -"An assignment. ``targets`` is a list of nodes, and ``value`` is a single " -"node." -msgstr "" - -#: ../../library/ast.rst:862 -msgid "" -"Multiple nodes in ``targets`` represents assigning the same value to each. " -"Unpacking is represented by putting a :class:`Tuple` or :class:`List` within" -" ``targets``." -msgstr "" - -#: ../../library/ast.rst:868 ../../library/ast.rst:1163 -#: ../../library/ast.rst:1357 ../../library/ast.rst:1923 -msgid "" -"``type_comment`` is an optional string with the type annotation as a " -"comment." -msgstr "" - -#: ../../library/ast.rst:870 -msgid "" -">>> print(ast.dump(ast.parse('a = b = 1'), indent=4)) # Multiple assignment\n" -"Module(\n" -" body=[\n" -" Assign(\n" -" targets=[\n" -" Name(id='a', ctx=Store()),\n" -" Name(id='b', ctx=Store())],\n" -" value=Constant(value=1))])\n" -"\n" -">>> print(ast.dump(ast.parse('a,b = c'), indent=4)) # Unpacking\n" -"Module(\n" -" body=[\n" -" Assign(\n" -" targets=[\n" -" Tuple(\n" -" elts=[\n" -" Name(id='a', ctx=Store()),\n" -" Name(id='b', ctx=Store())],\n" -" ctx=Store())],\n" -" value=Name(id='c', ctx=Load()))])" -msgstr "" - -#: ../../library/ast.rst:896 -msgid "" -"An assignment with a type annotation. ``target`` is a single node and can be" -" a :class:`Name`, an :class:`Attribute` or a :class:`Subscript`. " -"``annotation`` is the annotation, such as a :class:`Constant` or " -":class:`Name` node. ``value`` is a single optional node." -msgstr "" - -#: ../../library/ast.rst:901 -msgid "" -"``simple`` is always either 0 (indicating a \"complex\" target) or 1 " -"(indicating a \"simple\" target). A \"simple\" target consists solely of a " -":class:`Name` node that does not appear between parentheses; all other " -"targets are considered complex. Only simple targets appear in the " -":attr:`~object.__annotations__` dictionary of modules and classes." -msgstr "" - -#: ../../library/ast.rst:907 -msgid "" -">>> print(ast.dump(ast.parse('c: int'), indent=4))\n" -"Module(\n" -" body=[\n" -" AnnAssign(\n" -" target=Name(id='c', ctx=Store()),\n" -" annotation=Name(id='int', ctx=Load()),\n" -" simple=1)])\n" -"\n" -">>> print(ast.dump(ast.parse('(a): int = 1'), indent=4)) # Annotation with parenthesis\n" -"Module(\n" -" body=[\n" -" AnnAssign(\n" -" target=Name(id='a', ctx=Store()),\n" -" annotation=Name(id='int', ctx=Load()),\n" -" value=Constant(value=1),\n" -" simple=0)])\n" -"\n" -">>> print(ast.dump(ast.parse('a.b: int'), indent=4)) # Attribute annotation\n" -"Module(\n" -" body=[\n" -" AnnAssign(\n" -" target=Attribute(\n" -" value=Name(id='a', ctx=Load()),\n" -" attr='b',\n" -" ctx=Store()),\n" -" annotation=Name(id='int', ctx=Load()),\n" -" simple=0)])\n" -"\n" -">>> print(ast.dump(ast.parse('a[1]: int'), indent=4)) # Subscript annotation\n" -"Module(\n" -" body=[\n" -" AnnAssign(\n" -" target=Subscript(\n" -" value=Name(id='a', ctx=Load()),\n" -" slice=Constant(value=1),\n" -" ctx=Store()),\n" -" annotation=Name(id='int', ctx=Load()),\n" -" simple=0)])" -msgstr "" - -#: ../../library/ast.rst:951 -msgid "" -"Augmented assignment, such as ``a += 1``. In the following example, " -"``target`` is a :class:`Name` node for ``x`` (with the :class:`Store` " -"context), ``op`` is :class:`Add`, and ``value`` is a :class:`Constant` with " -"value for 1." -msgstr "" - -#: ../../library/ast.rst:956 -msgid "" -"The ``target`` attribute cannot be of class :class:`Tuple` or :class:`List`," -" unlike the targets of :class:`Assign`." -msgstr "" - -#: ../../library/ast.rst:959 -msgid "" -">>> print(ast.dump(ast.parse('x += 2'), indent=4))\n" -"Module(\n" -" body=[\n" -" AugAssign(\n" -" target=Name(id='x', ctx=Store()),\n" -" op=Add(),\n" -" value=Constant(value=2))])" -msgstr "" - -#: ../../library/ast.rst:972 -msgid "" -"A ``raise`` statement. ``exc`` is the exception object to be raised, " -"normally a :class:`Call` or :class:`Name`, or ``None`` for a standalone " -"``raise``. ``cause`` is the optional part for ``y`` in ``raise x from y``." -msgstr "" - -#: ../../library/ast.rst:976 -msgid "" -">>> print(ast.dump(ast.parse('raise x from y'), indent=4))\n" -"Module(\n" -" body=[\n" -" Raise(\n" -" exc=Name(id='x', ctx=Load()),\n" -" cause=Name(id='y', ctx=Load()))])" -msgstr "" - -#: ../../library/ast.rst:988 -msgid "" -"An assertion. ``test`` holds the condition, such as a :class:`Compare` node." -" ``msg`` holds the failure message." -msgstr "" - -#: ../../library/ast.rst:991 -msgid "" -">>> print(ast.dump(ast.parse('assert x,y'), indent=4))\n" -"Module(\n" -" body=[\n" -" Assert(\n" -" test=Name(id='x', ctx=Load()),\n" -" msg=Name(id='y', ctx=Load()))])" -msgstr "" - -#: ../../library/ast.rst:1003 -msgid "" -"Represents a ``del`` statement. ``targets`` is a list of nodes, such as " -":class:`Name`, :class:`Attribute` or :class:`Subscript` nodes." -msgstr "" - -#: ../../library/ast.rst:1006 -msgid "" -">>> print(ast.dump(ast.parse('del x,y,z'), indent=4))\n" -"Module(\n" -" body=[\n" -" Delete(\n" -" targets=[\n" -" Name(id='x', ctx=Del()),\n" -" Name(id='y', ctx=Del()),\n" -" Name(id='z', ctx=Del())])])" -msgstr "" - -#: ../../library/ast.rst:1020 -msgid "A ``pass`` statement." -msgstr "" - -#: ../../library/ast.rst:1022 -msgid "" -">>> print(ast.dump(ast.parse('pass'), indent=4))\n" -"Module(\n" -" body=[\n" -" Pass()])" -msgstr "" - -#: ../../library/ast.rst:1032 -msgid "" -"A :ref:`type alias ` created through the :keyword:`type` " -"statement. ``name`` is the name of the alias, ``type_params`` is a list of " -":ref:`type parameters `, and ``value`` is the value of the " -"type alias." -msgstr "" - -#: ../../library/ast.rst:1037 -msgid "" -">>> print(ast.dump(ast.parse('type Alias = int'), indent=4))\n" -"Module(\n" -" body=[\n" -" TypeAlias(\n" -" name=Name(id='Alias', ctx=Store()),\n" -" value=Name(id='int', ctx=Load()))])" -msgstr "" - -#: ../../library/ast.rst:1048 -msgid "" -"Other statements which are only applicable inside functions or loops are " -"described in other sections." -msgstr "" - -#: ../../library/ast.rst:1052 -msgid "Imports" -msgstr "" - -#: ../../library/ast.rst:1056 -msgid "An import statement. ``names`` is a list of :class:`alias` nodes." -msgstr "" - -#: ../../library/ast.rst:1058 -msgid "" -">>> print(ast.dump(ast.parse('import x,y,z'), indent=4))\n" -"Module(\n" -" body=[\n" -" Import(\n" -" names=[\n" -" alias(name='x'),\n" -" alias(name='y'),\n" -" alias(name='z')])])" -msgstr "" - -#: ../../library/ast.rst:1072 -msgid "" -"Represents ``from x import y``. ``module`` is a raw string of the 'from' " -"name, without any leading dots, or ``None`` for statements such as ``from . " -"import foo``. ``level`` is an integer holding the level of the relative " -"import (0 means absolute import)." -msgstr "" - -#: ../../library/ast.rst:1077 -msgid "" -">>> print(ast.dump(ast.parse('from y import x,y,z'), indent=4))\n" -"Module(\n" -" body=[\n" -" ImportFrom(\n" -" module='y',\n" -" names=[\n" -" alias(name='x'),\n" -" alias(name='y'),\n" -" alias(name='z')],\n" -" level=0)])" -msgstr "" - -#: ../../library/ast.rst:1093 -msgid "" -"Both parameters are raw strings of the names. ``asname`` can be ``None`` if " -"the regular name is to be used." -msgstr "" - -#: ../../library/ast.rst:1096 -msgid "" -">>> print(ast.dump(ast.parse('from ..foo.bar import a as b, c'), indent=4))\n" -"Module(\n" -" body=[\n" -" ImportFrom(\n" -" module='foo.bar',\n" -" names=[\n" -" alias(name='a', asname='b'),\n" -" alias(name='c')],\n" -" level=2)])" -msgstr "" - -#: ../../library/ast.rst:1109 -msgid "Control flow" -msgstr "" - -#: ../../library/ast.rst:1112 -msgid "" -"Optional clauses such as ``else`` are stored as an empty list if they're not" -" present." -msgstr "" - -#: ../../library/ast.rst:1117 -msgid "" -"An ``if`` statement. ``test`` holds a single node, such as a " -":class:`Compare` node. ``body`` and ``orelse`` each hold a list of nodes." -msgstr "" - -#: ../../library/ast.rst:1120 -msgid "" -"``elif`` clauses don't have a special representation in the AST, but rather " -"appear as extra :class:`If` nodes within the ``orelse`` section of the " -"previous one." -msgstr "" - -#: ../../library/ast.rst:1124 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... if x:\n" -"... ...\n" -"... elif y:\n" -"... ...\n" -"... else:\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" If(\n" -" test=Name(id='x', ctx=Load()),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))],\n" -" orelse=[\n" -" If(\n" -" test=Name(id='y', ctx=Load()),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))],\n" -" orelse=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])])" -msgstr "" - -#: ../../library/ast.rst:1154 -msgid "" -"A ``for`` loop. ``target`` holds the variable(s) the loop assigns to, as a " -"single :class:`Name`, :class:`Tuple`, :class:`List`, :class:`Attribute` or " -":class:`Subscript` node. ``iter`` holds the item to be looped over, again as" -" a single node. ``body`` and ``orelse`` contain lists of nodes to execute. " -"Those in ``orelse`` are executed if the loop finishes normally, rather than " -"via a ``break`` statement." -msgstr "" - -#: ../../library/ast.rst:1165 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... for x in y:\n" -"... ...\n" -"... else:\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" For(\n" -" target=Name(id='x', ctx=Store()),\n" -" iter=Name(id='y', ctx=Load()),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))],\n" -" orelse=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])" -msgstr "" - -#: ../../library/ast.rst:1188 -msgid "" -"A ``while`` loop. ``test`` holds the condition, such as a :class:`Compare` " -"node." -msgstr "" - -#: ../../library/ast.rst:1191 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... while x:\n" -"... ...\n" -"... else:\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" While(\n" -" test=Name(id='x', ctx=Load()),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))],\n" -" orelse=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])" -msgstr "" - -#: ../../library/ast.rst:1214 -msgid "The ``break`` and ``continue`` statements." -msgstr "" - -#: ../../library/ast.rst:1216 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\\\n" -"... for a in b:\n" -"... if a > 5:\n" -"... break\n" -"... else:\n" -"... continue\n" -"...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" For(\n" -" target=Name(id='a', ctx=Store()),\n" -" iter=Name(id='b', ctx=Load()),\n" -" body=[\n" -" If(\n" -" test=Compare(\n" -" left=Name(id='a', ctx=Load()),\n" -" ops=[\n" -" Gt()],\n" -" comparators=[\n" -" Constant(value=5)]),\n" -" body=[\n" -" Break()],\n" -" orelse=[\n" -" Continue()])])])" -msgstr "" - -#: ../../library/ast.rst:1247 -msgid "" -"``try`` blocks. All attributes are list of nodes to execute, except for " -"``handlers``, which is a list of :class:`ExceptHandler` nodes." -msgstr "" - -#: ../../library/ast.rst:1250 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... try:\n" -"... ...\n" -"... except Exception:\n" -"... ...\n" -"... except OtherException as e:\n" -"... ...\n" -"... else:\n" -"... ...\n" -"... finally:\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" Try(\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))],\n" -" handlers=[\n" -" ExceptHandler(\n" -" type=Name(id='Exception', ctx=Load()),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))]),\n" -" ExceptHandler(\n" -" type=Name(id='OtherException', ctx=Load()),\n" -" name='e',\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])],\n" -" orelse=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))],\n" -" finalbody=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])" -msgstr "" - -#: ../../library/ast.rst:1292 -msgid "" -"``try`` blocks which are followed by ``except*`` clauses. The attributes are" -" the same as for :class:`Try` but the :class:`ExceptHandler` nodes in " -"``handlers`` are interpreted as ``except*`` blocks rather then ``except``." -msgstr "" - -#: ../../library/ast.rst:1296 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... try:\n" -"... ...\n" -"... except* Exception:\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" TryStar(\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))],\n" -" handlers=[\n" -" ExceptHandler(\n" -" type=Name(id='Exception', ctx=Load()),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])])" -msgstr "" - -#: ../../library/ast.rst:1321 -msgid "" -"A single ``except`` clause. ``type`` is the exception type it will match, " -"typically a :class:`Name` node (or ``None`` for a catch-all ``except:`` " -"clause). ``name`` is a raw string for the name to hold the exception, or " -"``None`` if the clause doesn't have ``as foo``. ``body`` is a list of nodes." -msgstr "" - -#: ../../library/ast.rst:1326 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\\\n" -"... try:\n" -"... a + 1\n" -"... except TypeError:\n" -"... pass\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" Try(\n" -" body=[\n" -" Expr(\n" -" value=BinOp(\n" -" left=Name(id='a', ctx=Load()),\n" -" op=Add(),\n" -" right=Constant(value=1)))],\n" -" handlers=[\n" -" ExceptHandler(\n" -" type=Name(id='TypeError', ctx=Load()),\n" -" body=[\n" -" Pass()])])])" -msgstr "" - -#: ../../library/ast.rst:1352 -msgid "" -"A ``with`` block. ``items`` is a list of :class:`withitem` nodes " -"representing the context managers, and ``body`` is the indented block inside" -" the context." -msgstr "" - -#: ../../library/ast.rst:1362 -msgid "" -"A single context manager in a ``with`` block. ``context_expr`` is the " -"context manager, often a :class:`Call` node. ``optional_vars`` is a " -":class:`Name`, :class:`Tuple` or :class:`List` for the ``as foo`` part, or " -"``None`` if that isn't used." -msgstr "" - -#: ../../library/ast.rst:1367 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\\\n" -"... with a as b, c as d:\n" -"... something(b, d)\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" With(\n" -" items=[\n" -" withitem(\n" -" context_expr=Name(id='a', ctx=Load()),\n" -" optional_vars=Name(id='b', ctx=Store())),\n" -" withitem(\n" -" context_expr=Name(id='c', ctx=Load()),\n" -" optional_vars=Name(id='d', ctx=Store()))],\n" -" body=[\n" -" Expr(\n" -" value=Call(\n" -" func=Name(id='something', ctx=Load()),\n" -" args=[\n" -" Name(id='b', ctx=Load()),\n" -" Name(id='d', ctx=Load())]))])])" -msgstr "" - -#: ../../library/ast.rst:1393 -msgid "Pattern matching" -msgstr "" - -#: ../../library/ast.rst:1398 -msgid "" -"A ``match`` statement. ``subject`` holds the subject of the match (the " -"object that is being matched against the cases) and ``cases`` contains an " -"iterable of :class:`match_case` nodes with the different cases." -msgstr "" - -#: ../../library/ast.rst:1406 -msgid "" -"A single case pattern in a ``match`` statement. ``pattern`` contains the " -"match pattern that the subject will be matched against. Note that the " -":class:`AST` nodes produced for patterns differ from those produced for " -"expressions, even when they share the same syntax." -msgstr "" - -#: ../../library/ast.rst:1411 -msgid "" -"The ``guard`` attribute contains an expression that will be evaluated if the" -" pattern matches the subject." -msgstr "" - -#: ../../library/ast.rst:1414 -msgid "" -"``body`` contains a list of nodes to execute if the pattern matches and the " -"result of evaluating the guard expression is true." -msgstr "" - -#: ../../library/ast.rst:1417 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... match x:\n" -"... case [x] if x>0:\n" -"... ...\n" -"... case tuple():\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" Match(\n" -" subject=Name(id='x', ctx=Load()),\n" -" cases=[\n" -" match_case(\n" -" pattern=MatchSequence(\n" -" patterns=[\n" -" MatchAs(name='x')]),\n" -" guard=Compare(\n" -" left=Name(id='x', ctx=Load()),\n" -" ops=[\n" -" Gt()],\n" -" comparators=[\n" -" Constant(value=0)]),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))]),\n" -" match_case(\n" -" pattern=MatchClass(\n" -" cls=Name(id='tuple', ctx=Load())),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])])" -msgstr "" - -#: ../../library/ast.rst:1455 -msgid "" -"A match literal or value pattern that compares by equality. ``value`` is an " -"expression node. Permitted value nodes are restricted as described in the " -"match statement documentation. This pattern succeeds if the match subject is" -" equal to the evaluated value." -msgstr "" - -#: ../../library/ast.rst:1460 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... match x:\n" -"... case \"Relevant\":\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" Match(\n" -" subject=Name(id='x', ctx=Load()),\n" -" cases=[\n" -" match_case(\n" -" pattern=MatchValue(\n" -" value=Constant(value='Relevant')),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])])" -msgstr "" - -#: ../../library/ast.rst:1483 -msgid "" -"A match literal pattern that compares by identity. ``value`` is the " -"singleton to be compared against: ``None``, ``True``, or ``False``. This " -"pattern succeeds if the match subject is the given constant." -msgstr "" - -#: ../../library/ast.rst:1487 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... match x:\n" -"... case None:\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" Match(\n" -" subject=Name(id='x', ctx=Load()),\n" -" cases=[\n" -" match_case(\n" -" pattern=MatchSingleton(value=None),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])])" -msgstr "" - -#: ../../library/ast.rst:1509 -msgid "" -"A match sequence pattern. ``patterns`` contains the patterns to be matched " -"against the subject elements if the subject is a sequence. Matches a " -"variable length sequence if one of the subpatterns is a ``MatchStar`` node, " -"otherwise matches a fixed length sequence." -msgstr "" - -#: ../../library/ast.rst:1514 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... match x:\n" -"... case [1, 2]:\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" Match(\n" -" subject=Name(id='x', ctx=Load()),\n" -" cases=[\n" -" match_case(\n" -" pattern=MatchSequence(\n" -" patterns=[\n" -" MatchValue(\n" -" value=Constant(value=1)),\n" -" MatchValue(\n" -" value=Constant(value=2))]),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])])" -msgstr "" - -#: ../../library/ast.rst:1541 -msgid "" -"Matches the rest of the sequence in a variable length match sequence " -"pattern. If ``name`` is not ``None``, a list containing the remaining " -"sequence elements is bound to that name if the overall sequence pattern is " -"successful." -msgstr "" - -#: ../../library/ast.rst:1545 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... match x:\n" -"... case [1, 2, *rest]:\n" -"... ...\n" -"... case [*_]:\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" Match(\n" -" subject=Name(id='x', ctx=Load()),\n" -" cases=[\n" -" match_case(\n" -" pattern=MatchSequence(\n" -" patterns=[\n" -" MatchValue(\n" -" value=Constant(value=1)),\n" -" MatchValue(\n" -" value=Constant(value=2)),\n" -" MatchStar(name='rest')]),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))]),\n" -" match_case(\n" -" pattern=MatchSequence(\n" -" patterns=[\n" -" MatchStar()]),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])])" -msgstr "" - -#: ../../library/ast.rst:1582 -msgid "" -"A match mapping pattern. ``keys`` is a sequence of expression nodes. " -"``patterns`` is a corresponding sequence of pattern nodes. ``rest`` is an " -"optional name that can be specified to capture the remaining mapping " -"elements. Permitted key expressions are restricted as described in the match" -" statement documentation." -msgstr "" - -#: ../../library/ast.rst:1588 -msgid "" -"This pattern succeeds if the subject is a mapping, all evaluated key " -"expressions are present in the mapping, and the value corresponding to each " -"key matches the corresponding subpattern. If ``rest`` is not ``None``, a " -"dict containing the remaining mapping elements is bound to that name if the " -"overall mapping pattern is successful." -msgstr "" - -#: ../../library/ast.rst:1594 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... match x:\n" -"... case {1: _, 2: _}:\n" -"... ...\n" -"... case {**rest}:\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" Match(\n" -" subject=Name(id='x', ctx=Load()),\n" -" cases=[\n" -" match_case(\n" -" pattern=MatchMapping(\n" -" keys=[\n" -" Constant(value=1),\n" -" Constant(value=2)],\n" -" patterns=[\n" -" MatchAs(),\n" -" MatchAs()]),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))]),\n" -" match_case(\n" -" pattern=MatchMapping(rest='rest'),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])])" -msgstr "" - -#: ../../library/ast.rst:1629 -msgid "" -"A match class pattern. ``cls`` is an expression giving the nominal class to " -"be matched. ``patterns`` is a sequence of pattern nodes to be matched " -"against the class defined sequence of pattern matching attributes. " -"``kwd_attrs`` is a sequence of additional attributes to be matched " -"(specified as keyword arguments in the class pattern), ``kwd_patterns`` are " -"the corresponding patterns (specified as keyword values in the class " -"pattern)." -msgstr "" - -#: ../../library/ast.rst:1636 -msgid "" -"This pattern succeeds if the subject is an instance of the nominated class, " -"all positional patterns match the corresponding class-defined attributes, " -"and any specified keyword attributes match their corresponding pattern." -msgstr "" - -#: ../../library/ast.rst:1640 -msgid "" -"Note: classes may define a property that returns self in order to match a " -"pattern node against the instance being matched. Several builtin types are " -"also matched that way, as described in the match statement documentation." -msgstr "" - -#: ../../library/ast.rst:1644 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... match x:\n" -"... case Point2D(0, 0):\n" -"... ...\n" -"... case Point3D(x=0, y=0, z=0):\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" Match(\n" -" subject=Name(id='x', ctx=Load()),\n" -" cases=[\n" -" match_case(\n" -" pattern=MatchClass(\n" -" cls=Name(id='Point2D', ctx=Load()),\n" -" patterns=[\n" -" MatchValue(\n" -" value=Constant(value=0)),\n" -" MatchValue(\n" -" value=Constant(value=0))]),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))]),\n" -" match_case(\n" -" pattern=MatchClass(\n" -" cls=Name(id='Point3D', ctx=Load()),\n" -" kwd_attrs=[\n" -" 'x',\n" -" 'y',\n" -" 'z'],\n" -" kwd_patterns=[\n" -" MatchValue(\n" -" value=Constant(value=0)),\n" -" MatchValue(\n" -" value=Constant(value=0)),\n" -" MatchValue(\n" -" value=Constant(value=0))]),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])])" -msgstr "" - -#: ../../library/ast.rst:1691 -msgid "" -"A match \"as-pattern\", capture pattern or wildcard pattern. ``pattern`` " -"contains the match pattern that the subject will be matched against. If the " -"pattern is ``None``, the node represents a capture pattern (i.e a bare name)" -" and will always succeed." -msgstr "" - -#: ../../library/ast.rst:1696 -msgid "" -"The ``name`` attribute contains the name that will be bound if the pattern " -"is successful. If ``name`` is ``None``, ``pattern`` must also be ``None`` " -"and the node represents the wildcard pattern." -msgstr "" - -#: ../../library/ast.rst:1700 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... match x:\n" -"... case [x] as y:\n" -"... ...\n" -"... case _:\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" Match(\n" -" subject=Name(id='x', ctx=Load()),\n" -" cases=[\n" -" match_case(\n" -" pattern=MatchAs(\n" -" pattern=MatchSequence(\n" -" patterns=[\n" -" MatchAs(name='x')]),\n" -" name='y'),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))]),\n" -" match_case(\n" -" pattern=MatchAs(),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])])" -msgstr "" - -#: ../../library/ast.rst:1733 -msgid "" -"A match \"or-pattern\". An or-pattern matches each of its subpatterns in " -"turn to the subject, until one succeeds. The or-pattern is then deemed to " -"succeed. If none of the subpatterns succeed the or-pattern fails. The " -"``patterns`` attribute contains a list of match pattern nodes that will be " -"matched against the subject." -msgstr "" - -#: ../../library/ast.rst:1739 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\n" -"... match x:\n" -"... case [x] | (y):\n" -"... ...\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" Match(\n" -" subject=Name(id='x', ctx=Load()),\n" -" cases=[\n" -" match_case(\n" -" pattern=MatchOr(\n" -" patterns=[\n" -" MatchSequence(\n" -" patterns=[\n" -" MatchAs(name='x')]),\n" -" MatchAs(name='y')]),\n" -" body=[\n" -" Expr(\n" -" value=Constant(value=Ellipsis))])])])" -msgstr "" - -#: ../../library/ast.rst:1766 -msgid "Type annotations" -msgstr "" - -#: ../../library/ast.rst:1770 -msgid "" -"A ``# type: ignore`` comment located at *lineno*. *tag* is the optional tag " -"specified by the form ``# type: ignore ``." -msgstr "" - -#: ../../library/ast.rst:1773 -msgid "" -">>> print(ast.dump(ast.parse('x = 1 # type: ignore', type_comments=True), indent=4))\n" -"Module(\n" -" body=[\n" -" Assign(\n" -" targets=[\n" -" Name(id='x', ctx=Store())],\n" -" value=Constant(value=1))],\n" -" type_ignores=[\n" -" TypeIgnore(lineno=1, tag='')])\n" -">>> print(ast.dump(ast.parse('x: bool = 1 # type: ignore[assignment]', type_comments=True), indent=4))\n" -"Module(\n" -" body=[\n" -" AnnAssign(\n" -" target=Name(id='x', ctx=Store()),\n" -" annotation=Name(id='bool', ctx=Load()),\n" -" value=Constant(value=1),\n" -" simple=1)],\n" -" type_ignores=[\n" -" TypeIgnore(lineno=1, tag='[assignment]')])" -msgstr "" - -#: ../../library/ast.rst:1796 -msgid "" -":class:`!TypeIgnore` nodes are not generated when the *type_comments* " -"parameter is set to ``False`` (default). See :func:`ast.parse` for more " -"details." -msgstr "" - -#: ../../library/ast.rst:1804 -msgid "Type parameters" -msgstr "" - -#: ../../library/ast.rst:1806 -msgid "" -":ref:`Type parameters ` can exist on classes, functions, and " -"type aliases." -msgstr "" - -#: ../../library/ast.rst:1811 -msgid "" -"A :class:`typing.TypeVar`. ``name`` is the name of the type variable. " -"``bound`` is the bound or constraints, if any. If ``bound`` is a " -":class:`Tuple`, it represents constraints; otherwise it represents the " -"bound. ``default_value`` is the default value; if the :class:`!TypeVar` has " -"no default, this attribute will be set to ``None``." -msgstr "" - -#: ../../library/ast.rst:1817 -msgid "" -">>> print(ast.dump(ast.parse(\"type Alias[T: int = bool] = list[T]\"), indent=4))\n" -"Module(\n" -" body=[\n" -" TypeAlias(\n" -" name=Name(id='Alias', ctx=Store()),\n" -" type_params=[\n" -" TypeVar(\n" -" name='T',\n" -" bound=Name(id='int', ctx=Load()),\n" -" default_value=Name(id='bool', ctx=Load()))],\n" -" value=Subscript(\n" -" value=Name(id='list', ctx=Load()),\n" -" slice=Name(id='T', ctx=Load()),\n" -" ctx=Load()))])" -msgstr "" - -#: ../../library/ast.rst:1836 ../../library/ast.rst:1871 -#: ../../library/ast.rst:1903 -msgid "Added the *default_value* parameter." -msgstr "" - -#: ../../library/ast.rst:1841 -msgid "" -"A :class:`typing.ParamSpec`. ``name`` is the name of the parameter " -"specification. ``default_value`` is the default value; if the " -":class:`!ParamSpec` has no default, this attribute will be set to ``None``." -msgstr "" - -#: ../../library/ast.rst:1845 -msgid "" -">>> print(ast.dump(ast.parse(\"type Alias[**P = [int, str]] = Callable[P, int]\"), indent=4))\n" -"Module(\n" -" body=[\n" -" TypeAlias(\n" -" name=Name(id='Alias', ctx=Store()),\n" -" type_params=[\n" -" ParamSpec(\n" -" name='P',\n" -" default_value=List(\n" -" elts=[\n" -" Name(id='int', ctx=Load()),\n" -" Name(id='str', ctx=Load())],\n" -" ctx=Load()))],\n" -" value=Subscript(\n" -" value=Name(id='Callable', ctx=Load()),\n" -" slice=Tuple(\n" -" elts=[\n" -" Name(id='P', ctx=Load()),\n" -" Name(id='int', ctx=Load())],\n" -" ctx=Load()),\n" -" ctx=Load()))])" -msgstr "" - -#: ../../library/ast.rst:1876 -msgid "" -"A :class:`typing.TypeVarTuple`. ``name`` is the name of the type variable " -"tuple. ``default_value`` is the default value; if the :class:`!TypeVarTuple`" -" has no default, this attribute will be set to ``None``." -msgstr "" - -#: ../../library/ast.rst:1880 -msgid "" -">>> print(ast.dump(ast.parse(\"type Alias[*Ts = ()] = tuple[*Ts]\"), indent=4))\n" -"Module(\n" -" body=[\n" -" TypeAlias(\n" -" name=Name(id='Alias', ctx=Store()),\n" -" type_params=[\n" -" TypeVarTuple(\n" -" name='Ts',\n" -" default_value=Tuple(ctx=Load()))],\n" -" value=Subscript(\n" -" value=Name(id='tuple', ctx=Load()),\n" -" slice=Tuple(\n" -" elts=[\n" -" Starred(\n" -" value=Name(id='Ts', ctx=Load()),\n" -" ctx=Load())],\n" -" ctx=Load()),\n" -" ctx=Load()))])" -msgstr "" - -#: ../../library/ast.rst:1907 -msgid "Function and class definitions" -msgstr "" - -#: ../../library/ast.rst:1911 -msgid "A function definition." -msgstr "" - -#: ../../library/ast.rst:1913 -msgid "``name`` is a raw string of the function name." -msgstr "" - -#: ../../library/ast.rst:1914 -msgid "``args`` is an :class:`arguments` node." -msgstr "" - -#: ../../library/ast.rst:1915 -msgid "``body`` is the list of nodes inside the function." -msgstr "" - -#: ../../library/ast.rst:1916 -msgid "" -"``decorator_list`` is the list of decorators to be applied, stored outermost" -" first (i.e. the first in the list will be applied last)." -msgstr "" - -#: ../../library/ast.rst:1918 -msgid "``returns`` is the return annotation." -msgstr "" - -#: ../../library/ast.rst:1919 ../../library/ast.rst:2082 -msgid "``type_params`` is a list of :ref:`type parameters `." -msgstr "" - -#: ../../library/ast.rst:1925 ../../library/ast.rst:2109 -#: ../../library/ast.rst:2120 -msgid "Added ``type_params``." -msgstr "" - -#: ../../library/ast.rst:1931 -msgid "" -"``lambda`` is a minimal function definition that can be used inside an " -"expression. Unlike :class:`FunctionDef`, ``body`` holds a single node." -msgstr "" - -#: ../../library/ast.rst:1934 -msgid "" -">>> print(ast.dump(ast.parse('lambda x,y: ...'), indent=4))\n" -"Module(\n" -" body=[\n" -" Expr(\n" -" value=Lambda(\n" -" args=arguments(\n" -" args=[\n" -" arg(arg='x'),\n" -" arg(arg='y')]),\n" -" body=Constant(value=Ellipsis)))])" -msgstr "" - -#: ../../library/ast.rst:1950 -msgid "The arguments for a function." -msgstr "" - -#: ../../library/ast.rst:1952 -msgid "" -"``posonlyargs``, ``args`` and ``kwonlyargs`` are lists of :class:`arg` " -"nodes." -msgstr "" - -#: ../../library/ast.rst:1953 -msgid "" -"``vararg`` and ``kwarg`` are single :class:`arg` nodes, referring to the " -"``*args, **kwargs`` parameters." -msgstr "" - -#: ../../library/ast.rst:1955 -msgid "" -"``kw_defaults`` is a list of default values for keyword-only arguments. If " -"one is ``None``, the corresponding argument is required." -msgstr "" - -#: ../../library/ast.rst:1957 -msgid "" -"``defaults`` is a list of default values for arguments that can be passed " -"positionally. If there are fewer defaults, they correspond to the last n " -"arguments." -msgstr "" - -#: ../../library/ast.rst:1964 -msgid "" -"A single argument in a list. ``arg`` is a raw string of the argument name; " -"``annotation`` is its annotation, such as a :class:`Name` node." -msgstr "" - -#: ../../library/ast.rst:1969 -msgid "" -"``type_comment`` is an optional string with the type annotation as a comment" -msgstr "" - -#: ../../library/ast.rst:1971 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\\\n" -"... @decorator1\n" -"... @decorator2\n" -"... def f(a: 'annotation', b=1, c=2, *d, e, f=3, **g) -> 'return annotation':\n" -"... pass\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" FunctionDef(\n" -" name='f',\n" -" args=arguments(\n" -" args=[\n" -" arg(\n" -" arg='a',\n" -" annotation=Constant(value='annotation')),\n" -" arg(arg='b'),\n" -" arg(arg='c')],\n" -" vararg=arg(arg='d'),\n" -" kwonlyargs=[\n" -" arg(arg='e'),\n" -" arg(arg='f')],\n" -" kw_defaults=[\n" -" None,\n" -" Constant(value=3)],\n" -" kwarg=arg(arg='g'),\n" -" defaults=[\n" -" Constant(value=1),\n" -" Constant(value=2)]),\n" -" body=[\n" -" Pass()],\n" -" decorator_list=[\n" -" Name(id='decorator1', ctx=Load()),\n" -" Name(id='decorator2', ctx=Load())],\n" -" returns=Constant(value='return annotation'))])" -msgstr "" - -#: ../../library/ast.rst:2011 -msgid "A ``return`` statement." -msgstr "" - -#: ../../library/ast.rst:2013 -msgid "" -">>> print(ast.dump(ast.parse('return 4'), indent=4))\n" -"Module(\n" -" body=[\n" -" Return(\n" -" value=Constant(value=4))])" -msgstr "" - -#: ../../library/ast.rst:2025 -msgid "" -"A ``yield`` or ``yield from`` expression. Because these are expressions, " -"they must be wrapped in an :class:`Expr` node if the value sent back is not " -"used." -msgstr "" - -#: ../../library/ast.rst:2028 -msgid "" -">>> print(ast.dump(ast.parse('yield x'), indent=4))\n" -"Module(\n" -" body=[\n" -" Expr(\n" -" value=Yield(\n" -" value=Name(id='x', ctx=Load())))])\n" -"\n" -">>> print(ast.dump(ast.parse('yield from x'), indent=4))\n" -"Module(\n" -" body=[\n" -" Expr(\n" -" value=YieldFrom(\n" -" value=Name(id='x', ctx=Load())))])" -msgstr "" - -#: ../../library/ast.rst:2048 -msgid "" -"``global`` and ``nonlocal`` statements. ``names`` is a list of raw strings." -msgstr "" - -#: ../../library/ast.rst:2050 -msgid "" -">>> print(ast.dump(ast.parse('global x,y,z'), indent=4))\n" -"Module(\n" -" body=[\n" -" Global(\n" -" names=[\n" -" 'x',\n" -" 'y',\n" -" 'z'])])\n" -"\n" -">>> print(ast.dump(ast.parse('nonlocal x,y,z'), indent=4))\n" -"Module(\n" -" body=[\n" -" Nonlocal(\n" -" names=[\n" -" 'x',\n" -" 'y',\n" -" 'z'])])" -msgstr "" - -#: ../../library/ast.rst:2073 -msgid "A class definition." -msgstr "" - -#: ../../library/ast.rst:2075 -msgid "``name`` is a raw string for the class name" -msgstr "" - -#: ../../library/ast.rst:2076 -msgid "``bases`` is a list of nodes for explicitly specified base classes." -msgstr "" - -#: ../../library/ast.rst:2077 -msgid "" -"``keywords`` is a list of :class:`.keyword` nodes, principally for " -"'metaclass'. Other keywords will be passed to the metaclass, as per " -":pep:`3115`." -msgstr "" - -#: ../../library/ast.rst:2079 -msgid "" -"``body`` is a list of nodes representing the code within the class " -"definition." -msgstr "" - -#: ../../library/ast.rst:2081 -msgid "``decorator_list`` is a list of nodes, as in :class:`FunctionDef`." -msgstr "" - -#: ../../library/ast.rst:2084 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\\\n" -"... @decorator1\n" -"... @decorator2\n" -"... class Foo(base1, base2, metaclass=meta):\n" -"... pass\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" ClassDef(\n" -" name='Foo',\n" -" bases=[\n" -" Name(id='base1', ctx=Load()),\n" -" Name(id='base2', ctx=Load())],\n" -" keywords=[\n" -" keyword(\n" -" arg='metaclass',\n" -" value=Name(id='meta', ctx=Load()))],\n" -" body=[\n" -" Pass()],\n" -" decorator_list=[\n" -" Name(id='decorator1', ctx=Load()),\n" -" Name(id='decorator2', ctx=Load())])])" -msgstr "" - -#: ../../library/ast.rst:2113 -msgid "Async and await" -msgstr "" - -#: ../../library/ast.rst:2117 -msgid "" -"An ``async def`` function definition. Has the same fields as " -":class:`FunctionDef`." -msgstr "" - -#: ../../library/ast.rst:2126 -msgid "" -"An ``await`` expression. ``value`` is what it waits for. Only valid in the " -"body of an :class:`AsyncFunctionDef`." -msgstr "" - -#: ../../library/ast.rst:2129 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\\\n" -"... async def f():\n" -"... await other_func()\n" -"... \"\"\"), indent=4))\n" -"Module(\n" -" body=[\n" -" AsyncFunctionDef(\n" -" name='f',\n" -" args=arguments(),\n" -" body=[\n" -" Expr(\n" -" value=Await(\n" -" value=Call(\n" -" func=Name(id='other_func', ctx=Load()))))])])" -msgstr "" - -#: ../../library/ast.rst:2150 -msgid "" -"``async for`` loops and ``async with`` context managers. They have the same " -"fields as :class:`For` and :class:`With`, respectively. Only valid in the " -"body of an :class:`AsyncFunctionDef`." -msgstr "" - -#: ../../library/ast.rst:2155 -msgid "" -"When a string is parsed by :func:`ast.parse`, operator nodes (subclasses of " -":class:`ast.operator`, :class:`ast.unaryop`, :class:`ast.cmpop`, " -":class:`ast.boolop` and :class:`ast.expr_context`) on the returned tree will" -" be singletons. Changes to one will be reflected in all other occurrences of" -" the same value (for example, :class:`ast.Add`)." -msgstr "" - -#: ../../library/ast.rst:2163 -msgid ":mod:`ast` helpers" -msgstr "" - -#: ../../library/ast.rst:2165 -msgid "" -"Apart from the node classes, the :mod:`ast` module defines these utility " -"functions and classes for traversing abstract syntax trees:" -msgstr "" - -#: ../../library/ast.rst:2170 -msgid "" -"Parse the source into an AST node. Equivalent to ``compile(source, " -"filename, mode, flags=FLAGS_VALUE, optimize=optimize)``, where " -"``FLAGS_VALUE`` is ``ast.PyCF_ONLY_AST`` if ``optimize <= 0`` and " -"``ast.PyCF_OPTIMIZED_AST`` otherwise." -msgstr "" - -#: ../../library/ast.rst:2175 -msgid "" -"If ``type_comments=True`` is given, the parser is modified to check and " -"return type comments as specified by :pep:`484` and :pep:`526`. This is " -"equivalent to adding :data:`ast.PyCF_TYPE_COMMENTS` to the flags passed to " -":func:`compile`. This will report syntax errors for misplaced type " -"comments. Without this flag, type comments will be ignored, and the " -"``type_comment`` field on selected AST nodes will always be ``None``. In " -"addition, the locations of ``# type: ignore`` comments will be returned as " -"the ``type_ignores`` attribute of :class:`Module` (otherwise it is always an" -" empty list)." -msgstr "" - -#: ../../library/ast.rst:2185 -msgid "" -"In addition, if ``mode`` is ``'func_type'``, the input syntax is modified to" -" correspond to :pep:`484` \"signature type comments\", e.g. ``(str, int) -> " -"List[str]``." -msgstr "" - -#: ../../library/ast.rst:2189 -msgid "" -"Setting ``feature_version`` to a tuple ``(major, minor)`` will result in a " -"\"best-effort\" attempt to parse using that Python version's grammar. For " -"example, setting ``feature_version=(3, 9)`` will attempt to disallow parsing" -" of :keyword:`match` statements. Currently ``major`` must equal to ``3``. " -"The lowest supported version is ``(3, 7)`` (and this may increase in future " -"Python versions); the highest is ``sys.version_info[0:2]``. \"Best-effort\" " -"attempt means there is no guarantee that the parse (or success of the parse)" -" is the same as when run on the Python version corresponding to " -"``feature_version``." -msgstr "" - -#: ../../library/ast.rst:2199 -msgid "" -"If source contains a null character (``\\0``), :exc:`ValueError` is raised." -msgstr "" - -#: ../../library/ast.rst:2202 -msgid "" -"Note that successfully parsing source code into an AST object doesn't " -"guarantee that the source code provided is valid Python code that can be " -"executed as the compilation step can raise further :exc:`SyntaxError` " -"exceptions. For instance, the source ``return 42`` generates a valid AST " -"node for a return statement, but it cannot be compiled alone (it needs to be" -" inside a function node)." -msgstr "" - -#: ../../library/ast.rst:2209 -msgid "" -"In particular, :func:`ast.parse` won't do any scoping checks, which the " -"compilation step does." -msgstr "" - -#: ../../library/ast.rst:2213 -msgid "" -"It is possible to crash the Python interpreter with a sufficiently " -"large/complex string due to stack depth limitations in Python's AST " -"compiler." -msgstr "" - -#: ../../library/ast.rst:2217 -msgid "Added ``type_comments``, ``mode='func_type'`` and ``feature_version``." -msgstr "" - -#: ../../library/ast.rst:2220 -msgid "" -"The minimum supported version for ``feature_version`` is now ``(3, 7)``. The" -" ``optimize`` argument was added." -msgstr "" - -#: ../../library/ast.rst:2227 -msgid "" -"Unparse an :class:`ast.AST` object and generate a string with code that " -"would produce an equivalent :class:`ast.AST` object if parsed back with " -":func:`ast.parse`." -msgstr "" - -#: ../../library/ast.rst:2232 -msgid "" -"The produced code string will not necessarily be equal to the original code " -"that generated the :class:`ast.AST` object (without any compiler " -"optimizations, such as constant tuples/frozensets)." -msgstr "" - -#: ../../library/ast.rst:2237 -msgid "" -"Trying to unparse a highly complex expression would result with " -":exc:`RecursionError`." -msgstr "" - -#: ../../library/ast.rst:2245 -msgid "" -"Evaluate an expression node or a string containing only a Python literal or " -"container display. The string or node provided may only consist of the " -"following Python literal structures: strings, bytes, numbers, tuples, lists," -" dicts, sets, booleans, ``None`` and ``Ellipsis``." -msgstr "" - -#: ../../library/ast.rst:2250 -msgid "" -"This can be used for evaluating strings containing Python values without the" -" need to parse the values oneself. It is not capable of evaluating " -"arbitrarily complex expressions, for example involving operators or " -"indexing." -msgstr "" - -#: ../../library/ast.rst:2255 -msgid "" -"This function had been documented as \"safe\" in the past without defining " -"what that meant. That was misleading. This is specifically designed not to " -"execute Python code, unlike the more general :func:`eval`. There is no " -"namespace, no name lookups, or ability to call out. But it is not free from " -"attack: A relatively small input can lead to memory exhaustion or to C stack" -" exhaustion, crashing the process. There is also the possibility for " -"excessive CPU consumption denial of service on some inputs. Calling it on " -"untrusted data is thus not recommended." -msgstr "" - -#: ../../library/ast.rst:2265 -msgid "" -"It is possible to crash the Python interpreter due to stack depth " -"limitations in Python's AST compiler." -msgstr "" - -#: ../../library/ast.rst:2268 -msgid "" -"It can raise :exc:`ValueError`, :exc:`TypeError`, :exc:`SyntaxError`, " -":exc:`MemoryError` and :exc:`RecursionError` depending on the malformed " -"input." -msgstr "" - -#: ../../library/ast.rst:2272 -msgid "Now allows bytes and set literals." -msgstr "" - -#: ../../library/ast.rst:2275 -msgid "Now supports creating empty sets with ``'set()'``." -msgstr "" - -#: ../../library/ast.rst:2278 -msgid "For string inputs, leading spaces and tabs are now stripped." -msgstr "" - -#: ../../library/ast.rst:2284 -msgid "" -"Return the docstring of the given *node* (which must be a " -":class:`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef`, or " -":class:`Module` node), or ``None`` if it has no docstring. If *clean* is " -"true, clean up the docstring's indentation with :func:`inspect.cleandoc`." -msgstr "" - -#: ../../library/ast.rst:2290 -msgid ":class:`AsyncFunctionDef` is now supported." -msgstr "" - -#: ../../library/ast.rst:2296 -msgid "" -"Get source code segment of the *source* that generated *node*. If some " -"location information (:attr:`~ast.AST.lineno`, :attr:`~ast.AST.end_lineno`, " -":attr:`~ast.AST.col_offset`, or :attr:`~ast.AST.end_col_offset`) is missing," -" return ``None``." -msgstr "" - -#: ../../library/ast.rst:2300 -msgid "" -"If *padded* is ``True``, the first line of a multi-line statement will be " -"padded with spaces to match its original position." -msgstr "" - -#: ../../library/ast.rst:2308 -msgid "" -"When you compile a node tree with :func:`compile`, the compiler expects " -":attr:`~ast.AST.lineno` and :attr:`~ast.AST.col_offset` attributes for every" -" node that supports them. This is rather tedious to fill in for generated " -"nodes, so this helper adds these attributes recursively where not already " -"set, by setting them to the values of the parent node. It works recursively" -" starting at *node*." -msgstr "" - -#: ../../library/ast.rst:2317 -msgid "" -"Increment the line number and end line number of each node in the tree " -"starting at *node* by *n*. This is useful to \"move code\" to a different " -"location in a file." -msgstr "" - -#: ../../library/ast.rst:2324 -msgid "" -"Copy source location (:attr:`~ast.AST.lineno`, :attr:`~ast.AST.col_offset`, " -":attr:`~ast.AST.end_lineno`, and :attr:`~ast.AST.end_col_offset`) from " -"*old_node* to *new_node* if possible, and return *new_node*." -msgstr "" - -#: ../../library/ast.rst:2331 -msgid "" -"Yield a tuple of ``(fieldname, value)`` for each field in ``node._fields`` " -"that is present on *node*." -msgstr "" - -#: ../../library/ast.rst:2337 -msgid "" -"Yield all direct child nodes of *node*, that is, all fields that are nodes " -"and all items of fields that are lists of nodes." -msgstr "" - -#: ../../library/ast.rst:2343 -msgid "" -"Recursively yield all descendant nodes in the tree starting at *node* " -"(including *node* itself), in no specified order. This is useful if you " -"only want to modify nodes in place and don't care about the context." -msgstr "" - -#: ../../library/ast.rst:2350 -msgid "" -"A node visitor base class that walks the abstract syntax tree and calls a " -"visitor function for every node found. This function may return a value " -"which is forwarded by the :meth:`visit` method." -msgstr "" - -#: ../../library/ast.rst:2354 -msgid "" -"This class is meant to be subclassed, with the subclass adding visitor " -"methods." -msgstr "" - -#: ../../library/ast.rst:2359 -msgid "" -"Visit a node. The default implementation calls the method called " -":samp:`self.visit_{classname}` where *classname* is the name of the node " -"class, or :meth:`generic_visit` if that method doesn't exist." -msgstr "" - -#: ../../library/ast.rst:2365 -msgid "This visitor calls :meth:`visit` on all children of the node." -msgstr "" - -#: ../../library/ast.rst:2367 -msgid "" -"Note that child nodes of nodes that have a custom visitor method won't be " -"visited unless the visitor calls :meth:`generic_visit` or visits them " -"itself." -msgstr "" - -#: ../../library/ast.rst:2373 -msgid "Handles all constant nodes." -msgstr "" - -#: ../../library/ast.rst:2375 -msgid "" -"Don't use the :class:`NodeVisitor` if you want to apply changes to nodes " -"during traversal. For this a special visitor exists " -"(:class:`NodeTransformer`) that allows modifications." -msgstr "" - -#: ../../library/ast.rst:2381 -msgid "" -"Methods :meth:`!visit_Num`, :meth:`!visit_Str`, :meth:`!visit_Bytes`, " -":meth:`!visit_NameConstant` and :meth:`!visit_Ellipsis` are deprecated now " -"and will not be called in future Python versions. Add the " -":meth:`visit_Constant` method to handle all constant nodes." -msgstr "" - -#: ../../library/ast.rst:2389 -msgid "" -"A :class:`NodeVisitor` subclass that walks the abstract syntax tree and " -"allows modification of nodes." -msgstr "" - -#: ../../library/ast.rst:2392 -msgid "" -"The :class:`NodeTransformer` will walk the AST and use the return value of " -"the visitor methods to replace or remove the old node. If the return value " -"of the visitor method is ``None``, the node will be removed from its " -"location, otherwise it is replaced with the return value. The return value " -"may be the original node in which case no replacement takes place." -msgstr "" - -#: ../../library/ast.rst:2398 -msgid "" -"Here is an example transformer that rewrites all occurrences of name lookups" -" (``foo``) to ``data['foo']``::" -msgstr "" - -#: ../../library/ast.rst:2401 -msgid "" -"class RewriteName(NodeTransformer):\n" -"\n" -" def visit_Name(self, node):\n" -" return Subscript(\n" -" value=Name(id='data', ctx=Load()),\n" -" slice=Constant(value=node.id),\n" -" ctx=node.ctx\n" -" )" -msgstr "" - -#: ../../library/ast.rst:2410 -msgid "" -"Keep in mind that if the node you're operating on has child nodes you must " -"either transform the child nodes yourself or call the " -":meth:`~ast.NodeVisitor.generic_visit` method for the node first." -msgstr "" - -#: ../../library/ast.rst:2414 -msgid "" -"For nodes that were part of a collection of statements (that applies to all " -"statement nodes), the visitor may also return a list of nodes rather than " -"just a single node." -msgstr "" - -#: ../../library/ast.rst:2418 -msgid "" -"If :class:`NodeTransformer` introduces new nodes (that weren't part of " -"original tree) without giving them location information (such as " -":attr:`~ast.AST.lineno`), :func:`fix_missing_locations` should be called " -"with the new sub-tree to recalculate the location information::" -msgstr "" - -#: ../../library/ast.rst:2423 -msgid "" -"tree = ast.parse('foo', mode='eval')\n" -"new_tree = fix_missing_locations(RewriteName().visit(tree))" -msgstr "" - -#: ../../library/ast.rst:2426 -msgid "Usually you use the transformer like this::" -msgstr "" - -#: ../../library/ast.rst:2428 -msgid "node = YourTransformer().visit(node)" -msgstr "" - -#: ../../library/ast.rst:2433 -msgid "" -"Return a formatted dump of the tree in *node*. This is mainly useful for " -"debugging purposes. If *annotate_fields* is true (by default), the returned" -" string will show the names and the values for fields. If *annotate_fields* " -"is false, the result string will be more compact by omitting unambiguous " -"field names. Attributes such as line numbers and column offsets are not " -"dumped by default. If this is wanted, *include_attributes* can be set to " -"true." -msgstr "" - -#: ../../library/ast.rst:2441 -msgid "" -"If *indent* is a non-negative integer or string, then the tree will be " -"pretty-printed with that indent level. An indent level of 0, negative, or " -"``\"\"`` will only insert newlines. ``None`` (the default) selects the " -"single line representation. Using a positive integer indent indents that " -"many spaces per level. If *indent* is a string (such as ``\"\\t\"``), that " -"string is used to indent each level." -msgstr "" - -#: ../../library/ast.rst:2448 -msgid "" -"If *show_empty* is ``False`` (the default), empty lists and fields that are " -"``None`` will be omitted from the output." -msgstr "" - -#: ../../library/ast.rst:2451 -msgid "Added the *indent* option." -msgstr "" - -#: ../../library/ast.rst:2454 -msgid "Added the *show_empty* option." -msgstr "" - -#: ../../library/ast.rst:2457 -msgid "" -">>> print(ast.dump(ast.parse(\"\"\"\\\n" -"... async def f():\n" -"... await other_func()\n" -"... \"\"\"), indent=4, show_empty=True))\n" -"Module(\n" -" body=[\n" -" AsyncFunctionDef(\n" -" name='f',\n" -" args=arguments(\n" -" posonlyargs=[],\n" -" args=[],\n" -" kwonlyargs=[],\n" -" kw_defaults=[],\n" -" defaults=[]),\n" -" body=[\n" -" Expr(\n" -" value=Await(\n" -" value=Call(\n" -" func=Name(id='other_func', ctx=Load()),\n" -" args=[],\n" -" keywords=[])))],\n" -" decorator_list=[],\n" -" type_params=[])],\n" -" type_ignores=[])" -msgstr "" - -#: ../../library/ast.rst:2488 -msgid "Compiler flags" -msgstr "" - -#: ../../library/ast.rst:2490 -msgid "" -"The following flags may be passed to :func:`compile` in order to change " -"effects on the compilation of a program:" -msgstr "" - -#: ../../library/ast.rst:2495 -msgid "" -"Enables support for top-level ``await``, ``async for``, ``async with`` and " -"async comprehensions." -msgstr "" - -#: ../../library/ast.rst:2502 -msgid "" -"Generates and returns an abstract syntax tree instead of returning a " -"compiled code object." -msgstr "" - -#: ../../library/ast.rst:2507 -msgid "" -"The returned AST is optimized according to the *optimize* argument in " -":func:`compile` or :func:`ast.parse`." -msgstr "" - -#: ../../library/ast.rst:2514 -msgid "" -"Enables support for :pep:`484` and :pep:`526` style type comments (``# type:" -" ``, ``# type: ignore ``)." -msgstr "" - -#: ../../library/ast.rst:2522 -msgid "Recursively compares two ASTs." -msgstr "" - -#: ../../library/ast.rst:2524 -msgid "" -"*compare_attributes* affects whether AST attributes are considered in the " -"comparison. If *compare_attributes* is ``False`` (default), then attributes " -"are ignored. Otherwise they must all be equal. This option is useful to " -"check whether the ASTs are structurally equal but differ in whitespace or " -"similar details. Attributes include line numbers and column offsets." -msgstr "" - -#: ../../library/ast.rst:2537 -msgid "Command-line usage" -msgstr "" - -#: ../../library/ast.rst:2541 -msgid "" -"The :mod:`ast` module can be executed as a script from the command line. It " -"is as simple as:" -msgstr "" - -#: ../../library/ast.rst:2544 -msgid "python -m ast [-m ] [-a] [infile]" -msgstr "" - -#: ../../library/ast.rst:2548 -msgid "The following options are accepted:" -msgstr "" - -#: ../../library/ast.rst:2554 -msgid "Show the help message and exit." -msgstr "" - -#: ../../library/ast.rst:2559 -msgid "" -"Specify what kind of code must be compiled, like the *mode* argument in " -":func:`parse`." -msgstr "" - -#: ../../library/ast.rst:2564 -msgid "Don't parse type comments." -msgstr "" - -#: ../../library/ast.rst:2568 -msgid "Include attributes such as line numbers and column offsets." -msgstr "" - -#: ../../library/ast.rst:2573 -msgid "Indentation of nodes in AST (number of spaces)." -msgstr "" - -#: ../../library/ast.rst:2577 -msgid "" -"Python version in the format 3.x (for example, 3.10). Defaults to the " -"current version of the interpreter." -msgstr "" - -#: ../../library/ast.rst:2585 -msgid "Optimization level for parser. Defaults to no optimization." -msgstr "" - -#: ../../library/ast.rst:2591 -msgid "" -"Show empty lists and fields that are ``None``. Defaults to not showing empty" -" objects." -msgstr "" - -#: ../../library/ast.rst:2597 -msgid "" -"If :file:`infile` is specified its contents are parsed to AST and dumped to " -"stdout. Otherwise, the content is read from stdin." -msgstr "" - -#: ../../library/ast.rst:2603 -msgid "" -"`Green Tree Snakes `_, an external " -"documentation resource, has good details on working with Python ASTs." -msgstr "" - -#: ../../library/ast.rst:2606 -msgid "" -"`ASTTokens `_ " -"annotates Python ASTs with the positions of tokens and text in the source " -"code that generated them. This is helpful for tools that make source code " -"transformations." -msgstr "" - -#: ../../library/ast.rst:2611 -msgid "" -"`leoAst.py `_ unifies the token-based and parse-tree-based views of python programs " -"by inserting two-way links between tokens and ast nodes." -msgstr "" - -#: ../../library/ast.rst:2616 -msgid "" -"`LibCST `_ parses code as a Concrete Syntax " -"Tree that looks like an ast tree and keeps all formatting details. It's " -"useful for building automated refactoring (codemod) applications and " -"linters." -msgstr "" - -#: ../../library/ast.rst:2621 -msgid "" -"`Parso `_ is a Python parser that supports " -"error recovery and round-trip parsing for different Python versions (in " -"multiple Python versions). Parso is also able to list multiple syntax errors" -" in your Python file." -msgstr "" - -#: ../../library/ast.rst:59 -msgid "? (question mark)" -msgstr "" - -#: ../../library/ast.rst:59 ../../library/ast.rst:60 -msgid "in AST grammar" -msgstr "" - -#: ../../library/ast.rst:60 -msgid "* (asterisk)" -msgstr "" diff --git a/python-newest.library--asynchat/id.po b/python-newest.library--asynchat/id.po deleted file mode 100644 index 6c61787..0000000 --- a/python-newest.library--asynchat/id.po +++ /dev/null @@ -1,39 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asynchat.rst:2 -msgid ":mod:`!asynchat` --- Asynchronous socket command/response handler" -msgstr "" - -#: ../../library/asynchat.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.12 ` after being deprecated " -"in Python 3.6. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/asynchat.rst:14 -msgid "Applications should use the :mod:`asyncio` module instead." -msgstr "" - -#: ../../library/asynchat.rst:16 -msgid "" -"The last version of Python that provided the :mod:`!asynchat` module was " -"`Python 3.11 `_." -msgstr "" diff --git a/python-newest.library--asyncio-api-index/id.po b/python-newest.library--asyncio-api-index/id.po deleted file mode 100644 index 7c156cc..0000000 --- a/python-newest.library--asyncio-api-index/id.po +++ /dev/null @@ -1,446 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-api-index.rst:6 -msgid "High-level API Index" -msgstr "Indeks API Tingkat-atas" - -#: ../../library/asyncio-api-index.rst:8 -msgid "This page lists all high-level async/await enabled asyncio APIs." -msgstr "" - -#: ../../library/asyncio-api-index.rst:12 -msgid "Tasks" -msgstr "" - -#: ../../library/asyncio-api-index.rst:14 -msgid "" -"Utilities to run asyncio programs, create Tasks, and await on multiple " -"things with timeouts." -msgstr "" - -#: ../../library/asyncio-api-index.rst:21 -msgid ":func:`run`" -msgstr ":func:`run`" - -#: ../../library/asyncio-api-index.rst:22 -msgid "Create event loop, run a coroutine, close the loop." -msgstr "" - -#: ../../library/asyncio-api-index.rst:24 -msgid ":class:`Runner`" -msgstr "" - -#: ../../library/asyncio-api-index.rst:25 -msgid "A context manager that simplifies multiple async function calls." -msgstr "" - -#: ../../library/asyncio-api-index.rst:27 -msgid ":class:`Task`" -msgstr ":class:`Task`" - -#: ../../library/asyncio-api-index.rst:28 -msgid "Task object." -msgstr "" - -#: ../../library/asyncio-api-index.rst:30 -msgid ":class:`TaskGroup`" -msgstr "" - -#: ../../library/asyncio-api-index.rst:31 -msgid "" -"A context manager that holds a group of tasks. Provides a convenient and " -"reliable way to wait for all tasks in the group to finish." -msgstr "" - -#: ../../library/asyncio-api-index.rst:35 -msgid ":func:`create_task`" -msgstr ":func:`create_task`" - -#: ../../library/asyncio-api-index.rst:36 -msgid "Start an asyncio Task, then returns it." -msgstr "" - -#: ../../library/asyncio-api-index.rst:38 -msgid ":func:`current_task`" -msgstr ":func:`current_task`" - -#: ../../library/asyncio-api-index.rst:39 -msgid "Return the current Task." -msgstr "" - -#: ../../library/asyncio-api-index.rst:41 -msgid ":func:`all_tasks`" -msgstr ":func:`all_tasks`" - -#: ../../library/asyncio-api-index.rst:42 -msgid "Return all tasks that are not yet finished for an event loop." -msgstr "" - -#: ../../library/asyncio-api-index.rst:44 -msgid "``await`` :func:`sleep`" -msgstr "``await`` :func:`sleep`" - -#: ../../library/asyncio-api-index.rst:45 -msgid "Sleep for a number of seconds." -msgstr "" - -#: ../../library/asyncio-api-index.rst:47 -msgid "``await`` :func:`gather`" -msgstr "``await`` :func:`gather`" - -#: ../../library/asyncio-api-index.rst:48 -msgid "Schedule and wait for things concurrently." -msgstr "" - -#: ../../library/asyncio-api-index.rst:50 -msgid "``await`` :func:`wait_for`" -msgstr "``await`` :func:`wait_for`" - -#: ../../library/asyncio-api-index.rst:51 -msgid "Run with a timeout." -msgstr "" - -#: ../../library/asyncio-api-index.rst:53 -msgid "``await`` :func:`shield`" -msgstr "``await`` :func:`shield`" - -#: ../../library/asyncio-api-index.rst:54 -msgid "Shield from cancellation." -msgstr "" - -#: ../../library/asyncio-api-index.rst:56 -msgid "``await`` :func:`wait`" -msgstr "``await`` :func:`wait`" - -#: ../../library/asyncio-api-index.rst:57 -msgid "Monitor for completion." -msgstr "" - -#: ../../library/asyncio-api-index.rst:59 -msgid ":func:`timeout`" -msgstr "" - -#: ../../library/asyncio-api-index.rst:60 -msgid "Run with a timeout. Useful in cases when ``wait_for`` is not suitable." -msgstr "" - -#: ../../library/asyncio-api-index.rst:62 -msgid ":func:`to_thread`" -msgstr "" - -#: ../../library/asyncio-api-index.rst:63 -msgid "Asynchronously run a function in a separate OS thread." -msgstr "" - -#: ../../library/asyncio-api-index.rst:65 -msgid ":func:`run_coroutine_threadsafe`" -msgstr ":func:`run_coroutine_threadsafe`" - -#: ../../library/asyncio-api-index.rst:66 -msgid "Schedule a coroutine from another OS thread." -msgstr "" - -#: ../../library/asyncio-api-index.rst:68 -msgid "``for in`` :func:`as_completed`" -msgstr "``for in`` :func:`as_completed`" - -#: ../../library/asyncio-api-index.rst:69 -msgid "Monitor for completion with a ``for`` loop." -msgstr "" - -#: ../../library/asyncio-api-index.rst:73 -#: ../../library/asyncio-api-index.rst:109 -#: ../../library/asyncio-api-index.rst:133 -#: ../../library/asyncio-api-index.rst:169 -#: ../../library/asyncio-api-index.rst:205 -#: ../../library/asyncio-api-index.rst:230 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/asyncio-api-index.rst:74 -msgid "" -":ref:`Using asyncio.gather() to run things in parallel " -"`." -msgstr "" - -#: ../../library/asyncio-api-index.rst:77 -msgid "" -":ref:`Using asyncio.wait_for() to enforce a timeout " -"`." -msgstr "" - -#: ../../library/asyncio-api-index.rst:80 -msgid ":ref:`Cancellation `." -msgstr "" - -#: ../../library/asyncio-api-index.rst:82 -msgid ":ref:`Using asyncio.sleep() `." -msgstr "" - -#: ../../library/asyncio-api-index.rst:84 -msgid "See also the main :ref:`Tasks documentation page `." -msgstr "" - -#: ../../library/asyncio-api-index.rst:88 -msgid "Queues" -msgstr "" - -#: ../../library/asyncio-api-index.rst:90 -msgid "" -"Queues should be used to distribute work amongst multiple asyncio Tasks, " -"implement connection pools, and pub/sub patterns." -msgstr "" - -#: ../../library/asyncio-api-index.rst:98 -msgid ":class:`Queue`" -msgstr ":class:`Queue`" - -#: ../../library/asyncio-api-index.rst:99 -msgid "A FIFO queue." -msgstr "" - -#: ../../library/asyncio-api-index.rst:101 -msgid ":class:`PriorityQueue`" -msgstr ":class:`PriorityQueue`" - -#: ../../library/asyncio-api-index.rst:102 -msgid "A priority queue." -msgstr "" - -#: ../../library/asyncio-api-index.rst:104 -msgid ":class:`LifoQueue`" -msgstr ":class:`LifoQueue`" - -#: ../../library/asyncio-api-index.rst:105 -msgid "A LIFO queue." -msgstr "" - -#: ../../library/asyncio-api-index.rst:110 -msgid "" -":ref:`Using asyncio.Queue to distribute workload between several Tasks " -"`." -msgstr "" - -#: ../../library/asyncio-api-index.rst:113 -msgid "See also the :ref:`Queues documentation page `." -msgstr "" - -#: ../../library/asyncio-api-index.rst:117 -msgid "Subprocesses" -msgstr "" - -#: ../../library/asyncio-api-index.rst:119 -msgid "Utilities to spawn subprocesses and run shell commands." -msgstr "" - -#: ../../library/asyncio-api-index.rst:125 -msgid "``await`` :func:`create_subprocess_exec`" -msgstr "``await`` :func:`create_subprocess_exec`" - -#: ../../library/asyncio-api-index.rst:126 -msgid "Create a subprocess." -msgstr "" - -#: ../../library/asyncio-api-index.rst:128 -msgid "``await`` :func:`create_subprocess_shell`" -msgstr "``await`` :func:`create_subprocess_shell`" - -#: ../../library/asyncio-api-index.rst:129 -msgid "Run a shell command." -msgstr "" - -#: ../../library/asyncio-api-index.rst:134 -msgid ":ref:`Executing a shell command `." -msgstr ":ref:`Executing a shell command `." - -#: ../../library/asyncio-api-index.rst:136 -msgid "" -"See also the :ref:`subprocess APIs ` documentation." -msgstr "" - -#: ../../library/asyncio-api-index.rst:141 -msgid "Streams" -msgstr "" - -#: ../../library/asyncio-api-index.rst:143 -msgid "High-level APIs to work with network IO." -msgstr "" - -#: ../../library/asyncio-api-index.rst:149 -msgid "``await`` :func:`open_connection`" -msgstr "``await`` :func:`open_connection`" - -#: ../../library/asyncio-api-index.rst:150 -msgid "Establish a TCP connection." -msgstr "" - -#: ../../library/asyncio-api-index.rst:152 -msgid "``await`` :func:`open_unix_connection`" -msgstr "``await`` :func:`open_unix_connection`" - -#: ../../library/asyncio-api-index.rst:153 -msgid "Establish a Unix socket connection." -msgstr "" - -#: ../../library/asyncio-api-index.rst:155 -msgid "``await`` :func:`start_server`" -msgstr "``await`` :func:`start_server`" - -#: ../../library/asyncio-api-index.rst:156 -msgid "Start a TCP server." -msgstr "" - -#: ../../library/asyncio-api-index.rst:158 -msgid "``await`` :func:`start_unix_server`" -msgstr "``await`` :func:`start_unix_server`" - -#: ../../library/asyncio-api-index.rst:159 -msgid "Start a Unix socket server." -msgstr "" - -#: ../../library/asyncio-api-index.rst:161 -msgid ":class:`StreamReader`" -msgstr ":class:`StreamReader`" - -#: ../../library/asyncio-api-index.rst:162 -msgid "High-level async/await object to receive network data." -msgstr "" - -#: ../../library/asyncio-api-index.rst:164 -msgid ":class:`StreamWriter`" -msgstr ":class:`StreamWriter`" - -#: ../../library/asyncio-api-index.rst:165 -msgid "High-level async/await object to send network data." -msgstr "" - -#: ../../library/asyncio-api-index.rst:170 -msgid ":ref:`Example TCP client `." -msgstr "" - -#: ../../library/asyncio-api-index.rst:172 -msgid "See also the :ref:`streams APIs ` documentation." -msgstr "" - -#: ../../library/asyncio-api-index.rst:177 -msgid "Synchronization" -msgstr "" - -#: ../../library/asyncio-api-index.rst:179 -msgid "Threading-like synchronization primitives that can be used in Tasks." -msgstr "" - -#: ../../library/asyncio-api-index.rst:185 -msgid ":class:`Lock`" -msgstr ":class:`Lock`" - -#: ../../library/asyncio-api-index.rst:186 -msgid "A mutex lock." -msgstr "" - -#: ../../library/asyncio-api-index.rst:188 -msgid ":class:`Event`" -msgstr ":class:`Event`" - -#: ../../library/asyncio-api-index.rst:189 -msgid "An event object." -msgstr "" - -#: ../../library/asyncio-api-index.rst:191 -msgid ":class:`Condition`" -msgstr ":class:`Condition`" - -#: ../../library/asyncio-api-index.rst:192 -msgid "A condition object." -msgstr "" - -#: ../../library/asyncio-api-index.rst:194 -msgid ":class:`Semaphore`" -msgstr ":class:`Semaphore`" - -#: ../../library/asyncio-api-index.rst:195 -msgid "A semaphore." -msgstr "" - -#: ../../library/asyncio-api-index.rst:197 -msgid ":class:`BoundedSemaphore`" -msgstr ":class:`BoundedSemaphore`" - -#: ../../library/asyncio-api-index.rst:198 -msgid "A bounded semaphore." -msgstr "" - -#: ../../library/asyncio-api-index.rst:200 -msgid ":class:`Barrier`" -msgstr "" - -#: ../../library/asyncio-api-index.rst:201 -msgid "A barrier object." -msgstr "" - -#: ../../library/asyncio-api-index.rst:206 -msgid ":ref:`Using asyncio.Event `." -msgstr "" - -#: ../../library/asyncio-api-index.rst:208 -msgid ":ref:`Using asyncio.Barrier `." -msgstr "" - -#: ../../library/asyncio-api-index.rst:210 -msgid "" -"See also the documentation of asyncio :ref:`synchronization primitives " -"`." -msgstr "" - -#: ../../library/asyncio-api-index.rst:215 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/asyncio-api-index.rst:222 -msgid ":exc:`asyncio.CancelledError`" -msgstr ":exc:`asyncio.CancelledError`" - -#: ../../library/asyncio-api-index.rst:223 -msgid "Raised when a Task is cancelled. See also :meth:`Task.cancel`." -msgstr "" - -#: ../../library/asyncio-api-index.rst:225 -msgid ":exc:`asyncio.BrokenBarrierError`" -msgstr "" - -#: ../../library/asyncio-api-index.rst:226 -msgid "Raised when a Barrier is broken. See also :meth:`Barrier.wait`." -msgstr "" - -#: ../../library/asyncio-api-index.rst:231 -msgid "" -":ref:`Handling CancelledError to run code on cancellation request " -"`." -msgstr "" - -#: ../../library/asyncio-api-index.rst:234 -msgid "" -"See also the full list of :ref:`asyncio-specific exceptions `." -msgstr "" diff --git a/python-newest.library--asyncio-dev/id.po b/python-newest.library--asyncio-dev/id.po deleted file mode 100644 index e93625c..0000000 --- a/python-newest.library--asyncio-dev/id.po +++ /dev/null @@ -1,380 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-dev.rst:7 -msgid "Developing with asyncio" -msgstr "" - -#: ../../library/asyncio-dev.rst:9 -msgid "" -"Asynchronous programming is different from classic \"sequential\" " -"programming." -msgstr "" - -#: ../../library/asyncio-dev.rst:12 -msgid "" -"This page lists common mistakes and traps and explains how to avoid them." -msgstr "" - -#: ../../library/asyncio-dev.rst:19 -msgid "Debug Mode" -msgstr "" - -#: ../../library/asyncio-dev.rst:21 -msgid "" -"By default asyncio runs in production mode. In order to ease the " -"development asyncio has a *debug mode*." -msgstr "" - -#: ../../library/asyncio-dev.rst:24 -msgid "There are several ways to enable asyncio debug mode:" -msgstr "" - -#: ../../library/asyncio-dev.rst:26 -msgid "" -"Setting the :envvar:`PYTHONASYNCIODEBUG` environment variable to ``1``." -msgstr "" - -#: ../../library/asyncio-dev.rst:28 -msgid "Using the :ref:`Python Development Mode `." -msgstr "" - -#: ../../library/asyncio-dev.rst:30 -msgid "Passing ``debug=True`` to :func:`asyncio.run`." -msgstr "" - -#: ../../library/asyncio-dev.rst:32 -msgid "Calling :meth:`loop.set_debug`." -msgstr "" - -#: ../../library/asyncio-dev.rst:34 -msgid "In addition to enabling the debug mode, consider also:" -msgstr "" - -#: ../../library/asyncio-dev.rst:36 -msgid "" -"setting the log level of the :ref:`asyncio logger ` to " -":py:const:`logging.DEBUG`, for example the following snippet of code can be " -"run at startup of the application::" -msgstr "" - -#: ../../library/asyncio-dev.rst:40 -msgid "logging.basicConfig(level=logging.DEBUG)" -msgstr "" - -#: ../../library/asyncio-dev.rst:42 -msgid "" -"configuring the :mod:`warnings` module to display :exc:`ResourceWarning` " -"warnings. One way of doing that is by using the :option:`-W` ``default`` " -"command line option." -msgstr "" - -#: ../../library/asyncio-dev.rst:47 -msgid "When the debug mode is enabled:" -msgstr "" - -#: ../../library/asyncio-dev.rst:49 -msgid "" -"asyncio checks for :ref:`coroutines that were not awaited ` and logs them; this mitigates the \"forgotten " -"await\" pitfall." -msgstr "" - -#: ../../library/asyncio-dev.rst:53 -msgid "" -"Many non-threadsafe asyncio APIs (such as :meth:`loop.call_soon` and " -":meth:`loop.call_at` methods) raise an exception if they are called from a " -"wrong thread." -msgstr "" - -#: ../../library/asyncio-dev.rst:57 -msgid "" -"The execution time of the I/O selector is logged if it takes too long to " -"perform an I/O operation." -msgstr "" - -#: ../../library/asyncio-dev.rst:60 -msgid "" -"Callbacks taking longer than 100 milliseconds are logged. The " -":attr:`loop.slow_callback_duration` attribute can be used to set the minimum" -" execution duration in seconds that is considered \"slow\"." -msgstr "" - -#: ../../library/asyncio-dev.rst:68 -msgid "Concurrency and Multithreading" -msgstr "" - -#: ../../library/asyncio-dev.rst:70 -msgid "" -"An event loop runs in a thread (typically the main thread) and executes all " -"callbacks and Tasks in its thread. While a Task is running in the event " -"loop, no other Tasks can run in the same thread. When a Task executes an " -"``await`` expression, the running Task gets suspended, and the event loop " -"executes the next Task." -msgstr "" - -#: ../../library/asyncio-dev.rst:76 -msgid "" -"To schedule a :term:`callback` from another OS thread, the " -":meth:`loop.call_soon_threadsafe` method should be used. Example::" -msgstr "" - -#: ../../library/asyncio-dev.rst:79 -msgid "loop.call_soon_threadsafe(callback, *args)" -msgstr "" - -#: ../../library/asyncio-dev.rst:81 -msgid "" -"Almost all asyncio objects are not thread safe, which is typically not a " -"problem unless there is code that works with them from outside of a Task or " -"a callback. If there's a need for such code to call a low-level asyncio " -"API, the :meth:`loop.call_soon_threadsafe` method should be used, e.g.::" -msgstr "" - -#: ../../library/asyncio-dev.rst:87 -msgid "loop.call_soon_threadsafe(fut.cancel)" -msgstr "" - -#: ../../library/asyncio-dev.rst:89 -msgid "" -"To schedule a coroutine object from a different OS thread, the " -":func:`run_coroutine_threadsafe` function should be used. It returns a " -":class:`concurrent.futures.Future` to access the result::" -msgstr "" - -#: ../../library/asyncio-dev.rst:93 -msgid "" -"async def coro_func():\n" -" return await asyncio.sleep(1, 42)\n" -"\n" -"# Later in another OS thread:\n" -"\n" -"future = asyncio.run_coroutine_threadsafe(coro_func(), loop)\n" -"# Wait for the result:\n" -"result = future.result()" -msgstr "" - -#: ../../library/asyncio-dev.rst:102 -msgid "To handle signals the event loop must be run in the main thread." -msgstr "" - -#: ../../library/asyncio-dev.rst:105 -msgid "" -"The :meth:`loop.run_in_executor` method can be used with a " -":class:`concurrent.futures.ThreadPoolExecutor` or " -":class:`~concurrent.futures.InterpreterPoolExecutor` to execute blocking " -"code in a different OS thread without blocking the OS thread that the event " -"loop runs in." -msgstr "" - -#: ../../library/asyncio-dev.rst:111 -msgid "" -"There is currently no way to schedule coroutines or callbacks directly from " -"a different process (such as one started with :mod:`multiprocessing`). The " -":ref:`asyncio-event-loop-methods` section lists APIs that can read from " -"pipes and watch file descriptors without blocking the event loop. In " -"addition, asyncio's :ref:`Subprocess ` APIs provide a " -"way to start a process and communicate with it from the event loop. Lastly, " -"the aforementioned :meth:`loop.run_in_executor` method can also be used with" -" a :class:`concurrent.futures.ProcessPoolExecutor` to execute code in a " -"different process." -msgstr "" - -#: ../../library/asyncio-dev.rst:125 -msgid "Running Blocking Code" -msgstr "" - -#: ../../library/asyncio-dev.rst:127 -msgid "" -"Blocking (CPU-bound) code should not be called directly. For example, if a " -"function performs a CPU-intensive calculation for 1 second, all concurrent " -"asyncio Tasks and IO operations would be delayed by 1 second." -msgstr "" - -#: ../../library/asyncio-dev.rst:132 -msgid "" -"An executor can be used to run a task in a different thread, including in a " -"different interpreter, or even in a different process to avoid blocking the " -"OS thread with the event loop. See the :meth:`loop.run_in_executor` method " -"for more details." -msgstr "" - -#: ../../library/asyncio-dev.rst:142 -msgid "Logging" -msgstr "Pencatatan" - -#: ../../library/asyncio-dev.rst:144 -msgid "" -"asyncio uses the :mod:`logging` module and all logging is performed via the " -"``\"asyncio\"`` logger." -msgstr "" - -#: ../../library/asyncio-dev.rst:147 -msgid "" -"The default log level is :py:const:`logging.INFO`, which can be easily " -"adjusted::" -msgstr "" - -#: ../../library/asyncio-dev.rst:150 -msgid "logging.getLogger(\"asyncio\").setLevel(logging.WARNING)" -msgstr "" - -#: ../../library/asyncio-dev.rst:153 -msgid "" -"Network logging can block the event loop. It is recommended to use a " -"separate thread for handling logs or use non-blocking IO. For example, see " -":ref:`blocking-handlers`." -msgstr "" - -#: ../../library/asyncio-dev.rst:161 -msgid "Detect never-awaited coroutines" -msgstr "" - -#: ../../library/asyncio-dev.rst:163 -msgid "" -"When a coroutine function is called, but not awaited (e.g. ``coro()`` " -"instead of ``await coro()``) or the coroutine is not scheduled with " -":meth:`asyncio.create_task`, asyncio will emit a :exc:`RuntimeWarning`::" -msgstr "" - -#: ../../library/asyncio-dev.rst:168 -msgid "" -"import asyncio\n" -"\n" -"async def test():\n" -" print(\"never scheduled\")\n" -"\n" -"async def main():\n" -" test()\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-dev.rst:178 ../../library/asyncio-dev.rst:223 -msgid "Output::" -msgstr "" - -#: ../../library/asyncio-dev.rst:180 -msgid "" -"test.py:7: RuntimeWarning: coroutine 'test' was never awaited\n" -" test()" -msgstr "" - -#: ../../library/asyncio-dev.rst:183 ../../library/asyncio-dev.rst:239 -msgid "Output in debug mode::" -msgstr "" - -#: ../../library/asyncio-dev.rst:185 -msgid "" -"test.py:7: RuntimeWarning: coroutine 'test' was never awaited\n" -"Coroutine created at (most recent call last)\n" -" File \"../t.py\", line 9, in \n" -" asyncio.run(main(), debug=True)\n" -"\n" -" < .. >\n" -"\n" -" File \"../t.py\", line 7, in main\n" -" test()\n" -" test()" -msgstr "" - -#: ../../library/asyncio-dev.rst:196 -msgid "" -"The usual fix is to either await the coroutine or call the " -":meth:`asyncio.create_task` function::" -msgstr "" - -#: ../../library/asyncio-dev.rst:199 -msgid "" -"async def main():\n" -" await test()" -msgstr "" - -#: ../../library/asyncio-dev.rst:204 -msgid "Detect never-retrieved exceptions" -msgstr "" - -#: ../../library/asyncio-dev.rst:206 -msgid "" -"If a :meth:`Future.set_exception` is called but the Future object is never " -"awaited on, the exception would never be propagated to the user code. In " -"this case, asyncio would emit a log message when the Future object is " -"garbage collected." -msgstr "" - -#: ../../library/asyncio-dev.rst:211 -msgid "Example of an unhandled exception::" -msgstr "" - -#: ../../library/asyncio-dev.rst:213 -msgid "" -"import asyncio\n" -"\n" -"async def bug():\n" -" raise Exception(\"not consumed\")\n" -"\n" -"async def main():\n" -" asyncio.create_task(bug())\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-dev.rst:225 -msgid "" -"Task exception was never retrieved\n" -"future: \n" -" exception=Exception('not consumed')>\n" -"\n" -"Traceback (most recent call last):\n" -" File \"test.py\", line 4, in bug\n" -" raise Exception(\"not consumed\")\n" -"Exception: not consumed" -msgstr "" - -#: ../../library/asyncio-dev.rst:234 -msgid "" -":ref:`Enable the debug mode ` to get the traceback where" -" the task was created::" -msgstr "" - -#: ../../library/asyncio-dev.rst:237 -msgid "asyncio.run(main(), debug=True)" -msgstr "" - -#: ../../library/asyncio-dev.rst:241 -msgid "" -"Task exception was never retrieved\n" -"future: \n" -" exception=Exception('not consumed') created at asyncio/tasks.py:321>\n" -"\n" -"source_traceback: Object created at (most recent call last):\n" -" File \"../t.py\", line 9, in \n" -" asyncio.run(main(), debug=True)\n" -"\n" -"< .. >\n" -"\n" -"Traceback (most recent call last):\n" -" File \"../t.py\", line 4, in bug\n" -" raise Exception(\"not consumed\")\n" -"Exception: not consumed" -msgstr "" diff --git a/python-newest.library--asyncio-eventloop/id.po b/python-newest.library--asyncio-eventloop/id.po deleted file mode 100644 index e591d7f..0000000 --- a/python-newest.library--asyncio-eventloop/id.po +++ /dev/null @@ -1,2541 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-eventloop.rst:8 -msgid "Event Loop" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:10 -msgid "" -"**Source code:** :source:`Lib/asyncio/events.py`, " -":source:`Lib/asyncio/base_events.py`" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:16 -msgid "Preface" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:17 -msgid "" -"The event loop is the core of every asyncio application. Event loops run " -"asynchronous tasks and callbacks, perform network IO operations, and run " -"subprocesses." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:21 -msgid "" -"Application developers should typically use the high-level asyncio " -"functions, such as :func:`asyncio.run`, and should rarely need to reference " -"the loop object or call its methods. This section is intended mostly for " -"authors of lower-level code, libraries, and frameworks, who need finer " -"control over the event loop behavior." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:28 -msgid "Obtaining the Event Loop" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:29 -msgid "" -"The following low-level functions can be used to get, set, or create an " -"event loop:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:34 -msgid "Return the running event loop in the current OS thread." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:36 -msgid "Raise a :exc:`RuntimeError` if there is no running event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:38 -msgid "This function can only be called from a coroutine or a callback." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:44 -msgid "Get the current event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:46 -msgid "" -"When called from a coroutine or a callback (e.g. scheduled with call_soon or" -" similar API), this function will always return the running event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:50 -msgid "" -"If there is no running event loop set, the function will return the result " -"of the ``get_event_loop_policy().get_event_loop()`` call." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:53 -msgid "" -"Because this function has rather complex behavior (especially when custom " -"event loop policies are in use), using the :func:`get_running_loop` function" -" is preferred to :func:`get_event_loop` in coroutines and callbacks." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:58 -msgid "" -"As noted above, consider using the higher-level :func:`asyncio.run` " -"function, instead of using these lower level functions to manually create " -"and close an event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:62 -msgid "Raises a :exc:`RuntimeError` if there is no current event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:67 -msgid "" -"The :mod:`!asyncio` policy system is deprecated and will be removed in " -"Python 3.16; from there on, this function will return the current running " -"event loop if present else it will return the loop set by " -":func:`set_event_loop`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:74 -msgid "Set *loop* as the current event loop for the current OS thread." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:78 -msgid "Create and return a new event loop object." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:80 -msgid "" -"Note that the behaviour of :func:`get_event_loop`, :func:`set_event_loop`, " -"and :func:`new_event_loop` functions can be altered by :ref:`setting a " -"custom event loop policy `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:86 -msgid "Contents" -msgstr "Konten" - -#: ../../library/asyncio-eventloop.rst:87 -msgid "This documentation page contains the following sections:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:89 -msgid "" -"The `Event Loop Methods`_ section is the reference documentation of the " -"event loop APIs;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:92 -msgid "" -"The `Callback Handles`_ section documents the :class:`Handle` and " -":class:`TimerHandle` instances which are returned from scheduling methods " -"such as :meth:`loop.call_soon` and :meth:`loop.call_later`;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:96 -msgid "" -"The `Server Objects`_ section documents types returned from event loop " -"methods like :meth:`loop.create_server`;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:99 -msgid "" -"The `Event Loop Implementations`_ section documents the " -":class:`SelectorEventLoop` and :class:`ProactorEventLoop` classes;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:102 -msgid "" -"The `Examples`_ section showcases how to work with some event loop APIs." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:109 -msgid "Event Loop Methods" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:111 -msgid "Event loops have **low-level** APIs for the following:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:119 -msgid "Running and stopping the loop" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:123 -msgid "Run until the *future* (an instance of :class:`Future`) has completed." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:126 -msgid "" -"If the argument is a :ref:`coroutine object ` it is implicitly " -"scheduled to run as a :class:`asyncio.Task`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:129 -msgid "Return the Future's result or raise its exception." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:133 -msgid "Run the event loop until :meth:`stop` is called." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:135 -msgid "" -"If :meth:`stop` is called before :meth:`run_forever` is called, the loop " -"will poll the I/O selector once with a timeout of zero, run all callbacks " -"scheduled in response to I/O events (and those that were already scheduled)," -" and then exit." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:140 -msgid "" -"If :meth:`stop` is called while :meth:`run_forever` is running, the loop " -"will run the current batch of callbacks and then exit. Note that new " -"callbacks scheduled by callbacks will not run in this case; instead, they " -"will run the next time :meth:`run_forever` or :meth:`run_until_complete` is " -"called." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:148 -msgid "Stop the event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:152 -msgid "Return ``True`` if the event loop is currently running." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:156 -msgid "Return ``True`` if the event loop was closed." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:160 -msgid "Close the event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:162 -msgid "" -"The loop must not be running when this function is called. Any pending " -"callbacks will be discarded." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:165 -msgid "" -"This method clears all queues and shuts down the executor, but does not wait" -" for the executor to finish." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:168 -msgid "" -"This method is idempotent and irreversible. No other methods should be " -"called after the event loop is closed." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:174 -msgid "" -"Schedule all currently open :term:`asynchronous generator` objects to close " -"with an :meth:`~agen.aclose` call. After calling this method, the event " -"loop will issue a warning if a new asynchronous generator is iterated. This " -"should be used to reliably finalize all scheduled asynchronous generators." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:180 -msgid "" -"Note that there is no need to call this function when :func:`asyncio.run` is" -" used." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:183 -#: ../../library/asyncio-eventloop.rst:1315 -#: ../../library/asyncio-eventloop.rst:1771 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/asyncio-eventloop.rst:185 -msgid "" -"try:\n" -" loop.run_forever()\n" -"finally:\n" -" loop.run_until_complete(loop.shutdown_asyncgens())\n" -" loop.close()" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:196 -msgid "" -"Schedule the closure of the default executor and wait for it to join all of " -"the threads in the :class:`~concurrent.futures.ThreadPoolExecutor`. Once " -"this method has been called, using the default executor with " -":meth:`loop.run_in_executor` will raise a :exc:`RuntimeError`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:202 -msgid "" -"The *timeout* parameter specifies the amount of time (in :class:`float` " -"seconds) the executor will be given to finish joining. With the default, " -"``None``, the executor is allowed an unlimited amount of time." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:207 -msgid "" -"If the *timeout* is reached, a :exc:`RuntimeWarning` is emitted and the " -"default executor is terminated without waiting for its threads to finish " -"joining." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:213 -msgid "" -"Do not call this method when using :func:`asyncio.run`, as the latter " -"handles default executor shutdown automatically." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:218 -msgid "Added the *timeout* parameter." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:222 -msgid "Scheduling callbacks" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:226 -msgid "" -"Schedule the *callback* :term:`callback` to be called with *args* arguments " -"at the next iteration of the event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:229 -msgid "" -"Return an instance of :class:`asyncio.Handle`, which can be used later to " -"cancel the callback." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:232 -msgid "" -"Callbacks are called in the order in which they are registered. Each " -"callback will be called exactly once." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:235 -msgid "" -"The optional keyword-only *context* argument specifies a custom " -":class:`contextvars.Context` for the *callback* to run in. Callbacks use the" -" current context when no *context* is provided." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:239 -msgid "Unlike :meth:`call_soon_threadsafe`, this method is not thread-safe." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:243 -msgid "" -"A thread-safe variant of :meth:`call_soon`. When scheduling callbacks from " -"another thread, this function *must* be used, since :meth:`call_soon` is not" -" thread-safe." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:247 -msgid "" -"This function is safe to be called from a reentrant context or signal " -"handler, however, it is not safe or fruitful to use the returned handle in " -"such contexts." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:250 -msgid "" -"Raises :exc:`RuntimeError` if called on a loop that's been closed. This can " -"happen on a secondary thread when the main application is shutting down." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:254 -msgid "" -"See the :ref:`concurrency and multithreading ` " -"section of the documentation." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:257 -#: ../../library/asyncio-eventloop.rst:307 -#: ../../library/asyncio-eventloop.rst:327 -msgid "" -"The *context* keyword-only parameter was added. See :pep:`567` for more " -"details." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:265 -msgid "" -"Most :mod:`asyncio` scheduling functions don't allow passing keyword " -"arguments. To do that, use :func:`functools.partial`::" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:268 -msgid "" -"# will schedule \"print(\"Hello\", flush=True)\"\n" -"loop.call_soon(\n" -" functools.partial(print, \"Hello\", flush=True))" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:272 -msgid "" -"Using partial objects is usually more convenient than using lambdas, as " -"asyncio can render partial objects better in debug and error messages." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:280 -msgid "Scheduling delayed callbacks" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:282 -msgid "" -"Event loop provides mechanisms to schedule callback functions to be called " -"at some point in the future. Event loop uses monotonic clocks to track " -"time." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:289 -msgid "" -"Schedule *callback* to be called after the given *delay* number of seconds " -"(can be either an int or a float)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:292 -#: ../../library/asyncio-eventloop.rst:324 -msgid "" -"An instance of :class:`asyncio.TimerHandle` is returned which can be used to" -" cancel the callback." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:295 -msgid "" -"*callback* will be called exactly once. If two callbacks are scheduled for " -"exactly the same time, the order in which they are called is undefined." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:299 -msgid "" -"The optional positional *args* will be passed to the callback when it is " -"called. If you want the callback to be called with keyword arguments use " -":func:`functools.partial`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:303 -msgid "" -"An optional keyword-only *context* argument allows specifying a custom " -":class:`contextvars.Context` for the *callback* to run in. The current " -"context is used when no *context* is provided." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:311 -msgid "" -"In Python 3.7 and earlier with the default event loop implementation, the " -"*delay* could not exceed one day. This has been fixed in Python 3.8." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:318 -msgid "" -"Schedule *callback* to be called at the given absolute timestamp *when* (an " -"int or a float), using the same time reference as :meth:`loop.time`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:322 -msgid "This method's behavior is the same as :meth:`call_later`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:331 -msgid "" -"In Python 3.7 and earlier with the default event loop implementation, the " -"difference between *when* and the current time could not exceed one day. " -"This has been fixed in Python 3.8." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:338 -msgid "" -"Return the current time, as a :class:`float` value, according to the event " -"loop's internal monotonic clock." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:342 -msgid "" -"In Python 3.7 and earlier timeouts (relative *delay* or absolute *when*) " -"should not exceed one day. This has been fixed in Python 3.8." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:348 -msgid "The :func:`asyncio.sleep` function." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:352 -msgid "Creating Futures and Tasks" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:356 -msgid "Create an :class:`asyncio.Future` object attached to the event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:358 -msgid "" -"This is the preferred way to create Futures in asyncio. This lets third-" -"party event loops provide alternative implementations of the Future object " -"(with better performance or instrumentation)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:366 -msgid "" -"Schedule the execution of :ref:`coroutine ` *coro*. Return a " -":class:`Task` object." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:369 -msgid "" -"Third-party event loops can use their own subclass of :class:`Task` for " -"interoperability. In this case, the result type is a subclass of " -":class:`Task`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:373 -msgid "" -"If the *name* argument is provided and not ``None``, it is set as the name " -"of the task using :meth:`Task.set_name`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:376 -msgid "" -"An optional keyword-only *context* argument allows specifying a custom " -":class:`contextvars.Context` for the *coro* to run in. The current context " -"copy is created when no *context* is provided." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:380 -msgid "" -"An optional keyword-only *eager_start* argument allows specifying if the " -"task should execute eagerly during the call to create_task, or be scheduled " -"later. If *eager_start* is not passed the mode set by " -":meth:`loop.set_task_factory` will be used." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:385 -msgid "Added the *name* parameter." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:388 -msgid "Added the *context* parameter." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:391 -msgid "Added the *eager_start* parameter." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:396 -msgid "Set a task factory that will be used by :meth:`loop.create_task`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:399 -msgid "" -"If *factory* is ``None`` the default task factory will be set. Otherwise, " -"*factory* must be a *callable* with the signature matching ``(loop, coro, " -"**kwargs)``, where *loop* is a reference to the active event loop, and " -"*coro* is a coroutine object. The callable must pass on all *kwargs*, and " -"return a :class:`asyncio.Task`-compatible object." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:407 -msgid "Return a task factory or ``None`` if the default one is in use." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:411 -msgid "Opening network connections" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:423 -msgid "" -"Open a streaming transport connection to a given address specified by *host*" -" and *port*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:426 -msgid "" -"The socket family can be either :py:const:`~socket.AF_INET` or " -":py:const:`~socket.AF_INET6` depending on *host* (or the *family* argument, " -"if provided)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:430 -msgid "The socket type will be :py:const:`~socket.SOCK_STREAM`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:432 -#: ../../library/asyncio-eventloop.rst:1225 -#: ../../library/asyncio-eventloop.rst:1242 -msgid "" -"*protocol_factory* must be a callable returning an :ref:`asyncio protocol " -"` implementation." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:435 -msgid "" -"This method will try to establish the connection in the background. When " -"successful, it returns a ``(transport, protocol)`` pair." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:438 -msgid "The chronological synopsis of the underlying operation is as follows:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:440 -msgid "" -"The connection is established and a :ref:`transport ` is " -"created for it." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:443 -msgid "" -"*protocol_factory* is called without arguments and is expected to return a " -":ref:`protocol ` instance." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:446 -msgid "" -"The protocol instance is coupled with the transport by calling its " -":meth:`~BaseProtocol.connection_made` method." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:449 -msgid "A ``(transport, protocol)`` tuple is returned on success." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:451 -msgid "" -"The created transport is an implementation-dependent bidirectional stream." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:454 -#: ../../library/asyncio-eventloop.rst:587 -msgid "Other arguments:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:456 -msgid "" -"*ssl*: if given and not false, a SSL/TLS transport is created (by default a " -"plain TCP transport is created). If *ssl* is a :class:`ssl.SSLContext` " -"object, this context is used to create the transport; if *ssl* is " -":const:`True`, a default context returned from " -":func:`ssl.create_default_context` is used." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:462 -msgid ":ref:`SSL/TLS security considerations `" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:464 -msgid "" -"*server_hostname* sets or overrides the hostname that the target server's " -"certificate will be matched against. Should only be passed if *ssl* is not " -"``None``. By default the value of the *host* argument is used. If *host* " -"is empty, there is no default and you must pass a value for " -"*server_hostname*. If *server_hostname* is an empty string, hostname " -"matching is disabled (which is a serious security risk, allowing for " -"potential man-in-the-middle attacks)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:472 -msgid "" -"*family*, *proto*, *flags* are the optional address family, protocol and " -"flags to be passed through to getaddrinfo() for *host* resolution. If given," -" these should all be integers from the corresponding :mod:`socket` module " -"constants." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:477 -msgid "" -"*happy_eyeballs_delay*, if given, enables Happy Eyeballs for this " -"connection. It should be a floating-point number representing the amount of " -"time in seconds to wait for a connection attempt to complete, before " -"starting the next attempt in parallel. This is the \"Connection Attempt " -"Delay\" as defined in :rfc:`8305`. A sensible default value recommended by " -"the RFC is ``0.25`` (250 milliseconds)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:485 -msgid "" -"*interleave* controls address reordering when a host name resolves to " -"multiple IP addresses. If ``0`` or unspecified, no reordering is done, and " -"addresses are tried in the order returned by :meth:`getaddrinfo`. If a " -"positive integer is specified, the addresses are interleaved by address " -"family, and the given integer is interpreted as \"First Address Family " -"Count\" as defined in :rfc:`8305`. The default is ``0`` if " -"*happy_eyeballs_delay* is not specified, and ``1`` if it is." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:494 -msgid "" -"*sock*, if given, should be an existing, already connected " -":class:`socket.socket` object to be used by the transport. If *sock* is " -"given, none of *host*, *port*, *family*, *proto*, *flags*, " -"*happy_eyeballs_delay*, *interleave* and *local_addr* should be specified." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:502 -#: ../../library/asyncio-eventloop.rst:618 -#: ../../library/asyncio-eventloop.rst:866 -msgid "" -"The *sock* argument transfers ownership of the socket to the transport " -"created. To close the socket, call the transport's " -":meth:`~asyncio.BaseTransport.close` method." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:506 -msgid "" -"*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind" -" the socket locally. The *local_host* and *local_port* are looked up using " -"``getaddrinfo()``, similarly to *host* and *port*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:510 -#: ../../library/asyncio-eventloop.rst:962 -msgid "" -"*ssl_handshake_timeout* is (for a TLS connection) the time in seconds to " -"wait for the TLS handshake to complete before aborting the connection. " -"``60.0`` seconds if ``None`` (default)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:514 -#: ../../library/asyncio-eventloop.rst:773 -#: ../../library/asyncio-eventloop.rst:877 -#: ../../library/asyncio-eventloop.rst:966 -msgid "" -"*ssl_shutdown_timeout* is the time in seconds to wait for the SSL shutdown " -"to complete before aborting the connection. ``30.0`` seconds if ``None`` " -"(default)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:518 -msgid "" -"*all_errors* determines what exceptions are raised when a connection cannot " -"be created. By default, only a single ``Exception`` is raised: the first " -"exception if there is only one or all errors have same message, or a single " -"``OSError`` with the error messages combined. When ``all_errors`` is " -"``True``, an ``ExceptionGroup`` will be raised containing all exceptions " -"(even if there is only one)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:528 -#: ../../library/asyncio-eventloop.rst:785 -msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:532 -msgid "" -"The socket option :ref:`socket.TCP_NODELAY ` is set " -"by default for all TCP connections." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:537 -#: ../../library/asyncio-eventloop.rst:887 -msgid "Added the *ssl_handshake_timeout* parameter." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:541 -msgid "Added the *happy_eyeballs_delay* and *interleave* parameters." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:543 -msgid "" -"Happy Eyeballs Algorithm: Success with Dual-Stack Hosts. When a server's " -"IPv4 path and protocol are working, but the server's IPv6 path and protocol " -"are not working, a dual-stack client application experiences significant " -"connection delay compared to an IPv4-only client. This is undesirable " -"because it causes the dual-stack client to have a worse user experience. " -"This document specifies requirements for algorithms that reduce this user-" -"visible delay and provides an algorithm." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:552 -msgid "For more information: https://datatracker.ietf.org/doc/html/rfc6555" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:556 -#: ../../library/asyncio-eventloop.rst:682 -#: ../../library/asyncio-eventloop.rst:799 -#: ../../library/asyncio-eventloop.rst:839 -#: ../../library/asyncio-eventloop.rst:891 -#: ../../library/asyncio-eventloop.rst:974 -msgid "Added the *ssl_shutdown_timeout* parameter." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:558 -msgid "*all_errors* was added." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:563 -msgid "" -"The :func:`open_connection` function is a high-level alternative API. It " -"returns a pair of (:class:`StreamReader`, :class:`StreamWriter`) that can be" -" used directly in async/await code." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:574 -msgid "Create a datagram connection." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:576 -msgid "" -"The socket family can be either :py:const:`~socket.AF_INET`, " -":py:const:`~socket.AF_INET6`, or :py:const:`~socket.AF_UNIX`, depending on " -"*host* (or the *family* argument, if provided)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:580 -msgid "The socket type will be :py:const:`~socket.SOCK_DGRAM`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:582 -#: ../../library/asyncio-eventloop.rst:709 -#: ../../library/asyncio-eventloop.rst:858 -msgid "" -"*protocol_factory* must be a callable returning a :ref:`protocol ` implementation." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:585 -#: ../../library/asyncio-eventloop.rst:664 -msgid "A tuple of ``(transport, protocol)`` is returned on success." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:589 -msgid "" -"*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind" -" the socket locally. The *local_host* and *local_port* are looked up using " -":meth:`getaddrinfo`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:593 -msgid "" -"*remote_addr*, if given, is a ``(remote_host, remote_port)`` tuple used to " -"connect the socket to a remote address. The *remote_host* and *remote_port*" -" are looked up using :meth:`getaddrinfo`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:597 -msgid "" -"*family*, *proto*, *flags* are the optional address family, protocol and " -"flags to be passed through to :meth:`getaddrinfo` for *host* resolution. If " -"given, these should all be integers from the corresponding :mod:`socket` " -"module constants." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:602 -msgid "" -"*reuse_port* tells the kernel to allow this endpoint to be bound to the same" -" port as other existing endpoints are bound to, so long as they all set this" -" flag when being created. This option is not supported on Windows and some " -"Unixes. If the :ref:`socket.SO_REUSEPORT ` constant " -"is not defined then this capability is unsupported." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:608 -msgid "" -"*allow_broadcast* tells the kernel to allow this endpoint to send messages " -"to the broadcast address." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:611 -msgid "" -"*sock* can optionally be specified in order to use a preexisting, already " -"connected, :class:`socket.socket` object to be used by the transport. If " -"specified, *local_addr* and *remote_addr* should be omitted (must be " -":const:`None`)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:622 -msgid "" -"See :ref:`UDP echo client protocol ` and " -":ref:`UDP echo server protocol ` examples." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:625 -msgid "" -"The *family*, *proto*, *flags*, *reuse_address*, *reuse_port*, " -"*allow_broadcast*, and *sock* parameters were added." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:629 -msgid "Added support for Windows." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:632 -msgid "" -"The *reuse_address* parameter is no longer supported, as using " -":ref:`socket.SO_REUSEADDR ` poses a significant " -"security concern for UDP. Explicitly passing ``reuse_address=True`` will " -"raise an exception." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:638 -msgid "" -"When multiple processes with differing UIDs assign sockets to an identical " -"UDP socket address with ``SO_REUSEADDR``, incoming packets can become " -"randomly distributed among the sockets." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:642 -msgid "" -"For supported platforms, *reuse_port* can be used as a replacement for " -"similar functionality. With *reuse_port*, :ref:`socket.SO_REUSEPORT ` is used instead, which specifically prevents processes with" -" differing UIDs from assigning sockets to the same socket address." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:649 -msgid "" -"The *reuse_address* parameter, disabled since Python 3.8.1, 3.7.6 and " -"3.6.10, has been entirely removed." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:659 -msgid "Create a Unix connection." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:661 -msgid "" -"The socket family will be :py:const:`~socket.AF_UNIX`; socket type will be " -":py:const:`~socket.SOCK_STREAM`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:666 -msgid "" -"*path* is the name of a Unix domain socket and is required, unless a *sock* " -"parameter is specified. Abstract Unix sockets, :class:`str`, " -":class:`bytes`, and :class:`~pathlib.Path` paths are supported." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:671 -msgid "" -"See the documentation of the :meth:`loop.create_connection` method for " -"information about arguments to this method." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:674 -#: ../../library/asyncio-eventloop.rst:830 -#: ../../library/asyncio-eventloop.rst:1295 -#: ../../library/asyncio-eventloop.rst:1841 -#: ../../library/asyncio-eventloop.rst:1848 -msgid "Availability" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:676 -msgid "" -"Added the *ssl_handshake_timeout* parameter. The *path* parameter can now be" -" a :term:`path-like object`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:686 -msgid "Creating network servers" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:702 -msgid "" -"Create a TCP server (socket type :const:`~socket.SOCK_STREAM`) listening on " -"*port* of the *host* address." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:705 -msgid "Returns a :class:`Server` object." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:707 -msgid "Arguments:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:712 -msgid "" -"The *host* parameter can be set to several types which determine where the " -"server would be listening:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:715 -msgid "" -"If *host* is a string, the TCP server is bound to a single network interface" -" specified by *host*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:718 -msgid "" -"If *host* is a sequence of strings, the TCP server is bound to all network " -"interfaces specified by the sequence." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:721 -msgid "" -"If *host* is an empty string or ``None``, all interfaces are assumed and a " -"list of multiple sockets will be returned (most likely one for IPv4 and " -"another one for IPv6)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:725 -msgid "" -"The *port* parameter can be set to specify which port the server should " -"listen on. If ``0`` or ``None`` (the default), a random unused port will be " -"selected (note that if *host* resolves to multiple network interfaces, a " -"different random port will be selected for each interface)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:730 -msgid "" -"*family* can be set to either :const:`socket.AF_INET` or " -":const:`~socket.AF_INET6` to force the socket to use IPv4 or IPv6. If not " -"set, the *family* will be determined from host name (defaults to " -":const:`~socket.AF_UNSPEC`)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:735 -msgid "*flags* is a bitmask for :meth:`getaddrinfo`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:737 -msgid "" -"*sock* can optionally be specified in order to use a preexisting socket " -"object. If specified, *host* and *port* must not be specified." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:742 -msgid "" -"The *sock* argument transfers ownership of the socket to the server created." -" To close the socket, call the server's :meth:`~asyncio.Server.close` " -"method." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:746 -msgid "" -"*backlog* is the maximum number of queued connections passed to " -":meth:`~socket.socket.listen` (defaults to 100)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:749 -msgid "" -"*ssl* can be set to an :class:`~ssl.SSLContext` instance to enable TLS over " -"the accepted connections." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:752 -msgid "" -"*reuse_address* tells the kernel to reuse a local socket in ``TIME_WAIT`` " -"state, without waiting for its natural timeout to expire. If not specified " -"will automatically be set to ``True`` on Unix." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:757 -msgid "" -"*reuse_port* tells the kernel to allow this endpoint to be bound to the same" -" port as other existing endpoints are bound to, so long as they all set this" -" flag when being created. This option is not supported on Windows." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:762 -msgid "" -"*keep_alive* set to ``True`` keeps connections active by enabling the " -"periodic transmission of messages." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:767 -msgid "Added the *keep_alive* parameter." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:769 -msgid "" -"*ssl_handshake_timeout* is (for a TLS server) the time in seconds to wait " -"for the TLS handshake to complete before aborting the connection. ``60.0`` " -"seconds if ``None`` (default)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:777 -msgid "" -"*start_serving* set to ``True`` (the default) causes the created server to " -"start accepting connections immediately. When set to ``False``, the user " -"should await on :meth:`Server.start_serving` or :meth:`Server.serve_forever`" -" to make the server to start accepting connections." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:789 -msgid "The *host* parameter can be a sequence of strings." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:793 -msgid "" -"Added *ssl_handshake_timeout* and *start_serving* parameters. The socket " -"option :ref:`socket.TCP_NODELAY ` is set by default " -"for all TCP connections." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:803 -msgid "" -"The :func:`start_server` function is a higher-level alternative API that " -"returns a pair of :class:`StreamReader` and :class:`StreamWriter` that can " -"be used in an async/await code." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:815 -msgid "" -"Similar to :meth:`loop.create_server` but works with the " -":py:const:`~socket.AF_UNIX` socket family." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:818 -msgid "" -"*path* is the name of a Unix domain socket, and is required, unless a *sock*" -" argument is provided. Abstract Unix sockets, :class:`str`, :class:`bytes`," -" and :class:`~pathlib.Path` paths are supported." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:823 -msgid "" -"If *cleanup_socket* is true then the Unix socket will automatically be " -"removed from the filesystem when the server is closed, unless the socket has" -" been replaced after the server has been created." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:827 -msgid "" -"See the documentation of the :meth:`loop.create_server` method for " -"information about arguments to this method." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:834 -msgid "" -"Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path*" -" parameter can now be a :class:`~pathlib.Path` object." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:843 -msgid "Added the *cleanup_socket* parameter." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:851 -msgid "Wrap an already accepted connection into a transport/protocol pair." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:853 -msgid "" -"This method can be used by servers that accept connections outside of " -"asyncio but that use asyncio to handle them." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:856 -#: ../../library/asyncio-eventloop.rst:948 -msgid "Parameters:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:861 -msgid "" -"*sock* is a preexisting socket object returned from :meth:`socket.accept " -"`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:870 -msgid "" -"*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " -"accepted connections." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:873 -msgid "" -"*ssl_handshake_timeout* is (for an SSL connection) the time in seconds to " -"wait for the SSL handshake to complete before aborting the connection. " -"``60.0`` seconds if ``None`` (default)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:881 -msgid "Returns a ``(transport, protocol)`` pair." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:895 -msgid "Transferring files" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:901 -msgid "" -"Send a *file* over a *transport*. Return the total number of bytes sent." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:904 -msgid "The method uses high-performance :meth:`os.sendfile` if available." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:906 -msgid "*file* must be a regular file object opened in binary mode." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:908 -#: ../../library/asyncio-eventloop.rst:1169 -msgid "" -"*offset* tells from where to start reading the file. If specified, *count* " -"is the total number of bytes to transmit as opposed to sending the file " -"until EOF is reached. File position is always updated, even when this method" -" raises an error, and :meth:`file.tell() ` can be used to " -"obtain the actual number of bytes sent." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:915 -msgid "" -"*fallback* set to ``True`` makes asyncio to manually read and send the file " -"when the platform does not support the sendfile system call (e.g. Windows or" -" SSL socket on Unix)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:919 -msgid "" -"Raise :exc:`SendfileNotAvailableError` if the system does not support the " -"*sendfile* syscall and *fallback* is ``False``." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:926 -msgid "TLS Upgrade" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:934 -msgid "Upgrade an existing transport-based connection to TLS." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:936 -msgid "" -"Create a TLS coder/decoder instance and insert it between the *transport* " -"and the *protocol*. The coder/decoder implements both *transport*-facing " -"protocol and *protocol*-facing transport." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:940 -msgid "" -"Return the created two-interface instance. After *await*, the *protocol* " -"must stop using the original *transport* and communicate with the returned " -"object only because the coder caches *protocol*-side data and sporadically " -"exchanges extra TLS session packets with *transport*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:945 -msgid "" -"In some situations (e.g. when the passed transport is already closing) this " -"may return ``None``." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:950 -msgid "" -"*transport* and *protocol* instances that methods like " -":meth:`~loop.create_server` and :meth:`~loop.create_connection` return." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:954 -msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:956 -msgid "" -"*server_side* pass ``True`` when a server-side connection is being upgraded " -"(like the one created by :meth:`~loop.create_server`)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:959 -msgid "" -"*server_hostname*: sets or overrides the host name that the target server's " -"certificate will be matched against." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:979 -msgid "Watching file descriptors" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:983 -msgid "" -"Start monitoring the *fd* file descriptor for read availability and invoke " -"*callback* with the specified arguments once *fd* is available for reading." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:987 -#: ../../library/asyncio-eventloop.rst:1001 -msgid "" -"Any preexisting callback registered for *fd* is cancelled and replaced by " -"*callback*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:992 -msgid "" -"Stop monitoring the *fd* file descriptor for read availability. Returns " -"``True`` if *fd* was previously being monitored for reads." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:997 -msgid "" -"Start monitoring the *fd* file descriptor for write availability and invoke " -"*callback* with the specified arguments once *fd* is available for writing." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1004 -#: ../../library/asyncio-eventloop.rst:1282 -msgid "" -"Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *callback*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1009 -msgid "" -"Stop monitoring the *fd* file descriptor for write availability. Returns " -"``True`` if *fd* was previously being monitored for writes." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1012 -msgid "" -"See also :ref:`Platform Support ` section for some" -" limitations of these methods." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1017 -msgid "Working with socket objects directly" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1019 -msgid "" -"In general, protocol implementations that use transport-based APIs such as " -":meth:`loop.create_connection` and :meth:`loop.create_server` are faster " -"than implementations that work with sockets directly. However, there are " -"some use cases when performance is not critical, and working with " -":class:`~socket.socket` objects directly is more convenient." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1029 -msgid "" -"Receive up to *nbytes* from *sock*. Asynchronous version of " -":meth:`socket.recv() `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1032 -msgid "Return the received data as a bytes object." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1034 -#: ../../library/asyncio-eventloop.rst:1049 -#: ../../library/asyncio-eventloop.rst:1061 -#: ../../library/asyncio-eventloop.rst:1074 -#: ../../library/asyncio-eventloop.rst:1090 -#: ../../library/asyncio-eventloop.rst:1106 -#: ../../library/asyncio-eventloop.rst:1117 -#: ../../library/asyncio-eventloop.rst:1144 -#: ../../library/asyncio-eventloop.rst:1183 -msgid "*sock* must be a non-blocking socket." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1036 -msgid "" -"Even though this method was always documented as a coroutine method, " -"releases before Python 3.7 returned a :class:`Future`. Since Python 3.7 this" -" is an ``async def`` method." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1044 -msgid "" -"Receive data from *sock* into the *buf* buffer. Modeled after the blocking " -":meth:`socket.recv_into() ` method." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1047 -msgid "Return the number of bytes written to the buffer." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1056 -msgid "" -"Receive a datagram of up to *bufsize* from *sock*. Asynchronous version of " -":meth:`socket.recvfrom() `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1059 -msgid "Return a tuple of (received data, remote address)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1068 -msgid "" -"Receive a datagram of up to *nbytes* from *sock* into *buf*. Asynchronous " -"version of :meth:`socket.recvfrom_into() `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1072 -msgid "Return a tuple of (number of bytes received, remote address)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1081 -msgid "" -"Send *data* to the *sock* socket. Asynchronous version of " -":meth:`socket.sendall() `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1084 -msgid "" -"This method continues to send to the socket until either all data in *data* " -"has been sent or an error occurs. ``None`` is returned on success. On " -"error, an exception is raised. Additionally, there is no way to determine " -"how much data, if any, was successfully processed by the receiving end of " -"the connection." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1092 -#: ../../library/asyncio-eventloop.rst:1146 -msgid "" -"Even though the method was always documented as a coroutine method, before " -"Python 3.7 it returned a :class:`Future`. Since Python 3.7, this is an " -"``async def`` method." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1100 -msgid "" -"Send a datagram from *sock* to *address*. Asynchronous version of " -":meth:`socket.sendto() `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1104 -msgid "Return the number of bytes sent." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1113 -msgid "Connect *sock* to a remote socket at *address*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1115 -msgid "" -"Asynchronous version of :meth:`socket.connect() `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1119 -msgid "" -"``address`` no longer needs to be resolved. ``sock_connect`` will try to " -"check if the *address* is already resolved by calling " -":func:`socket.inet_pton`. If not, :meth:`loop.getaddrinfo` will be used to " -"resolve the *address*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1128 -msgid "" -":meth:`loop.create_connection` and :func:`asyncio.open_connection() " -"`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1135 -msgid "" -"Accept a connection. Modeled after the blocking :meth:`socket.accept() " -"` method." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1138 -msgid "" -"The socket must be bound to an address and listening for connections. The " -"return value is a pair ``(conn, address)`` where *conn* is a *new* socket " -"object usable to send and receive data on the connection, and *address* is " -"the address bound to the socket on the other end of the connection." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1153 -msgid ":meth:`loop.create_server` and :func:`start_server`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1159 -msgid "" -"Send a file using high-performance :mod:`os.sendfile` if possible. Return " -"the total number of bytes sent." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1162 -msgid "" -"Asynchronous version of :meth:`socket.sendfile() `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1164 -msgid "" -"*sock* must be a non-blocking :const:`socket.SOCK_STREAM` " -":class:`~socket.socket`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1167 -msgid "*file* must be a regular file object open in binary mode." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1176 -msgid "" -"*fallback*, when set to ``True``, makes asyncio manually read and send the " -"file when the platform does not support the sendfile syscall (e.g. Windows " -"or SSL socket on Unix)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1180 -msgid "" -"Raise :exc:`SendfileNotAvailableError` if the system does not support " -"*sendfile* syscall and *fallback* is ``False``." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1189 -msgid "DNS" -msgstr "DNS" - -#: ../../library/asyncio-eventloop.rst:1195 -msgid "Asynchronous version of :meth:`socket.getaddrinfo`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1200 -msgid "Asynchronous version of :meth:`socket.getnameinfo`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1203 -msgid "" -"Both *getaddrinfo* and *getnameinfo* internally utilize their synchronous " -"versions through the loop's default thread pool executor. When this executor" -" is saturated, these methods may experience delays, which higher-level " -"networking libraries may report as increased timeouts. To mitigate this, " -"consider using a custom executor for other user tasks, or setting a default " -"executor with a larger number of workers." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1210 -msgid "" -"Both *getaddrinfo* and *getnameinfo* methods were always documented to " -"return a coroutine, but prior to Python 3.7 they were, in fact, returning " -":class:`asyncio.Future` objects. Starting with Python 3.7 both methods are " -"coroutines." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1218 -msgid "Working with pipes" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1223 -msgid "Register the read end of *pipe* in the event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1228 -msgid "*pipe* is a :term:`file-like object `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1230 -msgid "" -"Return pair ``(transport, protocol)``, where *transport* supports the " -":class:`ReadTransport` interface and *protocol* is an object instantiated by" -" the *protocol_factory*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1234 -#: ../../library/asyncio-eventloop.rst:1251 -msgid "" -"With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-" -"blocking mode." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1240 -msgid "Register the write end of *pipe* in the event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1245 -msgid "*pipe* is :term:`file-like object `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1247 -msgid "" -"Return pair ``(transport, protocol)``, where *transport* supports " -":class:`WriteTransport` interface and *protocol* is an object instantiated " -"by the *protocol_factory*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1256 -msgid "" -":class:`SelectorEventLoop` does not support the above methods on Windows. " -"Use :class:`ProactorEventLoop` instead for Windows." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1261 -msgid "" -"The :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1266 -msgid "Unix signals" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1272 -msgid "Set *callback* as the handler for the *signum* signal." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1274 -msgid "" -"The callback will be invoked by *loop*, along with other queued callbacks " -"and runnable coroutines of that event loop. Unlike signal handlers " -"registered using :func:`signal.signal`, a callback registered with this " -"function is allowed to interact with the event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1279 -msgid "" -"Raise :exc:`ValueError` if the signal number is invalid or uncatchable. " -"Raise :exc:`RuntimeError` if there is a problem setting up the handler." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1285 -msgid "" -"Like :func:`signal.signal`, this function must be invoked in the main " -"thread." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1290 -msgid "Remove the handler for the *sig* signal." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1292 -msgid "" -"Return ``True`` if the signal handler was removed, or ``False`` if no " -"handler was set for the given signal." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1299 -msgid "The :mod:`signal` module." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1303 -msgid "Executing code in thread or process pools" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1307 -msgid "Arrange for *func* to be called in the specified executor." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1309 -msgid "" -"The *executor* argument should be an :class:`concurrent.futures.Executor` " -"instance. The default executor is used if *executor* is ``None``. The " -"default executor can be set by :meth:`loop.set_default_executor`, otherwise," -" a :class:`concurrent.futures.ThreadPoolExecutor` will be lazy-initialized " -"and used by :func:`run_in_executor` if needed." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1317 -msgid "" -"import asyncio\n" -"import concurrent.futures\n" -"\n" -"def blocking_io():\n" -" # File operations (such as logging) can block the\n" -" # event loop: run them in a thread pool.\n" -" with open('/dev/urandom', 'rb') as f:\n" -" return f.read(100)\n" -"\n" -"def cpu_bound():\n" -" # CPU-bound operations will block the event loop:\n" -" # in general it is preferable to run them in a\n" -" # process pool.\n" -" return sum(i * i for i in range(10 ** 7))\n" -"\n" -"async def main():\n" -" loop = asyncio.get_running_loop()\n" -"\n" -" ## Options:\n" -"\n" -" # 1. Run in the default loop's executor:\n" -" result = await loop.run_in_executor(\n" -" None, blocking_io)\n" -" print('default thread pool', result)\n" -"\n" -" # 2. Run in a custom thread pool:\n" -" with concurrent.futures.ThreadPoolExecutor() as pool:\n" -" result = await loop.run_in_executor(\n" -" pool, blocking_io)\n" -" print('custom thread pool', result)\n" -"\n" -" # 3. Run in a custom process pool:\n" -" with concurrent.futures.ProcessPoolExecutor() as pool:\n" -" result = await loop.run_in_executor(\n" -" pool, cpu_bound)\n" -" print('custom process pool', result)\n" -"\n" -" # 4. Run in a custom interpreter pool:\n" -" with concurrent.futures.InterpreterPoolExecutor() as pool:\n" -" result = await loop.run_in_executor(\n" -" pool, cpu_bound)\n" -" print('custom interpreter pool', result)\n" -"\n" -"if __name__ == '__main__':\n" -" asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1363 -msgid "" -"Note that the entry point guard (``if __name__ == '__main__'``) is required " -"for option 3 due to the peculiarities of :mod:`multiprocessing`, which is " -"used by :class:`~concurrent.futures.ProcessPoolExecutor`. See :ref:`Safe " -"importing of main module `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1368 -msgid "This method returns a :class:`asyncio.Future` object." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1370 -msgid "" -"Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *func*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1373 -msgid "" -":meth:`loop.run_in_executor` no longer configures the ``max_workers`` of the" -" thread pool executor it creates, instead leaving it up to the thread pool " -"executor (:class:`~concurrent.futures.ThreadPoolExecutor`) to set the " -"default." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1382 -msgid "" -"Set *executor* as the default executor used by :meth:`run_in_executor`. " -"*executor* must be an instance of " -":class:`~concurrent.futures.ThreadPoolExecutor`, which includes " -":class:`~concurrent.futures.InterpreterPoolExecutor`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1387 -msgid "" -"*executor* must be an instance of " -":class:`~concurrent.futures.ThreadPoolExecutor`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1393 -msgid "Error Handling API" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1395 -msgid "Allows customizing how exceptions are handled in the event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1399 -msgid "Set *handler* as the new event loop exception handler." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1401 -msgid "" -"If *handler* is ``None``, the default exception handler will be set. " -"Otherwise, *handler* must be a callable with the signature matching ``(loop," -" context)``, where ``loop`` is a reference to the active event loop, and " -"``context`` is a ``dict`` object containing the details of the exception " -"(see :meth:`call_exception_handler` documentation for details about " -"context)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1409 -msgid "" -"If the handler is called on behalf of a :class:`~asyncio.Task` or " -":class:`~asyncio.Handle`, it is run in the :class:`contextvars.Context` of " -"that task or callback handle." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1415 -msgid "" -"The handler may be called in the :class:`~contextvars.Context` of the task " -"or handle where the exception originated." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1420 -msgid "" -"Return the current exception handler, or ``None`` if no custom exception " -"handler was set." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1427 -msgid "Default exception handler." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1429 -msgid "" -"This is called when an exception occurs and no exception handler is set. " -"This can be called by a custom exception handler that wants to defer to the " -"default handler behavior." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1433 -msgid "" -"*context* parameter has the same meaning as in " -":meth:`call_exception_handler`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1438 -msgid "Call the current event loop exception handler." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1440 -msgid "" -"*context* is a ``dict`` object containing the following keys (new keys may " -"be introduced in future Python versions):" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1443 -msgid "'message': Error message;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1444 -msgid "'exception' (optional): Exception object;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1445 -msgid "'future' (optional): :class:`asyncio.Future` instance;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1446 -msgid "'task' (optional): :class:`asyncio.Task` instance;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1447 -msgid "'handle' (optional): :class:`asyncio.Handle` instance;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1448 -msgid "'protocol' (optional): :ref:`Protocol ` instance;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1449 -msgid "'transport' (optional): :ref:`Transport ` instance;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1450 -msgid "'socket' (optional): :class:`socket.socket` instance;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1451 -msgid "'source_traceback' (optional): Traceback of the source;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1452 -msgid "'handle_traceback' (optional): Traceback of the handle;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1453 -msgid "'asyncgen' (optional): Asynchronous generator that caused" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1454 -msgid "the exception." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1458 -msgid "" -"This method should not be overloaded in subclassed event loops. For custom " -"exception handling, use the :meth:`set_exception_handler` method." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1463 -msgid "Enabling debug mode" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1467 -msgid "Get the debug mode (:class:`bool`) of the event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1469 -msgid "" -"The default value is ``True`` if the environment variable " -":envvar:`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` " -"otherwise." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1475 -msgid "Set the debug mode of the event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1479 -msgid "" -"The new :ref:`Python Development Mode ` can now also be used to " -"enable the debug mode." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1484 -msgid "" -"This attribute can be used to set the minimum execution duration in seconds " -"that is considered \"slow\". When debug mode is enabled, \"slow\" callbacks " -"are logged." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1488 -msgid "Default value is 100 milliseconds." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1492 -msgid "The :ref:`debug mode of asyncio `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1496 -msgid "Running Subprocesses" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1498 -msgid "" -"Methods described in this subsections are low-level. In regular async/await" -" code consider using the high-level :func:`asyncio.create_subprocess_shell` " -"and :func:`asyncio.create_subprocess_exec` convenience functions instead." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1505 -msgid "" -"On Windows, the default event loop :class:`ProactorEventLoop` supports " -"subprocesses, whereas :class:`SelectorEventLoop` does not. See " -":ref:`Subprocess Support on Windows ` for " -"details." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1517 -msgid "" -"Create a subprocess from one or more string arguments specified by *args*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1520 -msgid "*args* must be a list of strings represented by:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1522 -msgid ":class:`str`;" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1523 -msgid "" -"or :class:`bytes`, encoded to the :ref:`filesystem encoding `." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1526 -msgid "" -"The first string specifies the program executable, and the remaining strings" -" specify the arguments. Together, string arguments form the ``argv`` of the" -" program." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1530 -msgid "" -"This is similar to the standard library :class:`subprocess.Popen` class " -"called with ``shell=False`` and the list of strings passed as the first " -"argument; however, where :class:`~subprocess.Popen` takes a single argument " -"which is list of strings, *subprocess_exec* takes multiple string arguments." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1536 -msgid "" -"The *protocol_factory* must be a callable returning a subclass of the " -":class:`asyncio.SubprocessProtocol` class." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1539 -msgid "Other parameters:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1541 -msgid "*stdin* can be any of these:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1543 -#: ../../library/asyncio-eventloop.rst:1554 -#: ../../library/asyncio-eventloop.rst:1564 -msgid "a file-like object" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1544 -msgid "" -"an existing file descriptor (a positive integer), for example those created " -"with :meth:`os.pipe`" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1545 -#: ../../library/asyncio-eventloop.rst:1555 -#: ../../library/asyncio-eventloop.rst:1565 -msgid "" -"the :const:`subprocess.PIPE` constant (default) which will create a new pipe" -" and connect it," -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1547 -#: ../../library/asyncio-eventloop.rst:1557 -#: ../../library/asyncio-eventloop.rst:1567 -msgid "" -"the value ``None`` which will make the subprocess inherit the file " -"descriptor from this process" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1549 -#: ../../library/asyncio-eventloop.rst:1559 -#: ../../library/asyncio-eventloop.rst:1569 -msgid "" -"the :const:`subprocess.DEVNULL` constant which indicates that the special " -":data:`os.devnull` file will be used" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1552 -msgid "*stdout* can be any of these:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1562 -msgid "*stderr* can be any of these:" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1571 -msgid "" -"the :const:`subprocess.STDOUT` constant which will connect the standard " -"error stream to the process' standard output stream" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1574 -msgid "" -"All other keyword arguments are passed to :class:`subprocess.Popen` without " -"interpretation, except for *bufsize*, *universal_newlines*, *shell*, *text*," -" *encoding* and *errors*, which should not be specified at all." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1579 -msgid "" -"The ``asyncio`` subprocess API does not support decoding the streams as " -"text. :func:`bytes.decode` can be used to convert the bytes returned from " -"the stream to text." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1583 -msgid "" -"If a file-like object passed as *stdin*, *stdout* or *stderr* represents a " -"pipe, then the other side of this pipe should be registered with " -":meth:`~loop.connect_write_pipe` or :meth:`~loop.connect_read_pipe` for use " -"with the event loop." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1588 -msgid "" -"See the constructor of the :class:`subprocess.Popen` class for documentation" -" on other arguments." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1591 -msgid "" -"Returns a pair of ``(transport, protocol)``, where *transport* conforms to " -"the :class:`asyncio.SubprocessTransport` base class and *protocol* is an " -"object instantiated by the *protocol_factory*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1600 -msgid "" -"Create a subprocess from *cmd*, which can be a :class:`str` or a " -":class:`bytes` string encoded to the :ref:`filesystem encoding `, using the platform's \"shell\" syntax." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1605 -msgid "" -"This is similar to the standard library :class:`subprocess.Popen` class " -"called with ``shell=True``." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1608 -msgid "" -"The *protocol_factory* must be a callable returning a subclass of the " -":class:`SubprocessProtocol` class." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1611 -msgid "" -"See :meth:`~loop.subprocess_exec` for more details about the remaining " -"arguments." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1614 -msgid "" -"Returns a pair of ``(transport, protocol)``, where *transport* conforms to " -"the :class:`SubprocessTransport` base class and *protocol* is an object " -"instantiated by the *protocol_factory*." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1619 -msgid "" -"It is the application's responsibility to ensure that all whitespace and " -"special characters are quoted appropriately to avoid `shell injection " -"`_ " -"vulnerabilities. The :func:`shlex.quote` function can be used to properly " -"escape whitespace and special characters in strings that are going to be " -"used to construct shell commands." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1628 -msgid "Callback Handles" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1632 -msgid "" -"A callback wrapper object returned by :meth:`loop.call_soon`, " -":meth:`loop.call_soon_threadsafe`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1637 -msgid "" -"Return the :class:`contextvars.Context` object associated with the handle." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1644 -msgid "" -"Cancel the callback. If the callback has already been canceled or executed," -" this method has no effect." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1649 -msgid "Return ``True`` if the callback was cancelled." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1655 -msgid "" -"A callback wrapper object returned by :meth:`loop.call_later`, and " -":meth:`loop.call_at`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1658 -msgid "This class is a subclass of :class:`Handle`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1662 -msgid "Return a scheduled callback time as :class:`float` seconds." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1664 -msgid "" -"The time is an absolute timestamp, using the same time reference as " -":meth:`loop.time`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1671 -msgid "Server Objects" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1673 -msgid "" -"Server objects are created by :meth:`loop.create_server`, " -":meth:`loop.create_unix_server`, :func:`start_server`, and " -":func:`start_unix_server` functions." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1677 -msgid "Do not instantiate the :class:`Server` class directly." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1681 -msgid "" -"*Server* objects are asynchronous context managers. When used in an ``async" -" with`` statement, it's guaranteed that the Server object is closed and not " -"accepting new connections when the ``async with`` statement is completed::" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1686 -msgid "" -"srv = await loop.create_server(...)\n" -"\n" -"async with srv:\n" -" # some code\n" -"\n" -"# At this point, srv is closed and no longer accepts new connections." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1694 -msgid "Server object is an asynchronous context manager since Python 3.7." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1697 -msgid "" -"This class was exposed publicly as ``asyncio.Server`` in Python 3.9.11, " -"3.10.3 and 3.11." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1702 -msgid "" -"Stop serving: close listening sockets and set the :attr:`sockets` attribute " -"to ``None``." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1705 -msgid "" -"The sockets that represent existing incoming client connections are left " -"open." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1708 -msgid "" -"The server is closed asynchronously; use the :meth:`wait_closed` coroutine " -"to wait until the server is closed (and no more connections are active)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1714 -msgid "Close all existing incoming client connections." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1716 -msgid "" -"Calls :meth:`~asyncio.BaseTransport.close` on all associated transports." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1719 -msgid "" -":meth:`close` should be called before :meth:`close_clients` when closing the" -" server to avoid races with new clients connecting." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1726 -msgid "" -"Close all existing incoming client connections immediately, without waiting " -"for pending operations to complete." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1729 -msgid "" -"Calls :meth:`~asyncio.WriteTransport.abort` on all associated transports." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1732 -msgid "" -":meth:`close` should be called before :meth:`abort_clients` when closing the" -" server to avoid races with new clients connecting." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1739 -msgid "Return the event loop associated with the server object." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1746 -msgid "Start accepting connections." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1748 -msgid "" -"This method is idempotent, so it can be called when the server is already " -"serving." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1751 -msgid "" -"The *start_serving* keyword-only parameter to :meth:`loop.create_server` and" -" :meth:`asyncio.start_server` allows creating a Server object that is not " -"accepting connections initially. In this case ``Server.start_serving()``, " -"or :meth:`Server.serve_forever` can be used to make the Server start " -"accepting connections." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1763 -msgid "" -"Start accepting connections until the coroutine is cancelled. Cancellation " -"of ``serve_forever`` task causes the server to be closed." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1767 -msgid "" -"This method can be called if the server is already accepting connections. " -"Only one ``serve_forever`` task can exist per one *Server* object." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1773 -msgid "" -"async def client_connected(reader, writer):\n" -" # Communicate with the client with\n" -" # reader/writer streams. For example:\n" -" await reader.readline()\n" -"\n" -"async def main(host, port):\n" -" srv = await asyncio.start_server(\n" -" client_connected, host, port)\n" -" await srv.serve_forever()\n" -"\n" -"asyncio.run(main('127.0.0.1', 0))" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1789 -msgid "Return ``True`` if the server is accepting new connections." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1796 -msgid "" -"Wait until the :meth:`close` method completes and all active connections " -"have finished." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1801 -msgid "" -"List of socket-like objects, ``asyncio.trsock.TransportSocket``, which the " -"server is listening on." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1804 -msgid "" -"Prior to Python 3.7 ``Server.sockets`` used to return an internal list of " -"server sockets directly. In 3.7 a copy of that list is returned." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1814 -msgid "Event Loop Implementations" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1816 -msgid "" -"asyncio ships with two different event loop implementations: " -":class:`SelectorEventLoop` and :class:`ProactorEventLoop`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1819 -msgid "By default asyncio is configured to use :class:`EventLoop`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1824 -msgid "" -"A subclass of :class:`AbstractEventLoop` based on the :mod:`selectors` " -"module." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1827 -msgid "" -"Uses the most efficient *selector* available for the given platform. It is " -"also possible to manually configure the exact selector implementation to be " -"used::" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1831 -msgid "" -"import asyncio\n" -"import selectors\n" -"\n" -"async def main():\n" -" ...\n" -"\n" -"loop_factory = lambda: asyncio.SelectorEventLoop(selectors.SelectSelector())\n" -"asyncio.run(main(), loop_factory=loop_factory)" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1846 -msgid "" -"A subclass of :class:`AbstractEventLoop` for Windows that uses \"I/O " -"Completion Ports\" (IOCP)." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1852 -msgid "" -"`MSDN documentation on I/O Completion Ports " -"`_." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1857 -msgid "" -"An alias to the most efficient available subclass of " -":class:`AbstractEventLoop` for the given platform." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1860 -msgid "" -"It is an alias to :class:`SelectorEventLoop` on Unix and " -":class:`ProactorEventLoop` on Windows." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1866 -msgid "Abstract base class for asyncio-compliant event loops." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1868 -msgid "" -"The :ref:`asyncio-event-loop-methods` section lists all methods that an " -"alternative implementation of ``AbstractEventLoop`` should have defined." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1874 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/asyncio-eventloop.rst:1876 -msgid "" -"Note that all examples in this section **purposefully** show how to use the " -"low-level event loop APIs, such as :meth:`loop.run_forever` and " -":meth:`loop.call_soon`. Modern asyncio applications rarely need to be " -"written this way; consider using the high-level functions like " -":func:`asyncio.run`." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1886 -msgid "Hello World with call_soon()" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1888 -msgid "" -"An example using the :meth:`loop.call_soon` method to schedule a callback. " -"The callback displays ``\"Hello World\"`` and then stops the event loop::" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1892 -msgid "" -"import asyncio\n" -"\n" -"def hello_world(loop):\n" -" \"\"\"A callback to print 'Hello World' and stop the event loop\"\"\"\n" -" print('Hello World')\n" -" loop.stop()\n" -"\n" -"loop = asyncio.new_event_loop()\n" -"\n" -"# Schedule a call to hello_world()\n" -"loop.call_soon(hello_world, loop)\n" -"\n" -"# Blocking call interrupted by loop.stop()\n" -"try:\n" -" loop.run_forever()\n" -"finally:\n" -" loop.close()" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1912 -msgid "" -"A similar :ref:`Hello World ` example created with a coroutine " -"and the :func:`run` function." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1919 -msgid "Display the current date with call_later()" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1921 -msgid "" -"An example of a callback displaying the current date every second. The " -"callback uses the :meth:`loop.call_later` method to reschedule itself after " -"5 seconds, and then stops the event loop::" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1925 -msgid "" -"import asyncio\n" -"import datetime\n" -"\n" -"def display_date(end_time, loop):\n" -" print(datetime.datetime.now())\n" -" if (loop.time() + 1.0) < end_time:\n" -" loop.call_later(1, display_date, end_time, loop)\n" -" else:\n" -" loop.stop()\n" -"\n" -"loop = asyncio.new_event_loop()\n" -"\n" -"# Schedule the first call to display_date()\n" -"end_time = loop.time() + 5.0\n" -"loop.call_soon(display_date, end_time, loop)\n" -"\n" -"# Blocking call interrupted by loop.stop()\n" -"try:\n" -" loop.run_forever()\n" -"finally:\n" -" loop.close()" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1949 -msgid "" -"A similar :ref:`current date ` example created with a" -" coroutine and the :func:`run` function." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1956 -msgid "Watch a file descriptor for read events" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1958 -msgid "" -"Wait until a file descriptor received some data using the " -":meth:`loop.add_reader` method and then close the event loop::" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1961 -msgid "" -"import asyncio\n" -"from socket import socketpair\n" -"\n" -"# Create a pair of connected file descriptors\n" -"rsock, wsock = socketpair()\n" -"\n" -"loop = asyncio.new_event_loop()\n" -"\n" -"def reader():\n" -" data = rsock.recv(100)\n" -" print(\"Received:\", data.decode())\n" -"\n" -" # We are done: unregister the file descriptor\n" -" loop.remove_reader(rsock)\n" -"\n" -" # Stop the event loop\n" -" loop.stop()\n" -"\n" -"# Register the file descriptor for read event\n" -"loop.add_reader(rsock, reader)\n" -"\n" -"# Simulate the reception of data from the network\n" -"loop.call_soon(wsock.send, 'abc'.encode())\n" -"\n" -"try:\n" -" # Run the event loop\n" -" loop.run_forever()\n" -"finally:\n" -" # We are done. Close sockets and the event loop.\n" -" rsock.close()\n" -" wsock.close()\n" -" loop.close()" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:1996 -msgid "" -"A similar :ref:`example ` using " -"transports, protocols, and the :meth:`loop.create_connection` method." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:2000 -msgid "" -"Another similar :ref:`example ` " -"using the high-level :func:`asyncio.open_connection` function and streams." -msgstr "" - -#: ../../library/asyncio-eventloop.rst:2008 -msgid "Set signal handlers for SIGINT and SIGTERM" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:2010 -msgid "(This ``signals`` example only works on Unix.)" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:2012 -msgid "" -"Register handlers for signals :const:`~signal.SIGINT` and " -":const:`~signal.SIGTERM` using the :meth:`loop.add_signal_handler` method::" -msgstr "" - -#: ../../library/asyncio-eventloop.rst:2015 -msgid "" -"import asyncio\n" -"import functools\n" -"import os\n" -"import signal\n" -"\n" -"def ask_exit(signame, loop):\n" -" print(\"got signal %s: exit\" % signame)\n" -" loop.stop()\n" -"\n" -"async def main():\n" -" loop = asyncio.get_running_loop()\n" -"\n" -" for signame in {'SIGINT', 'SIGTERM'}:\n" -" loop.add_signal_handler(\n" -" getattr(signal, signame),\n" -" functools.partial(ask_exit, signame, loop))\n" -"\n" -" await asyncio.sleep(3600)\n" -"\n" -"print(\"Event loop running for 1 hour, press Ctrl+C to interrupt.\")\n" -"print(f\"pid {os.getpid()}: send SIGINT or SIGTERM to exit.\")\n" -"\n" -"asyncio.run(main())" -msgstr "" diff --git a/python-newest.library--asyncio-exceptions/id.po b/python-newest.library--asyncio-exceptions/id.po deleted file mode 100644 index 3cc5e06..0000000 --- a/python-newest.library--asyncio-exceptions/id.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-exceptions.rst:8 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/asyncio-exceptions.rst:10 -msgid "**Source code:** :source:`Lib/asyncio/exceptions.py`" -msgstr "" - -#: ../../library/asyncio-exceptions.rst:16 -msgid "" -"A deprecated alias of :exc:`TimeoutError`, raised when the operation has " -"exceeded the given deadline." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:21 -msgid "This class was made an alias of :exc:`TimeoutError`." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:26 -msgid "The operation has been cancelled." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:28 -msgid "" -"This exception can be caught to perform custom operations when asyncio Tasks" -" are cancelled. In almost all situations the exception must be re-raised." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:34 -msgid "" -":exc:`CancelledError` is now a subclass of :class:`BaseException` rather " -"than :class:`Exception`." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:39 -msgid "Invalid internal state of :class:`Task` or :class:`Future`." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:41 -msgid "" -"Can be raised in situations like setting a result value for a *Future* " -"object that already has a result value set." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:47 -msgid "" -"The \"sendfile\" syscall is not available for the given socket or file type." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:50 -msgid "A subclass of :exc:`RuntimeError`." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:55 -msgid "The requested read operation did not complete fully." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:57 -msgid "Raised by the :ref:`asyncio stream APIs`." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:59 -msgid "This exception is a subclass of :exc:`EOFError`." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:63 -msgid "The total number (:class:`int`) of expected bytes." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:67 -msgid "A string of :class:`bytes` read before the end of stream was reached." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:72 -msgid "Reached the buffer size limit while looking for a separator." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:74 -msgid "Raised by the :ref:`asyncio stream APIs `." -msgstr "" - -#: ../../library/asyncio-exceptions.rst:78 -msgid "The total number of to be consumed bytes." -msgstr "" diff --git a/python-newest.library--asyncio-extending/id.po b/python-newest.library--asyncio-extending/id.po deleted file mode 100644 index 73ef28c..0000000 --- a/python-newest.library--asyncio-extending/id.po +++ /dev/null @@ -1,155 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-extending.rst:6 -msgid "Extending" -msgstr "" - -#: ../../library/asyncio-extending.rst:8 -msgid "" -"The main direction for :mod:`asyncio` extending is writing custom *event " -"loop* classes. Asyncio has helpers that could be used to simplify this task." -msgstr "" - -#: ../../library/asyncio-extending.rst:13 -msgid "" -"Third-parties should reuse existing asyncio code with caution, a new Python " -"version is free to break backward compatibility in *internal* part of API." -msgstr "" - -#: ../../library/asyncio-extending.rst:19 -msgid "Writing a Custom Event Loop" -msgstr "" - -#: ../../library/asyncio-extending.rst:21 -msgid "" -":class:`asyncio.AbstractEventLoop` declares very many methods. Implementing" -" all them from scratch is a tedious job." -msgstr "" - -#: ../../library/asyncio-extending.rst:24 -msgid "" -"A loop can get many common methods implementation for free by inheriting " -"from :class:`asyncio.BaseEventLoop`." -msgstr "" - -#: ../../library/asyncio-extending.rst:27 -msgid "" -"In turn, the successor should implement a bunch of *private* methods " -"declared but not implemented in :class:`asyncio.BaseEventLoop`." -msgstr "" - -#: ../../library/asyncio-extending.rst:30 -msgid "" -"For example, ``loop.create_connection()`` checks arguments, resolves DNS " -"addresses, and calls ``loop._make_socket_transport()`` that should be " -"implemented by inherited class. The ``_make_socket_transport()`` method is " -"not documented and is considered as an *internal* API." -msgstr "" - -#: ../../library/asyncio-extending.rst:38 -msgid "Future and Task private constructors" -msgstr "" - -#: ../../library/asyncio-extending.rst:40 -msgid "" -":class:`asyncio.Future` and :class:`asyncio.Task` should be never created " -"directly, please use corresponding :meth:`loop.create_future` and " -":meth:`loop.create_task`, or :func:`asyncio.create_task` factories instead." -msgstr "" - -#: ../../library/asyncio-extending.rst:44 -msgid "" -"However, third-party *event loops* may *reuse* built-in future and task " -"implementations for the sake of getting a complex and highly optimized code " -"for free." -msgstr "" - -#: ../../library/asyncio-extending.rst:47 -msgid "For this purpose the following, *private* constructors are listed:" -msgstr "" - -#: ../../library/asyncio-extending.rst:51 -msgid "Create a built-in future instance." -msgstr "" - -#: ../../library/asyncio-extending.rst:53 -msgid "*loop* is an optional event loop instance." -msgstr "" - -#: ../../library/asyncio-extending.rst:57 -msgid "Create a built-in task instance." -msgstr "" - -#: ../../library/asyncio-extending.rst:59 -msgid "" -"*loop* is an optional event loop instance. The rest of arguments are " -"described in :meth:`loop.create_task` description." -msgstr "" - -#: ../../library/asyncio-extending.rst:64 -msgid "*context* argument is added." -msgstr "" - -#: ../../library/asyncio-extending.rst:69 -msgid "Task lifetime support" -msgstr "" - -#: ../../library/asyncio-extending.rst:71 -msgid "" -"A third party task implementation should call the following functions to " -"keep a task visible by :func:`asyncio.all_tasks` and " -":func:`asyncio.current_task`:" -msgstr "" - -#: ../../library/asyncio-extending.rst:76 -msgid "Register a new *task* as managed by *asyncio*." -msgstr "" - -#: ../../library/asyncio-extending.rst:78 -msgid "Call the function from a task constructor." -msgstr "" - -#: ../../library/asyncio-extending.rst:82 -msgid "Unregister a *task* from *asyncio* internal structures." -msgstr "" - -#: ../../library/asyncio-extending.rst:84 -msgid "The function should be called when a task is about to finish." -msgstr "" - -#: ../../library/asyncio-extending.rst:88 -msgid "Switch the current task to the *task* argument." -msgstr "" - -#: ../../library/asyncio-extending.rst:90 -msgid "" -"Call the function just before executing a portion of embedded *coroutine* " -"(:meth:`coroutine.send` or :meth:`coroutine.throw`)." -msgstr "" - -#: ../../library/asyncio-extending.rst:95 -msgid "Switch the current task back from *task* to ``None``." -msgstr "" - -#: ../../library/asyncio-extending.rst:97 -msgid "" -"Call the function just after :meth:`coroutine.send` or " -":meth:`coroutine.throw` execution." -msgstr "" diff --git a/python-newest.library--asyncio-future/id.po b/python-newest.library--asyncio-future/id.po deleted file mode 100644 index f677622..0000000 --- a/python-newest.library--asyncio-future/id.po +++ /dev/null @@ -1,390 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-future.rst:8 -msgid "Futures" -msgstr "" - -#: ../../library/asyncio-future.rst:10 -msgid "" -"**Source code:** :source:`Lib/asyncio/futures.py`, " -":source:`Lib/asyncio/base_futures.py`" -msgstr "" - -#: ../../library/asyncio-future.rst:15 -msgid "" -"*Future* objects are used to bridge **low-level callback-based code** with " -"high-level async/await code." -msgstr "" - -#: ../../library/asyncio-future.rst:20 -msgid "Future Functions" -msgstr "" - -#: ../../library/asyncio-future.rst:24 -msgid "Return ``True`` if *obj* is either of:" -msgstr "" - -#: ../../library/asyncio-future.rst:26 -msgid "an instance of :class:`asyncio.Future`," -msgstr "" - -#: ../../library/asyncio-future.rst:27 -msgid "an instance of :class:`asyncio.Task`," -msgstr "" - -#: ../../library/asyncio-future.rst:28 -msgid "a Future-like object with a ``_asyncio_future_blocking`` attribute." -msgstr "" - -#: ../../library/asyncio-future.rst:36 -msgid "Return:" -msgstr "" - -#: ../../library/asyncio-future.rst:38 -msgid "" -"*obj* argument as is, if *obj* is a :class:`Future`, a :class:`Task`, or a " -"Future-like object (:func:`isfuture` is used for the test.)" -msgstr "" - -#: ../../library/asyncio-future.rst:42 -msgid "" -"a :class:`Task` object wrapping *obj*, if *obj* is a coroutine " -"(:func:`iscoroutine` is used for the test); in this case the coroutine will " -"be scheduled by ``ensure_future()``." -msgstr "" - -#: ../../library/asyncio-future.rst:47 -msgid "" -"a :class:`Task` object that would await on *obj*, if *obj* is an awaitable " -"(:func:`inspect.isawaitable` is used for the test.)" -msgstr "" - -#: ../../library/asyncio-future.rst:50 -msgid "If *obj* is neither of the above a :exc:`TypeError` is raised." -msgstr "" - -#: ../../library/asyncio-future.rst:54 -msgid "" -"Save a reference to the result of this function, to avoid a task " -"disappearing mid-execution." -msgstr "" - -#: ../../library/asyncio-future.rst:57 -msgid "" -"See also the :func:`create_task` function which is the preferred way for " -"creating new tasks or use :class:`asyncio.TaskGroup` which keeps reference " -"to the task internally." -msgstr "" - -#: ../../library/asyncio-future.rst:61 -msgid "The function accepts any :term:`awaitable` object." -msgstr "" - -#: ../../library/asyncio-future.rst:64 -msgid "" -"Deprecation warning is emitted if *obj* is not a Future-like object and " -"*loop* is not specified and there is no running event loop." -msgstr "" - -#: ../../library/asyncio-future.rst:71 -msgid "" -"Wrap a :class:`concurrent.futures.Future` object in a " -":class:`asyncio.Future` object." -msgstr "" - -#: ../../library/asyncio-future.rst:74 -msgid "" -"Deprecation warning is emitted if *future* is not a Future-like object and " -"*loop* is not specified and there is no running event loop." -msgstr "" - -#: ../../library/asyncio-future.rst:80 -msgid "Future Object" -msgstr "" - -#: ../../library/asyncio-future.rst:84 -msgid "" -"A Future represents an eventual result of an asynchronous operation. Not " -"thread-safe." -msgstr "" - -#: ../../library/asyncio-future.rst:87 -msgid "" -"Future is an :term:`awaitable` object. Coroutines can await on Future " -"objects until they either have a result or an exception set, or until they " -"are cancelled. A Future can be awaited multiple times and the result is " -"same." -msgstr "" - -#: ../../library/asyncio-future.rst:92 -msgid "" -"Typically Futures are used to enable low-level callback-based code (e.g. in " -"protocols implemented using asyncio :ref:`transports `) to interoperate with high-level async/await code." -msgstr "" - -#: ../../library/asyncio-future.rst:97 -msgid "" -"The rule of thumb is to never expose Future objects in user-facing APIs, and" -" the recommended way to create a Future object is to call " -":meth:`loop.create_future`. This way alternative event loop implementations" -" can inject their own optimized implementations of a Future object." -msgstr "" - -#: ../../library/asyncio-future.rst:103 -msgid "Added support for the :mod:`contextvars` module." -msgstr "" - -#: ../../library/asyncio-future.rst:106 -msgid "" -"Deprecation warning is emitted if *loop* is not specified and there is no " -"running event loop." -msgstr "" - -#: ../../library/asyncio-future.rst:112 -msgid "Return the result of the Future." -msgstr "" - -#: ../../library/asyncio-future.rst:114 -msgid "" -"If the Future is *done* and has a result set by the :meth:`set_result` " -"method, the result value is returned." -msgstr "" - -#: ../../library/asyncio-future.rst:117 -msgid "" -"If the Future is *done* and has an exception set by the " -":meth:`set_exception` method, this method raises the exception." -msgstr "" - -#: ../../library/asyncio-future.rst:120 ../../library/asyncio-future.rst:208 -msgid "" -"If the Future has been *cancelled*, this method raises a " -":exc:`CancelledError` exception." -msgstr "" - -#: ../../library/asyncio-future.rst:123 -msgid "" -"If the Future's result isn't yet available, this method raises an " -":exc:`InvalidStateError` exception." -msgstr "" - -#: ../../library/asyncio-future.rst:128 -msgid "Mark the Future as *done* and set its result." -msgstr "" - -#: ../../library/asyncio-future.rst:130 ../../library/asyncio-future.rst:137 -msgid "" -"Raises an :exc:`InvalidStateError` error if the Future is already *done*." -msgstr "" - -#: ../../library/asyncio-future.rst:135 -msgid "Mark the Future as *done* and set an exception." -msgstr "" - -#: ../../library/asyncio-future.rst:142 -msgid "Return ``True`` if the Future is *done*." -msgstr "" - -#: ../../library/asyncio-future.rst:144 -msgid "" -"A Future is *done* if it was *cancelled* or if it has a result or an " -"exception set with :meth:`set_result` or :meth:`set_exception` calls." -msgstr "" - -#: ../../library/asyncio-future.rst:150 -msgid "Return ``True`` if the Future was *cancelled*." -msgstr "" - -#: ../../library/asyncio-future.rst:152 -msgid "" -"The method is usually used to check if a Future is not *cancelled* before " -"setting a result or an exception for it::" -msgstr "" - -#: ../../library/asyncio-future.rst:155 -msgid "" -"if not fut.cancelled():\n" -" fut.set_result(42)" -msgstr "" - -#: ../../library/asyncio-future.rst:160 -msgid "Add a callback to be run when the Future is *done*." -msgstr "" - -#: ../../library/asyncio-future.rst:162 -msgid "The *callback* is called with the Future object as its only argument." -msgstr "" - -#: ../../library/asyncio-future.rst:165 -msgid "" -"If the Future is already *done* when this method is called, the callback is " -"scheduled with :meth:`loop.call_soon`." -msgstr "" - -#: ../../library/asyncio-future.rst:168 -msgid "" -"An optional keyword-only *context* argument allows specifying a custom " -":class:`contextvars.Context` for the *callback* to run in. The current " -"context is used when no *context* is provided." -msgstr "" - -#: ../../library/asyncio-future.rst:172 -msgid "" -":func:`functools.partial` can be used to pass parameters to the callback, " -"e.g.::" -msgstr "" - -#: ../../library/asyncio-future.rst:175 -msgid "" -"# Call 'print(\"Future:\", fut)' when \"fut\" is done.\n" -"fut.add_done_callback(\n" -" functools.partial(print, \"Future:\"))" -msgstr "" - -#: ../../library/asyncio-future.rst:179 -msgid "" -"The *context* keyword-only parameter was added. See :pep:`567` for more " -"details." -msgstr "" - -#: ../../library/asyncio-future.rst:185 -msgid "Remove *callback* from the callbacks list." -msgstr "" - -#: ../../library/asyncio-future.rst:187 -msgid "" -"Returns the number of callbacks removed, which is typically 1, unless a " -"callback was added more than once." -msgstr "" - -#: ../../library/asyncio-future.rst:192 -msgid "Cancel the Future and schedule callbacks." -msgstr "" - -#: ../../library/asyncio-future.rst:194 -msgid "" -"If the Future is already *done* or *cancelled*, return ``False``. Otherwise," -" change the Future's state to *cancelled*, schedule the callbacks, and " -"return ``True``." -msgstr "" - -#: ../../library/asyncio-future.rst:198 -msgid "Added the *msg* parameter." -msgstr "" - -#: ../../library/asyncio-future.rst:203 -msgid "Return the exception that was set on this Future." -msgstr "" - -#: ../../library/asyncio-future.rst:205 -msgid "" -"The exception (or ``None`` if no exception was set) is returned only if the " -"Future is *done*." -msgstr "" - -#: ../../library/asyncio-future.rst:211 -msgid "" -"If the Future isn't *done* yet, this method raises an " -":exc:`InvalidStateError` exception." -msgstr "" - -#: ../../library/asyncio-future.rst:216 -msgid "Return the event loop the Future object is bound to." -msgstr "" - -#: ../../library/asyncio-future.rst:223 -msgid "" -"This example creates a Future object, creates and schedules an asynchronous " -"Task to set result for the Future, and waits until the Future has a result::" -msgstr "" - -#: ../../library/asyncio-future.rst:227 -msgid "" -"async def set_after(fut, delay, value):\n" -" # Sleep for *delay* seconds.\n" -" await asyncio.sleep(delay)\n" -"\n" -" # Set *value* as a result of *fut* Future.\n" -" fut.set_result(value)\n" -"\n" -"async def main():\n" -" # Get the current event loop.\n" -" loop = asyncio.get_running_loop()\n" -"\n" -" # Create a new Future object.\n" -" fut = loop.create_future()\n" -"\n" -" # Run \"set_after()\" coroutine in a parallel Task.\n" -" # We are using the low-level \"loop.create_task()\" API here because\n" -" # we already have a reference to the event loop at hand.\n" -" # Otherwise we could have just used \"asyncio.create_task()\".\n" -" loop.create_task(\n" -" set_after(fut, 1, '... world'))\n" -"\n" -" print('hello ...')\n" -"\n" -" # Wait until *fut* has a result (1 second) and print it.\n" -" print(await fut)\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-future.rst:258 -msgid "" -"The Future object was designed to mimic :class:`concurrent.futures.Future`." -" Key differences include:" -msgstr "" - -#: ../../library/asyncio-future.rst:261 -msgid "" -"unlike asyncio Futures, :class:`concurrent.futures.Future` instances cannot " -"be awaited." -msgstr "" - -#: ../../library/asyncio-future.rst:264 -msgid "" -":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` do not " -"accept the *timeout* argument." -msgstr "" - -#: ../../library/asyncio-future.rst:267 -msgid "" -":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` raise an " -":exc:`InvalidStateError` exception when the Future is not *done*." -msgstr "" - -#: ../../library/asyncio-future.rst:271 -msgid "" -"Callbacks registered with :meth:`asyncio.Future.add_done_callback` are not " -"called immediately. They are scheduled with :meth:`loop.call_soon` instead." -msgstr "" - -#: ../../library/asyncio-future.rst:275 -msgid "" -"asyncio Future is not compatible with the :func:`concurrent.futures.wait` " -"and :func:`concurrent.futures.as_completed` functions." -msgstr "" - -#: ../../library/asyncio-future.rst:279 -msgid "" -":meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument, but " -":meth:`concurrent.futures.Future.cancel` does not." -msgstr "" diff --git a/python-newest.library--asyncio-graph/id.po b/python-newest.library--asyncio-graph/id.po deleted file mode 100644 index 5c1c5fc..0000000 --- a/python-newest.library--asyncio-graph/id.po +++ /dev/null @@ -1,201 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2025-05-08 06:04+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-graph.rst:8 -msgid "Call Graph Introspection" -msgstr "" - -#: ../../library/asyncio-graph.rst:10 -msgid "**Source code:** :source:`Lib/asyncio/graph.py`" -msgstr "" - -#: ../../library/asyncio-graph.rst:14 -msgid "" -"asyncio has powerful runtime call graph introspection utilities to trace the" -" entire call graph of a running *coroutine* or *task*, or a suspended " -"*future*. These utilities and the underlying machinery can be used from " -"within a Python program or by external profilers and debuggers." -msgstr "" - -#: ../../library/asyncio-graph.rst:25 -msgid "" -"Print the async call graph for the current task or the provided " -":class:`Task` or :class:`Future`." -msgstr "" - -#: ../../library/asyncio-graph.rst:28 -msgid "" -"This function prints entries starting from the top frame and going down " -"towards the invocation point." -msgstr "" - -#: ../../library/asyncio-graph.rst:31 -msgid "" -"The function receives an optional *future* argument. If not passed, the " -"current running task will be used." -msgstr "" - -#: ../../library/asyncio-graph.rst:34 ../../library/asyncio-graph.rst:93 -msgid "" -"If the function is called on *the current task*, the optional keyword-only " -"*depth* argument can be used to skip the specified number of frames from top" -" of the stack." -msgstr "" - -#: ../../library/asyncio-graph.rst:38 -msgid "" -"If the optional keyword-only *limit* argument is provided, each call stack " -"in the resulting graph is truncated to include at most ``abs(limit)`` " -"entries. If *limit* is positive, the entries left are the closest to the " -"invocation point. If *limit* is negative, the topmost entries are left. If " -"*limit* is omitted or ``None``, all entries are present. If *limit* is " -"``0``, the call stack is not printed at all, only \"awaited by\" information" -" is printed." -msgstr "" - -#: ../../library/asyncio-graph.rst:46 -msgid "" -"If *file* is omitted or ``None``, the function will print to " -":data:`sys.stdout`." -msgstr "" - -#: ../../library/asyncio-graph.rst:49 -msgid "**Example:**" -msgstr "" - -#: ../../library/asyncio-graph.rst:51 -msgid "The following Python code:" -msgstr "" - -#: ../../library/asyncio-graph.rst:53 -msgid "" -"import asyncio\n" -"\n" -"async def test():\n" -" asyncio.print_call_graph()\n" -"\n" -"async def main():\n" -" async with asyncio.TaskGroup() as g:\n" -" g.create_task(test(), name='test')\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-graph.rst:66 -msgid "will print::" -msgstr "" - -#: ../../library/asyncio-graph.rst:68 -msgid "" -"* Task(name='test', id=0x1039f0fe0)\n" -"+ Call stack:\n" -"| File 't2.py', line 4, in async test()\n" -"+ Awaited by:\n" -" * Task(name='Task-1', id=0x103a5e060)\n" -" + Call stack:\n" -" | File 'taskgroups.py', line 107, in async TaskGroup.__aexit__()\n" -" | File 't2.py', line 7, in async main()" -msgstr "" - -#: ../../library/asyncio-graph.rst:79 -msgid "" -"Like :func:`print_call_graph`, but returns a string. If *future* is ``None``" -" and there's no current task, the function returns an empty string." -msgstr "" - -#: ../../library/asyncio-graph.rst:86 -msgid "" -"Capture the async call graph for the current task or the provided " -":class:`Task` or :class:`Future`." -msgstr "" - -#: ../../library/asyncio-graph.rst:89 -msgid "" -"The function receives an optional *future* argument. If not passed, the " -"current running task will be used. If there's no current task, the function " -"returns ``None``." -msgstr "" - -#: ../../library/asyncio-graph.rst:97 -msgid "Returns a ``FutureCallGraph`` data class object:" -msgstr "" - -#: ../../library/asyncio-graph.rst:99 -msgid "``FutureCallGraph(future, call_stack, awaited_by)``" -msgstr "" - -#: ../../library/asyncio-graph.rst:101 -msgid "" -"Where *future* is a reference to a :class:`Future` or a :class:`Task` (or " -"their subclasses.)" -msgstr "" - -#: ../../library/asyncio-graph.rst:104 -msgid "``call_stack`` is a tuple of ``FrameCallGraphEntry`` objects." -msgstr "" - -#: ../../library/asyncio-graph.rst:106 -msgid "``awaited_by`` is a tuple of ``FutureCallGraph`` objects." -msgstr "" - -#: ../../library/asyncio-graph.rst:108 -msgid "``FrameCallGraphEntry(frame)``" -msgstr "" - -#: ../../library/asyncio-graph.rst:110 -msgid "" -"Where *frame* is a frame object of a regular Python function in the call " -"stack." -msgstr "" - -#: ../../library/asyncio-graph.rst:115 -msgid "Low level utility functions" -msgstr "" - -#: ../../library/asyncio-graph.rst:117 -msgid "" -"To introspect an async call graph asyncio requires cooperation from control " -"flow structures, such as :func:`shield` or :class:`TaskGroup`. Any time an " -"intermediate :class:`Future` object with low-level APIs like " -":meth:`Future.add_done_callback() ` is " -"involved, the following two functions should be used to inform asyncio about" -" how exactly such intermediate future objects are connected with the tasks " -"they wrap or control." -msgstr "" - -#: ../../library/asyncio-graph.rst:128 -msgid "Record that *future* is awaited on by *waiter*." -msgstr "" - -#: ../../library/asyncio-graph.rst:130 ../../library/asyncio-graph.rst:143 -msgid "" -"Both *future* and *waiter* must be instances of :class:`Future` or " -":class:`Task` or their subclasses, otherwise the call would have no effect." -msgstr "" - -#: ../../library/asyncio-graph.rst:134 -msgid "" -"A call to ``future_add_to_awaited_by()`` must be followed by an eventual " -"call to the :func:`future_discard_from_awaited_by` function with the same " -"arguments." -msgstr "" - -#: ../../library/asyncio-graph.rst:141 -msgid "Record that *future* is no longer awaited on by *waiter*." -msgstr "" diff --git a/python-newest.library--asyncio-llapi-index/id.po b/python-newest.library--asyncio-llapi-index/id.po deleted file mode 100644 index d1b67f2..0000000 --- a/python-newest.library--asyncio-llapi-index/id.po +++ /dev/null @@ -1,1036 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-llapi-index.rst:6 -msgid "Low-level API Index" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:8 -msgid "This page lists all low-level asyncio APIs." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:12 -msgid "Obtaining the Event Loop" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:18 -msgid ":func:`asyncio.get_running_loop`" -msgstr ":func:`asyncio.get_running_loop`" - -#: ../../library/asyncio-llapi-index.rst:19 -msgid "The **preferred** function to get the running event loop." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:21 -msgid ":func:`asyncio.get_event_loop`" -msgstr ":func:`asyncio.get_event_loop`" - -#: ../../library/asyncio-llapi-index.rst:22 -msgid "" -"Get an event loop instance (running or current via the current policy)." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:24 -msgid ":func:`asyncio.set_event_loop`" -msgstr ":func:`asyncio.set_event_loop`" - -#: ../../library/asyncio-llapi-index.rst:25 -msgid "Set the event loop as current via the current policy." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:27 -msgid ":func:`asyncio.new_event_loop`" -msgstr ":func:`asyncio.new_event_loop`" - -#: ../../library/asyncio-llapi-index.rst:28 -msgid "Create a new event loop." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:32 -#: ../../library/asyncio-llapi-index.rst:269 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/asyncio-llapi-index.rst:33 -msgid ":ref:`Using asyncio.get_running_loop() `." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:37 -msgid "Event Loop Methods" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:39 -msgid "" -"See also the main documentation section about the :ref:`asyncio-event-loop-" -"methods`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:42 -msgid "Lifecycle" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:47 -msgid ":meth:`loop.run_until_complete`" -msgstr ":meth:`loop.run_until_complete`" - -#: ../../library/asyncio-llapi-index.rst:48 -msgid "Run a Future/Task/awaitable until complete." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:50 -msgid ":meth:`loop.run_forever`" -msgstr ":meth:`loop.run_forever`" - -#: ../../library/asyncio-llapi-index.rst:51 -msgid "Run the event loop forever." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:53 -msgid ":meth:`loop.stop`" -msgstr ":meth:`loop.stop`" - -#: ../../library/asyncio-llapi-index.rst:54 -msgid "Stop the event loop." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:56 -msgid ":meth:`loop.close`" -msgstr ":meth:`loop.close`" - -#: ../../library/asyncio-llapi-index.rst:57 -msgid "Close the event loop." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:59 -msgid ":meth:`loop.is_running`" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:60 -msgid "Return ``True`` if the event loop is running." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:62 -msgid ":meth:`loop.is_closed`" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:63 -msgid "Return ``True`` if the event loop is closed." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:65 -msgid "``await`` :meth:`loop.shutdown_asyncgens`" -msgstr "``await`` :meth:`loop.shutdown_asyncgens`" - -#: ../../library/asyncio-llapi-index.rst:66 -msgid "Close asynchronous generators." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:69 -msgid "Debugging" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:74 -msgid ":meth:`loop.set_debug`" -msgstr ":meth:`loop.set_debug`" - -#: ../../library/asyncio-llapi-index.rst:75 -msgid "Enable or disable the debug mode." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:77 -msgid ":meth:`loop.get_debug`" -msgstr ":meth:`loop.get_debug`" - -#: ../../library/asyncio-llapi-index.rst:78 -msgid "Get the current debug mode." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:81 -msgid "Scheduling Callbacks" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:86 -msgid ":meth:`loop.call_soon`" -msgstr ":meth:`loop.call_soon`" - -#: ../../library/asyncio-llapi-index.rst:87 -msgid "Invoke a callback soon." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:89 -msgid ":meth:`loop.call_soon_threadsafe`" -msgstr ":meth:`loop.call_soon_threadsafe`" - -#: ../../library/asyncio-llapi-index.rst:90 -msgid "A thread-safe variant of :meth:`loop.call_soon`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:92 -msgid ":meth:`loop.call_later`" -msgstr ":meth:`loop.call_later`" - -#: ../../library/asyncio-llapi-index.rst:93 -msgid "Invoke a callback *after* the given time." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:95 -msgid ":meth:`loop.call_at`" -msgstr ":meth:`loop.call_at`" - -#: ../../library/asyncio-llapi-index.rst:96 -msgid "Invoke a callback *at* the given time." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:99 -msgid "Thread/Interpreter/Process Pool" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:104 -msgid "``await`` :meth:`loop.run_in_executor`" -msgstr "``await`` :meth:`loop.run_in_executor`" - -#: ../../library/asyncio-llapi-index.rst:105 -msgid "" -"Run a CPU-bound or other blocking function in a :mod:`concurrent.futures` " -"executor." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:108 -msgid ":meth:`loop.set_default_executor`" -msgstr ":meth:`loop.set_default_executor`" - -#: ../../library/asyncio-llapi-index.rst:109 -msgid "Set the default executor for :meth:`loop.run_in_executor`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:112 -msgid "Tasks and Futures" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:117 -msgid ":meth:`loop.create_future`" -msgstr ":meth:`loop.create_future`" - -#: ../../library/asyncio-llapi-index.rst:118 -msgid "Create a :class:`Future` object." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:120 -msgid ":meth:`loop.create_task`" -msgstr ":meth:`loop.create_task`" - -#: ../../library/asyncio-llapi-index.rst:121 -msgid "Schedule coroutine as a :class:`Task`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:123 -msgid ":meth:`loop.set_task_factory`" -msgstr ":meth:`loop.set_task_factory`" - -#: ../../library/asyncio-llapi-index.rst:124 -msgid "" -"Set a factory used by :meth:`loop.create_task` to create :class:`Tasks " -"`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:127 -msgid ":meth:`loop.get_task_factory`" -msgstr ":meth:`loop.get_task_factory`" - -#: ../../library/asyncio-llapi-index.rst:128 -msgid "" -"Get the factory :meth:`loop.create_task` uses to create :class:`Tasks " -"`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:132 -msgid "DNS" -msgstr "DNS" - -#: ../../library/asyncio-llapi-index.rst:137 -msgid "``await`` :meth:`loop.getaddrinfo`" -msgstr "``await`` :meth:`loop.getaddrinfo`" - -#: ../../library/asyncio-llapi-index.rst:138 -msgid "Asynchronous version of :meth:`socket.getaddrinfo`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:140 -msgid "``await`` :meth:`loop.getnameinfo`" -msgstr "``await`` :meth:`loop.getnameinfo`" - -#: ../../library/asyncio-llapi-index.rst:141 -msgid "Asynchronous version of :meth:`socket.getnameinfo`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:144 -msgid "Networking and IPC" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:149 -msgid "``await`` :meth:`loop.create_connection`" -msgstr "``await`` :meth:`loop.create_connection`" - -#: ../../library/asyncio-llapi-index.rst:150 -msgid "Open a TCP connection." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:152 -msgid "``await`` :meth:`loop.create_server`" -msgstr "``await`` :meth:`loop.create_server`" - -#: ../../library/asyncio-llapi-index.rst:153 -msgid "Create a TCP server." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:155 -msgid "``await`` :meth:`loop.create_unix_connection`" -msgstr "``await`` :meth:`loop.create_unix_connection`" - -#: ../../library/asyncio-llapi-index.rst:156 -msgid "Open a Unix socket connection." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:158 -msgid "``await`` :meth:`loop.create_unix_server`" -msgstr "``await`` :meth:`loop.create_unix_server`" - -#: ../../library/asyncio-llapi-index.rst:159 -msgid "Create a Unix socket server." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:161 -msgid "``await`` :meth:`loop.connect_accepted_socket`" -msgstr "``await`` :meth:`loop.connect_accepted_socket`" - -#: ../../library/asyncio-llapi-index.rst:162 -msgid "Wrap a :class:`~socket.socket` into a ``(transport, protocol)`` pair." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:165 -msgid "``await`` :meth:`loop.create_datagram_endpoint`" -msgstr "``await`` :meth:`loop.create_datagram_endpoint`" - -#: ../../library/asyncio-llapi-index.rst:166 -msgid "Open a datagram (UDP) connection." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:168 -msgid "``await`` :meth:`loop.sendfile`" -msgstr "``await`` :meth:`loop.sendfile`" - -#: ../../library/asyncio-llapi-index.rst:169 -msgid "Send a file over a transport." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:171 -msgid "``await`` :meth:`loop.start_tls`" -msgstr "``await`` :meth:`loop.start_tls`" - -#: ../../library/asyncio-llapi-index.rst:172 -msgid "Upgrade an existing connection to TLS." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:174 -msgid "``await`` :meth:`loop.connect_read_pipe`" -msgstr "``await`` :meth:`loop.connect_read_pipe`" - -#: ../../library/asyncio-llapi-index.rst:175 -msgid "Wrap a read end of a pipe into a ``(transport, protocol)`` pair." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:177 -msgid "``await`` :meth:`loop.connect_write_pipe`" -msgstr "``await`` :meth:`loop.connect_write_pipe`" - -#: ../../library/asyncio-llapi-index.rst:178 -msgid "Wrap a write end of a pipe into a ``(transport, protocol)`` pair." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:181 -msgid "Sockets" -msgstr "Soket" - -#: ../../library/asyncio-llapi-index.rst:186 -msgid "``await`` :meth:`loop.sock_recv`" -msgstr "``await`` :meth:`loop.sock_recv`" - -#: ../../library/asyncio-llapi-index.rst:187 -msgid "Receive data from the :class:`~socket.socket`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:189 -msgid "``await`` :meth:`loop.sock_recv_into`" -msgstr "``await`` :meth:`loop.sock_recv_into`" - -#: ../../library/asyncio-llapi-index.rst:190 -msgid "Receive data from the :class:`~socket.socket` into a buffer." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:192 -msgid "``await`` :meth:`loop.sock_recvfrom`" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:193 -msgid "Receive a datagram from the :class:`~socket.socket`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:195 -msgid "``await`` :meth:`loop.sock_recvfrom_into`" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:196 -msgid "Receive a datagram from the :class:`~socket.socket` into a buffer." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:198 -msgid "``await`` :meth:`loop.sock_sendall`" -msgstr "``await`` :meth:`loop.sock_sendall`" - -#: ../../library/asyncio-llapi-index.rst:199 -msgid "Send data to the :class:`~socket.socket`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:201 -msgid "``await`` :meth:`loop.sock_sendto`" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:202 -msgid "Send a datagram via the :class:`~socket.socket` to the given address." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:204 -msgid "``await`` :meth:`loop.sock_connect`" -msgstr "``await`` :meth:`loop.sock_connect`" - -#: ../../library/asyncio-llapi-index.rst:205 -msgid "Connect the :class:`~socket.socket`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:207 -msgid "``await`` :meth:`loop.sock_accept`" -msgstr "``await`` :meth:`loop.sock_accept`" - -#: ../../library/asyncio-llapi-index.rst:208 -msgid "Accept a :class:`~socket.socket` connection." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:210 -msgid "``await`` :meth:`loop.sock_sendfile`" -msgstr "``await`` :meth:`loop.sock_sendfile`" - -#: ../../library/asyncio-llapi-index.rst:211 -msgid "Send a file over the :class:`~socket.socket`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:213 -msgid ":meth:`loop.add_reader`" -msgstr ":meth:`loop.add_reader`" - -#: ../../library/asyncio-llapi-index.rst:214 -msgid "Start watching a file descriptor for read availability." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:216 -msgid ":meth:`loop.remove_reader`" -msgstr ":meth:`loop.remove_reader`" - -#: ../../library/asyncio-llapi-index.rst:217 -msgid "Stop watching a file descriptor for read availability." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:219 -msgid ":meth:`loop.add_writer`" -msgstr ":meth:`loop.add_writer`" - -#: ../../library/asyncio-llapi-index.rst:220 -msgid "Start watching a file descriptor for write availability." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:222 -msgid ":meth:`loop.remove_writer`" -msgstr ":meth:`loop.remove_writer`" - -#: ../../library/asyncio-llapi-index.rst:223 -msgid "Stop watching a file descriptor for write availability." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:226 -msgid "Unix Signals" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:231 -msgid ":meth:`loop.add_signal_handler`" -msgstr ":meth:`loop.add_signal_handler`" - -#: ../../library/asyncio-llapi-index.rst:232 -msgid "Add a handler for a :mod:`signal`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:234 -msgid ":meth:`loop.remove_signal_handler`" -msgstr ":meth:`loop.remove_signal_handler`" - -#: ../../library/asyncio-llapi-index.rst:235 -msgid "Remove a handler for a :mod:`signal`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:238 -msgid "Subprocesses" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:243 -msgid ":meth:`loop.subprocess_exec`" -msgstr ":meth:`loop.subprocess_exec`" - -#: ../../library/asyncio-llapi-index.rst:244 -msgid "Spawn a subprocess." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:246 -msgid ":meth:`loop.subprocess_shell`" -msgstr ":meth:`loop.subprocess_shell`" - -#: ../../library/asyncio-llapi-index.rst:247 -msgid "Spawn a subprocess from a shell command." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:250 -msgid "Error Handling" -msgstr "Penanganan Kesalahan" - -#: ../../library/asyncio-llapi-index.rst:255 -msgid ":meth:`loop.call_exception_handler`" -msgstr ":meth:`loop.call_exception_handler`" - -#: ../../library/asyncio-llapi-index.rst:256 -msgid "Call the exception handler." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:258 -msgid ":meth:`loop.set_exception_handler`" -msgstr ":meth:`loop.set_exception_handler`" - -#: ../../library/asyncio-llapi-index.rst:259 -msgid "Set a new exception handler." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:261 -msgid ":meth:`loop.get_exception_handler`" -msgstr ":meth:`loop.get_exception_handler`" - -#: ../../library/asyncio-llapi-index.rst:262 -msgid "Get the current exception handler." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:264 -msgid ":meth:`loop.default_exception_handler`" -msgstr ":meth:`loop.default_exception_handler`" - -#: ../../library/asyncio-llapi-index.rst:265 -msgid "The default exception handler implementation." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:270 -msgid "" -":ref:`Using asyncio.new_event_loop() and loop.run_forever() " -"`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:273 -msgid ":ref:`Using loop.call_later() `." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:275 -msgid "" -"Using ``loop.create_connection()`` to implement :ref:`an echo-client " -"`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:278 -msgid "" -"Using ``loop.create_connection()`` to :ref:`connect a socket " -"`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:281 -msgid "" -":ref:`Using add_reader() to watch an FD for read events " -"`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:284 -msgid ":ref:`Using loop.add_signal_handler() `." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:286 -msgid "" -":ref:`Using loop.subprocess_exec() `." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:290 -msgid "Transports" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:292 -msgid "All transports implement the following methods:" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:298 -msgid ":meth:`transport.close() `" -msgstr ":meth:`transport.close() `" - -#: ../../library/asyncio-llapi-index.rst:299 -msgid "Close the transport." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:301 -msgid ":meth:`transport.is_closing() `" -msgstr ":meth:`transport.is_closing() `" - -#: ../../library/asyncio-llapi-index.rst:302 -msgid "Return ``True`` if the transport is closing or is closed." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:304 -msgid ":meth:`transport.get_extra_info() `" -msgstr ":meth:`transport.get_extra_info() `" - -#: ../../library/asyncio-llapi-index.rst:305 -msgid "Request for information about the transport." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:307 -msgid ":meth:`transport.set_protocol() `" -msgstr ":meth:`transport.set_protocol() `" - -#: ../../library/asyncio-llapi-index.rst:308 -msgid "Set a new protocol." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:310 -msgid ":meth:`transport.get_protocol() `" -msgstr ":meth:`transport.get_protocol() `" - -#: ../../library/asyncio-llapi-index.rst:311 -msgid "Return the current protocol." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:314 -msgid "" -"Transports that can receive data (TCP and Unix connections, pipes, etc). " -"Returned from methods like :meth:`loop.create_connection`, " -":meth:`loop.create_unix_connection`, :meth:`loop.connect_read_pipe`, etc:" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:319 -msgid "Read Transports" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:324 -msgid ":meth:`transport.is_reading() `" -msgstr ":meth:`transport.is_reading() `" - -#: ../../library/asyncio-llapi-index.rst:325 -msgid "Return ``True`` if the transport is receiving." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:327 -msgid ":meth:`transport.pause_reading() `" -msgstr ":meth:`transport.pause_reading() `" - -#: ../../library/asyncio-llapi-index.rst:328 -msgid "Pause receiving." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:330 -msgid ":meth:`transport.resume_reading() `" -msgstr ":meth:`transport.resume_reading() `" - -#: ../../library/asyncio-llapi-index.rst:331 -msgid "Resume receiving." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:334 -msgid "" -"Transports that can Send data (TCP and Unix connections, pipes, etc). " -"Returned from methods like :meth:`loop.create_connection`, " -":meth:`loop.create_unix_connection`, :meth:`loop.connect_write_pipe`, etc:" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:339 -msgid "Write Transports" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:344 -msgid ":meth:`transport.write() `" -msgstr ":meth:`transport.write() `" - -#: ../../library/asyncio-llapi-index.rst:345 -msgid "Write data to the transport." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:347 -msgid ":meth:`transport.writelines() `" -msgstr ":meth:`transport.writelines() `" - -#: ../../library/asyncio-llapi-index.rst:348 -msgid "Write buffers to the transport." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:350 -msgid ":meth:`transport.can_write_eof() `" -msgstr ":meth:`transport.can_write_eof() `" - -#: ../../library/asyncio-llapi-index.rst:351 -msgid "Return :const:`True` if the transport supports sending EOF." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:353 -msgid ":meth:`transport.write_eof() `" -msgstr ":meth:`transport.write_eof() `" - -#: ../../library/asyncio-llapi-index.rst:354 -msgid "Close and send EOF after flushing buffered data." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:356 -msgid ":meth:`transport.abort() `" -msgstr ":meth:`transport.abort() `" - -#: ../../library/asyncio-llapi-index.rst:357 -#: ../../library/asyncio-llapi-index.rst:383 -msgid "Close the transport immediately." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:359 -msgid "" -":meth:`transport.get_write_buffer_size() " -"`" -msgstr "" -":meth:`transport.get_write_buffer_size() " -"`" - -#: ../../library/asyncio-llapi-index.rst:361 -msgid "Return the current size of the output buffer." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:363 -msgid "" -":meth:`transport.get_write_buffer_limits() " -"`" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:365 -msgid "Return high and low water marks for write flow control." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:367 -msgid "" -":meth:`transport.set_write_buffer_limits() " -"`" -msgstr "" -":meth:`transport.set_write_buffer_limits() " -"`" - -#: ../../library/asyncio-llapi-index.rst:369 -msgid "Set new high and low water marks for write flow control." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:372 -msgid "Transports returned by :meth:`loop.create_datagram_endpoint`:" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:374 -msgid "Datagram Transports" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:379 -msgid ":meth:`transport.sendto() `" -msgstr ":meth:`transport.sendto() `" - -#: ../../library/asyncio-llapi-index.rst:380 -msgid "Send data to the remote peer." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:382 -msgid ":meth:`transport.abort() `" -msgstr ":meth:`transport.abort() `" - -#: ../../library/asyncio-llapi-index.rst:386 -msgid "" -"Low-level transport abstraction over subprocesses. Returned by " -":meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell`:" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:390 -msgid "Subprocess Transports" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:395 -msgid ":meth:`transport.get_pid() `" -msgstr ":meth:`transport.get_pid() `" - -#: ../../library/asyncio-llapi-index.rst:396 -msgid "Return the subprocess process id." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:398 -msgid "" -":meth:`transport.get_pipe_transport() " -"`" -msgstr "" -":meth:`transport.get_pipe_transport() " -"`" - -#: ../../library/asyncio-llapi-index.rst:400 -msgid "" -"Return the transport for the requested communication pipe (*stdin*, " -"*stdout*, or *stderr*)." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:403 -msgid "" -":meth:`transport.get_returncode() `" -msgstr "" -":meth:`transport.get_returncode() `" - -#: ../../library/asyncio-llapi-index.rst:404 -msgid "Return the subprocess return code." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:406 -msgid ":meth:`transport.kill() `" -msgstr ":meth:`transport.kill() `" - -#: ../../library/asyncio-llapi-index.rst:407 -msgid "Kill the subprocess." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:409 -msgid ":meth:`transport.send_signal() `" -msgstr ":meth:`transport.send_signal() `" - -#: ../../library/asyncio-llapi-index.rst:410 -msgid "Send a signal to the subprocess." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:412 -msgid ":meth:`transport.terminate() `" -msgstr ":meth:`transport.terminate() `" - -#: ../../library/asyncio-llapi-index.rst:413 -msgid "Stop the subprocess." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:415 -msgid ":meth:`transport.close() `" -msgstr ":meth:`transport.close() `" - -#: ../../library/asyncio-llapi-index.rst:416 -msgid "Kill the subprocess and close all pipes." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:420 -msgid "Protocols" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:422 -msgid "Protocol classes can implement the following **callback methods**:" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:428 -msgid "``callback`` :meth:`connection_made() `" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:429 -msgid "Called when a connection is made." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:431 -msgid "``callback`` :meth:`connection_lost() `" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:432 -msgid "Called when the connection is lost or closed." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:434 -msgid "``callback`` :meth:`pause_writing() `" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:435 -msgid "Called when the transport's buffer goes over the high water mark." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:437 -msgid "``callback`` :meth:`resume_writing() `" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:438 -msgid "Called when the transport's buffer drains below the low water mark." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:441 -msgid "Streaming Protocols (TCP, Unix Sockets, Pipes)" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:446 -msgid "``callback`` :meth:`data_received() `" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:447 -msgid "Called when some data is received." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:449 -msgid "``callback`` :meth:`eof_received() `" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:450 -#: ../../library/asyncio-llapi-index.rst:465 -msgid "Called when an EOF is received." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:453 -msgid "Buffered Streaming Protocols" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:458 -msgid "``callback`` :meth:`get_buffer() `" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:459 -msgid "Called to allocate a new receive buffer." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:461 -msgid "" -"``callback`` :meth:`buffer_updated() `" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:462 -msgid "Called when the buffer was updated with the received data." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:464 -msgid "``callback`` :meth:`eof_received() `" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:468 -msgid "Datagram Protocols" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:473 -msgid "" -"``callback`` :meth:`datagram_received() " -"`" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:475 -msgid "Called when a datagram is received." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:477 -msgid "" -"``callback`` :meth:`error_received() `" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:478 -msgid "" -"Called when a previous send or receive operation raises an :class:`OSError`." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:482 -msgid "Subprocess Protocols" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:487 -msgid "``callback`` :meth:`~SubprocessProtocol.pipe_data_received`" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:488 -msgid "" -"Called when the child process writes data into its *stdout* or *stderr* " -"pipe." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:491 -msgid "``callback`` :meth:`~SubprocessProtocol.pipe_connection_lost`" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:492 -msgid "" -"Called when one of the pipes communicating with the child process is closed." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:495 -msgid "" -"``callback`` :meth:`process_exited() `" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:497 -msgid "" -"Called when the child process has exited. It can be called before " -":meth:`~SubprocessProtocol.pipe_data_received` and " -":meth:`~SubprocessProtocol.pipe_connection_lost` methods." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:503 -msgid "Event Loop Policies" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:505 -msgid "" -"Policies is a low-level mechanism to alter the behavior of functions like " -":func:`asyncio.get_event_loop`. See also the main :ref:`policies section " -"` for more details." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:511 -msgid "Accessing Policies" -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:516 -msgid ":meth:`asyncio.get_event_loop_policy`" -msgstr ":meth:`asyncio.get_event_loop_policy`" - -#: ../../library/asyncio-llapi-index.rst:517 -msgid "Return the current process-wide policy." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:519 -msgid ":meth:`asyncio.set_event_loop_policy`" -msgstr ":meth:`asyncio.set_event_loop_policy`" - -#: ../../library/asyncio-llapi-index.rst:520 -msgid "Set a new process-wide policy." -msgstr "" - -#: ../../library/asyncio-llapi-index.rst:522 -msgid ":class:`AbstractEventLoopPolicy`" -msgstr ":class:`AbstractEventLoopPolicy`" - -#: ../../library/asyncio-llapi-index.rst:523 -msgid "Base class for policy objects." -msgstr "" diff --git a/python-newest.library--asyncio-platforms/id.po b/python-newest.library--asyncio-platforms/id.po deleted file mode 100644 index 75a2d6c..0000000 --- a/python-newest.library--asyncio-platforms/id.po +++ /dev/null @@ -1,166 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-platforms.rst:9 -msgid "Platform Support" -msgstr "" - -#: ../../library/asyncio-platforms.rst:11 -msgid "" -"The :mod:`asyncio` module is designed to be portable, but some platforms " -"have subtle differences and limitations due to the platforms' underlying " -"architecture and capabilities." -msgstr "" - -#: ../../library/asyncio-platforms.rst:17 -msgid "All Platforms" -msgstr "" - -#: ../../library/asyncio-platforms.rst:19 -msgid "" -":meth:`loop.add_reader` and :meth:`loop.add_writer` cannot be used to " -"monitor file I/O." -msgstr "" - -#: ../../library/asyncio-platforms.rst:24 -msgid "Windows" -msgstr "Windows" - -#: ../../library/asyncio-platforms.rst:26 -msgid "" -"**Source code:** :source:`Lib/asyncio/proactor_events.py`, " -":source:`Lib/asyncio/windows_events.py`, " -":source:`Lib/asyncio/windows_utils.py`" -msgstr "" - -#: ../../library/asyncio-platforms.rst:34 -msgid "On Windows, :class:`ProactorEventLoop` is now the default event loop." -msgstr "" - -#: ../../library/asyncio-platforms.rst:36 -msgid "All event loops on Windows do not support the following methods:" -msgstr "" - -#: ../../library/asyncio-platforms.rst:38 -msgid "" -":meth:`loop.create_unix_connection` and :meth:`loop.create_unix_server` are " -"not supported. The :const:`socket.AF_UNIX` socket family is specific to " -"Unix." -msgstr "" - -#: ../../library/asyncio-platforms.rst:42 -msgid "" -":meth:`loop.add_signal_handler` and :meth:`loop.remove_signal_handler` are " -"not supported." -msgstr "" - -#: ../../library/asyncio-platforms.rst:45 -msgid ":class:`SelectorEventLoop` has the following limitations:" -msgstr "" - -#: ../../library/asyncio-platforms.rst:47 -msgid "" -":class:`~selectors.SelectSelector` is used to wait on socket events: it " -"supports sockets and is limited to 512 sockets." -msgstr "" - -#: ../../library/asyncio-platforms.rst:50 -msgid "" -":meth:`loop.add_reader` and :meth:`loop.add_writer` only accept socket " -"handles (e.g. pipe file descriptors are not supported)." -msgstr "" - -#: ../../library/asyncio-platforms.rst:53 -msgid "" -"Pipes are not supported, so the :meth:`loop.connect_read_pipe` and " -":meth:`loop.connect_write_pipe` methods are not implemented." -msgstr "" - -#: ../../library/asyncio-platforms.rst:56 -msgid "" -":ref:`Subprocesses ` are not supported, i.e. " -":meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods are " -"not implemented." -msgstr "" - -#: ../../library/asyncio-platforms.rst:60 -msgid ":class:`ProactorEventLoop` has the following limitations:" -msgstr "" - -#: ../../library/asyncio-platforms.rst:62 -msgid "" -"The :meth:`loop.add_reader` and :meth:`loop.add_writer` methods are not " -"supported." -msgstr "" - -#: ../../library/asyncio-platforms.rst:65 -msgid "" -"The resolution of the monotonic clock on Windows is usually around 15.6 " -"milliseconds. The best resolution is 0.5 milliseconds. The resolution " -"depends on the hardware (availability of `HPET " -"`_) and on the " -"Windows configuration." -msgstr "" - -#: ../../library/asyncio-platforms.rst:75 -msgid "Subprocess Support on Windows" -msgstr "" - -#: ../../library/asyncio-platforms.rst:77 -msgid "" -"On Windows, the default event loop :class:`ProactorEventLoop` supports " -"subprocesses, whereas :class:`SelectorEventLoop` does not." -msgstr "" - -#: ../../library/asyncio-platforms.rst:82 -msgid "macOS" -msgstr "macOS" - -#: ../../library/asyncio-platforms.rst:84 -msgid "Modern macOS versions are fully supported." -msgstr "" - -#: ../../library/asyncio-platforms.rst:87 -msgid "macOS <= 10.8" -msgstr "" - -#: ../../library/asyncio-platforms.rst:88 -msgid "" -"On macOS 10.6, 10.7 and 10.8, the default event loop uses " -":class:`selectors.KqueueSelector`, which does not support character devices " -"on these versions. The :class:`SelectorEventLoop` can be manually " -"configured to use :class:`~selectors.SelectSelector` or " -":class:`~selectors.PollSelector` to support character devices on these older" -" versions of macOS. Example::" -msgstr "" - -#: ../../library/asyncio-platforms.rst:95 -msgid "" -"import asyncio\n" -"import selectors\n" -"\n" -"selector = selectors.SelectSelector()\n" -"loop = asyncio.SelectorEventLoop(selector)\n" -"asyncio.set_event_loop(loop)" -msgstr "" diff --git a/python-newest.library--asyncio-policy/id.po b/python-newest.library--asyncio-policy/id.po deleted file mode 100644 index 70640ca..0000000 --- a/python-newest.library--asyncio-policy/id.po +++ /dev/null @@ -1,220 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-policy.rst:8 -msgid "Policies" -msgstr "" - -#: ../../library/asyncio-policy.rst:12 -msgid "" -"Policies are deprecated and will be removed in Python 3.16. Users are " -"encouraged to use the :func:`asyncio.run` function or the " -":class:`asyncio.Runner` with *loop_factory* to use the desired loop " -"implementation." -msgstr "" - -#: ../../library/asyncio-policy.rst:18 -msgid "" -"An event loop policy is a global object used to get and set the current " -":ref:`event loop `, as well as create new event loops. " -"The default policy can be :ref:`replaced ` with " -":ref:`built-in alternatives ` to use different event" -" loop implementations, or substituted by a :ref:`custom policy ` that can override these behaviors." -msgstr "" - -#: ../../library/asyncio-policy.rst:27 -msgid "" -"The :ref:`policy object ` gets and sets a separate " -"event loop per *context*. This is per-thread by default, though custom " -"policies could define *context* differently." -msgstr "" - -#: ../../library/asyncio-policy.rst:32 -msgid "" -"Custom event loop policies can control the behavior of " -":func:`get_event_loop`, :func:`set_event_loop`, and :func:`new_event_loop`." -msgstr "" - -#: ../../library/asyncio-policy.rst:35 -msgid "" -"Policy objects should implement the APIs defined in the " -":class:`AbstractEventLoopPolicy` abstract base class." -msgstr "" - -#: ../../library/asyncio-policy.rst:42 -msgid "Getting and Setting the Policy" -msgstr "" - -#: ../../library/asyncio-policy.rst:44 -msgid "" -"The following functions can be used to get and set the policy for the " -"current process:" -msgstr "" - -#: ../../library/asyncio-policy.rst:49 -msgid "Return the current process-wide policy." -msgstr "" - -#: ../../library/asyncio-policy.rst:51 -msgid "" -"The :func:`get_event_loop_policy` function is deprecated and will be removed" -" in Python 3.16." -msgstr "" - -#: ../../library/asyncio-policy.rst:57 -msgid "Set the current process-wide policy to *policy*." -msgstr "" - -#: ../../library/asyncio-policy.rst:59 -msgid "If *policy* is set to ``None``, the default policy is restored." -msgstr "" - -#: ../../library/asyncio-policy.rst:61 -msgid "" -"The :func:`set_event_loop_policy` function is deprecated and will be removed" -" in Python 3.16." -msgstr "" - -#: ../../library/asyncio-policy.rst:69 -msgid "Policy Objects" -msgstr "" - -#: ../../library/asyncio-policy.rst:71 -msgid "The abstract event loop policy base class is defined as follows:" -msgstr "" - -#: ../../library/asyncio-policy.rst:75 -msgid "An abstract base class for asyncio policies." -msgstr "" - -#: ../../library/asyncio-policy.rst:79 -msgid "Get the event loop for the current context." -msgstr "" - -#: ../../library/asyncio-policy.rst:81 -msgid "" -"Return an event loop object implementing the :class:`AbstractEventLoop` " -"interface." -msgstr "" - -#: ../../library/asyncio-policy.rst:84 ../../library/asyncio-policy.rst:96 -msgid "This method should never return ``None``." -msgstr "" - -#: ../../library/asyncio-policy.rst:90 -msgid "Set the event loop for the current context to *loop*." -msgstr "" - -#: ../../library/asyncio-policy.rst:94 -msgid "Create and return a new event loop object." -msgstr "" - -#: ../../library/asyncio-policy.rst:98 -msgid "" -"The :class:`AbstractEventLoopPolicy` class is deprecated and will be removed" -" in Python 3.16." -msgstr "" - -#: ../../library/asyncio-policy.rst:105 -msgid "asyncio ships with the following built-in policies:" -msgstr "" - -#: ../../library/asyncio-policy.rst:110 -msgid "" -"The default asyncio policy. Uses :class:`SelectorEventLoop` on Unix and " -":class:`ProactorEventLoop` on Windows." -msgstr "" - -#: ../../library/asyncio-policy.rst:113 -msgid "" -"There is no need to install the default policy manually. asyncio is " -"configured to use the default policy automatically." -msgstr "" - -#: ../../library/asyncio-policy.rst:118 -msgid "On Windows, :class:`ProactorEventLoop` is now used by default." -msgstr "" - -#: ../../library/asyncio-policy.rst:120 -msgid "" -"The :meth:`get_event_loop` method of the default asyncio policy now raises a" -" :exc:`RuntimeError` if there is no set event loop." -msgstr "" - -#: ../../library/asyncio-policy.rst:124 -msgid "" -"The :class:`DefaultEventLoopPolicy` class is deprecated and will be removed " -"in Python 3.16." -msgstr "" - -#: ../../library/asyncio-policy.rst:131 -msgid "" -"An alternative event loop policy that uses the :class:`SelectorEventLoop` " -"event loop implementation." -msgstr "" - -#: ../../library/asyncio-policy.rst:134 ../../library/asyncio-policy.rst:146 -msgid "Availability" -msgstr "" - -#: ../../library/asyncio-policy.rst:136 -msgid "" -"The :class:`WindowsSelectorEventLoopPolicy` class is deprecated and will be " -"removed in Python 3.16." -msgstr "" - -#: ../../library/asyncio-policy.rst:143 -msgid "" -"An alternative event loop policy that uses the :class:`ProactorEventLoop` " -"event loop implementation." -msgstr "" - -#: ../../library/asyncio-policy.rst:148 -msgid "" -"The :class:`WindowsProactorEventLoopPolicy` class is deprecated and will be " -"removed in Python 3.16." -msgstr "" - -#: ../../library/asyncio-policy.rst:156 -msgid "Custom Policies" -msgstr "" - -#: ../../library/asyncio-policy.rst:158 -msgid "" -"To implement a new event loop policy, it is recommended to subclass " -":class:`DefaultEventLoopPolicy` and override the methods for which custom " -"behavior is wanted, e.g.::" -msgstr "" - -#: ../../library/asyncio-policy.rst:162 -msgid "" -"class MyEventLoopPolicy(asyncio.DefaultEventLoopPolicy):\n" -"\n" -" def get_event_loop(self):\n" -" \"\"\"Get the event loop.\n" -"\n" -" This may be None or an instance of EventLoop.\n" -" \"\"\"\n" -" loop = super().get_event_loop()\n" -" # Do something with loop ...\n" -" return loop\n" -"\n" -"asyncio.set_event_loop_policy(MyEventLoopPolicy())" -msgstr "" diff --git a/python-newest.library--asyncio-protocol/id.po b/python-newest.library--asyncio-protocol/id.po deleted file mode 100644 index 8a2572e..0000000 --- a/python-newest.library--asyncio-protocol/id.po +++ /dev/null @@ -1,1364 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Helen Febriani , 2018 -# oon arfiandwi (OonID) , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: oon arfiandwi (OonID) , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-protocol.rst:9 -msgid "Transports and Protocols" -msgstr "" - -#: ../../library/asyncio-protocol.rst:12 -msgid "Preface" -msgstr "" - -#: ../../library/asyncio-protocol.rst:13 -msgid "" -"Transports and Protocols are used by the **low-level** event loop APIs such " -"as :meth:`loop.create_connection`. They use callback-based programming " -"style and enable high-performance implementations of network or IPC " -"protocols (e.g. HTTP)." -msgstr "" - -#: ../../library/asyncio-protocol.rst:18 -msgid "" -"Essentially, transports and protocols should only be used in libraries and " -"frameworks and never in high-level asyncio applications." -msgstr "" - -#: ../../library/asyncio-protocol.rst:22 -msgid "This documentation page covers both `Transports`_ and `Protocols`_." -msgstr "" - -#: ../../library/asyncio-protocol.rst:25 -msgid "Introduction" -msgstr "Pengantar" - -#: ../../library/asyncio-protocol.rst:26 -msgid "" -"At the highest level, the transport is concerned with *how* bytes are " -"transmitted, while the protocol determines *which* bytes to transmit (and to" -" some extent when)." -msgstr "" - -#: ../../library/asyncio-protocol.rst:30 -msgid "" -"A different way of saying the same thing: a transport is an abstraction for " -"a socket (or similar I/O endpoint) while a protocol is an abstraction for an" -" application, from the transport's point of view." -msgstr "" - -#: ../../library/asyncio-protocol.rst:35 -msgid "" -"Yet another view is the transport and protocol interfaces together define an" -" abstract interface for using network I/O and interprocess I/O." -msgstr "" - -#: ../../library/asyncio-protocol.rst:39 -msgid "" -"There is always a 1:1 relationship between transport and protocol objects: " -"the protocol calls transport methods to send data, while the transport calls" -" protocol methods to pass it data that has been received." -msgstr "" - -#: ../../library/asyncio-protocol.rst:44 -msgid "" -"Most of connection oriented event loop methods (such as " -":meth:`loop.create_connection`) usually accept a *protocol_factory* argument" -" used to create a *Protocol* object for an accepted connection, represented " -"by a *Transport* object. Such methods usually return a tuple of " -"``(transport, protocol)``." -msgstr "" - -#: ../../library/asyncio-protocol.rst:51 -msgid "Contents" -msgstr "Konten" - -#: ../../library/asyncio-protocol.rst:52 -msgid "This documentation page contains the following sections:" -msgstr "" - -#: ../../library/asyncio-protocol.rst:54 -msgid "" -"The `Transports`_ section documents asyncio :class:`BaseTransport`, " -":class:`ReadTransport`, :class:`WriteTransport`, :class:`Transport`, " -":class:`DatagramTransport`, and :class:`SubprocessTransport` classes." -msgstr "" - -#: ../../library/asyncio-protocol.rst:59 -msgid "" -"The `Protocols`_ section documents asyncio :class:`BaseProtocol`, " -":class:`Protocol`, :class:`BufferedProtocol`, :class:`DatagramProtocol`, and" -" :class:`SubprocessProtocol` classes." -msgstr "" - -#: ../../library/asyncio-protocol.rst:63 -msgid "" -"The `Examples`_ section showcases how to work with transports, protocols, " -"and low-level event loop APIs." -msgstr "" - -#: ../../library/asyncio-protocol.rst:70 -msgid "Transports" -msgstr "" - -#: ../../library/asyncio-protocol.rst:72 -msgid "**Source code:** :source:`Lib/asyncio/transports.py`" -msgstr "" - -#: ../../library/asyncio-protocol.rst:76 -msgid "" -"Transports are classes provided by :mod:`asyncio` in order to abstract " -"various kinds of communication channels." -msgstr "" - -#: ../../library/asyncio-protocol.rst:79 -msgid "" -"Transport objects are always instantiated by an :ref:`asyncio event loop " -"`." -msgstr "" - -#: ../../library/asyncio-protocol.rst:82 -msgid "" -"asyncio implements transports for TCP, UDP, SSL, and subprocess pipes. The " -"methods available on a transport depend on the transport's kind." -msgstr "" - -#: ../../library/asyncio-protocol.rst:85 -msgid "" -"The transport classes are :ref:`not thread safe `." -msgstr "" - -#: ../../library/asyncio-protocol.rst:89 -msgid "Transports Hierarchy" -msgstr "" - -#: ../../library/asyncio-protocol.rst:93 -msgid "" -"Base class for all transports. Contains methods that all asyncio transports" -" share." -msgstr "" - -#: ../../library/asyncio-protocol.rst:98 -msgid "A base transport for write-only connections." -msgstr "" - -#: ../../library/asyncio-protocol.rst:100 -msgid "" -"Instances of the *WriteTransport* class are returned from the " -":meth:`loop.connect_write_pipe` event loop method and are also used by " -"subprocess-related methods like :meth:`loop.subprocess_exec`." -msgstr "" - -#: ../../library/asyncio-protocol.rst:107 -msgid "A base transport for read-only connections." -msgstr "" - -#: ../../library/asyncio-protocol.rst:109 -msgid "" -"Instances of the *ReadTransport* class are returned from the " -":meth:`loop.connect_read_pipe` event loop method and are also used by " -"subprocess-related methods like :meth:`loop.subprocess_exec`." -msgstr "" - -#: ../../library/asyncio-protocol.rst:116 -msgid "" -"Interface representing a bidirectional transport, such as a TCP connection." -msgstr "" - -#: ../../library/asyncio-protocol.rst:119 -msgid "" -"The user does not instantiate a transport directly; they call a utility " -"function, passing it a protocol factory and other information necessary to " -"create the transport and protocol." -msgstr "" - -#: ../../library/asyncio-protocol.rst:123 -msgid "" -"Instances of the *Transport* class are returned from or used by event loop " -"methods like :meth:`loop.create_connection`, " -":meth:`loop.create_unix_connection`, :meth:`loop.create_server`, " -":meth:`loop.sendfile`, etc." -msgstr "" - -#: ../../library/asyncio-protocol.rst:131 -msgid "A transport for datagram (UDP) connections." -msgstr "" - -#: ../../library/asyncio-protocol.rst:133 -msgid "" -"Instances of the *DatagramTransport* class are returned from the " -":meth:`loop.create_datagram_endpoint` event loop method." -msgstr "" - -#: ../../library/asyncio-protocol.rst:139 -msgid "" -"An abstraction to represent a connection between a parent and its child OS " -"process." -msgstr "" - -#: ../../library/asyncio-protocol.rst:142 -msgid "" -"Instances of the *SubprocessTransport* class are returned from event loop " -"methods :meth:`loop.subprocess_shell` and :meth:`loop.subprocess_exec`." -msgstr "" - -#: ../../library/asyncio-protocol.rst:148 -msgid "Base Transport" -msgstr "" - -#: ../../library/asyncio-protocol.rst:152 -msgid "Close the transport." -msgstr "" - -#: ../../library/asyncio-protocol.rst:154 -msgid "" -"If the transport has a buffer for outgoing data, buffered data will be " -"flushed asynchronously. No more data will be received. After all buffered " -"data is flushed, the protocol's :meth:`protocol.connection_lost() " -"` method will be called with :const:`None` as " -"its argument. The transport should not be used once it is closed." -msgstr "" - -#: ../../library/asyncio-protocol.rst:164 -msgid "Return ``True`` if the transport is closing or is closed." -msgstr "" - -#: ../../library/asyncio-protocol.rst:168 -msgid "" -"Return information about the transport or underlying resources it uses." -msgstr "" - -#: ../../library/asyncio-protocol.rst:171 -msgid "" -"*name* is a string representing the piece of transport-specific information " -"to get." -msgstr "" - -#: ../../library/asyncio-protocol.rst:174 -msgid "" -"*default* is the value to return if the information is not available, or if " -"the transport does not support querying it with the given third-party event " -"loop implementation or on the current platform." -msgstr "" - -#: ../../library/asyncio-protocol.rst:179 -msgid "" -"For example, the following code attempts to get the underlying socket object" -" of the transport::" -msgstr "" - -#: ../../library/asyncio-protocol.rst:182 -msgid "" -"sock = transport.get_extra_info('socket')\n" -"if sock is not None:\n" -" print(sock.getsockopt(...))" -msgstr "" - -#: ../../library/asyncio-protocol.rst:186 -msgid "Categories of information that can be queried on some transports:" -msgstr "" - -#: ../../library/asyncio-protocol.rst:188 -msgid "socket:" -msgstr "" - -#: ../../library/asyncio-protocol.rst:190 -msgid "" -"``'peername'``: the remote address to which the socket is connected, result " -"of :meth:`socket.socket.getpeername` (``None`` on error)" -msgstr "" - -#: ../../library/asyncio-protocol.rst:194 -msgid "``'socket'``: :class:`socket.socket` instance" -msgstr "" - -#: ../../library/asyncio-protocol.rst:196 -msgid "" -"``'sockname'``: the socket's own address, result of " -":meth:`socket.socket.getsockname`" -msgstr "" - -#: ../../library/asyncio-protocol.rst:199 -msgid "SSL socket:" -msgstr "" - -#: ../../library/asyncio-protocol.rst:201 -msgid "" -"``'compression'``: the compression algorithm being used as a string, or " -"``None`` if the connection isn't compressed; result of " -":meth:`ssl.SSLSocket.compression`" -msgstr "" - -#: ../../library/asyncio-protocol.rst:205 -msgid "" -"``'cipher'``: a three-value tuple containing the name of the cipher being " -"used, the version of the SSL protocol that defines its use, and the number " -"of secret bits being used; result of :meth:`ssl.SSLSocket.cipher`" -msgstr "" - -#: ../../library/asyncio-protocol.rst:210 -msgid "" -"``'peercert'``: peer certificate; result of " -":meth:`ssl.SSLSocket.getpeercert`" -msgstr "" - -#: ../../library/asyncio-protocol.rst:213 -msgid "``'sslcontext'``: :class:`ssl.SSLContext` instance" -msgstr "" - -#: ../../library/asyncio-protocol.rst:215 -msgid "" -"``'ssl_object'``: :class:`ssl.SSLObject` or :class:`ssl.SSLSocket` instance" -msgstr "" - -#: ../../library/asyncio-protocol.rst:218 -msgid "pipe:" -msgstr "" - -#: ../../library/asyncio-protocol.rst:220 -msgid "``'pipe'``: pipe object" -msgstr "" - -#: ../../library/asyncio-protocol.rst:222 -msgid "subprocess:" -msgstr "" - -#: ../../library/asyncio-protocol.rst:224 -msgid "``'subprocess'``: :class:`subprocess.Popen` instance" -msgstr "" - -#: ../../library/asyncio-protocol.rst:228 -msgid "Set a new protocol." -msgstr "" - -#: ../../library/asyncio-protocol.rst:230 -msgid "" -"Switching protocol should only be done when both protocols are documented to" -" support the switch." -msgstr "" - -#: ../../library/asyncio-protocol.rst:235 -msgid "Return the current protocol." -msgstr "" - -#: ../../library/asyncio-protocol.rst:239 -msgid "Read-only Transports" -msgstr "" - -#: ../../library/asyncio-protocol.rst:243 -msgid "Return ``True`` if the transport is receiving new data." -msgstr "" - -#: ../../library/asyncio-protocol.rst:249 -msgid "" -"Pause the receiving end of the transport. No data will be passed to the " -"protocol's :meth:`protocol.data_received() ` method " -"until :meth:`resume_reading` is called." -msgstr "" - -#: ../../library/asyncio-protocol.rst:253 -msgid "" -"The method is idempotent, i.e. it can be called when the transport is " -"already paused or closed." -msgstr "" - -#: ../../library/asyncio-protocol.rst:259 -msgid "" -"Resume the receiving end. The protocol's :meth:`protocol.data_received() " -"` method will be called once again if some data is " -"available for reading." -msgstr "" - -#: ../../library/asyncio-protocol.rst:263 -msgid "" -"The method is idempotent, i.e. it can be called when the transport is " -"already reading." -msgstr "" - -#: ../../library/asyncio-protocol.rst:269 -msgid "Write-only Transports" -msgstr "" - -#: ../../library/asyncio-protocol.rst:273 -msgid "" -"Close the transport immediately, without waiting for pending operations to " -"complete. Buffered data will be lost. No more data will be received. The " -"protocol's :meth:`protocol.connection_lost() `" -" method will eventually be called with :const:`None` as its argument." -msgstr "" - -#: ../../library/asyncio-protocol.rst:281 -msgid "" -"Return :const:`True` if the transport supports " -":meth:`~WriteTransport.write_eof`, :const:`False` if not." -msgstr "" - -#: ../../library/asyncio-protocol.rst:286 -msgid "Return the current size of the output buffer used by the transport." -msgstr "" - -#: ../../library/asyncio-protocol.rst:290 -msgid "" -"Get the *high* and *low* watermarks for write flow control. Return a tuple " -"``(low, high)`` where *low* and *high* are positive number of bytes." -msgstr "" - -#: ../../library/asyncio-protocol.rst:294 -msgid "Use :meth:`set_write_buffer_limits` to set the limits." -msgstr "" - -#: ../../library/asyncio-protocol.rst:300 -msgid "Set the *high* and *low* watermarks for write flow control." -msgstr "" - -#: ../../library/asyncio-protocol.rst:302 -msgid "" -"These two values (measured in number of bytes) control when the protocol's " -":meth:`protocol.pause_writing() ` and " -":meth:`protocol.resume_writing() ` methods are " -"called. If specified, the low watermark must be less than or equal to the " -"high watermark. Neither *high* nor *low* can be negative." -msgstr "" - -#: ../../library/asyncio-protocol.rst:310 -msgid "" -":meth:`~BaseProtocol.pause_writing` is called when the buffer size becomes " -"greater than or equal to the *high* value. If writing has been paused, " -":meth:`~BaseProtocol.resume_writing` is called when the buffer size becomes " -"less than or equal to the *low* value." -msgstr "" - -#: ../../library/asyncio-protocol.rst:315 -msgid "" -"The defaults are implementation-specific. If only the high watermark is " -"given, the low watermark defaults to an implementation-specific value less " -"than or equal to the high watermark. Setting *high* to zero forces *low* to" -" zero as well, and causes :meth:`~BaseProtocol.pause_writing` to be called " -"whenever the buffer becomes non-empty. Setting *low* to zero causes " -":meth:`~BaseProtocol.resume_writing` to be called only once the buffer is " -"empty. Use of zero for either limit is generally sub-optimal as it reduces " -"opportunities for doing I/O and computation concurrently." -msgstr "" - -#: ../../library/asyncio-protocol.rst:326 -msgid "Use :meth:`~WriteTransport.get_write_buffer_limits` to get the limits." -msgstr "" - -#: ../../library/asyncio-protocol.rst:331 -msgid "Write some *data* bytes to the transport." -msgstr "" - -#: ../../library/asyncio-protocol.rst:333 -#: ../../library/asyncio-protocol.rst:362 -msgid "" -"This method does not block; it buffers the data and arranges for it to be " -"sent out asynchronously." -msgstr "" - -#: ../../library/asyncio-protocol.rst:338 -msgid "" -"Write a list (or any iterable) of data bytes to the transport. This is " -"functionally equivalent to calling :meth:`write` on each element yielded by " -"the iterable, but may be implemented more efficiently." -msgstr "" - -#: ../../library/asyncio-protocol.rst:345 -msgid "" -"Close the write end of the transport after flushing all buffered data. Data " -"may still be received." -msgstr "" - -#: ../../library/asyncio-protocol.rst:348 -msgid "" -"This method can raise :exc:`NotImplementedError` if the transport (e.g. SSL)" -" doesn't support half-closed connections." -msgstr "" - -#: ../../library/asyncio-protocol.rst:353 -msgid "Datagram Transports" -msgstr "" - -#: ../../library/asyncio-protocol.rst:357 -msgid "" -"Send the *data* bytes to the remote peer given by *addr* (a transport-" -"dependent target address). If *addr* is :const:`None`, the data is sent to " -"the target address given on transport creation." -msgstr "" - -#: ../../library/asyncio-protocol.rst:365 -msgid "" -"This method can be called with an empty bytes object to send a zero-length " -"datagram. The buffer size calculation used for flow control is also updated " -"to account for the datagram header." -msgstr "" - -#: ../../library/asyncio-protocol.rst:372 -msgid "" -"Close the transport immediately, without waiting for pending operations to " -"complete. Buffered data will be lost. No more data will be received. The " -"protocol's :meth:`protocol.connection_lost() `" -" method will eventually be called with :const:`None` as its argument." -msgstr "" - -#: ../../library/asyncio-protocol.rst:382 -msgid "Subprocess Transports" -msgstr "" - -#: ../../library/asyncio-protocol.rst:386 -msgid "Return the subprocess process id as an integer." -msgstr "" - -#: ../../library/asyncio-protocol.rst:390 -msgid "" -"Return the transport for the communication pipe corresponding to the integer" -" file descriptor *fd*:" -msgstr "" - -#: ../../library/asyncio-protocol.rst:393 -msgid "" -"``0``: readable streaming transport of the standard input (*stdin*), or " -":const:`None` if the subprocess was not created with ``stdin=PIPE``" -msgstr "" - -#: ../../library/asyncio-protocol.rst:395 -msgid "" -"``1``: writable streaming transport of the standard output (*stdout*), or " -":const:`None` if the subprocess was not created with ``stdout=PIPE``" -msgstr "" - -#: ../../library/asyncio-protocol.rst:397 -msgid "" -"``2``: writable streaming transport of the standard error (*stderr*), or " -":const:`None` if the subprocess was not created with ``stderr=PIPE``" -msgstr "" - -#: ../../library/asyncio-protocol.rst:399 -msgid "other *fd*: :const:`None`" -msgstr "" - -#: ../../library/asyncio-protocol.rst:403 -msgid "" -"Return the subprocess return code as an integer or :const:`None` if it " -"hasn't returned, which is similar to the :attr:`subprocess.Popen.returncode`" -" attribute." -msgstr "" - -#: ../../library/asyncio-protocol.rst:409 -msgid "Kill the subprocess." -msgstr "" - -#: ../../library/asyncio-protocol.rst:411 -msgid "" -"On POSIX systems, the function sends SIGKILL to the subprocess. On Windows, " -"this method is an alias for :meth:`terminate`." -msgstr "" - -#: ../../library/asyncio-protocol.rst:414 -msgid "See also :meth:`subprocess.Popen.kill`." -msgstr "" - -#: ../../library/asyncio-protocol.rst:418 -msgid "" -"Send the *signal* number to the subprocess, as in " -":meth:`subprocess.Popen.send_signal`." -msgstr "" - -#: ../../library/asyncio-protocol.rst:423 -msgid "Stop the subprocess." -msgstr "" - -#: ../../library/asyncio-protocol.rst:425 -msgid "" -"On POSIX systems, this method sends :py:const:`~signal.SIGTERM` to the " -"subprocess. On Windows, the Windows API function :c:func:`!TerminateProcess`" -" is called to stop the subprocess." -msgstr "" - -#: ../../library/asyncio-protocol.rst:429 -msgid "See also :meth:`subprocess.Popen.terminate`." -msgstr "" - -#: ../../library/asyncio-protocol.rst:433 -msgid "Kill the subprocess by calling the :meth:`kill` method." -msgstr "" - -#: ../../library/asyncio-protocol.rst:435 -msgid "" -"If the subprocess hasn't returned yet, and close transports of *stdin*, " -"*stdout*, and *stderr* pipes." -msgstr "" - -#: ../../library/asyncio-protocol.rst:442 -msgid "Protocols" -msgstr "" - -#: ../../library/asyncio-protocol.rst:444 -msgid "**Source code:** :source:`Lib/asyncio/protocols.py`" -msgstr "" - -#: ../../library/asyncio-protocol.rst:448 -msgid "" -"asyncio provides a set of abstract base classes that should be used to " -"implement network protocols. Those classes are meant to be used together " -"with :ref:`transports `." -msgstr "" - -#: ../../library/asyncio-protocol.rst:452 -msgid "" -"Subclasses of abstract base protocol classes may implement some or all " -"methods. All these methods are callbacks: they are called by transports on " -"certain events, for example when some data is received. A base protocol " -"method should be called by the corresponding transport." -msgstr "" - -#: ../../library/asyncio-protocol.rst:459 -msgid "Base Protocols" -msgstr "" - -#: ../../library/asyncio-protocol.rst:463 -msgid "Base protocol with methods that all protocols share." -msgstr "" - -#: ../../library/asyncio-protocol.rst:467 -msgid "" -"The base class for implementing streaming protocols (TCP, Unix sockets, " -"etc)." -msgstr "" - -#: ../../library/asyncio-protocol.rst:472 -msgid "" -"A base class for implementing streaming protocols with manual control of the" -" receive buffer." -msgstr "" - -#: ../../library/asyncio-protocol.rst:477 -msgid "The base class for implementing datagram (UDP) protocols." -msgstr "" - -#: ../../library/asyncio-protocol.rst:481 -msgid "" -"The base class for implementing protocols communicating with child processes" -" (unidirectional pipes)." -msgstr "" - -#: ../../library/asyncio-protocol.rst:486 -msgid "Base Protocol" -msgstr "" - -#: ../../library/asyncio-protocol.rst:488 -msgid "All asyncio protocols can implement Base Protocol callbacks." -msgstr "" - -#: ../../library/asyncio-protocol.rst:491 -msgid "Connection Callbacks" -msgstr "" - -#: ../../library/asyncio-protocol.rst:492 -msgid "" -"Connection callbacks are called on all protocols, exactly once per a " -"successful connection. All other protocol callbacks can only be called " -"between those two methods." -msgstr "" - -#: ../../library/asyncio-protocol.rst:498 -msgid "Called when a connection is made." -msgstr "" - -#: ../../library/asyncio-protocol.rst:500 -msgid "" -"The *transport* argument is the transport representing the connection. The " -"protocol is responsible for storing the reference to its transport." -msgstr "" - -#: ../../library/asyncio-protocol.rst:506 -msgid "Called when the connection is lost or closed." -msgstr "" - -#: ../../library/asyncio-protocol.rst:508 -msgid "" -"The argument is either an exception object or :const:`None`. The latter " -"means a regular EOF is received, or the connection was aborted or closed by " -"this side of the connection." -msgstr "" - -#: ../../library/asyncio-protocol.rst:514 -msgid "Flow Control Callbacks" -msgstr "" - -#: ../../library/asyncio-protocol.rst:515 -msgid "" -"Flow control callbacks can be called by transports to pause or resume " -"writing performed by the protocol." -msgstr "" - -#: ../../library/asyncio-protocol.rst:518 -msgid "" -"See the documentation of the :meth:`~WriteTransport.set_write_buffer_limits`" -" method for more details." -msgstr "" - -#: ../../library/asyncio-protocol.rst:523 -msgid "Called when the transport's buffer goes over the high watermark." -msgstr "" - -#: ../../library/asyncio-protocol.rst:527 -msgid "Called when the transport's buffer drains below the low watermark." -msgstr "" - -#: ../../library/asyncio-protocol.rst:529 -msgid "" -"If the buffer size equals the high watermark, " -":meth:`~BaseProtocol.pause_writing` is not called: the buffer size must go " -"strictly over." -msgstr "" - -#: ../../library/asyncio-protocol.rst:533 -msgid "" -"Conversely, :meth:`~BaseProtocol.resume_writing` is called when the buffer " -"size is equal or lower than the low watermark. These end conditions are " -"important to ensure that things go as expected when either mark is zero." -msgstr "" - -#: ../../library/asyncio-protocol.rst:540 -msgid "Streaming Protocols" -msgstr "" - -#: ../../library/asyncio-protocol.rst:542 -msgid "" -"Event methods, such as :meth:`loop.create_server`, " -":meth:`loop.create_unix_server`, :meth:`loop.create_connection`, " -":meth:`loop.create_unix_connection`, :meth:`loop.connect_accepted_socket`, " -":meth:`loop.connect_read_pipe`, and :meth:`loop.connect_write_pipe` accept " -"factories that return streaming protocols." -msgstr "" - -#: ../../library/asyncio-protocol.rst:550 -msgid "" -"Called when some data is received. *data* is a non-empty bytes object " -"containing the incoming data." -msgstr "" - -#: ../../library/asyncio-protocol.rst:553 -msgid "" -"Whether the data is buffered, chunked or reassembled depends on the " -"transport. In general, you shouldn't rely on specific semantics and instead" -" make your parsing generic and flexible. However, data is always received in" -" the correct order." -msgstr "" - -#: ../../library/asyncio-protocol.rst:558 -msgid "" -"The method can be called an arbitrary number of times while a connection is " -"open." -msgstr "" - -#: ../../library/asyncio-protocol.rst:561 -msgid "" -"However, :meth:`protocol.eof_received() ` is called " -"at most once. Once ``eof_received()`` is called, ``data_received()`` is not" -" called anymore." -msgstr "" - -#: ../../library/asyncio-protocol.rst:567 -msgid "" -"Called when the other end signals it won't send any more data (for example " -"by calling :meth:`transport.write_eof() `, if the " -"other end also uses asyncio)." -msgstr "" - -#: ../../library/asyncio-protocol.rst:572 -msgid "" -"This method may return a false value (including ``None``), in which case the" -" transport will close itself. Conversely, if this method returns a true " -"value, the protocol used determines whether to close the transport. Since " -"the default implementation returns ``None``, it implicitly closes the " -"connection." -msgstr "" - -#: ../../library/asyncio-protocol.rst:578 -msgid "" -"Some transports, including SSL, don't support half-closed connections, in " -"which case returning true from this method will result in the connection " -"being closed." -msgstr "" - -#: ../../library/asyncio-protocol.rst:583 -#: ../../library/asyncio-protocol.rst:641 -msgid "State machine:" -msgstr "" - -#: ../../library/asyncio-protocol.rst:585 -msgid "" -"start -> connection_made\n" -" [-> data_received]*\n" -" [-> eof_received]?\n" -"-> connection_lost -> end" -msgstr "" - -#: ../../library/asyncio-protocol.rst:594 -msgid "Buffered Streaming Protocols" -msgstr "" - -#: ../../library/asyncio-protocol.rst:598 -msgid "" -"Buffered Protocols can be used with any event loop method that supports " -"`Streaming Protocols`_." -msgstr "" - -#: ../../library/asyncio-protocol.rst:601 -msgid "" -"``BufferedProtocol`` implementations allow explicit manual allocation and " -"control of the receive buffer. Event loops can then use the buffer provided" -" by the protocol to avoid unnecessary data copies. This can result in " -"noticeable performance improvement for protocols that receive big amounts of" -" data. Sophisticated protocol implementations can significantly reduce the " -"number of buffer allocations." -msgstr "" - -#: ../../library/asyncio-protocol.rst:608 -msgid "" -"The following callbacks are called on :class:`BufferedProtocol` instances:" -msgstr "" - -#: ../../library/asyncio-protocol.rst:613 -msgid "Called to allocate a new receive buffer." -msgstr "" - -#: ../../library/asyncio-protocol.rst:615 -msgid "" -"*sizehint* is the recommended minimum size for the returned buffer. It is " -"acceptable to return smaller or larger buffers than what *sizehint* " -"suggests. When set to -1, the buffer size can be arbitrary. It is an error " -"to return a buffer with a zero size." -msgstr "" - -#: ../../library/asyncio-protocol.rst:620 -msgid "" -"``get_buffer()`` must return an object implementing the :ref:`buffer " -"protocol `." -msgstr "" - -#: ../../library/asyncio-protocol.rst:625 -msgid "Called when the buffer was updated with the received data." -msgstr "" - -#: ../../library/asyncio-protocol.rst:627 -msgid "*nbytes* is the total number of bytes that were written to the buffer." -msgstr "" - -#: ../../library/asyncio-protocol.rst:631 -msgid "" -"See the documentation of the :meth:`protocol.eof_received() " -"` method." -msgstr "" - -#: ../../library/asyncio-protocol.rst:635 -msgid "" -":meth:`~BufferedProtocol.get_buffer` can be called an arbitrary number of " -"times during a connection. However, :meth:`protocol.eof_received() " -"` is called at most once and, if called, " -":meth:`~BufferedProtocol.get_buffer` and " -":meth:`~BufferedProtocol.buffer_updated` won't be called after it." -msgstr "" - -#: ../../library/asyncio-protocol.rst:643 -msgid "" -"start -> connection_made\n" -" [-> get_buffer\n" -" [-> buffer_updated]?\n" -" ]*\n" -" [-> eof_received]?\n" -"-> connection_lost -> end" -msgstr "" - -#: ../../library/asyncio-protocol.rst:654 -msgid "Datagram Protocols" -msgstr "" - -#: ../../library/asyncio-protocol.rst:656 -msgid "" -"Datagram Protocol instances should be constructed by protocol factories " -"passed to the :meth:`loop.create_datagram_endpoint` method." -msgstr "" - -#: ../../library/asyncio-protocol.rst:661 -msgid "" -"Called when a datagram is received. *data* is a bytes object containing the" -" incoming data. *addr* is the address of the peer sending the data; the " -"exact format depends on the transport." -msgstr "" - -#: ../../library/asyncio-protocol.rst:667 -msgid "" -"Called when a previous send or receive operation raises an :class:`OSError`." -" *exc* is the :class:`OSError` instance." -msgstr "" - -#: ../../library/asyncio-protocol.rst:670 -msgid "" -"This method is called in rare conditions, when the transport (e.g. UDP) " -"detects that a datagram could not be delivered to its recipient. In many " -"conditions though, undeliverable datagrams will be silently dropped." -msgstr "" - -#: ../../library/asyncio-protocol.rst:677 -msgid "" -"On BSD systems (macOS, FreeBSD, etc.) flow control is not supported for " -"datagram protocols, because there is no reliable way to detect send failures" -" caused by writing too many packets." -msgstr "" - -#: ../../library/asyncio-protocol.rst:681 -msgid "" -"The socket always appears 'ready' and excess packets are dropped. An " -":class:`OSError` with ``errno`` set to :const:`errno.ENOBUFS` may or may not" -" be raised; if it is raised, it will be reported to " -":meth:`DatagramProtocol.error_received` but otherwise ignored." -msgstr "" - -#: ../../library/asyncio-protocol.rst:690 -msgid "Subprocess Protocols" -msgstr "" - -#: ../../library/asyncio-protocol.rst:692 -msgid "" -"Subprocess Protocol instances should be constructed by protocol factories " -"passed to the :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell`" -" methods." -msgstr "" - -#: ../../library/asyncio-protocol.rst:698 -msgid "" -"Called when the child process writes data into its stdout or stderr pipe." -msgstr "" - -#: ../../library/asyncio-protocol.rst:701 -msgid "*fd* is the integer file descriptor of the pipe." -msgstr "" - -#: ../../library/asyncio-protocol.rst:703 -msgid "*data* is a non-empty bytes object containing the received data." -msgstr "" - -#: ../../library/asyncio-protocol.rst:707 -msgid "" -"Called when one of the pipes communicating with the child process is closed." -msgstr "" - -#: ../../library/asyncio-protocol.rst:710 -msgid "*fd* is the integer file descriptor that was closed." -msgstr "" - -#: ../../library/asyncio-protocol.rst:714 -msgid "Called when the child process has exited." -msgstr "" - -#: ../../library/asyncio-protocol.rst:716 -msgid "" -"It can be called before :meth:`~SubprocessProtocol.pipe_data_received` and " -":meth:`~SubprocessProtocol.pipe_connection_lost` methods." -msgstr "" - -#: ../../library/asyncio-protocol.rst:721 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/asyncio-protocol.rst:726 -msgid "TCP Echo Server" -msgstr "" - -#: ../../library/asyncio-protocol.rst:728 -msgid "" -"Create a TCP echo server using the :meth:`loop.create_server` method, send " -"back received data, and close the connection::" -msgstr "" - -#: ../../library/asyncio-protocol.rst:731 -msgid "" -"import asyncio\n" -"\n" -"\n" -"class EchoServerProtocol(asyncio.Protocol):\n" -" def connection_made(self, transport):\n" -" peername = transport.get_extra_info('peername')\n" -" print('Connection from {}'.format(peername))\n" -" self.transport = transport\n" -"\n" -" def data_received(self, data):\n" -" message = data.decode()\n" -" print('Data received: {!r}'.format(message))\n" -"\n" -" print('Send: {!r}'.format(message))\n" -" self.transport.write(data)\n" -"\n" -" print('Close the client socket')\n" -" self.transport.close()\n" -"\n" -"\n" -"async def main():\n" -" # Get a reference to the event loop as we plan to use\n" -" # low-level APIs.\n" -" loop = asyncio.get_running_loop()\n" -"\n" -" server = await loop.create_server(\n" -" EchoServerProtocol,\n" -" '127.0.0.1', 8888)\n" -"\n" -" async with server:\n" -" await server.serve_forever()\n" -"\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-protocol.rst:769 -msgid "" -"The :ref:`TCP echo server using streams ` " -"example uses the high-level :func:`asyncio.start_server` function." -msgstr "" - -#: ../../library/asyncio-protocol.rst:775 -msgid "TCP Echo Client" -msgstr "" - -#: ../../library/asyncio-protocol.rst:777 -msgid "" -"A TCP echo client using the :meth:`loop.create_connection` method, sends " -"data, and waits until the connection is closed::" -msgstr "" - -#: ../../library/asyncio-protocol.rst:780 -msgid "" -"import asyncio\n" -"\n" -"\n" -"class EchoClientProtocol(asyncio.Protocol):\n" -" def __init__(self, message, on_con_lost):\n" -" self.message = message\n" -" self.on_con_lost = on_con_lost\n" -"\n" -" def connection_made(self, transport):\n" -" transport.write(self.message.encode())\n" -" print('Data sent: {!r}'.format(self.message))\n" -"\n" -" def data_received(self, data):\n" -" print('Data received: {!r}'.format(data.decode()))\n" -"\n" -" def connection_lost(self, exc):\n" -" print('The server closed the connection')\n" -" self.on_con_lost.set_result(True)\n" -"\n" -"\n" -"async def main():\n" -" # Get a reference to the event loop as we plan to use\n" -" # low-level APIs.\n" -" loop = asyncio.get_running_loop()\n" -"\n" -" on_con_lost = loop.create_future()\n" -" message = 'Hello World!'\n" -"\n" -" transport, protocol = await loop.create_connection(\n" -" lambda: EchoClientProtocol(message, on_con_lost),\n" -" '127.0.0.1', 8888)\n" -"\n" -" # Wait until the protocol signals that the connection\n" -" # is lost and close the transport.\n" -" try:\n" -" await on_con_lost\n" -" finally:\n" -" transport.close()\n" -"\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-protocol.rst:825 -msgid "" -"The :ref:`TCP echo client using streams ` " -"example uses the high-level :func:`asyncio.open_connection` function." -msgstr "" - -#: ../../library/asyncio-protocol.rst:832 -msgid "UDP Echo Server" -msgstr "" - -#: ../../library/asyncio-protocol.rst:834 -msgid "" -"A UDP echo server, using the :meth:`loop.create_datagram_endpoint` method, " -"sends back received data::" -msgstr "" - -#: ../../library/asyncio-protocol.rst:837 -msgid "" -"import asyncio\n" -"\n" -"\n" -"class EchoServerProtocol:\n" -" def connection_made(self, transport):\n" -" self.transport = transport\n" -"\n" -" def datagram_received(self, data, addr):\n" -" message = data.decode()\n" -" print('Received %r from %s' % (message, addr))\n" -" print('Send %r to %s' % (message, addr))\n" -" self.transport.sendto(data, addr)\n" -"\n" -"\n" -"async def main():\n" -" print(\"Starting UDP server\")\n" -"\n" -" # Get a reference to the event loop as we plan to use\n" -" # low-level APIs.\n" -" loop = asyncio.get_running_loop()\n" -"\n" -" # One protocol instance will be created to serve all\n" -" # client requests.\n" -" transport, protocol = await loop.create_datagram_endpoint(\n" -" EchoServerProtocol,\n" -" local_addr=('127.0.0.1', 9999))\n" -"\n" -" try:\n" -" await asyncio.sleep(3600) # Serve for 1 hour.\n" -" finally:\n" -" transport.close()\n" -"\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-protocol.rst:876 -msgid "UDP Echo Client" -msgstr "" - -#: ../../library/asyncio-protocol.rst:878 -msgid "" -"A UDP echo client, using the :meth:`loop.create_datagram_endpoint` method, " -"sends data and closes the transport when it receives the answer::" -msgstr "" - -#: ../../library/asyncio-protocol.rst:881 -msgid "" -"import asyncio\n" -"\n" -"\n" -"class EchoClientProtocol:\n" -" def __init__(self, message, on_con_lost):\n" -" self.message = message\n" -" self.on_con_lost = on_con_lost\n" -" self.transport = None\n" -"\n" -" def connection_made(self, transport):\n" -" self.transport = transport\n" -" print('Send:', self.message)\n" -" self.transport.sendto(self.message.encode())\n" -"\n" -" def datagram_received(self, data, addr):\n" -" print(\"Received:\", data.decode())\n" -"\n" -" print(\"Close the socket\")\n" -" self.transport.close()\n" -"\n" -" def error_received(self, exc):\n" -" print('Error received:', exc)\n" -"\n" -" def connection_lost(self, exc):\n" -" print(\"Connection closed\")\n" -" self.on_con_lost.set_result(True)\n" -"\n" -"\n" -"async def main():\n" -" # Get a reference to the event loop as we plan to use\n" -" # low-level APIs.\n" -" loop = asyncio.get_running_loop()\n" -"\n" -" on_con_lost = loop.create_future()\n" -" message = \"Hello World!\"\n" -"\n" -" transport, protocol = await loop.create_datagram_endpoint(\n" -" lambda: EchoClientProtocol(message, on_con_lost),\n" -" remote_addr=('127.0.0.1', 9999))\n" -"\n" -" try:\n" -" await on_con_lost\n" -" finally:\n" -" transport.close()\n" -"\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-protocol.rst:933 -msgid "Connecting Existing Sockets" -msgstr "" - -#: ../../library/asyncio-protocol.rst:935 -msgid "" -"Wait until a socket receives data using the :meth:`loop.create_connection` " -"method with a protocol::" -msgstr "" - -#: ../../library/asyncio-protocol.rst:938 -msgid "" -"import asyncio\n" -"import socket\n" -"\n" -"\n" -"class MyProtocol(asyncio.Protocol):\n" -"\n" -" def __init__(self, on_con_lost):\n" -" self.transport = None\n" -" self.on_con_lost = on_con_lost\n" -"\n" -" def connection_made(self, transport):\n" -" self.transport = transport\n" -"\n" -" def data_received(self, data):\n" -" print(\"Received:\", data.decode())\n" -"\n" -" # We are done: close the transport;\n" -" # connection_lost() will be called automatically.\n" -" self.transport.close()\n" -"\n" -" def connection_lost(self, exc):\n" -" # The socket has been closed\n" -" self.on_con_lost.set_result(True)\n" -"\n" -"\n" -"async def main():\n" -" # Get a reference to the event loop as we plan to use\n" -" # low-level APIs.\n" -" loop = asyncio.get_running_loop()\n" -" on_con_lost = loop.create_future()\n" -"\n" -" # Create a pair of connected sockets\n" -" rsock, wsock = socket.socketpair()\n" -"\n" -" # Register the socket to wait for data.\n" -" transport, protocol = await loop.create_connection(\n" -" lambda: MyProtocol(on_con_lost), sock=rsock)\n" -"\n" -" # Simulate the reception of data from the network.\n" -" loop.call_soon(wsock.send, 'abc'.encode())\n" -"\n" -" try:\n" -" await protocol.on_con_lost\n" -" finally:\n" -" transport.close()\n" -" wsock.close()\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-protocol.rst:989 -msgid "" -"The :ref:`watch a file descriptor for read events " -"` example uses the low-level " -":meth:`loop.add_reader` method to register an FD." -msgstr "" - -#: ../../library/asyncio-protocol.rst:993 -msgid "" -"The :ref:`register an open socket to wait for data using streams " -"` example uses high-level streams" -" created by the :func:`open_connection` function in a coroutine." -msgstr "" - -#: ../../library/asyncio-protocol.rst:1000 -msgid "loop.subprocess_exec() and SubprocessProtocol" -msgstr "" - -#: ../../library/asyncio-protocol.rst:1002 -msgid "" -"An example of a subprocess protocol used to get the output of a subprocess " -"and to wait for the subprocess exit." -msgstr "" - -#: ../../library/asyncio-protocol.rst:1005 -msgid "The subprocess is created by the :meth:`loop.subprocess_exec` method::" -msgstr "" - -#: ../../library/asyncio-protocol.rst:1007 -msgid "" -"import asyncio\n" -"import sys\n" -"\n" -"class DateProtocol(asyncio.SubprocessProtocol):\n" -" def __init__(self, exit_future):\n" -" self.exit_future = exit_future\n" -" self.output = bytearray()\n" -" self.pipe_closed = False\n" -" self.exited = False\n" -"\n" -" def pipe_connection_lost(self, fd, exc):\n" -" self.pipe_closed = True\n" -" self.check_for_exit()\n" -"\n" -" def pipe_data_received(self, fd, data):\n" -" self.output.extend(data)\n" -"\n" -" def process_exited(self):\n" -" self.exited = True\n" -" # process_exited() method can be called before\n" -" # pipe_connection_lost() method: wait until both methods are\n" -" # called.\n" -" self.check_for_exit()\n" -"\n" -" def check_for_exit(self):\n" -" if self.pipe_closed and self.exited:\n" -" self.exit_future.set_result(True)\n" -"\n" -"async def get_date():\n" -" # Get a reference to the event loop as we plan to use\n" -" # low-level APIs.\n" -" loop = asyncio.get_running_loop()\n" -"\n" -" code = 'import datetime; print(datetime.datetime.now())'\n" -" exit_future = asyncio.Future(loop=loop)\n" -"\n" -" # Create the subprocess controlled by DateProtocol;\n" -" # redirect the standard output into a pipe.\n" -" transport, protocol = await loop.subprocess_exec(\n" -" lambda: DateProtocol(exit_future),\n" -" sys.executable, '-c', code,\n" -" stdin=None, stderr=None)\n" -"\n" -" # Wait for the subprocess exit using the process_exited()\n" -" # method of the protocol.\n" -" await exit_future\n" -"\n" -" # Close the stdout pipe.\n" -" transport.close()\n" -"\n" -" # Read the output which was collected by the\n" -" # pipe_data_received() method of the protocol.\n" -" data = bytes(protocol.output)\n" -" return data.decode('ascii').rstrip()\n" -"\n" -"date = asyncio.run(get_date())\n" -"print(f\"Current date: {date}\")" -msgstr "" - -#: ../../library/asyncio-protocol.rst:1065 -msgid "" -"See also the :ref:`same example ` " -"written using high-level APIs." -msgstr "" diff --git a/python-newest.library--asyncio-queue/id.po b/python-newest.library--asyncio-queue/id.po deleted file mode 100644 index f8e4a91..0000000 --- a/python-newest.library--asyncio-queue/id.po +++ /dev/null @@ -1,310 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-queue.rst:7 -msgid "Queues" -msgstr "" - -#: ../../library/asyncio-queue.rst:9 -msgid "**Source code:** :source:`Lib/asyncio/queues.py`" -msgstr "" - -#: ../../library/asyncio-queue.rst:13 -msgid "" -"asyncio queues are designed to be similar to classes of the :mod:`queue` " -"module. Although asyncio queues are not thread-safe, they are designed to " -"be used specifically in async/await code." -msgstr "" - -#: ../../library/asyncio-queue.rst:17 -msgid "" -"Note that methods of asyncio queues don't have a *timeout* parameter; use " -":func:`asyncio.wait_for` function to do queue operations with a timeout." -msgstr "" - -#: ../../library/asyncio-queue.rst:21 -msgid "See also the `Examples`_ section below." -msgstr "" - -#: ../../library/asyncio-queue.rst:24 -msgid "Queue" -msgstr "" - -#: ../../library/asyncio-queue.rst:28 -msgid "A first in, first out (FIFO) queue." -msgstr "" - -#: ../../library/asyncio-queue.rst:30 -msgid "" -"If *maxsize* is less than or equal to zero, the queue size is infinite. If " -"it is an integer greater than ``0``, then ``await put()`` blocks when the " -"queue reaches *maxsize* until an item is removed by :meth:`get`." -msgstr "" - -#: ../../library/asyncio-queue.rst:35 -msgid "" -"Unlike the standard library threading :mod:`queue`, the size of the queue is" -" always known and can be returned by calling the :meth:`qsize` method." -msgstr "" - -#: ../../library/asyncio-queue.rst:39 -msgid "Removed the *loop* parameter." -msgstr "" - -#: ../../library/asyncio-queue.rst:43 -msgid "This class is :ref:`not thread safe `." -msgstr "" - -#: ../../library/asyncio-queue.rst:47 -msgid "Number of items allowed in the queue." -msgstr "" - -#: ../../library/asyncio-queue.rst:51 -msgid "Return ``True`` if the queue is empty, ``False`` otherwise." -msgstr "" - -#: ../../library/asyncio-queue.rst:55 -msgid "Return ``True`` if there are :attr:`maxsize` items in the queue." -msgstr "" - -#: ../../library/asyncio-queue.rst:57 -msgid "" -"If the queue was initialized with ``maxsize=0`` (the default), then " -":meth:`full` never returns ``True``." -msgstr "" - -#: ../../library/asyncio-queue.rst:63 -msgid "" -"Remove and return an item from the queue. If queue is empty, wait until an " -"item is available." -msgstr "" - -#: ../../library/asyncio-queue.rst:66 -msgid "" -"Raises :exc:`QueueShutDown` if the queue has been shut down and is empty, or" -" if the queue has been shut down immediately." -msgstr "" - -#: ../../library/asyncio-queue.rst:71 -msgid "" -"Return an item if one is immediately available, else raise " -":exc:`QueueEmpty`." -msgstr "" - -#: ../../library/asyncio-queue.rst:77 -msgid "Block until all items in the queue have been received and processed." -msgstr "" - -#: ../../library/asyncio-queue.rst:79 -msgid "" -"The count of unfinished tasks goes up whenever an item is added to the " -"queue. The count goes down whenever a consumer coroutine calls " -":meth:`task_done` to indicate that the item was retrieved and all work on it" -" is complete. When the count of unfinished tasks drops to zero, " -":meth:`join` unblocks." -msgstr "" - -#: ../../library/asyncio-queue.rst:88 -msgid "" -"Put an item into the queue. If the queue is full, wait until a free slot is " -"available before adding the item." -msgstr "" - -#: ../../library/asyncio-queue.rst:91 -msgid "Raises :exc:`QueueShutDown` if the queue has been shut down." -msgstr "" - -#: ../../library/asyncio-queue.rst:95 -msgid "Put an item into the queue without blocking." -msgstr "" - -#: ../../library/asyncio-queue.rst:97 -msgid "If no free slot is immediately available, raise :exc:`QueueFull`." -msgstr "" - -#: ../../library/asyncio-queue.rst:101 -msgid "Return the number of items in the queue." -msgstr "" - -#: ../../library/asyncio-queue.rst:105 -msgid "" -"Shut down the queue, making :meth:`~Queue.get` and :meth:`~Queue.put` raise " -":exc:`QueueShutDown`." -msgstr "" - -#: ../../library/asyncio-queue.rst:108 -msgid "" -"By default, :meth:`~Queue.get` on a shut down queue will only raise once the" -" queue is empty. Set *immediate* to true to make :meth:`~Queue.get` raise " -"immediately instead." -msgstr "" - -#: ../../library/asyncio-queue.rst:112 -msgid "" -"All blocked callers of :meth:`~Queue.put` and :meth:`~Queue.get` will be " -"unblocked. If *immediate* is true, a task will be marked as done for each " -"remaining item in the queue, which may unblock callers of " -":meth:`~Queue.join`." -msgstr "" - -#: ../../library/asyncio-queue.rst:121 -msgid "Indicate that a formerly enqueued work item is complete." -msgstr "" - -#: ../../library/asyncio-queue.rst:123 -msgid "" -"Used by queue consumers. For each :meth:`~Queue.get` used to fetch a work " -"item, a subsequent call to :meth:`task_done` tells the queue that the " -"processing on the work item is complete." -msgstr "" - -#: ../../library/asyncio-queue.rst:127 -msgid "" -"If a :meth:`join` is currently blocking, it will resume when all items have " -"been processed (meaning that a :meth:`task_done` call was received for every" -" item that had been :meth:`~Queue.put` into the queue)." -msgstr "" - -#: ../../library/asyncio-queue.rst:132 -msgid "" -"``shutdown(immediate=True)`` calls :meth:`task_done` for each remaining item" -" in the queue." -msgstr "" - -#: ../../library/asyncio-queue.rst:135 -msgid "" -"Raises :exc:`ValueError` if called more times than there were items placed " -"in the queue." -msgstr "" - -#: ../../library/asyncio-queue.rst:140 -msgid "Priority Queue" -msgstr "" - -#: ../../library/asyncio-queue.rst:144 -msgid "" -"A variant of :class:`Queue`; retrieves entries in priority order (lowest " -"first)." -msgstr "" - -#: ../../library/asyncio-queue.rst:147 -msgid "Entries are typically tuples of the form ``(priority_number, data)``." -msgstr "" - -#: ../../library/asyncio-queue.rst:152 -msgid "LIFO Queue" -msgstr "" - -#: ../../library/asyncio-queue.rst:156 -msgid "" -"A variant of :class:`Queue` that retrieves most recently added entries first" -" (last in, first out)." -msgstr "" - -#: ../../library/asyncio-queue.rst:161 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/asyncio-queue.rst:165 -msgid "" -"This exception is raised when the :meth:`~Queue.get_nowait` method is called" -" on an empty queue." -msgstr "" - -#: ../../library/asyncio-queue.rst:171 -msgid "" -"Exception raised when the :meth:`~Queue.put_nowait` method is called on a " -"queue that has reached its *maxsize*." -msgstr "" - -#: ../../library/asyncio-queue.rst:177 -msgid "" -"Exception raised when :meth:`~Queue.put` or :meth:`~Queue.get` is called on " -"a queue which has been shut down." -msgstr "" - -#: ../../library/asyncio-queue.rst:184 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/asyncio-queue.rst:188 -msgid "" -"Queues can be used to distribute workload between several concurrent tasks::" -msgstr "" - -#: ../../library/asyncio-queue.rst:191 -msgid "" -"import asyncio\n" -"import random\n" -"import time\n" -"\n" -"\n" -"async def worker(name, queue):\n" -" while True:\n" -" # Get a \"work item\" out of the queue.\n" -" sleep_for = await queue.get()\n" -"\n" -" # Sleep for the \"sleep_for\" seconds.\n" -" await asyncio.sleep(sleep_for)\n" -"\n" -" # Notify the queue that the \"work item\" has been processed.\n" -" queue.task_done()\n" -"\n" -" print(f'{name} has slept for {sleep_for:.2f} seconds')\n" -"\n" -"\n" -"async def main():\n" -" # Create a queue that we will use to store our \"workload\".\n" -" queue = asyncio.Queue()\n" -"\n" -" # Generate random timings and put them into the queue.\n" -" total_sleep_time = 0\n" -" for _ in range(20):\n" -" sleep_for = random.uniform(0.05, 1.0)\n" -" total_sleep_time += sleep_for\n" -" queue.put_nowait(sleep_for)\n" -"\n" -" # Create three worker tasks to process the queue concurrently.\n" -" tasks = []\n" -" for i in range(3):\n" -" task = asyncio.create_task(worker(f'worker-{i}', queue))\n" -" tasks.append(task)\n" -"\n" -" # Wait until the queue is fully processed.\n" -" started_at = time.monotonic()\n" -" await queue.join()\n" -" total_slept_for = time.monotonic() - started_at\n" -"\n" -" # Cancel our worker tasks.\n" -" for task in tasks:\n" -" task.cancel()\n" -" # Wait until all worker tasks are cancelled.\n" -" await asyncio.gather(*tasks, return_exceptions=True)\n" -"\n" -" print('====')\n" -" print(f'3 workers slept in parallel for {total_slept_for:.2f} seconds')\n" -" print(f'total expected sleep time: {total_sleep_time:.2f} seconds')\n" -"\n" -"\n" -"asyncio.run(main())" -msgstr "" diff --git a/python-newest.library--asyncio-runner/id.po b/python-newest.library--asyncio-runner/id.po deleted file mode 100644 index c3e6860..0000000 --- a/python-newest.library--asyncio-runner/id.po +++ /dev/null @@ -1,261 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2022 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Last-Translator: oon arfiandwi , 2022\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-runner.rst:6 -msgid "Runners" -msgstr "" - -#: ../../library/asyncio-runner.rst:8 -msgid "**Source code:** :source:`Lib/asyncio/runners.py`" -msgstr "" - -#: ../../library/asyncio-runner.rst:11 -msgid "" -"This section outlines high-level asyncio primitives to run asyncio code." -msgstr "" - -#: ../../library/asyncio-runner.rst:13 -msgid "" -"They are built on top of an :ref:`event loop ` with the " -"aim to simplify async code usage for common wide-spread scenarios." -msgstr "" - -#: ../../library/asyncio-runner.rst:23 -msgid "Running an asyncio Program" -msgstr "" - -#: ../../library/asyncio-runner.rst:27 -msgid "Execute *coro* in an asyncio event loop and return the result." -msgstr "" - -#: ../../library/asyncio-runner.rst:29 ../../library/asyncio-runner.rst:121 -msgid "The argument can be any awaitable object." -msgstr "" - -#: ../../library/asyncio-runner.rst:31 -msgid "" -"This function runs the awaitable, taking care of managing the asyncio event " -"loop, *finalizing asynchronous generators*, and closing the executor." -msgstr "" - -#: ../../library/asyncio-runner.rst:35 ../../library/asyncio-runner.rst:131 -msgid "" -"This function cannot be called when another asyncio event loop is running in" -" the same thread." -msgstr "" - -#: ../../library/asyncio-runner.rst:38 ../../library/asyncio-runner.rst:97 -msgid "" -"If *debug* is ``True``, the event loop will be run in debug mode. ``False`` " -"disables debug mode explicitly. ``None`` is used to respect the global " -":ref:`asyncio-debug-mode` settings." -msgstr "" - -#: ../../library/asyncio-runner.rst:42 -msgid "" -"If *loop_factory* is not ``None``, it is used to create a new event loop; " -"otherwise :func:`asyncio.new_event_loop` is used. The loop is closed at the " -"end. This function should be used as a main entry point for asyncio " -"programs, and should ideally only be called once. It is recommended to use " -"*loop_factory* to configure the event loop instead of policies. Passing " -":class:`asyncio.EventLoop` allows running asyncio without the policy system." -msgstr "" - -#: ../../library/asyncio-runner.rst:50 -msgid "" -"The executor is given a timeout duration of 5 minutes to shutdown. If the " -"executor hasn't finished within that duration, a warning is emitted and the " -"executor is closed." -msgstr "" - -#: ../../library/asyncio-runner.rst:54 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/asyncio-runner.rst:56 -msgid "" -"async def main():\n" -" await asyncio.sleep(1)\n" -" print('hello')\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-runner.rst:64 -msgid "Updated to use :meth:`loop.shutdown_default_executor`." -msgstr "" - -#: ../../library/asyncio-runner.rst:69 -msgid "" -"*debug* is ``None`` by default to respect the global debug mode settings." -msgstr "" - -#: ../../library/asyncio-runner.rst:73 -msgid "Added *loop_factory* parameter." -msgstr "" - -#: ../../library/asyncio-runner.rst:77 ../../library/asyncio-runner.rst:136 -msgid "*coro* can be any awaitable object." -msgstr "" - -#: ../../library/asyncio-runner.rst:81 -msgid "" -"The :mod:`!asyncio` policy system is deprecated and will be removed in " -"Python 3.16; from there on, an explicit *loop_factory* is needed to " -"configure the event loop." -msgstr "" - -#: ../../library/asyncio-runner.rst:87 -msgid "Runner context manager" -msgstr "" - -#: ../../library/asyncio-runner.rst:91 -msgid "" -"A context manager that simplifies *multiple* async function calls in the " -"same context." -msgstr "" - -#: ../../library/asyncio-runner.rst:94 -msgid "" -"Sometimes several top-level async functions should be called in the same " -":ref:`event loop ` and :class:`contextvars.Context`." -msgstr "" - -#: ../../library/asyncio-runner.rst:101 -msgid "" -"*loop_factory* could be used for overriding the loop creation. It is the " -"responsibility of the *loop_factory* to set the created loop as the current " -"one. By default :func:`asyncio.new_event_loop` is used and set as current " -"event loop with :func:`asyncio.set_event_loop` if *loop_factory* is " -"``None``." -msgstr "" - -#: ../../library/asyncio-runner.rst:106 -msgid "" -"Basically, :func:`asyncio.run` example can be rewritten with the runner " -"usage::" -msgstr "" - -#: ../../library/asyncio-runner.rst:108 -msgid "" -"async def main():\n" -" await asyncio.sleep(1)\n" -" print('hello')\n" -"\n" -"with asyncio.Runner() as runner:\n" -" runner.run(main())" -msgstr "" - -#: ../../library/asyncio-runner.rst:119 -msgid "Execute *coro* in the embedded event loop." -msgstr "" - -#: ../../library/asyncio-runner.rst:123 -msgid "If the argument is a coroutine, it is wrapped in a Task." -msgstr "" - -#: ../../library/asyncio-runner.rst:125 -msgid "" -"An optional keyword-only *context* argument allows specifying a custom " -":class:`contextvars.Context` for the code to run in. The runner's default " -"context is used if context is ``None``." -msgstr "" - -#: ../../library/asyncio-runner.rst:129 -msgid "Returns the awaitable's result or raises an exception." -msgstr "" - -#: ../../library/asyncio-runner.rst:140 -msgid "Close the runner." -msgstr "" - -#: ../../library/asyncio-runner.rst:142 -msgid "" -"Finalize asynchronous generators, shutdown default executor, close the event" -" loop and release embedded :class:`contextvars.Context`." -msgstr "" - -#: ../../library/asyncio-runner.rst:147 -msgid "Return the event loop associated with the runner instance." -msgstr "" - -#: ../../library/asyncio-runner.rst:151 -msgid "" -":class:`Runner` uses the lazy initialization strategy, its constructor " -"doesn't initialize underlying low-level structures." -msgstr "" - -#: ../../library/asyncio-runner.rst:154 -msgid "" -"Embedded *loop* and *context* are created at the :keyword:`with` body " -"entering or the first call of :meth:`run` or :meth:`get_loop`." -msgstr "" - -#: ../../library/asyncio-runner.rst:159 -msgid "Handling Keyboard Interruption" -msgstr "" - -#: ../../library/asyncio-runner.rst:163 -msgid "" -"When :const:`signal.SIGINT` is raised by :kbd:`Ctrl-C`, " -":exc:`KeyboardInterrupt` exception is raised in the main thread by default. " -"However this doesn't work with :mod:`asyncio` because it can interrupt " -"asyncio internals and can hang the program from exiting." -msgstr "" - -#: ../../library/asyncio-runner.rst:168 -msgid "" -"To mitigate this issue, :mod:`asyncio` handles :const:`signal.SIGINT` as " -"follows:" -msgstr "" - -#: ../../library/asyncio-runner.rst:170 -msgid "" -":meth:`asyncio.Runner.run` installs a custom :const:`signal.SIGINT` handler " -"before any user code is executed and removes it when exiting from the " -"function." -msgstr "" - -#: ../../library/asyncio-runner.rst:172 -msgid "" -"The :class:`~asyncio.Runner` creates the main task for the passed coroutine " -"for its execution." -msgstr "" - -#: ../../library/asyncio-runner.rst:174 -msgid "" -"When :const:`signal.SIGINT` is raised by :kbd:`Ctrl-C`, the custom signal " -"handler cancels the main task by calling :meth:`asyncio.Task.cancel` which " -"raises :exc:`asyncio.CancelledError` inside the main task. This causes the " -"Python stack to unwind, ``try/except`` and ``try/finally`` blocks can be " -"used for resource cleanup. After the main task is cancelled, " -":meth:`asyncio.Runner.run` raises :exc:`KeyboardInterrupt`." -msgstr "" - -#: ../../library/asyncio-runner.rst:180 -msgid "" -"A user could write a tight loop which cannot be interrupted by " -":meth:`asyncio.Task.cancel`, in which case the second following " -":kbd:`Ctrl-C` immediately raises the :exc:`KeyboardInterrupt` without " -"cancelling the main task." -msgstr "" diff --git a/python-newest.library--asyncio-stream/id.po b/python-newest.library--asyncio-stream/id.po deleted file mode 100644 index a3dd2b3..0000000 --- a/python-newest.library--asyncio-stream/id.po +++ /dev/null @@ -1,663 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-stream.rst:7 -msgid "Streams" -msgstr "" - -#: ../../library/asyncio-stream.rst:9 -msgid "**Source code:** :source:`Lib/asyncio/streams.py`" -msgstr "" - -#: ../../library/asyncio-stream.rst:13 -msgid "" -"Streams are high-level async/await-ready primitives to work with network " -"connections. Streams allow sending and receiving data without using " -"callbacks or low-level protocols and transports." -msgstr "" - -#: ../../library/asyncio-stream.rst:19 -msgid "" -"Here is an example of a TCP echo client written using asyncio streams::" -msgstr "" - -#: ../../library/asyncio-stream.rst:22 ../../library/asyncio-stream.rst:430 -msgid "" -"import asyncio\n" -"\n" -"async def tcp_echo_client(message):\n" -" reader, writer = await asyncio.open_connection(\n" -" '127.0.0.1', 8888)\n" -"\n" -" print(f'Send: {message!r}')\n" -" writer.write(message.encode())\n" -" await writer.drain()\n" -"\n" -" data = await reader.read(100)\n" -" print(f'Received: {data.decode()!r}')\n" -"\n" -" print('Close the connection')\n" -" writer.close()\n" -" await writer.wait_closed()\n" -"\n" -"asyncio.run(tcp_echo_client('Hello World!'))" -msgstr "" - -#: ../../library/asyncio-stream.rst:42 -msgid "See also the `Examples`_ section below." -msgstr "" - -#: ../../library/asyncio-stream.rst:46 -msgid "Stream Functions" -msgstr "" - -#: ../../library/asyncio-stream.rst:47 -msgid "" -"The following top-level asyncio functions can be used to create and work " -"with streams:" -msgstr "" - -#: ../../library/asyncio-stream.rst:59 -msgid "" -"Establish a network connection and return a pair of ``(reader, writer)`` " -"objects." -msgstr "" - -#: ../../library/asyncio-stream.rst:62 -msgid "" -"The returned *reader* and *writer* objects are instances of " -":class:`StreamReader` and :class:`StreamWriter` classes." -msgstr "" - -#: ../../library/asyncio-stream.rst:65 ../../library/asyncio-stream.rst:112 -msgid "" -"*limit* determines the buffer size limit used by the returned " -":class:`StreamReader` instance. By default the *limit* is set to 64 KiB." -msgstr "" - -#: ../../library/asyncio-stream.rst:69 -msgid "" -"The rest of the arguments are passed directly to " -":meth:`loop.create_connection`." -msgstr "" - -#: ../../library/asyncio-stream.rst:74 ../../library/asyncio-stream.rst:154 -msgid "" -"The *sock* argument transfers ownership of the socket to the " -":class:`StreamWriter` created. To close the socket, call its " -":meth:`~asyncio.StreamWriter.close` method." -msgstr "" - -#: ../../library/asyncio-stream.rst:78 -msgid "Added the *ssl_handshake_timeout* parameter." -msgstr "" - -#: ../../library/asyncio-stream.rst:81 -msgid "Added the *happy_eyeballs_delay* and *interleave* parameters." -msgstr "" - -#: ../../library/asyncio-stream.rst:84 ../../library/asyncio-stream.rst:128 -#: ../../library/asyncio-stream.rst:164 ../../library/asyncio-stream.rst:195 -msgid "Removed the *loop* parameter." -msgstr "" - -#: ../../library/asyncio-stream.rst:87 ../../library/asyncio-stream.rst:131 -#: ../../library/asyncio-stream.rst:167 ../../library/asyncio-stream.rst:198 -#: ../../library/asyncio-stream.rst:397 -msgid "Added the *ssl_shutdown_timeout* parameter." -msgstr "" - -#: ../../library/asyncio-stream.rst:101 -msgid "Start a socket server." -msgstr "" - -#: ../../library/asyncio-stream.rst:103 -msgid "" -"The *client_connected_cb* callback is called whenever a new client " -"connection is established. It receives a ``(reader, writer)`` pair as two " -"arguments, instances of the :class:`StreamReader` and :class:`StreamWriter` " -"classes." -msgstr "" - -#: ../../library/asyncio-stream.rst:108 -msgid "" -"*client_connected_cb* can be a plain callable or a :ref:`coroutine function " -"`; if it is a coroutine function, it will be automatically " -"scheduled as a :class:`Task`." -msgstr "" - -#: ../../library/asyncio-stream.rst:116 -msgid "" -"The rest of the arguments are passed directly to :meth:`loop.create_server`." -msgstr "" - -#: ../../library/asyncio-stream.rst:121 ../../library/asyncio-stream.rst:185 -msgid "" -"The *sock* argument transfers ownership of the socket to the server created." -" To close the socket, call the server's :meth:`~asyncio.Server.close` " -"method." -msgstr "" - -#: ../../library/asyncio-stream.rst:125 -msgid "Added the *ssl_handshake_timeout* and *start_serving* parameters." -msgstr "" - -#: ../../library/asyncio-stream.rst:134 -msgid "Added the *keep_alive* parameter." -msgstr "" - -#: ../../library/asyncio-stream.rst:139 -msgid "Unix Sockets" -msgstr "" - -#: ../../library/asyncio-stream.rst:145 -msgid "" -"Establish a Unix socket connection and return a pair of ``(reader, " -"writer)``." -msgstr "" - -#: ../../library/asyncio-stream.rst:148 -msgid "Similar to :func:`open_connection` but operates on Unix sockets." -msgstr "" - -#: ../../library/asyncio-stream.rst:150 -msgid "See also the documentation of :meth:`loop.create_unix_connection`." -msgstr "" - -#: ../../library/asyncio-stream.rst:158 ../../library/asyncio-stream.rst:189 -msgid "Availability" -msgstr "" - -#: ../../library/asyncio-stream.rst:160 -msgid "" -"Added the *ssl_handshake_timeout* parameter. The *path* parameter can now be" -" a :term:`path-like object`" -msgstr "" - -#: ../../library/asyncio-stream.rst:177 -msgid "Start a Unix socket server." -msgstr "" - -#: ../../library/asyncio-stream.rst:179 -msgid "Similar to :func:`start_server` but works with Unix sockets." -msgstr "" - -#: ../../library/asyncio-stream.rst:181 -msgid "See also the documentation of :meth:`loop.create_unix_server`." -msgstr "" - -#: ../../library/asyncio-stream.rst:191 -msgid "" -"Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path*" -" parameter can now be a :term:`path-like object`." -msgstr "" - -#: ../../library/asyncio-stream.rst:203 -msgid "StreamReader" -msgstr "" - -#: ../../library/asyncio-stream.rst:207 -msgid "" -"Represents a reader object that provides APIs to read data from the IO " -"stream. As an :term:`asynchronous iterable`, the object supports the " -":keyword:`async for` statement." -msgstr "" - -#: ../../library/asyncio-stream.rst:211 -msgid "" -"It is not recommended to instantiate *StreamReader* objects directly; use " -":func:`open_connection` and :func:`start_server` instead." -msgstr "" - -#: ../../library/asyncio-stream.rst:217 -msgid "Acknowledge the EOF." -msgstr "" - -#: ../../library/asyncio-stream.rst:222 -msgid "Read up to *n* bytes from the stream." -msgstr "" - -#: ../../library/asyncio-stream.rst:224 -msgid "" -"If *n* is not provided or set to ``-1``, read until EOF, then return all " -"read :class:`bytes`. If EOF was received and the internal buffer is empty, " -"return an empty ``bytes`` object." -msgstr "" - -#: ../../library/asyncio-stream.rst:229 -msgid "If *n* is ``0``, return an empty ``bytes`` object immediately." -msgstr "" - -#: ../../library/asyncio-stream.rst:231 -msgid "" -"If *n* is positive, return at most *n* available ``bytes`` as soon as at " -"least 1 byte is available in the internal buffer. If EOF is received before " -"any byte is read, return an empty ``bytes`` object." -msgstr "" - -#: ../../library/asyncio-stream.rst:239 -msgid "Read one line, where \"line\" is a sequence of bytes ending with ``\\n``." -msgstr "" - -#: ../../library/asyncio-stream.rst:242 -msgid "" -"If EOF is received and ``\\n`` was not found, the method returns partially " -"read data." -msgstr "" - -#: ../../library/asyncio-stream.rst:245 -msgid "" -"If EOF is received and the internal buffer is empty, return an empty " -"``bytes`` object." -msgstr "" - -#: ../../library/asyncio-stream.rst:251 -msgid "Read exactly *n* bytes." -msgstr "" - -#: ../../library/asyncio-stream.rst:253 -msgid "" -"Raise an :exc:`IncompleteReadError` if EOF is reached before *n* can be " -"read. Use the :attr:`IncompleteReadError.partial` attribute to get the " -"partially read data." -msgstr "" - -#: ../../library/asyncio-stream.rst:260 -msgid "Read data from the stream until *separator* is found." -msgstr "" - -#: ../../library/asyncio-stream.rst:262 -msgid "" -"On success, the data and separator will be removed from the internal buffer " -"(consumed). Returned data will include the separator at the end." -msgstr "" - -#: ../../library/asyncio-stream.rst:266 -msgid "" -"If the amount of data read exceeds the configured stream limit, a " -":exc:`LimitOverrunError` exception is raised, and the data is left in the " -"internal buffer and can be read again." -msgstr "" - -#: ../../library/asyncio-stream.rst:270 -msgid "" -"If EOF is reached before the complete separator is found, an " -":exc:`IncompleteReadError` exception is raised, and the internal buffer is " -"reset. The :attr:`IncompleteReadError.partial` attribute may contain a " -"portion of the separator." -msgstr "" - -#: ../../library/asyncio-stream.rst:275 -msgid "" -"The *separator* may also be a tuple of separators. In this case the return " -"value will be the shortest possible that has any separator as the suffix. " -"For the purposes of :exc:`LimitOverrunError`, the shortest possible " -"separator is considered to be the one that matched." -msgstr "" - -#: ../../library/asyncio-stream.rst:285 -msgid "The *separator* parameter may now be a :class:`tuple` of separators." -msgstr "" - -#: ../../library/asyncio-stream.rst:290 -msgid "" -"Return ``True`` if the buffer is empty and :meth:`feed_eof` was called." -msgstr "" - -#: ../../library/asyncio-stream.rst:295 -msgid "StreamWriter" -msgstr "" - -#: ../../library/asyncio-stream.rst:299 -msgid "" -"Represents a writer object that provides APIs to write data to the IO " -"stream." -msgstr "" - -#: ../../library/asyncio-stream.rst:302 -msgid "" -"It is not recommended to instantiate *StreamWriter* objects directly; use " -":func:`open_connection` and :func:`start_server` instead." -msgstr "" - -#: ../../library/asyncio-stream.rst:308 -msgid "" -"The method attempts to write the *data* to the underlying socket " -"immediately. If that fails, the data is queued in an internal write buffer " -"until it can be sent." -msgstr "" - -#: ../../library/asyncio-stream.rst:312 ../../library/asyncio-stream.rst:324 -msgid "The method should be used along with the ``drain()`` method::" -msgstr "" - -#: ../../library/asyncio-stream.rst:314 -msgid "" -"stream.write(data)\n" -"await stream.drain()" -msgstr "" - -#: ../../library/asyncio-stream.rst:319 -msgid "" -"The method writes a list (or any iterable) of bytes to the underlying socket" -" immediately. If that fails, the data is queued in an internal write buffer " -"until it can be sent." -msgstr "" - -#: ../../library/asyncio-stream.rst:326 -msgid "" -"stream.writelines(lines)\n" -"await stream.drain()" -msgstr "" - -#: ../../library/asyncio-stream.rst:331 -msgid "The method closes the stream and the underlying socket." -msgstr "" - -#: ../../library/asyncio-stream.rst:333 -msgid "" -"The method should be used, though not mandatory, along with the " -"``wait_closed()`` method::" -msgstr "" - -#: ../../library/asyncio-stream.rst:336 -msgid "" -"stream.close()\n" -"await stream.wait_closed()" -msgstr "" - -#: ../../library/asyncio-stream.rst:341 -msgid "" -"Return ``True`` if the underlying transport supports the :meth:`write_eof` " -"method, ``False`` otherwise." -msgstr "" - -#: ../../library/asyncio-stream.rst:346 -msgid "" -"Close the write end of the stream after the buffered write data is flushed." -msgstr "" - -#: ../../library/asyncio-stream.rst:351 -msgid "Return the underlying asyncio transport." -msgstr "" - -#: ../../library/asyncio-stream.rst:355 -msgid "" -"Access optional transport information; see " -":meth:`BaseTransport.get_extra_info` for details." -msgstr "" - -#: ../../library/asyncio-stream.rst:361 -msgid "" -"Wait until it is appropriate to resume writing to the stream. Example::" -msgstr "" - -#: ../../library/asyncio-stream.rst:364 -msgid "" -"writer.write(data)\n" -"await writer.drain()" -msgstr "" - -#: ../../library/asyncio-stream.rst:367 -msgid "" -"This is a flow control method that interacts with the underlying IO write " -"buffer. When the size of the buffer reaches the high watermark, *drain()* " -"blocks until the size of the buffer is drained down to the low watermark and" -" writing can be resumed. When there is nothing to wait for, the " -":meth:`drain` returns immediately." -msgstr "" - -#: ../../library/asyncio-stream.rst:378 -msgid "Upgrade an existing stream-based connection to TLS." -msgstr "" - -#: ../../library/asyncio-stream.rst:380 -msgid "Parameters:" -msgstr "" - -#: ../../library/asyncio-stream.rst:382 -msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." -msgstr "" - -#: ../../library/asyncio-stream.rst:384 -msgid "" -"*server_hostname*: sets or overrides the host name that the target server's " -"certificate will be matched against." -msgstr "" - -#: ../../library/asyncio-stream.rst:387 -msgid "" -"*ssl_handshake_timeout* is the time in seconds to wait for the TLS handshake" -" to complete before aborting the connection. ``60.0`` seconds if ``None`` " -"(default)." -msgstr "" - -#: ../../library/asyncio-stream.rst:391 -msgid "" -"*ssl_shutdown_timeout* is the time in seconds to wait for the SSL shutdown " -"to complete before aborting the connection. ``30.0`` seconds if ``None`` " -"(default)." -msgstr "" - -#: ../../library/asyncio-stream.rst:403 -msgid "" -"Return ``True`` if the stream is closed or in the process of being closed." -msgstr "" - -#: ../../library/asyncio-stream.rst:411 -msgid "Wait until the stream is closed." -msgstr "" - -#: ../../library/asyncio-stream.rst:413 -msgid "" -"Should be called after :meth:`close` to wait until the underlying connection" -" is closed, ensuring that all data has been flushed before e.g. exiting the " -"program." -msgstr "" - -#: ../../library/asyncio-stream.rst:421 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/asyncio-stream.rst:426 -msgid "TCP echo client using streams" -msgstr "" - -#: ../../library/asyncio-stream.rst:428 -msgid "TCP echo client using the :func:`asyncio.open_connection` function::" -msgstr "" - -#: ../../library/asyncio-stream.rst:452 -msgid "" -"The :ref:`TCP echo client protocol " -"` example uses the low-level " -":meth:`loop.create_connection` method." -msgstr "" - -#: ../../library/asyncio-stream.rst:459 -msgid "TCP echo server using streams" -msgstr "" - -#: ../../library/asyncio-stream.rst:461 -msgid "TCP echo server using the :func:`asyncio.start_server` function::" -msgstr "" - -#: ../../library/asyncio-stream.rst:463 -msgid "" -"import asyncio\n" -"\n" -"async def handle_echo(reader, writer):\n" -" data = await reader.read(100)\n" -" message = data.decode()\n" -" addr = writer.get_extra_info('peername')\n" -"\n" -" print(f\"Received {message!r} from {addr!r}\")\n" -"\n" -" print(f\"Send: {message!r}\")\n" -" writer.write(data)\n" -" await writer.drain()\n" -"\n" -" print(\"Close the connection\")\n" -" writer.close()\n" -" await writer.wait_closed()\n" -"\n" -"async def main():\n" -" server = await asyncio.start_server(\n" -" handle_echo, '127.0.0.1', 8888)\n" -"\n" -" addrs = ', '.join(str(sock.getsockname()) for sock in server.sockets)\n" -" print(f'Serving on {addrs}')\n" -"\n" -" async with server:\n" -" await server.serve_forever()\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-stream.rst:495 -msgid "" -"The :ref:`TCP echo server protocol " -"` example uses the " -":meth:`loop.create_server` method." -msgstr "" - -#: ../../library/asyncio-stream.rst:500 -msgid "Get HTTP headers" -msgstr "" - -#: ../../library/asyncio-stream.rst:502 -msgid "" -"Simple example querying HTTP headers of the URL passed on the command line::" -msgstr "" - -#: ../../library/asyncio-stream.rst:504 -msgid "" -"import asyncio\n" -"import urllib.parse\n" -"import sys\n" -"\n" -"async def print_http_headers(url):\n" -" url = urllib.parse.urlsplit(url)\n" -" if url.scheme == 'https':\n" -" reader, writer = await asyncio.open_connection(\n" -" url.hostname, 443, ssl=True)\n" -" else:\n" -" reader, writer = await asyncio.open_connection(\n" -" url.hostname, 80)\n" -"\n" -" query = (\n" -" f\"HEAD {url.path or '/'} HTTP/1.0\\r\\n\"\n" -" f\"Host: {url.hostname}\\r\\n\"\n" -" f\"\\r\\n\"\n" -" )\n" -"\n" -" writer.write(query.encode('latin-1'))\n" -" while True:\n" -" line = await reader.readline()\n" -" if not line:\n" -" break\n" -"\n" -" line = line.decode('latin1').rstrip()\n" -" if line:\n" -" print(f'HTTP header> {line}')\n" -"\n" -" # Ignore the body, close the socket\n" -" writer.close()\n" -" await writer.wait_closed()\n" -"\n" -"url = sys.argv[1]\n" -"asyncio.run(print_http_headers(url))" -msgstr "" - -#: ../../library/asyncio-stream.rst:541 -msgid "Usage::" -msgstr "Penggunaan::" - -#: ../../library/asyncio-stream.rst:543 -msgid "python example.py http://example.com/path/page.html" -msgstr "" - -#: ../../library/asyncio-stream.rst:545 -msgid "or with HTTPS::" -msgstr "" - -#: ../../library/asyncio-stream.rst:547 -msgid "python example.py https://example.com/path/page.html" -msgstr "" - -#: ../../library/asyncio-stream.rst:553 -msgid "Register an open socket to wait for data using streams" -msgstr "" - -#: ../../library/asyncio-stream.rst:555 -msgid "" -"Coroutine waiting until a socket receives data using the " -":func:`open_connection` function::" -msgstr "" - -#: ../../library/asyncio-stream.rst:558 -msgid "" -"import asyncio\n" -"import socket\n" -"\n" -"async def wait_for_data():\n" -" # Get a reference to the current event loop because\n" -" # we want to access low-level APIs.\n" -" loop = asyncio.get_running_loop()\n" -"\n" -" # Create a pair of connected sockets.\n" -" rsock, wsock = socket.socketpair()\n" -"\n" -" # Register the open socket to wait for data.\n" -" reader, writer = await asyncio.open_connection(sock=rsock)\n" -"\n" -" # Simulate the reception of data from the network\n" -" loop.call_soon(wsock.send, 'abc'.encode())\n" -"\n" -" # Wait for data\n" -" data = await reader.read(100)\n" -"\n" -" # Got data, we are done: close the socket\n" -" print(\"Received:\", data.decode())\n" -" writer.close()\n" -" await writer.wait_closed()\n" -"\n" -" # Close the second socket\n" -" wsock.close()\n" -"\n" -"asyncio.run(wait_for_data())" -msgstr "" - -#: ../../library/asyncio-stream.rst:590 -msgid "" -"The :ref:`register an open socket to wait for data using a protocol " -"` example uses a low-level protocol and " -"the :meth:`loop.create_connection` method." -msgstr "" - -#: ../../library/asyncio-stream.rst:594 -msgid "" -"The :ref:`watch a file descriptor for read events " -"` example uses the low-level " -":meth:`loop.add_reader` method to watch a file descriptor." -msgstr "" diff --git a/python-newest.library--asyncio-subprocess/id.po b/python-newest.library--asyncio-subprocess/id.po deleted file mode 100644 index c538b48..0000000 --- a/python-newest.library--asyncio-subprocess/id.po +++ /dev/null @@ -1,501 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-subprocess.rst:7 -msgid "Subprocesses" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:9 -msgid "" -"**Source code:** :source:`Lib/asyncio/subprocess.py`, " -":source:`Lib/asyncio/base_subprocess.py`" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:14 -msgid "" -"This section describes high-level async/await asyncio APIs to create and " -"manage subprocesses." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:19 -msgid "" -"Here's an example of how asyncio can run a shell command and obtain its " -"result::" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:22 -msgid "" -"import asyncio\n" -"\n" -"async def run(cmd):\n" -" proc = await asyncio.create_subprocess_shell(\n" -" cmd,\n" -" stdout=asyncio.subprocess.PIPE,\n" -" stderr=asyncio.subprocess.PIPE)\n" -"\n" -" stdout, stderr = await proc.communicate()\n" -"\n" -" print(f'[{cmd!r} exited with {proc.returncode}]')\n" -" if stdout:\n" -" print(f'[stdout]\\n{stdout.decode()}')\n" -" if stderr:\n" -" print(f'[stderr]\\n{stderr.decode()}')\n" -"\n" -"asyncio.run(run('ls /zzz'))" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:40 -msgid "will print::" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:42 -msgid "" -"['ls /zzz' exited with 1]\n" -"[stderr]\n" -"ls: /zzz: No such file or directory" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:46 -msgid "" -"Because all asyncio subprocess functions are asynchronous and asyncio " -"provides many tools to work with such functions, it is easy to execute and " -"monitor multiple subprocesses in parallel. It is indeed trivial to modify " -"the above example to run several commands simultaneously::" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:51 -msgid "" -"async def main():\n" -" await asyncio.gather(\n" -" run('ls /zzz'),\n" -" run('sleep 1; echo \"hello\"'))\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:58 -msgid "See also the `Examples`_ subsection." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:62 -msgid "Creating Subprocesses" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:68 -msgid "Create a subprocess." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:70 -#: ../../library/asyncio-subprocess.rst:89 -msgid "" -"The *limit* argument sets the buffer limit for :class:`StreamReader` " -"wrappers for :attr:`~asyncio.subprocess.Process.stdout` and " -":attr:`~asyncio.subprocess.Process.stderr` (if :const:`subprocess.PIPE` is " -"passed to *stdout* and *stderr* arguments)." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:74 -#: ../../library/asyncio-subprocess.rst:93 -msgid "Return a :class:`~asyncio.subprocess.Process` instance." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:76 -msgid "" -"See the documentation of :meth:`loop.subprocess_exec` for other parameters." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:79 -#: ../../library/asyncio-subprocess.rst:107 -msgid "Removed the *loop* parameter." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:87 -msgid "Run the *cmd* shell command." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:95 -msgid "" -"See the documentation of :meth:`loop.subprocess_shell` for other parameters." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:100 -msgid "" -"It is the application's responsibility to ensure that all whitespace and " -"special characters are quoted appropriately to avoid `shell injection " -"`_ " -"vulnerabilities. The :func:`shlex.quote` function can be used to properly " -"escape whitespace and special shell characters in strings that are going to " -"be used to construct shell commands." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:112 -msgid "" -"Subprocesses are available for Windows if a :class:`ProactorEventLoop` is " -"used. See :ref:`Subprocess Support on Windows ` " -"for details." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:118 -msgid "" -"asyncio also has the following *low-level* APIs to work with subprocesses: " -":meth:`loop.subprocess_exec`, :meth:`loop.subprocess_shell`, " -":meth:`loop.connect_read_pipe`, :meth:`loop.connect_write_pipe`, as well as " -"the :ref:`Subprocess Transports ` and " -":ref:`Subprocess Protocols `." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:126 -msgid "Constants" -msgstr "Konstanta" - -#: ../../library/asyncio-subprocess.rst:131 -msgid "Can be passed to the *stdin*, *stdout* or *stderr* parameters." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:133 -msgid "" -"If *PIPE* is passed to *stdin* argument, the :attr:`Process.stdin " -"` attribute will point to a " -":class:`~asyncio.StreamWriter` instance." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:137 -msgid "" -"If *PIPE* is passed to *stdout* or *stderr* arguments, the " -":attr:`Process.stdout ` and " -":attr:`Process.stderr ` attributes will " -"point to :class:`~asyncio.StreamReader` instances." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:145 -msgid "" -"Special value that can be used as the *stderr* argument and indicates that " -"standard error should be redirected into standard output." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:151 -msgid "" -"Special value that can be used as the *stdin*, *stdout* or *stderr* argument" -" to process creation functions. It indicates that the special file " -":data:`os.devnull` will be used for the corresponding subprocess stream." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:157 -msgid "Interacting with Subprocesses" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:159 -msgid "" -"Both :func:`create_subprocess_exec` and :func:`create_subprocess_shell` " -"functions return instances of the *Process* class. *Process* is a high-" -"level wrapper that allows communicating with subprocesses and watching for " -"their completion." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:167 -msgid "" -"An object that wraps OS processes created by the " -":func:`~asyncio.create_subprocess_exec` and " -":func:`~asyncio.create_subprocess_shell` functions." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:171 -msgid "" -"This class is designed to have a similar API to the " -":class:`subprocess.Popen` class, but there are some notable differences:" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:175 -msgid "" -"unlike Popen, Process instances do not have an equivalent to the " -":meth:`~subprocess.Popen.poll` method;" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:178 -msgid "" -"the :meth:`~asyncio.subprocess.Process.communicate` and " -":meth:`~asyncio.subprocess.Process.wait` methods don't have a *timeout* " -"parameter: use the :func:`~asyncio.wait_for` function;" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:182 -msgid "" -"the :meth:`Process.wait() ` method is " -"asynchronous, whereas :meth:`subprocess.Popen.wait` method is implemented as" -" a blocking busy loop;" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:186 -msgid "the *universal_newlines* parameter is not supported." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:188 -msgid "This class is :ref:`not thread safe `." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:190 -msgid "" -"See also the :ref:`Subprocess and Threads ` " -"section." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:196 -msgid "Wait for the child process to terminate." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:198 -msgid "Set and return the :attr:`returncode` attribute." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:202 -msgid "" -"This method can deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and " -"the child process generates so much output that it blocks waiting for the OS" -" pipe buffer to accept more data. Use the :meth:`communicate` method when " -"using pipes to avoid this condition." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:211 -msgid "Interact with process:" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:213 -msgid "send data to *stdin* (if *input* is not ``None``);" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:214 -msgid "closes *stdin*;" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:215 -msgid "read data from *stdout* and *stderr*, until EOF is reached;" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:216 -msgid "wait for process to terminate." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:218 -msgid "" -"The optional *input* argument is the data (:class:`bytes` object) that will " -"be sent to the child process." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:221 -msgid "Return a tuple ``(stdout_data, stderr_data)``." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:223 -msgid "" -"If either :exc:`BrokenPipeError` or :exc:`ConnectionResetError` exception is" -" raised when writing *input* into *stdin*, the exception is ignored. This " -"condition occurs when the process exits before all data are written into " -"*stdin*." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:228 -msgid "" -"If it is desired to send data to the process' *stdin*, the process needs to " -"be created with ``stdin=PIPE``. Similarly, to get anything other than " -"``None`` in the result tuple, the process has to be created with " -"``stdout=PIPE`` and/or ``stderr=PIPE`` arguments." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:234 -msgid "" -"Note, that the data read is buffered in memory, so do not use this method if" -" the data size is large or unlimited." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:239 -msgid "*stdin* gets closed when ``input=None`` too." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:243 -msgid "Sends the signal *signal* to the child process." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:247 -msgid "" -"On Windows, :py:const:`~signal.SIGTERM` is an alias for :meth:`terminate`. " -"``CTRL_C_EVENT`` and ``CTRL_BREAK_EVENT`` can be sent to processes started " -"with a *creationflags* parameter which includes " -"``CREATE_NEW_PROCESS_GROUP``." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:254 -msgid "Stop the child process." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:256 -msgid "" -"On POSIX systems this method sends :py:const:`~signal.SIGTERM` to the child " -"process." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:259 -msgid "" -"On Windows the Win32 API function :c:func:`!TerminateProcess` is called to " -"stop the child process." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:264 -msgid "Kill the child process." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:266 -msgid "" -"On POSIX systems this method sends :py:data:`~signal.SIGKILL` to the child " -"process." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:269 -msgid "On Windows this method is an alias for :meth:`terminate`." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:273 -msgid "" -"Standard input stream (:class:`~asyncio.StreamWriter`) or ``None`` if the " -"process was created with ``stdin=None``." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:278 -msgid "" -"Standard output stream (:class:`~asyncio.StreamReader`) or ``None`` if the " -"process was created with ``stdout=None``." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:283 -msgid "" -"Standard error stream (:class:`~asyncio.StreamReader`) or ``None`` if the " -"process was created with ``stderr=None``." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:288 -msgid "" -"Use the :meth:`communicate` method rather than :attr:`process.stdin.write() " -"`, :attr:`await process.stdout.read() ` or :attr:`await " -"process.stderr.read() `. This avoids deadlocks due to streams " -"pausing reading or writing and blocking the child process." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:297 -msgid "Process identification number (PID)." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:299 -msgid "" -"Note that for processes created by the " -":func:`~asyncio.create_subprocess_shell` function, this attribute is the PID" -" of the spawned shell." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:304 -msgid "Return code of the process when it exits." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:306 -msgid "A ``None`` value indicates that the process has not terminated yet." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:308 -msgid "" -"A negative value ``-N`` indicates that the child was terminated by signal " -"``N`` (POSIX only)." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:315 -msgid "Subprocess and Threads" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:317 -msgid "" -"Standard asyncio event loop supports running subprocesses from different " -"threads by default." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:320 -msgid "" -"On Windows subprocesses are provided by :class:`ProactorEventLoop` only " -"(default), :class:`SelectorEventLoop` has no subprocess support." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:323 -msgid "" -"Note that alternative event loop implementations might have own limitations;" -" please refer to their documentation." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:328 -msgid "" -"The :ref:`Concurrency and multithreading in asyncio ` section." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:333 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/asyncio-subprocess.rst:335 -msgid "" -"An example using the :class:`~asyncio.subprocess.Process` class to control a" -" subprocess and the :class:`StreamReader` class to read from its standard " -"output." -msgstr "" - -#: ../../library/asyncio-subprocess.rst:341 -msgid "" -"The subprocess is created by the :func:`create_subprocess_exec` function::" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:344 -msgid "" -"import asyncio\n" -"import sys\n" -"\n" -"async def get_date():\n" -" code = 'import datetime; print(datetime.datetime.now())'\n" -"\n" -" # Create the subprocess; redirect the standard output\n" -" # into a pipe.\n" -" proc = await asyncio.create_subprocess_exec(\n" -" sys.executable, '-c', code,\n" -" stdout=asyncio.subprocess.PIPE)\n" -"\n" -" # Read one line of output.\n" -" data = await proc.stdout.readline()\n" -" line = data.decode('ascii').rstrip()\n" -"\n" -" # Wait for the subprocess exit.\n" -" await proc.wait()\n" -" return line\n" -"\n" -"date = asyncio.run(get_date())\n" -"print(f\"Current date: {date}\")" -msgstr "" - -#: ../../library/asyncio-subprocess.rst:368 -msgid "" -"See also the :ref:`same example ` written " -"using low-level APIs." -msgstr "" diff --git a/python-newest.library--asyncio-sync/id.po b/python-newest.library--asyncio-sync/id.po deleted file mode 100644 index 43c3dc3..0000000 --- a/python-newest.library--asyncio-sync/id.po +++ /dev/null @@ -1,617 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-sync.rst:7 -msgid "Synchronization Primitives" -msgstr "" - -#: ../../library/asyncio-sync.rst:9 -msgid "**Source code:** :source:`Lib/asyncio/locks.py`" -msgstr "" - -#: ../../library/asyncio-sync.rst:13 -msgid "" -"asyncio synchronization primitives are designed to be similar to those of " -"the :mod:`threading` module with two important caveats:" -msgstr "" - -#: ../../library/asyncio-sync.rst:16 -msgid "" -"asyncio primitives are not thread-safe, therefore they should not be used " -"for OS thread synchronization (use :mod:`threading` for that);" -msgstr "" - -#: ../../library/asyncio-sync.rst:20 -msgid "" -"methods of these synchronization primitives do not accept the *timeout* " -"argument; use the :func:`asyncio.wait_for` function to perform operations " -"with timeouts." -msgstr "" - -#: ../../library/asyncio-sync.rst:24 -msgid "asyncio has the following basic synchronization primitives:" -msgstr "" - -#: ../../library/asyncio-sync.rst:26 -msgid ":class:`Lock`" -msgstr ":class:`Lock`" - -#: ../../library/asyncio-sync.rst:27 -msgid ":class:`Event`" -msgstr ":class:`Event`" - -#: ../../library/asyncio-sync.rst:28 -msgid ":class:`Condition`" -msgstr ":class:`Condition`" - -#: ../../library/asyncio-sync.rst:29 -msgid ":class:`Semaphore`" -msgstr ":class:`Semaphore`" - -#: ../../library/asyncio-sync.rst:30 -msgid ":class:`BoundedSemaphore`" -msgstr ":class:`BoundedSemaphore`" - -#: ../../library/asyncio-sync.rst:31 -msgid ":class:`Barrier`" -msgstr "" - -#: ../../library/asyncio-sync.rst:38 -msgid "Lock" -msgstr "" - -#: ../../library/asyncio-sync.rst:42 -msgid "Implements a mutex lock for asyncio tasks. Not thread-safe." -msgstr "" - -#: ../../library/asyncio-sync.rst:44 -msgid "" -"An asyncio lock can be used to guarantee exclusive access to a shared " -"resource." -msgstr "" - -#: ../../library/asyncio-sync.rst:47 -msgid "" -"The preferred way to use a Lock is an :keyword:`async with` statement::" -msgstr "" - -#: ../../library/asyncio-sync.rst:50 -msgid "" -"lock = asyncio.Lock()\n" -"\n" -"# ... later\n" -"async with lock:\n" -" # access shared state" -msgstr "" - -#: ../../library/asyncio-sync.rst:56 ../../library/asyncio-sync.rst:201 -#: ../../library/asyncio-sync.rst:309 -msgid "which is equivalent to::" -msgstr "" - -#: ../../library/asyncio-sync.rst:58 -msgid "" -"lock = asyncio.Lock()\n" -"\n" -"# ... later\n" -"await lock.acquire()\n" -"try:\n" -" # access shared state\n" -"finally:\n" -" lock.release()" -msgstr "" - -#: ../../library/asyncio-sync.rst:67 ../../library/asyncio-sync.rst:113 -#: ../../library/asyncio-sync.rst:189 ../../library/asyncio-sync.rst:297 -#: ../../library/asyncio-sync.rst:353 -msgid "Removed the *loop* parameter." -msgstr "" - -#: ../../library/asyncio-sync.rst:73 -msgid "Acquire the lock." -msgstr "" - -#: ../../library/asyncio-sync.rst:75 -msgid "" -"This method waits until the lock is *unlocked*, sets it to *locked* and " -"returns ``True``." -msgstr "" - -#: ../../library/asyncio-sync.rst:78 -msgid "" -"When more than one coroutine is blocked in :meth:`acquire` waiting for the " -"lock to be unlocked, only one coroutine eventually proceeds." -msgstr "" - -#: ../../library/asyncio-sync.rst:82 -msgid "" -"Acquiring a lock is *fair*: the coroutine that proceeds will be the first " -"coroutine that started waiting on the lock." -msgstr "" - -#: ../../library/asyncio-sync.rst:87 -msgid "Release the lock." -msgstr "" - -#: ../../library/asyncio-sync.rst:89 -msgid "When the lock is *locked*, reset it to *unlocked* and return." -msgstr "" - -#: ../../library/asyncio-sync.rst:91 -msgid "If the lock is *unlocked*, a :exc:`RuntimeError` is raised." -msgstr "" - -#: ../../library/asyncio-sync.rst:95 -msgid "Return ``True`` if the lock is *locked*." -msgstr "" - -#: ../../library/asyncio-sync.rst:99 -msgid "Event" -msgstr "" - -#: ../../library/asyncio-sync.rst:103 -msgid "An event object. Not thread-safe." -msgstr "" - -#: ../../library/asyncio-sync.rst:105 -msgid "" -"An asyncio event can be used to notify multiple asyncio tasks that some " -"event has happened." -msgstr "" - -#: ../../library/asyncio-sync.rst:108 -msgid "" -"An Event object manages an internal flag that can be set to *true* with the " -":meth:`~Event.set` method and reset to *false* with the :meth:`clear` " -"method. The :meth:`~Event.wait` method blocks until the flag is set to " -"*true*. The flag is set to *false* initially." -msgstr "" - -#: ../../library/asyncio-sync.rst:118 ../../library/asyncio-sync.rst:377 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/asyncio-sync.rst:120 -msgid "" -"async def waiter(event):\n" -" print('waiting for it ...')\n" -" await event.wait()\n" -" print('... got it!')\n" -"\n" -"async def main():\n" -" # Create an Event object.\n" -" event = asyncio.Event()\n" -"\n" -" # Spawn a Task to wait until 'event' is set.\n" -" waiter_task = asyncio.create_task(waiter(event))\n" -"\n" -" # Sleep for 1 second and set the event.\n" -" await asyncio.sleep(1)\n" -" event.set()\n" -"\n" -" # Wait until the waiter task is finished.\n" -" await waiter_task\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-sync.rst:144 -msgid "Wait until the event is set." -msgstr "" - -#: ../../library/asyncio-sync.rst:146 -msgid "" -"If the event is set, return ``True`` immediately. Otherwise block until " -"another task calls :meth:`~Event.set`." -msgstr "" - -#: ../../library/asyncio-sync.rst:151 -msgid "Set the event." -msgstr "" - -#: ../../library/asyncio-sync.rst:153 -msgid "All tasks waiting for event to be set will be immediately awakened." -msgstr "" - -#: ../../library/asyncio-sync.rst:158 -msgid "Clear (unset) the event." -msgstr "" - -#: ../../library/asyncio-sync.rst:160 -msgid "" -"Tasks awaiting on :meth:`~Event.wait` will now block until the " -":meth:`~Event.set` method is called again." -msgstr "" - -#: ../../library/asyncio-sync.rst:165 -msgid "Return ``True`` if the event is set." -msgstr "" - -#: ../../library/asyncio-sync.rst:169 -msgid "Condition" -msgstr "" - -#: ../../library/asyncio-sync.rst:173 -msgid "A Condition object. Not thread-safe." -msgstr "" - -#: ../../library/asyncio-sync.rst:175 -msgid "" -"An asyncio condition primitive can be used by a task to wait for some event " -"to happen and then get exclusive access to a shared resource." -msgstr "" - -#: ../../library/asyncio-sync.rst:179 -msgid "" -"In essence, a Condition object combines the functionality of an " -":class:`Event` and a :class:`Lock`. It is possible to have multiple " -"Condition objects share one Lock, which allows coordinating exclusive access" -" to a shared resource between different tasks interested in particular " -"states of that shared resource." -msgstr "" - -#: ../../library/asyncio-sync.rst:185 -msgid "" -"The optional *lock* argument must be a :class:`Lock` object or ``None``. In" -" the latter case a new Lock object is created automatically." -msgstr "" - -#: ../../library/asyncio-sync.rst:192 -msgid "" -"The preferred way to use a Condition is an :keyword:`async with` statement::" -msgstr "" - -#: ../../library/asyncio-sync.rst:195 -msgid "" -"cond = asyncio.Condition()\n" -"\n" -"# ... later\n" -"async with cond:\n" -" await cond.wait()" -msgstr "" - -#: ../../library/asyncio-sync.rst:203 -msgid "" -"cond = asyncio.Condition()\n" -"\n" -"# ... later\n" -"await cond.acquire()\n" -"try:\n" -" await cond.wait()\n" -"finally:\n" -" cond.release()" -msgstr "" - -#: ../../library/asyncio-sync.rst:215 -msgid "Acquire the underlying lock." -msgstr "" - -#: ../../library/asyncio-sync.rst:217 -msgid "" -"This method waits until the underlying lock is *unlocked*, sets it to " -"*locked* and returns ``True``." -msgstr "" - -#: ../../library/asyncio-sync.rst:222 -msgid "" -"Wake up *n* tasks (1 by default) waiting on this condition. If fewer than " -"*n* tasks are waiting they are all awakened." -msgstr "" - -#: ../../library/asyncio-sync.rst:225 ../../library/asyncio-sync.rst:240 -msgid "" -"The lock must be acquired before this method is called and released shortly " -"after. If called with an *unlocked* lock a :exc:`RuntimeError` error is " -"raised." -msgstr "" - -#: ../../library/asyncio-sync.rst:231 -msgid "Return ``True`` if the underlying lock is acquired." -msgstr "" - -#: ../../library/asyncio-sync.rst:235 -msgid "Wake up all tasks waiting on this condition." -msgstr "" - -#: ../../library/asyncio-sync.rst:237 -msgid "This method acts like :meth:`notify`, but wakes up all waiting tasks." -msgstr "" - -#: ../../library/asyncio-sync.rst:246 -msgid "Release the underlying lock." -msgstr "" - -#: ../../library/asyncio-sync.rst:248 -msgid "When invoked on an unlocked lock, a :exc:`RuntimeError` is raised." -msgstr "" - -#: ../../library/asyncio-sync.rst:254 -msgid "Wait until notified." -msgstr "" - -#: ../../library/asyncio-sync.rst:256 -msgid "" -"If the calling task has not acquired the lock when this method is called, a " -":exc:`RuntimeError` is raised." -msgstr "" - -#: ../../library/asyncio-sync.rst:259 -msgid "" -"This method releases the underlying lock, and then blocks until it is " -"awakened by a :meth:`notify` or :meth:`notify_all` call. Once awakened, the " -"Condition re-acquires its lock and this method returns ``True``." -msgstr "" - -#: ../../library/asyncio-sync.rst:264 -msgid "" -"Note that a task *may* return from this call spuriously, which is why the " -"caller should always re-check the state and be prepared to " -":meth:`~Condition.wait` again. For this reason, you may prefer to use " -":meth:`~Condition.wait_for` instead." -msgstr "" - -#: ../../library/asyncio-sync.rst:272 -msgid "Wait until a predicate becomes *true*." -msgstr "" - -#: ../../library/asyncio-sync.rst:274 -msgid "" -"The predicate must be a callable which result will be interpreted as a " -"boolean value. The method will repeatedly :meth:`~Condition.wait` until the" -" predicate evaluates to *true*. The final value is the return value." -msgstr "" - -#: ../../library/asyncio-sync.rst:281 -msgid "Semaphore" -msgstr "" - -#: ../../library/asyncio-sync.rst:285 -msgid "A Semaphore object. Not thread-safe." -msgstr "" - -#: ../../library/asyncio-sync.rst:287 -msgid "" -"A semaphore manages an internal counter which is decremented by each " -":meth:`acquire` call and incremented by each :meth:`release` call. The " -"counter can never go below zero; when :meth:`acquire` finds that it is zero," -" it blocks, waiting until some task calls :meth:`release`." -msgstr "" - -#: ../../library/asyncio-sync.rst:293 -msgid "" -"The optional *value* argument gives the initial value for the internal " -"counter (``1`` by default). If the given value is less than ``0`` a " -":exc:`ValueError` is raised." -msgstr "" - -#: ../../library/asyncio-sync.rst:300 -msgid "" -"The preferred way to use a Semaphore is an :keyword:`async with` statement::" -msgstr "" - -#: ../../library/asyncio-sync.rst:303 -msgid "" -"sem = asyncio.Semaphore(10)\n" -"\n" -"# ... later\n" -"async with sem:\n" -" # work with shared resource" -msgstr "" - -#: ../../library/asyncio-sync.rst:311 -msgid "" -"sem = asyncio.Semaphore(10)\n" -"\n" -"# ... later\n" -"await sem.acquire()\n" -"try:\n" -" # work with shared resource\n" -"finally:\n" -" sem.release()" -msgstr "" - -#: ../../library/asyncio-sync.rst:323 -msgid "Acquire a semaphore." -msgstr "" - -#: ../../library/asyncio-sync.rst:325 -msgid "" -"If the internal counter is greater than zero, decrement it by one and return" -" ``True`` immediately. If it is zero, wait until a :meth:`release` is " -"called and return ``True``." -msgstr "" - -#: ../../library/asyncio-sync.rst:331 -msgid "Returns ``True`` if semaphore can not be acquired immediately." -msgstr "" - -#: ../../library/asyncio-sync.rst:335 -msgid "" -"Release a semaphore, incrementing the internal counter by one. Can wake up a" -" task waiting to acquire the semaphore." -msgstr "" - -#: ../../library/asyncio-sync.rst:338 -msgid "" -"Unlike :class:`BoundedSemaphore`, :class:`Semaphore` allows making more " -"``release()`` calls than ``acquire()`` calls." -msgstr "" - -#: ../../library/asyncio-sync.rst:343 -msgid "BoundedSemaphore" -msgstr "" - -#: ../../library/asyncio-sync.rst:347 -msgid "A bounded semaphore object. Not thread-safe." -msgstr "" - -#: ../../library/asyncio-sync.rst:349 -msgid "" -"Bounded Semaphore is a version of :class:`Semaphore` that raises a " -":exc:`ValueError` in :meth:`~Semaphore.release` if it increases the internal" -" counter above the initial *value*." -msgstr "" - -#: ../../library/asyncio-sync.rst:358 -msgid "Barrier" -msgstr "" - -#: ../../library/asyncio-sync.rst:362 -msgid "A barrier object. Not thread-safe." -msgstr "" - -#: ../../library/asyncio-sync.rst:364 -msgid "" -"A barrier is a simple synchronization primitive that allows to block until " -"*parties* number of tasks are waiting on it. Tasks can wait on the " -":meth:`~Barrier.wait` method and would be blocked until the specified number" -" of tasks end up waiting on :meth:`~Barrier.wait`. At that point all of the " -"waiting tasks would unblock simultaneously." -msgstr "" - -#: ../../library/asyncio-sync.rst:370 -msgid "" -":keyword:`async with` can be used as an alternative to awaiting on " -":meth:`~Barrier.wait`." -msgstr "" - -#: ../../library/asyncio-sync.rst:373 -msgid "The barrier can be reused any number of times." -msgstr "" - -#: ../../library/asyncio-sync.rst:379 -msgid "" -"async def example_barrier():\n" -" # barrier with 3 parties\n" -" b = asyncio.Barrier(3)\n" -"\n" -" # create 2 new waiting tasks\n" -" asyncio.create_task(b.wait())\n" -" asyncio.create_task(b.wait())\n" -"\n" -" await asyncio.sleep(0)\n" -" print(b)\n" -"\n" -" # The third .wait() call passes the barrier\n" -" await b.wait()\n" -" print(b)\n" -" print(\"barrier passed\")\n" -"\n" -" await asyncio.sleep(0)\n" -" print(b)\n" -"\n" -"asyncio.run(example_barrier())" -msgstr "" - -#: ../../library/asyncio-sync.rst:400 -msgid "Result of this example is::" -msgstr "" - -#: ../../library/asyncio-sync.rst:402 -msgid "" -"\n" -"\n" -"barrier passed\n" -"" -msgstr "" - -#: ../../library/asyncio-sync.rst:412 -msgid "" -"Pass the barrier. When all the tasks party to the barrier have called this " -"function, they are all unblocked simultaneously." -msgstr "" - -#: ../../library/asyncio-sync.rst:415 -msgid "" -"When a waiting or blocked task in the barrier is cancelled, this task exits " -"the barrier which stays in the same state. If the state of the barrier is " -"\"filling\", the number of waiting task decreases by 1." -msgstr "" - -#: ../../library/asyncio-sync.rst:420 -msgid "" -"The return value is an integer in the range of 0 to ``parties-1``, different" -" for each task. This can be used to select a task to do some special " -"housekeeping, e.g.::" -msgstr "" - -#: ../../library/asyncio-sync.rst:424 -msgid "" -"...\n" -"async with barrier as position:\n" -" if position == 0:\n" -" # Only one task prints this\n" -" print('End of *draining phase*')" -msgstr "" - -#: ../../library/asyncio-sync.rst:430 -msgid "" -"This method may raise a :class:`BrokenBarrierError` exception if the barrier" -" is broken or reset while a task is waiting. It could raise a " -":exc:`CancelledError` if a task is cancelled." -msgstr "" - -#: ../../library/asyncio-sync.rst:437 -msgid "" -"Return the barrier to the default, empty state. Any tasks waiting on it " -"will receive the :class:`BrokenBarrierError` exception." -msgstr "" - -#: ../../library/asyncio-sync.rst:440 -msgid "" -"If a barrier is broken it may be better to just leave it and create a new " -"one." -msgstr "" - -#: ../../library/asyncio-sync.rst:445 -msgid "" -"Put the barrier into a broken state. This causes any active or future calls" -" to :meth:`~Barrier.wait` to fail with the :class:`BrokenBarrierError`. Use " -"this for example if one of the tasks needs to abort, to avoid infinite " -"waiting tasks." -msgstr "" - -#: ../../library/asyncio-sync.rst:452 -msgid "The number of tasks required to pass the barrier." -msgstr "" - -#: ../../library/asyncio-sync.rst:456 -msgid "The number of tasks currently waiting in the barrier while filling." -msgstr "" - -#: ../../library/asyncio-sync.rst:460 -msgid "A boolean that is ``True`` if the barrier is in the broken state." -msgstr "" - -#: ../../library/asyncio-sync.rst:465 -msgid "" -"This exception, a subclass of :exc:`RuntimeError`, is raised when the " -":class:`Barrier` object is reset or broken." -msgstr "" - -#: ../../library/asyncio-sync.rst:473 -msgid "" -"Acquiring a lock using ``await lock`` or ``yield from lock`` and/or " -":keyword:`with` statement (``with await lock``, ``with (yield from lock)``) " -"was removed. Use ``async with lock`` instead." -msgstr "" diff --git a/python-newest.library--asyncio-task/id.po b/python-newest.library--asyncio-task/id.po deleted file mode 100644 index 46576d5..0000000 --- a/python-newest.library--asyncio-task/id.po +++ /dev/null @@ -1,1953 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio-task.rst:6 -msgid "Coroutines and Tasks" -msgstr "" - -#: ../../library/asyncio-task.rst:8 -msgid "" -"This section outlines high-level asyncio APIs to work with coroutines and " -"Tasks." -msgstr "" - -#: ../../library/asyncio-task.rst:19 ../../library/asyncio-task.rst:148 -msgid "Coroutines" -msgstr "*Coroutines*" - -#: ../../library/asyncio-task.rst:21 -msgid "**Source code:** :source:`Lib/asyncio/coroutines.py`" -msgstr "" - -#: ../../library/asyncio-task.rst:25 -msgid "" -":term:`Coroutines ` declared with the async/await syntax is the " -"preferred way of writing asyncio applications. For example, the following " -"snippet of code prints \"hello\", waits 1 second, and then prints " -"\"world\"::" -msgstr "" - -#: ../../library/asyncio-task.rst:30 -msgid "" -">>> import asyncio\n" -"\n" -">>> async def main():\n" -"... print('hello')\n" -"... await asyncio.sleep(1)\n" -"... print('world')\n" -"\n" -">>> asyncio.run(main())\n" -"hello\n" -"world" -msgstr "" - -#: ../../library/asyncio-task.rst:41 -msgid "" -"Note that simply calling a coroutine will not schedule it to be executed::" -msgstr "" - -#: ../../library/asyncio-task.rst:44 -msgid "" -">>> main()\n" -"" -msgstr "" - -#: ../../library/asyncio-task.rst:47 -msgid "" -"To actually run a coroutine, asyncio provides the following mechanisms:" -msgstr "" - -#: ../../library/asyncio-task.rst:49 -msgid "" -"The :func:`asyncio.run` function to run the top-level entry point \"main()\"" -" function (see the above example.)" -msgstr "" - -#: ../../library/asyncio-task.rst:52 -msgid "" -"Awaiting on a coroutine. The following snippet of code will print \"hello\"" -" after waiting for 1 second, and then print \"world\" after waiting for " -"*another* 2 seconds::" -msgstr "" - -#: ../../library/asyncio-task.rst:56 -msgid "" -"import asyncio\n" -"import time\n" -"\n" -"async def say_after(delay, what):\n" -" await asyncio.sleep(delay)\n" -" print(what)\n" -"\n" -"async def main():\n" -" print(f\"started at {time.strftime('%X')}\")\n" -"\n" -" await say_after(1, 'hello')\n" -" await say_after(2, 'world')\n" -"\n" -" print(f\"finished at {time.strftime('%X')}\")\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-task.rst:73 -msgid "Expected output::" -msgstr "" - -#: ../../library/asyncio-task.rst:75 -msgid "" -"started at 17:13:52\n" -"hello\n" -"world\n" -"finished at 17:13:55" -msgstr "" - -#: ../../library/asyncio-task.rst:80 -msgid "" -"The :func:`asyncio.create_task` function to run coroutines concurrently as " -"asyncio :class:`Tasks `." -msgstr "" - -#: ../../library/asyncio-task.rst:83 -msgid "" -"Let's modify the above example and run two ``say_after`` coroutines " -"*concurrently*::" -msgstr "" - -#: ../../library/asyncio-task.rst:86 -msgid "" -"async def main():\n" -" task1 = asyncio.create_task(\n" -" say_after(1, 'hello'))\n" -"\n" -" task2 = asyncio.create_task(\n" -" say_after(2, 'world'))\n" -"\n" -" print(f\"started at {time.strftime('%X')}\")\n" -"\n" -" # Wait until both tasks are completed (should take\n" -" # around 2 seconds.)\n" -" await task1\n" -" await task2\n" -"\n" -" print(f\"finished at {time.strftime('%X')}\")" -msgstr "" - -#: ../../library/asyncio-task.rst:102 -msgid "" -"Note that expected output now shows that the snippet runs 1 second faster " -"than before::" -msgstr "" - -#: ../../library/asyncio-task.rst:105 -msgid "" -"started at 17:14:32\n" -"hello\n" -"world\n" -"finished at 17:14:34" -msgstr "" - -#: ../../library/asyncio-task.rst:110 -msgid "" -"The :class:`asyncio.TaskGroup` class provides a more modern alternative to " -":func:`create_task`. Using this API, the last example becomes::" -msgstr "" - -#: ../../library/asyncio-task.rst:114 -msgid "" -"async def main():\n" -" async with asyncio.TaskGroup() as tg:\n" -" task1 = tg.create_task(\n" -" say_after(1, 'hello'))\n" -"\n" -" task2 = tg.create_task(\n" -" say_after(2, 'world'))\n" -"\n" -" print(f\"started at {time.strftime('%X')}\")\n" -"\n" -" # The await is implicit when the context manager exits.\n" -"\n" -" print(f\"finished at {time.strftime('%X')}\")" -msgstr "" - -#: ../../library/asyncio-task.rst:128 -msgid "The timing and output should be the same as for the previous version." -msgstr "" - -#: ../../library/asyncio-task.rst:130 -msgid ":class:`asyncio.TaskGroup`." -msgstr "" - -#: ../../library/asyncio-task.rst:137 -msgid "Awaitables" -msgstr "" - -#: ../../library/asyncio-task.rst:139 -msgid "" -"We say that an object is an **awaitable** object if it can be used in an " -":keyword:`await` expression. Many asyncio APIs are designed to accept " -"awaitables." -msgstr "" - -#: ../../library/asyncio-task.rst:143 -msgid "" -"There are three main types of *awaitable* objects: **coroutines**, " -"**Tasks**, and **Futures**." -msgstr "" - -#: ../../library/asyncio-task.rst:149 -msgid "" -"Python coroutines are *awaitables* and therefore can be awaited from other " -"coroutines::" -msgstr "" - -#: ../../library/asyncio-task.rst:152 -msgid "" -"import asyncio\n" -"\n" -"async def nested():\n" -" return 42\n" -"\n" -"async def main():\n" -" # Nothing happens if we just call \"nested()\".\n" -" # A coroutine object is created but not awaited,\n" -" # so it *won't run at all*.\n" -" nested() # will raise a \"RuntimeWarning\".\n" -"\n" -" # Let's do it differently now and await it:\n" -" print(await nested()) # will print \"42\".\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-task.rst:170 -msgid "" -"In this documentation the term \"coroutine\" can be used for two closely " -"related concepts:" -msgstr "" - -#: ../../library/asyncio-task.rst:173 -msgid "a *coroutine function*: an :keyword:`async def` function;" -msgstr "" - -#: ../../library/asyncio-task.rst:175 -msgid "" -"a *coroutine object*: an object returned by calling a *coroutine function*." -msgstr "" - -#: ../../library/asyncio-task.rst:180 -msgid "Tasks" -msgstr "" - -#: ../../library/asyncio-task.rst:181 -msgid "*Tasks* are used to schedule coroutines *concurrently*." -msgstr "" - -#: ../../library/asyncio-task.rst:183 -msgid "" -"When a coroutine is wrapped into a *Task* with functions like " -":func:`asyncio.create_task` the coroutine is automatically scheduled to run " -"soon::" -msgstr "" - -#: ../../library/asyncio-task.rst:187 -msgid "" -"import asyncio\n" -"\n" -"async def nested():\n" -" return 42\n" -"\n" -"async def main():\n" -" # Schedule nested() to run soon concurrently\n" -" # with \"main()\".\n" -" task = asyncio.create_task(nested())\n" -"\n" -" # \"task\" can now be used to cancel \"nested()\", or\n" -" # can simply be awaited to wait until it is complete:\n" -" await task\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-task.rst:205 -msgid "Futures" -msgstr "" - -#: ../../library/asyncio-task.rst:206 -msgid "" -"A :class:`Future` is a special **low-level** awaitable object that " -"represents an **eventual result** of an asynchronous operation." -msgstr "" - -#: ../../library/asyncio-task.rst:209 -msgid "" -"When a Future object is *awaited* it means that the coroutine will wait " -"until the Future is resolved in some other place." -msgstr "" - -#: ../../library/asyncio-task.rst:212 -msgid "" -"Future objects in asyncio are needed to allow callback-based code to be used" -" with async/await." -msgstr "" - -#: ../../library/asyncio-task.rst:215 -msgid "" -"Normally **there is no need** to create Future objects at the application " -"level code." -msgstr "" - -#: ../../library/asyncio-task.rst:218 -msgid "" -"Future objects, sometimes exposed by libraries and some asyncio APIs, can be" -" awaited::" -msgstr "" - -#: ../../library/asyncio-task.rst:221 -msgid "" -"async def main():\n" -" await function_that_returns_a_future_object()\n" -"\n" -" # this is also valid:\n" -" await asyncio.gather(\n" -" function_that_returns_a_future_object(),\n" -" some_python_coroutine()\n" -" )" -msgstr "" - -#: ../../library/asyncio-task.rst:230 -msgid "" -"A good example of a low-level function that returns a Future object is " -":meth:`loop.run_in_executor`." -msgstr "" - -#: ../../library/asyncio-task.rst:235 -msgid "Creating Tasks" -msgstr "" - -#: ../../library/asyncio-task.rst:237 -msgid "**Source code:** :source:`Lib/asyncio/tasks.py`" -msgstr "" - -#: ../../library/asyncio-task.rst:243 -msgid "" -"Wrap the *coro* :ref:`coroutine ` into a :class:`Task` and " -"schedule its execution. Return the Task object." -msgstr "" - -#: ../../library/asyncio-task.rst:246 -msgid "" -"If *name* is not ``None``, it is set as the name of the task using " -":meth:`Task.set_name`." -msgstr "" - -#: ../../library/asyncio-task.rst:249 -msgid "" -"An optional keyword-only *context* argument allows specifying a custom " -":class:`contextvars.Context` for the *coro* to run in. The current context " -"copy is created when no *context* is provided." -msgstr "" - -#: ../../library/asyncio-task.rst:253 -msgid "" -"The task is executed in the loop returned by :func:`get_running_loop`, " -":exc:`RuntimeError` is raised if there is no running loop in current thread." -msgstr "" - -#: ../../library/asyncio-task.rst:259 -msgid "" -":meth:`asyncio.TaskGroup.create_task` is a new alternative leveraging " -"structural concurrency; it allows for waiting for a group of related tasks " -"with strong safety guarantees." -msgstr "" - -#: ../../library/asyncio-task.rst:265 -msgid "" -"Save a reference to the result of this function, to avoid a task " -"disappearing mid-execution. The event loop only keeps weak references to " -"tasks. A task that isn't referenced elsewhere may get garbage collected at " -"any time, even before it's done. For reliable \"fire-and-forget\" background" -" tasks, gather them in a collection::" -msgstr "" - -#: ../../library/asyncio-task.rst:272 -msgid "" -"background_tasks = set()\n" -"\n" -"for i in range(10):\n" -" task = asyncio.create_task(some_coro(param=i))\n" -"\n" -" # Add task to the set. This creates a strong reference.\n" -" background_tasks.add(task)\n" -"\n" -" # To prevent keeping references to finished tasks forever,\n" -" # make each task remove its own reference from the set after\n" -" # completion:\n" -" task.add_done_callback(background_tasks.discard)" -msgstr "" - -#: ../../library/asyncio-task.rst:287 ../../library/asyncio-task.rst:1237 -msgid "Added the *name* parameter." -msgstr "" - -#: ../../library/asyncio-task.rst:290 ../../library/asyncio-task.rst:1244 -msgid "Added the *context* parameter." -msgstr "" - -#: ../../library/asyncio-task.rst:295 -msgid "Task Cancellation" -msgstr "" - -#: ../../library/asyncio-task.rst:297 -msgid "" -"Tasks can easily and safely be cancelled. When a task is cancelled, " -":exc:`asyncio.CancelledError` will be raised in the task at the next " -"opportunity." -msgstr "" - -#: ../../library/asyncio-task.rst:301 -msgid "" -"It is recommended that coroutines use ``try/finally`` blocks to robustly " -"perform clean-up logic. In case :exc:`asyncio.CancelledError` is explicitly " -"caught, it should generally be propagated when clean-up is complete. " -":exc:`asyncio.CancelledError` directly subclasses :exc:`BaseException` so " -"most code will not need to be aware of it." -msgstr "" - -#: ../../library/asyncio-task.rst:307 -msgid "" -"The asyncio components that enable structured concurrency, like " -":class:`asyncio.TaskGroup` and :func:`asyncio.timeout`, are implemented " -"using cancellation internally and might misbehave if a coroutine swallows " -":exc:`asyncio.CancelledError`. Similarly, user code should not generally " -"call :meth:`uncancel `. However, in cases when " -"suppressing :exc:`asyncio.CancelledError` is truly desired, it is necessary " -"to also call ``uncancel()`` to completely remove the cancellation state." -msgstr "" - -#: ../../library/asyncio-task.rst:319 -msgid "Task Groups" -msgstr "" - -#: ../../library/asyncio-task.rst:321 -msgid "" -"Task groups combine a task creation API with a convenient and reliable way " -"to wait for all tasks in the group to finish." -msgstr "" - -#: ../../library/asyncio-task.rst:326 -msgid "" -"An :ref:`asynchronous context manager ` holding a " -"group of tasks. Tasks can be added to the group using :meth:`create_task`. " -"All tasks are awaited when the context manager exits." -msgstr "" - -#: ../../library/asyncio-task.rst:335 -msgid "" -"Create a task in this task group. The signature matches that of " -":func:`asyncio.create_task`. If the task group is inactive (e.g. not yet " -"entered, already finished, or in the process of shutting down), we will " -"close the given ``coro``." -msgstr "" - -#: ../../library/asyncio-task.rst:343 -msgid "Close the given coroutine if the task group is not active." -msgstr "" - -#: ../../library/asyncio-task.rst:345 ../../library/asyncio-task.rst:551 -#: ../../library/asyncio-task.rst:724 ../../library/asyncio-task.rst:782 -#: ../../library/asyncio-task.rst:808 ../../library/asyncio-task.rst:849 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/asyncio-task.rst:347 -msgid "" -"async def main():\n" -" async with asyncio.TaskGroup() as tg:\n" -" task1 = tg.create_task(some_coro(...))\n" -" task2 = tg.create_task(another_coro(...))\n" -" print(f\"Both tasks have completed now: {task1.result()}, {task2.result()}\")" -msgstr "" - -#: ../../library/asyncio-task.rst:353 -msgid "" -"The ``async with`` statement will wait for all tasks in the group to finish." -" While waiting, new tasks may still be added to the group (for example, by " -"passing ``tg`` into one of the coroutines and calling ``tg.create_task()`` " -"in that coroutine). Once the last task has finished and the ``async with`` " -"block is exited, no new tasks may be added to the group." -msgstr "" - -#: ../../library/asyncio-task.rst:360 -msgid "" -"The first time any of the tasks belonging to the group fails with an " -"exception other than :exc:`asyncio.CancelledError`, the remaining tasks in " -"the group are cancelled. No further tasks can then be added to the group. At" -" this point, if the body of the ``async with`` statement is still active " -"(i.e., :meth:`~object.__aexit__` hasn't been called yet), the task directly " -"containing the ``async with`` statement is also cancelled. The resulting " -":exc:`asyncio.CancelledError` will interrupt an ``await``, but it will not " -"bubble out of the containing ``async with`` statement." -msgstr "" - -#: ../../library/asyncio-task.rst:370 -msgid "" -"Once all tasks have finished, if any tasks have failed with an exception " -"other than :exc:`asyncio.CancelledError`, those exceptions are combined in " -"an :exc:`ExceptionGroup` or :exc:`BaseExceptionGroup` (as appropriate; see " -"their documentation) which is then raised." -msgstr "" - -#: ../../library/asyncio-task.rst:377 -msgid "" -"Two base exceptions are treated specially: If any task fails with " -":exc:`KeyboardInterrupt` or :exc:`SystemExit`, the task group still cancels " -"the remaining tasks and waits for them, but then the initial " -":exc:`KeyboardInterrupt` or :exc:`SystemExit` is re-raised instead of " -":exc:`ExceptionGroup` or :exc:`BaseExceptionGroup`." -msgstr "" - -#: ../../library/asyncio-task.rst:383 -msgid "" -"If the body of the ``async with`` statement exits with an exception (so " -":meth:`~object.__aexit__` is called with an exception set), this is treated " -"the same as if one of the tasks failed: the remaining tasks are cancelled " -"and then waited for, and non-cancellation exceptions are grouped into an " -"exception group and raised. The exception passed into " -":meth:`~object.__aexit__`, unless it is :exc:`asyncio.CancelledError`, is " -"also included in the exception group. The same special case is made for " -":exc:`KeyboardInterrupt` and :exc:`SystemExit` as in the previous paragraph." -msgstr "" - -#: ../../library/asyncio-task.rst:395 -msgid "" -"Task groups are careful not to mix up the internal cancellation used to " -"\"wake up\" their :meth:`~object.__aexit__` with cancellation requests for " -"the task in which they are running made by other parties. In particular, " -"when one task group is syntactically nested in another, and both experience " -"an exception in one of their child tasks simultaneously, the inner task " -"group will process its exceptions, and then the outer task group will " -"receive another cancellation and process its own exceptions." -msgstr "" - -#: ../../library/asyncio-task.rst:403 -msgid "" -"In the case where a task group is cancelled externally and also must raise " -"an :exc:`ExceptionGroup`, it will call the parent task's " -":meth:`~asyncio.Task.cancel` method. This ensures that a " -":exc:`asyncio.CancelledError` will be raised at the next :keyword:`await`, " -"so the cancellation is not lost." -msgstr "" - -#: ../../library/asyncio-task.rst:409 -msgid "" -"Task groups preserve the cancellation count reported by " -":meth:`asyncio.Task.cancelling`." -msgstr "" - -#: ../../library/asyncio-task.rst:414 -msgid "" -"Improved handling of simultaneous internal and external cancellations and " -"correct preservation of cancellation counts." -msgstr "" - -#: ../../library/asyncio-task.rst:418 -msgid "Terminating a Task Group" -msgstr "" - -#: ../../library/asyncio-task.rst:420 -msgid "" -"While terminating a task group is not natively supported by the standard " -"library, termination can be achieved by adding an exception-raising task to " -"the task group and ignoring the raised exception:" -msgstr "" - -#: ../../library/asyncio-task.rst:424 -msgid "" -"import asyncio\n" -"from asyncio import TaskGroup\n" -"\n" -"class TerminateTaskGroup(Exception):\n" -" \"\"\"Exception raised to terminate a task group.\"\"\"\n" -"\n" -"async def force_terminate_task_group():\n" -" \"\"\"Used to force termination of a task group.\"\"\"\n" -" raise TerminateTaskGroup()\n" -"\n" -"async def job(task_id, sleep_time):\n" -" print(f'Task {task_id}: start')\n" -" await asyncio.sleep(sleep_time)\n" -" print(f'Task {task_id}: done')\n" -"\n" -"async def main():\n" -" try:\n" -" async with TaskGroup() as group:\n" -" # spawn some tasks\n" -" group.create_task(job(1, 0.5))\n" -" group.create_task(job(2, 1.5))\n" -" # sleep for 1 second\n" -" await asyncio.sleep(1)\n" -" # add an exception-raising task to force the group to terminate\n" -" group.create_task(force_terminate_task_group())\n" -" except* TerminateTaskGroup:\n" -" pass\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio-task.rst:456 -msgid "Expected output:" -msgstr "" - -#: ../../library/asyncio-task.rst:458 -msgid "" -"Task 1: start\n" -"Task 2: start\n" -"Task 1: done" -msgstr "" - -#: ../../library/asyncio-task.rst:465 -msgid "Sleeping" -msgstr "" - -#: ../../library/asyncio-task.rst:470 -msgid "Block for *delay* seconds." -msgstr "" - -#: ../../library/asyncio-task.rst:472 -msgid "" -"If *result* is provided, it is returned to the caller when the coroutine " -"completes." -msgstr "" - -#: ../../library/asyncio-task.rst:475 -msgid "" -"``sleep()`` always suspends the current task, allowing other tasks to run." -msgstr "" - -#: ../../library/asyncio-task.rst:478 -msgid "" -"Setting the delay to 0 provides an optimized path to allow other tasks to " -"run. This can be used by long-running functions to avoid blocking the event " -"loop for the full duration of the function call." -msgstr "" - -#: ../../library/asyncio-task.rst:484 -msgid "" -"Example of coroutine displaying the current date every second for 5 " -"seconds::" -msgstr "" - -#: ../../library/asyncio-task.rst:487 -msgid "" -"import asyncio\n" -"import datetime\n" -"\n" -"async def display_date():\n" -" loop = asyncio.get_running_loop()\n" -" end_time = loop.time() + 5.0\n" -" while True:\n" -" print(datetime.datetime.now())\n" -" if (loop.time() + 1.0) >= end_time:\n" -" break\n" -" await asyncio.sleep(1)\n" -"\n" -"asyncio.run(display_date())" -msgstr "" - -#: ../../library/asyncio-task.rst:502 ../../library/asyncio-task.rst:600 -#: ../../library/asyncio-task.rst:699 ../../library/asyncio-task.rst:874 -#: ../../library/asyncio-task.rst:929 ../../library/asyncio-task.rst:986 -msgid "Removed the *loop* parameter." -msgstr "" - -#: ../../library/asyncio-task.rst:505 -msgid "Raises :exc:`ValueError` if *delay* is :data:`~math.nan`." -msgstr "" - -#: ../../library/asyncio-task.rst:510 -msgid "Running Tasks Concurrently" -msgstr "" - -#: ../../library/asyncio-task.rst:514 -msgid "" -"Run :ref:`awaitable objects ` in the *aws* sequence " -"*concurrently*." -msgstr "" - -#: ../../library/asyncio-task.rst:517 -msgid "" -"If any awaitable in *aws* is a coroutine, it is automatically scheduled as a" -" Task." -msgstr "" - -#: ../../library/asyncio-task.rst:520 -msgid "" -"If all awaitables are completed successfully, the result is an aggregate " -"list of returned values. The order of result values corresponds to the " -"order of awaitables in *aws*." -msgstr "" - -#: ../../library/asyncio-task.rst:524 -msgid "" -"If *return_exceptions* is ``False`` (default), the first raised exception is" -" immediately propagated to the task that awaits on ``gather()``. Other " -"awaitables in the *aws* sequence **won't be cancelled** and will continue to" -" run." -msgstr "" - -#: ../../library/asyncio-task.rst:529 -msgid "" -"If *return_exceptions* is ``True``, exceptions are treated the same as " -"successful results, and aggregated in the result list." -msgstr "" - -#: ../../library/asyncio-task.rst:532 -msgid "" -"If ``gather()`` is *cancelled*, all submitted awaitables (that have not " -"completed yet) are also *cancelled*." -msgstr "" - -#: ../../library/asyncio-task.rst:535 -msgid "" -"If any Task or Future from the *aws* sequence is *cancelled*, it is treated " -"as if it raised :exc:`CancelledError` -- the ``gather()`` call is **not** " -"cancelled in this case. This is to prevent the cancellation of one " -"submitted Task/Future to cause other Tasks/Futures to be cancelled." -msgstr "" - -#: ../../library/asyncio-task.rst:542 -msgid "" -"A new alternative to create and run tasks concurrently and wait for their " -"completion is :class:`asyncio.TaskGroup`. *TaskGroup* provides stronger " -"safety guarantees than *gather* for scheduling a nesting of subtasks: if a " -"task (or a subtask, a task scheduled by a task) raises an exception, " -"*TaskGroup* will, while *gather* will not, cancel the remaining scheduled " -"tasks)." -msgstr "" - -#: ../../library/asyncio-task.rst:553 -msgid "" -"import asyncio\n" -"\n" -"async def factorial(name, number):\n" -" f = 1\n" -" for i in range(2, number + 1):\n" -" print(f\"Task {name}: Compute factorial({number}), currently i={i}...\")\n" -" await asyncio.sleep(1)\n" -" f *= i\n" -" print(f\"Task {name}: factorial({number}) = {f}\")\n" -" return f\n" -"\n" -"async def main():\n" -" # Schedule three calls *concurrently*:\n" -" L = await asyncio.gather(\n" -" factorial(\"A\", 2),\n" -" factorial(\"B\", 3),\n" -" factorial(\"C\", 4),\n" -" )\n" -" print(L)\n" -"\n" -"asyncio.run(main())\n" -"\n" -"# Expected output:\n" -"#\n" -"# Task A: Compute factorial(2), currently i=2...\n" -"# Task B: Compute factorial(3), currently i=2...\n" -"# Task C: Compute factorial(4), currently i=2...\n" -"# Task A: factorial(2) = 2\n" -"# Task B: Compute factorial(3), currently i=3...\n" -"# Task C: Compute factorial(4), currently i=3...\n" -"# Task B: factorial(3) = 6\n" -"# Task C: Compute factorial(4), currently i=4...\n" -"# Task C: factorial(4) = 24\n" -"# [2, 6, 24]" -msgstr "" - -#: ../../library/asyncio-task.rst:589 -msgid "" -"If *return_exceptions* is false, cancelling gather() after it has been " -"marked done won't cancel any submitted awaitables. For instance, gather can " -"be marked done after propagating an exception to the caller, therefore, " -"calling ``gather.cancel()`` after catching an exception (raised by one of " -"the awaitables) from gather won't cancel any other awaitables." -msgstr "" - -#: ../../library/asyncio-task.rst:596 -msgid "" -"If the *gather* itself is cancelled, the cancellation is propagated " -"regardless of *return_exceptions*." -msgstr "" - -#: ../../library/asyncio-task.rst:603 -msgid "" -"Deprecation warning is emitted if no positional arguments are provided or " -"not all positional arguments are Future-like objects and there is no running" -" event loop." -msgstr "" - -#: ../../library/asyncio-task.rst:612 -msgid "Eager Task Factory" -msgstr "" - -#: ../../library/asyncio-task.rst:616 -msgid "A task factory for eager task execution." -msgstr "" - -#: ../../library/asyncio-task.rst:618 -msgid "" -"When using this factory (via " -":meth:`loop.set_task_factory(asyncio.eager_task_factory) " -"`), coroutines begin execution synchronously during " -":class:`Task` construction. Tasks are only scheduled on the event loop if " -"they block. This can be a performance improvement as the overhead of loop " -"scheduling is avoided for coroutines that complete synchronously." -msgstr "" - -#: ../../library/asyncio-task.rst:624 -msgid "" -"A common example where this is beneficial is coroutines which employ caching" -" or memoization to avoid actual I/O when possible." -msgstr "" - -#: ../../library/asyncio-task.rst:629 -msgid "" -"Immediate execution of the coroutine is a semantic change. If the coroutine " -"returns or raises, the task is never scheduled to the event loop. If the " -"coroutine execution blocks, the task is scheduled to the event loop. This " -"change may introduce behavior changes to existing applications. For example," -" the application's task execution order is likely to change." -msgstr "" - -#: ../../library/asyncio-task.rst:640 -msgid "" -"Create an eager task factory, similar to :func:`eager_task_factory`, using " -"the provided *custom_task_constructor* when creating a new task instead of " -"the default :class:`Task`." -msgstr "" - -#: ../../library/asyncio-task.rst:644 -msgid "" -"*custom_task_constructor* must be a *callable* with the signature matching " -"the signature of :class:`Task.__init__ `. The callable must return a " -":class:`asyncio.Task`-compatible object." -msgstr "" - -#: ../../library/asyncio-task.rst:648 -msgid "" -"This function returns a *callable* intended to be used as a task factory of " -"an event loop via :meth:`loop.set_task_factory(factory) " -"`)." -msgstr "" - -#: ../../library/asyncio-task.rst:655 -msgid "Shielding From Cancellation" -msgstr "" - -#: ../../library/asyncio-task.rst:659 -msgid "" -"Protect an :ref:`awaitable object ` from being " -":meth:`cancelled `." -msgstr "" - -#: ../../library/asyncio-task.rst:662 ../../library/asyncio-task.rst:829 -msgid "If *aw* is a coroutine it is automatically scheduled as a Task." -msgstr "" - -#: ../../library/asyncio-task.rst:664 -msgid "The statement::" -msgstr "" - -#: ../../library/asyncio-task.rst:666 -msgid "" -"task = asyncio.create_task(something())\n" -"res = await shield(task)" -msgstr "" - -#: ../../library/asyncio-task.rst:669 -msgid "is equivalent to::" -msgstr "setara dengan::" - -#: ../../library/asyncio-task.rst:671 -msgid "res = await something()" -msgstr "" - -#: ../../library/asyncio-task.rst:673 -msgid "" -"*except* that if the coroutine containing it is cancelled, the Task running " -"in ``something()`` is not cancelled. From the point of view of " -"``something()``, the cancellation did not happen. Although its caller is " -"still cancelled, so the \"await\" expression still raises a " -":exc:`CancelledError`." -msgstr "" - -#: ../../library/asyncio-task.rst:679 -msgid "" -"If ``something()`` is cancelled by other means (i.e. from within itself) " -"that would also cancel ``shield()``." -msgstr "" - -#: ../../library/asyncio-task.rst:682 -msgid "" -"If it is desired to completely ignore cancellation (not recommended) the " -"``shield()`` function should be combined with a try/except clause, as " -"follows::" -msgstr "" - -#: ../../library/asyncio-task.rst:686 -msgid "" -"task = asyncio.create_task(something())\n" -"try:\n" -" res = await shield(task)\n" -"except CancelledError:\n" -" res = None" -msgstr "" - -#: ../../library/asyncio-task.rst:694 -msgid "" -"Save a reference to tasks passed to this function, to avoid a task " -"disappearing mid-execution. The event loop only keeps weak references to " -"tasks. A task that isn't referenced elsewhere may get garbage collected at " -"any time, even before it's done." -msgstr "" - -#: ../../library/asyncio-task.rst:702 -msgid "" -"Deprecation warning is emitted if *aw* is not Future-like object and there " -"is no running event loop." -msgstr "" - -#: ../../library/asyncio-task.rst:708 -msgid "Timeouts" -msgstr "" - -#: ../../library/asyncio-task.rst:712 -msgid "" -"Return an :ref:`asynchronous context manager ` that " -"can be used to limit the amount of time spent waiting on something." -msgstr "" - -#: ../../library/asyncio-task.rst:716 -msgid "" -"*delay* can either be ``None``, or a float/int number of seconds to wait. If" -" *delay* is ``None``, no time limit will be applied; this can be useful if " -"the delay is unknown when the context manager is created." -msgstr "" - -#: ../../library/asyncio-task.rst:721 -msgid "" -"In either case, the context manager can be rescheduled after creation using " -":meth:`Timeout.reschedule`." -msgstr "" - -#: ../../library/asyncio-task.rst:726 -msgid "" -"async def main():\n" -" async with asyncio.timeout(10):\n" -" await long_running_task()" -msgstr "" - -#: ../../library/asyncio-task.rst:730 -msgid "" -"If ``long_running_task`` takes more than 10 seconds to complete, the context" -" manager will cancel the current task and handle the resulting " -":exc:`asyncio.CancelledError` internally, transforming it into a " -":exc:`TimeoutError` which can be caught and handled." -msgstr "" - -#: ../../library/asyncio-task.rst:737 -msgid "" -"The :func:`asyncio.timeout` context manager is what transforms the " -":exc:`asyncio.CancelledError` into a :exc:`TimeoutError`, which means the " -":exc:`TimeoutError` can only be caught *outside* of the context manager." -msgstr "" - -#: ../../library/asyncio-task.rst:742 -msgid "Example of catching :exc:`TimeoutError`::" -msgstr "" - -#: ../../library/asyncio-task.rst:744 -msgid "" -"async def main():\n" -" try:\n" -" async with asyncio.timeout(10):\n" -" await long_running_task()\n" -" except TimeoutError:\n" -" print(\"The long operation timed out, but we've handled it.\")\n" -"\n" -" print(\"This statement will run regardless.\")" -msgstr "" - -#: ../../library/asyncio-task.rst:753 -msgid "" -"The context manager produced by :func:`asyncio.timeout` can be rescheduled " -"to a different deadline and inspected." -msgstr "" - -#: ../../library/asyncio-task.rst:758 -msgid "" -"An :ref:`asynchronous context manager ` for " -"cancelling overdue coroutines." -msgstr "" - -#: ../../library/asyncio-task.rst:761 -msgid "" -"``when`` should be an absolute time at which the context should time out, as" -" measured by the event loop's clock:" -msgstr "" - -#: ../../library/asyncio-task.rst:764 -msgid "If ``when`` is ``None``, the timeout will never trigger." -msgstr "" - -#: ../../library/asyncio-task.rst:765 -msgid "" -"If ``when < loop.time()``, the timeout will trigger on the next iteration of" -" the event loop." -msgstr "" - -#: ../../library/asyncio-task.rst:770 -msgid "" -"Return the current deadline, or ``None`` if the current deadline is not set." -msgstr "" - -#: ../../library/asyncio-task.rst:775 -msgid "Reschedule the timeout." -msgstr "" - -#: ../../library/asyncio-task.rst:779 -msgid "" -"Return whether the context manager has exceeded its deadline (expired)." -msgstr "" - -#: ../../library/asyncio-task.rst:784 -msgid "" -"async def main():\n" -" try:\n" -" # We do not know the timeout when starting, so we pass ``None``.\n" -" async with asyncio.timeout(None) as cm:\n" -" # We know the timeout now, so we reschedule it.\n" -" new_deadline = get_running_loop().time() + 10\n" -" cm.reschedule(new_deadline)\n" -"\n" -" await long_running_task()\n" -" except TimeoutError:\n" -" pass\n" -"\n" -" if cm.expired():\n" -" print(\"Looks like we haven't finished on time.\")" -msgstr "" - -#: ../../library/asyncio-task.rst:799 -msgid "Timeout context managers can be safely nested." -msgstr "" - -#: ../../library/asyncio-task.rst:805 -msgid "" -"Similar to :func:`asyncio.timeout`, except *when* is the absolute time to " -"stop waiting, or ``None``." -msgstr "" - -#: ../../library/asyncio-task.rst:810 -msgid "" -"async def main():\n" -" loop = get_running_loop()\n" -" deadline = loop.time() + 20\n" -" try:\n" -" async with asyncio.timeout_at(deadline):\n" -" await long_running_task()\n" -" except TimeoutError:\n" -" print(\"The long operation timed out, but we've handled it.\")\n" -"\n" -" print(\"This statement will run regardless.\")" -msgstr "" - -#: ../../library/asyncio-task.rst:826 -msgid "" -"Wait for the *aw* :ref:`awaitable ` to complete with a " -"timeout." -msgstr "" - -#: ../../library/asyncio-task.rst:831 -msgid "" -"*timeout* can either be ``None`` or a float or int number of seconds to wait" -" for. If *timeout* is ``None``, block until the future completes." -msgstr "" - -#: ../../library/asyncio-task.rst:835 -msgid "" -"If a timeout occurs, it cancels the task and raises :exc:`TimeoutError`." -msgstr "" - -#: ../../library/asyncio-task.rst:838 -msgid "" -"To avoid the task :meth:`cancellation `, wrap it in " -":func:`shield`." -msgstr "" - -#: ../../library/asyncio-task.rst:841 -msgid "" -"The function will wait until the future is actually cancelled, so the total " -"wait time may exceed the *timeout*. If an exception happens during " -"cancellation, it is propagated." -msgstr "" - -#: ../../library/asyncio-task.rst:845 -msgid "If the wait is cancelled, the future *aw* is also cancelled." -msgstr "" - -#: ../../library/asyncio-task.rst:851 -msgid "" -"async def eternity():\n" -" # Sleep for one hour\n" -" await asyncio.sleep(3600)\n" -" print('yay!')\n" -"\n" -"async def main():\n" -" # Wait for at most 1 second\n" -" try:\n" -" await asyncio.wait_for(eternity(), timeout=1.0)\n" -" except TimeoutError:\n" -" print('timeout!')\n" -"\n" -"asyncio.run(main())\n" -"\n" -"# Expected output:\n" -"#\n" -"# timeout!" -msgstr "" - -#: ../../library/asyncio-task.rst:869 -msgid "" -"When *aw* is cancelled due to a timeout, ``wait_for`` waits for *aw* to be " -"cancelled. Previously, it raised :exc:`TimeoutError` immediately." -msgstr "" - -#: ../../library/asyncio-task.rst:877 -msgid "Raises :exc:`TimeoutError` instead of :exc:`asyncio.TimeoutError`." -msgstr "" - -#: ../../library/asyncio-task.rst:882 -msgid "Waiting Primitives" -msgstr "" - -#: ../../library/asyncio-task.rst:887 -msgid "" -"Run :class:`~asyncio.Future` and :class:`~asyncio.Task` instances in the " -"*aws* iterable concurrently and block until the condition specified by " -"*return_when*." -msgstr "" - -#: ../../library/asyncio-task.rst:891 -msgid "The *aws* iterable must not be empty." -msgstr "" - -#: ../../library/asyncio-task.rst:893 -msgid "Returns two sets of Tasks/Futures: ``(done, pending)``." -msgstr "" - -#: ../../library/asyncio-task.rst:895 -msgid "Usage::" -msgstr "Penggunaan::" - -#: ../../library/asyncio-task.rst:897 -msgid "done, pending = await asyncio.wait(aws)" -msgstr "" - -#: ../../library/asyncio-task.rst:899 -msgid "" -"*timeout* (a float or int), if specified, can be used to control the maximum" -" number of seconds to wait before returning." -msgstr "" - -#: ../../library/asyncio-task.rst:902 -msgid "" -"Note that this function does not raise :exc:`TimeoutError`. Futures or Tasks" -" that aren't done when the timeout occurs are simply returned in the second " -"set." -msgstr "" - -#: ../../library/asyncio-task.rst:906 -msgid "" -"*return_when* indicates when this function should return. It must be one of" -" the following constants:" -msgstr "" - -#: ../../library/asyncio-task.rst:912 -msgid "Constant" -msgstr "Konstanta" - -#: ../../library/asyncio-task.rst:913 -msgid "Description" -msgstr "Deskripsi" - -#: ../../library/asyncio-task.rst:916 -msgid "The function will return when any future finishes or is cancelled." -msgstr "" - -#: ../../library/asyncio-task.rst:919 -msgid "" -"The function will return when any future finishes by raising an exception. " -"If no future raises an exception then it is equivalent to " -":const:`ALL_COMPLETED`." -msgstr "" - -#: ../../library/asyncio-task.rst:924 -msgid "The function will return when all futures finish or are cancelled." -msgstr "" - -#: ../../library/asyncio-task.rst:926 -msgid "" -"Unlike :func:`~asyncio.wait_for`, ``wait()`` does not cancel the futures " -"when a timeout occurs." -msgstr "" - -#: ../../library/asyncio-task.rst:932 -msgid "Passing coroutine objects to ``wait()`` directly is forbidden." -msgstr "" - -#: ../../library/asyncio-task.rst:935 ../../library/asyncio-task.rst:993 -msgid "Added support for generators yielding tasks." -msgstr "" - -#: ../../library/asyncio-task.rst:941 -msgid "" -"Run :ref:`awaitable objects ` in the *aws* iterable " -"concurrently. The returned object can be iterated to obtain the results of " -"the awaitables as they finish." -msgstr "" - -#: ../../library/asyncio-task.rst:945 -msgid "" -"The object returned by ``as_completed()`` can be iterated as an " -":term:`asynchronous iterator` or a plain :term:`iterator`. When asynchronous" -" iteration is used, the originally-supplied awaitables are yielded if they " -"are tasks or futures. This makes it easy to correlate previously-scheduled " -"tasks with their results. Example::" -msgstr "" - -#: ../../library/asyncio-task.rst:951 -msgid "" -"ipv4_connect = create_task(open_connection(\"127.0.0.1\", 80))\n" -"ipv6_connect = create_task(open_connection(\"::1\", 80))\n" -"tasks = [ipv4_connect, ipv6_connect]\n" -"\n" -"async for earliest_connect in as_completed(tasks):\n" -" # earliest_connect is done. The result can be obtained by\n" -" # awaiting it or calling earliest_connect.result()\n" -" reader, writer = await earliest_connect\n" -"\n" -" if earliest_connect is ipv6_connect:\n" -" print(\"IPv6 connection established.\")\n" -" else:\n" -" print(\"IPv4 connection established.\")" -msgstr "" - -#: ../../library/asyncio-task.rst:965 -msgid "" -"During asynchronous iteration, implicitly-created tasks will be yielded for " -"supplied awaitables that aren't tasks or futures." -msgstr "" - -#: ../../library/asyncio-task.rst:968 -msgid "" -"When used as a plain iterator, each iteration yields a new coroutine that " -"returns the result or raises the exception of the next completed awaitable. " -"This pattern is compatible with Python versions older than 3.13::" -msgstr "" - -#: ../../library/asyncio-task.rst:972 -msgid "" -"ipv4_connect = create_task(open_connection(\"127.0.0.1\", 80))\n" -"ipv6_connect = create_task(open_connection(\"::1\", 80))\n" -"tasks = [ipv4_connect, ipv6_connect]\n" -"\n" -"for next_connect in as_completed(tasks):\n" -" # next_connect is not one of the original task objects. It must be\n" -" # awaited to obtain the result value or raise the exception of the\n" -" # awaitable that finishes next.\n" -" reader, writer = await next_connect" -msgstr "" - -#: ../../library/asyncio-task.rst:982 -msgid "" -"A :exc:`TimeoutError` is raised if the timeout occurs before all awaitables " -"are done. This is raised by the ``async for`` loop during asynchronous " -"iteration or by the coroutines yielded during plain iteration." -msgstr "" - -#: ../../library/asyncio-task.rst:989 -msgid "" -"Deprecation warning is emitted if not all awaitable objects in the *aws* " -"iterable are Future-like objects and there is no running event loop." -msgstr "" - -#: ../../library/asyncio-task.rst:996 -msgid "" -"The result can now be used as either an :term:`asynchronous iterator` or as " -"a plain :term:`iterator` (previously it was only a plain iterator)." -msgstr "" - -#: ../../library/asyncio-task.rst:1002 -msgid "Running in Threads" -msgstr "" - -#: ../../library/asyncio-task.rst:1007 -msgid "Asynchronously run function *func* in a separate thread." -msgstr "" - -#: ../../library/asyncio-task.rst:1009 -msgid "" -"Any \\*args and \\*\\*kwargs supplied for this function are directly passed " -"to *func*. Also, the current :class:`contextvars.Context` is propagated, " -"allowing context variables from the event loop thread to be accessed in the " -"separate thread." -msgstr "" - -#: ../../library/asyncio-task.rst:1014 -msgid "" -"Return a coroutine that can be awaited to get the eventual result of *func*." -msgstr "" - -#: ../../library/asyncio-task.rst:1016 -msgid "" -"This coroutine function is primarily intended to be used for executing IO-" -"bound functions/methods that would otherwise block the event loop if they " -"were run in the main thread. For example::" -msgstr "" - -#: ../../library/asyncio-task.rst:1020 -msgid "" -"def blocking_io():\n" -" print(f\"start blocking_io at {time.strftime('%X')}\")\n" -" # Note that time.sleep() can be replaced with any blocking\n" -" # IO-bound operation, such as file operations.\n" -" time.sleep(1)\n" -" print(f\"blocking_io complete at {time.strftime('%X')}\")\n" -"\n" -"async def main():\n" -" print(f\"started main at {time.strftime('%X')}\")\n" -"\n" -" await asyncio.gather(\n" -" asyncio.to_thread(blocking_io),\n" -" asyncio.sleep(1))\n" -"\n" -" print(f\"finished main at {time.strftime('%X')}\")\n" -"\n" -"\n" -"asyncio.run(main())\n" -"\n" -"# Expected output:\n" -"#\n" -"# started main at 19:50:53\n" -"# start blocking_io at 19:50:53\n" -"# blocking_io complete at 19:50:54\n" -"# finished main at 19:50:54" -msgstr "" - -#: ../../library/asyncio-task.rst:1046 -msgid "" -"Directly calling ``blocking_io()`` in any coroutine would block the event " -"loop for its duration, resulting in an additional 1 second of run time. " -"Instead, by using ``asyncio.to_thread()``, we can run it in a separate " -"thread without blocking the event loop." -msgstr "" - -#: ../../library/asyncio-task.rst:1053 -msgid "" -"Due to the :term:`GIL`, ``asyncio.to_thread()`` can typically only be used " -"to make IO-bound functions non-blocking. However, for extension modules that" -" release the GIL or alternative Python implementations that don't have one, " -"``asyncio.to_thread()`` can also be used for CPU-bound functions." -msgstr "" - -#: ../../library/asyncio-task.rst:1062 -msgid "Scheduling From Other Threads" -msgstr "" - -#: ../../library/asyncio-task.rst:1066 -msgid "Submit a coroutine to the given event loop. Thread-safe." -msgstr "" - -#: ../../library/asyncio-task.rst:1068 -msgid "" -"Return a :class:`concurrent.futures.Future` to wait for the result from " -"another OS thread." -msgstr "" - -#: ../../library/asyncio-task.rst:1071 -msgid "" -"This function is meant to be called from a different OS thread than the one " -"where the event loop is running. Example::" -msgstr "" - -#: ../../library/asyncio-task.rst:1074 -msgid "" -"def in_thread(loop: asyncio.AbstractEventLoop) -> None:\n" -" # Run some blocking IO\n" -" pathlib.Path(\"example.txt\").write_text(\"hello world\", encoding=\"utf8\")\n" -"\n" -" # Create a coroutine\n" -" coro = asyncio.sleep(1, result=3)\n" -"\n" -" # Submit the coroutine to a given loop\n" -" future = asyncio.run_coroutine_threadsafe(coro, loop)\n" -"\n" -" # Wait for the result with an optional timeout argument\n" -" assert future.result(timeout=2) == 3\n" -"\n" -"async def amain() -> None:\n" -" # Get the running loop\n" -" loop = asyncio.get_running_loop()\n" -"\n" -" # Run something in a thread\n" -" await asyncio.to_thread(in_thread, loop)" -msgstr "" - -#: ../../library/asyncio-task.rst:1094 -msgid "It's also possible to run the other way around. Example::" -msgstr "" - -#: ../../library/asyncio-task.rst:1096 -msgid "" -"@contextlib.contextmanager\n" -"def loop_in_thread() -> Generator[asyncio.AbstractEventLoop]:\n" -" loop_fut = concurrent.futures.Future[asyncio.AbstractEventLoop]()\n" -" stop_event = asyncio.Event()\n" -"\n" -" async def main() -> None:\n" -" loop_fut.set_result(asyncio.get_running_loop())\n" -" await stop_event.wait()\n" -"\n" -" with concurrent.futures.ThreadPoolExecutor(1) as tpe:\n" -" complete_fut = tpe.submit(asyncio.run, main())\n" -" for fut in concurrent.futures.as_completed((loop_fut, complete_fut)):\n" -" if fut is loop_fut:\n" -" loop = loop_fut.result()\n" -" try:\n" -" yield loop\n" -" finally:\n" -" loop.call_soon_threadsafe(stop_event.set)\n" -" else:\n" -" fut.result()\n" -"\n" -"# Create a loop in another thread\n" -"with loop_in_thread() as loop:\n" -" # Create a coroutine\n" -" coro = asyncio.sleep(1, result=3)\n" -"\n" -" # Submit the coroutine to a given loop\n" -" future = asyncio.run_coroutine_threadsafe(coro, loop)\n" -"\n" -" # Wait for the result with an optional timeout argument\n" -" assert future.result(timeout=2) == 3" -msgstr "" - -#: ../../library/asyncio-task.rst:1128 -msgid "" -"If an exception is raised in the coroutine, the returned Future will be " -"notified. It can also be used to cancel the task in the event loop::" -msgstr "" - -#: ../../library/asyncio-task.rst:1132 -msgid "" -"try:\n" -" result = future.result(timeout)\n" -"except TimeoutError:\n" -" print('The coroutine took too long, cancelling the task...')\n" -" future.cancel()\n" -"except Exception as exc:\n" -" print(f'The coroutine raised an exception: {exc!r}')\n" -"else:\n" -" print(f'The coroutine returned: {result!r}')" -msgstr "" - -#: ../../library/asyncio-task.rst:1142 -msgid "" -"See the :ref:`concurrency and multithreading ` " -"section of the documentation." -msgstr "" - -#: ../../library/asyncio-task.rst:1145 -msgid "" -"Unlike other asyncio functions this function requires the *loop* argument to" -" be passed explicitly." -msgstr "" - -#: ../../library/asyncio-task.rst:1152 -msgid "Introspection" -msgstr "" - -#: ../../library/asyncio-task.rst:1157 -msgid "" -"Return the currently running :class:`Task` instance, or ``None`` if no task " -"is running." -msgstr "" - -#: ../../library/asyncio-task.rst:1160 -msgid "" -"If *loop* is ``None`` :func:`get_running_loop` is used to get the current " -"loop." -msgstr "" - -#: ../../library/asyncio-task.rst:1168 -msgid "" -"Return a set of not yet finished :class:`Task` objects run by the loop." -msgstr "" - -#: ../../library/asyncio-task.rst:1171 -msgid "" -"If *loop* is ``None``, :func:`get_running_loop` is used for getting current " -"loop." -msgstr "" - -#: ../../library/asyncio-task.rst:1179 -msgid "Return ``True`` if *obj* is a coroutine object." -msgstr "" - -#: ../../library/asyncio-task.rst:1185 -msgid "Task Object" -msgstr "" - -#: ../../library/asyncio-task.rst:1189 -msgid "" -"A :class:`Future-like ` object that runs a Python :ref:`coroutine " -"`. Not thread-safe." -msgstr "" - -#: ../../library/asyncio-task.rst:1192 -msgid "" -"Tasks are used to run coroutines in event loops. If a coroutine awaits on a " -"Future, the Task suspends the execution of the coroutine and waits for the " -"completion of the Future. When the Future is *done*, the execution of the " -"wrapped coroutine resumes." -msgstr "" - -#: ../../library/asyncio-task.rst:1198 -msgid "" -"Event loops use cooperative scheduling: an event loop runs one Task at a " -"time. While a Task awaits for the completion of a Future, the event loop " -"runs other Tasks, callbacks, or performs IO operations." -msgstr "" - -#: ../../library/asyncio-task.rst:1203 -msgid "" -"Use the high-level :func:`asyncio.create_task` function to create Tasks, or " -"the low-level :meth:`loop.create_task` or :func:`ensure_future` functions. " -"Manual instantiation of Tasks is discouraged." -msgstr "" - -#: ../../library/asyncio-task.rst:1208 -msgid "" -"To cancel a running Task use the :meth:`cancel` method. Calling it will " -"cause the Task to throw a :exc:`CancelledError` exception into the wrapped " -"coroutine. If a coroutine is awaiting on a Future object during " -"cancellation, the Future object will be cancelled." -msgstr "" - -#: ../../library/asyncio-task.rst:1213 -msgid "" -":meth:`cancelled` can be used to check if the Task was cancelled. The method" -" returns ``True`` if the wrapped coroutine did not suppress the " -":exc:`CancelledError` exception and was actually cancelled." -msgstr "" - -#: ../../library/asyncio-task.rst:1218 -msgid "" -":class:`asyncio.Task` inherits from :class:`Future` all of its APIs except " -":meth:`Future.set_result` and :meth:`Future.set_exception`." -msgstr "" - -#: ../../library/asyncio-task.rst:1222 -msgid "" -"An optional keyword-only *context* argument allows specifying a custom " -":class:`contextvars.Context` for the *coro* to run in. If no *context* is " -"provided, the Task copies the current context and later runs its coroutine " -"in the copied context." -msgstr "" - -#: ../../library/asyncio-task.rst:1227 -msgid "" -"An optional keyword-only *eager_start* argument allows eagerly starting the " -"execution of the :class:`asyncio.Task` at task creation time. If set to " -"``True`` and the event loop is running, the task will start executing the " -"coroutine immediately, until the first time the coroutine blocks. If the " -"coroutine returns or raises without blocking, the task will be finished " -"eagerly and will skip scheduling to the event loop." -msgstr "" - -#: ../../library/asyncio-task.rst:1234 -msgid "Added support for the :mod:`contextvars` module." -msgstr "" - -#: ../../library/asyncio-task.rst:1240 -msgid "" -"Deprecation warning is emitted if *loop* is not specified and there is no " -"running event loop." -msgstr "" - -#: ../../library/asyncio-task.rst:1247 -msgid "Added the *eager_start* parameter." -msgstr "" - -#: ../../library/asyncio-task.rst:1252 -msgid "Return ``True`` if the Task is *done*." -msgstr "" - -#: ../../library/asyncio-task.rst:1254 -msgid "" -"A Task is *done* when the wrapped coroutine either returned a value, raised " -"an exception, or the Task was cancelled." -msgstr "" - -#: ../../library/asyncio-task.rst:1259 -msgid "Return the result of the Task." -msgstr "" - -#: ../../library/asyncio-task.rst:1261 -msgid "" -"If the Task is *done*, the result of the wrapped coroutine is returned (or " -"if the coroutine raised an exception, that exception is re-raised.)" -msgstr "" - -#: ../../library/asyncio-task.rst:1265 ../../library/asyncio-task.rst:1279 -msgid "" -"If the Task has been *cancelled*, this method raises a :exc:`CancelledError`" -" exception." -msgstr "" - -#: ../../library/asyncio-task.rst:1268 -msgid "" -"If the Task's result isn't yet available, this method raises an " -":exc:`InvalidStateError` exception." -msgstr "" - -#: ../../library/asyncio-task.rst:1273 -msgid "Return the exception of the Task." -msgstr "" - -#: ../../library/asyncio-task.rst:1275 -msgid "" -"If the wrapped coroutine raised an exception that exception is returned. If" -" the wrapped coroutine returned normally this method returns ``None``." -msgstr "" - -#: ../../library/asyncio-task.rst:1282 -msgid "" -"If the Task isn't *done* yet, this method raises an :exc:`InvalidStateError`" -" exception." -msgstr "" - -#: ../../library/asyncio-task.rst:1287 -msgid "Add a callback to be run when the Task is *done*." -msgstr "" - -#: ../../library/asyncio-task.rst:1289 ../../library/asyncio-task.rst:1298 -msgid "This method should only be used in low-level callback-based code." -msgstr "" - -#: ../../library/asyncio-task.rst:1291 -msgid "" -"See the documentation of :meth:`Future.add_done_callback` for more details." -msgstr "" - -#: ../../library/asyncio-task.rst:1296 -msgid "Remove *callback* from the callbacks list." -msgstr "" - -#: ../../library/asyncio-task.rst:1300 -msgid "" -"See the documentation of :meth:`Future.remove_done_callback` for more " -"details." -msgstr "" - -#: ../../library/asyncio-task.rst:1305 -msgid "Return the list of stack frames for this Task." -msgstr "" - -#: ../../library/asyncio-task.rst:1307 -msgid "" -"If the wrapped coroutine is not done, this returns the stack where it is " -"suspended. If the coroutine has completed successfully or was cancelled, " -"this returns an empty list. If the coroutine was terminated by an exception," -" this returns the list of traceback frames." -msgstr "" - -#: ../../library/asyncio-task.rst:1313 -msgid "The frames are always ordered from oldest to newest." -msgstr "" - -#: ../../library/asyncio-task.rst:1315 -msgid "Only one stack frame is returned for a suspended coroutine." -msgstr "" - -#: ../../library/asyncio-task.rst:1317 -msgid "" -"The optional *limit* argument sets the maximum number of frames to return; " -"by default all available frames are returned. The ordering of the returned " -"list differs depending on whether a stack or a traceback is returned: the " -"newest frames of a stack are returned, but the oldest frames of a traceback " -"are returned. (This matches the behavior of the traceback module.)" -msgstr "" - -#: ../../library/asyncio-task.rst:1326 -msgid "Print the stack or traceback for this Task." -msgstr "" - -#: ../../library/asyncio-task.rst:1328 -msgid "" -"This produces output similar to that of the traceback module for the frames " -"retrieved by :meth:`get_stack`." -msgstr "" - -#: ../../library/asyncio-task.rst:1331 -msgid "The *limit* argument is passed to :meth:`get_stack` directly." -msgstr "" - -#: ../../library/asyncio-task.rst:1333 -msgid "" -"The *file* argument is an I/O stream to which the output is written; by " -"default output is written to :data:`sys.stdout`." -msgstr "" - -#: ../../library/asyncio-task.rst:1338 -msgid "Return the coroutine object wrapped by the :class:`Task`." -msgstr "" - -#: ../../library/asyncio-task.rst:1342 -msgid "" -"This will return ``None`` for Tasks which have already completed eagerly. " -"See the :ref:`Eager Task Factory `." -msgstr "" - -#: ../../library/asyncio-task.rst:1349 -msgid "Newly added eager task execution means result may be ``None``." -msgstr "" - -#: ../../library/asyncio-task.rst:1353 -msgid "" -"Return the :class:`contextvars.Context` object associated with the task." -msgstr "" - -#: ../../library/asyncio-task.rst:1360 -msgid "Return the name of the Task." -msgstr "" - -#: ../../library/asyncio-task.rst:1362 -msgid "" -"If no name has been explicitly assigned to the Task, the default asyncio " -"Task implementation generates a default name during instantiation." -msgstr "" - -#: ../../library/asyncio-task.rst:1370 -msgid "Set the name of the Task." -msgstr "" - -#: ../../library/asyncio-task.rst:1372 -msgid "" -"The *value* argument can be any object, which is then converted to a string." -msgstr "" - -#: ../../library/asyncio-task.rst:1375 -msgid "" -"In the default Task implementation, the name will be visible in the " -":func:`repr` output of a task object." -msgstr "" - -#: ../../library/asyncio-task.rst:1382 -msgid "Request the Task to be cancelled." -msgstr "" - -#: ../../library/asyncio-task.rst:1384 -msgid "" -"If the Task is already *done* or *cancelled*, return ``False``, otherwise, " -"return ``True``." -msgstr "" - -#: ../../library/asyncio-task.rst:1387 -msgid "" -"The method arranges for a :exc:`CancelledError` exception to be thrown into " -"the wrapped coroutine on the next cycle of the event loop." -msgstr "" - -#: ../../library/asyncio-task.rst:1390 -msgid "" -"The coroutine then has a chance to clean up or even deny the request by " -"suppressing the exception with a :keyword:`try` ... ... ``except " -"CancelledError`` ... :keyword:`finally` block. Therefore, unlike " -":meth:`Future.cancel`, :meth:`Task.cancel` does not guarantee that the Task " -"will be cancelled, although suppressing cancellation completely is not " -"common and is actively discouraged. Should the coroutine nevertheless " -"decide to suppress the cancellation, it needs to call :meth:`Task.uncancel` " -"in addition to catching the exception." -msgstr "" - -#: ../../library/asyncio-task.rst:1400 -msgid "Added the *msg* parameter." -msgstr "" - -#: ../../library/asyncio-task.rst:1403 -msgid "" -"The ``msg`` parameter is propagated from cancelled task to its awaiter." -msgstr "" - -#: ../../library/asyncio-task.rst:1408 -msgid "" -"The following example illustrates how coroutines can intercept the " -"cancellation request::" -msgstr "" - -#: ../../library/asyncio-task.rst:1411 -msgid "" -"async def cancel_me():\n" -" print('cancel_me(): before sleep')\n" -"\n" -" try:\n" -" # Wait for 1 hour\n" -" await asyncio.sleep(3600)\n" -" except asyncio.CancelledError:\n" -" print('cancel_me(): cancel sleep')\n" -" raise\n" -" finally:\n" -" print('cancel_me(): after sleep')\n" -"\n" -"async def main():\n" -" # Create a \"cancel_me\" Task\n" -" task = asyncio.create_task(cancel_me())\n" -"\n" -" # Wait for 1 second\n" -" await asyncio.sleep(1)\n" -"\n" -" task.cancel()\n" -" try:\n" -" await task\n" -" except asyncio.CancelledError:\n" -" print(\"main(): cancel_me is cancelled now\")\n" -"\n" -"asyncio.run(main())\n" -"\n" -"# Expected output:\n" -"#\n" -"# cancel_me(): before sleep\n" -"# cancel_me(): cancel sleep\n" -"# cancel_me(): after sleep\n" -"# main(): cancel_me is cancelled now" -msgstr "" - -#: ../../library/asyncio-task.rst:1447 -msgid "Return ``True`` if the Task is *cancelled*." -msgstr "" - -#: ../../library/asyncio-task.rst:1449 -msgid "" -"The Task is *cancelled* when the cancellation was requested with " -":meth:`cancel` and the wrapped coroutine propagated the " -":exc:`CancelledError` exception thrown into it." -msgstr "" - -#: ../../library/asyncio-task.rst:1455 -msgid "Decrement the count of cancellation requests to this Task." -msgstr "" - -#: ../../library/asyncio-task.rst:1457 -msgid "Returns the remaining number of cancellation requests." -msgstr "" - -#: ../../library/asyncio-task.rst:1459 -msgid "" -"Note that once execution of a cancelled task completed, further calls to " -":meth:`uncancel` are ineffective." -msgstr "" - -#: ../../library/asyncio-task.rst:1464 -msgid "" -"This method is used by asyncio's internals and isn't expected to be used by " -"end-user code. In particular, if a Task gets successfully uncancelled, this" -" allows for elements of structured concurrency like :ref:`taskgroups` and " -":func:`asyncio.timeout` to continue running, isolating cancellation to the " -"respective structured block. For example::" -msgstr "" - -#: ../../library/asyncio-task.rst:1471 -msgid "" -"async def make_request_with_timeout():\n" -" try:\n" -" async with asyncio.timeout(1):\n" -" # Structured block affected by the timeout:\n" -" await make_request()\n" -" await make_another_request()\n" -" except TimeoutError:\n" -" log(\"There was a timeout\")\n" -" # Outer code not affected by the timeout:\n" -" await unrelated_code()" -msgstr "" - -#: ../../library/asyncio-task.rst:1482 -msgid "" -"While the block with ``make_request()`` and ``make_another_request()`` might" -" get cancelled due to the timeout, ``unrelated_code()`` should continue " -"running even in case of the timeout. This is implemented with " -":meth:`uncancel`. :class:`TaskGroup` context managers use :func:`uncancel` " -"in a similar fashion." -msgstr "" - -#: ../../library/asyncio-task.rst:1488 -msgid "" -"If end-user code is, for some reason, suppressing cancellation by catching " -":exc:`CancelledError`, it needs to call this method to remove the " -"cancellation state." -msgstr "" - -#: ../../library/asyncio-task.rst:1492 -msgid "" -"When this method decrements the cancellation count to zero, the method " -"checks if a previous :meth:`cancel` call had arranged for " -":exc:`CancelledError` to be thrown into the task. If it hasn't been thrown " -"yet, that arrangement will be rescinded (by resetting the internal " -"``_must_cancel`` flag)." -msgstr "" - -#: ../../library/asyncio-task.rst:1498 -msgid "Changed to rescind pending cancellation requests upon reaching zero." -msgstr "" - -#: ../../library/asyncio-task.rst:1503 -msgid "" -"Return the number of pending cancellation requests to this Task, i.e., the " -"number of calls to :meth:`cancel` less the number of :meth:`uncancel` calls." -msgstr "" - -#: ../../library/asyncio-task.rst:1507 -msgid "" -"Note that if this number is greater than zero but the Task is still " -"executing, :meth:`cancelled` will still return ``False``. This is because " -"this number can be lowered by calling :meth:`uncancel`, which can lead to " -"the task not being cancelled after all if the cancellation requests go down " -"to zero." -msgstr "" - -#: ../../library/asyncio-task.rst:1513 -msgid "" -"This method is used by asyncio's internals and isn't expected to be used by " -"end-user code. See :meth:`uncancel` for more details." -msgstr "" diff --git a/python-newest.library--asyncio/id.po b/python-newest.library--asyncio/id.po deleted file mode 100644 index 7a244c1..0000000 --- a/python-newest.library--asyncio/id.po +++ /dev/null @@ -1,180 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncio.rst:91 -msgid "High-level APIs" -msgstr "" - -#: ../../library/asyncio.rst:104 -msgid "Low-level APIs" -msgstr "" - -#: ../../library/asyncio.rst:115 -msgid "Guides and Tutorials" -msgstr "" - -#: ../../library/asyncio.rst:2 -msgid ":mod:`!asyncio` --- Asynchronous I/O" -msgstr "" - -#: ../../library/asyncio.rst-1 -msgid "Hello World!" -msgstr "" - -#: ../../library/asyncio.rst:13 -msgid "" -"import asyncio\n" -"\n" -"async def main():\n" -" print('Hello ...')\n" -" await asyncio.sleep(1)\n" -" print('... World!')\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../library/asyncio.rst:22 -msgid "" -"asyncio is a library to write **concurrent** code using the **async/await** " -"syntax." -msgstr "" - -#: ../../library/asyncio.rst:25 -msgid "" -"asyncio is used as a foundation for multiple Python asynchronous frameworks " -"that provide high-performance network and web-servers, database connection " -"libraries, distributed task queues, etc." -msgstr "" - -#: ../../library/asyncio.rst:29 -msgid "" -"asyncio is often a perfect fit for IO-bound and high-level **structured** " -"network code." -msgstr "" - -#: ../../library/asyncio.rst:32 -msgid "asyncio provides a set of **high-level** APIs to:" -msgstr "" - -#: ../../library/asyncio.rst:34 -msgid "" -":ref:`run Python coroutines ` concurrently and have full control " -"over their execution;" -msgstr "" - -#: ../../library/asyncio.rst:37 -msgid "perform :ref:`network IO and IPC `;" -msgstr "" - -#: ../../library/asyncio.rst:39 -msgid "control :ref:`subprocesses `;" -msgstr "" - -#: ../../library/asyncio.rst:41 -msgid "distribute tasks via :ref:`queues `;" -msgstr "" - -#: ../../library/asyncio.rst:43 -msgid ":ref:`synchronize ` concurrent code;" -msgstr "" - -#: ../../library/asyncio.rst:45 -msgid "" -"Additionally, there are **low-level** APIs for *library and framework " -"developers* to:" -msgstr "" - -#: ../../library/asyncio.rst:48 -msgid "" -"create and manage :ref:`event loops `, which provide " -"asynchronous APIs for :ref:`networking `, running " -":ref:`subprocesses `, handling :ref:`OS signals " -"`, etc;" -msgstr "" - -#: ../../library/asyncio.rst:53 -msgid "" -"implement efficient protocols using :ref:`transports `;" -msgstr "" - -#: ../../library/asyncio.rst:56 -msgid "" -":ref:`bridge ` callback-based libraries and code with " -"async/await syntax." -msgstr "" - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/asyncio.rst:64 -msgid "asyncio REPL" -msgstr "" - -#: ../../library/asyncio.rst:65 -msgid "" -"You can experiment with an ``asyncio`` concurrent context in the " -":term:`REPL`:" -msgstr "" - -#: ../../library/asyncio.rst:67 -msgid "" -"$ python -m asyncio\n" -"asyncio REPL ...\n" -"Use \"await\" directly instead of \"asyncio.run()\".\n" -"Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n" -">>> import asyncio\n" -">>> await asyncio.sleep(10, result='hello')\n" -"'hello'" -msgstr "" - -#: ../../library/asyncio.rst:77 -msgid "" -"Raises an :ref:`auditing event ` ``cpython.run_stdin`` with no " -"arguments." -msgstr "" - -#: ../../library/asyncio.rst:79 -msgid "(also 3.11.10, 3.10.15, 3.9.20, and 3.8.20) Emits audit events." -msgstr "" - -#: ../../library/asyncio.rst:82 -msgid "" -"Uses PyREPL if possible, in which case :envvar:`PYTHONSTARTUP` is also " -"executed. Emits audit events." -msgstr "" - -#: ../../library/asyncio.rst:90 -msgid "Reference" -msgstr "Referensi" - -#: ../../library/asyncio.rst:124 -msgid "The source code for asyncio can be found in :source:`Lib/asyncio/`." -msgstr "" diff --git a/python-newest.library--asyncore/id.po b/python-newest.library--asyncore/id.po deleted file mode 100644 index 7b799fa..0000000 --- a/python-newest.library--asyncore/id.po +++ /dev/null @@ -1,39 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/asyncore.rst:2 -msgid ":mod:`!asyncore` --- Asynchronous socket handler" -msgstr "" - -#: ../../library/asyncore.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.12 ` after being deprecated " -"in Python 3.6. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/asyncore.rst:14 -msgid "Applications should use the :mod:`asyncio` module instead." -msgstr "" - -#: ../../library/asyncore.rst:16 -msgid "" -"The last version of Python that provided the :mod:`!asyncore` module was " -"`Python 3.11 `_." -msgstr "" diff --git a/python-newest.library--atexit/id.po b/python-newest.library--atexit/id.po deleted file mode 100644 index ea4048c..0000000 --- a/python-newest.library--atexit/id.po +++ /dev/null @@ -1,184 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/atexit.rst:2 -msgid ":mod:`!atexit` --- Exit handlers" -msgstr "" - -#: ../../library/atexit.rst:12 -msgid "" -"The :mod:`atexit` module defines functions to register and unregister " -"cleanup functions. Functions thus registered are automatically executed " -"upon normal interpreter termination. :mod:`atexit` runs these functions in " -"the *reverse* order in which they were registered; if you register ``A``, " -"``B``, and ``C``, at interpreter termination time they will be run in the " -"order ``C``, ``B``, ``A``." -msgstr "" - -#: ../../library/atexit.rst:19 -msgid "" -"**Note:** The functions registered via this module are not called when the " -"program is killed by a signal not handled by Python, when a Python fatal " -"internal error is detected, or when :func:`os._exit` is called." -msgstr "" - -#: ../../library/atexit.rst:23 -msgid "" -"**Note:** The effect of registering or unregistering functions from within a" -" cleanup function is undefined." -msgstr "" - -#: ../../library/atexit.rst:26 -msgid "" -"When used with C-API subinterpreters, registered functions are local to the " -"interpreter they were registered in." -msgstr "" - -#: ../../library/atexit.rst:32 -msgid "" -"Register *func* as a function to be executed at termination. Any optional " -"arguments that are to be passed to *func* must be passed as arguments to " -":func:`register`. It is possible to register the same function and " -"arguments more than once." -msgstr "" - -#: ../../library/atexit.rst:37 -msgid "" -"At normal program termination (for instance, if :func:`sys.exit` is called " -"or the main module's execution completes), all functions registered are " -"called in last in, first out order. The assumption is that lower level " -"modules will normally be imported before higher level modules and thus must " -"be cleaned up later." -msgstr "" - -#: ../../library/atexit.rst:43 -msgid "" -"If an exception is raised during execution of the exit handlers, a traceback" -" is printed (unless :exc:`SystemExit` is raised) and the exception " -"information is saved. After all exit handlers have had a chance to run, the" -" last exception to be raised is re-raised." -msgstr "" - -#: ../../library/atexit.rst:48 -msgid "" -"This function returns *func*, which makes it possible to use it as a " -"decorator." -msgstr "" - -#: ../../library/atexit.rst:52 -msgid "" -"Starting new threads or calling :func:`os.fork` from a registered function " -"can lead to race condition between the main Python runtime thread freeing " -"thread states while internal :mod:`threading` routines or the new process " -"try to use that state. This can lead to crashes rather than clean shutdown." -msgstr "" - -#: ../../library/atexit.rst:58 -msgid "" -"Attempts to start a new thread or :func:`os.fork` a new process in a " -"registered function now leads to :exc:`RuntimeError`." -msgstr "" - -#: ../../library/atexit.rst:64 -msgid "" -"Remove *func* from the list of functions to be run at interpreter shutdown. " -":func:`unregister` silently does nothing if *func* was not previously " -"registered. If *func* has been registered more than once, every occurrence " -"of that function in the :mod:`atexit` call stack will be removed. Equality " -"comparisons (``==``) are used internally during unregistration, so function " -"references do not need to have matching identities." -msgstr "" - -#: ../../library/atexit.rst:74 -msgid "Module :mod:`readline`" -msgstr "" - -#: ../../library/atexit.rst:75 -msgid "" -"Useful example of :mod:`atexit` to read and write :mod:`readline` history " -"files." -msgstr "" - -#: ../../library/atexit.rst:82 -msgid ":mod:`atexit` Example" -msgstr "" - -#: ../../library/atexit.rst:84 -msgid "" -"The following simple example demonstrates how a module can initialize a " -"counter from a file when it is imported and save the counter's updated value" -" automatically when the program terminates without relying on the " -"application making an explicit call into this module at termination. ::" -msgstr "" - -#: ../../library/atexit.rst:89 -msgid "" -"try:\n" -" with open('counterfile') as infile:\n" -" _count = int(infile.read())\n" -"except FileNotFoundError:\n" -" _count = 0\n" -"\n" -"def incrcounter(n):\n" -" global _count\n" -" _count = _count + n\n" -"\n" -"def savecounter():\n" -" with open('counterfile', 'w') as outfile:\n" -" outfile.write('%d' % _count)\n" -"\n" -"import atexit\n" -"\n" -"atexit.register(savecounter)" -msgstr "" - -#: ../../library/atexit.rst:107 -msgid "" -"Positional and keyword arguments may also be passed to :func:`register` to " -"be passed along to the registered function when it is called::" -msgstr "" - -#: ../../library/atexit.rst:110 -msgid "" -"def goodbye(name, adjective):\n" -" print('Goodbye %s, it was %s to meet you.' % (name, adjective))\n" -"\n" -"import atexit\n" -"\n" -"atexit.register(goodbye, 'Donny', 'nice')\n" -"# or:\n" -"atexit.register(goodbye, adjective='nice', name='Donny')" -msgstr "" - -#: ../../library/atexit.rst:119 -msgid "Usage as a :term:`decorator`::" -msgstr "" - -#: ../../library/atexit.rst:121 -msgid "" -"import atexit\n" -"\n" -"@atexit.register\n" -"def goodbye():\n" -" print('You are now leaving the Python sector.')" -msgstr "" - -#: ../../library/atexit.rst:127 -msgid "This only works with functions that can be called without arguments." -msgstr "" diff --git a/python-newest.library--audioop/id.po b/python-newest.library--audioop/id.po deleted file mode 100644 index 077a3c2..0000000 --- a/python-newest.library--audioop/id.po +++ /dev/null @@ -1,35 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/audioop.rst:2 -msgid ":mod:`!audioop` --- Manipulate raw audio data" -msgstr "" - -#: ../../library/audioop.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.13 ` after being deprecated in" -" Python 3.11. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/audioop.rst:14 -msgid "" -"The last version of Python that provided the :mod:`!audioop` module was " -"`Python 3.12 `_." -msgstr "" diff --git a/python-newest.library--audit_events/id.po b/python-newest.library--audit_events/id.po deleted file mode 100644 index a59857d..0000000 --- a/python-newest.library--audit_events/id.po +++ /dev/null @@ -1,138 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/audit_events.rst:6 -msgid "Audit events table" -msgstr "" - -#: ../../library/audit_events.rst:8 -msgid "" -"This table contains all events raised by :func:`sys.audit` or " -":c:func:`PySys_Audit` calls throughout the CPython runtime and the standard " -"library. These calls were added in 3.8 or later (see :pep:`578`)." -msgstr "" - -#: ../../library/audit_events.rst:12 -msgid "" -"See :func:`sys.addaudithook` and :c:func:`PySys_AddAuditHook` for " -"information on handling these events." -msgstr "" - -#: ../../library/audit_events.rst:17 -msgid "" -"This table is generated from the CPython documentation, and may not " -"represent events raised by other implementations. See your runtime specific " -"documentation for actual events raised." -msgstr "" - -#: ../../library/audit_events.rst:23 -msgid "" -"The following events are raised internally and do not correspond to any " -"public API of CPython:" -msgstr "" - -#: ../../library/audit_events.rst:27 -msgid "Audit event" -msgstr "" - -#: ../../library/audit_events.rst:27 -msgid "Arguments" -msgstr "" - -#: ../../library/audit_events.rst:29 -msgid "_winapi.CreateFile" -msgstr "" - -#: ../../library/audit_events.rst:29 -msgid "" -"``file_name``, ``desired_access``, ``share_mode``, ``creation_disposition``," -" ``flags_and_attributes``" -msgstr "" - -#: ../../library/audit_events.rst:33 -msgid "_winapi.CreateJunction" -msgstr "" - -#: ../../library/audit_events.rst:33 -msgid "``src_path``, ``dst_path``" -msgstr "" - -#: ../../library/audit_events.rst:35 -msgid "_winapi.CreateNamedPipe" -msgstr "" - -#: ../../library/audit_events.rst:35 -msgid "``name``, ``open_mode``, ``pipe_mode``" -msgstr "" - -#: ../../library/audit_events.rst:37 -msgid "_winapi.CreatePipe" -msgstr "" - -#: ../../library/audit_events.rst:39 -msgid "_winapi.CreateProcess" -msgstr "" - -#: ../../library/audit_events.rst:39 -msgid "``application_name``, ``command_line``, ``current_directory``" -msgstr "" - -#: ../../library/audit_events.rst:42 -msgid "_winapi.OpenProcess" -msgstr "" - -#: ../../library/audit_events.rst:42 -msgid "``process_id``, ``desired_access``" -msgstr "" - -#: ../../library/audit_events.rst:44 -msgid "_winapi.TerminateProcess" -msgstr "" - -#: ../../library/audit_events.rst:44 -msgid "``handle``, ``exit_code``" -msgstr "" - -#: ../../library/audit_events.rst:46 -msgid "_posixsubprocess.fork_exec" -msgstr "" - -#: ../../library/audit_events.rst:46 -msgid "``exec_list``, ``args``, ``env``" -msgstr "" - -#: ../../library/audit_events.rst:48 -msgid "ctypes.PyObj_FromPtr" -msgstr "" - -#: ../../library/audit_events.rst:48 -msgid "``obj``" -msgstr "``obj``" - -#: ../../library/audit_events.rst:51 -msgid "The ``_posixsubprocess.fork_exec`` internal audit event." -msgstr "" - -#: ../../library/audit_events.rst:3 -msgid "audit events" -msgstr "" diff --git a/python-newest.library--base64/id.po b/python-newest.library--base64/id.po deleted file mode 100644 index 29ecd12..0000000 --- a/python-newest.library--base64/id.po +++ /dev/null @@ -1,416 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/base64.rst:2 -msgid ":mod:`!base64` --- Base16, Base32, Base64, Base85 Data Encodings" -msgstr "" - -#: ../../library/base64.rst:8 -msgid "**Source code:** :source:`Lib/base64.py`" -msgstr "" - -#: ../../library/base64.rst:16 -msgid "" -"This module provides functions for encoding binary data to printable ASCII " -"characters and decoding such encodings back to binary data. It provides " -"encoding and decoding functions for the encodings specified in :rfc:`4648`, " -"which defines the Base16, Base32, and Base64 algorithms, and for the de-" -"facto standard Ascii85 and Base85 encodings." -msgstr "" - -#: ../../library/base64.rst:22 -msgid "" -"The :rfc:`4648` encodings are suitable for encoding binary data so that it " -"can be safely sent by email, used as parts of URLs, or included as part of " -"an HTTP POST request. The encoding algorithm is not the same as the " -":program:`uuencode` program." -msgstr "" - -#: ../../library/base64.rst:27 -msgid "" -"There are two interfaces provided by this module. The modern interface " -"supports encoding :term:`bytes-like objects ` to ASCII " -":class:`bytes`, and decoding :term:`bytes-like objects ` " -"or strings containing ASCII to :class:`bytes`. Both base-64 alphabets " -"defined in :rfc:`4648` (normal, and URL- and filesystem-safe) are supported." -msgstr "" - -#: ../../library/base64.rst:33 -msgid "" -"The legacy interface does not support decoding from strings, but it does " -"provide functions for encoding and decoding to and from :term:`file objects " -"`. It only supports the Base64 standard alphabet, and it adds " -"newlines every 76 characters as per :rfc:`2045`. Note that if you are " -"looking for :rfc:`2045` support you probably want to be looking at the " -":mod:`email` package instead." -msgstr "" - -#: ../../library/base64.rst:41 -msgid "" -"ASCII-only Unicode strings are now accepted by the decoding functions of the" -" modern interface." -msgstr "" - -#: ../../library/base64.rst:45 -msgid "" -"Any :term:`bytes-like objects ` are now accepted by all " -"encoding and decoding functions in this module. Ascii85/Base85 support " -"added." -msgstr "" - -#: ../../library/base64.rst:49 -msgid "The modern interface provides:" -msgstr "" - -#: ../../library/base64.rst:53 -msgid "" -"Encode the :term:`bytes-like object` *s* using Base64 and return the encoded" -" :class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:56 -msgid "" -"Optional *altchars* must be a :term:`bytes-like object` of length 2 which " -"specifies an alternative alphabet for the ``+`` and ``/`` characters. This " -"allows an application to e.g. generate URL or filesystem safe Base64 " -"strings. The default is ``None``, for which the standard Base64 alphabet is" -" used." -msgstr "" - -#: ../../library/base64.rst:61 -msgid "" -"May assert or raise a :exc:`ValueError` if the length of *altchars* is not " -"2. Raises a :exc:`TypeError` if *altchars* is not a :term:`bytes-like " -"object`." -msgstr "" - -#: ../../library/base64.rst:67 -msgid "" -"Decode the Base64 encoded :term:`bytes-like object` or ASCII string *s* and " -"return the decoded :class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:70 -msgid "" -"Optional *altchars* must be a :term:`bytes-like object` or ASCII string of " -"length 2 which specifies the alternative alphabet used instead of the ``+`` " -"and ``/`` characters." -msgstr "" - -#: ../../library/base64.rst:74 -msgid "" -"A :exc:`binascii.Error` exception is raised if *s* is incorrectly padded." -msgstr "" - -#: ../../library/base64.rst:77 -msgid "" -"If *validate* is ``False`` (the default), characters that are neither in the" -" normal base-64 alphabet nor the alternative alphabet are discarded prior to" -" the padding check. If *validate* is ``True``, these non-alphabet " -"characters in the input result in a :exc:`binascii.Error`." -msgstr "" - -#: ../../library/base64.rst:83 -msgid "" -"For more information about the strict base64 check, see " -":func:`binascii.a2b_base64`" -msgstr "" - -#: ../../library/base64.rst:85 -msgid "" -"May assert or raise a :exc:`ValueError` if the length of *altchars* is not " -"2." -msgstr "" - -#: ../../library/base64.rst:89 -msgid "" -"Encode :term:`bytes-like object` *s* using the standard Base64 alphabet and " -"return the encoded :class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:95 -msgid "" -"Decode :term:`bytes-like object` or ASCII string *s* using the standard " -"Base64 alphabet and return the decoded :class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:101 -msgid "" -"Encode :term:`bytes-like object` *s* using the URL- and filesystem-safe " -"alphabet, which substitutes ``-`` instead of ``+`` and ``_`` instead of " -"``/`` in the standard Base64 alphabet, and return the encoded " -":class:`bytes`. The result can still contain ``=``." -msgstr "" - -#: ../../library/base64.rst:110 -msgid "" -"Decode :term:`bytes-like object` or ASCII string *s* using the URL- and " -"filesystem-safe alphabet, which substitutes ``-`` instead of ``+`` and ``_``" -" instead of ``/`` in the standard Base64 alphabet, and return the decoded " -":class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:119 -msgid "" -"Encode the :term:`bytes-like object` *s* using Base32 and return the encoded" -" :class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:125 -msgid "" -"Decode the Base32 encoded :term:`bytes-like object` or ASCII string *s* and " -"return the decoded :class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:128 ../../library/base64.rst:176 -msgid "" -"Optional *casefold* is a flag specifying whether a lowercase alphabet is " -"acceptable as input. For security purposes, the default is ``False``." -msgstr "" - -#: ../../library/base64.rst:132 -msgid "" -":rfc:`4648` allows for optional mapping of the digit 0 (zero) to the letter " -"O (oh), and for optional mapping of the digit 1 (one) to either the letter I" -" (eye) or letter L (el). The optional argument *map01* when not ``None``, " -"specifies which letter the digit 1 should be mapped to (when *map01* is not " -"``None``, the digit 0 is always mapped to the letter O). For security " -"purposes the default is ``None``, so that 0 and 1 are not allowed in the " -"input." -msgstr "" - -#: ../../library/base64.rst:139 ../../library/base64.rst:180 -msgid "" -"A :exc:`binascii.Error` is raised if *s* is incorrectly padded or if there " -"are non-alphabet characters present in the input." -msgstr "" - -#: ../../library/base64.rst:146 -msgid "" -"Similar to :func:`b32encode` but uses the Extended Hex Alphabet, as defined " -"in :rfc:`4648`." -msgstr "" - -#: ../../library/base64.rst:154 -msgid "" -"Similar to :func:`b32decode` but uses the Extended Hex Alphabet, as defined " -"in :rfc:`4648`." -msgstr "" - -#: ../../library/base64.rst:157 -msgid "" -"This version does not allow the digit 0 (zero) to the letter O (oh) and " -"digit 1 (one) to either the letter I (eye) or letter L (el) mappings, all " -"these characters are included in the Extended Hex Alphabet and are not " -"interchangeable." -msgstr "" - -#: ../../library/base64.rst:167 -msgid "" -"Encode the :term:`bytes-like object` *s* using Base16 and return the encoded" -" :class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:173 -msgid "" -"Decode the Base16 encoded :term:`bytes-like object` or ASCII string *s* and " -"return the decoded :class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:187 -msgid "" -"Encode the :term:`bytes-like object` *b* using Ascii85 and return the " -"encoded :class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:190 -msgid "" -"*foldspaces* is an optional flag that uses the special short sequence 'y' " -"instead of 4 consecutive spaces (ASCII 0x20) as supported by 'btoa'. This " -"feature is not supported by the \"standard\" Ascii85 encoding." -msgstr "" - -#: ../../library/base64.rst:194 -msgid "" -"*wrapcol* controls whether the output should have newline (``b'\\n'``) " -"characters added to it. If this is non-zero, each output line will be at " -"most this many characters long, excluding the trailing newline." -msgstr "" - -#: ../../library/base64.rst:198 -msgid "" -"*pad* controls whether the input is padded to a multiple of 4 before " -"encoding. Note that the ``btoa`` implementation always pads." -msgstr "" - -#: ../../library/base64.rst:201 -msgid "" -"*adobe* controls whether the encoded byte sequence is framed with ``<~`` and" -" ``~>``, which is used by the Adobe implementation." -msgstr "" - -#: ../../library/base64.rst:209 -msgid "" -"Decode the Ascii85 encoded :term:`bytes-like object` or ASCII string *b* and" -" return the decoded :class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:212 -msgid "" -"*foldspaces* is a flag that specifies whether the 'y' short sequence should " -"be accepted as shorthand for 4 consecutive spaces (ASCII 0x20). This feature" -" is not supported by the \"standard\" Ascii85 encoding." -msgstr "" - -#: ../../library/base64.rst:216 -msgid "" -"*adobe* controls whether the input sequence is in Adobe Ascii85 format (i.e." -" is framed with <~ and ~>)." -msgstr "" - -#: ../../library/base64.rst:219 -msgid "" -"*ignorechars* should be a :term:`bytes-like object` or ASCII string " -"containing characters to ignore from the input. This should only contain " -"whitespace characters, and by default contains all whitespace characters in " -"ASCII." -msgstr "" - -#: ../../library/base64.rst:229 -msgid "" -"Encode the :term:`bytes-like object` *b* using base85 (as used in e.g. git-" -"style binary diffs) and return the encoded :class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:232 -msgid "" -"If *pad* is true, the input is padded with ``b'\\0'`` so its length is a " -"multiple of 4 bytes before encoding." -msgstr "" - -#: ../../library/base64.rst:240 -msgid "" -"Decode the base85-encoded :term:`bytes-like object` or ASCII string *b* and " -"return the decoded :class:`bytes`. Padding is implicitly removed, if " -"necessary." -msgstr "" - -#: ../../library/base64.rst:249 -msgid "" -"Encode the :term:`bytes-like object` *s* using Z85 (as used in ZeroMQ) and " -"return the encoded :class:`bytes`. See `Z85 specification " -"`_ for more information." -msgstr "" - -#: ../../library/base64.rst:258 -msgid "" -"Decode the Z85-encoded :term:`bytes-like object` or ASCII string *s* and " -"return the decoded :class:`bytes`. See `Z85 specification " -"`_ for more information." -msgstr "" - -#: ../../library/base64.rst:265 -msgid "The legacy interface:" -msgstr "" - -#: ../../library/base64.rst:269 -msgid "" -"Decode the contents of the binary *input* file and write the resulting " -"binary data to the *output* file. *input* and *output* must be :term:`file " -"objects `. *input* will be read until ``input.readline()`` " -"returns an empty bytes object." -msgstr "" - -#: ../../library/base64.rst:277 -msgid "" -"Decode the :term:`bytes-like object` *s*, which must contain one or more " -"lines of base64 encoded data, and return the decoded :class:`bytes`." -msgstr "" - -#: ../../library/base64.rst:285 -msgid "" -"Encode the contents of the binary *input* file and write the resulting " -"base64 encoded data to the *output* file. *input* and *output* must be " -":term:`file objects `. *input* will be read until " -"``input.read()`` returns an empty bytes object. :func:`encode` inserts a " -"newline character (``b'\\n'``) after every 76 bytes of the output, as well " -"as ensuring that the output always ends with a newline, as per :rfc:`2045` " -"(MIME)." -msgstr "" - -#: ../../library/base64.rst:295 -msgid "" -"Encode the :term:`bytes-like object` *s*, which can contain arbitrary binary" -" data, and return :class:`bytes` containing the base64-encoded data, with " -"newlines (``b'\\n'``) inserted after every 76 bytes of output, and ensuring " -"that there is a trailing newline, as per :rfc:`2045` (MIME)." -msgstr "" - -#: ../../library/base64.rst:303 -msgid "An example usage of the module:" -msgstr "" - -#: ../../library/base64.rst:316 -msgid "Security Considerations" -msgstr "" - -#: ../../library/base64.rst:318 -msgid "" -"A new security considerations section was added to :rfc:`4648` (section 12);" -" it's recommended to review the security section for any code deployed to " -"production." -msgstr "" - -#: ../../library/base64.rst:323 -msgid "Module :mod:`binascii`" -msgstr "" - -#: ../../library/base64.rst:324 -msgid "" -"Support module containing ASCII-to-binary and binary-to-ASCII conversions." -msgstr "" - -#: ../../library/base64.rst:326 -msgid "" -":rfc:`1521` - MIME (Multipurpose Internet Mail Extensions) Part One: " -"Mechanisms for Specifying and Describing the Format of Internet Message " -"Bodies" -msgstr "" - -#: ../../library/base64.rst:327 -msgid "" -"Section 5.2, \"Base64 Content-Transfer-Encoding,\" provides the definition " -"of the base64 encoding." -msgstr "" - -#: ../../library/base64.rst:10 -msgid "base64" -msgstr "" - -#: ../../library/base64.rst:10 -msgid "encoding" -msgstr "" - -#: ../../library/base64.rst:10 -msgid "MIME" -msgstr "" - -#: ../../library/base64.rst:10 -msgid "base64 encoding" -msgstr "" diff --git a/python-newest.library--bdb/id.po b/python-newest.library--bdb/id.po deleted file mode 100644 index 539d4e6..0000000 --- a/python-newest.library--bdb/id.po +++ /dev/null @@ -1,668 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/bdb.rst:2 -msgid ":mod:`!bdb` --- Debugger framework" -msgstr "" - -#: ../../library/bdb.rst:7 -msgid "**Source code:** :source:`Lib/bdb.py`" -msgstr "" - -#: ../../library/bdb.rst:11 -msgid "" -"The :mod:`bdb` module handles basic debugger functions, like setting " -"breakpoints or managing execution via the debugger." -msgstr "" - -#: ../../library/bdb.rst:14 -msgid "The following exception is defined:" -msgstr "" - -#: ../../library/bdb.rst:18 -msgid "Exception raised by the :class:`Bdb` class for quitting the debugger." -msgstr "" - -#: ../../library/bdb.rst:21 -msgid "The :mod:`bdb` module also defines two classes:" -msgstr "" - -#: ../../library/bdb.rst:25 -msgid "" -"This class implements temporary breakpoints, ignore counts, disabling and " -"(re-)enabling, and conditionals." -msgstr "" - -#: ../../library/bdb.rst:28 -msgid "" -"Breakpoints are indexed by number through a list called :attr:`bpbynumber` " -"and by ``(file, line)`` pairs through :attr:`bplist`. The former points to " -"a single instance of class :class:`Breakpoint`. The latter points to a list" -" of such instances since there may be more than one breakpoint per line." -msgstr "" - -#: ../../library/bdb.rst:33 -msgid "" -"When creating a breakpoint, its associated :attr:`file name ` should " -"be in canonical form. If a :attr:`funcname` is defined, a breakpoint " -":attr:`hit ` will be counted when the first line of that function is " -"executed. A :attr:`conditional ` breakpoint always counts a " -":attr:`hit `." -msgstr "" - -#: ../../library/bdb.rst:39 -msgid ":class:`Breakpoint` instances have the following methods:" -msgstr "" - -#: ../../library/bdb.rst:43 -msgid "" -"Delete the breakpoint from the list associated to a file/line. If it is the" -" last breakpoint in that position, it also deletes the entry for the " -"file/line." -msgstr "" - -#: ../../library/bdb.rst:50 -msgid "Mark the breakpoint as enabled." -msgstr "" - -#: ../../library/bdb.rst:55 -msgid "Mark the breakpoint as disabled." -msgstr "" - -#: ../../library/bdb.rst:60 -msgid "" -"Return a string with all the information about the breakpoint, nicely " -"formatted:" -msgstr "" - -#: ../../library/bdb.rst:63 -msgid "Breakpoint number." -msgstr "" - -#: ../../library/bdb.rst:64 -msgid "Temporary status (del or keep)." -msgstr "" - -#: ../../library/bdb.rst:65 -msgid "File/line position." -msgstr "" - -#: ../../library/bdb.rst:66 -msgid "Break condition." -msgstr "" - -#: ../../library/bdb.rst:67 -msgid "Number of times to ignore." -msgstr "" - -#: ../../library/bdb.rst:68 -msgid "Number of times hit." -msgstr "" - -#: ../../library/bdb.rst:74 -msgid "" -"Print the output of :meth:`bpformat` to the file *out*, or if it is " -"``None``, to standard output." -msgstr "" - -#: ../../library/bdb.rst:77 -msgid ":class:`Breakpoint` instances have the following attributes:" -msgstr "" - -#: ../../library/bdb.rst:81 -msgid "File name of the :class:`Breakpoint`." -msgstr "" - -#: ../../library/bdb.rst:85 -msgid "Line number of the :class:`Breakpoint` within :attr:`file`." -msgstr "" - -#: ../../library/bdb.rst:89 -msgid "``True`` if a :class:`Breakpoint` at (file, line) is temporary." -msgstr "" - -#: ../../library/bdb.rst:93 -msgid "Condition for evaluating a :class:`Breakpoint` at (file, line)." -msgstr "" - -#: ../../library/bdb.rst:97 -msgid "" -"Function name that defines whether a :class:`Breakpoint` is hit upon " -"entering the function." -msgstr "" - -#: ../../library/bdb.rst:102 -msgid "``True`` if :class:`Breakpoint` is enabled." -msgstr "" - -#: ../../library/bdb.rst:106 -msgid "Numeric index for a single instance of a :class:`Breakpoint`." -msgstr "" - -#: ../../library/bdb.rst:110 -msgid "" -"Dictionary of :class:`Breakpoint` instances indexed by (:attr:`file`, " -":attr:`line`) tuples." -msgstr "" - -#: ../../library/bdb.rst:115 -msgid "Number of times to ignore a :class:`Breakpoint`." -msgstr "" - -#: ../../library/bdb.rst:119 -msgid "Count of the number of times a :class:`Breakpoint` has been hit." -msgstr "" - -#: ../../library/bdb.rst:123 -msgid "The :class:`Bdb` class acts as a generic Python debugger base class." -msgstr "" - -#: ../../library/bdb.rst:125 -msgid "" -"This class takes care of the details of the trace facility; a derived class " -"should implement user interaction. The standard debugger class " -"(:class:`pdb.Pdb`) is an example." -msgstr "" - -#: ../../library/bdb.rst:129 -msgid "" -"The *skip* argument, if given, must be an iterable of glob-style module name" -" patterns. The debugger will not step into frames that originate in a " -"module that matches one of these patterns. Whether a frame is considered to " -"originate in a certain module is determined by the ``__name__`` in the frame" -" globals." -msgstr "" - -#: ../../library/bdb.rst:135 -msgid "" -"The *backend* argument specifies the backend to use for :class:`Bdb`. It can" -" be either ``'settrace'`` or ``'monitoring'``. ``'settrace'`` uses " -":func:`sys.settrace` which has the best backward compatibility. The " -"``'monitoring'`` backend uses the new :mod:`sys.monitoring` that was " -"introduced in Python 3.12, which can be much more efficient because it can " -"disable unused events. We are trying to keep the exact interfaces for both " -"backends, but there are some differences. The debugger developers are " -"encouraged to use the ``'monitoring'`` backend to achieve better " -"performance." -msgstr "" - -#: ../../library/bdb.rst:145 -msgid "Added the *skip* parameter." -msgstr "" - -#: ../../library/bdb.rst:148 -msgid "Added the *backend* parameter." -msgstr "" - -#: ../../library/bdb.rst:151 -msgid "" -"The following methods of :class:`Bdb` normally don't need to be overridden." -msgstr "" - -#: ../../library/bdb.rst:155 -msgid "Return canonical form of *filename*." -msgstr "" - -#: ../../library/bdb.rst:157 -msgid "" -"For real file names, the canonical form is an operating-system-dependent, " -":func:`case-normalized ` :func:`absolute path " -"`. A *filename* with angle brackets, such as " -"``\"\"`` generated in interactive mode, is returned unchanged." -msgstr "" - -#: ../../library/bdb.rst:164 -msgid "" -"Start tracing. For ``'settrace'`` backend, this method is equivalent to " -"``sys.settrace(self.trace_dispatch)``" -msgstr "" - -#: ../../library/bdb.rst:171 -msgid "" -"Stop tracing. For ``'settrace'`` backend, this method is equivalent to " -"``sys.settrace(None)``" -msgstr "" - -#: ../../library/bdb.rst:178 -msgid "" -"Set the :attr:`!botframe`, :attr:`!stopframe`, :attr:`!returnframe` and " -":attr:`quitting ` attributes with values ready to start " -"debugging." -msgstr "" - -#: ../../library/bdb.rst:183 -msgid "" -"This function is installed as the trace function of debugged frames. Its " -"return value is the new trace function (in most cases, that is, itself)." -msgstr "" - -#: ../../library/bdb.rst:186 -msgid "" -"The default implementation decides how to dispatch a frame, depending on the" -" type of event (passed as a string) that is about to be executed. *event* " -"can be one of the following:" -msgstr "" - -#: ../../library/bdb.rst:190 -msgid "``\"line\"``: A new line of code is going to be executed." -msgstr "" - -#: ../../library/bdb.rst:191 -msgid "" -"``\"call\"``: A function is about to be called, or another code block " -"entered." -msgstr "" - -#: ../../library/bdb.rst:193 -msgid "``\"return\"``: A function or other code block is about to return." -msgstr "" - -#: ../../library/bdb.rst:194 -msgid "``\"exception\"``: An exception has occurred." -msgstr "" - -#: ../../library/bdb.rst:195 -msgid "``\"c_call\"``: A C function is about to be called." -msgstr "" - -#: ../../library/bdb.rst:196 -msgid "``\"c_return\"``: A C function has returned." -msgstr "" - -#: ../../library/bdb.rst:197 -msgid "``\"c_exception\"``: A C function has raised an exception." -msgstr "" - -#: ../../library/bdb.rst:199 -msgid "" -"For the Python events, specialized functions (see below) are called. For " -"the C events, no action is taken." -msgstr "" - -#: ../../library/bdb.rst:202 -msgid "The *arg* parameter depends on the previous event." -msgstr "" - -#: ../../library/bdb.rst:204 -msgid "" -"See the documentation for :func:`sys.settrace` for more information on the " -"trace function. For more information on code and frame objects, refer to " -":ref:`types`." -msgstr "" - -#: ../../library/bdb.rst:210 -msgid "" -"If the debugger should stop on the current line, invoke the " -":meth:`user_line` method (which should be overridden in subclasses). Raise a" -" :exc:`BdbQuit` exception if the :attr:`quitting ` flag is " -"set (which can be set from :meth:`user_line`). Return a reference to the " -":meth:`trace_dispatch` method for further tracing in that scope." -msgstr "" - -#: ../../library/bdb.rst:218 -msgid "" -"If the debugger should stop on this function call, invoke the " -":meth:`user_call` method (which should be overridden in subclasses). Raise a" -" :exc:`BdbQuit` exception if the :attr:`quitting ` flag is " -"set (which can be set from :meth:`user_call`). Return a reference to the " -":meth:`trace_dispatch` method for further tracing in that scope." -msgstr "" - -#: ../../library/bdb.rst:226 -msgid "" -"If the debugger should stop on this function return, invoke the " -":meth:`user_return` method (which should be overridden in subclasses). Raise" -" a :exc:`BdbQuit` exception if the :attr:`quitting ` flag is " -"set (which can be set from :meth:`user_return`). Return a reference to the " -":meth:`trace_dispatch` method for further tracing in that scope." -msgstr "" - -#: ../../library/bdb.rst:234 -msgid "" -"If the debugger should stop at this exception, invokes the " -":meth:`user_exception` method (which should be overridden in subclasses). " -"Raise a :exc:`BdbQuit` exception if the :attr:`quitting ` " -"flag is set (which can be set from :meth:`user_exception`). Return a " -"reference to the :meth:`trace_dispatch` method for further tracing in that " -"scope." -msgstr "" - -#: ../../library/bdb.rst:240 -msgid "" -"Normally derived classes don't override the following methods, but they may " -"if they want to redefine the definition of stopping and breakpoints." -msgstr "" - -#: ../../library/bdb.rst:245 -msgid "Return ``True`` if *module_name* matches any skip pattern." -msgstr "" - -#: ../../library/bdb.rst:249 -msgid "Return ``True`` if *frame* is below the starting frame in the stack." -msgstr "" - -#: ../../library/bdb.rst:253 -msgid "Return ``True`` if there is an effective breakpoint for this line." -msgstr "" - -#: ../../library/bdb.rst:255 -msgid "" -"Check whether a line or function breakpoint exists and is in effect. Delete" -" temporary breakpoints based on information from :func:`effective`." -msgstr "" - -#: ../../library/bdb.rst:260 -msgid "Return ``True`` if any breakpoint exists for *frame*'s filename." -msgstr "" - -#: ../../library/bdb.rst:262 -msgid "" -"Derived classes should override these methods to gain control over debugger " -"operation." -msgstr "" - -#: ../../library/bdb.rst:267 -msgid "" -"Called from :meth:`dispatch_call` if a break might stop inside the called " -"function." -msgstr "" - -#: ../../library/bdb.rst:270 -msgid "" -"*argument_list* is not used anymore and will always be ``None``. The " -"argument is kept for backwards compatibility." -msgstr "" - -#: ../../library/bdb.rst:275 -msgid "" -"Called from :meth:`dispatch_line` when either :meth:`stop_here` or " -":meth:`break_here` returns ``True``." -msgstr "" - -#: ../../library/bdb.rst:280 -msgid "" -"Called from :meth:`dispatch_return` when :meth:`stop_here` returns ``True``." -msgstr "" - -#: ../../library/bdb.rst:284 -msgid "" -"Called from :meth:`dispatch_exception` when :meth:`stop_here` returns " -"``True``." -msgstr "" - -#: ../../library/bdb.rst:289 -msgid "Handle how a breakpoint must be removed when it is a temporary one." -msgstr "" - -#: ../../library/bdb.rst:291 -msgid "This method must be implemented by derived classes." -msgstr "" - -#: ../../library/bdb.rst:294 -msgid "" -"Derived classes and clients can call the following methods to affect the " -"stepping state." -msgstr "" - -#: ../../library/bdb.rst:299 -msgid "Stop after one line of code." -msgstr "" - -#: ../../library/bdb.rst:303 -msgid "Stop on the next line in or below the given frame." -msgstr "" - -#: ../../library/bdb.rst:307 -msgid "Stop when returning from the given frame." -msgstr "" - -#: ../../library/bdb.rst:311 -msgid "" -"Stop when the line with the *lineno* greater than the current one is reached" -" or when returning from current frame." -msgstr "" - -#: ../../library/bdb.rst:316 -msgid "" -"Start debugging from *frame*. If *frame* is not specified, debugging starts" -" from caller's frame." -msgstr "" - -#: ../../library/bdb.rst:319 -msgid "" -":func:`set_trace` will enter the debugger immediately, rather than on the " -"next line of code to be executed." -msgstr "" - -#: ../../library/bdb.rst:325 -msgid "" -"Stop only at breakpoints or when finished. If there are no breakpoints, set" -" the system trace function to ``None``." -msgstr "" - -#: ../../library/bdb.rst:332 -msgid "" -"Set the :attr:`!quitting` attribute to ``True``. This raises :exc:`BdbQuit`" -" in the next call to one of the :meth:`!dispatch_\\*` methods." -msgstr "" - -#: ../../library/bdb.rst:336 -msgid "" -"Derived classes and clients can call the following methods to manipulate " -"breakpoints. These methods return a string containing an error message if " -"something went wrong, or ``None`` if all is well." -msgstr "" - -#: ../../library/bdb.rst:342 -msgid "" -"Set a new breakpoint. If the *lineno* line doesn't exist for the *filename*" -" passed as argument, return an error message. The *filename* should be in " -"canonical form, as described in the :meth:`canonic` method." -msgstr "" - -#: ../../library/bdb.rst:348 -msgid "" -"Delete the breakpoints in *filename* and *lineno*. If none were set, return" -" an error message." -msgstr "" - -#: ../../library/bdb.rst:353 -msgid "" -"Delete the breakpoint which has the index *arg* in the " -":attr:`Breakpoint.bpbynumber`. If *arg* is not numeric or out of range, " -"return an error message." -msgstr "" - -#: ../../library/bdb.rst:359 -msgid "" -"Delete all breakpoints in *filename*. If none were set, return an error " -"message." -msgstr "" - -#: ../../library/bdb.rst:364 -msgid "" -"Delete all existing breakpoints. If none were set, return an error message." -msgstr "" - -#: ../../library/bdb.rst:369 -msgid "" -"Return a breakpoint specified by the given number. If *arg* is a string, it" -" will be converted to a number. If *arg* is a non-numeric string, if the " -"given breakpoint never existed or has been deleted, a :exc:`ValueError` is " -"raised." -msgstr "" - -#: ../../library/bdb.rst:378 -msgid "Return ``True`` if there is a breakpoint for *lineno* in *filename*." -msgstr "" - -#: ../../library/bdb.rst:382 -msgid "" -"Return all breakpoints for *lineno* in *filename*, or an empty list if none " -"are set." -msgstr "" - -#: ../../library/bdb.rst:387 -msgid "" -"Return all breakpoints in *filename*, or an empty list if none are set." -msgstr "" - -#: ../../library/bdb.rst:391 -msgid "Return all breakpoints that are set." -msgstr "" - -#: ../../library/bdb.rst:394 -msgid "" -"Derived classes and clients can call the following methods to disable and " -"restart events to achieve better performance. These methods only work when " -"using the ``'monitoring'`` backend." -msgstr "" - -#: ../../library/bdb.rst:400 -msgid "" -"Disable the current event until the next time :func:`restart_events` is " -"called. This is helpful when the debugger is not interested in the current " -"line." -msgstr "" - -#: ../../library/bdb.rst:408 -msgid "" -"Restart all the disabled events. This function is automatically called in " -"``dispatch_*`` methods after ``user_*`` methods are called. If the " -"``dispatch_*`` methods are not overridden, the disabled events will be " -"restarted after each user interaction." -msgstr "" - -#: ../../library/bdb.rst:416 -msgid "" -"Derived classes and clients can call the following methods to get a data " -"structure representing a stack trace." -msgstr "" - -#: ../../library/bdb.rst:421 -msgid "Return a list of (frame, lineno) tuples in a stack trace, and a size." -msgstr "" - -#: ../../library/bdb.rst:423 -msgid "" -"The most recently called frame is last in the list. The size is the number " -"of frames below the frame where the debugger was invoked." -msgstr "" - -#: ../../library/bdb.rst:428 -msgid "" -"Return a string with information about a stack entry, which is a ``(frame, " -"lineno)`` tuple. The return string contains:" -msgstr "" - -#: ../../library/bdb.rst:431 -msgid "The canonical filename which contains the frame." -msgstr "" - -#: ../../library/bdb.rst:432 -msgid "The function name or ``\"\"``." -msgstr "" - -#: ../../library/bdb.rst:433 -msgid "The input arguments." -msgstr "" - -#: ../../library/bdb.rst:434 -msgid "The return value." -msgstr "" - -#: ../../library/bdb.rst:435 -msgid "The line of code (if it exists)." -msgstr "" - -#: ../../library/bdb.rst:438 -msgid "" -"The following two methods can be called by clients to use a debugger to " -"debug a :term:`statement`, given as a string." -msgstr "" - -#: ../../library/bdb.rst:443 -msgid "" -"Debug a statement executed via the :func:`exec` function. *globals* " -"defaults to :attr:`!__main__.__dict__`, *locals* defaults to *globals*." -msgstr "" - -#: ../../library/bdb.rst:448 -msgid "" -"Debug an expression executed via the :func:`eval` function. *globals* and " -"*locals* have the same meaning as in :meth:`run`." -msgstr "" - -#: ../../library/bdb.rst:453 -msgid "For backwards compatibility. Calls the :meth:`run` method." -msgstr "" - -#: ../../library/bdb.rst:457 -msgid "Debug a single function call, and return its result." -msgstr "" - -#: ../../library/bdb.rst:460 -msgid "Finally, the module defines the following functions:" -msgstr "" - -#: ../../library/bdb.rst:464 -msgid "" -"Return ``True`` if we should break here, depending on the way the " -":class:`Breakpoint` *b* was set." -msgstr "" - -#: ../../library/bdb.rst:467 -msgid "" -"If it was set via line number, it checks if :attr:`b.line " -"` is the same as the one in *frame*. If the breakpoint " -"was set via :attr:`function name `, we have to " -"check we are in the right *frame* (the right function) and if we are on its " -"first executable line." -msgstr "" - -#: ../../library/bdb.rst:476 -msgid "" -"Return ``(active breakpoint, delete temporary flag)`` or ``(None, None)`` as" -" the breakpoint to act upon." -msgstr "" - -#: ../../library/bdb.rst:479 -msgid "" -"The *active breakpoint* is the first entry in :attr:`bplist " -"` for the (:attr:`file `, " -":attr:`line `) (which must exist) that is " -":attr:`enabled `, for which :func:`checkfuncname` is" -" true, and that has neither a false :attr:`condition ` " -"nor positive :attr:`ignore ` count. The *flag*, " -"meaning that a temporary breakpoint should be deleted, is ``False`` only " -"when the :attr:`cond ` cannot be evaluated (in which " -"case, :attr:`ignore ` count is ignored)." -msgstr "" - -#: ../../library/bdb.rst:490 -msgid "If no such entry exists, then ``(None, None)`` is returned." -msgstr "" - -#: ../../library/bdb.rst:495 -msgid "Start debugging with a :class:`Bdb` instance from caller's frame." -msgstr "" - -#: ../../library/bdb.rst:330 -msgid "quitting (bdb.Bdb attribute)" -msgstr "" diff --git a/python-newest.library--binary/id.po b/python-newest.library--binary/id.po deleted file mode 100644 index 9261f34..0000000 --- a/python-newest.library--binary/id.po +++ /dev/null @@ -1,56 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Imaduddin A Majid , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/binary.rst:5 -msgid "Binary Data Services" -msgstr "Servis Data Binary" - -#: ../../library/binary.rst:7 -msgid "" -"The modules described in this chapter provide some basic services operations" -" for manipulation of binary data. Other operations on binary data, " -"specifically in relation to file formats and network protocols, are " -"described in the relevant sections." -msgstr "" -"Modul-modul yang dijelaskan pada bab ini menyediakan operasi-operasi servis " -"dasar untuk memanipulasi data *binary*. Operasi lainnya pada data *binary*, " -"khususnya yang berkaitan dengan format *file* dan protokol jaringan, " -"dijelaskan pada bagian yang relevan. " - -#: ../../library/binary.rst:12 -msgid "" -"Some libraries described under :ref:`textservices` also work with either " -"ASCII-compatible binary formats (for example, :mod:`re`) or all binary data " -"(for example, :mod:`difflib`)." -msgstr "" -"Beberapa pustaka yang dijelaskan pada :ref:`textservices` juga bekerja " -"dengan format-format *binary* yang ASCII-compatible (contohnya, :mod:`re`) " -"maupun semua data *binary* (contohnya, :mod:`difflib`)." - -#: ../../library/binary.rst:16 -msgid "" -"In addition, see the documentation for Python's built-in binary data types " -"in :ref:`binaryseq`." -msgstr "" -"Sebagai tambahan, lihat dokumentasi untuk tipe data *binary* bawaan Python " -"di :ref:`binaryseq`." diff --git a/python-newest.library--binascii/id.po b/python-newest.library--binascii/id.po deleted file mode 100644 index 3ccf9ae..0000000 --- a/python-newest.library--binascii/id.po +++ /dev/null @@ -1,246 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/binascii.rst:2 -msgid ":mod:`!binascii` --- Convert between binary and ASCII" -msgstr "" - -#: ../../library/binascii.rst:13 -msgid "" -"The :mod:`binascii` module contains a number of methods to convert between " -"binary and various ASCII-encoded binary representations. Normally, you will " -"not use these functions directly but use wrapper modules like :mod:`base64` " -"instead. The :mod:`binascii` module contains low-level functions written in " -"C for greater speed that are used by the higher-level modules." -msgstr "" - -#: ../../library/binascii.rst:22 -msgid "" -"``a2b_*`` functions accept Unicode strings containing only ASCII characters." -" Other functions only accept :term:`bytes-like objects ` " -"(such as :class:`bytes`, :class:`bytearray` and other objects that support " -"the buffer protocol)." -msgstr "" - -#: ../../library/binascii.rst:27 -msgid "" -"ASCII-only unicode strings are now accepted by the ``a2b_*`` functions." -msgstr "" - -#: ../../library/binascii.rst:31 -msgid "The :mod:`binascii` module defines the following functions:" -msgstr "" - -#: ../../library/binascii.rst:36 -msgid "" -"Convert a single line of uuencoded data back to binary and return the binary" -" data. Lines normally contain 45 (binary) bytes, except for the last line. " -"Line data may be followed by whitespace." -msgstr "" - -#: ../../library/binascii.rst:43 -msgid "" -"Convert binary data to a line of ASCII characters, the return value is the " -"converted line, including a newline char. The length of *data* should be at " -"most 45. If *backtick* is true, zeros are represented by ``'`'`` instead of " -"spaces." -msgstr "" - -#: ../../library/binascii.rst:47 -msgid "Added the *backtick* parameter." -msgstr "" - -#: ../../library/binascii.rst:53 -msgid "" -"Convert a block of base64 data back to binary and return the binary data. " -"More than one line may be passed at a time." -msgstr "" - -#: ../../library/binascii.rst:56 -msgid "" -"If *strict_mode* is true, only valid base64 data will be converted. Invalid " -"base64 data will raise :exc:`binascii.Error`." -msgstr "" - -#: ../../library/binascii.rst:59 -msgid "Valid base64:" -msgstr "" - -#: ../../library/binascii.rst:61 -msgid "Conforms to :rfc:`3548`." -msgstr "" - -#: ../../library/binascii.rst:62 -msgid "Contains only characters from the base64 alphabet." -msgstr "" - -#: ../../library/binascii.rst:63 -msgid "" -"Contains no excess data after padding (including excess padding, newlines, " -"etc.)." -msgstr "" - -#: ../../library/binascii.rst:64 -msgid "Does not start with a padding." -msgstr "" - -#: ../../library/binascii.rst:66 -msgid "Added the *strict_mode* parameter." -msgstr "" - -#: ../../library/binascii.rst:72 -msgid "" -"Convert binary data to a line of ASCII characters in base64 coding. The " -"return value is the converted line, including a newline char if *newline* is" -" true. The output of this function conforms to :rfc:`3548`." -msgstr "" - -#: ../../library/binascii.rst:76 -msgid "Added the *newline* parameter." -msgstr "" - -#: ../../library/binascii.rst:82 -msgid "" -"Convert a block of quoted-printable data back to binary and return the " -"binary data. More than one line may be passed at a time. If the optional " -"argument *header* is present and true, underscores will be decoded as " -"spaces." -msgstr "" - -#: ../../library/binascii.rst:89 -msgid "" -"Convert binary data to a line(s) of ASCII characters in quoted-printable " -"encoding. The return value is the converted line(s). If the optional " -"argument *quotetabs* is present and true, all tabs and spaces will be " -"encoded. If the optional argument *istext* is present and true, newlines " -"are not encoded but trailing whitespace will be encoded. If the optional " -"argument *header* is present and true, spaces will be encoded as underscores" -" per :rfc:`1522`. If the optional argument *header* is present and false, " -"newline characters will be encoded as well; otherwise linefeed conversion " -"might corrupt the binary data stream." -msgstr "" - -#: ../../library/binascii.rst:102 -msgid "" -"Compute a 16-bit CRC value of *data*, starting with *value* as the initial " -"CRC, and return the result. This uses the CRC-CCITT polynomial *x*:sup:`16`" -" + *x*:sup:`12` + *x*:sup:`5` + 1, often represented as 0x1021. This CRC is" -" used in the binhex4 format." -msgstr "" - -#: ../../library/binascii.rst:110 -msgid "" -"Compute CRC-32, the unsigned 32-bit checksum of *data*, starting with an " -"initial CRC of *value*. The default initial CRC is zero. The algorithm is " -"consistent with the ZIP file checksum. Since the algorithm is designed for " -"use as a checksum algorithm, it is not suitable for use as a general hash " -"algorithm. Use as follows::" -msgstr "" - -#: ../../library/binascii.rst:116 -msgid "" -"print(binascii.crc32(b\"hello world\"))\n" -"# Or, in two pieces:\n" -"crc = binascii.crc32(b\"hello\")\n" -"crc = binascii.crc32(b\" world\", crc)\n" -"print('crc32 = {:#010x}'.format(crc))" -msgstr "" - -#: ../../library/binascii.rst:122 -msgid "The result is always unsigned." -msgstr "" - -#: ../../library/binascii.rst:128 -msgid "" -"Return the hexadecimal representation of the binary *data*. Every byte of " -"*data* is converted into the corresponding 2-digit hex representation. The " -"returned bytes object is therefore twice as long as the length of *data*." -msgstr "" - -#: ../../library/binascii.rst:132 -msgid "" -"Similar functionality (but returning a text string) is also conveniently " -"accessible using the :meth:`bytes.hex` method." -msgstr "" - -#: ../../library/binascii.rst:135 -msgid "" -"If *sep* is specified, it must be a single character str or bytes object. It" -" will be inserted in the output after every *bytes_per_sep* input bytes. " -"Separator placement is counted from the right end of the output by default, " -"if you wish to count from the left, supply a negative *bytes_per_sep* value." -msgstr "" - -#: ../../library/binascii.rst:150 -msgid "The *sep* and *bytes_per_sep* parameters were added." -msgstr "" - -#: ../../library/binascii.rst:156 -msgid "" -"Return the binary data represented by the hexadecimal string *hexstr*. This" -" function is the inverse of :func:`b2a_hex`. *hexstr* must contain an even " -"number of hexadecimal digits (which can be upper or lower case), otherwise " -"an :exc:`Error` exception is raised." -msgstr "" - -#: ../../library/binascii.rst:161 -msgid "" -"Similar functionality (accepting only text string arguments, but more " -"liberal towards whitespace) is also accessible using the " -":meth:`bytes.fromhex` class method." -msgstr "" - -#: ../../library/binascii.rst:167 -msgid "Exception raised on errors. These are usually programming errors." -msgstr "" - -#: ../../library/binascii.rst:172 -msgid "" -"Exception raised on incomplete data. These are usually not programming " -"errors, but may be handled by reading a little more data and trying again." -msgstr "" - -#: ../../library/binascii.rst:178 -msgid "Module :mod:`base64`" -msgstr "" - -#: ../../library/binascii.rst:179 -msgid "" -"Support for RFC compliant base64-style encoding in base 16, 32, 64, and 85." -msgstr "" - -#: ../../library/binascii.rst:182 -msgid "Module :mod:`quopri`" -msgstr "" - -#: ../../library/binascii.rst:183 -msgid "Support for quoted-printable encoding used in MIME email messages." -msgstr "" - -#: ../../library/binascii.rst:8 -msgid "module" -msgstr "modul" - -#: ../../library/binascii.rst:8 -msgid "base64" -msgstr "" diff --git a/python-newest.library--bisect/id.po b/python-newest.library--bisect/id.po deleted file mode 100644 index 96f5065..0000000 --- a/python-newest.library--bisect/id.po +++ /dev/null @@ -1,322 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/bisect.rst:2 -msgid ":mod:`!bisect` --- Array bisection algorithm" -msgstr "" - -#: ../../library/bisect.rst:10 -msgid "**Source code:** :source:`Lib/bisect.py`" -msgstr "" - -#: ../../library/bisect.rst:14 -msgid "" -"This module provides support for maintaining a list in sorted order without " -"having to sort the list after each insertion. For long lists of items with " -"expensive comparison operations, this can be an improvement over linear " -"searches or frequent resorting." -msgstr "" - -#: ../../library/bisect.rst:19 -msgid "" -"The module is called :mod:`bisect` because it uses a basic bisection " -"algorithm to do its work. Unlike other bisection tools that search for a " -"specific value, the functions in this module are designed to locate an " -"insertion point. Accordingly, the functions never call an " -":meth:`~object.__eq__` method to determine whether a value has been found. " -"Instead, the functions only call the :meth:`~object.__lt__` method and will " -"return an insertion point between values in an array." -msgstr "" - -#: ../../library/bisect.rst:29 -msgid "The following functions are provided:" -msgstr "" - -#: ../../library/bisect.rst:34 -msgid "" -"Locate the insertion point for *x* in *a* to maintain sorted order. The " -"parameters *lo* and *hi* may be used to specify a subset of the list which " -"should be considered; by default the entire list is used. If *x* is already" -" present in *a*, the insertion point will be before (to the left of) any " -"existing entries. The return value is suitable for use as the first " -"parameter to ``list.insert()`` assuming that *a* is already sorted." -msgstr "" - -#: ../../library/bisect.rst:41 -msgid "" -"The returned insertion point *ip* partitions the array *a* into two slices " -"such that ``all(elem < x for elem in a[lo : ip])`` is true for the left " -"slice and ``all(elem >= x for elem in a[ip : hi])`` is true for the right " -"slice." -msgstr "" - -#: ../../library/bisect.rst:46 -msgid "" -"*key* specifies a :term:`key function` of one argument that is used to " -"extract a comparison key from each element in the array. To support " -"searching complex records, the key function is not applied to the *x* value." -msgstr "" - -#: ../../library/bisect.rst:50 -msgid "" -"If *key* is ``None``, the elements are compared directly and no key function" -" is called." -msgstr "" - -#: ../../library/bisect.rst:53 ../../library/bisect.rst:67 -#: ../../library/bisect.rst:85 ../../library/bisect.rst:105 -msgid "Added the *key* parameter." -msgstr "" - -#: ../../library/bisect.rst:60 -msgid "" -"Similar to :py:func:`~bisect.bisect_left`, but returns an insertion point " -"which comes after (to the right of) any existing entries of *x* in *a*." -msgstr "" - -#: ../../library/bisect.rst:63 -msgid "" -"The returned insertion point *ip* partitions the array *a* into two slices " -"such that ``all(elem <= x for elem in a[lo : ip])`` is true for the left " -"slice and ``all(elem > x for elem in a[ip : hi])`` is true for the right " -"slice." -msgstr "" - -#: ../../library/bisect.rst:73 -msgid "Insert *x* in *a* in sorted order." -msgstr "" - -#: ../../library/bisect.rst:75 -msgid "" -"This function first runs :py:func:`~bisect.bisect_left` to locate an " -"insertion point. Next, it runs the :meth:`!insert` method on *a* to insert " -"*x* at the appropriate position to maintain sort order." -msgstr "" - -#: ../../library/bisect.rst:79 ../../library/bisect.rst:99 -msgid "" -"To support inserting records in a table, the *key* function (if any) is " -"applied to *x* for the search step but not for the insertion step." -msgstr "" - -#: ../../library/bisect.rst:82 ../../library/bisect.rst:102 -msgid "" -"Keep in mind that the *O*\\ (log *n*) search is dominated by the slow *O*\\ " -"(*n*) insertion step." -msgstr "" - -#: ../../library/bisect.rst:92 -msgid "" -"Similar to :py:func:`~bisect.insort_left`, but inserting *x* in *a* after " -"any existing entries of *x*." -msgstr "" - -#: ../../library/bisect.rst:95 -msgid "" -"This function first runs :py:func:`~bisect.bisect_right` to locate an " -"insertion point. Next, it runs the :meth:`!insert` method on *a* to insert " -"*x* at the appropriate position to maintain sort order." -msgstr "" - -#: ../../library/bisect.rst:110 -msgid "Performance Notes" -msgstr "" - -#: ../../library/bisect.rst:112 -msgid "" -"When writing time sensitive code using *bisect()* and *insort()*, keep these" -" thoughts in mind:" -msgstr "" - -#: ../../library/bisect.rst:115 -msgid "" -"Bisection is effective for searching ranges of values. For locating specific" -" values, dictionaries are more performant." -msgstr "" - -#: ../../library/bisect.rst:118 -msgid "" -"The *insort()* functions are *O*\\ (*n*) because the logarithmic search step" -" is dominated by the linear time insertion step." -msgstr "" - -#: ../../library/bisect.rst:121 -msgid "" -"The search functions are stateless and discard key function results after " -"they are used. Consequently, if the search functions are used in a loop, " -"the key function may be called again and again on the same array elements. " -"If the key function isn't fast, consider wrapping it with " -":py:func:`functools.cache` to avoid duplicate computations. Alternatively, " -"consider searching an array of precomputed keys to locate the insertion " -"point (as shown in the examples section below)." -msgstr "" - -#: ../../library/bisect.rst:131 -msgid "" -"`Sorted Collections `_ is a " -"high performance module that uses *bisect* to managed sorted collections of " -"data." -msgstr "" - -#: ../../library/bisect.rst:135 -msgid "" -"The `SortedCollection recipe " -"`_ uses " -"bisect to build a full-featured collection class with straight-forward " -"search methods and support for a key-function. The keys are precomputed to " -"save unnecessary calls to the key function during searches." -msgstr "" - -#: ../../library/bisect.rst:143 -msgid "Searching Sorted Lists" -msgstr "" - -#: ../../library/bisect.rst:145 -msgid "" -"The above `bisect functions`_ are useful for finding insertion points but " -"can be tricky or awkward to use for common searching tasks. The following " -"five functions show how to transform them into the standard lookups for " -"sorted lists::" -msgstr "" - -#: ../../library/bisect.rst:150 -msgid "" -"def index(a, x):\n" -" 'Locate the leftmost value exactly equal to x'\n" -" i = bisect_left(a, x)\n" -" if i != len(a) and a[i] == x:\n" -" return i\n" -" raise ValueError\n" -"\n" -"def find_lt(a, x):\n" -" 'Find rightmost value less than x'\n" -" i = bisect_left(a, x)\n" -" if i:\n" -" return a[i-1]\n" -" raise ValueError\n" -"\n" -"def find_le(a, x):\n" -" 'Find rightmost value less than or equal to x'\n" -" i = bisect_right(a, x)\n" -" if i:\n" -" return a[i-1]\n" -" raise ValueError\n" -"\n" -"def find_gt(a, x):\n" -" 'Find leftmost value greater than x'\n" -" i = bisect_right(a, x)\n" -" if i != len(a):\n" -" return a[i]\n" -" raise ValueError\n" -"\n" -"def find_ge(a, x):\n" -" 'Find leftmost item greater than or equal to x'\n" -" i = bisect_left(a, x)\n" -" if i != len(a):\n" -" return a[i]\n" -" raise ValueError" -msgstr "" - -#: ../../library/bisect.rst:187 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/bisect.rst:191 -msgid "" -"The :py:func:`~bisect.bisect` function can be useful for numeric table " -"lookups. This example uses :py:func:`~bisect.bisect` to look up a letter " -"grade for an exam score (say) based on a set of ordered numeric breakpoints:" -" 90 and up is an 'A', 80 to 89 is a 'B', and so on::" -msgstr "" - -#: ../../library/bisect.rst:196 -msgid "" -">>> def grade(score, breakpoints=[60, 70, 80, 90], grades='FDCBA'):\n" -"... i = bisect(breakpoints, score)\n" -"... return grades[i]\n" -"...\n" -">>> [grade(score) for score in [33, 99, 77, 70, 89, 90, 100]]\n" -"['F', 'A', 'C', 'C', 'B', 'A', 'A']" -msgstr "" - -#: ../../library/bisect.rst:203 -msgid "" -"The :py:func:`~bisect.bisect` and :py:func:`~bisect.insort` functions also " -"work with lists of tuples. The *key* argument can serve to extract the " -"field used for ordering records in a table::" -msgstr "" - -#: ../../library/bisect.rst:207 -msgid "" -">>> from collections import namedtuple\n" -">>> from operator import attrgetter\n" -">>> from bisect import bisect, insort\n" -">>> from pprint import pprint\n" -"\n" -">>> Movie = namedtuple('Movie', ('name', 'released', 'director'))\n" -"\n" -">>> movies = [\n" -"... Movie('Jaws', 1975, 'Spielberg'),\n" -"... Movie('Titanic', 1997, 'Cameron'),\n" -"... Movie('The Birds', 1963, 'Hitchcock'),\n" -"... Movie('Aliens', 1986, 'Cameron')\n" -"... ]\n" -"\n" -">>> # Find the first movie released after 1960\n" -">>> by_year = attrgetter('released')\n" -">>> movies.sort(key=by_year)\n" -">>> movies[bisect(movies, 1960, key=by_year)]\n" -"Movie(name='The Birds', released=1963, director='Hitchcock')\n" -"\n" -">>> # Insert a movie while maintaining sort order\n" -">>> romance = Movie('Love Story', 1970, 'Hiller')\n" -">>> insort(movies, romance, key=by_year)\n" -">>> pprint(movies)\n" -"[Movie(name='The Birds', released=1963, director='Hitchcock'),\n" -" Movie(name='Love Story', released=1970, director='Hiller'),\n" -" Movie(name='Jaws', released=1975, director='Spielberg'),\n" -" Movie(name='Aliens', released=1986, director='Cameron'),\n" -" Movie(name='Titanic', released=1997, director='Cameron')]" -msgstr "" - -#: ../../library/bisect.rst:237 -msgid "" -"If the key function is expensive, it is possible to avoid repeated function " -"calls by searching a list of precomputed keys to find the index of a " -"record::" -msgstr "" - -#: ../../library/bisect.rst:240 -msgid "" -">>> data = [('red', 5), ('blue', 1), ('yellow', 8), ('black', 0)]\n" -">>> data.sort(key=lambda r: r[1]) # Or use operator.itemgetter(1).\n" -">>> keys = [r[1] for r in data] # Precompute a list of keys.\n" -">>> data[bisect_left(keys, 0)]\n" -"('black', 0)\n" -">>> data[bisect_left(keys, 1)]\n" -"('blue', 1)\n" -">>> data[bisect_left(keys, 5)]\n" -"('red', 5)\n" -">>> data[bisect_left(keys, 8)]\n" -"('yellow', 8)" -msgstr "" diff --git a/python-newest.library--builtins/id.po b/python-newest.library--builtins/id.po deleted file mode 100644 index 523416e..0000000 --- a/python-newest.library--builtins/id.po +++ /dev/null @@ -1,98 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/builtins.rst:2 -msgid ":mod:`!builtins` --- Built-in objects" -msgstr "" - -#: ../../library/builtins.rst:9 -msgid "" -"This module provides direct access to all 'built-in' identifiers of Python; " -"for example, ``builtins.open`` is the full name for the built-in function " -":func:`open`." -msgstr "" - -#: ../../library/builtins.rst:12 -msgid "" -"This module is not normally accessed explicitly by most applications, but " -"can be useful in modules that provide objects with the same name as a built-" -"in value, but in which the built-in of that name is also needed. For " -"example, in a module that wants to implement an :func:`open` function that " -"wraps the built-in :func:`open`, this module can be used directly::" -msgstr "" -"Modul ini biasanya tidak diakses secara eksplisit oleh sebagian besar " -"aplikasi, tetapi dapat berguna dalam modul yang menyediakan objek dengan " -"nama yang sama dengan nilai bawaan, tetapi di dalamnya bawaan dari nama itu " -"juga diperlukan. Sebagai contoh, dalam modul yang ingin mengimplementasikan " -"fungsi :func:`open` yang membungkus bawaan :func:`open`, modul ini dapat " -"digunakan secara langsung::" - -#: ../../library/builtins.rst:18 -msgid "" -"import builtins\n" -"\n" -"def open(path):\n" -" f = builtins.open(path, 'r')\n" -" return UpperCaser(f)\n" -"\n" -"class UpperCaser:\n" -" '''Wrapper around a file that converts output to uppercase.'''\n" -"\n" -" def __init__(self, f):\n" -" self._f = f\n" -"\n" -" def read(self, count=-1):\n" -" return self._f.read(count).upper()\n" -"\n" -" # ..." -msgstr "" - -#: ../../library/builtins.rst:35 -msgid "" -"As an implementation detail, most modules have the name ``__builtins__`` " -"made available as part of their globals. The value of ``__builtins__`` is " -"normally either this module or the value of this module's " -":attr:`~object.__dict__` attribute. Since this is an implementation detail, " -"it may not be used by alternate implementations of Python." -msgstr "" -"Sebagai detil implementasi, sebagian besar modul memiliki nama " -"``__builtins__`` yang tersedia sebagai bagian dari globalnya. Nilai " -"``__builtins__`` biasanya berupa modul ini atau nilai dari modul ini atribut" -" :attr:`~object .__ dict__`. Karena ini merupakan detil implementasi, ini " -"mungkin tidak digunakan oleh implementasi alternatif Python." - -#: ../../library/builtins.rst:43 -msgid ":ref:`built-in-consts`" -msgstr "" - -#: ../../library/builtins.rst:44 -msgid ":ref:`bltin-exceptions`" -msgstr "" - -#: ../../library/builtins.rst:45 -msgid ":ref:`built-in-funcs`" -msgstr "" - -#: ../../library/builtins.rst:46 -msgid ":ref:`bltin-types`" -msgstr "" diff --git a/python-newest.library--bz2/id.po b/python-newest.library--bz2/id.po deleted file mode 100644 index 852976d..0000000 --- a/python-newest.library--bz2/id.po +++ /dev/null @@ -1,430 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/bz2.rst:2 -msgid ":mod:`!bz2` --- Support for :program:`bzip2` compression" -msgstr "" - -#: ../../library/bz2.rst:12 -msgid "**Source code:** :source:`Lib/bz2.py`" -msgstr "" - -#: ../../library/bz2.rst:16 -msgid "" -"This module provides a comprehensive interface for compressing and " -"decompressing data using the bzip2 compression algorithm." -msgstr "" - -#: ../../library/bz2.rst:19 -msgid "The :mod:`bz2` module contains:" -msgstr "" - -#: ../../library/bz2.rst:21 -msgid "" -"The :func:`.open` function and :class:`BZ2File` class for reading and " -"writing compressed files." -msgstr "" - -#: ../../library/bz2.rst:23 -msgid "" -"The :class:`BZ2Compressor` and :class:`BZ2Decompressor` classes for " -"incremental (de)compression." -msgstr "" - -#: ../../library/bz2.rst:25 -msgid "" -"The :func:`compress` and :func:`decompress` functions for one-shot " -"(de)compression." -msgstr "" - -#: ../../library/bz2.rst:30 -msgid "(De)compression of files" -msgstr "" - -#: ../../library/bz2.rst:34 -msgid "" -"Open a bzip2-compressed file in binary or text mode, returning a :term:`file" -" object`." -msgstr "" - -#: ../../library/bz2.rst:37 -msgid "" -"As with the constructor for :class:`BZ2File`, the *filename* argument can be" -" an actual filename (a :class:`str` or :class:`bytes` object), or an " -"existing file object to read from or write to." -msgstr "" - -#: ../../library/bz2.rst:41 -msgid "" -"The *mode* argument can be any of ``'r'``, ``'rb'``, ``'w'``, ``'wb'``, " -"``'x'``, ``'xb'``, ``'a'`` or ``'ab'`` for binary mode, or ``'rt'``, " -"``'wt'``, ``'xt'``, or ``'at'`` for text mode. The default is ``'rb'``." -msgstr "" - -#: ../../library/bz2.rst:45 -msgid "" -"The *compresslevel* argument is an integer from 1 to 9, as for the " -":class:`BZ2File` constructor." -msgstr "" - -#: ../../library/bz2.rst:48 -msgid "" -"For binary mode, this function is equivalent to the :class:`BZ2File` " -"constructor: ``BZ2File(filename, mode, compresslevel=compresslevel)``. In " -"this case, the *encoding*, *errors* and *newline* arguments must not be " -"provided." -msgstr "" - -#: ../../library/bz2.rst:53 -msgid "" -"For text mode, a :class:`BZ2File` object is created, and wrapped in an " -":class:`io.TextIOWrapper` instance with the specified encoding, error " -"handling behavior, and line ending(s)." -msgstr "" - -#: ../../library/bz2.rst:59 ../../library/bz2.rst:175 -msgid "The ``'x'`` (exclusive creation) mode was added." -msgstr "" - -#: ../../library/bz2.rst:62 ../../library/bz2.rst:182 -msgid "Accepts a :term:`path-like object`." -msgstr "Menerima sebuah :term:`path-like object`." - -#: ../../library/bz2.rst:68 -msgid "Open a bzip2-compressed file in binary mode." -msgstr "" - -#: ../../library/bz2.rst:70 -msgid "" -"If *filename* is a :class:`str` or :class:`bytes` object, open the named " -"file directly. Otherwise, *filename* should be a :term:`file object`, which " -"will be used to read or write the compressed data." -msgstr "" - -#: ../../library/bz2.rst:74 -msgid "" -"The *mode* argument can be either ``'r'`` for reading (default), ``'w'`` for" -" overwriting, ``'x'`` for exclusive creation, or ``'a'`` for appending. " -"These can equivalently be given as ``'rb'``, ``'wb'``, ``'xb'`` and ``'ab'``" -" respectively." -msgstr "" - -#: ../../library/bz2.rst:79 -msgid "" -"If *filename* is a file object (rather than an actual file name), a mode of " -"``'w'`` does not truncate the file, and is instead equivalent to ``'a'``." -msgstr "" - -#: ../../library/bz2.rst:82 -msgid "" -"If *mode* is ``'w'`` or ``'a'``, *compresslevel* can be an integer between " -"``1`` and ``9`` specifying the level of compression: ``1`` produces the " -"least compression, and ``9`` (default) produces the most compression." -msgstr "" - -#: ../../library/bz2.rst:86 -msgid "" -"If *mode* is ``'r'``, the input file may be the concatenation of multiple " -"compressed streams." -msgstr "" - -#: ../../library/bz2.rst:89 -msgid "" -":class:`BZ2File` provides all of the members specified by the " -":class:`io.BufferedIOBase`, except for :meth:`~io.BufferedIOBase.detach` and" -" :meth:`~io.IOBase.truncate`. Iteration and the :keyword:`with` statement " -"are supported." -msgstr "" - -#: ../../library/bz2.rst:94 -msgid ":class:`BZ2File` also provides the following methods and attributes:" -msgstr "" - -#: ../../library/bz2.rst:98 -msgid "" -"Return buffered data without advancing the file position. At least one byte " -"of data will be returned (unless at EOF). The exact number of bytes returned" -" is unspecified." -msgstr "" - -#: ../../library/bz2.rst:102 -msgid "" -"While calling :meth:`peek` does not change the file position of the " -":class:`BZ2File`, it may change the position of the underlying file object " -"(e.g. if the :class:`BZ2File` was constructed by passing a file object for " -"*filename*)." -msgstr "" - -#: ../../library/bz2.rst:111 -msgid "Return the file descriptor for the underlying file." -msgstr "" - -#: ../../library/bz2.rst:117 -msgid "Return whether the file was opened for reading." -msgstr "" - -#: ../../library/bz2.rst:123 -msgid "Return whether the file supports seeking." -msgstr "" - -#: ../../library/bz2.rst:129 -msgid "Return whether the file was opened for writing." -msgstr "" - -#: ../../library/bz2.rst:135 -msgid "" -"Read up to *size* uncompressed bytes, while trying to avoid making multiple " -"reads from the underlying stream. Reads up to a buffer's worth of data if " -"size is negative." -msgstr "" - -#: ../../library/bz2.rst:139 -msgid "Returns ``b''`` if the file is at EOF." -msgstr "" - -#: ../../library/bz2.rst:145 -msgid "Read bytes into *b*." -msgstr "" - -#: ../../library/bz2.rst:147 -msgid "Returns the number of bytes read (0 for EOF)." -msgstr "" - -#: ../../library/bz2.rst:153 -msgid "``'rb'`` for reading and ``'wb'`` for writing." -msgstr "" - -#: ../../library/bz2.rst:159 -msgid "" -"The bzip2 file name. Equivalent to the :attr:`~io.FileIO.name` attribute of" -" the underlying :term:`file object`." -msgstr "" - -#: ../../library/bz2.rst:165 -msgid "Support for the :keyword:`with` statement was added." -msgstr "" - -#: ../../library/bz2.rst:168 -msgid "" -"Support was added for *filename* being a :term:`file object` instead of an " -"actual filename." -msgstr "" - -#: ../../library/bz2.rst:172 -msgid "" -"The ``'a'`` (append) mode was added, along with support for reading multi-" -"stream files." -msgstr "" - -#: ../../library/bz2.rst:178 -msgid "" -"The :meth:`~io.BufferedIOBase.read` method now accepts an argument of " -"``None``." -msgstr "" - -#: ../../library/bz2.rst:185 -msgid "" -"The *buffering* parameter has been removed. It was ignored and deprecated " -"since Python 3.0. Pass an open file object to control how the file is " -"opened." -msgstr "" - -#: ../../library/bz2.rst:190 -msgid "The *compresslevel* parameter became keyword-only." -msgstr "" - -#: ../../library/bz2.rst:192 -msgid "" -"This class is thread unsafe in the face of multiple simultaneous readers or " -"writers, just like its equivalent classes in :mod:`gzip` and :mod:`lzma` " -"have always been." -msgstr "" - -#: ../../library/bz2.rst:199 -msgid "Incremental (de)compression" -msgstr "" - -#: ../../library/bz2.rst:203 -msgid "" -"Create a new compressor object. This object may be used to compress data " -"incrementally. For one-shot compression, use the :func:`compress` function " -"instead." -msgstr "" - -#: ../../library/bz2.rst:207 ../../library/bz2.rst:295 -msgid "" -"*compresslevel*, if given, must be an integer between ``1`` and ``9``. The " -"default is ``9``." -msgstr "" - -#: ../../library/bz2.rst:212 -msgid "" -"Provide data to the compressor object. Returns a chunk of compressed data if" -" possible, or an empty byte string otherwise." -msgstr "" - -#: ../../library/bz2.rst:215 -msgid "" -"When you have finished providing data to the compressor, call the " -":meth:`flush` method to finish the compression process." -msgstr "" - -#: ../../library/bz2.rst:221 -msgid "" -"Finish the compression process. Returns the compressed data left in internal" -" buffers." -msgstr "" - -#: ../../library/bz2.rst:224 -msgid "" -"The compressor object may not be used after this method has been called." -msgstr "" - -#: ../../library/bz2.rst:229 -msgid "" -"Create a new decompressor object. This object may be used to decompress data" -" incrementally. For one-shot compression, use the :func:`decompress` " -"function instead." -msgstr "" - -#: ../../library/bz2.rst:234 -msgid "" -"This class does not transparently handle inputs containing multiple " -"compressed streams, unlike :func:`decompress` and :class:`BZ2File`. If you " -"need to decompress a multi-stream input with :class:`BZ2Decompressor`, you " -"must use a new decompressor for each stream." -msgstr "" - -#: ../../library/bz2.rst:241 -msgid "" -"Decompress *data* (a :term:`bytes-like object`), returning uncompressed data" -" as bytes. Some of *data* may be buffered internally, for use in later calls" -" to :meth:`decompress`. The returned data should be concatenated with the " -"output of any previous calls to :meth:`decompress`." -msgstr "" - -#: ../../library/bz2.rst:247 -msgid "" -"If *max_length* is nonnegative, returns at most *max_length* bytes of " -"decompressed data. If this limit is reached and further output can be " -"produced, the :attr:`~.needs_input` attribute will be set to ``False``. In " -"this case, the next call to :meth:`~.decompress` may provide *data* as " -"``b''`` to obtain more of the output." -msgstr "" - -#: ../../library/bz2.rst:254 -msgid "" -"If all of the input data was decompressed and returned (either because this " -"was less than *max_length* bytes, or because *max_length* was negative), the" -" :attr:`~.needs_input` attribute will be set to ``True``." -msgstr "" - -#: ../../library/bz2.rst:259 -msgid "" -"Attempting to decompress data after the end of stream is reached raises an " -":exc:`EOFError`. Any data found after the end of the stream is ignored and " -"saved in the :attr:`~.unused_data` attribute." -msgstr "" - -#: ../../library/bz2.rst:263 -msgid "Added the *max_length* parameter." -msgstr "" - -#: ../../library/bz2.rst:268 -msgid "``True`` if the end-of-stream marker has been reached." -msgstr "" - -#: ../../library/bz2.rst:275 -msgid "Data found after the end of the compressed stream." -msgstr "" - -#: ../../library/bz2.rst:277 -msgid "" -"If this attribute is accessed before the end of the stream has been reached," -" its value will be ``b''``." -msgstr "" - -#: ../../library/bz2.rst:282 -msgid "" -"``False`` if the :meth:`.decompress` method can provide more decompressed " -"data before requiring new uncompressed input." -msgstr "" - -#: ../../library/bz2.rst:289 -msgid "One-shot (de)compression" -msgstr "" - -#: ../../library/bz2.rst:293 -msgid "Compress *data*, a :term:`bytes-like object `." -msgstr "" - -#: ../../library/bz2.rst:298 -msgid "For incremental compression, use a :class:`BZ2Compressor` instead." -msgstr "" - -#: ../../library/bz2.rst:303 -msgid "Decompress *data*, a :term:`bytes-like object `." -msgstr "" - -#: ../../library/bz2.rst:305 -msgid "" -"If *data* is the concatenation of multiple compressed streams, decompress " -"all of the streams." -msgstr "" - -#: ../../library/bz2.rst:308 -msgid "For incremental decompression, use a :class:`BZ2Decompressor` instead." -msgstr "" - -#: ../../library/bz2.rst:310 -msgid "Support for multi-stream inputs was added." -msgstr "" - -#: ../../library/bz2.rst:316 -msgid "Examples of usage" -msgstr "" - -#: ../../library/bz2.rst:318 -msgid "Below are some examples of typical usage of the :mod:`bz2` module." -msgstr "" - -#: ../../library/bz2.rst:320 -msgid "" -"Using :func:`compress` and :func:`decompress` to demonstrate round-trip " -"compression:" -msgstr "" - -#: ../../library/bz2.rst:338 -msgid "Using :class:`BZ2Compressor` for incremental compression:" -msgstr "" - -#: ../../library/bz2.rst:356 -msgid "" -"The example above uses a very \"nonrandom\" stream of data (a stream of " -"``b\"z\"`` chunks). Random data tends to compress poorly, while ordered, " -"repetitive data usually yields a high compression ratio." -msgstr "" - -#: ../../library/bz2.rst:360 -msgid "Writing and reading a bzip2-compressed file in binary mode:" -msgstr "" diff --git a/python-newest.library--calendar/id.po b/python-newest.library--calendar/id.po deleted file mode 100644 index f49de31..0000000 --- a/python-newest.library--calendar/id.po +++ /dev/null @@ -1,909 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2021 -# Kahuro Ayaka , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Kahuro Ayaka , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/calendar.rst:2 -msgid ":mod:`!calendar` --- General calendar-related functions" -msgstr "" - -#: ../../library/calendar.rst:10 -msgid "**Source code:** :source:`Lib/calendar.py`" -msgstr "**Kode Sumber:** :source:`Lib/calendar.py`" - -#: ../../library/calendar.rst:14 -msgid "" -"This module allows you to output calendars like the Unix :program:`cal` " -"program, and provides additional useful functions related to the calendar. " -"By default, these calendars have Monday as the first day of the week, and " -"Sunday as the last (the European convention). Use :func:`setfirstweekday` to" -" set the first day of the week to Sunday (6) or to any other weekday. " -"Parameters that specify dates are given as integers. For related " -"functionality, see also the :mod:`datetime` and :mod:`time` modules." -msgstr "" -"Modul ini mengijinkan saudara untuk mendapatkan keluaran kalender-kalender " -"seperti halnya di program Unix :program:`cal`, dan menyediakan fungsi-fungsi" -" tambahan yang berguna yang terkait dengan kalender. Secara bawaan, " -"kalender-kalender ini telah ditentukan dimulai dari hari Senin sebagai hari " -"pertama dalam seminggu, dan Sabtu sebagai hari terakhir (merupakan sistem " -"yang dianut oleh Eropa). Gunakan :func:`setfirstweekday` untuk mengatur hari" -" pertama dalam seminggu ke hari Sabtu (6) atau ke nama hari yang lain. " -"Parameter-parameter yang menentukan tanggal-tanggal diberikan dalam bentuk " -"bilangan bulat. Untuk fungsionalitas yang lain, lihat juga modul-modul " -":mod:`datetime` dan :mod:`time`. " - -#: ../../library/calendar.rst:22 -msgid "" -"The functions and classes defined in this module use an idealized calendar, " -"the current Gregorian calendar extended indefinitely in both directions. " -"This matches the definition of the \"proleptic Gregorian\" calendar in " -"Dershowitz and Reingold's book \"Calendrical Calculations\", where it's the " -"base calendar for all computations. Zero and negative years are interpreted" -" as prescribed by the ISO 8601 standard. Year 0 is 1 BC, year -1 is 2 BC, " -"and so on." -msgstr "" -"Fungsi-fungsi dan kelas-kelas yang didefinisikan di modul ini menggunakan " -"kalender yang telah diidealkan, yaitu kalender Gregorian yang digunakan saat" -" ini yang rentang waktunya tak terbatas ke arah masa depan dan masa lalu. " -"Hal ini bersesuaian dengan definisi dari kalender \"proleptic Gregorian\" di" -" buku \"Calendrical Calculation\" oleh Dershowitz dan Reingold, yang " -"merupakan kalender dasar bagi semua ragam komputasi. Tahun-tahun nol dan " -"negatif diinterpretasikan sesuai dengan standar ISO 8601. Tahun 0 adalah 1 " -"SM, tahun -1 adalah 2 SM, demikian seterusnya," - -#: ../../library/calendar.rst:33 -msgid "" -"Creates a :class:`Calendar` object. *firstweekday* is an integer specifying " -"the first day of the week. :const:`MONDAY` is ``0`` (the default), " -":const:`SUNDAY` is ``6``." -msgstr "" - -#: ../../library/calendar.rst:36 -msgid "" -"A :class:`Calendar` object provides several methods that can be used for " -"preparing the calendar data for formatting. This class doesn't do any " -"formatting itself. This is the job of subclasses." -msgstr "" -"Suatu object :class:`Calendar` menyediakan beberapa metode yang dapat " -"digunakan untuk mempersiapkan data kalender yang akan digunakan untuk proses" -" pemformatan setelahnya. Kelas ini tidak dapat melakukan penformatan dengan " -"sendirinya. Proses penformatan merupakan tugas dari subkelas-subkelas di " -"dalam kelas tersebut." - -#: ../../library/calendar.rst:41 -msgid ":class:`Calendar` instances have the following methods and attributes:" -msgstr "" - -#: ../../library/calendar.rst:45 -msgid "The first weekday as an integer (0--6)." -msgstr "" - -#: ../../library/calendar.rst:47 -msgid "" -"This property can also be set and read using " -":meth:`~Calendar.setfirstweekday` and :meth:`~Calendar.getfirstweekday` " -"respectively." -msgstr "" - -#: ../../library/calendar.rst:53 -msgid "Return an :class:`int` for the current first weekday (0--6)." -msgstr "" - -#: ../../library/calendar.rst:55 -msgid "Identical to reading the :attr:`~Calendar.firstweekday` property." -msgstr "" - -#: ../../library/calendar.rst:59 -msgid "" -"Set the first weekday to *firstweekday*, passed as an :class:`int` (0--6)" -msgstr "" - -#: ../../library/calendar.rst:61 -msgid "Identical to setting the :attr:`~Calendar.firstweekday` property." -msgstr "" - -#: ../../library/calendar.rst:65 -msgid "" -"Return an iterator for the week day numbers that will be used for one week." -" The first value from the iterator will be the same as the value of the " -":attr:`~Calendar.firstweekday` property." -msgstr "" - -#: ../../library/calendar.rst:72 -msgid "" -"Return an iterator for the month *month* (1--12) in the year *year*. This " -"iterator will return all days (as :class:`datetime.date` objects) for the " -"month and all days before the start of the month or after the end of the " -"month that are required to get a complete week." -msgstr "" -"Memberikan keluaran suatu iterator untuk bulan *month* (1--12) dalam suatu " -"tahun *year*. Iterator ini akan memberikan keluaran semua hari (berupa objek" -" :class:`datetime.date`) dalam sebulan dan semua hari sebelum dimulainya " -"bulan tersebut dan sesudah berakhir bulan tersebut yang diperlukan untuk " -"melengkapi 7 hari lengkap dalam sepekan." - -#: ../../library/calendar.rst:80 -msgid "" -"Return an iterator for the month *month* in the year *year* similar to " -":meth:`itermonthdates`, but not restricted by the :class:`datetime.date` " -"range. Days returned will simply be day of the month numbers. For the days " -"outside of the specified month, the day number is ``0``." -msgstr "" -"Memberikan keluaran suatu iterator untuk bulan *month* dalam suatu tahun " -"*year* serupa dengan :meth:`itermonthdates`, tetapi tidak dibatasi oleh " -"rentang :class:`datetime.date`. Hari-hari yang diberikan berupa nomor-nomor " -"tanggal dalam sebulan. Untuk hari-hari diluar bulan yang ditentukan, nomor " -"hari adalah ``0``." - -#: ../../library/calendar.rst:88 -msgid "" -"Return an iterator for the month *month* in the year *year* similar to " -":meth:`itermonthdates`, but not restricted by the :class:`datetime.date` " -"range. Days returned will be tuples consisting of a day of the month number " -"and a week day number." -msgstr "" -"Memberikan keluaran suatu iterator untuk bulan *month* dalam suatu tahun " -"*year* serupa dengan :meth:`itermonthdates`, tetapi tidak dibatasi oleh " -"rentang :class:`datetime.date`. Hari-hari yang diberikan berupa tuples yang " -"memuat nomor hari dalam sebulan dan nomor hari dalam seminggu." - -#: ../../library/calendar.rst:96 -msgid "" -"Return an iterator for the month *month* in the year *year* similar to " -":meth:`itermonthdates`, but not restricted by the :class:`datetime.date` " -"range. Days returned will be tuples consisting of a year, a month and a day " -"of the month numbers." -msgstr "" -"Memberikan keluaran suatu iterator untuk bulan *month* dalam suatu tahun " -"*year* serupa dengan :meth:`itermonthdates`, tetapi tidak dibatasi oleh " -"rentang :class:`datetime.date`. Hari-hari yang diberikan berupa tuples yang " -"memuat nomor tahun, bulan, dan hari." - -#: ../../library/calendar.rst:106 -msgid "" -"Return an iterator for the month *month* in the year *year* similar to " -":meth:`itermonthdates`, but not restricted by the :class:`datetime.date` " -"range. Days returned will be tuples consisting of a year, a month, a day of " -"the month, and a day of the week numbers." -msgstr "" -"Memberikan keluaran suatu iterator untuk bulan *month* dalam suatu tahun " -"*year* serupa dengan :meth:`itermonthdates`, tetapi tidak dibatasi oleh " -"rentang :class:`datetime.date`. Hari-hari yang diberikan berupa tuples yang " -"terdiri dari nomort tahun, bulan, hari, dan hari dalam sepekan." - -#: ../../library/calendar.rst:116 -msgid "" -"Return a list of the weeks in the month *month* of the *year* as full weeks." -" Weeks are lists of seven :class:`datetime.date` objects." -msgstr "" -"Memberikan keluaran berupa suatu list pekan-pekan dalam suatu bulan *month* " -"di suatu tahun *year* sebagai hari-hari lengkap dalam sepekan. Pekan-pekan " -"adalah lists tujuh objek-object :class:`datetime.date`." - -#: ../../library/calendar.rst:122 -msgid "" -"Return a list of the weeks in the month *month* of the *year* as full weeks." -" Weeks are lists of seven tuples of day numbers and weekday numbers." -msgstr "" -"Memberikan keluaran berupa suatu list pekan-pekan dalam satu bulan *month* " -"di suatu tahun *year* sebagai hari lengkap dalam sepekan. Pekan-pekan adalah" -" lists tujuh tuples tanggal dan nomor hari dalam sepekan." - -#: ../../library/calendar.rst:129 -msgid "" -"Return a list of the weeks in the month *month* of the *year* as full weeks." -" Weeks are lists of seven day numbers." -msgstr "" -"Memberikan keluaran berupa suatu list pekan-pekan dalam satu bulan *month* " -"di suatu tahun *year* sebagai hari lengkap dalam sepekan. Pekan-pekan adalah" -" lists tujuh nomor tanggal." - -#: ../../library/calendar.rst:135 -msgid "" -"Return the data for the specified year ready for formatting. The return " -"value is a list of month rows. Each month row contains up to *width* months " -"(defaulting to 3). Each month contains between 4 and 6 weeks and each week " -"contains 1--7 days. Days are :class:`datetime.date` objects." -msgstr "" -"Memberikan keluaran data berdasarkan tahun yang telah ditentukan yang dapat " -"digunakan sebagai input dalam proses penformatan. Nilai keluaran tersebut " -"adalah suatu list bulan tersusun dalam baris-baris. Setiap baris memuat " -"banyaknya *width* bulan (dipasang secara default di 3). Setiap bulan memuat " -"antara 4 sampai 6 pekan dan setiap pekan memuat 1--7 hari. Hari-hari " -"merupakan objek :class:`datetime.date`." - -#: ../../library/calendar.rst:143 -msgid "" -"Return the data for the specified year ready for formatting (similar to " -":meth:`yeardatescalendar`). Entries in the week lists are tuples of day " -"numbers and weekday numbers. Day numbers outside this month are zero." -msgstr "" -"Memberikan keluaran data yang berdasarkan tahun yang telah ditentukan yang " -"dapat digunakan sebagai input dalam proses penformatan (serupa dengan " -":meth:`yeardatescalendar`). Keluaran yang diberikan di dalam lists pekan " -"berupa tuples yang memuat nomor-nomor hari dan nomor-nomor hari dalam " -"sepekan. Nomor-nomor hari diluar bulan yang ditentukan dipasang pada nilai " -"nol." - -#: ../../library/calendar.rst:150 -msgid "" -"Return the data for the specified year ready for formatting (similar to " -":meth:`yeardatescalendar`). Entries in the week lists are day numbers. Day " -"numbers outside this month are zero." -msgstr "" -"Memberikan keluaran data yang berdasarkan tahun yang telah ditentukan yang " -"dapat digunakan sebagai input dalam proses penformatan (serupa dengan " -":meth:`yeardatescalendar`). Keluaran yang diberikan di dalam lists pekan " -"berupa nomor hari. Nomor hari diluar bulan yang ditentukan dipasang pada " -"nilai nol." - -#: ../../library/calendar.rst:157 -msgid "This class can be used to generate plain text calendars." -msgstr "" -"Kelas ini digunakan untuk menbangkitkan kalender-kalender berformat teks " -"biasa / berkas ASCII." - -#: ../../library/calendar.rst:159 -msgid ":class:`TextCalendar` instances have the following methods:" -msgstr "" -"Instanse-instanse :class:`TextCalendar` memiliki metode-metode berikut:" - -#: ../../library/calendar.rst:164 -msgid "" -"Return a string representing a single day formatted with the given *width*. " -"If *theday* is ``0``, return a string of spaces of the specified width, " -"representing an empty day. The *weekday* parameter is unused." -msgstr "" - -#: ../../library/calendar.rst:171 -msgid "" -"Return a single week in a string with no newline. If *w* is provided, it " -"specifies the width of the date columns, which are centered. Depends on the " -"first weekday as specified in the constructor or set by the " -":meth:`setfirstweekday` method." -msgstr "" - -#: ../../library/calendar.rst:179 -msgid "" -"Return a string representing the name of a single weekday formatted to the " -"specified *width*. The *weekday* parameter is an integer representing the " -"day of the week, where ``0`` is Monday and ``6`` is Sunday." -msgstr "" - -#: ../../library/calendar.rst:186 -msgid "" -"Return a string containing the header row of weekday names, formatted with " -"the given *width* for each column. The names depend on the locale settings " -"and are padded to the specified width." -msgstr "" - -#: ../../library/calendar.rst:193 -msgid "" -"Return a month's calendar in a multi-line string. If *w* is provided, it " -"specifies the width of the date columns, which are centered. If *l* is " -"given, it specifies the number of lines that each week will use. Depends on " -"the first weekday as specified in the constructor or set by the " -":meth:`setfirstweekday` method." -msgstr "" -"Memberikan keluaran suatu kalender bulan dalam bentuk suatu string multi-" -"baris. Jika nilai *w* diberikan, nilai ini akan menentukan lebar dari lajur-" -"lajur tanggal, yang mana string akan disejajarkan rata tengah. Jika nilai " -"*l* diberikan, nilai ini akan menentukan banyaknya baris yang digunakan " -"untuk tiap pekan. Metode ini bergantung pada penentuan hari pertama dalam " -"sepekan sebagaimana yang telah dipilih dalam constructor atau yang telah " -"diatur dengan metode :meth:`setfirstweekday`." - -#: ../../library/calendar.rst:202 -msgid "" -"Return a string representing the month's name centered within the specified " -"*width*. If *withyear* is ``True``, include the year in the output. The " -"*theyear* and *themonth* parameters specify the year and month for the name " -"to be formatted respectively." -msgstr "" - -#: ../../library/calendar.rst:210 -msgid "Print a month's calendar as returned by :meth:`formatmonth`." -msgstr "" -"Mencetak suatu kalender bulan sebagaimana yang diberikan oleh " -":meth:`formatmonth`." - -#: ../../library/calendar.rst:215 -msgid "" -"Return a *m*-column calendar for an entire year as a multi-line string. " -"Optional parameters *w*, *l*, and *c* are for date column width, lines per " -"week, and number of spaces between month columns, respectively. Depends on " -"the first weekday as specified in the constructor or set by the " -":meth:`setfirstweekday` method. The earliest year for which a calendar can " -"be generated is platform-dependent." -msgstr "" -"Memberikan keluaran suatu *m*-lajur kalender setahun dalam bentuk string " -"multi-baris. Parameter-parameter opsional *w*, *l*, dan *c* adalah lebar " -"lajur tanggal, banyaknya baris tiap minggu, dan banyaknya spasi antara " -"lajur-lajur bulan, berturut-turut. Metode ini bergantung pada penentuan hari" -" pertama dalam sepekan sebagaimana yang telah dipilih dalam constructor atau" -" yang telah diatur dengan metode :meth:`setfirstweekday`. Tahun-tahun awal " -"yang mana suatu kalender dapat dibangkitkan bergantung pada platform yang " -"digunakan." - -#: ../../library/calendar.rst:225 -msgid "" -"Print the calendar for an entire year as returned by :meth:`formatyear`." -msgstr "" -"Mencetak kalender untuk satu tahun penuh sebagaimana yang diberikan oleh " -":meth:`formatyear`." - -#: ../../library/calendar.rst:230 -msgid "This class can be used to generate HTML calendars." -msgstr "" -"Kelas ini dapat digunakan untuk membangkitkan kalender-kalender berformat " -"HTML." - -#: ../../library/calendar.rst:233 -msgid ":class:`!HTMLCalendar` instances have the following methods:" -msgstr "" -"Instanse-instanse :class:`!HTMLCalendar` memliki metode-metode berikut:" - -#: ../../library/calendar.rst:237 -msgid "" -"Return a month's calendar as an HTML table. If *withyear* is true the year " -"will be included in the header, otherwise just the month name will be used." -msgstr "" -"Memberikan keluaran suatu kalender bulan dalam bentuk suatu tabel HTML. Jika" -" nilai *withyear* adalah logika benar, tahun akan ditampilkan di bagian " -"tajuk. Demikian sebaliknya hanya nama bulan yang ditampilkan." - -#: ../../library/calendar.rst:244 -msgid "" -"Return a year's calendar as an HTML table. *width* (defaulting to 3) " -"specifies the number of months per row." -msgstr "" -"Memberikan keluaran suatu kalender tahunan dalam bentuk suatu tabel HTML. " -"Argumen *width* (nilai bawaan adalah 3) menentukan banyaknya bulan tiap " -"baris. " - -#: ../../library/calendar.rst:250 -msgid "" -"Return a year's calendar as a complete HTML page. *width* (defaulting to 3) " -"specifies the number of months per row. *css* is the name for the cascading " -"style sheet to be used. :const:`None` can be passed if no style sheet should" -" be used. *encoding* specifies the encoding to be used for the output " -"(defaulting to the system default encoding)." -msgstr "" -"Memberikan keluaran suatu kalender tahunan dalam bentuk suatu halaman HTML " -"lengkap. *width* (nilai bawaan adalah 3) menentukan banyaknya bulan tiap " -"baris. *css* adalah nama untuk cascading style sheet yang digunakan. " -":const:`None` dapat diberikan pada argumen css jika tidak ada style sheet " -"yang digunakan. *encoding* menentukan pengodean yang digunakan untuk " -"keluaran (nilai bawaan pada sistem adalah nilai bawaan pengodean ini)." - -#: ../../library/calendar.rst:259 -msgid "" -"Return a month name as an HTML table row. If *withyear* is true the year " -"will be included in the row, otherwise just the month name will be used." -msgstr "" - -#: ../../library/calendar.rst:264 -msgid "" -":class:`!HTMLCalendar` has the following attributes you can override to " -"customize the CSS classes used by the calendar:" -msgstr "" -":class:`!HTMLCalendar` memliki atribut-atribut berikut yang dapat ditimpa " -"atribut baru dengan tujuan untuk mengubahsuaikan kelas-kelas CSS yang di " -"gunakan di kelas kalendar:" - -#: ../../library/calendar.rst:269 -msgid "" -"A list of CSS classes used for each weekday. The default class list is::" -msgstr "" -"Suatu list kelas-kelas CSS yang digunakan untuk tiap hari-hari dalam " -"sepekan. List kelas bawaan berupa::" - -#: ../../library/calendar.rst:271 -msgid "cssclasses = [\"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\", \"sun\"]" -msgstr "" - -#: ../../library/calendar.rst:273 -msgid "more styles can be added for each day::" -msgstr "" -"Beberapa corak-corak dapat ditambahkan untuk penformatan tampilan tiap " -"hari::" - -#: ../../library/calendar.rst:275 -msgid "cssclasses = [\"mon text-bold\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\", \"sun red\"]" -msgstr "" - -#: ../../library/calendar.rst:277 -msgid "Note that the length of this list must be seven items." -msgstr "Perlu diperhatikan bahwa panjang dari list ini haruslah tujuh item." - -#: ../../library/calendar.rst:282 -msgid "The CSS class for a weekday occurring in the previous or coming month." -msgstr "" -"Kelas CSS untuk hari-hari dalam sepekan yang muncul sebelum dan sesudah " -"bulan yang dipilih." - -#: ../../library/calendar.rst:289 -msgid "" -"A list of CSS classes used for weekday names in the header row. The default " -"is the same as :attr:`cssclasses`." -msgstr "" -"Suatu list kelas-kelas CSS yang digunakan untuk hari-hari dalam sepekan di " -"baris tajuk. Nilai bawaan untuk atribut ini adalah sama dengan atribut " -":attr:`cssclasses`." - -#: ../../library/calendar.rst:297 -msgid "" -"The month's head CSS class (used by :meth:`formatmonthname`). The default " -"value is ``\"month\"``." -msgstr "" -"Kelas CSS untuk bagian atas penamaan bulan (digunakan oleh metode " -":meth:`formatmonthname`). Nilai bawaan untuk atribut ini adalah " -"``\"month\"``." - -#: ../../library/calendar.rst:305 -msgid "" -"The CSS class for the whole month's table (used by :meth:`formatmonth`). The" -" default value is ``\"month\"``." -msgstr "" -"Kelas CSS untuk seluruh tabel bulan (digunakan oleh metode " -":meth:`formatmonth`). Nilai bawaan untuk atribut ini adalah ``\"month\"``." - -#: ../../library/calendar.rst:313 -msgid "" -"The CSS class for the whole year's table of tables (used by " -":meth:`formatyear`). The default value is ``\"year\"``." -msgstr "" -"Kelas CSS untuk seluruh tabel-tabel bulan dalam setahun (digunakan oleh " -"metode :meth:`formatyear`). Nilai bawaan untuk atribut ini adalah " -"``\"year\"``." - -#: ../../library/calendar.rst:321 -msgid "" -"The CSS class for the table head for the whole year (used by " -":meth:`formatyear`). The default value is ``\"year\"``." -msgstr "" -"Kelas CSS kepala tabel untuk seluruh bulan dalam setahun (digunakan oleh " -":meth:`formatyear`). Nilai bawaan untuk atribut ini adalah ``\"year\"``." - -#: ../../library/calendar.rst:327 -msgid "" -"Note that although the naming for the above described class attributes is " -"singular (e.g. ``cssclass_month`` ``cssclass_noday``), one can replace the " -"single CSS class with a space separated list of CSS classes, for example::" -msgstr "" -"Perlu diperhatikan meskipun penamaan atribut-atribut kelas yang dijelaskan " -"di atas bersifat tunggal (sebagai contoh ``cssclass_month`` " -"``cssclass_noday``), pengguna dapat mengganti kelas CSS tunggal dengan suatu" -" list kelas-kelas CSS yang saling terpisah oleh spasi, sebagai contoh::" - -#: ../../library/calendar.rst:331 -msgid "\"text-bold text-red\"" -msgstr "" - -#: ../../library/calendar.rst:333 -msgid "Here is an example how :class:`!HTMLCalendar` can be customized::" -msgstr "" -"Berikut ini adalah suatu contoh bagaimana :class:`!HTMLCalendar` dapat " -"diubahsuaikan::" - -#: ../../library/calendar.rst:335 -msgid "" -"class CustomHTMLCal(calendar.HTMLCalendar):\n" -" cssclasses = [style + \" text-nowrap\" for style in\n" -" calendar.HTMLCalendar.cssclasses]\n" -" cssclass_month_head = \"text-center month-head\"\n" -" cssclass_month = \"text-center month\"\n" -" cssclass_year = \"text-italic lead\"" -msgstr "" - -#: ../../library/calendar.rst:345 -msgid "" -"This subclass of :class:`TextCalendar` can be passed a locale name in the " -"constructor and will return month and weekday names in the specified locale." -msgstr "" - -#: ../../library/calendar.rst:351 -msgid "" -"This subclass of :class:`HTMLCalendar` can be passed a locale name in the " -"constructor and will return month and weekday names in the specified locale." -msgstr "" - -#: ../../library/calendar.rst:357 -msgid "" -"The constructor, :meth:`!formatweekday` and :meth:`!formatmonthname` methods" -" of these two classes temporarily change the ``LC_TIME`` locale to the given" -" *locale*. Because the current locale is a process-wide setting, they are " -"not thread-safe." -msgstr "" - -#: ../../library/calendar.rst:363 -msgid "" -"For simple text calendars this module provides the following functions." -msgstr "" -"Untuk kalender-kalender dengan teks sederhana, modul ini menyediakan fungsi-" -"fungsi berikut." - -#: ../../library/calendar.rst:367 -msgid "" -"Sets the weekday (``0`` is Monday, ``6`` is Sunday) to start each week. The " -"values :const:`MONDAY`, :const:`TUESDAY`, :const:`WEDNESDAY`, " -":const:`THURSDAY`, :const:`FRIDAY`, :const:`SATURDAY`, and :const:`SUNDAY` " -"are provided for convenience. For example, to set the first weekday to " -"Sunday::" -msgstr "" -"Menetapkan hari dimulainya hitungan minggu (``0`` adalah Senin, ``6`` adalah" -" Minggu). Nilai-nilai :const:`MONDAY`, :const:`TUESDAY`, " -":const:`WEDNESDAY`, :const:`THURSDAY`, :const:`FRIDAY`, :const:`SATURDAY`, " -"dan :const:`SUNDAY` disediakan secara bawaan demi kenyamanan. Sebagai " -"contoh, untuk mengatur hari dimulainya hitungan minggu di hari Minggu::" - -#: ../../library/calendar.rst:372 -msgid "" -"import calendar\n" -"calendar.setfirstweekday(calendar.SUNDAY)" -msgstr "" - -#: ../../library/calendar.rst:378 -msgid "Returns the current setting for the weekday to start each week." -msgstr "" -"Memberikan keluaran-keluaran pengaturan saat ini untuk hari dimulainya " -"hitungan sepekan." - -#: ../../library/calendar.rst:383 -msgid "" -"Returns :const:`True` if *year* is a leap year, otherwise :const:`False`." -msgstr "" -"Memberikan keluaran-keluaran :const:`True` jika *year* adalah suatu tahun " -"kabisat, sebaliknya :const:`False`." - -#: ../../library/calendar.rst:388 -msgid "" -"Returns the number of leap years in the range from *y1* to *y2* (exclusive)," -" where *y1* and *y2* are years." -msgstr "" -"Memberikan keluaran banyaknya tahun-tahun kabisat dalam rentang dari *y1* " -"sampai *y2* (ekslusif, batas rentang tidak ikut diperhitungkan), dengan *y1*" -" dan *y2* adalah angka tahun." - -#: ../../library/calendar.rst:391 -msgid "This function works for ranges spanning a century change." -msgstr "Fungsi ini berlaku untuk rentang tahun sampai satu abad." - -#: ../../library/calendar.rst:396 -msgid "" -"Returns the day of the week (``0`` is Monday) for *year* (``1970``--...), " -"*month* (``1``--``12``), *day* (``1``--``31``)." -msgstr "" -"Memberikan keluaran hari dalam sepekan (``0`` adalah Senin) untuk *year* " -"(``1970``--...), *month* (``1``--``12``), *day* (``1``--``31``)." - -#: ../../library/calendar.rst:402 -msgid "" -"Return a header containing abbreviated weekday names. *n* specifies the " -"width in characters for one weekday." -msgstr "" -"Memberikan keluaran suatu tajuk yang memuat singkatan nama-nama hari dalam " -"sepekan. *n* mengatur lebar dari karakter-karakter tiap nama-nama hari dalam" -" sepekan." - -#: ../../library/calendar.rst:408 -msgid "" -"Returns weekday of first day of the month and number of days in month, for " -"the specified *year* and *month*." -msgstr "" -"Memberikan keluaran-keluaran hari dari tanggal pertama di bulan yang dipilih" -" dan banyaknya hari dalam bulan tersebut, dengan *year* dan *month* sebagai " -"argumen yand diisi oleh pengguna." - -#: ../../library/calendar.rst:414 -msgid "" -"Returns a matrix representing a month's calendar. Each row represents a " -"week; days outside of the month are represented by zeros. Each week begins " -"with Monday unless set by :func:`setfirstweekday`." -msgstr "" -"Memberikan keluaran-keluaran suatu matriks yang mewakili suatu kalendar " -"bulan. Tiap baris mewakili suatu pekan; hari-hari diluar bulan yang dipilih " -"dinyatakan oleh nol. Tiap pekan dimulai dengan Senin kecuali " -":func:`setfirstweekday` telah diatur untuk dimulai dengan hari yang lain." - -#: ../../library/calendar.rst:421 -msgid "Prints a month's calendar as returned by :func:`month`." -msgstr "" -"Mencetak suatu kalender bulan sebagaimana yang diberikan oleh :func:`month`." - -#: ../../library/calendar.rst:426 -msgid "" -"Returns a month's calendar in a multi-line string using the " -":meth:`~TextCalendar.formatmonth` of the :class:`TextCalendar` class." -msgstr "" - -#: ../../library/calendar.rst:432 -msgid "" -"Prints the calendar for an entire year as returned by :func:`calendar`." -msgstr "" -"Mencetak kalender untuk satu tahun penuh sebagaimana yang diberikan oleh " -"fungsi :func:`calendar`." - -#: ../../library/calendar.rst:437 -msgid "" -"Returns a 3-column calendar for an entire year as a multi-line string using " -"the :meth:`~TextCalendar.formatyear` of the :class:`TextCalendar` class." -msgstr "" - -#: ../../library/calendar.rst:443 -msgid "" -"An unrelated but handy function that takes a time tuple such as returned by " -"the :func:`~time.gmtime` function in the :mod:`time` module, and returns the" -" corresponding Unix timestamp value, assuming an epoch of 1970, and the " -"POSIX encoding. In fact, :func:`time.gmtime` and :func:`timegm` are each " -"others' inverse." -msgstr "" -"Fungsi yang tak terkait dengan fungsi lain tapi berguna yang menggunakan " -"masukan suatu tuple waktu seperti yang diberikan oleh keluaran fungsi " -":func:`~time.gmtime` dalam modul :mod:`time`, dan memberikan keluaran yang " -"bersesuaian dengan nilai cap waktu Unix, dengan mengasumsikan zaman dimulai " -"dari tahun 1970, dan penyandian POSIX. Secara fakta, fungsi " -":func:`time.gmtime` dan :func:`timegm` adalah saling invers satu sama lain." - -#: ../../library/calendar.rst:450 -msgid "The :mod:`calendar` module exports the following data attributes:" -msgstr "Module :mod:`calendar` mengekspor data atribut-atribut berikut:" - -#: ../../library/calendar.rst:454 -msgid "" -"A sequence that represents the days of the week in the current locale, where" -" Monday is day number 0." -msgstr "" - -#: ../../library/calendar.rst:464 -msgid "" -"A sequence that represents the abbreviated days of the week in the current " -"locale, where Mon is day number 0." -msgstr "" - -#: ../../library/calendar.rst:479 -msgid "" -"Aliases for the days of the week, where ``MONDAY`` is ``0`` and ``SUNDAY`` " -"is ``6``." -msgstr "" - -#: ../../library/calendar.rst:487 -msgid "" -"Enumeration defining days of the week as integer constants. The members of " -"this enumeration are exported to the module scope as :data:`MONDAY` through " -":data:`SUNDAY`." -msgstr "" - -#: ../../library/calendar.rst:496 -msgid "" -"A sequence that represents the months of the year in the current locale. " -"This follows normal convention of January being month number 1, so it has a " -"length of 13 and ``month_name[0]`` is the empty string." -msgstr "" - -#: ../../library/calendar.rst:507 -msgid "" -"A sequence that represents the abbreviated months of the year in the current" -" locale. This follows normal convention of January being month number 1, so" -" it has a length of 13 and ``month_abbr[0]`` is the empty string." -msgstr "" - -#: ../../library/calendar.rst:528 -msgid "" -"Aliases for the months of the year, where ``JANUARY`` is ``1`` and " -"``DECEMBER`` is ``12``." -msgstr "" - -#: ../../library/calendar.rst:536 -msgid "" -"Enumeration defining months of the year as integer constants. The members of" -" this enumeration are exported to the module scope as :data:`JANUARY` " -"through :data:`DECEMBER`." -msgstr "" - -#: ../../library/calendar.rst:543 -msgid "The :mod:`calendar` module defines the following exceptions:" -msgstr "" - -#: ../../library/calendar.rst:547 -msgid "" -"A subclass of :exc:`ValueError`, raised when the given month number is " -"outside of the range 1-12 (inclusive)." -msgstr "" - -#: ../../library/calendar.rst:552 -msgid "The invalid month number." -msgstr "" - -#: ../../library/calendar.rst:557 -msgid "" -"A subclass of :exc:`ValueError`, raised when the given weekday number is " -"outside of the range 0-6 (inclusive)." -msgstr "" - -#: ../../library/calendar.rst:562 -msgid "The invalid weekday number." -msgstr "" - -#: ../../library/calendar.rst:567 -msgid "Module :mod:`datetime`" -msgstr "Modul :mod:`datetime`" - -#: ../../library/calendar.rst:568 -msgid "" -"Object-oriented interface to dates and times with similar functionality to " -"the :mod:`time` module." -msgstr "" -"Antarmuka berorientasi objek untuk penanggalan dan waktu dengan " -"fungsionalitas mirip modul :mod:`time`." - -#: ../../library/calendar.rst:571 -msgid "Module :mod:`time`" -msgstr "Modul :mod:`time`" - -#: ../../library/calendar.rst:572 -msgid "Low-level time related functions." -msgstr "Fungsi-fungsi waktu tingkat rendah." - -#: ../../library/calendar.rst:578 -msgid "Command-line usage" -msgstr "" - -#: ../../library/calendar.rst:582 -msgid "" -"The :mod:`calendar` module can be executed as a script from the command line" -" to interactively print a calendar." -msgstr "" - -#: ../../library/calendar.rst:585 -msgid "" -"python -m calendar [-h] [-L LOCALE] [-e ENCODING] [-t {text,html}]\n" -" [-w WIDTH] [-l LINES] [-s SPACING] [-m MONTHS] [-c CSS]\n" -" [-f FIRST_WEEKDAY] [year] [month]" -msgstr "" - -#: ../../library/calendar.rst:592 -msgid "For example, to print a calendar for the year 2000:" -msgstr "" - -#: ../../library/calendar.rst:594 -msgid "" -"$ python -m calendar 2000\n" -" 2000\n" -"\n" -" January February March\n" -"Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n" -" 1 2 1 2 3 4 5 6 1 2 3 4 5\n" -" 3 4 5 6 7 8 9 7 8 9 10 11 12 13 6 7 8 9 10 11 12\n" -"10 11 12 13 14 15 16 14 15 16 17 18 19 20 13 14 15 16 17 18 19\n" -"17 18 19 20 21 22 23 21 22 23 24 25 26 27 20 21 22 23 24 25 26\n" -"24 25 26 27 28 29 30 28 29 27 28 29 30 31\n" -"31\n" -"\n" -" April May June\n" -"Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n" -" 1 2 1 2 3 4 5 6 7 1 2 3 4\n" -" 3 4 5 6 7 8 9 8 9 10 11 12 13 14 5 6 7 8 9 10 11\n" -"10 11 12 13 14 15 16 15 16 17 18 19 20 21 12 13 14 15 16 17 18\n" -"17 18 19 20 21 22 23 22 23 24 25 26 27 28 19 20 21 22 23 24 25\n" -"24 25 26 27 28 29 30 29 30 31 26 27 28 29 30\n" -"\n" -" July August September\n" -"Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n" -" 1 2 1 2 3 4 5 6 1 2 3\n" -" 3 4 5 6 7 8 9 7 8 9 10 11 12 13 4 5 6 7 8 9 10\n" -"10 11 12 13 14 15 16 14 15 16 17 18 19 20 11 12 13 14 15 16 17\n" -"17 18 19 20 21 22 23 21 22 23 24 25 26 27 18 19 20 21 22 23 24\n" -"24 25 26 27 28 29 30 28 29 30 31 25 26 27 28 29 30\n" -"31\n" -"\n" -" October November December\n" -"Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n" -" 1 1 2 3 4 5 1 2 3\n" -" 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10\n" -" 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17\n" -"16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24\n" -"23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31\n" -"30 31" -msgstr "" - -#: ../../library/calendar.rst:635 -msgid "The following options are accepted:" -msgstr "" - -#: ../../library/calendar.rst:642 -msgid "Show the help message and exit." -msgstr "" - -#: ../../library/calendar.rst:647 -msgid "The locale to use for month and weekday names. Defaults to English." -msgstr "" - -#: ../../library/calendar.rst:653 -msgid "" -"The encoding to use for output. :option:`--encoding` is required if " -":option:`--locale` is set." -msgstr "" - -#: ../../library/calendar.rst:659 -msgid "Print the calendar to the terminal as text, or as an HTML document." -msgstr "" - -#: ../../library/calendar.rst:665 -msgid "" -"The weekday to start each week. Must be a number between 0 (Monday) and 6 " -"(Sunday). Defaults to 0." -msgstr "" - -#: ../../library/calendar.rst:673 -msgid "The year to print the calendar for. Defaults to the current year." -msgstr "" - -#: ../../library/calendar.rst:679 -msgid "" -"The month of the specified :option:`year` to print the calendar for. Must be" -" a number between 1 and 12, and may only be used in text mode. Defaults to " -"printing a calendar for the full year." -msgstr "" - -#: ../../library/calendar.rst:685 -msgid "*Text-mode options:*" -msgstr "" - -#: ../../library/calendar.rst:689 -msgid "" -"The width of the date column in terminal columns. The date is printed " -"centred in the column. Any value lower than 2 is ignored. Defaults to 2." -msgstr "" - -#: ../../library/calendar.rst:697 -msgid "" -"The number of lines for each week in terminal rows. The date is printed top-" -"aligned. Any value lower than 1 is ignored. Defaults to 1." -msgstr "" - -#: ../../library/calendar.rst:705 -msgid "" -"The space between months in columns. Any value lower than 2 is ignored. " -"Defaults to 6." -msgstr "" - -#: ../../library/calendar.rst:712 -msgid "The number of months printed per row. Defaults to 3." -msgstr "" - -#: ../../library/calendar.rst:715 -msgid "" -"By default, today's date is highlighted in color and can be :ref:`controlled" -" using environment variables `." -msgstr "" - -#: ../../library/calendar.rst:719 -msgid "*HTML-mode options:*" -msgstr "" - -#: ../../library/calendar.rst:723 -msgid "" -"The path of a CSS stylesheet to use for the calendar. This must either be " -"relative to the generated HTML, or an absolute HTTP or ``file:///`` URL." -msgstr "" diff --git a/python-newest.library--cgi/id.po b/python-newest.library--cgi/id.po deleted file mode 100644 index b01e2cd..0000000 --- a/python-newest.library--cgi/id.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/cgi.rst:2 -msgid ":mod:`!cgi` --- Common Gateway Interface support" -msgstr "" - -#: ../../library/cgi.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.13 ` after being deprecated in" -" Python 3.11. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/cgi.rst:14 -msgid "" -"A fork of the module on PyPI can be used instead: :pypi:`legacy-cgi`. This " -"is a copy of the cgi module, no longer maintained or supported by the core " -"Python team." -msgstr "" - -#: ../../library/cgi.rst:18 -msgid "" -"The last version of Python that provided the :mod:`!cgi` module was `Python " -"3.12 `_." -msgstr "" diff --git a/python-newest.library--cgitb/id.po b/python-newest.library--cgitb/id.po deleted file mode 100644 index 336c6b8..0000000 --- a/python-newest.library--cgitb/id.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/cgitb.rst:2 -msgid ":mod:`!cgitb` --- Traceback manager for CGI scripts" -msgstr "" - -#: ../../library/cgitb.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.13 ` after being deprecated in" -" Python 3.11. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/cgitb.rst:14 -msgid "" -"A fork of the module on PyPI can now be used instead: :pypi:`legacy-cgi`. " -"This is a copy of the cgi module, no longer maintained or supported by the " -"core Python team." -msgstr "" - -#: ../../library/cgitb.rst:18 -msgid "" -"The last version of Python that provided the :mod:`!cgitb` module was " -"`Python 3.12 `_." -msgstr "" diff --git a/python-newest.library--chunk/id.po b/python-newest.library--chunk/id.po deleted file mode 100644 index 16f83ca..0000000 --- a/python-newest.library--chunk/id.po +++ /dev/null @@ -1,35 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/chunk.rst:2 -msgid ":mod:`!chunk` --- Read IFF chunked data" -msgstr "" - -#: ../../library/chunk.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.13 ` after being deprecated in" -" Python 3.11. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/chunk.rst:14 -msgid "" -"The last version of Python that provided the :mod:`!chunk` module was " -"`Python 3.12 `_." -msgstr "" diff --git a/python-newest.library--cmath/id.po b/python-newest.library--cmath/id.po deleted file mode 100644 index 40b5a17..0000000 --- a/python-newest.library--cmath/id.po +++ /dev/null @@ -1,643 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/cmath.rst:2 -msgid ":mod:`!cmath` --- Mathematical functions for complex numbers" -msgstr "" - -#: ../../library/cmath.rst:9 -msgid "" -"This module provides access to mathematical functions for complex numbers. " -"The functions in this module accept integers, floating-point numbers or " -"complex numbers as arguments. They will also accept any Python object that " -"has either a :meth:`~object.__complex__` or a :meth:`~object.__float__` " -"method: these methods are used to convert the object to a complex or " -"floating-point number, respectively, and the function is then applied to the" -" result of the conversion." -msgstr "" - -#: ../../library/cmath.rst:18 -msgid "" -"For functions involving branch cuts, we have the problem of deciding how to " -"define those functions on the cut itself. Following Kahan's \"Branch cuts " -"for complex elementary functions\" paper, as well as Annex G of C99 and " -"later C standards, we use the sign of zero to distinguish one side of the " -"branch cut from the other: for a branch cut along (a portion of) the real " -"axis we look at the sign of the imaginary part, while for a branch cut along" -" the imaginary axis we look at the sign of the real part." -msgstr "" - -#: ../../library/cmath.rst:26 -msgid "" -"For example, the :func:`cmath.sqrt` function has a branch cut along the " -"negative real axis. An argument of ``-2-0j`` is treated as though it lies " -"*below* the branch cut, and so gives a result on the negative imaginary " -"axis::" -msgstr "" - -#: ../../library/cmath.rst:31 -msgid "" -">>> cmath.sqrt(-2-0j)\n" -"-1.4142135623730951j" -msgstr "" - -#: ../../library/cmath.rst:34 -msgid "" -"But an argument of ``-2+0j`` is treated as though it lies above the branch " -"cut::" -msgstr "" - -#: ../../library/cmath.rst:37 -msgid "" -">>> cmath.sqrt(-2+0j)\n" -"1.4142135623730951j" -msgstr "" - -#: ../../library/cmath.rst:42 -msgid "**Conversions to and from polar coordinates**" -msgstr "" - -#: ../../library/cmath.rst:44 -msgid ":func:`phase(z) `" -msgstr "" - -#: ../../library/cmath.rst:44 -msgid "Return the phase of *z*" -msgstr "" - -#: ../../library/cmath.rst:45 -msgid ":func:`polar(z) `" -msgstr "" - -#: ../../library/cmath.rst:45 -msgid "Return the representation of *z* in polar coordinates" -msgstr "" - -#: ../../library/cmath.rst:46 -msgid ":func:`rect(r, phi) `" -msgstr "" - -#: ../../library/cmath.rst:46 -msgid "Return the complex number *z* with polar coordinates *r* and *phi*" -msgstr "" - -#: ../../library/cmath.rst:48 -msgid "**Power and logarithmic functions**" -msgstr "" - -#: ../../library/cmath.rst:50 -msgid ":func:`exp(z) `" -msgstr "" - -#: ../../library/cmath.rst:50 -msgid "Return *e* raised to the power *z*" -msgstr "" - -#: ../../library/cmath.rst:51 -msgid ":func:`log(z[, base]) `" -msgstr "" - -#: ../../library/cmath.rst:51 -msgid "Return the logarithm of *z* to the given *base* (*e* by default)" -msgstr "" - -#: ../../library/cmath.rst:52 -msgid ":func:`log10(z) `" -msgstr "" - -#: ../../library/cmath.rst:52 -msgid "Return the base-10 logarithm of *z*" -msgstr "" - -#: ../../library/cmath.rst:53 -msgid ":func:`sqrt(z) `" -msgstr "" - -#: ../../library/cmath.rst:53 -msgid "Return the square root of *z*" -msgstr "" - -#: ../../library/cmath.rst:55 -msgid "**Trigonometric functions**" -msgstr "" - -#: ../../library/cmath.rst:57 -msgid ":func:`acos(z) `" -msgstr "" - -#: ../../library/cmath.rst:57 -msgid "Return the arc cosine of *z*" -msgstr "" - -#: ../../library/cmath.rst:58 -msgid ":func:`asin(z) `" -msgstr "" - -#: ../../library/cmath.rst:58 -msgid "Return the arc sine of *z*" -msgstr "" - -#: ../../library/cmath.rst:59 -msgid ":func:`atan(z) `" -msgstr "" - -#: ../../library/cmath.rst:59 -msgid "Return the arc tangent of *z*" -msgstr "" - -#: ../../library/cmath.rst:60 -msgid ":func:`cos(z) `" -msgstr "" - -#: ../../library/cmath.rst:60 -msgid "Return the cosine of *z*" -msgstr "" - -#: ../../library/cmath.rst:61 -msgid ":func:`sin(z) `" -msgstr "" - -#: ../../library/cmath.rst:61 -msgid "Return the sine of *z*" -msgstr "" - -#: ../../library/cmath.rst:62 -msgid ":func:`tan(z) `" -msgstr "" - -#: ../../library/cmath.rst:62 -msgid "Return the tangent of *z*" -msgstr "" - -#: ../../library/cmath.rst:64 -msgid "**Hyperbolic functions**" -msgstr "" - -#: ../../library/cmath.rst:66 -msgid ":func:`acosh(z) `" -msgstr "" - -#: ../../library/cmath.rst:66 -msgid "Return the inverse hyperbolic cosine of *z*" -msgstr "" - -#: ../../library/cmath.rst:67 -msgid ":func:`asinh(z) `" -msgstr "" - -#: ../../library/cmath.rst:67 -msgid "Return the inverse hyperbolic sine of *z*" -msgstr "" - -#: ../../library/cmath.rst:68 -msgid ":func:`atanh(z) `" -msgstr "" - -#: ../../library/cmath.rst:68 -msgid "Return the inverse hyperbolic tangent of *z*" -msgstr "" - -#: ../../library/cmath.rst:69 -msgid ":func:`cosh(z) `" -msgstr "" - -#: ../../library/cmath.rst:69 -msgid "Return the hyperbolic cosine of *z*" -msgstr "" - -#: ../../library/cmath.rst:70 -msgid ":func:`sinh(z) `" -msgstr "" - -#: ../../library/cmath.rst:70 -msgid "Return the hyperbolic sine of *z*" -msgstr "" - -#: ../../library/cmath.rst:71 -msgid ":func:`tanh(z) `" -msgstr "" - -#: ../../library/cmath.rst:71 -msgid "Return the hyperbolic tangent of *z*" -msgstr "" - -#: ../../library/cmath.rst:73 -msgid "**Classification functions**" -msgstr "" - -#: ../../library/cmath.rst:75 -msgid ":func:`isfinite(z) `" -msgstr "" - -#: ../../library/cmath.rst:75 -msgid "Check if all components of *z* are finite" -msgstr "" - -#: ../../library/cmath.rst:76 -msgid ":func:`isinf(z) `" -msgstr "" - -#: ../../library/cmath.rst:76 -msgid "Check if any component of *z* is infinite" -msgstr "" - -#: ../../library/cmath.rst:77 -msgid ":func:`isnan(z) `" -msgstr "" - -#: ../../library/cmath.rst:77 -msgid "Check if any component of *z* is a NaN" -msgstr "" - -#: ../../library/cmath.rst:78 -msgid ":func:`isclose(a, b, *, rel_tol, abs_tol) `" -msgstr "" - -#: ../../library/cmath.rst:78 -msgid "Check if the values *a* and *b* are close to each other" -msgstr "" - -#: ../../library/cmath.rst:80 -msgid "**Constants**" -msgstr "" - -#: ../../library/cmath.rst:82 -msgid ":data:`pi`" -msgstr "" - -#: ../../library/cmath.rst:82 -msgid "*π* = 3.141592..." -msgstr "" - -#: ../../library/cmath.rst:83 -msgid ":data:`e`" -msgstr "" - -#: ../../library/cmath.rst:83 -msgid "*e* = 2.718281..." -msgstr "" - -#: ../../library/cmath.rst:84 -msgid ":data:`tau`" -msgstr "" - -#: ../../library/cmath.rst:84 -msgid "*τ* = 2\\ *π* = 6.283185..." -msgstr "" - -#: ../../library/cmath.rst:85 -msgid ":data:`inf`" -msgstr "" - -#: ../../library/cmath.rst:85 -msgid "Positive infinity" -msgstr "" - -#: ../../library/cmath.rst:86 -msgid ":data:`infj`" -msgstr "" - -#: ../../library/cmath.rst:86 -msgid "Pure imaginary infinity" -msgstr "" - -#: ../../library/cmath.rst:87 -msgid ":data:`nan`" -msgstr "" - -#: ../../library/cmath.rst:87 -msgid "\"Not a number\" (NaN)" -msgstr "" - -#: ../../library/cmath.rst:88 -msgid ":data:`nanj`" -msgstr "" - -#: ../../library/cmath.rst:88 -msgid "Pure imaginary NaN" -msgstr "" - -#: ../../library/cmath.rst:93 -msgid "Conversions to and from polar coordinates" -msgstr "" - -#: ../../library/cmath.rst:95 -msgid "" -"A Python complex number ``z`` is stored internally using *rectangular* or " -"*Cartesian* coordinates. It is completely determined by its *real part* " -"``z.real`` and its *imaginary part* ``z.imag``." -msgstr "" - -#: ../../library/cmath.rst:99 -msgid "" -"*Polar coordinates* give an alternative way to represent a complex number. " -"In polar coordinates, a complex number *z* is defined by the modulus *r* and" -" the phase angle *phi*. The modulus *r* is the distance from *z* to the " -"origin, while the phase *phi* is the counterclockwise angle, measured in " -"radians, from the positive x-axis to the line segment that joins the origin " -"to *z*." -msgstr "" - -#: ../../library/cmath.rst:106 -msgid "" -"The following functions can be used to convert from the native rectangular " -"coordinates to polar coordinates and back." -msgstr "" - -#: ../../library/cmath.rst:111 -msgid "" -"Return the phase of *z* (also known as the *argument* of *z*), as a float. " -"``phase(z)`` is equivalent to ``math.atan2(z.imag, z.real)``. The result " -"lies in the range [-\\ *π*, *π*], and the branch cut for this operation lies" -" along the negative real axis. The sign of the result is the same as the " -"sign of ``z.imag``, even when ``z.imag`` is zero::" -msgstr "" - -#: ../../library/cmath.rst:117 -msgid "" -">>> phase(-1+0j)\n" -"3.141592653589793\n" -">>> phase(-1-0j)\n" -"-3.141592653589793" -msgstr "" - -#: ../../library/cmath.rst:125 -msgid "" -"The modulus (absolute value) of a complex number *z* can be computed using " -"the built-in :func:`abs` function. There is no separate :mod:`cmath` module" -" function for this operation." -msgstr "" - -#: ../../library/cmath.rst:132 -msgid "" -"Return the representation of *z* in polar coordinates. Returns a pair ``(r," -" phi)`` where *r* is the modulus of *z* and *phi* is the phase of *z*. " -"``polar(z)`` is equivalent to ``(abs(z), phase(z))``." -msgstr "" - -#: ../../library/cmath.rst:140 -msgid "" -"Return the complex number *z* with polar coordinates *r* and *phi*. " -"Equivalent to ``complex(r * math.cos(phi), r * math.sin(phi))``." -msgstr "" - -#: ../../library/cmath.rst:145 -msgid "Power and logarithmic functions" -msgstr "" - -#: ../../library/cmath.rst:149 -msgid "" -"Return *e* raised to the power *z*, where *e* is the base of natural " -"logarithms." -msgstr "" - -#: ../../library/cmath.rst:155 -msgid "" -"Return the logarithm of *z* to the given *base*. If the *base* is not " -"specified, returns the natural logarithm of *z*. There is one branch cut, " -"from 0 along the negative real axis to -∞." -msgstr "" - -#: ../../library/cmath.rst:162 -msgid "" -"Return the base-10 logarithm of *z*. This has the same branch cut as " -":func:`log`." -msgstr "" - -#: ../../library/cmath.rst:168 -msgid "" -"Return the square root of *z*. This has the same branch cut as :func:`log`." -msgstr "" - -#: ../../library/cmath.rst:172 -msgid "Trigonometric functions" -msgstr "" - -#: ../../library/cmath.rst:176 -msgid "" -"Return the arc cosine of *z*. There are two branch cuts: One extends right " -"from 1 along the real axis to ∞. The other extends left from -1 along the " -"real axis to -∞." -msgstr "" - -#: ../../library/cmath.rst:183 -msgid "" -"Return the arc sine of *z*. This has the same branch cuts as :func:`acos`." -msgstr "" - -#: ../../library/cmath.rst:188 -msgid "" -"Return the arc tangent of *z*. There are two branch cuts: One extends from " -"``1j`` along the imaginary axis to ``∞j``. The other extends from ``-1j`` " -"along the imaginary axis to ``-∞j``." -msgstr "" - -#: ../../library/cmath.rst:195 -msgid "Return the cosine of *z*." -msgstr "" - -#: ../../library/cmath.rst:200 -msgid "Return the sine of *z*." -msgstr "" - -#: ../../library/cmath.rst:205 -msgid "Return the tangent of *z*." -msgstr "" - -#: ../../library/cmath.rst:209 -msgid "Hyperbolic functions" -msgstr "" - -#: ../../library/cmath.rst:213 -msgid "" -"Return the inverse hyperbolic cosine of *z*. There is one branch cut, " -"extending left from 1 along the real axis to -∞." -msgstr "" - -#: ../../library/cmath.rst:219 -msgid "" -"Return the inverse hyperbolic sine of *z*. There are two branch cuts: One " -"extends from ``1j`` along the imaginary axis to ``∞j``. The other extends " -"from ``-1j`` along the imaginary axis to ``-∞j``." -msgstr "" - -#: ../../library/cmath.rst:226 -msgid "" -"Return the inverse hyperbolic tangent of *z*. There are two branch cuts: One" -" extends from ``1`` along the real axis to ``∞``. The other extends from " -"``-1`` along the real axis to ``-∞``." -msgstr "" - -#: ../../library/cmath.rst:233 -msgid "Return the hyperbolic cosine of *z*." -msgstr "" - -#: ../../library/cmath.rst:238 -msgid "Return the hyperbolic sine of *z*." -msgstr "" - -#: ../../library/cmath.rst:243 -msgid "Return the hyperbolic tangent of *z*." -msgstr "" - -#: ../../library/cmath.rst:247 -msgid "Classification functions" -msgstr "" - -#: ../../library/cmath.rst:251 -msgid "" -"Return ``True`` if both the real and imaginary parts of *z* are finite, and " -"``False`` otherwise." -msgstr "" - -#: ../../library/cmath.rst:259 -msgid "" -"Return ``True`` if either the real or the imaginary part of *z* is an " -"infinity, and ``False`` otherwise." -msgstr "" - -#: ../../library/cmath.rst:265 -msgid "" -"Return ``True`` if either the real or the imaginary part of *z* is a NaN, " -"and ``False`` otherwise." -msgstr "" - -#: ../../library/cmath.rst:271 -msgid "" -"Return ``True`` if the values *a* and *b* are close to each other and " -"``False`` otherwise." -msgstr "" - -#: ../../library/cmath.rst:274 -msgid "" -"Whether or not two values are considered close is determined according to " -"given absolute and relative tolerances. If no errors occur, the result will" -" be: ``abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)``." -msgstr "" - -#: ../../library/cmath.rst:278 -msgid "" -"*rel_tol* is the relative tolerance -- it is the maximum allowed difference " -"between *a* and *b*, relative to the larger absolute value of *a* or *b*. " -"For example, to set a tolerance of 5%, pass ``rel_tol=0.05``. The default " -"tolerance is ``1e-09``, which assures that the two values are the same " -"within about 9 decimal digits. *rel_tol* must be nonnegative and less than " -"``1.0``." -msgstr "" - -#: ../../library/cmath.rst:285 -msgid "" -"*abs_tol* is the absolute tolerance; it defaults to ``0.0`` and it must be " -"nonnegative. When comparing ``x`` to ``0.0``, ``isclose(x, 0)`` is computed" -" as ``abs(x) <= rel_tol * abs(x)``, which is ``False`` for any ``x`` and " -"rel_tol less than ``1.0``. So add an appropriate positive abs_tol argument " -"to the call." -msgstr "" - -#: ../../library/cmath.rst:291 -msgid "" -"The IEEE 754 special values of ``NaN``, ``inf``, and ``-inf`` will be " -"handled according to IEEE rules. Specifically, ``NaN`` is not considered " -"close to any other value, including ``NaN``. ``inf`` and ``-inf`` are only " -"considered close to themselves." -msgstr "" - -#: ../../library/cmath.rst:300 -msgid ":pep:`485` -- A function for testing approximate equality" -msgstr "" - -#: ../../library/cmath.rst:304 -msgid "Constants" -msgstr "Konstanta" - -#: ../../library/cmath.rst:308 -msgid "The mathematical constant *π*, as a float." -msgstr "" - -#: ../../library/cmath.rst:313 -msgid "The mathematical constant *e*, as a float." -msgstr "" - -#: ../../library/cmath.rst:318 -msgid "The mathematical constant *τ*, as a float." -msgstr "" - -#: ../../library/cmath.rst:325 -msgid "Floating-point positive infinity. Equivalent to ``float('inf')``." -msgstr "" - -#: ../../library/cmath.rst:332 -msgid "" -"Complex number with zero real part and positive infinity imaginary part. " -"Equivalent to ``complex(0.0, float('inf'))``." -msgstr "" - -#: ../../library/cmath.rst:340 -msgid "" -"A floating-point \"not a number\" (NaN) value. Equivalent to " -"``float('nan')``." -msgstr "" - -#: ../../library/cmath.rst:348 -msgid "" -"Complex number with zero real part and NaN imaginary part. Equivalent to " -"``complex(0.0, float('nan'))``." -msgstr "" - -#: ../../library/cmath.rst:356 -msgid "" -"Note that the selection of functions is similar, but not identical, to that " -"in module :mod:`math`. The reason for having two modules is that some users" -" aren't interested in complex numbers, and perhaps don't even know what they" -" are. They would rather have ``math.sqrt(-1)`` raise an exception than " -"return a complex number. Also note that the functions defined in " -":mod:`cmath` always return a complex number, even if the answer can be " -"expressed as a real number (in which case the complex number has an " -"imaginary part of zero)." -msgstr "" - -#: ../../library/cmath.rst:364 -msgid "" -"A note on branch cuts: They are curves along which the given function fails " -"to be continuous. They are a necessary feature of many complex functions. " -"It is assumed that if you need to compute with complex functions, you will " -"understand about branch cuts. Consult almost any (not too elementary) book " -"on complex variables for enlightenment. For information of the proper " -"choice of branch cuts for numerical purposes, a good reference should be the" -" following:" -msgstr "" - -#: ../../library/cmath.rst:374 -msgid "" -"Kahan, W: Branch cuts for complex elementary functions; or, Much ado about " -"nothing's sign bit. In Iserles, A., and Powell, M. (eds.), The state of the" -" art in numerical analysis. Clarendon Press (1987) pp165--211." -msgstr "" - -#: ../../library/cmath.rst:354 -msgid "module" -msgstr "modul" - -#: ../../library/cmath.rst:354 -msgid "math" -msgstr "math" diff --git a/python-newest.library--cmd/id.po b/python-newest.library--cmd/id.po deleted file mode 100644 index fe70df5..0000000 --- a/python-newest.library--cmd/id.po +++ /dev/null @@ -1,479 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/cmd.rst:2 -msgid ":mod:`!cmd` --- Support for line-oriented command interpreters" -msgstr "" - -#: ../../library/cmd.rst:9 -msgid "**Source code:** :source:`Lib/cmd.py`" -msgstr "" - -#: ../../library/cmd.rst:13 -msgid "" -"The :class:`Cmd` class provides a simple framework for writing line-oriented" -" command interpreters. These are often useful for test harnesses, " -"administrative tools, and prototypes that will later be wrapped in a more " -"sophisticated interface." -msgstr "" - -#: ../../library/cmd.rst:20 -msgid "" -"A :class:`Cmd` instance or subclass instance is a line-oriented interpreter " -"framework. There is no good reason to instantiate :class:`Cmd` itself; " -"rather, it's useful as a superclass of an interpreter class you define " -"yourself in order to inherit :class:`Cmd`'s methods and encapsulate action " -"methods." -msgstr "" - -#: ../../library/cmd.rst:25 -msgid "" -"The optional argument *completekey* is the :mod:`readline` name of a " -"completion key; it defaults to :kbd:`Tab`. If *completekey* is not " -":const:`None` and :mod:`readline` is available, command completion is done " -"automatically." -msgstr "" - -#: ../../library/cmd.rst:29 -msgid "" -"The default, ``'tab'``, is treated specially, so that it refers to the " -":kbd:`Tab` key on every :data:`readline.backend`. Specifically, if " -":data:`readline.backend` is ``editline``, ``Cmd`` will use ``'^I'`` instead " -"of ``'tab'``. Note that other values are not treated this way, and might " -"only work with a specific backend." -msgstr "" - -#: ../../library/cmd.rst:36 -msgid "" -"The optional arguments *stdin* and *stdout* specify the input and output " -"file objects that the Cmd instance or subclass instance will use for input " -"and output. If not specified, they will default to :data:`sys.stdin` and " -":data:`sys.stdout`." -msgstr "" - -#: ../../library/cmd.rst:41 -msgid "" -"If you want a given *stdin* to be used, make sure to set the instance's " -":attr:`use_rawinput` attribute to ``False``, otherwise *stdin* will be " -"ignored." -msgstr "" - -#: ../../library/cmd.rst:45 -msgid "``completekey='tab'`` is replaced by ``'^I'`` for ``editline``." -msgstr "" - -#: ../../library/cmd.rst:52 -msgid "Cmd Objects" -msgstr "" - -#: ../../library/cmd.rst:54 -msgid "A :class:`Cmd` instance has the following methods:" -msgstr "" - -#: ../../library/cmd.rst:59 -msgid "" -"Repeatedly issue a prompt, accept input, parse an initial prefix off the " -"received input, and dispatch to action methods, passing them the remainder " -"of the line as argument." -msgstr "" - -#: ../../library/cmd.rst:63 -msgid "" -"The optional argument is a banner or intro string to be issued before the " -"first prompt (this overrides the :attr:`intro` class attribute)." -msgstr "" - -#: ../../library/cmd.rst:66 -msgid "" -"If the :mod:`readline` module is loaded, input will automatically inherit " -":program:`bash`\\ -like history-list editing (e.g. :kbd:`Control-P` scrolls " -"back to the last command, :kbd:`Control-N` forward to the next one, " -":kbd:`Control-F` moves the cursor to the right non-destructively, " -":kbd:`Control-B` moves the cursor to the left non-destructively, etc.)." -msgstr "" - -#: ../../library/cmd.rst:72 -msgid "An end-of-file on input is passed back as the string ``'EOF'``." -msgstr "" - -#: ../../library/cmd.rst:78 -msgid "" -"An interpreter instance will recognize a command name ``foo`` if and only if" -" it has a method :meth:`!do_foo`. As a special case, a line beginning with " -"the character ``'?'`` is dispatched to the method :meth:`do_help`. As " -"another special case, a line beginning with the character ``'!'`` is " -"dispatched to the method :meth:`!do_shell` (if such a method is defined)." -msgstr "" - -#: ../../library/cmd.rst:84 -msgid "" -"This method will return when the :meth:`postcmd` method returns a true " -"value. The *stop* argument to :meth:`postcmd` is the return value from the " -"command's corresponding :meth:`!do_\\*` method." -msgstr "" - -#: ../../library/cmd.rst:88 -msgid "" -"If completion is enabled, completing commands will be done automatically, " -"and completing of commands args is done by calling :meth:`!complete_foo` " -"with arguments *text*, *line*, *begidx*, and *endidx*. *text* is the string" -" prefix we are attempting to match: all returned matches must begin with it." -" *line* is the current input line with leading whitespace removed, *begidx* " -"and *endidx* are the beginning and ending indexes of the prefix text, which " -"could be used to provide different completion depending upon which position " -"the argument is in." -msgstr "" - -#: ../../library/cmd.rst:99 -msgid "" -"All subclasses of :class:`Cmd` inherit a predefined :meth:`!do_help`. This " -"method, called with an argument ``'bar'``, invokes the corresponding method " -":meth:`!help_bar`, and if that is not present, prints the docstring of " -":meth:`!do_bar`, if available. With no argument, :meth:`!do_help` lists all" -" available help topics (that is, all commands with corresponding " -":meth:`!help_\\*` methods or commands that have docstrings), and also lists " -"any undocumented commands." -msgstr "" - -#: ../../library/cmd.rst:110 -msgid "" -"Interpret the argument as though it had been typed in response to the " -"prompt. This may be overridden, but should not normally need to be; see the " -":meth:`precmd` and :meth:`postcmd` methods for useful execution hooks. The " -"return value is a flag indicating whether interpretation of commands by the " -"interpreter should stop. If there is a :meth:`!do_\\*` method for the " -"command *str*, the return value of that method is returned, otherwise the " -"return value from the :meth:`default` method is returned." -msgstr "" - -#: ../../library/cmd.rst:121 -msgid "" -"Method called when an empty line is entered in response to the prompt. If " -"this method is not overridden, it repeats the last nonempty command entered." -msgstr "" - -#: ../../library/cmd.rst:127 -msgid "" -"Method called on an input line when the command prefix is not recognized. If" -" this method is not overridden, it prints an error message and returns." -msgstr "" - -#: ../../library/cmd.rst:133 -msgid "" -"Method called to complete an input line when no command-specific " -":meth:`!complete_\\*` method is available. By default, it returns an empty " -"list." -msgstr "" - -#: ../../library/cmd.rst:139 -msgid "" -"Method called to display a list of strings as a compact set of columns. Each" -" column is only as wide as necessary. Columns are separated by two spaces " -"for readability." -msgstr "" - -#: ../../library/cmd.rst:146 -msgid "" -"Hook method executed just before the command line *line* is interpreted, but" -" after the input prompt is generated and issued. This method is a stub in " -":class:`Cmd`; it exists to be overridden by subclasses. The return value is" -" used as the command which will be executed by the :meth:`onecmd` method; " -"the :meth:`precmd` implementation may re-write the command or simply return " -"*line* unchanged." -msgstr "" - -#: ../../library/cmd.rst:156 -msgid "" -"Hook method executed just after a command dispatch is finished. This method" -" is a stub in :class:`Cmd`; it exists to be overridden by subclasses. " -"*line* is the command line which was executed, and *stop* is a flag which " -"indicates whether execution will be terminated after the call to " -":meth:`postcmd`; this will be the return value of the :meth:`onecmd` method." -" The return value of this method will be used as the new value for the " -"internal flag which corresponds to *stop*; returning false will cause " -"interpretation to continue." -msgstr "" - -#: ../../library/cmd.rst:167 -msgid "" -"Hook method executed once when :meth:`cmdloop` is called. This method is a " -"stub in :class:`Cmd`; it exists to be overridden by subclasses." -msgstr "" - -#: ../../library/cmd.rst:173 -msgid "" -"Hook method executed once when :meth:`cmdloop` is about to return. This " -"method is a stub in :class:`Cmd`; it exists to be overridden by subclasses." -msgstr "" - -#: ../../library/cmd.rst:177 -msgid "" -"Instances of :class:`Cmd` subclasses have some public instance variables:" -msgstr "" - -#: ../../library/cmd.rst:181 -msgid "The prompt issued to solicit input." -msgstr "" - -#: ../../library/cmd.rst:186 -msgid "The string of characters accepted for the command prefix." -msgstr "" - -#: ../../library/cmd.rst:191 -msgid "The last nonempty command prefix seen." -msgstr "" - -#: ../../library/cmd.rst:196 -msgid "" -"A list of queued input lines. The cmdqueue list is checked in " -":meth:`cmdloop` when new input is needed; if it is nonempty, its elements " -"will be processed in order, as if entered at the prompt." -msgstr "" - -#: ../../library/cmd.rst:203 -msgid "" -"A string to issue as an intro or banner. May be overridden by giving the " -":meth:`cmdloop` method an argument." -msgstr "" - -#: ../../library/cmd.rst:209 -msgid "" -"The header to issue if the help output has a section for documented " -"commands." -msgstr "" - -#: ../../library/cmd.rst:214 -msgid "" -"The header to issue if the help output has a section for miscellaneous help" -" topics (that is, there are :meth:`!help_\\*` methods without corresponding " -":meth:`!do_\\*` methods)." -msgstr "" - -#: ../../library/cmd.rst:221 -msgid "" -"The header to issue if the help output has a section for undocumented " -"commands (that is, there are :meth:`!do_\\*` methods without corresponding " -":meth:`!help_\\*` methods)." -msgstr "" - -#: ../../library/cmd.rst:228 -msgid "" -"The character used to draw separator lines under the help-message headers. " -"If empty, no ruler line is drawn. It defaults to ``'='``." -msgstr "" - -#: ../../library/cmd.rst:234 -msgid "" -"A flag, defaulting to true. If true, :meth:`cmdloop` uses :func:`input` to " -"display a prompt and read the next command; if false, " -":data:`sys.stdout.write() ` and :data:`sys.stdin.readline() " -"` are used. (This means that by importing :mod:`readline`, on " -"systems that support it, the interpreter will automatically support " -":program:`Emacs`\\ -like line editing and command-history keystrokes.)" -msgstr "" - -#: ../../library/cmd.rst:244 -msgid "Cmd Example" -msgstr "" - -#: ../../library/cmd.rst:248 -msgid "" -"The :mod:`cmd` module is mainly useful for building custom shells that let a" -" user work with a program interactively." -msgstr "" - -#: ../../library/cmd.rst:251 -msgid "" -"This section presents a simple example of how to build a shell around a few " -"of the commands in the :mod:`turtle` module." -msgstr "" - -#: ../../library/cmd.rst:254 -msgid "" -"Basic turtle commands such as :meth:`~turtle.forward` are added to a " -":class:`Cmd` subclass with method named :meth:`!do_forward`. The argument " -"is converted to a number and dispatched to the turtle module. The docstring" -" is used in the help utility provided by the shell." -msgstr "" - -#: ../../library/cmd.rst:259 -msgid "" -"The example also includes a basic record and playback facility implemented " -"with the :meth:`~Cmd.precmd` method which is responsible for converting the " -"input to lowercase and writing the commands to a file. The " -":meth:`!do_playback` method reads the file and adds the recorded commands to" -" the :attr:`~Cmd.cmdqueue` for immediate playback::" -msgstr "" - -#: ../../library/cmd.rst:265 -msgid "" -"import cmd, sys\n" -"from turtle import *\n" -"\n" -"class TurtleShell(cmd.Cmd):\n" -" intro = 'Welcome to the turtle shell. Type help or ? to list commands.\\n'\n" -" prompt = '(turtle) '\n" -" file = None\n" -"\n" -" # ----- basic turtle commands -----\n" -" def do_forward(self, arg):\n" -" 'Move the turtle forward by the specified distance: FORWARD 10'\n" -" forward(*parse(arg))\n" -" def do_right(self, arg):\n" -" 'Turn turtle right by given number of degrees: RIGHT 20'\n" -" right(*parse(arg))\n" -" def do_left(self, arg):\n" -" 'Turn turtle left by given number of degrees: LEFT 90'\n" -" left(*parse(arg))\n" -" def do_goto(self, arg):\n" -" 'Move turtle to an absolute position with changing orientation. GOTO 100 200'\n" -" goto(*parse(arg))\n" -" def do_home(self, arg):\n" -" 'Return turtle to the home position: HOME'\n" -" home()\n" -" def do_circle(self, arg):\n" -" 'Draw circle with given radius an options extent and steps: CIRCLE 50'\n" -" circle(*parse(arg))\n" -" def do_position(self, arg):\n" -" 'Print the current turtle position: POSITION'\n" -" print('Current position is %d %d\\n' % position())\n" -" def do_heading(self, arg):\n" -" 'Print the current turtle heading in degrees: HEADING'\n" -" print('Current heading is %d\\n' % (heading(),))\n" -" def do_color(self, arg):\n" -" 'Set the color: COLOR BLUE'\n" -" color(arg.lower())\n" -" def do_undo(self, arg):\n" -" 'Undo (repeatedly) the last turtle action(s): UNDO'\n" -" def do_reset(self, arg):\n" -" 'Clear the screen and return turtle to center: RESET'\n" -" reset()\n" -" def do_bye(self, arg):\n" -" 'Stop recording, close the turtle window, and exit: BYE'\n" -" print('Thank you for using Turtle')\n" -" self.close()\n" -" bye()\n" -" return True\n" -"\n" -" # ----- record and playback -----\n" -" def do_record(self, arg):\n" -" 'Save future commands to filename: RECORD rose.cmd'\n" -" self.file = open(arg, 'w')\n" -" def do_playback(self, arg):\n" -" 'Playback commands from a file: PLAYBACK rose.cmd'\n" -" self.close()\n" -" with open(arg) as f:\n" -" self.cmdqueue.extend(f.read().splitlines())\n" -" def precmd(self, line):\n" -" line = line.lower()\n" -" if self.file and 'playback' not in line:\n" -" print(line, file=self.file)\n" -" return line\n" -" def close(self):\n" -" if self.file:\n" -" self.file.close()\n" -" self.file = None\n" -"\n" -"def parse(arg):\n" -" 'Convert a series of zero or more numbers to an argument tuple'\n" -" return tuple(map(int, arg.split()))\n" -"\n" -"if __name__ == '__main__':\n" -" TurtleShell().cmdloop()" -msgstr "" - -#: ../../library/cmd.rst:340 -msgid "" -"Here is a sample session with the turtle shell showing the help functions, " -"using blank lines to repeat commands, and the simple record and playback " -"facility:" -msgstr "" - -#: ../../library/cmd.rst:343 -msgid "" -"Welcome to the turtle shell. Type help or ? to list commands.\n" -"\n" -"(turtle) ?\n" -"\n" -"Documented commands (type help ):\n" -"========================================\n" -"bye color goto home playback record right\n" -"circle forward heading left position reset undo\n" -"\n" -"(turtle) help forward\n" -"Move the turtle forward by the specified distance: FORWARD 10\n" -"(turtle) record spiral.cmd\n" -"(turtle) position\n" -"Current position is 0 0\n" -"\n" -"(turtle) heading\n" -"Current heading is 0\n" -"\n" -"(turtle) reset\n" -"(turtle) circle 20\n" -"(turtle) right 30\n" -"(turtle) circle 40\n" -"(turtle) right 30\n" -"(turtle) circle 60\n" -"(turtle) right 30\n" -"(turtle) circle 80\n" -"(turtle) right 30\n" -"(turtle) circle 100\n" -"(turtle) right 30\n" -"(turtle) circle 120\n" -"(turtle) right 30\n" -"(turtle) circle 120\n" -"(turtle) heading\n" -"Current heading is 180\n" -"\n" -"(turtle) forward 100\n" -"(turtle)\n" -"(turtle) right 90\n" -"(turtle) forward 100\n" -"(turtle)\n" -"(turtle) right 90\n" -"(turtle) forward 400\n" -"(turtle) right 90\n" -"(turtle) forward 500\n" -"(turtle) right 90\n" -"(turtle) forward 400\n" -"(turtle) right 90\n" -"(turtle) forward 300\n" -"(turtle) playback spiral.cmd\n" -"Current position is 0 0\n" -"\n" -"Current heading is 0\n" -"\n" -"Current heading is 180\n" -"\n" -"(turtle) bye\n" -"Thank you for using Turtle" -msgstr "" - -#: ../../library/cmd.rst:74 -msgid "? (question mark)" -msgstr "" - -#: ../../library/cmd.rst:74 -msgid "in a command interpreter" -msgstr "" - -#: ../../library/cmd.rst:74 -msgid "! (exclamation)" -msgstr "" diff --git a/python-newest.library--cmdline/id.po b/python-newest.library--cmdline/id.po deleted file mode 100644 index e915a4b..0000000 --- a/python-newest.library--cmdline/id.po +++ /dev/null @@ -1,230 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2023-10-13 14:16+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/cmdline.rst:5 -msgid "Modules command-line interface (CLI)" -msgstr "" - -#: ../../library/cmdline.rst:7 -msgid "The following modules have a command-line interface." -msgstr "" - -#: ../../library/cmdline.rst:9 -msgid ":ref:`ast `" -msgstr "" - -#: ../../library/cmdline.rst:10 -msgid ":ref:`asyncio `" -msgstr "" - -#: ../../library/cmdline.rst:11 -msgid ":mod:`base64`" -msgstr "" - -#: ../../library/cmdline.rst:12 -msgid ":ref:`calendar `" -msgstr "" - -#: ../../library/cmdline.rst:13 -msgid ":mod:`code`" -msgstr "" - -#: ../../library/cmdline.rst:14 -msgid ":ref:`compileall `" -msgstr "" - -#: ../../library/cmdline.rst:15 -msgid ":mod:`cProfile`: see :ref:`profile `" -msgstr "" - -#: ../../library/cmdline.rst:16 -msgid ":ref:`dis `" -msgstr "" - -#: ../../library/cmdline.rst:17 -msgid ":ref:`doctest `" -msgstr "" - -#: ../../library/cmdline.rst:18 -msgid ":mod:`!encodings.rot_13`" -msgstr "" - -#: ../../library/cmdline.rst:19 -msgid ":mod:`ensurepip`" -msgstr "" - -#: ../../library/cmdline.rst:20 -msgid ":mod:`filecmp`" -msgstr "" - -#: ../../library/cmdline.rst:21 -msgid ":mod:`fileinput`" -msgstr "" - -#: ../../library/cmdline.rst:22 -msgid ":mod:`ftplib`" -msgstr "" - -#: ../../library/cmdline.rst:23 -msgid ":ref:`gzip `" -msgstr "" - -#: ../../library/cmdline.rst:24 -msgid ":ref:`http.server `" -msgstr "" - -#: ../../library/cmdline.rst:25 -msgid ":mod:`!idlelib`" -msgstr "" - -#: ../../library/cmdline.rst:26 -msgid ":ref:`inspect `" -msgstr "" - -#: ../../library/cmdline.rst:27 -msgid ":ref:`json `" -msgstr "" - -#: ../../library/cmdline.rst:28 -msgid ":ref:`mimetypes `" -msgstr "" - -#: ../../library/cmdline.rst:29 -msgid ":mod:`pdb`" -msgstr "" - -#: ../../library/cmdline.rst:30 -msgid ":ref:`pickle `" -msgstr "" - -#: ../../library/cmdline.rst:31 -msgid ":ref:`pickletools `" -msgstr "" - -#: ../../library/cmdline.rst:32 -msgid ":ref:`platform `" -msgstr "" - -#: ../../library/cmdline.rst:33 -msgid ":mod:`poplib`" -msgstr "" - -#: ../../library/cmdline.rst:34 -msgid ":ref:`profile `" -msgstr "" - -#: ../../library/cmdline.rst:35 -msgid ":mod:`pstats`" -msgstr "" - -#: ../../library/cmdline.rst:36 -msgid ":ref:`py_compile `" -msgstr "" - -#: ../../library/cmdline.rst:37 -msgid ":mod:`pyclbr`" -msgstr "" - -#: ../../library/cmdline.rst:38 -msgid ":mod:`pydoc`" -msgstr "" - -#: ../../library/cmdline.rst:39 -msgid ":mod:`quopri`" -msgstr "" - -#: ../../library/cmdline.rst:40 -msgid ":ref:`random `" -msgstr "" - -#: ../../library/cmdline.rst:41 -msgid ":mod:`runpy`" -msgstr "" - -#: ../../library/cmdline.rst:42 -msgid ":ref:`site `" -msgstr "" - -#: ../../library/cmdline.rst:43 -msgid ":ref:`sqlite3 `" -msgstr "" - -#: ../../library/cmdline.rst:44 -msgid ":ref:`symtable `" -msgstr "" - -#: ../../library/cmdline.rst:45 -msgid ":ref:`sysconfig `" -msgstr "" - -#: ../../library/cmdline.rst:46 -msgid ":mod:`tabnanny`" -msgstr "" - -#: ../../library/cmdline.rst:47 -msgid ":ref:`tarfile `" -msgstr "" - -#: ../../library/cmdline.rst:48 -msgid ":mod:`!this`" -msgstr "" - -#: ../../library/cmdline.rst:49 -msgid ":ref:`timeit `" -msgstr "" - -#: ../../library/cmdline.rst:50 -msgid ":ref:`tokenize `" -msgstr "" - -#: ../../library/cmdline.rst:51 -msgid ":ref:`trace `" -msgstr "" - -#: ../../library/cmdline.rst:52 -msgid ":mod:`turtledemo`" -msgstr "" - -#: ../../library/cmdline.rst:53 -msgid ":ref:`unittest `" -msgstr "" - -#: ../../library/cmdline.rst:54 -msgid ":ref:`uuid `" -msgstr "" - -#: ../../library/cmdline.rst:55 -msgid ":mod:`venv`" -msgstr "" - -#: ../../library/cmdline.rst:56 -msgid ":mod:`webbrowser`" -msgstr "" - -#: ../../library/cmdline.rst:57 -msgid ":ref:`zipapp `" -msgstr "" - -#: ../../library/cmdline.rst:58 -msgid ":ref:`zipfile `" -msgstr "" - -#: ../../library/cmdline.rst:60 -msgid "See also the :ref:`Python command-line interface `." -msgstr "" diff --git a/python-newest.library--cmdlinelibs/id.po b/python-newest.library--cmdlinelibs/id.po deleted file mode 100644 index 8694ca9..0000000 --- a/python-newest.library--cmdlinelibs/id.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-12-27 14:18+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/cmdlinelibs.rst:5 -msgid "Command Line Interface Libraries" -msgstr "" - -#: ../../library/cmdlinelibs.rst:7 -msgid "" -"The modules described in this chapter assist with implementing command line " -"and terminal interfaces for applications." -msgstr "" - -#: ../../library/cmdlinelibs.rst:10 -msgid "Here's an overview:" -msgstr "" diff --git a/python-newest.library--code/id.po b/python-newest.library--code/id.po deleted file mode 100644 index 74005ba..0000000 --- a/python-newest.library--code/id.po +++ /dev/null @@ -1,243 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/code.rst:2 -msgid ":mod:`!code` --- Interpreter base classes" -msgstr "" - -#: ../../library/code.rst:7 -msgid "**Source code:** :source:`Lib/code.py`" -msgstr "" - -#: ../../library/code.rst:11 -msgid "" -"The ``code`` module provides facilities to implement read-eval-print loops " -"in Python. Two classes and convenience functions are included which can be " -"used to build applications which provide an interactive interpreter prompt." -msgstr "" - -#: ../../library/code.rst:18 -msgid "" -"This class deals with parsing and interpreter state (the user's namespace); " -"it does not deal with input buffering or prompting or input file naming (the" -" filename is always passed in explicitly). The optional *locals* argument " -"specifies a mapping to use as the namespace in which code will be executed; " -"it defaults to a newly created dictionary with key ``'__name__'`` set to " -"``'__console__'`` and key ``'__doc__'`` set to ``None``." -msgstr "" - -#: ../../library/code.rst:28 -msgid "" -"Closely emulate the behavior of the interactive Python interpreter. This " -"class builds on :class:`InteractiveInterpreter` and adds prompting using the" -" familiar ``sys.ps1`` and ``sys.ps2``, and input buffering. If *local_exit* " -"is true, ``exit()`` and ``quit()`` in the console will not raise " -":exc:`SystemExit`, but instead return to the calling code." -msgstr "" - -#: ../../library/code.rst:34 ../../library/code.rst:52 -msgid "Added *local_exit* parameter." -msgstr "" - -#: ../../library/code.rst:39 -msgid "" -"Convenience function to run a read-eval-print loop. This creates a new " -"instance of :class:`InteractiveConsole` and sets *readfunc* to be used as " -"the :meth:`InteractiveConsole.raw_input` method, if provided. If *local* is" -" provided, it is passed to the :class:`InteractiveConsole` constructor for " -"use as the default namespace for the interpreter loop. If *local_exit* is " -"provided, it is passed to the :class:`InteractiveConsole` constructor. The " -":meth:`~InteractiveConsole.interact` method of the instance is then run with" -" *banner* and *exitmsg* passed as the banner and exit message to use, if " -"provided. The console object is discarded after use." -msgstr "" - -#: ../../library/code.rst:49 -msgid "Added *exitmsg* parameter." -msgstr "" - -#: ../../library/code.rst:57 -msgid "" -"This function is useful for programs that want to emulate Python's " -"interpreter main loop (a.k.a. the read-eval-print loop). The tricky part is" -" to determine when the user has entered an incomplete command that can be " -"completed by entering more text (as opposed to a complete command or a " -"syntax error). This function *almost* always makes the same decision as the" -" real interpreter main loop." -msgstr "" - -#: ../../library/code.rst:64 -msgid "" -"*source* is the source string; *filename* is the optional filename from " -"which source was read, defaulting to ``''``; and *symbol* is the " -"optional grammar start symbol, which should be ``'single'`` (the default), " -"``'eval'`` or ``'exec'``." -msgstr "" - -#: ../../library/code.rst:69 -msgid "" -"Returns a code object (the same as ``compile(source, filename, symbol)``) if" -" the command is complete and valid; ``None`` if the command is incomplete; " -"raises :exc:`SyntaxError` if the command is complete and contains a syntax " -"error, or raises :exc:`OverflowError` or :exc:`ValueError` if the command " -"contains an invalid literal." -msgstr "" - -#: ../../library/code.rst:79 -msgid "Interactive Interpreter Objects" -msgstr "" - -#: ../../library/code.rst:84 -msgid "" -"Compile and run some source in the interpreter. Arguments are the same as " -"for :func:`compile_command`; the default for *filename* is ``''``, " -"and for *symbol* is ``'single'``. One of several things can happen:" -msgstr "" - -#: ../../library/code.rst:88 -msgid "" -"The input is incorrect; :func:`compile_command` raised an exception " -"(:exc:`SyntaxError` or :exc:`OverflowError`). A syntax traceback will be " -"printed by calling the :meth:`showsyntaxerror` method. :meth:`runsource` " -"returns ``False``." -msgstr "" - -#: ../../library/code.rst:93 -msgid "" -"The input is incomplete, and more input is required; :func:`compile_command`" -" returned ``None``. :meth:`runsource` returns ``True``." -msgstr "" - -#: ../../library/code.rst:96 -msgid "" -"The input is complete; :func:`compile_command` returned a code object. The " -"code is executed by calling the :meth:`runcode` (which also handles run-time" -" exceptions, except for :exc:`SystemExit`). :meth:`runsource` returns " -"``False``." -msgstr "" - -#: ../../library/code.rst:100 -msgid "" -"The return value can be used to decide whether to use ``sys.ps1`` or " -"``sys.ps2`` to prompt the next line." -msgstr "" - -#: ../../library/code.rst:106 -msgid "" -"Execute a code object. When an exception occurs, :meth:`showtraceback` is " -"called to display a traceback. All exceptions are caught except " -":exc:`SystemExit`, which is allowed to propagate." -msgstr "" - -#: ../../library/code.rst:110 -msgid "" -"A note about :exc:`KeyboardInterrupt`: this exception may occur elsewhere in" -" this code, and may not always be caught. The caller should be prepared to " -"deal with it." -msgstr "" - -#: ../../library/code.rst:117 -msgid "" -"Display the syntax error that just occurred. This does not display a stack " -"trace because there isn't one for syntax errors. If *filename* is given, it " -"is stuffed into the exception instead of the default filename provided by " -"Python's parser, because it always uses ``''`` when reading from a " -"string. The output is written by the :meth:`write` method." -msgstr "" - -#: ../../library/code.rst:126 -msgid "" -"Display the exception that just occurred. We remove the first stack item " -"because it is within the interpreter object implementation. The output is " -"written by the :meth:`write` method." -msgstr "" - -#: ../../library/code.rst:130 -msgid "" -"The full chained traceback is displayed instead of just the primary " -"traceback." -msgstr "" - -#: ../../library/code.rst:136 -msgid "" -"Write a string to the standard error stream (``sys.stderr``). Derived " -"classes should override this to provide the appropriate output handling as " -"needed." -msgstr "" - -#: ../../library/code.rst:143 -msgid "Interactive Console Objects" -msgstr "" - -#: ../../library/code.rst:145 -msgid "" -"The :class:`InteractiveConsole` class is a subclass of " -":class:`InteractiveInterpreter`, and so offers all the methods of the " -"interpreter objects as well as the following additions." -msgstr "" - -#: ../../library/code.rst:152 -msgid "" -"Closely emulate the interactive Python console. The optional *banner* " -"argument specify the banner to print before the first interaction; by " -"default it prints a banner similar to the one printed by the standard Python" -" interpreter, followed by the class name of the console object in " -"parentheses (so as not to confuse this with the real interpreter -- since " -"it's so close!)." -msgstr "" - -#: ../../library/code.rst:158 -msgid "" -"The optional *exitmsg* argument specifies an exit message printed when " -"exiting. Pass the empty string to suppress the exit message. If *exitmsg* is" -" not given or ``None``, a default message is printed." -msgstr "" - -#: ../../library/code.rst:162 -msgid "To suppress printing any banner, pass an empty string." -msgstr "" - -#: ../../library/code.rst:165 -msgid "Print an exit message when exiting." -msgstr "" - -#: ../../library/code.rst:171 -msgid "" -"Push a line of source text to the interpreter. The line should not have a " -"trailing newline; it may have internal newlines. The line is appended to a " -"buffer and the interpreter's :meth:`~InteractiveInterpreter.runsource` " -"method is called with the concatenated contents of the buffer as source. If" -" this indicates that the command was executed or invalid, the buffer is " -"reset; otherwise, the command is incomplete, and the buffer is left as it " -"was after the line was appended. The return value is ``True`` if more input" -" is required, ``False`` if the line was dealt with in some way (this is the " -"same as :meth:`!runsource`)." -msgstr "" - -#: ../../library/code.rst:183 -msgid "Remove any unhandled source text from the input buffer." -msgstr "" - -#: ../../library/code.rst:188 -msgid "" -"Write a prompt and read a line. The returned line does not include the " -"trailing newline. When the user enters the EOF key sequence, " -":exc:`EOFError` is raised. The base implementation reads from ``sys.stdin``;" -" a subclass may replace this with a different implementation." -msgstr "" diff --git a/python-newest.library--codecs/id.po b/python-newest.library--codecs/id.po deleted file mode 100644 index 4b9b48b..0000000 --- a/python-newest.library--codecs/id.po +++ /dev/null @@ -1,2789 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/codecs.rst:2 -msgid ":mod:`!codecs` --- Codec registry and base classes" -msgstr "" - -#: ../../library/codecs.rst:11 -msgid "**Source code:** :source:`Lib/codecs.py`" -msgstr "" - -#: ../../library/codecs.rst:23 -msgid "" -"This module defines base classes for standard Python codecs (encoders and " -"decoders) and provides access to the internal Python codec registry, which " -"manages the codec and error handling lookup process. Most standard codecs " -"are :term:`text encodings `, which encode text to bytes (and " -"decode bytes to text), but there are also codecs provided that encode text " -"to text, and bytes to bytes. Custom codecs may encode and decode between " -"arbitrary types, but some module features are restricted to be used " -"specifically with :term:`text encodings ` or with codecs that" -" encode to :class:`bytes`." -msgstr "" - -#: ../../library/codecs.rst:33 -msgid "" -"The module defines the following functions for encoding and decoding with " -"any codec:" -msgstr "" - -#: ../../library/codecs.rst:38 -msgid "Encodes *obj* using the codec registered for *encoding*." -msgstr "" - -#: ../../library/codecs.rst:40 -msgid "" -"*Errors* may be given to set the desired error handling scheme. The default " -"error handler is ``'strict'`` meaning that encoding errors raise " -":exc:`ValueError` (or a more codec specific subclass, such as " -":exc:`UnicodeEncodeError`). Refer to :ref:`codec-base-classes` for more " -"information on codec error handling." -msgstr "" - -#: ../../library/codecs.rst:48 -msgid "Decodes *obj* using the codec registered for *encoding*." -msgstr "" - -#: ../../library/codecs.rst:50 -msgid "" -"*Errors* may be given to set the desired error handling scheme. The default " -"error handler is ``'strict'`` meaning that decoding errors raise " -":exc:`ValueError` (or a more codec specific subclass, such as " -":exc:`UnicodeDecodeError`). Refer to :ref:`codec-base-classes` for more " -"information on codec error handling." -msgstr "" - -#: ../../library/codecs.rst:56 -msgid "The full details for each codec can also be looked up directly:" -msgstr "" - -#: ../../library/codecs.rst:60 -msgid "" -"Looks up the codec info in the Python codec registry and returns a " -":class:`CodecInfo` object as defined below." -msgstr "" - -#: ../../library/codecs.rst:63 -msgid "" -"Encodings are first looked up in the registry's cache. If not found, the " -"list of registered search functions is scanned. If no :class:`CodecInfo` " -"object is found, a :exc:`LookupError` is raised. Otherwise, the " -":class:`CodecInfo` object is stored in the cache and returned to the caller." -msgstr "" - -#: ../../library/codecs.rst:70 -msgid "" -"Codec details when looking up the codec registry. The constructor arguments " -"are stored in attributes of the same name:" -msgstr "" - -#: ../../library/codecs.rst:76 -msgid "The name of the encoding." -msgstr "" - -#: ../../library/codecs.rst:82 -msgid "" -"The stateless encoding and decoding functions. These must be functions or " -"methods which have the same interface as the :meth:`~Codec.encode` and " -":meth:`~Codec.decode` methods of Codec instances (see :ref:`Codec Interface " -"`). The functions or methods are expected to work in a " -"stateless mode." -msgstr "" - -#: ../../library/codecs.rst:92 -msgid "" -"Incremental encoder and decoder classes or factory functions. These have to " -"provide the interface defined by the base classes " -":class:`IncrementalEncoder` and :class:`IncrementalDecoder`, respectively. " -"Incremental codecs can maintain state." -msgstr "" - -#: ../../library/codecs.rst:101 -msgid "" -"Stream writer and reader classes or factory functions. These have to provide" -" the interface defined by the base classes :class:`StreamWriter` and " -":class:`StreamReader`, respectively. Stream codecs can maintain state." -msgstr "" - -#: ../../library/codecs.rst:106 -msgid "" -"To simplify access to the various codec components, the module provides " -"these additional functions which use :func:`lookup` for the codec lookup:" -msgstr "" - -#: ../../library/codecs.rst:111 -msgid "" -"Look up the codec for the given encoding and return its encoder function." -msgstr "" - -#: ../../library/codecs.rst:113 ../../library/codecs.rst:120 -#: ../../library/codecs.rst:146 ../../library/codecs.rst:154 -msgid "Raises a :exc:`LookupError` in case the encoding cannot be found." -msgstr "" - -#: ../../library/codecs.rst:118 -msgid "" -"Look up the codec for the given encoding and return its decoder function." -msgstr "" - -#: ../../library/codecs.rst:125 -msgid "" -"Look up the codec for the given encoding and return its incremental encoder " -"class or factory function." -msgstr "" - -#: ../../library/codecs.rst:128 -msgid "" -"Raises a :exc:`LookupError` in case the encoding cannot be found or the " -"codec doesn't support an incremental encoder." -msgstr "" - -#: ../../library/codecs.rst:134 -msgid "" -"Look up the codec for the given encoding and return its incremental decoder " -"class or factory function." -msgstr "" - -#: ../../library/codecs.rst:137 -msgid "" -"Raises a :exc:`LookupError` in case the encoding cannot be found or the " -"codec doesn't support an incremental decoder." -msgstr "" - -#: ../../library/codecs.rst:143 -msgid "" -"Look up the codec for the given encoding and return its " -":class:`StreamReader` class or factory function." -msgstr "" - -#: ../../library/codecs.rst:151 -msgid "" -"Look up the codec for the given encoding and return its " -":class:`StreamWriter` class or factory function." -msgstr "" - -#: ../../library/codecs.rst:156 -msgid "" -"Custom codecs are made available by registering a suitable codec search " -"function:" -msgstr "" - -#: ../../library/codecs.rst:161 -msgid "" -"Register a codec search function. Search functions are expected to take one " -"argument, being the encoding name in all lower case letters with hyphens and" -" spaces converted to underscores, and return a :class:`CodecInfo` object. In" -" case a search function cannot find a given encoding, it should return " -"``None``." -msgstr "" - -#: ../../library/codecs.rst:167 -msgid "Hyphens and spaces are converted to underscore." -msgstr "" - -#: ../../library/codecs.rst:173 -msgid "" -"Unregister a codec search function and clear the registry's cache. If the " -"search function is not registered, do nothing." -msgstr "" - -#: ../../library/codecs.rst:179 -msgid "" -"While the builtin :func:`open` and the associated :mod:`io` module are the " -"recommended approach for working with encoded text files, this module " -"provides additional utility functions and classes that allow the use of a " -"wider range of codecs when working with binary files:" -msgstr "" - -#: ../../library/codecs.rst:186 -msgid "" -"Open an encoded file using the given *mode* and return an instance of " -":class:`StreamReaderWriter`, providing transparent encoding/decoding. The " -"default file mode is ``'r'``, meaning to open the file in read mode." -msgstr "" - -#: ../../library/codecs.rst:192 -msgid "" -"If *encoding* is not ``None``, then the underlying encoded files are always " -"opened in binary mode. No automatic conversion of ``'\\n'`` is done on " -"reading and writing. The *mode* argument may be any binary mode acceptable " -"to the built-in :func:`open` function; the ``'b'`` is automatically added." -msgstr "" - -#: ../../library/codecs.rst:198 -msgid "" -"*encoding* specifies the encoding which is to be used for the file. Any " -"encoding that encodes to and decodes from bytes is allowed, and the data " -"types supported by the file methods depend on the codec used." -msgstr "" - -#: ../../library/codecs.rst:202 -msgid "" -"*errors* may be given to define the error handling. It defaults to " -"``'strict'`` which causes a :exc:`ValueError` to be raised in case an " -"encoding error occurs." -msgstr "" - -#: ../../library/codecs.rst:205 -msgid "" -"*buffering* has the same meaning as for the built-in :func:`open` function. " -"It defaults to -1 which means that the default buffer size will be used." -msgstr "" - -#: ../../library/codecs.rst:208 -msgid "The ``'U'`` mode has been removed." -msgstr "" - -#: ../../library/codecs.rst:213 -msgid ":func:`codecs.open` has been superseded by :func:`open`." -msgstr "" - -#: ../../library/codecs.rst:218 -msgid "" -"Return a :class:`StreamRecoder` instance, a wrapped version of *file* which " -"provides transparent transcoding. The original file is closed when the " -"wrapped version is closed." -msgstr "" - -#: ../../library/codecs.rst:222 -msgid "" -"Data written to the wrapped file is decoded according to the given " -"*data_encoding* and then written to the original file as bytes using " -"*file_encoding*. Bytes read from the original file are decoded according to " -"*file_encoding*, and the result is encoded using *data_encoding*." -msgstr "" - -#: ../../library/codecs.rst:228 -msgid "If *file_encoding* is not given, it defaults to *data_encoding*." -msgstr "" - -#: ../../library/codecs.rst:230 -msgid "" -"*errors* may be given to define the error handling. It defaults to " -"``'strict'``, which causes :exc:`ValueError` to be raised in case an " -"encoding error occurs." -msgstr "" - -#: ../../library/codecs.rst:237 -msgid "" -"Uses an incremental encoder to iteratively encode the input provided by " -"*iterator*. This function is a :term:`generator`. The *errors* argument (as " -"well as any other keyword argument) is passed through to the incremental " -"encoder." -msgstr "" - -#: ../../library/codecs.rst:242 -msgid "" -"This function requires that the codec accept text :class:`str` objects to " -"encode. Therefore it does not support bytes-to-bytes encoders such as " -"``base64_codec``." -msgstr "" - -#: ../../library/codecs.rst:249 -msgid "" -"Uses an incremental decoder to iteratively decode the input provided by " -"*iterator*. This function is a :term:`generator`. The *errors* argument (as " -"well as any other keyword argument) is passed through to the incremental " -"decoder." -msgstr "" - -#: ../../library/codecs.rst:254 -msgid "" -"This function requires that the codec accept :class:`bytes` objects to " -"decode. Therefore it does not support text-to-text encoders such as " -"``rot_13``, although ``rot_13`` may be used equivalently with " -":func:`iterencode`." -msgstr "" - -#: ../../library/codecs.rst:260 -msgid "" -"The module also provides the following constants which are useful for " -"reading and writing to platform dependent files:" -msgstr "" - -#: ../../library/codecs.rst:275 -msgid "" -"These constants define various byte sequences, being Unicode byte order " -"marks (BOMs) for several encodings. They are used in UTF-16 and UTF-32 data " -"streams to indicate the byte order used, and in UTF-8 as a Unicode " -"signature. :const:`BOM_UTF16` is either :const:`BOM_UTF16_BE` or " -":const:`BOM_UTF16_LE` depending on the platform's native byte order, " -":const:`BOM` is an alias for :const:`BOM_UTF16`, :const:`BOM_LE` for " -":const:`BOM_UTF16_LE` and :const:`BOM_BE` for :const:`BOM_UTF16_BE`. The " -"others represent the BOM in UTF-8 and UTF-32 encodings." -msgstr "" - -#: ../../library/codecs.rst:289 -msgid "Codec Base Classes" -msgstr "" - -#: ../../library/codecs.rst:291 -msgid "" -"The :mod:`codecs` module defines a set of base classes which define the " -"interfaces for working with codec objects, and can also be used as the basis" -" for custom codec implementations." -msgstr "" - -#: ../../library/codecs.rst:295 -msgid "" -"Each codec has to define four interfaces to make it usable as codec in " -"Python: stateless encoder, stateless decoder, stream reader and stream " -"writer. The stream reader and writers typically reuse the stateless " -"encoder/decoder to implement the file protocols. Codec authors also need to " -"define how the codec will handle encoding and decoding errors." -msgstr "" - -#: ../../library/codecs.rst:306 -msgid "Error Handlers" -msgstr "Penangan Kesalahan" - -#: ../../library/codecs.rst:308 -msgid "" -"To simplify and standardize error handling, codecs may implement different " -"error handling schemes by accepting the *errors* string argument:" -msgstr "" - -#: ../../library/codecs.rst:328 -msgid "" -"The following error handlers can be used with all Python :ref:`standard-" -"encodings` codecs:" -msgstr "" - -#: ../../library/codecs.rst:334 ../../library/codecs.rst:377 -#: ../../library/codecs.rst:397 -msgid "Value" -msgstr "Nilai" - -#: ../../library/codecs.rst:334 ../../library/codecs.rst:377 -#: ../../library/codecs.rst:397 ../../library/codecs.rst:1342 -#: ../../library/codecs.rst:1410 ../../library/codecs.rst:1465 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/codecs.rst:336 -msgid "``'strict'``" -msgstr "``'strict'``" - -#: ../../library/codecs.rst:336 -msgid "" -"Raise :exc:`UnicodeError` (or a subclass), this is the default. Implemented " -"in :func:`strict_errors`." -msgstr "" - -#: ../../library/codecs.rst:340 -msgid "``'ignore'``" -msgstr "``'ignore'``" - -#: ../../library/codecs.rst:340 -msgid "" -"Ignore the malformed data and continue without further notice. Implemented " -"in :func:`ignore_errors`." -msgstr "" - -#: ../../library/codecs.rst:344 -msgid "``'replace'``" -msgstr "``'replace'``" - -#: ../../library/codecs.rst:344 -msgid "" -"Replace with a replacement marker. On encoding, use ``?`` (ASCII character)." -" On decoding, use ``�`` (U+FFFD, the official REPLACEMENT CHARACTER). " -"Implemented in :func:`replace_errors`." -msgstr "" - -#: ../../library/codecs.rst:350 -msgid "``'backslashreplace'``" -msgstr "``'backslashreplace'``" - -#: ../../library/codecs.rst:350 -msgid "" -"Replace with backslashed escape sequences. On encoding, use hexadecimal form" -" of Unicode code point with formats :samp:`\\\\x{hh}` :samp:`\\\\u{xxxx}` " -":samp:`\\\\U{xxxxxxxx}`. On decoding, use hexadecimal form of byte value " -"with format :samp:`\\\\x{hh}`. Implemented in " -":func:`backslashreplace_errors`." -msgstr "" - -#: ../../library/codecs.rst:359 -msgid "``'surrogateescape'``" -msgstr "``'surrogateescape'``" - -#: ../../library/codecs.rst:359 -msgid "" -"On decoding, replace byte with individual surrogate code ranging from " -"``U+DC80`` to ``U+DCFF``. This code will then be turned back into the same " -"byte when the ``'surrogateescape'`` error handler is used when encoding the " -"data. (See :pep:`383` for more.)" -msgstr "" - -#: ../../library/codecs.rst:373 -msgid "" -"The following error handlers are only applicable to encoding (within " -":term:`text encodings `):" -msgstr "" - -#: ../../library/codecs.rst:379 -msgid "``'xmlcharrefreplace'``" -msgstr "``'xmlcharrefreplace'``" - -#: ../../library/codecs.rst:379 -msgid "" -"Replace with XML/HTML numeric character reference, which is a decimal form " -"of Unicode code point with format :samp:`&#{num};`. Implemented in " -":func:`xmlcharrefreplace_errors`." -msgstr "" - -#: ../../library/codecs.rst:385 -msgid "``'namereplace'``" -msgstr "``'namereplace'``" - -#: ../../library/codecs.rst:385 -msgid "" -"Replace with ``\\N{...}`` escape sequences, what appears in the braces is " -"the Name property from Unicode Character Database. Implemented in " -":func:`namereplace_errors`." -msgstr "" - -#: ../../library/codecs.rst:394 -msgid "" -"In addition, the following error handler is specific to the given codecs:" -msgstr "" - -#: ../../library/codecs.rst:13 ../../library/codecs.rst:397 -msgid "Codecs" -msgstr "*Codecs*" - -#: ../../library/codecs.rst:399 -msgid "``'surrogatepass'``" -msgstr "``'surrogatepass'``" - -#: ../../library/codecs.rst:399 -msgid "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le" -msgstr "" - -#: ../../library/codecs.rst:399 -msgid "" -"Allow encoding and decoding surrogate code point (``U+D800`` - ``U+DFFF``) " -"as normal code point. Otherwise these codecs treat the presence of surrogate" -" code point in :class:`str` as an error." -msgstr "" - -#: ../../library/codecs.rst:406 -msgid "The ``'surrogateescape'`` and ``'surrogatepass'`` error handlers." -msgstr "" - -#: ../../library/codecs.rst:409 -msgid "" -"The ``'surrogatepass'`` error handler now works with utf-16\\* and utf-32\\*" -" codecs." -msgstr "" - -#: ../../library/codecs.rst:413 -msgid "The ``'namereplace'`` error handler." -msgstr "" - -#: ../../library/codecs.rst:416 -msgid "" -"The ``'backslashreplace'`` error handler now works with decoding and " -"translating." -msgstr "" - -#: ../../library/codecs.rst:420 -msgid "" -"The set of allowed values can be extended by registering a new named error " -"handler:" -msgstr "" - -#: ../../library/codecs.rst:425 -msgid "" -"Register the error handling function *error_handler* under the name *name*. " -"The *error_handler* argument will be called during encoding and decoding in " -"case of an error, when *name* is specified as the errors parameter." -msgstr "" - -#: ../../library/codecs.rst:429 -msgid "" -"For encoding, *error_handler* will be called with a " -":exc:`UnicodeEncodeError` instance, which contains information about the " -"location of the error. The error handler must either raise this or a " -"different exception, or return a tuple with a replacement for the " -"unencodable part of the input and a position where encoding should continue." -" The replacement may be either :class:`str` or :class:`bytes`. If the " -"replacement is bytes, the encoder will simply copy them into the output " -"buffer. If the replacement is a string, the encoder will encode the " -"replacement. Encoding continues on original input at the specified position." -" Negative position values will be treated as being relative to the end of " -"the input string. If the resulting position is out of bound an " -":exc:`IndexError` will be raised." -msgstr "" - -#: ../../library/codecs.rst:441 -msgid "" -"Decoding and translating works similarly, except :exc:`UnicodeDecodeError` " -"or :exc:`UnicodeTranslateError` will be passed to the handler and that the " -"replacement from the error handler will be put into the output directly." -msgstr "" - -#: ../../library/codecs.rst:446 -msgid "" -"Previously registered error handlers (including the standard error handlers)" -" can be looked up by name:" -msgstr "" - -#: ../../library/codecs.rst:451 -msgid "Return the error handler previously registered under the name *name*." -msgstr "" - -#: ../../library/codecs.rst:453 -msgid "Raises a :exc:`LookupError` in case the handler cannot be found." -msgstr "" - -#: ../../library/codecs.rst:455 -msgid "" -"The following standard error handlers are also made available as module " -"level functions:" -msgstr "" - -#: ../../library/codecs.rst:460 -msgid "Implements the ``'strict'`` error handling." -msgstr "" - -#: ../../library/codecs.rst:462 -msgid "Each encoding or decoding error raises a :exc:`UnicodeError`." -msgstr "" - -#: ../../library/codecs.rst:467 -msgid "Implements the ``'ignore'`` error handling." -msgstr "" - -#: ../../library/codecs.rst:469 -msgid "" -"Malformed data is ignored; encoding or decoding is continued without further" -" notice." -msgstr "" - -#: ../../library/codecs.rst:475 -msgid "Implements the ``'replace'`` error handling." -msgstr "" - -#: ../../library/codecs.rst:477 -msgid "" -"Substitutes ``?`` (ASCII character) for encoding errors or ``�`` (U+FFFD, " -"the official REPLACEMENT CHARACTER) for decoding errors." -msgstr "" - -#: ../../library/codecs.rst:483 -msgid "Implements the ``'backslashreplace'`` error handling." -msgstr "" - -#: ../../library/codecs.rst:485 -msgid "" -"Malformed data is replaced by a backslashed escape sequence. On encoding, " -"use the hexadecimal form of Unicode code point with formats " -":samp:`\\\\x{hh}` :samp:`\\\\u{xxxx}` :samp:`\\\\U{xxxxxxxx}`. On decoding, " -"use the hexadecimal form of byte value with format :samp:`\\\\x{hh}`." -msgstr "" - -#: ../../library/codecs.rst:491 -msgid "Works with decoding and translating." -msgstr "" - -#: ../../library/codecs.rst:497 -msgid "" -"Implements the ``'xmlcharrefreplace'`` error handling (for encoding within " -":term:`text encoding` only)." -msgstr "" - -#: ../../library/codecs.rst:500 -msgid "" -"The unencodable character is replaced by an appropriate XML/HTML numeric " -"character reference, which is a decimal form of Unicode code point with " -"format :samp:`&#{num};` ." -msgstr "" - -#: ../../library/codecs.rst:507 -msgid "" -"Implements the ``'namereplace'`` error handling (for encoding within " -":term:`text encoding` only)." -msgstr "" - -#: ../../library/codecs.rst:510 -msgid "" -"The unencodable character is replaced by a ``\\N{...}`` escape sequence. The" -" set of characters that appear in the braces is the Name property from " -"Unicode Character Database. For example, the German lowercase letter ``'ß'``" -" will be converted to byte sequence ``\\N{LATIN SMALL LETTER SHARP S}`` ." -msgstr "" - -#: ../../library/codecs.rst:521 -msgid "Stateless Encoding and Decoding" -msgstr "" - -#: ../../library/codecs.rst:523 -msgid "" -"The base :class:`Codec` class defines these methods which also define the " -"function interfaces of the stateless encoder and decoder:" -msgstr "" - -#: ../../library/codecs.rst:531 -msgid "" -"Encodes the object *input* and returns a tuple (output object, length " -"consumed). For instance, :term:`text encoding` converts a string object to a" -" bytes object using a particular character set encoding (e.g., ``cp1252`` or" -" ``iso-8859-1``)." -msgstr "" - -#: ../../library/codecs.rst:536 ../../library/codecs.rst:558 -msgid "" -"The *errors* argument defines the error handling to apply. It defaults to " -"``'strict'`` handling." -msgstr "" - -#: ../../library/codecs.rst:539 -msgid "" -"The method may not store state in the :class:`Codec` instance. Use " -":class:`StreamWriter` for codecs which have to keep state in order to make " -"encoding efficient." -msgstr "" - -#: ../../library/codecs.rst:543 -msgid "" -"The encoder must be able to handle zero length input and return an empty " -"object of the output object type in this situation." -msgstr "" - -#: ../../library/codecs.rst:549 -msgid "" -"Decodes the object *input* and returns a tuple (output object, length " -"consumed). For instance, for a :term:`text encoding`, decoding converts a " -"bytes object encoded using a particular character set encoding to a string " -"object." -msgstr "" - -#: ../../library/codecs.rst:554 -msgid "" -"For text encodings and bytes-to-bytes codecs, *input* must be a bytes object" -" or one which provides the read-only buffer interface -- for example, buffer" -" objects and memory mapped files." -msgstr "" - -#: ../../library/codecs.rst:561 -msgid "" -"The method may not store state in the :class:`Codec` instance. Use " -":class:`StreamReader` for codecs which have to keep state in order to make " -"decoding efficient." -msgstr "" - -#: ../../library/codecs.rst:565 -msgid "" -"The decoder must be able to handle zero length input and return an empty " -"object of the output object type in this situation." -msgstr "" - -#: ../../library/codecs.rst:570 -msgid "Incremental Encoding and Decoding" -msgstr "" - -#: ../../library/codecs.rst:572 -msgid "" -"The :class:`IncrementalEncoder` and :class:`IncrementalDecoder` classes " -"provide the basic interface for incremental encoding and decoding. " -"Encoding/decoding the input isn't done with one call to the stateless " -"encoder/decoder function, but with multiple calls to the " -":meth:`~IncrementalEncoder.encode`/:meth:`~IncrementalDecoder.decode` method" -" of the incremental encoder/decoder. The incremental encoder/decoder keeps " -"track of the encoding/decoding process during method calls." -msgstr "" - -#: ../../library/codecs.rst:580 -msgid "" -"The joined output of calls to the " -":meth:`~IncrementalEncoder.encode`/:meth:`~IncrementalDecoder.decode` method" -" is the same as if all the single inputs were joined into one, and this " -"input was encoded/decoded with the stateless encoder/decoder." -msgstr "" - -#: ../../library/codecs.rst:589 -msgid "IncrementalEncoder Objects" -msgstr "" - -#: ../../library/codecs.rst:591 -msgid "" -"The :class:`IncrementalEncoder` class is used for encoding an input in " -"multiple steps. It defines the following methods which every incremental " -"encoder must define in order to be compatible with the Python codec " -"registry." -msgstr "" - -#: ../../library/codecs.rst:598 -msgid "Constructor for an :class:`IncrementalEncoder` instance." -msgstr "" - -#: ../../library/codecs.rst:600 -msgid "" -"All incremental encoders must provide this constructor interface. They are " -"free to add additional keyword arguments, but only the ones defined here are" -" used by the Python codec registry." -msgstr "" - -#: ../../library/codecs.rst:604 -msgid "" -"The :class:`IncrementalEncoder` may implement different error handling " -"schemes by providing the *errors* keyword argument. See :ref:`error-" -"handlers` for possible values." -msgstr "" - -#: ../../library/codecs.rst:608 -msgid "" -"The *errors* argument will be assigned to an attribute of the same name. " -"Assigning to this attribute makes it possible to switch between different " -"error handling strategies during the lifetime of the " -":class:`IncrementalEncoder` object." -msgstr "" - -#: ../../library/codecs.rst:616 -msgid "" -"Encodes *object* (taking the current state of the encoder into account) and " -"returns the resulting encoded object. If this is the last call to " -":meth:`encode` *final* must be true (the default is false)." -msgstr "" - -#: ../../library/codecs.rst:623 -msgid "" -"Reset the encoder to the initial state. The output is discarded: call " -"``.encode(object, final=True)``, passing an empty byte or text string if " -"necessary, to reset the encoder and to get the output." -msgstr "" - -#: ../../library/codecs.rst:630 -msgid "" -"Return the current state of the encoder which must be an integer. The " -"implementation should make sure that ``0`` is the most common state. (States" -" that are more complicated than integers can be converted into an integer by" -" marshaling/pickling the state and encoding the bytes of the resulting " -"string into an integer.)" -msgstr "" - -#: ../../library/codecs.rst:639 -msgid "" -"Set the state of the encoder to *state*. *state* must be an encoder state " -"returned by :meth:`getstate`." -msgstr "" - -#: ../../library/codecs.rst:646 -msgid "IncrementalDecoder Objects" -msgstr "" - -#: ../../library/codecs.rst:648 -msgid "" -"The :class:`IncrementalDecoder` class is used for decoding an input in " -"multiple steps. It defines the following methods which every incremental " -"decoder must define in order to be compatible with the Python codec " -"registry." -msgstr "" - -#: ../../library/codecs.rst:655 -msgid "Constructor for an :class:`IncrementalDecoder` instance." -msgstr "" - -#: ../../library/codecs.rst:657 -msgid "" -"All incremental decoders must provide this constructor interface. They are " -"free to add additional keyword arguments, but only the ones defined here are" -" used by the Python codec registry." -msgstr "" - -#: ../../library/codecs.rst:661 -msgid "" -"The :class:`IncrementalDecoder` may implement different error handling " -"schemes by providing the *errors* keyword argument. See :ref:`error-" -"handlers` for possible values." -msgstr "" - -#: ../../library/codecs.rst:665 -msgid "" -"The *errors* argument will be assigned to an attribute of the same name. " -"Assigning to this attribute makes it possible to switch between different " -"error handling strategies during the lifetime of the " -":class:`IncrementalDecoder` object." -msgstr "" - -#: ../../library/codecs.rst:673 -msgid "" -"Decodes *object* (taking the current state of the decoder into account) and " -"returns the resulting decoded object. If this is the last call to " -":meth:`decode` *final* must be true (the default is false). If *final* is " -"true the decoder must decode the input completely and must flush all " -"buffers. If this isn't possible (e.g. because of incomplete byte sequences " -"at the end of the input) it must initiate error handling just like in the " -"stateless case (which might raise an exception)." -msgstr "" - -#: ../../library/codecs.rst:684 -msgid "Reset the decoder to the initial state." -msgstr "" - -#: ../../library/codecs.rst:689 -msgid "" -"Return the current state of the decoder. This must be a tuple with two " -"items, the first must be the buffer containing the still undecoded input. " -"The second must be an integer and can be additional state info. (The " -"implementation should make sure that ``0`` is the most common additional " -"state info.) If this additional state info is ``0`` it must be possible to " -"set the decoder to the state which has no input buffered and ``0`` as the " -"additional state info, so that feeding the previously buffered input to the " -"decoder returns it to the previous state without producing any output. " -"(Additional state info that is more complicated than integers can be " -"converted into an integer by marshaling/pickling the info and encoding the " -"bytes of the resulting string into an integer.)" -msgstr "" - -#: ../../library/codecs.rst:704 -msgid "" -"Set the state of the decoder to *state*. *state* must be a decoder state " -"returned by :meth:`getstate`." -msgstr "" - -#: ../../library/codecs.rst:709 -msgid "Stream Encoding and Decoding" -msgstr "" - -#: ../../library/codecs.rst:712 -msgid "" -"The :class:`StreamWriter` and :class:`StreamReader` classes provide generic " -"working interfaces which can be used to implement new encoding submodules " -"very easily. See :mod:`!encodings.utf_8` for an example of how this is done." -msgstr "" - -#: ../../library/codecs.rst:720 -msgid "StreamWriter Objects" -msgstr "Objek StreamWriter" - -#: ../../library/codecs.rst:722 -msgid "" -"The :class:`StreamWriter` class is a subclass of :class:`Codec` and defines " -"the following methods which every stream writer must define in order to be " -"compatible with the Python codec registry." -msgstr "" - -#: ../../library/codecs.rst:729 -msgid "Constructor for a :class:`StreamWriter` instance." -msgstr "" - -#: ../../library/codecs.rst:731 -msgid "" -"All stream writers must provide this constructor interface. They are free to" -" add additional keyword arguments, but only the ones defined here are used " -"by the Python codec registry." -msgstr "" - -#: ../../library/codecs.rst:735 -msgid "" -"The *stream* argument must be a file-like object open for writing text or " -"binary data, as appropriate for the specific codec." -msgstr "" - -#: ../../library/codecs.rst:738 -msgid "" -"The :class:`StreamWriter` may implement different error handling schemes by " -"providing the *errors* keyword argument. See :ref:`error-handlers` for the " -"standard error handlers the underlying stream codec may support." -msgstr "" - -#: ../../library/codecs.rst:742 -msgid "" -"The *errors* argument will be assigned to an attribute of the same name. " -"Assigning to this attribute makes it possible to switch between different " -"error handling strategies during the lifetime of the :class:`StreamWriter` " -"object." -msgstr "" - -#: ../../library/codecs.rst:748 -msgid "Writes the object's contents encoded to the stream." -msgstr "" - -#: ../../library/codecs.rst:753 -msgid "" -"Writes the concatenated iterable of strings to the stream (possibly by " -"reusing the :meth:`write` method). Infinite or very large iterables are not " -"supported. The standard bytes-to-bytes codecs do not support this method." -msgstr "" - -#: ../../library/codecs.rst:761 ../../library/codecs.rst:856 -msgid "Resets the codec buffers used for keeping internal state." -msgstr "" - -#: ../../library/codecs.rst:763 -msgid "" -"Calling this method should ensure that the data on the output is put into a " -"clean state that allows appending of new fresh data without having to rescan" -" the whole stream to recover state." -msgstr "" - -#: ../../library/codecs.rst:768 -msgid "" -"In addition to the above methods, the :class:`StreamWriter` must also " -"inherit all other methods and attributes from the underlying stream." -msgstr "" - -#: ../../library/codecs.rst:775 -msgid "StreamReader Objects" -msgstr "Objek StreamReader" - -#: ../../library/codecs.rst:777 -msgid "" -"The :class:`StreamReader` class is a subclass of :class:`Codec` and defines " -"the following methods which every stream reader must define in order to be " -"compatible with the Python codec registry." -msgstr "" - -#: ../../library/codecs.rst:784 -msgid "Constructor for a :class:`StreamReader` instance." -msgstr "" - -#: ../../library/codecs.rst:786 -msgid "" -"All stream readers must provide this constructor interface. They are free to" -" add additional keyword arguments, but only the ones defined here are used " -"by the Python codec registry." -msgstr "" - -#: ../../library/codecs.rst:790 -msgid "" -"The *stream* argument must be a file-like object open for reading text or " -"binary data, as appropriate for the specific codec." -msgstr "" - -#: ../../library/codecs.rst:793 -msgid "" -"The :class:`StreamReader` may implement different error handling schemes by " -"providing the *errors* keyword argument. See :ref:`error-handlers` for the " -"standard error handlers the underlying stream codec may support." -msgstr "" - -#: ../../library/codecs.rst:797 -msgid "" -"The *errors* argument will be assigned to an attribute of the same name. " -"Assigning to this attribute makes it possible to switch between different " -"error handling strategies during the lifetime of the :class:`StreamReader` " -"object." -msgstr "" - -#: ../../library/codecs.rst:801 -msgid "" -"The set of allowed values for the *errors* argument can be extended with " -":func:`register_error`." -msgstr "" - -#: ../../library/codecs.rst:807 -msgid "Decodes data from the stream and returns the resulting object." -msgstr "" - -#: ../../library/codecs.rst:809 -msgid "" -"The *chars* argument indicates the number of decoded code points or bytes to" -" return. The :func:`read` method will never return more data than requested," -" but it might return less, if there is not enough available." -msgstr "" - -#: ../../library/codecs.rst:814 -msgid "" -"The *size* argument indicates the approximate maximum number of encoded " -"bytes or code points to read for decoding. The decoder can modify this " -"setting as appropriate. The default value -1 indicates to read and decode as" -" much as possible. This parameter is intended to prevent having to decode " -"huge files in one step." -msgstr "" - -#: ../../library/codecs.rst:821 -msgid "" -"The *firstline* flag indicates that it would be sufficient to only return " -"the first line, if there are decoding errors on later lines." -msgstr "" - -#: ../../library/codecs.rst:825 -msgid "" -"The method should use a greedy read strategy meaning that it should read as " -"much data as is allowed within the definition of the encoding and the given " -"size, e.g. if optional encoding endings or state markers are available on " -"the stream, these should be read too." -msgstr "" - -#: ../../library/codecs.rst:833 -msgid "Read one line from the input stream and return the decoded data." -msgstr "" - -#: ../../library/codecs.rst:835 -msgid "" -"*size*, if given, is passed as size argument to the stream's :meth:`read` " -"method." -msgstr "" - -#: ../../library/codecs.rst:838 -msgid "" -"If *keepends* is false line-endings will be stripped from the lines " -"returned." -msgstr "" - -#: ../../library/codecs.rst:844 -msgid "" -"Read all lines available on the input stream and return them as a list of " -"lines." -msgstr "" - -#: ../../library/codecs.rst:847 -msgid "" -"Line-endings are implemented using the codec's :meth:`decode` method and are" -" included in the list entries if *keepends* is true." -msgstr "" - -#: ../../library/codecs.rst:850 -msgid "" -"*sizehint*, if given, is passed as the *size* argument to the stream's " -":meth:`read` method." -msgstr "" - -#: ../../library/codecs.rst:858 -msgid "" -"Note that no stream repositioning should take place. This method is " -"primarily intended to be able to recover from decoding errors." -msgstr "" - -#: ../../library/codecs.rst:862 -msgid "" -"In addition to the above methods, the :class:`StreamReader` must also " -"inherit all other methods and attributes from the underlying stream." -msgstr "" - -#: ../../library/codecs.rst:868 -msgid "StreamReaderWriter Objects" -msgstr "Objek StreamReaderWriter" - -#: ../../library/codecs.rst:870 -msgid "" -"The :class:`StreamReaderWriter` is a convenience class that allows wrapping " -"streams which work in both read and write modes." -msgstr "" - -#: ../../library/codecs.rst:873 ../../library/codecs.rst:897 -msgid "" -"The design is such that one can use the factory functions returned by the " -":func:`lookup` function to construct the instance." -msgstr "" - -#: ../../library/codecs.rst:879 -msgid "" -"Creates a :class:`StreamReaderWriter` instance. *stream* must be a file-like" -" object. *Reader* and *Writer* must be factory functions or classes " -"providing the :class:`StreamReader` and :class:`StreamWriter` interface " -"resp. Error handling is done in the same way as defined for the stream " -"readers and writers." -msgstr "" - -#: ../../library/codecs.rst:884 -msgid "" -":class:`StreamReaderWriter` instances define the combined interfaces of " -":class:`StreamReader` and :class:`StreamWriter` classes. They inherit all " -"other methods and attributes from the underlying stream." -msgstr "" - -#: ../../library/codecs.rst:892 -msgid "StreamRecoder Objects" -msgstr "Objek StreamRecoder" - -#: ../../library/codecs.rst:894 -msgid "" -"The :class:`StreamRecoder` translates data from one encoding to another, " -"which is sometimes useful when dealing with different encoding environments." -msgstr "" - -#: ../../library/codecs.rst:903 -msgid "" -"Creates a :class:`StreamRecoder` instance which implements a two-way " -"conversion: *encode* and *decode* work on the frontend — the data visible to" -" code calling :meth:`~StreamReader.read` and :meth:`~StreamWriter.write`, " -"while *Reader* and *Writer* work on the backend — the data in *stream*." -msgstr "" - -#: ../../library/codecs.rst:909 -msgid "" -"You can use these objects to do transparent transcodings, e.g., from Latin-1" -" to UTF-8 and back." -msgstr "" - -#: ../../library/codecs.rst:912 -msgid "The *stream* argument must be a file-like object." -msgstr "" - -#: ../../library/codecs.rst:914 -msgid "" -"The *encode* and *decode* arguments must adhere to the :class:`Codec` " -"interface. *Reader* and *Writer* must be factory functions or classes " -"providing objects of the :class:`StreamReader` and :class:`StreamWriter` " -"interface respectively." -msgstr "" - -#: ../../library/codecs.rst:919 -msgid "" -"Error handling is done in the same way as defined for the stream readers and" -" writers." -msgstr "" - -#: ../../library/codecs.rst:923 -msgid "" -":class:`StreamRecoder` instances define the combined interfaces of " -":class:`StreamReader` and :class:`StreamWriter` classes. They inherit all " -"other methods and attributes from the underlying stream." -msgstr "" - -#: ../../library/codecs.rst:931 -msgid "Encodings and Unicode" -msgstr "" - -#: ../../library/codecs.rst:933 -msgid "" -"Strings are stored internally as sequences of code points in range " -"``U+0000``--``U+10FFFF``. (See :pep:`393` for more details about the " -"implementation.) Once a string object is used outside of CPU and memory, " -"endianness and how these arrays are stored as bytes become an issue. As with" -" other codecs, serialising a string into a sequence of bytes is known as " -"*encoding*, and recreating the string from the sequence of bytes is known as" -" *decoding*. There are a variety of different text serialisation codecs, " -"which are collectivity referred to as :term:`text encodings `." -msgstr "" - -#: ../../library/codecs.rst:943 -msgid "" -"The simplest text encoding (called ``'latin-1'`` or ``'iso-8859-1'``) maps " -"the code points 0--255 to the bytes ``0x0``--``0xff``, which means that a " -"string object that contains code points above ``U+00FF`` can't be encoded " -"with this codec. Doing so will raise a :exc:`UnicodeEncodeError` that looks " -"like the following (although the details of the error message may differ): " -"``UnicodeEncodeError: 'latin-1' codec can't encode character '\\u1234' in " -"position 3: ordinal not in range(256)``." -msgstr "" - -#: ../../library/codecs.rst:951 -msgid "" -"There's another group of encodings (the so called charmap encodings) that " -"choose a different subset of all Unicode code points and how these code " -"points are mapped to the bytes ``0x0``--``0xff``. To see how this is done " -"simply open e.g. :file:`encodings/cp1252.py` (which is an encoding that is " -"used primarily on Windows). There's a string constant with 256 characters " -"that shows you which character is mapped to which byte value." -msgstr "" - -#: ../../library/codecs.rst:958 -msgid "" -"All of these encodings can only encode 256 of the 1114112 code points " -"defined in Unicode. A simple and straightforward way that can store each " -"Unicode code point, is to store each code point as four consecutive bytes. " -"There are two possibilities: store the bytes in big endian or in little " -"endian order. These two encodings are called ``UTF-32-BE`` and ``UTF-32-LE``" -" respectively. Their disadvantage is that if e.g. you use ``UTF-32-BE`` on a" -" little endian machine you will always have to swap bytes on encoding and " -"decoding. ``UTF-32`` avoids this problem: bytes will always be in natural " -"endianness. When these bytes are read by a CPU with a different endianness, " -"then bytes have to be swapped though. To be able to detect the endianness of" -" a ``UTF-16`` or ``UTF-32`` byte sequence, there's the so called BOM (\"Byte" -" Order Mark\"). This is the Unicode character ``U+FEFF``. This character can" -" be prepended to every ``UTF-16`` or ``UTF-32`` byte sequence. The byte " -"swapped version of this character (``0xFFFE``) is an illegal character that " -"may not appear in a Unicode text. So when the first character in a " -"``UTF-16`` or ``UTF-32`` byte sequence appears to be a ``U+FFFE`` the bytes " -"have to be swapped on decoding. Unfortunately the character ``U+FEFF`` had a" -" second purpose as a ``ZERO WIDTH NO-BREAK SPACE``: a character that has no " -"width and doesn't allow a word to be split. It can e.g. be used to give " -"hints to a ligature algorithm. With Unicode 4.0 using ``U+FEFF`` as a ``ZERO" -" WIDTH NO-BREAK SPACE`` has been deprecated (with ``U+2060`` (``WORD " -"JOINER``) assuming this role). Nevertheless Unicode software still must be " -"able to handle ``U+FEFF`` in both roles: as a BOM it's a device to determine" -" the storage layout of the encoded bytes, and vanishes once the byte " -"sequence has been decoded into a string; as a ``ZERO WIDTH NO-BREAK SPACE`` " -"it's a normal character that will be decoded like any other." -msgstr "" - -#: ../../library/codecs.rst:984 -msgid "" -"There's another encoding that is able to encode the full range of Unicode " -"characters: UTF-8. UTF-8 is an 8-bit encoding, which means there are no " -"issues with byte order in UTF-8. Each byte in a UTF-8 byte sequence consists" -" of two parts: marker bits (the most significant bits) and payload bits. The" -" marker bits are a sequence of zero to four ``1`` bits followed by a ``0`` " -"bit. Unicode characters are encoded like this (with x being payload bits, " -"which when concatenated give the Unicode character):" -msgstr "" - -#: ../../library/codecs.rst:993 -msgid "Range" -msgstr "Rentang" - -#: ../../library/codecs.rst:993 -msgid "Encoding" -msgstr "Penyandian *Encoding*" - -#: ../../library/codecs.rst:995 -msgid "``U-00000000`` ... ``U-0000007F``" -msgstr "``U-00000000`` ... ``U-0000007F``" - -#: ../../library/codecs.rst:995 -msgid "0xxxxxxx" -msgstr "0xxxxxxx" - -#: ../../library/codecs.rst:997 -msgid "``U-00000080`` ... ``U-000007FF``" -msgstr "``U-00000080`` ... ``U-000007FF``" - -#: ../../library/codecs.rst:997 -msgid "110xxxxx 10xxxxxx" -msgstr "110xxxxx 10xxxxxx" - -#: ../../library/codecs.rst:999 -msgid "``U-00000800`` ... ``U-0000FFFF``" -msgstr "``U-00000800`` ... ``U-0000FFFF``" - -#: ../../library/codecs.rst:999 -msgid "1110xxxx 10xxxxxx 10xxxxxx" -msgstr "1110xxxx 10xxxxxx 10xxxxxx" - -#: ../../library/codecs.rst:1001 -msgid "``U-00010000`` ... ``U-0010FFFF``" -msgstr "``U-00010000`` ... ``U-0010FFFF``" - -#: ../../library/codecs.rst:1001 -msgid "11110xxx 10xxxxxx 10xxxxxx 10xxxxxx" -msgstr "11110xxx 10xxxxxx 10xxxxxx 10xxxxxx" - -#: ../../library/codecs.rst:1004 -msgid "" -"The least significant bit of the Unicode character is the rightmost x bit." -msgstr "" - -#: ../../library/codecs.rst:1006 -msgid "" -"As UTF-8 is an 8-bit encoding no BOM is required and any ``U+FEFF`` " -"character in the decoded string (even if it's the first character) is " -"treated as a ``ZERO WIDTH NO-BREAK SPACE``." -msgstr "" - -#: ../../library/codecs.rst:1010 -msgid "" -"Without external information it's impossible to reliably determine which " -"encoding was used for encoding a string. Each charmap encoding can decode " -"any random byte sequence. However that's not possible with UTF-8, as UTF-8 " -"byte sequences have a structure that doesn't allow arbitrary byte sequences." -" To increase the reliability with which a UTF-8 encoding can be detected, " -"Microsoft invented a variant of UTF-8 (that Python calls ``\"utf-8-sig\"``) " -"for its Notepad program: Before any of the Unicode characters is written to " -"the file, a UTF-8 encoded BOM (which looks like this as a byte sequence: " -"``0xef``, ``0xbb``, ``0xbf``) is written. As it's rather improbable that any" -" charmap encoded file starts with these byte values (which would e.g. map to" -msgstr "" - -#: ../../library/codecs.rst:0 -msgid "LATIN SMALL LETTER I WITH DIAERESIS" -msgstr "" - -#: ../../library/codecs.rst:0 -msgid "RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK" -msgstr "" - -#: ../../library/codecs.rst:0 -msgid "INVERTED QUESTION MARK" -msgstr "" - -#: ../../library/codecs.rst:1026 -msgid "" -"in iso-8859-1), this increases the probability that a ``utf-8-sig`` encoding" -" can be correctly guessed from the byte sequence. So here the BOM is not " -"used to be able to determine the byte order used for generating the byte " -"sequence, but as a signature that helps in guessing the encoding. On " -"encoding the utf-8-sig codec will write ``0xef``, ``0xbb``, ``0xbf`` as the " -"first three bytes to the file. On decoding ``utf-8-sig`` will skip those " -"three bytes if they appear as the first three bytes in the file. In UTF-8, " -"the use of the BOM is discouraged and should generally be avoided." -msgstr "" - -#: ../../library/codecs.rst:1039 -msgid "Standard Encodings" -msgstr "" - -#: ../../library/codecs.rst:1041 -msgid "" -"Python comes with a number of codecs built-in, either implemented as C " -"functions or with dictionaries as mapping tables. The following table lists " -"the codecs by name, together with a few common aliases, and the languages " -"for which the encoding is likely used. Neither the list of aliases nor the " -"list of languages is meant to be exhaustive. Notice that spelling " -"alternatives that only differ in case or use a hyphen instead of an " -"underscore are also valid aliases; therefore, e.g. ``'utf-8'`` is a valid " -"alias for the ``'utf_8'`` codec." -msgstr "" - -#: ../../library/codecs.rst:1049 -msgid "" -"On Windows, ``cpXXX`` codecs are available for all code pages. But only " -"codecs listed in the following table are guarantead to exist on other " -"platforms." -msgstr "" - -#: ../../library/codecs.rst:1055 -msgid "" -"Some common encodings can bypass the codecs lookup machinery to improve " -"performance. These optimization opportunities are only recognized by CPython" -" for a limited set of (case insensitive) aliases: utf-8, utf8, latin-1, " -"latin1, iso-8859-1, iso8859-1, mbcs (Windows only), ascii, us-ascii, utf-16," -" utf16, utf-32, utf32, and the same using underscores instead of dashes. " -"Using alternative aliases for these encodings may result in slower " -"execution." -msgstr "" - -#: ../../library/codecs.rst:1063 -msgid "Optimization opportunity recognized for us-ascii." -msgstr "" - -#: ../../library/codecs.rst:1066 -msgid "" -"Many of the character sets support the same languages. They vary in " -"individual characters (e.g. whether the EURO SIGN is supported or not), and " -"in the assignment of characters to code positions. For the European " -"languages in particular, the following variants typically exist:" -msgstr "" - -#: ../../library/codecs.rst:1071 -msgid "an ISO 8859 codeset" -msgstr "" - -#: ../../library/codecs.rst:1073 -msgid "" -"a Microsoft Windows code page, which is typically derived from an 8859 " -"codeset, but replaces control characters with additional graphic characters" -msgstr "" - -#: ../../library/codecs.rst:1076 -msgid "an IBM EBCDIC code page" -msgstr "" - -#: ../../library/codecs.rst:1078 -msgid "an IBM PC code page, which is ASCII compatible" -msgstr "" - -#: ../../library/codecs.rst:1083 ../../library/codecs.rst:1342 -#: ../../library/codecs.rst:1410 ../../library/codecs.rst:1465 -msgid "Codec" -msgstr "*Codec*" - -#: ../../library/codecs.rst:1083 ../../library/codecs.rst:1342 -#: ../../library/codecs.rst:1410 ../../library/codecs.rst:1465 -msgid "Aliases" -msgstr "" - -#: ../../library/codecs.rst:1083 -msgid "Languages" -msgstr "Bahasa" - -#: ../../library/codecs.rst:1085 -msgid "ascii" -msgstr "ascii" - -#: ../../library/codecs.rst:1085 -msgid "646, us-ascii" -msgstr "646, us-ascii" - -#: ../../library/codecs.rst:1085 ../../library/codecs.rst:1091 -#: ../../library/codecs.rst:1099 -msgid "English" -msgstr "Bahasa Inggris" - -#: ../../library/codecs.rst:1087 -msgid "big5" -msgstr "big5" - -#: ../../library/codecs.rst:1087 -msgid "big5-tw, csbig5" -msgstr "big5-tw, csbig5" - -#: ../../library/codecs.rst:1087 ../../library/codecs.rst:1089 -#: ../../library/codecs.rst:1148 -msgid "Traditional Chinese" -msgstr "Cina Tradisional" - -#: ../../library/codecs.rst:1089 -msgid "big5hkscs" -msgstr "big5hkscs" - -#: ../../library/codecs.rst:1089 -msgid "big5-hkscs, hkscs" -msgstr "big5-hkscs, hkscs" - -#: ../../library/codecs.rst:1091 -msgid "cp037" -msgstr "cp037" - -#: ../../library/codecs.rst:1091 -msgid "IBM037, IBM039" -msgstr "IBM037, IBM039" - -#: ../../library/codecs.rst:1093 -msgid "cp273" -msgstr "cp273" - -#: ../../library/codecs.rst:1093 -msgid "273, IBM273, csIBM273" -msgstr "273, IBM273, csIBM273" - -#: ../../library/codecs.rst:1093 -msgid "German" -msgstr "Bahasa Jerman" - -#: ../../library/codecs.rst:1097 -msgid "cp424" -msgstr "cp424" - -#: ../../library/codecs.rst:1097 -msgid "EBCDIC-CP-HE, IBM424" -msgstr "EBCDIC-CP-HE, IBM424" - -#: ../../library/codecs.rst:1097 ../../library/codecs.rst:1117 -#: ../../library/codecs.rst:1127 ../../library/codecs.rst:1171 -#: ../../library/codecs.rst:1234 -msgid "Hebrew" -msgstr "Bahasa Ibrani" - -#: ../../library/codecs.rst:1099 -msgid "cp437" -msgstr "cp437" - -#: ../../library/codecs.rst:1099 -msgid "437, IBM437" -msgstr "437, IBM437" - -#: ../../library/codecs.rst:1101 -msgid "cp500" -msgstr "cp500" - -#: ../../library/codecs.rst:1101 -msgid "EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500" -msgstr "EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500" - -#: ../../library/codecs.rst:1101 ../../library/codecs.rst:1110 -#: ../../library/codecs.rst:1121 ../../library/codecs.rst:1158 -#: ../../library/codecs.rst:1165 ../../library/codecs.rst:1218 -#: ../../library/codecs.rst:1246 ../../library/codecs.rst:1274 -msgid "Western Europe" -msgstr "Eropa Barat" - -#: ../../library/codecs.rst:1104 -msgid "cp720" -msgstr "cp720" - -#: ../../library/codecs.rst:1104 ../../library/codecs.rst:1131 -#: ../../library/codecs.rst:1173 ../../library/codecs.rst:1230 -msgid "Arabic" -msgstr "Bahasa Arab" - -#: ../../library/codecs.rst:1106 -msgid "cp737" -msgstr "cp737" - -#: ../../library/codecs.rst:1106 ../../library/codecs.rst:1137 -#: ../../library/codecs.rst:1141 ../../library/codecs.rst:1167 -#: ../../library/codecs.rst:1232 ../../library/codecs.rst:1267 -msgid "Greek" -msgstr "Bahasa Yunani" - -#: ../../library/codecs.rst:1108 -msgid "cp775" -msgstr "cp775" - -#: ../../library/codecs.rst:1108 -msgid "IBM775" -msgstr "IBM775" - -#: ../../library/codecs.rst:1108 ../../library/codecs.rst:1175 -#: ../../library/codecs.rst:1225 ../../library/codecs.rst:1242 -msgid "Baltic languages" -msgstr "Bahasa Baltik" - -#: ../../library/codecs.rst:1110 -msgid "cp850" -msgstr "cp850" - -#: ../../library/codecs.rst:1110 -msgid "850, IBM850" -msgstr "850, IBM850" - -#: ../../library/codecs.rst:1112 -msgid "cp852" -msgstr "cp852" - -#: ../../library/codecs.rst:1112 -msgid "852, IBM852" -msgstr "852, IBM852" - -#: ../../library/codecs.rst:1112 ../../library/codecs.rst:1160 -#: ../../library/codecs.rst:1221 ../../library/codecs.rst:1271 -msgid "Central and Eastern Europe" -msgstr "Eropa Tengah dan Timur" - -#: ../../library/codecs.rst:1114 -msgid "cp855" -msgstr "cp855" - -#: ../../library/codecs.rst:1114 -msgid "855, IBM855" -msgstr "855, IBM855" - -#: ../../library/codecs.rst:1114 ../../library/codecs.rst:1162 -#: ../../library/codecs.rst:1227 ../../library/codecs.rst:1264 -msgid "Belarusian, Bulgarian, Macedonian, Russian, Serbian" -msgstr "" - -#: ../../library/codecs.rst:1117 -msgid "cp856" -msgstr "cp856" - -#: ../../library/codecs.rst:1119 -msgid "cp857" -msgstr "cp857" - -#: ../../library/codecs.rst:1119 -msgid "857, IBM857" -msgstr "857, IBM857" - -#: ../../library/codecs.rst:1119 ../../library/codecs.rst:1152 -#: ../../library/codecs.rst:1169 ../../library/codecs.rst:1236 -#: ../../library/codecs.rst:1276 -msgid "Turkish" -msgstr "Bahasa Turki" - -#: ../../library/codecs.rst:1121 -msgid "cp858" -msgstr "cp858" - -#: ../../library/codecs.rst:1121 -msgid "858, IBM858" -msgstr "858, IBM858" - -#: ../../library/codecs.rst:1123 -msgid "cp860" -msgstr "cp860" - -#: ../../library/codecs.rst:1123 -msgid "860, IBM860" -msgstr "860, IBM860" - -#: ../../library/codecs.rst:1123 -msgid "Portuguese" -msgstr "Bahasa Portugis" - -#: ../../library/codecs.rst:1125 -msgid "cp861" -msgstr "cp861" - -#: ../../library/codecs.rst:1125 -msgid "861, CP-IS, IBM861" -msgstr "861, CP-IS, IBM861" - -#: ../../library/codecs.rst:1125 ../../library/codecs.rst:1269 -msgid "Icelandic" -msgstr "Bahasa Islandia" - -#: ../../library/codecs.rst:1127 -msgid "cp862" -msgstr "cp862" - -#: ../../library/codecs.rst:1127 -msgid "862, IBM862" -msgstr "862, IBM862" - -#: ../../library/codecs.rst:1129 -msgid "cp863" -msgstr "cp863" - -#: ../../library/codecs.rst:1129 -msgid "863, IBM863" -msgstr "863, IBM863" - -#: ../../library/codecs.rst:1129 -msgid "Canadian" -msgstr "Bahasa Kanada" - -#: ../../library/codecs.rst:1131 -msgid "cp864" -msgstr "cp864" - -#: ../../library/codecs.rst:1131 -msgid "IBM864" -msgstr "IBM864" - -#: ../../library/codecs.rst:1133 -msgid "cp865" -msgstr "cp865" - -#: ../../library/codecs.rst:1133 -msgid "865, IBM865" -msgstr "865, IBM865" - -#: ../../library/codecs.rst:1133 -msgid "Danish, Norwegian" -msgstr "Bahasa Denmark, Norwegia" - -#: ../../library/codecs.rst:1135 -msgid "cp866" -msgstr "cp866" - -#: ../../library/codecs.rst:1135 -msgid "866, IBM866" -msgstr "866, IBM866" - -#: ../../library/codecs.rst:1135 ../../library/codecs.rst:1252 -msgid "Russian" -msgstr "Bahasa Rusia" - -#: ../../library/codecs.rst:1137 -msgid "cp869" -msgstr "cp869" - -#: ../../library/codecs.rst:1137 -msgid "869, CP-GR, IBM869" -msgstr "869, CP-GR, IBM869" - -#: ../../library/codecs.rst:1139 -msgid "cp874" -msgstr "cp874" - -#: ../../library/codecs.rst:1139 -msgid "Thai" -msgstr "Bahasa Thai" - -#: ../../library/codecs.rst:1141 -msgid "cp875" -msgstr "cp875" - -#: ../../library/codecs.rst:1143 -msgid "cp932" -msgstr "cp932" - -#: ../../library/codecs.rst:1143 -msgid "932, ms932, mskanji, ms-kanji, windows-31j" -msgstr "" - -#: ../../library/codecs.rst:1143 ../../library/codecs.rst:1179 -#: ../../library/codecs.rst:1181 ../../library/codecs.rst:1183 -#: ../../library/codecs.rst:1200 ../../library/codecs.rst:1203 -#: ../../library/codecs.rst:1208 ../../library/codecs.rst:1211 -#: ../../library/codecs.rst:1213 ../../library/codecs.rst:1281 -#: ../../library/codecs.rst:1284 ../../library/codecs.rst:1287 -msgid "Japanese" -msgstr "Bahasa Jepang" - -#: ../../library/codecs.rst:1146 -msgid "cp949" -msgstr "cp949" - -#: ../../library/codecs.rst:1146 -msgid "949, ms949, uhc" -msgstr "949, ms949, uhc" - -#: ../../library/codecs.rst:1146 ../../library/codecs.rst:1185 -#: ../../library/codecs.rst:1215 ../../library/codecs.rst:1250 -msgid "Korean" -msgstr "Bahasa Korea" - -#: ../../library/codecs.rst:1148 -msgid "cp950" -msgstr "cp950" - -#: ../../library/codecs.rst:1148 -msgid "950, ms950" -msgstr "950, ms950" - -#: ../../library/codecs.rst:1150 -msgid "cp1006" -msgstr "cp1006" - -#: ../../library/codecs.rst:1150 -msgid "Urdu" -msgstr "Bahasa Urdu" - -#: ../../library/codecs.rst:1152 -msgid "cp1026" -msgstr "cp1026" - -#: ../../library/codecs.rst:1152 -msgid "ibm1026" -msgstr "ibm1026" - -#: ../../library/codecs.rst:1154 -msgid "cp1125" -msgstr "cp1125" - -#: ../../library/codecs.rst:1154 -msgid "1125, ibm1125, cp866u, ruscii" -msgstr "1125, ibm1125, cp866u, ruscii" - -#: ../../library/codecs.rst:1154 ../../library/codecs.rst:1258 -msgid "Ukrainian" -msgstr "Bahasa Ukraina" - -#: ../../library/codecs.rst:1158 -msgid "cp1140" -msgstr "cp1140" - -#: ../../library/codecs.rst:1158 -msgid "ibm1140" -msgstr "ibm1140" - -#: ../../library/codecs.rst:1160 -msgid "cp1250" -msgstr "cp1250" - -#: ../../library/codecs.rst:1160 -msgid "windows-1250" -msgstr "windows-1250" - -#: ../../library/codecs.rst:1162 -msgid "cp1251" -msgstr "cp1251" - -#: ../../library/codecs.rst:1162 -msgid "windows-1251" -msgstr "windows-1251" - -#: ../../library/codecs.rst:1165 -msgid "cp1252" -msgstr "cp1252" - -#: ../../library/codecs.rst:1165 -msgid "windows-1252" -msgstr "windows-1252" - -#: ../../library/codecs.rst:1167 -msgid "cp1253" -msgstr "cp1253" - -#: ../../library/codecs.rst:1167 -msgid "windows-1253" -msgstr "windows-1253" - -#: ../../library/codecs.rst:1169 -msgid "cp1254" -msgstr "cp1254" - -#: ../../library/codecs.rst:1169 -msgid "windows-1254" -msgstr "windows-1254" - -#: ../../library/codecs.rst:1171 -msgid "cp1255" -msgstr "cp1255" - -#: ../../library/codecs.rst:1171 -msgid "windows-1255" -msgstr "windows-1255" - -#: ../../library/codecs.rst:1173 -msgid "cp1256" -msgstr "cp1256" - -#: ../../library/codecs.rst:1173 -msgid "windows-1256" -msgstr "windows-1256" - -#: ../../library/codecs.rst:1175 -msgid "cp1257" -msgstr "cp1257" - -#: ../../library/codecs.rst:1175 -msgid "windows-1257" -msgstr "windows-1257" - -#: ../../library/codecs.rst:1177 -msgid "cp1258" -msgstr "cp1258" - -#: ../../library/codecs.rst:1177 -msgid "windows-1258" -msgstr "windows-1258" - -#: ../../library/codecs.rst:1177 -msgid "Vietnamese" -msgstr "Bahasa Vietnam" - -#: ../../library/codecs.rst:1179 -msgid "euc_jp" -msgstr "euc_jp" - -#: ../../library/codecs.rst:1179 -msgid "eucjp, ujis, u-jis" -msgstr "eucjp, ujis, u-jis" - -#: ../../library/codecs.rst:1181 -msgid "euc_jis_2004" -msgstr "euc_jis_2004" - -#: ../../library/codecs.rst:1181 -msgid "jisx0213, eucjis2004" -msgstr "jisx0213, eucjis2004" - -#: ../../library/codecs.rst:1183 -msgid "euc_jisx0213" -msgstr "euc_jisx0213" - -#: ../../library/codecs.rst:1183 -msgid "eucjisx0213" -msgstr "eucjisx0213" - -#: ../../library/codecs.rst:1185 -msgid "euc_kr" -msgstr "euc_kr" - -#: ../../library/codecs.rst:1185 -msgid "euckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001" -msgstr "euckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001" - -#: ../../library/codecs.rst:1189 -msgid "gb2312" -msgstr "gb2312" - -#: ../../library/codecs.rst:1189 -msgid "" -"chinese, csiso58gb231280, euc-cn, euccn, eucgb2312-cn, gb2312-1980, " -"gb2312-80, iso-ir-58" -msgstr "" -"chinese, csiso58gb231280, euc-cn, euccn, eucgb2312-cn, gb2312-1980, " -"gb2312-80, iso-ir-58" - -#: ../../library/codecs.rst:1189 ../../library/codecs.rst:1198 -msgid "Simplified Chinese" -msgstr "Bahasa Cina Disederhanakan *Simplified*" - -#: ../../library/codecs.rst:1194 -msgid "gbk" -msgstr "gbk" - -#: ../../library/codecs.rst:1194 -msgid "936, cp936, ms936" -msgstr "936, cp936, ms936" - -#: ../../library/codecs.rst:1194 ../../library/codecs.rst:1196 -msgid "Unified Chinese" -msgstr "Bahasa Cina Terpadu" - -#: ../../library/codecs.rst:1196 -msgid "gb18030" -msgstr "gb18030" - -#: ../../library/codecs.rst:1196 -msgid "gb18030-2000" -msgstr "gb18030-2000" - -#: ../../library/codecs.rst:1198 -msgid "hz" -msgstr "hz" - -#: ../../library/codecs.rst:1198 -msgid "hzgb, hz-gb, hz-gb-2312" -msgstr "hzgb, hz-gb, hz-gb-2312" - -#: ../../library/codecs.rst:1200 -msgid "iso2022_jp" -msgstr "iso2022_jp" - -#: ../../library/codecs.rst:1200 -msgid "csiso2022jp, iso2022jp, iso-2022-jp" -msgstr "csiso2022jp, iso2022jp, iso-2022-jp" - -#: ../../library/codecs.rst:1203 -msgid "iso2022_jp_1" -msgstr "iso2022_jp_1" - -#: ../../library/codecs.rst:1203 -msgid "iso2022jp-1, iso-2022-jp-1" -msgstr "iso2022jp-1, iso-2022-jp-1" - -#: ../../library/codecs.rst:1205 -msgid "iso2022_jp_2" -msgstr "iso2022_jp_2" - -#: ../../library/codecs.rst:1205 -msgid "iso2022jp-2, iso-2022-jp-2" -msgstr "iso2022jp-2, iso-2022-jp-2" - -#: ../../library/codecs.rst:1205 -msgid "Japanese, Korean, Simplified Chinese, Western Europe, Greek" -msgstr "" -"Bahasa Jepang, Korea, Cina Disederhanakan *Simplified*, Eropa Barat, Yunani" - -#: ../../library/codecs.rst:1208 -msgid "iso2022_jp_2004" -msgstr "iso2022_jp_2004" - -#: ../../library/codecs.rst:1208 -msgid "iso2022jp-2004, iso-2022-jp-2004" -msgstr "iso2022jp-2004, iso-2022-jp-2004" - -#: ../../library/codecs.rst:1211 -msgid "iso2022_jp_3" -msgstr "iso2022_jp_3" - -#: ../../library/codecs.rst:1211 -msgid "iso2022jp-3, iso-2022-jp-3" -msgstr "iso2022jp-3, iso-2022-jp-3" - -#: ../../library/codecs.rst:1213 -msgid "iso2022_jp_ext" -msgstr "iso2022_jp_ext" - -#: ../../library/codecs.rst:1213 -msgid "iso2022jp-ext, iso-2022-jp-ext" -msgstr "iso2022jp-ext, iso-2022-jp-ext" - -#: ../../library/codecs.rst:1215 -msgid "iso2022_kr" -msgstr "iso2022_kr" - -#: ../../library/codecs.rst:1215 -msgid "csiso2022kr, iso2022kr, iso-2022-kr" -msgstr "csiso2022kr, iso2022kr, iso-2022-kr" - -#: ../../library/codecs.rst:1218 -msgid "latin_1" -msgstr "latin_1" - -#: ../../library/codecs.rst:1218 -msgid "iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1" -msgstr "iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1" - -#: ../../library/codecs.rst:1221 -msgid "iso8859_2" -msgstr "iso8859_2" - -#: ../../library/codecs.rst:1221 -msgid "iso-8859-2, latin2, L2" -msgstr "iso-8859-2, latin2, L2" - -#: ../../library/codecs.rst:1223 -msgid "iso8859_3" -msgstr "iso8859_3" - -#: ../../library/codecs.rst:1223 -msgid "iso-8859-3, latin3, L3" -msgstr "iso-8859-3, latin3, L3" - -#: ../../library/codecs.rst:1223 -msgid "Esperanto, Maltese" -msgstr "Esperanto, Maltese" - -#: ../../library/codecs.rst:1225 -msgid "iso8859_4" -msgstr "iso8859_4" - -#: ../../library/codecs.rst:1225 -msgid "iso-8859-4, latin4, L4" -msgstr "iso-8859-4, latin4, L4" - -#: ../../library/codecs.rst:1227 -msgid "iso8859_5" -msgstr "iso8859_5" - -#: ../../library/codecs.rst:1227 -msgid "iso-8859-5, cyrillic" -msgstr "iso-8859-5, cyrillic" - -#: ../../library/codecs.rst:1230 -msgid "iso8859_6" -msgstr "iso8859_6" - -#: ../../library/codecs.rst:1230 -msgid "iso-8859-6, arabic" -msgstr "iso-8859-6, arabic" - -#: ../../library/codecs.rst:1232 -msgid "iso8859_7" -msgstr "iso8859_7" - -#: ../../library/codecs.rst:1232 -msgid "iso-8859-7, greek, greek8" -msgstr "iso-8859-7, greek, greek8" - -#: ../../library/codecs.rst:1234 -msgid "iso8859_8" -msgstr "iso8859_8" - -#: ../../library/codecs.rst:1234 -msgid "iso-8859-8, hebrew" -msgstr "iso-8859-8, hebrew" - -#: ../../library/codecs.rst:1236 -msgid "iso8859_9" -msgstr "iso8859_9" - -#: ../../library/codecs.rst:1236 -msgid "iso-8859-9, latin5, L5" -msgstr "iso-8859-9, latin5, L5" - -#: ../../library/codecs.rst:1238 -msgid "iso8859_10" -msgstr "iso8859_10" - -#: ../../library/codecs.rst:1238 -msgid "iso-8859-10, latin6, L6" -msgstr "iso-8859-10, latin6, L6" - -#: ../../library/codecs.rst:1238 -msgid "Nordic languages" -msgstr "Bahasa Nordik" - -#: ../../library/codecs.rst:1240 -msgid "iso8859_11" -msgstr "iso8859_11" - -#: ../../library/codecs.rst:1240 -msgid "iso-8859-11, thai" -msgstr "iso-8859-11, thai" - -#: ../../library/codecs.rst:1240 -msgid "Thai languages" -msgstr "Bahasa Thai" - -#: ../../library/codecs.rst:1242 -msgid "iso8859_13" -msgstr "iso8859_13" - -#: ../../library/codecs.rst:1242 -msgid "iso-8859-13, latin7, L7" -msgstr "iso-8859-13, latin7, L7" - -#: ../../library/codecs.rst:1244 -msgid "iso8859_14" -msgstr "iso8859_14" - -#: ../../library/codecs.rst:1244 -msgid "iso-8859-14, latin8, L8" -msgstr "iso-8859-14, latin8, L8" - -#: ../../library/codecs.rst:1244 -msgid "Celtic languages" -msgstr "Bahasa Celtic" - -#: ../../library/codecs.rst:1246 -msgid "iso8859_15" -msgstr "iso8859_15" - -#: ../../library/codecs.rst:1246 -msgid "iso-8859-15, latin9, L9" -msgstr "iso-8859-15, latin9, L9" - -#: ../../library/codecs.rst:1248 -msgid "iso8859_16" -msgstr "iso8859_16" - -#: ../../library/codecs.rst:1248 -msgid "iso-8859-16, latin10, L10" -msgstr "iso-8859-16, latin10, L10" - -#: ../../library/codecs.rst:1248 -msgid "South-Eastern Europe" -msgstr "South-Eastern Europe" - -#: ../../library/codecs.rst:1250 -msgid "johab" -msgstr "johab" - -#: ../../library/codecs.rst:1250 -msgid "cp1361, ms1361" -msgstr "cp1361, ms1361" - -#: ../../library/codecs.rst:1252 -msgid "koi8_r" -msgstr "koi8_r" - -#: ../../library/codecs.rst:1254 -msgid "koi8_t" -msgstr "koi8_t" - -#: ../../library/codecs.rst:1254 -msgid "Tajik" -msgstr "Tajik" - -#: ../../library/codecs.rst:1258 -msgid "koi8_u" -msgstr "koi8_u" - -#: ../../library/codecs.rst:1260 -msgid "kz1048" -msgstr "kz1048" - -#: ../../library/codecs.rst:1260 -msgid "kz_1048, strk1048_2002, rk1048" -msgstr "kz_1048, strk1048_2002, rk1048" - -#: ../../library/codecs.rst:1260 ../../library/codecs.rst:1278 -msgid "Kazakh" -msgstr "Kazakh" - -#: ../../library/codecs.rst:1264 -msgid "mac_cyrillic" -msgstr "mac_cyrillic" - -#: ../../library/codecs.rst:1264 -msgid "maccyrillic" -msgstr "maccyrillic" - -#: ../../library/codecs.rst:1267 -msgid "mac_greek" -msgstr "mac_greek" - -#: ../../library/codecs.rst:1267 -msgid "macgreek" -msgstr "macgreek" - -#: ../../library/codecs.rst:1269 -msgid "mac_iceland" -msgstr "mac_iceland" - -#: ../../library/codecs.rst:1269 -msgid "maciceland" -msgstr "maciceland" - -#: ../../library/codecs.rst:1271 -msgid "mac_latin2" -msgstr "mac_latin2" - -#: ../../library/codecs.rst:1271 -msgid "maclatin2, maccentraleurope, mac_centeuro" -msgstr "" - -#: ../../library/codecs.rst:1274 -msgid "mac_roman" -msgstr "mac_roman" - -#: ../../library/codecs.rst:1274 -msgid "macroman, macintosh" -msgstr "macroman, macintosh" - -#: ../../library/codecs.rst:1276 -msgid "mac_turkish" -msgstr "mac_turkish" - -#: ../../library/codecs.rst:1276 -msgid "macturkish" -msgstr "macturkish" - -#: ../../library/codecs.rst:1278 -msgid "ptcp154" -msgstr "ptcp154" - -#: ../../library/codecs.rst:1278 -msgid "csptcp154, pt154, cp154, cyrillic-asian" -msgstr "csptcp154, pt154, cp154, cyrillic-asian" - -#: ../../library/codecs.rst:1281 -msgid "shift_jis" -msgstr "shift_jis" - -#: ../../library/codecs.rst:1281 -msgid "csshiftjis, shiftjis, sjis, s_jis" -msgstr "csshiftjis, shiftjis, sjis, s_jis" - -#: ../../library/codecs.rst:1284 -msgid "shift_jis_2004" -msgstr "shift_jis_2004" - -#: ../../library/codecs.rst:1284 -msgid "shiftjis2004, sjis_2004, sjis2004" -msgstr "shiftjis2004, sjis_2004, sjis2004" - -#: ../../library/codecs.rst:1287 -msgid "shift_jisx0213" -msgstr "shift_jisx0213" - -#: ../../library/codecs.rst:1287 -msgid "shiftjisx0213, sjisx0213, s_jisx0213" -msgstr "shiftjisx0213, sjisx0213, s_jisx0213" - -#: ../../library/codecs.rst:1290 -msgid "utf_32" -msgstr "utf_32" - -#: ../../library/codecs.rst:1290 -msgid "U32, utf32" -msgstr "U32, utf32" - -#: ../../library/codecs.rst:1290 ../../library/codecs.rst:1292 -#: ../../library/codecs.rst:1294 ../../library/codecs.rst:1296 -#: ../../library/codecs.rst:1298 ../../library/codecs.rst:1300 -#: ../../library/codecs.rst:1302 ../../library/codecs.rst:1304 -#: ../../library/codecs.rst:1306 -msgid "all languages" -msgstr "semua bahasa" - -#: ../../library/codecs.rst:1292 -msgid "utf_32_be" -msgstr "utf_32_be" - -#: ../../library/codecs.rst:1292 -msgid "UTF-32BE" -msgstr "UTF-32BE" - -#: ../../library/codecs.rst:1294 -msgid "utf_32_le" -msgstr "utf_32_le" - -#: ../../library/codecs.rst:1294 -msgid "UTF-32LE" -msgstr "UTF-32LE" - -#: ../../library/codecs.rst:1296 -msgid "utf_16" -msgstr "utf_16" - -#: ../../library/codecs.rst:1296 -msgid "U16, utf16" -msgstr "U16, utf16" - -#: ../../library/codecs.rst:1298 -msgid "utf_16_be" -msgstr "utf_16_be" - -#: ../../library/codecs.rst:1298 -msgid "UTF-16BE" -msgstr "UTF-16BE" - -#: ../../library/codecs.rst:1300 -msgid "utf_16_le" -msgstr "utf_16_le" - -#: ../../library/codecs.rst:1300 -msgid "UTF-16LE" -msgstr "UTF-16LE" - -#: ../../library/codecs.rst:1302 -msgid "utf_7" -msgstr "utf_7" - -#: ../../library/codecs.rst:1302 -msgid "U7, unicode-1-1-utf-7" -msgstr "U7, unicode-1-1-utf-7" - -#: ../../library/codecs.rst:1304 -msgid "utf_8" -msgstr "utf_8" - -#: ../../library/codecs.rst:1304 -msgid "U8, UTF, utf8, cp65001" -msgstr "U8, UTF, utf8, cp65001" - -#: ../../library/codecs.rst:1306 -msgid "utf_8_sig" -msgstr "utf_8_sig" - -#: ../../library/codecs.rst:1309 -msgid "" -"The utf-16\\* and utf-32\\* encoders no longer allow surrogate code points " -"(``U+D800``--``U+DFFF``) to be encoded. The utf-32\\* decoders no longer " -"decode byte sequences that correspond to surrogate code points." -msgstr "" - -#: ../../library/codecs.rst:1315 -msgid "``cp65001`` is now an alias to ``utf_8``." -msgstr "" - -#: ../../library/codecs.rst:1318 -msgid "On Windows, ``cpXXX`` codecs are now available for all code pages." -msgstr "" - -#: ../../library/codecs.rst:1323 -msgid "Python Specific Encodings" -msgstr "" - -#: ../../library/codecs.rst:1325 -msgid "" -"A number of predefined codecs are specific to Python, so their codec names " -"have no meaning outside Python. These are listed in the tables below based " -"on the expected input and output types (note that while text encodings are " -"the most common use case for codecs, the underlying codec infrastructure " -"supports arbitrary data transforms rather than just text encodings). For " -"asymmetric codecs, the stated meaning describes the encoding direction." -msgstr "" - -#: ../../library/codecs.rst:1333 -msgid "Text Encodings" -msgstr "" - -#: ../../library/codecs.rst:1335 -msgid "" -"The following codecs provide :class:`str` to :class:`bytes` encoding and " -":term:`bytes-like object` to :class:`str` decoding, similar to the Unicode " -"text encodings." -msgstr "" - -#: ../../library/codecs.rst:1344 -msgid "idna" -msgstr "idna" - -#: ../../library/codecs.rst:1344 -msgid "" -"Implement :rfc:`3490`, see also :mod:`encodings.idna`. Only " -"``errors='strict'`` is supported." -msgstr "" - -#: ../../library/codecs.rst:1350 -msgid "mbcs" -msgstr "mbcs" - -#: ../../library/codecs.rst:1350 -msgid "ansi, dbcs" -msgstr "" - -#: ../../library/codecs.rst:1350 -msgid "" -"Windows only: Encode the operand according to the ANSI codepage (CP_ACP)." -msgstr "" - -#: ../../library/codecs.rst:1354 -msgid "oem" -msgstr "oem" - -#: ../../library/codecs.rst:1354 -msgid "" -"Windows only: Encode the operand according to the OEM codepage (CP_OEMCP)." -msgstr "" - -#: ../../library/codecs.rst:1360 -msgid "palmos" -msgstr "" - -#: ../../library/codecs.rst:1360 -msgid "Encoding of PalmOS 3.5." -msgstr "" - -#: ../../library/codecs.rst:1362 -msgid "punycode" -msgstr "" - -#: ../../library/codecs.rst:1362 -msgid "Implement :rfc:`3492`. Stateful codecs are not supported." -msgstr "" - -#: ../../library/codecs.rst:1366 -msgid "raw_unicode_escape" -msgstr "" - -#: ../../library/codecs.rst:1366 -msgid "" -"Latin-1 encoding with :samp:`\\\\u{XXXX}` and :samp:`\\\\U{XXXXXXXX}` for " -"other code points. Existing backslashes are not escaped in any way. It is " -"used in the Python pickle protocol." -msgstr "" - -#: ../../library/codecs.rst:1376 -msgid "undefined" -msgstr "tidak terdefinisi" - -#: ../../library/codecs.rst:1376 -msgid "" -"Raise an exception for all conversions, even empty strings. The error " -"handler is ignored." -msgstr "" - -#: ../../library/codecs.rst:1381 -msgid "unicode_escape" -msgstr "" - -#: ../../library/codecs.rst:1381 -msgid "" -"Encoding suitable as the contents of a Unicode literal in ASCII-encoded " -"Python source code, except that quotes are not escaped. Decode from Latin-1 " -"source code. Beware that Python source code actually uses UTF-8 by default." -msgstr "" - -#: ../../library/codecs.rst:1393 -msgid "\"unicode_internal\" codec is removed." -msgstr "" - -#: ../../library/codecs.rst:1400 -msgid "Binary Transforms" -msgstr "" - -#: ../../library/codecs.rst:1402 -msgid "" -"The following codecs provide binary transforms: :term:`bytes-like object` to" -" :class:`bytes` mappings. They are not supported by :meth:`bytes.decode` " -"(which only produces :class:`str` output)." -msgstr "" - -#: ../../library/codecs.rst:1410 -msgid "Encoder / decoder" -msgstr "" - -#: ../../library/codecs.rst:1412 -msgid "base64_codec [#b64]_" -msgstr "base64_codec [#b64]_" - -#: ../../library/codecs.rst:1412 -msgid "base64, base_64" -msgstr "base64, base_64" - -#: ../../library/codecs.rst:1412 -msgid "" -"Convert the operand to multiline MIME base64 (the result always includes a " -"trailing ``'\\n'``)." -msgstr "" - -#: ../../library/codecs.rst:1417 -msgid "" -"accepts any :term:`bytes-like object` as input for encoding and decoding" -msgstr "" - -#: ../../library/codecs.rst:1412 -msgid ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" -msgstr "" - -#: ../../library/codecs.rst:1423 -msgid "bz2_codec" -msgstr "bz2_codec" - -#: ../../library/codecs.rst:1423 -msgid "bz2" -msgstr "bz2" - -#: ../../library/codecs.rst:1423 -msgid "Compress the operand using bz2." -msgstr "" - -#: ../../library/codecs.rst:1423 -msgid ":meth:`bz2.compress` / :meth:`bz2.decompress`" -msgstr "" - -#: ../../library/codecs.rst:1426 -msgid "hex_codec" -msgstr "hex_codec" - -#: ../../library/codecs.rst:1426 -msgid "hex" -msgstr "hex" - -#: ../../library/codecs.rst:1426 -msgid "" -"Convert the operand to hexadecimal representation, with two digits per byte." -msgstr "" - -#: ../../library/codecs.rst:1426 -msgid ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" -msgstr "" - -#: ../../library/codecs.rst:1431 -msgid "quopri_codec" -msgstr "quopri_codec" - -#: ../../library/codecs.rst:1431 -msgid "quopri, quotedprintable, quoted_printable" -msgstr "quopri, quotedprintable, quoted_printable" - -#: ../../library/codecs.rst:1431 -msgid "Convert the operand to MIME quoted printable." -msgstr "" - -#: ../../library/codecs.rst:1431 -msgid ":meth:`quopri.encode` with ``quotetabs=True`` / :meth:`quopri.decode`" -msgstr "" - -#: ../../library/codecs.rst:1435 -msgid "uu_codec" -msgstr "uu_codec" - -#: ../../library/codecs.rst:1435 -msgid "uu" -msgstr "uu" - -#: ../../library/codecs.rst:1435 -msgid "Convert the operand using uuencode." -msgstr "" - -#: ../../library/codecs.rst:1438 -msgid "zlib_codec" -msgstr "zlib_codec" - -#: ../../library/codecs.rst:1438 -msgid "zip, zlib" -msgstr "zip, zlib" - -#: ../../library/codecs.rst:1438 -msgid "Compress the operand using gzip." -msgstr "" - -#: ../../library/codecs.rst:1438 -msgid ":meth:`zlib.compress` / :meth:`zlib.decompress`" -msgstr ":meth:`zlib.compress` / :meth:`zlib.decompress`" - -#: ../../library/codecs.rst:1442 -msgid "" -"In addition to :term:`bytes-like objects `, " -"``'base64_codec'`` also accepts ASCII-only instances of :class:`str` for " -"decoding" -msgstr "" - -#: ../../library/codecs.rst:1446 -msgid "Restoration of the binary transforms." -msgstr "" - -#: ../../library/codecs.rst:1449 -msgid "Restoration of the aliases for the binary transforms." -msgstr "" - -#: ../../library/codecs.rst:1456 -msgid "Text Transforms" -msgstr "" - -#: ../../library/codecs.rst:1458 -msgid "" -"The following codec provides a text transform: a :class:`str` to " -":class:`str` mapping. It is not supported by :meth:`str.encode` (which only " -"produces :class:`bytes` output)." -msgstr "" - -#: ../../library/codecs.rst:1467 -msgid "rot_13" -msgstr "rot_13" - -#: ../../library/codecs.rst:1467 -msgid "rot13" -msgstr "rot13" - -#: ../../library/codecs.rst:1467 -msgid "Return the Caesar-cypher encryption of the operand." -msgstr "" - -#: ../../library/codecs.rst:1472 -msgid "Restoration of the ``rot_13`` text transform." -msgstr "" - -#: ../../library/codecs.rst:1475 -msgid "Restoration of the ``rot13`` alias." -msgstr "" - -#: ../../library/codecs.rst:1480 -msgid "" -":mod:`encodings.idna` --- Internationalized Domain Names in Applications" -msgstr "" - -#: ../../library/codecs.rst:1486 -msgid "" -"This module implements :rfc:`3490` (Internationalized Domain Names in " -"Applications) and :rfc:`3492` (Nameprep: A Stringprep Profile for " -"Internationalized Domain Names (IDN)). It builds upon the ``punycode`` " -"encoding and :mod:`stringprep`." -msgstr "" - -#: ../../library/codecs.rst:1491 -msgid "" -"If you need the IDNA 2008 standard from :rfc:`5891` and :rfc:`5895`, use the" -" third-party :pypi:`idna` module." -msgstr "" - -#: ../../library/codecs.rst:1494 -msgid "" -"These RFCs together define a protocol to support non-ASCII characters in " -"domain names. A domain name containing non-ASCII characters (such as " -"``www.Alliancefrançaise.nu``) is converted into an ASCII-compatible encoding" -" (ACE, such as ``www.xn--alliancefranaise-npb.nu``). The ACE form of the " -"domain name is then used in all places where arbitrary characters are not " -"allowed by the protocol, such as DNS queries, HTTP :mailheader:`Host` " -"fields, and so on. This conversion is carried out in the application; if " -"possible invisible to the user: The application should transparently convert" -" Unicode domain labels to IDNA on the wire, and convert back ACE labels to " -"Unicode before presenting them to the user." -msgstr "" - -#: ../../library/codecs.rst:1505 -msgid "" -"Python supports this conversion in several ways: the ``idna`` codec " -"performs conversion between Unicode and ACE, separating an input string into" -" labels based on the separator characters defined in :rfc:`section 3.1 of " -"RFC 3490 <3490#section-3.1>` and converting each label to ACE as required, " -"and conversely separating an input byte string into labels based on the " -"``.`` separator and converting any ACE labels found into unicode. " -"Furthermore, the :mod:`socket` module transparently converts Unicode host " -"names to ACE, so that applications need not be concerned about converting " -"host names themselves when they pass them to the socket module. On top of " -"that, modules that have host names as function parameters, such as " -":mod:`http.client` and :mod:`ftplib`, accept Unicode host names " -"(:mod:`http.client` then also transparently sends an IDNA hostname in the " -":mailheader:`Host` field if it sends that field at all)." -msgstr "" - -#: ../../library/codecs.rst:1518 -msgid "" -"When receiving host names from the wire (such as in reverse name lookup), no" -" automatic conversion to Unicode is performed: applications wishing to " -"present such host names to the user should decode them to Unicode." -msgstr "" - -#: ../../library/codecs.rst:1522 -msgid "" -"The module :mod:`encodings.idna` also implements the nameprep procedure, " -"which performs certain normalizations on host names, to achieve case-" -"insensitivity of international domain names, and to unify similar " -"characters. The nameprep functions can be used directly if desired." -msgstr "" - -#: ../../library/codecs.rst:1530 -msgid "" -"Return the nameprepped version of *label*. The implementation currently " -"assumes query strings, so ``AllowUnassigned`` is true." -msgstr "" - -#: ../../library/codecs.rst:1536 -msgid "" -"Convert a label to ASCII, as specified in :rfc:`3490`. ``UseSTD3ASCIIRules``" -" is assumed to be false." -msgstr "" - -#: ../../library/codecs.rst:1542 -msgid "Convert a label to Unicode, as specified in :rfc:`3490`." -msgstr "" - -#: ../../library/codecs.rst:1546 -msgid ":mod:`encodings.mbcs` --- Windows ANSI codepage" -msgstr "" - -#: ../../library/codecs.rst:1551 -msgid "This module implements the ANSI codepage (CP_ACP)." -msgstr "" - -#: ../../library/codecs.rst:1553 -msgid "Availability" -msgstr "" - -#: ../../library/codecs.rst:1555 -msgid "" -"Before 3.2, the *errors* argument was ignored; ``'replace'`` was always used" -" to encode, and ``'ignore'`` to decode." -msgstr "" - -#: ../../library/codecs.rst:1559 -msgid "Support any error handler." -msgstr "" - -#: ../../library/codecs.rst:1564 -msgid ":mod:`encodings.utf_8_sig` --- UTF-8 codec with BOM signature" -msgstr "" - -#: ../../library/codecs.rst:1570 -msgid "" -"This module implements a variant of the UTF-8 codec. On encoding, a UTF-8 " -"encoded BOM will be prepended to the UTF-8 encoded bytes. For the stateful " -"encoder this is only done once (on the first write to the byte stream). On " -"decoding, an optional UTF-8 encoded BOM at the start of the data will be " -"skipped." -msgstr "" - -#: ../../library/codecs.rst:13 -msgid "Unicode" -msgstr "" - -#: ../../library/codecs.rst:13 -msgid "encode" -msgstr "" - -#: ../../library/codecs.rst:13 -msgid "decode" -msgstr "" - -#: ../../library/codecs.rst:13 -msgid "streams" -msgstr "" - -#: ../../library/codecs.rst:13 -msgid "stackable" -msgstr "" - -#: ../../library/codecs.rst:316 -msgid "strict" -msgstr "" - -#: ../../library/codecs.rst:316 ../../library/codecs.rst:368 -#: ../../library/codecs.rst:391 -msgid "error handler's name" -msgstr "" - -#: ../../library/codecs.rst:316 -msgid "ignore" -msgstr "" - -#: ../../library/codecs.rst:316 -msgid "replace" -msgstr "" - -#: ../../library/codecs.rst:316 -msgid "backslashreplace" -msgstr "" - -#: ../../library/codecs.rst:316 -msgid "surrogateescape" -msgstr "" - -#: ../../library/codecs.rst:316 -msgid "? (question mark)" -msgstr "" - -#: ../../library/codecs.rst:316 -msgid "replacement character" -msgstr "" - -#: ../../library/codecs.rst:316 -msgid "\\ (backslash)" -msgstr "" - -#: ../../library/codecs.rst:316 ../../library/codecs.rst:368 -msgid "escape sequence" -msgstr "" - -#: ../../library/codecs.rst:316 -msgid "\\x" -msgstr "" - -#: ../../library/codecs.rst:316 -msgid "\\u" -msgstr "" - -#: ../../library/codecs.rst:316 -msgid "\\U" -msgstr "" - -#: ../../library/codecs.rst:368 -msgid "xmlcharrefreplace" -msgstr "" - -#: ../../library/codecs.rst:368 -msgid "namereplace" -msgstr "" - -#: ../../library/codecs.rst:391 -msgid "surrogatepass" -msgstr "" diff --git a/python-newest.library--codeop/id.po b/python-newest.library--codeop/id.po deleted file mode 100644 index ebf3fb4..0000000 --- a/python-newest.library--codeop/id.po +++ /dev/null @@ -1,112 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/codeop.rst:2 -msgid ":mod:`!codeop` --- Compile Python code" -msgstr "" - -#: ../../library/codeop.rst:10 -msgid "**Source code:** :source:`Lib/codeop.py`" -msgstr "" - -#: ../../library/codeop.rst:14 -msgid "" -"The :mod:`codeop` module provides utilities upon which the Python read-eval-" -"print loop can be emulated, as is done in the :mod:`code` module. As a " -"result, you probably don't want to use the module directly; if you want to " -"include such a loop in your program you probably want to use the :mod:`code`" -" module instead." -msgstr "" - -#: ../../library/codeop.rst:20 -msgid "There are two parts to this job:" -msgstr "" - -#: ../../library/codeop.rst:22 -msgid "" -"Being able to tell if a line of input completes a Python statement: in " -"short, telling whether to print '``>>>``' or '``...``' next." -msgstr "" - -#: ../../library/codeop.rst:25 -msgid "" -"Remembering which future statements the user has entered, so subsequent " -"input can be compiled with these in effect." -msgstr "" - -#: ../../library/codeop.rst:28 -msgid "" -"The :mod:`codeop` module provides a way of doing each of these things, and a" -" way of doing them both." -msgstr "" - -#: ../../library/codeop.rst:31 -msgid "To do just the former:" -msgstr "" - -#: ../../library/codeop.rst:35 -msgid "" -"Tries to compile *source*, which should be a string of Python code and " -"return a code object if *source* is valid Python code. In that case, the " -"filename attribute of the code object will be *filename*, which defaults to " -"``''``. Returns ``None`` if *source* is *not* valid Python code, but" -" is a prefix of valid Python code." -msgstr "" - -#: ../../library/codeop.rst:41 -msgid "" -"If there is a problem with *source*, an exception will be raised. " -":exc:`SyntaxError` is raised if there is invalid Python syntax, and " -":exc:`OverflowError` or :exc:`ValueError` if there is an invalid literal." -msgstr "" - -#: ../../library/codeop.rst:45 -msgid "" -"The *symbol* argument determines whether *source* is compiled as a statement" -" (``'single'``, the default), as a sequence of :term:`statement` " -"(``'exec'``) or as an :term:`expression` (``'eval'``). Any other value will" -" cause :exc:`ValueError` to be raised." -msgstr "" - -#: ../../library/codeop.rst:52 -msgid "" -"It is possible (but not likely) that the parser stops parsing with a " -"successful outcome before reaching the end of the source; in this case, " -"trailing symbols may be ignored instead of causing an error. For example, a" -" backslash followed by two newlines may be followed by arbitrary garbage. " -"This will be fixed once the API for the parser is better." -msgstr "" - -#: ../../library/codeop.rst:61 -msgid "" -"Instances of this class have :meth:`~object.__call__` methods identical in " -"signature to the built-in function :func:`compile`, but with the difference " -"that if the instance compiles program text containing a :mod:`__future__` " -"statement, the instance 'remembers' and compiles all subsequent program " -"texts with the statement in force." -msgstr "" - -#: ../../library/codeop.rst:70 -msgid "" -"Instances of this class have :meth:`~object.__call__` methods identical in " -"signature to :func:`compile_command`; the difference is that if the instance" -" compiles program text containing a :mod:`__future__` statement, the " -"instance 'remembers' and compiles all subsequent program texts with the " -"statement in force." -msgstr "" diff --git a/python-newest.library--collections/id.po b/python-newest.library--collections/id.po deleted file mode 100644 index fb251cb..0000000 --- a/python-newest.library--collections/id.po +++ /dev/null @@ -1,1769 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/collections.rst:2 -msgid ":mod:`!collections` --- Container datatypes" -msgstr "" - -#: ../../library/collections.rst:10 -msgid "**Source code:** :source:`Lib/collections/__init__.py`" -msgstr "" - -#: ../../library/collections.rst:20 -msgid "" -"This module implements specialized container datatypes providing " -"alternatives to Python's general purpose built-in containers, :class:`dict`," -" :class:`list`, :class:`set`, and :class:`tuple`." -msgstr "" - -#: ../../library/collections.rst:25 -msgid ":func:`namedtuple`" -msgstr "" - -#: ../../library/collections.rst:25 -msgid "factory function for creating tuple subclasses with named fields" -msgstr "" - -#: ../../library/collections.rst:26 -msgid ":class:`deque`" -msgstr ":class:`deque`" - -#: ../../library/collections.rst:26 -msgid "list-like container with fast appends and pops on either end" -msgstr "" - -#: ../../library/collections.rst:27 -msgid ":class:`ChainMap`" -msgstr ":class:`ChainMap`" - -#: ../../library/collections.rst:27 -msgid "dict-like class for creating a single view of multiple mappings" -msgstr "" - -#: ../../library/collections.rst:28 -msgid ":class:`Counter`" -msgstr ":class:`Counter`" - -#: ../../library/collections.rst:28 -msgid "dict subclass for counting :term:`hashable` objects" -msgstr "" - -#: ../../library/collections.rst:29 -msgid ":class:`OrderedDict`" -msgstr ":class:`OrderedDict`" - -#: ../../library/collections.rst:29 -msgid "dict subclass that remembers the order entries were added" -msgstr "" - -#: ../../library/collections.rst:30 -msgid ":class:`defaultdict`" -msgstr ":class:`defaultdict`" - -#: ../../library/collections.rst:30 -msgid "dict subclass that calls a factory function to supply missing values" -msgstr "" - -#: ../../library/collections.rst:31 -msgid ":class:`UserDict`" -msgstr ":class:`UserDict`" - -#: ../../library/collections.rst:31 -msgid "wrapper around dictionary objects for easier dict subclassing" -msgstr "" - -#: ../../library/collections.rst:32 -msgid ":class:`UserList`" -msgstr ":class:`UserList`" - -#: ../../library/collections.rst:32 -msgid "wrapper around list objects for easier list subclassing" -msgstr "" - -#: ../../library/collections.rst:33 -msgid ":class:`UserString`" -msgstr ":class:`UserString`" - -#: ../../library/collections.rst:33 -msgid "wrapper around string objects for easier string subclassing" -msgstr "" - -#: ../../library/collections.rst:38 -msgid ":class:`ChainMap` objects" -msgstr "objek :class:`ChainMap`" - -#: ../../library/collections.rst:42 -msgid "" -"A :class:`ChainMap` class is provided for quickly linking a number of " -"mappings so they can be treated as a single unit. It is often much faster " -"than creating a new dictionary and running multiple :meth:`~dict.update` " -"calls." -msgstr "" - -#: ../../library/collections.rst:46 -msgid "" -"The class can be used to simulate nested scopes and is useful in templating." -msgstr "" - -#: ../../library/collections.rst:50 -msgid "" -"A :class:`ChainMap` groups multiple dicts or other mappings together to " -"create a single, updateable view. If no *maps* are specified, a single " -"empty dictionary is provided so that a new chain always has at least one " -"mapping." -msgstr "" - -#: ../../library/collections.rst:54 -msgid "" -"The underlying mappings are stored in a list. That list is public and can " -"be accessed or updated using the *maps* attribute. There is no other state." -msgstr "" - -#: ../../library/collections.rst:57 -msgid "" -"Lookups search the underlying mappings successively until a key is found. " -"In contrast, writes, updates, and deletions only operate on the first " -"mapping." -msgstr "" - -#: ../../library/collections.rst:60 -msgid "" -"A :class:`ChainMap` incorporates the underlying mappings by reference. So, " -"if one of the underlying mappings gets updated, those changes will be " -"reflected in :class:`ChainMap`." -msgstr "" - -#: ../../library/collections.rst:64 -msgid "" -"All of the usual dictionary methods are supported. In addition, there is a " -"*maps* attribute, a method for creating new subcontexts, and a property for " -"accessing all but the first mapping:" -msgstr "" - -#: ../../library/collections.rst:70 -msgid "" -"A user updateable list of mappings. The list is ordered from first-searched" -" to last-searched. It is the only stored state and can be modified to " -"change which mappings are searched. The list should always contain at least" -" one mapping." -msgstr "" - -#: ../../library/collections.rst:77 -msgid "" -"Returns a new :class:`ChainMap` containing a new map followed by all of the " -"maps in the current instance. If ``m`` is specified, it becomes the new map" -" at the front of the list of mappings; if not specified, an empty dict is " -"used, so that a call to ``d.new_child()`` is equivalent to: ``ChainMap({}, " -"*d.maps)``. If any keyword arguments are specified, they update passed map " -"or new empty dict. This method is used for creating subcontexts that can be " -"updated without altering values in any of the parent mappings." -msgstr "" - -#: ../../library/collections.rst:86 -msgid "The optional ``m`` parameter was added." -msgstr "" - -#: ../../library/collections.rst:89 -msgid "Keyword arguments support was added." -msgstr "" - -#: ../../library/collections.rst:94 -msgid "" -"Property returning a new :class:`ChainMap` containing all of the maps in the" -" current instance except the first one. This is useful for skipping the " -"first map in the search. Use cases are similar to those for the " -":keyword:`nonlocal` keyword used in :term:`nested scopes `. " -"The use cases also parallel those for the built-in :func:`super` function. " -"A reference to ``d.parents`` is equivalent to: ``ChainMap(*d.maps[1:])``." -msgstr "" - -#: ../../library/collections.rst:102 -msgid "" -"Note, the iteration order of a :class:`ChainMap` is determined by scanning " -"the mappings last to first::" -msgstr "" - -#: ../../library/collections.rst:105 -msgid "" -">>> baseline = {'music': 'bach', 'art': 'rembrandt'}\n" -">>> adjustments = {'art': 'van gogh', 'opera': 'carmen'}\n" -">>> list(ChainMap(adjustments, baseline))\n" -"['music', 'art', 'opera']" -msgstr "" - -#: ../../library/collections.rst:110 -msgid "" -"This gives the same ordering as a series of :meth:`dict.update` calls " -"starting with the last mapping::" -msgstr "" - -#: ../../library/collections.rst:113 -msgid "" -">>> combined = baseline.copy()\n" -">>> combined.update(adjustments)\n" -">>> list(combined)\n" -"['music', 'art', 'opera']" -msgstr "" - -#: ../../library/collections.rst:118 -msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." -msgstr "" - -#: ../../library/collections.rst:123 -msgid "" -"The `MultiContext class " -"`_" -" in the Enthought `CodeTools package " -"`_ has options to support writing to" -" any mapping in the chain." -msgstr "" - -#: ../../library/collections.rst:129 -msgid "" -"Django's `Context class " -"`_ " -"for templating is a read-only chain of mappings. It also features pushing " -"and popping of contexts similar to the " -":meth:`~collections.ChainMap.new_child` method and the " -":attr:`~collections.ChainMap.parents` property." -msgstr "" - -#: ../../library/collections.rst:136 -msgid "" -"The `Nested Contexts recipe " -"`_ has options to control whether writes and other " -"mutations apply only to the first mapping or to any mapping in the chain." -msgstr "" - -#: ../../library/collections.rst:141 -msgid "" -"A `greatly simplified read-only version of Chainmap " -"`_." -msgstr "" - -#: ../../library/collections.rst:146 -msgid ":class:`ChainMap` Examples and Recipes" -msgstr "" - -#: ../../library/collections.rst:148 -msgid "This section shows various approaches to working with chained maps." -msgstr "" - -#: ../../library/collections.rst:151 -msgid "Example of simulating Python's internal lookup chain::" -msgstr "" - -#: ../../library/collections.rst:153 -msgid "" -"import builtins\n" -"pylookup = ChainMap(locals(), globals(), vars(builtins))" -msgstr "" - -#: ../../library/collections.rst:156 -msgid "" -"Example of letting user specified command-line arguments take precedence " -"over environment variables which in turn take precedence over default " -"values::" -msgstr "" - -#: ../../library/collections.rst:159 -msgid "" -"import os, argparse\n" -"\n" -"defaults = {'color': 'red', 'user': 'guest'}\n" -"\n" -"parser = argparse.ArgumentParser()\n" -"parser.add_argument('-u', '--user')\n" -"parser.add_argument('-c', '--color')\n" -"namespace = parser.parse_args()\n" -"command_line_args = {k: v for k, v in vars(namespace).items() if v is not None}\n" -"\n" -"combined = ChainMap(command_line_args, os.environ, defaults)\n" -"print(combined['color'])\n" -"print(combined['user'])" -msgstr "" - -#: ../../library/collections.rst:173 -msgid "" -"Example patterns for using the :class:`ChainMap` class to simulate nested " -"contexts::" -msgstr "" - -#: ../../library/collections.rst:176 -msgid "" -"c = ChainMap() # Create root context\n" -"d = c.new_child() # Create nested child context\n" -"e = c.new_child() # Child of c, independent from d\n" -"e.maps[0] # Current context dictionary -- like Python's locals()\n" -"e.maps[-1] # Root context -- like Python's globals()\n" -"e.parents # Enclosing context chain -- like Python's nonlocals\n" -"\n" -"d['x'] = 1 # Set value in current context\n" -"d['x'] # Get first key in the chain of contexts\n" -"del d['x'] # Delete from current context\n" -"list(d) # All nested values\n" -"k in d # Check all nested values\n" -"len(d) # Number of nested values\n" -"d.items() # All nested items\n" -"dict(d) # Flatten into a regular dictionary" -msgstr "" - -#: ../../library/collections.rst:192 -msgid "" -"The :class:`ChainMap` class only makes updates (writes and deletions) to the" -" first mapping in the chain while lookups will search the full chain. " -"However, if deep writes and deletions are desired, it is easy to make a " -"subclass that updates keys found deeper in the chain::" -msgstr "" - -#: ../../library/collections.rst:197 -msgid "" -"class DeepChainMap(ChainMap):\n" -" 'Variant of ChainMap that allows direct updates to inner scopes'\n" -"\n" -" def __setitem__(self, key, value):\n" -" for mapping in self.maps:\n" -" if key in mapping:\n" -" mapping[key] = value\n" -" return\n" -" self.maps[0][key] = value\n" -"\n" -" def __delitem__(self, key):\n" -" for mapping in self.maps:\n" -" if key in mapping:\n" -" del mapping[key]\n" -" return\n" -" raise KeyError(key)\n" -"\n" -">>> d = DeepChainMap({'zebra': 'black'}, {'elephant': 'blue'}, {'lion': 'yellow'})\n" -">>> d['lion'] = 'orange' # update an existing key two levels down\n" -">>> d['snake'] = 'red' # new keys get added to the topmost dict\n" -">>> del d['elephant'] # remove an existing key one level down\n" -">>> d # display result\n" -"DeepChainMap({'zebra': 'black', 'snake': 'red'}, {}, {'lion': 'orange'})" -msgstr "" - -#: ../../library/collections.rst:223 -msgid ":class:`Counter` objects" -msgstr "objek :class:`Counter`" - -#: ../../library/collections.rst:225 -msgid "" -"A counter tool is provided to support convenient and rapid tallies. For " -"example::" -msgstr "" - -#: ../../library/collections.rst:228 -msgid "" -">>> # Tally occurrences of words in a list\n" -">>> cnt = Counter()\n" -">>> for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']:\n" -"... cnt[word] += 1\n" -"...\n" -">>> cnt\n" -"Counter({'blue': 3, 'red': 2, 'green': 1})\n" -"\n" -">>> # Find the ten most common words in Hamlet\n" -">>> import re\n" -">>> words = re.findall(r'\\w+', open('hamlet.txt').read().lower())\n" -">>> Counter(words).most_common(10)\n" -"[('the', 1143), ('and', 966), ('to', 762), ('of', 669), ('i', 631),\n" -" ('you', 554), ('a', 546), ('my', 514), ('hamlet', 471), ('in', 451)]" -msgstr "" - -#: ../../library/collections.rst:245 -msgid "" -"A :class:`Counter` is a :class:`dict` subclass for counting :term:`hashable`" -" objects. It is a collection where elements are stored as dictionary keys " -"and their counts are stored as dictionary values. Counts are allowed to be " -"any integer value including zero or negative counts. The :class:`Counter` " -"class is similar to bags or multisets in other languages." -msgstr "" - -#: ../../library/collections.rst:251 -msgid "" -"Elements are counted from an *iterable* or initialized from another " -"*mapping* (or counter):" -msgstr "" - -#: ../../library/collections.rst:259 -msgid "" -"Counter objects have a dictionary interface except that they return a zero " -"count for missing items instead of raising a :exc:`KeyError`:" -msgstr "" - -#: ../../library/collections.rst:266 -msgid "" -"Setting a count to zero does not remove an element from a counter. Use " -"``del`` to remove it entirely:" -msgstr "" - -#: ../../library/collections.rst:274 -msgid "" -"As a :class:`dict` subclass, :class:`Counter` inherited the capability to " -"remember insertion order. Math operations on *Counter* objects also " -"preserve order. Results are ordered according to when an element is first " -"encountered in the left operand and then by the order encountered in the " -"right operand." -msgstr "" - -#: ../../library/collections.rst:280 -msgid "" -"Counter objects support additional methods beyond those available for all " -"dictionaries:" -msgstr "" - -#: ../../library/collections.rst:285 -msgid "" -"Return an iterator over elements repeating each as many times as its count." -" Elements are returned in the order first encountered. If an element's " -"count is less than one, :meth:`elements` will ignore it." -msgstr "" - -#: ../../library/collections.rst:295 -msgid "" -"Return a list of the *n* most common elements and their counts from the most" -" common to the least. If *n* is omitted or ``None``, :meth:`most_common` " -"returns *all* elements in the counter. Elements with equal counts are " -"ordered in the order first encountered:" -msgstr "" - -#: ../../library/collections.rst:305 -msgid "" -"Elements are subtracted from an *iterable* or from another *mapping* (or " -"counter). Like :meth:`dict.update` but subtracts counts instead of " -"replacing them. Both inputs and outputs may be zero or negative." -msgstr "" - -#: ../../library/collections.rst:319 -msgid "Compute the sum of the counts." -msgstr "" - -#: ../../library/collections.rst:327 -msgid "" -"The usual dictionary methods are available for :class:`Counter` objects " -"except for two which work differently for counters." -msgstr "" - -#: ../../library/collections.rst:332 -msgid "This class method is not implemented for :class:`Counter` objects." -msgstr "" - -#: ../../library/collections.rst:336 -msgid "" -"Elements are counted from an *iterable* or added-in from another *mapping* " -"(or counter). Like :meth:`dict.update` but adds counts instead of replacing" -" them. Also, the *iterable* is expected to be a sequence of elements, not a" -" sequence of ``(key, value)`` pairs." -msgstr "" - -#: ../../library/collections.rst:341 -msgid "" -"Counters support rich comparison operators for equality, subset, and " -"superset relationships: ``==``, ``!=``, ``<``, ``<=``, ``>``, ``>=``. All of" -" those tests treat missing elements as having zero counts so that " -"``Counter(a=1) == Counter(a=1, b=0)`` returns true." -msgstr "" - -#: ../../library/collections.rst:346 -msgid "Rich comparison operations were added." -msgstr "" - -#: ../../library/collections.rst:349 -msgid "" -"In equality tests, missing elements are treated as having zero counts. " -"Formerly, ``Counter(a=3)`` and ``Counter(a=3, b=0)`` were considered " -"distinct." -msgstr "" - -#: ../../library/collections.rst:354 -msgid "Common patterns for working with :class:`Counter` objects::" -msgstr "" - -#: ../../library/collections.rst:356 -msgid "" -"c.total() # total of all counts\n" -"c.clear() # reset all counts\n" -"list(c) # list unique elements\n" -"set(c) # convert to a set\n" -"dict(c) # convert to a regular dictionary\n" -"c.items() # access the (elem, cnt) pairs\n" -"Counter(dict(list_of_pairs)) # convert from a list of (elem, cnt) pairs\n" -"c.most_common()[:-n-1:-1] # n least common elements\n" -"+c # remove zero and negative counts" -msgstr "" - -#: ../../library/collections.rst:366 -msgid "" -"Several mathematical operations are provided for combining :class:`Counter` " -"objects to produce multisets (counters that have counts greater than zero). " -"Addition and subtraction combine counters by adding or subtracting the " -"counts of corresponding elements. Intersection and union return the minimum" -" and maximum of corresponding counts. Equality and inclusion compare " -"corresponding counts. Each operation can accept inputs with signed counts, " -"but the output will exclude results with counts of zero or less." -msgstr "" - -#: ../../library/collections.rst:374 -msgid "" -">>> c = Counter(a=3, b=1)\n" -">>> d = Counter(a=1, b=2)\n" -">>> c + d # add two counters together: c[x] + d[x]\n" -"Counter({'a': 4, 'b': 3})\n" -">>> c - d # subtract (keeping only positive counts)\n" -"Counter({'a': 2})\n" -">>> c & d # intersection: min(c[x], d[x])\n" -"Counter({'a': 1, 'b': 1})\n" -">>> c | d # union: max(c[x], d[x])\n" -"Counter({'a': 3, 'b': 2})\n" -">>> c == d # equality: c[x] == d[x]\n" -"False\n" -">>> c <= d # inclusion: c[x] <= d[x]\n" -"False" -msgstr "" - -#: ../../library/collections.rst:391 -msgid "" -"Unary addition and subtraction are shortcuts for adding an empty counter or " -"subtracting from an empty counter." -msgstr "" - -#: ../../library/collections.rst:400 -msgid "" -"Added support for unary plus, unary minus, and in-place multiset operations." -msgstr "" - -#: ../../library/collections.rst:405 -msgid "" -"Counters were primarily designed to work with positive integers to represent" -" running counts; however, care was taken to not unnecessarily preclude use " -"cases needing other types or negative values. To help with those use cases," -" this section documents the minimum range and type restrictions." -msgstr "" - -#: ../../library/collections.rst:410 -msgid "" -"The :class:`Counter` class itself is a dictionary subclass with no " -"restrictions on its keys and values. The values are intended to be numbers " -"representing counts, but you *could* store anything in the value field." -msgstr "" - -#: ../../library/collections.rst:414 -msgid "" -"The :meth:`~Counter.most_common` method requires only that the values be " -"orderable." -msgstr "" - -#: ../../library/collections.rst:416 -msgid "" -"For in-place operations such as ``c[key] += 1``, the value type need only " -"support addition and subtraction. So fractions, floats, and decimals would " -"work and negative values are supported. The same is also true for " -":meth:`~Counter.update` and :meth:`~Counter.subtract` which allow negative " -"and zero values for both inputs and outputs." -msgstr "" - -#: ../../library/collections.rst:422 -msgid "" -"The multiset methods are designed only for use cases with positive values. " -"The inputs may be negative or zero, but only outputs with positive values " -"are created. There are no type restrictions, but the value type needs to " -"support addition, subtraction, and comparison." -msgstr "" - -#: ../../library/collections.rst:427 -msgid "" -"The :meth:`~Counter.elements` method requires integer counts. It ignores " -"zero and negative counts." -msgstr "" - -#: ../../library/collections.rst:432 -msgid "" -"`Bag class `_ in Smalltalk." -msgstr "" - -#: ../../library/collections.rst:435 -msgid "" -"Wikipedia entry for `Multisets `_." -msgstr "" - -#: ../../library/collections.rst:437 -msgid "" -"`C++ multisets `_ tutorial with examples." -msgstr "" - -#: ../../library/collections.rst:440 -msgid "" -"For mathematical operations on multisets and their use cases, see *Knuth, " -"Donald. The Art of Computer Programming Volume II, Section 4.6.3, Exercise " -"19*." -msgstr "" - -#: ../../library/collections.rst:444 -msgid "" -"To enumerate all distinct multisets of a given size over a given set of " -"elements, see :func:`itertools.combinations_with_replacement`::" -msgstr "" - -#: ../../library/collections.rst:447 -msgid "" -"map(Counter, combinations_with_replacement('ABC', 2)) # --> AA AB AC BB BC " -"CC" -msgstr "" - -#: ../../library/collections.rst:451 -msgid ":class:`deque` objects" -msgstr "objek :class:`deque`" - -#: ../../library/collections.rst:455 -msgid "" -"Returns a new deque object initialized left-to-right (using :meth:`append`) " -"with data from *iterable*. If *iterable* is not specified, the new deque is" -" empty." -msgstr "" - -#: ../../library/collections.rst:458 -msgid "" -"Deques are a generalization of stacks and queues (the name is pronounced " -"\"deck\" and is short for \"double-ended queue\"). Deques support thread-" -"safe, memory efficient appends and pops from either side of the deque with " -"approximately the same *O*\\ (1) performance in either direction." -msgstr "" - -#: ../../library/collections.rst:463 -msgid "" -"Though :class:`list` objects support similar operations, they are optimized " -"for fast fixed-length operations and incur *O*\\ (*n*) memory movement costs" -" for ``pop(0)`` and ``insert(0, v)`` operations which change both the size " -"and position of the underlying data representation." -msgstr "" - -#: ../../library/collections.rst:469 -msgid "" -"If *maxlen* is not specified or is ``None``, deques may grow to an arbitrary" -" length. Otherwise, the deque is bounded to the specified maximum length. " -"Once a bounded length deque is full, when new items are added, a " -"corresponding number of items are discarded from the opposite end. Bounded " -"length deques provide functionality similar to the ``tail`` filter in Unix. " -"They are also useful for tracking transactions and other pools of data where" -" only the most recent activity is of interest." -msgstr "" - -#: ../../library/collections.rst:478 -msgid "Deque objects support the following methods:" -msgstr "" - -#: ../../library/collections.rst:482 -msgid "Add *x* to the right side of the deque." -msgstr "" - -#: ../../library/collections.rst:487 -msgid "Add *x* to the left side of the deque." -msgstr "" - -#: ../../library/collections.rst:492 -msgid "Remove all elements from the deque leaving it with length 0." -msgstr "" - -#: ../../library/collections.rst:497 -msgid "Create a shallow copy of the deque." -msgstr "" - -#: ../../library/collections.rst:504 -msgid "Count the number of deque elements equal to *x*." -msgstr "" - -#: ../../library/collections.rst:511 -msgid "" -"Extend the right side of the deque by appending elements from the iterable " -"argument." -msgstr "" - -#: ../../library/collections.rst:517 -msgid "" -"Extend the left side of the deque by appending elements from *iterable*. " -"Note, the series of left appends results in reversing the order of elements " -"in the iterable argument." -msgstr "" - -#: ../../library/collections.rst:524 -msgid "" -"Return the position of *x* in the deque (at or after index *start* and " -"before index *stop*). Returns the first match or raises :exc:`ValueError` " -"if not found." -msgstr "" - -#: ../../library/collections.rst:533 -msgid "Insert *x* into the deque at position *i*." -msgstr "" - -#: ../../library/collections.rst:535 -msgid "" -"If the insertion would cause a bounded deque to grow beyond *maxlen*, an " -":exc:`IndexError` is raised." -msgstr "" - -#: ../../library/collections.rst:543 -msgid "" -"Remove and return an element from the right side of the deque. If no " -"elements are present, raises an :exc:`IndexError`." -msgstr "" - -#: ../../library/collections.rst:549 -msgid "" -"Remove and return an element from the left side of the deque. If no elements" -" are present, raises an :exc:`IndexError`." -msgstr "" - -#: ../../library/collections.rst:555 -msgid "" -"Remove the first occurrence of *value*. If not found, raises a " -":exc:`ValueError`." -msgstr "" - -#: ../../library/collections.rst:561 -msgid "Reverse the elements of the deque in-place and then return ``None``." -msgstr "" - -#: ../../library/collections.rst:568 -msgid "" -"Rotate the deque *n* steps to the right. If *n* is negative, rotate to the " -"left." -msgstr "" - -#: ../../library/collections.rst:571 -msgid "" -"When the deque is not empty, rotating one step to the right is equivalent to" -" ``d.appendleft(d.pop())``, and rotating one step to the left is equivalent " -"to ``d.append(d.popleft())``." -msgstr "" - -#: ../../library/collections.rst:576 -msgid "Deque objects also provide one read-only attribute:" -msgstr "" - -#: ../../library/collections.rst:580 -msgid "Maximum size of a deque or ``None`` if unbounded." -msgstr "" - -#: ../../library/collections.rst:585 -msgid "" -"In addition to the above, deques support iteration, pickling, ``len(d)``, " -"``reversed(d)``, ``copy.copy(d)``, ``copy.deepcopy(d)``, membership testing " -"with the :keyword:`in` operator, and subscript references such as ``d[0]`` " -"to access the first element. Indexed access is *O*\\ (1) at both ends but " -"slows to *O*\\ (*n*) in the middle. For fast random access, use lists " -"instead." -msgstr "" - -#: ../../library/collections.rst:591 -msgid "" -"Starting in version 3.5, deques support ``__add__()``, ``__mul__()``, and " -"``__imul__()``." -msgstr "" - -#: ../../library/collections.rst:594 -msgid "Example:" -msgstr "Contoh:" - -#: ../../library/collections.rst:596 -msgid "" -">>> from collections import deque\n" -">>> d = deque('ghi') # make a new deque with three items\n" -">>> for elem in d: # iterate over the deque's elements\n" -"... print(elem.upper())\n" -"G\n" -"H\n" -"I\n" -"\n" -">>> d.append('j') # add a new entry to the right side\n" -">>> d.appendleft('f') # add a new entry to the left side\n" -">>> d # show the representation of the deque\n" -"deque(['f', 'g', 'h', 'i', 'j'])\n" -"\n" -">>> d.pop() # return and remove the rightmost item\n" -"'j'\n" -">>> d.popleft() # return and remove the leftmost item\n" -"'f'\n" -">>> list(d) # list the contents of the deque\n" -"['g', 'h', 'i']\n" -">>> d[0] # peek at leftmost item\n" -"'g'\n" -">>> d[-1] # peek at rightmost item\n" -"'i'\n" -"\n" -">>> list(reversed(d)) # list the contents of a deque in reverse\n" -"['i', 'h', 'g']\n" -">>> 'h' in d # search the deque\n" -"True\n" -">>> d.extend('jkl') # add multiple elements at once\n" -">>> d\n" -"deque(['g', 'h', 'i', 'j', 'k', 'l'])\n" -">>> d.rotate(1) # right rotation\n" -">>> d\n" -"deque(['l', 'g', 'h', 'i', 'j', 'k'])\n" -">>> d.rotate(-1) # left rotation\n" -">>> d\n" -"deque(['g', 'h', 'i', 'j', 'k', 'l'])\n" -"\n" -">>> deque(reversed(d)) # make a new deque in reverse order\n" -"deque(['l', 'k', 'j', 'i', 'h', 'g'])\n" -">>> d.clear() # empty the deque\n" -">>> d.pop() # cannot pop from an empty deque\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in -toplevel-\n" -" d.pop()\n" -"IndexError: pop from an empty deque\n" -"\n" -">>> d.extendleft('abc') # extendleft() reverses the input order\n" -">>> d\n" -"deque(['c', 'b', 'a'])" -msgstr "" - -#: ../../library/collections.rst:651 -msgid ":class:`deque` Recipes" -msgstr "" - -#: ../../library/collections.rst:653 -msgid "This section shows various approaches to working with deques." -msgstr "" - -#: ../../library/collections.rst:655 -msgid "" -"Bounded length deques provide functionality similar to the ``tail`` filter " -"in Unix::" -msgstr "" - -#: ../../library/collections.rst:658 -msgid "" -"def tail(filename, n=10):\n" -" 'Return the last n lines of a file'\n" -" with open(filename) as f:\n" -" return deque(f, n)" -msgstr "" - -#: ../../library/collections.rst:663 -msgid "" -"Another approach to using deques is to maintain a sequence of recently added" -" elements by appending to the right and popping to the left::" -msgstr "" - -#: ../../library/collections.rst:666 -msgid "" -"def moving_average(iterable, n=3):\n" -" # moving_average([40, 30, 50, 46, 39, 44]) --> 40.0 42.0 45.0 43.0\n" -" # https://en.wikipedia.org/wiki/Moving_average\n" -" it = iter(iterable)\n" -" d = deque(itertools.islice(it, n-1))\n" -" d.appendleft(0)\n" -" s = sum(d)\n" -" for elem in it:\n" -" s += elem - d.popleft()\n" -" d.append(elem)\n" -" yield s / n" -msgstr "" - -#: ../../library/collections.rst:678 -msgid "" -"A `round-robin scheduler `_ can be implemented with input iterators stored in a " -":class:`deque`. Values are yielded from the active iterator in position " -"zero. If that iterator is exhausted, it can be removed with " -":meth:`~deque.popleft`; otherwise, it can be cycled back to the end with the" -" :meth:`~deque.rotate` method::" -msgstr "" - -#: ../../library/collections.rst:685 -msgid "" -"def roundrobin(*iterables):\n" -" \"roundrobin('ABC', 'D', 'EF') --> A D E B F C\"\n" -" iterators = deque(map(iter, iterables))\n" -" while iterators:\n" -" try:\n" -" while True:\n" -" yield next(iterators[0])\n" -" iterators.rotate(-1)\n" -" except StopIteration:\n" -" # Remove an exhausted iterator.\n" -" iterators.popleft()" -msgstr "" - -#: ../../library/collections.rst:697 -msgid "" -"The :meth:`~deque.rotate` method provides a way to implement :class:`deque` " -"slicing and deletion. For example, a pure Python implementation of ``del " -"d[n]`` relies on the ``rotate()`` method to position elements to be popped::" -msgstr "" - -#: ../../library/collections.rst:701 -msgid "" -"def delete_nth(d, n):\n" -" d.rotate(-n)\n" -" d.popleft()\n" -" d.rotate(n)" -msgstr "" - -#: ../../library/collections.rst:706 -msgid "" -"To implement :class:`deque` slicing, use a similar approach applying " -":meth:`~deque.rotate` to bring a target element to the left side of the " -"deque. Remove old entries with :meth:`~deque.popleft`, add new entries with " -":meth:`~deque.extend`, and then reverse the rotation. With minor variations " -"on that approach, it is easy to implement Forth style stack manipulations " -"such as ``dup``, ``drop``, ``swap``, ``over``, ``pick``, ``rot``, and " -"``roll``." -msgstr "" - -#: ../../library/collections.rst:716 -msgid ":class:`defaultdict` objects" -msgstr "objek :class:`defaultdict`" - -#: ../../library/collections.rst:720 -msgid "" -"Return a new dictionary-like object. :class:`defaultdict` is a subclass of " -"the built-in :class:`dict` class. It overrides one method and adds one " -"writable instance variable. The remaining functionality is the same as for " -"the :class:`dict` class and is not documented here." -msgstr "" - -#: ../../library/collections.rst:725 -msgid "" -"The first argument provides the initial value for the " -":attr:`default_factory` attribute; it defaults to ``None``. All remaining " -"arguments are treated the same as if they were passed to the :class:`dict` " -"constructor, including keyword arguments." -msgstr "" - -#: ../../library/collections.rst:731 -msgid "" -":class:`defaultdict` objects support the following method in addition to the" -" standard :class:`dict` operations:" -msgstr "" - -#: ../../library/collections.rst:736 -msgid "" -"If the :attr:`default_factory` attribute is ``None``, this raises a " -":exc:`KeyError` exception with the *key* as argument." -msgstr "" - -#: ../../library/collections.rst:739 -msgid "" -"If :attr:`default_factory` is not ``None``, it is called without arguments " -"to provide a default value for the given *key*, this value is inserted in " -"the dictionary for the *key*, and returned." -msgstr "" - -#: ../../library/collections.rst:743 -msgid "" -"If calling :attr:`default_factory` raises an exception this exception is " -"propagated unchanged." -msgstr "" - -#: ../../library/collections.rst:746 -msgid "" -"This method is called by the :meth:`~object.__getitem__` method of the " -":class:`dict` class when the requested key is not found; whatever it returns" -" or raises is then returned or raised by :meth:`~object.__getitem__`." -msgstr "" - -#: ../../library/collections.rst:750 -msgid "" -"Note that :meth:`__missing__` is *not* called for any operations besides " -":meth:`~object.__getitem__`. This means that :meth:`~dict.get` will, like " -"normal dictionaries, return ``None`` as a default rather than using " -":attr:`default_factory`." -msgstr "" - -#: ../../library/collections.rst:756 -msgid ":class:`defaultdict` objects support the following instance variable:" -msgstr "" - -#: ../../library/collections.rst:761 -msgid "" -"This attribute is used by the :meth:`__missing__` method; it is initialized " -"from the first argument to the constructor, if present, or to ``None``, if " -"absent." -msgstr "" - -#: ../../library/collections.rst:765 ../../library/collections.rst:1192 -msgid "" -"Added merge (``|``) and update (``|=``) operators, specified in :pep:`584`." -msgstr "" - -#: ../../library/collections.rst:771 -msgid ":class:`defaultdict` Examples" -msgstr "Contoh :class:`defaultdict`" - -#: ../../library/collections.rst:773 -msgid "" -"Using :class:`list` as the :attr:`~defaultdict.default_factory`, it is easy " -"to group a sequence of key-value pairs into a dictionary of lists:" -msgstr "" - -#: ../../library/collections.rst:784 -msgid "" -"When each key is encountered for the first time, it is not already in the " -"mapping; so an entry is automatically created using the " -":attr:`~defaultdict.default_factory` function which returns an empty " -":class:`list`. The :meth:`!list.append` operation then attaches the value " -"to the new list. When keys are encountered again, the look-up proceeds " -"normally (returning the list for that key) and the :meth:`!list.append` " -"operation adds another value to the list. This technique is simpler and " -"faster than an equivalent technique using :meth:`dict.setdefault`:" -msgstr "" - -#: ../../library/collections.rst:799 -msgid "" -"Setting the :attr:`~defaultdict.default_factory` to :class:`int` makes the " -":class:`defaultdict` useful for counting (like a bag or multiset in other " -"languages):" -msgstr "" - -#: ../../library/collections.rst:811 -msgid "" -"When a letter is first encountered, it is missing from the mapping, so the " -":attr:`~defaultdict.default_factory` function calls :func:`int` to supply a " -"default count of zero. The increment operation then builds up the count for" -" each letter." -msgstr "" - -#: ../../library/collections.rst:815 -msgid "" -"The function :func:`int` which always returns zero is just a special case of" -" constant functions. A faster and more flexible way to create constant " -"functions is to use a lambda function which can supply any constant value " -"(not just zero):" -msgstr "" - -#: ../../library/collections.rst:828 -msgid "" -"Setting the :attr:`~defaultdict.default_factory` to :class:`set` makes the " -":class:`defaultdict` useful for building a dictionary of sets:" -msgstr "" - -#: ../../library/collections.rst:841 -msgid ":func:`namedtuple` Factory Function for Tuples with Named Fields" -msgstr "" - -#: ../../library/collections.rst:843 -msgid "" -"Named tuples assign meaning to each position in a tuple and allow for more " -"readable, self-documenting code. They can be used wherever regular tuples " -"are used, and they add the ability to access fields by name instead of " -"position index." -msgstr "" - -#: ../../library/collections.rst:849 -msgid "" -"Returns a new tuple subclass named *typename*. The new subclass is used to " -"create tuple-like objects that have fields accessible by attribute lookup as" -" well as being indexable and iterable. Instances of the subclass also have " -"a helpful docstring (with *typename* and *field_names*) and a helpful " -":meth:`~object.__repr__` method which lists the tuple contents in a " -"``name=value`` format." -msgstr "" - -#: ../../library/collections.rst:856 -msgid "" -"The *field_names* are a sequence of strings such as ``['x', 'y']``. " -"Alternatively, *field_names* can be a single string with each fieldname " -"separated by whitespace and/or commas, for example ``'x y'`` or ``'x, y'``." -msgstr "" - -#: ../../library/collections.rst:860 -msgid "" -"Any valid Python identifier may be used for a fieldname except for names " -"starting with an underscore. Valid identifiers consist of letters, digits, " -"and underscores but do not start with a digit or underscore and cannot be a " -":mod:`keyword` such as *class*, *for*, *return*, *global*, *pass*, or " -"*raise*." -msgstr "" - -#: ../../library/collections.rst:866 -msgid "" -"If *rename* is true, invalid fieldnames are automatically replaced with " -"positional names. For example, ``['abc', 'def', 'ghi', 'abc']`` is " -"converted to ``['abc', '_1', 'ghi', '_3']``, eliminating the keyword ``def``" -" and the duplicate fieldname ``abc``." -msgstr "" - -#: ../../library/collections.rst:871 -msgid "" -"*defaults* can be ``None`` or an :term:`iterable` of default values. Since " -"fields with a default value must come after any fields without a default, " -"the *defaults* are applied to the rightmost parameters. For example, if the" -" fieldnames are ``['x', 'y', 'z']`` and the defaults are ``(1, 2)``, then " -"``x`` will be a required argument, ``y`` will default to ``1``, and ``z`` " -"will default to ``2``." -msgstr "" - -#: ../../library/collections.rst:878 -msgid "" -"If *module* is defined, the :attr:`~type.__module__` attribute of the named " -"tuple is set to that value." -msgstr "" - -#: ../../library/collections.rst:881 -msgid "" -"Named tuple instances do not have per-instance dictionaries, so they are " -"lightweight and require no more memory than regular tuples." -msgstr "" - -#: ../../library/collections.rst:884 -msgid "" -"To support pickling, the named tuple class should be assigned to a variable " -"that matches *typename*." -msgstr "" - -#: ../../library/collections.rst:887 -msgid "Added support for *rename*." -msgstr "" - -#: ../../library/collections.rst:890 -msgid "" -"The *verbose* and *rename* parameters became :ref:`keyword-only arguments " -"`." -msgstr "" - -#: ../../library/collections.rst:894 -msgid "Added the *module* parameter." -msgstr "" - -#: ../../library/collections.rst:897 -msgid "Removed the *verbose* parameter and the :attr:`!_source` attribute." -msgstr "" - -#: ../../library/collections.rst:900 -msgid "" -"Added the *defaults* parameter and the " -":attr:`~somenamedtuple._field_defaults` attribute." -msgstr "" - -#: ../../library/collections.rst:904 -msgid "" -">>> # Basic example\n" -">>> Point = namedtuple('Point', ['x', 'y'])\n" -">>> p = Point(11, y=22) # instantiate with positional or keyword arguments\n" -">>> p[0] + p[1] # indexable like the plain tuple (11, 22)\n" -"33\n" -">>> x, y = p # unpack like a regular tuple\n" -">>> x, y\n" -"(11, 22)\n" -">>> p.x + p.y # fields also accessible by name\n" -"33\n" -">>> p # readable __repr__ with a name=value style\n" -"Point(x=11, y=22)" -msgstr "" - -#: ../../library/collections.rst:920 -msgid "" -"Named tuples are especially useful for assigning field names to result " -"tuples returned by the :mod:`csv` or :mod:`sqlite3` modules::" -msgstr "" - -#: ../../library/collections.rst:923 -msgid "" -"EmployeeRecord = namedtuple('EmployeeRecord', 'name, age, title, department, paygrade')\n" -"\n" -"import csv\n" -"for emp in map(EmployeeRecord._make, csv.reader(open(\"employees.csv\", \"rb\"))):\n" -" print(emp.name, emp.title)\n" -"\n" -"import sqlite3\n" -"conn = sqlite3.connect('/companydata')\n" -"cursor = conn.cursor()\n" -"cursor.execute('SELECT name, age, title, department, paygrade FROM employees')\n" -"for emp in map(EmployeeRecord._make, cursor.fetchall()):\n" -" print(emp.name, emp.title)" -msgstr "" - -#: ../../library/collections.rst:936 -msgid "" -"In addition to the methods inherited from tuples, named tuples support three" -" additional methods and two attributes. To prevent conflicts with field " -"names, the method and attribute names start with an underscore." -msgstr "" - -#: ../../library/collections.rst:942 -msgid "" -"Class method that makes a new instance from an existing sequence or " -"iterable." -msgstr "" - -#: ../../library/collections.rst:944 -msgid "" -">>> t = [11, 22]\n" -">>> Point._make(t)\n" -"Point(x=11, y=22)" -msgstr "" - -#: ../../library/collections.rst:952 -msgid "" -"Return a new :class:`dict` which maps field names to their corresponding " -"values:" -msgstr "" - -#: ../../library/collections.rst:955 -msgid "" -">>> p = Point(x=11, y=22)\n" -">>> p._asdict()\n" -"{'x': 11, 'y': 22}" -msgstr "" - -#: ../../library/collections.rst:961 -msgid "Returns an :class:`OrderedDict` instead of a regular :class:`dict`." -msgstr "" - -#: ../../library/collections.rst:964 -msgid "" -"Returns a regular :class:`dict` instead of an :class:`OrderedDict`. As of " -"Python 3.7, regular dicts are guaranteed to be ordered. If the extra " -"features of :class:`OrderedDict` are required, the suggested remediation is " -"to cast the result to the desired type: ``OrderedDict(nt._asdict())``." -msgstr "" - -#: ../../library/collections.rst:973 -msgid "" -"Return a new instance of the named tuple replacing specified fields with new" -" values::" -msgstr "" - -#: ../../library/collections.rst:976 -msgid "" -">>> p = Point(x=11, y=22)\n" -">>> p._replace(x=33)\n" -"Point(x=33, y=22)\n" -"\n" -">>> for partnum, record in inventory.items():\n" -"... inventory[partnum] = record._replace(price=newprices[partnum], timestamp=time.now())" -msgstr "" - -#: ../../library/collections.rst:983 -msgid "" -"Named tuples are also supported by generic function :func:`copy.replace`." -msgstr "" - -#: ../../library/collections.rst:985 -msgid "" -"Raise :exc:`TypeError` instead of :exc:`ValueError` for invalid keyword " -"arguments." -msgstr "" - -#: ../../library/collections.rst:991 -msgid "" -"Tuple of strings listing the field names. Useful for introspection and for " -"creating new named tuple types from existing named tuples." -msgstr "" - -#: ../../library/collections.rst:994 -msgid "" -">>> p._fields # view the field names\n" -"('x', 'y')\n" -"\n" -">>> Color = namedtuple('Color', 'red green blue')\n" -">>> Pixel = namedtuple('Pixel', Point._fields + Color._fields)\n" -">>> Pixel(11, 22, 128, 255, 0)\n" -"Pixel(x=11, y=22, red=128, green=255, blue=0)" -msgstr "" - -#: ../../library/collections.rst:1006 -msgid "Dictionary mapping field names to default values." -msgstr "" - -#: ../../library/collections.rst:1008 -msgid "" -">>> Account = namedtuple('Account', ['type', 'balance'], defaults=[0])\n" -">>> Account._field_defaults\n" -"{'balance': 0}\n" -">>> Account('premium')\n" -"Account(type='premium', balance=0)" -msgstr "" - -#: ../../library/collections.rst:1016 -msgid "" -"To retrieve a field whose name is stored in a string, use the " -":func:`getattr` function:" -msgstr "" - -#: ../../library/collections.rst:1022 -msgid "" -"To convert a dictionary to a named tuple, use the double-star-operator (as " -"described in :ref:`tut-unpacking-arguments`):" -msgstr "" - -#: ../../library/collections.rst:1029 -msgid "" -"Since a named tuple is a regular Python class, it is easy to add or change " -"functionality with a subclass. Here is how to add a calculated field and a " -"fixed-width print format:" -msgstr "" - -#: ../../library/collections.rst:1033 -msgid "" -">>> class Point(namedtuple('Point', ['x', 'y'])):\n" -"... __slots__ = ()\n" -"... @property\n" -"... def hypot(self):\n" -"... return (self.x ** 2 + self.y ** 2) ** 0.5\n" -"... def __str__(self):\n" -"... return 'Point: x=%6.3f y=%6.3f hypot=%6.3f' % (self.x, self.y, self.hypot)\n" -"\n" -">>> for p in Point(3, 4), Point(14, 5/7):\n" -"... print(p)\n" -"Point: x= 3.000 y= 4.000 hypot= 5.000\n" -"Point: x=14.000 y= 0.714 hypot=14.018" -msgstr "" - -#: ../../library/collections.rst:1048 -msgid "" -"The subclass shown above sets ``__slots__`` to an empty tuple. This helps " -"keep memory requirements low by preventing the creation of instance " -"dictionaries." -msgstr "" - -#: ../../library/collections.rst:1051 -msgid "" -"Subclassing is not useful for adding new, stored fields. Instead, simply " -"create a new named tuple type from the :attr:`~somenamedtuple._fields` " -"attribute:" -msgstr "" - -#: ../../library/collections.rst:1056 -msgid "" -"Docstrings can be customized by making direct assignments to the ``__doc__``" -" fields:" -msgstr "" - -#: ../../library/collections.rst:1065 -msgid "Property docstrings became writeable." -msgstr "" - -#: ../../library/collections.rst:1070 -msgid "" -"See :class:`typing.NamedTuple` for a way to add type hints for named tuples." -" It also provides an elegant notation using the :keyword:`class` keyword::" -msgstr "" - -#: ../../library/collections.rst:1074 -msgid "" -"class Component(NamedTuple):\n" -" part_number: int\n" -" weight: float\n" -" description: Optional[str] = None" -msgstr "" - -#: ../../library/collections.rst:1079 -msgid "" -"See :meth:`types.SimpleNamespace` for a mutable namespace based on an " -"underlying dictionary instead of a tuple." -msgstr "" - -#: ../../library/collections.rst:1082 -msgid "" -"The :mod:`dataclasses` module provides a decorator and functions for " -"automatically adding generated special methods to user-defined classes." -msgstr "" - -#: ../../library/collections.rst:1087 -msgid ":class:`OrderedDict` objects" -msgstr "objek :class:`OrderedDict`" - -#: ../../library/collections.rst:1089 -msgid "" -"Ordered dictionaries are just like regular dictionaries but have some extra " -"capabilities relating to ordering operations. They have become less " -"important now that the built-in :class:`dict` class gained the ability to " -"remember insertion order (this new behavior became guaranteed in Python " -"3.7)." -msgstr "" - -#: ../../library/collections.rst:1095 -msgid "Some differences from :class:`dict` still remain:" -msgstr "" - -#: ../../library/collections.rst:1097 -msgid "" -"The regular :class:`dict` was designed to be very good at mapping " -"operations. Tracking insertion order was secondary." -msgstr "" - -#: ../../library/collections.rst:1100 -msgid "" -"The :class:`OrderedDict` was designed to be good at reordering operations. " -"Space efficiency, iteration speed, and the performance of update operations " -"were secondary." -msgstr "" - -#: ../../library/collections.rst:1104 -msgid "" -"The :class:`OrderedDict` algorithm can handle frequent reordering operations" -" better than :class:`dict`. As shown in the recipes below, this makes it " -"suitable for implementing various kinds of LRU caches." -msgstr "" - -#: ../../library/collections.rst:1108 -msgid "" -"The equality operation for :class:`OrderedDict` checks for matching order." -msgstr "" - -#: ../../library/collections.rst:1110 -msgid "" -"A regular :class:`dict` can emulate the order sensitive equality test with " -"``p == q and all(k1 == k2 for k1, k2 in zip(p, q))``." -msgstr "" - -#: ../../library/collections.rst:1113 -msgid "" -"The :meth:`~OrderedDict.popitem` method of :class:`OrderedDict` has a " -"different signature. It accepts an optional argument to specify which item " -"is popped." -msgstr "" - -#: ../../library/collections.rst:1116 -msgid "" -"A regular :class:`dict` can emulate OrderedDict's ``od.popitem(last=True)`` " -"with ``d.popitem()`` which is guaranteed to pop the rightmost (last) item." -msgstr "" - -#: ../../library/collections.rst:1119 -msgid "" -"A regular :class:`dict` can emulate OrderedDict's ``od.popitem(last=False)``" -" with ``(k := next(iter(d)), d.pop(k))`` which will return and remove the " -"leftmost (first) item if it exists." -msgstr "" - -#: ../../library/collections.rst:1123 -msgid "" -":class:`OrderedDict` has a :meth:`~OrderedDict.move_to_end` method to " -"efficiently reposition an element to an endpoint." -msgstr "" - -#: ../../library/collections.rst:1126 -msgid "" -"A regular :class:`dict` can emulate OrderedDict's ``od.move_to_end(k, " -"last=True)`` with ``d[k] = d.pop(k)`` which will move the key and its " -"associated value to the rightmost (last) position." -msgstr "" - -#: ../../library/collections.rst:1130 -msgid "" -"A regular :class:`dict` does not have an efficient equivalent for " -"OrderedDict's ``od.move_to_end(k, last=False)`` which moves the key and its " -"associated value to the leftmost (first) position." -msgstr "" - -#: ../../library/collections.rst:1134 -msgid "" -"Until Python 3.8, :class:`dict` lacked a :meth:`~object.__reversed__` " -"method." -msgstr "" - -#: ../../library/collections.rst:1139 -msgid "" -"Return an instance of a :class:`dict` subclass that has methods specialized " -"for rearranging dictionary order." -msgstr "" - -#: ../../library/collections.rst:1146 -msgid "" -"The :meth:`popitem` method for ordered dictionaries returns and removes a " -"(key, value) pair. The pairs are returned in :abbr:`LIFO (last-in, first-" -"out)` order if *last* is true or :abbr:`FIFO (first-in, first-out)` order if" -" false." -msgstr "" - -#: ../../library/collections.rst:1153 -msgid "" -"Move an existing *key* to either end of an ordered dictionary. The item is " -"moved to the right end if *last* is true (the default) or to the beginning " -"if *last* is false. Raises :exc:`KeyError` if the *key* does not exist:" -msgstr "" - -#: ../../library/collections.rst:1158 -msgid "" -">>> d = OrderedDict.fromkeys('abcde')\n" -">>> d.move_to_end('b')\n" -">>> ''.join(d)\n" -"'acdeb'\n" -">>> d.move_to_end('b', last=False)\n" -">>> ''.join(d)\n" -"'bacde'" -msgstr "" - -#: ../../library/collections.rst:1170 -msgid "" -"In addition to the usual mapping methods, ordered dictionaries also support " -"reverse iteration using :func:`reversed`." -msgstr "" - -#: ../../library/collections.rst:1175 -msgid "" -"Equality tests between :class:`OrderedDict` objects are order-sensitive and " -"are roughly equivalent to ``list(od1.items())==list(od2.items())``." -msgstr "" - -#: ../../library/collections.rst:1178 -msgid "" -"Equality tests between :class:`OrderedDict` objects and other " -":class:`~collections.abc.Mapping` objects are order-insensitive like regular" -" dictionaries. This allows :class:`OrderedDict` objects to be substituted " -"anywhere a regular dictionary is used." -msgstr "" - -#: ../../library/collections.rst:1183 -msgid "" -"The items, keys, and values :term:`views ` of " -":class:`OrderedDict` now support reverse iteration using :func:`reversed`." -msgstr "" - -#: ../../library/collections.rst:1187 -msgid "" -"With the acceptance of :pep:`468`, order is retained for keyword arguments " -"passed to the :class:`OrderedDict` constructor and its :meth:`~dict.update` " -"method." -msgstr "" - -#: ../../library/collections.rst:1197 -msgid ":class:`OrderedDict` Examples and Recipes" -msgstr "" - -#: ../../library/collections.rst:1199 -msgid "" -"It is straightforward to create an ordered dictionary variant that remembers" -" the order the keys were *last* inserted. If a new entry overwrites an " -"existing entry, the original insertion position is changed and moved to the " -"end::" -msgstr "" - -#: ../../library/collections.rst:1204 -msgid "" -"class LastUpdatedOrderedDict(OrderedDict):\n" -" 'Store items in the order the keys were last added'\n" -"\n" -" def __setitem__(self, key, value):\n" -" super().__setitem__(key, value)\n" -" self.move_to_end(key)" -msgstr "" - -#: ../../library/collections.rst:1211 -msgid "" -"An :class:`OrderedDict` would also be useful for implementing variants of " -":func:`functools.lru_cache`:" -msgstr "" - -#: ../../library/collections.rst:1214 -msgid "" -"from collections import OrderedDict\n" -"from time import time\n" -"\n" -"class TimeBoundedLRU:\n" -" \"LRU Cache that invalidates and refreshes old entries.\"\n" -"\n" -" def __init__(self, func, maxsize=128, maxage=30):\n" -" self.cache = OrderedDict() # { args : (timestamp, result)}\n" -" self.func = func\n" -" self.maxsize = maxsize\n" -" self.maxage = maxage\n" -"\n" -" def __call__(self, *args):\n" -" if args in self.cache:\n" -" self.cache.move_to_end(args)\n" -" timestamp, result = self.cache[args]\n" -" if time() - timestamp <= self.maxage:\n" -" return result\n" -" result = self.func(*args)\n" -" self.cache[args] = time(), result\n" -" if len(self.cache) > self.maxsize:\n" -" self.cache.popitem(last=False)\n" -" return result" -msgstr "" - -#: ../../library/collections.rst:1241 -msgid "" -"class MultiHitLRUCache:\n" -" \"\"\" LRU cache that defers caching a result until\n" -" it has been requested multiple times.\n" -"\n" -" To avoid flushing the LRU cache with one-time requests,\n" -" we don't cache until a request has been made more than once.\n" -"\n" -" \"\"\"\n" -"\n" -" def __init__(self, func, maxsize=128, maxrequests=4096, cache_after=1):\n" -" self.requests = OrderedDict() # { uncached_key : request_count }\n" -" self.cache = OrderedDict() # { cached_key : function_result }\n" -" self.func = func\n" -" self.maxrequests = maxrequests # max number of uncached requests\n" -" self.maxsize = maxsize # max number of stored return values\n" -" self.cache_after = cache_after\n" -"\n" -" def __call__(self, *args):\n" -" if args in self.cache:\n" -" self.cache.move_to_end(args)\n" -" return self.cache[args]\n" -" result = self.func(*args)\n" -" self.requests[args] = self.requests.get(args, 0) + 1\n" -" if self.requests[args] <= self.cache_after:\n" -" self.requests.move_to_end(args)\n" -" if len(self.requests) > self.maxrequests:\n" -" self.requests.popitem(last=False)\n" -" else:\n" -" self.requests.pop(args, None)\n" -" self.cache[args] = result\n" -" if len(self.cache) > self.maxsize:\n" -" self.cache.popitem(last=False)\n" -" return result" -msgstr "" - -#: ../../library/collections.rst:1310 -msgid ":class:`UserDict` objects" -msgstr "objek :class:`UserDict`" - -#: ../../library/collections.rst:1312 -msgid "" -"The class, :class:`UserDict` acts as a wrapper around dictionary objects. " -"The need for this class has been partially supplanted by the ability to " -"subclass directly from :class:`dict`; however, this class can be easier to " -"work with because the underlying dictionary is accessible as an attribute." -msgstr "" - -#: ../../library/collections.rst:1320 -msgid "" -"Class that simulates a dictionary. The instance's contents are kept in a " -"regular dictionary, which is accessible via the :attr:`data` attribute of " -":class:`UserDict` instances. If *initialdata* is provided, :attr:`data` is " -"initialized with its contents; note that a reference to *initialdata* will " -"not be kept, allowing it to be used for other purposes." -msgstr "" - -#: ../../library/collections.rst:1326 -msgid "" -"In addition to supporting the methods and operations of mappings, " -":class:`UserDict` instances provide the following attribute:" -msgstr "" - -#: ../../library/collections.rst:1331 -msgid "" -"A real dictionary used to store the contents of the :class:`UserDict` class." -msgstr "" - -#: ../../library/collections.rst:1337 -msgid ":class:`UserList` objects" -msgstr "objek :class:`UserList`" - -#: ../../library/collections.rst:1339 -msgid "" -"This class acts as a wrapper around list objects. It is a useful base class" -" for your own list-like classes which can inherit from them and override " -"existing methods or add new ones. In this way, one can add new behaviors to" -" lists." -msgstr "" - -#: ../../library/collections.rst:1344 -msgid "" -"The need for this class has been partially supplanted by the ability to " -"subclass directly from :class:`list`; however, this class can be easier to " -"work with because the underlying list is accessible as an attribute." -msgstr "" - -#: ../../library/collections.rst:1350 -msgid "" -"Class that simulates a list. The instance's contents are kept in a regular " -"list, which is accessible via the :attr:`data` attribute of " -":class:`UserList` instances. The instance's contents are initially set to a" -" copy of *list*, defaulting to the empty list ``[]``. *list* can be any " -"iterable, for example a real Python list or a :class:`UserList` object." -msgstr "" - -#: ../../library/collections.rst:1356 -msgid "" -"In addition to supporting the methods and operations of mutable sequences, " -":class:`UserList` instances provide the following attribute:" -msgstr "" - -#: ../../library/collections.rst:1361 -msgid "" -"A real :class:`list` object used to store the contents of the " -":class:`UserList` class." -msgstr "" - -#: ../../library/collections.rst:1364 -msgid "" -"**Subclassing requirements:** Subclasses of :class:`UserList` are expected " -"to offer a constructor which can be called with either no arguments or one " -"argument. List operations which return a new sequence attempt to create an " -"instance of the actual implementation class. To do so, it assumes that the " -"constructor can be called with a single parameter, which is a sequence " -"object used as a data source." -msgstr "" - -#: ../../library/collections.rst:1371 -msgid "" -"If a derived class does not wish to comply with this requirement, all of the" -" special methods supported by this class will need to be overridden; please " -"consult the sources for information about the methods which need to be " -"provided in that case." -msgstr "" - -#: ../../library/collections.rst:1377 -msgid ":class:`UserString` objects" -msgstr "objek :class:`UserString`" - -#: ../../library/collections.rst:1379 -msgid "" -"The class, :class:`UserString` acts as a wrapper around string objects. The " -"need for this class has been partially supplanted by the ability to subclass" -" directly from :class:`str`; however, this class can be easier to work with " -"because the underlying string is accessible as an attribute." -msgstr "" - -#: ../../library/collections.rst:1387 -msgid "" -"Class that simulates a string object. The instance's content is kept in a " -"regular string object, which is accessible via the :attr:`data` attribute of" -" :class:`UserString` instances. The instance's contents are initially set " -"to a copy of *seq*. The *seq* argument can be any object which can be " -"converted into a string using the built-in :func:`str` function." -msgstr "" - -#: ../../library/collections.rst:1394 -msgid "" -"In addition to supporting the methods and operations of strings, " -":class:`UserString` instances provide the following attribute:" -msgstr "" - -#: ../../library/collections.rst:1399 -msgid "" -"A real :class:`str` object used to store the contents of the " -":class:`UserString` class." -msgstr "" - -#: ../../library/collections.rst:1402 -msgid "" -"New methods ``__getnewargs__``, ``__rmod__``, ``casefold``, ``format_map``, " -"``isprintable``, and ``maketrans``." -msgstr "" diff --git a/python-newest.library--collections_abc/id.po b/python-newest.library--collections_abc/id.po deleted file mode 100644 index 418e063..0000000 --- a/python-newest.library--collections_abc/id.po +++ /dev/null @@ -1,757 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2022 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: oon arfiandwi , 2022\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/collections.abc.rst:2 -msgid ":mod:`!collections.abc` --- Abstract Base Classes for Containers" -msgstr "" - -#: ../../library/collections.abc.rst:10 -msgid "Formerly, this module was part of the :mod:`collections` module." -msgstr "" - -#: ../../library/collections.abc.rst:13 -msgid "**Source code:** :source:`Lib/_collections_abc.py`" -msgstr "" - -#: ../../library/collections.abc.rst:23 -msgid "" -"This module provides :term:`abstract base classes ` " -"that can be used to test whether a class provides a particular interface; " -"for example, whether it is :term:`hashable` or whether it is a " -":term:`mapping`." -msgstr "" - -#: ../../library/collections.abc.rst:27 -msgid "" -"An :func:`issubclass` or :func:`isinstance` test for an interface works in " -"one of three ways." -msgstr "" - -#: ../../library/collections.abc.rst:30 -msgid "" -"A newly written class can inherit directly from one of the abstract base " -"classes. The class must supply the required abstract methods. The " -"remaining mixin methods come from inheritance and can be overridden if " -"desired. Other methods may be added as needed:" -msgstr "" - -#: ../../library/collections.abc.rst:35 -msgid "" -"class C(Sequence): # Direct inheritance\n" -" def __init__(self): ... # Extra method not required by the ABC\n" -" def __getitem__(self, index): ... # Required abstract method\n" -" def __len__(self): ... # Required abstract method\n" -" def count(self, value): ... # Optionally override a mixin method" -msgstr "" - -#: ../../library/collections.abc.rst:43 -msgid "" -">>> issubclass(C, Sequence)\n" -"True\n" -">>> isinstance(C(), Sequence)\n" -"True" -msgstr "" - -#: ../../library/collections.abc.rst:50 -msgid "" -"Existing classes and built-in classes can be registered as \"virtual " -"subclasses\" of the ABCs. Those classes should define the full API " -"including all of the abstract methods and all of the mixin methods. This " -"lets users rely on :func:`issubclass` or :func:`isinstance` tests to " -"determine whether the full interface is supported. The exception to this " -"rule is for methods that are automatically inferred from the rest of the " -"API:" -msgstr "" - -#: ../../library/collections.abc.rst:58 -msgid "" -"class D: # No inheritance\n" -" def __init__(self): ... # Extra method not required by the ABC\n" -" def __getitem__(self, index): ... # Abstract method\n" -" def __len__(self): ... # Abstract method\n" -" def count(self, value): ... # Mixin method\n" -" def index(self, value): ... # Mixin method\n" -"\n" -"Sequence.register(D) # Register instead of inherit" -msgstr "" - -#: ../../library/collections.abc.rst:69 -msgid "" -">>> issubclass(D, Sequence)\n" -"True\n" -">>> isinstance(D(), Sequence)\n" -"True" -msgstr "" - -#: ../../library/collections.abc.rst:76 -msgid "" -"In this example, class :class:`!D` does not need to define ``__contains__``," -" ``__iter__``, and ``__reversed__`` because the :ref:`in-operator " -"`, the :term:`iteration ` logic, and the " -":func:`reversed` function automatically fall back to using ``__getitem__`` " -"and ``__len__``." -msgstr "" - -#: ../../library/collections.abc.rst:82 -msgid "" -"Some simple interfaces are directly recognizable by the presence of the " -"required methods (unless those methods have been set to :const:`None`):" -msgstr "" - -#: ../../library/collections.abc.rst:85 -msgid "" -"class E:\n" -" def __iter__(self): ...\n" -" def __next__(self): ..." -msgstr "" - -#: ../../library/collections.abc.rst:91 -msgid "" -">>> issubclass(E, Iterable)\n" -"True\n" -">>> isinstance(E(), Iterable)\n" -"True" -msgstr "" - -#: ../../library/collections.abc.rst:98 -msgid "" -"Complex interfaces do not support this last technique because an interface " -"is more than just the presence of method names. Interfaces specify " -"semantics and relationships between methods that cannot be inferred solely " -"from the presence of specific method names. For example, knowing that a " -"class supplies ``__getitem__``, ``__len__``, and ``__iter__`` is " -"insufficient for distinguishing a :class:`Sequence` from a :class:`Mapping`." -msgstr "" - -#: ../../library/collections.abc.rst:106 -msgid "" -"These abstract classes now support ``[]``. See :ref:`types-genericalias` and" -" :pep:`585`." -msgstr "" - -#: ../../library/collections.abc.rst:113 -msgid "Collections Abstract Base Classes" -msgstr "" - -#: ../../library/collections.abc.rst:115 -msgid "" -"The collections module offers the following :term:`ABCs `:" -msgstr "" - -#: ../../library/collections.abc.rst:120 -msgid "ABC" -msgstr "ABC" - -#: ../../library/collections.abc.rst:120 -msgid "Inherits from" -msgstr "" - -#: ../../library/collections.abc.rst:120 -msgid "Abstract Methods" -msgstr "" - -#: ../../library/collections.abc.rst:120 -msgid "Mixin Methods" -msgstr "" - -#: ../../library/collections.abc.rst:122 -msgid ":class:`Container` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:122 -msgid "``__contains__``" -msgstr "``__contains__``" - -#: ../../library/collections.abc.rst:123 -msgid ":class:`Hashable` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:123 -msgid "``__hash__``" -msgstr "``__hash__``" - -#: ../../library/collections.abc.rst:124 -msgid ":class:`Iterable` [1]_ [2]_" -msgstr "" - -#: ../../library/collections.abc.rst:124 ../../library/collections.abc.rst:125 -msgid "``__iter__``" -msgstr "``__iter__``" - -#: ../../library/collections.abc.rst:125 -msgid ":class:`Iterator` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:125 ../../library/collections.abc.rst:126 -msgid ":class:`Iterable`" -msgstr ":class:`Iterable`" - -#: ../../library/collections.abc.rst:125 -msgid "``__next__``" -msgstr "``__next__``" - -#: ../../library/collections.abc.rst:126 -msgid ":class:`Reversible` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:126 -msgid "``__reversed__``" -msgstr "``__reversed__``" - -#: ../../library/collections.abc.rst:127 -msgid ":class:`Generator` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:127 -msgid ":class:`Iterator`" -msgstr ":class:`Iterator`" - -#: ../../library/collections.abc.rst:127 ../../library/collections.abc.rst:173 -msgid "``send``, ``throw``" -msgstr "``send``, ``throw``" - -#: ../../library/collections.abc.rst:127 -msgid "``close``, ``__iter__``, ``__next__``" -msgstr "``close``, ``__iter__``, ``__next__``" - -#: ../../library/collections.abc.rst:128 -msgid ":class:`Sized` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:128 -msgid "``__len__``" -msgstr "``__len__``" - -#: ../../library/collections.abc.rst:129 -msgid ":class:`Callable` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:129 -msgid "``__call__``" -msgstr "``__call__``" - -#: ../../library/collections.abc.rst:130 -msgid ":class:`Collection` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:130 -msgid ":class:`Sized`, :class:`Iterable`, :class:`Container`" -msgstr "" - -#: ../../library/collections.abc.rst:130 ../../library/collections.abc.rst:143 -msgid "``__contains__``, ``__iter__``, ``__len__``" -msgstr "``__contains__``, ``__iter__``, ``__len__``" - -#: ../../library/collections.abc.rst:134 ../../library/collections.abc.rst:137 -msgid ":class:`Sequence`" -msgstr ":class:`Sequence`" - -#: ../../library/collections.abc.rst:134 -msgid ":class:`Reversible`, :class:`Collection`" -msgstr ":class:`Reversible`, :class:`Collection`" - -#: ../../library/collections.abc.rst:134 -msgid "``__getitem__``, ``__len__``" -msgstr "``__getitem__``, ``__len__``" - -#: ../../library/collections.abc.rst:134 -msgid "" -"``__contains__``, ``__iter__``, ``__reversed__``, ``index``, and ``count``" -msgstr "" -"``__contains__``, ``__iter__``, ``__reversed__``, ``index``, dan ``count``" - -#: ../../library/collections.abc.rst:137 -msgid ":class:`MutableSequence`" -msgstr ":class:`MutableSequence`" - -#: ../../library/collections.abc.rst:137 -msgid "" -"``__getitem__``, ``__setitem__``, ``__delitem__``, ``__len__``, ``insert``" -msgstr "" -"``__getitem__``, ``__setitem__``, ``__delitem__``, ``__len__``, ``insert``" - -#: ../../library/collections.abc.rst:137 -msgid "" -"Inherited :class:`Sequence` methods and ``append``, ``clear``, ``reverse``, " -"``extend``, ``pop``, ``remove``, and ``__iadd__``" -msgstr "" - -#: ../../library/collections.abc.rst:143 ../../library/collections.abc.rst:148 -msgid ":class:`Set`" -msgstr ":class:`Set`" - -#: ../../library/collections.abc.rst:143 ../../library/collections.abc.rst:154 -msgid ":class:`Collection`" -msgstr ":class:`Collection`" - -#: ../../library/collections.abc.rst:143 -msgid "" -"``__le__``, ``__lt__``, ``__eq__``, ``__ne__``, ``__gt__``, ``__ge__``, " -"``__and__``, ``__or__``, ``__sub__``, ``__rsub__``, ``__xor__``, " -"``__rxor__`` and ``isdisjoint``" -msgstr "" - -#: ../../library/collections.abc.rst:148 -msgid ":class:`MutableSet`" -msgstr ":class:`MutableSet`" - -#: ../../library/collections.abc.rst:148 -msgid "``__contains__``, ``__iter__``, ``__len__``, ``add``, ``discard``" -msgstr "``__contains__``, ``__iter__``, ``__len__``, ``add``, ``discard``" - -#: ../../library/collections.abc.rst:148 -msgid "" -"Inherited :class:`Set` methods and ``clear``, ``pop``, ``remove``, " -"``__ior__``, ``__iand__``, ``__ixor__``, and ``__isub__``" -msgstr "" - -#: ../../library/collections.abc.rst:154 ../../library/collections.abc.rst:158 -msgid ":class:`Mapping`" -msgstr ":class:`Mapping`" - -#: ../../library/collections.abc.rst:154 -msgid "``__getitem__``, ``__iter__``, ``__len__``" -msgstr "``__getitem__``, ``__iter__``, ``__len__``" - -#: ../../library/collections.abc.rst:154 -msgid "" -"``__contains__``, ``keys``, ``items``, ``values``, ``get``, ``__eq__``, and " -"``__ne__``" -msgstr "" -"``__contains__``, ``keys``, ``items``, ``values``, ``get``, ``__eq__``, dan " -"``__ne__``" - -#: ../../library/collections.abc.rst:158 -msgid ":class:`MutableMapping`" -msgstr ":class:`MutableMapping`" - -#: ../../library/collections.abc.rst:158 -msgid "" -"``__getitem__``, ``__setitem__``, ``__delitem__``, ``__iter__``, ``__len__``" -msgstr "" -"``__getitem__``, ``__setitem__``, ``__delitem__``, ``__iter__``, ``__len__``" - -#: ../../library/collections.abc.rst:158 -msgid "" -"Inherited :class:`Mapping` methods and ``pop``, ``popitem``, ``clear``, " -"``update``, and ``setdefault``" -msgstr "" - -#: ../../library/collections.abc.rst:165 -msgid ":class:`MappingView`" -msgstr ":class:`MappingView`" - -#: ../../library/collections.abc.rst:165 -msgid ":class:`Sized`" -msgstr ":class:`Sized`" - -#: ../../library/collections.abc.rst:165 -msgid "``__init__``, ``__len__`` and ``__repr__``" -msgstr "" - -#: ../../library/collections.abc.rst:166 -msgid ":class:`ItemsView`" -msgstr ":class:`ItemsView`" - -#: ../../library/collections.abc.rst:166 ../../library/collections.abc.rst:168 -msgid ":class:`MappingView`, :class:`Set`" -msgstr ":class:`MappingView`, :class:`Set`" - -#: ../../library/collections.abc.rst:166 ../../library/collections.abc.rst:168 -#: ../../library/collections.abc.rst:170 -msgid "``__contains__``, ``__iter__``" -msgstr "``__contains__``, ``__iter__``" - -#: ../../library/collections.abc.rst:168 -msgid ":class:`KeysView`" -msgstr ":class:`KeysView`" - -#: ../../library/collections.abc.rst:170 -msgid ":class:`ValuesView`" -msgstr ":class:`ValuesView`" - -#: ../../library/collections.abc.rst:170 -msgid ":class:`MappingView`, :class:`Collection`" -msgstr ":class:`MappingView`, :class:`Collection`" - -#: ../../library/collections.abc.rst:172 -msgid ":class:`Awaitable` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:172 -msgid "``__await__``" -msgstr "``__await__``" - -#: ../../library/collections.abc.rst:173 -msgid ":class:`Coroutine` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:173 -msgid ":class:`Awaitable`" -msgstr ":class:`Awaitable`" - -#: ../../library/collections.abc.rst:173 -msgid "``close``" -msgstr "``close``" - -#: ../../library/collections.abc.rst:174 -msgid ":class:`AsyncIterable` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:174 ../../library/collections.abc.rst:175 -msgid "``__aiter__``" -msgstr "``__aiter__``" - -#: ../../library/collections.abc.rst:175 -msgid ":class:`AsyncIterator` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:175 -msgid ":class:`AsyncIterable`" -msgstr ":class:`AsyncIterable`" - -#: ../../library/collections.abc.rst:175 -msgid "``__anext__``" -msgstr "``__anext__``" - -#: ../../library/collections.abc.rst:176 -msgid ":class:`AsyncGenerator` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:176 -msgid ":class:`AsyncIterator`" -msgstr ":class:`AsyncIterator`" - -#: ../../library/collections.abc.rst:176 -msgid "``asend``, ``athrow``" -msgstr "``asend``, ``athrow``" - -#: ../../library/collections.abc.rst:176 -msgid "``aclose``, ``__aiter__``, ``__anext__``" -msgstr "``aclose``, ``__aiter__``, ``__anext__``" - -#: ../../library/collections.abc.rst:177 -msgid ":class:`Buffer` [1]_" -msgstr "" - -#: ../../library/collections.abc.rst:177 -msgid "``__buffer__``" -msgstr "" - -#: ../../library/collections.abc.rst:182 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/collections.abc.rst:183 -msgid "" -"These ABCs override :meth:`~abc.ABCMeta.__subclasshook__` to support testing" -" an interface by verifying the required methods are present and have not " -"been set to :const:`None`. This only works for simple interfaces. More " -"complex interfaces require registration or direct subclassing." -msgstr "" - -#: ../../library/collections.abc.rst:189 -msgid "" -"Checking ``isinstance(obj, Iterable)`` detects classes that are registered " -"as :class:`Iterable` or that have an :meth:`~container.__iter__` method, but" -" it does not detect classes that iterate with the " -":meth:`~object.__getitem__` method. The only reliable way to determine " -"whether an object is :term:`iterable` is to call ``iter(obj)``." -msgstr "" - -#: ../../library/collections.abc.rst:197 -msgid "Collections Abstract Base Classes -- Detailed Descriptions" -msgstr "" - -#: ../../library/collections.abc.rst:202 -msgid "ABC for classes that provide the :meth:`~object.__contains__` method." -msgstr "" - -#: ../../library/collections.abc.rst:206 -msgid "ABC for classes that provide the :meth:`~object.__hash__` method." -msgstr "" - -#: ../../library/collections.abc.rst:210 -msgid "ABC for classes that provide the :meth:`~object.__len__` method." -msgstr "" - -#: ../../library/collections.abc.rst:214 -msgid "ABC for classes that provide the :meth:`~object.__call__` method." -msgstr "" - -#: ../../library/collections.abc.rst:216 -msgid "" -"See :ref:`annotating-callables` for details on how to use :class:`!Callable`" -" in type annotations." -msgstr "" - -#: ../../library/collections.abc.rst:221 -msgid "ABC for classes that provide the :meth:`~container.__iter__` method." -msgstr "" - -#: ../../library/collections.abc.rst:223 -msgid "" -"Checking ``isinstance(obj, Iterable)`` detects classes that are registered " -"as :class:`Iterable` or that have an :meth:`~container.__iter__` method, but" -" it does not detect classes that iterate with the " -":meth:`~object.__getitem__` method. The only reliable way to determine " -"whether an object is :term:`iterable` is to call ``iter(obj)``." -msgstr "" - -#: ../../library/collections.abc.rst:232 -msgid "ABC for sized iterable container classes." -msgstr "" - -#: ../../library/collections.abc.rst:238 -msgid "" -"ABC for classes that provide the :meth:`~iterator.__iter__` and " -":meth:`~iterator.__next__` methods. See also the definition of " -":term:`iterator`." -msgstr "" - -#: ../../library/collections.abc.rst:244 -msgid "" -"ABC for iterable classes that also provide the :meth:`~object.__reversed__` " -"method." -msgstr "" - -#: ../../library/collections.abc.rst:251 -msgid "" -"ABC for :term:`generator` classes that implement the protocol defined in " -":pep:`342` that extends :term:`iterators ` with the " -":meth:`~generator.send`, :meth:`~generator.throw` and " -":meth:`~generator.close` methods." -msgstr "" - -#: ../../library/collections.abc.rst:256 -msgid "" -"See :ref:`annotating-generators-and-coroutines` for details on using " -":class:`!Generator` in type annotations." -msgstr "" - -#: ../../library/collections.abc.rst:264 -msgid "ABCs for read-only and mutable :term:`sequences `." -msgstr "" - -#: ../../library/collections.abc.rst:266 -msgid "" -"Implementation note: Some of the mixin methods, such as " -":meth:`~container.__iter__`, :meth:`~object.__reversed__` and :meth:`index`," -" make repeated calls to the underlying :meth:`~object.__getitem__` method. " -"Consequently, if :meth:`~object.__getitem__` is implemented with constant " -"access speed, the mixin methods will have linear performance; however, if " -"the underlying method is linear (as it would be with a linked list), the " -"mixins will have quadratic performance and will likely need to be " -"overridden." -msgstr "" - -#: ../../library/collections.abc.rst:275 -msgid "The index() method added support for *stop* and *start* arguments." -msgstr "" - -#: ../../library/collections.abc.rst:282 -msgid "ABCs for read-only and mutable :ref:`sets `." -msgstr "" - -#: ../../library/collections.abc.rst:287 -msgid "ABCs for read-only and mutable :term:`mappings `." -msgstr "" - -#: ../../library/collections.abc.rst:294 -msgid "" -"ABCs for mapping, items, keys, and values :term:`views `." -msgstr "" - -#: ../../library/collections.abc.rst:298 -msgid "" -"ABC for :term:`awaitable` objects, which can be used in :keyword:`await` " -"expressions. Custom implementations must provide the " -":meth:`~object.__await__` method." -msgstr "" - -#: ../../library/collections.abc.rst:302 -msgid "" -":term:`Coroutine ` objects and instances of the " -":class:`~collections.abc.Coroutine` ABC are all instances of this ABC." -msgstr "" - -#: ../../library/collections.abc.rst:306 -msgid "" -"In CPython, generator-based coroutines (:term:`generators ` " -"decorated with :func:`@types.coroutine `) are *awaitables*," -" even though they do not have an :meth:`~object.__await__` method. Using " -"``isinstance(gencoro, Awaitable)`` for them will return ``False``. Use " -":func:`inspect.isawaitable` to detect them." -msgstr "" - -#: ../../library/collections.abc.rst:316 -msgid "" -"ABC for :term:`coroutine` compatible classes. These implement the following" -" methods, defined in :ref:`coroutine-objects`: :meth:`~coroutine.send`, " -":meth:`~coroutine.throw`, and :meth:`~coroutine.close`. Custom " -"implementations must also implement :meth:`~object.__await__`. All " -":class:`Coroutine` instances are also instances of :class:`Awaitable`." -msgstr "" - -#: ../../library/collections.abc.rst:324 -msgid "" -"In CPython, generator-based coroutines (:term:`generators ` " -"decorated with :func:`@types.coroutine `) are *awaitables*," -" even though they do not have an :meth:`~object.__await__` method. Using " -"``isinstance(gencoro, Coroutine)`` for them will return ``False``. Use " -":func:`inspect.isawaitable` to detect them." -msgstr "" - -#: ../../library/collections.abc.rst:330 -msgid "" -"See :ref:`annotating-generators-and-coroutines` for details on using " -":class:`!Coroutine` in type annotations. The variance and order of type " -"parameters correspond to those of :class:`Generator`." -msgstr "" - -#: ../../library/collections.abc.rst:339 -msgid "" -"ABC for classes that provide an ``__aiter__`` method. See also the " -"definition of :term:`asynchronous iterable`." -msgstr "" - -#: ../../library/collections.abc.rst:346 -msgid "" -"ABC for classes that provide ``__aiter__`` and ``__anext__`` methods. See " -"also the definition of :term:`asynchronous iterator`." -msgstr "" - -#: ../../library/collections.abc.rst:353 -msgid "" -"ABC for :term:`asynchronous generator` classes that implement the protocol " -"defined in :pep:`525` and :pep:`492`." -msgstr "" - -#: ../../library/collections.abc.rst:356 -msgid "" -"See :ref:`annotating-generators-and-coroutines` for details on using " -":class:`!AsyncGenerator` in type annotations." -msgstr "" - -#: ../../library/collections.abc.rst:363 -msgid "" -"ABC for classes that provide the :meth:`~object.__buffer__` method, " -"implementing the :ref:`buffer protocol `. See :pep:`688`." -msgstr "" - -#: ../../library/collections.abc.rst:369 -msgid "Examples and Recipes" -msgstr "" - -#: ../../library/collections.abc.rst:371 -msgid "" -"ABCs allow us to ask classes or instances if they provide particular " -"functionality, for example::" -msgstr "" - -#: ../../library/collections.abc.rst:374 -msgid "" -"size = None\n" -"if isinstance(myvar, collections.abc.Sized):\n" -" size = len(myvar)" -msgstr "" - -#: ../../library/collections.abc.rst:378 -msgid "" -"Several of the ABCs are also useful as mixins that make it easier to develop" -" classes supporting container APIs. For example, to write a class " -"supporting the full :class:`Set` API, it is only necessary to supply the " -"three underlying abstract methods: :meth:`~object.__contains__`, " -":meth:`~container.__iter__`, and :meth:`~object.__len__`. The ABC supplies " -"the remaining methods such as :meth:`!__and__` and " -":meth:`~frozenset.isdisjoint`::" -msgstr "" - -#: ../../library/collections.abc.rst:385 -msgid "" -"class ListBasedSet(collections.abc.Set):\n" -" ''' Alternate set implementation favoring space over speed\n" -" and not requiring the set elements to be hashable. '''\n" -" def __init__(self, iterable):\n" -" self.elements = lst = []\n" -" for value in iterable:\n" -" if value not in lst:\n" -" lst.append(value)\n" -"\n" -" def __iter__(self):\n" -" return iter(self.elements)\n" -"\n" -" def __contains__(self, value):\n" -" return value in self.elements\n" -"\n" -" def __len__(self):\n" -" return len(self.elements)\n" -"\n" -"s1 = ListBasedSet('abcdef')\n" -"s2 = ListBasedSet('defghi')\n" -"overlap = s1 & s2 # The __and__() method is supported automatically" -msgstr "" - -#: ../../library/collections.abc.rst:407 -msgid "Notes on using :class:`Set` and :class:`MutableSet` as a mixin:" -msgstr "" - -#: ../../library/collections.abc.rst:410 -msgid "" -"Since some set operations create new sets, the default mixin methods need a " -"way to create new instances from an :term:`iterable`. The class constructor " -"is assumed to have a signature in the form ``ClassName(iterable)``. That " -"assumption is factored-out to an internal :class:`classmethod` called " -":meth:`!_from_iterable` which calls ``cls(iterable)`` to produce a new set. " -"If the :class:`Set` mixin is being used in a class with a different " -"constructor signature, you will need to override :meth:`!_from_iterable` " -"with a classmethod or regular method that can construct new instances from " -"an iterable argument." -msgstr "" - -#: ../../library/collections.abc.rst:421 -msgid "" -"To override the comparisons (presumably for speed, as the semantics are " -"fixed), redefine :meth:`~object.__le__` and :meth:`~object.__ge__`, then the" -" other operations will automatically follow suit." -msgstr "" - -#: ../../library/collections.abc.rst:427 -msgid "" -"The :class:`Set` mixin provides a :meth:`!_hash` method to compute a hash " -"value for the set; however, :meth:`~object.__hash__` is not defined because " -"not all sets are :term:`hashable` or immutable. To add set hashability " -"using mixins, inherit from both :meth:`Set` and :meth:`Hashable`, then " -"define ``__hash__ = Set._hash``." -msgstr "" - -#: ../../library/collections.abc.rst:435 -msgid "" -"`OrderedSet recipe `_ for an " -"example built on :class:`MutableSet`." -msgstr "" - -#: ../../library/collections.abc.rst:438 -msgid "For more about ABCs, see the :mod:`abc` module and :pep:`3119`." -msgstr "" diff --git a/python-newest.library--colorsys/id.po b/python-newest.library--colorsys/id.po deleted file mode 100644 index e904d6d..0000000 --- a/python-newest.library--colorsys/id.po +++ /dev/null @@ -1,89 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/colorsys.rst:2 -msgid ":mod:`!colorsys` --- Conversions between color systems" -msgstr "" - -#: ../../library/colorsys.rst:9 -msgid "**Source code:** :source:`Lib/colorsys.py`" -msgstr "" - -#: ../../library/colorsys.rst:13 -msgid "" -"The :mod:`colorsys` module defines bidirectional conversions of color values" -" between colors expressed in the RGB (Red Green Blue) color space used in " -"computer monitors and three other coordinate systems: YIQ, HLS (Hue " -"Lightness Saturation) and HSV (Hue Saturation Value). Coordinates in all of" -" these color spaces are floating-point values. In the YIQ space, the Y " -"coordinate is between 0 and 1, but the I and Q coordinates can be positive " -"or negative. In all other spaces, the coordinates are all between 0 and 1." -msgstr "" - -#: ../../library/colorsys.rst:23 -msgid "" -"More information about color spaces can be found at " -"https://poynton.ca/ColorFAQ.html and " -"https://www.cambridgeincolour.com/tutorials/color-spaces.htm." -msgstr "" - -#: ../../library/colorsys.rst:27 -msgid "The :mod:`colorsys` module defines the following functions:" -msgstr "" - -#: ../../library/colorsys.rst:32 -msgid "Convert the color from RGB coordinates to YIQ coordinates." -msgstr "" - -#: ../../library/colorsys.rst:37 -msgid "Convert the color from YIQ coordinates to RGB coordinates." -msgstr "" - -#: ../../library/colorsys.rst:42 -msgid "Convert the color from RGB coordinates to HLS coordinates." -msgstr "" - -#: ../../library/colorsys.rst:47 -msgid "Convert the color from HLS coordinates to RGB coordinates." -msgstr "" - -#: ../../library/colorsys.rst:52 -msgid "Convert the color from RGB coordinates to HSV coordinates." -msgstr "" - -#: ../../library/colorsys.rst:57 -msgid "Convert the color from HSV coordinates to RGB coordinates." -msgstr "" - -#: ../../library/colorsys.rst:59 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/colorsys.rst:61 -msgid "" -">>> import colorsys\n" -">>> colorsys.rgb_to_hsv(0.2, 0.4, 0.4)\n" -"(0.5, 0.5, 0.4)\n" -">>> colorsys.hsv_to_rgb(0.5, 0.5, 0.4)\n" -"(0.2, 0.4, 0.4)" -msgstr "" diff --git a/python-newest.library--compileall/id.po b/python-newest.library--compileall/id.po deleted file mode 100644 index 9c8a32b..0000000 --- a/python-newest.library--compileall/id.po +++ /dev/null @@ -1,414 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/compileall.rst:2 -msgid ":mod:`!compileall` --- Byte-compile Python libraries" -msgstr "" - -#: ../../library/compileall.rst:7 -msgid "**Source code:** :source:`Lib/compileall.py`" -msgstr "" - -#: ../../library/compileall.rst:11 -msgid "" -"This module provides some utility functions to support installing Python " -"libraries. These functions compile Python source files in a directory tree." -" This module can be used to create the cached byte-code files at library " -"installation time, which makes them available for use even by users who " -"don't have write permission to the library directories." -msgstr "" - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/compileall.rst:22 -msgid "Command-line use" -msgstr "" - -#: ../../library/compileall.rst:24 -msgid "" -"This module can work as a script (using :program:`python -m compileall`) to " -"compile Python sources." -msgstr "" - -#: ../../library/compileall.rst:32 -msgid "" -"Positional arguments are files to compile or directories that contain source" -" files, traversed recursively. If no argument is given, behave as if the " -"command line was :samp:`-l {}`." -msgstr "" - -#: ../../library/compileall.rst:38 -msgid "" -"Do not recurse into subdirectories, only compile source code files directly " -"contained in the named or implied directories." -msgstr "" - -#: ../../library/compileall.rst:43 -msgid "Force rebuild even if timestamps are up-to-date." -msgstr "" - -#: ../../library/compileall.rst:47 -msgid "" -"Do not print the list of files compiled. If passed once, error messages will" -" still be printed. If passed twice (``-qq``), all output is suppressed." -msgstr "" - -#: ../../library/compileall.rst:52 -msgid "" -"Directory prepended to the path to each file being compiled. This will " -"appear in compilation time tracebacks, and is also compiled in to the byte-" -"code file, where it will be used in tracebacks and other messages in cases " -"where the source file does not exist at the time the byte-code file is " -"executed." -msgstr "" - -#: ../../library/compileall.rst:61 -msgid "" -"Remove (``-s``) or append (``-p``) the given prefix of paths recorded in the" -" ``.pyc`` files. Cannot be combined with ``-d``." -msgstr "" - -#: ../../library/compileall.rst:67 -msgid "" -"regex is used to search the full path to each file considered for " -"compilation, and if the regex produces a match, the file is skipped." -msgstr "" - -#: ../../library/compileall.rst:72 -msgid "" -"Read the file ``list`` and add each line that it contains to the list of " -"files and directories to compile. If ``list`` is ``-``, read lines from " -"``stdin``." -msgstr "" - -#: ../../library/compileall.rst:78 -msgid "" -"Write the byte-code files to their legacy locations and names, which may " -"overwrite byte-code files created by another version of Python. The default" -" is to write files to their :pep:`3147` locations and names, which allows " -"byte-code files from multiple versions of Python to coexist." -msgstr "" - -#: ../../library/compileall.rst:85 -msgid "" -"Control the maximum recursion level for subdirectories. If this is given, " -"then ``-l`` option will not be taken into account. :program:`python -m " -"compileall -r 0` is equivalent to :program:`python -m compileall" -" -l`." -msgstr "" - -#: ../../library/compileall.rst:92 -msgid "" -"Use *N* workers to compile the files within the given directory. If ``0`` is" -" used, then the result of :func:`os.process_cpu_count` will be used." -msgstr "" - -#: ../../library/compileall.rst:98 -msgid "" -"Control how the generated byte-code files are invalidated at runtime. The " -"``timestamp`` value, means that ``.pyc`` files with the source timestamp and" -" size embedded will be generated. The ``checked-hash`` and ``unchecked-" -"hash`` values cause hash-based pycs to be generated. Hash-based pycs embed a" -" hash of the source file contents rather than a timestamp. See :ref:`pyc-" -"invalidation` for more information on how Python validates bytecode cache " -"files at runtime. The default is ``timestamp`` if the " -":envvar:`SOURCE_DATE_EPOCH` environment variable is not set, and ``checked-" -"hash`` if the ``SOURCE_DATE_EPOCH`` environment variable is set." -msgstr "" - -#: ../../library/compileall.rst:111 -msgid "" -"Compile with the given optimization level. May be used multiple times to " -"compile for multiple levels at a time (for example, ``compileall -o 1 -o " -"2``)." -msgstr "" - -#: ../../library/compileall.rst:117 -msgid "Ignore symlinks pointing outside the given directory." -msgstr "" - -#: ../../library/compileall.rst:121 -msgid "" -"If two ``.pyc`` files with different optimization level have the same " -"content, use hard links to consolidate duplicate files." -msgstr "" - -#: ../../library/compileall.rst:124 -msgid "Added the ``-i``, ``-b`` and ``-h`` options." -msgstr "" - -#: ../../library/compileall.rst:127 -msgid "" -"Added the ``-j``, ``-r``, and ``-qq`` options. ``-q`` option was changed " -"to a multilevel value. ``-b`` will always produce a byte-code file ending " -"in ``.pyc``, never ``.pyo``." -msgstr "" - -#: ../../library/compileall.rst:132 -msgid "Added the ``--invalidation-mode`` option." -msgstr "" - -#: ../../library/compileall.rst:135 -msgid "" -"Added the ``-s``, ``-p``, ``-e`` and ``--hardlink-dupes`` options. Raised " -"the default recursion limit from 10 to :py:func:`sys.getrecursionlimit()`. " -"Added the possibility to specify the ``-o`` option multiple times." -msgstr "" - -#: ../../library/compileall.rst:142 -msgid "" -"There is no command-line option to control the optimization level used by " -"the :func:`compile` function, because the Python interpreter itself already " -"provides the option: :program:`python -O -m compileall`." -msgstr "" - -#: ../../library/compileall.rst:146 -msgid "" -"Similarly, the :func:`compile` function respects the " -":data:`sys.pycache_prefix` setting. The generated bytecode cache will only " -"be useful if :func:`compile` is run with the same :data:`sys.pycache_prefix`" -" (if any) that will be used at runtime." -msgstr "" - -#: ../../library/compileall.rst:152 -msgid "Public functions" -msgstr "" - -#: ../../library/compileall.rst:156 -msgid "" -"Recursively descend the directory tree named by *dir*, compiling all " -":file:`.py` files along the way. Return a true value if all the files " -"compiled successfully, and a false value otherwise." -msgstr "" - -#: ../../library/compileall.rst:160 -msgid "" -"The *maxlevels* parameter is used to limit the depth of the recursion; it " -"defaults to ``sys.getrecursionlimit()``." -msgstr "" - -#: ../../library/compileall.rst:163 -msgid "" -"If *ddir* is given, it is prepended to the path to each file being compiled " -"for use in compilation time tracebacks, and is also compiled in to the byte-" -"code file, where it will be used in tracebacks and other messages in cases " -"where the source file does not exist at the time the byte-code file is " -"executed." -msgstr "" - -#: ../../library/compileall.rst:169 -msgid "" -"If *force* is true, modules are re-compiled even if the timestamps are up to" -" date." -msgstr "" - -#: ../../library/compileall.rst:172 -msgid "" -"If *rx* is given, its ``search`` method is called on the complete path to " -"each file considered for compilation, and if it returns a true value, the " -"file is skipped. This can be used to exclude files matching a regular " -"expression, given as a :ref:`re.Pattern ` object." -msgstr "" - -#: ../../library/compileall.rst:177 ../../library/compileall.rst:254 -msgid "" -"If *quiet* is ``False`` or ``0`` (the default), the filenames and other " -"information are printed to standard out. Set to ``1``, only errors are " -"printed. Set to ``2``, all output is suppressed." -msgstr "" - -#: ../../library/compileall.rst:181 ../../library/compileall.rst:258 -msgid "" -"If *legacy* is true, byte-code files are written to their legacy locations " -"and names, which may overwrite byte-code files created by another version of" -" Python. The default is to write files to their :pep:`3147` locations and " -"names, which allows byte-code files from multiple versions of Python to " -"coexist." -msgstr "" - -#: ../../library/compileall.rst:187 ../../library/compileall.rst:264 -msgid "" -"*optimize* specifies the optimization level for the compiler. It is passed " -"to the built-in :func:`compile` function. Accepts also a sequence of " -"optimization levels which lead to multiple compilations of one :file:`.py` " -"file in one call." -msgstr "" - -#: ../../library/compileall.rst:191 -msgid "" -"The argument *workers* specifies how many workers are used to compile files " -"in parallel. The default is to not use multiple workers. If the platform " -"can't use multiple workers and *workers* argument is given, then sequential " -"compilation will be used as a fallback. If *workers* is 0, the number of " -"cores in the system is used. If *workers* is lower than ``0``, a " -":exc:`ValueError` will be raised." -msgstr "" - -#: ../../library/compileall.rst:198 ../../library/compileall.rst:268 -msgid "" -"*invalidation_mode* should be a member of the " -":class:`py_compile.PycInvalidationMode` enum and controls how the generated " -"pycs are invalidated at runtime." -msgstr "" - -#: ../../library/compileall.rst:202 ../../library/compileall.rst:272 -msgid "" -"The *stripdir*, *prependdir* and *limit_sl_dest* arguments correspond to the" -" ``-s``, ``-p`` and ``-e`` options described above. They may be specified as" -" ``str`` or :py:class:`os.PathLike`." -msgstr "" - -#: ../../library/compileall.rst:206 ../../library/compileall.rst:276 -msgid "" -"If *hardlink_dupes* is true and two ``.pyc`` files with different " -"optimization level have the same content, use hard links to consolidate " -"duplicate files." -msgstr "" - -#: ../../library/compileall.rst:209 ../../library/compileall.rst:307 -msgid "Added the *legacy* and *optimize* parameter." -msgstr "" - -#: ../../library/compileall.rst:212 -msgid "Added the *workers* parameter." -msgstr "" - -#: ../../library/compileall.rst:215 ../../library/compileall.rst:281 -#: ../../library/compileall.rst:310 -msgid "*quiet* parameter was changed to a multilevel value." -msgstr "" - -#: ../../library/compileall.rst:218 ../../library/compileall.rst:284 -#: ../../library/compileall.rst:313 -msgid "" -"The *legacy* parameter only writes out ``.pyc`` files, not ``.pyo`` files no" -" matter what the value of *optimize* is." -msgstr "" - -#: ../../library/compileall.rst:222 -msgid "Accepts a :term:`path-like object`." -msgstr "Menerima sebuah :term:`path-like object`." - -#: ../../library/compileall.rst:225 ../../library/compileall.rst:288 -#: ../../library/compileall.rst:317 -msgid "The *invalidation_mode* parameter was added." -msgstr "" - -#: ../../library/compileall.rst:228 ../../library/compileall.rst:291 -#: ../../library/compileall.rst:320 -msgid "" -"The *invalidation_mode* parameter's default value is updated to ``None``." -msgstr "" - -#: ../../library/compileall.rst:231 -msgid "Setting *workers* to 0 now chooses the optimal number of cores." -msgstr "" - -#: ../../library/compileall.rst:234 -msgid "" -"Added *stripdir*, *prependdir*, *limit_sl_dest* and *hardlink_dupes* " -"arguments. Default value of *maxlevels* was changed from ``10`` to " -"``sys.getrecursionlimit()``" -msgstr "" - -#: ../../library/compileall.rst:240 -msgid "" -"Compile the file with path *fullname*. Return a true value if the file " -"compiled successfully, and a false value otherwise." -msgstr "" - -#: ../../library/compileall.rst:243 -msgid "" -"If *ddir* is given, it is prepended to the path to the file being compiled " -"for use in compilation time tracebacks, and is also compiled in to the byte-" -"code file, where it will be used in tracebacks and other messages in cases " -"where the source file does not exist at the time the byte-code file is " -"executed." -msgstr "" - -#: ../../library/compileall.rst:249 -msgid "" -"If *rx* is given, its ``search`` method is passed the full path name to the " -"file being compiled, and if it returns a true value, the file is not " -"compiled and ``True`` is returned. This can be used to exclude files " -"matching a regular expression, given as a :ref:`re.Pattern ` " -"object." -msgstr "" - -#: ../../library/compileall.rst:294 -msgid "" -"Added *stripdir*, *prependdir*, *limit_sl_dest* and *hardlink_dupes* " -"arguments." -msgstr "" - -#: ../../library/compileall.rst:299 -msgid "" -"Byte-compile all the :file:`.py` files found along ``sys.path``. Return a " -"true value if all the files compiled successfully, and a false value " -"otherwise." -msgstr "" - -#: ../../library/compileall.rst:302 -msgid "" -"If *skip_curdir* is true (the default), the current directory is not " -"included in the search. All other parameters are passed to the " -":func:`compile_dir` function. Note that unlike the other compile functions," -" ``maxlevels`` defaults to ``0``." -msgstr "" - -#: ../../library/compileall.rst:323 -msgid "" -"To force a recompile of all the :file:`.py` files in the :file:`Lib/` " -"subdirectory and all its subdirectories::" -msgstr "" - -#: ../../library/compileall.rst:326 -msgid "" -"import compileall\n" -"\n" -"compileall.compile_dir('Lib/', force=True)\n" -"\n" -"# Perform same compilation, excluding files in .svn directories.\n" -"import re\n" -"compileall.compile_dir('Lib/', rx=re.compile(r'[/\\\\][.]svn'), force=True)\n" -"\n" -"# pathlib.Path objects can also be used.\n" -"import pathlib\n" -"compileall.compile_dir(pathlib.Path('Lib/'), force=True)" -msgstr "" - -#: ../../library/compileall.rst:340 -msgid "Module :mod:`py_compile`" -msgstr "" - -#: ../../library/compileall.rst:341 -msgid "Byte-compile a single source file." -msgstr "" diff --git a/python-newest.library--concurrency/id.po b/python-newest.library--concurrency/id.po deleted file mode 100644 index 3124e2a..0000000 --- a/python-newest.library--concurrency/id.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/concurrency.rst:5 -msgid "Concurrent Execution" -msgstr "Eksekusi Serentak" - -#: ../../library/concurrency.rst:7 -msgid "" -"The modules described in this chapter provide support for concurrent " -"execution of code. The appropriate choice of tool will depend on the task to" -" be executed (CPU bound vs IO bound) and preferred style of development " -"(event driven cooperative multitasking vs preemptive multitasking). Here's " -"an overview:" -msgstr "" -"Modul yang dijelaskan dalam bab ini memberikan dukungan untuk eksekusi kode " -"secara bersamaan. Pilihan alat yang tepat akan tergantung pada tugas yang " -"akan dijalankan (CPU terikat vs IO terikat) dan gaya yang dipilih saat " -"pembuatan (multitasking koperatif yang dipicu kejadian vs multitasking " -"preemptif). Berikut ini ikhtisar:" - -#: ../../library/concurrency.rst:27 -msgid "The following are support modules for some of the above services:" -msgstr "Berikut ini adalah modul pendukung untuk beberapa layanan di atas:" diff --git a/python-newest.library--concurrent/id.po b/python-newest.library--concurrent/id.po deleted file mode 100644 index d733d9a..0000000 --- a/python-newest.library--concurrent/id.po +++ /dev/null @@ -1,34 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/concurrent.rst:2 -msgid "The :mod:`!concurrent` package" -msgstr "" - -#: ../../library/concurrent.rst:4 -msgid "Currently, there is only one module in this package:" -msgstr "Saat ini hanya ada satu modul di paket ini:" - -#: ../../library/concurrent.rst:6 -msgid ":mod:`concurrent.futures` -- Launching parallel tasks" -msgstr ":mod:`concurrent.futures` -- Menjalankan tugas-tugas paralel" diff --git a/python-newest.library--concurrent_futures/id.po b/python-newest.library--concurrent_futures/id.po deleted file mode 100644 index cd77d9c..0000000 --- a/python-newest.library--concurrent_futures/id.po +++ /dev/null @@ -1,931 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/concurrent.futures.rst:2 -msgid ":mod:`!concurrent.futures` --- Launching parallel tasks" -msgstr "" - -#: ../../library/concurrent.futures.rst:9 -msgid "" -"**Source code:** :source:`Lib/concurrent/futures/thread.py`, " -":source:`Lib/concurrent/futures/process.py`, and " -":source:`Lib/concurrent/futures/interpreter.py`" -msgstr "" - -#: ../../library/concurrent.futures.rst:15 -msgid "" -"The :mod:`concurrent.futures` module provides a high-level interface for " -"asynchronously executing callables." -msgstr "" - -#: ../../library/concurrent.futures.rst:18 -msgid "" -"The asynchronous execution can be performed with threads, using " -":class:`ThreadPoolExecutor` or :class:`InterpreterPoolExecutor`, or separate" -" processes, using :class:`ProcessPoolExecutor`. Each implements the same " -"interface, which is defined by the abstract :class:`Executor` class." -msgstr "" - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/concurrent.futures.rst:27 -msgid "Executor Objects" -msgstr "" - -#: ../../library/concurrent.futures.rst:31 -msgid "" -"An abstract class that provides methods to execute calls asynchronously. It" -" should not be used directly, but through its concrete subclasses." -msgstr "" - -#: ../../library/concurrent.futures.rst:36 -msgid "" -"Schedules the callable, *fn*, to be executed as ``fn(*args, **kwargs)`` and " -"returns a :class:`Future` object representing the execution of the callable." -" ::" -msgstr "" - -#: ../../library/concurrent.futures.rst:40 -msgid "" -"with ThreadPoolExecutor(max_workers=1) as executor:\n" -" future = executor.submit(pow, 323, 1235)\n" -" print(future.result())" -msgstr "" - -#: ../../library/concurrent.futures.rst:46 -msgid "Similar to :func:`map(fn, *iterables) ` except:" -msgstr "" - -#: ../../library/concurrent.futures.rst:48 -msgid "" -"The *iterables* are collected immediately rather than lazily, unless a " -"*buffersize* is specified to limit the number of submitted tasks whose " -"results have not yet been yielded. If the buffer is full, iteration over the" -" *iterables* pauses until a result is yielded from the buffer." -msgstr "" - -#: ../../library/concurrent.futures.rst:53 -msgid "" -"*fn* is executed asynchronously and several calls to *fn* may be made " -"concurrently." -msgstr "" - -#: ../../library/concurrent.futures.rst:56 -msgid "" -"The returned iterator raises a :exc:`TimeoutError` if " -":meth:`~iterator.__next__` is called and the result isn't available after " -"*timeout* seconds from the original call to :meth:`Executor.map`. *timeout* " -"can be an int or a float. If *timeout* is not specified or ``None``, there " -"is no limit to the wait time." -msgstr "" - -#: ../../library/concurrent.futures.rst:62 -msgid "" -"If a *fn* call raises an exception, then that exception will be raised when " -"its value is retrieved from the iterator." -msgstr "" - -#: ../../library/concurrent.futures.rst:65 -msgid "" -"When using :class:`ProcessPoolExecutor`, this method chops *iterables* into " -"a number of chunks which it submits to the pool as separate tasks. The " -"(approximate) size of these chunks can be specified by setting *chunksize* " -"to a positive integer. For very long iterables, using a large value for " -"*chunksize* can significantly improve performance compared to the default " -"size of 1. With :class:`ThreadPoolExecutor` and " -":class:`InterpreterPoolExecutor`, *chunksize* has no effect." -msgstr "" - -#: ../../library/concurrent.futures.rst:74 -msgid "Added the *chunksize* parameter." -msgstr "" - -#: ../../library/concurrent.futures.rst:77 -msgid "Added the *buffersize* parameter." -msgstr "" - -#: ../../library/concurrent.futures.rst:82 -msgid "" -"Signal the executor that it should free any resources that it is using when " -"the currently pending futures are done executing. Calls to " -":meth:`Executor.submit` and :meth:`Executor.map` made after shutdown will " -"raise :exc:`RuntimeError`." -msgstr "" - -#: ../../library/concurrent.futures.rst:87 -msgid "" -"If *wait* is ``True`` then this method will not return until all the pending" -" futures are done executing and the resources associated with the executor " -"have been freed. If *wait* is ``False`` then this method will return " -"immediately and the resources associated with the executor will be freed " -"when all pending futures are done executing. Regardless of the value of " -"*wait*, the entire Python program will not exit until all pending futures " -"are done executing." -msgstr "" - -#: ../../library/concurrent.futures.rst:95 -msgid "" -"If *cancel_futures* is ``True``, this method will cancel all pending futures" -" that the executor has not started running. Any futures that are completed " -"or running won't be cancelled, regardless of the value of *cancel_futures*." -msgstr "" - -#: ../../library/concurrent.futures.rst:100 -msgid "" -"If both *cancel_futures* and *wait* are ``True``, all futures that the " -"executor has started running will be completed prior to this method " -"returning. The remaining futures are cancelled." -msgstr "" - -#: ../../library/concurrent.futures.rst:104 -msgid "" -"You can avoid having to call this method explicitly if you use the " -":keyword:`with` statement, which will shutdown the :class:`Executor` " -"(waiting as if :meth:`Executor.shutdown` were called with *wait* set to " -"``True``)::" -msgstr "" - -#: ../../library/concurrent.futures.rst:109 -msgid "" -"import shutil\n" -"with ThreadPoolExecutor(max_workers=4) as e:\n" -" e.submit(shutil.copy, 'src1.txt', 'dest1.txt')\n" -" e.submit(shutil.copy, 'src2.txt', 'dest2.txt')\n" -" e.submit(shutil.copy, 'src3.txt', 'dest3.txt')\n" -" e.submit(shutil.copy, 'src4.txt', 'dest4.txt')" -msgstr "" - -#: ../../library/concurrent.futures.rst:116 -msgid "Added *cancel_futures*." -msgstr "" - -#: ../../library/concurrent.futures.rst:121 -msgid "ThreadPoolExecutor" -msgstr "" - -#: ../../library/concurrent.futures.rst:123 -msgid "" -":class:`ThreadPoolExecutor` is an :class:`Executor` subclass that uses a " -"pool of threads to execute calls asynchronously." -msgstr "" - -#: ../../library/concurrent.futures.rst:126 -msgid "" -"Deadlocks can occur when the callable associated with a :class:`Future` " -"waits on the results of another :class:`Future`. For example::" -msgstr "" - -#: ../../library/concurrent.futures.rst:129 -msgid "" -"import time\n" -"def wait_on_b():\n" -" time.sleep(5)\n" -" print(b.result()) # b will never complete because it is waiting on a.\n" -" return 5\n" -"\n" -"def wait_on_a():\n" -" time.sleep(5)\n" -" print(a.result()) # a will never complete because it is waiting on b.\n" -" return 6\n" -"\n" -"\n" -"executor = ThreadPoolExecutor(max_workers=2)\n" -"a = executor.submit(wait_on_b)\n" -"b = executor.submit(wait_on_a)" -msgstr "" - -#: ../../library/concurrent.futures.rst:145 -msgid "And::" -msgstr "" - -#: ../../library/concurrent.futures.rst:147 -msgid "" -"def wait_on_future():\n" -" f = executor.submit(pow, 5, 2)\n" -" # This will never complete because there is only one worker thread and\n" -" # it is executing this function.\n" -" print(f.result())\n" -"\n" -"executor = ThreadPoolExecutor(max_workers=1)\n" -"executor.submit(wait_on_future)" -msgstr "" - -#: ../../library/concurrent.futures.rst:159 -msgid "" -"An :class:`Executor` subclass that uses a pool of at most *max_workers* " -"threads to execute calls asynchronously." -msgstr "" - -#: ../../library/concurrent.futures.rst:162 -msgid "" -"All threads enqueued to ``ThreadPoolExecutor`` will be joined before the " -"interpreter can exit. Note that the exit handler which does this is executed" -" *before* any exit handlers added using ``atexit``. This means exceptions in" -" the main thread must be caught and handled in order to signal threads to " -"exit gracefully. For this reason, it is recommended that " -"``ThreadPoolExecutor`` not be used for long-running tasks." -msgstr "" - -#: ../../library/concurrent.futures.rst:169 -msgid "" -"*initializer* is an optional callable that is called at the start of each " -"worker thread; *initargs* is a tuple of arguments passed to the initializer." -" Should *initializer* raise an exception, all currently pending jobs will " -"raise a :exc:`~concurrent.futures.thread.BrokenThreadPool`, as well as any " -"attempt to submit more jobs to the pool." -msgstr "" - -#: ../../library/concurrent.futures.rst:175 -msgid "" -"If *max_workers* is ``None`` or not given, it will default to the number of " -"processors on the machine, multiplied by ``5``, assuming that " -":class:`ThreadPoolExecutor` is often used to overlap I/O instead of CPU work" -" and the number of workers should be higher than the number of workers for " -":class:`ProcessPoolExecutor`." -msgstr "" - -#: ../../library/concurrent.futures.rst:183 -msgid "" -"Added the *thread_name_prefix* parameter to allow users to control the " -":class:`threading.Thread` names for worker threads created by the pool for " -"easier debugging." -msgstr "" - -#: ../../library/concurrent.futures.rst:188 -#: ../../library/concurrent.futures.rst:401 -msgid "Added the *initializer* and *initargs* arguments." -msgstr "" - -#: ../../library/concurrent.futures.rst:191 -msgid "" -"Default value of *max_workers* is changed to ``min(32, os.cpu_count() + " -"4)``. This default value preserves at least 5 workers for I/O bound tasks. " -"It utilizes at most 32 CPU cores for CPU bound tasks which release the GIL. " -"And it avoids using very large resources implicitly on many-core machines." -msgstr "" - -#: ../../library/concurrent.futures.rst:197 -msgid "" -"ThreadPoolExecutor now reuses idle worker threads before starting " -"*max_workers* worker threads too." -msgstr "" - -#: ../../library/concurrent.futures.rst:200 -msgid "" -"Default value of *max_workers* is changed to ``min(32, " -"(os.process_cpu_count() or 1) + 4)``." -msgstr "" - -#: ../../library/concurrent.futures.rst:208 -msgid "ThreadPoolExecutor Example" -msgstr "" - -#: ../../library/concurrent.futures.rst:211 -msgid "" -"import concurrent.futures\n" -"import urllib.request\n" -"\n" -"URLS = ['http://www.foxnews.com/',\n" -" 'http://www.cnn.com/',\n" -" 'http://europe.wsj.com/',\n" -" 'http://www.bbc.co.uk/',\n" -" 'http://nonexistent-subdomain.python.org/']\n" -"\n" -"# Retrieve a single page and report the URL and contents\n" -"def load_url(url, timeout):\n" -" with urllib.request.urlopen(url, timeout=timeout) as conn:\n" -" return conn.read()\n" -"\n" -"# We can use a with statement to ensure threads are cleaned up promptly\n" -"with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:\n" -" # Start the load operations and mark each future with its URL\n" -" future_to_url = {executor.submit(load_url, url, 60): url for url in URLS}\n" -" for future in concurrent.futures.as_completed(future_to_url):\n" -" url = future_to_url[future]\n" -" try:\n" -" data = future.result()\n" -" except Exception as exc:\n" -" print('%r generated an exception: %s' % (url, exc))\n" -" else:\n" -" print('%r page is %d bytes' % (url, len(data)))" -msgstr "" - -#: ../../library/concurrent.futures.rst:240 -msgid "InterpreterPoolExecutor" -msgstr "" - -#: ../../library/concurrent.futures.rst:242 -msgid "" -"The :class:`InterpreterPoolExecutor` class uses a pool of interpreters to " -"execute calls asynchronously. It is a :class:`ThreadPoolExecutor` subclass," -" which means each worker is running in its own thread. The difference here " -"is that each worker has its own interpreter, and runs each task using that " -"interpreter." -msgstr "" - -#: ../../library/concurrent.futures.rst:248 -msgid "" -"The biggest benefit to using interpreters instead of only threads is true " -"multi-core parallelism. Each interpreter has its own :term:`Global " -"Interpreter Lock `, so code running in one " -"interpreter can run on one CPU core, while code in another interpreter runs " -"unblocked on a different core." -msgstr "" - -#: ../../library/concurrent.futures.rst:254 -msgid "" -"The tradeoff is that writing concurrent code for use with multiple " -"interpreters can take extra effort. However, this is because it forces you " -"to be deliberate about how and when interpreters interact, and to be " -"explicit about what data is shared between interpreters. This results in " -"several benefits that help balance the extra effort, including true multi-" -"core parallelism, For example, code written this way can make it easier to " -"reason about concurrency. Another major benefit is that you don't have to " -"deal with several of the big pain points of using threads, like race " -"conditions." -msgstr "" - -#: ../../library/concurrent.futures.rst:264 -msgid "" -"Each worker's interpreter is isolated from all the other interpreters. " -"\"Isolated\" means each interpreter has its own runtime state and operates " -"completely independently. For example, if you redirect :data:`sys.stdout` " -"in one interpreter, it will not be automatically redirected any other " -"interpreter. If you import a module in one interpreter, it is not " -"automatically imported in any other. You would need to import the module " -"separately in interpreter where you need it. In fact, each module imported " -"in an interpreter is a completely separate object from the same module in a " -"different interpreter, including :mod:`sys`, :mod:`builtins`, and even " -"``__main__``." -msgstr "" - -#: ../../library/concurrent.futures.rst:276 -msgid "" -"Isolation means a mutable object, or other data, cannot be used by more than" -" one interpreter at the same time. That effectively means interpreters " -"cannot actually share such objects or data. Instead, each interpreter must " -"have its own copy, and you will have to synchronize any changes between the " -"copies manually. Immutable objects and data, like the builtin singletons, " -"strings, and tuples of immutable objects, don't have these limitations." -msgstr "" - -#: ../../library/concurrent.futures.rst:284 -msgid "" -"Communicating and synchronizing between interpreters is most effectively " -"done using dedicated tools, like those proposed in :pep:`734`. One less " -"efficient alternative is to serialize with :mod:`pickle` and then send the " -"bytes over a shared :mod:`socket ` or :func:`pipe `." -msgstr "" - -#: ../../library/concurrent.futures.rst:292 -msgid "" -"A :class:`ThreadPoolExecutor` subclass that executes calls asynchronously " -"using a pool of at most *max_workers* threads. Each thread runs tasks in " -"its own interpreter. The worker interpreters are isolated from each other, " -"which means each has its own runtime state and that they can't share any " -"mutable objects or other data. Each interpreter has its own :term:`Global " -"Interpreter Lock `, which means code run with this " -"executor has true multi-core parallelism." -msgstr "" - -#: ../../library/concurrent.futures.rst:300 -msgid "" -"The optional *initializer* and *initargs* arguments have the same meaning as" -" for :class:`!ThreadPoolExecutor`: the initializer is run when each worker " -"is created, though in this case it is run in the worker's interpreter. The " -"executor serializes the *initializer* and *initargs* using :mod:`pickle` " -"when sending them to the worker's interpreter." -msgstr "" - -#: ../../library/concurrent.futures.rst:308 -#: ../../library/concurrent.futures.rst:330 -msgid "" -"Functions defined in the ``__main__`` module cannot be pickled and thus " -"cannot be used." -msgstr "" - -#: ../../library/concurrent.futures.rst:312 -msgid "" -"The executor may replace uncaught exceptions from *initializer* with " -":class:`~concurrent.futures.interpreter.ExecutionFailed`." -msgstr "" - -#: ../../library/concurrent.futures.rst:315 -msgid "" -"The optional *shared* argument is a :class:`dict` of objects that all " -"interpreters in the pool share. The *shared* items are added to each " -"interpreter's ``__main__`` module. Not all objects are shareable. Shareable" -" objects include the builtin singletons, :class:`str` and :class:`bytes`, " -"and :class:`memoryview`. See :pep:`734` for more info." -msgstr "" - -#: ../../library/concurrent.futures.rst:322 -msgid "Other caveats from parent :class:`ThreadPoolExecutor` apply here." -msgstr "" - -#: ../../library/concurrent.futures.rst:324 -msgid "" -":meth:`~Executor.submit` and :meth:`~Executor.map` work like normal, except " -"the worker serializes the callable and arguments using :mod:`pickle` when " -"sending them to its interpreter. The worker likewise serializes the return " -"value when sending it back." -msgstr "" - -#: ../../library/concurrent.futures.rst:333 -msgid "" -"When a worker's current task raises an uncaught exception, the worker always" -" tries to preserve the exception as-is. If that is successful then it also " -"sets the ``__cause__`` to a corresponding " -":class:`~concurrent.futures.interpreter.ExecutionFailed` instance, which " -"contains a summary of the original exception. In the uncommon case that the " -"worker is not able to preserve the original as-is then it directly preserves" -" the corresponding :class:`~concurrent.futures.interpreter.ExecutionFailed` " -"instance instead." -msgstr "" - -#: ../../library/concurrent.futures.rst:345 -msgid "ProcessPoolExecutor" -msgstr "" - -#: ../../library/concurrent.futures.rst:347 -msgid "" -"The :class:`ProcessPoolExecutor` class is an :class:`Executor` subclass that" -" uses a pool of processes to execute calls asynchronously. " -":class:`ProcessPoolExecutor` uses the :mod:`multiprocessing` module, which " -"allows it to side-step the :term:`Global Interpreter Lock ` but also means that only picklable objects can be " -"executed and returned." -msgstr "" - -#: ../../library/concurrent.futures.rst:354 -msgid "" -"The ``__main__`` module must be importable by worker subprocesses. This " -"means that :class:`ProcessPoolExecutor` will not work in the interactive " -"interpreter." -msgstr "" - -#: ../../library/concurrent.futures.rst:357 -msgid "" -"Calling :class:`Executor` or :class:`Future` methods from a callable " -"submitted to a :class:`ProcessPoolExecutor` will result in deadlock." -msgstr "" - -#: ../../library/concurrent.futures.rst:362 -msgid "" -"An :class:`Executor` subclass that executes calls asynchronously using a " -"pool of at most *max_workers* processes. If *max_workers* is ``None`` or " -"not given, it will default to :func:`os.process_cpu_count`. If *max_workers*" -" is less than or equal to ``0``, then a :exc:`ValueError` will be raised. On" -" Windows, *max_workers* must be less than or equal to ``61``. If it is not " -"then :exc:`ValueError` will be raised. If *max_workers* is ``None``, then " -"the default chosen will be at most ``61``, even if more processors are " -"available. *mp_context* can be a :mod:`multiprocessing` context or ``None``." -" It will be used to launch the workers. If *mp_context* is ``None`` or not " -"given, the default :mod:`multiprocessing` context is used. See " -":ref:`multiprocessing-start-methods`." -msgstr "" - -#: ../../library/concurrent.futures.rst:376 -msgid "" -"*initializer* is an optional callable that is called at the start of each " -"worker process; *initargs* is a tuple of arguments passed to the " -"initializer. Should *initializer* raise an exception, all currently pending" -" jobs will raise a :exc:`~concurrent.futures.process.BrokenProcessPool`, as " -"well as any attempt to submit more jobs to the pool." -msgstr "" - -#: ../../library/concurrent.futures.rst:382 -msgid "" -"*max_tasks_per_child* is an optional argument that specifies the maximum " -"number of tasks a single process can execute before it will exit and be " -"replaced with a fresh worker process. By default *max_tasks_per_child* is " -"``None`` which means worker processes will live as long as the pool. When a " -"max is specified, the \"spawn\" multiprocessing start method will be used by" -" default in absence of a *mp_context* parameter. This feature is " -"incompatible with the \"fork\" start method." -msgstr "" - -#: ../../library/concurrent.futures.rst:390 -msgid "" -"When one of the worker processes terminates abruptly, a " -":exc:`~concurrent.futures.process.BrokenProcessPool` error is now raised. " -"Previously, behaviour was undefined but operations on the executor or its " -"futures would often freeze or deadlock." -msgstr "" - -#: ../../library/concurrent.futures.rst:397 -msgid "" -"The *mp_context* argument was added to allow users to control the " -"start_method for worker processes created by the pool." -msgstr "" - -#: ../../library/concurrent.futures.rst:403 -msgid "" -"The *max_tasks_per_child* argument was added to allow users to control the " -"lifetime of workers in the pool." -msgstr "" - -#: ../../library/concurrent.futures.rst:407 -msgid "" -"On POSIX systems, if your application has multiple threads and the " -":mod:`multiprocessing` context uses the ``\"fork\"`` start method: The " -":func:`os.fork` function called internally to spawn workers may raise a " -":exc:`DeprecationWarning`. Pass a *mp_context* configured to use a different" -" start method. See the :func:`os.fork` documentation for further " -"explanation." -msgstr "" - -#: ../../library/concurrent.futures.rst:415 -msgid "" -"*max_workers* uses :func:`os.process_cpu_count` by default, instead of " -":func:`os.cpu_count`." -msgstr "" - -#: ../../library/concurrent.futures.rst:419 -msgid "" -"The default process start method (see :ref:`multiprocessing-start-methods`) " -"changed away from *fork*. If you require the *fork* start method for " -":class:`ProcessPoolExecutor` you must explicitly pass " -"``mp_context=multiprocessing.get_context(\"fork\")``." -msgstr "" - -#: ../../library/concurrent.futures.rst:427 -msgid "" -"Attempt to terminate all living worker processes immediately by calling " -":meth:`Process.terminate ` on each of " -"them. Internally, it will also call :meth:`Executor.shutdown` to ensure that" -" all other resources associated with the executor are freed." -msgstr "" - -#: ../../library/concurrent.futures.rst:432 -#: ../../library/concurrent.futures.rst:444 -msgid "" -"After calling this method the caller should no longer submit tasks to the " -"executor." -msgstr "" - -#: ../../library/concurrent.futures.rst:439 -msgid "" -"Attempt to kill all living worker processes immediately by calling " -":meth:`Process.kill ` on each of them. " -"Internally, it will also call :meth:`Executor.shutdown` to ensure that all " -"other resources associated with the executor are freed." -msgstr "" - -#: ../../library/concurrent.futures.rst:452 -msgid "ProcessPoolExecutor Example" -msgstr "" - -#: ../../library/concurrent.futures.rst:455 -msgid "" -"import concurrent.futures\n" -"import math\n" -"\n" -"PRIMES = [\n" -" 112272535095293,\n" -" 112582705942171,\n" -" 112272535095293,\n" -" 115280095190773,\n" -" 115797848077099,\n" -" 1099726899285419]\n" -"\n" -"def is_prime(n):\n" -" if n < 2:\n" -" return False\n" -" if n == 2:\n" -" return True\n" -" if n % 2 == 0:\n" -" return False\n" -"\n" -" sqrt_n = int(math.floor(math.sqrt(n)))\n" -" for i in range(3, sqrt_n + 1, 2):\n" -" if n % i == 0:\n" -" return False\n" -" return True\n" -"\n" -"def main():\n" -" with concurrent.futures.ProcessPoolExecutor() as executor:\n" -" for number, prime in zip(PRIMES, executor.map(is_prime, PRIMES)):\n" -" print('%d is prime: %s' % (number, prime))\n" -"\n" -"if __name__ == '__main__':\n" -" main()" -msgstr "" - -#: ../../library/concurrent.futures.rst:490 -msgid "Future Objects" -msgstr "" - -#: ../../library/concurrent.futures.rst:492 -msgid "" -"The :class:`Future` class encapsulates the asynchronous execution of a " -"callable. :class:`Future` instances are created by :meth:`Executor.submit`." -msgstr "" - -#: ../../library/concurrent.futures.rst:497 -msgid "" -"Encapsulates the asynchronous execution of a callable. :class:`Future` " -"instances are created by :meth:`Executor.submit` and should not be created " -"directly except for testing." -msgstr "" - -#: ../../library/concurrent.futures.rst:503 -msgid "" -"Attempt to cancel the call. If the call is currently being executed or " -"finished running and cannot be cancelled then the method will return " -"``False``, otherwise the call will be cancelled and the method will return " -"``True``." -msgstr "" - -#: ../../library/concurrent.futures.rst:510 -msgid "Return ``True`` if the call was successfully cancelled." -msgstr "" - -#: ../../library/concurrent.futures.rst:514 -msgid "" -"Return ``True`` if the call is currently being executed and cannot be " -"cancelled." -msgstr "" - -#: ../../library/concurrent.futures.rst:519 -msgid "" -"Return ``True`` if the call was successfully cancelled or finished running." -msgstr "" - -#: ../../library/concurrent.futures.rst:524 -msgid "" -"Return the value returned by the call. If the call hasn't yet completed then" -" this method will wait up to *timeout* seconds. If the call hasn't " -"completed in *timeout* seconds, then a :exc:`TimeoutError` will be raised. " -"*timeout* can be an int or float. If *timeout* is not specified or " -"``None``, there is no limit to the wait time." -msgstr "" - -#: ../../library/concurrent.futures.rst:531 -#: ../../library/concurrent.futures.rst:545 -msgid "" -"If the future is cancelled before completing then :exc:`.CancelledError` " -"will be raised." -msgstr "" - -#: ../../library/concurrent.futures.rst:534 -msgid "" -"If the call raised an exception, this method will raise the same exception." -msgstr "" - -#: ../../library/concurrent.futures.rst:538 -msgid "" -"Return the exception raised by the call. If the call hasn't yet completed " -"then this method will wait up to *timeout* seconds. If the call hasn't " -"completed in *timeout* seconds, then a :exc:`TimeoutError` will be raised. " -"*timeout* can be an int or float. If *timeout* is not specified or " -"``None``, there is no limit to the wait time." -msgstr "" - -#: ../../library/concurrent.futures.rst:548 -msgid "If the call completed without raising, ``None`` is returned." -msgstr "" - -#: ../../library/concurrent.futures.rst:552 -msgid "" -"Attaches the callable *fn* to the future. *fn* will be called, with the " -"future as its only argument, when the future is cancelled or finishes " -"running." -msgstr "" - -#: ../../library/concurrent.futures.rst:556 -msgid "" -"Added callables are called in the order that they were added and are always " -"called in a thread belonging to the process that added them. If the " -"callable raises an :exc:`Exception` subclass, it will be logged and ignored." -" If the callable raises a :exc:`BaseException` subclass, the behavior is " -"undefined." -msgstr "" - -#: ../../library/concurrent.futures.rst:562 -msgid "" -"If the future has already completed or been cancelled, *fn* will be called " -"immediately." -msgstr "" - -#: ../../library/concurrent.futures.rst:565 -msgid "" -"The following :class:`Future` methods are meant for use in unit tests and " -":class:`Executor` implementations." -msgstr "" - -#: ../../library/concurrent.futures.rst:570 -msgid "" -"This method should only be called by :class:`Executor` implementations " -"before executing the work associated with the :class:`Future` and by unit " -"tests." -msgstr "" - -#: ../../library/concurrent.futures.rst:574 -msgid "" -"If the method returns ``False`` then the :class:`Future` was cancelled, i.e." -" :meth:`Future.cancel` was called and returned ``True``. Any threads " -"waiting on the :class:`Future` completing (i.e. through :func:`as_completed`" -" or :func:`wait`) will be woken up." -msgstr "" - -#: ../../library/concurrent.futures.rst:579 -msgid "" -"If the method returns ``True`` then the :class:`Future` was not cancelled " -"and has been put in the running state, i.e. calls to :meth:`Future.running` " -"will return ``True``." -msgstr "" - -#: ../../library/concurrent.futures.rst:583 -msgid "" -"This method can only be called once and cannot be called after " -":meth:`Future.set_result` or :meth:`Future.set_exception` have been called." -msgstr "" - -#: ../../library/concurrent.futures.rst:589 -msgid "" -"Sets the result of the work associated with the :class:`Future` to *result*." -msgstr "" - -#: ../../library/concurrent.futures.rst:592 -#: ../../library/concurrent.futures.rst:605 -msgid "" -"This method should only be used by :class:`Executor` implementations and " -"unit tests." -msgstr "" - -#: ../../library/concurrent.futures.rst:595 -#: ../../library/concurrent.futures.rst:608 -msgid "" -"This method raises :exc:`concurrent.futures.InvalidStateError` if the " -":class:`Future` is already done." -msgstr "" - -#: ../../library/concurrent.futures.rst:602 -msgid "" -"Sets the result of the work associated with the :class:`Future` to the " -":class:`Exception` *exception*." -msgstr "" - -#: ../../library/concurrent.futures.rst:614 -msgid "Module Functions" -msgstr "" - -#: ../../library/concurrent.futures.rst:618 -msgid "" -"Wait for the :class:`Future` instances (possibly created by different " -":class:`Executor` instances) given by *fs* to complete. Duplicate futures " -"given to *fs* are removed and will be returned only once. Returns a named " -"2-tuple of sets. The first set, named ``done``, contains the futures that " -"completed (finished or cancelled futures) before the wait completed. The " -"second set, named ``not_done``, contains the futures that did not complete " -"(pending or running futures)." -msgstr "" - -#: ../../library/concurrent.futures.rst:626 -msgid "" -"*timeout* can be used to control the maximum number of seconds to wait " -"before returning. *timeout* can be an int or float. If *timeout* is not " -"specified or ``None``, there is no limit to the wait time." -msgstr "" - -#: ../../library/concurrent.futures.rst:630 -msgid "" -"*return_when* indicates when this function should return. It must be one of" -" the following constants:" -msgstr "" - -#: ../../library/concurrent.futures.rst:636 -msgid "Constant" -msgstr "Konstanta" - -#: ../../library/concurrent.futures.rst:637 -msgid "Description" -msgstr "Deskripsi" - -#: ../../library/concurrent.futures.rst:640 -msgid "The function will return when any future finishes or is cancelled." -msgstr "" - -#: ../../library/concurrent.futures.rst:643 -msgid "" -"The function will return when any future finishes by raising an exception. " -"If no future raises an exception then it is equivalent to " -":const:`ALL_COMPLETED`." -msgstr "" - -#: ../../library/concurrent.futures.rst:648 -msgid "The function will return when all futures finish or are cancelled." -msgstr "" - -#: ../../library/concurrent.futures.rst:652 -msgid "" -"Returns an iterator over the :class:`Future` instances (possibly created by " -"different :class:`Executor` instances) given by *fs* that yields futures as " -"they complete (finished or cancelled futures). Any futures given by *fs* " -"that are duplicated will be returned once. Any futures that completed before" -" :func:`as_completed` is called will be yielded first. The returned " -"iterator raises a :exc:`TimeoutError` if :meth:`~iterator.__next__` is " -"called and the result isn't available after *timeout* seconds from the " -"original call to :func:`as_completed`. *timeout* can be an int or float. If" -" *timeout* is not specified or ``None``, there is no limit to the wait time." -msgstr "" - -#: ../../library/concurrent.futures.rst:665 -msgid ":pep:`3148` -- futures - execute computations asynchronously" -msgstr "" - -#: ../../library/concurrent.futures.rst:666 -msgid "" -"The proposal which described this feature for inclusion in the Python " -"standard library." -msgstr "" - -#: ../../library/concurrent.futures.rst:671 -msgid "Exception classes" -msgstr "" - -#: ../../library/concurrent.futures.rst:677 -msgid "Raised when a future is cancelled." -msgstr "" - -#: ../../library/concurrent.futures.rst:681 -msgid "" -"A deprecated alias of :exc:`TimeoutError`, raised when a future operation " -"exceeds the given timeout." -msgstr "" - -#: ../../library/concurrent.futures.rst:686 -msgid "This class was made an alias of :exc:`TimeoutError`." -msgstr "" - -#: ../../library/concurrent.futures.rst:691 -msgid "" -"Derived from :exc:`RuntimeError`, this exception class is raised when an " -"executor is broken for some reason, and cannot be used to submit or execute " -"new tasks." -msgstr "" - -#: ../../library/concurrent.futures.rst:699 -msgid "" -"Raised when an operation is performed on a future that is not allowed in the" -" current state." -msgstr "" - -#: ../../library/concurrent.futures.rst:708 -msgid "" -"Derived from :exc:`~concurrent.futures.BrokenExecutor`, this exception class" -" is raised when one of the workers of a " -":class:`~concurrent.futures.ThreadPoolExecutor` has failed initializing." -msgstr "" - -#: ../../library/concurrent.futures.rst:719 -msgid "" -"Derived from :exc:`~concurrent.futures.thread.BrokenThreadPool`, this " -"exception class is raised when one of the workers of a " -":class:`~concurrent.futures.InterpreterPoolExecutor` has failed " -"initializing." -msgstr "" - -#: ../../library/concurrent.futures.rst:728 -msgid "" -"Raised from :class:`~concurrent.futures.InterpreterPoolExecutor` when the " -"given initializer fails or from :meth:`~concurrent.futures.Executor.submit` " -"when there's an uncaught exception from the submitted task." -msgstr "" - -#: ../../library/concurrent.futures.rst:739 -msgid "" -"Derived from :exc:`~concurrent.futures.BrokenExecutor` (formerly " -":exc:`RuntimeError`), this exception class is raised when one of the workers" -" of a :class:`~concurrent.futures.ProcessPoolExecutor` has terminated in a " -"non-clean fashion (for example, if it was killed from the outside)." -msgstr "" diff --git a/python-newest.library--configparser/id.po b/python-newest.library--configparser/id.po deleted file mode 100644 index 9f03ef6..0000000 --- a/python-newest.library--configparser/id.po +++ /dev/null @@ -1,1811 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/configparser.rst:2 -msgid ":mod:`!configparser` --- Configuration file parser" -msgstr "" - -#: ../../library/configparser.rst:14 -msgid "**Source code:** :source:`Lib/configparser.py`" -msgstr "" - -#: ../../library/configparser.rst:24 -msgid "" -"This module provides the :class:`ConfigParser` class which implements a " -"basic configuration language which provides a structure similar to what's " -"found in Microsoft Windows INI files. You can use this to write Python " -"programs which can be customized by end users easily." -msgstr "" - -#: ../../library/configparser.rst:31 -msgid "" -"This library does *not* interpret or write the value-type prefixes used in " -"the Windows Registry extended version of INI syntax." -msgstr "" - -#: ../../library/configparser.rst:36 -msgid "Module :mod:`tomllib`" -msgstr "" - -#: ../../library/configparser.rst:37 -msgid "" -"TOML is a well-specified format for application configuration files. It is " -"specifically designed to be an improved version of INI." -msgstr "" - -#: ../../library/configparser.rst:40 -msgid "Module :mod:`shlex`" -msgstr "" - -#: ../../library/configparser.rst:41 -msgid "" -"Support for creating Unix shell-like mini-languages which can also be used " -"for application configuration files." -msgstr "" - -#: ../../library/configparser.rst:44 -msgid "Module :mod:`json`" -msgstr "" - -#: ../../library/configparser.rst:45 -msgid "" -"The ``json`` module implements a subset of JavaScript syntax which is " -"sometimes used for configuration, but does not support comments." -msgstr "" - -#: ../../library/configparser.rst:61 -msgid "Quick Start" -msgstr "" - -#: ../../library/configparser.rst:63 -msgid "Let's take a very basic configuration file that looks like this:" -msgstr "" - -#: ../../library/configparser.rst:65 -msgid "" -"[DEFAULT]\n" -"ServerAliveInterval = 45\n" -"Compression = yes\n" -"CompressionLevel = 9\n" -"ForwardX11 = yes\n" -"\n" -"[forge.example]\n" -"User = hg\n" -"\n" -"[topsecret.server.example]\n" -"Port = 50022\n" -"ForwardX11 = no" -msgstr "" - -#: ../../library/configparser.rst:80 -msgid "" -"The structure of INI files is described `in the following section " -"<#supported-ini-file-structure>`_. Essentially, the file consists of " -"sections, each of which contains keys with values. :mod:`configparser` " -"classes can read and write such files. Let's start by creating the above " -"configuration file programmatically." -msgstr "" - -#: ../../library/configparser.rst:86 -msgid "" -">>> import configparser\n" -">>> config = configparser.ConfigParser()\n" -">>> config['DEFAULT'] = {'ServerAliveInterval': '45',\n" -"... 'Compression': 'yes',\n" -"... 'CompressionLevel': '9'}\n" -">>> config['forge.example'] = {}\n" -">>> config['forge.example']['User'] = 'hg'\n" -">>> config['topsecret.server.example'] = {}\n" -">>> topsecret = config['topsecret.server.example']\n" -">>> topsecret['Port'] = '50022' # mutates the parser\n" -">>> topsecret['ForwardX11'] = 'no' # same here\n" -">>> config['DEFAULT']['ForwardX11'] = 'yes'\n" -">>> with open('example.ini', 'w') as configfile:\n" -"... config.write(configfile)\n" -"..." -msgstr "" - -#: ../../library/configparser.rst:104 -msgid "" -"As you can see, we can treat a config parser much like a dictionary. There " -"are differences, `outlined later <#mapping-protocol-access>`_, but the " -"behavior is very close to what you would expect from a dictionary." -msgstr "" - -#: ../../library/configparser.rst:108 -msgid "" -"Now that we have created and saved a configuration file, let's read it back " -"and explore the data it holds." -msgstr "" - -#: ../../library/configparser.rst:111 -msgid "" -">>> config = configparser.ConfigParser()\n" -">>> config.sections()\n" -"[]\n" -">>> config.read('example.ini')\n" -"['example.ini']\n" -">>> config.sections()\n" -"['forge.example', 'topsecret.server.example']\n" -">>> 'forge.example' in config\n" -"True\n" -">>> 'python.org' in config\n" -"False\n" -">>> config['forge.example']['User']\n" -"'hg'\n" -">>> config['DEFAULT']['Compression']\n" -"'yes'\n" -">>> topsecret = config['topsecret.server.example']\n" -">>> topsecret['ForwardX11']\n" -"'no'\n" -">>> topsecret['Port']\n" -"'50022'\n" -">>> for key in config['forge.example']:\n" -"... print(key)\n" -"user\n" -"compressionlevel\n" -"serveraliveinterval\n" -"compression\n" -"forwardx11\n" -">>> config['forge.example']['ForwardX11']\n" -"'yes'" -msgstr "" - -#: ../../library/configparser.rst:143 -msgid "" -"As we can see above, the API is pretty straightforward. The only bit of " -"magic involves the ``DEFAULT`` section which provides default values for all" -" other sections [1]_. Note also that keys in sections are case-insensitive " -"and stored in lowercase [1]_." -msgstr "" - -#: ../../library/configparser.rst:148 ../../library/configparser.rst:1003 -msgid "" -"It is possible to read several configurations into a single " -":class:`ConfigParser`, where the most recently added configuration has the " -"highest priority. Any conflicting keys are taken from the more recent " -"configuration while the previously existing keys are retained. The example " -"below reads in an ``override.ini`` file, which will override any conflicting" -" keys from the ``example.ini`` file." -msgstr "" - -#: ../../library/configparser.rst:155 ../../library/configparser.rst:1010 -msgid "" -"[DEFAULT]\n" -"ServerAliveInterval = -1" -msgstr "" - -#: ../../library/configparser.rst:160 ../../library/configparser.rst:1015 -msgid "" -">>> config_override = configparser.ConfigParser()\n" -">>> config_override['DEFAULT'] = {'ServerAliveInterval': '-1'}\n" -">>> with open('override.ini', 'w') as configfile:\n" -"... config_override.write(configfile)\n" -"...\n" -">>> config_override = configparser.ConfigParser()\n" -">>> config_override.read(['example.ini', 'override.ini'])\n" -"['example.ini', 'override.ini']\n" -">>> print(config_override.get('DEFAULT', 'ServerAliveInterval'))\n" -"-1" -msgstr "" - -#: ../../library/configparser.rst:174 -msgid "" -"This behaviour is equivalent to a :meth:`ConfigParser.read` call with " -"several files passed to the *filenames* parameter." -msgstr "" - -#: ../../library/configparser.rst:179 -msgid "Supported Datatypes" -msgstr "" - -#: ../../library/configparser.rst:181 -msgid "" -"Config parsers do not guess datatypes of values in configuration files, " -"always storing them internally as strings. This means that if you need " -"other datatypes, you should convert on your own:" -msgstr "" - -#: ../../library/configparser.rst:185 -msgid "" -">>> int(topsecret['Port'])\n" -"50022\n" -">>> float(topsecret['CompressionLevel'])\n" -"9.0" -msgstr "" - -#: ../../library/configparser.rst:192 -msgid "" -"Since this task is so common, config parsers provide a range of handy getter" -" methods to handle integers, floats and booleans. The last one is the most " -"interesting because simply passing the value to ``bool()`` would do no good " -"since ``bool('False')`` is still ``True``. This is why config parsers also " -"provide :meth:`~ConfigParser.getboolean`. This method is case-insensitive " -"and recognizes Boolean values from ``'yes'``/``'no'``, ``'on'``/``'off'``, " -"``'true'``/``'false'`` and ``'1'``/``'0'`` [1]_. For example:" -msgstr "" - -#: ../../library/configparser.rst:200 -msgid "" -">>> topsecret.getboolean('ForwardX11')\n" -"False\n" -">>> config['forge.example'].getboolean('ForwardX11')\n" -"True\n" -">>> config.getboolean('forge.example', 'Compression')\n" -"True" -msgstr "" - -#: ../../library/configparser.rst:209 -msgid "" -"Apart from :meth:`~ConfigParser.getboolean`, config parsers also provide " -"equivalent :meth:`~ConfigParser.getint` and :meth:`~ConfigParser.getfloat` " -"methods. You can register your own converters and customize the provided " -"ones. [1]_" -msgstr "" - -#: ../../library/configparser.rst:215 -msgid "Fallback Values" -msgstr "" - -#: ../../library/configparser.rst:217 -msgid "" -"As with a dictionary, you can use a section's :meth:`~ConfigParser.get` " -"method to provide fallback values:" -msgstr "" - -#: ../../library/configparser.rst:220 -msgid "" -">>> topsecret.get('Port')\n" -"'50022'\n" -">>> topsecret.get('CompressionLevel')\n" -"'9'\n" -">>> topsecret.get('Cipher')\n" -">>> topsecret.get('Cipher', '3des-cbc')\n" -"'3des-cbc'" -msgstr "" - -#: ../../library/configparser.rst:230 -msgid "" -"Please note that default values have precedence over fallback values. For " -"instance, in our example the ``'CompressionLevel'`` key was specified only " -"in the ``'DEFAULT'`` section. If we try to get it from the section " -"``'topsecret.server.example'``, we will always get the default, even if we " -"specify a fallback:" -msgstr "" - -#: ../../library/configparser.rst:236 -msgid "" -">>> topsecret.get('CompressionLevel', '3')\n" -"'9'" -msgstr "" - -#: ../../library/configparser.rst:241 -msgid "" -"One more thing to be aware of is that the parser-level " -":meth:`~ConfigParser.get` method provides a custom, more complex interface, " -"maintained for backwards compatibility. When using this method, a fallback " -"value can be provided via the ``fallback`` keyword-only argument:" -msgstr "" - -#: ../../library/configparser.rst:246 -msgid "" -">>> config.get('forge.example', 'monster',\n" -"... fallback='No such things as monsters')\n" -"'No such things as monsters'" -msgstr "" - -#: ../../library/configparser.rst:252 -msgid "" -"The same ``fallback`` argument can be used with the " -":meth:`~ConfigParser.getint`, :meth:`~ConfigParser.getfloat` and " -":meth:`~ConfigParser.getboolean` methods, for example:" -msgstr "" - -#: ../../library/configparser.rst:256 -msgid "" -">>> 'BatchMode' in topsecret\n" -"False\n" -">>> topsecret.getboolean('BatchMode', fallback=True)\n" -"True\n" -">>> config['DEFAULT']['BatchMode'] = 'no'\n" -">>> topsecret.getboolean('BatchMode', fallback=True)\n" -"False" -msgstr "" - -#: ../../library/configparser.rst:268 -msgid "Supported INI File Structure" -msgstr "" - -#: ../../library/configparser.rst:270 -msgid "" -"A configuration file consists of sections, each led by a ``[section]`` " -"header, followed by key/value entries separated by a specific string (``=`` " -"or ``:`` by default [1]_). By default, section names are case sensitive but" -" keys are not [1]_. Leading and trailing whitespace is removed from keys " -"and values. Values can be omitted if the parser is configured to allow it " -"[1]_, in which case the key/value delimiter may also be left out. Values " -"can also span multiple lines, as long as they are indented deeper than the " -"first line of the value. Depending on the parser's mode, blank lines may be" -" treated as parts of multiline values or ignored." -msgstr "" - -#: ../../library/configparser.rst:280 -msgid "" -"By default, a valid section name can be any string that does not contain " -"'\\\\n'. To change this, see :attr:`ConfigParser.SECTCRE`." -msgstr "" - -#: ../../library/configparser.rst:283 -msgid "" -"The first section name may be omitted if the parser is configured to allow " -"an unnamed top level section with ``allow_unnamed_section=True``. In this " -"case, the keys/values may be retrieved by :const:`UNNAMED_SECTION` as in " -"``config[UNNAMED_SECTION]``." -msgstr "" - -#: ../../library/configparser.rst:288 -msgid "" -"Configuration files may include comments, prefixed by specific characters " -"(``#`` and ``;`` by default [1]_). Comments may appear on their own on an " -"otherwise empty line, possibly indented. [1]_" -msgstr "" - -#: ../../library/configparser.rst:292 ../../library/configparser.rst:376 -msgid "For example:" -msgstr "Sebagai contoh:" - -#: ../../library/configparser.rst:294 -msgid "" -"[Simple Values]\n" -"key=value\n" -"spaces in keys=allowed\n" -"spaces in values=allowed as well\n" -"spaces around the delimiter = obviously\n" -"you can also use : to delimit keys from values\n" -"\n" -"[All Values Are Strings]\n" -"values like this: 1000000\n" -"or this: 3.14159265359\n" -"are they treated as numbers? : no\n" -"integers, floats and booleans are held as: strings\n" -"can use the API to get converted values directly: true\n" -"\n" -"[Multiline Values]\n" -"chorus: I'm a lumberjack, and I'm okay\n" -" I sleep all night and I work all day\n" -"\n" -"[No Values]\n" -"key_without_value\n" -"empty string value here =\n" -"\n" -"[You can use comments]\n" -"# like this\n" -"; or this\n" -"\n" -"# By default only in an empty line.\n" -"# Inline comments can be harmful because they prevent users\n" -"# from using the delimiting characters as parts of values.\n" -"# That being said, this can be customized.\n" -"\n" -" [Sections Can Be Indented]\n" -" can_values_be_as_well = True\n" -" does_that_mean_anything_special = False\n" -" purpose = formatting for readability\n" -" multiline_values = are\n" -" handled just fine as\n" -" long as they are indented\n" -" deeper than the first line\n" -" of a value\n" -" # Did I mention we can indent comments, too?" -msgstr "" - -#: ../../library/configparser.rst:342 -msgid "Unnamed Sections" -msgstr "" - -#: ../../library/configparser.rst:344 -msgid "" -"The name of the first section (or unique) may be omitted and values " -"retrieved by the :const:`UNNAMED_SECTION` attribute." -msgstr "" - -#: ../../library/configparser.rst:347 -msgid "" -">>> config = \"\"\"\n" -"... option = value\n" -"...\n" -"... [ Section 2 ]\n" -"... another = val\n" -"... \"\"\"\n" -">>> unnamed = configparser.ConfigParser(allow_unnamed_section=True)\n" -">>> unnamed.read_string(config)\n" -">>> unnamed.get(configparser.UNNAMED_SECTION, 'option')\n" -"'value'" -msgstr "" - -#: ../../library/configparser.rst:361 -msgid "Interpolation of values" -msgstr "" - -#: ../../library/configparser.rst:363 -msgid "" -"On top of the core functionality, :class:`ConfigParser` supports " -"interpolation. This means values can be preprocessed before returning them " -"from ``get()`` calls." -msgstr "" - -#: ../../library/configparser.rst:371 -msgid "" -"The default implementation used by :class:`ConfigParser`. It enables values" -" to contain format strings which refer to other values in the same section, " -"or values in the special default section [1]_. Additional default values " -"can be provided on initialization." -msgstr "" - -#: ../../library/configparser.rst:378 -msgid "" -"[Paths]\n" -"home_dir: /Users\n" -"my_dir: %(home_dir)s/lumberjack\n" -"my_pictures: %(my_dir)s/Pictures\n" -"\n" -"[Escape]\n" -"# use a %% to escape the % sign (% is the only character that needs to be escaped):\n" -"gain: 80%%" -msgstr "" - -#: ../../library/configparser.rst:389 -msgid "" -"In the example above, :class:`ConfigParser` with *interpolation* set to " -"``BasicInterpolation()`` would resolve ``%(home_dir)s`` to the value of " -"``home_dir`` (``/Users`` in this case). ``%(my_dir)s`` in effect would " -"resolve to ``/Users/lumberjack``. All interpolations are done on demand so " -"keys used in the chain of references do not have to be specified in any " -"specific order in the configuration file." -msgstr "" - -#: ../../library/configparser.rst:396 -msgid "" -"With ``interpolation`` set to ``None``, the parser would simply return " -"``%(my_dir)s/Pictures`` as the value of ``my_pictures`` and " -"``%(home_dir)s/lumberjack`` as the value of ``my_dir``." -msgstr "" - -#: ../../library/configparser.rst:404 -msgid "" -"An alternative handler for interpolation which implements a more advanced " -"syntax, used for instance in ``zc.buildout``. Extended interpolation is " -"using ``${section:option}`` to denote a value from a foreign section. " -"Interpolation can span multiple levels. For convenience, if the " -"``section:`` part is omitted, interpolation defaults to the current section " -"(and possibly the default values from the special section)." -msgstr "" - -#: ../../library/configparser.rst:411 -msgid "" -"For example, the configuration specified above with basic interpolation, " -"would look like this with extended interpolation:" -msgstr "" - -#: ../../library/configparser.rst:414 -msgid "" -"[Paths]\n" -"home_dir: /Users\n" -"my_dir: ${home_dir}/lumberjack\n" -"my_pictures: ${my_dir}/Pictures\n" -"\n" -"[Escape]\n" -"# use a $$ to escape the $ sign ($ is the only character that needs to be escaped):\n" -"cost: $$80" -msgstr "" - -#: ../../library/configparser.rst:425 -msgid "Values from other sections can be fetched as well:" -msgstr "" - -#: ../../library/configparser.rst:427 -msgid "" -"[Common]\n" -"home_dir: /Users\n" -"library_dir: /Library\n" -"system_dir: /System\n" -"macports_dir: /opt/local\n" -"\n" -"[Frameworks]\n" -"Python: 3.2\n" -"path: ${Common:system_dir}/Library/Frameworks/\n" -"\n" -"[Arthur]\n" -"nickname: Two Sheds\n" -"last_name: Jackson\n" -"my_dir: ${Common:home_dir}/twosheds\n" -"my_pictures: ${my_dir}/Pictures\n" -"python_dir: ${Frameworks:path}/Python/Versions/${Frameworks:Python}" -msgstr "" - -#: ../../library/configparser.rst:447 -msgid "Mapping Protocol Access" -msgstr "" - -#: ../../library/configparser.rst:451 -msgid "" -"Mapping protocol access is a generic name for functionality that enables " -"using custom objects as if they were dictionaries. In case of " -":mod:`configparser`, the mapping interface implementation is using the " -"``parser['section']['option']`` notation." -msgstr "" - -#: ../../library/configparser.rst:456 -msgid "" -"``parser['section']`` in particular returns a proxy for the section's data " -"in the parser. This means that the values are not copied but they are taken" -" from the original parser on demand. What's even more important is that " -"when values are changed on a section proxy, they are actually mutated in the" -" original parser." -msgstr "" - -#: ../../library/configparser.rst:462 -msgid "" -":mod:`configparser` objects behave as close to actual dictionaries as " -"possible. The mapping interface is complete and adheres to the " -":class:`~collections.abc.MutableMapping` ABC. However, there are a few " -"differences that should be taken into account:" -msgstr "" - -#: ../../library/configparser.rst:467 -msgid "" -"By default, all keys in sections are accessible in a case-insensitive manner" -" [1]_. E.g. ``for option in parser[\"section\"]`` yields only " -"``optionxform``'ed option key names. This means lowercased keys by default." -" At the same time, for a section that holds the key ``'a'``, both " -"expressions return ``True``::" -msgstr "" - -#: ../../library/configparser.rst:472 -msgid "" -"\"a\" in parser[\"section\"]\n" -"\"A\" in parser[\"section\"]" -msgstr "" - -#: ../../library/configparser.rst:475 -msgid "" -"All sections include ``DEFAULTSECT`` values as well which means that " -"``.clear()`` on a section may not leave the section visibly empty. This is " -"because default values cannot be deleted from the section (because " -"technically they are not there). If they are overridden in the section, " -"deleting causes the default value to be visible again. Trying to delete a " -"default value causes a :exc:`KeyError`." -msgstr "" - -#: ../../library/configparser.rst:482 -msgid "``DEFAULTSECT`` cannot be removed from the parser:" -msgstr "" - -#: ../../library/configparser.rst:484 -msgid "trying to delete it raises :exc:`ValueError`," -msgstr "" - -#: ../../library/configparser.rst:486 -msgid "``parser.clear()`` leaves it intact," -msgstr "" - -#: ../../library/configparser.rst:488 -msgid "``parser.popitem()`` never returns it." -msgstr "" - -#: ../../library/configparser.rst:490 -msgid "" -"``parser.get(section, option, **kwargs)`` - the second argument is **not** a" -" fallback value. Note however that the section-level ``get()`` methods are " -"compatible both with the mapping protocol and the classic configparser API." -msgstr "" - -#: ../../library/configparser.rst:494 -msgid "" -"``parser.items()`` is compatible with the mapping protocol (returns a list " -"of *section_name*, *section_proxy* pairs including the DEFAULTSECT). " -"However, this method can also be invoked with arguments: " -"``parser.items(section, raw, vars)``. The latter call returns a list of " -"*option*, *value* pairs for a specified ``section``, with all interpolations" -" expanded (unless ``raw=True`` is provided)." -msgstr "" - -#: ../../library/configparser.rst:501 -msgid "" -"The mapping protocol is implemented on top of the existing legacy API so " -"that subclasses overriding the original interface still should have mappings" -" working as expected." -msgstr "" - -#: ../../library/configparser.rst:507 -msgid "Customizing Parser Behaviour" -msgstr "" - -#: ../../library/configparser.rst:509 -msgid "" -"There are nearly as many INI format variants as there are applications using" -" it. :mod:`configparser` goes a long way to provide support for the largest " -"sensible set of INI styles available. The default functionality is mainly " -"dictated by historical background and it's very likely that you will want to" -" customize some of the features." -msgstr "" - -#: ../../library/configparser.rst:515 -msgid "" -"The most common way to change the way a specific config parser works is to " -"use the :meth:`!__init__` options:" -msgstr "" - -#: ../../library/configparser.rst:518 -msgid "*defaults*, default value: ``None``" -msgstr "" - -#: ../../library/configparser.rst:520 -msgid "" -"This option accepts a dictionary of key-value pairs which will be initially " -"put in the ``DEFAULT`` section. This makes for an elegant way to support " -"concise configuration files that don't specify values which are the same as " -"the documented default." -msgstr "" - -#: ../../library/configparser.rst:525 -msgid "" -"Hint: if you want to specify default values for a specific section, use " -":meth:`~ConfigParser.read_dict` before you read the actual file." -msgstr "" - -#: ../../library/configparser.rst:528 -msgid "*dict_type*, default value: :class:`dict`" -msgstr "" - -#: ../../library/configparser.rst:530 -msgid "" -"This option has a major impact on how the mapping protocol will behave and " -"how the written configuration files look. With the standard dictionary, " -"every section is stored in the order they were added to the parser. Same " -"goes for options within sections." -msgstr "" - -#: ../../library/configparser.rst:535 -msgid "" -"An alternative dictionary type can be used for example to sort sections and " -"options on write-back." -msgstr "" - -#: ../../library/configparser.rst:538 -msgid "" -"Please note: there are ways to add a set of key-value pairs in a single " -"operation. When you use a regular dictionary in those operations, the order" -" of the keys will be ordered. For example:" -msgstr "" - -#: ../../library/configparser.rst:542 -msgid "" -">>> parser = configparser.ConfigParser()\n" -">>> parser.read_dict({'section1': {'key1': 'value1',\n" -"... 'key2': 'value2',\n" -"... 'key3': 'value3'},\n" -"... 'section2': {'keyA': 'valueA',\n" -"... 'keyB': 'valueB',\n" -"... 'keyC': 'valueC'},\n" -"... 'section3': {'foo': 'x',\n" -"... 'bar': 'y',\n" -"... 'baz': 'z'}\n" -"... })\n" -">>> parser.sections()\n" -"['section1', 'section2', 'section3']\n" -">>> [option for option in parser['section3']]\n" -"['foo', 'bar', 'baz']" -msgstr "" - -#: ../../library/configparser.rst:560 -msgid "*allow_no_value*, default value: ``False``" -msgstr "" - -#: ../../library/configparser.rst:562 -msgid "" -"Some configuration files are known to include settings without values, but " -"which otherwise conform to the syntax supported by :mod:`configparser`. The" -" *allow_no_value* parameter to the constructor can be used to indicate that " -"such values should be accepted:" -msgstr "" - -#: ../../library/configparser.rst:567 -msgid "" -">>> import configparser\n" -"\n" -">>> sample_config = \"\"\"\n" -"... [mysqld]\n" -"... user = mysql\n" -"... pid-file = /var/run/mysqld/mysqld.pid\n" -"... skip-external-locking\n" -"... old_passwords = 1\n" -"... skip-bdb\n" -"... # we don't need ACID today\n" -"... skip-innodb\n" -"... \"\"\"\n" -">>> config = configparser.ConfigParser(allow_no_value=True)\n" -">>> config.read_string(sample_config)\n" -"\n" -">>> # Settings with values are treated as before:\n" -">>> config[\"mysqld\"][\"user\"]\n" -"'mysql'\n" -"\n" -">>> # Settings without values provide None:\n" -">>> config[\"mysqld\"][\"skip-bdb\"]\n" -"\n" -">>> # Settings which aren't specified still raise an error:\n" -">>> config[\"mysqld\"][\"does-not-exist\"]\n" -"Traceback (most recent call last):\n" -" ...\n" -"KeyError: 'does-not-exist'" -msgstr "" - -#: ../../library/configparser.rst:597 -msgid "*delimiters*, default value: ``('=', ':')``" -msgstr "" - -#: ../../library/configparser.rst:599 -msgid "" -"Delimiters are substrings that delimit keys from values within a section. " -"The first occurrence of a delimiting substring on a line is considered a " -"delimiter. This means values (but not keys) can contain the delimiters." -msgstr "" - -#: ../../library/configparser.rst:603 -msgid "" -"See also the *space_around_delimiters* argument to " -":meth:`ConfigParser.write`." -msgstr "" - -#: ../../library/configparser.rst:606 -msgid "*comment_prefixes*, default value: ``('#', ';')``" -msgstr "" - -#: ../../library/configparser.rst:608 -msgid "*inline_comment_prefixes*, default value: ``None``" -msgstr "" - -#: ../../library/configparser.rst:610 -msgid "" -"Comment prefixes are strings that indicate the start of a valid comment " -"within a config file. *comment_prefixes* are used only on otherwise empty " -"lines (optionally indented) whereas *inline_comment_prefixes* can be used " -"after every valid value (e.g. section names, options and empty lines as " -"well). By default inline comments are disabled and ``'#'`` and ``';'`` are " -"used as prefixes for whole line comments." -msgstr "" - -#: ../../library/configparser.rst:617 -msgid "" -"In previous versions of :mod:`configparser` behaviour matched " -"``comment_prefixes=('#',';')`` and ``inline_comment_prefixes=(';',)``." -msgstr "" - -#: ../../library/configparser.rst:621 -msgid "" -"Please note that config parsers don't support escaping of comment prefixes " -"so using *inline_comment_prefixes* may prevent users from specifying option " -"values with characters used as comment prefixes. When in doubt, avoid " -"setting *inline_comment_prefixes*. In any circumstances, the only way of " -"storing comment prefix characters at the beginning of a line in multiline " -"values is to interpolate the prefix, for example::" -msgstr "" - -#: ../../library/configparser.rst:628 -msgid "" -">>> from configparser import ConfigParser, ExtendedInterpolation\n" -">>> parser = ConfigParser(interpolation=ExtendedInterpolation())\n" -">>> # the default BasicInterpolation could be used as well\n" -">>> parser.read_string(\"\"\"\n" -"... [DEFAULT]\n" -"... hash = #\n" -"...\n" -"... [hashes]\n" -"... shebang =\n" -"... ${hash}!/usr/bin/env python\n" -"... ${hash} -*- coding: utf-8 -*-\n" -"...\n" -"... extensions =\n" -"... enabled_extension\n" -"... another_extension\n" -"... #disabled_by_comment\n" -"... yet_another_extension\n" -"...\n" -"... interpolation not necessary = if # is not at line start\n" -"... even in multiline values = line #1\n" -"... line #2\n" -"... line #3\n" -"... \"\"\")\n" -">>> print(parser['hashes']['shebang'])\n" -"\n" -"#!/usr/bin/env python\n" -"# -*- coding: utf-8 -*-\n" -">>> print(parser['hashes']['extensions'])\n" -"\n" -"enabled_extension\n" -"another_extension\n" -"yet_another_extension\n" -">>> print(parser['hashes']['interpolation not necessary'])\n" -"if # is not at line start\n" -">>> print(parser['hashes']['even in multiline values'])\n" -"line #1\n" -"line #2\n" -"line #3" -msgstr "" - -#: ../../library/configparser.rst:667 -msgid "*strict*, default value: ``True``" -msgstr "" - -#: ../../library/configparser.rst:669 -msgid "" -"When set to ``True``, the parser will not allow for any section or option " -"duplicates while reading from a single source (using " -":meth:`~ConfigParser.read_file`, :meth:`~ConfigParser.read_string` or " -":meth:`~ConfigParser.read_dict`). It is recommended to use strict parsers " -"in new applications." -msgstr "" - -#: ../../library/configparser.rst:674 -msgid "" -"In previous versions of :mod:`configparser` behaviour matched " -"``strict=False``." -msgstr "" - -#: ../../library/configparser.rst:678 -msgid "*empty_lines_in_values*, default value: ``True``" -msgstr "" - -#: ../../library/configparser.rst:680 -msgid "" -"In config parsers, values can span multiple lines as long as they are " -"indented more than the key that holds them. By default parsers also let " -"empty lines to be parts of values. At the same time, keys can be " -"arbitrarily indented themselves to improve readability. In consequence, " -"when configuration files get big and complex, it is easy for the user to " -"lose track of the file structure. Take for instance:" -msgstr "" - -#: ../../library/configparser.rst:687 -msgid "" -"[Section]\n" -"key = multiline\n" -" value with a gotcha\n" -"\n" -" this = is still a part of the multiline value of 'key'" -msgstr "" - -#: ../../library/configparser.rst:695 -msgid "" -"This can be especially problematic for the user to see if she's using a " -"proportional font to edit the file. That is why when your application does " -"not need values with empty lines, you should consider disallowing them. " -"This will make empty lines split keys every time. In the example above, it " -"would produce two keys, ``key`` and ``this``." -msgstr "" - -#: ../../library/configparser.rst:701 -msgid "" -"*default_section*, default value: ``configparser.DEFAULTSECT`` (that is: " -"``\"DEFAULT\"``)" -msgstr "" - -#: ../../library/configparser.rst:704 -msgid "" -"The convention of allowing a special section of default values for other " -"sections or interpolation purposes is a powerful concept of this library, " -"letting users create complex declarative configurations. This section is " -"normally called ``\"DEFAULT\"`` but this can be customized to point to any " -"other valid section name. Some typical values include: ``\"general\"`` or " -"``\"common\"``. The name provided is used for recognizing default sections " -"when reading from any source and is used when writing configuration back to " -"a file. Its current value can be retrieved using the " -"``parser_instance.default_section`` attribute and may be modified at runtime" -" (i.e. to convert files from one format to another)." -msgstr "" - -#: ../../library/configparser.rst:715 -msgid "*interpolation*, default value: ``configparser.BasicInterpolation``" -msgstr "" - -#: ../../library/configparser.rst:717 -msgid "" -"Interpolation behaviour may be customized by providing a custom handler " -"through the *interpolation* argument. ``None`` can be used to turn off " -"interpolation completely, ``ExtendedInterpolation()`` provides a more " -"advanced variant inspired by ``zc.buildout``. More on the subject in the " -"`dedicated documentation section <#interpolation-of-values>`_. " -":class:`RawConfigParser` has a default value of ``None``." -msgstr "" - -#: ../../library/configparser.rst:724 -msgid "*converters*, default value: not set" -msgstr "" - -#: ../../library/configparser.rst:726 -msgid "" -"Config parsers provide option value getters that perform type conversion. " -"By default :meth:`~ConfigParser.getint`, :meth:`~ConfigParser.getfloat`, and" -" :meth:`~ConfigParser.getboolean` are implemented. Should other getters be " -"desirable, users may define them in a subclass or pass a dictionary where " -"each key is a name of the converter and each value is a callable " -"implementing said conversion. For instance, passing ``{'decimal': " -"decimal.Decimal}`` would add :meth:`!getdecimal` on both the parser object " -"and all section proxies. In other words, it will be possible to write both " -"``parser_instance.getdecimal('section', 'key', fallback=0)`` and " -"``parser_instance['section'].getdecimal('key', 0)``." -msgstr "" - -#: ../../library/configparser.rst:737 -msgid "" -"If the converter needs to access the state of the parser, it can be " -"implemented as a method on a config parser subclass. If the name of this " -"method starts with ``get``, it will be available on all section proxies, in " -"the dict-compatible form (see the ``getdecimal()`` example above)." -msgstr "" - -#: ../../library/configparser.rst:742 -msgid "" -"More advanced customization may be achieved by overriding default values of " -"these parser attributes. The defaults are defined on the classes, so they " -"may be overridden by subclasses or by attribute assignment." -msgstr "" - -#: ../../library/configparser.rst:748 -msgid "" -"By default when using :meth:`~ConfigParser.getboolean`, config parsers " -"consider the following values ``True``: ``'1'``, ``'yes'``, ``'true'``, " -"``'on'`` and the following values ``False``: ``'0'``, ``'no'``, ``'false'``," -" ``'off'``. You can override this by specifying a custom dictionary of " -"strings and their Boolean outcomes. For example:" -msgstr "" - -#: ../../library/configparser.rst:754 -msgid "" -">>> custom = configparser.ConfigParser()\n" -">>> custom['section1'] = {'funky': 'nope'}\n" -">>> custom['section1'].getboolean('funky')\n" -"Traceback (most recent call last):\n" -"...\n" -"ValueError: Not a boolean: nope\n" -">>> custom.BOOLEAN_STATES = {'sure': True, 'nope': False}\n" -">>> custom['section1'].getboolean('funky')\n" -"False" -msgstr "" - -#: ../../library/configparser.rst:766 -msgid "" -"Other typical Boolean pairs include ``accept``/``reject`` or " -"``enabled``/``disabled``." -msgstr "" - -#: ../../library/configparser.rst:772 -msgid "" -"This method transforms option names on every read, get, or set operation. " -"The default converts the name to lowercase. This also means that when a " -"configuration file gets written, all keys will be lowercase. Override this " -"method if that's unsuitable. For example:" -msgstr "" - -#: ../../library/configparser.rst:778 -msgid "" -">>> config = \"\"\"\n" -"... [Section1]\n" -"... Key = Value\n" -"...\n" -"... [Section2]\n" -"... AnotherKey = Value\n" -"... \"\"\"\n" -">>> typical = configparser.ConfigParser()\n" -">>> typical.read_string(config)\n" -">>> list(typical['Section1'].keys())\n" -"['key']\n" -">>> list(typical['Section2'].keys())\n" -"['anotherkey']\n" -">>> custom = configparser.RawConfigParser()\n" -">>> custom.optionxform = lambda option: option\n" -">>> custom.read_string(config)\n" -">>> list(custom['Section1'].keys())\n" -"['Key']\n" -">>> list(custom['Section2'].keys())\n" -"['AnotherKey']" -msgstr "" - -#: ../../library/configparser.rst:802 -msgid "" -"The optionxform function transforms option names to a canonical form. This " -"should be an idempotent function: if the name is already in canonical form, " -"it should be returned unchanged." -msgstr "" - -#: ../../library/configparser.rst:809 -msgid "" -"A compiled regular expression used to parse section headers. The default " -"matches ``[section]`` to the name ``\"section\"``. Whitespace is considered" -" part of the section name, thus ``[ larch ]`` will be read as a section of" -" name ``\" larch \"``. Override this attribute if that's unsuitable. For" -" example:" -msgstr "" - -#: ../../library/configparser.rst:815 -msgid "" -">>> import re\n" -">>> config = \"\"\"\n" -"... [Section 1]\n" -"... option = value\n" -"...\n" -"... [ Section 2 ]\n" -"... another = val\n" -"... \"\"\"\n" -">>> typical = configparser.ConfigParser()\n" -">>> typical.read_string(config)\n" -">>> typical.sections()\n" -"['Section 1', ' Section 2 ']\n" -">>> custom = configparser.ConfigParser()\n" -">>> custom.SECTCRE = re.compile(r\"\\[ *(?P
[^]]+?) *\\]\")\n" -">>> custom.read_string(config)\n" -">>> custom.sections()\n" -"['Section 1', 'Section 2']" -msgstr "" - -#: ../../library/configparser.rst:837 -msgid "" -"While ConfigParser objects also use an ``OPTCRE`` attribute for recognizing " -"option lines, it's not recommended to override it because that would " -"interfere with constructor options *allow_no_value* and *delimiters*." -msgstr "" - -#: ../../library/configparser.rst:843 -msgid "Legacy API Examples" -msgstr "" - -#: ../../library/configparser.rst:845 -msgid "" -"Mainly because of backwards compatibility concerns, :mod:`configparser` " -"provides also a legacy API with explicit ``get``/``set`` methods. While " -"there are valid use cases for the methods outlined below, mapping protocol " -"access is preferred for new projects. The legacy API is at times more " -"advanced, low-level and downright counterintuitive." -msgstr "" - -#: ../../library/configparser.rst:851 -msgid "An example of writing to a configuration file::" -msgstr "" - -#: ../../library/configparser.rst:853 -msgid "" -"import configparser\n" -"\n" -"config = configparser.RawConfigParser()\n" -"\n" -"# Please note that using RawConfigParser's set functions, you can assign\n" -"# non-string values to keys internally, but will receive an error when\n" -"# attempting to write to a file or when you get it in non-raw mode. Setting\n" -"# values using the mapping protocol or ConfigParser's set() does not allow\n" -"# such assignments to take place.\n" -"config.add_section('Section1')\n" -"config.set('Section1', 'an_int', '15')\n" -"config.set('Section1', 'a_bool', 'true')\n" -"config.set('Section1', 'a_float', '3.1415')\n" -"config.set('Section1', 'baz', 'fun')\n" -"config.set('Section1', 'bar', 'Python')\n" -"config.set('Section1', 'foo', '%(bar)s is %(baz)s!')\n" -"\n" -"# Writing our configuration file to 'example.cfg'\n" -"with open('example.cfg', 'w') as configfile:\n" -" config.write(configfile)" -msgstr "" - -#: ../../library/configparser.rst:874 -msgid "An example of reading the configuration file again::" -msgstr "" - -#: ../../library/configparser.rst:876 -msgid "" -"import configparser\n" -"\n" -"config = configparser.RawConfigParser()\n" -"config.read('example.cfg')\n" -"\n" -"# getfloat() raises an exception if the value is not a float\n" -"# getint() and getboolean() also do this for their respective types\n" -"a_float = config.getfloat('Section1', 'a_float')\n" -"an_int = config.getint('Section1', 'an_int')\n" -"print(a_float + an_int)\n" -"\n" -"# Notice that the next output does not interpolate '%(bar)s' or '%(baz)s'.\n" -"# This is because we are using a RawConfigParser().\n" -"if config.getboolean('Section1', 'a_bool'):\n" -" print(config.get('Section1', 'foo'))" -msgstr "" - -#: ../../library/configparser.rst:892 -msgid "To get interpolation, use :class:`ConfigParser`::" -msgstr "" - -#: ../../library/configparser.rst:894 -msgid "" -"import configparser\n" -"\n" -"cfg = configparser.ConfigParser()\n" -"cfg.read('example.cfg')\n" -"\n" -"# Set the optional *raw* argument of get() to True if you wish to disable\n" -"# interpolation in a single get operation.\n" -"print(cfg.get('Section1', 'foo', raw=False)) # -> \"Python is fun!\"\n" -"print(cfg.get('Section1', 'foo', raw=True)) # -> \"%(bar)s is %(baz)s!\"\n" -"\n" -"# The optional *vars* argument is a dict with members that will take\n" -"# precedence in interpolation.\n" -"print(cfg.get('Section1', 'foo', vars={'bar': 'Documentation',\n" -" 'baz': 'evil'}))\n" -"\n" -"# The optional *fallback* argument can be used to provide a fallback value\n" -"print(cfg.get('Section1', 'foo'))\n" -" # -> \"Python is fun!\"\n" -"\n" -"print(cfg.get('Section1', 'foo', fallback='Monty is not.'))\n" -" # -> \"Python is fun!\"\n" -"\n" -"print(cfg.get('Section1', 'monster', fallback='No such things as monsters.'))\n" -" # -> \"No such things as monsters.\"\n" -"\n" -"# A bare print(cfg.get('Section1', 'monster')) would raise NoOptionError\n" -"# but we can also use:\n" -"\n" -"print(cfg.get('Section1', 'monster', fallback=None))\n" -" # -> None" -msgstr "" - -#: ../../library/configparser.rst:925 -msgid "" -"Default values are available in both types of ConfigParsers. They are used " -"in interpolation if an option used is not defined elsewhere. ::" -msgstr "" - -#: ../../library/configparser.rst:928 -msgid "" -"import configparser\n" -"\n" -"# New instance with 'bar' and 'baz' defaulting to 'Life' and 'hard' each\n" -"config = configparser.ConfigParser({'bar': 'Life', 'baz': 'hard'})\n" -"config.read('example.cfg')\n" -"\n" -"print(config.get('Section1', 'foo')) # -> \"Python is fun!\"\n" -"config.remove_option('Section1', 'bar')\n" -"config.remove_option('Section1', 'baz')\n" -"print(config.get('Section1', 'foo')) # -> \"Life is hard!\"" -msgstr "" - -#: ../../library/configparser.rst:943 -msgid "ConfigParser Objects" -msgstr "" - -#: ../../library/configparser.rst:953 -msgid "" -"The main configuration parser. When *defaults* is given, it is initialized " -"into the dictionary of intrinsic defaults. When *dict_type* is given, it " -"will be used to create the dictionary objects for the list of sections, for " -"the options within a section, and for the default values." -msgstr "" - -#: ../../library/configparser.rst:958 -msgid "" -"When *delimiters* is given, it is used as the set of substrings that divide " -"keys from values. When *comment_prefixes* is given, it will be used as the " -"set of substrings that prefix comments in otherwise empty lines. Comments " -"can be indented. When *inline_comment_prefixes* is given, it will be used " -"as the set of substrings that prefix comments in non-empty lines." -msgstr "" - -#: ../../library/configparser.rst:964 -msgid "" -"When *strict* is ``True`` (the default), the parser won't allow for any " -"section or option duplicates while reading from a single source (file, " -"string or dictionary), raising :exc:`DuplicateSectionError` or " -":exc:`DuplicateOptionError`. When *empty_lines_in_values* is ``False`` " -"(default: ``True``), each empty line marks the end of an option. Otherwise," -" internal empty lines of a multiline option are kept as part of the value. " -"When *allow_no_value* is ``True`` (default: ``False``), options without " -"values are accepted; the value held for these is ``None`` and they are " -"serialized without the trailing delimiter." -msgstr "" - -#: ../../library/configparser.rst:974 -msgid "" -"When *default_section* is given, it specifies the name for the special " -"section holding default values for other sections and interpolation purposes" -" (normally named ``\"DEFAULT\"``). This value can be retrieved and changed " -"at runtime using the ``default_section`` instance attribute. This won't re-" -"evaluate an already parsed config file, but will be used when writing parsed" -" settings to a new config file." -msgstr "" - -#: ../../library/configparser.rst:981 -msgid "" -"Interpolation behaviour may be customized by providing a custom handler " -"through the *interpolation* argument. ``None`` can be used to turn off " -"interpolation completely, ``ExtendedInterpolation()`` provides a more " -"advanced variant inspired by ``zc.buildout``. More on the subject in the " -"`dedicated documentation section <#interpolation-of-values>`_." -msgstr "" - -#: ../../library/configparser.rst:987 -msgid "" -"All option names used in interpolation will be passed through the " -":meth:`optionxform` method just like any other option name reference. For " -"example, using the default implementation of :meth:`optionxform` (which " -"converts option names to lower case), the values ``foo %(bar)s`` and ``foo " -"%(BAR)s`` are equivalent." -msgstr "" - -#: ../../library/configparser.rst:993 -msgid "" -"When *converters* is given, it should be a dictionary where each key " -"represents the name of a type converter and each value is a callable " -"implementing the conversion from string to the desired datatype. Every " -"converter gets its own corresponding :meth:`!get*` method on the parser " -"object and section proxies." -msgstr "" - -#: ../../library/configparser.rst:999 -msgid "" -"When *allow_unnamed_section* is ``True`` (default: ``False``), the first " -"section name can be omitted. See the `\"Unnamed Sections\" section " -"<#unnamed-sections>`_." -msgstr "" - -#: ../../library/configparser.rst:1028 -msgid "The default *dict_type* is :class:`collections.OrderedDict`." -msgstr "" - -#: ../../library/configparser.rst:1031 ../../library/configparser.rst:1324 -msgid "" -"*allow_no_value*, *delimiters*, *comment_prefixes*, *strict*, " -"*empty_lines_in_values*, *default_section* and *interpolation* were added." -msgstr "" - -#: ../../library/configparser.rst:1036 ../../library/configparser.rst:1329 -msgid "The *converters* argument was added." -msgstr "" - -#: ../../library/configparser.rst:1039 -msgid "" -"The *defaults* argument is read with :meth:`read_dict`, providing consistent" -" behavior across the parser: non-string keys and values are implicitly " -"converted to strings." -msgstr "" - -#: ../../library/configparser.rst:1044 ../../library/configparser.rst:1332 -msgid "" -"The default *dict_type* is :class:`dict`, since it now preserves insertion " -"order." -msgstr "" - -#: ../../library/configparser.rst:1048 -msgid "" -"Raise a :exc:`MultilineContinuationError` when *allow_no_value* is ``True``," -" and a key without a value is continued with an indented line." -msgstr "" - -#: ../../library/configparser.rst:1052 ../../library/configparser.rst:1336 -msgid "The *allow_unnamed_section* argument was added." -msgstr "" - -#: ../../library/configparser.rst:1057 -msgid "Return a dictionary containing the instance-wide defaults." -msgstr "" - -#: ../../library/configparser.rst:1062 -msgid "" -"Return a list of the sections available; the *default section* is not " -"included in the list." -msgstr "" - -#: ../../library/configparser.rst:1068 -msgid "" -"Add a section named *section* to the instance. If a section by the given " -"name already exists, :exc:`DuplicateSectionError` is raised. If the " -"*default section* name is passed, :exc:`ValueError` is raised. The name of " -"the section must be a string; if not, :exc:`TypeError` is raised." -msgstr "" - -#: ../../library/configparser.rst:1073 -msgid "Non-string section names raise :exc:`TypeError`." -msgstr "" - -#: ../../library/configparser.rst:1079 -msgid "" -"Indicates whether the named *section* is present in the configuration. The " -"*default section* is not acknowledged." -msgstr "" - -#: ../../library/configparser.rst:1085 -msgid "Return a list of options available in the specified *section*." -msgstr "" - -#: ../../library/configparser.rst:1090 -msgid "" -"If the given *section* exists, and contains the given *option*, return " -":const:`True`; otherwise return :const:`False`. If the specified *section* " -"is :const:`None` or an empty string, DEFAULT is assumed." -msgstr "" - -#: ../../library/configparser.rst:1097 -msgid "" -"Attempt to read and parse an iterable of filenames, returning a list of " -"filenames which were successfully parsed." -msgstr "" - -#: ../../library/configparser.rst:1100 -msgid "" -"If *filenames* is a string, a :class:`bytes` object or a :term:`path-like " -"object`, it is treated as a single filename. If a file named in *filenames*" -" cannot be opened, that file will be ignored. This is designed so that you " -"can specify an iterable of potential configuration file locations (for " -"example, the current directory, the user's home directory, and some system-" -"wide directory), and all existing configuration files in the iterable will " -"be read." -msgstr "" - -#: ../../library/configparser.rst:1109 -msgid "" -"If none of the named files exist, the :class:`ConfigParser` instance will " -"contain an empty dataset. An application which requires initial values to " -"be loaded from a file should load the required file or files using " -":meth:`read_file` before calling :meth:`read` for any optional files::" -msgstr "" - -#: ../../library/configparser.rst:1115 -msgid "" -"import configparser, os\n" -"\n" -"config = configparser.ConfigParser()\n" -"config.read_file(open('defaults.cfg'))\n" -"config.read(['site.cfg', os.path.expanduser('~/.myapp.cfg')],\n" -" encoding='cp1250')" -msgstr "" - -#: ../../library/configparser.rst:1122 -msgid "" -"Added the *encoding* parameter. Previously, all files were read using the " -"default encoding for :func:`open`." -msgstr "" - -#: ../../library/configparser.rst:1126 -msgid "The *filenames* parameter accepts a :term:`path-like object`." -msgstr "" - -#: ../../library/configparser.rst:1129 -msgid "The *filenames* parameter accepts a :class:`bytes` object." -msgstr "" - -#: ../../library/configparser.rst:1135 -msgid "" -"Read and parse configuration data from *f* which must be an iterable " -"yielding Unicode strings (for example files opened in text mode)." -msgstr "" - -#: ../../library/configparser.rst:1138 -msgid "" -"Optional argument *source* specifies the name of the file being read. If " -"not given and *f* has a :attr:`!name` attribute, that is used for *source*; " -"the default is ``''``." -msgstr "" - -#: ../../library/configparser.rst:1142 -msgid "Replaces :meth:`!readfp`." -msgstr "" - -#: ../../library/configparser.rst:1147 -msgid "Parse configuration data from a string." -msgstr "" - -#: ../../library/configparser.rst:1149 -msgid "" -"Optional argument *source* specifies a context-specific name of the string " -"passed. If not given, ``''`` is used. This should commonly be a " -"filesystem path or a URL." -msgstr "" - -#: ../../library/configparser.rst:1158 -msgid "" -"Load configuration from any object that provides a dict-like ``items()`` " -"method. Keys are section names, values are dictionaries with keys and " -"values that should be present in the section. If the used dictionary type " -"preserves order, sections and their keys will be added in order. Values are " -"automatically converted to strings." -msgstr "" - -#: ../../library/configparser.rst:1164 -msgid "" -"Optional argument *source* specifies a context-specific name of the " -"dictionary passed. If not given, ```` is used." -msgstr "" - -#: ../../library/configparser.rst:1167 -msgid "This method can be used to copy state between parsers." -msgstr "" - -#: ../../library/configparser.rst:1174 -msgid "" -"Get an *option* value for the named *section*. If *vars* is provided, it " -"must be a dictionary. The *option* is looked up in *vars* (if provided), " -"*section*, and in *DEFAULTSECT* in that order. If the key is not found and " -"*fallback* is provided, it is used as a fallback value. ``None`` can be " -"provided as a *fallback* value." -msgstr "" - -#: ../../library/configparser.rst:1180 -msgid "" -"All the ``'%'`` interpolations are expanded in the return values, unless the" -" *raw* argument is true. Values for interpolation keys are looked up in the" -" same manner as the option." -msgstr "" - -#: ../../library/configparser.rst:1184 -msgid "" -"Arguments *raw*, *vars* and *fallback* are keyword only to protect users " -"from trying to use the third argument as the *fallback* fallback (especially" -" when using the mapping protocol)." -msgstr "" - -#: ../../library/configparser.rst:1192 -msgid "" -"A convenience method which coerces the *option* in the specified *section* " -"to an integer. See :meth:`get` for explanation of *raw*, *vars* and " -"*fallback*." -msgstr "" - -#: ../../library/configparser.rst:1199 -msgid "" -"A convenience method which coerces the *option* in the specified *section* " -"to a floating-point number. See :meth:`get` for explanation of *raw*, " -"*vars* and *fallback*." -msgstr "" - -#: ../../library/configparser.rst:1206 -msgid "" -"A convenience method which coerces the *option* in the specified *section* " -"to a Boolean value. Note that the accepted values for the option are " -"``'1'``, ``'yes'``, ``'true'``, and ``'on'``, which cause this method to " -"return ``True``, and ``'0'``, ``'no'``, ``'false'``, and ``'off'``, which " -"cause it to return ``False``. These string values are checked in a case-" -"insensitive manner. Any other value will cause it to raise " -":exc:`ValueError`. See :meth:`get` for explanation of *raw*, *vars* and " -"*fallback*." -msgstr "" - -#: ../../library/configparser.rst:1219 -msgid "" -"When *section* is not given, return a list of *section_name*, " -"*section_proxy* pairs, including DEFAULTSECT." -msgstr "" - -#: ../../library/configparser.rst:1222 -msgid "" -"Otherwise, return a list of *name*, *value* pairs for the options in the " -"given *section*. Optional arguments have the same meaning as for the " -":meth:`get` method." -msgstr "" - -#: ../../library/configparser.rst:1226 -msgid "" -"Items present in *vars* no longer appear in the result. The previous " -"behaviour mixed actual parser options with variables provided for " -"interpolation." -msgstr "" - -#: ../../library/configparser.rst:1234 -msgid "" -"If the given section exists, set the given option to the specified value; " -"otherwise raise :exc:`NoSectionError`. *option* and *value* must be " -"strings; if not, :exc:`TypeError` is raised." -msgstr "" - -#: ../../library/configparser.rst:1241 -msgid "" -"Write a representation of the configuration to the specified :term:`file " -"object`, which must be opened in text mode (accepting strings). This " -"representation can be parsed by a future :meth:`read` call. If " -"*space_around_delimiters* is true, delimiters between keys and values are " -"surrounded by spaces." -msgstr "" - -#: ../../library/configparser.rst:1247 -msgid "" -"Raises InvalidWriteError if this would write a representation which cannot " -"be accurately parsed by a future :meth:`read` call from this parser." -msgstr "" - -#: ../../library/configparser.rst:1253 -msgid "" -"Comments in the original configuration file are not preserved when writing " -"the configuration back. What is considered a comment, depends on the given " -"values for *comment_prefix* and *inline_comment_prefix*." -msgstr "" - -#: ../../library/configparser.rst:1261 -msgid "" -"Remove the specified *option* from the specified *section*. If the section " -"does not exist, raise :exc:`NoSectionError`. If the option existed to be " -"removed, return :const:`True`; otherwise return :const:`False`." -msgstr "" - -#: ../../library/configparser.rst:1269 -msgid "" -"Remove the specified *section* from the configuration. If the section in " -"fact existed, return ``True``. Otherwise return ``False``." -msgstr "" - -#: ../../library/configparser.rst:1275 -msgid "" -"Transforms the option name *option* as found in an input file or as passed " -"in by client code to the form that should be used in the internal " -"structures. The default implementation returns a lower-case version of " -"*option*; subclasses may override this or client code can set an attribute " -"of this name on instances to affect this behavior." -msgstr "" - -#: ../../library/configparser.rst:1281 -msgid "" -"You don't need to subclass the parser to use this method, you can also set " -"it on an instance, to a function that takes a string argument and returns a " -"string. Setting it to ``str``, for example, would make option names case " -"sensitive::" -msgstr "" - -#: ../../library/configparser.rst:1286 -msgid "" -"cfgparser = ConfigParser()\n" -"cfgparser.optionxform = str" -msgstr "" - -#: ../../library/configparser.rst:1289 -msgid "" -"Note that when reading configuration files, whitespace around the option " -"names is stripped before :meth:`optionxform` is called." -msgstr "" - -#: ../../library/configparser.rst:1295 -msgid "" -"A special object representing a section name used to reference the unnamed " -"section (see :ref:`unnamed-sections`)." -msgstr "" - -#: ../../library/configparser.rst:1300 -msgid "" -"The maximum depth for recursive interpolation for " -":meth:`~configparser.ConfigParser.get` when the *raw* parameter is false. " -"This is relevant only when the default *interpolation* is used." -msgstr "" - -#: ../../library/configparser.rst:1308 -msgid "RawConfigParser Objects" -msgstr "" - -#: ../../library/configparser.rst:1319 -msgid "" -"Legacy variant of the :class:`ConfigParser`. It has interpolation disabled " -"by default and allows for non-string section names, option names, and values" -" via its unsafe ``add_section`` and ``set`` methods, as well as the legacy " -"``defaults=`` keyword argument handling." -msgstr "" - -#: ../../library/configparser.rst:1340 -msgid "" -"Consider using :class:`ConfigParser` instead which checks types of the " -"values to be stored internally. If you don't want interpolation, you can " -"use ``ConfigParser(interpolation=None)``." -msgstr "" - -#: ../../library/configparser.rst:1347 -msgid "" -"Add a section named *section* or :const:`UNNAMED_SECTION` to the instance." -msgstr "" - -#: ../../library/configparser.rst:1349 -msgid "" -"If the given section already exists, :exc:`DuplicateSectionError` is raised." -" If the *default section* name is passed, :exc:`ValueError` is raised. If " -":const:`UNNAMED_SECTION` is passed and support is disabled, " -":exc:`UnnamedSectionDisabledError` is raised." -msgstr "" - -#: ../../library/configparser.rst:1354 -msgid "" -"Type of *section* is not checked which lets users create non-string named " -"sections. This behaviour is unsupported and may cause internal errors." -msgstr "" - -#: ../../library/configparser.rst:1357 -msgid "Added support for :const:`UNNAMED_SECTION`." -msgstr "" - -#: ../../library/configparser.rst:1363 -msgid "" -"If the given section exists, set the given option to the specified value; " -"otherwise raise :exc:`NoSectionError`. While it is possible to use " -":class:`RawConfigParser` (or :class:`ConfigParser` with *raw* parameters set" -" to true) for *internal* storage of non-string values, full functionality " -"(including interpolation and output to files) can only be achieved using " -"string values." -msgstr "" - -#: ../../library/configparser.rst:1370 -msgid "" -"This method lets users assign non-string values to keys internally. This " -"behaviour is unsupported and will cause errors when attempting to write to a" -" file or get it in non-raw mode. **Use the mapping protocol API** which " -"does not allow such assignments to take place." -msgstr "" - -#: ../../library/configparser.rst:1377 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/configparser.rst:1381 -msgid "Base class for all other :mod:`configparser` exceptions." -msgstr "" - -#: ../../library/configparser.rst:1386 -msgid "Exception raised when a specified section is not found." -msgstr "" - -#: ../../library/configparser.rst:1391 -msgid "" -"Exception raised if :meth:`~ConfigParser.add_section` is called with the " -"name of a section that is already present or in strict parsers when a " -"section if found more than once in a single input file, string or " -"dictionary." -msgstr "" - -#: ../../library/configparser.rst:1395 -msgid "" -"Added the optional *source* and *lineno* attributes and parameters to " -":meth:`!__init__`." -msgstr "" - -#: ../../library/configparser.rst:1402 -msgid "" -"Exception raised by strict parsers if a single option appears twice during " -"reading from a single file, string or dictionary. This catches misspellings " -"and case sensitivity-related errors, e.g. a dictionary may have two keys " -"representing the same case-insensitive configuration key." -msgstr "" - -#: ../../library/configparser.rst:1410 -msgid "" -"Exception raised when a specified option is not found in the specified " -"section." -msgstr "" - -#: ../../library/configparser.rst:1416 -msgid "" -"Base class for exceptions raised when problems occur performing string " -"interpolation." -msgstr "" - -#: ../../library/configparser.rst:1422 -msgid "" -"Exception raised when string interpolation cannot be completed because the " -"number of iterations exceeds :const:`MAX_INTERPOLATION_DEPTH`. Subclass of " -":exc:`InterpolationError`." -msgstr "" - -#: ../../library/configparser.rst:1429 -msgid "" -"Exception raised when an option referenced from a value does not exist. " -"Subclass of :exc:`InterpolationError`." -msgstr "" - -#: ../../library/configparser.rst:1435 -msgid "" -"Exception raised when the source text into which substitutions are made does" -" not conform to the required syntax. Subclass of :exc:`InterpolationError`." -msgstr "" - -#: ../../library/configparser.rst:1441 -msgid "" -"Exception raised when attempting to parse a file which has no section " -"headers." -msgstr "" - -#: ../../library/configparser.rst:1446 -msgid "Exception raised when errors occur attempting to parse a file." -msgstr "" - -#: ../../library/configparser.rst:1448 -msgid "" -"The ``filename`` attribute and :meth:`!__init__` constructor argument were " -"removed. They have been available using the name ``source`` since 3.2." -msgstr "" - -#: ../../library/configparser.rst:1454 -msgid "" -"Exception raised when a key without a corresponding value is continued with " -"an indented line." -msgstr "" - -#: ../../library/configparser.rst:1461 -msgid "" -"Exception raised when attempting to use the :const:`UNNAMED_SECTION` without" -" enabling it." -msgstr "" - -#: ../../library/configparser.rst:1468 -msgid "" -"Exception raised when an attempted :meth:`ConfigParser.write` would not be " -"parsed accurately with a future :meth:`ConfigParser.read` call." -msgstr "" - -#: ../../library/configparser.rst:1471 -msgid "" -"Ex: Writing a key beginning with the :attr:`ConfigParser.SECTCRE` pattern " -"would parse as a section header when read. Attempting to write this will " -"raise this exception." -msgstr "" - -#: ../../library/configparser.rst:1478 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/configparser.rst:1479 -msgid "" -"Config parsers allow for heavy customization. If you are interested in " -"changing the behaviour outlined by the footnote reference, consult the " -"`Customizing Parser Behaviour`_ section." -msgstr "" - -#: ../../library/configparser.rst:16 -msgid ".ini" -msgstr "" - -#: ../../library/configparser.rst:16 -msgid "file" -msgstr "" - -#: ../../library/configparser.rst:16 -msgid "configuration" -msgstr "" - -#: ../../library/configparser.rst:16 -msgid "ini file" -msgstr "" - -#: ../../library/configparser.rst:16 -msgid "Windows ini file" -msgstr "" - -#: ../../library/configparser.rst:367 -msgid "% (percent)" -msgstr "" - -#: ../../library/configparser.rst:367 ../../library/configparser.rst:400 -msgid "interpolation in configuration files" -msgstr "" - -#: ../../library/configparser.rst:400 -msgid "$ (dollar)" -msgstr "" diff --git a/python-newest.library--constants/id.po b/python-newest.library--constants/id.po deleted file mode 100644 index be6d664..0000000 --- a/python-newest.library--constants/id.po +++ /dev/null @@ -1,164 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/constants.rst:4 -msgid "Built-in Constants" -msgstr "Konstanta Bawaan" - -#: ../../library/constants.rst:6 -msgid "A small number of constants live in the built-in namespace. They are:" -msgstr "Sejumlah kecil konstanta berada di *namespace* bawaan. Antara lain:" - -#: ../../library/constants.rst:10 -msgid "" -"The false value of the :class:`bool` type. Assignments to ``False`` are " -"illegal and raise a :exc:`SyntaxError`." -msgstr "" - -#: ../../library/constants.rst:16 -msgid "" -"The true value of the :class:`bool` type. Assignments to ``True`` are " -"illegal and raise a :exc:`SyntaxError`." -msgstr "" - -#: ../../library/constants.rst:22 -msgid "" -"An object frequently used to represent the absence of a value, as when " -"default arguments are not passed to a function. Assignments to ``None`` are " -"illegal and raise a :exc:`SyntaxError`. ``None`` is the sole instance of the" -" :data:`~types.NoneType` type." -msgstr "" - -#: ../../library/constants.rst:30 -msgid "" -"A special value which should be returned by the binary special methods (e.g." -" :meth:`~object.__eq__`, :meth:`~object.__lt__`, :meth:`~object.__add__`, " -":meth:`~object.__rsub__`, etc.) to indicate that the operation is not " -"implemented with respect to the other type; may be returned by the in-place " -"binary special methods (e.g. :meth:`~object.__imul__`, " -":meth:`~object.__iand__`, etc.) for the same purpose. It should not be " -"evaluated in a boolean context. :data:`!NotImplemented` is the sole instance" -" of the :data:`types.NotImplementedType` type." -msgstr "" - -#: ../../library/constants.rst:40 -msgid "" -"When a binary (or in-place) method returns :data:`!NotImplemented` the " -"interpreter will try the reflected operation on the other type (or some " -"other fallback, depending on the operator). If all attempts return " -":data:`!NotImplemented`, the interpreter will raise an appropriate " -"exception. Incorrectly returning :data:`!NotImplemented` will result in a " -"misleading error message or the :data:`!NotImplemented` value being returned" -" to Python code." -msgstr "" - -#: ../../library/constants.rst:47 -msgid "See :ref:`implementing-the-arithmetic-operations` for examples." -msgstr "" - -#: ../../library/constants.rst:51 -msgid "" -":data:`!NotImplemented` and :exc:`!NotImplementedError` are not " -"interchangeable. This constant should only be used as described above; see " -":exc:`NotImplementedError` for details on correct usage of the exception." -msgstr "" - -#: ../../library/constants.rst:56 -msgid "" -"Evaluating :data:`!NotImplemented` in a boolean context was deprecated." -msgstr "" - -#: ../../library/constants.rst:59 -msgid "" -"Evaluating :data:`!NotImplemented` in a boolean context now raises a " -":exc:`TypeError`. It previously evaluated to :const:`True` and emitted a " -":exc:`DeprecationWarning` since Python 3.9." -msgstr "" - -#: ../../library/constants.rst:68 -msgid "" -"The same as the ellipsis literal \"``...``\". Special value used mostly in " -"conjunction with extended slicing syntax for user-defined container data " -"types. ``Ellipsis`` is the sole instance of the :data:`types.EllipsisType` " -"type." -msgstr "" - -#: ../../library/constants.rst:75 -msgid "" -"This constant is true if Python was not started with an :option:`-O` option." -" See also the :keyword:`assert` statement." -msgstr "" - -#: ../../library/constants.rst:81 -msgid "" -"The names :data:`None`, :data:`False`, :data:`True` and :data:`__debug__` " -"cannot be reassigned (assignments to them, even as an attribute name, raise " -":exc:`SyntaxError`), so they can be considered \"true\" constants." -msgstr "" - -#: ../../library/constants.rst:89 -msgid "Constants added by the :mod:`site` module" -msgstr "Konstanta yang ditambahkan oleh modul :mod:`site`" - -#: ../../library/constants.rst:91 -msgid "" -"The :mod:`site` module (which is imported automatically during startup, " -"except if the :option:`-S` command-line option is given) adds several " -"constants to the built-in namespace. They are useful for the interactive " -"interpreter shell and should not be used in programs." -msgstr "" - -#: ../../library/constants.rst:99 -msgid "" -"Objects that when printed, print a message like \"Use quit() or Ctrl-D (i.e." -" EOF) to exit\", and when called, raise :exc:`SystemExit` with the specified" -" exit code." -msgstr "" - -#: ../../library/constants.rst:106 -msgid "" -"Object that when printed, prints the message \"Type help() for interactive " -"help, or help(object) for help about object.\", and when called, acts as " -"described :func:`elsewhere `." -msgstr "" - -#: ../../library/constants.rst:113 -msgid "" -"Objects that when printed or called, print the text of copyright or credits," -" respectively." -msgstr "" - -#: ../../library/constants.rst:118 -msgid "" -"Object that when printed, prints the message \"Type license() to see the " -"full license text\", and when called, displays the full license text in a " -"pager-like fashion (one screen at a time)." -msgstr "" - -#: ../../library/constants.rst:65 -msgid "..." -msgstr "" - -#: ../../library/constants.rst:65 -msgid "ellipsis literal" -msgstr "" diff --git a/python-newest.library--contextlib/id.po b/python-newest.library--contextlib/id.po deleted file mode 100644 index cb1920f..0000000 --- a/python-newest.library--contextlib/id.po +++ /dev/null @@ -1,1420 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/contextlib.rst:2 -msgid "" -":mod:`!contextlib` --- Utilities for :keyword:`!with`\\ -statement contexts" -msgstr "" - -#: ../../library/contextlib.rst:7 -msgid "**Source code:** :source:`Lib/contextlib.py`" -msgstr "" - -#: ../../library/contextlib.rst:11 -msgid "" -"This module provides utilities for common tasks involving the " -":keyword:`with` statement. For more information see also " -":ref:`typecontextmanager` and :ref:`context-managers`." -msgstr "" - -#: ../../library/contextlib.rst:17 -msgid "Utilities" -msgstr "Utilitas" - -#: ../../library/contextlib.rst:19 -msgid "Functions and classes provided:" -msgstr "" - -#: ../../library/contextlib.rst:23 -msgid "" -"An :term:`abstract base class` for classes that implement " -":meth:`object.__enter__` and :meth:`object.__exit__`. A default " -"implementation for :meth:`object.__enter__` is provided which returns " -"``self`` while :meth:`object.__exit__` is an abstract method which by " -"default returns ``None``. See also the definition of " -":ref:`typecontextmanager`." -msgstr "" - -#: ../../library/contextlib.rst:34 -msgid "" -"An :term:`abstract base class` for classes that implement " -":meth:`object.__aenter__` and :meth:`object.__aexit__`. A default " -"implementation for :meth:`object.__aenter__` is provided which returns " -"``self`` while :meth:`object.__aexit__` is an abstract method which by " -"default returns ``None``. See also the definition of :ref:`async-context-" -"managers`." -msgstr "" - -#: ../../library/contextlib.rst:46 -msgid "" -"This function is a :term:`decorator` that can be used to define a factory " -"function for :keyword:`with` statement context managers, without needing to " -"create a class or separate :meth:`~object.__enter__` and " -":meth:`~object.__exit__` methods." -msgstr "" - -#: ../../library/contextlib.rst:50 -msgid "" -"While many objects natively support use in with statements, sometimes a " -"resource needs to be managed that isn't a context manager in its own right, " -"and doesn't implement a ``close()`` method for use with " -"``contextlib.closing``." -msgstr "" - -#: ../../library/contextlib.rst:54 -msgid "" -"An abstract example would be the following to ensure correct resource " -"management::" -msgstr "" - -#: ../../library/contextlib.rst:57 -msgid "" -"from contextlib import contextmanager\n" -"\n" -"@contextmanager\n" -"def managed_resource(*args, **kwds):\n" -" # Code to acquire resource, e.g.:\n" -" resource = acquire_resource(*args, **kwds)\n" -" try:\n" -" yield resource\n" -" finally:\n" -" # Code to release resource, e.g.:\n" -" release_resource(resource)" -msgstr "" - -#: ../../library/contextlib.rst:69 -msgid "The function can then be used like this::" -msgstr "" - -#: ../../library/contextlib.rst:71 -msgid "" -">>> with managed_resource(timeout=3600) as resource:\n" -"... # Resource is released at the end of this block,\n" -"... # even if code in the block raises an exception" -msgstr "" - -#: ../../library/contextlib.rst:75 -msgid "" -"The function being decorated must return a :term:`generator`-iterator when " -"called. This iterator must yield exactly one value, which will be bound to " -"the targets in the :keyword:`with` statement's :keyword:`!as` clause, if " -"any." -msgstr "" - -#: ../../library/contextlib.rst:79 -msgid "" -"At the point where the generator yields, the block nested in the " -":keyword:`with` statement is executed. The generator is then resumed after " -"the block is exited. If an unhandled exception occurs in the block, it is " -"reraised inside the generator at the point where the yield occurred. Thus, " -"you can use a :keyword:`try`...\\ :keyword:`except`...\\ :keyword:`finally` " -"statement to trap the error (if any), or ensure that some cleanup takes " -"place. If an exception is trapped merely in order to log it or to perform " -"some action (rather than to suppress it entirely), the generator must " -"reraise that exception. Otherwise the generator context manager will " -"indicate to the :keyword:`!with` statement that the exception has been " -"handled, and execution will resume with the statement immediately following " -"the :keyword:`!with` statement." -msgstr "" - -#: ../../library/contextlib.rst:91 -msgid "" -":func:`contextmanager` uses :class:`ContextDecorator` so the context " -"managers it creates can be used as decorators as well as in :keyword:`with` " -"statements. When used as a decorator, a new generator instance is implicitly" -" created on each function call (this allows the otherwise \"one-shot\" " -"context managers created by :func:`contextmanager` to meet the requirement " -"that context managers support multiple invocations in order to be used as " -"decorators)." -msgstr "" - -#: ../../library/contextlib.rst:98 -msgid "Use of :class:`ContextDecorator`." -msgstr "" - -#: ../../library/contextlib.rst:104 -msgid "" -"Similar to :func:`~contextlib.contextmanager`, but creates an " -":ref:`asynchronous context manager `." -msgstr "" - -#: ../../library/contextlib.rst:107 -msgid "" -"This function is a :term:`decorator` that can be used to define a factory " -"function for :keyword:`async with` statement asynchronous context managers, " -"without needing to create a class or separate :meth:`~object.__aenter__` and" -" :meth:`~object.__aexit__` methods. It must be applied to an " -":term:`asynchronous generator` function." -msgstr "" - -#: ../../library/contextlib.rst:113 -msgid "A simple example::" -msgstr "" - -#: ../../library/contextlib.rst:115 -msgid "" -"from contextlib import asynccontextmanager\n" -"\n" -"@asynccontextmanager\n" -"async def get_connection():\n" -" conn = await acquire_db_connection()\n" -" try:\n" -" yield conn\n" -" finally:\n" -" await release_db_connection(conn)\n" -"\n" -"async def get_all_users():\n" -" async with get_connection() as conn:\n" -" return conn.query('SELECT ...')" -msgstr "" - -#: ../../library/contextlib.rst:131 -msgid "" -"Context managers defined with :func:`asynccontextmanager` can be used either" -" as decorators or with :keyword:`async with` statements::" -msgstr "" - -#: ../../library/contextlib.rst:134 -msgid "" -"import time\n" -"from contextlib import asynccontextmanager\n" -"\n" -"@asynccontextmanager\n" -"async def timeit():\n" -" now = time.monotonic()\n" -" try:\n" -" yield\n" -" finally:\n" -" print(f'it took {time.monotonic() - now}s to run')\n" -"\n" -"@timeit()\n" -"async def main():\n" -" # ... async code ..." -msgstr "" - -#: ../../library/contextlib.rst:149 -msgid "" -"When used as a decorator, a new generator instance is implicitly created on " -"each function call. This allows the otherwise \"one-shot\" context managers " -"created by :func:`asynccontextmanager` to meet the requirement that context " -"managers support multiple invocations in order to be used as decorators." -msgstr "" - -#: ../../library/contextlib.rst:154 -msgid "" -"Async context managers created with :func:`asynccontextmanager` can be used " -"as decorators." -msgstr "" - -#: ../../library/contextlib.rst:161 -msgid "" -"Return a context manager that closes *thing* upon completion of the block. " -"This is basically equivalent to::" -msgstr "" - -#: ../../library/contextlib.rst:164 -msgid "" -"from contextlib import contextmanager\n" -"\n" -"@contextmanager\n" -"def closing(thing):\n" -" try:\n" -" yield thing\n" -" finally:\n" -" thing.close()" -msgstr "" - -#: ../../library/contextlib.rst:173 -msgid "And lets you write code like this::" -msgstr "" - -#: ../../library/contextlib.rst:175 -msgid "" -"from contextlib import closing\n" -"from urllib.request import urlopen\n" -"\n" -"with closing(urlopen('https://www.python.org')) as page:\n" -" for line in page:\n" -" print(line)" -msgstr "" - -#: ../../library/contextlib.rst:182 -msgid "" -"without needing to explicitly close ``page``. Even if an error occurs, " -"``page.close()`` will be called when the :keyword:`with` block is exited." -msgstr "" - -#: ../../library/contextlib.rst:187 -msgid "" -"Most types managing resources support the :term:`context manager` protocol, " -"which closes *thing* on leaving the :keyword:`with` statement. As such, " -":func:`!closing` is most useful for third party types that don't support " -"context managers. This example is purely for illustration purposes, as " -":func:`~urllib.request.urlopen` would normally be used in a context manager." -msgstr "" - -#: ../../library/contextlib.rst:196 -msgid "" -"Return an async context manager that calls the ``aclose()`` method of " -"*thing* upon completion of the block. This is basically equivalent to::" -msgstr "" - -#: ../../library/contextlib.rst:199 -msgid "" -"from contextlib import asynccontextmanager\n" -"\n" -"@asynccontextmanager\n" -"async def aclosing(thing):\n" -" try:\n" -" yield thing\n" -" finally:\n" -" await thing.aclose()" -msgstr "" - -#: ../../library/contextlib.rst:208 -msgid "" -"Significantly, ``aclosing()`` supports deterministic cleanup of async " -"generators when they happen to exit early by :keyword:`break` or an " -"exception. For example::" -msgstr "" - -#: ../../library/contextlib.rst:212 -msgid "" -"from contextlib import aclosing\n" -"\n" -"async with aclosing(my_generator()) as values:\n" -" async for value in values:\n" -" if value == 42:\n" -" break" -msgstr "" - -#: ../../library/contextlib.rst:219 -msgid "" -"This pattern ensures that the generator's async exit code is executed in the" -" same context as its iterations (so that exceptions and context variables " -"work as expected, and the exit code isn't run after the lifetime of some " -"task it depends on)." -msgstr "" - -#: ../../library/contextlib.rst:231 -msgid "" -"Return a context manager that returns *enter_result* from ``__enter__``, but" -" otherwise does nothing. It is intended to be used as a stand-in for an " -"optional context manager, for example::" -msgstr "" - -#: ../../library/contextlib.rst:235 -msgid "" -"def myfunction(arg, ignore_exceptions=False):\n" -" if ignore_exceptions:\n" -" # Use suppress to ignore all exceptions.\n" -" cm = contextlib.suppress(Exception)\n" -" else:\n" -" # Do not ignore any exceptions, cm has no effect.\n" -" cm = contextlib.nullcontext()\n" -" with cm:\n" -" # Do something" -msgstr "" - -#: ../../library/contextlib.rst:245 -msgid "An example using *enter_result*::" -msgstr "" - -#: ../../library/contextlib.rst:247 -msgid "" -"def process_file(file_or_path):\n" -" if isinstance(file_or_path, str):\n" -" # If string, open file\n" -" cm = open(file_or_path)\n" -" else:\n" -" # Caller is responsible for closing file\n" -" cm = nullcontext(file_or_path)\n" -"\n" -" with cm as file:\n" -" # Perform processing on the file" -msgstr "" - -#: ../../library/contextlib.rst:258 -msgid "" -"It can also be used as a stand-in for :ref:`asynchronous context managers " -"`::" -msgstr "" - -#: ../../library/contextlib.rst:261 -msgid "" -"async def send_http(session=None):\n" -" if not session:\n" -" # If no http session, create it with aiohttp\n" -" cm = aiohttp.ClientSession()\n" -" else:\n" -" # Caller is responsible for closing the session\n" -" cm = nullcontext(session)\n" -"\n" -" async with cm as session:\n" -" # Send http requests with session" -msgstr "" - -#: ../../library/contextlib.rst:274 -msgid ":term:`asynchronous context manager` support was added." -msgstr "" - -#: ../../library/contextlib.rst:281 -msgid "" -"Return a context manager that suppresses any of the specified exceptions if " -"they occur in the body of a :keyword:`!with` statement and then resumes " -"execution with the first statement following the end of the :keyword:`!with`" -" statement." -msgstr "" - -#: ../../library/contextlib.rst:286 -msgid "" -"As with any other mechanism that completely suppresses exceptions, this " -"context manager should be used only to cover very specific errors where " -"silently continuing with program execution is known to be the right thing to" -" do." -msgstr "" - -#: ../../library/contextlib.rst:291 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../library/contextlib.rst:293 -msgid "" -"from contextlib import suppress\n" -"\n" -"with suppress(FileNotFoundError):\n" -" os.remove('somefile.tmp')\n" -"\n" -"with suppress(FileNotFoundError):\n" -" os.remove('someotherfile.tmp')" -msgstr "" - -#: ../../library/contextlib.rst:301 -msgid "This code is equivalent to::" -msgstr "" - -#: ../../library/contextlib.rst:303 -msgid "" -"try:\n" -" os.remove('somefile.tmp')\n" -"except FileNotFoundError:\n" -" pass\n" -"\n" -"try:\n" -" os.remove('someotherfile.tmp')\n" -"except FileNotFoundError:\n" -" pass" -msgstr "" - -#: ../../library/contextlib.rst:313 ../../library/contextlib.rst:362 -#: ../../library/contextlib.rst:372 ../../library/contextlib.rst:389 -msgid "This context manager is :ref:`reentrant `." -msgstr "" - -#: ../../library/contextlib.rst:315 -msgid "" -"If the code within the :keyword:`!with` block raises a " -":exc:`BaseExceptionGroup`, suppressed exceptions are removed from the group." -" Any exceptions of the group which are not suppressed are re-raised in a " -"new group which is created using the original group's " -":meth:`~BaseExceptionGroup.derive` method." -msgstr "" - -#: ../../library/contextlib.rst:323 -msgid "" -"``suppress`` now supports suppressing exceptions raised as part of a " -":exc:`BaseExceptionGroup`." -msgstr "" - -#: ../../library/contextlib.rst:329 -msgid "" -"Context manager for temporarily redirecting :data:`sys.stdout` to another " -"file or file-like object." -msgstr "" - -#: ../../library/contextlib.rst:332 -msgid "" -"This tool adds flexibility to existing functions or classes whose output is " -"hardwired to stdout." -msgstr "" - -#: ../../library/contextlib.rst:335 -msgid "" -"For example, the output of :func:`help` normally is sent to *sys.stdout*. " -"You can capture that output in a string by redirecting the output to an " -":class:`io.StringIO` object. The replacement stream is returned from the " -"``__enter__`` method and so is available as the target of the " -":keyword:`with` statement::" -msgstr "" - -#: ../../library/contextlib.rst:341 -msgid "" -"with redirect_stdout(io.StringIO()) as f:\n" -" help(pow)\n" -"s = f.getvalue()" -msgstr "" - -#: ../../library/contextlib.rst:345 -msgid "" -"To send the output of :func:`help` to a file on disk, redirect the output to" -" a regular file::" -msgstr "" - -#: ../../library/contextlib.rst:348 -msgid "" -"with open('help.txt', 'w') as f:\n" -" with redirect_stdout(f):\n" -" help(pow)" -msgstr "" - -#: ../../library/contextlib.rst:352 -msgid "To send the output of :func:`help` to *sys.stderr*::" -msgstr "" - -#: ../../library/contextlib.rst:354 -msgid "" -"with redirect_stdout(sys.stderr):\n" -" help(pow)" -msgstr "" - -#: ../../library/contextlib.rst:357 -msgid "" -"Note that the global side effect on :data:`sys.stdout` means that this " -"context manager is not suitable for use in library code and most threaded " -"applications. It also has no effect on the output of subprocesses. However, " -"it is still a useful approach for many utility scripts." -msgstr "" - -#: ../../library/contextlib.rst:369 -msgid "" -"Similar to :func:`~contextlib.redirect_stdout` but redirecting " -":data:`sys.stderr` to another file or file-like object." -msgstr "" - -#: ../../library/contextlib.rst:379 -msgid "" -"Non parallel-safe context manager to change the current working directory. " -"As this changes a global state, the working directory, it is not suitable " -"for use in most threaded or async contexts. It is also not suitable for most" -" non-linear code execution, like generators, where the program execution is " -"temporarily relinquished -- unless explicitly desired, you should not yield " -"when this context manager is active." -msgstr "" - -#: ../../library/contextlib.rst:386 -msgid "" -"This is a simple wrapper around :func:`~os.chdir`, it changes the current " -"working directory upon entering and restores the old one on exit." -msgstr "" - -#: ../../library/contextlib.rst:396 -msgid "" -"A base class that enables a context manager to also be used as a decorator." -msgstr "" - -#: ../../library/contextlib.rst:398 -msgid "" -"Context managers inheriting from ``ContextDecorator`` have to implement " -"``__enter__`` and ``__exit__`` as normal. ``__exit__`` retains its optional " -"exception handling even when used as a decorator." -msgstr "" - -#: ../../library/contextlib.rst:402 -msgid "" -"``ContextDecorator`` is used by :func:`contextmanager`, so you get this " -"functionality automatically." -msgstr "" - -#: ../../library/contextlib.rst:405 -msgid "Example of ``ContextDecorator``::" -msgstr "" - -#: ../../library/contextlib.rst:407 -msgid "" -"from contextlib import ContextDecorator\n" -"\n" -"class mycontext(ContextDecorator):\n" -" def __enter__(self):\n" -" print('Starting')\n" -" return self\n" -"\n" -" def __exit__(self, *exc):\n" -" print('Finishing')\n" -" return False" -msgstr "" - -#: ../../library/contextlib.rst:418 ../../library/contextlib.rst:490 -msgid "The class can then be used like this::" -msgstr "" - -#: ../../library/contextlib.rst:420 -msgid "" -">>> @mycontext()\n" -"... def function():\n" -"... print('The bit in the middle')\n" -"...\n" -">>> function()\n" -"Starting\n" -"The bit in the middle\n" -"Finishing\n" -"\n" -">>> with mycontext():\n" -"... print('The bit in the middle')\n" -"...\n" -"Starting\n" -"The bit in the middle\n" -"Finishing" -msgstr "" - -#: ../../library/contextlib.rst:436 -msgid "" -"This change is just syntactic sugar for any construct of the following " -"form::" -msgstr "" - -#: ../../library/contextlib.rst:438 -msgid "" -"def f():\n" -" with cm():\n" -" # Do stuff" -msgstr "" - -#: ../../library/contextlib.rst:442 -msgid "``ContextDecorator`` lets you instead write::" -msgstr "" - -#: ../../library/contextlib.rst:444 -msgid "" -"@cm()\n" -"def f():\n" -" # Do stuff" -msgstr "" - -#: ../../library/contextlib.rst:448 -msgid "" -"It makes it clear that the ``cm`` applies to the whole function, rather than" -" just a piece of it (and saving an indentation level is nice, too)." -msgstr "" - -#: ../../library/contextlib.rst:451 -msgid "" -"Existing context managers that already have a base class can be extended by " -"using ``ContextDecorator`` as a mixin class::" -msgstr "" - -#: ../../library/contextlib.rst:454 -msgid "" -"from contextlib import ContextDecorator\n" -"\n" -"class mycontext(ContextBaseClass, ContextDecorator):\n" -" def __enter__(self):\n" -" return self\n" -"\n" -" def __exit__(self, *exc):\n" -" return False" -msgstr "" - -#: ../../library/contextlib.rst:464 -msgid "" -"As the decorated function must be able to be called multiple times, the " -"underlying context manager must support use in multiple :keyword:`with` " -"statements. If this is not the case, then the original construct with the " -"explicit :keyword:`!with` statement inside the function should be used." -msgstr "" - -#: ../../library/contextlib.rst:474 -msgid "" -"Similar to :class:`ContextDecorator` but only for asynchronous functions." -msgstr "" - -#: ../../library/contextlib.rst:476 -msgid "Example of ``AsyncContextDecorator``::" -msgstr "" - -#: ../../library/contextlib.rst:478 -msgid "" -"from asyncio import run\n" -"from contextlib import AsyncContextDecorator\n" -"\n" -"class mycontext(AsyncContextDecorator):\n" -" async def __aenter__(self):\n" -" print('Starting')\n" -" return self\n" -"\n" -" async def __aexit__(self, *exc):\n" -" print('Finishing')\n" -" return False" -msgstr "" - -#: ../../library/contextlib.rst:492 -msgid "" -">>> @mycontext()\n" -"... async def function():\n" -"... print('The bit in the middle')\n" -"...\n" -">>> run(function())\n" -"Starting\n" -"The bit in the middle\n" -"Finishing\n" -"\n" -">>> async def function():\n" -"... async with mycontext():\n" -"... print('The bit in the middle')\n" -"...\n" -">>> run(function())\n" -"Starting\n" -"The bit in the middle\n" -"Finishing" -msgstr "" - -#: ../../library/contextlib.rst:515 -msgid "" -"A context manager that is designed to make it easy to programmatically " -"combine other context managers and cleanup functions, especially those that " -"are optional or otherwise driven by input data." -msgstr "" - -#: ../../library/contextlib.rst:519 -msgid "" -"For example, a set of files may easily be handled in a single with statement" -" as follows::" -msgstr "" - -#: ../../library/contextlib.rst:522 -msgid "" -"with ExitStack() as stack:\n" -" files = [stack.enter_context(open(fname)) for fname in filenames]\n" -" # All opened files will automatically be closed at the end of\n" -" # the with statement, even if attempts to open files later\n" -" # in the list raise an exception" -msgstr "" - -#: ../../library/contextlib.rst:528 -msgid "" -"The :meth:`~object.__enter__` method returns the :class:`ExitStack` " -"instance, and performs no additional operations." -msgstr "" - -#: ../../library/contextlib.rst:531 -msgid "" -"Each instance maintains a stack of registered callbacks that are called in " -"reverse order when the instance is closed (either explicitly or implicitly " -"at the end of a :keyword:`with` statement). Note that callbacks are *not* " -"invoked implicitly when the context stack instance is garbage collected." -msgstr "" - -#: ../../library/contextlib.rst:536 -msgid "" -"This stack model is used so that context managers that acquire their " -"resources in their ``__init__`` method (such as file objects) can be handled" -" correctly." -msgstr "" - -#: ../../library/contextlib.rst:540 -msgid "" -"Since registered callbacks are invoked in the reverse order of registration," -" this ends up behaving as if multiple nested :keyword:`with` statements had " -"been used with the registered set of callbacks. This even extends to " -"exception handling - if an inner callback suppresses or replaces an " -"exception, then outer callbacks will be passed arguments based on that " -"updated state." -msgstr "" - -#: ../../library/contextlib.rst:547 -msgid "" -"This is a relatively low level API that takes care of the details of " -"correctly unwinding the stack of exit callbacks. It provides a suitable " -"foundation for higher level context managers that manipulate the exit stack " -"in application specific ways." -msgstr "" - -#: ../../library/contextlib.rst:556 -msgid "" -"Enters a new context manager and adds its :meth:`~object.__exit__` method to" -" the callback stack. The return value is the result of the context manager's" -" own :meth:`~object.__enter__` method." -msgstr "" - -#: ../../library/contextlib.rst:560 -msgid "" -"These context managers may suppress exceptions just as they normally would " -"if used directly as part of a :keyword:`with` statement." -msgstr "" - -#: ../../library/contextlib.rst:563 -msgid "" -"Raises :exc:`TypeError` instead of :exc:`AttributeError` if *cm* is not a " -"context manager." -msgstr "" - -#: ../../library/contextlib.rst:569 -msgid "" -"Adds a context manager's :meth:`~object.__exit__` method to the callback " -"stack." -msgstr "" - -#: ../../library/contextlib.rst:571 -msgid "" -"As ``__enter__`` is *not* invoked, this method can be used to cover part of " -"an :meth:`~object.__enter__` implementation with a context manager's own " -":meth:`~object.__exit__` method." -msgstr "" - -#: ../../library/contextlib.rst:575 -msgid "" -"If passed an object that is not a context manager, this method assumes it is" -" a callback with the same signature as a context manager's " -":meth:`~object.__exit__` method and adds it directly to the callback stack." -msgstr "" - -#: ../../library/contextlib.rst:579 -msgid "" -"By returning true values, these callbacks can suppress exceptions the same " -"way context manager :meth:`~object.__exit__` methods can." -msgstr "" - -#: ../../library/contextlib.rst:582 -msgid "" -"The passed in object is returned from the function, allowing this method to " -"be used as a function decorator." -msgstr "" - -#: ../../library/contextlib.rst:587 -msgid "" -"Accepts an arbitrary callback function and arguments and adds it to the " -"callback stack." -msgstr "" - -#: ../../library/contextlib.rst:590 -msgid "" -"Unlike the other methods, callbacks added this way cannot suppress " -"exceptions (as they are never passed the exception details)." -msgstr "" - -#: ../../library/contextlib.rst:593 -msgid "" -"The passed in callback is returned from the function, allowing this method " -"to be used as a function decorator." -msgstr "" - -#: ../../library/contextlib.rst:598 -msgid "" -"Transfers the callback stack to a fresh :class:`ExitStack` instance and " -"returns it. No callbacks are invoked by this operation - instead, they will " -"now be invoked when the new stack is closed (either explicitly or implicitly" -" at the end of a :keyword:`with` statement)." -msgstr "" - -#: ../../library/contextlib.rst:603 -msgid "" -"For example, a group of files can be opened as an \"all or nothing\" " -"operation as follows::" -msgstr "" - -#: ../../library/contextlib.rst:606 -msgid "" -"with ExitStack() as stack:\n" -" files = [stack.enter_context(open(fname)) for fname in filenames]\n" -" # Hold onto the close method, but don't call it yet.\n" -" close_files = stack.pop_all().close\n" -" # If opening any file fails, all previously opened files will be\n" -" # closed automatically. If all files are opened successfully,\n" -" # they will remain open even after the with statement ends.\n" -" # close_files() can then be invoked explicitly to close them all." -msgstr "" - -#: ../../library/contextlib.rst:617 -msgid "" -"Immediately unwinds the callback stack, invoking callbacks in the reverse " -"order of registration. For any context managers and exit callbacks " -"registered, the arguments passed in will indicate that no exception " -"occurred." -msgstr "" - -#: ../../library/contextlib.rst:624 -msgid "" -"An :ref:`asynchronous context manager `, similar to " -":class:`ExitStack`, that supports combining both synchronous and " -"asynchronous context managers, as well as having coroutines for cleanup " -"logic." -msgstr "" - -#: ../../library/contextlib.rst:629 -msgid "" -"The :meth:`~ExitStack.close` method is not implemented; :meth:`aclose` must " -"be used instead." -msgstr "" - -#: ../../library/contextlib.rst:635 -msgid "" -"Similar to :meth:`ExitStack.enter_context` but expects an asynchronous " -"context manager." -msgstr "" - -#: ../../library/contextlib.rst:638 -msgid "" -"Raises :exc:`TypeError` instead of :exc:`AttributeError` if *cm* is not an " -"asynchronous context manager." -msgstr "" - -#: ../../library/contextlib.rst:644 -msgid "" -"Similar to :meth:`ExitStack.push` but expects either an asynchronous context" -" manager or a coroutine function." -msgstr "" - -#: ../../library/contextlib.rst:649 -msgid "" -"Similar to :meth:`ExitStack.callback` but expects a coroutine function." -msgstr "" - -#: ../../library/contextlib.rst:654 -msgid "Similar to :meth:`ExitStack.close` but properly handles awaitables." -msgstr "" - -#: ../../library/contextlib.rst:656 -msgid "Continuing the example for :func:`asynccontextmanager`::" -msgstr "" - -#: ../../library/contextlib.rst:658 -msgid "" -"async with AsyncExitStack() as stack:\n" -" connections = [await stack.enter_async_context(get_connection())\n" -" for i in range(5)]\n" -" # All opened connections will automatically be released at the end of\n" -" # the async with statement, even if attempts to open a connection\n" -" # later in the list raise an exception." -msgstr "" - -#: ../../library/contextlib.rst:668 -msgid "Examples and Recipes" -msgstr "" - -#: ../../library/contextlib.rst:670 -msgid "" -"This section describes some examples and recipes for making effective use of" -" the tools provided by :mod:`contextlib`." -msgstr "" - -#: ../../library/contextlib.rst:675 -msgid "Supporting a variable number of context managers" -msgstr "" - -#: ../../library/contextlib.rst:677 -msgid "" -"The primary use case for :class:`ExitStack` is the one given in the class " -"documentation: supporting a variable number of context managers and other " -"cleanup operations in a single :keyword:`with` statement. The variability " -"may come from the number of context managers needed being driven by user " -"input (such as opening a user specified collection of files), or from some " -"of the context managers being optional::" -msgstr "" - -#: ../../library/contextlib.rst:684 -msgid "" -"with ExitStack() as stack:\n" -" for resource in resources:\n" -" stack.enter_context(resource)\n" -" if need_special_resource():\n" -" special = acquire_special_resource()\n" -" stack.callback(release_special_resource, special)\n" -" # Perform operations that use the acquired resources" -msgstr "" - -#: ../../library/contextlib.rst:692 -msgid "" -"As shown, :class:`ExitStack` also makes it quite easy to use :keyword:`with`" -" statements to manage arbitrary resources that don't natively support the " -"context management protocol." -msgstr "" - -#: ../../library/contextlib.rst:698 -msgid "Catching exceptions from ``__enter__`` methods" -msgstr "" - -#: ../../library/contextlib.rst:700 -msgid "" -"It is occasionally desirable to catch exceptions from an ``__enter__`` " -"method implementation, *without* inadvertently catching exceptions from the " -":keyword:`with` statement body or the context manager's ``__exit__`` method." -" By using :class:`ExitStack` the steps in the context management protocol " -"can be separated slightly in order to allow this::" -msgstr "" - -#: ../../library/contextlib.rst:706 -msgid "" -"stack = ExitStack()\n" -"try:\n" -" x = stack.enter_context(cm)\n" -"except Exception:\n" -" # handle __enter__ exception\n" -"else:\n" -" with stack:\n" -" # Handle normal case" -msgstr "" - -#: ../../library/contextlib.rst:715 -msgid "" -"Actually needing to do this is likely to indicate that the underlying API " -"should be providing a direct resource management interface for use with " -":keyword:`try`/:keyword:`except`/:keyword:`finally` statements, but not all " -"APIs are well designed in that regard. When a context manager is the only " -"resource management API provided, then :class:`ExitStack` can make it easier" -" to handle various situations that can't be handled directly in a " -":keyword:`with` statement." -msgstr "" - -#: ../../library/contextlib.rst:725 -msgid "Cleaning up in an ``__enter__`` implementation" -msgstr "" - -#: ../../library/contextlib.rst:727 -msgid "" -"As noted in the documentation of :meth:`ExitStack.push`, this method can be " -"useful in cleaning up an already allocated resource if later steps in the " -":meth:`~object.__enter__` implementation fail." -msgstr "" - -#: ../../library/contextlib.rst:731 -msgid "" -"Here's an example of doing this for a context manager that accepts resource " -"acquisition and release functions, along with an optional validation " -"function, and maps them to the context management protocol::" -msgstr "" - -#: ../../library/contextlib.rst:735 -msgid "" -"from contextlib import contextmanager, AbstractContextManager, ExitStack\n" -"\n" -"class ResourceManager(AbstractContextManager):\n" -"\n" -" def __init__(self, acquire_resource, release_resource, check_resource_ok=None):\n" -" self.acquire_resource = acquire_resource\n" -" self.release_resource = release_resource\n" -" if check_resource_ok is None:\n" -" def check_resource_ok(resource):\n" -" return True\n" -" self.check_resource_ok = check_resource_ok\n" -"\n" -" @contextmanager\n" -" def _cleanup_on_error(self):\n" -" with ExitStack() as stack:\n" -" stack.push(self)\n" -" yield\n" -" # The validation check passed and didn't raise an exception\n" -" # Accordingly, we want to keep the resource, and pass it\n" -" # back to our caller\n" -" stack.pop_all()\n" -"\n" -" def __enter__(self):\n" -" resource = self.acquire_resource()\n" -" with self._cleanup_on_error():\n" -" if not self.check_resource_ok(resource):\n" -" msg = \"Failed validation for {!r}\"\n" -" raise RuntimeError(msg.format(resource))\n" -" return resource\n" -"\n" -" def __exit__(self, *exc_details):\n" -" # We don't need to duplicate any of our resource release logic\n" -" self.release_resource()" -msgstr "" - -#: ../../library/contextlib.rst:771 -msgid "Replacing any use of ``try-finally`` and flag variables" -msgstr "" - -#: ../../library/contextlib.rst:773 -msgid "" -"A pattern you will sometimes see is a ``try-finally`` statement with a flag " -"variable to indicate whether or not the body of the ``finally`` clause " -"should be executed. In its simplest form (that can't already be handled just" -" by using an ``except`` clause instead), it looks something like this::" -msgstr "" - -#: ../../library/contextlib.rst:778 -msgid "" -"cleanup_needed = True\n" -"try:\n" -" result = perform_operation()\n" -" if result:\n" -" cleanup_needed = False\n" -"finally:\n" -" if cleanup_needed:\n" -" cleanup_resources()" -msgstr "" - -#: ../../library/contextlib.rst:787 -msgid "" -"As with any ``try`` statement based code, this can cause problems for " -"development and review, because the setup code and the cleanup code can end " -"up being separated by arbitrarily long sections of code." -msgstr "" - -#: ../../library/contextlib.rst:791 -msgid "" -":class:`ExitStack` makes it possible to instead register a callback for " -"execution at the end of a ``with`` statement, and then later decide to skip " -"executing that callback::" -msgstr "" - -#: ../../library/contextlib.rst:795 -msgid "" -"from contextlib import ExitStack\n" -"\n" -"with ExitStack() as stack:\n" -" stack.callback(cleanup_resources)\n" -" result = perform_operation()\n" -" if result:\n" -" stack.pop_all()" -msgstr "" - -#: ../../library/contextlib.rst:803 -msgid "" -"This allows the intended cleanup behaviour to be made explicit up front, " -"rather than requiring a separate flag variable." -msgstr "" - -#: ../../library/contextlib.rst:806 -msgid "" -"If a particular application uses this pattern a lot, it can be simplified " -"even further by means of a small helper class::" -msgstr "" - -#: ../../library/contextlib.rst:809 -msgid "" -"from contextlib import ExitStack\n" -"\n" -"class Callback(ExitStack):\n" -" def __init__(self, callback, /, *args, **kwds):\n" -" super().__init__()\n" -" self.callback(callback, *args, **kwds)\n" -"\n" -" def cancel(self):\n" -" self.pop_all()\n" -"\n" -"with Callback(cleanup_resources) as cb:\n" -" result = perform_operation()\n" -" if result:\n" -" cb.cancel()" -msgstr "" - -#: ../../library/contextlib.rst:824 -msgid "" -"If the resource cleanup isn't already neatly bundled into a standalone " -"function, then it is still possible to use the decorator form of " -":meth:`ExitStack.callback` to declare the resource cleanup in advance::" -msgstr "" - -#: ../../library/contextlib.rst:829 -msgid "" -"from contextlib import ExitStack\n" -"\n" -"with ExitStack() as stack:\n" -" @stack.callback\n" -" def cleanup_resources():\n" -" ...\n" -" result = perform_operation()\n" -" if result:\n" -" stack.pop_all()" -msgstr "" - -#: ../../library/contextlib.rst:839 -msgid "" -"Due to the way the decorator protocol works, a callback function declared " -"this way cannot take any parameters. Instead, any resources to be released " -"must be accessed as closure variables." -msgstr "" - -#: ../../library/contextlib.rst:845 -msgid "Using a context manager as a function decorator" -msgstr "" - -#: ../../library/contextlib.rst:847 -msgid "" -":class:`ContextDecorator` makes it possible to use a context manager in both" -" an ordinary ``with`` statement and also as a function decorator." -msgstr "" - -#: ../../library/contextlib.rst:850 -msgid "" -"For example, it is sometimes useful to wrap functions or groups of " -"statements with a logger that can track the time of entry and time of exit." -" Rather than writing both a function decorator and a context manager for " -"the task, inheriting from :class:`ContextDecorator` provides both " -"capabilities in a single definition::" -msgstr "" - -#: ../../library/contextlib.rst:856 -msgid "" -"from contextlib import ContextDecorator\n" -"import logging\n" -"\n" -"logging.basicConfig(level=logging.INFO)\n" -"\n" -"class track_entry_and_exit(ContextDecorator):\n" -" def __init__(self, name):\n" -" self.name = name\n" -"\n" -" def __enter__(self):\n" -" logging.info('Entering: %s', self.name)\n" -"\n" -" def __exit__(self, exc_type, exc, exc_tb):\n" -" logging.info('Exiting: %s', self.name)" -msgstr "" - -#: ../../library/contextlib.rst:871 -msgid "Instances of this class can be used as both a context manager::" -msgstr "" - -#: ../../library/contextlib.rst:873 -msgid "" -"with track_entry_and_exit('widget loader'):\n" -" print('Some time consuming activity goes here')\n" -" load_widget()" -msgstr "" - -#: ../../library/contextlib.rst:877 -msgid "And also as a function decorator::" -msgstr "" - -#: ../../library/contextlib.rst:879 -msgid "" -"@track_entry_and_exit('widget loader')\n" -"def activity():\n" -" print('Some time consuming activity goes here')\n" -" load_widget()" -msgstr "" - -#: ../../library/contextlib.rst:884 -msgid "" -"Note that there is one additional limitation when using context managers as " -"function decorators: there's no way to access the return value of " -":meth:`~object.__enter__`. If that value is needed, then it is still " -"necessary to use an explicit ``with`` statement." -msgstr "" - -#: ../../library/contextlib.rst:891 -msgid ":pep:`343` - The \"with\" statement" -msgstr "" - -#: ../../library/contextlib.rst:892 -msgid "" -"The specification, background, and examples for the Python :keyword:`with` " -"statement." -msgstr "" - -#: ../../library/contextlib.rst:898 -msgid "Single use, reusable and reentrant context managers" -msgstr "" - -#: ../../library/contextlib.rst:900 -msgid "" -"Most context managers are written in a way that means they can only be used " -"effectively in a :keyword:`with` statement once. These single use context " -"managers must be created afresh each time they're used - attempting to use " -"them a second time will trigger an exception or otherwise not work " -"correctly." -msgstr "" - -#: ../../library/contextlib.rst:906 -msgid "" -"This common limitation means that it is generally advisable to create " -"context managers directly in the header of the :keyword:`with` statement " -"where they are used (as shown in all of the usage examples above)." -msgstr "" - -#: ../../library/contextlib.rst:910 -msgid "" -"Files are an example of effectively single use context managers, since the " -"first :keyword:`with` statement will close the file, preventing any further " -"IO operations using that file object." -msgstr "" - -#: ../../library/contextlib.rst:914 -msgid "" -"Context managers created using :func:`contextmanager` are also single use " -"context managers, and will complain about the underlying generator failing " -"to yield if an attempt is made to use them a second time::" -msgstr "" - -#: ../../library/contextlib.rst:918 -msgid "" -">>> from contextlib import contextmanager\n" -">>> @contextmanager\n" -"... def singleuse():\n" -"... print(\"Before\")\n" -"... yield\n" -"... print(\"After\")\n" -"...\n" -">>> cm = singleuse()\n" -">>> with cm:\n" -"... pass\n" -"...\n" -"Before\n" -"After\n" -">>> with cm:\n" -"... pass\n" -"...\n" -"Traceback (most recent call last):\n" -" ...\n" -"RuntimeError: generator didn't yield" -msgstr "" - -#: ../../library/contextlib.rst:942 -msgid "Reentrant context managers" -msgstr "" - -#: ../../library/contextlib.rst:944 -msgid "" -"More sophisticated context managers may be \"reentrant\". These context " -"managers can not only be used in multiple :keyword:`with` statements, but " -"may also be used *inside* a :keyword:`!with` statement that is already using" -" the same context manager." -msgstr "" - -#: ../../library/contextlib.rst:949 -msgid "" -":class:`threading.RLock` is an example of a reentrant context manager, as " -"are :func:`suppress`, :func:`redirect_stdout`, and :func:`chdir`. Here's a " -"very simple example of reentrant use::" -msgstr "" - -#: ../../library/contextlib.rst:953 -msgid "" -">>> from contextlib import redirect_stdout\n" -">>> from io import StringIO\n" -">>> stream = StringIO()\n" -">>> write_to_stream = redirect_stdout(stream)\n" -">>> with write_to_stream:\n" -"... print(\"This is written to the stream rather than stdout\")\n" -"... with write_to_stream:\n" -"... print(\"This is also written to the stream\")\n" -"...\n" -">>> print(\"This is written directly to stdout\")\n" -"This is written directly to stdout\n" -">>> print(stream.getvalue())\n" -"This is written to the stream rather than stdout\n" -"This is also written to the stream" -msgstr "" - -#: ../../library/contextlib.rst:968 -msgid "" -"Real world examples of reentrancy are more likely to involve multiple " -"functions calling each other and hence be far more complicated than this " -"example." -msgstr "" - -#: ../../library/contextlib.rst:972 -msgid "" -"Note also that being reentrant is *not* the same thing as being thread safe." -" :func:`redirect_stdout`, for example, is definitely not thread safe, as it " -"makes a global modification to the system state by binding " -":data:`sys.stdout` to a different stream." -msgstr "" - -#: ../../library/contextlib.rst:981 -msgid "Reusable context managers" -msgstr "" - -#: ../../library/contextlib.rst:983 -msgid "" -"Distinct from both single use and reentrant context managers are " -"\"reusable\" context managers (or, to be completely explicit, \"reusable, " -"but not reentrant\" context managers, since reentrant context managers are " -"also reusable). These context managers support being used multiple times, " -"but will fail (or otherwise not work correctly) if the specific context " -"manager instance has already been used in a containing with statement." -msgstr "" - -#: ../../library/contextlib.rst:990 -msgid "" -":class:`threading.Lock` is an example of a reusable, but not reentrant, " -"context manager (for a reentrant lock, it is necessary to use " -":class:`threading.RLock` instead)." -msgstr "" - -#: ../../library/contextlib.rst:994 -msgid "" -"Another example of a reusable, but not reentrant, context manager is " -":class:`ExitStack`, as it invokes *all* currently registered callbacks when " -"leaving any with statement, regardless of where those callbacks were added::" -msgstr "" - -#: ../../library/contextlib.rst:999 -msgid "" -">>> from contextlib import ExitStack\n" -">>> stack = ExitStack()\n" -">>> with stack:\n" -"... stack.callback(print, \"Callback: from first context\")\n" -"... print(\"Leaving first context\")\n" -"...\n" -"Leaving first context\n" -"Callback: from first context\n" -">>> with stack:\n" -"... stack.callback(print, \"Callback: from second context\")\n" -"... print(\"Leaving second context\")\n" -"...\n" -"Leaving second context\n" -"Callback: from second context\n" -">>> with stack:\n" -"... stack.callback(print, \"Callback: from outer context\")\n" -"... with stack:\n" -"... stack.callback(print, \"Callback: from inner context\")\n" -"... print(\"Leaving inner context\")\n" -"... print(\"Leaving outer context\")\n" -"...\n" -"Leaving inner context\n" -"Callback: from inner context\n" -"Callback: from outer context\n" -"Leaving outer context" -msgstr "" - -#: ../../library/contextlib.rst:1025 -msgid "" -"As the output from the example shows, reusing a single stack object across " -"multiple with statements works correctly, but attempting to nest them will " -"cause the stack to be cleared at the end of the innermost with statement, " -"which is unlikely to be desirable behaviour." -msgstr "" - -#: ../../library/contextlib.rst:1030 -msgid "" -"Using separate :class:`ExitStack` instances instead of reusing a single " -"instance avoids that problem::" -msgstr "" - -#: ../../library/contextlib.rst:1033 -msgid "" -">>> from contextlib import ExitStack\n" -">>> with ExitStack() as outer_stack:\n" -"... outer_stack.callback(print, \"Callback: from outer context\")\n" -"... with ExitStack() as inner_stack:\n" -"... inner_stack.callback(print, \"Callback: from inner context\")\n" -"... print(\"Leaving inner context\")\n" -"... print(\"Leaving outer context\")\n" -"...\n" -"Leaving inner context\n" -"Callback: from inner context\n" -"Leaving outer context\n" -"Callback: from outer context" -msgstr "" diff --git a/python-newest.library--contextvars/id.po b/python-newest.library--contextvars/id.po deleted file mode 100644 index cb888f0..0000000 --- a/python-newest.library--contextvars/id.po +++ /dev/null @@ -1,429 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Elmo , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Elmo , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/contextvars.rst:2 -msgid ":mod:`!contextvars` --- Context Variables" -msgstr "" - -#: ../../library/contextvars.rst:11 -msgid "" -"This module provides APIs to manage, store, and access context-local state." -" The :class:`~contextvars.ContextVar` class is used to declare and work " -"with *Context Variables*. The :func:`~contextvars.copy_context` function " -"and the :class:`~contextvars.Context` class should be used to manage the " -"current context in asynchronous frameworks." -msgstr "" - -#: ../../library/contextvars.rst:17 -msgid "" -"Context managers that have state should use Context Variables instead of " -":func:`threading.local` to prevent their state from bleeding to other code " -"unexpectedly, when used in concurrent code." -msgstr "" - -#: ../../library/contextvars.rst:21 -msgid "See also :pep:`567` for additional details." -msgstr "" - -#: ../../library/contextvars.rst:27 -msgid "Context Variables" -msgstr "" - -#: ../../library/contextvars.rst:31 -msgid "This class is used to declare a new Context Variable, e.g.::" -msgstr "" - -#: ../../library/contextvars.rst:33 -msgid "var: ContextVar[int] = ContextVar('var', default=42)" -msgstr "" - -#: ../../library/contextvars.rst:35 -msgid "" -"The required *name* parameter is used for introspection and debug purposes." -msgstr "" - -#: ../../library/contextvars.rst:38 -msgid "" -"The optional keyword-only *default* parameter is returned by " -":meth:`ContextVar.get` when no value for the variable is found in the " -"current context." -msgstr "" - -#: ../../library/contextvars.rst:42 -msgid "" -"**Important:** Context Variables should be created at the top module level " -"and never in closures. :class:`Context` objects hold strong references to " -"context variables which prevents context variables from being properly " -"garbage collected." -msgstr "" - -#: ../../library/contextvars.rst:49 -msgid "The name of the variable. This is a read-only property." -msgstr "" - -#: ../../library/contextvars.rst:55 -msgid "Return a value for the context variable for the current context." -msgstr "" - -#: ../../library/contextvars.rst:57 -msgid "" -"If there is no value for the variable in the current context, the method " -"will:" -msgstr "" - -#: ../../library/contextvars.rst:60 -msgid "" -"return the value of the *default* argument of the method, if provided; or" -msgstr "" - -#: ../../library/contextvars.rst:63 -msgid "" -"return the default value for the context variable, if it was created with " -"one; or" -msgstr "" - -#: ../../library/contextvars.rst:66 -msgid "raise a :exc:`LookupError`." -msgstr "" - -#: ../../library/contextvars.rst:70 -msgid "" -"Call to set a new value for the context variable in the current context." -msgstr "" - -#: ../../library/contextvars.rst:73 -msgid "" -"The required *value* argument is the new value for the context variable." -msgstr "" - -#: ../../library/contextvars.rst:76 -msgid "" -"Returns a :class:`~contextvars.Token` object that can be used to restore the" -" variable to its previous value via the :meth:`ContextVar.reset` method." -msgstr "" - -#: ../../library/contextvars.rst:82 -msgid "" -"Reset the context variable to the value it had before the " -":meth:`ContextVar.set` that created the *token* was used." -msgstr "" - -#: ../../library/contextvars.rst:85 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../library/contextvars.rst:87 -msgid "" -"var = ContextVar('var')\n" -"\n" -"token = var.set('new value')\n" -"# code that uses 'var'; var.get() returns 'new value'.\n" -"var.reset(token)\n" -"\n" -"# After the reset call the var has no value again, so\n" -"# var.get() would raise a LookupError." -msgstr "" - -#: ../../library/contextvars.rst:99 -msgid "" -"*Token* objects are returned by the :meth:`ContextVar.set` method. They can " -"be passed to the :meth:`ContextVar.reset` method to revert the value of the " -"variable to what it was before the corresponding *set*." -msgstr "" - -#: ../../library/contextvars.rst:104 -msgid "" -"The token supports :ref:`context manager protocol ` to " -"restore the corresponding context variable value at the exit from " -":keyword:`with` block::" -msgstr "" - -#: ../../library/contextvars.rst:108 -msgid "" -"var = ContextVar('var', default='default value')\n" -"\n" -"with var.set('new value'):\n" -" assert var.get() == 'new value'\n" -"\n" -"assert var.get() == 'default value'" -msgstr "" - -#: ../../library/contextvars.rst:117 -msgid "Added support for usage as a context manager." -msgstr "" - -#: ../../library/contextvars.rst:121 -msgid "" -"A read-only property. Points to the :class:`ContextVar` object that created" -" the token." -msgstr "" - -#: ../../library/contextvars.rst:126 -msgid "" -"A read-only property. Set to the value the variable had before the " -":meth:`ContextVar.set` method call that created the token. It points to " -":attr:`Token.MISSING` if the variable was not set before the call." -msgstr "" - -#: ../../library/contextvars.rst:133 -msgid "A marker object used by :attr:`Token.old_value`." -msgstr "" - -#: ../../library/contextvars.rst:137 -msgid "Manual Context Management" -msgstr "" - -#: ../../library/contextvars.rst:141 -msgid "Returns a copy of the current :class:`~contextvars.Context` object." -msgstr "" - -#: ../../library/contextvars.rst:143 -msgid "" -"The following snippet gets a copy of the current context and prints all " -"variables and their values that are set in it::" -msgstr "" - -#: ../../library/contextvars.rst:146 -msgid "" -"ctx: Context = copy_context()\n" -"print(list(ctx.items()))" -msgstr "" - -#: ../../library/contextvars.rst:149 -msgid "" -"The function has an *O*\\ (1) complexity, i.e. works equally fast for " -"contexts with a few context variables and for contexts that have a lot of " -"them." -msgstr "" - -#: ../../library/contextvars.rst:156 -msgid "A mapping of :class:`ContextVars ` to their values." -msgstr "" - -#: ../../library/contextvars.rst:158 -msgid "" -"``Context()`` creates an empty context with no values in it. To get a copy " -"of the current context use the :func:`~contextvars.copy_context` function." -msgstr "" - -#: ../../library/contextvars.rst:162 -msgid "" -"Each thread has its own effective stack of :class:`!Context` objects. The " -":term:`current context` is the :class:`!Context` object at the top of the " -"current thread's stack. All :class:`!Context` objects in the stacks are " -"considered to be *entered*." -msgstr "" - -#: ../../library/contextvars.rst:167 -msgid "" -"*Entering* a context, which can be done by calling its :meth:`~Context.run` " -"method, makes the context the current context by pushing it onto the top of " -"the current thread's context stack." -msgstr "" - -#: ../../library/contextvars.rst:171 -msgid "" -"*Exiting* from the current context, which can be done by returning from the " -"callback passed to the :meth:`~Context.run` method, restores the current " -"context to what it was before the context was entered by popping the context" -" off the top of the context stack." -msgstr "" - -#: ../../library/contextvars.rst:176 -msgid "" -"Since each thread has its own context stack, :class:`ContextVar` objects " -"behave in a similar fashion to :func:`threading.local` when values are " -"assigned in different threads." -msgstr "" - -#: ../../library/contextvars.rst:180 -msgid "" -"Attempting to enter an already entered context, including contexts entered " -"in other threads, raises a :exc:`RuntimeError`." -msgstr "" - -#: ../../library/contextvars.rst:183 -msgid "After exiting a context, it can later be re-entered (from any thread)." -msgstr "" - -#: ../../library/contextvars.rst:185 -msgid "" -"Any changes to :class:`ContextVar` values via the :meth:`ContextVar.set` " -"method are recorded in the current context. The :meth:`ContextVar.get` " -"method returns the value associated with the current context. Exiting a " -"context effectively reverts any changes made to context variables while the " -"context was entered (if needed, the values can be restored by re-entering " -"the context)." -msgstr "" - -#: ../../library/contextvars.rst:192 -msgid "Context implements the :class:`collections.abc.Mapping` interface." -msgstr "" - -#: ../../library/contextvars.rst:196 -msgid "" -"Enters the Context, executes ``callable(*args, **kwargs)``, then exits the " -"Context. Returns *callable*'s return value, or propagates an exception if " -"one occurred." -msgstr "" - -#: ../../library/contextvars.rst:200 -msgid "Example:" -msgstr "Contoh:" - -#: ../../library/contextvars.rst:202 -msgid "" -"import contextvars\n" -"\n" -"var = contextvars.ContextVar('var')\n" -"var.set('spam')\n" -"print(var.get()) # 'spam'\n" -"\n" -"ctx = contextvars.copy_context()\n" -"\n" -"def main():\n" -" # 'var' was set to 'spam' before\n" -" # calling 'copy_context()' and 'ctx.run(main)', so:\n" -" print(var.get()) # 'spam'\n" -" print(ctx[var]) # 'spam'\n" -"\n" -" var.set('ham')\n" -"\n" -" # Now, after setting 'var' to 'ham':\n" -" print(var.get()) # 'ham'\n" -" print(ctx[var]) # 'ham'\n" -"\n" -"# Any changes that the 'main' function makes to 'var'\n" -"# will be contained in 'ctx'.\n" -"ctx.run(main)\n" -"\n" -"# The 'main()' function was run in the 'ctx' context,\n" -"# so changes to 'var' are contained in it:\n" -"print(ctx[var]) # 'ham'\n" -"\n" -"# However, outside of 'ctx', 'var' is still set to 'spam':\n" -"print(var.get()) # 'spam'" -msgstr "" - -#: ../../library/contextvars.rst:248 -msgid "Return a shallow copy of the context object." -msgstr "" - -#: ../../library/contextvars.rst:252 -msgid "" -"Return ``True`` if the *context* has a value for *var* set; return ``False``" -" otherwise." -msgstr "" - -#: ../../library/contextvars.rst:257 -msgid "" -"Return the value of the *var* :class:`ContextVar` variable. If the variable " -"is not set in the context object, a :exc:`KeyError` is raised." -msgstr "" - -#: ../../library/contextvars.rst:263 -msgid "" -"Return the value for *var* if *var* has the value in the context object. " -"Return *default* otherwise. If *default* is not given, return ``None``." -msgstr "" - -#: ../../library/contextvars.rst:269 -msgid "Return an iterator over the variables stored in the context object." -msgstr "" - -#: ../../library/contextvars.rst:274 -msgid "Return the number of variables set in the context object." -msgstr "" - -#: ../../library/contextvars.rst:278 -msgid "Return a list of all variables in the context object." -msgstr "" - -#: ../../library/contextvars.rst:282 -msgid "Return a list of all variables' values in the context object." -msgstr "" - -#: ../../library/contextvars.rst:287 -msgid "" -"Return a list of 2-tuples containing all variables and their values in the " -"context object." -msgstr "" - -#: ../../library/contextvars.rst:292 -msgid "asyncio support" -msgstr "" - -#: ../../library/contextvars.rst:294 -msgid "" -"Context variables are natively supported in :mod:`asyncio` and are ready to " -"be used without any extra configuration. For example, here is a simple echo" -" server, that uses a context variable to make the address of a remote client" -" available in the Task that handles that client::" -msgstr "" - -#: ../../library/contextvars.rst:300 -msgid "" -"import asyncio\n" -"import contextvars\n" -"\n" -"client_addr_var = contextvars.ContextVar('client_addr')\n" -"\n" -"def render_goodbye():\n" -" # The address of the currently handled client can be accessed\n" -" # without passing it explicitly to this function.\n" -"\n" -" client_addr = client_addr_var.get()\n" -" return f'Good bye, client @ {client_addr}\\r\\n'.encode()\n" -"\n" -"async def handle_request(reader, writer):\n" -" addr = writer.transport.get_extra_info('socket').getpeername()\n" -" client_addr_var.set(addr)\n" -"\n" -" # In any code that we call is now possible to get\n" -" # client's address by calling 'client_addr_var.get()'.\n" -"\n" -" while True:\n" -" line = await reader.readline()\n" -" print(line)\n" -" if not line.strip():\n" -" break\n" -"\n" -" writer.write(b'HTTP/1.1 200 OK\\r\\n') # status line\n" -" writer.write(b'\\r\\n') # headers\n" -" writer.write(render_goodbye()) # body\n" -" writer.close()\n" -"\n" -"async def main():\n" -" srv = await asyncio.start_server(\n" -" handle_request, '127.0.0.1', 8081)\n" -"\n" -" async with srv:\n" -" await srv.serve_forever()\n" -"\n" -"asyncio.run(main())\n" -"\n" -"# To test it you can use telnet or curl:\n" -"# telnet 127.0.0.1 8081\n" -"# curl 127.0.0.1:8081" -msgstr "" diff --git a/python-newest.library--copy/id.po b/python-newest.library--copy/id.po deleted file mode 100644 index 5308738..0000000 --- a/python-newest.library--copy/id.po +++ /dev/null @@ -1,239 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Faiq Zakki <221709674@stis.ac.id>, 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/copy.rst:2 -msgid ":mod:`!copy` --- Shallow and deep copy operations" -msgstr "" - -#: ../../library/copy.rst:7 -msgid "**Source code:** :source:`Lib/copy.py`" -msgstr "**Kode sumber:** :source:`Lib/copy.py`" - -#: ../../library/copy.rst:11 -msgid "" -"Assignment statements in Python do not copy objects, they create bindings " -"between a target and an object. For collections that are mutable or contain " -"mutable items, a copy is sometimes needed so one can change one copy without" -" changing the other. This module provides generic shallow and deep copy " -"operations (explained below)." -msgstr "" -"Pernyataan penetapan dalam Python tidak menyalin objek, mereka membuat " -"ikatan antara target dengan sebuah objek. Untuk collections yang dapat " -"diubah atau memiliki item-item yang dapat diubah, sebuah penyalinan " -"terkadang dibutuhkan sehingga seseorang dapat mengubah salinan tanpa " -"mengubah yang lainnya. Modul ini menyediakan operasi salinan dangkal dan " -"salinan dalam (dijelaskan dibawah ini)." - -#: ../../library/copy.rst:18 -msgid "Interface summary:" -msgstr "Ringkasan antarmuka:" - -#: ../../library/copy.rst:22 -msgid "Return a shallow copy of *obj*." -msgstr "" - -#: ../../library/copy.rst:27 -msgid "Return a deep copy of *obj*." -msgstr "" - -#: ../../library/copy.rst:32 -msgid "" -"Creates a new object of the same type as *obj*, replacing fields with values" -" from *changes*." -msgstr "" - -#: ../../library/copy.rst:40 -msgid "Raised for module specific errors." -msgstr "Di angkat untuk error spesifik dari modul." - -#: ../../library/copy.rst:44 -msgid "" -"The difference between shallow and deep copying is only relevant for " -"compound objects (objects that contain other objects, like lists or class " -"instances):" -msgstr "" -"Perbedaan antara shallow copy dan deep copy hanya relevan untuk objek " -"majemuk (objek yang berisi objek lainnya, seperti list atau kelas):" - -#: ../../library/copy.rst:47 -msgid "" -"A *shallow copy* constructs a new compound object and then (to the extent " -"possible) inserts *references* into it to the objects found in the original." -msgstr "" -"Sebuah *shallow copy* membangun sebuah objek majemuk baru dan kemudian " -"(sejauh mungkin) menyisipkan *referensi* ke dalamnya ke objek yang ditemukan" -" di aslinya." - -#: ../../library/copy.rst:50 -msgid "" -"A *deep copy* constructs a new compound object and then, recursively, " -"inserts *copies* into it of the objects found in the original." -msgstr "" -"Sebuah *deep copy* membangun objek majemuk baruk dan kemudian, secara " -"rekursif, menyisipkan *salinan* ke dalamnya ke objek yang ditemukan di " -"aslinya." - -#: ../../library/copy.rst:53 -msgid "" -"Two problems often exist with deep copy operations that don't exist with " -"shallow copy operations:" -msgstr "" -"Dua masalah yang sering muncul pada operasi deep copy yang tidak muncul pada" -" operasi shallow copy:" - -#: ../../library/copy.rst:56 -msgid "" -"Recursive objects (compound objects that, directly or indirectly, contain a " -"reference to themselves) may cause a recursive loop." -msgstr "" -"Objek rekursif (objek majemuk yang secara langsung atau tidak langsung " -"berisi sebuah referensi ke dirinya sendiri) mungkin menyebabkan sebuah " -"perulangan rekursif." - -#: ../../library/copy.rst:59 -msgid "" -"Because deep copy copies everything it may copy too much, such as data which" -" is intended to be shared between copies." -msgstr "" -"Karena deep copy menyalin segalanya sehingga mungkin menyalin terlalu " -"banyak, seperti data yang dimaksudkan untuk dibagikan kepada salinan lain." - -#: ../../library/copy.rst:62 -msgid "The :func:`deepcopy` function avoids these problems by:" -msgstr "Fungsi :func:`deepcopy` menghindari masalah diatas dengan:" - -#: ../../library/copy.rst:64 -msgid "" -"keeping a ``memo`` dictionary of objects already copied during the current " -"copying pass; and" -msgstr "" -"menyimpan sebuah ``memo`` kamus dari objek yang sudah disalin selama " -"penyalinan saat ini; dan" - -#: ../../library/copy.rst:67 -msgid "" -"letting user-defined classes override the copying operation or the set of " -"components copied." -msgstr "" -"membiarkan kelas-kelas yang didefinisikan oleh user menimpa operasi " -"penyalinan atau kumpulan komponen yang disalin." - -#: ../../library/copy.rst:70 -msgid "" -"This module does not copy types like module, method, stack trace, stack " -"frame, file, socket, window, or any similar types. It does \"copy\" " -"functions and classes (shallow and deeply), by returning the original object" -" unchanged; this is compatible with the way these are treated by the " -":mod:`pickle` module." -msgstr "" - -#: ../../library/copy.rst:75 -msgid "" -"Shallow copies of dictionaries can be made using :meth:`dict.copy`, and of " -"lists by assigning a slice of the entire list, for example, ``copied_list = " -"original_list[:]``." -msgstr "" -"Salinan dangkal dari kamus dapat di buat menggunakan :meth:`dict.copy`, dan " -"list dengan menetapkan potongan dari keseluruhan list, sebagai contoh, " -"``copied_list = original_list[:]``." - -#: ../../library/copy.rst:81 -msgid "" -"Classes can use the same interfaces to control copying that they use to " -"control pickling. See the description of module :mod:`pickle` for " -"information on these methods. In fact, the :mod:`copy` module uses the " -"registered pickle functions from the :mod:`copyreg` module." -msgstr "" -"Kelas-kelas dapat menggunakan antarmuka yang sama untuk mengontrol " -"penyalinan yang mereka gunakan untuk mengontrol pengawetan. Lihat deskripsi " -"dari modul :mod:`pickle` untuk informasi dari metode ini. Faktanya, modul " -":mod:`copy` menggunakan fungsi pengawetan yang terdaftar dari modul " -":mod:`copyreg`." - -#: ../../library/copy.rst:92 -msgid "" -"In order for a class to define its own copy implementation, it can define " -"special methods :meth:`~object.__copy__` and :meth:`~object.__deepcopy__`." -msgstr "" - -#: ../../library/copy.rst:98 -msgid "" -"Called to implement the shallow copy operation; no additional arguments are " -"passed." -msgstr "" - -#: ../../library/copy.rst:104 -msgid "" -"Called to implement the deep copy operation; it is passed one argument, the " -"*memo* dictionary. If the ``__deepcopy__`` implementation needs to make a " -"deep copy of a component, it should call the :func:`~copy.deepcopy` function" -" with the component as first argument and the *memo* dictionary as second " -"argument. The *memo* dictionary should be treated as an opaque object." -msgstr "" - -#: ../../library/copy.rst:114 -msgid "" -"Function :func:`!copy.replace` is more limited than :func:`~copy.copy` and " -":func:`~copy.deepcopy`, and only supports named tuples created by " -":func:`~collections.namedtuple`, :mod:`dataclasses`, and other classes which" -" define method :meth:`~object.__replace__`." -msgstr "" - -#: ../../library/copy.rst:122 -msgid "" -"This method should create a new object of the same type, replacing fields " -"with values from *changes*." -msgstr "" - -#: ../../library/copy.rst:128 -msgid "Module :mod:`pickle`" -msgstr "Modul :mod:`pickle`" - -#: ../../library/copy.rst:129 -msgid "" -"Discussion of the special methods used to support object state retrieval and" -" restoration." -msgstr "" -"Diskusi tentang metode khusus yang digunakan untuk mendukung pengambilan dan" -" pemulihan status objek." - -#: ../../library/copy.rst:79 -msgid "module" -msgstr "modul" - -#: ../../library/copy.rst:79 -msgid "pickle" -msgstr "pickle" - -#: ../../library/copy.rst:86 -msgid "__copy__() (copy protocol)" -msgstr "" - -#: ../../library/copy.rst:86 -msgid "__deepcopy__() (copy protocol)" -msgstr "" - -#: ../../library/copy.rst:111 -msgid "__replace__() (replace protocol)" -msgstr "" diff --git a/python-newest.library--copyreg/id.po b/python-newest.library--copyreg/id.po deleted file mode 100644 index b953316..0000000 --- a/python-newest.library--copyreg/id.po +++ /dev/null @@ -1,89 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/copyreg.rst:2 -msgid ":mod:`!copyreg` --- Register :mod:`!pickle` support functions" -msgstr "" - -#: ../../library/copyreg.rst:7 -msgid "**Source code:** :source:`Lib/copyreg.py`" -msgstr "" - -#: ../../library/copyreg.rst:15 -msgid "" -"The :mod:`copyreg` module offers a way to define functions used while " -"pickling specific objects. The :mod:`pickle` and :mod:`copy` modules use " -"those functions when pickling/copying those objects. The module provides " -"configuration information about object constructors which are not classes. " -"Such constructors may be factory functions or class instances." -msgstr "" - -#: ../../library/copyreg.rst:24 -msgid "" -"Declares *object* to be a valid constructor. If *object* is not callable " -"(and hence not valid as a constructor), raises :exc:`TypeError`." -msgstr "" - -#: ../../library/copyreg.rst:30 -msgid "" -"Declares that *function* should be used as a \"reduction\" function for " -"objects of type *type*. *function* must return either a string or a tuple " -"containing between two and six elements. See the " -":attr:`~pickle.Pickler.dispatch_table` for more details on the interface of " -"*function*." -msgstr "" - -#: ../../library/copyreg.rst:35 -msgid "" -"The *constructor_ob* parameter is a legacy feature and is now ignored, but " -"if passed it must be a callable." -msgstr "" - -#: ../../library/copyreg.rst:38 -msgid "" -"Note that the :attr:`~pickle.Pickler.dispatch_table` attribute of a pickler " -"object or subclass of :class:`pickle.Pickler` can also be used for declaring" -" reduction functions." -msgstr "" - -#: ../../library/copyreg.rst:43 -msgid "Example" -msgstr "Contoh" - -#: ../../library/copyreg.rst:45 -msgid "" -"The example below would like to show how to register a pickle function and " -"how it will be used:" -msgstr "" - -#: ../../library/copyreg.rst:9 -msgid "module" -msgstr "modul" - -#: ../../library/copyreg.rst:9 -msgid "pickle" -msgstr "pickle" - -#: ../../library/copyreg.rst:9 -msgid "copy" -msgstr "" diff --git a/python-newest.library--crypt/id.po b/python-newest.library--crypt/id.po deleted file mode 100644 index d6f0eab..0000000 --- a/python-newest.library--crypt/id.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/crypt.rst:2 -msgid ":mod:`!crypt` --- Function to check Unix passwords" -msgstr "" - -#: ../../library/crypt.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.13 ` after being deprecated in" -" Python 3.11. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/crypt.rst:14 -msgid "" -"Applications can use the :mod:`hashlib` module from the standard library. " -"Other possible replacements are third-party libraries from PyPI: " -":pypi:`legacycrypt`, :pypi:`bcrypt`, :pypi:`argon2-cffi`, or " -":pypi:`passlib`. These are not supported or maintained by the Python core " -"team." -msgstr "" - -#: ../../library/crypt.rst:19 -msgid "" -"The last version of Python that provided the :mod:`!crypt` module was " -"`Python 3.12 `_." -msgstr "" diff --git a/python-newest.library--crypto/id.po b/python-newest.library--crypto/id.po deleted file mode 100644 index ea23b09..0000000 --- a/python-newest.library--crypto/id.po +++ /dev/null @@ -1,37 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# LIQRGV , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: LIQRGV , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/crypto.rst:5 -msgid "Cryptographic Services" -msgstr "Layanan Kriptografi" - -#: ../../library/crypto.rst:9 -msgid "" -"The modules described in this chapter implement various algorithms of a " -"cryptographic nature. They are available at the discretion of the " -"installation. Here's an overview:" -msgstr "" - -#: ../../library/crypto.rst:7 -msgid "cryptography" -msgstr "" diff --git a/python-newest.library--csv/id.po b/python-newest.library--csv/id.po deleted file mode 100644 index 8ab9c3a..0000000 --- a/python-newest.library--csv/id.po +++ /dev/null @@ -1,835 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Faiq Zakki <221709674@stis.ac.id>, 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/csv.rst:2 -msgid ":mod:`!csv` --- CSV File Reading and Writing" -msgstr "" - -#: ../../library/csv.rst:9 -msgid "**Source code:** :source:`Lib/csv.py`" -msgstr "**Kode sumber:** :source:`Lib/csv.py`" - -#: ../../library/csv.rst:17 -msgid "" -"The so-called CSV (Comma Separated Values) format is the most common import " -"and export format for spreadsheets and databases. CSV format was used for " -"many years prior to attempts to describe the format in a standardized way in" -" :rfc:`4180`. The lack of a well-defined standard means that subtle " -"differences often exist in the data produced and consumed by different " -"applications. These differences can make it annoying to process CSV files " -"from multiple sources. Still, while the delimiters and quoting characters " -"vary, the overall format is similar enough that it is possible to write a " -"single module which can efficiently manipulate such data, hiding the details" -" of reading and writing the data from the programmer." -msgstr "" -"Format CSV (Comma Separated Values) adalah format impor dan ekspor data yang" -" paling umum digunakan untuk data spreadsheet dan database. Format CSV telah" -" digunakan selama bertahun-tahun sebelum adanya upaya untuk mendeskripsikan " -"format yang distandardisasi pada :rfc:`4180`. Kurangnya standar yang " -"terdefinisi dengan baik berarti banyak perbedaan tipis pada data yang " -"dihasilkan dan digunakan dengan penggunaan yang berbeda. Perbedaan tersebut " -"membuat tidak mudah untuk memproses file CSV dari beberapa sumber. Namun, " -"meskipun karakter pembatas dan kutipan berbeda-beda, keseluruhan formatnya " -"cukup mirip sehingga memungkinkan untuk menulis sebuah modul yang secara " -"efisien dapat memanipulasi data tersebut." - -#: ../../library/csv.rst:28 -msgid "" -"The :mod:`csv` module implements classes to read and write tabular data in " -"CSV format. It allows programmers to say, \"write this data in the format " -"preferred by Excel,\" or \"read data from this file which was generated by " -"Excel,\" without knowing the precise details of the CSV format used by " -"Excel. Programmers can also describe the CSV formats understood by other " -"applications or define their own special-purpose CSV formats." -msgstr "" -"Modul :mod:`csv` mengimplementasikan kelas-kelas untuk membaca dan menulis " -"data tabular dengan format CSV. Hal ini memungkinkan pemrogram untuk " -"mengatakan, \"tulis data ini dalam format yang disukai oleh Excel,\" atau " -"\"baca data dari file ini yang dihasilkan oleh Excel,\" tanpa mengetahui " -"detail persis dari format CSV yang digunakan oleh Excel. Pemrogram juga " -"bisa mendeskripsikan format CSV yang dapat dipahami oleh aplikasi lain atau " -"menentukan format CSV nya sendiri dengan tujuan tertentu." - -#: ../../library/csv.rst:35 -msgid "" -"The :mod:`csv` module's :class:`reader` and :class:`writer` objects read and" -" write sequences. Programmers can also read and write data in dictionary " -"form using the :class:`DictReader` and :class:`DictWriter` classes." -msgstr "" -"Modul milik :mod:`csv`, :class:`reader` dan :class:`writer` objek membaca " -"dan menulis urutan-urutan. Pemrogram juga bisa membaca dan menulis data " -"dalam bentuk dictionary dengan menggunakan kelas :class:`DictReader` dan " -":class:`DictWriter`." - -#: ../../library/csv.rst:41 -msgid ":pep:`305` - CSV File API" -msgstr ":pep:`305` - API File CSV" - -#: ../../library/csv.rst:42 -msgid "" -"The Python Enhancement Proposal which proposed this addition to Python." -msgstr "" -"Python Enhancement Proposal (PEP) yang mengusulkan penambahan ini ke Python." - -#: ../../library/csv.rst:48 -msgid "Module Contents" -msgstr "Modul-Modul" - -#: ../../library/csv.rst:50 -msgid "The :mod:`csv` module defines the following functions:" -msgstr "Modul :mod:`csv` memiliki fungsi-fungsi sebagai berikut:" - -#: ../../library/csv.rst:58 -msgid "" -"Return a :ref:`reader object ` that will process lines from " -"the given *csvfile*. A csvfile must be an iterable of strings, each in the " -"reader's defined csv format. A csvfile is most commonly a file-like object " -"or list. If *csvfile* is a file object, it should be opened with " -"``newline=''``. [1]_ An optional *dialect* parameter can be given which is " -"used to define a set of parameters specific to a particular CSV dialect. It" -" may be an instance of a subclass of the :class:`Dialect` class or one of " -"the strings returned by the :func:`list_dialects` function. The other " -"optional *fmtparams* keyword arguments can be given to override individual " -"formatting parameters in the current dialect. For full details about the " -"dialect and formatting parameters, see section :ref:`csv-fmt-params`." -msgstr "" - -#: ../../library/csv.rst:72 -msgid "" -"Each row read from the csv file is returned as a list of strings. No " -"automatic data type conversion is performed unless the ``QUOTE_NONNUMERIC`` " -"format option is specified (in which case unquoted fields are transformed " -"into floats)." -msgstr "" -"Setiap baris yang dibaca dari file csv dikembalikan sebagai list yang berisi" -" strings. Tidak ada konversi tipe data secara otomatis dilakukan kecuali " -"kalau opsi format ``QUOTE_NONNUMERIC`` ditentukan (dalam hal ini, bidang " -"tanpa tanda kutip diubah menjadi bertipe floats)." - -#: ../../library/csv.rst:76 ../../library/csv.rst:106 -#: ../../library/csv.rst:181 ../../library/csv.rst:219 -msgid "A short usage example::" -msgstr "Contoh penggunaan singkat::" - -#: ../../library/csv.rst:78 -msgid "" -">>> import csv\n" -">>> with open('eggs.csv', newline='') as csvfile:\n" -"... spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')\n" -"... for row in spamreader:\n" -"... print(', '.join(row))\n" -"Spam, Spam, Spam, Spam, Spam, Baked Beans\n" -"Spam, Lovely Spam, Wonderful Spam" -msgstr "" - -#: ../../library/csv.rst:89 -msgid "" -"Return a writer object responsible for converting the user's data into " -"delimited strings on the given file-like object. *csvfile* can be any " -"object with a :meth:`~io.TextIOBase.write` method. If *csvfile* is a file " -"object, it should be opened with ``newline=''`` [1]_. An optional *dialect*" -" parameter can be given which is used to define a set of parameters specific" -" to a particular CSV dialect. It may be an instance of a subclass of the " -":class:`Dialect` class or one of the strings returned by the " -":func:`list_dialects` function. The other optional *fmtparams* keyword " -"arguments can be given to override individual formatting parameters in the " -"current dialect. For full details about dialects and formatting parameters," -" see the :ref:`csv-fmt-params` section. To make it as easy as possible to " -"interface with modules which implement the DB API, the value :const:`None` " -"is written as the empty string. While this isn't a reversible " -"transformation, it makes it easier to dump SQL NULL data values to CSV files" -" without preprocessing the data returned from a ``cursor.fetch*`` call. All " -"other non-string data are stringified with :func:`str` before being written." -msgstr "" - -#: ../../library/csv.rst:108 -msgid "" -"import csv\n" -"with open('eggs.csv', 'w', newline='') as csvfile:\n" -" spamwriter = csv.writer(csvfile, delimiter=' ',\n" -" quotechar='|', quoting=csv.QUOTE_MINIMAL)\n" -" spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])\n" -" spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])" -msgstr "" - -#: ../../library/csv.rst:118 -msgid "" -"Associate *dialect* with *name*. *name* must be a string. The dialect can " -"be specified either by passing a sub-class of :class:`Dialect`, or by " -"*fmtparams* keyword arguments, or both, with keyword arguments overriding " -"parameters of the dialect. For full details about dialects and formatting " -"parameters, see section :ref:`csv-fmt-params`." -msgstr "" - -#: ../../library/csv.rst:127 -msgid "" -"Delete the dialect associated with *name* from the dialect registry. An " -":exc:`Error` is raised if *name* is not a registered dialect name." -msgstr "" - -#: ../../library/csv.rst:133 -msgid "" -"Return the dialect associated with *name*. An :exc:`Error` is raised if " -"*name* is not a registered dialect name. This function returns an immutable" -" :class:`Dialect`." -msgstr "" - -#: ../../library/csv.rst:139 -msgid "Return the names of all registered dialects." -msgstr "Mengembalikan nama dari semua dialek yang terdaftar." - -#: ../../library/csv.rst:144 -msgid "" -"Returns the current maximum field size allowed by the parser. If *new_limit*" -" is given, this becomes the new limit." -msgstr "" -"Mengembalikan nilai maksimum ukuran field yang diperbolekan saat ini oleh " -"parser. Jika *new_limit* diberikan, hal tersebut menjadi limit baru." - -#: ../../library/csv.rst:148 -msgid "The :mod:`csv` module defines the following classes:" -msgstr "Modul :mod:`csv` berisi kelas-kelas dibawah ini:" - -#: ../../library/csv.rst:153 -msgid "" -"Create an object that operates like a regular reader but maps the " -"information in each row to a :class:`dict` whose keys are given by the " -"optional *fieldnames* parameter." -msgstr "" - -#: ../../library/csv.rst:157 -msgid "" -"The *fieldnames* parameter is a :term:`sequence`. If *fieldnames* is " -"omitted, the values in the first row of file *f* will be used as the " -"fieldnames and will be omitted from the results. If *fieldnames* is " -"provided, they will be used and the first row will be included in the " -"results. Regardless of how the fieldnames are determined, the dictionary " -"preserves their original ordering." -msgstr "" - -#: ../../library/csv.rst:164 -msgid "" -"If a row has more fields than fieldnames, the remaining data is put in a " -"list and stored with the fieldname specified by *restkey* (which defaults to" -" ``None``). If a non-blank row has fewer fields than fieldnames, the " -"missing values are filled-in with the value of *restval* (which defaults to " -"``None``)." -msgstr "" - -#: ../../library/csv.rst:170 -msgid "" -"All other optional or keyword arguments are passed to the underlying " -":class:`reader` instance." -msgstr "" - -#: ../../library/csv.rst:173 ../../library/csv.rst:217 -msgid "" -"If the argument passed to *fieldnames* is an iterator, it will be coerced to" -" a :class:`list`." -msgstr "" - -#: ../../library/csv.rst:175 -msgid "Returned rows are now of type :class:`OrderedDict`." -msgstr "" -"Baris-baris yang dikembalikan sekarang memiliki tipe :class:`OrderedDict`." - -#: ../../library/csv.rst:178 -msgid "Returned rows are now of type :class:`dict`." -msgstr "Baris-baris yang dikembalikan sekarang memiliki tipe :class:`dict`." - -#: ../../library/csv.rst:183 -msgid "" -">>> import csv\n" -">>> with open('names.csv', newline='') as csvfile:\n" -"... reader = csv.DictReader(csvfile)\n" -"... for row in reader:\n" -"... print(row['first_name'], row['last_name'])\n" -"...\n" -"Eric Idle\n" -"John Cleese\n" -"\n" -">>> print(row)\n" -"{'first_name': 'John', 'last_name': 'Cleese'}" -msgstr "" - -#: ../../library/csv.rst:199 -msgid "" -"Create an object which operates like a regular writer but maps dictionaries " -"onto output rows. The *fieldnames* parameter is a :mod:`sequence " -"` of keys that identify the order in which values in the " -"dictionary passed to the :meth:`~csvwriter.writerow` method are written to " -"file *f*. The optional *restval* parameter specifies the value to be " -"written if the dictionary is missing a key in *fieldnames*. If the " -"dictionary passed to the :meth:`~csvwriter.writerow` method contains a key " -"not found in *fieldnames*, the optional *extrasaction* parameter indicates " -"what action to take. If it is set to ``'raise'``, the default value, a " -":exc:`ValueError` is raised. If it is set to ``'ignore'``, extra values in " -"the dictionary are ignored. Any other optional or keyword arguments are " -"passed to the underlying :class:`writer` instance." -msgstr "" - -#: ../../library/csv.rst:214 -msgid "" -"Note that unlike the :class:`DictReader` class, the *fieldnames* parameter " -"of the :class:`DictWriter` class is not optional." -msgstr "" - -#: ../../library/csv.rst:221 -msgid "" -"import csv\n" -"\n" -"with open('names.csv', 'w', newline='') as csvfile:\n" -" fieldnames = ['first_name', 'last_name']\n" -" writer = csv.DictWriter(csvfile, fieldnames=fieldnames)\n" -"\n" -" writer.writeheader()\n" -" writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})\n" -" writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})\n" -" writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})" -msgstr "" - -#: ../../library/csv.rst:235 -msgid "" -"The :class:`Dialect` class is a container class whose attributes contain " -"information for how to handle doublequotes, whitespace, delimiters, etc. Due" -" to the lack of a strict CSV specification, different applications produce " -"subtly different CSV data. :class:`Dialect` instances define how " -":class:`reader` and :class:`writer` instances behave." -msgstr "" - -#: ../../library/csv.rst:241 -msgid "" -"All available :class:`Dialect` names are returned by :func:`list_dialects`, " -"and they can be registered with specific :class:`reader` and :class:`writer`" -" classes through their initializer (``__init__``) functions like this::" -msgstr "" - -#: ../../library/csv.rst:245 -msgid "" -"import csv\n" -"\n" -"with open('students.csv', 'w', newline='') as csvfile:\n" -" writer = csv.writer(csvfile, dialect='unix')" -msgstr "" - -#: ../../library/csv.rst:253 -msgid "" -"The :class:`excel` class defines the usual properties of an Excel-generated " -"CSV file. It is registered with the dialect name ``'excel'``." -msgstr "" - -#: ../../library/csv.rst:259 -msgid "" -"The :class:`excel_tab` class defines the usual properties of an Excel-" -"generated TAB-delimited file. It is registered with the dialect name " -"``'excel-tab'``." -msgstr "" - -#: ../../library/csv.rst:265 -msgid "" -"The :class:`unix_dialect` class defines the usual properties of a CSV file " -"generated on UNIX systems, i.e. using ``'\\n'`` as line terminator and " -"quoting all fields. It is registered with the dialect name ``'unix'``." -msgstr "" - -#: ../../library/csv.rst:274 -msgid "The :class:`Sniffer` class is used to deduce the format of a CSV file." -msgstr "" -"Kelas :class:`Sniffer` digunakan untuk menyimpulkan format sebuah file CSV." - -#: ../../library/csv.rst:276 -msgid "The :class:`Sniffer` class provides two methods:" -msgstr "Kelas :class:`Sniffer` menyediakan dua metode:" - -#: ../../library/csv.rst:280 -msgid "" -"Analyze the given *sample* and return a :class:`Dialect` subclass reflecting" -" the parameters found. If the optional *delimiters* parameter is given, it " -"is interpreted as a string containing possible valid delimiter characters." -msgstr "" - -#: ../../library/csv.rst:288 -msgid "" -"Analyze the sample text (presumed to be in CSV format) and return " -":const:`True` if the first row appears to be a series of column headers. " -"Inspecting each column, one of two key criteria will be considered to " -"estimate if the sample contains a header:" -msgstr "" - -#: ../../library/csv.rst:293 -msgid "the second through n-th rows contain numeric values" -msgstr "" - -#: ../../library/csv.rst:294 -msgid "" -"the second through n-th rows contain strings where at least one value's " -"length differs from that of the putative header of that column." -msgstr "" - -#: ../../library/csv.rst:297 -msgid "" -"Twenty rows after the first row are sampled; if more than half of columns + " -"rows meet the criteria, :const:`True` is returned." -msgstr "" - -#: ../../library/csv.rst:302 -msgid "" -"This method is a rough heuristic and may produce both false positives and " -"negatives." -msgstr "" - -#: ../../library/csv.rst:305 -msgid "An example for :class:`Sniffer` use::" -msgstr "Sebuah contoh untuk penggunaan :class:`Sniffer`::" - -#: ../../library/csv.rst:307 -msgid "" -"with open('example.csv', newline='') as csvfile:\n" -" dialect = csv.Sniffer().sniff(csvfile.read(1024))\n" -" csvfile.seek(0)\n" -" reader = csv.reader(csvfile, dialect)\n" -" # ... process CSV file contents here ..." -msgstr "" - -#: ../../library/csv.rst:316 -msgid "The :mod:`csv` module defines the following constants:" -msgstr "" - -#: ../../library/csv.rst:320 -msgid "Instructs :class:`writer` objects to quote all fields." -msgstr "Menginstruksikan objek :class:`writer` untuk mengutip semua fields." - -#: ../../library/csv.rst:325 -msgid "" -"Instructs :class:`writer` objects to only quote those fields which contain " -"special characters such as *delimiter*, *quotechar* or any of the characters" -" in *lineterminator*." -msgstr "" -"Menginstruksikan objek :class:`writer` untuk hanya mengutip fields yang " -"berisi karakter spesial seperti *delimiter*, *quotechar* atau salah satu " -"karakter dalam *lineterminator*." - -#: ../../library/csv.rst:332 -msgid "Instructs :class:`writer` objects to quote all non-numeric fields." -msgstr "" -"Menginstuksikan objek :class:`writer` untuk mengutip semua fields yang tidak" -" memiliki angka." - -#: ../../library/csv.rst:334 -msgid "" -"Instructs :class:`reader` objects to convert all non-quoted fields to type " -"*float*." -msgstr "" - -#: ../../library/csv.rst:339 -msgid "" -"Instructs :class:`writer` objects to never quote fields. When the current " -"*delimiter* occurs in output data it is preceded by the current *escapechar*" -" character. If *escapechar* is not set, the writer will raise :exc:`Error` " -"if any characters that require escaping are encountered." -msgstr "" - -#: ../../library/csv.rst:344 -msgid "" -"Instructs :class:`reader` objects to perform no special processing of quote " -"characters." -msgstr "" - -#: ../../library/csv.rst:348 -msgid "" -"Instructs :class:`writer` objects to quote all fields which are not " -"``None``. This is similar to :data:`QUOTE_ALL`, except that if a field " -"value is ``None`` an empty (unquoted) string is written." -msgstr "" - -#: ../../library/csv.rst:352 -msgid "" -"Instructs :class:`reader` objects to interpret an empty (unquoted) field as " -"``None`` and to otherwise behave as :data:`QUOTE_ALL`." -msgstr "" - -#: ../../library/csv.rst:359 -msgid "" -"Instructs :class:`writer` objects to always place quotes around fields which" -" are strings. This is similar to :data:`QUOTE_NONNUMERIC`, except that if a" -" field value is ``None`` an empty (unquoted) string is written." -msgstr "" - -#: ../../library/csv.rst:363 -msgid "" -"Instructs :class:`reader` objects to interpret an empty (unquoted) string as" -" ``None`` and to otherwise behave as :data:`QUOTE_NONNUMERIC`." -msgstr "" - -#: ../../library/csv.rst:368 -msgid "The :mod:`csv` module defines the following exception:" -msgstr "Modul :mod:`csv` berisi exception dibawah ini:" - -#: ../../library/csv.rst:373 -msgid "Raised by any of the functions when an error is detected." -msgstr "" - -#: ../../library/csv.rst:378 -msgid "Dialects and Formatting Parameters" -msgstr "Dialek dan Parameter Pemformatan" - -#: ../../library/csv.rst:380 -msgid "" -"To make it easier to specify the format of input and output records, " -"specific formatting parameters are grouped together into dialects. A " -"dialect is a subclass of the :class:`Dialect` class containing various " -"attributes describing the format of the CSV file. When creating " -":class:`reader` or :class:`writer` objects, the programmer can specify a " -"string or a subclass of the :class:`Dialect` class as the dialect parameter." -" In addition to, or instead of, the *dialect* parameter, the programmer can" -" also specify individual formatting parameters, which have the same names as" -" the attributes defined below for the :class:`Dialect` class." -msgstr "" - -#: ../../library/csv.rst:390 -msgid "Dialects support the following attributes:" -msgstr "Dialek mendukung atribut dibawah ini:" - -#: ../../library/csv.rst:395 -msgid "" -"A one-character string used to separate fields. It defaults to ``','``." -msgstr "" -"Sebuah karakter yang digunakan sebagai pemisah fields. Dengan nilai bawaan " -"``','``. " - -#: ../../library/csv.rst:400 -msgid "" -"Controls how instances of *quotechar* appearing inside a field should " -"themselves be quoted. When :const:`True`, the character is doubled. When " -":const:`False`, the *escapechar* is used as a prefix to the *quotechar*. It" -" defaults to :const:`True`." -msgstr "" - -#: ../../library/csv.rst:405 -msgid "" -"On output, if *doublequote* is :const:`False` and no *escapechar* is set, " -":exc:`Error` is raised if a *quotechar* is found in a field." -msgstr "" - -#: ../../library/csv.rst:411 -msgid "" -"A one-character string used by the writer to escape the *delimiter* if " -"*quoting* is set to :const:`QUOTE_NONE` and the *quotechar* if *doublequote*" -" is :const:`False`. On reading, the *escapechar* removes any special meaning" -" from the following character. It defaults to :const:`None`, which disables " -"escaping." -msgstr "" - -#: ../../library/csv.rst:416 -msgid "An empty *escapechar* is not allowed." -msgstr "" - -#: ../../library/csv.rst:421 -msgid "" -"The string used to terminate lines produced by the :class:`writer`. It " -"defaults to ``'\\r\\n'``." -msgstr "" - -#: ../../library/csv.rst:426 -msgid "" -"The :class:`reader` is hard-coded to recognise either ``'\\r'`` or ``'\\n'``" -" as end-of-line, and ignores *lineterminator*. This behavior may change in " -"the future." -msgstr "" - -#: ../../library/csv.rst:433 -msgid "" -"A one-character string used to quote fields containing special characters, " -"such as the *delimiter* or *quotechar*, or which contain new-line " -"characters. It defaults to ``'\"'``." -msgstr "" - -#: ../../library/csv.rst:437 -msgid "An empty *quotechar* is not allowed." -msgstr "" - -#: ../../library/csv.rst:442 -msgid "" -"Controls when quotes should be generated by the writer and recognised by the" -" reader. It can take on any of the :ref:`QUOTE_\\* constants ` and defaults to :const:`QUOTE_MINIMAL`." -msgstr "" - -#: ../../library/csv.rst:449 -msgid "" -"When :const:`True`, spaces immediately following the *delimiter* are " -"ignored. The default is :const:`False`." -msgstr "" - -#: ../../library/csv.rst:455 -msgid "" -"When ``True``, raise exception :exc:`Error` on bad CSV input. The default is" -" ``False``." -msgstr "" - -#: ../../library/csv.rst:461 -msgid "Reader Objects" -msgstr "" - -#: ../../library/csv.rst:463 -msgid "" -"Reader objects (:class:`DictReader` instances and objects returned by the " -":func:`reader` function) have the following public methods:" -msgstr "" - -#: ../../library/csv.rst:468 -msgid "" -"Return the next row of the reader's iterable object as a list (if the object" -" was returned from :func:`reader`) or a dict (if it is a :class:`DictReader`" -" instance), parsed according to the current :class:`Dialect`. Usually you " -"should call this as ``next(reader)``." -msgstr "" - -#: ../../library/csv.rst:474 -msgid "Reader objects have the following public attributes:" -msgstr "" - -#: ../../library/csv.rst:478 -msgid "A read-only description of the dialect in use by the parser." -msgstr "" - -#: ../../library/csv.rst:483 -msgid "" -"The number of lines read from the source iterator. This is not the same as " -"the number of records returned, as records can span multiple lines." -msgstr "" - -#: ../../library/csv.rst:487 -msgid "DictReader objects have the following public attribute:" -msgstr "Objek DictReader memiliki atribut publik sebagai berikut:" - -#: ../../library/csv.rst:491 -msgid "" -"If not passed as a parameter when creating the object, this attribute is " -"initialized upon first access or when the first record is read from the " -"file." -msgstr "" - -#: ../../library/csv.rst:498 -msgid "Writer Objects" -msgstr "" - -#: ../../library/csv.rst:500 -msgid "" -":class:`writer` objects (:class:`DictWriter` instances and objects returned " -"by the :func:`writer` function) have the following public methods. A *row* " -"must be an iterable of strings or numbers for :class:`writer` objects and a " -"dictionary mapping fieldnames to strings or numbers (by passing them through" -" :func:`str` first) for :class:`DictWriter` objects. Note that complex " -"numbers are written out surrounded by parens. This may cause some problems " -"for other programs which read CSV files (assuming they support complex " -"numbers at all)." -msgstr "" - -#: ../../library/csv.rst:511 -msgid "" -"Write the *row* parameter to the writer's file object, formatted according " -"to the current :class:`Dialect`. Return the return value of the call to the " -"*write* method of the underlying file object." -msgstr "" - -#: ../../library/csv.rst:515 -msgid "Added support of arbitrary iterables." -msgstr "" - -#: ../../library/csv.rst:520 -msgid "" -"Write all elements in *rows* (an iterable of *row* objects as described " -"above) to the writer's file object, formatted according to the current " -"dialect." -msgstr "" - -#: ../../library/csv.rst:524 -msgid "Writer objects have the following public attribute:" -msgstr "" - -#: ../../library/csv.rst:529 -msgid "A read-only description of the dialect in use by the writer." -msgstr "" - -#: ../../library/csv.rst:532 -msgid "DictWriter objects have the following public method:" -msgstr "Objek DictWriter memiliki metode publik sebagai berikut:" - -#: ../../library/csv.rst:537 -msgid "" -"Write a row with the field names (as specified in the constructor) to the " -"writer's file object, formatted according to the current dialect. Return the" -" return value of the :meth:`csvwriter.writerow` call used internally." -msgstr "" - -#: ../../library/csv.rst:542 -msgid "" -":meth:`writeheader` now also returns the value returned by the " -":meth:`csvwriter.writerow` method it uses internally." -msgstr "" - -#: ../../library/csv.rst:550 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/csv.rst:552 -msgid "The simplest example of reading a CSV file::" -msgstr "Contoh paling sederhana dari membaca sebuah file CSV::" - -#: ../../library/csv.rst:554 -msgid "" -"import csv\n" -"with open('some.csv', newline='') as f:\n" -" reader = csv.reader(f)\n" -" for row in reader:\n" -" print(row)" -msgstr "" - -#: ../../library/csv.rst:560 -msgid "Reading a file with an alternate format::" -msgstr "Membaca file dengan format lain::" - -#: ../../library/csv.rst:562 -msgid "" -"import csv\n" -"with open('passwd', newline='') as f:\n" -" reader = csv.reader(f, delimiter=':', quoting=csv.QUOTE_NONE)\n" -" for row in reader:\n" -" print(row)" -msgstr "" - -#: ../../library/csv.rst:568 -msgid "The corresponding simplest possible writing example is::" -msgstr "Contoh paling sederhana dari menulis ke sebuah file CSV::" - -#: ../../library/csv.rst:570 -msgid "" -"import csv\n" -"with open('some.csv', 'w', newline='') as f:\n" -" writer = csv.writer(f)\n" -" writer.writerows(someiterable)" -msgstr "" - -#: ../../library/csv.rst:575 -msgid "" -"Since :func:`open` is used to open a CSV file for reading, the file will by " -"default be decoded into unicode using the system default encoding (see " -":func:`locale.getencoding`). To decode a file using a different encoding, " -"use the ``encoding`` argument of open::" -msgstr "" - -#: ../../library/csv.rst:580 -msgid "" -"import csv\n" -"with open('some.csv', newline='', encoding='utf-8') as f:\n" -" reader = csv.reader(f)\n" -" for row in reader:\n" -" print(row)" -msgstr "" - -#: ../../library/csv.rst:586 -msgid "" -"The same applies to writing in something other than the system default " -"encoding: specify the encoding argument when opening the output file." -msgstr "" -"Hal yang sama berlaku ketika menulis sesuatu yang berbeda dengan default " -"encoding dari sistem: tentukan argumen encoding ketika membuka file output." - -#: ../../library/csv.rst:589 -msgid "Registering a new dialect::" -msgstr "Mendaftarkan dialek baru::" - -#: ../../library/csv.rst:591 -msgid "" -"import csv\n" -"csv.register_dialect('unixpwd', delimiter=':', quoting=csv.QUOTE_NONE)\n" -"with open('passwd', newline='') as f:\n" -" reader = csv.reader(f, 'unixpwd')" -msgstr "" - -#: ../../library/csv.rst:596 -msgid "" -"A slightly more advanced use of the reader --- catching and reporting " -"errors::" -msgstr "" - -#: ../../library/csv.rst:598 -msgid "" -"import csv, sys\n" -"filename = 'some.csv'\n" -"with open(filename, newline='') as f:\n" -" reader = csv.reader(f)\n" -" try:\n" -" for row in reader:\n" -" print(row)\n" -" except csv.Error as e:\n" -" sys.exit('file {}, line {}: {}'.format(filename, reader.line_num, e))" -msgstr "" - -#: ../../library/csv.rst:608 -msgid "" -"And while the module doesn't directly support parsing strings, it can easily" -" be done::" -msgstr "" - -#: ../../library/csv.rst:611 -msgid "" -"import csv\n" -"for row in csv.reader(['one,two,three']):\n" -" print(row)" -msgstr "" - -#: ../../library/csv.rst:617 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/csv.rst:618 -msgid "" -"If ``newline=''`` is not specified, newlines embedded inside quoted fields " -"will not be interpreted correctly, and on platforms that use ``\\r\\n`` " -"linendings on write an extra ``\\r`` will be added. It should always be " -"safe to specify ``newline=''``, since the csv module does its own " -"(:term:`universal `) newline handling." -msgstr "" - -#: ../../library/csv.rst:11 -msgid "csv" -msgstr "csv" - -#: ../../library/csv.rst:11 -msgid "data" -msgstr "data" - -#: ../../library/csv.rst:11 -msgid "tabular" -msgstr "" - -#: ../../library/csv.rst:53 -msgid "universal newlines" -msgstr "" - -#: ../../library/csv.rst:53 -msgid "csv.reader function" -msgstr "" diff --git a/python-newest.library--ctypes/id.po b/python-newest.library--ctypes/id.po deleted file mode 100644 index 34a044f..0000000 --- a/python-newest.library--ctypes/id.po +++ /dev/null @@ -1,4132 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: oon arfiandwi , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/ctypes.rst:2 -msgid ":mod:`!ctypes` --- A foreign function library for Python" -msgstr "" - -#: ../../library/ctypes.rst:9 -msgid "**Source code:** :source:`Lib/ctypes`" -msgstr "" - -#: ../../library/ctypes.rst:13 -msgid "" -":mod:`ctypes` is a foreign function library for Python. It provides C " -"compatible data types, and allows calling functions in DLLs or shared " -"libraries. It can be used to wrap these libraries in pure Python." -msgstr "" - -#: ../../library/ctypes.rst:21 -msgid "ctypes tutorial" -msgstr "" - -#: ../../library/ctypes.rst:23 -msgid "" -"Note: The code samples in this tutorial use :mod:`doctest` to make sure that" -" they actually work. Since some code samples behave differently under " -"Linux, Windows, or macOS, they contain doctest directives in comments." -msgstr "" - -#: ../../library/ctypes.rst:27 -msgid "" -"Note: Some code samples reference the ctypes :class:`c_int` type. On " -"platforms where ``sizeof(long) == sizeof(int)`` it is an alias to " -":class:`c_long`. So, you should not be confused if :class:`c_long` is " -"printed if you would expect :class:`c_int` --- they are actually the same " -"type." -msgstr "" - -#: ../../library/ctypes.rst:35 -msgid "Loading dynamic link libraries" -msgstr "" - -#: ../../library/ctypes.rst:37 -msgid "" -":mod:`ctypes` exports the *cdll*, and on Windows *windll* and *oledll* " -"objects, for loading dynamic link libraries." -msgstr "" - -#: ../../library/ctypes.rst:40 -msgid "" -"You load libraries by accessing them as attributes of these objects. *cdll* " -"loads libraries which export functions using the standard ``cdecl`` calling " -"convention, while *windll* libraries call functions using the ``stdcall`` " -"calling convention. *oledll* also uses the ``stdcall`` calling convention, " -"and assumes the functions return a Windows :c:type:`!HRESULT` error code. " -"The error code is used to automatically raise an :class:`OSError` exception " -"when the function call fails." -msgstr "" - -#: ../../library/ctypes.rst:48 -msgid "" -"Windows errors used to raise :exc:`WindowsError`, which is now an alias of " -":exc:`OSError`." -msgstr "" - -#: ../../library/ctypes.rst:53 -msgid "" -"Here are some examples for Windows. Note that ``msvcrt`` is the MS standard " -"C library containing most standard C functions, and uses the ``cdecl`` " -"calling convention::" -msgstr "" - -#: ../../library/ctypes.rst:57 -msgid "" -">>> from ctypes import *\n" -">>> print(windll.kernel32)\n" -"\n" -">>> print(cdll.msvcrt)\n" -"\n" -">>> libc = cdll.msvcrt\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:65 -msgid "Windows appends the usual ``.dll`` file suffix automatically." -msgstr "" - -#: ../../library/ctypes.rst:68 -msgid "" -"Accessing the standard C library through ``cdll.msvcrt`` will use an " -"outdated version of the library that may be incompatible with the one being " -"used by Python. Where possible, use native Python functionality, or else " -"import and use the ``msvcrt`` module." -msgstr "" - -#: ../../library/ctypes.rst:73 -msgid "" -"On Linux, it is required to specify the filename *including* the extension " -"to load a library, so attribute access can not be used to load libraries. " -"Either the :meth:`~LibraryLoader.LoadLibrary` method of the dll loaders " -"should be used, or you should load the library by creating an instance of " -"CDLL by calling the constructor::" -msgstr "" - -#: ../../library/ctypes.rst:79 -msgid "" -">>> cdll.LoadLibrary(\"libc.so.6\")\n" -"\n" -">>> libc = CDLL(\"libc.so.6\")\n" -">>> libc\n" -"\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:92 -msgid "Accessing functions from loaded dlls" -msgstr "" - -#: ../../library/ctypes.rst:94 -msgid "Functions are accessed as attributes of dll objects::" -msgstr "" - -#: ../../library/ctypes.rst:96 -msgid "" -">>> libc.printf\n" -"<_FuncPtr object at 0x...>\n" -">>> print(windll.kernel32.GetModuleHandleA)\n" -"<_FuncPtr object at 0x...>\n" -">>> print(windll.kernel32.MyOwnFunction)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" File \"ctypes.py\", line 239, in __getattr__\n" -" func = _StdcallFuncPtr(name, self)\n" -"AttributeError: function 'MyOwnFunction' not found\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:108 -msgid "" -"Note that win32 system dlls like ``kernel32`` and ``user32`` often export " -"ANSI as well as UNICODE versions of a function. The UNICODE version is " -"exported with a ``W`` appended to the name, while the ANSI version is " -"exported with an ``A`` appended to the name. The win32 ``GetModuleHandle`` " -"function, which returns a *module handle* for a given module name, has the " -"following C prototype, and a macro is used to expose one of them as " -"``GetModuleHandle`` depending on whether UNICODE is defined or not::" -msgstr "" - -#: ../../library/ctypes.rst:116 -msgid "" -"/* ANSI version */\n" -"HMODULE GetModuleHandleA(LPCSTR lpModuleName);\n" -"/* UNICODE version */\n" -"HMODULE GetModuleHandleW(LPCWSTR lpModuleName);" -msgstr "" - -#: ../../library/ctypes.rst:121 -msgid "" -"*windll* does not try to select one of them by magic, you must access the " -"version you need by specifying ``GetModuleHandleA`` or ``GetModuleHandleW`` " -"explicitly, and then call it with bytes or string objects respectively." -msgstr "" - -#: ../../library/ctypes.rst:125 -msgid "" -"Sometimes, dlls export functions with names which aren't valid Python " -"identifiers, like ``\"??2@YAPAXI@Z\"``. In this case you have to use " -":func:`getattr` to retrieve the function::" -msgstr "" - -#: ../../library/ctypes.rst:129 -msgid "" -">>> getattr(cdll.msvcrt, \"??2@YAPAXI@Z\")\n" -"<_FuncPtr object at 0x...>\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:133 -msgid "" -"On Windows, some dlls export functions not by name but by ordinal. These " -"functions can be accessed by indexing the dll object with the ordinal " -"number::" -msgstr "" - -#: ../../library/ctypes.rst:136 -msgid "" -">>> cdll.kernel32[1]\n" -"<_FuncPtr object at 0x...>\n" -">>> cdll.kernel32[0]\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" File \"ctypes.py\", line 310, in __getitem__\n" -" func = _StdcallFuncPtr(name, self)\n" -"AttributeError: function ordinal 0 not found\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:150 -msgid "Calling functions" -msgstr "" - -#: ../../library/ctypes.rst:152 -msgid "" -"You can call these functions like any other Python callable. This example " -"uses the ``rand()`` function, which takes no arguments and returns a pseudo-" -"random integer::" -msgstr "" - -#: ../../library/ctypes.rst:155 -msgid "" -">>> print(libc.rand())\n" -"1804289383" -msgstr "" - -#: ../../library/ctypes.rst:158 -msgid "" -"On Windows, you can call the ``GetModuleHandleA()`` function, which returns " -"a win32 module handle (passing ``None`` as single argument to call it with a" -" ``NULL`` pointer)::" -msgstr "" - -#: ../../library/ctypes.rst:161 -msgid "" -">>> print(hex(windll.kernel32.GetModuleHandleA(None)))\n" -"0x1d000000\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:165 -msgid "" -":exc:`ValueError` is raised when you call an ``stdcall`` function with the " -"``cdecl`` calling convention, or vice versa::" -msgstr "" - -#: ../../library/ctypes.rst:168 -msgid "" -">>> cdll.kernel32.GetModuleHandleA(None)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ValueError: Procedure probably called with not enough arguments (4 bytes missing)\n" -">>>\n" -"\n" -">>> windll.msvcrt.printf(b\"spam\")\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ValueError: Procedure probably called with too many arguments (4 bytes in excess)\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:180 -msgid "" -"To find out the correct calling convention you have to look into the C " -"header file or the documentation for the function you want to call." -msgstr "" - -#: ../../library/ctypes.rst:183 -msgid "" -"On Windows, :mod:`ctypes` uses win32 structured exception handling to " -"prevent crashes from general protection faults when functions are called " -"with invalid argument values::" -msgstr "" - -#: ../../library/ctypes.rst:187 -msgid "" -">>> windll.kernel32.GetModuleHandleA(32)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"OSError: exception: access violation reading 0x00000020\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:193 -msgid "" -"There are, however, enough ways to crash Python with :mod:`ctypes`, so you " -"should be careful anyway. The :mod:`faulthandler` module can be helpful in " -"debugging crashes (e.g. from segmentation faults produced by erroneous C " -"library calls)." -msgstr "" - -#: ../../library/ctypes.rst:198 -msgid "" -"``None``, integers, bytes objects and (unicode) strings are the only native " -"Python objects that can directly be used as parameters in these function " -"calls. ``None`` is passed as a C ``NULL`` pointer, bytes objects and strings" -" are passed as pointer to the memory block that contains their data " -"(:c:expr:`char *` or :c:expr:`wchar_t *`). Python integers are passed as " -"the platform's default C :c:expr:`int` type, their value is masked to fit " -"into the C type." -msgstr "" - -#: ../../library/ctypes.rst:205 -msgid "" -"Before we move on calling functions with other parameter types, we have to " -"learn more about :mod:`ctypes` data types." -msgstr "" - -#: ../../library/ctypes.rst:212 ../../library/ctypes.rst:2388 -msgid "Fundamental data types" -msgstr "" - -#: ../../library/ctypes.rst:214 -msgid ":mod:`ctypes` defines a number of primitive C compatible data types:" -msgstr "" - -#: ../../library/ctypes.rst:217 ../../library/ctypes.rst:273 -msgid "ctypes type" -msgstr "" - -#: ../../library/ctypes.rst:217 ../../library/ctypes.rst:273 -msgid "C type" -msgstr "tipe C" - -#: ../../library/ctypes.rst:217 ../../library/ctypes.rst:273 -msgid "Python type" -msgstr "tipe Python" - -#: ../../library/ctypes.rst:219 -msgid ":class:`c_bool`" -msgstr ":class:`c_bool`" - -#: ../../library/ctypes.rst:219 -msgid ":c:expr:`_Bool`" -msgstr "" - -#: ../../library/ctypes.rst:219 -msgid "bool (1)" -msgstr "" - -#: ../../library/ctypes.rst:221 -msgid ":class:`c_char`" -msgstr ":class:`c_char`" - -#: ../../library/ctypes.rst:221 ../../library/ctypes.rst:225 -msgid ":c:expr:`char`" -msgstr "" - -#: ../../library/ctypes.rst:221 -msgid "1-character bytes object" -msgstr "" - -#: ../../library/ctypes.rst:223 -msgid ":class:`c_wchar`" -msgstr ":class:`c_wchar`" - -#: ../../library/ctypes.rst:223 -msgid ":c:type:`wchar_t`" -msgstr ":c:type:`wchar_t`" - -#: ../../library/ctypes.rst:223 -msgid "1-character string" -msgstr "" - -#: ../../library/ctypes.rst:225 -msgid ":class:`c_byte`" -msgstr ":class:`c_byte`" - -#: ../../library/ctypes.rst:225 ../../library/ctypes.rst:227 -#: ../../library/ctypes.rst:229 ../../library/ctypes.rst:231 -#: ../../library/ctypes.rst:233 ../../library/ctypes.rst:235 -#: ../../library/ctypes.rst:237 ../../library/ctypes.rst:239 -#: ../../library/ctypes.rst:241 ../../library/ctypes.rst:243 -#: ../../library/ctypes.rst:246 ../../library/ctypes.rst:248 -#: ../../library/ctypes.rst:251 -msgid "int" -msgstr "int" - -#: ../../library/ctypes.rst:227 -msgid ":class:`c_ubyte`" -msgstr ":class:`c_ubyte`" - -#: ../../library/ctypes.rst:227 -msgid ":c:expr:`unsigned char`" -msgstr "" - -#: ../../library/ctypes.rst:229 -msgid ":class:`c_short`" -msgstr ":class:`c_short`" - -#: ../../library/ctypes.rst:229 -msgid ":c:expr:`short`" -msgstr "" - -#: ../../library/ctypes.rst:231 -msgid ":class:`c_ushort`" -msgstr ":class:`c_ushort`" - -#: ../../library/ctypes.rst:231 -msgid ":c:expr:`unsigned short`" -msgstr "" - -#: ../../library/ctypes.rst:233 -msgid ":class:`c_int`" -msgstr ":class:`c_int`" - -#: ../../library/ctypes.rst:233 -msgid ":c:expr:`int`" -msgstr "" - -#: ../../library/ctypes.rst:235 -msgid ":class:`c_uint`" -msgstr ":class:`c_uint`" - -#: ../../library/ctypes.rst:235 -msgid ":c:expr:`unsigned int`" -msgstr "" - -#: ../../library/ctypes.rst:237 -msgid ":class:`c_long`" -msgstr ":class:`c_long`" - -#: ../../library/ctypes.rst:237 -msgid ":c:expr:`long`" -msgstr "" - -#: ../../library/ctypes.rst:239 -msgid ":class:`c_ulong`" -msgstr ":class:`c_ulong`" - -#: ../../library/ctypes.rst:239 -msgid ":c:expr:`unsigned long`" -msgstr "" - -#: ../../library/ctypes.rst:241 -msgid ":class:`c_longlong`" -msgstr ":class:`c_longlong`" - -#: ../../library/ctypes.rst:241 -msgid ":c:expr:`__int64` or :c:expr:`long long`" -msgstr "" - -#: ../../library/ctypes.rst:243 -msgid ":class:`c_ulonglong`" -msgstr ":class:`c_ulonglong`" - -#: ../../library/ctypes.rst:243 -msgid ":c:expr:`unsigned __int64` or :c:expr:`unsigned long long`" -msgstr "" - -#: ../../library/ctypes.rst:246 -msgid ":class:`c_size_t`" -msgstr ":class:`c_size_t`" - -#: ../../library/ctypes.rst:246 -msgid ":c:type:`size_t`" -msgstr ":c:type:`size_t`" - -#: ../../library/ctypes.rst:248 -msgid ":class:`c_ssize_t`" -msgstr ":class:`c_ssize_t`" - -#: ../../library/ctypes.rst:248 -msgid ":c:type:`ssize_t` or :c:expr:`Py_ssize_t`" -msgstr "" - -#: ../../library/ctypes.rst:251 -msgid ":class:`c_time_t`" -msgstr "" - -#: ../../library/ctypes.rst:251 -msgid ":c:type:`time_t`" -msgstr "" - -#: ../../library/ctypes.rst:253 -msgid ":class:`c_float`" -msgstr ":class:`c_float`" - -#: ../../library/ctypes.rst:253 -msgid ":c:expr:`float`" -msgstr "" - -#: ../../library/ctypes.rst:253 ../../library/ctypes.rst:255 -#: ../../library/ctypes.rst:257 -msgid "float" -msgstr "float" - -#: ../../library/ctypes.rst:255 -msgid ":class:`c_double`" -msgstr ":class:`c_double`" - -#: ../../library/ctypes.rst:255 -msgid ":c:expr:`double`" -msgstr "" - -#: ../../library/ctypes.rst:257 -msgid ":class:`c_longdouble`" -msgstr ":class:`c_longdouble`" - -#: ../../library/ctypes.rst:257 -msgid ":c:expr:`long double`" -msgstr "" - -#: ../../library/ctypes.rst:259 -msgid ":class:`c_char_p`" -msgstr ":class:`c_char_p`" - -#: ../../library/ctypes.rst:259 -msgid ":c:expr:`char *` (NUL terminated)" -msgstr "" - -#: ../../library/ctypes.rst:259 -msgid "bytes object or ``None``" -msgstr "" - -#: ../../library/ctypes.rst:261 -msgid ":class:`c_wchar_p`" -msgstr ":class:`c_wchar_p`" - -#: ../../library/ctypes.rst:261 -msgid ":c:expr:`wchar_t *` (NUL terminated)" -msgstr "" - -#: ../../library/ctypes.rst:261 -msgid "string or ``None``" -msgstr "" - -#: ../../library/ctypes.rst:263 -msgid ":class:`c_void_p`" -msgstr ":class:`c_void_p`" - -#: ../../library/ctypes.rst:263 -msgid ":c:expr:`void *`" -msgstr "" - -#: ../../library/ctypes.rst:263 -msgid "int or ``None``" -msgstr "int atau ``None``" - -#: ../../library/ctypes.rst:267 -msgid "The constructor accepts any object with a truth value." -msgstr "" - -#: ../../library/ctypes.rst:269 -msgid "" -"Additionally, if IEC 60559 compatible complex arithmetic (Annex G) is " -"supported in both C and ``libffi``, the following complex types are " -"available:" -msgstr "" - -#: ../../library/ctypes.rst:275 -msgid ":class:`c_float_complex`" -msgstr "" - -#: ../../library/ctypes.rst:275 -msgid ":c:expr:`float complex`" -msgstr "" - -#: ../../library/ctypes.rst:275 ../../library/ctypes.rst:277 -#: ../../library/ctypes.rst:279 -msgid "complex" -msgstr "" - -#: ../../library/ctypes.rst:277 -msgid ":class:`c_double_complex`" -msgstr "" - -#: ../../library/ctypes.rst:277 -msgid ":c:expr:`double complex`" -msgstr "" - -#: ../../library/ctypes.rst:279 -msgid ":class:`c_longdouble_complex`" -msgstr "" - -#: ../../library/ctypes.rst:279 -msgid ":c:expr:`long double complex`" -msgstr "" - -#: ../../library/ctypes.rst:283 -msgid "" -"All these types can be created by calling them with an optional initializer " -"of the correct type and value::" -msgstr "" - -#: ../../library/ctypes.rst:286 -msgid "" -">>> c_int()\n" -"c_long(0)\n" -">>> c_wchar_p(\"Hello, World\")\n" -"c_wchar_p(140018365411392)\n" -">>> c_ushort(-3)\n" -"c_ushort(65533)\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:294 -msgid "" -"Since these types are mutable, their value can also be changed afterwards::" -msgstr "" - -#: ../../library/ctypes.rst:296 -msgid "" -">>> i = c_int(42)\n" -">>> print(i)\n" -"c_long(42)\n" -">>> print(i.value)\n" -"42\n" -">>> i.value = -99\n" -">>> print(i.value)\n" -"-99\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:306 -msgid "" -"Assigning a new value to instances of the pointer types :class:`c_char_p`, " -":class:`c_wchar_p`, and :class:`c_void_p` changes the *memory location* they" -" point to, *not the contents* of the memory block (of course not, because " -"Python string objects are immutable)::" -msgstr "" - -#: ../../library/ctypes.rst:311 -msgid "" -">>> s = \"Hello, World\"\n" -">>> c_s = c_wchar_p(s)\n" -">>> print(c_s)\n" -"c_wchar_p(139966785747344)\n" -">>> print(c_s.value)\n" -"Hello World\n" -">>> c_s.value = \"Hi, there\"\n" -">>> print(c_s) # the memory location has changed\n" -"c_wchar_p(139966783348904)\n" -">>> print(c_s.value)\n" -"Hi, there\n" -">>> print(s) # first object is unchanged\n" -"Hello, World\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:326 -msgid "" -"You should be careful, however, not to pass them to functions expecting " -"pointers to mutable memory. If you need mutable memory blocks, ctypes has a " -":func:`create_string_buffer` function which creates these in various ways. " -"The current memory block contents can be accessed (or changed) with the " -"``raw`` property; if you want to access it as NUL terminated string, use the" -" ``value`` property::" -msgstr "" - -#: ../../library/ctypes.rst:333 -msgid "" -">>> from ctypes import *\n" -">>> p = create_string_buffer(3) # create a 3 byte buffer, initialized to NUL bytes\n" -">>> print(sizeof(p), repr(p.raw))\n" -"3 b'\\x00\\x00\\x00'\n" -">>> p = create_string_buffer(b\"Hello\") # create a buffer containing a NUL terminated string\n" -">>> print(sizeof(p), repr(p.raw))\n" -"6 b'Hello\\x00'\n" -">>> print(repr(p.value))\n" -"b'Hello'\n" -">>> p = create_string_buffer(b\"Hello\", 10) # create a 10 byte buffer\n" -">>> print(sizeof(p), repr(p.raw))\n" -"10 b'Hello\\x00\\x00\\x00\\x00\\x00'\n" -">>> p.value = b\"Hi\"\n" -">>> print(sizeof(p), repr(p.raw))\n" -"10 b'Hi\\x00lo\\x00\\x00\\x00\\x00\\x00'\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:350 -msgid "" -"The :func:`create_string_buffer` function replaces the old :func:`!c_buffer`" -" function (which is still available as an alias). To create a mutable " -"memory block containing unicode characters of the C type :c:type:`wchar_t`, " -"use the :func:`create_unicode_buffer` function." -msgstr "" - -#: ../../library/ctypes.rst:359 -msgid "Calling functions, continued" -msgstr "" - -#: ../../library/ctypes.rst:361 -msgid "" -"Note that printf prints to the real standard output channel, *not* to " -":data:`sys.stdout`, so these examples will only work at the console prompt, " -"not from within *IDLE* or *PythonWin*::" -msgstr "" - -#: ../../library/ctypes.rst:365 -msgid "" -">>> printf = libc.printf\n" -">>> printf(b\"Hello, %s\\n\", b\"World!\")\n" -"Hello, World!\n" -"14\n" -">>> printf(b\"Hello, %S\\n\", \"World!\")\n" -"Hello, World!\n" -"14\n" -">>> printf(b\"%d bottles of beer\\n\", 42)\n" -"42 bottles of beer\n" -"19\n" -">>> printf(b\"%f bottles of beer\\n\", 42.5)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ctypes.ArgumentError: argument 2: TypeError: Don't know how to convert parameter 2\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:381 -msgid "" -"As has been mentioned before, all Python types except integers, strings, and" -" bytes objects have to be wrapped in their corresponding :mod:`ctypes` type," -" so that they can be converted to the required C data type::" -msgstr "" - -#: ../../library/ctypes.rst:385 -msgid "" -">>> printf(b\"An int %d, a double %f\\n\", 1234, c_double(3.14))\n" -"An int 1234, a double 3.140000\n" -"31\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:393 -msgid "Calling variadic functions" -msgstr "" - -#: ../../library/ctypes.rst:395 -msgid "" -"On a lot of platforms calling variadic functions through ctypes is exactly " -"the same as calling functions with a fixed number of parameters. On some " -"platforms, and in particular ARM64 for Apple Platforms, the calling " -"convention for variadic functions is different than that for regular " -"functions." -msgstr "" - -#: ../../library/ctypes.rst:400 -msgid "" -"On those platforms it is required to specify the :attr:`~_CFuncPtr.argtypes`" -" attribute for the regular, non-variadic, function arguments:" -msgstr "" - -#: ../../library/ctypes.rst:403 -msgid "libc.printf.argtypes = [ctypes.c_char_p]" -msgstr "" - -#: ../../library/ctypes.rst:407 -msgid "" -"Because specifying the attribute does not inhibit portability it is advised " -"to always specify :attr:`~_CFuncPtr.argtypes` for all variadic functions." -msgstr "" - -#: ../../library/ctypes.rst:414 -msgid "Calling functions with your own custom data types" -msgstr "" - -#: ../../library/ctypes.rst:416 -msgid "" -"You can also customize :mod:`ctypes` argument conversion to allow instances " -"of your own classes be used as function arguments. :mod:`ctypes` looks for " -"an :attr:`!_as_parameter_` attribute and uses this as the function argument." -" The attribute must be an integer, string, bytes, a :mod:`ctypes` instance, " -"or an object with an :attr:`!_as_parameter_` attribute::" -msgstr "" - -#: ../../library/ctypes.rst:422 -msgid "" -">>> class Bottles:\n" -"... def __init__(self, number):\n" -"... self._as_parameter_ = number\n" -"...\n" -">>> bottles = Bottles(42)\n" -">>> printf(b\"%d bottles of beer\\n\", bottles)\n" -"42 bottles of beer\n" -"19\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:432 -msgid "" -"If you don't want to store the instance's data in the " -":attr:`!_as_parameter_` instance variable, you could define a " -":class:`property` which makes the attribute available on request." -msgstr "" - -#: ../../library/ctypes.rst:440 -msgid "Specifying the required argument types (function prototypes)" -msgstr "" - -#: ../../library/ctypes.rst:442 -msgid "" -"It is possible to specify the required argument types of functions exported " -"from DLLs by setting the :attr:`~_CFuncPtr.argtypes` attribute." -msgstr "" - -#: ../../library/ctypes.rst:445 -msgid "" -":attr:`~_CFuncPtr.argtypes` must be a sequence of C data types (the " -":func:`!printf` function is probably not a good example here, because it " -"takes a variable number and different types of parameters depending on the " -"format string, on the other hand this is quite handy to experiment with this" -" feature)::" -msgstr "" - -#: ../../library/ctypes.rst:450 -msgid "" -">>> printf.argtypes = [c_char_p, c_char_p, c_int, c_double]\n" -">>> printf(b\"String '%s', Int %d, Double %f\\n\", b\"Hi\", 10, 2.2)\n" -"String 'Hi', Int 10, Double 2.200000\n" -"37\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:456 -msgid "" -"Specifying a format protects against incompatible argument types (just as a " -"prototype for a C function), and tries to convert the arguments to valid " -"types::" -msgstr "" - -#: ../../library/ctypes.rst:459 -msgid "" -">>> printf(b\"%d %d %d\", 1, 2, 3)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ctypes.ArgumentError: argument 2: TypeError: 'int' object cannot be interpreted as ctypes.c_char_p\n" -">>> printf(b\"%s %d %f\\n\", b\"X\", 2, 3)\n" -"X 2 3.000000\n" -"13\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:468 -msgid "" -"If you have defined your own classes which you pass to function calls, you " -"have to implement a :meth:`~_CData.from_param` class method for them to be " -"able to use them in the :attr:`~_CFuncPtr.argtypes` sequence. The " -":meth:`~_CData.from_param` class method receives the Python object passed to" -" the function call, it should do a typecheck or whatever is needed to make " -"sure this object is acceptable, and then return the object itself, its " -":attr:`!_as_parameter_` attribute, or whatever you want to pass as the C " -"function argument in this case. Again, the result should be an integer, " -"string, bytes, a :mod:`ctypes` instance, or an object with an " -":attr:`!_as_parameter_` attribute." -msgstr "" - -#: ../../library/ctypes.rst:482 -msgid "Return types" -msgstr "Tipe kembalian" - -#: ../../library/ctypes.rst:492 -msgid "" -"By default functions are assumed to return the C :c:expr:`int` type. Other " -"return types can be specified by setting the :attr:`~_CFuncPtr.restype` " -"attribute of the function object." -msgstr "" - -#: ../../library/ctypes.rst:496 -msgid "" -"The C prototype of :c:func:`time` is ``time_t time(time_t *)``. Because " -":c:type:`time_t` might be of a different type than the default return type " -":c:expr:`int`, you should specify the :attr:`!restype` attribute::" -msgstr "" - -#: ../../library/ctypes.rst:500 -msgid ">>> libc.time.restype = c_time_t" -msgstr "" - -#: ../../library/ctypes.rst:502 -msgid "" -"The argument types can be specified using :attr:`~_CFuncPtr.argtypes`::" -msgstr "" - -#: ../../library/ctypes.rst:504 -msgid ">>> libc.time.argtypes = (POINTER(c_time_t),)" -msgstr "" - -#: ../../library/ctypes.rst:506 -msgid "" -"To call the function with a ``NULL`` pointer as first argument, use " -"``None``::" -msgstr "" - -#: ../../library/ctypes.rst:508 -msgid "" -">>> print(libc.time(None))\n" -"1150640792" -msgstr "" - -#: ../../library/ctypes.rst:511 -msgid "" -"Here is a more advanced example, it uses the :func:`!strchr` function, which" -" expects a string pointer and a char, and returns a pointer to a string::" -msgstr "" - -#: ../../library/ctypes.rst:514 -msgid "" -">>> strchr = libc.strchr\n" -">>> strchr(b\"abcdef\", ord(\"d\"))\n" -"8059983\n" -">>> strchr.restype = c_char_p # c_char_p is a pointer to a string\n" -">>> strchr(b\"abcdef\", ord(\"d\"))\n" -"b'def'\n" -">>> print(strchr(b\"abcdef\", ord(\"x\")))\n" -"None\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:524 -msgid "" -"If you want to avoid the :func:`ord(\"x\") ` calls above, you can set " -"the :attr:`~_CFuncPtr.argtypes` attribute, and the second argument will be " -"converted from a single character Python bytes object into a C char:" -msgstr "" - -#: ../../library/ctypes.rst:528 -msgid "" -">>> strchr.restype = c_char_p\n" -">>> strchr.argtypes = [c_char_p, c_char]\n" -">>> strchr(b\"abcdef\", b\"d\")\n" -"b'def'\n" -">>> strchr(b\"abcdef\", b\"def\")\n" -"Traceback (most recent call last):\n" -"ctypes.ArgumentError: argument 2: TypeError: one character bytes, bytearray or integer expected\n" -">>> print(strchr(b\"abcdef\", b\"x\"))\n" -"None\n" -">>> strchr(b\"abcdef\", b\"d\")\n" -"b'def'\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:543 -msgid "" -"You can also use a callable Python object (a function or a class for " -"example) as the :attr:`~_CFuncPtr.restype` attribute, if the foreign " -"function returns an integer. The callable will be called with the *integer*" -" the C function returns, and the result of this call will be used as the " -"result of your function call. This is useful to check for error return " -"values and automatically raise an exception::" -msgstr "" - -#: ../../library/ctypes.rst:549 -msgid "" -">>> GetModuleHandle = windll.kernel32.GetModuleHandleA\n" -">>> def ValidHandle(value):\n" -"... if value == 0:\n" -"... raise WinError()\n" -"... return value\n" -"...\n" -">>>\n" -">>> GetModuleHandle.restype = ValidHandle\n" -">>> GetModuleHandle(None)\n" -"486539264\n" -">>> GetModuleHandle(\"something silly\")\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" File \"\", line 3, in ValidHandle\n" -"OSError: [Errno 126] The specified module could not be found.\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:566 -msgid "" -"``WinError`` is a function which will call Windows ``FormatMessage()`` api " -"to get the string representation of an error code, and *returns* an " -"exception. ``WinError`` takes an optional error code parameter, if no one is" -" used, it calls :func:`GetLastError` to retrieve it." -msgstr "" - -#: ../../library/ctypes.rst:571 -msgid "" -"Please note that a much more powerful error checking mechanism is available " -"through the :attr:`~_CFuncPtr.errcheck` attribute; see the reference manual " -"for details." -msgstr "" - -#: ../../library/ctypes.rst:579 -msgid "Passing pointers (or: passing parameters by reference)" -msgstr "" - -#: ../../library/ctypes.rst:581 -msgid "" -"Sometimes a C api function expects a *pointer* to a data type as parameter, " -"probably to write into the corresponding location, or if the data is too " -"large to be passed by value. This is also known as *passing parameters by " -"reference*." -msgstr "" - -#: ../../library/ctypes.rst:585 -msgid "" -":mod:`ctypes` exports the :func:`byref` function which is used to pass " -"parameters by reference. The same effect can be achieved with the " -":func:`pointer` function, although :func:`pointer` does a lot more work " -"since it constructs a real pointer object, so it is faster to use " -":func:`byref` if you don't need the pointer object in Python itself::" -msgstr "" - -#: ../../library/ctypes.rst:591 -msgid "" -">>> i = c_int()\n" -">>> f = c_float()\n" -">>> s = create_string_buffer(b'\\000' * 32)\n" -">>> print(i.value, f.value, repr(s.value))\n" -"0 0.0 b''\n" -">>> libc.sscanf(b\"1 3.14 Hello\", b\"%d %f %s\",\n" -"... byref(i), byref(f), s)\n" -"3\n" -">>> print(i.value, f.value, repr(s.value))\n" -"1 3.1400001049 b'Hello'\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:607 -msgid "Structures and unions" -msgstr "" - -#: ../../library/ctypes.rst:609 -msgid "" -"Structures and unions must derive from the :class:`Structure` and " -":class:`Union` base classes which are defined in the :mod:`ctypes` module. " -"Each subclass must define a :attr:`~Structure._fields_` attribute. " -":attr:`!_fields_` must be a list of *2-tuples*, containing a *field name* " -"and a *field type*." -msgstr "" - -#: ../../library/ctypes.rst:614 -msgid "" -"The field type must be a :mod:`ctypes` type like :class:`c_int`, or any " -"other derived :mod:`ctypes` type: structure, union, array, pointer." -msgstr "" - -#: ../../library/ctypes.rst:617 -msgid "" -"Here is a simple example of a POINT structure, which contains two integers " -"named *x* and *y*, and also shows how to initialize a structure in the " -"constructor::" -msgstr "" - -#: ../../library/ctypes.rst:620 -msgid "" -">>> from ctypes import *\n" -">>> class POINT(Structure):\n" -"... _fields_ = [(\"x\", c_int),\n" -"... (\"y\", c_int)]\n" -"...\n" -">>> point = POINT(10, 20)\n" -">>> print(point.x, point.y)\n" -"10 20\n" -">>> point = POINT(y=5)\n" -">>> print(point.x, point.y)\n" -"0 5\n" -">>> POINT(1, 2, 3)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: too many initializers\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:637 -msgid "" -"You can, however, build much more complicated structures. A structure can " -"itself contain other structures by using a structure as a field type." -msgstr "" - -#: ../../library/ctypes.rst:640 -msgid "" -"Here is a RECT structure which contains two POINTs named *upperleft* and " -"*lowerright*::" -msgstr "" - -#: ../../library/ctypes.rst:643 -msgid "" -">>> class RECT(Structure):\n" -"... _fields_ = [(\"upperleft\", POINT),\n" -"... (\"lowerright\", POINT)]\n" -"...\n" -">>> rc = RECT(point)\n" -">>> print(rc.upperleft.x, rc.upperleft.y)\n" -"0 5\n" -">>> print(rc.lowerright.x, rc.lowerright.y)\n" -"0 0\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:654 -msgid "" -"Nested structures can also be initialized in the constructor in several " -"ways::" -msgstr "" - -#: ../../library/ctypes.rst:656 -msgid "" -">>> r = RECT(POINT(1, 2), POINT(3, 4))\n" -">>> r = RECT((1, 2), (3, 4))" -msgstr "" - -#: ../../library/ctypes.rst:659 -msgid "" -"Field :term:`descriptor`\\s can be retrieved from the *class*, they are " -"useful for debugging because they can provide useful information. See " -":class:`CField`::" -msgstr "" - -#: ../../library/ctypes.rst:663 -msgid "" -">>> POINT.x\n" -"\n" -">>> POINT.y\n" -"\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:674 -msgid "" -":mod:`ctypes` does not support passing unions or structures with bit-fields " -"to functions by value. While this may work on 32-bit x86, it's not " -"guaranteed by the library to work in the general case. Unions and " -"structures with bit-fields should always be passed to functions by pointer." -msgstr "" - -#: ../../library/ctypes.rst:680 -msgid "Structure/union layout, alignment and byte order" -msgstr "" - -#: ../../library/ctypes.rst:682 -msgid "" -"By default, Structure and Union fields are laid out in the same way the C " -"compiler does it. It is possible to override this behavior entirely by " -"specifying a :attr:`~Structure._layout_` class attribute in the subclass " -"definition; see the attribute documentation for details." -msgstr "" - -#: ../../library/ctypes.rst:687 -msgid "" -"It is possible to specify the maximum alignment for the fields by setting " -"the :attr:`~Structure._pack_` class attribute to a positive integer. This " -"matches what ``#pragma pack(n)`` does in MSVC." -msgstr "" - -#: ../../library/ctypes.rst:691 -msgid "" -"It is also possible to set a minimum alignment for how the subclass itself " -"is packed in the same way ``#pragma align(n)`` works in MSVC. This can be " -"achieved by specifying a :attr:`~Structure._align_` class attribute in the " -"subclass definition." -msgstr "" - -#: ../../library/ctypes.rst:696 -msgid "" -":mod:`ctypes` uses the native byte order for Structures and Unions. To " -"build structures with non-native byte order, you can use one of the " -":class:`BigEndianStructure`, :class:`LittleEndianStructure`, " -":class:`BigEndianUnion`, and :class:`LittleEndianUnion` base classes. These" -" classes cannot contain pointer fields." -msgstr "" - -#: ../../library/ctypes.rst:706 -msgid "Bit fields in structures and unions" -msgstr "" - -#: ../../library/ctypes.rst:708 -msgid "" -"It is possible to create structures and unions containing bit fields. Bit " -"fields are only possible for integer fields, the bit width is specified as " -"the third item in the :attr:`~Structure._fields_` tuples::" -msgstr "" - -#: ../../library/ctypes.rst:712 -msgid "" -">>> class Int(Structure):\n" -"... _fields_ = [(\"first_16\", c_int, 16),\n" -"... (\"second_16\", c_int, 16)]\n" -"...\n" -">>> print(Int.first_16)\n" -"\n" -">>> print(Int.second_16)\n" -"\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:726 -msgid "Arrays" -msgstr "" - -#: ../../library/ctypes.rst:728 -msgid "" -"Arrays are sequences, containing a fixed number of instances of the same " -"type." -msgstr "" - -#: ../../library/ctypes.rst:730 -msgid "" -"The recommended way to create array types is by multiplying a data type with" -" a positive integer::" -msgstr "" - -#: ../../library/ctypes.rst:733 -msgid "TenPointsArrayType = POINT * 10" -msgstr "" - -#: ../../library/ctypes.rst:735 -msgid "" -"Here is an example of a somewhat artificial data type, a structure " -"containing 4 POINTs among other stuff::" -msgstr "" - -#: ../../library/ctypes.rst:738 -msgid "" -">>> from ctypes import *\n" -">>> class POINT(Structure):\n" -"... _fields_ = (\"x\", c_int), (\"y\", c_int)\n" -"...\n" -">>> class MyStruct(Structure):\n" -"... _fields_ = [(\"a\", c_int),\n" -"... (\"b\", c_float),\n" -"... (\"point_array\", POINT * 4)]\n" -">>>\n" -">>> print(len(MyStruct().point_array))\n" -"4\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:751 -msgid "Instances are created in the usual way, by calling the class::" -msgstr "" - -#: ../../library/ctypes.rst:753 -msgid "" -"arr = TenPointsArrayType()\n" -"for pt in arr:\n" -" print(pt.x, pt.y)" -msgstr "" - -#: ../../library/ctypes.rst:757 -msgid "" -"The above code print a series of ``0 0`` lines, because the array contents " -"is initialized to zeros." -msgstr "" - -#: ../../library/ctypes.rst:760 -msgid "Initializers of the correct type can also be specified::" -msgstr "" - -#: ../../library/ctypes.rst:762 -msgid "" -">>> from ctypes import *\n" -">>> TenIntegers = c_int * 10\n" -">>> ii = TenIntegers(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)\n" -">>> print(ii)\n" -"\n" -">>> for i in ii: print(i, end=\" \")\n" -"...\n" -"1 2 3 4 5 6 7 8 9 10\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:776 -msgid "Pointers" -msgstr "Penunjuk *Pointers*" - -#: ../../library/ctypes.rst:778 -msgid "" -"Pointer instances are created by calling the :func:`pointer` function on a " -":mod:`ctypes` type::" -msgstr "" - -#: ../../library/ctypes.rst:781 -msgid "" -">>> from ctypes import *\n" -">>> i = c_int(42)\n" -">>> pi = pointer(i)\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:786 -msgid "" -"Pointer instances have a :attr:`~_Pointer.contents` attribute which returns " -"the object to which the pointer points, the ``i`` object above::" -msgstr "" - -#: ../../library/ctypes.rst:789 -msgid "" -">>> pi.contents\n" -"c_long(42)\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:793 -msgid "" -"Note that :mod:`ctypes` does not have OOR (original object return), it " -"constructs a new, equivalent object each time you retrieve an attribute::" -msgstr "" - -#: ../../library/ctypes.rst:796 -msgid "" -">>> pi.contents is i\n" -"False\n" -">>> pi.contents is pi.contents\n" -"False\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:802 -msgid "" -"Assigning another :class:`c_int` instance to the pointer's contents " -"attribute would cause the pointer to point to the memory location where this" -" is stored::" -msgstr "" - -#: ../../library/ctypes.rst:805 -msgid "" -">>> i = c_int(99)\n" -">>> pi.contents = i\n" -">>> pi.contents\n" -"c_long(99)\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:814 -msgid "Pointer instances can also be indexed with integers::" -msgstr "" - -#: ../../library/ctypes.rst:816 -msgid "" -">>> pi[0]\n" -"99\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:820 -msgid "Assigning to an integer index changes the pointed to value::" -msgstr "" - -#: ../../library/ctypes.rst:822 -msgid "" -">>> print(i)\n" -"c_long(99)\n" -">>> pi[0] = 22\n" -">>> print(i)\n" -"c_long(22)\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:829 -msgid "" -"It is also possible to use indexes different from 0, but you must know what " -"you're doing, just as in C: You can access or change arbitrary memory " -"locations. Generally you only use this feature if you receive a pointer from" -" a C function, and you *know* that the pointer actually points to an array " -"instead of a single item." -msgstr "" - -#: ../../library/ctypes.rst:835 -msgid "" -"Behind the scenes, the :func:`pointer` function does more than simply create" -" pointer instances, it has to create pointer *types* first. This is done " -"with the :func:`POINTER` function, which accepts any :mod:`ctypes` type, and" -" returns a new type::" -msgstr "" - -#: ../../library/ctypes.rst:840 -msgid "" -">>> PI = POINTER(c_int)\n" -">>> PI\n" -"\n" -">>> PI(42)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: expected c_long instead of int\n" -">>> PI(c_int(42))\n" -"\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:851 -msgid "" -"Calling the pointer type without an argument creates a ``NULL`` pointer. " -"``NULL`` pointers have a ``False`` boolean value::" -msgstr "" - -#: ../../library/ctypes.rst:854 -msgid "" -">>> null_ptr = POINTER(c_int)()\n" -">>> print(bool(null_ptr))\n" -"False\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:859 -msgid "" -":mod:`ctypes` checks for ``NULL`` when dereferencing pointers (but " -"dereferencing invalid non-\\ ``NULL`` pointers would crash Python)::" -msgstr "" - -#: ../../library/ctypes.rst:862 -msgid "" -">>> null_ptr[0]\n" -"Traceback (most recent call last):\n" -" ....\n" -"ValueError: NULL pointer access\n" -">>>\n" -"\n" -">>> null_ptr[0] = 1234\n" -"Traceback (most recent call last):\n" -" ....\n" -"ValueError: NULL pointer access\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:877 -msgid "Thread safety without the GIL" -msgstr "" - -#: ../../library/ctypes.rst:879 -msgid "" -"In Python 3.13, the :term:`GIL` may be disabled on :term:`experimental free " -"threaded ` builds. In ctypes, reads and writes to a single " -"object concurrently is safe, but not across multiple objects:" -msgstr "" - -#: ../../library/ctypes.rst:882 -msgid "" -">>> number = c_int(42)\n" -">>> pointer_a = pointer(number)\n" -">>> pointer_b = pointer(number)" -msgstr "" - -#: ../../library/ctypes.rst:888 -msgid "" -"In the above, it's only safe for one object to read and write to the address" -" at once if the GIL is disabled. So, ``pointer_a`` can be shared and written" -" to across multiple threads, but only if ``pointer_b`` is not also " -"attempting to do the same. If this is an issue, consider using a " -":class:`threading.Lock` to synchronize access to memory:" -msgstr "" - -#: ../../library/ctypes.rst:893 -msgid "" -">>> import threading\n" -">>> lock = threading.Lock()\n" -">>> # Thread 1\n" -">>> with lock:\n" -"... pointer_a.contents = 24\n" -">>> # Thread 2\n" -">>> with lock:\n" -"... pointer_b.contents = 42" -msgstr "" - -#: ../../library/ctypes.rst:908 -msgid "Type conversions" -msgstr "" - -#: ../../library/ctypes.rst:910 -msgid "" -"Usually, ctypes does strict type checking. This means, if you have " -"``POINTER(c_int)`` in the :attr:`~_CFuncPtr.argtypes` list of a function or " -"as the type of a member field in a structure definition, only instances of " -"exactly the same type are accepted. There are some exceptions to this rule," -" where ctypes accepts other objects. For example, you can pass compatible " -"array instances instead of pointer types. So, for ``POINTER(c_int)``, " -"ctypes accepts an array of c_int::" -msgstr "" - -#: ../../library/ctypes.rst:917 -msgid "" -">>> class Bar(Structure):\n" -"... _fields_ = [(\"count\", c_int), (\"values\", POINTER(c_int))]\n" -"...\n" -">>> bar = Bar()\n" -">>> bar.values = (c_int * 3)(1, 2, 3)\n" -">>> bar.count = 3\n" -">>> for i in range(bar.count):\n" -"... print(bar.values[i])\n" -"...\n" -"1\n" -"2\n" -"3\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:931 -msgid "" -"In addition, if a function argument is explicitly declared to be a pointer " -"type (such as ``POINTER(c_int)``) in :attr:`~_CFuncPtr.argtypes`, an object " -"of the pointed type (``c_int`` in this case) can be passed to the function." -" ctypes will apply the required :func:`byref` conversion in this case " -"automatically." -msgstr "" - -#: ../../library/ctypes.rst:936 -msgid "To set a POINTER type field to ``NULL``, you can assign ``None``::" -msgstr "" - -#: ../../library/ctypes.rst:938 -msgid "" -">>> bar.values = None\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:943 -msgid "" -"Sometimes you have instances of incompatible types. In C, you can cast one " -"type into another type. :mod:`ctypes` provides a :func:`cast` function " -"which can be used in the same way. The ``Bar`` structure defined above " -"accepts ``POINTER(c_int)`` pointers or :class:`c_int` arrays for its " -"``values`` field, but not instances of other types::" -msgstr "" - -#: ../../library/ctypes.rst:949 -msgid "" -">>> bar.values = (c_byte * 4)()\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: incompatible types, c_byte_Array_4 instance instead of LP_c_long instance\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:955 -msgid "For these cases, the :func:`cast` function is handy." -msgstr "" - -#: ../../library/ctypes.rst:957 -msgid "" -"The :func:`cast` function can be used to cast a ctypes instance into a " -"pointer to a different ctypes data type. :func:`cast` takes two parameters," -" a ctypes object that is or can be converted to a pointer of some kind, and " -"a ctypes pointer type. It returns an instance of the second argument, which" -" references the same memory block as the first argument::" -msgstr "" - -#: ../../library/ctypes.rst:963 -msgid "" -">>> a = (c_byte * 4)()\n" -">>> cast(a, POINTER(c_int))\n" -"\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:968 -msgid "" -"So, :func:`cast` can be used to assign to the ``values`` field of ``Bar`` " -"the structure::" -msgstr "" - -#: ../../library/ctypes.rst:971 -msgid "" -">>> bar = Bar()\n" -">>> bar.values = cast((c_byte * 4)(), POINTER(c_int))\n" -">>> print(bar.values[0])\n" -"0\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:981 -msgid "Incomplete Types" -msgstr "" - -#: ../../library/ctypes.rst:983 -msgid "" -"*Incomplete Types* are structures, unions or arrays whose members are not " -"yet specified. In C, they are specified by forward declarations, which are " -"defined later::" -msgstr "" - -#: ../../library/ctypes.rst:987 -msgid "" -"struct cell; /* forward declaration */\n" -"\n" -"struct cell {\n" -" char *name;\n" -" struct cell *next;\n" -"};" -msgstr "" - -#: ../../library/ctypes.rst:994 -msgid "" -"The straightforward translation into ctypes code would be this, but it does " -"not work::" -msgstr "" - -#: ../../library/ctypes.rst:997 -msgid "" -">>> class cell(Structure):\n" -"... _fields_ = [(\"name\", c_char_p),\n" -"... (\"next\", POINTER(cell))]\n" -"...\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" File \"\", line 2, in cell\n" -"NameError: name 'cell' is not defined\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1007 -msgid "" -"because the new ``class cell`` is not available in the class statement " -"itself. In :mod:`ctypes`, we can define the ``cell`` class and set the " -":attr:`~Structure._fields_` attribute later, after the class statement::" -msgstr "" - -#: ../../library/ctypes.rst:1011 -msgid "" -">>> from ctypes import *\n" -">>> class cell(Structure):\n" -"... pass\n" -"...\n" -">>> cell._fields_ = [(\"name\", c_char_p),\n" -"... (\"next\", POINTER(cell))]\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1019 -msgid "" -"Let's try it. We create two instances of ``cell``, and let them point to " -"each other, and finally follow the pointer chain a few times::" -msgstr "" - -#: ../../library/ctypes.rst:1022 -msgid "" -">>> c1 = cell()\n" -">>> c1.name = b\"foo\"\n" -">>> c2 = cell()\n" -">>> c2.name = b\"bar\"\n" -">>> c1.next = pointer(c2)\n" -">>> c2.next = pointer(c1)\n" -">>> p = c1\n" -">>> for i in range(8):\n" -"... print(p.name, end=\" \")\n" -"... p = p.next[0]\n" -"...\n" -"foo bar foo bar foo bar foo bar\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1040 -msgid "Callback functions" -msgstr "" - -#: ../../library/ctypes.rst:1042 -msgid "" -":mod:`ctypes` allows creating C callable function pointers from Python " -"callables. These are sometimes called *callback functions*." -msgstr "" - -#: ../../library/ctypes.rst:1045 -msgid "" -"First, you must create a class for the callback function. The class knows " -"the calling convention, the return type, and the number and types of " -"arguments this function will receive." -msgstr "" - -#: ../../library/ctypes.rst:1049 -msgid "" -"The :func:`CFUNCTYPE` factory function creates types for callback functions " -"using the ``cdecl`` calling convention. On Windows, the :func:`WINFUNCTYPE` " -"factory function creates types for callback functions using the ``stdcall`` " -"calling convention." -msgstr "" - -#: ../../library/ctypes.rst:1054 -msgid "" -"Both of these factory functions are called with the result type as first " -"argument, and the callback functions expected argument types as the " -"remaining arguments." -msgstr "" - -#: ../../library/ctypes.rst:1058 -msgid "" -"I will present an example here which uses the standard C library's " -":c:func:`!qsort` function, that is used to sort items with the help of a " -"callback function. :c:func:`!qsort` will be used to sort an array of " -"integers::" -msgstr "" - -#: ../../library/ctypes.rst:1062 -msgid "" -">>> IntArray5 = c_int * 5\n" -">>> ia = IntArray5(5, 1, 7, 33, 99)\n" -">>> qsort = libc.qsort\n" -">>> qsort.restype = None\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1068 -msgid "" -":func:`!qsort` must be called with a pointer to the data to sort, the number" -" of items in the data array, the size of one item, and a pointer to the " -"comparison function, the callback. The callback will then be called with two" -" pointers to items, and it must return a negative integer if the first item " -"is smaller than the second, a zero if they are equal, and a positive integer" -" otherwise." -msgstr "" - -#: ../../library/ctypes.rst:1074 -msgid "" -"So our callback function receives pointers to integers, and must return an " -"integer. First we create the ``type`` for the callback function::" -msgstr "" - -#: ../../library/ctypes.rst:1077 -msgid "" -">>> CMPFUNC = CFUNCTYPE(c_int, POINTER(c_int), POINTER(c_int))\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1080 -msgid "" -"To get started, here is a simple callback that shows the values it gets " -"passed::" -msgstr "" - -#: ../../library/ctypes.rst:1083 -msgid "" -">>> def py_cmp_func(a, b):\n" -"... print(\"py_cmp_func\", a[0], b[0])\n" -"... return 0\n" -"...\n" -">>> cmp_func = CMPFUNC(py_cmp_func)\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1090 -msgid "The result::" -msgstr "" - -#: ../../library/ctypes.rst:1092 -msgid "" -">>> qsort(ia, len(ia), sizeof(c_int), cmp_func)\n" -"py_cmp_func 5 1\n" -"py_cmp_func 33 99\n" -"py_cmp_func 7 33\n" -"py_cmp_func 5 7\n" -"py_cmp_func 1 7\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1100 -msgid "Now we can actually compare the two items and return a useful result::" -msgstr "" - -#: ../../library/ctypes.rst:1102 -msgid "" -">>> def py_cmp_func(a, b):\n" -"... print(\"py_cmp_func\", a[0], b[0])\n" -"... return a[0] - b[0]\n" -"...\n" -">>>\n" -">>> qsort(ia, len(ia), sizeof(c_int), CMPFUNC(py_cmp_func))\n" -"py_cmp_func 5 1\n" -"py_cmp_func 33 99\n" -"py_cmp_func 7 33\n" -"py_cmp_func 1 7\n" -"py_cmp_func 5 7\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1115 -msgid "As we can easily check, our array is sorted now::" -msgstr "" - -#: ../../library/ctypes.rst:1117 -msgid "" -">>> for i in ia: print(i, end=\" \")\n" -"...\n" -"1 5 7 33 99\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1122 -msgid "" -"The function factories can be used as decorator factories, so we may as well" -" write::" -msgstr "" - -#: ../../library/ctypes.rst:1125 -msgid "" -">>> @CFUNCTYPE(c_int, POINTER(c_int), POINTER(c_int))\n" -"... def py_cmp_func(a, b):\n" -"... print(\"py_cmp_func\", a[0], b[0])\n" -"... return a[0] - b[0]\n" -"...\n" -">>> qsort(ia, len(ia), sizeof(c_int), py_cmp_func)\n" -"py_cmp_func 5 1\n" -"py_cmp_func 33 99\n" -"py_cmp_func 7 33\n" -"py_cmp_func 1 7\n" -"py_cmp_func 5 7\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1140 -msgid "" -"Make sure you keep references to :func:`CFUNCTYPE` objects as long as they " -"are used from C code. :mod:`ctypes` doesn't, and if you don't, they may be " -"garbage collected, crashing your program when a callback is made." -msgstr "" - -#: ../../library/ctypes.rst:1144 -msgid "" -"Also, note that if the callback function is called in a thread created " -"outside of Python's control (e.g. by the foreign code that calls the " -"callback), ctypes creates a new dummy Python thread on every invocation. " -"This behavior is correct for most purposes, but it means that values stored " -"with :class:`threading.local` will *not* survive across different callbacks," -" even when those calls are made from the same C thread." -msgstr "" - -#: ../../library/ctypes.rst:1154 -msgid "Accessing values exported from dlls" -msgstr "" - -#: ../../library/ctypes.rst:1156 -msgid "" -"Some shared libraries not only export functions, they also export variables." -" An example in the Python library itself is the :c:data:`Py_Version`, Python" -" runtime version number encoded in a single constant integer." -msgstr "" - -#: ../../library/ctypes.rst:1160 -msgid "" -":mod:`ctypes` can access values like this with the :meth:`~_CData.in_dll` " -"class methods of the type. *pythonapi* is a predefined symbol giving access" -" to the Python C api::" -msgstr "" - -#: ../../library/ctypes.rst:1164 -msgid "" -">>> version = ctypes.c_int.in_dll(ctypes.pythonapi, \"Py_Version\")\n" -">>> print(hex(version.value))\n" -"0x30c00a0" -msgstr "" - -#: ../../library/ctypes.rst:1168 -msgid "" -"An extended example which also demonstrates the use of pointers accesses the" -" :c:data:`PyImport_FrozenModules` pointer exported by Python." -msgstr "" - -#: ../../library/ctypes.rst:1171 -msgid "Quoting the docs for that value:" -msgstr "" - -#: ../../library/ctypes.rst:1173 -msgid "" -"This pointer is initialized to point to an array of :c:struct:`_frozen` " -"records, terminated by one whose members are all ``NULL`` or zero. When a " -"frozen module is imported, it is searched in this table. Third-party code " -"could play tricks with this to provide a dynamically created collection of " -"frozen modules." -msgstr "" - -#: ../../library/ctypes.rst:1178 -msgid "" -"So manipulating this pointer could even prove useful. To restrict the " -"example size, we show only how this table can be read with :mod:`ctypes`::" -msgstr "" - -#: ../../library/ctypes.rst:1181 -msgid "" -">>> from ctypes import *\n" -">>>\n" -">>> class struct_frozen(Structure):\n" -"... _fields_ = [(\"name\", c_char_p),\n" -"... (\"code\", POINTER(c_ubyte)),\n" -"... (\"size\", c_int),\n" -"... (\"get_code\", POINTER(c_ubyte)), # Function pointer\n" -"... ]\n" -"...\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1192 -msgid "" -"We have defined the :c:struct:`_frozen` data type, so we can get the pointer" -" to the table::" -msgstr "" - -#: ../../library/ctypes.rst:1195 -msgid "" -">>> FrozenTable = POINTER(struct_frozen)\n" -">>> table = FrozenTable.in_dll(pythonapi, \"_PyImport_FrozenBootstrap\")\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1199 -msgid "" -"Since ``table`` is a ``pointer`` to the array of ``struct_frozen`` records, " -"we can iterate over it, but we just have to make sure that our loop " -"terminates, because pointers have no size. Sooner or later it would probably" -" crash with an access violation or whatever, so it's better to break out of " -"the loop when we hit the ``NULL`` entry::" -msgstr "" - -#: ../../library/ctypes.rst:1205 -msgid "" -">>> for item in table:\n" -"... if item.name is None:\n" -"... break\n" -"... print(item.name.decode(\"ascii\"), item.size)\n" -"...\n" -"_frozen_importlib 31764\n" -"_frozen_importlib_external 41499\n" -"zipimport 12345\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1215 -msgid "" -"The fact that standard Python has a frozen module and a frozen package " -"(indicated by the negative ``size`` member) is not well known, it is only " -"used for testing. Try it out with ``import __hello__`` for example." -msgstr "" - -#: ../../library/ctypes.rst:1223 -msgid "Surprises" -msgstr "" - -#: ../../library/ctypes.rst:1225 -msgid "" -"There are some edges in :mod:`ctypes` where you might expect something other" -" than what actually happens." -msgstr "" - -#: ../../library/ctypes.rst:1228 -msgid "Consider the following example::" -msgstr "" - -#: ../../library/ctypes.rst:1230 -msgid "" -">>> from ctypes import *\n" -">>> class POINT(Structure):\n" -"... _fields_ = (\"x\", c_int), (\"y\", c_int)\n" -"...\n" -">>> class RECT(Structure):\n" -"... _fields_ = (\"a\", POINT), (\"b\", POINT)\n" -"...\n" -">>> p1 = POINT(1, 2)\n" -">>> p2 = POINT(3, 4)\n" -">>> rc = RECT(p1, p2)\n" -">>> print(rc.a.x, rc.a.y, rc.b.x, rc.b.y)\n" -"1 2 3 4\n" -">>> # now swap the two points\n" -">>> rc.a, rc.b = rc.b, rc.a\n" -">>> print(rc.a.x, rc.a.y, rc.b.x, rc.b.y)\n" -"3 4 3 4\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1248 -msgid "" -"Hm. We certainly expected the last statement to print ``3 4 1 2``. What " -"happened? Here are the steps of the ``rc.a, rc.b = rc.b, rc.a`` line above::" -msgstr "" - -#: ../../library/ctypes.rst:1251 -msgid "" -">>> temp0, temp1 = rc.b, rc.a\n" -">>> rc.a = temp0\n" -">>> rc.b = temp1\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1256 -msgid "" -"Note that ``temp0`` and ``temp1`` are objects still using the internal " -"buffer of the ``rc`` object above. So executing ``rc.a = temp0`` copies the " -"buffer contents of ``temp0`` into ``rc`` 's buffer. This, in turn, changes " -"the contents of ``temp1``. So, the last assignment ``rc.b = temp1``, doesn't" -" have the expected effect." -msgstr "" - -#: ../../library/ctypes.rst:1262 -msgid "" -"Keep in mind that retrieving sub-objects from Structure, Unions, and Arrays " -"doesn't *copy* the sub-object, instead it retrieves a wrapper object " -"accessing the root-object's underlying buffer." -msgstr "" - -#: ../../library/ctypes.rst:1266 -msgid "" -"Another example that may behave differently from what one would expect is " -"this::" -msgstr "" - -#: ../../library/ctypes.rst:1268 -msgid "" -">>> s = c_char_p()\n" -">>> s.value = b\"abc def ghi\"\n" -">>> s.value\n" -"b'abc def ghi'\n" -">>> s.value is s.value\n" -"False\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1278 -msgid "" -"Objects instantiated from :class:`c_char_p` can only have their value set to" -" bytes or integers." -msgstr "" - -#: ../../library/ctypes.rst:1281 -msgid "" -"Why is it printing ``False``? ctypes instances are objects containing a " -"memory block plus some :term:`descriptor`\\s accessing the contents of the " -"memory. Storing a Python object in the memory block does not store the " -"object itself, instead the ``contents`` of the object is stored. Accessing " -"the contents again constructs a new Python object each time!" -msgstr "" - -#: ../../library/ctypes.rst:1291 -msgid "Variable-sized data types" -msgstr "" - -#: ../../library/ctypes.rst:1293 -msgid "" -":mod:`ctypes` provides some support for variable-sized arrays and " -"structures." -msgstr "" - -#: ../../library/ctypes.rst:1295 -msgid "" -"The :func:`resize` function can be used to resize the memory buffer of an " -"existing ctypes object. The function takes the object as first argument, " -"and the requested size in bytes as the second argument. The memory block " -"cannot be made smaller than the natural memory block specified by the " -"objects type, a :exc:`ValueError` is raised if this is tried::" -msgstr "" - -#: ../../library/ctypes.rst:1301 -msgid "" -">>> short_array = (c_short * 4)()\n" -">>> print(sizeof(short_array))\n" -"8\n" -">>> resize(short_array, 4)\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError: minimum size is 8\n" -">>> resize(short_array, 32)\n" -">>> sizeof(short_array)\n" -"32\n" -">>> sizeof(type(short_array))\n" -"8\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1315 -msgid "" -"This is nice and fine, but how would one access the additional elements " -"contained in this array? Since the type still only knows about 4 elements, " -"we get errors accessing other elements::" -msgstr "" - -#: ../../library/ctypes.rst:1319 -msgid "" -">>> short_array[:]\n" -"[0, 0, 0, 0]\n" -">>> short_array[7]\n" -"Traceback (most recent call last):\n" -" ...\n" -"IndexError: invalid index\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1327 -msgid "" -"Another way to use variable-sized data types with :mod:`ctypes` is to use " -"the dynamic nature of Python, and (re-)define the data type after the " -"required size is already known, on a case by case basis." -msgstr "" - -#: ../../library/ctypes.rst:1335 -msgid "ctypes reference" -msgstr "" - -#: ../../library/ctypes.rst:1341 -msgid "Finding shared libraries" -msgstr "" - -#: ../../library/ctypes.rst:1343 -msgid "" -"When programming in a compiled language, shared libraries are accessed when " -"compiling/linking a program, and when the program is run." -msgstr "" - -#: ../../library/ctypes.rst:1346 -msgid "" -"The purpose of the :func:`~ctypes.util.find_library` function is to locate a" -" library in a way similar to what the compiler or runtime loader does (on " -"platforms with several versions of a shared library the most recent should " -"be loaded), while the ctypes library loaders act like when a program is run," -" and call the runtime loader directly." -msgstr "" - -#: ../../library/ctypes.rst:1352 -msgid "" -"The :mod:`!ctypes.util` module provides a function which can help to " -"determine the library to load." -msgstr "" - -#: ../../library/ctypes.rst:1360 -msgid "" -"Try to find a library and return a pathname. *name* is the library name " -"without any prefix like *lib*, suffix like ``.so``, ``.dylib`` or version " -"number (this is the form used for the posix linker option :option:`!-l`). " -"If no library can be found, returns ``None``." -msgstr "" - -#: ../../library/ctypes.rst:1365 ../../library/ctypes.rst:2093 -msgid "The exact functionality is system dependent." -msgstr "" - -#: ../../library/ctypes.rst:1367 -msgid "" -"On Linux, :func:`~ctypes.util.find_library` tries to run external programs " -"(``/sbin/ldconfig``, ``gcc``, ``objdump`` and ``ld``) to find the library " -"file. It returns the filename of the library file." -msgstr "" - -#: ../../library/ctypes.rst:1371 -msgid "" -"On Linux, the value of the environment variable ``LD_LIBRARY_PATH`` is used " -"when searching for libraries, if a library cannot be found by any other " -"means." -msgstr "" - -#: ../../library/ctypes.rst:1375 -msgid "Here are some examples::" -msgstr "Berikut beberapa contoh::" - -#: ../../library/ctypes.rst:1377 -msgid "" -">>> from ctypes.util import find_library\n" -">>> find_library(\"m\")\n" -"'libm.so.6'\n" -">>> find_library(\"c\")\n" -"'libc.so.6'\n" -">>> find_library(\"bz2\")\n" -"'libbz2.so.1.0'\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1386 -msgid "" -"On macOS and Android, :func:`~ctypes.util.find_library` uses the system's " -"standard naming schemes and paths to locate the library, and returns a full " -"pathname if successful::" -msgstr "" - -#: ../../library/ctypes.rst:1390 -msgid "" -">>> from ctypes.util import find_library\n" -">>> find_library(\"c\")\n" -"'/usr/lib/libc.dylib'\n" -">>> find_library(\"m\")\n" -"'/usr/lib/libm.dylib'\n" -">>> find_library(\"bz2\")\n" -"'/usr/lib/libbz2.dylib'\n" -">>> find_library(\"AGL\")\n" -"'/System/Library/Frameworks/AGL.framework/AGL'\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1401 -msgid "" -"On Windows, :func:`~ctypes.util.find_library` searches along the system " -"search path, and returns the full pathname, but since there is no predefined" -" naming scheme a call like ``find_library(\"c\")`` will fail and return " -"``None``." -msgstr "" - -#: ../../library/ctypes.rst:1405 -msgid "" -"If wrapping a shared library with :mod:`ctypes`, it *may* be better to " -"determine the shared library name at development time, and hardcode that " -"into the wrapper module instead of using :func:`~ctypes.util.find_library` " -"to locate the library at runtime." -msgstr "" - -#: ../../library/ctypes.rst:1413 -msgid "Listing loaded shared libraries" -msgstr "" - -#: ../../library/ctypes.rst:1415 -msgid "" -"When writing code that relies on code loaded from shared libraries, it can " -"be useful to know which shared libraries have already been loaded into the " -"current process." -msgstr "" - -#: ../../library/ctypes.rst:1419 -msgid "" -"The :mod:`!ctypes.util` module provides the :func:`~ctypes.util.dllist` " -"function, which calls the different APIs provided by the various platforms " -"to help determine which shared libraries have already been loaded into the " -"current process." -msgstr "" - -#: ../../library/ctypes.rst:1423 -msgid "" -"The exact output of this function will be system dependent. On most " -"platforms, the first entry of this list represents the current process " -"itself, which may be an empty string. For example, on glibc-based Linux, the" -" return may look like::" -msgstr "" - -#: ../../library/ctypes.rst:1428 -msgid "" -">>> from ctypes.util import dllist\n" -">>> dllist()\n" -"['', 'linux-vdso.so.1', '/lib/x86_64-linux-gnu/libm.so.6', '/lib/x86_64-linux-gnu/libc.so.6', ... ]" -msgstr "" - -#: ../../library/ctypes.rst:1435 -msgid "Loading shared libraries" -msgstr "" - -#: ../../library/ctypes.rst:1437 -msgid "" -"There are several ways to load shared libraries into the Python process. " -"One way is to instantiate one of the following classes:" -msgstr "" - -#: ../../library/ctypes.rst:1443 -msgid "" -"Instances of this class represent loaded shared libraries. Functions in " -"these libraries use the standard C calling convention, and are assumed to " -"return :c:expr:`int`." -msgstr "" - -#: ../../library/ctypes.rst:1447 -msgid "" -"On Windows creating a :class:`CDLL` instance may fail even if the DLL name " -"exists. When a dependent DLL of the loaded DLL is not found, a " -":exc:`OSError` error is raised with the message *\"[WinError 126] The " -"specified module could not be found\".* This error message does not contain " -"the name of the missing DLL because the Windows API does not return this " -"information making this error hard to diagnose. To resolve this error and " -"determine which DLL is not found, you need to find the list of dependent " -"DLLs and determine which one is not found using Windows debugging and " -"tracing tools." -msgstr "" - -#: ../../library/ctypes.rst:1459 ../../library/ctypes.rst:1484 -#: ../../library/ctypes.rst:1497 ../../library/ctypes.rst:1515 -msgid "The *name* parameter can now be a :term:`path-like object`." -msgstr "" - -#: ../../library/ctypes.rst:1463 -msgid "" -"`Microsoft DUMPBIN tool " -"`_ -- A tool to " -"find DLL dependents." -msgstr "" - -#: ../../library/ctypes.rst:1469 -msgid "" -"Instances of this class represent loaded shared libraries, functions in " -"these libraries use the ``stdcall`` calling convention, and are assumed to " -"return the windows specific :class:`HRESULT` code. :class:`HRESULT` values " -"contain information specifying whether the function call failed or " -"succeeded, together with additional error code. If the return value signals" -" a failure, an :class:`OSError` is automatically raised." -msgstr "" - -#: ../../library/ctypes.rst:1476 ../../library/ctypes.rst:1493 -#: ../../library/ctypes.rst:1637 ../../library/ctypes.rst:1645 -#: ../../library/ctypes.rst:1817 ../../library/ctypes.rst:1869 -#: ../../library/ctypes.rst:2021 ../../library/ctypes.rst:2073 -#: ../../library/ctypes.rst:2082 ../../library/ctypes.rst:2107 -#: ../../library/ctypes.rst:2121 ../../library/ctypes.rst:2130 -#: ../../library/ctypes.rst:2139 ../../library/ctypes.rst:2154 -#: ../../library/ctypes.rst:2221 ../../library/ctypes.rst:2248 -#: ../../library/ctypes.rst:2648 ../../library/ctypes.rst:3046 -msgid "Availability" -msgstr "" - -#: ../../library/ctypes.rst:1478 -msgid "" -":exc:`WindowsError` used to be raised, which is now an alias of " -":exc:`OSError`." -msgstr "" - -#: ../../library/ctypes.rst:1489 -msgid "" -"Instances of this class represent loaded shared libraries, functions in " -"these libraries use the ``stdcall`` calling convention, and are assumed to " -"return :c:expr:`int` by default." -msgstr "" - -#: ../../library/ctypes.rst:1500 -msgid "" -"The Python :term:`global interpreter lock` is released before calling any " -"function exported by these libraries, and reacquired afterwards." -msgstr "" - -#: ../../library/ctypes.rst:1506 -msgid "" -"Instances of this class behave like :class:`CDLL` instances, except that the" -" Python GIL is *not* released during the function call, and after the " -"function execution the Python error flag is checked. If the error flag is " -"set, a Python exception is raised." -msgstr "" - -#: ../../library/ctypes.rst:1511 -msgid "Thus, this is only useful to call Python C api functions directly." -msgstr "" - -#: ../../library/ctypes.rst:1517 -msgid "" -"All these classes can be instantiated by calling them with at least one " -"argument, the pathname of the shared library. If you have an existing " -"handle to an already loaded shared library, it can be passed as the " -"``handle`` named parameter, otherwise the underlying platform's " -":c:func:`!dlopen` or :c:func:`!LoadLibrary` function is used to load the " -"library into the process, and to get a handle to it." -msgstr "" - -#: ../../library/ctypes.rst:1524 -msgid "" -"The *mode* parameter can be used to specify how the library is loaded. For " -"details, consult the :manpage:`dlopen(3)` manpage. On Windows, *mode* is " -"ignored. On posix systems, RTLD_NOW is always added, and is not " -"configurable." -msgstr "" - -#: ../../library/ctypes.rst:1529 -msgid "" -"The *use_errno* parameter, when set to true, enables a ctypes mechanism that" -" allows accessing the system :data:`errno` error number in a safe way. " -":mod:`ctypes` maintains a thread-local copy of the system's :data:`errno` " -"variable; if you call foreign functions created with ``use_errno=True`` then" -" the :data:`errno` value before the function call is swapped with the ctypes" -" private copy, the same happens immediately after the function call." -msgstr "" - -#: ../../library/ctypes.rst:1536 -msgid "" -"The function :func:`ctypes.get_errno` returns the value of the ctypes " -"private copy, and the function :func:`ctypes.set_errno` changes the ctypes " -"private copy to a new value and returns the former value." -msgstr "" - -#: ../../library/ctypes.rst:1540 -msgid "" -"The *use_last_error* parameter, when set to true, enables the same mechanism" -" for the Windows error code which is managed by the :func:`GetLastError` and" -" :func:`!SetLastError` Windows API functions; :func:`ctypes.get_last_error` " -"and :func:`ctypes.set_last_error` are used to request and change the ctypes " -"private copy of the windows error code." -msgstr "" - -#: ../../library/ctypes.rst:1546 -msgid "" -"The *winmode* parameter is used on Windows to specify how the library is " -"loaded (since *mode* is ignored). It takes any value that is valid for the " -"Win32 API ``LoadLibraryEx`` flags parameter. When omitted, the default is to" -" use the flags that result in the most secure DLL load, which avoids issues " -"such as DLL hijacking. Passing the full path to the DLL is the safest way to" -" ensure the correct library and dependencies are loaded." -msgstr "" - -#: ../../library/ctypes.rst:1553 -msgid "Added *winmode* parameter." -msgstr "" - -#: ../../library/ctypes.rst:1560 -msgid "" -"Flag to use as *mode* parameter. On platforms where this flag is not " -"available, it is defined as the integer zero." -msgstr "" - -#: ../../library/ctypes.rst:1567 -msgid "" -"Flag to use as *mode* parameter. On platforms where this is not available, " -"it is the same as *RTLD_GLOBAL*." -msgstr "" - -#: ../../library/ctypes.rst:1574 -msgid "" -"The default mode which is used to load shared libraries. On OSX 10.3, this " -"is *RTLD_GLOBAL*, otherwise it is the same as *RTLD_LOCAL*." -msgstr "" - -#: ../../library/ctypes.rst:1577 -msgid "" -"Instances of these classes have no public methods. Functions exported by " -"the shared library can be accessed as attributes or by index. Please note " -"that accessing the function through an attribute caches the result and " -"therefore accessing it repeatedly returns the same object each time. On the" -" other hand, accessing it through an index returns a new object each time::" -msgstr "" - -#: ../../library/ctypes.rst:1583 -msgid "" -">>> from ctypes import CDLL\n" -">>> libc = CDLL(\"libc.so.6\") # On Linux\n" -">>> libc.time == libc.time\n" -"True\n" -">>> libc['time'] == libc['time']\n" -"False" -msgstr "" - -#: ../../library/ctypes.rst:1590 -msgid "" -"The following public attributes are available, their name starts with an " -"underscore to not clash with exported function names:" -msgstr "" - -#: ../../library/ctypes.rst:1596 -msgid "The system handle used to access the library." -msgstr "" - -#: ../../library/ctypes.rst:1601 -msgid "The name of the library passed in the constructor." -msgstr "" - -#: ../../library/ctypes.rst:1603 -msgid "" -"Shared libraries can also be loaded by using one of the prefabricated " -"objects, which are instances of the :class:`LibraryLoader` class, either by " -"calling the :meth:`~LibraryLoader.LoadLibrary` method, or by retrieving the " -"library as attribute of the loader instance." -msgstr "" - -#: ../../library/ctypes.rst:1611 -msgid "" -"Class which loads shared libraries. *dlltype* should be one of the " -":class:`CDLL`, :class:`PyDLL`, :class:`WinDLL`, or :class:`OleDLL` types." -msgstr "" - -#: ../../library/ctypes.rst:1614 -msgid "" -":meth:`!__getattr__` has special behavior: It allows loading a shared " -"library by accessing it as attribute of a library loader instance. The " -"result is cached, so repeated attribute accesses return the same library " -"each time." -msgstr "" - -#: ../../library/ctypes.rst:1620 -msgid "" -"Load a shared library into the process and return it. This method always " -"returns a new instance of the library." -msgstr "" - -#: ../../library/ctypes.rst:1624 -msgid "These prefabricated library loaders are available:" -msgstr "" - -#: ../../library/ctypes.rst:1629 -msgid "Creates :class:`CDLL` instances." -msgstr "" - -#: ../../library/ctypes.rst:1635 -msgid "Creates :class:`WinDLL` instances." -msgstr "" - -#: ../../library/ctypes.rst:1643 -msgid "Creates :class:`OleDLL` instances." -msgstr "" - -#: ../../library/ctypes.rst:1651 -msgid "Creates :class:`PyDLL` instances." -msgstr "" - -#: ../../library/ctypes.rst:1654 -msgid "" -"For accessing the C Python api directly, a ready-to-use Python shared " -"library object is available:" -msgstr "" - -#: ../../library/ctypes.rst:1660 -msgid "" -"An instance of :class:`PyDLL` that exposes Python C API functions as " -"attributes. Note that all these functions are assumed to return C " -":c:expr:`int`, which is of course not always the truth, so you have to " -"assign the correct :attr:`!restype` attribute to use these functions." -msgstr "" - -#: ../../library/ctypes.rst:1665 ../../library/ctypes.rst:1667 -msgid "" -"Loading a library through any of these objects raises an :ref:`auditing " -"event ` ``ctypes.dlopen`` with string argument ``name``, the name " -"used to load the library." -msgstr "" - -#: ../../library/ctypes.rst:1671 ../../library/ctypes.rst:1673 -msgid "" -"Accessing a function on a loaded library raises an auditing event " -"``ctypes.dlsym`` with arguments ``library`` (the library object) and " -"``name`` (the symbol's name as a string or integer)." -msgstr "" - -#: ../../library/ctypes.rst:1677 ../../library/ctypes.rst:1679 -msgid "" -"In cases when only the library handle is available rather than the object, " -"accessing a function raises an auditing event ``ctypes.dlsym/handle`` with " -"arguments ``handle`` (the raw library handle) and ``name``." -msgstr "" - -#: ../../library/ctypes.rst:1686 -msgid "Foreign functions" -msgstr "" - -#: ../../library/ctypes.rst:1688 -msgid "" -"As explained in the previous section, foreign functions can be accessed as " -"attributes of loaded shared libraries. The function objects created in this" -" way by default accept any number of arguments, accept any ctypes data " -"instances as arguments, and return the default result type specified by the " -"library loader." -msgstr "" - -#: ../../library/ctypes.rst:1693 -msgid "" -"They are instances of a private local class :class:`!_FuncPtr` (not exposed " -"in :mod:`!ctypes`) which inherits from the private :class:`_CFuncPtr` class:" -msgstr "" - -#: ../../library/ctypes.rst:1696 -msgid "" -">>> import ctypes\n" -">>> lib = ctypes.CDLL(None)\n" -">>> issubclass(lib._FuncPtr, ctypes._CFuncPtr)\n" -"True\n" -">>> lib._FuncPtr is ctypes._CFuncPtr\n" -"False" -msgstr "" - -#: ../../library/ctypes.rst:1707 -msgid "Base class for C callable foreign functions." -msgstr "" - -#: ../../library/ctypes.rst:1709 -msgid "" -"Instances of foreign functions are also C compatible data types; they " -"represent C function pointers." -msgstr "" - -#: ../../library/ctypes.rst:1712 -msgid "" -"This behavior can be customized by assigning to special attributes of the " -"foreign function object." -msgstr "" - -#: ../../library/ctypes.rst:1717 -msgid "" -"Assign a ctypes type to specify the result type of the foreign function. Use" -" ``None`` for :c:expr:`void`, a function not returning anything." -msgstr "" - -#: ../../library/ctypes.rst:1720 -msgid "" -"It is possible to assign a callable Python object that is not a ctypes type," -" in this case the function is assumed to return a C :c:expr:`int`, and the " -"callable will be called with this integer, allowing further processing or " -"error checking. Using this is deprecated, for more flexible post processing" -" or error checking use a ctypes data type as :attr:`!restype` and assign a " -"callable to the :attr:`errcheck` attribute." -msgstr "" - -#: ../../library/ctypes.rst:1729 -msgid "" -"Assign a tuple of ctypes types to specify the argument types that the " -"function accepts. Functions using the ``stdcall`` calling convention can " -"only be called with the same number of arguments as the length of this " -"tuple; functions using the C calling convention accept additional, " -"unspecified arguments as well." -msgstr "" - -#: ../../library/ctypes.rst:1735 -msgid "" -"When a foreign function is called, each actual argument is passed to the " -":meth:`~_CData.from_param` class method of the items in the :attr:`argtypes`" -" tuple, this method allows adapting the actual argument to an object that " -"the foreign function accepts. For example, a :class:`c_char_p` item in the " -":attr:`argtypes` tuple will convert a string passed as argument into a bytes" -" object using ctypes conversion rules." -msgstr "" - -#: ../../library/ctypes.rst:1742 -msgid "" -"New: It is now possible to put items in argtypes which are not ctypes types," -" but each item must have a :meth:`~_CData.from_param` method which returns a" -" value usable as argument (integer, string, ctypes instance). This allows " -"defining adapters that can adapt custom objects as function parameters." -msgstr "" - -#: ../../library/ctypes.rst:1749 -msgid "" -"Assign a Python function or another callable to this attribute. The callable" -" will be called with three or more arguments:" -msgstr "" - -#: ../../library/ctypes.rst:1756 -msgid "" -"*result* is what the foreign function returns, as specified by the " -":attr:`!restype` attribute." -msgstr "" - -#: ../../library/ctypes.rst:1759 -msgid "" -"*func* is the foreign function object itself, this allows reusing the same " -"callable object to check or post process the results of several functions." -msgstr "" - -#: ../../library/ctypes.rst:1763 -msgid "" -"*arguments* is a tuple containing the parameters originally passed to the " -"function call, this allows specializing the behavior on the arguments used." -msgstr "" - -#: ../../library/ctypes.rst:1767 -msgid "" -"The object that this function returns will be returned from the foreign " -"function call, but it can also check the result value and raise an exception" -" if the foreign function call failed." -msgstr "" - -#: ../../library/ctypes.rst:1772 ../../library/ctypes.rst:1774 -msgid "" -"On Windows, when a foreign function call raises a system exception (for " -"example, due to an access violation), it will be captured and replaced with " -"a suitable Python exception. Further, an auditing event " -"``ctypes.set_exception`` with argument ``code`` will be raised, allowing an " -"audit hook to replace the exception with its own." -msgstr "" - -#: ../../library/ctypes.rst:1780 ../../library/ctypes.rst:1782 -msgid "" -"Some ways to invoke foreign function calls as well as some of the functions " -"in this module may raise an auditing event ``ctypes.call_function`` with " -"arguments ``function pointer`` and ``arguments``." -msgstr "" - -#: ../../library/ctypes.rst:1789 -msgid "Function prototypes" -msgstr "" - -#: ../../library/ctypes.rst:1791 -msgid "" -"Foreign functions can also be created by instantiating function prototypes. " -"Function prototypes are similar to function prototypes in C; they describe a" -" function (return type, argument types, calling convention) without defining" -" an implementation. The factory functions must be called with the desired " -"result type and the argument types of the function, and can be used as " -"decorator factories, and as such, be applied to functions through the " -"``@wrapper`` syntax. See :ref:`ctypes-callback-functions` for examples." -msgstr "" - -#: ../../library/ctypes.rst:1802 -msgid "" -"The returned function prototype creates functions that use the standard C " -"calling convention. The function will release the GIL during the call. If " -"*use_errno* is set to true, the ctypes private copy of the system " -":data:`errno` variable is exchanged with the real :data:`errno` value before" -" and after the call; *use_last_error* does the same for the Windows error " -"code." -msgstr "" - -#: ../../library/ctypes.rst:1812 -msgid "" -"The returned function prototype creates functions that use the ``stdcall`` " -"calling convention. The function will release the GIL during the call. " -"*use_errno* and *use_last_error* have the same meaning as above." -msgstr "" - -#: ../../library/ctypes.rst:1822 -msgid "" -"The returned function prototype creates functions that use the Python " -"calling convention. The function will *not* release the GIL during the " -"call." -msgstr "" - -#: ../../library/ctypes.rst:1825 -msgid "" -"Function prototypes created by these factory functions can be instantiated " -"in different ways, depending on the type and number of the parameters in the" -" call:" -msgstr "" - -#: ../../library/ctypes.rst:1832 -msgid "" -"Returns a foreign function at the specified address which must be an " -"integer." -msgstr "" - -#: ../../library/ctypes.rst:1839 -msgid "" -"Create a C callable function (a callback function) from a Python *callable*." -msgstr "" - -#: ../../library/ctypes.rst:1846 -msgid "" -"Returns a foreign function exported by a shared library. *func_spec* must be" -" a 2-tuple ``(name_or_ordinal, library)``. The first item is the name of the" -" exported function as string, or the ordinal of the exported function as " -"small integer. The second item is the shared library instance." -msgstr "" - -#: ../../library/ctypes.rst:1856 -msgid "" -"Returns a foreign function that will call a COM method. *vtbl_index* is the " -"index into the virtual function table, a small non-negative integer. *name* " -"is name of the COM method. *iid* is an optional pointer to the interface " -"identifier which is used in extended error reporting." -msgstr "" - -#: ../../library/ctypes.rst:1861 -msgid "" -"If *iid* is not specified, an :exc:`OSError` is raised if the COM method " -"call fails. If *iid* is specified, a :exc:`~ctypes.COMError` is raised " -"instead." -msgstr "" - -#: ../../library/ctypes.rst:1865 -msgid "" -"COM methods use a special calling convention: They require a pointer to the " -"COM interface as first argument, in addition to those parameters that are " -"specified in the :attr:`!argtypes` tuple." -msgstr "" - -#: ../../library/ctypes.rst:1872 -msgid "" -"The optional *paramflags* parameter creates foreign function wrappers with " -"much more functionality than the features described above." -msgstr "" - -#: ../../library/ctypes.rst:1875 -msgid "" -"*paramflags* must be a tuple of the same length as " -":attr:`~_CFuncPtr.argtypes`." -msgstr "" - -#: ../../library/ctypes.rst:1877 -msgid "" -"Each item in this tuple contains further information about a parameter, it " -"must be a tuple containing one, two, or three items." -msgstr "" - -#: ../../library/ctypes.rst:1880 -msgid "" -"The first item is an integer containing a combination of direction flags for" -" the parameter:" -msgstr "" - -#: ../../library/ctypes.rst:1883 -msgid "1" -msgstr "1" - -#: ../../library/ctypes.rst:1884 -msgid "Specifies an input parameter to the function." -msgstr "" - -#: ../../library/ctypes.rst:1886 -msgid "2" -msgstr "2" - -#: ../../library/ctypes.rst:1887 -msgid "Output parameter. The foreign function fills in a value." -msgstr "" - -#: ../../library/ctypes.rst:1889 -msgid "4" -msgstr "4" - -#: ../../library/ctypes.rst:1890 -msgid "Input parameter which defaults to the integer zero." -msgstr "" - -#: ../../library/ctypes.rst:1892 -msgid "" -"The optional second item is the parameter name as string. If this is " -"specified, the foreign function can be called with named parameters." -msgstr "" - -#: ../../library/ctypes.rst:1895 -msgid "The optional third item is the default value for this parameter." -msgstr "" - -#: ../../library/ctypes.rst:1898 -msgid "" -"The following example demonstrates how to wrap the Windows ``MessageBoxW`` " -"function so that it supports default parameters and named arguments. The C " -"declaration from the windows header file is this::" -msgstr "" - -#: ../../library/ctypes.rst:1902 -msgid "" -"WINUSERAPI int WINAPI\n" -"MessageBoxW(\n" -" HWND hWnd,\n" -" LPCWSTR lpText,\n" -" LPCWSTR lpCaption,\n" -" UINT uType);" -msgstr "" - -#: ../../library/ctypes.rst:1909 ../../library/ctypes.rst:1932 -msgid "Here is the wrapping with :mod:`ctypes`::" -msgstr "" - -#: ../../library/ctypes.rst:1911 -msgid "" -">>> from ctypes import c_int, WINFUNCTYPE, windll\n" -">>> from ctypes.wintypes import HWND, LPCWSTR, UINT\n" -">>> prototype = WINFUNCTYPE(c_int, HWND, LPCWSTR, LPCWSTR, UINT)\n" -">>> paramflags = (1, \"hwnd\", 0), (1, \"text\", \"Hi\"), (1, \"caption\", \"Hello from ctypes\"), (1, \"flags\", 0)\n" -">>> MessageBox = prototype((\"MessageBoxW\", windll.user32), paramflags)" -msgstr "" - -#: ../../library/ctypes.rst:1917 -msgid "The ``MessageBox`` foreign function can now be called in these ways::" -msgstr "" - -#: ../../library/ctypes.rst:1919 -msgid "" -">>> MessageBox()\n" -">>> MessageBox(text=\"Spam, spam, spam\")\n" -">>> MessageBox(flags=2, text=\"foo bar\")" -msgstr "" - -#: ../../library/ctypes.rst:1923 -msgid "" -"A second example demonstrates output parameters. The win32 " -"``GetWindowRect`` function retrieves the dimensions of a specified window by" -" copying them into ``RECT`` structure that the caller has to supply. Here " -"is the C declaration::" -msgstr "" - -#: ../../library/ctypes.rst:1927 -msgid "" -"WINUSERAPI BOOL WINAPI\n" -"GetWindowRect(\n" -" HWND hWnd,\n" -" LPRECT lpRect);" -msgstr "" - -#: ../../library/ctypes.rst:1934 -msgid "" -">>> from ctypes import POINTER, WINFUNCTYPE, windll, WinError\n" -">>> from ctypes.wintypes import BOOL, HWND, RECT\n" -">>> prototype = WINFUNCTYPE(BOOL, HWND, POINTER(RECT))\n" -">>> paramflags = (1, \"hwnd\"), (2, \"lprect\")\n" -">>> GetWindowRect = prototype((\"GetWindowRect\", windll.user32), paramflags)\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1941 -msgid "" -"Functions with output parameters will automatically return the output " -"parameter value if there is a single one, or a tuple containing the output " -"parameter values when there are more than one, so the GetWindowRect function" -" now returns a RECT instance, when called." -msgstr "" - -#: ../../library/ctypes.rst:1946 -msgid "" -"Output parameters can be combined with the :attr:`~_CFuncPtr.errcheck` " -"protocol to do further output processing and error checking. The win32 " -"``GetWindowRect`` api function returns a ``BOOL`` to signal success or " -"failure, so this function could do the error checking, and raises an " -"exception when the api call failed::" -msgstr "" - -#: ../../library/ctypes.rst:1951 -msgid "" -">>> def errcheck(result, func, args):\n" -"... if not result:\n" -"... raise WinError()\n" -"... return args\n" -"...\n" -">>> GetWindowRect.errcheck = errcheck\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1959 -msgid "" -"If the :attr:`~_CFuncPtr.errcheck` function returns the argument tuple it " -"receives unchanged, :mod:`ctypes` continues the normal processing it does on" -" the output parameters. If you want to return a tuple of window coordinates" -" instead of a ``RECT`` instance, you can retrieve the fields in the function" -" and return them instead, the normal processing will no longer take place::" -msgstr "" - -#: ../../library/ctypes.rst:1965 -msgid "" -">>> def errcheck(result, func, args):\n" -"... if not result:\n" -"... raise WinError()\n" -"... rc = args[1]\n" -"... return rc.left, rc.top, rc.bottom, rc.right\n" -"...\n" -">>> GetWindowRect.errcheck = errcheck\n" -">>>" -msgstr "" - -#: ../../library/ctypes.rst:1978 -msgid "Utility functions" -msgstr "" - -#: ../../library/ctypes.rst:1982 -msgid "" -"Returns the address of the memory buffer as integer. *obj* must be an " -"instance of a ctypes type." -msgstr "" - -#: ../../library/ctypes.rst:1985 -msgid "" -"Raises an :ref:`auditing event ` ``ctypes.addressof`` with " -"argument ``obj``." -msgstr "" - -#: ../../library/ctypes.rst:1990 -msgid "" -"Returns the alignment requirements of a ctypes type. *obj_or_type* must be a" -" ctypes type or instance." -msgstr "" - -#: ../../library/ctypes.rst:1996 -msgid "" -"Returns a light-weight pointer to *obj*, which must be an instance of a " -"ctypes type. *offset* defaults to zero, and must be an integer that will be" -" added to the internal pointer value." -msgstr "" - -#: ../../library/ctypes.rst:2000 -msgid "``byref(obj, offset)`` corresponds to this C code::" -msgstr "" - -#: ../../library/ctypes.rst:2002 -msgid "(((char *)&obj) + offset)" -msgstr "" - -#: ../../library/ctypes.rst:2004 -msgid "" -"The returned object can only be used as a foreign function call parameter. " -"It behaves similar to ``pointer(obj)``, but the construction is a lot " -"faster." -msgstr "" - -#: ../../library/ctypes.rst:2010 -msgid "" -"Copies a COM pointer from *src* to *dst* and returns the Windows specific " -":c:type:`!HRESULT` value." -msgstr "" - -#: ../../library/ctypes.rst:2013 -msgid "" -"If *src* is not ``NULL``, its ``AddRef`` method is called, incrementing the " -"reference count." -msgstr "" - -#: ../../library/ctypes.rst:2016 -msgid "" -"In contrast, the reference count of *dst* will not be decremented before " -"assigning the new value. Unless *dst* is ``NULL``, the caller is responsible" -" for decrementing the reference count by calling its ``Release`` method when" -" necessary." -msgstr "" - -#: ../../library/ctypes.rst:2028 -msgid "" -"This function is similar to the cast operator in C. It returns a new " -"instance of *type* which points to the same memory block as *obj*. *type* " -"must be a pointer type, and *obj* must be an object that can be interpreted " -"as a pointer." -msgstr "" - -#: ../../library/ctypes.rst:2036 -msgid "" -"This function creates a mutable character buffer. The returned object is a " -"ctypes array of :class:`c_char`." -msgstr "" - -#: ../../library/ctypes.rst:2039 -msgid "" -"*init_or_size* must be an integer which specifies the size of the array, or " -"a bytes object which will be used to initialize the array items." -msgstr "" - -#: ../../library/ctypes.rst:2042 -msgid "" -"If a bytes object is specified as first argument, the buffer is made one " -"item larger than its length so that the last element in the array is a NUL " -"termination character. An integer can be passed as second argument which " -"allows specifying the size of the array if the length of the bytes should " -"not be used." -msgstr "" - -#: ../../library/ctypes.rst:2047 -msgid "" -"Raises an :ref:`auditing event ` ``ctypes.create_string_buffer`` " -"with arguments ``init``, ``size``." -msgstr "" - -#: ../../library/ctypes.rst:2052 -msgid "" -"This function creates a mutable unicode character buffer. The returned " -"object is a ctypes array of :class:`c_wchar`." -msgstr "" - -#: ../../library/ctypes.rst:2055 -msgid "" -"*init_or_size* must be an integer which specifies the size of the array, or " -"a string which will be used to initialize the array items." -msgstr "" - -#: ../../library/ctypes.rst:2058 -msgid "" -"If a string is specified as first argument, the buffer is made one item " -"larger than the length of the string so that the last element in the array " -"is a NUL termination character. An integer can be passed as second argument " -"which allows specifying the size of the array if the length of the string " -"should not be used." -msgstr "" - -#: ../../library/ctypes.rst:2064 -msgid "" -"Raises an :ref:`auditing event ` ``ctypes.create_unicode_buffer`` " -"with arguments ``init``, ``size``." -msgstr "" - -#: ../../library/ctypes.rst:2069 -msgid "" -"This function is a hook which allows implementing in-process COM servers " -"with ctypes. It is called from the DllCanUnloadNow function that the " -"_ctypes extension dll exports." -msgstr "" - -#: ../../library/ctypes.rst:2078 -msgid "" -"This function is a hook which allows implementing in-process COM servers " -"with ctypes. It is called from the DllGetClassObject function that the " -"``_ctypes`` extension dll exports." -msgstr "" - -#: ../../library/ctypes.rst:2088 -msgid "" -"Try to find a library and return a pathname. *name* is the library name " -"without any prefix like ``lib``, suffix like ``.so``, ``.dylib`` or version " -"number (this is the form used for the posix linker option :option:`!-l`). " -"If no library can be found, returns ``None``." -msgstr "" - -#: ../../library/ctypes.rst:2099 -msgid "" -"Returns the filename of the VC runtime library used by Python, and by the " -"extension modules. If the name of the library cannot be determined, " -"``None`` is returned." -msgstr "" - -#: ../../library/ctypes.rst:2103 -msgid "" -"If you need to free memory, for example, allocated by an extension module " -"with a call to the ``free(void *)``, it is important that you use the " -"function in the same library that allocated the memory." -msgstr "" - -#: ../../library/ctypes.rst:2113 -msgid "" -"Try to provide a list of paths of the shared libraries loaded into the " -"current process. These paths are not normalized or processed in any way. " -"The function can raise :exc:`OSError` if the underlying platform APIs fail. " -"The exact functionality is system dependent." -msgstr "" - -#: ../../library/ctypes.rst:2118 -msgid "" -"On most platforms, the first element of the list represents the current " -"executable file. It may be an empty string." -msgstr "" - -#: ../../library/ctypes.rst:2126 -msgid "" -"Returns a textual description of the error code *code*. If no error code is" -" specified, the last error code is used by calling the Windows API function " -":func:`GetLastError`." -msgstr "" - -#: ../../library/ctypes.rst:2135 -msgid "" -"Returns the last error code set by Windows in the calling thread. This " -"function calls the Windows ``GetLastError()`` function directly, it does not" -" return the ctypes-private copy of the error code." -msgstr "" - -#: ../../library/ctypes.rst:2144 -msgid "" -"Returns the current value of the ctypes-private copy of the system " -":data:`errno` variable in the calling thread." -msgstr "" - -#: ../../library/ctypes.rst:2147 -msgid "" -"Raises an :ref:`auditing event ` ``ctypes.get_errno`` with no " -"arguments." -msgstr "" - -#: ../../library/ctypes.rst:2151 -msgid "" -"Returns the current value of the ctypes-private copy of the system " -":data:`!LastError` variable in the calling thread." -msgstr "" - -#: ../../library/ctypes.rst:2156 -msgid "" -"Raises an :ref:`auditing event ` ``ctypes.get_last_error`` with no" -" arguments." -msgstr "" - -#: ../../library/ctypes.rst:2161 -msgid "" -"Same as the standard C memmove library function: copies *count* bytes from " -"*src* to *dst*. *dst* and *src* must be integers or ctypes instances that " -"can be converted to pointers." -msgstr "" - -#: ../../library/ctypes.rst:2168 -msgid "" -"Same as the standard C memset library function: fills the memory block at " -"address *dst* with *count* bytes of value *c*. *dst* must be an integer " -"specifying an address, or a ctypes instance." -msgstr "" - -#: ../../library/ctypes.rst:2175 -msgid "" -"Create or return a ctypes pointer type. Pointer types are cached and reused " -"internally, so calling this function repeatedly is cheap. *type* must be a " -"ctypes type." -msgstr "" - -#: ../../library/ctypes.rst:2181 -msgid "" -"The resulting pointer type is cached in the ``__pointer_type__`` attribute " -"of *type*. It is possible to set this attribute before the first call to " -"``POINTER`` in order to set a custom pointer type. However, doing this is " -"discouraged: manually creating a suitable pointer type is difficult without " -"relying on implementation details that may change in future Python versions." -msgstr "" - -#: ../../library/ctypes.rst:2192 -msgid "" -"Create a new pointer instance, pointing to *obj*. The returned object is of " -"the type ``POINTER(type(obj))``." -msgstr "" - -#: ../../library/ctypes.rst:2195 -msgid "" -"Note: If you just want to pass a pointer to an object to a foreign function " -"call, you should use ``byref(obj)`` which is much faster." -msgstr "" - -#: ../../library/ctypes.rst:2201 -msgid "" -"This function resizes the internal memory buffer of *obj*, which must be an " -"instance of a ctypes type. It is not possible to make the buffer smaller " -"than the native size of the objects type, as given by ``sizeof(type(obj))``," -" but it is possible to enlarge the buffer." -msgstr "" - -#: ../../library/ctypes.rst:2209 -msgid "" -"Set the current value of the ctypes-private copy of the system :data:`errno`" -" variable in the calling thread to *value* and return the previous value." -msgstr "" - -#: ../../library/ctypes.rst:2212 -msgid "" -"Raises an :ref:`auditing event ` ``ctypes.set_errno`` with " -"argument ``errno``." -msgstr "" - -#: ../../library/ctypes.rst:2217 -msgid "" -"Sets the current value of the ctypes-private copy of the system " -":data:`!LastError` variable in the calling thread to *value* and return the " -"previous value." -msgstr "" - -#: ../../library/ctypes.rst:2223 -msgid "" -"Raises an :ref:`auditing event ` ``ctypes.set_last_error`` with " -"argument ``error``." -msgstr "" - -#: ../../library/ctypes.rst:2228 -msgid "" -"Returns the size in bytes of a ctypes type or instance memory buffer. Does " -"the same as the C ``sizeof`` operator." -msgstr "" - -#: ../../library/ctypes.rst:2234 -msgid "" -"Return the byte string at *void \\*ptr*. If *size* is specified, it is used " -"as size, otherwise the string is assumed to be zero-terminated." -msgstr "" - -#: ../../library/ctypes.rst:2238 -msgid "" -"Raises an :ref:`auditing event ` ``ctypes.string_at`` with " -"arguments ``ptr``, ``size``." -msgstr "" - -#: ../../library/ctypes.rst:2243 -msgid "" -"Creates an instance of :exc:`OSError`. If *code* is not specified, " -":func:`GetLastError` is called to determine the error code. If *descr* is " -"not specified, :func:`FormatError` is called to get a textual description of" -" the error." -msgstr "" - -#: ../../library/ctypes.rst:2250 -msgid "" -"An instance of :exc:`WindowsError` used to be created, which is now an alias" -" of :exc:`OSError`." -msgstr "" - -#: ../../library/ctypes.rst:2257 -msgid "" -"Return the wide-character string at *void \\*ptr*. If *size* is specified, " -"it is used as the number of characters of the string, otherwise the string " -"is assumed to be zero-terminated." -msgstr "" - -#: ../../library/ctypes.rst:2262 -msgid "" -"Raises an :ref:`auditing event ` ``ctypes.wstring_at`` with " -"arguments ``ptr``, ``size``." -msgstr "" - -#: ../../library/ctypes.rst:2267 -msgid "" -"Return a :class:`memoryview` object of length *size* that references memory " -"starting at *void \\*ptr*." -msgstr "" - -#: ../../library/ctypes.rst:2270 -msgid "" -"If *readonly* is true, the returned :class:`!memoryview` object can not be " -"used to modify the underlying memory. (Changes made by other means will " -"still be reflected in the returned object.)" -msgstr "" - -#: ../../library/ctypes.rst:2275 -msgid "" -"This function is similar to :func:`string_at` with the key difference of not" -" making a copy of the specified memory. It is a semantically equivalent (but" -" more efficient) alternative to ``memoryview((c_byte * " -"size).from_address(ptr))``. (While :meth:`~_CData.from_address` only takes " -"integers, *ptr* can also be given as a :class:`ctypes.POINTER` or a " -":func:`~ctypes.byref` object.)" -msgstr "" - -#: ../../library/ctypes.rst:2282 -msgid "" -"Raises an :ref:`auditing event ` ``ctypes.memoryview_at`` with " -"arguments ``address``, ``size``, ``readonly``." -msgstr "" - -#: ../../library/ctypes.rst:2290 -msgid "Data types" -msgstr "" - -#: ../../library/ctypes.rst:2295 -msgid "" -"This non-public class is the common base class of all ctypes data types. " -"Among other things, all ctypes type instances contain a memory block that " -"hold C compatible data; the address of the memory block is returned by the " -":func:`addressof` helper function. Another instance variable is exposed as " -":attr:`_objects`; this contains other Python objects that need to be kept " -"alive in case the memory block contains pointers." -msgstr "" - -#: ../../library/ctypes.rst:2302 -msgid "" -"Common methods of ctypes data types, these are all class methods (to be " -"exact, they are methods of the :term:`metaclass`):" -msgstr "" - -#: ../../library/ctypes.rst:2307 -msgid "" -"This method returns a ctypes instance that shares the buffer of the *source*" -" object. The *source* object must support the writeable buffer interface. " -"The optional *offset* parameter specifies an offset into the source buffer " -"in bytes; the default is zero. If the source buffer is not large enough a " -":exc:`ValueError` is raised." -msgstr "" - -#: ../../library/ctypes.rst:2313 ../../library/ctypes.rst:2323 -msgid "" -"Raises an :ref:`auditing event ` ``ctypes.cdata/buffer`` with " -"arguments ``pointer``, ``size``, ``offset``." -msgstr "" - -#: ../../library/ctypes.rst:2317 -msgid "" -"This method creates a ctypes instance, copying the buffer from the *source* " -"object buffer which must be readable. The optional *offset* parameter " -"specifies an offset into the source buffer in bytes; the default is zero. " -"If the source buffer is not large enough a :exc:`ValueError` is raised." -msgstr "" - -#: ../../library/ctypes.rst:2327 -msgid "" -"This method returns a ctypes type instance using the memory specified by " -"*address* which must be an integer." -msgstr "" - -#: ../../library/ctypes.rst:2330 ../../library/ctypes.rst:2332 -msgid "" -"This method, and others that indirectly call this method, raises an " -":ref:`auditing event ` ``ctypes.cdata`` with argument ``address``." -msgstr "" - -#: ../../library/ctypes.rst:2338 -msgid "" -"This method adapts *obj* to a ctypes type. It is called with the actual " -"object used in a foreign function call when the type is present in the " -"foreign function's :attr:`~_CFuncPtr.argtypes` tuple; it must return an " -"object that can be used as a function call parameter." -msgstr "" - -#: ../../library/ctypes.rst:2343 -msgid "" -"All ctypes data types have a default implementation of this classmethod that" -" normally returns *obj* if that is an instance of the type. Some types " -"accept other objects as well." -msgstr "" - -#: ../../library/ctypes.rst:2349 -msgid "" -"This method returns a ctypes type instance exported by a shared library. " -"*name* is the name of the symbol that exports the data, *library* is the " -"loaded shared library." -msgstr "" - -#: ../../library/ctypes.rst:2353 -msgid "Common class variables of ctypes data types:" -msgstr "" - -#: ../../library/ctypes.rst:2357 -msgid "" -"The pointer type that was created by calling :func:`POINTER` for " -"corresponding ctypes data type. If a pointer type was not yet created, the " -"attribute is missing." -msgstr "" - -#: ../../library/ctypes.rst:2363 -msgid "Common instance variables of ctypes data types:" -msgstr "" - -#: ../../library/ctypes.rst:2367 -msgid "" -"Sometimes ctypes data instances do not own the memory block they contain, " -"instead they share part of the memory block of a base object. The " -":attr:`_b_base_` read-only member is the root ctypes object that owns the " -"memory block." -msgstr "" - -#: ../../library/ctypes.rst:2374 -msgid "" -"This read-only variable is true when the ctypes data instance has allocated " -"the memory block itself, false otherwise." -msgstr "" - -#: ../../library/ctypes.rst:2379 -msgid "" -"This member is either ``None`` or a dictionary containing Python objects " -"that need to be kept alive so that the memory block contents is kept valid." -" This object is only exposed for debugging; never modify the contents of " -"this dictionary." -msgstr "" - -#: ../../library/ctypes.rst:2392 -msgid "" -"This non-public class is the base class of all fundamental ctypes data " -"types. It is mentioned here because it contains the common attributes of the" -" fundamental ctypes data types. :class:`_SimpleCData` is a subclass of " -":class:`_CData`, so it inherits their methods and attributes. ctypes data " -"types that are not and do not contain pointers can now be pickled." -msgstr "" - -#: ../../library/ctypes.rst:2398 -msgid "Instances have a single attribute:" -msgstr "" - -#: ../../library/ctypes.rst:2402 -msgid "" -"This attribute contains the actual value of the instance. For integer and " -"pointer types, it is an integer, for character types, it is a single " -"character bytes object or string, for character pointer types it is a Python" -" bytes object or string." -msgstr "" - -#: ../../library/ctypes.rst:2407 -msgid "" -"When the ``value`` attribute is retrieved from a ctypes instance, usually a " -"new object is returned each time. :mod:`ctypes` does *not* implement " -"original object return, always a new object is constructed. The same is " -"true for all other ctypes object instances." -msgstr "" - -#: ../../library/ctypes.rst:2413 -msgid "" -"Fundamental data types, when returned as foreign function call results, or, " -"for example, by retrieving structure field members or array items, are " -"transparently converted to native Python types. In other words, if a " -"foreign function has a :attr:`~_CFuncPtr.restype` of :class:`c_char_p`, you " -"will always receive a Python bytes object, *not* a :class:`c_char_p` " -"instance." -msgstr "" - -#: ../../library/ctypes.rst:2421 -msgid "" -"Subclasses of fundamental data types do *not* inherit this behavior. So, if " -"a foreign functions :attr:`!restype` is a subclass of :class:`c_void_p`, you" -" will receive an instance of this subclass from the function call. Of " -"course, you can get the value of the pointer by accessing the ``value`` " -"attribute." -msgstr "" - -#: ../../library/ctypes.rst:2426 -msgid "These are the fundamental ctypes data types:" -msgstr "" - -#: ../../library/ctypes.rst:2430 -msgid "" -"Represents the C :c:expr:`signed char` datatype, and interprets the value as" -" small integer. The constructor accepts an optional integer initializer; no" -" overflow checking is done." -msgstr "" - -#: ../../library/ctypes.rst:2437 -msgid "" -"Represents the C :c:expr:`char` datatype, and interprets the value as a " -"single character. The constructor accepts an optional string initializer, " -"the length of the string must be exactly one character." -msgstr "" - -#: ../../library/ctypes.rst:2444 -msgid "" -"Represents the C :c:expr:`char *` datatype when it points to a zero-" -"terminated string. For a general character pointer that may also point to " -"binary data, ``POINTER(c_char)`` must be used. The constructor accepts an " -"integer address, or a bytes object." -msgstr "" - -#: ../../library/ctypes.rst:2452 -msgid "" -"Represents the C :c:expr:`double` datatype. The constructor accepts an " -"optional float initializer." -msgstr "" - -#: ../../library/ctypes.rst:2458 -msgid "" -"Represents the C :c:expr:`long double` datatype. The constructor accepts an" -" optional float initializer. On platforms where ``sizeof(long double) == " -"sizeof(double)`` it is an alias to :class:`c_double`." -msgstr "" - -#: ../../library/ctypes.rst:2464 -msgid "" -"Represents the C :c:expr:`float` datatype. The constructor accepts an " -"optional float initializer." -msgstr "" - -#: ../../library/ctypes.rst:2470 -msgid "" -"Represents the C :c:expr:`double complex` datatype, if available. The " -"constructor accepts an optional :class:`complex` initializer." -msgstr "" - -#: ../../library/ctypes.rst:2478 -msgid "" -"Represents the C :c:expr:`float complex` datatype, if available. The " -"constructor accepts an optional :class:`complex` initializer." -msgstr "" - -#: ../../library/ctypes.rst:2486 -msgid "" -"Represents the C :c:expr:`long double complex` datatype, if available. The " -"constructor accepts an optional :class:`complex` initializer." -msgstr "" - -#: ../../library/ctypes.rst:2494 -msgid "" -"Represents the C :c:expr:`signed int` datatype. The constructor accepts an " -"optional integer initializer; no overflow checking is done. On platforms " -"where ``sizeof(int) == sizeof(long)`` it is an alias to :class:`c_long`." -msgstr "" - -#: ../../library/ctypes.rst:2501 -msgid "" -"Represents the C 8-bit :c:expr:`signed int` datatype. Usually an alias for " -":class:`c_byte`." -msgstr "" - -#: ../../library/ctypes.rst:2507 -msgid "" -"Represents the C 16-bit :c:expr:`signed int` datatype. Usually an alias for" -" :class:`c_short`." -msgstr "" - -#: ../../library/ctypes.rst:2513 -msgid "" -"Represents the C 32-bit :c:expr:`signed int` datatype. Usually an alias for" -" :class:`c_int`." -msgstr "" - -#: ../../library/ctypes.rst:2519 -msgid "" -"Represents the C 64-bit :c:expr:`signed int` datatype. Usually an alias for" -" :class:`c_longlong`." -msgstr "" - -#: ../../library/ctypes.rst:2525 -msgid "" -"Represents the C :c:expr:`signed long` datatype. The constructor accepts an" -" optional integer initializer; no overflow checking is done." -msgstr "" - -#: ../../library/ctypes.rst:2531 -msgid "" -"Represents the C :c:expr:`signed long long` datatype. The constructor " -"accepts an optional integer initializer; no overflow checking is done." -msgstr "" - -#: ../../library/ctypes.rst:2537 -msgid "" -"Represents the C :c:expr:`signed short` datatype. The constructor accepts " -"an optional integer initializer; no overflow checking is done." -msgstr "" - -#: ../../library/ctypes.rst:2543 -msgid "Represents the C :c:type:`size_t` datatype." -msgstr "" - -#: ../../library/ctypes.rst:2548 -msgid "Represents the C :c:type:`ssize_t` datatype." -msgstr "" - -#: ../../library/ctypes.rst:2555 -msgid "Represents the C :c:type:`time_t` datatype." -msgstr "" - -#: ../../library/ctypes.rst:2562 -msgid "" -"Represents the C :c:expr:`unsigned char` datatype, it interprets the value " -"as small integer. The constructor accepts an optional integer initializer; " -"no overflow checking is done." -msgstr "" - -#: ../../library/ctypes.rst:2569 -msgid "" -"Represents the C :c:expr:`unsigned int` datatype. The constructor accepts " -"an optional integer initializer; no overflow checking is done. On platforms" -" where ``sizeof(int) == sizeof(long)`` it is an alias for :class:`c_ulong`." -msgstr "" - -#: ../../library/ctypes.rst:2576 -msgid "" -"Represents the C 8-bit :c:expr:`unsigned int` datatype. Usually an alias " -"for :class:`c_ubyte`." -msgstr "" - -#: ../../library/ctypes.rst:2582 -msgid "" -"Represents the C 16-bit :c:expr:`unsigned int` datatype. Usually an alias " -"for :class:`c_ushort`." -msgstr "" - -#: ../../library/ctypes.rst:2588 -msgid "" -"Represents the C 32-bit :c:expr:`unsigned int` datatype. Usually an alias " -"for :class:`c_uint`." -msgstr "" - -#: ../../library/ctypes.rst:2594 -msgid "" -"Represents the C 64-bit :c:expr:`unsigned int` datatype. Usually an alias " -"for :class:`c_ulonglong`." -msgstr "" - -#: ../../library/ctypes.rst:2600 -msgid "" -"Represents the C :c:expr:`unsigned long` datatype. The constructor accepts " -"an optional integer initializer; no overflow checking is done." -msgstr "" - -#: ../../library/ctypes.rst:2606 -msgid "" -"Represents the C :c:expr:`unsigned long long` datatype. The constructor " -"accepts an optional integer initializer; no overflow checking is done." -msgstr "" - -#: ../../library/ctypes.rst:2612 -msgid "" -"Represents the C :c:expr:`unsigned short` datatype. The constructor accepts" -" an optional integer initializer; no overflow checking is done." -msgstr "" - -#: ../../library/ctypes.rst:2618 -msgid "" -"Represents the C :c:expr:`void *` type. The value is represented as " -"integer. The constructor accepts an optional integer initializer." -msgstr "" - -#: ../../library/ctypes.rst:2624 -msgid "" -"Represents the C :c:type:`wchar_t` datatype, and interprets the value as a " -"single character unicode string. The constructor accepts an optional string" -" initializer, the length of the string must be exactly one character." -msgstr "" - -#: ../../library/ctypes.rst:2631 -msgid "" -"Represents the C :c:expr:`wchar_t *` datatype, which must be a pointer to a " -"zero-terminated wide character string. The constructor accepts an integer " -"address, or a string." -msgstr "" - -#: ../../library/ctypes.rst:2638 -msgid "" -"Represent the C :c:expr:`bool` datatype (more accurately, :c:expr:`_Bool` " -"from C99). Its value can be ``True`` or ``False``, and the constructor " -"accepts any object that has a truth value." -msgstr "" - -#: ../../library/ctypes.rst:2645 -msgid "" -"Represents a :c:type:`!HRESULT` value, which contains success or error " -"information for a function or method call." -msgstr "" - -#: ../../library/ctypes.rst:2653 -msgid "" -"Represents the C :c:expr:`PyObject *` datatype. Calling this without an " -"argument creates a ``NULL`` :c:expr:`PyObject *` pointer." -msgstr "" - -#: ../../library/ctypes.rst:2656 -msgid ":class:`!py_object` is now a :term:`generic type`." -msgstr "" - -#: ../../library/ctypes.rst:2659 -msgid "" -"The :mod:`!ctypes.wintypes` module provides quite some other Windows " -"specific data types, for example :c:type:`!HWND`, :c:type:`!WPARAM`, or " -":c:type:`!DWORD`. Some useful structures like :c:type:`!MSG` or " -":c:type:`!RECT` are also defined." -msgstr "" - -#: ../../library/ctypes.rst:2667 -msgid "Structured data types" -msgstr "Tipe data terstruktur" - -#: ../../library/ctypes.rst:2672 -msgid "Abstract base class for unions in native byte order." -msgstr "" - -#: ../../library/ctypes.rst:2674 -msgid "" -"Unions share common attributes and behavior with structures; see " -":class:`Structure` documentation for details." -msgstr "" - -#: ../../library/ctypes.rst:2679 -msgid "Abstract base class for unions in *big endian* byte order." -msgstr "" - -#: ../../library/ctypes.rst:2685 -msgid "Abstract base class for unions in *little endian* byte order." -msgstr "" - -#: ../../library/ctypes.rst:2691 -msgid "Abstract base class for structures in *big endian* byte order." -msgstr "" - -#: ../../library/ctypes.rst:2696 -msgid "Abstract base class for structures in *little endian* byte order." -msgstr "" - -#: ../../library/ctypes.rst:2698 -msgid "" -"Structures and unions with non-native byte order cannot contain pointer type" -" fields, or any other data types containing pointer type fields." -msgstr "" - -#: ../../library/ctypes.rst:2704 -msgid "Abstract base class for structures in *native* byte order." -msgstr "" - -#: ../../library/ctypes.rst:2706 -msgid "" -"Concrete structure and union types must be created by subclassing one of " -"these types, and at least define a :attr:`_fields_` class variable. " -":mod:`ctypes` will create :term:`descriptor`\\s which allow reading and " -"writing the fields by direct attribute accesses. These are the" -msgstr "" - -#: ../../library/ctypes.rst:2714 -msgid "" -"A sequence defining the structure fields. The items must be 2-tuples or " -"3-tuples. The first item is the name of the field, the second item " -"specifies the type of the field; it can be any ctypes data type." -msgstr "" - -#: ../../library/ctypes.rst:2718 -msgid "" -"For integer type fields like :class:`c_int`, a third optional item can be " -"given. It must be a small positive integer defining the bit width of the " -"field." -msgstr "" - -#: ../../library/ctypes.rst:2722 -msgid "" -"Field names must be unique within one structure or union. This is not " -"checked, only one field can be accessed when names are repeated." -msgstr "" - -#: ../../library/ctypes.rst:2725 -msgid "" -"It is possible to define the :attr:`_fields_` class variable *after* the " -"class statement that defines the Structure subclass, this allows creating " -"data types that directly or indirectly reference themselves::" -msgstr "" - -#: ../../library/ctypes.rst:2729 -msgid "" -"class List(Structure):\n" -" pass\n" -"List._fields_ = [(\"pnext\", POINTER(List)),\n" -" ...\n" -" ]" -msgstr "" - -#: ../../library/ctypes.rst:2735 -msgid "" -"The :attr:`!_fields_` class variable can only be set once. Later assignments" -" will raise an :exc:`AttributeError`." -msgstr "" - -#: ../../library/ctypes.rst:2738 -msgid "" -"Additionally, the :attr:`!_fields_` class variable must be defined before " -"the structure or union type is first used: an instance or subclass is " -"created, :func:`sizeof` is called on it, and so on. Later assignments to " -":attr:`!_fields_` will raise an :exc:`AttributeError`. If :attr:`!_fields_` " -"has not been set before such use, the structure or union will have no own " -"fields, as if :attr:`!_fields_` was empty." -msgstr "" - -#: ../../library/ctypes.rst:2746 -msgid "" -"Sub-subclasses of structure types inherit the fields of the base class plus " -"the :attr:`_fields_` defined in the sub-subclass, if any." -msgstr "" - -#: ../../library/ctypes.rst:2752 -msgid "" -"An optional small integer that allows overriding the alignment of structure " -"fields in the instance. :attr:`_pack_` must already be defined when " -":attr:`_fields_` is assigned, otherwise it will have no effect. Setting this" -" attribute to 0 is the same as not setting it at all." -msgstr "" - -#: ../../library/ctypes.rst:2757 -msgid "This is only implemented for the MSVC-compatible memory layout." -msgstr "" - -#: ../../library/ctypes.rst:2761 -msgid "" -"For historical reasons, if :attr:`!_pack_` is non-zero, the MSVC-compatible " -"layout will be used by default. On non-Windows platforms, this default is " -"deprecated and is slated to become an error in Python 3.19. If it is " -"intended, set :attr:`~Structure._layout_` to ``'ms'`` explicitly." -msgstr "" - -#: ../../library/ctypes.rst:2770 -msgid "" -"An optional small integer that allows overriding the alignment of the " -"structure when being packed or unpacked to/from memory. Setting this " -"attribute to 0 is the same as not setting it at all." -msgstr "" - -#: ../../library/ctypes.rst:2778 -msgid "" -"An optional string naming the struct/union layout. It can currently be set " -"to:" -msgstr "" - -#: ../../library/ctypes.rst:2781 -msgid "" -"``\"ms\"``: the layout used by the Microsoft compiler (MSVC). On GCC and " -"Clang, this layout can be selected with ``__attribute__((ms_struct))``." -msgstr "" - -#: ../../library/ctypes.rst:2784 -msgid "" -"``\"gcc-sysv\"``: the layout used by GCC with the System V or “SysV-like” " -"data model, as used on Linux and macOS. With this layout, " -":attr:`~Structure._pack_` must be unset or zero." -msgstr "" - -#: ../../library/ctypes.rst:2788 -msgid "" -"If not set explicitly, ``ctypes`` will use a default that matches the " -"platform conventions. This default may change in future Python releases (for" -" example, when a new platform gains official support, or when a difference " -"between similar platforms is found). Currently the default will be:" -msgstr "" - -#: ../../library/ctypes.rst:2794 -msgid "On Windows: ``\"ms\"``" -msgstr "" - -#: ../../library/ctypes.rst:2795 -msgid "" -"When :attr:`~Structure._pack_` is specified: ``\"ms\"``. (This is " -"deprecated; see :attr:`~Structure._pack_` documentation.)" -msgstr "" - -#: ../../library/ctypes.rst:2797 -msgid "Otherwise: ``\"gcc-sysv\"``" -msgstr "" - -#: ../../library/ctypes.rst:2799 -msgid "" -":attr:`!_layout_` must already be defined when :attr:`~Structure._fields_` " -"is assigned, otherwise it will have no effect." -msgstr "" - -#: ../../library/ctypes.rst:2806 -msgid "" -"An optional sequence that lists the names of unnamed (anonymous) fields. " -":attr:`_anonymous_` must be already defined when :attr:`_fields_` is " -"assigned, otherwise it will have no effect." -msgstr "" - -#: ../../library/ctypes.rst:2810 -msgid "" -"The fields listed in this variable must be structure or union type fields. " -":mod:`ctypes` will create descriptors in the structure type that allows " -"accessing the nested fields directly, without the need to create the " -"structure or union field." -msgstr "" - -#: ../../library/ctypes.rst:2815 -msgid "Here is an example type (Windows)::" -msgstr "" - -#: ../../library/ctypes.rst:2817 -msgid "" -"class _U(Union):\n" -" _fields_ = [(\"lptdesc\", POINTER(TYPEDESC)),\n" -" (\"lpadesc\", POINTER(ARRAYDESC)),\n" -" (\"hreftype\", HREFTYPE)]\n" -"\n" -"class TYPEDESC(Structure):\n" -" _anonymous_ = (\"u\",)\n" -" _fields_ = [(\"u\", _U),\n" -" (\"vt\", VARTYPE)]" -msgstr "" - -#: ../../library/ctypes.rst:2828 -msgid "" -"The ``TYPEDESC`` structure describes a COM data type, the ``vt`` field " -"specifies which one of the union fields is valid. Since the ``u`` field is " -"defined as anonymous field, it is now possible to access the members " -"directly off the TYPEDESC instance. ``td.lptdesc`` and ``td.u.lptdesc`` are " -"equivalent, but the former is faster since it does not need to create a " -"temporary union instance::" -msgstr "" - -#: ../../library/ctypes.rst:2835 -msgid "" -"td = TYPEDESC()\n" -"td.vt = VT_PTR\n" -"td.lptdesc = POINTER(some_type)\n" -"td.u.lptdesc = POINTER(some_type)" -msgstr "" - -#: ../../library/ctypes.rst:2840 -msgid "" -"It is possible to define sub-subclasses of structures, they inherit the " -"fields of the base class. If the subclass definition has a separate " -":attr:`_fields_` variable, the fields specified in this are appended to the " -"fields of the base class." -msgstr "" - -#: ../../library/ctypes.rst:2845 -msgid "" -"Structure and union constructors accept both positional and keyword " -"arguments. Positional arguments are used to initialize member fields in the" -" same order as they are appear in :attr:`_fields_`. Keyword arguments in " -"the constructor are interpreted as attribute assignments, so they will " -"initialize :attr:`_fields_` with the same name, or create new attributes for" -" names not present in :attr:`_fields_`." -msgstr "" - -#: ../../library/ctypes.rst:2855 -msgid "" -"Descriptor for fields of a :class:`Structure` and :class:`Union`. For " -"example::" -msgstr "" - -#: ../../library/ctypes.rst:2858 -msgid "" -">>> class Color(Structure):\n" -"... _fields_ = (\n" -"... ('red', c_uint8),\n" -"... ('green', c_uint8),\n" -"... ('blue', c_uint8),\n" -"... ('intense', c_bool, 1),\n" -"... ('blinking', c_bool, 1),\n" -"... )\n" -"...\n" -">>> Color.red\n" -"\n" -">>> Color.green.type\n" -"\n" -">>> Color.blue.byte_offset\n" -"2\n" -">>> Color.intense\n" -"\n" -">>> Color.blinking.bit_offset\n" -"1" -msgstr "" - -#: ../../library/ctypes.rst:2878 -msgid "All attributes are read-only." -msgstr "" - -#: ../../library/ctypes.rst:2880 -msgid "" -":class:`!CField` objects are created via :attr:`~Structure._fields_`; do not" -" instantiate the class directly." -msgstr "" - -#: ../../library/ctypes.rst:2885 -msgid "" -"Previously, descriptors only had ``offset`` and ``size`` attributes and a " -"readable string representation; the :class:`!CField` class was not available" -" directly." -msgstr "" - -#: ../../library/ctypes.rst:2891 -msgid "Name of the field, as a string." -msgstr "" - -#: ../../library/ctypes.rst:2895 -msgid "Type of the field, as a :ref:`ctypes class `." -msgstr "" - -#: ../../library/ctypes.rst:2900 -msgid "Offset of the field, in bytes." -msgstr "" - -#: ../../library/ctypes.rst:2902 -msgid "" -"For bitfields, this is the offset of the underlying byte-aligned *storage " -"unit*; see :attr:`~CField.bit_offset`." -msgstr "" - -#: ../../library/ctypes.rst:2907 -msgid "Size of the field, in bytes." -msgstr "" - -#: ../../library/ctypes.rst:2909 -msgid "" -"For bitfields, this is the size of the underlying *storage unit*. Typically," -" it has the same size as the bitfield's type." -msgstr "" - -#: ../../library/ctypes.rst:2914 -msgid "For non-bitfields, equivalent to :attr:`~CField.byte_size`." -msgstr "" - -#: ../../library/ctypes.rst:2916 -msgid "" -"For bitfields, this contains a backwards-compatible bit-packed value that " -"combines :attr:`~CField.bit_size` and :attr:`~CField.bit_offset`. Prefer " -"using the explicit attributes instead." -msgstr "" - -#: ../../library/ctypes.rst:2923 -msgid "True if this is a bitfield." -msgstr "" - -#: ../../library/ctypes.rst:2928 -msgid "" -"The location of a bitfield within its *storage unit*, that is, within " -":attr:`~CField.byte_size` bytes of memory starting at " -":attr:`~CField.byte_offset`." -msgstr "" - -#: ../../library/ctypes.rst:2932 -msgid "" -"To get the field's value, read the storage unit as an integer, :ref:`shift " -"left ` by :attr:`!bit_offset` and take the :attr:`!bit_size` least" -" significant bits." -msgstr "" - -#: ../../library/ctypes.rst:2936 -msgid "" -"For non-bitfields, :attr:`!bit_offset` is zero and :attr:`!bit_size` is " -"equal to ``byte_size * 8``." -msgstr "" - -#: ../../library/ctypes.rst:2941 -msgid "" -"True if this field is anonymous, that is, it contains nested sub-fields that" -" should be be merged into a containing structure or union." -msgstr "" - -#: ../../library/ctypes.rst:2948 -msgid "Arrays and pointers" -msgstr "" - -#: ../../library/ctypes.rst:2952 -msgid "Abstract base class for arrays." -msgstr "" - -#: ../../library/ctypes.rst:2954 -msgid "" -"The recommended way to create concrete array types is by multiplying any " -":mod:`ctypes` data type with a non-negative integer. Alternatively, you can" -" subclass this type and define :attr:`_length_` and :attr:`_type_` class " -"variables. Array elements can be read and written using standard subscript " -"and slice accesses; for slice reads, the resulting object is *not* itself an" -" :class:`Array`." -msgstr "" - -#: ../../library/ctypes.rst:2964 -msgid "" -"A positive integer specifying the number of elements in the array. Out-of-" -"range subscripts result in an :exc:`IndexError`. Will be returned by " -":func:`len`." -msgstr "" - -#: ../../library/ctypes.rst:2971 -msgid "Specifies the type of each element in the array." -msgstr "" - -#: ../../library/ctypes.rst:2974 -msgid "" -"Array subclass constructors accept positional arguments, used to initialize " -"the elements in order." -msgstr "" - -#: ../../library/ctypes.rst:2979 -msgid "" -"Create an array. Equivalent to ``type * length``, where *type* is a " -":mod:`ctypes` data type and *length* an integer." -msgstr "" - -#: ../../library/ctypes.rst:2983 -msgid "" -"This function is :term:`soft deprecated` in favor of multiplication. There " -"are no plans to remove it." -msgstr "" - -#: ../../library/ctypes.rst:2989 -msgid "Private, abstract base class for pointers." -msgstr "" - -#: ../../library/ctypes.rst:2991 -msgid "" -"Concrete pointer types are created by calling :func:`POINTER` with the type " -"that will be pointed to; this is done automatically by :func:`pointer`." -msgstr "" - -#: ../../library/ctypes.rst:2995 -msgid "" -"If a pointer points to an array, its elements can be read and written using " -"standard subscript and slice accesses. Pointer objects have no size, so " -":func:`len` will raise :exc:`TypeError`. Negative subscripts will read from" -" the memory *before* the pointer (as in C), and out-of-range subscripts will" -" probably crash with an access violation (if you're lucky)." -msgstr "" - -#: ../../library/ctypes.rst:3005 -msgid "Specifies the type pointed to." -msgstr "" - -#: ../../library/ctypes.rst:3009 -msgid "" -"Returns the object to which to pointer points. Assigning to this attribute " -"changes the pointer to point to the assigned object." -msgstr "" - -#: ../../library/ctypes.rst:3016 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/ctypes.rst:3020 -msgid "" -"This exception is raised when a foreign function call cannot convert one of " -"the passed arguments." -msgstr "" - -#: ../../library/ctypes.rst:3026 -msgid "This exception is raised when a COM method call failed." -msgstr "" - -#: ../../library/ctypes.rst:3030 -msgid "The integer value representing the error code." -msgstr "" - -#: ../../library/ctypes.rst:3034 -msgid "The error message." -msgstr "" - -#: ../../library/ctypes.rst:3038 -msgid "The 5-tuple ``(descr, source, helpfile, helpcontext, progid)``." -msgstr "" - -#: ../../library/ctypes.rst:3040 -msgid "" -"*descr* is the textual description. *source* is the language-dependent " -"``ProgID`` for the class or application that raised the error. *helpfile* " -"is the path of the help file. *helpcontext* is the help context identifier." -" *progid* is the ``ProgID`` of the interface that defined the error." -msgstr "" diff --git a/python-newest.library--curses/id.po b/python-newest.library--curses/id.po deleted file mode 100644 index f26a364..0000000 --- a/python-newest.library--curses/id.po +++ /dev/null @@ -1,2606 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/curses.rst:2 -msgid ":mod:`!curses` --- Terminal handling for character-cell displays" -msgstr "" - -#: ../../library/curses.rst:12 -msgid "**Source code:** :source:`Lib/curses`" -msgstr "" - -#: ../../library/curses.rst:16 -msgid "" -"The :mod:`curses` module provides an interface to the curses library, the " -"de-facto standard for portable advanced terminal handling." -msgstr "" - -#: ../../library/curses.rst:19 -msgid "" -"While curses is most widely used in the Unix environment, versions are " -"available for Windows, DOS, and possibly other systems as well. This " -"extension module is designed to match the API of ncurses, an open-source " -"curses library hosted on Linux and the BSD variants of Unix." -msgstr "" - -#: ../../includes/wasm-mobile-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-mobile-notavail.rst:5 -msgid "" -"This module is not supported on :ref:`mobile platforms ` or :ref:`WebAssembly platforms `." -msgstr "" - -#: ../../library/curses.rst:28 -msgid "" -"Whenever the documentation mentions a *character* it can be specified as an " -"integer, a one-character Unicode string or a one-byte byte string." -msgstr "" - -#: ../../library/curses.rst:31 -msgid "" -"Whenever the documentation mentions a *character string* it can be specified" -" as a Unicode string or a byte string." -msgstr "" - -#: ../../library/curses.rst:36 -msgid "Module :mod:`curses.ascii`" -msgstr "" - -#: ../../library/curses.rst:37 -msgid "" -"Utilities for working with ASCII characters, regardless of your locale " -"settings." -msgstr "" - -#: ../../library/curses.rst:39 -msgid "Module :mod:`curses.panel`" -msgstr "" - -#: ../../library/curses.rst:40 -msgid "A panel stack extension that adds depth to curses windows." -msgstr "" - -#: ../../library/curses.rst:42 -msgid "Module :mod:`curses.textpad`" -msgstr "" - -#: ../../library/curses.rst:43 -msgid "" -"Editable text widget for curses supporting :program:`Emacs`\\ -like " -"bindings." -msgstr "" - -#: ../../library/curses.rst:45 -msgid ":ref:`curses-howto`" -msgstr "" - -#: ../../library/curses.rst:46 -msgid "" -"Tutorial material on using curses with Python, by Andrew Kuchling and Eric " -"Raymond." -msgstr "" - -#: ../../library/curses.rst:53 -msgid "Functions" -msgstr "Fungsi-Fungsi" - -#: ../../library/curses.rst:55 -msgid "The module :mod:`curses` defines the following exception:" -msgstr "" - -#: ../../library/curses.rst:60 -msgid "Exception raised when a curses library function returns an error." -msgstr "" - -#: ../../library/curses.rst:64 -msgid "" -"Whenever *x* or *y* arguments to a function or a method are optional, they " -"default to the current cursor location. Whenever *attr* is optional, it " -"defaults to :const:`A_NORMAL`." -msgstr "" - -#: ../../library/curses.rst:68 -msgid "The module :mod:`curses` defines the following functions:" -msgstr "" - -#: ../../library/curses.rst:73 -msgid "" -"Allow use of default values for colors on terminals supporting this feature." -" Use this to support transparency in your application." -msgstr "" - -#: ../../library/curses.rst:76 -msgid "" -"Assign terminal default foreground/background colors to color number ``-1``." -" So ``init_pair(x, COLOR_RED, -1)`` will initialize pair *x* as red on " -"default background and ``init_pair(x, -1, COLOR_BLUE)`` will initialize pair" -" *x* as default foreground on blue." -msgstr "" - -#: ../../library/curses.rst:81 -msgid "Change the definition of the color-pair ``0`` to ``(fg, bg)``." -msgstr "" - -#: ../../library/curses.rst:88 -msgid "" -"Return the output speed of the terminal in bits per second. On software " -"terminal emulators it will have a fixed high value. Included for historical " -"reasons; in former times, it was used to write output loops for time delays" -" and occasionally to change interfaces depending on the line speed." -msgstr "" - -#: ../../library/curses.rst:96 -msgid "Emit a short attention sound." -msgstr "" - -#: ../../library/curses.rst:101 -msgid "" -"Return ``True`` or ``False``, depending on whether the programmer can change" -" the colors displayed by the terminal." -msgstr "" - -#: ../../library/curses.rst:107 -msgid "" -"Enter cbreak mode. In cbreak mode (sometimes called \"rare\" mode) normal " -"tty line buffering is turned off and characters are available to be read one" -" by one. However, unlike raw mode, special characters (interrupt, quit, " -"suspend, and flow control) retain their effects on the tty driver and " -"calling program. Calling first :func:`raw` then :func:`cbreak` leaves the " -"terminal in cbreak mode." -msgstr "" - -#: ../../library/curses.rst:116 -msgid "" -"Return the intensity of the red, green, and blue (RGB) components in the " -"color *color_number*, which must be between ``0`` and ``COLORS - 1``. " -"Return a 3-tuple, containing the R,G,B values for the given color, which " -"will be between ``0`` (no component) and ``1000`` (maximum amount of " -"component)." -msgstr "" - -#: ../../library/curses.rst:124 -msgid "" -"Return the attribute value for displaying text in the specified color pair. " -"Only the first 256 color pairs are supported. This attribute value can be " -"combined with :const:`A_STANDOUT`, :const:`A_REVERSE`, and the other " -":const:`!A_\\*` attributes. :func:`pair_number` is the counterpart to this " -"function." -msgstr "" - -#: ../../library/curses.rst:133 -msgid "" -"Set the cursor state. *visibility* can be set to ``0``, ``1``, or ``2``, " -"for invisible, normal, or very visible. If the terminal supports the " -"visibility requested, return the previous cursor state; otherwise raise an " -"exception. On many terminals, the \"visible\" mode is an underline cursor " -"and the \"very visible\" mode is a block cursor." -msgstr "" - -#: ../../library/curses.rst:142 -msgid "" -"Save the current terminal mode as the \"program\" mode, the mode when the " -"running program is using curses. (Its counterpart is the \"shell\" mode, " -"for when the program is not in curses.) Subsequent calls to " -":func:`reset_prog_mode` will restore this mode." -msgstr "" - -#: ../../library/curses.rst:150 -msgid "" -"Save the current terminal mode as the \"shell\" mode, the mode when the " -"running program is not using curses. (Its counterpart is the \"program\" " -"mode, when the program is using curses capabilities.) Subsequent calls to " -":func:`reset_shell_mode` will restore this mode." -msgstr "" - -#: ../../library/curses.rst:158 -msgid "Insert an *ms* millisecond pause in output." -msgstr "" - -#: ../../library/curses.rst:163 -msgid "" -"Update the physical screen. The curses library keeps two data structures, " -"one representing the current physical screen contents and a virtual screen " -"representing the desired next state. The :func:`doupdate` ground updates " -"the physical screen to match the virtual screen." -msgstr "" - -#: ../../library/curses.rst:168 -msgid "" -"The virtual screen may be updated by a :meth:`~window.noutrefresh` call " -"after write operations such as :meth:`~window.addstr` have been performed on" -" a window. The normal :meth:`~window.refresh` call is simply " -":meth:`!noutrefresh` followed by :func:`!doupdate`; if you have to update " -"multiple windows, you can speed performance and perhaps reduce screen " -"flicker by issuing :meth:`!noutrefresh` calls on all windows, followed by a " -"single :func:`!doupdate`." -msgstr "" - -#: ../../library/curses.rst:178 -msgid "" -"Enter echo mode. In echo mode, each character input is echoed to the screen" -" as it is entered." -msgstr "" - -#: ../../library/curses.rst:184 -msgid "De-initialize the library, and return terminal to normal status." -msgstr "" - -#: ../../library/curses.rst:189 -msgid "" -"Return the user's current erase character as a one-byte bytes object. Under" -" Unix operating systems this is a property of the controlling tty of the " -"curses program, and is not set by the curses library itself." -msgstr "" - -#: ../../library/curses.rst:196 -msgid "" -"The :func:`.filter` routine, if used, must be called before :func:`initscr` " -"is called. The effect is that, during those calls, :envvar:`LINES` is set " -"to ``1``; the capabilities ``clear``, ``cup``, ``cud``, ``cud1``, ``cuu1``, " -"``cuu``, ``vpa`` are disabled; and the ``home`` string is set to the value " -"of ``cr``. The effect is that the cursor is confined to the current line, " -"and so are screen updates. This may be used for enabling character-at-a-" -"time line editing without touching the rest of the screen." -msgstr "" - -#: ../../library/curses.rst:206 -msgid "" -"Flash the screen. That is, change it to reverse-video and then change it " -"back in a short interval. Some people prefer such as 'visible bell' to the " -"audible attention signal produced by :func:`beep`." -msgstr "" - -#: ../../library/curses.rst:213 -msgid "" -"Flush all input buffers. This throws away any typeahead that has been " -"typed by the user and has not yet been processed by the program." -msgstr "" - -#: ../../library/curses.rst:219 -msgid "" -"After :meth:`~window.getch` returns :const:`KEY_MOUSE` to signal a mouse " -"event, this method should be called to retrieve the queued mouse event, " -"represented as a 5-tuple ``(id, x, y, z, bstate)``. *id* is an ID value used" -" to distinguish multiple devices, and *x*, *y*, *z* are the event's " -"coordinates. (*z* is currently unused.) *bstate* is an integer value whose" -" bits will be set to indicate the type of event, and will be the bitwise OR " -"of one or more of the following constants, where *n* is the button number " -"from 1 to 5: :const:`BUTTONn_PRESSED`, :const:`BUTTONn_RELEASED`, " -":const:`BUTTONn_CLICKED`, :const:`BUTTONn_DOUBLE_CLICKED`, " -":const:`BUTTONn_TRIPLE_CLICKED`, :const:`BUTTON_SHIFT`, " -":const:`BUTTON_CTRL`, :const:`BUTTON_ALT`." -msgstr "" - -#: ../../library/curses.rst:230 ../../library/curses.rst:1789 -msgid "" -"The ``BUTTON5_*`` constants are now exposed if they are provided by the " -"underlying curses library." -msgstr "" - -#: ../../library/curses.rst:237 -msgid "" -"Return the current coordinates of the virtual screen cursor as a tuple ``(y," -" x)``. If :meth:`leaveok ` is currently ``True``, then " -"return ``(-1, -1)``." -msgstr "" - -#: ../../library/curses.rst:243 -msgid "" -"Read window related data stored in the file by an earlier " -":func:`window.putwin` call. The routine then creates and initializes a new " -"window using that data, returning the new window object." -msgstr "" - -#: ../../library/curses.rst:250 -msgid "" -"Return ``True`` if the terminal can display colors; otherwise, return " -"``False``." -msgstr "" - -#: ../../library/curses.rst:254 -msgid "" -"Return ``True`` if the module supports extended colors; otherwise, return " -"``False``. Extended color support allows more than 256 color pairs for " -"terminals that support more than 16 colors (e.g. xterm-256color)." -msgstr "" - -#: ../../library/curses.rst:258 -msgid "Extended color support requires ncurses version 6.1 or later." -msgstr "" - -#: ../../library/curses.rst:264 -msgid "" -"Return ``True`` if the terminal has insert- and delete-character " -"capabilities. This function is included for historical reasons only, as all " -"modern software terminal emulators have such capabilities." -msgstr "" - -#: ../../library/curses.rst:271 -msgid "" -"Return ``True`` if the terminal has insert- and delete-line capabilities, or" -" can simulate them using scrolling regions. This function is included for " -"historical reasons only, as all modern software terminal emulators have such" -" capabilities." -msgstr "" - -#: ../../library/curses.rst:279 -msgid "" -"Take a key value *ch*, and return ``True`` if the current terminal type " -"recognizes a key with that value." -msgstr "" - -#: ../../library/curses.rst:285 -msgid "" -"Used for half-delay mode, which is similar to cbreak mode in that characters" -" typed by the user are immediately available to the program. However, after " -"blocking for *tenths* tenths of seconds, raise an exception if nothing has " -"been typed. The value of *tenths* must be a number between ``1`` and " -"``255``. Use :func:`nocbreak` to leave half-delay mode." -msgstr "" - -#: ../../library/curses.rst:294 -msgid "" -"Change the definition of a color, taking the number of the color to be " -"changed followed by three RGB values (for the amounts of red, green, and " -"blue components). The value of *color_number* must be between ``0`` and " -"``COLORS - 1``. Each of *r*, *g*, *b*, must be a value between ``0`` and " -"``1000``. When :func:`init_color` is used, all occurrences of that color on" -" the screen immediately change to the new definition. This function is a " -"no-op on most terminals; it is active only if :func:`can_change_color` " -"returns ``True``." -msgstr "" - -#: ../../library/curses.rst:305 -msgid "" -"Change the definition of a color-pair. It takes three arguments: the number" -" of the color-pair to be changed, the foreground color number, and the " -"background color number. The value of *pair_number* must be between ``1`` " -"and ``COLOR_PAIRS - 1`` (the ``0`` color pair can only be changed by " -":func:`use_default_colors` and :func:`assume_default_colors`). The value of " -"*fg* and *bg* arguments must be between ``0`` and ``COLORS - 1``, or, after " -"calling :func:`!use_default_colors` or :func:`!assume_default_colors`, " -"``-1``. If the color-pair was previously initialized, the screen is " -"refreshed and all occurrences of that color-pair are changed to the new " -"definition." -msgstr "" - -#: ../../library/curses.rst:320 -msgid "" -"Initialize the library. Return a :ref:`window ` " -"object which represents the whole screen." -msgstr "" - -#: ../../library/curses.rst:325 -msgid "" -"If there is an error opening the terminal, the underlying curses library may" -" cause the interpreter to exit." -msgstr "" - -#: ../../library/curses.rst:331 -msgid "" -"Return ``True`` if :func:`resize_term` would modify the window structure, " -"``False`` otherwise." -msgstr "" - -#: ../../library/curses.rst:337 -msgid "" -"Return ``True`` if :func:`endwin` has been called (that is, the curses " -"library has been deinitialized)." -msgstr "" - -#: ../../library/curses.rst:343 -msgid "" -"Return the name of the key numbered *k* as a bytes object. The name of a " -"key generating printable ASCII character is the key's character. The name " -"of a control-key combination is a two-byte bytes object consisting of a " -"caret (``b'^'``) followed by the corresponding printable ASCII character. " -"The name of an alt-key combination (128--255) is a bytes object consisting " -"of the prefix ``b'M-'`` followed by the name of the corresponding ASCII " -"character." -msgstr "" - -#: ../../library/curses.rst:353 -msgid "" -"Return the user's current line kill character as a one-byte bytes object. " -"Under Unix operating systems this is a property of the controlling tty of " -"the curses program, and is not set by the curses library itself." -msgstr "" - -#: ../../library/curses.rst:360 -msgid "" -"Return a bytes object containing the terminfo long name field describing the" -" current terminal. The maximum length of a verbose description is 128 " -"characters. It is defined only after the call to :func:`initscr`." -msgstr "" - -#: ../../library/curses.rst:367 -msgid "" -"If *flag* is ``True``, allow 8-bit characters to be input. If *flag* is " -"``False``, allow only 7-bit chars." -msgstr "" - -#: ../../library/curses.rst:373 -msgid "" -"Set the maximum time in milliseconds that can elapse between press and " -"release events in order for them to be recognized as a click, and return the" -" previous interval value. The default value is 200 milliseconds, or one " -"fifth of a second." -msgstr "" - -#: ../../library/curses.rst:380 -msgid "" -"Set the mouse events to be reported, and return a tuple ``(availmask, " -"oldmask)``. *availmask* indicates which of the specified mouse events can " -"be reported; on complete failure it returns ``0``. *oldmask* is the " -"previous value of the given window's mouse event mask. If this function is " -"never called, no mouse events are ever reported." -msgstr "" - -#: ../../library/curses.rst:389 -msgid "Sleep for *ms* milliseconds." -msgstr "" - -#: ../../library/curses.rst:394 -msgid "" -"Create and return a pointer to a new pad data structure with the given " -"number of lines and columns. Return a pad as a window object." -msgstr "" - -#: ../../library/curses.rst:397 -msgid "" -"A pad is like a window, except that it is not restricted by the screen size," -" and is not necessarily associated with a particular part of the screen. " -"Pads can be used when a large window is needed, and only a part of the " -"window will be on the screen at one time. Automatic refreshes of pads (such" -" as from scrolling or echoing of input) do not occur. The " -":meth:`~window.refresh` and :meth:`~window.noutrefresh` methods of a pad " -"require 6 arguments to specify the part of the pad to be displayed and the " -"location on the screen to be used for the display. The arguments are " -"*pminrow*, *pmincol*, *sminrow*, *smincol*, *smaxrow*, *smaxcol*; the *p* " -"arguments refer to the upper left corner of the pad region to be displayed " -"and the *s* arguments define a clipping box on the screen within which the " -"pad region is to be displayed." -msgstr "" - -#: ../../library/curses.rst:413 -msgid "" -"Return a new :ref:`window `, whose left-upper corner " -"is at ``(begin_y, begin_x)``, and whose height/width is *nlines*/*ncols*." -msgstr "" - -#: ../../library/curses.rst:416 -msgid "" -"By default, the window will extend from the specified position to the lower" -" right corner of the screen." -msgstr "" - -#: ../../library/curses.rst:422 -msgid "" -"Enter newline mode. This mode translates the return key into newline on " -"input, and translates newline into return and line-feed on output. Newline " -"mode is initially on." -msgstr "" - -#: ../../library/curses.rst:429 -msgid "Leave cbreak mode. Return to normal \"cooked\" mode with line buffering." -msgstr "" - -#: ../../library/curses.rst:434 -msgid "Leave echo mode. Echoing of input characters is turned off." -msgstr "" - -#: ../../library/curses.rst:439 -msgid "" -"Leave newline mode. Disable translation of return into newline on input, " -"and disable low-level translation of newline into newline/return on output " -"(but this does not change the behavior of ``addch('\\n')``, which always " -"does the equivalent of return and line feed on the virtual screen). With " -"translation off, curses can sometimes speed up vertical motion a little; " -"also, it will be able to detect the return key on input." -msgstr "" - -#: ../../library/curses.rst:449 -msgid "" -"When the :func:`!noqiflush` routine is used, normal flush of input and " -"output queues associated with the ``INTR``, ``QUIT`` and ``SUSP`` characters" -" will not be done. You may want to call :func:`!noqiflush` in a signal " -"handler if you want output to continue as though the interrupt had not " -"occurred, after the handler exits." -msgstr "" - -#: ../../library/curses.rst:457 -msgid "Leave raw mode. Return to normal \"cooked\" mode with line buffering." -msgstr "" - -#: ../../library/curses.rst:462 -msgid "" -"Return a tuple ``(fg, bg)`` containing the colors for the requested color " -"pair. The value of *pair_number* must be between ``0`` and ``COLOR_PAIRS - " -"1``." -msgstr "" - -#: ../../library/curses.rst:468 -msgid "" -"Return the number of the color-pair set by the attribute value *attr*. " -":func:`color_pair` is the counterpart to this function." -msgstr "" - -#: ../../library/curses.rst:474 -msgid "" -"Equivalent to ``tputs(str, 1, putchar)``; emit the value of a specified " -"terminfo capability for the current terminal. Note that the output of " -":func:`putp` always goes to standard output." -msgstr "" - -#: ../../library/curses.rst:481 -msgid "" -"If *flag* is ``False``, the effect is the same as calling :func:`noqiflush`." -" If *flag* is ``True``, or no argument is provided, the queues will be " -"flushed when these control characters are read." -msgstr "" - -#: ../../library/curses.rst:488 -msgid "" -"Enter raw mode. In raw mode, normal line buffering and processing of " -"interrupt, quit, suspend, and flow control keys are turned off; characters " -"are presented to curses input functions one by one." -msgstr "" - -#: ../../library/curses.rst:495 -msgid "" -"Restore the terminal to \"program\" mode, as previously saved by " -":func:`def_prog_mode`." -msgstr "" - -#: ../../library/curses.rst:501 -msgid "" -"Restore the terminal to \"shell\" mode, as previously saved by " -":func:`def_shell_mode`." -msgstr "" - -#: ../../library/curses.rst:507 -msgid "" -"Restore the state of the terminal modes to what it was at the last call to " -":func:`savetty`." -msgstr "" - -#: ../../library/curses.rst:513 -msgid "" -"Backend function used by :func:`resizeterm`, performing most of the work; " -"when resizing the windows, :func:`resize_term` blank-fills the areas that " -"are extended. The calling application should fill in these areas with " -"appropriate data. The :func:`!resize_term` function attempts to resize all " -"windows. However, due to the calling convention of pads, it is not possible" -" to resize these without additional interaction with the application." -msgstr "" - -#: ../../library/curses.rst:523 -msgid "" -"Resize the standard and current windows to the specified dimensions, and " -"adjusts other bookkeeping data used by the curses library that record the " -"window dimensions (in particular the SIGWINCH handler)." -msgstr "" - -#: ../../library/curses.rst:530 -msgid "" -"Save the current state of the terminal modes in a buffer, usable by " -":func:`resetty`." -msgstr "" - -#: ../../library/curses.rst:535 -msgid "Retrieves the value set by :func:`set_escdelay`." -msgstr "" - -#: ../../library/curses.rst:541 -msgid "" -"Sets the number of milliseconds to wait after reading an escape character, " -"to distinguish between an individual escape character entered on the " -"keyboard from escape sequences sent by cursor and function keys." -msgstr "" - -#: ../../library/curses.rst:549 -msgid "Retrieves the value set by :func:`set_tabsize`." -msgstr "" - -#: ../../library/curses.rst:555 -msgid "" -"Sets the number of columns used by the curses library when converting a tab " -"character to spaces as it adds the tab to a window." -msgstr "" - -#: ../../library/curses.rst:562 -msgid "" -"Set the virtual screen cursor to *y*, *x*. If *y* and *x* are both ``-1``, " -"then :meth:`leaveok ` is set ``True``." -msgstr "" - -#: ../../library/curses.rst:568 -msgid "" -"Initialize the terminal. *term* is a string giving the terminal name, or " -"``None``; if omitted or ``None``, the value of the :envvar:`TERM` " -"environment variable will be used. *fd* is the file descriptor to which any" -" initialization sequences will be sent; if not supplied or ``-1``, the file " -"descriptor for ``sys.stdout`` will be used." -msgstr "" - -#: ../../library/curses.rst:577 -msgid "" -"Must be called if the programmer wants to use colors, and before any other " -"color manipulation routine is called. It is good practice to call this " -"routine right after :func:`initscr`." -msgstr "" - -#: ../../library/curses.rst:581 -msgid "" -":func:`start_color` initializes eight basic colors (black, red, green, " -"yellow, blue, magenta, cyan, and white), and two global variables in the " -":mod:`curses` module, :const:`COLORS` and :const:`COLOR_PAIRS`, containing " -"the maximum number of colors and color-pairs the terminal can support. It " -"also restores the colors on the terminal to the values they had when the " -"terminal was just turned on." -msgstr "" - -#: ../../library/curses.rst:590 -msgid "" -"Return a logical OR of all video attributes supported by the terminal. This" -" information is useful when a curses program needs complete control over the" -" appearance of the screen." -msgstr "" - -#: ../../library/curses.rst:597 -msgid "" -"Return the value of the environment variable :envvar:`TERM`, as a bytes " -"object, truncated to 14 characters." -msgstr "" - -#: ../../library/curses.rst:603 -msgid "" -"Return the value of the Boolean capability corresponding to the terminfo " -"capability name *capname* as an integer. Return the value ``-1`` if " -"*capname* is not a Boolean capability, or ``0`` if it is canceled or absent " -"from the terminal description." -msgstr "" - -#: ../../library/curses.rst:611 -msgid "" -"Return the value of the numeric capability corresponding to the terminfo " -"capability name *capname* as an integer. Return the value ``-2`` if " -"*capname* is not a numeric capability, or ``-1`` if it is canceled or absent" -" from the terminal description." -msgstr "" - -#: ../../library/curses.rst:619 -msgid "" -"Return the value of the string capability corresponding to the terminfo " -"capability name *capname* as a bytes object. Return ``None`` if *capname* " -"is not a terminfo \"string capability\", or is canceled or absent from the " -"terminal description." -msgstr "" - -#: ../../library/curses.rst:627 -msgid "" -"Instantiate the bytes object *str* with the supplied parameters, where *str*" -" should be a parameterized string obtained from the terminfo database. E.g." -" ``tparm(tigetstr(\"cup\"), 5, 3)`` could result in ``b'\\033[6;4H'``, the " -"exact result depending on terminal type." -msgstr "" - -#: ../../library/curses.rst:635 -msgid "" -"Specify that the file descriptor *fd* be used for typeahead checking. If " -"*fd* is ``-1``, then no typeahead checking is done." -msgstr "" - -#: ../../library/curses.rst:638 -msgid "" -"The curses library does \"line-breakout optimization\" by looking for " -"typeahead periodically while updating the screen. If input is found, and it" -" is coming from a tty, the current update is postponed until refresh or " -"doupdate is called again, allowing faster response to commands typed in " -"advance. This function allows specifying a different file descriptor for " -"typeahead checking." -msgstr "" - -#: ../../library/curses.rst:647 -msgid "" -"Return a bytes object which is a printable representation of the character " -"*ch*. Control characters are represented as a caret followed by the " -"character, for example as ``b'^C'``. Printing characters are left as they " -"are." -msgstr "" - -#: ../../library/curses.rst:654 -msgid "Push *ch* so the next :meth:`~window.getch` will return it." -msgstr "" - -#: ../../library/curses.rst:658 -msgid "Only one *ch* can be pushed before :meth:`!getch` is called." -msgstr "" - -#: ../../library/curses.rst:663 -msgid "" -"Update the :const:`LINES` and :const:`COLS` module variables. Useful for " -"detecting manual screen resize." -msgstr "" - -#: ../../library/curses.rst:671 -msgid "Push *ch* so the next :meth:`~window.get_wch` will return it." -msgstr "" - -#: ../../library/curses.rst:675 -msgid "Only one *ch* can be pushed before :meth:`!get_wch` is called." -msgstr "" - -#: ../../library/curses.rst:682 -msgid "" -"Push a :const:`KEY_MOUSE` event onto the input queue, associating the given " -"state data with it." -msgstr "" - -#: ../../library/curses.rst:688 -msgid "" -"If used, this function should be called before :func:`initscr` or newterm " -"are called. When *flag* is ``False``, the values of lines and columns " -"specified in the terminfo database will be used, even if environment " -"variables :envvar:`LINES` and :envvar:`COLUMNS` (used by default) are set, " -"or if curses is running in a window (in which case default behavior would be" -" to use the window size if :envvar:`LINES` and :envvar:`COLUMNS` are not " -"set)." -msgstr "" - -#: ../../library/curses.rst:698 -msgid "Equivalent to ``assume_default_colors(-1, -1)``." -msgstr "" - -#: ../../library/curses.rst:703 -msgid "" -"Initialize curses and call another callable object, *func*, which should be " -"the rest of your curses-using application. If the application raises an " -"exception, this function will restore the terminal to a sane state before " -"re-raising the exception and generating a traceback. The callable object " -"*func* is then passed the main window 'stdscr' as its first argument, " -"followed by any other arguments passed to :func:`!wrapper`. Before calling " -"*func*, :func:`!wrapper` turns on cbreak mode, turns off echo, enables the " -"terminal keypad, and initializes colors if the terminal has color support. " -"On exit (whether normally or by exception) it restores cooked mode, turns on" -" echo, and disables the terminal keypad." -msgstr "" - -#: ../../library/curses.rst:717 -msgid "Window Objects" -msgstr "Objek Window" - -#: ../../library/curses.rst:719 -msgid "" -"Window objects, as returned by :func:`initscr` and :func:`newwin` above, " -"have the following methods and attributes:" -msgstr "" - -#: ../../library/curses.rst:726 -msgid "" -"Paint character *ch* at ``(y, x)`` with attributes *attr*, overwriting any " -"character previously painted at that location. By default, the character " -"position and attributes are the current settings for the window object." -msgstr "" - -#: ../../library/curses.rst:732 -msgid "" -"Writing outside the window, subwindow, or pad raises a :exc:`curses.error`. " -"Attempting to write to the lower right corner of a window, subwindow, or pad" -" will cause an exception to be raised after the character is printed." -msgstr "" - -#: ../../library/curses.rst:740 -msgid "" -"Paint at most *n* characters of the character string *str* at ``(y, x)`` " -"with attributes *attr*, overwriting anything previously on the display." -msgstr "" - -#: ../../library/curses.rst:748 -msgid "" -"Paint the character string *str* at ``(y, x)`` with attributes *attr*, " -"overwriting anything previously on the display." -msgstr "" - -#: ../../library/curses.rst:753 -msgid "" -"Writing outside the window, subwindow, or pad raises :exc:`curses.error`. " -"Attempting to write to the lower right corner of a window, subwindow, or pad" -" will cause an exception to be raised after the string is printed." -msgstr "" - -#: ../../library/curses.rst:757 -msgid "" -"A `bug in ncurses `_, the backend for " -"this Python module, can cause SegFaults when resizing windows. This is fixed" -" in ncurses-6.1-20190511. If you are stuck with an earlier ncurses, you can" -" avoid triggering this if you do not call :func:`addstr` with a *str* that " -"has embedded newlines. Instead, call :func:`addstr` separately for each " -"line." -msgstr "" - -#: ../../library/curses.rst:767 -msgid "" -"Remove attribute *attr* from the \"background\" set applied to all writes to" -" the current window." -msgstr "" - -#: ../../library/curses.rst:773 -msgid "" -"Add attribute *attr* from the \"background\" set applied to all writes to " -"the current window." -msgstr "" - -#: ../../library/curses.rst:779 -msgid "" -"Set the \"background\" set of attributes to *attr*. This set is initially " -"``0`` (no attributes)." -msgstr "" - -#: ../../library/curses.rst:785 -msgid "" -"Set the background property of the window to the character *ch*, with " -"attributes *attr*. The change is then applied to every character position " -"in that window:" -msgstr "" - -#: ../../library/curses.rst:789 -msgid "" -"The attribute of every character in the window is changed to the new " -"background attribute." -msgstr "" - -#: ../../library/curses.rst:792 -msgid "" -"Wherever the former background character appears, it is changed to the new" -" background character." -msgstr "" - -#: ../../library/curses.rst:798 -msgid "" -"Set the window's background. A window's background consists of a character " -"and any combination of attributes. The attribute part of the background is " -"combined (OR'ed) with all non-blank characters that are written into the " -"window. Both the character and attribute parts of the background are " -"combined with the blank characters. The background becomes a property of " -"the character and moves with the character through any scrolling and " -"insert/delete line/character operations." -msgstr "" - -#: ../../library/curses.rst:808 -msgid "" -"Draw a border around the edges of the window. Each parameter specifies the " -"character to use for a specific part of the border; see the table below for " -"more details." -msgstr "" - -#: ../../library/curses.rst:814 -msgid "" -"A ``0`` value for any parameter will cause the default character to be used " -"for that parameter. Keyword parameters can *not* be used. The defaults are" -" listed in this table:" -msgstr "" - -#: ../../library/curses.rst:819 -msgid "Parameter" -msgstr "Parameter" - -#: ../../library/curses.rst:819 -msgid "Description" -msgstr "Deskripsi" - -#: ../../library/curses.rst:819 -msgid "Default value" -msgstr "Nilai bawaan" - -#: ../../library/curses.rst:821 -msgid "*ls*" -msgstr "*ls*" - -#: ../../library/curses.rst:821 -msgid "Left side" -msgstr "Sisi kiri, *left side*" - -#: ../../library/curses.rst:821 ../../library/curses.rst:823 -msgid ":const:`ACS_VLINE`" -msgstr ":const:`ACS_VLINE`" - -#: ../../library/curses.rst:823 -msgid "*rs*" -msgstr "*rs*" - -#: ../../library/curses.rst:823 -msgid "Right side" -msgstr "Sisi kanan, *right side*" - -#: ../../library/curses.rst:825 -msgid "*ts*" -msgstr "*ts*" - -#: ../../library/curses.rst:825 -msgid "Top" -msgstr "Atas, *top*" - -#: ../../library/curses.rst:825 ../../library/curses.rst:827 -msgid ":const:`ACS_HLINE`" -msgstr ":const:`ACS_HLINE`" - -#: ../../library/curses.rst:827 -msgid "*bs*" -msgstr "*bs*" - -#: ../../library/curses.rst:827 -msgid "Bottom" -msgstr "Bawah, *bottom*" - -#: ../../library/curses.rst:829 -msgid "*tl*" -msgstr "*tl*" - -#: ../../library/curses.rst:829 -msgid "Upper-left corner" -msgstr "Pojok kiri atas, *upper-left corner*" - -#: ../../library/curses.rst:829 -msgid ":const:`ACS_ULCORNER`" -msgstr ":const:`ACS_ULCORNER`" - -#: ../../library/curses.rst:831 -msgid "*tr*" -msgstr "*tr*" - -#: ../../library/curses.rst:831 -msgid "Upper-right corner" -msgstr "Pojok kanan atas, *upper-right corner*" - -#: ../../library/curses.rst:831 -msgid ":const:`ACS_URCORNER`" -msgstr ":const:`ACS_URCORNER`" - -#: ../../library/curses.rst:833 -msgid "*bl*" -msgstr "*bl*" - -#: ../../library/curses.rst:833 -msgid "Bottom-left corner" -msgstr "Pojok bawah kiri, *bottom-left corner*" - -#: ../../library/curses.rst:833 -msgid ":const:`ACS_LLCORNER`" -msgstr ":const:`ACS_LLCORNER`" - -#: ../../library/curses.rst:835 -msgid "*br*" -msgstr "*br*" - -#: ../../library/curses.rst:835 -msgid "Bottom-right corner" -msgstr "Pojok bawah kanan, *bottom-right corner*" - -#: ../../library/curses.rst:835 -msgid ":const:`ACS_LRCORNER`" -msgstr ":const:`ACS_LRCORNER`" - -#: ../../library/curses.rst:841 -msgid "" -"Similar to :meth:`border`, but both *ls* and *rs* are *vertch* and both *ts*" -" and *bs* are *horch*. The default corner characters are always used by " -"this function." -msgstr "" - -#: ../../library/curses.rst:850 -msgid "" -"Set the attributes of *num* characters at the current cursor position, or at" -" position ``(y, x)`` if supplied. If *num* is not given or is ``-1``, the " -"attribute will be set on all the characters to the end of the line. This " -"function moves cursor to position ``(y, x)`` if supplied. The changed line " -"will be touched using the :meth:`touchline` method so that the contents will" -" be redisplayed by the next window refresh." -msgstr "" - -#: ../../library/curses.rst:860 -msgid "" -"Like :meth:`erase`, but also cause the whole window to be repainted upon " -"next call to :meth:`refresh`." -msgstr "" - -#: ../../library/curses.rst:866 -msgid "" -"If *flag* is ``True``, the next call to :meth:`refresh` will clear the " -"window completely." -msgstr "" - -#: ../../library/curses.rst:872 -msgid "" -"Erase from cursor to the end of the window: all lines below the cursor are " -"deleted, and then the equivalent of :meth:`clrtoeol` is performed." -msgstr "" - -#: ../../library/curses.rst:878 -msgid "Erase from cursor to the end of the line." -msgstr "" - -#: ../../library/curses.rst:883 -msgid "" -"Update the current cursor position of all the ancestors of the window to " -"reflect the current cursor position of the window." -msgstr "" - -#: ../../library/curses.rst:889 -msgid "Delete any character at ``(y, x)``." -msgstr "" - -#: ../../library/curses.rst:894 -msgid "" -"Delete the line under the cursor. All following lines are moved up by one " -"line." -msgstr "" - -#: ../../library/curses.rst:900 -msgid "" -"An abbreviation for \"derive window\", :meth:`derwin` is the same as calling" -" :meth:`subwin`, except that *begin_y* and *begin_x* are relative to the " -"origin of the window, rather than relative to the entire screen. Return a " -"window object for the derived window." -msgstr "" - -#: ../../library/curses.rst:908 -msgid "" -"Add character *ch* with attribute *attr*, and immediately call " -":meth:`refresh` on the window." -msgstr "" - -#: ../../library/curses.rst:914 -msgid "" -"Test whether the given pair of screen-relative character-cell coordinates " -"are enclosed by the given window, returning ``True`` or ``False``. It is " -"useful for determining what subset of the screen windows enclose the " -"location of a mouse event." -msgstr "" - -#: ../../library/curses.rst:919 -msgid "" -"Previously it returned ``1`` or ``0`` instead of ``True`` or ``False``." -msgstr "" - -#: ../../library/curses.rst:925 -msgid "" -"Encoding used to encode method arguments (Unicode strings and characters). " -"The encoding attribute is inherited from the parent window when a subwindow " -"is created, for example with :meth:`window.subwin`. By default, current " -"locale encoding is used (see :func:`locale.getencoding`)." -msgstr "" - -#: ../../library/curses.rst:935 -msgid "Clear the window." -msgstr "" - -#: ../../library/curses.rst:940 -msgid "Return a tuple ``(y, x)`` of coordinates of upper-left corner." -msgstr "" - -#: ../../library/curses.rst:945 -msgid "Return the given window's current background character/attribute pair." -msgstr "" - -#: ../../library/curses.rst:950 -msgid "" -"Get a character. Note that the integer returned does *not* have to be in " -"ASCII range: function keys, keypad keys and so on are represented by numbers" -" higher than 255. In no-delay mode, return ``-1`` if there is no input, " -"otherwise wait until a key is pressed." -msgstr "" - -#: ../../library/curses.rst:958 -msgid "" -"Get a wide character. Return a character for most keys, or an integer for " -"function keys, keypad keys, and other special keys. In no-delay mode, raise " -"an exception if there is no input." -msgstr "" - -#: ../../library/curses.rst:967 -msgid "" -"Get a character, returning a string instead of an integer, as :meth:`getch` " -"does. Function keys, keypad keys and other special keys return a multibyte " -"string containing the key name. In no-delay mode, raise an exception if " -"there is no input." -msgstr "" - -#: ../../library/curses.rst:975 -msgid "Return a tuple ``(y, x)`` of the height and width of the window." -msgstr "" - -#: ../../library/curses.rst:980 -msgid "" -"Return the beginning coordinates of this window relative to its parent " -"window as a tuple ``(y, x)``. Return ``(-1, -1)`` if this window has no " -"parent." -msgstr "" - -#: ../../library/curses.rst:990 -msgid "" -"Read a bytes object from the user, with primitive line editing capacity." -msgstr "" - -#: ../../library/curses.rst:995 -msgid "" -"Return a tuple ``(y, x)`` of current cursor position relative to the " -"window's upper-left corner." -msgstr "" - -#: ../../library/curses.rst:1002 -msgid "" -"Display a horizontal line starting at ``(y, x)`` with length *n* consisting " -"of the character *ch*." -msgstr "" - -#: ../../library/curses.rst:1008 -msgid "" -"If *flag* is ``False``, curses no longer considers using the hardware " -"insert/delete character feature of the terminal; if *flag* is ``True``, use " -"of character insertion and deletion is enabled. When curses is first " -"initialized, use of character insert/delete is enabled by default." -msgstr "" - -#: ../../library/curses.rst:1016 -msgid "" -"If *flag* is ``True``, :mod:`curses` will try and use hardware line editing " -"facilities. Otherwise, line insertion/deletion are disabled." -msgstr "" - -#: ../../library/curses.rst:1022 -msgid "" -"If *flag* is ``True``, any change in the window image automatically causes " -"the window to be refreshed; you no longer have to call :meth:`refresh` " -"yourself. However, it may degrade performance considerably, due to repeated " -"calls to wrefresh. This option is disabled by default." -msgstr "" - -#: ../../library/curses.rst:1030 -msgid "" -"Return the character at the given position in the window. The bottom 8 bits " -"are the character proper, and upper bits are the attributes." -msgstr "" - -#: ../../library/curses.rst:1037 -msgid "" -"Paint character *ch* at ``(y, x)`` with attributes *attr*, moving the line " -"from position *x* right by one character." -msgstr "" - -#: ../../library/curses.rst:1043 -msgid "" -"Insert *nlines* lines into the specified window above the current line. The" -" *nlines* bottom lines are lost. For negative *nlines*, delete *nlines* " -"lines starting with the one under the cursor, and move the remaining lines " -"up. The bottom *nlines* lines are cleared. The current cursor position " -"remains the same." -msgstr "" - -#: ../../library/curses.rst:1052 -msgid "" -"Insert a blank line under the cursor. All following lines are moved down by " -"one line." -msgstr "" - -#: ../../library/curses.rst:1059 -msgid "" -"Insert a character string (as many characters as will fit on the line) " -"before the character under the cursor, up to *n* characters. If *n* is " -"zero or negative, the entire string is inserted. All characters to the right" -" of the cursor are shifted right, with the rightmost characters on the line " -"being lost. The cursor position does not change (after moving to *y*, *x*, " -"if specified)." -msgstr "" - -#: ../../library/curses.rst:1069 -msgid "" -"Insert a character string (as many characters as will fit on the line) " -"before the character under the cursor. All characters to the right of the " -"cursor are shifted right, with the rightmost characters on the line being " -"lost. The cursor position does not change (after moving to *y*, *x*, if " -"specified)." -msgstr "" - -#: ../../library/curses.rst:1078 -msgid "" -"Return a bytes object of characters, extracted from the window starting at " -"the current cursor position, or at *y*, *x* if specified. Attributes are " -"stripped from the characters. If *n* is specified, :meth:`instr` returns a " -"string at most *n* characters long (exclusive of the trailing NUL)." -msgstr "" - -#: ../../library/curses.rst:1086 -msgid "" -"Return ``True`` if the specified line was modified since the last call to " -":meth:`refresh`; otherwise return ``False``. Raise a :exc:`curses.error` " -"exception if *line* is not valid for the given window." -msgstr "" - -#: ../../library/curses.rst:1093 -msgid "" -"Return ``True`` if the specified window was modified since the last call to " -":meth:`refresh`; otherwise return ``False``." -msgstr "" - -#: ../../library/curses.rst:1099 -msgid "" -"If *flag* is ``True``, escape sequences generated by some keys (keypad, " -"function keys) will be interpreted by :mod:`curses`. If *flag* is ``False``," -" escape sequences will be left as is in the input stream." -msgstr "" - -#: ../../library/curses.rst:1106 -msgid "" -"If *flag* is ``True``, cursor is left where it is on update, instead of " -"being at \"cursor position.\" This reduces cursor movement where possible. " -"If possible the cursor will be made invisible." -msgstr "" - -#: ../../library/curses.rst:1110 -msgid "" -"If *flag* is ``False``, cursor will always be at \"cursor position\" after " -"an update." -msgstr "" - -#: ../../library/curses.rst:1115 -msgid "Move cursor to ``(new_y, new_x)``." -msgstr "" - -#: ../../library/curses.rst:1120 -msgid "" -"Move the window inside its parent window. The screen-relative parameters of" -" the window are not changed. This routine is used to display different " -"parts of the parent window at the same physical position on the screen." -msgstr "" - -#: ../../library/curses.rst:1127 -msgid "Move the window so its upper-left corner is at ``(new_y, new_x)``." -msgstr "" - -#: ../../library/curses.rst:1132 -msgid "If *flag* is ``True``, :meth:`getch` will be non-blocking." -msgstr "" - -#: ../../library/curses.rst:1137 -msgid "If *flag* is ``True``, escape sequences will not be timed out." -msgstr "" - -#: ../../library/curses.rst:1139 -msgid "" -"If *flag* is ``False``, after a few milliseconds, an escape sequence will " -"not be interpreted, and will be left in the input stream as is." -msgstr "" - -#: ../../library/curses.rst:1145 -msgid "" -"Mark for refresh but wait. This function updates the data structure " -"representing the desired state of the window, but does not force an update " -"of the physical screen. To accomplish that, call :func:`doupdate`." -msgstr "" - -#: ../../library/curses.rst:1152 -msgid "" -"Overlay the window on top of *destwin*. The windows need not be the same " -"size, only the overlapping region is copied. This copy is non-destructive, " -"which means that the current background character does not overwrite the old" -" contents of *destwin*." -msgstr "" - -#: ../../library/curses.rst:1157 -msgid "" -"To get fine-grained control over the copied region, the second form of " -":meth:`overlay` can be used. *sminrow* and *smincol* are the upper-left " -"coordinates of the source window, and the other variables mark a rectangle " -"in the destination window." -msgstr "" - -#: ../../library/curses.rst:1165 -msgid "" -"Overwrite the window on top of *destwin*. The windows need not be the same " -"size, in which case only the overlapping region is copied. This copy is " -"destructive, which means that the current background character overwrites " -"the old contents of *destwin*." -msgstr "" - -#: ../../library/curses.rst:1170 -msgid "" -"To get fine-grained control over the copied region, the second form of " -":meth:`overwrite` can be used. *sminrow* and *smincol* are the upper-left " -"coordinates of the source window, the other variables mark a rectangle in " -"the destination window." -msgstr "" - -#: ../../library/curses.rst:1178 -msgid "" -"Write all data associated with the window into the provided file object. " -"This information can be later retrieved using the :func:`getwin` function." -msgstr "" - -#: ../../library/curses.rst:1184 -msgid "" -"Indicate that the *num* screen lines, starting at line *beg*, are corrupted " -"and should be completely redrawn on the next :meth:`refresh` call." -msgstr "" - -#: ../../library/curses.rst:1190 -msgid "" -"Touch the entire window, causing it to be completely redrawn on the next " -":meth:`refresh` call." -msgstr "" - -#: ../../library/curses.rst:1196 -msgid "" -"Update the display immediately (sync actual screen with previous " -"drawing/deleting methods)." -msgstr "" - -#: ../../library/curses.rst:1199 -msgid "" -"The 6 optional arguments can only be specified when the window is a pad " -"created with :func:`newpad`. The additional parameters are needed to " -"indicate what part of the pad and screen are involved. *pminrow* and " -"*pmincol* specify the upper left-hand corner of the rectangle to be " -"displayed in the pad. *sminrow*, *smincol*, *smaxrow*, and *smaxcol* " -"specify the edges of the rectangle to be displayed on the screen. The lower" -" right-hand corner of the rectangle to be displayed in the pad is calculated" -" from the screen coordinates, since the rectangles must be the same size. " -"Both rectangles must be entirely contained within their respective " -"structures. Negative values of *pminrow*, *pmincol*, *sminrow*, or " -"*smincol* are treated as if they were zero." -msgstr "" - -#: ../../library/curses.rst:1213 -msgid "" -"Reallocate storage for a curses window to adjust its dimensions to the " -"specified values. If either dimension is larger than the current values, " -"the window's data is filled with blanks that have the current background " -"rendition (as set by :meth:`bkgdset`) merged into them." -msgstr "" - -#: ../../library/curses.rst:1221 -msgid "Scroll the screen or scrolling region upward by *lines* lines." -msgstr "" - -#: ../../library/curses.rst:1226 -msgid "" -"Control what happens when the cursor of a window is moved off the edge of " -"the window or scrolling region, either as a result of a newline action on " -"the bottom line, or typing the last character of the last line. If *flag* " -"is ``False``, the cursor is left on the bottom line. If *flag* is ``True``," -" the window is scrolled up one line. Note that in order to get the physical" -" scrolling effect on the terminal, it is also necessary to call " -":meth:`idlok`." -msgstr "" - -#: ../../library/curses.rst:1236 -msgid "" -"Set the scrolling region from line *top* to line *bottom*. All scrolling " -"actions will take place in this region." -msgstr "" - -#: ../../library/curses.rst:1242 -msgid "" -"Turn off the standout attribute. On some terminals this has the side effect" -" of turning off all attributes." -msgstr "" - -#: ../../library/curses.rst:1248 -msgid "Turn on attribute *A_STANDOUT*." -msgstr "" - -#: ../../library/curses.rst:1254 ../../library/curses.rst:1261 -msgid "" -"Return a sub-window, whose upper-left corner is at ``(begin_y, begin_x)``, " -"and whose width/height is *ncols*/*nlines*." -msgstr "" - -#: ../../library/curses.rst:1264 -msgid "" -"By default, the sub-window will extend from the specified position to the " -"lower right corner of the window." -msgstr "" - -#: ../../library/curses.rst:1270 -msgid "" -"Touch each location in the window that has been touched in any of its " -"ancestor windows. This routine is called by :meth:`refresh`, so it should " -"almost never be necessary to call it manually." -msgstr "" - -#: ../../library/curses.rst:1277 -msgid "" -"If *flag* is ``True``, then :meth:`syncup` is called automatically whenever " -"there is a change in the window." -msgstr "" - -#: ../../library/curses.rst:1283 -msgid "" -"Touch all locations in ancestors of the window that have been changed in " -"the window." -msgstr "" - -#: ../../library/curses.rst:1289 -msgid "" -"Set blocking or non-blocking read behavior for the window. If *delay* is " -"negative, blocking read is used (which will wait indefinitely for input). " -"If *delay* is zero, then non-blocking read is used, and :meth:`getch` will " -"return ``-1`` if no input is waiting. If *delay* is positive, then " -":meth:`getch` will block for *delay* milliseconds, and return ``-1`` if " -"there is still no input at the end of that time." -msgstr "" - -#: ../../library/curses.rst:1299 -msgid "" -"Pretend *count* lines have been changed, starting with line *start*. If " -"*changed* is supplied, it specifies whether the affected lines are marked as" -" having been changed (*changed*\\ ``=True``) or unchanged (*changed*\\ " -"``=False``)." -msgstr "" - -#: ../../library/curses.rst:1306 -msgid "" -"Pretend the whole window has been changed, for purposes of drawing " -"optimizations." -msgstr "" - -#: ../../library/curses.rst:1312 -msgid "" -"Mark all lines in the window as unchanged since the last call to " -":meth:`refresh`." -msgstr "" - -#: ../../library/curses.rst:1319 -msgid "" -"Display a vertical line starting at ``(y, x)`` with length *n* consisting of" -" the character *ch* with attributes *attr*." -msgstr "" - -#: ../../library/curses.rst:1324 -msgid "Constants" -msgstr "Konstanta" - -#: ../../library/curses.rst:1326 -msgid "The :mod:`curses` module defines the following data members:" -msgstr "" - -#: ../../library/curses.rst:1331 -msgid "" -"Some curses routines that return an integer, such as " -":meth:`~window.getch`, return :const:`ERR` upon failure." -msgstr "" - -#: ../../library/curses.rst:1337 -msgid "" -"Some curses routines that return an integer, such as :func:`napms`, " -"return :const:`OK` upon success." -msgstr "" - -#: ../../library/curses.rst:1344 -msgid "A bytes object representing the current version of the module." -msgstr "" - -#: ../../library/curses.rst:1349 -msgid "" -"A named tuple containing the three components of the ncurses library " -"version: *major*, *minor*, and *patch*. All values are integers. The " -"components can also be accessed by name, so ``curses.ncurses_version[0]`` " -"is equivalent to ``curses.ncurses_version.major`` and so on." -msgstr "" - -#: ../../library/curses.rst:1354 -msgid "Availability: if the ncurses library is used." -msgstr "" - -#: ../../library/curses.rst:1360 -msgid "" -"The maximum number of colors the terminal can support. It is defined only " -"after the call to :func:`start_color`." -msgstr "" - -#: ../../library/curses.rst:1365 -msgid "" -"The maximum number of color pairs the terminal can support. It is defined " -"only after the call to :func:`start_color`." -msgstr "" - -#: ../../library/curses.rst:1370 -msgid "" -"The width of the screen, i.e., the number of columns. It is defined only " -"after the call to :func:`initscr`. Updated by :func:`update_lines_cols`, " -":func:`resizeterm` and :func:`resize_term`." -msgstr "" - -#: ../../library/curses.rst:1377 -msgid "" -"The height of the screen, i.e., the number of lines. It is defined only " -"after the call to :func:`initscr`. Updated by :func:`update_lines_cols`, " -":func:`resizeterm` and :func:`resize_term`." -msgstr "" - -#: ../../library/curses.rst:1383 -msgid "" -"Some constants are available to specify character cell attributes. The exact" -" constants available are system dependent." -msgstr "" - -#: ../../library/curses.rst:1387 -msgid "Attribute" -msgstr "Atribut" - -#: ../../library/curses.rst:1387 ../../library/curses.rst:1432 -#: ../../library/curses.rst:1678 ../../library/curses.rst:1770 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/curses.rst:1389 -msgid "Alternate character set mode" -msgstr "" - -#: ../../library/curses.rst:1391 -msgid "Blink mode" -msgstr "" - -#: ../../library/curses.rst:1393 -msgid "Bold mode" -msgstr "" - -#: ../../library/curses.rst:1395 -msgid "Dim mode" -msgstr "" - -#: ../../library/curses.rst:1397 -msgid "Invisible or blank mode" -msgstr "" - -#: ../../library/curses.rst:1399 -msgid "Italic mode" -msgstr "" - -#: ../../library/curses.rst:1401 -msgid "Normal attribute" -msgstr "" - -#: ../../library/curses.rst:1403 -msgid "Protected mode" -msgstr "" - -#: ../../library/curses.rst:1405 -msgid "Reverse background and foreground colors" -msgstr "" - -#: ../../library/curses.rst:1408 -msgid "Standout mode" -msgstr "" - -#: ../../library/curses.rst:1410 -msgid "Underline mode" -msgstr "" - -#: ../../library/curses.rst:1412 -msgid "Horizontal highlight" -msgstr "" - -#: ../../library/curses.rst:1414 -msgid "Left highlight" -msgstr "" - -#: ../../library/curses.rst:1416 -msgid "Low highlight" -msgstr "" - -#: ../../library/curses.rst:1418 -msgid "Right highlight" -msgstr "" - -#: ../../library/curses.rst:1420 -msgid "Top highlight" -msgstr "" - -#: ../../library/curses.rst:1422 -msgid "Vertical highlight" -msgstr "" - -#: ../../library/curses.rst:1425 -msgid "``A_ITALIC`` was added." -msgstr "" - -#: ../../library/curses.rst:1428 -msgid "" -"Several constants are available to extract corresponding attributes returned" -" by some methods." -msgstr "" - -#: ../../library/curses.rst:1432 -msgid "Bit-mask" -msgstr "" - -#: ../../library/curses.rst:1434 -msgid "Bit-mask to extract attributes" -msgstr "" - -#: ../../library/curses.rst:1437 -msgid "Bit-mask to extract a character" -msgstr "" - -#: ../../library/curses.rst:1440 -msgid "Bit-mask to extract color-pair field information" -msgstr "" - -#: ../../library/curses.rst:1444 -msgid "" -"Keys are referred to by integer constants with names starting with " -"``KEY_``. The exact keycaps available are system dependent." -msgstr "" - -#: ../../library/curses.rst:1450 -msgid "Key constant" -msgstr "Konstanta *Key*" - -#: ../../library/curses.rst:1450 -msgid "Key" -msgstr "*Key*" - -#: ../../library/curses.rst:1452 -msgid "Minimum key value" -msgstr "" - -#: ../../library/curses.rst:1454 -msgid "Break key (unreliable)" -msgstr "" - -#: ../../library/curses.rst:1456 -msgid "Down-arrow" -msgstr "" - -#: ../../library/curses.rst:1458 -msgid "Up-arrow" -msgstr "" - -#: ../../library/curses.rst:1460 -msgid "Left-arrow" -msgstr "" - -#: ../../library/curses.rst:1462 -msgid "Right-arrow" -msgstr "" - -#: ../../library/curses.rst:1464 -msgid "Home key (upward+left arrow)" -msgstr "" - -#: ../../library/curses.rst:1466 -msgid "Backspace (unreliable)" -msgstr "" - -#: ../../library/curses.rst:1468 -msgid "Function keys. Up to 64 function keys are supported." -msgstr "" - -#: ../../library/curses.rst:1471 -msgid "Value of function key *n*" -msgstr "" - -#: ../../library/curses.rst:1473 -msgid "Delete line" -msgstr "" - -#: ../../library/curses.rst:1475 -msgid "Insert line" -msgstr "" - -#: ../../library/curses.rst:1477 -msgid "Delete character" -msgstr "" - -#: ../../library/curses.rst:1479 -msgid "Insert char or enter insert mode" -msgstr "" - -#: ../../library/curses.rst:1481 -msgid "Exit insert char mode" -msgstr "" - -#: ../../library/curses.rst:1483 -msgid "Clear screen" -msgstr "" - -#: ../../library/curses.rst:1485 -msgid "Clear to end of screen" -msgstr "" - -#: ../../library/curses.rst:1487 -msgid "Clear to end of line" -msgstr "" - -#: ../../library/curses.rst:1489 -msgid "Scroll 1 line forward" -msgstr "" - -#: ../../library/curses.rst:1491 -msgid "Scroll 1 line backward (reverse)" -msgstr "" - -#: ../../library/curses.rst:1493 -msgid "Next page" -msgstr "Halaman berikutnya" - -#: ../../library/curses.rst:1495 -msgid "Previous page" -msgstr "" - -#: ../../library/curses.rst:1497 -msgid "Set tab" -msgstr "" - -#: ../../library/curses.rst:1499 -msgid "Clear tab" -msgstr "" - -#: ../../library/curses.rst:1501 -msgid "Clear all tabs" -msgstr "" - -#: ../../library/curses.rst:1503 -msgid "Enter or send (unreliable)" -msgstr "" - -#: ../../library/curses.rst:1505 -msgid "Soft (partial) reset (unreliable)" -msgstr "" - -#: ../../library/curses.rst:1507 -msgid "Reset or hard reset (unreliable)" -msgstr "" - -#: ../../library/curses.rst:1509 -msgid "Print" -msgstr "" - -#: ../../library/curses.rst:1511 -msgid "Home down or bottom (lower left)" -msgstr "" - -#: ../../library/curses.rst:1513 -msgid "Upper left of keypad" -msgstr "" - -#: ../../library/curses.rst:1515 -msgid "Upper right of keypad" -msgstr "" - -#: ../../library/curses.rst:1517 -msgid "Center of keypad" -msgstr "" - -#: ../../library/curses.rst:1519 -msgid "Lower left of keypad" -msgstr "" - -#: ../../library/curses.rst:1521 -msgid "Lower right of keypad" -msgstr "" - -#: ../../library/curses.rst:1523 -msgid "Back tab" -msgstr "" - -#: ../../library/curses.rst:1525 -msgid "Beg (beginning)" -msgstr "" - -#: ../../library/curses.rst:1527 -msgid "Cancel" -msgstr "" - -#: ../../library/curses.rst:1529 -msgid "Close" -msgstr "" - -#: ../../library/curses.rst:1531 -msgid "Cmd (command)" -msgstr "" - -#: ../../library/curses.rst:1533 -msgid "Copy" -msgstr "Copy" - -#: ../../library/curses.rst:1535 -msgid "Create" -msgstr "" - -#: ../../library/curses.rst:1537 -msgid "End" -msgstr "End" - -#: ../../library/curses.rst:1539 -msgid "Exit" -msgstr "Exit" - -#: ../../library/curses.rst:1541 -msgid "Find" -msgstr "Find" - -#: ../../library/curses.rst:1543 -msgid "Help" -msgstr "Help" - -#: ../../library/curses.rst:1545 -msgid "Mark" -msgstr "Mark" - -#: ../../library/curses.rst:1547 -msgid "Message" -msgstr "" - -#: ../../library/curses.rst:1549 -msgid "Move" -msgstr "Move" - -#: ../../library/curses.rst:1551 -msgid "Next" -msgstr "Next" - -#: ../../library/curses.rst:1553 -msgid "Open" -msgstr "Open" - -#: ../../library/curses.rst:1555 -msgid "Options" -msgstr "Opsi" - -#: ../../library/curses.rst:1557 -msgid "Prev (previous)" -msgstr "" - -#: ../../library/curses.rst:1559 -msgid "Redo" -msgstr "Redo" - -#: ../../library/curses.rst:1561 -msgid "Ref (reference)" -msgstr "" - -#: ../../library/curses.rst:1563 -msgid "Refresh" -msgstr "" - -#: ../../library/curses.rst:1565 -msgid "Replace" -msgstr "" - -#: ../../library/curses.rst:1567 -msgid "Restart" -msgstr "" - -#: ../../library/curses.rst:1569 -msgid "Resume" -msgstr "" - -#: ../../library/curses.rst:1571 -msgid "Save" -msgstr "Save" - -#: ../../library/curses.rst:1573 -msgid "Shifted Beg (beginning)" -msgstr "" - -#: ../../library/curses.rst:1575 -msgid "Shifted Cancel" -msgstr "" - -#: ../../library/curses.rst:1577 -msgid "Shifted Command" -msgstr "" - -#: ../../library/curses.rst:1579 -msgid "Shifted Copy" -msgstr "" - -#: ../../library/curses.rst:1581 -msgid "Shifted Create" -msgstr "" - -#: ../../library/curses.rst:1583 -msgid "Shifted Delete char" -msgstr "" - -#: ../../library/curses.rst:1585 -msgid "Shifted Delete line" -msgstr "" - -#: ../../library/curses.rst:1587 -msgid "Select" -msgstr "" - -#: ../../library/curses.rst:1589 -msgid "Shifted End" -msgstr "" - -#: ../../library/curses.rst:1591 -msgid "Shifted Clear line" -msgstr "" - -#: ../../library/curses.rst:1593 -msgid "Shifted Exit" -msgstr "" - -#: ../../library/curses.rst:1595 -msgid "Shifted Find" -msgstr "" - -#: ../../library/curses.rst:1597 -msgid "Shifted Help" -msgstr "" - -#: ../../library/curses.rst:1599 -msgid "Shifted Home" -msgstr "" - -#: ../../library/curses.rst:1601 -msgid "Shifted Input" -msgstr "" - -#: ../../library/curses.rst:1603 -msgid "Shifted Left arrow" -msgstr "" - -#: ../../library/curses.rst:1605 -msgid "Shifted Message" -msgstr "" - -#: ../../library/curses.rst:1607 -msgid "Shifted Move" -msgstr "" - -#: ../../library/curses.rst:1609 -msgid "Shifted Next" -msgstr "" - -#: ../../library/curses.rst:1611 -msgid "Shifted Options" -msgstr "" - -#: ../../library/curses.rst:1613 -msgid "Shifted Prev" -msgstr "" - -#: ../../library/curses.rst:1615 -msgid "Shifted Print" -msgstr "" - -#: ../../library/curses.rst:1617 -msgid "Shifted Redo" -msgstr "" - -#: ../../library/curses.rst:1619 -msgid "Shifted Replace" -msgstr "" - -#: ../../library/curses.rst:1621 -msgid "Shifted Right arrow" -msgstr "" - -#: ../../library/curses.rst:1623 -msgid "Shifted Resume" -msgstr "" - -#: ../../library/curses.rst:1625 -msgid "Shifted Save" -msgstr "" - -#: ../../library/curses.rst:1627 -msgid "Shifted Suspend" -msgstr "" - -#: ../../library/curses.rst:1629 -msgid "Shifted Undo" -msgstr "" - -#: ../../library/curses.rst:1631 -msgid "Suspend" -msgstr "" - -#: ../../library/curses.rst:1633 -msgid "Undo" -msgstr "Undo" - -#: ../../library/curses.rst:1635 -msgid "Mouse event has occurred" -msgstr "" - -#: ../../library/curses.rst:1637 -msgid "Terminal resize event" -msgstr "" - -#: ../../library/curses.rst:1639 -msgid "Maximum key value" -msgstr "" - -#: ../../library/curses.rst:1642 -msgid "" -"On VT100s and their software emulations, such as X terminal emulators, there" -" are normally at least four function keys (:const:`KEY_F1 `, " -":const:`KEY_F2 `, :const:`KEY_F3 `, :const:`KEY_F4 " -"`) available, and the arrow keys mapped to :const:`KEY_UP`, " -":const:`KEY_DOWN`, :const:`KEY_LEFT` and :const:`KEY_RIGHT` in the obvious " -"way. If your machine has a PC keyboard, it is safe to expect arrow keys and" -" twelve function keys (older PC keyboards may have only ten function keys); " -"also, the following keypad mappings are standard:" -msgstr "" - -#: ../../library/curses.rst:1651 -msgid "Keycap" -msgstr "Keycap" - -#: ../../library/curses.rst:1651 ../../library/curses.rst:1796 -#: ../../library/curses.rst:1920 -msgid "Constant" -msgstr "Konstanta" - -#: ../../library/curses.rst:1653 -msgid ":kbd:`Insert`" -msgstr ":kbd:`Insert`" - -#: ../../library/curses.rst:1653 -msgid "KEY_IC" -msgstr "KEY_IC" - -#: ../../library/curses.rst:1655 -msgid ":kbd:`Delete`" -msgstr ":kbd:`Delete`" - -#: ../../library/curses.rst:1655 -msgid "KEY_DC" -msgstr "KEY_DC" - -#: ../../library/curses.rst:1657 -msgid ":kbd:`Home`" -msgstr ":kbd:`Home`" - -#: ../../library/curses.rst:1657 -msgid "KEY_HOME" -msgstr "KEY_HOME" - -#: ../../library/curses.rst:1659 -msgid ":kbd:`End`" -msgstr ":kbd:`End`" - -#: ../../library/curses.rst:1659 -msgid "KEY_END" -msgstr "KEY_END" - -#: ../../library/curses.rst:1661 -msgid ":kbd:`Page Up`" -msgstr ":kbd:`Page Up`" - -#: ../../library/curses.rst:1661 -msgid "KEY_PPAGE" -msgstr "KEY_PPAGE" - -#: ../../library/curses.rst:1663 -msgid ":kbd:`Page Down`" -msgstr ":kbd:`Page Down`" - -#: ../../library/curses.rst:1663 -msgid "KEY_NPAGE" -msgstr "KEY_NPAGE" - -#: ../../library/curses.rst:1668 -msgid "" -"The following table lists characters from the alternate character set. These" -" are inherited from the VT100 terminal, and will generally be available on " -"software emulations such as X terminals. When there is no graphic " -"available, curses falls back on a crude printable ASCII approximation." -msgstr "" - -#: ../../library/curses.rst:1675 -msgid "These are available only after :func:`initscr` has been called." -msgstr "" - -#: ../../library/curses.rst:1678 -msgid "ACS code" -msgstr "" - -#: ../../library/curses.rst:1680 -msgid "alternate name for upper right corner" -msgstr "" - -#: ../../library/curses.rst:1682 -msgid "solid square block" -msgstr "" - -#: ../../library/curses.rst:1684 -msgid "board of squares" -msgstr "" - -#: ../../library/curses.rst:1686 -msgid "alternate name for horizontal line" -msgstr "" - -#: ../../library/curses.rst:1688 -msgid "alternate name for upper left corner" -msgstr "" - -#: ../../library/curses.rst:1690 -msgid "alternate name for top tee" -msgstr "" - -#: ../../library/curses.rst:1692 -msgid "bottom tee" -msgstr "" - -#: ../../library/curses.rst:1694 -msgid "bullet" -msgstr "" - -#: ../../library/curses.rst:1696 -msgid "checker board (stipple)" -msgstr "" - -#: ../../library/curses.rst:1698 -msgid "arrow pointing down" -msgstr "" - -#: ../../library/curses.rst:1700 -msgid "degree symbol" -msgstr "" - -#: ../../library/curses.rst:1702 -msgid "diamond" -msgstr "" - -#: ../../library/curses.rst:1704 -msgid "greater-than-or-equal-to" -msgstr "" - -#: ../../library/curses.rst:1706 -msgid "horizontal line" -msgstr "" - -#: ../../library/curses.rst:1708 -msgid "lantern symbol" -msgstr "" - -#: ../../library/curses.rst:1710 -msgid "left arrow" -msgstr "" - -#: ../../library/curses.rst:1712 -msgid "less-than-or-equal-to" -msgstr "" - -#: ../../library/curses.rst:1714 -msgid "lower left-hand corner" -msgstr "" - -#: ../../library/curses.rst:1716 -msgid "lower right-hand corner" -msgstr "" - -#: ../../library/curses.rst:1718 -msgid "left tee" -msgstr "" - -#: ../../library/curses.rst:1720 -msgid "not-equal sign" -msgstr "" - -#: ../../library/curses.rst:1722 -msgid "letter pi" -msgstr "" - -#: ../../library/curses.rst:1724 -msgid "plus-or-minus sign" -msgstr "" - -#: ../../library/curses.rst:1726 -msgid "big plus sign" -msgstr "" - -#: ../../library/curses.rst:1728 -msgid "right arrow" -msgstr "" - -#: ../../library/curses.rst:1730 -msgid "right tee" -msgstr "" - -#: ../../library/curses.rst:1732 -msgid "scan line 1" -msgstr "" - -#: ../../library/curses.rst:1734 -msgid "scan line 3" -msgstr "" - -#: ../../library/curses.rst:1736 -msgid "scan line 7" -msgstr "" - -#: ../../library/curses.rst:1738 -msgid "scan line 9" -msgstr "" - -#: ../../library/curses.rst:1740 -msgid "alternate name for lower right corner" -msgstr "" - -#: ../../library/curses.rst:1742 -msgid "alternate name for vertical line" -msgstr "" - -#: ../../library/curses.rst:1744 -msgid "alternate name for right tee" -msgstr "" - -#: ../../library/curses.rst:1746 -msgid "alternate name for lower left corner" -msgstr "" - -#: ../../library/curses.rst:1748 -msgid "alternate name for bottom tee" -msgstr "" - -#: ../../library/curses.rst:1750 -msgid "alternate name for left tee" -msgstr "" - -#: ../../library/curses.rst:1752 -msgid "alternate name for crossover or big plus" -msgstr "" - -#: ../../library/curses.rst:1754 -msgid "pound sterling" -msgstr "" - -#: ../../library/curses.rst:1756 -msgid "top tee" -msgstr "" - -#: ../../library/curses.rst:1758 -msgid "up arrow" -msgstr "" - -#: ../../library/curses.rst:1760 -msgid "upper left corner" -msgstr "" - -#: ../../library/curses.rst:1762 -msgid "upper right corner" -msgstr "" - -#: ../../library/curses.rst:1764 -msgid "vertical line" -msgstr "" - -#: ../../library/curses.rst:1767 -msgid "" -"The following table lists mouse button constants used by :meth:`getmouse`:" -msgstr "" - -#: ../../library/curses.rst:1770 -msgid "Mouse button constant" -msgstr "" - -#: ../../library/curses.rst:1772 -msgid "Mouse button *n* pressed" -msgstr "" - -#: ../../library/curses.rst:1774 -msgid "Mouse button *n* released" -msgstr "" - -#: ../../library/curses.rst:1776 -msgid "Mouse button *n* clicked" -msgstr "" - -#: ../../library/curses.rst:1778 -msgid "Mouse button *n* double clicked" -msgstr "" - -#: ../../library/curses.rst:1780 -msgid "Mouse button *n* triple clicked" -msgstr "" - -#: ../../library/curses.rst:1782 -msgid "Shift was down during button state change" -msgstr "" - -#: ../../library/curses.rst:1784 ../../library/curses.rst:1786 -msgid "Control was down during button state change" -msgstr "" - -#: ../../library/curses.rst:1793 -msgid "The following table lists the predefined colors:" -msgstr "" - -#: ../../library/curses.rst:1796 -msgid "Color" -msgstr "" - -#: ../../library/curses.rst:1798 -msgid "Black" -msgstr "" - -#: ../../library/curses.rst:1800 -msgid "Blue" -msgstr "Biru" - -#: ../../library/curses.rst:1802 -msgid "Cyan (light greenish blue)" -msgstr "Cyan (biru kehijauan terang)" - -#: ../../library/curses.rst:1804 -msgid "Green" -msgstr "" - -#: ../../library/curses.rst:1806 -msgid "Magenta (purplish red)" -msgstr "" - -#: ../../library/curses.rst:1808 -msgid "Red" -msgstr "Merah" - -#: ../../library/curses.rst:1810 -msgid "White" -msgstr "" - -#: ../../library/curses.rst:1812 -msgid "Yellow" -msgstr "" - -#: ../../library/curses.rst:1817 -msgid ":mod:`curses.textpad` --- Text input widget for curses programs" -msgstr "" - -#: ../../library/curses.rst:1825 -msgid "" -"The :mod:`curses.textpad` module provides a :class:`Textbox` class that " -"handles elementary text editing in a curses window, supporting a set of " -"keybindings resembling those of Emacs (thus, also of Netscape Navigator, " -"BBedit 6.x, FrameMaker, and many other programs). The module also provides " -"a rectangle-drawing function useful for framing text boxes or for other " -"purposes." -msgstr "" - -#: ../../library/curses.rst:1831 -msgid "The module :mod:`curses.textpad` defines the following function:" -msgstr "" - -#: ../../library/curses.rst:1836 -msgid "" -"Draw a rectangle. The first argument must be a window object; the remaining" -" arguments are coordinates relative to that window. The second and third " -"arguments are the y and x coordinates of the upper left hand corner of the " -"rectangle to be drawn; the fourth and fifth arguments are the y and x " -"coordinates of the lower right hand corner. The rectangle will be drawn " -"using VT100/IBM PC forms characters on terminals that make this possible " -"(including xterm and most other software terminal emulators). Otherwise it " -"will be drawn with ASCII dashes, vertical bars, and plus signs." -msgstr "" - -#: ../../library/curses.rst:1849 -msgid "Textbox objects" -msgstr "" - -#: ../../library/curses.rst:1851 -msgid "You can instantiate a :class:`Textbox` object as follows:" -msgstr "" - -#: ../../library/curses.rst:1856 -msgid "" -"Return a textbox widget object. The *win* argument should be a curses " -":ref:`window ` object in which the textbox is to be " -"contained. The edit cursor of the textbox is initially located at the upper " -"left hand corner of the containing window, with coordinates ``(0, 0)``. The " -"instance's :attr:`stripspaces` flag is initially on." -msgstr "" - -#: ../../library/curses.rst:1862 -msgid ":class:`Textbox` objects have the following methods:" -msgstr "" - -#: ../../library/curses.rst:1867 -msgid "" -"This is the entry point you will normally use. It accepts editing " -"keystrokes until one of the termination keystrokes is entered. If " -"*validator* is supplied, it must be a function. It will be called for each " -"keystroke entered with the keystroke as a parameter; command dispatch is " -"done on the result. This method returns the window contents as a string; " -"whether blanks in the window are included is affected by the " -":attr:`stripspaces` attribute." -msgstr "" - -#: ../../library/curses.rst:1878 -msgid "" -"Process a single command keystroke. Here are the supported special " -"keystrokes:" -msgstr "" - -#: ../../library/curses.rst:1882 ../../library/curses.rst:1920 -msgid "Keystroke" -msgstr "Keystroke" - -#: ../../library/curses.rst:1882 -msgid "Action" -msgstr "" - -#: ../../library/curses.rst:1884 -msgid ":kbd:`Control-A`" -msgstr ":kbd:`Control-A`" - -#: ../../library/curses.rst:1884 -msgid "Go to left edge of window." -msgstr "" - -#: ../../library/curses.rst:1886 ../../library/curses.rst:1922 -msgid ":kbd:`Control-B`" -msgstr ":kbd:`Control-B`" - -#: ../../library/curses.rst:1886 -msgid "Cursor left, wrapping to previous line if appropriate." -msgstr "" - -#: ../../library/curses.rst:1889 -msgid ":kbd:`Control-D`" -msgstr ":kbd:`Control-D`" - -#: ../../library/curses.rst:1889 -msgid "Delete character under cursor." -msgstr "" - -#: ../../library/curses.rst:1891 -msgid ":kbd:`Control-E`" -msgstr ":kbd:`Control-E`" - -#: ../../library/curses.rst:1891 -msgid "Go to right edge (stripspaces off) or end of line (stripspaces on)." -msgstr "" - -#: ../../library/curses.rst:1894 ../../library/curses.rst:1924 -msgid ":kbd:`Control-F`" -msgstr ":kbd:`Control-F`" - -#: ../../library/curses.rst:1894 -msgid "Cursor right, wrapping to next line when appropriate." -msgstr "" - -#: ../../library/curses.rst:1897 -msgid ":kbd:`Control-G`" -msgstr ":kbd:`Control-G`" - -#: ../../library/curses.rst:1897 -msgid "Terminate, returning the window contents." -msgstr "" - -#: ../../library/curses.rst:1899 -msgid ":kbd:`Control-H`" -msgstr ":kbd:`Control-H`" - -#: ../../library/curses.rst:1899 -msgid "Delete character backward." -msgstr "" - -#: ../../library/curses.rst:1901 -msgid ":kbd:`Control-J`" -msgstr ":kbd:`Control-J`" - -#: ../../library/curses.rst:1901 -msgid "Terminate if the window is 1 line, otherwise insert newline." -msgstr "" - -#: ../../library/curses.rst:1904 -msgid ":kbd:`Control-K`" -msgstr ":kbd:`Control-K`" - -#: ../../library/curses.rst:1904 -msgid "If line is blank, delete it, otherwise clear to end of line." -msgstr "" - -#: ../../library/curses.rst:1907 -msgid ":kbd:`Control-L`" -msgstr ":kbd:`Control-L`" - -#: ../../library/curses.rst:1907 -msgid "Refresh screen." -msgstr "" - -#: ../../library/curses.rst:1909 ../../library/curses.rst:1928 -msgid ":kbd:`Control-N`" -msgstr ":kbd:`Control-N`" - -#: ../../library/curses.rst:1909 -msgid "Cursor down; move down one line." -msgstr "" - -#: ../../library/curses.rst:1911 -msgid ":kbd:`Control-O`" -msgstr ":kbd:`Control-O`" - -#: ../../library/curses.rst:1911 -msgid "Insert a blank line at cursor location." -msgstr "" - -#: ../../library/curses.rst:1913 ../../library/curses.rst:1926 -msgid ":kbd:`Control-P`" -msgstr ":kbd:`Control-P`" - -#: ../../library/curses.rst:1913 -msgid "Cursor up; move up one line." -msgstr "" - -#: ../../library/curses.rst:1916 -msgid "" -"Move operations do nothing if the cursor is at an edge where the movement is" -" not possible. The following synonyms are supported where possible:" -msgstr "" - -#: ../../library/curses.rst:1922 -msgid ":const:`~curses.KEY_LEFT`" -msgstr "" - -#: ../../library/curses.rst:1924 -msgid ":const:`~curses.KEY_RIGHT`" -msgstr "" - -#: ../../library/curses.rst:1926 -msgid ":const:`~curses.KEY_UP`" -msgstr "" - -#: ../../library/curses.rst:1928 -msgid ":const:`~curses.KEY_DOWN`" -msgstr "" - -#: ../../library/curses.rst:1930 -msgid ":const:`~curses.KEY_BACKSPACE`" -msgstr "" - -#: ../../library/curses.rst:1930 -msgid ":kbd:`Control-h`" -msgstr ":kbd:`Control-h`" - -#: ../../library/curses.rst:1933 -msgid "" -"All other keystrokes are treated as a command to insert the given character " -"and move right (with line wrapping)." -msgstr "" - -#: ../../library/curses.rst:1939 -msgid "" -"Return the window contents as a string; whether blanks in the window are " -"included is affected by the :attr:`stripspaces` member." -msgstr "" - -#: ../../library/curses.rst:1945 -msgid "" -"This attribute is a flag which controls the interpretation of blanks in the " -"window. When it is on, trailing blanks on each line are ignored; any cursor" -" motion that would land the cursor on a trailing blank goes to the end of " -"that line instead, and trailing blanks are stripped when the window contents" -" are gathered." -msgstr "" diff --git a/python-newest.library--curses_ascii/id.po b/python-newest.library--curses_ascii/id.po deleted file mode 100644 index 908106c..0000000 --- a/python-newest.library--curses_ascii/id.po +++ /dev/null @@ -1,343 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/curses.ascii.rst:2 -msgid ":mod:`!curses.ascii` --- Utilities for ASCII characters" -msgstr "" - -#: ../../library/curses.ascii.rst:10 -msgid "**Source code:** :source:`Lib/curses/ascii.py`" -msgstr "" - -#: ../../library/curses.ascii.rst:14 -msgid "" -"The :mod:`curses.ascii` module supplies name constants for ASCII characters " -"and functions to test membership in various ASCII character classes. The " -"constants supplied are names for control characters as follows:" -msgstr "" - -#: ../../library/curses.ascii.rst:19 -msgid "Name" -msgstr "Nama" - -#: ../../library/curses.ascii.rst:19 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/curses.ascii.rst:23 -msgid "Start of heading, console interrupt" -msgstr "" - -#: ../../library/curses.ascii.rst:25 -msgid "Start of text" -msgstr "" - -#: ../../library/curses.ascii.rst:27 -msgid "End of text" -msgstr "" - -#: ../../library/curses.ascii.rst:29 -msgid "End of transmission" -msgstr "" - -#: ../../library/curses.ascii.rst:31 -msgid "Enquiry, goes with :const:`ACK` flow control" -msgstr "" - -#: ../../library/curses.ascii.rst:33 -msgid "Acknowledgement" -msgstr "" - -#: ../../library/curses.ascii.rst:35 -msgid "Bell" -msgstr "" - -#: ../../library/curses.ascii.rst:37 -msgid "Backspace" -msgstr "" - -#: ../../library/curses.ascii.rst:39 -msgid "Tab" -msgstr "" - -#: ../../library/curses.ascii.rst:41 -msgid "Alias for :const:`TAB`: \"Horizontal tab\"" -msgstr "" - -#: ../../library/curses.ascii.rst:43 -msgid "Line feed" -msgstr "" - -#: ../../library/curses.ascii.rst:45 -msgid "Alias for :const:`LF`: \"New line\"" -msgstr "" - -#: ../../library/curses.ascii.rst:47 -msgid "Vertical tab" -msgstr "" - -#: ../../library/curses.ascii.rst:49 -msgid "Form feed" -msgstr "" - -#: ../../library/curses.ascii.rst:51 -msgid "Carriage return" -msgstr "" - -#: ../../library/curses.ascii.rst:53 -msgid "Shift-out, begin alternate character set" -msgstr "" - -#: ../../library/curses.ascii.rst:55 -msgid "Shift-in, resume default character set" -msgstr "" - -#: ../../library/curses.ascii.rst:57 -msgid "Data-link escape" -msgstr "" - -#: ../../library/curses.ascii.rst:59 -msgid "XON, for flow control" -msgstr "" - -#: ../../library/curses.ascii.rst:61 -msgid "Device control 2, block-mode flow control" -msgstr "" - -#: ../../library/curses.ascii.rst:63 -msgid "XOFF, for flow control" -msgstr "" - -#: ../../library/curses.ascii.rst:65 -msgid "Device control 4" -msgstr "" - -#: ../../library/curses.ascii.rst:67 -msgid "Negative acknowledgement" -msgstr "" - -#: ../../library/curses.ascii.rst:69 -msgid "Synchronous idle" -msgstr "" - -#: ../../library/curses.ascii.rst:71 -msgid "End transmission block" -msgstr "" - -#: ../../library/curses.ascii.rst:73 -msgid "Cancel" -msgstr "" - -#: ../../library/curses.ascii.rst:75 -msgid "End of medium" -msgstr "" - -#: ../../library/curses.ascii.rst:77 -msgid "Substitute" -msgstr "" - -#: ../../library/curses.ascii.rst:79 -msgid "Escape" -msgstr "" - -#: ../../library/curses.ascii.rst:81 -msgid "File separator" -msgstr "" - -#: ../../library/curses.ascii.rst:83 -msgid "Group separator" -msgstr "" - -#: ../../library/curses.ascii.rst:85 -msgid "Record separator, block-mode terminator" -msgstr "" - -#: ../../library/curses.ascii.rst:87 -msgid "Unit separator" -msgstr "" - -#: ../../library/curses.ascii.rst:89 -msgid "Space" -msgstr "" - -#: ../../library/curses.ascii.rst:91 -msgid "Delete" -msgstr "" - -#: ../../library/curses.ascii.rst:94 -msgid "" -"Note that many of these have little practical significance in modern usage." -" The mnemonics derive from teleprinter conventions that predate digital " -"computers." -msgstr "" - -#: ../../library/curses.ascii.rst:97 -msgid "" -"The module supplies the following functions, patterned on those in the " -"standard C library:" -msgstr "" - -#: ../../library/curses.ascii.rst:103 -msgid "" -"Checks for an ASCII alphanumeric character; it is equivalent to ``isalpha(c)" -" or isdigit(c)``." -msgstr "" - -#: ../../library/curses.ascii.rst:109 -msgid "" -"Checks for an ASCII alphabetic character; it is equivalent to ``isupper(c) " -"or islower(c)``." -msgstr "" - -#: ../../library/curses.ascii.rst:115 -msgid "Checks for a character value that fits in the 7-bit ASCII set." -msgstr "" - -#: ../../library/curses.ascii.rst:120 -msgid "Checks for an ASCII whitespace character; space or horizontal tab." -msgstr "" - -#: ../../library/curses.ascii.rst:125 -msgid "" -"Checks for an ASCII control character (in the range 0x00 to 0x1f or 0x7f)." -msgstr "" - -#: ../../library/curses.ascii.rst:130 -msgid "" -"Checks for an ASCII decimal digit, ``'0'`` through ``'9'``. This is " -"equivalent to ``c in string.digits``." -msgstr "" - -#: ../../library/curses.ascii.rst:136 -msgid "Checks for ASCII any printable character except space." -msgstr "" - -#: ../../library/curses.ascii.rst:141 -msgid "Checks for an ASCII lower-case character." -msgstr "" - -#: ../../library/curses.ascii.rst:146 -msgid "Checks for any ASCII printable character including space." -msgstr "" - -#: ../../library/curses.ascii.rst:151 -msgid "" -"Checks for any printable ASCII character which is not a space or an " -"alphanumeric character." -msgstr "" - -#: ../../library/curses.ascii.rst:157 -msgid "" -"Checks for ASCII white-space characters; space, line feed, carriage return, " -"form feed, horizontal tab, vertical tab." -msgstr "" - -#: ../../library/curses.ascii.rst:163 -msgid "Checks for an ASCII uppercase letter." -msgstr "" - -#: ../../library/curses.ascii.rst:168 -msgid "" -"Checks for an ASCII hexadecimal digit. This is equivalent to ``c in " -"string.hexdigits``." -msgstr "" - -#: ../../library/curses.ascii.rst:174 -msgid "Checks for an ASCII control character (ordinal values 0 to 31)." -msgstr "" - -#: ../../library/curses.ascii.rst:179 -msgid "Checks for a non-ASCII character (ordinal values 0x80 and above)." -msgstr "" - -#: ../../library/curses.ascii.rst:181 -msgid "" -"These functions accept either integers or single-character strings; when the" -" argument is a string, it is first converted using the built-in function " -":func:`ord`." -msgstr "" - -#: ../../library/curses.ascii.rst:184 -msgid "" -"Note that all these functions check ordinal bit values derived from the " -"character of the string you pass in; they do not actually know anything " -"about the host machine's character encoding." -msgstr "" - -#: ../../library/curses.ascii.rst:188 -msgid "" -"The following two functions take either a single-character string or integer" -" byte value; they return a value of the same type." -msgstr "" - -#: ../../library/curses.ascii.rst:194 -msgid "Return the ASCII value corresponding to the low 7 bits of *c*." -msgstr "" - -#: ../../library/curses.ascii.rst:199 -msgid "" -"Return the control character corresponding to the given character (the " -"character bit value is bitwise-anded with 0x1f)." -msgstr "" - -#: ../../library/curses.ascii.rst:205 -msgid "" -"Return the 8-bit character corresponding to the given ASCII character (the " -"character bit value is bitwise-ored with 0x80)." -msgstr "" - -#: ../../library/curses.ascii.rst:208 -msgid "" -"The following function takes either a single-character string or integer " -"value; it returns a string." -msgstr "" - -#: ../../library/curses.ascii.rst:218 -msgid "" -"Return a string representation of the ASCII character *c*. If *c* is " -"printable, this string is the character itself. If the character is a " -"control character (0x00--0x1f) the string consists of a caret (``'^'``) " -"followed by the corresponding uppercase letter. If the character is an ASCII" -" delete (0x7f) the string is ``'^?'``. If the character has its meta bit " -"(0x80) set, the meta bit is stripped, the preceding rules applied, and " -"``'!'`` prepended to the result." -msgstr "" - -#: ../../library/curses.ascii.rst:228 -msgid "" -"A 33-element string array that contains the ASCII mnemonics for the thirty-" -"two ASCII control characters from 0 (NUL) to 0x1f (US), in order, plus the " -"mnemonic ``SP`` for the space character." -msgstr "" - -#: ../../library/curses.ascii.rst:212 -msgid "^ (caret)" -msgstr "" - -#: ../../library/curses.ascii.rst:212 -msgid "in curses module" -msgstr "" - -#: ../../library/curses.ascii.rst:212 -msgid "! (exclamation)" -msgstr "" diff --git a/python-newest.library--curses_panel/id.po b/python-newest.library--curses_panel/id.po deleted file mode 100644 index c1c4805..0000000 --- a/python-newest.library--curses_panel/id.po +++ /dev/null @@ -1,133 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/curses.panel.rst:2 -msgid ":mod:`!curses.panel` --- A panel stack extension for curses" -msgstr "" - -#: ../../library/curses.panel.rst:11 -msgid "" -"Panels are windows with the added feature of depth, so they can be stacked " -"on top of each other, and only the visible portions of each window will be " -"displayed. Panels can be added, moved up or down in the stack, and removed." -msgstr "" - -#: ../../library/curses.panel.rst:19 -msgid "Functions" -msgstr "Fungsi-Fungsi" - -#: ../../library/curses.panel.rst:21 -msgid "The module :mod:`curses.panel` defines the following functions:" -msgstr "" - -#: ../../library/curses.panel.rst:26 -msgid "Returns the bottom panel in the panel stack." -msgstr "" - -#: ../../library/curses.panel.rst:31 -msgid "" -"Returns a panel object, associating it with the given window *win*. Be aware" -" that you need to keep the returned panel object referenced explicitly. If " -"you don't, the panel object is garbage collected and removed from the panel " -"stack." -msgstr "" - -#: ../../library/curses.panel.rst:38 -msgid "Returns the top panel in the panel stack." -msgstr "" - -#: ../../library/curses.panel.rst:43 -msgid "" -"Updates the virtual screen after changes in the panel stack. This does not " -"call :func:`curses.doupdate`, so you'll have to do this yourself." -msgstr "" - -#: ../../library/curses.panel.rst:50 -msgid "Panel Objects" -msgstr "" - -#: ../../library/curses.panel.rst:52 -msgid "" -"Panel objects, as returned by :func:`new_panel` above, are windows with a " -"stacking order. There's always a window associated with a panel which " -"determines the content, while the panel methods are responsible for the " -"window's depth in the panel stack." -msgstr "" - -#: ../../library/curses.panel.rst:57 -msgid "Panel objects have the following methods:" -msgstr "" - -#: ../../library/curses.panel.rst:62 -msgid "Returns the panel above the current panel." -msgstr "" - -#: ../../library/curses.panel.rst:67 -msgid "Returns the panel below the current panel." -msgstr "" - -#: ../../library/curses.panel.rst:72 -msgid "Push the panel to the bottom of the stack." -msgstr "" - -#: ../../library/curses.panel.rst:77 -msgid "" -"Returns ``True`` if the panel is hidden (not visible), ``False`` otherwise." -msgstr "" - -#: ../../library/curses.panel.rst:82 -msgid "" -"Hide the panel. This does not delete the object, it just makes the window on" -" screen invisible." -msgstr "" - -#: ../../library/curses.panel.rst:88 -msgid "Move the panel to the screen coordinates ``(y, x)``." -msgstr "" - -#: ../../library/curses.panel.rst:93 -msgid "Change the window associated with the panel to the window *win*." -msgstr "" - -#: ../../library/curses.panel.rst:98 -msgid "" -"Set the panel's user pointer to *obj*. This is used to associate an " -"arbitrary piece of data with the panel, and can be any Python object." -msgstr "" - -#: ../../library/curses.panel.rst:104 -msgid "Display the panel (which might have been hidden)." -msgstr "" - -#: ../../library/curses.panel.rst:109 -msgid "Push panel to the top of the stack." -msgstr "" - -#: ../../library/curses.panel.rst:114 -msgid "" -"Returns the user pointer for the panel. This might be any Python object." -msgstr "" - -#: ../../library/curses.panel.rst:119 -msgid "Returns the window object associated with the panel." -msgstr "" diff --git a/python-newest.library--custominterp/id.po b/python-newest.library--custominterp/id.po deleted file mode 100644 index ee27807..0000000 --- a/python-newest.library--custominterp/id.po +++ /dev/null @@ -1,39 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/custominterp.rst:5 -msgid "Custom Python Interpreters" -msgstr "Ubahsuaian Interpreter Python" - -#: ../../library/custominterp.rst:7 -msgid "" -"The modules described in this chapter allow writing interfaces similar to " -"Python's interactive interpreter. If you want a Python interpreter that " -"supports some special feature in addition to the Python language, you should" -" look at the :mod:`code` module. (The :mod:`codeop` module is lower-level, " -"used to support compiling a possibly incomplete chunk of Python code.)" -msgstr "" - -#: ../../library/custominterp.rst:13 -msgid "The full list of modules described in this chapter is:" -msgstr "Daftar lengkap modul yang dijelaskan dalam bab ini adalah:" diff --git a/python-newest.library--dataclasses/id.po b/python-newest.library--dataclasses/id.po deleted file mode 100644 index 283ce67..0000000 --- a/python-newest.library--dataclasses/id.po +++ /dev/null @@ -1,1216 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/dataclasses.rst:2 -msgid ":mod:`!dataclasses` --- Data Classes" -msgstr "" - -#: ../../library/dataclasses.rst:10 -msgid "**Source code:** :source:`Lib/dataclasses.py`" -msgstr "" - -#: ../../library/dataclasses.rst:14 -msgid "" -"This module provides a decorator and functions for automatically adding " -"generated :term:`special methods ` such as " -":meth:`~object.__init__` and :meth:`~object.__repr__` to user-defined " -"classes. It was originally described in :pep:`557`." -msgstr "" - -#: ../../library/dataclasses.rst:19 -msgid "" -"The member variables to use in these generated methods are defined using " -":pep:`526` type annotations. For example, this code::" -msgstr "" - -#: ../../library/dataclasses.rst:22 -msgid "" -"from dataclasses import dataclass\n" -"\n" -"@dataclass\n" -"class InventoryItem:\n" -" \"\"\"Class for keeping track of an item in inventory.\"\"\"\n" -" name: str\n" -" unit_price: float\n" -" quantity_on_hand: int = 0\n" -"\n" -" def total_cost(self) -> float:\n" -" return self.unit_price * self.quantity_on_hand" -msgstr "" - -#: ../../library/dataclasses.rst:34 -msgid "will add, among other things, a :meth:`!__init__` that looks like::" -msgstr "" - -#: ../../library/dataclasses.rst:36 -msgid "" -"def __init__(self, name: str, unit_price: float, quantity_on_hand: int = 0):\n" -" self.name = name\n" -" self.unit_price = unit_price\n" -" self.quantity_on_hand = quantity_on_hand" -msgstr "" - -#: ../../library/dataclasses.rst:41 -msgid "" -"Note that this method is automatically added to the class: it is not " -"directly specified in the :class:`!InventoryItem` definition shown above." -msgstr "" - -#: ../../library/dataclasses.rst:47 -msgid "Module contents" -msgstr "" - -#: ../../library/dataclasses.rst:51 -msgid "" -"This function is a :term:`decorator` that is used to add generated " -":term:`special methods ` to classes, as described below." -msgstr "" - -#: ../../library/dataclasses.rst:54 -msgid "" -"The ``@dataclass`` decorator examines the class to find ``field``\\s. A " -"``field`` is defined as a class variable that has a :term:`type annotation " -"`. With two exceptions described below, nothing in " -"``@dataclass`` examines the type specified in the variable annotation." -msgstr "" - -#: ../../library/dataclasses.rst:60 -msgid "" -"The order of the fields in all of the generated methods is the order in " -"which they appear in the class definition." -msgstr "" - -#: ../../library/dataclasses.rst:63 -msgid "" -"The ``@dataclass`` decorator will add various \"dunder\" methods to the " -"class, described below. If any of the added methods already exist in the " -"class, the behavior depends on the parameter, as documented below. The " -"decorator returns the same class that it is called on; no new class is " -"created." -msgstr "" - -#: ../../library/dataclasses.rst:69 -msgid "" -"If ``@dataclass`` is used just as a simple decorator with no parameters, it " -"acts as if it has the default values documented in this signature. That is," -" these three uses of ``@dataclass`` are equivalent::" -msgstr "" - -#: ../../library/dataclasses.rst:74 -msgid "" -"@dataclass\n" -"class C:\n" -" ...\n" -"\n" -"@dataclass()\n" -"class C:\n" -" ...\n" -"\n" -"@dataclass(init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False,\n" -" match_args=True, kw_only=False, slots=False, weakref_slot=False)\n" -"class C:\n" -" ..." -msgstr "" - -#: ../../library/dataclasses.rst:87 -msgid "The parameters to ``@dataclass`` are:" -msgstr "" - -#: ../../library/dataclasses.rst:89 -msgid "" -"*init*: If true (the default), a :meth:`~object.__init__` method will be " -"generated." -msgstr "" - -#: ../../library/dataclasses.rst:92 -msgid "" -"If the class already defines :meth:`!__init__`, this parameter is ignored." -msgstr "" - -#: ../../library/dataclasses.rst:95 -msgid "" -"*repr*: If true (the default), a :meth:`~object.__repr__` method will be " -"generated. The generated repr string will have the class name and the name " -"and repr of each field, in the order they are defined in the class. Fields " -"that are marked as being excluded from the repr are not included. For " -"example: ``InventoryItem(name='widget', unit_price=3.0, " -"quantity_on_hand=10)``." -msgstr "" - -#: ../../library/dataclasses.rst:102 -msgid "" -"If the class already defines :meth:`!__repr__`, this parameter is ignored." -msgstr "" - -#: ../../library/dataclasses.rst:105 -msgid "" -"*eq*: If true (the default), an :meth:`~object.__eq__` method will be " -"generated. This method compares the class as if it were a tuple of its " -"fields, in order. Both instances in the comparison must be of the identical" -" type." -msgstr "" - -#: ../../library/dataclasses.rst:110 -msgid "" -"If the class already defines :meth:`!__eq__`, this parameter is ignored." -msgstr "" - -#: ../../library/dataclasses.rst:113 -msgid "" -"*order*: If true (the default is ``False``), :meth:`~object.__lt__`, " -":meth:`~object.__le__`, :meth:`~object.__gt__`, and :meth:`~object.__ge__` " -"methods will be generated. These compare the class as if it were a tuple of" -" its fields, in order. Both instances in the comparison must be of the " -"identical type. If *order* is true and *eq* is false, a :exc:`ValueError` " -"is raised." -msgstr "" - -#: ../../library/dataclasses.rst:120 -msgid "" -"If the class already defines any of :meth:`!__lt__`, :meth:`!__le__`, " -":meth:`!__gt__`, or :meth:`!__ge__`, then :exc:`TypeError` is raised." -msgstr "" - -#: ../../library/dataclasses.rst:124 -msgid "" -"*unsafe_hash*: If ``False`` (the default), a :meth:`~object.__hash__` method" -" is generated according to how *eq* and *frozen* are set." -msgstr "" - -#: ../../library/dataclasses.rst:127 -msgid "" -":meth:`!__hash__` is used by built-in :meth:`hash`, and when objects are " -"added to hashed collections such as dictionaries and sets. Having a " -":meth:`!__hash__` implies that instances of the class are immutable. " -"Mutability is a complicated property that depends on the programmer's " -"intent, the existence and behavior of :meth:`!__eq__`, and the values of the" -" *eq* and *frozen* flags in the ``@dataclass`` decorator." -msgstr "" - -#: ../../library/dataclasses.rst:134 -msgid "" -"By default, ``@dataclass`` will not implicitly add a " -":meth:`~object.__hash__` method unless it is safe to do so. Neither will it" -" add or change an existing explicitly defined :meth:`!__hash__` method. " -"Setting the class attribute ``__hash__ = None`` has a specific meaning to " -"Python, as described in the :meth:`!__hash__` documentation." -msgstr "" - -#: ../../library/dataclasses.rst:140 -msgid "" -"If :meth:`!__hash__` is not explicitly defined, or if it is set to ``None``," -" then ``@dataclass`` *may* add an implicit :meth:`!__hash__` method. " -"Although not recommended, you can force ``@dataclass`` to create a " -":meth:`!__hash__` method with ``unsafe_hash=True``. This might be the case " -"if your class is logically immutable but can still be mutated. This is a " -"specialized use case and should be considered carefully." -msgstr "" - -#: ../../library/dataclasses.rst:147 -msgid "" -"Here are the rules governing implicit creation of a :meth:`!__hash__` " -"method. Note that you cannot both have an explicit :meth:`!__hash__` method" -" in your dataclass and set ``unsafe_hash=True``; this will result in a " -":exc:`TypeError`." -msgstr "" - -#: ../../library/dataclasses.rst:152 -msgid "" -"If *eq* and *frozen* are both true, by default ``@dataclass`` will generate " -"a :meth:`!__hash__` method for you. If *eq* is true and *frozen* is false, " -":meth:`!__hash__` will be set to ``None``, marking it unhashable (which it " -"is, since it is mutable). If *eq* is false, :meth:`!__hash__` will be left " -"untouched meaning the :meth:`!__hash__` method of the superclass will be " -"used (if the superclass is :class:`object`, this means it will fall back to " -"id-based hashing)." -msgstr "" - -#: ../../library/dataclasses.rst:160 -msgid "" -"*frozen*: If true (the default is ``False``), assigning to fields will " -"generate an exception. This emulates read-only frozen instances. If " -":meth:`~object.__setattr__` or :meth:`~object.__delattr__` is defined in the" -" class, then :exc:`TypeError` is raised. See the discussion below." -msgstr "" - -#: ../../library/dataclasses.rst:165 -msgid "" -"*match_args*: If true (the default is ``True``), the " -":attr:`~object.__match_args__` tuple will be created from the list of non " -"keyword-only parameters to the generated :meth:`~object.__init__` method " -"(even if :meth:`!__init__` is not generated, see above). If false, or if " -":attr:`!__match_args__` is already defined in the class, then " -":attr:`!__match_args__` will not be generated." -msgstr "" - -#: ../../library/dataclasses.rst:174 -msgid "" -"*kw_only*: If true (the default value is ``False``), then all fields will be" -" marked as keyword-only. If a field is marked as keyword-only, then the " -"only effect is that the :meth:`~object.__init__` parameter generated from a " -"keyword-only field must be specified with a keyword when :meth:`!__init__` " -"is called. See the :term:`parameter` glossary entry for details. Also see " -"the :const:`KW_ONLY` section." -msgstr "" - -#: ../../library/dataclasses.rst:182 -msgid "Keyword-only fields are not included in :attr:`!__match_args__`." -msgstr "" - -#: ../../library/dataclasses.rst:186 -msgid "" -"*slots*: If true (the default is ``False``), :attr:`~object.__slots__` " -"attribute will be generated and new class will be returned instead of the " -"original one. If :attr:`!__slots__` is already defined in the class, then " -":exc:`TypeError` is raised." -msgstr "" - -#: ../../library/dataclasses.rst:192 -msgid "" -"Passing parameters to a base class :meth:`~object.__init_subclass__` when " -"using ``slots=True`` will result in a :exc:`TypeError`. Either use " -"``__init_subclass__`` with no parameters or use default values as a " -"workaround. See :gh:`91126` for full details." -msgstr "" - -#: ../../library/dataclasses.rst:200 -msgid "" -"If a field name is already included in the :attr:`!__slots__` of a base " -"class, it will not be included in the generated :attr:`!__slots__` to " -"prevent :ref:`overriding them `. Therefore, do not use" -" :attr:`!__slots__` to retrieve the field names of a dataclass. Use " -":func:`fields` instead. To be able to determine inherited slots, base class " -":attr:`!__slots__` may be any iterable, but *not* an iterator." -msgstr "" - -#: ../../library/dataclasses.rst:210 -msgid "" -"*weakref_slot*: If true (the default is ``False``), add a slot named " -"\"__weakref__\", which is required to make an instance :func:`weakref-able " -"`. It is an error to specify ``weakref_slot=True`` without also" -" specifying ``slots=True``." -msgstr "" - -#: ../../library/dataclasses.rst:218 -msgid "" -"``field``\\s may optionally specify a default value, using normal Python " -"syntax::" -msgstr "" - -#: ../../library/dataclasses.rst:221 -msgid "" -"@dataclass\n" -"class C:\n" -" a: int # 'a' has no default value\n" -" b: int = 0 # assign a default value for 'b'" -msgstr "" - -#: ../../library/dataclasses.rst:226 -msgid "" -"In this example, both :attr:`!a` and :attr:`!b` will be included in the " -"added :meth:`~object.__init__` method, which will be defined as::" -msgstr "" - -#: ../../library/dataclasses.rst:229 -msgid "def __init__(self, a: int, b: int = 0):" -msgstr "" - -#: ../../library/dataclasses.rst:231 -msgid "" -":exc:`TypeError` will be raised if a field without a default value follows a" -" field with a default value. This is true whether this occurs in a single " -"class, or as a result of class inheritance." -msgstr "" - -#: ../../library/dataclasses.rst:237 -msgid "" -"For common and simple use cases, no other functionality is required. There " -"are, however, some dataclass features that require additional per-field " -"information. To satisfy this need for additional information, you can " -"replace the default field value with a call to the provided :func:`!field` " -"function. For example::" -msgstr "" - -#: ../../library/dataclasses.rst:243 -msgid "" -"@dataclass\n" -"class C:\n" -" mylist: list[int] = field(default_factory=list)\n" -"\n" -"c = C()\n" -"c.mylist += [1, 2, 3]" -msgstr "" - -#: ../../library/dataclasses.rst:250 -msgid "" -"As shown above, the :const:`MISSING` value is a sentinel object used to " -"detect if some parameters are provided by the user. This sentinel is used " -"because ``None`` is a valid value for some parameters with a distinct " -"meaning. No code should directly use the :const:`MISSING` value." -msgstr "" - -#: ../../library/dataclasses.rst:255 -msgid "The parameters to :func:`!field` are:" -msgstr "" - -#: ../../library/dataclasses.rst:257 -msgid "" -"*default*: If provided, this will be the default value for this field. This" -" is needed because the :func:`!field` call itself replaces the normal " -"position of the default value." -msgstr "" - -#: ../../library/dataclasses.rst:261 -msgid "" -"*default_factory*: If provided, it must be a zero-argument callable that " -"will be called when a default value is needed for this field. Among other " -"purposes, this can be used to specify fields with mutable default values, as" -" discussed below. It is an error to specify both *default* and " -"*default_factory*." -msgstr "" - -#: ../../library/dataclasses.rst:267 -msgid "" -"*init*: If true (the default), this field is included as a parameter to the " -"generated :meth:`~object.__init__` method." -msgstr "" - -#: ../../library/dataclasses.rst:270 -msgid "" -"*repr*: If true (the default), this field is included in the string returned" -" by the generated :meth:`~object.__repr__` method." -msgstr "" - -#: ../../library/dataclasses.rst:273 -msgid "" -"*hash*: This can be a bool or ``None``. If true, this field is included in " -"the generated :meth:`~object.__hash__` method. If false, this field is " -"excluded from the generated :meth:`~object.__hash__`. If ``None`` (the " -"default), use the value of *compare*: this would normally be the expected " -"behavior, since a field should be included in the hash if it's used for " -"comparisons. Setting this value to anything other than ``None`` is " -"discouraged." -msgstr "" - -#: ../../library/dataclasses.rst:281 -msgid "" -"One possible reason to set ``hash=False`` but ``compare=True`` would be if a" -" field is expensive to compute a hash value for, that field is needed for " -"equality testing, and there are other fields that contribute to the type's " -"hash value. Even if a field is excluded from the hash, it will still be " -"used for comparisons." -msgstr "" - -#: ../../library/dataclasses.rst:287 -msgid "" -"*compare*: If true (the default), this field is included in the generated " -"equality and comparison methods (:meth:`~object.__eq__`, " -":meth:`~object.__gt__`, et al.)." -msgstr "" - -#: ../../library/dataclasses.rst:291 -msgid "" -"*metadata*: This can be a mapping or ``None``. ``None`` is treated as an " -"empty dict. This value is wrapped in :func:`~types.MappingProxyType` to " -"make it read-only, and exposed on the :class:`Field` object. It is not used " -"at all by Data Classes, and is provided as a third-party extension " -"mechanism. Multiple third-parties can each have their own key, to use as a " -"namespace in the metadata." -msgstr "" - -#: ../../library/dataclasses.rst:299 -msgid "" -"*kw_only*: If true, this field will be marked as keyword-only. This is used " -"when the generated :meth:`~object.__init__` method's parameters are " -"computed." -msgstr "" - -#: ../../library/dataclasses.rst:303 -msgid "Keyword-only fields are also not included in :attr:`!__match_args__`." -msgstr "" - -#: ../../library/dataclasses.rst:307 -msgid "``doc``: optional docstring for this field." -msgstr "" - -#: ../../library/dataclasses.rst:311 -msgid "" -"If the default value of a field is specified by a call to :func:`!field`, " -"then the class attribute for this field will be replaced by the specified " -"*default* value. If *default* is not provided, then the class attribute " -"will be deleted. The intent is that after the :func:`@dataclass " -"` decorator runs, the class attributes will all contain the " -"default values for the fields, just as if the default value itself were " -"specified. For example, after::" -msgstr "" - -#: ../../library/dataclasses.rst:320 -msgid "" -"@dataclass\n" -"class C:\n" -" x: int\n" -" y: int = field(repr=False)\n" -" z: int = field(repr=False, default=10)\n" -" t: int = 20" -msgstr "" - -#: ../../library/dataclasses.rst:327 -msgid "" -"The class attribute :attr:`!C.z` will be ``10``, the class attribute " -":attr:`!C.t` will be ``20``, and the class attributes :attr:`!C.x` and " -":attr:`!C.y` will not be set." -msgstr "" - -#: ../../library/dataclasses.rst:333 -msgid "" -":class:`!Field` objects describe each defined field. These objects are " -"created internally, and are returned by the :func:`fields` module-level " -"method (see below). Users should never instantiate a :class:`!Field` object" -" directly. Its documented attributes are:" -msgstr "" - -#: ../../library/dataclasses.rst:338 -msgid ":attr:`!name`: The name of the field." -msgstr "" - -#: ../../library/dataclasses.rst:339 -msgid ":attr:`!type`: The type of the field." -msgstr "" - -#: ../../library/dataclasses.rst:340 -msgid "" -":attr:`!default`, :attr:`!default_factory`, :attr:`!init`, :attr:`!repr`, " -":attr:`!hash`, :attr:`!compare`, :attr:`!metadata`, and :attr:`!kw_only` " -"have the identical meaning and values as they do in the :func:`field` " -"function." -msgstr "" - -#: ../../library/dataclasses.rst:344 -msgid "" -"Other attributes may exist, but they are private and must not be inspected " -"or relied on." -msgstr "" - -#: ../../library/dataclasses.rst:349 -msgid "" -"``InitVar[T]`` type annotations describe variables that are :ref:`init-only " -"`. Fields annotated with :class:`!InitVar` " -"are considered pseudo-fields, and thus are neither returned by the " -":func:`fields` function nor used in any way except adding them as parameters" -" to :meth:`~object.__init__` and an optional :meth:`__post_init__`." -msgstr "" - -#: ../../library/dataclasses.rst:358 -msgid "" -"Returns a tuple of :class:`Field` objects that define the fields for this " -"dataclass. Accepts either a dataclass, or an instance of a dataclass. " -"Raises :exc:`TypeError` if not passed a dataclass or instance of one. Does " -"not return pseudo-fields which are ``ClassVar`` or ``InitVar``." -msgstr "" - -#: ../../library/dataclasses.rst:365 -msgid "" -"Converts the dataclass *obj* to a dict (by using the factory function " -"*dict_factory*). Each dataclass is converted to a dict of its fields, as " -"``name: value`` pairs. dataclasses, dicts, lists, and tuples are recursed " -"into. Other objects are copied with :func:`copy.deepcopy`." -msgstr "" - -#: ../../library/dataclasses.rst:371 -msgid "Example of using :func:`!asdict` on nested dataclasses::" -msgstr "" - -#: ../../library/dataclasses.rst:373 -msgid "" -"@dataclass\n" -"class Point:\n" -" x: int\n" -" y: int\n" -"\n" -"@dataclass\n" -"class C:\n" -" mylist: list[Point]\n" -"\n" -"p = Point(10, 20)\n" -"assert asdict(p) == {'x': 10, 'y': 20}\n" -"\n" -"c = C([Point(0, 0), Point(10, 4)])\n" -"assert asdict(c) == {'mylist': [{'x': 0, 'y': 0}, {'x': 10, 'y': 4}]}" -msgstr "" - -#: ../../library/dataclasses.rst:388 ../../library/dataclasses.rst:408 -msgid "To create a shallow copy, the following workaround may be used::" -msgstr "" - -#: ../../library/dataclasses.rst:390 -msgid "{field.name: getattr(obj, field.name) for field in fields(obj)}" -msgstr "" - -#: ../../library/dataclasses.rst:392 -msgid "" -":func:`!asdict` raises :exc:`TypeError` if *obj* is not a dataclass " -"instance." -msgstr "" - -#: ../../library/dataclasses.rst:397 -msgid "" -"Converts the dataclass *obj* to a tuple (by using the factory function " -"*tuple_factory*). Each dataclass is converted to a tuple of its field " -"values. dataclasses, dicts, lists, and tuples are recursed into. Other " -"objects are copied with :func:`copy.deepcopy`." -msgstr "" - -#: ../../library/dataclasses.rst:403 -msgid "Continuing from the previous example::" -msgstr "" - -#: ../../library/dataclasses.rst:405 -msgid "" -"assert astuple(p) == (10, 20)\n" -"assert astuple(c) == ([(0, 0), (10, 4)],)" -msgstr "" - -#: ../../library/dataclasses.rst:410 -msgid "tuple(getattr(obj, field.name) for field in dataclasses.fields(obj))" -msgstr "" - -#: ../../library/dataclasses.rst:412 -msgid "" -":func:`!astuple` raises :exc:`TypeError` if *obj* is not a dataclass " -"instance." -msgstr "" - -#: ../../library/dataclasses.rst:417 -msgid "" -"Creates a new dataclass with name *cls_name*, fields as defined in *fields*," -" base classes as given in *bases*, and initialized with a namespace as given" -" in *namespace*. *fields* is an iterable whose elements are each either " -"``name``, ``(name, type)``, or ``(name, type, Field)``. If just ``name`` is" -" supplied, :data:`typing.Any` is used for ``type``. The values of *init*, " -"*repr*, *eq*, *order*, *unsafe_hash*, *frozen*, *match_args*, *kw_only*, " -"*slots*, and *weakref_slot* have the same meaning as they do in " -":func:`@dataclass `." -msgstr "" - -#: ../../library/dataclasses.rst:427 -msgid "" -"If *module* is defined, the :attr:`!__module__` attribute of the dataclass " -"is set to that value. By default, it is set to the module name of the " -"caller." -msgstr "" - -#: ../../library/dataclasses.rst:431 -msgid "" -"The *decorator* parameter is a callable that will be used to create the " -"dataclass. It should take the class object as a first argument and the same " -"keyword arguments as :func:`@dataclass `. By default, the " -":func:`@dataclass ` function is used." -msgstr "" - -#: ../../library/dataclasses.rst:436 -msgid "" -"This function is not strictly required, because any Python mechanism for " -"creating a new class with :attr:`!__annotations__` can then apply the " -":func:`@dataclass ` function to convert that class to a " -"dataclass. This function is provided as a convenience. For example::" -msgstr "" - -#: ../../library/dataclasses.rst:442 -msgid "" -"C = make_dataclass('C',\n" -" [('x', int),\n" -" 'y',\n" -" ('z', int, field(default=5))],\n" -" namespace={'add_one': lambda self: self.x + 1})" -msgstr "" - -#: ../../library/dataclasses.rst:448 -msgid "Is equivalent to::" -msgstr "" - -#: ../../library/dataclasses.rst:450 -msgid "" -"@dataclass\n" -"class C:\n" -" x: int\n" -" y: 'typing.Any'\n" -" z: int = 5\n" -"\n" -" def add_one(self):\n" -" return self.x + 1" -msgstr "" - -#: ../../library/dataclasses.rst:459 -msgid "Added the *decorator* parameter." -msgstr "" - -#: ../../library/dataclasses.rst:464 -msgid "" -"Creates a new object of the same type as *obj*, replacing fields with values" -" from *changes*. If *obj* is not a Data Class, raises :exc:`TypeError`. If" -" keys in *changes* are not field names of the given dataclass, raises " -":exc:`TypeError`." -msgstr "" - -#: ../../library/dataclasses.rst:469 -msgid "" -"The newly returned object is created by calling the :meth:`~object.__init__`" -" method of the dataclass. This ensures that :meth:`__post_init__`, if " -"present, is also called." -msgstr "" - -#: ../../library/dataclasses.rst:473 -msgid "" -"Init-only variables without default values, if any exist, must be specified " -"on the call to :func:`!replace` so that they can be passed to " -":meth:`!__init__` and :meth:`__post_init__`." -msgstr "" - -#: ../../library/dataclasses.rst:477 -msgid "" -"It is an error for *changes* to contain any fields that are defined as " -"having ``init=False``. A :exc:`ValueError` will be raised in this case." -msgstr "" - -#: ../../library/dataclasses.rst:481 -msgid "" -"Be forewarned about how ``init=False`` fields work during a call to " -":func:`!replace`. They are not copied from the source object, but rather " -"are initialized in :meth:`__post_init__`, if they're initialized at all. It" -" is expected that ``init=False`` fields will be rarely and judiciously used." -" If they are used, it might be wise to have alternate class constructors, " -"or perhaps a custom :func:`!replace` (or similarly named) method which " -"handles instance copying." -msgstr "" - -#: ../../library/dataclasses.rst:490 -msgid "" -"Dataclass instances are also supported by generic function " -":func:`copy.replace`." -msgstr "" - -#: ../../library/dataclasses.rst:494 -msgid "" -"Return ``True`` if its parameter is a dataclass (including subclasses of a " -"dataclass) or an instance of one, otherwise return ``False``." -msgstr "" - -#: ../../library/dataclasses.rst:497 -msgid "" -"If you need to know if a class is an instance of a dataclass (and not a " -"dataclass itself), then add a further check for ``not isinstance(obj, " -"type)``::" -msgstr "" - -#: ../../library/dataclasses.rst:501 -msgid "" -"def is_dataclass_instance(obj):\n" -" return is_dataclass(obj) and not isinstance(obj, type)" -msgstr "" - -#: ../../library/dataclasses.rst:506 -msgid "A sentinel value signifying a missing default or default_factory." -msgstr "" - -#: ../../library/dataclasses.rst:510 -msgid "" -"A sentinel value used as a type annotation. Any fields after a pseudo-field" -" with the type of :const:`!KW_ONLY` are marked as keyword-only fields. Note" -" that a pseudo-field of type :const:`!KW_ONLY` is otherwise completely " -"ignored. This includes the name of such a field. By convention, a name of " -"``_`` is used for a :const:`!KW_ONLY` field. Keyword-only fields signify " -":meth:`~object.__init__` parameters that must be specified as keywords when " -"the class is instantiated." -msgstr "" - -#: ../../library/dataclasses.rst:519 -msgid "" -"In this example, the fields ``y`` and ``z`` will be marked as keyword-only " -"fields::" -msgstr "" - -#: ../../library/dataclasses.rst:521 -msgid "" -"@dataclass\n" -"class Point:\n" -" x: float\n" -" _: KW_ONLY\n" -" y: float\n" -" z: float\n" -"\n" -"p = Point(0, y=1.5, z=2.0)" -msgstr "" - -#: ../../library/dataclasses.rst:530 -msgid "" -"In a single dataclass, it is an error to specify more than one field whose " -"type is :const:`!KW_ONLY`." -msgstr "" - -#: ../../library/dataclasses.rst:537 -msgid "" -"Raised when an implicitly defined :meth:`~object.__setattr__` or " -":meth:`~object.__delattr__` is called on a dataclass which was defined with " -"``frozen=True``. It is a subclass of :exc:`AttributeError`." -msgstr "" - -#: ../../library/dataclasses.rst:544 -msgid "Post-init processing" -msgstr "" - -#: ../../library/dataclasses.rst:548 -msgid "" -"When defined on the class, it will be called by the generated " -":meth:`~object.__init__`, normally as :meth:`!self.__post_init__`. However, " -"if any ``InitVar`` fields are defined, they will also be passed to " -":meth:`!__post_init__` in the order they were defined in the class. If no " -":meth:`!__init__` method is generated, then :meth:`!__post_init__` will not " -"automatically be called." -msgstr "" - -#: ../../library/dataclasses.rst:555 -msgid "" -"Among other uses, this allows for initializing field values that depend on " -"one or more other fields. For example::" -msgstr "" - -#: ../../library/dataclasses.rst:558 -msgid "" -"@dataclass\n" -"class C:\n" -" a: float\n" -" b: float\n" -" c: float = field(init=False)\n" -"\n" -" def __post_init__(self):\n" -" self.c = self.a + self.b" -msgstr "" - -#: ../../library/dataclasses.rst:567 -msgid "" -"The :meth:`~object.__init__` method generated by :func:`@dataclass " -"` does not call base class :meth:`!__init__` methods. If the base" -" class has an :meth:`!__init__` method that has to be called, it is common " -"to call this method in a :meth:`__post_init__` method::" -msgstr "" - -#: ../../library/dataclasses.rst:572 -msgid "" -"class Rectangle:\n" -" def __init__(self, height, width):\n" -" self.height = height\n" -" self.width = width\n" -"\n" -"@dataclass\n" -"class Square(Rectangle):\n" -" side: float\n" -"\n" -" def __post_init__(self):\n" -" super().__init__(self.side, self.side)" -msgstr "" - -#: ../../library/dataclasses.rst:584 -msgid "" -"Note, however, that in general the dataclass-generated :meth:`!__init__` " -"methods don't need to be called, since the derived dataclass will take care " -"of initializing all fields of any base class that is a dataclass itself." -msgstr "" - -#: ../../library/dataclasses.rst:588 -msgid "" -"See the section below on init-only variables for ways to pass parameters to " -":meth:`!__post_init__`. Also see the warning about how :func:`replace` " -"handles ``init=False`` fields." -msgstr "" - -#: ../../library/dataclasses.rst:595 -msgid "Class variables" -msgstr "" - -#: ../../library/dataclasses.rst:597 -msgid "" -"One of the few places where :func:`@dataclass ` actually inspects" -" the type of a field is to determine if a field is a class variable as " -"defined in :pep:`526`. It does this by checking if the type of the field is" -" :data:`typing.ClassVar`. If a field is a ``ClassVar``, it is excluded from" -" consideration as a field and is ignored by the dataclass mechanisms. Such " -"``ClassVar`` pseudo-fields are not returned by the module-level " -":func:`fields` function." -msgstr "" - -#: ../../library/dataclasses.rst:608 -msgid "Init-only variables" -msgstr "" - -#: ../../library/dataclasses.rst:610 -msgid "" -"Another place where :func:`@dataclass ` inspects a type " -"annotation is to determine if a field is an init-only variable. It does " -"this by seeing if the type of a field is of type :class:`InitVar`. If a " -"field is an :class:`InitVar`, it is considered a pseudo-field called an " -"init-only field. As it is not a true field, it is not returned by the " -"module-level :func:`fields` function. Init-only fields are added as " -"parameters to the generated :meth:`~object.__init__` method, and are passed " -"to the optional :meth:`__post_init__` method. They are not otherwise used " -"by dataclasses." -msgstr "" - -#: ../../library/dataclasses.rst:620 -msgid "" -"For example, suppose a field will be initialized from a database, if a value" -" is not provided when creating the class::" -msgstr "" - -#: ../../library/dataclasses.rst:623 -msgid "" -"@dataclass\n" -"class C:\n" -" i: int\n" -" j: int | None = None\n" -" database: InitVar[DatabaseType | None] = None\n" -"\n" -" def __post_init__(self, database):\n" -" if self.j is None and database is not None:\n" -" self.j = database.lookup('j')\n" -"\n" -"c = C(10, database=my_database)" -msgstr "" - -#: ../../library/dataclasses.rst:635 -msgid "" -"In this case, :func:`fields` will return :class:`Field` objects for " -":attr:`!i` and :attr:`!j`, but not for :attr:`!database`." -msgstr "" - -#: ../../library/dataclasses.rst:641 -msgid "Frozen instances" -msgstr "" - -#: ../../library/dataclasses.rst:643 -msgid "" -"It is not possible to create truly immutable Python objects. However, by " -"passing ``frozen=True`` to the :func:`@dataclass ` decorator you " -"can emulate immutability. In that case, dataclasses will add " -":meth:`~object.__setattr__` and :meth:`~object.__delattr__` methods to the " -"class. These methods will raise a :exc:`FrozenInstanceError` when invoked." -msgstr "" - -#: ../../library/dataclasses.rst:649 -msgid "" -"There is a tiny performance penalty when using ``frozen=True``: " -":meth:`~object.__init__` cannot use simple assignment to initialize fields, " -"and must use :meth:`!object.__setattr__`." -msgstr "" - -#: ../../library/dataclasses.rst:658 -msgid "Inheritance" -msgstr "Pewarisan" - -#: ../../library/dataclasses.rst:660 -msgid "" -"When the dataclass is being created by the :func:`@dataclass ` " -"decorator, it looks through all of the class's base classes in reverse MRO " -"(that is, starting at :class:`object`) and, for each dataclass that it " -"finds, adds the fields from that base class to an ordered mapping of fields." -" After all of the base class fields are added, it adds its own fields to the" -" ordered mapping. All of the generated methods will use this combined, " -"calculated ordered mapping of fields. Because the fields are in insertion " -"order, derived classes override base classes. An example::" -msgstr "" - -#: ../../library/dataclasses.rst:670 -msgid "" -"@dataclass\n" -"class Base:\n" -" x: Any = 15.0\n" -" y: int = 0\n" -"\n" -"@dataclass\n" -"class C(Base):\n" -" z: int = 10\n" -" x: int = 15" -msgstr "" - -#: ../../library/dataclasses.rst:680 -msgid "" -"The final list of fields is, in order, :attr:`!x`, :attr:`!y`, :attr:`!z`. " -"The final type of :attr:`!x` is :class:`int`, as specified in class " -":class:`!C`." -msgstr "" - -#: ../../library/dataclasses.rst:683 -msgid "" -"The generated :meth:`~object.__init__` method for :class:`!C` will look " -"like::" -msgstr "" - -#: ../../library/dataclasses.rst:685 -msgid "def __init__(self, x: int = 15, y: int = 0, z: int = 10):" -msgstr "" - -#: ../../library/dataclasses.rst:688 -msgid "Re-ordering of keyword-only parameters in :meth:`!__init__`" -msgstr "" - -#: ../../library/dataclasses.rst:690 -msgid "" -"After the parameters needed for :meth:`~object.__init__` are computed, any " -"keyword-only parameters are moved to come after all regular (non-keyword-" -"only) parameters. This is a requirement of how keyword-only parameters are " -"implemented in Python: they must come after non-keyword-only parameters." -msgstr "" - -#: ../../library/dataclasses.rst:696 -msgid "" -"In this example, :attr:`!Base.y`, :attr:`!Base.w`, and :attr:`!D.t` are " -"keyword-only fields, and :attr:`!Base.x` and :attr:`!D.z` are regular " -"fields::" -msgstr "" - -#: ../../library/dataclasses.rst:699 -msgid "" -"@dataclass\n" -"class Base:\n" -" x: Any = 15.0\n" -" _: KW_ONLY\n" -" y: int = 0\n" -" w: int = 1\n" -"\n" -"@dataclass\n" -"class D(Base):\n" -" z: int = 10\n" -" t: int = field(kw_only=True, default=0)" -msgstr "" - -#: ../../library/dataclasses.rst:711 -msgid "" -"The generated :meth:`!__init__` method for :class:`!D` will look like::" -msgstr "" - -#: ../../library/dataclasses.rst:713 -msgid "" -"def __init__(self, x: Any = 15.0, z: int = 10, *, y: int = 0, w: int = 1, t:" -" int = 0):" -msgstr "" - -#: ../../library/dataclasses.rst:715 -msgid "" -"Note that the parameters have been re-ordered from how they appear in the " -"list of fields: parameters derived from regular fields are followed by " -"parameters derived from keyword-only fields." -msgstr "" - -#: ../../library/dataclasses.rst:719 -msgid "" -"The relative ordering of keyword-only parameters is maintained in the re-" -"ordered :meth:`!__init__` parameter list." -msgstr "" - -#: ../../library/dataclasses.rst:724 -msgid "Default factory functions" -msgstr "" - -#: ../../library/dataclasses.rst:726 -msgid "" -"If a :func:`field` specifies a *default_factory*, it is called with zero " -"arguments when a default value for the field is needed. For example, to " -"create a new instance of a list, use::" -msgstr "" - -#: ../../library/dataclasses.rst:730 -msgid "mylist: list = field(default_factory=list)" -msgstr "" - -#: ../../library/dataclasses.rst:732 -msgid "" -"If a field is excluded from :meth:`~object.__init__` (using ``init=False``) " -"and the field also specifies *default_factory*, then the default factory " -"function will always be called from the generated :meth:`!__init__` " -"function. This happens because there is no other way to give the field an " -"initial value." -msgstr "" - -#: ../../library/dataclasses.rst:739 -msgid "Mutable default values" -msgstr "" - -#: ../../library/dataclasses.rst:741 -msgid "" -"Python stores default member variable values in class attributes. Consider " -"this example, not using dataclasses::" -msgstr "" - -#: ../../library/dataclasses.rst:744 -msgid "" -"class C:\n" -" x = []\n" -" def add(self, element):\n" -" self.x.append(element)\n" -"\n" -"o1 = C()\n" -"o2 = C()\n" -"o1.add(1)\n" -"o2.add(2)\n" -"assert o1.x == [1, 2]\n" -"assert o1.x is o2.x" -msgstr "" - -#: ../../library/dataclasses.rst:756 -msgid "" -"Note that the two instances of class :class:`!C` share the same class " -"variable :attr:`!x`, as expected." -msgstr "" - -#: ../../library/dataclasses.rst:759 -msgid "Using dataclasses, *if* this code was valid::" -msgstr "" - -#: ../../library/dataclasses.rst:761 -msgid "" -"@dataclass\n" -"class D:\n" -" x: list = [] # This code raises ValueError\n" -" def add(self, element):\n" -" self.x.append(element)" -msgstr "" - -#: ../../library/dataclasses.rst:767 -msgid "it would generate code similar to::" -msgstr "" - -#: ../../library/dataclasses.rst:769 -msgid "" -"class D:\n" -" x = []\n" -" def __init__(self, x=x):\n" -" self.x = x\n" -" def add(self, element):\n" -" self.x.append(element)\n" -"\n" -"assert D().x is D().x" -msgstr "" - -#: ../../library/dataclasses.rst:778 -msgid "" -"This has the same issue as the original example using class :class:`!C`. " -"That is, two instances of class :class:`!D` that do not specify a value for " -":attr:`!x` when creating a class instance will share the same copy of " -":attr:`!x`. Because dataclasses just use normal Python class creation they " -"also share this behavior. There is no general way for Data Classes to " -"detect this condition. Instead, the :func:`@dataclass ` " -"decorator will raise a :exc:`ValueError` if it detects an unhashable default" -" parameter. The assumption is that if a value is unhashable, it is mutable." -" This is a partial solution, but it does protect against many common " -"errors." -msgstr "" - -#: ../../library/dataclasses.rst:789 -msgid "" -"Using default factory functions is a way to create new instances of mutable " -"types as default values for fields::" -msgstr "" - -#: ../../library/dataclasses.rst:792 -msgid "" -"@dataclass\n" -"class D:\n" -" x: list = field(default_factory=list)\n" -"\n" -"assert D().x is not D().x" -msgstr "" - -#: ../../library/dataclasses.rst:798 -msgid "" -"Instead of looking for and disallowing objects of type :class:`list`, " -":class:`dict`, or :class:`set`, unhashable objects are now not allowed as " -"default values. Unhashability is used to approximate mutability." -msgstr "" - -#: ../../library/dataclasses.rst:805 -msgid "Descriptor-typed fields" -msgstr "" - -#: ../../library/dataclasses.rst:807 -msgid "" -"Fields that are assigned :ref:`descriptor objects ` as their " -"default value have the following special behaviors:" -msgstr "" - -#: ../../library/dataclasses.rst:810 -msgid "" -"The value for the field passed to the dataclass's :meth:`~object.__init__` " -"method is passed to the descriptor's :meth:`~object.__set__` method rather " -"than overwriting the descriptor object." -msgstr "" - -#: ../../library/dataclasses.rst:814 -msgid "" -"Similarly, when getting or setting the field, the descriptor's " -":meth:`~object.__get__` or :meth:`!__set__` method is called rather than " -"returning or overwriting the descriptor object." -msgstr "" - -#: ../../library/dataclasses.rst:818 -msgid "" -"To determine whether a field contains a default value, :func:`@dataclass " -"` will call the descriptor's :meth:`!__get__` method using its " -"class access form: ``descriptor.__get__(obj=None, type=cls)``. If the " -"descriptor returns a value in this case, it will be used as the field's " -"default. On the other hand, if the descriptor raises :exc:`AttributeError` " -"in this situation, no default value will be provided for the field." -msgstr "" - -#: ../../library/dataclasses.rst:828 -msgid "" -"class IntConversionDescriptor:\n" -" def __init__(self, *, default):\n" -" self._default = default\n" -"\n" -" def __set_name__(self, owner, name):\n" -" self._name = \"_\" + name\n" -"\n" -" def __get__(self, obj, type):\n" -" if obj is None:\n" -" return self._default\n" -"\n" -" return getattr(obj, self._name, self._default)\n" -"\n" -" def __set__(self, obj, value):\n" -" setattr(obj, self._name, int(value))\n" -"\n" -"@dataclass\n" -"class InventoryItem:\n" -" quantity_on_hand: IntConversionDescriptor = IntConversionDescriptor(default=100)\n" -"\n" -"i = InventoryItem()\n" -"print(i.quantity_on_hand) # 100\n" -"i.quantity_on_hand = 2.5 # calls __set__ with 2.5\n" -"print(i.quantity_on_hand) # 2" -msgstr "" - -#: ../../library/dataclasses.rst:853 -msgid "" -"Note that if a field is annotated with a descriptor type, but is not " -"assigned a descriptor object as its default value, the field will act like a" -" normal field." -msgstr "" diff --git a/python-newest.library--datatypes/id.po b/python-newest.library--datatypes/id.po deleted file mode 100644 index 70cdff3..0000000 --- a/python-newest.library--datatypes/id.po +++ /dev/null @@ -1,53 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/datatypes.rst:5 -msgid "Data Types" -msgstr "Tipe Data" - -#: ../../library/datatypes.rst:7 -msgid "" -"The modules described in this chapter provide a variety of specialized data " -"types such as dates and times, fixed-type arrays, heap queues, double-ended " -"queues, and enumerations." -msgstr "" -"Modul yang dijelaskan dalam bab ini menyediakan berbagai tipe data khusus " -"seperti tanggal dan waktu, array tipe-tetap, antrian tumpukan, antrian ujung" -" ganda, dan enumerasi." - -#: ../../library/datatypes.rst:11 -msgid "" -"Python also provides some built-in data types, in particular, :class:`dict`," -" :class:`list`, :class:`set` and :class:`frozenset`, and :class:`tuple`. " -"The :class:`str` class is used to hold Unicode strings, and the " -":class:`bytes` and :class:`bytearray` classes are used to hold binary data." -msgstr "" -"Python juga menyediakan beberapa tipe data bawaan, khususnya, :class:`dict`," -" :class:`list`, :class:`set` dan :class:`frozenset`, dan :class:`tuple`. " -"Kelas :class:`str` digunakan untuk menyimpan string Unicode, dan " -":class:`bytes` dan :class:`bytearray` kelas digunakan untuk menyimpan data " -"biner." - -#: ../../library/datatypes.rst:17 -msgid "The following modules are documented in this chapter:" -msgstr "Modul-modul berikut didokumentasikan dalam bab ini:" diff --git a/python-newest.library--datetime/id.po b/python-newest.library--datetime/id.po deleted file mode 100644 index 5522540..0000000 --- a/python-newest.library--datetime/id.po +++ /dev/null @@ -1,4180 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Kahuro Ayaka , 2021 -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/datetime.rst:2 -msgid ":mod:`!datetime` --- Basic date and time types" -msgstr "" - -#: ../../library/datetime.rst:11 -msgid "**Source code:** :source:`Lib/datetime.py`" -msgstr "" - -#: ../../library/datetime.rst:17 -msgid "" -"The :mod:`!datetime` module supplies classes for manipulating dates and " -"times." -msgstr "" - -#: ../../library/datetime.rst:19 -msgid "" -"While date and time arithmetic is supported, the focus of the implementation" -" is on efficient attribute extraction for output formatting and " -"manipulation." -msgstr "" - -#: ../../library/datetime.rst:24 -msgid "Skip to :ref:`the format codes `." -msgstr "" - -#: ../../library/datetime.rst:28 -msgid "Module :mod:`calendar`" -msgstr "Modul :mod:`calendar`" - -#: ../../library/datetime.rst:29 -msgid "General calendar related functions." -msgstr "" - -#: ../../library/datetime.rst:31 -msgid "Module :mod:`time`" -msgstr "Modul :mod:`time`" - -#: ../../library/datetime.rst:32 -msgid "Time access and conversions." -msgstr "" - -#: ../../library/datetime.rst:34 -msgid "Module :mod:`zoneinfo`" -msgstr "" - -#: ../../library/datetime.rst:35 -msgid "Concrete time zones representing the IANA time zone database." -msgstr "" - -#: ../../library/datetime.rst:37 -msgid "Package `dateutil `_" -msgstr "" - -#: ../../library/datetime.rst:38 -msgid "Third-party library with expanded time zone and parsing support." -msgstr "" - -#: ../../library/datetime.rst:40 -msgid "Package :pypi:`DateType`" -msgstr "" - -#: ../../library/datetime.rst:41 -msgid "" -"Third-party library that introduces distinct static types to e.g. allow " -":term:`static type checkers ` to differentiate between " -"naive and aware datetimes." -msgstr "" - -#: ../../library/datetime.rst:48 -msgid "Aware and Naive Objects" -msgstr "" - -#: ../../library/datetime.rst:50 -msgid "" -"Date and time objects may be categorized as \"aware\" or \"naive\" depending" -" on whether or not they include time zone information." -msgstr "" - -#: ../../library/datetime.rst:53 -msgid "" -"With sufficient knowledge of applicable algorithmic and political time " -"adjustments, such as time zone and daylight saving time information, an " -"**aware** object can locate itself relative to other aware objects. An aware" -" object represents a specific moment in time that is not open to " -"interpretation. [#]_" -msgstr "" - -#: ../../library/datetime.rst:59 -msgid "" -"A **naive** object does not contain enough information to unambiguously " -"locate itself relative to other date/time objects. Whether a naive object " -"represents Coordinated Universal Time (UTC), local time, or time in some " -"other time zone is purely up to the program, just like it is up to the " -"program whether a particular number represents metres, miles, or mass. Naive" -" objects are easy to understand and to work with, at the cost of ignoring " -"some aspects of reality." -msgstr "" - -#: ../../library/datetime.rst:66 -msgid "" -"For applications requiring aware objects, :class:`.datetime` and " -":class:`.time` objects have an optional time zone information attribute, " -":attr:`!tzinfo`, that can be set to an instance of a subclass of the " -"abstract :class:`tzinfo` class. These :class:`tzinfo` objects capture " -"information about the offset from UTC time, the time zone name, and whether " -"daylight saving time is in effect." -msgstr "" - -#: ../../library/datetime.rst:72 -msgid "" -"Only one concrete :class:`tzinfo` class, the :class:`timezone` class, is " -"supplied by the :mod:`!datetime` module. The :class:`!timezone` class can " -"represent simple time zones with fixed offsets from UTC, such as UTC itself " -"or North American EST and EDT time zones. Supporting time zones at deeper " -"levels of detail is up to the application. The rules for time adjustment " -"across the world are more political than rational, change frequently, and " -"there is no standard suitable for every application aside from UTC." -msgstr "" - -#: ../../library/datetime.rst:81 -msgid "Constants" -msgstr "Konstanta" - -#: ../../library/datetime.rst:83 -msgid "The :mod:`!datetime` module exports the following constants:" -msgstr "" - -#: ../../library/datetime.rst:87 -msgid "" -"The smallest year number allowed in a :class:`date` or :class:`.datetime` " -"object. :const:`MINYEAR` is 1." -msgstr "" - -#: ../../library/datetime.rst:93 -msgid "" -"The largest year number allowed in a :class:`date` or :class:`.datetime` " -"object. :const:`MAXYEAR` is 9999." -msgstr "" - -#: ../../library/datetime.rst:98 -msgid "Alias for the UTC time zone singleton :attr:`datetime.timezone.utc`." -msgstr "" - -#: ../../library/datetime.rst:103 -msgid "Available Types" -msgstr "" - -#: ../../library/datetime.rst:108 -msgid "" -"An idealized naive date, assuming the current Gregorian calendar always was," -" and always will be, in effect. Attributes: :attr:`year`, :attr:`month`, and" -" :attr:`day`." -msgstr "" - -#: ../../library/datetime.rst:116 -msgid "" -"An idealized time, independent of any particular day, assuming that every " -"day has exactly 24\\*60\\*60 seconds. (There is no notion of \"leap " -"seconds\" here.) Attributes: :attr:`hour`, :attr:`minute`, :attr:`second`, " -":attr:`microsecond`, and :attr:`.tzinfo`." -msgstr "" - -#: ../../library/datetime.rst:125 -msgid "" -"A combination of a date and a time. Attributes: :attr:`year`, :attr:`month`," -" :attr:`day`, :attr:`hour`, :attr:`minute`, :attr:`second`, " -":attr:`microsecond`, and :attr:`.tzinfo`." -msgstr "" - -#: ../../library/datetime.rst:133 -msgid "" -"A duration expressing the difference between two :class:`.datetime` or " -":class:`date` instances to microsecond resolution." -msgstr "" - -#: ../../library/datetime.rst:140 -msgid "" -"An abstract base class for time zone information objects. These are used by " -"the :class:`.datetime` and :class:`.time` classes to provide a customizable " -"notion of time adjustment (for example, to account for time zone and/or " -"daylight saving time)." -msgstr "" - -#: ../../library/datetime.rst:148 -msgid "" -"A class that implements the :class:`tzinfo` abstract base class as a fixed " -"offset from the UTC." -msgstr "" - -#: ../../library/datetime.rst:153 ../../library/datetime.rst:171 -msgid "Objects of these types are immutable." -msgstr "" - -#: ../../library/datetime.rst:155 -msgid "Subclass relationships::" -msgstr "" - -#: ../../library/datetime.rst:157 -msgid "" -"object\n" -" timedelta\n" -" tzinfo\n" -" timezone\n" -" time\n" -" date\n" -" datetime" -msgstr "" - -#: ../../library/datetime.rst:166 -msgid "Common Properties" -msgstr "" - -#: ../../library/datetime.rst:168 -msgid "" -"The :class:`date`, :class:`.datetime`, :class:`.time`, and :class:`timezone`" -" types share these common features:" -msgstr "" - -#: ../../library/datetime.rst:172 -msgid "" -"Objects of these types are :term:`hashable`, meaning that they can be used " -"as dictionary keys." -msgstr "" - -#: ../../library/datetime.rst:174 -msgid "" -"Objects of these types support efficient pickling via the :mod:`pickle` " -"module." -msgstr "" - -#: ../../library/datetime.rst:177 -msgid "Determining if an Object is Aware or Naive" -msgstr "" - -#: ../../library/datetime.rst:179 -msgid "Objects of the :class:`date` type are always naive." -msgstr "" - -#: ../../library/datetime.rst:181 -msgid "" -"An object of type :class:`.time` or :class:`.datetime` may be aware or " -"naive." -msgstr "" - -#: ../../library/datetime.rst:183 -msgid "" -"A :class:`.datetime` object ``d`` is aware if both of the following hold:" -msgstr "" - -#: ../../library/datetime.rst:185 -msgid "``d.tzinfo`` is not ``None``" -msgstr "" - -#: ../../library/datetime.rst:186 -msgid "``d.tzinfo.utcoffset(d)`` does not return ``None``" -msgstr "" - -#: ../../library/datetime.rst:188 -msgid "Otherwise, ``d`` is naive." -msgstr "" - -#: ../../library/datetime.rst:190 -msgid "A :class:`.time` object ``t`` is aware if both of the following hold:" -msgstr "" - -#: ../../library/datetime.rst:192 -msgid "``t.tzinfo`` is not ``None``" -msgstr "" - -#: ../../library/datetime.rst:193 -msgid "``t.tzinfo.utcoffset(None)`` does not return ``None``." -msgstr "" - -#: ../../library/datetime.rst:195 -msgid "Otherwise, ``t`` is naive." -msgstr "" - -#: ../../library/datetime.rst:197 -msgid "" -"The distinction between aware and naive doesn't apply to :class:`timedelta` " -"objects." -msgstr "" - -#: ../../library/datetime.rst:203 -msgid ":class:`timedelta` Objects" -msgstr "" - -#: ../../library/datetime.rst:205 -msgid "" -"A :class:`timedelta` object represents a duration, the difference between " -"two :class:`.datetime` or :class:`date` instances." -msgstr "" - -#: ../../library/datetime.rst:210 -msgid "" -"All arguments are optional and default to 0. Arguments may be integers or " -"floats, and may be positive or negative." -msgstr "" - -#: ../../library/datetime.rst:213 -msgid "" -"Only *days*, *seconds* and *microseconds* are stored internally. Arguments " -"are converted to those units:" -msgstr "" - -#: ../../library/datetime.rst:216 -msgid "A millisecond is converted to 1000 microseconds." -msgstr "" - -#: ../../library/datetime.rst:217 -msgid "A minute is converted to 60 seconds." -msgstr "" - -#: ../../library/datetime.rst:218 -msgid "An hour is converted to 3600 seconds." -msgstr "" - -#: ../../library/datetime.rst:219 -msgid "A week is converted to 7 days." -msgstr "" - -#: ../../library/datetime.rst:221 -msgid "" -"and days, seconds and microseconds are then normalized so that the " -"representation is unique, with" -msgstr "" - -#: ../../library/datetime.rst:224 -msgid "``0 <= microseconds < 1000000``" -msgstr "``0 <= microseconds < 1000000``" - -#: ../../library/datetime.rst:225 -msgid "``0 <= seconds < 3600*24`` (the number of seconds in one day)" -msgstr "``0 <= seconds < 3600*24`` (the number of seconds in one day)" - -#: ../../library/datetime.rst:226 -msgid "``-999999999 <= days <= 999999999``" -msgstr "``-999999999 <= days <= 999999999``" - -#: ../../library/datetime.rst:228 -msgid "" -"The following example illustrates how any arguments besides *days*, " -"*seconds* and *microseconds* are \"merged\" and normalized into those three " -"resulting attributes::" -msgstr "" - -#: ../../library/datetime.rst:232 -msgid "" -">>> from datetime import timedelta\n" -">>> delta = timedelta(\n" -"... days=50,\n" -"... seconds=27,\n" -"... microseconds=10,\n" -"... milliseconds=29000,\n" -"... minutes=5,\n" -"... hours=8,\n" -"... weeks=2\n" -"... )\n" -">>> # Only days, seconds, and microseconds remain\n" -">>> delta\n" -"datetime.timedelta(days=64, seconds=29156, microseconds=10)" -msgstr "" - -#: ../../library/datetime.rst:246 -msgid "" -"If any argument is a float and there are fractional microseconds, the " -"fractional microseconds left over from all arguments are combined and their " -"sum is rounded to the nearest microsecond using round-half-to-even " -"tiebreaker. If no argument is a float, the conversion and normalization " -"processes are exact (no information is lost)." -msgstr "" - -#: ../../library/datetime.rst:253 -msgid "" -"If the normalized value of days lies outside the indicated range, " -":exc:`OverflowError` is raised." -msgstr "" - -#: ../../library/datetime.rst:256 -msgid "" -"Note that normalization of negative values may be surprising at first. For " -"example::" -msgstr "" - -#: ../../library/datetime.rst:259 -msgid "" -">>> from datetime import timedelta\n" -">>> d = timedelta(microseconds=-1)\n" -">>> (d.days, d.seconds, d.microseconds)\n" -"(-1, 86399, 999999)" -msgstr "" - -#: ../../library/datetime.rst:265 ../../library/datetime.rst:599 -#: ../../library/datetime.rst:1159 ../../library/datetime.rst:1797 -#: ../../library/datetime.rst:2418 -msgid "Class attributes:" -msgstr "" - -#: ../../library/datetime.rst:269 -msgid "" -"The most negative :class:`timedelta` object, ``timedelta(-999999999)``." -msgstr "" - -#: ../../library/datetime.rst:274 -msgid "" -"The most positive :class:`timedelta` object, ``timedelta(days=999999999, " -"hours=23, minutes=59, seconds=59, microseconds=999999)``." -msgstr "" - -#: ../../library/datetime.rst:280 -msgid "" -"The smallest possible difference between non-equal :class:`timedelta` " -"objects, ``timedelta(microseconds=1)``." -msgstr "" - -#: ../../library/datetime.rst:283 -msgid "" -"Note that, because of normalization, ``timedelta.max`` is greater than " -"``-timedelta.min``. ``-timedelta.max`` is not representable as a " -":class:`timedelta` object." -msgstr "" - -#: ../../library/datetime.rst:287 ../../library/datetime.rst:617 -#: ../../library/datetime.rst:1179 ../../library/datetime.rst:1817 -msgid "Instance attributes (read-only):" -msgstr "" - -#: ../../library/datetime.rst:291 -msgid "Between -999,999,999 and 999,999,999 inclusive." -msgstr "" - -#: ../../library/datetime.rst:296 -msgid "Between 0 and 86,399 inclusive." -msgstr "" - -#: ../../library/datetime.rst:300 -msgid "" -"It is a somewhat common bug for code to unintentionally use this attribute " -"when it is actually intended to get a :meth:`~timedelta.total_seconds` value" -" instead:" -msgstr "" - -#: ../../library/datetime.rst:304 -msgid "" -">>> from datetime import timedelta\n" -">>> duration = timedelta(seconds=11235813)\n" -">>> duration.days, duration.seconds\n" -"(130, 3813)\n" -">>> duration.total_seconds()\n" -"11235813.0" -msgstr "" - -#: ../../library/datetime.rst:315 -msgid "Between 0 and 999,999 inclusive." -msgstr "" - -#: ../../library/datetime.rst:318 ../../library/datetime.rst:634 -#: ../../library/datetime.rst:1232 -msgid "Supported operations:" -msgstr "" - -#: ../../library/datetime.rst:323 ../../library/datetime.rst:637 -#: ../../library/datetime.rst:1235 -msgid "Operation" -msgstr "Operasi" - -#: ../../library/datetime.rst:323 ../../library/datetime.rst:637 -#: ../../library/datetime.rst:1235 -msgid "Result" -msgstr "Hasil" - -#: ../../library/datetime.rst:325 -msgid "``t1 = t2 + t3``" -msgstr "``t1 = t2 + t3``" - -#: ../../library/datetime.rst:325 -msgid "" -"Sum of ``t2`` and ``t3``. Afterwards ``t1 - t2 == t3`` and ``t1 - t3 == t2``" -" are true. (1)" -msgstr "" - -#: ../../library/datetime.rst:329 -msgid "``t1 = t2 - t3``" -msgstr "" - -#: ../../library/datetime.rst:329 -msgid "" -"Difference of ``t2`` and ``t3``. Afterwards ``t1 == t2 - t3`` and ``t2 == " -"t1 + t3`` are true. (1)(6)" -msgstr "" - -#: ../../library/datetime.rst:333 -msgid "``t1 = t2 * i or t1 = i * t2``" -msgstr "``t1 = t2 * i or t1 = i * t2``" - -#: ../../library/datetime.rst:333 -msgid "" -"Delta multiplied by an integer. Afterwards ``t1 // i == t2`` is true, " -"provided ``i != 0``." -msgstr "" - -#: ../../library/datetime.rst:337 -msgid "In general, ``t1 * i == t1 * (i-1) + t1`` is true. (1)" -msgstr "" - -#: ../../library/datetime.rst:340 -msgid "``t1 = t2 * f or t1 = f * t2``" -msgstr "``t1 = t2 * f or t1 = f * t2``" - -#: ../../library/datetime.rst:340 -msgid "" -"Delta multiplied by a float. The result is rounded to the nearest multiple " -"of timedelta.resolution using round-half-to-even." -msgstr "" - -#: ../../library/datetime.rst:344 -msgid "``f = t2 / t3``" -msgstr "" - -#: ../../library/datetime.rst:344 -msgid "" -"Division (3) of overall duration ``t2`` by interval unit ``t3``. Returns a " -":class:`float` object." -msgstr "" - -#: ../../library/datetime.rst:348 -msgid "``t1 = t2 / f or t1 = t2 / i``" -msgstr "``t1 = t2 / f or t1 = t2 / i``" - -#: ../../library/datetime.rst:348 -msgid "" -"Delta divided by a float or an int. The result is rounded to the nearest " -"multiple of timedelta.resolution using round-half-to-even." -msgstr "" - -#: ../../library/datetime.rst:352 -msgid "``t1 = t2 // i`` or ``t1 = t2 // t3``" -msgstr "``t1 = t2 // i`` or ``t1 = t2 // t3``" - -#: ../../library/datetime.rst:352 -msgid "" -"The floor is computed and the remainder (if any) is thrown away. In the " -"second case, an integer is returned. (3)" -msgstr "" - -#: ../../library/datetime.rst:356 -msgid "``t1 = t2 % t3``" -msgstr "``t1 = t2 % t3``" - -#: ../../library/datetime.rst:356 -msgid "The remainder is computed as a :class:`timedelta` object. (3)" -msgstr "" - -#: ../../library/datetime.rst:359 -msgid "``q, r = divmod(t1, t2)``" -msgstr "" - -#: ../../library/datetime.rst:359 -msgid "" -"Computes the quotient and the remainder: ``q = t1 // t2`` (3) and ``r = t1 %" -" t2``. ``q`` is an integer and ``r`` is a :class:`timedelta` object." -msgstr "" - -#: ../../library/datetime.rst:364 -msgid "``+t1``" -msgstr "``+t1``" - -#: ../../library/datetime.rst:364 -msgid "Returns a :class:`timedelta` object with the same value. (2)" -msgstr "" - -#: ../../library/datetime.rst:367 -msgid "``-t1``" -msgstr "``-t1``" - -#: ../../library/datetime.rst:367 -msgid "" -"Equivalent to ``timedelta(-t1.days, -t1.seconds, -t1.microseconds)``, and to" -" ``t1 * -1``. (1)(4)" -msgstr "" - -#: ../../library/datetime.rst:371 -msgid "``abs(t)``" -msgstr "``abs(t)``" - -#: ../../library/datetime.rst:371 -msgid "" -"Equivalent to ``+t`` when ``t.days >= 0``, and to ``-t`` when ``t.days < " -"0``. (2)" -msgstr "" - -#: ../../library/datetime.rst:374 -msgid "``str(t)``" -msgstr "``str(t)``" - -#: ../../library/datetime.rst:374 -msgid "" -"Returns a string in the form ``[D day[s], ][H]H:MM:SS[.UUUUUU]``, where D is" -" negative for negative ``t``. (5)" -msgstr "" - -#: ../../library/datetime.rst:378 -msgid "``repr(t)``" -msgstr "``repr(t)``" - -#: ../../library/datetime.rst:378 -msgid "" -"Returns a string representation of the :class:`timedelta` object as a " -"constructor call with canonical attribute values." -msgstr "" - -#: ../../library/datetime.rst:384 ../../library/datetime.rst:656 -#: ../../library/datetime.rst:2647 -msgid "Notes:" -msgstr "Catatan:" - -#: ../../library/datetime.rst:387 -msgid "This is exact but may overflow." -msgstr "" - -#: ../../library/datetime.rst:390 -msgid "This is exact and cannot overflow." -msgstr "" - -#: ../../library/datetime.rst:393 -msgid "Division by zero raises :exc:`ZeroDivisionError`." -msgstr "" - -#: ../../library/datetime.rst:396 -msgid "" -"``-timedelta.max`` is not representable as a :class:`timedelta` object." -msgstr "" - -#: ../../library/datetime.rst:399 -msgid "" -"String representations of :class:`timedelta` objects are normalized " -"similarly to their internal representation. This leads to somewhat unusual " -"results for negative timedeltas. For example::" -msgstr "" - -#: ../../library/datetime.rst:403 -msgid "" -">>> timedelta(hours=-5)\n" -"datetime.timedelta(days=-1, seconds=68400)\n" -">>> print(_)\n" -"-1 day, 19:00:00" -msgstr "" - -#: ../../library/datetime.rst:409 -msgid "" -"The expression ``t2 - t3`` will always be equal to the expression ``t2 + " -"(-t3)`` except when t3 is equal to ``timedelta.max``; in that case the " -"former will produce a result while the latter will overflow." -msgstr "" - -#: ../../library/datetime.rst:413 -msgid "" -"In addition to the operations listed above, :class:`timedelta` objects " -"support certain additions and subtractions with :class:`date` and " -":class:`.datetime` objects (see below)." -msgstr "" - -#: ../../library/datetime.rst:417 -msgid "" -"Floor division and true division of a :class:`timedelta` object by another " -":class:`timedelta` object are now supported, as are remainder operations and" -" the :func:`divmod` function. True division and multiplication of a " -":class:`timedelta` object by a :class:`float` object are now supported." -msgstr "" - -#: ../../library/datetime.rst:423 -msgid ":class:`timedelta` objects support equality and order comparisons." -msgstr "" - -#: ../../library/datetime.rst:425 -msgid "" -"In Boolean contexts, a :class:`timedelta` object is considered to be true if" -" and only if it isn't equal to ``timedelta(0)``." -msgstr "" - -#: ../../library/datetime.rst:428 ../../library/datetime.rst:698 -#: ../../library/datetime.rst:1322 ../../library/datetime.rst:1940 -msgid "Instance methods:" -msgstr "" - -#: ../../library/datetime.rst:432 -msgid "" -"Return the total number of seconds contained in the duration. Equivalent to " -"``td / timedelta(seconds=1)``. For interval units other than seconds, use " -"the division form directly (e.g. ``td / timedelta(microseconds=1)``)." -msgstr "" - -#: ../../library/datetime.rst:436 -msgid "" -"Note that for very large time intervals (greater than 270 years on most " -"platforms) this method will lose microsecond accuracy." -msgstr "" - -#: ../../library/datetime.rst:442 -msgid "Examples of usage: :class:`timedelta`" -msgstr "" - -#: ../../library/datetime.rst:444 -msgid "An additional example of normalization::" -msgstr "" - -#: ../../library/datetime.rst:446 -msgid "" -">>> # Components of another_year add up to exactly 365 days\n" -">>> from datetime import timedelta\n" -">>> year = timedelta(days=365)\n" -">>> another_year = timedelta(weeks=40, days=84, hours=23,\n" -"... minutes=50, seconds=600)\n" -">>> year == another_year\n" -"True\n" -">>> year.total_seconds()\n" -"31536000.0" -msgstr "" - -#: ../../library/datetime.rst:456 -msgid "Examples of :class:`timedelta` arithmetic::" -msgstr "" - -#: ../../library/datetime.rst:458 -msgid "" -">>> from datetime import timedelta\n" -">>> year = timedelta(days=365)\n" -">>> ten_years = 10 * year\n" -">>> ten_years\n" -"datetime.timedelta(days=3650)\n" -">>> ten_years.days // 365\n" -"10\n" -">>> nine_years = ten_years - year\n" -">>> nine_years\n" -"datetime.timedelta(days=3285)\n" -">>> three_years = nine_years // 3\n" -">>> three_years, three_years.days // 365\n" -"(datetime.timedelta(days=1095), 3)" -msgstr "" - -#: ../../library/datetime.rst:475 -msgid ":class:`date` Objects" -msgstr "" - -#: ../../library/datetime.rst:477 -msgid "" -"A :class:`date` object represents a date (year, month and day) in an " -"idealized calendar, the current Gregorian calendar indefinitely extended in " -"both directions." -msgstr "" - -#: ../../library/datetime.rst:481 -msgid "" -"January 1 of year 1 is called day number 1, January 2 of year 1 is called " -"day number 2, and so on. [#]_" -msgstr "" - -#: ../../library/datetime.rst:486 -msgid "" -"All arguments are required. Arguments must be integers, in the following " -"ranges:" -msgstr "" - -#: ../../library/datetime.rst:489 -msgid "``MINYEAR <= year <= MAXYEAR``" -msgstr "``MINYEAR <= year <= MAXYEAR``" - -#: ../../library/datetime.rst:490 -msgid "``1 <= month <= 12``" -msgstr "``1 <= month <= 12``" - -#: ../../library/datetime.rst:491 -msgid "``1 <= day <= number of days in the given month and year``" -msgstr "" - -#: ../../library/datetime.rst:493 ../../library/datetime.rst:916 -msgid "" -"If an argument outside those ranges is given, :exc:`ValueError` is raised." -msgstr "" - -#: ../../library/datetime.rst:496 ../../library/datetime.rst:921 -msgid "Other constructors, all class methods:" -msgstr "" - -#: ../../library/datetime.rst:500 -msgid "Return the current local date." -msgstr "" - -#: ../../library/datetime.rst:502 -msgid "This is equivalent to ``date.fromtimestamp(time.time())``." -msgstr "" - -#: ../../library/datetime.rst:506 -msgid "" -"Return the local date corresponding to the POSIX timestamp, such as is " -"returned by :func:`time.time`." -msgstr "" - -#: ../../library/datetime.rst:509 -msgid "" -"This may raise :exc:`OverflowError`, if the timestamp is out of the range of" -" values supported by the platform C :c:func:`localtime` function, and " -":exc:`OSError` on :c:func:`localtime` failure. It's common for this to be " -"restricted to years from 1970 through 2038. Note that on non-POSIX systems " -"that include leap seconds in their notion of a timestamp, leap seconds are " -"ignored by :meth:`fromtimestamp`." -msgstr "" - -#: ../../library/datetime.rst:516 -msgid "" -"Raise :exc:`OverflowError` instead of :exc:`ValueError` if the timestamp is " -"out of the range of values supported by the platform C :c:func:`localtime` " -"function. Raise :exc:`OSError` instead of :exc:`ValueError` on " -":c:func:`localtime` failure." -msgstr "" - -#: ../../library/datetime.rst:525 -msgid "" -"Return the date corresponding to the proleptic Gregorian ordinal, where " -"January 1 of year 1 has ordinal 1." -msgstr "" - -#: ../../library/datetime.rst:528 -msgid "" -":exc:`ValueError` is raised unless ``1 <= ordinal <= date.max.toordinal()``." -" For any date ``d``, ``date.fromordinal(d.toordinal()) == d``." -msgstr "" - -#: ../../library/datetime.rst:535 -msgid "" -"Return a :class:`date` corresponding to a *date_string* given in any valid " -"ISO 8601 format, with the following exceptions:" -msgstr "" - -#: ../../library/datetime.rst:538 ../../library/datetime.rst:1081 -msgid "" -"Reduced precision dates are not currently supported (``YYYY-MM``, ``YYYY``)." -msgstr "" - -#: ../../library/datetime.rst:540 ../../library/datetime.rst:1083 -msgid "" -"Extended date representations are not currently supported (``±YYYYYY-MM-" -"DD``)." -msgstr "" - -#: ../../library/datetime.rst:542 ../../library/datetime.rst:1085 -msgid "Ordinal dates are not currently supported (``YYYY-OOO``)." -msgstr "" - -#: ../../library/datetime.rst:544 ../../library/datetime.rst:1087 -#: ../../library/datetime.rst:1553 -msgid "Examples::" -msgstr "Contoh::" - -#: ../../library/datetime.rst:546 -msgid "" -">>> from datetime import date\n" -">>> date.fromisoformat('2019-12-04')\n" -"datetime.date(2019, 12, 4)\n" -">>> date.fromisoformat('20191204')\n" -"datetime.date(2019, 12, 4)\n" -">>> date.fromisoformat('2021-W01-1')\n" -"datetime.date(2021, 1, 4)" -msgstr "" - -#: ../../library/datetime.rst:555 -msgid "Previously, this method only supported the format ``YYYY-MM-DD``." -msgstr "" - -#: ../../library/datetime.rst:560 -msgid "" -"Return a :class:`date` corresponding to the ISO calendar date specified by " -"year, week and day. This is the inverse of the function " -":meth:`date.isocalendar`." -msgstr "" - -#: ../../library/datetime.rst:567 -msgid "" -"Return a :class:`.date` corresponding to *date_string*, parsed according to " -"*format*. This is equivalent to::" -msgstr "" - -#: ../../library/datetime.rst:570 -msgid "date(*(time.strptime(date_string, format)[0:3]))" -msgstr "" - -#: ../../library/datetime.rst:572 -msgid "" -":exc:`ValueError` is raised if the date_string and format can't be parsed by" -" :func:`time.strptime` or if it returns a value which isn't a time tuple. " -"See also :ref:`strftime-strptime-behavior` and :meth:`date.fromisoformat`." -msgstr "" - -#: ../../library/datetime.rst:579 -msgid "" -"If *format* specifies a day of month without a year a " -":exc:`DeprecationWarning` is emitted. This is to avoid a quadrennial leap " -"year bug in code seeking to parse only a month and day as the default year " -"used in absence of one in the format is not a leap year. Such *format* " -"values may raise an error as of Python 3.15. The workaround is to always " -"include a year in your *format*. If parsing *date_string* values that do " -"not have a year, explicitly add a year that is a leap year before parsing:" -msgstr "" - -#: ../../library/datetime.rst:588 -msgid "" -">>> from datetime import date\n" -">>> date_string = \"02/29\"\n" -">>> when = date.strptime(f\"{date_string};1984\", \"%m/%d;%Y\") # Avoids leap year bug.\n" -">>> when.strftime(\"%B %d\")\n" -"'February 29'" -msgstr "" - -#: ../../library/datetime.rst:603 -msgid "The earliest representable date, ``date(MINYEAR, 1, 1)``." -msgstr "" - -#: ../../library/datetime.rst:608 -msgid "The latest representable date, ``date(MAXYEAR, 12, 31)``." -msgstr "" - -#: ../../library/datetime.rst:613 -msgid "" -"The smallest possible difference between non-equal date objects, " -"``timedelta(days=1)``." -msgstr "" - -#: ../../library/datetime.rst:621 ../../library/datetime.rst:1183 -msgid "Between :const:`MINYEAR` and :const:`MAXYEAR` inclusive." -msgstr "" - -#: ../../library/datetime.rst:626 ../../library/datetime.rst:1188 -msgid "Between 1 and 12 inclusive." -msgstr "" - -#: ../../library/datetime.rst:631 ../../library/datetime.rst:1193 -msgid "Between 1 and the number of days in the given month of the given year." -msgstr "" - -#: ../../library/datetime.rst:639 -msgid "``date2 = date1 + timedelta``" -msgstr "" - -#: ../../library/datetime.rst:639 -msgid "``date2`` will be ``timedelta.days`` days after ``date1``. (1)" -msgstr "" - -#: ../../library/datetime.rst:642 -msgid "``date2 = date1 - timedelta``" -msgstr "" - -#: ../../library/datetime.rst:642 -msgid "Computes ``date2`` such that ``date2 + timedelta == date1``. (2)" -msgstr "" - -#: ../../library/datetime.rst:645 -msgid "``timedelta = date1 - date2``" -msgstr "" - -#: ../../library/datetime.rst:645 ../../library/datetime.rst:1241 -msgid "\\(3)" -msgstr "\\(3)" - -#: ../../library/datetime.rst:0 -msgid "``date1 == date2``" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "``date1 != date2``" -msgstr "" - -#: ../../library/datetime.rst:647 ../../library/datetime.rst:1243 -msgid "Equality comparison. (4)" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "``date1 < date2``" -msgstr "``date1 < date2``" - -#: ../../library/datetime.rst:0 -msgid "``date1 > date2``" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "``date1 <= date2``" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "``date1 >= date2``" -msgstr "" - -#: ../../library/datetime.rst:650 ../../library/datetime.rst:1246 -msgid "Order comparison. (5)" -msgstr "" - -#: ../../library/datetime.rst:659 -msgid "" -"*date2* is moved forward in time if ``timedelta.days > 0``, or backward if " -"``timedelta.days < 0``. Afterward ``date2 - date1 == timedelta.days``. " -"``timedelta.seconds`` and ``timedelta.microseconds`` are ignored. " -":exc:`OverflowError` is raised if ``date2.year`` would be smaller than " -":const:`MINYEAR` or larger than :const:`MAXYEAR`." -msgstr "" - -#: ../../library/datetime.rst:666 -msgid "``timedelta.seconds`` and ``timedelta.microseconds`` are ignored." -msgstr "" - -#: ../../library/datetime.rst:669 -msgid "" -"This is exact, and cannot overflow. ``timedelta.seconds`` and " -"``timedelta.microseconds`` are 0, and ``date2 + timedelta == date1`` after." -msgstr "" - -#: ../../library/datetime.rst:673 -msgid ":class:`date` objects are equal if they represent the same date." -msgstr "" - -#: ../../library/datetime.rst:675 -msgid "" -":class:`!date` objects that are not also :class:`.datetime` instances are " -"never equal to :class:`!datetime` objects, even if they represent the same " -"date." -msgstr "" - -#: ../../library/datetime.rst:680 -msgid "" -"*date1* is considered less than *date2* when *date1* precedes *date2* in " -"time. In other words, ``date1 < date2`` if and only if ``date1.toordinal() <" -" date2.toordinal()``." -msgstr "" - -#: ../../library/datetime.rst:684 -msgid "" -"Order comparison between a :class:`!date` object that is not also a " -":class:`.datetime` instance and a :class:`!datetime` object raises " -":exc:`TypeError`." -msgstr "" - -#: ../../library/datetime.rst:688 ../../library/datetime.rst:1314 -msgid "" -"Comparison between :class:`.datetime` object and an instance of the " -":class:`date` subclass that is not a :class:`!datetime` subclass no longer " -"converts the latter to :class:`!date`, ignoring the time part and the time " -"zone. The default behavior can be changed by overriding the special " -"comparison methods in subclasses." -msgstr "" - -#: ../../library/datetime.rst:696 -msgid "" -"In Boolean contexts, all :class:`date` objects are considered to be true." -msgstr "" - -#: ../../library/datetime.rst:702 -msgid "" -"Return a new :class:`date` object with the same values, but with specified " -"parameters updated." -msgstr "" - -#: ../../library/datetime.rst:705 ../../library/datetime.rst:1986 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/datetime.rst:707 -msgid "" -">>> from datetime import date\n" -">>> d = date(2002, 12, 31)\n" -">>> d.replace(day=26)\n" -"datetime.date(2002, 12, 26)" -msgstr "" - -#: ../../library/datetime.rst:712 -msgid "" -"The generic function :func:`copy.replace` also supports :class:`date` " -"objects." -msgstr "" - -#: ../../library/datetime.rst:718 ../../library/datetime.rst:1438 -msgid "" -"Return a :class:`time.struct_time` such as returned by " -":func:`time.localtime`." -msgstr "" - -#: ../../library/datetime.rst:720 -msgid "The hours, minutes and seconds are 0, and the DST flag is -1." -msgstr "" - -#: ../../library/datetime.rst:722 ../../library/datetime.rst:1440 -msgid "``d.timetuple()`` is equivalent to::" -msgstr "" - -#: ../../library/datetime.rst:724 -msgid "" -"time.struct_time((d.year, d.month, d.day, 0, 0, 0, d.weekday(), yday, -1))" -msgstr "" - -#: ../../library/datetime.rst:726 -msgid "" -"where ``yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1`` is the " -"day number within the current year starting with 1 for January 1st." -msgstr "" - -#: ../../library/datetime.rst:732 -msgid "" -"Return the proleptic Gregorian ordinal of the date, where January 1 of year " -"1 has ordinal 1. For any :class:`date` object ``d``, " -"``date.fromordinal(d.toordinal()) == d``." -msgstr "" - -#: ../../library/datetime.rst:739 -msgid "" -"Return the day of the week as an integer, where Monday is 0 and Sunday is 6." -" For example, ``date(2002, 12, 4).weekday() == 2``, a Wednesday. See also " -":meth:`isoweekday`." -msgstr "" - -#: ../../library/datetime.rst:746 -msgid "" -"Return the day of the week as an integer, where Monday is 1 and Sunday is 7." -" For example, ``date(2002, 12, 4).isoweekday() == 3``, a Wednesday. See also" -" :meth:`weekday`, :meth:`isocalendar`." -msgstr "" - -#: ../../library/datetime.rst:753 -msgid "" -"Return a :term:`named tuple` object with three components: ``year``, " -"``week`` and ``weekday``." -msgstr "" - -#: ../../library/datetime.rst:756 -msgid "" -"The ISO calendar is a widely used variant of the Gregorian calendar. [#]_" -msgstr "" - -#: ../../library/datetime.rst:758 -msgid "" -"The ISO year consists of 52 or 53 full weeks, and where a week starts on a " -"Monday and ends on a Sunday. The first week of an ISO year is the first " -"(Gregorian) calendar week of a year containing a Thursday. This is called " -"week number 1, and the ISO year of that Thursday is the same as its " -"Gregorian year." -msgstr "" - -#: ../../library/datetime.rst:763 -msgid "" -"For example, 2004 begins on a Thursday, so the first week of ISO year 2004 " -"begins on Monday, 29 Dec 2003 and ends on Sunday, 4 Jan 2004::" -msgstr "" - -#: ../../library/datetime.rst:766 -msgid "" -">>> from datetime import date\n" -">>> date(2003, 12, 29).isocalendar()\n" -"datetime.IsoCalendarDate(year=2004, week=1, weekday=1)\n" -">>> date(2004, 1, 4).isocalendar()\n" -"datetime.IsoCalendarDate(year=2004, week=1, weekday=7)" -msgstr "" - -#: ../../library/datetime.rst:772 -msgid "Result changed from a tuple to a :term:`named tuple`." -msgstr "" - -#: ../../library/datetime.rst:777 -msgid "" -"Return a string representing the date in ISO 8601 format, ``YYYY-MM-DD``::" -msgstr "" - -#: ../../library/datetime.rst:779 -msgid "" -">>> from datetime import date\n" -">>> date(2002, 12, 4).isoformat()\n" -"'2002-12-04'" -msgstr "" - -#: ../../library/datetime.rst:785 -msgid "For a date ``d``, ``str(d)`` is equivalent to ``d.isoformat()``." -msgstr "" - -#: ../../library/datetime.rst:790 -msgid "Return a string representing the date::" -msgstr "" - -#: ../../library/datetime.rst:792 -msgid "" -">>> from datetime import date\n" -">>> date(2002, 12, 4).ctime()\n" -"'Wed Dec 4 00:00:00 2002'" -msgstr "" - -#: ../../library/datetime.rst:796 ../../library/datetime.rst:1624 -msgid "``d.ctime()`` is equivalent to::" -msgstr "" - -#: ../../library/datetime.rst:798 ../../library/datetime.rst:1626 -msgid "time.ctime(time.mktime(d.timetuple()))" -msgstr "" - -#: ../../library/datetime.rst:800 -msgid "" -"on platforms where the native C :c:func:`ctime` function (which " -":func:`time.ctime` invokes, but which :meth:`date.ctime` does not invoke) " -"conforms to the C standard." -msgstr "" - -#: ../../library/datetime.rst:807 -msgid "" -"Return a string representing the date, controlled by an explicit format " -"string. Format codes referring to hours, minutes or seconds will see 0 " -"values. See also :ref:`strftime-strptime-behavior` and " -":meth:`date.isoformat`." -msgstr "" - -#: ../../library/datetime.rst:814 -msgid "" -"Same as :meth:`.date.strftime`. This makes it possible to specify a format " -"string for a :class:`.date` object in :ref:`formatted string literals " -"` and when using :meth:`str.format`. See also :ref:`strftime-" -"strptime-behavior` and :meth:`date.isoformat`." -msgstr "" - -#: ../../library/datetime.rst:820 -msgid "Examples of Usage: :class:`date`" -msgstr "" - -#: ../../library/datetime.rst:822 -msgid "Example of counting days to an event::" -msgstr "" - -#: ../../library/datetime.rst:824 -msgid "" -">>> import time\n" -">>> from datetime import date\n" -">>> today = date.today()\n" -">>> today\n" -"datetime.date(2007, 12, 5)\n" -">>> today == date.fromtimestamp(time.time())\n" -"True\n" -">>> my_birthday = date(today.year, 6, 24)\n" -">>> if my_birthday < today:\n" -"... my_birthday = my_birthday.replace(year=today.year + 1)\n" -"...\n" -">>> my_birthday\n" -"datetime.date(2008, 6, 24)\n" -">>> time_to_birthday = abs(my_birthday - today)\n" -">>> time_to_birthday.days\n" -"202" -msgstr "" - -#: ../../library/datetime.rst:841 -msgid "More examples of working with :class:`date`:" -msgstr "" - -#: ../../library/datetime.rst:843 -msgid "" -">>> from datetime import date\n" -">>> d = date.fromordinal(730920) # 730920th day after 1. 1. 0001\n" -">>> d\n" -"datetime.date(2002, 3, 11)\n" -"\n" -">>> # Methods related to formatting string output\n" -">>> d.isoformat()\n" -"'2002-03-11'\n" -">>> d.strftime(\"%d/%m/%y\")\n" -"'11/03/02'\n" -">>> d.strftime(\"%A %d. %B %Y\")\n" -"'Monday 11. March 2002'\n" -">>> d.ctime()\n" -"'Mon Mar 11 00:00:00 2002'\n" -">>> 'The {1} is {0:%d}, the {2} is {0:%B}.'.format(d, \"day\", \"month\")\n" -"'The day is 11, the month is March.'\n" -"\n" -">>> # Methods for to extracting 'components' under different calendars\n" -">>> t = d.timetuple()\n" -">>> for i in t:\n" -"... print(i)\n" -"2002 # year\n" -"3 # month\n" -"11 # day\n" -"0\n" -"0\n" -"0\n" -"0 # weekday (0 = Monday)\n" -"70 # 70th day in the year\n" -"-1\n" -">>> ic = d.isocalendar()\n" -">>> for i in ic:\n" -"... print(i)\n" -"2002 # ISO year\n" -"11 # ISO week number\n" -"1 # ISO day number ( 1 = Monday )\n" -"\n" -">>> # A date object is immutable; all operations produce a new object\n" -">>> d.replace(year=2005)\n" -"datetime.date(2005, 3, 11)" -msgstr "" - -#: ../../library/datetime.rst:890 -msgid ":class:`.datetime` Objects" -msgstr "" - -#: ../../library/datetime.rst:892 -msgid "" -"A :class:`.datetime` object is a single object containing all the " -"information from a :class:`date` object and a :class:`.time` object." -msgstr "" - -#: ../../library/datetime.rst:895 -msgid "" -"Like a :class:`date` object, :class:`.datetime` assumes the current " -"Gregorian calendar extended in both directions; like a :class:`.time` " -"object, :class:`.datetime` assumes there are exactly 3600\\*24 seconds in " -"every day." -msgstr "" - -#: ../../library/datetime.rst:899 -msgid "Constructor:" -msgstr "Pembangun, *Constructor*:" - -#: ../../library/datetime.rst:903 -msgid "" -"The *year*, *month* and *day* arguments are required. *tzinfo* may be " -"``None``, or an instance of a :class:`tzinfo` subclass. The remaining " -"arguments must be integers in the following ranges:" -msgstr "" - -#: ../../library/datetime.rst:907 -msgid "``MINYEAR <= year <= MAXYEAR``," -msgstr "``MINYEAR <= year <= MAXYEAR``," - -#: ../../library/datetime.rst:908 -msgid "``1 <= month <= 12``," -msgstr "``1 <= month <= 12``," - -#: ../../library/datetime.rst:909 -msgid "``1 <= day <= number of days in the given month and year``," -msgstr "" - -#: ../../library/datetime.rst:910 ../../library/datetime.rst:1788 -msgid "``0 <= hour < 24``," -msgstr "``0 <= hour < 24``," - -#: ../../library/datetime.rst:911 ../../library/datetime.rst:1789 -msgid "``0 <= minute < 60``," -msgstr "``0 <= minute < 60``," - -#: ../../library/datetime.rst:912 ../../library/datetime.rst:1790 -msgid "``0 <= second < 60``," -msgstr "``0 <= second < 60``," - -#: ../../library/datetime.rst:913 ../../library/datetime.rst:1791 -msgid "``0 <= microsecond < 1000000``," -msgstr "``0 <= microsecond < 1000000``," - -#: ../../library/datetime.rst:914 ../../library/datetime.rst:1792 -msgid "``fold in [0, 1]``." -msgstr "``fold in [0, 1]``." - -#: ../../library/datetime.rst:918 ../../library/datetime.rst:1359 -#: ../../library/datetime.rst:1953 -msgid "Added the *fold* parameter." -msgstr "" - -#: ../../library/datetime.rst:925 -msgid "Return the current local date and time, with :attr:`.tzinfo` ``None``." -msgstr "" - -#: ../../library/datetime.rst:927 -msgid "Equivalent to::" -msgstr "Setara dengan::" - -#: ../../library/datetime.rst:929 -msgid "datetime.fromtimestamp(time.time())" -msgstr "" - -#: ../../library/datetime.rst:931 -msgid "See also :meth:`now`, :meth:`fromtimestamp`." -msgstr "" - -#: ../../library/datetime.rst:933 -msgid "" -"This method is functionally equivalent to :meth:`now`, but without a ``tz`` " -"parameter." -msgstr "" - -#: ../../library/datetime.rst:938 -msgid "Return the current local date and time." -msgstr "" - -#: ../../library/datetime.rst:940 -msgid "" -"If optional argument *tz* is ``None`` or not specified, this is like " -":meth:`today`, but, if possible, supplies more precision than can be gotten " -"from going through a :func:`time.time` timestamp (for example, this may be " -"possible on platforms supplying the C :c:func:`gettimeofday` function)." -msgstr "" - -#: ../../library/datetime.rst:946 -msgid "" -"If *tz* is not ``None``, it must be an instance of a :class:`tzinfo` " -"subclass, and the current date and time are converted to *tz*’s time zone." -msgstr "" - -#: ../../library/datetime.rst:949 -msgid "This function is preferred over :meth:`today` and :meth:`utcnow`." -msgstr "" - -#: ../../library/datetime.rst:953 -msgid "" -"Subsequent calls to :meth:`!datetime.now` may return the same instant " -"depending on the precision of the underlying clock." -msgstr "" - -#: ../../library/datetime.rst:958 -msgid "Return the current UTC date and time, with :attr:`.tzinfo` ``None``." -msgstr "" - -#: ../../library/datetime.rst:960 -msgid "" -"This is like :meth:`now`, but returns the current UTC date and time, as a " -"naive :class:`.datetime` object. An aware current UTC datetime can be " -"obtained by calling ``datetime.now(timezone.utc)``. See also :meth:`now`." -msgstr "" - -#: ../../library/datetime.rst:966 -msgid "" -"Because naive ``datetime`` objects are treated by many ``datetime`` methods " -"as local times, it is preferred to use aware datetimes to represent times in" -" UTC. As such, the recommended way to create an object representing the " -"current time in UTC is by calling ``datetime.now(timezone.utc)``." -msgstr "" - -#: ../../library/datetime.rst:973 -msgid "Use :meth:`datetime.now` with :const:`UTC` instead." -msgstr "" - -#: ../../library/datetime.rst:978 -msgid "" -"Return the local date and time corresponding to the POSIX timestamp, such as" -" is returned by :func:`time.time`. If optional argument *tz* is ``None`` or " -"not specified, the timestamp is converted to the platform's local date and " -"time, and the returned :class:`.datetime` object is naive." -msgstr "" - -#: ../../library/datetime.rst:983 -msgid "" -"If *tz* is not ``None``, it must be an instance of a :class:`tzinfo` " -"subclass, and the timestamp is converted to *tz*’s time zone." -msgstr "" - -#: ../../library/datetime.rst:986 -msgid "" -":meth:`fromtimestamp` may raise :exc:`OverflowError`, if the timestamp is " -"out of the range of values supported by the platform C :c:func:`localtime` " -"or :c:func:`gmtime` functions, and :exc:`OSError` on :c:func:`localtime` or " -":c:func:`gmtime` failure. It's common for this to be restricted to years in " -"1970 through 2038. Note that on non-POSIX systems that include leap seconds " -"in their notion of a timestamp, leap seconds are ignored by " -":meth:`fromtimestamp`, and then it's possible to have two timestamps " -"differing by a second that yield identical :class:`.datetime` objects. This " -"method is preferred over :meth:`utcfromtimestamp`." -msgstr "" - -#: ../../library/datetime.rst:997 -msgid "" -"Raise :exc:`OverflowError` instead of :exc:`ValueError` if the timestamp is " -"out of the range of values supported by the platform C :c:func:`localtime` " -"or :c:func:`gmtime` functions. Raise :exc:`OSError` instead of " -":exc:`ValueError` on :c:func:`localtime` or :c:func:`gmtime` failure." -msgstr "" - -#: ../../library/datetime.rst:1004 -msgid "" -":meth:`fromtimestamp` may return instances with :attr:`.fold` set to 1." -msgstr "" - -#: ../../library/datetime.rst:1009 -msgid "" -"Return the UTC :class:`.datetime` corresponding to the POSIX timestamp, with" -" :attr:`.tzinfo` ``None``. (The resulting object is naive.)" -msgstr "" - -#: ../../library/datetime.rst:1012 -msgid "" -"This may raise :exc:`OverflowError`, if the timestamp is out of the range of" -" values supported by the platform C :c:func:`gmtime` function, and " -":exc:`OSError` on :c:func:`gmtime` failure. It's common for this to be " -"restricted to years in 1970 through 2038." -msgstr "" - -#: ../../library/datetime.rst:1017 -msgid "" -"To get an aware :class:`.datetime` object, call :meth:`fromtimestamp`::" -msgstr "" - -#: ../../library/datetime.rst:1019 -msgid "datetime.fromtimestamp(timestamp, timezone.utc)" -msgstr "" - -#: ../../library/datetime.rst:1021 -msgid "" -"On the POSIX compliant platforms, it is equivalent to the following " -"expression::" -msgstr "" - -#: ../../library/datetime.rst:1024 -msgid "" -"datetime(1970, 1, 1, tzinfo=timezone.utc) + timedelta(seconds=timestamp)" -msgstr "" - -#: ../../library/datetime.rst:1026 -msgid "" -"except the latter formula always supports the full years range: between " -":const:`MINYEAR` and :const:`MAXYEAR` inclusive." -msgstr "" - -#: ../../library/datetime.rst:1031 -msgid "" -"Because naive ``datetime`` objects are treated by many ``datetime`` methods " -"as local times, it is preferred to use aware datetimes to represent times in" -" UTC. As such, the recommended way to create an object representing a " -"specific timestamp in UTC is by calling ``datetime.fromtimestamp(timestamp, " -"tz=timezone.utc)``." -msgstr "" - -#: ../../library/datetime.rst:1037 -msgid "" -"Raise :exc:`OverflowError` instead of :exc:`ValueError` if the timestamp is " -"out of the range of values supported by the platform C :c:func:`gmtime` " -"function. Raise :exc:`OSError` instead of :exc:`ValueError` on " -":c:func:`gmtime` failure." -msgstr "" - -#: ../../library/datetime.rst:1045 -msgid "Use :meth:`datetime.fromtimestamp` with :const:`UTC` instead." -msgstr "" - -#: ../../library/datetime.rst:1050 -msgid "" -"Return the :class:`.datetime` corresponding to the proleptic Gregorian " -"ordinal, where January 1 of year 1 has ordinal 1. :exc:`ValueError` is " -"raised unless ``1 <= ordinal <= datetime.max.toordinal()``. The hour, " -"minute, second and microsecond of the result are all 0, and :attr:`.tzinfo` " -"is ``None``." -msgstr "" - -#: ../../library/datetime.rst:1058 -msgid "" -"Return a new :class:`.datetime` object whose date components are equal to " -"the given :class:`date` object's, and whose time components are equal to the" -" given :class:`.time` object's. If the *tzinfo* argument is provided, its " -"value is used to set the :attr:`.tzinfo` attribute of the result, otherwise " -"the :attr:`~.time.tzinfo` attribute of the *time* argument is used. If the " -"*date* argument is a :class:`.datetime` object, its time components and " -":attr:`.tzinfo` attributes are ignored." -msgstr "" - -#: ../../library/datetime.rst:1066 -msgid "" -"For any :class:`.datetime` object ``d``, ``d == datetime.combine(d.date(), " -"d.time(), d.tzinfo)``." -msgstr "" - -#: ../../library/datetime.rst:1069 -msgid "Added the *tzinfo* argument." -msgstr "" - -#: ../../library/datetime.rst:1075 -msgid "" -"Return a :class:`.datetime` corresponding to a *date_string* in any valid " -"ISO 8601 format, with the following exceptions:" -msgstr "" - -#: ../../library/datetime.rst:1078 ../../library/datetime.rst:1888 -msgid "Time zone offsets may have fractional seconds." -msgstr "" - -#: ../../library/datetime.rst:1079 -msgid "The ``T`` separator may be replaced by any single unicode character." -msgstr "" - -#: ../../library/datetime.rst:1080 ../../library/datetime.rst:1893 -msgid "Fractional hours and minutes are not supported." -msgstr "" - -#: ../../library/datetime.rst:1089 -msgid "" -">>> from datetime import datetime\n" -">>> datetime.fromisoformat('2011-11-04')\n" -"datetime.datetime(2011, 11, 4, 0, 0)\n" -">>> datetime.fromisoformat('20111104')\n" -"datetime.datetime(2011, 11, 4, 0, 0)\n" -">>> datetime.fromisoformat('2011-11-04T00:05:23')\n" -"datetime.datetime(2011, 11, 4, 0, 5, 23)\n" -">>> datetime.fromisoformat('2011-11-04T00:05:23Z')\n" -"datetime.datetime(2011, 11, 4, 0, 5, 23, tzinfo=datetime.timezone.utc)\n" -">>> datetime.fromisoformat('20111104T000523')\n" -"datetime.datetime(2011, 11, 4, 0, 5, 23)\n" -">>> datetime.fromisoformat('2011-W01-2T00:05:23.283')\n" -"datetime.datetime(2011, 1, 4, 0, 5, 23, 283000)\n" -">>> datetime.fromisoformat('2011-11-04 00:05:23.283')\n" -"datetime.datetime(2011, 11, 4, 0, 5, 23, 283000)\n" -">>> datetime.fromisoformat('2011-11-04 00:05:23.283+00:00')\n" -"datetime.datetime(2011, 11, 4, 0, 5, 23, 283000, tzinfo=datetime.timezone.utc)\n" -">>> datetime.fromisoformat('2011-11-04T00:05:23+04:00')\n" -"datetime.datetime(2011, 11, 4, 0, 5, 23,\n" -" tzinfo=datetime.timezone(datetime.timedelta(seconds=14400)))" -msgstr "" - -#: ../../library/datetime.rst:1111 -msgid "" -"Previously, this method only supported formats that could be emitted by " -":meth:`date.isoformat` or :meth:`datetime.isoformat`." -msgstr "" - -#: ../../library/datetime.rst:1118 -msgid "" -"Return a :class:`.datetime` corresponding to the ISO calendar date specified" -" by year, week and day. The non-date components of the datetime are " -"populated with their normal default values. This is the inverse of the " -"function :meth:`datetime.isocalendar`." -msgstr "" - -#: ../../library/datetime.rst:1127 -msgid "" -"Return a :class:`.datetime` corresponding to *date_string*, parsed according" -" to *format*." -msgstr "" - -#: ../../library/datetime.rst:1130 -msgid "" -"If *format* does not contain microseconds or time zone information, this is " -"equivalent to::" -msgstr "" - -#: ../../library/datetime.rst:1132 ../../library/datetime.rst:2627 -msgid "datetime(*(time.strptime(date_string, format)[0:6]))" -msgstr "" - -#: ../../library/datetime.rst:1134 -msgid "" -":exc:`ValueError` is raised if the date_string and format can't be parsed by" -" :func:`time.strptime` or if it returns a value which isn't a time tuple. " -"See also :ref:`strftime-strptime-behavior` and " -":meth:`datetime.fromisoformat`." -msgstr "" - -#: ../../library/datetime.rst:1141 -msgid "" -"If *format* specifies a day of month without a year a " -":exc:`DeprecationWarning` is now emitted. This is to avoid a quadrennial " -"leap year bug in code seeking to parse only a month and day as the default " -"year used in absence of one in the format is not a leap year. Such *format* " -"values may raise an error as of Python 3.15. The workaround is to always " -"include a year in your *format*. If parsing *date_string* values that do " -"not have a year, explicitly add a year that is a leap year before parsing:" -msgstr "" - -#: ../../library/datetime.rst:1150 -msgid "" -">>> from datetime import datetime\n" -">>> date_string = \"02/29\"\n" -">>> when = datetime.strptime(f\"{date_string};1984\", \"%m/%d;%Y\") # Avoids leap year bug.\n" -">>> when.strftime(\"%B %d\")\n" -"'February 29'" -msgstr "" - -#: ../../library/datetime.rst:1163 -msgid "" -"The earliest representable :class:`.datetime`, ``datetime(MINYEAR, 1, 1, " -"tzinfo=None)``." -msgstr "" - -#: ../../library/datetime.rst:1169 -msgid "" -"The latest representable :class:`.datetime`, ``datetime(MAXYEAR, 12, 31, 23," -" 59, 59, 999999, tzinfo=None)``." -msgstr "" - -#: ../../library/datetime.rst:1175 -msgid "" -"The smallest possible difference between non-equal :class:`.datetime` " -"objects, ``timedelta(microseconds=1)``." -msgstr "" - -#: ../../library/datetime.rst:1198 ../../library/datetime.rst:1821 -msgid "In ``range(24)``." -msgstr "" - -#: ../../library/datetime.rst:1203 ../../library/datetime.rst:1208 -#: ../../library/datetime.rst:1826 ../../library/datetime.rst:1831 -msgid "In ``range(60)``." -msgstr "" - -#: ../../library/datetime.rst:1213 ../../library/datetime.rst:1836 -msgid "In ``range(1000000)``." -msgstr "" - -#: ../../library/datetime.rst:1218 -msgid "" -"The object passed as the *tzinfo* argument to the :class:`.datetime` " -"constructor, or ``None`` if none was passed." -msgstr "" - -#: ../../library/datetime.rst:1224 ../../library/datetime.rst:1847 -msgid "" -"In ``[0, 1]``. Used to disambiguate wall times during a repeated interval. " -"(A repeated interval occurs when clocks are rolled back at the end of " -"daylight saving time or when the UTC offset for the current zone is " -"decreased for political reasons.) The values 0 and 1 represent, " -"respectively, the earlier and later of the two moments with the same wall " -"time representation." -msgstr "" - -#: ../../library/datetime.rst:1237 -msgid "``datetime2 = datetime1 + timedelta``" -msgstr "" - -#: ../../library/datetime.rst:1237 ../../library/datetime.rst:2474 -#: ../../library/datetime.rst:2479 ../../library/datetime.rst:2491 -#: ../../library/datetime.rst:2496 ../../library/datetime.rst:2556 -#: ../../library/datetime.rst:2561 ../../library/datetime.rst:2565 -msgid "\\(1)" -msgstr "\\(1)" - -#: ../../library/datetime.rst:1239 -msgid "``datetime2 = datetime1 - timedelta``" -msgstr "" - -#: ../../library/datetime.rst:1239 ../../library/datetime.rst:2507 -msgid "\\(2)" -msgstr "\\(2)" - -#: ../../library/datetime.rst:1241 -msgid "``timedelta = datetime1 - datetime2``" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "``datetime1 == datetime2``" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "``datetime1 != datetime2``" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "``datetime1 < datetime2``" -msgstr "``datetime1 < datetime2``" - -#: ../../library/datetime.rst:0 -msgid "``datetime1 > datetime2``" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "``datetime1 <= datetime2``" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "``datetime1 >= datetime2``" -msgstr "" - -#: ../../library/datetime.rst:1253 -msgid "" -"``datetime2`` is a duration of ``timedelta`` removed from ``datetime1``, " -"moving forward in time if ``timedelta.days > 0``, or backward if " -"``timedelta.days < 0``. The result has the same :attr:`~.datetime.tzinfo` " -"attribute as the input datetime, and ``datetime2 - datetime1 == timedelta`` " -"after. :exc:`OverflowError` is raised if ``datetime2.year`` would be smaller" -" than :const:`MINYEAR` or larger than :const:`MAXYEAR`. Note that no time " -"zone adjustments are done even if the input is an aware object." -msgstr "" - -#: ../../library/datetime.rst:1262 -msgid "" -"Computes the ``datetime2`` such that ``datetime2 + timedelta == datetime1``." -" As for addition, the result has the same :attr:`~.datetime.tzinfo` " -"attribute as the input datetime, and no time zone adjustments are done even " -"if the input is aware." -msgstr "" - -#: ../../library/datetime.rst:1267 -msgid "" -"Subtraction of a :class:`.datetime` from a :class:`.datetime` is defined " -"only if both operands are naive, or if both are aware. If one is aware and " -"the other is naive, :exc:`TypeError` is raised." -msgstr "" - -#: ../../library/datetime.rst:1271 -msgid "" -"If both are naive, or both are aware and have the same " -":attr:`~.datetime.tzinfo` attribute, the :attr:`~.datetime.tzinfo` " -"attributes are ignored, and the result is a :class:`timedelta` object ``t`` " -"such that ``datetime2 + t == datetime1``. No time zone adjustments are done " -"in this case." -msgstr "" - -#: ../../library/datetime.rst:1276 -msgid "" -"If both are aware and have different :attr:`~.datetime.tzinfo` attributes, " -"``a-b`` acts as if ``a`` and ``b`` were first converted to naive UTC " -"datetimes. The result is ``(a.replace(tzinfo=None) - a.utcoffset()) - " -"(b.replace(tzinfo=None) - b.utcoffset())`` except that the implementation " -"never overflows." -msgstr "" - -#: ../../library/datetime.rst:1282 -msgid "" -":class:`.datetime` objects are equal if they represent the same date and " -"time, taking into account the time zone." -msgstr "" - -#: ../../library/datetime.rst:1285 -msgid "Naive and aware :class:`!datetime` objects are never equal." -msgstr "" - -#: ../../library/datetime.rst:1287 -msgid "" -"If both comparands are aware, and have the same :attr:`!tzinfo` attribute, " -"the :attr:`!tzinfo` and :attr:`~.datetime.fold` attributes are ignored and " -"the base datetimes are compared. If both comparands are aware and have " -"different :attr:`~.datetime.tzinfo` attributes, the comparison acts as " -"comparands were first converted to UTC datetimes except that the " -"implementation never overflows. :class:`!datetime` instances in a repeated " -"interval are never equal to :class:`!datetime` instances in other time zone." -msgstr "" - -#: ../../library/datetime.rst:1297 -msgid "" -"*datetime1* is considered less than *datetime2* when *datetime1* precedes " -"*datetime2* in time, taking into account the time zone." -msgstr "" - -#: ../../library/datetime.rst:1300 -msgid "" -"Order comparison between naive and aware :class:`.datetime` objects raises " -":exc:`TypeError`." -msgstr "" - -#: ../../library/datetime.rst:1303 -msgid "" -"If both comparands are aware, and have the same :attr:`!tzinfo` attribute, " -"the :attr:`!tzinfo` and :attr:`~.datetime.fold` attributes are ignored and " -"the base datetimes are compared. If both comparands are aware and have " -"different :attr:`~.datetime.tzinfo` attributes, the comparison acts as " -"comparands were first converted to UTC datetimes except that the " -"implementation never overflows." -msgstr "" - -#: ../../library/datetime.rst:1310 -msgid "" -"Equality comparisons between aware and naive :class:`.datetime` instances " -"don't raise :exc:`TypeError`." -msgstr "" - -#: ../../library/datetime.rst:1326 -msgid "Return :class:`date` object with same year, month and day." -msgstr "" - -#: ../../library/datetime.rst:1331 -msgid "" -"Return :class:`.time` object with same hour, minute, second, microsecond and" -" fold. :attr:`.tzinfo` is ``None``. See also method :meth:`timetz`." -msgstr "" - -#: ../../library/datetime.rst:1334 ../../library/datetime.rst:1343 -msgid "The fold value is copied to the returned :class:`.time` object." -msgstr "" - -#: ../../library/datetime.rst:1340 -msgid "" -"Return :class:`.time` object with same hour, minute, second, microsecond, " -"fold, and tzinfo attributes. See also method :meth:`time`." -msgstr "" - -#: ../../library/datetime.rst:1351 -msgid "" -"Return a new :class:`datetime` object with the same attributes, but with " -"specified parameters updated. Note that ``tzinfo=None`` can be specified to " -"create a naive datetime from an aware datetime with no conversion of date " -"and time data." -msgstr "" - -#: ../../library/datetime.rst:1356 -msgid "" -":class:`.datetime` objects are also supported by generic function " -":func:`copy.replace`." -msgstr "" - -#: ../../library/datetime.rst:1365 -msgid "" -"Return a :class:`.datetime` object with new :attr:`.tzinfo` attribute *tz*, " -"adjusting the date and time data so the result is the same UTC time as " -"*self*, but in *tz*'s local time." -msgstr "" - -#: ../../library/datetime.rst:1369 -msgid "" -"If provided, *tz* must be an instance of a :class:`tzinfo` subclass, and its" -" :meth:`utcoffset` and :meth:`dst` methods must not return ``None``. If " -"*self* is naive, it is presumed to represent time in the system time zone." -msgstr "" - -#: ../../library/datetime.rst:1373 -msgid "" -"If called without arguments (or with ``tz=None``) the system local time zone" -" is assumed for the target time zone. The ``.tzinfo`` attribute of the " -"converted datetime instance will be set to an instance of :class:`timezone` " -"with the zone name and offset obtained from the OS." -msgstr "" - -#: ../../library/datetime.rst:1378 -msgid "" -"If ``self.tzinfo`` is *tz*, ``self.astimezone(tz)`` is equal to *self*: no " -"adjustment of date or time data is performed. Else the result is local time " -"in the time zone *tz*, representing the same UTC time as *self*: after " -"``astz = dt.astimezone(tz)``, ``astz - astz.utcoffset()`` will have the same" -" date and time data as ``dt - dt.utcoffset()``." -msgstr "" - -#: ../../library/datetime.rst:1384 -msgid "" -"If you merely want to attach a :class:`timezone` object *tz* to a datetime " -"*dt* without adjustment of date and time data, use " -"``dt.replace(tzinfo=tz)``. If you merely want to remove the " -":class:`!timezone` object from an aware datetime *dt* without conversion of " -"date and time data, use ``dt.replace(tzinfo=None)``." -msgstr "" - -#: ../../library/datetime.rst:1389 -msgid "" -"Note that the default :meth:`tzinfo.fromutc` method can be overridden in a " -":class:`tzinfo` subclass to affect the result returned by " -":meth:`astimezone`. Ignoring error cases, :meth:`astimezone` acts like::" -msgstr "" - -#: ../../library/datetime.rst:1393 -msgid "" -"def astimezone(self, tz):\n" -" if self.tzinfo is tz:\n" -" return self\n" -" # Convert self to UTC, and attach the new timezone object.\n" -" utc = (self - self.utcoffset()).replace(tzinfo=tz)\n" -" # Convert from UTC to tz's local time.\n" -" return tz.fromutc(utc)" -msgstr "" - -#: ../../library/datetime.rst:1401 -msgid "*tz* now can be omitted." -msgstr "" - -#: ../../library/datetime.rst:1404 -msgid "" -"The :meth:`astimezone` method can now be called on naive instances that are " -"presumed to represent system local time." -msgstr "" - -#: ../../library/datetime.rst:1411 -msgid "" -"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns " -"``self.tzinfo.utcoffset(self)``, and raises an exception if the latter " -"doesn't return ``None`` or a :class:`timedelta` object with magnitude less " -"than one day." -msgstr "" - -#: ../../library/datetime.rst:1415 ../../library/datetime.rst:2026 -#: ../../library/datetime.rst:2133 ../../library/datetime.rst:2378 -#: ../../library/datetime.rst:2390 ../../library/datetime.rst:2700 -msgid "The UTC offset is not restricted to a whole number of minutes." -msgstr "" - -#: ../../library/datetime.rst:1421 -msgid "" -"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns " -"``self.tzinfo.dst(self)``, and raises an exception if the latter doesn't " -"return ``None`` or a :class:`timedelta` object with magnitude less than one " -"day." -msgstr "" - -#: ../../library/datetime.rst:1425 ../../library/datetime.rst:2036 -#: ../../library/datetime.rst:2187 -msgid "The DST offset is not restricted to a whole number of minutes." -msgstr "" - -#: ../../library/datetime.rst:1431 -msgid "" -"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns " -"``self.tzinfo.tzname(self)``, raises an exception if the latter doesn't " -"return ``None`` or a string object," -msgstr "" - -#: ../../library/datetime.rst:1442 -msgid "" -"time.struct_time((d.year, d.month, d.day,\n" -" d.hour, d.minute, d.second,\n" -" d.weekday(), yday, dst))" -msgstr "" - -#: ../../library/datetime.rst:1446 -msgid "" -"where ``yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1`` is the " -"day number within the current year starting with 1 for January 1st. The " -":attr:`~time.struct_time.tm_isdst` flag of the result is set according to " -"the :meth:`dst` method: :attr:`.tzinfo` is ``None`` or :meth:`dst` returns " -"``None``, :attr:`!tm_isdst` is set to ``-1``; else if :meth:`dst` returns a " -"non-zero value, :attr:`!tm_isdst` is set to 1; else :attr:`!tm_isdst` is set" -" to 0." -msgstr "" - -#: ../../library/datetime.rst:1457 -msgid "" -"If :class:`.datetime` instance ``d`` is naive, this is the same as " -"``d.timetuple()`` except that :attr:`~.time.struct_time.tm_isdst` is forced " -"to 0 regardless of what ``d.dst()`` returns. DST is never in effect for a " -"UTC time." -msgstr "" - -#: ../../library/datetime.rst:1461 -msgid "" -"If ``d`` is aware, ``d`` is normalized to UTC time, by subtracting " -"``d.utcoffset()``, and a :class:`time.struct_time` for the normalized time " -"is returned. :attr:`!tm_isdst` is forced to 0. Note that an " -":exc:`OverflowError` may be raised if ``d.year`` was ``MINYEAR`` or " -"``MAXYEAR`` and UTC adjustment spills over a year boundary." -msgstr "" - -#: ../../library/datetime.rst:1470 -msgid "" -"Because naive ``datetime`` objects are treated by many ``datetime`` methods " -"as local times, it is preferred to use aware datetimes to represent times in" -" UTC; as a result, using :meth:`datetime.utctimetuple` may give misleading " -"results. If you have a naive ``datetime`` representing UTC, use " -"``datetime.replace(tzinfo=timezone.utc)`` to make it aware, at which point " -"you can use :meth:`.datetime.timetuple`." -msgstr "" - -#: ../../library/datetime.rst:1479 -msgid "" -"Return the proleptic Gregorian ordinal of the date. The same as " -"``self.date().toordinal()``." -msgstr "" - -#: ../../library/datetime.rst:1484 -msgid "" -"Return POSIX timestamp corresponding to the :class:`.datetime` instance. The" -" return value is a :class:`float` similar to that returned by " -":func:`time.time`." -msgstr "" - -#: ../../library/datetime.rst:1488 -msgid "" -"Naive :class:`.datetime` instances are assumed to represent local time and " -"this method relies on the platform C :c:func:`mktime` function to perform " -"the conversion. Since :class:`.datetime` supports wider range of values than" -" :c:func:`mktime` on many platforms, this method may raise " -":exc:`OverflowError` or :exc:`OSError` for times far in the past or far in " -"the future." -msgstr "" - -#: ../../library/datetime.rst:1495 -msgid "" -"For aware :class:`.datetime` instances, the return value is computed as::" -msgstr "" - -#: ../../library/datetime.rst:1498 -msgid "(dt - datetime(1970, 1, 1, tzinfo=timezone.utc)).total_seconds()" -msgstr "" - -#: ../../library/datetime.rst:1502 -msgid "" -"The :meth:`timestamp` method uses the :attr:`.fold` attribute to " -"disambiguate the times during a repeated interval." -msgstr "" - -#: ../../library/datetime.rst:1508 -msgid "" -"There is no method to obtain the POSIX timestamp directly from a naive " -":class:`.datetime` instance representing UTC time. If your application uses " -"this convention and your system time zone is not set to UTC, you can obtain " -"the POSIX timestamp by supplying ``tzinfo=timezone.utc``::" -msgstr "" - -#: ../../library/datetime.rst:1514 -msgid "timestamp = dt.replace(tzinfo=timezone.utc).timestamp()" -msgstr "" - -#: ../../library/datetime.rst:1516 -msgid "or by calculating the timestamp directly::" -msgstr "" - -#: ../../library/datetime.rst:1518 -msgid "timestamp = (dt - datetime(1970, 1, 1)) / timedelta(seconds=1)" -msgstr "" - -#: ../../library/datetime.rst:1522 -msgid "" -"Return the day of the week as an integer, where Monday is 0 and Sunday is 6." -" The same as ``self.date().weekday()``. See also :meth:`isoweekday`." -msgstr "" - -#: ../../library/datetime.rst:1528 -msgid "" -"Return the day of the week as an integer, where Monday is 1 and Sunday is 7." -" The same as ``self.date().isoweekday()``. See also :meth:`weekday`, " -":meth:`isocalendar`." -msgstr "" - -#: ../../library/datetime.rst:1535 -msgid "" -"Return a :term:`named tuple` with three components: ``year``, ``week`` and " -"``weekday``. The same as ``self.date().isocalendar()``." -msgstr "" - -#: ../../library/datetime.rst:1541 -msgid "Return a string representing the date and time in ISO 8601 format:" -msgstr "" - -#: ../../library/datetime.rst:1543 -msgid "``YYYY-MM-DDTHH:MM:SS.ffffff``, if :attr:`microsecond` is not 0" -msgstr "" - -#: ../../library/datetime.rst:1544 -msgid "``YYYY-MM-DDTHH:MM:SS``, if :attr:`microsecond` is 0" -msgstr "" - -#: ../../library/datetime.rst:1546 -msgid "" -"If :meth:`utcoffset` does not return ``None``, a string is appended, giving " -"the UTC offset:" -msgstr "" - -#: ../../library/datetime.rst:1549 -msgid "" -"``YYYY-MM-DDTHH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` " -"is not 0" -msgstr "" - -#: ../../library/datetime.rst:1551 -msgid "" -"``YYYY-MM-DDTHH:MM:SS+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` is 0" -msgstr "" - -#: ../../library/datetime.rst:1555 -msgid "" -">>> from datetime import datetime, timezone\n" -">>> datetime(2019, 5, 18, 15, 17, 8, 132263).isoformat()\n" -"'2019-05-18T15:17:08.132263'\n" -">>> datetime(2019, 5, 18, 15, 17, tzinfo=timezone.utc).isoformat()\n" -"'2019-05-18T15:17:00+00:00'" -msgstr "" - -#: ../../library/datetime.rst:1561 -msgid "" -"The optional argument *sep* (default ``'T'``) is a one-character separator, " -"placed between the date and time portions of the result. For example::" -msgstr "" - -#: ../../library/datetime.rst:1564 -msgid "" -">>> from datetime import tzinfo, timedelta, datetime\n" -">>> class TZ(tzinfo):\n" -"... \"\"\"A time zone with an arbitrary, constant -06:39 offset.\"\"\"\n" -"... def utcoffset(self, dt):\n" -"... return timedelta(hours=-6, minutes=-39)\n" -"...\n" -">>> datetime(2002, 12, 25, tzinfo=TZ()).isoformat(' ')\n" -"'2002-12-25 00:00:00-06:39'\n" -">>> datetime(2009, 11, 27, microsecond=100, tzinfo=TZ()).isoformat()\n" -"'2009-11-27T00:00:00.000100-06:39'" -msgstr "" - -#: ../../library/datetime.rst:1575 ../../library/datetime.rst:1966 -msgid "" -"The optional argument *timespec* specifies the number of additional " -"components of the time to include (the default is ``'auto'``). It can be one" -" of the following:" -msgstr "" - -#: ../../library/datetime.rst:1579 ../../library/datetime.rst:1970 -msgid "" -"``'auto'``: Same as ``'seconds'`` if :attr:`microsecond` is 0, same as " -"``'microseconds'`` otherwise." -msgstr "" - -#: ../../library/datetime.rst:1581 ../../library/datetime.rst:1972 -msgid "``'hours'``: Include the :attr:`hour` in the two-digit ``HH`` format." -msgstr "" - -#: ../../library/datetime.rst:1582 ../../library/datetime.rst:1973 -msgid "" -"``'minutes'``: Include :attr:`hour` and :attr:`minute` in ``HH:MM`` format." -msgstr "" - -#: ../../library/datetime.rst:1583 ../../library/datetime.rst:1974 -msgid "" -"``'seconds'``: Include :attr:`hour`, :attr:`minute`, and :attr:`second` in " -"``HH:MM:SS`` format." -msgstr "" - -#: ../../library/datetime.rst:1585 ../../library/datetime.rst:1976 -msgid "" -"``'milliseconds'``: Include full time, but truncate fractional second part " -"to milliseconds. ``HH:MM:SS.sss`` format." -msgstr "" - -#: ../../library/datetime.rst:1587 ../../library/datetime.rst:1978 -msgid "``'microseconds'``: Include full time in ``HH:MM:SS.ffffff`` format." -msgstr "" - -#: ../../library/datetime.rst:1591 ../../library/datetime.rst:1982 -msgid "Excluded time components are truncated, not rounded." -msgstr "" - -#: ../../library/datetime.rst:1593 -msgid ":exc:`ValueError` will be raised on an invalid *timespec* argument::" -msgstr "" - -#: ../../library/datetime.rst:1596 -msgid "" -">>> from datetime import datetime\n" -">>> datetime.now().isoformat(timespec='minutes')\n" -"'2002-12-25T00:00'\n" -">>> dt = datetime(2015, 1, 1, 12, 30, 59, 0)\n" -">>> dt.isoformat(timespec='microseconds')\n" -"'2015-01-01T12:30:59.000000'" -msgstr "" - -#: ../../library/datetime.rst:1603 ../../library/datetime.rst:1997 -msgid "Added the *timespec* parameter." -msgstr "" - -#: ../../library/datetime.rst:1609 -msgid "" -"For a :class:`.datetime` instance ``d``, ``str(d)`` is equivalent to " -"``d.isoformat(' ')``." -msgstr "" - -#: ../../library/datetime.rst:1615 -msgid "Return a string representing the date and time::" -msgstr "" - -#: ../../library/datetime.rst:1617 -msgid "" -">>> from datetime import datetime\n" -">>> datetime(2002, 12, 4, 20, 30, 40).ctime()\n" -"'Wed Dec 4 20:30:40 2002'" -msgstr "" - -#: ../../library/datetime.rst:1621 -msgid "" -"The output string will *not* include time zone information, regardless of " -"whether the input is aware or naive." -msgstr "" - -#: ../../library/datetime.rst:1628 -msgid "" -"on platforms where the native C :c:func:`ctime` function (which " -":func:`time.ctime` invokes, but which :meth:`datetime.ctime` does not " -"invoke) conforms to the C standard." -msgstr "" - -#: ../../library/datetime.rst:1635 -msgid "" -"Return a string representing the date and time, controlled by an explicit " -"format string. See also :ref:`strftime-strptime-behavior` and " -":meth:`datetime.isoformat`." -msgstr "" - -#: ../../library/datetime.rst:1642 -msgid "" -"Same as :meth:`.datetime.strftime`. This makes it possible to specify a " -"format string for a :class:`.datetime` object in :ref:`formatted string " -"literals ` and when using :meth:`str.format`. See also " -":ref:`strftime-strptime-behavior` and :meth:`datetime.isoformat`." -msgstr "" - -#: ../../library/datetime.rst:1649 -msgid "Examples of Usage: :class:`.datetime`" -msgstr "" - -#: ../../library/datetime.rst:1651 -msgid "Examples of working with :class:`.datetime` objects:" -msgstr "" - -#: ../../library/datetime.rst:1653 -msgid "" -">>> from datetime import datetime, date, time, timezone\n" -"\n" -">>> # Using datetime.combine()\n" -">>> d = date(2005, 7, 14)\n" -">>> t = time(12, 30)\n" -">>> datetime.combine(d, t)\n" -"datetime.datetime(2005, 7, 14, 12, 30)\n" -"\n" -">>> # Using datetime.now()\n" -">>> datetime.now()\n" -"datetime.datetime(2007, 12, 6, 16, 29, 43, 79043) # GMT +1\n" -">>> datetime.now(timezone.utc)\n" -"datetime.datetime(2007, 12, 6, 15, 29, 43, 79060, tzinfo=datetime.timezone.utc)\n" -"\n" -">>> # Using datetime.strptime()\n" -">>> dt = datetime.strptime(\"21/11/06 16:30\", \"%d/%m/%y %H:%M\")\n" -">>> dt\n" -"datetime.datetime(2006, 11, 21, 16, 30)\n" -"\n" -">>> # Using datetime.timetuple() to get tuple of all attributes\n" -">>> tt = dt.timetuple()\n" -">>> for it in tt:\n" -"... print(it)\n" -"...\n" -"2006 # year\n" -"11 # month\n" -"21 # day\n" -"16 # hour\n" -"30 # minute\n" -"0 # second\n" -"1 # weekday (0 = Monday)\n" -"325 # number of days since 1st January\n" -"-1 # dst - method tzinfo.dst() returned None\n" -"\n" -">>> # Date in ISO format\n" -">>> ic = dt.isocalendar()\n" -">>> for it in ic:\n" -"... print(it)\n" -"...\n" -"2006 # ISO year\n" -"47 # ISO week\n" -"2 # ISO weekday\n" -"\n" -">>> # Formatting a datetime\n" -">>> dt.strftime(\"%A, %d. %B %Y %I:%M%p\")\n" -"'Tuesday, 21. November 2006 04:30PM'\n" -">>> 'The {1} is {0:%d}, the {2} is {0:%B}, the {3} is {0:%I:%M%p}.'.format(dt, \"day\", \"month\", \"time\")\n" -"'The day is 21, the month is November, the time is 04:30PM.'" -msgstr "" - -#: ../../library/datetime.rst:1704 -msgid "" -"The example below defines a :class:`tzinfo` subclass capturing time zone " -"information for Kabul, Afghanistan, which used +4 UTC until 1945 and then " -"+4:30 UTC thereafter::" -msgstr "" - -#: ../../library/datetime.rst:1708 -msgid "" -"from datetime import timedelta, datetime, tzinfo, timezone\n" -"\n" -"class KabulTz(tzinfo):\n" -" # Kabul used +4 until 1945, when they moved to +4:30\n" -" UTC_MOVE_DATE = datetime(1944, 12, 31, 20, tzinfo=timezone.utc)\n" -"\n" -" def utcoffset(self, dt):\n" -" if dt.year < 1945:\n" -" return timedelta(hours=4)\n" -" elif (1945, 1, 1, 0, 0) <= dt.timetuple()[:5] < (1945, 1, 1, 0, 30):\n" -" # An ambiguous (\"imaginary\") half-hour range representing\n" -" # a 'fold' in time due to the shift from +4 to +4:30.\n" -" # If dt falls in the imaginary range, use fold to decide how\n" -" # to resolve. See PEP495.\n" -" return timedelta(hours=4, minutes=(30 if dt.fold else 0))\n" -" else:\n" -" return timedelta(hours=4, minutes=30)\n" -"\n" -" def fromutc(self, dt):\n" -" # Follow same validations as in datetime.tzinfo\n" -" if not isinstance(dt, datetime):\n" -" raise TypeError(\"fromutc() requires a datetime argument\")\n" -" if dt.tzinfo is not self:\n" -" raise ValueError(\"dt.tzinfo is not self\")\n" -"\n" -" # A custom implementation is required for fromutc as\n" -" # the input to this function is a datetime with utc values\n" -" # but with a tzinfo set to self.\n" -" # See datetime.astimezone or fromtimestamp.\n" -" if dt.replace(tzinfo=timezone.utc) >= self.UTC_MOVE_DATE:\n" -" return dt + timedelta(hours=4, minutes=30)\n" -" else:\n" -" return dt + timedelta(hours=4)\n" -"\n" -" def dst(self, dt):\n" -" # Kabul does not observe daylight saving time.\n" -" return timedelta(0)\n" -"\n" -" def tzname(self, dt):\n" -" if dt >= self.UTC_MOVE_DATE:\n" -" return \"+04:30\"\n" -" return \"+04\"" -msgstr "" - -#: ../../library/datetime.rst:1751 -msgid "Usage of ``KabulTz`` from above::" -msgstr "" - -#: ../../library/datetime.rst:1753 -msgid "" -">>> tz1 = KabulTz()\n" -"\n" -">>> # Datetime before the change\n" -">>> dt1 = datetime(1900, 11, 21, 16, 30, tzinfo=tz1)\n" -">>> print(dt1.utcoffset())\n" -"4:00:00\n" -"\n" -">>> # Datetime after the change\n" -">>> dt2 = datetime(2006, 6, 14, 13, 0, tzinfo=tz1)\n" -">>> print(dt2.utcoffset())\n" -"4:30:00\n" -"\n" -">>> # Convert datetime to another time zone\n" -">>> dt3 = dt2.astimezone(timezone.utc)\n" -">>> dt3\n" -"datetime.datetime(2006, 6, 14, 8, 30, tzinfo=datetime.timezone.utc)\n" -">>> dt2\n" -"datetime.datetime(2006, 6, 14, 13, 0, tzinfo=KabulTz())\n" -">>> dt2 == dt3\n" -"True" -msgstr "" - -#: ../../library/datetime.rst:1777 -msgid ":class:`.time` Objects" -msgstr "" - -#: ../../library/datetime.rst:1779 -msgid "" -"A :class:`.time` object represents a (local) time of day, independent of any" -" particular day, and subject to adjustment via a :class:`tzinfo` object." -msgstr "" - -#: ../../library/datetime.rst:1784 -msgid "" -"All arguments are optional. *tzinfo* may be ``None``, or an instance of a " -":class:`tzinfo` subclass. The remaining arguments must be integers in the " -"following ranges:" -msgstr "" - -#: ../../library/datetime.rst:1794 -msgid "" -"If an argument outside those ranges is given, :exc:`ValueError` is raised. " -"All default to 0 except *tzinfo*, which defaults to ``None``." -msgstr "" - -#: ../../library/datetime.rst:1802 -msgid "The earliest representable :class:`.time`, ``time(0, 0, 0, 0)``." -msgstr "" - -#: ../../library/datetime.rst:1807 -msgid "The latest representable :class:`.time`, ``time(23, 59, 59, 999999)``." -msgstr "" - -#: ../../library/datetime.rst:1812 -msgid "" -"The smallest possible difference between non-equal :class:`.time` objects, " -"``timedelta(microseconds=1)``, although note that arithmetic on " -":class:`.time` objects is not supported." -msgstr "" - -#: ../../library/datetime.rst:1841 -msgid "" -"The object passed as the tzinfo argument to the :class:`.time` constructor, " -"or ``None`` if none was passed." -msgstr "" - -#: ../../library/datetime.rst:1855 -msgid "" -":class:`.time` objects support equality and order comparisons, where ``a`` " -"is considered less than ``b`` when ``a`` precedes ``b`` in time." -msgstr "" - -#: ../../library/datetime.rst:1858 -msgid "" -"Naive and aware :class:`!time` objects are never equal. Order comparison " -"between naive and aware :class:`!time` objects raises :exc:`TypeError`." -msgstr "" - -#: ../../library/datetime.rst:1862 -msgid "" -"If both comparands are aware, and have the same :attr:`~.time.tzinfo` " -"attribute, the :attr:`!tzinfo` and :attr:`!fold` attributes are ignored and " -"the base times are compared. If both comparands are aware and have different" -" :attr:`!tzinfo` attributes, the comparands are first adjusted by " -"subtracting their UTC offsets (obtained from ``self.utcoffset()``)." -msgstr "" - -#: ../../library/datetime.rst:1868 -msgid "" -"Equality comparisons between aware and naive :class:`.time` instances don't " -"raise :exc:`TypeError`." -msgstr "" - -#: ../../library/datetime.rst:1872 -msgid "" -"In Boolean contexts, a :class:`.time` object is always considered to be " -"true." -msgstr "" - -#: ../../library/datetime.rst:1874 -msgid "" -"Before Python 3.5, a :class:`.time` object was considered to be false if it " -"represented midnight in UTC. This behavior was considered obscure and error-" -"prone and has been removed in Python 3.5. See :issue:`13936` for full " -"details." -msgstr "" - -#: ../../library/datetime.rst:1881 -msgid "Other constructors:" -msgstr "" - -#: ../../library/datetime.rst:1885 -msgid "" -"Return a :class:`.time` corresponding to a *time_string* in any valid ISO " -"8601 format, with the following exceptions:" -msgstr "" - -#: ../../library/datetime.rst:1889 -msgid "" -"The leading ``T``, normally required in cases where there may be ambiguity " -"between a date and a time, is not required." -msgstr "" - -#: ../../library/datetime.rst:1891 -msgid "" -"Fractional seconds may have any number of digits (anything beyond 6 will be " -"truncated)." -msgstr "" - -#: ../../library/datetime.rst:1895 -msgid "Examples:" -msgstr "Contoh-contoh:" - -#: ../../library/datetime.rst:1897 -msgid "" -">>> from datetime import time\n" -">>> time.fromisoformat('04:23:01')\n" -"datetime.time(4, 23, 1)\n" -">>> time.fromisoformat('T04:23:01')\n" -"datetime.time(4, 23, 1)\n" -">>> time.fromisoformat('T042301')\n" -"datetime.time(4, 23, 1)\n" -">>> time.fromisoformat('04:23:01.000384')\n" -"datetime.time(4, 23, 1, 384)\n" -">>> time.fromisoformat('04:23:01,000384')\n" -"datetime.time(4, 23, 1, 384)\n" -">>> time.fromisoformat('04:23:01+04:00')\n" -"datetime.time(4, 23, 1, tzinfo=datetime.timezone(datetime.timedelta(seconds=14400)))\n" -">>> time.fromisoformat('04:23:01Z')\n" -"datetime.time(4, 23, 1, tzinfo=datetime.timezone.utc)\n" -">>> time.fromisoformat('04:23:01+00:00')\n" -"datetime.time(4, 23, 1, tzinfo=datetime.timezone.utc)" -msgstr "" - -#: ../../library/datetime.rst:1919 -msgid "" -"Previously, this method only supported formats that could be emitted by " -":meth:`time.isoformat`." -msgstr "" - -#: ../../library/datetime.rst:1925 -msgid "" -"Return a :class:`.time` corresponding to *date_string*, parsed according to " -"*format*." -msgstr "" - -#: ../../library/datetime.rst:1928 -msgid "" -"If *format* does not contain microseconds or timezone information, this is " -"equivalent to::" -msgstr "" - -#: ../../library/datetime.rst:1930 -msgid "time(*(time.strptime(date_string, format)[3:6]))" -msgstr "" - -#: ../../library/datetime.rst:1932 -msgid "" -":exc:`ValueError` is raised if the *date_string* and *format* cannot be " -"parsed by :func:`time.strptime` or if it returns a value which is not a time" -" tuple. See also :ref:`strftime-strptime-behavior` and " -":meth:`time.fromisoformat`." -msgstr "" - -#: ../../library/datetime.rst:1945 -msgid "" -"Return a new :class:`.time` with the same values, but with specified " -"parameters updated. Note that ``tzinfo=None`` can be specified to create a " -"naive :class:`.time` from an aware :class:`.time`, without conversion of the" -" time data." -msgstr "" - -#: ../../library/datetime.rst:1950 -msgid "" -":class:`.time` objects are also supported by generic function " -":func:`copy.replace`." -msgstr "" - -#: ../../library/datetime.rst:1959 -msgid "Return a string representing the time in ISO 8601 format, one of:" -msgstr "" - -#: ../../library/datetime.rst:1961 -msgid "``HH:MM:SS.ffffff``, if :attr:`microsecond` is not 0" -msgstr "" - -#: ../../library/datetime.rst:1962 -msgid "``HH:MM:SS``, if :attr:`microsecond` is 0" -msgstr "" - -#: ../../library/datetime.rst:1963 -msgid "" -"``HH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, if :meth:`utcoffset` does not " -"return ``None``" -msgstr "" - -#: ../../library/datetime.rst:1964 -msgid "" -"``HH:MM:SS+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` is 0 and " -":meth:`utcoffset` does not return ``None``" -msgstr "" - -#: ../../library/datetime.rst:1984 -msgid ":exc:`ValueError` will be raised on an invalid *timespec* argument." -msgstr "" - -#: ../../library/datetime.rst:1988 -msgid "" -">>> from datetime import time\n" -">>> time(hour=12, minute=34, second=56, microsecond=123456).isoformat(timespec='minutes')\n" -"'12:34'\n" -">>> dt = time(hour=12, minute=34, second=56, microsecond=0)\n" -">>> dt.isoformat(timespec='microseconds')\n" -"'12:34:56.000000'\n" -">>> dt.isoformat(timespec='auto')\n" -"'12:34:56'" -msgstr "" - -#: ../../library/datetime.rst:2003 -msgid "For a time ``t``, ``str(t)`` is equivalent to ``t.isoformat()``." -msgstr "" - -#: ../../library/datetime.rst:2008 -msgid "" -"Return a string representing the time, controlled by an explicit format " -"string. See also :ref:`strftime-strptime-behavior` and " -":meth:`time.isoformat`." -msgstr "" - -#: ../../library/datetime.rst:2014 -msgid "" -"Same as :meth:`.time.strftime`. This makes it possible to specify a format " -"string for a :class:`.time` object in :ref:`formatted string literals " -"` and when using :meth:`str.format`. See also :ref:`strftime-" -"strptime-behavior` and :meth:`time.isoformat`." -msgstr "" - -#: ../../library/datetime.rst:2022 -msgid "" -"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns " -"``self.tzinfo.utcoffset(None)``, and raises an exception if the latter " -"doesn't return ``None`` or a :class:`timedelta` object with magnitude less " -"than one day." -msgstr "" - -#: ../../library/datetime.rst:2032 -msgid "" -"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns " -"``self.tzinfo.dst(None)``, and raises an exception if the latter doesn't " -"return ``None``, or a :class:`timedelta` object with magnitude less than one" -" day." -msgstr "" - -#: ../../library/datetime.rst:2041 -msgid "" -"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns " -"``self.tzinfo.tzname(None)``, or raises an exception if the latter doesn't " -"return ``None`` or a string object." -msgstr "" - -#: ../../library/datetime.rst:2046 -msgid "Examples of Usage: :class:`.time`" -msgstr "" - -#: ../../library/datetime.rst:2048 -msgid "Examples of working with a :class:`.time` object::" -msgstr "" - -#: ../../library/datetime.rst:2050 -msgid "" -">>> from datetime import time, tzinfo, timedelta\n" -">>> class TZ1(tzinfo):\n" -"... def utcoffset(self, dt):\n" -"... return timedelta(hours=1)\n" -"... def dst(self, dt):\n" -"... return timedelta(0)\n" -"... def tzname(self,dt):\n" -"... return \"+01:00\"\n" -"... def __repr__(self):\n" -"... return f\"{self.__class__.__name__}()\"\n" -"...\n" -">>> t = time(12, 10, 30, tzinfo=TZ1())\n" -">>> t\n" -"datetime.time(12, 10, 30, tzinfo=TZ1())\n" -">>> t.isoformat()\n" -"'12:10:30+01:00'\n" -">>> t.dst()\n" -"datetime.timedelta(0)\n" -">>> t.tzname()\n" -"'+01:00'\n" -">>> t.strftime(\"%H:%M:%S %Z\")\n" -"'12:10:30 +01:00'\n" -">>> 'The {} is {:%H:%M}.'.format(\"time\", t)\n" -"'The time is 12:10.'" -msgstr "" - -#: ../../library/datetime.rst:2079 -msgid ":class:`tzinfo` Objects" -msgstr "" - -#: ../../library/datetime.rst:2083 -msgid "" -"This is an abstract base class, meaning that this class should not be " -"instantiated directly. Define a subclass of :class:`tzinfo` to capture " -"information about a particular time zone." -msgstr "" - -#: ../../library/datetime.rst:2087 -msgid "" -"An instance of (a concrete subclass of) :class:`tzinfo` can be passed to the" -" constructors for :class:`.datetime` and :class:`.time` objects. The latter " -"objects view their attributes as being in local time, and the " -":class:`tzinfo` object supports methods revealing offset of local time from " -"UTC, the name of the time zone, and DST offset, all relative to a date or " -"time object passed to them." -msgstr "" - -#: ../../library/datetime.rst:2093 -msgid "" -"You need to derive a concrete subclass, and (at least) supply " -"implementations of the standard :class:`tzinfo` methods needed by the " -":class:`.datetime` methods you use. The :mod:`!datetime` module provides " -":class:`timezone`, a simple concrete subclass of :class:`tzinfo` which can " -"represent time zones with fixed offset from UTC such as UTC itself or North " -"American EST and EDT." -msgstr "" - -#: ../../library/datetime.rst:2100 -msgid "" -"Special requirement for pickling: A :class:`tzinfo` subclass must have an " -":meth:`~object.__init__` method that can be called with no arguments, " -"otherwise it can be pickled but possibly not unpickled again. This is a " -"technical requirement that may be relaxed in the future." -msgstr "" - -#: ../../library/datetime.rst:2106 -msgid "" -"A concrete subclass of :class:`tzinfo` may need to implement the following " -"methods. Exactly which methods are needed depends on the uses made of aware " -":mod:`!datetime` objects. If in doubt, simply implement all of them." -msgstr "" - -#: ../../library/datetime.rst:2113 -msgid "" -"Return offset of local time from UTC, as a :class:`timedelta` object that is" -" positive east of UTC. If local time is west of UTC, this should be " -"negative." -msgstr "" - -#: ../../library/datetime.rst:2116 -msgid "" -"This represents the *total* offset from UTC; for example, if a " -":class:`tzinfo` object represents both time zone and DST adjustments, " -":meth:`utcoffset` should return their sum. If the UTC offset isn't known, " -"return ``None``. Else the value returned must be a :class:`timedelta` object" -" strictly between ``-timedelta(hours=24)`` and ``timedelta(hours=24)`` (the " -"magnitude of the offset must be less than one day). Most implementations of " -":meth:`utcoffset` will probably look like one of these two::" -msgstr "" - -#: ../../library/datetime.rst:2124 -msgid "" -"return CONSTANT # fixed-offset class\n" -"return CONSTANT + self.dst(dt) # daylight-aware class" -msgstr "" - -#: ../../library/datetime.rst:2127 -msgid "" -"If :meth:`utcoffset` does not return ``None``, :meth:`dst` should not return" -" ``None`` either." -msgstr "" - -#: ../../library/datetime.rst:2130 -msgid "" -"The default implementation of :meth:`utcoffset` raises " -":exc:`NotImplementedError`." -msgstr "" - -#: ../../library/datetime.rst:2139 -msgid "" -"Return the daylight saving time (DST) adjustment, as a :class:`timedelta` " -"object or ``None`` if DST information isn't known." -msgstr "" - -#: ../../library/datetime.rst:2143 -msgid "" -"Return ``timedelta(0)`` if DST is not in effect. If DST is in effect, return" -" the offset as a :class:`timedelta` object (see :meth:`utcoffset` for " -"details). Note that DST offset, if applicable, has already been added to the" -" UTC offset returned by :meth:`utcoffset`, so there's no need to consult " -":meth:`dst` unless you're interested in obtaining DST info separately. For " -"example, :meth:`datetime.timetuple` calls its :attr:`~.datetime.tzinfo` " -"attribute's :meth:`dst` method to determine how the " -":attr:`~time.struct_time.tm_isdst` flag should be set, and " -":meth:`tzinfo.fromutc` calls :meth:`dst` to account for DST changes when " -"crossing time zones." -msgstr "" - -#: ../../library/datetime.rst:2153 -msgid "" -"An instance *tz* of a :class:`tzinfo` subclass that models both standard and" -" daylight times must be consistent in this sense:" -msgstr "" - -#: ../../library/datetime.rst:2156 -msgid "``tz.utcoffset(dt) - tz.dst(dt)``" -msgstr "" - -#: ../../library/datetime.rst:2158 -msgid "" -"must return the same result for every :class:`.datetime` *dt* with " -"``dt.tzinfo == tz``. For sane :class:`tzinfo` subclasses, this expression " -"yields the time zone's \"standard offset\", which should not depend on the " -"date or the time, but only on geographic location. The implementation of " -":meth:`datetime.astimezone` relies on this, but cannot detect violations; " -"it's the programmer's responsibility to ensure it. If a :class:`tzinfo` " -"subclass cannot guarantee this, it may be able to override the default " -"implementation of :meth:`tzinfo.fromutc` to work correctly with " -":meth:`~.datetime.astimezone` regardless." -msgstr "" - -#: ../../library/datetime.rst:2167 -msgid "" -"Most implementations of :meth:`dst` will probably look like one of these " -"two::" -msgstr "" - -#: ../../library/datetime.rst:2169 -msgid "" -"def dst(self, dt):\n" -" # a fixed-offset class: doesn't account for DST\n" -" return timedelta(0)" -msgstr "" - -#: ../../library/datetime.rst:2173 -msgid "or::" -msgstr "atau::" - -#: ../../library/datetime.rst:2175 -msgid "" -"def dst(self, dt):\n" -" # Code to set dston and dstoff to the time zone's DST\n" -" # transition times based on the input dt.year, and expressed\n" -" # in standard local time.\n" -"\n" -" if dston <= dt.replace(tzinfo=None) < dstoff:\n" -" return timedelta(hours=1)\n" -" else:\n" -" return timedelta(0)" -msgstr "" - -#: ../../library/datetime.rst:2185 -msgid "" -"The default implementation of :meth:`dst` raises :exc:`NotImplementedError`." -msgstr "" - -#: ../../library/datetime.rst:2193 -msgid "" -"Return the time zone name corresponding to the :class:`.datetime` object " -"*dt*, as a string. Nothing about string names is defined by the " -":mod:`!datetime` module, and there's no requirement that it mean anything in" -" particular. For example, ``\"GMT\"``, ``\"UTC\"``, ``\"-500\"``, " -"``\"-5:00\"``, ``\"EDT\"``, ``\"US/Eastern\"``, ``\"America/New York\"`` are" -" all valid replies. Return ``None`` if a string name isn't known. Note that " -"this is a method rather than a fixed string primarily because some " -":class:`tzinfo` subclasses will wish to return different names depending on " -"the specific value of *dt* passed, especially if the :class:`tzinfo` class " -"is accounting for daylight time." -msgstr "" - -#: ../../library/datetime.rst:2203 -msgid "" -"The default implementation of :meth:`tzname` raises " -":exc:`NotImplementedError`." -msgstr "" - -#: ../../library/datetime.rst:2206 -msgid "" -"These methods are called by a :class:`.datetime` or :class:`.time` object, " -"in response to their methods of the same names. A :class:`.datetime` object " -"passes itself as the argument, and a :class:`.time` object passes ``None`` " -"as the argument. A :class:`tzinfo` subclass's methods should therefore be " -"prepared to accept a *dt* argument of ``None``, or of class " -":class:`.datetime`." -msgstr "" - -#: ../../library/datetime.rst:2212 -msgid "" -"When ``None`` is passed, it's up to the class designer to decide the best " -"response. For example, returning ``None`` is appropriate if the class wishes" -" to say that time objects don't participate in the :class:`tzinfo` " -"protocols. It may be more useful for ``utcoffset(None)`` to return the " -"standard UTC offset, as there is no other convention for discovering the " -"standard offset." -msgstr "" - -#: ../../library/datetime.rst:2218 -msgid "" -"When a :class:`.datetime` object is passed in response to a " -":class:`.datetime` method, ``dt.tzinfo`` is the same object as *self*. " -":class:`tzinfo` methods can rely on this, unless user code calls " -":class:`tzinfo` methods directly. The intent is that the :class:`tzinfo` " -"methods interpret *dt* as being in local time, and not need worry about " -"objects in other time zones." -msgstr "" - -#: ../../library/datetime.rst:2224 -msgid "" -"There is one more :class:`tzinfo` method that a subclass may wish to " -"override:" -msgstr "" - -#: ../../library/datetime.rst:2229 -msgid "" -"This is called from the default :meth:`datetime.astimezone` implementation. " -"When called from that, ``dt.tzinfo`` is *self*, and *dt*'s date and time " -"data are to be viewed as expressing a UTC time. The purpose of " -":meth:`fromutc` is to adjust the date and time data, returning an equivalent" -" datetime in *self*'s local time." -msgstr "" - -#: ../../library/datetime.rst:2235 -msgid "" -"Most :class:`tzinfo` subclasses should be able to inherit the default " -":meth:`fromutc` implementation without problems. It's strong enough to " -"handle fixed-offset time zones, and time zones accounting for both standard " -"and daylight time, and the latter even if the DST transition times differ in" -" different years. An example of a time zone the default :meth:`fromutc` " -"implementation may not handle correctly in all cases is one where the " -"standard offset (from UTC) depends on the specific date and time passed, " -"which can happen for political reasons. The default implementations of " -":meth:`~.datetime.astimezone` and :meth:`fromutc` may not produce the result" -" you want if the result is one of the hours straddling the moment the " -"standard offset changes." -msgstr "" - -#: ../../library/datetime.rst:2246 -msgid "" -"Skipping code for error cases, the default :meth:`fromutc` implementation " -"acts like::" -msgstr "" - -#: ../../library/datetime.rst:2249 -msgid "" -"def fromutc(self, dt):\n" -" # raise ValueError error if dt.tzinfo is not self\n" -" dtoff = dt.utcoffset()\n" -" dtdst = dt.dst()\n" -" # raise ValueError if dtoff is None or dtdst is None\n" -" delta = dtoff - dtdst # this is self's standard offset\n" -" if delta:\n" -" dt += delta # convert to standard local time\n" -" dtdst = dt.dst()\n" -" # raise ValueError if dtdst is None\n" -" if dtdst:\n" -" return dt + dtdst\n" -" else:\n" -" return dt" -msgstr "" - -#: ../../library/datetime.rst:2264 -msgid "" -"In the following :download:`tzinfo_examples.py " -"<../includes/tzinfo_examples.py>` file there are some examples of " -":class:`tzinfo` classes:" -msgstr "" - -#: ../../library/datetime.rst:2268 -msgid "" -"from datetime import tzinfo, timedelta, datetime\n" -"\n" -"ZERO = timedelta(0)\n" -"HOUR = timedelta(hours=1)\n" -"SECOND = timedelta(seconds=1)\n" -"\n" -"# A class capturing the platform's idea of local time.\n" -"# (May result in wrong values on historical times in\n" -"# timezones where UTC offset and/or the DST rules had\n" -"# changed in the past.)\n" -"import time as _time\n" -"\n" -"STDOFFSET = timedelta(seconds = -_time.timezone)\n" -"if _time.daylight:\n" -" DSTOFFSET = timedelta(seconds = -_time.altzone)\n" -"else:\n" -" DSTOFFSET = STDOFFSET\n" -"\n" -"DSTDIFF = DSTOFFSET - STDOFFSET\n" -"\n" -"class LocalTimezone(tzinfo):\n" -"\n" -" def fromutc(self, dt):\n" -" assert dt.tzinfo is self\n" -" stamp = (dt - datetime(1970, 1, 1, tzinfo=self)) // SECOND\n" -" args = _time.localtime(stamp)[:6]\n" -" dst_diff = DSTDIFF // SECOND\n" -" # Detect fold\n" -" fold = (args == _time.localtime(stamp - dst_diff))\n" -" return datetime(*args, microsecond=dt.microsecond,\n" -" tzinfo=self, fold=fold)\n" -"\n" -" def utcoffset(self, dt):\n" -" if self._isdst(dt):\n" -" return DSTOFFSET\n" -" else:\n" -" return STDOFFSET\n" -"\n" -" def dst(self, dt):\n" -" if self._isdst(dt):\n" -" return DSTDIFF\n" -" else:\n" -" return ZERO\n" -"\n" -" def tzname(self, dt):\n" -" return _time.tzname[self._isdst(dt)]\n" -"\n" -" def _isdst(self, dt):\n" -" tt = (dt.year, dt.month, dt.day,\n" -" dt.hour, dt.minute, dt.second,\n" -" dt.weekday(), 0, 0)\n" -" stamp = _time.mktime(tt)\n" -" tt = _time.localtime(stamp)\n" -" return tt.tm_isdst > 0\n" -"\n" -"Local = LocalTimezone()\n" -"\n" -"\n" -"# A complete implementation of current DST rules for major US time zones.\n" -"\n" -"def first_sunday_on_or_after(dt):\n" -" days_to_go = 6 - dt.weekday()\n" -" if days_to_go:\n" -" dt += timedelta(days_to_go)\n" -" return dt\n" -"\n" -"\n" -"# US DST Rules\n" -"#\n" -"# This is a simplified (i.e., wrong for a few cases) set of rules for US\n" -"# DST start and end times. For a complete and up-to-date set of DST rules\n" -"# and timezone definitions, visit the Olson Database (or try pytz):\n" -"# http://www.twinsun.com/tz/tz-link.htm\n" -"# https://sourceforge.net/projects/pytz/ (might not be up-to-date)\n" -"#\n" -"# In the US, since 2007, DST starts at 2am (standard time) on the second\n" -"# Sunday in March, which is the first Sunday on or after Mar 8.\n" -"DSTSTART_2007 = datetime(1, 3, 8, 2)\n" -"# and ends at 2am (DST time) on the first Sunday of Nov.\n" -"DSTEND_2007 = datetime(1, 11, 1, 2)\n" -"# From 1987 to 2006, DST used to start at 2am (standard time) on the first\n" -"# Sunday in April and to end at 2am (DST time) on the last\n" -"# Sunday of October, which is the first Sunday on or after Oct 25.\n" -"DSTSTART_1987_2006 = datetime(1, 4, 1, 2)\n" -"DSTEND_1987_2006 = datetime(1, 10, 25, 2)\n" -"# From 1967 to 1986, DST used to start at 2am (standard time) on the last\n" -"# Sunday in April (the one on or after April 24) and to end at 2am (DST time)\n" -"# on the last Sunday of October, which is the first Sunday\n" -"# on or after Oct 25.\n" -"DSTSTART_1967_1986 = datetime(1, 4, 24, 2)\n" -"DSTEND_1967_1986 = DSTEND_1987_2006\n" -"\n" -"def us_dst_range(year):\n" -" # Find start and end times for US DST. For years before 1967, return\n" -" # start = end for no DST.\n" -" if 2006 < year:\n" -" dststart, dstend = DSTSTART_2007, DSTEND_2007\n" -" elif 1986 < year < 2007:\n" -" dststart, dstend = DSTSTART_1987_2006, DSTEND_1987_2006\n" -" elif 1966 < year < 1987:\n" -" dststart, dstend = DSTSTART_1967_1986, DSTEND_1967_1986\n" -" else:\n" -" return (datetime(year, 1, 1), ) * 2\n" -"\n" -" start = first_sunday_on_or_after(dststart.replace(year=year))\n" -" end = first_sunday_on_or_after(dstend.replace(year=year))\n" -" return start, end\n" -"\n" -"\n" -"class USTimeZone(tzinfo):\n" -"\n" -" def __init__(self, hours, reprname, stdname, dstname):\n" -" self.stdoffset = timedelta(hours=hours)\n" -" self.reprname = reprname\n" -" self.stdname = stdname\n" -" self.dstname = dstname\n" -"\n" -" def __repr__(self):\n" -" return self.reprname\n" -"\n" -" def tzname(self, dt):\n" -" if self.dst(dt):\n" -" return self.dstname\n" -" else:\n" -" return self.stdname\n" -"\n" -" def utcoffset(self, dt):\n" -" return self.stdoffset + self.dst(dt)\n" -"\n" -" def dst(self, dt):\n" -" if dt is None or dt.tzinfo is None:\n" -" # An exception may be sensible here, in one or both cases.\n" -" # It depends on how you want to treat them. The default\n" -" # fromutc() implementation (called by the default astimezone()\n" -" # implementation) passes a datetime with dt.tzinfo is self.\n" -" return ZERO\n" -" assert dt.tzinfo is self\n" -" start, end = us_dst_range(dt.year)\n" -" # Can't compare naive to aware objects, so strip the timezone from\n" -" # dt first.\n" -" dt = dt.replace(tzinfo=None)\n" -" if start + HOUR <= dt < end - HOUR:\n" -" # DST is in effect.\n" -" return HOUR\n" -" if end - HOUR <= dt < end:\n" -" # Fold (an ambiguous hour): use dt.fold to disambiguate.\n" -" return ZERO if dt.fold else HOUR\n" -" if start <= dt < start + HOUR:\n" -" # Gap (a non-existent hour): reverse the fold rule.\n" -" return HOUR if dt.fold else ZERO\n" -" # DST is off.\n" -" return ZERO\n" -"\n" -" def fromutc(self, dt):\n" -" assert dt.tzinfo is self\n" -" start, end = us_dst_range(dt.year)\n" -" start = start.replace(tzinfo=self)\n" -" end = end.replace(tzinfo=self)\n" -" std_time = dt + self.stdoffset\n" -" dst_time = std_time + HOUR\n" -" if end <= dst_time < end + HOUR:\n" -" # Repeated hour\n" -" return std_time.replace(fold=1)\n" -" if std_time < start or dst_time >= end:\n" -" # Standard time\n" -" return std_time\n" -" if start <= std_time < end - HOUR:\n" -" # Daylight saving time\n" -" return dst_time\n" -"\n" -"\n" -"Eastern = USTimeZone(-5, \"Eastern\", \"EST\", \"EDT\")\n" -"Central = USTimeZone(-6, \"Central\", \"CST\", \"CDT\")\n" -"Mountain = USTimeZone(-7, \"Mountain\", \"MST\", \"MDT\")\n" -"Pacific = USTimeZone(-8, \"Pacific\", \"PST\", \"PDT\")\n" -msgstr "" - -#: ../../library/datetime.rst:2270 -msgid "" -"Note that there are unavoidable subtleties twice per year in a " -":class:`tzinfo` subclass accounting for both standard and daylight time, at " -"the DST transition points. For concreteness, consider US Eastern (UTC " -"-0500), where EDT begins the minute after 1:59 (EST) on the second Sunday in" -" March, and ends the minute after 1:59 (EDT) on the first Sunday in " -"November::" -msgstr "" - -#: ../../library/datetime.rst:2276 -msgid "" -" UTC 3:MM 4:MM 5:MM 6:MM 7:MM 8:MM\n" -" EST 22:MM 23:MM 0:MM 1:MM 2:MM 3:MM\n" -" EDT 23:MM 0:MM 1:MM 2:MM 3:MM 4:MM\n" -"\n" -"start 22:MM 23:MM 0:MM 1:MM 3:MM 4:MM\n" -"\n" -" end 23:MM 0:MM 1:MM 1:MM 2:MM 3:MM" -msgstr "" - -#: ../../library/datetime.rst:2284 -msgid "" -"When DST starts (the \"start\" line), the local wall clock leaps from 1:59 " -"to 3:00. A wall time of the form 2:MM doesn't really make sense on that day," -" so ``astimezone(Eastern)`` won't deliver a result with ``hour == 2`` on the" -" day DST begins. For example, at the Spring forward transition of 2016, we " -"get::" -msgstr "" - -#: ../../library/datetime.rst:2289 -msgid "" -">>> from datetime import datetime, timezone\n" -">>> from tzinfo_examples import HOUR, Eastern\n" -">>> u0 = datetime(2016, 3, 13, 5, tzinfo=timezone.utc)\n" -">>> for i in range(4):\n" -"... u = u0 + i*HOUR\n" -"... t = u.astimezone(Eastern)\n" -"... print(u.time(), 'UTC =', t.time(), t.tzname())\n" -"...\n" -"05:00:00 UTC = 00:00:00 EST\n" -"06:00:00 UTC = 01:00:00 EST\n" -"07:00:00 UTC = 03:00:00 EDT\n" -"08:00:00 UTC = 04:00:00 EDT" -msgstr "" - -#: ../../library/datetime.rst:2303 -msgid "" -"When DST ends (the \"end\" line), there's a potentially worse problem: " -"there's an hour that can't be spelled unambiguously in local wall time: the " -"last hour of daylight time. In Eastern, that's times of the form 5:MM UTC on" -" the day daylight time ends. The local wall clock leaps from 1:59 (daylight " -"time) back to 1:00 (standard time) again. Local times of the form 1:MM are " -"ambiguous. :meth:`~.datetime.astimezone` mimics the local clock's behavior " -"by mapping two adjacent UTC hours into the same local hour then. In the " -"Eastern example, UTC times of the form 5:MM and 6:MM both map to 1:MM when " -"converted to Eastern, but earlier times have the :attr:`~.datetime.fold` " -"attribute set to 0 and the later times have it set to 1. For example, at the" -" Fall back transition of 2016, we get::" -msgstr "" - -#: ../../library/datetime.rst:2314 -msgid "" -">>> u0 = datetime(2016, 11, 6, 4, tzinfo=timezone.utc)\n" -">>> for i in range(4):\n" -"... u = u0 + i*HOUR\n" -"... t = u.astimezone(Eastern)\n" -"... print(u.time(), 'UTC =', t.time(), t.tzname(), t.fold)\n" -"...\n" -"04:00:00 UTC = 00:00:00 EDT 0\n" -"05:00:00 UTC = 01:00:00 EDT 0\n" -"06:00:00 UTC = 01:00:00 EST 1\n" -"07:00:00 UTC = 02:00:00 EST 0" -msgstr "" - -#: ../../library/datetime.rst:2325 -msgid "" -"Note that the :class:`.datetime` instances that differ only by the value of " -"the :attr:`~.datetime.fold` attribute are considered equal in comparisons." -msgstr "" - -#: ../../library/datetime.rst:2328 -msgid "" -"Applications that can't bear wall-time ambiguities should explicitly check " -"the value of the :attr:`~.datetime.fold` attribute or avoid using hybrid " -":class:`tzinfo` subclasses; there are no ambiguities when using " -":class:`timezone`, or any other fixed-offset :class:`tzinfo` subclass (such " -"as a class representing only EST (fixed offset -5 hours), or only EDT (fixed" -" offset -4 hours))." -msgstr "" - -#: ../../library/datetime.rst:2336 -msgid ":mod:`zoneinfo`" -msgstr "" - -#: ../../library/datetime.rst:2337 -msgid "" -"The :mod:`!datetime` module has a basic :class:`timezone` class (for " -"handling arbitrary fixed offsets from UTC) and its :attr:`timezone.utc` " -"attribute (a UTC :class:`!timezone` instance)." -msgstr "" - -#: ../../library/datetime.rst:2341 -msgid "" -"``zoneinfo`` brings the *IANA time zone database* (also known as the Olson " -"database) to Python, and its usage is recommended." -msgstr "" - -#: ../../library/datetime.rst:2344 -msgid "`IANA time zone database `_" -msgstr "" - -#: ../../library/datetime.rst:2345 -msgid "" -"The Time Zone Database (often called tz, tzdata or zoneinfo) contains code " -"and data that represent the history of local time for many representative " -"locations around the globe. It is updated periodically to reflect changes " -"made by political bodies to time zone boundaries, UTC offsets, and daylight-" -"saving rules." -msgstr "" - -#: ../../library/datetime.rst:2355 -msgid ":class:`timezone` Objects" -msgstr "" - -#: ../../library/datetime.rst:2357 -msgid "" -"The :class:`timezone` class is a subclass of :class:`tzinfo`, each instance " -"of which represents a time zone defined by a fixed offset from UTC." -msgstr "" - -#: ../../library/datetime.rst:2361 -msgid "" -"Objects of this class cannot be used to represent time zone information in " -"the locations where different offsets are used in different days of the year" -" or where historical changes have been made to civil time." -msgstr "" - -#: ../../library/datetime.rst:2368 -msgid "" -"The *offset* argument must be specified as a :class:`timedelta` object " -"representing the difference between the local time and UTC. It must be " -"strictly between ``-timedelta(hours=24)`` and ``timedelta(hours=24)``, " -"otherwise :exc:`ValueError` is raised." -msgstr "" - -#: ../../library/datetime.rst:2373 -msgid "" -"The *name* argument is optional. If specified it must be a string that will " -"be used as the value returned by the :meth:`datetime.tzname` method." -msgstr "" - -#: ../../library/datetime.rst:2384 ../../library/datetime.rst:2395 -msgid "" -"Return the fixed value specified when the :class:`timezone` instance is " -"constructed." -msgstr "" - -#: ../../library/datetime.rst:2387 -msgid "" -"The *dt* argument is ignored. The return value is a :class:`timedelta` " -"instance equal to the difference between the local time and UTC." -msgstr "" - -#: ../../library/datetime.rst:2398 -msgid "" -"If *name* is not provided in the constructor, the name returned by " -"``tzname(dt)`` is generated from the value of the ``offset`` as follows. If " -"*offset* is ``timedelta(0)``, the name is \"UTC\", otherwise it is a string " -"in the format ``UTC±HH:MM``, where ± is the sign of ``offset``, HH and MM " -"are two digits of ``offset.hours`` and ``offset.minutes`` respectively." -msgstr "" - -#: ../../library/datetime.rst:2404 -msgid "" -"Name generated from ``offset=timedelta(0)`` is now plain ``'UTC'``, not " -"``'UTC+00:00'``." -msgstr "" - -#: ../../library/datetime.rst:2411 -msgid "Always returns ``None``." -msgstr "" - -#: ../../library/datetime.rst:2415 -msgid "" -"Return ``dt + offset``. The *dt* argument must be an aware " -":class:`.datetime` instance, with ``tzinfo`` set to ``self``." -msgstr "" - -#: ../../library/datetime.rst:2422 -msgid "The UTC time zone, ``timezone(timedelta(0))``." -msgstr "" - -#: ../../library/datetime.rst:2431 -msgid ":meth:`~.datetime.strftime` and :meth:`~.datetime.strptime` Behavior" -msgstr "" - -#: ../../library/datetime.rst:2433 -msgid "" -":class:`date`, :class:`.datetime`, and :class:`.time` objects all support a " -"``strftime(format)`` method, to create a string representing the time under " -"the control of an explicit format string." -msgstr "" - -#: ../../library/datetime.rst:2437 -msgid "" -"Conversely, the :meth:`date.strptime`, :meth:`datetime.strptime` and " -":meth:`time.strptime` class methods create an object from a string " -"representing the time and a corresponding format string." -msgstr "" - -#: ../../library/datetime.rst:2441 -msgid "" -"The table below provides a high-level comparison of " -":meth:`~.datetime.strftime` versus :meth:`~.datetime.strptime`:" -msgstr "" - -#: ../../library/datetime.rst:2445 -msgid "``strftime``" -msgstr "``strftime``" - -#: ../../library/datetime.rst:2445 -msgid "``strptime``" -msgstr "``strptime``" - -#: ../../library/datetime.rst:2447 -msgid "Usage" -msgstr "Penggunaan" - -#: ../../library/datetime.rst:2447 -msgid "Convert object to a string according to a given format" -msgstr "" - -#: ../../library/datetime.rst:2447 -msgid "Parse a string into an object given a corresponding format" -msgstr "" - -#: ../../library/datetime.rst:2449 -msgid "Type of method" -msgstr "" - -#: ../../library/datetime.rst:2449 -msgid "Instance method" -msgstr "" - -#: ../../library/datetime.rst:2449 -msgid "Class method" -msgstr "" - -#: ../../library/datetime.rst:2451 -msgid "Signature" -msgstr "" - -#: ../../library/datetime.rst:2451 -msgid "``strftime(format)``" -msgstr "" - -#: ../../library/datetime.rst:2451 -msgid "``strptime(date_string, format)``" -msgstr "" - -#: ../../library/datetime.rst:2458 -msgid "" -":meth:`~.datetime.strftime` and :meth:`~.datetime.strptime` Format Codes" -msgstr "" - -#: ../../library/datetime.rst:2460 -msgid "" -"These methods accept format codes that can be used to parse and format " -"dates::" -msgstr "" - -#: ../../library/datetime.rst:2462 -msgid "" -">>> datetime.strptime('31/01/22 23:59:59.999999',\n" -"... '%d/%m/%y %H:%M:%S.%f')\n" -"datetime.datetime(2022, 1, 31, 23, 59, 59, 999999)\n" -">>> _.strftime('%a %d %b %Y, %I:%M%p')\n" -"'Mon 31 Jan 2022, 11:59PM'" -msgstr "" - -#: ../../library/datetime.rst:2468 -msgid "" -"The following is a list of all the format codes that the 1989 C standard " -"requires, and these work on all platforms with a standard C implementation." -msgstr "" - -#: ../../library/datetime.rst:2472 ../../library/datetime.rst:2575 -msgid "Directive" -msgstr "Petunjuk" - -#: ../../library/datetime.rst:2472 ../../library/datetime.rst:2575 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/datetime.rst:2472 ../../library/datetime.rst:2575 -msgid "Example" -msgstr "Contoh" - -#: ../../library/datetime.rst:2472 ../../library/datetime.rst:2575 -msgid "Notes" -msgstr "Catatan" - -#: ../../library/datetime.rst:2474 -msgid "``%a``" -msgstr "``%a``" - -#: ../../library/datetime.rst:2474 -msgid "Weekday as locale's abbreviated name." -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "Sun, Mon, ..., Sat (en_US);" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "So, Mo, ..., Sa (de_DE)" -msgstr "" - -#: ../../library/datetime.rst:2479 -msgid "``%A``" -msgstr "``%A``" - -#: ../../library/datetime.rst:2479 -msgid "Weekday as locale's full name." -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "Sunday, Monday, ..., Saturday (en_US);" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "Sonntag, Montag, ..., Samstag (de_DE)" -msgstr "" - -#: ../../library/datetime.rst:2484 -msgid "``%w``" -msgstr "``%w``" - -#: ../../library/datetime.rst:2484 -msgid "Weekday as a decimal number, where 0 is Sunday and 6 is Saturday." -msgstr "" - -#: ../../library/datetime.rst:2484 -msgid "0, 1, ..., 6" -msgstr "0, 1, ..., 6" - -#: ../../library/datetime.rst:2488 -msgid "``%d``" -msgstr "``%d``" - -#: ../../library/datetime.rst:2488 -msgid "Day of the month as a zero-padded decimal number." -msgstr "" - -#: ../../library/datetime.rst:2488 -msgid "01, 02, ..., 31" -msgstr "01, 02, ..., 31" - -#: ../../library/datetime.rst:2488 ../../library/datetime.rst:2501 -#: ../../library/datetime.rst:2504 ../../library/datetime.rst:2510 -#: ../../library/datetime.rst:2513 ../../library/datetime.rst:2519 -#: ../../library/datetime.rst:2537 -msgid "\\(9)" -msgstr "\\(9)" - -#: ../../library/datetime.rst:2491 -msgid "``%b``" -msgstr "``%b``" - -#: ../../library/datetime.rst:2491 -msgid "Month as locale's abbreviated name." -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "Jan, Feb, ..., Dec (en_US);" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "Jan, Feb, ..., Dez (de_DE)" -msgstr "" - -#: ../../library/datetime.rst:2496 -msgid "``%B``" -msgstr "``%B``" - -#: ../../library/datetime.rst:2496 -msgid "Month as locale's full name." -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "January, February, ..., December (en_US);" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "Januar, Februar, ..., Dezember (de_DE)" -msgstr "" - -#: ../../library/datetime.rst:2501 -msgid "``%m``" -msgstr "``%m``" - -#: ../../library/datetime.rst:2501 -msgid "Month as a zero-padded decimal number." -msgstr "" - -#: ../../library/datetime.rst:2501 ../../library/datetime.rst:2513 -msgid "01, 02, ..., 12" -msgstr "" - -#: ../../library/datetime.rst:2504 -msgid "``%y``" -msgstr "``%y``" - -#: ../../library/datetime.rst:2504 -msgid "Year without century as a zero-padded decimal number." -msgstr "" - -#: ../../library/datetime.rst:2504 -msgid "00, 01, ..., 99" -msgstr "00, 01, ..., 99" - -#: ../../library/datetime.rst:2507 -msgid "``%Y``" -msgstr "``%Y``" - -#: ../../library/datetime.rst:2507 -msgid "Year with century as a decimal number." -msgstr "" - -#: ../../library/datetime.rst:2507 ../../library/datetime.rst:2577 -msgid "0001, 0002, ..., 2013, 2014, ..., 9998, 9999" -msgstr "" - -#: ../../library/datetime.rst:2510 -msgid "``%H``" -msgstr "``%H``" - -#: ../../library/datetime.rst:2510 -msgid "Hour (24-hour clock) as a zero-padded decimal number." -msgstr "" - -#: ../../library/datetime.rst:2510 -msgid "00, 01, ..., 23" -msgstr "00, 01, ..., 23" - -#: ../../library/datetime.rst:2513 -msgid "``%I``" -msgstr "``%I``" - -#: ../../library/datetime.rst:2513 -msgid "Hour (12-hour clock) as a zero-padded decimal number." -msgstr "" - -#: ../../library/datetime.rst:2516 -msgid "``%p``" -msgstr "``%p``" - -#: ../../library/datetime.rst:2516 -msgid "Locale's equivalent of either AM or PM." -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "AM, PM (en_US);" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "am, pm (de_DE)" -msgstr "" - -#: ../../library/datetime.rst:2516 -msgid "\\(1), \\(3)" -msgstr "\\(1), \\(3)" - -#: ../../library/datetime.rst:2519 -msgid "``%M``" -msgstr "``%M``" - -#: ../../library/datetime.rst:2519 -msgid "Minute as a zero-padded decimal number." -msgstr "" - -#: ../../library/datetime.rst:2519 ../../library/datetime.rst:2522 -msgid "00, 01, ..., 59" -msgstr "00, 01, ..., 59" - -#: ../../library/datetime.rst:2522 -msgid "``%S``" -msgstr "``%S``" - -#: ../../library/datetime.rst:2522 -msgid "Second as a zero-padded decimal number." -msgstr "" - -#: ../../library/datetime.rst:2522 -msgid "\\(4), \\(9)" -msgstr "\\(4), \\(9)" - -#: ../../library/datetime.rst:2525 -msgid "``%f``" -msgstr "``%f``" - -#: ../../library/datetime.rst:2525 -msgid "Microsecond as a decimal number, zero-padded to 6 digits." -msgstr "" - -#: ../../library/datetime.rst:2525 -msgid "000000, 000001, ..., 999999" -msgstr "000000, 000001, ..., 999999" - -#: ../../library/datetime.rst:2525 -msgid "\\(5)" -msgstr "\\(5)" - -#: ../../library/datetime.rst:2529 ../../library/datetime.rst:2688 -msgid "``%z``" -msgstr "``%z``" - -#: ../../library/datetime.rst:2529 -msgid "" -"UTC offset in the form ``±HHMM[SS[.ffffff]]`` (empty string if the object is" -" naive)." -msgstr "" - -#: ../../library/datetime.rst:2529 -msgid "(empty), +0000, -0400, +1030, +063415, -030712.345216" -msgstr "" - -#: ../../library/datetime.rst:2529 ../../library/datetime.rst:2534 -#: ../../library/datetime.rst:2591 -msgid "\\(6)" -msgstr "\\(6)" - -#: ../../library/datetime.rst:2534 ../../library/datetime.rst:2714 -msgid "``%Z``" -msgstr "``%Z``" - -#: ../../library/datetime.rst:2534 -msgid "Time zone name (empty string if the object is naive)." -msgstr "" - -#: ../../library/datetime.rst:2534 -msgid "(empty), UTC, GMT" -msgstr "" - -#: ../../library/datetime.rst:2537 -msgid "``%j``" -msgstr "``%j``" - -#: ../../library/datetime.rst:2537 -msgid "Day of the year as a zero-padded decimal number." -msgstr "" - -#: ../../library/datetime.rst:2537 -msgid "001, 002, ..., 366" -msgstr "001, 002, ..., 366" - -#: ../../library/datetime.rst:2540 -msgid "``%U``" -msgstr "``%U``" - -#: ../../library/datetime.rst:2540 -msgid "" -"Week number of the year (Sunday as the first day of the week) as a zero-" -"padded decimal number. All days in a new year preceding the first Sunday are" -" considered to be in week 0." -msgstr "" - -#: ../../library/datetime.rst:2540 ../../library/datetime.rst:2548 -msgid "00, 01, ..., 53" -msgstr "00, 01, ..., 53" - -#: ../../library/datetime.rst:2540 ../../library/datetime.rst:2548 -msgid "\\(7), \\(9)" -msgstr "\\(7), \\(9)" - -#: ../../library/datetime.rst:2548 -msgid "``%W``" -msgstr "``%W``" - -#: ../../library/datetime.rst:2548 -msgid "" -"Week number of the year (Monday as the first day of the week) as a zero-" -"padded decimal number. All days in a new year preceding the first Monday are" -" considered to be in week 0." -msgstr "" - -#: ../../library/datetime.rst:2556 -msgid "``%c``" -msgstr "``%c``" - -#: ../../library/datetime.rst:2556 -msgid "Locale's appropriate date and time representation." -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "Tue Aug 16 21:30:00 1988 (en_US);" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "Di 16 Aug 21:30:00 1988 (de_DE)" -msgstr "" - -#: ../../library/datetime.rst:2561 -msgid "``%x``" -msgstr "``%x``" - -#: ../../library/datetime.rst:2561 -msgid "Locale's appropriate date representation." -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "08/16/88 (None);" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "08/16/1988 (en_US);" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "16.08.1988 (de_DE)" -msgstr "" - -#: ../../library/datetime.rst:2565 -msgid "``%X``" -msgstr "``%X``" - -#: ../../library/datetime.rst:2565 -msgid "Locale's appropriate time representation." -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "21:30:00 (en_US);" -msgstr "" - -#: ../../library/datetime.rst:0 -msgid "21:30:00 (de_DE)" -msgstr "" - -#: ../../library/datetime.rst:2568 -msgid "``%%``" -msgstr "``%%``" - -#: ../../library/datetime.rst:2568 -msgid "A literal ``'%'`` character." -msgstr "" - -#: ../../library/datetime.rst:2568 -msgid "%" -msgstr "%" - -#: ../../library/datetime.rst:2571 -msgid "" -"Several additional directives not required by the C89 standard are included " -"for convenience. These parameters all correspond to ISO 8601 date values." -msgstr "" - -#: ../../library/datetime.rst:2577 -msgid "``%G``" -msgstr "``%G``" - -#: ../../library/datetime.rst:2577 -msgid "" -"ISO 8601 year with century representing the year that contains the greater " -"part of the ISO week (``%V``)." -msgstr "" - -#: ../../library/datetime.rst:2577 -msgid "\\(8)" -msgstr "\\(8)" - -#: ../../library/datetime.rst:2582 -msgid "``%u``" -msgstr "``%u``" - -#: ../../library/datetime.rst:2582 -msgid "ISO 8601 weekday as a decimal number where 1 is Monday." -msgstr "" - -#: ../../library/datetime.rst:2582 -msgid "1, 2, ..., 7" -msgstr "1, 2, ..., 7" - -#: ../../library/datetime.rst:2585 -msgid "``%V``" -msgstr "``%V``" - -#: ../../library/datetime.rst:2585 -msgid "" -"ISO 8601 week as a decimal number with Monday as the first day of the week. " -"Week 01 is the week containing Jan 4." -msgstr "" - -#: ../../library/datetime.rst:2585 -msgid "01, 02, ..., 53" -msgstr "01, 02, ..., 53" - -#: ../../library/datetime.rst:2585 -msgid "\\(8), \\(9)" -msgstr "\\(8), \\(9)" - -#: ../../library/datetime.rst:2591 ../../library/datetime.rst:2710 -msgid "``%:z``" -msgstr "" - -#: ../../library/datetime.rst:2591 -msgid "" -"UTC offset in the form ``±HH:MM[:SS[.ffffff]]`` (empty string if the object " -"is naive)." -msgstr "" - -#: ../../library/datetime.rst:2591 -msgid "(empty), +00:00, -04:00, +10:30, +06:34:15, -03:07:12.345216" -msgstr "" - -#: ../../library/datetime.rst:2597 -msgid "" -"These may not be available on all platforms when used with the " -":meth:`~.datetime.strftime` method. The ISO 8601 year and ISO 8601 week " -"directives are not interchangeable with the year and week number directives " -"above. Calling :meth:`~.datetime.strptime` with incomplete or ambiguous ISO " -"8601 directives will raise a :exc:`ValueError`." -msgstr "" - -#: ../../library/datetime.rst:2602 -msgid "" -"The full set of format codes supported varies across platforms, because " -"Python calls the platform C library's :c:func:`strftime` function, and " -"platform variations are common. To see the full set of format codes " -"supported on your platform, consult the :manpage:`strftime(3)` " -"documentation. There are also differences between platforms in handling of " -"unsupported format specifiers." -msgstr "" - -#: ../../library/datetime.rst:2608 -msgid "``%G``, ``%u`` and ``%V`` were added." -msgstr "" - -#: ../../library/datetime.rst:2611 -msgid "``%:z`` was added." -msgstr "" - -#: ../../library/datetime.rst:2615 -msgid "Technical Detail" -msgstr "" - -#: ../../library/datetime.rst:2617 -msgid "" -"Broadly speaking, ``d.strftime(fmt)`` acts like the :mod:`time` module's " -"``time.strftime(fmt, d.timetuple())`` although not all objects support a " -":meth:`~date.timetuple` method." -msgstr "" - -#: ../../library/datetime.rst:2621 -msgid "" -"For the :meth:`.datetime.strptime` class method, the default value is " -"``1900-01-01T00:00:00.000``: any components not specified in the format " -"string will be pulled from the default value. [#]_" -msgstr "" - -#: ../../library/datetime.rst:2625 -msgid "Using ``datetime.strptime(date_string, format)`` is equivalent to::" -msgstr "" - -#: ../../library/datetime.rst:2629 -msgid "" -"except when the format includes sub-second components or time zone offset " -"information, which are supported in ``datetime.strptime`` but are discarded " -"by ``time.strptime``." -msgstr "" - -#: ../../library/datetime.rst:2633 -msgid "" -"For :class:`.time` objects, the format codes for year, month, and day should" -" not be used, as :class:`!time` objects have no such values. If they're used" -" anyway, 1900 is substituted for the year, and 1 for the month and day." -msgstr "" - -#: ../../library/datetime.rst:2637 -msgid "" -"For :class:`date` objects, the format codes for hours, minutes, seconds, and" -" microseconds should not be used, as :class:`date` objects have no such " -"values. If they're used anyway, 0 is substituted for them." -msgstr "" - -#: ../../library/datetime.rst:2641 -msgid "" -"For the same reason, handling of format strings containing Unicode code " -"points that can't be represented in the charset of the current locale is " -"also platform-dependent. On some platforms such code points are preserved " -"intact in the output, while on others ``strftime`` may raise " -":exc:`UnicodeError` or return an empty string instead." -msgstr "" - -#: ../../library/datetime.rst:2650 -msgid "" -"Because the format depends on the current locale, care should be taken when " -"making assumptions about the output value. Field orderings will vary (for " -"example, \"month/day/year\" versus \"day/month/year\"), and the output may " -"contain non-ASCII characters." -msgstr "" - -#: ../../library/datetime.rst:2656 -msgid "" -"The :meth:`~.datetime.strptime` method can parse years in the full [1, 9999]" -" range, but years < 1000 must be zero-filled to 4-digit width." -msgstr "" - -#: ../../library/datetime.rst:2659 -msgid "" -"In previous versions, :meth:`~.datetime.strftime` method was restricted to " -"years >= 1900." -msgstr "" - -#: ../../library/datetime.rst:2663 -msgid "" -"In version 3.2, :meth:`~.datetime.strftime` method was restricted to years " -">= 1000." -msgstr "" - -#: ../../library/datetime.rst:2668 -msgid "" -"When used with the :meth:`~.datetime.strptime` method, the ``%p`` directive " -"only affects the output hour field if the ``%I`` directive is used to parse " -"the hour." -msgstr "" - -#: ../../library/datetime.rst:2672 -msgid "" -"Unlike the :mod:`time` module, the :mod:`!datetime` module does not support " -"leap seconds." -msgstr "" - -#: ../../library/datetime.rst:2676 -msgid "" -"When used with the :meth:`~.datetime.strptime` method, the ``%f`` directive " -"accepts from one to six digits and zero pads on the right. ``%f`` is an " -"extension to the set of format characters in the C standard (but implemented" -" separately in datetime objects, and therefore always available)." -msgstr "" - -#: ../../library/datetime.rst:2683 -msgid "" -"For a naive object, the ``%z``, ``%:z`` and ``%Z`` format codes are replaced" -" by empty strings." -msgstr "" - -#: ../../library/datetime.rst:2686 -msgid "For an aware object:" -msgstr "" - -#: ../../library/datetime.rst:2689 -msgid "" -":meth:`~.datetime.utcoffset` is transformed into a string of the form " -"``±HHMM[SS[.ffffff]]``, where ``HH`` is a 2-digit string giving the number " -"of UTC offset hours, ``MM`` is a 2-digit string giving the number of UTC " -"offset minutes, ``SS`` is a 2-digit string giving the number of UTC offset " -"seconds and ``ffffff`` is a 6-digit string giving the number of UTC offset " -"microseconds. The ``ffffff`` part is omitted when the offset is a whole " -"number of seconds and both the ``ffffff`` and the ``SS`` part is omitted " -"when the offset is a whole number of minutes. For example, if " -":meth:`~.datetime.utcoffset` returns ``timedelta(hours=-3, minutes=-30)``, " -"``%z`` is replaced with the string ``'-0330'``." -msgstr "" - -#: ../../library/datetime.rst:2703 -msgid "" -"When the ``%z`` directive is provided to the :meth:`~.datetime.strptime` " -"method, the UTC offsets can have a colon as a separator between hours, " -"minutes and seconds. For example, ``'+01:00:00'`` will be parsed as an " -"offset of one hour. In addition, providing ``'Z'`` is identical to " -"``'+00:00'``." -msgstr "" - -#: ../../library/datetime.rst:2711 -msgid "" -"Behaves exactly as ``%z``, but has a colon separator added between hours, " -"minutes and seconds." -msgstr "" - -#: ../../library/datetime.rst:2715 -msgid "" -"In :meth:`~.datetime.strftime`, ``%Z`` is replaced by an empty string if " -":meth:`~.datetime.tzname` returns ``None``; otherwise ``%Z`` is replaced by " -"the returned value, which must be a string." -msgstr "" - -#: ../../library/datetime.rst:2719 -msgid ":meth:`~.datetime.strptime` only accepts certain values for ``%Z``:" -msgstr "" - -#: ../../library/datetime.rst:2721 -msgid "any value in ``time.tzname`` for your machine's locale" -msgstr "" - -#: ../../library/datetime.rst:2722 -msgid "the hard-coded values ``UTC`` and ``GMT``" -msgstr "" - -#: ../../library/datetime.rst:2724 -msgid "" -"So someone living in Japan may have ``JST``, ``UTC``, and ``GMT`` as valid " -"values, but probably not ``EST``. It will raise ``ValueError`` for invalid " -"values." -msgstr "" - -#: ../../library/datetime.rst:2728 -msgid "" -"When the ``%z`` directive is provided to the :meth:`~.datetime.strptime` " -"method, an aware :class:`.datetime` object will be produced. The ``tzinfo`` " -"of the result will be set to a :class:`timezone` instance." -msgstr "" - -#: ../../library/datetime.rst:2734 -msgid "" -"When used with the :meth:`~.datetime.strptime` method, ``%U`` and ``%W`` are" -" only used in calculations when the day of the week and the calendar year " -"(``%Y``) are specified." -msgstr "" - -#: ../../library/datetime.rst:2739 -msgid "" -"Similar to ``%U`` and ``%W``, ``%V`` is only used in calculations when the " -"day of the week and the ISO year (``%G``) are specified in a " -":meth:`~.datetime.strptime` format string. Also note that ``%G`` and ``%Y`` " -"are not interchangeable." -msgstr "" - -#: ../../library/datetime.rst:2745 -msgid "" -"When used with the :meth:`~.datetime.strptime` method, the leading zero is " -"optional for formats ``%d``, ``%m``, ``%H``, ``%I``, ``%M``, ``%S``, " -"``%j``, ``%U``, ``%W``, and ``%V``. Format ``%y`` does require a leading " -"zero." -msgstr "" - -#: ../../library/datetime.rst:2750 -msgid "" -"When parsing a month and day using :meth:`~.datetime.strptime`, always " -"include a year in the format. If the value you need to parse lacks a year, " -"append an explicit dummy leap year. Otherwise your code will raise an " -"exception when it encounters leap day because the default year used by the " -"parser is not a leap year. Users run into this bug every four years..." -msgstr "" - -#: ../../library/datetime.rst:2756 -msgid "" -">>> month_day = \"02/29\"\n" -">>> datetime.strptime(f\"{month_day};1984\", \"%m/%d;%Y\") # No leap year bug.\n" -"datetime.datetime(1984, 2, 29, 0, 0)" -msgstr "" - -#: ../../library/datetime.rst:2762 -msgid "" -":meth:`~.datetime.strptime` calls using a format string containing a day of " -"month without a year now emit a :exc:`DeprecationWarning`. In 3.15 or later " -"we may change this into an error or change the default year to a leap year. " -"See :gh:`70647`." -msgstr "" - -#: ../../library/datetime.rst:2769 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/datetime.rst:2770 -msgid "If, that is, we ignore the effects of Relativity" -msgstr "" - -#: ../../library/datetime.rst:2772 -msgid "" -"This matches the definition of the \"proleptic Gregorian\" calendar in " -"Dershowitz and Reingold's book *Calendrical Calculations*, where it's the " -"base calendar for all computations. See the book for algorithms for " -"converting between proleptic Gregorian ordinals and many other calendar " -"systems." -msgstr "" - -#: ../../library/datetime.rst:2778 -msgid "" -"See R. H. van Gent's `guide to the mathematics of the ISO 8601 calendar " -"`_" -" for a good explanation." -msgstr "" - -#: ../../library/datetime.rst:2782 -msgid "" -"Passing ``datetime.strptime('Feb 29', '%b %d')`` will fail since 1900 is not" -" a leap year." -msgstr "" - -#: ../../library/datetime.rst:2425 -msgid "% (percent)" -msgstr "" - -#: ../../library/datetime.rst:2425 -msgid "datetime format" -msgstr "" diff --git a/python-newest.library--dbm/id.po b/python-newest.library--dbm/id.po deleted file mode 100644 index 32a1def..0000000 --- a/python-newest.library--dbm/id.po +++ /dev/null @@ -1,609 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/dbm.rst:2 -msgid ":mod:`!dbm` --- Interfaces to Unix \"databases\"" -msgstr "" - -#: ../../library/dbm.rst:7 -msgid "**Source code:** :source:`Lib/dbm/__init__.py`" -msgstr "" - -#: ../../library/dbm.rst:11 -msgid ":mod:`dbm` is a generic interface to variants of the DBM database:" -msgstr "" - -#: ../../library/dbm.rst:13 -msgid ":mod:`dbm.sqlite3`" -msgstr "" - -#: ../../library/dbm.rst:14 -msgid ":mod:`dbm.gnu`" -msgstr "" - -#: ../../library/dbm.rst:15 -msgid ":mod:`dbm.ndbm`" -msgstr "" - -#: ../../library/dbm.rst:17 -msgid "" -"If none of these modules are installed, the slow-but-simple implementation " -"in module :mod:`dbm.dumb` will be used. There is a `third party interface " -"`_ to the Oracle Berkeley DB." -msgstr "" - -#: ../../library/dbm.rst:24 -msgid "" -"A tuple containing the exceptions that can be raised by each of the " -"supported modules, with a unique exception also named :exc:`dbm.error` as " -"the first item --- the latter is used when :exc:`dbm.error` is raised." -msgstr "" - -#: ../../library/dbm.rst:31 -msgid "" -"This function attempts to guess which of the several simple database modules" -" available --- :mod:`dbm.sqlite3`, :mod:`dbm.gnu`, :mod:`dbm.ndbm`, or " -":mod:`dbm.dumb` --- should be used to open a given file." -msgstr "" - -#: ../../library/dbm.rst:35 -msgid "Return one of the following values:" -msgstr "" - -#: ../../library/dbm.rst:37 -msgid "" -"``None`` if the file can't be opened because it's unreadable or doesn't " -"exist" -msgstr "" - -#: ../../library/dbm.rst:38 -msgid "the empty string (``''``) if the file's format can't be guessed" -msgstr "" - -#: ../../library/dbm.rst:39 -msgid "" -"a string containing the required module name, such as ``'dbm.ndbm'`` or " -"``'dbm.gnu'``" -msgstr "" - -#: ../../library/dbm.rst:41 ../../library/dbm.rst:250 -#: ../../library/dbm.rst:448 -msgid "*filename* accepts a :term:`path-like object`." -msgstr "" - -#: ../../library/dbm.rst:65 -msgid "Open a database and return the corresponding database object." -msgstr "" - -#: ../../library/dbm.rst:0 -msgid "Parameters" -msgstr "Parameter" - -#: ../../library/dbm.rst:67 -msgid "" -"The database file to open. If the database file already exists, the " -":func:`whichdb` function is used to determine its type and the appropriate " -"module is used; if it does not exist, the first submodule listed above that " -"can be imported is used." -msgstr "" - -#: ../../library/dbm.rst:68 ../../library/dbm.rst:222 -msgid "The database file to open." -msgstr "" - -#: ../../library/dbm.rst:70 -msgid "" -"If the database file already exists, the :func:`whichdb` function is used to" -" determine its type and the appropriate module is used; if it does not " -"exist, the first submodule listed above that can be imported is used." -msgstr "" - -#: ../../library/dbm.rst:75 ../../library/dbm.rst:178 -#: ../../library/dbm.rst:353 -msgid "" -"* ``'r'`` (default): |flag_r| * ``'w'``: |flag_w| * ``'c'``: |flag_c| * " -"``'n'``: |flag_n|" -msgstr "" - -#: ../../library/dbm.rst:76 ../../library/dbm.rst:180 -#: ../../library/dbm.rst:227 ../../library/dbm.rst:354 -msgid "``'r'`` (default): |flag_r|" -msgstr "" - -#: ../../library/dbm.rst:77 ../../library/dbm.rst:181 -#: ../../library/dbm.rst:228 ../../library/dbm.rst:355 -#: ../../library/dbm.rst:429 -msgid "``'w'``: |flag_w|" -msgstr "" - -#: ../../library/dbm.rst:78 ../../library/dbm.rst:182 -#: ../../library/dbm.rst:229 ../../library/dbm.rst:356 -msgid "``'c'``: |flag_c|" -msgstr "" - -#: ../../library/dbm.rst:79 ../../library/dbm.rst:183 -#: ../../library/dbm.rst:230 ../../library/dbm.rst:357 -#: ../../library/dbm.rst:431 -msgid "``'n'``: |flag_n|" -msgstr "" - -#: ../../library/dbm.rst:81 ../../library/dbm.rst:244 -#: ../../library/dbm.rst:359 ../../library/dbm.rst:433 -msgid "|mode_param_doc|" -msgstr "" - -#: ../../library/dbm.rst:84 -msgid "*file* accepts a :term:`path-like object`." -msgstr "" - -#: ../../library/dbm.rst:87 -msgid "" -"The object returned by :func:`~dbm.open` supports the same basic " -"functionality as a :class:`dict`; keys and their corresponding values can be" -" stored, retrieved, and deleted, and the :keyword:`in` operator and the " -":meth:`!keys` method are available, as well as :meth:`!get` and " -":meth:`!setdefault` methods." -msgstr "" - -#: ../../library/dbm.rst:92 -msgid "" -"Key and values are always stored as :class:`bytes`. This means that when " -"strings are used they are implicitly converted to the default encoding " -"before being stored." -msgstr "" - -#: ../../library/dbm.rst:96 -msgid "" -"These objects also support being used in a :keyword:`with` statement, which " -"will automatically close them when done." -msgstr "" - -#: ../../library/dbm.rst:99 -msgid "" -":meth:`!get` and :meth:`!setdefault` methods are now available for all " -":mod:`dbm` backends." -msgstr "" - -#: ../../library/dbm.rst:103 -msgid "" -"Added native support for the context management protocol to the objects " -"returned by :func:`~dbm.open`." -msgstr "" - -#: ../../library/dbm.rst:107 -msgid "" -"Deleting a key from a read-only database raises a database module specific " -"exception instead of :exc:`KeyError`." -msgstr "" - -#: ../../library/dbm.rst:111 -msgid "" -"The following example records some hostnames and a corresponding title, and" -" then prints out the contents of the database::" -msgstr "" - -#: ../../library/dbm.rst:114 -msgid "" -"import dbm\n" -"\n" -"# Open database, creating it if necessary.\n" -"with dbm.open('cache', 'c') as db:\n" -"\n" -" # Record some values\n" -" db[b'hello'] = b'there'\n" -" db['www.python.org'] = 'Python Website'\n" -" db['www.cnn.com'] = 'Cable News Network'\n" -"\n" -" # Note that the keys are considered bytes now.\n" -" assert db[b'www.python.org'] == b'Python Website'\n" -" # Notice how the value is now in bytes.\n" -" assert db['www.cnn.com'] == b'Cable News Network'\n" -"\n" -" # Often-used methods of the dict interface work too.\n" -" print(db.get('python.org', b'not present'))\n" -"\n" -" # Storing a non-string key or value will raise an exception (most\n" -" # likely a TypeError).\n" -" db['www.yahoo.com'] = 4\n" -"\n" -"# db is automatically closed when leaving the with statement." -msgstr "" - -#: ../../library/dbm.rst:141 -msgid "Module :mod:`shelve`" -msgstr "" - -#: ../../library/dbm.rst:142 -msgid "Persistence module which stores non-string data." -msgstr "" - -#: ../../library/dbm.rst:145 -msgid "The individual submodules are described in the following sections." -msgstr "" - -#: ../../library/dbm.rst:148 -msgid ":mod:`dbm.sqlite3` --- SQLite backend for dbm" -msgstr "" - -#: ../../library/dbm.rst:156 -msgid "**Source code:** :source:`Lib/dbm/sqlite3.py`" -msgstr "" - -#: ../../library/dbm.rst:160 -msgid "" -"This module uses the standard library :mod:`sqlite3` module to provide an " -"SQLite backend for the :mod:`dbm` module. The files created by " -":mod:`dbm.sqlite3` can thus be opened by :mod:`sqlite3`, or any other SQLite" -" browser, including the SQLite CLI." -msgstr "" - -#: ../../includes/wasm-mobile-notavail.rst:3 -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/dbm.rst:169 -msgid "" -"Open an SQLite database. The returned object behaves like a :term:`mapping`," -" implements a :meth:`!close` method, and supports a \"closing\" context " -"manager via the :keyword:`with` keyword." -msgstr "" - -#: ../../library/dbm.rst:174 -msgid "The path to the database to be opened." -msgstr "" - -#: ../../library/dbm.rst:185 -msgid "" -"The Unix file access mode of the file (default: octal ``0o666``), used only " -"when the database has to be created." -msgstr "" - -#: ../../library/dbm.rst:191 -msgid ":mod:`dbm.gnu` --- GNU database manager" -msgstr "" - -#: ../../library/dbm.rst:197 -msgid "**Source code:** :source:`Lib/dbm/gnu.py`" -msgstr "" - -#: ../../library/dbm.rst:201 -msgid "" -"The :mod:`dbm.gnu` module provides an interface to the :abbr:`GDBM (GNU " -"dbm)` library, similar to the :mod:`dbm.ndbm` module, but with additional " -"functionality like crash tolerance." -msgstr "" - -#: ../../library/dbm.rst:207 ../../library/dbm.rst:321 -msgid "" -"The file formats created by :mod:`dbm.gnu` and :mod:`dbm.ndbm` are " -"incompatible and can not be used interchangeably." -msgstr "" - -#: ../../includes/wasm-mobile-notavail.rst:5 -msgid "" -"This module is not supported on :ref:`mobile platforms ` or :ref:`WebAssembly platforms `." -msgstr "" - -#: ../../library/dbm.rst:214 -msgid "" -"Raised on :mod:`dbm.gnu`-specific errors, such as I/O errors. " -":exc:`KeyError` is raised for general mapping errors like specifying an " -"incorrect key." -msgstr "" - -#: ../../library/dbm.rst:220 -msgid "Open a GDBM database and return a :class:`!gdbm` object." -msgstr "" - -#: ../../library/dbm.rst:226 -msgid "" -"* ``'r'`` (default): |flag_r| * ``'w'``: |flag_w| * ``'c'``: |flag_c| * " -"``'n'``: |flag_n| The following additional characters may be appended to " -"control how the database is opened: * ``'f'``: Open the database in fast " -"mode. Writes to the database will not be synchronized. * ``'s'``: " -"Synchronized mode. Changes to the database will be written immediately to " -"the file. * ``'u'``: Do not lock database. Not all flags are valid for all " -"versions of GDBM. See the :data:`open_flags` member for a list of supported " -"flag characters." -msgstr "" - -#: ../../library/dbm.rst:232 -msgid "" -"The following additional characters may be appended to control how the " -"database is opened:" -msgstr "" - -#: ../../library/dbm.rst:235 -msgid "" -"``'f'``: Open the database in fast mode. Writes to the database will not be " -"synchronized." -msgstr "" - -#: ../../library/dbm.rst:237 -msgid "" -"``'s'``: Synchronized mode. Changes to the database will be written " -"immediately to the file." -msgstr "" - -#: ../../library/dbm.rst:239 -msgid "``'u'``: Do not lock database." -msgstr "" - -#: ../../library/dbm.rst:241 -msgid "" -"Not all flags are valid for all versions of GDBM. See the :data:`open_flags`" -" member for a list of supported flag characters." -msgstr "" - -#: ../../library/dbm.rst:0 -msgid "Raises" -msgstr "" - -#: ../../library/dbm.rst:247 -msgid "If an invalid *flag* argument is passed." -msgstr "" - -#: ../../library/dbm.rst:255 -msgid "" -"A string of characters the *flag* parameter of :meth:`~dbm.gnu.open` " -"supports." -msgstr "" - -#: ../../library/dbm.rst:257 -msgid "" -":class:`!gdbm` objects behave similar to :term:`mappings `, but " -":meth:`!items` and :meth:`!values` methods are not supported. The following " -"methods are also provided:" -msgstr "" - -#: ../../library/dbm.rst:263 -msgid "" -"It's possible to loop over every key in the database using this method and " -"the :meth:`nextkey` method. The traversal is ordered by GDBM's internal " -"hash values, and won't be sorted by the key values. This method returns the" -" starting key." -msgstr "" - -#: ../../library/dbm.rst:270 -msgid "" -"Returns the key that follows *key* in the traversal. The following code " -"prints every key in the database ``db``, without having to create a list in " -"memory that contains them all::" -msgstr "" - -#: ../../library/dbm.rst:274 -msgid "" -"k = db.firstkey()\n" -"while k is not None:\n" -" print(k)\n" -" k = db.nextkey(k)" -msgstr "" - -#: ../../library/dbm.rst:281 -msgid "" -"If you have carried out a lot of deletions and would like to shrink the " -"space used by the GDBM file, this routine will reorganize the database. " -":class:`!gdbm` objects will not shorten the length of a database file except" -" by using this reorganization; otherwise, deleted file space will be kept " -"and reused as new (key, value) pairs are added." -msgstr "" - -#: ../../library/dbm.rst:289 -msgid "" -"When the database has been opened in fast mode, this method forces any " -"unwritten data to be written to the disk." -msgstr "" - -#: ../../library/dbm.rst:294 -msgid "Close the GDBM database." -msgstr "" - -#: ../../library/dbm.rst:298 -msgid "Remove all items from the GDBM database." -msgstr "" - -#: ../../library/dbm.rst:304 -msgid ":mod:`dbm.ndbm` --- New Database Manager" -msgstr "" - -#: ../../library/dbm.rst:310 -msgid "**Source code:** :source:`Lib/dbm/ndbm.py`" -msgstr "" - -#: ../../library/dbm.rst:314 -msgid "" -"The :mod:`dbm.ndbm` module provides an interface to the :abbr:`NDBM (New " -"Database Manager)` library. This module can be used with the \"classic\" " -"NDBM interface or the :abbr:`GDBM (GNU dbm)` compatibility interface." -msgstr "" - -#: ../../library/dbm.rst:326 -msgid "" -"The NDBM library shipped as part of macOS has an undocumented limitation on " -"the size of values, which can result in corrupted database files when " -"storing values larger than this limit. Reading such corrupted files can " -"result in a hard crash (segmentation fault)." -msgstr "" - -#: ../../library/dbm.rst:335 -msgid "" -"Raised on :mod:`dbm.ndbm`-specific errors, such as I/O errors. " -":exc:`KeyError` is raised for general mapping errors like specifying an " -"incorrect key." -msgstr "" - -#: ../../library/dbm.rst:341 -msgid "Name of the NDBM implementation library used." -msgstr "" - -#: ../../library/dbm.rst:346 -msgid "Open an NDBM database and return an :class:`!ndbm` object." -msgstr "" - -#: ../../library/dbm.rst:348 -msgid "" -"The basename of the database file (without the :file:`.dir` or :file:`.pag` " -"extensions)." -msgstr "" - -#: ../../library/dbm.rst:362 -msgid "" -":class:`!ndbm` objects behave similar to :term:`mappings `, but " -":meth:`!items` and :meth:`!values` methods are not supported. The following " -"methods are also provided:" -msgstr "" - -#: ../../library/dbm.rst:366 -msgid "Accepts :term:`path-like object` for filename." -msgstr "" - -#: ../../library/dbm.rst:371 -msgid "Close the NDBM database." -msgstr "" - -#: ../../library/dbm.rst:375 -msgid "Remove all items from the NDBM database." -msgstr "" - -#: ../../library/dbm.rst:381 -msgid ":mod:`dbm.dumb` --- Portable DBM implementation" -msgstr "" - -#: ../../library/dbm.rst:386 -msgid "**Source code:** :source:`Lib/dbm/dumb.py`" -msgstr "" - -#: ../../library/dbm.rst:392 -msgid "" -"The :mod:`dbm.dumb` module is intended as a last resort fallback for the " -":mod:`dbm` module when a more robust module is not available. The " -":mod:`dbm.dumb` module is not written for speed and is not nearly as heavily" -" used as the other database modules." -msgstr "" - -#: ../../library/dbm.rst:399 -msgid "" -"The :mod:`dbm.dumb` module provides a persistent :class:`dict`-like " -"interface which is written entirely in Python. Unlike other :mod:`dbm` " -"backends, such as :mod:`dbm.gnu`, no external library is required." -msgstr "" - -#: ../../library/dbm.rst:404 -msgid "The :mod:`!dbm.dumb` module defines the following:" -msgstr "" - -#: ../../library/dbm.rst:408 -msgid "" -"Raised on :mod:`dbm.dumb`-specific errors, such as I/O errors. " -":exc:`KeyError` is raised for general mapping errors like specifying an " -"incorrect key." -msgstr "" - -#: ../../library/dbm.rst:414 -msgid "" -"Open a :mod:`!dbm.dumb` database. The returned database object behaves " -"similar to a :term:`mapping`, in addition to providing :meth:`~dumbdbm.sync`" -" and :meth:`~dumbdbm.close` methods." -msgstr "" - -#: ../../library/dbm.rst:419 -msgid "" -"The basename of the database file (without extensions). A new database " -"creates the following files: - :file:`{filename}.dat` - " -":file:`{filename}.dir`" -msgstr "" - -#: ../../library/dbm.rst:420 -msgid "" -"The basename of the database file (without extensions). A new database " -"creates the following files:" -msgstr "" - -#: ../../library/dbm.rst:423 -msgid ":file:`{filename}.dat`" -msgstr "" - -#: ../../library/dbm.rst:424 -msgid ":file:`{filename}.dir`" -msgstr "" - -#: ../../library/dbm.rst:427 -msgid "" -"* ``'r'``: |flag_r| * ``'w'``: |flag_w| * ``'c'`` (default): |flag_c| * " -"``'n'``: |flag_n|" -msgstr "" - -#: ../../library/dbm.rst:428 -msgid "``'r'``: |flag_r|" -msgstr "" - -#: ../../library/dbm.rst:430 -msgid "``'c'`` (default): |flag_c|" -msgstr "" - -#: ../../library/dbm.rst:437 -msgid "" -"It is possible to crash the Python interpreter when loading a database with " -"a sufficiently large/complex entry due to stack depth limitations in " -"Python's AST compiler." -msgstr "" - -#: ../../library/dbm.rst:441 -msgid "" -":func:`~dbm.dumb.open` always creates a new database when *flag* is ``'n'``." -msgstr "" - -#: ../../library/dbm.rst:444 -msgid "" -"A database opened read-only if *flag* is ``'r'``. A database is not created " -"if it does not exist if *flag* is ``'r'`` or ``'w'``." -msgstr "" - -#: ../../library/dbm.rst:451 -msgid "" -"In addition to the methods provided by the " -":class:`collections.abc.MutableMapping` class, the following methods are " -"provided:" -msgstr "" - -#: ../../library/dbm.rst:457 -msgid "" -"Synchronize the on-disk directory and data files. This method is called by " -"the :meth:`shelve.Shelf.sync` method." -msgstr "" - -#: ../../library/dbm.rst:462 -msgid "Close the database." -msgstr "" - -#: ../../library/dbm.rst:388 -msgid "databases" -msgstr "" diff --git a/python-newest.library--debug/id.po b/python-newest.library--debug/id.po deleted file mode 100644 index 2b4afa9..0000000 --- a/python-newest.library--debug/id.po +++ /dev/null @@ -1,43 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# LIQRGV , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: LIQRGV , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/debug.rst:3 -msgid "Debugging and Profiling" -msgstr "Debugging dan Profiling" - -#: ../../library/debug.rst:5 -msgid "" -"These libraries help you with Python development: the debugger enables you " -"to step through code, analyze stack frames and set breakpoints etc., and the" -" profilers run code and give you a detailed breakdown of execution times, " -"allowing you to identify bottlenecks in your programs. Auditing events " -"provide visibility into runtime behaviors that would otherwise require " -"intrusive debugging or patching." -msgstr "" -"Pustaka-pustaka ini membantu Anda dalam pengembangan Python: debugger " -"memungkinkan Anda untuk menelusuri kode, menganalisis bingkai tumpukan " -"(stack frames), dan mengatur breakpoints dll., Dan profiler menjalankan kode" -" dan memberi Anda rincian waktu eksekusi, yang memungkinkan Anda untuk " -"mengidentifikasi kemacetan (bottlenecks) dalam program Anda. Audit " -"memberikan visibilitas ke dalam perilaku runtime yang seharusnya memerlukan " -"debugging atau patch yang mengganggu." diff --git a/python-newest.library--decimal/id.po b/python-newest.library--decimal/id.po deleted file mode 100644 index 6022ca4..0000000 --- a/python-newest.library--decimal/id.po +++ /dev/null @@ -1,2757 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# William Ang Kisjanto Surya , 2021 -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/decimal.rst:2 -msgid ":mod:`!decimal` --- Decimal fixed-point and floating-point arithmetic" -msgstr "" - -#: ../../library/decimal.rst:15 -msgid "**Source code:** :source:`Lib/decimal.py`" -msgstr "**Kode sumber:** :source:`Lib/decimal.py`" - -#: ../../library/decimal.rst:33 -msgid "" -"The :mod:`decimal` module provides support for fast correctly rounded " -"decimal floating-point arithmetic. It offers several advantages over the " -":class:`float` datatype:" -msgstr "" - -#: ../../library/decimal.rst:37 -msgid "" -"Decimal \"is based on a floating-point model which was designed with people " -"in mind, and necessarily has a paramount guiding principle -- computers must" -" provide an arithmetic that works in the same way as the arithmetic that " -"people learn at school.\" -- excerpt from the decimal arithmetic " -"specification." -msgstr "" -"Desimal \"berdasarkan model titik kambang yang dirancang dengan memikirkan " -"pengguna, dan tentunya memiliki prinsip pedoman yang penting - Komputer " -"harus menyediakan sebuah aritmetika yang bekerja sama seperti aritmetika " -"yang pengguna pelajari di sekolah.\" -- kutipan dari spesifikasi aritmetika " -"desimal." - -#: ../../library/decimal.rst:42 -msgid "" -"Decimal numbers can be represented exactly. In contrast, numbers like " -"``1.1`` and ``2.2`` do not have exact representations in binary floating " -"point. End users typically would not expect ``1.1 + 2.2`` to display as " -"``3.3000000000000003`` as it does with binary floating point." -msgstr "" - -#: ../../library/decimal.rst:47 -msgid "" -"The exactness carries over into arithmetic. In decimal floating point, " -"``0.1 + 0.1 + 0.1 - 0.3`` is exactly equal to zero. In binary floating " -"point, the result is ``5.5511151231257827e-017``. While near to zero, the " -"differences prevent reliable equality testing and differences can " -"accumulate. For this reason, decimal is preferred in accounting applications" -" which have strict equality invariants." -msgstr "" - -#: ../../library/decimal.rst:54 -msgid "" -"The decimal module incorporates a notion of significant places so that " -"``1.30 + 1.20`` is ``2.50``. The trailing zero is kept to indicate " -"significance. This is the customary presentation for monetary applications. " -"For multiplication, the \"schoolbook\" approach uses all the figures in the " -"multiplicands. For instance, ``1.3 * 1.2`` gives ``1.56`` while ``1.30 * " -"1.20`` gives ``1.5600``." -msgstr "" - -#: ../../library/decimal.rst:61 -msgid "" -"Unlike hardware based binary floating point, the decimal module has a user " -"alterable precision (defaulting to 28 places) which can be as large as " -"needed for a given problem:" -msgstr "" -"Tidak seperti perangkat keras berbasis titik kambang biner, modul desimal " -"memiliki presisi yang dapat diubah pengguna (dengan bawaan 28 angka) yang " -"dapat menjadi sebesar yang dibutuhkan untuk masalah yang diberikan:" - -#: ../../library/decimal.rst:73 -msgid "" -"Both binary and decimal floating point are implemented in terms of published" -" standards. While the built-in float type exposes only a modest portion of " -"its capabilities, the decimal module exposes all required parts of the " -"standard. When needed, the programmer has full control over rounding and " -"signal handling. This includes an option to enforce exact arithmetic by " -"using exceptions to block any inexact operations." -msgstr "" -"Baik titik kambang biner dan desimal diterapkan dengan ketentuan standar " -"yang diterbitkan. Sementara tipe float bawaan hanya menunjukkan sebagian " -"kecil kemampuannya, modul desimal menunjukkan seluruh bagian yang dibutuhkan" -" dalam standar. Ketika diperlukan, programmer memiliki kontrol penuh atas " -"pembulatan dan penanganan sinyal. Ini termasuk pilihan untuk menerapkan " -"aritmetika yang tepat dengan menggunakan pengecualian untuk membatasi " -"operasi yang tidak tepat." - -#: ../../library/decimal.rst:80 -msgid "" -"The decimal module was designed to support \"without prejudice, both exact " -"unrounded decimal arithmetic (sometimes called fixed-point arithmetic) and " -"rounded floating-point arithmetic.\" -- excerpt from the decimal arithmetic" -" specification." -msgstr "" -"Modul desimal dirancang untuk mendukung \"tanpa prasangka, baik aritmetika " -"desimal akurat yang tidak dibulatkan (terkadang disebut aritmetika titik " -"tetap) dan titik kambang yang dibulatkan.\" -- kutipan dari spesifikasi " -"aritmetika desimal." - -#: ../../library/decimal.rst:85 -msgid "" -"The module design is centered around three concepts: the decimal number, " -"the context for arithmetic, and signals." -msgstr "" - -#: ../../library/decimal.rst:88 -msgid "" -"A decimal number is immutable. It has a sign, coefficient digits, and an " -"exponent. To preserve significance, the coefficient digits do not truncate " -"trailing zeros. Decimals also include special values such as ``Infinity``, " -"``-Infinity``, and ``NaN``. The standard also differentiates ``-0`` from " -"``+0``." -msgstr "" - -#: ../../library/decimal.rst:94 -msgid "" -"The context for arithmetic is an environment specifying precision, rounding " -"rules, limits on exponents, flags indicating the results of operations, and " -"trap enablers which determine whether signals are treated as exceptions. " -"Rounding options include :const:`ROUND_CEILING`, :const:`ROUND_DOWN`, " -":const:`ROUND_FLOOR`, :const:`ROUND_HALF_DOWN`, :const:`ROUND_HALF_EVEN`, " -":const:`ROUND_HALF_UP`, :const:`ROUND_UP`, and :const:`ROUND_05UP`." -msgstr "" - -#: ../../library/decimal.rst:101 -msgid "" -"Signals are groups of exceptional conditions arising during the course of " -"computation. Depending on the needs of the application, signals may be " -"ignored, considered as informational, or treated as exceptions. The signals " -"in the decimal module are: :const:`Clamped`, :const:`InvalidOperation`, " -":const:`DivisionByZero`, :const:`Inexact`, :const:`Rounded`, " -":const:`Subnormal`, :const:`Overflow`, :const:`Underflow` and " -":const:`FloatOperation`." -msgstr "" - -#: ../../library/decimal.rst:108 -msgid "" -"For each signal there is a flag and a trap enabler. When a signal is " -"encountered, its flag is set to one, then, if the trap enabler is set to " -"one, an exception is raised. Flags are sticky, so the user needs to reset " -"them before monitoring a calculation." -msgstr "" - -#: ../../library/decimal.rst:116 -msgid "" -"IBM's General Decimal Arithmetic Specification, `The General Decimal " -"Arithmetic Specification `_." -msgstr "" - -#: ../../library/decimal.rst:125 -msgid "Quick-start Tutorial" -msgstr "" - -#: ../../library/decimal.rst:127 -msgid "" -"The usual start to using decimals is importing the module, viewing the " -"current context with :func:`getcontext` and, if necessary, setting new " -"values for precision, rounding, or enabled traps::" -msgstr "" - -#: ../../library/decimal.rst:131 -msgid "" -">>> from decimal import *\n" -">>> getcontext()\n" -"Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999,\n" -" capitals=1, clamp=0, flags=[], traps=[Overflow, DivisionByZero,\n" -" InvalidOperation])\n" -"\n" -">>> getcontext().prec = 7 # Set a new precision" -msgstr "" - -#: ../../library/decimal.rst:139 -msgid "" -"Decimal instances can be constructed from integers, strings, floats, or " -"tuples. Construction from an integer or a float performs an exact conversion" -" of the value of that integer or float. Decimal numbers include special " -"values such as ``NaN`` which stands for \"Not a number\", positive and " -"negative ``Infinity``, and ``-0``::" -msgstr "" - -#: ../../library/decimal.rst:145 -msgid "" -">>> getcontext().prec = 28\n" -">>> Decimal(10)\n" -"Decimal('10')\n" -">>> Decimal('3.14')\n" -"Decimal('3.14')\n" -">>> Decimal(3.14)\n" -"Decimal('3.140000000000000124344978758017532527446746826171875')\n" -">>> Decimal((0, (3, 1, 4), -2))\n" -"Decimal('3.14')\n" -">>> Decimal(str(2.0 ** 0.5))\n" -"Decimal('1.4142135623730951')\n" -">>> Decimal(2) ** Decimal('0.5')\n" -"Decimal('1.414213562373095048801688724')\n" -">>> Decimal('NaN')\n" -"Decimal('NaN')\n" -">>> Decimal('-Infinity')\n" -"Decimal('-Infinity')" -msgstr "" - -#: ../../library/decimal.rst:163 -msgid "" -"If the :exc:`FloatOperation` signal is trapped, accidental mixing of " -"decimals and floats in constructors or ordering comparisons raises an " -"exception::" -msgstr "" - -#: ../../library/decimal.rst:167 -msgid "" -">>> c = getcontext()\n" -">>> c.traps[FloatOperation] = True\n" -">>> Decimal(3.14)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"decimal.FloatOperation: []\n" -">>> Decimal('3.5') < 3.7\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"decimal.FloatOperation: []\n" -">>> Decimal('3.5') == 3.5\n" -"True" -msgstr "" - -#: ../../library/decimal.rst:182 -msgid "" -"The significance of a new Decimal is determined solely by the number of " -"digits input. Context precision and rounding only come into play during " -"arithmetic operations." -msgstr "" - -#: ../../library/decimal.rst:186 -msgid "" -">>> getcontext().prec = 6\n" -">>> Decimal('3.0')\n" -"Decimal('3.0')\n" -">>> Decimal('3.1415926535')\n" -"Decimal('3.1415926535')\n" -">>> Decimal('3.1415926535') + Decimal('2.7182818285')\n" -"Decimal('5.85987')\n" -">>> getcontext().rounding = ROUND_UP\n" -">>> Decimal('3.1415926535') + Decimal('2.7182818285')\n" -"Decimal('5.85988')" -msgstr "" - -#: ../../library/decimal.rst:199 -msgid "" -"If the internal limits of the C version are exceeded, constructing a decimal" -" raises :class:`InvalidOperation`::" -msgstr "" - -#: ../../library/decimal.rst:202 -msgid "" -">>> Decimal(\"1e9999999999999999999\")\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"decimal.InvalidOperation: []" -msgstr "" - -#: ../../library/decimal.rst:209 -msgid "" -"Decimals interact well with much of the rest of Python. Here is a small " -"decimal floating-point flying circus:" -msgstr "" - -#: ../../library/decimal.rst:212 -msgid "" -">>> data = list(map(Decimal, '1.34 1.87 3.45 2.35 1.00 0.03 9.25'.split()))\n" -">>> max(data)\n" -"Decimal('9.25')\n" -">>> min(data)\n" -"Decimal('0.03')\n" -">>> sorted(data)\n" -"[Decimal('0.03'), Decimal('1.00'), Decimal('1.34'), Decimal('1.87'),\n" -" Decimal('2.35'), Decimal('3.45'), Decimal('9.25')]\n" -">>> sum(data)\n" -"Decimal('19.29')\n" -">>> a,b,c = data[:3]\n" -">>> str(a)\n" -"'1.34'\n" -">>> float(a)\n" -"1.34\n" -">>> round(a, 1)\n" -"Decimal('1.3')\n" -">>> int(a)\n" -"1\n" -">>> a * 5\n" -"Decimal('6.70')\n" -">>> a * b\n" -"Decimal('2.5058')\n" -">>> c % a\n" -"Decimal('0.77')" -msgstr "" - -#: ../../library/decimal.rst:241 -msgid "And some mathematical functions are also available to Decimal:" -msgstr "" - -#: ../../library/decimal.rst:253 -msgid "" -"The :meth:`~Decimal.quantize` method rounds a number to a fixed exponent. " -"This method is useful for monetary applications that often round results to " -"a fixed number of places:" -msgstr "" - -#: ../../library/decimal.rst:262 -msgid "" -"As shown above, the :func:`getcontext` function accesses the current context" -" and allows the settings to be changed. This approach meets the needs of " -"most applications." -msgstr "" - -#: ../../library/decimal.rst:266 -msgid "" -"For more advanced work, it may be useful to create alternate contexts using " -"the Context() constructor. To make an alternate active, use the " -":func:`setcontext` function." -msgstr "" - -#: ../../library/decimal.rst:270 -msgid "" -"In accordance with the standard, the :mod:`decimal` module provides two " -"ready to use standard contexts, :const:`BasicContext` and " -":const:`ExtendedContext`. The former is especially useful for debugging " -"because many of the traps are enabled:" -msgstr "" - -#: ../../library/decimal.rst:275 -msgid "" -">>> myothercontext = Context(prec=60, rounding=ROUND_HALF_DOWN)\n" -">>> setcontext(myothercontext)\n" -">>> Decimal(1) / Decimal(7)\n" -"Decimal('0.142857142857142857142857142857142857142857142857142857142857')\n" -"\n" -">>> ExtendedContext\n" -"Context(prec=9, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999,\n" -" capitals=1, clamp=0, flags=[], traps=[])\n" -">>> setcontext(ExtendedContext)\n" -">>> Decimal(1) / Decimal(7)\n" -"Decimal('0.142857143')\n" -">>> Decimal(42) / Decimal(0)\n" -"Decimal('Infinity')\n" -"\n" -">>> setcontext(BasicContext)\n" -">>> Decimal(42) / Decimal(0)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in -toplevel-\n" -" Decimal(42) / Decimal(0)\n" -"DivisionByZero: x / 0" -msgstr "" - -#: ../../library/decimal.rst:299 -msgid "" -"Contexts also have signal flags for monitoring exceptional conditions " -"encountered during computations. The flags remain set until explicitly " -"cleared, so it is best to clear the flags before each set of monitored " -"computations by using the :meth:`~Context.clear_flags` method. ::" -msgstr "" - -#: ../../library/decimal.rst:304 -msgid "" -">>> setcontext(ExtendedContext)\n" -">>> getcontext().clear_flags()\n" -">>> Decimal(355) / Decimal(113)\n" -"Decimal('3.14159292')\n" -">>> getcontext()\n" -"Context(prec=9, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999,\n" -" capitals=1, clamp=0, flags=[Inexact, Rounded], traps=[])" -msgstr "" - -#: ../../library/decimal.rst:312 -msgid "" -"The *flags* entry shows that the rational approximation to pi was rounded " -"(digits beyond the context precision were thrown away) and that the result " -"is inexact (some of the discarded digits were non-zero)." -msgstr "" - -#: ../../library/decimal.rst:316 -msgid "" -"Individual traps are set using the dictionary in the :attr:`~Context.traps` " -"attribute of a context:" -msgstr "" - -#: ../../library/decimal.rst:319 -msgid "" -">>> setcontext(ExtendedContext)\n" -">>> Decimal(1) / Decimal(0)\n" -"Decimal('Infinity')\n" -">>> getcontext().traps[DivisionByZero] = 1\n" -">>> Decimal(1) / Decimal(0)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in -toplevel-\n" -" Decimal(1) / Decimal(0)\n" -"DivisionByZero: x / 0" -msgstr "" - -#: ../../library/decimal.rst:331 -msgid "" -"Most programs adjust the current context only once, at the beginning of the " -"program. And, in many applications, data is converted to :class:`Decimal` " -"with a single cast inside a loop. With context set and decimals created, " -"the bulk of the program manipulates the data no differently than with other " -"Python numeric types." -msgstr "" - -#: ../../library/decimal.rst:343 -msgid "Decimal objects" -msgstr "" - -#: ../../library/decimal.rst:348 -msgid "Construct a new :class:`Decimal` object based from *value*." -msgstr "" - -#: ../../library/decimal.rst:350 -msgid "" -"*value* can be an integer, string, tuple, :class:`float`, or another " -":class:`Decimal` object. If no *value* is given, returns ``Decimal('0')``. " -"If *value* is a string, it should conform to the decimal numeric string " -"syntax after leading and trailing whitespace characters, as well as " -"underscores throughout, are removed::" -msgstr "" - -#: ../../library/decimal.rst:355 -msgid "" -"sign ::= '+' | '-'\n" -"digit ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'\n" -"indicator ::= 'e' | 'E'\n" -"digits ::= digit [digit]...\n" -"decimal-part ::= digits '.' [digits] | ['.'] digits\n" -"exponent-part ::= indicator [sign] digits\n" -"infinity ::= 'Infinity' | 'Inf'\n" -"nan ::= 'NaN' [digits] | 'sNaN' [digits]\n" -"numeric-value ::= decimal-part [exponent-part] | infinity\n" -"numeric-string ::= [sign] numeric-value | [sign] nan" -msgstr "" - -#: ../../library/decimal.rst:366 -msgid "" -"Other Unicode decimal digits are also permitted where ``digit`` appears " -"above. These include decimal digits from various other alphabets (for " -"example, Arabic-Indic and Devanāgarī digits) along with the fullwidth digits" -" ``'\\uff10'`` through ``'\\uff19'``. Case is not significant, so, for " -"example, ``inf``, ``Inf``, ``INFINITY``, and ``iNfINity`` are all acceptable" -" spellings for positive infinity." -msgstr "" - -#: ../../library/decimal.rst:373 -msgid "" -"If *value* is a :class:`tuple`, it should have three components, a sign " -"(``0`` for positive or ``1`` for negative), a :class:`tuple` of digits, and " -"an integer exponent. For example, ``Decimal((0, (1, 4, 1, 4), -3))`` returns" -" ``Decimal('1.414')``." -msgstr "" - -#: ../../library/decimal.rst:378 -msgid "" -"If *value* is a :class:`float`, the binary floating-point value is " -"losslessly converted to its exact decimal equivalent. This conversion can " -"often require 53 or more digits of precision. For example, " -"``Decimal(float('1.1'))`` converts to " -"``Decimal('1.100000000000000088817841970012523233890533447265625')``." -msgstr "" - -#: ../../library/decimal.rst:384 -msgid "" -"The *context* precision does not affect how many digits are stored. That is " -"determined exclusively by the number of digits in *value*. For example, " -"``Decimal('3.00000')`` records all five zeros even if the context precision " -"is only three." -msgstr "" - -#: ../../library/decimal.rst:389 -msgid "" -"The purpose of the *context* argument is determining what to do if *value* " -"is a malformed string. If the context traps :const:`InvalidOperation`, an " -"exception is raised; otherwise, the constructor returns a new Decimal with " -"the value of ``NaN``." -msgstr "" - -#: ../../library/decimal.rst:394 -msgid "Once constructed, :class:`Decimal` objects are immutable." -msgstr "" - -#: ../../library/decimal.rst:396 -msgid "" -"The argument to the constructor is now permitted to be a :class:`float` " -"instance." -msgstr "" - -#: ../../library/decimal.rst:400 -msgid "" -":class:`float` arguments raise an exception if the :exc:`FloatOperation` " -"trap is set. By default the trap is off." -msgstr "" - -#: ../../library/decimal.rst:404 -msgid "" -"Underscores are allowed for grouping, as with integral and floating-point " -"literals in code." -msgstr "" - -#: ../../library/decimal.rst:408 -msgid "" -"Decimal floating-point objects share many properties with the other built-in" -" numeric types such as :class:`float` and :class:`int`. All of the usual " -"math operations and special methods apply. Likewise, decimal objects can be" -" copied, pickled, printed, used as dictionary keys, used as set elements, " -"compared, sorted, and coerced to another type (such as :class:`float` or " -":class:`int`)." -msgstr "" - -#: ../../library/decimal.rst:415 -msgid "" -"There are some small differences between arithmetic on Decimal objects and " -"arithmetic on integers and floats. When the remainder operator ``%`` is " -"applied to Decimal objects, the sign of the result is the sign of the " -"*dividend* rather than the sign of the divisor::" -msgstr "" - -#: ../../library/decimal.rst:420 -msgid "" -">>> (-7) % 4\n" -"1\n" -">>> Decimal(-7) % Decimal(4)\n" -"Decimal('-3')" -msgstr "" - -#: ../../library/decimal.rst:425 -msgid "" -"The integer division operator ``//`` behaves analogously, returning the " -"integer part of the true quotient (truncating towards zero) rather than its " -"floor, so as to preserve the usual identity ``x == (x // y) * y + x % y``::" -msgstr "" - -#: ../../library/decimal.rst:429 -msgid "" -">>> -7 // 4\n" -"-2\n" -">>> Decimal(-7) // Decimal(4)\n" -"Decimal('-1')" -msgstr "" - -#: ../../library/decimal.rst:434 -msgid "" -"The ``%`` and ``//`` operators implement the ``remainder`` and ``divide-" -"integer`` operations (respectively) as described in the specification." -msgstr "" - -#: ../../library/decimal.rst:438 -msgid "" -"Decimal objects cannot generally be combined with floats or instances of " -":class:`fractions.Fraction` in arithmetic operations: an attempt to add a " -":class:`Decimal` to a :class:`float`, for example, will raise a " -":exc:`TypeError`. However, it is possible to use Python's comparison " -"operators to compare a :class:`Decimal` instance ``x`` with another number " -"``y``. This avoids confusing results when doing equality comparisons " -"between numbers of different types." -msgstr "" - -#: ../../library/decimal.rst:446 -msgid "" -"Mixed-type comparisons between :class:`Decimal` instances and other numeric " -"types are now fully supported." -msgstr "" - -#: ../../library/decimal.rst:450 -msgid "" -"In addition to the standard numeric properties, decimal floating-point " -"objects also have a number of specialized methods:" -msgstr "" - -#: ../../library/decimal.rst:456 -msgid "" -"Return the adjusted exponent after shifting out the coefficient's rightmost " -"digits until only the lead digit remains: ``Decimal('321e+5').adjusted()`` " -"returns seven. Used for determining the position of the most significant " -"digit with respect to the decimal point." -msgstr "" - -#: ../../library/decimal.rst:463 -msgid "" -"Return a pair ``(n, d)`` of integers that represent the given " -":class:`Decimal` instance as a fraction, in lowest terms and with a positive" -" denominator::" -msgstr "" - -#: ../../library/decimal.rst:467 -msgid "" -">>> Decimal('-3.14').as_integer_ratio()\n" -"(-157, 50)" -msgstr "" - -#: ../../library/decimal.rst:470 -msgid "" -"The conversion is exact. Raise OverflowError on infinities and ValueError " -"on NaNs." -msgstr "" - -#: ../../library/decimal.rst:477 -msgid "" -"Return a :term:`named tuple` representation of the number: " -"``DecimalTuple(sign, digits, exponent)``." -msgstr "" - -#: ../../library/decimal.rst:483 -msgid "" -"Return the canonical encoding of the argument. Currently, the encoding of a" -" :class:`Decimal` instance is always canonical, so this operation returns " -"its argument unchanged." -msgstr "" - -#: ../../library/decimal.rst:489 -msgid "" -"Compare the values of two Decimal instances. :meth:`compare` returns a " -"Decimal instance, and if either operand is a NaN then the result is a NaN::" -msgstr "" - -#: ../../library/decimal.rst:493 -msgid "" -"a or b is a NaN ==> Decimal('NaN')\n" -"a < b ==> Decimal('-1')\n" -"a == b ==> Decimal('0')\n" -"a > b ==> Decimal('1')" -msgstr "" - -#: ../../library/decimal.rst:500 -msgid "" -"This operation is identical to the :meth:`compare` method, except that all " -"NaNs signal. That is, if neither operand is a signaling NaN then any quiet " -"NaN operand is treated as though it were a signaling NaN." -msgstr "" - -#: ../../library/decimal.rst:506 -msgid "" -"Compare two operands using their abstract representation rather than their " -"numerical value. Similar to the :meth:`compare` method, but the result " -"gives a total ordering on :class:`Decimal` instances. Two :class:`Decimal` " -"instances with the same numeric value but different representations compare " -"unequal in this ordering:" -msgstr "" - -#: ../../library/decimal.rst:515 -msgid "" -"Quiet and signaling NaNs are also included in the total ordering. The " -"result of this function is ``Decimal('0')`` if both operands have the same " -"representation, ``Decimal('-1')`` if the first operand is lower in the total" -" order than the second, and ``Decimal('1')`` if the first operand is higher " -"in the total order than the second operand. See the specification for " -"details of the total order." -msgstr "" - -#: ../../library/decimal.rst:522 ../../library/decimal.rst:533 -#: ../../library/decimal.rst:561 ../../library/decimal.rst:865 -msgid "" -"This operation is unaffected by context and is quiet: no flags are changed " -"and no rounding is performed. As an exception, the C version may raise " -"InvalidOperation if the second operand cannot be converted exactly." -msgstr "" - -#: ../../library/decimal.rst:528 -msgid "" -"Compare two operands using their abstract representation rather than their " -"value as in :meth:`compare_total`, but ignoring the sign of each operand. " -"``x.compare_total_mag(y)`` is equivalent to " -"``x.copy_abs().compare_total(y.copy_abs())``." -msgstr "" - -#: ../../library/decimal.rst:539 -msgid "" -"Just returns self, this method is only to comply with the Decimal " -"Specification." -msgstr "" - -#: ../../library/decimal.rst:544 -msgid "" -"Return the absolute value of the argument. This operation is unaffected by " -"the context and is quiet: no flags are changed and no rounding is performed." -msgstr "" - -#: ../../library/decimal.rst:550 -msgid "" -"Return the negation of the argument. This operation is unaffected by the " -"context and is quiet: no flags are changed and no rounding is performed." -msgstr "" - -#: ../../library/decimal.rst:555 -msgid "" -"Return a copy of the first operand with the sign set to be the same as the " -"sign of the second operand. For example:" -msgstr "" - -#: ../../library/decimal.rst:567 -msgid "" -"Return the value of the (natural) exponential function ``e**x`` at the given" -" number. The result is correctly rounded using the :const:`ROUND_HALF_EVEN`" -" rounding mode." -msgstr "" - -#: ../../library/decimal.rst:578 -msgid "" -"Alternative constructor that only accepts instances of :class:`float` or " -":class:`int`." -msgstr "" - -#: ../../library/decimal.rst:581 -msgid "" -"Note ``Decimal.from_float(0.1)`` is not the same as ``Decimal('0.1')``. " -"Since 0.1 is not exactly representable in binary floating point, the value " -"is stored as the nearest representable value which is " -"``0x1.999999999999ap-4``. That equivalent value in decimal is " -"``0.1000000000000000055511151231257827021181583404541015625``." -msgstr "" - -#: ../../library/decimal.rst:587 -msgid "" -"From Python 3.2 onwards, a :class:`Decimal` instance can also be constructed" -" directly from a :class:`float`." -msgstr "" - -#: ../../library/decimal.rst:590 -msgid "" -">>> Decimal.from_float(0.1)\n" -"Decimal('0.1000000000000000055511151231257827021181583404541015625')\n" -">>> Decimal.from_float(float('nan'))\n" -"Decimal('NaN')\n" -">>> Decimal.from_float(float('inf'))\n" -"Decimal('Infinity')\n" -">>> Decimal.from_float(float('-inf'))\n" -"Decimal('-Infinity')" -msgstr "" - -#: ../../library/decimal.rst:605 -msgid "" -"Alternative constructor that only accepts instances of :class:`float`, " -":class:`int` or :class:`Decimal`, but not strings or tuples." -msgstr "" - -#: ../../library/decimal.rst:609 -msgid "" -">>> Decimal.from_number(314)\n" -"Decimal('314')\n" -">>> Decimal.from_number(0.1)\n" -"Decimal('0.1000000000000000055511151231257827021181583404541015625')\n" -">>> Decimal.from_number(Decimal('3.14'))\n" -"Decimal('3.14')" -msgstr "" - -#: ../../library/decimal.rst:622 -msgid "" -"Fused multiply-add. Return self*other+third with no rounding of the " -"intermediate product self*other." -msgstr "" - -#: ../../library/decimal.rst:630 -msgid "" -"Return :const:`True` if the argument is canonical and :const:`False` " -"otherwise. Currently, a :class:`Decimal` instance is always canonical, so " -"this operation always returns :const:`True`." -msgstr "" - -#: ../../library/decimal.rst:636 -msgid "" -"Return :const:`True` if the argument is a finite number, and :const:`False` " -"if the argument is an infinity or a NaN." -msgstr "" - -#: ../../library/decimal.rst:641 -msgid "" -"Return :const:`True` if the argument is either positive or negative infinity" -" and :const:`False` otherwise." -msgstr "" - -#: ../../library/decimal.rst:646 -msgid "" -"Return :const:`True` if the argument is a (quiet or signaling) NaN and " -":const:`False` otherwise." -msgstr "" - -#: ../../library/decimal.rst:651 -msgid "" -"Return :const:`True` if the argument is a *normal* finite number. Return " -":const:`False` if the argument is zero, subnormal, infinite or a NaN." -msgstr "" - -#: ../../library/decimal.rst:656 -msgid "" -"Return :const:`True` if the argument is a quiet NaN, and :const:`False` " -"otherwise." -msgstr "" - -#: ../../library/decimal.rst:661 -msgid "" -"Return :const:`True` if the argument has a negative sign and :const:`False` " -"otherwise. Note that zeros and NaNs can both carry signs." -msgstr "" - -#: ../../library/decimal.rst:666 -msgid "" -"Return :const:`True` if the argument is a signaling NaN and :const:`False` " -"otherwise." -msgstr "" - -#: ../../library/decimal.rst:671 -msgid "" -"Return :const:`True` if the argument is subnormal, and :const:`False` " -"otherwise." -msgstr "" - -#: ../../library/decimal.rst:676 -msgid "" -"Return :const:`True` if the argument is a (positive or negative) zero and " -":const:`False` otherwise." -msgstr "" - -#: ../../library/decimal.rst:681 -msgid "" -"Return the natural (base e) logarithm of the operand. The result is " -"correctly rounded using the :const:`ROUND_HALF_EVEN` rounding mode." -msgstr "" - -#: ../../library/decimal.rst:686 -msgid "" -"Return the base ten logarithm of the operand. The result is correctly " -"rounded using the :const:`ROUND_HALF_EVEN` rounding mode." -msgstr "" - -#: ../../library/decimal.rst:691 -msgid "" -"For a nonzero number, return the adjusted exponent of its operand as a " -":class:`Decimal` instance. If the operand is a zero then " -"``Decimal('-Infinity')`` is returned and the :const:`DivisionByZero` flag is" -" raised. If the operand is an infinity then ``Decimal('Infinity')`` is " -"returned." -msgstr "" - -#: ../../library/decimal.rst:699 -msgid "" -":meth:`logical_and` is a logical operation which takes two *logical " -"operands* (see :ref:`logical_operands_label`). The result is the digit-wise" -" ``and`` of the two operands." -msgstr "" - -#: ../../library/decimal.rst:705 -msgid "" -":meth:`logical_invert` is a logical operation. The result is the digit-wise" -" inversion of the operand." -msgstr "" - -#: ../../library/decimal.rst:710 -msgid "" -":meth:`logical_or` is a logical operation which takes two *logical operands*" -" (see :ref:`logical_operands_label`). The result is the digit-wise ``or`` " -"of the two operands." -msgstr "" - -#: ../../library/decimal.rst:716 -msgid "" -":meth:`logical_xor` is a logical operation which takes two *logical " -"operands* (see :ref:`logical_operands_label`). The result is the digit-wise" -" exclusive or of the two operands." -msgstr "" - -#: ../../library/decimal.rst:722 -msgid "" -"Like ``max(self, other)`` except that the context rounding rule is applied " -"before returning and that ``NaN`` values are either signaled or ignored " -"(depending on the context and whether they are signaling or quiet)." -msgstr "" - -#: ../../library/decimal.rst:729 -msgid "" -"Similar to the :meth:`.max` method, but the comparison is done using the " -"absolute values of the operands." -msgstr "" - -#: ../../library/decimal.rst:734 -msgid "" -"Like ``min(self, other)`` except that the context rounding rule is applied " -"before returning and that ``NaN`` values are either signaled or ignored " -"(depending on the context and whether they are signaling or quiet)." -msgstr "" - -#: ../../library/decimal.rst:741 -msgid "" -"Similar to the :meth:`.min` method, but the comparison is done using the " -"absolute values of the operands." -msgstr "" - -#: ../../library/decimal.rst:746 -msgid "" -"Return the largest number representable in the given context (or in the " -"current thread's context if no context is given) that is smaller than the " -"given operand." -msgstr "" - -#: ../../library/decimal.rst:752 -msgid "" -"Return the smallest number representable in the given context (or in the " -"current thread's context if no context is given) that is larger than the " -"given operand." -msgstr "" - -#: ../../library/decimal.rst:758 -msgid "" -"If the two operands are unequal, return the number closest to the first " -"operand in the direction of the second operand. If both operands are " -"numerically equal, return a copy of the first operand with the sign set to " -"be the same as the sign of the second operand." -msgstr "" - -#: ../../library/decimal.rst:765 -msgid "" -"Used for producing canonical values of an equivalence class within either " -"the current context or the specified context." -msgstr "" - -#: ../../library/decimal.rst:768 -msgid "" -"This has the same semantics as the unary plus operation, except that if the " -"final result is finite it is reduced to its simplest form, with all trailing" -" zeros removed and its sign preserved. That is, while the coefficient is " -"non-zero and a multiple of ten the coefficient is divided by ten and the " -"exponent is incremented by 1. Otherwise (the coefficient is zero) the " -"exponent is set to 0. In all cases the sign is unchanged." -msgstr "" - -#: ../../library/decimal.rst:775 -msgid "" -"For example, ``Decimal('32.100')`` and ``Decimal('0.321000e+2')`` both " -"normalize to the equivalent value ``Decimal('32.1')``." -msgstr "" - -#: ../../library/decimal.rst:778 -msgid "Note that rounding is applied *before* reducing to simplest form." -msgstr "" - -#: ../../library/decimal.rst:780 -msgid "" -"In the latest versions of the specification, this operation is also known as" -" ``reduce``." -msgstr "" - -#: ../../library/decimal.rst:785 -msgid "" -"Return a string describing the *class* of the operand. The returned value " -"is one of the following ten strings." -msgstr "" - -#: ../../library/decimal.rst:788 -msgid "``\"-Infinity\"``, indicating that the operand is negative infinity." -msgstr "" - -#: ../../library/decimal.rst:789 -msgid "``\"-Normal\"``, indicating that the operand is a negative normal number." -msgstr "" - -#: ../../library/decimal.rst:790 -msgid "``\"-Subnormal\"``, indicating that the operand is negative and subnormal." -msgstr "" - -#: ../../library/decimal.rst:791 -msgid "``\"-Zero\"``, indicating that the operand is a negative zero." -msgstr "" - -#: ../../library/decimal.rst:792 -msgid "``\"+Zero\"``, indicating that the operand is a positive zero." -msgstr "" - -#: ../../library/decimal.rst:793 -msgid "``\"+Subnormal\"``, indicating that the operand is positive and subnormal." -msgstr "" - -#: ../../library/decimal.rst:794 -msgid "``\"+Normal\"``, indicating that the operand is a positive normal number." -msgstr "" - -#: ../../library/decimal.rst:795 -msgid "``\"+Infinity\"``, indicating that the operand is positive infinity." -msgstr "" - -#: ../../library/decimal.rst:796 -msgid "``\"NaN\"``, indicating that the operand is a quiet NaN (Not a Number)." -msgstr "" - -#: ../../library/decimal.rst:797 -msgid "``\"sNaN\"``, indicating that the operand is a signaling NaN." -msgstr "" - -#: ../../library/decimal.rst:801 -msgid "" -"Return a value equal to the first operand after rounding and having the " -"exponent of the second operand." -msgstr "" - -#: ../../library/decimal.rst:807 -msgid "" -"Unlike other operations, if the length of the coefficient after the quantize" -" operation would be greater than precision, then an " -":const:`InvalidOperation` is signaled. This guarantees that, unless there is" -" an error condition, the quantized exponent is always equal to that of the " -"right-hand operand." -msgstr "" - -#: ../../library/decimal.rst:813 -msgid "" -"Also unlike other operations, quantize never signals Underflow, even if the " -"result is subnormal and inexact." -msgstr "" - -#: ../../library/decimal.rst:816 -msgid "" -"If the exponent of the second operand is larger than that of the first then " -"rounding may be necessary. In this case, the rounding mode is determined by" -" the ``rounding`` argument if given, else by the given ``context`` argument;" -" if neither argument is given the rounding mode of the current thread's " -"context is used." -msgstr "" - -#: ../../library/decimal.rst:822 -msgid "" -"An error is returned whenever the resulting exponent is greater than " -":attr:`~Context.Emax` or less than :meth:`~Context.Etiny`." -msgstr "" - -#: ../../library/decimal.rst:827 -msgid "" -"Return ``Decimal(10)``, the radix (base) in which the :class:`Decimal` class" -" does all its arithmetic. Included for compatibility with the " -"specification." -msgstr "" - -#: ../../library/decimal.rst:833 -msgid "" -"Return the remainder from dividing *self* by *other*. This differs from " -"``self % other`` in that the sign of the remainder is chosen so as to " -"minimize its absolute value. More precisely, the return value is ``self - n" -" * other`` where ``n`` is the integer nearest to the exact value of ``self /" -" other``, and if two integers are equally near then the even one is chosen." -msgstr "" - -#: ../../library/decimal.rst:840 -msgid "If the result is zero then its sign will be the sign of *self*." -msgstr "" - -#: ../../library/decimal.rst:851 -msgid "" -"Return the result of rotating the digits of the first operand by an amount " -"specified by the second operand. The second operand must be an integer in " -"the range -precision through precision. The absolute value of the second " -"operand gives the number of places to rotate. If the second operand is " -"positive then rotation is to the left; otherwise rotation is to the right. " -"The coefficient of the first operand is padded on the left with zeros to " -"length precision if necessary. The sign and exponent of the first operand " -"are unchanged." -msgstr "" - -#: ../../library/decimal.rst:862 -msgid "" -"Test whether self and other have the same exponent or whether both are " -"``NaN``." -msgstr "" - -#: ../../library/decimal.rst:871 -msgid "" -"Return the first operand with exponent adjusted by the second. Equivalently," -" return the first operand multiplied by ``10**other``. The second operand " -"must be an integer." -msgstr "" - -#: ../../library/decimal.rst:877 -msgid "" -"Return the result of shifting the digits of the first operand by an amount " -"specified by the second operand. The second operand must be an integer in " -"the range -precision through precision. The absolute value of the second " -"operand gives the number of places to shift. If the second operand is " -"positive then the shift is to the left; otherwise the shift is to the right." -" Digits shifted into the coefficient are zeros. The sign and exponent of " -"the first operand are unchanged." -msgstr "" - -#: ../../library/decimal.rst:887 -msgid "Return the square root of the argument to full precision." -msgstr "" - -#: ../../library/decimal.rst:892 ../../library/decimal.rst:1537 -msgid "" -"Convert to a string, using engineering notation if an exponent is needed." -msgstr "" - -#: ../../library/decimal.rst:894 ../../library/decimal.rst:1539 -msgid "" -"Engineering notation has an exponent which is a multiple of 3. This can " -"leave up to 3 digits to the left of the decimal place and may require the " -"addition of either one or two trailing zeros." -msgstr "" - -#: ../../library/decimal.rst:898 -msgid "" -"For example, this converts ``Decimal('123E+1')`` to ``Decimal('1.23E+3')``." -msgstr "" - -#: ../../library/decimal.rst:902 -msgid "" -"Identical to the :meth:`to_integral_value` method. The ``to_integral`` name" -" has been kept for compatibility with older versions." -msgstr "" - -#: ../../library/decimal.rst:907 -msgid "" -"Round to the nearest integer, signaling :const:`Inexact` or :const:`Rounded`" -" as appropriate if rounding occurs. The rounding mode is determined by the " -"``rounding`` parameter if given, else by the given ``context``. If neither " -"parameter is given then the rounding mode of the current context is used." -msgstr "" - -#: ../../library/decimal.rst:915 -msgid "" -"Round to the nearest integer without signaling :const:`Inexact` or " -":const:`Rounded`. If given, applies *rounding*; otherwise, uses the " -"rounding method in either the supplied *context* or the current context." -msgstr "" - -#: ../../library/decimal.rst:919 -msgid "Decimal numbers can be rounded using the :func:`.round` function:" -msgstr "" - -#: ../../library/decimal.rst:924 -msgid "" -"If *ndigits* is not given or ``None``, returns the nearest :class:`int` to " -"*number*, rounding ties to even, and ignoring the rounding mode of the " -":class:`Decimal` context. Raises :exc:`OverflowError` if *number* is an " -"infinity or :exc:`ValueError` if it is a (quiet or signaling) NaN." -msgstr "" - -#: ../../library/decimal.rst:930 -msgid "" -"If *ndigits* is an :class:`int`, the context's rounding mode is respected " -"and a :class:`Decimal` representing *number* rounded to the nearest multiple" -" of ``Decimal('1E-ndigits')`` is returned; in this case, ``round(number, " -"ndigits)`` is equivalent to ``self.quantize(Decimal('1E-ndigits'))``. " -"Returns ``Decimal('NaN')`` if *number* is a quiet NaN. Raises " -":class:`InvalidOperation` if *number* is an infinity, a signaling NaN, or if" -" the length of the coefficient after the quantize operation would be greater" -" than the current context's precision. In other words, for the non-corner " -"cases:" -msgstr "" - -#: ../../library/decimal.rst:940 -msgid "" -"if *ndigits* is positive, return *number* rounded to *ndigits* decimal " -"places;" -msgstr "" - -#: ../../library/decimal.rst:942 -msgid "if *ndigits* is zero, return *number* rounded to the nearest integer;" -msgstr "" - -#: ../../library/decimal.rst:943 -msgid "" -"if *ndigits* is negative, return *number* rounded to the nearest multiple of" -" ``10**abs(ndigits)``." -msgstr "" - -#: ../../library/decimal.rst:946 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../library/decimal.rst:948 -msgid "" -">>> from decimal import Decimal, getcontext, ROUND_DOWN\n" -">>> getcontext().rounding = ROUND_DOWN\n" -">>> round(Decimal('3.75')) # context rounding ignored\n" -"4\n" -">>> round(Decimal('3.5')) # round-ties-to-even\n" -"4\n" -">>> round(Decimal('3.75'), 0) # uses the context rounding\n" -"Decimal('3')\n" -">>> round(Decimal('3.75'), 1)\n" -"Decimal('3.7')\n" -">>> round(Decimal('3.75'), -1)\n" -"Decimal('0E+1')" -msgstr "" - -#: ../../library/decimal.rst:965 -msgid "Logical operands" -msgstr "" - -#: ../../library/decimal.rst:967 -msgid "" -"The :meth:`~Decimal.logical_and`, :meth:`~Decimal.logical_invert`, " -":meth:`~Decimal.logical_or`, and :meth:`~Decimal.logical_xor` methods expect" -" their arguments to be *logical operands*. A *logical operand* is a " -":class:`Decimal` instance whose exponent and sign are both zero, and whose " -"digits are all either ``0`` or ``1``." -msgstr "" - -#: ../../library/decimal.rst:979 -msgid "Context objects" -msgstr "" - -#: ../../library/decimal.rst:981 -msgid "" -"Contexts are environments for arithmetic operations. They govern precision," -" set rules for rounding, determine which signals are treated as exceptions, " -"and limit the range for exponents." -msgstr "" - -#: ../../library/decimal.rst:985 -msgid "" -"Each thread has its own current context which is accessed or changed using " -"the :func:`getcontext` and :func:`setcontext` functions:" -msgstr "" - -#: ../../library/decimal.rst:991 -msgid "Return the current context for the active thread." -msgstr "" - -#: ../../library/decimal.rst:996 -msgid "Set the current context for the active thread to *c*." -msgstr "" - -#: ../../library/decimal.rst:998 -msgid "" -"You can also use the :keyword:`with` statement and the :func:`localcontext` " -"function to temporarily change the active context." -msgstr "" - -#: ../../library/decimal.rst:1003 -msgid "" -"Return a context manager that will set the current context for the active " -"thread to a copy of *ctx* on entry to the with-statement and restore the " -"previous context when exiting the with-statement. If no context is " -"specified, a copy of the current context is used. The *kwargs* argument is " -"used to set the attributes of the new context." -msgstr "" - -#: ../../library/decimal.rst:1009 -msgid "" -"For example, the following code sets the current decimal precision to 42 " -"places, performs a calculation, and then automatically restores the previous" -" context::" -msgstr "" - -#: ../../library/decimal.rst:1012 -msgid "" -"from decimal import localcontext\n" -"\n" -"with localcontext() as ctx:\n" -" ctx.prec = 42 # Perform a high precision calculation\n" -" s = calculate_something()\n" -"s = +s # Round the final result back to the default precision" -msgstr "" - -#: ../../library/decimal.rst:1019 -msgid "Using keyword arguments, the code would be the following::" -msgstr "" - -#: ../../library/decimal.rst:1021 -msgid "" -"from decimal import localcontext\n" -"\n" -"with localcontext(prec=42) as ctx:\n" -" s = calculate_something()\n" -"s = +s" -msgstr "" - -#: ../../library/decimal.rst:1027 -msgid "" -"Raises :exc:`TypeError` if *kwargs* supplies an attribute that " -":class:`Context` doesn't support. Raises either :exc:`TypeError` or " -":exc:`ValueError` if *kwargs* supplies an invalid value for an attribute." -msgstr "" - -#: ../../library/decimal.rst:1031 -msgid "" -":meth:`localcontext` now supports setting context attributes through the use" -" of keyword arguments." -msgstr "" - -#: ../../library/decimal.rst:1036 -msgid "" -"Return a context object initialized to the proper values for one of the IEEE" -" interchange formats. The argument must be a multiple of 32 and less than " -":const:`IEEE_CONTEXT_MAX_BITS`." -msgstr "" - -#: ../../library/decimal.rst:1042 -msgid "" -"New contexts can also be created using the :class:`Context` constructor " -"described below. In addition, the module provides three pre-made contexts:" -msgstr "" - -#: ../../library/decimal.rst:1048 -msgid "" -"This is a standard context defined by the General Decimal Arithmetic " -"Specification. Precision is set to nine. Rounding is set to " -":const:`ROUND_HALF_UP`. All flags are cleared. All traps are enabled " -"(treated as exceptions) except :const:`Inexact`, :const:`Rounded`, and " -":const:`Subnormal`." -msgstr "" - -#: ../../library/decimal.rst:1054 -msgid "" -"Because many of the traps are enabled, this context is useful for debugging." -msgstr "" - -#: ../../library/decimal.rst:1059 -msgid "" -"This is a standard context defined by the General Decimal Arithmetic " -"Specification. Precision is set to nine. Rounding is set to " -":const:`ROUND_HALF_EVEN`. All flags are cleared. No traps are enabled (so " -"that exceptions are not raised during computations)." -msgstr "" - -#: ../../library/decimal.rst:1064 -msgid "" -"Because the traps are disabled, this context is useful for applications that" -" prefer to have result value of ``NaN`` or ``Infinity`` instead of raising " -"exceptions. This allows an application to complete a run in the presence of" -" conditions that would otherwise halt the program." -msgstr "" - -#: ../../library/decimal.rst:1072 -msgid "" -"This context is used by the :class:`Context` constructor as a prototype for " -"new contexts. Changing a field (such a precision) has the effect of " -"changing the default for new contexts created by the :class:`Context` " -"constructor." -msgstr "" - -#: ../../library/decimal.rst:1076 -msgid "" -"This context is most useful in multi-threaded environments. Changing one of" -" the fields before threads are started has the effect of setting system-wide" -" defaults. Changing the fields after threads have started is not " -"recommended as it would require thread synchronization to prevent race " -"conditions." -msgstr "" - -#: ../../library/decimal.rst:1081 -msgid "" -"In single threaded environments, it is preferable to not use this context at" -" all. Instead, simply create contexts explicitly as described below." -msgstr "" - -#: ../../library/decimal.rst:1084 -msgid "" -"The default values are :attr:`Context.prec`\\ =\\ ``28``, " -":attr:`Context.rounding`\\ =\\ :const:`ROUND_HALF_EVEN`, and enabled traps " -"for :class:`Overflow`, :class:`InvalidOperation`, and " -":class:`DivisionByZero`." -msgstr "" - -#: ../../library/decimal.rst:1089 -msgid "" -"In addition to the three supplied contexts, new contexts can be created with" -" the :class:`Context` constructor." -msgstr "" - -#: ../../library/decimal.rst:1095 -msgid "" -"Creates a new context. If a field is not specified or is :const:`None`, the" -" default values are copied from the :const:`DefaultContext`. If the *flags*" -" field is not specified or is :const:`None`, all flags are cleared." -msgstr "" - -#: ../../library/decimal.rst:1099 -msgid "" -"*prec* is an integer in the range [``1``, :const:`MAX_PREC`] that sets the " -"precision for arithmetic operations in the context." -msgstr "" - -#: ../../library/decimal.rst:1102 -msgid "" -"The *rounding* option is one of the constants listed in the section " -"`Rounding Modes`_." -msgstr "" - -#: ../../library/decimal.rst:1105 -msgid "" -"The *traps* and *flags* fields list any signals to be set. Generally, new " -"contexts should only set traps and leave the flags clear." -msgstr "" - -#: ../../library/decimal.rst:1108 -msgid "" -"The *Emin* and *Emax* fields are integers specifying the outer limits " -"allowable for exponents. *Emin* must be in the range [:const:`MIN_EMIN`, " -"``0``], *Emax* in the range [``0``, :const:`MAX_EMAX`]." -msgstr "" - -#: ../../library/decimal.rst:1112 -msgid "" -"The *capitals* field is either ``0`` or ``1`` (the default). If set to " -"``1``, exponents are printed with a capital ``E``; otherwise, a lowercase " -"``e`` is used: ``Decimal('6.02e+23')``." -msgstr "" - -#: ../../library/decimal.rst:1116 -msgid "" -"The *clamp* field is either ``0`` (the default) or ``1``. If set to ``1``, " -"the exponent ``e`` of a :class:`Decimal` instance representable in this " -"context is strictly limited to the range ``Emin - prec + 1 <= e <= Emax - " -"prec + 1``. If *clamp* is ``0`` then a weaker condition holds: the adjusted" -" exponent of the :class:`Decimal` instance is at most :attr:`~Context.Emax`." -" When *clamp* is ``1``, a large normal number will, where possible, have " -"its exponent reduced and a corresponding number of zeros added to its " -"coefficient, in order to fit the exponent constraints; this preserves the " -"value of the number but loses information about significant trailing zeros." -" For example::" -msgstr "" - -#: ../../library/decimal.rst:1128 -msgid "" -">>> Context(prec=6, Emax=999, clamp=1).create_decimal('1.23e999')\n" -"Decimal('1.23000E+999')" -msgstr "" - -#: ../../library/decimal.rst:1131 -msgid "" -"A *clamp* value of ``1`` allows compatibility with the fixed-width decimal " -"interchange formats specified in IEEE 754." -msgstr "" - -#: ../../library/decimal.rst:1134 -msgid "" -"The :class:`Context` class defines several general purpose methods as well " -"as a large number of methods for doing arithmetic directly in a given " -"context. In addition, for each of the :class:`Decimal` methods described " -"above (with the exception of the :meth:`~Decimal.adjusted` and " -":meth:`~Decimal.as_tuple` methods) there is a corresponding :class:`Context`" -" method. For example, for a :class:`Context` instance ``C`` and " -":class:`Decimal` instance ``x``, ``C.exp(x)`` is equivalent to " -"``x.exp(context=C)``. Each :class:`Context` method accepts a Python integer" -" (an instance of :class:`int`) anywhere that a Decimal instance is accepted." -msgstr "" - -#: ../../library/decimal.rst:1147 -msgid "Resets all of the flags to ``0``." -msgstr "" - -#: ../../library/decimal.rst:1151 -msgid "Resets all of the traps to ``0``." -msgstr "" - -#: ../../library/decimal.rst:1157 -msgid "Return a duplicate of the context." -msgstr "" - -#: ../../library/decimal.rst:1161 -msgid "Return a copy of the Decimal instance num." -msgstr "" - -#: ../../library/decimal.rst:1165 -msgid "" -"Creates a new Decimal instance from *num* but using *self* as context. " -"Unlike the :class:`Decimal` constructor, the context precision, rounding " -"method, flags, and traps are applied to the conversion." -msgstr "" - -#: ../../library/decimal.rst:1169 -msgid "" -"This is useful because constants are often given to a greater precision than" -" is needed by the application. Another benefit is that rounding immediately" -" eliminates unintended effects from digits beyond the current precision. In " -"the following example, using unrounded inputs means that adding zero to a " -"sum can change the result:" -msgstr "" - -#: ../../library/decimal.rst:1175 -msgid "" -">>> getcontext().prec = 3\n" -">>> Decimal('3.4445') + Decimal('1.0023')\n" -"Decimal('4.45')\n" -">>> Decimal('3.4445') + Decimal(0) + Decimal('1.0023')\n" -"Decimal('4.44')" -msgstr "" - -#: ../../library/decimal.rst:1183 -msgid "" -"This method implements the to-number operation of the IBM specification. If " -"the argument is a string, no leading or trailing whitespace or underscores " -"are permitted." -msgstr "" - -#: ../../library/decimal.rst:1189 -msgid "" -"Creates a new Decimal instance from a float *f* but rounding using *self* as" -" the context. Unlike the :meth:`Decimal.from_float` class method, the " -"context precision, rounding method, flags, and traps are applied to the " -"conversion." -msgstr "" - -#: ../../library/decimal.rst:1194 -msgid "" -">>> context = Context(prec=5, rounding=ROUND_DOWN)\n" -">>> context.create_decimal_from_float(math.pi)\n" -"Decimal('3.1415')\n" -">>> context = Context(prec=5, traps=[Inexact])\n" -">>> context.create_decimal_from_float(math.pi)\n" -"Traceback (most recent call last):\n" -" ...\n" -"decimal.Inexact: None" -msgstr "" - -#: ../../library/decimal.rst:1209 -msgid "" -"Returns a value equal to ``Emin - prec + 1`` which is the minimum exponent " -"value for subnormal results. When underflow occurs, the exponent is set to " -":const:`Etiny`." -msgstr "" - -#: ../../library/decimal.rst:1215 -msgid "Returns a value equal to ``Emax - prec + 1``." -msgstr "" - -#: ../../library/decimal.rst:1217 -msgid "" -"The usual approach to working with decimals is to create :class:`Decimal` " -"instances and then apply arithmetic operations which take place within the " -"current context for the active thread. An alternative approach is to use " -"context methods for calculating within a specific context. The methods are " -"similar to those for the :class:`Decimal` class and are only briefly " -"recounted here." -msgstr "" - -#: ../../library/decimal.rst:1227 -msgid "Returns the absolute value of *x*." -msgstr "" - -#: ../../library/decimal.rst:1232 -msgid "Return the sum of *x* and *y*." -msgstr "" - -#: ../../library/decimal.rst:1237 -msgid "Returns the same Decimal object *x*." -msgstr "" - -#: ../../library/decimal.rst:1242 -msgid "Compares *x* and *y* numerically." -msgstr "" - -#: ../../library/decimal.rst:1247 -msgid "Compares the values of the two operands numerically." -msgstr "" - -#: ../../library/decimal.rst:1252 -msgid "Compares two operands using their abstract representation." -msgstr "" - -#: ../../library/decimal.rst:1257 -msgid "" -"Compares two operands using their abstract representation, ignoring sign." -msgstr "" - -#: ../../library/decimal.rst:1262 -msgid "Returns a copy of *x* with the sign set to 0." -msgstr "" - -#: ../../library/decimal.rst:1267 -msgid "Returns a copy of *x* with the sign inverted." -msgstr "" - -#: ../../library/decimal.rst:1272 -msgid "Copies the sign from *y* to *x*." -msgstr "" - -#: ../../library/decimal.rst:1277 -msgid "Return *x* divided by *y*." -msgstr "" - -#: ../../library/decimal.rst:1282 -msgid "Return *x* divided by *y*, truncated to an integer." -msgstr "" - -#: ../../library/decimal.rst:1287 -msgid "Divides two numbers and returns the integer part of the result." -msgstr "" - -#: ../../library/decimal.rst:1292 -msgid "Returns ``e ** x``." -msgstr "" - -#: ../../library/decimal.rst:1297 -msgid "Returns *x* multiplied by *y*, plus *z*." -msgstr "" - -#: ../../library/decimal.rst:1302 -msgid "Returns ``True`` if *x* is canonical; otherwise returns ``False``." -msgstr "" - -#: ../../library/decimal.rst:1307 -msgid "Returns ``True`` if *x* is finite; otherwise returns ``False``." -msgstr "" - -#: ../../library/decimal.rst:1312 -msgid "Returns ``True`` if *x* is infinite; otherwise returns ``False``." -msgstr "" - -#: ../../library/decimal.rst:1317 -msgid "" -"Returns ``True`` if *x* is a qNaN or sNaN; otherwise returns ``False``." -msgstr "" - -#: ../../library/decimal.rst:1322 -msgid "" -"Returns ``True`` if *x* is a normal number; otherwise returns ``False``." -msgstr "" - -#: ../../library/decimal.rst:1327 -msgid "Returns ``True`` if *x* is a quiet NaN; otherwise returns ``False``." -msgstr "" - -#: ../../library/decimal.rst:1332 -msgid "Returns ``True`` if *x* is negative; otherwise returns ``False``." -msgstr "" - -#: ../../library/decimal.rst:1337 -msgid "" -"Returns ``True`` if *x* is a signaling NaN; otherwise returns ``False``." -msgstr "" - -#: ../../library/decimal.rst:1342 -msgid "Returns ``True`` if *x* is subnormal; otherwise returns ``False``." -msgstr "" - -#: ../../library/decimal.rst:1347 -msgid "Returns ``True`` if *x* is a zero; otherwise returns ``False``." -msgstr "" - -#: ../../library/decimal.rst:1352 -msgid "Returns the natural (base e) logarithm of *x*." -msgstr "" - -#: ../../library/decimal.rst:1357 -msgid "Returns the base 10 logarithm of *x*." -msgstr "" - -#: ../../library/decimal.rst:1362 -msgid "Returns the exponent of the magnitude of the operand's MSD." -msgstr "" - -#: ../../library/decimal.rst:1367 -msgid "Applies the logical operation *and* between each operand's digits." -msgstr "" - -#: ../../library/decimal.rst:1372 -msgid "Invert all the digits in *x*." -msgstr "" - -#: ../../library/decimal.rst:1377 -msgid "Applies the logical operation *or* between each operand's digits." -msgstr "" - -#: ../../library/decimal.rst:1382 -msgid "Applies the logical operation *xor* between each operand's digits." -msgstr "" - -#: ../../library/decimal.rst:1387 -msgid "Compares two values numerically and returns the maximum." -msgstr "" - -#: ../../library/decimal.rst:1392 ../../library/decimal.rst:1402 -msgid "Compares the values numerically with their sign ignored." -msgstr "" - -#: ../../library/decimal.rst:1397 -msgid "Compares two values numerically and returns the minimum." -msgstr "" - -#: ../../library/decimal.rst:1407 -msgid "Minus corresponds to the unary prefix minus operator in Python." -msgstr "" - -#: ../../library/decimal.rst:1412 -msgid "Return the product of *x* and *y*." -msgstr "" - -#: ../../library/decimal.rst:1417 -msgid "Returns the largest representable number smaller than *x*." -msgstr "" - -#: ../../library/decimal.rst:1422 -msgid "Returns the smallest representable number larger than *x*." -msgstr "" - -#: ../../library/decimal.rst:1427 -msgid "Returns the number closest to *x*, in direction towards *y*." -msgstr "" - -#: ../../library/decimal.rst:1432 -msgid "Reduces *x* to its simplest form." -msgstr "" - -#: ../../library/decimal.rst:1437 -msgid "Returns an indication of the class of *x*." -msgstr "" - -#: ../../library/decimal.rst:1442 -msgid "" -"Plus corresponds to the unary prefix plus operator in Python. This " -"operation applies the context precision and rounding, so it is *not* an " -"identity operation." -msgstr "" - -#: ../../library/decimal.rst:1449 -msgid "" -"Return ``x`` to the power of ``y``, reduced modulo ``modulo`` if given." -msgstr "" - -#: ../../library/decimal.rst:1451 -msgid "" -"With two arguments, compute ``x**y``. If ``x`` is negative then ``y`` must " -"be integral. The result will be inexact unless ``y`` is integral and the " -"result is finite and can be expressed exactly in 'precision' digits. The " -"rounding mode of the context is used. Results are always correctly rounded " -"in the Python version." -msgstr "" - -#: ../../library/decimal.rst:1457 -msgid "" -"``Decimal(0) ** Decimal(0)`` results in ``InvalidOperation``, and if " -"``InvalidOperation`` is not trapped, then results in ``Decimal('NaN')``." -msgstr "" - -#: ../../library/decimal.rst:1460 -msgid "" -"The C module computes :meth:`power` in terms of the correctly rounded " -":meth:`exp` and :meth:`ln` functions. The result is well-defined but only " -"\"almost always correctly rounded\"." -msgstr "" - -#: ../../library/decimal.rst:1465 -msgid "" -"With three arguments, compute ``(x**y) % modulo``. For the three argument " -"form, the following restrictions on the arguments hold:" -msgstr "" - -#: ../../library/decimal.rst:1468 -msgid "all three arguments must be integral" -msgstr "" - -#: ../../library/decimal.rst:1469 -msgid "``y`` must be nonnegative" -msgstr "" - -#: ../../library/decimal.rst:1470 -msgid "at least one of ``x`` or ``y`` must be nonzero" -msgstr "" - -#: ../../library/decimal.rst:1471 -msgid "``modulo`` must be nonzero and have at most 'precision' digits" -msgstr "" - -#: ../../library/decimal.rst:1473 -msgid "" -"The value resulting from ``Context.power(x, y, modulo)`` is equal to the " -"value that would be obtained by computing ``(x**y) % modulo`` with unbounded" -" precision, but is computed more efficiently. The exponent of the result is" -" zero, regardless of the exponents of ``x``, ``y`` and ``modulo``. The " -"result is always exact." -msgstr "" - -#: ../../library/decimal.rst:1483 -msgid "Returns a value equal to *x* (rounded), having the exponent of *y*." -msgstr "" - -#: ../../library/decimal.rst:1488 -msgid "Just returns 10, as this is Decimal, :)" -msgstr "" - -#: ../../library/decimal.rst:1493 -msgid "Returns the remainder from integer division." -msgstr "" - -#: ../../library/decimal.rst:1495 -msgid "" -"The sign of the result, if non-zero, is the same as that of the original " -"dividend." -msgstr "" - -#: ../../library/decimal.rst:1501 -msgid "" -"Returns ``x - y * n``, where *n* is the integer nearest the exact value of " -"``x / y`` (if the result is 0 then its sign will be the sign of *x*)." -msgstr "" - -#: ../../library/decimal.rst:1507 -msgid "Returns a rotated copy of *x*, *y* times." -msgstr "" - -#: ../../library/decimal.rst:1512 -msgid "Returns ``True`` if the two operands have the same exponent." -msgstr "" - -#: ../../library/decimal.rst:1517 -msgid "Returns the first operand after adding the second value its exp." -msgstr "" - -#: ../../library/decimal.rst:1522 -msgid "Returns a shifted copy of *x*, *y* times." -msgstr "" - -#: ../../library/decimal.rst:1527 -msgid "Square root of a non-negative number to context precision." -msgstr "" - -#: ../../library/decimal.rst:1532 -msgid "Return the difference between *x* and *y*." -msgstr "" - -#: ../../library/decimal.rst:1546 -msgid "Rounds to an integer." -msgstr "" - -#: ../../library/decimal.rst:1551 -msgid "Converts a number to a string using scientific notation." -msgstr "" - -#: ../../library/decimal.rst:1558 -msgid "Constants" -msgstr "Konstanta" - -#: ../../library/decimal.rst:1560 -msgid "" -"The constants in this section are only relevant for the C module. They are " -"also included in the pure Python version for compatibility." -msgstr "" - -#: ../../library/decimal.rst:1564 -msgid "32-bit" -msgstr "" - -#: ../../library/decimal.rst:1564 -msgid "64-bit" -msgstr "" - -#: ../../library/decimal.rst:1566 ../../library/decimal.rst:1568 -msgid "``425000000``" -msgstr "" - -#: ../../library/decimal.rst:1566 ../../library/decimal.rst:1568 -msgid "``999999999999999999``" -msgstr "" - -#: ../../library/decimal.rst:1570 -msgid "``-425000000``" -msgstr "" - -#: ../../library/decimal.rst:1570 -msgid "``-999999999999999999``" -msgstr "" - -#: ../../library/decimal.rst:1572 -msgid "``-849999999``" -msgstr "" - -#: ../../library/decimal.rst:1572 -msgid "``-1999999999999999997``" -msgstr "" - -#: ../../library/decimal.rst:1574 -msgid "``256``" -msgstr "" - -#: ../../library/decimal.rst:1574 -msgid "``512``" -msgstr "" - -#: ../../library/decimal.rst:1579 -msgid "" -"The value is ``True``. Deprecated, because Python now always has threads." -msgstr "" - -#: ../../library/decimal.rst:1585 -msgid "" -"The default value is ``True``. If Python is :option:`configured using the " -"--without-decimal-contextvar option <--without-decimal-contextvar>`, the C " -"version uses a thread-local rather than a coroutine-local context and the " -"value is ``False``. This is slightly faster in some nested context " -"scenarios." -msgstr "" - -#: ../../library/decimal.rst:1594 -msgid "Rounding modes" -msgstr "" - -#: ../../library/decimal.rst:1598 -msgid "Round towards ``Infinity``." -msgstr "" - -#: ../../library/decimal.rst:1602 -msgid "Round towards zero." -msgstr "" - -#: ../../library/decimal.rst:1606 -msgid "Round towards ``-Infinity``." -msgstr "" - -#: ../../library/decimal.rst:1610 -msgid "Round to nearest with ties going towards zero." -msgstr "" - -#: ../../library/decimal.rst:1614 -msgid "Round to nearest with ties going to nearest even integer." -msgstr "" - -#: ../../library/decimal.rst:1618 -msgid "Round to nearest with ties going away from zero." -msgstr "" - -#: ../../library/decimal.rst:1622 -msgid "Round away from zero." -msgstr "" - -#: ../../library/decimal.rst:1626 -msgid "" -"Round away from zero if last digit after rounding towards zero would have " -"been 0 or 5; otherwise round towards zero." -msgstr "" - -#: ../../library/decimal.rst:1633 -msgid "Signals" -msgstr "" - -#: ../../library/decimal.rst:1635 -msgid "" -"Signals represent conditions that arise during computation. Each corresponds" -" to one context flag and one context trap enabler." -msgstr "" - -#: ../../library/decimal.rst:1638 -msgid "" -"The context flag is set whenever the condition is encountered. After the " -"computation, flags may be checked for informational purposes (for instance, " -"to determine whether a computation was exact). After checking the flags, be " -"sure to clear all flags before starting the next computation." -msgstr "" - -#: ../../library/decimal.rst:1643 -msgid "" -"If the context's trap enabler is set for the signal, then the condition " -"causes a Python exception to be raised. For example, if the " -":class:`DivisionByZero` trap is set, then a :exc:`DivisionByZero` exception " -"is raised upon encountering the condition." -msgstr "" - -#: ../../library/decimal.rst:1651 -msgid "Altered an exponent to fit representation constraints." -msgstr "" - -#: ../../library/decimal.rst:1653 -msgid "" -"Typically, clamping occurs when an exponent falls outside the context's " -":attr:`~Context.Emin` and :attr:`~Context.Emax` limits. If possible, the " -"exponent is reduced to fit by adding zeros to the coefficient." -msgstr "" - -#: ../../library/decimal.rst:1660 -msgid "Base class for other signals and a subclass of :exc:`ArithmeticError`." -msgstr "" - -#: ../../library/decimal.rst:1665 -msgid "Signals the division of a non-infinite number by zero." -msgstr "" - -#: ../../library/decimal.rst:1667 -msgid "" -"Can occur with division, modulo division, or when raising a number to a " -"negative power. If this signal is not trapped, returns ``Infinity`` or " -"``-Infinity`` with the sign determined by the inputs to the calculation." -msgstr "" - -#: ../../library/decimal.rst:1674 -msgid "Indicates that rounding occurred and the result is not exact." -msgstr "" - -#: ../../library/decimal.rst:1676 -msgid "" -"Signals when non-zero digits were discarded during rounding. The rounded " -"result is returned. The signal flag or trap is used to detect when results " -"are inexact." -msgstr "" - -#: ../../library/decimal.rst:1683 -msgid "An invalid operation was performed." -msgstr "" - -#: ../../library/decimal.rst:1685 -msgid "" -"Indicates that an operation was requested that does not make sense. If not " -"trapped, returns ``NaN``. Possible causes include::" -msgstr "" - -#: ../../library/decimal.rst:1688 -msgid "" -"Infinity - Infinity\n" -"0 * Infinity\n" -"Infinity / Infinity\n" -"x % 0\n" -"Infinity % x\n" -"sqrt(-x) and x > 0\n" -"0 ** 0\n" -"x ** (non-integer)\n" -"x ** Infinity" -msgstr "" - -#: ../../library/decimal.rst:1701 -msgid "Numerical overflow." -msgstr "" - -#: ../../library/decimal.rst:1703 -msgid "" -"Indicates the exponent is larger than :attr:`Context.Emax` after rounding " -"has occurred. If not trapped, the result depends on the rounding mode, " -"either pulling inward to the largest representable finite number or rounding" -" outward to ``Infinity``. In either case, :class:`Inexact` and " -":class:`Rounded` are also signaled." -msgstr "" - -#: ../../library/decimal.rst:1712 -msgid "Rounding occurred though possibly no information was lost." -msgstr "" - -#: ../../library/decimal.rst:1714 -msgid "" -"Signaled whenever rounding discards digits; even if those digits are zero " -"(such as rounding ``5.00`` to ``5.0``). If not trapped, returns the result " -"unchanged. This signal is used to detect loss of significant digits." -msgstr "" - -#: ../../library/decimal.rst:1722 -msgid "Exponent was lower than :attr:`~Context.Emin` prior to rounding." -msgstr "" - -#: ../../library/decimal.rst:1724 -msgid "" -"Occurs when an operation result is subnormal (the exponent is too small). If" -" not trapped, returns the result unchanged." -msgstr "" - -#: ../../library/decimal.rst:1730 -msgid "Numerical underflow with result rounded to zero." -msgstr "" - -#: ../../library/decimal.rst:1732 -msgid "" -"Occurs when a subnormal result is pushed to zero by rounding. " -":class:`Inexact` and :class:`Subnormal` are also signaled." -msgstr "" - -#: ../../library/decimal.rst:1738 -msgid "Enable stricter semantics for mixing floats and Decimals." -msgstr "" - -#: ../../library/decimal.rst:1740 -msgid "" -"If the signal is not trapped (default), mixing floats and Decimals is " -"permitted in the :class:`~decimal.Decimal` constructor, " -":meth:`~decimal.Context.create_decimal` and all comparison operators. Both " -"conversion and comparisons are exact. Any occurrence of a mixed operation is" -" silently recorded by setting :exc:`FloatOperation` in the context flags. " -"Explicit conversions with :meth:`~decimal.Decimal.from_float` or " -":meth:`~decimal.Context.create_decimal_from_float` do not set the flag." -msgstr "" - -#: ../../library/decimal.rst:1748 -msgid "" -"Otherwise (the signal is trapped), only equality comparisons and explicit " -"conversions are silent. All other mixed operations raise " -":exc:`FloatOperation`." -msgstr "" - -#: ../../library/decimal.rst:1752 -msgid "The following table summarizes the hierarchy of signals::" -msgstr "" - -#: ../../library/decimal.rst:1754 -msgid "" -"exceptions.ArithmeticError(exceptions.Exception)\n" -" DecimalException\n" -" Clamped\n" -" DivisionByZero(DecimalException, exceptions.ZeroDivisionError)\n" -" Inexact\n" -" Overflow(Inexact, Rounded)\n" -" Underflow(Inexact, Rounded, Subnormal)\n" -" InvalidOperation\n" -" Rounded\n" -" Subnormal\n" -" FloatOperation(DecimalException, exceptions.TypeError)" -msgstr "" - -#: ../../library/decimal.rst:1773 -msgid "Floating-Point Notes" -msgstr "" - -#: ../../library/decimal.rst:1777 -msgid "Mitigating round-off error with increased precision" -msgstr "" - -#: ../../library/decimal.rst:1779 -msgid "" -"The use of decimal floating point eliminates decimal representation error " -"(making it possible to represent ``0.1`` exactly); however, some operations " -"can still incur round-off error when non-zero digits exceed the fixed " -"precision." -msgstr "" - -#: ../../library/decimal.rst:1783 -msgid "" -"The effects of round-off error can be amplified by the addition or " -"subtraction of nearly offsetting quantities resulting in loss of " -"significance. Knuth provides two instructive examples where rounded " -"floating-point arithmetic with insufficient precision causes the breakdown " -"of the associative and distributive properties of addition:" -msgstr "" - -#: ../../library/decimal.rst:1789 -msgid "" -"# Examples from Seminumerical Algorithms, Section 4.2.2.\n" -">>> from decimal import Decimal, getcontext\n" -">>> getcontext().prec = 8\n" -"\n" -">>> u, v, w = Decimal(11111113), Decimal(-11111111), Decimal('7.51111111')\n" -">>> (u + v) + w\n" -"Decimal('9.5111111')\n" -">>> u + (v + w)\n" -"Decimal('10')\n" -"\n" -">>> u, v, w = Decimal(20000), Decimal(-6), Decimal('6.0000003')\n" -">>> (u*v) + (u*w)\n" -"Decimal('0.01')\n" -">>> u * (v+w)\n" -"Decimal('0.0060000')" -msgstr "" - -#: ../../library/decimal.rst:1807 -msgid "" -"The :mod:`decimal` module makes it possible to restore the identities by " -"expanding the precision sufficiently to avoid loss of significance:" -msgstr "" - -#: ../../library/decimal.rst:1810 -msgid "" -">>> getcontext().prec = 20\n" -">>> u, v, w = Decimal(11111113), Decimal(-11111111), Decimal('7.51111111')\n" -">>> (u + v) + w\n" -"Decimal('9.51111111')\n" -">>> u + (v + w)\n" -"Decimal('9.51111111')\n" -">>>\n" -">>> u, v, w = Decimal(20000), Decimal(-6), Decimal('6.0000003')\n" -">>> (u*v) + (u*w)\n" -"Decimal('0.0060000')\n" -">>> u * (v+w)\n" -"Decimal('0.0060000')" -msgstr "" - -#: ../../library/decimal.rst:1827 -msgid "Special values" -msgstr "" - -#: ../../library/decimal.rst:1829 -msgid "" -"The number system for the :mod:`decimal` module provides special values " -"including ``NaN``, ``sNaN``, ``-Infinity``, ``Infinity``, and two zeros, " -"``+0`` and ``-0``." -msgstr "" - -#: ../../library/decimal.rst:1833 -msgid "" -"Infinities can be constructed directly with: ``Decimal('Infinity')``. Also," -" they can arise from dividing by zero when the :exc:`DivisionByZero` signal " -"is not trapped. Likewise, when the :exc:`Overflow` signal is not trapped, " -"infinity can result from rounding beyond the limits of the largest " -"representable number." -msgstr "" - -#: ../../library/decimal.rst:1838 -msgid "" -"The infinities are signed (affine) and can be used in arithmetic operations " -"where they get treated as very large, indeterminate numbers. For instance, " -"adding a constant to infinity gives another infinite result." -msgstr "" - -#: ../../library/decimal.rst:1842 -msgid "" -"Some operations are indeterminate and return ``NaN``, or if the " -":exc:`InvalidOperation` signal is trapped, raise an exception. For example," -" ``0/0`` returns ``NaN`` which means \"not a number\". This variety of " -"``NaN`` is quiet and, once created, will flow through other computations " -"always resulting in another ``NaN``. This behavior can be useful for a " -"series of computations that occasionally have missing inputs --- it allows " -"the calculation to proceed while flagging specific results as invalid." -msgstr "" - -#: ../../library/decimal.rst:1850 -msgid "" -"A variant is ``sNaN`` which signals rather than remaining quiet after every " -"operation. This is a useful return value when an invalid result needs to " -"interrupt a calculation for special handling." -msgstr "" - -#: ../../library/decimal.rst:1854 -msgid "" -"The behavior of Python's comparison operators can be a little surprising " -"where a ``NaN`` is involved. A test for equality where one of the operands " -"is a quiet or signaling ``NaN`` always returns :const:`False` (even when " -"doing ``Decimal('NaN')==Decimal('NaN')``), while a test for inequality " -"always returns :const:`True`. An attempt to compare two Decimals using any " -"of the ``<``, ``<=``, ``>`` or ``>=`` operators will raise the " -":exc:`InvalidOperation` signal if either operand is a ``NaN``, and return " -":const:`False` if this signal is not trapped. Note that the General Decimal" -" Arithmetic specification does not specify the behavior of direct " -"comparisons; these rules for comparisons involving a ``NaN`` were taken from" -" the IEEE 854 standard (see Table 3 in section 5.7). To ensure strict " -"standards-compliance, use the :meth:`~Decimal.compare` and " -":meth:`~Decimal.compare_signal` methods instead." -msgstr "" - -#: ../../library/decimal.rst:1867 -msgid "" -"The signed zeros can result from calculations that underflow. They keep the " -"sign that would have resulted if the calculation had been carried out to " -"greater precision. Since their magnitude is zero, both positive and " -"negative zeros are treated as equal and their sign is informational." -msgstr "" - -#: ../../library/decimal.rst:1872 -msgid "" -"In addition to the two signed zeros which are distinct yet equal, there are " -"various representations of zero with differing precisions yet equivalent in " -"value. This takes a bit of getting used to. For an eye accustomed to " -"normalized floating-point representations, it is not immediately obvious " -"that the following calculation returns a value equal to zero:" -msgstr "" - -#: ../../library/decimal.rst:1887 -msgid "Working with threads" -msgstr "" - -#: ../../library/decimal.rst:1889 -msgid "" -"The :func:`getcontext` function accesses a different :class:`Context` object" -" for each thread. Having separate thread contexts means that threads may " -"make changes (such as ``getcontext().prec=10``) without interfering with " -"other threads." -msgstr "" - -#: ../../library/decimal.rst:1893 -msgid "" -"Likewise, the :func:`setcontext` function automatically assigns its target " -"to the current thread." -msgstr "" - -#: ../../library/decimal.rst:1896 -msgid "" -"If :func:`setcontext` has not been called before :func:`getcontext`, then " -":func:`getcontext` will automatically create a new context for use in the " -"current thread. New context objects have default values set from the " -":data:`decimal.DefaultContext` object." -msgstr "" - -#: ../../library/decimal.rst:1901 -msgid "" -"The :data:`sys.flags.thread_inherit_context` flag affects the context for " -"new threads. If the flag is false, new threads will start with an empty " -"context. In this case, :func:`getcontext` will create a new context object " -"when called and use the default values from *DefaultContext*. If the flag " -"is true, new threads will start with a copy of context from the caller of " -":meth:`threading.Thread.start`." -msgstr "" - -#: ../../library/decimal.rst:1908 -msgid "" -"To control the defaults so that each thread will use the same values " -"throughout the application, directly modify the *DefaultContext* object. " -"This should be done *before* any threads are started so that there won't be " -"a race condition between threads calling :func:`getcontext`. For example::" -msgstr "" - -#: ../../library/decimal.rst:1913 -msgid "" -"# Set applicationwide defaults for all threads about to be launched\n" -"DefaultContext.prec = 12\n" -"DefaultContext.rounding = ROUND_DOWN\n" -"DefaultContext.traps = ExtendedContext.traps.copy()\n" -"DefaultContext.traps[InvalidOperation] = 1\n" -"setcontext(DefaultContext)\n" -"\n" -"# Afterwards, the threads can be started\n" -"t1.start()\n" -"t2.start()\n" -"t3.start()\n" -" . . ." -msgstr "" - -#: ../../library/decimal.rst:1932 -msgid "Recipes" -msgstr "" - -#: ../../library/decimal.rst:1934 -msgid "" -"Here are a few recipes that serve as utility functions and that demonstrate " -"ways to work with the :class:`Decimal` class::" -msgstr "" - -#: ../../library/decimal.rst:1937 -msgid "" -"def moneyfmt(value, places=2, curr='', sep=',', dp='.',\n" -" pos='', neg='-', trailneg=''):\n" -" \"\"\"Convert Decimal to a money formatted string.\n" -"\n" -" places: required number of places after the decimal point\n" -" curr: optional currency symbol before the sign (may be blank)\n" -" sep: optional grouping separator (comma, period, space, or blank)\n" -" dp: decimal point indicator (comma or period)\n" -" only specify as blank when places is zero\n" -" pos: optional sign for positive numbers: '+', space or blank\n" -" neg: optional sign for negative numbers: '-', '(', space or blank\n" -" trailneg:optional trailing minus indicator: '-', ')', space or blank\n" -"\n" -" >>> d = Decimal('-1234567.8901')\n" -" >>> moneyfmt(d, curr='$')\n" -" '-$1,234,567.89'\n" -" >>> moneyfmt(d, places=0, sep='.', dp='', neg='', trailneg='-')\n" -" '1.234.568-'\n" -" >>> moneyfmt(d, curr='$', neg='(', trailneg=')')\n" -" '($1,234,567.89)'\n" -" >>> moneyfmt(Decimal(123456789), sep=' ')\n" -" '123 456 789.00'\n" -" >>> moneyfmt(Decimal('-0.02'), neg='<', trailneg='>')\n" -" '<0.02>'\n" -"\n" -" \"\"\"\n" -" q = Decimal(10) ** -places # 2 places --> '0.01'\n" -" sign, digits, exp = value.quantize(q).as_tuple()\n" -" result = []\n" -" digits = list(map(str, digits))\n" -" build, next = result.append, digits.pop\n" -" if sign:\n" -" build(trailneg)\n" -" for i in range(places):\n" -" build(next() if digits else '0')\n" -" if places:\n" -" build(dp)\n" -" if not digits:\n" -" build('0')\n" -" i = 0\n" -" while digits:\n" -" build(next())\n" -" i += 1\n" -" if i == 3 and digits:\n" -" i = 0\n" -" build(sep)\n" -" build(curr)\n" -" build(neg if sign else pos)\n" -" return ''.join(reversed(result))\n" -"\n" -"def pi():\n" -" \"\"\"Compute Pi to the current precision.\n" -"\n" -" >>> print(pi())\n" -" 3.141592653589793238462643383\n" -"\n" -" \"\"\"\n" -" getcontext().prec += 2 # extra digits for intermediate steps\n" -" three = Decimal(3) # substitute \"three=3.0\" for regular floats\n" -" lasts, t, s, n, na, d, da = 0, three, 3, 1, 0, 0, 24\n" -" while s != lasts:\n" -" lasts = s\n" -" n, na = n+na, na+8\n" -" d, da = d+da, da+32\n" -" t = (t * n) / d\n" -" s += t\n" -" getcontext().prec -= 2\n" -" return +s # unary plus applies the new precision\n" -"\n" -"def exp(x):\n" -" \"\"\"Return e raised to the power of x. Result type matches input type.\n" -"\n" -" >>> print(exp(Decimal(1)))\n" -" 2.718281828459045235360287471\n" -" >>> print(exp(Decimal(2)))\n" -" 7.389056098930650227230427461\n" -" >>> print(exp(2.0))\n" -" 7.38905609893\n" -" >>> print(exp(2+0j))\n" -" (7.38905609893+0j)\n" -"\n" -" \"\"\"\n" -" getcontext().prec += 2\n" -" i, lasts, s, fact, num = 0, 0, 1, 1, 1\n" -" while s != lasts:\n" -" lasts = s\n" -" i += 1\n" -" fact *= i\n" -" num *= x\n" -" s += num / fact\n" -" getcontext().prec -= 2\n" -" return +s\n" -"\n" -"def cos(x):\n" -" \"\"\"Return the cosine of x as measured in radians.\n" -"\n" -" The Taylor series approximation works best for a small value of x.\n" -" For larger values, first compute x = x % (2 * pi).\n" -"\n" -" >>> print(cos(Decimal('0.5')))\n" -" 0.8775825618903727161162815826\n" -" >>> print(cos(0.5))\n" -" 0.87758256189\n" -" >>> print(cos(0.5+0j))\n" -" (0.87758256189+0j)\n" -"\n" -" \"\"\"\n" -" getcontext().prec += 2\n" -" i, lasts, s, fact, num, sign = 0, 0, 1, 1, 1, 1\n" -" while s != lasts:\n" -" lasts = s\n" -" i += 2\n" -" fact *= i * (i-1)\n" -" num *= x * x\n" -" sign *= -1\n" -" s += num / fact * sign\n" -" getcontext().prec -= 2\n" -" return +s\n" -"\n" -"def sin(x):\n" -" \"\"\"Return the sine of x as measured in radians.\n" -"\n" -" The Taylor series approximation works best for a small value of x.\n" -" For larger values, first compute x = x % (2 * pi).\n" -"\n" -" >>> print(sin(Decimal('0.5')))\n" -" 0.4794255386042030002732879352\n" -" >>> print(sin(0.5))\n" -" 0.479425538604\n" -" >>> print(sin(0.5+0j))\n" -" (0.479425538604+0j)\n" -"\n" -" \"\"\"\n" -" getcontext().prec += 2\n" -" i, lasts, s, fact, num, sign = 1, 0, x, 1, x, 1\n" -" while s != lasts:\n" -" lasts = s\n" -" i += 2\n" -" fact *= i * (i-1)\n" -" num *= x * x\n" -" sign *= -1\n" -" s += num / fact * sign\n" -" getcontext().prec -= 2\n" -" return +s" -msgstr "" - -#: ../../library/decimal.rst:2089 -msgid "Decimal FAQ" -msgstr "" - -#: ../../library/decimal.rst:2091 -msgid "" -"Q. It is cumbersome to type ``decimal.Decimal('1234.5')``. Is there a way " -"to minimize typing when using the interactive interpreter?" -msgstr "" - -#: ../../library/decimal.rst:2094 -msgid "A. Some users abbreviate the constructor to just a single letter:" -msgstr "" - -#: ../../library/decimal.rst:2100 -msgid "" -"Q. In a fixed-point application with two decimal places, some inputs have " -"many places and need to be rounded. Others are not supposed to have excess " -"digits and need to be validated. What methods should be used?" -msgstr "" - -#: ../../library/decimal.rst:2104 -msgid "" -"A. The :meth:`~Decimal.quantize` method rounds to a fixed number of decimal " -"places. If the :const:`Inexact` trap is set, it is also useful for " -"validation:" -msgstr "" - -#: ../../library/decimal.rst:2122 -msgid "" -"Q. Once I have valid two place inputs, how do I maintain that invariant " -"throughout an application?" -msgstr "" - -#: ../../library/decimal.rst:2125 -msgid "" -"A. Some operations like addition, subtraction, and multiplication by an " -"integer will automatically preserve fixed point. Others operations, like " -"division and non-integer multiplication, will change the number of decimal " -"places and need to be followed-up with a :meth:`~Decimal.quantize` step:" -msgstr "" - -#: ../../library/decimal.rst:2143 -msgid "" -"In developing fixed-point applications, it is convenient to define functions" -" to handle the :meth:`~Decimal.quantize` step:" -msgstr "" - -#: ../../library/decimal.rst:2157 -msgid "" -"Q. There are many ways to express the same value. The numbers ``200``, " -"``200.000``, ``2E2``, and ``.02E+4`` all have the same value at various " -"precisions. Is there a way to transform them to a single recognizable " -"canonical value?" -msgstr "" - -#: ../../library/decimal.rst:2162 -msgid "" -"A. The :meth:`~Decimal.normalize` method maps all equivalent values to a " -"single representative:" -msgstr "" - -#: ../../library/decimal.rst:2169 -msgid "Q. When does rounding occur in a computation?" -msgstr "" - -#: ../../library/decimal.rst:2171 -msgid "" -"A. It occurs *after* the computation. The philosophy of the decimal " -"specification is that numbers are considered exact and are created " -"independent of the current context. They can even have greater precision " -"than current context. Computations process with those exact inputs and then" -" rounding (or other context operations) is applied to the *result* of the " -"computation::" -msgstr "" - -#: ../../library/decimal.rst:2178 -msgid "" -">>> getcontext().prec = 5\n" -">>> pi = Decimal('3.1415926535') # More than 5 digits\n" -">>> pi # All digits are retained\n" -"Decimal('3.1415926535')\n" -">>> pi + 0 # Rounded after an addition\n" -"Decimal('3.1416')\n" -">>> pi - Decimal('0.00005') # Subtract unrounded numbers, then round\n" -"Decimal('3.1415')\n" -">>> pi + 0 - Decimal('0.00005'). # Intermediate values are rounded\n" -"Decimal('3.1416')" -msgstr "" - -#: ../../library/decimal.rst:2189 -msgid "" -"Q. Some decimal values always print with exponential notation. Is there a " -"way to get a non-exponential representation?" -msgstr "" - -#: ../../library/decimal.rst:2192 -msgid "" -"A. For some values, exponential notation is the only way to express the " -"number of significant places in the coefficient. For example, expressing " -"``5.0E+3`` as ``5000`` keeps the value constant but cannot show the " -"original's two-place significance." -msgstr "" - -#: ../../library/decimal.rst:2197 -msgid "" -"If an application does not care about tracking significance, it is easy to " -"remove the exponent and trailing zeroes, losing significance, but keeping " -"the value unchanged:" -msgstr "" - -#: ../../library/decimal.rst:2207 -msgid "Q. Is there a way to convert a regular float to a :class:`Decimal`?" -msgstr "" - -#: ../../library/decimal.rst:2209 -msgid "" -"A. Yes, any binary floating-point number can be exactly expressed as a " -"Decimal though an exact conversion may take more precision than intuition " -"would suggest:" -msgstr "" - -#: ../../library/decimal.rst:2213 -msgid "" -">>> Decimal(math.pi)\n" -"Decimal('3.141592653589793115997963468544185161590576171875')" -msgstr "" - -#: ../../library/decimal.rst:2218 -msgid "" -"Q. Within a complex calculation, how can I make sure that I haven't gotten a" -" spurious result because of insufficient precision or rounding anomalies." -msgstr "" - -#: ../../library/decimal.rst:2221 -msgid "" -"A. The decimal module makes it easy to test results. A best practice is to " -"re-run calculations using greater precision and with various rounding modes." -" Widely differing results indicate insufficient precision, rounding mode " -"issues, ill-conditioned inputs, or a numerically unstable algorithm." -msgstr "" - -#: ../../library/decimal.rst:2226 -msgid "" -"Q. I noticed that context precision is applied to the results of operations " -"but not to the inputs. Is there anything to watch out for when mixing " -"values of different precisions?" -msgstr "" - -#: ../../library/decimal.rst:2230 -msgid "" -"A. Yes. The principle is that all values are considered to be exact and so " -"is the arithmetic on those values. Only the results are rounded. The " -"advantage for inputs is that \"what you type is what you get\". A " -"disadvantage is that the results can look odd if you forget that the inputs " -"haven't been rounded:" -msgstr "" - -#: ../../library/decimal.rst:2235 -msgid "" -">>> getcontext().prec = 3\n" -">>> Decimal('3.104') + Decimal('2.104')\n" -"Decimal('5.21')\n" -">>> Decimal('3.104') + Decimal('0.000') + Decimal('2.104')\n" -"Decimal('5.20')" -msgstr "" - -#: ../../library/decimal.rst:2243 -msgid "" -"The solution is either to increase precision or to force rounding of inputs " -"using the unary plus operation:" -msgstr "" - -#: ../../library/decimal.rst:2246 -msgid "" -">>> getcontext().prec = 3\n" -">>> +Decimal('1.23456789') # unary plus triggers rounding\n" -"Decimal('1.23')" -msgstr "" - -#: ../../library/decimal.rst:2252 -msgid "" -"Alternatively, inputs can be rounded upon creation using the " -":meth:`Context.create_decimal` method:" -msgstr "" - -#: ../../library/decimal.rst:2258 -msgid "Q. Is the CPython implementation fast for large numbers?" -msgstr "" - -#: ../../library/decimal.rst:2260 -msgid "" -"A. Yes. In the CPython and PyPy3 implementations, the C/CFFI versions of " -"the decimal module integrate the high speed `libmpdec " -"`_ library for " -"arbitrary precision correctly rounded decimal floating-point arithmetic " -"[#]_. ``libmpdec`` uses `Karatsuba multiplication " -"`_ for medium-sized " -"numbers and the `Number Theoretic Transform " -"`_ for very large numbers." -msgstr "" - -#: ../../library/decimal.rst:2270 -msgid "" -"The context must be adapted for exact arbitrary precision arithmetic. " -":attr:`~Context.Emin` and :attr:`~Context.Emax` should always be set to the " -"maximum values, :attr:`~Context.clamp` should always be 0 (the default). " -"Setting :attr:`~Context.prec` requires some care." -msgstr "" - -#: ../../library/decimal.rst:2274 -msgid "" -"The easiest approach for trying out bignum arithmetic is to use the maximum " -"value for :attr:`~Context.prec` as well [#]_::" -msgstr "" - -#: ../../library/decimal.rst:2277 -msgid "" -">>> setcontext(Context(prec=MAX_PREC, Emax=MAX_EMAX, Emin=MIN_EMIN))\n" -">>> x = Decimal(2) ** 256\n" -">>> x / 128\n" -"Decimal('904625697166532776746648320380374280103671755200316906558262375061821325312')" -msgstr "" - -#: ../../library/decimal.rst:2283 -msgid "" -"For inexact results, :const:`MAX_PREC` is far too large on 64-bit platforms " -"and the available memory will be insufficient::" -msgstr "" - -#: ../../library/decimal.rst:2286 -msgid "" -">>> Decimal(1) / 3\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"MemoryError" -msgstr "" - -#: ../../library/decimal.rst:2291 -msgid "" -"On systems with overallocation (e.g. Linux), a more sophisticated approach " -"is to adjust :attr:`~Context.prec` to the amount of available RAM. Suppose " -"that you have 8GB of RAM and expect 10 simultaneous operands using a maximum" -" of 500MB each::" -msgstr "" - -#: ../../library/decimal.rst:2295 -msgid "" -">>> import sys\n" -">>>\n" -">>> # Maximum number of digits for a single operand using 500MB in 8-byte words\n" -">>> # with 19 digits per word (4-byte and 9 digits for the 32-bit build):\n" -">>> maxdigits = 19 * ((500 * 1024**2) // 8)\n" -">>>\n" -">>> # Check that this works:\n" -">>> c = Context(prec=maxdigits, Emax=MAX_EMAX, Emin=MIN_EMIN)\n" -">>> c.traps[Inexact] = True\n" -">>> setcontext(c)\n" -">>>\n" -">>> # Fill the available precision with nines:\n" -">>> x = Decimal(0).logical_invert() * 9\n" -">>> sys.getsizeof(x)\n" -"524288112\n" -">>> x + 2\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" decimal.Inexact: []" -msgstr "" - -#: ../../library/decimal.rst:2315 -msgid "" -"In general (and especially on systems without overallocation), it is " -"recommended to estimate even tighter bounds and set the :attr:`Inexact` trap" -" if all calculations are expected to be exact." -msgstr "" - -#: ../../library/decimal.rst:2324 -msgid "" -"This approach now works for all exact results except for non-integer powers." -msgstr "" diff --git a/python-newest.library--development/id.po b/python-newest.library--development/id.po deleted file mode 100644 index 0e4e21c..0000000 --- a/python-newest.library--development/id.po +++ /dev/null @@ -1,40 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# LIQRGV , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: LIQRGV , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/development.rst:5 -msgid "Development Tools" -msgstr "Alat Pengembangan" - -#: ../../library/development.rst:7 -msgid "" -"The modules described in this chapter help you write software. For example," -" the :mod:`pydoc` module takes a module and generates documentation based on" -" the module's contents. The :mod:`doctest` and :mod:`unittest` modules " -"contains frameworks for writing unit tests that automatically exercise code " -"and verify that the expected output is produced." -msgstr "" - -#: ../../library/development.rst:13 -msgid "The list of modules described in this chapter is:" -msgstr "Daftar modul yang dijelaskan di dalam bab ini adalah:" diff --git a/python-newest.library--devmode/id.po b/python-newest.library--devmode/id.po deleted file mode 100644 index 1ae3d9b..0000000 --- a/python-newest.library--devmode/id.po +++ /dev/null @@ -1,384 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi (OonID) , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: oon arfiandwi (OonID) , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/devmode.rst:4 -msgid "Python Development Mode" -msgstr "" - -#: ../../library/devmode.rst:8 -msgid "" -"The Python Development Mode introduces additional runtime checks that are " -"too expensive to be enabled by default. It should not be more verbose than " -"the default if the code is correct; new warnings are only emitted when an " -"issue is detected." -msgstr "" - -#: ../../library/devmode.rst:13 -msgid "" -"It can be enabled using the :option:`-X dev <-X>` command line option or by " -"setting the :envvar:`PYTHONDEVMODE` environment variable to ``1``." -msgstr "" - -#: ../../library/devmode.rst:16 -msgid "See also :ref:`Python debug build `." -msgstr "" - -#: ../../library/devmode.rst:19 -msgid "Effects of the Python Development Mode" -msgstr "" - -#: ../../library/devmode.rst:21 -msgid "" -"Enabling the Python Development Mode is similar to the following command, " -"but with additional effects described below::" -msgstr "" - -#: ../../library/devmode.rst:24 -msgid "" -"PYTHONMALLOC=debug PYTHONASYNCIODEBUG=1 python -W default -X faulthandler" -msgstr "" - -#: ../../library/devmode.rst:26 -msgid "Effects of the Python Development Mode:" -msgstr "" - -#: ../../library/devmode.rst:28 -msgid "" -"Add ``default`` :ref:`warning filter `. The " -"following warnings are shown:" -msgstr "" - -#: ../../library/devmode.rst:31 -msgid ":exc:`DeprecationWarning`" -msgstr ":exc:`DeprecationWarning`" - -#: ../../library/devmode.rst:32 -msgid ":exc:`ImportWarning`" -msgstr ":exc:`ImportWarning`" - -#: ../../library/devmode.rst:33 -msgid ":exc:`PendingDeprecationWarning`" -msgstr ":exc:`PendingDeprecationWarning`" - -#: ../../library/devmode.rst:34 -msgid ":exc:`ResourceWarning`" -msgstr ":exc:`ResourceWarning`" - -#: ../../library/devmode.rst:36 -msgid "" -"Normally, the above warnings are filtered by the default :ref:`warning " -"filters `." -msgstr "" - -#: ../../library/devmode.rst:39 -msgid "" -"It behaves as if the :option:`-W default <-W>` command line option is used." -msgstr "" - -#: ../../library/devmode.rst:41 -msgid "" -"Use the :option:`-W error <-W>` command line option or set the " -":envvar:`PYTHONWARNINGS` environment variable to ``error`` to treat warnings" -" as errors." -msgstr "" - -#: ../../library/devmode.rst:45 -msgid "Install debug hooks on memory allocators to check for:" -msgstr "" - -#: ../../library/devmode.rst:47 -msgid "Buffer underflow" -msgstr "" - -#: ../../library/devmode.rst:48 -msgid "Buffer overflow" -msgstr "" - -#: ../../library/devmode.rst:49 -msgid "Memory allocator API violation" -msgstr "" - -#: ../../library/devmode.rst:50 -msgid "Unsafe usage of the GIL" -msgstr "" - -#: ../../library/devmode.rst:52 -msgid "See the :c:func:`PyMem_SetupDebugHooks` C function." -msgstr "" - -#: ../../library/devmode.rst:54 -msgid "" -"It behaves as if the :envvar:`PYTHONMALLOC` environment variable is set to " -"``debug``." -msgstr "" - -#: ../../library/devmode.rst:57 -msgid "" -"To enable the Python Development Mode without installing debug hooks on " -"memory allocators, set the :envvar:`PYTHONMALLOC` environment variable to " -"``default``." -msgstr "" - -#: ../../library/devmode.rst:61 -msgid "" -"Call :func:`faulthandler.enable` at Python startup to install handlers for " -"the :const:`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, " -":const:`~signal.SIGABRT`, :const:`~signal.SIGBUS` and " -":const:`~signal.SIGILL` signals to dump the Python traceback on a crash." -msgstr "" - -#: ../../library/devmode.rst:66 -msgid "" -"It behaves as if the :option:`-X faulthandler <-X>` command line option is " -"used or if the :envvar:`PYTHONFAULTHANDLER` environment variable is set to " -"``1``." -msgstr "" - -#: ../../library/devmode.rst:70 -msgid "" -"Enable :ref:`asyncio debug mode `. For example, " -":mod:`asyncio` checks for coroutines that were not awaited and logs them." -msgstr "" - -#: ../../library/devmode.rst:73 -msgid "" -"It behaves as if the :envvar:`PYTHONASYNCIODEBUG` environment variable is " -"set to ``1``." -msgstr "" - -#: ../../library/devmode.rst:76 -msgid "" -"Check the *encoding* and *errors* arguments for string encoding and decoding" -" operations. Examples: :func:`open`, :meth:`str.encode` and " -":meth:`bytes.decode`." -msgstr "" - -#: ../../library/devmode.rst:80 -msgid "" -"By default, for best performance, the *errors* argument is only checked at " -"the first encoding/decoding error and the *encoding* argument is sometimes " -"ignored for empty strings." -msgstr "" - -#: ../../library/devmode.rst:84 -msgid "The :class:`io.IOBase` destructor logs ``close()`` exceptions." -msgstr "" - -#: ../../library/devmode.rst:85 -msgid "" -"Set the :attr:`~sys.flags.dev_mode` attribute of :data:`sys.flags` to " -"``True``." -msgstr "" - -#: ../../library/devmode.rst:88 -msgid "" -"The Python Development Mode does not enable the :mod:`tracemalloc` module by" -" default, because the overhead cost (to performance and memory) would be too" -" large. Enabling the :mod:`tracemalloc` module provides additional " -"information on the origin of some errors. For example, " -":exc:`ResourceWarning` logs the traceback where the resource was allocated, " -"and a buffer overflow error logs the traceback where the memory block was " -"allocated." -msgstr "" - -#: ../../library/devmode.rst:95 -msgid "" -"The Python Development Mode does not prevent the :option:`-O` command line " -"option from removing :keyword:`assert` statements nor from setting " -":const:`__debug__` to ``False``." -msgstr "" - -#: ../../library/devmode.rst:99 -msgid "" -"The Python Development Mode can only be enabled at the Python startup. Its " -"value can be read from :data:`sys.flags.dev_mode `." -msgstr "" - -#: ../../library/devmode.rst:102 -msgid "The :class:`io.IOBase` destructor now logs ``close()`` exceptions." -msgstr "" - -#: ../../library/devmode.rst:105 -msgid "" -"The *encoding* and *errors* arguments are now checked for string encoding " -"and decoding operations." -msgstr "" - -#: ../../library/devmode.rst:111 -msgid "ResourceWarning Example" -msgstr "" - -#: ../../library/devmode.rst:113 -msgid "" -"Example of a script counting the number of lines of the text file specified " -"in the command line::" -msgstr "" - -#: ../../library/devmode.rst:116 -msgid "" -"import sys\n" -"\n" -"def main():\n" -" fp = open(sys.argv[1])\n" -" nlines = len(fp.readlines())\n" -" print(nlines)\n" -" # The file is closed implicitly\n" -"\n" -"if __name__ == \"__main__\":\n" -" main()" -msgstr "" - -#: ../../library/devmode.rst:127 -msgid "" -"The script does not close the file explicitly. By default, Python does not " -"emit any warning. Example using README.txt, which has 269 lines:" -msgstr "" - -#: ../../library/devmode.rst:130 -msgid "" -"$ python script.py README.txt\n" -"269" -msgstr "" - -#: ../../library/devmode.rst:135 -msgid "" -"Enabling the Python Development Mode displays a :exc:`ResourceWarning` " -"warning:" -msgstr "" - -#: ../../library/devmode.rst:137 -msgid "" -"$ python -X dev script.py README.txt\n" -"269\n" -"script.py:10: ResourceWarning: unclosed file <_io.TextIOWrapper name='README.rst' mode='r' encoding='UTF-8'>\n" -" main()\n" -"ResourceWarning: Enable tracemalloc to get the object allocation traceback" -msgstr "" - -#: ../../library/devmode.rst:145 -msgid "" -"In addition, enabling :mod:`tracemalloc` shows the line where the file was " -"opened:" -msgstr "" - -#: ../../library/devmode.rst:148 -msgid "" -"$ python -X dev -X tracemalloc=5 script.py README.rst\n" -"269\n" -"script.py:10: ResourceWarning: unclosed file <_io.TextIOWrapper name='README.rst' mode='r' encoding='UTF-8'>\n" -" main()\n" -"Object allocated at (most recent call last):\n" -" File \"script.py\", lineno 10\n" -" main()\n" -" File \"script.py\", lineno 4\n" -" fp = open(sys.argv[1])" -msgstr "" - -#: ../../library/devmode.rst:160 -msgid "" -"The fix is to close explicitly the file. Example using a context manager::" -msgstr "" - -#: ../../library/devmode.rst:162 -msgid "" -"def main():\n" -" # Close the file explicitly when exiting the with block\n" -" with open(sys.argv[1]) as fp:\n" -" nlines = len(fp.readlines())\n" -" print(nlines)" -msgstr "" - -#: ../../library/devmode.rst:168 -msgid "" -"Not closing a resource explicitly can leave a resource open for way longer " -"than expected; it can cause severe issues upon exiting Python. It is bad in " -"CPython, but it is even worse in PyPy. Closing resources explicitly makes an" -" application more deterministic and more reliable." -msgstr "" - -#: ../../library/devmode.rst:175 -msgid "Bad file descriptor error example" -msgstr "" - -#: ../../library/devmode.rst:177 -msgid "Script displaying the first line of itself::" -msgstr "" - -#: ../../library/devmode.rst:179 -msgid "" -"import os\n" -"\n" -"def main():\n" -" fp = open(__file__)\n" -" firstline = fp.readline()\n" -" print(firstline.rstrip())\n" -" os.close(fp.fileno())\n" -" # The file is closed implicitly\n" -"\n" -"main()" -msgstr "" - -#: ../../library/devmode.rst:190 -msgid "By default, Python does not emit any warning:" -msgstr "" - -#: ../../library/devmode.rst:192 -msgid "" -"$ python script.py\n" -"import os" -msgstr "" - -#: ../../library/devmode.rst:197 -msgid "" -"The Python Development Mode shows a :exc:`ResourceWarning` and logs a \"Bad " -"file descriptor\" error when finalizing the file object:" -msgstr "" - -#: ../../library/devmode.rst:200 -msgid "" -"$ python -X dev script.py\n" -"import os\n" -"script.py:10: ResourceWarning: unclosed file <_io.TextIOWrapper name='script.py' mode='r' encoding='UTF-8'>\n" -" main()\n" -"ResourceWarning: Enable tracemalloc to get the object allocation traceback\n" -"Exception ignored in: <_io.TextIOWrapper name='script.py' mode='r' encoding='UTF-8'>\n" -"Traceback (most recent call last):\n" -" File \"script.py\", line 10, in \n" -" main()\n" -"OSError: [Errno 9] Bad file descriptor" -msgstr "" - -#: ../../library/devmode.rst:213 -msgid "" -"``os.close(fp.fileno())`` closes the file descriptor. When the file object " -"finalizer tries to close the file descriptor again, it fails with the ``Bad " -"file descriptor`` error. A file descriptor must be closed only once. In the " -"worst case scenario, closing it twice can lead to a crash (see " -":issue:`18748` for an example)." -msgstr "" - -#: ../../library/devmode.rst:219 -msgid "" -"The fix is to remove the ``os.close(fp.fileno())`` line, or open the file " -"with ``closefd=False``." -msgstr "" diff --git a/python-newest.library--dialog/id.po b/python-newest.library--dialog/id.po deleted file mode 100644 index 2ae8326..0000000 --- a/python-newest.library--dialog/id.po +++ /dev/null @@ -1,287 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/dialog.rst:2 -msgid "Tkinter Dialogs" -msgstr "" - -#: ../../library/dialog.rst:5 -msgid ":mod:`tkinter.simpledialog` --- Standard Tkinter input dialogs" -msgstr "" - -#: ../../library/dialog.rst:11 -msgid "**Source code:** :source:`Lib/tkinter/simpledialog.py`" -msgstr "" - -#: ../../library/dialog.rst:15 -msgid "" -"The :mod:`tkinter.simpledialog` module contains convenience classes and " -"functions for creating simple modal dialogs to get a value from the user." -msgstr "" - -#: ../../library/dialog.rst:23 -msgid "" -"The above three functions provide dialogs that prompt the user to enter a " -"value of the desired type." -msgstr "" - -#: ../../library/dialog.rst:28 -msgid "The base class for custom dialogs." -msgstr "" - -#: ../../library/dialog.rst:32 -msgid "" -"Override to construct the dialog's interface and return the widget that " -"should have initial focus." -msgstr "" - -#: ../../library/dialog.rst:37 -msgid "" -"Default behaviour adds OK and Cancel buttons. Override for custom button " -"layouts." -msgstr "" - -#: ../../library/dialog.rst:43 -msgid ":mod:`tkinter.filedialog` --- File selection dialogs" -msgstr "" - -#: ../../library/dialog.rst:49 -msgid "**Source code:** :source:`Lib/tkinter/filedialog.py`" -msgstr "" - -#: ../../library/dialog.rst:53 -msgid "" -"The :mod:`tkinter.filedialog` module provides classes and factory functions " -"for creating file/directory selection windows." -msgstr "" - -#: ../../library/dialog.rst:57 -msgid "Native Load/Save Dialogs" -msgstr "" - -#: ../../library/dialog.rst:59 -msgid "" -"The following classes and functions provide file dialog windows that combine" -" a native look-and-feel with configuration options to customize behaviour. " -"The following keyword arguments are applicable to the classes and functions " -"listed below:" -msgstr "" - -#: ../../library/dialog.rst:0 -msgid "*parent* - the window to place the dialog on top of" -msgstr "" - -#: ../../library/dialog.rst:0 -msgid "*title* - the title of the window" -msgstr "" - -#: ../../library/dialog.rst:0 -msgid "*initialdir* - the directory that the dialog starts in" -msgstr "" - -#: ../../library/dialog.rst:0 -msgid "*initialfile* - the file selected upon opening of the dialog" -msgstr "" - -#: ../../library/dialog.rst:0 -msgid "" -"*filetypes* - a sequence of (label, pattern) tuples, '*' wildcard is allowed" -msgstr "" - -#: ../../library/dialog.rst:0 -msgid "" -"*defaultextension* - default extension to append to file (save dialogs)" -msgstr "" - -#: ../../library/dialog.rst:0 -msgid "*multiple* - when true, selection of multiple items is allowed" -msgstr "" - -#: ../../library/dialog.rst:79 -msgid "**Static factory functions**" -msgstr "" - -#: ../../library/dialog.rst:81 -msgid "" -"The below functions when called create a modal, native look-and-feel dialog," -" wait for the user's selection, then return the selected value(s) or " -"``None`` to the caller." -msgstr "" - -#: ../../library/dialog.rst:88 -msgid "" -"The above two functions create an :class:`Open` dialog and return the opened" -" file object(s) in read-only mode." -msgstr "" - -#: ../../library/dialog.rst:93 -msgid "" -"Create a :class:`SaveAs` dialog and return a file object opened in write-" -"only mode." -msgstr "" - -#: ../../library/dialog.rst:98 -msgid "" -"The above two functions create an :class:`Open` dialog and return the " -"selected filename(s) that correspond to existing file(s)." -msgstr "" - -#: ../../library/dialog.rst:103 -msgid "Create a :class:`SaveAs` dialog and return the selected filename." -msgstr "" - -#: ../../library/dialog.rst:107 -msgid "Prompt user to select a directory." -msgstr "" - -#: ../../library/dialog.rst:108 -msgid "Additional keyword option:" -msgstr "" - -#: ../../library/dialog.rst:109 -msgid "*mustexist* - determines if selection must be an existing directory." -msgstr "" - -#: ../../library/dialog.rst:114 -msgid "" -"The above two classes provide native dialog windows for saving and loading " -"files." -msgstr "" - -#: ../../library/dialog.rst:117 -msgid "**Convenience classes**" -msgstr "" - -#: ../../library/dialog.rst:119 -msgid "" -"The below classes are used for creating file/directory windows from scratch." -" These do not emulate the native look-and-feel of the platform." -msgstr "" - -#: ../../library/dialog.rst:124 -msgid "Create a dialog prompting the user to select a directory." -msgstr "" - -#: ../../library/dialog.rst:126 -msgid "" -"The *FileDialog* class should be subclassed for custom event handling and " -"behaviour." -msgstr "" - -#: ../../library/dialog.rst:131 -msgid "Create a basic file selection dialog." -msgstr "" - -#: ../../library/dialog.rst:135 -msgid "Trigger the termination of the dialog window." -msgstr "" - -#: ../../library/dialog.rst:139 -msgid "Event handler for double-click event on directory." -msgstr "" - -#: ../../library/dialog.rst:143 -msgid "Event handler for click event on directory." -msgstr "" - -#: ../../library/dialog.rst:147 -msgid "Event handler for double-click event on file." -msgstr "" - -#: ../../library/dialog.rst:151 -msgid "Event handler for single-click event on file." -msgstr "" - -#: ../../library/dialog.rst:155 -msgid "Filter the files by directory." -msgstr "" - -#: ../../library/dialog.rst:159 -msgid "Retrieve the file filter currently in use." -msgstr "" - -#: ../../library/dialog.rst:163 -msgid "Retrieve the currently selected item." -msgstr "" - -#: ../../library/dialog.rst:167 -msgid "Render dialog and start event loop." -msgstr "" - -#: ../../library/dialog.rst:171 -msgid "Exit dialog returning current selection." -msgstr "" - -#: ../../library/dialog.rst:175 -msgid "Exit dialog returning filename, if any." -msgstr "" - -#: ../../library/dialog.rst:179 -msgid "Set the file filter." -msgstr "" - -#: ../../library/dialog.rst:183 -msgid "Update the current file selection to *file*." -msgstr "" - -#: ../../library/dialog.rst:188 -msgid "" -"A subclass of FileDialog that creates a dialog window for selecting an " -"existing file." -msgstr "" - -#: ../../library/dialog.rst:193 -msgid "" -"Test that a file is provided and that the selection indicates an already " -"existing file." -msgstr "" - -#: ../../library/dialog.rst:198 -msgid "" -"A subclass of FileDialog that creates a dialog window for selecting a " -"destination file." -msgstr "" - -#: ../../library/dialog.rst:203 -msgid "" -"Test whether or not the selection points to a valid file that is not a " -"directory. Confirmation is required if an already existing file is selected." -msgstr "" - -#: ../../library/dialog.rst:208 -msgid ":mod:`tkinter.commondialog` --- Dialog window templates" -msgstr "" - -#: ../../library/dialog.rst:214 -msgid "**Source code:** :source:`Lib/tkinter/commondialog.py`" -msgstr "" - -#: ../../library/dialog.rst:218 -msgid "" -"The :mod:`tkinter.commondialog` module provides the :class:`Dialog` class " -"that is the base class for dialogs defined in other supporting modules." -msgstr "" - -#: ../../library/dialog.rst:225 -msgid "Render the Dialog window." -msgstr "" - -#: ../../library/dialog.rst:230 -msgid "Modules :mod:`tkinter.messagebox`, :ref:`tut-files`" -msgstr "" diff --git a/python-newest.library--difflib/id.po b/python-newest.library--difflib/id.po deleted file mode 100644 index 4fa8bb6..0000000 --- a/python-newest.library--difflib/id.po +++ /dev/null @@ -1,1055 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Elmo , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Elmo , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/difflib.rst:2 -msgid ":mod:`!difflib` --- Helpers for computing deltas" -msgstr "" - -#: ../../library/difflib.rst:11 -msgid "**Source code:** :source:`Lib/difflib.py`" -msgstr "" - -#: ../../library/difflib.rst:20 -msgid "" -"This module provides classes and functions for comparing sequences. It can " -"be used for example, for comparing files, and can produce information about " -"file differences in various formats, including HTML and context and unified " -"diffs. For comparing directories and files, see also, the :mod:`filecmp` " -"module." -msgstr "" - -#: ../../library/difflib.rst:29 -msgid "" -"This is a flexible class for comparing pairs of sequences of any type, so " -"long as the sequence elements are :term:`hashable`. The basic algorithm " -"predates, and is a little fancier than, an algorithm published in the late " -"1980's by Ratcliff and Obershelp under the hyperbolic name \"gestalt pattern" -" matching.\" The idea is to find the longest contiguous matching " -"subsequence that contains no \"junk\" elements; these \"junk\" elements are " -"ones that are uninteresting in some sense, such as blank lines or " -"whitespace. (Handling junk is an extension to the Ratcliff and Obershelp " -"algorithm.) The same idea is then applied recursively to the pieces of the " -"sequences to the left and to the right of the matching subsequence. This " -"does not yield minimal edit sequences, but does tend to yield matches that " -"\"look right\" to people." -msgstr "" - -#: ../../library/difflib.rst:41 -msgid "" -"**Timing:** The basic Ratcliff-Obershelp algorithm is cubic time in the " -"worst case and quadratic time in the expected case. :class:`SequenceMatcher`" -" is quadratic time for the worst case and has expected-case behavior " -"dependent in a complicated way on how many elements the sequences have in " -"common; best case time is linear." -msgstr "" - -#: ../../library/difflib.rst:47 -msgid "" -"**Automatic junk heuristic:** :class:`SequenceMatcher` supports a heuristic " -"that automatically treats certain sequence items as junk. The heuristic " -"counts how many times each individual item appears in the sequence. If an " -"item's duplicates (after the first one) account for more than 1% of the " -"sequence and the sequence is at least 200 items long, this item is marked as" -" \"popular\" and is treated as junk for the purpose of sequence matching. " -"This heuristic can be turned off by setting the ``autojunk`` argument to " -"``False`` when creating the :class:`SequenceMatcher`." -msgstr "" - -#: ../../library/difflib.rst:55 ../../library/difflib.rst:386 -msgid "Added the *autojunk* parameter." -msgstr "" - -#: ../../library/difflib.rst:61 -msgid "" -"This is a class for comparing sequences of lines of text, and producing " -"human-readable differences or deltas. Differ uses :class:`SequenceMatcher` " -"both to compare sequences of lines, and to compare sequences of characters " -"within similar (near-matching) lines." -msgstr "" - -#: ../../library/difflib.rst:66 -msgid "Each line of a :class:`Differ` delta begins with a two-letter code:" -msgstr "" - -#: ../../library/difflib.rst:69 -msgid "Code" -msgstr "Kode" - -#: ../../library/difflib.rst:69 ../../library/difflib.rst:496 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/difflib.rst:71 -msgid "``'- '``" -msgstr "" - -#: ../../library/difflib.rst:71 -msgid "line unique to sequence 1" -msgstr "" - -#: ../../library/difflib.rst:73 -msgid "``'+ '``" -msgstr "" - -#: ../../library/difflib.rst:73 -msgid "line unique to sequence 2" -msgstr "" - -#: ../../library/difflib.rst:75 -msgid "``' '``" -msgstr "" - -#: ../../library/difflib.rst:75 -msgid "line common to both sequences" -msgstr "" - -#: ../../library/difflib.rst:77 -msgid "``'? '``" -msgstr "" - -#: ../../library/difflib.rst:77 -msgid "line not present in either input sequence" -msgstr "" - -#: ../../library/difflib.rst:80 -msgid "" -"Lines beginning with '``?``' attempt to guide the eye to intraline " -"differences, and were not present in either input sequence. These lines can " -"be confusing if the sequences contain whitespace characters, such as spaces," -" tabs or line breaks." -msgstr "" - -#: ../../library/difflib.rst:87 -msgid "" -"This class can be used to create an HTML table (or a complete HTML file " -"containing the table) showing a side by side, line by line comparison of " -"text with inter-line and intra-line change highlights. The table can be " -"generated in either full or contextual difference mode." -msgstr "" - -#: ../../library/difflib.rst:92 -msgid "The constructor for this class is:" -msgstr "" - -#: ../../library/difflib.rst:97 -msgid "Initializes instance of :class:`HtmlDiff`." -msgstr "" - -#: ../../library/difflib.rst:99 -msgid "" -"*tabsize* is an optional keyword argument to specify tab stop spacing and " -"defaults to ``8``." -msgstr "" - -#: ../../library/difflib.rst:102 -msgid "" -"*wrapcolumn* is an optional keyword to specify column number where lines are" -" broken and wrapped, defaults to ``None`` where lines are not wrapped." -msgstr "" - -#: ../../library/difflib.rst:105 -msgid "" -"*linejunk* and *charjunk* are optional keyword arguments passed into " -":func:`ndiff` (used by :class:`HtmlDiff` to generate the side by side HTML " -"differences). See :func:`ndiff` documentation for argument default values " -"and descriptions." -msgstr "" - -#: ../../library/difflib.rst:109 -msgid "The following methods are public:" -msgstr "" - -#: ../../library/difflib.rst:114 -msgid "" -"Compares *fromlines* and *tolines* (lists of strings) and returns a string " -"which is a complete HTML file containing a table showing line by line " -"differences with inter-line and intra-line changes highlighted." -msgstr "" - -#: ../../library/difflib.rst:118 -msgid "" -"*fromdesc* and *todesc* are optional keyword arguments to specify from/to " -"file column header strings (both default to an empty string)." -msgstr "" - -#: ../../library/difflib.rst:121 -msgid "" -"*context* and *numlines* are both optional keyword arguments. Set *context* " -"to ``True`` when contextual differences are to be shown, else the default is" -" ``False`` to show the full files. *numlines* defaults to ``5``. When " -"*context* is ``True`` *numlines* controls the number of context lines which " -"surround the difference highlights. When *context* is ``False`` *numlines* " -"controls the number of lines which are shown before a difference highlight " -"when using the \"next\" hyperlinks (setting to zero would cause the \"next\"" -" hyperlinks to place the next difference highlight at the top of the browser" -" without any leading context)." -msgstr "" - -#: ../../library/difflib.rst:132 -msgid "" -"*fromdesc* and *todesc* are interpreted as unescaped HTML and should be " -"properly escaped while receiving input from untrusted sources." -msgstr "" - -#: ../../library/difflib.rst:135 -msgid "" -"*charset* keyword-only argument was added. The default charset of HTML " -"document changed from ``'ISO-8859-1'`` to ``'utf-8'``." -msgstr "" - -#: ../../library/difflib.rst:141 -msgid "" -"Compares *fromlines* and *tolines* (lists of strings) and returns a string " -"which is a complete HTML table showing line by line differences with inter-" -"line and intra-line changes highlighted." -msgstr "" - -#: ../../library/difflib.rst:145 -msgid "" -"The arguments for this method are the same as those for the " -":meth:`make_file` method." -msgstr "" - -#: ../../library/difflib.rst:152 -msgid "" -"Compare *a* and *b* (lists of strings); return a delta (a :term:`generator` " -"generating the delta lines) in context diff format." -msgstr "" - -#: ../../library/difflib.rst:155 -msgid "" -"Context diffs are a compact way of showing just the lines that have changed " -"plus a few lines of context. The changes are shown in a before/after style." -" The number of context lines is set by *n* which defaults to three." -msgstr "" - -#: ../../library/difflib.rst:159 -msgid "" -"By default, the diff control lines (those with ``***`` or ``---``) are " -"created with a trailing newline. This is helpful so that inputs created " -"from :func:`io.IOBase.readlines` result in diffs that are suitable for use " -"with :func:`io.IOBase.writelines` since both the inputs and outputs have " -"trailing newlines." -msgstr "" - -#: ../../library/difflib.rst:165 ../../library/difflib.rst:297 -msgid "" -"For inputs that do not have trailing newlines, set the *lineterm* argument " -"to ``\"\"`` so that the output will be uniformly newline free." -msgstr "" - -#: ../../library/difflib.rst:168 -msgid "" -"The context diff format normally has a header for filenames and modification" -" times. Any or all of these may be specified using strings for *fromfile*, " -"*tofile*, *fromfiledate*, and *tofiledate*. The modification times are " -"normally expressed in the ISO 8601 format. If not specified, the strings " -"default to blanks." -msgstr "" - -#: ../../library/difflib.rst:194 ../../library/difflib.rst:320 -msgid "See :ref:`difflib-interface` for a more detailed example." -msgstr "" - -#: ../../library/difflib.rst:199 -msgid "" -"Return a list of the best \"good enough\" matches. *word* is a sequence for" -" which close matches are desired (typically a string), and *possibilities* " -"is a list of sequences against which to match *word* (typically a list of " -"strings)." -msgstr "" - -#: ../../library/difflib.rst:203 -msgid "" -"Optional argument *n* (default ``3``) is the maximum number of close matches" -" to return; *n* must be greater than ``0``." -msgstr "" - -#: ../../library/difflib.rst:206 -msgid "" -"Optional argument *cutoff* (default ``0.6``) is a float in the range [0, 1]." -" Possibilities that don't score at least that similar to *word* are ignored." -msgstr "" - -#: ../../library/difflib.rst:209 -msgid "" -"The best (no more than *n*) matches among the possibilities are returned in " -"a list, sorted by similarity score, most similar first." -msgstr "" - -#: ../../library/difflib.rst:225 -msgid "" -"Compare *a* and *b* (lists of strings); return a :class:`Differ`\\ -style " -"delta (a :term:`generator` generating the delta lines)." -msgstr "" - -#: ../../library/difflib.rst:228 -msgid "" -"Optional keyword parameters *linejunk* and *charjunk* are filtering " -"functions (or ``None``):" -msgstr "" - -#: ../../library/difflib.rst:231 -msgid "" -"*linejunk*: A function that accepts a single string argument, and returns " -"true if the string is junk, or false if not. The default is ``None``. There " -"is also a module-level function :func:`IS_LINE_JUNK`, which filters out " -"lines without visible characters, except for at most one pound character " -"(``'#'``) -- however the underlying :class:`SequenceMatcher` class does a " -"dynamic analysis of which lines are so frequent as to constitute noise, and " -"this usually works better than using this function." -msgstr "" - -#: ../../library/difflib.rst:239 -msgid "" -"*charjunk*: A function that accepts a character (a string of length 1), and " -"returns if the character is junk, or false if not. The default is module-" -"level function :func:`IS_CHARACTER_JUNK`, which filters out whitespace " -"characters (a blank or tab; it's a bad idea to include newline in this!)." -msgstr "" - -#: ../../library/difflib.rst:260 -msgid "Return one of the two sequences that generated a delta." -msgstr "" - -#: ../../library/difflib.rst:262 -msgid "" -"Given a *sequence* produced by :meth:`Differ.compare` or :func:`ndiff`, " -"extract lines originating from file 1 or 2 (parameter *which*), stripping " -"off line prefixes." -msgstr "" - -#: ../../library/difflib.rst:266 -msgid "Example:" -msgstr "Contoh:" - -#: ../../library/difflib.rst:283 -msgid "" -"Compare *a* and *b* (lists of strings); return a delta (a :term:`generator` " -"generating the delta lines) in unified diff format." -msgstr "" - -#: ../../library/difflib.rst:286 -msgid "" -"Unified diffs are a compact way of showing just the lines that have changed " -"plus a few lines of context. The changes are shown in an inline style " -"(instead of separate before/after blocks). The number of context lines is " -"set by *n* which defaults to three." -msgstr "" - -#: ../../library/difflib.rst:291 -msgid "" -"By default, the diff control lines (those with ``---``, ``+++``, or ``@@``) " -"are created with a trailing newline. This is helpful so that inputs created" -" from :func:`io.IOBase.readlines` result in diffs that are suitable for use " -"with :func:`io.IOBase.writelines` since both the inputs and outputs have " -"trailing newlines." -msgstr "" - -#: ../../library/difflib.rst:300 -msgid "" -"The unified diff format normally has a header for filenames and modification" -" times. Any or all of these may be specified using strings for *fromfile*, " -"*tofile*, *fromfiledate*, and *tofiledate*. The modification times are " -"normally expressed in the ISO 8601 format. If not specified, the strings " -"default to blanks." -msgstr "" - -#: ../../library/difflib.rst:324 -msgid "" -"Compare *a* and *b* (lists of bytes objects) using *dfunc*; yield a sequence" -" of delta lines (also bytes) in the format returned by *dfunc*. *dfunc* must" -" be a callable, typically either :func:`unified_diff` or " -":func:`context_diff`." -msgstr "" - -#: ../../library/difflib.rst:329 -msgid "" -"Allows you to compare data with unknown or inconsistent encoding. All inputs" -" except *n* must be bytes objects, not str. Works by losslessly converting " -"all inputs (except *n*) to str, and calling ``dfunc(a, b, fromfile, tofile, " -"fromfiledate, tofiledate, n, lineterm)``. The output of *dfunc* is then " -"converted back to bytes, so the delta lines that you receive have the same " -"unknown/inconsistent encodings as *a* and *b*." -msgstr "" - -#: ../../library/difflib.rst:340 -msgid "" -"Return ``True`` for ignorable lines. The line *line* is ignorable if *line*" -" is blank or contains a single ``'#'``, otherwise it is not ignorable. Used" -" as a default for parameter *linejunk* in :func:`ndiff` in older versions." -msgstr "" - -#: ../../library/difflib.rst:347 -msgid "" -"Return ``True`` for ignorable characters. The character *ch* is ignorable " -"if *ch* is a space or tab, otherwise it is not ignorable. Used as a default" -" for parameter *charjunk* in :func:`ndiff`." -msgstr "" - -#: ../../library/difflib.rst:354 -msgid "" -"`Pattern Matching: The Gestalt Approach " -"`_" -msgstr "" - -#: ../../library/difflib.rst:355 -msgid "" -"Discussion of a similar algorithm by John W. Ratcliff and D. E. Metzener. " -"This was published in `Dr. Dobb's Journal `_ in " -"July, 1988." -msgstr "" - -#: ../../library/difflib.rst:362 -msgid "SequenceMatcher Objects" -msgstr "" - -#: ../../library/difflib.rst:364 -msgid "The :class:`SequenceMatcher` class has this constructor:" -msgstr "" - -#: ../../library/difflib.rst:369 -msgid "" -"Optional argument *isjunk* must be ``None`` (the default) or a one-argument " -"function that takes a sequence element and returns true if and only if the " -"element is \"junk\" and should be ignored. Passing ``None`` for *isjunk* is " -"equivalent to passing ``lambda x: False``; in other words, no elements are " -"ignored. For example, pass::" -msgstr "" - -#: ../../library/difflib.rst:375 -msgid "lambda x: x in \" \\t\"" -msgstr "" - -#: ../../library/difflib.rst:377 -msgid "" -"if you're comparing lines as sequences of characters, and don't want to " -"synch up on blanks or hard tabs." -msgstr "" - -#: ../../library/difflib.rst:380 -msgid "" -"The optional arguments *a* and *b* are sequences to be compared; both " -"default to empty strings. The elements of both sequences must be " -":term:`hashable`." -msgstr "" - -#: ../../library/difflib.rst:383 -msgid "" -"The optional argument *autojunk* can be used to disable the automatic junk " -"heuristic." -msgstr "" - -#: ../../library/difflib.rst:389 -msgid "" -"SequenceMatcher objects get three data attributes: *bjunk* is the set of " -"elements of *b* for which *isjunk* is ``True``; *bpopular* is the set of " -"non-junk elements considered popular by the heuristic (if it is not " -"disabled); *b2j* is a dict mapping the remaining elements of *b* to a list " -"of positions where they occur. All three are reset whenever *b* is reset " -"with :meth:`set_seqs` or :meth:`set_seq2`." -msgstr "" - -#: ../../library/difflib.rst:396 -msgid "The *bjunk* and *bpopular* attributes." -msgstr "" - -#: ../../library/difflib.rst:399 -msgid ":class:`SequenceMatcher` objects have the following methods:" -msgstr "" - -#: ../../library/difflib.rst:403 -msgid "Set the two sequences to be compared." -msgstr "" - -#: ../../library/difflib.rst:405 -msgid "" -":class:`SequenceMatcher` computes and caches detailed information about the " -"second sequence, so if you want to compare one sequence against many " -"sequences, use :meth:`set_seq2` to set the commonly used sequence once and " -"call :meth:`set_seq1` repeatedly, once for each of the other sequences." -msgstr "" - -#: ../../library/difflib.rst:413 -msgid "" -"Set the first sequence to be compared. The second sequence to be compared " -"is not changed." -msgstr "" - -#: ../../library/difflib.rst:419 -msgid "" -"Set the second sequence to be compared. The first sequence to be compared " -"is not changed." -msgstr "" - -#: ../../library/difflib.rst:425 -msgid "Find longest matching block in ``a[alo:ahi]`` and ``b[blo:bhi]``." -msgstr "" - -#: ../../library/difflib.rst:427 -msgid "" -"If *isjunk* was omitted or ``None``, :meth:`find_longest_match` returns " -"``(i, j, k)`` such that ``a[i:i+k]`` is equal to ``b[j:j+k]``, where ``alo " -"<= i <= i+k <= ahi`` and ``blo <= j <= j+k <= bhi``. For all ``(i', j', " -"k')`` meeting those conditions, the additional conditions ``k >= k'``, ``i " -"<= i'``, and if ``i == i'``, ``j <= j'`` are also met. In other words, of " -"all maximal matching blocks, return one that starts earliest in *a*, and of " -"all those maximal matching blocks that start earliest in *a*, return the one" -" that starts earliest in *b*." -msgstr "" - -#: ../../library/difflib.rst:440 -msgid "" -"If *isjunk* was provided, first the longest matching block is determined as " -"above, but with the additional restriction that no junk element appears in " -"the block. Then that block is extended as far as possible by matching " -"(only) junk elements on both sides. So the resulting block never matches on " -"junk except as identical junk happens to be adjacent to an interesting " -"match." -msgstr "" - -#: ../../library/difflib.rst:447 -msgid "" -"Here's the same example as before, but considering blanks to be junk. That " -"prevents ``' abcd'`` from matching the ``' abcd'`` at the tail end of the " -"second sequence directly. Instead only the ``'abcd'`` can match, and " -"matches the leftmost ``'abcd'`` in the second sequence:" -msgstr "" - -#: ../../library/difflib.rst:456 -msgid "If no blocks match, this returns ``(alo, blo, 0)``." -msgstr "" - -#: ../../library/difflib.rst:458 -msgid "This method returns a :term:`named tuple` ``Match(a, b, size)``." -msgstr "" - -#: ../../library/difflib.rst:460 -msgid "Added default arguments." -msgstr "" - -#: ../../library/difflib.rst:466 -msgid "" -"Return list of triples describing non-overlapping matching subsequences. " -"Each triple is of the form ``(i, j, n)``, and means that ``a[i:i+n] == " -"b[j:j+n]``. The triples are monotonically increasing in *i* and *j*." -msgstr "" - -#: ../../library/difflib.rst:471 -msgid "" -"The last triple is a dummy, and has the value ``(len(a), len(b), 0)``. It " -"is the only triple with ``n == 0``. If ``(i, j, n)`` and ``(i', j', n')`` " -"are adjacent triples in the list, and the second is not the last triple in " -"the list, then ``i+n < i'`` or ``j+n < j'``; in other words, adjacent " -"triples always describe non-adjacent equal blocks." -msgstr "" - -#: ../../library/difflib.rst:479 -msgid "" -">>> s = SequenceMatcher(None, \"abxcd\", \"abcd\")\n" -">>> s.get_matching_blocks()\n" -"[Match(a=0, b=0, size=2), Match(a=3, b=2, size=2), Match(a=5, b=4, size=0)]" -msgstr "" - -#: ../../library/difflib.rst:488 -msgid "" -"Return list of 5-tuples describing how to turn *a* into *b*. Each tuple is " -"of the form ``(tag, i1, i2, j1, j2)``. The first tuple has ``i1 == j1 == " -"0``, and remaining tuples have *i1* equal to the *i2* from the preceding " -"tuple, and, likewise, *j1* equal to the previous *j2*." -msgstr "" - -#: ../../library/difflib.rst:493 -msgid "The *tag* values are strings, with these meanings:" -msgstr "" - -#: ../../library/difflib.rst:496 -msgid "Value" -msgstr "Nilai" - -#: ../../library/difflib.rst:498 -msgid "``'replace'``" -msgstr "``'replace'``" - -#: ../../library/difflib.rst:498 -msgid "``a[i1:i2]`` should be replaced by ``b[j1:j2]``." -msgstr "" - -#: ../../library/difflib.rst:501 -msgid "``'delete'``" -msgstr "" - -#: ../../library/difflib.rst:501 -msgid "``a[i1:i2]`` should be deleted. Note that ``j1 == j2`` in this case." -msgstr "" - -#: ../../library/difflib.rst:504 -msgid "``'insert'``" -msgstr "" - -#: ../../library/difflib.rst:504 -msgid "" -"``b[j1:j2]`` should be inserted at ``a[i1:i1]``. Note that ``i1 == i2`` in " -"this case." -msgstr "" - -#: ../../library/difflib.rst:508 -msgid "``'equal'``" -msgstr "" - -#: ../../library/difflib.rst:508 -msgid "``a[i1:i2] == b[j1:j2]`` (the sub-sequences are equal)." -msgstr "" - -#: ../../library/difflib.rst:512 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../library/difflib.rst:514 -msgid "" -">>> a = \"qabxcd\"\n" -">>> b = \"abycdf\"\n" -">>> s = SequenceMatcher(None, a, b)\n" -">>> for tag, i1, i2, j1, j2 in s.get_opcodes():\n" -"... print('{:7} a[{}:{}] --> b[{}:{}] {!r:>8} --> {!r}'.format(\n" -"... tag, i1, i2, j1, j2, a[i1:i2], b[j1:j2]))\n" -"delete a[0:1] --> b[0:0] 'q' --> ''\n" -"equal a[1:3] --> b[0:2] 'ab' --> 'ab'\n" -"replace a[3:4] --> b[2:3] 'x' --> 'y'\n" -"equal a[4:6] --> b[3:5] 'cd' --> 'cd'\n" -"insert a[6:6] --> b[5:6] '' --> 'f'" -msgstr "" - -#: ../../library/difflib.rst:529 -msgid "Return a :term:`generator` of groups with up to *n* lines of context." -msgstr "" - -#: ../../library/difflib.rst:531 -msgid "" -"Starting with the groups returned by :meth:`get_opcodes`, this method splits" -" out smaller change clusters and eliminates intervening ranges which have no" -" changes." -msgstr "" - -#: ../../library/difflib.rst:535 -msgid "The groups are returned in the same format as :meth:`get_opcodes`." -msgstr "" - -#: ../../library/difflib.rst:540 -msgid "" -"Return a measure of the sequences' similarity as a float in the range [0, " -"1]." -msgstr "" - -#: ../../library/difflib.rst:543 -msgid "" -"Where T is the total number of elements in both sequences, and M is the " -"number of matches, this is 2.0\\*M / T. Note that this is ``1.0`` if the " -"sequences are identical, and ``0.0`` if they have nothing in common." -msgstr "" - -#: ../../library/difflib.rst:547 -msgid "" -"This is expensive to compute if :meth:`get_matching_blocks` or " -":meth:`get_opcodes` hasn't already been called, in which case you may want " -"to try :meth:`quick_ratio` or :meth:`real_quick_ratio` first to get an upper" -" bound." -msgstr "" - -#: ../../library/difflib.rst:554 -msgid "" -"Caution: The result of a :meth:`ratio` call may depend on the order of the " -"arguments. For instance::" -msgstr "" - -#: ../../library/difflib.rst:557 -msgid "" -">>> SequenceMatcher(None, 'tide', 'diet').ratio()\n" -"0.25\n" -">>> SequenceMatcher(None, 'diet', 'tide').ratio()\n" -"0.5" -msgstr "" - -#: ../../library/difflib.rst:565 -msgid "Return an upper bound on :meth:`ratio` relatively quickly." -msgstr "" - -#: ../../library/difflib.rst:570 -msgid "Return an upper bound on :meth:`ratio` very quickly." -msgstr "" - -#: ../../library/difflib.rst:573 -msgid "" -"The three methods that return the ratio of matching to total characters can " -"give different results due to differing levels of approximation, although " -":meth:`~SequenceMatcher.quick_ratio` and " -":meth:`~SequenceMatcher.real_quick_ratio` are always at least as large as " -":meth:`~SequenceMatcher.ratio`:" -msgstr "" - -#: ../../library/difflib.rst:590 -msgid "SequenceMatcher Examples" -msgstr "" - -#: ../../library/difflib.rst:592 -msgid "This example compares two strings, considering blanks to be \"junk\":" -msgstr "" - -#: ../../library/difflib.rst:598 -msgid "" -":meth:`~SequenceMatcher.ratio` returns a float in [0, 1], measuring the " -"similarity of the sequences. As a rule of thumb, a " -":meth:`~SequenceMatcher.ratio` value over 0.6 means the sequences are close " -"matches:" -msgstr "" - -#: ../../library/difflib.rst:605 -msgid "" -"If you're only interested in where the sequences match, " -":meth:`~SequenceMatcher.get_matching_blocks` is handy:" -msgstr "" - -#: ../../library/difflib.rst:614 -msgid "" -"Note that the last tuple returned by " -":meth:`~SequenceMatcher.get_matching_blocks` is always a dummy, ``(len(a), " -"len(b), 0)``, and this is the only case in which the last tuple element " -"(number of elements matched) is ``0``." -msgstr "" - -#: ../../library/difflib.rst:618 -msgid "" -"If you want to know how to change the first sequence into the second, use " -":meth:`~SequenceMatcher.get_opcodes`:" -msgstr "" - -#: ../../library/difflib.rst:629 -msgid "" -"The :func:`get_close_matches` function in this module which shows how simple" -" code building on :class:`SequenceMatcher` can be used to do useful work." -msgstr "" - -#: ../../library/difflib.rst:633 -msgid "" -"`Simple version control recipe " -"`_ for " -"a small application built with :class:`SequenceMatcher`." -msgstr "" - -#: ../../library/difflib.rst:641 -msgid "Differ Objects" -msgstr "" - -#: ../../library/difflib.rst:643 -msgid "" -"Note that :class:`Differ`\\ -generated deltas make no claim to be " -"**minimal** diffs. To the contrary, minimal diffs are often counter-" -"intuitive, because they synch up anywhere possible, sometimes accidental " -"matches 100 pages apart. Restricting synch points to contiguous matches " -"preserves some notion of locality, at the occasional cost of producing a " -"longer diff." -msgstr "" - -#: ../../library/difflib.rst:649 -msgid "The :class:`Differ` class has this constructor:" -msgstr "" - -#: ../../library/difflib.rst:655 -msgid "" -"Optional keyword parameters *linejunk* and *charjunk* are for filter " -"functions (or ``None``):" -msgstr "" - -#: ../../library/difflib.rst:658 -msgid "" -"*linejunk*: A function that accepts a single string argument, and returns " -"true if the string is junk. The default is ``None``, meaning that no line " -"is considered junk." -msgstr "" - -#: ../../library/difflib.rst:662 -msgid "" -"*charjunk*: A function that accepts a single character argument (a string of" -" length 1), and returns true if the character is junk. The default is " -"``None``, meaning that no character is considered junk." -msgstr "" - -#: ../../library/difflib.rst:666 -msgid "" -"These junk-filtering functions speed up matching to find differences and do " -"not cause any differing lines or characters to be ignored. Read the " -"description of the :meth:`~SequenceMatcher.find_longest_match` method's " -"*isjunk* parameter for an explanation." -msgstr "" - -#: ../../library/difflib.rst:672 -msgid "" -":class:`Differ` objects are used (deltas generated) via a single method:" -msgstr "" - -#: ../../library/difflib.rst:677 -msgid "" -"Compare two sequences of lines, and generate the delta (a sequence of " -"lines)." -msgstr "" - -#: ../../library/difflib.rst:679 -msgid "" -"Each sequence must contain individual single-line strings ending with " -"newlines. Such sequences can be obtained from the " -":meth:`~io.IOBase.readlines` method of file-like objects. The delta " -"generated also consists of newline-terminated strings, ready to be printed " -"as-is via the :meth:`~io.IOBase.writelines` method of a file-like object." -msgstr "" - -#: ../../library/difflib.rst:690 -msgid "Differ Example" -msgstr "" - -#: ../../library/difflib.rst:692 -msgid "" -"This example compares two texts. First we set up the texts, sequences of " -"individual single-line strings ending with newlines (such sequences can also" -" be obtained from the :meth:`~io.IOBase.readlines` method of file-like " -"objects):" -msgstr "" - -#: ../../library/difflib.rst:711 -msgid "Next we instantiate a Differ object:" -msgstr "" - -#: ../../library/difflib.rst:715 -msgid "" -"Note that when instantiating a :class:`Differ` object we may pass functions " -"to filter out line and character \"junk.\" See the :meth:`Differ` " -"constructor for details." -msgstr "" - -#: ../../library/difflib.rst:719 -msgid "Finally, we compare the two:" -msgstr "" - -#: ../../library/difflib.rst:723 -msgid "``result`` is a list of strings, so let's pretty-print it:" -msgstr "" - -#: ../../library/difflib.rst:738 -msgid "As a single multi-line string it looks like this:" -msgstr "" - -#: ../../library/difflib.rst:757 -msgid "A command-line interface to difflib" -msgstr "" - -#: ../../library/difflib.rst:759 -msgid "" -"This example shows how to use difflib to create a ``diff``-like utility." -msgstr "" - -#: ../../library/difflib.rst:761 -msgid "" -"\"\"\" Command line interface to difflib.py providing diffs in four formats:\n" -"\n" -"* ndiff: lists every line and highlights interline changes.\n" -"* context: highlights clusters of changes in a before/after format.\n" -"* unified: highlights clusters of changes in an inline format.\n" -"* html: generates side by side comparison with change highlights.\n" -"\n" -"\"\"\"\n" -"\n" -"import sys, os, difflib, argparse\n" -"from datetime import datetime, timezone\n" -"\n" -"def file_mtime(path):\n" -" t = datetime.fromtimestamp(os.stat(path).st_mtime,\n" -" timezone.utc)\n" -" return t.astimezone().isoformat()\n" -"\n" -"def main():\n" -"\n" -" parser = argparse.ArgumentParser()\n" -" parser.add_argument('-c', action='store_true', default=False,\n" -" help='Produce a context format diff (default)')\n" -" parser.add_argument('-u', action='store_true', default=False,\n" -" help='Produce a unified format diff')\n" -" parser.add_argument('-m', action='store_true', default=False,\n" -" help='Produce HTML side by side diff '\n" -" '(can use -c and -l in conjunction)')\n" -" parser.add_argument('-n', action='store_true', default=False,\n" -" help='Produce a ndiff format diff')\n" -" parser.add_argument('-l', '--lines', type=int, default=3,\n" -" help='Set number of context lines (default 3)')\n" -" parser.add_argument('fromfile')\n" -" parser.add_argument('tofile')\n" -" options = parser.parse_args()\n" -"\n" -" n = options.lines\n" -" fromfile = options.fromfile\n" -" tofile = options.tofile\n" -"\n" -" fromdate = file_mtime(fromfile)\n" -" todate = file_mtime(tofile)\n" -" with open(fromfile) as ff:\n" -" fromlines = ff.readlines()\n" -" with open(tofile) as tf:\n" -" tolines = tf.readlines()\n" -"\n" -" if options.u:\n" -" diff = difflib.unified_diff(fromlines, tolines, fromfile, tofile, fromdate, todate, n=n)\n" -" elif options.n:\n" -" diff = difflib.ndiff(fromlines, tolines)\n" -" elif options.m:\n" -" diff = difflib.HtmlDiff().make_file(fromlines,tolines,fromfile,tofile,context=options.c,numlines=n)\n" -" else:\n" -" diff = difflib.context_diff(fromlines, tolines, fromfile, tofile, fromdate, todate, n=n)\n" -"\n" -" sys.stdout.writelines(diff)\n" -"\n" -"if __name__ == '__main__':\n" -" main()\n" -msgstr "" - -#: ../../library/difflib.rst:764 -msgid "ndiff example" -msgstr "" - -#: ../../library/difflib.rst:766 -msgid "This example shows how to use :func:`difflib.ndiff`." -msgstr "" - -#: ../../library/difflib.rst:768 -msgid "" -"\"\"\"ndiff [-q] file1 file2\n" -" or\n" -"ndiff (-r1 | -r2) < ndiff_output > file1_or_file2\n" -"\n" -"Print a human-friendly file difference report to stdout. Both inter-\n" -"and intra-line differences are noted. In the second form, recreate file1\n" -"(-r1) or file2 (-r2) on stdout, from an ndiff report on stdin.\n" -"\n" -"In the first form, if -q (\"quiet\") is not specified, the first two lines\n" -"of output are\n" -"\n" -"-: file1\n" -"+: file2\n" -"\n" -"Each remaining line begins with a two-letter code:\n" -"\n" -" \"- \" line unique to file1\n" -" \"+ \" line unique to file2\n" -" \" \" line common to both files\n" -" \"? \" line not present in either input file\n" -"\n" -"Lines beginning with \"? \" attempt to guide the eye to intraline\n" -"differences, and were not present in either input file. These lines can be\n" -"confusing if the source files contain tab characters.\n" -"\n" -"The first file can be recovered by retaining only lines that begin with\n" -"\" \" or \"- \", and deleting those 2-character prefixes; use ndiff with -r1.\n" -"\n" -"The second file can be recovered similarly, but by retaining only \" \" and\n" -"\"+ \" lines; use ndiff with -r2; or, on Unix, the second file can be\n" -"recovered by piping the output through\n" -"\n" -" sed -n '/^[+ ] /s/^..//p'\n" -"\"\"\"\n" -"\n" -"__version__ = 1, 7, 0\n" -"\n" -"import difflib, sys\n" -"\n" -"def fail(msg):\n" -" out = sys.stderr.write\n" -" out(msg + \"\\n\\n\")\n" -" out(__doc__)\n" -" return 0\n" -"\n" -"# open a file & return the file object; gripe and return 0 if it\n" -"# couldn't be opened\n" -"def fopen(fname):\n" -" try:\n" -" return open(fname)\n" -" except IOError as detail:\n" -" return fail(\"couldn't open \" + fname + \": \" + str(detail))\n" -"\n" -"# open two files & spray the diff to stdout; return false iff a problem\n" -"def fcompare(f1name, f2name):\n" -" f1 = fopen(f1name)\n" -" f2 = fopen(f2name)\n" -" if not f1 or not f2:\n" -" return 0\n" -"\n" -" a = f1.readlines(); f1.close()\n" -" b = f2.readlines(); f2.close()\n" -" for line in difflib.ndiff(a, b):\n" -" print(line, end=' ')\n" -"\n" -" return 1\n" -"\n" -"# crack args (sys.argv[1:] is normal) & compare;\n" -"# return false iff a problem\n" -"\n" -"def main(args):\n" -" import getopt\n" -" try:\n" -" opts, args = getopt.getopt(args, \"qr:\")\n" -" except getopt.error as detail:\n" -" return fail(str(detail))\n" -" noisy = 1\n" -" qseen = rseen = 0\n" -" for opt, val in opts:\n" -" if opt == \"-q\":\n" -" qseen = 1\n" -" noisy = 0\n" -" elif opt == \"-r\":\n" -" rseen = 1\n" -" whichfile = val\n" -" if qseen and rseen:\n" -" return fail(\"can't specify both -q and -r\")\n" -" if rseen:\n" -" if args:\n" -" return fail(\"no args allowed with -r option\")\n" -" if whichfile in (\"1\", \"2\"):\n" -" restore(whichfile)\n" -" return 1\n" -" return fail(\"-r value must be 1 or 2\")\n" -" if len(args) != 2:\n" -" return fail(\"need 2 filename args\")\n" -" f1name, f2name = args\n" -" if noisy:\n" -" print('-:', f1name)\n" -" print('+:', f2name)\n" -" return fcompare(f1name, f2name)\n" -"\n" -"# read ndiff output from stdin, and print file1 (which=='1') or\n" -"# file2 (which=='2') to stdout\n" -"\n" -"def restore(which):\n" -" restored = difflib.restore(sys.stdin.readlines(), which)\n" -" sys.stdout.writelines(restored)\n" -"\n" -"if __name__ == '__main__':\n" -" main(sys.argv[1:])\n" -msgstr "" diff --git a/python-newest.library--dis/id.po b/python-newest.library--dis/id.po deleted file mode 100644 index edc0574..0000000 --- a/python-newest.library--dis/id.po +++ /dev/null @@ -1,2278 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2022 -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/dis.rst:2 -msgid ":mod:`!dis` --- Disassembler for Python bytecode" -msgstr "" - -#: ../../library/dis.rst:7 -msgid "**Source code:** :source:`Lib/dis.py`" -msgstr "" - -#: ../../library/dis.rst:17 -msgid "" -"The :mod:`dis` module supports the analysis of CPython :term:`bytecode` by " -"disassembling it. The CPython bytecode which this module takes as an input " -"is defined in the file :file:`Include/opcode.h` and used by the compiler and" -" the interpreter." -msgstr "" - -#: ../../library/dis.rst:24 -msgid "" -"Bytecode is an implementation detail of the CPython interpreter. No " -"guarantees are made that bytecode will not be added, removed, or changed " -"between versions of Python. Use of this module should not be considered to " -"work across Python VMs or Python releases." -msgstr "" - -#: ../../library/dis.rst:29 -msgid "" -"Use 2 bytes for each instruction. Previously the number of bytes varied by " -"instruction." -msgstr "" - -#: ../../library/dis.rst:33 -msgid "" -"The argument of jump, exception handling and loop instructions is now the " -"instruction offset rather than the byte offset." -msgstr "" - -#: ../../library/dis.rst:37 -msgid "" -"Some instructions are accompanied by one or more inline cache entries, which" -" take the form of :opcode:`CACHE` instructions. These instructions are " -"hidden by default, but can be shown by passing ``show_caches=True`` to any " -":mod:`dis` utility. Furthermore, the interpreter now adapts the bytecode to " -"specialize it for different runtime conditions. The adaptive bytecode can be" -" shown by passing ``adaptive=True``." -msgstr "" - -#: ../../library/dis.rst:45 -msgid "" -"The argument of a jump is the offset of the target instruction relative to " -"the instruction that appears immediately after the jump instruction's " -":opcode:`CACHE` entries." -msgstr "" - -#: ../../library/dis.rst:50 -msgid "" -"As a consequence, the presence of the :opcode:`CACHE` instructions is " -"transparent for forward jumps but needs to be taken into account when " -"reasoning about backward jumps." -msgstr "" - -#: ../../library/dis.rst:54 -msgid "" -"The output shows logical labels rather than instruction offsets for jump " -"targets and exception handlers. The ``-O`` command line option and the " -"``show_offsets`` argument were added." -msgstr "" - -#: ../../library/dis.rst:59 -msgid "" -"The :option:`-P ` command-line option and the " -"``show_positions`` argument were added." -msgstr "" - -#: ../../library/dis.rst:63 -msgid "The :option:`-S ` command-line option is added." -msgstr "" - -#: ../../library/dis.rst:65 -msgid "Example: Given the function :func:`!myfunc`::" -msgstr "" - -#: ../../library/dis.rst:67 -msgid "" -"def myfunc(alist):\n" -" return len(alist)" -msgstr "" - -#: ../../library/dis.rst:70 -msgid "" -"the following command can be used to display the disassembly of " -":func:`!myfunc`:" -msgstr "" - -#: ../../library/dis.rst:73 -msgid "" -">>> dis.dis(myfunc)\n" -" 2 RESUME 0\n" -"\n" -" 3 LOAD_GLOBAL 1 (len + NULL)\n" -" LOAD_FAST_BORROW 0 (alist)\n" -" CALL 1\n" -" RETURN_VALUE" -msgstr "" - -#: ../../library/dis.rst:83 -msgid "(The \"2\" is a line number)." -msgstr "" - -#: ../../library/dis.rst:88 -msgid "Command-line interface" -msgstr "" - -#: ../../library/dis.rst:90 -msgid "" -"The :mod:`dis` module can be invoked as a script from the command line:" -msgstr "" - -#: ../../library/dis.rst:92 -msgid "python -m dis [-h] [-C] [-O] [-P] [-S] [infile]" -msgstr "" - -#: ../../library/dis.rst:96 -msgid "The following options are accepted:" -msgstr "" - -#: ../../library/dis.rst:102 -msgid "Display usage and exit." -msgstr "" - -#: ../../library/dis.rst:106 -msgid "Show inline caches." -msgstr "" - -#: ../../library/dis.rst:112 -msgid "Show offsets of instructions." -msgstr "" - -#: ../../library/dis.rst:118 -msgid "Show positions of instructions in the source code." -msgstr "" - -#: ../../library/dis.rst:124 -msgid "Show specialized bytecode." -msgstr "" - -#: ../../library/dis.rst:128 -msgid "" -"If :file:`infile` is specified, its disassembled code will be written to " -"stdout. Otherwise, disassembly is performed on compiled source code received" -" from stdin." -msgstr "" - -#: ../../library/dis.rst:132 -msgid "Bytecode analysis" -msgstr "" - -#: ../../library/dis.rst:136 -msgid "" -"The bytecode analysis API allows pieces of Python code to be wrapped in a " -":class:`Bytecode` object that provides easy access to details of the " -"compiled code." -msgstr "" - -#: ../../library/dis.rst:144 -msgid "" -"Analyse the bytecode corresponding to a function, generator, asynchronous " -"generator, coroutine, method, string of source code, or a code object (as " -"returned by :func:`compile`)." -msgstr "" - -#: ../../library/dis.rst:148 -msgid "" -"This is a convenience wrapper around many of the functions listed below, " -"most notably :func:`get_instructions`, as iterating over a :class:`Bytecode`" -" instance yields the bytecode operations as :class:`Instruction` instances." -msgstr "" - -#: ../../library/dis.rst:152 ../../library/dis.rst:373 -msgid "" -"If *first_line* is not ``None``, it indicates the line number that should be" -" reported for the first source line in the disassembled code. Otherwise, " -"the source line information (if any) is taken directly from the disassembled" -" code object." -msgstr "" - -#: ../../library/dis.rst:157 -msgid "" -"If *current_offset* is not ``None``, it refers to an instruction offset in " -"the disassembled code. Setting this means :meth:`.dis` will display a " -"\"current instruction\" marker against the specified opcode." -msgstr "" - -#: ../../library/dis.rst:161 -msgid "" -"If *show_caches* is ``True``, :meth:`.dis` will display inline cache entries" -" used by the interpreter to specialize the bytecode." -msgstr "" - -#: ../../library/dis.rst:164 -msgid "" -"If *adaptive* is ``True``, :meth:`.dis` will display specialized bytecode " -"that may be different from the original bytecode." -msgstr "" - -#: ../../library/dis.rst:167 -msgid "" -"If *show_offsets* is ``True``, :meth:`.dis` will include instruction offsets" -" in the output." -msgstr "" - -#: ../../library/dis.rst:170 -msgid "" -"If *show_positions* is ``True``, :meth:`.dis` will include instruction " -"source code positions in the output." -msgstr "" - -#: ../../library/dis.rst:175 -msgid "" -"Construct a :class:`Bytecode` instance from the given traceback, setting " -"*current_offset* to the instruction responsible for the exception." -msgstr "" - -#: ../../library/dis.rst:180 -msgid "The compiled code object." -msgstr "" - -#: ../../library/dis.rst:184 -msgid "The first source line of the code object (if available)" -msgstr "" - -#: ../../library/dis.rst:188 -msgid "" -"Return a formatted view of the bytecode operations (the same as printed by " -":func:`dis.dis`, but returned as a multi-line string)." -msgstr "" - -#: ../../library/dis.rst:193 -msgid "" -"Return a formatted multi-line string with detailed information about the " -"code object, like :func:`code_info`." -msgstr "" - -#: ../../library/dis.rst:196 ../../library/dis.rst:242 -#: ../../library/dis.rst:295 -msgid "This can now handle coroutine and asynchronous generator objects." -msgstr "" - -#: ../../library/dis.rst:199 ../../library/dis.rst:298 -#: ../../library/dis.rst:320 ../../library/dis.rst:356 -#: ../../library/dis.rst:382 -msgid "Added the *show_caches* and *adaptive* parameters." -msgstr "" - -#: ../../library/dis.rst:202 -msgid "Added the *show_offsets* parameter" -msgstr "" - -#: ../../library/dis.rst:205 ../../library/dis.rst:304 -#: ../../library/dis.rst:326 ../../library/dis.rst:362 -msgid "Added the *show_positions* parameter." -msgstr "" - -#: ../../library/dis.rst:208 -msgid "Example:" -msgstr "Contoh:" - -#: ../../library/dis.rst:210 -msgid "" -">>> bytecode = dis.Bytecode(myfunc)\n" -">>> for instr in bytecode:\n" -"... print(instr.opname)\n" -"...\n" -"RESUME\n" -"LOAD_GLOBAL\n" -"LOAD_FAST_BORROW\n" -"CALL\n" -"RETURN_VALUE" -msgstr "" - -#: ../../library/dis.rst:224 -msgid "Analysis functions" -msgstr "" - -#: ../../library/dis.rst:226 -msgid "" -"The :mod:`dis` module also defines the following analysis functions that " -"convert the input directly to the desired output. They can be useful if only" -" a single operation is being performed, so the intermediate analysis object " -"isn't useful:" -msgstr "" - -#: ../../library/dis.rst:232 -msgid "" -"Return a formatted multi-line string with detailed code object information " -"for the supplied function, generator, asynchronous generator, coroutine, " -"method, source code string or code object." -msgstr "" - -#: ../../library/dis.rst:236 -msgid "" -"Note that the exact contents of code info strings are highly implementation " -"dependent and they may change arbitrarily across Python VMs or Python " -"releases." -msgstr "" - -#: ../../library/dis.rst:248 -msgid "" -"Print detailed code object information for the supplied function, method, " -"source code string or code object to *file* (or ``sys.stdout`` if *file* is " -"not specified)." -msgstr "" - -#: ../../library/dis.rst:252 -msgid "" -"This is a convenient shorthand for ``print(code_info(x), file=file)``, " -"intended for interactive exploration at the interpreter prompt." -msgstr "" - -#: ../../library/dis.rst:257 ../../library/dis.rst:289 -#: ../../library/dis.rst:317 ../../library/dis.rst:353 -msgid "Added *file* parameter." -msgstr "" - -#: ../../library/dis.rst:264 -msgid "" -"Disassemble the *x* object. *x* can denote either a module, a class, a " -"method, a function, a generator, an asynchronous generator, a coroutine, a " -"code object, a string of source code or a byte sequence of raw bytecode. For" -" a module, it disassembles all functions. For a class, it disassembles all " -"methods (including class and static methods). For a code object or sequence " -"of raw bytecode, it prints one line per bytecode instruction. It also " -"recursively disassembles nested code objects. These can include generator " -"expressions, nested functions, the bodies of nested classes, and the code " -"objects used for :ref:`annotation scopes `. Strings are " -"first compiled to code objects with the :func:`compile` built-in function " -"before being disassembled. If no object is provided, this function " -"disassembles the last traceback." -msgstr "" - -#: ../../library/dis.rst:277 ../../library/dis.rst:314 -#: ../../library/dis.rst:350 -msgid "" -"The disassembly is written as text to the supplied *file* argument if " -"provided and to ``sys.stdout`` otherwise." -msgstr "" - -#: ../../library/dis.rst:280 -msgid "" -"The maximal depth of recursion is limited by *depth* unless it is ``None``. " -"``depth=0`` means no recursion." -msgstr "" - -#: ../../library/dis.rst:283 -msgid "" -"If *show_caches* is ``True``, this function will display inline cache " -"entries used by the interpreter to specialize the bytecode." -msgstr "" - -#: ../../library/dis.rst:286 -msgid "" -"If *adaptive* is ``True``, this function will display specialized bytecode " -"that may be different from the original bytecode." -msgstr "" - -#: ../../library/dis.rst:292 -msgid "Implemented recursive disassembling and added *depth* parameter." -msgstr "" - -#: ../../library/dis.rst:301 ../../library/dis.rst:323 -#: ../../library/dis.rst:359 -msgid "Added the *show_offsets* parameter." -msgstr "" - -#: ../../library/dis.rst:310 -msgid "" -"Disassemble the top-of-stack function of a traceback, using the last " -"traceback if none was passed. The instruction causing the exception is " -"indicated." -msgstr "" - -#: ../../library/dis.rst:334 -msgid "" -"Disassemble a code object, indicating the last instruction if *lasti* was " -"provided. The output is divided in the following columns:" -msgstr "" - -#: ../../library/dis.rst:337 -msgid "" -"the source code location of the instruction. Complete location information " -"is shown if *show_positions* is true. Otherwise (the default) only the line " -"number is displayed." -msgstr "" - -#: ../../library/dis.rst:340 -msgid "the current instruction, indicated as ``-->``," -msgstr "" - -#: ../../library/dis.rst:341 -msgid "a labelled instruction, indicated with ``>>``," -msgstr "" - -#: ../../library/dis.rst:342 -msgid "the address of the instruction," -msgstr "" - -#: ../../library/dis.rst:343 -msgid "the operation code name," -msgstr "" - -#: ../../library/dis.rst:344 -msgid "operation parameters, and" -msgstr "" - -#: ../../library/dis.rst:345 -msgid "interpretation of the parameters in parentheses." -msgstr "" - -#: ../../library/dis.rst:347 -msgid "" -"The parameter interpretation recognizes local and global variable names, " -"constant values, branch targets, and compare operators." -msgstr "" - -#: ../../library/dis.rst:367 -msgid "" -"Return an iterator over the instructions in the supplied function, method, " -"source code string or code object." -msgstr "" - -#: ../../library/dis.rst:370 -msgid "" -"The iterator generates a series of :class:`Instruction` named tuples giving " -"the details of each operation in the supplied code." -msgstr "" - -#: ../../library/dis.rst:378 -msgid "The *adaptive* parameter works as it does in :func:`dis`." -msgstr "" - -#: ../../library/dis.rst:385 -msgid "" -"The *show_caches* parameter is deprecated and has no effect. The iterator " -"generates the :class:`Instruction` instances with the *cache_info* field " -"populated (regardless of the value of *show_caches*) and it no longer " -"generates separate items for the cache entries." -msgstr "" - -#: ../../library/dis.rst:393 -msgid "" -"This generator function uses the :meth:`~codeobject.co_lines` method of the " -":ref:`code object ` *code* to find the offsets which are " -"starts of lines in the source code. They are generated as ``(offset, " -"lineno)`` pairs." -msgstr "" - -#: ../../library/dis.rst:398 -msgid "Line numbers can be decreasing. Before, they were always increasing." -msgstr "" - -#: ../../library/dis.rst:401 -msgid "" -"The :pep:`626` :meth:`~codeobject.co_lines` method is used instead of the " -":attr:`~codeobject.co_firstlineno` and :attr:`~codeobject.co_lnotab` " -"attributes of the :ref:`code object `." -msgstr "" - -#: ../../library/dis.rst:406 -msgid "" -"Line numbers can be ``None`` for bytecode that does not map to source lines." -msgstr "" - -#: ../../library/dis.rst:412 -msgid "" -"Detect all offsets in the raw compiled bytecode string *code* which are jump" -" targets, and return a list of these offsets." -msgstr "" - -#: ../../library/dis.rst:418 -msgid "Compute the stack effect of *opcode* with argument *oparg*." -msgstr "" - -#: ../../library/dis.rst:420 -msgid "" -"If the code has a jump target and *jump* is ``True``, :func:`~stack_effect` " -"will return the stack effect of jumping. If *jump* is ``False``, it will " -"return the stack effect of not jumping. And if *jump* is ``None`` (default)," -" it will return the maximal stack effect of both cases." -msgstr "" - -#: ../../library/dis.rst:427 -msgid "Added *jump* parameter." -msgstr "" - -#: ../../library/dis.rst:430 -msgid "" -"If ``oparg`` is omitted (or ``None``), the stack effect is now returned for " -"``oparg=0``. Previously this was an error for opcodes that use their arg. It" -" is also no longer an error to pass an integer ``oparg`` when the ``opcode``" -" does not use it; the ``oparg`` in this case is ignored." -msgstr "" - -#: ../../library/dis.rst:440 -msgid "Python Bytecode Instructions" -msgstr "" - -#: ../../library/dis.rst:442 -msgid "" -"The :func:`get_instructions` function and :class:`Bytecode` class provide " -"details of bytecode instructions as :class:`Instruction` instances:" -msgstr "" - -#: ../../library/dis.rst:447 -msgid "Details for a bytecode operation" -msgstr "" - -#: ../../library/dis.rst:451 -msgid "" -"numeric code for operation, corresponding to the opcode values listed below " -"and the bytecode values in the :ref:`opcode_collections`." -msgstr "" - -#: ../../library/dis.rst:457 -msgid "human readable name for operation" -msgstr "" - -#: ../../library/dis.rst:462 -msgid "" -"numeric code for the base operation if operation is specialized; otherwise " -"equal to :data:`opcode`" -msgstr "" - -#: ../../library/dis.rst:468 -msgid "" -"human readable name for the base operation if operation is specialized; " -"otherwise equal to :data:`opname`" -msgstr "" - -#: ../../library/dis.rst:474 -msgid "numeric argument to operation (if any), otherwise ``None``" -msgstr "" - -#: ../../library/dis.rst:478 -msgid "alias for :data:`arg`" -msgstr "" - -#: ../../library/dis.rst:482 -msgid "resolved arg value (if any), otherwise ``None``" -msgstr "" - -#: ../../library/dis.rst:487 -msgid "" -"human readable description of operation argument (if any), otherwise an " -"empty string." -msgstr "" - -#: ../../library/dis.rst:493 -msgid "start index of operation within bytecode sequence" -msgstr "" - -#: ../../library/dis.rst:498 -msgid "" -"start index of operation within bytecode sequence, including prefixed " -"``EXTENDED_ARG`` operations if present; otherwise equal to :data:`offset`" -msgstr "" - -#: ../../library/dis.rst:504 -msgid "start index of the cache entries following the operation" -msgstr "" - -#: ../../library/dis.rst:509 -msgid "end index of the cache entries following the operation" -msgstr "" - -#: ../../library/dis.rst:514 -msgid "``True`` if this opcode starts a source line, otherwise ``False``" -msgstr "" - -#: ../../library/dis.rst:519 -msgid "" -"source line number associated with this opcode (if any), otherwise ``None``" -msgstr "" - -#: ../../library/dis.rst:524 -msgid "``True`` if other code jumps to here, otherwise ``False``" -msgstr "" - -#: ../../library/dis.rst:529 -msgid "" -"bytecode index of the jump target if this is a jump operation, otherwise " -"``None``" -msgstr "" - -#: ../../library/dis.rst:535 -msgid "" -":class:`dis.Positions` object holding the start and end locations that are " -"covered by this instruction." -msgstr "" - -#: ../../library/dis.rst:540 -msgid "" -"Information about the cache entries of this instruction, as triplets of the " -"form ``(name, size, data)``, where the ``name`` and ``size`` describe the " -"cache format and data is the contents of the cache. ``cache_info`` is " -"``None`` if the instruction does not have caches." -msgstr "" - -#: ../../library/dis.rst:550 -msgid "Field ``positions`` is added." -msgstr "" - -#: ../../library/dis.rst:554 -msgid "Changed field ``starts_line``." -msgstr "" - -#: ../../library/dis.rst:556 -msgid "" -"Added fields ``start_offset``, ``cache_offset``, ``end_offset``, " -"``baseopname``, ``baseopcode``, ``jump_target``, ``oparg``, ``line_number`` " -"and ``cache_info``." -msgstr "" - -#: ../../library/dis.rst:563 -msgid "" -"In case the information is not available, some fields might be ``None``." -msgstr "" - -#: ../../library/dis.rst:573 -msgid "" -"The Python compiler currently generates the following bytecode instructions." -msgstr "" - -#: ../../library/dis.rst:576 -msgid "**General instructions**" -msgstr "" - -#: ../../library/dis.rst:578 -msgid "" -"In the following, We will refer to the interpreter stack as ``STACK`` and " -"describe operations on it as if it was a Python list. The top of the stack " -"corresponds to ``STACK[-1]`` in this language." -msgstr "" - -#: ../../library/dis.rst:584 -msgid "" -"Do nothing code. Used as a placeholder by the bytecode optimizer, and to " -"generate line tracing events." -msgstr "" - -#: ../../library/dis.rst:590 -msgid "Removes the top-of-stack item::" -msgstr "" - -#: ../../library/dis.rst:592 -msgid "STACK.pop()" -msgstr "" - -#: ../../library/dis.rst:597 -msgid "" -"Removes the top-of-stack item. Equivalent to ``POP_TOP``. Used to clean up " -"at the end of loops, hence the name." -msgstr "" - -#: ../../library/dis.rst:606 -msgid "Implements ``del STACK[-2]``. Used to clean up when a generator exits." -msgstr "" - -#: ../../library/dis.rst:614 -msgid "" -"Push the i-th item to the top of the stack without removing it from its " -"original location::" -msgstr "" - -#: ../../library/dis.rst:617 -msgid "" -"assert i > 0\n" -"STACK.append(STACK[-i])" -msgstr "" - -#: ../../library/dis.rst:625 -msgid "Swap the top of the stack with the i-th element::" -msgstr "" - -#: ../../library/dis.rst:627 -msgid "STACK[-i], STACK[-1] = STACK[-1], STACK[-i]" -msgstr "" - -#: ../../library/dis.rst:634 -msgid "" -"Rather than being an actual instruction, this opcode is used to mark extra " -"space for the interpreter to cache useful data directly in the bytecode " -"itself. It is automatically hidden by all ``dis`` utilities, but can be " -"viewed with ``show_caches=True``." -msgstr "" - -#: ../../library/dis.rst:639 -msgid "" -"Logically, this space is part of the preceding instruction. Many opcodes " -"expect to be followed by an exact number of caches, and will instruct the " -"interpreter to skip over them at runtime." -msgstr "" - -#: ../../library/dis.rst:643 -msgid "" -"Populated caches can look like arbitrary instructions, so great care should " -"be taken when reading or modifying raw, adaptive bytecode containing " -"quickened data." -msgstr "" - -#: ../../library/dis.rst:650 -msgid "**Unary operations**" -msgstr "" - -#: ../../library/dis.rst:652 -msgid "" -"Unary operations take the top of the stack, apply the operation, and push " -"the result back on the stack." -msgstr "" - -#: ../../library/dis.rst:658 -msgid "Implements ``STACK[-1] = -STACK[-1]``." -msgstr "" - -#: ../../library/dis.rst:663 -msgid "Implements ``STACK[-1] = not STACK[-1]``." -msgstr "" - -#: ../../library/dis.rst:665 ../../library/dis.rst:1333 -#: ../../library/dis.rst:1349 -msgid "This instruction now requires an exact :class:`bool` operand." -msgstr "" - -#: ../../library/dis.rst:671 -msgid "Implements ``STACK[-1] = ~STACK[-1]``." -msgstr "" - -#: ../../library/dis.rst:676 -msgid "Implements ``STACK[-1] = iter(STACK[-1])``." -msgstr "" - -#: ../../library/dis.rst:681 -msgid "" -"If ``STACK[-1]`` is a :term:`generator iterator` or :term:`coroutine` object" -" it is left as is. Otherwise, implements ``STACK[-1] = iter(STACK[-1])``." -msgstr "" - -#: ../../library/dis.rst:689 -msgid "Implements ``STACK[-1] = bool(STACK[-1])``." -msgstr "" - -#: ../../library/dis.rst:694 -msgid "**Binary and in-place operations**" -msgstr "" - -#: ../../library/dis.rst:696 -msgid "" -"Binary operations remove the top two items from the stack (``STACK[-1]`` and" -" ``STACK[-2]``). They perform the operation, then put the result back on the" -" stack." -msgstr "" - -#: ../../library/dis.rst:699 -msgid "" -"In-place operations are like binary operations, but the operation is done " -"in-place when ``STACK[-2]`` supports it, and the resulting ``STACK[-1]`` may" -" be (but does not have to be) the original ``STACK[-2]``." -msgstr "" - -#: ../../library/dis.rst:706 -msgid "" -"Implements the binary and in-place operators (depending on the value of " -"*op*)::" -msgstr "" - -#: ../../library/dis.rst:709 -msgid "" -"rhs = STACK.pop()\n" -"lhs = STACK.pop()\n" -"STACK.append(lhs op rhs)" -msgstr "" - -#: ../../library/dis.rst:714 -msgid "" -"With oparg :``NB_SUBSCR``, implements binary subscript (replaces opcode " -"``BINARY_SUBSCR``)" -msgstr "" - -#: ../../library/dis.rst:720 ../../library/dis.rst:730 -#: ../../library/dis.rst:738 ../../library/dis.rst:750 -#: ../../library/dis.rst:828 ../../library/dis.rst:838 -#: ../../library/dis.rst:848 ../../library/dis.rst:1054 -#: ../../library/dis.rst:1065 ../../library/dis.rst:1176 -#: ../../library/dis.rst:1188 ../../library/dis.rst:1200 -msgid "Implements::" -msgstr "" - -#: ../../library/dis.rst:722 -msgid "" -"key = STACK.pop()\n" -"container = STACK.pop()\n" -"value = STACK.pop()\n" -"container[key] = value" -msgstr "" - -#: ../../library/dis.rst:732 -msgid "" -"key = STACK.pop()\n" -"container = STACK.pop()\n" -"del container[key]" -msgstr "" - -#: ../../library/dis.rst:740 -msgid "" -"end = STACK.pop()\n" -"start = STACK.pop()\n" -"container = STACK.pop()\n" -"STACK.append(container[start:end])" -msgstr "" - -#: ../../library/dis.rst:752 -msgid "" -"end = STACK.pop()\n" -"start = STACK.pop()\n" -"container = STACK.pop()\n" -"values = STACK.pop()\n" -"container[start:end] = value" -msgstr "" - -#: ../../library/dis.rst:761 -msgid "**Coroutine opcodes**" -msgstr "" - -#: ../../library/dis.rst:765 -msgid "" -"Implements ``STACK[-1] = get_awaitable(STACK[-1])``, where " -"``get_awaitable(o)`` returns ``o`` if ``o`` is a coroutine object or a " -"generator object with the :data:`~inspect.CO_ITERABLE_COROUTINE` flag, or " -"resolves ``o.__await__``." -msgstr "" - -#: ../../library/dis.rst:770 -msgid "" -"If the ``where`` operand is nonzero, it indicates where the instruction " -"occurs:" -msgstr "" - -#: ../../library/dis.rst:773 -msgid "``1``: After a call to ``__aenter__``" -msgstr "" - -#: ../../library/dis.rst:774 -msgid "``2``: After a call to ``__aexit__``" -msgstr "" - -#: ../../library/dis.rst:778 -msgid "Previously, this instruction did not have an oparg." -msgstr "" - -#: ../../library/dis.rst:784 -msgid "Implements ``STACK[-1] = STACK[-1].__aiter__()``." -msgstr "" - -#: ../../library/dis.rst:787 -msgid "Returning awaitable objects from ``__aiter__`` is no longer supported." -msgstr "" - -#: ../../library/dis.rst:794 -msgid "" -"Implement ``STACK.append(get_awaitable(STACK[-1].__anext__()))`` to the " -"stack. See ``GET_AWAITABLE`` for details about ``get_awaitable``." -msgstr "" - -#: ../../library/dis.rst:802 -msgid "" -"Terminates an :keyword:`async for` loop. Handles an exception raised when " -"awaiting a next item. The stack contains the async iterable in ``STACK[-2]``" -" and the raised exception in ``STACK[-1]``. Both are popped. If the " -"exception is not :exc:`StopAsyncIteration`, it is re-raised." -msgstr "" - -#: ../../library/dis.rst:809 ../../library/dis.rst:900 -#: ../../library/dis.rst:911 -msgid "" -"Exception representation on the stack now consist of one, not three, items." -msgstr "" - -#: ../../library/dis.rst:815 -msgid "" -"Handles an exception raised during a :meth:`~generator.throw` or " -":meth:`~generator.close` call through the current frame. If ``STACK[-1]`` " -"is an instance of :exc:`StopIteration`, pop three values from the stack and " -"push its ``value`` member. Otherwise, re-raise ``STACK[-1]``." -msgstr "" - -#: ../../library/dis.rst:824 -msgid "**Miscellaneous opcodes**" -msgstr "" - -#: ../../library/dis.rst:830 -msgid "" -"item = STACK.pop()\n" -"set.add(STACK[-i], item)" -msgstr "" - -#: ../../library/dis.rst:833 -msgid "Used to implement set comprehensions." -msgstr "" - -#: ../../library/dis.rst:840 -msgid "" -"item = STACK.pop()\n" -"list.append(STACK[-i], item)" -msgstr "" - -#: ../../library/dis.rst:843 -msgid "Used to implement list comprehensions." -msgstr "" - -#: ../../library/dis.rst:850 -msgid "" -"value = STACK.pop()\n" -"key = STACK.pop()\n" -"dict.__setitem__(STACK[-i], key, value)" -msgstr "" - -#: ../../library/dis.rst:854 -msgid "Used to implement dict comprehensions." -msgstr "" - -#: ../../library/dis.rst:857 -msgid "" -"Map value is ``STACK[-1]`` and map key is ``STACK[-2]``. Before, those were " -"reversed." -msgstr "" - -#: ../../library/dis.rst:861 -msgid "" -"For all of the :opcode:`SET_ADD`, :opcode:`LIST_APPEND` and " -":opcode:`MAP_ADD` instructions, while the added value or key/value pair is " -"popped off, the container object remains on the stack so that it is " -"available for further iterations of the loop." -msgstr "" - -#: ../../library/dis.rst:869 -msgid "Returns with ``STACK[-1]`` to the caller of the function." -msgstr "" - -#: ../../library/dis.rst:874 -msgid "Yields ``STACK.pop()`` from a :term:`generator`." -msgstr "" - -#: ../../library/dis.rst:876 -msgid "oparg set to be the stack depth." -msgstr "" - -#: ../../library/dis.rst:879 -msgid "" -"oparg set to be the exception block depth, for efficient closing of " -"generators." -msgstr "" - -#: ../../library/dis.rst:882 -msgid "" -"oparg is ``1`` if this instruction is part of a yield-from or await, and " -"``0`` otherwise." -msgstr "" - -#: ../../library/dis.rst:888 -msgid "" -"Checks whether ``__annotations__`` is defined in ``locals()``, if not it is " -"set up to an empty ``dict``. This opcode is only emitted if a class or " -"module body contains :term:`variable annotations ` " -"statically." -msgstr "" - -#: ../../library/dis.rst:898 -msgid "" -"Pops a value from the stack, which is used to restore the exception state." -msgstr "" - -#: ../../library/dis.rst:905 -msgid "" -"Re-raises the exception currently on top of the stack. If oparg is non-zero," -" pops an additional value from the stack which is used to set " -":attr:`~frame.f_lasti` of the current frame." -msgstr "" - -#: ../../library/dis.rst:916 -msgid "" -"Pops a value from the stack. Pushes the current exception to the top of the " -"stack. Pushes the value originally popped back to the stack. Used in " -"exception handlers." -msgstr "" - -#: ../../library/dis.rst:924 -msgid "" -"Performs exception matching for ``except``. Tests whether the ``STACK[-2]`` " -"is an exception matching ``STACK[-1]``. Pops ``STACK[-1]`` and pushes the " -"boolean result of the test." -msgstr "" - -#: ../../library/dis.rst:932 -msgid "" -"Performs exception matching for ``except*``. Applies ``split(STACK[-1])`` on" -" the exception group representing ``STACK[-2]``." -msgstr "" - -#: ../../library/dis.rst:935 -msgid "" -"In case of a match, pops two items from the stack and pushes the non-" -"matching subgroup (``None`` in case of full match) followed by the matching " -"subgroup. When there is no match, pops one item (the match type) and pushes " -"``None``." -msgstr "" - -#: ../../library/dis.rst:944 -msgid "" -"Calls the function in position 4 on the stack with arguments (type, val, tb)" -" representing the exception at the top of the stack. Used to implement the " -"call ``context_manager.__exit__(*exc_info())`` when an exception has " -"occurred in a :keyword:`with` statement." -msgstr "" - -#: ../../library/dis.rst:951 -msgid "" -"The ``__exit__`` function is in position 4 of the stack rather than 7. " -"Exception representation on the stack now consist of one, not three, items." -msgstr "" - -#: ../../library/dis.rst:958 -msgid "" -"Pushes a common constant onto the stack. The interpreter contains a " -"hardcoded list of constants supported by this instruction. Used by the " -":keyword:`assert` statement to load :exc:`AssertionError`." -msgstr "" - -#: ../../library/dis.rst:967 -msgid "" -"Pushes :func:`!builtins.__build_class__` onto the stack. It is later called" -" to construct a class." -msgstr "" - -#: ../../library/dis.rst:972 -msgid "" -"Perform ``STACK.append(len(STACK[-1]))``. Used in :keyword:`match` " -"statements where comparison with structure of pattern is needed." -msgstr "" - -#: ../../library/dis.rst:980 -msgid "" -"If ``STACK[-1]`` is an instance of :class:`collections.abc.Mapping` (or, " -"more technically: if it has the :c:macro:`Py_TPFLAGS_MAPPING` flag set in " -"its :c:member:`~PyTypeObject.tp_flags`), push ``True`` onto the stack. " -"Otherwise, push ``False``." -msgstr "" - -#: ../../library/dis.rst:990 -msgid "" -"If ``STACK[-1]`` is an instance of :class:`collections.abc.Sequence` and is " -"*not* an instance of :class:`str`/:class:`bytes`/:class:`bytearray` (or, " -"more technically: if it has the :c:macro:`Py_TPFLAGS_SEQUENCE` flag set in " -"its :c:member:`~PyTypeObject.tp_flags`), push ``True`` onto the stack. " -"Otherwise, push ``False``." -msgstr "" - -#: ../../library/dis.rst:1000 -msgid "" -"``STACK[-1]`` is a tuple of mapping keys, and ``STACK[-2]`` is the match " -"subject. If ``STACK[-2]`` contains all of the keys in ``STACK[-1]``, push a " -":class:`tuple` containing the corresponding values. Otherwise, push " -"``None``." -msgstr "" - -#: ../../library/dis.rst:1006 ../../library/dis.rst:1714 -msgid "" -"Previously, this instruction also pushed a boolean value indicating success " -"(``True``) or failure (``False``)." -msgstr "" - -#: ../../library/dis.rst:1013 -msgid "" -"Implements ``name = STACK.pop()``. *namei* is the index of *name* in the " -"attribute :attr:`~codeobject.co_names` of the :ref:`code object `. The compiler tries to use :opcode:`STORE_FAST` or " -":opcode:`STORE_GLOBAL` if possible." -msgstr "" - -#: ../../library/dis.rst:1020 -msgid "" -"Implements ``del name``, where *namei* is the index into " -":attr:`~codeobject.co_names` attribute of the :ref:`code object `." -msgstr "" - -#: ../../library/dis.rst:1026 -msgid "" -"Unpacks ``STACK[-1]`` into *count* individual values, which are put onto the" -" stack right-to-left. Require there to be exactly *count* values.::" -msgstr "" - -#: ../../library/dis.rst:1029 -msgid "" -"assert(len(STACK[-1]) == count)\n" -"STACK.extend(STACK.pop()[:-count-1:-1])" -msgstr "" - -#: ../../library/dis.rst:1035 -msgid "" -"Implements assignment with a starred target: Unpacks an iterable in " -"``STACK[-1]`` into individual values, where the total number of values can " -"be smaller than the number of items in the iterable: one of the new values " -"will be a list of all leftover items." -msgstr "" - -#: ../../library/dis.rst:1040 -msgid "" -"The number of values before and after the list value is limited to 255." -msgstr "" - -#: ../../library/dis.rst:1042 -msgid "" -"The number of values before the list value is encoded in the argument of the" -" opcode. The number of values after the list if any is encoded using an " -"``EXTENDED_ARG``. As a consequence, the argument can be seen as a two bytes " -"values where the low byte of *counts* is the number of values before the " -"list value, the high byte of *counts* the number of values after it." -msgstr "" - -#: ../../library/dis.rst:1048 -msgid "" -"The extracted values are put onto the stack right-to-left, i.e. ``a, *b, c =" -" d`` will be stored after execution as ``STACK.extend((a, b, c))``." -msgstr "" - -#: ../../library/dis.rst:1056 -msgid "" -"obj = STACK.pop()\n" -"value = STACK.pop()\n" -"obj.name = value" -msgstr "" - -#: ../../library/dis.rst:1060 -msgid "" -"where *namei* is the index of name in :attr:`~codeobject.co_names` of the " -":ref:`code object `." -msgstr "" - -#: ../../library/dis.rst:1067 -msgid "" -"obj = STACK.pop()\n" -"del obj.name" -msgstr "" - -#: ../../library/dis.rst:1070 -msgid "" -"where *namei* is the index of name into :attr:`~codeobject.co_names` of the " -":ref:`code object `." -msgstr "" - -#: ../../library/dis.rst:1076 -msgid "Works as :opcode:`STORE_NAME`, but stores the name as a global." -msgstr "" - -#: ../../library/dis.rst:1081 -msgid "Works as :opcode:`DELETE_NAME`, but deletes a global name." -msgstr "" - -#: ../../library/dis.rst:1086 -msgid "Pushes ``co_consts[consti]`` onto the stack." -msgstr "" - -#: ../../library/dis.rst:1091 -msgid "" -"Pushes the integer ``i`` onto the stack. ``i`` must be in ``range(256)``" -msgstr "" - -#: ../../library/dis.rst:1099 -msgid "" -"Pushes ``co_consts[consti]`` onto the stack. Can be used when the constant " -"value is known to be immortal." -msgstr "" - -#: ../../library/dis.rst:1107 -msgid "" -"Pushes the value associated with ``co_names[namei]`` onto the stack. The " -"name is looked up within the locals, then the globals, then the builtins." -msgstr "" - -#: ../../library/dis.rst:1113 -msgid "" -"Pushes a reference to the locals dictionary onto the stack. This is used to" -" prepare namespace dictionaries for :opcode:`LOAD_FROM_DICT_OR_DEREF` and " -":opcode:`LOAD_FROM_DICT_OR_GLOBALS`." -msgstr "" - -#: ../../library/dis.rst:1122 -msgid "" -"Pops a mapping off the stack and looks up the value for ``co_names[namei]``." -" If the name is not found there, looks it up in the globals and then the " -"builtins, similar to :opcode:`LOAD_GLOBAL`. This is used for loading global " -"variables in :ref:`annotation scopes ` within class " -"bodies." -msgstr "" - -#: ../../library/dis.rst:1133 -msgid "" -"Creates a tuple consuming *count* items from the stack, and pushes the " -"resulting tuple onto the stack::" -msgstr "" - -#: ../../library/dis.rst:1136 -msgid "" -"if count == 0:\n" -" value = ()\n" -"else:\n" -" value = tuple(STACK[-count:])\n" -" STACK = STACK[:-count]\n" -"\n" -"STACK.append(value)" -msgstr "" - -#: ../../library/dis.rst:1147 -msgid "Works as :opcode:`BUILD_TUPLE`, but creates a list." -msgstr "" - -#: ../../library/dis.rst:1152 -msgid "Works as :opcode:`BUILD_TUPLE`, but creates a set." -msgstr "" - -#: ../../library/dis.rst:1157 -msgid "" -"Pushes a new dictionary object onto the stack. Pops ``2 * count`` items so " -"that the dictionary holds *count* entries: ``{..., STACK[-4]: STACK[-3], " -"STACK[-2]: STACK[-1]}``." -msgstr "" - -#: ../../library/dis.rst:1161 -msgid "" -"The dictionary is created from stack items instead of creating an empty " -"dictionary pre-sized to hold *count* items." -msgstr "" - -#: ../../library/dis.rst:1168 -msgid "" -"Concatenates *count* strings from the stack and pushes the resulting string " -"onto the stack." -msgstr "" - -#: ../../library/dis.rst:1178 -msgid "" -"seq = STACK.pop()\n" -"list.extend(STACK[-i], seq)" -msgstr "" - -#: ../../library/dis.rst:1181 -msgid "Used to build lists." -msgstr "" - -#: ../../library/dis.rst:1190 -msgid "" -"seq = STACK.pop()\n" -"set.update(STACK[-i], seq)" -msgstr "" - -#: ../../library/dis.rst:1193 -msgid "Used to build sets." -msgstr "" - -#: ../../library/dis.rst:1202 -msgid "" -"map = STACK.pop()\n" -"dict.update(STACK[-i], map)" -msgstr "" - -#: ../../library/dis.rst:1205 -msgid "Used to build dicts." -msgstr "" - -#: ../../library/dis.rst:1212 -msgid "Like :opcode:`DICT_UPDATE` but raises an exception for duplicate keys." -msgstr "" - -#: ../../library/dis.rst:1219 -msgid "" -"If the low bit of ``namei`` is not set, this replaces ``STACK[-1]`` with " -"``getattr(STACK[-1], co_names[namei>>1])``." -msgstr "" - -#: ../../library/dis.rst:1222 -msgid "" -"If the low bit of ``namei`` is set, this will attempt to load a method named" -" ``co_names[namei>>1]`` from the ``STACK[-1]`` object. ``STACK[-1]`` is " -"popped. This bytecode distinguishes two cases: if ``STACK[-1]`` has a method" -" with the correct name, the bytecode pushes the unbound method and " -"``STACK[-1]``. ``STACK[-1]`` will be used as the first argument (``self``) " -"by :opcode:`CALL` or :opcode:`CALL_KW` when calling the unbound method. " -"Otherwise, ``NULL`` and the object returned by the attribute lookup are " -"pushed." -msgstr "" - -#: ../../library/dis.rst:1231 -msgid "" -"If the low bit of ``namei`` is set, then a ``NULL`` or ``self`` is pushed to" -" the stack before the attribute or unbound method respectively." -msgstr "" - -#: ../../library/dis.rst:1238 -msgid "" -"This opcode implements :func:`super`, both in its zero-argument and two-" -"argument forms (e.g. ``super().method()``, ``super().attr`` and ``super(cls," -" self).method()``, ``super(cls, self).attr``)." -msgstr "" - -#: ../../library/dis.rst:1242 -msgid "It pops three values from the stack (from top of stack down):" -msgstr "" - -#: ../../library/dis.rst:1244 -msgid "``self``: the first argument to the current method" -msgstr "" - -#: ../../library/dis.rst:1245 -msgid "``cls``: the class within which the current method was defined" -msgstr "" - -#: ../../library/dis.rst:1246 -msgid "the global ``super``" -msgstr "" - -#: ../../library/dis.rst:1248 -msgid "" -"With respect to its argument, it works similarly to :opcode:`LOAD_ATTR`, " -"except that ``namei`` is shifted left by 2 bits instead of 1." -msgstr "" - -#: ../../library/dis.rst:1251 -msgid "" -"The low bit of ``namei`` signals to attempt a method load, as with " -":opcode:`LOAD_ATTR`, which results in pushing ``NULL`` and the loaded " -"method. When it is unset a single value is pushed to the stack." -msgstr "" - -#: ../../library/dis.rst:1255 -msgid "" -"The second-low bit of ``namei``, if set, means that this was a two-argument " -"call to :func:`super` (unset means zero-argument)." -msgstr "" - -#: ../../library/dis.rst:1263 -msgid "" -"Performs a Boolean operation. The operation name can be found in " -"``cmp_op[opname >> 5]``. If the fifth-lowest bit of ``opname`` is set " -"(``opname & 16``), the result should be coerced to ``bool``." -msgstr "" - -#: ../../library/dis.rst:1267 -msgid "" -"The fifth-lowest bit of the oparg now indicates a forced conversion to " -":class:`bool`." -msgstr "" - -#: ../../library/dis.rst:1274 -msgid "Performs ``is`` comparison, or ``is not`` if ``invert`` is 1." -msgstr "" - -#: ../../library/dis.rst:1281 -msgid "Performs ``in`` comparison, or ``not in`` if ``invert`` is 1." -msgstr "" - -#: ../../library/dis.rst:1288 -msgid "" -"Imports the module ``co_names[namei]``. ``STACK[-1]`` and ``STACK[-2]`` are" -" popped and provide the *fromlist* and *level* arguments of " -":func:`__import__`. The module object is pushed onto the stack. The current" -" namespace is not affected: for a proper import statement, a subsequent " -":opcode:`STORE_FAST` instruction modifies the namespace." -msgstr "" - -#: ../../library/dis.rst:1296 -msgid "" -"Loads the attribute ``co_names[namei]`` from the module found in " -"``STACK[-1]``. The resulting object is pushed onto the stack, to be " -"subsequently stored by a :opcode:`STORE_FAST` instruction." -msgstr "" - -#: ../../library/dis.rst:1303 -msgid "Increments bytecode counter by *delta*." -msgstr "" - -#: ../../library/dis.rst:1308 -msgid "Decrements bytecode counter by *delta*. Checks for interrupts." -msgstr "" - -#: ../../library/dis.rst:1315 -msgid "Decrements bytecode counter by *delta*. Does not check for interrupts." -msgstr "" - -#: ../../library/dis.rst:1322 -msgid "" -"If ``STACK[-1]`` is true, increments the bytecode counter by *delta*. " -"``STACK[-1]`` is popped." -msgstr "" - -#: ../../library/dis.rst:1325 ../../library/dis.rst:1341 -msgid "" -"The oparg is now a relative delta rather than an absolute target. This " -"opcode is a pseudo-instruction, replaced in final bytecode by the directed " -"versions (forward/backward)." -msgstr "" - -#: ../../library/dis.rst:1330 ../../library/dis.rst:1346 -#: ../../library/dis.rst:1359 ../../library/dis.rst:1370 -msgid "This is no longer a pseudo-instruction." -msgstr "" - -#: ../../library/dis.rst:1338 -msgid "" -"If ``STACK[-1]`` is false, increments the bytecode counter by *delta*. " -"``STACK[-1]`` is popped." -msgstr "" - -#: ../../library/dis.rst:1354 -msgid "" -"If ``STACK[-1]`` is not ``None``, increments the bytecode counter by " -"*delta*. ``STACK[-1]`` is popped." -msgstr "" - -#: ../../library/dis.rst:1365 -msgid "" -"If ``STACK[-1]`` is ``None``, increments the bytecode counter by *delta*. " -"``STACK[-1]`` is popped." -msgstr "" - -#: ../../library/dis.rst:1375 -msgid "" -"``STACK[-1]`` is an :term:`iterator`. Call its :meth:`~iterator.__next__` " -"method. If this yields a new value, push it on the stack (leaving the " -"iterator below it). If the iterator indicates it is exhausted then the byte" -" code counter is incremented by *delta*." -msgstr "" - -#: ../../library/dis.rst:1380 -msgid "Up until 3.11 the iterator was popped when it was exhausted." -msgstr "" - -#: ../../library/dis.rst:1385 -msgid "Loads the global named ``co_names[namei>>1]`` onto the stack." -msgstr "" - -#: ../../library/dis.rst:1387 -msgid "" -"If the low bit of ``namei`` is set, then a ``NULL`` is pushed to the stack " -"before the global variable." -msgstr "" - -#: ../../library/dis.rst:1393 -msgid "" -"Pushes a reference to the local ``co_varnames[var_num]`` onto the stack." -msgstr "" - -#: ../../library/dis.rst:1395 -msgid "" -"This opcode is now only used in situations where the local variable is " -"guaranteed to be initialized. It cannot raise :exc:`UnboundLocalError`." -msgstr "" - -#: ../../library/dis.rst:1401 -msgid "" -"Pushes a borrowed reference to the local ``co_varnames[var_num]`` onto the " -"stack." -msgstr "" - -#: ../../library/dis.rst:1408 -msgid "" -"Pushes references to ``co_varnames[var_nums >> 4]`` and " -"``co_varnames[var_nums & 15]`` onto the stack." -msgstr "" - -#: ../../library/dis.rst:1416 -msgid "" -"Pushes borrowed references to ``co_varnames[var_nums >> 4]`` and " -"``co_varnames[var_nums & 15]`` onto the stack." -msgstr "" - -#: ../../library/dis.rst:1423 -msgid "" -"Pushes a reference to the local ``co_varnames[var_num]`` onto the stack, " -"raising an :exc:`UnboundLocalError` if the local variable has not been " -"initialized." -msgstr "" - -#: ../../library/dis.rst:1431 -msgid "" -"Pushes a reference to the local ``co_varnames[var_num]`` onto the stack (or " -"pushes ``NULL`` onto the stack if the local variable has not been " -"initialized) and sets ``co_varnames[var_num]`` to ``NULL``." -msgstr "" - -#: ../../library/dis.rst:1439 -msgid "Stores ``STACK.pop()`` into the local ``co_varnames[var_num]``." -msgstr "" - -#: ../../library/dis.rst:1443 -msgid "" -"Stores ``STACK[-1]`` into ``co_varnames[var_nums >> 4]`` and ``STACK[-2]`` " -"into ``co_varnames[var_nums & 15]``." -msgstr "" - -#: ../../library/dis.rst:1450 -msgid "" -"Stores ``STACK.pop()`` into the local ``co_varnames[var_nums >> 4]`` and " -"pushes a reference to the local ``co_varnames[var_nums & 15]`` onto the " -"stack." -msgstr "" - -#: ../../library/dis.rst:1458 -msgid "Deletes local ``co_varnames[var_num]``." -msgstr "" - -#: ../../library/dis.rst:1463 -msgid "" -"Creates a new cell in slot ``i``. If that slot is nonempty then that value " -"is stored into the new cell." -msgstr "" - -#: ../../library/dis.rst:1471 -msgid "" -"Loads the cell contained in slot ``i`` of the \"fast locals\" storage. " -"Pushes a reference to the object the cell contains on the stack." -msgstr "" - -#: ../../library/dis.rst:1474 ../../library/dis.rst:1496 -#: ../../library/dis.rst:1507 -msgid "" -"``i`` is no longer offset by the length of :attr:`~codeobject.co_varnames`." -msgstr "" - -#: ../../library/dis.rst:1480 -msgid "" -"Pops a mapping off the stack and looks up the name associated with slot " -"``i`` of the \"fast locals\" storage in this mapping. If the name is not " -"found there, loads it from the cell contained in slot ``i``, similar to " -":opcode:`LOAD_DEREF`. This is used for loading :term:`closure variables " -"` in class bodies (which previously used " -":opcode:`!LOAD_CLASSDEREF`) and in :ref:`annotation scopes ` within class bodies." -msgstr "" - -#: ../../library/dis.rst:1493 -msgid "" -"Stores ``STACK.pop()`` into the cell contained in slot ``i`` of the \"fast " -"locals\" storage." -msgstr "" - -#: ../../library/dis.rst:1502 -msgid "" -"Empties the cell contained in slot ``i`` of the \"fast locals\" storage. " -"Used by the :keyword:`del` statement." -msgstr "" - -#: ../../library/dis.rst:1513 -msgid "" -"Copies the ``n`` :term:`free (closure) variables ` from " -"the closure into the frame. Removes the need for special code on the " -"caller's side when calling closures." -msgstr "" - -#: ../../library/dis.rst:1522 -msgid "" -"Raises an exception using one of the 3 forms of the ``raise`` statement, " -"depending on the value of *argc*:" -msgstr "" - -#: ../../library/dis.rst:1525 -msgid "0: ``raise`` (re-raise previous exception)" -msgstr "" - -#: ../../library/dis.rst:1526 -msgid "" -"1: ``raise STACK[-1]`` (raise exception instance or type at ``STACK[-1]``)" -msgstr "" - -#: ../../library/dis.rst:1527 -msgid "" -"2: ``raise STACK[-2] from STACK[-1]`` (raise exception instance or type at " -"``STACK[-2]`` with ``__cause__`` set to ``STACK[-1]``)" -msgstr "" - -#: ../../library/dis.rst:1533 -msgid "" -"Calls a callable object with the number of arguments specified by ``argc``. " -"On the stack are (in ascending order):" -msgstr "" - -#: ../../library/dis.rst:1536 ../../library/dis.rst:1560 -msgid "The callable" -msgstr "" - -#: ../../library/dis.rst:1537 ../../library/dis.rst:1561 -msgid "``self`` or ``NULL``" -msgstr "" - -#: ../../library/dis.rst:1538 ../../library/dis.rst:1562 -msgid "The remaining positional arguments" -msgstr "" - -#: ../../library/dis.rst:1540 -msgid "``argc`` is the total of the positional arguments, excluding ``self``." -msgstr "" - -#: ../../library/dis.rst:1542 -msgid "" -"``CALL`` pops all arguments and the callable object off the stack, calls the" -" callable object with those arguments, and pushes the return value returned " -"by the callable object." -msgstr "" - -#: ../../library/dis.rst:1548 -msgid "The callable now always appears at the same position on the stack." -msgstr "" - -#: ../../library/dis.rst:1551 -msgid "Calls with keyword arguments are now handled by :opcode:`CALL_KW`." -msgstr "" - -#: ../../library/dis.rst:1557 -msgid "" -"Calls a callable object with the number of arguments specified by ``argc``, " -"including one or more named arguments. On the stack are (in ascending " -"order):" -msgstr "" - -#: ../../library/dis.rst:1563 -msgid "The named arguments" -msgstr "" - -#: ../../library/dis.rst:1564 -msgid "A :class:`tuple` of keyword argument names" -msgstr "" - -#: ../../library/dis.rst:1566 -msgid "" -"``argc`` is the total of the positional and named arguments, excluding " -"``self``. The length of the tuple of keyword argument names is the number of" -" named arguments." -msgstr "" - -#: ../../library/dis.rst:1569 -msgid "" -"``CALL_KW`` pops all arguments, the keyword names, and the callable object " -"off the stack, calls the callable object with those arguments, and pushes " -"the return value returned by the callable object." -msgstr "" - -#: ../../library/dis.rst:1578 -msgid "" -"Calls a callable object with variable set of positional and keyword " -"arguments. If the lowest bit of *flags* is set, the top of the stack " -"contains a mapping object containing additional keyword arguments. Before " -"the callable is called, the mapping object and iterable object are each " -"\"unpacked\" and their contents passed in as keyword and positional " -"arguments respectively. ``CALL_FUNCTION_EX`` pops all arguments and the " -"callable object off the stack, calls the callable object with those " -"arguments, and pushes the return value returned by the callable object." -msgstr "" - -#: ../../library/dis.rst:1593 -msgid "" -"Pushes a ``NULL`` to the stack. Used in the call sequence to match the " -"``NULL`` pushed by :opcode:`LOAD_METHOD` for non-method calls." -msgstr "" - -#: ../../library/dis.rst:1602 -msgid "" -"Pushes a new function object on the stack built from the code object at " -"``STACK[-1]``." -msgstr "" - -#: ../../library/dis.rst:1604 -msgid "Flag value ``0x04`` is a tuple of strings instead of dictionary" -msgstr "" - -#: ../../library/dis.rst:1607 -msgid "Qualified name at ``STACK[-1]`` was removed." -msgstr "" - -#: ../../library/dis.rst:1610 -msgid "" -"Extra function attributes on the stack, signaled by oparg flags, were " -"removed. They now use :opcode:`SET_FUNCTION_ATTRIBUTE`." -msgstr "" - -#: ../../library/dis.rst:1617 -msgid "" -"Sets an attribute on a function object. Expects the function at " -"``STACK[-1]`` and the attribute value to set at ``STACK[-2]``; consumes both" -" and leaves the function at ``STACK[-1]``. The flag determines which " -"attribute to set:" -msgstr "" - -#: ../../library/dis.rst:1621 -msgid "" -"``0x01`` a tuple of default values for positional-only and positional-or-" -"keyword parameters in positional order" -msgstr "" - -#: ../../library/dis.rst:1623 -msgid "``0x02`` a dictionary of keyword-only parameters' default values" -msgstr "" - -#: ../../library/dis.rst:1624 -msgid "``0x04`` a tuple of strings containing parameters' annotations" -msgstr "" - -#: ../../library/dis.rst:1625 -msgid "``0x08`` a tuple containing cells for free variables, making a closure" -msgstr "" - -#: ../../library/dis.rst:1634 -msgid "" -"Pushes a slice object on the stack. *argc* must be 2 or 3. If it is 2, " -"implements::" -msgstr "" - -#: ../../library/dis.rst:1636 -msgid "" -"end = STACK.pop()\n" -"start = STACK.pop()\n" -"STACK.append(slice(start, end))" -msgstr "" - -#: ../../library/dis.rst:1640 -msgid "if it is 3, implements::" -msgstr "" - -#: ../../library/dis.rst:1642 -msgid "" -"step = STACK.pop()\n" -"end = STACK.pop()\n" -"start = STACK.pop()\n" -"STACK.append(slice(start, end, step))" -msgstr "" - -#: ../../library/dis.rst:1647 -msgid "See the :func:`slice` built-in function for more information." -msgstr "" - -#: ../../library/dis.rst:1652 -msgid "" -"Prefixes any opcode which has an argument too big to fit into the default " -"one byte. *ext* holds an additional byte which act as higher bits in the " -"argument. For each opcode, at most three prefixal ``EXTENDED_ARG`` are " -"allowed, forming an argument from two-byte to four-byte." -msgstr "" - -#: ../../library/dis.rst:1660 -msgid "Convert value to a string, depending on ``oparg``::" -msgstr "" - -#: ../../library/dis.rst:1662 -msgid "" -"value = STACK.pop()\n" -"result = func(value)\n" -"STACK.append(result)" -msgstr "" - -#: ../../library/dis.rst:1666 -msgid "``oparg == 1``: call :func:`str` on *value*" -msgstr "" - -#: ../../library/dis.rst:1667 -msgid "``oparg == 2``: call :func:`repr` on *value*" -msgstr "" - -#: ../../library/dis.rst:1668 -msgid "``oparg == 3``: call :func:`ascii` on *value*" -msgstr "" - -#: ../../library/dis.rst:1670 ../../library/dis.rst:1683 -#: ../../library/dis.rst:1696 -msgid "Used for implementing formatted string literals (f-strings)." -msgstr "" - -#: ../../library/dis.rst:1677 -msgid "Formats the value on top of stack::" -msgstr "" - -#: ../../library/dis.rst:1679 -msgid "" -"value = STACK.pop()\n" -"result = value.__format__(\"\")\n" -"STACK.append(result)" -msgstr "" - -#: ../../library/dis.rst:1689 -msgid "Formats the given value with the given format spec::" -msgstr "" - -#: ../../library/dis.rst:1691 -msgid "" -"spec = STACK.pop()\n" -"value = STACK.pop()\n" -"result = value.__format__(spec)\n" -"STACK.append(result)" -msgstr "" - -#: ../../library/dis.rst:1703 -msgid "" -"``STACK[-1]`` is a tuple of keyword attribute names, ``STACK[-2]`` is the " -"class being matched against, and ``STACK[-3]`` is the match subject. " -"*count* is the number of positional sub-patterns." -msgstr "" - -#: ../../library/dis.rst:1707 -msgid "" -"Pop ``STACK[-1]``, ``STACK[-2]``, and ``STACK[-3]``. If ``STACK[-3]`` is an " -"instance of ``STACK[-2]`` and has the positional and keyword attributes " -"required by *count* and ``STACK[-1]``, push a tuple of extracted attributes." -" Otherwise, push ``None``." -msgstr "" - -#: ../../library/dis.rst:1721 -msgid "A no-op. Performs internal tracing, debugging and optimization checks." -msgstr "" - -#: ../../library/dis.rst:1723 -msgid "" -"The ``context`` operand consists of two parts. The lowest two bits indicate " -"where the ``RESUME`` occurs:" -msgstr "" - -#: ../../library/dis.rst:1726 -msgid "" -"``0`` The start of a function, which is neither a generator, coroutine nor " -"an async generator" -msgstr "" - -#: ../../library/dis.rst:1728 -msgid "``1`` After a ``yield`` expression" -msgstr "" - -#: ../../library/dis.rst:1729 -msgid "``2`` After a ``yield from`` expression" -msgstr "" - -#: ../../library/dis.rst:1730 -msgid "``3`` After an ``await`` expression" -msgstr "" - -#: ../../library/dis.rst:1732 -msgid "" -"The next bit is ``1`` if the RESUME is at except-depth ``1``, and ``0`` " -"otherwise." -msgstr "" - -#: ../../library/dis.rst:1737 -msgid "The oparg value changed to include information about except-depth" -msgstr "" - -#: ../../library/dis.rst:1743 -msgid "" -"Create a generator, coroutine, or async generator from the current frame. " -"Used as first opcode of in code object for the above mentioned callables. " -"Clear the current frame and return the newly created generator." -msgstr "" - -#: ../../library/dis.rst:1752 -msgid "" -"Equivalent to ``STACK[-1] = STACK[-2].send(STACK[-1])``. Used in ``yield " -"from`` and ``await`` statements." -msgstr "" - -#: ../../library/dis.rst:1755 -msgid "" -"If the call raises :exc:`StopIteration`, pop the top value from the stack, " -"push the exception's ``value`` attribute, and increment the bytecode counter" -" by *delta*." -msgstr "" - -#: ../../library/dis.rst:1764 -msgid "" -"This is not really an opcode. It identifies the dividing line between " -"opcodes in the range [0,255] which don't use their argument and those that " -"do (``< HAVE_ARGUMENT`` and ``>= HAVE_ARGUMENT``, respectively)." -msgstr "" - -#: ../../library/dis.rst:1768 -msgid "" -"If your application uses pseudo instructions or specialized instructions, " -"use the :data:`hasarg` collection instead." -msgstr "" - -#: ../../library/dis.rst:1771 -msgid "" -"Now every instruction has an argument, but opcodes ``< HAVE_ARGUMENT`` " -"ignore it. Before, only opcodes ``>= HAVE_ARGUMENT`` had an argument." -msgstr "" - -#: ../../library/dis.rst:1775 -msgid "" -"Pseudo instructions were added to the :mod:`dis` module, and for them it is " -"not true that comparison with ``HAVE_ARGUMENT`` indicates whether they use " -"their arg." -msgstr "" - -#: ../../library/dis.rst:1780 -msgid "Use :data:`hasarg` instead." -msgstr "" - -#: ../../library/dis.rst:1785 -msgid "" -"Calls an intrinsic function with one argument. Passes ``STACK[-1]`` as the " -"argument and sets ``STACK[-1]`` to the result. Used to implement " -"functionality that is not performance critical." -msgstr "" - -#: ../../library/dis.rst:1789 ../../library/dis.rst:1843 -msgid "The operand determines which intrinsic function is called:" -msgstr "" - -#: ../../library/dis.rst:1792 ../../library/dis.rst:1846 -msgid "Operand" -msgstr "" - -#: ../../library/dis.rst:1792 ../../library/dis.rst:1846 -msgid "Description" -msgstr "Deskripsi" - -#: ../../library/dis.rst:1794 -msgid "``INTRINSIC_1_INVALID``" -msgstr "" - -#: ../../library/dis.rst:1794 ../../library/dis.rst:1848 -msgid "Not valid" -msgstr "" - -#: ../../library/dis.rst:1796 -msgid "``INTRINSIC_PRINT``" -msgstr "" - -#: ../../library/dis.rst:1796 -msgid "Prints the argument to standard out. Used in the REPL." -msgstr "" - -#: ../../library/dis.rst:1799 -msgid "``INTRINSIC_IMPORT_STAR``" -msgstr "" - -#: ../../library/dis.rst:1799 -msgid "Performs ``import *`` for the named module." -msgstr "" - -#: ../../library/dis.rst:1802 -msgid "``INTRINSIC_STOPITERATION_ERROR``" -msgstr "" - -#: ../../library/dis.rst:1802 -msgid "Extracts the return value from a ``StopIteration`` exception." -msgstr "" - -#: ../../library/dis.rst:1805 -msgid "``INTRINSIC_ASYNC_GEN_WRAP``" -msgstr "" - -#: ../../library/dis.rst:1805 -msgid "Wraps an async generator value" -msgstr "" - -#: ../../library/dis.rst:1807 -msgid "``INTRINSIC_UNARY_POSITIVE``" -msgstr "" - -#: ../../library/dis.rst:1807 -msgid "Performs the unary ``+`` operation" -msgstr "" - -#: ../../library/dis.rst:1810 -msgid "``INTRINSIC_LIST_TO_TUPLE``" -msgstr "" - -#: ../../library/dis.rst:1810 -msgid "Converts a list to a tuple" -msgstr "" - -#: ../../library/dis.rst:1812 -msgid "``INTRINSIC_TYPEVAR``" -msgstr "" - -#: ../../library/dis.rst:1812 -msgid "Creates a :class:`typing.TypeVar`" -msgstr "" - -#: ../../library/dis.rst:1814 -msgid "``INTRINSIC_PARAMSPEC``" -msgstr "" - -#: ../../library/dis.rst:1814 -msgid "Creates a :class:`typing.ParamSpec`" -msgstr "" - -#: ../../library/dis.rst:1817 -msgid "``INTRINSIC_TYPEVARTUPLE``" -msgstr "" - -#: ../../library/dis.rst:1817 -msgid "Creates a :class:`typing.TypeVarTuple`" -msgstr "" - -#: ../../library/dis.rst:1820 -msgid "``INTRINSIC_SUBSCRIPT_GENERIC``" -msgstr "" - -#: ../../library/dis.rst:1820 -msgid "Returns :class:`typing.Generic` subscripted with the argument" -msgstr "" - -#: ../../library/dis.rst:1823 -msgid "``INTRINSIC_TYPEALIAS``" -msgstr "" - -#: ../../library/dis.rst:1823 -msgid "" -"Creates a :class:`typing.TypeAliasType`; used in the :keyword:`type` " -"statement. The argument is a tuple of the type alias's name, type " -"parameters, and value." -msgstr "" - -#: ../../library/dis.rst:1835 -msgid "" -"Calls an intrinsic function with two arguments. Used to implement " -"functionality that is not performance critical::" -msgstr "" - -#: ../../library/dis.rst:1838 -msgid "" -"arg2 = STACK.pop()\n" -"arg1 = STACK.pop()\n" -"result = intrinsic2(arg1, arg2)\n" -"STACK.append(result)" -msgstr "" - -#: ../../library/dis.rst:1848 -msgid "``INTRINSIC_2_INVALID``" -msgstr "" - -#: ../../library/dis.rst:1850 -msgid "``INTRINSIC_PREP_RERAISE_STAR``" -msgstr "" - -#: ../../library/dis.rst:1850 -msgid "Calculates the :exc:`ExceptionGroup` to raise from a ``try-except*``." -msgstr "" - -#: ../../library/dis.rst:1854 -msgid "``INTRINSIC_TYPEVAR_WITH_BOUND``" -msgstr "" - -#: ../../library/dis.rst:1854 -msgid "Creates a :class:`typing.TypeVar` with a bound." -msgstr "" - -#: ../../library/dis.rst:1857 -msgid "``INTRINSIC_TYPEVAR_WITH_CONSTRAINTS``" -msgstr "" - -#: ../../library/dis.rst:1857 -msgid "Creates a :class:`typing.TypeVar` with constraints." -msgstr "" - -#: ../../library/dis.rst:1861 -msgid "``INTRINSIC_SET_FUNCTION_TYPE_PARAMS``" -msgstr "" - -#: ../../library/dis.rst:1861 -msgid "Sets the ``__type_params__`` attribute of a function." -msgstr "" - -#: ../../library/dis.rst:1870 -msgid "" -"Performs special method lookup on ``STACK[-1]``. If " -"``type(STACK[-1]).__xxx__`` is a method, leave ``type(STACK[-1]).__xxx__; " -"STACK[-1]`` on the stack. If ``type(STACK[-1]).__xxx__`` is not a method, " -"leave ``STACK[-1].__xxx__; NULL`` on the stack." -msgstr "" - -#: ../../library/dis.rst:1879 -msgid "**Pseudo-instructions**" -msgstr "" - -#: ../../library/dis.rst:1881 -msgid "" -"These opcodes do not appear in Python bytecode. They are used by the " -"compiler but are replaced by real opcodes or removed before bytecode is " -"generated." -msgstr "" - -#: ../../library/dis.rst:1886 -msgid "" -"Set up an exception handler for the following code block. If an exception " -"occurs, the value stack level is restored to its current state and control " -"is transferred to the exception handler at ``target``." -msgstr "" - -#: ../../library/dis.rst:1893 -msgid "" -"Like ``SETUP_FINALLY``, but in case of an exception also pushes the last " -"instruction (``lasti``) to the stack so that ``RERAISE`` can restore it. If " -"an exception occurs, the value stack level and the last instruction on the " -"frame are restored to their current state, and control is transferred to the" -" exception handler at ``target``." -msgstr "" - -#: ../../library/dis.rst:1902 -msgid "" -"Like ``SETUP_CLEANUP``, but in case of an exception one more item is popped " -"from the stack before control is transferred to the exception handler at " -"``target``." -msgstr "" - -#: ../../library/dis.rst:1906 -msgid "" -"This variant is used in :keyword:`with` and :keyword:`async with` " -"constructs, which push the return value of the context manager's " -":meth:`~object.__enter__` or :meth:`~object.__aenter__` to the stack." -msgstr "" - -#: ../../library/dis.rst:1913 -msgid "" -"Marks the end of the code block associated with the last ``SETUP_FINALLY``, " -"``SETUP_CLEANUP`` or ``SETUP_WITH``." -msgstr "" - -#: ../../library/dis.rst:1919 -msgid "" -"Undirected relative jump instructions which are replaced by their directed " -"(forward/backward) counterparts by the assembler." -msgstr "" - -#: ../../library/dis.rst:1925 -msgid "" -"Conditional jumps which do not impact the stack. Replaced by the sequence " -"``COPY 1``, ``TO_BOOL``, ``POP_JUMP_IF_TRUE/FALSE``." -msgstr "" - -#: ../../library/dis.rst:1930 -msgid "" -"Pushes a reference to the cell contained in slot ``i`` of the \"fast " -"locals\" storage." -msgstr "" - -#: ../../library/dis.rst:1933 -msgid "" -"Note that ``LOAD_CLOSURE`` is replaced with ``LOAD_FAST`` in the assembler." -msgstr "" - -#: ../../library/dis.rst:1935 -msgid "This opcode is now a pseudo-instruction." -msgstr "" - -#: ../../library/dis.rst:1941 -msgid "" -"Optimized unbound method lookup. Emitted as a ``LOAD_ATTR`` opcode with a " -"flag set in the arg." -msgstr "" - -#: ../../library/dis.rst:1948 -msgid "Opcode collections" -msgstr "" - -#: ../../library/dis.rst:1950 -msgid "" -"These collections are provided for automatic introspection of bytecode " -"instructions:" -msgstr "" - -#: ../../library/dis.rst:1953 -msgid "" -"The collections now contain pseudo instructions and instrumented " -"instructions as well. These are opcodes with values ``>= MIN_PSEUDO_OPCODE``" -" and ``>= MIN_INSTRUMENTED_OPCODE``." -msgstr "" - -#: ../../library/dis.rst:1960 -msgid "Sequence of operation names, indexable using the bytecode." -msgstr "" - -#: ../../library/dis.rst:1965 -msgid "Dictionary mapping operation names to bytecodes." -msgstr "" - -#: ../../library/dis.rst:1970 -msgid "Sequence of all compare operation names." -msgstr "" - -#: ../../library/dis.rst:1975 -msgid "Sequence of bytecodes that use their argument." -msgstr "" - -#: ../../library/dis.rst:1982 -msgid "Sequence of bytecodes that access a constant." -msgstr "" - -#: ../../library/dis.rst:1987 -msgid "" -"Sequence of bytecodes that access a :term:`free (closure) variable `. 'free' in this context refers to names in the current scope that" -" are referenced by inner scopes or names in outer scopes that are referenced" -" from this scope. It does *not* include references to global or builtin " -"scopes." -msgstr "" - -#: ../../library/dis.rst:1995 -msgid "Sequence of bytecodes that access an attribute by name." -msgstr "" - -#: ../../library/dis.rst:2000 -msgid "Sequence of bytecodes that have a jump target. All jumps are relative." -msgstr "" - -#: ../../library/dis.rst:2007 -msgid "Sequence of bytecodes that access a local variable." -msgstr "" - -#: ../../library/dis.rst:2012 -msgid "Sequence of bytecodes of Boolean operations." -msgstr "" - -#: ../../library/dis.rst:2016 -msgid "Sequence of bytecodes that set an exception handler." -msgstr "" - -#: ../../library/dis.rst:2023 -msgid "Sequence of bytecodes that have a relative jump target." -msgstr "" - -#: ../../library/dis.rst:2025 -msgid "All jumps are now relative. Use :data:`hasjump`." -msgstr "" - -#: ../../library/dis.rst:2031 -msgid "Sequence of bytecodes that have an absolute jump target." -msgstr "" - -#: ../../library/dis.rst:2033 -msgid "All jumps are now relative. This list is empty." -msgstr "" - -#: ../../library/dis.rst:1632 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../library/dis.rst:1632 -msgid "slice" -msgstr "" diff --git a/python-newest.library--distribution/id.po b/python-newest.library--distribution/id.po deleted file mode 100644 index 1537e84..0000000 --- a/python-newest.library--distribution/id.po +++ /dev/null @@ -1,39 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# LIQRGV , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: LIQRGV , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/distribution.rst:3 -msgid "Software Packaging and Distribution" -msgstr "Pengemasan dan Distribusi Perangkat Lunak" - -#: ../../library/distribution.rst:5 -msgid "" -"These libraries help you with publishing and installing Python software. " -"While these modules are designed to work in conjunction with the `Python " -"Package Index `__, they can also be used with a local " -"index server, or without any index server at all." -msgstr "" -"Pustaka ini membantu Anda dengan menerbitkan dan melakukan instalasi " -"perangkat lunak Python. Sementara modul-modul ini dirancang untuk bekerja " -"bersama dengan `Python Package Index ` __, mereka juga " -"dapat digunakan dengan server indeks lokal, atau tanpa server indeks sama " -"sekali." diff --git a/python-newest.library--distutils/id.po b/python-newest.library--distutils/id.po deleted file mode 100644 index 703eafb..0000000 --- a/python-newest.library--distutils/id.po +++ /dev/null @@ -1,36 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/distutils.rst:2 -msgid ":mod:`!distutils` --- Building and installing Python modules" -msgstr "" - -#: ../../library/distutils.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.12 ` after being " -"deprecated in Python 3.10. The removal was decided in :pep:`632`, which has" -" `migration advice `_." -msgstr "" - -#: ../../library/distutils.rst:16 -msgid "" -"The last version of Python that provided the :mod:`!distutils` module was " -"`Python 3.11 `_." -msgstr "" diff --git a/python-newest.library--doctest/id.po b/python-newest.library--doctest/id.po deleted file mode 100644 index c77a58f..0000000 --- a/python-newest.library--doctest/id.po +++ /dev/null @@ -1,2675 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/doctest.rst:2 -msgid ":mod:`!doctest` --- Test interactive Python examples" -msgstr "" - -#: ../../library/doctest.rst:12 -msgid "**Source code:** :source:`Lib/doctest.py`" -msgstr "**Kode sumber:** :source:`Lib/doctest.py`" - -#: ../../library/doctest.rst:16 -msgid "" -"The :mod:`doctest` module searches for pieces of text that look like " -"interactive Python sessions, and then executes those sessions to verify that" -" they work exactly as shown. There are several common ways to use doctest:" -msgstr "" - -#: ../../library/doctest.rst:20 -msgid "" -"To check that a module's docstrings are up-to-date by verifying that all " -"interactive examples still work as documented." -msgstr "" - -#: ../../library/doctest.rst:23 -msgid "" -"To perform regression testing by verifying that interactive examples from a " -"test file or a test object work as expected." -msgstr "" - -#: ../../library/doctest.rst:26 -msgid "" -"To write tutorial documentation for a package, liberally illustrated with " -"input-output examples. Depending on whether the examples or the expository " -"text are emphasized, this has the flavor of \"literate testing\" or " -"\"executable documentation\"." -msgstr "" - -#: ../../library/doctest.rst:31 -msgid "Here's a complete but small example module::" -msgstr "Berikut modul contoh lengkap tapi sederhana::" - -#: ../../library/doctest.rst:33 -msgid "" -"\"\"\"\n" -"This is the \"example\" module.\n" -"\n" -"The example module supplies one function, factorial(). For example,\n" -"\n" -">>> factorial(5)\n" -"120\n" -"\"\"\"\n" -"\n" -"def factorial(n):\n" -" \"\"\"Return the factorial of n, an exact integer >= 0.\n" -"\n" -" >>> [factorial(n) for n in range(6)]\n" -" [1, 1, 2, 6, 24, 120]\n" -" >>> factorial(30)\n" -" 265252859812191058636308480000000\n" -" >>> factorial(-1)\n" -" Traceback (most recent call last):\n" -" ...\n" -" ValueError: n must be >= 0\n" -"\n" -" Factorials of floats are OK, but the float must be an exact integer:\n" -" >>> factorial(30.1)\n" -" Traceback (most recent call last):\n" -" ...\n" -" ValueError: n must be exact integer\n" -" >>> factorial(30.0)\n" -" 265252859812191058636308480000000\n" -"\n" -" It must also not be ridiculously large:\n" -" >>> factorial(1e100)\n" -" Traceback (most recent call last):\n" -" ...\n" -" OverflowError: n too large\n" -" \"\"\"\n" -"\n" -" import math\n" -" if not n >= 0:\n" -" raise ValueError(\"n must be >= 0\")\n" -" if math.floor(n) != n:\n" -" raise ValueError(\"n must be exact integer\")\n" -" if n+1 == n: # catch a value like 1e300\n" -" raise OverflowError(\"n too large\")\n" -" result = 1\n" -" factor = 2\n" -" while factor <= n:\n" -" result *= factor\n" -" factor += 1\n" -" return result\n" -"\n" -"\n" -"if __name__ == \"__main__\":\n" -" import doctest\n" -" doctest.testmod()" -msgstr "" - -#: ../../library/doctest.rst:88 -msgid "" -"If you run :file:`example.py` directly from the command line, :mod:`doctest`" -" works its magic:" -msgstr "" - -#: ../../library/doctest.rst:91 -msgid "" -"$ python example.py\n" -"$" -msgstr "" - -#: ../../library/doctest.rst:96 -msgid "" -"There's no output! That's normal, and it means all the examples worked. " -"Pass ``-v`` to the script, and :mod:`doctest` prints a detailed log of what " -"it's trying, and prints a summary at the end:" -msgstr "" - -#: ../../library/doctest.rst:100 -msgid "" -"$ python example.py -v\n" -"Trying:\n" -" factorial(5)\n" -"Expecting:\n" -" 120\n" -"ok\n" -"Trying:\n" -" [factorial(n) for n in range(6)]\n" -"Expecting:\n" -" [1, 1, 2, 6, 24, 120]\n" -"ok" -msgstr "" - -#: ../../library/doctest.rst:114 -msgid "And so on, eventually ending with:" -msgstr "Dan seterusnya, akhirnya diakhiri dengan:" - -#: ../../library/doctest.rst:116 -msgid "" -"Trying:\n" -" factorial(1e100)\n" -"Expecting:\n" -" Traceback (most recent call last):\n" -" ...\n" -" OverflowError: n too large\n" -"ok\n" -"2 items passed all tests:\n" -" 1 test in __main__\n" -" 6 tests in __main__.factorial\n" -"7 tests in 2 items.\n" -"7 passed.\n" -"Test passed.\n" -"$" -msgstr "" - -#: ../../library/doctest.rst:133 -msgid "" -"That's all you need to know to start making productive use of " -":mod:`doctest`! Jump in. The following sections provide full details. Note" -" that there are many examples of doctests in the standard Python test suite " -"and libraries. Especially useful examples can be found in the standard test " -"file :file:`Lib/test/test_doctest/test_doctest.py`." -msgstr "" - -#: ../../library/doctest.rst:139 -msgid "" -"Output is colorized by default and can be :ref:`controlled using environment" -" variables `." -msgstr "" - -#: ../../library/doctest.rst:147 -msgid "Simple Usage: Checking Examples in Docstrings" -msgstr "" - -#: ../../library/doctest.rst:149 -msgid "" -"The simplest way to start using doctest (but not necessarily the way you'll " -"continue to do it) is to end each module :mod:`!M` with::" -msgstr "" - -#: ../../library/doctest.rst:152 -msgid "" -"if __name__ == \"__main__\":\n" -" import doctest\n" -" doctest.testmod()" -msgstr "" - -#: ../../library/doctest.rst:156 -msgid ":mod:`!doctest` then examines docstrings in module :mod:`!M`." -msgstr "" - -#: ../../library/doctest.rst:158 -msgid "" -"Running the module as a script causes the examples in the docstrings to get " -"executed and verified::" -msgstr "" - -#: ../../library/doctest.rst:161 -msgid "python M.py" -msgstr "" - -#: ../../library/doctest.rst:163 -msgid "" -"This won't display anything unless an example fails, in which case the " -"failing example(s) and the cause(s) of the failure(s) are printed to stdout," -" and the final line of output is ``***Test Failed*** N failures.``, where " -"*N* is the number of examples that failed." -msgstr "" - -#: ../../library/doctest.rst:168 -msgid "Run it with the ``-v`` switch instead::" -msgstr "Operasikan dengan opsi ``-v`` sebagai gantinya::" - -#: ../../library/doctest.rst:170 -msgid "python M.py -v" -msgstr "" - -#: ../../library/doctest.rst:172 -msgid "" -"and a detailed report of all examples tried is printed to standard output, " -"along with assorted summaries at the end." -msgstr "" - -#: ../../library/doctest.rst:175 -msgid "" -"You can force verbose mode by passing ``verbose=True`` to :func:`testmod`, " -"or prohibit it by passing ``verbose=False``. In either of those cases, " -"``sys.argv`` is not examined by :func:`testmod` (so passing ``-v`` or not " -"has no effect)." -msgstr "" - -#: ../../library/doctest.rst:180 -msgid "" -"There is also a command line shortcut for running :func:`testmod`, see " -"section :ref:`doctest-cli`." -msgstr "" - -#: ../../library/doctest.rst:183 -msgid "" -"For more information on :func:`testmod`, see section :ref:`doctest-basic-" -"api`." -msgstr "" - -#: ../../library/doctest.rst:189 -msgid "Simple Usage: Checking Examples in a Text File" -msgstr "Penggunaan Sederhana: Memeriksa Contoh di Berkas Teks" - -#: ../../library/doctest.rst:191 -msgid "" -"Another simple application of doctest is testing interactive examples in a " -"text file. This can be done with the :func:`testfile` function::" -msgstr "" - -#: ../../library/doctest.rst:194 -msgid "" -"import doctest\n" -"doctest.testfile(\"example.txt\")" -msgstr "" - -#: ../../library/doctest.rst:197 -msgid "" -"That short script executes and verifies any interactive Python examples " -"contained in the file :file:`example.txt`. The file content is treated as " -"if it were a single giant docstring; the file doesn't need to contain a " -"Python program! For example, perhaps :file:`example.txt` contains this:" -msgstr "" - -#: ../../library/doctest.rst:202 -msgid "" -"The ``example`` module\n" -"======================\n" -"\n" -"Using ``factorial``\n" -"-------------------\n" -"\n" -"This is an example text file in reStructuredText format. First import\n" -"``factorial`` from the ``example`` module:\n" -"\n" -" >>> from example import factorial\n" -"\n" -"Now use it:\n" -"\n" -" >>> factorial(6)\n" -" 120" -msgstr "" - -#: ../../library/doctest.rst:220 -msgid "" -"Running ``doctest.testfile(\"example.txt\")`` then finds the error in this " -"documentation::" -msgstr "" - -#: ../../library/doctest.rst:223 -msgid "" -"File \"./example.txt\", line 14, in example.txt\n" -"Failed example:\n" -" factorial(6)\n" -"Expected:\n" -" 120\n" -"Got:\n" -" 720" -msgstr "" - -#: ../../library/doctest.rst:231 -msgid "" -"As with :func:`testmod`, :func:`testfile` won't display anything unless an " -"example fails. If an example does fail, then the failing example(s) and the" -" cause(s) of the failure(s) are printed to stdout, using the same format as " -":func:`testmod`." -msgstr "" - -#: ../../library/doctest.rst:236 -msgid "" -"By default, :func:`testfile` looks for files in the calling module's " -"directory. See section :ref:`doctest-basic-api` for a description of the " -"optional arguments that can be used to tell it to look for files in other " -"locations." -msgstr "" - -#: ../../library/doctest.rst:240 -msgid "" -"Like :func:`testmod`, :func:`testfile`'s verbosity can be set with the " -"``-v`` command-line switch or with the optional keyword argument *verbose*." -msgstr "" - -#: ../../library/doctest.rst:244 -msgid "" -"There is also a command line shortcut for running :func:`testfile`, see " -"section :ref:`doctest-cli`." -msgstr "" - -#: ../../library/doctest.rst:247 -msgid "" -"For more information on :func:`testfile`, see section :ref:`doctest-basic-" -"api`." -msgstr "" - -#: ../../library/doctest.rst:253 -msgid "Command-line Usage" -msgstr "" - -#: ../../library/doctest.rst:255 -msgid "" -"The :mod:`doctest` module can be invoked as a script from the command line:" -msgstr "" - -#: ../../library/doctest.rst:257 -msgid "python -m doctest [-v] [-o OPTION] [-f] file [file ...]" -msgstr "" - -#: ../../library/doctest.rst:265 -msgid "" -"Detailed report of all examples tried is printed to standard output, along " -"with assorted summaries at the end::" -msgstr "" - -#: ../../library/doctest.rst:268 -msgid "python -m doctest -v example.py" -msgstr "" - -#: ../../library/doctest.rst:270 -msgid "" -"This will import :file:`example.py` as a standalone module and run " -":func:`testmod` on it. Note that this may not work correctly if the file is " -"part of a package and imports other submodules from that package." -msgstr "" - -#: ../../library/doctest.rst:274 -msgid "" -"If the file name does not end with :file:`.py`, :mod:`!doctest` infers that " -"it must be run with :func:`testfile` instead::" -msgstr "" - -#: ../../library/doctest.rst:277 -msgid "python -m doctest -v example.txt" -msgstr "" - -#: ../../library/doctest.rst:281 -msgid "" -"Option flags control various aspects of doctest's behavior, see section " -":ref:`doctest-options`." -msgstr "" - -#: ../../library/doctest.rst:288 -msgid "This is shorthand for ``-o FAIL_FAST``." -msgstr "" - -#: ../../library/doctest.rst:296 -msgid "How It Works" -msgstr "Bagaimana Itu Bekerja" - -#: ../../library/doctest.rst:298 -msgid "" -"This section examines in detail how doctest works: which docstrings it looks" -" at, how it finds interactive examples, what execution context it uses, how " -"it handles exceptions, and how option flags can be used to control its " -"behavior. This is the information that you need to know to write doctest " -"examples; for information about actually running doctest on these examples, " -"see the following sections." -msgstr "" - -#: ../../library/doctest.rst:309 -msgid "Which Docstrings Are Examined?" -msgstr "Docstrings Mana yang Diperiksa?" - -#: ../../library/doctest.rst:311 -msgid "" -"The module docstring, and all function, class and method docstrings are " -"searched. Objects imported into the module are not searched." -msgstr "" - -#: ../../library/doctest.rst:314 -msgid "" -"In addition, there are cases when you want tests to be part of a module but " -"not part of the help text, which requires that the tests not be included in " -"the docstring. Doctest looks for a module-level variable called ``__test__``" -" and uses it to locate other tests. If ``M.__test__`` exists, it must be a " -"dict, and each entry maps a (string) name to a function object, class " -"object, or string. Function and class object docstrings found from " -"``M.__test__`` are searched, and strings are treated as if they were " -"docstrings. In output, a key ``K`` in ``M.__test__`` appears with name " -"``M.__test__.K``." -msgstr "" - -#: ../../library/doctest.rst:323 -msgid "" -"For example, place this block of code at the top of :file:`example.py`:" -msgstr "" - -#: ../../library/doctest.rst:325 -msgid "" -"__test__ = {\n" -" 'numbers': \"\"\"\n" -">>> factorial(6)\n" -"720\n" -"\n" -">>> [factorial(n) for n in range(6)]\n" -"[1, 1, 2, 6, 24, 120]\n" -"\"\"\"\n" -"}" -msgstr "" - -#: ../../library/doctest.rst:337 -msgid "" -"The value of ``example.__test__[\"numbers\"]`` will be treated as a " -"docstring and all the tests inside it will be run. It is important to note " -"that the value can be mapped to a function, class object, or module; if so, " -":mod:`!doctest` searches them recursively for docstrings, which are then " -"scanned for tests." -msgstr "" - -#: ../../library/doctest.rst:343 -msgid "" -"Any classes found are recursively searched similarly, to test docstrings in " -"their contained methods and nested classes." -msgstr "" - -#: ../../library/doctest.rst:350 -msgid "How are Docstring Examples Recognized?" -msgstr "Bagaimana Contoh Docstring Dikenali?" - -#: ../../library/doctest.rst:352 -msgid "" -"In most cases a copy-and-paste of an interactive console session works fine," -" but doctest isn't trying to do an exact emulation of any specific Python " -"shell." -msgstr "" - -#: ../../library/doctest.rst:357 -msgid "" -">>> # comments are ignored\n" -">>> x = 12\n" -">>> x\n" -"12\n" -">>> if x == 13:\n" -"... print(\"yes\")\n" -"... else:\n" -"... print(\"no\")\n" -"... print(\"NO\")\n" -"... print(\"NO!!!\")\n" -"...\n" -"no\n" -"NO\n" -"NO!!!\n" -">>>" -msgstr "" - -#: ../../library/doctest.rst:377 -msgid "" -"Any expected output must immediately follow the final ``'>>> '`` or ``'... " -"'`` line containing the code, and the expected output (if any) extends to " -"the next ``'>>> '`` or all-whitespace line." -msgstr "" - -#: ../../library/doctest.rst:381 -msgid "The fine print:" -msgstr "Tulisan halus:" - -#: ../../library/doctest.rst:383 -msgid "" -"Expected output cannot contain an all-whitespace line, since such a line is " -"taken to signal the end of expected output. If expected output does contain" -" a blank line, put ```` in your doctest example each place a " -"blank line is expected." -msgstr "" - -#: ../../library/doctest.rst:388 -msgid "" -"All hard tab characters are expanded to spaces, using 8-column tab stops. " -"Tabs in output generated by the tested code are not modified. Because any " -"hard tabs in the sample output *are* expanded, this means that if the code " -"output includes hard tabs, the only way the doctest can pass is if the " -":const:`NORMALIZE_WHITESPACE` option or :ref:`directive ` is in effect. Alternatively, the test can be rewritten to " -"capture the output and compare it to an expected value as part of the test." -" This handling of tabs in the source was arrived at through trial and " -"error, and has proven to be the least error prone way of handling them. It " -"is possible to use a different algorithm for handling tabs by writing a " -"custom :class:`DocTestParser` class." -msgstr "" - -#: ../../library/doctest.rst:400 -msgid "" -"Output to stdout is captured, but not output to stderr (exception tracebacks" -" are captured via a different means)." -msgstr "" - -#: ../../library/doctest.rst:403 -msgid "" -"If you continue a line via backslashing in an interactive session, or for " -"any other reason use a backslash, you should use a raw docstring, which will" -" preserve your backslashes exactly as you type them::" -msgstr "" - -#: ../../library/doctest.rst:407 -msgid "" -">>> def f(x):\n" -"... r'''Backslashes in a raw docstring: m\\n'''\n" -"...\n" -">>> print(f.__doc__)\n" -"Backslashes in a raw docstring: m\\n" -msgstr "" - -#: ../../library/doctest.rst:413 -msgid "" -"Otherwise, the backslash will be interpreted as part of the string. For " -"example, the ``\\n`` above would be interpreted as a newline character. " -"Alternatively, you can double each backslash in the doctest version (and not" -" use a raw string)::" -msgstr "" - -#: ../../library/doctest.rst:417 -msgid "" -">>> def f(x):\n" -"... '''Backslashes in a raw docstring: m\\\\n'''\n" -"...\n" -">>> print(f.__doc__)\n" -"Backslashes in a raw docstring: m\\n" -msgstr "" - -#: ../../library/doctest.rst:423 -msgid "The starting column doesn't matter::" -msgstr "Kolom awal tidak masalah::" - -#: ../../library/doctest.rst:425 -msgid "" -">>> assert \"Easy!\"\n" -" >>> import math\n" -" >>> math.floor(1.9)\n" -" 1" -msgstr "" - -#: ../../library/doctest.rst:430 -msgid "" -"and as many leading whitespace characters are stripped from the expected " -"output as appeared in the initial ``'>>> '`` line that started the example." -msgstr "" - -#: ../../library/doctest.rst:437 -msgid "What's the Execution Context?" -msgstr "Apa itu Konteks Eksekusi?" - -#: ../../library/doctest.rst:439 -msgid "" -"By default, each time :mod:`doctest` finds a docstring to test, it uses a " -"*shallow copy* of :mod:`!M`'s globals, so that running tests doesn't change " -"the module's real globals, and so that one test in :mod:`!M` can't leave " -"behind crumbs that accidentally allow another test to work. This means " -"examples can freely use any names defined at top-level in :mod:`!M`, and " -"names defined earlier in the docstring being run. Examples cannot see names " -"defined in other docstrings." -msgstr "" - -#: ../../library/doctest.rst:447 -msgid "" -"You can force use of your own dict as the execution context by passing " -"``globs=your_dict`` to :func:`testmod` or :func:`testfile` instead." -msgstr "" - -#: ../../library/doctest.rst:454 -msgid "What About Exceptions?" -msgstr "Bagaimana dengan Pengecualian?" - -#: ../../library/doctest.rst:456 -msgid "" -"No problem, provided that the traceback is the only output produced by the " -"example: just paste in the traceback. [#]_ Since tracebacks contain details" -" that are likely to change rapidly (for example, exact file paths and line " -"numbers), this is one case where doctest works hard to be flexible in what " -"it accepts." -msgstr "" - -#: ../../library/doctest.rst:462 -msgid "Simple example::" -msgstr "Contoh sederhana::" - -#: ../../library/doctest.rst:464 -msgid "" -">>> [1, 2, 3].remove(42)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ValueError: list.remove(x): x not in list" -msgstr "" - -#: ../../library/doctest.rst:469 -msgid "" -"That doctest succeeds if :exc:`ValueError` is raised, with the " -"``list.remove(x): x not in list`` detail as shown." -msgstr "" - -#: ../../library/doctest.rst:472 -msgid "" -"The expected output for an exception must start with a traceback header, " -"which may be either of the following two lines, indented the same as the " -"first line of the example::" -msgstr "" - -#: ../../library/doctest.rst:476 -msgid "" -"Traceback (most recent call last):\n" -"Traceback (innermost last):" -msgstr "" - -#: ../../library/doctest.rst:479 -msgid "" -"The traceback header is followed by an optional traceback stack, whose " -"contents are ignored by doctest. The traceback stack is typically omitted, " -"or copied verbatim from an interactive session." -msgstr "" - -#: ../../library/doctest.rst:483 -msgid "" -"The traceback stack is followed by the most interesting part: the line(s) " -"containing the exception type and detail. This is usually the last line of " -"a traceback, but can extend across multiple lines if the exception has a " -"multi-line detail::" -msgstr "" - -#: ../../library/doctest.rst:488 -msgid "" -">>> raise ValueError('multi\\n line\\ndetail')\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ValueError: multi\n" -" line\n" -"detail" -msgstr "" - -#: ../../library/doctest.rst:495 -msgid "" -"The last three lines (starting with :exc:`ValueError`) are compared against " -"the exception's type and detail, and the rest are ignored." -msgstr "" - -#: ../../library/doctest.rst:498 -msgid "" -"Best practice is to omit the traceback stack, unless it adds significant " -"documentation value to the example. So the last example is probably better " -"as::" -msgstr "" - -#: ../../library/doctest.rst:501 -msgid "" -">>> raise ValueError('multi\\n line\\ndetail')\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError: multi\n" -" line\n" -"detail" -msgstr "" - -#: ../../library/doctest.rst:508 -msgid "" -"Note that tracebacks are treated very specially. In particular, in the " -"rewritten example, the use of ``...`` is independent of doctest's " -":const:`ELLIPSIS` option. The ellipsis in that example could be left out, " -"or could just as well be three (or three hundred) commas or digits, or an " -"indented transcript of a Monty Python skit." -msgstr "" - -#: ../../library/doctest.rst:514 -msgid "Some details you should read once, but won't need to remember:" -msgstr "" - -#: ../../library/doctest.rst:516 -msgid "" -"Doctest can't guess whether your expected output came from an exception " -"traceback or from ordinary printing. So, e.g., an example that expects " -"``ValueError: 42 is prime`` will pass whether :exc:`ValueError` is actually " -"raised or if the example merely prints that traceback text. In practice, " -"ordinary output rarely begins with a traceback header line, so this doesn't " -"create real problems." -msgstr "" - -#: ../../library/doctest.rst:523 -msgid "" -"Each line of the traceback stack (if present) must be indented further than " -"the first line of the example, *or* start with a non-alphanumeric character." -" The first line following the traceback header indented the same and " -"starting with an alphanumeric is taken to be the start of the exception " -"detail. Of course this does the right thing for genuine tracebacks." -msgstr "" - -#: ../../library/doctest.rst:529 -msgid "" -"When the :const:`IGNORE_EXCEPTION_DETAIL` doctest option is specified, " -"everything following the leftmost colon and any module information in the " -"exception name is ignored." -msgstr "" - -#: ../../library/doctest.rst:533 -msgid "" -"The interactive shell omits the traceback header line for some " -":exc:`SyntaxError`\\ s. But doctest uses the traceback header line to " -"distinguish exceptions from non-exceptions. So in the rare case where you " -"need to test a :exc:`SyntaxError` that omits the traceback header, you will " -"need to manually add the traceback header line to your test example." -msgstr "" - -#: ../../library/doctest.rst:541 -msgid "" -"For some exceptions, Python displays the position of the error using ``^`` " -"markers and tildes::" -msgstr "" - -#: ../../library/doctest.rst:544 -msgid "" -">>> 1 + None\n" -" File \"\", line 1\n" -" 1 + None\n" -" ~~^~~~~~\n" -"TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'" -msgstr "" - -#: ../../library/doctest.rst:550 -msgid "" -"Since the lines showing the position of the error come before the exception " -"type and detail, they are not checked by doctest. For example, the " -"following test would pass, even though it puts the ``^`` marker in the wrong" -" location::" -msgstr "" - -#: ../../library/doctest.rst:554 -msgid "" -">>> 1 + None\n" -" File \"\", line 1\n" -" 1 + None\n" -" ^~~~~~~~\n" -"TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'" -msgstr "" - -#: ../../library/doctest.rst:565 -msgid "Option Flags" -msgstr "Penanda Opsi" - -#: ../../library/doctest.rst:567 -msgid "" -"A number of option flags control various aspects of doctest's behavior. " -"Symbolic names for the flags are supplied as module constants, which can be " -":ref:`bitwise ORed ` together and passed to various functions. The " -"names can also be used in :ref:`doctest directives `, " -"and may be passed to the doctest command line interface via the ``-o`` " -"option." -msgstr "" - -#: ../../library/doctest.rst:573 -msgid "" -"The first group of options define test semantics, controlling aspects of how" -" doctest decides whether actual output matches an example's expected output:" -msgstr "" - -#: ../../library/doctest.rst:579 -msgid "" -"By default, if an expected output block contains just ``1``, an actual " -"output block containing just ``1`` or just ``True`` is considered to be a " -"match, and similarly for ``0`` versus ``False``. When " -":const:`DONT_ACCEPT_TRUE_FOR_1` is specified, neither substitution is " -"allowed. The default behavior caters to that Python changed the return type" -" of many functions from integer to boolean; doctests expecting \"little " -"integer\" output still work in these cases. This option will probably go " -"away, but not for several years." -msgstr "" - -#: ../../library/doctest.rst:591 -msgid "" -"By default, if an expected output block contains a line containing only the " -"string ````, then that line will match a blank line in the actual" -" output. Because a genuinely blank line delimits the expected output, this " -"is the only way to communicate that a blank line is expected. When " -":const:`DONT_ACCEPT_BLANKLINE` is specified, this substitution is not " -"allowed." -msgstr "" - -#: ../../library/doctest.rst:600 -msgid "" -"When specified, all sequences of whitespace (blanks and newlines) are " -"treated as equal. Any sequence of whitespace within the expected output " -"will match any sequence of whitespace within the actual output. By default, " -"whitespace must match exactly. :const:`NORMALIZE_WHITESPACE` is especially " -"useful when a line of expected output is very long, and you want to wrap it " -"across multiple lines in your source." -msgstr "" - -#: ../../library/doctest.rst:611 -msgid "" -"When specified, an ellipsis marker (``...``) in the expected output can " -"match any substring in the actual output. This includes substrings that " -"span line boundaries, and empty substrings, so it's best to keep usage of " -"this simple. Complicated uses can lead to the same kinds of \"oops, it " -"matched too much!\" surprises that ``.*`` is prone to in regular " -"expressions." -msgstr "" - -#: ../../library/doctest.rst:620 -msgid "" -"When specified, doctests expecting exceptions pass so long as an exception " -"of the expected type is raised, even if the details (message and fully " -"qualified exception name) don't match." -msgstr "" - -#: ../../library/doctest.rst:624 -msgid "" -"For example, an example expecting ``ValueError: 42`` will pass if the actual" -" exception raised is ``ValueError: 3*14``, but will fail if, say, a " -":exc:`TypeError` is raised instead. It will also ignore any fully qualified " -"name included before the exception class, which can vary between " -"implementations and versions of Python and the code/libraries in use. Hence," -" all three of these variations will work with the flag specified:" -msgstr "" - -#: ../../library/doctest.rst:632 -msgid "" -">>> raise Exception('message')\n" -"Traceback (most recent call last):\n" -"Exception: message\n" -"\n" -">>> raise Exception('message')\n" -"Traceback (most recent call last):\n" -"builtins.Exception: message\n" -"\n" -">>> raise Exception('message')\n" -"Traceback (most recent call last):\n" -"__main__.Exception: message" -msgstr "" - -#: ../../library/doctest.rst:646 -msgid "" -"Note that :const:`ELLIPSIS` can also be used to ignore the details of the " -"exception message, but such a test may still fail based on whether the " -"module name is present or matches exactly." -msgstr "" - -#: ../../library/doctest.rst:650 -msgid "" -":const:`IGNORE_EXCEPTION_DETAIL` now also ignores any information relating " -"to the module containing the exception under test." -msgstr "" - -#: ../../library/doctest.rst:657 -msgid "" -"When specified, do not run the example at all. This can be useful in " -"contexts where doctest examples serve as both documentation and test cases, " -"and an example should be included for documentation purposes, but should not" -" be checked. E.g., the example's output might be random; or the example " -"might depend on resources which would be unavailable to the test driver." -msgstr "" - -#: ../../library/doctest.rst:663 -msgid "" -"The SKIP flag can also be used for temporarily \"commenting out\" examples." -msgstr "" - -#: ../../library/doctest.rst:668 -msgid "A bitmask or'ing together all the comparison flags above." -msgstr "Menggabungkan bitmask OR semua tanda perbandingan di atas." - -#: ../../library/doctest.rst:670 -msgid "The second group of options controls how test failures are reported:" -msgstr "" - -#: ../../library/doctest.rst:675 -msgid "" -"When specified, failures that involve multi-line expected and actual outputs" -" are displayed using a unified diff." -msgstr "" - -#: ../../library/doctest.rst:681 -msgid "" -"When specified, failures that involve multi-line expected and actual outputs" -" will be displayed using a context diff." -msgstr "" - -#: ../../library/doctest.rst:687 -msgid "" -"When specified, differences are computed by ``difflib.Differ``, using the " -"same algorithm as the popular :file:`ndiff.py` utility. This is the only " -"method that marks differences within lines as well as across lines. For " -"example, if a line of expected output contains digit ``1`` where actual " -"output contains letter ``l``, a line is inserted with a caret marking the " -"mismatching column positions." -msgstr "" - -#: ../../library/doctest.rst:696 -msgid "" -"When specified, display the first failing example in each doctest, but " -"suppress output for all remaining examples. This will prevent doctest from " -"reporting correct examples that break because of earlier failures; but it " -"might also hide incorrect examples that fail independently of the first " -"failure. When :const:`REPORT_ONLY_FIRST_FAILURE` is specified, the " -"remaining examples are still run, and still count towards the total number " -"of failures reported; only the output is suppressed." -msgstr "" - -#: ../../library/doctest.rst:707 -msgid "" -"When specified, exit after the first failing example and don't attempt to " -"run the remaining examples. Thus, the number of failures reported will be at" -" most 1. This flag may be useful during debugging, since examples after the" -" first failure won't even produce debugging output." -msgstr "" - -#: ../../library/doctest.rst:715 -msgid "A bitmask or'ing together all the reporting flags above." -msgstr "Menggabungkan bitmask OR semua tanda pelaporan di atas." - -#: ../../library/doctest.rst:718 -msgid "" -"There is also a way to register new option flag names, though this isn't " -"useful unless you intend to extend :mod:`doctest` internals via subclassing:" -msgstr "" - -#: ../../library/doctest.rst:724 -msgid "" -"Create a new option flag with a given name, and return the new flag's " -"integer value. :func:`register_optionflag` can be used when subclassing " -":class:`OutputChecker` or :class:`DocTestRunner` to create new options that " -"are supported by your subclasses. :func:`register_optionflag` should always" -" be called using the following idiom::" -msgstr "" - -#: ../../library/doctest.rst:730 -msgid "MY_FLAG = register_optionflag('MY_FLAG')" -msgstr "" - -#: ../../library/doctest.rst:740 -msgid "Directives" -msgstr "Petunjuk" - -#: ../../library/doctest.rst:742 -msgid "" -"Doctest directives may be used to modify the :ref:`option flags ` for an individual example. Doctest directives are special Python " -"comments following an example's source code:" -msgstr "" - -#: ../../library/doctest.rst:753 -msgid "" -"Whitespace is not allowed between the ``+`` or ``-`` and the directive " -"option name. The directive option name can be any of the option flag names " -"explained above." -msgstr "" - -#: ../../library/doctest.rst:757 -msgid "" -"An example's doctest directives modify doctest's behavior for that single " -"example. Use ``+`` to enable the named behavior, or ``-`` to disable it." -msgstr "" - -#: ../../library/doctest.rst:760 -msgid "For example, this test passes:" -msgstr "" - -#: ../../library/doctest.rst:762 -msgid "" -">>> print(list(range(20))) # doctest: +NORMALIZE_WHITESPACE\n" -"[0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n" -"10, 11, 12, 13, 14, 15, 16, 17, 18, 19]" -msgstr "" - -#: ../../library/doctest.rst:769 -msgid "" -"Without the directive it would fail, both because the actual output doesn't " -"have two blanks before the single-digit list elements, and because the " -"actual output is on a single line. This test also passes, and also requires" -" a directive to do so:" -msgstr "" - -#: ../../library/doctest.rst:774 -msgid "" -">>> print(list(range(20))) # doctest: +ELLIPSIS\n" -"[0, 1, ..., 18, 19]" -msgstr "" - -#: ../../library/doctest.rst:780 -msgid "" -"Multiple directives can be used on a single physical line, separated by " -"commas:" -msgstr "" - -#: ../../library/doctest.rst:783 -msgid "" -">>> print(list(range(20))) # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE\n" -"[0, 1, ..., 18, 19]" -msgstr "" - -#: ../../library/doctest.rst:789 -msgid "" -"If multiple directive comments are used for a single example, then they are " -"combined:" -msgstr "" - -#: ../../library/doctest.rst:792 -msgid "" -">>> print(list(range(20))) # doctest: +ELLIPSIS\n" -"... # doctest: +NORMALIZE_WHITESPACE\n" -"[0, 1, ..., 18, 19]" -msgstr "" - -#: ../../library/doctest.rst:799 -msgid "" -"As the previous example shows, you can add ``...`` lines to your example " -"containing only directives. This can be useful when an example is too long " -"for a directive to comfortably fit on the same line:" -msgstr "" - -#: ../../library/doctest.rst:803 -msgid "" -">>> print(list(range(5)) + list(range(10, 20)) + list(range(30, 40)))\n" -"... # doctest: +ELLIPSIS\n" -"[0, ..., 4, 10, ..., 19, 30, ..., 39]" -msgstr "" - -#: ../../library/doctest.rst:810 -msgid "" -"Note that since all options are disabled by default, and directives apply " -"only to the example they appear in, enabling options (via ``+`` in a " -"directive) is usually the only meaningful choice. However, option flags can" -" also be passed to functions that run doctests, establishing different " -"defaults. In such cases, disabling an option via ``-`` in a directive can " -"be useful." -msgstr "" - -#: ../../library/doctest.rst:820 -msgid "Warnings" -msgstr "Peringatan" - -#: ../../library/doctest.rst:822 -msgid "" -":mod:`doctest` is serious about requiring exact matches in expected output." -" If even a single character doesn't match, the test fails. This will " -"probably surprise you a few times, as you learn exactly what Python does and" -" doesn't guarantee about output. For example, when printing a set, Python " -"doesn't guarantee that the element is printed in any particular order, so a " -"test like ::" -msgstr "" - -#: ../../library/doctest.rst:828 -msgid "" -">>> foo()\n" -"{\"spam\", \"eggs\"}" -msgstr "" - -#: ../../library/doctest.rst:831 -msgid "is vulnerable! One workaround is to do ::" -msgstr "rentan! Salah satu solusinya adalah dengan melakukan ::" - -#: ../../library/doctest.rst:833 -msgid "" -">>> foo() == {\"spam\", \"eggs\"}\n" -"True" -msgstr "" - -#: ../../library/doctest.rst:836 -msgid "instead. Another is to do ::" -msgstr "sebagai gantinya. Yang lainnya adalah melakukan ::" - -#: ../../library/doctest.rst:838 -msgid "" -">>> d = sorted(foo())\n" -">>> d\n" -"['eggs', 'spam']" -msgstr "" - -#: ../../library/doctest.rst:842 -msgid "There are others, but you get the idea." -msgstr "" - -#: ../../library/doctest.rst:844 -msgid "Another bad idea is to print things that embed an object address, like" -msgstr "" - -#: ../../library/doctest.rst:846 -msgid "" -">>> id(1.0) # certain to fail some of the time\n" -"7948648\n" -">>> class C: pass\n" -">>> C() # the default repr() for instances embeds an address\n" -"" -msgstr "" - -#: ../../library/doctest.rst:854 -msgid "" -"The :const:`ELLIPSIS` directive gives a nice approach for the last example:" -msgstr "" - -#: ../../library/doctest.rst:856 -msgid "" -">>> C() # doctest: +ELLIPSIS\n" -"" -msgstr "" - -#: ../../library/doctest.rst:862 -msgid "" -"Floating-point numbers are also subject to small output variations across " -"platforms, because Python defers to the platform C library for float " -"formatting, and C libraries vary widely in quality here. ::" -msgstr "" - -#: ../../library/doctest.rst:866 -msgid "" -">>> 1./7 # risky\n" -"0.14285714285714285\n" -">>> print(1./7) # safer\n" -"0.142857142857\n" -">>> print(round(1./7, 6)) # much safer\n" -"0.142857" -msgstr "" - -#: ../../library/doctest.rst:873 -msgid "" -"Numbers of the form ``I/2.**J`` are safe across all platforms, and I often " -"contrive doctest examples to produce numbers of that form::" -msgstr "" - -#: ../../library/doctest.rst:876 -msgid "" -">>> 3./4 # utterly safe\n" -"0.75" -msgstr "" - -#: ../../library/doctest.rst:879 -msgid "" -"Simple fractions are also easier for people to understand, and that makes " -"for better documentation." -msgstr "" - -#: ../../library/doctest.rst:886 -msgid "Basic API" -msgstr "" - -#: ../../library/doctest.rst:888 -msgid "" -"The functions :func:`testmod` and :func:`testfile` provide a simple " -"interface to doctest that should be sufficient for most basic uses. For a " -"less formal introduction to these two functions, see sections :ref:`doctest-" -"simple-testmod` and :ref:`doctest-simple-testfile`." -msgstr "" - -#: ../../library/doctest.rst:896 -msgid "" -"All arguments except *filename* are optional, and should be specified in " -"keyword form." -msgstr "" - -#: ../../library/doctest.rst:899 -msgid "" -"Test examples in the file named *filename*. Return ``(failure_count, " -"test_count)``." -msgstr "" - -#: ../../library/doctest.rst:902 -msgid "" -"Optional argument *module_relative* specifies how the filename should be " -"interpreted:" -msgstr "" - -#: ../../library/doctest.rst:905 -msgid "" -"If *module_relative* is ``True`` (the default), then *filename* specifies an" -" OS-independent module-relative path. By default, this path is relative to " -"the calling module's directory; but if the *package* argument is specified, " -"then it is relative to that package. To ensure OS-independence, *filename* " -"should use ``/`` characters to separate path segments, and may not be an " -"absolute path (i.e., it may not begin with ``/``)." -msgstr "" - -#: ../../library/doctest.rst:912 -msgid "" -"If *module_relative* is ``False``, then *filename* specifies an OS-specific " -"path. The path may be absolute or relative; relative paths are resolved " -"with respect to the current working directory." -msgstr "" - -#: ../../library/doctest.rst:916 -msgid "" -"Optional argument *name* gives the name of the test; by default, or if " -"``None``, ``os.path.basename(filename)`` is used." -msgstr "" - -#: ../../library/doctest.rst:919 -msgid "" -"Optional argument *package* is a Python package or the name of a Python " -"package whose directory should be used as the base directory for a module-" -"relative filename. If no package is specified, then the calling module's " -"directory is used as the base directory for module-relative filenames. It " -"is an error to specify *package* if *module_relative* is ``False``." -msgstr "" - -#: ../../library/doctest.rst:925 -msgid "" -"Optional argument *globs* gives a dict to be used as the globals when " -"executing examples. A new shallow copy of this dict is created for the " -"doctest, so its examples start with a clean slate. By default, or if " -"``None``, a new empty dict is used." -msgstr "" - -#: ../../library/doctest.rst:930 -msgid "" -"Optional argument *extraglobs* gives a dict merged into the globals used to " -"execute examples. This works like :meth:`dict.update`: if *globs* and " -"*extraglobs* have a common key, the associated value in *extraglobs* appears" -" in the combined dict. By default, or if ``None``, no extra globals are " -"used. This is an advanced feature that allows parameterization of doctests." -" For example, a doctest can be written for a base class, using a generic " -"name for the class, then reused to test any number of subclasses by passing " -"an *extraglobs* dict mapping the generic name to the subclass to be tested." -msgstr "" - -#: ../../library/doctest.rst:939 -msgid "" -"Optional argument *verbose* prints lots of stuff if true, and prints only " -"failures if false; by default, or if ``None``, it's true if and only if " -"``'-v'`` is in ``sys.argv``." -msgstr "" - -#: ../../library/doctest.rst:943 -msgid "" -"Optional argument *report* prints a summary at the end when true, else " -"prints nothing at the end. In verbose mode, the summary is detailed, else " -"the summary is very brief (in fact, empty if all tests passed)." -msgstr "" - -#: ../../library/doctest.rst:947 -msgid "" -"Optional argument *optionflags* (default value 0) takes the :ref:`bitwise OR" -" ` of option flags. See section :ref:`doctest-options`." -msgstr "" - -#: ../../library/doctest.rst:951 -msgid "" -"Optional argument *raise_on_error* defaults to false. If true, an exception" -" is raised upon the first failure or unexpected exception in an example. " -"This allows failures to be post-mortem debugged. Default behavior is to " -"continue running examples." -msgstr "" - -#: ../../library/doctest.rst:956 ../../library/doctest.rst:1098 -msgid "" -"Optional argument *parser* specifies a :class:`DocTestParser` (or subclass) " -"that should be used to extract tests from the files. It defaults to a " -"normal parser (i.e., ``DocTestParser()``)." -msgstr "" - -#: ../../library/doctest.rst:960 ../../library/doctest.rst:1102 -msgid "" -"Optional argument *encoding* specifies an encoding that should be used to " -"convert the file to unicode." -msgstr "" - -#: ../../library/doctest.rst:966 -msgid "" -"All arguments are optional, and all except for *m* should be specified in " -"keyword form." -msgstr "" - -#: ../../library/doctest.rst:969 -msgid "" -"Test examples in docstrings in functions and classes reachable from module " -"*m* (or module :mod:`__main__` if *m* is not supplied or is ``None``), " -"starting with ``m.__doc__``." -msgstr "" - -#: ../../library/doctest.rst:973 -msgid "" -"Also test examples reachable from dict ``m.__test__``, if it exists. " -"``m.__test__`` maps names (strings) to functions, classes and strings; " -"function and class docstrings are searched for examples; strings are " -"searched directly, as if they were docstrings." -msgstr "" - -#: ../../library/doctest.rst:978 -msgid "" -"Only docstrings attached to objects belonging to module *m* are searched." -msgstr "" - -#: ../../library/doctest.rst:980 -msgid "Return ``(failure_count, test_count)``." -msgstr "" - -#: ../../library/doctest.rst:982 -msgid "" -"Optional argument *name* gives the name of the module; by default, or if " -"``None``, ``m.__name__`` is used." -msgstr "" - -#: ../../library/doctest.rst:985 -msgid "" -"Optional argument *exclude_empty* defaults to false. If true, objects for " -"which no doctests are found are excluded from consideration. The default is " -"a backward compatibility hack, so that code still using " -":meth:`doctest.master.summarize ` in conjunction " -"with :func:`testmod` continues to get output for objects with no tests. The " -"*exclude_empty* argument to the newer :class:`DocTestFinder` constructor " -"defaults to true." -msgstr "" - -#: ../../library/doctest.rst:993 -msgid "" -"Optional arguments *extraglobs*, *verbose*, *report*, *optionflags*, " -"*raise_on_error*, and *globs* are the same as for function :func:`testfile` " -"above, except that *globs* defaults to ``m.__dict__``." -msgstr "" - -#: ../../library/doctest.rst:1000 -msgid "" -"Test examples associated with object *f*; for example, *f* may be a string, " -"a module, a function, or a class object." -msgstr "" - -#: ../../library/doctest.rst:1003 -msgid "" -"A shallow copy of dictionary argument *globs* is used for the execution " -"context." -msgstr "" - -#: ../../library/doctest.rst:1005 -msgid "" -"Optional argument *name* is used in failure messages, and defaults to " -"``\"NoName\"``." -msgstr "" - -#: ../../library/doctest.rst:1008 -msgid "" -"If optional argument *verbose* is true, output is generated even if there " -"are no failures. By default, output is generated only in case of an example" -" failure." -msgstr "" - -#: ../../library/doctest.rst:1011 -msgid "" -"Optional argument *compileflags* gives the set of flags that should be used " -"by the Python compiler when running the examples. By default, or if " -"``None``, flags are deduced corresponding to the set of future features " -"found in *globs*." -msgstr "" - -#: ../../library/doctest.rst:1015 -msgid "" -"Optional argument *optionflags* works as for function :func:`testfile` " -"above." -msgstr "" - -#: ../../library/doctest.rst:1021 -msgid "Unittest API" -msgstr "" - -#: ../../library/doctest.rst:1023 -msgid "" -"As your collection of doctest'ed modules grows, you'll want a way to run all" -" their doctests systematically. :mod:`doctest` provides two functions that " -"can be used to create :mod:`unittest` test suites from modules and text " -"files containing doctests. To integrate with :mod:`unittest` test " -"discovery, include a :ref:`load_tests ` function in " -"your test module::" -msgstr "" - -#: ../../library/doctest.rst:1029 -msgid "" -"import unittest\n" -"import doctest\n" -"import my_module_with_doctests\n" -"\n" -"def load_tests(loader, tests, ignore):\n" -" tests.addTests(doctest.DocTestSuite(my_module_with_doctests))\n" -" return tests" -msgstr "" - -#: ../../library/doctest.rst:1037 -msgid "" -"There are two main functions for creating :class:`unittest.TestSuite` " -"instances from text files and modules with doctests:" -msgstr "" - -#: ../../library/doctest.rst:1043 -msgid "" -"Convert doctest tests from one or more text files to a " -":class:`unittest.TestSuite`." -msgstr "" - -#: ../../library/doctest.rst:1046 -msgid "" -"The returned :class:`unittest.TestSuite` is to be run by the unittest " -"framework and runs the interactive examples in each file. If an example in " -"any file fails, then the synthesized unit test fails, and a " -":exc:`failureException` exception is raised showing the name of the file " -"containing the test and a (sometimes approximate) line number. If all the " -"examples in a file are skipped, then the synthesized unit test is also " -"marked as skipped." -msgstr "" - -#: ../../library/doctest.rst:1053 -msgid "Pass one or more paths (as strings) to text files to be examined." -msgstr "" - -#: ../../library/doctest.rst:1055 -msgid "Options may be provided as keyword arguments:" -msgstr "" - -#: ../../library/doctest.rst:1057 -msgid "" -"Optional argument *module_relative* specifies how the filenames in *paths* " -"should be interpreted:" -msgstr "" - -#: ../../library/doctest.rst:1060 -msgid "" -"If *module_relative* is ``True`` (the default), then each filename in " -"*paths* specifies an OS-independent module-relative path. By default, this " -"path is relative to the calling module's directory; but if the *package* " -"argument is specified, then it is relative to that package. To ensure OS-" -"independence, each filename should use ``/`` characters to separate path " -"segments, and may not be an absolute path (i.e., it may not begin with " -"``/``)." -msgstr "" - -#: ../../library/doctest.rst:1068 -msgid "" -"If *module_relative* is ``False``, then each filename in *paths* specifies " -"an OS-specific path. The path may be absolute or relative; relative paths " -"are resolved with respect to the current working directory." -msgstr "" - -#: ../../library/doctest.rst:1072 -msgid "" -"Optional argument *package* is a Python package or the name of a Python " -"package whose directory should be used as the base directory for module-" -"relative filenames in *paths*. If no package is specified, then the calling" -" module's directory is used as the base directory for module-relative " -"filenames. It is an error to specify *package* if *module_relative* is " -"``False``." -msgstr "" - -#: ../../library/doctest.rst:1079 -msgid "" -"Optional argument *setUp* specifies a set-up function for the test suite. " -"This is called before running the tests in each file. The *setUp* function " -"will be passed a :class:`DocTest` object. The setUp function can access the" -" test globals as the *globs* attribute of the test passed." -msgstr "" - -#: ../../library/doctest.rst:1084 -msgid "" -"Optional argument *tearDown* specifies a tear-down function for the test " -"suite. This is called after running the tests in each file. The *tearDown*" -" function will be passed a :class:`DocTest` object. The setUp function can " -"access the test globals as the *globs* attribute of the test passed." -msgstr "" - -#: ../../library/doctest.rst:1089 ../../library/doctest.rst:1124 -msgid "" -"Optional argument *globs* is a dictionary containing the initial global " -"variables for the tests. A new copy of this dictionary is created for each " -"test. By default, *globs* is a new empty dictionary." -msgstr "" - -#: ../../library/doctest.rst:1093 -msgid "" -"Optional argument *optionflags* specifies the default doctest options for " -"the tests, created by or-ing together individual option flags. See section " -":ref:`doctest-options`. See function :func:`set_unittest_reportflags` below " -"for a better way to set reporting options." -msgstr "" - -#: ../../library/doctest.rst:1105 -msgid "" -"The global ``__file__`` is added to the globals provided to doctests loaded " -"from a text file using :func:`DocFileSuite`." -msgstr "" - -#: ../../library/doctest.rst:1111 -msgid "Convert doctest tests for a module to a :class:`unittest.TestSuite`." -msgstr "" - -#: ../../library/doctest.rst:1113 -msgid "" -"The returned :class:`unittest.TestSuite` is to be run by the unittest " -"framework and runs each doctest in the module. If any of the doctests fail," -" then the synthesized unit test fails, and a :exc:`failureException` " -"exception is raised showing the name of the file containing the test and a " -"(sometimes approximate) line number. If all the examples in a docstring are" -" skipped, then the synthesized unit test is also marked as skipped." -msgstr "" - -#: ../../library/doctest.rst:1120 -msgid "" -"Optional argument *module* provides the module to be tested. It can be a " -"module object or a (possibly dotted) module name. If not specified, the " -"module calling this function is used." -msgstr "" - -#: ../../library/doctest.rst:1128 -msgid "" -"Optional argument *extraglobs* specifies an extra set of global variables, " -"which is merged into *globs*. By default, no extra globals are used." -msgstr "" - -#: ../../library/doctest.rst:1131 -msgid "" -"Optional argument *test_finder* is the :class:`DocTestFinder` object (or a " -"drop-in replacement) that is used to extract doctests from the module." -msgstr "" - -#: ../../library/doctest.rst:1134 -msgid "" -"Optional arguments *setUp*, *tearDown*, and *optionflags* are the same as " -"for function :func:`DocFileSuite` above." -msgstr "" - -#: ../../library/doctest.rst:1137 -msgid "This function uses the same search technique as :func:`testmod`." -msgstr "" - -#: ../../library/doctest.rst:1139 -msgid "" -":func:`DocTestSuite` returns an empty :class:`unittest.TestSuite` if " -"*module* contains no docstrings instead of raising :exc:`ValueError`." -msgstr "" - -#: ../../library/doctest.rst:1145 -msgid "" -"When doctests which have been converted to unit tests by " -":func:`DocFileSuite` or :func:`DocTestSuite` fail, this exception is raised " -"showing the name of the file containing the test and a (sometimes " -"approximate) line number." -msgstr "" - -#: ../../library/doctest.rst:1149 -msgid "" -"Under the covers, :func:`DocTestSuite` creates a :class:`unittest.TestSuite`" -" out of :class:`!doctest.DocTestCase` instances, and :class:`!DocTestCase` " -"is a subclass of :class:`unittest.TestCase`. :class:`!DocTestCase` isn't " -"documented here (it's an internal detail), but studying its code can answer " -"questions about the exact details of :mod:`unittest` integration." -msgstr "" - -#: ../../library/doctest.rst:1155 -msgid "" -"Similarly, :func:`DocFileSuite` creates a :class:`unittest.TestSuite` out of" -" :class:`!doctest.DocFileCase` instances, and :class:`!DocFileCase` is a " -"subclass of :class:`!DocTestCase`." -msgstr "" - -#: ../../library/doctest.rst:1159 -msgid "" -"So both ways of creating a :class:`unittest.TestSuite` run instances of " -":class:`!DocTestCase`. This is important for a subtle reason: when you run " -":mod:`doctest` functions yourself, you can control the :mod:`doctest` " -"options in use directly, by passing option flags to :mod:`doctest` " -"functions. However, if you're writing a :mod:`unittest` framework, " -":mod:`unittest` ultimately controls when and how tests get run. The " -"framework author typically wants to control :mod:`doctest` reporting options" -" (perhaps, e.g., specified by command line options), but there's no way to " -"pass options through :mod:`unittest` to :mod:`doctest` test runners." -msgstr "" - -#: ../../library/doctest.rst:1169 -msgid "" -"For this reason, :mod:`doctest` also supports a notion of :mod:`doctest` " -"reporting flags specific to :mod:`unittest` support, via this function:" -msgstr "" - -#: ../../library/doctest.rst:1175 -msgid "Set the :mod:`doctest` reporting flags to use." -msgstr "" - -#: ../../library/doctest.rst:1177 -msgid "" -"Argument *flags* takes the :ref:`bitwise OR ` of option flags. See" -" section :ref:`doctest-options`. Only \"reporting flags\" can be used." -msgstr "" - -#: ../../library/doctest.rst:1180 -msgid "" -"This is a module-global setting, and affects all future doctests run by " -"module :mod:`unittest`: the :meth:`!runTest` method of " -":class:`!DocTestCase` looks at the option flags specified for the test case " -"when the :class:`!DocTestCase` instance was constructed. If no reporting " -"flags were specified (which is the typical and expected case), " -":mod:`!doctest`'s :mod:`unittest` reporting flags are :ref:`bitwise ORed " -"` into the option flags, and the option flags so augmented are " -"passed to the :class:`DocTestRunner` instance created to run the doctest. " -"If any reporting flags were specified when the :class:`!DocTestCase` " -"instance was constructed, :mod:`!doctest`'s :mod:`unittest` reporting flags " -"are ignored." -msgstr "" - -#: ../../library/doctest.rst:1191 -msgid "" -"The value of the :mod:`unittest` reporting flags in effect before the " -"function was called is returned by the function." -msgstr "" - -#: ../../library/doctest.rst:1198 -msgid "Advanced API" -msgstr "" - -#: ../../library/doctest.rst:1200 -msgid "" -"The basic API is a simple wrapper that's intended to make doctest easy to " -"use. It is fairly flexible, and should meet most users' needs; however, if " -"you require more fine-grained control over testing, or wish to extend " -"doctest's capabilities, then you should use the advanced API." -msgstr "" - -#: ../../library/doctest.rst:1205 -msgid "" -"The advanced API revolves around two container classes, which are used to " -"store the interactive examples extracted from doctest cases:" -msgstr "" - -#: ../../library/doctest.rst:1208 -msgid "" -":class:`Example`: A single Python :term:`statement`, paired with its " -"expected output." -msgstr "" - -#: ../../library/doctest.rst:1211 -msgid "" -":class:`DocTest`: A collection of :class:`Example`\\ s, typically extracted " -"from a single docstring or text file." -msgstr "" - -#: ../../library/doctest.rst:1214 -msgid "" -"Additional processing classes are defined to find, parse, and run, and check" -" doctest examples:" -msgstr "" - -#: ../../library/doctest.rst:1217 -msgid "" -":class:`DocTestFinder`: Finds all docstrings in a given module, and uses a " -":class:`DocTestParser` to create a :class:`DocTest` from every docstring " -"that contains interactive examples." -msgstr "" - -#: ../../library/doctest.rst:1221 -msgid "" -":class:`DocTestParser`: Creates a :class:`DocTest` object from a string " -"(such as an object's docstring)." -msgstr "" - -#: ../../library/doctest.rst:1224 -msgid "" -":class:`DocTestRunner`: Executes the examples in a :class:`DocTest`, and " -"uses an :class:`OutputChecker` to verify their output." -msgstr "" - -#: ../../library/doctest.rst:1227 -msgid "" -":class:`OutputChecker`: Compares the actual output from a doctest example " -"with the expected output, and decides whether they match." -msgstr "" - -#: ../../library/doctest.rst:1230 -msgid "" -"The relationships among these processing classes are summarized in the " -"following diagram::" -msgstr "" - -#: ../../library/doctest.rst:1233 -msgid "" -" list of:\n" -"+------+ +---------+\n" -"|module| --DocTestFinder-> | DocTest | --DocTestRunner-> results\n" -"+------+ | ^ +---------+ | ^ (printed)\n" -" | | | Example | | |\n" -" v | | ... | v |\n" -" DocTestParser | Example | OutputChecker\n" -" +---------+" -msgstr "" - -#: ../../library/doctest.rst:1246 -msgid "DocTest Objects" -msgstr "" - -#: ../../library/doctest.rst:1251 -msgid "" -"A collection of doctest examples that should be run in a single namespace. " -"The constructor arguments are used to initialize the attributes of the same " -"names." -msgstr "" - -#: ../../library/doctest.rst:1255 -msgid "" -":class:`DocTest` defines the following attributes. They are initialized by " -"the constructor, and should not be modified directly." -msgstr "" - -#: ../../library/doctest.rst:1261 -msgid "" -"A list of :class:`Example` objects encoding the individual interactive " -"Python examples that should be run by this test." -msgstr "" - -#: ../../library/doctest.rst:1267 -msgid "" -"The namespace (aka globals) that the examples should be run in. This is a " -"dictionary mapping names to values. Any changes to the namespace made by " -"the examples (such as binding new variables) will be reflected in " -":attr:`globs` after the test is run." -msgstr "" - -#: ../../library/doctest.rst:1275 -msgid "" -"A string name identifying the :class:`DocTest`. Typically, this is the name" -" of the object or file that the test was extracted from." -msgstr "" - -#: ../../library/doctest.rst:1281 -msgid "" -"The name of the file that this :class:`DocTest` was extracted from; or " -"``None`` if the filename is unknown, or if the :class:`DocTest` was not " -"extracted from a file." -msgstr "" - -#: ../../library/doctest.rst:1288 -msgid "" -"The line number within :attr:`filename` where this :class:`DocTest` begins, " -"or ``None`` if the line number is unavailable. This line number is zero-" -"based with respect to the beginning of the file." -msgstr "" - -#: ../../library/doctest.rst:1295 -msgid "" -"The string that the test was extracted from, or ``None`` if the string is " -"unavailable, or if the test was not extracted from a string." -msgstr "" - -#: ../../library/doctest.rst:1302 -msgid "Example Objects" -msgstr "" - -#: ../../library/doctest.rst:1307 -msgid "" -"A single interactive example, consisting of a Python statement and its " -"expected output. The constructor arguments are used to initialize the " -"attributes of the same names." -msgstr "" - -#: ../../library/doctest.rst:1312 -msgid "" -":class:`Example` defines the following attributes. They are initialized by " -"the constructor, and should not be modified directly." -msgstr "" - -#: ../../library/doctest.rst:1318 -msgid "" -"A string containing the example's source code. This source code consists of" -" a single Python statement, and always ends with a newline; the constructor " -"adds a newline when necessary." -msgstr "" - -#: ../../library/doctest.rst:1325 -msgid "" -"The expected output from running the example's source code (either from " -"stdout, or a traceback in case of exception). :attr:`want` ends with a " -"newline unless no output is expected, in which case it's an empty string. " -"The constructor adds a newline when necessary." -msgstr "" - -#: ../../library/doctest.rst:1333 -msgid "" -"The exception message generated by the example, if the example is expected " -"to generate an exception; or ``None`` if it is not expected to generate an " -"exception. This exception message is compared against the return value of " -":func:`traceback.format_exception_only`. :attr:`exc_msg` ends with a " -"newline unless it's ``None``. The constructor adds a newline if needed." -msgstr "" - -#: ../../library/doctest.rst:1342 -msgid "" -"The line number within the string containing this example where the example " -"begins. This line number is zero-based with respect to the beginning of the" -" containing string." -msgstr "" - -#: ../../library/doctest.rst:1349 -msgid "" -"The example's indentation in the containing string, i.e., the number of " -"space characters that precede the example's first prompt." -msgstr "" - -#: ../../library/doctest.rst:1355 -msgid "" -"A dictionary mapping from option flags to ``True`` or ``False``, which is " -"used to override default options for this example. Any option flags not " -"contained in this dictionary are left at their default value (as specified " -"by the :class:`DocTestRunner`'s :ref:`optionflags `). By " -"default, no options are set." -msgstr "" - -#: ../../library/doctest.rst:1365 -msgid "DocTestFinder objects" -msgstr "" - -#: ../../library/doctest.rst:1370 -msgid "" -"A processing class used to extract the :class:`DocTest`\\ s that are " -"relevant to a given object, from its docstring and the docstrings of its " -"contained objects. :class:`DocTest`\\ s can be extracted from modules, " -"classes, functions, methods, staticmethods, classmethods, and properties." -msgstr "" - -#: ../../library/doctest.rst:1375 -msgid "" -"The optional argument *verbose* can be used to display the objects searched " -"by the finder. It defaults to ``False`` (no output)." -msgstr "" - -#: ../../library/doctest.rst:1378 -msgid "" -"The optional argument *parser* specifies the :class:`DocTestParser` object " -"(or a drop-in replacement) that is used to extract doctests from docstrings." -msgstr "" - -#: ../../library/doctest.rst:1381 -msgid "" -"If the optional argument *recurse* is false, then :meth:`DocTestFinder.find`" -" will only examine the given object, and not any contained objects." -msgstr "" - -#: ../../library/doctest.rst:1384 -msgid "" -"If the optional argument *exclude_empty* is false, then " -":meth:`DocTestFinder.find` will include tests for objects with empty " -"docstrings." -msgstr "" - -#: ../../library/doctest.rst:1388 -msgid ":class:`DocTestFinder` defines the following method:" -msgstr "" - -#: ../../library/doctest.rst:1393 -msgid "" -"Return a list of the :class:`DocTest`\\ s that are defined by *obj*'s " -"docstring, or by any of its contained objects' docstrings." -msgstr "" - -#: ../../library/doctest.rst:1396 -msgid "" -"The optional argument *name* specifies the object's name; this name will be " -"used to construct names for the returned :class:`DocTest`\\ s. If *name* is" -" not specified, then ``obj.__name__`` is used." -msgstr "" - -#: ../../library/doctest.rst:1400 -msgid "" -"The optional parameter *module* is the module that contains the given " -"object. If the module is not specified or is ``None``, then the test finder " -"will attempt to automatically determine the correct module. The object's " -"module is used:" -msgstr "" - -#: ../../library/doctest.rst:1404 -msgid "As a default namespace, if *globs* is not specified." -msgstr "" - -#: ../../library/doctest.rst:1406 -msgid "" -"To prevent the DocTestFinder from extracting DocTests from objects that are " -"imported from other modules. (Contained objects with modules other than " -"*module* are ignored.)" -msgstr "" - -#: ../../library/doctest.rst:1410 -msgid "To find the name of the file containing the object." -msgstr "" - -#: ../../library/doctest.rst:1412 -msgid "To help find the line number of the object within its file." -msgstr "" - -#: ../../library/doctest.rst:1414 -msgid "" -"If *module* is ``False``, no attempt to find the module will be made. This " -"is obscure, of use mostly in testing doctest itself: if *module* is " -"``False``, or is ``None`` but cannot be found automatically, then all " -"objects are considered to belong to the (non-existent) module, so all " -"contained objects will (recursively) be searched for doctests." -msgstr "" - -#: ../../library/doctest.rst:1420 -msgid "" -"The globals for each :class:`DocTest` is formed by combining *globs* and " -"*extraglobs* (bindings in *extraglobs* override bindings in *globs*). A new" -" shallow copy of the globals dictionary is created for each " -":class:`DocTest`. If *globs* is not specified, then it defaults to the " -"module's *__dict__*, if specified, or ``{}`` otherwise. If *extraglobs* is " -"not specified, then it defaults to ``{}``." -msgstr "" - -#: ../../library/doctest.rst:1431 -msgid "DocTestParser objects" -msgstr "" - -#: ../../library/doctest.rst:1436 -msgid "" -"A processing class used to extract interactive examples from a string, and " -"use them to create a :class:`DocTest` object." -msgstr "" - -#: ../../library/doctest.rst:1440 -msgid ":class:`DocTestParser` defines the following methods:" -msgstr "" - -#: ../../library/doctest.rst:1445 -msgid "" -"Extract all doctest examples from the given string, and collect them into a " -":class:`DocTest` object." -msgstr "" - -#: ../../library/doctest.rst:1448 -msgid "" -"*globs*, *name*, *filename*, and *lineno* are attributes for the new " -":class:`DocTest` object. See the documentation for :class:`DocTest` for " -"more information." -msgstr "" - -#: ../../library/doctest.rst:1455 -msgid "" -"Extract all doctest examples from the given string, and return them as a " -"list of :class:`Example` objects. Line numbers are 0-based. The optional " -"argument *name* is a name identifying this string, and is only used for " -"error messages." -msgstr "" - -#: ../../library/doctest.rst:1462 -msgid "" -"Divide the given string into examples and intervening text, and return them " -"as a list of alternating :class:`Example`\\ s and strings. Line numbers for " -"the :class:`Example`\\ s are 0-based. The optional argument *name* is a " -"name identifying this string, and is only used for error messages." -msgstr "" - -#: ../../library/doctest.rst:1469 -msgid "TestResults objects" -msgstr "" - -#: ../../library/doctest.rst:1476 -msgid "Number of failed tests." -msgstr "" - -#: ../../library/doctest.rst:1480 -msgid "Number of attempted tests." -msgstr "" - -#: ../../library/doctest.rst:1484 -msgid "Number of skipped tests." -msgstr "" - -#: ../../library/doctest.rst:1492 -msgid "DocTestRunner objects" -msgstr "" - -#: ../../library/doctest.rst:1497 -msgid "" -"A processing class used to execute and verify the interactive examples in a " -":class:`DocTest`." -msgstr "" - -#: ../../library/doctest.rst:1500 -msgid "" -"The comparison between expected outputs and actual outputs is done by an " -":class:`OutputChecker`. This comparison may be customized with a number of " -"option flags; see section :ref:`doctest-options` for more information. If " -"the option flags are insufficient, then the comparison may also be " -"customized by passing a subclass of :class:`OutputChecker` to the " -"constructor." -msgstr "" - -#: ../../library/doctest.rst:1506 -msgid "" -"The test runner's display output can be controlled in two ways. First, an " -"output function can be passed to :meth:`run`; this function will be called " -"with strings that should be displayed. It defaults to ``sys.stdout.write``." -" If capturing the output is not sufficient, then the display output can be " -"also customized by subclassing DocTestRunner, and overriding the methods " -":meth:`report_start`, :meth:`report_success`, " -":meth:`report_unexpected_exception`, and :meth:`report_failure`." -msgstr "" - -#: ../../library/doctest.rst:1514 -msgid "" -"The optional keyword argument *checker* specifies the :class:`OutputChecker`" -" object (or drop-in replacement) that should be used to compare the expected" -" outputs to the actual outputs of doctest examples." -msgstr "" - -#: ../../library/doctest.rst:1518 -msgid "" -"The optional keyword argument *verbose* controls the " -":class:`DocTestRunner`'s verbosity. If *verbose* is ``True``, then " -"information is printed about each example, as it is run. If *verbose* is " -"``False``, then only failures are printed. If *verbose* is unspecified, or " -"``None``, then verbose output is used iff the command-line switch ``-v`` is " -"used." -msgstr "" - -#: ../../library/doctest.rst:1524 -msgid "" -"The optional keyword argument *optionflags* can be used to control how the " -"test runner compares expected output to actual output, and how it displays " -"failures. For more information, see section :ref:`doctest-options`." -msgstr "" - -#: ../../library/doctest.rst:1528 -msgid "" -"The test runner accumulates statistics. The aggregated number of attempted, " -"failed and skipped examples is also available via the :attr:`tries`, " -":attr:`failures` and :attr:`skips` attributes. The :meth:`run` and " -":meth:`summarize` methods return a :class:`TestResults` instance." -msgstr "" - -#: ../../library/doctest.rst:1533 -msgid ":class:`DocTestRunner` defines the following methods:" -msgstr "" - -#: ../../library/doctest.rst:1538 -msgid "" -"Report that the test runner is about to process the given example. This " -"method is provided to allow subclasses of :class:`DocTestRunner` to " -"customize their output; it should not be called directly." -msgstr "" - -#: ../../library/doctest.rst:1542 -msgid "" -"*example* is the example about to be processed. *test* is the test " -"*containing example*. *out* is the output function that was passed to " -":meth:`DocTestRunner.run`." -msgstr "" - -#: ../../library/doctest.rst:1549 -msgid "" -"Report that the given example ran successfully. This method is provided to " -"allow subclasses of :class:`DocTestRunner` to customize their output; it " -"should not be called directly." -msgstr "" - -#: ../../library/doctest.rst:1553 ../../library/doctest.rst:1564 -msgid "" -"*example* is the example about to be processed. *got* is the actual output " -"from the example. *test* is the test containing *example*. *out* is the " -"output function that was passed to :meth:`DocTestRunner.run`." -msgstr "" - -#: ../../library/doctest.rst:1560 -msgid "" -"Report that the given example failed. This method is provided to allow " -"subclasses of :class:`DocTestRunner` to customize their output; it should " -"not be called directly." -msgstr "" - -#: ../../library/doctest.rst:1571 -msgid "" -"Report that the given example raised an unexpected exception. This method is" -" provided to allow subclasses of :class:`DocTestRunner` to customize their " -"output; it should not be called directly." -msgstr "" - -#: ../../library/doctest.rst:1575 -msgid "" -"*example* is the example about to be processed. *exc_info* is a tuple " -"containing information about the unexpected exception (as returned by " -":func:`sys.exc_info`). *test* is the test containing *example*. *out* is " -"the output function that was passed to :meth:`DocTestRunner.run`." -msgstr "" - -#: ../../library/doctest.rst:1583 -msgid "" -"Run the examples in *test* (a :class:`DocTest` object), and display the " -"results using the writer function *out*. Return a :class:`TestResults` " -"instance." -msgstr "" - -#: ../../library/doctest.rst:1587 -msgid "" -"The examples are run in the namespace ``test.globs``. If *clear_globs* is " -"true (the default), then this namespace will be cleared after the test runs," -" to help with garbage collection. If you would like to examine the namespace" -" after the test completes, then use *clear_globs=False*." -msgstr "" - -#: ../../library/doctest.rst:1592 -msgid "" -"*compileflags* gives the set of flags that should be used by the Python " -"compiler when running the examples. If not specified, then it will default " -"to the set of future-import flags that apply to *globs*." -msgstr "" - -#: ../../library/doctest.rst:1596 -msgid "" -"The output of each example is checked using the :class:`DocTestRunner`'s " -"output checker, and the results are formatted by the " -":meth:`!DocTestRunner.report_\\*` methods." -msgstr "" - -#: ../../library/doctest.rst:1603 -msgid "" -"Print a summary of all the test cases that have been run by this " -"DocTestRunner, and return a :class:`TestResults` instance." -msgstr "" - -#: ../../library/doctest.rst:1606 -msgid "" -"The optional *verbose* argument controls how detailed the summary is. If " -"the verbosity is not specified, then the :class:`DocTestRunner`'s verbosity " -"is used." -msgstr "" - -#: ../../library/doctest.rst:1610 -msgid ":class:`DocTestParser` has the following attributes:" -msgstr "" - -#: ../../library/doctest.rst:1614 -msgid "Number of attempted examples." -msgstr "" - -#: ../../library/doctest.rst:1618 -msgid "Number of failed examples." -msgstr "" - -#: ../../library/doctest.rst:1622 -msgid "Number of skipped examples." -msgstr "" - -#: ../../library/doctest.rst:1630 -msgid "OutputChecker objects" -msgstr "" - -#: ../../library/doctest.rst:1635 -msgid "" -"A class used to check the whether the actual output from a doctest example " -"matches the expected output. :class:`OutputChecker` defines two methods: " -":meth:`check_output`, which compares a given pair of outputs, and returns " -"``True`` if they match; and :meth:`output_difference`, which returns a " -"string describing the differences between two outputs." -msgstr "" - -#: ../../library/doctest.rst:1642 -msgid ":class:`OutputChecker` defines the following methods:" -msgstr "" - -#: ../../library/doctest.rst:1646 -msgid "" -"Return ``True`` iff the actual output from an example (*got*) matches the " -"expected output (*want*). These strings are always considered to match if " -"they are identical; but depending on what option flags the test runner is " -"using, several non-exact match types are also possible. See section " -":ref:`doctest-options` for more information about option flags." -msgstr "" - -#: ../../library/doctest.rst:1655 -msgid "" -"Return a string describing the differences between the expected output for a" -" given example (*example*) and the actual output (*got*). *optionflags* is " -"the set of option flags used to compare *want* and *got*." -msgstr "" - -#: ../../library/doctest.rst:1663 -msgid "Debugging" -msgstr "" - -#: ../../library/doctest.rst:1665 -msgid "Doctest provides several mechanisms for debugging doctest examples:" -msgstr "" - -#: ../../library/doctest.rst:1667 -msgid "" -"Several functions convert doctests to executable Python programs, which can " -"be run under the Python debugger, :mod:`pdb`." -msgstr "" - -#: ../../library/doctest.rst:1670 -msgid "" -"The :class:`DebugRunner` class is a subclass of :class:`DocTestRunner` that " -"raises an exception for the first failing example, containing information " -"about that example. This information can be used to perform post-mortem " -"debugging on the example." -msgstr "" - -#: ../../library/doctest.rst:1675 -msgid "" -"The :mod:`unittest` cases generated by :func:`DocTestSuite` support the " -":meth:`debug` method defined by :class:`unittest.TestCase`." -msgstr "" - -#: ../../library/doctest.rst:1678 -msgid "" -"You can add a call to :func:`pdb.set_trace` in a doctest example, and you'll" -" drop into the Python debugger when that line is executed. Then you can " -"inspect current values of variables, and so on. For example, suppose " -":file:`a.py` contains just this module docstring::" -msgstr "" - -#: ../../library/doctest.rst:1683 -msgid "" -"\"\"\"\n" -">>> def f(x):\n" -"... g(x*2)\n" -">>> def g(x):\n" -"... print(x+3)\n" -"... import pdb; pdb.set_trace()\n" -">>> f(3)\n" -"9\n" -"\"\"\"" -msgstr "" - -#: ../../library/doctest.rst:1693 -msgid "Then an interactive Python session may look like this::" -msgstr "" - -#: ../../library/doctest.rst:1695 -msgid "" -">>> import a, doctest\n" -">>> doctest.testmod(a)\n" -"--Return--\n" -"> (3)g()->None\n" -"-> import pdb; pdb.set_trace()\n" -"(Pdb) list\n" -" 1 def g(x):\n" -" 2 print(x+3)\n" -" 3 -> import pdb; pdb.set_trace()\n" -"[EOF]\n" -"(Pdb) p x\n" -"6\n" -"(Pdb) step\n" -"--Return--\n" -"> (2)f()->None\n" -"-> g(x*2)\n" -"(Pdb) list\n" -" 1 def f(x):\n" -" 2 -> g(x*2)\n" -"[EOF]\n" -"(Pdb) p x\n" -"3\n" -"(Pdb) step\n" -"--Return--\n" -"> (1)?()->None\n" -"-> f(3)\n" -"(Pdb) cont\n" -"(0, 3)\n" -">>>" -msgstr "" - -#: ../../library/doctest.rst:1726 -msgid "" -"Functions that convert doctests to Python code, and possibly run the " -"synthesized code under the debugger:" -msgstr "" - -#: ../../library/doctest.rst:1732 -msgid "Convert text with examples to a script." -msgstr "" - -#: ../../library/doctest.rst:1734 -msgid "" -"Argument *s* is a string containing doctest examples. The string is " -"converted to a Python script, where doctest examples in *s* are converted to" -" regular code, and everything else is converted to Python comments. The " -"generated script is returned as a string. For example, ::" -msgstr "" - -#: ../../library/doctest.rst:1739 -msgid "" -"import doctest\n" -"print(doctest.script_from_examples(r\"\"\"\n" -" Set x and y to 1 and 2.\n" -" >>> x, y = 1, 2\n" -"\n" -" Print their sum:\n" -" >>> print(x+y)\n" -" 3\n" -"\"\"\"))" -msgstr "" - -#: ../../library/doctest.rst:1749 -msgid "displays::" -msgstr "" - -#: ../../library/doctest.rst:1751 -msgid "" -"# Set x and y to 1 and 2.\n" -"x, y = 1, 2\n" -"#\n" -"# Print their sum:\n" -"print(x+y)\n" -"# Expected:\n" -"## 3" -msgstr "" - -#: ../../library/doctest.rst:1759 -msgid "" -"This function is used internally by other functions (see below), but can " -"also be useful when you want to transform an interactive Python session into" -" a Python script." -msgstr "" - -#: ../../library/doctest.rst:1766 -msgid "Convert the doctest for an object to a script." -msgstr "" - -#: ../../library/doctest.rst:1768 -msgid "" -"Argument *module* is a module object, or dotted name of a module, containing" -" the object whose doctests are of interest. Argument *name* is the name " -"(within the module) of the object with the doctests of interest. The result" -" is a string, containing the object's docstring converted to a Python " -"script, as described for :func:`script_from_examples` above. For example, " -"if module :file:`a.py` contains a top-level function :func:`!f`, then ::" -msgstr "" - -#: ../../library/doctest.rst:1775 -msgid "" -"import a, doctest\n" -"print(doctest.testsource(a, \"a.f\"))" -msgstr "" - -#: ../../library/doctest.rst:1778 -msgid "" -"prints a script version of function :func:`!f`'s docstring, with doctests " -"converted to code, and the rest placed in comments." -msgstr "" - -#: ../../library/doctest.rst:1784 -msgid "Debug the doctests for an object." -msgstr "" - -#: ../../library/doctest.rst:1786 -msgid "" -"The *module* and *name* arguments are the same as for function " -":func:`testsource` above. The synthesized Python script for the named " -"object's docstring is written to a temporary file, and then that file is run" -" under the control of the Python debugger, :mod:`pdb`." -msgstr "" - -#: ../../library/doctest.rst:1791 -msgid "" -"A shallow copy of ``module.__dict__`` is used for both local and global " -"execution context." -msgstr "" - -#: ../../library/doctest.rst:1794 -msgid "" -"Optional argument *pm* controls whether post-mortem debugging is used. If " -"*pm* has a true value, the script file is run directly, and the debugger " -"gets involved only if the script terminates via raising an unhandled " -"exception. If it does, then post-mortem debugging is invoked, via " -":func:`pdb.post_mortem`, passing the traceback object from the unhandled " -"exception. If *pm* is not specified, or is false, the script is run under " -"the debugger from the start, via passing an appropriate :func:`exec` call to" -" :func:`pdb.run`." -msgstr "" - -#: ../../library/doctest.rst:1805 -msgid "Debug the doctests in a string." -msgstr "" - -#: ../../library/doctest.rst:1807 -msgid "" -"This is like function :func:`debug` above, except that a string containing " -"doctest examples is specified directly, via the *src* argument." -msgstr "" - -#: ../../library/doctest.rst:1810 -msgid "" -"Optional argument *pm* has the same meaning as in function :func:`debug` " -"above." -msgstr "" - -#: ../../library/doctest.rst:1812 -msgid "" -"Optional argument *globs* gives a dictionary to use as both local and global" -" execution context. If not specified, or ``None``, an empty dictionary is " -"used. If specified, a shallow copy of the dictionary is used." -msgstr "" - -#: ../../library/doctest.rst:1817 -msgid "" -"The :class:`DebugRunner` class, and the special exceptions it may raise, are" -" of most interest to testing framework authors, and will only be sketched " -"here. See the source code, and especially :class:`DebugRunner`'s docstring " -"(which is a doctest!) for more details:" -msgstr "" - -#: ../../library/doctest.rst:1825 -msgid "" -"A subclass of :class:`DocTestRunner` that raises an exception as soon as a " -"failure is encountered. If an unexpected exception occurs, an " -":exc:`UnexpectedException` exception is raised, containing the test, the " -"example, and the original exception. If the output doesn't match, then a " -":exc:`DocTestFailure` exception is raised, containing the test, the example," -" and the actual output." -msgstr "" - -#: ../../library/doctest.rst:1832 -msgid "" -"For information about the constructor parameters and methods, see the " -"documentation for :class:`DocTestRunner` in section :ref:`doctest-advanced-" -"api`." -msgstr "" - -#: ../../library/doctest.rst:1835 -msgid "" -"There are two exceptions that may be raised by :class:`DebugRunner` " -"instances:" -msgstr "" - -#: ../../library/doctest.rst:1840 -msgid "" -"An exception raised by :class:`DocTestRunner` to signal that a doctest " -"example's actual output did not match its expected output. The constructor " -"arguments are used to initialize the attributes of the same names." -msgstr "" - -#: ../../library/doctest.rst:1844 -msgid ":exc:`DocTestFailure` defines the following attributes:" -msgstr "" - -#: ../../library/doctest.rst:1849 ../../library/doctest.rst:1873 -msgid "" -"The :class:`DocTest` object that was being run when the example failed." -msgstr "" - -#: ../../library/doctest.rst:1854 ../../library/doctest.rst:1878 -msgid "The :class:`Example` that failed." -msgstr "" - -#: ../../library/doctest.rst:1859 -msgid "The example's actual output." -msgstr "" - -#: ../../library/doctest.rst:1864 -msgid "" -"An exception raised by :class:`DocTestRunner` to signal that a doctest " -"example raised an unexpected exception. The constructor arguments are used " -"to initialize the attributes of the same names." -msgstr "" - -#: ../../library/doctest.rst:1868 -msgid ":exc:`UnexpectedException` defines the following attributes:" -msgstr "" - -#: ../../library/doctest.rst:1883 -msgid "" -"A tuple containing information about the unexpected exception, as returned " -"by :func:`sys.exc_info`." -msgstr "" - -#: ../../library/doctest.rst:1890 -msgid "Soapbox" -msgstr "" - -#: ../../library/doctest.rst:1892 -msgid "" -"As mentioned in the introduction, :mod:`doctest` has grown to have three " -"primary uses:" -msgstr "" - -#: ../../library/doctest.rst:1895 -msgid "Checking examples in docstrings." -msgstr "" - -#: ../../library/doctest.rst:1897 -msgid "Regression testing." -msgstr "" - -#: ../../library/doctest.rst:1899 -msgid "Executable documentation / literate testing." -msgstr "" - -#: ../../library/doctest.rst:1901 -msgid "" -"These uses have different requirements, and it is important to distinguish " -"them. In particular, filling your docstrings with obscure test cases makes " -"for bad documentation." -msgstr "" - -#: ../../library/doctest.rst:1905 -msgid "" -"When writing a docstring, choose docstring examples with care. There's an " -"art to this that needs to be learned---it may not be natural at first. " -"Examples should add genuine value to the documentation. A good example can " -"often be worth many words. If done with care, the examples will be " -"invaluable for your users, and will pay back the time it takes to collect " -"them many times over as the years go by and things change. I'm still amazed" -" at how often one of my :mod:`doctest` examples stops working after a " -"\"harmless\" change." -msgstr "" - -#: ../../library/doctest.rst:1913 -msgid "" -"Doctest also makes an excellent tool for regression testing, especially if " -"you don't skimp on explanatory text. By interleaving prose and examples, it" -" becomes much easier to keep track of what's actually being tested, and why." -" When a test fails, good prose can make it much easier to figure out what " -"the problem is, and how it should be fixed. It's true that you could write " -"extensive comments in code-based testing, but few programmers do. Many have " -"found that using doctest approaches instead leads to much clearer tests. " -"Perhaps this is simply because doctest makes writing prose a little easier " -"than writing code, while writing comments in code is a little harder. I " -"think it goes deeper than just that: the natural attitude when writing a " -"doctest-based test is that you want to explain the fine points of your " -"software, and illustrate them with examples. This in turn naturally leads to" -" test files that start with the simplest features, and logically progress to" -" complications and edge cases. A coherent narrative is the result, instead " -"of a collection of isolated functions that test isolated bits of " -"functionality seemingly at random. It's a different attitude, and produces " -"different results, blurring the distinction between testing and explaining." -msgstr "" - -#: ../../library/doctest.rst:1931 -msgid "" -"Regression testing is best confined to dedicated objects or files. There " -"are several options for organizing tests:" -msgstr "" - -#: ../../library/doctest.rst:1934 -msgid "" -"Write text files containing test cases as interactive examples, and test the" -" files using :func:`testfile` or :func:`DocFileSuite`. This is recommended," -" although is easiest to do for new projects, designed from the start to use " -"doctest." -msgstr "" - -#: ../../library/doctest.rst:1939 -msgid "" -"Define functions named ``_regrtest_topic`` that consist of single " -"docstrings, containing test cases for the named topics. These functions can" -" be included in the same file as the module, or separated out into a " -"separate test file." -msgstr "" - -#: ../../library/doctest.rst:1943 -msgid "" -"Define a ``__test__`` dictionary mapping from regression test topics to " -"docstrings containing test cases." -msgstr "" - -#: ../../library/doctest.rst:1946 -msgid "" -"When you have placed your tests in a module, the module can itself be the " -"test runner. When a test fails, you can arrange for your test runner to re-" -"run only the failing doctest while you debug the problem. Here is a minimal" -" example of such a test runner::" -msgstr "" - -#: ../../library/doctest.rst:1951 -msgid "" -"if __name__ == '__main__':\n" -" import doctest\n" -" flags = doctest.REPORT_NDIFF|doctest.FAIL_FAST\n" -" if len(sys.argv) > 1:\n" -" name = sys.argv[1]\n" -" if name in globals():\n" -" obj = globals()[name]\n" -" else:\n" -" obj = __test__[name]\n" -" doctest.run_docstring_examples(obj, globals(), name=name,\n" -" optionflags=flags)\n" -" else:\n" -" fail, total = doctest.testmod(optionflags=flags)\n" -" print(f\"{fail} failures out of {total} tests\")" -msgstr "" - -#: ../../library/doctest.rst:1968 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/doctest.rst:1969 -msgid "" -"Examples containing both expected output and an exception are not supported." -" Trying to guess where one ends and the other begins is too error-prone, and" -" that also makes for a confusing test." -msgstr "" - -#: ../../library/doctest.rst:373 -msgid ">>>" -msgstr "" - -#: ../../library/doctest.rst:373 -msgid "interpreter prompt" -msgstr "" - -#: ../../library/doctest.rst:373 ../../library/doctest.rst:608 -msgid "..." -msgstr "" - -#: ../../library/doctest.rst:539 -msgid "^ (caret)" -msgstr "" - -#: ../../library/doctest.rst:539 -msgid "marker" -msgstr "" - -#: ../../library/doctest.rst:588 -msgid "" -msgstr "" - -#: ../../library/doctest.rst:608 ../../library/doctest.rst:733 -msgid "in doctests" -msgstr "" - -#: ../../library/doctest.rst:733 -msgid "# (hash)" -msgstr "" - -#: ../../library/doctest.rst:733 -msgid "+ (plus)" -msgstr "" - -#: ../../library/doctest.rst:733 -msgid "- (minus)" -msgstr "" diff --git a/python-newest.library--email/id.po b/python-newest.library--email/id.po deleted file mode 100644 index 2e3c46d..0000000 --- a/python-newest.library--email/id.po +++ /dev/null @@ -1,225 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Elmo , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.rst:2 -msgid ":mod:`!email` --- An email and MIME handling package" -msgstr "" - -#: ../../library/email.rst:11 -msgid "**Source code:** :source:`Lib/email/__init__.py`" -msgstr "**Kode sumber:** :source:`Lib/email/__init__.py`" - -#: ../../library/email.rst:15 -msgid "" -"The :mod:`email` package is a library for managing email messages. It is " -"specifically *not* designed to do any sending of email messages to SMTP " -"(:rfc:`2821`), NNTP, or other servers; those are functions of modules such " -"as :mod:`smtplib`. The :mod:`email` package attempts to be as RFC-compliant" -" as possible, supporting :rfc:`5322` and :rfc:`6532`, as well as such MIME-" -"related RFCs as :rfc:`2045`, :rfc:`2046`, :rfc:`2047`, :rfc:`2183`, and " -":rfc:`2231`." -msgstr "" - -#: ../../library/email.rst:23 -msgid "" -"The overall structure of the email package can be divided into three major " -"components, plus a fourth component that controls the behavior of the other " -"components." -msgstr "" -"Struktur keseluruhan paket email dapat dibagi menjadi tiga komponen utama, " -"ditambah komponen keempat yang mengontrol perilaku komponen lainnya." - -#: ../../library/email.rst:27 -msgid "" -"The central component of the package is an \"object model\" that represents " -"email messages. An application interacts with the package primarily through" -" the object model interface defined in the :mod:`~email.message` sub-module." -" The application can use this API to ask questions about an existing email," -" to construct a new email, or to add or remove email subcomponents that " -"themselves use the same object model interface. That is, following the " -"nature of email messages and their MIME subcomponents, the email object " -"model is a tree structure of objects that all provide the " -":class:`~email.message.EmailMessage` API." -msgstr "" -"Komponen utama dari paket tersebut adalah \"model objek\" yang mewakili " -"pesan email. Aplikasi berinteraksi dengan paket terutama melalui antarmuka " -"model objek yang ditentukan dalam sub-modul :mod:`~email.message`. Aplikasi " -"dapat menggunakan API ini untuk mengajukan pertanyaan tentang email yang " -"sudah ada, membuat email baru, atau untuk menambah atau menghapus " -"subkomponen email yang menggunakan antarmuka model objek yang sama. Artinya," -" mengikuti sifat pesan email dan subkomponen MIME-nya, model objek email " -"adalah struktur pohon objek yang semuanya menyediakan API " -":class:`~email.message.EmailMessage`." - -#: ../../library/email.rst:37 -msgid "" -"The other two major components of the package are the :mod:`~email.parser` " -"and the :mod:`~email.generator`. The parser takes the serialized version of" -" an email message (a stream of bytes) and converts it into a tree of " -":class:`~email.message.EmailMessage` objects. The generator takes an " -":class:`~email.message.EmailMessage` and turns it back into a serialized " -"byte stream. (The parser and generator also handle streams of text " -"characters, but this usage is discouraged as it is too easy to end up with " -"messages that are not valid in one way or another.)" -msgstr "" -"Dua komponen utama lainnya dari paket tersebut adalah :mod:`~email.parser` " -"dan :mod:`~email.generator`. Parser mengambil versi serial dari pesan email " -"(aliran byte) dan mengubahnya menjadi pohon objek " -":class:`~email.message.EmailMessage`. Generator mengambil " -":class:`~email.message.EmailMessage` dan mengubahnya kembali menjadi aliran " -"byte serial. (Pengurai dan generator juga menangani aliran karakter teks, " -"tetapi penggunaan ini tidak disarankan karena terlalu mudah untuk berakhir " -"dengan pesan yang tidak valid dalam satu atau lain cara.)" - -#: ../../library/email.rst:46 -msgid "" -"The control component is the :mod:`~email.policy` module. Every " -":class:`~email.message.EmailMessage`, every :mod:`~email.generator`, and " -"every :mod:`~email.parser` has an associated :mod:`~email.policy` object " -"that controls its behavior. Usually an application only needs to specify " -"the policy when an :class:`~email.message.EmailMessage` is created, either " -"by directly instantiating an :class:`~email.message.EmailMessage` to create" -" a new email, or by parsing an input stream using a :mod:`~email.parser`. " -"But the policy can be changed when the message is serialized using a " -":mod:`~email.generator`. This allows, for example, a generic email message " -"to be parsed from disk, but to serialize it using standard SMTP settings " -"when sending it to an email server." -msgstr "" -"Komponen kontrolnya adalah modul :mod:`~email.policy`. Setiap " -":class:`~email.message.EmailMessage`, setiap :mod:`~email.generator`, dan " -"setiap :mod:`~email.parser` memiliki objek terkait :mod:`~email.policy` yang" -" mengontrol perilakunya. Biasanya aplikasi hanya perlu menetapkan kebijakan " -"ketika :class:`~email.message.EmailMessage` dibuat, baik dengan langsung " -"membuat instance :class:`~email.message.EmailMessage` untuk membuat email " -"baru, atau dengan mengurai aliran input menggunakan :mod:`~email.parser`. " -"Namun kebijakan tersebut dapat diubah jika pesan diserialkan menggunakan " -":mod:`~email.generator`. Hal ini memungkinkan, misalnya, pesan email umum " -"diurai dari disk, tetapi untuk membuat serialnya menggunakan pengaturan SMTP" -" standar saat mengirimnya ke server email." - -#: ../../library/email.rst:58 -msgid "" -"The email package does its best to hide the details of the various governing" -" RFCs from the application. Conceptually the application should be able to " -"treat the email message as a structured tree of unicode text and binary " -"attachments, without having to worry about how these are represented when " -"serialized. In practice, however, it is often necessary to be aware of at " -"least some of the rules governing MIME messages and their structure, " -"specifically the names and nature of the MIME \"content types\" and how they" -" identify multipart documents. For the most part this knowledge should only" -" be required for more complex applications, and even then it should only be " -"the high level structure in question, and not the details of how those " -"structures are represented. Since MIME content types are used widely in " -"modern internet software (not just email), this will be a familiar concept " -"to many programmers." -msgstr "" - -#: ../../library/email.rst:71 -msgid "" -"The following sections describe the functionality of the :mod:`email` " -"package. We start with the :mod:`~email.message` object model, which is the " -"primary interface an application will use, and follow that with the " -":mod:`~email.parser` and :mod:`~email.generator` components. Then we cover " -"the :mod:`~email.policy` controls, which completes the treatment of the main" -" components of the library." -msgstr "" - -#: ../../library/email.rst:78 -msgid "" -"The next three sections cover the exceptions the package may raise and the " -"defects (non-compliance with the RFCs) that the :mod:`~email.parser` may " -"detect. Then we cover the :mod:`~email.headerregistry` and the " -":mod:`~email.contentmanager` sub-components, which provide tools for doing " -"more detailed manipulation of headers and payloads, respectively. Both of " -"these components contain features relevant to consuming and producing non-" -"trivial messages, but also document their extensibility APIs, which will be " -"of interest to advanced applications." -msgstr "" - -#: ../../library/email.rst:87 -msgid "" -"Following those is a set of examples of using the fundamental parts of the " -"APIs covered in the preceding sections." -msgstr "" - -#: ../../library/email.rst:90 -msgid "" -"The foregoing represent the modern (unicode friendly) API of the email " -"package. The remaining sections, starting with the " -":class:`~email.message.Message` class, cover the legacy " -":data:`~email.policy.compat32` API that deals much more directly with the " -"details of how email messages are represented. The " -":data:`~email.policy.compat32` API does *not* hide the details of the RFCs " -"from the application, but for applications that need to operate at that " -"level, they can be useful tools. This documentation is also relevant for " -"applications that are still using the :mod:`~email.policy.compat32` API for " -"backward compatibility reasons." -msgstr "" - -#: ../../library/email.rst:100 -msgid "" -"Docs reorganized and rewritten to promote the new " -":class:`~email.message.EmailMessage`/:class:`~email.policy.EmailPolicy` API." -msgstr "" - -#: ../../library/email.rst:105 -msgid "Contents of the :mod:`email` package documentation:" -msgstr "" - -#: ../../library/email.rst:120 -msgid "Legacy API:" -msgstr "" - -#: ../../library/email.rst:135 -msgid "Module :mod:`smtplib`" -msgstr "" - -#: ../../library/email.rst:136 -msgid "SMTP (Simple Mail Transport Protocol) client" -msgstr "" - -#: ../../library/email.rst:138 -msgid "Module :mod:`poplib`" -msgstr "" - -#: ../../library/email.rst:139 -msgid "POP (Post Office Protocol) client" -msgstr "" - -#: ../../library/email.rst:141 -msgid "Module :mod:`imaplib`" -msgstr "" - -#: ../../library/email.rst:142 -msgid "IMAP (Internet Message Access Protocol) client" -msgstr "" - -#: ../../library/email.rst:144 -msgid "Module :mod:`mailbox`" -msgstr "" - -#: ../../library/email.rst:145 -msgid "" -"Tools for creating, reading, and managing collections of messages on disk " -"using a variety standard formats." -msgstr "" diff --git a/python-newest.library--email_charset/id.po b/python-newest.library--email_charset/id.po deleted file mode 100644 index 8b34e0c..0000000 --- a/python-newest.library--email_charset/id.po +++ /dev/null @@ -1,294 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.charset.rst:2 -msgid ":mod:`!email.charset`: Representing character sets" -msgstr "" - -#: ../../library/email.charset.rst:7 -msgid "**Source code:** :source:`Lib/email/charset.py`" -msgstr "" - -#: ../../library/email.charset.rst:11 -msgid "" -"This module is part of the legacy (``Compat32``) email API. In the new API " -"only the aliases table is used." -msgstr "" - -#: ../../library/email.charset.rst:14 -msgid "" -"The remaining text in this section is the original documentation of the " -"module." -msgstr "" - -#: ../../library/email.charset.rst:16 -msgid "" -"This module provides a class :class:`Charset` for representing character " -"sets and character set conversions in email messages, as well as a character" -" set registry and several convenience methods for manipulating this " -"registry. Instances of :class:`Charset` are used in several other modules " -"within the :mod:`email` package." -msgstr "" - -#: ../../library/email.charset.rst:22 -msgid "Import this class from the :mod:`email.charset` module." -msgstr "" - -#: ../../library/email.charset.rst:27 -msgid "Map character sets to their email properties." -msgstr "" - -#: ../../library/email.charset.rst:29 -msgid "" -"This class provides information about the requirements imposed on email for " -"a specific character set. It also provides convenience routines for " -"converting between character sets, given the availability of the applicable " -"codecs. Given a character set, it will do its best to provide information " -"on how to use that character set in an email message in an RFC-compliant " -"way." -msgstr "" - -#: ../../library/email.charset.rst:35 -msgid "" -"Certain character sets must be encoded with quoted-printable or base64 when " -"used in email headers or bodies. Certain character sets must be converted " -"outright, and are not allowed in email." -msgstr "" - -#: ../../library/email.charset.rst:39 -msgid "" -"Optional *input_charset* is as described below; it is always coerced to " -"lower case. After being alias normalized it is also used as a lookup into " -"the registry of character sets to find out the header encoding, body " -"encoding, and output conversion codec to be used for the character set. For" -" example, if *input_charset* is ``iso-8859-1``, then headers and bodies will" -" be encoded using quoted-printable and no output conversion codec is " -"necessary. If *input_charset* is ``euc-jp``, then headers will be encoded " -"with base64, bodies will not be encoded, but output text will be converted " -"from the ``euc-jp`` character set to the ``iso-2022-jp`` character set." -msgstr "" - -#: ../../library/email.charset.rst:49 -msgid ":class:`Charset` instances have the following data attributes:" -msgstr "" - -#: ../../library/email.charset.rst:53 -msgid "" -"The initial character set specified. Common aliases are converted to their " -"*official* email names (e.g. ``latin_1`` is converted to ``iso-8859-1``). " -"Defaults to 7-bit ``us-ascii``." -msgstr "" - -#: ../../library/email.charset.rst:60 -msgid "" -"If the character set must be encoded before it can be used in an email " -"header, this attribute will be set to ``charset.QP`` (for quoted-printable)," -" ``charset.BASE64`` (for base64 encoding), or ``charset.SHORTEST`` for the " -"shortest of QP or BASE64 encoding. Otherwise, it will be ``None``." -msgstr "" - -#: ../../library/email.charset.rst:69 -msgid "" -"Same as *header_encoding*, but describes the encoding for the mail message's" -" body, which indeed may be different than the header encoding. " -"``charset.SHORTEST`` is not allowed for *body_encoding*." -msgstr "" - -#: ../../library/email.charset.rst:76 -msgid "" -"Some character sets must be converted before they can be used in email " -"headers or bodies. If the *input_charset* is one of them, this attribute " -"will contain the name of the character set output will be converted to. " -"Otherwise, it will be ``None``." -msgstr "" - -#: ../../library/email.charset.rst:84 -msgid "" -"The name of the Python codec used to convert the *input_charset* to Unicode." -" If no conversion codec is necessary, this attribute will be ``None``." -msgstr "" - -#: ../../library/email.charset.rst:91 -msgid "" -"The name of the Python codec used to convert Unicode to the " -"*output_charset*. If no conversion codec is necessary, this attribute will " -"have the same value as the *input_codec*." -msgstr "" - -#: ../../library/email.charset.rst:96 -msgid ":class:`Charset` instances also have the following methods:" -msgstr "" - -#: ../../library/email.charset.rst:100 -msgid "Return the content transfer encoding used for body encoding." -msgstr "" - -#: ../../library/email.charset.rst:102 -msgid "" -"This is either the string ``quoted-printable`` or ``base64`` depending on " -"the encoding used, or it is a function, in which case you should call the " -"function with a single argument, the Message object being encoded. The " -"function should then set the :mailheader:`Content-Transfer-Encoding` header " -"itself to whatever is appropriate." -msgstr "" - -#: ../../library/email.charset.rst:108 -msgid "" -"Returns the string ``quoted-printable`` if *body_encoding* is ``QP``, " -"returns the string ``base64`` if *body_encoding* is ``BASE64``, and returns " -"the string ``7bit`` otherwise." -msgstr "" - -#: ../../library/email.charset.rst:115 -msgid "Return the output character set." -msgstr "" - -#: ../../library/email.charset.rst:117 -msgid "" -"This is the *output_charset* attribute if that is not ``None``, otherwise it" -" is *input_charset*." -msgstr "" - -#: ../../library/email.charset.rst:123 -msgid "Header-encode the string *string*." -msgstr "" - -#: ../../library/email.charset.rst:125 -msgid "" -"The type of encoding (base64 or quoted-printable) will be based on the " -"*header_encoding* attribute." -msgstr "" - -#: ../../library/email.charset.rst:131 -msgid "Header-encode a *string* by converting it first to bytes." -msgstr "" - -#: ../../library/email.charset.rst:133 -msgid "" -"This is similar to :meth:`header_encode` except that the string is fit into " -"maximum line lengths as given by the argument *maxlengths*, which must be an" -" iterator: each element returned from this iterator will provide the next " -"maximum line length." -msgstr "" - -#: ../../library/email.charset.rst:141 -msgid "Body-encode the string *string*." -msgstr "" - -#: ../../library/email.charset.rst:143 -msgid "" -"The type of encoding (base64 or quoted-printable) will be based on the " -"*body_encoding* attribute." -msgstr "" - -#: ../../library/email.charset.rst:146 -msgid "" -"The :class:`Charset` class also provides a number of methods to support " -"standard operations and built-in functions." -msgstr "" - -#: ../../library/email.charset.rst:152 -msgid "" -"Returns *input_charset* as a string coerced to lower case. :meth:`!__repr__`" -" is an alias for :meth:`!__str__`." -msgstr "" - -#: ../../library/email.charset.rst:158 -msgid "" -"This method allows you to compare two :class:`Charset` instances for " -"equality." -msgstr "" - -#: ../../library/email.charset.rst:164 -msgid "" -"This method allows you to compare two :class:`Charset` instances for " -"inequality." -msgstr "" - -#: ../../library/email.charset.rst:167 -msgid "" -"The :mod:`email.charset` module also provides the following functions for " -"adding new entries to the global character set, alias, and codec registries:" -msgstr "" - -#: ../../library/email.charset.rst:173 -msgid "Add character properties to the global registry." -msgstr "" - -#: ../../library/email.charset.rst:175 -msgid "" -"*charset* is the input character set, and must be the canonical name of a " -"character set." -msgstr "" - -#: ../../library/email.charset.rst:178 -msgid "" -"Optional *header_enc* and *body_enc* is either ``charset.QP`` for quoted-" -"printable, ``charset.BASE64`` for base64 encoding, ``charset.SHORTEST`` for " -"the shortest of quoted-printable or base64 encoding, or ``None`` for no " -"encoding. ``SHORTEST`` is only valid for *header_enc*. The default is " -"``None`` for no encoding." -msgstr "" - -#: ../../library/email.charset.rst:184 -msgid "" -"Optional *output_charset* is the character set that the output should be in." -" Conversions will proceed from input charset, to Unicode, to the output " -"charset when the method :meth:`Charset.convert` is called. The default is " -"to output in the same character set as the input." -msgstr "" - -#: ../../library/email.charset.rst:189 -msgid "" -"Both *input_charset* and *output_charset* must have Unicode codec entries in" -" the module's character set-to-codec mapping; use :func:`add_codec` to add " -"codecs the module does not know about. See the :mod:`codecs` module's " -"documentation for more information." -msgstr "" - -#: ../../library/email.charset.rst:194 -msgid "" -"The global character set registry is kept in the module global dictionary " -"``CHARSETS``." -msgstr "" - -#: ../../library/email.charset.rst:200 -msgid "" -"Add a character set alias. *alias* is the alias name, e.g. ``latin-1``. " -"*canonical* is the character set's canonical name, e.g. ``iso-8859-1``." -msgstr "" - -#: ../../library/email.charset.rst:203 -msgid "" -"The global charset alias registry is kept in the module global dictionary " -"``ALIASES``." -msgstr "" - -#: ../../library/email.charset.rst:209 -msgid "" -"Add a codec that map characters in the given character set to and from " -"Unicode." -msgstr "" - -#: ../../library/email.charset.rst:211 -msgid "" -"*charset* is the canonical name of a character set. *codecname* is the name " -"of a Python codec, as appropriate for the second argument to the " -":class:`str`'s :meth:`~str.encode` method." -msgstr "" diff --git a/python-newest.library--email_compat32-message/id.po b/python-newest.library--email_compat32-message/id.po deleted file mode 100644 index 1c263bb..0000000 --- a/python-newest.library--email_compat32-message/id.po +++ /dev/null @@ -1,929 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.compat32-message.rst:4 -msgid "" -":mod:`email.message.Message`: Representing an email message using the " -":data:`~email.policy.compat32` API" -msgstr "" - -#: ../../library/email.compat32-message.rst:13 -msgid "" -"The :class:`Message` class is very similar to the " -":class:`~email.message.EmailMessage` class, without the methods added by " -"that class, and with the default behavior of certain other methods being " -"slightly different. We also document here some methods that, while " -"supported by the :class:`~email.message.EmailMessage` class, are not " -"recommended unless you are dealing with legacy code." -msgstr "" - -#: ../../library/email.compat32-message.rst:20 -msgid "The philosophy and structure of the two classes is otherwise the same." -msgstr "" - -#: ../../library/email.compat32-message.rst:22 -msgid "" -"This document describes the behavior under the default (for " -":class:`Message`) policy :attr:`~email.policy.Compat32`. If you are going " -"to use another policy, you should be using the " -":class:`~email.message.EmailMessage` class instead." -msgstr "" - -#: ../../library/email.compat32-message.rst:26 -msgid "" -"An email message consists of *headers* and a *payload*. Headers must be " -":rfc:`5322` style names and values, where the field name and value are " -"separated by a colon. The colon is not part of either the field name or the" -" field value. The payload may be a simple text message, or a binary object," -" or a structured sequence of sub-messages each with their own set of headers" -" and their own payload. The latter type of payload is indicated by the " -"message having a MIME type such as :mimetype:`multipart/\\*` or " -":mimetype:`message/rfc822`." -msgstr "" - -#: ../../library/email.compat32-message.rst:35 -msgid "" -"The conceptual model provided by a :class:`Message` object is that of an " -"ordered dictionary of headers with additional methods for accessing both " -"specialized information from the headers, for accessing the payload, for " -"generating a serialized version of the message, and for recursively walking " -"over the object tree. Note that duplicate headers are supported but special" -" methods must be used to access them." -msgstr "" - -#: ../../library/email.compat32-message.rst:42 -msgid "" -"The :class:`Message` pseudo-dictionary is indexed by the header names, which" -" must be ASCII values. The values of the dictionary are strings that are " -"supposed to contain only ASCII characters; there is some special handling " -"for non-ASCII input, but it doesn't always produce the correct results. " -"Headers are stored and returned in case-preserving form, but field names are" -" matched case-insensitively. There may also be a single envelope header, " -"also known as the *Unix-From* header or the ``From_`` header. The *payload*" -" is either a string or bytes, in the case of simple message objects, or a " -"list of :class:`Message` objects, for MIME container documents (e.g. " -":mimetype:`multipart/\\*` and :mimetype:`message/rfc822`)." -msgstr "" - -#: ../../library/email.compat32-message.rst:53 -msgid "Here are the methods of the :class:`Message` class:" -msgstr "" - -#: ../../library/email.compat32-message.rst:58 -msgid "" -"If *policy* is specified (it must be an instance of a :mod:`~email.policy` " -"class) use the rules it specifies to update and serialize the representation" -" of the message. If *policy* is not set, use the :class:`compat32 " -"` policy, which maintains backward compatibility with" -" the Python 3.2 version of the email package. For more information see the " -":mod:`~email.policy` documentation." -msgstr "" - -#: ../../library/email.compat32-message.rst:65 -msgid "The *policy* keyword argument was added." -msgstr "" - -#: ../../library/email.compat32-message.rst:70 -msgid "" -"Return the entire message flattened as a string. When optional *unixfrom* " -"is true, the envelope header is included in the returned string. *unixfrom* " -"defaults to ``False``. For backward compatibility reasons, *maxheaderlen* " -"defaults to ``0``, so if you want a different value you must override it " -"explicitly (the value specified for *max_line_length* in the policy will be " -"ignored by this method). The *policy* argument may be used to override the " -"default policy obtained from the message instance. This can be used to " -"control some of the formatting produced by the method, since the specified " -"*policy* will be passed to the ``Generator``." -msgstr "" - -#: ../../library/email.compat32-message.rst:80 -#: ../../library/email.compat32-message.rst:122 -msgid "" -"Flattening the message may trigger changes to the :class:`Message` if " -"defaults need to be filled in to complete the transformation to a string " -"(for example, MIME boundaries may be generated or modified)." -msgstr "" - -#: ../../library/email.compat32-message.rst:84 -msgid "" -"Note that this method is provided as a convenience and may not always format" -" the message the way you want. For example, by default it does not do the " -"mangling of lines that begin with ``From`` that is required by the Unix mbox" -" format. For more flexibility, instantiate a " -":class:`~email.generator.Generator` instance and use its " -":meth:`~email.generator.Generator.flatten` method directly. For example::" -msgstr "" - -#: ../../library/email.compat32-message.rst:91 -msgid "" -"from io import StringIO\n" -"from email.generator import Generator\n" -"fp = StringIO()\n" -"g = Generator(fp, mangle_from_=True, maxheaderlen=60)\n" -"g.flatten(msg)\n" -"text = fp.getvalue()" -msgstr "" - -#: ../../library/email.compat32-message.rst:98 -msgid "" -"If the message object contains binary data that is not encoded according to " -"RFC standards, the non-compliant data will be replaced by unicode \"unknown " -"character\" code points. (See also :meth:`.as_bytes` and " -":class:`~email.generator.BytesGenerator`.)" -msgstr "" - -#: ../../library/email.compat32-message.rst:103 -msgid "the *policy* keyword argument was added." -msgstr "" - -#: ../../library/email.compat32-message.rst:108 -msgid "" -"Equivalent to :meth:`.as_string`. Allows ``str(msg)`` to produce a string " -"containing the formatted message." -msgstr "" - -#: ../../library/email.compat32-message.rst:114 -msgid "" -"Return the entire message flattened as a bytes object. When optional " -"*unixfrom* is true, the envelope header is included in the returned string." -" *unixfrom* defaults to ``False``. The *policy* argument may be used to " -"override the default policy obtained from the message instance. This can be " -"used to control some of the formatting produced by the method, since the " -"specified *policy* will be passed to the ``BytesGenerator``." -msgstr "" - -#: ../../library/email.compat32-message.rst:126 -msgid "" -"Note that this method is provided as a convenience and may not always format" -" the message the way you want. For example, by default it does not do the " -"mangling of lines that begin with ``From`` that is required by the Unix mbox" -" format. For more flexibility, instantiate a " -":class:`~email.generator.BytesGenerator` instance and use its " -":meth:`~email.generator.BytesGenerator.flatten` method directly. For " -"example::" -msgstr "" - -#: ../../library/email.compat32-message.rst:134 -msgid "" -"from io import BytesIO\n" -"from email.generator import BytesGenerator\n" -"fp = BytesIO()\n" -"g = BytesGenerator(fp, mangle_from_=True, maxheaderlen=60)\n" -"g.flatten(msg)\n" -"text = fp.getvalue()" -msgstr "" - -#: ../../library/email.compat32-message.rst:146 -msgid "" -"Equivalent to :meth:`.as_bytes`. Allows ``bytes(msg)`` to produce a bytes " -"object containing the formatted message." -msgstr "" - -#: ../../library/email.compat32-message.rst:154 -msgid "" -"Return ``True`` if the message's payload is a list of sub-\\ " -":class:`Message` objects, otherwise return ``False``. When " -":meth:`is_multipart` returns ``False``, the payload should be a string " -"object (which might be a CTE encoded binary payload). (Note that " -":meth:`is_multipart` returning ``True`` does not necessarily mean that " -"\"msg.get_content_maintype() == 'multipart'\" will return the ``True``. For " -"example, ``is_multipart`` will return ``True`` when the :class:`Message` is " -"of type ``message/rfc822``.)" -msgstr "" - -#: ../../library/email.compat32-message.rst:166 -msgid "" -"Set the message's envelope header to *unixfrom*, which should be a string." -msgstr "" - -#: ../../library/email.compat32-message.rst:171 -msgid "" -"Return the message's envelope header. Defaults to ``None`` if the envelope " -"header was never set." -msgstr "" - -#: ../../library/email.compat32-message.rst:177 -msgid "" -"Add the given *payload* to the current payload, which must be ``None`` or a " -"list of :class:`Message` objects before the call. After the call, the " -"payload will always be a list of :class:`Message` objects. If you want to " -"set the payload to a scalar object (e.g. a string), use :meth:`set_payload` " -"instead." -msgstr "" - -#: ../../library/email.compat32-message.rst:183 -msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by " -":meth:`~email.message.EmailMessage.set_content` and the related ``make`` and" -" ``add`` methods." -msgstr "" - -#: ../../library/email.compat32-message.rst:191 -msgid "" -"Return the current payload, which will be a list of :class:`Message` objects" -" when :meth:`is_multipart` is ``True``, or a string when " -":meth:`is_multipart` is ``False``. If the payload is a list and you mutate " -"the list object, you modify the message's payload in place." -msgstr "" - -#: ../../library/email.compat32-message.rst:196 -msgid "" -"With optional argument *i*, :meth:`get_payload` will return the *i*-th " -"element of the payload, counting from zero, if :meth:`is_multipart` is " -"``True``. An :exc:`IndexError` will be raised if *i* is less than 0 or " -"greater than or equal to the number of items in the payload. If the payload" -" is a string (i.e. :meth:`is_multipart` is ``False``) and *i* is given, a " -":exc:`TypeError` is raised." -msgstr "" - -#: ../../library/email.compat32-message.rst:203 -msgid "" -"Optional *decode* is a flag indicating whether the payload should be decoded" -" or not, according to the :mailheader:`Content-Transfer-Encoding` header. " -"When ``True`` and the message is not a multipart, the payload will be " -"decoded if this header's value is ``quoted-printable`` or ``base64``. If " -"some other encoding is used, or :mailheader:`Content-Transfer-Encoding` " -"header is missing, the payload is returned as-is (undecoded). In all cases " -"the returned value is binary data. If the message is a multipart and the " -"*decode* flag is ``True``, then ``None`` is returned. If the payload is " -"base64 and it was not perfectly formed (missing padding, characters outside " -"the base64 alphabet), then an appropriate defect will be added to the " -"message's defect property (:class:`~email.errors.InvalidBase64PaddingDefect`" -" or :class:`~email.errors.InvalidBase64CharactersDefect`, respectively)." -msgstr "" - -#: ../../library/email.compat32-message.rst:217 -msgid "" -"When *decode* is ``False`` (the default) the body is returned as a string " -"without decoding the :mailheader:`Content-Transfer-Encoding`. However, for " -"a :mailheader:`Content-Transfer-Encoding` of 8bit, an attempt is made to " -"decode the original bytes using the ``charset`` specified by the " -":mailheader:`Content-Type` header, using the ``replace`` error handler. If " -"no ``charset`` is specified, or if the ``charset`` given is not recognized " -"by the email package, the body is decoded using the default ASCII charset." -msgstr "" - -#: ../../library/email.compat32-message.rst:226 -msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by " -":meth:`~email.message.EmailMessage.get_content` and " -":meth:`~email.message.EmailMessage.iter_parts`." -msgstr "" - -#: ../../library/email.compat32-message.rst:234 -msgid "" -"Set the entire message object's payload to *payload*. It is the client's " -"responsibility to ensure the payload invariants. Optional *charset* sets " -"the message's default character set; see :meth:`set_charset` for details." -msgstr "" - -#: ../../library/email.compat32-message.rst:238 -msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by " -":meth:`~email.message.EmailMessage.set_content`." -msgstr "" - -#: ../../library/email.compat32-message.rst:245 -msgid "" -"Set the character set of the payload to *charset*, which can either be a " -":class:`~email.charset.Charset` instance (see :mod:`email.charset`), a " -"string naming a character set, or ``None``. If it is a string, it will be " -"converted to a :class:`~email.charset.Charset` instance. If *charset* is " -"``None``, the ``charset`` parameter will be removed from the " -":mailheader:`Content-Type` header (the message will not be otherwise " -"modified). Anything else will generate a :exc:`TypeError`." -msgstr "" - -#: ../../library/email.compat32-message.rst:253 -msgid "" -"If there is no existing :mailheader:`MIME-Version` header one will be added." -" If there is no existing :mailheader:`Content-Type` header, one will be " -"added with a value of :mimetype:`text/plain`. Whether the " -":mailheader:`Content-Type` header already exists or not, its ``charset`` " -"parameter will be set to *charset.output_charset*. If " -"*charset.input_charset* and *charset.output_charset* differ, the payload " -"will be re-encoded to the *output_charset*. If there is no existing " -":mailheader:`Content-Transfer-Encoding` header, then the payload will be " -"transfer-encoded, if needed, using the specified " -":class:`~email.charset.Charset`, and a header with the appropriate value " -"will be added. If a :mailheader:`Content-Transfer-Encoding` header already " -"exists, the payload is assumed to already be correctly encoded using that " -":mailheader:`Content-Transfer-Encoding` and is not modified." -msgstr "" - -#: ../../library/email.compat32-message.rst:267 -msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by the *charset* parameter of the " -":meth:`email.emailmessage.EmailMessage.set_content` method." -msgstr "" - -#: ../../library/email.compat32-message.rst:275 -msgid "" -"Return the :class:`~email.charset.Charset` instance associated with the " -"message's payload." -msgstr "" - -#: ../../library/email.compat32-message.rst:278 -msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class it always returns ``None``." -msgstr "" - -#: ../../library/email.compat32-message.rst:283 -msgid "" -"The following methods implement a mapping-like interface for accessing the " -"message's :rfc:`2822` headers. Note that there are some semantic " -"differences between these methods and a normal mapping (i.e. dictionary) " -"interface. For example, in a dictionary there are no duplicate keys, but " -"here there may be duplicate message headers. Also, in dictionaries there is" -" no guaranteed order to the keys returned by :meth:`keys`, but in a " -":class:`Message` object, headers are always returned in the order they " -"appeared in the original message, or were added to the message later. Any " -"header deleted and then re-added are always appended to the end of the " -"header list." -msgstr "" - -#: ../../library/email.compat32-message.rst:293 -msgid "" -"These semantic differences are intentional and are biased toward maximal " -"convenience." -msgstr "" - -#: ../../library/email.compat32-message.rst:296 -msgid "" -"Note that in all cases, any envelope header present in the message is not " -"included in the mapping interface." -msgstr "" - -#: ../../library/email.compat32-message.rst:299 -msgid "" -"In a model generated from bytes, any header values that (in contravention of" -" the RFCs) contain non-ASCII bytes will, when retrieved through this " -"interface, be represented as :class:`~email.header.Header` objects with a " -"charset of ``unknown-8bit``." -msgstr "" - -#: ../../library/email.compat32-message.rst:307 -msgid "Return the total number of headers, including duplicates." -msgstr "" - -#: ../../library/email.compat32-message.rst:312 -msgid "" -"Return ``True`` if the message object has a field named *name*. Matching is " -"done case-insensitively and *name* should not include the trailing colon. " -"Used for the ``in`` operator, e.g.::" -msgstr "" - -#: ../../library/email.compat32-message.rst:316 -msgid "" -"if 'message-id' in myMessage:\n" -" print('Message-ID:', myMessage['message-id'])" -msgstr "" - -#: ../../library/email.compat32-message.rst:322 -msgid "" -"Return the value of the named header field. *name* should not include the " -"colon field separator. If the header is missing, ``None`` is returned; a " -":exc:`KeyError` is never raised." -msgstr "" - -#: ../../library/email.compat32-message.rst:326 -msgid "" -"Note that if the named field appears more than once in the message's " -"headers, exactly which of those field values will be returned is undefined." -" Use the :meth:`get_all` method to get the values of all the extant named " -"headers." -msgstr "" - -#: ../../library/email.compat32-message.rst:334 -msgid "" -"Add a header to the message with field name *name* and value *val*. The " -"field is appended to the end of the message's existing fields." -msgstr "" - -#: ../../library/email.compat32-message.rst:337 -msgid "" -"Note that this does *not* overwrite or delete any existing header with the " -"same name. If you want to ensure that the new header is the only one " -"present in the message with field name *name*, delete the field first, " -"e.g.::" -msgstr "" - -#: ../../library/email.compat32-message.rst:341 -msgid "" -"del msg['subject']\n" -"msg['subject'] = 'Python roolz!'" -msgstr "" - -#: ../../library/email.compat32-message.rst:347 -msgid "" -"Delete all occurrences of the field with name *name* from the message's " -"headers. No exception is raised if the named field isn't present in the " -"headers." -msgstr "" - -#: ../../library/email.compat32-message.rst:354 -msgid "Return a list of all the message's header field names." -msgstr "" - -#: ../../library/email.compat32-message.rst:359 -msgid "Return a list of all the message's field values." -msgstr "" - -#: ../../library/email.compat32-message.rst:364 -msgid "" -"Return a list of 2-tuples containing all the message's field headers and " -"values." -msgstr "" - -#: ../../library/email.compat32-message.rst:370 -msgid "" -"Return the value of the named header field. This is identical to " -":meth:`~object.__getitem__` except that optional *failobj* is returned if " -"the named header is missing (defaults to ``None``)." -msgstr "" - -#: ../../library/email.compat32-message.rst:374 -msgid "Here are some additional useful methods:" -msgstr "" - -#: ../../library/email.compat32-message.rst:379 -msgid "" -"Return a list of all the values for the field named *name*. If there are no " -"such named headers in the message, *failobj* is returned (defaults to " -"``None``)." -msgstr "" - -#: ../../library/email.compat32-message.rst:386 -msgid "" -"Extended header setting. This method is similar to :meth:`__setitem__` " -"except that additional header parameters can be provided as keyword " -"arguments. *_name* is the header field to add and *_value* is the *primary*" -" value for the header." -msgstr "" - -#: ../../library/email.compat32-message.rst:391 -msgid "" -"For each item in the keyword argument dictionary *_params*, the key is taken" -" as the parameter name, with underscores converted to dashes (since dashes " -"are illegal in Python identifiers). Normally, the parameter will be added " -"as ``key=\"value\"`` unless the value is ``None``, in which case only the " -"key will be added. If the value contains non-ASCII characters, it can be " -"specified as a three tuple in the format ``(CHARSET, LANGUAGE, VALUE)``, " -"where ``CHARSET`` is a string naming the charset to be used to encode the " -"value, ``LANGUAGE`` can usually be set to ``None`` or the empty string (see " -":rfc:`2231` for other possibilities), and ``VALUE`` is the string value " -"containing non-ASCII code points. If a three tuple is not passed and the " -"value contains non-ASCII characters, it is automatically encoded in " -":rfc:`2231` format using a ``CHARSET`` of ``utf-8`` and a ``LANGUAGE`` of " -"``None``." -msgstr "" - -#: ../../library/email.compat32-message.rst:405 -msgid "Here's an example::" -msgstr "" - -#: ../../library/email.compat32-message.rst:407 -msgid "" -"msg.add_header('Content-Disposition', 'attachment', filename='bud.gif')" -msgstr "" - -#: ../../library/email.compat32-message.rst:409 -msgid "This will add a header that looks like ::" -msgstr "" - -#: ../../library/email.compat32-message.rst:411 -msgid "Content-Disposition: attachment; filename=\"bud.gif\"" -msgstr "" - -#: ../../library/email.compat32-message.rst:413 -msgid "An example with non-ASCII characters::" -msgstr "" - -#: ../../library/email.compat32-message.rst:415 -msgid "" -"msg.add_header('Content-Disposition', 'attachment',\n" -" filename=('iso-8859-1', '', 'Fußballer.ppt'))" -msgstr "" - -#: ../../library/email.compat32-message.rst:418 -msgid "Which produces ::" -msgstr "" - -#: ../../library/email.compat32-message.rst:420 -msgid "Content-Disposition: attachment; filename*=\"iso-8859-1''Fu%DFballer.ppt\"" -msgstr "" - -#: ../../library/email.compat32-message.rst:425 -msgid "" -"Replace a header. Replace the first header found in the message that " -"matches *_name*, retaining header order and field name case. If no matching" -" header was found, a :exc:`KeyError` is raised." -msgstr "" - -#: ../../library/email.compat32-message.rst:432 -msgid "" -"Return the message's content type. The returned string is coerced to lower " -"case of the form :mimetype:`maintype/subtype`. If there was no " -":mailheader:`Content-Type` header in the message the default type as given " -"by :meth:`get_default_type` will be returned. Since according to " -":rfc:`2045`, messages always have a default type, :meth:`get_content_type` " -"will always return a value." -msgstr "" - -#: ../../library/email.compat32-message.rst:439 -msgid "" -":rfc:`2045` defines a message's default type to be :mimetype:`text/plain` " -"unless it appears inside a :mimetype:`multipart/digest` container, in which " -"case it would be :mimetype:`message/rfc822`. If the :mailheader:`Content-" -"Type` header has an invalid type specification, :rfc:`2045` mandates that " -"the default type be :mimetype:`text/plain`." -msgstr "" - -#: ../../library/email.compat32-message.rst:448 -msgid "" -"Return the message's main content type. This is the :mimetype:`maintype` " -"part of the string returned by :meth:`get_content_type`." -msgstr "" - -#: ../../library/email.compat32-message.rst:454 -msgid "" -"Return the message's sub-content type. This is the :mimetype:`subtype` part" -" of the string returned by :meth:`get_content_type`." -msgstr "" - -#: ../../library/email.compat32-message.rst:460 -msgid "" -"Return the default content type. Most messages have a default content type " -"of :mimetype:`text/plain`, except for messages that are subparts of " -":mimetype:`multipart/digest` containers. Such subparts have a default " -"content type of :mimetype:`message/rfc822`." -msgstr "" - -#: ../../library/email.compat32-message.rst:468 -msgid "" -"Set the default content type. *ctype* should either be " -":mimetype:`text/plain` or :mimetype:`message/rfc822`, although this is not " -"enforced. The default content type is not stored in the " -":mailheader:`Content-Type` header." -msgstr "" - -#: ../../library/email.compat32-message.rst:476 -msgid "" -"Return the message's :mailheader:`Content-Type` parameters, as a list. The " -"elements of the returned list are 2-tuples of key/value pairs, as split on " -"the ``'='`` sign. The left hand side of the ``'='`` is the key, while the " -"right hand side is the value. If there is no ``'='`` sign in the parameter " -"the value is the empty string, otherwise the value is as described in " -":meth:`get_param` and is unquoted if optional *unquote* is ``True`` (the " -"default)." -msgstr "" - -#: ../../library/email.compat32-message.rst:484 -msgid "" -"Optional *failobj* is the object to return if there is no " -":mailheader:`Content-Type` header. Optional *header* is the header to " -"search instead of :mailheader:`Content-Type`." -msgstr "" - -#: ../../library/email.compat32-message.rst:488 -#: ../../library/email.compat32-message.rst:526 -msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by the *params* property of the " -"individual header objects returned by the header access methods." -msgstr "" - -#: ../../library/email.compat32-message.rst:496 -msgid "" -"Return the value of the :mailheader:`Content-Type` header's parameter " -"*param* as a string. If the message has no :mailheader:`Content-Type` " -"header or if there is no such parameter, then *failobj* is returned " -"(defaults to ``None``)." -msgstr "" - -#: ../../library/email.compat32-message.rst:501 -msgid "" -"Optional *header* if given, specifies the message header to use instead of " -":mailheader:`Content-Type`." -msgstr "" - -#: ../../library/email.compat32-message.rst:504 -msgid "" -"Parameter keys are always compared case insensitively. The return value can" -" either be a string, or a 3-tuple if the parameter was :rfc:`2231` encoded." -" When it's a 3-tuple, the elements of the value are of the form ``(CHARSET," -" LANGUAGE, VALUE)``. Note that both ``CHARSET`` and ``LANGUAGE`` can be " -"``None``, in which case you should consider ``VALUE`` to be encoded in the " -"``us-ascii`` charset. You can usually ignore ``LANGUAGE``." -msgstr "" - -#: ../../library/email.compat32-message.rst:512 -msgid "" -"If your application doesn't care whether the parameter was encoded as in " -":rfc:`2231`, you can collapse the parameter value by calling " -":func:`email.utils.collapse_rfc2231_value`, passing in the return value from" -" :meth:`get_param`. This will return a suitably decoded Unicode string when" -" the value is a tuple, or the original string unquoted if it isn't. For " -"example::" -msgstr "" - -#: ../../library/email.compat32-message.rst:519 -msgid "" -"rawparam = msg.get_param('foo')\n" -"param = email.utils.collapse_rfc2231_value(rawparam)" -msgstr "" - -#: ../../library/email.compat32-message.rst:522 -msgid "" -"In any case, the parameter value (either the returned string, or the " -"``VALUE`` item in the 3-tuple) is always unquoted, unless *unquote* is set " -"to ``False``." -msgstr "" - -#: ../../library/email.compat32-message.rst:535 -msgid "" -"Set a parameter in the :mailheader:`Content-Type` header. If the parameter " -"already exists in the header, its value will be replaced with *value*. If " -"the :mailheader:`Content-Type` header as not yet been defined for this " -"message, it will be set to :mimetype:`text/plain` and the new parameter " -"value will be appended as per :rfc:`2045`." -msgstr "" - -#: ../../library/email.compat32-message.rst:541 -msgid "" -"Optional *header* specifies an alternative header to :mailheader:`Content-" -"Type`, and all parameters will be quoted as necessary unless optional " -"*requote* is ``False`` (the default is ``True``)." -msgstr "" - -#: ../../library/email.compat32-message.rst:545 -msgid "" -"If optional *charset* is specified, the parameter will be encoded according " -"to :rfc:`2231`. Optional *language* specifies the RFC 2231 language, " -"defaulting to the empty string. Both *charset* and *language* should be " -"strings." -msgstr "" - -#: ../../library/email.compat32-message.rst:550 -msgid "" -"If *replace* is ``False`` (the default) the header is moved to the end of " -"the list of headers. If *replace* is ``True``, the header will be updated " -"in place." -msgstr "" - -#: ../../library/email.compat32-message.rst:554 -msgid "``replace`` keyword was added." -msgstr "" - -#: ../../library/email.compat32-message.rst:559 -msgid "" -"Remove the given parameter completely from the :mailheader:`Content-Type` " -"header. The header will be re-written in place without the parameter or its" -" value. All values will be quoted as necessary unless *requote* is " -"``False`` (the default is ``True``). Optional *header* specifies an " -"alternative to :mailheader:`Content-Type`." -msgstr "" - -#: ../../library/email.compat32-message.rst:568 -msgid "" -"Set the main type and subtype for the :mailheader:`Content-Type` header. " -"*type* must be a string in the form :mimetype:`maintype/subtype`, otherwise " -"a :exc:`ValueError` is raised." -msgstr "" - -#: ../../library/email.compat32-message.rst:572 -msgid "" -"This method replaces the :mailheader:`Content-Type` header, keeping all the " -"parameters in place. If *requote* is ``False``, this leaves the existing " -"header's quoting as is, otherwise the parameters will be quoted (the " -"default)." -msgstr "" - -#: ../../library/email.compat32-message.rst:577 -msgid "" -"An alternative header can be specified in the *header* argument. When the " -":mailheader:`Content-Type` header is set a :mailheader:`MIME-Version` header" -" is also added." -msgstr "" - -#: ../../library/email.compat32-message.rst:581 -msgid "" -"This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by the ``make_`` and ``add_`` methods." -msgstr "" - -#: ../../library/email.compat32-message.rst:588 -msgid "" -"Return the value of the ``filename`` parameter of the :mailheader:`Content-" -"Disposition` header of the message. If the header does not have a " -"``filename`` parameter, this method falls back to looking for the ``name`` " -"parameter on the :mailheader:`Content-Type` header. If neither is found, or" -" the header is missing, then *failobj* is returned. The returned string will" -" always be unquoted as per :func:`email.utils.unquote`." -msgstr "" - -#: ../../library/email.compat32-message.rst:599 -msgid "" -"Return the value of the ``boundary`` parameter of the :mailheader:`Content-" -"Type` header of the message, or *failobj* if either the header is missing, " -"or has no ``boundary`` parameter. The returned string will always be " -"unquoted as per :func:`email.utils.unquote`." -msgstr "" - -#: ../../library/email.compat32-message.rst:607 -msgid "" -"Set the ``boundary`` parameter of the :mailheader:`Content-Type` header to " -"*boundary*. :meth:`set_boundary` will always quote *boundary* if necessary." -" A :exc:`~email.errors.HeaderParseError` is raised if the message object " -"has no :mailheader:`Content-Type` header." -msgstr "" - -#: ../../library/email.compat32-message.rst:612 -msgid "" -"Note that using this method is subtly different than deleting the old " -":mailheader:`Content-Type` header and adding a new one with the new boundary" -" via :meth:`add_header`, because :meth:`set_boundary` preserves the order of" -" the :mailheader:`Content-Type` header in the list of headers. However, it " -"does *not* preserve any continuation lines which may have been present in " -"the original :mailheader:`Content-Type` header." -msgstr "" - -#: ../../library/email.compat32-message.rst:622 -msgid "" -"Return the ``charset`` parameter of the :mailheader:`Content-Type` header, " -"coerced to lower case. If there is no :mailheader:`Content-Type` header, or" -" if that header has no ``charset`` parameter, *failobj* is returned." -msgstr "" - -#: ../../library/email.compat32-message.rst:626 -msgid "" -"Note that this method differs from :meth:`get_charset` which returns the " -":class:`~email.charset.Charset` instance for the default encoding of the " -"message body." -msgstr "" - -#: ../../library/email.compat32-message.rst:632 -msgid "" -"Return a list containing the character set names in the message. If the " -"message is a :mimetype:`multipart`, then the list will contain one element " -"for each subpart in the payload, otherwise, it will be a list of length 1." -msgstr "" - -#: ../../library/email.compat32-message.rst:636 -msgid "" -"Each item in the list will be a string which is the value of the ``charset``" -" parameter in the :mailheader:`Content-Type` header for the represented " -"subpart. However, if the subpart has no :mailheader:`Content-Type` header, " -"no ``charset`` parameter, or is not of the :mimetype:`text` main MIME type, " -"then that item in the returned list will be *failobj*." -msgstr "" - -#: ../../library/email.compat32-message.rst:646 -msgid "" -"Return the lowercased value (without parameters) of the message's " -":mailheader:`Content-Disposition` header if it has one, or ``None``. The " -"possible values for this method are *inline*, *attachment* or ``None`` if " -"the message follows :rfc:`2183`." -msgstr "" - -#: ../../library/email.compat32-message.rst:655 -msgid "" -"The :meth:`walk` method is an all-purpose generator which can be used to " -"iterate over all the parts and subparts of a message object tree, in depth-" -"first traversal order. You will typically use :meth:`walk` as the iterator " -"in a ``for`` loop; each iteration returns the next subpart." -msgstr "" - -#: ../../library/email.compat32-message.rst:660 -msgid "" -"Here's an example that prints the MIME type of every part of a multipart " -"message structure:" -msgstr "" - -#: ../../library/email.compat32-message.rst:674 -msgid "" -">>> for part in msg.walk():\n" -"... print(part.get_content_type())\n" -"multipart/report\n" -"text/plain\n" -"message/delivery-status\n" -"text/plain\n" -"text/plain\n" -"message/rfc822\n" -"text/plain" -msgstr "" - -#: ../../library/email.compat32-message.rst:686 -msgid "" -"``walk`` iterates over the subparts of any part where :meth:`is_multipart` " -"returns ``True``, even though ``msg.get_content_maintype() == 'multipart'`` " -"may return ``False``. We can see this in our example by making use of the " -"``_structure`` debug helper function:" -msgstr "" - -#: ../../library/email.compat32-message.rst:692 -msgid "" -">>> for part in msg.walk():\n" -"... print(part.get_content_maintype() == 'multipart',\n" -"... part.is_multipart())\n" -"True True\n" -"False False\n" -"False True\n" -"False False\n" -"False False\n" -"False True\n" -"False False\n" -">>> _structure(msg)\n" -"multipart/report\n" -" text/plain\n" -" message/delivery-status\n" -" text/plain\n" -" text/plain\n" -" message/rfc822\n" -" text/plain" -msgstr "" - -#: ../../library/email.compat32-message.rst:713 -msgid "" -"Here the ``message`` parts are not ``multiparts``, but they do contain " -"subparts. ``is_multipart()`` returns ``True`` and ``walk`` descends into the" -" subparts." -msgstr "" - -#: ../../library/email.compat32-message.rst:718 -msgid "" -":class:`Message` objects can also optionally contain two instance " -"attributes, which can be used when generating the plain text of a MIME " -"message." -msgstr "" - -#: ../../library/email.compat32-message.rst:724 -msgid "" -"The format of a MIME document allows for some text between the blank line " -"following the headers, and the first multipart boundary string. Normally, " -"this text is never visible in a MIME-aware mail reader because it falls " -"outside the standard MIME armor. However, when viewing the raw text of the " -"message, or when viewing the message in a non-MIME aware reader, this text " -"can become visible." -msgstr "" - -#: ../../library/email.compat32-message.rst:731 -msgid "" -"The *preamble* attribute contains this leading extra-armor text for MIME " -"documents. When the :class:`~email.parser.Parser` discovers some text after" -" the headers but before the first boundary string, it assigns this text to " -"the message's *preamble* attribute. When the " -":class:`~email.generator.Generator` is writing out the plain text " -"representation of a MIME message, and it finds the message has a *preamble* " -"attribute, it will write this text in the area between the headers and the " -"first boundary. See :mod:`email.parser` and :mod:`email.generator` for " -"details." -msgstr "" - -#: ../../library/email.compat32-message.rst:741 -msgid "" -"Note that if the message object has no preamble, the *preamble* attribute " -"will be ``None``." -msgstr "" - -#: ../../library/email.compat32-message.rst:747 -msgid "" -"The *epilogue* attribute acts the same way as the *preamble* attribute, " -"except that it contains text that appears between the last boundary and the " -"end of the message." -msgstr "" - -#: ../../library/email.compat32-message.rst:751 -msgid "" -"You do not need to set the epilogue to the empty string in order for the " -":class:`~email.generator.Generator` to print a newline at the end of the " -"file." -msgstr "" - -#: ../../library/email.compat32-message.rst:758 -msgid "" -"The *defects* attribute contains a list of all the problems found when " -"parsing this message. See :mod:`email.errors` for a detailed description of" -" the possible parsing defects." -msgstr "" diff --git a/python-newest.library--email_contentmanager/id.po b/python-newest.library--email_contentmanager/id.po deleted file mode 100644 index aa92706..0000000 --- a/python-newest.library--email_contentmanager/id.po +++ /dev/null @@ -1,297 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.contentmanager.rst:2 -msgid ":mod:`!email.contentmanager`: Managing MIME Content" -msgstr "" - -#: ../../library/email.contentmanager.rst:10 -msgid "**Source code:** :source:`Lib/email/contentmanager.py`" -msgstr "" - -#: ../../library/email.contentmanager.rst:14 -msgid "[1]_" -msgstr "[1]_" - -#: ../../library/email.contentmanager.rst:19 -msgid "" -"Base class for content managers. Provides the standard registry mechanisms " -"to register converters between MIME content and other representations, as " -"well as the ``get_content`` and ``set_content`` dispatch methods." -msgstr "" - -#: ../../library/email.contentmanager.rst:26 -msgid "" -"Look up a handler function based on the ``mimetype`` of *msg* (see next " -"paragraph), call it, passing through all arguments, and return the result of" -" the call. The expectation is that the handler will extract the payload " -"from *msg* and return an object that encodes information about the extracted" -" data." -msgstr "" - -#: ../../library/email.contentmanager.rst:32 -msgid "" -"To find the handler, look for the following keys in the registry, stopping " -"with the first one found:" -msgstr "" - -#: ../../library/email.contentmanager.rst:35 -msgid "the string representing the full MIME type (``maintype/subtype``)" -msgstr "" - -#: ../../library/email.contentmanager.rst:36 -msgid "the string representing the ``maintype``" -msgstr "" - -#: ../../library/email.contentmanager.rst:37 -msgid "the empty string" -msgstr "" - -#: ../../library/email.contentmanager.rst:39 -msgid "" -"If none of these keys produce a handler, raise a :exc:`KeyError` for the " -"full MIME type." -msgstr "" - -#: ../../library/email.contentmanager.rst:45 -msgid "" -"If the ``maintype`` is ``multipart``, raise a :exc:`TypeError`; otherwise " -"look up a handler function based on the type of *obj* (see next paragraph), " -"call :meth:`~email.message.EmailMessage.clear_content` on the *msg*, and " -"call the handler function, passing through all arguments. The expectation " -"is that the handler will transform and store *obj* into *msg*, possibly " -"making other changes to *msg* as well, such as adding various MIME headers " -"to encode information needed to interpret the stored data." -msgstr "" - -#: ../../library/email.contentmanager.rst:54 -msgid "" -"To find the handler, obtain the type of *obj* (``typ = type(obj)``), and " -"look for the following keys in the registry, stopping with the first one " -"found:" -msgstr "" - -#: ../../library/email.contentmanager.rst:58 -msgid "the type itself (``typ``)" -msgstr "" - -#: ../../library/email.contentmanager.rst:59 -msgid "" -"the type's fully qualified name (``typ.__module__ + '.' + " -"typ.__qualname__``)." -msgstr "" - -#: ../../library/email.contentmanager.rst:61 -msgid "the type's :attr:`qualname ` (``typ.__qualname__``)" -msgstr "" - -#: ../../library/email.contentmanager.rst:62 -msgid "the type's :attr:`name ` (``typ.__name__``)." -msgstr "" - -#: ../../library/email.contentmanager.rst:64 -msgid "" -"If none of the above match, repeat all of the checks above for each of the " -"types in the :term:`MRO` (:attr:`typ.__mro__ `). Finally, if " -"no other key yields a handler, check for a handler for the key ``None``. If" -" there is no handler for ``None``, raise a :exc:`KeyError` for the fully " -"qualified name of the type." -msgstr "" - -#: ../../library/email.contentmanager.rst:71 -msgid "" -"Also add a :mailheader:`MIME-Version` header if one is not present (see also" -" :class:`.MIMEPart`)." -msgstr "" - -#: ../../library/email.contentmanager.rst:77 -msgid "" -"Record the function *handler* as the handler for *key*. For the possible " -"values of *key*, see :meth:`get_content`." -msgstr "" - -#: ../../library/email.contentmanager.rst:83 -msgid "" -"Record *handler* as the function to call when an object of a type matching " -"*typekey* is passed to :meth:`set_content`. For the possible values of " -"*typekey*, see :meth:`set_content`." -msgstr "" - -#: ../../library/email.contentmanager.rst:89 -msgid "Content Manager Instances" -msgstr "" - -#: ../../library/email.contentmanager.rst:91 -msgid "" -"Currently the email package provides only one concrete content manager, " -":data:`raw_data_manager`, although more may be added in the future. " -":data:`raw_data_manager` is the " -":attr:`~email.policy.EmailPolicy.content_manager` provided by " -":attr:`~email.policy.EmailPolicy` and its derivatives." -msgstr "" - -#: ../../library/email.contentmanager.rst:100 -msgid "" -"This content manager provides only a minimum interface beyond that provided " -"by :class:`~email.message.Message` itself: it deals only with text, raw " -"byte strings, and :class:`~email.message.Message` objects. Nevertheless, it" -" provides significant advantages compared to the base API: ``get_content`` " -"on a text part will return a unicode string without the application needing " -"to manually decode it, ``set_content`` provides a rich set of options for " -"controlling the headers added to a part and controlling the content transfer" -" encoding, and it enables the use of the various ``add_`` methods, thereby " -"simplifying the creation of multipart messages." -msgstr "" - -#: ../../library/email.contentmanager.rst:112 -msgid "" -"Return the payload of the part as either a string (for ``text`` parts), an " -":class:`~email.message.EmailMessage` object (for ``message/rfc822`` parts), " -"or a ``bytes`` object (for all other non-multipart types). Raise a " -":exc:`KeyError` if called on a ``multipart``. If the part is a ``text`` " -"part and *errors* is specified, use it as the error handler when decoding " -"the payload to unicode. The default error handler is ``replace``." -msgstr "" - -#: ../../library/email.contentmanager.rst:131 -msgid "Add headers and payload to *msg*:" -msgstr "" - -#: ../../library/email.contentmanager.rst:133 -msgid "" -"Add a :mailheader:`Content-Type` header with a ``maintype/subtype`` value." -msgstr "" - -#: ../../library/email.contentmanager.rst:136 -msgid "" -"For ``str``, set the MIME ``maintype`` to ``text``, and set the subtype to " -"*subtype* if it is specified, or ``plain`` if it is not." -msgstr "" - -#: ../../library/email.contentmanager.rst:138 -msgid "" -"For ``bytes``, use the specified *maintype* and *subtype*, or raise a " -":exc:`TypeError` if they are not specified." -msgstr "" - -#: ../../library/email.contentmanager.rst:140 -msgid "" -"For :class:`~email.message.EmailMessage` objects, set the maintype to " -"``message``, and set the subtype to *subtype* if it is specified or " -"``rfc822`` if it is not. If *subtype* is ``partial``, raise an error " -"(``bytes`` objects must be used to construct ``message/partial`` parts)." -msgstr "" - -#: ../../library/email.contentmanager.rst:146 -msgid "" -"If *charset* is provided (which is valid only for ``str``), encode the " -"string to bytes using the specified character set. The default is " -"``utf-8``. If the specified *charset* is a known alias for a standard MIME " -"charset name, use the standard charset instead." -msgstr "" - -#: ../../library/email.contentmanager.rst:151 -msgid "" -"If *cte* is set, encode the payload using the specified content transfer " -"encoding, and set the :mailheader:`Content-Transfer-Encoding` header to that" -" value. Possible values for *cte* are ``quoted-printable``, ``base64``, " -"``7bit``, ``8bit``, and ``binary``. If the input cannot be encoded in the " -"specified encoding (for example, specifying a *cte* of ``7bit`` for an input" -" that contains non-ASCII values), raise a :exc:`ValueError`." -msgstr "" - -#: ../../library/email.contentmanager.rst:159 -msgid "" -"For ``str`` objects, if *cte* is not set use heuristics to determine the " -"most compact encoding. Prior to encoding, :meth:`str.splitlines` is used to" -" normalize all line boundaries, ensuring that each line of the payload is " -"terminated by the current policy's :data:`~email.policy.Policy.linesep` " -"property (even if the original string did not end with one)." -msgstr "" - -#: ../../library/email.contentmanager.rst:165 -msgid "" -"For ``bytes`` objects, *cte* is taken to be base64 if not set, and the " -"aforementioned newline translation is not performed." -msgstr "" - -#: ../../library/email.contentmanager.rst:167 -msgid "" -"For :class:`~email.message.EmailMessage`, per :rfc:`2046`, raise an error if" -" a *cte* of ``quoted-printable`` or ``base64`` is requested for *subtype* " -"``rfc822``, and for any *cte* other than ``7bit`` for *subtype* ``external-" -"body``. For ``message/rfc822``, use ``8bit`` if *cte* is not specified. " -"For all other values of *subtype*, use ``7bit``." -msgstr "" - -#: ../../library/email.contentmanager.rst:174 -msgid "" -"A *cte* of ``binary`` does not actually work correctly yet. The " -"``EmailMessage`` object as modified by ``set_content`` is correct, but " -":class:`~email.generator.BytesGenerator` does not serialize it correctly." -msgstr "" - -#: ../../library/email.contentmanager.rst:179 -msgid "" -"If *disposition* is set, use it as the value of the :mailheader:`Content-" -"Disposition` header. If not specified, and *filename* is specified, add the" -" header with the value ``attachment``. If *disposition* is not specified and" -" *filename* is also not specified, do not add the header. The only valid " -"values for *disposition* are ``attachment`` and ``inline``." -msgstr "" - -#: ../../library/email.contentmanager.rst:186 -msgid "" -"If *filename* is specified, use it as the value of the ``filename`` " -"parameter of the :mailheader:`Content-Disposition` header." -msgstr "" - -#: ../../library/email.contentmanager.rst:189 -msgid "" -"If *cid* is specified, add a :mailheader:`Content-ID` header with *cid* as " -"its value." -msgstr "" - -#: ../../library/email.contentmanager.rst:192 -msgid "" -"If *params* is specified, iterate its ``items`` method and use the resulting" -" ``(key, value)`` pairs to set additional parameters on the " -":mailheader:`Content-Type` header." -msgstr "" - -#: ../../library/email.contentmanager.rst:196 -msgid "" -"If *headers* is specified and is a list of strings of the form ``headername:" -" headervalue`` or a list of ``header`` objects (distinguished from strings " -"by having a ``name`` attribute), add the headers to *msg*." -msgstr "" - -#: ../../library/email.contentmanager.rst:203 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/email.contentmanager.rst:204 -msgid "" -"Originally added in 3.4 as a :term:`provisional module `" -msgstr "" diff --git a/python-newest.library--email_encoders/id.po b/python-newest.library--email_encoders/id.po deleted file mode 100644 index 6b07290..0000000 --- a/python-newest.library--email_encoders/id.po +++ /dev/null @@ -1,122 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.encoders.rst:2 -msgid ":mod:`!email.encoders`: Encoders" -msgstr "" - -#: ../../library/email.encoders.rst:7 -msgid "**Source code:** :source:`Lib/email/encoders.py`" -msgstr "" - -#: ../../library/email.encoders.rst:11 -msgid "" -"This module is part of the legacy (``Compat32``) email API. In the new API " -"the functionality is provided by the *cte* parameter of the " -":meth:`~email.message.EmailMessage.set_content` method." -msgstr "" - -#: ../../library/email.encoders.rst:15 -msgid "" -"This module is deprecated in Python 3. The functions provided here should " -"not be called explicitly since the :class:`~email.mime.text.MIMEText` class " -"sets the content type and CTE header using the *_subtype* and *_charset* " -"values passed during the instantiation of that class." -msgstr "" - -#: ../../library/email.encoders.rst:20 -msgid "" -"The remaining text in this section is the original documentation of the " -"module." -msgstr "" - -#: ../../library/email.encoders.rst:22 -msgid "" -"When creating :class:`~email.message.Message` objects from scratch, you " -"often need to encode the payloads for transport through compliant mail " -"servers. This is especially true for :mimetype:`image/\\*` and " -":mimetype:`text/\\*` type messages containing binary data." -msgstr "" - -#: ../../library/email.encoders.rst:27 -msgid "" -"The :mod:`email` package provides some convenient encoders in its " -":mod:`~email.encoders` module. These encoders are actually used by the " -":class:`~email.mime.audio.MIMEAudio` and " -":class:`~email.mime.image.MIMEImage` class constructors to provide default " -"encodings. All encoder functions take exactly one argument, the message " -"object to encode. They usually extract the payload, encode it, and reset " -"the payload to this newly encoded value. They should also set the " -":mailheader:`Content-Transfer-Encoding` header as appropriate." -msgstr "" - -#: ../../library/email.encoders.rst:35 -msgid "" -"Note that these functions are not meaningful for a multipart message. They " -"must be applied to individual subparts instead, and will raise a " -":exc:`TypeError` if passed a message whose type is multipart." -msgstr "" - -#: ../../library/email.encoders.rst:39 -msgid "Here are the encoding functions provided:" -msgstr "" - -#: ../../library/email.encoders.rst:44 -msgid "" -"Encodes the payload into quoted-printable form and sets the " -":mailheader:`Content-Transfer-Encoding` header to ``quoted-printable`` [#]_." -" This is a good encoding to use when most of your payload is normal " -"printable data, but contains a few unprintable characters." -msgstr "" - -#: ../../library/email.encoders.rst:52 -msgid "" -"Encodes the payload into base64 form and sets the :mailheader:`Content-" -"Transfer-Encoding` header to ``base64``. This is a good encoding to use " -"when most of your payload is unprintable data since it is a more compact " -"form than quoted-printable. The drawback of base64 encoding is that it " -"renders the text non-human readable." -msgstr "" - -#: ../../library/email.encoders.rst:61 -msgid "" -"This doesn't actually modify the message's payload, but it does set the " -":mailheader:`Content-Transfer-Encoding` header to either ``7bit`` or " -"``8bit`` as appropriate, based on the payload data." -msgstr "" - -#: ../../library/email.encoders.rst:68 -msgid "" -"This does nothing; it doesn't even set the :mailheader:`Content-Transfer-" -"Encoding` header." -msgstr "" - -#: ../../library/email.encoders.rst:72 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/email.encoders.rst:73 -msgid "" -"Note that encoding with :meth:`encode_quopri` also encodes all tabs and " -"space characters in the data." -msgstr "" diff --git a/python-newest.library--email_errors/id.po b/python-newest.library--email_errors/id.po deleted file mode 100644 index dddb46d..0000000 --- a/python-newest.library--email_errors/id.po +++ /dev/null @@ -1,183 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.errors.rst:2 -msgid ":mod:`!email.errors`: Exception and Defect classes" -msgstr "" - -#: ../../library/email.errors.rst:7 -msgid "**Source code:** :source:`Lib/email/errors.py`" -msgstr "" - -#: ../../library/email.errors.rst:11 -msgid "" -"The following exception classes are defined in the :mod:`email.errors` " -"module:" -msgstr "" - -#: ../../library/email.errors.rst:16 -msgid "" -"This is the base class for all exceptions that the :mod:`email` package can " -"raise. It is derived from the standard :exc:`Exception` class and defines " -"no additional methods." -msgstr "" - -#: ../../library/email.errors.rst:23 -msgid "" -"This is the base class for exceptions raised by the " -":class:`~email.parser.Parser` class. It is derived from " -":exc:`MessageError`. This class is also used internally by the parser used " -"by :mod:`~email.headerregistry`." -msgstr "" - -#: ../../library/email.errors.rst:31 -msgid "" -"Raised under some error conditions when parsing the :rfc:`5322` headers of a" -" message, this class is derived from :exc:`MessageParseError`. The " -":meth:`~email.message.EmailMessage.set_boundary` method will raise this " -"error if the content type is unknown when the method is called. " -":class:`~email.header.Header` may raise this error for certain base64 " -"decoding errors, and when an attempt is made to create a header that appears" -" to contain an embedded header (that is, there is what is supposed to be a " -"continuation line that has no leading whitespace and looks like a header)." -msgstr "" - -#: ../../library/email.errors.rst:43 -msgid "Deprecated and no longer used." -msgstr "" - -#: ../../library/email.errors.rst:48 -msgid "" -"Raised if the :meth:`~email.message.Message.attach` method is called on an " -"instance of a class derived from " -":class:`~email.mime.nonmultipart.MIMENonMultipart` (e.g. " -":class:`~email.mime.image.MIMEImage`). :exc:`MultipartConversionError` " -"multiply inherits from :exc:`MessageError` and the built-in " -":exc:`TypeError`." -msgstr "" - -#: ../../library/email.errors.rst:58 -msgid "" -"Raised when an error occurs when the :mod:`~email.generator` outputs " -"headers." -msgstr "" - -#: ../../library/email.errors.rst:64 -msgid "" -"This is the base class for all defects found when parsing email messages. It" -" is derived from :exc:`ValueError`." -msgstr "" - -#: ../../library/email.errors.rst:69 -msgid "" -"This is the base class for all defects found when parsing email headers. It " -"is derived from :exc:`MessageDefect`." -msgstr "" - -#: ../../library/email.errors.rst:72 -msgid "" -"Here is the list of the defects that the :class:`~email.parser.FeedParser` " -"can find while parsing messages. Note that the defects are added to the " -"message where the problem was found, so for example, if a message nested " -"inside a :mimetype:`multipart/alternative` had a malformed header, that " -"nested message object would have a defect, but the containing messages would" -" not." -msgstr "" - -#: ../../library/email.errors.rst:78 -msgid "" -"All defect classes are subclassed from :class:`email.errors.MessageDefect`." -msgstr "" - -#: ../../library/email.errors.rst:82 -msgid "" -"A message claimed to be a multipart, but had no :mimetype:`boundary` " -"parameter." -msgstr "" - -#: ../../library/email.errors.rst:87 -msgid "" -"The start boundary claimed in the :mailheader:`Content-Type` header was " -"never found." -msgstr "" - -#: ../../library/email.errors.rst:92 -msgid "" -"A start boundary was found, but no corresponding close boundary was ever " -"found." -msgstr "" - -#: ../../library/email.errors.rst:99 -msgid "The message had a continuation line as its first header line." -msgstr "" - -#: ../../library/email.errors.rst:103 -msgid "A \"Unix From\" header was found in the middle of a header block." -msgstr "" - -#: ../../library/email.errors.rst:107 -msgid "" -"A line was found while parsing headers that had no leading white space but " -"contained no ':'. Parsing continues assuming that the line represents the " -"first line of the body." -msgstr "" - -#: ../../library/email.errors.rst:115 -msgid "" -"A header was found that was missing a colon, or was otherwise malformed." -msgstr "" - -#: ../../library/email.errors.rst:117 -msgid "This defect has not been used for several Python versions." -msgstr "" - -#: ../../library/email.errors.rst:122 -msgid "" -"A message claimed to be a :mimetype:`multipart`, but no subparts were found." -" Note that when a message has this defect, its " -":meth:`~email.message.Message.is_multipart` method may return ``False`` even" -" though its content type claims to be :mimetype:`multipart`." -msgstr "" - -#: ../../library/email.errors.rst:129 -msgid "" -"When decoding a block of base64 encoded bytes, the padding was not correct. " -"Enough padding is added to perform the decode, but the resulting decoded " -"bytes may be invalid." -msgstr "" - -#: ../../library/email.errors.rst:135 -msgid "" -"When decoding a block of base64 encoded bytes, characters outside the base64" -" alphabet were encountered. The characters are ignored, but the resulting " -"decoded bytes may be invalid." -msgstr "" - -#: ../../library/email.errors.rst:141 -msgid "" -"When decoding a block of base64 encoded bytes, the number of non-padding " -"base64 characters was invalid (1 more than a multiple of 4). The encoded " -"block was kept as-is." -msgstr "" - -#: ../../library/email.errors.rst:147 -msgid "" -"When decoding an invalid or unparsable date field. The original value is " -"kept as-is." -msgstr "" diff --git a/python-newest.library--email_examples/id.po b/python-newest.library--email_examples/id.po deleted file mode 100644 index 2ffbdf1..0000000 --- a/python-newest.library--email_examples/id.po +++ /dev/null @@ -1,467 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.examples.rst:4 -msgid ":mod:`email`: Examples" -msgstr "" - -#: ../../library/email.examples.rst:6 -msgid "" -"Here are a few examples of how to use the :mod:`email` package to read, " -"write, and send simple email messages, as well as more complex MIME " -"messages." -msgstr "" - -#: ../../library/email.examples.rst:9 -msgid "" -"First, let's see how to create and send a simple text message (both the text" -" content and the addresses may contain unicode characters):" -msgstr "" - -#: ../../library/email.examples.rst:12 -msgid "" -"# Import smtplib for the actual sending function\n" -"import smtplib\n" -"\n" -"# Import the email modules we'll need\n" -"from email.message import EmailMessage\n" -"\n" -"# Open the plain text file whose name is in textfile for reading.\n" -"with open(textfile) as fp:\n" -" # Create a text/plain message\n" -" msg = EmailMessage()\n" -" msg.set_content(fp.read())\n" -"\n" -"# me == the sender's email address\n" -"# you == the recipient's email address\n" -"msg['Subject'] = f'The contents of {textfile}'\n" -"msg['From'] = me\n" -"msg['To'] = you\n" -"\n" -"# Send the message via our own SMTP server.\n" -"s = smtplib.SMTP('localhost')\n" -"s.send_message(msg)\n" -"s.quit()\n" -msgstr "" - -#: ../../library/email.examples.rst:15 -msgid "" -"Parsing :rfc:`822` headers can easily be done by the using the classes from " -"the :mod:`~email.parser` module:" -msgstr "" - -#: ../../library/email.examples.rst:18 -msgid "" -"# Import the email modules we'll need\n" -"#from email.parser import BytesParser\n" -"from email.parser import Parser\n" -"from email.policy import default\n" -"\n" -"# If the e-mail headers are in a file, uncomment these two lines:\n" -"# with open(messagefile, 'rb') as fp:\n" -"# headers = BytesParser(policy=default).parse(fp)\n" -"\n" -"# Or for parsing headers in a string (this is an uncommon operation), use:\n" -"headers = Parser(policy=default).parsestr(\n" -" 'From: Foo Bar \\n'\n" -" 'To: \\n'\n" -" 'Subject: Test message\\n'\n" -" '\\n'\n" -" 'Body would go here\\n')\n" -"\n" -"# Now the header items can be accessed as a dictionary:\n" -"print('To: {}'.format(headers['to']))\n" -"print('From: {}'.format(headers['from']))\n" -"print('Subject: {}'.format(headers['subject']))\n" -"\n" -"# You can also access the parts of the addresses:\n" -"print('Recipient username: {}'.format(headers['to'].addresses[0].username))\n" -"print('Sender name: {}'.format(headers['from'].addresses[0].display_name))\n" -msgstr "" - -#: ../../library/email.examples.rst:21 -msgid "" -"Here's an example of how to send a MIME message containing a bunch of family" -" pictures that may be residing in a directory:" -msgstr "" - -#: ../../library/email.examples.rst:24 -msgid "" -"# Import smtplib for the actual sending function.\n" -"import smtplib\n" -"\n" -"# Here are the email package modules we'll need.\n" -"from email.message import EmailMessage\n" -"\n" -"# Create the container email message.\n" -"msg = EmailMessage()\n" -"msg['Subject'] = 'Our family reunion'\n" -"# me == the sender's email address\n" -"# family = the list of all recipients' email addresses\n" -"msg['From'] = me\n" -"msg['To'] = ', '.join(family)\n" -"msg.preamble = 'You will not see this in a MIME-aware mail reader.\\n'\n" -"\n" -"# Open the files in binary mode. You can also omit the subtype\n" -"# if you want MIMEImage to guess it.\n" -"for file in pngfiles:\n" -" with open(file, 'rb') as fp:\n" -" img_data = fp.read()\n" -" msg.add_attachment(img_data, maintype='image',\n" -" subtype='png')\n" -"\n" -"# Send the email via our own SMTP server.\n" -"with smtplib.SMTP('localhost') as s:\n" -" s.send_message(msg)\n" -msgstr "" - -#: ../../library/email.examples.rst:27 -msgid "" -"Here's an example of how to send the entire contents of a directory as an " -"email message: [1]_" -msgstr "" - -#: ../../library/email.examples.rst:30 -msgid "" -"#!/usr/bin/env python3\n" -"\n" -"\"\"\"Send the contents of a directory as a MIME message.\"\"\"\n" -"\n" -"import os\n" -"import smtplib\n" -"# For guessing MIME type based on file name extension\n" -"import mimetypes\n" -"\n" -"from argparse import ArgumentParser\n" -"\n" -"from email.message import EmailMessage\n" -"from email.policy import SMTP\n" -"\n" -"\n" -"def main():\n" -" parser = ArgumentParser(description=\"\"\"\\\n" -"Send the contents of a directory as a MIME message.\n" -"Unless the -o option is given, the email is sent by forwarding to your local\n" -"SMTP server, which then does the normal delivery process. Your local machine\n" -"must be running an SMTP server.\n" -"\"\"\")\n" -" parser.add_argument('-d', '--directory',\n" -" help=\"\"\"Mail the contents of the specified directory,\n" -" otherwise use the current directory. Only the regular\n" -" files in the directory are sent, and we don't recurse to\n" -" subdirectories.\"\"\")\n" -" parser.add_argument('-o', '--output',\n" -" metavar='FILE',\n" -" help=\"\"\"Print the composed message to FILE instead of\n" -" sending the message to the SMTP server.\"\"\")\n" -" parser.add_argument('-s', '--sender', required=True,\n" -" help='The value of the From: header (required)')\n" -" parser.add_argument('-r', '--recipient', required=True,\n" -" action='append', metavar='RECIPIENT',\n" -" default=[], dest='recipients',\n" -" help='A To: header value (at least one required)')\n" -" args = parser.parse_args()\n" -" directory = args.directory\n" -" if not directory:\n" -" directory = '.'\n" -" # Create the message\n" -" msg = EmailMessage()\n" -" msg['Subject'] = f'Contents of directory {os.path.abspath(directory)}'\n" -" msg['To'] = ', '.join(args.recipients)\n" -" msg['From'] = args.sender\n" -" msg.preamble = 'You will not see this in a MIME-aware mail reader.\\n'\n" -"\n" -" for filename in os.listdir(directory):\n" -" path = os.path.join(directory, filename)\n" -" if not os.path.isfile(path):\n" -" continue\n" -" # Guess the content type based on the file's extension. Encoding\n" -" # will be ignored, although we should check for simple things like\n" -" # gzip'd or compressed files.\n" -" ctype, encoding = mimetypes.guess_file_type(path)\n" -" if ctype is None or encoding is not None:\n" -" # No guess could be made, or the file is encoded (compressed), so\n" -" # use a generic bag-of-bits type.\n" -" ctype = 'application/octet-stream'\n" -" maintype, subtype = ctype.split('/', 1)\n" -" with open(path, 'rb') as fp:\n" -" msg.add_attachment(fp.read(),\n" -" maintype=maintype,\n" -" subtype=subtype,\n" -" filename=filename)\n" -" # Now send or store the message\n" -" if args.output:\n" -" with open(args.output, 'wb') as fp:\n" -" fp.write(msg.as_bytes(policy=SMTP))\n" -" else:\n" -" with smtplib.SMTP('localhost') as s:\n" -" s.send_message(msg)\n" -"\n" -"\n" -"if __name__ == '__main__':\n" -" main()\n" -msgstr "" - -#: ../../library/email.examples.rst:33 -msgid "" -"Here's an example of how to unpack a MIME message like the one above, into a" -" directory of files:" -msgstr "" - -#: ../../library/email.examples.rst:36 -msgid "" -"#!/usr/bin/env python3\n" -"\n" -"\"\"\"Unpack a MIME message into a directory of files.\"\"\"\n" -"\n" -"import os\n" -"import email\n" -"import mimetypes\n" -"\n" -"from email.policy import default\n" -"\n" -"from argparse import ArgumentParser\n" -"\n" -"\n" -"def main():\n" -" parser = ArgumentParser(description=\"\"\"\\\n" -"Unpack a MIME message into a directory of files.\n" -"\"\"\")\n" -" parser.add_argument('-d', '--directory', required=True,\n" -" help=\"\"\"Unpack the MIME message into the named\n" -" directory, which will be created if it doesn't already\n" -" exist.\"\"\")\n" -" parser.add_argument('msgfile')\n" -" args = parser.parse_args()\n" -"\n" -" with open(args.msgfile, 'rb') as fp:\n" -" msg = email.message_from_binary_file(fp, policy=default)\n" -"\n" -" try:\n" -" os.mkdir(args.directory)\n" -" except FileExistsError:\n" -" pass\n" -"\n" -" counter = 1\n" -" for part in msg.walk():\n" -" # multipart/* are just containers\n" -" if part.get_content_maintype() == 'multipart':\n" -" continue\n" -" # Applications should really sanitize the given filename so that an\n" -" # email message can't be used to overwrite important files\n" -" filename = part.get_filename()\n" -" if not filename:\n" -" ext = mimetypes.guess_extension(part.get_content_type())\n" -" if not ext:\n" -" # Use a generic bag-of-bits extension\n" -" ext = '.bin'\n" -" filename = f'part-{counter:03d}{ext}'\n" -" counter += 1\n" -" with open(os.path.join(args.directory, filename), 'wb') as fp:\n" -" fp.write(part.get_payload(decode=True))\n" -"\n" -"\n" -"if __name__ == '__main__':\n" -" main()\n" -msgstr "" - -#: ../../library/email.examples.rst:39 -msgid "" -"Here's an example of how to create an HTML message with an alternative plain" -" text version. To make things a bit more interesting, we include a related " -"image in the html part, and we save a copy of what we are going to send to " -"disk, as well as sending it." -msgstr "" - -#: ../../library/email.examples.rst:44 -msgid "" -"#!/usr/bin/env python3\n" -"\n" -"import smtplib\n" -"\n" -"from email.message import EmailMessage\n" -"from email.headerregistry import Address\n" -"from email.utils import make_msgid\n" -"\n" -"# Create the base text message.\n" -"msg = EmailMessage()\n" -"msg['Subject'] = \"Pourquoi pas des asperges pour ce midi ?\"\n" -"msg['From'] = Address(\"Pepé Le Pew\", \"pepe\", \"example.com\")\n" -"msg['To'] = (Address(\"Penelope Pussycat\", \"penelope\", \"example.com\"),\n" -" Address(\"Fabrette Pussycat\", \"fabrette\", \"example.com\"))\n" -"msg.set_content(\"\"\"\\\n" -"Salut!\n" -"\n" -"Cette recette [1] sera sûrement un très bon repas.\n" -"\n" -"[1] http://www.yummly.com/recipe/Roasted-Asparagus-Epicurious-203718\n" -"\n" -"--Pepé\n" -"\"\"\")\n" -"\n" -"# Add the html version. This converts the message into a multipart/alternative\n" -"# container, with the original text message as the first part and the new html\n" -"# message as the second part.\n" -"asparagus_cid = make_msgid()\n" -"msg.add_alternative(\"\"\"\\\n" -"\n" -" \n" -" \n" -"

Salut!

\n" -"

Cette\n" -" \n" -" recette\n" -" sera sûrement un très bon repas.\n" -"

\n" -" \n" -" \n" -"\n" -"\"\"\".format(asparagus_cid=asparagus_cid[1:-1]), subtype='html')\n" -"# note that we needed to peel the <> off the msgid for use in the html.\n" -"\n" -"# Now add the related image to the html part.\n" -"with open(\"roasted-asparagus.jpg\", 'rb') as img:\n" -" msg.get_payload()[1].add_related(img.read(), 'image', 'jpeg',\n" -" cid=asparagus_cid)\n" -"\n" -"# Make a local copy of what we are going to send.\n" -"with open('outgoing.msg', 'wb') as f:\n" -" f.write(bytes(msg))\n" -"\n" -"# Send the message via local SMTP server.\n" -"with smtplib.SMTP('localhost') as s:\n" -" s.send_message(msg)\n" -msgstr "" - -#: ../../library/email.examples.rst:47 -msgid "" -"If we were sent the message from the last example, here is one way we could " -"process it:" -msgstr "" - -#: ../../library/email.examples.rst:50 -msgid "" -"import os\n" -"import sys\n" -"import tempfile\n" -"import mimetypes\n" -"import webbrowser\n" -"\n" -"# Import the email modules we'll need\n" -"from email import policy\n" -"from email.parser import BytesParser\n" -"\n" -"\n" -"def magic_html_parser(html_text, partfiles):\n" -" \"\"\"Return safety-sanitized html linked to partfiles.\n" -"\n" -" Rewrite the href=\"cid:....\" attributes to point to the filenames in partfiles.\n" -" Though not trivial, this should be possible using html.parser.\n" -" \"\"\"\n" -" raise NotImplementedError(\"Add the magic needed\")\n" -"\n" -"\n" -"# In a real program you'd get the filename from the arguments.\n" -"with open('outgoing.msg', 'rb') as fp:\n" -" msg = BytesParser(policy=policy.default).parse(fp)\n" -"\n" -"# Now the header items can be accessed as a dictionary, and any non-ASCII will\n" -"# be converted to unicode:\n" -"print('To:', msg['to'])\n" -"print('From:', msg['from'])\n" -"print('Subject:', msg['subject'])\n" -"\n" -"# If we want to print a preview of the message content, we can extract whatever\n" -"# the least formatted payload is and print the first three lines. Of course,\n" -"# if the message has no plain text part printing the first three lines of html\n" -"# is probably useless, but this is just a conceptual example.\n" -"simplest = msg.get_body(preferencelist=('plain', 'html'))\n" -"print()\n" -"print(''.join(simplest.get_content().splitlines(keepends=True)[:3]))\n" -"\n" -"ans = input(\"View full message?\")\n" -"if ans.lower()[0] == 'n':\n" -" sys.exit()\n" -"\n" -"# We can extract the richest alternative in order to display it:\n" -"richest = msg.get_body()\n" -"partfiles = {}\n" -"if richest['content-type'].maintype == 'text':\n" -" if richest['content-type'].subtype == 'plain':\n" -" for line in richest.get_content().splitlines():\n" -" print(line)\n" -" sys.exit()\n" -" elif richest['content-type'].subtype == 'html':\n" -" body = richest\n" -" else:\n" -" print(\"Don't know how to display {}\".format(richest.get_content_type()))\n" -" sys.exit()\n" -"elif richest['content-type'].content_type == 'multipart/related':\n" -" body = richest.get_body(preferencelist=('html'))\n" -" for part in richest.iter_attachments():\n" -" fn = part.get_filename()\n" -" if fn:\n" -" extension = os.path.splitext(part.get_filename())[1]\n" -" else:\n" -" extension = mimetypes.guess_extension(part.get_content_type())\n" -" with tempfile.NamedTemporaryFile(suffix=extension, delete=False) as f:\n" -" f.write(part.get_content())\n" -" # again strip the <> to go from email form of cid to html form.\n" -" partfiles[part['content-id'][1:-1]] = f.name\n" -"else:\n" -" print(\"Don't know how to display {}\".format(richest.get_content_type()))\n" -" sys.exit()\n" -"with tempfile.NamedTemporaryFile(mode='w', delete=False) as f:\n" -" f.write(magic_html_parser(body.get_content(), partfiles))\n" -"webbrowser.open(f.name)\n" -"os.remove(f.name)\n" -"for fn in partfiles.values():\n" -" os.remove(fn)\n" -"\n" -"# Of course, there are lots of email messages that could break this simple\n" -"# minded program, but it will handle the most common ones.\n" -msgstr "" - -#: ../../library/email.examples.rst:52 -msgid "Up to the prompt, the output from the above is:" -msgstr "" - -#: ../../library/email.examples.rst:54 -msgid "" -"To: Penelope Pussycat , Fabrette Pussycat \n" -"From: Pepé Le Pew \n" -"Subject: Pourquoi pas des asperges pour ce midi ?\n" -"\n" -"Salut!\n" -"\n" -"Cette recette [1] sera sûrement un très bon repas." -msgstr "" - -#: ../../library/email.examples.rst:66 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/email.examples.rst:67 -msgid "" -"Thanks to Matthew Dixon Cowles for the original inspiration and examples." -msgstr "" diff --git a/python-newest.library--email_generator/id.po b/python-newest.library--email_generator/id.po deleted file mode 100644 index ea07e9b..0000000 --- a/python-newest.library--email_generator/id.po +++ /dev/null @@ -1,333 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.generator.rst:2 -msgid ":mod:`!email.generator`: Generating MIME documents" -msgstr "" - -#: ../../library/email.generator.rst:7 -msgid "**Source code:** :source:`Lib/email/generator.py`" -msgstr "" - -#: ../../library/email.generator.rst:11 -msgid "" -"One of the most common tasks is to generate the flat (serialized) version of" -" the email message represented by a message object structure. You will need" -" to do this if you want to send your message via " -":meth:`smtplib.SMTP.sendmail`, or print the message on the console. Taking " -"a message object structure and producing a serialized representation is the " -"job of the generator classes." -msgstr "" - -#: ../../library/email.generator.rst:18 -msgid "" -"As with the :mod:`email.parser` module, you aren't limited to the " -"functionality of the bundled generator; you could write one from scratch " -"yourself. However the bundled generator knows how to generate most email in" -" a standards-compliant way, should handle MIME and non-MIME email messages " -"just fine, and is designed so that the bytes-oriented parsing and generation" -" operations are inverses, assuming the same non-transforming " -":mod:`~email.policy` is used for both. That is, parsing the serialized byte" -" stream via the :class:`~email.parser.BytesParser` class and then " -"regenerating the serialized byte stream using :class:`BytesGenerator` should" -" produce output identical to the input [#]_. (On the other hand, using the " -"generator on an :class:`~email.message.EmailMessage` constructed by program " -"may result in changes to the :class:`~email.message.EmailMessage` object as " -"defaults are filled in.)" -msgstr "" - -#: ../../library/email.generator.rst:32 -msgid "" -"The :class:`Generator` class can be used to flatten a message into a text " -"(as opposed to binary) serialized representation, but since Unicode cannot " -"represent binary data directly, the message is of necessity transformed into" -" something that contains only ASCII characters, using the standard email RFC" -" Content Transfer Encoding techniques for encoding email messages for " -"transport over channels that are not \"8 bit clean\"." -msgstr "" - -#: ../../library/email.generator.rst:39 -msgid "" -"To accommodate reproducible processing of SMIME-signed messages " -":class:`Generator` disables header folding for message parts of type " -"``multipart/signed`` and all subparts." -msgstr "" - -#: ../../library/email.generator.rst:47 -msgid "" -"Return a :class:`BytesGenerator` object that will write any message provided" -" to the :meth:`flatten` method, or any surrogateescape encoded text provided" -" to the :meth:`write` method, to the :term:`file-like object` *outfp*. " -"*outfp* must support a ``write`` method that accepts binary data." -msgstr "" - -#: ../../library/email.generator.rst:52 ../../library/email.generator.rst:153 -msgid "" -"If optional *mangle_from_* is ``True``, put a ``>`` character in front of " -"any line in the body that starts with the exact string ``\"From \"``, that " -"is ``From`` followed by a space at the beginning of a line. *mangle_from_* " -"defaults to the value of the :attr:`~email.policy.Policy.mangle_from_` " -"setting of the *policy* (which is ``True`` for the " -":data:`~email.policy.compat32` policy and ``False`` for all others). " -"*mangle_from_* is intended for use when messages are stored in Unix mbox " -"format (see :mod:`mailbox` and `WHY THE CONTENT-LENGTH FORMAT IS BAD " -"`_)." -msgstr "" - -#: ../../library/email.generator.rst:62 ../../library/email.generator.rst:163 -msgid "" -"If *maxheaderlen* is not ``None``, refold any header lines that are longer " -"than *maxheaderlen*, or if ``0``, do not rewrap any headers. If " -"*manheaderlen* is ``None`` (the default), wrap headers and other message " -"lines according to the *policy* settings." -msgstr "" - -#: ../../library/email.generator.rst:67 ../../library/email.generator.rst:168 -msgid "" -"If *policy* is specified, use that policy to control message generation. If" -" *policy* is ``None`` (the default), use the policy associated with the " -":class:`~email.message.Message` or :class:`~email.message.EmailMessage` " -"object passed to ``flatten`` to control the message generation. See " -":mod:`email.policy` for details on what *policy* controls." -msgstr "" - -#: ../../library/email.generator.rst:75 ../../library/email.generator.rst:174 -msgid "Added the *policy* keyword." -msgstr "" - -#: ../../library/email.generator.rst:77 ../../library/email.generator.rst:176 -msgid "" -"The default behavior of the *mangle_from_* and *maxheaderlen* parameters is " -"to follow the policy." -msgstr "" - -#: ../../library/email.generator.rst:83 -msgid "" -"Print the textual representation of the message object structure rooted at " -"*msg* to the output file specified when the :class:`BytesGenerator` instance" -" was created." -msgstr "" - -#: ../../library/email.generator.rst:87 -msgid "" -"If the :mod:`~email.policy` option :attr:`~email.policy.Policy.cte_type` is " -"``8bit`` (the default), copy any headers in the original parsed message that" -" have not been modified to the output with any bytes with the high bit set " -"reproduced as in the original, and preserve the non-ASCII " -":mailheader:`Content-Transfer-Encoding` of any body parts that have them. If" -" ``cte_type`` is ``7bit``, convert the bytes with the high bit set as needed" -" using an ASCII-compatible :mailheader:`Content-Transfer-Encoding`. That is," -" transform parts with non-ASCII :mailheader:`Content-Transfer-Encoding` " -"(:mailheader:`Content-Transfer-Encoding: 8bit`) to an ASCII compatible " -":mailheader:`Content-Transfer-Encoding`, and encode RFC-invalid non-ASCII " -"bytes in headers using the MIME ``unknown-8bit`` character set, thus " -"rendering them RFC-compliant." -msgstr "" - -#: ../../library/email.generator.rst:104 ../../library/email.generator.rst:197 -msgid "" -"If *unixfrom* is ``True``, print the envelope header delimiter used by the " -"Unix mailbox format (see :mod:`mailbox`) before the first of the :rfc:`5322`" -" headers of the root message object. If the root object has no envelope " -"header, craft a standard one. The default is ``False``. Note that for " -"subparts, no envelope header is ever printed." -msgstr "" - -#: ../../library/email.generator.rst:110 ../../library/email.generator.rst:203 -msgid "" -"If *linesep* is not ``None``, use it as the separator character between all " -"the lines of the flattened message. If *linesep* is ``None`` (the default)," -" use the value specified in the *policy*." -msgstr "" - -#: ../../library/email.generator.rst:119 -msgid "" -"Return an independent clone of this :class:`BytesGenerator` instance with " -"the exact same option settings, and *fp* as the new *outfp*." -msgstr "" - -#: ../../library/email.generator.rst:125 -msgid "" -"Encode *s* using the ``ASCII`` codec and the ``surrogateescape`` error " -"handler, and pass it to the *write* method of the *outfp* passed to the " -":class:`BytesGenerator`'s constructor." -msgstr "" - -#: ../../library/email.generator.rst:130 -msgid "" -"As a convenience, :class:`~email.message.EmailMessage` provides the methods " -":meth:`~email.message.EmailMessage.as_bytes` and ``bytes(aMessage)`` (a.k.a." -" :meth:`~email.message.EmailMessage.__bytes__`), which simplify the " -"generation of a serialized binary representation of a message object. For " -"more detail, see :mod:`email.message`." -msgstr "" - -#: ../../library/email.generator.rst:137 -msgid "" -"Because strings cannot represent binary data, the :class:`Generator` class " -"must convert any binary data in any message it flattens to an ASCII " -"compatible format, by converting them to an ASCII compatible " -":mailheader:`Content-Transfer_Encoding`. Using the terminology of the email" -" RFCs, you can think of this as :class:`Generator` serializing to an I/O " -"stream that is not \"8 bit clean\". In other words, most applications will " -"want to be using :class:`BytesGenerator`, and not :class:`Generator`." -msgstr "" - -#: ../../library/email.generator.rst:148 -msgid "" -"Return a :class:`Generator` object that will write any message provided to " -"the :meth:`flatten` method, or any text provided to the :meth:`write` " -"method, to the :term:`file-like object` *outfp*. *outfp* must support a " -"``write`` method that accepts string data." -msgstr "" - -#: ../../library/email.generator.rst:182 -msgid "" -"Print the textual representation of the message object structure rooted at " -"*msg* to the output file specified when the :class:`Generator` instance was " -"created." -msgstr "" - -#: ../../library/email.generator.rst:186 -msgid "" -"If the :mod:`~email.policy` option :attr:`~email.policy.Policy.cte_type` is " -"``8bit``, generate the message as if the option were set to ``7bit``. (This " -"is required because strings cannot represent non-ASCII bytes.) Convert any " -"bytes with the high bit set as needed using an ASCII-compatible " -":mailheader:`Content-Transfer-Encoding`. That is, transform parts with non-" -"ASCII :mailheader:`Content-Transfer-Encoding` (:mailheader:`Content-" -"Transfer-Encoding: 8bit`) to an ASCII compatible :mailheader:`Content-" -"Transfer-Encoding`, and encode RFC-invalid non-ASCII bytes in headers using " -"the MIME ``unknown-8bit`` character set, thus rendering them RFC-compliant." -msgstr "" - -#: ../../library/email.generator.rst:209 -msgid "" -"Added support for re-encoding ``8bit`` message bodies, and the *linesep* " -"argument." -msgstr "" - -#: ../../library/email.generator.rst:216 -msgid "" -"Return an independent clone of this :class:`Generator` instance with the " -"exact same options, and *fp* as the new *outfp*." -msgstr "" - -#: ../../library/email.generator.rst:222 -msgid "" -"Write *s* to the *write* method of the *outfp* passed to the " -":class:`Generator`'s constructor. This provides just enough file-like API " -"for :class:`Generator` instances to be used in the :func:`print` function." -msgstr "" - -#: ../../library/email.generator.rst:228 -msgid "" -"As a convenience, :class:`~email.message.EmailMessage` provides the methods " -":meth:`~email.message.EmailMessage.as_string` and ``str(aMessage)`` (a.k.a. " -":meth:`~email.message.EmailMessage.__str__`), which simplify the generation " -"of a formatted string representation of a message object. For more detail, " -"see :mod:`email.message`." -msgstr "" - -#: ../../library/email.generator.rst:235 -msgid "" -"The :mod:`email.generator` module also provides a derived class, " -":class:`DecodedGenerator`, which is like the :class:`Generator` base class, " -"except that non-\\ :mimetype:`text` parts are not serialized, but are " -"instead represented in the output stream by a string derived from a template" -" filled in with information about the part." -msgstr "" - -#: ../../library/email.generator.rst:244 -msgid "" -"Act like :class:`Generator`, except that for any subpart of the message " -"passed to :meth:`Generator.flatten`, if the subpart is of main type " -":mimetype:`text`, print the decoded payload of the subpart, and if the main " -"type is not :mimetype:`text`, instead of printing it fill in the string " -"*fmt* using information from the part and print the resulting filled-in " -"string." -msgstr "" - -#: ../../library/email.generator.rst:251 -msgid "" -"To fill in *fmt*, execute ``fmt % part_info``, where ``part_info`` is a " -"dictionary composed of the following keys and values:" -msgstr "" - -#: ../../library/email.generator.rst:254 -msgid "``type`` -- Full MIME type of the non-\\ :mimetype:`text` part" -msgstr "" - -#: ../../library/email.generator.rst:256 -msgid "``maintype`` -- Main MIME type of the non-\\ :mimetype:`text` part" -msgstr "" - -#: ../../library/email.generator.rst:258 -msgid "``subtype`` -- Sub-MIME type of the non-\\ :mimetype:`text` part" -msgstr "" - -#: ../../library/email.generator.rst:260 -msgid "``filename`` -- Filename of the non-\\ :mimetype:`text` part" -msgstr "" - -#: ../../library/email.generator.rst:262 -msgid "" -"``description`` -- Description associated with the non-\\ :mimetype:`text` " -"part" -msgstr "" - -#: ../../library/email.generator.rst:264 -msgid "" -"``encoding`` -- Content transfer encoding of the non-\\ :mimetype:`text` " -"part" -msgstr "" - -#: ../../library/email.generator.rst:266 -msgid "If *fmt* is ``None``, use the following default *fmt*:" -msgstr "" - -#: ../../library/email.generator.rst:268 -msgid "\"[Non-text (%(type)s) part of message omitted, filename %(filename)s]\"" -msgstr "" - -#: ../../library/email.generator.rst:270 -msgid "" -"Optional *_mangle_from_* and *maxheaderlen* are as with the " -":class:`Generator` base class." -msgstr "" - -#: ../../library/email.generator.rst:275 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/email.generator.rst:276 -msgid "" -"This statement assumes that you use the appropriate setting for " -"``unixfrom``, and that there are no :mod:`email.policy` settings calling for" -" automatic adjustments (for example, " -":attr:`~email.policy.EmailPolicy.refold_source` must be ``none``, which is " -"*not* the default). It is also not 100% true, since if the message does not" -" conform to the RFC standards occasionally information about the exact " -"original text is lost during parsing error recovery. It is a goal to fix " -"these latter edge cases when possible." -msgstr "" diff --git a/python-newest.library--email_header/id.po b/python-newest.library--email_header/id.po deleted file mode 100644 index f68cd7e..0000000 --- a/python-newest.library--email_header/id.po +++ /dev/null @@ -1,307 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.header.rst:2 -msgid ":mod:`!email.header`: Internationalized headers" -msgstr "" - -#: ../../library/email.header.rst:7 -msgid "**Source code:** :source:`Lib/email/header.py`" -msgstr "" - -#: ../../library/email.header.rst:11 -msgid "" -"This module is part of the legacy (``Compat32``) email API. In the current " -"API encoding and decoding of headers is handled transparently by the " -"dictionary-like API of the :class:`~email.message.EmailMessage` class. In " -"addition to uses in legacy code, this module can be useful in applications " -"that need to completely control the character sets used when encoding " -"headers." -msgstr "" - -#: ../../library/email.header.rst:17 -msgid "" -"The remaining text in this section is the original documentation of the " -"module." -msgstr "" - -#: ../../library/email.header.rst:19 -msgid "" -":rfc:`2822` is the base standard that describes the format of email " -"messages. It derives from the older :rfc:`822` standard which came into " -"widespread use at a time when most email was composed of ASCII characters " -"only. :rfc:`2822` is a specification written assuming email contains only " -"7-bit ASCII characters." -msgstr "" - -#: ../../library/email.header.rst:24 -msgid "" -"Of course, as email has been deployed worldwide, it has become " -"internationalized, such that language specific character sets can now be " -"used in email messages. The base standard still requires email messages to " -"be transferred using only 7-bit ASCII characters, so a slew of RFCs have " -"been written describing how to encode email containing non-ASCII characters " -"into :rfc:`2822`\\ -compliant format. These RFCs include :rfc:`2045`, " -":rfc:`2046`, :rfc:`2047`, and :rfc:`2231`. The :mod:`email` package supports" -" these standards in its :mod:`email.header` and :mod:`email.charset` " -"modules." -msgstr "" - -#: ../../library/email.header.rst:33 -msgid "" -"If you want to include non-ASCII characters in your email headers, say in " -"the :mailheader:`Subject` or :mailheader:`To` fields, you should use the " -":class:`Header` class and assign the field in the " -":class:`~email.message.Message` object to an instance of :class:`Header` " -"instead of using a string for the header value. Import the :class:`Header` " -"class from the :mod:`email.header` module. For example::" -msgstr "" - -#: ../../library/email.header.rst:40 -msgid "" -">>> from email.message import Message\n" -">>> from email.header import Header\n" -">>> msg = Message()\n" -">>> h = Header('p\\xf6stal', 'iso-8859-1')\n" -">>> msg['Subject'] = h\n" -">>> msg.as_string()\n" -"'Subject: =?iso-8859-1?q?p=F6stal?=\\n\\n'" -msgstr "" - -#: ../../library/email.header.rst:50 -msgid "" -"Notice here how we wanted the :mailheader:`Subject` field to contain a non-" -"ASCII character? We did this by creating a :class:`Header` instance and " -"passing in the character set that the byte string was encoded in. When the " -"subsequent :class:`~email.message.Message` instance was flattened, the " -":mailheader:`Subject` field was properly :rfc:`2047` encoded. MIME-aware " -"mail readers would show this header using the embedded ISO-8859-1 character." -msgstr "" - -#: ../../library/email.header.rst:57 -msgid "Here is the :class:`Header` class description:" -msgstr "" - -#: ../../library/email.header.rst:62 -msgid "" -"Create a MIME-compliant header that can contain strings in different " -"character sets." -msgstr "" - -#: ../../library/email.header.rst:65 -msgid "" -"Optional *s* is the initial header value. If ``None`` (the default), the " -"initial header value is not set. You can later append to the header with " -":meth:`append` method calls. *s* may be an instance of :class:`bytes` or " -":class:`str`, but see the :meth:`append` documentation for semantics." -msgstr "" - -#: ../../library/email.header.rst:70 -msgid "" -"Optional *charset* serves two purposes: it has the same meaning as the " -"*charset* argument to the :meth:`append` method. It also sets the default " -"character set for all subsequent :meth:`append` calls that omit the " -"*charset* argument. If *charset* is not provided in the constructor (the " -"default), the ``us-ascii`` character set is used both as *s*'s initial " -"charset and as the default for subsequent :meth:`append` calls." -msgstr "" - -#: ../../library/email.header.rst:77 -msgid "" -"The maximum line length can be specified explicitly via *maxlinelen*. For " -"splitting the first line to a shorter value (to account for the field header" -" which isn't included in *s*, e.g. :mailheader:`Subject`) pass in the name " -"of the field in *header_name*. The default *maxlinelen* is 78, and the " -"default value for *header_name* is ``None``, meaning it is not taken into " -"account for the first line of a long, split header." -msgstr "" - -#: ../../library/email.header.rst:84 -msgid "" -"Optional *continuation_ws* must be :rfc:`2822`\\ -compliant folding " -"whitespace, and is usually either a space or a hard tab character. This " -"character will be prepended to continuation lines. *continuation_ws* " -"defaults to a single space character." -msgstr "" - -#: ../../library/email.header.rst:89 -msgid "" -"Optional *errors* is passed straight through to the :meth:`append` method." -msgstr "" - -#: ../../library/email.header.rst:94 -msgid "Append the string *s* to the MIME header." -msgstr "" - -#: ../../library/email.header.rst:96 -msgid "" -"Optional *charset*, if given, should be a :class:`~email.charset.Charset` " -"instance (see :mod:`email.charset`) or the name of a character set, which " -"will be converted to a :class:`~email.charset.Charset` instance. A value of" -" ``None`` (the default) means that the *charset* given in the constructor is" -" used." -msgstr "" - -#: ../../library/email.header.rst:102 -msgid "" -"*s* may be an instance of :class:`bytes` or :class:`str`. If it is an " -"instance of :class:`bytes`, then *charset* is the encoding of that byte " -"string, and a :exc:`UnicodeError` will be raised if the string cannot be " -"decoded with that character set." -msgstr "" - -#: ../../library/email.header.rst:107 -msgid "" -"If *s* is an instance of :class:`str`, then *charset* is a hint specifying " -"the character set of the characters in the string." -msgstr "" - -#: ../../library/email.header.rst:110 -msgid "" -"In either case, when producing an :rfc:`2822`\\ -compliant header using " -":rfc:`2047` rules, the string will be encoded using the output codec of the " -"charset. If the string cannot be encoded using the output codec, a " -"UnicodeError will be raised." -msgstr "" - -#: ../../library/email.header.rst:115 -msgid "" -"Optional *errors* is passed as the errors argument to the decode call if *s*" -" is a byte string." -msgstr "" - -#: ../../library/email.header.rst:121 -msgid "" -"Encode a message header into an RFC-compliant format, possibly wrapping long" -" lines and encapsulating non-ASCII parts in base64 or quoted-printable " -"encodings." -msgstr "" - -#: ../../library/email.header.rst:125 -msgid "" -"Optional *splitchars* is a string containing characters which should be " -"given extra weight by the splitting algorithm during normal header wrapping." -" This is in very rough support of :RFC:`2822`\\'s 'higher level syntactic " -"breaks': split points preceded by a splitchar are preferred during line " -"splitting, with the characters preferred in the order in which they appear " -"in the string. Space and tab may be included in the string to indicate " -"whether preference should be given to one over the other as a split point " -"when other split chars do not appear in the line being split. Splitchars " -"does not affect :RFC:`2047` encoded lines." -msgstr "" - -#: ../../library/email.header.rst:135 -msgid "" -"*maxlinelen*, if given, overrides the instance's value for the maximum line " -"length." -msgstr "" - -#: ../../library/email.header.rst:138 -msgid "" -"*linesep* specifies the characters used to separate the lines of the folded " -"header. It defaults to the most useful value for Python application code " -"(``\\n``), but ``\\r\\n`` can be specified in order to produce headers with " -"RFC-compliant line separators." -msgstr "" - -#: ../../library/email.header.rst:143 -msgid "Added the *linesep* argument." -msgstr "" - -#: ../../library/email.header.rst:147 -msgid "" -"The :class:`Header` class also provides a number of methods to support " -"standard operators and built-in functions." -msgstr "" - -#: ../../library/email.header.rst:152 -msgid "" -"Returns an approximation of the :class:`Header` as a string, using an " -"unlimited line length. All pieces are converted to unicode using the " -"specified encoding and joined together appropriately. Any pieces with a " -"charset of ``'unknown-8bit'`` are decoded as ASCII using the ``'replace'`` " -"error handler." -msgstr "" - -#: ../../library/email.header.rst:158 -msgid "Added handling for the ``'unknown-8bit'`` charset." -msgstr "" - -#: ../../library/email.header.rst:164 -msgid "" -"This method allows you to compare two :class:`Header` instances for " -"equality." -msgstr "" - -#: ../../library/email.header.rst:170 -msgid "" -"This method allows you to compare two :class:`Header` instances for " -"inequality." -msgstr "" - -#: ../../library/email.header.rst:173 -msgid "" -"The :mod:`email.header` module also provides the following convenient " -"functions." -msgstr "" - -#: ../../library/email.header.rst:178 -msgid "" -"Decode a message header value without converting the character set. The " -"header value is in *header*." -msgstr "" - -#: ../../library/email.header.rst:181 -msgid "" -"This function returns a list of ``(decoded_string, charset)`` pairs " -"containing each of the decoded parts of the header. *charset* is ``None`` " -"for non-encoded parts of the header, otherwise a lower case string " -"containing the name of the character set specified in the encoded string." -msgstr "" - -#: ../../library/email.header.rst:186 -msgid "Here's an example::" -msgstr "" - -#: ../../library/email.header.rst:188 -msgid "" -">>> from email.header import decode_header\n" -">>> decode_header('=?iso-8859-1?q?p=F6stal?=')\n" -"[(b'p\\xf6stal', 'iso-8859-1')]" -msgstr "" - -#: ../../library/email.header.rst:195 -msgid "" -"Create a :class:`Header` instance from a sequence of pairs as returned by " -":func:`decode_header`." -msgstr "" - -#: ../../library/email.header.rst:198 -msgid "" -":func:`decode_header` takes a header value string and returns a sequence of " -"pairs of the format ``(decoded_string, charset)`` where *charset* is the " -"name of the character set." -msgstr "" - -#: ../../library/email.header.rst:202 -msgid "" -"This function takes one of those sequence of pairs and returns a " -":class:`Header` instance. Optional *maxlinelen*, *header_name*, and " -"*continuation_ws* are as in the :class:`Header` constructor." -msgstr "" diff --git a/python-newest.library--email_headerregistry/id.po b/python-newest.library--email_headerregistry/id.po deleted file mode 100644 index 11b1489..0000000 --- a/python-newest.library--email_headerregistry/id.po +++ /dev/null @@ -1,689 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.headerregistry.rst:2 -msgid ":mod:`!email.headerregistry`: Custom Header Objects" -msgstr "" - -#: ../../library/email.headerregistry.rst:10 -msgid "**Source code:** :source:`Lib/email/headerregistry.py`" -msgstr "" - -#: ../../library/email.headerregistry.rst:14 -msgid "[1]_" -msgstr "[1]_" - -#: ../../library/email.headerregistry.rst:16 -msgid "" -"Headers are represented by customized subclasses of :class:`str`. The " -"particular class used to represent a given header is determined by the " -":attr:`~email.policy.EmailPolicy.header_factory` of the :mod:`~email.policy`" -" in effect when the headers are created. This section documents the " -"particular ``header_factory`` implemented by the email package for handling " -":RFC:`5322` compliant email messages, which not only provides customized " -"header objects for various header types, but also provides an extension " -"mechanism for applications to add their own custom header types." -msgstr "" - -#: ../../library/email.headerregistry.rst:25 -msgid "" -"When using any of the policy objects derived from " -":data:`~email.policy.EmailPolicy`, all headers are produced by " -":class:`.HeaderRegistry` and have :class:`.BaseHeader` as their last base " -"class. Each header class has an additional base class that is determined by" -" the type of the header. For example, many headers have the class " -":class:`.UnstructuredHeader` as their other base class. The specialized " -"second class for a header is determined by the name of the header, using a " -"lookup table stored in the :class:`.HeaderRegistry`. All of this is managed" -" transparently for the typical application program, but interfaces are " -"provided for modifying the default behavior for use by more complex " -"applications." -msgstr "" - -#: ../../library/email.headerregistry.rst:36 -msgid "" -"The sections below first document the header base classes and their " -"attributes, followed by the API for modifying the behavior of " -":class:`.HeaderRegistry`, and finally the support classes used to represent " -"the data parsed from structured headers." -msgstr "" - -#: ../../library/email.headerregistry.rst:44 -msgid "" -"*name* and *value* are passed to ``BaseHeader`` from the " -":attr:`~email.policy.EmailPolicy.header_factory` call. The string value of " -"any header object is the *value* fully decoded to unicode." -msgstr "" - -#: ../../library/email.headerregistry.rst:48 -msgid "This base class defines the following read-only properties:" -msgstr "" - -#: ../../library/email.headerregistry.rst:53 -msgid "" -"The name of the header (the portion of the field before the ':'). This is " -"exactly the value passed in the " -":attr:`~email.policy.EmailPolicy.header_factory` call for *name*; that is, " -"case is preserved." -msgstr "" - -#: ../../library/email.headerregistry.rst:61 -msgid "" -"A tuple of :exc:`~email.errors.HeaderDefect` instances reporting any RFC " -"compliance problems found during parsing. The email package tries to be " -"complete about detecting compliance issues. See the :mod:`~email.errors` " -"module for a discussion of the types of defects that may be reported." -msgstr "" - -#: ../../library/email.headerregistry.rst:69 -msgid "" -"The maximum number of headers of this type that can have the same ``name``." -" A value of ``None`` means unlimited. The ``BaseHeader`` value for this " -"attribute is ``None``; it is expected that specialized header classes will " -"override this value as needed." -msgstr "" - -#: ../../library/email.headerregistry.rst:74 -msgid "" -"``BaseHeader`` also provides the following method, which is called by the " -"email library code and should not in general be called by application " -"programs:" -msgstr "" - -#: ../../library/email.headerregistry.rst:80 -msgid "" -"Return a string containing :attr:`~email.policy.Policy.linesep` characters " -"as required to correctly fold the header according to *policy*. A " -":attr:`~email.policy.Policy.cte_type` of ``8bit`` will be treated as if it " -"were ``7bit``, since headers may not contain arbitrary binary data. If " -":attr:`~email.policy.EmailPolicy.utf8` is ``False``, non-ASCII data will be " -":rfc:`2047` encoded." -msgstr "" - -#: ../../library/email.headerregistry.rst:88 -msgid "" -"``BaseHeader`` by itself cannot be used to create a header object. It " -"defines a protocol that each specialized header cooperates with in order to " -"produce the header object. Specifically, ``BaseHeader`` requires that the " -"specialized class provide a :func:`classmethod` named ``parse``. This " -"method is called as follows::" -msgstr "" - -#: ../../library/email.headerregistry.rst:94 -msgid "parse(string, kwds)" -msgstr "" - -#: ../../library/email.headerregistry.rst:96 -msgid "" -"``kwds`` is a dictionary containing one pre-initialized key, ``defects``. " -"``defects`` is an empty list. The parse method should append any detected " -"defects to this list. On return, the ``kwds`` dictionary *must* contain " -"values for at least the keys ``decoded`` and ``defects``. ``decoded`` " -"should be the string value for the header (that is, the header value fully " -"decoded to unicode). The parse method should assume that *string* may " -"contain content-transfer-encoded parts, but should correctly handle all " -"valid unicode characters as well so that it can parse un-encoded header " -"values." -msgstr "" - -#: ../../library/email.headerregistry.rst:105 -msgid "" -"``BaseHeader``'s ``__new__`` then creates the header instance, and calls its" -" ``init`` method. The specialized class only needs to provide an ``init`` " -"method if it wishes to set additional attributes beyond those provided by " -"``BaseHeader`` itself. Such an ``init`` method should look like this::" -msgstr "" - -#: ../../library/email.headerregistry.rst:110 -msgid "" -"def init(self, /, *args, **kw):\n" -" self._myattr = kw.pop('myattr')\n" -" super().init(*args, **kw)" -msgstr "" - -#: ../../library/email.headerregistry.rst:114 -msgid "" -"That is, anything extra that the specialized class puts in to the ``kwds`` " -"dictionary should be removed and handled, and the remaining contents of " -"``kw`` (and ``args``) passed to the ``BaseHeader`` ``init`` method." -msgstr "" - -#: ../../library/email.headerregistry.rst:121 -msgid "" -"An \"unstructured\" header is the default type of header in :rfc:`5322`. Any" -" header that does not have a specified syntax is treated as unstructured. " -"The classic example of an unstructured header is the :mailheader:`Subject` " -"header." -msgstr "" - -#: ../../library/email.headerregistry.rst:126 -msgid "" -"In :rfc:`5322`, an unstructured header is a run of arbitrary text in the " -"ASCII character set. :rfc:`2047`, however, has an :rfc:`5322` compatible " -"mechanism for encoding non-ASCII text as ASCII characters within a header " -"value. When a *value* containing encoded words is passed to the " -"constructor, the ``UnstructuredHeader`` parser converts such encoded words " -"into unicode, following the :rfc:`2047` rules for unstructured text. The " -"parser uses heuristics to attempt to decode certain non-compliant encoded " -"words. Defects are registered in such cases, as well as defects for issues " -"such as invalid characters within the encoded words or the non-encoded text." -msgstr "" - -#: ../../library/email.headerregistry.rst:136 -msgid "This header type provides no additional attributes." -msgstr "" - -#: ../../library/email.headerregistry.rst:141 -msgid "" -":rfc:`5322` specifies a very specific format for dates within email headers." -" The ``DateHeader`` parser recognizes that date format, as well as " -"recognizing a number of variant forms that are sometimes found \"in the " -"wild\"." -msgstr "" - -#: ../../library/email.headerregistry.rst:146 -#: ../../library/email.headerregistry.rst:188 -msgid "This header type provides the following additional attributes:" -msgstr "" - -#: ../../library/email.headerregistry.rst:150 -msgid "" -"If the header value can be recognized as a valid date of one form or " -"another, this attribute will contain a :class:`~datetime.datetime` instance " -"representing that date. If the timezone of the input date is specified as " -"``-0000`` (indicating it is in UTC but contains no information about the " -"source timezone), then :attr:`.datetime` will be a naive " -":class:`~datetime.datetime`. If a specific timezone offset is found " -"(including ``+0000``), then :attr:`.datetime` will contain an aware " -"``datetime`` that uses :class:`datetime.timezone` to record the timezone " -"offset." -msgstr "" - -#: ../../library/email.headerregistry.rst:160 -msgid "" -"The ``decoded`` value of the header is determined by formatting the " -"``datetime`` according to the :rfc:`5322` rules; that is, it is set to::" -msgstr "" - -#: ../../library/email.headerregistry.rst:163 -msgid "email.utils.format_datetime(self.datetime)" -msgstr "" - -#: ../../library/email.headerregistry.rst:165 -msgid "" -"When creating a ``DateHeader``, *value* may be :class:`~datetime.datetime` " -"instance. This means, for example, that the following code is valid and " -"does what one would expect::" -msgstr "" - -#: ../../library/email.headerregistry.rst:169 -msgid "msg['Date'] = datetime(2011, 7, 15, 21)" -msgstr "" - -#: ../../library/email.headerregistry.rst:171 -msgid "" -"Because this is a naive ``datetime`` it will be interpreted as a UTC " -"timestamp, and the resulting value will have a timezone of ``-0000``. Much " -"more useful is to use the :func:`~email.utils.localtime` function from the " -":mod:`~email.utils` module::" -msgstr "" - -#: ../../library/email.headerregistry.rst:176 -msgid "msg['Date'] = utils.localtime()" -msgstr "" - -#: ../../library/email.headerregistry.rst:178 -msgid "" -"This example sets the date header to the current time and date using the " -"current timezone offset." -msgstr "" - -#: ../../library/email.headerregistry.rst:184 -msgid "" -"Address headers are one of the most complex structured header types. The " -"``AddressHeader`` class provides a generic interface to any address header." -msgstr "" - -#: ../../library/email.headerregistry.rst:193 -msgid "" -"A tuple of :class:`.Group` objects encoding the addresses and groups found " -"in the header value. Addresses that are not part of a group are represented" -" in this list as single-address ``Groups`` whose " -":attr:`~.Group.display_name` is ``None``." -msgstr "" - -#: ../../library/email.headerregistry.rst:201 -msgid "" -"A tuple of :class:`.Address` objects encoding all of the individual " -"addresses from the header value. If the header value contains any groups, " -"the individual addresses from the group are included in the list at the " -"point where the group occurs in the value (that is, the list of addresses is" -" \"flattened\" into a one dimensional list)." -msgstr "" - -#: ../../library/email.headerregistry.rst:207 -msgid "" -"The ``decoded`` value of the header will have all encoded words decoded to " -"unicode. :class:`~encodings.idna` encoded domain names are also decoded to " -"unicode. The ``decoded`` value is set by :ref:`joining ` the" -" :class:`str` value of the elements of the ``groups`` attribute with ``', " -"'``." -msgstr "" - -#: ../../library/email.headerregistry.rst:213 -msgid "" -"A list of :class:`.Address` and :class:`.Group` objects in any combination " -"may be used to set the value of an address header. ``Group`` objects whose " -"``display_name`` is ``None`` will be interpreted as single addresses, which " -"allows an address list to be copied with groups intact by using the list " -"obtained from the ``groups`` attribute of the source header." -msgstr "" - -#: ../../library/email.headerregistry.rst:222 -msgid "" -"A subclass of :class:`.AddressHeader` that adds one additional attribute:" -msgstr "" - -#: ../../library/email.headerregistry.rst:228 -msgid "" -"The single address encoded by the header value. If the header value " -"actually contains more than one address (which would be a violation of the " -"RFC under the default :mod:`~email.policy`), accessing this attribute will " -"result in a :exc:`ValueError`." -msgstr "" - -#: ../../library/email.headerregistry.rst:234 -msgid "" -"Many of the above classes also have a ``Unique`` variant (for example, " -"``UniqueUnstructuredHeader``). The only difference is that in the " -"``Unique`` variant, :attr:`~.BaseHeader.max_count` is set to 1." -msgstr "" - -#: ../../library/email.headerregistry.rst:241 -msgid "" -"There is really only one valid value for the :mailheader:`MIME-Version` " -"header, and that is ``1.0``. For future proofing, this header class " -"supports other valid version numbers. If a version number has a valid value" -" per :rfc:`2045`, then the header object will have non-``None`` values for " -"the following attributes:" -msgstr "" - -#: ../../library/email.headerregistry.rst:249 -msgid "" -"The version number as a string, with any whitespace and/or comments removed." -msgstr "" - -#: ../../library/email.headerregistry.rst:254 -msgid "The major version number as an integer" -msgstr "" - -#: ../../library/email.headerregistry.rst:258 -msgid "The minor version number as an integer" -msgstr "" - -#: ../../library/email.headerregistry.rst:263 -msgid "" -"MIME headers all start with the prefix 'Content-'. Each specific header has" -" a certain value, described under the class for that header. Some can also " -"take a list of supplemental parameters, which have a common format. This " -"class serves as a base for all the MIME headers that take parameters." -msgstr "" - -#: ../../library/email.headerregistry.rst:270 -msgid "A dictionary mapping parameter names to parameter values." -msgstr "" - -#: ../../library/email.headerregistry.rst:275 -msgid "" -"A :class:`ParameterizedMIMEHeader` class that handles the " -":mailheader:`Content-Type` header." -msgstr "" - -#: ../../library/email.headerregistry.rst:280 -msgid "The content type string, in the form ``maintype/subtype``." -msgstr "" - -#: ../../library/email.headerregistry.rst:289 -msgid "" -"A :class:`ParameterizedMIMEHeader` class that handles the " -":mailheader:`Content-Disposition` header." -msgstr "" - -#: ../../library/email.headerregistry.rst:294 -msgid "``inline`` and ``attachment`` are the only valid values in common use." -msgstr "" - -#: ../../library/email.headerregistry.rst:299 -msgid "Handles the :mailheader:`Content-Transfer-Encoding` header." -msgstr "" - -#: ../../library/email.headerregistry.rst:303 -msgid "" -"Valid values are ``7bit``, ``8bit``, ``base64``, and ``quoted-printable``. " -"See :rfc:`2045` for more information." -msgstr "" - -#: ../../library/email.headerregistry.rst:312 -msgid "" -"This is the factory used by :class:`~email.policy.EmailPolicy` by default. " -"``HeaderRegistry`` builds the class used to create a header instance " -"dynamically, using *base_class* and a specialized class retrieved from a " -"registry that it holds. When a given header name does not appear in the " -"registry, the class specified by *default_class* is used as the specialized " -"class. When *use_default_map* is ``True`` (the default), the standard " -"mapping of header names to classes is copied in to the registry during " -"initialization. *base_class* is always the last class in the generated " -"class's :class:`~type.__bases__` list." -msgstr "" - -#: ../../library/email.headerregistry.rst:322 -msgid "The default mappings are:" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "subject" -msgstr "" - -#: ../../library/email.headerregistry.rst:324 -msgid "UniqueUnstructuredHeader" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "date" -msgstr "" - -#: ../../library/email.headerregistry.rst:325 -#: ../../library/email.headerregistry.rst:327 -msgid "UniqueDateHeader" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "resent-date" -msgstr "" - -#: ../../library/email.headerregistry.rst:326 -msgid "DateHeader" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "orig-date" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "sender" -msgstr "" - -#: ../../library/email.headerregistry.rst:328 -msgid "UniqueSingleAddressHeader" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "resent-sender" -msgstr "" - -#: ../../library/email.headerregistry.rst:329 -msgid "SingleAddressHeader" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "to" -msgstr "ke" - -#: ../../library/email.headerregistry.rst:330 -#: ../../library/email.headerregistry.rst:332 -#: ../../library/email.headerregistry.rst:334 -#: ../../library/email.headerregistry.rst:336 -#: ../../library/email.headerregistry.rst:338 -msgid "UniqueAddressHeader" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "resent-to" -msgstr "" - -#: ../../library/email.headerregistry.rst:331 -#: ../../library/email.headerregistry.rst:333 -#: ../../library/email.headerregistry.rst:335 -#: ../../library/email.headerregistry.rst:337 -msgid "AddressHeader" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "cc" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "resent-cc" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "bcc" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "resent-bcc" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "from" -msgstr "dari" - -#: ../../library/email.headerregistry.rst:0 -msgid "resent-from" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "reply-to" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "mime-version" -msgstr "" - -#: ../../library/email.headerregistry.rst:339 -msgid "MIMEVersionHeader" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "content-type" -msgstr "" - -#: ../../library/email.headerregistry.rst:340 -msgid "ContentTypeHeader" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "content-disposition" -msgstr "" - -#: ../../library/email.headerregistry.rst:341 -msgid "ContentDispositionHeader" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "content-transfer-encoding" -msgstr "" - -#: ../../library/email.headerregistry.rst:342 -msgid "ContentTransferEncodingHeader" -msgstr "" - -#: ../../library/email.headerregistry.rst:0 -msgid "message-id" -msgstr "" - -#: ../../library/email.headerregistry.rst:343 -msgid "MessageIDHeader" -msgstr "" - -#: ../../library/email.headerregistry.rst:345 -msgid "``HeaderRegistry`` has the following methods:" -msgstr "" - -#: ../../library/email.headerregistry.rst:350 -msgid "" -"*name* is the name of the header to be mapped. It will be converted to " -"lower case in the registry. *cls* is the specialized class to be used, " -"along with *base_class*, to create the class used to instantiate headers " -"that match *name*." -msgstr "" - -#: ../../library/email.headerregistry.rst:358 -msgid "Construct and return a class to handle creating a *name* header." -msgstr "" - -#: ../../library/email.headerregistry.rst:363 -msgid "" -"Retrieves the specialized header associated with *name* from the registry " -"(using *default_class* if *name* does not appear in the registry) and " -"composes it with *base_class* to produce a class, calls the constructed " -"class's constructor, passing it the same argument list, and finally returns " -"the class instance created thereby." -msgstr "" - -#: ../../library/email.headerregistry.rst:370 -msgid "" -"The following classes are the classes used to represent data parsed from " -"structured headers and can, in general, be used by an application program to" -" construct structured values to assign to specific headers." -msgstr "" - -#: ../../library/email.headerregistry.rst:377 -msgid "" -"The class used to represent an email address. The general form of an " -"address is::" -msgstr "" - -#: ../../library/email.headerregistry.rst:380 -msgid "[display_name] " -msgstr "" - -#: ../../library/email.headerregistry.rst:382 -msgid "or::" -msgstr "atau::" - -#: ../../library/email.headerregistry.rst:384 -msgid "username@domain" -msgstr "" - -#: ../../library/email.headerregistry.rst:386 -msgid "" -"where each part must conform to specific syntax rules spelled out in " -":rfc:`5322`." -msgstr "" - -#: ../../library/email.headerregistry.rst:389 -msgid "" -"As a convenience *addr_spec* can be specified instead of *username* and " -"*domain*, in which case *username* and *domain* will be parsed from the " -"*addr_spec*. An *addr_spec* must be a properly RFC quoted string; if it is " -"not ``Address`` will raise an error. Unicode characters are allowed and " -"will be property encoded when serialized. However, per the RFCs, unicode is" -" *not* allowed in the username portion of the address." -msgstr "" - -#: ../../library/email.headerregistry.rst:398 -msgid "" -"The display name portion of the address, if any, with all quoting removed. " -"If the address does not have a display name, this attribute will be an empty" -" string." -msgstr "" - -#: ../../library/email.headerregistry.rst:404 -msgid "The ``username`` portion of the address, with all quoting removed." -msgstr "" - -#: ../../library/email.headerregistry.rst:408 -msgid "The ``domain`` portion of the address." -msgstr "" - -#: ../../library/email.headerregistry.rst:412 -msgid "" -"The ``username@domain`` portion of the address, correctly quoted for use as " -"a bare address (the second form shown above). This attribute is not " -"mutable." -msgstr "" - -#: ../../library/email.headerregistry.rst:418 -msgid "" -"The ``str`` value of the object is the address quoted according to " -":rfc:`5322` rules, but with no Content Transfer Encoding of any non-ASCII " -"characters." -msgstr "" - -#: ../../library/email.headerregistry.rst:422 -msgid "" -"To support SMTP (:rfc:`5321`), ``Address`` handles one special case: if " -"``username`` and ``domain`` are both the empty string (or ``None``), then " -"the string value of the ``Address`` is ``<>``." -msgstr "" - -#: ../../library/email.headerregistry.rst:429 -msgid "" -"The class used to represent an address group. The general form of an " -"address group is::" -msgstr "" - -#: ../../library/email.headerregistry.rst:432 -msgid "display_name: [address-list];" -msgstr "" - -#: ../../library/email.headerregistry.rst:434 -msgid "" -"As a convenience for processing lists of addresses that consist of a mixture" -" of groups and single addresses, a ``Group`` may also be used to represent " -"single addresses that are not part of a group by setting *display_name* to " -"``None`` and providing a list of the single address as *addresses*." -msgstr "" - -#: ../../library/email.headerregistry.rst:441 -msgid "" -"The ``display_name`` of the group. If it is ``None`` and there is exactly " -"one ``Address`` in ``addresses``, then the ``Group`` represents a single " -"address that is not in a group." -msgstr "" - -#: ../../library/email.headerregistry.rst:447 -msgid "" -"A possibly empty tuple of :class:`.Address` objects representing the " -"addresses in the group." -msgstr "" - -#: ../../library/email.headerregistry.rst:452 -msgid "" -"The ``str`` value of a ``Group`` is formatted according to :rfc:`5322`, but " -"with no Content Transfer Encoding of any non-ASCII characters. If " -"``display_name`` is none and there is a single ``Address`` in the " -"``addresses`` list, the ``str`` value will be the same as the ``str`` of " -"that single ``Address``." -msgstr "" - -#: ../../library/email.headerregistry.rst:460 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/email.headerregistry.rst:461 -msgid "" -"Originally added in 3.3 as a :term:`provisional module `" -msgstr "" diff --git a/python-newest.library--email_iterators/id.po b/python-newest.library--email_iterators/id.po deleted file mode 100644 index 358c209..0000000 --- a/python-newest.library--email_iterators/id.po +++ /dev/null @@ -1,109 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.iterators.rst:2 -msgid ":mod:`!email.iterators`: Iterators" -msgstr "" - -#: ../../library/email.iterators.rst:7 -msgid "**Source code:** :source:`Lib/email/iterators.py`" -msgstr "" - -#: ../../library/email.iterators.rst:11 -msgid "" -"Iterating over a message object tree is fairly easy with the " -":meth:`Message.walk ` method. The " -":mod:`email.iterators` module provides some useful higher level iterations " -"over message object trees." -msgstr "" - -#: ../../library/email.iterators.rst:19 -msgid "" -"This iterates over all the payloads in all the subparts of *msg*, returning " -"the string payloads line-by-line. It skips over all the subpart headers, " -"and it skips over any subpart with a payload that isn't a Python string. " -"This is somewhat equivalent to reading the flat text representation of the " -"message from a file using :meth:`~io.TextIOBase.readline`, skipping over all" -" the intervening headers." -msgstr "" - -#: ../../library/email.iterators.rst:26 -msgid "" -"Optional *decode* is passed through to :meth:`Message.get_payload " -"`." -msgstr "" - -#: ../../library/email.iterators.rst:32 -msgid "" -"This iterates over all the subparts of *msg*, returning only those subparts " -"that match the MIME type specified by *maintype* and *subtype*." -msgstr "" - -#: ../../library/email.iterators.rst:35 -msgid "" -"Note that *subtype* is optional; if omitted, then subpart MIME type matching" -" is done only with the main type. *maintype* is optional too; it defaults " -"to :mimetype:`text`." -msgstr "" - -#: ../../library/email.iterators.rst:39 -msgid "" -"Thus, by default :func:`typed_subpart_iterator` returns each subpart that " -"has a MIME type of :mimetype:`text/\\*`." -msgstr "" - -#: ../../library/email.iterators.rst:43 -msgid "" -"The following function has been added as a useful debugging tool. It should" -" *not* be considered part of the supported public interface for the package." -msgstr "" - -#: ../../library/email.iterators.rst:48 -msgid "" -"Prints an indented representation of the content types of the message object" -" structure. For example:" -msgstr "" - -#: ../../library/email.iterators.rst:57 -msgid "" -">>> msg = email.message_from_file(somefile)\n" -">>> _structure(msg)\n" -"multipart/mixed\n" -" text/plain\n" -" text/plain\n" -" multipart/digest\n" -" message/rfc822\n" -" text/plain\n" -" message/rfc822\n" -" text/plain\n" -" message/rfc822\n" -" text/plain\n" -" message/rfc822\n" -" text/plain\n" -" message/rfc822\n" -" text/plain\n" -" text/plain" -msgstr "" - -#: ../../library/email.iterators.rst:81 -msgid "" -"Optional *fp* is a file-like object to print the output to. It must be " -"suitable for Python's :func:`print` function. *level* is used internally. " -"*include_default*, if true, prints the default type as well." -msgstr "" diff --git a/python-newest.library--email_message/id.po b/python-newest.library--email_message/id.po deleted file mode 100644 index 66216b5..0000000 --- a/python-newest.library--email_message/id.po +++ /dev/null @@ -1,889 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.message.rst:2 -msgid ":mod:`!email.message`: Representing an email message" -msgstr "" - -#: ../../library/email.message.rst:10 -msgid "**Source code:** :source:`Lib/email/message.py`" -msgstr "" - -#: ../../library/email.message.rst:14 -msgid "[1]_" -msgstr "[1]_" - -#: ../../library/email.message.rst:16 -msgid "" -"The central class in the :mod:`email` package is the :class:`EmailMessage` " -"class, imported from the :mod:`email.message` module. It is the base class " -"for the :mod:`email` object model. :class:`EmailMessage` provides the core " -"functionality for setting and querying header fields, for accessing message " -"bodies, and for creating or modifying structured messages." -msgstr "" - -#: ../../library/email.message.rst:22 -msgid "" -"An email message consists of *headers* and a *payload* (which is also " -"referred to as the *content*). Headers are :rfc:`5322` or :rfc:`6532` style" -" field names and values, where the field name and value are separated by a " -"colon. The colon is not part of either the field name or the field value. " -"The payload may be a simple text message, or a binary object, or a " -"structured sequence of sub-messages each with their own set of headers and " -"their own payload. The latter type of payload is indicated by the message " -"having a MIME type such as :mimetype:`multipart/\\*` or " -":mimetype:`message/rfc822`." -msgstr "" - -#: ../../library/email.message.rst:31 -msgid "" -"The conceptual model provided by an :class:`EmailMessage` object is that of " -"an ordered dictionary of headers coupled with a *payload* that represents " -"the :rfc:`5322` body of the message, which might be a list of " -"sub-``EmailMessage`` objects. In addition to the normal dictionary methods " -"for accessing the header names and values, there are methods for accessing " -"specialized information from the headers (for example the MIME content " -"type), for operating on the payload, for generating a serialized version of " -"the message, and for recursively walking over the object tree." -msgstr "" - -#: ../../library/email.message.rst:40 -msgid "" -"The :class:`EmailMessage` dictionary-like interface is indexed by the header" -" names, which must be ASCII values. The values of the dictionary are " -"strings with some extra methods. Headers are stored and returned in case-" -"preserving form, but field names are matched case-insensitively. The keys " -"are ordered, but unlike a real dict, there can be duplicates. Additional " -"methods are provided for working with headers that have duplicate keys." -msgstr "" - -#: ../../library/email.message.rst:47 -msgid "" -"The *payload* is either a string or bytes object, in the case of simple " -"message objects, or a list of :class:`EmailMessage` objects, for MIME " -"container documents such as :mimetype:`multipart/\\*` and " -":mimetype:`message/rfc822` message objects." -msgstr "" - -#: ../../library/email.message.rst:55 -msgid "" -"If *policy* is specified use the rules it specifies to update and serialize " -"the representation of the message. If *policy* is not set, use the " -":class:`~email.policy.default` policy, which follows the rules of the email " -"RFCs except for line endings (instead of the RFC mandated ``\\r\\n``, it " -"uses the Python standard ``\\n`` line endings). For more information see " -"the :mod:`~email.policy` documentation." -msgstr "" - -#: ../../library/email.message.rst:64 -msgid "" -"Return the entire message flattened as a string. When optional *unixfrom* " -"is true, the envelope header is included in the returned string. *unixfrom*" -" defaults to ``False``. For backward compatibility with the base " -":class:`~email.message.Message` class *maxheaderlen* is accepted, but " -"defaults to ``None``, which means that by default the line length is " -"controlled by the :attr:`~email.policy.Policy.max_line_length` of the " -"policy. The *policy* argument may be used to override the default policy " -"obtained from the message instance. This can be used to control some of the" -" formatting produced by the method, since the specified *policy* will be " -"passed to the :class:`~email.generator.Generator`." -msgstr "" - -#: ../../library/email.message.rst:76 ../../library/email.message.rst:114 -msgid "" -"Flattening the message may trigger changes to the :class:`EmailMessage` if " -"defaults need to be filled in to complete the transformation to a string " -"(for example, MIME boundaries may be generated or modified)." -msgstr "" - -#: ../../library/email.message.rst:80 -msgid "" -"Note that this method is provided as a convenience and may not be the most " -"useful way to serialize messages in your application, especially if you are " -"dealing with multiple messages. See :class:`email.generator.Generator` for " -"a more flexible API for serializing messages. Note also that this method is" -" restricted to producing messages serialized as \"7 bit clean\" when " -":attr:`~email.policy.EmailPolicy.utf8` is ``False``, which is the default." -msgstr "" - -#: ../../library/email.message.rst:88 -msgid "" -"the default behavior when *maxheaderlen* is not specified was changed from " -"defaulting to 0 to defaulting to the value of *max_line_length* from the " -"policy." -msgstr "" - -#: ../../library/email.message.rst:95 -msgid "" -"Equivalent to ``as_string(policy=self.policy.clone(utf8=True))``. Allows " -"``str(msg)`` to produce a string containing the serialized message in a " -"readable format." -msgstr "" - -#: ../../library/email.message.rst:99 -msgid "" -"the method was changed to use ``utf8=True``, thus producing an " -":rfc:`6531`-like message representation, instead of being a direct alias for" -" :meth:`as_string`." -msgstr "" - -#: ../../library/email.message.rst:106 -msgid "" -"Return the entire message flattened as a bytes object. When optional " -"*unixfrom* is true, the envelope header is included in the returned string." -" *unixfrom* defaults to ``False``. The *policy* argument may be used to " -"override the default policy obtained from the message instance. This can be " -"used to control some of the formatting produced by the method, since the " -"specified *policy* will be passed to the " -":class:`~email.generator.BytesGenerator`." -msgstr "" - -#: ../../library/email.message.rst:118 -msgid "" -"Note that this method is provided as a convenience and may not be the most " -"useful way to serialize messages in your application, especially if you are " -"dealing with multiple messages. See :class:`email.generator.BytesGenerator`" -" for a more flexible API for serializing messages." -msgstr "" - -#: ../../library/email.message.rst:127 -msgid "" -"Equivalent to :meth:`.as_bytes`. Allows ``bytes(msg)`` to produce a bytes " -"object containing the serialized message." -msgstr "" - -#: ../../library/email.message.rst:133 -msgid "" -"Return ``True`` if the message's payload is a list of sub-\\ " -":class:`EmailMessage` objects, otherwise return ``False``. When " -":meth:`is_multipart` returns ``False``, the payload should be a string " -"object (which might be a CTE encoded binary payload). Note that " -":meth:`is_multipart` returning ``True`` does not necessarily mean that " -"\"msg.get_content_maintype() == 'multipart'\" will return the ``True``. For " -"example, ``is_multipart`` will return ``True`` when the " -":class:`EmailMessage` is of type ``message/rfc822``." -msgstr "" - -#: ../../library/email.message.rst:145 -msgid "" -"Set the message's envelope header to *unixfrom*, which should be a string. " -"(See :class:`~mailbox.mboxMessage` for a brief description of this header.)" -msgstr "" - -#: ../../library/email.message.rst:152 -msgid "" -"Return the message's envelope header. Defaults to ``None`` if the envelope " -"header was never set." -msgstr "" - -#: ../../library/email.message.rst:156 -msgid "" -"The following methods implement the mapping-like interface for accessing the" -" message's headers. Note that there are some semantic differences between " -"these methods and a normal mapping (i.e. dictionary) interface. For " -"example, in a dictionary there are no duplicate keys, but here there may be " -"duplicate message headers. Also, in dictionaries there is no guaranteed " -"order to the keys returned by :meth:`keys`, but in an :class:`EmailMessage` " -"object, headers are always returned in the order they appeared in the " -"original message, or in which they were added to the message later. Any " -"header deleted and then re-added is always appended to the end of the header" -" list." -msgstr "" - -#: ../../library/email.message.rst:167 -msgid "" -"These semantic differences are intentional and are biased toward convenience" -" in the most common use cases." -msgstr "" - -#: ../../library/email.message.rst:170 -msgid "" -"Note that in all cases, any envelope header present in the message is not " -"included in the mapping interface." -msgstr "" - -#: ../../library/email.message.rst:176 -msgid "Return the total number of headers, including duplicates." -msgstr "" - -#: ../../library/email.message.rst:181 -msgid "" -"Return ``True`` if the message object has a field named *name*. Matching is " -"done without regard to case and *name* does not include the trailing colon." -" Used for the ``in`` operator. For example::" -msgstr "" - -#: ../../library/email.message.rst:185 -msgid "" -"if 'message-id' in myMessage:\n" -" print('Message-ID:', myMessage['message-id'])" -msgstr "" - -#: ../../library/email.message.rst:191 -msgid "" -"Return the value of the named header field. *name* does not include the " -"colon field separator. If the header is missing, ``None`` is returned; a " -":exc:`KeyError` is never raised." -msgstr "" - -#: ../../library/email.message.rst:195 -msgid "" -"Note that if the named field appears more than once in the message's " -"headers, exactly which of those field values will be returned is undefined." -" Use the :meth:`get_all` method to get the values of all the extant headers" -" named *name*." -msgstr "" - -#: ../../library/email.message.rst:200 -msgid "" -"Using the standard (non-``compat32``) policies, the returned value is an " -"instance of a subclass of :class:`email.headerregistry.BaseHeader`." -msgstr "" - -#: ../../library/email.message.rst:206 -msgid "" -"Add a header to the message with field name *name* and value *val*. The " -"field is appended to the end of the message's existing headers." -msgstr "" - -#: ../../library/email.message.rst:209 -msgid "" -"Note that this does *not* overwrite or delete any existing header with the " -"same name. If you want to ensure that the new header is the only one " -"present in the message with field name *name*, delete the field first, " -"e.g.::" -msgstr "" - -#: ../../library/email.message.rst:213 -msgid "" -"del msg['subject']\n" -"msg['subject'] = 'Python roolz!'" -msgstr "" - -#: ../../library/email.message.rst:216 -msgid "" -"If the :mod:`policy ` defines certain headers to be unique (as" -" the standard policies do), this method may raise a :exc:`ValueError` when " -"an attempt is made to assign a value to such a header when one already " -"exists. This behavior is intentional for consistency's sake, but do not " -"depend on it as we may choose to make such assignments do an automatic " -"deletion of the existing header in the future." -msgstr "" - -#: ../../library/email.message.rst:226 -msgid "" -"Delete all occurrences of the field with name *name* from the message's " -"headers. No exception is raised if the named field isn't present in the " -"headers." -msgstr "" - -#: ../../library/email.message.rst:233 -msgid "Return a list of all the message's header field names." -msgstr "" - -#: ../../library/email.message.rst:238 -msgid "Return a list of all the message's field values." -msgstr "" - -#: ../../library/email.message.rst:243 -msgid "" -"Return a list of 2-tuples containing all the message's field headers and " -"values." -msgstr "" - -#: ../../library/email.message.rst:249 -msgid "" -"Return the value of the named header field. This is identical to " -":meth:`~object.__getitem__` except that optional *failobj* is returned if " -"the named header is missing (*failobj* defaults to ``None``)." -msgstr "" - -#: ../../library/email.message.rst:254 -msgid "Here are some additional useful header related methods:" -msgstr "" - -#: ../../library/email.message.rst:259 -msgid "" -"Return a list of all the values for the field named *name*. If there are no " -"such named headers in the message, *failobj* is returned (defaults to " -"``None``)." -msgstr "" - -#: ../../library/email.message.rst:266 -msgid "" -"Extended header setting. This method is similar to :meth:`__setitem__` " -"except that additional header parameters can be provided as keyword " -"arguments. *_name* is the header field to add and *_value* is the *primary*" -" value for the header." -msgstr "" - -#: ../../library/email.message.rst:271 -msgid "" -"For each item in the keyword argument dictionary *_params*, the key is taken" -" as the parameter name, with underscores converted to dashes (since dashes " -"are illegal in Python identifiers). Normally, the parameter will be added " -"as ``key=\"value\"`` unless the value is ``None``, in which case only the " -"key will be added." -msgstr "" - -#: ../../library/email.message.rst:277 -msgid "" -"If the value contains non-ASCII characters, the charset and language may be " -"explicitly controlled by specifying the value as a three tuple in the format" -" ``(CHARSET, LANGUAGE, VALUE)``, where ``CHARSET`` is a string naming the " -"charset to be used to encode the value, ``LANGUAGE`` can usually be set to " -"``None`` or the empty string (see :rfc:`2231` for other possibilities), and " -"``VALUE`` is the string value containing non-ASCII code points. If a three " -"tuple is not passed and the value contains non-ASCII characters, it is " -"automatically encoded in :rfc:`2231` format using a ``CHARSET`` of ``utf-8``" -" and a ``LANGUAGE`` of ``None``." -msgstr "" - -#: ../../library/email.message.rst:287 -msgid "Here is an example::" -msgstr "" - -#: ../../library/email.message.rst:289 -msgid "" -"msg.add_header('Content-Disposition', 'attachment', filename='bud.gif')" -msgstr "" - -#: ../../library/email.message.rst:291 -msgid "This will add a header that looks like ::" -msgstr "" - -#: ../../library/email.message.rst:293 -msgid "Content-Disposition: attachment; filename=\"bud.gif\"" -msgstr "" - -#: ../../library/email.message.rst:295 -msgid "An example of the extended interface with non-ASCII characters::" -msgstr "" - -#: ../../library/email.message.rst:297 -msgid "" -"msg.add_header('Content-Disposition', 'attachment',\n" -" filename=('iso-8859-1', '', 'Fußballer.ppt'))" -msgstr "" - -#: ../../library/email.message.rst:303 -msgid "" -"Replace a header. Replace the first header found in the message that " -"matches *_name*, retaining header order and field name case of the original " -"header. If no matching header is found, raise a :exc:`KeyError`." -msgstr "" - -#: ../../library/email.message.rst:311 -msgid "" -"Return the message's content type, coerced to lower case of the form " -":mimetype:`maintype/subtype`. If there is no :mailheader:`Content-Type` " -"header in the message return the value returned by :meth:`get_default_type`." -" If the :mailheader:`Content-Type` header is invalid, return " -"``text/plain``." -msgstr "" - -#: ../../library/email.message.rst:317 -msgid "" -"(According to :rfc:`2045`, messages always have a default type, " -":meth:`get_content_type` will always return a value. :rfc:`2045` defines a " -"message's default type to be :mimetype:`text/plain` unless it appears inside" -" a :mimetype:`multipart/digest` container, in which case it would be " -":mimetype:`message/rfc822`. If the :mailheader:`Content-Type` header has an" -" invalid type specification, :rfc:`2045` mandates that the default type be " -":mimetype:`text/plain`.)" -msgstr "" - -#: ../../library/email.message.rst:328 -msgid "" -"Return the message's main content type. This is the :mimetype:`maintype` " -"part of the string returned by :meth:`get_content_type`." -msgstr "" - -#: ../../library/email.message.rst:334 -msgid "" -"Return the message's sub-content type. This is the :mimetype:`subtype` part" -" of the string returned by :meth:`get_content_type`." -msgstr "" - -#: ../../library/email.message.rst:340 -msgid "" -"Return the default content type. Most messages have a default content type " -"of :mimetype:`text/plain`, except for messages that are subparts of " -":mimetype:`multipart/digest` containers. Such subparts have a default " -"content type of :mimetype:`message/rfc822`." -msgstr "" - -#: ../../library/email.message.rst:348 -msgid "" -"Set the default content type. *ctype* should either be " -":mimetype:`text/plain` or :mimetype:`message/rfc822`, although this is not " -"enforced. The default content type is not stored in the " -":mailheader:`Content-Type` header, so it only affects the return value of " -"the ``get_content_type`` methods when no :mailheader:`Content-Type` header " -"is present in the message." -msgstr "" - -#: ../../library/email.message.rst:359 -msgid "" -"Set a parameter in the :mailheader:`Content-Type` header. If the parameter " -"already exists in the header, replace its value with *value*. When *header* " -"is ``Content-Type`` (the default) and the header does not yet exist in the " -"message, add it, set its value to :mimetype:`text/plain`, and append the new" -" parameter value. Optional *header* specifies an alternative header to " -":mailheader:`Content-Type`." -msgstr "" - -#: ../../library/email.message.rst:366 -msgid "" -"If the value contains non-ASCII characters, the charset and language may be " -"explicitly specified using the optional *charset* and *language* parameters." -" Optional *language* specifies the :rfc:`2231` language, defaulting to the " -"empty string. Both *charset* and *language* should be strings. The default" -" is to use the ``utf8`` *charset* and ``None`` for the *language*." -msgstr "" - -#: ../../library/email.message.rst:373 -msgid "" -"If *replace* is ``False`` (the default) the header is moved to the end of " -"the list of headers. If *replace* is ``True``, the header will be updated " -"in place." -msgstr "" - -#: ../../library/email.message.rst:377 ../../library/email.message.rst:394 -msgid "" -"Use of the *requote* parameter with :class:`EmailMessage` objects is " -"deprecated." -msgstr "" - -#: ../../library/email.message.rst:380 -msgid "" -"Note that existing parameter values of headers may be accessed through the " -":attr:`~email.headerregistry.ParameterizedMIMEHeader.params` attribute of " -"the header value (for example, ``msg['Content-Type'].params['charset']``)." -msgstr "" - -#: ../../library/email.message.rst:384 -msgid "``replace`` keyword was added." -msgstr "" - -#: ../../library/email.message.rst:389 -msgid "" -"Remove the given parameter completely from the :mailheader:`Content-Type` " -"header. The header will be re-written in place without the parameter or its" -" value. Optional *header* specifies an alternative to :mailheader:`Content-" -"Type`." -msgstr "" - -#: ../../library/email.message.rst:400 -msgid "" -"Return the value of the ``filename`` parameter of the :mailheader:`Content-" -"Disposition` header of the message. If the header does not have a " -"``filename`` parameter, this method falls back to looking for the ``name`` " -"parameter on the :mailheader:`Content-Type` header. If neither is found, or" -" the header is missing, then *failobj* is returned. The returned string will" -" always be unquoted as per :func:`email.utils.unquote`." -msgstr "" - -#: ../../library/email.message.rst:411 -msgid "" -"Return the value of the ``boundary`` parameter of the :mailheader:`Content-" -"Type` header of the message, or *failobj* if either the header is missing, " -"or has no ``boundary`` parameter. The returned string will always be " -"unquoted as per :func:`email.utils.unquote`." -msgstr "" - -#: ../../library/email.message.rst:419 -msgid "" -"Set the ``boundary`` parameter of the :mailheader:`Content-Type` header to " -"*boundary*. :meth:`set_boundary` will always quote *boundary* if necessary." -" A :exc:`~email.errors.HeaderParseError` is raised if the message object " -"has no :mailheader:`Content-Type` header." -msgstr "" - -#: ../../library/email.message.rst:424 -msgid "" -"Note that using this method is subtly different from deleting the old " -":mailheader:`Content-Type` header and adding a new one with the new boundary" -" via :meth:`add_header`, because :meth:`set_boundary` preserves the order of" -" the :mailheader:`Content-Type` header in the list of headers." -msgstr "" - -#: ../../library/email.message.rst:433 -msgid "" -"Return the ``charset`` parameter of the :mailheader:`Content-Type` header, " -"coerced to lower case. If there is no :mailheader:`Content-Type` header, or" -" if that header has no ``charset`` parameter, *failobj* is returned." -msgstr "" - -#: ../../library/email.message.rst:440 -msgid "" -"Return a list containing the character set names in the message. If the " -"message is a :mimetype:`multipart`, then the list will contain one element " -"for each subpart in the payload, otherwise, it will be a list of length 1." -msgstr "" - -#: ../../library/email.message.rst:444 -msgid "" -"Each item in the list will be a string which is the value of the ``charset``" -" parameter in the :mailheader:`Content-Type` header for the represented " -"subpart. If the subpart has no :mailheader:`Content-Type` header, no " -"``charset`` parameter, or is not of the :mimetype:`text` main MIME type, " -"then that item in the returned list will be *failobj*." -msgstr "" - -#: ../../library/email.message.rst:453 -msgid "" -"Return ``True`` if there is a :mailheader:`Content-Disposition` header and " -"its (case insensitive) value is ``attachment``, ``False`` otherwise." -msgstr "" - -#: ../../library/email.message.rst:456 -msgid "" -"is_attachment is now a method instead of a property, for consistency with " -":meth:`~email.message.Message.is_multipart`." -msgstr "" - -#: ../../library/email.message.rst:463 -msgid "" -"Return the lowercased value (without parameters) of the message's " -":mailheader:`Content-Disposition` header if it has one, or ``None``. The " -"possible values for this method are *inline*, *attachment* or ``None`` if " -"the message follows :rfc:`2183`." -msgstr "" - -#: ../../library/email.message.rst:471 -msgid "" -"The following methods relate to interrogating and manipulating the content " -"(payload) of the message." -msgstr "" - -#: ../../library/email.message.rst:477 -msgid "" -"The :meth:`walk` method is an all-purpose generator which can be used to " -"iterate over all the parts and subparts of a message object tree, in depth-" -"first traversal order. You will typically use :meth:`walk` as the iterator " -"in a ``for`` loop; each iteration returns the next subpart." -msgstr "" - -#: ../../library/email.message.rst:482 -msgid "" -"Here's an example that prints the MIME type of every part of a multipart " -"message structure:" -msgstr "" - -#: ../../library/email.message.rst:491 -msgid "" -">>> for part in msg.walk():\n" -"... print(part.get_content_type())\n" -"multipart/report\n" -"text/plain\n" -"message/delivery-status\n" -"text/plain\n" -"text/plain\n" -"message/rfc822\n" -"text/plain" -msgstr "" - -#: ../../library/email.message.rst:503 -msgid "" -"``walk`` iterates over the subparts of any part where :meth:`is_multipart` " -"returns ``True``, even though ``msg.get_content_maintype() == 'multipart'`` " -"may return ``False``. We can see this in our example by making use of the " -"``_structure`` debug helper function:" -msgstr "" - -#: ../../library/email.message.rst:509 -msgid "" -">>> from email.iterators import _structure\n" -">>> for part in msg.walk():\n" -"... print(part.get_content_maintype() == 'multipart',\n" -"... part.is_multipart())\n" -"True True\n" -"False False\n" -"False True\n" -"False False\n" -"False False\n" -"False True\n" -"False False\n" -">>> _structure(msg)\n" -"multipart/report\n" -" text/plain\n" -" message/delivery-status\n" -" text/plain\n" -" text/plain\n" -" message/rfc822\n" -" text/plain" -msgstr "" - -#: ../../library/email.message.rst:531 -msgid "" -"Here the ``message`` parts are not ``multiparts``, but they do contain " -"subparts. ``is_multipart()`` returns ``True`` and ``walk`` descends into the" -" subparts." -msgstr "" - -#: ../../library/email.message.rst:538 -msgid "" -"Return the MIME part that is the best candidate to be the \"body\" of the " -"message." -msgstr "" - -#: ../../library/email.message.rst:541 -msgid "" -"*preferencelist* must be a sequence of strings from the set ``related``, " -"``html``, and ``plain``, and indicates the order of preference for the " -"content type of the part returned." -msgstr "" - -#: ../../library/email.message.rst:545 -msgid "" -"Start looking for candidate matches with the object on which the " -"``get_body`` method is called." -msgstr "" - -#: ../../library/email.message.rst:548 -msgid "" -"If ``related`` is not included in *preferencelist*, consider the root part " -"(or subpart of the root part) of any related encountered as a candidate if " -"the (sub-)part matches a preference." -msgstr "" - -#: ../../library/email.message.rst:552 -msgid "" -"When encountering a ``multipart/related``, check the ``start`` parameter and" -" if a part with a matching :mailheader:`Content-ID` is found, consider only " -"it when looking for candidate matches. Otherwise consider only the first " -"(default root) part of the ``multipart/related``." -msgstr "" - -#: ../../library/email.message.rst:557 -msgid "" -"If a part has a :mailheader:`Content-Disposition` header, only consider the " -"part a candidate match if the value of the header is ``inline``." -msgstr "" - -#: ../../library/email.message.rst:560 -msgid "" -"If none of the candidates matches any of the preferences in " -"*preferencelist*, return ``None``." -msgstr "" - -#: ../../library/email.message.rst:563 -msgid "" -"Notes: (1) For most applications the only *preferencelist* combinations that" -" really make sense are ``('plain',)``, ``('html', 'plain')``, and the " -"default ``('related', 'html', 'plain')``. (2) Because matching starts with " -"the object on which ``get_body`` is called, calling ``get_body`` on a " -"``multipart/related`` will return the object itself unless *preferencelist* " -"has a non-default value. (3) Messages (or message parts) that do not specify" -" a :mailheader:`Content-Type` or whose :mailheader:`Content-Type` header is " -"invalid will be treated as if they are of type ``text/plain``, which may " -"occasionally cause ``get_body`` to return unexpected results." -msgstr "" - -#: ../../library/email.message.rst:577 -msgid "" -"Return an iterator over all of the immediate sub-parts of the message that " -"are not candidate \"body\" parts. That is, skip the first occurrence of " -"each of ``text/plain``, ``text/html``, ``multipart/related``, or " -"``multipart/alternative`` (unless they are explicitly marked as attachments " -"via :mailheader:`Content-Disposition: attachment`), and return all remaining" -" parts. When applied directly to a ``multipart/related``, return an " -"iterator over the all the related parts except the root part (ie: the part " -"pointed to by the ``start`` parameter, or the first part if there is no " -"``start`` parameter or the ``start`` parameter doesn't match the " -":mailheader:`Content-ID` of any of the parts). When applied directly to a " -"``multipart/alternative`` or a non-``multipart``, return an empty iterator." -msgstr "" - -#: ../../library/email.message.rst:593 -msgid "" -"Return an iterator over all of the immediate sub-parts of the message, which" -" will be empty for a non-``multipart``. (See also " -":meth:`~email.message.EmailMessage.walk`.)" -msgstr "" - -#: ../../library/email.message.rst:600 -msgid "" -"Call the :meth:`~email.contentmanager.ContentManager.get_content` method of " -"the *content_manager*, passing self as the message object, and passing along" -" any other arguments or keywords as additional arguments. If " -"*content_manager* is not specified, use the ``content_manager`` specified by" -" the current :mod:`~email.policy`." -msgstr "" - -#: ../../library/email.message.rst:609 -msgid "" -"Call the :meth:`~email.contentmanager.ContentManager.set_content` method of " -"the *content_manager*, passing self as the message object, and passing along" -" any other arguments or keywords as additional arguments. If " -"*content_manager* is not specified, use the ``content_manager`` specified by" -" the current :mod:`~email.policy`." -msgstr "" - -#: ../../library/email.message.rst:618 -msgid "" -"Convert a non-``multipart`` message into a ``multipart/related`` message, " -"moving any existing :mailheader:`Content-` headers and payload into a (new) " -"first part of the ``multipart``. If *boundary* is specified, use it as the " -"boundary string in the multipart, otherwise leave the boundary to be " -"automatically created when it is needed (for example, when the message is " -"serialized)." -msgstr "" - -#: ../../library/email.message.rst:628 -msgid "" -"Convert a non-``multipart`` or a ``multipart/related`` into a " -"``multipart/alternative``, moving any existing :mailheader:`Content-` " -"headers and payload into a (new) first part of the ``multipart``. If " -"*boundary* is specified, use it as the boundary string in the multipart, " -"otherwise leave the boundary to be automatically created when it is needed " -"(for example, when the message is serialized)." -msgstr "" - -#: ../../library/email.message.rst:638 -msgid "" -"Convert a non-``multipart``, a ``multipart/related``, or a ``multipart-" -"alternative`` into a ``multipart/mixed``, moving any existing " -":mailheader:`Content-` headers and payload into a (new) first part of the " -"``multipart``. If *boundary* is specified, use it as the boundary string in" -" the multipart, otherwise leave the boundary to be automatically created " -"when it is needed (for example, when the message is serialized)." -msgstr "" - -#: ../../library/email.message.rst:648 -msgid "" -"If the message is a ``multipart/related``, create a new message object, pass" -" all of the arguments to its :meth:`set_content` method, and " -":meth:`~email.message.Message.attach` it to the ``multipart``. If the " -"message is a non-``multipart``, call :meth:`make_related` and then proceed " -"as above. If the message is any other type of ``multipart``, raise a " -":exc:`TypeError`. If *content_manager* is not specified, use the " -"``content_manager`` specified by the current :mod:`~email.policy`. If the " -"added part has no :mailheader:`Content-Disposition` header, add one with the" -" value ``inline``." -msgstr "" - -#: ../../library/email.message.rst:661 -msgid "" -"If the message is a ``multipart/alternative``, create a new message object, " -"pass all of the arguments to its :meth:`set_content` method, and " -":meth:`~email.message.Message.attach` it to the ``multipart``. If the " -"message is a non-``multipart`` or ``multipart/related``, call " -":meth:`make_alternative` and then proceed as above. If the message is any " -"other type of ``multipart``, raise a :exc:`TypeError`. If *content_manager* " -"is not specified, use the ``content_manager`` specified by the current " -":mod:`~email.policy`." -msgstr "" - -#: ../../library/email.message.rst:673 -msgid "" -"If the message is a ``multipart/mixed``, create a new message object, pass " -"all of the arguments to its :meth:`set_content` method, and " -":meth:`~email.message.Message.attach` it to the ``multipart``. If the " -"message is a non-``multipart``, ``multipart/related``, or " -"``multipart/alternative``, call :meth:`make_mixed` and then proceed as " -"above. If *content_manager* is not specified, use the ``content_manager`` " -"specified by the current :mod:`~email.policy`. If the added part has no " -":mailheader:`Content-Disposition` header, add one with the value " -"``attachment``. This method can be used both for explicit attachments " -"(:mailheader:`Content-Disposition: attachment`) and ``inline`` attachments " -"(:mailheader:`Content-Disposition: inline`), by passing appropriate options " -"to the ``content_manager``." -msgstr "" - -#: ../../library/email.message.rst:689 -msgid "Remove the payload and all of the headers." -msgstr "" - -#: ../../library/email.message.rst:694 -msgid "" -"Remove the payload and all of the :mailheader:`!Content-` headers, leaving " -"all other headers intact and in their original order." -msgstr "" - -#: ../../library/email.message.rst:698 -msgid ":class:`EmailMessage` objects have the following instance attributes:" -msgstr "" - -#: ../../library/email.message.rst:703 -msgid "" -"The format of a MIME document allows for some text between the blank line " -"following the headers, and the first multipart boundary string. Normally, " -"this text is never visible in a MIME-aware mail reader because it falls " -"outside the standard MIME armor. However, when viewing the raw text of the " -"message, or when viewing the message in a non-MIME aware reader, this text " -"can become visible." -msgstr "" - -#: ../../library/email.message.rst:710 -msgid "" -"The *preamble* attribute contains this leading extra-armor text for MIME " -"documents. When the :class:`~email.parser.Parser` discovers some text after" -" the headers but before the first boundary string, it assigns this text to " -"the message's *preamble* attribute. When the " -":class:`~email.generator.Generator` is writing out the plain text " -"representation of a MIME message, and it finds the message has a *preamble* " -"attribute, it will write this text in the area between the headers and the " -"first boundary. See :mod:`email.parser` and :mod:`email.generator` for " -"details." -msgstr "" - -#: ../../library/email.message.rst:720 -msgid "" -"Note that if the message object has no preamble, the *preamble* attribute " -"will be ``None``." -msgstr "" - -#: ../../library/email.message.rst:726 -msgid "" -"The *epilogue* attribute acts the same way as the *preamble* attribute, " -"except that it contains text that appears between the last boundary and the " -"end of the message. As with the :attr:`~EmailMessage.preamble`, if there is" -" no epilog text this attribute will be ``None``." -msgstr "" - -#: ../../library/email.message.rst:734 -msgid "" -"The *defects* attribute contains a list of all the problems found when " -"parsing this message. See :mod:`email.errors` for a detailed description of" -" the possible parsing defects." -msgstr "" - -#: ../../library/email.message.rst:741 -msgid "" -"This class represents a subpart of a MIME message. It is identical to " -":class:`EmailMessage`, except that no :mailheader:`MIME-Version` headers are" -" added when :meth:`~EmailMessage.set_content` is called, since sub-parts do " -"not need their own :mailheader:`MIME-Version` headers." -msgstr "" - -#: ../../library/email.message.rst:748 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/email.message.rst:749 -msgid "" -"Originally added in 3.4 as a :term:`provisional module `. Docs for legacy message class moved to :ref:`compat32_message`." -msgstr "" diff --git a/python-newest.library--email_mime/id.po b/python-newest.library--email_mime/id.po deleted file mode 100644 index ec8d041..0000000 --- a/python-newest.library--email_mime/id.po +++ /dev/null @@ -1,308 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.mime.rst:2 -msgid ":mod:`!email.mime`: Creating email and MIME objects from scratch" -msgstr "" - -#: ../../library/email.mime.rst:7 -msgid "**Source code:** :source:`Lib/email/mime/`" -msgstr "" - -#: ../../library/email.mime.rst:11 -msgid "" -"This module is part of the legacy (``Compat32``) email API. Its " -"functionality is partially replaced by the :mod:`~email.contentmanager` in " -"the new API, but in certain applications these classes may still be useful, " -"even in non-legacy code." -msgstr "" - -#: ../../library/email.mime.rst:16 -msgid "" -"Ordinarily, you get a message object structure by passing a file or some " -"text to a parser, which parses the text and returns the root message object." -" However you can also build a complete message structure from scratch, or " -"even individual :class:`~email.message.Message` objects by hand. In fact, " -"you can also take an existing structure and add new " -":class:`~email.message.Message` objects, move them around, etc. This makes " -"a very convenient interface for slicing-and-dicing MIME messages." -msgstr "" - -#: ../../library/email.mime.rst:24 -msgid "" -"You can create a new object structure by creating " -":class:`~email.message.Message` instances, adding attachments and all the " -"appropriate headers manually. For MIME messages though, the :mod:`email` " -"package provides some convenient subclasses to make things easier." -msgstr "" - -#: ../../library/email.mime.rst:29 -msgid "Here are the classes:" -msgstr "" - -#: ../../library/email.mime.rst:35 -msgid "Module: :mod:`email.mime.base`" -msgstr "" - -#: ../../library/email.mime.rst:37 -msgid "" -"This is the base class for all the MIME-specific subclasses of " -":class:`~email.message.Message`. Ordinarily you won't create instances " -"specifically of :class:`MIMEBase`, although you could. :class:`MIMEBase` is" -" provided primarily as a convenient base class for more specific MIME-aware " -"subclasses." -msgstr "" - -#: ../../library/email.mime.rst:43 -msgid "" -"*_maintype* is the :mailheader:`Content-Type` major type (e.g. " -":mimetype:`text` or :mimetype:`image`), and *_subtype* is the " -":mailheader:`Content-Type` minor type (e.g. :mimetype:`plain` or " -":mimetype:`gif`). *_params* is a parameter key/value dictionary and is " -"passed directly to :meth:`Message.add_header " -"`." -msgstr "" - -#: ../../library/email.mime.rst:49 -msgid "" -"If *policy* is specified, (defaults to the :class:`compat32 " -"` policy) it will be passed to " -":class:`~email.message.Message`." -msgstr "" - -#: ../../library/email.mime.rst:53 -msgid "" -"The :class:`MIMEBase` class always adds a :mailheader:`Content-Type` header " -"(based on *_maintype*, *_subtype*, and *_params*), and a :mailheader:`MIME-" -"Version` header (always set to ``1.0``)." -msgstr "" - -#: ../../library/email.mime.rst:57 ../../library/email.mime.rst:104 -#: ../../library/email.mime.rst:135 ../../library/email.mime.rst:169 -#: ../../library/email.mime.rst:205 ../../library/email.mime.rst:225 -#: ../../library/email.mime.rst:259 -msgid "Added *policy* keyword-only parameter." -msgstr "" - -#: ../../library/email.mime.rst:65 -msgid "Module: :mod:`email.mime.nonmultipart`" -msgstr "" - -#: ../../library/email.mime.rst:67 -msgid "" -"A subclass of :class:`~email.mime.base.MIMEBase`, this is an intermediate " -"base class for MIME messages that are not :mimetype:`multipart`. The " -"primary purpose of this class is to prevent the use of the " -":meth:`~email.message.Message.attach` method, which only makes sense for " -":mimetype:`multipart` messages. If :meth:`~email.message.Message.attach` is" -" called, a :exc:`~email.errors.MultipartConversionError` exception is " -"raised." -msgstr "" - -#: ../../library/email.mime.rst:80 -msgid "Module: :mod:`email.mime.multipart`" -msgstr "" - -#: ../../library/email.mime.rst:82 -msgid "" -"A subclass of :class:`~email.mime.base.MIMEBase`, this is an intermediate " -"base class for MIME messages that are :mimetype:`multipart`. Optional " -"*_subtype* defaults to :mimetype:`mixed`, but can be used to specify the " -"subtype of the message. A :mailheader:`Content-Type` header of " -":mimetype:`multipart/_subtype` will be added to the message object. A " -":mailheader:`MIME-Version` header will also be added." -msgstr "" - -#: ../../library/email.mime.rst:89 -msgid "" -"Optional *boundary* is the multipart boundary string. When ``None`` (the " -"default), the boundary is calculated when needed (for example, when the " -"message is serialized)." -msgstr "" - -#: ../../library/email.mime.rst:93 -msgid "" -"*_subparts* is a sequence of initial subparts for the payload. It must be " -"possible to convert this sequence to a list. You can always attach new " -"subparts to the message by using the :meth:`Message.attach " -"` method." -msgstr "" - -#: ../../library/email.mime.rst:98 ../../library/email.mime.rst:131 -#: ../../library/email.mime.rst:165 ../../library/email.mime.rst:200 -#: ../../library/email.mime.rst:223 ../../library/email.mime.rst:254 -msgid "" -"Optional *policy* argument defaults to :class:`compat32 " -"`." -msgstr "" - -#: ../../library/email.mime.rst:100 -msgid "" -"Additional parameters for the :mailheader:`Content-Type` header are taken " -"from the keyword arguments, or passed into the *_params* argument, which is " -"a keyword dictionary." -msgstr "" - -#: ../../library/email.mime.rst:113 -msgid "Module: :mod:`email.mime.application`" -msgstr "" - -#: ../../library/email.mime.rst:115 -msgid "" -"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the " -":class:`MIMEApplication` class is used to represent MIME message objects of " -"major type :mimetype:`application`. *_data* contains the bytes for the raw " -"application data. Optional *_subtype* specifies the MIME subtype and " -"defaults to :mimetype:`octet-stream`." -msgstr "" - -#: ../../library/email.mime.rst:121 -msgid "" -"Optional *_encoder* is a callable (i.e. function) which will perform the " -"actual encoding of the data for transport. This callable takes one " -"argument, which is the :class:`MIMEApplication` instance. It should use " -":meth:`~email.message.Message.get_payload` and " -":meth:`~email.message.Message.set_payload` to change the payload to encoded " -"form. It should also add any :mailheader:`Content-Transfer-Encoding` or " -"other headers to the message object as necessary. The default encoding is " -"base64. See the :mod:`email.encoders` module for a list of the built-in " -"encoders." -msgstr "" - -#: ../../library/email.mime.rst:133 ../../library/email.mime.rst:167 -msgid "*_params* are passed straight through to the base class constructor." -msgstr "" - -#: ../../library/email.mime.rst:144 -msgid "Module: :mod:`email.mime.audio`" -msgstr "" - -#: ../../library/email.mime.rst:146 -msgid "" -"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the " -":class:`MIMEAudio` class is used to create MIME message objects of major " -"type :mimetype:`audio`. *_audiodata* contains the bytes for the raw audio " -"data. If this data can be decoded as au, wav, aiff, or aifc, then the " -"subtype will be automatically included in the :mailheader:`Content-Type` " -"header. Otherwise you can explicitly specify the audio subtype via the " -"*_subtype* argument. If the minor type could not be guessed and *_subtype* " -"was not given, then :exc:`TypeError` is raised." -msgstr "" - -#: ../../library/email.mime.rst:155 -msgid "" -"Optional *_encoder* is a callable (i.e. function) which will perform the " -"actual encoding of the audio data for transport. This callable takes one " -"argument, which is the :class:`MIMEAudio` instance. It should use " -":meth:`~email.message.Message.get_payload` and " -":meth:`~email.message.Message.set_payload` to change the payload to encoded " -"form. It should also add any :mailheader:`Content-Transfer-Encoding` or " -"other headers to the message object as necessary. The default encoding is " -"base64. See the :mod:`email.encoders` module for a list of the built-in " -"encoders." -msgstr "" - -#: ../../library/email.mime.rst:178 -msgid "Module: :mod:`email.mime.image`" -msgstr "" - -#: ../../library/email.mime.rst:180 -msgid "" -"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the " -":class:`MIMEImage` class is used to create MIME message objects of major " -"type :mimetype:`image`. *_imagedata* contains the bytes for the raw image " -"data. If this data type can be detected (jpeg, png, gif, tiff, rgb, pbm, " -"pgm, ppm, rast, xbm, bmp, webp, and exr attempted), then the subtype will be" -" automatically included in the :mailheader:`Content-Type` header. Otherwise " -"you can explicitly specify the image subtype via the *_subtype* argument. If" -" the minor type could not be guessed and *_subtype* was not given, then " -":exc:`TypeError` is raised." -msgstr "" - -#: ../../library/email.mime.rst:190 -msgid "" -"Optional *_encoder* is a callable (i.e. function) which will perform the " -"actual encoding of the image data for transport. This callable takes one " -"argument, which is the :class:`MIMEImage` instance. It should use " -":meth:`~email.message.Message.get_payload` and " -":meth:`~email.message.Message.set_payload` to change the payload to encoded " -"form. It should also add any :mailheader:`Content-Transfer-Encoding` or " -"other headers to the message object as necessary. The default encoding is " -"base64. See the :mod:`email.encoders` module for a list of the built-in " -"encoders." -msgstr "" - -#: ../../library/email.mime.rst:202 -msgid "" -"*_params* are passed straight through to the " -":class:`~email.mime.base.MIMEBase` constructor." -msgstr "" - -#: ../../library/email.mime.rst:212 -msgid "Module: :mod:`email.mime.message`" -msgstr "" - -#: ../../library/email.mime.rst:214 -msgid "" -"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the " -":class:`MIMEMessage` class is used to create MIME objects of main type " -":mimetype:`message`. *_msg* is used as the payload, and must be an instance " -"of class :class:`~email.message.Message` (or a subclass thereof), otherwise " -"a :exc:`TypeError` is raised." -msgstr "" - -#: ../../library/email.mime.rst:220 -msgid "" -"Optional *_subtype* sets the subtype of the message; it defaults to " -":mimetype:`rfc822`." -msgstr "" - -#: ../../library/email.mime.rst:232 -msgid "Module: :mod:`email.mime.text`" -msgstr "" - -#: ../../library/email.mime.rst:234 -msgid "" -"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the " -":class:`MIMEText` class is used to create MIME objects of major type " -":mimetype:`text`. *_text* is the string for the payload. *_subtype* is the " -"minor type and defaults to :mimetype:`plain`. *_charset* is the character " -"set of the text and is passed as an argument to the " -":class:`~email.mime.nonmultipart.MIMENonMultipart` constructor; it defaults " -"to ``us-ascii`` if the string contains only ``ascii`` code points, and " -"``utf-8`` otherwise. The *_charset* parameter accepts either a string or a " -":class:`~email.charset.Charset` instance." -msgstr "" - -#: ../../library/email.mime.rst:244 -msgid "" -"Unless the *_charset* argument is explicitly set to ``None``, the MIMEText " -"object created will have both a :mailheader:`Content-Type` header with a " -"``charset`` parameter, and a :mailheader:`Content-Transfer-Encoding` header." -" This means that a subsequent ``set_payload`` call will not result in an " -"encoded payload, even if a charset is passed in the ``set_payload`` command." -" You can \"reset\" this behavior by deleting the ``Content-Transfer-" -"Encoding`` header, after which a ``set_payload`` call will automatically " -"encode the new payload (and add a new :mailheader:`Content-Transfer-" -"Encoding` header)." -msgstr "" - -#: ../../library/email.mime.rst:256 -msgid "*_charset* also accepts :class:`~email.charset.Charset` instances." -msgstr "" diff --git a/python-newest.library--email_parser/id.po b/python-newest.library--email_parser/id.po deleted file mode 100644 index 7b73497..0000000 --- a/python-newest.library--email_parser/id.po +++ /dev/null @@ -1,383 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.parser.rst:2 -msgid ":mod:`!email.parser`: Parsing email messages" -msgstr "" - -#: ../../library/email.parser.rst:7 -msgid "**Source code:** :source:`Lib/email/parser.py`" -msgstr "" - -#: ../../library/email.parser.rst:11 -msgid "" -"Message object structures can be created in one of two ways: they can be " -"created from whole cloth by creating an :class:`~email.message.EmailMessage`" -" object, adding headers using the dictionary interface, and adding " -"payload(s) using :meth:`~email.message.EmailMessage.set_content` and related" -" methods, or they can be created by parsing a serialized representation of " -"the email message." -msgstr "" - -#: ../../library/email.parser.rst:18 -msgid "" -"The :mod:`email` package provides a standard parser that understands most " -"email document structures, including MIME documents. You can pass the " -"parser a bytes, string or file object, and the parser will return to you the" -" root :class:`~email.message.EmailMessage` instance of the object structure." -" For simple, non-MIME messages the payload of this root object will likely " -"be a string containing the text of the message. For MIME messages, the root" -" object will return ``True`` from its " -":meth:`~email.message.EmailMessage.is_multipart` method, and the subparts " -"can be accessed via the payload manipulation methods, such as " -":meth:`~email.message.EmailMessage.get_body`, " -":meth:`~email.message.EmailMessage.iter_parts`, and " -":meth:`~email.message.EmailMessage.walk`." -msgstr "" - -#: ../../library/email.parser.rst:30 -msgid "" -"There are actually two parser interfaces available for use, the " -":class:`Parser` API and the incremental :class:`FeedParser` API. The " -":class:`Parser` API is most useful if you have the entire text of the " -"message in memory, or if the entire message lives in a file on the file " -"system. :class:`FeedParser` is more appropriate when you are reading the " -"message from a stream which might block waiting for more input (such as " -"reading an email message from a socket). The :class:`FeedParser` can " -"consume and parse the message incrementally, and only returns the root " -"object when you close the parser." -msgstr "" - -#: ../../library/email.parser.rst:39 -msgid "" -"Note that the parser can be extended in limited ways, and of course you can " -"implement your own parser completely from scratch. All of the logic that " -"connects the :mod:`email` package's bundled parser and the " -":class:`~email.message.EmailMessage` class is embodied in the " -":class:`~email.policy.Policy` class, so a custom parser can create message " -"object trees any way it finds necessary by implementing custom versions of " -"the appropriate :class:`!Policy` methods." -msgstr "" - -#: ../../library/email.parser.rst:49 -msgid "FeedParser API" -msgstr "" - -#: ../../library/email.parser.rst:51 -msgid "" -"The :class:`BytesFeedParser`, imported from the :mod:`email.feedparser` " -"module, provides an API that is conducive to incremental parsing of email " -"messages, such as would be necessary when reading the text of an email " -"message from a source that can block (such as a socket). The " -":class:`BytesFeedParser` can of course be used to parse an email message " -"fully contained in a :term:`bytes-like object`, string, or file, but the " -":class:`BytesParser` API may be more convenient for such use cases. The " -"semantics and results of the two parser APIs are identical." -msgstr "" - -#: ../../library/email.parser.rst:60 -msgid "" -"The :class:`BytesFeedParser`'s API is simple; you create an instance, feed " -"it a bunch of bytes until there's no more to feed it, then close the parser " -"to retrieve the root message object. The :class:`BytesFeedParser` is " -"extremely accurate when parsing standards-compliant messages, and it does a " -"very good job of parsing non-compliant messages, providing information about" -" how a message was deemed broken. It will populate a message object's " -":attr:`~email.message.EmailMessage.defects` attribute with a list of any " -"problems it found in a message. See the :mod:`email.errors` module for the " -"list of defects that it can find." -msgstr "" - -#: ../../library/email.parser.rst:70 -msgid "Here is the API for the :class:`BytesFeedParser`:" -msgstr "" - -#: ../../library/email.parser.rst:75 -msgid "" -"Create a :class:`BytesFeedParser` instance. Optional *_factory* is a no-" -"argument callable; if not specified use the " -":attr:`~email.policy.Policy.message_factory` from the *policy*. Call " -"*_factory* whenever a new message object is needed." -msgstr "" - -#: ../../library/email.parser.rst:80 -msgid "" -"If *policy* is specified use the rules it specifies to update the " -"representation of the message. If *policy* is not set, use the " -":class:`compat32 ` policy, which maintains backward " -"compatibility with the Python 3.2 version of the email package and provides " -":class:`~email.message.Message` as the default factory. All other policies " -"provide :class:`~email.message.EmailMessage` as the default *_factory*. For " -"more information on what else *policy* controls, see the " -":mod:`~email.policy` documentation." -msgstr "" - -#: ../../library/email.parser.rst:89 ../../library/email.parser.rst:145 -msgid "" -"Note: **The policy keyword should always be specified**; The default will " -"change to :data:`email.policy.default` in a future version of Python." -msgstr "" - -#: ../../library/email.parser.rst:94 ../../library/email.parser.rst:122 -msgid "Added the *policy* keyword." -msgstr "" - -#: ../../library/email.parser.rst:95 -msgid "*_factory* defaults to the policy ``message_factory``." -msgstr "" - -#: ../../library/email.parser.rst:100 -msgid "" -"Feed the parser some more data. *data* should be a :term:`bytes-like " -"object` containing one or more lines. The lines can be partial and the " -"parser will stitch such partial lines together properly. The lines can have" -" any of the three common line endings: carriage return, newline, or carriage" -" return and newline (they can even be mixed)." -msgstr "" - -#: ../../library/email.parser.rst:109 -msgid "" -"Complete the parsing of all previously fed data and return the root message " -"object. It is undefined what happens if :meth:`~feed` is called after this " -"method has been called." -msgstr "" - -#: ../../library/email.parser.rst:116 -msgid "" -"Works like :class:`BytesFeedParser` except that the input to the " -":meth:`~BytesFeedParser.feed` method must be a string. This is of limited " -"utility, since the only way for such a message to be valid is for it to " -"contain only ASCII text or, if :attr:`~email.policy.Policy.utf8` is " -"``True``, no binary attachments." -msgstr "" - -#: ../../library/email.parser.rst:126 -msgid "Parser API" -msgstr "" - -#: ../../library/email.parser.rst:128 -msgid "" -"The :class:`BytesParser` class, imported from the :mod:`email.parser` " -"module, provides an API that can be used to parse a message when the " -"complete contents of the message are available in a :term:`bytes-like " -"object` or file. The :mod:`email.parser` module also provides " -":class:`Parser` for parsing strings, and header-only parsers, " -":class:`BytesHeaderParser` and :class:`HeaderParser`, which can be used if " -"you're only interested in the headers of the message. " -":class:`BytesHeaderParser` and :class:`HeaderParser` can be much faster in " -"these situations, since they do not attempt to parse the message body, " -"instead setting the payload to the raw body." -msgstr "" - -#: ../../library/email.parser.rst:141 -msgid "" -"Create a :class:`BytesParser` instance. The *_class* and *policy* arguments" -" have the same meaning and semantics as the *_factory* and *policy* " -"arguments of :class:`BytesFeedParser`." -msgstr "" - -#: ../../library/email.parser.rst:148 -msgid "" -"Removed the *strict* argument that was deprecated in 2.4. Added the " -"*policy* keyword." -msgstr "" - -#: ../../library/email.parser.rst:151 ../../library/email.parser.rst:200 -#: ../../library/email.parser.rst:280 -msgid "*_class* defaults to the policy ``message_factory``." -msgstr "" - -#: ../../library/email.parser.rst:156 -msgid "" -"Read all the data from the binary file-like object *fp*, parse the resulting" -" bytes, and return the message object. *fp* must support both the " -":meth:`~io.IOBase.readline` and the :meth:`~io.IOBase.read` methods." -msgstr "" - -#: ../../library/email.parser.rst:161 -msgid "" -"The bytes contained in *fp* must be formatted as a block of :rfc:`5322` (or," -" if :attr:`~email.policy.Policy.utf8` is ``True``, :rfc:`6532`) style " -"headers and header continuation lines, optionally preceded by an envelope " -"header. The header block is terminated either by the end of the data or by " -"a blank line. Following the header block is the body of the message (which " -"may contain MIME-encoded subparts, including subparts with a " -":mailheader:`Content-Transfer-Encoding` of ``8bit``)." -msgstr "" - -#: ../../library/email.parser.rst:169 -msgid "" -"Optional *headersonly* is a flag specifying whether to stop parsing after " -"reading the headers or not. The default is ``False``, meaning it parses the" -" entire contents of the file." -msgstr "" - -#: ../../library/email.parser.rst:176 -msgid "" -"Similar to the :meth:`parse` method, except it takes a :term:`bytes-like " -"object` instead of a file-like object. Calling this method on a " -":term:`bytes-like object` is equivalent to wrapping *bytes* in a " -":class:`~io.BytesIO` instance first and calling :meth:`parse`." -msgstr "" - -#: ../../library/email.parser.rst:181 ../../library/email.parser.rst:221 -msgid "Optional *headersonly* is as with the :meth:`parse` method." -msgstr "" - -#: ../../library/email.parser.rst:188 -msgid "" -"Exactly like :class:`BytesParser`, except that *headersonly* defaults to " -"``True``." -msgstr "" - -#: ../../library/email.parser.rst:196 -msgid "" -"This class is parallel to :class:`BytesParser`, but handles string input." -msgstr "" - -#: ../../library/email.parser.rst:198 ../../library/email.parser.rst:245 -#: ../../library/email.parser.rst:258 ../../library/email.parser.rst:268 -#: ../../library/email.parser.rst:278 -msgid "Removed the *strict* argument. Added the *policy* keyword." -msgstr "" - -#: ../../library/email.parser.rst:205 -msgid "" -"Read all the data from the text-mode file-like object *fp*, parse the " -"resulting text, and return the root message object. *fp* must support both " -"the :meth:`~io.TextIOBase.readline` and the :meth:`~io.TextIOBase.read` " -"methods on file-like objects." -msgstr "" - -#: ../../library/email.parser.rst:210 -msgid "" -"Other than the text mode requirement, this method operates like " -":meth:`BytesParser.parse`." -msgstr "" - -#: ../../library/email.parser.rst:216 -msgid "" -"Similar to the :meth:`parse` method, except it takes a string object instead" -" of a file-like object. Calling this method on a string is equivalent to " -"wrapping *text* in a :class:`~io.StringIO` instance first and calling " -":meth:`parse`." -msgstr "" - -#: ../../library/email.parser.rst:226 -msgid "" -"Exactly like :class:`Parser`, except that *headersonly* defaults to " -"``True``." -msgstr "" - -#: ../../library/email.parser.rst:230 -msgid "" -"Since creating a message object structure from a string or a file object is " -"such a common task, four functions are provided as a convenience. They are " -"available in the top-level :mod:`email` package namespace." -msgstr "" - -#: ../../library/email.parser.rst:239 -msgid "" -"Return a message object structure from a :term:`bytes-like object`. This is" -" equivalent to ``BytesParser().parsebytes(s)``. Optional *_class* and " -"*policy* are interpreted as with the :class:`~email.parser.BytesParser` " -"class constructor." -msgstr "" - -#: ../../library/email.parser.rst:252 -msgid "" -"Return a message object structure tree from an open binary :term:`file " -"object`. This is equivalent to ``BytesParser().parse(fp)``. *_class* and " -"*policy* are interpreted as with the :class:`~email.parser.BytesParser` " -"class constructor." -msgstr "" - -#: ../../library/email.parser.rst:264 -msgid "" -"Return a message object structure from a string. This is equivalent to " -"``Parser().parsestr(s)``. *_class* and *policy* are interpreted as with the" -" :class:`~email.parser.Parser` class constructor." -msgstr "" - -#: ../../library/email.parser.rst:274 -msgid "" -"Return a message object structure tree from an open :term:`file object`. " -"This is equivalent to ``Parser().parse(fp)``. *_class* and *policy* are " -"interpreted as with the :class:`~email.parser.Parser` class constructor." -msgstr "" - -#: ../../library/email.parser.rst:283 -msgid "" -"Here's an example of how you might use :func:`message_from_bytes` at an " -"interactive Python prompt::" -msgstr "" - -#: ../../library/email.parser.rst:286 -msgid "" -">>> import email\n" -">>> msg = email.message_from_bytes(myBytes)" -msgstr "" - -#: ../../library/email.parser.rst:291 -msgid "Additional notes" -msgstr "" - -#: ../../library/email.parser.rst:293 -msgid "Here are some notes on the parsing semantics:" -msgstr "" - -#: ../../library/email.parser.rst:295 -msgid "" -"Most non-\\ :mimetype:`multipart` type messages are parsed as a single " -"message object with a string payload. These objects will return ``False`` " -"for :meth:`~email.message.EmailMessage.is_multipart`, and " -":meth:`~email.message.EmailMessage.iter_parts` will yield an empty list." -msgstr "" - -#: ../../library/email.parser.rst:300 -msgid "" -"All :mimetype:`multipart` type messages will be parsed as a container " -"message object with a list of sub-message objects for their payload. The " -"outer container message will return ``True`` for " -":meth:`~email.message.EmailMessage.is_multipart`, and " -":meth:`~email.message.EmailMessage.iter_parts` will yield a list of " -"subparts." -msgstr "" - -#: ../../library/email.parser.rst:306 -msgid "" -"Most messages with a content type of :mimetype:`message/\\*` (such as " -":mimetype:`message/delivery-status` and :mimetype:`message/rfc822`) will " -"also be parsed as container object containing a list payload of length 1. " -"Their :meth:`~email.message.EmailMessage.is_multipart` method will return " -"``True``. The single element yielded by " -":meth:`~email.message.EmailMessage.iter_parts` will be a sub-message object." -msgstr "" - -#: ../../library/email.parser.rst:313 -msgid "" -"Some non-standards-compliant messages may not be internally consistent about" -" their :mimetype:`multipart`\\ -edness. Such messages may have a " -":mailheader:`Content-Type` header of type :mimetype:`multipart`, but their " -":meth:`~email.message.EmailMessage.is_multipart` method may return " -"``False``. If such messages were parsed with the " -":class:`~email.parser.FeedParser`, they will have an instance of the " -":class:`~email.errors.MultipartInvariantViolationDefect` class in their " -"*defects* attribute list. See :mod:`email.errors` for details." -msgstr "" diff --git a/python-newest.library--email_policy/id.po b/python-newest.library--email_policy/id.po deleted file mode 100644 index 3d6dc41..0000000 --- a/python-newest.library--email_policy/id.po +++ /dev/null @@ -1,805 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.policy.rst:2 -msgid ":mod:`!email.policy`: Policy Objects" -msgstr "" - -#: ../../library/email.policy.rst:12 -msgid "**Source code:** :source:`Lib/email/policy.py`" -msgstr "" - -#: ../../library/email.policy.rst:16 -msgid "" -"The :mod:`email` package's prime focus is the handling of email messages as " -"described by the various email and MIME RFCs. However, the general format " -"of email messages (a block of header fields each consisting of a name " -"followed by a colon followed by a value, the whole block followed by a blank" -" line and an arbitrary 'body'), is a format that has found utility outside " -"of the realm of email. Some of these uses conform fairly closely to the " -"main email RFCs, some do not. Even when working with email, there are times" -" when it is desirable to break strict compliance with the RFCs, such as " -"generating emails that interoperate with email servers that do not " -"themselves follow the standards, or that implement extensions you want to " -"use in ways that violate the standards." -msgstr "" - -#: ../../library/email.policy.rst:28 -msgid "" -"Policy objects give the email package the flexibility to handle all these " -"disparate use cases." -msgstr "" - -#: ../../library/email.policy.rst:31 -msgid "" -"A :class:`Policy` object encapsulates a set of attributes and methods that " -"control the behavior of various components of the email package during use. " -":class:`Policy` instances can be passed to various classes and methods in " -"the email package to alter the default behavior. The settable values and " -"their defaults are described below." -msgstr "" - -#: ../../library/email.policy.rst:37 -msgid "" -"There is a default policy used by all classes in the email package. For all" -" of the :mod:`~email.parser` classes and the related convenience functions, " -"and for the :class:`~email.message.Message` class, this is the " -":class:`Compat32` policy, via its corresponding pre-defined instance " -":const:`compat32`. This policy provides for complete backward compatibility" -" (in some cases, including bug compatibility) with the pre-Python3.3 version" -" of the email package." -msgstr "" - -#: ../../library/email.policy.rst:44 -msgid "" -"This default value for the *policy* keyword to " -":class:`~email.message.EmailMessage` is the :class:`EmailPolicy` policy, via" -" its pre-defined instance :data:`~default`." -msgstr "" - -#: ../../library/email.policy.rst:48 -msgid "" -"When a :class:`~email.message.Message` or " -":class:`~email.message.EmailMessage` object is created, it acquires a " -"policy. If the message is created by a :mod:`~email.parser`, a policy " -"passed to the parser will be the policy used by the message it creates. If " -"the message is created by the program, then the policy can be specified when" -" it is created. When a message is passed to a :mod:`~email.generator`, the " -"generator uses the policy from the message by default, but you can also pass" -" a specific policy to the generator that will override the one stored on the" -" message object." -msgstr "" - -#: ../../library/email.policy.rst:57 -msgid "" -"The default value for the *policy* keyword for the :mod:`email.parser` " -"classes and the parser convenience functions **will be changing** in a " -"future version of Python. Therefore you should **always specify explicitly " -"which policy you want to use** when calling any of the classes and functions" -" described in the :mod:`~email.parser` module." -msgstr "" - -#: ../../library/email.policy.rst:63 -msgid "" -"The first part of this documentation covers the features of :class:`Policy`," -" an :term:`abstract base class` that defines the features that are common to" -" all policy objects, including :const:`compat32`. This includes certain " -"hook methods that are called internally by the email package, which a custom" -" policy could override to obtain different behavior. The second part " -"describes the concrete classes :class:`EmailPolicy` and :class:`Compat32`, " -"which implement the hooks that provide the standard behavior and the " -"backward compatible behavior and features, respectively." -msgstr "" - -#: ../../library/email.policy.rst:72 -msgid "" -":class:`Policy` instances are immutable, but they can be cloned, accepting " -"the same keyword arguments as the class constructor and returning a new " -":class:`Policy` instance that is a copy of the original but with the " -"specified attributes values changed." -msgstr "" - -#: ../../library/email.policy.rst:77 -msgid "" -"As an example, the following code could be used to read an email message " -"from a file on disk and pass it to the system ``sendmail`` program on a Unix" -" system:" -msgstr "" - -#: ../../library/email.policy.rst:92 -msgid "" -">>> from email import message_from_binary_file\n" -">>> from email.generator import BytesGenerator\n" -">>> from email import policy\n" -">>> from subprocess import Popen, PIPE\n" -">>> with open('mymsg.txt', 'rb') as f:\n" -"... msg = message_from_binary_file(f, policy=policy.default)\n" -"...\n" -">>> p = Popen(['sendmail', msg['To'].addresses[0]], stdin=PIPE)\n" -">>> g = BytesGenerator(p.stdin, policy=msg.policy.clone(linesep='\\r\\n'))\n" -">>> g.flatten(msg)\n" -">>> p.stdin.close()\n" -">>> rc = p.wait()" -msgstr "" - -#: ../../library/email.policy.rst:114 -msgid "" -"Here we are telling :class:`~email.generator.BytesGenerator` to use the RFC " -"correct line separator characters when creating the binary string to feed " -"into ``sendmail's`` ``stdin``, where the default policy would use ``\\n`` " -"line separators." -msgstr "" - -#: ../../library/email.policy.rst:119 -msgid "" -"Some email package methods accept a *policy* keyword argument, allowing the " -"policy to be overridden for that method. For example, the following code " -"uses the :meth:`~email.message.Message.as_bytes` method of the *msg* object " -"from the previous example and writes the message to a file using the native " -"line separators for the platform on which it is running::" -msgstr "" - -#: ../../library/email.policy.rst:125 -msgid "" -">>> import os\n" -">>> with open('converted.txt', 'wb') as f:\n" -"... f.write(msg.as_bytes(policy=msg.policy.clone(linesep=os.linesep)))\n" -"17" -msgstr "" - -#: ../../library/email.policy.rst:130 -msgid "" -"Policy objects can also be combined using the addition operator, producing a" -" policy object whose settings are a combination of the non-default values of" -" the summed objects::" -msgstr "" - -#: ../../library/email.policy.rst:134 -msgid "" -">>> compat_SMTP = policy.compat32.clone(linesep='\\r\\n')\n" -">>> compat_strict = policy.compat32.clone(raise_on_defect=True)\n" -">>> compat_strict_SMTP = compat_SMTP + compat_strict" -msgstr "" - -#: ../../library/email.policy.rst:138 -msgid "" -"This operation is not commutative; that is, the order in which the objects " -"are added matters. To illustrate::" -msgstr "" - -#: ../../library/email.policy.rst:141 -msgid "" -">>> policy100 = policy.compat32.clone(max_line_length=100)\n" -">>> policy80 = policy.compat32.clone(max_line_length=80)\n" -">>> apolicy = policy100 + policy80\n" -">>> apolicy.max_line_length\n" -"80\n" -">>> apolicy = policy80 + policy100\n" -">>> apolicy.max_line_length\n" -"100" -msgstr "" - -#: ../../library/email.policy.rst:153 -msgid "" -"This is the :term:`abstract base class` for all policy classes. It provides" -" default implementations for a couple of trivial methods, as well as the " -"implementation of the immutability property, the :meth:`clone` method, and " -"the constructor semantics." -msgstr "" - -#: ../../library/email.policy.rst:158 -msgid "" -"The constructor of a policy class can be passed various keyword arguments. " -"The arguments that may be specified are any non-method properties on this " -"class, plus any additional non-method properties on the concrete class. A " -"value specified in the constructor will override the default value for the " -"corresponding attribute." -msgstr "" - -#: ../../library/email.policy.rst:164 -msgid "" -"This class defines the following properties, and thus values for the " -"following may be passed in the constructor of any policy class:" -msgstr "" - -#: ../../library/email.policy.rst:170 -msgid "" -"The maximum length of any line in the serialized output, not counting the " -"end of line character(s). Default is 78, per :rfc:`5322`. A value of ``0``" -" or :const:`None` indicates that no line wrapping should be done at all." -msgstr "" - -#: ../../library/email.policy.rst:178 -msgid "" -"The string to be used to terminate lines in serialized output. The default " -"is ``\\n`` because that's the internal end-of-line discipline used by " -"Python, though ``\\r\\n`` is required by the RFCs." -msgstr "" - -#: ../../library/email.policy.rst:185 -msgid "" -"Controls the type of Content Transfer Encodings that may be or are required " -"to be used. The possible values are:" -msgstr "" - -#: ../../library/email.policy.rst:191 -msgid "``7bit``" -msgstr "``7bit``" - -#: ../../library/email.policy.rst:191 -msgid "" -"all data must be \"7 bit clean\" (ASCII-only). This means that where " -"necessary data will be encoded using either quoted-printable or base64 " -"encoding." -msgstr "" - -#: ../../library/email.policy.rst:195 -msgid "``8bit``" -msgstr "``8bit``" - -#: ../../library/email.policy.rst:195 -msgid "" -"data is not constrained to be 7 bit clean. Data in headers is still " -"required to be ASCII-only and so will be encoded (see :meth:`fold_binary` " -"and :attr:`~EmailPolicy.utf8` below for exceptions), but body parts may use " -"the ``8bit`` CTE." -msgstr "" - -#: ../../library/email.policy.rst:201 -msgid "" -"A ``cte_type`` value of ``8bit`` only works with ``BytesGenerator``, not " -"``Generator``, because strings cannot contain binary data. If a " -"``Generator`` is operating under a policy that specifies ``cte_type=8bit``, " -"it will act as if ``cte_type`` is ``7bit``." -msgstr "" - -#: ../../library/email.policy.rst:209 -msgid "" -"If :const:`True`, any defects encountered will be raised as errors. If " -":const:`False` (the default), defects will be passed to the " -":meth:`register_defect` method." -msgstr "" - -#: ../../library/email.policy.rst:216 -msgid "" -"If :const:`True`, lines starting with *\"From \"* in the body are escaped by" -" putting a ``>`` in front of them. This parameter is used when the message " -"is being serialized by a generator. Default: :const:`False`." -msgstr "" - -#: ../../library/email.policy.rst:226 -msgid "" -"A factory function for constructing a new empty message object. Used by the" -" parser when building messages. Defaults to ``None``, in which case " -":class:`~email.message.Message` is used." -msgstr "" - -#: ../../library/email.policy.rst:235 -msgid "" -"If ``True`` (the default), the generator will raise " -":exc:`~email.errors.HeaderWriteError` instead of writing a header that is " -"improperly folded or delimited, such that it would be parsed as multiple " -"headers or joined with adjacent data. Such headers can be generated by " -"custom header classes or bugs in the ``email`` module." -msgstr "" - -#: ../../library/email.policy.rst:242 -msgid "" -"As it's a security feature, this defaults to ``True`` even in the " -":class:`~email.policy.Compat32` policy. For backwards compatible, but " -"unsafe, behavior, it must be set to ``False`` explicitly." -msgstr "" - -#: ../../library/email.policy.rst:250 -msgid "" -"The following :class:`Policy` method is intended to be called by code using " -"the email library to create policy instances with custom settings:" -msgstr "" - -#: ../../library/email.policy.rst:256 -msgid "" -"Return a new :class:`Policy` instance whose attributes have the same values " -"as the current instance, except where those attributes are given new values " -"by the keyword arguments." -msgstr "" - -#: ../../library/email.policy.rst:261 -msgid "" -"The remaining :class:`Policy` methods are called by the email package code, " -"and are not intended to be called by an application using the email package." -" A custom policy must implement all of these methods." -msgstr "" - -#: ../../library/email.policy.rst:268 -msgid "" -"Handle a *defect* found on *obj*. When the email package calls this method," -" *defect* will always be a subclass of :class:`~email.errors.MessageDefect`." -msgstr "" - -#: ../../library/email.policy.rst:272 -msgid "" -"The default implementation checks the :attr:`raise_on_defect` flag. If it " -"is ``True``, *defect* is raised as an exception. If it is ``False`` (the " -"default), *obj* and *defect* are passed to :meth:`register_defect`." -msgstr "" - -#: ../../library/email.policy.rst:279 -msgid "" -"Register a *defect* on *obj*. In the email package, *defect* will always be" -" a subclass of :class:`~email.errors.MessageDefect`." -msgstr "" - -#: ../../library/email.policy.rst:282 -msgid "" -"The default implementation calls the ``append`` method of the ``defects`` " -"attribute of *obj*. When the email package calls :attr:`handle_defect`, " -"*obj* will normally have a ``defects`` attribute that has an ``append`` " -"method. Custom object types used with the email package (for example, " -"custom ``Message`` objects) should also provide such an attribute, otherwise" -" defects in parsed messages will raise unexpected errors." -msgstr "" - -#: ../../library/email.policy.rst:292 -msgid "Return the maximum allowed number of headers named *name*." -msgstr "" - -#: ../../library/email.policy.rst:294 -msgid "" -"Called when a header is added to an :class:`~email.message.EmailMessage` or " -":class:`~email.message.Message` object. If the returned value is not ``0`` " -"or ``None``, and there are already a number of headers with the name *name* " -"greater than or equal to the value returned, a :exc:`ValueError` is raised." -msgstr "" - -#: ../../library/email.policy.rst:300 -msgid "" -"Because the default behavior of ``Message.__setitem__`` is to append the " -"value to the list of headers, it is easy to create duplicate headers without" -" realizing it. This method allows certain headers to be limited in the " -"number of instances of that header that may be added to a ``Message`` " -"programmatically. (The limit is not observed by the parser, which will " -"faithfully produce as many headers as exist in the message being parsed.)" -msgstr "" - -#: ../../library/email.policy.rst:308 -msgid "The default implementation returns ``None`` for all header names." -msgstr "" - -#: ../../library/email.policy.rst:313 -msgid "" -"The email package calls this method with a list of strings, each string " -"ending with the line separation characters found in the source being parsed." -" The first line includes the field header name and separator. All " -"whitespace in the source is preserved. The method should return the " -"``(name, value)`` tuple that is to be stored in the ``Message`` to represent" -" the parsed header." -msgstr "" - -#: ../../library/email.policy.rst:320 -msgid "" -"If an implementation wishes to retain compatibility with the existing email " -"package policies, *name* should be the case preserved name (all characters " -"up to the '``:``' separator), while *value* should be the unfolded value " -"(all line separator characters removed, but whitespace kept intact), " -"stripped of leading whitespace." -msgstr "" - -#: ../../library/email.policy.rst:326 -msgid "*sourcelines* may contain surrogateescaped binary data." -msgstr "" - -#: ../../library/email.policy.rst:328 ../../library/email.policy.rst:344 -#: ../../library/email.policy.rst:360 -msgid "There is no default implementation" -msgstr "" - -#: ../../library/email.policy.rst:333 -msgid "" -"The email package calls this method with the name and value provided by the " -"application program when the application program is modifying a ``Message`` " -"programmatically (as opposed to a ``Message`` created by a parser). The " -"method should return the ``(name, value)`` tuple that is to be stored in the" -" ``Message`` to represent the header." -msgstr "" - -#: ../../library/email.policy.rst:339 -msgid "" -"If an implementation wishes to retain compatibility with the existing email " -"package policies, the *name* and *value* should be strings or string " -"subclasses that do not change the content of the passed in arguments." -msgstr "" - -#: ../../library/email.policy.rst:349 -msgid "" -"The email package calls this method with the *name* and *value* currently " -"stored in the ``Message`` when that header is requested by the application " -"program, and whatever the method returns is what is passed back to the " -"application as the value of the header being retrieved. Note that there may " -"be more than one header with the same name stored in the ``Message``; the " -"method is passed the specific name and value of the header destined to be " -"returned to the application." -msgstr "" - -#: ../../library/email.policy.rst:357 -msgid "" -"*value* may contain surrogateescaped binary data. There should be no " -"surrogateescaped binary data in the value returned by the method." -msgstr "" - -#: ../../library/email.policy.rst:365 -msgid "" -"The email package calls this method with the *name* and *value* currently " -"stored in the ``Message`` for a given header. The method should return a " -"string that represents that header \"folded\" correctly (according to the " -"policy settings) by composing the *name* with the *value* and inserting " -":attr:`linesep` characters at the appropriate places. See :rfc:`5322` for a" -" discussion of the rules for folding email headers." -msgstr "" - -#: ../../library/email.policy.rst:372 -msgid "" -"*value* may contain surrogateescaped binary data. There should be no " -"surrogateescaped binary data in the string returned by the method." -msgstr "" - -#: ../../library/email.policy.rst:378 -msgid "" -"The same as :meth:`fold`, except that the returned value should be a bytes " -"object rather than a string." -msgstr "" - -#: ../../library/email.policy.rst:381 -msgid "" -"*value* may contain surrogateescaped binary data. These could be converted " -"back into binary data in the returned bytes object." -msgstr "" - -#: ../../library/email.policy.rst:388 -msgid "" -"This concrete :class:`Policy` provides behavior that is intended to be fully" -" compliant with the current email RFCs. These include (but are not limited " -"to) :rfc:`5322`, :rfc:`2047`, and the current MIME RFCs." -msgstr "" - -#: ../../library/email.policy.rst:392 -msgid "" -"This policy adds new header parsing and folding algorithms. Instead of " -"simple strings, headers are ``str`` subclasses with attributes that depend " -"on the type of the field. The parsing and folding algorithm fully implement" -" :rfc:`2047` and :rfc:`5322`." -msgstr "" - -#: ../../library/email.policy.rst:397 -msgid "" -"The default value for the :attr:`~email.policy.Policy.message_factory` " -"attribute is :class:`~email.message.EmailMessage`." -msgstr "" - -#: ../../library/email.policy.rst:400 -msgid "" -"In addition to the settable attributes listed above that apply to all " -"policies, this policy adds the following additional attributes:" -msgstr "" - -#: ../../library/email.policy.rst:403 -msgid "[1]_" -msgstr "[1]_" - -#: ../../library/email.policy.rst:408 -msgid "" -"If ``False``, follow :rfc:`5322`, supporting non-ASCII characters in headers" -" by encoding them as \"encoded words\". If ``True``, follow :rfc:`6532` and" -" use ``utf-8`` encoding for headers. Messages formatted in this way may be " -"passed to SMTP servers that support the ``SMTPUTF8`` extension " -"(:rfc:`6531`)." -msgstr "" - -#: ../../library/email.policy.rst:417 -msgid "" -"If the value for a header in the ``Message`` object originated from a " -":mod:`~email.parser` (as opposed to being set by a program), this attribute " -"indicates whether or not a generator should refold that value when " -"transforming the message back into serialized form. The possible values " -"are:" -msgstr "" - -#: ../../library/email.policy.rst:424 -msgid "``none``" -msgstr "" - -#: ../../library/email.policy.rst:424 -msgid "all source values use original folding" -msgstr "" - -#: ../../library/email.policy.rst:426 -msgid "``long``" -msgstr "``long``" - -#: ../../library/email.policy.rst:426 -msgid "" -"source values that have any line that is longer than ``max_line_length`` " -"will be refolded" -msgstr "" - -#: ../../library/email.policy.rst:429 -msgid "``all``" -msgstr "" - -#: ../../library/email.policy.rst:429 -msgid "all values are refolded." -msgstr "" - -#: ../../library/email.policy.rst:432 -msgid "The default is ``long``." -msgstr "" - -#: ../../library/email.policy.rst:437 -msgid "" -"A callable that takes two arguments, ``name`` and ``value``, where ``name`` " -"is a header field name and ``value`` is an unfolded header field value, and " -"returns a string subclass that represents that header. A default " -"``header_factory`` (see :mod:`~email.headerregistry`) is provided that " -"supports custom parsing for the various address and date :RFC:`5322` header " -"field types, and the major MIME header field stypes. Support for additional" -" custom parsing will be added in the future." -msgstr "" - -#: ../../library/email.policy.rst:448 -msgid "" -"An object with at least two methods: get_content and set_content. When the " -":meth:`~email.message.EmailMessage.get_content` or " -":meth:`~email.message.EmailMessage.set_content` method of an " -":class:`~email.message.EmailMessage` object is called, it calls the " -"corresponding method of this object, passing it the message object as its " -"first argument, and any arguments or keywords that were passed to it as " -"additional arguments. By default ``content_manager`` is set to " -":data:`~email.contentmanager.raw_data_manager`." -msgstr "" - -#: ../../library/email.policy.rst:460 ../../library/email.policy.rst:618 -msgid "" -"The class provides the following concrete implementations of the abstract " -"methods of :class:`Policy`:" -msgstr "" - -#: ../../library/email.policy.rst:466 -msgid "" -"Returns the value of the :attr:`~email.headerregistry.BaseHeader.max_count` " -"attribute of the specialized class used to represent the header with the " -"given name." -msgstr "" - -#: ../../library/email.policy.rst:474 ../../library/email.policy.rst:624 -msgid "" -"The name is parsed as everything up to the '``:``' and returned unmodified." -" The value is determined by stripping leading whitespace off the remainder " -"of the first line, joining all subsequent lines together, and stripping any " -"trailing carriage return or linefeed characters." -msgstr "" - -#: ../../library/email.policy.rst:482 -msgid "" -"The name is returned unchanged. If the input value has a ``name`` attribute" -" and it matches *name* ignoring case, the value is returned unchanged. " -"Otherwise the *name* and *value* are passed to ``header_factory``, and the " -"resulting header object is returned as the value. In this case a " -"``ValueError`` is raised if the input value contains CR or LF characters." -msgstr "" - -#: ../../library/email.policy.rst:492 -msgid "" -"If the value has a ``name`` attribute, it is returned to unmodified. " -"Otherwise the *name*, and the *value* with any CR or LF characters removed, " -"are passed to the ``header_factory``, and the resulting header object is " -"returned. Any surrogateescaped bytes get turned into the unicode unknown-" -"character glyph." -msgstr "" - -#: ../../library/email.policy.rst:501 -msgid "" -"Header folding is controlled by the :attr:`refold_source` policy setting. A " -"value is considered to be a 'source value' if and only if it does not have a" -" ``name`` attribute (having a ``name`` attribute means it is a header object" -" of some sort). If a source value needs to be refolded according to the " -"policy, it is converted into a header object by passing the *name* and the " -"*value* with any CR and LF characters removed to the ``header_factory``. " -"Folding of a header object is done by calling its ``fold`` method with the " -"current policy." -msgstr "" - -#: ../../library/email.policy.rst:510 -msgid "" -"Source values are split into lines using :meth:`~str.splitlines`. If the " -"value is not to be refolded, the lines are rejoined using the ``linesep`` " -"from the policy and returned. The exception is lines containing non-ascii " -"binary data. In that case the value is refolded regardless of the " -"``refold_source`` setting, which causes the binary data to be CTE encoded " -"using the ``unknown-8bit`` charset." -msgstr "" - -#: ../../library/email.policy.rst:520 -msgid "" -"The same as :meth:`fold` if :attr:`~Policy.cte_type` is ``7bit``, except " -"that the returned value is bytes." -msgstr "" - -#: ../../library/email.policy.rst:523 -msgid "" -"If :attr:`~Policy.cte_type` is ``8bit``, non-ASCII binary data is converted " -"back into bytes. Headers with binary data are not refolded, regardless of " -"the ``refold_header`` setting, since there is no way to know whether the " -"binary data consists of single byte characters or multibyte characters." -msgstr "" - -#: ../../library/email.policy.rst:530 -msgid "" -"The following instances of :class:`EmailPolicy` provide defaults suitable " -"for specific application domains. Note that in the future the behavior of " -"these instances (in particular the ``HTTP`` instance) may be adjusted to " -"conform even more closely to the RFCs relevant to their domains." -msgstr "" - -#: ../../library/email.policy.rst:538 -msgid "" -"An instance of ``EmailPolicy`` with all defaults unchanged. This policy " -"uses the standard Python ``\\n`` line endings rather than the RFC-correct " -"``\\r\\n``." -msgstr "" - -#: ../../library/email.policy.rst:545 -msgid "" -"Suitable for serializing messages in conformance with the email RFCs. Like " -"``default``, but with ``linesep`` set to ``\\r\\n``, which is RFC compliant." -msgstr "" - -#: ../../library/email.policy.rst:552 -msgid "" -"The same as ``SMTP`` except that :attr:`~EmailPolicy.utf8` is ``True``. " -"Useful for serializing messages to a message store without using encoded " -"words in the headers. Should only be used for SMTP transmission if the " -"sender or recipient addresses have non-ASCII characters (the " -":meth:`smtplib.SMTP.send_message` method handles this automatically)." -msgstr "" - -#: ../../library/email.policy.rst:561 -msgid "" -"Suitable for serializing headers with for use in HTTP traffic. Like " -"``SMTP`` except that ``max_line_length`` is set to ``None`` (unlimited)." -msgstr "" - -#: ../../library/email.policy.rst:567 -msgid "" -"Convenience instance. The same as ``default`` except that " -"``raise_on_defect`` is set to ``True``. This allows any policy to be made " -"strict by writing::" -msgstr "" - -#: ../../library/email.policy.rst:571 -msgid "somepolicy + policy.strict" -msgstr "" - -#: ../../library/email.policy.rst:574 -msgid "" -"With all of these :class:`EmailPolicies <.EmailPolicy>`, the effective API " -"of the email package is changed from the Python 3.2 API in the following " -"ways:" -msgstr "" - -#: ../../library/email.policy.rst:577 -msgid "" -"Setting a header on a :class:`~email.message.Message` results in that header" -" being parsed and a header object created." -msgstr "" - -#: ../../library/email.policy.rst:580 -msgid "" -"Fetching a header value from a :class:`~email.message.Message` results in " -"that header being parsed and a header object created and returned." -msgstr "" - -#: ../../library/email.policy.rst:584 -msgid "" -"Any header object, or any header that is refolded due to the policy " -"settings, is folded using an algorithm that fully implements the RFC folding" -" algorithms, including knowing where encoded words are required and allowed." -msgstr "" - -#: ../../library/email.policy.rst:589 -msgid "" -"From the application view, this means that any header obtained through the " -":class:`~email.message.EmailMessage` is a header object with extra " -"attributes, whose string value is the fully decoded unicode value of the " -"header. Likewise, a header may be assigned a new value, or a new header " -"created, using a unicode string, and the policy will take care of converting" -" the unicode string into the correct RFC encoded form." -msgstr "" - -#: ../../library/email.policy.rst:596 -msgid "" -"The header objects and their attributes are described in " -":mod:`~email.headerregistry`." -msgstr "" - -#: ../../library/email.policy.rst:603 -msgid "" -"This concrete :class:`Policy` is the backward compatibility policy. It " -"replicates the behavior of the email package in Python 3.2. The " -":mod:`~email.policy` module also defines an instance of this class, " -":const:`compat32`, that is used as the default policy. Thus the default " -"behavior of the email package is to maintain compatibility with Python 3.2." -msgstr "" - -#: ../../library/email.policy.rst:609 -msgid "" -"The following attributes have values that are different from the " -":class:`Policy` default:" -msgstr "" - -#: ../../library/email.policy.rst:615 -msgid "The default is ``True``." -msgstr "" - -#: ../../library/email.policy.rst:632 -msgid "The name and value are returned unmodified." -msgstr "" - -#: ../../library/email.policy.rst:637 -msgid "" -"If the value contains binary data, it is converted into a " -":class:`~email.header.Header` object using the ``unknown-8bit`` charset. " -"Otherwise it is returned unmodified." -msgstr "" - -#: ../../library/email.policy.rst:644 -msgid "" -"Headers are folded using the :class:`~email.header.Header` folding " -"algorithm, which preserves existing line breaks in the value, and wraps each" -" resulting line to the ``max_line_length``. Non-ASCII binary data are CTE " -"encoded using the ``unknown-8bit`` charset." -msgstr "" - -#: ../../library/email.policy.rst:652 -msgid "" -"Headers are folded using the :class:`~email.header.Header` folding " -"algorithm, which preserves existing line breaks in the value, and wraps each" -" resulting line to the ``max_line_length``. If ``cte_type`` is ``7bit``, " -"non-ascii binary data is CTE encoded using the ``unknown-8bit`` charset. " -"Otherwise the original source header is used, with its existing line breaks " -"and any (RFC invalid) binary data it may contain." -msgstr "" - -#: ../../library/email.policy.rst:662 -msgid "" -"An instance of :class:`Compat32`, providing backward compatibility with the" -" behavior of the email package in Python 3.2." -msgstr "" - -#: ../../library/email.policy.rst:667 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/email.policy.rst:668 -msgid "" -"Originally added in 3.3 as a :term:`provisional feature `." -msgstr "" diff --git a/python-newest.library--email_utils/id.po b/python-newest.library--email_utils/id.po deleted file mode 100644 index 189f08d..0000000 --- a/python-newest.library--email_utils/id.po +++ /dev/null @@ -1,281 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Ismail Sunni, 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/email.utils.rst:2 -msgid ":mod:`!email.utils`: Miscellaneous utilities" -msgstr "" - -#: ../../library/email.utils.rst:7 -msgid "**Source code:** :source:`Lib/email/utils.py`" -msgstr "**Kode sumber:** :source:`Lib/email/utils.py`" - -#: ../../library/email.utils.rst:11 -msgid "" -"There are a couple of useful utilities provided in the :mod:`email.utils` " -"module:" -msgstr "" -"Ada beberapa kakas yang berguna yang disediakan di modul :mod:`email.utils`" - -#: ../../library/email.utils.rst:16 -msgid "" -"Return local time as an aware datetime object. If called without arguments," -" return current time. Otherwise *dt* argument should be a " -":class:`~datetime.datetime` instance, and it is converted to the local time " -"zone according to the system time zone database. If *dt* is naive (that is," -" ``dt.tzinfo`` is ``None``), it is assumed to be in local time." -msgstr "" - -#: ../../library/email.utils.rst:24 -msgid "The *isdst* parameter." -msgstr "" - -#: ../../library/email.utils.rst:29 -msgid "" -"Returns a string suitable for an :rfc:`2822`\\ -compliant " -":mailheader:`Message-ID` header. Optional *idstring* if given, is a string " -"used to strengthen the uniqueness of the message id. Optional *domain* if " -"given provides the portion of the msgid after the '@'. The default is the " -"local hostname. It is not normally necessary to override this default, but " -"may be useful certain cases, such as a constructing distributed system that " -"uses a consistent domain name across multiple hosts." -msgstr "" - -#: ../../library/email.utils.rst:37 -msgid "Added the *domain* keyword." -msgstr "Menambahkan kata kunci *domain*" - -#: ../../library/email.utils.rst:41 -msgid "" -"The remaining functions are part of the legacy (``Compat32``) email API. " -"There is no need to directly use these with the new API, since the parsing " -"and formatting they provide is done automatically by the header parsing " -"machinery of the new API." -msgstr "" - -#: ../../library/email.utils.rst:49 -msgid "" -"Return a new string with backslashes in *str* replaced by two backslashes, " -"and double quotes replaced by backslash-double quote." -msgstr "" - -#: ../../library/email.utils.rst:55 -msgid "" -"Return a new string which is an *unquoted* version of *str*. If *str* ends " -"and begins with double quotes, they are stripped off. Likewise if *str* " -"ends and begins with angle brackets, they are stripped off." -msgstr "" - -#: ../../library/email.utils.rst:62 -msgid "" -"Parse address -- which should be the value of some address-containing field " -"such as :mailheader:`To` or :mailheader:`Cc` -- into its constituent " -"*realname* and *email address* parts. Returns a tuple of that information, " -"unless the parse fails, in which case a 2-tuple of ``('', '')`` is returned." -msgstr "" - -#: ../../library/email.utils.rst:67 ../../library/email.utils.rst:95 -msgid "" -"If *strict* is true, use a strict parser which rejects malformed inputs." -msgstr "" - -#: ../../library/email.utils.rst:69 ../../library/email.utils.rst:107 -msgid "" -"Add *strict* optional parameter and reject malformed inputs by default." -msgstr "" - -#: ../../library/email.utils.rst:75 -msgid "" -"The inverse of :meth:`parseaddr`, this takes a 2-tuple of the form " -"``(realname, email_address)`` and returns the string value suitable for a " -":mailheader:`To` or :mailheader:`Cc` header. If the first element of *pair*" -" is false, then the second element is returned unmodified." -msgstr "" - -#: ../../library/email.utils.rst:80 -msgid "" -"Optional *charset* is the character set that will be used in the :rfc:`2047`" -" encoding of the ``realname`` if the ``realname`` contains non-ASCII " -"characters. Can be an instance of :class:`str` or a " -":class:`~email.charset.Charset`. Defaults to ``utf-8``." -msgstr "" - -#: ../../library/email.utils.rst:85 -msgid "Added the *charset* option." -msgstr "Menambahkan pilihan *charset*" - -#: ../../library/email.utils.rst:91 -msgid "" -"This method returns a list of 2-tuples of the form returned by " -"``parseaddr()``. *fieldvalues* is a sequence of header field values as might" -" be returned by :meth:`Message.get_all `." -msgstr "" - -#: ../../library/email.utils.rst:97 -msgid "Here's a simple example that gets all the recipients of a message::" -msgstr "" - -#: ../../library/email.utils.rst:99 -msgid "" -"from email.utils import getaddresses\n" -"\n" -"tos = msg.get_all('to', [])\n" -"ccs = msg.get_all('cc', [])\n" -"resent_tos = msg.get_all('resent-to', [])\n" -"resent_ccs = msg.get_all('resent-cc', [])\n" -"all_recipients = getaddresses(tos + ccs + resent_tos + resent_ccs)" -msgstr "" - -#: ../../library/email.utils.rst:113 -msgid "" -"Attempts to parse a date according to the rules in :rfc:`2822`. however, " -"some mailers don't follow that format as specified, so :func:`parsedate` " -"tries to guess correctly in such cases. *date* is a string containing an " -":rfc:`2822` date, such as ``\"Mon, 20 Nov 1995 19:12:08 -0500\"``. If it " -"succeeds in parsing the date, :func:`parsedate` returns a 9-tuple that can " -"be passed directly to :func:`time.mktime`; otherwise ``None`` will be " -"returned. Note that indexes 6, 7, and 8 of the result tuple are not usable." -msgstr "" - -#: ../../library/email.utils.rst:124 -msgid "" -"Performs the same function as :func:`parsedate`, but returns either ``None``" -" or a 10-tuple; the first 9 elements make up a tuple that can be passed " -"directly to :func:`time.mktime`, and the tenth is the offset of the date's " -"timezone from UTC (which is the official term for Greenwich Mean Time) [#]_." -" If the input string has no timezone, the last element of the tuple " -"returned is ``0``, which represents UTC. Note that indexes 6, 7, and 8 of " -"the result tuple are not usable." -msgstr "" - -#: ../../library/email.utils.rst:134 -msgid "" -"The inverse of :func:`format_datetime`. Performs the same function as " -":func:`parsedate`, but on success returns a :mod:`~datetime.datetime`; " -"otherwise ``ValueError`` is raised if *date* contains an invalid value such " -"as an hour greater than 23 or a timezone offset not between -24 and 24 " -"hours. If the input date has a timezone of ``-0000``, the ``datetime`` will " -"be a naive ``datetime``, and if the date is conforming to the RFCs it will " -"represent a time in UTC but with no indication of the actual source timezone" -" of the message the date comes from. If the input date has any other valid " -"timezone offset, the ``datetime`` will be an aware ``datetime`` with the " -"corresponding a :class:`~datetime.timezone` :class:`~datetime.tzinfo`." -msgstr "" - -#: ../../library/email.utils.rst:150 -msgid "" -"Turn a 10-tuple as returned by :func:`parsedate_tz` into a UTC timestamp " -"(seconds since the Epoch). If the timezone item in the tuple is ``None``, " -"assume local time." -msgstr "" - -#: ../../library/email.utils.rst:157 -msgid "Returns a date string as per :rfc:`2822`, e.g.::" -msgstr "" - -#: ../../library/email.utils.rst:159 -msgid "Fri, 09 Nov 2001 01:08:47 -0000" -msgstr "" - -#: ../../library/email.utils.rst:161 -msgid "" -"Optional *timeval* if given is a floating-point time value as accepted by " -":func:`time.gmtime` and :func:`time.localtime`, otherwise the current time " -"is used." -msgstr "" - -#: ../../library/email.utils.rst:165 -msgid "" -"Optional *localtime* is a flag that when ``True``, interprets *timeval*, and" -" returns a date relative to the local timezone instead of UTC, properly " -"taking daylight savings time into account. The default is ``False`` meaning " -"UTC is used." -msgstr "" - -#: ../../library/email.utils.rst:170 -msgid "" -"Optional *usegmt* is a flag that when ``True``, outputs a date string with " -"the timezone as an ascii string ``GMT``, rather than a numeric ``-0000``. " -"This is needed for some protocols (such as HTTP). This only applies when " -"*localtime* is ``False``. The default is ``False``." -msgstr "" - -#: ../../library/email.utils.rst:178 -msgid "" -"Like ``formatdate``, but the input is a :mod:`datetime` instance. If it is " -"a naive datetime, it is assumed to be \"UTC with no information about the " -"source timezone\", and the conventional ``-0000`` is used for the timezone. " -"If it is an aware ``datetime``, then the numeric timezone offset is used. If" -" it is an aware timezone with offset zero, then *usegmt* may be set to " -"``True``, in which case the string ``GMT`` is used instead of the numeric " -"timezone offset. This provides a way to generate standards conformant HTTP " -"date headers." -msgstr "" - -#: ../../library/email.utils.rst:192 -msgid "Decode the string *s* according to :rfc:`2231`." -msgstr "" - -#: ../../library/email.utils.rst:197 -msgid "" -"Encode the string *s* according to :rfc:`2231`. Optional *charset* and " -"*language*, if given is the character set name and language name to use. If" -" neither is given, *s* is returned as-is. If *charset* is given but " -"*language* is not, the string is encoded using the empty string for " -"*language*." -msgstr "" - -#: ../../library/email.utils.rst:205 -msgid "" -"When a header parameter is encoded in :rfc:`2231` format, " -":meth:`Message.get_param ` may return a " -"3-tuple containing the character set, language, and value. " -":func:`collapse_rfc2231_value` turns this into a unicode string. Optional " -"*errors* is passed to the *errors* argument of :class:`str`'s " -":func:`~str.encode` method; it defaults to ``'replace'``. Optional " -"*fallback_charset* specifies the character set to use if the one in the " -":rfc:`2231` header is not known by Python; it defaults to ``'us-ascii'``." -msgstr "" - -#: ../../library/email.utils.rst:214 -msgid "" -"For convenience, if the *value* passed to :func:`collapse_rfc2231_value` is " -"not a tuple, it should be a string and it is returned unquoted." -msgstr "" - -#: ../../library/email.utils.rst:220 -msgid "" -"Decode parameters list according to :rfc:`2231`. *params* is a sequence of " -"2-tuples containing elements of the form ``(content-type, string-value)``." -msgstr "" - -#: ../../library/email.utils.rst:225 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/email.utils.rst:226 -msgid "" -"Note that the sign of the timezone offset is the opposite of the sign of the" -" ``time.timezone`` variable for the same timezone; the latter variable " -"follows the POSIX standard while this module follows :rfc:`2822`." -msgstr "" diff --git a/python-newest.library--ensurepip/id.po b/python-newest.library--ensurepip/id.po deleted file mode 100644 index f053852..0000000 --- a/python-newest.library--ensurepip/id.po +++ /dev/null @@ -1,240 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/ensurepip.rst:2 -msgid ":mod:`!ensurepip` --- Bootstrapping the ``pip`` installer" -msgstr "" - -#: ../../library/ensurepip.rst:10 -msgid "**Source code:** :source:`Lib/ensurepip`" -msgstr "" - -#: ../../library/ensurepip.rst:14 -msgid "" -"The :mod:`ensurepip` package provides support for bootstrapping the ``pip`` " -"installer into an existing Python installation or virtual environment. This " -"bootstrapping approach reflects the fact that ``pip`` is an independent " -"project with its own release cycle, and the latest available stable version " -"is bundled with maintenance and feature releases of the CPython reference " -"interpreter." -msgstr "" - -#: ../../library/ensurepip.rst:21 -msgid "" -"In most cases, end users of Python shouldn't need to invoke this module " -"directly (as ``pip`` should be bootstrapped by default), but it may be " -"needed if installing ``pip`` was skipped when installing Python (or when " -"creating a virtual environment) or after explicitly uninstalling ``pip``." -msgstr "" - -#: ../../library/ensurepip.rst:29 -msgid "" -"This module *does not* access the internet. All of the components needed to " -"bootstrap ``pip`` are included as internal parts of the package." -msgstr "" - -#: ../../library/ensurepip.rst:35 -msgid ":ref:`installing-index`" -msgstr ":ref:`installing-index`" - -#: ../../library/ensurepip.rst:36 -msgid "The end user guide for installing Python packages" -msgstr "" - -#: ../../library/ensurepip.rst:38 -msgid ":pep:`453`: Explicit bootstrapping of pip in Python installations" -msgstr "" - -#: ../../library/ensurepip.rst:39 -msgid "The original rationale and specification for this module." -msgstr "" - -#: ../../includes/wasm-mobile-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-mobile-notavail.rst:5 -msgid "" -"This module is not supported on :ref:`mobile platforms ` or :ref:`WebAssembly platforms `." -msgstr "" - -#: ../../library/ensurepip.rst:44 -msgid "Command line interface" -msgstr "" - -#: ../../library/ensurepip.rst:48 -msgid "" -"The command line interface is invoked using the interpreter's ``-m`` switch." -msgstr "" - -#: ../../library/ensurepip.rst:50 -msgid "The simplest possible invocation is::" -msgstr "" - -#: ../../library/ensurepip.rst:52 -msgid "python -m ensurepip" -msgstr "" - -#: ../../library/ensurepip.rst:54 -msgid "" -"This invocation will install ``pip`` if it is not already installed, but " -"otherwise does nothing. To ensure the installed version of ``pip`` is at " -"least as recent as the one available in ``ensurepip``, pass the " -"``--upgrade`` option::" -msgstr "" - -#: ../../library/ensurepip.rst:59 -msgid "python -m ensurepip --upgrade" -msgstr "" - -#: ../../library/ensurepip.rst:61 -msgid "" -"By default, ``pip`` is installed into the current virtual environment (if " -"one is active) or into the system site packages (if there is no active " -"virtual environment). The installation location can be controlled through " -"two additional command line options:" -msgstr "" - -#: ../../library/ensurepip.rst:68 -msgid "" -"Installs ``pip`` relative to the given root directory rather than the root " -"of the currently active virtual environment (if any) or the default root for" -" the current Python installation." -msgstr "" - -#: ../../library/ensurepip.rst:74 -msgid "" -"Installs ``pip`` into the user site packages directory rather than globally " -"for the current Python installation (this option is not permitted inside an " -"active virtual environment)." -msgstr "" - -#: ../../library/ensurepip.rst:78 -msgid "" -"By default, the scripts ``pipX`` and ``pipX.Y`` will be installed (where X.Y" -" stands for the version of Python used to invoke ``ensurepip``). The scripts" -" installed can be controlled through two additional command line options:" -msgstr "" - -#: ../../library/ensurepip.rst:85 -msgid "" -"If an alternate installation is requested, the ``pipX`` script will *not* be" -" installed." -msgstr "" - -#: ../../library/ensurepip.rst:90 -msgid "" -"If a \"default pip\" installation is requested, the ``pip`` script will be " -"installed in addition to the two regular scripts." -msgstr "" - -#: ../../library/ensurepip.rst:93 -msgid "" -"Providing both of the script selection options will trigger an exception." -msgstr "" - -#: ../../library/ensurepip.rst:96 -msgid "Module API" -msgstr "" - -#: ../../library/ensurepip.rst:98 -msgid ":mod:`ensurepip` exposes two functions for programmatic use:" -msgstr "" - -#: ../../library/ensurepip.rst:102 -msgid "" -"Returns a string specifying the available version of pip that will be " -"installed when bootstrapping an environment." -msgstr "" - -#: ../../library/ensurepip.rst:109 -msgid "Bootstraps ``pip`` into the current or designated environment." -msgstr "" - -#: ../../library/ensurepip.rst:111 -msgid "" -"*root* specifies an alternative root directory to install relative to. If " -"*root* is ``None``, then installation uses the default install location for " -"the current environment." -msgstr "" - -#: ../../library/ensurepip.rst:115 -msgid "" -"*upgrade* indicates whether or not to upgrade an existing installation of an" -" earlier version of ``pip`` to the available version." -msgstr "" - -#: ../../library/ensurepip.rst:118 -msgid "" -"*user* indicates whether to use the user scheme rather than installing " -"globally." -msgstr "" - -#: ../../library/ensurepip.rst:121 -msgid "" -"By default, the scripts ``pipX`` and ``pipX.Y`` will be installed (where X.Y" -" stands for the current version of Python)." -msgstr "" - -#: ../../library/ensurepip.rst:124 -msgid "If *altinstall* is set, then ``pipX`` will *not* be installed." -msgstr "" - -#: ../../library/ensurepip.rst:126 -msgid "" -"If *default_pip* is set, then ``pip`` will be installed in addition to the " -"two regular scripts." -msgstr "" - -#: ../../library/ensurepip.rst:129 -msgid "" -"Setting both *altinstall* and *default_pip* will trigger :exc:`ValueError`." -msgstr "" - -#: ../../library/ensurepip.rst:132 -msgid "" -"*verbosity* controls the level of output to :data:`sys.stdout` from the " -"bootstrapping operation." -msgstr "" - -#: ../../library/ensurepip.rst:135 -msgid "" -"Raises an :ref:`auditing event ` ``ensurepip.bootstrap`` with " -"argument ``root``." -msgstr "" - -#: ../../library/ensurepip.rst:139 -msgid "" -"The bootstrapping process has side effects on both ``sys.path`` and " -"``os.environ``. Invoking the command line interface in a subprocess instead " -"allows these side effects to be avoided." -msgstr "" - -#: ../../library/ensurepip.rst:145 -msgid "" -"The bootstrapping process may install additional modules required by " -"``pip``, but other software should not assume those dependencies will always" -" be present by default (as the dependencies may be removed in a future " -"version of ``pip``)." -msgstr "" diff --git a/python-newest.library--enum/id.po b/python-newest.library--enum/id.po deleted file mode 100644 index 1c4dd1a..0000000 --- a/python-newest.library--enum/id.po +++ /dev/null @@ -1,1483 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Faiq Zakki <221709674@stis.ac.id>, 2021 -# oon arfiandwi , 2022 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: oon arfiandwi , 2022\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/enum.rst:2 -msgid ":mod:`!enum` --- Support for enumerations" -msgstr "" - -#: ../../library/enum.rst:14 -msgid "**Source code:** :source:`Lib/enum.py`" -msgstr "" - -#: ../../library/enum.rst:18 -msgid "" -"This page contains the API reference information. For tutorial information " -"and discussion of more advanced topics, see" -msgstr "" - -#: ../../library/enum.rst:21 -msgid ":ref:`Basic Tutorial `" -msgstr "" - -#: ../../library/enum.rst:22 -msgid ":ref:`Advanced Tutorial `" -msgstr "" - -#: ../../library/enum.rst:23 -msgid ":ref:`Enum Cookbook `" -msgstr "" - -#: ../../library/enum.rst:27 -msgid "An enumeration:" -msgstr "" - -#: ../../library/enum.rst:29 -msgid "is a set of symbolic names (members) bound to unique values" -msgstr "" - -#: ../../library/enum.rst:30 -msgid "" -"can be iterated over to return its canonical (i.e. non-alias) members in " -"definition order" -msgstr "" - -#: ../../library/enum.rst:32 -msgid "uses *call* syntax to return members by value" -msgstr "" - -#: ../../library/enum.rst:33 -msgid "uses *index* syntax to return members by name" -msgstr "" - -#: ../../library/enum.rst:35 -msgid "" -"Enumerations are created either by using :keyword:`class` syntax, or by " -"using function-call syntax::" -msgstr "" - -#: ../../library/enum.rst:38 -msgid "" -">>> from enum import Enum\n" -"\n" -">>> # class syntax\n" -">>> class Color(Enum):\n" -"... RED = 1\n" -"... GREEN = 2\n" -"... BLUE = 3\n" -"\n" -">>> # functional syntax\n" -">>> Color = Enum('Color', [('RED', 1), ('GREEN', 2), ('BLUE', 3)])" -msgstr "" - -#: ../../library/enum.rst:49 -msgid "" -"Even though we can use :keyword:`class` syntax to create Enums, Enums are " -"not normal Python classes. See :ref:`How are Enums different? ` for more details." -msgstr "" - -#: ../../library/enum.rst:53 -msgid "Nomenclature" -msgstr "" - -#: ../../library/enum.rst:55 -msgid "The class :class:`!Color` is an *enumeration* (or *enum*)" -msgstr "" - -#: ../../library/enum.rst:56 -msgid "" -"The attributes :attr:`!Color.RED`, :attr:`!Color.GREEN`, etc., are " -"*enumeration members* (or *members*) and are functionally constants." -msgstr "" - -#: ../../library/enum.rst:58 -msgid "" -"The enum members have *names* and *values* (the name of :attr:`!Color.RED` " -"is ``RED``, the value of :attr:`!Color.BLUE` is ``3``, etc.)" -msgstr "" - -#: ../../library/enum.rst:65 -msgid "Module Contents" -msgstr "Modul-Modul" - -#: ../../library/enum.rst:67 -msgid ":class:`EnumType`" -msgstr "" - -#: ../../library/enum.rst:69 -msgid "The ``type`` for Enum and its subclasses." -msgstr "" - -#: ../../library/enum.rst:71 -msgid ":class:`Enum`" -msgstr "" - -#: ../../library/enum.rst:73 -msgid "Base class for creating enumerated constants." -msgstr "" - -#: ../../library/enum.rst:75 -msgid ":class:`IntEnum`" -msgstr "" - -#: ../../library/enum.rst:77 -msgid "" -"Base class for creating enumerated constants that are also subclasses of " -":class:`int`. (`Notes`_)" -msgstr "" - -#: ../../library/enum.rst:80 -msgid ":class:`StrEnum`" -msgstr "" - -#: ../../library/enum.rst:82 -msgid "" -"Base class for creating enumerated constants that are also subclasses of " -":class:`str`. (`Notes`_)" -msgstr "" - -#: ../../library/enum.rst:85 -msgid ":class:`Flag`" -msgstr "" - -#: ../../library/enum.rst:87 -msgid "" -"Base class for creating enumerated constants that can be combined using the " -"bitwise operations without losing their :class:`Flag` membership." -msgstr "" - -#: ../../library/enum.rst:90 -msgid ":class:`IntFlag`" -msgstr "" - -#: ../../library/enum.rst:92 -msgid "" -"Base class for creating enumerated constants that can be combined using the " -"bitwise operators without losing their :class:`IntFlag` membership. " -":class:`IntFlag` members are also subclasses of :class:`int`. (`Notes`_)" -msgstr "" - -#: ../../library/enum.rst:96 -msgid ":class:`ReprEnum`" -msgstr "" - -#: ../../library/enum.rst:98 -msgid "" -"Used by :class:`IntEnum`, :class:`StrEnum`, and :class:`IntFlag` to keep the" -" :class:`str() ` of the mixed-in type." -msgstr "" - -#: ../../library/enum.rst:101 -msgid ":class:`EnumCheck`" -msgstr "" - -#: ../../library/enum.rst:103 -msgid "" -"An enumeration with the values ``CONTINUOUS``, ``NAMED_FLAGS``, and " -"``UNIQUE``, for use with :func:`verify` to ensure various constraints are " -"met by a given enumeration." -msgstr "" - -#: ../../library/enum.rst:107 -msgid ":class:`FlagBoundary`" -msgstr "" - -#: ../../library/enum.rst:109 -msgid "" -"An enumeration with the values ``STRICT``, ``CONFORM``, ``EJECT``, and " -"``KEEP`` which allows for more fine-grained control over how invalid values " -"are dealt with in an enumeration." -msgstr "" - -#: ../../library/enum.rst:113 -msgid ":class:`EnumDict`" -msgstr "" - -#: ../../library/enum.rst:115 -msgid "" -"A subclass of :class:`dict` for use when subclassing :class:`EnumType`." -msgstr "" - -#: ../../library/enum.rst:117 -msgid ":class:`auto`" -msgstr "" - -#: ../../library/enum.rst:119 -msgid "" -"Instances are replaced with an appropriate value for Enum members. " -":class:`StrEnum` defaults to the lower-cased version of the member name, " -"while other Enums default to 1 and increase from there." -msgstr "" - -#: ../../library/enum.rst:123 -msgid ":func:`~enum.property`" -msgstr "" - -#: ../../library/enum.rst:125 -msgid "" -"Allows :class:`Enum` members to have attributes without conflicting with " -"member names. The ``value`` and ``name`` attributes are implemented this " -"way." -msgstr "" - -#: ../../library/enum.rst:129 -msgid ":func:`unique`" -msgstr "" - -#: ../../library/enum.rst:131 -msgid "" -"Enum class decorator that ensures only one name is bound to any one value." -msgstr "" - -#: ../../library/enum.rst:133 -msgid ":func:`verify`" -msgstr "" - -#: ../../library/enum.rst:135 -msgid "" -"Enum class decorator that checks user-selectable constraints on an " -"enumeration." -msgstr "" - -#: ../../library/enum.rst:138 -msgid ":func:`member`" -msgstr "" - -#: ../../library/enum.rst:140 -msgid "Make ``obj`` a member. Can be used as a decorator." -msgstr "" - -#: ../../library/enum.rst:142 -msgid ":func:`nonmember`" -msgstr "" - -#: ../../library/enum.rst:144 -msgid "Do not make ``obj`` a member. Can be used as a decorator." -msgstr "" - -#: ../../library/enum.rst:146 -msgid ":func:`global_enum`" -msgstr "" - -#: ../../library/enum.rst:148 -msgid "" -"Modify the :class:`str() ` and :func:`repr` of an enum to show its " -"members as belonging to the module instead of its class, and export the enum" -" members to the global namespace." -msgstr "" - -#: ../../library/enum.rst:152 -msgid ":func:`show_flag_values`" -msgstr "" - -#: ../../library/enum.rst:154 -msgid "Return a list of all power-of-two integers contained in a flag." -msgstr "" - -#: ../../library/enum.rst:157 -msgid "``Flag``, ``IntFlag``, ``auto``" -msgstr "" - -#: ../../library/enum.rst:158 -msgid "" -"``StrEnum``, ``EnumCheck``, ``ReprEnum``, ``FlagBoundary``, ``property``, " -"``member``, ``nonmember``, ``global_enum``, ``show_flag_values``" -msgstr "" - -#: ../../library/enum.rst:159 -msgid "``EnumDict``" -msgstr "" - -#: ../../library/enum.rst:164 -msgid "Data Types" -msgstr "Tipe Data" - -#: ../../library/enum.rst:169 -msgid "" -"*EnumType* is the :term:`metaclass` for *enum* enumerations. It is possible" -" to subclass *EnumType* -- see :ref:`Subclassing EnumType ` for details." -msgstr "" - -#: ../../library/enum.rst:173 -msgid "" -"``EnumType`` is responsible for setting the correct :meth:`!__repr__`, " -":meth:`!__str__`, :meth:`!__format__`, and :meth:`!__reduce__` methods on " -"the final *enum*, as well as creating the enum members, properly handling " -"duplicates, providing iteration over the enum class, etc." -msgstr "" - -#: ../../library/enum.rst:180 -msgid "This method is called in two different ways:" -msgstr "" - -#: ../../library/enum.rst:182 -msgid "to look up an existing member:" -msgstr "" - -#: ../../library/enum.rst:0 -msgid "cls" -msgstr "" - -#: ../../library/enum.rst:184 ../../library/enum.rst:190 -msgid "The enum class being called." -msgstr "" - -#: ../../library/enum.rst:0 -msgid "value" -msgstr "nilai" - -#: ../../library/enum.rst:185 -msgid "The value to lookup." -msgstr "" - -#: ../../library/enum.rst:187 -msgid "" -"to use the ``cls`` enum to create a new enum (only if the existing enum does" -" not have any members):" -msgstr "" - -#: ../../library/enum.rst:191 -msgid "The name of the new Enum to create." -msgstr "" - -#: ../../library/enum.rst:0 -msgid "names" -msgstr "" - -#: ../../library/enum.rst:192 -msgid "The names/values of the members for the new Enum." -msgstr "" - -#: ../../library/enum.rst:0 -msgid "module" -msgstr "modul" - -#: ../../library/enum.rst:193 -msgid "The name of the module the new Enum is created in." -msgstr "" - -#: ../../library/enum.rst:0 -msgid "qualname" -msgstr "" - -#: ../../library/enum.rst:194 -msgid "The actual location in the module where this Enum can be found." -msgstr "" - -#: ../../library/enum.rst:0 -msgid "type" -msgstr "tipe" - -#: ../../library/enum.rst:195 -msgid "A mix-in type for the new Enum." -msgstr "" - -#: ../../library/enum.rst:0 -msgid "start" -msgstr "" - -#: ../../library/enum.rst:196 -msgid "The first integer value for the Enum (used by :class:`auto`)." -msgstr "" - -#: ../../library/enum.rst:0 -msgid "boundary" -msgstr "" - -#: ../../library/enum.rst:197 -msgid "" -"How to handle out-of-range values from bit operations (:class:`Flag` only)." -msgstr "" - -#: ../../library/enum.rst:201 -msgid "Returns ``True`` if member belongs to the ``cls``::" -msgstr "" - -#: ../../library/enum.rst:203 -msgid "" -">>> some_var = Color.RED\n" -">>> some_var in Color\n" -"True\n" -">>> Color.RED.value in Color\n" -"True" -msgstr "" - -#: ../../library/enum.rst:211 -msgid "" -"Before Python 3.12, a ``TypeError`` is raised if a non-Enum-member is used " -"in a containment check." -msgstr "" - -#: ../../library/enum.rst:216 -msgid "" -"Returns ``['__class__', '__doc__', '__members__', '__module__']`` and the " -"names of the members in *cls*::" -msgstr "" - -#: ../../library/enum.rst:219 -msgid "" -">>> dir(Color)\n" -"['BLUE', 'GREEN', 'RED', '__class__', '__contains__', '__doc__', '__getitem__', '__init_subclass__', '__iter__', '__len__', '__members__', '__module__', '__name__', '__qualname__']" -msgstr "" - -#: ../../library/enum.rst:224 -msgid "" -"Returns the Enum member in *cls* matching *name*, or raises a " -":exc:`KeyError`::" -msgstr "" - -#: ../../library/enum.rst:226 -msgid "" -">>> Color['BLUE']\n" -"" -msgstr "" - -#: ../../library/enum.rst:231 -msgid "Returns each member in *cls* in definition order::" -msgstr "" - -#: ../../library/enum.rst:233 -msgid "" -">>> list(Color)\n" -"[, , ]" -msgstr "" - -#: ../../library/enum.rst:238 -msgid "Returns the number of member in *cls*::" -msgstr "" - -#: ../../library/enum.rst:240 -msgid "" -">>> len(Color)\n" -"3" -msgstr "" - -#: ../../library/enum.rst:245 -msgid "Returns a mapping of every enum name to its member, including aliases" -msgstr "" - -#: ../../library/enum.rst:249 -msgid "Returns each member in *cls* in reverse definition order::" -msgstr "" - -#: ../../library/enum.rst:251 -msgid "" -">>> list(reversed(Color))\n" -"[, , ]" -msgstr "" - -#: ../../library/enum.rst:256 -msgid "" -"Adds a new name as an alias to an existing member. Raises a " -":exc:`NameError` if the name is already assigned to a different member." -msgstr "" - -#: ../../library/enum.rst:261 -msgid "" -"Adds a new value as an alias to an existing member. Raises a " -":exc:`ValueError` if the value is already linked with a different member." -msgstr "" - -#: ../../library/enum.rst:266 -msgid "" -"Before 3.11 ``EnumType`` was called ``EnumMeta``, which is still available " -"as an alias." -msgstr "" - -#: ../../library/enum.rst:271 -msgid "*Enum* is the base class for all *enum* enumerations." -msgstr "" - -#: ../../library/enum.rst:275 -msgid "The name used to define the ``Enum`` member::" -msgstr "" - -#: ../../library/enum.rst:277 -msgid "" -">>> Color.BLUE.name\n" -"'BLUE'" -msgstr "" - -#: ../../library/enum.rst:282 -msgid "The value given to the ``Enum`` member::" -msgstr "" - -#: ../../library/enum.rst:284 -msgid "" -">>> Color.RED.value\n" -"1" -msgstr "" - -#: ../../library/enum.rst:287 ../../library/enum.rst:307 -msgid "Value of the member, can be set in :meth:`~Enum.__new__`." -msgstr "" - -#: ../../library/enum.rst:289 -msgid "Enum member values" -msgstr "" - -#: ../../library/enum.rst:291 -msgid "" -"Member values can be anything: :class:`int`, :class:`str`, etc. If the " -"exact value is unimportant you may use :class:`auto` instances and an " -"appropriate value will be chosen for you. See :class:`auto` for the " -"details." -msgstr "" - -#: ../../library/enum.rst:296 -msgid "" -"While mutable/unhashable values, such as :class:`dict`, :class:`list` or a " -"mutable :class:`~dataclasses.dataclass`, can be used, they will have a " -"quadratic performance impact during creation relative to the total number of" -" mutable/unhashable values in the enum." -msgstr "" - -#: ../../library/enum.rst:303 -msgid "Name of the member." -msgstr "" - -#: ../../library/enum.rst:311 -msgid "" -"No longer used, kept for backward compatibility. (class attribute, removed " -"during class creation)." -msgstr "" - -#: ../../library/enum.rst:316 -msgid "" -"``_ignore_`` is only used during creation and is removed from the " -"enumeration once creation is complete." -msgstr "" - -#: ../../library/enum.rst:319 -msgid "" -"``_ignore_`` is a list of names that will not become members, and whose " -"names will also be removed from the completed enumeration. See " -":ref:`TimePeriod ` for an example." -msgstr "" - -#: ../../library/enum.rst:325 -msgid "" -"Returns ``['__class__', '__doc__', '__module__', 'name', 'value']`` and any " -"public methods defined on *self.__class__*::" -msgstr "" - -#: ../../library/enum.rst:328 -msgid "" -">>> from datetime import date\n" -">>> class Weekday(Enum):\n" -"... MONDAY = 1\n" -"... TUESDAY = 2\n" -"... WEDNESDAY = 3\n" -"... THURSDAY = 4\n" -"... FRIDAY = 5\n" -"... SATURDAY = 6\n" -"... SUNDAY = 7\n" -"... @classmethod\n" -"... def today(cls):\n" -"... print('today is %s' % cls(date.today().isoweekday()).name)\n" -"...\n" -">>> dir(Weekday.SATURDAY)\n" -"['__class__', '__doc__', '__eq__', '__hash__', '__module__', 'name', 'today', 'value']" -msgstr "" - -#: ../../library/enum.rst:0 -msgid "name" -msgstr "nama" - -#: ../../library/enum.rst:346 -msgid "The name of the member being defined (e.g. 'RED')." -msgstr "" - -#: ../../library/enum.rst:347 -msgid "The start value for the Enum; the default is 1." -msgstr "" - -#: ../../library/enum.rst:0 -msgid "count" -msgstr "" - -#: ../../library/enum.rst:348 -msgid "The number of members currently defined, not including this one." -msgstr "" - -#: ../../library/enum.rst:0 -msgid "last_values" -msgstr "" - -#: ../../library/enum.rst:349 -msgid "A list of the previous values." -msgstr "" - -#: ../../library/enum.rst:351 -msgid "" -"A *staticmethod* that is used to determine the next value returned by " -":class:`auto`::" -msgstr "" - -#: ../../library/enum.rst:354 -msgid "" -">>> from enum import auto\n" -">>> class PowersOfThree(Enum):\n" -"... @staticmethod\n" -"... def _generate_next_value_(name, start, count, last_values):\n" -"... return 3 ** (count + 1)\n" -"... FIRST = auto()\n" -"... SECOND = auto()\n" -"...\n" -">>> PowersOfThree.SECOND.value\n" -"9" -msgstr "" - -#: ../../library/enum.rst:367 -msgid "" -"By default, does nothing. If multiple values are given in the member " -"assignment, those values become separate arguments to ``__init__``; e.g." -msgstr "" - -#: ../../library/enum.rst:374 -msgid "" -"``Weekday.__init__()`` would be called as ``Weekday.__init__(self, 1, " -"'Mon')``" -msgstr "" - -#: ../../library/enum.rst:378 -msgid "" -"A *classmethod* that is used to further configure subsequent subclasses. By " -"default, does nothing." -msgstr "" - -#: ../../library/enum.rst:383 -msgid "" -"A *classmethod* for looking up values not found in *cls*. By default it " -"does nothing, but can be overridden to implement custom search behavior::" -msgstr "" - -#: ../../library/enum.rst:386 -msgid "" -">>> from enum import StrEnum\n" -">>> class Build(StrEnum):\n" -"... DEBUG = auto()\n" -"... OPTIMIZED = auto()\n" -"... @classmethod\n" -"... def _missing_(cls, value):\n" -"... value = value.lower()\n" -"... for member in cls:\n" -"... if member.value == value:\n" -"... return member\n" -"... return None\n" -"...\n" -">>> Build.DEBUG.value\n" -"'debug'\n" -">>> Build('deBUG')\n" -"" -msgstr "" - -#: ../../library/enum.rst:405 -msgid "" -"By default, doesn't exist. If specified, either in the enum class " -"definition or in a mixin class (such as ``int``), all values given in the " -"member assignment will be passed; e.g." -msgstr "" - -#: ../../library/enum.rst:413 -msgid "" -"results in the call ``int('1a', 16)`` and a value of ``26`` for the member." -msgstr "" - -#: ../../library/enum.rst:417 -msgid "" -"When writing a custom ``__new__``, do not use ``super().__new__`` -- call " -"the appropriate ``__new__`` instead." -msgstr "" - -#: ../../library/enum.rst:422 -msgid "" -"Returns the string used for *repr()* calls. By default, returns the *Enum* " -"name, member name, and value, but can be overridden::" -msgstr "" - -#: ../../library/enum.rst:425 -msgid "" -">>> class OtherStyle(Enum):\n" -"... ALTERNATE = auto()\n" -"... OTHER = auto()\n" -"... SOMETHING_ELSE = auto()\n" -"... def __repr__(self):\n" -"... cls_name = self.__class__.__name__\n" -"... return f'{cls_name}.{self.name}'\n" -"...\n" -">>> OtherStyle.ALTERNATE, str(OtherStyle.ALTERNATE), f\"{OtherStyle.ALTERNATE}\"\n" -"(OtherStyle.ALTERNATE, 'OtherStyle.ALTERNATE', 'OtherStyle.ALTERNATE')" -msgstr "" - -#: ../../library/enum.rst:438 -msgid "" -"Returns the string used for *str()* calls. By default, returns the *Enum* " -"name and member name, but can be overridden::" -msgstr "" - -#: ../../library/enum.rst:441 -msgid "" -">>> class OtherStyle(Enum):\n" -"... ALTERNATE = auto()\n" -"... OTHER = auto()\n" -"... SOMETHING_ELSE = auto()\n" -"... def __str__(self):\n" -"... return f'{self.name}'\n" -"...\n" -">>> OtherStyle.ALTERNATE, str(OtherStyle.ALTERNATE), f\"{OtherStyle.ALTERNATE}\"\n" -"(, 'ALTERNATE', 'ALTERNATE')" -msgstr "" - -#: ../../library/enum.rst:453 -msgid "" -"Returns the string used for *format()* and *f-string* calls. By default, " -"returns :meth:`__str__` return value, but can be overridden::" -msgstr "" - -#: ../../library/enum.rst:456 -msgid "" -">>> class OtherStyle(Enum):\n" -"... ALTERNATE = auto()\n" -"... OTHER = auto()\n" -"... SOMETHING_ELSE = auto()\n" -"... def __format__(self, spec):\n" -"... return f'{self.name}'\n" -"...\n" -">>> OtherStyle.ALTERNATE, str(OtherStyle.ALTERNATE), f\"{OtherStyle.ALTERNATE}\"\n" -"(, 'OtherStyle.ALTERNATE', 'ALTERNATE')" -msgstr "" - -#: ../../library/enum.rst:468 -msgid "" -"Using :class:`auto` with :class:`Enum` results in integers of increasing " -"value, starting with ``1``." -msgstr "" - -#: ../../library/enum.rst:471 -msgid "Added :ref:`enum-dataclass-support`" -msgstr "" - -#: ../../library/enum.rst:476 -msgid "" -"*IntEnum* is the same as :class:`Enum`, but its members are also integers " -"and can be used anywhere that an integer can be used. If any integer " -"operation is performed with an *IntEnum* member, the resulting value loses " -"its enumeration status." -msgstr "" - -#: ../../library/enum.rst:497 -msgid "" -"Using :class:`auto` with :class:`IntEnum` results in integers of increasing " -"value, starting with ``1``." -msgstr "" - -#: ../../library/enum.rst:500 -msgid "" -":meth:`~object.__str__` is now :meth:`!int.__str__` to better support the " -"*replacement of existing constants* use-case. :meth:`~object.__format__` was" -" already :meth:`!int.__format__` for that same reason." -msgstr "" - -#: ../../library/enum.rst:507 -msgid "" -"``StrEnum`` is the same as :class:`Enum`, but its members are also strings " -"and can be used in most of the same places that a string can be used. The " -"result of any string operation performed on or with a *StrEnum* member is " -"not part of the enumeration." -msgstr "" - -#: ../../library/enum.rst:513 -msgid "" -"There are places in the stdlib that check for an exact :class:`str` instead " -"of a :class:`str` subclass (i.e. ``type(unknown) == str`` instead of " -"``isinstance(unknown, str)``), and in those locations you will need to use " -"``str(StrEnum.member)``." -msgstr "" - -#: ../../library/enum.rst:520 -msgid "" -"Using :class:`auto` with :class:`StrEnum` results in the lower-cased member " -"name as the value." -msgstr "" - -#: ../../library/enum.rst:525 -msgid "" -":meth:`~object.__str__` is :meth:`!str.__str__` to better support the " -"*replacement of existing constants* use-case. :meth:`~object.__format__` is" -" likewise :meth:`!str.__format__` for that same reason." -msgstr "" - -#: ../../library/enum.rst:533 -msgid "" -"``Flag`` is the same as :class:`Enum`, but its members support the bitwise " -"operators ``&`` (*AND*), ``|`` (*OR*), ``^`` (*XOR*), and ``~`` (*INVERT*); " -"the results of those operations are (aliases of) members of the enumeration." -msgstr "" - -#: ../../library/enum.rst:539 -msgid "Returns *True* if value is in self::" -msgstr "" - -#: ../../library/enum.rst:541 -msgid "" -">>> from enum import Flag, auto\n" -">>> class Color(Flag):\n" -"... RED = auto()\n" -"... GREEN = auto()\n" -"... BLUE = auto()\n" -"...\n" -">>> purple = Color.RED | Color.BLUE\n" -">>> white = Color.RED | Color.GREEN | Color.BLUE\n" -">>> Color.GREEN in purple\n" -"False\n" -">>> Color.GREEN in white\n" -"True\n" -">>> purple in white\n" -"True\n" -">>> white in purple\n" -"False" -msgstr "" - -#: ../../library/enum.rst:560 -msgid "Returns all contained non-alias members::" -msgstr "" - -#: ../../library/enum.rst:562 -msgid "" -">>> list(Color.RED)\n" -"[]\n" -">>> list(purple)\n" -"[, ]" -msgstr "" - -#: ../../library/enum.rst:571 -msgid "Returns number of members in flag::" -msgstr "" - -#: ../../library/enum.rst:573 -msgid "" -">>> len(Color.GREEN)\n" -"1\n" -">>> len(white)\n" -"3" -msgstr "" - -#: ../../library/enum.rst:582 -msgid "Returns *True* if any members in flag, *False* otherwise::" -msgstr "" - -#: ../../library/enum.rst:584 -msgid "" -">>> bool(Color.GREEN)\n" -"True\n" -">>> bool(white)\n" -"True\n" -">>> black = Color(0)\n" -">>> bool(black)\n" -"False" -msgstr "" - -#: ../../library/enum.rst:594 -msgid "Returns current flag binary or'ed with other::" -msgstr "" - -#: ../../library/enum.rst:596 -msgid "" -">>> Color.RED | Color.GREEN\n" -"" -msgstr "" - -#: ../../library/enum.rst:601 -msgid "Returns current flag binary and'ed with other::" -msgstr "" - -#: ../../library/enum.rst:603 -msgid "" -">>> purple & white\n" -"\n" -">>> purple & Color.GREEN\n" -"" -msgstr "" - -#: ../../library/enum.rst:610 -msgid "Returns current flag binary xor'ed with other::" -msgstr "" - -#: ../../library/enum.rst:612 -msgid "" -">>> purple ^ white\n" -"\n" -">>> purple ^ Color.GREEN\n" -"" -msgstr "" - -#: ../../library/enum.rst:619 -msgid "Returns all the flags in *type(self)* that are not in *self*::" -msgstr "" - -#: ../../library/enum.rst:621 -msgid "" -">>> ~white\n" -"\n" -">>> ~purple\n" -"\n" -">>> ~Color.RED\n" -"" -msgstr "" - -#: ../../library/enum.rst:630 -msgid "" -"Function used to format any remaining unnamed numeric values. Default is " -"the value's repr; common choices are :func:`hex` and :func:`oct`." -msgstr "" - -#: ../../library/enum.rst:635 -msgid "" -"Using :class:`auto` with :class:`Flag` results in integers that are powers " -"of two, starting with ``1``." -msgstr "" - -#: ../../library/enum.rst:638 -msgid "The *repr()* of zero-valued flags has changed. It is now:" -msgstr "" - -#: ../../library/enum.rst:646 -msgid "" -"``IntFlag`` is the same as :class:`Flag`, but its members are also integers " -"and can be used anywhere that an integer can be used." -msgstr "" - -#: ../../library/enum.rst:660 -msgid "" -"If any integer operation is performed with an *IntFlag* member, the result " -"is not an *IntFlag*::" -msgstr "" - -#: ../../library/enum.rst:663 -msgid "" -">>> Color.RED + 2\n" -"3" -msgstr "" - -#: ../../library/enum.rst:666 -msgid "" -"If a :class:`Flag` operation is performed with an *IntFlag* member and:" -msgstr "" - -#: ../../library/enum.rst:668 -msgid "the result is a valid *IntFlag*: an *IntFlag* is returned" -msgstr "" - -#: ../../library/enum.rst:669 -msgid "" -"the result is not a valid *IntFlag*: the result depends on the " -":class:`FlagBoundary` setting" -msgstr "" - -#: ../../library/enum.rst:671 -msgid "" -"The :func:`repr` of unnamed zero-valued flags has changed. It is now::" -msgstr "" - -#: ../../library/enum.rst:673 -msgid "" -">>> Color(0)\n" -"" -msgstr "" - -#: ../../library/enum.rst:678 -msgid "" -"Using :class:`auto` with :class:`IntFlag` results in integers that are " -"powers of two, starting with ``1``." -msgstr "" - -#: ../../library/enum.rst:683 -msgid "" -":meth:`~object.__str__` is now :meth:`!int.__str__` to better support the " -"*replacement of existing constants* use-case. :meth:`~object.__format__` " -"was already :meth:`!int.__format__` for that same reason." -msgstr "" - -#: ../../library/enum.rst:687 -msgid "" -"Inversion of an :class:`!IntFlag` now returns a positive value that is the " -"union of all flags not in the given flag, rather than a negative value. This" -" matches the existing :class:`Flag` behavior." -msgstr "" - -#: ../../library/enum.rst:693 -msgid "" -":class:`!ReprEnum` uses the :meth:`repr() ` of :class:`Enum`," -" but the :class:`str() ` of the mixed-in data type:" -msgstr "" - -#: ../../library/enum.rst:696 -msgid ":meth:`!int.__str__` for :class:`IntEnum` and :class:`IntFlag`" -msgstr "" - -#: ../../library/enum.rst:697 -msgid ":meth:`!str.__str__` for :class:`StrEnum`" -msgstr "" - -#: ../../library/enum.rst:699 -msgid "" -"Inherit from :class:`!ReprEnum` to keep the :class:`str() ` / " -":func:`format` of the mixed-in data type instead of using the " -":class:`Enum`-default :meth:`str() `." -msgstr "" - -#: ../../library/enum.rst:708 -msgid "" -"*EnumCheck* contains the options used by the :func:`verify` decorator to " -"ensure various constraints; failed constraints result in a " -":exc:`ValueError`." -msgstr "" - -#: ../../library/enum.rst:713 -msgid "Ensure that each value has only one name::" -msgstr "" - -#: ../../library/enum.rst:715 -msgid "" -">>> from enum import Enum, verify, UNIQUE\n" -">>> @verify(UNIQUE)\n" -"... class Color(Enum):\n" -"... RED = 1\n" -"... GREEN = 2\n" -"... BLUE = 3\n" -"... CRIMSON = 1\n" -"Traceback (most recent call last):\n" -"...\n" -"ValueError: aliases found in : CRIMSON -> RED" -msgstr "" - -#: ../../library/enum.rst:729 -msgid "" -"Ensure that there are no missing values between the lowest-valued member and" -" the highest-valued member::" -msgstr "" - -#: ../../library/enum.rst:732 -msgid "" -">>> from enum import Enum, verify, CONTINUOUS\n" -">>> @verify(CONTINUOUS)\n" -"... class Color(Enum):\n" -"... RED = 1\n" -"... GREEN = 2\n" -"... BLUE = 5\n" -"Traceback (most recent call last):\n" -"...\n" -"ValueError: invalid enum 'Color': missing values 3, 4" -msgstr "" - -#: ../../library/enum.rst:744 -msgid "" -"Ensure that any flag groups/masks contain only named flags -- useful when " -"values are specified instead of being generated by :func:`auto`::" -msgstr "" - -#: ../../library/enum.rst:747 -msgid "" -">>> from enum import Flag, verify, NAMED_FLAGS\n" -">>> @verify(NAMED_FLAGS)\n" -"... class Color(Flag):\n" -"... RED = 1\n" -"... GREEN = 2\n" -"... BLUE = 4\n" -"... WHITE = 15\n" -"... NEON = 31\n" -"Traceback (most recent call last):\n" -"...\n" -"ValueError: invalid Flag 'Color': aliases WHITE and NEON are missing combined values of 0x18 [use enum.show_flag_values(value) for details]" -msgstr "" - -#: ../../library/enum.rst:761 -msgid "" -"CONTINUOUS and NAMED_FLAGS are designed to work with integer-valued members." -msgstr "" - -#: ../../library/enum.rst:767 -msgid "" -"``FlagBoundary`` controls how out-of-range values are handled in " -":class:`Flag` and its subclasses." -msgstr "" - -#: ../../library/enum.rst:772 -msgid "" -"Out-of-range values cause a :exc:`ValueError` to be raised. This is the " -"default for :class:`Flag`::" -msgstr "" - -#: ../../library/enum.rst:775 -msgid "" -">>> from enum import Flag, STRICT, auto\n" -">>> class StrictFlag(Flag, boundary=STRICT):\n" -"... RED = auto()\n" -"... GREEN = auto()\n" -"... BLUE = auto()\n" -"...\n" -">>> StrictFlag(2**2 + 2**4)\n" -"Traceback (most recent call last):\n" -"...\n" -"ValueError: invalid value 20\n" -" given 0b0 10100\n" -" allowed 0b0 00111" -msgstr "" - -#: ../../library/enum.rst:790 -msgid "" -"Out-of-range values have invalid values removed, leaving a valid " -":class:`Flag` value::" -msgstr "" - -#: ../../library/enum.rst:793 -msgid "" -">>> from enum import Flag, CONFORM, auto\n" -">>> class ConformFlag(Flag, boundary=CONFORM):\n" -"... RED = auto()\n" -"... GREEN = auto()\n" -"... BLUE = auto()\n" -"...\n" -">>> ConformFlag(2**2 + 2**4)\n" -"" -msgstr "" - -#: ../../library/enum.rst:804 -msgid "" -"Out-of-range values lose their :class:`Flag` membership and revert to " -":class:`int`." -msgstr "" - -#: ../../library/enum.rst:817 -msgid "" -"Out-of-range values are kept, and the :class:`Flag` membership is kept. This" -" is the default for :class:`IntFlag`::" -msgstr "" - -#: ../../library/enum.rst:820 -msgid "" -">>> from enum import Flag, KEEP, auto\n" -">>> class KeepFlag(Flag, boundary=KEEP):\n" -"... RED = auto()\n" -"... GREEN = auto()\n" -"... BLUE = auto()\n" -"...\n" -">>> KeepFlag(2**2 + 2**4)\n" -"" -msgstr "" - -#: ../../library/enum.rst:833 -msgid "" -"*EnumDict* is a subclass of :class:`dict` that is used as the namespace for " -"defining enum classes (see :ref:`prepare`). It is exposed to allow " -"subclasses of :class:`EnumType` with advanced behavior like having multiple " -"values per member. It should be called with the name of the enum class being" -" created, otherwise private names and internal classes will not be handled " -"correctly." -msgstr "" - -#: ../../library/enum.rst:840 -msgid "" -"Note that only the :class:`~collections.abc.MutableMapping` interface " -"(:meth:`~object.__setitem__` and :meth:`~dict.update`) is overridden. It may" -" be possible to bypass the checks using other :class:`!dict` operations like" -" :meth:`|= `." -msgstr "" - -#: ../../library/enum.rst:847 -msgid "A list of member names." -msgstr "" - -#: ../../library/enum.rst:854 -msgid "Supported ``__dunder__`` names" -msgstr "" - -#: ../../library/enum.rst:856 -msgid "" -":attr:`~EnumType.__members__` is a read-only ordered mapping of " -"``member_name``:``member`` items. It is only available on the class." -msgstr "" - -#: ../../library/enum.rst:859 -msgid "" -":meth:`~Enum.__new__`, if specified, must create and return the enum " -"members; it is also a very good idea to set the member's :attr:`!_value_` " -"appropriately. Once all the members are created it is no longer used." -msgstr "" - -#: ../../library/enum.rst:865 -msgid "Supported ``_sunder_`` names" -msgstr "" - -#: ../../library/enum.rst:867 -msgid "" -":meth:`~EnumType._add_alias_` -- adds a new name as an alias to an existing " -"member." -msgstr "" - -#: ../../library/enum.rst:869 -msgid "" -":meth:`~EnumType._add_value_alias_` -- adds a new value as an alias to an " -"existing member." -msgstr "" - -#: ../../library/enum.rst:871 -msgid ":attr:`~Enum._name_` -- name of the member" -msgstr "" - -#: ../../library/enum.rst:872 -msgid "" -":attr:`~Enum._value_` -- value of the member; can be set in ``__new__``" -msgstr "" - -#: ../../library/enum.rst:873 -msgid "" -":meth:`~Enum._missing_` -- a lookup function used when a value is not found;" -" may be overridden" -msgstr "" - -#: ../../library/enum.rst:875 -msgid "" -":attr:`~Enum._ignore_` -- a list of names, either as a :class:`list` or a " -":class:`str`, that will not be transformed into members, and will be removed" -" from the final class" -msgstr "" - -#: ../../library/enum.rst:878 -msgid "" -":attr:`~Enum._order_` -- no longer used, kept for backward compatibility " -"(class attribute, removed during class creation)" -msgstr "" - -#: ../../library/enum.rst:880 -msgid "" -":meth:`~Enum._generate_next_value_` -- used to get an appropriate value for " -"an enum member; may be overridden" -msgstr "" - -#: ../../library/enum.rst:885 -msgid "" -"For standard :class:`Enum` classes the next value chosen is the highest " -"value seen incremented by one." -msgstr "" - -#: ../../library/enum.rst:888 -msgid "" -"For :class:`Flag` classes the next value chosen will be the next highest " -"power-of-two." -msgstr "" - -#: ../../library/enum.rst:891 -msgid "" -"While ``_sunder_`` names are generally reserved for the further development " -"of the :class:`Enum` class and can not be used, some are explicitly allowed:" -msgstr "" - -#: ../../library/enum.rst:894 -msgid "" -"``_repr_*`` (e.g. ``_repr_html_``), as used in `IPython's rich display`_" -msgstr "" - -#: ../../library/enum.rst:896 -msgid "``_missing_``, ``_order_``, ``_generate_next_value_``" -msgstr "" - -#: ../../library/enum.rst:897 -msgid "``_ignore_``" -msgstr "" - -#: ../../library/enum.rst:898 -msgid "``_add_alias_``, ``_add_value_alias_``, ``_repr_*``" -msgstr "" - -#: ../../library/enum.rst:904 -msgid "Utilities and Decorators" -msgstr "" - -#: ../../library/enum.rst:908 -msgid "" -"*auto* can be used in place of a value. If used, the *Enum* machinery will " -"call an :class:`Enum`'s :meth:`~Enum._generate_next_value_` to get an " -"appropriate value. For :class:`Enum` and :class:`IntEnum` that appropriate " -"value will be the last value plus one; for :class:`Flag` and " -":class:`IntFlag` it will be the first power-of-two greater than the highest " -"value; for :class:`StrEnum` it will be the lower-cased version of the " -"member's name. Care must be taken if mixing *auto()* with manually " -"specified values." -msgstr "" - -#: ../../library/enum.rst:916 -msgid "" -"*auto* instances are only resolved when at the top level of an assignment:" -msgstr "" - -#: ../../library/enum.rst:918 -msgid "``FIRST = auto()`` will work (auto() is replaced with ``1``);" -msgstr "" - -#: ../../library/enum.rst:919 -msgid "" -"``SECOND = auto(), -2`` will work (auto is replaced with ``2``, so ``2, -2``" -" is used to create the ``SECOND`` enum member;" -msgstr "" - -#: ../../library/enum.rst:921 -msgid "" -"``THREE = [auto(), -3]`` will *not* work (``, -3`` is used to" -" create the ``THREE`` enum member)" -msgstr "" - -#: ../../library/enum.rst:926 -msgid "" -"In prior versions, ``auto()`` had to be the only thing on the assignment " -"line to work properly." -msgstr "" - -#: ../../library/enum.rst:929 -msgid "" -"``_generate_next_value_`` can be overridden to customize the values used by " -"*auto*." -msgstr "" - -#: ../../library/enum.rst:932 -msgid "" -"in 3.13 the default ``_generate_next_value_`` will always return the highest" -" member value incremented by 1, and will fail if any member is an " -"incompatible type." -msgstr "" - -#: ../../library/enum.rst:938 -msgid "" -"A decorator similar to the built-in *property*, but specifically for " -"enumerations. It allows member attributes to have the same names as members" -" themselves." -msgstr "" - -#: ../../library/enum.rst:942 -msgid "" -"the *property* and the member must be defined in separate classes; for " -"example, the *value* and *name* attributes are defined in the *Enum* class, " -"and *Enum* subclasses can define members with the names ``value`` and " -"``name``." -msgstr "" - -#: ../../library/enum.rst:951 -msgid "" -"A :keyword:`class` decorator specifically for enumerations. It searches an " -"enumeration's :attr:`~EnumType.__members__`, gathering any aliases it finds;" -" if any are found :exc:`ValueError` is raised with the details::" -msgstr "" - -#: ../../library/enum.rst:955 -msgid "" -">>> from enum import Enum, unique\n" -">>> @unique\n" -"... class Mistake(Enum):\n" -"... ONE = 1\n" -"... TWO = 2\n" -"... THREE = 3\n" -"... FOUR = 3\n" -"...\n" -"Traceback (most recent call last):\n" -"...\n" -"ValueError: duplicate values found in : FOUR -> THREE" -msgstr "" - -#: ../../library/enum.rst:969 -msgid "" -"A :keyword:`class` decorator specifically for enumerations. Members from " -":class:`EnumCheck` are used to specify which constraints should be checked " -"on the decorated enumeration." -msgstr "" - -#: ../../library/enum.rst:977 -msgid "A decorator for use in enums: its target will become a member." -msgstr "" - -#: ../../library/enum.rst:983 -msgid "A decorator for use in enums: its target will not become a member." -msgstr "" - -#: ../../library/enum.rst:989 -msgid "" -"A decorator to change the :class:`str() ` and :func:`repr` of an enum " -"to show its members as belonging to the module instead of its class. Should " -"only be used when the enum members are exported to the module global " -"namespace (see :class:`re.RegexFlag` for an example)." -msgstr "" - -#: ../../library/enum.rst:999 -msgid "" -"Return a list of all power-of-two integers contained in a flag *value*." -msgstr "" - -#: ../../library/enum.rst:1006 -msgid "Notes" -msgstr "Catatan" - -#: ../../library/enum.rst:1008 -msgid ":class:`IntEnum`, :class:`StrEnum`, and :class:`IntFlag`" -msgstr "" - -#: ../../library/enum.rst:1010 -msgid "" -"These three enum types are designed to be drop-in replacements for existing " -"integer- and string-based values; as such, they have extra limitations:" -msgstr "" - -#: ../../library/enum.rst:1013 -msgid "``__str__`` uses the value and not the name of the enum member" -msgstr "" - -#: ../../library/enum.rst:1015 -msgid "" -"``__format__``, because it uses ``__str__``, will also use the value of the " -"enum member instead of its name" -msgstr "" - -#: ../../library/enum.rst:1018 -msgid "" -"If you do not need/want those limitations, you can either create your own " -"base class by mixing in the ``int`` or ``str`` type yourself::" -msgstr "" - -#: ../../library/enum.rst:1021 -msgid "" -">>> from enum import Enum\n" -">>> class MyIntEnum(int, Enum):\n" -"... pass" -msgstr "" - -#: ../../library/enum.rst:1025 -msgid "or you can reassign the appropriate :meth:`str`, etc., in your enum::" -msgstr "" - -#: ../../library/enum.rst:1027 -msgid "" -">>> from enum import Enum, IntEnum\n" -">>> class MyIntEnum(IntEnum):\n" -"... __str__ = Enum.__str__" -msgstr "" diff --git a/python-newest.library--errno/id.po b/python-newest.library--errno/id.po deleted file mode 100644 index 7935af3..0000000 --- a/python-newest.library--errno/id.po +++ /dev/null @@ -1,711 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/errno.rst:2 -msgid ":mod:`!errno` --- Standard errno system symbols" -msgstr "" - -#: ../../library/errno.rst:9 -msgid "" -"This module makes available standard ``errno`` system symbols. The value of " -"each symbol is the corresponding integer value. The names and descriptions " -"are borrowed from :file:`linux/include/errno.h`, which should be all-" -"inclusive." -msgstr "" - -#: ../../library/errno.rst:17 -msgid "" -"Dictionary providing a mapping from the errno value to the string name in " -"the underlying system. For instance, ``errno.errorcode[errno.EPERM]`` maps " -"to ``'EPERM'``." -msgstr "" - -#: ../../library/errno.rst:21 -msgid "" -"To translate a numeric error code to an error message, use " -":func:`os.strerror`." -msgstr "" - -#: ../../library/errno.rst:23 -msgid "" -"Of the following list, symbols that are not used on the current platform are" -" not defined by the module. The specific list of defined symbols is " -"available as ``errno.errorcode.keys()``. Symbols available can include:" -msgstr "" - -#: ../../library/errno.rst:30 -msgid "" -"Operation not permitted. This error is mapped to the exception " -":exc:`PermissionError`." -msgstr "" - -#: ../../library/errno.rst:36 -msgid "" -"No such file or directory. This error is mapped to the exception " -":exc:`FileNotFoundError`." -msgstr "" - -#: ../../library/errno.rst:42 -msgid "" -"No such process. This error is mapped to the exception " -":exc:`ProcessLookupError`." -msgstr "" - -#: ../../library/errno.rst:48 -msgid "" -"Interrupted system call. This error is mapped to the exception " -":exc:`InterruptedError`." -msgstr "" - -#: ../../library/errno.rst:54 -msgid "I/O error" -msgstr "" - -#: ../../library/errno.rst:59 -msgid "No such device or address" -msgstr "" - -#: ../../library/errno.rst:64 -msgid "Arg list too long" -msgstr "" - -#: ../../library/errno.rst:69 -msgid "Exec format error" -msgstr "" - -#: ../../library/errno.rst:74 -msgid "Bad file number" -msgstr "" - -#: ../../library/errno.rst:79 -msgid "" -"No child processes. This error is mapped to the exception " -":exc:`ChildProcessError`." -msgstr "" - -#: ../../library/errno.rst:85 -msgid "" -"Try again. This error is mapped to the exception :exc:`BlockingIOError`." -msgstr "" - -#: ../../library/errno.rst:90 -msgid "Out of memory" -msgstr "" - -#: ../../library/errno.rst:95 -msgid "" -"Permission denied. This error is mapped to the exception " -":exc:`PermissionError`." -msgstr "" - -#: ../../library/errno.rst:101 -msgid "Bad address" -msgstr "" - -#: ../../library/errno.rst:106 -msgid "Block device required" -msgstr "" - -#: ../../library/errno.rst:111 -msgid "Device or resource busy" -msgstr "" - -#: ../../library/errno.rst:116 -msgid "" -"File exists. This error is mapped to the exception :exc:`FileExistsError`." -msgstr "" - -#: ../../library/errno.rst:122 -msgid "Cross-device link" -msgstr "" - -#: ../../library/errno.rst:127 -msgid "No such device" -msgstr "" - -#: ../../library/errno.rst:132 -msgid "" -"Not a directory. This error is mapped to the exception " -":exc:`NotADirectoryError`." -msgstr "" - -#: ../../library/errno.rst:138 -msgid "" -"Is a directory. This error is mapped to the exception " -":exc:`IsADirectoryError`." -msgstr "" - -#: ../../library/errno.rst:144 -msgid "Invalid argument" -msgstr "" - -#: ../../library/errno.rst:149 -msgid "File table overflow" -msgstr "" - -#: ../../library/errno.rst:154 -msgid "Too many open files" -msgstr "" - -#: ../../library/errno.rst:159 -msgid "Not a typewriter" -msgstr "" - -#: ../../library/errno.rst:164 -msgid "Text file busy" -msgstr "" - -#: ../../library/errno.rst:169 -msgid "File too large" -msgstr "" - -#: ../../library/errno.rst:174 -msgid "No space left on device" -msgstr "" - -#: ../../library/errno.rst:179 -msgid "Illegal seek" -msgstr "" - -#: ../../library/errno.rst:184 -msgid "Read-only file system" -msgstr "" - -#: ../../library/errno.rst:189 -msgid "Too many links" -msgstr "" - -#: ../../library/errno.rst:194 -msgid "" -"Broken pipe. This error is mapped to the exception :exc:`BrokenPipeError`." -msgstr "" - -#: ../../library/errno.rst:200 -msgid "Math argument out of domain of func" -msgstr "" - -#: ../../library/errno.rst:205 -msgid "Math result not representable" -msgstr "" - -#: ../../library/errno.rst:210 -msgid "Resource deadlock would occur" -msgstr "" - -#: ../../library/errno.rst:215 -msgid "File name too long" -msgstr "" - -#: ../../library/errno.rst:220 -msgid "No record locks available" -msgstr "" - -#: ../../library/errno.rst:225 -msgid "Function not implemented" -msgstr "" - -#: ../../library/errno.rst:230 -msgid "Directory not empty" -msgstr "" - -#: ../../library/errno.rst:235 -msgid "Too many symbolic links encountered" -msgstr "" - -#: ../../library/errno.rst:240 -msgid "" -"Operation would block. This error is mapped to the exception " -":exc:`BlockingIOError`." -msgstr "" - -#: ../../library/errno.rst:246 -msgid "No message of desired type" -msgstr "" - -#: ../../library/errno.rst:251 -msgid "Identifier removed" -msgstr "" - -#: ../../library/errno.rst:256 -msgid "Channel number out of range" -msgstr "" - -#: ../../library/errno.rst:261 -msgid "Level 2 not synchronized" -msgstr "" - -#: ../../library/errno.rst:266 -msgid "Level 3 halted" -msgstr "" - -#: ../../library/errno.rst:271 -msgid "Level 3 reset" -msgstr "" - -#: ../../library/errno.rst:276 -msgid "Link number out of range" -msgstr "" - -#: ../../library/errno.rst:281 -msgid "Protocol driver not attached" -msgstr "" - -#: ../../library/errno.rst:286 -msgid "No CSI structure available" -msgstr "" - -#: ../../library/errno.rst:291 -msgid "Level 2 halted" -msgstr "" - -#: ../../library/errno.rst:296 -msgid "Invalid exchange" -msgstr "" - -#: ../../library/errno.rst:301 -msgid "Invalid request descriptor" -msgstr "" - -#: ../../library/errno.rst:306 -msgid "Exchange full" -msgstr "" - -#: ../../library/errno.rst:311 -msgid "No anode" -msgstr "" - -#: ../../library/errno.rst:316 -msgid "Invalid request code" -msgstr "" - -#: ../../library/errno.rst:321 -msgid "Invalid slot" -msgstr "" - -#: ../../library/errno.rst:326 -msgid "File locking deadlock error" -msgstr "" - -#: ../../library/errno.rst:331 -msgid "Bad font file format" -msgstr "" - -#: ../../library/errno.rst:336 -msgid "Device not a stream" -msgstr "" - -#: ../../library/errno.rst:341 -msgid "No data available" -msgstr "" - -#: ../../library/errno.rst:346 -msgid "Timer expired" -msgstr "" - -#: ../../library/errno.rst:351 -msgid "Out of streams resources" -msgstr "" - -#: ../../library/errno.rst:356 -msgid "Machine is not on the network" -msgstr "" - -#: ../../library/errno.rst:361 -msgid "Package not installed" -msgstr "" - -#: ../../library/errno.rst:366 -msgid "Object is remote" -msgstr "" - -#: ../../library/errno.rst:371 -msgid "Link has been severed" -msgstr "" - -#: ../../library/errno.rst:376 -msgid "Advertise error" -msgstr "" - -#: ../../library/errno.rst:381 -msgid "Srmount error" -msgstr "" - -#: ../../library/errno.rst:386 -msgid "Communication error on send" -msgstr "" - -#: ../../library/errno.rst:391 -msgid "Protocol error" -msgstr "" - -#: ../../library/errno.rst:396 -msgid "Multihop attempted" -msgstr "" - -#: ../../library/errno.rst:401 -msgid "RFS specific error" -msgstr "" - -#: ../../library/errno.rst:406 -msgid "Not a data message" -msgstr "" - -#: ../../library/errno.rst:411 -msgid "Value too large for defined data type" -msgstr "" - -#: ../../library/errno.rst:416 -msgid "Name not unique on network" -msgstr "" - -#: ../../library/errno.rst:421 -msgid "File descriptor in bad state" -msgstr "" - -#: ../../library/errno.rst:426 -msgid "Remote address changed" -msgstr "" - -#: ../../library/errno.rst:431 -msgid "Can not access a needed shared library" -msgstr "" - -#: ../../library/errno.rst:436 -msgid "Accessing a corrupted shared library" -msgstr "" - -#: ../../library/errno.rst:441 -msgid ".lib section in a.out corrupted" -msgstr "" - -#: ../../library/errno.rst:446 -msgid "Attempting to link in too many shared libraries" -msgstr "" - -#: ../../library/errno.rst:451 -msgid "Cannot exec a shared library directly" -msgstr "" - -#: ../../library/errno.rst:456 -msgid "Illegal byte sequence" -msgstr "" - -#: ../../library/errno.rst:461 -msgid "Interrupted system call should be restarted" -msgstr "" - -#: ../../library/errno.rst:466 -msgid "Streams pipe error" -msgstr "" - -#: ../../library/errno.rst:471 -msgid "Too many users" -msgstr "" - -#: ../../library/errno.rst:476 -msgid "Socket operation on non-socket" -msgstr "" - -#: ../../library/errno.rst:481 -msgid "Destination address required" -msgstr "" - -#: ../../library/errno.rst:486 -msgid "Message too long" -msgstr "" - -#: ../../library/errno.rst:491 -msgid "Protocol wrong type for socket" -msgstr "" - -#: ../../library/errno.rst:496 -msgid "Protocol not available" -msgstr "" - -#: ../../library/errno.rst:501 -msgid "Protocol not supported" -msgstr "" - -#: ../../library/errno.rst:506 -msgid "Socket type not supported" -msgstr "" - -#: ../../library/errno.rst:511 -msgid "Operation not supported on transport endpoint" -msgstr "" - -#: ../../library/errno.rst:516 -msgid "Operation not supported" -msgstr "" - -#: ../../library/errno.rst:523 -msgid "Protocol family not supported" -msgstr "" - -#: ../../library/errno.rst:528 -msgid "Address family not supported by protocol" -msgstr "" - -#: ../../library/errno.rst:533 -msgid "Address already in use" -msgstr "" - -#: ../../library/errno.rst:538 -msgid "Cannot assign requested address" -msgstr "" - -#: ../../library/errno.rst:543 -msgid "Network is down" -msgstr "" - -#: ../../library/errno.rst:548 -msgid "Network is unreachable" -msgstr "" - -#: ../../library/errno.rst:553 -msgid "Network dropped connection because of reset" -msgstr "" - -#: ../../library/errno.rst:558 -msgid "" -"Software caused connection abort. This error is mapped to the exception " -":exc:`ConnectionAbortedError`." -msgstr "" - -#: ../../library/errno.rst:564 -msgid "" -"Connection reset by peer. This error is mapped to the exception " -":exc:`ConnectionResetError`." -msgstr "" - -#: ../../library/errno.rst:570 -msgid "No buffer space available" -msgstr "" - -#: ../../library/errno.rst:575 -msgid "Transport endpoint is already connected" -msgstr "" - -#: ../../library/errno.rst:580 -msgid "Transport endpoint is not connected" -msgstr "" - -#: ../../library/errno.rst:585 -msgid "" -"Cannot send after transport endpoint shutdown. This error is mapped to the " -"exception :exc:`BrokenPipeError`." -msgstr "" - -#: ../../library/errno.rst:591 -msgid "Too many references: cannot splice" -msgstr "" - -#: ../../library/errno.rst:596 -msgid "" -"Connection timed out. This error is mapped to the exception " -":exc:`TimeoutError`." -msgstr "" - -#: ../../library/errno.rst:602 -msgid "" -"Connection refused. This error is mapped to the exception " -":exc:`ConnectionRefusedError`." -msgstr "" - -#: ../../library/errno.rst:608 -msgid "Host is down" -msgstr "" - -#: ../../library/errno.rst:613 -msgid "No route to host" -msgstr "" - -#: ../../library/errno.rst:618 -msgid "Memory page has hardware error." -msgstr "" - -#: ../../library/errno.rst:625 -msgid "" -"Operation already in progress. This error is mapped to the exception " -":exc:`BlockingIOError`." -msgstr "" - -#: ../../library/errno.rst:631 -msgid "" -"Operation now in progress. This error is mapped to the exception " -":exc:`BlockingIOError`." -msgstr "" - -#: ../../library/errno.rst:637 -msgid "Stale NFS file handle" -msgstr "" - -#: ../../library/errno.rst:642 -msgid "Structure needs cleaning" -msgstr "" - -#: ../../library/errno.rst:647 -msgid "Not a XENIX named type file" -msgstr "" - -#: ../../library/errno.rst:652 -msgid "No XENIX semaphores available" -msgstr "" - -#: ../../library/errno.rst:657 -msgid "Is a named type file" -msgstr "" - -#: ../../library/errno.rst:662 -msgid "Remote I/O error" -msgstr "" - -#: ../../library/errno.rst:667 -msgid "Quota exceeded" -msgstr "" - -#: ../../library/errno.rst:671 -msgid "Interface output queue is full" -msgstr "" - -#: ../../library/errno.rst:678 -msgid "No medium found" -msgstr "" - -#: ../../library/errno.rst:683 -msgid "Wrong medium type" -msgstr "" - -#: ../../library/errno.rst:688 -msgid "Required key not available" -msgstr "" - -#: ../../library/errno.rst:693 -msgid "Key has expired" -msgstr "" - -#: ../../library/errno.rst:698 -msgid "Key has been revoked" -msgstr "" - -#: ../../library/errno.rst:703 -msgid "Key was rejected by service" -msgstr "" - -#: ../../library/errno.rst:708 -msgid "Operation not possible due to RF-kill" -msgstr "" - -#: ../../library/errno.rst:713 -msgid "Locked lock was unmapped" -msgstr "" - -#: ../../library/errno.rst:718 -msgid "Facility is not active" -msgstr "" - -#: ../../library/errno.rst:723 -msgid "Authentication error" -msgstr "" - -#: ../../library/errno.rst:730 -msgid "Bad CPU type in executable" -msgstr "" - -#: ../../library/errno.rst:737 -msgid "Bad executable (or shared library)" -msgstr "" - -#: ../../library/errno.rst:744 -msgid "Malformed Mach-o file" -msgstr "" - -#: ../../library/errno.rst:751 -msgid "Device error" -msgstr "" - -#: ../../library/errno.rst:758 -msgid "Inappropriate file type or format" -msgstr "" - -#: ../../library/errno.rst:765 -msgid "Need authenticator" -msgstr "" - -#: ../../library/errno.rst:772 -msgid "Attribute not found" -msgstr "" - -#: ../../library/errno.rst:779 -msgid "Policy not found" -msgstr "" - -#: ../../library/errno.rst:786 -msgid "Too many processes" -msgstr "" - -#: ../../library/errno.rst:793 -msgid "Bad procedure for program" -msgstr "" - -#: ../../library/errno.rst:800 -msgid "Program version wrong" -msgstr "" - -#: ../../library/errno.rst:807 -msgid "RPC prog. not avail" -msgstr "" - -#: ../../library/errno.rst:814 -msgid "Device power is off" -msgstr "" - -#: ../../library/errno.rst:821 -msgid "RPC struct is bad" -msgstr "" - -#: ../../library/errno.rst:828 -msgid "RPC version wrong" -msgstr "" - -#: ../../library/errno.rst:835 -msgid "Shared library version mismatch" -msgstr "" - -#: ../../library/errno.rst:842 -msgid "" -"Capabilities insufficient. This error is mapped to the exception " -":exc:`PermissionError`." -msgstr "" - -#: ../../library/errno.rst:845 -msgid "Availability" -msgstr "" - -#: ../../library/errno.rst:852 -msgid "Operation canceled" -msgstr "" - -#: ../../library/errno.rst:859 -msgid "Owner died" -msgstr "" - -#: ../../library/errno.rst:866 -msgid "State not recoverable" -msgstr "" diff --git a/python-newest.library--exceptions/id.po b/python-newest.library--exceptions/id.po deleted file mode 100644 index 5d0bd5c..0000000 --- a/python-newest.library--exceptions/id.po +++ /dev/null @@ -1,1370 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/exceptions.rst:4 -msgid "Built-in Exceptions" -msgstr "" - -#: ../../library/exceptions.rst:10 -msgid "" -"In Python, all exceptions must be instances of a class that derives from " -":class:`BaseException`. In a :keyword:`try` statement with an " -":keyword:`except` clause that mentions a particular class, that clause also " -"handles any exception classes derived from that class (but not exception " -"classes from which *it* is derived). Two exception classes that are not " -"related via subclassing are never equivalent, even if they have the same " -"name." -msgstr "" - -#: ../../library/exceptions.rst:19 -msgid "" -"The built-in exceptions listed in this chapter can be generated by the " -"interpreter or built-in functions. Except where mentioned, they have an " -"\"associated value\" indicating the detailed cause of the error. This may " -"be a string or a tuple of several items of information (e.g., an error code " -"and a string explaining the code). The associated value is usually passed " -"as arguments to the exception class's constructor." -msgstr "" - -#: ../../library/exceptions.rst:26 -msgid "" -"User code can raise built-in exceptions. This can be used to test an " -"exception handler or to report an error condition \"just like\" the " -"situation in which the interpreter raises the same exception; but beware " -"that there is nothing to prevent user code from raising an inappropriate " -"error." -msgstr "" - -#: ../../library/exceptions.rst:31 -msgid "" -"The built-in exception classes can be subclassed to define new exceptions; " -"programmers are encouraged to derive new exceptions from the " -":exc:`Exception` class or one of its subclasses, and not from " -":exc:`BaseException`. More information on defining exceptions is available " -"in the Python Tutorial under :ref:`tut-userexceptions`." -msgstr "" - -#: ../../library/exceptions.rst:39 -msgid "Exception context" -msgstr "" - -#: ../../library/exceptions.rst:46 -msgid "" -"Three attributes on exception objects provide information about the context " -"in which the exception was raised:" -msgstr "" - -#: ../../library/exceptions.rst:53 -msgid "" -"When raising a new exception while another exception is already being " -"handled, the new exception's :attr:`!__context__` attribute is automatically" -" set to the handled exception. An exception may be handled when an " -":keyword:`except` or :keyword:`finally` clause, or a :keyword:`with` " -"statement, is used." -msgstr "" - -#: ../../library/exceptions.rst:59 -msgid "" -"This implicit exception context can be supplemented with an explicit cause " -"by using :keyword:`!from` with :keyword:`raise`::" -msgstr "" - -#: ../../library/exceptions.rst:63 -msgid "raise new_exc from original_exc" -msgstr "" - -#: ../../library/exceptions.rst:65 -msgid "" -"The expression following :keyword:`from` must be an exception or " -"``None``. It will be set as :attr:`!__cause__` on the raised exception. " -"Setting :attr:`!__cause__` also implicitly sets the " -":attr:`!__suppress_context__` attribute to ``True``, so that using ``raise " -"new_exc from None`` effectively replaces the old exception with the new one " -"for display purposes (e.g. converting :exc:`KeyError` to " -":exc:`AttributeError`), while leaving the old exception available in " -":attr:`!__context__` for introspection when debugging." -msgstr "" - -#: ../../library/exceptions.rst:74 -msgid "" -"The default traceback display code shows these chained exceptions in " -"addition to the traceback for the exception itself. An explicitly chained " -"exception in :attr:`!__cause__` is always shown when present. An implicitly " -"chained exception in :attr:`!__context__` is shown only if " -":attr:`!__cause__` is :const:`None` and :attr:`!__suppress_context__` is " -"false." -msgstr "" - -#: ../../library/exceptions.rst:80 -msgid "" -"In either case, the exception itself is always shown after any chained " -"exceptions so that the final line of the traceback always shows the last " -"exception that was raised." -msgstr "" - -#: ../../library/exceptions.rst:86 -msgid "Inheriting from built-in exceptions" -msgstr "" - -#: ../../library/exceptions.rst:88 -msgid "" -"User code can create subclasses that inherit from an exception type. It's " -"recommended to only subclass one exception type at a time to avoid any " -"possible conflicts between how the bases handle the ``args`` attribute, as " -"well as due to possible memory layout incompatibilities." -msgstr "" - -#: ../../library/exceptions.rst:95 -msgid "" -"Most built-in exceptions are implemented in C for efficiency, see: " -":source:`Objects/exceptions.c`. Some have custom memory layouts which makes" -" it impossible to create a subclass that inherits from multiple exception " -"types. The memory layout of a type is an implementation detail and might " -"change between Python versions, leading to new conflicts in the future. " -"Therefore, it's recommended to avoid subclassing multiple exception types " -"altogether." -msgstr "" - -#: ../../library/exceptions.rst:105 -msgid "Base classes" -msgstr "" - -#: ../../library/exceptions.rst:107 -msgid "" -"The following exceptions are used mostly as base classes for other " -"exceptions." -msgstr "" - -#: ../../library/exceptions.rst:111 -msgid "" -"The base class for all built-in exceptions. It is not meant to be directly " -"inherited by user-defined classes (for that, use :exc:`Exception`). If " -":func:`str` is called on an instance of this class, the representation of " -"the argument(s) to the instance are returned, or the empty string when there" -" were no arguments." -msgstr "" - -#: ../../library/exceptions.rst:119 -msgid "" -"The tuple of arguments given to the exception constructor. Some built-in " -"exceptions (like :exc:`OSError`) expect a certain number of arguments and " -"assign a special meaning to the elements of this tuple, while others are " -"usually called only with a single string giving an error message." -msgstr "" - -#: ../../library/exceptions.rst:126 -msgid "" -"This method sets *tb* as the new traceback for the exception and returns the" -" exception object. It was more commonly used before the exception chaining " -"features of :pep:`3134` became available. The following example shows how " -"we can convert an instance of ``SomeException`` into an instance of " -"``OtherException`` while preserving the traceback. Once raised, the current" -" frame is pushed onto the traceback of the ``OtherException``, as would have" -" happened to the traceback of the original ``SomeException`` had we allowed " -"it to propagate to the caller. ::" -msgstr "" - -#: ../../library/exceptions.rst:135 -msgid "" -"try:\n" -" ...\n" -"except SomeException:\n" -" tb = sys.exception().__traceback__\n" -" raise OtherException(...).with_traceback(tb)" -msgstr "" - -#: ../../library/exceptions.rst:143 -msgid "" -"A writable field that holds the :ref:`traceback object ` " -"associated with this exception. See also: :ref:`raise`." -msgstr "" - -#: ../../library/exceptions.rst:149 -msgid "" -"Add the string ``note`` to the exception's notes which appear in the " -"standard traceback after the exception string. A :exc:`TypeError` is raised " -"if ``note`` is not a string." -msgstr "" - -#: ../../library/exceptions.rst:157 -msgid "" -"A list of the notes of this exception, which were added with " -":meth:`add_note`. This attribute is created when :meth:`add_note` is called." -msgstr "" - -#: ../../library/exceptions.rst:165 -msgid "" -"All built-in, non-system-exiting exceptions are derived from this class. " -"All user-defined exceptions should also be derived from this class." -msgstr "" - -#: ../../library/exceptions.rst:171 -msgid "" -"The base class for those built-in exceptions that are raised for various " -"arithmetic errors: :exc:`OverflowError`, :exc:`ZeroDivisionError`, " -":exc:`FloatingPointError`." -msgstr "" - -#: ../../library/exceptions.rst:178 -msgid "" -"Raised when a :ref:`buffer ` related operation cannot be " -"performed." -msgstr "" - -#: ../../library/exceptions.rst:184 -msgid "" -"The base class for the exceptions that are raised when a key or index used " -"on a mapping or sequence is invalid: :exc:`IndexError`, :exc:`KeyError`. " -"This can be raised directly by :func:`codecs.lookup`." -msgstr "" - -#: ../../library/exceptions.rst:190 -msgid "Concrete exceptions" -msgstr "" - -#: ../../library/exceptions.rst:192 -msgid "The following exceptions are the exceptions that are usually raised." -msgstr "" - -#: ../../library/exceptions.rst:198 -msgid "Raised when an :keyword:`assert` statement fails." -msgstr "" - -#: ../../library/exceptions.rst:203 -msgid "" -"Raised when an attribute reference (see :ref:`attribute-references`) or " -"assignment fails. (When an object does not support attribute references or " -"attribute assignments at all, :exc:`TypeError` is raised.)" -msgstr "" - -#: ../../library/exceptions.rst:207 -msgid "" -"The :attr:`name` and :attr:`obj` attributes can be set using keyword-only " -"arguments to the constructor. When set they represent the name of the " -"attribute that was attempted to be accessed and the object that was accessed" -" for said attribute, respectively." -msgstr "" - -#: ../../library/exceptions.rst:212 -msgid "Added the :attr:`name` and :attr:`obj` attributes." -msgstr "" - -#: ../../library/exceptions.rst:217 -msgid "" -"Raised when the :func:`input` function hits an end-of-file condition (EOF) " -"without reading any data. (N.B.: the :meth:`io.IOBase.read` and " -":meth:`io.IOBase.readline` methods return an empty string when they hit " -"EOF.)" -msgstr "" - -#: ../../library/exceptions.rst:224 -msgid "Not currently used." -msgstr "" - -#: ../../library/exceptions.rst:229 -msgid "" -"Raised when a :term:`generator` or :term:`coroutine` is closed; see " -":meth:`generator.close` and :meth:`coroutine.close`. It directly inherits " -"from :exc:`BaseException` instead of :exc:`Exception` since it is " -"technically not an error." -msgstr "" - -#: ../../library/exceptions.rst:237 -msgid "" -"Raised when the :keyword:`import` statement has troubles trying to load a " -"module. Also raised when the \"from list\" in ``from ... import`` has a " -"name that cannot be found." -msgstr "" - -#: ../../library/exceptions.rst:241 -msgid "" -"The optional *name* and *path* keyword-only arguments set the corresponding " -"attributes:" -msgstr "" - -#: ../../library/exceptions.rst:246 -msgid "The name of the module that was attempted to be imported." -msgstr "" - -#: ../../library/exceptions.rst:250 -msgid "The path to any file which triggered the exception." -msgstr "" - -#: ../../library/exceptions.rst:252 -msgid "Added the :attr:`name` and :attr:`path` attributes." -msgstr "" - -#: ../../library/exceptions.rst:257 -msgid "" -"A subclass of :exc:`ImportError` which is raised by :keyword:`import` when a" -" module could not be located. It is also raised when ``None`` is found in " -":data:`sys.modules`." -msgstr "" - -#: ../../library/exceptions.rst:266 -msgid "" -"Raised when a sequence subscript is out of range. (Slice indices are " -"silently truncated to fall in the allowed range; if an index is not an " -"integer, :exc:`TypeError` is raised.)" -msgstr "" - -#: ../../library/exceptions.rst:275 -msgid "" -"Raised when a mapping (dictionary) key is not found in the set of existing " -"keys." -msgstr "" - -#: ../../library/exceptions.rst:282 -msgid "" -"Raised when the user hits the interrupt key (normally :kbd:`Control-C` or " -":kbd:`Delete`). During execution, a check for interrupts is made regularly." -" The exception inherits from :exc:`BaseException` so as to not be " -"accidentally caught by code that catches :exc:`Exception` and thus prevent " -"the interpreter from exiting." -msgstr "" - -#: ../../library/exceptions.rst:290 -msgid "" -"Catching a :exc:`KeyboardInterrupt` requires special consideration. Because " -"it can be raised at unpredictable points, it may, in some circumstances, " -"leave the running program in an inconsistent state. It is generally best to " -"allow :exc:`KeyboardInterrupt` to end the program as quickly as possible or " -"avoid raising it entirely. (See :ref:`handlers-and-exceptions`.)" -msgstr "" - -#: ../../library/exceptions.rst:300 -msgid "" -"Raised when an operation runs out of memory but the situation may still be " -"rescued (by deleting some objects). The associated value is a string " -"indicating what kind of (internal) operation ran out of memory. Note that " -"because of the underlying memory management architecture (C's " -":c:func:`malloc` function), the interpreter may not always be able to " -"completely recover from this situation; it nevertheless raises an exception " -"so that a stack traceback can be printed, in case a run-away program was the" -" cause." -msgstr "" - -#: ../../library/exceptions.rst:311 -msgid "" -"Raised when a local or global name is not found. This applies only to " -"unqualified names. The associated value is an error message that includes " -"the name that could not be found." -msgstr "" - -#: ../../library/exceptions.rst:315 -msgid "" -"The :attr:`name` attribute can be set using a keyword-only argument to the " -"constructor. When set it represent the name of the variable that was " -"attempted to be accessed." -msgstr "" - -#: ../../library/exceptions.rst:319 -msgid "Added the :attr:`name` attribute." -msgstr "" - -#: ../../library/exceptions.rst:325 -msgid "" -"This exception is derived from :exc:`RuntimeError`. In user defined base " -"classes, abstract methods should raise this exception when they require " -"derived classes to override the method, or while the class is being " -"developed to indicate that the real implementation still needs to be added." -msgstr "" - -#: ../../library/exceptions.rst:332 -msgid "" -"It should not be used to indicate that an operator or method is not meant to" -" be supported at all -- in that case either leave the operator / method " -"undefined or, if a subclass, set it to :data:`None`." -msgstr "" - -#: ../../library/exceptions.rst:338 -msgid "" -":exc:`!NotImplementedError` and :data:`!NotImplemented` are not " -"interchangeable. This exception should only be used as described above; see " -":data:`NotImplemented` for details on correct usage of the built-in " -"constant." -msgstr "" - -#: ../../library/exceptions.rst:349 -msgid "" -"This exception is raised when a system function returns a system-related " -"error, including I/O failures such as \"file not found\" or \"disk full\" " -"(not for illegal argument types or other incidental errors)." -msgstr "" - -#: ../../library/exceptions.rst:353 -msgid "" -"The second form of the constructor sets the corresponding attributes, " -"described below. The attributes default to :const:`None` if not specified." -" For backwards compatibility, if three arguments are passed, the " -":attr:`~BaseException.args` attribute contains only a 2-tuple of the first " -"two constructor arguments." -msgstr "" - -#: ../../library/exceptions.rst:359 -msgid "" -"The constructor often actually returns a subclass of :exc:`OSError`, as " -"described in `OS exceptions`_ below. The particular subclass depends on the" -" final :attr:`.errno` value. This behaviour only occurs when constructing " -":exc:`OSError` directly or via an alias, and is not inherited when " -"subclassing." -msgstr "" - -#: ../../library/exceptions.rst:367 -msgid "A numeric error code from the C variable :c:data:`errno`." -msgstr "" - -#: ../../library/exceptions.rst:371 -msgid "" -"Under Windows, this gives you the native Windows error code. The " -":attr:`.errno` attribute is then an approximate translation, in POSIX terms," -" of that native error code." -msgstr "" - -#: ../../library/exceptions.rst:375 -msgid "" -"Under Windows, if the *winerror* constructor argument is an integer, the " -":attr:`.errno` attribute is determined from the Windows error code, and the " -"*errno* argument is ignored. On other platforms, the *winerror* argument is" -" ignored, and the :attr:`winerror` attribute does not exist." -msgstr "" - -#: ../../library/exceptions.rst:383 -msgid "" -"The corresponding error message, as provided by the operating system. It is" -" formatted by the C functions :c:func:`perror` under POSIX, and " -":c:func:`FormatMessage` under Windows." -msgstr "" - -#: ../../library/exceptions.rst:391 -msgid "" -"For exceptions that involve a file system path (such as :func:`open` or " -":func:`os.unlink`), :attr:`filename` is the file name passed to the " -"function. For functions that involve two file system paths (such as " -":func:`os.rename`), :attr:`filename2` corresponds to the second file name " -"passed to the function." -msgstr "" - -#: ../../library/exceptions.rst:398 -msgid "" -":exc:`EnvironmentError`, :exc:`IOError`, :exc:`WindowsError`, " -":exc:`socket.error`, :exc:`select.error` and :exc:`mmap.error` have been " -"merged into :exc:`OSError`, and the constructor may return a subclass." -msgstr "" - -#: ../../library/exceptions.rst:404 -msgid "" -"The :attr:`filename` attribute is now the original file name passed to the " -"function, instead of the name encoded to or decoded from the " -":term:`filesystem encoding and error handler`. Also, the *filename2* " -"constructor argument and attribute was added." -msgstr "" - -#: ../../library/exceptions.rst:413 -msgid "" -"Raised when the result of an arithmetic operation is too large to be " -"represented. This cannot occur for integers (which would rather raise " -":exc:`MemoryError` than give up). However, for historical reasons, " -"OverflowError is sometimes raised for integers that are outside a required " -"range. Because of the lack of standardization of floating-point exception " -"handling in C, most floating-point operations are not checked." -msgstr "" - -#: ../../library/exceptions.rst:423 -msgid "" -"This exception is derived from :exc:`RuntimeError`. It is raised when an " -"operation is blocked during interpreter shutdown also known as :term:`Python" -" finalization `." -msgstr "" - -#: ../../library/exceptions.rst:427 -msgid "" -"Examples of operations which can be blocked with a " -":exc:`PythonFinalizationError` during the Python finalization:" -msgstr "" - -#: ../../library/exceptions.rst:430 -msgid "Creating a new Python thread." -msgstr "" - -#: ../../library/exceptions.rst:431 -msgid ":meth:`Joining ` a running daemon thread." -msgstr "" - -#: ../../library/exceptions.rst:432 -msgid ":func:`os.fork`." -msgstr "" - -#: ../../library/exceptions.rst:434 -msgid "See also the :func:`sys.is_finalizing` function." -msgstr "" - -#: ../../library/exceptions.rst:436 ../../library/exceptions.rst:449 -msgid "Previously, a plain :exc:`RuntimeError` was raised." -msgstr "" - -#: ../../library/exceptions.rst:441 -msgid ":meth:`threading.Thread.join` can now raise this exception." -msgstr "" - -#: ../../library/exceptions.rst:445 -msgid "" -"This exception is derived from :exc:`RuntimeError`. It is raised when the " -"interpreter detects that the maximum recursion depth (see " -":func:`sys.getrecursionlimit`) is exceeded." -msgstr "" - -#: ../../library/exceptions.rst:455 -msgid "" -"This exception is raised when a weak reference proxy, created by the " -":func:`weakref.proxy` function, is used to access an attribute of the " -"referent after it has been garbage collected. For more information on weak " -"references, see the :mod:`weakref` module." -msgstr "" - -#: ../../library/exceptions.rst:463 -msgid "" -"Raised when an error is detected that doesn't fall in any of the other " -"categories. The associated value is a string indicating what precisely went" -" wrong." -msgstr "" - -#: ../../library/exceptions.rst:470 -msgid "" -"Raised by built-in function :func:`next` and an :term:`iterator`\\'s " -":meth:`~iterator.__next__` method to signal that there are no further items " -"produced by the iterator." -msgstr "" - -#: ../../library/exceptions.rst:476 -msgid "" -"The exception object has a single attribute :attr:`!value`, which is given " -"as an argument when constructing the exception, and defaults to " -":const:`None`." -msgstr "" - -#: ../../library/exceptions.rst:480 -msgid "" -"When a :term:`generator` or :term:`coroutine` function returns, a new " -":exc:`StopIteration` instance is raised, and the value returned by the " -"function is used as the :attr:`value` parameter to the constructor of the " -"exception." -msgstr "" - -#: ../../library/exceptions.rst:485 -msgid "" -"If a generator code directly or indirectly raises :exc:`StopIteration`, it " -"is converted into a :exc:`RuntimeError` (retaining the :exc:`StopIteration` " -"as the new exception's cause)." -msgstr "" - -#: ../../library/exceptions.rst:489 -msgid "" -"Added ``value`` attribute and the ability for generator functions to use it " -"to return a value." -msgstr "" - -#: ../../library/exceptions.rst:493 -msgid "" -"Introduced the RuntimeError transformation via ``from __future__ import " -"generator_stop``, see :pep:`479`." -msgstr "" - -#: ../../library/exceptions.rst:497 -msgid "" -"Enable :pep:`479` for all code by default: a :exc:`StopIteration` error " -"raised in a generator is transformed into a :exc:`RuntimeError`." -msgstr "" - -#: ../../library/exceptions.rst:503 -msgid "" -"Must be raised by :meth:`~object.__anext__` method of an :term:`asynchronous" -" iterator` object to stop the iteration." -msgstr "" - -#: ../../library/exceptions.rst:510 -msgid "" -"Raised when the parser encounters a syntax error. This may occur in an " -":keyword:`import` statement, in a call to the built-in functions " -":func:`compile`, :func:`exec`, or :func:`eval`, or when reading the initial " -"script or standard input (also interactively)." -msgstr "" - -#: ../../library/exceptions.rst:516 -msgid "" -"The :func:`str` of the exception instance returns only the error message. " -"Details is a tuple whose members are also available as separate attributes." -msgstr "" - -#: ../../library/exceptions.rst:521 -msgid "The name of the file the syntax error occurred in." -msgstr "" - -#: ../../library/exceptions.rst:525 -msgid "" -"Which line number in the file the error occurred in. This is 1-indexed: the " -"first line in the file has a ``lineno`` of 1." -msgstr "" - -#: ../../library/exceptions.rst:530 -msgid "" -"The column in the line where the error occurred. This is 1-indexed: the " -"first character in the line has an ``offset`` of 1." -msgstr "" - -#: ../../library/exceptions.rst:535 -msgid "The source code text involved in the error." -msgstr "" - -#: ../../library/exceptions.rst:539 -msgid "" -"Which line number in the file the error occurred ends in. This is 1-indexed:" -" the first line in the file has a ``lineno`` of 1." -msgstr "" - -#: ../../library/exceptions.rst:544 -msgid "" -"The column in the end line where the error occurred finishes. This is " -"1-indexed: the first character in the line has an ``offset`` of 1." -msgstr "" - -#: ../../library/exceptions.rst:547 -msgid "" -"For errors in f-string fields, the message is prefixed by \"f-string: \" and" -" the offsets are offsets in a text constructed from the replacement " -"expression. For example, compiling f'Bad {a b} field' results in this args " -"attribute: ('f-string: ...', ('', 1, 2, '(a b)\\n', 1, 5))." -msgstr "" - -#: ../../library/exceptions.rst:552 -msgid "Added the :attr:`end_lineno` and :attr:`end_offset` attributes." -msgstr "" - -#: ../../library/exceptions.rst:557 -msgid "" -"Base class for syntax errors related to incorrect indentation. This is a " -"subclass of :exc:`SyntaxError`." -msgstr "" - -#: ../../library/exceptions.rst:563 -msgid "" -"Raised when indentation contains an inconsistent use of tabs and spaces. " -"This is a subclass of :exc:`IndentationError`." -msgstr "" - -#: ../../library/exceptions.rst:569 -msgid "" -"Raised when the interpreter finds an internal error, but the situation does " -"not look so serious to cause it to abandon all hope. The associated value is" -" a string indicating what went wrong (in low-level terms). In " -":term:`CPython`, this could be raised by incorrectly using Python's C API, " -"such as returning a ``NULL`` value without an exception set." -msgstr "" - -#: ../../library/exceptions.rst:575 -msgid "" -"If you're confident that this exception wasn't your fault, or the fault of a" -" package you're using, you should report this to the author or maintainer of" -" your Python interpreter. Be sure to report the version of the Python " -"interpreter (``sys.version``; it is also printed at the start of an " -"interactive Python session), the exact error message (the exception's " -"associated value) and if possible the source of the program that triggered " -"the error." -msgstr "" - -#: ../../library/exceptions.rst:586 -msgid "" -"This exception is raised by the :func:`sys.exit` function. It inherits from" -" :exc:`BaseException` instead of :exc:`Exception` so that it is not " -"accidentally caught by code that catches :exc:`Exception`. This allows the " -"exception to properly propagate up and cause the interpreter to exit. When " -"it is not handled, the Python interpreter exits; no stack traceback is " -"printed. The constructor accepts the same optional argument passed to " -":func:`sys.exit`. If the value is an integer, it specifies the system exit " -"status (passed to C's :c:func:`exit` function); if it is ``None``, the exit " -"status is zero; if it has another type (such as a string), the object's " -"value is printed and the exit status is one." -msgstr "" - -#: ../../library/exceptions.rst:597 -msgid "" -"A call to :func:`sys.exit` is translated into an exception so that clean-up " -"handlers (:keyword:`finally` clauses of :keyword:`try` statements) can be " -"executed, and so that a debugger can execute a script without running the " -"risk of losing control. The :func:`os._exit` function can be used if it is " -"absolutely positively necessary to exit immediately (for example, in the " -"child process after a call to :func:`os.fork`)." -msgstr "" - -#: ../../library/exceptions.rst:606 -msgid "" -"The exit status or error message that is passed to the constructor. " -"(Defaults to ``None``.)" -msgstr "" - -#: ../../library/exceptions.rst:612 -msgid "" -"Raised when an operation or function is applied to an object of " -"inappropriate type. The associated value is a string giving details about " -"the type mismatch." -msgstr "" - -#: ../../library/exceptions.rst:615 -msgid "" -"This exception may be raised by user code to indicate that an attempted " -"operation on an object is not supported, and is not meant to be. If an " -"object is meant to support a given operation but has not yet provided an " -"implementation, :exc:`NotImplementedError` is the proper exception to raise." -msgstr "" - -#: ../../library/exceptions.rst:620 -msgid "" -"Passing arguments of the wrong type (e.g. passing a :class:`list` when an " -":class:`int` is expected) should result in a :exc:`TypeError`, but passing " -"arguments with the wrong value (e.g. a number outside expected boundaries) " -"should result in a :exc:`ValueError`." -msgstr "" - -#: ../../library/exceptions.rst:627 -msgid "" -"Raised when a reference is made to a local variable in a function or method," -" but no value has been bound to that variable. This is a subclass of " -":exc:`NameError`." -msgstr "" - -#: ../../library/exceptions.rst:634 -msgid "" -"Raised when a Unicode-related encoding or decoding error occurs. It is a " -"subclass of :exc:`ValueError`." -msgstr "" - -#: ../../library/exceptions.rst:637 -msgid "" -":exc:`UnicodeError` has attributes that describe the encoding or decoding " -"error. For example, ``err.object[err.start:err.end]`` gives the particular " -"invalid input that the codec failed on." -msgstr "" - -#: ../../library/exceptions.rst:643 -msgid "The name of the encoding that raised the error." -msgstr "" - -#: ../../library/exceptions.rst:647 -msgid "A string describing the specific codec error." -msgstr "" - -#: ../../library/exceptions.rst:651 -msgid "The object the codec was attempting to encode or decode." -msgstr "" - -#: ../../library/exceptions.rst:655 -msgid "The first index of invalid data in :attr:`object`." -msgstr "" - -#: ../../library/exceptions.rst:657 ../../library/exceptions.rst:664 -msgid "" -"This value should not be negative as it is interpreted as an absolute offset" -" but this constraint is not enforced at runtime." -msgstr "" - -#: ../../library/exceptions.rst:662 -msgid "The index after the last invalid data in :attr:`object`." -msgstr "" - -#: ../../library/exceptions.rst:670 -msgid "" -"Raised when a Unicode-related error occurs during encoding. It is a " -"subclass of :exc:`UnicodeError`." -msgstr "" - -#: ../../library/exceptions.rst:676 -msgid "" -"Raised when a Unicode-related error occurs during decoding. It is a " -"subclass of :exc:`UnicodeError`." -msgstr "" - -#: ../../library/exceptions.rst:682 -msgid "" -"Raised when a Unicode-related error occurs during translating. It is a " -"subclass of :exc:`UnicodeError`." -msgstr "" - -#: ../../library/exceptions.rst:688 -msgid "" -"Raised when an operation or function receives an argument that has the right" -" type but an inappropriate value, and the situation is not described by a " -"more precise exception such as :exc:`IndexError`." -msgstr "" - -#: ../../library/exceptions.rst:695 -msgid "" -"Raised when the second argument of a division or modulo operation is zero. " -"The associated value is a string indicating the type of the operands and the" -" operation." -msgstr "" - -#: ../../library/exceptions.rst:700 -msgid "" -"The following exceptions are kept for compatibility with previous versions; " -"starting from Python 3.3, they are aliases of :exc:`OSError`." -msgstr "" - -#: ../../library/exceptions.rst:709 -msgid "Only available on Windows." -msgstr "" - -#: ../../library/exceptions.rst:713 -msgid "OS exceptions" -msgstr "" - -#: ../../library/exceptions.rst:715 -msgid "" -"The following exceptions are subclasses of :exc:`OSError`, they get raised " -"depending on the system error code." -msgstr "" - -#: ../../library/exceptions.rst:720 -msgid "" -"Raised when an operation would block on an object (e.g. socket) set for non-" -"blocking operation. Corresponds to :c:data:`errno` " -":py:const:`~errno.EAGAIN`, :py:const:`~errno.EALREADY`, " -":py:const:`~errno.EWOULDBLOCK` and :py:const:`~errno.EINPROGRESS`." -msgstr "" - -#: ../../library/exceptions.rst:725 -msgid "" -"In addition to those of :exc:`OSError`, :exc:`BlockingIOError` can have one " -"more attribute:" -msgstr "" - -#: ../../library/exceptions.rst:730 -msgid "" -"An integer containing the number of characters written to the stream before " -"it blocked. This attribute is available when using the buffered I/O classes" -" from the :mod:`io` module." -msgstr "" - -#: ../../library/exceptions.rst:736 -msgid "" -"Raised when an operation on a child process failed. Corresponds to " -":c:data:`errno` :py:const:`~errno.ECHILD`." -msgstr "" - -#: ../../library/exceptions.rst:741 -msgid "A base class for connection-related issues." -msgstr "" - -#: ../../library/exceptions.rst:743 -msgid "" -"Subclasses are :exc:`BrokenPipeError`, :exc:`ConnectionAbortedError`, " -":exc:`ConnectionRefusedError` and :exc:`ConnectionResetError`." -msgstr "" - -#: ../../library/exceptions.rst:748 -msgid "" -"A subclass of :exc:`ConnectionError`, raised when trying to write on a pipe " -"while the other end has been closed, or trying to write on a socket which " -"has been shutdown for writing. Corresponds to :c:data:`errno` " -":py:const:`~errno.EPIPE` and :py:const:`~errno.ESHUTDOWN`." -msgstr "" - -#: ../../library/exceptions.rst:755 -msgid "" -"A subclass of :exc:`ConnectionError`, raised when a connection attempt is " -"aborted by the peer. Corresponds to :c:data:`errno` " -":py:const:`~errno.ECONNABORTED`." -msgstr "" - -#: ../../library/exceptions.rst:761 -msgid "" -"A subclass of :exc:`ConnectionError`, raised when a connection attempt is " -"refused by the peer. Corresponds to :c:data:`errno` " -":py:const:`~errno.ECONNREFUSED`." -msgstr "" - -#: ../../library/exceptions.rst:767 -msgid "" -"A subclass of :exc:`ConnectionError`, raised when a connection is reset by " -"the peer. Corresponds to :c:data:`errno` :py:const:`~errno.ECONNRESET`." -msgstr "" - -#: ../../library/exceptions.rst:773 -msgid "" -"Raised when trying to create a file or directory which already exists. " -"Corresponds to :c:data:`errno` :py:const:`~errno.EEXIST`." -msgstr "" - -#: ../../library/exceptions.rst:778 -msgid "" -"Raised when a file or directory is requested but doesn't exist. Corresponds " -"to :c:data:`errno` :py:const:`~errno.ENOENT`." -msgstr "" - -#: ../../library/exceptions.rst:783 -msgid "" -"Raised when a system call is interrupted by an incoming signal. Corresponds " -"to :c:data:`errno` :py:const:`~errno.EINTR`." -msgstr "" - -#: ../../library/exceptions.rst:786 -msgid "" -"Python now retries system calls when a syscall is interrupted by a signal, " -"except if the signal handler raises an exception (see :pep:`475` for the " -"rationale), instead of raising :exc:`InterruptedError`." -msgstr "" - -#: ../../library/exceptions.rst:793 -msgid "" -"Raised when a file operation (such as :func:`os.remove`) is requested on a " -"directory. Corresponds to :c:data:`errno` :py:const:`~errno.EISDIR`." -msgstr "" - -#: ../../library/exceptions.rst:799 -msgid "" -"Raised when a directory operation (such as :func:`os.listdir`) is requested " -"on something which is not a directory. On most POSIX platforms, it may also" -" be raised if an operation attempts to open or traverse a non-directory file" -" as if it were a directory. Corresponds to :c:data:`errno` " -":py:const:`~errno.ENOTDIR`." -msgstr "" - -#: ../../library/exceptions.rst:807 -msgid "" -"Raised when trying to run an operation without the adequate access rights - " -"for example filesystem permissions. Corresponds to :c:data:`errno` " -":py:const:`~errno.EACCES`, :py:const:`~errno.EPERM`, and " -":py:const:`~errno.ENOTCAPABLE`." -msgstr "" - -#: ../../library/exceptions.rst:812 -msgid "" -"WASI's :py:const:`~errno.ENOTCAPABLE` is now mapped to " -":exc:`PermissionError`." -msgstr "" - -#: ../../library/exceptions.rst:818 -msgid "" -"Raised when a given process doesn't exist. Corresponds to :c:data:`errno` " -":py:const:`~errno.ESRCH`." -msgstr "" - -#: ../../library/exceptions.rst:823 -msgid "" -"Raised when a system function timed out at the system level. Corresponds to " -":c:data:`errno` :py:const:`~errno.ETIMEDOUT`." -msgstr "" - -#: ../../library/exceptions.rst:826 -msgid "All the above :exc:`OSError` subclasses were added." -msgstr "" - -#: ../../library/exceptions.rst:832 -msgid ":pep:`3151` - Reworking the OS and IO exception hierarchy" -msgstr "" - -#: ../../library/exceptions.rst:838 -msgid "Warnings" -msgstr "Peringatan" - -#: ../../library/exceptions.rst:840 -msgid "" -"The following exceptions are used as warning categories; see the " -":ref:`warning-categories` documentation for more details." -msgstr "" - -#: ../../library/exceptions.rst:845 -msgid "Base class for warning categories." -msgstr "" - -#: ../../library/exceptions.rst:850 -msgid "Base class for warnings generated by user code." -msgstr "" - -#: ../../library/exceptions.rst:855 -msgid "" -"Base class for warnings about deprecated features when those warnings are " -"intended for other Python developers." -msgstr "" - -#: ../../library/exceptions.rst:858 -msgid "" -"Ignored by the default warning filters, except in the ``__main__`` module " -"(:pep:`565`). Enabling the :ref:`Python Development Mode ` shows " -"this warning." -msgstr "" - -#: ../../library/exceptions.rst:862 ../../library/exceptions.rst:878 -msgid "The deprecation policy is described in :pep:`387`." -msgstr "" - -#: ../../library/exceptions.rst:867 -msgid "" -"Base class for warnings about features which are obsolete and expected to be" -" deprecated in the future, but are not deprecated at the moment." -msgstr "" - -#: ../../library/exceptions.rst:871 -msgid "" -"This class is rarely used as emitting a warning about a possible upcoming " -"deprecation is unusual, and :exc:`DeprecationWarning` is preferred for " -"already active deprecations." -msgstr "" - -#: ../../library/exceptions.rst:875 ../../library/exceptions.rst:901 -#: ../../library/exceptions.rst:928 -msgid "" -"Ignored by the default warning filters. Enabling the :ref:`Python " -"Development Mode ` shows this warning." -msgstr "" - -#: ../../library/exceptions.rst:883 -msgid "Base class for warnings about dubious syntax." -msgstr "" - -#: ../../library/exceptions.rst:888 -msgid "Base class for warnings about dubious runtime behavior." -msgstr "" - -#: ../../library/exceptions.rst:893 -msgid "" -"Base class for warnings about deprecated features when those warnings are " -"intended for end users of applications that are written in Python." -msgstr "" - -#: ../../library/exceptions.rst:899 -msgid "Base class for warnings about probable mistakes in module imports." -msgstr "" - -#: ../../library/exceptions.rst:907 -msgid "Base class for warnings related to Unicode." -msgstr "" - -#: ../../library/exceptions.rst:912 -msgid "Base class for warnings related to encodings." -msgstr "" - -#: ../../library/exceptions.rst:914 -msgid "See :ref:`io-encoding-warning` for details." -msgstr "" - -#: ../../library/exceptions.rst:921 -msgid "" -"Base class for warnings related to :class:`bytes` and :class:`bytearray`." -msgstr "" - -#: ../../library/exceptions.rst:926 -msgid "Base class for warnings related to resource usage." -msgstr "" - -#: ../../library/exceptions.rst:937 -msgid "Exception groups" -msgstr "" - -#: ../../library/exceptions.rst:939 -msgid "" -"The following are used when it is necessary to raise multiple unrelated " -"exceptions. They are part of the exception hierarchy so they can be handled " -"with :keyword:`except` like all other exceptions. In addition, they are " -"recognised by :keyword:`except*`, which matches their subgroups" -" based on the types of the contained exceptions." -msgstr "" - -#: ../../library/exceptions.rst:948 -msgid "" -"Both of these exception types wrap the exceptions in the sequence ``excs``. " -"The ``msg`` parameter must be a string. The difference between the two " -"classes is that :exc:`BaseExceptionGroup` extends :exc:`BaseException` and " -"it can wrap any exception, while :exc:`ExceptionGroup` extends " -":exc:`Exception` and it can only wrap subclasses of :exc:`Exception`. This " -"design is so that ``except Exception`` catches an :exc:`ExceptionGroup` but " -"not :exc:`BaseExceptionGroup`." -msgstr "" - -#: ../../library/exceptions.rst:956 -msgid "" -"The :exc:`BaseExceptionGroup` constructor returns an :exc:`ExceptionGroup` " -"rather than a :exc:`BaseExceptionGroup` if all contained exceptions are " -":exc:`Exception` instances, so it can be used to make the selection " -"automatic. The :exc:`ExceptionGroup` constructor, on the other hand, raises " -"a :exc:`TypeError` if any contained exception is not an :exc:`Exception` " -"subclass." -msgstr "" - -#: ../../library/exceptions.rst:965 -msgid "" -"The ``msg`` argument to the constructor. This is a read-only attribute." -msgstr "" - -#: ../../library/exceptions.rst:969 -msgid "" -"A tuple of the exceptions in the ``excs`` sequence given to the constructor." -" This is a read-only attribute." -msgstr "" - -#: ../../library/exceptions.rst:974 -msgid "" -"Returns an exception group that contains only the exceptions from the " -"current group that match *condition*, or ``None`` if the result is empty." -msgstr "" - -#: ../../library/exceptions.rst:977 -msgid "" -"The condition can be an exception type or tuple of exception types, in which" -" case each exception is checked for a match using the same check that is " -"used in an ``except`` clause. The condition can also be a callable (other " -"than a type object) that accepts an exception as its single argument and " -"returns true for the exceptions that should be in the subgroup." -msgstr "" - -#: ../../library/exceptions.rst:983 -msgid "" -"The nesting structure of the current exception is preserved in the result, " -"as are the values of its :attr:`message`, " -":attr:`~BaseException.__traceback__`, :attr:`~BaseException.__cause__`, " -":attr:`~BaseException.__context__` and :attr:`~BaseException.__notes__` " -"fields. Empty nested groups are omitted from the result." -msgstr "" - -#: ../../library/exceptions.rst:990 -msgid "" -"The condition is checked for all exceptions in the nested exception group, " -"including the top-level and any nested exception groups. If the condition is" -" true for such an exception group, it is included in the result in full." -msgstr "" - -#: ../../library/exceptions.rst:994 -msgid "``condition`` can be any callable which is not a type object." -msgstr "" - -#: ../../library/exceptions.rst:999 -msgid "" -"Like :meth:`subgroup`, but returns the pair ``(match, rest)`` where " -"``match`` is ``subgroup(condition)`` and ``rest`` is the remaining non-" -"matching part." -msgstr "" - -#: ../../library/exceptions.rst:1005 -msgid "" -"Returns an exception group with the same :attr:`message`, but which wraps " -"the exceptions in ``excs``." -msgstr "" - -#: ../../library/exceptions.rst:1008 -msgid "" -"This method is used by :meth:`subgroup` and :meth:`split`, which are used in" -" various contexts to break up an exception group. A subclass needs to " -"override it in order to make :meth:`subgroup` and :meth:`split` return " -"instances of the subclass rather than :exc:`ExceptionGroup`." -msgstr "" - -#: ../../library/exceptions.rst:1014 -msgid "" -":meth:`subgroup` and :meth:`split` copy the " -":attr:`~BaseException.__traceback__`, :attr:`~BaseException.__cause__`, " -":attr:`~BaseException.__context__` and :attr:`~BaseException.__notes__` " -"fields from the original exception group to the one returned by " -":meth:`derive`, so these fields do not need to be updated by :meth:`derive`." -msgstr "" - -#: ../../library/exceptions.rst:1021 -msgid "" -">>> class MyGroup(ExceptionGroup):\n" -"... def derive(self, excs):\n" -"... return MyGroup(self.message, excs)\n" -"...\n" -">>> e = MyGroup(\"eg\", [ValueError(1), TypeError(2)])\n" -">>> e.add_note(\"a note\")\n" -">>> e.__context__ = Exception(\"context\")\n" -">>> e.__cause__ = Exception(\"cause\")\n" -">>> try:\n" -"... raise e\n" -"... except Exception as e:\n" -"... exc = e\n" -"...\n" -">>> match, rest = exc.split(ValueError)\n" -">>> exc, exc.__context__, exc.__cause__, exc.__notes__\n" -"(MyGroup('eg', [ValueError(1), TypeError(2)]), Exception('context'), Exception('cause'), ['a note'])\n" -">>> match, match.__context__, match.__cause__, match.__notes__\n" -"(MyGroup('eg', [ValueError(1)]), Exception('context'), Exception('cause'), ['a note'])\n" -">>> rest, rest.__context__, rest.__cause__, rest.__notes__\n" -"(MyGroup('eg', [TypeError(2)]), Exception('context'), Exception('cause'), ['a note'])\n" -">>> exc.__traceback__ is match.__traceback__ is rest.__traceback__\n" -"True" -msgstr "" - -#: ../../library/exceptions.rst:1047 -msgid "" -"Note that :exc:`BaseExceptionGroup` defines :meth:`~object.__new__`, so " -"subclasses that need a different constructor signature need to override that" -" rather than :meth:`~object.__init__`. For example, the following defines an" -" exception group subclass which accepts an exit_code and and constructs the " -"group's message from it. ::" -msgstr "" - -#: ../../library/exceptions.rst:1053 -msgid "" -"class Errors(ExceptionGroup):\n" -" def __new__(cls, errors, exit_code):\n" -" self = super().__new__(Errors, f\"exit code: {exit_code}\", errors)\n" -" self.exit_code = exit_code\n" -" return self\n" -"\n" -" def derive(self, excs):\n" -" return Errors(excs, self.exit_code)" -msgstr "" - -#: ../../library/exceptions.rst:1062 -msgid "" -"Like :exc:`ExceptionGroup`, any subclass of :exc:`BaseExceptionGroup` which " -"is also a subclass of :exc:`Exception` can only wrap instances of " -":exc:`Exception`." -msgstr "" - -#: ../../library/exceptions.rst:1070 -msgid "Exception hierarchy" -msgstr "" - -#: ../../library/exceptions.rst:1072 -msgid "The class hierarchy for built-in exceptions is:" -msgstr "" - -#: ../../library/exceptions.rst:1074 -msgid "" -"BaseException\n" -" ├── BaseExceptionGroup\n" -" ├── GeneratorExit\n" -" ├── KeyboardInterrupt\n" -" ├── SystemExit\n" -" └── Exception\n" -" ├── ArithmeticError\n" -" │ ├── FloatingPointError\n" -" │ ├── OverflowError\n" -" │ └── ZeroDivisionError\n" -" ├── AssertionError\n" -" ├── AttributeError\n" -" ├── BufferError\n" -" ├── EOFError\n" -" ├── ExceptionGroup [BaseExceptionGroup]\n" -" ├── ImportError\n" -" │ └── ModuleNotFoundError\n" -" ├── LookupError\n" -" │ ├── IndexError\n" -" │ └── KeyError\n" -" ├── MemoryError\n" -" ├── NameError\n" -" │ └── UnboundLocalError\n" -" ├── OSError\n" -" │ ├── BlockingIOError\n" -" │ ├── ChildProcessError\n" -" │ ├── ConnectionError\n" -" │ │ ├── BrokenPipeError\n" -" │ │ ├── ConnectionAbortedError\n" -" │ │ ├── ConnectionRefusedError\n" -" │ │ └── ConnectionResetError\n" -" │ ├── FileExistsError\n" -" │ ├── FileNotFoundError\n" -" │ ├── InterruptedError\n" -" │ ├── IsADirectoryError\n" -" │ ├── NotADirectoryError\n" -" │ ├── PermissionError\n" -" │ ├── ProcessLookupError\n" -" │ └── TimeoutError\n" -" ├── ReferenceError\n" -" ├── RuntimeError\n" -" │ ├── NotImplementedError\n" -" │ ├── PythonFinalizationError\n" -" │ └── RecursionError\n" -" ├── StopAsyncIteration\n" -" ├── StopIteration\n" -" ├── SyntaxError\n" -" │ └── IndentationError\n" -" │ └── TabError\n" -" ├── SystemError\n" -" ├── TypeError\n" -" ├── ValueError\n" -" │ └── UnicodeError\n" -" │ ├── UnicodeDecodeError\n" -" │ ├── UnicodeEncodeError\n" -" │ └── UnicodeTranslateError\n" -" └── Warning\n" -" ├── BytesWarning\n" -" ├── DeprecationWarning\n" -" ├── EncodingWarning\n" -" ├── FutureWarning\n" -" ├── ImportWarning\n" -" ├── PendingDeprecationWarning\n" -" ├── ResourceWarning\n" -" ├── RuntimeWarning\n" -" ├── SyntaxWarning\n" -" ├── UnicodeWarning\n" -" └── UserWarning\n" -msgstr "" - -#: ../../library/exceptions.rst:6 ../../library/exceptions.rst:17 -#: ../../library/exceptions.rst:196 -msgid "statement" -msgstr "pernyataan" - -#: ../../library/exceptions.rst:6 -msgid "try" -msgstr "" - -#: ../../library/exceptions.rst:6 -msgid "except" -msgstr "" - -#: ../../library/exceptions.rst:17 -msgid "raise" -msgstr "" - -#: ../../library/exceptions.rst:41 -msgid "exception" -msgstr "" - -#: ../../library/exceptions.rst:41 -msgid "chaining" -msgstr "" - -#: ../../library/exceptions.rst:41 -msgid "__cause__ (exception attribute)" -msgstr "" - -#: ../../library/exceptions.rst:41 -msgid "__context__ (exception attribute)" -msgstr "" - -#: ../../library/exceptions.rst:41 -msgid "__suppress_context__ (exception attribute)" -msgstr "" - -#: ../../library/exceptions.rst:196 -msgid "assert" -msgstr "" - -#: ../../library/exceptions.rst:347 -msgid "module" -msgstr "modul" - -#: ../../library/exceptions.rst:347 -msgid "errno" -msgstr "" diff --git a/python-newest.library--faulthandler/id.po b/python-newest.library--faulthandler/id.po deleted file mode 100644 index 1dc59b9..0000000 --- a/python-newest.library--faulthandler/id.po +++ /dev/null @@ -1,333 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/faulthandler.rst:2 -msgid ":mod:`!faulthandler` --- Dump the Python traceback" -msgstr "" - -#: ../../library/faulthandler.rst:11 -msgid "" -"This module contains functions to dump Python tracebacks explicitly, on a " -"fault, after a timeout, or on a user signal. Call " -":func:`faulthandler.enable` to install fault handlers for the " -":const:`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, :const:`~signal.SIGABRT`," -" :const:`~signal.SIGBUS`, and :const:`~signal.SIGILL` signals. You can also " -"enable them at startup by setting the :envvar:`PYTHONFAULTHANDLER` " -"environment variable or by using the :option:`-X` ``faulthandler`` command " -"line option." -msgstr "" - -#: ../../library/faulthandler.rst:19 -msgid "" -"The fault handler is compatible with system fault handlers like Apport or " -"the Windows fault handler. The module uses an alternative stack for signal " -"handlers if the :c:func:`!sigaltstack` function is available. This allows it" -" to dump the traceback even on a stack overflow." -msgstr "" - -#: ../../library/faulthandler.rst:24 -msgid "" -"The fault handler is called on catastrophic cases and therefore can only use" -" signal-safe functions (e.g. it cannot allocate memory on the heap). Because" -" of this limitation traceback dumping is minimal compared to normal Python " -"tracebacks:" -msgstr "" - -#: ../../library/faulthandler.rst:29 -msgid "" -"Only ASCII is supported. The ``backslashreplace`` error handler is used on " -"encoding." -msgstr "" - -#: ../../library/faulthandler.rst:31 -msgid "Each string is limited to 500 characters." -msgstr "" - -#: ../../library/faulthandler.rst:32 -msgid "" -"Only the filename, the function name and the line number are displayed. (no " -"source code)" -msgstr "" - -#: ../../library/faulthandler.rst:34 -msgid "It is limited to 100 frames and 100 threads." -msgstr "" - -#: ../../library/faulthandler.rst:35 -msgid "The order is reversed: the most recent call is shown first." -msgstr "" - -#: ../../library/faulthandler.rst:37 -msgid "" -"By default, the Python traceback is written to :data:`sys.stderr`. To see " -"tracebacks, applications must be run in the terminal. A log file can " -"alternatively be passed to :func:`faulthandler.enable`." -msgstr "" - -#: ../../library/faulthandler.rst:41 -msgid "" -"The module is implemented in C, so tracebacks can be dumped on a crash or " -"when Python is deadlocked." -msgstr "" - -#: ../../library/faulthandler.rst:44 -msgid "" -"The :ref:`Python Development Mode ` calls " -":func:`faulthandler.enable` at Python startup." -msgstr "" - -#: ../../library/faulthandler.rst:49 -msgid "Module :mod:`pdb`" -msgstr "" - -#: ../../library/faulthandler.rst:50 -msgid "Interactive source code debugger for Python programs." -msgstr "" - -#: ../../library/faulthandler.rst:52 -msgid "Module :mod:`traceback`" -msgstr "" - -#: ../../library/faulthandler.rst:53 -msgid "" -"Standard interface to extract, format and print stack traces of Python " -"programs." -msgstr "" - -#: ../../library/faulthandler.rst:56 -msgid "Dumping the traceback" -msgstr "" - -#: ../../library/faulthandler.rst:60 -msgid "" -"Dump the tracebacks of all threads into *file*. If *all_threads* is " -"``False``, dump only the current thread." -msgstr "" - -#: ../../library/faulthandler.rst:63 -msgid "" -":func:`traceback.print_tb`, which can be used to print a traceback object." -msgstr "" - -#: ../../library/faulthandler.rst:65 ../../library/faulthandler.rst:119 -#: ../../library/faulthandler.rst:165 ../../library/faulthandler.rst:190 -msgid "Added support for passing file descriptor to this function." -msgstr "" - -#: ../../library/faulthandler.rst:70 -msgid "Dumping the C stack" -msgstr "" - -#: ../../library/faulthandler.rst:76 -msgid "Dump the C stack trace of the current thread into *file*." -msgstr "" - -#: ../../library/faulthandler.rst:78 -msgid "" -"If the Python build does not support it or the operating system does not " -"provide a stack trace, then this prints an error in place of a dumped C " -"stack." -msgstr "" - -#: ../../library/faulthandler.rst:85 -msgid "C Stack Compatibility" -msgstr "" - -#: ../../library/faulthandler.rst:87 -msgid "" -"If the system does not support the C-level :manpage:`backtrace(3)` or " -":manpage:`dladdr1(3)`, then C stack dumps will not work. An error will be " -"printed instead of the stack." -msgstr "" - -#: ../../library/faulthandler.rst:91 -msgid "" -"Additionally, some compilers do not support :term:`CPython's ` " -"implementation of C stack dumps. As a result, a different error may be " -"printed instead of the stack, even if the the operating system supports " -"dumping stacks." -msgstr "" - -#: ../../library/faulthandler.rst:97 -msgid "" -"Dumping C stacks can be arbitrarily slow, depending on the DWARF level of " -"the binaries in the call stack." -msgstr "" - -#: ../../library/faulthandler.rst:101 -msgid "Fault handler state" -msgstr "" - -#: ../../library/faulthandler.rst:105 -msgid "" -"Enable the fault handler: install handlers for the :const:`~signal.SIGSEGV`," -" :const:`~signal.SIGFPE`, :const:`~signal.SIGABRT`, :const:`~signal.SIGBUS` " -"and :const:`~signal.SIGILL` signals to dump the Python traceback. If " -"*all_threads* is ``True``, produce tracebacks for every running thread. " -"Otherwise, dump only the current thread." -msgstr "" - -#: ../../library/faulthandler.rst:112 -msgid "" -"The *file* must be kept open until the fault handler is disabled: see " -":ref:`issue with file descriptors `." -msgstr "" - -#: ../../library/faulthandler.rst:115 -msgid "" -"If *c_stack* is ``True``, then the C stack trace is printed after the Python" -" traceback, unless the system does not support it. See :func:`dump_c_stack` " -"for more information on compatibility." -msgstr "" - -#: ../../library/faulthandler.rst:122 -msgid "On Windows, a handler for Windows exception is also installed." -msgstr "" - -#: ../../library/faulthandler.rst:125 -msgid "" -"The dump now mentions if a garbage collector collection is running if " -"*all_threads* is true." -msgstr "" - -#: ../../library/faulthandler.rst:129 -msgid "" -"Only the current thread is dumped if the :term:`GIL` is disabled to prevent " -"the risk of data races." -msgstr "" - -#: ../../library/faulthandler.rst:133 -msgid "The dump now displays the C stack trace if *c_stack* is true." -msgstr "" - -#: ../../library/faulthandler.rst:138 -msgid "" -"Disable the fault handler: uninstall the signal handlers installed by " -":func:`enable`." -msgstr "" - -#: ../../library/faulthandler.rst:143 -msgid "Check if the fault handler is enabled." -msgstr "" - -#: ../../library/faulthandler.rst:147 -msgid "Dumping the tracebacks after a timeout" -msgstr "" - -#: ../../library/faulthandler.rst:151 -msgid "" -"Dump the tracebacks of all threads, after a timeout of *timeout* seconds, or" -" every *timeout* seconds if *repeat* is ``True``. If *exit* is ``True``, " -"call :c:func:`!_exit` with status=1 after dumping the tracebacks. (Note " -":c:func:`!_exit` exits the process immediately, which means it doesn't do " -"any cleanup like flushing file buffers.) If the function is called twice, " -"the new call replaces previous parameters and resets the timeout. The timer " -"has a sub-second resolution." -msgstr "" - -#: ../../library/faulthandler.rst:159 -msgid "" -"The *file* must be kept open until the traceback is dumped or " -":func:`cancel_dump_traceback_later` is called: see :ref:`issue with file " -"descriptors `." -msgstr "" - -#: ../../library/faulthandler.rst:163 -msgid "This function is implemented using a watchdog thread." -msgstr "" - -#: ../../library/faulthandler.rst:168 -msgid "This function is now always available." -msgstr "" - -#: ../../library/faulthandler.rst:173 -msgid "Cancel the last call to :func:`dump_traceback_later`." -msgstr "" - -#: ../../library/faulthandler.rst:177 -msgid "Dumping the traceback on a user signal" -msgstr "" - -#: ../../library/faulthandler.rst:181 -msgid "" -"Register a user signal: install a handler for the *signum* signal to dump " -"the traceback of all threads, or of the current thread if *all_threads* is " -"``False``, into *file*. Call the previous handler if chain is ``True``." -msgstr "" - -#: ../../library/faulthandler.rst:185 -msgid "" -"The *file* must be kept open until the signal is unregistered by " -":func:`unregister`: see :ref:`issue with file descriptors `." -msgstr "" - -#: ../../library/faulthandler.rst:188 ../../library/faulthandler.rst:199 -msgid "Not available on Windows." -msgstr "" - -#: ../../library/faulthandler.rst:195 -msgid "" -"Unregister a user signal: uninstall the handler of the *signum* signal " -"installed by :func:`register`. Return ``True`` if the signal was registered," -" ``False`` otherwise." -msgstr "" - -#: ../../library/faulthandler.rst:205 -msgid "Issue with file descriptors" -msgstr "" - -#: ../../library/faulthandler.rst:207 -msgid "" -":func:`enable`, :func:`dump_traceback_later` and :func:`register` keep the " -"file descriptor of their *file* argument. If the file is closed and its file" -" descriptor is reused by a new file, or if :func:`os.dup2` is used to " -"replace the file descriptor, the traceback will be written into a different " -"file. Call these functions again each time that the file is replaced." -msgstr "" - -#: ../../library/faulthandler.rst:215 -msgid "Example" -msgstr "Contoh" - -#: ../../library/faulthandler.rst:217 -msgid "" -"Example of a segmentation fault on Linux with and without enabling the fault" -" handler:" -msgstr "" - -#: ../../library/faulthandler.rst:220 -msgid "" -"$ python -c \"import ctypes; ctypes.string_at(0)\"\n" -"Segmentation fault\n" -"\n" -"$ python -q -X faulthandler\n" -">>> import ctypes\n" -">>> ctypes.string_at(0)\n" -"Fatal Python error: Segmentation fault\n" -"\n" -"Current thread 0x00007fb899f39700 (most recent call first):\n" -" File \"/home/python/cpython/Lib/ctypes/__init__.py\", line 486 in string_at\n" -" File \"\", line 1 in \n" -"Segmentation fault" -msgstr "" diff --git a/python-newest.library--fcntl/id.po b/python-newest.library--fcntl/id.po deleted file mode 100644 index d302b10..0000000 --- a/python-newest.library--fcntl/id.po +++ /dev/null @@ -1,391 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/fcntl.rst:2 -msgid ":mod:`!fcntl` --- The ``fcntl`` and ``ioctl`` system calls" -msgstr "" - -#: ../../library/fcntl.rst:16 -msgid "" -"This module performs file and I/O control on file descriptors. It is an " -"interface to the :c:func:`fcntl` and :c:func:`ioctl` Unix routines. See the " -":manpage:`fcntl(2)` and :manpage:`ioctl(2)` Unix manual pages for full " -"details." -msgstr "" - -#: ../../library/fcntl.rst:21 -msgid "Availability" -msgstr "" - -#: ../../library/fcntl.rst:23 -msgid "" -"All functions in this module take a file descriptor *fd* as their first " -"argument. This can be an integer file descriptor, such as returned by " -"``sys.stdin.fileno()``, or an :class:`io.IOBase` object, such as " -"``sys.stdin`` itself, which provides a :meth:`~io.IOBase.fileno` that " -"returns a genuine file descriptor." -msgstr "" - -#: ../../library/fcntl.rst:29 -msgid "" -"Operations in this module used to raise an :exc:`IOError` where they now " -"raise an :exc:`OSError`." -msgstr "" - -#: ../../library/fcntl.rst:33 -msgid "" -"The :mod:`!fcntl` module now contains ``F_ADD_SEALS``, ``F_GET_SEALS``, and " -"``F_SEAL_*`` constants for sealing of :func:`os.memfd_create` file " -"descriptors." -msgstr "" - -#: ../../library/fcntl.rst:38 -msgid "" -"On macOS, the :mod:`!fcntl` module exposes the ``F_GETPATH`` constant, which" -" obtains the path of a file from a file descriptor. On Linux(>=3.15), the " -":mod:`!fcntl` module exposes the ``F_OFD_GETLK``, ``F_OFD_SETLK`` and " -"``F_OFD_SETLKW`` constants, which are used when working with open file " -"description locks." -msgstr "" - -#: ../../library/fcntl.rst:45 -msgid "" -"On Linux >= 2.6.11, the :mod:`!fcntl` module exposes the ``F_GETPIPE_SZ`` " -"and ``F_SETPIPE_SZ`` constants, which allow to check and modify a pipe's " -"size respectively." -msgstr "" - -#: ../../library/fcntl.rst:50 -msgid "" -"On FreeBSD, the :mod:`!fcntl` module exposes the ``F_DUP2FD`` and " -"``F_DUP2FD_CLOEXEC`` constants, which allow to duplicate a file descriptor, " -"the latter setting ``FD_CLOEXEC`` flag in addition." -msgstr "" - -#: ../../library/fcntl.rst:55 -msgid "" -"On Linux >= 4.5, the :mod:`fcntl` module exposes the ``FICLONE`` and " -"``FICLONERANGE`` constants, which allow to share some data of one file with " -"another file by reflinking on some filesystems (e.g., btrfs, OCFS2, and " -"XFS). This behavior is commonly referred to as \"copy-on-write\"." -msgstr "" - -#: ../../library/fcntl.rst:61 -msgid "" -"On Linux >= 2.6.32, the :mod:`!fcntl` module exposes the ``F_GETOWN_EX``, " -"``F_SETOWN_EX``, ``F_OWNER_TID``, ``F_OWNER_PID``, ``F_OWNER_PGRP`` " -"constants, which allow to direct I/O availability signals to a specific " -"thread, process, or process group. On Linux >= 4.13, the :mod:`!fcntl` " -"module exposes the ``F_GET_RW_HINT``, ``F_SET_RW_HINT``, " -"``F_GET_FILE_RW_HINT``, ``F_SET_FILE_RW_HINT``, and ``RWH_WRITE_LIFE_*`` " -"constants, which allow to inform the kernel about the relative expected " -"lifetime of writes on a given inode or via a particular open file " -"description. On Linux >= 5.1 and NetBSD, the :mod:`!fcntl` module exposes " -"the ``F_SEAL_FUTURE_WRITE`` constant for use with ``F_ADD_SEALS`` and " -"``F_GET_SEALS`` operations. On FreeBSD, the :mod:`!fcntl` module exposes the" -" ``F_READAHEAD``, ``F_ISUNIONSTACK``, and ``F_KINFO`` constants. On macOS " -"and FreeBSD, the :mod:`!fcntl` module exposes the ``F_RDAHEAD`` constant. On" -" NetBSD and AIX, the :mod:`!fcntl` module exposes the ``F_CLOSEM`` constant." -" On NetBSD, the :mod:`!fcntl` module exposes the ``F_MAXFD`` constant. On " -"macOS and NetBSD, the :mod:`!fcntl` module exposes the ``F_GETNOSIGPIPE`` " -"and ``F_SETNOSIGPIPE`` constant." -msgstr "" - -#: ../../library/fcntl.rst:82 -msgid "" -"On Linux >= 6.1, the :mod:`!fcntl` module exposes the ``F_DUPFD_QUERY`` to " -"query a file descriptor pointing to the same file." -msgstr "" - -#: ../../library/fcntl.rst:86 -msgid "The module defines the following functions:" -msgstr "" - -#: ../../library/fcntl.rst:91 -msgid "" -"Perform the operation *cmd* on file descriptor *fd* (file objects providing " -"a :meth:`~io.IOBase.fileno` method are accepted as well). The values used " -"for *cmd* are operating system dependent, and are available as constants in " -"the :mod:`fcntl` module, using the same names as used in the relevant C " -"header files. The argument *arg* can either be an integer value, a " -":term:`bytes-like object`, or a string. The type and size of *arg* must " -"match the type and size of the argument of the operation as specified in the" -" relevant C documentation." -msgstr "" - -#: ../../library/fcntl.rst:100 -msgid "" -"When *arg* is an integer, the function returns the integer return value of " -"the C :c:func:`fcntl` call." -msgstr "" - -#: ../../library/fcntl.rst:103 -msgid "" -"When the argument is bytes-like object, it represents a binary structure, " -"for example, created by :func:`struct.pack`. A string value is encoded to " -"binary using the UTF-8 encoding. The binary data is copied to a buffer whose" -" address is passed to the C :c:func:`fcntl` call. The return value after a " -"successful call is the contents of the buffer, converted to a :class:`bytes`" -" object. The length of the returned object will be the same as the length of" -" the *arg* argument. This is limited to 1024 bytes." -msgstr "" - -#: ../../library/fcntl.rst:112 -msgid "If the :c:func:`fcntl` call fails, an :exc:`OSError` is raised." -msgstr "" - -#: ../../library/fcntl.rst:115 -msgid "" -"If the type or the size of *arg* does not match the type or size of the " -"argument of the operation (for example, if an integer is passed when a " -"pointer is expected, or the information returned in the buffer by the " -"operating system is larger than 1024 bytes), this is most likely to result " -"in a segmentation violation or a more subtle data corruption." -msgstr "" - -#: ../../library/fcntl.rst:122 -msgid "" -"Raises an :ref:`auditing event ` ``fcntl.fcntl`` with arguments " -"``fd``, ``cmd``, ``arg``." -msgstr "" - -#: ../../library/fcntl.rst:124 -msgid "" -"Add support of arbitrary :term:`bytes-like objects `, not" -" only :class:`bytes`." -msgstr "" - -#: ../../library/fcntl.rst:131 -msgid "" -"This function is identical to the :func:`~fcntl.fcntl` function, except that" -" the argument handling is even more complicated." -msgstr "" - -#: ../../library/fcntl.rst:134 -msgid "" -"The *request* parameter is limited to values that can fit in 32-bits or " -"64-bits, depending on the platform. Additional constants of interest for use" -" as the *request* argument can be found in the :mod:`termios` module, under " -"the same names as used in the relevant C header files." -msgstr "" - -#: ../../library/fcntl.rst:140 -msgid "" -"The parameter *arg* can be an integer, a :term:`bytes-like object`, or a " -"string. The type and size of *arg* must match the type and size of the " -"argument of the operation as specified in the relevant C documentation." -msgstr "" - -#: ../../library/fcntl.rst:145 -msgid "" -"If *arg* does not support the read-write buffer interface or the " -"*mutate_flag* is false, behavior is as for the :func:`~fcntl.fcntl` " -"function." -msgstr "" - -#: ../../library/fcntl.rst:149 -msgid "" -"If *arg* supports the read-write buffer interface (like :class:`bytearray`) " -"and *mutate_flag* is true (the default), then the buffer is (in effect) " -"passed to the underlying :c:func:`!ioctl` system call, the latter's return " -"code is passed back to the calling Python, and the buffer's new contents " -"reflect the action of the :c:func:`ioctl`. This is a slight simplification," -" because if the supplied buffer is less than 1024 bytes long it is first " -"copied into a static buffer 1024 bytes long which is then passed to " -":func:`ioctl` and copied back into the supplied buffer." -msgstr "" - -#: ../../library/fcntl.rst:158 -msgid "" -"If the :c:func:`ioctl` call fails, an :exc:`OSError` exception is raised." -msgstr "" - -#: ../../library/fcntl.rst:161 -msgid "" -"If the type or size of *arg* does not match the type or size of the " -"operation's argument (for example, if an integer is passed when a pointer is" -" expected, or the information returned in the buffer by the operating system" -" is larger than 1024 bytes, or the size of the mutable bytes-like object is " -"too small), this is most likely to result in a segmentation violation or a " -"more subtle data corruption." -msgstr "" - -#: ../../library/fcntl.rst:169 -msgid "An example::" -msgstr "" - -#: ../../library/fcntl.rst:171 -msgid "" -">>> import array, fcntl, struct, termios, os\n" -">>> os.getpgrp()\n" -"13341\n" -">>> struct.unpack('h', fcntl.ioctl(0, termios.TIOCGPGRP, \" \"))[0]\n" -"13341\n" -">>> buf = array.array('h', [0])\n" -">>> fcntl.ioctl(0, termios.TIOCGPGRP, buf, 1)\n" -"0\n" -">>> buf\n" -"array('h', [13341])" -msgstr "" - -#: ../../library/fcntl.rst:182 -msgid "" -"Raises an :ref:`auditing event ` ``fcntl.ioctl`` with arguments " -"``fd``, ``request``, ``arg``." -msgstr "" - -#: ../../library/fcntl.rst:184 -msgid "" -"The GIL is always released during a system call. System calls failing with " -"EINTR are automatically retried." -msgstr "" - -#: ../../library/fcntl.rst:190 -msgid "" -"Perform the lock operation *operation* on file descriptor *fd* (file objects" -" providing a :meth:`~io.IOBase.fileno` method are accepted as well). See the" -" Unix manual :manpage:`flock(2)` for details. (On some systems, this " -"function is emulated using :c:func:`fcntl`.)" -msgstr "" - -#: ../../library/fcntl.rst:195 -msgid "" -"If the :c:func:`flock` call fails, an :exc:`OSError` exception is raised." -msgstr "" - -#: ../../library/fcntl.rst:197 -msgid "" -"Raises an :ref:`auditing event ` ``fcntl.flock`` with arguments " -"``fd``, ``operation``." -msgstr "" - -#: ../../library/fcntl.rst:202 -msgid "" -"This is essentially a wrapper around the :func:`~fcntl.fcntl` locking calls." -" *fd* is the file descriptor (file objects providing a " -":meth:`~io.IOBase.fileno` method are accepted as well) of the file to lock " -"or unlock, and *cmd* is one of the following values:" -msgstr "" - -#: ../../library/fcntl.rst:209 -msgid "Release an existing lock." -msgstr "" - -#: ../../library/fcntl.rst:213 -msgid "Acquire a shared lock." -msgstr "" - -#: ../../library/fcntl.rst:217 -msgid "Acquire an exclusive lock." -msgstr "" - -#: ../../library/fcntl.rst:221 -msgid "" -"Bitwise OR with any of the other three ``LOCK_*`` constants to make the " -"request non-blocking." -msgstr "" - -#: ../../library/fcntl.rst:224 -msgid "" -"If :const:`!LOCK_NB` is used and the lock cannot be acquired, an " -":exc:`OSError` will be raised and the exception will have an *errno* " -"attribute set to :const:`~errno.EACCES` or :const:`~errno.EAGAIN` (depending" -" on the operating system; for portability, check for both values). On at " -"least some systems, :const:`!LOCK_EX` can only be used if the file " -"descriptor refers to a file opened for writing." -msgstr "" - -#: ../../library/fcntl.rst:231 -msgid "" -"*len* is the number of bytes to lock, *start* is the byte offset at which " -"the lock starts, relative to *whence*, and *whence* is as with " -":func:`io.IOBase.seek`, specifically:" -msgstr "" - -#: ../../library/fcntl.rst:235 -msgid "``0`` -- relative to the start of the file (:const:`os.SEEK_SET`)" -msgstr "" - -#: ../../library/fcntl.rst:236 -msgid "" -"``1`` -- relative to the current buffer position (:const:`os.SEEK_CUR`)" -msgstr "" - -#: ../../library/fcntl.rst:237 -msgid "``2`` -- relative to the end of the file (:const:`os.SEEK_END`)" -msgstr "" - -#: ../../library/fcntl.rst:239 -msgid "" -"The default for *start* is 0, which means to start at the beginning of the " -"file. The default for *len* is 0 which means to lock to the end of the file." -" The default for *whence* is also 0." -msgstr "" - -#: ../../library/fcntl.rst:243 -msgid "" -"Raises an :ref:`auditing event ` ``fcntl.lockf`` with arguments " -"``fd``, ``cmd``, ``len``, ``start``, ``whence``." -msgstr "" - -#: ../../library/fcntl.rst:245 -msgid "Examples (all on a SVR4 compliant system)::" -msgstr "" - -#: ../../library/fcntl.rst:247 -msgid "" -"import struct, fcntl, os\n" -"\n" -"f = open(...)\n" -"rv = fcntl.fcntl(f, fcntl.F_SETFL, os.O_NDELAY)\n" -"\n" -"lockdata = struct.pack('hhllhh', fcntl.F_WRLCK, 0, 0, 0, 0, 0)\n" -"rv = fcntl.fcntl(f, fcntl.F_SETLKW, lockdata)" -msgstr "" - -#: ../../library/fcntl.rst:255 -msgid "" -"Note that in the first example the return value variable *rv* will hold an " -"integer value; in the second example it will hold a :class:`bytes` object. " -"The structure lay-out for the *lockdata* variable is system dependent --- " -"therefore using the :func:`flock` call may be better." -msgstr "" - -#: ../../library/fcntl.rst:263 -msgid "Module :mod:`os`" -msgstr "" - -#: ../../library/fcntl.rst:264 -msgid "" -"If the locking flags :const:`~os.O_SHLOCK` and :const:`~os.O_EXLOCK` are " -"present in the :mod:`os` module (on BSD only), the :func:`os.open` function " -"provides an alternative to the :func:`lockf` and :func:`flock` functions." -msgstr "" - -#: ../../library/fcntl.rst:10 -msgid "UNIX" -msgstr "" - -#: ../../library/fcntl.rst:10 -msgid "file control" -msgstr "" - -#: ../../library/fcntl.rst:10 -msgid "I/O control" -msgstr "" diff --git a/python-newest.library--filecmp/id.po b/python-newest.library--filecmp/id.po deleted file mode 100644 index 6cda58f..0000000 --- a/python-newest.library--filecmp/id.po +++ /dev/null @@ -1,255 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/filecmp.rst:2 -msgid ":mod:`!filecmp` --- File and Directory Comparisons" -msgstr "" - -#: ../../library/filecmp.rst:9 -msgid "**Source code:** :source:`Lib/filecmp.py`" -msgstr "" - -#: ../../library/filecmp.rst:13 -msgid "" -"The :mod:`filecmp` module defines functions to compare files and " -"directories, with various optional time/correctness trade-offs. For " -"comparing files, see also the :mod:`difflib` module." -msgstr "" - -#: ../../library/filecmp.rst:17 -msgid "The :mod:`filecmp` module defines the following functions:" -msgstr "" - -#: ../../library/filecmp.rst:22 -msgid "" -"Compare the files named *f1* and *f2*, returning ``True`` if they seem " -"equal, ``False`` otherwise." -msgstr "" - -#: ../../library/filecmp.rst:25 -msgid "" -"If *shallow* is true and the :func:`os.stat` signatures (file type, size, " -"and modification time) of both files are identical, the files are taken to " -"be equal." -msgstr "" - -#: ../../library/filecmp.rst:29 -msgid "" -"Otherwise, the files are treated as different if their sizes or contents " -"differ." -msgstr "" - -#: ../../library/filecmp.rst:31 -msgid "" -"Note that no external programs are called from this function, giving it " -"portability and efficiency." -msgstr "" - -#: ../../library/filecmp.rst:34 -msgid "" -"This function uses a cache for past comparisons and the results, with cache " -"entries invalidated if the :func:`os.stat` information for the file changes." -" The entire cache may be cleared using :func:`clear_cache`." -msgstr "" - -#: ../../library/filecmp.rst:41 -msgid "" -"Compare the files in the two directories *dir1* and *dir2* whose names are " -"given by *common*." -msgstr "" - -#: ../../library/filecmp.rst:44 -msgid "" -"Returns three lists of file names: *match*, *mismatch*, *errors*. *match* " -"contains the list of files that match, *mismatch* contains the names of " -"those that don't, and *errors* lists the names of files which could not be " -"compared. Files are listed in *errors* if they don't exist in one of the " -"directories, the user lacks permission to read them or if the comparison " -"could not be done for some other reason." -msgstr "" - -#: ../../library/filecmp.rst:51 -msgid "" -"The *shallow* parameter has the same meaning and default value as for " -":func:`filecmp.cmp`." -msgstr "" - -#: ../../library/filecmp.rst:54 -msgid "" -"For example, ``cmpfiles('a', 'b', ['c', 'd/e'])`` will compare ``a/c`` with " -"``b/c`` and ``a/d/e`` with ``b/d/e``. ``'c'`` and ``'d/e'`` will each be in" -" one of the three returned lists." -msgstr "" - -#: ../../library/filecmp.rst:61 -msgid "" -"Clear the filecmp cache. This may be useful if a file is compared so quickly" -" after it is modified that it is within the mtime resolution of the " -"underlying filesystem." -msgstr "" - -#: ../../library/filecmp.rst:71 -msgid "The :class:`dircmp` class" -msgstr "" - -#: ../../library/filecmp.rst:75 -msgid "" -"Construct a new directory comparison object, to compare the directories *a* " -"and *b*. *ignore* is a list of names to ignore, and defaults to " -":const:`filecmp.DEFAULT_IGNORES`. *hide* is a list of names to hide, and " -"defaults to ``[os.curdir, os.pardir]``." -msgstr "" - -#: ../../library/filecmp.rst:80 -msgid "" -"The :class:`dircmp` class compares files by doing *shallow* comparisons as " -"described for :func:`filecmp.cmp` by default using the *shallow* parameter." -msgstr "" - -#: ../../library/filecmp.rst:86 -msgid "Added the *shallow* parameter." -msgstr "" - -#: ../../library/filecmp.rst:88 -msgid "The :class:`dircmp` class provides the following methods:" -msgstr "" - -#: ../../library/filecmp.rst:92 -msgid "Print (to :data:`sys.stdout`) a comparison between *a* and *b*." -msgstr "" - -#: ../../library/filecmp.rst:96 -msgid "" -"Print a comparison between *a* and *b* and common immediate subdirectories." -msgstr "" - -#: ../../library/filecmp.rst:101 -msgid "" -"Print a comparison between *a* and *b* and common subdirectories " -"(recursively)." -msgstr "" - -#: ../../library/filecmp.rst:104 -msgid "" -"The :class:`dircmp` class offers a number of interesting attributes that may" -" be used to get various bits of information about the directory trees being " -"compared." -msgstr "" - -#: ../../library/filecmp.rst:108 -msgid "" -"Note that via :meth:`~object.__getattr__` hooks, all attributes are computed" -" lazily, so there is no speed penalty if only those attributes which are " -"lightweight to compute are used." -msgstr "" - -#: ../../library/filecmp.rst:115 -msgid "The directory *a*." -msgstr "" - -#: ../../library/filecmp.rst:120 -msgid "The directory *b*." -msgstr "" - -#: ../../library/filecmp.rst:125 -msgid "Files and subdirectories in *a*, filtered by *hide* and *ignore*." -msgstr "" - -#: ../../library/filecmp.rst:130 -msgid "Files and subdirectories in *b*, filtered by *hide* and *ignore*." -msgstr "" - -#: ../../library/filecmp.rst:135 -msgid "Files and subdirectories in both *a* and *b*." -msgstr "" - -#: ../../library/filecmp.rst:140 -msgid "Files and subdirectories only in *a*." -msgstr "" - -#: ../../library/filecmp.rst:145 -msgid "Files and subdirectories only in *b*." -msgstr "" - -#: ../../library/filecmp.rst:150 -msgid "Subdirectories in both *a* and *b*." -msgstr "" - -#: ../../library/filecmp.rst:155 -msgid "Files in both *a* and *b*." -msgstr "" - -#: ../../library/filecmp.rst:160 -msgid "" -"Names in both *a* and *b*, such that the type differs between the " -"directories, or names for which :func:`os.stat` reports an error." -msgstr "" - -#: ../../library/filecmp.rst:166 -msgid "" -"Files which are identical in both *a* and *b*, using the class's file " -"comparison operator." -msgstr "" - -#: ../../library/filecmp.rst:172 -msgid "" -"Files which are in both *a* and *b*, whose contents differ according to the " -"class's file comparison operator." -msgstr "" - -#: ../../library/filecmp.rst:178 -msgid "Files which are in both *a* and *b*, but could not be compared." -msgstr "" - -#: ../../library/filecmp.rst:183 -msgid "" -"A dictionary mapping names in :attr:`common_dirs` to :class:`dircmp` " -"instances (or MyDirCmp instances if this instance is of type MyDirCmp, a " -"subclass of :class:`dircmp`)." -msgstr "" - -#: ../../library/filecmp.rst:187 -msgid "" -"Previously entries were always :class:`dircmp` instances. Now entries are " -"the same type as *self*, if *self* is a subclass of :class:`dircmp`." -msgstr "" - -#: ../../library/filecmp.rst:196 -msgid "List of directories ignored by :class:`dircmp` by default." -msgstr "" - -#: ../../library/filecmp.rst:199 -msgid "" -"Here is a simplified example of using the ``subdirs`` attribute to search " -"recursively through two directories to show common different files::" -msgstr "" - -#: ../../library/filecmp.rst:202 -msgid "" -">>> from filecmp import dircmp\n" -">>> def print_diff_files(dcmp):\n" -"... for name in dcmp.diff_files:\n" -"... print(\"diff_file %s found in %s and %s\" % (name, dcmp.left,\n" -"... dcmp.right))\n" -"... for sub_dcmp in dcmp.subdirs.values():\n" -"... print_diff_files(sub_dcmp)\n" -"...\n" -">>> dcmp = dircmp('dir1', 'dir2')\n" -">>> print_diff_files(dcmp)" -msgstr "" diff --git a/python-newest.library--fileformats/id.po b/python-newest.library--fileformats/id.po deleted file mode 100644 index b3e6f55..0000000 --- a/python-newest.library--fileformats/id.po +++ /dev/null @@ -1,34 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Imaduddin A Majid , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/fileformats.rst:5 -msgid "File Formats" -msgstr "File Formats" - -#: ../../library/fileformats.rst:7 -msgid "" -"The modules described in this chapter parse various miscellaneous file " -"formats that aren't markup languages and are not related to e-mail." -msgstr "" -"Modul yang dijelaskan dalam bab ini mengurai berbagai macam format file yang" -" bukan bahasa markup dan tidak terkait dengan *email*." diff --git a/python-newest.library--fileinput/id.po b/python-newest.library--fileinput/id.po deleted file mode 100644 index 2a2355e..0000000 --- a/python-newest.library--fileinput/id.po +++ /dev/null @@ -1,319 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/fileinput.rst:2 -msgid ":mod:`!fileinput` --- Iterate over lines from multiple input streams" -msgstr "" - -#: ../../library/fileinput.rst:10 -msgid "**Source code:** :source:`Lib/fileinput.py`" -msgstr "" - -#: ../../library/fileinput.rst:14 -msgid "" -"This module implements a helper class and functions to quickly write a loop " -"over standard input or a list of files. If you just want to read or write " -"one file see :func:`open`." -msgstr "" - -#: ../../library/fileinput.rst:18 -msgid "The typical use is::" -msgstr "" - -#: ../../library/fileinput.rst:20 -msgid "" -"import fileinput\n" -"for line in fileinput.input(encoding=\"utf-8\"):\n" -" process(line)" -msgstr "" - -#: ../../library/fileinput.rst:24 -msgid "" -"This iterates over the lines of all files listed in ``sys.argv[1:]``, " -"defaulting to ``sys.stdin`` if the list is empty. If a filename is ``'-'``," -" it is also replaced by ``sys.stdin`` and the optional arguments *mode* and " -"*openhook* are ignored. To specify an alternative list of filenames, pass " -"it as the first argument to :func:`.input`. A single file name is also " -"allowed." -msgstr "" - -#: ../../library/fileinput.rst:30 -msgid "" -"All files are opened in text mode by default, but you can override this by " -"specifying the *mode* parameter in the call to :func:`.input` or " -":class:`FileInput`. If an I/O error occurs during opening or reading a " -"file, :exc:`OSError` is raised." -msgstr "" - -#: ../../library/fileinput.rst:35 -msgid "" -":exc:`IOError` used to be raised; it is now an alias of :exc:`OSError`." -msgstr "" - -#: ../../library/fileinput.rst:38 -msgid "" -"If ``sys.stdin`` is used more than once, the second and further use will " -"return no lines, except perhaps for interactive use, or if it has been " -"explicitly reset (e.g. using ``sys.stdin.seek(0)``)." -msgstr "" - -#: ../../library/fileinput.rst:42 -msgid "" -"Empty files are opened and immediately closed; the only time their presence " -"in the list of filenames is noticeable at all is when the last file opened " -"is empty." -msgstr "" - -#: ../../library/fileinput.rst:46 -msgid "" -"Lines are returned with any newlines intact, which means that the last line " -"in a file may not have one." -msgstr "" - -#: ../../library/fileinput.rst:49 -msgid "" -"You can control how files are opened by providing an opening hook via the " -"*openhook* parameter to :func:`fileinput.input` or :func:`FileInput`. The " -"hook must be a function that takes two arguments, *filename* and *mode*, and" -" returns an accordingly opened file-like object. If *encoding* and/or " -"*errors* are specified, they will be passed to the hook as additional " -"keyword arguments. This module provides a :func:`hook_compressed` to support" -" compressed files." -msgstr "" - -#: ../../library/fileinput.rst:56 -msgid "The following function is the primary interface of this module:" -msgstr "" - -#: ../../library/fileinput.rst:61 -msgid "" -"Create an instance of the :class:`FileInput` class. The instance will be " -"used as global state for the functions of this module, and is also returned " -"to use during iteration. The parameters to this function will be passed " -"along to the constructor of the :class:`FileInput` class." -msgstr "" - -#: ../../library/fileinput.rst:66 -msgid "" -"The :class:`FileInput` instance can be used as a context manager in the " -":keyword:`with` statement. In this example, *input* is closed after the " -":keyword:`!with` statement is exited, even if an exception occurs::" -msgstr "" - -#: ../../library/fileinput.rst:70 -msgid "" -"with fileinput.input(files=('spam.txt', 'eggs.txt'), encoding=\"utf-8\") as f:\n" -" for line in f:\n" -" process(line)" -msgstr "" - -#: ../../library/fileinput.rst:74 ../../library/fileinput.rst:170 -msgid "Can be used as a context manager." -msgstr "" - -#: ../../library/fileinput.rst:77 -msgid "The keyword parameters *mode* and *openhook* are now keyword-only." -msgstr "" - -#: ../../library/fileinput.rst:80 ../../library/fileinput.rst:176 -#: ../../library/fileinput.rst:210 -msgid "The keyword-only parameter *encoding* and *errors* are added." -msgstr "" - -#: ../../library/fileinput.rst:84 -msgid "" -"The following functions use the global state created by " -":func:`fileinput.input`; if there is no active state, :exc:`RuntimeError` is" -" raised." -msgstr "" - -#: ../../library/fileinput.rst:90 -msgid "" -"Return the name of the file currently being read. Before the first line has" -" been read, returns ``None``." -msgstr "" - -#: ../../library/fileinput.rst:96 -msgid "" -"Return the integer \"file descriptor\" for the current file. When no file is" -" opened (before the first line and between files), returns ``-1``." -msgstr "" - -#: ../../library/fileinput.rst:102 -msgid "" -"Return the cumulative line number of the line that has just been read. " -"Before the first line has been read, returns ``0``. After the last line of " -"the last file has been read, returns the line number of that line." -msgstr "" - -#: ../../library/fileinput.rst:109 -msgid "" -"Return the line number in the current file. Before the first line has been " -"read, returns ``0``. After the last line of the last file has been read, " -"returns the line number of that line within the file." -msgstr "" - -#: ../../library/fileinput.rst:116 -msgid "" -"Return ``True`` if the line just read is the first line of its file, " -"otherwise return ``False``." -msgstr "" - -#: ../../library/fileinput.rst:122 -msgid "" -"Return ``True`` if the last line was read from ``sys.stdin``, otherwise " -"return ``False``." -msgstr "" - -#: ../../library/fileinput.rst:128 -msgid "" -"Close the current file so that the next iteration will read the first line " -"from the next file (if any); lines not read from the file will not count " -"towards the cumulative line count. The filename is not changed until after " -"the first line of the next file has been read. Before the first line has " -"been read, this function has no effect; it cannot be used to skip the first " -"file. After the last line of the last file has been read, this function has" -" no effect." -msgstr "" - -#: ../../library/fileinput.rst:138 -msgid "Close the sequence." -msgstr "" - -#: ../../library/fileinput.rst:140 -msgid "" -"The class which implements the sequence behavior provided by the module is " -"available for subclassing as well:" -msgstr "" - -#: ../../library/fileinput.rst:146 -msgid "" -"Class :class:`FileInput` is the implementation; its methods " -":meth:`filename`, :meth:`fileno`, :meth:`lineno`, :meth:`filelineno`, " -":meth:`isfirstline`, :meth:`isstdin`, :meth:`nextfile` and :meth:`close` " -"correspond to the functions of the same name in the module. In addition it " -"is :term:`iterable` and has a :meth:`~io.TextIOBase.readline` method which " -"returns the next input line. The sequence must be accessed in strictly " -"sequential order; random access and :meth:`~io.TextIOBase.readline` cannot " -"be mixed." -msgstr "" - -#: ../../library/fileinput.rst:154 -msgid "" -"With *mode* you can specify which file mode will be passed to :func:`open`. " -"It must be one of ``'r'`` and ``'rb'``." -msgstr "" - -#: ../../library/fileinput.rst:157 -msgid "" -"The *openhook*, when given, must be a function that takes two arguments, " -"*filename* and *mode*, and returns an accordingly opened file-like object. " -"You cannot use *inplace* and *openhook* together." -msgstr "" - -#: ../../library/fileinput.rst:161 -msgid "" -"You can specify *encoding* and *errors* that is passed to :func:`open` or " -"*openhook*." -msgstr "" - -#: ../../library/fileinput.rst:163 -msgid "" -"A :class:`FileInput` instance can be used as a context manager in the " -":keyword:`with` statement. In this example, *input* is closed after the " -":keyword:`!with` statement is exited, even if an exception occurs::" -msgstr "" - -#: ../../library/fileinput.rst:167 -msgid "" -"with FileInput(files=('spam.txt', 'eggs.txt')) as input:\n" -" process(input)" -msgstr "" - -#: ../../library/fileinput.rst:173 -msgid "The keyword parameter *mode* and *openhook* are now keyword-only." -msgstr "" - -#: ../../library/fileinput.rst:179 -msgid "" -"The ``'rU'`` and ``'U'`` modes and the :meth:`!__getitem__` method have been" -" removed." -msgstr "" - -#: ../../library/fileinput.rst:184 -msgid "" -"**Optional in-place filtering:** if the keyword argument ``inplace=True`` is" -" passed to :func:`fileinput.input` or to the :class:`FileInput` constructor," -" the file is moved to a backup file and standard output is directed to the " -"input file (if a file of the same name as the backup file already exists, it" -" will be replaced silently). This makes it possible to write a filter that " -"rewrites its input file in place. If the *backup* parameter is given " -"(typically as ``backup='.'``), it specifies the extension " -"for the backup file, and the backup file remains around; by default, the " -"extension is ``'.bak'`` and it is deleted when the output file is closed. " -"In-place filtering is disabled when standard input is read." -msgstr "" - -#: ../../library/fileinput.rst:196 -msgid "The two following opening hooks are provided by this module:" -msgstr "" - -#: ../../library/fileinput.rst:200 -msgid "" -"Transparently opens files compressed with gzip and bzip2 (recognized by the " -"extensions ``'.gz'`` and ``'.bz2'``) using the :mod:`gzip` and :mod:`bz2` " -"modules. If the filename extension is not ``'.gz'`` or ``'.bz2'``, the file" -" is opened normally (ie, using :func:`open` without any decompression)." -msgstr "" - -#: ../../library/fileinput.rst:205 -msgid "" -"The *encoding* and *errors* values are passed to :class:`io.TextIOWrapper` " -"for compressed files and open for normal files." -msgstr "" - -#: ../../library/fileinput.rst:208 -msgid "" -"Usage example: ``fi = " -"fileinput.FileInput(openhook=fileinput.hook_compressed, " -"encoding=\"utf-8\")``" -msgstr "" - -#: ../../library/fileinput.rst:216 -msgid "" -"Returns a hook which opens each file with :func:`open`, using the given " -"*encoding* and *errors* to read the file." -msgstr "" - -#: ../../library/fileinput.rst:219 -msgid "" -"Usage example: ``fi = " -"fileinput.FileInput(openhook=fileinput.hook_encoded(\"utf-8\", " -"\"surrogateescape\"))``" -msgstr "" - -#: ../../library/fileinput.rst:223 -msgid "Added the optional *errors* parameter." -msgstr "" - -#: ../../library/fileinput.rst:226 -msgid "" -"This function is deprecated since :func:`fileinput.input` and " -":class:`FileInput` now have *encoding* and *errors* parameters." -msgstr "" diff --git a/python-newest.library--filesys/id.po b/python-newest.library--filesys/id.po deleted file mode 100644 index 4479140..0000000 --- a/python-newest.library--filesys/id.po +++ /dev/null @@ -1,58 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/filesys.rst:5 -msgid "File and Directory Access" -msgstr "" - -#: ../../library/filesys.rst:7 -msgid "" -"The modules described in this chapter deal with disk files and directories." -" For example, there are modules for reading the properties of files, " -"manipulating paths in a portable way, and creating temporary files. The " -"full list of modules in this chapter is:" -msgstr "" - -#: ../../library/filesys.rst:28 -msgid "Module :mod:`os`" -msgstr "" - -#: ../../library/filesys.rst:29 -msgid "" -"Operating system interfaces, including functions to work with files at a " -"lower level than Python :term:`file objects `." -msgstr "" - -#: ../../library/filesys.rst:32 -msgid "Module :mod:`io`" -msgstr "" - -#: ../../library/filesys.rst:33 -msgid "" -"Python's built-in I/O library, including both abstract classes and some " -"concrete classes such as file I/O." -msgstr "" - -#: ../../library/filesys.rst:36 -msgid "Built-in function :func:`open`" -msgstr "" - -#: ../../library/filesys.rst:37 -msgid "The standard way to open files for reading and writing with Python." -msgstr "" diff --git a/python-newest.library--fnmatch/id.po b/python-newest.library--fnmatch/id.po deleted file mode 100644 index f668b51..0000000 --- a/python-newest.library--fnmatch/id.po +++ /dev/null @@ -1,219 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/fnmatch.rst:2 -msgid ":mod:`!fnmatch` --- Unix filename pattern matching" -msgstr "" - -#: ../../library/fnmatch.rst:7 -msgid "**Source code:** :source:`Lib/fnmatch.py`" -msgstr "" - -#: ../../library/fnmatch.rst:15 -msgid "" -"This module provides support for Unix shell-style wildcards, which are *not*" -" the same as regular expressions (which are documented in the :mod:`re` " -"module). The special characters used in shell-style wildcards are:" -msgstr "" - -#: ../../library/fnmatch.rst:27 -msgid "Pattern" -msgstr "" - -#: ../../library/fnmatch.rst:27 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/fnmatch.rst:29 -msgid "``*``" -msgstr "``*``" - -#: ../../library/fnmatch.rst:29 -msgid "matches everything" -msgstr "" - -#: ../../library/fnmatch.rst:31 -msgid "``?``" -msgstr "``?``" - -#: ../../library/fnmatch.rst:31 -msgid "matches any single character" -msgstr "" - -#: ../../library/fnmatch.rst:33 -msgid "``[seq]``" -msgstr "" - -#: ../../library/fnmatch.rst:33 -msgid "matches any character in *seq*" -msgstr "" - -#: ../../library/fnmatch.rst:35 -msgid "``[!seq]``" -msgstr "" - -#: ../../library/fnmatch.rst:35 -msgid "matches any character not in *seq*" -msgstr "" - -#: ../../library/fnmatch.rst:38 -msgid "" -"For a literal match, wrap the meta-characters in brackets. For example, " -"``'[?]'`` matches the character ``'?'``." -msgstr "" -"Untuk mencocokan literal, bungkus karakter meta dalam tanda kurung. " -"Misalnya, ``'[?]'`` cocok dengan karakter ``'?'``." - -#: ../../library/fnmatch.rst:43 -msgid "" -"Note that the filename separator (``'/'`` on Unix) is *not* special to this " -"module. See module :mod:`glob` for pathname expansion (:mod:`glob` uses " -":func:`.filter` to match pathname segments). Similarly, filenames starting " -"with a period are not special for this module, and are matched by the ``*`` " -"and ``?`` patterns." -msgstr "" - -#: ../../library/fnmatch.rst:49 -msgid "" -"Unless stated otherwise, \"filename string\" and \"pattern string\" either " -"refer to :class:`str` or ``ISO-8859-1`` encoded :class:`bytes` objects. Note" -" that the functions documented below do not allow to mix a :class:`!bytes` " -"pattern with a :class:`!str` filename, and vice-versa." -msgstr "" - -#: ../../library/fnmatch.rst:54 -msgid "" -"Finally, note that :func:`functools.lru_cache` with a *maxsize* of 32768 is " -"used to cache the (typed) compiled regex patterns in the following " -"functions: :func:`fnmatch`, :func:`fnmatchcase`, :func:`.filter`." -msgstr "" - -#: ../../library/fnmatch.rst:61 -msgid "" -"Test whether the filename string *name* matches the pattern string *pat*, " -"returning ``True`` or ``False``. Both parameters are case-normalized using " -":func:`os.path.normcase`. :func:`fnmatchcase` can be used to perform a case-" -"sensitive comparison, regardless of whether that's standard for the " -"operating system." -msgstr "" - -#: ../../library/fnmatch.rst:67 -msgid "" -"This example will print all file names in the current directory with the " -"extension ``.txt``::" -msgstr "" - -#: ../../library/fnmatch.rst:70 -msgid "" -"import fnmatch\n" -"import os\n" -"\n" -"for file in os.listdir('.'):\n" -" if fnmatch.fnmatch(file, '*.txt'):\n" -" print(file)" -msgstr "" - -#: ../../library/fnmatch.rst:80 -msgid "" -"Test whether the filename string *name* matches the pattern string *pat*, " -"returning ``True`` or ``False``; the comparison is case-sensitive and does " -"not apply :func:`os.path.normcase`." -msgstr "" - -#: ../../library/fnmatch.rst:87 -msgid "" -"Construct a list from those elements of the :term:`iterable` of filename " -"strings *names* that match the pattern string *pat*. It is the same as ``[n " -"for n in names if fnmatch(n, pat)]``, but implemented more efficiently." -msgstr "" - -#: ../../library/fnmatch.rst:95 -msgid "" -"Construct a list from those elements of the :term:`iterable` of filename " -"strings *names* that do not match the pattern string *pat*. It is the same " -"as ``[n for n in names if not fnmatch(n, pat)]``, but implemented more " -"efficiently." -msgstr "" - -#: ../../library/fnmatch.rst:105 -msgid "" -"Return the shell-style pattern *pat* converted to a regular expression for " -"using with :func:`re.match`. The pattern is expected to be a :class:`str`." -msgstr "" - -#: ../../library/fnmatch.rst:108 -msgid "Example:" -msgstr "Contoh:" - -#: ../../library/fnmatch.rst:122 -msgid "Module :mod:`glob`" -msgstr "" - -#: ../../library/fnmatch.rst:123 -msgid "Unix shell-style path expansion." -msgstr "" - -#: ../../library/fnmatch.rst:9 -msgid "filenames" -msgstr "" - -#: ../../library/fnmatch.rst:9 -msgid "wildcard expansion" -msgstr "" - -#: ../../library/fnmatch.rst:11 ../../library/fnmatch.rst:41 -msgid "module" -msgstr "modul" - -#: ../../library/fnmatch.rst:11 -msgid "re" -msgstr "re" - -#: ../../library/fnmatch.rst:19 -msgid "* (asterisk)" -msgstr "" - -#: ../../library/fnmatch.rst:19 -msgid "in glob-style wildcards" -msgstr "" - -#: ../../library/fnmatch.rst:19 -msgid "? (question mark)" -msgstr "" - -#: ../../library/fnmatch.rst:19 -msgid "[] (square brackets)" -msgstr "" - -#: ../../library/fnmatch.rst:19 -msgid "! (exclamation)" -msgstr "" - -#: ../../library/fnmatch.rst:19 -msgid "- (minus)" -msgstr "" - -#: ../../library/fnmatch.rst:41 -msgid "glob" -msgstr "glob" diff --git a/python-newest.library--fractions/id.po b/python-newest.library--fractions/id.po deleted file mode 100644 index 365b0e1..0000000 --- a/python-newest.library--fractions/id.po +++ /dev/null @@ -1,318 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/fractions.rst:2 -msgid ":mod:`!fractions` --- Rational numbers" -msgstr "" - -#: ../../library/fractions.rst:10 -msgid "**Source code:** :source:`Lib/fractions.py`" -msgstr "" - -#: ../../library/fractions.rst:14 -msgid "" -"The :mod:`fractions` module provides support for rational number arithmetic." -msgstr "" - -#: ../../library/fractions.rst:17 -msgid "" -"A Fraction instance can be constructed from a pair of integers, from another" -" rational number, or from a string." -msgstr "" - -#: ../../library/fractions.rst:26 -msgid "" -"The first version requires that *numerator* and *denominator* are instances " -"of :class:`numbers.Rational` and returns a new :class:`Fraction` instance " -"with value ``numerator/denominator``. If *denominator* is ``0``, it raises a" -" :exc:`ZeroDivisionError`." -msgstr "" - -#: ../../library/fractions.rst:31 -msgid "" -"The second version requires that *number* is an instance of " -":class:`numbers.Rational` or has the :meth:`!as_integer_ratio` method (this " -"includes :class:`float` and :class:`decimal.Decimal`). It returns a " -":class:`Fraction` instance with exactly the same value. Assumed, that the " -":meth:`!as_integer_ratio` method returns a pair of coprime integers and last" -" one is positive. Note that due to the usual issues with binary point (see " -":ref:`tut-fp-issues`), the argument to ``Fraction(1.1)`` is not exactly " -"equal to 11/10, and so ``Fraction(1.1)`` does *not* return ``Fraction(11, " -"10)`` as one might expect. (But see the documentation for the " -":meth:`limit_denominator` method below.)" -msgstr "" - -#: ../../library/fractions.rst:43 -msgid "" -"The last version of the constructor expects a string. The usual form for " -"this instance is::" -msgstr "" - -#: ../../library/fractions.rst:46 -msgid "[sign] numerator ['/' denominator]" -msgstr "" - -#: ../../library/fractions.rst:48 -msgid "" -"where the optional ``sign`` may be either '+' or '-' and ``numerator`` and " -"``denominator`` (if present) are strings of decimal digits (underscores may " -"be used to delimit digits as with integral literals in code). In addition, " -"any string that represents a finite value and is accepted by the " -":class:`float` constructor is also accepted by the :class:`Fraction` " -"constructor. In either form the input string may also have leading and/or " -"trailing whitespace. Here are some examples::" -msgstr "" - -#: ../../library/fractions.rst:57 -msgid "" -">>> from fractions import Fraction\n" -">>> Fraction(16, -10)\n" -"Fraction(-8, 5)\n" -">>> Fraction(123)\n" -"Fraction(123, 1)\n" -">>> Fraction()\n" -"Fraction(0, 1)\n" -">>> Fraction('3/7')\n" -"Fraction(3, 7)\n" -">>> Fraction(' -3/7 ')\n" -"Fraction(-3, 7)\n" -">>> Fraction('1.414213 \\t\\n')\n" -"Fraction(1414213, 1000000)\n" -">>> Fraction('-.125')\n" -"Fraction(-1, 8)\n" -">>> Fraction('7e-6')\n" -"Fraction(7, 1000000)\n" -">>> Fraction(2.25)\n" -"Fraction(9, 4)\n" -">>> Fraction(1.1)\n" -"Fraction(2476979795053773, 2251799813685248)\n" -">>> from decimal import Decimal\n" -">>> Fraction(Decimal('1.1'))\n" -"Fraction(11, 10)" -msgstr "" - -#: ../../library/fractions.rst:83 -msgid "" -"The :class:`Fraction` class inherits from the abstract base class " -":class:`numbers.Rational`, and implements all of the methods and operations " -"from that class. :class:`Fraction` instances are :term:`hashable`, and " -"should be treated as immutable. In addition, :class:`Fraction` has the " -"following properties and methods:" -msgstr "" - -#: ../../library/fractions.rst:89 -msgid "" -"The :class:`Fraction` constructor now accepts :class:`float` and " -":class:`decimal.Decimal` instances." -msgstr "" - -#: ../../library/fractions.rst:93 -msgid "" -"The :func:`math.gcd` function is now used to normalize the *numerator* and " -"*denominator*. :func:`math.gcd` always returns an :class:`int` type. " -"Previously, the GCD type depended on *numerator* and *denominator*." -msgstr "" - -#: ../../library/fractions.rst:98 -msgid "" -"Underscores are now permitted when creating a :class:`Fraction` instance " -"from a string, following :PEP:`515` rules." -msgstr "" - -#: ../../library/fractions.rst:102 -msgid "" -":class:`Fraction` implements ``__int__`` now to satisfy " -"``typing.SupportsInt`` instance checks." -msgstr "" - -#: ../../library/fractions.rst:106 -msgid "" -"Space is allowed around the slash for string inputs: ``Fraction('2 / 3')``." -msgstr "" - -#: ../../library/fractions.rst:109 -msgid "" -":class:`Fraction` instances now support float-style formatting, with " -"presentation types ``\"e\"``, ``\"E\"``, ``\"f\"``, ``\"F\"``, ``\"g\"``, " -"``\"G\"`` and ``\"%\"\"``." -msgstr "" - -#: ../../library/fractions.rst:114 -msgid "" -"Formatting of :class:`Fraction` instances without a presentation type now " -"supports fill, alignment, sign handling, minimum width and grouping." -msgstr "" - -#: ../../library/fractions.rst:118 -msgid "" -"The :class:`Fraction` constructor now accepts any objects with the " -":meth:`!as_integer_ratio` method." -msgstr "" - -#: ../../library/fractions.rst:124 -msgid "Numerator of the Fraction in lowest term." -msgstr "" - -#: ../../library/fractions.rst:128 -msgid "Denominator of the Fraction in lowest term." -msgstr "" - -#: ../../library/fractions.rst:133 -msgid "" -"Return a tuple of two integers, whose ratio is equal to the original " -"Fraction. The ratio is in lowest terms and has a positive denominator." -msgstr "" - -#: ../../library/fractions.rst:141 -msgid "Return ``True`` if the Fraction is an integer." -msgstr "" - -#: ../../library/fractions.rst:147 -msgid "" -"Alternative constructor which only accepts instances of :class:`float` or " -":class:`numbers.Integral`. Beware that ``Fraction.from_float(0.3)`` is not " -"the same value as ``Fraction(3, 10)``." -msgstr "" - -#: ../../library/fractions.rst:153 -msgid "" -"From Python 3.2 onwards, you can also construct a :class:`Fraction` instance" -" directly from a :class:`float`." -msgstr "" - -#: ../../library/fractions.rst:159 -msgid "" -"Alternative constructor which only accepts instances of " -":class:`decimal.Decimal` or :class:`numbers.Integral`." -msgstr "" - -#: ../../library/fractions.rst:164 -msgid "" -"From Python 3.2 onwards, you can also construct a :class:`Fraction` instance" -" directly from a :class:`decimal.Decimal` instance." -msgstr "" - -#: ../../library/fractions.rst:171 -msgid "" -"Alternative constructor which only accepts instances of " -":class:`numbers.Integral`, :class:`numbers.Rational`, :class:`float` or " -":class:`decimal.Decimal`, and objects with the :meth:`!as_integer_ratio` " -"method, but not strings." -msgstr "" - -#: ../../library/fractions.rst:181 -msgid "" -"Finds and returns the closest :class:`Fraction` to ``self`` that has " -"denominator at most max_denominator. This method is useful for finding " -"rational approximations to a given floating-point number:" -msgstr "" - -#: ../../library/fractions.rst:189 -msgid "or for recovering a rational number that's represented as a float:" -msgstr "" - -#: ../../library/fractions.rst:202 -msgid "" -"Returns the greatest :class:`int` ``<= self``. This method can also be " -"accessed through the :func:`math.floor` function:" -msgstr "" - -#: ../../library/fractions.rst:212 -msgid "" -"Returns the least :class:`int` ``>= self``. This method can also be " -"accessed through the :func:`math.ceil` function." -msgstr "" - -#: ../../library/fractions.rst:219 -msgid "" -"The first version returns the nearest :class:`int` to ``self``, rounding " -"half to even. The second version rounds ``self`` to the nearest multiple of " -"``Fraction(1, 10**ndigits)`` (logically, if ``ndigits`` is negative), again " -"rounding half toward even. This method can also be accessed through the " -":func:`round` function." -msgstr "" - -#: ../../library/fractions.rst:227 -msgid "" -"Provides support for formatting of :class:`Fraction` instances via the " -":meth:`str.format` method, the :func:`format` built-in function, or " -":ref:`Formatted string literals `." -msgstr "" - -#: ../../library/fractions.rst:231 -msgid "" -"If the ``format_spec`` format specification string does not end with one of " -"the presentation types ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, ``'G'`` " -"or ``'%'`` then formatting follows the general rules for fill, alignment, " -"sign handling, minimum width, and grouping as described in the :ref:`format " -"specification mini-language `. The \"alternate form\" flag " -"``'#'`` is supported: if present, it forces the output string to always " -"include an explicit denominator, even when the value being formatted is an " -"exact integer. The zero-fill flag ``'0'`` is not supported." -msgstr "" - -#: ../../library/fractions.rst:241 -msgid "" -"If the ``format_spec`` format specification string ends with one of the " -"presentation types ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, ``'G'`` or " -"``'%'`` then formatting follows the rules outlined for the :class:`float` " -"type in the :ref:`formatspec` section." -msgstr "" - -#: ../../library/fractions.rst:246 -msgid "Here are some examples::" -msgstr "Berikut beberapa contoh::" - -#: ../../library/fractions.rst:248 -msgid "" -">>> from fractions import Fraction\n" -">>> format(Fraction(103993, 33102), '_')\n" -"'103_993/33_102'\n" -">>> format(Fraction(1, 7), '.^+10')\n" -"'...+1/7...'\n" -">>> format(Fraction(3, 1), '')\n" -"'3'\n" -">>> format(Fraction(3, 1), '#')\n" -"'3/1'\n" -">>> format(Fraction(1, 7), '.40g')\n" -"'0.1428571428571428571428571428571428571429'\n" -">>> format(Fraction('1234567.855'), '_.2f')\n" -"'1_234_567.86'\n" -">>> f\"{Fraction(355, 113):*>20.6e}\"\n" -"'********3.141593e+00'\n" -">>> old_price, new_price = 499, 672\n" -">>> \"{:.2%} price increase\".format(Fraction(new_price, old_price) - 1)\n" -"'34.67% price increase'" -msgstr "" - -#: ../../library/fractions.rst:270 -msgid "Module :mod:`numbers`" -msgstr "" - -#: ../../library/fractions.rst:271 -msgid "The abstract base classes making up the numeric tower." -msgstr "" - -#: ../../library/fractions.rst:20 -msgid "as_integer_ratio()" -msgstr "" diff --git a/python-newest.library--frameworks/id.po b/python-newest.library--frameworks/id.po deleted file mode 100644 index 2b8e971..0000000 --- a/python-newest.library--frameworks/id.po +++ /dev/null @@ -1,41 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/frameworks.rst:5 -msgid "Program Frameworks" -msgstr "Kerangka Program" - -#: ../../library/frameworks.rst:7 -msgid "" -"The modules described in this chapter are frameworks that will largely " -"dictate the structure of your program. Currently the modules described " -"here are all oriented toward writing command-line interfaces." -msgstr "" -"Modul-modul yang dijelaskan dalam bab ini adalah kerangka kerja yang " -"sebagian besar akan menentukan struktur program Anda. Saat ini modul yang " -"dijelaskan di sini semuanya berorientasi pada penulisan antarmuka baris " -"perintah *command-line interfaces*." - -#: ../../library/frameworks.rst:11 -msgid "The full list of modules described in this chapter is:" -msgstr "Daftar lengkap modul yang dijelaskan dalam bab ini adalah:" diff --git a/python-newest.library--ftplib/id.po b/python-newest.library--ftplib/id.po deleted file mode 100644 index 2f6621d..0000000 --- a/python-newest.library--ftplib/id.po +++ /dev/null @@ -1,619 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/ftplib.rst:2 -msgid ":mod:`!ftplib` --- FTP protocol client" -msgstr "" - -#: ../../library/ftplib.rst:7 -msgid "**Source code:** :source:`Lib/ftplib.py`" -msgstr "" - -#: ../../library/ftplib.rst:15 -msgid "" -"This module defines the class :class:`FTP` and a few related items. The " -":class:`FTP` class implements the client side of the FTP protocol. You can " -"use this to write Python programs that perform a variety of automated FTP " -"jobs, such as mirroring other FTP servers. It is also used by the module " -":mod:`urllib.request` to handle URLs that use FTP. For more information on " -"FTP (File Transfer Protocol), see internet :rfc:`959`." -msgstr "" - -#: ../../library/ftplib.rst:22 -msgid "The default encoding is UTF-8, following :rfc:`2640`." -msgstr "" - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/ftplib.rst:26 -msgid "Here's a sample session using the :mod:`ftplib` module::" -msgstr "" - -#: ../../library/ftplib.rst:28 -msgid "" -">>> from ftplib import FTP\n" -">>> ftp = FTP('ftp.us.debian.org') # connect to host, default port\n" -">>> ftp.login() # user anonymous, passwd anonymous@\n" -"'230 Login successful.'\n" -">>> ftp.cwd('debian') # change into \"debian\" directory\n" -"'250 Directory successfully changed.'\n" -">>> ftp.retrlines('LIST') # list directory contents\n" -"-rw-rw-r-- 1 1176 1176 1063 Jun 15 10:18 README\n" -"...\n" -"drwxr-sr-x 5 1176 1176 4096 Dec 19 2000 pool\n" -"drwxr-sr-x 4 1176 1176 4096 Nov 17 2008 project\n" -"drwxr-xr-x 3 1176 1176 4096 Oct 10 2012 tools\n" -"'226 Directory send OK.'\n" -">>> with open('README', 'wb') as fp:\n" -">>> ftp.retrbinary('RETR README', fp.write)\n" -"'226 Transfer complete.'\n" -">>> ftp.quit()\n" -"'221 Goodbye.'" -msgstr "" - -#: ../../library/ftplib.rst:51 -msgid "Reference" -msgstr "Referensi" - -#: ../../library/ftplib.rst:56 -msgid "FTP objects" -msgstr "" - -#: ../../library/ftplib.rst:87 -msgid "Return a new instance of the :class:`FTP` class." -msgstr "" - -#: ../../library/ftplib.rst:0 -msgid "Parameters" -msgstr "Parameter" - -#: ../../library/ftplib.rst:89 ../../library/ftplib.rst:461 -msgid "" -"The hostname to connect to. If given, :code:`connect(host)` is implicitly " -"called by the constructor." -msgstr "" - -#: ../../library/ftplib.rst:93 ../../library/ftplib.rst:465 -msgid "" -"|param_doc_user| If given, :code:`login(host, passwd, acct)` is implicitly " -"called by the constructor." -msgstr "" - -#: ../../library/ftplib.rst:98 ../../library/ftplib.rst:212 -#: ../../library/ftplib.rst:470 -msgid "|param_doc_passwd|" -msgstr "" - -#: ../../library/ftplib.rst:101 ../../library/ftplib.rst:215 -#: ../../library/ftplib.rst:473 -msgid "|param_doc_acct|" -msgstr "" - -#: ../../library/ftplib.rst:104 -msgid "" -"A timeout in seconds for blocking operations like :meth:`connect` (default: " -"the global default timeout setting)." -msgstr "" - -#: ../../library/ftplib.rst:109 ../../library/ftplib.rst:183 -#: ../../library/ftplib.rst:488 -msgid "|param_doc_source_address|" -msgstr "" - -#: ../../library/ftplib.rst:113 ../../library/ftplib.rst:492 -msgid "|param_doc_encoding|" -msgstr "" - -#: ../../library/ftplib.rst:116 -msgid "The :class:`FTP` class supports the :keyword:`with` statement, e.g.:" -msgstr "" - -#: ../../library/ftplib.rst:130 -msgid "Support for the :keyword:`with` statement was added." -msgstr "" - -#: ../../library/ftplib.rst:133 ../../library/ftplib.rst:189 -msgid "*source_address* parameter was added." -msgstr "" - -#: ../../library/ftplib.rst:136 ../../library/ftplib.rst:505 -msgid "" -"If the *timeout* parameter is set to be zero, it will raise a " -":class:`ValueError` to prevent the creation of a non-blocking socket. The " -"*encoding* parameter was added, and the default was changed from Latin-1 to " -"UTF-8 to follow :rfc:`2640`." -msgstr "" - -#: ../../library/ftplib.rst:142 -msgid "" -"Several :class:`!FTP` methods are available in two flavors: one for handling" -" text files and another for binary files. The methods are named for the " -"command which is used followed by ``lines`` for the text version or " -"``binary`` for the binary version." -msgstr "" - -#: ../../library/ftplib.rst:147 -msgid ":class:`FTP` instances have the following methods:" -msgstr "" - -#: ../../library/ftplib.rst:151 -msgid "" -"Set the instance's debugging level as an :class:`int`. This controls the " -"amount of debugging output printed. The debug levels are:" -msgstr "" - -#: ../../library/ftplib.rst:155 -msgid "``0`` (default): No debug output." -msgstr "" - -#: ../../library/ftplib.rst:156 -msgid "" -"``1``: Produce a moderate amount of debug output, generally a single line " -"per request." -msgstr "" - -#: ../../library/ftplib.rst:158 -msgid "" -"``2`` or higher: Produce the maximum amount of debugging output, logging " -"each line sent and received on the control connection." -msgstr "" - -#: ../../library/ftplib.rst:163 -msgid "" -"Connect to the given host and port. This function should be called only once" -" for each instance; it should not be called if a *host* argument was given " -"when the :class:`FTP` instance was created. All other :class:`!FTP` methods " -"can only be called after a connection has successfully been made." -msgstr "" - -#: ../../library/ftplib.rst:170 -msgid "The host to connect to." -msgstr "" - -#: ../../library/ftplib.rst:173 -msgid "" -"The TCP port to connect to (default: ``21``, as specified by the FTP " -"protocol specification). It is rarely needed to specify a different port " -"number." -msgstr "" - -#: ../../library/ftplib.rst:178 -msgid "" -"A timeout in seconds for the connection attempt (default: the global default" -" timeout setting)." -msgstr "" - -#: ../../library/ftplib.rst:187 -msgid "" -"Raises an :ref:`auditing event ` ``ftplib.connect`` with arguments" -" ``self``, ``host``, ``port``." -msgstr "" - -#: ../../library/ftplib.rst:195 -msgid "" -"Return the welcome message sent by the server in reply to the initial " -"connection. (This message sometimes contains disclaimers or help " -"information that may be relevant to the user.)" -msgstr "" - -#: ../../library/ftplib.rst:202 -msgid "" -"Log on to the connected FTP server. This function should be called only once" -" for each instance, after a connection has been established; it should not " -"be called if the *host* and *user* arguments were given when the " -":class:`FTP` instance was created. Most FTP commands are only allowed after " -"the client has logged in." -msgstr "" - -#: ../../library/ftplib.rst:209 -msgid "|param_doc_user|" -msgstr "" - -#: ../../library/ftplib.rst:221 -msgid "" -"Abort a file transfer that is in progress. Using this does not always work," -" but it's worth a try." -msgstr "" - -#: ../../library/ftplib.rst:227 -msgid "" -"Send a simple command string to the server and return the response string." -msgstr "" - -#: ../../library/ftplib.rst:229 ../../library/ftplib.rst:238 -msgid "" -"Raises an :ref:`auditing event ` ``ftplib.sendcmd`` with arguments" -" ``self``, ``cmd``." -msgstr "" - -#: ../../library/ftplib.rst:234 -msgid "" -"Send a simple command string to the server and handle the response. Return " -"the response string if the response code corresponds to success (codes in " -"the range 200--299). Raise :exc:`error_reply` otherwise." -msgstr "" - -#: ../../library/ftplib.rst:243 -msgid "Retrieve a file in binary transfer mode." -msgstr "" - -#: ../../library/ftplib.rst:245 -msgid "An appropriate ``RETR`` command: :samp:`\"RETR {filename}\"`." -msgstr "" - -#: ../../library/ftplib.rst:248 -msgid "" -"A single parameter callable that is called for each block of data received, " -"with its single argument being the data as :class:`bytes`." -msgstr "" - -#: ../../library/ftplib.rst:254 -msgid "" -"The maximum chunk size to read on the low-level :class:`~socket.socket` " -"object created to do the actual transfer. This also corresponds to the " -"largest size of data that will be passed to *callback*. Defaults to " -"``8192``." -msgstr "" - -#: ../../library/ftplib.rst:261 ../../library/ftplib.rst:308 -msgid "" -"A ``REST`` command to be sent to the server. See the documentation for the " -"*rest* parameter of the :meth:`transfercmd` method." -msgstr "" - -#: ../../library/ftplib.rst:268 -msgid "" -"Retrieve a file or directory listing in the encoding specified by the " -"*encoding* parameter at initialization. *cmd* should be an appropriate " -"``RETR`` command (see :meth:`retrbinary`) or a command such as ``LIST`` or " -"``NLST`` (usually just the string ``'LIST'``). ``LIST`` retrieves a list of " -"files and information about those files. ``NLST`` retrieves a list of file " -"names. The *callback* function is called for each line with a string " -"argument containing the line with the trailing CRLF stripped. The default " -"*callback* prints the line to :data:`sys.stdout`." -msgstr "" - -#: ../../library/ftplib.rst:281 -msgid "" -"Enable \"passive\" mode if *val* is true, otherwise disable passive mode. " -"Passive mode is on by default." -msgstr "" - -#: ../../library/ftplib.rst:287 -msgid "Store a file in binary transfer mode." -msgstr "" - -#: ../../library/ftplib.rst:289 -msgid "An appropriate ``STOR`` command: :samp:`\"STOR {filename}\"`." -msgstr "" - -#: ../../library/ftplib.rst:292 -msgid "" -"A file object (opened in binary mode) which is read until EOF, using its " -":meth:`~io.RawIOBase.read` method in blocks of size *blocksize* to provide " -"the data to be stored." -msgstr "" - -#: ../../library/ftplib.rst:298 -msgid "The read block size. Defaults to ``8192``." -msgstr "" - -#: ../../library/ftplib.rst:302 -msgid "" -"A single parameter callable that is called for each block of data sent, with" -" its single argument being the data as :class:`bytes`." -msgstr "" - -#: ../../library/ftplib.rst:312 -msgid "The *rest* parameter was added." -msgstr "" - -#: ../../library/ftplib.rst:318 -msgid "" -"Store a file in line mode. *cmd* should be an appropriate ``STOR`` command " -"(see :meth:`storbinary`). Lines are read until EOF from the :term:`file " -"object` *fp* (opened in binary mode) using its :meth:`~io.IOBase.readline` " -"method to provide the data to be stored. *callback* is an optional single " -"parameter callable that is called on each line after it is sent." -msgstr "" - -#: ../../library/ftplib.rst:327 -msgid "" -"Initiate a transfer over the data connection. If the transfer is active, " -"send an ``EPRT`` or ``PORT`` command and the transfer command specified by " -"*cmd*, and accept the connection. If the server is passive, send an " -"``EPSV`` or ``PASV`` command, connect to it, and start the transfer command." -" Either way, return the socket for the connection." -msgstr "" - -#: ../../library/ftplib.rst:333 -msgid "" -"If optional *rest* is given, a ``REST`` command is sent to the server, " -"passing *rest* as an argument. *rest* is usually a byte offset into the " -"requested file, telling the server to restart sending the file's bytes at " -"the requested offset, skipping over the initial bytes. Note however that " -"the :meth:`transfercmd` method converts *rest* to a string with the " -"*encoding* parameter specified at initialization, but no check is performed " -"on the string's contents. If the server does not recognize the ``REST`` " -"command, an :exc:`error_reply` exception will be raised. If this happens, " -"simply call :meth:`transfercmd` without a *rest* argument." -msgstr "" - -#: ../../library/ftplib.rst:346 -msgid "" -"Like :meth:`transfercmd`, but returns a tuple of the data connection and the" -" expected size of the data. If the expected size could not be computed, " -"``None`` will be returned as the expected size. *cmd* and *rest* means the " -"same thing as in :meth:`transfercmd`." -msgstr "" - -#: ../../library/ftplib.rst:354 -msgid "" -"List a directory in a standardized format by using ``MLSD`` command " -"(:rfc:`3659`). If *path* is omitted the current directory is assumed. " -"*facts* is a list of strings representing the type of information desired " -"(e.g. ``[\"type\", \"size\", \"perm\"]``). Return a generator object " -"yielding a tuple of two elements for every file found in path. First " -"element is the file name, the second one is a dictionary containing facts " -"about the file name. Content of this dictionary might be limited by the " -"*facts* argument but server is not guaranteed to return all requested facts." -msgstr "" - -#: ../../library/ftplib.rst:368 -msgid "" -"Return a list of file names as returned by the ``NLST`` command. The " -"optional *argument* is a directory to list (default is the current server " -"directory). Multiple arguments can be used to pass non-standard options to " -"the ``NLST`` command." -msgstr "" - -#: ../../library/ftplib.rst:373 ../../library/ftplib.rst:385 -msgid "If your server supports the command, :meth:`mlsd` offers a better API." -msgstr "" - -#: ../../library/ftplib.rst:378 -msgid "" -"Produce a directory listing as returned by the ``LIST`` command, printing it" -" to standard output. The optional *argument* is a directory to list " -"(default is the current server directory). Multiple arguments can be used " -"to pass non-standard options to the ``LIST`` command. If the last argument " -"is a function, it is used as a *callback* function as for :meth:`retrlines`;" -" the default prints to :data:`sys.stdout`. This method returns ``None``." -msgstr "" - -#: ../../library/ftplib.rst:390 -msgid "Rename file *fromname* on the server to *toname*." -msgstr "" - -#: ../../library/ftplib.rst:395 -msgid "" -"Remove the file named *filename* from the server. If successful, returns " -"the text of the response, otherwise raises :exc:`error_perm` on permission " -"errors or :exc:`error_reply` on other errors." -msgstr "" - -#: ../../library/ftplib.rst:402 -msgid "Set the current directory on the server." -msgstr "" - -#: ../../library/ftplib.rst:407 -msgid "Create a new directory on the server." -msgstr "" - -#: ../../library/ftplib.rst:412 -msgid "Return the pathname of the current directory on the server." -msgstr "" - -#: ../../library/ftplib.rst:417 -msgid "Remove the directory named *dirname* on the server." -msgstr "" - -#: ../../library/ftplib.rst:422 -msgid "" -"Request the size of the file named *filename* on the server. On success, " -"the size of the file is returned as an integer, otherwise ``None`` is " -"returned. Note that the ``SIZE`` command is not standardized, but is " -"supported by many common server implementations." -msgstr "" - -#: ../../library/ftplib.rst:430 -msgid "" -"Send a ``QUIT`` command to the server and close the connection. This is the " -"\"polite\" way to close a connection, but it may raise an exception if the " -"server responds with an error to the ``QUIT`` command. This implies a call " -"to the :meth:`close` method which renders the :class:`FTP` instance useless " -"for subsequent calls (see below)." -msgstr "" - -#: ../../library/ftplib.rst:439 -msgid "" -"Close the connection unilaterally. This should not be applied to an already" -" closed connection such as after a successful call to :meth:`~FTP.quit`. " -"After this call the :class:`FTP` instance should not be used any more (after" -" a call to :meth:`close` or :meth:`~FTP.quit` you cannot reopen the " -"connection by issuing another :meth:`login` method)." -msgstr "" - -#: ../../library/ftplib.rst:447 -msgid "FTP_TLS objects" -msgstr "" - -#: ../../library/ftplib.rst:452 -msgid "" -"An :class:`FTP` subclass which adds TLS support to FTP as described in " -":rfc:`4217`. Connect to port 21 implicitly securing the FTP control " -"connection before authenticating." -msgstr "" - -#: ../../library/ftplib.rst:458 -msgid "" -"The user must explicitly secure the data connection by calling the " -":meth:`prot_p` method." -msgstr "" - -#: ../../library/ftplib.rst:476 -msgid "" -"An SSL context object which allows bundling SSL configuration options, " -"certificates and private keys into a single, potentially long-lived, " -"structure. Please read :ref:`ssl-security` for best practices." -msgstr "" - -#: ../../library/ftplib.rst:483 -msgid "" -"A timeout in seconds for blocking operations like :meth:`~FTP.connect` " -"(default: the global default timeout setting)." -msgstr "" - -#: ../../library/ftplib.rst:497 -msgid "Added the *source_address* parameter." -msgstr "" - -#: ../../library/ftplib.rst:500 -msgid "" -"The class now supports hostname check with " -":attr:`ssl.SSLContext.check_hostname` and *Server Name Indication* (see " -":const:`ssl.HAS_SNI`)." -msgstr "" - -#: ../../library/ftplib.rst:511 -msgid "The deprecated *keyfile* and *certfile* parameters have been removed." -msgstr "" - -#: ../../library/ftplib.rst:514 -msgid "Here's a sample session using the :class:`FTP_TLS` class::" -msgstr "" - -#: ../../library/ftplib.rst:516 -msgid "" -">>> ftps = FTP_TLS('ftp.pureftpd.org')\n" -">>> ftps.login()\n" -"'230 Anonymous user logged in'\n" -">>> ftps.prot_p()\n" -"'200 Data protection level set to \"private\"'\n" -">>> ftps.nlst()\n" -"['6jack', 'OpenBSD', 'antilink', 'blogbench', 'bsdcam', 'clockspeed', 'djbdns-jedi', 'docs', 'eaccelerator-jedi', 'favicon.ico', 'francotone', 'fugu', 'ignore', 'libpuzzle', 'metalog', 'minidentd', 'misc', 'mysql-udf-global-user-variables', 'php-jenkins-hash', 'php-skein-hash', 'php-webdav', 'phpaudit', 'phpbench', 'pincaster', 'ping', 'posto', 'pub', 'public', 'public_keys', 'pure-ftpd', 'qscan', 'qtc', 'sharedance', 'skycache', 'sound', 'tmp', 'ucarp']" -msgstr "" - -#: ../../library/ftplib.rst:524 -msgid "" -":class:`!FTP_TLS` class inherits from :class:`FTP`, defining these " -"additional methods and attributes:" -msgstr "" - -#: ../../library/ftplib.rst:529 -msgid "The SSL version to use (defaults to :data:`ssl.PROTOCOL_SSLv23`)." -msgstr "" - -#: ../../library/ftplib.rst:533 -msgid "" -"Set up a secure control connection by using TLS or SSL, depending on what is" -" specified in the :attr:`ssl_version` attribute." -msgstr "" - -#: ../../library/ftplib.rst:536 -msgid "" -"The method now supports hostname check with " -":attr:`ssl.SSLContext.check_hostname` and *Server Name Indication* (see " -":const:`ssl.HAS_SNI`)." -msgstr "" - -#: ../../library/ftplib.rst:543 -msgid "" -"Revert control channel back to plaintext. This can be useful to take " -"advantage of firewalls that know how to handle NAT with non-secure FTP " -"without opening fixed ports." -msgstr "" - -#: ../../library/ftplib.rst:551 -msgid "Set up secure data connection." -msgstr "" - -#: ../../library/ftplib.rst:555 -msgid "Set up clear text data connection." -msgstr "" - -#: ../../library/ftplib.rst:559 -msgid "Module variables" -msgstr "" - -#: ../../library/ftplib.rst:563 -msgid "Exception raised when an unexpected reply is received from the server." -msgstr "" - -#: ../../library/ftplib.rst:568 -msgid "" -"Exception raised when an error code signifying a temporary error (response " -"codes in the range 400--499) is received." -msgstr "" - -#: ../../library/ftplib.rst:574 -msgid "" -"Exception raised when an error code signifying a permanent error (response " -"codes in the range 500--599) is received." -msgstr "" - -#: ../../library/ftplib.rst:580 -msgid "" -"Exception raised when a reply is received from the server that does not fit " -"the response specifications of the File Transfer Protocol, i.e. begin with a" -" digit in the range 1--5." -msgstr "" - -#: ../../library/ftplib.rst:587 -msgid "" -"The set of all exceptions (as a tuple) that methods of :class:`FTP` " -"instances may raise as a result of problems with the FTP connection (as " -"opposed to programming errors made by the caller). This set includes the " -"four exceptions listed above as well as :exc:`OSError` and :exc:`EOFError`." -msgstr "" - -#: ../../library/ftplib.rst:595 -msgid "Module :mod:`netrc`" -msgstr "" - -#: ../../library/ftplib.rst:596 -msgid "" -"Parser for the :file:`.netrc` file format. The file :file:`.netrc` is " -"typically used by FTP clients to load user authentication information before" -" prompting the user." -msgstr "" - -#: ../../library/ftplib.rst:9 -msgid "FTP" -msgstr "" - -#: ../../library/ftplib.rst:9 -msgid "protocol" -msgstr "" - -#: ../../library/ftplib.rst:9 -msgid "ftplib (standard module)" -msgstr "" diff --git a/python-newest.library--functional/id.po b/python-newest.library--functional/id.po deleted file mode 100644 index 6538a2c..0000000 --- a/python-newest.library--functional/id.po +++ /dev/null @@ -1,38 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/functional.rst:3 -msgid "Functional Programming Modules" -msgstr "Modul Pemrograman Fungsional" - -#: ../../library/functional.rst:5 -msgid "" -"The modules described in this chapter provide functions and classes that " -"support a functional programming style, and general operations on callables." -msgstr "" -"Modul yang dijelaskan dalam bab ini menyediakan fungsi dan kelas yang " -"mendukung gaya pemrograman fungsional, dan operasi umum pada *callables*." - -#: ../../library/functional.rst:8 -msgid "The following modules are documented in this chapter:" -msgstr "Modul-modul berikut didokumentasikan dalam bab ini:" diff --git a/python-newest.library--functions/id.po b/python-newest.library--functions/id.po deleted file mode 100644 index 18742d2..0000000 --- a/python-newest.library--functions/id.po +++ /dev/null @@ -1,3773 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# LIQRGV , 2021 -# Elmo , 2024 -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2024 -# oon arfiandwi , 2024 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/functions.rst:5 ../../library/functions.rst:11 -msgid "Built-in Functions" -msgstr "Fungsi Bawaan" - -#: ../../library/functions.rst:7 -msgid "" -"The Python interpreter has a number of functions and types built into it " -"that are always available. They are listed here in alphabetical order." -msgstr "" -"Interpreter Python memiliki sejumlah fungsi dan tipe bawaan di dalamnya yang" -" selalu tersedia. Mereka terdaftar di sini dalam urutan abjad." - -#: ../../library/functions.rst:0 -msgid "**A**" -msgstr "**A**" - -#: ../../library/functions.rst:0 -msgid ":func:`abs`" -msgstr ":func:`abs`" - -#: ../../library/functions.rst:0 -msgid ":func:`aiter`" -msgstr ":func:`aiter`" - -#: ../../library/functions.rst:0 -msgid ":func:`all`" -msgstr ":func:`all`" - -#: ../../library/functions.rst:0 -msgid ":func:`anext`" -msgstr ":func:`anext`" - -#: ../../library/functions.rst:0 -msgid ":func:`any`" -msgstr ":func:`any`" - -#: ../../library/functions.rst:0 -msgid ":func:`ascii`" -msgstr ":func:`ascii`" - -#: ../../library/functions.rst:0 -msgid "**B**" -msgstr "**B**" - -#: ../../library/functions.rst:0 -msgid ":func:`bin`" -msgstr ":func:`bin`" - -#: ../../library/functions.rst:0 -msgid ":func:`bool`" -msgstr ":func:`bool`" - -#: ../../library/functions.rst:0 -msgid ":func:`breakpoint`" -msgstr ":func:`breakpoint`" - -#: ../../library/functions.rst:0 -msgid "|func-bytearray|_" -msgstr "|func-bytearray|_" - -#: ../../library/functions.rst:0 -msgid "|func-bytes|_" -msgstr "|func-bytes|_" - -#: ../../library/functions.rst:0 -msgid "**C**" -msgstr "**C**" - -#: ../../library/functions.rst:0 -msgid ":func:`callable`" -msgstr ":func:`callable`" - -#: ../../library/functions.rst:0 -msgid ":func:`chr`" -msgstr ":func:`chr`" - -#: ../../library/functions.rst:0 -msgid ":func:`classmethod`" -msgstr ":func:`classmethod`" - -#: ../../library/functions.rst:0 -msgid ":func:`compile`" -msgstr ":func:`compile`" - -#: ../../library/functions.rst:0 -msgid ":func:`complex`" -msgstr ":func:`complex`" - -#: ../../library/functions.rst:0 -msgid "**D**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`delattr`" -msgstr ":func:`delattr`" - -#: ../../library/functions.rst:0 -msgid "|func-dict|_" -msgstr "|func-dict|_" - -#: ../../library/functions.rst:0 -msgid ":func:`dir`" -msgstr ":func:`dir`" - -#: ../../library/functions.rst:0 -msgid ":func:`divmod`" -msgstr ":func:`divmod`" - -#: ../../library/functions.rst:0 -msgid "**E**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`enumerate`" -msgstr ":func:`enumerate`" - -#: ../../library/functions.rst:0 -msgid ":func:`eval`" -msgstr ":func:`eval`" - -#: ../../library/functions.rst:0 -msgid ":func:`exec`" -msgstr ":func:`exec`" - -#: ../../library/functions.rst:0 -msgid "**F**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`filter`" -msgstr ":func:`filter`" - -#: ../../library/functions.rst:0 -msgid ":func:`float`" -msgstr ":func:`float`" - -#: ../../library/functions.rst:0 -msgid ":func:`format`" -msgstr ":func:`format`" - -#: ../../library/functions.rst:0 -msgid "|func-frozenset|_" -msgstr "|func-frozenset|_" - -#: ../../library/functions.rst:0 -msgid "**G**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`getattr`" -msgstr ":func:`getattr`" - -#: ../../library/functions.rst:0 -msgid ":func:`globals`" -msgstr ":func:`globals`" - -#: ../../library/functions.rst:0 -msgid "**H**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`hasattr`" -msgstr ":func:`hasattr`" - -#: ../../library/functions.rst:0 -msgid ":func:`hash`" -msgstr ":func:`hash`" - -#: ../../library/functions.rst:0 -msgid ":func:`help`" -msgstr ":func:`help`" - -#: ../../library/functions.rst:0 -msgid ":func:`hex`" -msgstr ":func:`hex`" - -#: ../../library/functions.rst:0 -msgid "**I**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`id`" -msgstr ":func:`id`" - -#: ../../library/functions.rst:0 -msgid ":func:`input`" -msgstr ":func:`input`" - -#: ../../library/functions.rst:0 -msgid ":func:`int`" -msgstr ":func:`int`" - -#: ../../library/functions.rst:0 -msgid ":func:`isinstance`" -msgstr ":func:`isinstance`" - -#: ../../library/functions.rst:0 -msgid ":func:`issubclass`" -msgstr ":func:`issubclass`" - -#: ../../library/functions.rst:0 -msgid ":func:`iter`" -msgstr ":func:`iter`" - -#: ../../library/functions.rst:0 -msgid "**L**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`len`" -msgstr ":func:`len`" - -#: ../../library/functions.rst:0 -msgid "|func-list|_" -msgstr "|func-list|_" - -#: ../../library/functions.rst:0 -msgid ":func:`locals`" -msgstr ":func:`locals`" - -#: ../../library/functions.rst:0 -msgid "**M**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`map`" -msgstr ":func:`map`" - -#: ../../library/functions.rst:0 -msgid ":func:`max`" -msgstr ":func:`max`" - -#: ../../library/functions.rst:0 -msgid "|func-memoryview|_" -msgstr "|func-memoryview|_" - -#: ../../library/functions.rst:0 -msgid ":func:`min`" -msgstr ":func:`min`" - -#: ../../library/functions.rst:0 -msgid "**N**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`next`" -msgstr ":func:`next`" - -#: ../../library/functions.rst:0 -msgid "**O**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`object`" -msgstr ":func:`object`" - -#: ../../library/functions.rst:0 -msgid ":func:`oct`" -msgstr ":func:`oct`" - -#: ../../library/functions.rst:0 -msgid ":func:`open`" -msgstr ":func:`open`" - -#: ../../library/functions.rst:0 -msgid ":func:`ord`" -msgstr ":func:`ord`" - -#: ../../library/functions.rst:0 -msgid "**P**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`pow`" -msgstr ":func:`pow`" - -#: ../../library/functions.rst:0 -msgid ":func:`print`" -msgstr ":func:`print`" - -#: ../../library/functions.rst:0 -msgid ":func:`property`" -msgstr ":func:`property`" - -#: ../../library/functions.rst:0 -msgid "**R**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid "|func-range|_" -msgstr "|func-range|_" - -#: ../../library/functions.rst:0 -msgid ":func:`repr`" -msgstr ":func:`repr`" - -#: ../../library/functions.rst:0 -msgid ":func:`reversed`" -msgstr ":func:`reversed`" - -#: ../../library/functions.rst:0 -msgid ":func:`round`" -msgstr ":func:`round`" - -#: ../../library/functions.rst:0 -msgid "**S**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid "|func-set|_" -msgstr "|func-set|_" - -#: ../../library/functions.rst:0 -msgid ":func:`setattr`" -msgstr ":func:`setattr`" - -#: ../../library/functions.rst:0 -msgid ":func:`slice`" -msgstr ":func:`slice`" - -#: ../../library/functions.rst:0 -msgid ":func:`sorted`" -msgstr ":func:`sorted`" - -#: ../../library/functions.rst:0 -msgid ":func:`staticmethod`" -msgstr ":func:`staticmethod`" - -#: ../../library/functions.rst:0 -msgid "|func-str|_" -msgstr "|func-str|_" - -#: ../../library/functions.rst:0 -msgid ":func:`sum`" -msgstr ":func:`sum`" - -#: ../../library/functions.rst:0 -msgid ":func:`super`" -msgstr ":func:`super`" - -#: ../../library/functions.rst:0 -msgid "**T**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid "|func-tuple|_" -msgstr "|func-tuple|_" - -#: ../../library/functions.rst:0 -msgid ":func:`type`" -msgstr ":func:`type`" - -#: ../../library/functions.rst:0 -msgid "**V**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`vars`" -msgstr ":func:`vars`" - -#: ../../library/functions.rst:0 -msgid "**Z**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`zip`" -msgstr ":func:`zip`" - -#: ../../library/functions.rst:0 -msgid "**_**" -msgstr "" - -#: ../../library/functions.rst:0 -msgid ":func:`__import__`" -msgstr ":func:`__import__`" - -#: ../../library/functions.rst:59 -msgid "" -"Return the absolute value of a number. The argument may be an integer, a " -"floating-point number, or an object implementing :meth:`~object.__abs__`. If" -" the argument is a complex number, its magnitude is returned." -msgstr "" - -#: ../../library/functions.rst:67 -msgid "" -"Return an :term:`asynchronous iterator` for an :term:`asynchronous " -"iterable`. Equivalent to calling ``x.__aiter__()``." -msgstr "" - -#: ../../library/functions.rst:70 -msgid "Note: Unlike :func:`iter`, :func:`aiter` has no 2-argument variant." -msgstr "" - -#: ../../library/functions.rst:76 -msgid "" -"Return ``True`` if all elements of the *iterable* are true (or if the " -"iterable is empty). Equivalent to::" -msgstr "" -"Kembalikan ``True`` jika semua elemen dari *iterable* bernilai benar (atau " -"jika *iterable* kosong). Setara dengan::" - -#: ../../library/functions.rst:79 -msgid "" -"def all(iterable):\n" -" for element in iterable:\n" -" if not element:\n" -" return False\n" -" return True" -msgstr "" - -#: ../../library/functions.rst:89 -msgid "" -"When awaited, return the next item from the given :term:`asynchronous " -"iterator`, or *default* if given and the iterator is exhausted." -msgstr "" - -#: ../../library/functions.rst:92 -msgid "" -"This is the async variant of the :func:`next` builtin, and behaves " -"similarly." -msgstr "" - -#: ../../library/functions.rst:95 -msgid "" -"This calls the :meth:`~object.__anext__` method of *async_iterator*, " -"returning an :term:`awaitable`. Awaiting this returns the next value of the " -"iterator. If *default* is given, it is returned if the iterator is " -"exhausted, otherwise :exc:`StopAsyncIteration` is raised." -msgstr "" - -#: ../../library/functions.rst:104 -msgid "" -"Return ``True`` if any element of the *iterable* is true. If the iterable " -"is empty, return ``False``. Equivalent to::" -msgstr "" -"Kembalikan ``True`` jika ada elemen dari *iterable* bernilai benar. Jika " -"*iterable* kosong, kembalikan ``False``. Setara dengan::" - -#: ../../library/functions.rst:107 -msgid "" -"def any(iterable):\n" -" for element in iterable:\n" -" if element:\n" -" return True\n" -" return False" -msgstr "" - -#: ../../library/functions.rst:116 -msgid "" -"As :func:`repr`, return a string containing a printable representation of an" -" object, but escape the non-ASCII characters in the string returned by " -":func:`repr` using ``\\x``, ``\\u``, or ``\\U`` escapes. This generates a " -"string similar to that returned by :func:`repr` in Python 2." -msgstr "" - -#: ../../library/functions.rst:124 -msgid "" -"Convert an integer number to a binary string prefixed with \"0b\". The " -"result is a valid Python expression. If *x* is not a Python :class:`int` " -"object, it has to define an :meth:`~object.__index__` method that returns an" -" integer. Some examples:" -msgstr "" - -#: ../../library/functions.rst:134 -msgid "" -"If the prefix \"0b\" is desired or not, you can use either of the following " -"ways." -msgstr "" - -#: ../../library/functions.rst:141 ../../library/functions.rst:950 -#: ../../library/functions.rst:1335 -msgid "See also :func:`format` for more information." -msgstr "Lihat juga :func:`format` untuk informasi lebih lanjut." - -#: ../../library/functions.rst:146 -msgid "" -"Return a Boolean value, i.e. one of ``True`` or ``False``. The argument is " -"converted using the standard :ref:`truth testing procedure `. If the " -"argument is false or omitted, this returns ``False``; otherwise, it returns " -"``True``. The :class:`bool` class is a subclass of :class:`int` (see " -":ref:`typesnumeric`). It cannot be subclassed further. Its only instances " -"are ``False`` and ``True`` (see :ref:`typebool`)." -msgstr "" - -#: ../../library/functions.rst:156 ../../library/functions.rst:815 -msgid "The parameter is now positional-only." -msgstr "" - -#: ../../library/functions.rst:161 -msgid "" -"This function drops you into the debugger at the call site. Specifically, " -"it calls :func:`sys.breakpointhook`, passing ``args`` and ``kws`` straight " -"through. By default, ``sys.breakpointhook()`` calls :func:`pdb.set_trace` " -"expecting no arguments. In this case, it is purely a convenience function " -"so you don't have to explicitly import :mod:`pdb` or type as much code to " -"enter the debugger. However, :func:`sys.breakpointhook` can be set to some " -"other function and :func:`breakpoint` will automatically call that, allowing" -" you to drop into the debugger of choice. If :func:`sys.breakpointhook` is " -"not accessible, this function will raise :exc:`RuntimeError`." -msgstr "" - -#: ../../library/functions.rst:173 -msgid "" -"By default, the behavior of :func:`breakpoint` can be changed with the " -":envvar:`PYTHONBREAKPOINT` environment variable. See " -":func:`sys.breakpointhook` for usage details." -msgstr "" - -#: ../../library/functions.rst:177 -msgid "" -"Note that this is not guaranteed if :func:`sys.breakpointhook` has been " -"replaced." -msgstr "" - -#: ../../library/functions.rst:180 -msgid "" -"Raises an :ref:`auditing event ` ``builtins.breakpoint`` with " -"argument ``breakpointhook``." -msgstr "" -"Memunculkan :ref:`auditing event ` ``builtins.breakpoint`` dengan " -"argumen ``breakpointhook``." - -#: ../../library/functions.rst:190 -msgid "" -"Return a new array of bytes. The :class:`bytearray` class is a mutable " -"sequence of integers in the range 0 <= x < 256. It has most of the usual " -"methods of mutable sequences, described in :ref:`typesseq-mutable`, as well " -"as most methods that the :class:`bytes` type has, see :ref:`bytes-methods`." -msgstr "" -"Kembalikan array byte baru. Kelas :class:`bytearray` adalah urutan bilangan " -"bulat yang dapat berubah dalam kisaran 0 <= x <256. Ia memiliki sebagian " -"besar metode urutan-urutan yang dapat berubah, yang dijelaskan dalam " -":ref:`typesseq-mutable`, dan juga sebagian besar metode yang dimiliki oleh " -":class:`bytes`, lihat :ref:`bytes-methods`." - -#: ../../library/functions.rst:195 -msgid "" -"The optional *source* parameter can be used to initialize the array in a few" -" different ways:" -msgstr "" -"Parameter opsional *source* dapat digunakan untuk menginisialisasi array " -"dengan beberapa cara berbeda:" - -#: ../../library/functions.rst:198 -msgid "" -"If it is a *string*, you must also give the *encoding* (and optionally, " -"*errors*) parameters; :func:`bytearray` then converts the string to bytes " -"using :meth:`str.encode`." -msgstr "" -"Jika ini adalah *string*, Anda juga harus memberikan parameter *encoding* " -"(dan opsional, *errors*); :func:`bytearray` kemudian mengonversi string " -"menjadi byte menggunakan :meth:`str.encode`." - -#: ../../library/functions.rst:202 -msgid "" -"If it is an *integer*, the array will have that size and will be initialized" -" with null bytes." -msgstr "" -"Jika ini adalah *integer*, array akan memiliki ukuran itu dan akan " -"diinisialisasi dengan *null bytes*." - -#: ../../library/functions.rst:205 -msgid "" -"If it is an object conforming to the :ref:`buffer interface " -"`, a read-only buffer of the object will be used to " -"initialize the bytes array." -msgstr "" -"Jika itu adalah objek yang sesuai dengan :ref:`buffer interface`, buffer " -"yang hanya baca dari objek tersebut akan digunakan untuk menginisialisasi " -"array byte." - -#: ../../library/functions.rst:208 -msgid "" -"If it is an *iterable*, it must be an iterable of integers in the range ``0 " -"<= x < 256``, which are used as the initial contents of the array." -msgstr "" -"Jika ini adalah *iterable*, itu harus iterable dari bilangan bulat dalam " -"kisaran ``0 <= x < 256``, yang digunakan sebagai konten awal array." - -#: ../../library/functions.rst:211 -msgid "Without an argument, an array of size 0 is created." -msgstr "Tanpa argumen, dibuat array berukuran 0." - -#: ../../library/functions.rst:213 -msgid "See also :ref:`binaryseq` and :ref:`typebytearray`." -msgstr "Lihat juga: ref:`binaryseq` dan :ref:` typebytearray`." - -#: ../../library/functions.rst:222 -msgid "" -"Return a new \"bytes\" object which is an immutable sequence of integers in " -"the range ``0 <= x < 256``. :class:`bytes` is an immutable version of " -":class:`bytearray` -- it has the same non-mutating methods and the same " -"indexing and slicing behavior." -msgstr "" - -#: ../../library/functions.rst:227 -msgid "" -"Accordingly, constructor arguments are interpreted as for :func:`bytearray`." -msgstr "" -"Dengan demikian, argumen konstruktor ditafsirkan untuk :func:`bytearray`." - -#: ../../library/functions.rst:229 -msgid "Bytes objects can also be created with literals, see :ref:`strings`." -msgstr "Objek byte juga dapat dibuat dengan literal, lihat :ref:`strings`." - -#: ../../library/functions.rst:231 -msgid "See also :ref:`binaryseq`, :ref:`typebytes`, and :ref:`bytes-methods`." -msgstr "" -"Lihat juga :ref:`binaryseq`, :ref:`typebytes`, dan :ref:`bytes-methods`." - -#: ../../library/functions.rst:236 -msgid "" -"Return :const:`True` if the *object* argument appears callable, " -":const:`False` if not. If this returns ``True``, it is still possible that " -"a call fails, but if it is ``False``, calling *object* will never succeed. " -"Note that classes are callable (calling a class returns a new instance); " -"instances are callable if their class has a :meth:`~object.__call__` method." -msgstr "" - -#: ../../library/functions.rst:242 -msgid "" -"This function was first removed in Python 3.0 and then brought back in " -"Python 3.2." -msgstr "" -"Fungsi ini pertama kali dihapus di Python 3.0 dan kemudian dibawa kembali di" -" Python 3.2." - -#: ../../library/functions.rst:249 -msgid "" -"Return the string representing a character whose Unicode code point is the " -"integer *i*. For example, ``chr(97)`` returns the string ``'a'``, while " -"``chr(8364)`` returns the string ``'€'``. This is the inverse of " -":func:`ord`." -msgstr "" -"Kembalikan string yang mewakili karakter dimana titik kode Unicode sebagai " -"integer *i*. Misalnya, ``chr(97)`` mengembalikan string ``'a'``, sementara " -"``chr(8364)`` mengembalikan string ``'€'``. Ini adalah kebalikan dari " -":func:`ord`." - -#: ../../library/functions.rst:253 -msgid "" -"The valid range for the argument is from 0 through 1,114,111 (0x10FFFF in " -"base 16). :exc:`ValueError` will be raised if *i* is outside that range." -msgstr "" -"Rentang yang valid untuk argumen adalah dari 0 hingga 1.114.111 (0x10FFFF " -"dalam basis 16). :exc:`ValueError` akan ditimbulkan jika *i* berada di luar " -"rentang itu." - -#: ../../library/functions.rst:259 -msgid "Transform a method into a class method." -msgstr "Ubah metode menjadi metode kelas." - -#: ../../library/functions.rst:261 -msgid "" -"A class method receives the class as an implicit first argument, just like " -"an instance method receives the instance. To declare a class method, use " -"this idiom::" -msgstr "" - -#: ../../library/functions.rst:265 -msgid "" -"class C:\n" -" @classmethod\n" -" def f(cls, arg1, arg2): ..." -msgstr "" - -#: ../../library/functions.rst:269 -msgid "" -"The ``@classmethod`` form is a function :term:`decorator` -- see " -":ref:`function` for details." -msgstr "" -"Bentuk ``@classmethod`` adalah fungsi :term:`decorator` -- lihat " -":ref:`function` untuk detail." - -#: ../../library/functions.rst:272 -msgid "" -"A class method can be called either on the class (such as ``C.f()``) or on " -"an instance (such as ``C().f()``). The instance is ignored except for its " -"class. If a class method is called for a derived class, the derived class " -"object is passed as the implied first argument." -msgstr "" -"Metode kelas dapat dipanggil baik pada kelas (seperti ``C.f()``) atau pada " -"*instance* (seperti ``C().f()``). Instance diabaikan kecuali untuk kelasnya." -" Jika metode kelas dipanggil untuk kelas turunan, objek kelas turunan " -"dilewatkan sebagai argumen pertama yang tersirat." - -#: ../../library/functions.rst:277 -msgid "" -"Class methods are different than C++ or Java static methods. If you want " -"those, see :func:`staticmethod` in this section. For more information on " -"class methods, see :ref:`types`." -msgstr "" - -#: ../../library/functions.rst:281 -msgid "" -"Class methods can now wrap other :term:`descriptors ` such as " -":func:`property`." -msgstr "" - -#: ../../library/functions.rst:285 -msgid "" -"Class methods now inherit the method attributes " -"(:attr:`~function.__module__`, :attr:`~function.__name__`, " -":attr:`~function.__qualname__`, :attr:`~function.__doc__` and " -":attr:`~function.__annotations__`) and have a new ``__wrapped__`` attribute." -msgstr "" - -#: ../../library/functions.rst:292 -msgid "" -"Class methods can no longer wrap other :term:`descriptors ` such" -" as :func:`property`." -msgstr "" - -#: ../../library/functions.rst:299 -msgid "" -"Compile the *source* into a code or AST object. Code objects can be " -"executed by :func:`exec` or :func:`eval`. *source* can either be a normal " -"string, a byte string, or an AST object. Refer to the :mod:`ast` module " -"documentation for information on how to work with AST objects." -msgstr "" -"Kompilasi *source* menjadi kode atau objek AST. Objek kode dapat dieksekusi " -"oleh :func:`exec` atau :func:`eval`. *source* dapat berupa string normal, " -"string byte, atau objek AST. Rujuk ke dokumentasi modul :mod:`ast` untuk " -"informasi tentang cara bekerja dengan objek AST." - -#: ../../library/functions.rst:304 -msgid "" -"The *filename* argument should give the file from which the code was read; " -"pass some recognizable value if it wasn't read from a file (``''`` " -"is commonly used)." -msgstr "" -"Argumen *filename* harus memberikan berkas dari mana kode dibaca; berikan " -"nilai yang dapat dikenali jika tidak dibaca dari berkas (``''`` " -"biasa digunakan)." - -#: ../../library/functions.rst:308 -msgid "" -"The *mode* argument specifies what kind of code must be compiled; it can be " -"``'exec'`` if *source* consists of a sequence of statements, ``'eval'`` if " -"it consists of a single expression, or ``'single'`` if it consists of a " -"single interactive statement (in the latter case, expression statements that" -" evaluate to something other than ``None`` will be printed)." -msgstr "" -"Argumen *mode* menentukan jenis kode apa yang harus dikompilasi; itu bisa " -"``'exec'`` jika *source* terdiri dari urutan pernyataan, ``'eval'`` jika " -"terdiri dari satu ekspresi, atau ``'single'`` jika terdiri dari satu " -"pernyataan interaktif (dalam kasus terakhir, pernyataan ekspresi yang " -"mengevaluasi sesuatu selain ``None`` akan dicetak)." - -#: ../../library/functions.rst:314 -msgid "" -"The optional arguments *flags* and *dont_inherit* control which " -":ref:`compiler options ` should be activated and which " -":ref:`future features ` should be allowed. If neither is present (or" -" both are zero) the code is compiled with the same flags that affect the " -"code that is calling :func:`compile`. If the *flags* argument is given and " -"*dont_inherit* is not (or is zero) then the compiler options and the future " -"statements specified by the *flags* argument are used in addition to those " -"that would be used anyway. If *dont_inherit* is a non-zero integer then the " -"*flags* argument is it -- the flags (future features and compiler options) " -"in the surrounding code are ignored." -msgstr "" - -#: ../../library/functions.rst:325 -msgid "" -"Compiler options and future statements are specified by bits which can be " -"bitwise ORed together to specify multiple options. The bitfield required to " -"specify a given future feature can be found as the " -":attr:`~__future__._Feature.compiler_flag` attribute on the " -":class:`~__future__._Feature` instance in the :mod:`__future__` module. " -":ref:`Compiler flags ` can be found in :mod:`ast` " -"module, with ``PyCF_`` prefix." -msgstr "" - -#: ../../library/functions.rst:333 -msgid "" -"The argument *optimize* specifies the optimization level of the compiler; " -"the default value of ``-1`` selects the optimization level of the " -"interpreter as given by :option:`-O` options. Explicit levels are ``0`` (no" -" optimization; ``__debug__`` is true), ``1`` (asserts are removed, " -"``__debug__`` is false) or ``2`` (docstrings are removed too)." -msgstr "" -"Argumen *optimize* menentukan tingkat optimisasi *compiler*; nilai default " -"``-1`` memilih tingkat optimisasi interpreter seperti yang diberikan oleh " -"opsi :option:`-O`. Level eksplisitnya adalah ``0`` (tidak ada optimisasi; " -"``__debug__`` bernilai benar), ``1`` (*asserts* dihapus, ``__debug__`` " -"bernilai salah) atau ``2`` (*docstrings* juga dihapus )." - -#: ../../library/functions.rst:339 -msgid "" -"This function raises :exc:`SyntaxError` if the compiled source is invalid, " -"and :exc:`ValueError` if the source contains null bytes." -msgstr "" -"Fungsi ini memunculkan :exc:`SyntaxError` jika sumber yang dikompilasi tidak" -" valid, dan :exc:`ValueError` jika sumbernya berisi byte *null*." - -#: ../../library/functions.rst:342 -msgid "" -"If you want to parse Python code into its AST representation, see " -":func:`ast.parse`." -msgstr "" -"Jika Anda ingin mengurai kode Python ke dalam representasi AST-nya, lihat " -":func:`ast.parse`." - -#: ../../library/functions.rst:345 ../../library/functions.rst:347 -msgid "" -"Raises an :ref:`auditing event ` ``compile`` with arguments " -"``source`` and ``filename``. This event may also be raised by implicit " -"compilation." -msgstr "" -"Memunculkan :ref:`auditing event ` ``compile`` dengan argumen " -"``source`` dan ``filename``. *event* ini juga dapat dimunculkan oleh " -"kompilasi implisit." - -#: ../../library/functions.rst:353 -msgid "" -"When compiling a string with multi-line code in ``'single'`` or ``'eval'`` " -"mode, input must be terminated by at least one newline character. This is " -"to facilitate detection of incomplete and complete statements in the " -":mod:`code` module." -msgstr "" -"Ketika mengkompilasi string dengan kode multi-baris dalam mode ``'single'`` " -"atau ``'eval'``, masukan harus diakhiri oleh setidaknya satu karakter baris " -"baru. Ini untuk memudahkan deteksi pernyataan tidak lengkap dan lengkap " -"dalam modul :mod:`code`." - -#: ../../library/functions.rst:360 -msgid "" -"It is possible to crash the Python interpreter with a sufficiently " -"large/complex string when compiling to an AST object due to stack depth " -"limitations in Python's AST compiler." -msgstr "" -"Dimungkinkan untuk membuat *crash* *interpreter* Python dengan string yang " -"cukup besar/kompleks ketika dikompilasi ke objek AST karena batasan " -"kedalaman tumpukan dalam kompiler AST Python." - -#: ../../library/functions.rst:364 -msgid "" -"Allowed use of Windows and Mac newlines. Also, input in ``'exec'`` mode " -"does not have to end in a newline anymore. Added the *optimize* parameter." -msgstr "" - -#: ../../library/functions.rst:368 -msgid "" -"Previously, :exc:`TypeError` was raised when null bytes were encountered in " -"*source*." -msgstr "" -"Sebelumnya, :exc:`TypeError` dimunculkan ketika byte *null* ditemui di " -"*source*." - -#: ../../library/functions.rst:372 -msgid "" -"``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` can now be passed in flags to enable " -"support for top-level ``await``, ``async for``, and ``async with``." -msgstr "" -"``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` sekarang dapat diberikan tanda untuk " -"mengaktifkan dukungan untuk ``await``, ``async for``, dan ``async with`` " -"tingkat atas." - -#: ../../library/functions.rst:381 -msgid "" -"Convert a single string or number to a complex number, or create a complex " -"number from real and imaginary parts." -msgstr "" - -#: ../../library/functions.rst:384 ../../library/functions.rst:758 -#: ../../library/functions.rst:1006 -msgid "Examples:" -msgstr "Contoh-contoh:" - -#: ../../library/functions.rst:386 -msgid "" -">>> complex('+1.23')\n" -"(1.23+0j)\n" -">>> complex('-4.5j')\n" -"-4.5j\n" -">>> complex('-1.23+4.5j')\n" -"(-1.23+4.5j)\n" -">>> complex('\\t( -1.23+4.5J )\\n')\n" -"(-1.23+4.5j)\n" -">>> complex('-Infinity+NaNj')\n" -"(-inf+nanj)\n" -">>> complex(1.23)\n" -"(1.23+0j)\n" -">>> complex(imag=-4.5)\n" -"-4.5j\n" -">>> complex(-1.23, 4.5)\n" -"(-1.23+4.5j)" -msgstr "" - -#: ../../library/functions.rst:405 -msgid "" -"If the argument is a string, it must contain either a real part (in the same" -" format as for :func:`float`) or an imaginary part (in the same format but " -"with a ``'j'`` or ``'J'`` suffix), or both real and imaginary parts (the " -"sign of the imaginary part is mandatory in this case). The string can " -"optionally be surrounded by whitespaces and the round parentheses ``'('`` " -"and ``')'``, which are ignored. The string must not contain whitespace " -"between ``'+'``, ``'-'``, the ``'j'`` or ``'J'`` suffix, and the decimal " -"number. For example, ``complex('1+2j')`` is fine, but ``complex('1 + 2j')`` " -"raises :exc:`ValueError`. More precisely, the input must conform to the " -":token:`~float:complexvalue` production rule in the following grammar, after" -" parentheses and leading and trailing whitespace characters are removed:" -msgstr "" - -#: ../../library/functions.rst:424 -msgid "" -"If the argument is a number, the constructor serves as a numeric conversion " -"like :class:`int` and :class:`float`. For a general Python object ``x``, " -"``complex(x)`` delegates to ``x.__complex__()``. If " -":meth:`~object.__complex__` is not defined then it falls back to " -":meth:`~object.__float__`. If :meth:`!__float__` is not defined then it " -"falls back to :meth:`~object.__index__`." -msgstr "" - -#: ../../library/functions.rst:433 -msgid "" -"If two arguments are provided or keyword arguments are used, each argument " -"may be any numeric type (including complex). If both arguments are real " -"numbers, return a complex number with the real component *real* and the " -"imaginary component *imag*. If both arguments are complex numbers, return a " -"complex number with the real component ``real.real-imag.imag`` and the " -"imaginary component ``real.imag+imag.real``. If one of arguments is a real " -"number, only its real component is used in the above expressions." -msgstr "" - -#: ../../library/functions.rst:443 -msgid "" -"See also :meth:`complex.from_number` which only accepts a single numeric " -"argument." -msgstr "" - -#: ../../library/functions.rst:445 -msgid "If all arguments are omitted, returns ``0j``." -msgstr "" - -#: ../../library/functions.rst:447 -msgid "The complex type is described in :ref:`typesnumeric`." -msgstr "Tipe kompleks dijelaskan dalam :ref:`typesnumeric`." - -#: ../../library/functions.rst:449 ../../library/functions.rst:812 -#: ../../library/functions.rst:1054 -msgid "Grouping digits with underscores as in code literals is allowed." -msgstr "" -"Pengelompokan angka dengan garis bawah seperti dalam literal kode " -"diperbolehkan." - -#: ../../library/functions.rst:452 -msgid "" -"Falls back to :meth:`~object.__index__` if :meth:`~object.__complex__` and " -":meth:`~object.__float__` are not defined." -msgstr "" - -#: ../../library/functions.rst:456 -msgid "" -"Passing a complex number as the *real* or *imag* argument is now deprecated;" -" it should only be passed as a single positional argument." -msgstr "" - -#: ../../library/functions.rst:463 -msgid "" -"This is a relative of :func:`setattr`. The arguments are an object and a " -"string. The string must be the name of one of the object's attributes. The" -" function deletes the named attribute, provided the object allows it. For " -"example, ``delattr(x, 'foobar')`` is equivalent to ``del x.foobar``. *name* " -"need not be a Python identifier (see :func:`setattr`)." -msgstr "" - -#: ../../library/functions.rst:476 -msgid "" -"Create a new dictionary. The :class:`dict` object is the dictionary class. " -"See :class:`dict` and :ref:`typesmapping` for documentation about this " -"class." -msgstr "" -"Buat *dictionary* baru. Objek :class:`dict` adalah kelas kamus *dictionary*." -" Lihat :class:`dict` dan :ref:`typesmapping` untuk dokumentasi tentang kelas" -" ini." - -#: ../../library/functions.rst:479 -msgid "" -"For other containers see the built-in :class:`list`, :class:`set`, and " -":class:`tuple` classes, as well as the :mod:`collections` module." -msgstr "" -"Untuk wadah *containers* lain, lihat kelas-kelas bawaan :class: `list`, " -":class:`set`, dan :class:`tuple`, dan juga modul :mod:`collections`." - -#: ../../library/functions.rst:486 -msgid "" -"Without arguments, return the list of names in the current local scope. " -"With an argument, attempt to return a list of valid attributes for that " -"object." -msgstr "" -"Tanpa argumen, kembalikan daftar *list* nama dalam lingkup lokal saat ini. " -"Dengan argumen, mencoba untuk mengembalikan daftar *list* atribut yang valid" -" untuk objek itu." - -#: ../../library/functions.rst:489 -msgid "" -"If the object has a method named :meth:`~object.__dir__`, this method will " -"be called and must return the list of attributes. This allows objects that " -"implement a custom :func:`~object.__getattr__` or " -":func:`~object.__getattribute__` function to customize the way :func:`dir` " -"reports their attributes." -msgstr "" - -#: ../../library/functions.rst:496 -msgid "" -"If the object does not provide :meth:`~object.__dir__`, the function tries " -"its best to gather information from the object's :attr:`~object.__dict__` " -"attribute, if defined, and from its type object. The resulting list is not " -"necessarily complete and may be inaccurate when the object has a custom " -":func:`~object.__getattr__`." -msgstr "" - -#: ../../library/functions.rst:502 -msgid "" -"The default :func:`dir` mechanism behaves differently with different types " -"of objects, as it attempts to produce the most relevant, rather than " -"complete, information:" -msgstr "" -"Mekanisme bawaan :func:`dir` berperilaku berbeda dengan berbagai jenis " -"objek, karena berusaha menghasilkan informasi yang paling relevan, dibanding" -" lengkap,:" - -#: ../../library/functions.rst:506 -msgid "" -"If the object is a module object, the list contains the names of the " -"module's attributes." -msgstr "Jika objek adalah objek modul, daftar berisi nama-nama atribut modul." - -#: ../../library/functions.rst:509 -msgid "" -"If the object is a type or class object, the list contains the names of its " -"attributes, and recursively of the attributes of its bases." -msgstr "" -"Jika objek adalah tipe atau objek kelas, daftar berisi nama atributnya, dan " -"secara rekursif atribut dari basisnya." - -#: ../../library/functions.rst:512 -msgid "" -"Otherwise, the list contains the object's attributes' names, the names of " -"its class's attributes, and recursively of the attributes of its class's " -"base classes." -msgstr "" -"Jika tidak, daftar berisi nama atribut objek, nama atribut kelasnya, dan " -"secara rekursif atribut dari kelas dasar kelasnya." - -#: ../../library/functions.rst:516 -msgid "The resulting list is sorted alphabetically. For example:" -msgstr "Daftar yang dihasilkan diurutkan berdasarkan abjad. Sebagai contoh:" - -#: ../../library/functions.rst:536 -msgid "" -"Because :func:`dir` is supplied primarily as a convenience for use at an " -"interactive prompt, it tries to supply an interesting set of names more than" -" it tries to supply a rigorously or consistently defined set of names, and " -"its detailed behavior may change across releases. For example, metaclass " -"attributes are not in the result list when the argument is a class." -msgstr "" -"Karena :func:`dir` disediakan terutama sebagai kenyamanan untuk digunakan " -"pada prompt interaktif, ia mencoba untuk memasok sekumpulan nama yang " -"menarik lebih dari sekedar untuk menyediakan sekumpulan nama yang " -"didefinisikan secara ketat atau konsisten, dan perilakunya yang terperinci " -"dapat berubah lintas rilis. Misalnya, atribut metaclass tidak ada dalam " -"daftar hasil ketika argumennya adalah kelas." - -#: ../../library/functions.rst:546 -msgid "" -"Take two (non-complex) numbers as arguments and return a pair of numbers " -"consisting of their quotient and remainder when using integer division. " -"With mixed operand types, the rules for binary arithmetic operators apply. " -"For integers, the result is the same as ``(a // b, a % b)``. For floating-" -"point numbers the result is ``(q, a % b)``, where *q* is usually " -"``math.floor(a / b)`` but may be 1 less than that. In any case ``q * b + a " -"% b`` is very close to *a*, if ``a % b`` is non-zero it has the same sign as" -" *b*, and ``0 <= abs(a % b) < abs(b)``." -msgstr "" - -#: ../../library/functions.rst:558 -msgid "" -"Return an enumerate object. *iterable* must be a sequence, an " -":term:`iterator`, or some other object which supports iteration. The " -":meth:`~iterator.__next__` method of the iterator returned by " -":func:`enumerate` returns a tuple containing a count (from *start* which " -"defaults to 0) and the values obtained from iterating over *iterable*." -msgstr "" -"Kembalikan objek enumerasi. *iterable* harus berupa urutan, sebuah " -":term:`iterator`, atau objek lain yang mendukung iterasi. The " -":meth:`~iterator.__next__` metode iterator dikembalikan oleh " -":func:`enumerate` mengembalikan tuple yang berisi hitungan (dari *start* " -"yang bawaan ke 0) dan nilai yang diperoleh dari mengelilingi *iterable*." - -#: ../../library/functions.rst:570 -msgid "Equivalent to::" -msgstr "Setara dengan::" - -#: ../../library/functions.rst:572 -msgid "" -"def enumerate(iterable, start=0):\n" -" n = start\n" -" for elem in iterable:\n" -" yield n, elem\n" -" n += 1" -msgstr "" - -#: ../../library/functions.rst:0 -msgid "Parameters" -msgstr "Parameter" - -#: ../../library/functions.rst:582 -msgid "A Python expression." -msgstr "" - -#: ../../library/functions.rst:586 -msgid "The global namespace (default: ``None``)." -msgstr "" - -#: ../../library/functions.rst:590 -msgid "The local namespace (default: ``None``)." -msgstr "" - -#: ../../library/functions.rst:0 -msgid "Returns" -msgstr "Kembalian" - -#: ../../library/functions.rst:594 -msgid "The result of the evaluated expression." -msgstr "" - -#: ../../library/functions.rst:0 -msgid "raises" -msgstr "" - -#: ../../library/functions.rst:595 -msgid "Syntax errors are reported as exceptions." -msgstr "" - -#: ../../library/functions.rst:599 ../../library/functions.rst:660 -msgid "" -"This function executes arbitrary code. Calling it with user-supplied input " -"may lead to security vulnerabilities." -msgstr "" - -#: ../../library/functions.rst:602 -msgid "" -"The *expression* argument is parsed and evaluated as a Python expression " -"(technically speaking, a condition list) using the *globals* and *locals* " -"mappings as global and local namespace. If the *globals* dictionary is " -"present and does not contain a value for the key ``__builtins__``, a " -"reference to the dictionary of the built-in module :mod:`builtins` is " -"inserted under that key before *expression* is parsed. That way you can " -"control what builtins are available to the executed code by inserting your " -"own ``__builtins__`` dictionary into *globals* before passing it to " -":func:`eval`. If the *locals* mapping is omitted it defaults to the " -"*globals* dictionary. If both mappings are omitted, the expression is " -"executed with the *globals* and *locals* in the environment where " -":func:`eval` is called. Note, *eval()* will only have access to the " -":term:`nested scopes ` (non-locals) in the enclosing " -"environment if they are already referenced in the scope that is calling " -":func:`eval` (e.g. via a :keyword:`nonlocal` statement)." -msgstr "" - -#: ../../library/functions.rst:618 -msgid "Example:" -msgstr "Contoh:" - -#: ../../library/functions.rst:624 -msgid "" -"This function can also be used to execute arbitrary code objects (such as " -"those created by :func:`compile`). In this case, pass a code object instead" -" of a string. If the code object has been compiled with ``'exec'`` as the " -"*mode* argument, :func:`eval`\\'s return value will be ``None``." -msgstr "" - -#: ../../library/functions.rst:629 -msgid "" -"Hints: dynamic execution of statements is supported by the :func:`exec` " -"function. The :func:`globals` and :func:`locals` functions return the " -"current global and local dictionary, respectively, which may be useful to " -"pass around for use by :func:`eval` or :func:`exec`." -msgstr "" - -#: ../../library/functions.rst:634 -msgid "" -"If the given source is a string, then leading and trailing spaces and tabs " -"are stripped." -msgstr "" - -#: ../../library/functions.rst:637 -msgid "" -"See :func:`ast.literal_eval` for a function that can safely evaluate strings" -" with expressions containing only literals." -msgstr "" -"Lihat :func:`ast.literal_eval` untuk fungsi yang dapat dengan aman " -"mengevaluasi string dengan ekspresi yang hanya mengandung literal." - -#: ../../library/functions.rst:640 ../../library/functions.rst:642 -#: ../../library/functions.rst:702 ../../library/functions.rst:704 -msgid "" -"Raises an :ref:`auditing event ` ``exec`` with the code object as " -"the argument. Code compilation events may also be raised." -msgstr "" -"Memunculkan :ref:`auditing event ` ``exec`` dengan objek kode " -"sebagai argumen. Kompilasi kode *events* juga dapat dimunculkan." - -#: ../../library/functions.rst:647 ../../library/functions.rst:724 -msgid "The *globals* and *locals* arguments can now be passed as keywords." -msgstr "" - -#: ../../library/functions.rst:651 ../../library/functions.rst:728 -msgid "" -"The semantics of the default *locals* namespace have been adjusted as " -"described for the :func:`locals` builtin." -msgstr "" - -#: ../../library/functions.rst:663 -msgid "" -"This function supports dynamic execution of Python code. *source* must be " -"either a string or a code object. If it is a string, the string is parsed " -"as a suite of Python statements which is then executed (unless a syntax " -"error occurs). [#]_ If it is a code object, it is simply executed. In all " -"cases, the code that's executed is expected to be valid as file input (see " -"the section :ref:`file-input` in the Reference Manual). Be aware that the " -":keyword:`nonlocal`, :keyword:`yield`, and :keyword:`return` statements may" -" not be used outside of function definitions even within the context of code" -" passed to the :func:`exec` function. The return value is ``None``." -msgstr "" - -#: ../../library/functions.rst:674 -msgid "" -"In all cases, if the optional parts are omitted, the code is executed in the" -" current scope. If only *globals* is provided, it must be a dictionary (and" -" not a subclass of dictionary), which will be used for both the global and " -"the local variables. If *globals* and *locals* are given, they are used for" -" the global and local variables, respectively. If provided, *locals* can be" -" any mapping object. Remember that at the module level, globals and locals " -"are the same dictionary." -msgstr "" - -#: ../../library/functions.rst:684 -msgid "" -"When ``exec`` gets two separate objects as *globals* and *locals*, the code " -"will be executed as if it were embedded in a class definition. This means " -"functions and classes defined in the executed code will not be able to " -"access variables assigned at the top level (as the \"top level\" variables " -"are treated as class variables in a class definition)." -msgstr "" - -#: ../../library/functions.rst:690 -msgid "" -"If the *globals* dictionary does not contain a value for the key " -"``__builtins__``, a reference to the dictionary of the built-in module " -":mod:`builtins` is inserted under that key. That way you can control what " -"builtins are available to the executed code by inserting your own " -"``__builtins__`` dictionary into *globals* before passing it to " -":func:`exec`." -msgstr "" -"Jika *dictionary* *globals* tidak mengandung nilai untuk kunci " -"``__builtins__``, referensi ke *dictionary* modul bawaan :mod:`builtins` " -"dimasukkan di bawah kunci itu. Dengan begitu Anda dapat mengontrol bawaan " -"apa yang tersedia untuk kode yang dieksekusi dengan memasukkan *dictionary* " -"``__builtins__`` Anda sendiri ke *globals* sebelum meneruskannya ke " -":func:`exec`." - -#: ../../library/functions.rst:696 -msgid "" -"The *closure* argument specifies a closure--a tuple of cellvars. It's only " -"valid when the *object* is a code object containing :term:`free (closure) " -"variables `. The length of the tuple must exactly match " -"the length of the code object's :attr:`~codeobject.co_freevars` attribute." -msgstr "" - -#: ../../library/functions.rst:709 -msgid "" -"The built-in functions :func:`globals` and :func:`locals` return the current" -" global and local namespace, respectively, which may be useful to pass " -"around for use as the second and third argument to :func:`exec`." -msgstr "" - -#: ../../library/functions.rst:715 -msgid "" -"The default *locals* act as described for function :func:`locals` below. " -"Pass an explicit *locals* dictionary if you need to see effects of the code " -"on *locals* after function :func:`exec` returns." -msgstr "" - -#: ../../library/functions.rst:719 -msgid "Added the *closure* parameter." -msgstr "" - -#: ../../library/functions.rst:734 -msgid "" -"Construct an iterator from those elements of *iterable* for which *function*" -" is true. *iterable* may be either a sequence, a container which supports " -"iteration, or an iterator. If *function* is ``None``, the identity function" -" is assumed, that is, all elements of *iterable* that are false are removed." -msgstr "" - -#: ../../library/functions.rst:740 -msgid "" -"Note that ``filter(function, iterable)`` is equivalent to the generator " -"expression ``(item for item in iterable if function(item))`` if function is " -"not ``None`` and ``(item for item in iterable if item)`` if function is " -"``None``." -msgstr "" -"Perhatikan bahwa ``filter(function, iterable)`` setara dengan ekspresi " -"generator ``(item for item in iterable if function(item))`` jika *function* " -"tidak ``None`` dan ``(item for item in iterable if item)`` if *function* " -"adalah ``None``." - -#: ../../library/functions.rst:745 -msgid "" -"See :func:`itertools.filterfalse` for the complementary function that " -"returns elements of *iterable* for which *function* is false." -msgstr "" - -#: ../../library/functions.rst:756 -msgid "Return a floating-point number constructed from a number or a string." -msgstr "" - -#: ../../library/functions.rst:760 -msgid "" -">>> float('+1.23')\n" -"1.23\n" -">>> float(' -12345\\n')\n" -"-12345.0\n" -">>> float('1e-003')\n" -"0.001\n" -">>> float('+1E6')\n" -"1000000.0\n" -">>> float('-Infinity')\n" -"-inf" -msgstr "" - -#: ../../library/functions.rst:773 -msgid "" -"If the argument is a string, it should contain a decimal number, optionally " -"preceded by a sign, and optionally embedded in whitespace. The optional " -"sign may be ``'+'`` or ``'-'``; a ``'+'`` sign has no effect on the value " -"produced. The argument may also be a string representing a NaN (not-a-" -"number), or positive or negative infinity. More precisely, the input must " -"conform to the :token:`~float:floatvalue` production rule in the following " -"grammar, after leading and trailing whitespace characters are removed:" -msgstr "" - -#: ../../library/functions.rst:794 -msgid "" -"Case is not significant, so, for example, \"inf\", \"Inf\", \"INFINITY\", " -"and \"iNfINity\" are all acceptable spellings for positive infinity." -msgstr "" - -#: ../../library/functions.rst:797 -msgid "" -"Otherwise, if the argument is an integer or a floating-point number, a " -"floating-point number with the same value (within Python's floating-point " -"precision) is returned. If the argument is outside the range of a Python " -"float, an :exc:`OverflowError` will be raised." -msgstr "" - -#: ../../library/functions.rst:802 -msgid "" -"For a general Python object ``x``, ``float(x)`` delegates to " -"``x.__float__()``. If :meth:`~object.__float__` is not defined then it " -"falls back to :meth:`~object.__index__`." -msgstr "" - -#: ../../library/functions.rst:806 -msgid "" -"See also :meth:`float.from_number` which only accepts a numeric argument." -msgstr "" - -#: ../../library/functions.rst:808 -msgid "If no argument is given, ``0.0`` is returned." -msgstr "Jika tidak ada argumen yang diberikan, dikembalikan sebagai ``0.0``." - -#: ../../library/functions.rst:810 -msgid "The float type is described in :ref:`typesnumeric`." -msgstr "Tipe float dijelaskan dalam :ref:`typesnumeric`." - -#: ../../library/functions.rst:818 -msgid "" -"Falls back to :meth:`~object.__index__` if :meth:`~object.__float__` is not " -"defined." -msgstr "" - -#: ../../library/functions.rst:828 -msgid "" -"Convert a *value* to a \"formatted\" representation, as controlled by " -"*format_spec*. The interpretation of *format_spec* will depend on the type " -"of the *value* argument; however, there is a standard formatting syntax that" -" is used by most built-in types: :ref:`formatspec`." -msgstr "" - -#: ../../library/functions.rst:833 -msgid "" -"The default *format_spec* is an empty string which usually gives the same " -"effect as calling :func:`str(value) `." -msgstr "" -"Default *format_spec* adalah string kosong yang biasanya memberikan efek " -"yang sama dengan memanggil :func:`str(value) `." - -#: ../../library/functions.rst:836 -msgid "" -"A call to ``format(value, format_spec)`` is translated to " -"``type(value).__format__(value, format_spec)`` which bypasses the instance " -"dictionary when searching for the value's :meth:`~object.__format__` method." -" A :exc:`TypeError` exception is raised if the method search reaches " -":mod:`object` and the *format_spec* is non-empty, or if either the " -"*format_spec* or the return value are not strings." -msgstr "" - -#: ../../library/functions.rst:843 -msgid "" -"``object().__format__(format_spec)`` raises :exc:`TypeError` if " -"*format_spec* is not an empty string." -msgstr "" -"``object().__format__(format_spec)`` menimbulkan :exc:`TypeError` jika " -"*format_spec* bukan string kosong." - -#: ../../library/functions.rst:852 -msgid "" -"Return a new :class:`frozenset` object, optionally with elements taken from " -"*iterable*. ``frozenset`` is a built-in class. See :class:`frozenset` and " -":ref:`types-set` for documentation about this class." -msgstr "" -"Kembalikan objek baru :class:`frozenset`, secara opsional dengan elemen yang" -" diambil dari *iterable*. ``frozenset`` adalah kelas bawaan. Lihat " -":class:`frozenset` dan :ref:`types-set` untuk dokumentasi tentang kelas ini." - -#: ../../library/functions.rst:856 -msgid "" -"For other containers see the built-in :class:`set`, :class:`list`, " -":class:`tuple`, and :class:`dict` classes, as well as the :mod:`collections`" -" module." -msgstr "" -"Untuk wadah *containers* lain lihat kelas-kelas bawaan :class:`set`, " -":class:`list`,: class: `tuple`, dan :class:`dict`, serta modul " -":mod:`collections`." - -#: ../../library/functions.rst:864 -msgid "" -"Return the value of the named attribute of *object*. *name* must be a " -"string. If the string is the name of one of the object's attributes, the " -"result is the value of that attribute. For example, ``getattr(x, " -"'foobar')`` is equivalent to ``x.foobar``. If the named attribute does not " -"exist, *default* is returned if provided, otherwise :exc:`AttributeError` is" -" raised. *name* need not be a Python identifier (see :func:`setattr`)." -msgstr "" - -#: ../../library/functions.rst:873 -msgid "" -"Since :ref:`private name mangling ` happens at " -"compilation time, one must manually mangle a private attribute's (attributes" -" with two leading underscores) name in order to retrieve it with " -":func:`getattr`." -msgstr "" - -#: ../../library/functions.rst:881 -msgid "" -"Return the dictionary implementing the current module namespace. For code " -"within functions, this is set when the function is defined and remains the " -"same regardless of where the function is called." -msgstr "" - -#: ../../library/functions.rst:888 -msgid "" -"The arguments are an object and a string. The result is ``True`` if the " -"string is the name of one of the object's attributes, ``False`` if not. " -"(This is implemented by calling ``getattr(object, name)`` and seeing whether" -" it raises an :exc:`AttributeError` or not.)" -msgstr "" -"Argumen adalah objek dan string. Hasilnya adalah ``True`` jika string adalah" -" nama salah satu atribut objek, ``False`` jika tidak. (Ini diimplementasikan" -" dengan memanggil ``getattr(object, name)`` dan melihat apakah itu " -"memunculkan :exc:`AttributeError` atau tidak.)" - -#: ../../library/functions.rst:896 -msgid "" -"Return the hash value of the object (if it has one). Hash values are " -"integers. They are used to quickly compare dictionary keys during a " -"dictionary lookup. Numeric values that compare equal have the same hash " -"value (even if they are of different types, as is the case for 1 and 1.0)." -msgstr "" -"Kembalikan nilai hash objek (jika ada). Nilai hash adalah bilangan bulat. " -"Mereka digunakan untuk dengan cepat membandingkan kunci kamus *dictionary " -"keys* selama pencarian dictionary. Nilai numerik yang membandingkan sama " -"memiliki nilai hash yang sama (bahkan jika mereka dari jenis yang berbeda, " -"seperti halnya untuk 1 dan 1.0)." - -#: ../../library/functions.rst:903 -msgid "" -"For objects with custom :meth:`~object.__hash__` methods, note that " -":func:`hash` truncates the return value based on the bit width of the host " -"machine." -msgstr "" - -#: ../../library/functions.rst:910 -msgid "" -"Invoke the built-in help system. (This function is intended for interactive" -" use.) If no argument is given, the interactive help system starts on the " -"interpreter console. If the argument is a string, then the string is looked" -" up as the name of a module, function, class, method, keyword, or " -"documentation topic, and a help page is printed on the console. If the " -"argument is any other kind of object, a help page on the object is " -"generated." -msgstr "" -"Meminta sistem bantuan bawaan. (Fungsi ini dimaksudkan untuk penggunaan " -"interaktif.) Jika tidak ada argumen yang diberikan, sistem bantuan " -"interaktif dimulai pada konsol interpreter. Jika argumennya adalah string, " -"maka string tersebut dicari sebagai nama modul, fungsi, kelas, metode, kata " -"kunci, atau topik dokumentasi, dan halaman bantuan dicetak pada konsol. Jika" -" argumennya adalah objek jenis apa pun, halaman bantuan tentang objek " -"tersebut dihasilkan." - -#: ../../library/functions.rst:917 -msgid "" -"Note that if a slash(/) appears in the parameter list of a function when " -"invoking :func:`help`, it means that the parameters prior to the slash are " -"positional-only. For more info, see :ref:`the FAQ entry on positional-only " -"parameters `." -msgstr "" - -#: ../../library/functions.rst:922 -msgid "" -"This function is added to the built-in namespace by the :mod:`site` module." -msgstr "" -"Fungsi ini ditambahkan ke *namespace* bawaan dengan modul :mod:`site`." - -#: ../../library/functions.rst:924 -msgid "" -"Changes to :mod:`pydoc` and :mod:`inspect` mean that the reported signatures" -" for callables are now more comprehensive and consistent." -msgstr "" -"Perubahan ke :mod:`pydoc` dan :mod:`inspect` berarti bahwa tanda tangan " -"*signatures* yang dilaporkan untuk *callables* sekarang lebih komprehensif " -"dan konsisten." - -#: ../../library/functions.rst:931 -msgid "" -"Convert an integer number to a lowercase hexadecimal string prefixed with " -"\"0x\". If *x* is not a Python :class:`int` object, it has to define an " -":meth:`~object.__index__` method that returns an integer. Some examples:" -msgstr "" - -#: ../../library/functions.rst:940 -msgid "" -"If you want to convert an integer number to an uppercase or lower " -"hexadecimal string with prefix or not, you can use either of the following " -"ways:" -msgstr "" -"Jika Anda ingin mengonversi bilangan bulat menjadi string heksadesimal huruf" -" besar atau huruf kecil dengan awalan atau tidak, Anda dapat menggunakan " -"salah satu dari cara berikut:" - -#: ../../library/functions.rst:952 -msgid "" -"See also :func:`int` for converting a hexadecimal string to an integer using" -" a base of 16." -msgstr "" -"Lihat juga :func:`int` untuk mengonversi string heksadesimal menjadi integer" -" menggunakan basis 16." - -#: ../../library/functions.rst:957 -msgid "" -"To obtain a hexadecimal string representation for a float, use the " -":meth:`float.hex` method." -msgstr "" -"Untuk mendapatkan representasi string heksadesimal untuk float, gunakan " -"metode :meth:`float.hex`." - -#: ../../library/functions.rst:963 -msgid "" -"Return the \"identity\" of an object. This is an integer which is " -"guaranteed to be unique and constant for this object during its lifetime. " -"Two objects with non-overlapping lifetimes may have the same :func:`id` " -"value." -msgstr "" -"Kembalikan \"identity\" suatu objek. Ini adalah bilangan bulat yang dijamin " -"unik dan konstan untuk objek ini selama masa pakainya. Dua objek dengan masa" -" hidup yang tidak tumpang tindih mungkin memiliki nilai yang sama " -":func:`id`." - -#: ../../library/functions.rst:968 -msgid "This is the address of the object in memory." -msgstr "" - -#: ../../library/functions.rst:970 -msgid "" -"Raises an :ref:`auditing event ` ``builtins.id`` with argument " -"``id``." -msgstr "" -"Memunculkan sebuah :ref:`auditing event` ``builtins.id`` dengan argumen " -"``id``." - -#: ../../library/functions.rst:976 -msgid "" -"If the *prompt* argument is present, it is written to standard output " -"without a trailing newline. The function then reads a line from input, " -"converts it to a string (stripping a trailing newline), and returns that. " -"When EOF is read, :exc:`EOFError` is raised. Example::" -msgstr "" -"Jika argumen *prompt* ada, ini ditulis ke keluaran standar tanpa baris " -"tambahan. Fungsi ini kemudian membaca sebuah baris dari masukan, mengubahnya" -" menjadi sebuah string (menghapus baris baru yang tertinggal), dan " -"mengembalikannya. Ketika EOF dibaca, :exc:`EOFError` dimunculkan. Contoh::" - -#: ../../library/functions.rst:981 -msgid "" -">>> s = input('--> ')\n" -"--> Monty Python's Flying Circus\n" -">>> s\n" -"\"Monty Python's Flying Circus\"" -msgstr "" - -#: ../../library/functions.rst:986 -msgid "" -"If the :mod:`readline` module was loaded, then :func:`input` will use it to " -"provide elaborate line editing and history features." -msgstr "" -"Jika modul :mod:`readline` dimuat, maka :func:`input` akan menggunakannya " -"untuk menyediakan fitur pengeditan baris dan riwayat." - -#: ../../library/functions.rst:989 ../../library/functions.rst:991 -msgid "" -"Raises an :ref:`auditing event ` ``builtins.input`` with argument " -"``prompt`` before reading input" -msgstr "" -"Memunculkan :ref:`auditing event ` ``builtins.input`` dengan " -"argumen ``prompt`` sebelum membaca masukan" - -#: ../../library/functions.rst:994 ../../library/functions.rst:996 -msgid "" -"Raises an :ref:`auditing event ` ``builtins.input/result`` with " -"the result after successfully reading input." -msgstr "" - -#: ../../library/functions.rst:1003 -msgid "" -"Return an integer object constructed from a number or a string, or return " -"``0`` if no arguments are given." -msgstr "" - -#: ../../library/functions.rst:1008 -msgid "" -">>> int(123.45)\n" -"123\n" -">>> int('123')\n" -"123\n" -">>> int(' -12_345\\n')\n" -"-12345\n" -">>> int('FACE', 16)\n" -"64206\n" -">>> int('0xface', 0)\n" -"64206\n" -">>> int('01110011', base=2)\n" -"115" -msgstr "" - -#: ../../library/functions.rst:1023 -msgid "" -"If the argument defines :meth:`~object.__int__`, ``int(x)`` returns " -"``x.__int__()``. If the argument defines :meth:`~object.__index__`, it " -"returns ``x.__index__()``. For floating-point numbers, this truncates " -"towards zero." -msgstr "" - -#: ../../library/functions.rst:1028 -msgid "" -"If the argument is not a number or if *base* is given, then it must be a " -"string, :class:`bytes`, or :class:`bytearray` instance representing an " -"integer in radix *base*. Optionally, the string can be preceded by ``+`` or" -" ``-`` (with no space in between), have leading zeros, be surrounded by " -"whitespace, and have single underscores interspersed between digits." -msgstr "" - -#: ../../library/functions.rst:1034 -msgid "" -"A base-n integer string contains digits, each representing a value from 0 to" -" n-1. The values 0--9 can be represented by any Unicode decimal digit. The " -"values 10--35 can be represented by ``a`` to ``z`` (or ``A`` to ``Z``). The " -"default *base* is 10. The allowed bases are 0 and 2--36. Base-2, -8, and -16" -" strings can be optionally prefixed with ``0b``/``0B``, ``0o``/``0O``, or " -"``0x``/``0X``, as with integer literals in code. For base 0, the string is " -"interpreted in a similar way to an :ref:`integer literal in code " -"`, in that the actual base is 2, 8, 10, or 16 as determined by the" -" prefix. Base 0 also disallows leading zeros: ``int('010', 0)`` is not " -"legal, while ``int('010')`` and ``int('010', 8)`` are." -msgstr "" - -#: ../../library/functions.rst:1045 -msgid "The integer type is described in :ref:`typesnumeric`." -msgstr "Tipe integer dijelaskan dalam :ref:`typesnumeric`." - -#: ../../library/functions.rst:1047 -msgid "" -"If *base* is not an instance of :class:`int` and the *base* object has a " -":meth:`base.__index__ ` method, that method is called to " -"obtain an integer for the base. Previous versions used :meth:`base.__int__ " -"` instead of :meth:`base.__index__ `." -msgstr "" -"Jika *base* bukan turunan dari :class:`int` dan objek *base* memiliki metode" -" :meth:`base.__index__ `, metode itu dipanggil untuk " -"mendapatkan integer untuk basis. Versi sebelumnya digunakan " -":meth:`base.__int__` alih-alih :meth: `base.__index__ `." - -#: ../../library/functions.rst:1057 -msgid "The first parameter is now positional-only." -msgstr "" - -#: ../../library/functions.rst:1060 -msgid "" -"Falls back to :meth:`~object.__index__` if :meth:`~object.__int__` is not " -"defined." -msgstr "" - -#: ../../library/functions.rst:1063 -msgid "" -":class:`int` string inputs and string representations can be limited to help" -" avoid denial of service attacks. A :exc:`ValueError` is raised when the " -"limit is exceeded while converting a string to an :class:`int` or when " -"converting an :class:`int` into a string would exceed the limit. See the " -":ref:`integer string conversion length limitation ` " -"documentation." -msgstr "" - -#: ../../library/functions.rst:1071 -msgid "" -":func:`int` no longer delegates to the :meth:`~object.__trunc__` method." -msgstr "" - -#: ../../library/functions.rst:1076 -msgid "" -"Return ``True`` if the *object* argument is an instance of the *classinfo* " -"argument, or of a (direct, indirect, or :term:`virtual `) subclass thereof. If *object* is not an object of the given type, " -"the function always returns ``False``. If *classinfo* is a tuple of type " -"objects (or recursively, other such tuples) or a :ref:`types-union` of " -"multiple types, return ``True`` if *object* is an instance of any of the " -"types. If *classinfo* is not a type or tuple of types and such tuples, a " -":exc:`TypeError` exception is raised. :exc:`TypeError` may not be raised for" -" an invalid type if an earlier check succeeds." -msgstr "" - -#: ../../library/functions.rst:1087 ../../library/functions.rst:1101 -msgid "*classinfo* can be a :ref:`types-union`." -msgstr "" - -#: ../../library/functions.rst:1093 -msgid "" -"Return ``True`` if *class* is a subclass (direct, indirect, or " -":term:`virtual `) of *classinfo*. A class is " -"considered a subclass of itself. *classinfo* may be a tuple of class objects" -" (or recursively, other such tuples) or a :ref:`types-union`, in which case " -"return ``True`` if *class* is a subclass of any entry in *classinfo*. In " -"any other case, a :exc:`TypeError` exception is raised." -msgstr "" - -#: ../../library/functions.rst:1108 -msgid "" -"Return an :term:`iterator` object. The first argument is interpreted very " -"differently depending on the presence of the second argument. Without a " -"second argument, *object* must be a collection object which supports the " -":term:`iterable` protocol (the :meth:`~object.__iter__` method), or it must " -"support the sequence protocol (the :meth:`~object.__getitem__` method with " -"integer arguments starting at ``0``). If it does not support either of " -"those protocols, :exc:`TypeError` is raised. If the second argument, " -"*sentinel*, is given, then *object* must be a callable object. The iterator" -" created in this case will call *object* with no arguments for each call to " -"its :meth:`~iterator.__next__` method; if the value returned is equal to " -"*sentinel*, :exc:`StopIteration` will be raised, otherwise the value will be" -" returned." -msgstr "" - -#: ../../library/functions.rst:1122 -msgid "See also :ref:`typeiter`." -msgstr "Lihat juga :ref:`typeiter`." - -#: ../../library/functions.rst:1124 -msgid "" -"One useful application of the second form of :func:`iter` is to build a " -"block-reader. For example, reading fixed-width blocks from a binary database" -" file until the end of file is reached::" -msgstr "" -"Salah satu kegunaan dari bentuk kedua dari :func:`iter` adalah untuk " -"membangun pembaca blok. Misalnya, membaca blok dengan lebar tetap dari " -"berkas basis data biner hingga akhir file tercapai::" - -#: ../../library/functions.rst:1128 -msgid "" -"from functools import partial\n" -"with open('mydata.db', 'rb') as f:\n" -" for block in iter(partial(f.read, 64), b''):\n" -" process_block(block)" -msgstr "" - -#: ../../library/functions.rst:1136 -msgid "" -"Return the length (the number of items) of an object. The argument may be a" -" sequence (such as a string, bytes, tuple, list, or range) or a collection " -"(such as a dictionary, set, or frozen set)." -msgstr "" -"Mengembalikan panjang (jumlah item) suatu objek. Argumennya bisa berupa " -"urutan (seperti string, byte, *tuple*, *list*, atau *range*) atau koleksi " -"(seperti *dictionary*, set, atau *frozen set*)." - -#: ../../library/functions.rst:1142 -msgid "" -"``len`` raises :exc:`OverflowError` on lengths larger than " -":data:`sys.maxsize`, such as :class:`range(2 ** 100) `." -msgstr "" - -#: ../../library/functions.rst:1151 -msgid "" -"Rather than being a function, :class:`list` is actually a mutable sequence " -"type, as documented in :ref:`typesseq-list` and :ref:`typesseq`." -msgstr "" -"Alih-alih menjadi sebuah fungsi, :class:`list` sebenarnya adalah tipe urutan" -" yang bisa berubah *mutable*, seperti yang didokumentasikan dalam " -":ref:`typesseq-list` dan :ref: `typesseq`." - -#: ../../library/functions.rst:1157 -msgid "" -"Return a mapping object representing the current local symbol table, with " -"variable names as the keys, and their currently bound references as the " -"values." -msgstr "" - -#: ../../library/functions.rst:1161 -msgid "" -"At module scope, as well as when using :func:`exec` or :func:`eval` with a " -"single namespace, this function returns the same namespace as " -":func:`globals`." -msgstr "" - -#: ../../library/functions.rst:1165 -msgid "" -"At class scope, it returns the namespace that will be passed to the " -"metaclass constructor." -msgstr "" - -#: ../../library/functions.rst:1168 -msgid "" -"When using ``exec()`` or ``eval()`` with separate local and global " -"arguments, it returns the local namespace passed in to the function call." -msgstr "" - -#: ../../library/functions.rst:1171 -msgid "" -"In all of the above cases, each call to ``locals()`` in a given frame of " -"execution will return the *same* mapping object. Changes made through the " -"mapping object returned from ``locals()`` will be visible as assigned, " -"reassigned, or deleted local variables, and assigning, reassigning, or " -"deleting local variables will immediately affect the contents of the " -"returned mapping object." -msgstr "" - -#: ../../library/functions.rst:1178 -msgid "" -"In an :term:`optimized scope` (including functions, generators, and " -"coroutines), each call to ``locals()`` instead returns a fresh dictionary " -"containing the current bindings of the function's local variables and any " -"nonlocal cell references. In this case, name binding changes made via the " -"returned dict are *not* written back to the corresponding local variables or" -" nonlocal cell references, and assigning, reassigning, or deleting local " -"variables and nonlocal cell references does *not* affect the contents of " -"previously returned dictionaries." -msgstr "" - -#: ../../library/functions.rst:1187 -msgid "" -"Calling ``locals()`` as part of a comprehension in a function, generator, or" -" coroutine is equivalent to calling it in the containing scope, except that " -"the comprehension's initialised iteration variables will be included. In " -"other scopes, it behaves as if the comprehension were running as a nested " -"function." -msgstr "" - -#: ../../library/functions.rst:1193 -msgid "" -"Calling ``locals()`` as part of a generator expression is equivalent to " -"calling it in a nested generator function." -msgstr "" - -#: ../../library/functions.rst:1196 -msgid "" -"The behaviour of ``locals()`` in a comprehension has been updated as " -"described in :pep:`709`." -msgstr "" - -#: ../../library/functions.rst:1200 -msgid "" -"As part of :pep:`667`, the semantics of mutating the mapping objects " -"returned from this function are now defined. The behavior in " -":term:`optimized scopes ` is now as described above. Aside " -"from being defined, the behaviour in other scopes remains unchanged from " -"previous versions." -msgstr "" - -#: ../../library/functions.rst:1210 -msgid "" -"Return an iterator that applies *function* to every item of *iterable*, " -"yielding the results. If additional *iterables* arguments are passed, " -"*function* must take that many arguments and is applied to the items from " -"all iterables in parallel. With multiple iterables, the iterator stops when" -" the shortest iterable is exhausted. If *strict* is ``True`` and one of the" -" iterables is exhausted before the others, a :exc:`ValueError` is raised. " -"For cases where the function inputs are already arranged into argument " -"tuples, see :func:`itertools.starmap`." -msgstr "" - -#: ../../library/functions.rst:1219 -msgid "Added the *strict* parameter." -msgstr "" - -#: ../../library/functions.rst:1227 -msgid "" -"Return the largest item in an iterable or the largest of two or more " -"arguments." -msgstr "" -"Kembalikan item terbesar dalam iterable atau yang terbesar dari dua atau " -"lebih argumen." - -#: ../../library/functions.rst:1230 -msgid "" -"If one positional argument is provided, it should be an :term:`iterable`. " -"The largest item in the iterable is returned. If two or more positional " -"arguments are provided, the largest of the positional arguments is returned." -msgstr "" -"Jika satu argumen posisi disediakan, itu harus berupa :term:`iterable`. Item" -" terbesar di *iterable* dikembalikan. Jika dua atau lebih argumen posisi " -"disediakan, argumen posisi terbesar dikembalikan." - -#: ../../library/functions.rst:1235 ../../library/functions.rst:1273 -msgid "" -"There are two optional keyword-only arguments. The *key* argument specifies " -"a one-argument ordering function like that used for :meth:`list.sort`. The " -"*default* argument specifies an object to return if the provided iterable is" -" empty. If the iterable is empty and *default* is not provided, a " -":exc:`ValueError` is raised." -msgstr "" -"Ada dua opsional hanya argumen kata kunci *keyword arguments*. Argumen *key*" -" menentukan fungsi pengurutan satu argumen seperti yang digunakan untuk " -":meth:`list.sort`. Argumen *default* menentukan objek yang akan dikembalikan" -" jika yang disediakan itu kosong. Jika iterable kosong dan *default* tidak " -"disediakan, :exc:`ValueError` akan dimunculkan." - -#: ../../library/functions.rst:1241 -msgid "" -"If multiple items are maximal, the function returns the first one " -"encountered. This is consistent with other sort-stability preserving tools " -"such as ``sorted(iterable, key=keyfunc, reverse=True)[0]`` and " -"``heapq.nlargest(1, iterable, key=keyfunc)``." -msgstr "" -"Jika beberapa item maksimal, fungsi mengembalikan item pertama yang ditemui." -" Ini konsisten dengan alat pengawet *preserving* sortir yang stabil lain " -"seperti ``sorted(iterable, key=keyfunc, reverse=True)[0]`` dan " -"``heapq.nlargest(1, iterable, key=keyfunc)``." - -#: ../../library/functions.rst:1246 ../../library/functions.rst:1284 -msgid "Added the *default* keyword-only parameter." -msgstr "" - -#: ../../library/functions.rst:1249 ../../library/functions.rst:1287 -msgid "The *key* can be ``None``." -msgstr "*key* bisa jadi ``None``." - -#: ../../library/functions.rst:1257 -msgid "" -"Return a \"memory view\" object created from the given argument. See " -":ref:`typememoryview` for more information." -msgstr "" -"Kembalikan objek \"memory view\" yang dibuat dari argumen yang diberikan. " -"Lihat :ref:`typememoryview` untuk informasi lebih lanjut." - -#: ../../library/functions.rst:1265 -msgid "" -"Return the smallest item in an iterable or the smallest of two or more " -"arguments." -msgstr "" -"Kembalikan item terkecil dalam *iterable* atau terkecil dari dua atau lebih " -"argumen." - -#: ../../library/functions.rst:1268 -msgid "" -"If one positional argument is provided, it should be an :term:`iterable`. " -"The smallest item in the iterable is returned. If two or more positional " -"arguments are provided, the smallest of the positional arguments is " -"returned." -msgstr "" -"Jika satu argumen posisi disediakan, itu harus berupa :term:`iterable`. Item" -" terkecil di *iterable* dikembalikan. Jika dua atau lebih argumen posisional" -" disediakan, argumen posisional terkecil akan dikembalikan." - -#: ../../library/functions.rst:1279 -msgid "" -"If multiple items are minimal, the function returns the first one " -"encountered. This is consistent with other sort-stability preserving tools " -"such as ``sorted(iterable, key=keyfunc)[0]`` and ``heapq.nsmallest(1, " -"iterable, key=keyfunc)``." -msgstr "" -"Jika beberapa item minimal, fungsi mengembalikan item pertama yang ditemui. " -"Ini konsisten dengan alat pengawet *preserving* sortir yang stabil lain " -"seperti ``sorted(iterable, key=keyfunc)[0]`` dan ``heapq.nsmallest(1, " -"iterable, key=keyfunc)``." - -#: ../../library/functions.rst:1294 -msgid "" -"Retrieve the next item from the :term:`iterator` by calling its " -":meth:`~iterator.__next__` method. If *default* is given, it is returned if" -" the iterator is exhausted, otherwise :exc:`StopIteration` is raised." -msgstr "" - -#: ../../library/functions.rst:1301 -msgid "" -"This is the ultimate base class of all other classes. It has methods that " -"are common to all instances of Python classes. When the constructor is " -"called, it returns a new featureless object. The constructor does not accept" -" any arguments." -msgstr "" - -#: ../../library/functions.rst:1308 -msgid "" -":class:`object` instances do *not* have :attr:`~object.__dict__` attributes," -" so you can't assign arbitrary attributes to an instance of :class:`object`." -msgstr "" - -#: ../../library/functions.rst:1315 -msgid "" -"Convert an integer number to an octal string prefixed with \"0o\". The " -"result is a valid Python expression. If *x* is not a Python :class:`int` " -"object, it has to define an :meth:`~object.__index__` method that returns an" -" integer. For example:" -msgstr "" - -#: ../../library/functions.rst:1325 -msgid "" -"If you want to convert an integer number to an octal string either with the " -"prefix \"0o\" or not, you can use either of the following ways." -msgstr "" - -#: ../../library/functions.rst:1342 -msgid "" -"Open *file* and return a corresponding :term:`file object`. If the file " -"cannot be opened, an :exc:`OSError` is raised. See :ref:`tut-files` for more" -" examples of how to use this function." -msgstr "" -"Buka *file* dan mengembalikan yang sesuai dengan :term:`file object`. Jika " -"file tersebut tidak dapat dibuka, sebuah :exc:`OSError` akan dinaikkan. " -"Lihat :ref:`tut-files` untuk contoh yang lebih banyak terkait bagaimana " -"menggunakan fungsi ini." - -#: ../../library/functions.rst:1346 -msgid "" -"*file* is a :term:`path-like object` giving the pathname (absolute or " -"relative to the current working directory) of the file to be opened or an " -"integer file descriptor of the file to be wrapped. (If a file descriptor is" -" given, it is closed when the returned I/O object is closed unless *closefd*" -" is set to ``False``.)" -msgstr "" - -#: ../../library/functions.rst:1352 -msgid "" -"*mode* is an optional string that specifies the mode in which the file is " -"opened. It defaults to ``'r'`` which means open for reading in text mode. " -"Other common values are ``'w'`` for writing (truncating the file if it " -"already exists), ``'x'`` for exclusive creation, and ``'a'`` for appending " -"(which on *some* Unix systems, means that *all* writes append to the end of " -"the file regardless of the current seek position). In text mode, if " -"*encoding* is not specified the encoding used is platform-dependent: " -":func:`locale.getencoding` is called to get the current locale encoding. " -"(For reading and writing raw bytes use binary mode and leave *encoding* " -"unspecified.) The available modes are:" -msgstr "" - -#: ../../library/functions.rst:1369 -msgid "Character" -msgstr "Karakter" - -#: ../../library/functions.rst:1369 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/functions.rst:1371 -msgid "``'r'``" -msgstr "``'r'``" - -#: ../../library/functions.rst:1371 -msgid "open for reading (default)" -msgstr "terbuka untuk membaca (bawaan)" - -#: ../../library/functions.rst:1372 -msgid "``'w'``" -msgstr "``'w'``" - -#: ../../library/functions.rst:1372 -msgid "open for writing, truncating the file first" -msgstr "buka untuk menulis, mengosongkan berkas terlebih dahulu" - -#: ../../library/functions.rst:1373 -msgid "``'x'``" -msgstr "``'x'``" - -#: ../../library/functions.rst:1373 -msgid "open for exclusive creation, failing if the file already exists" -msgstr "terbuka untuk pembuatan eksklusif, gagal jika file sudah ada" - -#: ../../library/functions.rst:1374 -msgid "``'a'``" -msgstr "``'a'``" - -#: ../../library/functions.rst:1374 -msgid "open for writing, appending to the end of file if it exists" -msgstr "" - -#: ../../library/functions.rst:1375 -msgid "``'b'``" -msgstr "``'b'``" - -#: ../../library/functions.rst:1375 ../../library/functions.rst:1519 -msgid "binary mode" -msgstr "mode biner" - -#: ../../library/functions.rst:1376 -msgid "``'t'``" -msgstr "``'t'``" - -#: ../../library/functions.rst:1376 -msgid "text mode (default)" -msgstr "mode teks (bawaan)" - -#: ../../library/functions.rst:1377 -msgid "``'+'``" -msgstr "``'+'``" - -#: ../../library/functions.rst:1377 -msgid "open for updating (reading and writing)" -msgstr "terbuka untuk memperbarui (membaca dan menulis)" - -#: ../../library/functions.rst:1380 -msgid "" -"The default mode is ``'r'`` (open for reading text, a synonym of ``'rt'``). " -"Modes ``'w+'`` and ``'w+b'`` open and truncate the file. Modes ``'r+'`` and" -" ``'r+b'`` open the file with no truncation." -msgstr "" - -#: ../../library/functions.rst:1384 -msgid "" -"As mentioned in the :ref:`io-overview`, Python distinguishes between binary " -"and text I/O. Files opened in binary mode (including ``'b'`` in the *mode* " -"argument) return contents as :class:`bytes` objects without any decoding. " -"In text mode (the default, or when ``'t'`` is included in the *mode* " -"argument), the contents of the file are returned as :class:`str`, the bytes " -"having been first decoded using a platform-dependent encoding or using the " -"specified *encoding* if given." -msgstr "" -"Seperti disebutkan dalam :ref:`io-overview`, Python membedakan antara biner " -"dan teks I/O. Berkas dibuka dalam mode biner (termasuk ``'b'`` dalam argumen" -" *mode*) mengembalikan konten sebagai objek :class:`bytes` tanpa *decoding*." -" Dalam mode teks (bawaan, atau ketika ``'t'`` termasuk dalam argumen " -"*mode*), isi file dikembalikan sebagai :class:`str`, byte yang pertama kali " -"diterjemahkan *decoded* menggunakan *encoding* bergantung-platform atau " -"menggunakan *encoding* yang ditentukan jika diberikan." - -#: ../../library/functions.rst:1394 -msgid "" -"Python doesn't depend on the underlying operating system's notion of text " -"files; all the processing is done by Python itself, and is therefore " -"platform-independent." -msgstr "" -"Python tidak tergantung pada gagasan sistem operasi yang mendasari file " -"teks; semua pemrosesan dilakukan oleh Python sendiri, dan oleh karena itu " -"tidak bergantung platform." - -#: ../../library/functions.rst:1398 -msgid "" -"*buffering* is an optional integer used to set the buffering policy. Pass 0" -" to switch buffering off (only allowed in binary mode), 1 to select line " -"buffering (only usable when writing in text mode), and an integer > 1 to " -"indicate the size in bytes of a fixed-size chunk buffer. Note that " -"specifying a buffer size this way applies for binary buffered I/O, but " -"``TextIOWrapper`` (i.e., files opened with ``mode='r+'``) would have another" -" buffering. To disable buffering in ``TextIOWrapper``, consider using the " -"``write_through`` flag for :func:`io.TextIOWrapper.reconfigure`. When no " -"*buffering* argument is given, the default buffering policy works as " -"follows:" -msgstr "" - -#: ../../library/functions.rst:1408 -msgid "" -"Binary files are buffered in fixed-size chunks; the size of the buffer is " -"``max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE)`` when the device block " -"size is available. On most systems, the buffer will typically be 128 " -"kilobytes long." -msgstr "" - -#: ../../library/functions.rst:1413 -msgid "" -"\"Interactive\" text files (files for which :meth:`~io.IOBase.isatty` " -"returns ``True``) use line buffering. Other text files use the policy " -"described above for binary files." -msgstr "" -"Berkas teks \"interactive\" (berkas yang :meth:`~io.IOBase.isatty` " -"mengembalikan ``True``) menggunakan *line buffering*. File teks lainnya " -"menggunakan kebijakan yang dijelaskan di atas untuk file biner." - -#: ../../library/functions.rst:1417 -msgid "" -"*encoding* is the name of the encoding used to decode or encode the file. " -"This should only be used in text mode. The default encoding is platform " -"dependent (whatever :func:`locale.getencoding` returns), but any :term:`text" -" encoding` supported by Python can be used. See the :mod:`codecs` module for" -" the list of supported encodings." -msgstr "" - -#: ../../library/functions.rst:1423 -msgid "" -"*errors* is an optional string that specifies how encoding and decoding " -"errors are to be handled—this cannot be used in binary mode. A variety of " -"standard error handlers are available (listed under :ref:`error-handlers`), " -"though any error handling name that has been registered with " -":func:`codecs.register_error` is also valid. The standard names include:" -msgstr "" -"*errors* adalah string opsional yang menentukan bagaimana kesalahan " -"*encoding* dan *decoding* ditangani — ini tidak dapat digunakan dalam mode " -"biner. Berbagai penangan kesalahan standar tersedia (terdaftar di bawah " -":ref:`error-handlers`), meskipun nama penanganan kesalahan yang telah " -"terdaftar dengan :func:`codecs.register_error` juga valid. Nama standar " -"meliputi:" - -#: ../../library/functions.rst:1431 -msgid "" -"``'strict'`` to raise a :exc:`ValueError` exception if there is an encoding " -"error. The default value of ``None`` has the same effect." -msgstr "" -"``'strict'`` untuk memunculkan pengecualian :exc:`ValueError` jika ada " -"kesalahan penyandian *encoding*. Nilai bawaan dari ``None`` memiliki efek " -"yang sama." - -#: ../../library/functions.rst:1435 -msgid "" -"``'ignore'`` ignores errors. Note that ignoring encoding errors can lead to" -" data loss." -msgstr "" -"``'ignore'`` mengabaikan kesalahan. Perhatikan bahwa mengabaikan kesalahan " -"penyandian *encoding* dapat menyebabkan hilangnya data." - -#: ../../library/functions.rst:1438 -msgid "" -"``'replace'`` causes a replacement marker (such as ``'?'``) to be inserted " -"where there is malformed data." -msgstr "" -"``'replace'`` menyebabkan penanda pengganti (seperti ``'?'``) disisipkan di" -" mana ada data yang tidak sesuai format." - -#: ../../library/functions.rst:1441 -msgid "" -"``'surrogateescape'`` will represent any incorrect bytes as low surrogate " -"code units ranging from U+DC80 to U+DCFF. These surrogate code units will " -"then be turned back into the same bytes when the ``surrogateescape`` error " -"handler is used when writing data. This is useful for processing files in " -"an unknown encoding." -msgstr "" - -#: ../../library/functions.rst:1448 -msgid "" -"``'xmlcharrefreplace'`` is only supported when writing to a file. Characters" -" not supported by the encoding are replaced with the appropriate XML " -"character reference :samp:`&#{nnn};`." -msgstr "" - -#: ../../library/functions.rst:1452 -msgid "" -"``'backslashreplace'`` replaces malformed data by Python's backslashed " -"escape sequences." -msgstr "" -"``'backslashreplace'`` menggantikan data yang salah dengan urutan pemisahan " -"dengan *backslash* dari Python." - -#: ../../library/functions.rst:1455 -msgid "" -"``'namereplace'`` (also only supported when writing) replaces unsupported " -"characters with ``\\N{...}`` escape sequences." -msgstr "" -"``'namereplace'`` (juga hanya didukung saat menulis) menggantikan karakter " -"yang tidak didukung dengan ``\\N{...}`` urutan pemisahan." - -#: ../../library/functions.rst:1463 -msgid "" -"*newline* determines how to parse newline characters from the stream. It can" -" be ``None``, ``''``, ``'\\n'``, ``'\\r'``, and ``'\\r\\n'``. It works as " -"follows:" -msgstr "" - -#: ../../library/functions.rst:1467 -msgid "" -"When reading input from the stream, if *newline* is ``None``, universal " -"newlines mode is enabled. Lines in the input can end in ``'\\n'``, " -"``'\\r'``, or ``'\\r\\n'``, and these are translated into ``'\\n'`` before " -"being returned to the caller. If it is ``''``, universal newlines mode is " -"enabled, but line endings are returned to the caller untranslated. If it " -"has any of the other legal values, input lines are only terminated by the " -"given string, and the line ending is returned to the caller untranslated." -msgstr "" -"Saat membaca masukan dari aliran *stream*, jika *newline* adalah ``None``, " -"mode universal baris baru diaktifkan. Baris dalam masukan dapat diakhiri " -"dengan ``'\\n'``, ``'\\r'``, atau ``'\\r\\n'``, dan ini diterjemahkan ke " -"dalam ``'\\n'`` sebelum dikembalikan ke pemanggil. Jika ``''``, mode baris " -"baru universal diaktifkan, tetapi akhir baris dikembalikan ke pemanggil yang" -" tidak diterjemahkan. Jika memiliki salah satu nilai legal lainnya, jalur " -"masukan hanya diakhiri oleh string yang diberikan, dan akhir baris " -"dikembalikan ke pemanggil yang tidak diterjemahkan." - -#: ../../library/functions.rst:1475 -msgid "" -"When writing output to the stream, if *newline* is ``None``, any ``'\\n'`` " -"characters written are translated to the system default line separator, " -":data:`os.linesep`. If *newline* is ``''`` or ``'\\n'``, no translation " -"takes place. If *newline* is any of the other legal values, any ``'\\n'`` " -"characters written are translated to the given string." -msgstr "" -"Saat menulis keluaran ke aliran *stream*, jika *newline* adalah ``None``, " -"setiap karakter ``'\\n'`` yang ditulis diterjemahkan ke pemisah garis bawaan" -" sistem, :data:`os.linesep`. Jika *newline* adalah ``''`` atau ``'\\n'``, " -"tidak ada terjemahan yang terjadi. Jika *newline* adalah salah satu dari " -"nilai legal lainnya, setiap karakter ``'\\n'`` yang ditulis diterjemahkan ke" -" string yang diberikan." - -#: ../../library/functions.rst:1481 -msgid "" -"If *closefd* is ``False`` and a file descriptor rather than a filename was " -"given, the underlying file descriptor will be kept open when the file is " -"closed. If a filename is given *closefd* must be ``True`` (the default); " -"otherwise, an error will be raised." -msgstr "" - -#: ../../library/functions.rst:1486 -msgid "" -"A custom opener can be used by passing a callable as *opener*. The " -"underlying file descriptor for the file object is then obtained by calling " -"*opener* with (*file*, *flags*). *opener* must return an open file " -"descriptor (passing :mod:`os.open` as *opener* results in functionality " -"similar to passing ``None``)." -msgstr "" -"Pembuka khusus dapat digunakan dengan melewatkan *callable* sebagai " -"*opener*. Deskriptor berkas yang mendasari untuk objek berkas kemudian " -"diperoleh dengan memanggil *opener* dengan (*file*, *flags*). *opener* harus" -" mengembalikan deskriptor berkas terbuka (lewat :mod:`os.open` sebagai " -"*opener* menghasilkan fungsionalitas yang mirip dengan melewatkan ``None``)." - -#: ../../library/functions.rst:1492 -msgid "The newly created file is :ref:`non-inheritable `." -msgstr "" -"Berkas yang baru dibuat adalah :ref:`non-inheritable `." - -#: ../../library/functions.rst:1494 -msgid "" -"The following example uses the :ref:`dir_fd ` parameter of the " -":func:`os.open` function to open a file relative to a given directory::" -msgstr "" -"Contoh berikut menggunakan parameter :ref:`dir_fd ` dari fungsi " -":func:`os.open` untuk membuka berkas relatif ke direktori yang diberikan::" - -#: ../../library/functions.rst:1497 -msgid "" -">>> import os\n" -">>> dir_fd = os.open('somedir', os.O_RDONLY)\n" -">>> def opener(path, flags):\n" -"... return os.open(path, flags, dir_fd=dir_fd)\n" -"...\n" -">>> with open('spamspam.txt', 'w', opener=opener) as f:\n" -"... print('This will be written to somedir/spamspam.txt', file=f)\n" -"...\n" -">>> os.close(dir_fd) # don't leak a file descriptor" -msgstr "" - -#: ../../library/functions.rst:1507 -msgid "" -"The type of :term:`file object` returned by the :func:`open` function " -"depends on the mode. When :func:`open` is used to open a file in a text " -"mode (``'w'``, ``'r'``, ``'wt'``, ``'rt'``, etc.), it returns a subclass of " -":class:`io.TextIOBase` (specifically :class:`io.TextIOWrapper`). When used " -"to open a file in a binary mode with buffering, the returned class is a " -"subclass of :class:`io.BufferedIOBase`. The exact class varies: in read " -"binary mode, it returns an :class:`io.BufferedReader`; in write binary and " -"append binary modes, it returns an :class:`io.BufferedWriter`, and in " -"read/write mode, it returns an :class:`io.BufferedRandom`. When buffering " -"is disabled, the raw stream, a subclass of :class:`io.RawIOBase`, " -":class:`io.FileIO`, is returned." -msgstr "" -"Tipe :term:`file object` yang dikembalikan oleh fungsi :func:`open` " -"tergantung pada mode. Ketika :func:`open` digunakan untuk membuka berkas " -"dalam mode teks (``'w'``, ``'r'``, ``'wt'``, ``'rt'``, dll.), ia " -"mengembalikan subkelas dari :class:`io.TextIOBase` (khusus " -":class:`io.TextIOWrapper`). Ketika digunakan untuk membuka file dalam mode " -"biner dengan *buffering*, kelas yang dikembalikan adalah subkelas dari " -":class:`io.BufferedIOBase`. Kelas yang tepat bervariasi: dalam mode baca " -"biner, ia mengembalikan :class:`io.BufferedReader`; dalam mode tulis biner " -"dan *append* biner, ia mengembalikan sebuah :class:`io.BufferedWriter`, dan " -"dalam mode baca/tulis, ia mengembalikan sebuah :class:`io.BufferedRandom`. " -"Ketika *buffering* dinonaktifkan, aliran tak diproses *raw stream*, subkelas" -" dari :class:`io.RawIOBase`, :class:`io.FileIO`, dikembalikan." - -#: ../../library/functions.rst:1528 -msgid "" -"See also the file handling modules, such as :mod:`fileinput`, :mod:`io` " -"(where :func:`open` is declared), :mod:`os`, :mod:`os.path`, " -":mod:`tempfile`, and :mod:`shutil`." -msgstr "" - -#: ../../library/functions.rst:1532 -msgid "" -"Raises an :ref:`auditing event ` ``open`` with arguments ``path``," -" ``mode``, ``flags``." -msgstr "" - -#: ../../library/functions.rst:1534 -msgid "" -"The ``mode`` and ``flags`` arguments may have been modified or inferred from" -" the original call." -msgstr "" -"Argumen ``mode`` dan ``flags`` mungkin telah dimodifikasi atau disimpulkan " -"dari pemanggilan asli." - -#: ../../library/functions.rst:1539 -msgid "The *opener* parameter was added." -msgstr "Parameter *opener* telah ditambahkan." - -#: ../../library/functions.rst:1540 -msgid "The ``'x'`` mode was added." -msgstr "Mode ``'x'`` telah ditambahkan." - -#: ../../library/functions.rst:1541 -msgid "" -":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." -msgstr "" -":exc:`IOError` sebelumnya ditimbulkan, sekarang merupakan alias dari " -":exc:`OSError`." - -#: ../../library/functions.rst:1542 -msgid "" -":exc:`FileExistsError` is now raised if the file opened in exclusive " -"creation mode (``'x'``) already exists." -msgstr "" -":exc:`FileExistsError` sekarang ditimbulkan jika berkas yang dibuka dalam " -"mode pembuatan eksklusif (``'x'``) sudah ada." - -#: ../../library/functions.rst:1547 -msgid "The file is now non-inheritable." -msgstr "Berkas sekarang tidak dapat diwariskan." - -#: ../../library/functions.rst:1551 -msgid "" -"If the system call is interrupted and the signal handler does not raise an " -"exception, the function now retries the system call instead of raising an " -":exc:`InterruptedError` exception (see :pep:`475` for the rationale)." -msgstr "" -"Jika panggilan sistem terganggu dan penangan sinyal tidak menimbulkan " -"pengecualian, fungsi sekarang mencoba ulang panggilan sistem alih-alih " -"menimbulkan pengecualian :exc:`InterruptedError` (lihat :pep:`475` untuk " -"penjelasannya)." - -#: ../../library/functions.rst:1554 -msgid "The ``'namereplace'`` error handler was added." -msgstr "Penangan kesalahan ``'namereplace'`` telah ditambahkan." - -#: ../../library/functions.rst:1558 -msgid "Support added to accept objects implementing :class:`os.PathLike`." -msgstr "" -"Dukungan ditambahkan untuk menerima objek yang mengimplementasikan " -":class:`os.PathLike`." - -#: ../../library/functions.rst:1559 -msgid "" -"On Windows, opening a console buffer may return a subclass of " -":class:`io.RawIOBase` other than :class:`io.FileIO`." -msgstr "" -"Di Windows, membuka penyangga *buffer* konsol dapat mengembalikan subclass " -"dari :class:`io.RawIOBase` selain :class:`io.FileIO`." - -#: ../../library/functions.rst:1562 -msgid "The ``'U'`` mode has been removed." -msgstr "" - -#: ../../library/functions.rst:1567 -msgid "" -"Given a string representing one Unicode character, return an integer " -"representing the Unicode code point of that character. For example, " -"``ord('a')`` returns the integer ``97`` and ``ord('€')`` (Euro sign) returns" -" ``8364``. This is the inverse of :func:`chr`." -msgstr "" -"Diberikan string yang mewakili satu karakter Unicode, kembalikan integer " -"yang mewakili titik kode Unicode dari karakter itu. Misalnya, ``ord('a')`` " -"mengembalikan integer ``97`` dan ``ord('€')`` (tanda Euro) mengembalikan " -"``8364``. Ini adalah kebalikan dari :func:`chr`." - -#: ../../library/functions.rst:1575 -msgid "" -"Return *base* to the power *exp*; if *mod* is present, return *base* to the " -"power *exp*, modulo *mod* (computed more efficiently than ``pow(base, exp) %" -" mod``). The two-argument form ``pow(base, exp)`` is equivalent to using the" -" power operator: ``base**exp``." -msgstr "" -"Kembalikan *base* ke *power* *exp*; jika *mod* ada, kembalikan *base* ke " -"*power* *exp*, *modulo* *mod* (dihitung lebih efisien daripada ``pow(base, " -"exp) % mod``). Bentuk dua argumen ``pow(base, exp)`` setara dengan " -"menggunakan operator *power*: ``base**exp``." - -#: ../../library/functions.rst:1580 -msgid "" -"The arguments must have numeric types. With mixed operand types, the " -"coercion rules for binary arithmetic operators apply. For :class:`int` " -"operands, the result has the same type as the operands (after coercion) " -"unless the second argument is negative; in that case, all arguments are " -"converted to float and a float result is delivered. For example, ``pow(10, " -"2)`` returns ``100``, but ``pow(10, -2)`` returns ``0.01``. For a negative " -"base of type :class:`int` or :class:`float` and a non-integral exponent, a " -"complex result is delivered. For example, ``pow(-9, 0.5)`` returns a value " -"close to ``3j``. Whereas, for a negative base of type :class:`int` or " -":class:`float` with an integral exponent, a float result is delivered. For " -"example, ``pow(-9, 2.0)`` returns ``81.0``." -msgstr "" - -#: ../../library/functions.rst:1592 -msgid "" -"For :class:`int` operands *base* and *exp*, if *mod* is present, *mod* must " -"also be of integer type and *mod* must be nonzero. If *mod* is present and " -"*exp* is negative, *base* must be relatively prime to *mod*. In that case, " -"``pow(inv_base, -exp, mod)`` is returned, where *inv_base* is an inverse to " -"*base* modulo *mod*." -msgstr "" -"Untuk operan :class:`int` *base* dan *exp*, jika *mod* ada, *mod* juga harus" -" bertipe integer dan *mod* harus bukan nol. Jika *mod* ada dan *exp* " -"negatif, *basis* harus relatif prima ke *mod*. Dalam kasus itu, " -"``pow(inv_base, -exp, mod)`` dikembalikan, di mana *inv_base* adalah " -"kebalikan dari *base* *modulo* *mod*." - -#: ../../library/functions.rst:1598 -msgid "Here's an example of computing an inverse for ``38`` modulo ``97``::" -msgstr "" -"Berikut adalah contoh penghitungan kebalikan untuk ``38`` modulo ``97``::" - -#: ../../library/functions.rst:1600 -msgid "" -">>> pow(38, -1, mod=97)\n" -"23\n" -">>> 23 * 38 % 97 == 1\n" -"True" -msgstr "" - -#: ../../library/functions.rst:1605 -msgid "" -"For :class:`int` operands, the three-argument form of ``pow`` now allows the" -" second argument to be negative, permitting computation of modular inverses." -msgstr "" -"Untuk operan :class:`int`, bentuk tiga argumen dari ``pow`` sekarang " -"memungkinkan argumen kedua menjadi negatif, memungkinkan perhitungan " -"*inverse* modular." - -#: ../../library/functions.rst:1610 -msgid "" -"Allow keyword arguments. Formerly, only positional arguments were " -"supported." -msgstr "" -"Izinkan argumen kata kunci *keyword arguments*. Sebelumnya, hanya argumen " -"posisi yang didukung." - -#: ../../library/functions.rst:1617 -msgid "" -"Print *objects* to the text stream *file*, separated by *sep* and followed " -"by *end*. *sep*, *end*, *file*, and *flush*, if present, must be given as " -"keyword arguments." -msgstr "" - -#: ../../library/functions.rst:1621 -msgid "" -"All non-keyword arguments are converted to strings like :func:`str` does and" -" written to the stream, separated by *sep* and followed by *end*. Both " -"*sep* and *end* must be strings; they can also be ``None``, which means to " -"use the default values. If no *objects* are given, :func:`print` will just " -"write *end*." -msgstr "" -"Semua argumen non-kata kunci dikonversi ke string seperti :func:`str` dan " -"ditulis ke aliran *stream*, dipisahkan oleh *sep* dan diikuti oleh *end*. " -"Baik *sep* dan *end* harus berupa string; mereka juga bisa ``None``, yang " -"berarti menggunakan nilai bawaan. Jika tidak ada *objects* yang diberikan, " -":func:`print` hanya akan menulis *end*." - -#: ../../library/functions.rst:1627 -msgid "" -"The *file* argument must be an object with a ``write(string)`` method; if it" -" is not present or ``None``, :data:`sys.stdout` will be used. Since printed" -" arguments are converted to text strings, :func:`print` cannot be used with " -"binary mode file objects. For these, use ``file.write(...)`` instead." -msgstr "" -"Argumen *file* harus berupa objek dengan metode ``write(string)``; jika " -"tidak ada atau ``None``, :data:`sys.stdout` akan digunakan. Karena argumen " -"yang dicetak dikonversi ke string teks, :func:`print` tidak dapat digunakan " -"dengan objek file mode biner. Untuk ini, gunakan ``file.write(...)`` sebagai" -" gantinya." - -#: ../../library/functions.rst:1632 -msgid "" -"Output buffering is usually determined by *file*. However, if *flush* is " -"true, the stream is forcibly flushed." -msgstr "" - -#: ../../library/functions.rst:1636 -msgid "Added the *flush* keyword argument." -msgstr "Menambahkan argumen kata kunci *flush*." - -#: ../../library/functions.rst:1642 -msgid "Return a property attribute." -msgstr "Kembalikan atribut properti." - -#: ../../library/functions.rst:1644 -msgid "" -"*fget* is a function for getting an attribute value. *fset* is a function " -"for setting an attribute value. *fdel* is a function for deleting an " -"attribute value. And *doc* creates a docstring for the attribute." -msgstr "" -"*fget* adalah fungsi untuk mendapatkan nilai atribut. *fset* adalah fungsi " -"untuk mengatur nilai atribut. *fdel* adalah fungsi untuk menghapus nilai " -"atribut. Dan *doc* membuat docstring untuk atribut." - -#: ../../library/functions.rst:1648 -msgid "A typical use is to define a managed attribute ``x``::" -msgstr "Penggunaan khasnya untuk mendefinisikan atribut yang dikelola ``x``::" - -#: ../../library/functions.rst:1650 -msgid "" -"class C:\n" -" def __init__(self):\n" -" self._x = None\n" -"\n" -" def getx(self):\n" -" return self._x\n" -"\n" -" def setx(self, value):\n" -" self._x = value\n" -"\n" -" def delx(self):\n" -" del self._x\n" -"\n" -" x = property(getx, setx, delx, \"I'm the 'x' property.\")" -msgstr "" - -#: ../../library/functions.rst:1665 -msgid "" -"If *c* is an instance of *C*, ``c.x`` will invoke the getter, ``c.x = " -"value`` will invoke the setter, and ``del c.x`` the deleter." -msgstr "" - -#: ../../library/functions.rst:1668 -msgid "" -"If given, *doc* will be the docstring of the property attribute. Otherwise, " -"the property will copy *fget*'s docstring (if it exists). This makes it " -"possible to create read-only properties easily using :func:`property` as a " -":term:`decorator`::" -msgstr "" -"Jika diberikan, *doc* akan menjadi *docstring* dari atribut properti. Jika " -"tidak, properti akan menyalin *docstring* dari *fget* (jika ada). Ini " -"memungkinkan untuk membuat properti baca-saja *read-only* dengan mudah " -"menggunakan :func:`property` sebagai :term:`decorator`::" - -#: ../../library/functions.rst:1672 -msgid "" -"class Parrot:\n" -" def __init__(self):\n" -" self._voltage = 100000\n" -"\n" -" @property\n" -" def voltage(self):\n" -" \"\"\"Get the current voltage.\"\"\"\n" -" return self._voltage" -msgstr "" - -#: ../../library/functions.rst:1681 -msgid "" -"The ``@property`` decorator turns the :meth:`!voltage` method into a " -"\"getter\" for a read-only attribute with the same name, and it sets the " -"docstring for *voltage* to \"Get the current voltage.\"" -msgstr "" - -#: ../../library/functions.rst:1689 -msgid "" -"A property object has ``getter``, ``setter``, and ``deleter`` methods usable" -" as decorators that create a copy of the property with the corresponding " -"accessor function set to the decorated function. This is best explained " -"with an example:" -msgstr "" - -#: ../../library/functions.rst:1694 -msgid "" -"class C:\n" -" def __init__(self):\n" -" self._x = None\n" -"\n" -" @property\n" -" def x(self):\n" -" \"\"\"I'm the 'x' property.\"\"\"\n" -" return self._x\n" -"\n" -" @x.setter\n" -" def x(self, value):\n" -" self._x = value\n" -"\n" -" @x.deleter\n" -" def x(self):\n" -" del self._x" -msgstr "" - -#: ../../library/functions.rst:1713 -msgid "" -"This code is exactly equivalent to the first example. Be sure to give the " -"additional functions the same name as the original property (``x`` in this " -"case.)" -msgstr "" -"Kode ini persis sama dengan contoh pertama. Pastikan untuk memberi fungsi " -"tambahan nama yang sama dengan properti asli (``x`` dalam kasus ini.)" - -#: ../../library/functions.rst:1717 -msgid "" -"The returned property object also has the attributes ``fget``, ``fset``, and" -" ``fdel`` corresponding to the constructor arguments." -msgstr "" -"Properti dari objek yang dikembalikan juga memiliki atribut ``fget``, " -"``fset``, dan ``fdel`` yang sesuai dengan argumen pembangun *constructor*." - -#: ../../library/functions.rst:1720 -msgid "The docstrings of property objects are now writeable." -msgstr "docstrings dari properti objek-objek sekarang dapat ditulisi." - -#: ../../library/functions.rst:1725 -msgid "" -"Attribute holding the name of the property. The name of the property can be " -"changed at runtime." -msgstr "" - -#: ../../library/functions.rst:1736 -msgid "" -"Rather than being a function, :class:`range` is actually an immutable " -"sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`." -msgstr "" -"Alih-alih menjadi fungsi, :class:`range` sebenarnya merupakan tipe urutan " -"yang tidak dapat diubah *immutable*, seperti yang didokumentasikan dalam " -":ref:`typesseq-range` dan :ref:`typesseq`." - -#: ../../library/functions.rst:1742 -msgid "" -"Return a string containing a printable representation of an object. For " -"many types, this function makes an attempt to return a string that would " -"yield an object with the same value when passed to :func:`eval`; otherwise, " -"the representation is a string enclosed in angle brackets that contains the " -"name of the type of the object together with additional information often " -"including the name and address of the object. A class can control what this" -" function returns for its instances by defining a :meth:`~object.__repr__` " -"method. If :func:`sys.displayhook` is not accessible, this function will " -"raise :exc:`RuntimeError`." -msgstr "" - -#: ../../library/functions.rst:1753 -msgid "This class has a custom representation that can be evaluated::" -msgstr "" - -#: ../../library/functions.rst:1755 -msgid "" -"class Person:\n" -" def __init__(self, name, age):\n" -" self.name = name\n" -" self.age = age\n" -"\n" -" def __repr__(self):\n" -" return f\"Person('{self.name}', {self.age})\"" -msgstr "" - -#: ../../library/functions.rst:1766 -msgid "" -"Return a reverse :term:`iterator`. *seq* must be an object which has a " -":meth:`~object.__reversed__` method or supports the sequence protocol (the " -":meth:`~object.__len__` method and the :meth:`~object.__getitem__` method " -"with integer arguments starting at ``0``)." -msgstr "" - -#: ../../library/functions.rst:1774 -msgid "" -"Return *number* rounded to *ndigits* precision after the decimal point. If " -"*ndigits* is omitted or is ``None``, it returns the nearest integer to its " -"input." -msgstr "" -"Kembalikan *number* dibulatkan ke *ndigits* presisi setelah titik desimal. " -"Jika *ndigits* dihilangkan atau ``None``, ini akan mengembalikan integer " -"terdekat ke masukannya." - -#: ../../library/functions.rst:1778 -msgid "" -"For the built-in types supporting :func:`round`, values are rounded to the " -"closest multiple of 10 to the power minus *ndigits*; if two multiples are " -"equally close, rounding is done toward the even choice (so, for example, " -"both ``round(0.5)`` and ``round(-0.5)`` are ``0``, and ``round(1.5)`` is " -"``2``). Any integer value is valid for *ndigits* (positive, zero, or " -"negative). The return value is an integer if *ndigits* is omitted or " -"``None``. Otherwise, the return value has the same type as *number*." -msgstr "" - -#: ../../library/functions.rst:1787 -msgid "" -"For a general Python object ``number``, ``round`` delegates to " -"``number.__round__``." -msgstr "" -"Untuk sebuah objek Python ``number`` secara umum, ``round`` mendelegasikan " -"ke ``number.__round__``." - -#: ../../library/functions.rst:1792 -msgid "" -"The behavior of :func:`round` for floats can be surprising: for example, " -"``round(2.675, 2)`` gives ``2.67`` instead of the expected ``2.68``. This is" -" not a bug: it's a result of the fact that most decimal fractions can't be " -"represented exactly as a float. See :ref:`tut-fp-issues` for more " -"information." -msgstr "" -"Perilaku :func:`round` untuk pecahan *floats* bisa mengejutkan: misalnya, " -"``round(2.675, 2)`` memberikan ``2.67`` alih-alih yang diharapkan ``2.68``. " -"Ini bukan bug: ini adalah hasil dari fakta bahwa sebagian besar pecahan " -"desimal tidak dapat diwakili persis seperti pelampung *float*. Lihat " -":ref:`tut-fp-issues` untuk informasi lebih lanjut." - -#: ../../library/functions.rst:1804 -msgid "" -"Return a new :class:`set` object, optionally with elements taken from " -"*iterable*. ``set`` is a built-in class. See :class:`set` and :ref:`types-" -"set` for documentation about this class." -msgstr "" -"Kembalikan objek baru :class:`set`, secara opsional dengan elemen yang " -"diambil dari *iterable*. ``set`` adalah kelas bawaan. Lihat: class:`set` dan" -" :ref:`types-set` untuk dokumentasi tentang kelas ini." - -#: ../../library/functions.rst:1808 -msgid "" -"For other containers see the built-in :class:`frozenset`, :class:`list`, " -":class:`tuple`, and :class:`dict` classes, as well as the :mod:`collections`" -" module." -msgstr "" -"Untuk wadah *containers* lain lihat kelas-kelas bawaan :class:`frozenset`, " -":class:`list`, :class:`tuple`, dan :class:`dict`, juga modul " -":mod:`collections`." - -#: ../../library/functions.rst:1815 -msgid "" -"This is the counterpart of :func:`getattr`. The arguments are an object, a " -"string, and an arbitrary value. The string may name an existing attribute " -"or a new attribute. The function assigns the value to the attribute, " -"provided the object allows it. For example, ``setattr(x, 'foobar', 123)`` " -"is equivalent to ``x.foobar = 123``." -msgstr "" - -#: ../../library/functions.rst:1821 -msgid "" -"*name* need not be a Python identifier as defined in :ref:`identifiers` " -"unless the object chooses to enforce that, for example in a custom " -":meth:`~object.__getattribute__` or via :attr:`~object.__slots__`. An " -"attribute whose name is not an identifier will not be accessible using the " -"dot notation, but is accessible through :func:`getattr` etc.." -msgstr "" - -#: ../../library/functions.rst:1829 -msgid "" -"Since :ref:`private name mangling ` happens at " -"compilation time, one must manually mangle a private attribute's (attributes" -" with two leading underscores) name in order to set it with :func:`setattr`." -msgstr "" - -#: ../../library/functions.rst:1838 -msgid "" -"Return a :term:`slice` object representing the set of indices specified by " -"``range(start, stop, step)``. The *start* and *step* arguments default to " -"``None``." -msgstr "" - -#: ../../library/functions.rst:1846 -msgid "" -"Slice objects have read-only data attributes :attr:`!start`, :attr:`!stop`, " -"and :attr:`!step` which merely return the argument values (or their " -"default). They have no other explicit functionality; however, they are used" -" by NumPy and other third-party packages." -msgstr "" - -#: ../../library/functions.rst:1851 -msgid "" -"Slice objects are also generated when extended indexing syntax is used. For" -" example: ``a[start:stop:step]`` or ``a[start:stop, i]``. See " -":func:`itertools.islice` for an alternate version that returns an " -":term:`iterator`." -msgstr "" - -#: ../../library/functions.rst:1856 -msgid "" -"Slice objects are now :term:`hashable` (provided :attr:`~slice.start`, " -":attr:`~slice.stop`, and :attr:`~slice.step` are hashable)." -msgstr "" - -#: ../../library/functions.rst:1862 -msgid "Return a new sorted list from the items in *iterable*." -msgstr "Kembalikan daftar baru yang diurutkan dari item di *iterable*." - -#: ../../library/functions.rst:1864 -msgid "" -"Has two optional arguments which must be specified as keyword arguments." -msgstr "" -"Memiliki dua argumen opsional yang harus ditentukan sebagai argumen kata " -"kunci." - -#: ../../library/functions.rst:1866 -msgid "" -"*key* specifies a function of one argument that is used to extract a " -"comparison key from each element in *iterable* (for example, " -"``key=str.lower``). The default value is ``None`` (compare the elements " -"directly)." -msgstr "" -"*key* menentukan sebuah fungsi dari satu argumen yang digunakan untuk " -"mengekstrak kunci perbandingan dari setiap elemen di *iterable* (misalnya, " -"``key=str.lower``). Nilai bawaannya adalah ``None`` (bandingkan elemen " -"secara langsung)." - -#: ../../library/functions.rst:1870 -msgid "" -"*reverse* is a boolean value. If set to ``True``, then the list elements " -"are sorted as if each comparison were reversed." -msgstr "" -"*reverse* adalah nilai *boolean*. Jika diatur ke ``True``, maka elemen list " -"atau daftar diurutkan seolah-olah setiap perbandingan dibalik." - -#: ../../library/functions.rst:1873 -msgid "" -"Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a" -" *key* function." -msgstr "" -"Gunakan :func:`functools.cmp_to_key` untuk mengubah fungsi *cmp* gaya lama " -"menjadi fungsi *key*." - -#: ../../library/functions.rst:1876 -msgid "" -"The built-in :func:`sorted` function is guaranteed to be stable. A sort is " -"stable if it guarantees not to change the relative order of elements that " -"compare equal --- this is helpful for sorting in multiple passes (for " -"example, sort by department, then by salary grade)." -msgstr "" -"Fungsi bawaan :func:`sorted` dijamin stabil. Semacam stabil jika menjamin " -"tidak mengubah urutan relatif elemen yang membandingkan kesamaan --- ini " -"berguna untuk menyortir dalam beberapa langkah (misalnya, urutkan " -"berdasarkan departemen, lalu dengan tingkat gaji)." - -#: ../../library/functions.rst:1881 -msgid "" -"The sort algorithm uses only ``<`` comparisons between items. While " -"defining an :meth:`~object.__lt__` method will suffice for sorting, :PEP:`8`" -" recommends that all six :ref:`rich comparisons ` be " -"implemented. This will help avoid bugs when using the same data with other " -"ordering tools such as :func:`max` that rely on a different underlying " -"method. Implementing all six comparisons also helps avoid confusion for " -"mixed type comparisons which can call reflected the :meth:`~object.__gt__` " -"method." -msgstr "" - -#: ../../library/functions.rst:1890 -msgid "" -"For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." -msgstr "" -"Untuk contoh pengurutan dan tutorial singkat pengurutan, lihat :ref: " -"`sortinghowto`." - -#: ../../library/functions.rst:1894 -msgid "Transform a method into a static method." -msgstr "Ubah sebuah metode menjadi sebuah metode statis." - -#: ../../library/functions.rst:1896 -msgid "" -"A static method does not receive an implicit first argument. To declare a " -"static method, use this idiom::" -msgstr "" -"Metode statis tidak menerima argumen implisit pertama. Untuk mendeklarasikan" -" metode statis, gunakan idiom ini::" - -#: ../../library/functions.rst:1899 -msgid "" -"class C:\n" -" @staticmethod\n" -" def f(arg1, arg2, argN): ..." -msgstr "" - -#: ../../library/functions.rst:1903 -msgid "" -"The ``@staticmethod`` form is a function :term:`decorator` -- see " -":ref:`function` for details." -msgstr "" -"Bentuk ``@staticmethod`` adalah fungsi :term:`decorator` -- lihat " -":ref:`function` untuk detail." - -#: ../../library/functions.rst:1906 -msgid "" -"A static method can be called either on the class (such as ``C.f()``) or on " -"an instance (such as ``C().f()``). Moreover, the static method " -":term:`descriptor` is also callable, so it can be used in the class " -"definition (such as ``f()``)." -msgstr "" - -#: ../../library/functions.rst:1911 -msgid "" -"Static methods in Python are similar to those found in Java or C++. Also, " -"see :func:`classmethod` for a variant that is useful for creating alternate " -"class constructors." -msgstr "" - -#: ../../library/functions.rst:1915 -msgid "" -"Like all decorators, it is also possible to call ``staticmethod`` as a " -"regular function and do something with its result. This is needed in some " -"cases where you need a reference to a function from a class body and you " -"want to avoid the automatic transformation to instance method. For these " -"cases, use this idiom::" -msgstr "" -"Seperti semua dekorator, dimungkinkan juga untuk memanggil ``staticmethod`` " -"sebagai fungsi biasa dan melakukan sesuatu dengan hasilnya. Ini diperlukan " -"dalam beberapa kasus di mana Anda memerlukan referensi ke fungsi dari badan " -"kelas dan Anda ingin menghindari transformasi otomatis ke metode *instance*." -" Untuk kasus ini, gunakan idiom ini::" - -#: ../../library/functions.rst:1921 -msgid "" -"def regular_function():\n" -" ...\n" -"\n" -"class C:\n" -" method = staticmethod(regular_function)" -msgstr "" - -#: ../../library/functions.rst:1927 -msgid "For more information on static methods, see :ref:`types`." -msgstr "" -"Untuk informasi lebih lanjut tentang metode statis, lihat :ref:`types`." - -#: ../../library/functions.rst:1929 -msgid "" -"Static methods now inherit the method attributes " -"(:attr:`~function.__module__`, :attr:`~function.__name__`, " -":attr:`~function.__qualname__`, :attr:`~function.__doc__` and " -":attr:`~function.__annotations__`), have a new ``__wrapped__`` attribute, " -"and are now callable as regular functions." -msgstr "" - -#: ../../library/functions.rst:1945 -msgid "" -"Return a :class:`str` version of *object*. See :func:`str` for details." -msgstr "" -"Kembalikan sebuah versi :class:`str` dari *objek*. Lihat :func:`str` untuk " -"detailnya." - -#: ../../library/functions.rst:1947 -msgid "" -"``str`` is the built-in string :term:`class`. For general information about" -" strings, see :ref:`textseq`." -msgstr "" -"``str`` adalah string bawaan :term:`class`. Untuk informasi umum tentang " -"string, lihat :ref:`textseq`." - -#: ../../library/functions.rst:1953 -msgid "" -"Sums *start* and the items of an *iterable* from left to right and returns " -"the total. The *iterable*'s items are normally numbers, and the start value" -" is not allowed to be a string." -msgstr "" -"Jumlah *start* dan item dari *iterable* dari kiri ke kanan dan mengembalikan" -" total. Item *iterable* biasanya berupa angka, dan nilai awal tidak boleh " -"berupa string." - -#: ../../library/functions.rst:1957 -msgid "" -"For some use cases, there are good alternatives to :func:`sum`. The " -"preferred, fast way to concatenate a sequence of strings is by calling " -"``''.join(sequence)``. To add floating-point values with extended " -"precision, see :func:`math.fsum`\\. To concatenate a series of iterables, " -"consider using :func:`itertools.chain`." -msgstr "" - -#: ../../library/functions.rst:1963 -msgid "The *start* parameter can be specified as a keyword argument." -msgstr "Parameter *mulai* dapat ditentukan sebagai argumen kata kunci." - -#: ../../library/functions.rst:1966 -msgid "" -"Summation of floats switched to an algorithm that gives higher accuracy and " -"better commutativity on most builds." -msgstr "" - -#: ../../library/functions.rst:1969 -msgid "" -"Added specialization for summation of complexes, using same algorithm as for" -" summation of floats." -msgstr "" - -#: ../../library/functions.rst:1977 -msgid "" -"Return a proxy object that delegates method calls to a parent or sibling " -"class of *type*. This is useful for accessing inherited methods that have " -"been overridden in a class." -msgstr "" -"Kembalikan objek proxy yang mendelegasikan panggilan metode ke kelas orang " -"tua atau saudara dari *type*. Ini berguna untuk mengakses metode yang " -"diwariskan yang telah ditimpa di suatu kelas." - -#: ../../library/functions.rst:1981 -msgid "" -"The *object_or_type* determines the :term:`method resolution order` to be " -"searched. The search starts from the class right after the *type*." -msgstr "" - -#: ../../library/functions.rst:1985 -msgid "" -"For example, if :attr:`~type.__mro__` of *object_or_type* is ``D -> B -> C " -"-> A -> object`` and the value of *type* is ``B``, then :func:`super` " -"searches ``C -> A -> object``." -msgstr "" - -#: ../../library/functions.rst:1989 -msgid "" -"The :attr:`~type.__mro__` attribute of the class corresponding to " -"*object_or_type* lists the method resolution search order used by both " -":func:`getattr` and :func:`super`. The attribute is dynamic and can change " -"whenever the inheritance hierarchy is updated." -msgstr "" - -#: ../../library/functions.rst:1994 -msgid "" -"If the second argument is omitted, the super object returned is unbound. If" -" the second argument is an object, ``isinstance(obj, type)`` must be true. " -"If the second argument is a type, ``issubclass(type2, type)`` must be true " -"(this is useful for classmethods)." -msgstr "" -"Jika argumen kedua dihilangkan, objek super yang dikembalikan tidak terikat " -"*unbound*. Jika argumen kedua adalah objek, ``isinstance(obj, type)`` harus " -"benar. Jika argumen kedua adalah tipe, ``issubclass(type2, type)`` harus " -"benar (ini berguna untuk metode-metode kelas)." - -#: ../../library/functions.rst:1999 -msgid "" -"When called directly within an ordinary method of a class, both arguments " -"may be omitted (\"zero-argument :func:`!super`\"). In this case, *type* will" -" be the enclosing class, and *obj* will be the first argument of the " -"immediately enclosing function (typically ``self``). (This means that zero-" -"argument :func:`!super` will not work as expected within nested functions, " -"including generator expressions, which implicitly create nested functions.)" -msgstr "" - -#: ../../library/functions.rst:2006 -msgid "" -"There are two typical use cases for *super*. In a class hierarchy with " -"single inheritance, *super* can be used to refer to parent classes without " -"naming them explicitly, thus making the code more maintainable. This use " -"closely parallels the use of *super* in other programming languages." -msgstr "" -"Ada dua kasus penggunaan khas untuk *super*. Dalam hierarki kelas dengan " -"pewarisan tunggal *single inheritance*, *super* dapat digunakan untuk " -"merujuk ke kelas induk tanpa menyebutkannya secara eksplisit, sehingga " -"membuat kode lebih mudah dikelola. Penggunaan ini sangat mirip dengan " -"penggunaan *super* dalam bahasa pemrograman lain." - -#: ../../library/functions.rst:2011 -msgid "" -"The second use case is to support cooperative multiple inheritance in a " -"dynamic execution environment. This use case is unique to Python and is not" -" found in statically compiled languages or languages that only support " -"single inheritance. This makes it possible to implement \"diamond " -"diagrams\" where multiple base classes implement the same method. Good " -"design dictates that such implementations have the same calling signature in" -" every case (because the order of calls is determined at runtime, because " -"that order adapts to changes in the class hierarchy, and because that order " -"can include sibling classes that are unknown prior to runtime)." -msgstr "" - -#: ../../library/functions.rst:2021 -msgid "For both use cases, a typical superclass call looks like this::" -msgstr "" -"Untuk kedua kasus penggunaan, pemanggilan *superclass* yang khas terlihat " -"seperti ini::" - -#: ../../library/functions.rst:2023 -msgid "" -"class C(B):\n" -" def method(self, arg):\n" -" super().method(arg) # This does the same thing as:\n" -" # super(C, self).method(arg)" -msgstr "" - -#: ../../library/functions.rst:2028 -msgid "" -"In addition to method lookups, :func:`super` also works for attribute " -"lookups. One possible use case for this is calling :term:`descriptors " -"` in a parent or sibling class." -msgstr "" -"Selain pencarian metode, :func:`super` juga berfungsi untuk pencarian " -"atribut. Salah satu kemungkinan kasus penggunaan ini adalah pemanggilan " -":term:`descriptors ` di kelas induk atau saudara kandung." - -#: ../../library/functions.rst:2032 -msgid "" -"Note that :func:`super` is implemented as part of the binding process for " -"explicit dotted attribute lookups such as ``super().__getitem__(name)``. It " -"does so by implementing its own :meth:`~object.__getattribute__` method for " -"searching classes in a predictable order that supports cooperative multiple " -"inheritance. Accordingly, :func:`super` is undefined for implicit lookups " -"using statements or operators such as ``super()[name]``." -msgstr "" - -#: ../../library/functions.rst:2040 -msgid "" -"Also note that, aside from the zero argument form, :func:`super` is not " -"limited to use inside methods. The two argument form specifies the " -"arguments exactly and makes the appropriate references. The zero argument " -"form only works inside a class definition, as the compiler fills in the " -"necessary details to correctly retrieve the class being defined, as well as " -"accessing the current instance for ordinary methods." -msgstr "" -"Juga perhatikan bahwa, selain dari bentuk tanpa argumen, :func:`super` tidak" -" terbatas untuk menggunakan metode di dalam. Bentuk dua argumen menentukan " -"argumen dengan tepat dan membuat referensi yang sesuai. Bentuk tanpa argumen" -" hanya bekerja di dalam definisi kelas, karena *compiler* mengisi rincian " -"yang diperlukan untuk mengambil kelas yang didefinisikan dengan benar, serta" -" mengakses *instance* saat ini untuk metode biasa." - -#: ../../library/functions.rst:2047 -msgid "" -"For practical suggestions on how to design cooperative classes using " -":func:`super`, see `guide to using super() " -"`_." -msgstr "" -"Untuk saran praktis tentang bagaimana merancang kelas kooperatif menggunakan" -" :func:`super`, lihat `guide to using super() " -"`_." - -#: ../../library/functions.rst:2051 -msgid "" -":class:`super` objects are now :mod:`pickleable ` and " -":mod:`copyable `." -msgstr "" - -#: ../../library/functions.rst:2061 -msgid "" -"Rather than being a function, :class:`tuple` is actually an immutable " -"sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`." -msgstr "" -"Alih-alih menjadi fungsi, :class:`tuple` sebenarnya merupakan tipe urutan " -"yang tidak dapat diubah atau disebut *immutable*, seperti yang " -"didokumentasikan dalam :ref:`typesseq-tuple` dan :ref:`typesseq`." - -#: ../../library/functions.rst:2070 -msgid "" -"With one argument, return the type of an *object*. The return value is a " -"type object and generally the same object as returned by " -":attr:`object.__class__`." -msgstr "" - -#: ../../library/functions.rst:2074 -msgid "" -"The :func:`isinstance` built-in function is recommended for testing the type" -" of an object, because it takes subclasses into account." -msgstr "" -"Fungsi bawaan :func:`isinstance` direkomendasikan untuk menguji jenis objek," -" karena ia memperhitungkan subkelas." - -#: ../../library/functions.rst:2077 -msgid "" -"With three arguments, return a new type object. This is essentially a " -"dynamic form of the :keyword:`class` statement. The *name* string is the " -"class name and becomes the :attr:`~type.__name__` attribute. The *bases* " -"tuple contains the base classes and becomes the :attr:`~type.__bases__` " -"attribute; if empty, :class:`object`, the ultimate base of all classes, is " -"added. The *dict* dictionary contains attribute and method definitions for " -"the class body; it may be copied or wrapped before becoming the " -":attr:`~type.__dict__` attribute. The following two statements create " -"identical :class:`!type` objects:" -msgstr "" - -#: ../../library/functions.rst:2092 -msgid "See also:" -msgstr "" - -#: ../../library/functions.rst:2094 -msgid "" -":ref:`Documentation on attributes and methods on classes `." -msgstr "" - -#: ../../library/functions.rst:2095 -msgid ":ref:`bltin-type-objects`" -msgstr "" - -#: ../../library/functions.rst:2097 -msgid "" -"Keyword arguments provided to the three argument form are passed to the " -"appropriate metaclass machinery (usually :meth:`~object.__init_subclass__`) " -"in the same way that keywords in a class definition (besides *metaclass*) " -"would." -msgstr "" - -#: ../../library/functions.rst:2102 -msgid "See also :ref:`class-customization`." -msgstr "" - -#: ../../library/functions.rst:2104 -msgid "" -"Subclasses of :class:`!type` which don't override ``type.__new__`` may no " -"longer use the one-argument form to get the type of an object." -msgstr "" - -#: ../../library/functions.rst:2111 -msgid "" -"Return the :attr:`~object.__dict__` attribute for a module, class, instance," -" or any other object with a :attr:`!__dict__` attribute." -msgstr "" - -#: ../../library/functions.rst:2114 -msgid "" -"Objects such as modules and instances have an updateable " -":attr:`~object.__dict__` attribute; however, other objects may have write " -"restrictions on their :attr:`!__dict__` attributes (for example, classes use" -" a :class:`types.MappingProxyType` to prevent direct dictionary updates)." -msgstr "" - -#: ../../library/functions.rst:2119 -msgid "Without an argument, :func:`vars` acts like :func:`locals`." -msgstr "" - -#: ../../library/functions.rst:2121 -msgid "" -"A :exc:`TypeError` exception is raised if an object is specified but it " -"doesn't have a :attr:`~object.__dict__` attribute (for example, if its class" -" defines the :attr:`~object.__slots__` attribute)." -msgstr "" -"Sebuah pengecualian untuk :exc:`TypeError` akan muncul jika suatu objek yang" -" ditentukan tetapi tidak memiliki sebuah atribut :attr:`~object.__dict__` " -"(contohnya, jika suatu kelas didefinisikan sebagai atribut " -":attr:`~object.__slots__`)." - -#: ../../library/functions.rst:2127 -msgid "" -"The result of calling this function without an argument has been updated as " -"described for the :func:`locals` builtin." -msgstr "" - -#: ../../library/functions.rst:2133 -msgid "" -"Iterate over several iterables in parallel, producing tuples with an item " -"from each one." -msgstr "" - -#: ../../library/functions.rst:2136 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/functions.rst:2138 -msgid "" -">>> for item in zip([1, 2, 3], ['sugar', 'spice', 'everything nice']):\n" -"... print(item)\n" -"...\n" -"(1, 'sugar')\n" -"(2, 'spice')\n" -"(3, 'everything nice')" -msgstr "" - -#: ../../library/functions.rst:2145 -msgid "" -"More formally: :func:`zip` returns an iterator of tuples, where the *i*-th " -"tuple contains the *i*-th element from each of the argument iterables." -msgstr "" - -#: ../../library/functions.rst:2148 -msgid "" -"Another way to think of :func:`zip` is that it turns rows into columns, and " -"columns into rows. This is similar to `transposing a matrix " -"`_." -msgstr "" - -#: ../../library/functions.rst:2152 -msgid "" -":func:`zip` is lazy: The elements won't be processed until the iterable is " -"iterated on, e.g. by a :keyword:`!for` loop or by wrapping in a " -":class:`list`." -msgstr "" - -#: ../../library/functions.rst:2156 -msgid "" -"One thing to consider is that the iterables passed to :func:`zip` could have" -" different lengths; sometimes by design, and sometimes because of a bug in " -"the code that prepared these iterables. Python offers three different " -"approaches to dealing with this issue:" -msgstr "" - -#: ../../library/functions.rst:2161 -msgid "" -"By default, :func:`zip` stops when the shortest iterable is exhausted. It " -"will ignore the remaining items in the longer iterables, cutting off the " -"result to the length of the shortest iterable::" -msgstr "" - -#: ../../library/functions.rst:2165 -msgid "" -">>> list(zip(range(3), ['fee', 'fi', 'fo', 'fum']))\n" -"[(0, 'fee'), (1, 'fi'), (2, 'fo')]" -msgstr "" - -#: ../../library/functions.rst:2168 -msgid "" -":func:`zip` is often used in cases where the iterables are assumed to be of " -"equal length. In such cases, it's recommended to use the ``strict=True`` " -"option. Its output is the same as regular :func:`zip`::" -msgstr "" - -#: ../../library/functions.rst:2172 -msgid "" -">>> list(zip(('a', 'b', 'c'), (1, 2, 3), strict=True))\n" -"[('a', 1), ('b', 2), ('c', 3)]" -msgstr "" - -#: ../../library/functions.rst:2175 -msgid "" -"Unlike the default behavior, it raises a :exc:`ValueError` if one iterable " -"is exhausted before the others:" -msgstr "" - -#: ../../library/functions.rst:2193 -msgid "" -"Without the ``strict=True`` argument, any bug that results in iterables of " -"different lengths will be silenced, possibly manifesting as a hard-to-find " -"bug in another part of the program." -msgstr "" - -#: ../../library/functions.rst:2197 -msgid "" -"Shorter iterables can be padded with a constant value to make all the " -"iterables have the same length. This is done by " -":func:`itertools.zip_longest`." -msgstr "" - -#: ../../library/functions.rst:2201 -msgid "" -"Edge cases: With a single iterable argument, :func:`zip` returns an iterator" -" of 1-tuples. With no arguments, it returns an empty iterator." -msgstr "" - -#: ../../library/functions.rst:2204 -msgid "Tips and tricks:" -msgstr "" - -#: ../../library/functions.rst:2206 -msgid "" -"The left-to-right evaluation order of the iterables is guaranteed. This " -"makes possible an idiom for clustering a data series into n-length groups " -"using ``zip(*[iter(s)]*n, strict=True)``. This repeats the *same* iterator " -"``n`` times so that each output tuple has the result of ``n`` calls to the " -"iterator. This has the effect of dividing the input into n-length chunks." -msgstr "" - -#: ../../library/functions.rst:2212 -msgid "" -":func:`zip` in conjunction with the ``*`` operator can be used to unzip a " -"list::" -msgstr "" -":func:`zip` bersama dengan operator ``*`` dapat digunakan untuk *unzip* " -"sebuah list atau daftar::" - -#: ../../library/functions.rst:2215 -msgid "" -">>> x = [1, 2, 3]\n" -">>> y = [4, 5, 6]\n" -">>> list(zip(x, y))\n" -"[(1, 4), (2, 5), (3, 6)]\n" -">>> x2, y2 = zip(*zip(x, y))\n" -">>> x == list(x2) and y == list(y2)\n" -"True" -msgstr "" - -#: ../../library/functions.rst:2223 -msgid "Added the ``strict`` argument." -msgstr "" - -#: ../../library/functions.rst:2235 -msgid "" -"This is an advanced function that is not needed in everyday Python " -"programming, unlike :func:`importlib.import_module`." -msgstr "" -"Ini adalah fungsi lanjutan yang tidak diperlukan dalam pemrograman Python " -"sehari-hari, tidak seperti :func:`importlib.import_module`." - -#: ../../library/functions.rst:2238 -msgid "" -"This function is invoked by the :keyword:`import` statement. It can be " -"replaced (by importing the :mod:`builtins` module and assigning to " -"``builtins.__import__``) in order to change semantics of the " -":keyword:`!import` statement, but doing so is **strongly** discouraged as it" -" is usually simpler to use import hooks (see :pep:`302`) to attain the same " -"goals and does not cause issues with code which assumes the default import " -"implementation is in use. Direct use of :func:`__import__` is also " -"discouraged in favor of :func:`importlib.import_module`." -msgstr "" -"Fungsi ini dipanggil oleh pernyataan :keyword:`import`. Itu dapat diganti " -"(dengan mengimpor modul :mod:`builtins` dan mengisi ke " -"``builtins.__import__``) untuk mengubah semantik pernyataan " -":keyword:`!import`, tetapi melakukannya **strongly** atau tidak disarankan " -"karena biasanya lebih mudah menggunakan kait impor (lihat: pep:`302`) untuk " -"mencapai tujuan yang sama dan tidak menyebabkan masalah dengan kode yang " -"mengasumsikan implementasi impor standar sedang digunakan. Penggunaan " -"langsung :func:`__import__` juga tidak disarankan untuk kepentingan " -":func:`importlib.import_module`." - -#: ../../library/functions.rst:2247 -msgid "" -"The function imports the module *name*, potentially using the given " -"*globals* and *locals* to determine how to interpret the name in a package " -"context. The *fromlist* gives the names of objects or submodules that should" -" be imported from the module given by *name*. The standard implementation " -"does not use its *locals* argument at all and uses its *globals* only to " -"determine the package context of the :keyword:`import` statement." -msgstr "" - -#: ../../library/functions.rst:2254 -msgid "" -"*level* specifies whether to use absolute or relative imports. ``0`` (the " -"default) means only perform absolute imports. Positive values for *level* " -"indicate the number of parent directories to search relative to the " -"directory of the module calling :func:`__import__` (see :pep:`328` for the " -"details)." -msgstr "" -"*level* menentukan apakah akan menggunakan impor absolut atau relatif. ``0``" -" (bawaan) berarti hanya melakukan impor absolut. Nilai positif untuk *level*" -" menunjukkan jumlah direktori induk untuk mencari relatif ke direktori " -"pemanggilan modul :func:`__import__` (lihat :pep:`328` untuk detailnya)." - -#: ../../library/functions.rst:2260 -msgid "" -"When the *name* variable is of the form ``package.module``, normally, the " -"top-level package (the name up till the first dot) is returned, *not* the " -"module named by *name*. However, when a non-empty *fromlist* argument is " -"given, the module named by *name* is returned." -msgstr "" -"Ketika variabel *name* dalam bentuk ``package.module``, biasanya, paket " -"tingkat atas (nama hingga titik pertama) dikembalikan, *not* modul dinamai " -"dengan *name*. Namun, ketika argumen tidak-kosong *fromlist * diberikan, " -"modul bernama oleh *name* dikembalikan." - -#: ../../library/functions.rst:2265 -msgid "" -"For example, the statement ``import spam`` results in bytecode resembling " -"the following code::" -msgstr "" -"Sebagai contoh, pernyataan ``import spam`` menghasilkan bytecode yang " -"menyerupai kode berikut::" - -#: ../../library/functions.rst:2268 -msgid "spam = __import__('spam', globals(), locals(), [], 0)" -msgstr "" - -#: ../../library/functions.rst:2270 -msgid "The statement ``import spam.ham`` results in this call::" -msgstr "Pernyataan ``import spam.ham`` menghasilkan panggilan ini::" - -#: ../../library/functions.rst:2272 -msgid "spam = __import__('spam.ham', globals(), locals(), [], 0)" -msgstr "" - -#: ../../library/functions.rst:2274 -msgid "" -"Note how :func:`__import__` returns the toplevel module here because this is" -" the object that is bound to a name by the :keyword:`import` statement." -msgstr "" -"Perhatikan caranya :func:`__import__` mengembalikan modul tingkat atas di " -"sini karena ini adalah objek yang terikat pada nama oleh pernyataan " -":keyword:`import`." - -#: ../../library/functions.rst:2277 -msgid "" -"On the other hand, the statement ``from spam.ham import eggs, sausage as " -"saus`` results in ::" -msgstr "" -"Di sisi lain, pernyataan ``from spam.ham import eggs, sausage as saus`` " -"menghasilkan ::" - -#: ../../library/functions.rst:2280 -msgid "" -"_temp = __import__('spam.ham', globals(), locals(), ['eggs', 'sausage'], 0)\n" -"eggs = _temp.eggs\n" -"saus = _temp.sausage" -msgstr "" - -#: ../../library/functions.rst:2284 -msgid "" -"Here, the ``spam.ham`` module is returned from :func:`__import__`. From " -"this object, the names to import are retrieved and assigned to their " -"respective names." -msgstr "" -"Di sini, modul ``spam.ham`` dikembalikan dari :func:`__import__`. Dari objek" -" ini, nama yang akan diimpor diambil dan diisikan ke nama masing-masing." - -#: ../../library/functions.rst:2288 -msgid "" -"If you simply want to import a module (potentially within a package) by " -"name, use :func:`importlib.import_module`." -msgstr "" -"Jika Anda hanya ingin mengimpor sebuah modul (berpotensi dalam suatu paket) " -"dengan nama, gunakan :func:`importlib.import_module`." - -#: ../../library/functions.rst:2291 -msgid "" -"Negative values for *level* are no longer supported (which also changes the " -"default value to 0)." -msgstr "" -"Nilai negatif untuk *level* tidak lagi didukung (juga mengubah nilai default" -" menjadi 0)." - -#: ../../library/functions.rst:2295 -msgid "" -"When the command line options :option:`-E` or :option:`-I` are being used, " -"the environment variable :envvar:`PYTHONCASEOK` is now ignored." -msgstr "" - -#: ../../library/functions.rst:2300 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/functions.rst:2301 -msgid "" -"Note that the parser only accepts the Unix-style end of line convention. If " -"you are reading the code from a file, make sure to use newline conversion " -"mode to convert Windows or Mac-style newlines." -msgstr "" -"Perhatikan bahwa pengurai hanya menerima konvensi akhir garis *end of line* " -"gaya Unix. Jika Anda membaca kode dari sebuah berkas, pastikan untuk " -"menggunakan mode konversi baris baru untuk mengkonversi baris baru gaya " -"Windows atau Mac." - -#: ../../library/functions.rst:154 -msgid "Boolean" -msgstr "" - -#: ../../library/functions.rst:154 ../../library/functions.rst:2068 -msgid "type" -msgstr "tipe" - -#: ../../library/functions.rst:654 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../library/functions.rst:654 -msgid "exec" -msgstr "" - -#: ../../library/functions.rst:752 -msgid "NaN" -msgstr "" - -#: ../../library/functions.rst:752 -msgid "Infinity" -msgstr "" - -#: ../../library/functions.rst:822 -msgid "__format__" -msgstr "" - -#: ../../library/functions.rst:822 ../../library/functions.rst:1937 -msgid "string" -msgstr "string" - -#: ../../library/functions.rst:822 -msgid "format() (built-in function)" -msgstr "" - -#: ../../library/functions.rst:1337 -msgid "file object" -msgstr "objek berkas" - -#: ../../library/functions.rst:1337 ../../library/functions.rst:1458 -msgid "open() built-in function" -msgstr "" - -#: ../../library/functions.rst:1365 -msgid "file" -msgstr "" - -#: ../../library/functions.rst:1365 -msgid "modes" -msgstr "" - -#: ../../library/functions.rst:1458 -msgid "universal newlines" -msgstr "" - -#: ../../library/functions.rst:1519 -msgid "line-buffered I/O" -msgstr "" - -#: ../../library/functions.rst:1519 -msgid "unbuffered I/O" -msgstr "" - -#: ../../library/functions.rst:1519 -msgid "buffer size, I/O" -msgstr "" - -#: ../../library/functions.rst:1519 -msgid "I/O control" -msgstr "" - -#: ../../library/functions.rst:1519 -msgid "buffering" -msgstr "" - -#: ../../library/functions.rst:1519 -msgid "text mode" -msgstr "" - -#: ../../library/functions.rst:1519 ../../library/functions.rst:2229 -msgid "module" -msgstr "modul" - -#: ../../library/functions.rst:1519 -msgid "sys" -msgstr "sys" - -#: ../../library/functions.rst:1937 -msgid "str() (built-in function)" -msgstr "" - -#: ../../library/functions.rst:2068 -msgid "object" -msgstr "objek" - -#: ../../library/functions.rst:2229 -msgid "statement" -msgstr "pernyataan" - -#: ../../library/functions.rst:2229 -msgid "import" -msgstr "" - -#: ../../library/functions.rst:2229 -msgid "builtins" -msgstr "builtins" diff --git a/python-newest.library--functools/id.po b/python-newest.library--functools/id.po deleted file mode 100644 index e9068fe..0000000 --- a/python-newest.library--functools/id.po +++ /dev/null @@ -1,1091 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/functools.rst:2 -msgid "" -":mod:`!functools` --- Higher-order functions and operations on callable " -"objects" -msgstr "" - -#: ../../library/functools.rst:14 -msgid "**Source code:** :source:`Lib/functools.py`" -msgstr "" - -#: ../../library/functools.rst:23 -msgid "" -"The :mod:`functools` module is for higher-order functions: functions that " -"act on or return other functions. In general, any callable object can be " -"treated as a function for the purposes of this module." -msgstr "" - -#: ../../library/functools.rst:27 -msgid "The :mod:`functools` module defines the following functions:" -msgstr "" - -#: ../../library/functools.rst:31 -msgid "" -"Simple lightweight unbounded function cache. Sometimes called `\"memoize\" " -"`_." -msgstr "" - -#: ../../library/functools.rst:34 -msgid "" -"Returns the same as ``lru_cache(maxsize=None)``, creating a thin wrapper " -"around a dictionary lookup for the function arguments. Because it never " -"needs to evict old values, this is smaller and faster than :func:`lru_cache`" -" with a size limit." -msgstr "" - -#: ../../library/functools.rst:39 ../../library/functools.rst:291 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../library/functools.rst:41 -msgid "" -"@cache\n" -"def factorial(n):\n" -" return n * factorial(n-1) if n else 1\n" -"\n" -">>> factorial(10) # no previously cached result, makes 11 recursive calls\n" -"3628800\n" -">>> factorial(5) # just looks up cached value result\n" -"120\n" -">>> factorial(12) # makes two new recursive calls, the other 10 are cached\n" -"479001600" -msgstr "" - -#: ../../library/functools.rst:52 ../../library/functools.rst:158 -msgid "" -"The cache is threadsafe so that the wrapped function can be used in multiple" -" threads. This means that the underlying data structure will remain " -"coherent during concurrent updates." -msgstr "" - -#: ../../library/functools.rst:56 ../../library/functools.rst:162 -msgid "" -"It is possible for the wrapped function to be called more than once if " -"another thread makes an additional call before the initial call has been " -"completed and cached." -msgstr "" - -#: ../../library/functools.rst:65 -msgid "" -"Transform a method of a class into a property whose value is computed once " -"and then cached as a normal attribute for the life of the instance. Similar " -"to :func:`property`, with the addition of caching. Useful for expensive " -"computed properties of instances that are otherwise effectively immutable." -msgstr "" - -#: ../../library/functools.rst:70 ../../library/functools.rst:142 -#: ../../library/functools.rst:432 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/functools.rst:72 -msgid "" -"class DataSet:\n" -"\n" -" def __init__(self, sequence_of_numbers):\n" -" self._data = tuple(sequence_of_numbers)\n" -"\n" -" @cached_property\n" -" def stdev(self):\n" -" return statistics.stdev(self._data)" -msgstr "" - -#: ../../library/functools.rst:81 -msgid "" -"The mechanics of :func:`cached_property` are somewhat different from " -":func:`property`. A regular property blocks attribute writes unless a " -"setter is defined. In contrast, a *cached_property* allows writes." -msgstr "" - -#: ../../library/functools.rst:85 -msgid "" -"The *cached_property* decorator only runs on lookups and only when an " -"attribute of the same name doesn't exist. When it does run, the " -"*cached_property* writes to the attribute with the same name. Subsequent " -"attribute reads and writes take precedence over the *cached_property* method" -" and it works like a normal attribute." -msgstr "" - -#: ../../library/functools.rst:91 -msgid "" -"The cached value can be cleared by deleting the attribute. This allows the " -"*cached_property* method to run again." -msgstr "" - -#: ../../library/functools.rst:94 -msgid "" -"The *cached_property* does not prevent a possible race condition in multi-" -"threaded usage. The getter function could run more than once on the same " -"instance, with the latest run setting the cached value. If the cached " -"property is idempotent or otherwise not harmful to run more than once on an " -"instance, this is fine. If synchronization is needed, implement the " -"necessary locking inside the decorated getter function or around the cached " -"property access." -msgstr "" - -#: ../../library/functools.rst:102 -msgid "" -"Note, this decorator interferes with the operation of :pep:`412` key-sharing" -" dictionaries. This means that instance dictionaries can take more space " -"than usual." -msgstr "" - -#: ../../library/functools.rst:106 -msgid "" -"Also, this decorator requires that the ``__dict__`` attribute on each " -"instance be a mutable mapping. This means it will not work with some types, " -"such as metaclasses (since the ``__dict__`` attributes on type instances are" -" read-only proxies for the class namespace), and those that specify " -"``__slots__`` without including ``__dict__`` as one of the defined slots (as" -" such classes don't provide a ``__dict__`` attribute at all)." -msgstr "" - -#: ../../library/functools.rst:113 -msgid "" -"If a mutable mapping is not available or if space-efficient key sharing is " -"desired, an effect similar to :func:`cached_property` can also be achieved " -"by stacking :func:`property` on top of :func:`lru_cache`. See :ref:`faq-" -"cache-method-calls` for more details on how this differs from " -":func:`cached_property`." -msgstr "" - -#: ../../library/functools.rst:120 -msgid "" -"Prior to Python 3.12, ``cached_property`` included an undocumented lock to " -"ensure that in multi-threaded usage the getter function was guaranteed to " -"run only once per instance. However, the lock was per-property, not per-" -"instance, which could result in unacceptably high lock contention. In Python" -" 3.12+ this locking is removed." -msgstr "" - -#: ../../library/functools.rst:130 -msgid "" -"Transform an old-style comparison function to a :term:`key function`. Used " -"with tools that accept key functions (such as :func:`sorted`, :func:`min`, " -":func:`max`, :func:`heapq.nlargest`, :func:`heapq.nsmallest`, " -":func:`itertools.groupby`). This function is primarily used as a transition" -" tool for programs being converted from Python 2 which supported the use of " -"comparison functions." -msgstr "" - -#: ../../library/functools.rst:137 -msgid "" -"A comparison function is any callable that accepts two arguments, compares " -"them, and returns a negative number for less-than, zero for equality, or a " -"positive number for greater-than. A key function is a callable that accepts" -" one argument and returns another value to be used as the sort key." -msgstr "" - -#: ../../library/functools.rst:144 -msgid "" -"sorted(iterable, key=cmp_to_key(locale.strcoll)) # locale-aware sort order" -msgstr "" - -#: ../../library/functools.rst:146 -msgid "" -"For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." -msgstr "" -"Untuk contoh pengurutan dan tutorial singkat pengurutan, lihat :ref: " -"`sortinghowto`." - -#: ../../library/functools.rst:154 -msgid "" -"Decorator to wrap a function with a memoizing callable that saves up to the " -"*maxsize* most recent calls. It can save time when an expensive or I/O " -"bound function is periodically called with the same arguments." -msgstr "" - -#: ../../library/functools.rst:166 -msgid "" -"Since a dictionary is used to cache results, the positional and keyword " -"arguments to the function must be :term:`hashable`." -msgstr "" - -#: ../../library/functools.rst:169 -msgid "" -"Distinct argument patterns may be considered to be distinct calls with " -"separate cache entries. For example, ``f(a=1, b=2)`` and ``f(b=2, a=1)`` " -"differ in their keyword argument order and may have two separate cache " -"entries." -msgstr "" - -#: ../../library/functools.rst:174 -msgid "" -"If *user_function* is specified, it must be a callable. This allows the " -"*lru_cache* decorator to be applied directly to a user function, leaving the" -" *maxsize* at its default value of 128::" -msgstr "" - -#: ../../library/functools.rst:178 -msgid "" -"@lru_cache\n" -"def count_vowels(sentence):\n" -" return sum(sentence.count(vowel) for vowel in 'AEIOUaeiou')" -msgstr "" - -#: ../../library/functools.rst:182 -msgid "" -"If *maxsize* is set to ``None``, the LRU feature is disabled and the cache " -"can grow without bound." -msgstr "" - -#: ../../library/functools.rst:185 -msgid "" -"If *typed* is set to true, function arguments of different types will be " -"cached separately. If *typed* is false, the implementation will usually " -"regard them as equivalent calls and only cache a single result. (Some types " -"such as *str* and *int* may be cached separately even when *typed* is " -"false.)" -msgstr "" - -#: ../../library/functools.rst:191 -msgid "" -"Note, type specificity applies only to the function's immediate arguments " -"rather than their contents. The scalar arguments, ``Decimal(42)`` and " -"``Fraction(42)`` are be treated as distinct calls with distinct results. In " -"contrast, the tuple arguments ``('answer', Decimal(42))`` and ``('answer', " -"Fraction(42))`` are treated as equivalent." -msgstr "" - -#: ../../library/functools.rst:197 -msgid "" -"The wrapped function is instrumented with a :func:`!cache_parameters` " -"function that returns a new :class:`dict` showing the values for *maxsize* " -"and *typed*. This is for information purposes only. Mutating the values " -"has no effect." -msgstr "" - -#: ../../library/functools.rst:202 -msgid "" -"To help measure the effectiveness of the cache and tune the *maxsize* " -"parameter, the wrapped function is instrumented with a :func:`cache_info` " -"function that returns a :term:`named tuple` showing *hits*, *misses*, " -"*maxsize* and *currsize*." -msgstr "" - -#: ../../library/functools.rst:207 -msgid "" -"The decorator also provides a :func:`cache_clear` function for clearing or " -"invalidating the cache." -msgstr "" - -#: ../../library/functools.rst:210 -msgid "" -"The original underlying function is accessible through the " -":attr:`__wrapped__` attribute. This is useful for introspection, for " -"bypassing the cache, or for rewrapping the function with a different cache." -msgstr "" - -#: ../../library/functools.rst:214 -msgid "" -"The cache keeps references to the arguments and return values until they age" -" out of the cache or until the cache is cleared." -msgstr "" - -#: ../../library/functools.rst:217 -msgid "" -"If a method is cached, the ``self`` instance argument is included in the " -"cache. See :ref:`faq-cache-method-calls`" -msgstr "" - -#: ../../library/functools.rst:220 -msgid "" -"An `LRU (least recently used) cache " -"`_" -" works best when the most recent calls are the best predictors of upcoming " -"calls (for example, the most popular articles on a news server tend to " -"change each day). The cache's size limit assures that the cache does not " -"grow without bound on long-running processes such as web servers." -msgstr "" - -#: ../../library/functools.rst:227 -msgid "" -"In general, the LRU cache should only be used when you want to reuse " -"previously computed values. Accordingly, it doesn't make sense to cache " -"functions with side-effects, functions that need to create distinct mutable " -"objects on each call (such as generators and async functions), or impure " -"functions such as time() or random()." -msgstr "" - -#: ../../library/functools.rst:233 -msgid "Example of an LRU cache for static web content::" -msgstr "" - -#: ../../library/functools.rst:235 -msgid "" -"@lru_cache(maxsize=32)\n" -"def get_pep(num):\n" -" 'Retrieve text of a Python Enhancement Proposal'\n" -" resource = f'https://peps.python.org/pep-{num:04d}'\n" -" try:\n" -" with urllib.request.urlopen(resource) as s:\n" -" return s.read()\n" -" except urllib.error.HTTPError:\n" -" return 'Not Found'\n" -"\n" -">>> for n in 8, 290, 308, 320, 8, 218, 320, 279, 289, 320, 9991:\n" -"... pep = get_pep(n)\n" -"... print(n, len(pep))\n" -"\n" -">>> get_pep.cache_info()\n" -"CacheInfo(hits=3, misses=8, maxsize=32, currsize=8)" -msgstr "" - -#: ../../library/functools.rst:252 -msgid "" -"Example of efficiently computing `Fibonacci numbers " -"`_ using a cache to " -"implement a `dynamic programming " -"`_ technique::" -msgstr "" - -#: ../../library/functools.rst:258 -msgid "" -"@lru_cache(maxsize=None)\n" -"def fib(n):\n" -" if n < 2:\n" -" return n\n" -" return fib(n-1) + fib(n-2)\n" -"\n" -">>> [fib(n) for n in range(16)]\n" -"[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]\n" -"\n" -">>> fib.cache_info()\n" -"CacheInfo(hits=28, misses=16, maxsize=None, currsize=16)" -msgstr "" - -#: ../../library/functools.rst:272 -msgid "Added the *typed* option." -msgstr "" - -#: ../../library/functools.rst:275 -msgid "Added the *user_function* option." -msgstr "" - -#: ../../library/functools.rst:278 -msgid "Added the function :func:`!cache_parameters`" -msgstr "" - -#: ../../library/functools.rst:283 -msgid "" -"Given a class defining one or more rich comparison ordering methods, this " -"class decorator supplies the rest. This simplifies the effort involved in " -"specifying all of the possible rich comparison operations:" -msgstr "" - -#: ../../library/functools.rst:287 -msgid "" -"The class must define one of :meth:`__lt__`, :meth:`__le__`, :meth:`__gt__`," -" or :meth:`__ge__`. In addition, the class should supply an :meth:`__eq__` " -"method." -msgstr "" - -#: ../../library/functools.rst:293 -msgid "" -"@total_ordering\n" -"class Student:\n" -" def _is_valid_operand(self, other):\n" -" return (hasattr(other, \"lastname\") and\n" -" hasattr(other, \"firstname\"))\n" -" def __eq__(self, other):\n" -" if not self._is_valid_operand(other):\n" -" return NotImplemented\n" -" return ((self.lastname.lower(), self.firstname.lower()) ==\n" -" (other.lastname.lower(), other.firstname.lower()))\n" -" def __lt__(self, other):\n" -" if not self._is_valid_operand(other):\n" -" return NotImplemented\n" -" return ((self.lastname.lower(), self.firstname.lower()) <\n" -" (other.lastname.lower(), other.firstname.lower()))" -msgstr "" - -#: ../../library/functools.rst:311 -msgid "" -"While this decorator makes it easy to create well behaved totally ordered " -"types, it *does* come at the cost of slower execution and more complex stack" -" traces for the derived comparison methods. If performance benchmarking " -"indicates this is a bottleneck for a given application, implementing all six" -" rich comparison methods instead is likely to provide an easy speed boost." -msgstr "" - -#: ../../library/functools.rst:320 -msgid "" -"This decorator makes no attempt to override methods that have been declared " -"in the class *or its superclasses*. Meaning that if a superclass defines a " -"comparison operator, *total_ordering* will not implement it again, even if " -"the original method is abstract." -msgstr "" - -#: ../../library/functools.rst:327 -msgid "" -"Returning ``NotImplemented`` from the underlying comparison function for " -"unrecognised types is now supported." -msgstr "" - -#: ../../library/functools.rst:333 -msgid "" -"A singleton object used as a sentinel to reserve a place for positional " -"arguments when calling :func:`partial` and :func:`partialmethod`." -msgstr "" - -#: ../../library/functools.rst:341 -msgid "" -"Return a new :ref:`partial object` which when called will " -"behave like *func* called with the positional arguments *args* and keyword " -"arguments *keywords*. If more arguments are supplied to the call, they are " -"appended to *args*. If additional keyword arguments are supplied, they " -"extend and override *keywords*. Roughly equivalent to::" -msgstr "" - -#: ../../library/functools.rst:348 -msgid "" -"def partial(func, /, *args, **keywords):\n" -" def newfunc(*more_args, **more_keywords):\n" -" return func(*args, *more_args, **(keywords | more_keywords))\n" -" newfunc.func = func\n" -" newfunc.args = args\n" -" newfunc.keywords = keywords\n" -" return newfunc" -msgstr "" - -#: ../../library/functools.rst:356 -msgid "" -"The :func:`!partial` function is used for partial function application which" -" \"freezes\" some portion of a function's arguments and/or keywords " -"resulting in a new object with a simplified signature. For example, " -":func:`partial` can be used to create a callable that behaves like the " -":func:`int` function where the *base* argument defaults to ``2``:" -msgstr "" - -#: ../../library/functools.rst:362 -msgid "" -">>> basetwo = partial(int, base=2)\n" -">>> basetwo.__doc__ = 'Convert base 2 string to an int.'\n" -">>> basetwo('10010')\n" -"18" -msgstr "" - -#: ../../library/functools.rst:369 -msgid "" -"If :data:`Placeholder` sentinels are present in *args*, they will be filled " -"first when :func:`!partial` is called. This makes it possible to pre-fill " -"any positional argument with a call to :func:`!partial`; without " -":data:`!Placeholder`, only the chosen number of leading positional arguments" -" can be pre-filled." -msgstr "" - -#: ../../library/functools.rst:374 -msgid "" -"If any :data:`!Placeholder` sentinels are present, all must be filled at " -"call time:" -msgstr "" - -#: ../../library/functools.rst:376 -msgid "" -">>> say_to_world = partial(print, Placeholder, Placeholder, \"world!\")\n" -">>> say_to_world('Hello', 'dear')\n" -"Hello dear world!" -msgstr "" - -#: ../../library/functools.rst:382 -msgid "" -"Calling ``say_to_world('Hello')`` raises a :exc:`TypeError`, because only " -"one positional argument is provided, but there are two placeholders that " -"must be filled in." -msgstr "" - -#: ../../library/functools.rst:386 -msgid "" -"If :func:`!partial` is applied to an existing :func:`!partial` object, " -":data:`!Placeholder` sentinels of the input object are filled in with new " -"positional arguments. A placeholder can be retained by inserting a new " -":data:`!Placeholder` sentinel to the place held by a previous " -":data:`!Placeholder`:" -msgstr "" - -#: ../../library/functools.rst:392 -msgid "" -">>> from functools import partial, Placeholder as _\n" -">>> remove = partial(str.replace, _, _, '')\n" -">>> message = 'Hello, dear dear world!'\n" -">>> remove(message, ' dear')\n" -"'Hello, world!'\n" -">>> remove_dear = partial(remove, _, ' dear')\n" -">>> remove_dear(message)\n" -"'Hello, world!'\n" -">>> remove_first_dear = partial(remove_dear, _, 1)\n" -">>> remove_first_dear(message)\n" -"'Hello, dear world!'" -msgstr "" - -#: ../../library/functools.rst:406 -msgid "" -":data:`!Placeholder` cannot be passed to :func:`!partial` as a keyword " -"argument." -msgstr "" - -#: ../../library/functools.rst:408 -msgid "Added support for :data:`Placeholder` in positional arguments." -msgstr "" - -#: ../../library/functools.rst:413 -msgid "" -"Return a new :class:`partialmethod` descriptor which behaves like " -":class:`partial` except that it is designed to be used as a method " -"definition rather than being directly callable." -msgstr "" - -#: ../../library/functools.rst:417 -msgid "" -"*func* must be a :term:`descriptor` or a callable (objects which are both, " -"like normal functions, are handled as descriptors)." -msgstr "" - -#: ../../library/functools.rst:420 -msgid "" -"When *func* is a descriptor (such as a normal Python function, " -":func:`classmethod`, :func:`staticmethod`, :func:`abstractmethod` or another" -" instance of :class:`partialmethod`), calls to ``__get__`` are delegated to " -"the underlying descriptor, and an appropriate :ref:`partial object` returned as the result." -msgstr "" - -#: ../../library/functools.rst:426 -msgid "" -"When *func* is a non-descriptor callable, an appropriate bound method is " -"created dynamically. This behaves like a normal Python function when used as" -" a method: the *self* argument will be inserted as the first positional " -"argument, even before the *args* and *keywords* supplied to the " -":class:`partialmethod` constructor." -msgstr "" - -#: ../../library/functools.rst:434 -msgid "" -">>> class Cell:\n" -"... def __init__(self):\n" -"... self._alive = False\n" -"... @property\n" -"... def alive(self):\n" -"... return self._alive\n" -"... def set_state(self, state):\n" -"... self._alive = bool(state)\n" -"... set_alive = partialmethod(set_state, True)\n" -"... set_dead = partialmethod(set_state, False)\n" -"...\n" -">>> c = Cell()\n" -">>> c.alive\n" -"False\n" -">>> c.set_alive()\n" -">>> c.alive\n" -"True" -msgstr "" - -#: ../../library/functools.rst:457 -msgid "" -"Apply *function* of two arguments cumulatively to the items of *iterable*, " -"from left to right, so as to reduce the iterable to a single value. For " -"example, ``reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])`` calculates " -"``((((1+2)+3)+4)+5)``. The left argument, *x*, is the accumulated value and " -"the right argument, *y*, is the update value from the *iterable*. If the " -"optional *initial* is present, it is placed before the items of the iterable" -" in the calculation, and serves as a default when the iterable is empty. If" -" *initial* is not given and *iterable* contains only one item, the first " -"item is returned." -msgstr "" - -#: ../../library/functools.rst:466 -msgid "Roughly equivalent to::" -msgstr "" - -#: ../../library/functools.rst:468 -msgid "" -"initial_missing = object()\n" -"\n" -"def reduce(function, iterable, /, initial=initial_missing):\n" -" it = iter(iterable)\n" -" if initial is initial_missing:\n" -" value = next(it)\n" -" else:\n" -" value = initial\n" -" for element in it:\n" -" value = function(value, element)\n" -" return value" -msgstr "" - -#: ../../library/functools.rst:480 -msgid "" -"See :func:`itertools.accumulate` for an iterator that yields all " -"intermediate values." -msgstr "" - -#: ../../library/functools.rst:483 -msgid "*initial* is now supported as a keyword argument." -msgstr "" - -#: ../../library/functools.rst:488 -msgid "" -"Transform a function into a :term:`single-dispatch ` " -":term:`generic function`." -msgstr "" - -#: ../../library/functools.rst:491 -msgid "" -"To define a generic function, decorate it with the ``@singledispatch`` " -"decorator. When defining a function using ``@singledispatch``, note that the" -" dispatch happens on the type of the first argument::" -msgstr "" - -#: ../../library/functools.rst:495 -msgid "" -">>> from functools import singledispatch\n" -">>> @singledispatch\n" -"... def fun(arg, verbose=False):\n" -"... if verbose:\n" -"... print(\"Let me just say,\", end=\" \")\n" -"... print(arg)" -msgstr "" - -#: ../../library/functools.rst:502 -msgid "" -"To add overloaded implementations to the function, use the :func:`register` " -"attribute of the generic function, which can be used as a decorator. For " -"functions annotated with types, the decorator will infer the type of the " -"first argument automatically::" -msgstr "" - -#: ../../library/functools.rst:507 -msgid "" -">>> @fun.register\n" -"... def _(arg: int, verbose=False):\n" -"... if verbose:\n" -"... print(\"Strength in numbers, eh?\", end=\" \")\n" -"... print(arg)\n" -"...\n" -">>> @fun.register\n" -"... def _(arg: list, verbose=False):\n" -"... if verbose:\n" -"... print(\"Enumerate this:\")\n" -"... for i, elem in enumerate(arg):\n" -"... print(i, elem)" -msgstr "" - -#: ../../library/functools.rst:520 -msgid ":class:`typing.Union` can also be used::" -msgstr "" - -#: ../../library/functools.rst:522 -msgid "" -">>> @fun.register\n" -"... def _(arg: int | float, verbose=False):\n" -"... if verbose:\n" -"... print(\"Strength in numbers, eh?\", end=\" \")\n" -"... print(arg)\n" -"...\n" -">>> from typing import Union\n" -">>> @fun.register\n" -"... def _(arg: Union[list, set], verbose=False):\n" -"... if verbose:\n" -"... print(\"Enumerate this:\")\n" -"... for i, elem in enumerate(arg):\n" -"... print(i, elem)\n" -"..." -msgstr "" - -#: ../../library/functools.rst:537 -msgid "" -"For code which doesn't use type annotations, the appropriate type argument " -"can be passed explicitly to the decorator itself::" -msgstr "" - -#: ../../library/functools.rst:540 -msgid "" -">>> @fun.register(complex)\n" -"... def _(arg, verbose=False):\n" -"... if verbose:\n" -"... print(\"Better than complicated.\", end=\" \")\n" -"... print(arg.real, arg.imag)\n" -"..." -msgstr "" - -#: ../../library/functools.rst:547 -msgid "" -"For code that dispatches on a collections type (e.g., ``list``), but wants " -"to typehint the items of the collection (e.g., ``list[int]``), the dispatch " -"type should be passed explicitly to the decorator itself with the typehint " -"going into the function definition::" -msgstr "" - -#: ../../library/functools.rst:552 -msgid "" -">>> @fun.register(list)\n" -"... def _(arg: list[int], verbose=False):\n" -"... if verbose:\n" -"... print(\"Enumerate this:\")\n" -"... for i, elem in enumerate(arg):\n" -"... print(i, elem)" -msgstr "" - -#: ../../library/functools.rst:561 -msgid "" -"At runtime the function will dispatch on an instance of a list regardless of" -" the type contained within the list i.e. ``[1,2,3]`` will be dispatched the " -"same as ``[\"foo\", \"bar\", \"baz\"]``. The annotation provided in this " -"example is for static type checkers only and has no runtime impact." -msgstr "" - -#: ../../library/functools.rst:567 -msgid "" -"To enable registering :term:`lambdas` and pre-existing functions, " -"the :func:`register` attribute can also be used in a functional form::" -msgstr "" - -#: ../../library/functools.rst:570 -msgid "" -">>> def nothing(arg, verbose=False):\n" -"... print(\"Nothing.\")\n" -"...\n" -">>> fun.register(type(None), nothing)" -msgstr "" - -#: ../../library/functools.rst:575 -msgid "" -"The :func:`register` attribute returns the undecorated function. This " -"enables decorator stacking, :mod:`pickling`, and the creation of " -"unit tests for each variant independently::" -msgstr "" - -#: ../../library/functools.rst:579 -msgid "" -">>> @fun.register(float)\n" -"... @fun.register(Decimal)\n" -"... def fun_num(arg, verbose=False):\n" -"... if verbose:\n" -"... print(\"Half of your number:\", end=\" \")\n" -"... print(arg / 2)\n" -"...\n" -">>> fun_num is fun\n" -"False" -msgstr "" - -#: ../../library/functools.rst:589 -msgid "" -"When called, the generic function dispatches on the type of the first " -"argument::" -msgstr "" - -#: ../../library/functools.rst:592 -msgid "" -">>> fun(\"Hello, world.\")\n" -"Hello, world.\n" -">>> fun(\"test.\", verbose=True)\n" -"Let me just say, test.\n" -">>> fun(42, verbose=True)\n" -"Strength in numbers, eh? 42\n" -">>> fun(['spam', 'spam', 'eggs', 'spam'], verbose=True)\n" -"Enumerate this:\n" -"0 spam\n" -"1 spam\n" -"2 eggs\n" -"3 spam\n" -">>> fun(None)\n" -"Nothing.\n" -">>> fun(1.23)\n" -"0.615" -msgstr "" - -#: ../../library/functools.rst:609 -msgid "" -"Where there is no registered implementation for a specific type, its method " -"resolution order is used to find a more generic implementation. The original" -" function decorated with ``@singledispatch`` is registered for the base " -":class:`object` type, which means it is used if no better implementation is " -"found." -msgstr "" - -#: ../../library/functools.rst:615 -msgid "" -"If an implementation is registered to an :term:`abstract base class`, " -"virtual subclasses of the base class will be dispatched to that " -"implementation::" -msgstr "" - -#: ../../library/functools.rst:619 -msgid "" -">>> from collections.abc import Mapping\n" -">>> @fun.register\n" -"... def _(arg: Mapping, verbose=False):\n" -"... if verbose:\n" -"... print(\"Keys & Values\")\n" -"... for key, value in arg.items():\n" -"... print(key, \"=>\", value)\n" -"...\n" -">>> fun({\"a\": \"b\"})\n" -"a => b" -msgstr "" - -#: ../../library/functools.rst:630 -msgid "" -"To check which implementation the generic function will choose for a given " -"type, use the ``dispatch()`` attribute::" -msgstr "" - -#: ../../library/functools.rst:633 -msgid "" -">>> fun.dispatch(float)\n" -"\n" -">>> fun.dispatch(dict) # note: default implementation\n" -"" -msgstr "" - -#: ../../library/functools.rst:638 -msgid "" -"To access all registered implementations, use the read-only ``registry`` " -"attribute::" -msgstr "" - -#: ../../library/functools.rst:641 -msgid "" -">>> fun.registry.keys()\n" -"dict_keys([, , ,\n" -" , ,\n" -" ])\n" -">>> fun.registry[float]\n" -"\n" -">>> fun.registry[object]\n" -"" -msgstr "" - -#: ../../library/functools.rst:652 -msgid "The :func:`register` attribute now supports using type annotations." -msgstr "" - -#: ../../library/functools.rst:655 -msgid "" -"The :func:`register` attribute now supports :class:`typing.Union` as a type " -"annotation." -msgstr "" - -#: ../../library/functools.rst:662 -msgid "" -"Transform a method into a :term:`single-dispatch ` " -":term:`generic function`." -msgstr "" - -#: ../../library/functools.rst:665 -msgid "" -"To define a generic method, decorate it with the ``@singledispatchmethod`` " -"decorator. When defining a function using ``@singledispatchmethod``, note " -"that the dispatch happens on the type of the first non-*self* or non-*cls* " -"argument::" -msgstr "" - -#: ../../library/functools.rst:670 -msgid "" -"class Negator:\n" -" @singledispatchmethod\n" -" def neg(self, arg):\n" -" raise NotImplementedError(\"Cannot negate a\")\n" -"\n" -" @neg.register\n" -" def _(self, arg: int):\n" -" return -arg\n" -"\n" -" @neg.register\n" -" def _(self, arg: bool):\n" -" return not arg" -msgstr "" - -#: ../../library/functools.rst:683 -msgid "" -"``@singledispatchmethod`` supports nesting with other decorators such as " -":func:`@classmethod`. Note that to allow for " -"``dispatcher.register``, ``singledispatchmethod`` must be the *outer most* " -"decorator. Here is the ``Negator`` class with the ``neg`` methods bound to " -"the class, rather than an instance of the class::" -msgstr "" - -#: ../../library/functools.rst:689 -msgid "" -"class Negator:\n" -" @singledispatchmethod\n" -" @classmethod\n" -" def neg(cls, arg):\n" -" raise NotImplementedError(\"Cannot negate a\")\n" -"\n" -" @neg.register\n" -" @classmethod\n" -" def _(cls, arg: int):\n" -" return -arg\n" -"\n" -" @neg.register\n" -" @classmethod\n" -" def _(cls, arg: bool):\n" -" return not arg" -msgstr "" - -#: ../../library/functools.rst:705 -msgid "" -"The same pattern can be used for other similar decorators: " -":func:`@staticmethod`, " -":func:`@abstractmethod`, and others." -msgstr "" - -#: ../../library/functools.rst:714 -msgid "" -"Update a *wrapper* function to look like the *wrapped* function. The " -"optional arguments are tuples to specify which attributes of the original " -"function are assigned directly to the matching attributes on the wrapper " -"function and which attributes of the wrapper function are updated with the " -"corresponding attributes from the original function. The default values for " -"these arguments are the module level constants ``WRAPPER_ASSIGNMENTS`` " -"(which assigns to the wrapper function's :attr:`~function.__module__`, " -":attr:`~function.__name__`, :attr:`~function.__qualname__`, " -":attr:`~function.__annotations__`, :attr:`~function.__type_params__`, and " -":attr:`~function.__doc__`, the documentation string) and ``WRAPPER_UPDATES``" -" (which updates the wrapper function's :attr:`~function.__dict__`, i.e. the " -"instance dictionary)." -msgstr "" - -#: ../../library/functools.rst:726 -msgid "" -"To allow access to the original function for introspection and other " -"purposes (e.g. bypassing a caching decorator such as :func:`lru_cache`), " -"this function automatically adds a ``__wrapped__`` attribute to the wrapper " -"that refers to the function being wrapped." -msgstr "" - -#: ../../library/functools.rst:731 -msgid "" -"The main intended use for this function is in :term:`decorator` functions " -"which wrap the decorated function and return the wrapper. If the wrapper " -"function is not updated, the metadata of the returned function will reflect " -"the wrapper definition rather than the original function definition, which " -"is typically less than helpful." -msgstr "" - -#: ../../library/functools.rst:737 -msgid "" -":func:`update_wrapper` may be used with callables other than functions. Any " -"attributes named in *assigned* or *updated* that are missing from the object" -" being wrapped are ignored (i.e. this function will not attempt to set them " -"on the wrapper function). :exc:`AttributeError` is still raised if the " -"wrapper function itself is missing any attributes named in *updated*." -msgstr "" - -#: ../../library/functools.rst:743 -msgid "" -"The ``__wrapped__`` attribute is now automatically added. The " -":attr:`~function.__annotations__` attribute is now copied by default. " -"Missing attributes no longer trigger an :exc:`AttributeError`." -msgstr "" - -#: ../../library/functools.rst:748 -msgid "" -"The ``__wrapped__`` attribute now always refers to the wrapped function, " -"even if that function defined a ``__wrapped__`` attribute. (see " -":issue:`17482`)" -msgstr "" - -#: ../../library/functools.rst:753 -msgid "" -"The :attr:`~function.__type_params__` attribute is now copied by default." -msgstr "" - -#: ../../library/functools.rst:759 -msgid "" -"This is a convenience function for invoking :func:`update_wrapper` as a " -"function decorator when defining a wrapper function. It is equivalent to " -"``partial(update_wrapper, wrapped=wrapped, assigned=assigned, " -"updated=updated)``. For example::" -msgstr "" - -#: ../../library/functools.rst:764 -msgid "" -">>> from functools import wraps\n" -">>> def my_decorator(f):\n" -"... @wraps(f)\n" -"... def wrapper(*args, **kwds):\n" -"... print('Calling decorated function')\n" -"... return f(*args, **kwds)\n" -"... return wrapper\n" -"...\n" -">>> @my_decorator\n" -"... def example():\n" -"... \"\"\"Docstring\"\"\"\n" -"... print('Called example function')\n" -"...\n" -">>> example()\n" -"Calling decorated function\n" -"Called example function\n" -">>> example.__name__\n" -"'example'\n" -">>> example.__doc__\n" -"'Docstring'" -msgstr "" - -#: ../../library/functools.rst:785 -msgid "" -"Without the use of this decorator factory, the name of the example function " -"would have been ``'wrapper'``, and the docstring of the original " -":func:`example` would have been lost." -msgstr "" - -#: ../../library/functools.rst:793 -msgid ":class:`partial` Objects" -msgstr "" - -#: ../../library/functools.rst:795 -msgid "" -":class:`partial` objects are callable objects created by :func:`partial`. " -"They have three read-only attributes:" -msgstr "" - -#: ../../library/functools.rst:801 -msgid "" -"A callable object or function. Calls to the :class:`partial` object will be" -" forwarded to :attr:`func` with new arguments and keywords." -msgstr "" - -#: ../../library/functools.rst:807 -msgid "" -"The leftmost positional arguments that will be prepended to the positional " -"arguments provided to a :class:`partial` object call." -msgstr "" - -#: ../../library/functools.rst:813 -msgid "" -"The keyword arguments that will be supplied when the :class:`partial` object" -" is called." -msgstr "" - -#: ../../library/functools.rst:816 -msgid "" -":class:`partial` objects are like :ref:`function objects ` in that they are callable, weak referenceable, and can have " -"attributes. There are some important differences. For instance, the " -":attr:`~definition.__name__` and :attr:`~definition.__doc__` attributes are " -"not created automatically." -msgstr "" diff --git a/python-newest.library--gc/id.po b/python-newest.library--gc/id.po deleted file mode 100644 index d5698ad..0000000 --- a/python-newest.library--gc/id.po +++ /dev/null @@ -1,483 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/gc.rst:2 -msgid ":mod:`!gc` --- Garbage Collector interface" -msgstr "" - -#: ../../library/gc.rst:12 -msgid "" -"This module provides an interface to the optional garbage collector. It " -"provides the ability to disable the collector, tune the collection " -"frequency, and set debugging options. It also provides access to " -"unreachable objects that the collector found but cannot free. Since the " -"collector supplements the reference counting already used in Python, you can" -" disable the collector if you are sure your program does not create " -"reference cycles. Automatic collection can be disabled by calling " -"``gc.disable()``. To debug a leaking program call " -"``gc.set_debug(gc.DEBUG_LEAK)``. Notice that this includes " -"``gc.DEBUG_SAVEALL``, causing garbage-collected objects to be saved in " -"gc.garbage for inspection." -msgstr "" - -#: ../../library/gc.rst:23 -msgid "The :mod:`gc` module provides the following functions:" -msgstr "" - -#: ../../library/gc.rst:28 -msgid "Enable automatic garbage collection." -msgstr "" - -#: ../../library/gc.rst:33 -msgid "Disable automatic garbage collection." -msgstr "" - -#: ../../library/gc.rst:38 -msgid "Return ``True`` if automatic collection is enabled." -msgstr "" - -#: ../../library/gc.rst:43 -msgid "" -"Perform a collection. The optional argument *generation* may be an integer " -"specifying which generation to collect (from 0 to 2). A :exc:`ValueError` " -"is raised if the generation number is invalid. The sum of collected objects " -"and uncollectable objects is returned." -msgstr "" - -#: ../../library/gc.rst:48 -msgid "" -"Calling ``gc.collect(0)`` will perform a GC collection on the young " -"generation." -msgstr "" - -#: ../../library/gc.rst:50 -msgid "" -"Calling ``gc.collect(1)`` will perform a GC collection on the young " -"generation and an increment of the old generation." -msgstr "" - -#: ../../library/gc.rst:53 -msgid "" -"Calling ``gc.collect(2)`` or ``gc.collect()`` performs a full collection" -msgstr "" - -#: ../../library/gc.rst:55 -msgid "" -"The free lists maintained for a number of built-in types are cleared " -"whenever a full collection or collection of the highest generation (2) is " -"run. Not all items in some free lists may be freed due to the particular " -"implementation, in particular :class:`float`." -msgstr "" - -#: ../../library/gc.rst:60 -msgid "" -"The effect of calling ``gc.collect()`` while the interpreter is already " -"performing a collection is undefined." -msgstr "" - -#: ../../library/gc.rst:63 -msgid "``generation=1`` performs an increment of collection." -msgstr "" - -#: ../../library/gc.rst:69 -msgid "" -"Set the garbage collection debugging flags. Debugging information will be " -"written to ``sys.stderr``. See below for a list of debugging flags which " -"can be combined using bit operations to control debugging." -msgstr "" - -#: ../../library/gc.rst:76 -msgid "Return the debugging flags currently set." -msgstr "" - -#: ../../library/gc.rst:82 -msgid "" -"Returns a list of all objects tracked by the collector, excluding the list " -"returned. If *generation* is not ``None``, return only the objects as " -"follows:" -msgstr "" - -#: ../../library/gc.rst:85 -msgid "0: All objects in the young generation" -msgstr "" - -#: ../../library/gc.rst:86 -msgid "1: No objects, as there is no generation 1 (as of Python 3.13)" -msgstr "" - -#: ../../library/gc.rst:87 -msgid "2: All objects in the old generation" -msgstr "" - -#: ../../library/gc.rst:89 -msgid "New *generation* parameter." -msgstr "" - -#: ../../library/gc.rst:92 -msgid "Generation 1 is removed" -msgstr "" - -#: ../../library/gc.rst:95 -msgid "" -"Raises an :ref:`auditing event ` ``gc.get_objects`` with argument " -"``generation``." -msgstr "" - -#: ../../library/gc.rst:99 -msgid "" -"Return a list of three per-generation dictionaries containing collection " -"statistics since interpreter start. The number of keys may change in the " -"future, but currently each dictionary will contain the following items:" -msgstr "" - -#: ../../library/gc.rst:104 -msgid "``collections`` is the number of times this generation was collected;" -msgstr "" - -#: ../../library/gc.rst:106 -msgid "" -"``collected`` is the total number of objects collected inside this " -"generation;" -msgstr "" - -#: ../../library/gc.rst:109 -msgid "" -"``uncollectable`` is the total number of objects which were found to be " -"uncollectable (and were therefore moved to the :data:`garbage` list) inside " -"this generation." -msgstr "" - -#: ../../library/gc.rst:118 -msgid "" -"Set the garbage collection thresholds (the collection frequency). Setting " -"*threshold0* to zero disables collection." -msgstr "" - -#: ../../library/gc.rst:121 -msgid "" -"The GC classifies objects into two generations depending on whether they " -"have survived a collection. New objects are placed in the young generation. " -"If an object survives a collection it is moved into the old generation." -msgstr "" - -#: ../../library/gc.rst:125 -msgid "" -"In order to decide when to run, the collector keeps track of the number of " -"object allocations and deallocations since the last collection. When the " -"number of allocations minus the number of deallocations exceeds " -"*threshold0*, collection starts. For each collection, all the objects in the" -" young generation and some fraction of the old generation is collected." -msgstr "" - -#: ../../library/gc.rst:131 -msgid "" -"In the free-threaded build, the increase in process memory usage is also " -"checked before running the collector. If the memory usage has not increased" -" by 10% since the last collection and the net number of object allocations " -"has not exceeded 40 times *threshold0*, the collection is not run." -msgstr "" - -#: ../../library/gc.rst:136 -msgid "" -"The fraction of the old generation that is collected is **inversely** " -"proportional to *threshold1*. The larger *threshold1* is, the slower objects" -" in the old generation are collected. For the default value of 10, 1% of the" -" old generation is scanned during each collection." -msgstr "" - -#: ../../library/gc.rst:141 -msgid "*threshold2* is ignored." -msgstr "" - -#: ../../library/gc.rst:143 -msgid "" -"See `Garbage collector design " -"`_ for more information." -msgstr "" - -#: ../../library/gc.rst:145 -msgid "*threshold2* is ignored" -msgstr "" - -#: ../../library/gc.rst:151 -msgid "" -"Return the current collection counts as a tuple of ``(count0, count1, " -"count2)``." -msgstr "" - -#: ../../library/gc.rst:157 -msgid "" -"Return the current collection thresholds as a tuple of ``(threshold0, " -"threshold1, threshold2)``." -msgstr "" - -#: ../../library/gc.rst:163 -msgid "" -"Return the list of objects that directly refer to any of objs. This function" -" will only locate those containers which support garbage collection; " -"extension types which do refer to other objects but do not support garbage " -"collection will not be found." -msgstr "" - -#: ../../library/gc.rst:168 -msgid "" -"Note that objects which have already been dereferenced, but which live in " -"cycles and have not yet been collected by the garbage collector can be " -"listed among the resulting referrers. To get only currently live objects, " -"call :func:`collect` before calling :func:`get_referrers`." -msgstr "" - -#: ../../library/gc.rst:174 -msgid "" -"Care must be taken when using objects returned by :func:`get_referrers` " -"because some of them could still be under construction and hence in a " -"temporarily invalid state. Avoid using :func:`get_referrers` for any purpose" -" other than debugging." -msgstr "" - -#: ../../library/gc.rst:179 -msgid "" -"Raises an :ref:`auditing event ` ``gc.get_referrers`` with " -"argument ``objs``." -msgstr "" - -#: ../../library/gc.rst:184 -msgid "" -"Return a list of objects directly referred to by any of the arguments. The " -"referents returned are those objects visited by the arguments' C-level " -":c:member:`~PyTypeObject.tp_traverse` methods (if any), and may not be all " -"objects actually directly reachable. :c:member:`~PyTypeObject.tp_traverse` " -"methods are supported only by objects that support garbage collection, and " -"are only required to visit objects that may be involved in a cycle. So, for" -" example, if an integer is directly reachable from an argument, that integer" -" object may or may not appear in the result list." -msgstr "" - -#: ../../library/gc.rst:192 -msgid "" -"Raises an :ref:`auditing event ` ``gc.get_referents`` with " -"argument ``objs``." -msgstr "" - -#: ../../library/gc.rst:196 -msgid "" -"Returns ``True`` if the object is currently tracked by the garbage " -"collector, ``False`` otherwise. As a general rule, instances of atomic " -"types aren't tracked and instances of non-atomic types (containers, user-" -"defined objects...) are. However, some type-specific optimizations can be " -"present in order to suppress the garbage collector footprint of simple " -"instances (e.g. dicts containing only atomic keys and values)::" -msgstr "" - -#: ../../library/gc.rst:203 -msgid "" -">>> gc.is_tracked(0)\n" -"False\n" -">>> gc.is_tracked(\"a\")\n" -"False\n" -">>> gc.is_tracked([])\n" -"True\n" -">>> gc.is_tracked({})\n" -"False\n" -">>> gc.is_tracked({\"a\": 1})\n" -"True" -msgstr "" - -#: ../../library/gc.rst:219 -msgid "" -"Returns ``True`` if the given object has been finalized by the garbage " -"collector, ``False`` otherwise. ::" -msgstr "" - -#: ../../library/gc.rst:222 -msgid "" -">>> x = None\n" -">>> class Lazarus:\n" -"... def __del__(self):\n" -"... global x\n" -"... x = self\n" -"...\n" -">>> lazarus = Lazarus()\n" -">>> gc.is_finalized(lazarus)\n" -"False\n" -">>> del lazarus\n" -">>> gc.is_finalized(x)\n" -"True" -msgstr "" - -#: ../../library/gc.rst:240 -msgid "" -"Freeze all the objects tracked by the garbage collector; move them to a " -"permanent generation and ignore them in all the future collections." -msgstr "" - -#: ../../library/gc.rst:243 -msgid "" -"If a process will ``fork()`` without ``exec()``, avoiding unnecessary copy-" -"on-write in child processes will maximize memory sharing and reduce overall " -"memory usage. This requires both avoiding creation of freed \"holes\" in " -"memory pages in the parent process and ensuring that GC collections in child" -" processes won't touch the ``gc_refs`` counter of long-lived objects " -"originating in the parent process. To accomplish both, call ``gc.disable()``" -" early in the parent process, ``gc.freeze()`` right before ``fork()``, and " -"``gc.enable()`` early in child processes." -msgstr "" - -#: ../../library/gc.rst:257 -msgid "" -"Unfreeze the objects in the permanent generation, put them back into the " -"oldest generation." -msgstr "" - -#: ../../library/gc.rst:265 -msgid "Return the number of objects in the permanent generation." -msgstr "" - -#: ../../library/gc.rst:270 -msgid "" -"The following variables are provided for read-only access (you can mutate " -"the values but should not rebind them):" -msgstr "" - -#: ../../library/gc.rst:275 -msgid "" -"A list of objects which the collector found to be unreachable but could not " -"be freed (uncollectable objects). Starting with Python 3.4, this list " -"should be empty most of the time, except when using instances of C extension" -" types with a non-``NULL`` ``tp_del`` slot." -msgstr "" - -#: ../../library/gc.rst:280 -msgid "" -"If :const:`DEBUG_SAVEALL` is set, then all unreachable objects will be added" -" to this list rather than freed." -msgstr "" - -#: ../../library/gc.rst:283 -msgid "" -"If this list is non-empty at :term:`interpreter shutdown`, a " -":exc:`ResourceWarning` is emitted, which is silent by default. If " -":const:`DEBUG_UNCOLLECTABLE` is set, in addition all uncollectable objects " -"are printed." -msgstr "" - -#: ../../library/gc.rst:289 -msgid "" -"Following :pep:`442`, objects with a :meth:`~object.__del__` method don't " -"end up in :data:`gc.garbage` anymore." -msgstr "" - -#: ../../library/gc.rst:295 -msgid "" -"A list of callbacks that will be invoked by the garbage collector before and" -" after collection. The callbacks will be called with two arguments, *phase*" -" and *info*." -msgstr "" - -#: ../../library/gc.rst:299 -msgid "*phase* can be one of two values:" -msgstr "" - -#: ../../library/gc.rst:301 -msgid "\"start\": The garbage collection is about to start." -msgstr "" - -#: ../../library/gc.rst:303 -msgid "\"stop\": The garbage collection has finished." -msgstr "" - -#: ../../library/gc.rst:305 -msgid "" -"*info* is a dict providing more information for the callback. The following" -" keys are currently defined:" -msgstr "" - -#: ../../library/gc.rst:308 -msgid "\"generation\": The oldest generation being collected." -msgstr "" - -#: ../../library/gc.rst:310 -msgid "" -"\"collected\": When *phase* is \"stop\", the number of objects successfully " -"collected." -msgstr "" - -#: ../../library/gc.rst:313 -msgid "" -"\"uncollectable\": When *phase* is \"stop\", the number of objects that " -"could not be collected and were put in :data:`garbage`." -msgstr "" - -#: ../../library/gc.rst:316 -msgid "" -"Applications can add their own callbacks to this list. The primary use " -"cases are:" -msgstr "" - -#: ../../library/gc.rst:319 -msgid "" -"Gathering statistics about garbage collection, such as how often various " -"generations are collected, and how long the collection takes." -msgstr "" - -#: ../../library/gc.rst:323 -msgid "" -"Allowing applications to identify and clear their own uncollectable types " -"when they appear in :data:`garbage`." -msgstr "" - -#: ../../library/gc.rst:329 -msgid "The following constants are provided for use with :func:`set_debug`:" -msgstr "" - -#: ../../library/gc.rst:334 -msgid "" -"Print statistics during collection. This information can be useful when " -"tuning the collection frequency." -msgstr "" - -#: ../../library/gc.rst:340 -msgid "Print information on collectable objects found." -msgstr "" - -#: ../../library/gc.rst:345 -msgid "" -"Print information of uncollectable objects found (objects which are not " -"reachable but cannot be freed by the collector). These objects will be " -"added to the ``garbage`` list." -msgstr "" - -#: ../../library/gc.rst:349 -msgid "" -"Also print the contents of the :data:`garbage` list at :term:`interpreter " -"shutdown`, if it isn't empty." -msgstr "" - -#: ../../library/gc.rst:355 -msgid "" -"When set, all unreachable objects found will be appended to *garbage* rather" -" than being freed. This can be useful for debugging a leaking program." -msgstr "" - -#: ../../library/gc.rst:361 -msgid "" -"The debugging flags necessary for the collector to print information about a" -" leaking program (equal to ``DEBUG_COLLECTABLE | DEBUG_UNCOLLECTABLE | " -"DEBUG_SAVEALL``)." -msgstr "" diff --git a/python-newest.library--getopt/id.po b/python-newest.library--getopt/id.po deleted file mode 100644 index 202b531..0000000 --- a/python-newest.library--getopt/id.po +++ /dev/null @@ -1,317 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/getopt.rst:2 -msgid ":mod:`!getopt` --- C-style parser for command line options" -msgstr "" - -#: ../../library/getopt.rst:8 -msgid "**Source code:** :source:`Lib/getopt.py`" -msgstr "" - -#: ../../library/getopt.rst:12 -msgid "" -"This module is considered feature complete. A more declarative and " -"extensible alternative to this API is provided in the :mod:`optparse` " -"module. Further functional enhancements for command line parameter " -"processing are provided either as third party modules on PyPI, or else as " -"features in the :mod:`argparse` module." -msgstr "" - -#: ../../library/getopt.rst:20 -msgid "" -"This module helps scripts to parse the command line arguments in " -"``sys.argv``. It supports the same conventions as the Unix :c:func:`!getopt`" -" function (including the special meanings of arguments of the form '``-``' " -"and '``--``'). Long options similar to those supported by GNU software may " -"be used as well via an optional third argument." -msgstr "" - -#: ../../library/getopt.rst:26 -msgid "" -"Users who are unfamiliar with the Unix :c:func:`!getopt` function should " -"consider using the :mod:`argparse` module instead. Users who are familiar " -"with the Unix :c:func:`!getopt` function, but would like to get equivalent " -"behavior while writing less code and getting better help and error messages " -"should consider using the :mod:`optparse` module. See :ref:`choosing-an-" -"argument-parser` for additional details." -msgstr "" - -#: ../../library/getopt.rst:33 -msgid "This module provides two functions and an exception:" -msgstr "" - -#: ../../library/getopt.rst:39 -msgid "" -"Parses command line options and parameter list. *args* is the argument list" -" to be parsed, without the leading reference to the running program. " -"Typically, this means ``sys.argv[1:]``. *shortopts* is the string of option " -"letters that the script wants to recognize, with options that require an " -"argument followed by a colon (``':'``) and options that accept an optional " -"argument followed by two colons (``'::'``); i.e., the same format that Unix " -":c:func:`!getopt` uses." -msgstr "" - -#: ../../library/getopt.rst:48 -msgid "" -"Unlike GNU :c:func:`!getopt`, after a non-option argument, all further " -"arguments are considered also non-options. This is similar to the way non-" -"GNU Unix systems work." -msgstr "" - -#: ../../library/getopt.rst:52 -msgid "" -"*longopts*, if specified, must be a list of strings with the names of the " -"long options which should be supported. The leading ``'--'`` characters " -"should not be included in the option name. Long options which require an " -"argument should be followed by an equal sign (``'='``). Long options which " -"accept an optional argument should be followed by an equal sign and question" -" mark (``'=?'``). To accept only long options, *shortopts* should be an " -"empty string. Long options on the command line can be recognized so long as" -" they provide a prefix of the option name that matches exactly one of the " -"accepted options. For example, if *longopts* is ``['foo', 'frob']``, the " -"option ``--fo`` will match as ``--foo``, but ``--f`` will not match " -"uniquely, so :exc:`GetoptError` will be raised." -msgstr "" - -#: ../../library/getopt.rst:65 -msgid "" -"The return value consists of two elements: the first is a list of ``(option," -" value)`` pairs; the second is the list of program arguments left after the " -"option list was stripped (this is a trailing slice of *args*). Each option-" -"and-value pair returned has the option as its first element, prefixed with a" -" hyphen for short options (e.g., ``'-x'``) or two hyphens for long options " -"(e.g., ``'--long-option'``), and the option argument as its second element, " -"or an empty string if the option has no argument. The options occur in the " -"list in the same order in which they were found, thus allowing multiple " -"occurrences. Long and short options may be mixed." -msgstr "" - -#: ../../library/getopt.rst:75 -msgid "Optional arguments are supported." -msgstr "" - -#: ../../library/getopt.rst:81 -msgid "" -"This function works like :func:`getopt`, except that GNU style scanning mode" -" is used by default. This means that option and non-option arguments may be " -"intermixed. The :func:`getopt` function stops processing options as soon as " -"a non-option argument is encountered." -msgstr "" - -#: ../../library/getopt.rst:86 -msgid "" -"If the first character of the option string is ``'+'``, or if the " -"environment variable :envvar:`!POSIXLY_CORRECT` is set, then option " -"processing stops as soon as a non-option argument is encountered." -msgstr "" - -#: ../../library/getopt.rst:90 -msgid "" -"If the first character of the option string is ``'-'``, non-option arguments" -" that are followed by options are added to the list of option-and-value " -"pairs as a pair that has ``None`` as its first element and the list of non-" -"option arguments as its second element. The second element of the " -":func:`!gnu_getopt` result is a list of program arguments after the last " -"option." -msgstr "" - -#: ../../library/getopt.rst:97 -msgid "" -"Support for returning intermixed options and non-option arguments in order." -msgstr "" - -#: ../../library/getopt.rst:103 -msgid "" -"This is raised when an unrecognized option is found in the argument list or " -"when an option requiring an argument is given none. The argument to the " -"exception is a string indicating the cause of the error. For long options, " -"an argument given to an option which does not require one will also cause " -"this exception to be raised. The attributes :attr:`!msg` and :attr:`!opt` " -"give the error message and related option; if there is no specific option to" -" which the exception relates, :attr:`!opt` is an empty string." -msgstr "" - -#: ../../library/getopt.rst:114 -msgid "Alias for :exc:`GetoptError`; for backward compatibility." -msgstr "" - -#: ../../library/getopt.rst:116 -msgid "An example using only Unix style options:" -msgstr "" - -#: ../../library/getopt.rst:118 -msgid "" -">>> import getopt\n" -">>> args = '-a -b -cfoo -d bar a1 a2'.split()\n" -">>> args\n" -"['-a', '-b', '-cfoo', '-d', 'bar', 'a1', 'a2']\n" -">>> optlist, args = getopt.getopt(args, 'abc:d:')\n" -">>> optlist\n" -"[('-a', ''), ('-b', ''), ('-c', 'foo'), ('-d', 'bar')]\n" -">>> args\n" -"['a1', 'a2']" -msgstr "" - -#: ../../library/getopt.rst:130 -msgid "Using long option names is equally easy:" -msgstr "" - -#: ../../library/getopt.rst:132 -msgid "" -">>> s = '--condition=foo --testing --output-file abc.def -x a1 a2'\n" -">>> args = s.split()\n" -">>> args\n" -"['--condition=foo', '--testing', '--output-file', 'abc.def', '-x', 'a1', 'a2']\n" -">>> optlist, args = getopt.getopt(args, 'x', [\n" -"... 'condition=', 'output-file=', 'testing'])\n" -">>> optlist\n" -"[('--condition', 'foo'), ('--testing', ''), ('--output-file', 'abc.def'), ('-x', '')]\n" -">>> args\n" -"['a1', 'a2']" -msgstr "" - -#: ../../library/getopt.rst:145 -msgid "Optional arguments should be specified explicitly:" -msgstr "" - -#: ../../library/getopt.rst:147 -msgid "" -">>> s = '-Con -C --color=off --color a1 a2'\n" -">>> args = s.split()\n" -">>> args\n" -"['-Con', '-C', '--color=off', '--color', 'a1', 'a2']\n" -">>> optlist, args = getopt.getopt(args, 'C::', ['color=?'])\n" -">>> optlist\n" -"[('-C', 'on'), ('-C', ''), ('--color', 'off'), ('--color', '')]\n" -">>> args\n" -"['a1', 'a2']" -msgstr "" - -#: ../../library/getopt.rst:159 -msgid "The order of options and non-option arguments can be preserved:" -msgstr "" - -#: ../../library/getopt.rst:161 -msgid "" -">>> s = 'a1 -x a2 a3 a4 --long a5 a6'\n" -">>> args = s.split()\n" -">>> args\n" -"['a1', '-x', 'a2', 'a3', 'a4', '--long', 'a5', 'a6']\n" -">>> optlist, args = getopt.gnu_getopt(args, '-x:', ['long='])\n" -">>> optlist\n" -"[(None, ['a1']), ('-x', 'a2'), (None, ['a3', 'a4']), ('--long', 'a5')]\n" -">>> args\n" -"['a6']" -msgstr "" - -#: ../../library/getopt.rst:173 -msgid "In a script, typical usage is something like this:" -msgstr "" - -#: ../../library/getopt.rst:175 -msgid "" -"import getopt, sys\n" -"\n" -"def main():\n" -" try:\n" -" opts, args = getopt.getopt(sys.argv[1:], \"ho:v\", [\"help\", \"output=\"])\n" -" except getopt.GetoptError as err:\n" -" # print help information and exit:\n" -" print(err) # will print something like \"option -a not recognized\"\n" -" usage()\n" -" sys.exit(2)\n" -" output = None\n" -" verbose = False\n" -" for o, a in opts:\n" -" if o == \"-v\":\n" -" verbose = True\n" -" elif o in (\"-h\", \"--help\"):\n" -" usage()\n" -" sys.exit()\n" -" elif o in (\"-o\", \"--output\"):\n" -" output = a\n" -" else:\n" -" assert False, \"unhandled option\"\n" -" process(args, output=output, verbose=verbose)\n" -"\n" -"if __name__ == \"__main__\":\n" -" main()" -msgstr "" - -#: ../../library/getopt.rst:204 -msgid "" -"Note that an equivalent command line interface could be produced with less " -"code and more informative help and error messages by using the " -":mod:`optparse` module:" -msgstr "" - -#: ../../library/getopt.rst:207 -msgid "" -"import optparse\n" -"\n" -"if __name__ == '__main__':\n" -" parser = optparse.OptionParser()\n" -" parser.add_option('-o', '--output')\n" -" parser.add_option('-v', dest='verbose', action='store_true')\n" -" opts, args = parser.parse_args()\n" -" process(args, output=opts.output, verbose=opts.verbose)" -msgstr "" - -#: ../../library/getopt.rst:218 -msgid "" -"A roughly equivalent command line interface for this case can also be " -"produced by using the :mod:`argparse` module:" -msgstr "" - -#: ../../library/getopt.rst:221 -msgid "" -"import argparse\n" -"\n" -"if __name__ == '__main__':\n" -" parser = argparse.ArgumentParser()\n" -" parser.add_argument('-o', '--output')\n" -" parser.add_argument('-v', dest='verbose', action='store_true')\n" -" parser.add_argument('rest', nargs='*')\n" -" args = parser.parse_args()\n" -" process(args.rest, output=args.output, verbose=args.verbose)" -msgstr "" - -#: ../../library/getopt.rst:233 -msgid "" -"See :ref:`choosing-an-argument-parser` for details on how the ``argparse`` " -"version of this code differs in behaviour from the ``optparse`` (and " -"``getopt``) version." -msgstr "" - -#: ../../library/getopt.rst:239 -msgid "Module :mod:`optparse`" -msgstr "" - -#: ../../library/getopt.rst:240 -msgid "Declarative command line option parsing." -msgstr "" - -#: ../../library/getopt.rst:242 -msgid "Module :mod:`argparse`" -msgstr "" - -#: ../../library/getopt.rst:243 -msgid "More opinionated command line option and argument parsing library." -msgstr "" diff --git a/python-newest.library--getpass/id.po b/python-newest.library--getpass/id.po deleted file mode 100644 index 1d12f16..0000000 --- a/python-newest.library--getpass/id.po +++ /dev/null @@ -1,104 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/getpass.rst:2 -msgid ":mod:`!getpass` --- Portable password input" -msgstr "" - -#: ../../library/getpass.rst:11 -msgid "**Source code:** :source:`Lib/getpass.py`" -msgstr "" - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/getpass.rst:17 -msgid "The :mod:`getpass` module provides two functions:" -msgstr "" - -#: ../../library/getpass.rst:21 -msgid "" -"Prompt the user for a password without echoing. The user is prompted using " -"the string *prompt*, which defaults to ``'Password: '``. On Unix, the " -"prompt is written to the file-like object *stream* using the replace error " -"handler if needed. *stream* defaults to the controlling terminal " -"(:file:`/dev/tty`) or if that is unavailable to ``sys.stderr`` (this " -"argument is ignored on Windows)." -msgstr "" - -#: ../../library/getpass.rst:28 -msgid "" -"The *echo_char* argument controls how user input is displayed while typing. " -"If *echo_char* is ``None`` (default), input remains hidden. Otherwise, " -"*echo_char* must be a printable ASCII string and each typed character is " -"replaced by it. For example, ``echo_char='*'`` will display asterisks " -"instead of the actual input." -msgstr "" - -#: ../../library/getpass.rst:34 -msgid "" -"If echo free input is unavailable getpass() falls back to printing a warning" -" message to *stream* and reading from ``sys.stdin`` and issuing a " -":exc:`GetPassWarning`." -msgstr "" - -#: ../../library/getpass.rst:39 -msgid "" -"If you call getpass from within IDLE, the input may be done in the terminal " -"you launched IDLE from rather than the idle window itself." -msgstr "" - -#: ../../library/getpass.rst:42 -msgid "Added the *echo_char* parameter for keyboard feedback." -msgstr "" - -#: ../../library/getpass.rst:47 -msgid "" -"A :exc:`UserWarning` subclass issued when password input may be echoed." -msgstr "" - -#: ../../library/getpass.rst:52 -msgid "Return the \"login name\" of the user." -msgstr "" - -#: ../../library/getpass.rst:54 -msgid "" -"This function checks the environment variables :envvar:`LOGNAME`, " -":envvar:`USER`, :envvar:`!LNAME` and :envvar:`USERNAME`, in order, and " -"returns the value of the first one which is set to a non-empty string. If " -"none are set, the login name from the password database is returned on " -"systems which support the :mod:`pwd` module, otherwise, an :exc:`OSError` is" -" raised." -msgstr "" - -#: ../../library/getpass.rst:61 -msgid "" -"In general, this function should be preferred over :func:`os.getlogin`." -msgstr "" - -#: ../../library/getpass.rst:63 -msgid "Previously, various exceptions beyond just :exc:`OSError` were raised." -msgstr "" diff --git a/python-newest.library--gettext/id.po b/python-newest.library--gettext/id.po deleted file mode 100644 index a8e9401..0000000 --- a/python-newest.library--gettext/id.po +++ /dev/null @@ -1,909 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/gettext.rst:2 -msgid ":mod:`!gettext` --- Multilingual internationalization services" -msgstr "" - -#: ../../library/gettext.rst:10 -msgid "**Source code:** :source:`Lib/gettext.py`" -msgstr "" - -#: ../../library/gettext.rst:14 -msgid "" -"The :mod:`gettext` module provides internationalization (I18N) and " -"localization (L10N) services for your Python modules and applications. It " -"supports both the GNU :program:`gettext` message catalog API and a higher " -"level, class-based API that may be more appropriate for Python files. The " -"interface described below allows you to write your module and application " -"messages in one natural language, and provide a catalog of translated " -"messages for running under different natural languages." -msgstr "" - -#: ../../library/gettext.rst:22 -msgid "" -"Some hints on localizing your Python modules and applications are also " -"given." -msgstr "" - -#: ../../library/gettext.rst:26 -msgid "GNU :program:`gettext` API" -msgstr "" - -#: ../../library/gettext.rst:28 -msgid "" -"The :mod:`gettext` module defines the following API, which is very similar " -"to the GNU :program:`gettext` API. If you use this API you will affect the " -"translation of your entire application globally. Often this is what you " -"want if your application is monolingual, with the choice of language " -"dependent on the locale of your user. If you are localizing a Python " -"module, or if your application needs to switch languages on the fly, you " -"probably want to use the class-based API instead." -msgstr "" - -#: ../../library/gettext.rst:39 -msgid "" -"Bind the *domain* to the locale directory *localedir*. More concretely, " -":mod:`gettext` will look for binary :file:`.mo` files for the given domain " -"using the path (on Unix): " -":file:`{localedir}/{language}/LC_MESSAGES/{domain}.mo`, where *language* is " -"searched for in the environment variables :envvar:`LANGUAGE`, " -":envvar:`LC_ALL`, :envvar:`LC_MESSAGES`, and :envvar:`LANG` respectively." -msgstr "" - -#: ../../library/gettext.rst:45 -msgid "" -"If *localedir* is omitted or ``None``, then the current binding for *domain*" -" is returned. [#]_" -msgstr "" - -#: ../../library/gettext.rst:51 -msgid "" -"Change or query the current global domain. If *domain* is ``None``, then " -"the current global domain is returned, otherwise the global domain is set to" -" *domain*, which is returned." -msgstr "" - -#: ../../library/gettext.rst:59 -msgid "" -"Return the localized translation of *message*, based on the current global " -"domain, language, and locale directory. This function is usually aliased as" -" :func:`!_` in the local namespace (see examples below)." -msgstr "" - -#: ../../library/gettext.rst:66 -msgid "" -"Like :func:`.gettext`, but look the message up in the specified *domain*." -msgstr "" - -#: ../../library/gettext.rst:71 -msgid "" -"Like :func:`.gettext`, but consider plural forms. If a translation is found," -" apply the plural formula to *n*, and return the resulting message (some " -"languages have more than two plural forms). If no translation is found, " -"return *singular* if *n* is 1; return *plural* otherwise." -msgstr "" - -#: ../../library/gettext.rst:76 -msgid "" -"The Plural formula is taken from the catalog header. It is a C or Python " -"expression that has a free variable *n*; the expression evaluates to the " -"index of the plural in the catalog. See `the GNU gettext documentation " -"`__ for the " -"precise syntax to be used in :file:`.po` files and the formulas for a " -"variety of languages." -msgstr "" - -#: ../../library/gettext.rst:86 -msgid "" -"Like :func:`ngettext`, but look the message up in the specified *domain*." -msgstr "" - -#: ../../library/gettext.rst:94 -msgid "" -"Similar to the corresponding functions without the ``p`` in the prefix (that" -" is, :func:`gettext`, :func:`dgettext`, :func:`ngettext`, " -":func:`dngettext`), but the translation is restricted to the given message " -"*context*." -msgstr "" - -#: ../../library/gettext.rst:101 -msgid "" -"Note that GNU :program:`gettext` also defines a :func:`!dcgettext` method, " -"but this was deemed not useful and so it is currently unimplemented." -msgstr "" - -#: ../../library/gettext.rst:104 -msgid "Here's an example of typical usage for this API::" -msgstr "" - -#: ../../library/gettext.rst:106 -msgid "" -"import gettext\n" -"gettext.bindtextdomain('myapplication', '/path/to/my/language/directory')\n" -"gettext.textdomain('myapplication')\n" -"_ = gettext.gettext\n" -"# ...\n" -"print(_('This is a translatable string.'))" -msgstr "" - -#: ../../library/gettext.rst:115 -msgid "Class-based API" -msgstr "" - -#: ../../library/gettext.rst:117 -msgid "" -"The class-based API of the :mod:`gettext` module gives you more flexibility " -"and greater convenience than the GNU :program:`gettext` API. It is the " -"recommended way of localizing your Python applications and modules. " -":mod:`!gettext` defines a :class:`GNUTranslations` class which implements " -"the parsing of GNU :file:`.mo` format files, and has methods for returning " -"strings. Instances of this class can also install themselves in the built-in" -" namespace as the function :func:`!_`." -msgstr "" - -#: ../../library/gettext.rst:127 -msgid "" -"This function implements the standard :file:`.mo` file search algorithm. It" -" takes a *domain*, identical to what :func:`textdomain` takes. Optional " -"*localedir* is as in :func:`bindtextdomain`. Optional *languages* is a list " -"of strings, where each string is a language code." -msgstr "" - -#: ../../library/gettext.rst:132 -msgid "" -"If *localedir* is not given, then the default system locale directory is " -"used. [#]_ If *languages* is not given, then the following environment " -"variables are searched: :envvar:`LANGUAGE`, :envvar:`LC_ALL`, " -":envvar:`LC_MESSAGES`, and :envvar:`LANG`. The first one returning a non-" -"empty value is used for the *languages* variable. The environment variables " -"should contain a colon separated list of languages, which will be split on " -"the colon to produce the expected list of language code strings." -msgstr "" - -#: ../../library/gettext.rst:140 -msgid "" -":func:`find` then expands and normalizes the languages, and then iterates " -"through them, searching for an existing file built of these components:" -msgstr "" - -#: ../../library/gettext.rst:143 -msgid ":file:`{localedir}/{language}/LC_MESSAGES/{domain}.mo`" -msgstr "" - -#: ../../library/gettext.rst:145 -msgid "" -"The first such file name that exists is returned by :func:`find`. If no such" -" file is found, then ``None`` is returned. If *all* is given, it returns a " -"list of all file names, in the order in which they appear in the languages " -"list or the environment variables." -msgstr "" - -#: ../../library/gettext.rst:153 -msgid "" -"Return a ``*Translations`` instance based on the *domain*, *localedir*, and " -"*languages*, which are first passed to :func:`find` to get a list of the " -"associated :file:`.mo` file paths. Instances with identical :file:`.mo` " -"file names are cached. The actual class instantiated is *class_* if " -"provided, otherwise :class:`GNUTranslations`. The class's constructor must " -"take a single :term:`file object` argument." -msgstr "" - -#: ../../library/gettext.rst:160 -msgid "" -"If multiple files are found, later files are used as fallbacks for earlier " -"ones. To allow setting the fallback, :func:`copy.copy` is used to clone each" -" translation object from the cache; the actual instance data is still shared" -" with the cache." -msgstr "" - -#: ../../library/gettext.rst:165 -msgid "" -"If no :file:`.mo` file is found, this function raises :exc:`OSError` if " -"*fallback* is false (which is the default), and returns a " -":class:`NullTranslations` instance if *fallback* is true." -msgstr "" - -#: ../../library/gettext.rst:169 -msgid "" -":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." -msgstr "" -":exc:`IOError` sebelumnya ditimbulkan, sekarang merupakan alias dari " -":exc:`OSError`." - -#: ../../library/gettext.rst:172 -msgid "*codeset* parameter is removed." -msgstr "" - -#: ../../library/gettext.rst:177 -msgid "" -"This installs the function :func:`!_` in Python's builtins namespace, based " -"on *domain* and *localedir* which are passed to the function " -":func:`translation`." -msgstr "" - -#: ../../library/gettext.rst:180 -msgid "" -"For the *names* parameter, please see the description of the translation " -"object's :meth:`~NullTranslations.install` method." -msgstr "" - -#: ../../library/gettext.rst:183 -msgid "" -"As seen below, you usually mark the strings in your application that are " -"candidates for translation, by wrapping them in a call to the :func:`!_` " -"function, like this::" -msgstr "" - -#: ../../library/gettext.rst:187 -msgid "print(_('This string will be translated.'))" -msgstr "" - -#: ../../library/gettext.rst:189 -msgid "" -"For convenience, you want the :func:`!_` function to be installed in " -"Python's builtins namespace, so it is easily accessible in all modules of " -"your application." -msgstr "" - -#: ../../library/gettext.rst:193 -msgid "*names* is now a keyword-only parameter." -msgstr "" - -#: ../../library/gettext.rst:197 -msgid "The :class:`NullTranslations` class" -msgstr "" - -#: ../../library/gettext.rst:199 -msgid "" -"Translation classes are what actually implement the translation of original " -"source file message strings to translated message strings. The base class " -"used by all translation classes is :class:`NullTranslations`; this provides " -"the basic interface you can use to write your own specialized translation " -"classes. Here are the methods of :class:`!NullTranslations`:" -msgstr "" - -#: ../../library/gettext.rst:208 -msgid "" -"Takes an optional :term:`file object` *fp*, which is ignored by the base " -"class. Initializes \"protected\" instance variables *_info* and *_charset* " -"which are set by derived classes, as well as *_fallback*, which is set " -"through :meth:`add_fallback`. It then calls ``self._parse(fp)`` if *fp* is " -"not ``None``." -msgstr "" - -#: ../../library/gettext.rst:216 -msgid "" -"No-op in the base class, this method takes file object *fp*, and reads the " -"data from the file, initializing its message catalog. If you have an " -"unsupported message catalog file format, you should override this method to " -"parse your format." -msgstr "" - -#: ../../library/gettext.rst:224 -msgid "" -"Add *fallback* as the fallback object for the current translation object. A " -"translation object should consult the fallback if it cannot provide a " -"translation for a given message." -msgstr "" - -#: ../../library/gettext.rst:231 -msgid "" -"If a fallback has been set, forward :meth:`!gettext` to the fallback. " -"Otherwise, return *message*. Overridden in derived classes." -msgstr "" - -#: ../../library/gettext.rst:237 -msgid "" -"If a fallback has been set, forward :meth:`!ngettext` to the fallback. " -"Otherwise, return *singular* if *n* is 1; return *plural* otherwise. " -"Overridden in derived classes." -msgstr "" - -#: ../../library/gettext.rst:244 -msgid "" -"If a fallback has been set, forward :meth:`pgettext` to the fallback. " -"Otherwise, return the translated message. Overridden in derived classes." -msgstr "" - -#: ../../library/gettext.rst:252 -msgid "" -"If a fallback has been set, forward :meth:`npgettext` to the fallback. " -"Otherwise, return the translated message. Overridden in derived classes." -msgstr "" - -#: ../../library/gettext.rst:260 -msgid "" -"Return a dictionary containing the metadata found in the message catalog " -"file." -msgstr "" - -#: ../../library/gettext.rst:266 -msgid "Return the encoding of the message catalog file." -msgstr "" - -#: ../../library/gettext.rst:271 -msgid "" -"This method installs :meth:`.gettext` into the built-in namespace, binding " -"it to ``_``." -msgstr "" - -#: ../../library/gettext.rst:274 -msgid "" -"If the *names* parameter is given, it must be a sequence containing the " -"names of functions you want to install in the builtins namespace in addition" -" to :func:`!_`. Supported names are ``'gettext'``, ``'ngettext'``, " -"``'pgettext'``, and ``'npgettext'``." -msgstr "" - -#: ../../library/gettext.rst:279 -msgid "" -"Note that this is only one way, albeit the most convenient way, to make the " -":func:`!_` function available to your application. Because it affects the " -"entire application globally, and specifically the built-in namespace, " -"localized modules should never install :func:`!_`. Instead, they should use " -"this code to make :func:`!_` available to their module::" -msgstr "" - -#: ../../library/gettext.rst:285 -msgid "" -"import gettext\n" -"t = gettext.translation('mymodule', ...)\n" -"_ = t.gettext" -msgstr "" - -#: ../../library/gettext.rst:289 -msgid "" -"This puts :func:`!_` only in the module's global namespace and so only " -"affects calls within this module." -msgstr "" - -#: ../../library/gettext.rst:292 -msgid "Added ``'pgettext'`` and ``'npgettext'``." -msgstr "" - -#: ../../library/gettext.rst:297 -msgid "The :class:`GNUTranslations` class" -msgstr "" - -#: ../../library/gettext.rst:299 -msgid "" -"The :mod:`!gettext` module provides one additional class derived from " -":class:`NullTranslations`: :class:`GNUTranslations`. This class overrides " -":meth:`!_parse` to enable reading GNU :program:`gettext` format :file:`.mo` " -"files in both big-endian and little-endian format." -msgstr "" - -#: ../../library/gettext.rst:304 -msgid "" -":class:`GNUTranslations` parses optional metadata out of the translation " -"catalog. It is convention with GNU :program:`gettext` to include metadata as" -" the translation for the empty string. This metadata is in :rfc:`822`\\ " -"-style ``key: value`` pairs, and should contain the ``Project-Id-Version`` " -"key. If the key ``Content-Type`` is found, then the ``charset`` property is" -" used to initialize the \"protected\" :attr:`!_charset` instance variable, " -"defaulting to ``None`` if not found. If the charset encoding is specified, " -"then all message ids and message strings read from the catalog are converted" -" to Unicode using this encoding, else ASCII is assumed." -msgstr "" - -#: ../../library/gettext.rst:314 -msgid "" -"Since message ids are read as Unicode strings too, all ``*gettext()`` " -"methods will assume message ids as Unicode strings, not byte strings." -msgstr "" - -#: ../../library/gettext.rst:317 -msgid "" -"The entire set of key/value pairs are placed into a dictionary and set as " -"the \"protected\" :attr:`!_info` instance variable." -msgstr "" - -#: ../../library/gettext.rst:320 -msgid "" -"If the :file:`.mo` file's magic number is invalid, the major version number " -"is unexpected, or if other problems occur while reading the file, " -"instantiating a :class:`GNUTranslations` class can raise :exc:`OSError`." -msgstr "" - -#: ../../library/gettext.rst:326 -msgid "" -"The following methods are overridden from the base class implementation:" -msgstr "" - -#: ../../library/gettext.rst:330 -msgid "" -"Look up the *message* id in the catalog and return the corresponding message" -" string, as a Unicode string. If there is no entry in the catalog for the " -"*message* id, and a fallback has been set, the look up is forwarded to the " -"fallback's :meth:`~NullTranslations.gettext` method. Otherwise, the " -"*message* id is returned." -msgstr "" - -#: ../../library/gettext.rst:339 -msgid "" -"Do a plural-forms lookup of a message id. *singular* is used as the message" -" id for purposes of lookup in the catalog, while *n* is used to determine " -"which plural form to use. The returned message string is a Unicode string." -msgstr "" - -#: ../../library/gettext.rst:343 -msgid "" -"If the message id is not found in the catalog, and a fallback is specified, " -"the request is forwarded to the fallback's " -":meth:`~NullTranslations.ngettext` method. Otherwise, when *n* is 1 " -"*singular* is returned, and *plural* is returned in all other cases." -msgstr "" - -#: ../../library/gettext.rst:348 -msgid "Here is an example::" -msgstr "" - -#: ../../library/gettext.rst:350 -msgid "" -"n = len(os.listdir('.'))\n" -"cat = GNUTranslations(somefile)\n" -"message = cat.ngettext(\n" -" 'There is %(num)d file in this directory',\n" -" 'There are %(num)d files in this directory',\n" -" n) % {'num': n}" -msgstr "" - -#: ../../library/gettext.rst:360 -msgid "" -"Look up the *context* and *message* id in the catalog and return the " -"corresponding message string, as a Unicode string. If there is no entry in " -"the catalog for the *message* id and *context*, and a fallback has been set," -" the look up is forwarded to the fallback's :meth:`pgettext` method. " -"Otherwise, the *message* id is returned." -msgstr "" - -#: ../../library/gettext.rst:371 -msgid "" -"Do a plural-forms lookup of a message id. *singular* is used as the message" -" id for purposes of lookup in the catalog, while *n* is used to determine " -"which plural form to use." -msgstr "" - -#: ../../library/gettext.rst:375 -msgid "" -"If the message id for *context* is not found in the catalog, and a fallback " -"is specified, the request is forwarded to the fallback's :meth:`npgettext` " -"method. Otherwise, when *n* is 1 *singular* is returned, and *plural* is " -"returned in all other cases." -msgstr "" - -#: ../../library/gettext.rst:384 -msgid "Solaris message catalog support" -msgstr "" - -#: ../../library/gettext.rst:386 -msgid "" -"The Solaris operating system defines its own binary :file:`.mo` file format," -" but since no documentation can be found on this format, it is not supported" -" at this time." -msgstr "" - -#: ../../library/gettext.rst:392 -msgid "The Catalog constructor" -msgstr "" - -#: ../../library/gettext.rst:396 -msgid "" -"GNOME uses a version of the :mod:`gettext` module by James Henstridge, but " -"this version has a slightly different API. Its documented usage was::" -msgstr "" - -#: ../../library/gettext.rst:399 -msgid "" -"import gettext\n" -"cat = gettext.Catalog(domain, localedir)\n" -"_ = cat.gettext\n" -"print(_('hello world'))" -msgstr "" - -#: ../../library/gettext.rst:404 -msgid "" -"For compatibility with this older module, the function :func:`!Catalog` is " -"an alias for the :func:`translation` function described above." -msgstr "" - -#: ../../library/gettext.rst:407 -msgid "" -"One difference between this module and Henstridge's: his catalog objects " -"supported access through a mapping API, but this appears to be unused and so" -" is not currently supported." -msgstr "" - -#: ../../library/gettext.rst:414 -msgid "Internationalizing your programs and modules" -msgstr "" - -#: ../../library/gettext.rst:416 -msgid "" -"Internationalization (I18N) refers to the operation by which a program is " -"made aware of multiple languages. Localization (L10N) refers to the " -"adaptation of your program, once internationalized, to the local language " -"and cultural habits. In order to provide multilingual messages for your " -"Python programs, you need to take the following steps:" -msgstr "" - -#: ../../library/gettext.rst:422 -msgid "" -"prepare your program or module by specially marking translatable strings" -msgstr "" - -#: ../../library/gettext.rst:424 -msgid "" -"run a suite of tools over your marked files to generate raw messages " -"catalogs" -msgstr "" - -#: ../../library/gettext.rst:426 -msgid "create language-specific translations of the message catalogs" -msgstr "" - -#: ../../library/gettext.rst:428 -msgid "" -"use the :mod:`gettext` module so that message strings are properly " -"translated" -msgstr "" - -#: ../../library/gettext.rst:430 -msgid "" -"In order to prepare your code for I18N, you need to look at all the strings " -"in your files. Any string that needs to be translated should be marked by " -"wrapping it in ``_('...')`` --- that is, a call to the function :func:`_ " -"`. For example::" -msgstr "" - -#: ../../library/gettext.rst:434 -msgid "" -"filename = 'mylog.txt'\n" -"message = _('writing a log message')\n" -"with open(filename, 'w') as fp:\n" -" fp.write(message)" -msgstr "" - -#: ../../library/gettext.rst:439 -msgid "" -"In this example, the string ``'writing a log message'`` is marked as a " -"candidate for translation, while the strings ``'mylog.txt'`` and ``'w'`` are" -" not." -msgstr "" - -#: ../../library/gettext.rst:442 -msgid "" -"There are a few tools to extract the strings meant for translation. The " -"original GNU :program:`gettext` only supported C or C++ source code but its " -"extended version :program:`xgettext` scans code written in a number of " -"languages, including Python, to find strings marked as translatable. `Babel" -" `__ is a Python internationalization library that" -" includes a :file:`pybabel` script to extract and compile message catalogs." -" François Pinard's program called :program:`xpot` does a similar job and is" -" available as part of his `po-utils package `__." -msgstr "" - -#: ../../library/gettext.rst:452 -msgid "" -"(Python also includes pure-Python versions of these programs, called " -":program:`pygettext.py` and :program:`msgfmt.py`; some Python distributions " -"will install them for you. :program:`pygettext.py` is similar to " -":program:`xgettext`, but only understands Python source code and cannot " -"handle other programming languages such as C or C++. :program:`pygettext.py`" -" supports a command-line interface similar to :program:`xgettext`; for " -"details on its use, run ``pygettext.py --help``. :program:`msgfmt.py` is " -"binary compatible with GNU :program:`msgfmt`. With these two programs, you " -"may not need the GNU :program:`gettext` package to internationalize your " -"Python applications.)" -msgstr "" - -#: ../../library/gettext.rst:464 -msgid "" -":program:`xgettext`, :program:`pygettext`, and similar tools generate " -":file:`.po` files that are message catalogs. They are structured human-" -"readable files that contain every marked string in the source code, along " -"with a placeholder for the translated versions of these strings." -msgstr "" - -#: ../../library/gettext.rst:470 -msgid "" -"Copies of these :file:`.po` files are then handed over to the individual " -"human translators who write translations for every supported natural " -"language. They send back the completed language-specific versions as a " -":file:`.po` file that's compiled into a machine-readable " -":file:`.mo` binary catalog file using the :program:`msgfmt` program. The " -":file:`.mo` files are used by the :mod:`gettext` module for the actual " -"translation processing at run-time." -msgstr "" - -#: ../../library/gettext.rst:479 -msgid "" -"How you use the :mod:`gettext` module in your code depends on whether you " -"are internationalizing a single module or your entire application. The next " -"two sections will discuss each case." -msgstr "" - -#: ../../library/gettext.rst:485 -msgid "Localizing your module" -msgstr "" - -#: ../../library/gettext.rst:487 -msgid "" -"If you are localizing your module, you must take care not to make global " -"changes, e.g. to the built-in namespace. You should not use the GNU " -":program:`gettext` API but instead the class-based API." -msgstr "" - -#: ../../library/gettext.rst:491 -msgid "" -"Let's say your module is called \"spam\" and the module's various natural " -"language translation :file:`.mo` files reside in :file:`/usr/share/locale` " -"in GNU :program:`gettext` format. Here's what you would put at the top of " -"your module::" -msgstr "" - -#: ../../library/gettext.rst:496 -msgid "" -"import gettext\n" -"t = gettext.translation('spam', '/usr/share/locale')\n" -"_ = t.gettext" -msgstr "" - -#: ../../library/gettext.rst:502 -msgid "Localizing your application" -msgstr "" - -#: ../../library/gettext.rst:504 -msgid "" -"If you are localizing your application, you can install the :func:`!_` " -"function globally into the built-in namespace, usually in the main driver " -"file of your application. This will let all your application-specific files" -" just use ``_('...')`` without having to explicitly install it in each file." -msgstr "" - -#: ../../library/gettext.rst:509 -msgid "" -"In the simple case then, you need only add the following bit of code to the " -"main driver file of your application::" -msgstr "" - -#: ../../library/gettext.rst:512 -msgid "" -"import gettext\n" -"gettext.install('myapplication')" -msgstr "" - -#: ../../library/gettext.rst:515 -msgid "" -"If you need to set the locale directory, you can pass it into the " -":func:`install` function::" -msgstr "" - -#: ../../library/gettext.rst:518 -msgid "" -"import gettext\n" -"gettext.install('myapplication', '/usr/share/locale')" -msgstr "" - -#: ../../library/gettext.rst:523 -msgid "Changing languages on the fly" -msgstr "" - -#: ../../library/gettext.rst:525 -msgid "" -"If your program needs to support many languages at the same time, you may " -"want to create multiple translation instances and then switch between them " -"explicitly, like so::" -msgstr "" - -#: ../../library/gettext.rst:529 -msgid "" -"import gettext\n" -"\n" -"lang1 = gettext.translation('myapplication', languages=['en'])\n" -"lang2 = gettext.translation('myapplication', languages=['fr'])\n" -"lang3 = gettext.translation('myapplication', languages=['de'])\n" -"\n" -"# start by using language1\n" -"lang1.install()\n" -"\n" -"# ... time goes by, user selects language 2\n" -"lang2.install()\n" -"\n" -"# ... more time goes by, user selects language 3\n" -"lang3.install()" -msgstr "" - -#: ../../library/gettext.rst:546 -msgid "Deferred translations" -msgstr "" - -#: ../../library/gettext.rst:548 -msgid "" -"In most coding situations, strings are translated where they are coded. " -"Occasionally however, you need to mark strings for translation, but defer " -"actual translation until later. A classic example is::" -msgstr "" - -#: ../../library/gettext.rst:552 -msgid "" -"animals = ['mollusk',\n" -" 'albatross',\n" -" 'rat',\n" -" 'penguin',\n" -" 'python', ]\n" -"# ...\n" -"for a in animals:\n" -" print(a)" -msgstr "" - -#: ../../library/gettext.rst:561 -msgid "" -"Here, you want to mark the strings in the ``animals`` list as being " -"translatable, but you don't actually want to translate them until they are " -"printed." -msgstr "" - -#: ../../library/gettext.rst:565 -msgid "Here is one way you can handle this situation::" -msgstr "" - -#: ../../library/gettext.rst:567 -msgid "" -"def _(message): return message\n" -"\n" -"animals = [_('mollusk'),\n" -" _('albatross'),\n" -" _('rat'),\n" -" _('penguin'),\n" -" _('python'), ]\n" -"\n" -"del _\n" -"\n" -"# ...\n" -"for a in animals:\n" -" print(_(a))" -msgstr "" - -#: ../../library/gettext.rst:581 -msgid "" -"This works because the dummy definition of :func:`!_` simply returns the " -"string unchanged. And this dummy definition will temporarily override any " -"definition of :func:`!_` in the built-in namespace (until the :keyword:`del`" -" command). Take care, though if you have a previous definition of :func:`!_`" -" in the local namespace." -msgstr "" - -#: ../../library/gettext.rst:587 -msgid "" -"Note that the second use of :func:`!_` will not identify \"a\" as being " -"translatable to the :program:`gettext` program, because the parameter is not" -" a string literal." -msgstr "" - -#: ../../library/gettext.rst:591 -msgid "Another way to handle this is with the following example::" -msgstr "" - -#: ../../library/gettext.rst:593 -msgid "" -"def N_(message): return message\n" -"\n" -"animals = [N_('mollusk'),\n" -" N_('albatross'),\n" -" N_('rat'),\n" -" N_('penguin'),\n" -" N_('python'), ]\n" -"\n" -"# ...\n" -"for a in animals:\n" -" print(_(a))" -msgstr "" - -#: ../../library/gettext.rst:605 -msgid "" -"In this case, you are marking translatable strings with the function " -":func:`!N_`, which won't conflict with any definition of :func:`!_`. " -"However, you will need to teach your message extraction program to look for " -"translatable strings marked with :func:`!N_`. :program:`xgettext`, " -":program:`pygettext`, ``pybabel extract``, and :program:`xpot` all support " -"this through the use of the :option:`!-k` command-line switch. The choice of" -" :func:`!N_` here is totally arbitrary; it could have just as easily been " -":func:`!MarkThisStringForTranslation`." -msgstr "" - -#: ../../library/gettext.rst:616 -msgid "Acknowledgements" -msgstr "Ucapan Terima Kasih" - -#: ../../library/gettext.rst:618 -msgid "" -"The following people contributed code, feedback, design suggestions, " -"previous implementations, and valuable experience to the creation of this " -"module:" -msgstr "" - -#: ../../library/gettext.rst:621 -msgid "Peter Funk" -msgstr "" - -#: ../../library/gettext.rst:623 -msgid "James Henstridge" -msgstr "" - -#: ../../library/gettext.rst:625 -msgid "Juan David Ibáñez Palomar" -msgstr "" - -#: ../../library/gettext.rst:627 -msgid "Marc-André Lemburg" -msgstr "" - -#: ../../library/gettext.rst:629 -msgid "Martin von Löwis" -msgstr "" - -#: ../../library/gettext.rst:631 -msgid "François Pinard" -msgstr "" - -#: ../../library/gettext.rst:633 -msgid "Barry Warsaw" -msgstr "" - -#: ../../library/gettext.rst:635 -msgid "Gustavo Niemeyer" -msgstr "" - -#: ../../library/gettext.rst:638 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/gettext.rst:639 -msgid "" -"The default locale directory is system dependent; for example, on Red Hat " -"Linux it is :file:`/usr/share/locale`, but on Solaris it is " -":file:`/usr/lib/locale`. The :mod:`!gettext` module does not try to support " -"these system dependent defaults; instead its default is " -":file:`{sys.base_prefix}/share/locale` (see :data:`sys.base_prefix`). For " -"this reason, it is always best to call :func:`bindtextdomain` with an " -"explicit absolute path at the start of your application." -msgstr "" - -#: ../../library/gettext.rst:647 -msgid "See the footnote for :func:`bindtextdomain` above." -msgstr "" - -#: ../../library/gettext.rst:56 -msgid "_ (underscore)" -msgstr "" - -#: ../../library/gettext.rst:56 -msgid "gettext" -msgstr "gettext" - -#: ../../library/gettext.rst:394 -msgid "GNOME" -msgstr "" diff --git a/python-newest.library--glob/id.po b/python-newest.library--glob/id.po deleted file mode 100644 index eac4667..0000000 --- a/python-newest.library--glob/id.po +++ /dev/null @@ -1,305 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# Elmo , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Elmo , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/glob.rst:2 -msgid ":mod:`!glob` --- Unix style pathname pattern expansion" -msgstr "" - -#: ../../library/glob.rst:7 -msgid "**Source code:** :source:`Lib/glob.py`" -msgstr "**Kode sumber:** :source:`Lib/glob.py`" - -#: ../../library/glob.rst:21 -msgid "" -"The :mod:`glob` module finds all the pathnames matching a specified pattern " -"according to the rules used by the Unix shell, although results are returned" -" in arbitrary order. No tilde expansion is done, but ``*``, ``?``, and " -"character ranges expressed with ``[]`` will be correctly matched. This is " -"done by using the :func:`os.scandir` and :func:`fnmatch.fnmatch` functions " -"in concert, and not by actually invoking a subshell." -msgstr "" - -#: ../../library/glob.rst:28 -msgid "" -"Note that files beginning with a dot (``.``) can only be matched by patterns" -" that also start with a dot, unlike :func:`fnmatch.fnmatch` or " -":func:`pathlib.Path.glob`. (For tilde and shell variable expansion, use " -":func:`os.path.expanduser` and :func:`os.path.expandvars`.)" -msgstr "" - -#: ../../library/glob.rst:34 -msgid "" -"For a literal match, wrap the meta-characters in brackets. For example, " -"``'[?]'`` matches the character ``'?'``." -msgstr "" -"Untuk mencocokan literal, bungkus karakter meta dalam tanda kurung. " -"Misalnya, ``'[?]'`` cocok dengan karakter ``'?'``." - -#: ../../library/glob.rst:37 -msgid "The :mod:`glob` module defines the following functions:" -msgstr "" - -#: ../../library/glob.rst:43 -msgid "" -"Return a possibly empty list of path names that match *pathname*, which must" -" be a string containing a path specification. *pathname* can be either " -"absolute (like :file:`/usr/src/Python-1.5/Makefile`) or relative (like " -":file:`../../Tools/\\*/\\*.gif`), and can contain shell-style wildcards. " -"Broken symlinks are included in the results (as in the shell). Whether or " -"not the results are sorted depends on the file system. If a file that " -"satisfies conditions is removed or added during the call of this function, " -"whether a path name for that file will be included is unspecified." -msgstr "" - -#: ../../library/glob.rst:52 -msgid "" -"If *root_dir* is not ``None``, it should be a :term:`path-like object` " -"specifying the root directory for searching. It has the same effect on " -":func:`glob` as changing the current directory before calling it. If " -"*pathname* is relative, the result will contain paths relative to " -"*root_dir*." -msgstr "" - -#: ../../library/glob.rst:58 -msgid "" -"This function can support :ref:`paths relative to directory descriptors " -"` with the *dir_fd* parameter." -msgstr "" - -#: ../../library/glob.rst:64 -msgid "" -"If *recursive* is true, the pattern \"``**``\" will match any files and zero" -" or more directories, subdirectories and symbolic links to directories. If " -"the pattern is followed by an :data:`os.sep` or :data:`os.altsep` then files" -" will not match." -msgstr "" -"Jika *rekursif* benar, pola \"``**``\" akan cocok dengan semua file dan nol " -"atau lebih direktori, subdirektori, dan tautan simbolis ke direktori. Jika " -"pola diikuti oleh :data:`os.sep` atau :data:`os.altsep` maka file tidak akan" -" cocok." - -#: ../../library/glob.rst:69 -msgid "" -"If *include_hidden* is true, \"``**``\" pattern will match hidden " -"directories." -msgstr "" - -#: ../../library/glob.rst:71 ../../library/glob.rst:98 -msgid "" -"Raises an :ref:`auditing event ` ``glob.glob`` with arguments " -"``pathname``, ``recursive``." -msgstr "" -"Memunculkan :ref:`auditing event ` ``glob.glob`` dengan argument " -"``pathname``, ``recursive``." - -#: ../../library/glob.rst:72 ../../library/glob.rst:99 -msgid "" -"Raises an :ref:`auditing event ` ``glob.glob/2`` with arguments " -"``pathname``, ``recursive``, ``root_dir``, ``dir_fd``." -msgstr "" - -#: ../../library/glob.rst:75 -msgid "" -"Using the \"``**``\" pattern in large directory trees may consume an " -"inordinate amount of time." -msgstr "" -"Menggunakan pola \"``**``\" di pohon direktori yang besar dapat menghabiskan" -" banyak waktu." - -#: ../../library/glob.rst:79 ../../library/glob.rst:102 -msgid "" -"This function may return duplicate path names if *pathname* contains " -"multiple \"``**``\" patterns and *recursive* is true." -msgstr "" - -#: ../../library/glob.rst:82 ../../library/glob.rst:105 -msgid "Support for recursive globs using \"``**``\"." -msgstr "Dukungan untuk glob rekursif menggunakan \"``**``\"." - -#: ../../library/glob.rst:85 ../../library/glob.rst:108 -msgid "Added the *root_dir* and *dir_fd* parameters." -msgstr "" - -#: ../../library/glob.rst:88 ../../library/glob.rst:111 -msgid "Added the *include_hidden* parameter." -msgstr "" - -#: ../../library/glob.rst:95 -msgid "" -"Return an :term:`iterator` which yields the same values as :func:`glob` " -"without actually storing them all simultaneously." -msgstr "" -"Mengembalikan sebuah :term:`iterator` yang menghasilkan nilai yang sama " -"dengan :func:`glob` tanpa benar-benar menyimpan semuanya secara bersamaan." - -#: ../../library/glob.rst:117 -msgid "" -"Escape all special characters (``'?'``, ``'*'`` and ``'['``). This is useful" -" if you want to match an arbitrary literal string that may have special " -"characters in it. Special characters in drive/UNC sharepoints are not " -"escaped, e.g. on Windows ``escape('//?/c:/Quo vadis?.txt')`` returns " -"``'//?/c:/Quo vadis[?].txt'``." -msgstr "" -"Escape semua karakter khusus (``'?'``, ``'*'`` dan ``'['``). Ini berguna " -"jika Anda ingin mencocokkan string literal arbitrer yang mungkin memiliki " -"karakter khusus di dalamnya. Karakter khusus dalam drive/titik berbagi UNC " -"tidak di-escape, mis. pada Windows ``escape('//?/c:/Quo vadis?.txt')`` " -"mengembalikan ``'//?/c:/Quo vadis[?].txt'``." - -#: ../../library/glob.rst:128 -msgid "" -"Convert the given path specification to a regular expression for use with " -":func:`re.match`. The path specification can contain shell-style wildcards." -msgstr "" - -#: ../../library/glob.rst:131 -msgid "For example:" -msgstr "Sebagai contoh:" - -#: ../../library/glob.rst:142 -msgid "" -"Path separators and segments are meaningful to this function, unlike " -":func:`fnmatch.translate`. By default wildcards do not match path " -"separators, and ``*`` pattern segments match precisely one path segment." -msgstr "" - -#: ../../library/glob.rst:146 -msgid "" -"If *recursive* is true, the pattern segment \"``**``\" will match any number" -" of path segments." -msgstr "" - -#: ../../library/glob.rst:149 -msgid "" -"If *include_hidden* is true, wildcards can match path segments that start " -"with a dot (``.``)." -msgstr "" - -#: ../../library/glob.rst:152 -msgid "" -"A sequence of path separators may be supplied to the *seps* argument. If not" -" given, :data:`os.sep` and :data:`~os.altsep` (if available) are used." -msgstr "" - -#: ../../library/glob.rst:157 -msgid "" -":meth:`pathlib.PurePath.full_match` and :meth:`pathlib.Path.glob` methods, " -"which call this function to implement pattern matching and globbing." -msgstr "" - -#: ../../library/glob.rst:165 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/glob.rst:167 -msgid "" -"Consider a directory containing the following files: :file:`1.gif`, " -":file:`2.txt`, :file:`card.gif` and a subdirectory :file:`sub` which " -"contains only the file :file:`3.txt`. :func:`glob` will produce the " -"following results. Notice how any leading components of the path are " -"preserved. ::" -msgstr "" - -#: ../../library/glob.rst:173 -msgid "" -">>> import glob\n" -">>> glob.glob('./[0-9].*')\n" -"['./1.gif', './2.txt']\n" -">>> glob.glob('*.gif')\n" -"['1.gif', 'card.gif']\n" -">>> glob.glob('?.gif')\n" -"['1.gif']\n" -">>> glob.glob('**/*.txt', recursive=True)\n" -"['2.txt', 'sub/3.txt']\n" -">>> glob.glob('./**/', recursive=True)\n" -"['./', './sub/']" -msgstr "" - -#: ../../library/glob.rst:185 -msgid "" -"If the directory contains files starting with ``.`` they won't be matched by" -" default. For example, consider a directory containing :file:`card.gif` and " -":file:`.card.gif`::" -msgstr "" -"Jika direktori berisi file yang dimulai dengan ``.`` mereka tidak akan " -"dicocokkan secara default. Misalnya, pertimbangkan direktori yang berisi " -":file:`card.gif` dan :file:`.card.gif` ::" - -#: ../../library/glob.rst:189 -msgid "" -">>> import glob\n" -">>> glob.glob('*.gif')\n" -"['card.gif']\n" -">>> glob.glob('.c*')\n" -"['.card.gif']" -msgstr "" - -#: ../../library/glob.rst:196 -msgid "" -"The :mod:`fnmatch` module offers shell-style filename (not path) expansion." -msgstr "" - -#: ../../library/glob.rst:199 -msgid "The :mod:`pathlib` module offers high-level path objects." -msgstr "Modul :mod:`pathlib` menawarkan objek jalur tingkat tinggi." - -#: ../../library/glob.rst:9 -msgid "filenames" -msgstr "" - -#: ../../library/glob.rst:9 -msgid "pathname expansion" -msgstr "" - -#: ../../library/glob.rst:13 -msgid "* (asterisk)" -msgstr "" - -#: ../../library/glob.rst:13 ../../library/glob.rst:61 -msgid "in glob-style wildcards" -msgstr "" - -#: ../../library/glob.rst:13 -msgid "? (question mark)" -msgstr "" - -#: ../../library/glob.rst:13 -msgid "[] (square brackets)" -msgstr "" - -#: ../../library/glob.rst:13 -msgid "! (exclamation)" -msgstr "" - -#: ../../library/glob.rst:13 -msgid "- (minus)" -msgstr "" - -#: ../../library/glob.rst:13 -msgid ". (dot)" -msgstr "" - -#: ../../library/glob.rst:61 -msgid "**" -msgstr "" diff --git a/python-newest.library--graphlib/id.po b/python-newest.library--graphlib/id.po deleted file mode 100644 index 2a025ee..0000000 --- a/python-newest.library--graphlib/id.po +++ /dev/null @@ -1,316 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi (OonID) , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: oon arfiandwi (OonID) , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/graphlib.rst:2 -msgid "" -":mod:`!graphlib` --- Functionality to operate with graph-like structures" -msgstr "" - -#: ../../library/graphlib.rst:8 -msgid "**Source code:** :source:`Lib/graphlib.py`" -msgstr "" - -#: ../../library/graphlib.rst:20 -msgid "" -"Provides functionality to topologically sort a graph of :term:`hashable` " -"nodes." -msgstr "" - -#: ../../library/graphlib.rst:22 -msgid "" -"A topological order is a linear ordering of the vertices in a graph such " -"that for every directed edge u -> v from vertex u to vertex v, vertex u " -"comes before vertex v in the ordering. For instance, the vertices of the " -"graph may represent tasks to be performed, and the edges may represent " -"constraints that one task must be performed before another; in this example," -" a topological ordering is just a valid sequence for the tasks. A complete " -"topological ordering is possible if and only if the graph has no directed " -"cycles, that is, if it is a directed acyclic graph." -msgstr "" - -#: ../../library/graphlib.rst:31 -msgid "" -"If the optional *graph* argument is provided it must be a dictionary " -"representing a directed acyclic graph where the keys are nodes and the " -"values are iterables of all predecessors of that node in the graph (the " -"nodes that have edges that point to the value in the key). Additional nodes " -"can be added to the graph using the :meth:`~TopologicalSorter.add` method." -msgstr "" - -#: ../../library/graphlib.rst:37 -msgid "" -"In the general case, the steps required to perform the sorting of a given " -"graph are as follows:" -msgstr "" - -#: ../../library/graphlib.rst:40 -msgid "" -"Create an instance of the :class:`TopologicalSorter` with an optional " -"initial graph." -msgstr "" - -#: ../../library/graphlib.rst:42 -msgid "Add additional nodes to the graph." -msgstr "" - -#: ../../library/graphlib.rst:43 -msgid "Call :meth:`~TopologicalSorter.prepare` on the graph." -msgstr "" - -#: ../../library/graphlib.rst:44 -msgid "" -"While :meth:`~TopologicalSorter.is_active` is ``True``, iterate over the " -"nodes returned by :meth:`~TopologicalSorter.get_ready` and process them. " -"Call :meth:`~TopologicalSorter.done` on each node as it finishes processing." -msgstr "" - -#: ../../library/graphlib.rst:49 -msgid "" -"In case just an immediate sorting of the nodes in the graph is required and " -"no parallelism is involved, the convenience method " -":meth:`TopologicalSorter.static_order` can be used directly:" -msgstr "" - -#: ../../library/graphlib.rst:53 -msgid "" -">>> graph = {\"D\": {\"B\", \"C\"}, \"C\": {\"A\"}, \"B\": {\"A\"}}\n" -">>> ts = TopologicalSorter(graph)\n" -">>> tuple(ts.static_order())\n" -"('A', 'C', 'B', 'D')" -msgstr "" - -#: ../../library/graphlib.rst:60 -msgid "" -"The class is designed to easily support parallel processing of the nodes as " -"they become ready. For instance::" -msgstr "" - -#: ../../library/graphlib.rst:63 -msgid "" -"topological_sorter = TopologicalSorter()\n" -"\n" -"# Add nodes to 'topological_sorter'...\n" -"\n" -"topological_sorter.prepare()\n" -"while topological_sorter.is_active():\n" -" for node in topological_sorter.get_ready():\n" -" # Worker threads or processes take nodes to work on off the\n" -" # 'task_queue' queue.\n" -" task_queue.put(node)\n" -"\n" -" # When the work for a node is done, workers put the node in\n" -" # 'finalized_tasks_queue' so we can get more nodes to work on.\n" -" # The definition of 'is_active()' guarantees that, at this point, at\n" -" # least one node has been placed on 'task_queue' that hasn't yet\n" -" # been passed to 'done()', so this blocking 'get()' must (eventually)\n" -" # succeed. After calling 'done()', we loop back to call 'get_ready()'\n" -" # again, so put newly freed nodes on 'task_queue' as soon as\n" -" # logically possible.\n" -" node = finalized_tasks_queue.get()\n" -" topological_sorter.done(node)" -msgstr "" - -#: ../../library/graphlib.rst:87 -msgid "" -"Add a new node and its predecessors to the graph. Both the *node* and all " -"elements in *predecessors* must be :term:`hashable`." -msgstr "" - -#: ../../library/graphlib.rst:90 -msgid "" -"If called multiple times with the same node argument, the set of " -"dependencies will be the union of all dependencies passed in." -msgstr "" - -#: ../../library/graphlib.rst:93 -msgid "" -"It is possible to add a node with no dependencies (*predecessors* is not " -"provided) or to provide a dependency twice. If a node that has not been " -"provided before is included among *predecessors* it will be automatically " -"added to the graph with no predecessors of its own." -msgstr "" - -#: ../../library/graphlib.rst:98 -msgid "" -"Raises :exc:`ValueError` if called after :meth:`~TopologicalSorter.prepare`." -msgstr "" - -#: ../../library/graphlib.rst:102 -msgid "" -"Mark the graph as finished and check for cycles in the graph. If any cycle " -"is detected, :exc:`CycleError` will be raised, but " -":meth:`~TopologicalSorter.get_ready` can still be used to obtain as many " -"nodes as possible until cycles block more progress. After a call to this " -"function, the graph cannot be modified, and therefore no more nodes can be " -"added using :meth:`~TopologicalSorter.add`." -msgstr "" - -#: ../../library/graphlib.rst:109 -msgid "" -"A :exc:`ValueError` will be raised if the sort has been started by " -":meth:`~.static_order` or :meth:`~.get_ready`." -msgstr "" - -#: ../../library/graphlib.rst:114 -msgid "" -"``prepare()`` can now be called more than once as long as the sort has not " -"started. Previously this raised :exc:`ValueError`." -msgstr "" - -#: ../../library/graphlib.rst:119 -msgid "" -"Returns ``True`` if more progress can be made and ``False`` otherwise. " -"Progress can be made if cycles do not block the resolution and either there " -"are still nodes ready that haven't yet been returned by " -":meth:`TopologicalSorter.get_ready` or the number of nodes marked " -":meth:`TopologicalSorter.done` is less than the number that have been " -"returned by :meth:`TopologicalSorter.get_ready`." -msgstr "" - -#: ../../library/graphlib.rst:126 -msgid "" -"The :meth:`~object.__bool__` method of this class defers to this function, " -"so instead of::" -msgstr "" - -#: ../../library/graphlib.rst:129 -msgid "" -"if ts.is_active():\n" -" ..." -msgstr "" - -#: ../../library/graphlib.rst:132 -msgid "it is possible to simply do::" -msgstr "" - -#: ../../library/graphlib.rst:134 -msgid "" -"if ts:\n" -" ..." -msgstr "" - -#: ../../library/graphlib.rst:137 ../../library/graphlib.rst:160 -msgid "" -"Raises :exc:`ValueError` if called without calling " -":meth:`~TopologicalSorter.prepare` previously." -msgstr "" - -#: ../../library/graphlib.rst:142 -msgid "" -"Marks a set of nodes returned by :meth:`TopologicalSorter.get_ready` as " -"processed, unblocking any successor of each node in *nodes* for being " -"returned in the future by a call to :meth:`TopologicalSorter.get_ready`." -msgstr "" - -#: ../../library/graphlib.rst:146 -msgid "" -"Raises :exc:`ValueError` if any node in *nodes* has already been marked as " -"processed by a previous call to this method or if a node was not added to " -"the graph by using :meth:`TopologicalSorter.add`, if called without calling " -":meth:`~TopologicalSorter.prepare` or if node has not yet been returned by " -":meth:`~TopologicalSorter.get_ready`." -msgstr "" - -#: ../../library/graphlib.rst:154 -msgid "" -"Returns a ``tuple`` with all the nodes that are ready. Initially it returns " -"all nodes with no predecessors, and once those are marked as processed by " -"calling :meth:`TopologicalSorter.done`, further calls will return all new " -"nodes that have all their predecessors already processed. Once no more " -"progress can be made, empty tuples are returned." -msgstr "" - -#: ../../library/graphlib.rst:165 -msgid "" -"Returns an iterator object which will iterate over nodes in a topological " -"order. When using this method, :meth:`~TopologicalSorter.prepare` and " -":meth:`~TopologicalSorter.done` should not be called. This method is " -"equivalent to::" -msgstr "" - -#: ../../library/graphlib.rst:170 -msgid "" -"def static_order(self):\n" -" self.prepare()\n" -" while self.is_active():\n" -" node_group = self.get_ready()\n" -" yield from node_group\n" -" self.done(*node_group)" -msgstr "" - -#: ../../library/graphlib.rst:177 -msgid "" -"The particular order that is returned may depend on the specific order in " -"which the items were inserted in the graph. For example:" -msgstr "" - -#: ../../library/graphlib.rst:180 -msgid "" -">>> ts = TopologicalSorter()\n" -">>> ts.add(3, 2, 1)\n" -">>> ts.add(1, 0)\n" -">>> print([*ts.static_order()])\n" -"[2, 0, 1, 3]\n" -"\n" -">>> ts2 = TopologicalSorter()\n" -">>> ts2.add(1, 0)\n" -">>> ts2.add(3, 2, 1)\n" -">>> print([*ts2.static_order()])\n" -"[0, 2, 1, 3]" -msgstr "" - -#: ../../library/graphlib.rst:194 -msgid "" -"This is due to the fact that \"0\" and \"2\" are in the same level in the " -"graph (they would have been returned in the same call to " -":meth:`~TopologicalSorter.get_ready`) and the order between them is " -"determined by the order of insertion." -msgstr "" - -#: ../../library/graphlib.rst:200 -msgid "If any cycle is detected, :exc:`CycleError` will be raised." -msgstr "" - -#: ../../library/graphlib.rst:206 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/graphlib.rst:207 -msgid "The :mod:`graphlib` module defines the following exception classes:" -msgstr "" - -#: ../../library/graphlib.rst:211 -msgid "" -"Subclass of :exc:`ValueError` raised by :meth:`TopologicalSorter.prepare` if" -" cycles exist in the working graph. If multiple cycles exist, only one " -"undefined choice among them will be reported and included in the exception." -msgstr "" - -#: ../../library/graphlib.rst:215 -msgid "" -"The detected cycle can be accessed via the second element in the " -":attr:`~BaseException.args` attribute of the exception instance and consists" -" in a list of nodes, such that each node is, in the graph, an immediate " -"predecessor of the next node in the list. In the reported list, the first " -"and the last node will be the same, to make it clear that it is cyclic." -msgstr "" diff --git a/python-newest.library--grp/id.po b/python-newest.library--grp/id.po deleted file mode 100644 index 6137e60..0000000 --- a/python-newest.library--grp/id.po +++ /dev/null @@ -1,147 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/grp.rst:2 -msgid ":mod:`!grp` --- The group database" -msgstr "" - -#: ../../library/grp.rst:10 -msgid "" -"This module provides access to the Unix group database. It is available on " -"all Unix versions." -msgstr "" - -#: ../../library/grp.rst:13 -msgid "Availability" -msgstr "" - -#: ../../library/grp.rst:15 -msgid "" -"Group database entries are reported as a tuple-like object, whose attributes" -" correspond to the members of the ``group`` structure (Attribute field " -"below, see ````):" -msgstr "" - -#: ../../library/grp.rst:20 -msgid "Index" -msgstr "Indeks" - -#: ../../library/grp.rst:20 -msgid "Attribute" -msgstr "Atribut" - -#: ../../library/grp.rst:20 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/grp.rst:22 -msgid "0" -msgstr "0" - -#: ../../library/grp.rst:22 -msgid "gr_name" -msgstr "" - -#: ../../library/grp.rst:22 -msgid "the name of the group" -msgstr "" - -#: ../../library/grp.rst:24 -msgid "1" -msgstr "1" - -#: ../../library/grp.rst:24 -msgid "gr_passwd" -msgstr "" - -#: ../../library/grp.rst:24 -msgid "the (encrypted) group password; often empty" -msgstr "" - -#: ../../library/grp.rst:27 -msgid "2" -msgstr "2" - -#: ../../library/grp.rst:27 -msgid "gr_gid" -msgstr "" - -#: ../../library/grp.rst:27 -msgid "the numerical group ID" -msgstr "" - -#: ../../library/grp.rst:29 -msgid "3" -msgstr "3" - -#: ../../library/grp.rst:29 -msgid "gr_mem" -msgstr "" - -#: ../../library/grp.rst:29 -msgid "all the group member's user names" -msgstr "" - -#: ../../library/grp.rst:33 -msgid "" -"The gid is an integer, name and password are strings, and the member list is" -" a list of strings. (Note that most users are not explicitly listed as " -"members of the group they are in according to the password database. Check " -"both databases to get complete membership information. Also note that a " -"``gr_name`` that starts with a ``+`` or ``-`` is likely to be a YP/NIS " -"reference and may not be accessible via :func:`getgrnam` or " -":func:`getgrgid`.)" -msgstr "" - -#: ../../library/grp.rst:40 -msgid "It defines the following items:" -msgstr "" - -#: ../../library/grp.rst:45 -msgid "" -"Return the group database entry for the given numeric group ID. " -":exc:`KeyError` is raised if the entry asked for cannot be found." -msgstr "" - -#: ../../library/grp.rst:48 -msgid "" -":exc:`TypeError` is raised for non-integer arguments like floats or strings." -msgstr "" - -#: ../../library/grp.rst:53 -msgid "" -"Return the group database entry for the given group name. :exc:`KeyError` is" -" raised if the entry asked for cannot be found." -msgstr "" - -#: ../../library/grp.rst:59 -msgid "Return a list of all available group entries, in arbitrary order." -msgstr "" - -#: ../../library/grp.rst:64 -msgid "Module :mod:`pwd`" -msgstr "Modul :mod:`pwd`" - -#: ../../library/grp.rst:65 -msgid "An interface to the user database, similar to this." -msgstr "" diff --git a/python-newest.library--gzip/id.po b/python-newest.library--gzip/id.po deleted file mode 100644 index bc9fe7a..0000000 --- a/python-newest.library--gzip/id.po +++ /dev/null @@ -1,436 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/gzip.rst:2 -msgid ":mod:`!gzip` --- Support for :program:`gzip` files" -msgstr "" - -#: ../../library/gzip.rst:7 -msgid "**Source code:** :source:`Lib/gzip.py`" -msgstr "" - -#: ../../library/gzip.rst:11 -msgid "" -"This module provides a simple interface to compress and decompress files " -"just like the GNU programs :program:`gzip` and :program:`gunzip` would." -msgstr "" - -#: ../../library/gzip.rst:14 -msgid "The data compression is provided by the :mod:`zlib` module." -msgstr "" - -#: ../../library/gzip.rst:16 -msgid "" -"The :mod:`gzip` module provides the :class:`GzipFile` class, as well as the " -":func:`.open`, :func:`compress` and :func:`decompress` convenience " -"functions. The :class:`GzipFile` class reads and writes :program:`gzip`\\ " -"-format files, automatically compressing or decompressing the data so that " -"it looks like an ordinary :term:`file object`." -msgstr "" - -#: ../../library/gzip.rst:22 -msgid "" -"Note that additional file formats which can be decompressed by the " -":program:`gzip` and :program:`gunzip` programs, such as those produced by " -":program:`compress` and :program:`pack`, are not supported by this module." -msgstr "" - -#: ../../library/gzip.rst:26 -msgid "The module defines the following items:" -msgstr "" - -#: ../../library/gzip.rst:31 -msgid "" -"Open a gzip-compressed file in binary or text mode, returning a :term:`file " -"object`." -msgstr "" - -#: ../../library/gzip.rst:34 -msgid "" -"The *filename* argument can be an actual filename (a :class:`str` or " -":class:`bytes` object), or an existing file object to read from or write to." -msgstr "" - -#: ../../library/gzip.rst:37 -msgid "" -"The *mode* argument can be any of ``'r'``, ``'rb'``, ``'a'``, ``'ab'``, " -"``'w'``, ``'wb'``, ``'x'`` or ``'xb'`` for binary mode, or ``'rt'``, " -"``'at'``, ``'wt'``, or ``'xt'`` for text mode. The default is ``'rb'``." -msgstr "" - -#: ../../library/gzip.rst:41 -msgid "" -"The *compresslevel* argument is an integer from 0 to 9, as for the " -":class:`GzipFile` constructor." -msgstr "" - -#: ../../library/gzip.rst:44 -msgid "" -"For binary mode, this function is equivalent to the :class:`GzipFile` " -"constructor: ``GzipFile(filename, mode, compresslevel)``. In this case, the " -"*encoding*, *errors* and *newline* arguments must not be provided." -msgstr "" - -#: ../../library/gzip.rst:48 -msgid "" -"For text mode, a :class:`GzipFile` object is created, and wrapped in an " -":class:`io.TextIOWrapper` instance with the specified encoding, error " -"handling behavior, and line ending(s)." -msgstr "" - -#: ../../library/gzip.rst:52 -msgid "" -"Added support for *filename* being a file object, support for text mode, and" -" the *encoding*, *errors* and *newline* arguments." -msgstr "" - -#: ../../library/gzip.rst:56 -msgid "Added support for the ``'x'``, ``'xb'`` and ``'xt'`` modes." -msgstr "" - -#: ../../library/gzip.rst:59 ../../library/gzip.rst:173 -msgid "Accepts a :term:`path-like object`." -msgstr "Menerima sebuah :term:`path-like object`." - -#: ../../library/gzip.rst:64 -msgid "" -"An exception raised for invalid gzip files. It inherits from " -":exc:`OSError`. :exc:`EOFError` and :exc:`zlib.error` can also be raised for" -" invalid gzip files." -msgstr "" - -#: ../../library/gzip.rst:72 -msgid "" -"Constructor for the :class:`GzipFile` class, which simulates most of the " -"methods of a :term:`file object`, with the exception of the " -":meth:`~io.IOBase.truncate` method. At least one of *fileobj* and " -"*filename* must be given a non-trivial value." -msgstr "" - -#: ../../library/gzip.rst:77 -msgid "" -"The new class instance is based on *fileobj*, which can be a regular file, " -"an :class:`io.BytesIO` object, or any other object which simulates a file. " -"It defaults to ``None``, in which case *filename* is opened to provide a " -"file object." -msgstr "" - -#: ../../library/gzip.rst:82 -msgid "" -"When *fileobj* is not ``None``, the *filename* argument is only used to be " -"included in the :program:`gzip` file header, which may include the original " -"filename of the uncompressed file. It defaults to the filename of " -"*fileobj*, if discernible; otherwise, it defaults to the empty string, and " -"in this case the original filename is not included in the header." -msgstr "" - -#: ../../library/gzip.rst:88 -msgid "" -"The *mode* argument can be any of ``'r'``, ``'rb'``, ``'a'``, ``'ab'``, " -"``'w'``, ``'wb'``, ``'x'``, or ``'xb'``, depending on whether the file will " -"be read or written. The default is the mode of *fileobj* if discernible; " -"otherwise, the default is ``'rb'``. In future Python releases the mode of " -"*fileobj* will not be used. It is better to always specify *mode* for " -"writing." -msgstr "" - -#: ../../library/gzip.rst:94 -msgid "" -"Note that the file is always opened in binary mode. To open a compressed " -"file in text mode, use :func:`.open` (or wrap your :class:`GzipFile` with an" -" :class:`io.TextIOWrapper`)." -msgstr "" - -#: ../../library/gzip.rst:98 -msgid "" -"The *compresslevel* argument is an integer from ``0`` to ``9`` controlling " -"the level of compression; ``1`` is fastest and produces the least " -"compression, and ``9`` is slowest and produces the most compression. ``0`` " -"is no compression. The default is ``9``." -msgstr "" - -#: ../../library/gzip.rst:103 -msgid "" -"The optional *mtime* argument is the timestamp requested by gzip. The time " -"is in Unix format, i.e., seconds since 00:00:00 UTC, January 1, 1970. If " -"*mtime* is omitted or ``None``, the current time is used. Use *mtime* = 0 to" -" generate a compressed stream that does not depend on creation time." -msgstr "" - -#: ../../library/gzip.rst:108 -msgid "" -"See below for the :attr:`mtime` attribute that is set when decompressing." -msgstr "" - -#: ../../library/gzip.rst:110 -msgid "" -"Calling a :class:`GzipFile` object's :meth:`!close` method does not close " -"*fileobj*, since you might wish to append more material after the compressed" -" data. This also allows you to pass an :class:`io.BytesIO` object opened " -"for writing as *fileobj*, and retrieve the resulting memory buffer using the" -" :class:`io.BytesIO` object's :meth:`~io.BytesIO.getvalue` method." -msgstr "" - -#: ../../library/gzip.rst:116 -msgid "" -":class:`GzipFile` supports the :class:`io.BufferedIOBase` interface, " -"including iteration and the :keyword:`with` statement. Only the " -":meth:`~io.IOBase.truncate` method isn't implemented." -msgstr "" - -#: ../../library/gzip.rst:120 -msgid ":class:`GzipFile` also provides the following method and attribute:" -msgstr "" - -#: ../../library/gzip.rst:124 -msgid "" -"Read *n* uncompressed bytes without advancing the file position. The number " -"of bytes returned may be more or less than requested." -msgstr "" - -#: ../../library/gzip.rst:127 -msgid "" -"While calling :meth:`peek` does not change the file position of the " -":class:`GzipFile`, it may change the position of the underlying file object " -"(e.g. if the :class:`GzipFile` was constructed with the *fileobj* " -"parameter)." -msgstr "" - -#: ../../library/gzip.rst:136 -msgid "``'rb'`` for reading and ``'wb'`` for writing." -msgstr "" - -#: ../../library/gzip.rst:138 -msgid "In previous versions it was an integer ``1`` or ``2``." -msgstr "" - -#: ../../library/gzip.rst:143 -msgid "" -"When decompressing, this attribute is set to the last timestamp in the most " -"recently read header. It is an integer, holding the number of seconds since" -" the Unix epoch (00:00:00 UTC, January 1, 1970). The initial value before " -"reading any headers is ``None``." -msgstr "" - -#: ../../library/gzip.rst:150 -msgid "" -"The path to the gzip file on disk, as a :class:`str` or :class:`bytes`. " -"Equivalent to the output of :func:`os.fspath` on the original input path, " -"with no other normalization, resolution or expansion." -msgstr "" - -#: ../../library/gzip.rst:154 -msgid "" -"Support for the :keyword:`with` statement was added, along with the *mtime* " -"constructor argument and :attr:`mtime` attribute." -msgstr "" - -#: ../../library/gzip.rst:158 -msgid "Support for zero-padded and unseekable files was added." -msgstr "" - -#: ../../library/gzip.rst:161 -msgid "The :meth:`io.BufferedIOBase.read1` method is now implemented." -msgstr "" - -#: ../../library/gzip.rst:164 -msgid "Added support for the ``'x'`` and ``'xb'`` modes." -msgstr "" - -#: ../../library/gzip.rst:167 -msgid "" -"Added support for writing arbitrary :term:`bytes-like objects `. The :meth:`~io.BufferedIOBase.read` method now accepts an argument" -" of ``None``." -msgstr "" - -#: ../../library/gzip.rst:176 -msgid "" -"Opening :class:`GzipFile` for writing without specifying the *mode* argument" -" is deprecated." -msgstr "" - -#: ../../library/gzip.rst:180 -msgid "" -"Remove the ``filename`` attribute, use the :attr:`~GzipFile.name` attribute " -"instead." -msgstr "" - -#: ../../library/gzip.rst:187 -msgid "" -"Compress the *data*, returning a :class:`bytes` object containing the " -"compressed data. *compresslevel* and *mtime* have the same meaning as in " -"the :class:`GzipFile` constructor above, but *mtime* defaults to 0 for " -"reproducible output." -msgstr "" - -#: ../../library/gzip.rst:193 -msgid "Added the *mtime* parameter for reproducible output." -msgstr "" - -#: ../../library/gzip.rst:195 -msgid "" -"Speed is improved by compressing all data at once instead of in a streamed " -"fashion. Calls with *mtime* set to ``0`` are delegated to " -":func:`zlib.compress` for better speed. In this situation the output may " -"contain a gzip header \"OS\" byte value other than 255 \"unknown\" as " -"supplied by the underlying zlib implementation." -msgstr "" - -#: ../../library/gzip.rst:202 -msgid "" -"The gzip header OS byte is guaranteed to be set to 255 when this function is" -" used as was the case in 3.10 and earlier." -msgstr "" - -#: ../../library/gzip.rst:205 -msgid "" -"The *mtime* parameter now defaults to 0 for reproducible output. For the " -"previous behaviour of using the current time, pass ``None`` to *mtime*." -msgstr "" - -#: ../../library/gzip.rst:212 -msgid "" -"Decompress the *data*, returning a :class:`bytes` object containing the " -"uncompressed data. This function is capable of decompressing multi-member " -"gzip data (multiple gzip blocks concatenated together). When the data is " -"certain to contain only one member the :func:`zlib.decompress` function with" -" *wbits* set to 31 is faster." -msgstr "" - -#: ../../library/gzip.rst:219 -msgid "" -"Speed is improved by decompressing members at once in memory instead of in a" -" streamed fashion." -msgstr "" - -#: ../../library/gzip.rst:226 -msgid "Examples of usage" -msgstr "" - -#: ../../library/gzip.rst:228 -msgid "Example of how to read a compressed file::" -msgstr "" - -#: ../../library/gzip.rst:230 -msgid "" -"import gzip\n" -"with gzip.open('/home/joe/file.txt.gz', 'rb') as f:\n" -" file_content = f.read()" -msgstr "" - -#: ../../library/gzip.rst:234 -msgid "Example of how to create a compressed GZIP file::" -msgstr "" - -#: ../../library/gzip.rst:236 -msgid "" -"import gzip\n" -"content = b\"Lots of content here\"\n" -"with gzip.open('/home/joe/file.txt.gz', 'wb') as f:\n" -" f.write(content)" -msgstr "" - -#: ../../library/gzip.rst:241 -msgid "Example of how to GZIP compress an existing file::" -msgstr "" - -#: ../../library/gzip.rst:243 -msgid "" -"import gzip\n" -"import shutil\n" -"with open('/home/joe/file.txt', 'rb') as f_in:\n" -" with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:\n" -" shutil.copyfileobj(f_in, f_out)" -msgstr "" - -#: ../../library/gzip.rst:249 -msgid "Example of how to GZIP compress a binary string::" -msgstr "" - -#: ../../library/gzip.rst:251 -msgid "" -"import gzip\n" -"s_in = b\"Lots of content here\"\n" -"s_out = gzip.compress(s_in)" -msgstr "" - -#: ../../library/gzip.rst:257 -msgid "Module :mod:`zlib`" -msgstr "" - -#: ../../library/gzip.rst:258 -msgid "" -"The basic data compression module needed to support the :program:`gzip` file" -" format." -msgstr "" - -#: ../../library/gzip.rst:261 -msgid "" -"In case gzip (de)compression is a bottleneck, the `python-isal`_ package " -"speeds up (de)compression with a mostly compatible API." -msgstr "" - -#: ../../library/gzip.rst:271 -msgid "Command Line Interface" -msgstr "" - -#: ../../library/gzip.rst:273 -msgid "" -"The :mod:`gzip` module provides a simple command line interface to compress " -"or decompress files." -msgstr "" - -#: ../../library/gzip.rst:276 -msgid "Once executed the :mod:`gzip` module keeps the input file(s)." -msgstr "" - -#: ../../library/gzip.rst:280 -msgid "" -"Add a new command line interface with a usage. By default, when you will " -"execute the CLI, the default compression level is 6." -msgstr "" - -#: ../../library/gzip.rst:284 -msgid "Command line options" -msgstr "" - -#: ../../library/gzip.rst:288 -msgid "If *file* is not specified, read from :data:`sys.stdin`." -msgstr "" - -#: ../../library/gzip.rst:292 -msgid "Indicates the fastest compression method (less compression)." -msgstr "" - -#: ../../library/gzip.rst:296 -msgid "Indicates the slowest compression method (best compression)." -msgstr "" - -#: ../../library/gzip.rst:300 -msgid "Decompress the given file." -msgstr "" - -#: ../../library/gzip.rst:304 -msgid "Show the help message." -msgstr "" diff --git a/python-newest.library--hashlib/id.po b/python-newest.library--hashlib/id.po deleted file mode 100644 index 33961eb..0000000 --- a/python-newest.library--hashlib/id.po +++ /dev/null @@ -1,1059 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2022 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/hashlib.rst:2 -msgid ":mod:`!hashlib` --- Secure hashes and message digests" -msgstr "" - -#: ../../library/hashlib.rst:10 -msgid "**Source code:** :source:`Lib/hashlib.py`" -msgstr "" - -#: ../../library/hashlib.rst:23 -msgid "" -"This module implements a common interface to many different hash algorithms." -" Included are the FIPS secure hash algorithms SHA224, SHA256, SHA384, " -"SHA512, (defined in `the FIPS 180-4 standard`_), the SHA-3 series (defined " -"in `the FIPS 202 standard`_) as well as the legacy algorithms SHA1 " -"(`formerly part of FIPS`_) and the MD5 algorithm (defined in internet " -":rfc:`1321`)." -msgstr "" - -#: ../../library/hashlib.rst:31 -msgid "" -"If you want the adler32 or crc32 hash functions, they are available in the " -":mod:`zlib` module." -msgstr "" - -#: ../../library/hashlib.rst:38 -msgid "Hash algorithms" -msgstr "" - -#: ../../library/hashlib.rst:40 -msgid "" -"There is one constructor method named for each type of :dfn:`hash`. All " -"return a hash object with the same simple interface. For example: use " -":func:`sha256` to create a SHA-256 hash object. You can now feed this object" -" with :term:`bytes-like objects ` (normally " -":class:`bytes`) using the :meth:`update` method. At any point " -"you can ask it for the :dfn:`digest` of the concatenation of the data fed to" -" it so far using the :meth:`digest()` or " -":meth:`hexdigest()` methods." -msgstr "" - -#: ../../library/hashlib.rst:48 -msgid "" -"To allow multithreading, the Python :term:`GIL` is released while computing " -"a hash supplied more than 2047 bytes of data at once in its constructor or " -":meth:`.update` method." -msgstr "" - -#: ../../library/hashlib.rst:55 -msgid "" -"Constructors for hash algorithms that are always present in this module are " -":func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`, " -":func:`sha512`, :func:`sha3_224`, :func:`sha3_256`, :func:`sha3_384`, " -":func:`sha3_512`, :func:`shake_128`, :func:`shake_256`, :func:`blake2b`, and" -" :func:`blake2s`. :func:`md5` is normally available as well, though it may " -"be missing or blocked if you are using a rare \"FIPS compliant\" build of " -"Python. These correspond to :data:`algorithms_guaranteed`." -msgstr "" - -#: ../../library/hashlib.rst:63 -msgid "" -"Additional algorithms may also be available if your Python distribution's " -":mod:`hashlib` was linked against a build of OpenSSL that provides others. " -"Others *are not guaranteed available* on all installations and will only be " -"accessible by name via :func:`new`. See :data:`algorithms_available`." -msgstr "" - -#: ../../library/hashlib.rst:70 -msgid "" -"Some algorithms have known hash collision weaknesses (including MD5 and " -"SHA1). Refer to `Attacks on cryptographic hash algorithms`_ and the " -"`hashlib-seealso`_ section at the end of this document." -msgstr "" - -#: ../../library/hashlib.rst:74 -msgid "" -"SHA3 (Keccak) and SHAKE constructors :func:`sha3_224`, :func:`sha3_256`, " -":func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256` " -"were added. :func:`blake2b` and :func:`blake2s` were added." -msgstr "" - -#: ../../library/hashlib.rst:82 -msgid "" -"All hashlib constructors take a keyword-only argument *usedforsecurity* with" -" default value ``True``. A false value allows the use of insecure and " -"blocked hashing algorithms in restricted environments. ``False`` indicates " -"that the hashing algorithm is not used in a security context, e.g. as a non-" -"cryptographic one-way compression function." -msgstr "" - -#: ../../library/hashlib.rst:89 -msgid "Hashlib now uses SHA3 and SHAKE from OpenSSL if it provides it." -msgstr "" - -#: ../../library/hashlib.rst:92 -msgid "" -"For any of the MD5, SHA1, SHA2, or SHA3 algorithms that the linked OpenSSL " -"does not provide we fall back to a verified implementation from the `HACL\\*" -" project`_." -msgstr "" - -#: ../../library/hashlib.rst:98 -msgid "Usage" -msgstr "Penggunaan" - -#: ../../library/hashlib.rst:100 -msgid "" -"To obtain the digest of the byte string ``b\"Nobody inspects the spammish " -"repetition\"``::" -msgstr "" - -#: ../../library/hashlib.rst:103 -msgid "" -">>> import hashlib\n" -">>> m = hashlib.sha256()\n" -">>> m.update(b\"Nobody inspects\")\n" -">>> m.update(b\" the spammish repetition\")\n" -">>> m.digest()\n" -"b'\\x03\\x1e\\xdd}Ae\\x15\\x93\\xc5\\xfe\\\\\\x00o\\xa5u+7\\xfd\\xdf\\xf7\\xbcN\\x84:\\xa6\\xaf\\x0c\\x95\\x0fK\\x94\\x06'\n" -">>> m.hexdigest()\n" -"'031edd7d41651593c5fe5c006fa5752b37fddff7bc4e843aa6af0c950f4b9406'" -msgstr "" - -#: ../../library/hashlib.rst:112 -msgid "More condensed:" -msgstr "" - -#: ../../library/hashlib.rst:118 -msgid "Constructors" -msgstr "" - -#: ../../library/hashlib.rst:122 -msgid "" -"Is a generic constructor that takes the string *name* of the desired " -"algorithm as its first parameter. It also exists to allow access to the " -"above listed hashes as well as any other algorithms that your OpenSSL " -"library may offer." -msgstr "" - -#: ../../library/hashlib.rst:127 -msgid "Using :func:`new` with an algorithm name:" -msgstr "" - -#: ../../library/hashlib.rst:146 -msgid "" -"Named constructors such as these are faster than passing an algorithm name " -"to :func:`new`." -msgstr "" - -#: ../../library/hashlib.rst:150 -msgid "Attributes" -msgstr "" - -#: ../../library/hashlib.rst:152 -msgid "Hashlib provides the following constant module attributes:" -msgstr "" - -#: ../../library/hashlib.rst:156 -msgid "" -"A set containing the names of the hash algorithms guaranteed to be supported" -" by this module on all platforms. Note that 'md5' is in this list despite " -"some upstream vendors offering an odd \"FIPS compliant\" Python build that " -"excludes it." -msgstr "" - -#: ../../library/hashlib.rst:165 -msgid "" -"A set containing the names of the hash algorithms that are available in the " -"running Python interpreter. These names will be recognized when passed to " -":func:`new`. :attr:`algorithms_guaranteed` will always be a subset. The " -"same algorithm may appear multiple times in this set under different names " -"(thanks to OpenSSL)." -msgstr "" - -#: ../../library/hashlib.rst:174 -msgid "Hash Objects" -msgstr "" - -#: ../../library/hashlib.rst:176 -msgid "" -"The following values are provided as constant attributes of the hash objects" -" returned by the constructors:" -msgstr "" - -#: ../../library/hashlib.rst:181 -msgid "The size of the resulting hash in bytes." -msgstr "" - -#: ../../library/hashlib.rst:185 -msgid "The internal block size of the hash algorithm in bytes." -msgstr "" - -#: ../../library/hashlib.rst:187 -msgid "A hash object has the following attributes:" -msgstr "" - -#: ../../library/hashlib.rst:191 -msgid "" -"The canonical name of this hash, always lowercase and always suitable as a " -"parameter to :func:`new` to create another hash of this type." -msgstr "" - -#: ../../library/hashlib.rst:194 -msgid "" -"The name attribute has been present in CPython since its inception, but " -"until Python 3.4 was not formally specified, so may not exist on some " -"platforms." -msgstr "" - -#: ../../library/hashlib.rst:199 -msgid "A hash object has the following methods:" -msgstr "" - -#: ../../library/hashlib.rst:204 -msgid "" -"Update the hash object with the :term:`bytes-like object`. Repeated calls " -"are equivalent to a single call with the concatenation of all the arguments:" -" ``m.update(a); m.update(b)`` is equivalent to ``m.update(a+b)``." -msgstr "" - -#: ../../library/hashlib.rst:212 -msgid "" -"Return the digest of the data passed to the :meth:`update` method so far. " -"This is a bytes object of size :attr:`digest_size` which may contain bytes " -"in the whole range from 0 to 255." -msgstr "" - -#: ../../library/hashlib.rst:219 -msgid "" -"Like :meth:`digest` except the digest is returned as a string object of " -"double length, containing only hexadecimal digits. This may be used to " -"exchange the value safely in email or other non-binary environments." -msgstr "" - -#: ../../library/hashlib.rst:226 -msgid "" -"Return a copy (\"clone\") of the hash object. This can be used to " -"efficiently compute the digests of data sharing a common initial substring." -msgstr "" - -#: ../../library/hashlib.rst:231 -msgid "SHAKE variable length digests" -msgstr "" - -#: ../../library/hashlib.rst:236 -msgid "" -"The :func:`shake_128` and :func:`shake_256` algorithms provide variable " -"length digests with length_in_bits//2 up to 128 or 256 bits of security. As " -"such, their digest methods require a length. Maximum length is not limited " -"by the SHAKE algorithm." -msgstr "" - -#: ../../library/hashlib.rst:243 -msgid "" -"Return the digest of the data passed to the :meth:`~hash.update` method so " -"far. This is a bytes object of size *length* which may contain bytes in the " -"whole range from 0 to 255." -msgstr "" - -#: ../../library/hashlib.rst:250 -msgid "" -"Like :meth:`digest` except the digest is returned as a string object of " -"double length, containing only hexadecimal digits. This may be used to " -"exchange the value in email or other non-binary environments." -msgstr "" - -#: ../../library/hashlib.rst:254 -msgid "Example use:" -msgstr "" - -#: ../../library/hashlib.rst:261 -msgid "File hashing" -msgstr "" - -#: ../../library/hashlib.rst:263 -msgid "" -"The hashlib module provides a helper function for efficient hashing of a " -"file or file-like object." -msgstr "" - -#: ../../library/hashlib.rst:268 -msgid "" -"Return a digest object that has been updated with contents of file object." -msgstr "" - -#: ../../library/hashlib.rst:270 -msgid "" -"*fileobj* must be a file-like object opened for reading in binary mode. It " -"accepts file objects from builtin :func:`open`, :class:`~io.BytesIO` " -"instances, SocketIO objects from :meth:`socket.socket.makefile`, and " -"similar. *fileobj* must be opened in blocking mode, otherwise a " -":exc:`BlockingIOError` may be raised." -msgstr "" - -#: ../../library/hashlib.rst:276 -msgid "" -"The function may bypass Python's I/O and use the file descriptor from " -":meth:`~io.IOBase.fileno` directly. *fileobj* must be assumed to be in an " -"unknown state after this function returns or raises. It is up to the caller " -"to close *fileobj*." -msgstr "" - -#: ../../library/hashlib.rst:281 -msgid "" -"*digest* must either be a hash algorithm name as a *str*, a hash " -"constructor, or a callable that returns a hash object." -msgstr "" - -#: ../../library/hashlib.rst:284 -msgid "Example:" -msgstr "Contoh:" - -#: ../../library/hashlib.rst:305 -msgid "" -"Now raises a :exc:`BlockingIOError` if the file is opened in blocking mode. " -"Previously, spurious null bytes were added to the digest." -msgstr "" - -#: ../../library/hashlib.rst:311 -msgid "Key derivation" -msgstr "" - -#: ../../library/hashlib.rst:313 -msgid "" -"Key derivation and key stretching algorithms are designed for secure " -"password hashing. Naive algorithms such as ``sha1(password)`` are not " -"resistant against brute-force attacks. A good password hashing function must" -" be tunable, slow, and include a `salt " -"`_." -msgstr "" - -#: ../../library/hashlib.rst:321 -msgid "" -"The function provides PKCS#5 password-based key derivation function 2. It " -"uses HMAC as pseudorandom function." -msgstr "" - -#: ../../library/hashlib.rst:324 -msgid "" -"The string *hash_name* is the desired name of the hash digest algorithm for " -"HMAC, e.g. 'sha1' or 'sha256'. *password* and *salt* are interpreted as " -"buffers of bytes. Applications and libraries should limit *password* to a " -"sensible length (e.g. 1024). *salt* should be about 16 or more bytes from a " -"proper source, e.g. :func:`os.urandom`." -msgstr "" - -#: ../../library/hashlib.rst:330 -msgid "" -"The number of *iterations* should be chosen based on the hash algorithm and " -"computing power. As of 2022, hundreds of thousands of iterations of SHA-256 " -"are suggested. For rationale as to why and how to choose what is best for " -"your application, read *Appendix A.2.2* of NIST-SP-800-132_. The answers on " -"the `stackexchange pbkdf2 iterations question`_ explain in detail." -msgstr "" - -#: ../../library/hashlib.rst:336 -msgid "" -"*dklen* is the length of the derived key in bytes. If *dklen* is ``None`` " -"then the digest size of the hash algorithm *hash_name* is used, e.g. 64 for " -"SHA-512." -msgstr "" - -#: ../../library/hashlib.rst:345 -msgid "Function only available when Python is compiled with OpenSSL." -msgstr "" - -#: ../../library/hashlib.rst:349 -msgid "" -"Function now only available when Python is built with OpenSSL. The slow pure" -" Python implementation has been removed." -msgstr "" - -#: ../../library/hashlib.rst:355 -msgid "" -"The function provides scrypt password-based key derivation function as " -"defined in :rfc:`7914`." -msgstr "" - -#: ../../library/hashlib.rst:358 -msgid "" -"*password* and *salt* must be :term:`bytes-like objects `. Applications and libraries should limit *password* to a sensible " -"length (e.g. 1024). *salt* should be about 16 or more bytes from a proper " -"source, e.g. :func:`os.urandom`." -msgstr "" - -#: ../../library/hashlib.rst:363 -msgid "" -"*n* is the CPU/Memory cost factor, *r* the block size, *p* parallelization " -"factor and *maxmem* limits memory (OpenSSL 1.1.0 defaults to 32 MiB). " -"*dklen* is the length of the derived key in bytes." -msgstr "" - -#: ../../library/hashlib.rst:373 -msgid "BLAKE2" -msgstr "" - -#: ../../library/hashlib.rst:380 -msgid "" -"BLAKE2_ is a cryptographic hash function defined in :rfc:`7693` that comes " -"in two flavors:" -msgstr "" - -#: ../../library/hashlib.rst:383 -msgid "" -"**BLAKE2b**, optimized for 64-bit platforms and produces digests of any size" -" between 1 and 64 bytes," -msgstr "" - -#: ../../library/hashlib.rst:386 -msgid "" -"**BLAKE2s**, optimized for 8- to 32-bit platforms and produces digests of " -"any size between 1 and 32 bytes." -msgstr "" - -#: ../../library/hashlib.rst:389 -msgid "" -"BLAKE2 supports **keyed mode** (a faster and simpler replacement for HMAC_)," -" **salted hashing**, **personalization**, and **tree hashing**." -msgstr "" - -#: ../../library/hashlib.rst:392 -msgid "" -"Hash objects from this module follow the API of standard library's " -":mod:`hashlib` objects." -msgstr "" - -#: ../../library/hashlib.rst:397 -msgid "Creating hash objects" -msgstr "" - -#: ../../library/hashlib.rst:399 -msgid "New hash objects are created by calling constructor functions:" -msgstr "" - -#: ../../library/hashlib.rst:413 -msgid "" -"These functions return the corresponding hash objects for calculating " -"BLAKE2b or BLAKE2s. They optionally take these general parameters:" -msgstr "" - -#: ../../library/hashlib.rst:416 -msgid "" -"*data*: initial chunk of data to hash, which must be :term:`bytes-like " -"object`. It can be passed only as positional argument." -msgstr "" - -#: ../../library/hashlib.rst:419 -msgid "*digest_size*: size of output digest in bytes." -msgstr "" - -#: ../../library/hashlib.rst:421 -msgid "" -"*key*: key for keyed hashing (up to 64 bytes for BLAKE2b, up to 32 bytes for" -" BLAKE2s)." -msgstr "" - -#: ../../library/hashlib.rst:424 -msgid "" -"*salt*: salt for randomized hashing (up to 16 bytes for BLAKE2b, up to 8 " -"bytes for BLAKE2s)." -msgstr "" - -#: ../../library/hashlib.rst:427 -msgid "" -"*person*: personalization string (up to 16 bytes for BLAKE2b, up to 8 bytes " -"for BLAKE2s)." -msgstr "" - -#: ../../library/hashlib.rst:430 -msgid "The following table shows limits for general parameters (in bytes):" -msgstr "" - -#: ../../library/hashlib.rst:433 -msgid "Hash" -msgstr "" - -#: ../../library/hashlib.rst:433 -msgid "digest_size" -msgstr "" - -#: ../../library/hashlib.rst:433 -msgid "len(key)" -msgstr "" - -#: ../../library/hashlib.rst:433 -msgid "len(salt)" -msgstr "" - -#: ../../library/hashlib.rst:433 -msgid "len(person)" -msgstr "" - -#: ../../library/hashlib.rst:435 -msgid "BLAKE2b" -msgstr "" - -#: ../../library/hashlib.rst:435 -msgid "64" -msgstr "64" - -#: ../../library/hashlib.rst:435 -msgid "16" -msgstr "16" - -#: ../../library/hashlib.rst:436 -msgid "BLAKE2s" -msgstr "" - -#: ../../library/hashlib.rst:436 -msgid "32" -msgstr "32" - -#: ../../library/hashlib.rst:436 -msgid "8" -msgstr "8" - -#: ../../library/hashlib.rst:441 -msgid "" -"BLAKE2 specification defines constant lengths for salt and personalization " -"parameters, however, for convenience, this implementation accepts byte " -"strings of any size up to the specified length. If the length of the " -"parameter is less than specified, it is padded with zeros, thus, for " -"example, ``b'salt'`` and ``b'salt\\x00'`` is the same value. (This is not " -"the case for *key*.)" -msgstr "" - -#: ../../library/hashlib.rst:448 -msgid "These sizes are available as module `constants`_ described below." -msgstr "" - -#: ../../library/hashlib.rst:450 -msgid "" -"Constructor functions also accept the following tree hashing parameters:" -msgstr "" - -#: ../../library/hashlib.rst:452 -msgid "*fanout*: fanout (0 to 255, 0 if unlimited, 1 in sequential mode)." -msgstr "" - -#: ../../library/hashlib.rst:454 -msgid "" -"*depth*: maximal depth of tree (1 to 255, 255 if unlimited, 1 in sequential " -"mode)." -msgstr "" - -#: ../../library/hashlib.rst:457 -msgid "" -"*leaf_size*: maximal byte length of leaf (0 to ``2**32-1``, 0 if unlimited " -"or in sequential mode)." -msgstr "" - -#: ../../library/hashlib.rst:460 -msgid "" -"*node_offset*: node offset (0 to ``2**64-1`` for BLAKE2b, 0 to ``2**48-1`` " -"for BLAKE2s, 0 for the first, leftmost, leaf, or in sequential mode)." -msgstr "" - -#: ../../library/hashlib.rst:463 -msgid "" -"*node_depth*: node depth (0 to 255, 0 for leaves, or in sequential mode)." -msgstr "" - -#: ../../library/hashlib.rst:465 -msgid "" -"*inner_size*: inner digest size (0 to 64 for BLAKE2b, 0 to 32 for BLAKE2s, 0" -" in sequential mode)." -msgstr "" - -#: ../../library/hashlib.rst:468 -msgid "" -"*last_node*: boolean indicating whether the processed node is the last one " -"(``False`` for sequential mode)." -msgstr "" - -#: ../../library/hashlib.rst:471 -msgid "Explanation of tree mode parameters." -msgstr "" - -#: ../../library/hashlib.rst:475 -msgid "" -"See section 2.10 in `BLAKE2 specification " -"`_ for comprehensive review of " -"tree hashing." -msgstr "" - -#: ../../library/hashlib.rst:481 -msgid "Constants" -msgstr "Konstanta" - -#: ../../library/hashlib.rst:486 -msgid "Salt length (maximum length accepted by constructors)." -msgstr "" - -#: ../../library/hashlib.rst:492 -msgid "" -"Personalization string length (maximum length accepted by constructors)." -msgstr "" - -#: ../../library/hashlib.rst:498 -msgid "Maximum key size." -msgstr "" - -#: ../../library/hashlib.rst:504 -msgid "Maximum digest size that the hash function can output." -msgstr "" - -#: ../../library/hashlib.rst:508 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/hashlib.rst:511 -msgid "Simple hashing" -msgstr "" - -#: ../../library/hashlib.rst:513 -msgid "" -"To calculate hash of some data, you should first construct a hash object by " -"calling the appropriate constructor function (:func:`blake2b` or " -":func:`blake2s`), then update it with the data by calling " -":meth:`~hash.update` on the object, and, finally, get the digest out of the " -"object by calling :meth:`~hash.digest` (or :meth:`~hash.hexdigest` for hex-" -"encoded string)." -msgstr "" - -#: ../../library/hashlib.rst:526 -msgid "" -"As a shortcut, you can pass the first chunk of data to update directly to " -"the constructor as the positional argument:" -msgstr "" - -#: ../../library/hashlib.rst:533 -msgid "" -"You can call :meth:`hash.update` as many times as you need to iteratively " -"update the hash:" -msgstr "" - -#: ../../library/hashlib.rst:547 -msgid "Using different digest sizes" -msgstr "" - -#: ../../library/hashlib.rst:549 -msgid "" -"BLAKE2 has configurable size of digests up to 64 bytes for BLAKE2b and up to" -" 32 bytes for BLAKE2s. For example, to replace SHA-1 with BLAKE2b without " -"changing the size of output, we can tell BLAKE2b to produce 20-byte digests:" -msgstr "" - -#: ../../library/hashlib.rst:563 -msgid "" -"Hash objects with different digest sizes have completely different outputs " -"(shorter hashes are *not* prefixes of longer hashes); BLAKE2b and BLAKE2s " -"produce different outputs even if the output length is the same:" -msgstr "" - -#: ../../library/hashlib.rst:579 -msgid "Keyed hashing" -msgstr "" - -#: ../../library/hashlib.rst:581 -msgid "" -"Keyed hashing can be used for authentication as a faster and simpler " -"replacement for `Hash-based message authentication code " -"`_ (HMAC). BLAKE2 can be securely used " -"in prefix-MAC mode thanks to the indifferentiability property inherited from" -" BLAKE." -msgstr "" - -#: ../../library/hashlib.rst:587 -msgid "" -"This example shows how to get a (hex-encoded) 128-bit authentication code " -"for message ``b'message data'`` with key ``b'pseudorandom key'``::" -msgstr "" - -#: ../../library/hashlib.rst:590 -msgid "" -">>> from hashlib import blake2b\n" -">>> h = blake2b(key=b'pseudorandom key', digest_size=16)\n" -">>> h.update(b'message data')\n" -">>> h.hexdigest()\n" -"'3d363ff7401e02026f4a4687d4863ced'" -msgstr "" - -#: ../../library/hashlib.rst:597 -msgid "" -"As a practical example, a web application can symmetrically sign cookies " -"sent to users and later verify them to make sure they weren't tampered " -"with::" -msgstr "" - -#: ../../library/hashlib.rst:600 -msgid "" -">>> from hashlib import blake2b\n" -">>> from hmac import compare_digest\n" -">>>\n" -">>> SECRET_KEY = b'pseudorandomly generated server secret key'\n" -">>> AUTH_SIZE = 16\n" -">>>\n" -">>> def sign(cookie):\n" -"... h = blake2b(digest_size=AUTH_SIZE, key=SECRET_KEY)\n" -"... h.update(cookie)\n" -"... return h.hexdigest().encode('utf-8')\n" -">>>\n" -">>> def verify(cookie, sig):\n" -"... good_sig = sign(cookie)\n" -"... return compare_digest(good_sig, sig)\n" -">>>\n" -">>> cookie = b'user-alice'\n" -">>> sig = sign(cookie)\n" -">>> print(\"{0},{1}\".format(cookie.decode('utf-8'), sig))\n" -"user-alice,b'43b3c982cf697e0c5ab22172d1ca7421'\n" -">>> verify(cookie, sig)\n" -"True\n" -">>> verify(b'user-bob', sig)\n" -"False\n" -">>> verify(cookie, b'0102030405060708090a0b0c0d0e0f00')\n" -"False" -msgstr "" - -#: ../../library/hashlib.rst:626 -msgid "" -"Even though there's a native keyed hashing mode, BLAKE2 can, of course, be " -"used in HMAC construction with :mod:`hmac` module::" -msgstr "" - -#: ../../library/hashlib.rst:629 -msgid "" -">>> import hmac, hashlib\n" -">>> m = hmac.new(b'secret key', digestmod=hashlib.blake2s)\n" -">>> m.update(b'message')\n" -">>> m.hexdigest()\n" -"'e3c8102868d28b5ff85fc35dda07329970d1a01e273c37481326fe0c861c8142'" -msgstr "" - -#: ../../library/hashlib.rst:637 -msgid "Randomized hashing" -msgstr "" - -#: ../../library/hashlib.rst:639 -msgid "" -"By setting *salt* parameter users can introduce randomization to the hash " -"function. Randomized hashing is useful for protecting against collision " -"attacks on the hash function used in digital signatures." -msgstr "" - -#: ../../library/hashlib.rst:643 -msgid "" -"Randomized hashing is designed for situations where one party, the message " -"preparer, generates all or part of a message to be signed by a second party," -" the message signer. If the message preparer is able to find cryptographic " -"hash function collisions (i.e., two messages producing the same hash value)," -" then they might prepare meaningful versions of the message that would " -"produce the same hash value and digital signature, but with different " -"results (e.g., transferring $1,000,000 to an account, rather than $10). " -"Cryptographic hash functions have been designed with collision resistance as" -" a major goal, but the current concentration on attacking cryptographic hash" -" functions may result in a given cryptographic hash function providing less " -"collision resistance than expected. Randomized hashing offers the signer " -"additional protection by reducing the likelihood that a preparer can " -"generate two or more messages that ultimately yield the same hash value " -"during the digital signature generation process --- even if it is practical " -"to find collisions for the hash function. However, the use of randomized " -"hashing may reduce the amount of security provided by a digital signature " -"when all portions of the message are prepared by the signer." -msgstr "" - -#: ../../library/hashlib.rst:662 -msgid "" -"(`NIST SP-800-106 \"Randomized Hashing for Digital Signatures\" " -"`_)" -msgstr "" - -#: ../../library/hashlib.rst:665 -msgid "" -"In BLAKE2 the salt is processed as a one-time input to the hash function " -"during initialization, rather than as an input to each compression function." -msgstr "" - -#: ../../library/hashlib.rst:670 -msgid "" -"*Salted hashing* (or just hashing) with BLAKE2 or any other general-purpose " -"cryptographic hash function, such as SHA-256, is not suitable for hashing " -"passwords. See `BLAKE2 FAQ `_ for more " -"information." -msgstr "" - -#: ../../library/hashlib.rst:693 -msgid "Personalization" -msgstr "" - -#: ../../library/hashlib.rst:695 -msgid "" -"Sometimes it is useful to force hash function to produce different digests " -"for the same input for different purposes. Quoting the authors of the Skein " -"hash function:" -msgstr "" - -#: ../../library/hashlib.rst:699 -msgid "" -"We recommend that all application designers seriously consider doing this; " -"we have seen many protocols where a hash that is computed in one part of the" -" protocol can be used in an entirely different part because two hash " -"computations were done on similar or related data, and the attacker can " -"force the application to make the hash inputs the same. Personalizing each " -"hash function used in the protocol summarily stops this type of attack." -msgstr "" - -#: ../../library/hashlib.rst:706 -msgid "" -"(`The Skein Hash Function Family `_, p. 21)" -msgstr "" - -#: ../../library/hashlib.rst:710 -msgid "BLAKE2 can be personalized by passing bytes to the *person* argument::" -msgstr "" - -#: ../../library/hashlib.rst:712 -msgid "" -">>> from hashlib import blake2b\n" -">>> FILES_HASH_PERSON = b'MyApp Files Hash'\n" -">>> BLOCK_HASH_PERSON = b'MyApp Block Hash'\n" -">>> h = blake2b(digest_size=32, person=FILES_HASH_PERSON)\n" -">>> h.update(b'the same content')\n" -">>> h.hexdigest()\n" -"'20d9cd024d4fb086aae819a1432dd2466de12947831b75c5a30cf2676095d3b4'\n" -">>> h = blake2b(digest_size=32, person=BLOCK_HASH_PERSON)\n" -">>> h.update(b'the same content')\n" -">>> h.hexdigest()\n" -"'cf68fb5761b9c44e7878bfb2c4c9aea52264a80b75005e65619778de59f383a3'" -msgstr "" - -#: ../../library/hashlib.rst:724 -msgid "" -"Personalization together with the keyed mode can also be used to derive " -"different keys from a single one." -msgstr "" - -#: ../../library/hashlib.rst:738 -msgid "Tree mode" -msgstr "" - -#: ../../library/hashlib.rst:740 -msgid "Here's an example of hashing a minimal tree with two leaf nodes::" -msgstr "" - -#: ../../library/hashlib.rst:742 -msgid "" -" 10\n" -" / \\\n" -"00 01" -msgstr "" - -#: ../../library/hashlib.rst:746 -msgid "" -"This example uses 64-byte internal digests, and returns the 32-byte final " -"digest::" -msgstr "" - -#: ../../library/hashlib.rst:749 -msgid "" -">>> from hashlib import blake2b\n" -">>>\n" -">>> FANOUT = 2\n" -">>> DEPTH = 2\n" -">>> LEAF_SIZE = 4096\n" -">>> INNER_SIZE = 64\n" -">>>\n" -">>> buf = bytearray(6000)\n" -">>>\n" -">>> # Left leaf\n" -"... h00 = blake2b(buf[0:LEAF_SIZE], fanout=FANOUT, depth=DEPTH,\n" -"... leaf_size=LEAF_SIZE, inner_size=INNER_SIZE,\n" -"... node_offset=0, node_depth=0, last_node=False)\n" -">>> # Right leaf\n" -"... h01 = blake2b(buf[LEAF_SIZE:], fanout=FANOUT, depth=DEPTH,\n" -"... leaf_size=LEAF_SIZE, inner_size=INNER_SIZE,\n" -"... node_offset=1, node_depth=0, last_node=True)\n" -">>> # Root node\n" -"... h10 = blake2b(digest_size=32, fanout=FANOUT, depth=DEPTH,\n" -"... leaf_size=LEAF_SIZE, inner_size=INNER_SIZE,\n" -"... node_offset=0, node_depth=1, last_node=True)\n" -">>> h10.update(h00.digest())\n" -">>> h10.update(h01.digest())\n" -">>> h10.hexdigest()\n" -"'3ad2a9b37c6070e374c7a8c508fe20ca86b6ed54e286e93a0318e95e881db5aa'" -msgstr "" - -#: ../../library/hashlib.rst:776 -msgid "Credits" -msgstr "" - -#: ../../library/hashlib.rst:778 -msgid "" -"BLAKE2_ was designed by *Jean-Philippe Aumasson*, *Samuel Neves*, *Zooko " -"Wilcox-O'Hearn*, and *Christian Winnerlein* based on SHA-3_ finalist BLAKE_ " -"created by *Jean-Philippe Aumasson*, *Luca Henzen*, *Willi Meier*, and " -"*Raphael C.-W. Phan*." -msgstr "" - -#: ../../library/hashlib.rst:783 -msgid "" -"It uses core algorithm from ChaCha_ cipher designed by *Daniel J. " -"Bernstein*." -msgstr "" - -#: ../../library/hashlib.rst:785 -msgid "" -"The stdlib implementation is based on pyblake2_ module. It was written by " -"*Dmitry Chestnykh* based on C implementation written by *Samuel Neves*. The " -"documentation was copied from pyblake2_ and written by *Dmitry Chestnykh*." -msgstr "" - -#: ../../library/hashlib.rst:789 -msgid "The C code was partly rewritten for Python by *Christian Heimes*." -msgstr "" - -#: ../../library/hashlib.rst:791 -msgid "" -"The following public domain dedication applies for both C hash function " -"implementation, extension code, and this documentation:" -msgstr "" - -#: ../../library/hashlib.rst:794 -msgid "" -"To the extent possible under law, the author(s) have dedicated all copyright" -" and related and neighboring rights to this software to the public domain " -"worldwide. This software is distributed without any warranty." -msgstr "" - -#: ../../library/hashlib.rst:798 -msgid "" -"You should have received a copy of the CC0 Public Domain Dedication along " -"with this software. If not, see " -"https://creativecommons.org/publicdomain/zero/1.0/." -msgstr "" - -#: ../../library/hashlib.rst:802 -msgid "" -"The following people have helped with development or contributed their " -"changes to the project and the public domain according to the Creative " -"Commons Public Domain Dedication 1.0 Universal:" -msgstr "" - -#: ../../library/hashlib.rst:806 -msgid "*Alexandr Sokolovskiy*" -msgstr "" - -#: ../../library/hashlib.rst:827 -msgid "Module :mod:`hmac`" -msgstr "" - -#: ../../library/hashlib.rst:828 -msgid "A module to generate message authentication codes using hashes." -msgstr "" - -#: ../../library/hashlib.rst:830 -msgid "Module :mod:`base64`" -msgstr "" - -#: ../../library/hashlib.rst:831 -msgid "Another way to encode binary hashes for non-binary environments." -msgstr "" - -#: ../../library/hashlib.rst:833 -msgid "https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.180-4.pdf" -msgstr "" - -#: ../../library/hashlib.rst:834 -msgid "The FIPS 180-4 publication on Secure Hash Algorithms." -msgstr "" - -#: ../../library/hashlib.rst:836 -msgid "https://csrc.nist.gov/pubs/fips/202/final" -msgstr "" - -#: ../../library/hashlib.rst:837 -msgid "The FIPS 202 publication on the SHA-3 Standard." -msgstr "" - -#: ../../library/hashlib.rst:839 -msgid "https://www.blake2.net/" -msgstr "" - -#: ../../library/hashlib.rst:840 -msgid "Official BLAKE2 website." -msgstr "" - -#: ../../library/hashlib.rst:842 -msgid "https://en.wikipedia.org/wiki/Cryptographic_hash_function" -msgstr "" - -#: ../../library/hashlib.rst:843 -msgid "" -"Wikipedia article with information on which algorithms have known issues and" -" what that means regarding their use." -msgstr "" - -#: ../../library/hashlib.rst:846 -msgid "https://www.ietf.org/rfc/rfc8018.txt" -msgstr "" - -#: ../../library/hashlib.rst:847 -msgid "PKCS #5: Password-Based Cryptography Specification Version 2.1" -msgstr "" - -#: ../../library/hashlib.rst:849 -msgid "" -"https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf" -msgstr "" - -#: ../../library/hashlib.rst:850 -msgid "NIST Recommendation for Password-Based Key Derivation." -msgstr "" - -#: ../../library/hashlib.rst:12 -msgid "message digest, MD5" -msgstr "" - -#: ../../library/hashlib.rst:12 -msgid "" -"secure hash algorithm, SHA1, SHA2, SHA224, SHA256, SHA384, SHA512, SHA3, " -"Shake, Blake2" -msgstr "" - -#: ../../library/hashlib.rst:53 -msgid "OpenSSL" -msgstr "OpenSSL" - -#: ../../library/hashlib.rst:53 -msgid "(use in module hashlib)" -msgstr "" - -#: ../../library/hashlib.rst:377 -msgid "blake2b, blake2s" -msgstr "" diff --git a/python-newest.library--heapq/id.po b/python-newest.library--heapq/id.po deleted file mode 100644 index ab3152d..0000000 --- a/python-newest.library--heapq/id.po +++ /dev/null @@ -1,539 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/heapq.rst:2 -msgid ":mod:`!heapq` --- Heap queue algorithm" -msgstr "" - -#: ../../library/heapq.rst:12 -msgid "**Source code:** :source:`Lib/heapq.py`" -msgstr "" - -#: ../../library/heapq.rst:16 -msgid "" -"This module provides an implementation of the heap queue algorithm, also " -"known as the priority queue algorithm." -msgstr "" - -#: ../../library/heapq.rst:19 -msgid "" -"Min-heaps are binary trees for which every parent node has a value less than" -" or equal to any of its children. We refer to this condition as the heap " -"invariant." -msgstr "" - -#: ../../library/heapq.rst:23 -msgid "" -"For min-heaps, this implementation uses lists for which ``heap[k] <= " -"heap[2*k+1]`` and ``heap[k] <= heap[2*k+2]`` for all *k* for which the " -"compared elements exist. Elements are counted from zero. The interesting " -"property of a min-heap is that its smallest element is always the root, " -"``heap[0]``." -msgstr "" - -#: ../../library/heapq.rst:29 -msgid "" -"Max-heaps satisfy the reverse invariant: every parent node has a value " -"*greater* than any of its children. These are implemented as lists for " -"which ``maxheap[2*k+1] <= maxheap[k]`` and ``maxheap[2*k+2] <= maxheap[k]`` " -"for all *k* for which the compared elements exist. The root, ``maxheap[0]``," -" contains the *largest* element; ``heap.sort(reverse=True)`` maintains the " -"max-heap invariant." -msgstr "" - -#: ../../library/heapq.rst:36 -msgid "" -"The :mod:`!heapq` API differs from textbook heap algorithms in two aspects: " -"(a) We use zero-based indexing. This makes the relationship between the " -"index for a node and the indexes for its children slightly less obvious, but" -" is more suitable since Python uses zero-based indexing. (b) Textbooks often" -" focus on max-heaps, due to their suitability for in-place sorting. Our " -"implementation favors min-heaps as they better correspond to Python " -":class:`lists `." -msgstr "" - -#: ../../library/heapq.rst:43 -msgid "" -"These two aspects make it possible to view the heap as a regular Python list" -" without surprises: ``heap[0]`` is the smallest item, and ``heap.sort()`` " -"maintains the heap invariant!" -msgstr "" - -#: ../../library/heapq.rst:47 -msgid "" -"Like :meth:`list.sort`, this implementation uses only the ``<`` operator for" -" comparisons, for both min-heaps and max-heaps." -msgstr "" - -#: ../../library/heapq.rst:50 -msgid "" -"In the API below, and in this documentation, the unqualified term *heap* " -"generally refers to a min-heap. The API for max-heaps is named using a " -"``_max`` suffix." -msgstr "" - -#: ../../library/heapq.rst:54 -msgid "" -"To create a heap, use a list initialized as ``[]``, or transform an existing" -" list into a min-heap or max-heap using the :func:`heapify` or " -":func:`heapify_max` functions, respectively." -msgstr "" - -#: ../../library/heapq.rst:58 -msgid "The following functions are provided for min-heaps:" -msgstr "" - -#: ../../library/heapq.rst:63 -msgid "" -"Push the value *item* onto the *heap*, maintaining the min-heap invariant." -msgstr "" - -#: ../../library/heapq.rst:68 -msgid "" -"Pop and return the smallest item from the *heap*, maintaining the min-heap " -"invariant. If the heap is empty, :exc:`IndexError` is raised. To access " -"the smallest item without popping it, use ``heap[0]``." -msgstr "" - -#: ../../library/heapq.rst:75 -msgid "" -"Push *item* on the heap, then pop and return the smallest item from the " -"*heap*. The combined action runs more efficiently than :func:`heappush` " -"followed by a separate call to :func:`heappop`." -msgstr "" - -#: ../../library/heapq.rst:82 -msgid "Transform list *x* into a min-heap, in-place, in linear time." -msgstr "" - -#: ../../library/heapq.rst:87 -msgid "" -"Pop and return the smallest item from the *heap*, and also push the new " -"*item*. The heap size doesn't change. If the heap is empty, " -":exc:`IndexError` is raised." -msgstr "" - -#: ../../library/heapq.rst:90 -msgid "" -"This one step operation is more efficient than a :func:`heappop` followed by" -" :func:`heappush` and can be more appropriate when using a fixed-size heap. " -"The pop/push combination always returns an element from the heap and " -"replaces it with *item*." -msgstr "" - -#: ../../library/heapq.rst:95 -msgid "" -"The value returned may be larger than the *item* added. If that isn't " -"desired, consider using :func:`heappushpop` instead. Its push/pop " -"combination returns the smaller of the two values, leaving the larger value " -"on the heap." -msgstr "" - -#: ../../library/heapq.rst:101 -msgid "For max-heaps, the following functions are provided:" -msgstr "" - -#: ../../library/heapq.rst:106 -msgid "Transform list *x* into a max-heap, in-place, in linear time." -msgstr "" - -#: ../../library/heapq.rst:113 -msgid "" -"Push the value *item* onto the max-heap *heap*, maintaining the max-heap " -"invariant." -msgstr "" - -#: ../../library/heapq.rst:121 -msgid "" -"Pop and return the largest item from the max-heap *heap*, maintaining the " -"max-heap invariant. If the max-heap is empty, :exc:`IndexError` is raised. " -"To access the largest item without popping it, use ``maxheap[0]``." -msgstr "" - -#: ../../library/heapq.rst:130 -msgid "" -"Push *item* on the max-heap *heap*, then pop and return the largest item " -"from *heap*. The combined action runs more efficiently than " -":func:`heappush_max` followed by a separate call to :func:`heappop_max`." -msgstr "" - -#: ../../library/heapq.rst:140 -msgid "" -"Pop and return the largest item from the max-heap *heap* and also push the " -"new *item*. The max-heap size doesn't change. If the max-heap is empty, " -":exc:`IndexError` is raised." -msgstr "" - -#: ../../library/heapq.rst:145 -msgid "" -"The value returned may be smaller than the *item* added. Refer to the " -"analogous function :func:`heapreplace` for detailed usage notes." -msgstr "" - -#: ../../library/heapq.rst:151 -msgid "The module also offers three general purpose functions based on heaps." -msgstr "" - -#: ../../library/heapq.rst:156 -msgid "" -"Merge multiple sorted inputs into a single sorted output (for example, merge" -" timestamped entries from multiple log files). Returns an :term:`iterator` " -"over the sorted values." -msgstr "" - -#: ../../library/heapq.rst:160 -msgid "" -"Similar to ``sorted(itertools.chain(*iterables))`` but returns an iterable, " -"does not pull the data into memory all at once, and assumes that each of the" -" input streams is already sorted (smallest to largest)." -msgstr "" - -#: ../../library/heapq.rst:164 -msgid "" -"Has two optional arguments which must be specified as keyword arguments." -msgstr "" -"Memiliki dua argumen opsional yang harus ditentukan sebagai argumen kata " -"kunci." - -#: ../../library/heapq.rst:166 -msgid "" -"*key* specifies a :term:`key function` of one argument that is used to " -"extract a comparison key from each input element. The default value is " -"``None`` (compare the elements directly)." -msgstr "" - -#: ../../library/heapq.rst:170 -msgid "" -"*reverse* is a boolean value. If set to ``True``, then the input elements " -"are merged as if each comparison were reversed. To achieve behavior similar " -"to ``sorted(itertools.chain(*iterables), reverse=True)``, all iterables must" -" be sorted from largest to smallest." -msgstr "" - -#: ../../library/heapq.rst:175 -msgid "Added the optional *key* and *reverse* parameters." -msgstr "" - -#: ../../library/heapq.rst:181 -msgid "" -"Return a list with the *n* largest elements from the dataset defined by " -"*iterable*. *key*, if provided, specifies a function of one argument that " -"is used to extract a comparison key from each element in *iterable* (for " -"example, ``key=str.lower``). Equivalent to: ``sorted(iterable, key=key, " -"reverse=True)[:n]``." -msgstr "" - -#: ../../library/heapq.rst:190 -msgid "" -"Return a list with the *n* smallest elements from the dataset defined by " -"*iterable*. *key*, if provided, specifies a function of one argument that " -"is used to extract a comparison key from each element in *iterable* (for " -"example, ``key=str.lower``). Equivalent to: ``sorted(iterable, " -"key=key)[:n]``." -msgstr "" - -#: ../../library/heapq.rst:196 -msgid "" -"The latter two functions perform best for smaller values of *n*. For larger" -" values, it is more efficient to use the :func:`sorted` function. Also, " -"when ``n==1``, it is more efficient to use the built-in :func:`min` and " -":func:`max` functions. If repeated usage of these functions is required, " -"consider turning the iterable into an actual heap." -msgstr "" - -#: ../../library/heapq.rst:204 -msgid "Basic Examples" -msgstr "" - -#: ../../library/heapq.rst:206 -msgid "" -"A `heapsort `_ can be implemented by" -" pushing all values onto a heap and then popping off the smallest values one" -" at a time::" -msgstr "" - -#: ../../library/heapq.rst:210 -msgid "" -">>> def heapsort(iterable):\n" -"... h = []\n" -"... for value in iterable:\n" -"... heappush(h, value)\n" -"... return [heappop(h) for i in range(len(h))]\n" -"...\n" -">>> heapsort([1, 3, 5, 7, 9, 2, 4, 6, 8, 0])\n" -"[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]" -msgstr "" - -#: ../../library/heapq.rst:219 -msgid "" -"This is similar to ``sorted(iterable)``, but unlike :func:`sorted`, this " -"implementation is not stable." -msgstr "" - -#: ../../library/heapq.rst:222 -msgid "" -"Heap elements can be tuples. This is useful for assigning comparison values" -" (such as task priorities) alongside the main record being tracked::" -msgstr "" - -#: ../../library/heapq.rst:225 -msgid "" -">>> h = []\n" -">>> heappush(h, (5, 'write code'))\n" -">>> heappush(h, (7, 'release product'))\n" -">>> heappush(h, (1, 'write spec'))\n" -">>> heappush(h, (3, 'create tests'))\n" -">>> heappop(h)\n" -"(1, 'write spec')" -msgstr "" - -#: ../../library/heapq.rst:235 -msgid "Priority Queue Implementation Notes" -msgstr "" - -#: ../../library/heapq.rst:237 -msgid "" -"A `priority queue `_ is common" -" use for a heap, and it presents several implementation challenges:" -msgstr "" - -#: ../../library/heapq.rst:240 -msgid "" -"Sort stability: how do you get two tasks with equal priorities to be " -"returned in the order they were originally added?" -msgstr "" - -#: ../../library/heapq.rst:243 -msgid "" -"Tuple comparison breaks for (priority, task) pairs if the priorities are " -"equal and the tasks do not have a default comparison order." -msgstr "" - -#: ../../library/heapq.rst:246 -msgid "" -"If the priority of a task changes, how do you move it to a new position in " -"the heap?" -msgstr "" - -#: ../../library/heapq.rst:249 -msgid "" -"Or if a pending task needs to be deleted, how do you find it and remove it " -"from the queue?" -msgstr "" - -#: ../../library/heapq.rst:252 -msgid "" -"A solution to the first two challenges is to store entries as 3-element list" -" including the priority, an entry count, and the task. The entry count " -"serves as a tie-breaker so that two tasks with the same priority are " -"returned in the order they were added. And since no two entry counts are the" -" same, the tuple comparison will never attempt to directly compare two " -"tasks." -msgstr "" - -#: ../../library/heapq.rst:258 -msgid "" -"Another solution to the problem of non-comparable tasks is to create a " -"wrapper class that ignores the task item and only compares the priority " -"field::" -msgstr "" - -#: ../../library/heapq.rst:261 -msgid "" -"from dataclasses import dataclass, field\n" -"from typing import Any\n" -"\n" -"@dataclass(order=True)\n" -"class PrioritizedItem:\n" -" priority: int\n" -" item: Any=field(compare=False)" -msgstr "" - -#: ../../library/heapq.rst:269 -msgid "" -"The remaining challenges revolve around finding a pending task and making " -"changes to its priority or removing it entirely. Finding a task can be done" -" with a dictionary pointing to an entry in the queue." -msgstr "" - -#: ../../library/heapq.rst:273 -msgid "" -"Removing the entry or changing its priority is more difficult because it " -"would break the heap structure invariants. So, a possible solution is to " -"mark the entry as removed and add a new entry with the revised priority::" -msgstr "" - -#: ../../library/heapq.rst:277 -msgid "" -"pq = [] # list of entries arranged in a heap\n" -"entry_finder = {} # mapping of tasks to entries\n" -"REMOVED = '' # placeholder for a removed task\n" -"counter = itertools.count() # unique sequence count\n" -"\n" -"def add_task(task, priority=0):\n" -" 'Add a new task or update the priority of an existing task'\n" -" if task in entry_finder:\n" -" remove_task(task)\n" -" count = next(counter)\n" -" entry = [priority, count, task]\n" -" entry_finder[task] = entry\n" -" heappush(pq, entry)\n" -"\n" -"def remove_task(task):\n" -" 'Mark an existing task as REMOVED. Raise KeyError if not found.'\n" -" entry = entry_finder.pop(task)\n" -" entry[-1] = REMOVED\n" -"\n" -"def pop_task():\n" -" 'Remove and return the lowest priority task. Raise KeyError if empty.'\n" -" while pq:\n" -" priority, count, task = heappop(pq)\n" -" if task is not REMOVED:\n" -" del entry_finder[task]\n" -" return task\n" -" raise KeyError('pop from an empty priority queue')" -msgstr "" - -#: ../../library/heapq.rst:307 -msgid "Theory" -msgstr "" - -#: ../../library/heapq.rst:309 -msgid "" -"Heaps are arrays for which ``a[k] <= a[2*k+1]`` and ``a[k] <= a[2*k+2]`` for" -" all *k*, counting elements from 0. For the sake of comparison, non-" -"existing elements are considered to be infinite. The interesting property " -"of a heap is that ``a[0]`` is always its smallest element." -msgstr "" - -#: ../../library/heapq.rst:314 -msgid "" -"The strange invariant above is meant to be an efficient memory " -"representation for a tournament. The numbers below are *k*, not ``a[k]``::" -msgstr "" - -#: ../../library/heapq.rst:317 -msgid "" -" 0\n" -"\n" -" 1 2\n" -"\n" -" 3 4 5 6\n" -"\n" -" 7 8 9 10 11 12 13 14\n" -"\n" -"15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30" -msgstr "" - -#: ../../library/heapq.rst:327 -msgid "" -"In the tree above, each cell *k* is topping ``2*k+1`` and ``2*k+2``. In a " -"usual binary tournament we see in sports, each cell is the winner over the " -"two cells it tops, and we can trace the winner down the tree to see all " -"opponents s/he had. However, in many computer applications of such " -"tournaments, we do not need to trace the history of a winner. To be more " -"memory efficient, when a winner is promoted, we try to replace it by " -"something else at a lower level, and the rule becomes that a cell and the " -"two cells it tops contain three different items, but the top cell \"wins\" " -"over the two topped cells." -msgstr "" - -#: ../../library/heapq.rst:336 -msgid "" -"If this heap invariant is protected at all time, index 0 is clearly the " -"overall winner. The simplest algorithmic way to remove it and find the " -"\"next\" winner is to move some loser (let's say cell 30 in the diagram " -"above) into the 0 position, and then percolate this new 0 down the tree, " -"exchanging values, until the invariant is re-established. This is clearly " -"logarithmic on the total number of items in the tree. By iterating over all " -"items, you get an *O*\\ (*n* log *n*) sort." -msgstr "" - -#: ../../library/heapq.rst:343 -msgid "" -"A nice feature of this sort is that you can efficiently insert new items " -"while the sort is going on, provided that the inserted items are not " -"\"better\" than the last 0'th element you extracted. This is especially " -"useful in simulation contexts, where the tree holds all incoming events, and" -" the \"win\" condition means the smallest scheduled time. When an event " -"schedules other events for execution, they are scheduled into the future, so" -" they can easily go into the heap. So, a heap is a good structure for " -"implementing schedulers (this is what I used for my MIDI sequencer :-)." -msgstr "" - -#: ../../library/heapq.rst:352 -msgid "" -"Various structures for implementing schedulers have been extensively " -"studied, and heaps are good for this, as they are reasonably speedy, the " -"speed is almost constant, and the worst case is not much different than the " -"average case. However, there are other representations which are more " -"efficient overall, yet the worst cases might be terrible." -msgstr "" - -#: ../../library/heapq.rst:358 -msgid "" -"Heaps are also very useful in big disk sorts. You most probably all know " -"that a big sort implies producing \"runs\" (which are pre-sorted sequences, " -"whose size is usually related to the amount of CPU memory), followed by a " -"merging passes for these runs, which merging is often very cleverly " -"organised [#]_. It is very important that the initial sort produces the " -"longest runs possible. Tournaments are a good way to achieve that. If, " -"using all the memory available to hold a tournament, you replace and " -"percolate items that happen to fit the current run, you'll produce runs " -"which are twice the size of the memory for random input, and much better for" -" input fuzzily ordered." -msgstr "" - -#: ../../library/heapq.rst:368 -msgid "" -"Moreover, if you output the 0'th item on disk and get an input which may not" -" fit in the current tournament (because the value \"wins\" over the last " -"output value), it cannot fit in the heap, so the size of the heap decreases." -" The freed memory could be cleverly reused immediately for progressively " -"building a second heap, which grows at exactly the same rate the first heap " -"is melting. When the first heap completely vanishes, you switch heaps and " -"start a new run. Clever and quite effective!" -msgstr "" - -#: ../../library/heapq.rst:376 -msgid "" -"In a word, heaps are useful memory structures to know. I use them in a few " -"applications, and I think it is good to keep a 'heap' module around. :-)" -msgstr "" - -#: ../../library/heapq.rst:380 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/heapq.rst:381 -msgid "" -"The disk balancing algorithms which are current, nowadays, are more annoying" -" than clever, and this is a consequence of the seeking capabilities of the " -"disks. On devices which cannot seek, like big tape drives, the story was " -"quite different, and one had to be very clever to ensure (far in advance) " -"that each tape movement will be the most effective possible (that is, will " -"best participate at \"progressing\" the merge). Some tapes were even able " -"to read backwards, and this was also used to avoid the rewinding time. " -"Believe me, real good tape sorts were quite spectacular to watch! From all " -"times, sorting has always been a Great Art! :-)" -msgstr "" diff --git a/python-newest.library--hmac/id.po b/python-newest.library--hmac/id.po deleted file mode 100644 index f154f0d..0000000 --- a/python-newest.library--hmac/id.po +++ /dev/null @@ -1,176 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/hmac.rst:2 -msgid ":mod:`!hmac` --- Keyed-Hashing for Message Authentication" -msgstr "" - -#: ../../library/hmac.rst:10 -msgid "**Source code:** :source:`Lib/hmac.py`" -msgstr "" - -#: ../../library/hmac.rst:14 -msgid "This module implements the HMAC algorithm as described by :rfc:`2104`." -msgstr "" - -#: ../../library/hmac.rst:19 -msgid "" -"Return a new hmac object. *key* is a bytes or bytearray object giving the " -"secret key. If *msg* is present, the method call ``update(msg)`` is made. " -"*digestmod* is the digest name, digest constructor or module for the HMAC " -"object to use. It may be any name suitable to :func:`hashlib.new`. Despite " -"its argument position, it is required." -msgstr "" - -#: ../../library/hmac.rst:25 -msgid "" -"Parameter *key* can be a bytes or bytearray object. Parameter *msg* can be " -"of any type supported by :mod:`hashlib`. Parameter *digestmod* can be the " -"name of a hash algorithm." -msgstr "" - -#: ../../library/hmac.rst:30 -msgid "" -"The *digestmod* argument is now required. Pass it as a keyword argument to " -"avoid awkwardness when you do not have an initial *msg*." -msgstr "" - -#: ../../library/hmac.rst:37 -msgid "" -"Return digest of *msg* for given secret *key* and *digest*. The function is " -"equivalent to ``HMAC(key, msg, digest).digest()``, but uses an optimized C " -"or inline implementation, which is faster for messages that fit into memory." -" The parameters *key*, *msg*, and *digest* have the same meaning as in " -":func:`~hmac.new`." -msgstr "" - -#: ../../library/hmac.rst:43 -msgid "" -"CPython implementation detail, the optimized C implementation is only used " -"when *digest* is a string and name of a digest algorithm, which is supported" -" by OpenSSL." -msgstr "" - -#: ../../library/hmac.rst:50 -msgid "An HMAC object has the following methods:" -msgstr "" - -#: ../../library/hmac.rst:54 -msgid "" -"Update the hmac object with *msg*. Repeated calls are equivalent to a " -"single call with the concatenation of all the arguments: ``m.update(a); " -"m.update(b)`` is equivalent to ``m.update(a + b)``." -msgstr "" - -#: ../../library/hmac.rst:58 -msgid "Parameter *msg* can be of any type supported by :mod:`hashlib`." -msgstr "" - -#: ../../library/hmac.rst:64 -msgid "" -"Return the digest of the bytes passed to the :meth:`update` method so far. " -"This bytes object will be the same length as the *digest_size* of the digest" -" given to the constructor. It may contain non-ASCII bytes, including NUL " -"bytes." -msgstr "" - -#: ../../library/hmac.rst:71 -msgid "" -"When comparing the output of :meth:`digest` to an externally supplied digest" -" during a verification routine, it is recommended to use the " -":func:`compare_digest` function instead of the ``==`` operator to reduce the" -" vulnerability to timing attacks." -msgstr "" - -#: ../../library/hmac.rst:79 -msgid "" -"Like :meth:`digest` except the digest is returned as a string twice the " -"length containing only hexadecimal digits. This may be used to exchange the" -" value safely in email or other non-binary environments." -msgstr "" - -#: ../../library/hmac.rst:85 -msgid "" -"When comparing the output of :meth:`hexdigest` to an externally supplied " -"digest during a verification routine, it is recommended to use the " -":func:`compare_digest` function instead of the ``==`` operator to reduce the" -" vulnerability to timing attacks." -msgstr "" - -#: ../../library/hmac.rst:93 -msgid "" -"Return a copy (\"clone\") of the hmac object. This can be used to " -"efficiently compute the digests of strings that share a common initial " -"substring." -msgstr "" - -#: ../../library/hmac.rst:97 -msgid "A hash object has the following attributes:" -msgstr "" - -#: ../../library/hmac.rst:101 -msgid "The size of the resulting HMAC digest in bytes." -msgstr "" - -#: ../../library/hmac.rst:105 -msgid "The internal block size of the hash algorithm in bytes." -msgstr "" - -#: ../../library/hmac.rst:111 -msgid "The canonical name of this HMAC, always lowercase, e.g. ``hmac-md5``." -msgstr "" - -#: ../../library/hmac.rst:116 -msgid "" -"Removed the undocumented attributes ``HMAC.digest_cons``, ``HMAC.inner``, " -"and ``HMAC.outer``." -msgstr "" - -#: ../../library/hmac.rst:120 -msgid "This module also provides the following helper function:" -msgstr "" - -#: ../../library/hmac.rst:124 -msgid "" -"Return ``a == b``. This function uses an approach designed to prevent " -"timing analysis by avoiding content-based short circuiting behaviour, making" -" it appropriate for cryptography. *a* and *b* must both be of the same " -"type: either :class:`str` (ASCII only, as e.g. returned by " -":meth:`HMAC.hexdigest`), or a :term:`bytes-like object`." -msgstr "" - -#: ../../library/hmac.rst:132 -msgid "" -"If *a* and *b* are of different lengths, or if an error occurs, a timing " -"attack could theoretically reveal information about the types and lengths of" -" *a* and *b*—but not their values." -msgstr "" - -#: ../../library/hmac.rst:140 -msgid "" -"The function uses OpenSSL's ``CRYPTO_memcmp()`` internally when available." -msgstr "" - -#: ../../library/hmac.rst:146 -msgid "Module :mod:`hashlib`" -msgstr "" - -#: ../../library/hmac.rst:147 -msgid "The Python module providing secure hash functions." -msgstr "" diff --git a/python-newest.library--html/id.po b/python-newest.library--html/id.po deleted file mode 100644 index 3f4e26a..0000000 --- a/python-newest.library--html/id.po +++ /dev/null @@ -1,66 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/html.rst:2 -msgid ":mod:`!html` --- HyperText Markup Language support" -msgstr "" - -#: ../../library/html.rst:7 -msgid "**Source code:** :source:`Lib/html/__init__.py`" -msgstr "**Kode sumber:** :source:`Lib/html/__init__.py`" - -#: ../../library/html.rst:11 -msgid "This module defines utilities to manipulate HTML." -msgstr "Modul ini mendefinisikan utilitas untuk memanipulasi HTML." - -#: ../../library/html.rst:15 -msgid "" -"Convert the characters ``&``, ``<`` and ``>`` in string *s* to HTML-safe " -"sequences. Use this if you need to display text that might contain such " -"characters in HTML. If the optional flag *quote* is true, the characters " -"(``\"``) and (``'``) are also translated; this helps for inclusion in an " -"HTML attribute value delimited by quotes, as in ````." -msgstr "" - -#: ../../library/html.rst:26 -msgid "" -"Convert all named and numeric character references (e.g. ``>``, " -"``>``, ``>``) in the string *s* to the corresponding Unicode " -"characters. This function uses the rules defined by the HTML 5 standard for" -" both valid and invalid character references, and the :data:`list of HTML 5 " -"named character references `." -msgstr "" - -#: ../../library/html.rst:36 -msgid "Submodules in the ``html`` package are:" -msgstr "Submodul dalam paket ``html`` adalah:" - -#: ../../library/html.rst:38 -msgid ":mod:`html.parser` -- HTML/XHTML parser with lenient parsing mode" -msgstr "" -":mod:`html.parser` -- HTML/XHTML parser dengan mode penguraian yang " -"fleksibel" - -#: ../../library/html.rst:39 -msgid ":mod:`html.entities` -- HTML entity definitions" -msgstr ":mod:`html.entities` -- definisi entitas HTML" diff --git a/python-newest.library--html_entities/id.po b/python-newest.library--html_entities/id.po deleted file mode 100644 index b71275a..0000000 --- a/python-newest.library--html_entities/id.po +++ /dev/null @@ -1,80 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/html.entities.rst:2 -msgid ":mod:`!html.entities` --- Definitions of HTML general entities" -msgstr "" - -#: ../../library/html.entities.rst:9 -msgid "**Source code:** :source:`Lib/html/entities.py`" -msgstr "**Source code:** :source:`Lib/html/entitas.py`" - -#: ../../library/html.entities.rst:13 -msgid "" -"This module defines four dictionaries, :data:`html5`, " -":data:`name2codepoint`, :data:`codepoint2name`, and :data:`entitydefs`." -msgstr "" -"Modul ini mendefinisikan empat kamus, :data:`html5`, :data:`name2codepoint`," -" :data:`codepoint2name`, dan :data:` entitydefs`." - -#: ../../library/html.entities.rst:19 -msgid "" -"A dictionary that maps HTML5 named character references [#]_ to the " -"equivalent Unicode character(s), e.g. ``html5['gt;'] == '>'``. Note that the" -" trailing semicolon is included in the name (e.g. ``'gt;'``), however some " -"of the names are accepted by the standard even without the semicolon: in " -"this case the name is present with and without the ``';'``. See also " -":func:`html.unescape`." -msgstr "" -"Kamus *dictionary* yang memetakan referensi karakter bernama di HTML5 [#]_ " -"ke karakter(-karakter) Unicode yang setara, mis. ``html5['gt;'] == '>'``. " -"Perhatikan bahwa tanda titik koma dimasukkan dalam nama (mis. ``'gt;'``), " -"namun beberapa nama diterima oleh standar bahkan tanpa tanda titik koma: " -"dalam hal ini nama hadir dengan dan tanpa ``';'``. Lihat juga " -":func:`html.unescape`." - -#: ../../library/html.entities.rst:31 -msgid "" -"A dictionary mapping XHTML 1.0 entity definitions to their replacement text " -"in ISO Latin-1." -msgstr "" -"Kamus *dictionary* memetakan definisi entitas XHTML 1.0 untuk teks pengganti" -" mereka dalam ISO Latin-1." - -#: ../../library/html.entities.rst:37 -msgid "A dictionary that maps HTML4 entity names to the Unicode code points." -msgstr "" - -#: ../../library/html.entities.rst:42 -msgid "A dictionary that maps Unicode code points to HTML4 entity names." -msgstr "" - -#: ../../library/html.entities.rst:46 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/html.entities.rst:47 -msgid "" -"See https://html.spec.whatwg.org/multipage/named-characters.html#named-" -"character-references" -msgstr "" diff --git a/python-newest.library--html_parser/id.po b/python-newest.library--html_parser/id.po deleted file mode 100644 index b6df261..0000000 --- a/python-newest.library--html_parser/id.po +++ /dev/null @@ -1,470 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-08 03:57+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/html.parser.rst:2 -msgid ":mod:`!html.parser` --- Simple HTML and XHTML parser" -msgstr "" - -#: ../../library/html.parser.rst:7 -msgid "**Source code:** :source:`Lib/html/parser.py`" -msgstr "" - -#: ../../library/html.parser.rst:15 -msgid "" -"This module defines a class :class:`HTMLParser` which serves as the basis " -"for parsing text files formatted in HTML (HyperText Mark-up Language) and " -"XHTML." -msgstr "" - -#: ../../library/html.parser.rst:20 -msgid "Create a parser instance able to parse invalid markup." -msgstr "" - -#: ../../library/html.parser.rst:22 -msgid "" -"If *convert_charrefs* is ``True`` (the default), all character references " -"(except the ones in ``script``/``style`` elements) are automatically " -"converted to the corresponding Unicode characters." -msgstr "" - -#: ../../library/html.parser.rst:26 -msgid "" -"An :class:`.HTMLParser` instance is fed HTML data and calls handler methods " -"when start tags, end tags, text, comments, and other markup elements are " -"encountered. The user should subclass :class:`.HTMLParser` and override its" -" methods to implement the desired behavior." -msgstr "" - -#: ../../library/html.parser.rst:31 -msgid "" -"This parser does not check that end tags match start tags or call the end-" -"tag handler for elements which are closed implicitly by closing an outer " -"element." -msgstr "" - -#: ../../library/html.parser.rst:34 -msgid "*convert_charrefs* keyword argument added." -msgstr "" - -#: ../../library/html.parser.rst:37 -msgid "The default value for argument *convert_charrefs* is now ``True``." -msgstr "" - -#: ../../library/html.parser.rst:42 -msgid "Example HTML Parser Application" -msgstr "" - -#: ../../library/html.parser.rst:44 -msgid "" -"As a basic example, below is a simple HTML parser that uses the " -":class:`HTMLParser` class to print out start tags, end tags, and data as " -"they are encountered:" -msgstr "" - -#: ../../library/html.parser.rst:48 -msgid "" -"from html.parser import HTMLParser\n" -"\n" -"class MyHTMLParser(HTMLParser):\n" -" def handle_starttag(self, tag, attrs):\n" -" print(\"Encountered a start tag:\", tag)\n" -"\n" -" def handle_endtag(self, tag):\n" -" print(\"Encountered an end tag :\", tag)\n" -"\n" -" def handle_data(self, data):\n" -" print(\"Encountered some data :\", data)\n" -"\n" -"parser = MyHTMLParser()\n" -"parser.feed('Test'\n" -" '

Parse me!

')" -msgstr "" - -#: ../../library/html.parser.rst:66 -msgid "The output will then be:" -msgstr "" - -#: ../../library/html.parser.rst:68 -msgid "" -"Encountered a start tag: html\n" -"Encountered a start tag: head\n" -"Encountered a start tag: title\n" -"Encountered some data : Test\n" -"Encountered an end tag : title\n" -"Encountered an end tag : head\n" -"Encountered a start tag: body\n" -"Encountered a start tag: h1\n" -"Encountered some data : Parse me!\n" -"Encountered an end tag : h1\n" -"Encountered an end tag : body\n" -"Encountered an end tag : html" -msgstr "" - -#: ../../library/html.parser.rst:85 -msgid ":class:`.HTMLParser` Methods" -msgstr "" - -#: ../../library/html.parser.rst:87 -msgid ":class:`HTMLParser` instances have the following methods:" -msgstr "" - -#: ../../library/html.parser.rst:92 -msgid "" -"Feed some text to the parser. It is processed insofar as it consists of " -"complete elements; incomplete data is buffered until more data is fed or " -":meth:`close` is called. *data* must be :class:`str`." -msgstr "" - -#: ../../library/html.parser.rst:99 -msgid "" -"Force processing of all buffered data as if it were followed by an end-of-" -"file mark. This method may be redefined by a derived class to define " -"additional processing at the end of the input, but the redefined version " -"should always call the :class:`HTMLParser` base class method :meth:`close`." -msgstr "" - -#: ../../library/html.parser.rst:107 -msgid "" -"Reset the instance. Loses all unprocessed data. This is called implicitly " -"at instantiation time." -msgstr "" - -#: ../../library/html.parser.rst:113 -msgid "Return current line number and offset." -msgstr "" - -#: ../../library/html.parser.rst:118 -msgid "" -"Return the text of the most recently opened start tag. This should not " -"normally be needed for structured processing, but may be useful in dealing " -"with HTML \"as deployed\" or for re-generating input with minimal changes " -"(whitespace between attributes can be preserved, etc.)." -msgstr "" - -#: ../../library/html.parser.rst:124 -msgid "" -"The following methods are called when data or markup elements are " -"encountered and they are meant to be overridden in a subclass. The base " -"class implementations do nothing (except for " -":meth:`~HTMLParser.handle_startendtag`):" -msgstr "" - -#: ../../library/html.parser.rst:131 -msgid "" -"This method is called to handle the start tag of an element (e.g. ``
``)." -msgstr "" - -#: ../../library/html.parser.rst:133 -msgid "" -"The *tag* argument is the name of the tag converted to lower case. The " -"*attrs* argument is a list of ``(name, value)`` pairs containing the " -"attributes found inside the tag's ``<>`` brackets. The *name* will be " -"translated to lower case, and quotes in the *value* have been removed, and " -"character and entity references have been replaced." -msgstr "" - -#: ../../library/html.parser.rst:139 -msgid "" -"For instance, for the tag ````, this method " -"would be called as ``handle_starttag('a', [('href', " -"'https://www.cwi.nl/')])``." -msgstr "" - -#: ../../library/html.parser.rst:142 -msgid "" -"All entity references from :mod:`html.entities` are replaced in the " -"attribute values." -msgstr "" - -#: ../../library/html.parser.rst:148 -msgid "" -"This method is called to handle the end tag of an element (e.g. ``
``)." -msgstr "" - -#: ../../library/html.parser.rst:150 -msgid "The *tag* argument is the name of the tag converted to lower case." -msgstr "" - -#: ../../library/html.parser.rst:155 -msgid "" -"Similar to :meth:`handle_starttag`, but called when the parser encounters an" -" XHTML-style empty tag (````). This method may be overridden by " -"subclasses which require this particular lexical information; the default " -"implementation simply calls :meth:`handle_starttag` and " -":meth:`handle_endtag`." -msgstr "" - -#: ../../library/html.parser.rst:163 -msgid "" -"This method is called to process arbitrary data (e.g. text nodes and the " -"content of ```` and ````)." -msgstr "" - -#: ../../library/html.parser.rst:169 -msgid "" -"This method is called to process a named character reference of the form " -"``&name;`` (e.g. ``>``), where *name* is a general entity reference (e.g." -" ``'gt'``). This method is never called if *convert_charrefs* is ``True``." -msgstr "" - -#: ../../library/html.parser.rst:177 -msgid "" -"This method is called to process decimal and hexadecimal numeric character " -"references of the form :samp:`&#{NNN};` and :samp:`&#x{NNN};`. For example," -" the decimal equivalent for ``>`` is ``>``, whereas the hexadecimal " -"is ``>``; in this case the method will receive ``'62'`` or ``'x3E'``. " -"This method is never called if *convert_charrefs* is ``True``." -msgstr "" - -#: ../../library/html.parser.rst:186 -msgid "" -"This method is called when a comment is encountered (e.g. ````)." -msgstr "" - -#: ../../library/html.parser.rst:188 -msgid "" -"For example, the comment ```` will cause this method to be " -"called with the argument ``' comment '``." -msgstr "" - -#: ../../library/html.parser.rst:191 -msgid "" -"The content of Internet Explorer conditional comments (condcoms) will also " -"be sent to this method, so, for ````, this method will receive ``'[if IE 9]>IE9-specific " -"content``)." -msgstr "" - -#: ../../library/html.parser.rst:201 -msgid "" -"The *decl* parameter will be the entire contents of the declaration inside " -"the ```` markup (e.g. ``'DOCTYPE html'``)." -msgstr "" - -#: ../../library/html.parser.rst:207 -msgid "" -"Method called when a processing instruction is encountered. The *data* " -"parameter will contain the entire processing instruction. For example, for " -"the processing instruction ````, this method would be " -"called as ``handle_pi(\"proc color='red'\")``. It is intended to be " -"overridden by a derived class; the base class implementation does nothing." -msgstr "" - -#: ../../library/html.parser.rst:215 -msgid "" -"The :class:`HTMLParser` class uses the SGML syntactic rules for processing " -"instructions. An XHTML processing instruction using the trailing ``'?'`` " -"will cause the ``'?'`` to be included in *data*." -msgstr "" - -#: ../../library/html.parser.rst:222 -msgid "" -"This method is called when an unrecognized declaration is read by the " -"parser." -msgstr "" - -#: ../../library/html.parser.rst:224 -msgid "" -"The *data* parameter will be the entire contents of the declaration inside " -"the ```` markup. It is sometimes useful to be overridden by a " -"derived class. The base class implementation does nothing." -msgstr "" - -#: ../../library/html.parser.rst:232 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/html.parser.rst:234 -msgid "" -"The following class implements a parser that will be used to illustrate more" -" examples:" -msgstr "" - -#: ../../library/html.parser.rst:237 -msgid "" -"from html.parser import HTMLParser\n" -"from html.entities import name2codepoint\n" -"\n" -"class MyHTMLParser(HTMLParser):\n" -" def handle_starttag(self, tag, attrs):\n" -" print(\"Start tag:\", tag)\n" -" for attr in attrs:\n" -" print(\" attr:\", attr)\n" -"\n" -" def handle_endtag(self, tag):\n" -" print(\"End tag :\", tag)\n" -"\n" -" def handle_data(self, data):\n" -" print(\"Data :\", data)\n" -"\n" -" def handle_comment(self, data):\n" -" print(\"Comment :\", data)\n" -"\n" -" def handle_entityref(self, name):\n" -" c = chr(name2codepoint[name])\n" -" print(\"Named ent:\", c)\n" -"\n" -" def handle_charref(self, name):\n" -" if name.startswith('x'):\n" -" c = chr(int(name[1:], 16))\n" -" else:\n" -" c = chr(int(name))\n" -" print(\"Num ent :\", c)\n" -"\n" -" def handle_decl(self, data):\n" -" print(\"Decl :\", data)\n" -"\n" -"parser = MyHTMLParser()" -msgstr "" - -#: ../../library/html.parser.rst:273 -msgid "Parsing a doctype:" -msgstr "" - -#: ../../library/html.parser.rst:275 -msgid "" -">>> parser.feed('')\n" -"Decl : DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"" -msgstr "" - -#: ../../library/html.parser.rst:281 -msgid "Parsing an element with a few attributes and a title:" -msgstr "" - -#: ../../library/html.parser.rst:283 -msgid "" -">>> parser.feed('\"The')\n" -"Start tag: img\n" -" attr: ('src', 'python-logo.png')\n" -" attr: ('alt', 'The Python logo')\n" -">>>\n" -">>> parser.feed('

Python

')\n" -"Start tag: h1\n" -"Data : Python\n" -"End tag : h1" -msgstr "" - -#: ../../library/html.parser.rst:295 -msgid "" -"The content of ``script`` and ``style`` elements is returned as is, without " -"further parsing:" -msgstr "" - -#: ../../library/html.parser.rst:298 -msgid "" -">>> parser.feed('')\n" -"Start tag: style\n" -" attr: ('type', 'text/css')\n" -"Data : #python { color: green }\n" -"End tag : style\n" -"\n" -">>> parser.feed('')\n" -"Start tag: script\n" -" attr: ('type', 'text/javascript')\n" -"Data : alert(\"hello!\");\n" -"End tag : script" -msgstr "" - -#: ../../library/html.parser.rst:313 -msgid "Parsing comments:" -msgstr "" - -#: ../../library/html.parser.rst:315 -msgid "" -">>> parser.feed(''\n" -"... '')\n" -"Comment : a comment\n" -"Comment : [if IE 9]>IE-specific content'``):" -msgstr "" - -#: ../../library/html.parser.rst:325 -msgid "" -">>> parser = MyHTMLParser()\n" -">>> parser.feed('>>>')\n" -"Data : >>>\n" -"\n" -">>> parser = MyHTMLParser(convert_charrefs=False)\n" -">>> parser.feed('>>>')\n" -"Named ent: >\n" -"Num ent : >\n" -"Num ent : >" -msgstr "" - -#: ../../library/html.parser.rst:337 -msgid "" -"Feeding incomplete chunks to :meth:`~HTMLParser.feed` works, but " -":meth:`~HTMLParser.handle_data` might be called more than once (unless " -"*convert_charrefs* is set to ``True``):" -msgstr "" - -#: ../../library/html.parser.rst:341 -msgid "" -">>> for chunk in ['buff', 'ered', ' text']:\n" -"... parser.feed(chunk)\n" -"...\n" -"Start tag: span\n" -"Data : buff\n" -"Data : ered\n" -"Data : text\n" -"End tag : span" -msgstr "" - -#: ../../library/html.parser.rst:352 -msgid "Parsing invalid HTML (e.g. unquoted attributes) also works:" -msgstr "" - -#: ../../library/html.parser.rst:354 -msgid "" -">>> parser.feed('

tag soup

')\n" -"Start tag: p\n" -"Start tag: a\n" -" attr: ('class', 'link')\n" -" attr: ('href', '#main')\n" -"Data : tag soup\n" -"End tag : p\n" -"End tag : a" -msgstr "" - -#: ../../library/html.parser.rst:9 -msgid "HTML" -msgstr "" - -#: ../../library/html.parser.rst:9 -msgid "XHTML" -msgstr "" diff --git a/python-newest.library--http/id.po b/python-newest.library--http/id.po deleted file mode 100644 index 1da1ce1..0000000 --- a/python-newest.library--http/id.po +++ /dev/null @@ -1,1084 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2022 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: oon arfiandwi , 2022\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/http.rst:2 -msgid ":mod:`!http` --- HTTP modules" -msgstr "" - -#: ../../library/http.rst:7 -msgid "**Source code:** :source:`Lib/http/__init__.py`" -msgstr "" - -#: ../../library/http.rst:15 -msgid "" -":mod:`http` is a package that collects several modules for working with the " -"HyperText Transfer Protocol:" -msgstr "" - -#: ../../library/http.rst:18 -msgid "" -":mod:`http.client` is a low-level HTTP protocol client; for high-level URL " -"opening use :mod:`urllib.request`" -msgstr "" - -#: ../../library/http.rst:20 -msgid "" -":mod:`http.server` contains basic HTTP server classes based on " -":mod:`socketserver`" -msgstr "" - -#: ../../library/http.rst:21 -msgid "" -":mod:`http.cookies` has utilities for implementing state management with " -"cookies" -msgstr "" - -#: ../../library/http.rst:22 -msgid ":mod:`http.cookiejar` provides persistence of cookies" -msgstr "" - -#: ../../library/http.rst:25 -msgid "" -"The :mod:`http` module also defines the following enums that help you work " -"with http related code:" -msgstr "" - -#: ../../library/http.rst:31 -msgid "" -"A subclass of :class:`enum.IntEnum` that defines a set of HTTP status codes," -" reason phrases and long descriptions written in English." -msgstr "" - -#: ../../library/http.rst:34 ../../library/http.rst:161 -#: ../../library/http.rst:175 -msgid "Usage::" -msgstr "Penggunaan::" - -#: ../../library/http.rst:36 -msgid "" -">>> from http import HTTPStatus\n" -">>> HTTPStatus.OK\n" -"HTTPStatus.OK\n" -">>> HTTPStatus.OK == 200\n" -"True\n" -">>> HTTPStatus.OK.value\n" -"200\n" -">>> HTTPStatus.OK.phrase\n" -"'OK'\n" -">>> HTTPStatus.OK.description\n" -"'Request fulfilled, document follows'\n" -">>> list(HTTPStatus)\n" -"[HTTPStatus.CONTINUE, HTTPStatus.SWITCHING_PROTOCOLS, ...]" -msgstr "" - -#: ../../library/http.rst:53 -msgid "HTTP status codes" -msgstr "Kode-kode status HTTP" - -#: ../../library/http.rst:55 -msgid "" -"Supported, `IANA-registered status codes " -"`_ available in :class:`http.HTTPStatus` are:" -msgstr "" - -#: ../../library/http.rst:60 -msgid "Code" -msgstr "Kode" - -#: ../../library/http.rst:60 ../../library/http.rst:208 -msgid "Enum Name" -msgstr "" - -#: ../../library/http.rst:60 ../../library/http.rst:152 -#: ../../library/http.rst:208 -msgid "Details" -msgstr "Detail" - -#: ../../library/http.rst:62 -msgid "``100``" -msgstr "``100``" - -#: ../../library/http.rst:62 -msgid "``CONTINUE``" -msgstr "" - -#: ../../library/http.rst:62 -msgid "HTTP Semantics :rfc:`9110`, Section 15.2.1" -msgstr "" - -#: ../../library/http.rst:63 -msgid "``101``" -msgstr "``101``" - -#: ../../library/http.rst:63 -msgid "``SWITCHING_PROTOCOLS``" -msgstr "" - -#: ../../library/http.rst:63 -msgid "HTTP Semantics :rfc:`9110`, Section 15.2.2" -msgstr "" - -#: ../../library/http.rst:64 -msgid "``102``" -msgstr "``102``" - -#: ../../library/http.rst:64 -msgid "``PROCESSING``" -msgstr "" - -#: ../../library/http.rst:64 -msgid "WebDAV :rfc:`2518`, Section 10.1" -msgstr "" - -#: ../../library/http.rst:65 -msgid "``103``" -msgstr "" - -#: ../../library/http.rst:65 -msgid "``EARLY_HINTS``" -msgstr "" - -#: ../../library/http.rst:65 -msgid "An HTTP Status Code for Indicating Hints :rfc:`8297`" -msgstr "" - -#: ../../library/http.rst:66 -msgid "``200``" -msgstr "``200``" - -#: ../../library/http.rst:66 -msgid "``OK``" -msgstr "``OK``" - -#: ../../library/http.rst:66 -msgid "HTTP Semantics :rfc:`9110`, Section 15.3.1" -msgstr "" - -#: ../../library/http.rst:67 -msgid "``201``" -msgstr "``201``" - -#: ../../library/http.rst:67 -msgid "``CREATED``" -msgstr "``CREATED``" - -#: ../../library/http.rst:67 -msgid "HTTP Semantics :rfc:`9110`, Section 15.3.2" -msgstr "" - -#: ../../library/http.rst:68 -msgid "``202``" -msgstr "``202``" - -#: ../../library/http.rst:68 -msgid "``ACCEPTED``" -msgstr "``ACCEPTED``" - -#: ../../library/http.rst:68 -msgid "HTTP Semantics :rfc:`9110`, Section 15.3.3" -msgstr "" - -#: ../../library/http.rst:69 -msgid "``203``" -msgstr "``203``" - -#: ../../library/http.rst:69 -msgid "``NON_AUTHORITATIVE_INFORMATION``" -msgstr "``NON_AUTHORITATIVE_INFORMATION``" - -#: ../../library/http.rst:69 -msgid "HTTP Semantics :rfc:`9110`, Section 15.3.4" -msgstr "" - -#: ../../library/http.rst:70 -msgid "``204``" -msgstr "``204``" - -#: ../../library/http.rst:70 -msgid "``NO_CONTENT``" -msgstr "``NO_CONTENT``" - -#: ../../library/http.rst:70 -msgid "HTTP Semantics :rfc:`9110`, Section 15.3.5" -msgstr "" - -#: ../../library/http.rst:71 -msgid "``205``" -msgstr "``205``" - -#: ../../library/http.rst:71 -msgid "``RESET_CONTENT``" -msgstr "``RESET_CONTENT``" - -#: ../../library/http.rst:71 -msgid "HTTP Semantics :rfc:`9110`, Section 15.3.6" -msgstr "" - -#: ../../library/http.rst:72 -msgid "``206``" -msgstr "``206``" - -#: ../../library/http.rst:72 -msgid "``PARTIAL_CONTENT``" -msgstr "``PARTIAL_CONTENT``" - -#: ../../library/http.rst:72 -msgid "HTTP Semantics :rfc:`9110`, Section 15.3.7" -msgstr "" - -#: ../../library/http.rst:73 -msgid "``207``" -msgstr "``207``" - -#: ../../library/http.rst:73 -msgid "``MULTI_STATUS``" -msgstr "``MULTI_STATUS``" - -#: ../../library/http.rst:73 -msgid "WebDAV :rfc:`4918`, Section 11.1" -msgstr "" - -#: ../../library/http.rst:74 -msgid "``208``" -msgstr "``208``" - -#: ../../library/http.rst:74 -msgid "``ALREADY_REPORTED``" -msgstr "``ALREADY_REPORTED``" - -#: ../../library/http.rst:74 -msgid "WebDAV Binding Extensions :rfc:`5842`, Section 7.1 (Experimental)" -msgstr "" - -#: ../../library/http.rst:75 -msgid "``226``" -msgstr "``226``" - -#: ../../library/http.rst:75 -msgid "``IM_USED``" -msgstr "``IM_USED``" - -#: ../../library/http.rst:75 -msgid "Delta Encoding in HTTP :rfc:`3229`, Section 10.4.1" -msgstr "" - -#: ../../library/http.rst:76 -msgid "``300``" -msgstr "``300``" - -#: ../../library/http.rst:76 -msgid "``MULTIPLE_CHOICES``" -msgstr "``MULTIPLE_CHOICES``" - -#: ../../library/http.rst:76 -msgid "HTTP Semantics :rfc:`9110`, Section 15.4.1" -msgstr "" - -#: ../../library/http.rst:77 -msgid "``301``" -msgstr "``301``" - -#: ../../library/http.rst:77 -msgid "``MOVED_PERMANENTLY``" -msgstr "``MOVED_PERMANENTLY``" - -#: ../../library/http.rst:77 -msgid "HTTP Semantics :rfc:`9110`, Section 15.4.2" -msgstr "" - -#: ../../library/http.rst:78 -msgid "``302``" -msgstr "``302``" - -#: ../../library/http.rst:78 -msgid "``FOUND``" -msgstr "``FOUND``" - -#: ../../library/http.rst:78 -msgid "HTTP Semantics :rfc:`9110`, Section 15.4.3" -msgstr "" - -#: ../../library/http.rst:79 -msgid "``303``" -msgstr "``303``" - -#: ../../library/http.rst:79 -msgid "``SEE_OTHER``" -msgstr "``SEE_OTHER``" - -#: ../../library/http.rst:79 -msgid "HTTP Semantics :rfc:`9110`, Section 15.4.4" -msgstr "" - -#: ../../library/http.rst:80 -msgid "``304``" -msgstr "``304``" - -#: ../../library/http.rst:80 -msgid "``NOT_MODIFIED``" -msgstr "``NOT_MODIFIED``" - -#: ../../library/http.rst:80 -msgid "HTTP Semantics :rfc:`9110`, Section 15.4.5" -msgstr "" - -#: ../../library/http.rst:81 -msgid "``305``" -msgstr "``305``" - -#: ../../library/http.rst:81 -msgid "``USE_PROXY``" -msgstr "``USE_PROXY``" - -#: ../../library/http.rst:81 -msgid "HTTP Semantics :rfc:`9110`, Section 15.4.6" -msgstr "" - -#: ../../library/http.rst:82 -msgid "``307``" -msgstr "``307``" - -#: ../../library/http.rst:82 -msgid "``TEMPORARY_REDIRECT``" -msgstr "``TEMPORARY_REDIRECT``" - -#: ../../library/http.rst:82 -msgid "HTTP Semantics :rfc:`9110`, Section 15.4.8" -msgstr "" - -#: ../../library/http.rst:83 -msgid "``308``" -msgstr "``308``" - -#: ../../library/http.rst:83 -msgid "``PERMANENT_REDIRECT``" -msgstr "``PERMANENT_REDIRECT``" - -#: ../../library/http.rst:83 -msgid "HTTP Semantics :rfc:`9110`, Section 15.4.9" -msgstr "" - -#: ../../library/http.rst:84 -msgid "``400``" -msgstr "``400``" - -#: ../../library/http.rst:84 -msgid "``BAD_REQUEST``" -msgstr "``BAD_REQUEST``" - -#: ../../library/http.rst:84 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.1" -msgstr "" - -#: ../../library/http.rst:85 -msgid "``401``" -msgstr "``401``" - -#: ../../library/http.rst:85 -msgid "``UNAUTHORIZED``" -msgstr "``UNAUTHORIZED``" - -#: ../../library/http.rst:85 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.2" -msgstr "" - -#: ../../library/http.rst:86 -msgid "``402``" -msgstr "``402``" - -#: ../../library/http.rst:86 -msgid "``PAYMENT_REQUIRED``" -msgstr "``PAYMENT_REQUIRED``" - -#: ../../library/http.rst:86 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.3" -msgstr "" - -#: ../../library/http.rst:87 -msgid "``403``" -msgstr "``403``" - -#: ../../library/http.rst:87 -msgid "``FORBIDDEN``" -msgstr "``FORBIDDEN``" - -#: ../../library/http.rst:87 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.4" -msgstr "" - -#: ../../library/http.rst:88 -msgid "``404``" -msgstr "``404``" - -#: ../../library/http.rst:88 -msgid "``NOT_FOUND``" -msgstr "``NOT_FOUND``" - -#: ../../library/http.rst:88 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.5" -msgstr "" - -#: ../../library/http.rst:89 -msgid "``405``" -msgstr "``405``" - -#: ../../library/http.rst:89 -msgid "``METHOD_NOT_ALLOWED``" -msgstr "``METHOD_NOT_ALLOWED``" - -#: ../../library/http.rst:89 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.6" -msgstr "" - -#: ../../library/http.rst:90 -msgid "``406``" -msgstr "``406``" - -#: ../../library/http.rst:90 -msgid "``NOT_ACCEPTABLE``" -msgstr "``NOT_ACCEPTABLE``" - -#: ../../library/http.rst:90 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.7" -msgstr "" - -#: ../../library/http.rst:91 -msgid "``407``" -msgstr "``407``" - -#: ../../library/http.rst:91 -msgid "``PROXY_AUTHENTICATION_REQUIRED``" -msgstr "``PROXY_AUTHENTICATION_REQUIRED``" - -#: ../../library/http.rst:91 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.8" -msgstr "" - -#: ../../library/http.rst:92 -msgid "``408``" -msgstr "``408``" - -#: ../../library/http.rst:92 -msgid "``REQUEST_TIMEOUT``" -msgstr "``REQUEST_TIMEOUT``" - -#: ../../library/http.rst:92 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.9" -msgstr "" - -#: ../../library/http.rst:93 -msgid "``409``" -msgstr "``409``" - -#: ../../library/http.rst:93 -msgid "``CONFLICT``" -msgstr "``CONFLICT``" - -#: ../../library/http.rst:93 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.10" -msgstr "" - -#: ../../library/http.rst:94 -msgid "``410``" -msgstr "``410``" - -#: ../../library/http.rst:94 -msgid "``GONE``" -msgstr "``GONE``" - -#: ../../library/http.rst:94 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.11" -msgstr "" - -#: ../../library/http.rst:95 -msgid "``411``" -msgstr "``411``" - -#: ../../library/http.rst:95 -msgid "``LENGTH_REQUIRED``" -msgstr "``LENGTH_REQUIRED``" - -#: ../../library/http.rst:95 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.12" -msgstr "" - -#: ../../library/http.rst:96 -msgid "``412``" -msgstr "``412``" - -#: ../../library/http.rst:96 -msgid "``PRECONDITION_FAILED``" -msgstr "``PRECONDITION_FAILED``" - -#: ../../library/http.rst:96 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.13" -msgstr "" - -#: ../../library/http.rst:97 -msgid "``413``" -msgstr "``413``" - -#: ../../library/http.rst:97 -msgid "``CONTENT_TOO_LARGE``" -msgstr "" - -#: ../../library/http.rst:97 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.14" -msgstr "" - -#: ../../library/http.rst:98 -msgid "``414``" -msgstr "``414``" - -#: ../../library/http.rst:98 -msgid "``URI_TOO_LONG``" -msgstr "" - -#: ../../library/http.rst:98 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.15" -msgstr "" - -#: ../../library/http.rst:99 -msgid "``415``" -msgstr "``415``" - -#: ../../library/http.rst:99 -msgid "``UNSUPPORTED_MEDIA_TYPE``" -msgstr "``UNSUPPORTED_MEDIA_TYPE``" - -#: ../../library/http.rst:99 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.16" -msgstr "" - -#: ../../library/http.rst:100 -msgid "``416``" -msgstr "``416``" - -#: ../../library/http.rst:100 -msgid "``RANGE_NOT_SATISFIABLE``" -msgstr "" - -#: ../../library/http.rst:100 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.17" -msgstr "" - -#: ../../library/http.rst:101 -msgid "``417``" -msgstr "``417``" - -#: ../../library/http.rst:101 -msgid "``EXPECTATION_FAILED``" -msgstr "``EXPECTATION_FAILED``" - -#: ../../library/http.rst:101 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.18" -msgstr "" - -#: ../../library/http.rst:102 -msgid "``418``" -msgstr "" - -#: ../../library/http.rst:102 -msgid "``IM_A_TEAPOT``" -msgstr "" - -#: ../../library/http.rst:102 -msgid "HTCPCP/1.0 :rfc:`2324`, Section 2.3.2" -msgstr "" - -#: ../../library/http.rst:103 -msgid "``421``" -msgstr "``421``" - -#: ../../library/http.rst:103 -msgid "``MISDIRECTED_REQUEST``" -msgstr "``MISDIRECTED_REQUEST``" - -#: ../../library/http.rst:103 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.20" -msgstr "" - -#: ../../library/http.rst:104 -msgid "``422``" -msgstr "``422``" - -#: ../../library/http.rst:104 -msgid "``UNPROCESSABLE_CONTENT``" -msgstr "" - -#: ../../library/http.rst:104 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.21" -msgstr "" - -#: ../../library/http.rst:105 -msgid "``423``" -msgstr "``423``" - -#: ../../library/http.rst:105 -msgid "``LOCKED``" -msgstr "``LOCKED``" - -#: ../../library/http.rst:105 -msgid "WebDAV :rfc:`4918`, Section 11.3" -msgstr "" - -#: ../../library/http.rst:106 -msgid "``424``" -msgstr "``424``" - -#: ../../library/http.rst:106 -msgid "``FAILED_DEPENDENCY``" -msgstr "``FAILED_DEPENDENCY``" - -#: ../../library/http.rst:106 -msgid "WebDAV :rfc:`4918`, Section 11.4" -msgstr "" - -#: ../../library/http.rst:107 -msgid "``425``" -msgstr "" - -#: ../../library/http.rst:107 -msgid "``TOO_EARLY``" -msgstr "" - -#: ../../library/http.rst:107 -msgid "Using Early Data in HTTP :rfc:`8470`" -msgstr "" - -#: ../../library/http.rst:108 -msgid "``426``" -msgstr "``426``" - -#: ../../library/http.rst:108 -msgid "``UPGRADE_REQUIRED``" -msgstr "``UPGRADE_REQUIRED``" - -#: ../../library/http.rst:108 -msgid "HTTP Semantics :rfc:`9110`, Section 15.5.22" -msgstr "" - -#: ../../library/http.rst:109 -msgid "``428``" -msgstr "``428``" - -#: ../../library/http.rst:109 -msgid "``PRECONDITION_REQUIRED``" -msgstr "``PRECONDITION_REQUIRED``" - -#: ../../library/http.rst:109 ../../library/http.rst:110 -#: ../../library/http.rst:111 -msgid "Additional HTTP Status Codes :rfc:`6585`" -msgstr "" - -#: ../../library/http.rst:110 -msgid "``429``" -msgstr "``429``" - -#: ../../library/http.rst:110 -msgid "``TOO_MANY_REQUESTS``" -msgstr "``TOO_MANY_REQUESTS``" - -#: ../../library/http.rst:111 -msgid "``431``" -msgstr "``431``" - -#: ../../library/http.rst:111 -msgid "``REQUEST_HEADER_FIELDS_TOO_LARGE``" -msgstr "``REQUEST_HEADER_FIELDS_TOO_LARGE``" - -#: ../../library/http.rst:112 -msgid "``451``" -msgstr "``451``" - -#: ../../library/http.rst:112 -msgid "``UNAVAILABLE_FOR_LEGAL_REASONS``" -msgstr "``UNAVAILABLE_FOR_LEGAL_REASONS``" - -#: ../../library/http.rst:112 -msgid "An HTTP Status Code to Report Legal Obstacles :rfc:`7725`" -msgstr "" - -#: ../../library/http.rst:113 -msgid "``500``" -msgstr "``500``" - -#: ../../library/http.rst:113 -msgid "``INTERNAL_SERVER_ERROR``" -msgstr "``INTERNAL_SERVER_ERROR``" - -#: ../../library/http.rst:113 -msgid "HTTP Semantics :rfc:`9110`, Section 15.6.1" -msgstr "" - -#: ../../library/http.rst:114 -msgid "``501``" -msgstr "``501``" - -#: ../../library/http.rst:114 -msgid "``NOT_IMPLEMENTED``" -msgstr "``NOT_IMPLEMENTED``" - -#: ../../library/http.rst:114 -msgid "HTTP Semantics :rfc:`9110`, Section 15.6.2" -msgstr "" - -#: ../../library/http.rst:115 -msgid "``502``" -msgstr "``502``" - -#: ../../library/http.rst:115 -msgid "``BAD_GATEWAY``" -msgstr "``BAD_GATEWAY``" - -#: ../../library/http.rst:115 -msgid "HTTP Semantics :rfc:`9110`, Section 15.6.3" -msgstr "" - -#: ../../library/http.rst:116 -msgid "``503``" -msgstr "``503``" - -#: ../../library/http.rst:116 -msgid "``SERVICE_UNAVAILABLE``" -msgstr "``SERVICE_UNAVAILABLE``" - -#: ../../library/http.rst:116 -msgid "HTTP Semantics :rfc:`9110`, Section 15.6.4" -msgstr "" - -#: ../../library/http.rst:117 -msgid "``504``" -msgstr "``504``" - -#: ../../library/http.rst:117 -msgid "``GATEWAY_TIMEOUT``" -msgstr "``GATEWAY_TIMEOUT``" - -#: ../../library/http.rst:117 -msgid "HTTP Semantics :rfc:`9110`, Section 15.6.5" -msgstr "" - -#: ../../library/http.rst:118 -msgid "``505``" -msgstr "``505``" - -#: ../../library/http.rst:118 -msgid "``HTTP_VERSION_NOT_SUPPORTED``" -msgstr "``HTTP_VERSION_NOT_SUPPORTED``" - -#: ../../library/http.rst:118 -msgid "HTTP Semantics :rfc:`9110`, Section 15.6.6" -msgstr "" - -#: ../../library/http.rst:119 -msgid "``506``" -msgstr "``506``" - -#: ../../library/http.rst:119 -msgid "``VARIANT_ALSO_NEGOTIATES``" -msgstr "``VARIANT_ALSO_NEGOTIATES``" - -#: ../../library/http.rst:119 -msgid "" -"Transparent Content Negotiation in HTTP :rfc:`2295`, Section 8.1 " -"(Experimental)" -msgstr "" - -#: ../../library/http.rst:120 -msgid "``507``" -msgstr "``507``" - -#: ../../library/http.rst:120 -msgid "``INSUFFICIENT_STORAGE``" -msgstr "``INSUFFICIENT_STORAGE``" - -#: ../../library/http.rst:120 -msgid "WebDAV :rfc:`4918`, Section 11.5" -msgstr "" - -#: ../../library/http.rst:121 -msgid "``508``" -msgstr "``508``" - -#: ../../library/http.rst:121 -msgid "``LOOP_DETECTED``" -msgstr "``LOOP_DETECTED``" - -#: ../../library/http.rst:121 -msgid "WebDAV Binding Extensions :rfc:`5842`, Section 7.2 (Experimental)" -msgstr "" - -#: ../../library/http.rst:122 -msgid "``510``" -msgstr "``510``" - -#: ../../library/http.rst:122 -msgid "``NOT_EXTENDED``" -msgstr "``NOT_EXTENDED``" - -#: ../../library/http.rst:122 -msgid "An HTTP Extension Framework :rfc:`2774`, Section 7 (Experimental)" -msgstr "" - -#: ../../library/http.rst:123 -msgid "``511``" -msgstr "``511``" - -#: ../../library/http.rst:123 -msgid "``NETWORK_AUTHENTICATION_REQUIRED``" -msgstr "``NETWORK_AUTHENTICATION_REQUIRED``" - -#: ../../library/http.rst:123 -msgid "Additional HTTP Status Codes :rfc:`6585`, Section 6" -msgstr "" - -#: ../../library/http.rst:126 -msgid "" -"In order to preserve backwards compatibility, enum values are also present " -"in the :mod:`http.client` module in the form of constants. The enum name is " -"equal to the constant name (i.e. ``http.HTTPStatus.OK`` is also available as" -" ``http.client.OK``)." -msgstr "" - -#: ../../library/http.rst:131 -msgid "Added ``421 MISDIRECTED_REQUEST`` status code." -msgstr "" - -#: ../../library/http.rst:134 -msgid "Added ``451 UNAVAILABLE_FOR_LEGAL_REASONS`` status code." -msgstr "" - -#: ../../library/http.rst:137 -msgid "" -"Added ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 TOO_EARLY`` status " -"codes." -msgstr "" - -#: ../../library/http.rst:140 -msgid "" -"Implemented RFC9110 naming for status constants. Old constant names are " -"preserved for backwards compatibility." -msgstr "" - -#: ../../library/http.rst:145 -msgid "HTTP status category" -msgstr "" - -#: ../../library/http.rst:149 -msgid "" -"The enum values have several properties to indicate the HTTP status " -"category:" -msgstr "" - -#: ../../library/http.rst:152 -msgid "Property" -msgstr "" - -#: ../../library/http.rst:152 -msgid "Indicates that" -msgstr "" - -#: ../../library/http.rst:154 -msgid "``is_informational``" -msgstr "" - -#: ../../library/http.rst:154 -msgid "``100 <= status <= 199``" -msgstr "" - -#: ../../library/http.rst:154 ../../library/http.rst:155 -#: ../../library/http.rst:156 ../../library/http.rst:157 -#: ../../library/http.rst:158 -msgid "HTTP Semantics :rfc:`9110`, Section 15" -msgstr "" - -#: ../../library/http.rst:155 -msgid "``is_success``" -msgstr "" - -#: ../../library/http.rst:155 -msgid "``200 <= status <= 299``" -msgstr "" - -#: ../../library/http.rst:156 -msgid "``is_redirection``" -msgstr "" - -#: ../../library/http.rst:156 -msgid "``300 <= status <= 399``" -msgstr "" - -#: ../../library/http.rst:157 -msgid "``is_client_error``" -msgstr "" - -#: ../../library/http.rst:157 -msgid "``400 <= status <= 499``" -msgstr "" - -#: ../../library/http.rst:158 -msgid "``is_server_error``" -msgstr "" - -#: ../../library/http.rst:158 -msgid "``500 <= status <= 599``" -msgstr "" - -#: ../../library/http.rst:163 -msgid "" -">>> from http import HTTPStatus\n" -">>> HTTPStatus.OK.is_success\n" -"True\n" -">>> HTTPStatus.OK.is_client_error\n" -"False" -msgstr "" - -#: ../../library/http.rst:173 -msgid "" -"A subclass of :class:`enum.StrEnum` that defines a set of HTTP methods and " -"descriptions written in English." -msgstr "" - -#: ../../library/http.rst:177 -msgid "" -">>> from http import HTTPMethod\n" -">>>\n" -">>> HTTPMethod.GET\n" -"\n" -">>> HTTPMethod.GET == 'GET'\n" -"True\n" -">>> HTTPMethod.GET.value\n" -"'GET'\n" -">>> HTTPMethod.GET.description\n" -"'Retrieve the target.'\n" -">>> list(HTTPMethod)\n" -"[,\n" -" ,\n" -" ,\n" -" ,\n" -" ,\n" -" ,\n" -" ,\n" -" ,\n" -" ]" -msgstr "" - -#: ../../library/http.rst:201 -msgid "HTTP methods" -msgstr "" - -#: ../../library/http.rst:203 -msgid "" -"Supported, `IANA-registered methods `_ available in :class:`http.HTTPMethod` are:" -msgstr "" - -#: ../../library/http.rst:208 -msgid "Method" -msgstr "Metode" - -#: ../../library/http.rst:210 -msgid "``GET``" -msgstr "" - -#: ../../library/http.rst:210 -msgid "HTTP Semantics :rfc:`9110`, Section 9.3.1" -msgstr "" - -#: ../../library/http.rst:211 -msgid "``HEAD``" -msgstr "" - -#: ../../library/http.rst:211 -msgid "HTTP Semantics :rfc:`9110`, Section 9.3.2" -msgstr "" - -#: ../../library/http.rst:212 -msgid "``POST``" -msgstr "" - -#: ../../library/http.rst:212 -msgid "HTTP Semantics :rfc:`9110`, Section 9.3.3" -msgstr "" - -#: ../../library/http.rst:213 -msgid "``PUT``" -msgstr "" - -#: ../../library/http.rst:213 -msgid "HTTP Semantics :rfc:`9110`, Section 9.3.4" -msgstr "" - -#: ../../library/http.rst:214 -msgid "``DELETE``" -msgstr "" - -#: ../../library/http.rst:214 -msgid "HTTP Semantics :rfc:`9110`, Section 9.3.5" -msgstr "" - -#: ../../library/http.rst:215 -msgid "``CONNECT``" -msgstr "" - -#: ../../library/http.rst:215 -msgid "HTTP Semantics :rfc:`9110`, Section 9.3.6" -msgstr "" - -#: ../../library/http.rst:216 -msgid "``OPTIONS``" -msgstr "" - -#: ../../library/http.rst:216 -msgid "HTTP Semantics :rfc:`9110`, Section 9.3.7" -msgstr "" - -#: ../../library/http.rst:217 -msgid "``TRACE``" -msgstr "" - -#: ../../library/http.rst:217 -msgid "HTTP Semantics :rfc:`9110`, Section 9.3.8" -msgstr "" - -#: ../../library/http.rst:218 -msgid "``PATCH``" -msgstr "" - -#: ../../library/http.rst:218 -msgid "HTTP/1.1 :rfc:`5789`" -msgstr "" - -#: ../../library/http.rst:9 -msgid "HTTP" -msgstr "" - -#: ../../library/http.rst:9 -msgid "protocol" -msgstr "" - -#: ../../library/http.rst:9 -msgid "http (standard module)" -msgstr "" diff --git a/python-newest.library--http_client/id.po b/python-newest.library--http_client/id.po deleted file mode 100644 index 6cadd7f..0000000 --- a/python-newest.library--http_client/id.po +++ /dev/null @@ -1,791 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Faiq Zakki <221709674@stis.ac.id>, 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/http.client.rst:2 -msgid ":mod:`!http.client` --- HTTP protocol client" -msgstr "" - -#: ../../library/http.client.rst:7 -msgid "**Source code:** :source:`Lib/http/client.py`" -msgstr "" - -#: ../../library/http.client.rst:17 -msgid "" -"This module defines classes that implement the client side of the HTTP and " -"HTTPS protocols. It is normally not used directly --- the module " -":mod:`urllib.request` uses it to handle URLs that use HTTP and HTTPS." -msgstr "" - -#: ../../library/http.client.rst:23 -msgid "" -"The `Requests package `_ is " -"recommended for a higher-level HTTP client interface." -msgstr "" - -#: ../../library/http.client.rst:28 -msgid "" -"HTTPS support is only available if Python was compiled with SSL support " -"(through the :mod:`ssl` module)." -msgstr "" - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/http.client.rst:33 -msgid "The module provides the following classes:" -msgstr "" - -#: ../../library/http.client.rst:39 -msgid "" -"An :class:`HTTPConnection` instance represents one transaction with an HTTP " -"server. It should be instantiated by passing it a host and optional port " -"number. If no port number is passed, the port is extracted from the host " -"string if it has the form ``host:port``, else the default HTTP port (80) is " -"used. If the optional *timeout* parameter is given, blocking operations " -"(like connection attempts) will timeout after that many seconds (if it is " -"not given, the global default timeout setting is used). The optional " -"*source_address* parameter may be a tuple of a (host, port) to use as the " -"source address the HTTP connection is made from. The optional *blocksize* " -"parameter sets the buffer size in bytes for sending a file-like message " -"body." -msgstr "" - -#: ../../library/http.client.rst:51 -msgid "" -"For example, the following calls all create instances that connect to the " -"server at the same host and port::" -msgstr "" - -#: ../../library/http.client.rst:54 -msgid "" -">>> h1 = http.client.HTTPConnection('www.python.org')\n" -">>> h2 = http.client.HTTPConnection('www.python.org:80')\n" -">>> h3 = http.client.HTTPConnection('www.python.org', 80)\n" -">>> h4 = http.client.HTTPConnection('www.python.org', 80, timeout=10)" -msgstr "" - -#: ../../library/http.client.rst:59 -msgid "*source_address* was added." -msgstr "" - -#: ../../library/http.client.rst:62 -msgid "" -"The *strict* parameter was removed. HTTP 0.9-style \"Simple Responses\" are" -" no longer supported." -msgstr "" - -#: ../../library/http.client.rst:66 -msgid "*blocksize* parameter was added." -msgstr "" - -#: ../../library/http.client.rst:74 -msgid "" -"A subclass of :class:`HTTPConnection` that uses SSL for communication with " -"secure servers. Default port is ``443``. If *context* is specified, it " -"must be a :class:`ssl.SSLContext` instance describing the various SSL " -"options." -msgstr "" - -#: ../../library/http.client.rst:79 -msgid "" -"Please read :ref:`ssl-security` for more information on best practices." -msgstr "" - -#: ../../library/http.client.rst:81 -msgid "*source_address*, *context* and *check_hostname* were added." -msgstr "" - -#: ../../library/http.client.rst:84 -msgid "" -"This class now supports HTTPS virtual hosts if possible (that is, if " -":const:`ssl.HAS_SNI` is true)." -msgstr "" - -#: ../../library/http.client.rst:88 -msgid "" -"The *strict* parameter was removed. HTTP 0.9-style \"Simple Responses\" are " -"no longer supported." -msgstr "" - -#: ../../library/http.client.rst:92 -msgid "" -"This class now performs all the necessary certificate and hostname checks by" -" default. To revert to the previous, unverified, behavior " -":func:`!ssl._create_unverified_context` can be passed to the *context* " -"parameter." -msgstr "" - -#: ../../library/http.client.rst:98 -msgid "" -"This class now enables TLS 1.3 :attr:`ssl.SSLContext.post_handshake_auth` " -"for the default *context* or when *cert_file* is passed with a custom " -"*context*." -msgstr "" - -#: ../../library/http.client.rst:103 -msgid "" -"This class now sends an ALPN extension with protocol indicator ``http/1.1`` " -"when no *context* is given. Custom *context* should set ALPN protocols with " -":meth:`~ssl.SSLContext.set_alpn_protocols`." -msgstr "" - -#: ../../library/http.client.rst:108 -msgid "" -"The deprecated *key_file*, *cert_file* and *check_hostname* parameters have " -"been removed." -msgstr "" - -#: ../../library/http.client.rst:115 -msgid "" -"Class whose instances are returned upon successful connection. Not " -"instantiated directly by user." -msgstr "" - -#: ../../library/http.client.rst:118 -msgid "" -"The *strict* parameter was removed. HTTP 0.9 style \"Simple Responses\" are " -"no longer supported." -msgstr "" - -#: ../../library/http.client.rst:122 -msgid "This module provides the following function:" -msgstr "" - -#: ../../library/http.client.rst:126 -msgid "" -"Parse the headers from a file pointer *fp* representing a HTTP " -"request/response. The file has to be a :class:`~io.BufferedIOBase` reader " -"(i.e. not text) and must provide a valid :rfc:`2822` style header." -msgstr "" - -#: ../../library/http.client.rst:130 -msgid "" -"This function returns an instance of :class:`http.client.HTTPMessage` that " -"holds the header fields, but no payload (the same as " -":attr:`HTTPResponse.msg` and " -":attr:`http.server.BaseHTTPRequestHandler.headers`). After returning, the " -"file pointer *fp* is ready to read the HTTP body." -msgstr "" - -#: ../../library/http.client.rst:137 -msgid "" -":meth:`parse_headers` does not parse the start-line of a HTTP message; it " -"only parses the ``Name: value`` lines. The file has to be ready to read " -"these field lines, so the first line should already be consumed before " -"calling the function." -msgstr "" - -#: ../../library/http.client.rst:142 -msgid "The following exceptions are raised as appropriate:" -msgstr "" - -#: ../../library/http.client.rst:147 -msgid "" -"The base class of the other exceptions in this module. It is a subclass of " -":exc:`Exception`." -msgstr "" - -#: ../../library/http.client.rst:153 ../../library/http.client.rst:164 -#: ../../library/http.client.rst:169 ../../library/http.client.rst:174 -#: ../../library/http.client.rst:179 ../../library/http.client.rst:184 -msgid "A subclass of :exc:`HTTPException`." -msgstr "" - -#: ../../library/http.client.rst:158 -msgid "" -"A subclass of :exc:`HTTPException`, raised if a port is given and is either " -"non-numeric or empty." -msgstr "" - -#: ../../library/http.client.rst:189 ../../library/http.client.rst:194 -#: ../../library/http.client.rst:199 -msgid "A subclass of :exc:`ImproperConnectionState`." -msgstr "" - -#: ../../library/http.client.rst:204 -msgid "" -"A subclass of :exc:`HTTPException`. Raised if a server responds with a HTTP" -" status code that we don't understand." -msgstr "" - -#: ../../library/http.client.rst:210 -msgid "" -"A subclass of :exc:`HTTPException`. Raised if an excessively long line is " -"received in the HTTP protocol from the server." -msgstr "" - -#: ../../library/http.client.rst:216 -msgid "" -"A subclass of :exc:`ConnectionResetError` and :exc:`BadStatusLine`. Raised " -"by :meth:`HTTPConnection.getresponse` when the attempt to read the response " -"results in no data read from the connection, indicating that the remote end " -"has closed the connection." -msgstr "" - -#: ../../library/http.client.rst:221 -msgid "Previously, :exc:`BadStatusLine`\\ ``('')`` was raised." -msgstr "" - -#: ../../library/http.client.rst:225 -msgid "The constants defined in this module are:" -msgstr "Konstanta yang didefinisikan dalam modul ini antara lain:" - -#: ../../library/http.client.rst:229 -msgid "The default port for the HTTP protocol (always ``80``)." -msgstr "" - -#: ../../library/http.client.rst:233 -msgid "The default port for the HTTPS protocol (always ``443``)." -msgstr "" - -#: ../../library/http.client.rst:237 -msgid "This dictionary maps the HTTP 1.1 status codes to the W3C names." -msgstr "" - -#: ../../library/http.client.rst:239 -msgid "" -"Example: ``http.client.responses[http.client.NOT_FOUND]`` is ``'Not " -"Found'``." -msgstr "" - -#: ../../library/http.client.rst:241 -msgid "" -"See :ref:`http-status-codes` for a list of HTTP status codes that are " -"available in this module as constants." -msgstr "" - -#: ../../library/http.client.rst:248 -msgid "HTTPConnection Objects" -msgstr "" - -#: ../../library/http.client.rst:250 -msgid ":class:`HTTPConnection` instances have the following methods:" -msgstr "" - -#: ../../library/http.client.rst:256 -msgid "" -"This will send a request to the server using the HTTP request method " -"*method* and the request URI *url*. The provided *url* must be an absolute " -"path to conform with :rfc:`RFC 2616 §5.1.2 <2616#section-5.1.2>` (unless " -"connecting to an HTTP proxy server or using the ``OPTIONS`` or ``CONNECT`` " -"methods)." -msgstr "" - -#: ../../library/http.client.rst:262 -msgid "" -"If *body* is specified, the specified data is sent after the headers are " -"finished. It may be a :class:`str`, a :term:`bytes-like object`, an open " -":term:`file object`, or an iterable of :class:`bytes`. If *body* is a " -"string, it is encoded as ISO-8859-1, the default for HTTP. If it is a " -"bytes-like object, the bytes are sent as is. If it is a :term:`file " -"object`, the contents of the file is sent; this file object should support " -"at least the ``read()`` method. If the file object is an instance of " -":class:`io.TextIOBase`, the data returned by the ``read()`` method will be " -"encoded as ISO-8859-1, otherwise the data returned by ``read()`` is sent as " -"is. If *body* is an iterable, the elements of the iterable are sent as is " -"until the iterable is exhausted." -msgstr "" - -#: ../../library/http.client.rst:274 -msgid "" -"The *headers* argument should be a mapping of extra HTTP headers to send " -"with the request. A :rfc:`Host header <2616#section-14.23>` must be provided" -" to conform with :rfc:`RFC 2616 §5.1.2 <2616#section-5.1.2>` (unless " -"connecting to an HTTP proxy server or using the ``OPTIONS`` or ``CONNECT`` " -"methods)." -msgstr "" - -#: ../../library/http.client.rst:280 -msgid "" -"If *headers* contains neither Content-Length nor Transfer-Encoding, but " -"there is a request body, one of those header fields will be added " -"automatically. If *body* is ``None``, the Content-Length header is set to " -"``0`` for methods that expect a body (``PUT``, ``POST``, and ``PATCH``). If" -" *body* is a string or a bytes-like object that is not also a :term:`file " -"`, the Content-Length header is set to its length. Any other " -"type of *body* (files and iterables in general) will be chunk-encoded, and " -"the Transfer-Encoding header will automatically be set instead of Content-" -"Length." -msgstr "" - -#: ../../library/http.client.rst:292 -msgid "" -"The *encode_chunked* argument is only relevant if Transfer-Encoding is " -"specified in *headers*. If *encode_chunked* is ``False``, the " -"HTTPConnection object assumes that all encoding is handled by the calling " -"code. If it is ``True``, the body will be chunk-encoded." -msgstr "" - -#: ../../library/http.client.rst:297 -msgid "" -"For example, to perform a ``GET`` request to " -"``https://docs.python.org/3/``::" -msgstr "" - -#: ../../library/http.client.rst:299 -msgid "" -">>> import http.client\n" -">>> host = \"docs.python.org\"\n" -">>> conn = http.client.HTTPSConnection(host)\n" -">>> conn.request(\"GET\", \"/3/\", headers={\"Host\": host})\n" -">>> response = conn.getresponse()\n" -">>> print(response.status, response.reason)\n" -"200 OK" -msgstr "" - -#: ../../library/http.client.rst:308 -msgid "" -"Chunked transfer encoding has been added to the HTTP protocol version 1.1. " -"Unless the HTTP server is known to handle HTTP 1.1, the caller must either " -"specify the Content-Length, or must pass a :class:`str` or bytes-like object" -" that is not also a file as the body representation." -msgstr "" - -#: ../../library/http.client.rst:314 -msgid "*body* can now be an iterable." -msgstr "" - -#: ../../library/http.client.rst:317 -msgid "" -"If neither Content-Length nor Transfer-Encoding are set in *headers*, file " -"and iterable *body* objects are now chunk-encoded. The *encode_chunked* " -"argument was added. No attempt is made to determine the Content-Length for " -"file objects." -msgstr "" - -#: ../../library/http.client.rst:326 -msgid "" -"Should be called after a request is sent to get the response from the " -"server. Returns an :class:`HTTPResponse` instance." -msgstr "" - -#: ../../library/http.client.rst:331 -msgid "" -"Note that you must have read the whole response before you can send a new " -"request to the server." -msgstr "" - -#: ../../library/http.client.rst:334 -msgid "" -"If a :exc:`ConnectionError` or subclass is raised, the " -":class:`HTTPConnection` object will be ready to reconnect when a new request" -" is sent." -msgstr "" - -#: ../../library/http.client.rst:342 -msgid "" -"Set the debugging level. The default debug level is ``0``, meaning no " -"debugging output is printed. Any value greater than ``0`` will cause all " -"currently defined debug output to be printed to stdout. The ``debuglevel`` " -"is passed to any new :class:`HTTPResponse` objects that are created." -msgstr "" - -#: ../../library/http.client.rst:352 -msgid "" -"Set the host and the port for HTTP Connect Tunnelling. This allows running " -"the connection through a proxy server." -msgstr "" - -#: ../../library/http.client.rst:355 -msgid "" -"The *host* and *port* arguments specify the endpoint of the tunneled " -"connection (i.e. the address included in the CONNECT request, *not* the " -"address of the proxy server)." -msgstr "" - -#: ../../library/http.client.rst:359 -msgid "" -"The *headers* argument should be a mapping of extra HTTP headers to send " -"with the CONNECT request." -msgstr "" - -#: ../../library/http.client.rst:362 -msgid "" -"As HTTP/1.1 is used for HTTP CONNECT tunnelling request, `as per the RFC " -"`_, a HTTP " -"``Host:`` header must be provided, matching the authority-form of the " -"request target provided as the destination for the CONNECT request. If a " -"HTTP ``Host:`` header is not provided via the headers argument, one is " -"generated and transmitted automatically." -msgstr "" - -#: ../../library/http.client.rst:369 -msgid "" -"For example, to tunnel through a HTTPS proxy server running locally on port " -"8080, we would pass the address of the proxy to the :class:`HTTPSConnection`" -" constructor, and the address of the host that we eventually want to reach " -"to the :meth:`~HTTPConnection.set_tunnel` method::" -msgstr "" - -#: ../../library/http.client.rst:374 -msgid "" -">>> import http.client\n" -">>> conn = http.client.HTTPSConnection(\"localhost\", 8080)\n" -">>> conn.set_tunnel(\"www.python.org\")\n" -">>> conn.request(\"HEAD\",\"/index.html\")" -msgstr "" - -#: ../../library/http.client.rst:381 -msgid "" -"HTTP CONNECT tunnelling requests use protocol HTTP/1.1, upgraded from " -"protocol HTTP/1.0. ``Host:`` HTTP headers are mandatory for HTTP/1.1, so one" -" will be automatically generated and transmitted if not provided in the " -"headers argument." -msgstr "" - -#: ../../library/http.client.rst:390 -msgid "" -"Returns a dictionary with the headers of the response received from the " -"proxy server to the CONNECT request." -msgstr "" - -#: ../../library/http.client.rst:393 -msgid "If the CONNECT request was not sent, the method returns ``None``." -msgstr "" - -#: ../../library/http.client.rst:400 -msgid "" -"Connect to the server specified when the object was created. By default, " -"this is called automatically when making a request if the client does not " -"already have a connection." -msgstr "" - -#: ../../library/http.client.rst:404 -msgid "" -"Raises an :ref:`auditing event ` ``http.client.connect`` with " -"arguments ``self``, ``host``, ``port``." -msgstr "" - -#: ../../library/http.client.rst:409 -msgid "Close the connection to the server." -msgstr "" - -#: ../../library/http.client.rst:414 -msgid "Buffer size in bytes for sending a file-like message body." -msgstr "" - -#: ../../library/http.client.rst:419 -msgid "" -"As an alternative to using the :meth:`~HTTPConnection.request` method " -"described above, you can also send your request step by step, by using the " -"four functions below." -msgstr "" - -#: ../../library/http.client.rst:426 -msgid "" -"This should be the first call after the connection to the server has been " -"made. It sends a line to the server consisting of the *method* string, the " -"*url* string, and the HTTP version (``HTTP/1.1``). To disable automatic " -"sending of ``Host:`` or ``Accept-Encoding:`` headers (for example to accept " -"additional content encodings), specify *skip_host* or *skip_accept_encoding*" -" with non-False values." -msgstr "" - -#: ../../library/http.client.rst:436 -msgid "" -"Send an :rfc:`822`\\ -style header to the server. It sends a line to the " -"server consisting of the header, a colon and a space, and the first " -"argument. If more arguments are given, continuation lines are sent, each " -"consisting of a tab and an argument." -msgstr "" - -#: ../../library/http.client.rst:444 -msgid "" -"Send a blank line to the server, signalling the end of the headers. The " -"optional *message_body* argument can be used to pass a message body " -"associated with the request." -msgstr "" - -#: ../../library/http.client.rst:448 -msgid "" -"If *encode_chunked* is ``True``, the result of each iteration of " -"*message_body* will be chunk-encoded as specified in :rfc:`7230`, Section " -"3.3.1. How the data is encoded is dependent on the type of *message_body*." -" If *message_body* implements the :ref:`buffer interface ` " -"the encoding will result in a single chunk. If *message_body* is a " -":class:`collections.abc.Iterable`, each iteration of *message_body* will " -"result in a chunk. If *message_body* is a :term:`file object`, each call to" -" ``.read()`` will result in a chunk. The method automatically signals the " -"end of the chunk-encoded data immediately after *message_body*." -msgstr "" - -#: ../../library/http.client.rst:459 -msgid "" -"Due to the chunked encoding specification, empty chunks yielded by an " -"iterator body will be ignored by the chunk-encoder. This is to avoid " -"premature termination of the read of the request by the target server due to" -" malformed encoding." -msgstr "" - -#: ../../library/http.client.rst:464 -msgid "Added chunked encoding support and the *encode_chunked* parameter." -msgstr "" - -#: ../../library/http.client.rst:470 -msgid "" -"Send data to the server. This should be used directly only after the " -":meth:`endheaders` method has been called and before :meth:`getresponse` is " -"called." -msgstr "" - -#: ../../library/http.client.rst:474 -msgid "" -"Raises an :ref:`auditing event ` ``http.client.send`` with " -"arguments ``self``, ``data``." -msgstr "" - -#: ../../library/http.client.rst:480 -msgid "HTTPResponse Objects" -msgstr "" - -#: ../../library/http.client.rst:482 -msgid "" -"An :class:`HTTPResponse` instance wraps the HTTP response from the server. " -"It provides access to the request headers and the entity body. The response" -" is an iterable object and can be used in a with statement." -msgstr "" - -#: ../../library/http.client.rst:487 -msgid "" -"The :class:`io.BufferedIOBase` interface is now implemented and all of its " -"reader operations are supported." -msgstr "" - -#: ../../library/http.client.rst:494 -msgid "Reads and returns the response body, or up to the next *amt* bytes." -msgstr "" - -#: ../../library/http.client.rst:498 -msgid "" -"Reads up to the next len(b) bytes of the response body into the buffer *b*. " -"Returns the number of bytes read." -msgstr "" - -#: ../../library/http.client.rst:505 -msgid "" -"Return the value of the header *name*, or *default* if there is no header " -"matching *name*. If there is more than one header with the name *name*, " -"return all of the values joined by ', '. If *default* is any iterable other" -" than a single string, its elements are similarly returned joined by commas." -msgstr "" - -#: ../../library/http.client.rst:512 -msgid "Return a list of (header, value) tuples." -msgstr "" - -#: ../../library/http.client.rst:516 -msgid "Return the ``fileno`` of the underlying socket." -msgstr "" - -#: ../../library/http.client.rst:520 -msgid "" -"A :class:`http.client.HTTPMessage` instance containing the response headers." -" :class:`http.client.HTTPMessage` is a subclass of " -":class:`email.message.Message`." -msgstr "" - -#: ../../library/http.client.rst:526 -msgid "" -"HTTP protocol version used by server. 10 for HTTP/1.0, 11 for HTTP/1.1." -msgstr "" - -#: ../../library/http.client.rst:530 -msgid "" -"URL of the resource retrieved, commonly used to determine if a redirect was " -"followed." -msgstr "" - -#: ../../library/http.client.rst:534 -msgid "" -"Headers of the response in the form of an " -":class:`email.message.EmailMessage` instance." -msgstr "" - -#: ../../library/http.client.rst:538 -msgid "Status code returned by server." -msgstr "" - -#: ../../library/http.client.rst:542 -msgid "Reason phrase returned by server." -msgstr "" - -#: ../../library/http.client.rst:546 -msgid "" -"A debugging hook. If :attr:`debuglevel` is greater than zero, messages will" -" be printed to stdout as the response is read and parsed." -msgstr "" - -#: ../../library/http.client.rst:551 -msgid "Is ``True`` if the stream is closed." -msgstr "" - -#: ../../library/http.client.rst:555 -msgid "Deprecated in favor of :attr:`~HTTPResponse.url`." -msgstr "" - -#: ../../library/http.client.rst:560 -msgid "Deprecated in favor of :attr:`~HTTPResponse.headers`." -msgstr "" - -#: ../../library/http.client.rst:565 -msgid "Deprecated in favor of :attr:`~HTTPResponse.status`." -msgstr "" - -#: ../../library/http.client.rst:569 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/http.client.rst:571 -msgid "Here is an example session that uses the ``GET`` method::" -msgstr "" - -#: ../../library/http.client.rst:573 -msgid "" -">>> import http.client\n" -">>> conn = http.client.HTTPSConnection(\"www.python.org\")\n" -">>> conn.request(\"GET\", \"/\")\n" -">>> r1 = conn.getresponse()\n" -">>> print(r1.status, r1.reason)\n" -"200 OK\n" -">>> data1 = r1.read() # This will return entire content.\n" -">>> # The following example demonstrates reading data in chunks.\n" -">>> conn.request(\"GET\", \"/\")\n" -">>> r1 = conn.getresponse()\n" -">>> while chunk := r1.read(200):\n" -"... print(repr(chunk))\n" -"b'\\n'\n" -">>> print(aRepr.repr(example))\n" -"[\n" -"-->1,\n" -"-->'spam',\n" -"-->{\n" -"-->-->'a': 2,\n" -"-->-->'b': 'spam eggs',\n" -"-->-->'c': {\n" -"-->-->-->3: 4.5,\n" -"-->-->-->6: [],\n" -"-->-->},\n" -"-->},\n" -"-->'ham',\n" -"]" -msgstr "" - -#: ../../library/reprlib.rst:183 -msgid "" -"Setting :attr:`~Repr.indent` to a positive integer value behaves as if it " -"was set to a string with that number of spaces:" -msgstr "" - -#: ../../library/reprlib.rst:186 -msgid "" -">>> aRepr.indent = 4\n" -">>> print(aRepr.repr(example))\n" -"[\n" -" 1,\n" -" 'spam',\n" -" {\n" -" 'a': 2,\n" -" 'b': 'spam eggs',\n" -" 'c': {\n" -" 3: 4.5,\n" -" 6: [],\n" -" },\n" -" },\n" -" 'ham',\n" -"]" -msgstr "" - -#: ../../library/reprlib.rst:209 -msgid "" -"The equivalent to the built-in :func:`repr` that uses the formatting imposed" -" by the instance." -msgstr "" - -#: ../../library/reprlib.rst:215 -msgid "" -"Recursive implementation used by :meth:`.repr`. This uses the type of *obj*" -" to determine which formatting method to call, passing it *obj* and *level*." -" The type-specific methods should call :meth:`repr1` to perform recursive " -"formatting, with ``level - 1`` for the value of *level* in the recursive " -"call." -msgstr "" - -#: ../../library/reprlib.rst:224 -msgid "" -"Formatting methods for specific types are implemented as methods with a name" -" based on the type name. In the method name, **TYPE** is replaced by " -"``'_'.join(type(obj).__name__.split())``. Dispatch to these methods is " -"handled by :meth:`repr1`. Type-specific methods which need to recursively " -"format a value should call ``self.repr1(subobj, level - 1)``." -msgstr "" - -#: ../../library/reprlib.rst:234 -msgid "Subclassing Repr Objects" -msgstr "" - -#: ../../library/reprlib.rst:236 -msgid "" -"The use of dynamic dispatching by :meth:`Repr.repr1` allows subclasses of " -":class:`Repr` to add support for additional built-in object types or to " -"modify the handling of types already supported. This example shows how " -"special support for file objects could be added:" -msgstr "" - -#: ../../library/reprlib.rst:241 -msgid "" -"import reprlib\n" -"import sys\n" -"\n" -"class MyRepr(reprlib.Repr):\n" -"\n" -" def repr_TextIOWrapper(self, obj, level):\n" -" if obj.name in {'', '', ''}:\n" -" return obj.name\n" -" return repr(obj)\n" -"\n" -"aRepr = MyRepr()\n" -"print(aRepr.repr(sys.stdin)) # prints ''" -msgstr "" - -#: ../../library/reprlib.rst:256 -msgid "" -msgstr "" - -#: ../../library/reprlib.rst:65 -msgid "..." -msgstr "" - -#: ../../library/reprlib.rst:65 -msgid "placeholder" -msgstr "" diff --git a/python-newest.library--resource/id.po b/python-newest.library--resource/id.po deleted file mode 100644 index ff62b93..0000000 --- a/python-newest.library--resource/id.po +++ /dev/null @@ -1,590 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/resource.rst:2 -msgid ":mod:`!resource` --- Resource usage information" -msgstr "" - -#: ../../library/resource.rst:13 -msgid "" -"This module provides basic mechanisms for measuring and controlling system " -"resources utilized by a program." -msgstr "" - -#: ../../library/resource.rst:16 ../../library/resource.rst:104 -#: ../../library/resource.rst:180 ../../library/resource.rst:192 -#: ../../library/resource.rst:201 ../../library/resource.rst:210 -#: ../../library/resource.rst:220 ../../library/resource.rst:229 -#: ../../library/resource.rst:239 ../../library/resource.rst:252 -#: ../../library/resource.rst:260 ../../library/resource.rst:268 -msgid "Availability" -msgstr "" - -#: ../../library/resource.rst:18 -msgid "" -"Symbolic constants are used to specify particular system resources and to " -"request usage information about either the current process or its children." -msgstr "" - -#: ../../library/resource.rst:21 -msgid "An :exc:`OSError` is raised on syscall failure." -msgstr "" - -#: ../../library/resource.rst:26 -msgid "A deprecated alias of :exc:`OSError`." -msgstr "" - -#: ../../library/resource.rst:28 -msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." -msgstr "" - -#: ../../library/resource.rst:33 -msgid "Resource Limits" -msgstr "" - -#: ../../library/resource.rst:35 -msgid "" -"Resources usage can be limited using the :func:`setrlimit` function " -"described below. Each resource is controlled by a pair of limits: a soft " -"limit and a hard limit. The soft limit is the current limit, and may be " -"lowered or raised by a process over time. The soft limit can never exceed " -"the hard limit. The hard limit can be lowered to any value greater than the " -"soft limit, but not raised. (Only processes with the effective UID of the " -"super-user can raise a hard limit.)" -msgstr "" - -#: ../../library/resource.rst:43 -msgid "" -"The specific resources that can be limited are system dependent. They are " -"described in the :manpage:`getrlimit(2)` man page. The resources listed " -"below are supported when the underlying operating system supports them; " -"resources which cannot be checked or controlled by the operating system are " -"not defined in this module for those platforms." -msgstr "" - -#: ../../library/resource.rst:52 -msgid "Constant used to represent the limit for an unlimited resource." -msgstr "" - -#: ../../library/resource.rst:57 -msgid "" -"Returns a tuple ``(soft, hard)`` with the current soft and hard limits of " -"*resource*. Raises :exc:`ValueError` if an invalid resource is specified, or" -" :exc:`error` if the underlying system call fails unexpectedly." -msgstr "" - -#: ../../library/resource.rst:64 -msgid "" -"Sets new limits of consumption of *resource*. The *limits* argument must be " -"a tuple ``(soft, hard)`` of two integers describing the new limits. A value " -"of :data:`~resource.RLIM_INFINITY` can be used to request a limit that is " -"unlimited." -msgstr "" - -#: ../../library/resource.rst:69 -msgid "" -"Raises :exc:`ValueError` if an invalid resource is specified, if the new " -"soft limit exceeds the hard limit, or if a process tries to raise its hard " -"limit. Specifying a limit of :data:`~resource.RLIM_INFINITY` when the hard " -"or system limit for that resource is not unlimited will result in a " -":exc:`ValueError`. A process with the effective UID of super-user can " -"request any valid limit value, including unlimited, but :exc:`ValueError` " -"will still be raised if the requested limit exceeds the system imposed " -"limit." -msgstr "" - -#: ../../library/resource.rst:78 -msgid "" -"``setrlimit`` may also raise :exc:`error` if the underlying system call " -"fails." -msgstr "" - -#: ../../library/resource.rst:81 -msgid "VxWorks only supports setting :data:`RLIMIT_NOFILE`." -msgstr "" - -#: ../../library/resource.rst:83 -msgid "" -"Raises an :ref:`auditing event ` ``resource.setrlimit`` with " -"arguments ``resource``, ``limits``." -msgstr "" - -#: ../../library/resource.rst:88 -msgid "" -"Combines :func:`setrlimit` and :func:`getrlimit` in one function and " -"supports to get and set the resources limits of an arbitrary process. If " -"*pid* is 0, then the call applies to the current process. *resource* and " -"*limits* have the same meaning as in :func:`setrlimit`, except that *limits*" -" is optional." -msgstr "" - -#: ../../library/resource.rst:94 -msgid "" -"When *limits* is not given the function returns the *resource* limit of the " -"process *pid*. When *limits* is given the *resource* limit of the process is" -" set and the former resource limit is returned." -msgstr "" - -#: ../../library/resource.rst:98 -msgid "" -"Raises :exc:`ProcessLookupError` when *pid* can't be found and " -":exc:`PermissionError` when the user doesn't have ``CAP_SYS_RESOURCE`` for " -"the process." -msgstr "" - -#: ../../library/resource.rst:102 -msgid "" -"Raises an :ref:`auditing event ` ``resource.prlimit`` with " -"arguments ``pid``, ``resource``, ``limits``." -msgstr "" - -#: ../../library/resource.rst:109 -msgid "" -"These symbols define resources whose consumption can be controlled using the" -" :func:`setrlimit` and :func:`getrlimit` functions described below. The " -"values of these symbols are exactly the constants used by C programs." -msgstr "" - -#: ../../library/resource.rst:113 -msgid "" -"The Unix man page for :manpage:`getrlimit(2)` lists the available resources." -" Note that not all systems use the same symbol or same value to denote the " -"same resource. This module does not attempt to mask platform differences " -"--- symbols not defined for a platform will not be available from this " -"module on that platform." -msgstr "" - -#: ../../library/resource.rst:122 -msgid "" -"The maximum size (in bytes) of a core file that the current process can " -"create. This may result in the creation of a partial core file if a larger " -"core would be required to contain the entire process image." -msgstr "" - -#: ../../library/resource.rst:129 -msgid "" -"The maximum amount of processor time (in seconds) that a process can use. If" -" this limit is exceeded, a :const:`SIGXCPU` signal is sent to the process. " -"(See the :mod:`signal` module documentation for information about how to " -"catch this signal and do something useful, e.g. flush open files to disk.)" -msgstr "" - -#: ../../library/resource.rst:137 -msgid "The maximum size of a file which the process may create." -msgstr "" - -#: ../../library/resource.rst:142 -msgid "The maximum size (in bytes) of the process's heap." -msgstr "" - -#: ../../library/resource.rst:147 -msgid "" -"The maximum size (in bytes) of the call stack for the current process. This" -" only affects the stack of the main thread in a multi-threaded process." -msgstr "" - -#: ../../library/resource.rst:153 -msgid "" -"The maximum resident set size that should be made available to the process." -msgstr "" - -#: ../../library/resource.rst:158 -msgid "The maximum number of processes the current process may create." -msgstr "" - -#: ../../library/resource.rst:163 -msgid "The maximum number of open file descriptors for the current process." -msgstr "" - -#: ../../library/resource.rst:168 -msgid "The BSD name for :const:`RLIMIT_NOFILE`." -msgstr "" - -#: ../../library/resource.rst:173 -msgid "The maximum address space which may be locked in memory." -msgstr "" - -#: ../../library/resource.rst:178 -msgid "The largest area of mapped memory which the process may occupy." -msgstr "" - -#: ../../library/resource.rst:185 -msgid "" -"The maximum area (in bytes) of address space which may be taken by the " -"process." -msgstr "" - -#: ../../library/resource.rst:190 -msgid "The number of bytes that can be allocated for POSIX message queues." -msgstr "" - -#: ../../library/resource.rst:199 -msgid "" -"The ceiling for the process's nice level (calculated as 20 - rlim_cur)." -msgstr "" - -#: ../../library/resource.rst:208 -msgid "The ceiling of the real-time priority." -msgstr "" - -#: ../../library/resource.rst:217 -msgid "" -"The time limit (in microseconds) on CPU time that a process can spend under " -"real-time scheduling without making a blocking syscall." -msgstr "" - -#: ../../library/resource.rst:227 -msgid "The number of signals which the process may queue." -msgstr "" - -#: ../../library/resource.rst:235 -msgid "" -"The maximum size (in bytes) of socket buffer usage for this user. This " -"limits the amount of network memory, and hence the amount of mbufs, that " -"this user may hold at any time." -msgstr "" - -#: ../../library/resource.rst:245 -msgid "" -"The maximum size (in bytes) of the swap space that may be reserved or used " -"by all of this user id's processes. This limit is enforced only if bit 1 of " -"the vm.overcommit sysctl is set. Please see `tuning(7) " -"`__ for a " -"complete description of this sysctl." -msgstr "" - -#: ../../library/resource.rst:258 -msgid "The maximum number of pseudo-terminals created by this user id." -msgstr "" - -#: ../../library/resource.rst:266 -msgid "The maximum number of kqueues this user id is allowed to create." -msgstr "" - -#: ../../library/resource.rst:273 -msgid "Resource Usage" -msgstr "" - -#: ../../library/resource.rst:275 -msgid "These functions are used to retrieve resource usage information:" -msgstr "" - -#: ../../library/resource.rst:280 -msgid "" -"This function returns an object that describes the resources consumed by " -"either the current process or its children, as specified by the *who* " -"parameter. The *who* parameter should be specified using one of the " -":const:`!RUSAGE_\\*` constants described below." -msgstr "" - -#: ../../library/resource.rst:285 -msgid "A simple example::" -msgstr "" - -#: ../../library/resource.rst:287 -msgid "" -"from resource import *\n" -"import time\n" -"\n" -"# a non CPU-bound task\n" -"time.sleep(3)\n" -"print(getrusage(RUSAGE_SELF))\n" -"\n" -"# a CPU-bound task\n" -"for i in range(10 ** 8):\n" -" _ = 1 + 1\n" -"print(getrusage(RUSAGE_SELF))" -msgstr "" - -#: ../../library/resource.rst:299 -msgid "" -"The fields of the return value each describe how a particular system " -"resource has been used, e.g. amount of time spent running is user mode or " -"number of times the process was swapped out of main memory. Some values are " -"dependent on the clock tick internal, e.g. the amount of memory the process " -"is using." -msgstr "" - -#: ../../library/resource.rst:304 -msgid "" -"For backward compatibility, the return value is also accessible as a tuple " -"of 16 elements." -msgstr "" - -#: ../../library/resource.rst:307 -msgid "" -"The fields :attr:`ru_utime` and :attr:`ru_stime` of the return value are " -"floating-point values representing the amount of time spent executing in " -"user mode and the amount of time spent executing in system mode, " -"respectively. The remaining values are integers. Consult the " -":manpage:`getrusage(2)` man page for detailed information about these " -"values. A brief summary is presented here:" -msgstr "" - -#: ../../library/resource.rst:314 -msgid "Index" -msgstr "Indeks" - -#: ../../library/resource.rst:314 -msgid "Field" -msgstr "Field" - -#: ../../library/resource.rst:314 -msgid "Resource" -msgstr "Sumber Daya, *Resource*" - -#: ../../library/resource.rst:316 -msgid "``0``" -msgstr "``0``" - -#: ../../library/resource.rst:316 -msgid ":attr:`ru_utime`" -msgstr ":attr:`ru_utime`" - -#: ../../library/resource.rst:316 -msgid "time in user mode (float seconds)" -msgstr "" - -#: ../../library/resource.rst:318 -msgid "``1``" -msgstr "``1``" - -#: ../../library/resource.rst:318 -msgid ":attr:`ru_stime`" -msgstr ":attr:`ru_stime`" - -#: ../../library/resource.rst:318 -msgid "time in system mode (float seconds)" -msgstr "" - -#: ../../library/resource.rst:320 -msgid "``2``" -msgstr "``2``" - -#: ../../library/resource.rst:320 -msgid ":attr:`ru_maxrss`" -msgstr ":attr:`ru_maxrss`" - -#: ../../library/resource.rst:320 -msgid "maximum resident set size" -msgstr "" - -#: ../../library/resource.rst:322 -msgid "``3``" -msgstr "``3``" - -#: ../../library/resource.rst:322 -msgid ":attr:`ru_ixrss`" -msgstr ":attr:`ru_ixrss`" - -#: ../../library/resource.rst:322 -msgid "shared memory size" -msgstr "" - -#: ../../library/resource.rst:324 -msgid "``4``" -msgstr "``4``" - -#: ../../library/resource.rst:324 -msgid ":attr:`ru_idrss`" -msgstr ":attr:`ru_idrss`" - -#: ../../library/resource.rst:324 -msgid "unshared memory size" -msgstr "" - -#: ../../library/resource.rst:326 -msgid "``5``" -msgstr "``5``" - -#: ../../library/resource.rst:326 -msgid ":attr:`ru_isrss`" -msgstr ":attr:`ru_isrss`" - -#: ../../library/resource.rst:326 -msgid "unshared stack size" -msgstr "" - -#: ../../library/resource.rst:328 -msgid "``6``" -msgstr "``6``" - -#: ../../library/resource.rst:328 -msgid ":attr:`ru_minflt`" -msgstr ":attr:`ru_minflt`" - -#: ../../library/resource.rst:328 -msgid "page faults not requiring I/O" -msgstr "" - -#: ../../library/resource.rst:330 -msgid "``7``" -msgstr "``7``" - -#: ../../library/resource.rst:330 -msgid ":attr:`ru_majflt`" -msgstr ":attr:`ru_majflt`" - -#: ../../library/resource.rst:330 -msgid "page faults requiring I/O" -msgstr "" - -#: ../../library/resource.rst:332 -msgid "``8``" -msgstr "``8``" - -#: ../../library/resource.rst:332 -msgid ":attr:`ru_nswap`" -msgstr ":attr:`ru_nswap`" - -#: ../../library/resource.rst:332 -msgid "number of swap outs" -msgstr "" - -#: ../../library/resource.rst:334 -msgid "``9``" -msgstr "``9``" - -#: ../../library/resource.rst:334 -msgid ":attr:`ru_inblock`" -msgstr ":attr:`ru_inblock`" - -#: ../../library/resource.rst:334 -msgid "block input operations" -msgstr "" - -#: ../../library/resource.rst:336 -msgid "``10``" -msgstr "``10``" - -#: ../../library/resource.rst:336 -msgid ":attr:`ru_oublock`" -msgstr ":attr:`ru_oublock`" - -#: ../../library/resource.rst:336 -msgid "block output operations" -msgstr "" - -#: ../../library/resource.rst:338 -msgid "``11``" -msgstr "``11``" - -#: ../../library/resource.rst:338 -msgid ":attr:`ru_msgsnd`" -msgstr ":attr:`ru_msgsnd`" - -#: ../../library/resource.rst:338 -msgid "messages sent" -msgstr "" - -#: ../../library/resource.rst:340 -msgid "``12``" -msgstr "``12``" - -#: ../../library/resource.rst:340 -msgid ":attr:`ru_msgrcv`" -msgstr ":attr:`ru_msgrcv`" - -#: ../../library/resource.rst:340 -msgid "messages received" -msgstr "" - -#: ../../library/resource.rst:342 -msgid "``13``" -msgstr "``13``" - -#: ../../library/resource.rst:342 -msgid ":attr:`ru_nsignals`" -msgstr ":attr:`ru_nsignals`" - -#: ../../library/resource.rst:342 -msgid "signals received" -msgstr "" - -#: ../../library/resource.rst:344 -msgid "``14``" -msgstr "``14``" - -#: ../../library/resource.rst:344 -msgid ":attr:`ru_nvcsw`" -msgstr ":attr:`ru_nvcsw`" - -#: ../../library/resource.rst:344 -msgid "voluntary context switches" -msgstr "" - -#: ../../library/resource.rst:346 -msgid "``15``" -msgstr "``15``" - -#: ../../library/resource.rst:346 -msgid ":attr:`ru_nivcsw`" -msgstr ":attr:`ru_nivcsw`" - -#: ../../library/resource.rst:346 -msgid "involuntary context switches" -msgstr "" - -#: ../../library/resource.rst:349 -msgid "" -"This function will raise a :exc:`ValueError` if an invalid *who* parameter " -"is specified. It may also raise :exc:`error` exception in unusual " -"circumstances." -msgstr "" - -#: ../../library/resource.rst:355 -msgid "" -"Returns the number of bytes in a system page. (This need not be the same as " -"the hardware page size.)" -msgstr "" - -#: ../../library/resource.rst:358 -msgid "" -"The following :const:`!RUSAGE_\\*` symbols are passed to the " -":func:`getrusage` function to specify which processes information should be " -"provided for." -msgstr "" - -#: ../../library/resource.rst:364 -msgid "" -"Pass to :func:`getrusage` to request resources consumed by the calling " -"process, which is the sum of resources used by all threads in the process." -msgstr "" - -#: ../../library/resource.rst:370 -msgid "" -"Pass to :func:`getrusage` to request resources consumed by child processes " -"of the calling process which have been terminated and waited for." -msgstr "" - -#: ../../library/resource.rst:376 -msgid "" -"Pass to :func:`getrusage` to request resources consumed by both the current " -"process and child processes. May not be available on all systems." -msgstr "" - -#: ../../library/resource.rst:382 -msgid "" -"Pass to :func:`getrusage` to request resources consumed by the current " -"thread. May not be available on all systems." -msgstr "" diff --git a/python-newest.library--rlcompleter/id.po b/python-newest.library--rlcompleter/id.po deleted file mode 100644 index 93bacc1..0000000 --- a/python-newest.library--rlcompleter/id.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/rlcompleter.rst:2 -msgid ":mod:`!rlcompleter` --- Completion function for GNU readline" -msgstr "" - -#: ../../library/rlcompleter.rst:9 -msgid "**Source code:** :source:`Lib/rlcompleter.py`" -msgstr "" - -#: ../../library/rlcompleter.rst:13 -msgid "" -"The :mod:`!rlcompleter` module defines a completion function suitable to be " -"passed to :func:`~readline.set_completer` in the :mod:`readline` module." -msgstr "" - -#: ../../library/rlcompleter.rst:16 -msgid "" -"When this module is imported on a Unix platform with the :mod:`readline` " -"module available, an instance of the :class:`Completer` class is " -"automatically created and its :meth:`~Completer.complete` method is set as " -"the :ref:`readline completer `. The method provides " -"completion of valid Python :ref:`identifiers and keywords `." -msgstr "" - -#: ../../library/rlcompleter.rst:22 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/rlcompleter.rst:24 -msgid "" -">>> import rlcompleter\n" -">>> import readline\n" -">>> readline.parse_and_bind(\"tab: complete\")\n" -">>> readline. \n" -"readline.__doc__ readline.get_line_buffer( readline.read_init_file(\n" -"readline.__file__ readline.insert_text( readline.set_completer(\n" -"readline.__name__ readline.parse_and_bind(\n" -">>> readline." -msgstr "" - -#: ../../library/rlcompleter.rst:33 -msgid "" -"The :mod:`!rlcompleter` module is designed for use with Python's " -":ref:`interactive mode `. Unless Python is run with the " -":option:`-S` option, the module is automatically imported and configured " -"(see :ref:`rlcompleter-config`)." -msgstr "" - -#: ../../library/rlcompleter.rst:38 -msgid "" -"On platforms without :mod:`readline`, the :class:`Completer` class defined " -"by this module can still be used for custom purposes." -msgstr "" - -#: ../../library/rlcompleter.rst:46 -msgid "Completer objects have the following method:" -msgstr "" - -#: ../../library/rlcompleter.rst:50 -msgid "Return the next possible completion for *text*." -msgstr "" - -#: ../../library/rlcompleter.rst:52 -msgid "" -"When called by the :mod:`readline` module, this method is called " -"successively with ``state == 0, 1, 2, ...`` until the method returns " -"``None``." -msgstr "" - -#: ../../library/rlcompleter.rst:56 -msgid "" -"If called for *text* that doesn't include a period character (``'.'``), it " -"will complete from names currently defined in :mod:`__main__`, " -":mod:`builtins` and keywords (as defined by the :mod:`keyword` module)." -msgstr "" - -#: ../../library/rlcompleter.rst:60 -msgid "" -"If called for a dotted name, it will try to evaluate anything without " -"obvious side-effects (functions will not be evaluated, but it can generate " -"calls to :meth:`~object.__getattr__`) up to the last part, and find matches " -"for the rest via the :func:`dir` function. Any exception raised during the " -"evaluation of the expression is caught, silenced and :const:`None` is " -"returned." -msgstr "" diff --git a/python-newest.library--runpy/id.po b/python-newest.library--runpy/id.po deleted file mode 100644 index 747a094..0000000 --- a/python-newest.library--runpy/id.po +++ /dev/null @@ -1,286 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Dionesius Agung , 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/runpy.rst:2 -msgid ":mod:`!runpy` --- Locating and executing Python modules" -msgstr "" - -#: ../../library/runpy.rst:9 -msgid "**Source code:** :source:`Lib/runpy.py`" -msgstr "" - -#: ../../library/runpy.rst:13 -msgid "" -"The :mod:`runpy` module is used to locate and run Python modules without " -"importing them first. Its main use is to implement the :option:`-m` command " -"line switch that allows scripts to be located using the Python module " -"namespace rather than the filesystem." -msgstr "" - -#: ../../library/runpy.rst:18 -msgid "" -"Note that this is *not* a sandbox module - all code is executed in the " -"current process, and any side effects (such as cached imports of other " -"modules) will remain in place after the functions have returned." -msgstr "" - -#: ../../library/runpy.rst:22 -msgid "" -"Furthermore, any functions and classes defined by the executed code are not " -"guaranteed to work correctly after a :mod:`runpy` function has returned. If " -"that limitation is not acceptable for a given use case, :mod:`importlib` is " -"likely to be a more suitable choice than this module." -msgstr "" - -#: ../../library/runpy.rst:27 -msgid "The :mod:`runpy` module provides two functions:" -msgstr "" - -#: ../../library/runpy.rst:35 -msgid "" -"Execute the code of the specified module and return the resulting module's " -"globals dictionary. The module's code is first located using the standard " -"import mechanism (refer to :pep:`302` for details) and then executed in a " -"fresh module namespace." -msgstr "" - -#: ../../library/runpy.rst:40 -msgid "" -"The *mod_name* argument should be an absolute module name. If the module " -"name refers to a package rather than a normal module, then that package is " -"imported and the :mod:`__main__` submodule within that package is then " -"executed and the resulting module globals dictionary returned." -msgstr "" - -#: ../../library/runpy.rst:46 -msgid "" -"The optional dictionary argument *init_globals* may be used to pre-populate " -"the module's globals dictionary before the code is executed. *init_globals* " -"will not be modified. If any of the special global variables below are " -"defined in *init_globals*, those definitions are overridden by " -":func:`run_module`." -msgstr "" - -#: ../../library/runpy.rst:52 ../../library/runpy.rst:127 -msgid "" -"The special global variables ``__name__``, ``__spec__``, ``__file__``, " -"``__cached__``, ``__loader__`` and ``__package__`` are set in the globals " -"dictionary before the module code is executed. (Note that this is a minimal " -"set of variables - other variables may be set implicitly as an interpreter " -"implementation detail.)" -msgstr "" - -#: ../../library/runpy.rst:58 -msgid "" -"``__name__`` is set to *run_name* if this optional argument is not " -":const:`None`, to ``mod_name + '.__main__'`` if the named module is a " -"package and to the *mod_name* argument otherwise." -msgstr "" - -#: ../../library/runpy.rst:62 -msgid "" -"``__spec__`` will be set appropriately for the *actually* imported module " -"(that is, ``__spec__.name`` will always be *mod_name* or ``mod_name + " -"'.__main__'``, never *run_name*)." -msgstr "" - -#: ../../library/runpy.rst:66 -msgid "" -"``__file__``, ``__cached__``, ``__loader__`` and ``__package__`` are " -":ref:`set as normal ` based on the module spec." -msgstr "" - -#: ../../library/runpy.rst:69 -msgid "" -"If the argument *alter_sys* is supplied and evaluates to :const:`True`, then" -" ``sys.argv[0]`` is updated with the value of ``__file__`` and " -"``sys.modules[__name__]`` is updated with a temporary module object for the " -"module being executed. Both ``sys.argv[0]`` and ``sys.modules[__name__]`` " -"are restored to their original values before the function returns." -msgstr "" - -#: ../../library/runpy.rst:75 -msgid "" -"Note that this manipulation of :mod:`sys` is not thread-safe. Other threads " -"may see the partially initialised module, as well as the altered list of " -"arguments. It is recommended that the ``sys`` module be left alone when " -"invoking this function from threaded code." -msgstr "" - -#: ../../library/runpy.rst:81 -msgid "" -"The :option:`-m` option offering equivalent functionality from the command " -"line." -msgstr "" - -#: ../../library/runpy.rst:84 -msgid "" -"Added ability to execute packages by looking for a :mod:`__main__` " -"submodule." -msgstr "" - -#: ../../library/runpy.rst:87 -msgid "Added ``__cached__`` global variable (see :pep:`3147`)." -msgstr "" - -#: ../../library/runpy.rst:90 -msgid "" -"Updated to take advantage of the module spec feature added by :pep:`451`. " -"This allows ``__cached__`` to be set correctly for modules run this way, as " -"well as ensuring the real module name is always accessible as " -"``__spec__.name``." -msgstr "" - -#: ../../library/runpy.rst:96 -msgid "" -"The setting of ``__cached__``, ``__loader__``, and ``__package__`` are " -"deprecated. See :class:`~importlib.machinery.ModuleSpec` for alternatives." -msgstr "" - -#: ../../library/runpy.rst:106 -msgid "" -"Execute the code at the named filesystem location and return the resulting " -"module's globals dictionary. As with a script name supplied to the CPython " -"command line, *file_path* may refer to a Python source file, a compiled " -"bytecode file or a valid :data:`sys.path` entry containing a :mod:`__main__`" -" module (e.g. a zipfile containing a top-level :file:`__main__.py` file)." -msgstr "" - -#: ../../library/runpy.rst:113 -msgid "" -"For a simple script, the specified code is simply executed in a fresh module" -" namespace. For a valid :data:`sys.path` entry (typically a zipfile or " -"directory), the entry is first added to the beginning of ``sys.path``. The " -"function then looks for and executes a :mod:`__main__` module using the " -"updated path. Note that there is no special protection against invoking an " -"existing ``__main__`` entry located elsewhere on ``sys.path`` if there is no" -" such module at the specified location." -msgstr "" - -#: ../../library/runpy.rst:121 -msgid "" -"The optional dictionary argument *init_globals* may be used to pre-populate " -"the module's globals dictionary before the code is executed. *init_globals* " -"will not be modified. If any of the special global variables below are " -"defined in *init_globals*, those definitions are overridden by " -":func:`run_path`." -msgstr "" - -#: ../../library/runpy.rst:133 -msgid "" -"``__name__`` is set to *run_name* if this optional argument is not " -":const:`None` and to ``''`` otherwise." -msgstr "" - -#: ../../library/runpy.rst:136 -msgid "" -"If *file_path* directly references a script file (whether as source or as " -"precompiled byte code), then ``__file__`` will be set to *file_path*, and " -"``__spec__``, ``__cached__``, ``__loader__`` and ``__package__`` will all be" -" set to :const:`None`." -msgstr "" - -#: ../../library/runpy.rst:141 -msgid "" -"If *file_path* is a reference to a valid :data:`sys.path` entry, then " -"``__spec__`` will be set appropriately for the imported :mod:`__main__` " -"module (that is, ``__spec__.name`` will always be ``__main__``). " -"``__file__``, ``__cached__``, ``__loader__`` and ``__package__`` will be " -":ref:`set as normal ` based on the module spec." -msgstr "" - -#: ../../library/runpy.rst:147 -msgid "" -"A number of alterations are also made to the :mod:`sys` module. Firstly, " -":data:`sys.path` may be altered as described above. ``sys.argv[0]`` is " -"updated with the value of *file_path* and ``sys.modules[__name__]`` is " -"updated with a temporary module object for the module being executed. All " -"modifications to items in :mod:`sys` are reverted before the function " -"returns." -msgstr "" - -#: ../../library/runpy.rst:154 -msgid "" -"Note that, unlike :func:`run_module`, the alterations made to :mod:`sys` are" -" not optional in this function as these adjustments are essential to " -"allowing the execution of :data:`sys.path` entries. As the thread-safety " -"limitations still apply, use of this function in threaded code should be " -"either serialised with the import lock or delegated to a separate process." -msgstr "" - -#: ../../library/runpy.rst:161 -msgid "" -":ref:`using-on-interface-options` for equivalent functionality on the " -"command line (``python path/to/script``)." -msgstr "" - -#: ../../library/runpy.rst:166 -msgid "" -"Updated to take advantage of the module spec feature added by :pep:`451`. " -"This allows ``__cached__`` to be set correctly in the case where " -"``__main__`` is imported from a valid :data:`sys.path` entry rather than " -"being executed directly." -msgstr "" - -#: ../../library/runpy.rst:172 -msgid "" -"The setting of ``__cached__``, ``__loader__``, and ``__package__`` are " -"deprecated." -msgstr "" - -#: ../../library/runpy.rst:178 -msgid ":pep:`338` -- Executing modules as scripts" -msgstr "" - -#: ../../library/runpy.rst:179 ../../library/runpy.rst:182 -msgid "PEP written and implemented by Nick Coghlan." -msgstr "PEP ditulis dan diimplementasi oleh Nick Coghlan." - -#: ../../library/runpy.rst:181 -msgid ":pep:`366` -- Main module explicit relative imports" -msgstr "" - -#: ../../library/runpy.rst:184 -msgid ":pep:`451` -- A ModuleSpec Type for the Import System" -msgstr "" - -#: ../../library/runpy.rst:185 -msgid "PEP written and implemented by Eric Snow" -msgstr "" - -#: ../../library/runpy.rst:187 -msgid ":ref:`using-on-general` - CPython command line details" -msgstr "" - -#: ../../library/runpy.rst:189 -msgid "The :func:`importlib.import_module` function" -msgstr "" - -#: ../../library/runpy.rst:32 ../../library/runpy.rst:103 -msgid "module" -msgstr "modul" - -#: ../../library/runpy.rst:32 ../../library/runpy.rst:103 -msgid "__main__" -msgstr "" diff --git a/python-newest.library--sched/id.po b/python-newest.library--sched/id.po deleted file mode 100644 index a831f96..0000000 --- a/python-newest.library--sched/id.po +++ /dev/null @@ -1,189 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/sched.rst:2 -msgid ":mod:`!sched` --- Event scheduler" -msgstr "" - -#: ../../library/sched.rst:9 -msgid "**Source code:** :source:`Lib/sched.py`" -msgstr "" - -#: ../../library/sched.rst:15 -msgid "" -"The :mod:`sched` module defines a class which implements a general purpose " -"event scheduler:" -msgstr "" - -#: ../../library/sched.rst:20 -msgid "" -"The :class:`scheduler` class defines a generic interface to scheduling " -"events. It needs two functions to actually deal with the \"outside world\" " -"--- *timefunc* should be callable without arguments, and return a number " -"(the \"time\", in any units whatsoever). The *delayfunc* function should be" -" callable with one argument, compatible with the output of *timefunc*, and " -"should delay that many time units. *delayfunc* will also be called with the " -"argument ``0`` after each event is run to allow other threads an opportunity" -" to run in multi-threaded applications." -msgstr "" - -#: ../../library/sched.rst:29 -msgid "*timefunc* and *delayfunc* parameters are optional." -msgstr "" - -#: ../../library/sched.rst:32 -msgid "" -":class:`scheduler` class can be safely used in multi-threaded environments." -msgstr "" - -#: ../../library/sched.rst:36 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/sched.rst:38 -msgid "" -">>> import sched, time\n" -">>> s = sched.scheduler(time.time, time.sleep)\n" -">>> def print_time(a='default'):\n" -"... print(\"From print_time\", time.time(), a)\n" -"...\n" -">>> def print_some_times():\n" -"... print(time.time())\n" -"... s.enter(10, 1, print_time)\n" -"... s.enter(5, 2, print_time, argument=('positional',))\n" -"... # despite having higher priority, 'keyword' runs after 'positional' as enter() is relative\n" -"... s.enter(5, 1, print_time, kwargs={'a': 'keyword'})\n" -"... s.enterabs(1_650_000_000, 10, print_time, argument=(\"first enterabs\",))\n" -"... s.enterabs(1_650_000_000, 5, print_time, argument=(\"second enterabs\",))\n" -"... s.run()\n" -"... print(time.time())\n" -"...\n" -">>> print_some_times()\n" -"1652342830.3640375\n" -"From print_time 1652342830.3642538 second enterabs\n" -"From print_time 1652342830.3643398 first enterabs\n" -"From print_time 1652342835.3694863 positional\n" -"From print_time 1652342835.3696074 keyword\n" -"From print_time 1652342840.369612 default\n" -"1652342840.3697174" -msgstr "" - -#: ../../library/sched.rst:67 -msgid "Scheduler Objects" -msgstr "" - -#: ../../library/sched.rst:69 -msgid "" -":class:`scheduler` instances have the following methods and attributes:" -msgstr "" - -#: ../../library/sched.rst:74 -msgid "" -"Schedule a new event. The *time* argument should be a numeric type " -"compatible with the return value of the *timefunc* function passed to the " -"constructor. Events scheduled for the same *time* will be executed in the " -"order of their *priority*. A lower number represents a higher priority." -msgstr "" - -#: ../../library/sched.rst:79 -msgid "" -"Executing the event means executing ``action(*argument, **kwargs)``. " -"*argument* is a sequence holding the positional arguments for *action*. " -"*kwargs* is a dictionary holding the keyword arguments for *action*." -msgstr "" - -#: ../../library/sched.rst:83 -msgid "" -"Return value is an event which may be used for later cancellation of the " -"event (see :meth:`cancel`)." -msgstr "" - -#: ../../library/sched.rst:86 ../../library/sched.rst:99 -msgid "*argument* parameter is optional." -msgstr "" - -#: ../../library/sched.rst:89 ../../library/sched.rst:102 -msgid "*kwargs* parameter was added." -msgstr "" - -#: ../../library/sched.rst:95 -msgid "" -"Schedule an event for *delay* more time units. Other than the relative time," -" the other arguments, the effect and the return value are the same as those " -"for :meth:`enterabs`." -msgstr "" - -#: ../../library/sched.rst:107 -msgid "" -"Remove the event from the queue. If *event* is not an event currently in the" -" queue, this method will raise a :exc:`ValueError`." -msgstr "" - -#: ../../library/sched.rst:113 -msgid "Return ``True`` if the event queue is empty." -msgstr "" - -#: ../../library/sched.rst:118 -msgid "" -"Run all scheduled events. This method will wait (using the *delayfunc* " -"function passed to the constructor) for the next event, then execute it and " -"so on until there are no more scheduled events." -msgstr "" - -#: ../../library/sched.rst:122 -msgid "" -"If *blocking* is false executes the scheduled events due to expire soonest " -"(if any) and then return the deadline of the next scheduled call in the " -"scheduler (if any)." -msgstr "" - -#: ../../library/sched.rst:126 -msgid "" -"Either *action* or *delayfunc* can raise an exception. In either case, the " -"scheduler will maintain a consistent state and propagate the exception. If " -"an exception is raised by *action*, the event will not be attempted in " -"future calls to :meth:`run`." -msgstr "" - -#: ../../library/sched.rst:131 -msgid "" -"If a sequence of events takes longer to run than the time available before " -"the next event, the scheduler will simply fall behind. No events will be " -"dropped; the calling code is responsible for canceling events which are no " -"longer pertinent." -msgstr "" - -#: ../../library/sched.rst:136 -msgid "*blocking* parameter was added." -msgstr "" - -#: ../../library/sched.rst:141 -msgid "" -"Read-only attribute returning a list of upcoming events in the order they " -"will be run. Each event is shown as a :term:`named tuple` with the " -"following fields: time, priority, action, argument, kwargs." -msgstr "" - -#: ../../library/sched.rst:11 -msgid "event scheduling" -msgstr "" diff --git a/python-newest.library--secrets/id.po b/python-newest.library--secrets/id.po deleted file mode 100644 index 84ce55d..0000000 --- a/python-newest.library--secrets/id.po +++ /dev/null @@ -1,246 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/secrets.rst:2 -msgid "" -":mod:`!secrets` --- Generate secure random numbers for managing secrets" -msgstr "" - -#: ../../library/secrets.rst:16 -msgid "**Source code:** :source:`Lib/secrets.py`" -msgstr "" - -#: ../../library/secrets.rst:20 -msgid "" -"The :mod:`secrets` module is used for generating cryptographically strong " -"random numbers suitable for managing data such as passwords, account " -"authentication, security tokens, and related secrets." -msgstr "" - -#: ../../library/secrets.rst:24 -msgid "" -"In particular, :mod:`secrets` should be used in preference to the default " -"pseudo-random number generator in the :mod:`random` module, which is " -"designed for modelling and simulation, not security or cryptography." -msgstr "" - -#: ../../library/secrets.rst:30 -msgid ":pep:`506`" -msgstr "" - -#: ../../library/secrets.rst:34 -msgid "Random numbers" -msgstr "" - -#: ../../library/secrets.rst:36 -msgid "" -"The :mod:`secrets` module provides access to the most secure source of " -"randomness that your operating system provides." -msgstr "" - -#: ../../library/secrets.rst:41 -msgid "" -"A class for generating random numbers using the highest-quality sources " -"provided by the operating system. See :class:`random.SystemRandom` for " -"additional details." -msgstr "" - -#: ../../library/secrets.rst:47 -msgid "Return a randomly chosen element from a non-empty sequence." -msgstr "" - -#: ../../library/secrets.rst:51 -msgid "Return a random int in the range [0, *exclusive_upper_bound*)." -msgstr "" - -#: ../../library/secrets.rst:55 -msgid "Return a non-negative int with *k* random bits." -msgstr "" - -#: ../../library/secrets.rst:59 -msgid "Generating tokens" -msgstr "" - -#: ../../library/secrets.rst:61 -msgid "" -"The :mod:`secrets` module provides functions for generating secure tokens, " -"suitable for applications such as password resets, hard-to-guess URLs, and " -"similar." -msgstr "" - -#: ../../library/secrets.rst:67 -msgid "" -"Return a random byte string containing *nbytes* number of bytes. If *nbytes*" -" is ``None`` or not supplied, a reasonable default is used." -msgstr "" - -#: ../../library/secrets.rst:71 -msgid "" -">>> token_bytes(16)\n" -"b'\\xebr\\x17D*t\\xae\\xd4\\xe3S\\xb6\\xe2\\xebP1\\x8b'" -msgstr "" - -#: ../../library/secrets.rst:79 -msgid "" -"Return a random text string, in hexadecimal. The string has *nbytes* random" -" bytes, each byte converted to two hex digits. If *nbytes* is ``None`` or " -"not supplied, a reasonable default is used." -msgstr "" - -#: ../../library/secrets.rst:83 -msgid "" -">>> token_hex(16)\n" -"'f9bf78b9a18ce6d46a0cd2b0b86df9da'" -msgstr "" - -#: ../../library/secrets.rst:90 -msgid "" -"Return a random URL-safe text string, containing *nbytes* random bytes. The" -" text is Base64 encoded, so on average each byte results in approximately " -"1.3 characters. If *nbytes* is ``None`` or not supplied, a reasonable " -"default is used." -msgstr "" - -#: ../../library/secrets.rst:95 -msgid "" -">>> token_urlsafe(16)\n" -"'Drmhze6EPcv0fN_81Bj-nA'" -msgstr "" - -#: ../../library/secrets.rst:102 -msgid "How many bytes should tokens use?" -msgstr "" - -#: ../../library/secrets.rst:104 -msgid "" -"To be secure against `brute-force attacks " -"`_, tokens need to have " -"sufficient randomness. Unfortunately, what is considered sufficient will " -"necessarily increase as computers get more powerful and able to make more " -"guesses in a shorter period. As of 2015, it is believed that 32 bytes (256 " -"bits) of randomness is sufficient for the typical use-case expected for the " -":mod:`secrets` module." -msgstr "" - -#: ../../library/secrets.rst:112 -msgid "" -"For those who want to manage their own token length, you can explicitly " -"specify how much randomness is used for tokens by giving an :class:`int` " -"argument to the various ``token_*`` functions. That argument is taken as " -"the number of bytes of randomness to use." -msgstr "" - -#: ../../library/secrets.rst:117 -msgid "" -"Otherwise, if no argument is provided, or if the argument is ``None``, the " -"``token_*`` functions will use a reasonable default instead." -msgstr "" - -#: ../../library/secrets.rst:122 -msgid "" -"That default is subject to change at any time, including during maintenance " -"releases." -msgstr "" - -#: ../../library/secrets.rst:127 -msgid "Other functions" -msgstr "" - -#: ../../library/secrets.rst:131 -msgid "" -"Return ``True`` if strings or :term:`bytes-like objects `" -" *a* and *b* are equal, otherwise ``False``, using a \"constant-time " -"compare\" to reduce the risk of `timing attacks " -"`_. See " -":func:`hmac.compare_digest` for additional details." -msgstr "" - -#: ../../library/secrets.rst:140 -msgid "Recipes and best practices" -msgstr "" - -#: ../../library/secrets.rst:142 -msgid "" -"This section shows recipes and best practices for using :mod:`secrets` to " -"manage a basic level of security." -msgstr "" - -#: ../../library/secrets.rst:145 -msgid "Generate an eight-character alphanumeric password:" -msgstr "" - -#: ../../library/secrets.rst:147 -msgid "" -"import string\n" -"import secrets\n" -"alphabet = string.ascii_letters + string.digits\n" -"password = ''.join(secrets.choice(alphabet) for i in range(8))" -msgstr "" - -#: ../../library/secrets.rst:157 -msgid "" -"Applications should not :cwe:`store passwords in a recoverable format " -"<257>`, whether plain text or encrypted. They should be salted and hashed " -"using a cryptographically strong one-way (irreversible) hash function." -msgstr "" - -#: ../../library/secrets.rst:163 -msgid "" -"Generate a ten-character alphanumeric password with at least one lowercase " -"character, at least one uppercase character, and at least three digits:" -msgstr "" - -#: ../../library/secrets.rst:167 -msgid "" -"import string\n" -"import secrets\n" -"alphabet = string.ascii_letters + string.digits\n" -"while True:\n" -" password = ''.join(secrets.choice(alphabet) for i in range(10))\n" -" if (any(c.islower() for c in password)\n" -" and any(c.isupper() for c in password)\n" -" and sum(c.isdigit() for c in password) >= 3):\n" -" break" -msgstr "" - -#: ../../library/secrets.rst:180 -msgid "Generate an `XKCD-style passphrase `_:" -msgstr "" - -#: ../../library/secrets.rst:182 -msgid "" -"import secrets\n" -"# On standard Linux systems, use a convenient dictionary file.\n" -"# Other platforms may need to provide their own word-list.\n" -"with open('/usr/share/dict/words') as f:\n" -" words = [word.strip() for word in f]\n" -" password = ' '.join(secrets.choice(words) for i in range(4))" -msgstr "" - -#: ../../library/secrets.rst:192 -msgid "" -"Generate a hard-to-guess temporary URL containing a security token suitable " -"for password recovery applications:" -msgstr "" - -#: ../../library/secrets.rst:195 -msgid "" -"import secrets\n" -"url = 'https://example.com/reset=' + secrets.token_urlsafe()" -msgstr "" diff --git a/python-newest.library--security_warnings/id.po b/python-newest.library--security_warnings/id.po deleted file mode 100644 index ee675d3..0000000 --- a/python-newest.library--security_warnings/id.po +++ /dev/null @@ -1,113 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-08-10 13:22+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/security_warnings.rst:6 -msgid "Security Considerations" -msgstr "" - -#: ../../library/security_warnings.rst:8 -msgid "The following modules have specific security considerations:" -msgstr "" - -#: ../../library/security_warnings.rst:10 -msgid "" -":mod:`base64`: :ref:`base64 security considerations ` in " -":rfc:`4648`" -msgstr "" - -#: ../../library/security_warnings.rst:12 -msgid "" -":mod:`hashlib`: :ref:`all constructors take a \"usedforsecurity\" keyword-" -"only argument disabling known insecure and blocked algorithms `" -msgstr "" - -#: ../../library/security_warnings.rst:15 -msgid "" -":mod:`http.server` is not suitable for production use, only implementing " -"basic security checks. See the :ref:`security considerations `." -msgstr "" - -#: ../../library/security_warnings.rst:17 -msgid "" -":mod:`logging`: :ref:`Logging configuration uses eval() `" -msgstr "" - -#: ../../library/security_warnings.rst:19 -msgid "" -":mod:`multiprocessing`: :ref:`Connection.recv() uses pickle " -"`" -msgstr "" - -#: ../../library/security_warnings.rst:21 -msgid ":mod:`pickle`: :ref:`Restricting globals in pickle `" -msgstr "" - -#: ../../library/security_warnings.rst:22 -msgid "" -":mod:`random` shouldn't be used for security purposes, use :mod:`secrets` " -"instead" -msgstr "" - -#: ../../library/security_warnings.rst:24 -msgid "" -":mod:`shelve`: :ref:`shelve is based on pickle and thus unsuitable for " -"dealing with untrusted sources `" -msgstr "" - -#: ../../library/security_warnings.rst:26 -msgid ":mod:`ssl`: :ref:`SSL/TLS security considerations `" -msgstr "" - -#: ../../library/security_warnings.rst:27 -msgid "" -":mod:`subprocess`: :ref:`Subprocess security considerations `" -msgstr "" - -#: ../../library/security_warnings.rst:29 -msgid "" -":mod:`tempfile`: :ref:`mktemp is deprecated due to vulnerability to race " -"conditions `" -msgstr "" - -#: ../../library/security_warnings.rst:31 -msgid ":mod:`xml`: :ref:`XML vulnerabilities `" -msgstr "" - -#: ../../library/security_warnings.rst:32 -msgid "" -":mod:`zipfile`: :ref:`maliciously prepared .zip files can cause disk volume " -"exhaustion `" -msgstr "" - -#: ../../library/security_warnings.rst:35 -msgid "" -"The :option:`-I` command line option can be used to run Python in isolated " -"mode. When it cannot be used, the :option:`-P` option or the " -":envvar:`PYTHONSAFEPATH` environment variable can be used to not prepend a " -"potentially unsafe path to :data:`sys.path` such as the current directory, " -"the script's directory or an empty string." -msgstr "" - -#: ../../library/security_warnings.rst:3 -msgid "security considerations" -msgstr "" diff --git a/python-newest.library--select/id.po b/python-newest.library--select/id.po deleted file mode 100644 index 673b199..0000000 --- a/python-newest.library--select/id.po +++ /dev/null @@ -1,1032 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/select.rst:2 -msgid ":mod:`!select` --- Waiting for I/O completion" -msgstr "" - -#: ../../library/select.rst:9 -msgid "" -"This module provides access to the :c:func:`!select` and :c:func:`!poll` " -"functions available in most operating systems, :c:func:`!devpoll` available " -"on Solaris and derivatives, :c:func:`!epoll` available on Linux 2.5+ and " -":c:func:`!kqueue` available on most BSD. Note that on Windows, it only works" -" for sockets; on other operating systems, it also works for other file types" -" (in particular, on Unix, it works on pipes). It cannot be used on regular " -"files to determine whether a file has grown since it was last read." -msgstr "" - -#: ../../library/select.rst:20 -msgid "" -"The :mod:`selectors` module allows high-level and efficient I/O " -"multiplexing, built upon the :mod:`select` module primitives. Users are " -"encouraged to use the :mod:`selectors` module instead, unless they want " -"precise control over the OS-level primitives used." -msgstr "" - -#: ../../library/select.rst:177 ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/select.rst:27 -msgid "The module defines the following:" -msgstr "" - -#: ../../library/select.rst:32 -msgid "A deprecated alias of :exc:`OSError`." -msgstr "" - -#: ../../library/select.rst:34 -msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." -msgstr "" - -#: ../../library/select.rst:40 -msgid "" -"(Only supported on Solaris and derivatives.) Returns a ``/dev/poll`` " -"polling object; see section :ref:`devpoll-objects` below for the methods " -"supported by devpoll objects." -msgstr "" - -#: ../../library/select.rst:44 -msgid "" -":c:func:`!devpoll` objects are linked to the number of file descriptors " -"allowed at the time of instantiation. If your program reduces this value, " -":c:func:`!devpoll` will fail. If your program increases this value, " -":c:func:`!devpoll` may return an incomplete list of active file descriptors." -msgstr "" - -#: ../../library/select.rst:50 ../../library/select.rst:79 -#: ../../library/select.rst:106 -msgid "The new file descriptor is :ref:`non-inheritable `." -msgstr "" - -#: ../../library/select.rst:54 ../../library/select.rst:108 -msgid "The new file descriptor is now non-inheritable." -msgstr "" - -#: ../../library/select.rst:59 -msgid "" -"(Only supported on Linux 2.5.44 and newer.) Return an edge polling object, " -"which can be used as Edge or Level Triggered interface for I/O events." -msgstr "" - -#: ../../library/select.rst:63 -msgid "" -"*sizehint* informs epoll about the expected number of events to be " -"registered. It must be positive, or ``-1`` to use the default. It is only " -"used on older systems where :c:func:`!epoll_create1` is not available; " -"otherwise it has no effect (though its value is still checked)." -msgstr "" - -#: ../../library/select.rst:68 -msgid "" -"*flags* is deprecated and completely ignored. However, when supplied, its " -"value must be ``0`` or ``select.EPOLL_CLOEXEC``, otherwise ``OSError`` is " -"raised." -msgstr "" - -#: ../../library/select.rst:72 -msgid "" -"See the :ref:`epoll-objects` section below for the methods supported by " -"epolling objects." -msgstr "" - -#: ../../library/select.rst:75 -msgid "" -"``epoll`` objects support the context management protocol: when used in a " -":keyword:`with` statement, the new file descriptor is automatically closed " -"at the end of the block." -msgstr "" - -#: ../../library/select.rst:81 -msgid "Added the *flags* parameter." -msgstr "" - -#: ../../library/select.rst:84 -msgid "" -"Support for the :keyword:`with` statement was added. The new file descriptor" -" is now non-inheritable." -msgstr "" - -#: ../../library/select.rst:88 -msgid "" -"The *flags* parameter. ``select.EPOLL_CLOEXEC`` is used by default now. Use" -" :func:`os.set_inheritable` to make the file descriptor inheritable." -msgstr "" - -#: ../../library/select.rst:95 -msgid "" -"(Not supported by all operating systems.) Returns a polling object, which " -"supports registering and unregistering file descriptors, and then polling " -"them for I/O events; see section :ref:`poll-objects` below for the methods " -"supported by polling objects." -msgstr "" - -#: ../../library/select.rst:103 -msgid "" -"(Only supported on BSD.) Returns a kernel queue object; see section " -":ref:`kqueue-objects` below for the methods supported by kqueue objects." -msgstr "" - -#: ../../library/select.rst:114 -msgid "" -"(Only supported on BSD.) Returns a kernel event object; see section " -":ref:`kevent-objects` below for the methods supported by kevent objects." -msgstr "" - -#: ../../library/select.rst:120 -msgid "" -"This is a straightforward interface to the Unix :c:func:`!select` system " -"call. The first three arguments are iterables of 'waitable objects': either " -"integers representing file descriptors or objects with a parameterless " -"method named :meth:`~io.IOBase.fileno` returning such an integer:" -msgstr "" - -#: ../../library/select.rst:125 -msgid "*rlist*: wait until ready for reading" -msgstr "" - -#: ../../library/select.rst:126 -msgid "*wlist*: wait until ready for writing" -msgstr "" - -#: ../../library/select.rst:127 -msgid "" -"*xlist*: wait for an \"exceptional condition\" (see the manual page for what" -" your system considers such a condition)" -msgstr "" - -#: ../../library/select.rst:130 -msgid "" -"Empty iterables are allowed, but acceptance of three empty iterables is " -"platform-dependent. (It is known to work on Unix but not on Windows.) The " -"optional *timeout* argument specifies a time-out as a floating-point number " -"in seconds. When the *timeout* argument is omitted the function blocks " -"until at least one file descriptor is ready. A time-out value of zero " -"specifies a poll and never blocks." -msgstr "" - -#: ../../library/select.rst:137 -msgid "" -"The return value is a triple of lists of objects that are ready: subsets of " -"the first three arguments. When the time-out is reached without a file " -"descriptor becoming ready, three empty lists are returned." -msgstr "" - -#: ../../library/select.rst:145 -msgid "" -"Among the acceptable object types in the iterables are Python :term:`file " -"objects ` (e.g. ``sys.stdin``, or objects returned by " -":func:`open` or :func:`os.popen`), socket objects returned by " -":func:`socket.socket`. You may also define a :dfn:`wrapper` class yourself," -" as long as it has an appropriate :meth:`~io.IOBase.fileno` method (that " -"really returns a file descriptor, not just a random integer)." -msgstr "" - -#: ../../library/select.rst:156 -msgid "" -"File objects on Windows are not acceptable, but sockets are. On Windows, " -"the underlying :c:func:`!select` function is provided by the WinSock " -"library, and does not handle file descriptors that don't originate from " -"WinSock." -msgstr "" - -#: ../../library/select.rst:161 ../../library/select.rst:267 -#: ../../library/select.rst:373 ../../library/select.rst:461 -#: ../../library/select.rst:502 -msgid "" -"The function is now retried with a recomputed timeout when interrupted by a " -"signal, except if the signal handler raises an exception (see :pep:`475` for" -" the rationale), instead of raising :exc:`InterruptedError`." -msgstr "" - -#: ../../library/select.rst:170 -msgid "" -"The minimum number of bytes which can be written without blocking to a pipe " -"when the pipe has been reported as ready for writing by " -":func:`~select.select`, :func:`!poll` or another interface in this module. " -"This doesn't apply to other kind of file-like objects such as sockets." -msgstr "" - -#: ../../library/select.rst:175 -msgid "This value is guaranteed by POSIX to be at least 512." -msgstr "" - -#: ../../library/select.rst:185 -msgid "``/dev/poll`` Polling Objects" -msgstr "" - -#: ../../library/select.rst:187 -msgid "" -"Solaris and derivatives have ``/dev/poll``. While :c:func:`!select` is *O*\\" -" (*highest file descriptor*) and :c:func:`!poll` is *O*\\ (*number of file " -"descriptors*), ``/dev/poll`` is *O*\\ (*active file descriptors*)." -msgstr "" - -#: ../../library/select.rst:191 -msgid "" -"``/dev/poll`` behaviour is very close to the standard :c:func:`!poll` " -"object." -msgstr "" - -#: ../../library/select.rst:197 -msgid "Close the file descriptor of the polling object." -msgstr "" - -#: ../../library/select.rst:204 -msgid "``True`` if the polling object is closed." -msgstr "" - -#: ../../library/select.rst:211 -msgid "Return the file descriptor number of the polling object." -msgstr "" - -#: ../../library/select.rst:218 ../../library/select.rst:396 -msgid "" -"Register a file descriptor with the polling object. Future calls to the " -":meth:`poll` method will then check whether the file descriptor has any " -"pending I/O events. *fd* can be either an integer, or an object with a " -":meth:`~io.IOBase.fileno` method that returns an integer. File objects " -"implement :meth:`!fileno`, so they can also be used as the argument." -msgstr "" - -#: ../../library/select.rst:224 -msgid "" -"*eventmask* is an optional bitmask describing the type of events you want to" -" check for. The constants are the same that with :c:func:`!poll` object. The" -" default value is a combination of the constants :const:`POLLIN`, " -":const:`POLLPRI`, and :const:`POLLOUT`." -msgstr "" - -#: ../../library/select.rst:231 -msgid "" -"Registering a file descriptor that's already registered is not an error, but" -" the result is undefined. The appropriate action is to unregister or modify " -"it first. This is an important difference compared with :c:func:`!poll`." -msgstr "" - -#: ../../library/select.rst:239 -msgid "" -"This method does an :meth:`unregister` followed by a :meth:`register`. It is" -" (a bit) more efficient that doing the same explicitly." -msgstr "" - -#: ../../library/select.rst:246 ../../library/select.rst:440 -msgid "" -"Remove a file descriptor being tracked by a polling object. Just like the " -":meth:`register` method, *fd* can be an integer or an object with a " -":meth:`~io.IOBase.fileno` method that returns an integer." -msgstr "" - -#: ../../library/select.rst:250 -msgid "" -"Attempting to remove a file descriptor that was never registered is safely " -"ignored." -msgstr "" - -#: ../../library/select.rst:256 -msgid "" -"Polls the set of registered file descriptors, and returns a possibly empty " -"list containing ``(fd, event)`` 2-tuples for the descriptors that have " -"events or errors to report. *fd* is the file descriptor, and *event* is a " -"bitmask with bits set for the reported events for that descriptor --- " -":const:`POLLIN` for waiting input, :const:`POLLOUT` to indicate that the " -"descriptor can be written to, and so forth. An empty list indicates that the" -" call timed out and no file descriptors had any events to report. If " -"*timeout* is given, it specifies the length of time in milliseconds which " -"the system will wait for events before returning. If *timeout* is omitted, " -"-1, or :const:`None`, the call will block until there is an event for this " -"poll object." -msgstr "" - -#: ../../library/select.rst:277 -msgid "Edge and Level Trigger Polling (epoll) Objects" -msgstr "" - -#: ../../library/select.rst:279 -msgid "https://linux.die.net/man/4/epoll" -msgstr "" - -#: ../../library/select.rst:281 -msgid "*eventmask*" -msgstr "" - -#: ../../library/select.rst:284 ../../library/select.rst:408 -#: ../../library/select.rst:528 ../../library/select.rst:557 -#: ../../library/select.rst:588 ../../library/select.rst:596 -#: ../../library/select.rst:616 ../../library/select.rst:639 -msgid "Constant" -msgstr "Konstanta" - -#: ../../library/select.rst:284 ../../library/select.rst:408 -#: ../../library/select.rst:528 ../../library/select.rst:557 -#: ../../library/select.rst:588 ../../library/select.rst:596 -#: ../../library/select.rst:616 ../../library/select.rst:639 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/select.rst:286 -msgid ":const:`EPOLLIN`" -msgstr ":const:`EPOLLIN`" - -#: ../../library/select.rst:286 -msgid "Available for read" -msgstr "" - -#: ../../library/select.rst:288 -msgid ":const:`EPOLLOUT`" -msgstr ":const:`EPOLLOUT`" - -#: ../../library/select.rst:288 -msgid "Available for write" -msgstr "" - -#: ../../library/select.rst:290 -msgid ":const:`EPOLLPRI`" -msgstr ":const:`EPOLLPRI`" - -#: ../../library/select.rst:290 -msgid "Urgent data for read" -msgstr "" - -#: ../../library/select.rst:292 -msgid ":const:`EPOLLERR`" -msgstr ":const:`EPOLLERR`" - -#: ../../library/select.rst:292 -msgid "Error condition happened on the assoc. fd" -msgstr "" - -#: ../../library/select.rst:294 -msgid ":const:`EPOLLHUP`" -msgstr ":const:`EPOLLHUP`" - -#: ../../library/select.rst:294 -msgid "Hang up happened on the assoc. fd" -msgstr "" - -#: ../../library/select.rst:296 -msgid ":const:`EPOLLET`" -msgstr ":const:`EPOLLET`" - -#: ../../library/select.rst:296 -msgid "Set Edge Trigger behavior, the default is Level Trigger behavior" -msgstr "" - -#: ../../library/select.rst:299 -msgid ":const:`EPOLLONESHOT`" -msgstr ":const:`EPOLLONESHOT`" - -#: ../../library/select.rst:299 -msgid "" -"Set one-shot behavior. After one event is pulled out, the fd is internally " -"disabled" -msgstr "" - -#: ../../library/select.rst:302 -msgid ":const:`EPOLLEXCLUSIVE`" -msgstr ":const:`EPOLLEXCLUSIVE`" - -#: ../../library/select.rst:302 -msgid "" -"Wake only one epoll object when the associated fd has an event. The default " -"(if this flag is not set) is to wake all epoll objects polling on a fd." -msgstr "" - -#: ../../library/select.rst:307 -msgid ":const:`EPOLLRDHUP`" -msgstr ":const:`EPOLLRDHUP`" - -#: ../../library/select.rst:307 -msgid "" -"Stream socket peer closed connection or shut down writing half of " -"connection." -msgstr "" - -#: ../../library/select.rst:310 -msgid ":const:`EPOLLRDNORM`" -msgstr ":const:`EPOLLRDNORM`" - -#: ../../library/select.rst:310 -msgid "Equivalent to :const:`EPOLLIN`" -msgstr "Sama dengan :const:`EPOLLIN`" - -#: ../../library/select.rst:312 -msgid ":const:`EPOLLRDBAND`" -msgstr ":const:`EPOLLRDBAND`" - -#: ../../library/select.rst:312 -msgid "Priority data band can be read." -msgstr "" - -#: ../../library/select.rst:314 -msgid ":const:`EPOLLWRNORM`" -msgstr ":const:`EPOLLWRNORM`" - -#: ../../library/select.rst:314 -msgid "Equivalent to :const:`EPOLLOUT`" -msgstr "Sama dengan :const:`EPOLLOUT`" - -#: ../../library/select.rst:316 -msgid ":const:`EPOLLWRBAND`" -msgstr ":const:`EPOLLWRBAND`" - -#: ../../library/select.rst:316 -msgid "Priority data may be written." -msgstr "" - -#: ../../library/select.rst:318 -msgid ":const:`EPOLLMSG`" -msgstr ":const:`EPOLLMSG`" - -#: ../../library/select.rst:318 -msgid "Ignored." -msgstr "" - -#: ../../library/select.rst:320 -msgid ":const:`EPOLLWAKEUP`" -msgstr "" - -#: ../../library/select.rst:320 -msgid "Prevents sleep during event waiting." -msgstr "" - -#: ../../library/select.rst:323 -msgid "" -":const:`EPOLLEXCLUSIVE` was added. It's only supported by Linux Kernel 4.5 " -"or later." -msgstr "" - -#: ../../library/select.rst:327 -msgid "" -":const:`EPOLLWAKEUP` was added. It's only supported by Linux Kernel 3.5 or " -"later." -msgstr "" - -#: ../../library/select.rst:333 -msgid "Close the control file descriptor of the epoll object." -msgstr "" - -#: ../../library/select.rst:338 -msgid "``True`` if the epoll object is closed." -msgstr "" - -#: ../../library/select.rst:343 ../../library/select.rst:485 -msgid "Return the file descriptor number of the control fd." -msgstr "" - -#: ../../library/select.rst:348 -msgid "Create an epoll object from a given file descriptor." -msgstr "" - -#: ../../library/select.rst:353 -msgid "Register a fd descriptor with the epoll object." -msgstr "" - -#: ../../library/select.rst:358 -msgid "Modify a registered file descriptor." -msgstr "" - -#: ../../library/select.rst:363 -msgid "Remove a registered file descriptor from the epoll object." -msgstr "" - -#: ../../library/select.rst:365 -msgid "The method no longer ignores the :data:`~errno.EBADF` error." -msgstr "" - -#: ../../library/select.rst:371 -msgid "Wait for events. timeout in seconds (float)" -msgstr "" - -#: ../../library/select.rst:383 -msgid "Polling Objects" -msgstr "" - -#: ../../library/select.rst:385 -msgid "" -"The :c:func:`!poll` system call, supported on most Unix systems, provides " -"better scalability for network servers that service many, many clients at " -"the same time. :c:func:`!poll` scales better because the system call only " -"requires listing the file descriptors of interest, while :c:func:`!select` " -"builds a bitmap, turns on bits for the fds of interest, and then afterward " -"the whole bitmap has to be linearly scanned again. :c:func:`!select` is " -"*O*\\ (*highest file descriptor*), while :c:func:`!poll` is *O*\\ (*number " -"of file descriptors*)." -msgstr "" - -#: ../../library/select.rst:402 -msgid "" -"*eventmask* is an optional bitmask describing the type of events you want to" -" check for, and can be a combination of the constants :const:`POLLIN`, " -":const:`POLLPRI`, and :const:`POLLOUT`, described in the table below. If " -"not specified, the default value used will check for all 3 types of events." -msgstr "" - -#: ../../library/select.rst:410 -msgid ":const:`POLLIN`" -msgstr ":const:`POLLIN`" - -#: ../../library/select.rst:410 -msgid "There is data to read" -msgstr "" - -#: ../../library/select.rst:412 -msgid ":const:`POLLPRI`" -msgstr ":const:`POLLPRI`" - -#: ../../library/select.rst:412 -msgid "There is urgent data to read" -msgstr "" - -#: ../../library/select.rst:414 -msgid ":const:`POLLOUT`" -msgstr ":const:`POLLOUT`" - -#: ../../library/select.rst:414 -msgid "Ready for output: writing will not block" -msgstr "" - -#: ../../library/select.rst:416 -msgid ":const:`POLLERR`" -msgstr ":const:`POLLERR`" - -#: ../../library/select.rst:416 -msgid "Error condition of some sort" -msgstr "" - -#: ../../library/select.rst:418 -msgid ":const:`POLLHUP`" -msgstr ":const:`POLLHUP`" - -#: ../../library/select.rst:418 -msgid "Hung up" -msgstr "" - -#: ../../library/select.rst:420 -msgid ":const:`POLLRDHUP`" -msgstr ":const:`POLLRDHUP`" - -#: ../../library/select.rst:420 -msgid "" -"Stream socket peer closed connection, or shut down writing half of " -"connection" -msgstr "" - -#: ../../library/select.rst:423 -msgid ":const:`POLLNVAL`" -msgstr ":const:`POLLNVAL`" - -#: ../../library/select.rst:423 -msgid "Invalid request: descriptor not open" -msgstr "" - -#: ../../library/select.rst:426 -msgid "" -"Registering a file descriptor that's already registered is not an error, and" -" has the same effect as registering the descriptor exactly once." -msgstr "" - -#: ../../library/select.rst:432 -msgid "" -"Modifies an already registered fd. This has the same effect as " -"``register(fd, eventmask)``. Attempting to modify a file descriptor that " -"was never registered causes an :exc:`OSError` exception with errno " -":const:`ENOENT` to be raised." -msgstr "" - -#: ../../library/select.rst:444 -msgid "" -"Attempting to remove a file descriptor that was never registered causes a " -":exc:`KeyError` exception to be raised." -msgstr "" - -#: ../../library/select.rst:450 -msgid "" -"Polls the set of registered file descriptors, and returns a possibly empty " -"list containing ``(fd, event)`` 2-tuples for the descriptors that have " -"events or errors to report. *fd* is the file descriptor, and *event* is a " -"bitmask with bits set for the reported events for that descriptor --- " -":const:`POLLIN` for waiting input, :const:`POLLOUT` to indicate that the " -"descriptor can be written to, and so forth. An empty list indicates that the" -" call timed out and no file descriptors had any events to report. If " -"*timeout* is given, it specifies the length of time in milliseconds which " -"the system will wait for events before returning. If *timeout* is omitted, " -"negative, or :const:`None`, the call will block until there is an event for " -"this poll object." -msgstr "" - -#: ../../library/select.rst:471 -msgid "Kqueue Objects" -msgstr "" - -#: ../../library/select.rst:475 -msgid "Close the control file descriptor of the kqueue object." -msgstr "" - -#: ../../library/select.rst:480 -msgid "``True`` if the kqueue object is closed." -msgstr "" - -#: ../../library/select.rst:490 -msgid "Create a kqueue object from a given file descriptor." -msgstr "" - -#: ../../library/select.rst:495 -msgid "Low level interface to kevent" -msgstr "" - -#: ../../library/select.rst:497 -msgid "changelist must be an iterable of kevent objects or ``None``" -msgstr "" - -#: ../../library/select.rst:498 -msgid "max_events must be 0 or a positive integer" -msgstr "" - -#: ../../library/select.rst:499 -msgid "" -"timeout in seconds (floats possible); the default is ``None``, to wait " -"forever" -msgstr "" - -#: ../../library/select.rst:512 -msgid "Kevent Objects" -msgstr "" - -#: ../../library/select.rst:514 -msgid "https://man.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2" -msgstr "" - -#: ../../library/select.rst:518 -msgid "" -"Value used to identify the event. The interpretation depends on the filter " -"but it's usually the file descriptor. In the constructor ident can either be" -" an int or an object with a :meth:`~io.IOBase.fileno` method. kevent stores " -"the integer internally." -msgstr "" - -#: ../../library/select.rst:525 -msgid "Name of the kernel filter." -msgstr "" - -#: ../../library/select.rst:530 -msgid ":const:`KQ_FILTER_READ`" -msgstr ":const:`KQ_FILTER_READ`" - -#: ../../library/select.rst:530 -msgid "" -"Takes a descriptor and returns whenever there is data available to read" -msgstr "" - -#: ../../library/select.rst:533 -msgid ":const:`KQ_FILTER_WRITE`" -msgstr ":const:`KQ_FILTER_WRITE`" - -#: ../../library/select.rst:533 -msgid "" -"Takes a descriptor and returns whenever there is data available to write" -msgstr "" - -#: ../../library/select.rst:536 -msgid ":const:`KQ_FILTER_AIO`" -msgstr ":const:`KQ_FILTER_AIO`" - -#: ../../library/select.rst:536 -msgid "AIO requests" -msgstr "" - -#: ../../library/select.rst:538 -msgid ":const:`KQ_FILTER_VNODE`" -msgstr ":const:`KQ_FILTER_VNODE`" - -#: ../../library/select.rst:538 -msgid "" -"Returns when one or more of the requested events watched in *fflag* occurs" -msgstr "" - -#: ../../library/select.rst:541 -msgid ":const:`KQ_FILTER_PROC`" -msgstr ":const:`KQ_FILTER_PROC`" - -#: ../../library/select.rst:541 -msgid "Watch for events on a process id" -msgstr "" - -#: ../../library/select.rst:543 -msgid ":const:`KQ_FILTER_NETDEV`" -msgstr ":const:`KQ_FILTER_NETDEV`" - -#: ../../library/select.rst:543 -msgid "Watch for events on a network device [not available on macOS]" -msgstr "" - -#: ../../library/select.rst:546 -msgid ":const:`KQ_FILTER_SIGNAL`" -msgstr ":const:`KQ_FILTER_SIGNAL`" - -#: ../../library/select.rst:546 -msgid "Returns whenever the watched signal is delivered to the process" -msgstr "" - -#: ../../library/select.rst:549 -msgid ":const:`KQ_FILTER_TIMER`" -msgstr ":const:`KQ_FILTER_TIMER`" - -#: ../../library/select.rst:549 -msgid "Establishes an arbitrary timer" -msgstr "" - -#: ../../library/select.rst:554 -msgid "Filter action." -msgstr "" - -#: ../../library/select.rst:559 -msgid ":const:`KQ_EV_ADD`" -msgstr ":const:`KQ_EV_ADD`" - -#: ../../library/select.rst:559 -msgid "Adds or modifies an event" -msgstr "" - -#: ../../library/select.rst:561 -msgid ":const:`KQ_EV_DELETE`" -msgstr ":const:`KQ_EV_DELETE`" - -#: ../../library/select.rst:561 -msgid "Removes an event from the queue" -msgstr "" - -#: ../../library/select.rst:563 -msgid ":const:`KQ_EV_ENABLE`" -msgstr ":const:`KQ_EV_ENABLE`" - -#: ../../library/select.rst:563 -msgid "Permitscontrol() to returns the event" -msgstr "" - -#: ../../library/select.rst:565 -msgid ":const:`KQ_EV_DISABLE`" -msgstr ":const:`KQ_EV_DISABLE`" - -#: ../../library/select.rst:565 -msgid "Disablesevent" -msgstr "" - -#: ../../library/select.rst:567 -msgid ":const:`KQ_EV_ONESHOT`" -msgstr ":const:`KQ_EV_ONESHOT`" - -#: ../../library/select.rst:567 -msgid "Removes event after first occurrence" -msgstr "" - -#: ../../library/select.rst:569 -msgid ":const:`KQ_EV_CLEAR`" -msgstr ":const:`KQ_EV_CLEAR`" - -#: ../../library/select.rst:569 -msgid "Reset the state after an event is retrieved" -msgstr "" - -#: ../../library/select.rst:571 -msgid ":const:`KQ_EV_SYSFLAGS`" -msgstr ":const:`KQ_EV_SYSFLAGS`" - -#: ../../library/select.rst:571 ../../library/select.rst:573 -msgid "internal event" -msgstr "" - -#: ../../library/select.rst:573 -msgid ":const:`KQ_EV_FLAG1`" -msgstr ":const:`KQ_EV_FLAG1`" - -#: ../../library/select.rst:575 -msgid ":const:`KQ_EV_EOF`" -msgstr ":const:`KQ_EV_EOF`" - -#: ../../library/select.rst:575 -msgid "Filter specific EOF condition" -msgstr "" - -#: ../../library/select.rst:577 -msgid ":const:`KQ_EV_ERROR`" -msgstr ":const:`KQ_EV_ERROR`" - -#: ../../library/select.rst:577 -msgid "See return values" -msgstr "" - -#: ../../library/select.rst:583 -msgid "Filter specific flags." -msgstr "" - -#: ../../library/select.rst:585 -msgid ":const:`KQ_FILTER_READ` and :const:`KQ_FILTER_WRITE` filter flags:" -msgstr "" - -#: ../../library/select.rst:590 -msgid ":const:`KQ_NOTE_LOWAT`" -msgstr ":const:`KQ_NOTE_LOWAT`" - -#: ../../library/select.rst:590 -msgid "low water mark of a socket buffer" -msgstr "" - -#: ../../library/select.rst:593 -msgid ":const:`KQ_FILTER_VNODE` filter flags:" -msgstr "" - -#: ../../library/select.rst:598 -msgid ":const:`KQ_NOTE_DELETE`" -msgstr ":const:`KQ_NOTE_DELETE`" - -#: ../../library/select.rst:598 -msgid "*unlink()* was called" -msgstr "" - -#: ../../library/select.rst:600 -msgid ":const:`KQ_NOTE_WRITE`" -msgstr ":const:`KQ_NOTE_WRITE`" - -#: ../../library/select.rst:600 -msgid "a write occurred" -msgstr "" - -#: ../../library/select.rst:602 -msgid ":const:`KQ_NOTE_EXTEND`" -msgstr ":const:`KQ_NOTE_EXTEND`" - -#: ../../library/select.rst:602 -msgid "the file was extended" -msgstr "" - -#: ../../library/select.rst:604 -msgid ":const:`KQ_NOTE_ATTRIB`" -msgstr ":const:`KQ_NOTE_ATTRIB`" - -#: ../../library/select.rst:604 -msgid "an attribute was changed" -msgstr "" - -#: ../../library/select.rst:606 -msgid ":const:`KQ_NOTE_LINK`" -msgstr ":const:`KQ_NOTE_LINK`" - -#: ../../library/select.rst:606 -msgid "the link count has changed" -msgstr "" - -#: ../../library/select.rst:608 -msgid ":const:`KQ_NOTE_RENAME`" -msgstr ":const:`KQ_NOTE_RENAME`" - -#: ../../library/select.rst:608 -msgid "the file was renamed" -msgstr "" - -#: ../../library/select.rst:610 -msgid ":const:`KQ_NOTE_REVOKE`" -msgstr ":const:`KQ_NOTE_REVOKE`" - -#: ../../library/select.rst:610 -msgid "access to the file was revoked" -msgstr "" - -#: ../../library/select.rst:613 -msgid ":const:`KQ_FILTER_PROC` filter flags:" -msgstr "" - -#: ../../library/select.rst:618 -msgid ":const:`KQ_NOTE_EXIT`" -msgstr ":const:`KQ_NOTE_EXIT`" - -#: ../../library/select.rst:618 -msgid "the process has exited" -msgstr "" - -#: ../../library/select.rst:620 -msgid ":const:`KQ_NOTE_FORK`" -msgstr ":const:`KQ_NOTE_FORK`" - -#: ../../library/select.rst:620 -msgid "the process has called *fork()*" -msgstr "" - -#: ../../library/select.rst:622 -msgid ":const:`KQ_NOTE_EXEC`" -msgstr ":const:`KQ_NOTE_EXEC`" - -#: ../../library/select.rst:622 -msgid "the process has executed a new process" -msgstr "" - -#: ../../library/select.rst:624 -msgid ":const:`KQ_NOTE_PCTRLMASK`" -msgstr ":const:`KQ_NOTE_PCTRLMASK`" - -#: ../../library/select.rst:624 ../../library/select.rst:626 -msgid "internal filter flag" -msgstr "" - -#: ../../library/select.rst:626 -msgid ":const:`KQ_NOTE_PDATAMASK`" -msgstr ":const:`KQ_NOTE_PDATAMASK`" - -#: ../../library/select.rst:628 -msgid ":const:`KQ_NOTE_TRACK`" -msgstr ":const:`KQ_NOTE_TRACK`" - -#: ../../library/select.rst:628 -msgid "follow a process across *fork()*" -msgstr "" - -#: ../../library/select.rst:630 -msgid ":const:`KQ_NOTE_CHILD`" -msgstr ":const:`KQ_NOTE_CHILD`" - -#: ../../library/select.rst:630 -msgid "returned on the child process for *NOTE_TRACK*" -msgstr "" - -#: ../../library/select.rst:633 -msgid ":const:`KQ_NOTE_TRACKERR`" -msgstr ":const:`KQ_NOTE_TRACKERR`" - -#: ../../library/select.rst:633 -msgid "unable to attach to a child" -msgstr "" - -#: ../../library/select.rst:636 -msgid ":const:`KQ_FILTER_NETDEV` filter flags (not available on macOS):" -msgstr "" - -#: ../../library/select.rst:641 -msgid ":const:`KQ_NOTE_LINKUP`" -msgstr ":const:`KQ_NOTE_LINKUP`" - -#: ../../library/select.rst:641 -msgid "link is up" -msgstr "" - -#: ../../library/select.rst:643 -msgid ":const:`KQ_NOTE_LINKDOWN`" -msgstr ":const:`KQ_NOTE_LINKDOWN`" - -#: ../../library/select.rst:643 -msgid "link is down" -msgstr "" - -#: ../../library/select.rst:645 -msgid ":const:`KQ_NOTE_LINKINV`" -msgstr ":const:`KQ_NOTE_LINKINV`" - -#: ../../library/select.rst:645 -msgid "link state is invalid" -msgstr "" - -#: ../../library/select.rst:651 -msgid "Filter specific data." -msgstr "" - -#: ../../library/select.rst:656 -msgid "User defined value." -msgstr "" - -#: ../../library/select.rst:141 -msgid "socket() (in module socket)" -msgstr "" - -#: ../../library/select.rst:141 -msgid "popen() (in module os)" -msgstr "" - -#: ../../library/select.rst:154 -msgid "WinSock" -msgstr "" diff --git a/python-newest.library--selectors/id.po b/python-newest.library--selectors/id.po deleted file mode 100644 index 8e48698..0000000 --- a/python-newest.library--selectors/id.po +++ /dev/null @@ -1,378 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Helen Febriani , 2018 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/selectors.rst:2 -msgid ":mod:`!selectors` --- High-level I/O multiplexing" -msgstr "" - -#: ../../library/selectors.rst:9 -msgid "**Source code:** :source:`Lib/selectors.py`" -msgstr "" - -#: ../../library/selectors.rst:14 -msgid "Introduction" -msgstr "Pengantar" - -#: ../../library/selectors.rst:16 -msgid "" -"This module allows high-level and efficient I/O multiplexing, built upon the" -" :mod:`select` module primitives. Users are encouraged to use this module " -"instead, unless they want precise control over the OS-level primitives used." -msgstr "" - -#: ../../library/selectors.rst:20 -msgid "" -"It defines a :class:`BaseSelector` abstract base class, along with several " -"concrete implementations (:class:`KqueueSelector`, " -":class:`EpollSelector`...), that can be used to wait for I/O readiness " -"notification on multiple file objects. In the following, \"file object\" " -"refers to any object with a :meth:`~io.IOBase.fileno` method, or a raw file " -"descriptor. See :term:`file object`." -msgstr "" - -#: ../../library/selectors.rst:26 -msgid "" -":class:`DefaultSelector` is an alias to the most efficient implementation " -"available on the current platform: this should be the default choice for " -"most users." -msgstr "" - -#: ../../library/selectors.rst:31 -msgid "" -"The type of file objects supported depends on the platform: on Windows, " -"sockets are supported, but not pipes, whereas on Unix, both are supported " -"(some other types may be supported as well, such as fifos or special file " -"devices)." -msgstr "" - -#: ../../library/selectors.rst:38 -msgid ":mod:`select`" -msgstr "" - -#: ../../library/selectors.rst:39 -msgid "Low-level I/O multiplexing module." -msgstr "" - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/selectors.rst:44 -msgid "Classes" -msgstr "Classes" - -#: ../../library/selectors.rst:46 -msgid "Classes hierarchy::" -msgstr "" - -#: ../../library/selectors.rst:48 -msgid "" -"BaseSelector\n" -"+-- SelectSelector\n" -"+-- PollSelector\n" -"+-- EpollSelector\n" -"+-- DevpollSelector\n" -"+-- KqueueSelector" -msgstr "" - -#: ../../library/selectors.rst:56 -msgid "" -"In the following, *events* is a bitwise mask indicating which I/O events " -"should be waited for on a given file object. It can be a combination of the " -"modules constants below:" -msgstr "" - -#: ../../library/selectors.rst:61 -msgid "Constant" -msgstr "Konstanta" - -#: ../../library/selectors.rst:61 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/selectors.rst:63 -msgid "Available for read" -msgstr "" - -#: ../../library/selectors.rst:65 -msgid "Available for write" -msgstr "" - -#: ../../library/selectors.rst:71 -msgid "" -"A :class:`SelectorKey` is a :class:`~collections.namedtuple` used to " -"associate a file object to its underlying file descriptor, selected event " -"mask and attached data. It is returned by several :class:`BaseSelector` " -"methods." -msgstr "" - -#: ../../library/selectors.rst:78 -msgid "File object registered." -msgstr "" - -#: ../../library/selectors.rst:82 -msgid "Underlying file descriptor." -msgstr "" - -#: ../../library/selectors.rst:86 -msgid "Events that must be waited for on this file object." -msgstr "" - -#: ../../library/selectors.rst:90 -msgid "" -"Optional opaque data associated to this file object: for example, this could" -" be used to store a per-client session ID." -msgstr "" - -#: ../../library/selectors.rst:96 -msgid "" -"A :class:`BaseSelector` is used to wait for I/O event readiness on multiple " -"file objects. It supports file stream registration, unregistration, and a " -"method to wait for I/O events on those streams, with an optional timeout. " -"It's an abstract base class, so cannot be instantiated. Use " -":class:`DefaultSelector` instead, or one of :class:`SelectSelector`, " -":class:`KqueueSelector` etc. if you want to specifically use an " -"implementation, and your platform supports it. :class:`BaseSelector` and its" -" concrete implementations support the :term:`context manager` protocol." -msgstr "" - -#: ../../library/selectors.rst:109 -msgid "Register a file object for selection, monitoring it for I/O events." -msgstr "" - -#: ../../library/selectors.rst:111 -msgid "" -"*fileobj* is the file object to monitor. It may either be an integer file " -"descriptor or an object with a ``fileno()`` method. *events* is a bitwise " -"mask of events to monitor. *data* is an opaque object." -msgstr "" - -#: ../../library/selectors.rst:116 -msgid "" -"This returns a new :class:`SelectorKey` instance, or raises a " -":exc:`ValueError` in case of invalid event mask or file descriptor, or " -":exc:`KeyError` if the file object is already registered." -msgstr "" - -#: ../../library/selectors.rst:123 -msgid "" -"Unregister a file object from selection, removing it from monitoring. A file" -" object shall be unregistered prior to being closed." -msgstr "" - -#: ../../library/selectors.rst:126 -msgid "*fileobj* must be a file object previously registered." -msgstr "" - -#: ../../library/selectors.rst:128 -msgid "" -"This returns the associated :class:`SelectorKey` instance, or raises a " -":exc:`KeyError` if *fileobj* is not registered. It will raise " -":exc:`ValueError` if *fileobj* is invalid (e.g. it has no ``fileno()`` " -"method or its ``fileno()`` method has an invalid return value)." -msgstr "" - -#: ../../library/selectors.rst:135 -msgid "Change a registered file object's monitored events or attached data." -msgstr "" - -#: ../../library/selectors.rst:137 -msgid "" -"This is equivalent to ``BaseSelector.unregister(fileobj)`` followed by " -"``BaseSelector.register(fileobj, events, data)``, except that it can be " -"implemented more efficiently." -msgstr "" - -#: ../../library/selectors.rst:141 -msgid "" -"This returns a new :class:`SelectorKey` instance, or raises a " -":exc:`ValueError` in case of invalid event mask or file descriptor, or " -":exc:`KeyError` if the file object is not registered." -msgstr "" - -#: ../../library/selectors.rst:148 -msgid "" -"Wait until some registered file objects become ready, or the timeout " -"expires." -msgstr "" - -#: ../../library/selectors.rst:151 -msgid "" -"If ``timeout > 0``, this specifies the maximum wait time, in seconds. If " -"``timeout <= 0``, the call won't block, and will report the currently ready " -"file objects. If *timeout* is ``None``, the call will block until a " -"monitored file object becomes ready." -msgstr "" - -#: ../../library/selectors.rst:157 -msgid "" -"This returns a list of ``(key, events)`` tuples, one for each ready file " -"object." -msgstr "" - -#: ../../library/selectors.rst:160 -msgid "" -"*key* is the :class:`SelectorKey` instance corresponding to a ready file " -"object. *events* is a bitmask of events ready on this file object." -msgstr "" - -#: ../../library/selectors.rst:165 -msgid "" -"This method can return before any file object becomes ready or the timeout " -"has elapsed if the current process receives a signal: in this case, an empty" -" list will be returned." -msgstr "" - -#: ../../library/selectors.rst:169 -msgid "" -"The selector is now retried with a recomputed timeout when interrupted by a " -"signal if the signal handler did not raise an exception (see :pep:`475` for " -"the rationale), instead of returning an empty list of events before the " -"timeout." -msgstr "" - -#: ../../library/selectors.rst:177 -msgid "Close the selector." -msgstr "" - -#: ../../library/selectors.rst:179 -msgid "" -"This must be called to make sure that any underlying resource is freed. The " -"selector shall not be used once it has been closed." -msgstr "" - -#: ../../library/selectors.rst:184 -msgid "Return the key associated with a registered file object." -msgstr "" - -#: ../../library/selectors.rst:186 -msgid "" -"This returns the :class:`SelectorKey` instance associated to this file " -"object, or raises :exc:`KeyError` if the file object is not registered." -msgstr "" - -#: ../../library/selectors.rst:192 -msgid "Return a mapping of file objects to selector keys." -msgstr "" - -#: ../../library/selectors.rst:194 -msgid "" -"This returns a :class:`~collections.abc.Mapping` instance mapping registered" -" file objects to their associated :class:`SelectorKey` instance." -msgstr "" - -#: ../../library/selectors.rst:201 -msgid "" -"The default selector class, using the most efficient implementation " -"available on the current platform. This should be the default choice for " -"most users." -msgstr "" - -#: ../../library/selectors.rst:208 -msgid ":func:`select.select`-based selector." -msgstr "" - -#: ../../library/selectors.rst:213 -msgid ":func:`select.poll`-based selector." -msgstr "" - -#: ../../library/selectors.rst:218 -msgid ":func:`select.epoll`-based selector." -msgstr "" - -#: ../../library/selectors.rst:222 -msgid "" -"This returns the file descriptor used by the underlying :func:`select.epoll`" -" object." -msgstr "" - -#: ../../library/selectors.rst:227 -msgid ":func:`select.devpoll`-based selector." -msgstr "" - -#: ../../library/selectors.rst:231 -msgid "" -"This returns the file descriptor used by the underlying " -":func:`select.devpoll` object." -msgstr "" - -#: ../../library/selectors.rst:238 -msgid ":func:`select.kqueue`-based selector." -msgstr "" - -#: ../../library/selectors.rst:242 -msgid "" -"This returns the file descriptor used by the underlying " -":func:`select.kqueue` object." -msgstr "" - -#: ../../library/selectors.rst:247 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/selectors.rst:249 -msgid "Here is a simple echo server implementation::" -msgstr "" - -#: ../../library/selectors.rst:251 -msgid "" -"import selectors\n" -"import socket\n" -"\n" -"sel = selectors.DefaultSelector()\n" -"\n" -"def accept(sock, mask):\n" -" conn, addr = sock.accept() # Should be ready\n" -" print('accepted', conn, 'from', addr)\n" -" conn.setblocking(False)\n" -" sel.register(conn, selectors.EVENT_READ, read)\n" -"\n" -"def read(conn, mask):\n" -" data = conn.recv(1000) # Should be ready\n" -" if data:\n" -" print('echoing', repr(data), 'to', conn)\n" -" conn.send(data) # Hope it won't block\n" -" else:\n" -" print('closing', conn)\n" -" sel.unregister(conn)\n" -" conn.close()\n" -"\n" -"sock = socket.socket()\n" -"sock.bind(('localhost', 1234))\n" -"sock.listen(100)\n" -"sock.setblocking(False)\n" -"sel.register(sock, selectors.EVENT_READ, accept)\n" -"\n" -"while True:\n" -" events = sel.select()\n" -" for key, mask in events:\n" -" callback = key.data\n" -" callback(key.fileobj, mask)" -msgstr "" diff --git a/python-newest.library--shelve/id.po b/python-newest.library--shelve/id.po deleted file mode 100644 index e33b7eb..0000000 --- a/python-newest.library--shelve/id.po +++ /dev/null @@ -1,309 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Faiq Zakki <221709674@stis.ac.id>, 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/shelve.rst:2 -msgid ":mod:`!shelve` --- Python object persistence" -msgstr "" - -#: ../../library/shelve.rst:7 -msgid "**Source code:** :source:`Lib/shelve.py`" -msgstr "" - -#: ../../library/shelve.rst:13 -msgid "" -"A \"shelf\" is a persistent, dictionary-like object. The difference with " -"\"dbm\" databases is that the values (not the keys!) in a shelf can be " -"essentially arbitrary Python objects --- anything that the :mod:`pickle` " -"module can handle. This includes most class instances, recursive data types," -" and objects containing lots of shared sub-objects. The keys are ordinary " -"strings." -msgstr "" - -#: ../../library/shelve.rst:22 -msgid "" -"Open a persistent dictionary. The filename specified is the base filename " -"for the underlying database. As a side-effect, an extension may be added to" -" the filename and more than one file may be created. By default, the " -"underlying database file is opened for reading and writing. The optional " -"*flag* parameter has the same interpretation as the *flag* parameter of " -":func:`dbm.open`." -msgstr "" - -#: ../../library/shelve.rst:28 -msgid "" -"By default, pickles created with :const:`pickle.DEFAULT_PROTOCOL` are used " -"to serialize values. The version of the pickle protocol can be specified " -"with the *protocol* parameter." -msgstr "" - -#: ../../library/shelve.rst:32 -msgid "" -"Because of Python semantics, a shelf cannot know when a mutable persistent-" -"dictionary entry is modified. By default modified objects are written " -"*only* when assigned to the shelf (see :ref:`shelve-example`). If the " -"optional *writeback* parameter is set to ``True``, all entries accessed are " -"also cached in memory, and written back on :meth:`~Shelf.sync` and " -":meth:`~Shelf.close`; this can make it handier to mutate mutable entries in " -"the persistent dictionary, but, if many entries are accessed, it can consume" -" vast amounts of memory for the cache, and it can make the close operation " -"very slow since all accessed entries are written back (there is no way to " -"determine which accessed entries are mutable, nor which ones were actually " -"mutated)." -msgstr "" - -#: ../../library/shelve.rst:44 ../../library/shelve.rst:148 -msgid "" -":const:`pickle.DEFAULT_PROTOCOL` is now used as the default pickle protocol." -msgstr "" - -#: ../../library/shelve.rst:48 -msgid "Accepts :term:`path-like object` for filename." -msgstr "" - -#: ../../library/shelve.rst:53 -msgid "" -"Do not rely on the shelf being closed automatically; always call " -":meth:`~Shelf.close` explicitly when you don't need it any more, or use " -":func:`shelve.open` as a context manager::" -msgstr "" - -#: ../../library/shelve.rst:57 -msgid "" -"with shelve.open('spam') as db:\n" -" db['eggs'] = 'eggs'" -msgstr "" - -#: ../../library/shelve.rst:64 -msgid "" -"Because the :mod:`shelve` module is backed by :mod:`pickle`, it is insecure " -"to load a shelf from an untrusted source. Like with pickle, loading a shelf" -" can execute arbitrary code." -msgstr "" - -#: ../../library/shelve.rst:68 -msgid "" -"Shelf objects support most of methods and operations supported by " -"dictionaries (except copying, constructors and operators ``|`` and ``|=``)." -" This eases the transition from dictionary based scripts to those requiring" -" persistent storage." -msgstr "" - -#: ../../library/shelve.rst:72 -msgid "Two additional methods are supported:" -msgstr "" - -#: ../../library/shelve.rst:76 -msgid "" -"Write back all entries in the cache if the shelf was opened with *writeback*" -" set to :const:`True`. Also empty the cache and synchronize the persistent " -"dictionary on disk, if feasible. This is called automatically when the " -"shelf is closed with :meth:`close`." -msgstr "" - -#: ../../library/shelve.rst:83 -msgid "" -"Synchronize and close the persistent *dict* object. Operations on a closed " -"shelf will fail with a :exc:`ValueError`." -msgstr "" - -#: ../../library/shelve.rst:89 -msgid "" -"`Persistent dictionary recipe " -"`_ with widely supported storage formats and having " -"the speed of native dictionaries." -msgstr "" - -#: ../../library/shelve.rst:95 -msgid "Restrictions" -msgstr "" - -#: ../../library/shelve.rst:101 -msgid "" -"The choice of which database package will be used (such as :mod:`dbm.ndbm` " -"or :mod:`dbm.gnu`) depends on which interface is available. Therefore it is" -" not safe to open the database directly using :mod:`dbm`. The database is " -"also (unfortunately) subject to the limitations of :mod:`dbm`, if it is used" -" --- this means that (the pickled representation of) the objects stored in " -"the database should be fairly small, and in rare cases key collisions may " -"cause the database to refuse updates." -msgstr "" - -#: ../../library/shelve.rst:109 -msgid "" -"The :mod:`shelve` module does not support *concurrent* read/write access to " -"shelved objects. (Multiple simultaneous read accesses are safe.) When a " -"program has a shelf open for writing, no other program should have it open " -"for reading or writing. Unix file locking can be used to solve this, but " -"this differs across Unix versions and requires knowledge about the database " -"implementation used." -msgstr "" - -#: ../../library/shelve.rst:116 -msgid "" -"On macOS :mod:`dbm.ndbm` can silently corrupt the database file on updates, " -"which can cause hard crashes when trying to read from the database." -msgstr "" - -#: ../../library/shelve.rst:122 -msgid "" -"A subclass of :class:`collections.abc.MutableMapping` which stores pickled " -"values in the *dict* object." -msgstr "" - -#: ../../library/shelve.rst:125 -msgid "" -"By default, pickles created with :const:`pickle.DEFAULT_PROTOCOL` are used " -"to serialize values. The version of the pickle protocol can be specified " -"with the *protocol* parameter. See the :mod:`pickle` documentation for a " -"discussion of the pickle protocols." -msgstr "" - -#: ../../library/shelve.rst:130 -msgid "" -"If the *writeback* parameter is ``True``, the object will hold a cache of " -"all entries accessed and write them back to the *dict* at sync and close " -"times. This allows natural operations on mutable entries, but can consume " -"much more memory and make sync and close take a long time." -msgstr "" - -#: ../../library/shelve.rst:135 -msgid "" -"The *keyencoding* parameter is the encoding used to encode keys before they " -"are used with the underlying dict." -msgstr "" - -#: ../../library/shelve.rst:138 -msgid "" -"A :class:`Shelf` object can also be used as a context manager, in which case" -" it will be automatically closed when the :keyword:`with` block ends." -msgstr "" - -#: ../../library/shelve.rst:141 -msgid "" -"Added the *keyencoding* parameter; previously, keys were always encoded in " -"UTF-8." -msgstr "" - -#: ../../library/shelve.rst:145 -msgid "Added context manager support." -msgstr "" - -#: ../../library/shelve.rst:155 -msgid "" -"A subclass of :class:`Shelf` which exposes :meth:`!first`, :meth:`!next`, " -":meth:`!previous`, :meth:`!last` and :meth:`!set_location` methods. These " -"are available in the third-party :mod:`!bsddb` module from `pybsddb " -"`_ but not in other database " -"modules. The *dict* object passed to the constructor must support those " -"methods. This is generally accomplished by calling one of " -":func:`!bsddb.hashopen`, :func:`!bsddb.btopen` or :func:`!bsddb.rnopen`. " -"The optional *protocol*, *writeback*, and *keyencoding* parameters have the " -"same interpretation as for the :class:`Shelf` class." -msgstr "" - -#: ../../library/shelve.rst:169 -msgid "" -"A subclass of :class:`Shelf` which accepts a *filename* instead of a dict-" -"like object. The underlying file will be opened using :func:`dbm.open`. By" -" default, the file will be created and opened for both read and write. The " -"optional *flag* parameter has the same interpretation as for the " -":func:`.open` function. The optional *protocol* and *writeback* parameters " -"have the same interpretation as for the :class:`Shelf` class." -msgstr "" - -#: ../../library/shelve.rst:180 -msgid "Example" -msgstr "Contoh" - -#: ../../library/shelve.rst:182 -msgid "" -"To summarize the interface (``key`` is a string, ``data`` is an arbitrary " -"object)::" -msgstr "" - -#: ../../library/shelve.rst:185 -msgid "" -"import shelve\n" -"\n" -"d = shelve.open(filename) # open -- file may get suffix added by low-level\n" -" # library\n" -"\n" -"d[key] = data # store data at key (overwrites old data if\n" -" # using an existing key)\n" -"data = d[key] # retrieve a COPY of data at key (raise KeyError\n" -" # if no such key)\n" -"del d[key] # delete data stored at key (raises KeyError\n" -" # if no such key)\n" -"\n" -"flag = key in d # true if the key exists\n" -"klist = list(d.keys()) # a list of all existing keys (slow!)\n" -"\n" -"# as d was opened WITHOUT writeback=True, beware:\n" -"d['xx'] = [0, 1, 2] # this works as expected, but...\n" -"d['xx'].append(3) # *this doesn't!* -- d['xx'] is STILL [0, 1, 2]!\n" -"\n" -"# having opened d without writeback=True, you need to code carefully:\n" -"temp = d['xx'] # extracts the copy\n" -"temp.append(5) # mutates the copy\n" -"d['xx'] = temp # stores the copy right back, to persist it\n" -"\n" -"# or, d=shelve.open(filename,writeback=True) would let you just code\n" -"# d['xx'].append(5) and have it work as expected, BUT it would also\n" -"# consume more memory and make the d.close() operation slower.\n" -"\n" -"d.close() # close it" -msgstr "" - -#: ../../library/shelve.rst:218 -msgid "Module :mod:`dbm`" -msgstr "" - -#: ../../library/shelve.rst:219 -msgid "Generic interface to ``dbm``-style databases." -msgstr "" - -#: ../../library/shelve.rst:221 -msgid "Module :mod:`pickle`" -msgstr "Modul :mod:`pickle`" - -#: ../../library/shelve.rst:222 -msgid "Object serialization used by :mod:`shelve`." -msgstr "" - -#: ../../library/shelve.rst:9 ../../library/shelve.rst:97 -msgid "module" -msgstr "modul" - -#: ../../library/shelve.rst:9 -msgid "pickle" -msgstr "pickle" - -#: ../../library/shelve.rst:97 -msgid "dbm.ndbm" -msgstr "" - -#: ../../library/shelve.rst:97 -msgid "dbm.gnu" -msgstr "" diff --git a/python-newest.library--shlex/id.po b/python-newest.library--shlex/id.po deleted file mode 100644 index bb885fe..0000000 --- a/python-newest.library--shlex/id.po +++ /dev/null @@ -1,550 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/shlex.rst:2 -msgid ":mod:`!shlex` --- Simple lexical analysis" -msgstr "" - -#: ../../library/shlex.rst:12 -msgid "**Source code:** :source:`Lib/shlex.py`" -msgstr "" - -#: ../../library/shlex.rst:16 -msgid "" -"The :class:`~shlex.shlex` class makes it easy to write lexical analyzers for" -" simple syntaxes resembling that of the Unix shell. This will often be " -"useful for writing minilanguages, (for example, in run control files for " -"Python applications) or for parsing quoted strings." -msgstr "" - -#: ../../library/shlex.rst:21 -msgid "The :mod:`shlex` module defines the following functions:" -msgstr "" - -#: ../../library/shlex.rst:26 -msgid "" -"Split the string *s* using shell-like syntax. If *comments* is " -":const:`False` (the default), the parsing of comments in the given string " -"will be disabled (setting the :attr:`~shlex.commenters` attribute of the " -":class:`~shlex.shlex` instance to the empty string). This function operates" -" in POSIX mode by default, but uses non-POSIX mode if the *posix* argument " -"is false." -msgstr "" - -#: ../../library/shlex.rst:33 -msgid "" -"Passing ``None`` for *s* argument now raises an exception, rather than " -"reading :data:`sys.stdin`." -msgstr "" - -#: ../../library/shlex.rst:39 -msgid "" -"Concatenate the tokens of the list *split_command* and return a string. This" -" function is the inverse of :func:`split`." -msgstr "" - -#: ../../library/shlex.rst:46 -msgid "" -"The returned value is shell-escaped to protect against injection " -"vulnerabilities (see :func:`quote`)." -msgstr "" - -#: ../../library/shlex.rst:54 -msgid "" -"Return a shell-escaped version of the string *s*. The returned value is a " -"string that can safely be used as one token in a shell command line, for " -"cases where you cannot use a list." -msgstr "" - -#: ../../library/shlex.rst:62 -msgid "The ``shlex`` module is **only designed for Unix shells**." -msgstr "" - -#: ../../library/shlex.rst:64 -msgid "" -"The :func:`quote` function is not guaranteed to be correct on non-POSIX " -"compliant shells or shells from other operating systems such as Windows. " -"Executing commands quoted by this module on such shells can open up the " -"possibility of a command injection vulnerability." -msgstr "" - -#: ../../library/shlex.rst:69 -msgid "" -"Consider using functions that pass command arguments with lists such as " -":func:`subprocess.run` with ``shell=False``." -msgstr "" - -#: ../../library/shlex.rst:72 -msgid "This idiom would be unsafe:" -msgstr "" - -#: ../../library/shlex.rst:79 -msgid ":func:`quote` lets you plug the security hole:" -msgstr "" - -#: ../../library/shlex.rst:89 -msgid "The quoting is compatible with UNIX shells and with :func:`split`:" -msgstr "" - -#: ../../library/shlex.rst:101 -msgid "The :mod:`shlex` module defines the following class:" -msgstr "" - -#: ../../library/shlex.rst:106 -msgid "" -"A :class:`~shlex.shlex` instance or subclass instance is a lexical analyzer " -"object. The initialization argument, if present, specifies where to read " -"characters from. It must be a file-/stream-like object with " -":meth:`~io.TextIOBase.read` and :meth:`~io.TextIOBase.readline` methods, or " -"a string. If no argument is given, input will be taken from ``sys.stdin``. " -"The second optional argument is a filename string, which sets the initial " -"value of the :attr:`~shlex.infile` attribute. If the *instream* argument is" -" omitted or equal to ``sys.stdin``, this second argument defaults to " -"\"stdin\". The *posix* argument defines the operational mode: when *posix* " -"is not true (default), the :class:`~shlex.shlex` instance will operate in " -"compatibility mode. When operating in POSIX mode, :class:`~shlex.shlex` " -"will try to be as close as possible to the POSIX shell parsing rules. The " -"*punctuation_chars* argument provides a way to make the behaviour even " -"closer to how real shells parse. This can take a number of values: the " -"default value, ``False``, preserves the behaviour seen under Python 3.5 and " -"earlier. If set to ``True``, then parsing of the characters ``();<>|&`` is " -"changed: any run of these characters (considered punctuation characters) is " -"returned as a single token. If set to a non-empty string of characters, " -"those characters will be used as the punctuation characters. Any characters" -" in the :attr:`wordchars` attribute that appear in *punctuation_chars* will " -"be removed from :attr:`wordchars`. See :ref:`improved-shell-compatibility` " -"for more information. *punctuation_chars* can be set only upon " -":class:`~shlex.shlex` instance creation and can't be modified later." -msgstr "" - -#: ../../library/shlex.rst:131 -msgid "The *punctuation_chars* parameter was added." -msgstr "" - -#: ../../library/shlex.rst:136 -msgid "Module :mod:`configparser`" -msgstr "" - -#: ../../library/shlex.rst:137 -msgid "" -"Parser for configuration files similar to the Windows :file:`.ini` files." -msgstr "" - -#: ../../library/shlex.rst:143 -msgid "shlex Objects" -msgstr "" - -#: ../../library/shlex.rst:145 -msgid "A :class:`~shlex.shlex` instance has the following methods:" -msgstr "" - -#: ../../library/shlex.rst:150 -msgid "" -"Return a token. If tokens have been stacked using :meth:`push_token`, pop a" -" token off the stack. Otherwise, read one from the input stream. If " -"reading encounters an immediate end-of-file, :attr:`eof` is returned (the " -"empty string (``''``) in non-POSIX mode, and ``None`` in POSIX mode)." -msgstr "" - -#: ../../library/shlex.rst:158 -msgid "Push the argument onto the token stack." -msgstr "" - -#: ../../library/shlex.rst:163 -msgid "" -"Read a raw token. Ignore the pushback stack, and do not interpret source " -"requests. (This is not ordinarily a useful entry point, and is documented " -"here only for the sake of completeness.)" -msgstr "" - -#: ../../library/shlex.rst:170 -msgid "" -"When :class:`~shlex.shlex` detects a source request (see :attr:`source` " -"below) this method is given the following token as argument, and expected to" -" return a tuple consisting of a filename and an open file-like object." -msgstr "" - -#: ../../library/shlex.rst:174 -msgid "" -"Normally, this method first strips any quotes off the argument. If the " -"result is an absolute pathname, or there was no previous source request in " -"effect, or the previous source was a stream (such as ``sys.stdin``), the " -"result is left alone. Otherwise, if the result is a relative pathname, the " -"directory part of the name of the file immediately before it on the source " -"inclusion stack is prepended (this behavior is like the way the C " -"preprocessor handles ``#include \"file.h\"``)." -msgstr "" - -#: ../../library/shlex.rst:182 -msgid "" -"The result of the manipulations is treated as a filename, and returned as " -"the first component of the tuple, with :func:`open` called on it to yield " -"the second component. (Note: this is the reverse of the order of arguments " -"in instance initialization!)" -msgstr "" - -#: ../../library/shlex.rst:187 -msgid "" -"This hook is exposed so that you can use it to implement directory search " -"paths, addition of file extensions, and other namespace hacks. There is no " -"corresponding 'close' hook, but a shlex instance will call the " -":meth:`~io.IOBase.close` method of the sourced input stream when it returns " -"EOF." -msgstr "" - -#: ../../library/shlex.rst:193 -msgid "" -"For more explicit control of source stacking, use the :meth:`push_source` " -"and :meth:`pop_source` methods." -msgstr "" - -#: ../../library/shlex.rst:199 -msgid "" -"Push an input source stream onto the input stack. If the filename argument " -"is specified it will later be available for use in error messages. This is " -"the same method used internally by the :meth:`sourcehook` method." -msgstr "" - -#: ../../library/shlex.rst:206 -msgid "" -"Pop the last-pushed input source from the input stack. This is the same " -"method used internally when the lexer reaches EOF on a stacked input stream." -msgstr "" - -#: ../../library/shlex.rst:212 -msgid "" -"This method generates an error message leader in the format of a Unix C " -"compiler error label; the format is ``'\"%s\", line %d: '``, where the " -"``%s`` is replaced with the name of the current source file and the ``%d`` " -"with the current input line number (the optional arguments can be used to " -"override these)." -msgstr "" - -#: ../../library/shlex.rst:217 -msgid "" -"This convenience is provided to encourage :mod:`shlex` users to generate " -"error messages in the standard, parseable format understood by Emacs and " -"other Unix tools." -msgstr "" - -#: ../../library/shlex.rst:221 -msgid "" -"Instances of :class:`~shlex.shlex` subclasses have some public instance " -"variables which either control lexical analysis or can be used for " -"debugging:" -msgstr "" - -#: ../../library/shlex.rst:227 -msgid "" -"The string of characters that are recognized as comment beginners. All " -"characters from the comment beginner to end of line are ignored. Includes " -"just ``'#'`` by default." -msgstr "" - -#: ../../library/shlex.rst:234 -msgid "" -"The string of characters that will accumulate into multi-character tokens. " -"By default, includes all ASCII alphanumerics and underscore. In POSIX mode," -" the accented characters in the Latin-1 set are also included. If " -":attr:`punctuation_chars` is not empty, the characters ``~-./*?=``, which " -"can appear in filename specifications and command line parameters, will also" -" be included in this attribute, and any characters which appear in " -"``punctuation_chars`` will be removed from ``wordchars`` if they are present" -" there. If :attr:`whitespace_split` is set to ``True``, this will have no " -"effect." -msgstr "" - -#: ../../library/shlex.rst:247 -msgid "" -"Characters that will be considered whitespace and skipped. Whitespace " -"bounds tokens. By default, includes space, tab, linefeed and carriage-" -"return." -msgstr "" - -#: ../../library/shlex.rst:253 -msgid "" -"Characters that will be considered as escape. This will be only used in " -"POSIX mode, and includes just ``'\\'`` by default." -msgstr "" - -#: ../../library/shlex.rst:259 -msgid "" -"Characters that will be considered string quotes. The token accumulates " -"until the same quote is encountered again (thus, different quote types " -"protect each other as in the shell.) By default, includes ASCII single and " -"double quotes." -msgstr "" - -#: ../../library/shlex.rst:266 -msgid "" -"Characters in :attr:`quotes` that will interpret escape characters defined " -"in :attr:`escape`. This is only used in POSIX mode, and includes just " -"``'\"'`` by default." -msgstr "" - -#: ../../library/shlex.rst:273 -msgid "" -"If ``True``, tokens will only be split in whitespaces. This is useful, for " -"example, for parsing command lines with :class:`~shlex.shlex`, getting " -"tokens in a similar way to shell arguments. When used in combination with " -":attr:`punctuation_chars`, tokens will be split on whitespace in addition to" -" those characters." -msgstr "" - -#: ../../library/shlex.rst:279 -msgid "" -"The :attr:`punctuation_chars` attribute was made compatible with the " -":attr:`whitespace_split` attribute." -msgstr "" - -#: ../../library/shlex.rst:286 -msgid "" -"The name of the current input file, as initially set at class instantiation " -"time or stacked by later source requests. It may be useful to examine this " -"when constructing error messages." -msgstr "" - -#: ../../library/shlex.rst:293 -msgid "" -"The input stream from which this :class:`~shlex.shlex` instance is reading " -"characters." -msgstr "" - -#: ../../library/shlex.rst:299 -msgid "" -"This attribute is ``None`` by default. If you assign a string to it, that " -"string will be recognized as a lexical-level inclusion request similar to " -"the ``source`` keyword in various shells. That is, the immediately " -"following token will be opened as a filename and input will be taken from " -"that stream until EOF, at which point the :meth:`~io.IOBase.close` method of" -" that stream will be called and the input source will again become the " -"original input stream. Source requests may be stacked any number of levels " -"deep." -msgstr "" - -#: ../../library/shlex.rst:310 -msgid "" -"If this attribute is numeric and ``1`` or more, a :class:`~shlex.shlex` " -"instance will print verbose progress output on its behavior. If you need to" -" use this, you can read the module source code to learn the details." -msgstr "" - -#: ../../library/shlex.rst:317 -msgid "Source line number (count of newlines seen so far plus one)." -msgstr "" - -#: ../../library/shlex.rst:322 -msgid "" -"The token buffer. It may be useful to examine this when catching " -"exceptions." -msgstr "" - -#: ../../library/shlex.rst:327 -msgid "" -"Token used to determine end of file. This will be set to the empty string " -"(``''``), in non-POSIX mode, and to ``None`` in POSIX mode." -msgstr "" - -#: ../../library/shlex.rst:333 -msgid "" -"A read-only property. Characters that will be considered punctuation. Runs " -"of punctuation characters will be returned as a single token. However, note " -"that no semantic validity checking will be performed: for example, '>>>' " -"could be returned as a token, even though it may not be recognised as such " -"by shells." -msgstr "" - -#: ../../library/shlex.rst:344 -msgid "Parsing Rules" -msgstr "" - -#: ../../library/shlex.rst:346 -msgid "" -"When operating in non-POSIX mode, :class:`~shlex.shlex` will try to obey to " -"the following rules." -msgstr "" - -#: ../../library/shlex.rst:349 -msgid "" -"Quote characters are not recognized within words (``Do\"Not\"Separate`` is " -"parsed as the single word ``Do\"Not\"Separate``);" -msgstr "" - -#: ../../library/shlex.rst:352 -msgid "Escape characters are not recognized;" -msgstr "" - -#: ../../library/shlex.rst:354 -msgid "" -"Enclosing characters in quotes preserve the literal value of all characters " -"within the quotes;" -msgstr "" - -#: ../../library/shlex.rst:357 -msgid "" -"Closing quotes separate words (``\"Do\"Separate`` is parsed as ``\"Do\"`` " -"and ``Separate``);" -msgstr "" - -#: ../../library/shlex.rst:360 -msgid "" -"If :attr:`~shlex.whitespace_split` is ``False``, any character not declared " -"to be a word character, whitespace, or a quote will be returned as a single-" -"character token. If it is ``True``, :class:`~shlex.shlex` will only split " -"words in whitespaces;" -msgstr "" - -#: ../../library/shlex.rst:365 -msgid "EOF is signaled with an empty string (``''``);" -msgstr "" - -#: ../../library/shlex.rst:367 -msgid "It's not possible to parse empty strings, even if quoted." -msgstr "" - -#: ../../library/shlex.rst:369 -msgid "" -"When operating in POSIX mode, :class:`~shlex.shlex` will try to obey to the " -"following parsing rules." -msgstr "" - -#: ../../library/shlex.rst:372 -msgid "" -"Quotes are stripped out, and do not separate words " -"(``\"Do\"Not\"Separate\"`` is parsed as the single word ``DoNotSeparate``);" -msgstr "" - -#: ../../library/shlex.rst:375 -msgid "" -"Non-quoted escape characters (e.g. ``'\\'``) preserve the literal value of " -"the next character that follows;" -msgstr "" - -#: ../../library/shlex.rst:378 -msgid "" -"Enclosing characters in quotes which are not part of " -":attr:`~shlex.escapedquotes` (e.g. ``\"'\"``) preserve the literal value of " -"all characters within the quotes;" -msgstr "" - -#: ../../library/shlex.rst:382 -msgid "" -"Enclosing characters in quotes which are part of " -":attr:`~shlex.escapedquotes` (e.g. ``'\"'``) preserves the literal value of " -"all characters within the quotes, with the exception of the characters " -"mentioned in :attr:`~shlex.escape`. The escape characters retain its " -"special meaning only when followed by the quote in use, or the escape " -"character itself. Otherwise the escape character will be considered a normal" -" character." -msgstr "" - -#: ../../library/shlex.rst:390 -msgid "EOF is signaled with a :const:`None` value;" -msgstr "" - -#: ../../library/shlex.rst:392 -msgid "Quoted empty strings (``''``) are allowed." -msgstr "" - -#: ../../library/shlex.rst:397 -msgid "Improved Compatibility with Shells" -msgstr "" - -#: ../../library/shlex.rst:401 -msgid "" -"The :class:`shlex` class provides compatibility with the parsing performed " -"by common Unix shells like ``bash``, ``dash``, and ``sh``. To take " -"advantage of this compatibility, specify the ``punctuation_chars`` argument " -"in the constructor. This defaults to ``False``, which preserves pre-3.6 " -"behaviour. However, if it is set to ``True``, then parsing of the characters" -" ``();<>|&`` is changed: any run of these characters is returned as a single" -" token. While this is short of a full parser for shells (which would be out" -" of scope for the standard library, given the multiplicity of shells out " -"there), it does allow you to perform processing of command lines more easily" -" than you could otherwise. To illustrate, you can see the difference in the" -" following snippet:" -msgstr "" - -#: ../../library/shlex.rst:412 -msgid "" -">>> import shlex\n" -">>> text = \"a && b; c && d || e; f >'abc'; (def \\\"ghi\\\")\"\n" -">>> s = shlex.shlex(text, posix=True)\n" -">>> s.whitespace_split = True\n" -">>> list(s)\n" -"['a', '&&', 'b;', 'c', '&&', 'd', '||', 'e;', 'f', '>abc;', '(def', 'ghi)']\n" -">>> s = shlex.shlex(text, posix=True, punctuation_chars=True)\n" -">>> s.whitespace_split = True\n" -">>> list(s)\n" -"['a', '&&', 'b', ';', 'c', '&&', 'd', '||', 'e', ';', 'f', '>', 'abc', ';',\n" -"'(', 'def', 'ghi', ')']" -msgstr "" - -#: ../../library/shlex.rst:427 -msgid "" -"Of course, tokens will be returned which are not valid for shells, and " -"you'll need to implement your own error checks on the returned tokens." -msgstr "" - -#: ../../library/shlex.rst:430 -msgid "" -"Instead of passing ``True`` as the value for the punctuation_chars " -"parameter, you can pass a string with specific characters, which will be " -"used to determine which characters constitute punctuation. For example::" -msgstr "" - -#: ../../library/shlex.rst:434 -msgid "" -">>> import shlex\n" -">>> s = shlex.shlex(\"a && b || c\", punctuation_chars=\"|\")\n" -">>> list(s)\n" -"['a', '&', '&', 'b', '||', 'c']" -msgstr "" - -#: ../../library/shlex.rst:439 -msgid "" -"When ``punctuation_chars`` is specified, the :attr:`~shlex.wordchars` " -"attribute is augmented with the characters ``~-./*?=``. That is because " -"these characters can appear in file names (including wildcards) and command-" -"line arguments (e.g. ``--color=auto``). Hence::" -msgstr "" - -#: ../../library/shlex.rst:444 -msgid "" -">>> import shlex\n" -">>> s = shlex.shlex('~/a && b-c --color=auto || d *.py?',\n" -"... punctuation_chars=True)\n" -">>> list(s)\n" -"['~/a', '&&', 'b-c', '--color=auto', '||', 'd', '*.py?']" -msgstr "" - -#: ../../library/shlex.rst:450 -msgid "" -"However, to match the shell as closely as possible, it is recommended to " -"always use ``posix`` and :attr:`~shlex.whitespace_split` when using " -":attr:`~shlex.punctuation_chars`, which will negate :attr:`~shlex.wordchars`" -" entirely." -msgstr "" - -#: ../../library/shlex.rst:455 -msgid "" -"For best effect, ``punctuation_chars`` should be set in conjunction with " -"``posix=True``. (Note that ``posix=False`` is the default for " -":class:`~shlex.shlex`.)" -msgstr "" diff --git a/python-newest.library--shutil/id.po b/python-newest.library--shutil/id.po deleted file mode 100644 index f38a0e5..0000000 --- a/python-newest.library--shutil/id.po +++ /dev/null @@ -1,1216 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/shutil.rst:2 -msgid ":mod:`!shutil` --- High-level file operations" -msgstr "" - -#: ../../library/shutil.rst:10 -msgid "**Source code:** :source:`Lib/shutil.py`" -msgstr "" - -#: ../../library/shutil.rst:18 -msgid "" -"The :mod:`shutil` module offers a number of high-level operations on files " -"and collections of files. In particular, functions are provided which " -"support file copying and removal. For operations on individual files, see " -"also the :mod:`os` module." -msgstr "" - -#: ../../library/shutil.rst:25 -msgid "" -"Even the higher-level file copying functions (:func:`shutil.copy`, " -":func:`shutil.copy2`) cannot copy all file metadata." -msgstr "" - -#: ../../library/shutil.rst:28 -msgid "" -"On POSIX platforms, this means that file owner and group are lost as well as" -" ACLs. On Mac OS, the resource fork and other metadata are not used. This " -"means that resources will be lost and file type and creator codes will not " -"be correct. On Windows, file owners, ACLs and alternate data streams are not" -" copied." -msgstr "" - -#: ../../library/shutil.rst:38 -msgid "Directory and files operations" -msgstr "" - -#: ../../library/shutil.rst:42 -msgid "" -"Copy the contents of the :term:`file-like object ` *fsrc* to " -"the file-like object *fdst*. The integer *length*, if given, is the buffer " -"size. In particular, a negative *length* value means to copy the data " -"without looping over the source data in chunks; by default the data is read " -"in chunks to avoid uncontrolled memory consumption. Note that if the current" -" file position of the *fsrc* object is not 0, only the contents from the " -"current file position to the end of the file will be copied." -msgstr "" - -#: ../../library/shutil.rst:53 -msgid "" -"Copy the contents (no metadata) of the file named *src* to a file named " -"*dst* and return *dst* in the most efficient way possible. *src* and *dst* " -"are :term:`path-like objects ` or path names given as " -"strings." -msgstr "" - -#: ../../library/shutil.rst:57 -msgid "" -"*dst* must be the complete target file name; look at :func:`~shutil.copy` " -"for a copy that accepts a target directory path. If *src* and *dst* specify" -" the same file, :exc:`SameFileError` is raised." -msgstr "" - -#: ../../library/shutil.rst:61 -msgid "" -"The destination location must be writable; otherwise, an :exc:`OSError` " -"exception will be raised. If *dst* already exists, it will be replaced. " -"Special files such as character or block devices and pipes cannot be copied " -"with this function." -msgstr "" - -#: ../../library/shutil.rst:66 -msgid "" -"If *follow_symlinks* is false and *src* is a symbolic link, a new symbolic " -"link will be created instead of copying the file *src* points to." -msgstr "" - -#: ../../library/shutil.rst:70 ../../library/shutil.rst:177 -#: ../../library/shutil.rst:208 -msgid "" -"Raises an :ref:`auditing event ` ``shutil.copyfile`` with " -"arguments ``src``, ``dst``." -msgstr "" - -#: ../../library/shutil.rst:72 -msgid "" -":exc:`IOError` used to be raised instead of :exc:`OSError`. Added " -"*follow_symlinks* argument. Now returns *dst*." -msgstr "" - -#: ../../library/shutil.rst:77 -msgid "" -"Raise :exc:`SameFileError` instead of :exc:`Error`. Since the former is a " -"subclass of the latter, this change is backward compatible." -msgstr "" - -#: ../../library/shutil.rst:81 ../../library/shutil.rst:185 -#: ../../library/shutil.rst:217 ../../library/shutil.rst:287 -#: ../../library/shutil.rst:396 -msgid "" -"Platform-specific fast-copy syscalls may be used internally in order to copy" -" the file more efficiently. See :ref:`shutil-platform-dependent-efficient-" -"copy-operations` section." -msgstr "" - -#: ../../library/shutil.rst:88 -msgid "" -"This exception is raised if source and destination in :func:`copyfile` are " -"the same file." -msgstr "" - -#: ../../library/shutil.rst:96 -msgid "" -"Copy the permission bits from *src* to *dst*. The file contents, owner, and" -" group are unaffected. *src* and *dst* are :term:`path-like objects ` or path names given as strings. If *follow_symlinks* is false," -" and both *src* and *dst* are symbolic links, :func:`copymode` will attempt " -"to modify the mode of *dst* itself (rather than the file it points to). " -"This functionality is not available on every platform; please see " -":func:`copystat` for more information. If :func:`copymode` cannot modify " -"symbolic links on the local platform, and it is asked to do so, it will do " -"nothing and return." -msgstr "" - -#: ../../library/shutil.rst:106 ../../library/shutil.rst:179 -msgid "" -"Raises an :ref:`auditing event ` ``shutil.copymode`` with " -"arguments ``src``, ``dst``." -msgstr "" - -#: ../../library/shutil.rst:108 -msgid "Added *follow_symlinks* argument." -msgstr "" - -#: ../../library/shutil.rst:113 -msgid "" -"Copy the permission bits, last access time, last modification time, and " -"flags from *src* to *dst*. On Linux, :func:`copystat` also copies the " -"\"extended attributes\" where possible. The file contents, owner, and group" -" are unaffected. *src* and *dst* are :term:`path-like objects ` or path names given as strings." -msgstr "" - -#: ../../library/shutil.rst:119 -msgid "" -"If *follow_symlinks* is false, and *src* and *dst* both refer to symbolic " -"links, :func:`copystat` will operate on the symbolic links themselves rather" -" than the files the symbolic links refer to—reading the information from the" -" *src* symbolic link, and writing the information to the *dst* symbolic " -"link." -msgstr "" - -#: ../../library/shutil.rst:128 -msgid "" -"Not all platforms provide the ability to examine and modify symbolic links." -" Python itself can tell you what functionality is locally available." -msgstr "" - -#: ../../library/shutil.rst:132 -msgid "" -"If ``os.chmod in os.supports_follow_symlinks`` is ``True``, :func:`copystat`" -" can modify the permission bits of a symbolic link." -msgstr "" - -#: ../../library/shutil.rst:136 -msgid "" -"If ``os.utime in os.supports_follow_symlinks`` is ``True``, :func:`copystat`" -" can modify the last access and modification times of a symbolic link." -msgstr "" - -#: ../../library/shutil.rst:140 -msgid "" -"If ``os.chflags in os.supports_follow_symlinks`` is ``True``, " -":func:`copystat` can modify the flags of a symbolic link. (``os.chflags`` " -"is not available on all platforms.)" -msgstr "" - -#: ../../library/shutil.rst:145 -msgid "" -"On platforms where some or all of this functionality is unavailable, when " -"asked to modify a symbolic link, :func:`copystat` will copy everything it " -"can. :func:`copystat` never returns failure." -msgstr "" - -#: ../../library/shutil.rst:150 -msgid "Please see :data:`os.supports_follow_symlinks` for more information." -msgstr "" - -#: ../../library/shutil.rst:153 ../../library/shutil.rst:210 -msgid "" -"Raises an :ref:`auditing event ` ``shutil.copystat`` with " -"arguments ``src``, ``dst``." -msgstr "" - -#: ../../library/shutil.rst:155 -msgid "" -"Added *follow_symlinks* argument and support for Linux extended attributes." -msgstr "" - -#: ../../library/shutil.rst:160 -msgid "" -"Copies the file *src* to the file or directory *dst*. *src* and *dst* " -"should be :term:`path-like objects ` or strings. If *dst*" -" specifies a directory, the file will be copied into *dst* using the base " -"filename from *src*. If *dst* specifies a file that already exists, it will " -"be replaced. Returns the path to the newly created file." -msgstr "" - -#: ../../library/shutil.rst:166 -msgid "" -"If *follow_symlinks* is false, and *src* is a symbolic link, *dst* will be " -"created as a symbolic link. If *follow_symlinks* is true and *src* is a " -"symbolic link, *dst* will be a copy of the file *src* refers to." -msgstr "" - -#: ../../library/shutil.rst:171 -msgid "" -":func:`~shutil.copy` copies the file data and the file's permission mode " -"(see :func:`os.chmod`). Other metadata, like the file's creation and " -"modification times, is not preserved. To preserve all file metadata from the" -" original, use :func:`~shutil.copy2` instead." -msgstr "" - -#: ../../library/shutil.rst:181 -msgid "" -"Added *follow_symlinks* argument. Now returns path to the newly created " -"file." -msgstr "" - -#: ../../library/shutil.rst:192 -msgid "" -"Identical to :func:`~shutil.copy` except that :func:`copy2` also attempts to" -" preserve file metadata." -msgstr "" - -#: ../../library/shutil.rst:195 -msgid "" -"When *follow_symlinks* is false, and *src* is a symbolic link, :func:`copy2`" -" attempts to copy all metadata from the *src* symbolic link to the newly " -"created *dst* symbolic link. However, this functionality is not available on" -" all platforms. On platforms where some or all of this functionality is " -"unavailable, :func:`copy2` will preserve all the metadata it can; " -":func:`copy2` never raises an exception because it cannot preserve file " -"metadata." -msgstr "" - -#: ../../library/shutil.rst:204 -msgid "" -":func:`copy2` uses :func:`copystat` to copy the file metadata. Please see " -":func:`copystat` for more information about platform support for modifying " -"symbolic link metadata." -msgstr "" - -#: ../../library/shutil.rst:212 -msgid "" -"Added *follow_symlinks* argument, try to copy extended file system " -"attributes too (currently Linux only). Now returns path to the newly created" -" file." -msgstr "" - -#: ../../library/shutil.rst:224 -msgid "" -"This factory function creates a function that can be used as a callable for " -":func:`copytree`\\'s *ignore* argument, ignoring files and directories that " -"match one of the glob-style *patterns* provided. See the example below." -msgstr "" - -#: ../../library/shutil.rst:233 -msgid "" -"Recursively copy an entire directory tree rooted at *src* to a directory " -"named *dst* and return the destination directory. All intermediate " -"directories needed to contain *dst* will also be created by default." -msgstr "" - -#: ../../library/shutil.rst:237 -msgid "" -"Permissions and times of directories are copied with :func:`copystat`, " -"individual files are copied using :func:`~shutil.copy2`." -msgstr "" - -#: ../../library/shutil.rst:240 -msgid "" -"If *symlinks* is true, symbolic links in the source tree are represented as " -"symbolic links in the new tree and the metadata of the original links will " -"be copied as far as the platform allows; if false or omitted, the contents " -"and metadata of the linked files are copied to the new tree." -msgstr "" - -#: ../../library/shutil.rst:245 -msgid "" -"When *symlinks* is false, if the file pointed to by the symlink doesn't " -"exist, an exception will be added in the list of errors raised in an " -":exc:`Error` exception at the end of the copy process. You can set the " -"optional *ignore_dangling_symlinks* flag to true if you want to silence this" -" exception. Notice that this option has no effect on platforms that don't " -"support :func:`os.symlink`." -msgstr "" - -#: ../../library/shutil.rst:252 -msgid "" -"If *ignore* is given, it must be a callable that will receive as its " -"arguments the directory being visited by :func:`copytree`, and a list of its" -" contents, as returned by :func:`os.listdir`. Since :func:`copytree` is " -"called recursively, the *ignore* callable will be called once for each " -"directory that is copied. The callable must return a sequence of directory " -"and file names relative to the current directory (i.e. a subset of the items" -" in its second argument); these names will then be ignored in the copy " -"process. :func:`ignore_patterns` can be used to create such a callable that" -" ignores names based on glob-style patterns." -msgstr "" - -#: ../../library/shutil.rst:262 -msgid "" -"If exception(s) occur, an :exc:`Error` is raised with a list of reasons." -msgstr "" - -#: ../../library/shutil.rst:264 -msgid "" -"If *copy_function* is given, it must be a callable that will be used to copy" -" each file. It will be called with the source path and the destination path " -"as arguments. By default, :func:`~shutil.copy2` is used, but any function " -"that supports the same signature (like :func:`~shutil.copy`) can be used." -msgstr "" - -#: ../../library/shutil.rst:269 -msgid "" -"If *dirs_exist_ok* is false (the default) and *dst* already exists, a " -":exc:`FileExistsError` is raised. If *dirs_exist_ok* is true, the copying " -"operation will continue if it encounters existing directories, and files " -"within the *dst* tree will be overwritten by corresponding files from the " -"*src* tree." -msgstr "" - -#: ../../library/shutil.rst:275 -msgid "" -"Raises an :ref:`auditing event ` ``shutil.copytree`` with " -"arguments ``src``, ``dst``." -msgstr "" - -#: ../../library/shutil.rst:277 -msgid "" -"Added the *copy_function* argument to be able to provide a custom copy " -"function. Added the *ignore_dangling_symlinks* argument to silence dangling " -"symlinks errors when *symlinks* is false." -msgstr "" - -#: ../../library/shutil.rst:283 -msgid "Copy metadata when *symlinks* is false. Now returns *dst*." -msgstr "" - -#: ../../library/shutil.rst:292 -msgid "Added the *dirs_exist_ok* parameter." -msgstr "" - -#: ../../library/shutil.rst:299 -msgid "" -"Delete an entire directory tree; *path* must point to a directory (but not a" -" symbolic link to a directory). If *ignore_errors* is true, errors " -"resulting from failed removals will be ignored; if false or omitted, such " -"errors are handled by calling a handler specified by *onexc* or *onerror* " -"or, if both are omitted, exceptions are propagated to the caller." -msgstr "" - -#: ../../library/shutil.rst:305 -msgid "" -"This function can support :ref:`paths relative to directory descriptors " -"`." -msgstr "" - -#: ../../library/shutil.rst:310 -msgid "" -"On platforms that support the necessary fd-based functions a symlink attack " -"resistant version of :func:`rmtree` is used by default. On other platforms," -" the :func:`rmtree` implementation is susceptible to a symlink attack: given" -" proper timing and circumstances, attackers can manipulate symlinks on the " -"filesystem to delete files they wouldn't be able to access otherwise. " -"Applications can use the :data:`rmtree.avoids_symlink_attacks` function " -"attribute to determine which case applies." -msgstr "" - -#: ../../library/shutil.rst:318 -msgid "" -"If *onexc* is provided, it must be a callable that accepts three parameters:" -" *function*, *path*, and *excinfo*." -msgstr "" - -#: ../../library/shutil.rst:321 -msgid "" -"The first parameter, *function*, is the function which raised the exception;" -" it depends on the platform and implementation. The second parameter, " -"*path*, will be the path name passed to *function*. The third parameter, " -"*excinfo*, is the exception that was raised. Exceptions raised by *onexc* " -"will not be caught." -msgstr "" - -#: ../../library/shutil.rst:327 -msgid "" -"The deprecated *onerror* is similar to *onexc*, except that the third " -"parameter it receives is the tuple returned from :func:`sys.exc_info`." -msgstr "" - -#: ../../library/shutil.rst:330 -msgid "" -"Raises an :ref:`auditing event ` ``shutil.rmtree`` with arguments " -"``path``, ``dir_fd``." -msgstr "" - -#: ../../library/shutil.rst:332 -msgid "" -"Added a symlink attack resistant version that is used automatically if " -"platform supports fd-based functions." -msgstr "" - -#: ../../library/shutil.rst:336 -msgid "" -"On Windows, will no longer delete the contents of a directory junction " -"before removing the junction." -msgstr "" - -#: ../../library/shutil.rst:340 -msgid "Added the *dir_fd* parameter." -msgstr "" - -#: ../../library/shutil.rst:343 -msgid "Added the *onexc* parameter, deprecated *onerror*." -msgstr "" - -#: ../../library/shutil.rst:346 -msgid "" -":func:`!rmtree` now ignores :exc:`FileNotFoundError` exceptions for all but " -"the top-level path. Exceptions other than :exc:`OSError` and subclasses of " -":exc:`!OSError` are now always propagated to the caller." -msgstr "" - -#: ../../library/shutil.rst:354 -msgid "" -"Indicates whether the current platform and implementation provides a symlink" -" attack resistant version of :func:`rmtree`. Currently this is only true " -"for platforms supporting fd-based directory access functions." -msgstr "" - -#: ../../library/shutil.rst:363 -msgid "" -"Recursively move a file or directory (*src*) to another location and return " -"the destination." -msgstr "" - -#: ../../library/shutil.rst:366 -msgid "" -"If *dst* is an existing directory or a symlink to a directory, then *src* is" -" moved inside that directory. The destination path in that directory must " -"not already exist." -msgstr "" - -#: ../../library/shutil.rst:370 -msgid "" -"If *dst* already exists but is not a directory, it may be overwritten " -"depending on :func:`os.rename` semantics." -msgstr "" - -#: ../../library/shutil.rst:373 -msgid "" -"If the destination is on the current filesystem, then :func:`os.rename` is " -"used. Otherwise, *src* is copied to the destination using *copy_function* " -"and then removed. In case of symlinks, a new symlink pointing to the target" -" of *src* will be created as the destination and *src* will be removed." -msgstr "" - -#: ../../library/shutil.rst:378 -msgid "" -"If *copy_function* is given, it must be a callable that takes two arguments," -" *src* and the destination, and will be used to copy *src* to the " -"destination if :func:`os.rename` cannot be used. If the source is a " -"directory, :func:`copytree` is called, passing it the *copy_function*. The " -"default *copy_function* is :func:`copy2`. Using :func:`~shutil.copy` as the" -" *copy_function* allows the move to succeed when it is not possible to also " -"copy the metadata, at the expense of not copying any of the metadata." -msgstr "" - -#: ../../library/shutil.rst:386 -msgid "" -"Raises an :ref:`auditing event ` ``shutil.move`` with arguments " -"``src``, ``dst``." -msgstr "" - -#: ../../library/shutil.rst:388 -msgid "" -"Added explicit symlink handling for foreign filesystems, thus adapting it to" -" the behavior of GNU's :program:`mv`. Now returns *dst*." -msgstr "" - -#: ../../library/shutil.rst:393 -msgid "Added the *copy_function* keyword argument." -msgstr "" - -#: ../../library/shutil.rst:401 -msgid "Accepts a :term:`path-like object` for both *src* and *dst*." -msgstr "" - -#: ../../library/shutil.rst:406 -msgid "" -"Return disk usage statistics about the given path as a :term:`named tuple` " -"with the attributes *total*, *used* and *free*, which are the amount of " -"total, used and free space, in bytes. *path* may be a file or a directory." -msgstr "" - -#: ../../library/shutil.rst:413 -msgid "" -"On Unix filesystems, *path* must point to a path within a **mounted** " -"filesystem partition. On those platforms, CPython doesn't attempt to " -"retrieve disk usage information from non-mounted filesystems." -msgstr "" - -#: ../../library/shutil.rst:419 -msgid "On Windows, *path* can now be a file or directory." -msgstr "" - -#: ../../library/shutil.rst:422 ../../library/shutil.rst:436 -msgid "Availability" -msgstr "" - -#: ../../library/shutil.rst:427 -msgid "Change owner *user* and/or *group* of the given *path*." -msgstr "" - -#: ../../library/shutil.rst:429 -msgid "" -"*user* can be a system user name or a uid; the same applies to *group*. At " -"least one argument is required." -msgstr "" - -#: ../../library/shutil.rst:432 -msgid "See also :func:`os.chown`, the underlying function." -msgstr "" - -#: ../../library/shutil.rst:434 -msgid "" -"Raises an :ref:`auditing event ` ``shutil.chown`` with arguments " -"``path``, ``user``, ``group``." -msgstr "" - -#: ../../library/shutil.rst:440 -msgid "Added *dir_fd* and *follow_symlinks* parameters." -msgstr "" - -#: ../../library/shutil.rst:446 -msgid "" -"Return the path to an executable which would be run if the given *cmd* was " -"called. If no *cmd* would be called, return ``None``." -msgstr "" - -#: ../../library/shutil.rst:449 -msgid "" -"*mode* is a permission mask passed to :func:`os.access`, by default " -"determining if the file exists and is executable." -msgstr "" - -#: ../../library/shutil.rst:452 -msgid "" -"*path* is a \"``PATH`` string\" specifying the directories to look in, " -"delimited by :data:`os.pathsep`. When no *path* is specified, the " -":envvar:`PATH` environment variable is read from :data:`os.environ`, falling" -" back to :data:`os.defpath` if it is not set." -msgstr "" - -#: ../../library/shutil.rst:457 -msgid "" -"On Windows, the current directory is prepended to the *path* if *mode* does " -"not include ``os.X_OK``. When the *mode* does include ``os.X_OK``, the " -"Windows API ``NeedCurrentDirectoryForExePathW`` will be consulted to " -"determine if the current directory should be prepended to *path*. To avoid " -"consulting the current working directory for executables: set the " -"environment variable ``NoDefaultCurrentDirectoryInExePath``." -msgstr "" - -#: ../../library/shutil.rst:464 -msgid "" -"Also on Windows, the :envvar:`PATHEXT` environment variable is used to " -"resolve commands that may not already include an extension. For example, if " -"you call ``shutil.which(\"python\")``, :func:`which` will search ``PATHEXT``" -" to know that it should look for ``python.exe`` within the *path* " -"directories. For example, on Windows::" -msgstr "" - -#: ../../library/shutil.rst:470 -msgid "" -">>> shutil.which(\"python\")\n" -"'C:\\\\Python33\\\\python.EXE'" -msgstr "" - -#: ../../library/shutil.rst:473 -msgid "" -"This is also applied when *cmd* is a path that contains a directory " -"component::" -msgstr "" - -#: ../../library/shutil.rst:476 -msgid "" -">>> shutil.which(\"C:\\\\Python33\\\\python\")\n" -"'C:\\\\Python33\\\\python.EXE'" -msgstr "" - -#: ../../library/shutil.rst:481 -msgid "" -"The :class:`bytes` type is now accepted. If *cmd* type is :class:`bytes`, " -"the result type is also :class:`bytes`." -msgstr "" - -#: ../../library/shutil.rst:485 -msgid "" -"On Windows, the current directory is no longer prepended to the search path " -"if *mode* includes ``os.X_OK`` and WinAPI " -"``NeedCurrentDirectoryForExePathW(cmd)`` is false, else the current " -"directory is prepended even if it is already in the search path; ``PATHEXT``" -" is used now even when *cmd* includes a directory component or ends with an " -"extension that is in ``PATHEXT``; and filenames that have no extension can " -"now be found." -msgstr "" - -#: ../../library/shutil.rst:496 -msgid "" -"This exception collects exceptions that are raised during a multi-file " -"operation. For :func:`copytree`, the exception argument is a list of " -"3-tuples (*srcname*, *dstname*, *exception*)." -msgstr "" - -#: ../../library/shutil.rst:503 -msgid "Platform-dependent efficient copy operations" -msgstr "" - -#: ../../library/shutil.rst:505 -msgid "" -"Starting from Python 3.8, all functions involving a file copy " -"(:func:`copyfile`, :func:`~shutil.copy`, :func:`copy2`, :func:`copytree`, " -"and :func:`move`) may use platform-specific \"fast-copy\" syscalls in order " -"to copy the file more efficiently (see :issue:`33671`). \"fast-copy\" means " -"that the copying operation occurs within the kernel, avoiding the use of " -"userspace buffers in Python as in \"``outfd.write(infd.read())``\"." -msgstr "" - -#: ../../library/shutil.rst:513 -msgid "On macOS `fcopyfile`_ is used to copy the file content (not metadata)." -msgstr "" - -#: ../../library/shutil.rst:515 -msgid "On Linux :func:`os.copy_file_range` or :func:`os.sendfile` is used." -msgstr "" - -#: ../../library/shutil.rst:517 -msgid "On Solaris :func:`os.sendfile` is used." -msgstr "" - -#: ../../library/shutil.rst:519 -msgid "" -"On Windows :func:`shutil.copyfile` uses a bigger default buffer size (1 MiB " -"instead of 64 KiB) and a :func:`memoryview`-based variant of " -":func:`shutil.copyfileobj` is used." -msgstr "" - -#: ../../library/shutil.rst:523 -msgid "" -"If the fast-copy operation fails and no data was written in the destination " -"file then shutil will silently fallback on using less efficient " -":func:`copyfileobj` function internally." -msgstr "" - -#: ../../library/shutil.rst:529 -msgid "Solaris now uses :func:`os.sendfile`." -msgstr "" - -#: ../../library/shutil.rst:532 -msgid "" -"Copy-on-write or server-side copy may be used internally via " -":func:`os.copy_file_range` on supported Linux filesystems." -msgstr "" - -#: ../../library/shutil.rst:539 -msgid "copytree example" -msgstr "" - -#: ../../library/shutil.rst:541 -msgid "An example that uses the :func:`ignore_patterns` helper::" -msgstr "" - -#: ../../library/shutil.rst:543 -msgid "" -"from shutil import copytree, ignore_patterns\n" -"\n" -"copytree(source, destination, ignore=ignore_patterns('*.pyc', 'tmp*'))" -msgstr "" - -#: ../../library/shutil.rst:547 -msgid "" -"This will copy everything except ``.pyc`` files and files or directories " -"whose name starts with ``tmp``." -msgstr "" - -#: ../../library/shutil.rst:550 -msgid "" -"Another example that uses the *ignore* argument to add a logging call::" -msgstr "" - -#: ../../library/shutil.rst:552 -msgid "" -"from shutil import copytree\n" -"import logging\n" -"\n" -"def _logpath(path, names):\n" -" logging.info('Working in %s', path)\n" -" return [] # nothing will be ignored\n" -"\n" -"copytree(source, destination, ignore=_logpath)" -msgstr "" - -#: ../../library/shutil.rst:565 -msgid "rmtree example" -msgstr "" - -#: ../../library/shutil.rst:567 -msgid "" -"This example shows how to remove a directory tree on Windows where some of " -"the files have their read-only bit set. It uses the onexc callback to clear " -"the readonly bit and reattempt the remove. Any subsequent failure will " -"propagate. ::" -msgstr "" - -#: ../../library/shutil.rst:572 -msgid "" -"import os, stat\n" -"import shutil\n" -"\n" -"def remove_readonly(func, path, _):\n" -" \"Clear the readonly bit and reattempt the removal\"\n" -" os.chmod(path, stat.S_IWRITE)\n" -" func(path)\n" -"\n" -"shutil.rmtree(directory, onexc=remove_readonly)" -msgstr "" - -#: ../../library/shutil.rst:585 -msgid "Archiving operations" -msgstr "" - -#: ../../library/shutil.rst:589 -msgid "Added support for the *xztar* format." -msgstr "" - -#: ../../library/shutil.rst:593 -msgid "" -"High-level utilities to create and read compressed and archived files are " -"also provided. They rely on the :mod:`zipfile` and :mod:`tarfile` modules." -msgstr "" - -#: ../../library/shutil.rst:598 -msgid "Create an archive file (such as zip or tar) and return its name." -msgstr "" - -#: ../../library/shutil.rst:600 -msgid "" -"*base_name* is the name of the file to create, including the path, minus any" -" format-specific extension." -msgstr "" - -#: ../../library/shutil.rst:603 -msgid "" -"*format* is the archive format: one of \"zip\" (if the :mod:`zlib` module is" -" available), \"tar\", \"gztar\" (if the :mod:`zlib` module is available), " -"\"bztar\" (if the :mod:`bz2` module is available), or \"xztar\" (if the " -":mod:`lzma` module is available)." -msgstr "" - -#: ../../library/shutil.rst:608 -msgid "" -"*root_dir* is a directory that will be the root directory of the archive, " -"all paths in the archive will be relative to it; for example, we typically " -"chdir into *root_dir* before creating the archive." -msgstr "" - -#: ../../library/shutil.rst:612 -msgid "" -"*base_dir* is the directory where we start archiving from; i.e. *base_dir* " -"will be the common prefix of all files and directories in the archive. " -"*base_dir* must be given relative to *root_dir*. See :ref:`shutil-" -"archiving-example-with-basedir` for how to use *base_dir* and *root_dir* " -"together." -msgstr "" - -#: ../../library/shutil.rst:618 -msgid "*root_dir* and *base_dir* both default to the current directory." -msgstr "" - -#: ../../library/shutil.rst:620 -msgid "" -"If *dry_run* is true, no archive is created, but the operations that would " -"be executed are logged to *logger*." -msgstr "" - -#: ../../library/shutil.rst:623 -msgid "" -"*owner* and *group* are used when creating a tar archive. By default, uses " -"the current owner and group." -msgstr "" - -#: ../../library/shutil.rst:626 -msgid "" -"*logger* must be an object compatible with :pep:`282`, usually an instance " -"of :class:`logging.Logger`." -msgstr "" - -#: ../../library/shutil.rst:629 -msgid "The *verbose* argument is unused and deprecated." -msgstr "" - -#: ../../library/shutil.rst:631 -msgid "" -"Raises an :ref:`auditing event ` ``shutil.make_archive`` with " -"arguments ``base_name``, ``format``, ``root_dir``, ``base_dir``." -msgstr "" - -#: ../../library/shutil.rst:635 -msgid "" -"This function is not thread-safe when custom archivers registered with " -":func:`register_archive_format` do not support the *root_dir* argument. In " -"this case it temporarily changes the current working directory of the " -"process to *root_dir* to perform archiving." -msgstr "" - -#: ../../library/shutil.rst:641 -msgid "" -"The modern pax (POSIX.1-2001) format is now used instead of the legacy GNU " -"format for archives created with ``format=\"tar\"``." -msgstr "" - -#: ../../library/shutil.rst:645 -msgid "" -"This function is now made thread-safe during creation of standard ``.zip`` " -"and tar archives." -msgstr "" - -#: ../../library/shutil.rst:651 -msgid "" -"Return a list of supported formats for archiving. Each element of the " -"returned sequence is a tuple ``(name, description)``." -msgstr "" - -#: ../../library/shutil.rst:654 ../../library/shutil.rst:769 -msgid "By default :mod:`shutil` provides these formats:" -msgstr "" - -#: ../../library/shutil.rst:656 -msgid "*zip*: ZIP file (if the :mod:`zlib` module is available)." -msgstr "" - -#: ../../library/shutil.rst:657 -msgid "" -"*tar*: Uncompressed tar file. Uses POSIX.1-2001 pax format for new archives." -msgstr "" - -#: ../../library/shutil.rst:658 ../../library/shutil.rst:774 -msgid "*gztar*: gzip'ed tar-file (if the :mod:`zlib` module is available)." -msgstr "" - -#: ../../library/shutil.rst:659 ../../library/shutil.rst:775 -msgid "*bztar*: bzip2'ed tar-file (if the :mod:`bz2` module is available)." -msgstr "" - -#: ../../library/shutil.rst:660 ../../library/shutil.rst:776 -msgid "*xztar*: xz'ed tar-file (if the :mod:`lzma` module is available)." -msgstr "" - -#: ../../library/shutil.rst:662 -msgid "" -"You can register new formats or provide your own archiver for any existing " -"formats, by using :func:`register_archive_format`." -msgstr "" - -#: ../../library/shutil.rst:668 -msgid "Register an archiver for the format *name*." -msgstr "" - -#: ../../library/shutil.rst:670 -msgid "" -"*function* is the callable that will be used to unpack archives. The " -"callable will receive the *base_name* of the file to create, followed by the" -" *base_dir* (which defaults to :data:`os.curdir`) to start archiving from. " -"Further arguments are passed as keyword arguments: *owner*, *group*, " -"*dry_run* and *logger* (as passed in :func:`make_archive`)." -msgstr "" - -#: ../../library/shutil.rst:676 -msgid "" -"If *function* has the custom attribute ``function.supports_root_dir`` set to" -" ``True``, the *root_dir* argument is passed as a keyword argument. " -"Otherwise the current working directory of the process is temporarily " -"changed to *root_dir* before calling *function*. In this case " -":func:`make_archive` is not thread-safe." -msgstr "" - -#: ../../library/shutil.rst:682 -msgid "" -"If given, *extra_args* is a sequence of ``(name, value)`` pairs that will be" -" used as extra keywords arguments when the archiver callable is used." -msgstr "" - -#: ../../library/shutil.rst:685 -msgid "" -"*description* is used by :func:`get_archive_formats` which returns the list " -"of archivers. Defaults to an empty string." -msgstr "" - -#: ../../library/shutil.rst:688 -msgid "Added support for functions supporting the *root_dir* argument." -msgstr "" - -#: ../../library/shutil.rst:694 -msgid "Remove the archive format *name* from the list of supported formats." -msgstr "" - -#: ../../library/shutil.rst:699 -msgid "Unpack an archive. *filename* is the full path of the archive." -msgstr "" - -#: ../../library/shutil.rst:701 -msgid "" -"*extract_dir* is the name of the target directory where the archive is " -"unpacked. If not provided, the current working directory is used." -msgstr "" - -#: ../../library/shutil.rst:704 -msgid "" -"*format* is the archive format: one of \"zip\", \"tar\", \"gztar\", " -"\"bztar\", or \"xztar\". Or any other format registered with " -":func:`register_unpack_format`. If not provided, :func:`unpack_archive` " -"will use the archive file name extension and see if an unpacker was " -"registered for that extension. In case none is found, a :exc:`ValueError` " -"is raised." -msgstr "" - -#: ../../library/shutil.rst:711 -msgid "" -"The keyword-only *filter* argument is passed to the underlying unpacking " -"function. For zip files, *filter* is not accepted. For tar files, it is " -"recommended to use ``'data'`` (default since Python 3.14), unless using " -"features specific to tar and UNIX-like filesystems. (See :ref:`tarfile-" -"extraction-filter` for details.)" -msgstr "" - -#: ../../library/shutil.rst:717 -msgid "" -"Raises an :ref:`auditing event ` ``shutil.unpack_archive`` with " -"arguments ``filename``, ``extract_dir``, ``format``." -msgstr "" - -#: ../../library/shutil.rst:721 -msgid "" -"Never extract archives from untrusted sources without prior inspection. It " -"is possible that files are created outside of the path specified in the " -"*extract_dir* argument, e.g. members that have absolute filenames starting " -"with \"/\" or filenames with two dots \"..\"." -msgstr "" - -#: ../../library/shutil.rst:726 -msgid "" -"Since Python 3.14, the defaults for both built-in formats (zip and tar " -"files) will prevent the most dangerous of such security issues, but will not" -" prevent *all* unintended behavior. Read the :ref:`tarfile-further-" -"verification` section for tar-specific details." -msgstr "" - -#: ../../library/shutil.rst:732 -msgid "Accepts a :term:`path-like object` for *filename* and *extract_dir*." -msgstr "" - -#: ../../library/shutil.rst:735 -msgid "Added the *filter* argument." -msgstr "" - -#: ../../library/shutil.rst:740 -msgid "" -"Registers an unpack format. *name* is the name of the format and " -"*extensions* is a list of extensions corresponding to the format, like " -"``.zip`` for Zip files." -msgstr "" - -#: ../../library/shutil.rst:744 -msgid "" -"*function* is the callable that will be used to unpack archives. The " -"callable will receive:" -msgstr "" - -#: ../../library/shutil.rst:747 -msgid "the path of the archive, as a positional argument;" -msgstr "" - -#: ../../library/shutil.rst:748 -msgid "" -"the directory the archive must be extracted to, as a positional argument;" -msgstr "" - -#: ../../library/shutil.rst:749 -msgid "" -"possibly a *filter* keyword argument, if it was given to " -":func:`unpack_archive`;" -msgstr "" - -#: ../../library/shutil.rst:751 -msgid "" -"additional keyword arguments, specified by *extra_args* as a sequence of " -"``(name, value)`` tuples." -msgstr "" - -#: ../../library/shutil.rst:754 -msgid "" -"*description* can be provided to describe the format, and will be returned " -"by the :func:`get_unpack_formats` function." -msgstr "" - -#: ../../library/shutil.rst:760 -msgid "Unregister an unpack format. *name* is the name of the format." -msgstr "" - -#: ../../library/shutil.rst:765 -msgid "" -"Return a list of all registered formats for unpacking. Each element of the " -"returned sequence is a tuple ``(name, extensions, description)``." -msgstr "" - -#: ../../library/shutil.rst:771 -msgid "" -"*zip*: ZIP file (unpacking compressed files works only if the corresponding " -"module is available)." -msgstr "" - -#: ../../library/shutil.rst:773 -msgid "*tar*: uncompressed tar file." -msgstr "" - -#: ../../library/shutil.rst:778 -msgid "" -"You can register new formats or provide your own unpacker for any existing " -"formats, by using :func:`register_unpack_format`." -msgstr "" - -#: ../../library/shutil.rst:785 -msgid "Archiving example" -msgstr "" - -#: ../../library/shutil.rst:787 -msgid "" -"In this example, we create a gzip'ed tar-file archive containing all files " -"found in the :file:`.ssh` directory of the user::" -msgstr "" - -#: ../../library/shutil.rst:790 -msgid "" -">>> from shutil import make_archive\n" -">>> import os\n" -">>> archive_name = os.path.expanduser(os.path.join('~', 'myarchive'))\n" -">>> root_dir = os.path.expanduser(os.path.join('~', '.ssh'))\n" -">>> make_archive(archive_name, 'gztar', root_dir)\n" -"'/Users/tarek/myarchive.tar.gz'" -msgstr "" - -#: ../../library/shutil.rst:797 -msgid "The resulting archive contains:" -msgstr "" - -#: ../../library/shutil.rst:799 -msgid "" -"$ tar -tzvf /Users/tarek/myarchive.tar.gz\n" -"drwx------ tarek/staff 0 2010-02-01 16:23:40 ./\n" -"-rw-r--r-- tarek/staff 609 2008-06-09 13:26:54 ./authorized_keys\n" -"-rwxr-xr-x tarek/staff 65 2008-06-09 13:26:54 ./config\n" -"-rwx------ tarek/staff 668 2008-06-09 13:26:54 ./id_dsa\n" -"-rwxr-xr-x tarek/staff 609 2008-06-09 13:26:54 ./id_dsa.pub\n" -"-rw------- tarek/staff 1675 2008-06-09 13:26:54 ./id_rsa\n" -"-rw-r--r-- tarek/staff 397 2008-06-09 13:26:54 ./id_rsa.pub\n" -"-rw-r--r-- tarek/staff 37192 2010-02-06 18:23:10 ./known_hosts" -msgstr "" - -#: ../../library/shutil.rst:815 -msgid "Archiving example with *base_dir*" -msgstr "" - -#: ../../library/shutil.rst:817 -msgid "" -"In this example, similar to the `one above `_, we" -" show how to use :func:`make_archive`, but this time with the usage of " -"*base_dir*. We now have the following directory structure:" -msgstr "" - -#: ../../library/shutil.rst:821 -msgid "" -"$ tree tmp\n" -"tmp\n" -"└── root\n" -" └── structure\n" -" ├── content\n" -" └── please_add.txt\n" -" └── do_not_add.txt" -msgstr "" - -#: ../../library/shutil.rst:831 -msgid "" -"In the final archive, :file:`please_add.txt` should be included, but " -":file:`do_not_add.txt` should not. Therefore we use the following::" -msgstr "" - -#: ../../library/shutil.rst:834 -msgid "" -">>> from shutil import make_archive\n" -">>> import os\n" -">>> archive_name = os.path.expanduser(os.path.join('~', 'myarchive'))\n" -">>> make_archive(\n" -"... archive_name,\n" -"... 'tar',\n" -"... root_dir='tmp/root',\n" -"... base_dir='structure/content',\n" -"... )\n" -"'/Users/tarek/my_archive.tar'" -msgstr "" - -#: ../../library/shutil.rst:845 -msgid "Listing the files in the resulting archive gives us:" -msgstr "" - -#: ../../library/shutil.rst:847 -msgid "" -"$ python -m tarfile -l /Users/tarek/myarchive.tar\n" -"structure/content/\n" -"structure/content/please_add.txt" -msgstr "" - -#: ../../library/shutil.rst:855 -msgid "Querying the size of the output terminal" -msgstr "" - -#: ../../library/shutil.rst:859 -msgid "Get the size of the terminal window." -msgstr "" - -#: ../../library/shutil.rst:861 -msgid "" -"For each of the two dimensions, the environment variable, ``COLUMNS`` and " -"``LINES`` respectively, is checked. If the variable is defined and the value" -" is a positive integer, it is used." -msgstr "" - -#: ../../library/shutil.rst:865 -msgid "" -"When ``COLUMNS`` or ``LINES`` is not defined, which is the common case, the " -"terminal connected to :data:`sys.__stdout__` is queried by invoking " -":func:`os.get_terminal_size`." -msgstr "" - -#: ../../library/shutil.rst:869 -msgid "" -"If the terminal size cannot be successfully queried, either because the " -"system doesn't support querying, or because we are not connected to a " -"terminal, the value given in ``fallback`` parameter is used. ``fallback`` " -"defaults to ``(80, 24)`` which is the default size used by many terminal " -"emulators." -msgstr "" - -#: ../../library/shutil.rst:875 -msgid "The value returned is a named tuple of type :class:`os.terminal_size`." -msgstr "" - -#: ../../library/shutil.rst:877 -msgid "" -"See also: The Single UNIX Specification, Version 2, `Other Environment " -"Variables`_." -msgstr "" - -#: ../../library/shutil.rst:882 -msgid "" -"The ``fallback`` values are also used if :func:`os.get_terminal_size` " -"returns zeroes." -msgstr "" - -#: ../../library/shutil.rst:12 -msgid "file" -msgstr "" - -#: ../../library/shutil.rst:12 -msgid "copying" -msgstr "" - -#: ../../library/shutil.rst:12 -msgid "copying files" -msgstr "" - -#: ../../library/shutil.rst:297 -msgid "directory" -msgstr "" - -#: ../../library/shutil.rst:297 -msgid "deleting" -msgstr "" diff --git a/python-newest.library--signal/id.po b/python-newest.library--signal/id.po deleted file mode 100644 index 63c44a6..0000000 --- a/python-newest.library--signal/id.po +++ /dev/null @@ -1,942 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2022 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: oon arfiandwi , 2022\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/signal.rst:2 -msgid ":mod:`!signal` --- Set handlers for asynchronous events" -msgstr "" - -#: ../../library/signal.rst:7 -msgid "**Source code:** :source:`Lib/signal.py`" -msgstr "" - -#: ../../library/signal.rst:11 -msgid "This module provides mechanisms to use signal handlers in Python." -msgstr "" - -#: ../../library/signal.rst:15 -msgid "General rules" -msgstr "" - -#: ../../library/signal.rst:17 -msgid "" -"The :func:`signal.signal` function allows defining custom handlers to be " -"executed when a signal is received. A small number of default handlers are " -"installed: :const:`SIGPIPE` is ignored (so write errors on pipes and sockets" -" can be reported as ordinary Python exceptions) and :const:`SIGINT` is " -"translated into a :exc:`KeyboardInterrupt` exception if the parent process " -"has not changed it." -msgstr "" - -#: ../../library/signal.rst:24 -msgid "" -"A handler for a particular signal, once set, remains installed until it is " -"explicitly reset (Python emulates the BSD style interface regardless of the " -"underlying implementation), with the exception of the handler for " -":const:`SIGCHLD`, which follows the underlying implementation." -msgstr "" - -#: ../../library/signal.rst:29 -msgid "" -"On WebAssembly platforms, signals are emulated and therefore behave " -"differently. Several functions and signals are not available on these " -"platforms." -msgstr "" - -#: ../../library/signal.rst:34 -msgid "Execution of Python signal handlers" -msgstr "" - -#: ../../library/signal.rst:36 -msgid "" -"A Python signal handler does not get executed inside the low-level (C) " -"signal handler. Instead, the low-level signal handler sets a flag which " -"tells the :term:`virtual machine` to execute the corresponding Python signal" -" handler at a later point(for example at the next :term:`bytecode` " -"instruction). This has consequences:" -msgstr "" - -#: ../../library/signal.rst:42 -msgid "" -"It makes little sense to catch synchronous errors like :const:`SIGFPE` or " -":const:`SIGSEGV` that are caused by an invalid operation in C code. Python " -"will return from the signal handler to the C code, which is likely to raise " -"the same signal again, causing Python to apparently hang. From Python 3.3 " -"onwards, you can use the :mod:`faulthandler` module to report on synchronous" -" errors." -msgstr "" - -#: ../../library/signal.rst:49 -msgid "" -"A long-running calculation implemented purely in C (such as regular " -"expression matching on a large body of text) may run uninterrupted for an " -"arbitrary amount of time, regardless of any signals received. The Python " -"signal handlers will be called when the calculation finishes." -msgstr "" - -#: ../../library/signal.rst:54 -msgid "" -"If the handler raises an exception, it will be raised \"out of thin air\" in" -" the main thread. See the :ref:`note below ` for a " -"discussion." -msgstr "" - -#: ../../library/signal.rst:62 -msgid "Signals and threads" -msgstr "" - -#: ../../library/signal.rst:64 -msgid "" -"Python signal handlers are always executed in the main Python thread of the " -"main interpreter, even if the signal was received in another thread. This " -"means that signals can't be used as a means of inter-thread communication. " -"You can use the synchronization primitives from the :mod:`threading` module " -"instead." -msgstr "" - -#: ../../library/signal.rst:69 -msgid "" -"Besides, only the main thread of the main interpreter is allowed to set a " -"new signal handler." -msgstr "" - -#: ../../library/signal.rst:73 -msgid "Module contents" -msgstr "" - -#: ../../library/signal.rst:75 -msgid "" -"signal (SIG*), handler (:const:`SIG_DFL`, :const:`SIG_IGN`) and sigmask " -"(:const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:`SIG_SETMASK`) related " -"constants listed below were turned into :class:`enums ` " -"(:class:`Signals`, :class:`Handlers` and :class:`Sigmasks` respectively). " -":func:`getsignal`, :func:`pthread_sigmask`, :func:`sigpending` and " -":func:`sigwait` functions return human-readable :class:`enums " -"` as :class:`Signals` objects." -msgstr "" - -#: ../../library/signal.rst:85 -msgid "The signal module defines three enums:" -msgstr "" - -#: ../../library/signal.rst:89 -msgid "" -":class:`enum.IntEnum` collection of SIG* constants and the CTRL_* constants." -msgstr "" - -#: ../../library/signal.rst:95 -msgid "" -":class:`enum.IntEnum` collection the constants :const:`SIG_DFL` and " -":const:`SIG_IGN`." -msgstr "" - -#: ../../library/signal.rst:101 -msgid "" -":class:`enum.IntEnum` collection the constants :const:`SIG_BLOCK`, " -":const:`SIG_UNBLOCK` and :const:`SIG_SETMASK`." -msgstr "" - -#: ../../library/signal.rst:103 ../../library/signal.rst:136 -#: ../../library/signal.rst:142 ../../library/signal.rst:148 -#: ../../library/signal.rst:154 ../../library/signal.rst:160 -#: ../../library/signal.rst:166 ../../library/signal.rst:180 -#: ../../library/signal.rst:198 ../../library/signal.rst:206 -#: ../../library/signal.rst:217 ../../library/signal.rst:232 -#: ../../library/signal.rst:238 ../../library/signal.rst:244 -#: ../../library/signal.rst:262 ../../library/signal.rst:272 -#: ../../library/signal.rst:351 ../../library/signal.rst:390 -#: ../../library/signal.rst:414 ../../library/signal.rst:437 -#: ../../library/signal.rst:471 ../../library/signal.rst:501 -#: ../../library/signal.rst:508 ../../library/signal.rst:563 -#: ../../library/signal.rst:605 ../../library/signal.rst:620 -#: ../../library/signal.rst:646 ../../library/signal.rst:666 -msgid "Availability" -msgstr "" - -#: ../../library/signal.rst:105 ../../library/signal.rst:473 -msgid "" -"See the man page :manpage:`sigprocmask(2)` and :manpage:`pthread_sigmask(3)`" -" for further information." -msgstr "" - -#: ../../library/signal.rst:111 -msgid "The variables defined in the :mod:`signal` module are:" -msgstr "" - -#: ../../library/signal.rst:116 -msgid "" -"This is one of two standard signal handling options; it will simply perform " -"the default function for the signal. For example, on most systems the " -"default action for :const:`SIGQUIT` is to dump core and exit, while the " -"default action for :const:`SIGCHLD` is to simply ignore it." -msgstr "" - -#: ../../library/signal.rst:124 -msgid "" -"This is another standard signal handler, which will simply ignore the given " -"signal." -msgstr "" - -#: ../../library/signal.rst:130 -msgid "Abort signal from :manpage:`abort(3)`." -msgstr "" - -#: ../../library/signal.rst:134 -msgid "Timer signal from :manpage:`alarm(2)`." -msgstr "" - -#: ../../library/signal.rst:140 -msgid "Interrupt from keyboard (CTRL + BREAK)." -msgstr "" - -#: ../../library/signal.rst:146 -msgid "Bus error (bad memory access)." -msgstr "" - -#: ../../library/signal.rst:152 -msgid "Child process stopped or terminated." -msgstr "" - -#: ../../library/signal.rst:158 -msgid "Alias to :data:`SIGCHLD`." -msgstr "" - -#: ../../library/signal.rst:164 -msgid "Continue the process if it is currently stopped" -msgstr "" - -#: ../../library/signal.rst:170 -msgid "Floating-point exception. For example, division by zero." -msgstr "" - -#: ../../library/signal.rst:173 -msgid "" -":exc:`ZeroDivisionError` is raised when the second argument of a division or" -" modulo operation is zero." -msgstr "" - -#: ../../library/signal.rst:178 -msgid "" -"Hangup detected on controlling terminal or death of controlling process." -msgstr "" - -#: ../../library/signal.rst:184 -msgid "Illegal instruction." -msgstr "" - -#: ../../library/signal.rst:188 -msgid "Interrupt from keyboard (CTRL + C)." -msgstr "" - -#: ../../library/signal.rst:190 -msgid "Default action is to raise :exc:`KeyboardInterrupt`." -msgstr "" - -#: ../../library/signal.rst:194 -msgid "Kill signal." -msgstr "" - -#: ../../library/signal.rst:196 -msgid "It cannot be caught, blocked, or ignored." -msgstr "" - -#: ../../library/signal.rst:202 -msgid "Broken pipe: write to pipe with no readers." -msgstr "" - -#: ../../library/signal.rst:204 -msgid "Default action is to ignore the signal." -msgstr "" - -#: ../../library/signal.rst:210 -msgid "Segmentation fault: invalid memory reference." -msgstr "" - -#: ../../library/signal.rst:214 -msgid "" -"Stack fault on coprocessor. The Linux kernel does not raise this signal: it " -"can only be raised in user space." -msgstr "" - -#: ../../library/signal.rst:219 -msgid "" -"On architectures where the signal is available. See the man page " -":manpage:`signal(7)` for further information." -msgstr "" - -#: ../../library/signal.rst:226 -msgid "Termination signal." -msgstr "" - -#: ../../library/signal.rst:230 -msgid "User-defined signal 1." -msgstr "" - -#: ../../library/signal.rst:236 -msgid "User-defined signal 2." -msgstr "" - -#: ../../library/signal.rst:242 -msgid "Window resize signal." -msgstr "" - -#: ../../library/signal.rst:248 -msgid "" -"All the signal numbers are defined symbolically. For example, the hangup " -"signal is defined as :const:`signal.SIGHUP`; the variable names are " -"identical to the names used in C programs, as found in ````. The " -"Unix man page for ':c:func:`signal`' lists the existing signals (on some " -"systems this is :manpage:`signal(2)`, on others the list is in " -":manpage:`signal(7)`). Note that not all systems define the same set of " -"signal names; only those names defined by the system are defined by this " -"module." -msgstr "" - -#: ../../library/signal.rst:259 -msgid "" -"The signal corresponding to the :kbd:`Ctrl+C` keystroke event. This signal " -"can only be used with :func:`os.kill`." -msgstr "" - -#: ../../library/signal.rst:269 -msgid "" -"The signal corresponding to the :kbd:`Ctrl+Break` keystroke event. This " -"signal can only be used with :func:`os.kill`." -msgstr "" - -#: ../../library/signal.rst:279 -msgid "" -"One more than the number of the highest signal number. Use " -":func:`valid_signals` to get valid signal numbers." -msgstr "" - -#: ../../library/signal.rst:285 -msgid "" -"Decrements interval timer in real time, and delivers :const:`SIGALRM` upon " -"expiration." -msgstr "" - -#: ../../library/signal.rst:291 -msgid "" -"Decrements interval timer only when the process is executing, and delivers " -"SIGVTALRM upon expiration." -msgstr "" - -#: ../../library/signal.rst:297 -msgid "" -"Decrements interval timer both when the process executes and when the system" -" is executing on behalf of the process. Coupled with ITIMER_VIRTUAL, this " -"timer is usually used to profile the time spent by the application in user " -"and kernel space. SIGPROF is delivered upon expiration." -msgstr "" - -#: ../../library/signal.rst:305 -msgid "" -"A possible value for the *how* parameter to :func:`pthread_sigmask` " -"indicating that signals are to be blocked." -msgstr "" - -#: ../../library/signal.rst:312 -msgid "" -"A possible value for the *how* parameter to :func:`pthread_sigmask` " -"indicating that signals are to be unblocked." -msgstr "" - -#: ../../library/signal.rst:319 -msgid "" -"A possible value for the *how* parameter to :func:`pthread_sigmask` " -"indicating that the signal mask is to be replaced." -msgstr "" - -#: ../../library/signal.rst:325 -msgid "The :mod:`signal` module defines one exception:" -msgstr "" - -#: ../../library/signal.rst:329 -msgid "" -"Raised to signal an error from the underlying :func:`setitimer` or " -":func:`getitimer` implementation. Expect this error if an invalid interval " -"timer or a negative time is passed to :func:`setitimer`. This error is a " -"subtype of :exc:`OSError`." -msgstr "" - -#: ../../library/signal.rst:334 -msgid "" -"This error used to be a subtype of :exc:`IOError`, which is now an alias of " -":exc:`OSError`." -msgstr "" - -#: ../../library/signal.rst:339 -msgid "The :mod:`signal` module defines the following functions:" -msgstr "" - -#: ../../library/signal.rst:344 -msgid "" -"If *time* is non-zero, this function requests that a :const:`SIGALRM` signal" -" be sent to the process in *time* seconds. Any previously scheduled alarm is" -" canceled (only one alarm can be scheduled at any time). The returned value" -" is then the number of seconds before any previously set alarm was to have " -"been delivered. If *time* is zero, no alarm is scheduled, and any scheduled " -"alarm is canceled. If the return value is zero, no alarm is currently " -"scheduled." -msgstr "" - -#: ../../library/signal.rst:353 -msgid "See the man page :manpage:`alarm(2)` for further information." -msgstr "" - -#: ../../library/signal.rst:358 -msgid "" -"Return the current signal handler for the signal *signalnum*. The returned " -"value may be a callable Python object, or one of the special values " -":const:`signal.SIG_IGN`, :const:`signal.SIG_DFL` or :const:`None`. Here, " -":const:`signal.SIG_IGN` means that the signal was previously ignored, " -":const:`signal.SIG_DFL` means that the default way of handling the signal " -"was previously in use, and ``None`` means that the previous signal handler " -"was not installed from Python." -msgstr "" - -#: ../../library/signal.rst:369 -msgid "" -"Returns the description of signal *signalnum*, such as \"Interrupt\" for " -":const:`SIGINT`. Returns :const:`None` if *signalnum* has no description. " -"Raises :exc:`ValueError` if *signalnum* is invalid." -msgstr "" - -#: ../../library/signal.rst:378 -msgid "" -"Return the set of valid signal numbers on this platform. This can be less " -"than ``range(1, NSIG)`` if some signals are reserved by the system for " -"internal use." -msgstr "" - -#: ../../library/signal.rst:387 -msgid "" -"Cause the process to sleep until a signal is received; the appropriate " -"handler will then be called. Returns nothing." -msgstr "" - -#: ../../library/signal.rst:392 -msgid "See the man page :manpage:`signal(2)` for further information." -msgstr "" - -#: ../../library/signal.rst:394 -msgid "" -"See also :func:`sigwait`, :func:`sigwaitinfo`, :func:`sigtimedwait` and " -":func:`sigpending`." -msgstr "" - -#: ../../library/signal.rst:400 -msgid "Sends a signal to the calling process. Returns nothing." -msgstr "" - -#: ../../library/signal.rst:407 -msgid "" -"Send signal *sig* to the process referred to by file descriptor *pidfd*. " -"Python does not currently support the *siginfo* parameter; it must be " -"``None``. The *flags* argument is provided for future extensions; no flag " -"values are currently defined." -msgstr "" - -#: ../../library/signal.rst:412 -msgid "See the :manpage:`pidfd_send_signal(2)` man page for more information." -msgstr "" - -#: ../../library/signal.rst:420 -msgid "" -"Send the signal *signalnum* to the thread *thread_id*, another thread in the" -" same process as the caller. The target thread can be executing any code " -"(Python or not). However, if the target thread is executing the Python " -"interpreter, the Python signal handlers will be :ref:`executed by the main " -"thread of the main interpreter `. Therefore, the only " -"point of sending a signal to a particular Python thread would be to force a " -"running system call to fail with :exc:`InterruptedError`." -msgstr "" - -#: ../../library/signal.rst:428 -msgid "" -"Use :func:`threading.get_ident` or the :attr:`~threading.Thread.ident` " -"attribute of :class:`threading.Thread` objects to get a suitable value for " -"*thread_id*." -msgstr "" - -#: ../../library/signal.rst:432 -msgid "" -"If *signalnum* is 0, then no signal is sent, but error checking is still " -"performed; this can be used to check if the target thread is still running." -msgstr "" - -#: ../../library/signal.rst:435 -msgid "" -"Raises an :ref:`auditing event ` ``signal.pthread_kill`` with " -"arguments ``thread_id``, ``signalnum``." -msgstr "" - -#: ../../library/signal.rst:439 -msgid "See the man page :manpage:`pthread_kill(3)` for further information." -msgstr "" - -#: ../../library/signal.rst:441 -msgid "See also :func:`os.kill`." -msgstr "" - -#: ../../library/signal.rst:448 -msgid "" -"Fetch and/or change the signal mask of the calling thread. The signal mask " -"is the set of signals whose delivery is currently blocked for the caller. " -"Return the old signal mask as a set of signals." -msgstr "" - -#: ../../library/signal.rst:452 -msgid "" -"The behavior of the call is dependent on the value of *how*, as follows." -msgstr "" - -#: ../../library/signal.rst:454 -msgid "" -":data:`SIG_BLOCK`: The set of blocked signals is the union of the current " -"set and the *mask* argument." -msgstr "" - -#: ../../library/signal.rst:456 -msgid "" -":data:`SIG_UNBLOCK`: The signals in *mask* are removed from the current set " -"of blocked signals. It is permissible to attempt to unblock a signal which " -"is not blocked." -msgstr "" - -#: ../../library/signal.rst:459 -msgid "" -":data:`SIG_SETMASK`: The set of blocked signals is set to the *mask* " -"argument." -msgstr "" - -#: ../../library/signal.rst:462 -msgid "" -"*mask* is a set of signal numbers (e.g. {:const:`signal.SIGINT`, " -":const:`signal.SIGTERM`}). Use :func:`~signal.valid_signals` for a full mask" -" including all signals." -msgstr "" - -#: ../../library/signal.rst:466 -msgid "" -"For example, ``signal.pthread_sigmask(signal.SIG_BLOCK, [])`` reads the " -"signal mask of the calling thread." -msgstr "" - -#: ../../library/signal.rst:469 -msgid ":data:`SIGKILL` and :data:`SIGSTOP` cannot be blocked." -msgstr "" - -#: ../../library/signal.rst:476 -msgid "See also :func:`pause`, :func:`sigpending` and :func:`sigwait`." -msgstr "" - -#: ../../library/signal.rst:483 -msgid "" -"Sets given interval timer (one of :const:`signal.ITIMER_REAL`, " -":const:`signal.ITIMER_VIRTUAL` or :const:`signal.ITIMER_PROF`) specified by " -"*which* to fire after *seconds* (float is accepted, different from " -":func:`alarm`) and after that every *interval* seconds (if *interval* is " -"non-zero). The interval timer specified by *which* can be cleared by setting" -" *seconds* to zero." -msgstr "" - -#: ../../library/signal.rst:490 -msgid "" -"When an interval timer fires, a signal is sent to the process. The signal " -"sent is dependent on the timer being used; :const:`signal.ITIMER_REAL` will " -"deliver :const:`SIGALRM`, :const:`signal.ITIMER_VIRTUAL` sends " -":const:`SIGVTALRM`, and :const:`signal.ITIMER_PROF` will deliver " -":const:`SIGPROF`." -msgstr "" - -#: ../../library/signal.rst:496 -msgid "The old values are returned as a tuple: (delay, interval)." -msgstr "" - -#: ../../library/signal.rst:498 -msgid "" -"Attempting to pass an invalid interval timer will cause an " -":exc:`ItimerError`." -msgstr "" - -#: ../../library/signal.rst:506 -msgid "Returns current value of a given interval timer specified by *which*." -msgstr "" - -#: ../../library/signal.rst:513 -msgid "" -"Set the wakeup file descriptor to *fd*. When a signal your program has " -"registered a signal handler for is received, the signal number is written as" -" a single byte into the fd. If you haven't registered a signal handler for " -"the signals you care about, then nothing will be written to the wakeup fd. " -"This can be used by a library to wakeup a poll or select call, allowing the " -"signal to be fully processed." -msgstr "" - -#: ../../library/signal.rst:520 -msgid "" -"The old wakeup fd is returned (or -1 if file descriptor wakeup was not " -"enabled). If *fd* is -1, file descriptor wakeup is disabled. If not -1, " -"*fd* must be non-blocking. It is up to the library to remove any bytes from" -" *fd* before calling poll or select again." -msgstr "" - -#: ../../library/signal.rst:525 ../../library/signal.rst:580 -msgid "" -"When threads are enabled, this function can only be called from :ref:`the " -"main thread of the main interpreter `; attempting to " -"call it from other threads will cause a :exc:`ValueError` exception to be " -"raised." -msgstr "" - -#: ../../library/signal.rst:530 -msgid "" -"There are two common ways to use this function. In both approaches, you use " -"the fd to wake up when a signal arrives, but then they differ in how they " -"determine *which* signal or signals have arrived." -msgstr "" - -#: ../../library/signal.rst:535 -msgid "" -"In the first approach, we read the data out of the fd's buffer, and the byte" -" values give you the signal numbers. This is simple, but in rare cases it " -"can run into a problem: generally the fd will have a limited amount of " -"buffer space, and if too many signals arrive too quickly, then the buffer " -"may become full, and some signals may be lost. If you use this approach, " -"then you should set ``warn_on_full_buffer=True``, which will at least cause " -"a warning to be printed to stderr when signals are lost." -msgstr "" - -#: ../../library/signal.rst:544 -msgid "" -"In the second approach, we use the wakeup fd *only* for wakeups, and ignore " -"the actual byte values. In this case, all we care about is whether the fd's " -"buffer is empty or non-empty; a full buffer doesn't indicate a problem at " -"all. If you use this approach, then you should set " -"``warn_on_full_buffer=False``, so that your users are not confused by " -"spurious warning messages." -msgstr "" - -#: ../../library/signal.rst:551 -msgid "On Windows, the function now also supports socket handles." -msgstr "" - -#: ../../library/signal.rst:554 -msgid "Added ``warn_on_full_buffer`` parameter." -msgstr "" - -#: ../../library/signal.rst:559 -msgid "" -"Change system call restart behaviour: if *flag* is :const:`False`, system " -"calls will be restarted when interrupted by signal *signalnum*, otherwise " -"system calls will be interrupted. Returns nothing." -msgstr "" - -#: ../../library/signal.rst:565 -msgid "See the man page :manpage:`siginterrupt(3)` for further information." -msgstr "" - -#: ../../library/signal.rst:567 -msgid "" -"Note that installing a signal handler with :func:`signal` will reset the " -"restart behaviour to interruptible by implicitly calling " -":c:func:`!siginterrupt` with a true *flag* value for the given signal." -msgstr "" - -#: ../../library/signal.rst:574 -msgid "" -"Set the handler for signal *signalnum* to the function *handler*. *handler*" -" can be a callable Python object taking two arguments (see below), or one of" -" the special values :const:`signal.SIG_IGN` or :const:`signal.SIG_DFL`. The" -" previous signal handler will be returned (see the description of " -":func:`getsignal` above). (See the Unix man page :manpage:`signal(2)` for " -"further information.)" -msgstr "" - -#: ../../library/signal.rst:585 -msgid "" -"The *handler* is called with two arguments: the signal number and the " -"current stack frame (``None`` or a frame object; for a description of frame " -"objects, see the :ref:`description in the type hierarchy ` or" -" see the attribute descriptions in the :mod:`inspect` module)." -msgstr "" - -#: ../../library/signal.rst:590 -msgid "" -"On Windows, :func:`signal` can only be called with :const:`SIGABRT`, " -":const:`SIGFPE`, :const:`SIGILL`, :const:`SIGINT`, :const:`SIGSEGV`, " -":const:`SIGTERM`, or :const:`SIGBREAK`. A :exc:`ValueError` will be raised " -"in any other case. Note that not all systems define the same set of signal " -"names; an :exc:`AttributeError` will be raised if a signal name is not " -"defined as ``SIG*`` module level constant." -msgstr "" - -#: ../../library/signal.rst:601 -msgid "" -"Examine the set of signals that are pending for delivery to the calling " -"thread (i.e., the signals which have been raised while blocked). Return the" -" set of the pending signals." -msgstr "" - -#: ../../library/signal.rst:607 -msgid "See the man page :manpage:`sigpending(2)` for further information." -msgstr "" - -#: ../../library/signal.rst:609 -msgid "See also :func:`pause`, :func:`pthread_sigmask` and :func:`sigwait`." -msgstr "" - -#: ../../library/signal.rst:616 -msgid "" -"Suspend execution of the calling thread until the delivery of one of the " -"signals specified in the signal set *sigset*. The function accepts the " -"signal (removes it from the pending list of signals), and returns the signal" -" number." -msgstr "" - -#: ../../library/signal.rst:622 -msgid "See the man page :manpage:`sigwait(3)` for further information." -msgstr "" - -#: ../../library/signal.rst:624 -msgid "" -"See also :func:`pause`, :func:`pthread_sigmask`, :func:`sigpending`, " -":func:`sigwaitinfo` and :func:`sigtimedwait`." -msgstr "" - -#: ../../library/signal.rst:632 -msgid "" -"Suspend execution of the calling thread until the delivery of one of the " -"signals specified in the signal set *sigset*. The function accepts the " -"signal and removes it from the pending list of signals. If one of the " -"signals in *sigset* is already pending for the calling thread, the function " -"will return immediately with information about that signal. The signal " -"handler is not called for the delivered signal. The function raises an " -":exc:`InterruptedError` if it is interrupted by a signal that is not in " -"*sigset*." -msgstr "" - -#: ../../library/signal.rst:641 -msgid "" -"The return value is an object representing the data contained in the " -":c:type:`siginfo_t` structure, namely: :attr:`si_signo`, :attr:`si_code`, " -":attr:`si_errno`, :attr:`si_pid`, :attr:`si_uid`, :attr:`si_status`, " -":attr:`si_band`." -msgstr "" - -#: ../../library/signal.rst:648 -msgid "See the man page :manpage:`sigwaitinfo(2)` for further information." -msgstr "" - -#: ../../library/signal.rst:650 -msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigtimedwait`." -msgstr "" - -#: ../../library/signal.rst:654 -msgid "" -"The function is now retried if interrupted by a signal not in *sigset* and " -"the signal handler does not raise an exception (see :pep:`475` for the " -"rationale)." -msgstr "" - -#: ../../library/signal.rst:662 -msgid "" -"Like :func:`sigwaitinfo`, but takes an additional *timeout* argument " -"specifying a timeout. If *timeout* is specified as ``0``, a poll is " -"performed. Returns :const:`None` if a timeout occurs." -msgstr "" - -#: ../../library/signal.rst:668 -msgid "See the man page :manpage:`sigtimedwait(2)` for further information." -msgstr "" - -#: ../../library/signal.rst:670 -msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigwaitinfo`." -msgstr "" - -#: ../../library/signal.rst:674 -msgid "" -"The function is now retried with the recomputed *timeout* if interrupted by " -"a signal not in *sigset* and the signal handler does not raise an exception " -"(see :pep:`475` for the rationale)." -msgstr "" - -#: ../../library/signal.rst:683 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/signal.rst:685 -msgid "" -"Here is a minimal example program. It uses the :func:`alarm` function to " -"limit the time spent waiting to open a file; this is useful if the file is " -"for a serial device that may not be turned on, which would normally cause " -"the :func:`os.open` to hang indefinitely. The solution is to set a 5-second" -" alarm before opening the file; if the operation takes too long, the alarm " -"signal will be sent, and the handler raises an exception. ::" -msgstr "" - -#: ../../library/signal.rst:692 -msgid "" -"import signal, os\n" -"\n" -"def handler(signum, frame):\n" -" signame = signal.Signals(signum).name\n" -" print(f'Signal handler called with signal {signame} ({signum})')\n" -" raise OSError(\"Couldn't open device!\")\n" -"\n" -"# Set the signal handler and a 5-second alarm\n" -"signal.signal(signal.SIGALRM, handler)\n" -"signal.alarm(5)\n" -"\n" -"# This open() may hang indefinitely\n" -"fd = os.open('/dev/ttyS0', os.O_RDWR)\n" -"\n" -"signal.alarm(0) # Disable the alarm" -msgstr "" - -#: ../../library/signal.rst:709 -msgid "Note on SIGPIPE" -msgstr "" - -#: ../../library/signal.rst:711 -msgid "" -"Piping output of your program to tools like :manpage:`head(1)` will cause a " -":const:`SIGPIPE` signal to be sent to your process when the receiver of its " -"standard output closes early. This results in an exception like " -":code:`BrokenPipeError: [Errno 32] Broken pipe`. To handle this case, wrap " -"your entry point to catch this exception as follows::" -msgstr "" - -#: ../../library/signal.rst:717 -msgid "" -"import os\n" -"import sys\n" -"\n" -"def main():\n" -" try:\n" -" # simulate large output (your code replaces this loop)\n" -" for x in range(10000):\n" -" print(\"y\")\n" -" # flush output here to force SIGPIPE to be triggered\n" -" # while inside this try block.\n" -" sys.stdout.flush()\n" -" except BrokenPipeError:\n" -" # Python flushes standard streams on exit; redirect remaining output\n" -" # to devnull to avoid another BrokenPipeError at shutdown\n" -" devnull = os.open(os.devnull, os.O_WRONLY)\n" -" os.dup2(devnull, sys.stdout.fileno())\n" -" sys.exit(1) # Python exits with error code 1 on EPIPE\n" -"\n" -"if __name__ == '__main__':\n" -" main()" -msgstr "" - -#: ../../library/signal.rst:738 -msgid "" -"Do not set :const:`SIGPIPE`'s disposition to :const:`SIG_DFL` in order to " -"avoid :exc:`BrokenPipeError`. Doing that would cause your program to exit " -"unexpectedly whenever any socket connection is interrupted while your " -"program is still writing to it." -msgstr "" - -#: ../../library/signal.rst:747 -msgid "Note on Signal Handlers and Exceptions" -msgstr "" - -#: ../../library/signal.rst:749 -msgid "" -"If a signal handler raises an exception, the exception will be propagated to" -" the main thread and may be raised after any :term:`bytecode` instruction. " -"Most notably, a :exc:`KeyboardInterrupt` may appear at any point during " -"execution. Most Python code, including the standard library, cannot be made " -"robust against this, and so a :exc:`KeyboardInterrupt` (or any other " -"exception resulting from a signal handler) may on rare occasions put the " -"program in an unexpected state." -msgstr "" - -#: ../../library/signal.rst:756 -msgid "To illustrate this issue, consider the following code::" -msgstr "" - -#: ../../library/signal.rst:758 -msgid "" -"class SpamContext:\n" -" def __init__(self):\n" -" self.lock = threading.Lock()\n" -"\n" -" def __enter__(self):\n" -" # If KeyboardInterrupt occurs here, everything is fine\n" -" self.lock.acquire()\n" -" # If KeyboardInterrupt occurs here, __exit__ will not be called\n" -" ...\n" -" # KeyboardInterrupt could occur just before the function returns\n" -"\n" -" def __exit__(self, exc_type, exc_val, exc_tb):\n" -" ...\n" -" self.lock.release()" -msgstr "" - -#: ../../library/signal.rst:773 -msgid "" -"For many programs, especially those that merely want to exit on " -":exc:`KeyboardInterrupt`, this is not a problem, but applications that are " -"complex or require high reliability should avoid raising exceptions from " -"signal handlers. They should also avoid catching :exc:`KeyboardInterrupt` as" -" a means of gracefully shutting down. Instead, they should install their " -"own :const:`SIGINT` handler. Below is an example of an HTTP server that " -"avoids :exc:`KeyboardInterrupt`::" -msgstr "" - -#: ../../library/signal.rst:781 -msgid "" -"import signal\n" -"import socket\n" -"from selectors import DefaultSelector, EVENT_READ\n" -"from http.server import HTTPServer, SimpleHTTPRequestHandler\n" -"\n" -"interrupt_read, interrupt_write = socket.socketpair()\n" -"\n" -"def handler(signum, frame):\n" -" print('Signal handler called with signal', signum)\n" -" interrupt_write.send(b'\\0')\n" -"signal.signal(signal.SIGINT, handler)\n" -"\n" -"def serve_forever(httpd):\n" -" sel = DefaultSelector()\n" -" sel.register(interrupt_read, EVENT_READ)\n" -" sel.register(httpd, EVENT_READ)\n" -"\n" -" while True:\n" -" for key, _ in sel.select():\n" -" if key.fileobj == interrupt_read:\n" -" interrupt_read.recv(1)\n" -" return\n" -" if key.fileobj == httpd:\n" -" httpd.handle_request()\n" -"\n" -"print(\"Serving on port 8000\")\n" -"httpd = HTTPServer(('', 8000), SimpleHTTPRequestHandler)\n" -"serve_forever(httpd)\n" -"print(\"Shutdown...\")" -msgstr "" diff --git a/python-newest.library--site/id.po b/python-newest.library--site/id.po deleted file mode 100644 index cf34821..0000000 --- a/python-newest.library--site/id.po +++ /dev/null @@ -1,422 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/site.rst:2 -msgid ":mod:`!site` --- Site-specific configuration hook" -msgstr "" - -#: ../../library/site.rst:7 -msgid "**Source code:** :source:`Lib/site.py`" -msgstr "" - -#: ../../library/site.rst:13 -msgid "" -"**This module is automatically imported during initialization.** The " -"automatic import can be suppressed using the interpreter's :option:`-S` " -"option." -msgstr "" - -#: ../../library/site.rst:18 -msgid "" -"Importing this module normally appends site-specific paths to the module " -"search path and adds :ref:`callables `, including :func:`help` " -"to the built-in namespace. However, Python startup option :option:`-S` " -"blocks this and this module can be safely imported with no automatic " -"modifications to the module search path or additions to the builtins. To " -"explicitly trigger the usual site-specific additions, call the :func:`main` " -"function." -msgstr "" - -#: ../../library/site.rst:25 -msgid "" -"Importing the module used to trigger paths manipulation even when using " -":option:`-S`." -msgstr "" - -#: ../../library/site.rst:32 -msgid "" -"It starts by constructing up to four directories from a head and a tail " -"part. For the head part, it uses ``sys.prefix`` and ``sys.exec_prefix``; " -"empty heads are skipped. For the tail part, it uses the empty string and " -"then :file:`lib/site-packages` (on Windows) or " -":file:`lib/python{X.Y[t]}/site-packages` (on Unix and macOS). (The optional " -"suffix \"t\" indicates the :term:`free threading` build, and is appended if " -"``\"t\"`` is present in the :data:`sys.abiflags` constant.) For each of the " -"distinct head-tail combinations, it sees if it refers to an existing " -"directory, and if so, adds it to ``sys.path`` and also inspects the newly " -"added path for configuration files." -msgstr "" - -#: ../../library/site.rst:44 -msgid "Support for the \"site-python\" directory has been removed." -msgstr "" - -#: ../../library/site.rst:47 -msgid "" -"On Unix, :term:`Free threading ` Python installations are " -"identified by the \"t\" suffix in the version-specific directory name, such " -"as :file:`lib/python3.13t/`." -msgstr "" - -#: ../../library/site.rst:54 -msgid "" -":mod:`site` is no longer responsible for updating :data:`sys.prefix` and " -":data:`sys.exec_prefix` on :ref:`sys-path-init-virtual-environments`. This " -"is now done during the :ref:`path initialization `. As a " -"result, under :ref:`sys-path-init-virtual-environments`, :data:`sys.prefix` " -"and :data:`sys.exec_prefix` no longer depend on the :mod:`site` " -"initialization, and are therefore unaffected by :option:`-S`." -msgstr "" - -#: ../../library/site.rst:63 -msgid "" -"When running under a :ref:`virtual environment `, the ``pyvenv.cfg`` file in :data:`sys.prefix` is checked for" -" site-specific configurations. If the ``include-system-site-packages`` key " -"exists and is set to ``true`` (case-insensitive), the system-level prefixes " -"will be searched for site-packages, otherwise they won't." -msgstr "" - -#: ../../library/site.rst:73 -msgid "" -"A path configuration file is a file whose name has the form " -":file:`{name}.pth` and exists in one of the four directories mentioned " -"above; its contents are additional items (one per line) to be added to " -"``sys.path``. Non-existing items are never added to ``sys.path``, and no " -"check is made that the item refers to a directory rather than a file. No " -"item is added to ``sys.path`` more than once. Blank lines and lines " -"beginning with ``#`` are skipped. Lines starting with ``import`` (followed " -"by space or tab) are executed." -msgstr "" - -#: ../../library/site.rst:83 -msgid "" -"An executable line in a :file:`.pth` file is run at every Python startup, " -"regardless of whether a particular module is actually going to be used. Its " -"impact should thus be kept to a minimum. The primary intended purpose of " -"executable lines is to make the corresponding module(s) importable (load " -"3rd-party import hooks, adjust :envvar:`PATH` etc). Any other initialization" -" is supposed to be done upon a module's actual import, if and when it " -"happens. Limiting a code chunk to a single line is a deliberate measure to " -"discourage putting anything more complex here." -msgstr "" - -#: ../../library/site.rst:94 -msgid "" -"The :file:`.pth` files are now decoded by UTF-8 at first and then by the " -":term:`locale encoding` if it fails." -msgstr "" - -#: ../../library/site.rst:102 -msgid "" -"For example, suppose ``sys.prefix`` and ``sys.exec_prefix`` are set to " -":file:`/usr/local`. The Python X.Y library is then installed in " -":file:`/usr/local/lib/python{X.Y}`. Suppose this has a subdirectory " -":file:`/usr/local/lib/python{X.Y}/site-packages` with three " -"subsubdirectories, :file:`foo`, :file:`bar` and :file:`spam`, and two path " -"configuration files, :file:`foo.pth` and :file:`bar.pth`. Assume " -":file:`foo.pth` contains the following::" -msgstr "" - -#: ../../library/site.rst:110 -msgid "" -"# foo package configuration\n" -"\n" -"foo\n" -"bar\n" -"bletch" -msgstr "" - -#: ../../library/site.rst:116 -msgid "and :file:`bar.pth` contains::" -msgstr "" - -#: ../../library/site.rst:118 -msgid "" -"# bar package configuration\n" -"\n" -"bar" -msgstr "" - -#: ../../library/site.rst:122 -msgid "" -"Then the following version-specific directories are added to ``sys.path``, " -"in this order::" -msgstr "" - -#: ../../library/site.rst:125 -msgid "" -"/usr/local/lib/pythonX.Y/site-packages/bar\n" -"/usr/local/lib/pythonX.Y/site-packages/foo" -msgstr "" - -#: ../../library/site.rst:128 -msgid "" -"Note that :file:`bletch` is omitted because it doesn't exist; the " -":file:`bar` directory precedes the :file:`foo` directory because " -":file:`bar.pth` comes alphabetically before :file:`foo.pth`; and " -":file:`spam` is omitted because it is not mentioned in either path " -"configuration file." -msgstr "" - -#: ../../library/site.rst:134 -msgid ":mod:`sitecustomize`" -msgstr "" - -#: ../../library/site.rst:138 -msgid "" -"After these path manipulations, an attempt is made to import a module named " -":mod:`sitecustomize`, which can perform arbitrary site-specific " -"customizations. It is typically created by a system administrator in the " -"site-packages directory. If this import fails with an :exc:`ImportError` or" -" its subclass exception, and the exception's :attr:`~ImportError.name` " -"attribute equals to ``'sitecustomize'``, it is silently ignored. If Python " -"is started without output streams available, as with :file:`pythonw.exe` on " -"Windows (which is used by default to start IDLE), attempted output from " -":mod:`sitecustomize` is ignored. Any other exception causes a silent and " -"perhaps mysterious failure of the process." -msgstr "" - -#: ../../library/site.rst:150 -msgid ":mod:`usercustomize`" -msgstr "" - -#: ../../library/site.rst:154 -msgid "" -"After this, an attempt is made to import a module named " -":mod:`usercustomize`, which can perform arbitrary user-specific " -"customizations, if :data:`~site.ENABLE_USER_SITE` is true. This file is " -"intended to be created in the user site-packages directory (see below), " -"which is part of ``sys.path`` unless disabled by :option:`-s`. If this " -"import fails with an :exc:`ImportError` or its subclass exception, and the " -"exception's :attr:`~ImportError.name` attribute equals to " -"``'usercustomize'``, it is silently ignored." -msgstr "" - -#: ../../library/site.rst:162 -msgid "" -"Note that for some non-Unix systems, ``sys.prefix`` and ``sys.exec_prefix`` " -"are empty, and the path manipulations are skipped; however the import of " -":mod:`sitecustomize` and :mod:`usercustomize` is still attempted." -msgstr "" - -#: ../../library/site.rst:171 -msgid "Readline configuration" -msgstr "" - -#: ../../library/site.rst:173 -msgid "" -"On systems that support :mod:`readline`, this module will also import and " -"configure the :mod:`rlcompleter` module, if Python is started in " -":ref:`interactive mode ` and without the :option:`-S` " -"option. The default behavior is enable tab-completion and to use " -":file:`~/.python_history` as the history save file. To disable it, delete " -"(or override) the :data:`sys.__interactivehook__` attribute in your " -":mod:`sitecustomize` or :mod:`usercustomize` module or your " -":envvar:`PYTHONSTARTUP` file." -msgstr "" - -#: ../../library/site.rst:182 -msgid "Activation of rlcompleter and history was made automatic." -msgstr "" - -#: ../../library/site.rst:187 -msgid "Module contents" -msgstr "" - -#: ../../library/site.rst:191 -msgid "A list of prefixes for site-packages directories." -msgstr "" - -#: ../../library/site.rst:196 -msgid "" -"Flag showing the status of the user site-packages directory. ``True`` means" -" that it is enabled and was added to ``sys.path``. ``False`` means that it " -"was disabled by user request (with :option:`-s` or " -":envvar:`PYTHONNOUSERSITE`). ``None`` means it was disabled for security " -"reasons (mismatch between user or group id and effective id) or by an " -"administrator." -msgstr "" - -#: ../../library/site.rst:206 -msgid "" -"Path to the user site-packages for the running Python. Can be ``None`` if " -":func:`getusersitepackages` hasn't been called yet. Default value is " -":file:`~/.local/lib/python{X.Y}[t]/site-packages` for UNIX and non-framework" -" macOS builds, :file:`~/Library/Python/{X.Y}/lib/python/site-packages` for " -"macOS framework builds, and " -":file:`{%APPDATA%}\\\\Python\\\\Python{XY}\\\\site-packages` on Windows. " -"The optional \"t\" indicates the free-threaded build. This directory is a " -"site directory, which means that :file:`.pth` files in it will be processed." -msgstr "" - -#: ../../library/site.rst:218 -msgid "" -"Path to the base directory for the user site-packages. Can be ``None`` if " -":func:`getuserbase` hasn't been called yet. Default value is " -":file:`~/.local` for UNIX and macOS non-framework builds, " -":file:`~/Library/Python/{X.Y}` for macOS framework builds, and " -":file:`{%APPDATA%}\\\\Python` for Windows. This value is used to compute " -"the installation directories for scripts, data files, Python modules, etc. " -"for the :ref:`user installation scheme `. See also " -":envvar:`PYTHONUSERBASE`." -msgstr "" - -#: ../../library/site.rst:230 -msgid "" -"Adds all the standard site-specific directories to the module search path. " -"This function is called automatically when this module is imported, unless " -"the Python interpreter was started with the :option:`-S` flag." -msgstr "" - -#: ../../library/site.rst:234 -msgid "This function used to be called unconditionally." -msgstr "" - -#: ../../library/site.rst:240 -msgid "" -"Add a directory to sys.path and process its :file:`.pth` files. Typically " -"used in :mod:`sitecustomize` or :mod:`usercustomize` (see above)." -msgstr "" - -#: ../../library/site.rst:246 -msgid "Return a list containing all global site-packages directories." -msgstr "" - -#: ../../library/site.rst:253 -msgid "" -"Return the path of the user base directory, :data:`USER_BASE`. If it is not" -" initialized yet, this function will also set it, respecting " -":envvar:`PYTHONUSERBASE`." -msgstr "" - -#: ../../library/site.rst:262 -msgid "" -"Return the path of the user-specific site-packages directory, " -":data:`USER_SITE`. If it is not initialized yet, this function will also " -"set it, respecting :data:`USER_BASE`. To determine if the user-specific " -"site-packages was added to ``sys.path`` :data:`ENABLE_USER_SITE` should be " -"used." -msgstr "" - -#: ../../library/site.rst:274 -msgid "Command Line Interface" -msgstr "" - -#: ../../library/site.rst:278 -msgid "" -"The :mod:`site` module also provides a way to get the user directories from " -"the command line:" -msgstr "" - -#: ../../library/site.rst:281 -msgid "" -"$ python -m site --user-site\n" -"/home/user/.local/lib/python3.11/site-packages" -msgstr "" - -#: ../../library/site.rst:286 -msgid "" -"If it is called without arguments, it will print the contents of " -":data:`sys.path` on the standard output, followed by the value of " -":data:`USER_BASE` and whether the directory exists, then the same thing for " -":data:`USER_SITE`, and finally the value of :data:`ENABLE_USER_SITE`." -msgstr "" - -#: ../../library/site.rst:293 -msgid "Print the path to the user base directory." -msgstr "" - -#: ../../library/site.rst:297 -msgid "Print the path to the user site-packages directory." -msgstr "" - -#: ../../library/site.rst:299 -msgid "" -"If both options are given, user base and user site will be printed (always " -"in this order), separated by :data:`os.pathsep`." -msgstr "" - -#: ../../library/site.rst:302 -msgid "" -"If any option is given, the script will exit with one of these values: ``0``" -" if the user site-packages directory is enabled, ``1`` if it was disabled by" -" the user, ``2`` if it is disabled for security reasons or by an " -"administrator, and a value greater than 2 if there is an error." -msgstr "" - -#: ../../library/site.rst:309 -msgid ":pep:`370` -- Per user site-packages directory" -msgstr "" - -#: ../../library/site.rst:310 -msgid ":ref:`sys-path-init` -- The initialization of :data:`sys.path`." -msgstr "" - -#: ../../library/site.rst:16 -msgid "module" -msgstr "modul" - -#: ../../library/site.rst:16 -msgid "search" -msgstr "" - -#: ../../library/site.rst:16 ../../library/site.rst:98 -msgid "path" -msgstr "" - -#: ../../library/site.rst:29 -msgid "site-packages" -msgstr "" - -#: ../../library/site.rst:29 -msgid "directory" -msgstr "" - -#: ../../library/site.rst:69 -msgid "# (hash)" -msgstr "" - -#: ../../library/site.rst:69 -msgid "comment" -msgstr "" - -#: ../../library/site.rst:69 -msgid "statement" -msgstr "pernyataan" - -#: ../../library/site.rst:69 -msgid "import" -msgstr "" - -#: ../../library/site.rst:98 -msgid "package" -msgstr "paket" - -#: ../../library/site.rst:98 -msgid "configuration" -msgstr "" - -#: ../../library/site.rst:98 -msgid "file" -msgstr "" diff --git a/python-newest.library--smtpd/id.po b/python-newest.library--smtpd/id.po deleted file mode 100644 index efffc75..0000000 --- a/python-newest.library--smtpd/id.po +++ /dev/null @@ -1,41 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/smtpd.rst:2 -msgid ":mod:`!smtpd` --- SMTP Server" -msgstr "" - -#: ../../library/smtpd.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.12 ` after being deprecated " -"in Python 3.6. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/smtpd.rst:14 -msgid "" -"A possible replacement is the third-party :pypi:`aiosmtpd` library. This " -"library is not maintained or supported by the Python core team." -msgstr "" - -#: ../../library/smtpd.rst:17 -msgid "" -"The last version of Python that provided the :mod:`!smtpd` module was " -"`Python 3.11 `_." -msgstr "" diff --git a/python-newest.library--smtplib/id.po b/python-newest.library--smtplib/id.po deleted file mode 100644 index fd4f78a..0000000 --- a/python-newest.library--smtplib/id.po +++ /dev/null @@ -1,791 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/smtplib.rst:2 -msgid ":mod:`!smtplib` --- SMTP protocol client" -msgstr "" - -#: ../../library/smtplib.rst:9 -msgid "**Source code:** :source:`Lib/smtplib.py`" -msgstr "" - -#: ../../library/smtplib.rst:17 -msgid "" -"The :mod:`smtplib` module defines an SMTP client session object that can be " -"used to send mail to any internet machine with an SMTP or ESMTP listener " -"daemon. For details of SMTP and ESMTP operation, consult :rfc:`821` (Simple" -" Mail Transfer Protocol) and :rfc:`1869` (SMTP Service Extensions)." -msgstr "" - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/smtplib.rst:26 -msgid "" -"An :class:`SMTP` instance encapsulates an SMTP connection. It has methods " -"that support a full repertoire of SMTP and ESMTP operations. If the optional" -" *host* and *port* parameters are given, the SMTP :meth:`connect` method is " -"called with those parameters during initialization. If specified, " -"*local_hostname* is used as the FQDN of the local host in the HELO/EHLO " -"command. Otherwise, the local hostname is found using " -":func:`socket.getfqdn`. If the :meth:`connect` call returns anything other " -"than a success code, an :exc:`SMTPConnectError` is raised. The optional " -"*timeout* parameter specifies a timeout in seconds for blocking operations " -"like the connection attempt (if not specified, the global default timeout " -"setting will be used). If the timeout expires, :exc:`TimeoutError` is " -"raised. The optional *source_address* parameter allows binding to some " -"specific source address in a machine with multiple network interfaces, " -"and/or to some specific source TCP port. It takes a 2-tuple ``(host, " -"port)``, for the socket to bind to as its source address before connecting. " -"If omitted (or if *host* or *port* are ``''`` and/or ``0`` respectively) the" -" OS default behavior will be used." -msgstr "" - -#: ../../library/smtplib.rst:44 -msgid "" -"For normal use, you should only require the initialization/connect, " -":meth:`sendmail`, and :meth:`SMTP.quit` methods. An example is included " -"below." -msgstr "" - -#: ../../library/smtplib.rst:48 -msgid "" -"The :class:`SMTP` class supports the :keyword:`with` statement. When used " -"like this, the SMTP ``QUIT`` command is issued automatically when the " -":keyword:`!with` statement exits. E.g.::" -msgstr "" - -#: ../../library/smtplib.rst:52 -msgid "" -">>> from smtplib import SMTP\n" -">>> with SMTP(\"domain.org\") as smtp:\n" -"... smtp.noop()\n" -"...\n" -"(250, b'Ok')\n" -">>>" -msgstr "" - -#: ../../library/smtplib.rst:59 ../../library/smtplib.rst:61 -msgid "" -"All commands will raise an :ref:`auditing event ` " -"``smtplib.SMTP.send`` with arguments ``self`` and ``data``, where ``data`` " -"is the bytes about to be sent to the remote host." -msgstr "" - -#: ../../library/smtplib.rst:65 -msgid "Support for the :keyword:`with` statement was added." -msgstr "" - -#: ../../library/smtplib.rst:68 -msgid "*source_address* argument was added." -msgstr "" - -#: ../../library/smtplib.rst:71 -msgid "The SMTPUTF8 extension (:rfc:`6531`) is now supported." -msgstr "" - -#: ../../library/smtplib.rst:74 -msgid "" -"If the *timeout* parameter is set to be zero, it will raise a " -":class:`ValueError` to prevent the creation of a non-blocking socket." -msgstr "" - -#: ../../library/smtplib.rst:81 -msgid "" -"An :class:`SMTP_SSL` instance behaves exactly the same as instances of " -":class:`SMTP`. :class:`SMTP_SSL` should be used for situations where SSL is " -"required from the beginning of the connection and using :meth:`starttls` is " -"not appropriate. If *host* is not specified, the local host is used. If " -"*port* is zero, the standard SMTP-over-SSL port (465) is used. The optional" -" arguments *local_hostname*, *timeout* and *source_address* have the same " -"meaning as they do in the :class:`SMTP` class. *context*, also optional, " -"can contain a :class:`~ssl.SSLContext` and allows configuring various " -"aspects of the secure connection. Please read :ref:`ssl-security` for best " -"practices." -msgstr "" - -#: ../../library/smtplib.rst:92 ../../library/smtplib.rst:415 -msgid "*context* was added." -msgstr "" - -#: ../../library/smtplib.rst:95 -msgid "The *source_address* argument was added." -msgstr "" - -#: ../../library/smtplib.rst:98 -msgid "" -"The class now supports hostname check with " -":attr:`ssl.SSLContext.check_hostname` and *Server Name Indication* (see " -":const:`ssl.HAS_SNI`)." -msgstr "" - -#: ../../library/smtplib.rst:103 -msgid "" -"If the *timeout* parameter is set to be zero, it will raise a " -":class:`ValueError` to prevent the creation of a non-blocking socket" -msgstr "" - -#: ../../library/smtplib.rst:107 ../../library/smtplib.rst:403 -msgid "The deprecated *keyfile* and *certfile* parameters have been removed." -msgstr "" - -#: ../../library/smtplib.rst:113 -msgid "" -"The LMTP protocol, which is very similar to ESMTP, is heavily based on the " -"standard SMTP client. It's common to use Unix sockets for LMTP, so our " -":meth:`connect` method must support that as well as a regular host:port " -"server. The optional arguments *local_hostname* and *source_address* have " -"the same meaning as they do in the :class:`SMTP` class. To specify a Unix " -"socket, you must use an absolute path for *host*, starting with a '/'." -msgstr "" - -#: ../../library/smtplib.rst:120 -msgid "" -"Authentication is supported, using the regular SMTP mechanism. When using a " -"Unix socket, LMTP generally don't support or require any authentication, but" -" your mileage might vary." -msgstr "" - -#: ../../library/smtplib.rst:124 -msgid "The optional *timeout* parameter was added." -msgstr "" - -#: ../../library/smtplib.rst:128 -msgid "A nice selection of exceptions is defined as well:" -msgstr "" - -#: ../../library/smtplib.rst:133 -msgid "" -"Subclass of :exc:`OSError` that is the base exception class for all the " -"other exceptions provided by this module." -msgstr "" - -#: ../../library/smtplib.rst:136 -msgid "SMTPException became subclass of :exc:`OSError`" -msgstr "" - -#: ../../library/smtplib.rst:142 -msgid "" -"This exception is raised when the server unexpectedly disconnects, or when " -"an attempt is made to use the :class:`SMTP` instance before connecting it to" -" a server." -msgstr "" - -#: ../../library/smtplib.rst:149 -msgid "" -"Base class for all exceptions that include an SMTP error code. These " -"exceptions are generated in some instances when the SMTP server returns an " -"error code. The error code is stored in the :attr:`smtp_code` attribute of " -"the error, and the :attr:`smtp_error` attribute is set to the error message." -msgstr "" - -#: ../../library/smtplib.rst:157 -msgid "" -"Sender address refused. In addition to the attributes set by on all " -":exc:`SMTPResponseException` exceptions, this sets 'sender' to the string " -"that the SMTP server refused." -msgstr "" - -#: ../../library/smtplib.rst:164 -msgid "" -"All recipient addresses refused. The errors for each recipient are " -"accessible through the attribute :attr:`recipients`, which is a dictionary " -"of exactly the same sort as :meth:`SMTP.sendmail` returns." -msgstr "" - -#: ../../library/smtplib.rst:171 -msgid "The SMTP server refused to accept the message data." -msgstr "" - -#: ../../library/smtplib.rst:176 -msgid "Error occurred during establishment of a connection with the server." -msgstr "" - -#: ../../library/smtplib.rst:181 -msgid "The server refused our ``HELO`` message." -msgstr "" - -#: ../../library/smtplib.rst:186 -msgid "The command or option attempted is not supported by the server." -msgstr "" - -#: ../../library/smtplib.rst:193 -msgid "" -"SMTP authentication went wrong. Most probably the server didn't accept the " -"username/password combination provided." -msgstr "" - -#: ../../library/smtplib.rst:199 -msgid ":rfc:`821` - Simple Mail Transfer Protocol" -msgstr "" - -#: ../../library/smtplib.rst:200 -msgid "" -"Protocol definition for SMTP. This document covers the model, operating " -"procedure, and protocol details for SMTP." -msgstr "" - -#: ../../library/smtplib.rst:203 -msgid ":rfc:`1869` - SMTP Service Extensions" -msgstr "" - -#: ../../library/smtplib.rst:204 -msgid "" -"Definition of the ESMTP extensions for SMTP. This describes a framework for" -" extending SMTP with new commands, supporting dynamic discovery of the " -"commands provided by the server, and defines a few additional commands." -msgstr "" - -#: ../../library/smtplib.rst:212 -msgid "SMTP Objects" -msgstr "" - -#: ../../library/smtplib.rst:214 -msgid "An :class:`SMTP` instance has the following methods:" -msgstr "" - -#: ../../library/smtplib.rst:219 -msgid "" -"Set the debug output level. A value of 1 or ``True`` for *level* results in" -" debug messages for connection and for all messages sent to and received " -"from the server. A value of 2 for *level* results in these messages being " -"timestamped." -msgstr "" - -#: ../../library/smtplib.rst:224 -msgid "Added debuglevel 2." -msgstr "" - -#: ../../library/smtplib.rst:229 -msgid "" -"Send a command *cmd* to the server. The optional argument *args* is simply " -"concatenated to the command, separated by a space." -msgstr "" - -#: ../../library/smtplib.rst:232 -msgid "" -"This returns a 2-tuple composed of a numeric response code and the actual " -"response line (multiline responses are joined into one long line.)" -msgstr "" - -#: ../../library/smtplib.rst:235 -msgid "" -"In normal operation it should not be necessary to call this method " -"explicitly. It is used to implement other methods and may be useful for " -"testing private extensions." -msgstr "" - -#: ../../library/smtplib.rst:239 -msgid "" -"If the connection to the server is lost while waiting for the reply, " -":exc:`SMTPServerDisconnected` will be raised." -msgstr "" - -#: ../../library/smtplib.rst:245 -msgid "" -"Connect to a host on a given port. The defaults are to connect to the local" -" host at the standard SMTP port (25). If the hostname ends with a colon " -"(``':'``) followed by a number, that suffix will be stripped off and the " -"number interpreted as the port number to use. This method is automatically " -"invoked by the constructor if a host is specified during instantiation. " -"Returns a 2-tuple of the response code and message sent by the server in its" -" connection response." -msgstr "" - -#: ../../library/smtplib.rst:253 -msgid "" -"Raises an :ref:`auditing event ` ``smtplib.connect`` with " -"arguments ``self``, ``host``, ``port``." -msgstr "" - -#: ../../library/smtplib.rst:258 -msgid "" -"Identify yourself to the SMTP server using ``HELO``. The hostname argument " -"defaults to the fully qualified domain name of the local host. The message " -"returned by the server is stored as the :attr:`helo_resp` attribute of the " -"object." -msgstr "" - -#: ../../library/smtplib.rst:263 -msgid "" -"In normal operation it should not be necessary to call this method " -"explicitly. It will be implicitly called by the :meth:`sendmail` when " -"necessary." -msgstr "" - -#: ../../library/smtplib.rst:269 -msgid "" -"Identify yourself to an ESMTP server using ``EHLO``. The hostname argument " -"defaults to the fully qualified domain name of the local host. Examine the " -"response for ESMTP option and store them for use by :meth:`has_extn`. Also " -"sets several informational attributes: the message returned by the server is" -" stored as the :attr:`ehlo_resp` attribute, :attr:`does_esmtp` is set to " -"``True`` or ``False`` depending on whether the server supports ESMTP, and " -":attr:`esmtp_features` will be a dictionary containing the names of the SMTP" -" service extensions this server supports, and their parameters (if any)." -msgstr "" - -#: ../../library/smtplib.rst:279 -msgid "" -"Unless you wish to use :meth:`has_extn` before sending mail, it should not " -"be necessary to call this method explicitly. It will be implicitly called " -"by :meth:`sendmail` when necessary." -msgstr "" - -#: ../../library/smtplib.rst:285 -msgid "" -"This method calls :meth:`ehlo` and/or :meth:`helo` if there has been no " -"previous ``EHLO`` or ``HELO`` command this session. It tries ESMTP ``EHLO``" -" first." -msgstr "" - -#: ../../library/smtplib.rst:289 ../../library/smtplib.rst:318 -#: ../../library/smtplib.rst:406 ../../library/smtplib.rst:475 -msgid ":exc:`SMTPHeloError`" -msgstr "" - -#: ../../library/smtplib.rst:290 ../../library/smtplib.rst:319 -#: ../../library/smtplib.rst:407 ../../library/smtplib.rst:476 -msgid "The server didn't reply properly to the ``HELO`` greeting." -msgstr "" - -#: ../../library/smtplib.rst:294 -msgid "" -"Return :const:`True` if *name* is in the set of SMTP service extensions " -"returned by the server, :const:`False` otherwise. Case is ignored." -msgstr "" - -#: ../../library/smtplib.rst:300 -msgid "" -"Check the validity of an address on this server using SMTP ``VRFY``. Returns" -" a tuple consisting of code 250 and a full :rfc:`822` address (including " -"human name) if the user address is valid. Otherwise returns an SMTP error " -"code of 400 or greater and an error string." -msgstr "" - -#: ../../library/smtplib.rst:307 -msgid "Many sites disable SMTP ``VRFY`` in order to foil spammers." -msgstr "" - -#: ../../library/smtplib.rst:312 -msgid "" -"Log in on an SMTP server that requires authentication. The arguments are the" -" username and the password to authenticate with. If there has been no " -"previous ``EHLO`` or ``HELO`` command this session, this method tries ESMTP " -"``EHLO`` first. This method will return normally if the authentication was " -"successful, or may raise the following exceptions:" -msgstr "" - -#: ../../library/smtplib.rst:321 -msgid ":exc:`SMTPAuthenticationError`" -msgstr "" - -#: ../../library/smtplib.rst:322 -msgid "The server didn't accept the username/password combination." -msgstr "" - -#: ../../library/smtplib.rst:324 ../../library/smtplib.rst:409 -#: ../../library/smtplib.rst:485 -msgid ":exc:`SMTPNotSupportedError`" -msgstr "" - -#: ../../library/smtplib.rst:325 -msgid "The ``AUTH`` command is not supported by the server." -msgstr "" - -#: ../../library/smtplib.rst:327 -msgid ":exc:`SMTPException`" -msgstr "" - -#: ../../library/smtplib.rst:328 -msgid "No suitable authentication method was found." -msgstr "" - -#: ../../library/smtplib.rst:330 -msgid "" -"Each of the authentication methods supported by :mod:`smtplib` are tried in " -"turn if they are advertised as supported by the server. See :meth:`auth` " -"for a list of supported authentication methods. *initial_response_ok* is " -"passed through to :meth:`auth`." -msgstr "" - -#: ../../library/smtplib.rst:335 -msgid "" -"Optional keyword argument *initial_response_ok* specifies whether, for " -"authentication methods that support it, an \"initial response\" as specified" -" in :rfc:`4954` can be sent along with the ``AUTH`` command, rather than " -"requiring a challenge/response." -msgstr "" - -#: ../../library/smtplib.rst:340 -msgid "" -":exc:`SMTPNotSupportedError` may be raised, and the *initial_response_ok* " -"parameter was added." -msgstr "" - -#: ../../library/smtplib.rst:347 -msgid "" -"Issue an ``SMTP`` ``AUTH`` command for the specified authentication " -"*mechanism*, and handle the challenge response via *authobject*." -msgstr "" - -#: ../../library/smtplib.rst:350 -msgid "" -"*mechanism* specifies which authentication mechanism is to be used as " -"argument to the ``AUTH`` command; the valid values are those listed in the " -"``auth`` element of :attr:`esmtp_features`." -msgstr "" - -#: ../../library/smtplib.rst:354 -msgid "" -"*authobject* must be a callable object taking an optional single argument::" -msgstr "" - -#: ../../library/smtplib.rst:356 -msgid "data = authobject(challenge=None)" -msgstr "" - -#: ../../library/smtplib.rst:358 -msgid "" -"If optional keyword argument *initial_response_ok* is true, ``authobject()``" -" will be called first with no argument. It can return the :rfc:`4954` " -"\"initial response\" ASCII ``str`` which will be encoded and sent with the " -"``AUTH`` command as below. If the ``authobject()`` does not support an " -"initial response (e.g. because it requires a challenge), it should return " -"``None`` when called with ``challenge=None``. If *initial_response_ok* is " -"false, then ``authobject()`` will not be called first with ``None``." -msgstr "" - -#: ../../library/smtplib.rst:366 -msgid "" -"If the initial response check returns ``None``, or if *initial_response_ok* " -"is false, ``authobject()`` will be called to process the server's challenge " -"response; the *challenge* argument it is passed will be a ``bytes``. It " -"should return ASCII ``str`` *data* that will be base64 encoded and sent to " -"the server." -msgstr "" - -#: ../../library/smtplib.rst:372 -msgid "" -"The ``SMTP`` class provides ``authobjects`` for the ``CRAM-MD5``, ``PLAIN``," -" and ``LOGIN`` mechanisms; they are named ``SMTP.auth_cram_md5``, " -"``SMTP.auth_plain``, and ``SMTP.auth_login`` respectively. They all require" -" that the ``user`` and ``password`` properties of the ``SMTP`` instance are " -"set to appropriate values." -msgstr "" - -#: ../../library/smtplib.rst:378 -msgid "" -"User code does not normally need to call ``auth`` directly, but can instead " -"call the :meth:`login` method, which will try each of the above mechanisms " -"in turn, in the order listed. ``auth`` is exposed to facilitate the " -"implementation of authentication methods not (or not yet) supported directly" -" by :mod:`smtplib`." -msgstr "" - -#: ../../library/smtplib.rst:389 -msgid "" -"Put the SMTP connection in TLS (Transport Layer Security) mode. All SMTP " -"commands that follow will be encrypted. You should then call :meth:`ehlo` " -"again." -msgstr "" - -#: ../../library/smtplib.rst:393 -msgid "" -"If *keyfile* and *certfile* are provided, they are used to create an " -":class:`ssl.SSLContext`." -msgstr "" - -#: ../../library/smtplib.rst:396 -msgid "" -"Optional *context* parameter is an :class:`ssl.SSLContext` object; This is " -"an alternative to using a keyfile and a certfile and if specified both " -"*keyfile* and *certfile* should be ``None``." -msgstr "" - -#: ../../library/smtplib.rst:400 -msgid "" -"If there has been no previous ``EHLO`` or ``HELO`` command this session, " -"this method tries ESMTP ``EHLO`` first." -msgstr "" - -#: ../../library/smtplib.rst:410 -msgid "The server does not support the STARTTLS extension." -msgstr "" - -#: ../../library/smtplib.rst:412 -msgid ":exc:`RuntimeError`" -msgstr ":exc:`RuntimeError`" - -#: ../../library/smtplib.rst:413 -msgid "SSL/TLS support is not available to your Python interpreter." -msgstr "" - -#: ../../library/smtplib.rst:418 -msgid "" -"The method now supports hostname check with " -":attr:`SSLContext.check_hostname` and *Server Name Indicator* (see " -":const:`~ssl.HAS_SNI`)." -msgstr "" - -#: ../../library/smtplib.rst:423 -msgid "" -"The error raised for lack of STARTTLS support is now the " -":exc:`SMTPNotSupportedError` subclass instead of the base " -":exc:`SMTPException`." -msgstr "" - -#: ../../library/smtplib.rst:431 -msgid "" -"Send mail. The required arguments are an :rfc:`822` from-address string, a " -"list of :rfc:`822` to-address strings (a bare string will be treated as a " -"list with 1 address), and a message string. The caller may pass a list of " -"ESMTP options (such as ``8bitmime``) to be used in ``MAIL FROM`` commands as" -" *mail_options*. ESMTP options (such as ``DSN`` commands) that should be " -"used with all ``RCPT`` commands can be passed as *rcpt_options*. (If you " -"need to use different ESMTP options to different recipients you have to use " -"the low-level methods such as :meth:`mail`, :meth:`rcpt` and :meth:`data` to" -" send the message.)" -msgstr "" - -#: ../../library/smtplib.rst:442 -msgid "" -"The *from_addr* and *to_addrs* parameters are used to construct the message " -"envelope used by the transport agents. ``sendmail`` does not modify the " -"message headers in any way." -msgstr "" - -#: ../../library/smtplib.rst:446 -msgid "" -"*msg* may be a string containing characters in the ASCII range, or a byte " -"string. A string is encoded to bytes using the ascii codec, and lone " -"``\\r`` and ``\\n`` characters are converted to ``\\r\\n`` characters. A " -"byte string is not modified." -msgstr "" - -#: ../../library/smtplib.rst:451 -msgid "" -"If there has been no previous ``EHLO`` or ``HELO`` command this session, " -"this method tries ESMTP ``EHLO`` first. If the server does ESMTP, message " -"size and each of the specified options will be passed to it (if the option " -"is in the feature set the server advertises). If ``EHLO`` fails, ``HELO`` " -"will be tried and ESMTP options suppressed." -msgstr "" - -#: ../../library/smtplib.rst:457 -msgid "" -"This method will return normally if the mail is accepted for at least one " -"recipient. Otherwise it will raise an exception. That is, if this method " -"does not raise an exception, then someone should get your mail. If this " -"method does not raise an exception, it returns a dictionary, with one entry " -"for each recipient that was refused. Each entry contains a tuple of the " -"SMTP error code and the accompanying error message sent by the server." -msgstr "" - -#: ../../library/smtplib.rst:464 -msgid "" -"If ``SMTPUTF8`` is included in *mail_options*, and the server supports it, " -"*from_addr* and *to_addrs* may contain non-ASCII characters." -msgstr "" - -#: ../../library/smtplib.rst:467 -msgid "This method may raise the following exceptions:" -msgstr "" - -#: ../../library/smtplib.rst:469 -msgid ":exc:`SMTPRecipientsRefused`" -msgstr "" - -#: ../../library/smtplib.rst:470 -msgid "" -"All recipients were refused. Nobody got the mail. The :attr:`recipients` " -"attribute of the exception object is a dictionary with information about the" -" refused recipients (like the one returned when at least one recipient was " -"accepted)." -msgstr "" - -#: ../../library/smtplib.rst:478 -msgid ":exc:`SMTPSenderRefused`" -msgstr "" - -#: ../../library/smtplib.rst:479 -msgid "The server didn't accept the *from_addr*." -msgstr "" - -#: ../../library/smtplib.rst:481 -msgid ":exc:`SMTPDataError`" -msgstr "" - -#: ../../library/smtplib.rst:482 -msgid "" -"The server replied with an unexpected error code (other than a refusal of a " -"recipient)." -msgstr "" - -#: ../../library/smtplib.rst:486 -msgid "" -"``SMTPUTF8`` was given in the *mail_options* but is not supported by the " -"server." -msgstr "" - -#: ../../library/smtplib.rst:489 -msgid "" -"Unless otherwise noted, the connection will be open even after an exception " -"is raised." -msgstr "" - -#: ../../library/smtplib.rst:492 -msgid "*msg* may be a byte string." -msgstr "" - -#: ../../library/smtplib.rst:495 -msgid "" -"``SMTPUTF8`` support added, and :exc:`SMTPNotSupportedError` may be raised " -"if ``SMTPUTF8`` is specified but the server does not support it." -msgstr "" - -#: ../../library/smtplib.rst:503 -msgid "" -"This is a convenience method for calling :meth:`sendmail` with the message " -"represented by an :class:`email.message.Message` object. The arguments have" -" the same meaning as for :meth:`sendmail`, except that *msg* is a " -"``Message`` object." -msgstr "" - -#: ../../library/smtplib.rst:508 -msgid "" -"If *from_addr* is ``None`` or *to_addrs* is ``None``, ``send_message`` fills" -" those arguments with addresses extracted from the headers of *msg* as " -"specified in :rfc:`5322`\\: *from_addr* is set to the :mailheader:`Sender` " -"field if it is present, and otherwise to the :mailheader:`From` field. " -"*to_addrs* combines the values (if any) of the :mailheader:`To`, " -":mailheader:`Cc`, and :mailheader:`Bcc` fields from *msg*. If exactly one " -"set of :mailheader:`Resent-*` headers appear in the message, the regular " -"headers are ignored and the :mailheader:`Resent-*` headers are used instead." -" If the message contains more than one set of :mailheader:`Resent-*` " -"headers, a :exc:`ValueError` is raised, since there is no way to " -"unambiguously detect the most recent set of :mailheader:`Resent-` headers." -msgstr "" - -#: ../../library/smtplib.rst:520 -msgid "" -"``send_message`` serializes *msg* using " -":class:`~email.generator.BytesGenerator` with ``\\r\\n`` as the *linesep*, " -"and calls :meth:`sendmail` to transmit the resulting message. Regardless of" -" the values of *from_addr* and *to_addrs*, ``send_message`` does not " -"transmit any :mailheader:`Bcc` or :mailheader:`Resent-Bcc` headers that may " -"appear in *msg*. If any of the addresses in *from_addr* and *to_addrs* " -"contain non-ASCII characters and the server does not advertise ``SMTPUTF8`` " -"support, an :exc:`SMTPNotSupportedError` is raised. Otherwise the " -"``Message`` is serialized with a clone of its :mod:`~email.policy` with the " -":attr:`~email.policy.EmailPolicy.utf8` attribute set to ``True``, and " -"``SMTPUTF8`` and ``BODY=8BITMIME`` are added to *mail_options*." -msgstr "" - -#: ../../library/smtplib.rst:534 -msgid "Support for internationalized addresses (``SMTPUTF8``)." -msgstr "" - -#: ../../library/smtplib.rst:540 -msgid "" -"Terminate the SMTP session and close the connection. Return the result of " -"the SMTP ``QUIT`` command." -msgstr "" - -#: ../../library/smtplib.rst:544 -msgid "" -"Low-level methods corresponding to the standard SMTP/ESMTP commands " -"``HELP``, ``RSET``, ``NOOP``, ``MAIL``, ``RCPT``, and ``DATA`` are also " -"supported. Normally these do not need to be called directly, so they are not" -" documented here. For details, consult the module code." -msgstr "" - -#: ../../library/smtplib.rst:553 -msgid "SMTP Example" -msgstr "" - -#: ../../library/smtplib.rst:555 -msgid "" -"This example prompts the user for addresses needed in the message envelope " -"('To' and 'From' addresses), and the message to be delivered. Note that the" -" headers to be included with the message must be included in the message as " -"entered; this example doesn't do any processing of the :rfc:`822` headers. " -"In particular, the 'To' and 'From' addresses must be included in the message" -" headers explicitly::" -msgstr "" - -#: ../../library/smtplib.rst:561 -msgid "" -"import smtplib\n" -"\n" -"def prompt(title):\n" -" return input(title).strip()\n" -"\n" -"from_addr = prompt(\"From: \")\n" -"to_addrs = prompt(\"To: \").split()\n" -"print(\"Enter message, end with ^D (Unix) or ^Z (Windows):\")\n" -"\n" -"# Add the From: and To: headers at the start!\n" -"lines = [f\"From: {from_addr}\", f\"To: {', '.join(to_addrs)}\", \"\"]\n" -"while True:\n" -" try:\n" -" line = input()\n" -" except EOFError:\n" -" break\n" -" else:\n" -" lines.append(line)\n" -"\n" -"msg = \"\\r\\n\".join(lines)\n" -"print(\"Message length is\", len(msg))\n" -"\n" -"server = smtplib.SMTP(\"localhost\")\n" -"server.set_debuglevel(1)\n" -"server.sendmail(from_addr, to_addrs, msg)\n" -"server.quit()" -msgstr "" - -#: ../../library/smtplib.rst:590 -msgid "" -"In general, you will want to use the :mod:`email` package's features to " -"construct an email message, which you can then send via " -":meth:`~smtplib.SMTP.send_message`; see :ref:`email-examples`." -msgstr "" - -#: ../../library/smtplib.rst:11 -msgid "SMTP" -msgstr "" - -#: ../../library/smtplib.rst:11 -msgid "protocol" -msgstr "" - -#: ../../library/smtplib.rst:11 -msgid "Simple Mail Transfer Protocol" -msgstr "" diff --git a/python-newest.library--sndhdr/id.po b/python-newest.library--sndhdr/id.po deleted file mode 100644 index eb9b83d..0000000 --- a/python-newest.library--sndhdr/id.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/sndhdr.rst:2 -msgid ":mod:`!sndhdr` --- Determine type of sound file" -msgstr "" - -#: ../../library/sndhdr.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.13 ` after being deprecated in" -" Python 3.11. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/sndhdr.rst:14 -msgid "" -"Possible replacements are third-party modules from PyPI: :pypi:`filetype`, " -":pypi:`puremagic`, or :pypi:`python-magic`. These are not supported or " -"maintained by the Python core team." -msgstr "" - -#: ../../library/sndhdr.rst:18 -msgid "" -"The last version of Python that provided the :mod:`!sndhdr` module was " -"`Python 3.12 `_." -msgstr "" diff --git a/python-newest.library--socket/id.po b/python-newest.library--socket/id.po deleted file mode 100644 index 5a2a535..0000000 --- a/python-newest.library--socket/id.po +++ /dev/null @@ -1,2738 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/socket.rst:2 -msgid ":mod:`!socket` --- Low-level networking interface" -msgstr "" - -#: ../../library/socket.rst:7 -msgid "**Source code:** :source:`Lib/socket.py`" -msgstr "" - -#: ../../library/socket.rst:11 -msgid "" -"This module provides access to the BSD *socket* interface. It is available " -"on all modern Unix systems, Windows, MacOS, and probably additional " -"platforms." -msgstr "" - -#: ../../library/socket.rst:16 -msgid "" -"Some behavior may be platform dependent, since calls are made to the " -"operating system socket APIs." -msgstr "" - -#: ../../library/socket.rst:196 ../../library/socket.rst:206 -#: ../../library/socket.rst:234 ../../library/socket.rst:241 -#: ../../library/socket.rst:258 ../../library/socket.rst:408 -#: ../../library/socket.rst:494 ../../library/socket.rst:511 -#: ../../library/socket.rst:526 ../../library/socket.rst:537 -#: ../../library/socket.rst:546 ../../library/socket.rst:555 -#: ../../library/socket.rst:566 ../../library/socket.rst:578 -#: ../../library/socket.rst:589 ../../library/socket.rst:602 -#: ../../library/socket.rst:630 ../../library/socket.rst:642 -#: ../../library/socket.rst:648 ../../library/socket.rst:680 -#: ../../library/socket.rst:733 ../../library/socket.rst:745 -#: ../../library/socket.rst:754 ../../library/socket.rst:769 -#: ../../library/socket.rst:778 ../../library/socket.rst:786 -#: ../../library/socket.rst:803 ../../library/socket.rst:818 -#: ../../library/socket.rst:828 ../../library/socket.rst:1017 -#: ../../library/socket.rst:1142 ../../library/socket.rst:1158 -#: ../../library/socket.rst:1171 ../../library/socket.rst:1186 -#: ../../library/socket.rst:1203 ../../library/socket.rst:1214 -#: ../../library/socket.rst:1225 ../../library/socket.rst:1236 -#: ../../library/socket.rst:1325 ../../library/socket.rst:1345 -#: ../../library/socket.rst:1371 ../../library/socket.rst:1394 -#: ../../library/socket.rst:1423 ../../library/socket.rst:1434 -#: ../../library/socket.rst:1461 ../../library/socket.rst:1478 -#: ../../library/socket.rst:1495 ../../library/socket.rst:1509 -#: ../../library/socket.rst:1560 ../../library/socket.rst:1607 -#: ../../library/socket.rst:1621 ../../library/socket.rst:1641 -#: ../../library/socket.rst:1688 ../../library/socket.rst:1721 -#: ../../library/socket.rst:1734 ../../library/socket.rst:1859 -#: ../../library/socket.rst:1903 ../../library/socket.rst:2011 -#: ../../library/socket.rst:2029 ../../library/socket.rst:2113 -#: ../../library/socket.rst:2123 ../../library/socket.rst:2135 -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/socket.rst:24 -msgid "" -"The Python interface is a straightforward transliteration of the Unix system" -" call and library interface for sockets to Python's object-oriented style: " -"the :func:`~socket.socket` function returns a :dfn:`socket object` whose " -"methods implement the various socket system calls. Parameter types are " -"somewhat higher-level than in the C interface: as with :meth:`read` and " -":meth:`write` operations on Python files, buffer allocation on receive " -"operations is automatic, and buffer length is implicit on send operations." -msgstr "" - -#: ../../library/socket.rst:35 -msgid "Module :mod:`socketserver`" -msgstr "" - -#: ../../library/socket.rst:36 -msgid "Classes that simplify writing network servers." -msgstr "" - -#: ../../library/socket.rst:38 -msgid "Module :mod:`ssl`" -msgstr "" - -#: ../../library/socket.rst:39 -msgid "A TLS/SSL wrapper for socket objects." -msgstr "" - -#: ../../library/socket.rst:43 -msgid "Socket families" -msgstr "" - -#: ../../library/socket.rst:45 -msgid "" -"Depending on the system and the build options, various socket families are " -"supported by this module." -msgstr "" - -#: ../../library/socket.rst:48 -msgid "" -"The address format required by a particular socket object is automatically " -"selected based on the address family specified when the socket object was " -"created. Socket addresses are represented as follows:" -msgstr "" - -#: ../../library/socket.rst:52 -msgid "" -"The address of an :const:`AF_UNIX` socket bound to a file system node is " -"represented as a string, using the file system encoding and the " -"``'surrogateescape'`` error handler (see :pep:`383`). An address in Linux's" -" abstract namespace is returned as a :term:`bytes-like object` with an " -"initial null byte; note that sockets in this namespace can communicate with " -"normal file system sockets, so programs intended to run on Linux may need to" -" deal with both types of address. A string or bytes-like object can be used" -" for either type of address when passing it as an argument." -msgstr "" - -#: ../../library/socket.rst:62 -msgid "" -"Previously, :const:`AF_UNIX` socket paths were assumed to use UTF-8 " -"encoding." -msgstr "" - -#: ../../library/socket.rst:66 ../../library/socket.rst:1308 -#: ../../library/socket.rst:1350 ../../library/socket.rst:2107 -msgid "Writable :term:`bytes-like object` is now accepted." -msgstr "" - -#: ../../library/socket.rst:71 -msgid "" -"A pair ``(host, port)`` is used for the :const:`AF_INET` address family, " -"where *host* is a string representing either a hostname in internet domain " -"notation like ``'daring.cwi.nl'`` or an IPv4 address like " -"``'100.50.200.5'``, and *port* is an integer." -msgstr "" - -#: ../../library/socket.rst:76 -msgid "" -"For IPv4 addresses, two special forms are accepted instead of a host " -"address: ``''`` represents :const:`INADDR_ANY`, which is used to bind to all" -" interfaces, and the string ``''`` represents " -":const:`INADDR_BROADCAST`. This behavior is not compatible with IPv6, " -"therefore, you may want to avoid these if you intend to support IPv6 with " -"your Python programs." -msgstr "" - -#: ../../library/socket.rst:83 -msgid "" -"For :const:`AF_INET6` address family, a four-tuple ``(host, port, flowinfo, " -"scope_id)`` is used, where *flowinfo* and *scope_id* represent the " -"``sin6_flowinfo`` and ``sin6_scope_id`` members in :const:`struct " -"sockaddr_in6` in C. For :mod:`socket` module methods, *flowinfo* and " -"*scope_id* can be omitted just for backward compatibility. Note, however, " -"omission of *scope_id* can cause problems in manipulating scoped IPv6 " -"addresses." -msgstr "" - -#: ../../library/socket.rst:90 -msgid "" -"For multicast addresses (with *scope_id* meaningful) *address* may not " -"contain ``%scope_id`` (or ``zone id``) part. This information is superfluous" -" and may be safely omitted (recommended)." -msgstr "" - -#: ../../library/socket.rst:95 -msgid "" -":const:`AF_NETLINK` sockets are represented as pairs ``(pid, groups)``." -msgstr "" - -#: ../../library/socket.rst:97 -msgid "" -"Linux-only support for TIPC is available using the :const:`AF_TIPC` address " -"family. TIPC is an open, non-IP based networked protocol designed for use " -"in clustered computer environments. Addresses are represented by a tuple, " -"and the fields depend on the address type. The general tuple form is " -"``(addr_type, v1, v2, v3 [, scope])``, where:" -msgstr "" - -#: ../../library/socket.rst:103 -msgid "" -"*addr_type* is one of :const:`TIPC_ADDR_NAMESEQ`, :const:`TIPC_ADDR_NAME`, " -"or :const:`TIPC_ADDR_ID`." -msgstr "" - -#: ../../library/socket.rst:105 -msgid "" -"*scope* is one of :const:`TIPC_ZONE_SCOPE`, :const:`TIPC_CLUSTER_SCOPE`, and" -" :const:`TIPC_NODE_SCOPE`." -msgstr "" - -#: ../../library/socket.rst:107 -msgid "" -"If *addr_type* is :const:`TIPC_ADDR_NAME`, then *v1* is the server type, " -"*v2* is the port identifier, and *v3* should be 0." -msgstr "" - -#: ../../library/socket.rst:110 -msgid "" -"If *addr_type* is :const:`TIPC_ADDR_NAMESEQ`, then *v1* is the server type, " -"*v2* is the lower port number, and *v3* is the upper port number." -msgstr "" - -#: ../../library/socket.rst:113 -msgid "" -"If *addr_type* is :const:`TIPC_ADDR_ID`, then *v1* is the node, *v2* is the " -"reference, and *v3* should be set to 0." -msgstr "" - -#: ../../library/socket.rst:116 -msgid "" -"A tuple ``(interface, )`` is used for the :const:`AF_CAN` address family, " -"where *interface* is a string representing a network interface name like " -"``'can0'``. The network interface name ``''`` can be used to receive packets" -" from all network interfaces of this family." -msgstr "" - -#: ../../library/socket.rst:121 -msgid "" -":const:`CAN_ISOTP` protocol require a tuple ``(interface, rx_addr, " -"tx_addr)`` where both additional parameters are unsigned long integer that " -"represent a CAN identifier (standard or extended)." -msgstr "" - -#: ../../library/socket.rst:124 -msgid "" -":const:`CAN_J1939` protocol require a tuple ``(interface, name, pgn, addr)``" -" where additional parameters are 64-bit unsigned integer representing the " -"ECU name, a 32-bit unsigned integer representing the Parameter Group Number " -"(PGN), and an 8-bit integer representing the address." -msgstr "" - -#: ../../library/socket.rst:129 -msgid "" -"A string or a tuple ``(id, unit)`` is used for the :const:`SYSPROTO_CONTROL`" -" protocol of the :const:`PF_SYSTEM` family. The string is the name of a " -"kernel control using a dynamically assigned ID. The tuple can be used if ID " -"and unit number of the kernel control are known or if a registered ID is " -"used." -msgstr "" - -#: ../../library/socket.rst:137 -msgid "" -":const:`AF_BLUETOOTH` supports the following protocols and address formats:" -msgstr "" - -#: ../../library/socket.rst:140 -msgid "" -":const:`BTPROTO_L2CAP` accepts a tuple ``(bdaddr, psm[, cid[, " -"bdaddr_type]])`` where:" -msgstr "" - -#: ../../library/socket.rst:143 -msgid "``bdaddr`` is a string specifying the Bluetooth address." -msgstr "" - -#: ../../library/socket.rst:144 -msgid "``psm`` is an integer specifying the Protocol/Service Multiplexer." -msgstr "" - -#: ../../library/socket.rst:145 -msgid "" -"``cid`` is an optional integer specifying the Channel Identifier. If not " -"given, defaults to zero." -msgstr "" - -#: ../../library/socket.rst:147 -msgid "" -"``bdaddr_type`` is an optional integer specifying the address type; one of " -":const:`BDADDR_BREDR` (default), :const:`BDADDR_LE_PUBLIC`, " -":const:`BDADDR_LE_RANDOM`." -msgstr "" - -#: ../../library/socket.rst:151 -msgid "Added ``cid`` and ``bdaddr_type`` fields." -msgstr "" - -#: ../../library/socket.rst:154 -msgid "" -":const:`BTPROTO_RFCOMM` accepts ``(bdaddr, channel)`` where ``bdaddr`` is " -"the Bluetooth address as a string and ``channel`` is an integer." -msgstr "" - -#: ../../library/socket.rst:157 -msgid ":const:`BTPROTO_HCI` accepts a format that depends on your OS." -msgstr "" - -#: ../../library/socket.rst:159 -msgid "" -"On Linux it accepts an integer ``device_id`` or a tuple ``(device_id, " -"[channel])`` where ``device_id`` specifies the number of the Bluetooth " -"device, and ``channel`` is an optional integer specifying the HCI channel " -"(:const:`HCI_CHANNEL_RAW` by default)." -msgstr "" - -#: ../../library/socket.rst:164 -msgid "" -"On FreeBSD, NetBSD and DragonFly BSD it accepts ``bdaddr`` where ``bdaddr`` " -"is the Bluetooth address as a string." -msgstr "" - -#: ../../library/socket.rst:167 -msgid "NetBSD and DragonFlyBSD support added." -msgstr "" - -#: ../../library/socket.rst:170 ../../library/socket.rst:181 -msgid "FreeBSD support added." -msgstr "" - -#: ../../library/socket.rst:173 -msgid "" -"Added ``channel`` field. ``device_id`` not packed in a tuple is now " -"accepted." -msgstr "" - -#: ../../library/socket.rst:177 -msgid "" -":const:`BTPROTO_SCO` accepts ``bdaddr`` where ``bdaddr`` is the Bluetooth " -"address as a string or a :class:`bytes` object. (ex. ``'12:23:34:45:56:67'``" -" or ``b'12:23:34:45:56:67'``)" -msgstr "" - -#: ../../library/socket.rst:184 -msgid "" -":const:`AF_ALG` is a Linux-only socket based interface to Kernel " -"cryptography. An algorithm socket is configured with a tuple of two to four " -"elements ``(type, name [, feat [, mask]])``, where:" -msgstr "" - -#: ../../library/socket.rst:188 -msgid "" -"*type* is the algorithm type as string, e.g. ``aead``, ``hash``, " -"``skcipher`` or ``rng``." -msgstr "" - -#: ../../library/socket.rst:191 -msgid "" -"*name* is the algorithm name and operation mode as string, e.g. ``sha256``, " -"``hmac(sha256)``, ``cbc(aes)`` or ``drbg_nopr_ctr_aes256``." -msgstr "" - -#: ../../library/socket.rst:194 -msgid "*feat* and *mask* are unsigned 32bit integers." -msgstr "" - -#: ../../library/socket.rst:198 -msgid "Some algorithm types require more recent Kernels." -msgstr "" - -#: ../../library/socket.rst:202 -msgid "" -":const:`AF_VSOCK` allows communication between virtual machines and their " -"hosts. The sockets are represented as a ``(CID, port)`` tuple where the " -"context ID or CID and port are integers." -msgstr "" - -#: ../../library/socket.rst:208 -msgid "See :manpage:`vsock(7)`" -msgstr "" - -#: ../../library/socket.rst:212 -msgid "" -":const:`AF_PACKET` is a low-level interface directly to network devices. The" -" addresses are represented by the tuple ``(ifname, proto[, pkttype[, " -"hatype[, addr]]])`` where:" -msgstr "" - -#: ../../library/socket.rst:216 -msgid "*ifname* - String specifying the device name." -msgstr "" - -#: ../../library/socket.rst:217 -msgid "" -"*proto* - The Ethernet protocol number. May be :data:`ETH_P_ALL` to capture " -"all protocols, one of the :ref:`ETHERTYPE_* constants ` or any other Ethernet protocol number." -msgstr "" - -#: ../../library/socket.rst:221 -msgid "*pkttype* - Optional integer specifying the packet type:" -msgstr "" - -#: ../../library/socket.rst:223 -msgid "``PACKET_HOST`` (the default) - Packet addressed to the local host." -msgstr "" - -#: ../../library/socket.rst:224 -msgid "``PACKET_BROADCAST`` - Physical-layer broadcast packet." -msgstr "" - -#: ../../library/socket.rst:225 -msgid "" -"``PACKET_MULTICAST`` - Packet sent to a physical-layer multicast address." -msgstr "" - -#: ../../library/socket.rst:226 -msgid "" -"``PACKET_OTHERHOST`` - Packet to some other host that has been caught by a " -"device driver in promiscuous mode." -msgstr "" - -#: ../../library/socket.rst:228 -msgid "" -"``PACKET_OUTGOING`` - Packet originating from the local host that is looped " -"back to a packet socket." -msgstr "" - -#: ../../library/socket.rst:230 -msgid "*hatype* - Optional integer specifying the ARP hardware address type." -msgstr "" - -#: ../../library/socket.rst:231 -msgid "" -"*addr* - Optional bytes-like object specifying the hardware physical " -"address, whose interpretation depends on the device." -msgstr "" - -#: ../../library/socket.rst:236 -msgid "" -":const:`AF_QIPCRTR` is a Linux-only socket based interface for communicating" -" with services running on co-processors in Qualcomm platforms. The address " -"family is represented as a ``(node, port)`` tuple where the *node* and " -"*port* are non-negative integers." -msgstr "" - -#: ../../library/socket.rst:245 -msgid "" -":const:`IPPROTO_UDPLITE` is a variant of UDP which allows you to specify " -"what portion of a packet is covered with the checksum. It adds two socket " -"options that you can change. ``self.setsockopt(IPPROTO_UDPLITE, " -"UDPLITE_SEND_CSCOV, length)`` will change what portion of outgoing packets " -"are covered by the checksum and ``self.setsockopt(IPPROTO_UDPLITE, " -"UDPLITE_RECV_CSCOV, length)`` will filter out packets which cover too little" -" of their data. In both cases ``length`` should be in ``range(8, 2**16, " -"8)``." -msgstr "" - -#: ../../library/socket.rst:254 -msgid "" -"Such a socket should be constructed with ``socket(AF_INET, SOCK_DGRAM, " -"IPPROTO_UDPLITE)`` for IPv4 or ``socket(AF_INET6, SOCK_DGRAM, " -"IPPROTO_UDPLITE)`` for IPv6." -msgstr "" - -#: ../../library/socket.rst:262 -msgid "" -":const:`AF_HYPERV` is a Windows-only socket based interface for " -"communicating with Hyper-V hosts and guests. The address family is " -"represented as a ``(vm_id, service_id)`` tuple where the ``vm_id`` and " -"``service_id`` are UUID strings." -msgstr "" - -#: ../../library/socket.rst:267 -msgid "" -"The ``vm_id`` is the virtual machine identifier or a set of known VMID " -"values if the target is not a specific virtual machine. Known VMID constants" -" defined on ``socket`` are:" -msgstr "" - -#: ../../library/socket.rst:271 -msgid "``HV_GUID_ZERO``" -msgstr "" - -#: ../../library/socket.rst:272 -msgid "``HV_GUID_BROADCAST``" -msgstr "" - -#: ../../library/socket.rst:273 -msgid "" -"``HV_GUID_WILDCARD`` - Used to bind on itself and accept connections from " -"all partitions." -msgstr "" - -#: ../../library/socket.rst:275 -msgid "" -"``HV_GUID_CHILDREN`` - Used to bind on itself and accept connection from " -"child partitions." -msgstr "" - -#: ../../library/socket.rst:277 -msgid "``HV_GUID_LOOPBACK`` - Used as a target to itself." -msgstr "" - -#: ../../library/socket.rst:278 -msgid "" -"``HV_GUID_PARENT`` - When used as a bind accepts connection from the parent " -"partition. When used as an address target it will connect to the parent " -"partition." -msgstr "" - -#: ../../library/socket.rst:281 -msgid "" -"The ``service_id`` is the service identifier of the registered service." -msgstr "" - -#: ../../library/socket.rst:285 -msgid "" -"If you use a hostname in the *host* portion of IPv4/v6 socket address, the " -"program may show a nondeterministic behavior, as Python uses the first " -"address returned from the DNS resolution. The socket address will be " -"resolved differently into an actual IPv4/v6 address, depending on the " -"results from DNS resolution and/or the host configuration. For " -"deterministic behavior use a numeric address in *host* portion." -msgstr "" - -#: ../../library/socket.rst:292 -msgid "" -"All errors raise exceptions. The normal exceptions for invalid argument " -"types and out-of-memory conditions can be raised. Errors related to socket " -"or address semantics raise :exc:`OSError` or one of its subclasses." -msgstr "" - -#: ../../library/socket.rst:297 -msgid "" -"Non-blocking mode is supported through :meth:`~socket.setblocking`. A " -"generalization of this based on timeouts is supported through " -":meth:`~socket.settimeout`." -msgstr "" - -#: ../../library/socket.rst:303 -msgid "Module contents" -msgstr "" - -#: ../../library/socket.rst:305 -msgid "The module :mod:`socket` exports the following elements." -msgstr "" - -#: ../../library/socket.rst:309 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/socket.rst:313 -msgid "A deprecated alias of :exc:`OSError`." -msgstr "" - -#: ../../library/socket.rst:315 -msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." -msgstr "" - -#: ../../library/socket.rst:321 -msgid "" -"A subclass of :exc:`OSError`, this exception is raised for address-related " -"errors, i.e. for functions that use *h_errno* in the POSIX C API, including " -":func:`gethostbyname_ex` and :func:`gethostbyaddr`. The accompanying value " -"is a pair ``(h_errno, string)`` representing an error returned by a library " -"call. *h_errno* is a numeric value, while *string* represents the " -"description of *h_errno*, as returned by the :c:func:`hstrerror` C function." -msgstr "" - -#: ../../library/socket.rst:329 ../../library/socket.rst:342 -#: ../../library/socket.rst:355 -msgid "This class was made a subclass of :exc:`OSError`." -msgstr "" - -#: ../../library/socket.rst:334 -msgid "" -"A subclass of :exc:`OSError`, this exception is raised for address-related " -"errors by :func:`getaddrinfo` and :func:`getnameinfo`. The accompanying " -"value is a pair ``(error, string)`` representing an error returned by a " -"library call. *string* represents the description of *error*, as returned " -"by the :c:func:`gai_strerror` C function. The numeric *error* value will " -"match one of the :const:`!EAI_\\*` constants defined in this module." -msgstr "" - -#: ../../library/socket.rst:347 -msgid "A deprecated alias of :exc:`TimeoutError`." -msgstr "" - -#: ../../library/socket.rst:349 -msgid "" -"A subclass of :exc:`OSError`, this exception is raised when a timeout occurs" -" on a socket which has had timeouts enabled via a prior call to " -":meth:`~socket.settimeout` (or implicitly through " -":func:`~socket.setdefaulttimeout`). The accompanying value is a string " -"whose value is currently always \"timed out\"." -msgstr "" - -#: ../../library/socket.rst:358 -msgid "This class was made an alias of :exc:`TimeoutError`." -msgstr "" - -#: ../../library/socket.rst:363 -msgid "Constants" -msgstr "Konstanta" - -#: ../../library/socket.rst:365 -msgid "" -"The AF_* and SOCK_* constants are now :class:`AddressFamily` and " -":class:`SocketKind` :class:`.IntEnum` collections." -msgstr "" - -#: ../../library/socket.rst:374 -msgid "" -"These constants represent the address (and protocol) families, used for the " -"first argument to :func:`~socket.socket`. If the :const:`AF_UNIX` constant " -"is not defined then this protocol is unsupported. More constants may be " -"available depending on the system." -msgstr "" - -#: ../../library/socket.rst:381 -msgid "" -":const:`AF_UNSPEC` means that :func:`getaddrinfo` should return socket " -"addresses for any address family (either IPv4, IPv6, or any other) that can " -"be used." -msgstr "" - -#: ../../library/socket.rst:391 -msgid "" -"These constants represent the socket types, used for the second argument to " -":func:`~socket.socket`. More constants may be available depending on the " -"system. (Only :const:`SOCK_STREAM` and :const:`SOCK_DGRAM` appear to be " -"generally useful.)" -msgstr "" - -#: ../../library/socket.rst:399 -msgid "" -"These two constants, if defined, can be combined with the socket types and " -"allow you to set some flags atomically (thus avoiding possible race " -"conditions and the need for separate calls)." -msgstr "" - -#: ../../library/socket.rst:405 -msgid "" -"`Secure File Descriptor Handling " -"`_ for a more thorough " -"explanation." -msgstr "" - -#: ../../library/socket.rst:429 -msgid "" -"Many constants of these forms, documented in the Unix documentation on " -"sockets and/or the IP protocol, are also defined in the socket module. They " -"are generally used in arguments to the :meth:`~socket.setsockopt` and " -":meth:`~socket.getsockopt` methods of socket objects. In most cases, only " -"those symbols that are defined in the Unix header files are defined; for a " -"few symbols, default values are provided." -msgstr "" - -#: ../../library/socket.rst:436 -msgid "" -"``SO_DOMAIN``, ``SO_PROTOCOL``, ``SO_PEERSEC``, ``SO_PASSSEC``, " -"``TCP_USER_TIMEOUT``, ``TCP_CONGESTION`` were added." -msgstr "" - -#: ../../library/socket.rst:440 -msgid "" -"Added support for ``TCP_FASTOPEN``, ``TCP_KEEPCNT`` on Windows platforms " -"when available." -msgstr "" - -#: ../../library/socket.rst:444 -msgid "``TCP_NOTSENT_LOWAT`` was added." -msgstr "" - -#: ../../library/socket.rst:447 -msgid "" -"Added support for ``TCP_KEEPIDLE``, ``TCP_KEEPINTVL`` on Windows platforms " -"when available." -msgstr "" - -#: ../../library/socket.rst:450 -msgid "" -"``IP_RECVTOS`` was added. Added ``TCP_KEEPALIVE``. On MacOS this constant " -"can be used in the same way that ``TCP_KEEPIDLE`` is used on Linux." -msgstr "" - -#: ../../library/socket.rst:455 -msgid "" -"Added ``TCP_CONNECTION_INFO``. On MacOS this constant can be used in the " -"same way that ``TCP_INFO`` is used on Linux and BSD." -msgstr "" - -#: ../../library/socket.rst:459 -msgid "" -"Added ``SO_RTABLE`` and ``SO_USER_COOKIE``. On OpenBSD and FreeBSD " -"respectively those constants can be used in the same way that ``SO_MARK`` is" -" used on Linux. Also added missing TCP socket options from Linux: " -"``TCP_MD5SIG``, ``TCP_THIN_LINEAR_TIMEOUTS``, ``TCP_THIN_DUPACK``, " -"``TCP_REPAIR``, ``TCP_REPAIR_QUEUE``, ``TCP_QUEUE_SEQ``, " -"``TCP_REPAIR_OPTIONS``, ``TCP_TIMESTAMP``, ``TCP_CC_INFO``, " -"``TCP_SAVE_SYN``, ``TCP_SAVED_SYN``, ``TCP_REPAIR_WINDOW``, " -"``TCP_FASTOPEN_CONNECT``, ``TCP_ULP``, ``TCP_MD5SIG_EXT``, " -"``TCP_FASTOPEN_KEY``, ``TCP_FASTOPEN_NO_COOKIE``, ``TCP_ZEROCOPY_RECEIVE``, " -"``TCP_INQ``, ``TCP_TX_DELAY``. Added ``IP_PKTINFO``, ``IP_UNBLOCK_SOURCE``, " -"``IP_BLOCK_SOURCE``, ``IP_ADD_SOURCE_MEMBERSHIP``, " -"``IP_DROP_SOURCE_MEMBERSHIP``." -msgstr "" - -#: ../../library/socket.rst:473 -msgid "" -"Added ``SO_BINDTOIFINDEX``. On Linux this constant can be used in the same " -"way that ``SO_BINDTODEVICE`` is used, but with the index of a network " -"interface instead of its name." -msgstr "" - -#: ../../library/socket.rst:478 -msgid "" -"Added missing ``IP_FREEBIND``, ``IP_RECVERR``, ``IPV6_RECVERR``, " -"``IP_RECVTTL``, and ``IP_RECVORIGDSTADDR`` on Linux." -msgstr "" - -#: ../../library/socket.rst:482 -msgid "" -"Added support for ``TCP_QUICKACK`` on Windows platforms when available." -msgstr "" - -#: ../../library/socket.rst:491 ../../library/socket.rst:575 -#: ../../library/socket.rst:599 -msgid "" -"Many constants of these forms, documented in the Linux documentation, are " -"also defined in the socket module." -msgstr "" - -#: ../../library/socket.rst:498 -msgid "NetBSD support was added." -msgstr "" - -#: ../../library/socket.rst:501 -msgid "Restored missing ``CAN_RAW_ERR_FILTER`` on Linux." -msgstr "" - -#: ../../library/socket.rst:507 -msgid "" -"CAN_BCM, in the CAN protocol family, is the broadcast manager (BCM) " -"protocol. Broadcast manager constants, documented in the Linux " -"documentation, are also defined in the socket module." -msgstr "" - -#: ../../library/socket.rst:514 -msgid "" -"The :data:`CAN_BCM_CAN_FD_FRAME` flag is only available on Linux >= 4.8." -msgstr "" - -#: ../../library/socket.rst:520 -msgid "" -"Enables CAN FD support in a CAN_RAW socket. This is disabled by default. " -"This allows your application to send both CAN and CAN FD frames; however, " -"you must accept both CAN and CAN FD frames when reading from the socket." -msgstr "" - -#: ../../library/socket.rst:524 ../../library/socket.rst:535 -msgid "This constant is documented in the Linux documentation." -msgstr "" - -#: ../../library/socket.rst:532 -msgid "" -"Joins the applied CAN filters such that only CAN frames that match all given" -" CAN filters are passed to user space." -msgstr "" - -#: ../../library/socket.rst:543 -msgid "" -"CAN_ISOTP, in the CAN protocol family, is the ISO-TP (ISO 15765-2) protocol." -" ISO-TP constants, documented in the Linux documentation." -msgstr "" - -#: ../../library/socket.rst:552 -msgid "" -"CAN_J1939, in the CAN protocol family, is the SAE J1939 protocol. J1939 " -"constants, documented in the Linux documentation." -msgstr "" - -#: ../../library/socket.rst:563 -msgid "" -"These two constants, documented in the FreeBSD divert(4) manual page, are " -"also defined in the socket module." -msgstr "" - -#: ../../library/socket.rst:583 -msgid "" -":data:`!ETH_P_ALL` can be used in the :class:`~socket.socket` constructor as" -" *proto* for the :const:`AF_PACKET` family in order to capture every packet," -" regardless of protocol." -msgstr "" - -#: ../../library/socket.rst:587 -msgid "For more information, see the :manpage:`packet(7)` manpage." -msgstr "" - -#: ../../library/socket.rst:612 -msgid "" -"Constants for Windows' WSAIoctl(). The constants are used as arguments to " -"the :meth:`~socket.socket.ioctl` method of socket objects." -msgstr "" - -#: ../../library/socket.rst:615 ../../library/socket.rst:1723 -msgid "``SIO_LOOPBACK_FAST_PATH`` was added." -msgstr "" - -#: ../../library/socket.rst:621 -msgid "" -"TIPC related constants, matching the ones exported by the C socket API. See " -"the TIPC documentation for more information." -msgstr "" - -#: ../../library/socket.rst:628 -msgid "Constants for Linux Kernel cryptography." -msgstr "" - -#: ../../library/socket.rst:640 -msgid "Constants for Linux host/guest communication." -msgstr "" - -#: ../../library/socket.rst:654 -msgid "" -"This constant contains a boolean value which indicates if IPv6 is supported " -"on this platform." -msgstr "" - -#: ../../library/socket.rst:663 -msgid "Integer constants for use with Bluetooth addresses." -msgstr "" - -#: ../../library/socket.rst:668 -msgid "" -"These are string constants containing Bluetooth addresses with special " -"meanings. For example, :const:`BDADDR_ANY` can be used to indicate any " -"address when specifying the binding socket with :const:`BTPROTO_RFCOMM`." -msgstr "" - -#: ../../library/socket.rst:677 -msgid "" -"These constants describe the Bluetooth address type when binding or " -"connecting a :const:`BTPROTO_L2CAP` socket." -msgstr "" - -#: ../../library/socket.rst:690 -msgid "" -"Used in the level argument to the :meth:`~socket.setsockopt` and " -":meth:`~socket.getsockopt` methods of Bluetooth socket objects." -msgstr "" - -#: ../../library/socket.rst:693 -msgid "" -":const:`SOL_BLUETOOTH` is only available on Linux. Other constants are " -"available if the corresponding protocol is supported." -msgstr "" - -#: ../../library/socket.rst:705 -msgid "" -"Used in the option name and value argument to the :meth:`~socket.setsockopt`" -" and :meth:`~socket.getsockopt` methods of Bluetooth socket objects." -msgstr "" - -#: ../../library/socket.rst:708 -msgid "" -":const:`!BT_*` and :const:`L2CAP_LM` are only available on Linux. " -":const:`!SO_BTH_*` are only available on Windows. Other constants may be " -"available on Linux and various BSD platforms." -msgstr "" - -#: ../../library/socket.rst:720 -msgid "" -"Option names for use with :const:`BTPROTO_HCI`. Availability and format of " -"the option values depend on platform." -msgstr "" - -#: ../../library/socket.rst:723 -msgid "" -"Added :const:`!SO_HCI_EVT_FILTER` and :const:`!SO_HCI_PKT_FILTER` on NetBSD " -"and DragonFly BSD. Added :const:`!HCI_DATA_DIR` on FreeBSD, NetBSD and " -"DragonFly BSD." -msgstr "" - -#: ../../library/socket.rst:730 -msgid "" -"The ``device_id`` value used to create an HCI socket that isn't specific to " -"a single Bluetooth adapter." -msgstr "" - -#: ../../library/socket.rst:743 -msgid "" -"Possible values for ``channel`` field in the :const:`BTPROTO_HCI` address." -msgstr "" - -#: ../../library/socket.rst:751 -msgid "" -"Constant for Qualcomm's IPC router protocol, used to communicate with " -"service providing remote processors." -msgstr "" - -#: ../../library/socket.rst:760 -msgid "" -"LOCAL_CREDS and LOCAL_CREDS_PERSISTENT can be used with SOCK_DGRAM, " -"SOCK_STREAM sockets, equivalent to Linux/DragonFlyBSD SO_PASSCRED, while " -"LOCAL_CREDS sends the credentials at first read, LOCAL_CREDS_PERSISTENT " -"sends for each read, SCM_CREDS2 must be then used for the latter for the " -"message type." -msgstr "" - -#: ../../library/socket.rst:773 -msgid "" -"Constant to optimize CPU locality, to be used in conjunction with " -":data:`SO_REUSEPORT`." -msgstr "" - -#: ../../library/socket.rst:782 -msgid "" -"Constant to enable duplicate address and port bindings with load balancing." -msgstr "" - -#: ../../library/socket.rst:801 -msgid "Constants for Windows Hyper-V sockets for host/guest communications." -msgstr "" - -#: ../../library/socket.rst:814 -msgid "" -"`IEEE 802.3 protocol number " -"`_. " -"constants." -msgstr "" - -#: ../../library/socket.rst:826 -msgid "" -"These constants are used by the :meth:`~socket.socket.shutdown` method of " -"socket objects." -msgstr "" - -#: ../../library/socket.rst:831 -msgid "Functions" -msgstr "Fungsi-Fungsi" - -#: ../../library/socket.rst:834 -msgid "Creating sockets" -msgstr "" - -#: ../../library/socket.rst:836 -msgid "" -"The following functions all create :ref:`socket objects `." -msgstr "" - -#: ../../library/socket.rst:841 -msgid "" -"Create a new socket using the given address family, socket type and protocol" -" number. The address family should be :const:`AF_INET` (the default), " -":const:`AF_INET6`, :const:`AF_UNIX`, :const:`AF_CAN`, :const:`AF_PACKET`, or" -" :const:`AF_RDS`. The socket type should be :const:`SOCK_STREAM` (the " -"default), :const:`SOCK_DGRAM`, :const:`SOCK_RAW` or perhaps one of the other" -" ``SOCK_`` constants. The protocol number is usually zero and may be omitted" -" or in the case where the address family is :const:`AF_CAN` the protocol " -"should be one of :const:`CAN_RAW`, :const:`CAN_BCM`, :const:`CAN_ISOTP` or " -":const:`CAN_J1939`." -msgstr "" - -#: ../../library/socket.rst:851 -msgid "" -"If *fileno* is specified, the values for *family*, *type*, and *proto* are " -"auto-detected from the specified file descriptor. Auto-detection can be " -"overruled by calling the function with explicit *family*, *type*, or *proto*" -" arguments. This only affects how Python represents e.g. the return value " -"of :meth:`socket.getpeername` but not the actual OS resource. Unlike " -":func:`socket.fromfd`, *fileno* will return the same socket and not a " -"duplicate. This may help close a detached socket using :meth:`socket.close`." -msgstr "" - -#: ../../library/socket.rst:860 ../../library/socket.rst:1006 -#: ../../library/socket.rst:1542 ../../library/socket.rst:1636 -msgid "The newly created socket is :ref:`non-inheritable `." -msgstr "" - -#: ../../library/socket.rst:862 -msgid "" -"Raises an :ref:`auditing event ` ``socket.__new__`` with arguments" -" ``self``, ``family``, ``type``, ``protocol``." -msgstr "" - -#: ../../library/socket.rst:864 -msgid "The AF_CAN family was added. The AF_RDS family was added." -msgstr "" - -#: ../../library/socket.rst:868 -msgid "The CAN_BCM protocol was added." -msgstr "" - -#: ../../library/socket.rst:871 ../../library/socket.rst:1008 -msgid "The returned socket is now non-inheritable." -msgstr "" - -#: ../../library/socket.rst:874 -msgid "The CAN_ISOTP protocol was added." -msgstr "" - -#: ../../library/socket.rst:877 -msgid "" -"When :const:`SOCK_NONBLOCK` or :const:`SOCK_CLOEXEC` bit flags are applied " -"to *type* they are cleared, and :attr:`socket.type` will not reflect them. " -"They are still passed to the underlying system ``socket()`` call. " -"Therefore," -msgstr "" - -#: ../../library/socket.rst:885 -msgid "" -"sock = socket.socket(\n" -" socket.AF_INET,\n" -" socket.SOCK_STREAM | socket.SOCK_NONBLOCK)" -msgstr "" - -#: ../../library/socket.rst:889 -msgid "" -"will still create a non-blocking socket on OSes that support " -"``SOCK_NONBLOCK``, but ``sock.type`` will be set to ``socket.SOCK_STREAM``." -msgstr "" - -#: ../../library/socket.rst:893 -msgid "The CAN_J1939 protocol was added." -msgstr "" - -#: ../../library/socket.rst:896 -msgid "The IPPROTO_MPTCP protocol was added." -msgstr "" - -#: ../../library/socket.rst:901 -msgid "" -"Build a pair of connected socket objects using the given address family, " -"socket type, and protocol number. Address family, socket type, and protocol" -" number are as for the :func:`~socket.socket` function above. The default " -"family is :const:`AF_UNIX` if defined on the platform; otherwise, the " -"default is :const:`AF_INET`." -msgstr "" - -#: ../../library/socket.rst:906 -msgid "The newly created sockets are :ref:`non-inheritable `." -msgstr "" - -#: ../../library/socket.rst:908 -msgid "" -"The returned socket objects now support the whole socket API, rather than a " -"subset." -msgstr "" - -#: ../../library/socket.rst:912 -msgid "The returned sockets are now non-inheritable." -msgstr "" - -#: ../../library/socket.rst:915 -msgid "Windows support added." -msgstr "" - -#: ../../library/socket.rst:921 -msgid "" -"Connect to a TCP service listening on the internet *address* (a 2-tuple " -"``(host, port)``), and return the socket object. This is a higher-level " -"function than :meth:`socket.connect`: if *host* is a non-numeric hostname, " -"it will try to resolve it for both :data:`AF_INET` and :data:`AF_INET6`, and" -" then try to connect to all possible addresses in turn until a connection " -"succeeds. This makes it easy to write clients that are compatible to both " -"IPv4 and IPv6." -msgstr "" - -#: ../../library/socket.rst:929 -msgid "" -"Passing the optional *timeout* parameter will set the timeout on the socket " -"instance before attempting to connect. If no *timeout* is supplied, the " -"global default timeout setting returned by :func:`getdefaulttimeout` is " -"used." -msgstr "" - -#: ../../library/socket.rst:934 -msgid "" -"If supplied, *source_address* must be a 2-tuple ``(host, port)`` for the " -"socket to bind to as its source address before connecting. If host or port " -"are '' or 0 respectively the OS default behavior will be used." -msgstr "" - -#: ../../library/socket.rst:938 -msgid "" -"When a connection cannot be created, an exception is raised. By default, it " -"is the exception from the last address in the list. If *all_errors* is " -"``True``, it is an :exc:`ExceptionGroup` containing the errors of all " -"attempts." -msgstr "" - -#: ../../library/socket.rst:943 -msgid "*source_address* was added." -msgstr "" - -#: ../../library/socket.rst:946 -msgid "*all_errors* was added." -msgstr "" - -#: ../../library/socket.rst:952 -msgid "" -"Convenience function which creates a TCP socket bound to *address* (a " -"2-tuple ``(host, port)``) and returns the socket object." -msgstr "" - -#: ../../library/socket.rst:955 -msgid "" -"*family* should be either :data:`AF_INET` or :data:`AF_INET6`. *backlog* is " -"the queue size passed to :meth:`socket.listen`; if not specified , a default" -" reasonable value is chosen. *reuse_port* dictates whether to set the " -":data:`SO_REUSEPORT` socket option." -msgstr "" - -#: ../../library/socket.rst:960 -msgid "" -"If *dualstack_ipv6* is true, *family* is :data:`AF_INET6` and the platform " -"supports it the socket will be able to accept both IPv4 and IPv6 " -"connections, else it will raise :exc:`ValueError`. Most POSIX platforms and " -"Windows are supposed to support this functionality. When this functionality " -"is enabled the address returned by :meth:`socket.getpeername` when an IPv4 " -"connection occurs will be an IPv6 address represented as an IPv4-mapped IPv6" -" address. If *dualstack_ipv6* is false it will explicitly disable this " -"functionality on platforms that enable it by default (e.g. Linux). This " -"parameter can be used in conjunction with :func:`has_dualstack_ipv6`:" -msgstr "" - -#: ../../library/socket.rst:973 -msgid "" -"import socket\n" -"\n" -"addr = (\"\", 8080) # all interfaces, port 8080\n" -"if socket.has_dualstack_ipv6():\n" -" s = socket.create_server(addr, family=socket.AF_INET6, dualstack_ipv6=True)\n" -"else:\n" -" s = socket.create_server(addr)" -msgstr "" - -#: ../../library/socket.rst:982 -msgid "" -"On POSIX platforms the :data:`SO_REUSEADDR` socket option is set in order to" -" immediately reuse previous sockets which were bound on the same *address* " -"and remained in TIME_WAIT state." -msgstr "" - -#: ../../library/socket.rst:990 -msgid "" -"Return ``True`` if the platform supports creating a TCP socket which can " -"handle both IPv4 and IPv6 connections." -msgstr "" - -#: ../../library/socket.rst:997 -msgid "" -"Duplicate the file descriptor *fd* (an integer as returned by a file " -"object's :meth:`~io.IOBase.fileno` method) and build a socket object from " -"the result. Address family, socket type and protocol number are as for the " -":func:`~socket.socket` function above. The file descriptor should refer to a" -" socket, but this is not checked --- subsequent operations on the object may" -" fail if the file descriptor is invalid. This function is rarely needed, but" -" can be used to get or set socket options on a socket passed to a program as" -" standard input or output (such as a server started by the Unix inet " -"daemon). The socket is assumed to be in blocking mode." -msgstr "" - -#: ../../library/socket.rst:1014 -msgid "" -"Instantiate a socket from data obtained from the :meth:`socket.share` " -"method. The socket is assumed to be in blocking mode." -msgstr "" - -#: ../../library/socket.rst:1024 -msgid "" -"This is a Python type object that represents the socket object type. It is " -"the same as ``type(socket(...))``." -msgstr "" - -#: ../../library/socket.rst:1029 -msgid "Other functions" -msgstr "" - -#: ../../library/socket.rst:1031 -msgid "The :mod:`socket` module also offers various network-related services:" -msgstr "" - -#: ../../library/socket.rst:1036 -msgid "" -"Close a socket file descriptor. This is like :func:`os.close`, but for " -"sockets. On some platforms (most noticeable Windows) :func:`os.close` does " -"not work for socket file descriptors." -msgstr "" - -#: ../../library/socket.rst:1044 -msgid "" -"This function wraps the C function ``getaddrinfo`` of the underlying system." -msgstr "" - -#: ../../library/socket.rst:1046 -msgid "" -"Translate the *host*/*port* argument into a sequence of 5-tuples that " -"contain all the necessary arguments for creating a socket connected to that " -"service. *host* is a domain name, a string representation of an IPv4/v6 " -"address or ``None``. *port* is a string service name such as ``'http'``, a " -"numeric port number or ``None``. By passing ``None`` as the value of *host*" -" and *port*, you can pass ``NULL`` to the underlying C API." -msgstr "" - -#: ../../library/socket.rst:1053 -msgid "" -"The *family*, *type* and *proto* arguments can be optionally specified in " -"order to provide options and limit the list of addresses returned. Pass " -"their default values (:data:`AF_UNSPEC`, 0, and 0, respectively) to not " -"limit the results. See the note below for details." -msgstr "" - -#: ../../library/socket.rst:1058 -msgid "" -"The *flags* argument can be one or several of the ``AI_*`` constants, and " -"will influence how results are computed and returned. For example, " -":const:`AI_NUMERICHOST` will disable domain name resolution and will raise " -"an error if *host* is a domain name." -msgstr "" - -#: ../../library/socket.rst:1063 -msgid "The function returns a list of 5-tuples with the following structure:" -msgstr "" - -#: ../../library/socket.rst:1065 -msgid "``(family, type, proto, canonname, sockaddr)``" -msgstr "" - -#: ../../library/socket.rst:1067 -msgid "" -"In these tuples, *family*, *type*, *proto* are all integers and are meant to" -" be passed to the :func:`~socket.socket` function. *canonname* will be a " -"string representing the canonical name of the *host* if " -":const:`AI_CANONNAME` is part of the *flags* argument; else *canonname* will" -" be empty. *sockaddr* is a tuple describing a socket address, whose format " -"depends on the returned *family* (a ``(address, port)`` 2-tuple for " -":const:`AF_INET`, a ``(address, port, flowinfo, scope_id)`` 4-tuple for " -":const:`AF_INET6`), and is meant to be passed to the :meth:`socket.connect` " -"method." -msgstr "" - -#: ../../library/socket.rst:1079 -msgid "" -"If you intend to use results from :func:`!getaddrinfo` to create a socket " -"(rather than, for example, retrieve *canonname*), consider limiting the " -"results by *type* (e.g. :data:`SOCK_STREAM` or :data:`SOCK_DGRAM`) and/or " -"*proto* (e.g. :data:`IPPROTO_TCP` or :data:`IPPROTO_UDP`) that your " -"application can handle." -msgstr "" - -#: ../../library/socket.rst:1085 -msgid "" -"The behavior with default values of *family*, *type*, *proto* and *flags* is" -" system-specific." -msgstr "" - -#: ../../library/socket.rst:1088 -msgid "" -"Many systems (for example, most Linux configurations) will return a sorted " -"list of all matching addresses. These addresses should generally be tried in" -" order until a connection succeeds (possibly tried in parallel, for example," -" using a `Happy Eyeballs`_ algorithm). In these cases, limiting the *type* " -"and/or *proto* can help eliminate unsuccessful or unusable connection " -"attempts." -msgstr "" - -#: ../../library/socket.rst:1095 -msgid "" -"Some systems will, however, only return a single address. (For example, this" -" was reported on Solaris and AIX configurations.) On these systems, limiting" -" the *type* and/or *proto* helps ensure that this address is usable." -msgstr "" - -#: ../../library/socket.rst:1100 -msgid "" -"Raises an :ref:`auditing event ` ``socket.getaddrinfo`` with " -"arguments ``host``, ``port``, ``family``, ``type``, ``protocol``." -msgstr "" - -#: ../../library/socket.rst:1102 -msgid "" -"The following example fetches address information for a hypothetical TCP " -"connection to ``example.org`` on port 80 (results may differ on your system " -"if IPv6 isn't enabled)::" -msgstr "" - -#: ../../library/socket.rst:1106 -msgid "" -">>> socket.getaddrinfo(\"example.org\", 80, proto=socket.IPPROTO_TCP)\n" -"[(socket.AF_INET6, socket.SOCK_STREAM,\n" -" 6, '', ('2606:2800:220:1:248:1893:25c8:1946', 80, 0, 0)),\n" -" (socket.AF_INET, socket.SOCK_STREAM,\n" -" 6, '', ('93.184.216.34', 80))]" -msgstr "" - -#: ../../library/socket.rst:1112 -msgid "parameters can now be passed using keyword arguments." -msgstr "" - -#: ../../library/socket.rst:1115 -msgid "" -"for IPv6 multicast addresses, string representing an address will not " -"contain ``%scope_id`` part." -msgstr "" - -#: ../../library/socket.rst:1123 -msgid "" -"Return a fully qualified domain name for *name*. If *name* is omitted or " -"empty, it is interpreted as the local host. To find the fully qualified " -"name, the hostname returned by :func:`gethostbyaddr` is checked, followed by" -" aliases for the host, if available. The first name which includes a period" -" is selected. In case no fully qualified domain name is available and " -"*name* was provided, it is returned unchanged. If *name* was empty or equal" -" to ``'0.0.0.0'``, the hostname from :func:`gethostname` is returned." -msgstr "" - -#: ../../library/socket.rst:1134 -msgid "" -"Translate a host name to IPv4 address format. The IPv4 address is returned " -"as a string, such as ``'100.50.200.5'``. If the host name is an IPv4 " -"address itself it is returned unchanged. See :func:`gethostbyname_ex` for a" -" more complete interface. :func:`gethostbyname` does not support IPv6 name " -"resolution, and :func:`getaddrinfo` should be used instead for IPv4/v6 dual " -"stack support." -msgstr "" - -#: ../../library/socket.rst:1140 ../../library/socket.rst:1156 -msgid "" -"Raises an :ref:`auditing event ` ``socket.gethostbyname`` with " -"argument ``hostname``." -msgstr "" - -#: ../../library/socket.rst:1147 -msgid "" -"Translate a host name to IPv4 address format, extended interface. Return a " -"3-tuple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is the host's" -" primary host name, *aliaslist* is a (possibly empty) list of alternative " -"host names for the same address, and *ipaddrlist* is a list of IPv4 " -"addresses for the same interface on the same host (often but not always a " -"single address). :func:`gethostbyname_ex` does not support IPv6 name " -"resolution, and :func:`getaddrinfo` should be used instead for IPv4/v6 dual " -"stack support." -msgstr "" - -#: ../../library/socket.rst:1163 -msgid "" -"Return a string containing the hostname of the machine where the Python " -"interpreter is currently executing." -msgstr "" - -#: ../../library/socket.rst:1166 -msgid "" -"Raises an :ref:`auditing event ` ``socket.gethostname`` with no " -"arguments." -msgstr "" - -#: ../../library/socket.rst:1168 -msgid "" -"Note: :func:`gethostname` doesn't always return the fully qualified domain " -"name; use :func:`getfqdn` for that." -msgstr "" - -#: ../../library/socket.rst:1176 -msgid "" -"Return a 3-tuple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is " -"the primary host name responding to the given *ip_address*, *aliaslist* is a" -" (possibly empty) list of alternative host names for the same address, and " -"*ipaddrlist* is a list of IPv4/v6 addresses for the same interface on the " -"same host (most likely containing only a single address). To find the fully " -"qualified domain name, use the function :func:`getfqdn`. " -":func:`gethostbyaddr` supports both IPv4 and IPv6." -msgstr "" - -#: ../../library/socket.rst:1184 -msgid "" -"Raises an :ref:`auditing event ` ``socket.gethostbyaddr`` with " -"argument ``ip_address``." -msgstr "" - -#: ../../library/socket.rst:1191 -msgid "" -"Translate a socket address *sockaddr* into a 2-tuple ``(host, port)``. " -"Depending on the settings of *flags*, the result can contain a fully " -"qualified domain name or numeric address representation in *host*. " -"Similarly, *port* can contain a string port name or a numeric port number." -msgstr "" - -#: ../../library/socket.rst:1196 -msgid "" -"For IPv6 addresses, ``%scope_id`` is appended to the host part if *sockaddr*" -" contains meaningful *scope_id*. Usually this happens for multicast " -"addresses." -msgstr "" - -#: ../../library/socket.rst:1199 -msgid "" -"For more information about *flags* you can consult " -":manpage:`getnameinfo(3)`." -msgstr "" - -#: ../../library/socket.rst:1201 -msgid "" -"Raises an :ref:`auditing event ` ``socket.getnameinfo`` with " -"argument ``sockaddr``." -msgstr "" - -#: ../../library/socket.rst:1208 -msgid "" -"Translate an internet protocol name (for example, ``'icmp'``) to a constant " -"suitable for passing as the (optional) third argument to the " -":func:`~socket.socket` function. This is usually only needed for sockets " -"opened in \"raw\" mode (:const:`SOCK_RAW`); for the normal socket modes, the" -" correct protocol is chosen automatically if the protocol is omitted or " -"zero." -msgstr "" - -#: ../../library/socket.rst:1219 -msgid "" -"Translate an internet service name and protocol name to a port number for " -"that service. The optional protocol name, if given, should be ``'tcp'`` or " -"``'udp'``, otherwise any protocol will match." -msgstr "" - -#: ../../library/socket.rst:1223 -msgid "" -"Raises an :ref:`auditing event ` ``socket.getservbyname`` with " -"arguments ``servicename``, ``protocolname``." -msgstr "" - -#: ../../library/socket.rst:1230 -msgid "" -"Translate an internet port number and protocol name to a service name for " -"that service. The optional protocol name, if given, should be ``'tcp'`` or " -"``'udp'``, otherwise any protocol will match." -msgstr "" - -#: ../../library/socket.rst:1234 -msgid "" -"Raises an :ref:`auditing event ` ``socket.getservbyport`` with " -"arguments ``port``, ``protocolname``." -msgstr "" - -#: ../../library/socket.rst:1241 -msgid "" -"Convert 32-bit positive integers from network to host byte order. On " -"machines where the host byte order is the same as network byte order, this " -"is a no-op; otherwise, it performs a 4-byte swap operation." -msgstr "" - -#: ../../library/socket.rst:1248 -msgid "" -"Convert 16-bit positive integers from network to host byte order. On " -"machines where the host byte order is the same as network byte order, this " -"is a no-op; otherwise, it performs a 2-byte swap operation." -msgstr "" - -#: ../../library/socket.rst:1252 ../../library/socket.rst:1270 -msgid "" -"Raises :exc:`OverflowError` if *x* does not fit in a 16-bit unsigned " -"integer." -msgstr "" - -#: ../../library/socket.rst:1259 -msgid "" -"Convert 32-bit positive integers from host to network byte order. On " -"machines where the host byte order is the same as network byte order, this " -"is a no-op; otherwise, it performs a 4-byte swap operation." -msgstr "" - -#: ../../library/socket.rst:1266 -msgid "" -"Convert 16-bit positive integers from host to network byte order. On " -"machines where the host byte order is the same as network byte order, this " -"is a no-op; otherwise, it performs a 2-byte swap operation." -msgstr "" - -#: ../../library/socket.rst:1277 -msgid "" -"Convert an IPv4 address from dotted-quad string format (for example, " -"'123.45.67.89') to 32-bit packed binary format, as a bytes object four " -"characters in length. This is useful when conversing with a program that " -"uses the standard C library and needs objects of type :c:struct:`in_addr`, " -"which is the C type for the 32-bit packed binary this function returns." -msgstr "" - -#: ../../library/socket.rst:1283 -msgid "" -":func:`inet_aton` also accepts strings with less than three dots; see the " -"Unix manual page :manpage:`inet(3)` for details." -msgstr "" - -#: ../../library/socket.rst:1286 -msgid "" -"If the IPv4 address string passed to this function is invalid, " -":exc:`OSError` will be raised. Note that exactly what is valid depends on " -"the underlying C implementation of :c:func:`inet_aton`." -msgstr "" - -#: ../../library/socket.rst:1290 -msgid "" -":func:`inet_aton` does not support IPv6, and :func:`inet_pton` should be " -"used instead for IPv4/v6 dual stack support." -msgstr "" - -#: ../../library/socket.rst:1296 -msgid "" -"Convert a 32-bit packed IPv4 address (a :term:`bytes-like object` four bytes" -" in length) to its standard dotted-quad string representation (for example, " -"'123.45.67.89'). This is useful when conversing with a program that uses " -"the standard C library and needs objects of type :c:struct:`in_addr`, which " -"is the C type for the 32-bit packed binary data this function takes as an " -"argument." -msgstr "" - -#: ../../library/socket.rst:1303 -msgid "" -"If the byte sequence passed to this function is not exactly 4 bytes in " -"length, :exc:`OSError` will be raised. :func:`inet_ntoa` does not support " -"IPv6, and :func:`inet_ntop` should be used instead for IPv4/v6 dual stack " -"support." -msgstr "" - -#: ../../library/socket.rst:1314 -msgid "" -"Convert an IP address from its family-specific string format to a packed, " -"binary format. :func:`inet_pton` is useful when a library or network " -"protocol calls for an object of type :c:struct:`in_addr` (similar to " -":func:`inet_aton`) or :c:struct:`in6_addr`." -msgstr "" - -#: ../../library/socket.rst:1319 -msgid "" -"Supported values for *address_family* are currently :const:`AF_INET` and " -":const:`AF_INET6`. If the IP address string *ip_string* is invalid, " -":exc:`OSError` will be raised. Note that exactly what is valid depends on " -"both the value of *address_family* and the underlying implementation of " -":c:func:`inet_pton`." -msgstr "" - -#: ../../library/socket.rst:1327 ../../library/socket.rst:1347 -msgid "Windows support added" -msgstr "" - -#: ../../library/socket.rst:1333 -msgid "" -"Convert a packed IP address (a :term:`bytes-like object` of some number of " -"bytes) to its standard, family-specific string representation (for example, " -"``'7.10.0.5'`` or ``'5aef:2b::8'``). :func:`inet_ntop` is useful when a " -"library or network protocol returns an object of type :c:struct:`in_addr` " -"(similar to :func:`inet_ntoa`) or :c:struct:`in6_addr`." -msgstr "" - -#: ../../library/socket.rst:1340 -msgid "" -"Supported values for *address_family* are currently :const:`AF_INET` and " -":const:`AF_INET6`. If the bytes object *packed_ip* is not the correct length" -" for the specified address family, :exc:`ValueError` will be raised. " -":exc:`OSError` is raised for errors from the call to :func:`inet_ntop`." -msgstr "" - -#: ../../library/socket.rst:1362 -msgid "" -"Return the total length, without trailing padding, of an ancillary data item" -" with associated data of the given *length*. This value can often be used " -"as the buffer size for :meth:`~socket.recvmsg` to receive a single item of " -"ancillary data, but :rfc:`3542` requires portable applications to use " -":func:`CMSG_SPACE` and thus include space for padding, even when the item " -"will be the last in the buffer. Raises :exc:`OverflowError` if *length* is " -"outside the permissible range of values." -msgstr "" - -#: ../../library/socket.rst:1373 ../../library/socket.rst:1861 -#: ../../library/socket.rst:1905 ../../library/socket.rst:2013 -msgid "Most Unix platforms." -msgstr "" - -#: ../../library/socket.rst:1380 -msgid "" -"Return the buffer size needed for :meth:`~socket.recvmsg` to receive an " -"ancillary data item with associated data of the given *length*, along with " -"any trailing padding. The buffer space needed to receive multiple items is " -"the sum of the :func:`CMSG_SPACE` values for their associated data lengths." -" Raises :exc:`OverflowError` if *length* is outside the permissible range " -"of values." -msgstr "" - -#: ../../library/socket.rst:1388 -msgid "" -"Note that some systems might support ancillary data without providing this " -"function. Also note that setting the buffer size using the results of this " -"function may not precisely limit the amount of ancillary data that can be " -"received, since additional data may be able to fit into the padding area." -msgstr "" - -#: ../../library/socket.rst:1396 -msgid "most Unix platforms." -msgstr "" - -#: ../../library/socket.rst:1403 -msgid "" -"Return the default timeout in seconds (float) for new socket objects. A " -"value of ``None`` indicates that new socket objects have no timeout. When " -"the socket module is first imported, the default is ``None``." -msgstr "" - -#: ../../library/socket.rst:1410 -msgid "" -"Set the default timeout in seconds (float) for new socket objects. When the" -" socket module is first imported, the default is ``None``. See " -":meth:`~socket.settimeout` for possible values and their respective " -"meanings." -msgstr "" - -#: ../../library/socket.rst:1418 -msgid "" -"Set the machine's hostname to *name*. This will raise an :exc:`OSError` if " -"you don't have enough rights." -msgstr "" - -#: ../../library/socket.rst:1421 -msgid "" -"Raises an :ref:`auditing event ` ``socket.sethostname`` with " -"argument ``name``." -msgstr "" - -#: ../../library/socket.rst:1430 -msgid "" -"Return a list of network interface information (index int, name string) " -"tuples. :exc:`OSError` if the system call fails." -msgstr "" - -#: ../../library/socket.rst:1438 ../../library/socket.rst:1465 -#: ../../library/socket.rst:1482 -msgid "Windows support was added." -msgstr "" - -#: ../../library/socket.rst:1443 -msgid "" -"On Windows network interfaces have different names in different contexts " -"(all names are examples):" -msgstr "" - -#: ../../library/socket.rst:1446 -msgid "UUID: ``{FB605B73-AAC2-49A6-9A2F-25416AEA0573}``" -msgstr "" - -#: ../../library/socket.rst:1447 -msgid "name: ``ethernet_32770``" -msgstr "" - -#: ../../library/socket.rst:1448 -msgid "friendly name: ``vEthernet (nat)``" -msgstr "" - -#: ../../library/socket.rst:1449 -msgid "description: ``Hyper-V Virtual Ethernet Adapter``" -msgstr "" - -#: ../../library/socket.rst:1451 -msgid "" -"This function returns names of the second form from the list, " -"``ethernet_32770`` in this example case." -msgstr "" - -#: ../../library/socket.rst:1457 -msgid "" -"Return a network interface index number corresponding to an interface name. " -":exc:`OSError` if no interface with the given name exists." -msgstr "" - -#: ../../library/socket.rst:1469 ../../library/socket.rst:1486 -msgid "\"Interface name\" is a name as documented in :func:`if_nameindex`." -msgstr "" - -#: ../../library/socket.rst:1474 -msgid "" -"Return a network interface name corresponding to an interface index number. " -":exc:`OSError` if no interface with the given index exists." -msgstr "" - -#: ../../library/socket.rst:1491 -msgid "" -"Send the list of file descriptors *fds* over an :const:`AF_UNIX` socket " -"*sock*. The *fds* parameter is a sequence of file descriptors. Consult " -":meth:`~socket.sendmsg` for the documentation of these parameters." -msgstr "" - -#: ../../library/socket.rst:1497 ../../library/socket.rst:1511 -msgid "" -"Unix platforms supporting :meth:`~socket.sendmsg` and :const:`SCM_RIGHTS` " -"mechanism." -msgstr "" - -#: ../../library/socket.rst:1505 -msgid "" -"Receive up to *maxfds* file descriptors from an :const:`AF_UNIX` socket " -"*sock*. Return ``(msg, list(fds), flags, addr)``. Consult " -":meth:`~socket.recvmsg` for the documentation of these parameters." -msgstr "" - -#: ../../library/socket.rst:1518 -msgid "Any truncated integers at the end of the list of file descriptors." -msgstr "" - -#: ../../library/socket.rst:1524 -msgid "Socket Objects" -msgstr "" - -#: ../../library/socket.rst:1526 -msgid "" -"Socket objects have the following methods. Except for " -":meth:`~socket.makefile`, these correspond to Unix system calls applicable " -"to sockets." -msgstr "" - -#: ../../library/socket.rst:1530 -msgid "" -"Support for the :term:`context manager` protocol was added. Exiting the " -"context manager is equivalent to calling :meth:`~socket.close`." -msgstr "" - -#: ../../library/socket.rst:1537 -msgid "" -"Accept a connection. The socket must be bound to an address and listening " -"for connections. The return value is a pair ``(conn, address)`` where *conn*" -" is a *new* socket object usable to send and receive data on the connection," -" and *address* is the address bound to the socket on the other end of the " -"connection." -msgstr "" - -#: ../../library/socket.rst:1544 ../../library/socket.rst:1638 -msgid "The socket is now non-inheritable." -msgstr "" - -#: ../../library/socket.rst:1547 ../../library/socket.rst:1774 -#: ../../library/socket.rst:1788 ../../library/socket.rst:1865 -#: ../../library/socket.rst:1938 ../../library/socket.rst:1957 -#: ../../library/socket.rst:1974 ../../library/socket.rst:2019 -msgid "" -"If the system call is interrupted and the signal handler does not raise an " -"exception, the method now retries the system call instead of raising an " -":exc:`InterruptedError` exception (see :pep:`475` for the rationale)." -msgstr "" - -#: ../../library/socket.rst:1555 -msgid "" -"Bind the socket to *address*. The socket must not already be bound. (The " -"format of *address* depends on the address family --- see above.)" -msgstr "" - -#: ../../library/socket.rst:1558 -msgid "" -"Raises an :ref:`auditing event ` ``socket.bind`` with arguments " -"``self``, ``address``." -msgstr "" - -#: ../../library/socket.rst:1565 -msgid "" -"Mark the socket closed. The underlying system resource (e.g. a file " -"descriptor) is also closed when all file objects from :meth:`makefile` are " -"closed. Once that happens, all future operations on the socket object will " -"fail. The remote end will receive no more data (after queued data is " -"flushed)." -msgstr "" - -#: ../../library/socket.rst:1571 -msgid "" -"Sockets are automatically closed when they are garbage-collected, but it is " -"recommended to :meth:`close` them explicitly, or to use a :keyword:`with` " -"statement around them." -msgstr "" - -#: ../../library/socket.rst:1575 -msgid "" -":exc:`OSError` is now raised if an error occurs when the underlying " -":c:func:`close` call is made." -msgstr "" - -#: ../../library/socket.rst:1581 -msgid "" -":meth:`close` releases the resource associated with a connection but does " -"not necessarily close the connection immediately. If you want to close the " -"connection in a timely fashion, call :meth:`shutdown` before :meth:`close`." -msgstr "" - -#: ../../library/socket.rst:1589 -msgid "" -"Connect to a remote socket at *address*. (The format of *address* depends on" -" the address family --- see above.)" -msgstr "" - -#: ../../library/socket.rst:1592 -msgid "" -"If the connection is interrupted by a signal, the method waits until the " -"connection completes, or raise a :exc:`TimeoutError` on timeout, if the " -"signal handler doesn't raise an exception and the socket is blocking or has " -"a timeout. For non-blocking sockets, the method raises an " -":exc:`InterruptedError` exception if the connection is interrupted by a " -"signal (or the exception raised by the signal handler)." -msgstr "" - -#: ../../library/socket.rst:1599 ../../library/socket.rst:1619 -msgid "" -"Raises an :ref:`auditing event ` ``socket.connect`` with arguments" -" ``self``, ``address``." -msgstr "" - -#: ../../library/socket.rst:1601 -msgid "" -"The method now waits until the connection completes instead of raising an " -":exc:`InterruptedError` exception if the connection is interrupted by a " -"signal, the signal handler doesn't raise an exception and the socket is " -"blocking or has a timeout (see the :pep:`475` for the rationale)." -msgstr "" - -#: ../../library/socket.rst:1612 -msgid "" -"Like ``connect(address)``, but return an error indicator instead of raising " -"an exception for errors returned by the C-level :c:func:`connect` call " -"(other problems, such as \"host not found,\" can still raise exceptions). " -"The error indicator is ``0`` if the operation succeeded, otherwise the value" -" of the :c:data:`errno` variable. This is useful to support, for example, " -"asynchronous connects." -msgstr "" - -#: ../../library/socket.rst:1625 -msgid "" -"Put the socket object into closed state without actually closing the " -"underlying file descriptor. The file descriptor is returned, and can be " -"reused for other purposes." -msgstr "" - -#: ../../library/socket.rst:1634 -msgid "Duplicate the socket." -msgstr "" - -#: ../../library/socket.rst:1646 -msgid "" -"Return the socket's file descriptor (a small integer), or -1 on failure. " -"This is useful with :func:`select.select`." -msgstr "" - -#: ../../library/socket.rst:1649 -msgid "" -"Under Windows the small integer returned by this method cannot be used where" -" a file descriptor can be used (such as :func:`os.fdopen`). Unix does not " -"have this limitation." -msgstr "" - -#: ../../library/socket.rst:1655 -msgid "" -"Get the :ref:`inheritable flag ` of the socket's file " -"descriptor or socket's handle: ``True`` if the socket can be inherited in " -"child processes, ``False`` if it cannot." -msgstr "" - -#: ../../library/socket.rst:1664 -msgid "" -"Return the remote address to which the socket is connected. This is useful " -"to find out the port number of a remote IPv4/v6 socket, for instance. (The " -"format of the address returned depends on the address family --- see above.)" -" On some systems this function is not supported." -msgstr "" - -#: ../../library/socket.rst:1672 -msgid "" -"Return the socket's own address. This is useful to find out the port number" -" of an IPv4/v6 socket, for instance. (The format of the address returned " -"depends on the address family --- see above.)" -msgstr "" - -#: ../../library/socket.rst:1679 -msgid "" -"Return the value of the given socket option (see the Unix man page " -":manpage:`getsockopt(2)`). The needed symbolic constants (:ref:`SO_\\* etc." -" `) are defined in this module. If *buflen* is " -"absent, an integer option is assumed and its integer value is returned by " -"the function. If *buflen* is present, it specifies the maximum length of " -"the buffer used to receive the option in, and this buffer is returned as a " -"bytes object. It is up to the caller to decode the contents of the buffer " -"(see the optional built-in module :mod:`struct` for a way to decode C " -"structures encoded as byte strings)." -msgstr "" - -#: ../../library/socket.rst:1693 -msgid "" -"Return ``True`` if socket is in blocking mode, ``False`` if in non-blocking." -msgstr "" - -#: ../../library/socket.rst:1696 -msgid "This is equivalent to checking ``socket.gettimeout() != 0``." -msgstr "" - -#: ../../library/socket.rst:1703 -msgid "" -"Return the timeout in seconds (float) associated with socket operations, or " -"``None`` if no timeout is set. This reflects the last call to " -":meth:`setblocking` or :meth:`settimeout`." -msgstr "" - -#: ../../library/socket.rst:1710 -msgid "" -"The :meth:`ioctl` method is a limited interface to the WSAIoctl system " -"interface. Please refer to the `Win32 documentation " -"`_ for " -"more information." -msgstr "" - -#: ../../library/socket.rst:1715 -msgid "" -"On other platforms, the generic :func:`fcntl.fcntl` and :func:`fcntl.ioctl` " -"functions may be used; they accept a socket object as their first argument." -msgstr "" - -#: ../../library/socket.rst:1718 -msgid "" -"Currently only the following control codes are supported: ``SIO_RCVALL``, " -"``SIO_KEEPALIVE_VALS``, and ``SIO_LOOPBACK_FAST_PATH``." -msgstr "" - -#: ../../library/socket.rst:1729 -msgid "" -"Enable a server to accept connections. If *backlog* is specified, it must " -"be at least 0 (if it is lower, it is set to 0); it specifies the number of " -"unaccepted connections that the system will allow before refusing new " -"connections. If not specified, a default reasonable value is chosen." -msgstr "" - -#: ../../library/socket.rst:1736 -msgid "The *backlog* parameter is now optional." -msgstr "" - -#: ../../library/socket.rst:1745 -msgid "" -"Return a :term:`file object` associated with the socket. The exact returned" -" type depends on the arguments given to :meth:`makefile`. These arguments " -"are interpreted the same way as by the built-in :func:`open` function, " -"except the only supported *mode* values are ``'r'`` (default), ``'w'``, " -"``'b'``, or a combination of those." -msgstr "" - -#: ../../library/socket.rst:1751 -msgid "" -"The socket must be in blocking mode; it can have a timeout, but the file " -"object's internal buffer may end up in an inconsistent state if a timeout " -"occurs." -msgstr "" - -#: ../../library/socket.rst:1755 -msgid "" -"Closing the file object returned by :meth:`makefile` won't close the " -"original socket unless all other file objects have been closed and " -":meth:`socket.close` has been called on the socket object." -msgstr "" - -#: ../../library/socket.rst:1761 -msgid "" -"On Windows, the file-like object created by :meth:`makefile` cannot be used " -"where a file object with a file descriptor is expected, such as the stream " -"arguments of :meth:`subprocess.Popen`." -msgstr "" - -#: ../../library/socket.rst:1768 -msgid "" -"Receive data from the socket. The return value is a bytes object " -"representing the data received. The maximum amount of data to be received " -"at once is specified by *bufsize*. A returned empty bytes object indicates " -"that the client has disconnected. See the Unix manual page " -":manpage:`recv(2)` for the meaning of the optional argument *flags*; it " -"defaults to zero." -msgstr "" - -#: ../../library/socket.rst:1782 -msgid "" -"Receive data from the socket. The return value is a pair ``(bytes, " -"address)`` where *bytes* is a bytes object representing the data received " -"and *address* is the address of the socket sending the data. See the Unix " -"manual page :manpage:`recv(2)` for the meaning of the optional argument " -"*flags*; it defaults to zero. (The format of *address* depends on the " -"address family --- see above.)" -msgstr "" - -#: ../../library/socket.rst:1793 -msgid "" -"For multicast IPv6 address, first item of *address* does not contain " -"``%scope_id`` part anymore. In order to get full IPv6 address use " -":func:`getnameinfo`." -msgstr "" - -#: ../../library/socket.rst:1800 -msgid "" -"Receive normal data (up to *bufsize* bytes) and ancillary data from the " -"socket. The *ancbufsize* argument sets the size in bytes of the internal " -"buffer used to receive the ancillary data; it defaults to 0, meaning that no" -" ancillary data will be received. Appropriate buffer sizes for ancillary " -"data can be calculated using :func:`CMSG_SPACE` or :func:`CMSG_LEN`, and " -"items which do not fit into the buffer might be truncated or discarded. The" -" *flags* argument defaults to 0 and has the same meaning as for " -":meth:`recv`." -msgstr "" - -#: ../../library/socket.rst:1810 -msgid "" -"The return value is a 4-tuple: ``(data, ancdata, msg_flags, address)``. The" -" *data* item is a :class:`bytes` object holding the non-ancillary data " -"received. The *ancdata* item is a list of zero or more tuples " -"``(cmsg_level, cmsg_type, cmsg_data)`` representing the ancillary data " -"(control messages) received: *cmsg_level* and *cmsg_type* are integers " -"specifying the protocol level and protocol-specific type respectively, and " -"*cmsg_data* is a :class:`bytes` object holding the associated data. The " -"*msg_flags* item is the bitwise OR of various flags indicating conditions on" -" the received message; see your system documentation for details. If the " -"receiving socket is unconnected, *address* is the address of the sending " -"socket, if available; otherwise, its value is unspecified." -msgstr "" - -#: ../../library/socket.rst:1824 -msgid "" -"On some systems, :meth:`sendmsg` and :meth:`recvmsg` can be used to pass " -"file descriptors between processes over an :const:`AF_UNIX` socket. When " -"this facility is used (it is often restricted to :const:`SOCK_STREAM` " -"sockets), :meth:`recvmsg` will return, in its ancillary data, items of the " -"form ``(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)``, where *fds* is a " -":class:`bytes` object representing the new file descriptors as a binary " -"array of the native C :c:expr:`int` type. If :meth:`recvmsg` raises an " -"exception after the system call returns, it will first attempt to close any " -"file descriptors received via this mechanism." -msgstr "" - -#: ../../library/socket.rst:1835 -msgid "" -"Some systems do not indicate the truncated length of ancillary data items " -"which have been only partially received. If an item appears to extend " -"beyond the end of the buffer, :meth:`recvmsg` will issue a " -":exc:`RuntimeWarning`, and will return the part of it which is inside the " -"buffer provided it has not been truncated before the start of its associated" -" data." -msgstr "" - -#: ../../library/socket.rst:1842 -msgid "" -"On systems which support the :const:`SCM_RIGHTS` mechanism, the following " -"function will receive up to *maxfds* file descriptors, returning the message" -" data and a list containing the descriptors (while ignoring unexpected " -"conditions such as unrelated control messages being received). See also " -":meth:`sendmsg`. ::" -msgstr "" - -#: ../../library/socket.rst:1848 -msgid "" -"import socket, array\n" -"\n" -"def recv_fds(sock, msglen, maxfds):\n" -" fds = array.array(\"i\") # Array of ints\n" -" msg, ancdata, flags, addr = sock.recvmsg(msglen, socket.CMSG_LEN(maxfds * fds.itemsize))\n" -" for cmsg_level, cmsg_type, cmsg_data in ancdata:\n" -" if cmsg_level == socket.SOL_SOCKET and cmsg_type == socket.SCM_RIGHTS:\n" -" # Append data, ignoring any truncated integers at the end.\n" -" fds.frombytes(cmsg_data[:len(cmsg_data) - (len(cmsg_data) % fds.itemsize)])\n" -" return msg, list(fds)" -msgstr "" - -#: ../../library/socket.rst:1873 -msgid "" -"Receive normal data and ancillary data from the socket, behaving as " -":meth:`recvmsg` would, but scatter the non-ancillary data into a series of " -"buffers instead of returning a new bytes object. The *buffers* argument " -"must be an iterable of objects that export writable buffers (e.g. " -":class:`bytearray` objects); these will be filled with successive chunks of " -"the non-ancillary data until it has all been written or there are no more " -"buffers. The operating system may set a limit (:func:`~os.sysconf` value " -"``SC_IOV_MAX``) on the number of buffers that can be used. The *ancbufsize*" -" and *flags* arguments have the same meaning as for :meth:`recvmsg`." -msgstr "" - -#: ../../library/socket.rst:1884 -msgid "" -"The return value is a 4-tuple: ``(nbytes, ancdata, msg_flags, address)``, " -"where *nbytes* is the total number of bytes of non-ancillary data written " -"into the buffers, and *ancdata*, *msg_flags* and *address* are the same as " -"for :meth:`recvmsg`." -msgstr "" - -#: ../../library/socket.rst:1889 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/socket.rst:1891 -msgid "" -">>> import socket\n" -">>> s1, s2 = socket.socketpair()\n" -">>> b1 = bytearray(b'----')\n" -">>> b2 = bytearray(b'0123456789')\n" -">>> b3 = bytearray(b'--------------')\n" -">>> s1.send(b'Mary had a little lamb')\n" -"22\n" -">>> s2.recvmsg_into([b1, memoryview(b2)[2:9], b3])\n" -"(22, [], 0, None)\n" -">>> [b1, b2, b3]\n" -"[bytearray(b'Mary'), bytearray(b'01 had a 9'), bytearray(b'little lamb---')]" -msgstr "" - -#: ../../library/socket.rst:1912 -msgid "" -"Receive data from the socket, writing it into *buffer* instead of creating a" -" new bytestring. The return value is a pair ``(nbytes, address)`` where " -"*nbytes* is the number of bytes received and *address* is the address of the" -" socket sending the data. See the Unix manual page :manpage:`recv(2)` for " -"the meaning of the optional argument *flags*; it defaults to zero. (The " -"format of *address* depends on the address family --- see above.)" -msgstr "" - -#: ../../library/socket.rst:1922 -msgid "" -"Receive up to *nbytes* bytes from the socket, storing the data into a buffer" -" rather than creating a new bytestring. If *nbytes* is not specified (or " -"0), receive up to the size available in the given buffer. Returns the " -"number of bytes received. See the Unix manual page :manpage:`recv(2)` for " -"the meaning of the optional argument *flags*; it defaults to zero." -msgstr "" - -#: ../../library/socket.rst:1931 -msgid "" -"Send data to the socket. The socket must be connected to a remote socket. " -"The optional *flags* argument has the same meaning as for :meth:`recv` " -"above. Returns the number of bytes sent. Applications are responsible for " -"checking that all data has been sent; if only some of the data was " -"transmitted, the application needs to attempt delivery of the remaining " -"data. For further information on this topic, consult the :ref:`socket-" -"howto`." -msgstr "" - -#: ../../library/socket.rst:1946 -msgid "" -"Send data to the socket. The socket must be connected to a remote socket. " -"The optional *flags* argument has the same meaning as for :meth:`recv` " -"above. Unlike :meth:`send`, this method continues to send data from *bytes* " -"until either all data has been sent or an error occurs. ``None`` is " -"returned on success. On error, an exception is raised, and there is no way " -"to determine how much data, if any, was successfully sent." -msgstr "" - -#: ../../library/socket.rst:1953 -msgid "" -"The socket timeout is no longer reset each time data is sent successfully. " -"The socket timeout is now the maximum total duration to send all data." -msgstr "" - -#: ../../library/socket.rst:1966 -msgid "" -"Send data to the socket. The socket should not be connected to a remote " -"socket, since the destination socket is specified by *address*. The " -"optional *flags* argument has the same meaning as for :meth:`recv` above. " -"Return the number of bytes sent. (The format of *address* depends on the " -"address family --- see above.)" -msgstr "" - -#: ../../library/socket.rst:1972 -msgid "" -"Raises an :ref:`auditing event ` ``socket.sendto`` with arguments " -"``self``, ``address``." -msgstr "" - -#: ../../library/socket.rst:1982 -msgid "" -"Send normal and ancillary data to the socket, gathering the non-ancillary " -"data from a series of buffers and concatenating it into a single message. " -"The *buffers* argument specifies the non-ancillary data as an iterable of " -":term:`bytes-like objects ` (e.g. :class:`bytes` " -"objects); the operating system may set a limit (:func:`~os.sysconf` value " -"``SC_IOV_MAX``) on the number of buffers that can be used. The *ancdata* " -"argument specifies the ancillary data (control messages) as an iterable of " -"zero or more tuples ``(cmsg_level, cmsg_type, cmsg_data)``, where " -"*cmsg_level* and *cmsg_type* are integers specifying the protocol level and " -"protocol-specific type respectively, and *cmsg_data* is a bytes-like object " -"holding the associated data. Note that some systems (in particular, systems" -" without :func:`CMSG_SPACE`) might support sending only one control message " -"per call. The *flags* argument defaults to 0 and has the same meaning as " -"for :meth:`send`. If *address* is supplied and not ``None``, it sets a " -"destination address for the message. The return value is the number of " -"bytes of non-ancillary data sent." -msgstr "" - -#: ../../library/socket.rst:2002 -msgid "" -"The following function sends the list of file descriptors *fds* over an " -":const:`AF_UNIX` socket, on systems which support the :const:`SCM_RIGHTS` " -"mechanism. See also :meth:`recvmsg`. ::" -msgstr "" - -#: ../../library/socket.rst:2006 -msgid "" -"import socket, array\n" -"\n" -"def send_fds(sock, msg, fds):\n" -" return sock.sendmsg([msg], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, array.array(\"i\", fds))])" -msgstr "" - -#: ../../library/socket.rst:2015 -msgid "" -"Raises an :ref:`auditing event ` ``socket.sendmsg`` with arguments" -" ``self``, ``address``." -msgstr "" - -#: ../../library/socket.rst:2026 -msgid "" -"Specialized version of :meth:`~socket.sendmsg` for :const:`AF_ALG` socket. " -"Set mode, IV, AEAD associated data length and flags for :const:`AF_ALG` " -"socket." -msgstr "" - -#: ../../library/socket.rst:2035 -msgid "" -"Send a file until EOF is reached by using high-performance " -":mod:`os.sendfile` and return the total number of bytes which were sent. " -"*file* must be a regular file object opened in binary mode. If " -":mod:`os.sendfile` is not available (e.g. Windows) or *file* is not a " -"regular file :meth:`send` will be used instead. *offset* tells from where to" -" start reading the file. If specified, *count* is the total number of bytes " -"to transmit as opposed to sending the file until EOF is reached. File " -"position is updated on return or also in case of error in which case " -":meth:`file.tell() ` can be used to figure out the number of" -" bytes which were sent. The socket must be of :const:`SOCK_STREAM` type. " -"Non-blocking sockets are not supported." -msgstr "" - -#: ../../library/socket.rst:2051 -msgid "" -"Set the :ref:`inheritable flag ` of the socket's file " -"descriptor or socket's handle." -msgstr "" - -#: ../../library/socket.rst:2059 -msgid "" -"Set blocking or non-blocking mode of the socket: if *flag* is false, the " -"socket is set to non-blocking, else to blocking mode." -msgstr "" - -#: ../../library/socket.rst:2062 -msgid "" -"This method is a shorthand for certain :meth:`~socket.settimeout` calls:" -msgstr "" - -#: ../../library/socket.rst:2064 -msgid "``sock.setblocking(True)`` is equivalent to ``sock.settimeout(None)``" -msgstr "" - -#: ../../library/socket.rst:2066 -msgid "``sock.setblocking(False)`` is equivalent to ``sock.settimeout(0.0)``" -msgstr "" - -#: ../../library/socket.rst:2068 -msgid "" -"The method no longer applies :const:`SOCK_NONBLOCK` flag on " -":attr:`socket.type`." -msgstr "" - -#: ../../library/socket.rst:2075 -msgid "" -"Set a timeout on blocking socket operations. The *value* argument can be a " -"nonnegative floating-point number expressing seconds, or ``None``. If a non-" -"zero value is given, subsequent socket operations will raise a " -":exc:`timeout` exception if the timeout period *value* has elapsed before " -"the operation has completed. If zero is given, the socket is put in non-" -"blocking mode. If ``None`` is given, the socket is put in blocking mode." -msgstr "" - -#: ../../library/socket.rst:2082 -msgid "" -"For further information, please consult the :ref:`notes on socket timeouts " -"`." -msgstr "" - -#: ../../library/socket.rst:2084 -msgid "" -"The method no longer toggles :const:`SOCK_NONBLOCK` flag on " -":attr:`socket.type`." -msgstr "" - -#: ../../library/socket.rst:2097 -msgid "" -"Set the value of the given socket option (see the Unix manual page " -":manpage:`setsockopt(2)`). The needed symbolic constants are defined in " -"this module (:ref:`!SO_\\* etc. `). The value can be" -" an integer, ``None`` or a :term:`bytes-like object` representing a buffer. " -"In the later case it is up to the caller to ensure that the bytestring " -"contains the proper bits (see the optional built-in module :mod:`struct` for" -" a way to encode C structures as bytestrings). When *value* is set to " -"``None``, *optlen* argument is required. It's equivalent to call " -":c:func:`setsockopt` C function with ``optval=NULL`` and ``optlen=optlen``." -msgstr "" - -#: ../../library/socket.rst:2110 -msgid "setsockopt(level, optname, None, optlen: int) form added." -msgstr "" - -#: ../../library/socket.rst:2118 -msgid "" -"Shut down one or both halves of the connection. If *how* is " -":const:`SHUT_RD`, further receives are disallowed. If *how* is " -":const:`SHUT_WR`, further sends are disallowed. If *how* is " -":const:`SHUT_RDWR`, further sends and receives are disallowed." -msgstr "" - -#: ../../library/socket.rst:2128 -msgid "" -"Duplicate a socket and prepare it for sharing with a target process. The " -"target process must be provided with *process_id*. The resulting bytes " -"object can then be passed to the target process using some form of " -"interprocess communication and the socket can be recreated there using " -":func:`fromshare`. Once this method has been called, it is safe to close the" -" socket since the operating system has already duplicated it for the target " -"process." -msgstr "" - -#: ../../library/socket.rst:2140 -msgid "" -"Note that there are no methods :meth:`read` or :meth:`write`; use " -":meth:`~socket.recv` and :meth:`~socket.send` without *flags* argument " -"instead." -msgstr "" - -#: ../../library/socket.rst:2143 -msgid "" -"Socket objects also have these (read-only) attributes that correspond to the" -" values given to the :class:`~socket.socket` constructor." -msgstr "" - -#: ../../library/socket.rst:2149 -msgid "The socket family." -msgstr "" - -#: ../../library/socket.rst:2154 -msgid "The socket type." -msgstr "" - -#: ../../library/socket.rst:2159 -msgid "The socket protocol." -msgstr "" - -#: ../../library/socket.rst:2166 -msgid "Notes on socket timeouts" -msgstr "" - -#: ../../library/socket.rst:2168 -msgid "" -"A socket object can be in one of three modes: blocking, non-blocking, or " -"timeout. Sockets are by default always created in blocking mode, but this " -"can be changed by calling :func:`setdefaulttimeout`." -msgstr "" - -#: ../../library/socket.rst:2172 -msgid "" -"In *blocking mode*, operations block until complete or the system returns an" -" error (such as connection timed out)." -msgstr "" - -#: ../../library/socket.rst:2175 -msgid "" -"In *non-blocking mode*, operations fail (with an error that is unfortunately" -" system-dependent) if they cannot be completed immediately: functions from " -"the :mod:`select` module can be used to know when and whether a socket is " -"available for reading or writing." -msgstr "" - -#: ../../library/socket.rst:2180 -msgid "" -"In *timeout mode*, operations fail if they cannot be completed within the " -"timeout specified for the socket (they raise a :exc:`timeout` exception) or " -"if the system returns an error." -msgstr "" - -#: ../../library/socket.rst:2185 -msgid "" -"At the operating system level, sockets in *timeout mode* are internally set " -"in non-blocking mode. Also, the blocking and timeout modes are shared " -"between file descriptors and socket objects that refer to the same network " -"endpoint. This implementation detail can have visible consequences if e.g. " -"you decide to use the :meth:`~socket.fileno` of a socket." -msgstr "" - -#: ../../library/socket.rst:2192 -msgid "Timeouts and the ``connect`` method" -msgstr "" - -#: ../../library/socket.rst:2194 -msgid "" -"The :meth:`~socket.connect` operation is also subject to the timeout " -"setting, and in general it is recommended to call :meth:`~socket.settimeout`" -" before calling :meth:`~socket.connect` or pass a timeout parameter to " -":meth:`create_connection`. However, the system network stack may also " -"return a connection timeout error of its own regardless of any Python socket" -" timeout setting." -msgstr "" - -#: ../../library/socket.rst:2202 -msgid "Timeouts and the ``accept`` method" -msgstr "" - -#: ../../library/socket.rst:2204 -msgid "" -"If :func:`getdefaulttimeout` is not :const:`None`, sockets returned by the " -":meth:`~socket.accept` method inherit that timeout. Otherwise, the " -"behaviour depends on settings of the listening socket:" -msgstr "" - -#: ../../library/socket.rst:2208 -msgid "" -"if the listening socket is in *blocking mode* or in *timeout mode*, the " -"socket returned by :meth:`~socket.accept` is in *blocking mode*;" -msgstr "" - -#: ../../library/socket.rst:2211 -msgid "" -"if the listening socket is in *non-blocking mode*, whether the socket " -"returned by :meth:`~socket.accept` is in blocking or non-blocking mode is " -"operating system-dependent. If you want to ensure cross-platform behaviour," -" it is recommended you manually override this setting." -msgstr "" - -#: ../../library/socket.rst:2220 -msgid "Example" -msgstr "Contoh" - -#: ../../library/socket.rst:2222 -msgid "" -"Here are four minimal example programs using the TCP/IP protocol: a server " -"that echoes all data that it receives back (servicing only one client), and " -"a client using it. Note that a server must perform the sequence " -":func:`~socket.socket`, :meth:`~socket.bind`, :meth:`~socket.listen`, " -":meth:`~socket.accept` (possibly repeating the :meth:`~socket.accept` to " -"service more than one client), while a client only needs the sequence " -":func:`~socket.socket`, :meth:`~socket.connect`. Also note that the server " -"does not :meth:`~socket.sendall`/:meth:`~socket.recv` on the socket it is " -"listening on but on the new socket returned by :meth:`~socket.accept`." -msgstr "" - -#: ../../library/socket.rst:2232 -msgid "The first two examples support IPv4 only. ::" -msgstr "" - -#: ../../library/socket.rst:2234 -msgid "" -"# Echo server program\n" -"import socket\n" -"\n" -"HOST = '' # Symbolic name meaning all available interfaces\n" -"PORT = 50007 # Arbitrary non-privileged port\n" -"with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:\n" -" s.bind((HOST, PORT))\n" -" s.listen(1)\n" -" conn, addr = s.accept()\n" -" with conn:\n" -" print('Connected by', addr)\n" -" while True:\n" -" data = conn.recv(1024)\n" -" if not data: break\n" -" conn.sendall(data)" -msgstr "" - -#: ../../library/socket.rst:2252 -msgid "" -"# Echo client program\n" -"import socket\n" -"\n" -"HOST = 'daring.cwi.nl' # The remote host\n" -"PORT = 50007 # The same port as used by the server\n" -"with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:\n" -" s.connect((HOST, PORT))\n" -" s.sendall(b'Hello, world')\n" -" data = s.recv(1024)\n" -"print('Received', repr(data))" -msgstr "" - -#: ../../library/socket.rst:2263 -msgid "" -"The next two examples are identical to the above two, but support both IPv4 " -"and IPv6. The server side will listen to the first address family available " -"(it should listen to both instead). On most of IPv6-ready systems, IPv6 will" -" take precedence and the server may not accept IPv4 traffic. The client side" -" will try to connect to all the addresses returned as a result of the name " -"resolution, and sends traffic to the first one connected successfully. ::" -msgstr "" - -#: ../../library/socket.rst:2270 -msgid "" -"# Echo server program\n" -"import socket\n" -"import sys\n" -"\n" -"HOST = None # Symbolic name meaning all available interfaces\n" -"PORT = 50007 # Arbitrary non-privileged port\n" -"s = None\n" -"for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC,\n" -" socket.SOCK_STREAM, 0, socket.AI_PASSIVE):\n" -" af, socktype, proto, canonname, sa = res\n" -" try:\n" -" s = socket.socket(af, socktype, proto)\n" -" except OSError as msg:\n" -" s = None\n" -" continue\n" -" try:\n" -" s.bind(sa)\n" -" s.listen(1)\n" -" except OSError as msg:\n" -" s.close()\n" -" s = None\n" -" continue\n" -" break\n" -"if s is None:\n" -" print('could not open socket')\n" -" sys.exit(1)\n" -"conn, addr = s.accept()\n" -"with conn:\n" -" print('Connected by', addr)\n" -" while True:\n" -" data = conn.recv(1024)\n" -" if not data: break\n" -" conn.send(data)" -msgstr "" - -#: ../../library/socket.rst:2306 -msgid "" -"# Echo client program\n" -"import socket\n" -"import sys\n" -"\n" -"HOST = 'daring.cwi.nl' # The remote host\n" -"PORT = 50007 # The same port as used by the server\n" -"s = None\n" -"for res in socket.getaddrinfo(HOST, PORT, socket.AF_UNSPEC, socket.SOCK_STREAM):\n" -" af, socktype, proto, canonname, sa = res\n" -" try:\n" -" s = socket.socket(af, socktype, proto)\n" -" except OSError as msg:\n" -" s = None\n" -" continue\n" -" try:\n" -" s.connect(sa)\n" -" except OSError as msg:\n" -" s.close()\n" -" s = None\n" -" continue\n" -" break\n" -"if s is None:\n" -" print('could not open socket')\n" -" sys.exit(1)\n" -"with s:\n" -" s.sendall(b'Hello, world')\n" -" data = s.recv(1024)\n" -"print('Received', repr(data))" -msgstr "" - -#: ../../library/socket.rst:2335 -msgid "" -"The next example shows how to write a very simple network sniffer with raw " -"sockets on Windows. The example requires administrator privileges to modify " -"the interface::" -msgstr "" - -#: ../../library/socket.rst:2339 -msgid "" -"import socket\n" -"\n" -"# the public network interface\n" -"HOST = socket.gethostbyname(socket.gethostname())\n" -"\n" -"# create a raw socket and bind it to the public interface\n" -"s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)\n" -"s.bind((HOST, 0))\n" -"\n" -"# Include IP headers\n" -"s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)\n" -"\n" -"# receive all packets\n" -"s.ioctl(socket.SIO_RCVALL, socket.RCVALL_ON)\n" -"\n" -"# receive a packet\n" -"print(s.recvfrom(65565))\n" -"\n" -"# disabled promiscuous mode\n" -"s.ioctl(socket.SIO_RCVALL, socket.RCVALL_OFF)" -msgstr "" - -#: ../../library/socket.rst:2360 -msgid "" -"The next example shows how to use the socket interface to communicate to a " -"CAN network using the raw socket protocol. To use CAN with the broadcast " -"manager protocol instead, open a socket with::" -msgstr "" - -#: ../../library/socket.rst:2364 -msgid "socket.socket(socket.AF_CAN, socket.SOCK_DGRAM, socket.CAN_BCM)" -msgstr "" - -#: ../../library/socket.rst:2366 -msgid "" -"After binding (:const:`CAN_RAW`) or connecting (:const:`CAN_BCM`) the " -"socket, you can use the :meth:`socket.send` and :meth:`socket.recv` " -"operations (and their counterparts) on the socket object as usual." -msgstr "" - -#: ../../library/socket.rst:2370 -msgid "This last example might require special privileges::" -msgstr "" - -#: ../../library/socket.rst:2372 -msgid "" -"import socket\n" -"import struct\n" -"\n" -"\n" -"# CAN frame packing/unpacking (see 'struct can_frame' in )\n" -"\n" -"can_frame_fmt = \"=IB3x8s\"\n" -"can_frame_size = struct.calcsize(can_frame_fmt)\n" -"\n" -"def build_can_frame(can_id, data):\n" -" can_dlc = len(data)\n" -" data = data.ljust(8, b'\\x00')\n" -" return struct.pack(can_frame_fmt, can_id, can_dlc, data)\n" -"\n" -"def dissect_can_frame(frame):\n" -" can_id, can_dlc, data = struct.unpack(can_frame_fmt, frame)\n" -" return (can_id, can_dlc, data[:can_dlc])\n" -"\n" -"\n" -"# create a raw socket and bind it to the 'vcan0' interface\n" -"s = socket.socket(socket.AF_CAN, socket.SOCK_RAW, socket.CAN_RAW)\n" -"s.bind(('vcan0',))\n" -"\n" -"while True:\n" -" cf, addr = s.recvfrom(can_frame_size)\n" -"\n" -" print('Received: can_id=%x, can_dlc=%x, data=%s' % dissect_can_frame(cf))\n" -"\n" -" try:\n" -" s.send(cf)\n" -" except OSError:\n" -" print('Error sending CAN frame')\n" -"\n" -" try:\n" -" s.send(build_can_frame(0x01, b'\\x01\\x02\\x03'))\n" -" except OSError:\n" -" print('Error sending CAN frame')" -msgstr "" - -#: ../../library/socket.rst:2410 -msgid "" -"Running an example several times with too small delay between executions, " -"could lead to this error::" -msgstr "" - -#: ../../library/socket.rst:2413 -msgid "OSError: [Errno 98] Address already in use" -msgstr "" - -#: ../../library/socket.rst:2415 -msgid "" -"This is because the previous execution has left the socket in a " -"``TIME_WAIT`` state, and can't be immediately reused." -msgstr "" - -#: ../../library/socket.rst:2418 -msgid "" -"There is a :mod:`socket` flag to set, in order to prevent this, " -":const:`socket.SO_REUSEADDR`::" -msgstr "" - -#: ../../library/socket.rst:2421 -msgid "" -"s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n" -"s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)\n" -"s.bind((HOST, PORT))" -msgstr "" - -#: ../../library/socket.rst:2425 -msgid "" -"the :data:`SO_REUSEADDR` flag tells the kernel to reuse a local socket in " -"``TIME_WAIT`` state, without waiting for its natural timeout to expire." -msgstr "" - -#: ../../library/socket.rst:2431 -msgid "" -"For an introduction to socket programming (in C), see the following papers:" -msgstr "" - -#: ../../library/socket.rst:2433 -msgid "" -"*An Introductory 4.3BSD Interprocess Communication Tutorial*, by Stuart " -"Sechrest" -msgstr "" - -#: ../../library/socket.rst:2435 -msgid "" -"*An Advanced 4.3BSD Interprocess Communication Tutorial*, by Samuel J. " -"Leffler et al," -msgstr "" - -#: ../../library/socket.rst:2438 -msgid "" -"both in the UNIX Programmer's Manual, Supplementary Documents 1 (sections " -"PS1:7 and PS1:8). The platform-specific reference material for the various " -"socket-related system calls are also a valuable source of information on the" -" details of socket semantics. For Unix, refer to the manual pages; for " -"Windows, see the WinSock (or Winsock 2) specification. For IPv6-ready APIs," -" readers may want to refer to :rfc:`3493` titled Basic Socket Interface " -"Extensions for IPv6." -msgstr "" - -#: ../../library/socket.rst:22 -msgid "object" -msgstr "objek" - -#: ../../library/socket.rst:22 -msgid "socket" -msgstr "socket" - -#: ../../library/socket.rst:1743 -msgid "I/O control" -msgstr "" - -#: ../../library/socket.rst:1743 -msgid "buffering" -msgstr "" - -#: ../../library/socket.rst:2095 -msgid "module" -msgstr "modul" - -#: ../../library/socket.rst:2095 -msgid "struct" -msgstr "" diff --git a/python-newest.library--socketserver/id.po b/python-newest.library--socketserver/id.po deleted file mode 100644 index 0bfa2f8..0000000 --- a/python-newest.library--socketserver/id.po +++ /dev/null @@ -1,829 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/socketserver.rst:2 -msgid ":mod:`!socketserver` --- A framework for network servers" -msgstr "" - -#: ../../library/socketserver.rst:7 -msgid "**Source code:** :source:`Lib/socketserver.py`" -msgstr "" - -#: ../../library/socketserver.rst:11 -msgid "" -"The :mod:`socketserver` module simplifies the task of writing network " -"servers." -msgstr "" - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/socketserver.rst:15 -msgid "There are four basic concrete server classes:" -msgstr "" - -#: ../../library/socketserver.rst:20 -msgid "" -"This uses the internet TCP protocol, which provides for continuous streams " -"of data between the client and server. If *bind_and_activate* is true, the " -"constructor automatically attempts to invoke :meth:`~BaseServer.server_bind`" -" and :meth:`~BaseServer.server_activate`. The other parameters are passed " -"to the :class:`BaseServer` base class." -msgstr "" - -#: ../../library/socketserver.rst:30 -msgid "" -"This uses datagrams, which are discrete packets of information that may " -"arrive out of order or be lost while in transit. The parameters are the " -"same as for :class:`TCPServer`." -msgstr "" - -#: ../../library/socketserver.rst:38 -msgid "" -"These more infrequently used classes are similar to the TCP and UDP classes," -" but use Unix domain sockets; they're not available on non-Unix platforms. " -"The parameters are the same as for :class:`TCPServer`." -msgstr "" - -#: ../../library/socketserver.rst:44 -msgid "" -"These four classes process requests :dfn:`synchronously`; each request must " -"be completed before the next request can be started. This isn't suitable if" -" each request takes a long time to complete, because it requires a lot of " -"computation, or because it returns a lot of data which the client is slow to" -" process. The solution is to create a separate process or thread to handle " -"each request; the :class:`ForkingMixIn` and :class:`ThreadingMixIn` mix-in " -"classes can be used to support asynchronous behaviour." -msgstr "" - -#: ../../library/socketserver.rst:52 -msgid "" -"Creating a server requires several steps. First, you must create a request " -"handler class by subclassing the :class:`BaseRequestHandler` class and " -"overriding its :meth:`~BaseRequestHandler.handle` method; this method will " -"process incoming requests. Second, you must instantiate one of the server " -"classes, passing it the server's address and the request handler class. It " -"is recommended to use the server in a :keyword:`with` statement. Then call " -"the :meth:`~BaseServer.handle_request` or :meth:`~BaseServer.serve_forever` " -"method of the server object to process one or many requests. Finally, call " -":meth:`~BaseServer.server_close` to close the socket (unless you used a " -":keyword:`!with` statement)." -msgstr "" - -#: ../../library/socketserver.rst:64 -msgid "" -"When inheriting from :class:`ThreadingMixIn` for threaded connection " -"behavior, you should explicitly declare how you want your threads to behave " -"on an abrupt shutdown. The :class:`ThreadingMixIn` class defines an " -"attribute *daemon_threads*, which indicates whether or not the server should" -" wait for thread termination. You should set the flag explicitly if you " -"would like threads to behave autonomously; the default is :const:`False`, " -"meaning that Python will not exit until all threads created by " -":class:`ThreadingMixIn` have exited." -msgstr "" - -#: ../../library/socketserver.rst:73 -msgid "" -"Server classes have the same external methods and attributes, no matter what" -" network protocol they use." -msgstr "" - -#: ../../library/socketserver.rst:78 -msgid "Server Creation Notes" -msgstr "" - -#: ../../library/socketserver.rst:80 -msgid "" -"There are five classes in an inheritance diagram, four of which represent " -"synchronous servers of four types::" -msgstr "" - -#: ../../library/socketserver.rst:83 -msgid "" -"+------------+\n" -"| BaseServer |\n" -"+------------+\n" -" |\n" -" v\n" -"+-----------+ +------------------+\n" -"| TCPServer |------->| UnixStreamServer |\n" -"+-----------+ +------------------+\n" -" |\n" -" v\n" -"+-----------+ +--------------------+\n" -"| UDPServer |------->| UnixDatagramServer |\n" -"+-----------+ +--------------------+" -msgstr "" - -#: ../../library/socketserver.rst:97 -msgid "" -"Note that :class:`UnixDatagramServer` derives from :class:`UDPServer`, not " -"from :class:`UnixStreamServer` --- the only difference between an IP and a " -"Unix server is the address family." -msgstr "" - -#: ../../library/socketserver.rst:105 -msgid "" -"Forking and threading versions of each type of server can be created using " -"these mix-in classes. For instance, :class:`ThreadingUDPServer` is created " -"as follows::" -msgstr "" - -#: ../../library/socketserver.rst:109 -msgid "" -"class ThreadingUDPServer(ThreadingMixIn, UDPServer):\n" -" pass" -msgstr "" - -#: ../../library/socketserver.rst:112 -msgid "" -"The mix-in class comes first, since it overrides a method defined in " -":class:`UDPServer`. Setting the various attributes also changes the " -"behavior of the underlying server mechanism." -msgstr "" - -#: ../../library/socketserver.rst:116 -msgid "" -":class:`ForkingMixIn` and the Forking classes mentioned below are only " -"available on POSIX platforms that support :func:`~os.fork`." -msgstr "" - -#: ../../library/socketserver.rst:121 -msgid "" -":meth:`ForkingMixIn.server_close ` waits until all " -"child processes complete, except if :attr:`block_on_close` attribute is " -"``False``." -msgstr "" - -#: ../../library/socketserver.rst:125 -msgid "" -":meth:`ThreadingMixIn.server_close ` waits until " -"all non-daemon threads complete, except if :attr:`block_on_close` attribute " -"is ``False``." -msgstr "" - -#: ../../library/socketserver.rst:131 -msgid "" -"Specify how many child processes will exist to handle requests at a time for" -" :class:`ForkingMixIn`. If the limit is reached, new requests will wait " -"until one child process has finished." -msgstr "" - -#: ../../library/socketserver.rst:137 -msgid "" -"For :class:`ThreadingMixIn` use daemonic threads by setting " -":data:`ThreadingMixIn.daemon_threads ` to ``True`` to not " -"wait until threads complete." -msgstr "" - -#: ../../library/socketserver.rst:143 -msgid "" -":meth:`ForkingMixIn.server_close ` and " -":meth:`ThreadingMixIn.server_close ` now waits " -"until all child processes and non-daemonic threads complete. Add a new " -":attr:`ForkingMixIn.block_on_close ` class attribute to opt-" -"in for the pre-3.7 behaviour." -msgstr "" - -#: ../../library/socketserver.rst:159 -msgid "These classes are pre-defined using the mix-in classes." -msgstr "" - -#: ../../library/socketserver.rst:161 -msgid "" -"The ``ForkingUnixStreamServer`` and ``ForkingUnixDatagramServer`` classes " -"were added." -msgstr "" - -#: ../../library/socketserver.rst:165 -msgid "" -"To implement a service, you must derive a class from " -":class:`BaseRequestHandler` and redefine its " -":meth:`~BaseRequestHandler.handle` method. You can then run various versions" -" of the service by combining one of the server classes with your request " -"handler class. The request handler class must be different for datagram or " -"stream services. This can be hidden by using the handler subclasses " -":class:`StreamRequestHandler` or :class:`DatagramRequestHandler`." -msgstr "" - -#: ../../library/socketserver.rst:173 -msgid "" -"Of course, you still have to use your head! For instance, it makes no sense" -" to use a forking server if the service contains state in memory that can be" -" modified by different requests, since the modifications in the child " -"process would never reach the initial state kept in the parent process and " -"passed to each child. In this case, you can use a threading server, but you" -" will probably have to use locks to protect the integrity of the shared " -"data." -msgstr "" - -#: ../../library/socketserver.rst:180 -msgid "" -"On the other hand, if you are building an HTTP server where all data is " -"stored externally (for instance, in the file system), a synchronous class " -"will essentially render the service \"deaf\" while one request is being " -"handled -- which may be for a very long time if a client is slow to receive " -"all the data it has requested. Here a threading or forking server is " -"appropriate." -msgstr "" - -#: ../../library/socketserver.rst:186 -msgid "" -"In some cases, it may be appropriate to process part of a request " -"synchronously, but to finish processing in a forked child depending on the " -"request data. This can be implemented by using a synchronous server and " -"doing an explicit fork in the request handler class " -":meth:`~BaseRequestHandler.handle` method." -msgstr "" - -#: ../../library/socketserver.rst:191 -msgid "" -"Another approach to handling multiple simultaneous requests in an " -"environment that supports neither threads nor :func:`~os.fork` (or where " -"these are too expensive or inappropriate for the service) is to maintain an " -"explicit table of partially finished requests and to use :mod:`selectors` to" -" decide which request to work on next (or whether to handle a new incoming " -"request). This is particularly important for stream services where each " -"client can potentially be connected for a long time (if threads or " -"subprocesses cannot be used)." -msgstr "" - -#: ../../library/socketserver.rst:204 -msgid "Server Objects" -msgstr "" - -#: ../../library/socketserver.rst:208 -msgid "" -"This is the superclass of all Server objects in the module. It defines the " -"interface, given below, but does not implement most of the methods, which is" -" done in subclasses. The two parameters are stored in the respective " -":attr:`server_address` and :attr:`RequestHandlerClass` attributes." -msgstr "" - -#: ../../library/socketserver.rst:216 -msgid "" -"Return an integer file descriptor for the socket on which the server is " -"listening. This function is most commonly passed to :mod:`selectors`, to " -"allow monitoring multiple servers in the same process." -msgstr "" - -#: ../../library/socketserver.rst:223 -msgid "" -"Process a single request. This function calls the following methods in " -"order: :meth:`get_request`, :meth:`verify_request`, and " -":meth:`process_request`. If the user-provided " -":meth:`~BaseRequestHandler.handle` method of the handler class raises an " -"exception, the server's :meth:`handle_error` method will be called. If no " -"request is received within :attr:`timeout` seconds, :meth:`handle_timeout` " -"will be called and :meth:`handle_request` will return." -msgstr "" - -#: ../../library/socketserver.rst:235 -msgid "" -"Handle requests until an explicit :meth:`shutdown` request. Poll for " -"shutdown every *poll_interval* seconds. Ignores the :attr:`timeout` " -"attribute. It also calls :meth:`service_actions`, which may be used by a " -"subclass or mixin to provide actions specific to a given service. For " -"example, the :class:`ForkingMixIn` class uses :meth:`service_actions` to " -"clean up zombie child processes." -msgstr "" - -#: ../../library/socketserver.rst:243 -msgid "Added ``service_actions`` call to the ``serve_forever`` method." -msgstr "" - -#: ../../library/socketserver.rst:249 -msgid "" -"This is called in the :meth:`serve_forever` loop. This method can be " -"overridden by subclasses or mixin classes to perform actions specific to a " -"given service, such as cleanup actions." -msgstr "" - -#: ../../library/socketserver.rst:257 -msgid "" -"Tell the :meth:`serve_forever` loop to stop and wait until it does. " -":meth:`shutdown` must be called while :meth:`serve_forever` is running in a " -"different thread otherwise it will deadlock." -msgstr "" - -#: ../../library/socketserver.rst:264 -msgid "Clean up the server. May be overridden." -msgstr "" - -#: ../../library/socketserver.rst:269 -msgid "" -"The family of protocols to which the server's socket belongs. Common " -"examples are :const:`socket.AF_INET`, :const:`socket.AF_INET6`, and " -":const:`socket.AF_UNIX`. Subclass the TCP or UDP server classes in this " -"module with class attribute ``address_family = AF_INET6`` set if you want " -"IPv6 server classes." -msgstr "" - -#: ../../library/socketserver.rst:278 -msgid "" -"The user-provided request handler class; an instance of this class is " -"created for each request." -msgstr "" - -#: ../../library/socketserver.rst:284 -msgid "" -"The address on which the server is listening. The format of addresses " -"varies depending on the protocol family; see the documentation for the " -":mod:`socket` module for details. For internet protocols, this is a tuple " -"containing a string giving the address, and an integer port number: " -"``('127.0.0.1', 80)``, for example." -msgstr "" - -#: ../../library/socketserver.rst:293 -msgid "" -"The socket object on which the server will listen for incoming requests." -msgstr "" - -#: ../../library/socketserver.rst:296 -msgid "The server classes support the following class variables:" -msgstr "" - -#: ../../library/socketserver.rst:302 -msgid "" -"Whether the server will allow the reuse of an address. This defaults to " -":const:`False`, and can be set in subclasses to change the policy." -msgstr "" - -#: ../../library/socketserver.rst:308 -msgid "" -"The size of the request queue. If it takes a long time to process a single " -"request, any requests that arrive while the server is busy are placed into a" -" queue, up to :attr:`request_queue_size` requests. Once the queue is full, " -"further requests from clients will get a \"Connection denied\" error. The " -"default value is usually 5, but this can be overridden by subclasses." -msgstr "" - -#: ../../library/socketserver.rst:317 -msgid "" -"The type of socket used by the server; :const:`socket.SOCK_STREAM` and " -":const:`socket.SOCK_DGRAM` are two common values." -msgstr "" - -#: ../../library/socketserver.rst:323 -msgid "" -"Timeout duration, measured in seconds, or :const:`None` if no timeout is " -"desired. If :meth:`handle_request` receives no incoming requests within the" -" timeout period, the :meth:`handle_timeout` method is called." -msgstr "" - -#: ../../library/socketserver.rst:328 -msgid "" -"There are various server methods that can be overridden by subclasses of " -"base server classes like :class:`TCPServer`; these methods aren't useful to " -"external users of the server object." -msgstr "" - -#: ../../library/socketserver.rst:337 -msgid "" -"Actually processes the request by instantiating :attr:`RequestHandlerClass` " -"and calling its :meth:`~BaseRequestHandler.handle` method." -msgstr "" - -#: ../../library/socketserver.rst:343 -msgid "" -"Must accept a request from the socket, and return a 2-tuple containing the " -"*new* socket object to be used to communicate with the client, and the " -"client's address." -msgstr "" - -#: ../../library/socketserver.rst:350 -msgid "" -"This function is called if the :meth:`~BaseRequestHandler.handle` method of " -"a :attr:`RequestHandlerClass` instance raises an exception. The default " -"action is to print the traceback to standard error and continue handling " -"further requests." -msgstr "" - -#: ../../library/socketserver.rst:355 -msgid "" -"Now only called for exceptions derived from the :exc:`Exception` class." -msgstr "" - -#: ../../library/socketserver.rst:362 -msgid "" -"This function is called when the :attr:`timeout` attribute has been set to a" -" value other than :const:`None` and the timeout period has passed with no " -"requests being received. The default action for forking servers is to " -"collect the status of any child processes that have exited, while in " -"threading servers this method does nothing." -msgstr "" - -#: ../../library/socketserver.rst:371 -msgid "" -"Calls :meth:`finish_request` to create an instance of the " -":attr:`RequestHandlerClass`. If desired, this function can create a new " -"process or thread to handle the request; the :class:`ForkingMixIn` and " -":class:`ThreadingMixIn` classes do this." -msgstr "" - -#: ../../library/socketserver.rst:383 -msgid "" -"Called by the server's constructor to activate the server. The default " -"behavior for a TCP server just invokes :meth:`~socket.socket.listen` on the " -"server's socket. May be overridden." -msgstr "" - -#: ../../library/socketserver.rst:390 -msgid "" -"Called by the server's constructor to bind the socket to the desired " -"address. May be overridden." -msgstr "" - -#: ../../library/socketserver.rst:396 -msgid "" -"Must return a Boolean value; if the value is :const:`True`, the request will" -" be processed, and if it's :const:`False`, the request will be denied. This" -" function can be overridden to implement access controls for a server. The " -"default implementation always returns :const:`True`." -msgstr "" - -#: ../../library/socketserver.rst:402 -msgid "" -"Support for the :term:`context manager` protocol was added. Exiting the " -"context manager is equivalent to calling :meth:`server_close`." -msgstr "" - -#: ../../library/socketserver.rst:408 -msgid "Request Handler Objects" -msgstr "" - -#: ../../library/socketserver.rst:412 -msgid "" -"This is the superclass of all request handler objects. It defines the " -"interface, given below. A concrete request handler subclass must define a " -"new :meth:`handle` method, and can override any of the other methods. A new" -" instance of the subclass is created for each request." -msgstr "" - -#: ../../library/socketserver.rst:421 -msgid "" -"Called before the :meth:`handle` method to perform any initialization " -"actions required. The default implementation does nothing." -msgstr "" - -#: ../../library/socketserver.rst:427 -msgid "" -"This function must do all the work required to service a request. The " -"default implementation does nothing. Several instance attributes are " -"available to it; the request is available as :attr:`request`; the client " -"address as :attr:`client_address`; and the server instance as " -":attr:`server`, in case it needs access to per-server information." -msgstr "" - -#: ../../library/socketserver.rst:433 -msgid "" -"The type of :attr:`request` is different for datagram or stream services. " -"For stream services, :attr:`request` is a socket object; for datagram " -"services, :attr:`request` is a pair of string and socket." -msgstr "" - -#: ../../library/socketserver.rst:440 -msgid "" -"Called after the :meth:`handle` method to perform any clean-up actions " -"required. The default implementation does nothing. If :meth:`setup` raises" -" an exception, this function will not be called." -msgstr "" - -#: ../../library/socketserver.rst:447 -msgid "" -"The *new* :class:`socket.socket` object to be used to communicate with the " -"client." -msgstr "" - -#: ../../library/socketserver.rst:453 -msgid "Client address returned by :meth:`BaseServer.get_request`." -msgstr "" - -#: ../../library/socketserver.rst:458 -msgid ":class:`BaseServer` object used for handling the request." -msgstr "" - -#: ../../library/socketserver.rst:464 -msgid "" -"These :class:`BaseRequestHandler` subclasses override the " -":meth:`~BaseRequestHandler.setup` and :meth:`~BaseRequestHandler.finish` " -"methods, and provide :attr:`rfile` and :attr:`wfile` attributes." -msgstr "" - -#: ../../library/socketserver.rst:470 -msgid "" -"A file object from which receives the request is read. Support the " -":class:`io.BufferedIOBase` readable interface." -msgstr "" - -#: ../../library/socketserver.rst:475 -msgid "" -"A file object to which the reply is written. Support the " -":class:`io.BufferedIOBase` writable interface" -msgstr "" - -#: ../../library/socketserver.rst:479 -msgid "" -":attr:`wfile` also supports the :class:`io.BufferedIOBase` writable " -"interface." -msgstr "" - -#: ../../library/socketserver.rst:485 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/socketserver.rst:488 -msgid ":class:`socketserver.TCPServer` Example" -msgstr "" - -#: ../../library/socketserver.rst:490 ../../library/socketserver.rst:601 -msgid "This is the server side::" -msgstr "" - -#: ../../library/socketserver.rst:492 -msgid "" -"import socketserver\n" -"\n" -"class MyTCPHandler(socketserver.BaseRequestHandler):\n" -" \"\"\"\n" -" The request handler class for our server.\n" -"\n" -" It is instantiated once per connection to the server, and must\n" -" override the handle() method to implement communication to the\n" -" client.\n" -" \"\"\"\n" -"\n" -" def handle(self):\n" -" # self.request is the TCP socket connected to the client\n" -" pieces = [b'']\n" -" total = 0\n" -" while b'\\n' not in pieces[-1] and total < 10_000:\n" -" pieces.append(self.request.recv(2000))\n" -" total += len(pieces[-1])\n" -" self.data = b''.join(pieces)\n" -" print(f\"Received from {self.client_address[0]}:\")\n" -" print(self.data.decode(\"utf-8\"))\n" -" # just send back the same data, but upper-cased\n" -" self.request.sendall(self.data.upper())\n" -" # after we return, the socket will be closed.\n" -"\n" -"if __name__ == \"__main__\":\n" -" HOST, PORT = \"localhost\", 9999\n" -"\n" -" # Create the server, binding to localhost on port 9999\n" -" with socketserver.TCPServer((HOST, PORT), MyTCPHandler) as server:\n" -" # Activate the server; this will keep running until you\n" -" # interrupt the program with Ctrl-C\n" -" server.serve_forever()" -msgstr "" - -#: ../../library/socketserver.rst:526 -msgid "" -"An alternative request handler class that makes use of streams (file-like " -"objects that simplify communication by providing the standard file " -"interface)::" -msgstr "" - -#: ../../library/socketserver.rst:529 -msgid "" -"class MyTCPHandler(socketserver.StreamRequestHandler):\n" -"\n" -" def handle(self):\n" -" # self.rfile is a file-like object created by the handler.\n" -" # We can now use e.g. readline() instead of raw recv() calls.\n" -" # We limit ourselves to 10000 bytes to avoid abuse by the sender.\n" -" self.data = self.rfile.readline(10000).rstrip()\n" -" print(f\"{self.client_address[0]} wrote:\")\n" -" print(self.data.decode(\"utf-8\"))\n" -" # Likewise, self.wfile is a file-like object used to write back\n" -" # to the client\n" -" self.wfile.write(self.data.upper())" -msgstr "" - -#: ../../library/socketserver.rst:542 -msgid "" -"The difference is that the ``readline()`` call in the second handler will " -"call ``recv()`` multiple times until it encounters a newline character, " -"while the the first handler had to use a ``recv()`` loop to accumulate data " -"until a newline itself. If it had just used a single ``recv()`` without the" -" loop it would just have returned what has been received so far from the " -"client. TCP is stream based: data arrives in the order it was sent, but " -"there no correlation between client ``send()`` or ``sendall()`` calls and " -"the number of ``recv()`` calls on the server required to receive it." -msgstr "" - -#: ../../library/socketserver.rst:552 ../../library/socketserver.rst:625 -msgid "This is the client side::" -msgstr "" - -#: ../../library/socketserver.rst:554 -msgid "" -"import socket\n" -"import sys\n" -"\n" -"HOST, PORT = \"localhost\", 9999\n" -"data = \" \".join(sys.argv[1:])\n" -"\n" -"# Create a socket (SOCK_STREAM means a TCP socket)\n" -"with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:\n" -" # Connect to server and send data\n" -" sock.connect((HOST, PORT))\n" -" sock.sendall(bytes(data, \"utf-8\"))\n" -" sock.sendall(b\"\\n\")\n" -"\n" -" # Receive data from the server and shut down\n" -" received = str(sock.recv(1024), \"utf-8\")\n" -"\n" -"print(\"Sent: \", data)\n" -"print(\"Received:\", received)" -msgstr "" - -#: ../../library/socketserver.rst:574 ../../library/socketserver.rst:700 -msgid "The output of the example should look something like this:" -msgstr "" - -#: ../../library/socketserver.rst:576 -msgid "Server:" -msgstr "" - -#: ../../library/socketserver.rst:578 -msgid "" -"$ python TCPServer.py\n" -"127.0.0.1 wrote:\n" -"b'hello world with TCP'\n" -"127.0.0.1 wrote:\n" -"b'python is nice'" -msgstr "" - -#: ../../library/socketserver.rst:586 -msgid "Client:" -msgstr "" - -#: ../../library/socketserver.rst:588 -msgid "" -"$ python TCPClient.py hello world with TCP\n" -"Sent: hello world with TCP\n" -"Received: HELLO WORLD WITH TCP\n" -"$ python TCPClient.py python is nice\n" -"Sent: python is nice\n" -"Received: PYTHON IS NICE" -msgstr "" - -#: ../../library/socketserver.rst:599 -msgid ":class:`socketserver.UDPServer` Example" -msgstr "" - -#: ../../library/socketserver.rst:603 -msgid "" -"import socketserver\n" -"\n" -"class MyUDPHandler(socketserver.BaseRequestHandler):\n" -" \"\"\"\n" -" This class works similar to the TCP handler class, except that\n" -" self.request consists of a pair of data and client socket, and since\n" -" there is no connection the client address must be given explicitly\n" -" when sending data back via sendto().\n" -" \"\"\"\n" -"\n" -" def handle(self):\n" -" data = self.request[0].strip()\n" -" socket = self.request[1]\n" -" print(f\"{self.client_address[0]} wrote:\")\n" -" print(data)\n" -" socket.sendto(data.upper(), self.client_address)\n" -"\n" -"if __name__ == \"__main__\":\n" -" HOST, PORT = \"localhost\", 9999\n" -" with socketserver.UDPServer((HOST, PORT), MyUDPHandler) as server:\n" -" server.serve_forever()" -msgstr "" - -#: ../../library/socketserver.rst:627 -msgid "" -"import socket\n" -"import sys\n" -"\n" -"HOST, PORT = \"localhost\", 9999\n" -"data = \" \".join(sys.argv[1:])\n" -"\n" -"# SOCK_DGRAM is the socket type to use for UDP sockets\n" -"sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)\n" -"\n" -"# As you can see, there is no connect() call; UDP has no connections.\n" -"# Instead, data is directly sent to the recipient via sendto().\n" -"sock.sendto(bytes(data + \"\\n\", \"utf-8\"), (HOST, PORT))\n" -"received = str(sock.recv(1024), \"utf-8\")\n" -"\n" -"print(\"Sent: \", data)\n" -"print(\"Received:\", received)" -msgstr "" - -#: ../../library/socketserver.rst:644 -msgid "" -"The output of the example should look exactly like for the TCP server " -"example." -msgstr "" - -#: ../../library/socketserver.rst:648 -msgid "Asynchronous Mixins" -msgstr "" - -#: ../../library/socketserver.rst:650 -msgid "" -"To build asynchronous handlers, use the :class:`ThreadingMixIn` and " -":class:`ForkingMixIn` classes." -msgstr "" - -#: ../../library/socketserver.rst:653 -msgid "An example for the :class:`ThreadingMixIn` class::" -msgstr "" - -#: ../../library/socketserver.rst:655 -msgid "" -"import socket\n" -"import threading\n" -"import socketserver\n" -"\n" -"class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):\n" -"\n" -" def handle(self):\n" -" data = str(self.request.recv(1024), 'ascii')\n" -" cur_thread = threading.current_thread()\n" -" response = bytes(\"{}: {}\".format(cur_thread.name, data), 'ascii')\n" -" self.request.sendall(response)\n" -"\n" -"class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):\n" -" pass\n" -"\n" -"def client(ip, port, message):\n" -" with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:\n" -" sock.connect((ip, port))\n" -" sock.sendall(bytes(message, 'ascii'))\n" -" response = str(sock.recv(1024), 'ascii')\n" -" print(\"Received: {}\".format(response))\n" -"\n" -"if __name__ == \"__main__\":\n" -" # Port 0 means to select an arbitrary unused port\n" -" HOST, PORT = \"localhost\", 0\n" -"\n" -" server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)\n" -" with server:\n" -" ip, port = server.server_address\n" -"\n" -" # Start a thread with the server -- that thread will then start one\n" -" # more thread for each request\n" -" server_thread = threading.Thread(target=server.serve_forever)\n" -" # Exit the server thread when the main thread terminates\n" -" server_thread.daemon = True\n" -" server_thread.start()\n" -" print(\"Server loop running in thread:\", server_thread.name)\n" -"\n" -" client(ip, port, \"Hello World 1\")\n" -" client(ip, port, \"Hello World 2\")\n" -" client(ip, port, \"Hello World 3\")\n" -"\n" -" server.shutdown()" -msgstr "" - -#: ../../library/socketserver.rst:702 -msgid "" -"$ python ThreadedTCPServer.py\n" -"Server loop running in thread: Thread-1\n" -"Received: Thread-2: Hello World 1\n" -"Received: Thread-3: Hello World 2\n" -"Received: Thread-4: Hello World 3" -msgstr "" - -#: ../../library/socketserver.rst:711 -msgid "" -"The :class:`ForkingMixIn` class is used in the same way, except that the " -"server will spawn a new process for each request. Available only on POSIX " -"platforms that support :func:`~os.fork`." -msgstr "" diff --git a/python-newest.library--spwd/id.po b/python-newest.library--spwd/id.po deleted file mode 100644 index 205c400..0000000 --- a/python-newest.library--spwd/id.po +++ /dev/null @@ -1,41 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/spwd.rst:2 -msgid ":mod:`!spwd` --- The shadow password database" -msgstr "" - -#: ../../library/spwd.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.13 ` after being deprecated in" -" Python 3.11. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/spwd.rst:14 -msgid "" -"A possible replacement is the third-party library :pypi:`python-pam`. This " -"library is not supported or maintained by the Python core team." -msgstr "" - -#: ../../library/spwd.rst:17 -msgid "" -"The last version of Python that provided the :mod:`!spwd` module was `Python" -" 3.12 `_." -msgstr "" diff --git a/python-newest.library--sqlite3/id.po b/python-newest.library--sqlite3/id.po deleted file mode 100644 index 6fbc821..0000000 --- a/python-newest.library--sqlite3/id.po +++ /dev/null @@ -1,3151 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Helen Febriani , 2018 -# Elmo , 2021 -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/sqlite3.rst:2 -msgid ":mod:`!sqlite3` --- DB-API 2.0 interface for SQLite databases" -msgstr "" - -#: ../../library/sqlite3.rst:9 -msgid "**Source code:** :source:`Lib/sqlite3/`" -msgstr "**Kode sumber:** :source:`Lib/sqlite3/`" - -#: ../../library/sqlite3.rst:25 -msgid "" -"SQLite is a C library that provides a lightweight disk-based database that " -"doesn't require a separate server process and allows accessing the database " -"using a nonstandard variant of the SQL query language. Some applications can" -" use SQLite for internal data storage. It's also possible to prototype an " -"application using SQLite and then port the code to a larger database such as" -" PostgreSQL or Oracle." -msgstr "" - -#: ../../library/sqlite3.rst:32 -msgid "" -"The :mod:`!sqlite3` module was written by Gerhard Häring. It provides an " -"SQL interface compliant with the DB-API 2.0 specification described by " -":pep:`249`, and requires SQLite 3.15.2 or newer." -msgstr "" - -#: ../../library/sqlite3.rst:36 -msgid "This document includes four main sections:" -msgstr "" - -#: ../../library/sqlite3.rst:38 -msgid ":ref:`sqlite3-tutorial` teaches how to use the :mod:`!sqlite3` module." -msgstr "" - -#: ../../library/sqlite3.rst:39 -msgid "" -":ref:`sqlite3-reference` describes the classes and functions this module " -"defines." -msgstr "" - -#: ../../library/sqlite3.rst:41 -msgid ":ref:`sqlite3-howtos` details how to handle specific tasks." -msgstr "" - -#: ../../library/sqlite3.rst:42 -msgid "" -":ref:`sqlite3-explanation` provides in-depth background on transaction " -"control." -msgstr "" - -#: ../../library/sqlite3.rst:47 -msgid "https://www.sqlite.org" -msgstr "https://www.sqlite.org" - -#: ../../library/sqlite3.rst:48 -msgid "" -"The SQLite web page; the documentation describes the syntax and the " -"available data types for the supported SQL dialect." -msgstr "" -"Halaman web SQLite; dokumentasi menjelaskan sintaks dan tipe data yang " -"tersedia untuk dialek SQL yang didukung." - -#: ../../library/sqlite3.rst:51 -msgid "https://www.w3schools.com/sql/" -msgstr "https://www.w3schools.com/sql/" - -#: ../../library/sqlite3.rst:52 -msgid "Tutorial, reference and examples for learning SQL syntax." -msgstr "Tutorial, referensi, dan contoh untuk mempelajari sintaks SQL." - -#: ../../library/sqlite3.rst:54 -msgid ":pep:`249` - Database API Specification 2.0" -msgstr ":pep:`249` - Spesifikasi API Basisdata 2.0" - -#: ../../library/sqlite3.rst:55 -msgid "PEP written by Marc-André Lemburg." -msgstr "PEP ditulis oleh Marc-André Lemburg." - -#: ../../library/sqlite3.rst:68 -msgid "Tutorial" -msgstr "Tutorial" - -#: ../../library/sqlite3.rst:70 -msgid "" -"In this tutorial, you will create a database of Monty Python movies using " -"basic :mod:`!sqlite3` functionality. It assumes a fundamental understanding " -"of database concepts, including `cursors`_ and `transactions`_." -msgstr "" - -#: ../../library/sqlite3.rst:75 -msgid "" -"First, we need to create a new database and open a database connection to " -"allow :mod:`!sqlite3` to work with it. Call :func:`sqlite3.connect` to " -"create a connection to the database :file:`tutorial.db` in the current " -"working directory, implicitly creating it if it does not exist:" -msgstr "" - -#: ../../library/sqlite3.rst:81 -msgid "" -"import sqlite3\n" -"con = sqlite3.connect(\"tutorial.db\")" -msgstr "" - -#: ../../library/sqlite3.rst:86 -msgid "" -"The returned :class:`Connection` object ``con`` represents the connection to" -" the on-disk database." -msgstr "" - -#: ../../library/sqlite3.rst:89 -msgid "" -"In order to execute SQL statements and fetch results from SQL queries, we " -"will need to use a database cursor. Call :meth:`con.cursor() " -"` to create the :class:`Cursor`:" -msgstr "" - -#: ../../library/sqlite3.rst:93 -msgid "cur = con.cursor()" -msgstr "" - -#: ../../library/sqlite3.rst:97 -msgid "" -"Now that we've got a database connection and a cursor, we can create a " -"database table ``movie`` with columns for title, release year, and review " -"score. For simplicity, we can just use column names in the table declaration" -" -- thanks to the `flexible typing`_ feature of SQLite, specifying the data " -"types is optional. Execute the ``CREATE TABLE`` statement by calling " -":meth:`cur.execute(...) `:" -msgstr "" - -#: ../../library/sqlite3.rst:106 -msgid "cur.execute(\"CREATE TABLE movie(title, year, score)\")" -msgstr "" - -#: ../../library/sqlite3.rst:113 -msgid "" -"We can verify that the new table has been created by querying the " -"``sqlite_master`` table built-in to SQLite, which should now contain an " -"entry for the ``movie`` table definition (see `The Schema Table`_ for " -"details). Execute that query by calling :meth:`cur.execute(...) " -"`, assign the result to ``res``, and call " -":meth:`res.fetchone() ` to fetch the resulting row:" -msgstr "" - -#: ../../library/sqlite3.rst:121 -msgid "" -">>> res = cur.execute(\"SELECT name FROM sqlite_master\")\n" -">>> res.fetchone()\n" -"('movie',)" -msgstr "" - -#: ../../library/sqlite3.rst:127 -msgid "" -"We can see that the table has been created, as the query returns a " -":class:`tuple` containing the table's name. If we query ``sqlite_master`` " -"for a non-existent table ``spam``, :meth:`!res.fetchone` will return " -"``None``:" -msgstr "" - -#: ../../library/sqlite3.rst:132 -msgid "" -">>> res = cur.execute(\"SELECT name FROM sqlite_master WHERE name='spam'\")\n" -">>> res.fetchone() is None\n" -"True" -msgstr "" - -#: ../../library/sqlite3.rst:138 -msgid "" -"Now, add two rows of data supplied as SQL literals by executing an " -"``INSERT`` statement, once again by calling :meth:`cur.execute(...) " -"`:" -msgstr "" - -#: ../../library/sqlite3.rst:142 -msgid "" -"cur.execute(\"\"\"\n" -" INSERT INTO movie VALUES\n" -" ('Monty Python and the Holy Grail', 1975, 8.2),\n" -" ('And Now for Something Completely Different', 1971, 7.5)\n" -"\"\"\")" -msgstr "" - -#: ../../library/sqlite3.rst:150 -msgid "" -"The ``INSERT`` statement implicitly opens a transaction, which needs to be " -"committed before changes are saved in the database (see " -":ref:`sqlite3-controlling-transactions` for details). Call " -":meth:`con.commit() ` on the connection object to commit " -"the transaction:" -msgstr "" - -#: ../../library/sqlite3.rst:156 -msgid "con.commit()" -msgstr "" - -#: ../../library/sqlite3.rst:160 -msgid "" -"We can verify that the data was inserted correctly by executing a ``SELECT``" -" query. Use the now-familiar :meth:`cur.execute(...) ` to " -"assign the result to ``res``, and call :meth:`res.fetchall() " -"` to return all resulting rows:" -msgstr "" - -#: ../../library/sqlite3.rst:166 -msgid "" -">>> res = cur.execute(\"SELECT score FROM movie\")\n" -">>> res.fetchall()\n" -"[(8.2,), (7.5,)]" -msgstr "" - -#: ../../library/sqlite3.rst:172 -msgid "" -"The result is a :class:`list` of two :class:`!tuple`\\s, one per row, each " -"containing that row's ``score`` value." -msgstr "" - -#: ../../library/sqlite3.rst:175 -msgid "" -"Now, insert three more rows by calling :meth:`cur.executemany(...) " -"`:" -msgstr "" - -#: ../../library/sqlite3.rst:178 -msgid "" -"data = [\n" -" (\"Monty Python Live at the Hollywood Bowl\", 1982, 7.9),\n" -" (\"Monty Python's The Meaning of Life\", 1983, 7.5),\n" -" (\"Monty Python's Life of Brian\", 1979, 8.0),\n" -"]\n" -"cur.executemany(\"INSERT INTO movie VALUES(?, ?, ?)\", data)\n" -"con.commit() # Remember to commit the transaction after executing INSERT." -msgstr "" - -#: ../../library/sqlite3.rst:188 -msgid "" -"Notice that ``?`` placeholders are used to bind ``data`` to the query. " -"Always use placeholders instead of :ref:`string formatting `" -" to bind Python values to SQL statements, to avoid `SQL injection attacks`_ " -"(see :ref:`sqlite3-placeholders` for more details)." -msgstr "" - -#: ../../library/sqlite3.rst:194 -msgid "" -"We can verify that the new rows were inserted by executing a ``SELECT`` " -"query, this time iterating over the results of the query:" -msgstr "" - -#: ../../library/sqlite3.rst:198 -msgid "" -">>> for row in cur.execute(\"SELECT year, title FROM movie ORDER BY year\"):\n" -"... print(row)\n" -"(1971, 'And Now for Something Completely Different')\n" -"(1975, 'Monty Python and the Holy Grail')\n" -"(1979, \"Monty Python's Life of Brian\")\n" -"(1982, 'Monty Python Live at the Hollywood Bowl')\n" -"(1983, \"Monty Python's The Meaning of Life\")" -msgstr "" - -#: ../../library/sqlite3.rst:208 -msgid "" -"Each row is a two-item :class:`tuple` of ``(year, title)``, matching the " -"columns selected in the query." -msgstr "" - -#: ../../library/sqlite3.rst:211 -msgid "" -"Finally, verify that the database has been written to disk by calling " -":meth:`con.close() ` to close the existing connection, " -"opening a new one, creating a new cursor, then querying the database:" -msgstr "" - -#: ../../library/sqlite3.rst:216 -msgid "" -">>> con.close()\n" -">>> new_con = sqlite3.connect(\"tutorial.db\")\n" -">>> new_cur = new_con.cursor()\n" -">>> res = new_cur.execute(\"SELECT title, year FROM movie ORDER BY score DESC\")\n" -">>> title, year = res.fetchone()\n" -">>> print(f'The highest scoring Monty Python movie is {title!r}, released in {year}')\n" -"The highest scoring Monty Python movie is 'Monty Python and the Holy Grail', released in 1975\n" -">>> new_con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:227 -msgid "" -"You've now created an SQLite database using the :mod:`!sqlite3` module, " -"inserted data and retrieved values from it in multiple ways." -msgstr "" - -#: ../../library/sqlite3.rst:239 -msgid ":ref:`sqlite3-howtos` for further reading:" -msgstr "" - -#: ../../library/sqlite3.rst:241 -msgid ":ref:`sqlite3-placeholders`" -msgstr "" - -#: ../../library/sqlite3.rst:242 -msgid ":ref:`sqlite3-adapters`" -msgstr "" - -#: ../../library/sqlite3.rst:243 -msgid ":ref:`sqlite3-converters`" -msgstr "" - -#: ../../library/sqlite3.rst:244 ../../library/sqlite3.rst:600 -msgid ":ref:`sqlite3-connection-context-manager`" -msgstr "" - -#: ../../library/sqlite3.rst:245 -msgid ":ref:`sqlite3-howto-row-factory`" -msgstr "" - -#: ../../library/sqlite3.rst:247 -msgid "" -":ref:`sqlite3-explanation` for in-depth background on transaction control." -msgstr "" - -#: ../../library/sqlite3.rst:252 -msgid "Reference" -msgstr "Referensi" - -#: ../../library/sqlite3.rst:260 -msgid "Module functions" -msgstr "" - -#: ../../library/sqlite3.rst:268 -msgid "Open a connection to an SQLite database." -msgstr "" - -#: ../../library/sqlite3.rst:0 -msgid "Parameters" -msgstr "Parameter" - -#: ../../library/sqlite3.rst:270 -msgid "" -"The path to the database file to be opened. You can pass ``\":memory:\"`` to" -" create an `SQLite database existing only in memory " -"`_, and open a connection to it." -msgstr "" - -#: ../../library/sqlite3.rst:277 -msgid "" -"How many seconds the connection should wait before raising an " -":exc:`OperationalError` when a table is locked. If another connection opens " -"a transaction to modify a table, that table will be locked until the " -"transaction is committed. Default five seconds." -msgstr "" - -#: ../../library/sqlite3.rst:284 -msgid "" -"Control whether and how data types not :ref:`natively supported by SQLite " -"` are looked up to be converted to Python types, using the " -"converters registered with :func:`register_converter`. Set it to any " -"combination (using ``|``, bitwise or) of :const:`PARSE_DECLTYPES` and " -":const:`PARSE_COLNAMES` to enable this. Column names takes precedence over " -"declared types if both flags are set. By default (``0``), type detection is " -"disabled." -msgstr "" - -#: ../../library/sqlite3.rst:295 -msgid "" -"Control legacy transaction handling behaviour. See " -":attr:`Connection.isolation_level` and :ref:`sqlite3-transaction-control-" -"isolation-level` for more information. Can be ``\"DEFERRED\"`` (default), " -"``\"EXCLUSIVE\"`` or ``\"IMMEDIATE\"``; or ``None`` to disable opening " -"transactions implicitly. Has no effect unless :attr:`Connection.autocommit` " -"is set to :const:`~sqlite3.LEGACY_TRANSACTION_CONTROL` (the default)." -msgstr "" - -#: ../../library/sqlite3.rst:305 -msgid "" -"If ``True`` (default), :exc:`ProgrammingError` will be raised if the " -"database connection is used by a thread other than the one that created it. " -"If ``False``, the connection may be accessed in multiple threads; write " -"operations may need to be serialized by the user to avoid data corruption. " -"See :attr:`threadsafety` for more information." -msgstr "" - -#: ../../library/sqlite3.rst:314 -msgid "" -"A custom subclass of :class:`Connection` to create the connection with, if " -"not the default :class:`Connection` class." -msgstr "" - -#: ../../library/sqlite3.rst:318 -msgid "" -"The number of statements that :mod:`!sqlite3` should internally cache for " -"this connection, to avoid parsing overhead. By default, 128 statements." -msgstr "" - -#: ../../library/sqlite3.rst:323 -msgid "" -"If set to ``True``, *database* is interpreted as a :abbr:`URI (Uniform " -"Resource Identifier)` with a file path and an optional query string. The " -"scheme part *must* be ``\"file:\"``, and the path can be relative or " -"absolute. The query string allows passing parameters to SQLite, enabling " -"various :ref:`sqlite3-uri-tricks`." -msgstr "" - -#: ../../library/sqlite3.rst:332 -msgid "" -"Control :pep:`249` transaction handling behaviour. See " -":attr:`Connection.autocommit` and :ref:`sqlite3-transaction-control-" -"autocommit` for more information. *autocommit* currently defaults to " -":const:`~sqlite3.LEGACY_TRANSACTION_CONTROL`. The default will change to " -"``False`` in a future Python release." -msgstr "" - -#: ../../library/sqlite3.rst:0 -msgid "Return type" -msgstr "" - -#: ../../library/sqlite3.rst:343 -msgid "" -"Raises an :ref:`auditing event ` ``sqlite3.connect`` with argument" -" ``database``." -msgstr "" - -#: ../../library/sqlite3.rst:344 -msgid "" -"Raises an :ref:`auditing event ` ``sqlite3.connect/handle`` with " -"argument ``connection_handle``." -msgstr "" - -#: ../../library/sqlite3.rst:346 -msgid "Added the *uri* parameter." -msgstr "Menambahkan parameter *uri*." - -#: ../../library/sqlite3.rst:349 -msgid "" -"*database* can now also be a :term:`path-like object`, not only a string." -msgstr "" - -#: ../../library/sqlite3.rst:352 -msgid "Added the ``sqlite3.connect/handle`` auditing event." -msgstr "" - -#: ../../library/sqlite3.rst:355 -msgid "Added the *autocommit* parameter." -msgstr "" - -#: ../../library/sqlite3.rst:358 -msgid "" -"Positional use of the parameters *timeout*, *detect_types*, " -"*isolation_level*, *check_same_thread*, *factory*, *cached_statements*, and " -"*uri* is deprecated. They will become keyword-only parameters in Python " -"3.15." -msgstr "" - -#: ../../library/sqlite3.rst:366 -msgid "" -"Return ``True`` if the string *statement* appears to contain one or more " -"complete SQL statements. No syntactic verification or parsing of any kind is" -" performed, other than checking that there are no unclosed string literals " -"and the statement is terminated by a semicolon." -msgstr "" - -#: ../../library/sqlite3.rst:372 -msgid "For example:" -msgstr "Sebagai contoh:" - -#: ../../library/sqlite3.rst:374 -msgid "" -">>> sqlite3.complete_statement(\"SELECT foo FROM bar;\")\n" -"True\n" -">>> sqlite3.complete_statement(\"SELECT foo\")\n" -"False" -msgstr "" - -#: ../../library/sqlite3.rst:381 -msgid "" -"This function may be useful during command-line input to determine if the " -"entered text seems to form a complete SQL statement, or if additional input " -"is needed before calling :meth:`~Cursor.execute`." -msgstr "" - -#: ../../library/sqlite3.rst:385 -msgid "" -"See :func:`!runsource` in :source:`Lib/sqlite3/__main__.py` for real-world " -"use." -msgstr "" - -#: ../../library/sqlite3.rst:390 -msgid "" -"Enable or disable callback tracebacks. By default you will not get any " -"tracebacks in user-defined functions, aggregates, converters, authorizer " -"callbacks etc. If you want to debug them, you can call this function with " -"*flag* set to ``True``. Afterwards, you will get tracebacks from callbacks " -"on :data:`sys.stderr`. Use ``False`` to disable the feature again." -msgstr "" - -#: ../../library/sqlite3.rst:399 -msgid "" -"Errors in user-defined function callbacks are logged as unraisable " -"exceptions. Use an :func:`unraisable hook handler ` for " -"introspection of the failed callback." -msgstr "" - -#: ../../library/sqlite3.rst:405 -msgid "" -"Register an *adapter* :term:`callable` to adapt the Python type *type* into " -"an SQLite type. The adapter is called with a Python object of type *type* as" -" its sole argument, and must return a value of a :ref:`type that SQLite " -"natively understands `." -msgstr "" - -#: ../../library/sqlite3.rst:413 -msgid "" -"Register the *converter* :term:`callable` to convert SQLite objects of type " -"*typename* into a Python object of a specific type. The converter is invoked" -" for all SQLite values of type *typename*; it is passed a :class:`bytes` " -"object and should return an object of the desired Python type. Consult the " -"parameter *detect_types* of :func:`connect` for information regarding how " -"type detection works." -msgstr "" - -#: ../../library/sqlite3.rst:421 -msgid "" -"Note: *typename* and the name of the type in your query are matched case-" -"insensitively." -msgstr "" - -#: ../../library/sqlite3.rst:428 -msgid "Module constants" -msgstr "" - -#: ../../library/sqlite3.rst:432 -msgid "" -"Set :attr:`~Connection.autocommit` to this constant to select old style " -"(pre-Python 3.12) transaction control behaviour. See " -":ref:`sqlite3-transaction-control-isolation-level` for more information." -msgstr "" - -#: ../../library/sqlite3.rst:438 -msgid "" -"Pass this flag value to the *detect_types* parameter of :func:`connect` to " -"look up a converter function using the declared types for each column. The " -"types are declared when the database table is created. :mod:`!sqlite3` will " -"look up a converter function using the first word of the declared type as " -"the converter dictionary key. For example:" -msgstr "" - -#: ../../library/sqlite3.rst:446 -msgid "" -"CREATE TABLE test(\n" -" i integer primary key, ! will look up a converter named \"integer\"\n" -" p point, ! will look up a converter named \"point\"\n" -" n number(10) ! will look up a converter named \"number\"\n" -" )" -msgstr "" - -#: ../../library/sqlite3.rst:454 -msgid "" -"This flag may be combined with :const:`PARSE_COLNAMES` using the ``|`` " -"(bitwise or) operator." -msgstr "" - -#: ../../library/sqlite3.rst:459 -msgid "" -"Generated fields (for example ``MAX(p)``) are returned as :class:`str`. Use " -":const:`!PARSE_COLNAMES` to enforce types for such queries." -msgstr "" - -#: ../../library/sqlite3.rst:464 -msgid "" -"Pass this flag value to the *detect_types* parameter of :func:`connect` to " -"look up a converter function by using the type name, parsed from the query " -"column name, as the converter dictionary key. The query column name must be " -"wrapped in double quotes (``\"``) and the type name must be wrapped in " -"square brackets (``[]``)." -msgstr "" - -#: ../../library/sqlite3.rst:471 -msgid "SELECT MAX(p) as \"p [point]\" FROM test; ! will look up converter \"point\"" -msgstr "" - -#: ../../library/sqlite3.rst:475 -msgid "" -"This flag may be combined with :const:`PARSE_DECLTYPES` using the ``|`` " -"(bitwise or) operator." -msgstr "" - -#: ../../library/sqlite3.rst:482 -msgid "" -"Flags that should be returned by the *authorizer_callback* :term:`callable` " -"passed to :meth:`Connection.set_authorizer`, to indicate whether:" -msgstr "" - -#: ../../library/sqlite3.rst:485 -msgid "Access is allowed (:const:`!SQLITE_OK`)," -msgstr "" - -#: ../../library/sqlite3.rst:486 -msgid "" -"The SQL statement should be aborted with an error (:const:`!SQLITE_DENY`)" -msgstr "" - -#: ../../library/sqlite3.rst:487 -msgid "" -"The column should be treated as a ``NULL`` value (:const:`!SQLITE_IGNORE`)" -msgstr "" - -#: ../../library/sqlite3.rst:491 -msgid "" -"String constant stating the supported DB-API level. Required by the DB-API. " -"Hard-coded to ``\"2.0\"``." -msgstr "" - -#: ../../library/sqlite3.rst:496 -msgid "" -"String constant stating the type of parameter marker formatting expected by " -"the :mod:`!sqlite3` module. Required by the DB-API. Hard-coded to " -"``\"qmark\"``." -msgstr "" - -#: ../../library/sqlite3.rst:502 -msgid "The ``named`` DB-API parameter style is also supported." -msgstr "" - -#: ../../library/sqlite3.rst:506 -msgid "" -"Version number of the runtime SQLite library as a :class:`string `." -msgstr "" - -#: ../../library/sqlite3.rst:510 -msgid "" -"Version number of the runtime SQLite library as a :class:`tuple` of " -":class:`integers `." -msgstr "" - -#: ../../library/sqlite3.rst:515 -msgid "" -"Integer constant required by the DB-API 2.0, stating the level of thread " -"safety the :mod:`!sqlite3` module supports. This attribute is set based on " -"the default `threading mode `_ the " -"underlying SQLite library is compiled with. The SQLite threading modes are:" -msgstr "" - -#: ../../library/sqlite3.rst:520 -msgid "" -"**Single-thread**: In this mode, all mutexes are disabled and SQLite is " -"unsafe to use in more than a single thread at once." -msgstr "" - -#: ../../library/sqlite3.rst:522 -msgid "" -"**Multi-thread**: In this mode, SQLite can be safely used by multiple " -"threads provided that no single database connection is used simultaneously " -"in two or more threads." -msgstr "" - -#: ../../library/sqlite3.rst:525 -msgid "" -"**Serialized**: In serialized mode, SQLite can be safely used by multiple " -"threads with no restriction." -msgstr "" - -#: ../../library/sqlite3.rst:528 -msgid "" -"The mappings from SQLite threading modes to DB-API 2.0 threadsafety levels " -"are as follows:" -msgstr "" - -#: ../../library/sqlite3.rst:532 -msgid "SQLite threading mode" -msgstr "" - -#: ../../library/sqlite3.rst:532 -msgid ":pep:`threadsafety <0249#threadsafety>`" -msgstr "" - -#: ../../library/sqlite3.rst:532 -msgid "`SQLITE_THREADSAFE`_" -msgstr "" - -#: ../../library/sqlite3.rst:532 -msgid "DB-API 2.0 meaning" -msgstr "" - -#: ../../library/sqlite3.rst:535 -msgid "single-thread" -msgstr "" - -#: ../../library/sqlite3.rst:535 -msgid "0" -msgstr "0" - -#: ../../library/sqlite3.rst:535 -msgid "Threads may not share the module" -msgstr "" - -#: ../../library/sqlite3.rst:538 -msgid "multi-thread" -msgstr "" - -#: ../../library/sqlite3.rst:538 ../../library/sqlite3.rst:541 -msgid "1" -msgstr "1" - -#: ../../library/sqlite3.rst:538 -msgid "2" -msgstr "2" - -#: ../../library/sqlite3.rst:538 -msgid "Threads may share the module, but not connections" -msgstr "" - -#: ../../library/sqlite3.rst:541 -msgid "serialized" -msgstr "" - -#: ../../library/sqlite3.rst:541 -msgid "3" -msgstr "3" - -#: ../../library/sqlite3.rst:541 -msgid "Threads may share the module, connections and cursors" -msgstr "" - -#: ../../library/sqlite3.rst:547 -msgid "Set *threadsafety* dynamically instead of hard-coding it to ``1``." -msgstr "" - -#: ../../library/sqlite3.rst:569 -msgid "" -"These constants are used for the :meth:`Connection.setconfig` and " -":meth:`~Connection.getconfig` methods." -msgstr "" - -#: ../../library/sqlite3.rst:572 -msgid "" -"The availability of these constants varies depending on the version of " -"SQLite Python was compiled with." -msgstr "" - -#: ../../library/sqlite3.rst:579 -msgid "https://www.sqlite.org/c3ref/c_dbconfig_defensive.html" -msgstr "" - -#: ../../library/sqlite3.rst:580 -msgid "SQLite docs: Database Connection Configuration Options" -msgstr "" - -#: ../../library/sqlite3.rst:582 -msgid "The :data:`!version` and :data:`!version_info` constants." -msgstr "" - -#: ../../library/sqlite3.rst:588 -msgid "Connection objects" -msgstr "" - -#: ../../library/sqlite3.rst:592 -msgid "" -"Each open SQLite database is represented by a ``Connection`` object, which " -"is created using :func:`sqlite3.connect`. Their main purpose is creating " -":class:`Cursor` objects, and :ref:`sqlite3-controlling-transactions`." -msgstr "" - -#: ../../library/sqlite3.rst:599 -msgid ":ref:`sqlite3-connection-shortcuts`" -msgstr "" - -#: ../../library/sqlite3.rst:605 -msgid "" -"A :exc:`ResourceWarning` is emitted if :meth:`close` is not called before a " -":class:`!Connection` object is deleted." -msgstr "" - -#: ../../library/sqlite3.rst:608 -msgid "" -"An SQLite database connection has the following attributes and methods:" -msgstr "" - -#: ../../library/sqlite3.rst:612 -msgid "" -"Create and return a :class:`Cursor` object. The cursor method accepts a " -"single optional parameter *factory*. If supplied, this must be a " -":term:`callable` returning an instance of :class:`Cursor` or its subclasses." -msgstr "" - -#: ../../library/sqlite3.rst:619 -msgid "" -"Open a :class:`Blob` handle to an existing :abbr:`BLOB (Binary Large " -"OBject)`." -msgstr "" - -#: ../../library/sqlite3.rst:622 -msgid "The name of the table where the blob is located." -msgstr "" - -#: ../../library/sqlite3.rst:625 -msgid "The name of the column where the blob is located." -msgstr "" - -#: ../../library/sqlite3.rst:628 -msgid "The name of the row where the blob is located." -msgstr "" - -#: ../../library/sqlite3.rst:631 -msgid "" -"Set to ``True`` if the blob should be opened without write permissions. " -"Defaults to ``False``." -msgstr "" - -#: ../../library/sqlite3.rst:636 -msgid "" -"The name of the database where the blob is located. Defaults to " -"``\"main\"``." -msgstr "" - -#: ../../library/sqlite3.rst:0 -msgid "Raises" -msgstr "" - -#: ../../library/sqlite3.rst:640 -msgid "When trying to open a blob in a ``WITHOUT ROWID`` table." -msgstr "" - -#: ../../library/sqlite3.rst:647 -msgid "" -"The blob size cannot be changed using the :class:`Blob` class. Use the SQL " -"function ``zeroblob`` to create a blob with a fixed size." -msgstr "" - -#: ../../library/sqlite3.rst:654 -msgid "" -"Commit any pending transaction to the database. If :attr:`autocommit` is " -"``True``, or there is no open transaction, this method does nothing. If " -":attr:`!autocommit` is ``False``, a new transaction is implicitly opened if " -"a pending transaction was committed by this method." -msgstr "" - -#: ../../library/sqlite3.rst:662 -msgid "" -"Roll back to the start of any pending transaction. If :attr:`autocommit` is " -"``True``, or there is no open transaction, this method does nothing. If " -":attr:`!autocommit` is ``False``, a new transaction is implicitly opened if " -"a pending transaction was rolled back by this method." -msgstr "" - -#: ../../library/sqlite3.rst:670 -msgid "" -"Close the database connection. If :attr:`autocommit` is ``False``, any " -"pending transaction is implicitly rolled back. If :attr:`!autocommit` is " -"``True`` or :data:`LEGACY_TRANSACTION_CONTROL`, no implicit transaction " -"control is executed. Make sure to :meth:`commit` before closing to avoid " -"losing pending changes." -msgstr "" - -#: ../../library/sqlite3.rst:680 -msgid "" -"Create a new :class:`Cursor` object and call :meth:`~Cursor.execute` on it " -"with the given *sql* and *parameters*. Return the new cursor object." -msgstr "" - -#: ../../library/sqlite3.rst:686 -msgid "" -"Create a new :class:`Cursor` object and call :meth:`~Cursor.executemany` on " -"it with the given *sql* and *parameters*. Return the new cursor object." -msgstr "" - -#: ../../library/sqlite3.rst:692 -msgid "" -"Create a new :class:`Cursor` object and call :meth:`~Cursor.executescript` " -"on it with the given *sql_script*. Return the new cursor object." -msgstr "" - -#: ../../library/sqlite3.rst:698 -msgid "Create or remove a user-defined SQL function." -msgstr "" - -#: ../../library/sqlite3.rst:700 -msgid "The name of the SQL function." -msgstr "" - -#: ../../library/sqlite3.rst:703 -msgid "" -"The number of arguments the SQL function can accept. If ``-1``, it may take " -"any number of arguments." -msgstr "" - -#: ../../library/sqlite3.rst:707 -msgid "" -"A :term:`callable` that is called when the SQL function is invoked. The " -"callable must return :ref:`a type natively supported by SQLite " -"`. Set to ``None`` to remove an existing SQL function." -msgstr "" - -#: ../../library/sqlite3.rst:714 -msgid "" -"If ``True``, the created SQL function is marked as `deterministic " -"`_, which allows SQLite to perform " -"additional optimizations." -msgstr "" - -#: ../../library/sqlite3.rst:719 -msgid "Added the *deterministic* parameter." -msgstr "" - -#: ../../library/sqlite3.rst:722 ../../library/sqlite3.rst:766 -#: ../../library/sqlite3.rst:834 ../../library/sqlite3.rst:1113 -#: ../../library/sqlite3.rst:1535 ../../library/sqlite3.rst:1578 -msgid "Example:" -msgstr "Contoh:" - -#: ../../library/sqlite3.rst:724 -msgid "" -">>> import hashlib\n" -">>> def md5sum(t):\n" -"... return hashlib.md5(t).hexdigest()\n" -">>> con = sqlite3.connect(\":memory:\")\n" -">>> con.create_function(\"md5\", 1, md5sum)\n" -">>> for row in con.execute(\"SELECT md5(?)\", (b\"foo\",)):\n" -"... print(row)\n" -"('acbd18db4cc2f85cedef654fccc4a4d8',)\n" -">>> con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:738 -msgid "" -"Passing *name*, *narg*, and *func* as keyword arguments is deprecated. These" -" parameters will become positional-only in Python 3.15." -msgstr "" - -#: ../../library/sqlite3.rst:744 -msgid "Create or remove a user-defined SQL aggregate function." -msgstr "" - -#: ../../library/sqlite3.rst:746 -msgid "The name of the SQL aggregate function." -msgstr "" - -#: ../../library/sqlite3.rst:749 -msgid "" -"The number of arguments the SQL aggregate function can accept. If ``-1``, it" -" may take any number of arguments." -msgstr "" - -#: ../../library/sqlite3.rst:753 -msgid "" -"A class must implement the following methods: * ``step()``: Add a row to " -"the aggregate. * ``finalize()``: Return the final result of the aggregate as" -" :ref:`a type natively supported by SQLite `. The number " -"of arguments that the ``step()`` method must accept is controlled by " -"*n_arg*. Set to ``None`` to remove an existing SQL aggregate function." -msgstr "" - -#: ../../library/sqlite3.rst:754 -msgid "A class must implement the following methods:" -msgstr "" - -#: ../../library/sqlite3.rst:756 -msgid "``step()``: Add a row to the aggregate." -msgstr "" - -#: ../../library/sqlite3.rst:757 ../../library/sqlite3.rst:818 -msgid "" -"``finalize()``: Return the final result of the aggregate as :ref:`a type " -"natively supported by SQLite `." -msgstr "" - -#: ../../library/sqlite3.rst:760 -msgid "" -"The number of arguments that the ``step()`` method must accept is controlled" -" by *n_arg*." -msgstr "" - -#: ../../library/sqlite3.rst:763 -msgid "Set to ``None`` to remove an existing SQL aggregate function." -msgstr "" - -#: ../../library/sqlite3.rst:768 -msgid "" -"class MySum:\n" -" def __init__(self):\n" -" self.count = 0\n" -"\n" -" def step(self, value):\n" -" self.count += value\n" -"\n" -" def finalize(self):\n" -" return self.count\n" -"\n" -"con = sqlite3.connect(\":memory:\")\n" -"con.create_aggregate(\"mysum\", 1, MySum)\n" -"cur = con.execute(\"CREATE TABLE test(i)\")\n" -"cur.execute(\"INSERT INTO test(i) VALUES(1)\")\n" -"cur.execute(\"INSERT INTO test(i) VALUES(2)\")\n" -"cur.execute(\"SELECT mysum(i) FROM test\")\n" -"print(cur.fetchone()[0])\n" -"\n" -"con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:797 -msgid "" -"Passing *name*, *n_arg*, and *aggregate_class* as keyword arguments is " -"deprecated. These parameters will become positional-only in Python 3.15." -msgstr "" - -#: ../../library/sqlite3.rst:803 -msgid "Create or remove a user-defined aggregate window function." -msgstr "" - -#: ../../library/sqlite3.rst:805 -msgid "The name of the SQL aggregate window function to create or remove." -msgstr "" - -#: ../../library/sqlite3.rst:808 -msgid "" -"The number of arguments the SQL aggregate window function can accept. If " -"``-1``, it may take any number of arguments." -msgstr "" - -#: ../../library/sqlite3.rst:812 -msgid "" -"A class that must implement the following methods: * ``step()``: Add a row " -"to the current window. * ``value()``: Return the current value of the " -"aggregate. * ``inverse()``: Remove a row from the current window. * " -"``finalize()``: Return the final result of the aggregate as :ref:`a type " -"natively supported by SQLite `. The number of arguments that" -" the ``step()`` and ``value()`` methods must accept is controlled by " -"*num_params*. Set to ``None`` to remove an existing SQL aggregate window " -"function." -msgstr "" - -#: ../../library/sqlite3.rst:813 -msgid "A class that must implement the following methods:" -msgstr "" - -#: ../../library/sqlite3.rst:815 -msgid "``step()``: Add a row to the current window." -msgstr "" - -#: ../../library/sqlite3.rst:816 -msgid "``value()``: Return the current value of the aggregate." -msgstr "" - -#: ../../library/sqlite3.rst:817 -msgid "``inverse()``: Remove a row from the current window." -msgstr "" - -#: ../../library/sqlite3.rst:821 -msgid "" -"The number of arguments that the ``step()`` and ``value()`` methods must " -"accept is controlled by *num_params*." -msgstr "" - -#: ../../library/sqlite3.rst:824 -msgid "Set to ``None`` to remove an existing SQL aggregate window function." -msgstr "" - -#: ../../library/sqlite3.rst:826 -msgid "" -"If used with a version of SQLite older than 3.25.0, which does not support " -"aggregate window functions." -msgstr "" - -#: ../../library/sqlite3.rst:836 -msgid "" -"# Example taken from https://www.sqlite.org/windowfunctions.html#udfwinfunc\n" -"class WindowSumInt:\n" -" def __init__(self):\n" -" self.count = 0\n" -"\n" -" def step(self, value):\n" -" \"\"\"Add a row to the current window.\"\"\"\n" -" self.count += value\n" -"\n" -" def value(self):\n" -" \"\"\"Return the current value of the aggregate.\"\"\"\n" -" return self.count\n" -"\n" -" def inverse(self, value):\n" -" \"\"\"Remove a row from the current window.\"\"\"\n" -" self.count -= value\n" -"\n" -" def finalize(self):\n" -" \"\"\"Return the final value of the aggregate.\n" -"\n" -" Any clean-up actions should be placed here.\n" -" \"\"\"\n" -" return self.count\n" -"\n" -"\n" -"con = sqlite3.connect(\":memory:\")\n" -"cur = con.execute(\"CREATE TABLE test(x, y)\")\n" -"values = [\n" -" (\"a\", 4),\n" -" (\"b\", 5),\n" -" (\"c\", 3),\n" -" (\"d\", 8),\n" -" (\"e\", 1),\n" -"]\n" -"cur.executemany(\"INSERT INTO test VALUES(?, ?)\", values)\n" -"con.create_window_function(\"sumint\", 1, WindowSumInt)\n" -"cur.execute(\"\"\"\n" -" SELECT x, sumint(y) OVER (\n" -" ORDER BY x ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING\n" -" ) AS sum_y\n" -" FROM test ORDER BY x\n" -"\"\"\")\n" -"print(cur.fetchall())\n" -"con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:890 -msgid "" -"Create a collation named *name* using the collating function *callable*. " -"*callable* is passed two :class:`string ` arguments, and it should " -"return an :class:`integer `:" -msgstr "" - -#: ../../library/sqlite3.rst:894 -msgid "``1`` if the first is ordered higher than the second" -msgstr "" - -#: ../../library/sqlite3.rst:895 -msgid "``-1`` if the first is ordered lower than the second" -msgstr "" - -#: ../../library/sqlite3.rst:896 -msgid "``0`` if they are ordered equal" -msgstr "" - -#: ../../library/sqlite3.rst:898 -msgid "The following example shows a reverse sorting collation:" -msgstr "" - -#: ../../library/sqlite3.rst:900 -msgid "" -"def collate_reverse(string1, string2):\n" -" if string1 == string2:\n" -" return 0\n" -" elif string1 < string2:\n" -" return 1\n" -" else:\n" -" return -1\n" -"\n" -"con = sqlite3.connect(\":memory:\")\n" -"con.create_collation(\"reverse\", collate_reverse)\n" -"\n" -"cur = con.execute(\"CREATE TABLE test(x)\")\n" -"cur.executemany(\"INSERT INTO test(x) VALUES(?)\", [(\"a\",), (\"b\",)])\n" -"cur.execute(\"SELECT x FROM test ORDER BY x COLLATE reverse\")\n" -"for row in cur:\n" -" print(row)\n" -"con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:926 -msgid "Remove a collation function by setting *callable* to ``None``." -msgstr "" - -#: ../../library/sqlite3.rst:928 -msgid "" -"The collation name can contain any Unicode character. Earlier, only ASCII " -"characters were allowed." -msgstr "" - -#: ../../library/sqlite3.rst:935 -msgid "" -"Call this method from a different thread to abort any queries that might be " -"executing on the connection. Aborted queries will raise an " -":exc:`OperationalError`." -msgstr "" - -#: ../../library/sqlite3.rst:942 -msgid "" -"Register :term:`callable` *authorizer_callback* to be invoked for each " -"attempt to access a column of a table in the database. The callback should " -"return one of :const:`SQLITE_OK`, :const:`SQLITE_DENY`, or " -":const:`SQLITE_IGNORE` to signal how access to the column should be handled " -"by the underlying SQLite library." -msgstr "" - -#: ../../library/sqlite3.rst:949 -msgid "" -"The first argument to the callback signifies what kind of operation is to be" -" authorized. The second and third argument will be arguments or ``None`` " -"depending on the first argument. The 4th argument is the name of the " -"database (\"main\", \"temp\", etc.) if applicable. The 5th argument is the " -"name of the inner-most trigger or view that is responsible for the access " -"attempt or ``None`` if this access attempt is directly from input SQL code." -msgstr "" - -#: ../../library/sqlite3.rst:956 -msgid "" -"Please consult the SQLite documentation about the possible values for the " -"first argument and the meaning of the second and third argument depending on" -" the first one. All necessary constants are available in the :mod:`!sqlite3`" -" module." -msgstr "" - -#: ../../library/sqlite3.rst:960 -msgid "Passing ``None`` as *authorizer_callback* will disable the authorizer." -msgstr "" - -#: ../../library/sqlite3.rst:962 -msgid "Added support for disabling the authorizer using ``None``." -msgstr "" - -#: ../../library/sqlite3.rst:965 -msgid "" -"Passing *authorizer_callback* as a keyword argument is deprecated. The " -"parameter will become positional-only in Python 3.15." -msgstr "" - -#: ../../library/sqlite3.rst:972 -msgid "" -"Register :term:`callable` *progress_handler* to be invoked for every *n* " -"instructions of the SQLite virtual machine. This is useful if you want to " -"get called from SQLite during long-running operations, for example to update" -" a GUI." -msgstr "" - -#: ../../library/sqlite3.rst:977 -msgid "" -"If you want to clear any previously installed progress handler, call the " -"method with ``None`` for *progress_handler*." -msgstr "" - -#: ../../library/sqlite3.rst:980 -msgid "" -"Returning a non-zero value from the handler function will terminate the " -"currently executing query and cause it to raise a :exc:`DatabaseError` " -"exception." -msgstr "" - -#: ../../library/sqlite3.rst:984 -msgid "" -"Passing *progress_handler* as a keyword argument is deprecated. The " -"parameter will become positional-only in Python 3.15." -msgstr "" - -#: ../../library/sqlite3.rst:991 -msgid "" -"Register :term:`callable` *trace_callback* to be invoked for each SQL " -"statement that is actually executed by the SQLite backend." -msgstr "" - -#: ../../library/sqlite3.rst:994 -msgid "" -"The only argument passed to the callback is the statement (as :class:`str`) " -"that is being executed. The return value of the callback is ignored. Note " -"that the backend does not only run statements passed to the " -":meth:`Cursor.execute` methods. Other sources include the :ref:`transaction" -" management ` of the :mod:`!sqlite3` " -"module and the execution of triggers defined in the current database." -msgstr "" - -#: ../../library/sqlite3.rst:1002 -msgid "Passing ``None`` as *trace_callback* will disable the trace callback." -msgstr "" - -#: ../../library/sqlite3.rst:1005 -msgid "" -"Exceptions raised in the trace callback are not propagated. As a development" -" and debugging aid, use :meth:`~sqlite3.enable_callback_tracebacks` to " -"enable printing tracebacks from exceptions raised in the trace callback." -msgstr "" - -#: ../../library/sqlite3.rst:1012 -msgid "" -"Passing *trace_callback* as a keyword argument is deprecated. The parameter " -"will become positional-only in Python 3.15." -msgstr "" - -#: ../../library/sqlite3.rst:1019 -msgid "" -"Enable the SQLite engine to load SQLite extensions from shared libraries if " -"*enabled* is ``True``; else, disallow loading SQLite extensions. SQLite " -"extensions can define new functions, aggregates or whole new virtual table " -"implementations. One well-known extension is the fulltext-search extension " -"distributed with SQLite." -msgstr "" - -#: ../../library/sqlite3.rst:1028 -msgid "" -"The :mod:`!sqlite3` module is not built with loadable extension support by " -"default, because some platforms (notably macOS) have SQLite libraries which " -"are compiled without this feature. To get loadable extension support, you " -"must pass the :option:`--enable-loadable-sqlite-extensions` option to " -":program:`configure`." -msgstr "" - -#: ../../library/sqlite3.rst:1035 -msgid "" -"Raises an :ref:`auditing event ` ``sqlite3.enable_load_extension``" -" with arguments ``connection``, ``enabled``." -msgstr "" - -#: ../../library/sqlite3.rst:1039 -msgid "Added the ``sqlite3.enable_load_extension`` auditing event." -msgstr "" - -#: ../../library/sqlite3.rst:1045 -msgid "" -"con.enable_load_extension(True)\n" -"\n" -"# Load the fulltext search extension\n" -"con.execute(\"select load_extension('./fts3.so')\")\n" -"\n" -"# alternatively you can load the extension using an API call:\n" -"# con.load_extension(\"./fts3.so\")\n" -"\n" -"# disable extension loading again\n" -"con.enable_load_extension(False)\n" -"\n" -"# example from SQLite wiki\n" -"con.execute(\"CREATE VIRTUAL TABLE recipe USING fts3(name, ingredients)\")\n" -"con.executescript(\"\"\"\n" -" INSERT INTO recipe (name, ingredients) VALUES('broccoli stew', 'broccoli peppers cheese tomatoes');\n" -" INSERT INTO recipe (name, ingredients) VALUES('pumpkin stew', 'pumpkin onions garlic celery');\n" -" INSERT INTO recipe (name, ingredients) VALUES('broccoli pie', 'broccoli cheese onions flour');\n" -" INSERT INTO recipe (name, ingredients) VALUES('pumpkin pie', 'pumpkin sugar flour butter');\n" -" \"\"\")\n" -"for row in con.execute(\"SELECT rowid, name, ingredients FROM recipe WHERE name MATCH 'pie'\"):\n" -" print(row)" -msgstr "" - -#: ../../library/sqlite3.rst:1071 -msgid "" -"Load an SQLite extension from a shared library. Enable extension loading " -"with :meth:`enable_load_extension` before calling this method." -msgstr "" - -#: ../../library/sqlite3.rst:1075 -msgid "The path to the SQLite extension." -msgstr "" - -#: ../../library/sqlite3.rst:1079 -msgid "" -"Entry point name. If ``None`` (the default), SQLite will come up with an " -"entry point name of its own; see the SQLite docs `Loading an Extension`_ for" -" details." -msgstr "" - -#: ../../library/sqlite3.rst:1088 -msgid "" -"Raises an :ref:`auditing event ` ``sqlite3.load_extension`` with " -"arguments ``connection``, ``path``." -msgstr "" - -#: ../../library/sqlite3.rst:1092 -msgid "Added the ``sqlite3.load_extension`` auditing event." -msgstr "" - -#: ../../library/sqlite3.rst:1095 -msgid "Added the *entrypoint* parameter." -msgstr "" - -#: ../../library/sqlite3.rst:1102 -msgid "" -"Return an :term:`iterator` to dump the database as SQL source code. Useful " -"when saving an in-memory database for later restoration. Similar to the " -"``.dump`` command in the :program:`sqlite3` shell." -msgstr "" - -#: ../../library/sqlite3.rst:1106 -msgid "" -"An optional ``LIKE`` pattern for database objects to dump, e.g. " -"``prefix_%``. If ``None`` (the default), all database objects will be " -"included." -msgstr "" - -#: ../../library/sqlite3.rst:1115 -msgid "" -"# Convert file example.db to SQL dump file dump.sql\n" -"con = sqlite3.connect('example.db')\n" -"with open('dump.sql', 'w') as f:\n" -" for line in con.iterdump():\n" -" f.write('%s\\n' % line)\n" -"con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:1126 ../../library/sqlite3.rst:1200 -msgid ":ref:`sqlite3-howto-encoding`" -msgstr "" - -#: ../../library/sqlite3.rst:1128 -msgid "Added the *filter* parameter." -msgstr "" - -#: ../../library/sqlite3.rst:1133 -msgid "Create a backup of an SQLite database." -msgstr "" - -#: ../../library/sqlite3.rst:1135 -msgid "" -"Works even if the database is being accessed by other clients or " -"concurrently by the same connection." -msgstr "" - -#: ../../library/sqlite3.rst:1138 -msgid "The database connection to save the backup to." -msgstr "" - -#: ../../library/sqlite3.rst:1141 -msgid "" -"The number of pages to copy at a time. If equal to or less than ``0``, the " -"entire database is copied in a single step. Defaults to ``-1``." -msgstr "" - -#: ../../library/sqlite3.rst:1147 -msgid "" -"If set to a :term:`callable`, it is invoked with three integer arguments for" -" every backup iteration: the *status* of the last iteration, the *remaining*" -" number of pages still to be copied, and the *total* number of pages. " -"Defaults to ``None``." -msgstr "" - -#: ../../library/sqlite3.rst:1156 -msgid "" -"The name of the database to back up. Either ``\"main\"`` (the default) for " -"the main database, ``\"temp\"`` for the temporary database, or the name of a" -" custom database as attached using the ``ATTACH DATABASE`` SQL statement." -msgstr "" - -#: ../../library/sqlite3.rst:1163 -msgid "" -"The number of seconds to sleep between successive attempts to back up " -"remaining pages." -msgstr "" - -#: ../../library/sqlite3.rst:1167 -msgid "Example 1, copy an existing database into another:" -msgstr "" - -#: ../../library/sqlite3.rst:1169 -msgid "" -"def progress(status, remaining, total):\n" -" print(f'Copied {total-remaining} of {total} pages...')\n" -"\n" -"src = sqlite3.connect('example.db')\n" -"dst = sqlite3.connect('backup.db')\n" -"with dst:\n" -" src.backup(dst, pages=1, progress=progress)\n" -"dst.close()\n" -"src.close()" -msgstr "" - -#: ../../library/sqlite3.rst:1186 -msgid "Example 2, copy an existing database into a transient copy:" -msgstr "" - -#: ../../library/sqlite3.rst:1188 -msgid "" -"src = sqlite3.connect('example.db')\n" -"dst = sqlite3.connect(':memory:')\n" -"src.backup(dst)\n" -"dst.close()\n" -"src.close()" -msgstr "" - -#: ../../library/sqlite3.rst:1204 -msgid "Get a connection runtime limit." -msgstr "" - -#: ../../library/sqlite3.rst:1206 -msgid "The `SQLite limit category`_ to be queried." -msgstr "" - -#: ../../library/sqlite3.rst:1211 ../../library/sqlite3.rst:1248 -msgid "If *category* is not recognised by the underlying SQLite library." -msgstr "" - -#: ../../library/sqlite3.rst:1214 -msgid "" -"Example, query the maximum length of an SQL statement for " -":class:`Connection` ``con`` (the default is 1000000000):" -msgstr "" - -#: ../../library/sqlite3.rst:1224 -msgid "" -">>> con.getlimit(sqlite3.SQLITE_LIMIT_SQL_LENGTH)\n" -"1000000000" -msgstr "" - -#: ../../library/sqlite3.rst:1234 -msgid "" -"Set a connection runtime limit. Attempts to increase a limit above its hard " -"upper bound are silently truncated to the hard upper bound. Regardless of " -"whether or not the limit was changed, the prior value of the limit is " -"returned." -msgstr "" - -#: ../../library/sqlite3.rst:1239 -msgid "The `SQLite limit category`_ to be set." -msgstr "" - -#: ../../library/sqlite3.rst:1242 -msgid "" -"The value of the new limit. If negative, the current limit is unchanged." -msgstr "" - -#: ../../library/sqlite3.rst:1251 -msgid "" -"Example, limit the number of attached databases to 1 for :class:`Connection`" -" ``con`` (the default limit is 10):" -msgstr "" - -#: ../../library/sqlite3.rst:1254 -msgid "" -">>> con.setlimit(sqlite3.SQLITE_LIMIT_ATTACHED, 1)\n" -"10\n" -">>> con.getlimit(sqlite3.SQLITE_LIMIT_ATTACHED)\n" -"1" -msgstr "" - -#: ../../library/sqlite3.rst:1272 -msgid "Query a boolean connection configuration option." -msgstr "" - -#: ../../library/sqlite3.rst:1274 ../../library/sqlite3.rst:1285 -msgid "A :ref:`SQLITE_DBCONFIG code `." -msgstr "" - -#: ../../library/sqlite3.rst:1283 -msgid "Set a boolean connection configuration option." -msgstr "" - -#: ../../library/sqlite3.rst:1288 -msgid "" -"``True`` if the configuration option should be enabled (default); ``False`` " -"if it should be disabled." -msgstr "" - -#: ../../library/sqlite3.rst:1296 -msgid "" -"Serialize a database into a :class:`bytes` object. For an ordinary on-disk " -"database file, the serialization is just a copy of the disk file. For an " -"in-memory database or a \"temp\" database, the serialization is the same " -"sequence of bytes which would be written to disk if that database were " -"backed up to disk." -msgstr "" - -#: ../../library/sqlite3.rst:1302 -msgid "The database name to be serialized. Defaults to ``\"main\"``." -msgstr "" - -#: ../../library/sqlite3.rst:1310 -msgid "" -"This method is only available if the underlying SQLite library has the " -"serialize API." -msgstr "" - -#: ../../library/sqlite3.rst:1318 -msgid "" -"Deserialize a :meth:`serialized ` database into a " -":class:`Connection`. This method causes the database connection to " -"disconnect from database *name*, and reopen *name* as an in-memory database " -"based on the serialization contained in *data*." -msgstr "" - -#: ../../library/sqlite3.rst:1324 -msgid "A serialized database." -msgstr "" - -#: ../../library/sqlite3.rst:1327 -msgid "The database name to deserialize into. Defaults to ``\"main\"``." -msgstr "" - -#: ../../library/sqlite3.rst:1331 -msgid "" -"If the database connection is currently involved in a read transaction or a " -"backup operation." -msgstr "" - -#: ../../library/sqlite3.rst:1335 -msgid "If *data* does not contain a valid SQLite database." -msgstr "" - -#: ../../library/sqlite3.rst:1338 -msgid "If :func:`len(data) ` is larger than ``2**63 - 1``." -msgstr "" - -#: ../../library/sqlite3.rst:1343 -msgid "" -"This method is only available if the underlying SQLite library has the " -"deserialize API." -msgstr "" - -#: ../../library/sqlite3.rst:1350 -msgid "" -"This attribute controls :pep:`249`-compliant transaction behaviour. " -":attr:`!autocommit` has three allowed values:" -msgstr "" - -#: ../../library/sqlite3.rst:1353 -msgid "" -"``False``: Select :pep:`249`-compliant transaction behaviour, implying that " -":mod:`!sqlite3` ensures a transaction is always open. Use :meth:`commit` and" -" :meth:`rollback` to close transactions." -msgstr "" - -#: ../../library/sqlite3.rst:1357 -msgid "This is the recommended value of :attr:`!autocommit`." -msgstr "" - -#: ../../library/sqlite3.rst:1359 -msgid "" -"``True``: Use SQLite's `autocommit mode`_. :meth:`commit` and " -":meth:`rollback` have no effect in this mode." -msgstr "" - -#: ../../library/sqlite3.rst:1362 -msgid "" -":data:`LEGACY_TRANSACTION_CONTROL`: Pre-Python 3.12 " -"(non-:pep:`249`-compliant) transaction control. See :attr:`isolation_level` " -"for more details." -msgstr "" - -#: ../../library/sqlite3.rst:1366 -msgid "This is currently the default value of :attr:`!autocommit`." -msgstr "" - -#: ../../library/sqlite3.rst:1368 -msgid "" -"Changing :attr:`!autocommit` to ``False`` will open a new transaction, and " -"changing it to ``True`` will commit any pending transaction." -msgstr "" - -#: ../../library/sqlite3.rst:1371 -msgid "See :ref:`sqlite3-transaction-control-autocommit` for more details." -msgstr "" - -#: ../../library/sqlite3.rst:1375 -msgid "" -"The :attr:`isolation_level` attribute has no effect unless " -":attr:`autocommit` is :data:`LEGACY_TRANSACTION_CONTROL`." -msgstr "" - -#: ../../library/sqlite3.rst:1382 -msgid "" -"This read-only attribute corresponds to the low-level SQLite `autocommit " -"mode`_." -msgstr "" - -#: ../../library/sqlite3.rst:1385 -msgid "" -"``True`` if a transaction is active (there are uncommitted changes), " -"``False`` otherwise." -msgstr "" - -#: ../../library/sqlite3.rst:1392 -msgid "" -"Controls the :ref:`legacy transaction handling mode ` of :mod:`!sqlite3`. If set to ``None``, " -"transactions are never implicitly opened. If set to one of ``\"DEFERRED\"``," -" ``\"IMMEDIATE\"``, or ``\"EXCLUSIVE\"``, corresponding to the underlying " -"`SQLite transaction behaviour`_, :ref:`implicit transaction management " -"` is performed." -msgstr "" - -#: ../../library/sqlite3.rst:1400 -msgid "" -"If not overridden by the *isolation_level* parameter of :func:`connect`, the" -" default is ``\"\"``, which is an alias for ``\"DEFERRED\"``." -msgstr "" - -#: ../../library/sqlite3.rst:1405 -msgid "" -"Using :attr:`autocommit` to control transaction handling is recommended over" -" using :attr:`!isolation_level`. :attr:`!isolation_level` has no effect " -"unless :attr:`autocommit` is set to :data:`LEGACY_TRANSACTION_CONTROL` (the " -"default)." -msgstr "" - -#: ../../library/sqlite3.rst:1412 -msgid "" -"The initial :attr:`~Cursor.row_factory` for :class:`Cursor` objects created " -"from this connection. Assigning to this attribute does not affect the " -":attr:`!row_factory` of existing cursors belonging to this connection, only " -"new ones. Is ``None`` by default, meaning each row is returned as a " -":class:`tuple`." -msgstr "" - -#: ../../library/sqlite3.rst:1419 ../../library/sqlite3.rst:1705 -#: ../../library/sqlite3.rst:1728 -msgid "See :ref:`sqlite3-howto-row-factory` for more details." -msgstr "" - -#: ../../library/sqlite3.rst:1423 -msgid "" -"A :term:`callable` that accepts a :class:`bytes` parameter and returns a " -"text representation of it. The callable is invoked for SQLite values with " -"the ``TEXT`` data type. By default, this attribute is set to :class:`str`." -msgstr "" - -#: ../../library/sqlite3.rst:1428 -msgid "See :ref:`sqlite3-howto-encoding` for more details." -msgstr "" - -#: ../../library/sqlite3.rst:1432 -msgid "" -"Return the total number of database rows that have been modified, inserted, " -"or deleted since the database connection was opened." -msgstr "" - -#: ../../library/sqlite3.rst:1439 -msgid "Cursor objects" -msgstr "" - -#: ../../library/sqlite3.rst:1441 -msgid "" -"A ``Cursor`` object represents a `database cursor`_ which is used to execute" -" SQL statements, and manage the context of a fetch operation. Cursors are " -"created using :meth:`Connection.cursor`, or by using any of the " -":ref:`connection shortcut methods `." -msgstr "" - -#: ../../library/sqlite3.rst:1448 -msgid "" -"Cursor objects are :term:`iterators `, meaning that if you " -":meth:`~Cursor.execute` a ``SELECT`` query, you can simply iterate over the " -"cursor to fetch the resulting rows:" -msgstr "" - -#: ../../library/sqlite3.rst:1459 -msgid "" -"for row in cur.execute(\"SELECT t FROM data\"):\n" -" print(row)" -msgstr "" - -#: ../../library/sqlite3.rst:1473 -msgid "A :class:`Cursor` instance has the following attributes and methods." -msgstr "" - -#: ../../library/sqlite3.rst:1480 -msgid "" -"Execute a single SQL statement, optionally binding Python values using " -":ref:`placeholders `." -msgstr "" - -#: ../../library/sqlite3.rst:1484 -msgid "A single SQL statement." -msgstr "" - -#: ../../library/sqlite3.rst:1487 -msgid "" -"Python values to bind to placeholders in *sql*. A :class:`!dict` if named " -"placeholders are used. A :term:`!sequence` if unnamed placeholders are used." -" See :ref:`sqlite3-placeholders`." -msgstr "" - -#: ../../library/sqlite3.rst:1494 -msgid "If *sql* contains more than one SQL statement." -msgstr "" - -#: ../../library/sqlite3.rst:1497 -msgid "" -"If :attr:`~Connection.autocommit` is :data:`LEGACY_TRANSACTION_CONTROL`, " -":attr:`~Connection.isolation_level` is not ``None``, *sql* is an ``INSERT``," -" ``UPDATE``, ``DELETE``, or ``REPLACE`` statement, and there is no open " -"transaction, a transaction is implicitly opened before executing *sql*." -msgstr "" - -#: ../../library/sqlite3.rst:1506 -msgid "" -":exc:`DeprecationWarning` is emitted if :ref:`named placeholders " -"` are used and *parameters* is a sequence instead of a" -" :class:`dict`. Starting with Python 3.14, :exc:`ProgrammingError` will be " -"raised instead." -msgstr "" - -#: ../../library/sqlite3.rst:1512 -msgid "Use :meth:`executescript` to execute multiple SQL statements." -msgstr "" - -#: ../../library/sqlite3.rst:1516 -msgid "" -"For every item in *parameters*, repeatedly execute the :ref:`parameterized " -"` :abbr:`DML (Data Manipulation Language)` SQL " -"statement *sql*." -msgstr "" - -#: ../../library/sqlite3.rst:1520 -msgid "" -"Uses the same implicit transaction handling as :meth:`~Cursor.execute`." -msgstr "" - -#: ../../library/sqlite3.rst:1522 -msgid "A single SQL DML statement." -msgstr "" - -#: ../../library/sqlite3.rst:1525 -msgid "" -"An :term:`!iterable` of parameters to bind with the placeholders in *sql*. " -"See :ref:`sqlite3-placeholders`." -msgstr "" - -#: ../../library/sqlite3.rst:1531 -msgid "" -"If *sql* contains more than one SQL statement, or is not a DML statement." -msgstr "" - -#: ../../library/sqlite3.rst:1537 -msgid "" -"rows = [\n" -" (\"row1\",),\n" -" (\"row2\",),\n" -"]\n" -"# cur is an sqlite3.Cursor object\n" -"cur.executemany(\"INSERT INTO data VALUES(?)\", rows)" -msgstr "" - -#: ../../library/sqlite3.rst:1552 -msgid "" -"Any resulting rows are discarded, including DML statements with `RETURNING " -"clauses`_." -msgstr "" - -#: ../../library/sqlite3.rst:1559 -msgid "" -":exc:`DeprecationWarning` is emitted if :ref:`named placeholders " -"` are used and the items in *parameters* are sequences" -" instead of :class:`dict`\\s. Starting with Python 3.14, " -":exc:`ProgrammingError` will be raised instead." -msgstr "" - -#: ../../library/sqlite3.rst:1568 -msgid "" -"Execute the SQL statements in *sql_script*. If the " -":attr:`~Connection.autocommit` is :data:`LEGACY_TRANSACTION_CONTROL` and " -"there is a pending transaction, an implicit ``COMMIT`` statement is executed" -" first. No other implicit transaction control is performed; any transaction " -"control must be added to *sql_script*." -msgstr "" - -#: ../../library/sqlite3.rst:1576 -msgid "*sql_script* must be a :class:`string `." -msgstr "" - -#: ../../library/sqlite3.rst:1580 -msgid "" -"# cur is an sqlite3.Cursor object\n" -"cur.executescript(\"\"\"\n" -" BEGIN;\n" -" CREATE TABLE person(firstname, lastname, age);\n" -" CREATE TABLE book(title, author, published);\n" -" CREATE TABLE publisher(name, address);\n" -" COMMIT;\n" -"\"\"\")" -msgstr "" - -#: ../../library/sqlite3.rst:1593 -msgid "" -"If :attr:`~Cursor.row_factory` is ``None``, return the next row query result" -" set as a :class:`tuple`. Else, pass it to the row factory and return its " -"result. Return ``None`` if no more data is available." -msgstr "" - -#: ../../library/sqlite3.rst:1601 -msgid "" -"Return the next set of rows of a query result as a :class:`list`. Return an " -"empty list if no more rows are available." -msgstr "" - -#: ../../library/sqlite3.rst:1604 -msgid "" -"The number of rows to fetch per call is specified by the *size* parameter. " -"If *size* is not given, :attr:`arraysize` determines the number of rows to " -"be fetched. If fewer than *size* rows are available, as many rows as are " -"available are returned." -msgstr "" - -#: ../../library/sqlite3.rst:1610 -msgid "" -"Note there are performance considerations involved with the *size* " -"parameter. For optimal performance, it is usually best to use the arraysize " -"attribute. If the *size* parameter is used, then it is best for it to retain" -" the same value from one :meth:`fetchmany` call to the next." -msgstr "" - -#: ../../library/sqlite3.rst:1617 -msgid "" -"Return all (remaining) rows of a query result as a :class:`list`. Return an " -"empty list if no rows are available. Note that the :attr:`arraysize` " -"attribute can affect the performance of this operation." -msgstr "" - -#: ../../library/sqlite3.rst:1624 -msgid "Close the cursor now (rather than whenever ``__del__`` is called)." -msgstr "" - -#: ../../library/sqlite3.rst:1626 -msgid "" -"The cursor will be unusable from this point forward; a " -":exc:`ProgrammingError` exception will be raised if any operation is " -"attempted with the cursor." -msgstr "" - -#: ../../library/sqlite3.rst:1631 ../../library/sqlite3.rst:1635 -msgid "Required by the DB-API. Does nothing in :mod:`!sqlite3`." -msgstr "" - -#: ../../library/sqlite3.rst:1639 -msgid "" -"Read/write attribute that controls the number of rows returned by " -":meth:`fetchmany`. The default value is 1 which means a single row would be " -"fetched per call." -msgstr "" - -#: ../../library/sqlite3.rst:1644 -msgid "" -"Read-only attribute that provides the SQLite database :class:`Connection` " -"belonging to the cursor. A :class:`Cursor` object created by calling " -":meth:`con.cursor() ` will have a :attr:`connection` " -"attribute that refers to *con*:" -msgstr "" - -#: ../../library/sqlite3.rst:1649 -msgid "" -">>> con = sqlite3.connect(\":memory:\")\n" -">>> cur = con.cursor()\n" -">>> cur.connection == con\n" -"True\n" -">>> con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:1659 -msgid "" -"Read-only attribute that provides the column names of the last query. To " -"remain compatible with the Python DB API, it returns a 7-tuple for each " -"column where the last six items of each tuple are ``None``." -msgstr "" - -#: ../../library/sqlite3.rst:1663 -msgid "It is set for ``SELECT`` statements without any matching rows as well." -msgstr "" - -#: ../../library/sqlite3.rst:1667 -msgid "" -"Read-only attribute that provides the row id of the last inserted row. It is" -" only updated after successful ``INSERT`` or ``REPLACE`` statements using " -"the :meth:`execute` method. For other statements, after :meth:`executemany`" -" or :meth:`executescript`, or if the insertion failed, the value of " -"``lastrowid`` is left unchanged. The initial value of ``lastrowid`` is " -"``None``." -msgstr "" - -#: ../../library/sqlite3.rst:1675 -msgid "Inserts into ``WITHOUT ROWID`` tables are not recorded." -msgstr "" - -#: ../../library/sqlite3.rst:1677 -msgid "Added support for the ``REPLACE`` statement." -msgstr "" - -#: ../../library/sqlite3.rst:1682 -msgid "" -"Read-only attribute that provides the number of modified rows for " -"``INSERT``, ``UPDATE``, ``DELETE``, and ``REPLACE`` statements; is ``-1`` " -"for other statements, including :abbr:`CTE (Common Table Expression)` " -"queries. It is only updated by the :meth:`execute` and :meth:`executemany` " -"methods, after the statement has run to completion. This means that any " -"resulting rows must be fetched in order for :attr:`!rowcount` to be updated." -msgstr "" - -#: ../../library/sqlite3.rst:1693 -msgid "" -"Control how a row fetched from this :class:`!Cursor` is represented. If " -"``None``, a row is represented as a :class:`tuple`. Can be set to the " -"included :class:`sqlite3.Row`; or a :term:`callable` that accepts two " -"arguments, a :class:`Cursor` object and the :class:`!tuple` of row values, " -"and returns a custom object representing an SQLite row." -msgstr "" - -#: ../../library/sqlite3.rst:1700 -msgid "" -"Defaults to what :attr:`Connection.row_factory` was set to when the " -":class:`!Cursor` was created. Assigning to this attribute does not affect " -":attr:`Connection.row_factory` of the parent connection." -msgstr "" - -#: ../../library/sqlite3.rst:1716 -msgid "Row objects" -msgstr "" - -#: ../../library/sqlite3.rst:1720 -msgid "" -"A :class:`!Row` instance serves as a highly optimized " -":attr:`~Connection.row_factory` for :class:`Connection` objects. It supports" -" iteration, equality testing, :func:`len`, and :term:`mapping` access by " -"column name and index." -msgstr "" - -#: ../../library/sqlite3.rst:1725 -msgid "" -"Two :class:`!Row` objects compare equal if they have identical column names " -"and values." -msgstr "" - -#: ../../library/sqlite3.rst:1732 -msgid "" -"Return a :class:`list` of column names as :class:`strings `. " -"Immediately after a query, it is the first member of each tuple in " -":attr:`Cursor.description`." -msgstr "" - -#: ../../library/sqlite3.rst:1736 -msgid "Added support of slicing." -msgstr "Menambahkan dukungan dari pemotongan." - -#: ../../library/sqlite3.rst:1743 -msgid "Blob objects" -msgstr "" - -#: ../../library/sqlite3.rst:1749 -msgid "" -"A :class:`Blob` instance is a :term:`file-like object` that can read and " -"write data in an SQLite :abbr:`BLOB (Binary Large OBject)`. Call " -":func:`len(blob) ` to get the size (number of bytes) of the blob. Use " -"indices and :term:`slices ` for direct access to the blob data." -msgstr "" - -#: ../../library/sqlite3.rst:1754 -msgid "" -"Use the :class:`Blob` as a :term:`context manager` to ensure that the blob " -"handle is closed after use." -msgstr "" - -#: ../../library/sqlite3.rst:1757 -msgid "" -"con = sqlite3.connect(\":memory:\")\n" -"con.execute(\"CREATE TABLE test(blob_col blob)\")\n" -"con.execute(\"INSERT INTO test(blob_col) VALUES(zeroblob(13))\")\n" -"\n" -"# Write to our blob, using two write operations:\n" -"with con.blobopen(\"test\", \"blob_col\", 1) as blob:\n" -" blob.write(b\"hello, \")\n" -" blob.write(b\"world.\")\n" -" # Modify the first and last bytes of our blob\n" -" blob[0] = ord(\"H\")\n" -" blob[-1] = ord(\"!\")\n" -"\n" -"# Read the contents of our blob\n" -"with con.blobopen(\"test\", \"blob_col\", 1) as blob:\n" -" greeting = blob.read()\n" -"\n" -"print(greeting) # outputs \"b'Hello, world!'\"\n" -"con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:1785 -msgid "Close the blob." -msgstr "" - -#: ../../library/sqlite3.rst:1787 -msgid "" -"The blob will be unusable from this point onward. An " -":class:`~sqlite3.Error` (or subclass) exception will be raised if any " -"further operation is attempted with the blob." -msgstr "" - -#: ../../library/sqlite3.rst:1793 -msgid "" -"Read *length* bytes of data from the blob at the current offset position. If" -" the end of the blob is reached, the data up to :abbr:`EOF (End of File)` " -"will be returned. When *length* is not specified, or is negative, " -":meth:`~Blob.read` will read until the end of the blob." -msgstr "" - -#: ../../library/sqlite3.rst:1801 -msgid "" -"Write *data* to the blob at the current offset. This function cannot change" -" the blob length. Writing beyond the end of the blob will raise " -":exc:`ValueError`." -msgstr "" - -#: ../../library/sqlite3.rst:1807 -msgid "Return the current access position of the blob." -msgstr "" - -#: ../../library/sqlite3.rst:1811 -msgid "" -"Set the current access position of the blob to *offset*. The *origin* " -"argument defaults to :const:`os.SEEK_SET` (absolute blob positioning). Other" -" values for *origin* are :const:`os.SEEK_CUR` (seek relative to the current " -"position) and :const:`os.SEEK_END` (seek relative to the blob’s end)." -msgstr "" - -#: ../../library/sqlite3.rst:1819 -msgid "PrepareProtocol objects" -msgstr "" - -#: ../../library/sqlite3.rst:1823 -msgid "" -"The PrepareProtocol type's single purpose is to act as a :pep:`246` style " -"adaption protocol for objects that can :ref:`adapt themselves " -"` to :ref:`native SQLite types `." -msgstr "" - -#: ../../library/sqlite3.rst:1831 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/sqlite3.rst:1833 -msgid "The exception hierarchy is defined by the DB-API 2.0 (:pep:`249`)." -msgstr "" - -#: ../../library/sqlite3.rst:1837 -msgid "" -"This exception is not currently raised by the :mod:`!sqlite3` module, but " -"may be raised by applications using :mod:`!sqlite3`, for example if a user-" -"defined function truncates data while inserting. ``Warning`` is a subclass " -"of :exc:`Exception`." -msgstr "" - -#: ../../library/sqlite3.rst:1844 -msgid "" -"The base class of the other exceptions in this module. Use this to catch all" -" errors with one single :keyword:`except` statement. ``Error`` is a subclass" -" of :exc:`Exception`." -msgstr "" - -#: ../../library/sqlite3.rst:1848 -msgid "" -"If the exception originated from within the SQLite library, the following " -"two attributes are added to the exception:" -msgstr "" - -#: ../../library/sqlite3.rst:1853 -msgid "" -"The numeric error code from the `SQLite API " -"`_" -msgstr "" - -#: ../../library/sqlite3.rst:1860 -msgid "" -"The symbolic name of the numeric error code from the `SQLite API " -"`_" -msgstr "" - -#: ../../library/sqlite3.rst:1867 -msgid "" -"Exception raised for misuse of the low-level SQLite C API. In other words, " -"if this exception is raised, it probably indicates a bug in the " -":mod:`!sqlite3` module. ``InterfaceError`` is a subclass of :exc:`Error`." -msgstr "" - -#: ../../library/sqlite3.rst:1874 -msgid "" -"Exception raised for errors that are related to the database. This serves as" -" the base exception for several types of database errors. It is only raised " -"implicitly through the specialised subclasses. ``DatabaseError`` is a " -"subclass of :exc:`Error`." -msgstr "" - -#: ../../library/sqlite3.rst:1881 -msgid "" -"Exception raised for errors caused by problems with the processed data, like" -" numeric values out of range, and strings which are too long. ``DataError`` " -"is a subclass of :exc:`DatabaseError`." -msgstr "" - -#: ../../library/sqlite3.rst:1887 -msgid "" -"Exception raised for errors that are related to the database's operation, " -"and not necessarily under the control of the programmer. For example, the " -"database path is not found, or a transaction could not be processed. " -"``OperationalError`` is a subclass of :exc:`DatabaseError`." -msgstr "" - -#: ../../library/sqlite3.rst:1895 -msgid "" -"Exception raised when the relational integrity of the database is affected, " -"e.g. a foreign key check fails. It is a subclass of :exc:`DatabaseError`." -msgstr "" - -#: ../../library/sqlite3.rst:1900 -msgid "" -"Exception raised when SQLite encounters an internal error. If this is " -"raised, it may indicate that there is a problem with the runtime SQLite " -"library. ``InternalError`` is a subclass of :exc:`DatabaseError`." -msgstr "" - -#: ../../library/sqlite3.rst:1907 -msgid "" -"Exception raised for :mod:`!sqlite3` API programming errors, for example " -"supplying the wrong number of bindings to a query, or trying to operate on a" -" closed :class:`Connection`. ``ProgrammingError`` is a subclass of " -":exc:`DatabaseError`." -msgstr "" - -#: ../../library/sqlite3.rst:1914 -msgid "" -"Exception raised in case a method or database API is not supported by the " -"underlying SQLite library. For example, setting *deterministic* to ``True`` " -"in :meth:`~Connection.create_function`, if the underlying SQLite library " -"does not support deterministic functions. ``NotSupportedError`` is a " -"subclass of :exc:`DatabaseError`." -msgstr "" - -#: ../../library/sqlite3.rst:1924 -msgid "SQLite and Python types" -msgstr "SQLite dan tipe Python" - -#: ../../library/sqlite3.rst:1926 -msgid "" -"SQLite natively supports the following types: ``NULL``, ``INTEGER``, " -"``REAL``, ``TEXT``, ``BLOB``." -msgstr "" - -#: ../../library/sqlite3.rst:1929 -msgid "" -"The following Python types can thus be sent to SQLite without any problem:" -msgstr "" - -#: ../../library/sqlite3.rst:1932 ../../library/sqlite3.rst:1949 -msgid "Python type" -msgstr "tipe Python" - -#: ../../library/sqlite3.rst:1932 ../../library/sqlite3.rst:1949 -msgid "SQLite type" -msgstr "tipe SQLite" - -#: ../../library/sqlite3.rst:1934 ../../library/sqlite3.rst:1951 -msgid "``None``" -msgstr "" - -#: ../../library/sqlite3.rst:1934 ../../library/sqlite3.rst:1951 -msgid "``NULL``" -msgstr "``NULL``" - -#: ../../library/sqlite3.rst:1936 ../../library/sqlite3.rst:1953 -msgid ":class:`int`" -msgstr ":class:`int`" - -#: ../../library/sqlite3.rst:1936 ../../library/sqlite3.rst:1953 -msgid "``INTEGER``" -msgstr "``INTEGER``" - -#: ../../library/sqlite3.rst:1938 ../../library/sqlite3.rst:1955 -msgid ":class:`float`" -msgstr ":class:`float`" - -#: ../../library/sqlite3.rst:1938 ../../library/sqlite3.rst:1955 -msgid "``REAL``" -msgstr "``REAL``" - -#: ../../library/sqlite3.rst:1940 -msgid ":class:`str`" -msgstr ":class:`str`" - -#: ../../library/sqlite3.rst:1940 ../../library/sqlite3.rst:1957 -msgid "``TEXT``" -msgstr "``TEXT``" - -#: ../../library/sqlite3.rst:1942 ../../library/sqlite3.rst:1960 -msgid ":class:`bytes`" -msgstr ":class:`bytes`" - -#: ../../library/sqlite3.rst:1942 ../../library/sqlite3.rst:1960 -msgid "``BLOB``" -msgstr "``BLOB``" - -#: ../../library/sqlite3.rst:1946 -msgid "This is how SQLite types are converted to Python types by default:" -msgstr "" - -#: ../../library/sqlite3.rst:1957 -msgid "depends on :attr:`~Connection.text_factory`, :class:`str` by default" -msgstr "" - -#: ../../library/sqlite3.rst:1963 -msgid "" -"The type system of the :mod:`!sqlite3` module is extensible in two ways: you" -" can store additional Python types in an SQLite database via :ref:`object " -"adapters `, and you can let the :mod:`!sqlite3` module " -"convert SQLite types to Python types via :ref:`converters " -"`." -msgstr "" - -#: ../../library/sqlite3.rst:1973 -msgid "Default adapters and converters (deprecated)" -msgstr "" - -#: ../../library/sqlite3.rst:1977 -msgid "" -"The default adapters and converters are deprecated as of Python 3.12. " -"Instead, use the :ref:`sqlite3-adapter-converter-recipes` and tailor them to" -" your needs." -msgstr "" - -#: ../../library/sqlite3.rst:1981 -msgid "The deprecated default adapters and converters consist of:" -msgstr "" - -#: ../../library/sqlite3.rst:1983 -msgid "" -"An adapter for :class:`datetime.date` objects to :class:`strings ` in " -"`ISO 8601`_ format." -msgstr "" - -#: ../../library/sqlite3.rst:1985 -msgid "" -"An adapter for :class:`datetime.datetime` objects to strings in ISO 8601 " -"format." -msgstr "" - -#: ../../library/sqlite3.rst:1987 -msgid "" -"A converter for :ref:`declared ` \"date\" types to " -":class:`datetime.date` objects." -msgstr "" - -#: ../../library/sqlite3.rst:1989 -msgid "" -"A converter for declared \"timestamp\" types to :class:`datetime.datetime` " -"objects. Fractional parts will be truncated to 6 digits (microsecond " -"precision)." -msgstr "" - -#: ../../library/sqlite3.rst:1995 -msgid "" -"The default \"timestamp\" converter ignores UTC offsets in the database and " -"always returns a naive :class:`datetime.datetime` object. To preserve UTC " -"offsets in timestamps, either leave converters disabled, or register an " -"offset-aware converter with :func:`register_converter`." -msgstr "" - -#: ../../library/sqlite3.rst:2008 -msgid "Command-line interface" -msgstr "" - -#: ../../library/sqlite3.rst:2010 -msgid "" -"The :mod:`!sqlite3` module can be invoked as a script, using the " -"interpreter's :option:`-m` switch, in order to provide a simple SQLite " -"shell. The argument signature is as follows::" -msgstr "" - -#: ../../library/sqlite3.rst:2015 -msgid "python -m sqlite3 [-h] [-v] [filename] [sql]" -msgstr "" - -#: ../../library/sqlite3.rst:2017 -msgid "Type ``.quit`` or CTRL-D to exit the shell." -msgstr "" - -#: ../../library/sqlite3.rst:2023 -msgid "Print CLI help." -msgstr "" - -#: ../../library/sqlite3.rst:2027 -msgid "Print underlying SQLite library version." -msgstr "" - -#: ../../library/sqlite3.rst:2035 -msgid "How-to guides" -msgstr "" - -#: ../../library/sqlite3.rst:2040 -msgid "How to use placeholders to bind values in SQL queries" -msgstr "" - -#: ../../library/sqlite3.rst:2042 -msgid "" -"SQL operations usually need to use values from Python variables. However, " -"beware of using Python's string operations to assemble queries, as they are " -"vulnerable to `SQL injection attacks`_. For example, an attacker can simply " -"close the single quote and inject ``OR TRUE`` to select all rows::" -msgstr "" - -#: ../../library/sqlite3.rst:2047 -msgid "" -">>> # Never do this -- insecure!\n" -">>> symbol = input()\n" -"' OR TRUE; --\n" -">>> sql = \"SELECT * FROM stocks WHERE symbol = '%s'\" % symbol\n" -">>> print(sql)\n" -"SELECT * FROM stocks WHERE symbol = '' OR TRUE; --'\n" -">>> cur.execute(sql)" -msgstr "" - -#: ../../library/sqlite3.rst:2055 -msgid "" -"Instead, use the DB-API's parameter substitution. To insert a variable into " -"a query string, use a placeholder in the string, and substitute the actual " -"values into the query by providing them as a :class:`tuple` of values to the" -" second argument of the cursor's :meth:`~Cursor.execute` method." -msgstr "" - -#: ../../library/sqlite3.rst:2060 -msgid "" -"An SQL statement may use one of two kinds of placeholders: question marks " -"(qmark style) or named placeholders (named style). For the qmark style, " -"*parameters* must be a :term:`sequence` whose length must match the number " -"of placeholders, or a :exc:`ProgrammingError` is raised. For the named " -"style, *parameters* must be an instance of a :class:`dict` (or a subclass), " -"which must contain keys for all named parameters; any extra items are " -"ignored. Here's an example of both styles:" -msgstr "" - -#: ../../library/sqlite3.rst:2071 -msgid "" -"con = sqlite3.connect(\":memory:\")\n" -"cur = con.execute(\"CREATE TABLE lang(name, first_appeared)\")\n" -"\n" -"# This is the named style used with executemany():\n" -"data = (\n" -" {\"name\": \"C\", \"year\": 1972},\n" -" {\"name\": \"Fortran\", \"year\": 1957},\n" -" {\"name\": \"Python\", \"year\": 1991},\n" -" {\"name\": \"Go\", \"year\": 2009},\n" -")\n" -"cur.executemany(\"INSERT INTO lang VALUES(:name, :year)\", data)\n" -"\n" -"# This is the qmark style used in a SELECT query:\n" -"params = (1972,)\n" -"cur.execute(\"SELECT * FROM lang WHERE first_appeared = ?\", params)\n" -"print(cur.fetchall())\n" -"con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:2098 -msgid "" -":pep:`249` numeric placeholders are *not* supported. If used, they will be " -"interpreted as named placeholders." -msgstr "" - -#: ../../library/sqlite3.rst:2105 -msgid "How to adapt custom Python types to SQLite values" -msgstr "" - -#: ../../library/sqlite3.rst:2107 -msgid "" -"SQLite supports only a limited set of data types natively. To store custom " -"Python types in SQLite databases, *adapt* them to one of the :ref:`Python " -"types SQLite natively understands `." -msgstr "" - -#: ../../library/sqlite3.rst:2111 -msgid "" -"There are two ways to adapt Python objects to SQLite types: letting your " -"object adapt itself, or using an *adapter callable*. The latter will take " -"precedence above the former. For a library that exports a custom type, it " -"may make sense to enable that type to adapt itself. As an application " -"developer, it may make more sense to take direct control by registering " -"custom adapter functions." -msgstr "" - -#: ../../library/sqlite3.rst:2123 -msgid "How to write adaptable objects" -msgstr "" - -#: ../../library/sqlite3.rst:2125 -msgid "" -"Suppose we have a :class:`!Point` class that represents a pair of " -"coordinates, ``x`` and ``y``, in a Cartesian coordinate system. The " -"coordinate pair will be stored as a text string in the database, using a " -"semicolon to separate the coordinates. This can be implemented by adding a " -"``__conform__(self, protocol)`` method which returns the adapted value. The " -"object passed to *protocol* will be of type :class:`PrepareProtocol`." -msgstr "" - -#: ../../library/sqlite3.rst:2133 -msgid "" -"class Point:\n" -" def __init__(self, x, y):\n" -" self.x, self.y = x, y\n" -"\n" -" def __conform__(self, protocol):\n" -" if protocol is sqlite3.PrepareProtocol:\n" -" return f\"{self.x};{self.y}\"\n" -"\n" -"con = sqlite3.connect(\":memory:\")\n" -"cur = con.cursor()\n" -"\n" -"cur.execute(\"SELECT ?\", (Point(4.0, -3.2),))\n" -"print(cur.fetchone()[0])\n" -"con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:2157 -msgid "How to register adapter callables" -msgstr "" - -#: ../../library/sqlite3.rst:2159 -msgid "" -"The other possibility is to create a function that converts the Python " -"object to an SQLite-compatible type. This function can then be registered " -"using :func:`register_adapter`." -msgstr "" - -#: ../../library/sqlite3.rst:2163 -msgid "" -"class Point:\n" -" def __init__(self, x, y):\n" -" self.x, self.y = x, y\n" -"\n" -"def adapt_point(point):\n" -" return f\"{point.x};{point.y}\"\n" -"\n" -"sqlite3.register_adapter(Point, adapt_point)\n" -"\n" -"con = sqlite3.connect(\":memory:\")\n" -"cur = con.cursor()\n" -"\n" -"cur.execute(\"SELECT ?\", (Point(1.0, 2.5),))\n" -"print(cur.fetchone()[0])\n" -"con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:2190 -msgid "How to convert SQLite values to custom Python types" -msgstr "" - -#: ../../library/sqlite3.rst:2192 -msgid "" -"Writing an adapter lets you convert *from* custom Python types *to* SQLite " -"values. To be able to convert *from* SQLite values *to* custom Python types," -" we use *converters*." -msgstr "" - -#: ../../library/sqlite3.rst:2197 -msgid "" -"Let's go back to the :class:`!Point` class. We stored the x and y " -"coordinates separated via semicolons as strings in SQLite." -msgstr "" - -#: ../../library/sqlite3.rst:2200 -msgid "" -"First, we'll define a converter function that accepts the string as a " -"parameter and constructs a :class:`!Point` object from it." -msgstr "" - -#: ../../library/sqlite3.rst:2205 -msgid "" -"Converter functions are **always** passed a :class:`bytes` object, no matter" -" the underlying SQLite data type." -msgstr "" - -#: ../../library/sqlite3.rst:2208 -msgid "" -"def convert_point(s):\n" -" x, y = map(float, s.split(b\";\"))\n" -" return Point(x, y)" -msgstr "" - -#: ../../library/sqlite3.rst:2214 -msgid "" -"We now need to tell :mod:`!sqlite3` when it should convert a given SQLite " -"value. This is done when connecting to a database, using the *detect_types* " -"parameter of :func:`connect`. There are three options:" -msgstr "" - -#: ../../library/sqlite3.rst:2218 -msgid "Implicit: set *detect_types* to :const:`PARSE_DECLTYPES`" -msgstr "" - -#: ../../library/sqlite3.rst:2219 -msgid "Explicit: set *detect_types* to :const:`PARSE_COLNAMES`" -msgstr "" - -#: ../../library/sqlite3.rst:2220 -msgid "" -"Both: set *detect_types* to ``sqlite3.PARSE_DECLTYPES | " -"sqlite3.PARSE_COLNAMES``. Column names take precedence over declared types." -msgstr "" - -#: ../../library/sqlite3.rst:2224 -msgid "" -"The following example illustrates the implicit and explicit approaches:" -msgstr "" - -#: ../../library/sqlite3.rst:2226 -msgid "" -"class Point:\n" -" def __init__(self, x, y):\n" -" self.x, self.y = x, y\n" -"\n" -" def __repr__(self):\n" -" return f\"Point({self.x}, {self.y})\"\n" -"\n" -"def adapt_point(point):\n" -" return f\"{point.x};{point.y}\"\n" -"\n" -"def convert_point(s):\n" -" x, y = list(map(float, s.split(b\";\")))\n" -" return Point(x, y)\n" -"\n" -"# Register the adapter and converter\n" -"sqlite3.register_adapter(Point, adapt_point)\n" -"sqlite3.register_converter(\"point\", convert_point)\n" -"\n" -"# 1) Parse using declared types\n" -"p = Point(4.0, -3.2)\n" -"con = sqlite3.connect(\":memory:\", detect_types=sqlite3.PARSE_DECLTYPES)\n" -"cur = con.execute(\"CREATE TABLE test(p point)\")\n" -"\n" -"cur.execute(\"INSERT INTO test(p) VALUES(?)\", (p,))\n" -"cur.execute(\"SELECT p FROM test\")\n" -"print(\"with declared types:\", cur.fetchone()[0])\n" -"cur.close()\n" -"con.close()\n" -"\n" -"# 2) Parse using column names\n" -"con = sqlite3.connect(\":memory:\", detect_types=sqlite3.PARSE_COLNAMES)\n" -"cur = con.execute(\"CREATE TABLE test(p)\")\n" -"\n" -"cur.execute(\"INSERT INTO test(p) VALUES(?)\", (p,))\n" -"cur.execute('SELECT p AS \"p [point]\" FROM test')\n" -"print(\"with column names:\", cur.fetchone()[0])\n" -"cur.close()\n" -"con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:2277 -msgid "Adapter and converter recipes" -msgstr "" - -#: ../../library/sqlite3.rst:2279 -msgid "This section shows recipes for common adapters and converters." -msgstr "" - -#: ../../library/sqlite3.rst:2281 -msgid "" -"import datetime\n" -"import sqlite3\n" -"\n" -"def adapt_date_iso(val):\n" -" \"\"\"Adapt datetime.date to ISO 8601 date.\"\"\"\n" -" return val.isoformat()\n" -"\n" -"def adapt_datetime_iso(val):\n" -" \"\"\"Adapt datetime.datetime to timezone-naive ISO 8601 date.\"\"\"\n" -" return val.isoformat()\n" -"\n" -"def adapt_datetime_epoch(val):\n" -" \"\"\"Adapt datetime.datetime to Unix timestamp.\"\"\"\n" -" return int(val.timestamp())\n" -"\n" -"sqlite3.register_adapter(datetime.date, adapt_date_iso)\n" -"sqlite3.register_adapter(datetime.datetime, adapt_datetime_iso)\n" -"sqlite3.register_adapter(datetime.datetime, adapt_datetime_epoch)\n" -"\n" -"def convert_date(val):\n" -" \"\"\"Convert ISO 8601 date to datetime.date object.\"\"\"\n" -" return datetime.date.fromisoformat(val.decode())\n" -"\n" -"def convert_datetime(val):\n" -" \"\"\"Convert ISO 8601 datetime to datetime.datetime object.\"\"\"\n" -" return datetime.datetime.fromisoformat(val.decode())\n" -"\n" -"def convert_timestamp(val):\n" -" \"\"\"Convert Unix epoch timestamp to datetime.datetime object.\"\"\"\n" -" return datetime.datetime.fromtimestamp(int(val))\n" -"\n" -"sqlite3.register_converter(\"date\", convert_date)\n" -"sqlite3.register_converter(\"datetime\", convert_datetime)\n" -"sqlite3.register_converter(\"timestamp\", convert_timestamp)" -msgstr "" - -#: ../../library/sqlite3.rst:2341 -msgid "How to use connection shortcut methods" -msgstr "" - -#: ../../library/sqlite3.rst:2343 -msgid "" -"Using the :meth:`~Connection.execute`, :meth:`~Connection.executemany`, and " -":meth:`~Connection.executescript` methods of the :class:`Connection` class, " -"your code can be written more concisely because you don't have to create the" -" (often superfluous) :class:`Cursor` objects explicitly. Instead, the " -":class:`Cursor` objects are created implicitly and these shortcut methods " -"return the cursor objects. This way, you can execute a ``SELECT`` statement " -"and iterate over it directly using only a single call on the " -":class:`Connection` object." -msgstr "" - -#: ../../library/sqlite3.rst:2352 -msgid "" -"# Create and fill the table.\n" -"con = sqlite3.connect(\":memory:\")\n" -"con.execute(\"CREATE TABLE lang(name, first_appeared)\")\n" -"data = [\n" -" (\"C++\", 1985),\n" -" (\"Objective-C\", 1984),\n" -"]\n" -"con.executemany(\"INSERT INTO lang(name, first_appeared) VALUES(?, ?)\", data)\n" -"\n" -"# Print the table contents\n" -"for row in con.execute(\"SELECT name, first_appeared FROM lang\"):\n" -" print(row)\n" -"\n" -"print(\"I just deleted\", con.execute(\"DELETE FROM lang\").rowcount, \"rows\")\n" -"\n" -"# close() is not a shortcut method and it's not called automatically;\n" -"# the connection object should be closed manually\n" -"con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:2384 -msgid "How to use the connection context manager" -msgstr "" - -#: ../../library/sqlite3.rst:2386 -msgid "" -"A :class:`Connection` object can be used as a context manager that " -"automatically commits or rolls back open transactions when leaving the body " -"of the context manager. If the body of the :keyword:`with` statement " -"finishes without exceptions, the transaction is committed. If this commit " -"fails, or if the body of the ``with`` statement raises an uncaught " -"exception, the transaction is rolled back. If :attr:`~Connection.autocommit`" -" is ``False``, a new transaction is implicitly opened after committing or " -"rolling back." -msgstr "" - -#: ../../library/sqlite3.rst:2397 -msgid "" -"If there is no open transaction upon leaving the body of the ``with`` " -"statement, or if :attr:`~Connection.autocommit` is ``True``, the context " -"manager does nothing." -msgstr "" - -#: ../../library/sqlite3.rst:2402 -msgid "" -"The context manager neither implicitly opens a new transaction nor closes " -"the connection. If you need a closing context manager, consider using " -":meth:`contextlib.closing`." -msgstr "" - -#: ../../library/sqlite3.rst:2406 -msgid "" -"con = sqlite3.connect(\":memory:\")\n" -"con.execute(\"CREATE TABLE lang(id INTEGER PRIMARY KEY, name VARCHAR UNIQUE)\")\n" -"\n" -"# Successful, con.commit() is called automatically afterwards\n" -"with con:\n" -" con.execute(\"INSERT INTO lang(name) VALUES(?)\", (\"Python\",))\n" -"\n" -"# con.rollback() is called after the with block finishes with an exception,\n" -"# the exception is still raised and must be caught\n" -"try:\n" -" with con:\n" -" con.execute(\"INSERT INTO lang(name) VALUES(?)\", (\"Python\",))\n" -"except sqlite3.IntegrityError:\n" -" print(\"couldn't add Python twice\")\n" -"\n" -"# Connection object used as context manager only commits or rollbacks transactions,\n" -"# so the connection object should be closed manually\n" -"con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:2436 -msgid "How to work with SQLite URIs" -msgstr "" - -#: ../../library/sqlite3.rst:2438 -msgid "Some useful URI tricks include:" -msgstr "" - -#: ../../library/sqlite3.rst:2440 -msgid "Open a database in read-only mode:" -msgstr "" - -#: ../../library/sqlite3.rst:2442 -msgid "" -">>> con = sqlite3.connect(\"file:tutorial.db?mode=ro\", uri=True)\n" -">>> con.execute(\"CREATE TABLE readonly(data)\")\n" -"Traceback (most recent call last):\n" -"OperationalError: attempt to write a readonly database\n" -">>> con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:2450 -msgid "" -"Do not implicitly create a new database file if it does not already exist; " -"will raise :exc:`~sqlite3.OperationalError` if unable to create a new file:" -msgstr "" - -#: ../../library/sqlite3.rst:2453 -msgid "" -">>> con = sqlite3.connect(\"file:nosuchdb.db?mode=rw\", uri=True)\n" -"Traceback (most recent call last):\n" -"OperationalError: unable to open database file" -msgstr "" - -#: ../../library/sqlite3.rst:2460 -msgid "Create a shared named in-memory database:" -msgstr "" - -#: ../../library/sqlite3.rst:2462 -msgid "" -"db = \"file:mem1?mode=memory&cache=shared\"\n" -"con1 = sqlite3.connect(db, uri=True)\n" -"con2 = sqlite3.connect(db, uri=True)\n" -"with con1:\n" -" con1.execute(\"CREATE TABLE shared(data)\")\n" -" con1.execute(\"INSERT INTO shared VALUES(28)\")\n" -"res = con2.execute(\"SELECT data FROM shared\")\n" -"assert res.fetchone() == (28,)\n" -"\n" -"con1.close()\n" -"con2.close()" -msgstr "" - -#: ../../library/sqlite3.rst:2476 -msgid "" -"More information about this feature, including a list of parameters, can be " -"found in the `SQLite URI documentation`_." -msgstr "" - -#: ../../library/sqlite3.rst:2485 -msgid "How to create and use row factories" -msgstr "" - -#: ../../library/sqlite3.rst:2487 -msgid "" -"By default, :mod:`!sqlite3` represents each row as a :class:`tuple`. If a " -":class:`!tuple` does not suit your needs, you can use the " -":class:`sqlite3.Row` class or a custom :attr:`~Cursor.row_factory`." -msgstr "" - -#: ../../library/sqlite3.rst:2492 -msgid "" -"While :attr:`!row_factory` exists as an attribute both on the " -":class:`Cursor` and the :class:`Connection`, it is recommended to set " -":class:`Connection.row_factory`, so all cursors created from the connection " -"will use the same row factory." -msgstr "" - -#: ../../library/sqlite3.rst:2497 -msgid "" -":class:`!Row` provides indexed and case-insensitive named access to columns," -" with minimal memory overhead and performance impact over a :class:`!tuple`." -" To use :class:`!Row` as a row factory, assign it to the " -":attr:`!row_factory` attribute:" -msgstr "" - -#: ../../library/sqlite3.rst:2502 -msgid "" -">>> con = sqlite3.connect(\":memory:\")\n" -">>> con.row_factory = sqlite3.Row" -msgstr "" - -#: ../../library/sqlite3.rst:2507 -msgid "Queries now return :class:`!Row` objects:" -msgstr "" - -#: ../../library/sqlite3.rst:2509 -msgid "" -">>> res = con.execute(\"SELECT 'Earth' AS name, 6378 AS radius\")\n" -">>> row = res.fetchone()\n" -">>> row.keys()\n" -"['name', 'radius']\n" -">>> row[0] # Access by index.\n" -"'Earth'\n" -">>> row[\"name\"] # Access by name.\n" -"'Earth'\n" -">>> row[\"RADIUS\"] # Column names are case-insensitive.\n" -"6378\n" -">>> con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:2525 -msgid "" -"The ``FROM`` clause can be omitted in the ``SELECT`` statement, as in the " -"above example. In such cases, SQLite returns a single row with columns " -"defined by expressions, e.g. literals, with the given aliases ``expr AS " -"alias``." -msgstr "" - -#: ../../library/sqlite3.rst:2530 -msgid "" -"You can create a custom :attr:`~Cursor.row_factory` that returns each row as" -" a :class:`dict`, with column names mapped to values:" -msgstr "" - -#: ../../library/sqlite3.rst:2533 -msgid "" -"def dict_factory(cursor, row):\n" -" fields = [column[0] for column in cursor.description]\n" -" return {key: value for key, value in zip(fields, row)}" -msgstr "" - -#: ../../library/sqlite3.rst:2539 -msgid "" -"Using it, queries now return a :class:`!dict` instead of a :class:`!tuple`:" -msgstr "" - -#: ../../library/sqlite3.rst:2541 -msgid "" -">>> con = sqlite3.connect(\":memory:\")\n" -">>> con.row_factory = dict_factory\n" -">>> for row in con.execute(\"SELECT 1 AS a, 2 AS b\"):\n" -"... print(row)\n" -"{'a': 1, 'b': 2}\n" -">>> con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:2550 -msgid "The following row factory returns a :term:`named tuple`:" -msgstr "" - -#: ../../library/sqlite3.rst:2552 -msgid "" -"from collections import namedtuple\n" -"\n" -"def namedtuple_factory(cursor, row):\n" -" fields = [column[0] for column in cursor.description]\n" -" cls = namedtuple(\"Row\", fields)\n" -" return cls._make(row)" -msgstr "" - -#: ../../library/sqlite3.rst:2561 -msgid ":func:`!namedtuple_factory` can be used as follows:" -msgstr "" - -#: ../../library/sqlite3.rst:2563 -msgid "" -">>> con = sqlite3.connect(\":memory:\")\n" -">>> con.row_factory = namedtuple_factory\n" -">>> cur = con.execute(\"SELECT 1 AS a, 2 AS b\")\n" -">>> row = cur.fetchone()\n" -">>> row\n" -"Row(a=1, b=2)\n" -">>> row[0] # Indexed access.\n" -"1\n" -">>> row.b # Attribute access.\n" -"2\n" -">>> con.close()" -msgstr "" - -#: ../../library/sqlite3.rst:2577 -msgid "" -"With some adjustments, the above recipe can be adapted to use a " -":class:`~dataclasses.dataclass`, or any other custom class, instead of a " -":class:`~collections.namedtuple`." -msgstr "" - -#: ../../library/sqlite3.rst:2585 -msgid "How to handle non-UTF-8 text encodings" -msgstr "" - -#: ../../library/sqlite3.rst:2587 -msgid "" -"By default, :mod:`!sqlite3` uses :class:`str` to adapt SQLite values with " -"the ``TEXT`` data type. This works well for UTF-8 encoded text, but it might" -" fail for other encodings and invalid UTF-8. You can use a custom " -":attr:`~Connection.text_factory` to handle such cases." -msgstr "" - -#: ../../library/sqlite3.rst:2593 -msgid "" -"Because of SQLite's `flexible typing`_, it is not uncommon to encounter " -"table columns with the ``TEXT`` data type containing non-UTF-8 encodings, or" -" even arbitrary data. To demonstrate, let's assume we have a database with " -"ISO-8859-2 (Latin-2) encoded text, for example a table of Czech-English " -"dictionary entries. Assuming we now have a :class:`Connection` instance " -":py:data:`!con` connected to this database, we can decode the Latin-2 " -"encoded text using this :attr:`~Connection.text_factory`:" -msgstr "" - -#: ../../library/sqlite3.rst:2602 -msgid "con.text_factory = lambda data: str(data, encoding=\"latin2\")" -msgstr "" - -#: ../../library/sqlite3.rst:2606 -msgid "" -"For invalid UTF-8 or arbitrary data in stored in ``TEXT`` table columns, you" -" can use the following technique, borrowed from the :ref:`unicode-howto`:" -msgstr "" - -#: ../../library/sqlite3.rst:2609 -msgid "con.text_factory = lambda data: str(data, errors=\"surrogateescape\")" -msgstr "" - -#: ../../library/sqlite3.rst:2615 -msgid "" -"The :mod:`!sqlite3` module API does not support strings containing " -"surrogates." -msgstr "" - -#: ../../library/sqlite3.rst:2620 -msgid ":ref:`unicode-howto`" -msgstr "" - -#: ../../library/sqlite3.rst:2626 -msgid "Explanation" -msgstr "" - -#: ../../library/sqlite3.rst:2632 -msgid "Transaction control" -msgstr "" - -#: ../../library/sqlite3.rst:2634 -msgid "" -":mod:`!sqlite3` offers multiple methods of controlling whether, when and how" -" database transactions are opened and closed. :ref:`sqlite3-transaction-" -"control-autocommit` is recommended, while :ref:`sqlite3-transaction-control-" -"isolation-level` retains the pre-Python 3.12 behaviour." -msgstr "" - -#: ../../library/sqlite3.rst:2643 -msgid "Transaction control via the ``autocommit`` attribute" -msgstr "" - -#: ../../library/sqlite3.rst:2645 -msgid "" -"The recommended way of controlling transaction behaviour is through the " -":attr:`Connection.autocommit` attribute, which should preferably be set " -"using the *autocommit* parameter of :func:`connect`." -msgstr "" - -#: ../../library/sqlite3.rst:2650 -msgid "" -"It is suggested to set *autocommit* to ``False``, which implies " -":pep:`249`-compliant transaction control. This means:" -msgstr "" - -#: ../../library/sqlite3.rst:2654 -msgid "" -":mod:`!sqlite3` ensures that a transaction is always open, so " -":func:`connect`, :meth:`Connection.commit`, and :meth:`Connection.rollback` " -"will implicitly open a new transaction (immediately after closing the " -"pending one, for the latter two). :mod:`!sqlite3` uses ``BEGIN DEFERRED`` " -"statements when opening transactions." -msgstr "" - -#: ../../library/sqlite3.rst:2659 -msgid "Transactions should be committed explicitly using :meth:`!commit`." -msgstr "" - -#: ../../library/sqlite3.rst:2660 -msgid "Transactions should be rolled back explicitly using :meth:`!rollback`." -msgstr "" - -#: ../../library/sqlite3.rst:2661 -msgid "" -"An implicit rollback is performed if the database is " -":meth:`~Connection.close`-ed with pending changes." -msgstr "" - -#: ../../library/sqlite3.rst:2664 -msgid "" -"Set *autocommit* to ``True`` to enable SQLite's `autocommit mode`_. In this " -"mode, :meth:`Connection.commit` and :meth:`Connection.rollback` have no " -"effect. Note that SQLite's autocommit mode is distinct from the " -":pep:`249`-compliant :attr:`Connection.autocommit` attribute; use " -":attr:`Connection.in_transaction` to query the low-level SQLite autocommit " -"mode." -msgstr "" - -#: ../../library/sqlite3.rst:2672 -msgid "" -"Set *autocommit* to :data:`LEGACY_TRANSACTION_CONTROL` to leave transaction " -"control behaviour to the :attr:`Connection.isolation_level` attribute. See " -":ref:`sqlite3-transaction-control-isolation-level` for more information." -msgstr "" - -#: ../../library/sqlite3.rst:2681 -msgid "Transaction control via the ``isolation_level`` attribute" -msgstr "" - -#: ../../library/sqlite3.rst:2685 -msgid "" -"The recommended way of controlling transactions is via the " -":attr:`~Connection.autocommit` attribute. See :ref:`sqlite3-transaction-" -"control-autocommit`." -msgstr "" - -#: ../../library/sqlite3.rst:2689 -msgid "" -"If :attr:`Connection.autocommit` is set to " -":data:`LEGACY_TRANSACTION_CONTROL` (the default), transaction behaviour is " -"controlled using the :attr:`Connection.isolation_level` attribute. " -"Otherwise, :attr:`!isolation_level` has no effect." -msgstr "" - -#: ../../library/sqlite3.rst:2695 -msgid "" -"If the connection attribute :attr:`~Connection.isolation_level` is not " -"``None``, new transactions are implicitly opened before " -":meth:`~Cursor.execute` and :meth:`~Cursor.executemany` executes ``INSERT``," -" ``UPDATE``, ``DELETE``, or ``REPLACE`` statements; for other statements, no" -" implicit transaction handling is performed. Use the " -":meth:`~Connection.commit` and :meth:`~Connection.rollback` methods to " -"respectively commit and roll back pending transactions. You can choose the " -"underlying `SQLite transaction behaviour`_ — that is, whether and what type " -"of ``BEGIN`` statements :mod:`!sqlite3` implicitly executes – via the " -":attr:`~Connection.isolation_level` attribute." -msgstr "" - -#: ../../library/sqlite3.rst:2708 -msgid "" -"If :attr:`~Connection.isolation_level` is set to ``None``, no transactions " -"are implicitly opened at all. This leaves the underlying SQLite library in " -"`autocommit mode`_, but also allows the user to perform their own " -"transaction handling using explicit SQL statements. The underlying SQLite " -"library autocommit mode can be queried using the " -":attr:`~Connection.in_transaction` attribute." -msgstr "" - -#: ../../library/sqlite3.rst:2716 -msgid "" -"The :meth:`~Cursor.executescript` method implicitly commits any pending " -"transaction before execution of the given SQL script, regardless of the " -"value of :attr:`~Connection.isolation_level`." -msgstr "" - -#: ../../library/sqlite3.rst:2720 -msgid "" -":mod:`!sqlite3` used to implicitly commit an open transaction before DDL " -"statements. This is no longer the case." -msgstr "" - -#: ../../library/sqlite3.rst:2724 -msgid "" -"The recommended way of controlling transactions is now via the " -":attr:`~Connection.autocommit` attribute." -msgstr "" - -#: ../../library/sqlite3.rst:1475 -msgid "? (question mark)" -msgstr "" - -#: ../../library/sqlite3.rst:1475 ../../library/sqlite3.rst:1476 -msgid "in SQL statements" -msgstr "" - -#: ../../library/sqlite3.rst:1476 -msgid ": (colon)" -msgstr "" diff --git a/python-newest.library--ssl/id.po b/python-newest.library--ssl/id.po deleted file mode 100644 index 19f1515..0000000 --- a/python-newest.library--ssl/id.po +++ /dev/null @@ -1,3641 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/ssl.rst:2 -msgid ":mod:`!ssl` --- TLS/SSL wrapper for socket objects" -msgstr "" - -#: ../../library/ssl.rst:10 -msgid "**Source code:** :source:`Lib/ssl.py`" -msgstr "" - -#: ../../library/ssl.rst:18 -msgid "" -"This module provides access to Transport Layer Security (often known as " -"\"Secure Sockets Layer\") encryption and peer authentication facilities for " -"network sockets, both client-side and server-side. This module uses the " -"OpenSSL library. It is available on all modern Unix systems, Windows, macOS," -" and probably additional platforms, as long as OpenSSL is installed on that " -"platform." -msgstr "" - -#: ../../library/ssl.rst:26 -msgid "" -"Some behavior may be platform dependent, since calls are made to the " -"operating system socket APIs. The installed version of OpenSSL may also " -"cause variations in behavior. For example, TLSv1.3 comes with OpenSSL " -"version 1.1.1." -msgstr "" - -#: ../../library/ssl.rst:32 -msgid "" -"Don't use this module without reading the :ref:`ssl-security`. Doing so may" -" lead to a false sense of security, as the default settings of the ssl " -"module are not necessarily appropriate for your application." -msgstr "" - -#: ../../library/ssl.rst:454 ../../library/ssl.rst:469 -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/ssl.rst:38 -msgid "" -"This section documents the objects and functions in the ``ssl`` module; for " -"more general information about TLS, SSL, and certificates, the reader is " -"referred to the documents in the \"See Also\" section at the bottom." -msgstr "" - -#: ../../library/ssl.rst:42 -msgid "" -"This module provides a class, :class:`ssl.SSLSocket`, which is derived from " -"the :class:`socket.socket` type, and provides a socket-like wrapper that " -"also encrypts and decrypts the data going over the socket with SSL. It " -"supports additional methods such as :meth:`getpeercert`, which retrieves the" -" certificate of the other side of the connection, :meth:`cipher`, which " -"retrieves the cipher being used for the secure connection or " -":meth:`get_verified_chain`, :meth:`get_unverified_chain` which retrieves " -"certificate chain." -msgstr "" - -#: ../../library/ssl.rst:51 -msgid "" -"For more sophisticated applications, the :class:`ssl.SSLContext` class helps" -" manage settings and certificates, which can then be inherited by SSL " -"sockets created through the :meth:`SSLContext.wrap_socket` method." -msgstr "" - -#: ../../library/ssl.rst:55 -msgid "Updated to support linking with OpenSSL 1.1.0" -msgstr "" - -#: ../../library/ssl.rst:60 -msgid "" -"OpenSSL 0.9.8, 1.0.0 and 1.0.1 are deprecated and no longer supported. In " -"the future the ssl module will require at least OpenSSL 1.0.2 or 1.1.0." -msgstr "" - -#: ../../library/ssl.rst:66 -msgid "" -":pep:`644` has been implemented. The ssl module requires OpenSSL 1.1.1 or " -"newer." -msgstr "" - -#: ../../library/ssl.rst:69 -msgid "" -"Use of deprecated constants and functions result in deprecation warnings." -msgstr "" - -#: ../../library/ssl.rst:73 -msgid "Functions, Constants, and Exceptions" -msgstr "" - -#: ../../library/ssl.rst:77 -msgid "Socket creation" -msgstr "" - -#: ../../library/ssl.rst:79 -msgid "" -"Instances of :class:`SSLSocket` must be created using the " -":meth:`SSLContext.wrap_socket` method. The helper function " -":func:`create_default_context` returns a new context with secure default " -"settings." -msgstr "" - -#: ../../library/ssl.rst:84 -msgid "Client socket example with default context and IPv4/IPv6 dual stack::" -msgstr "" - -#: ../../library/ssl.rst:86 -msgid "" -"import socket\n" -"import ssl\n" -"\n" -"hostname = 'www.python.org'\n" -"context = ssl.create_default_context()\n" -"\n" -"with socket.create_connection((hostname, 443)) as sock:\n" -" with context.wrap_socket(sock, server_hostname=hostname) as ssock:\n" -" print(ssock.version())" -msgstr "" - -#: ../../library/ssl.rst:97 -msgid "Client socket example with custom context and IPv4::" -msgstr "" - -#: ../../library/ssl.rst:99 -msgid "" -"hostname = 'www.python.org'\n" -"# PROTOCOL_TLS_CLIENT requires valid cert chain and hostname\n" -"context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)\n" -"context.load_verify_locations('path/to/cabundle.pem')\n" -"\n" -"with socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0) as sock:\n" -" with context.wrap_socket(sock, server_hostname=hostname) as ssock:\n" -" print(ssock.version())" -msgstr "" - -#: ../../library/ssl.rst:109 -msgid "Server socket example listening on localhost IPv4::" -msgstr "" - -#: ../../library/ssl.rst:111 -msgid "" -"context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)\n" -"context.load_cert_chain('/path/to/certchain.pem', '/path/to/private.key')\n" -"\n" -"with socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0) as sock:\n" -" sock.bind(('127.0.0.1', 8443))\n" -" sock.listen(5)\n" -" with context.wrap_socket(sock, server_side=True) as ssock:\n" -" conn, addr = ssock.accept()\n" -" ..." -msgstr "" - -#: ../../library/ssl.rst:123 -msgid "Context creation" -msgstr "" - -#: ../../library/ssl.rst:125 -msgid "" -"A convenience function helps create :class:`SSLContext` objects for common " -"purposes." -msgstr "" - -#: ../../library/ssl.rst:130 -msgid "" -"Return a new :class:`SSLContext` object with default settings for the given " -"*purpose*. The settings are chosen by the :mod:`ssl` module, and usually " -"represent a higher security level than when calling the :class:`SSLContext` " -"constructor directly." -msgstr "" - -#: ../../library/ssl.rst:135 -msgid "" -"*cafile*, *capath*, *cadata* represent optional CA certificates to trust for" -" certificate verification, as in :meth:`SSLContext.load_verify_locations`. " -"If all three are :const:`None`, this function can choose to trust the " -"system's default CA certificates instead." -msgstr "" - -#: ../../library/ssl.rst:141 -msgid "" -"The settings are: :data:`PROTOCOL_TLS_CLIENT` or " -":data:`PROTOCOL_TLS_SERVER`, :data:`OP_NO_SSLv2`, and :data:`OP_NO_SSLv3` " -"with high encryption cipher suites without RC4 and without unauthenticated " -"cipher suites. Passing :const:`~Purpose.SERVER_AUTH` as *purpose* sets " -":data:`~SSLContext.verify_mode` to :data:`CERT_REQUIRED` and either loads CA" -" certificates (when at least one of *cafile*, *capath* or *cadata* is given)" -" or uses :meth:`SSLContext.load_default_certs` to load default CA " -"certificates." -msgstr "" - -#: ../../library/ssl.rst:150 -msgid "" -"When :attr:`~SSLContext.keylog_filename` is supported and the environment " -"variable :envvar:`SSLKEYLOGFILE` is set, :func:`create_default_context` " -"enables key logging." -msgstr "" - -#: ../../library/ssl.rst:154 -msgid "" -"The default settings for this context include " -":data:`VERIFY_X509_PARTIAL_CHAIN` and :data:`VERIFY_X509_STRICT`. These make" -" the underlying OpenSSL implementation behave more like a conforming " -"implementation of :rfc:`5280`, in exchange for a small amount of " -"incompatibility with older X.509 certificates." -msgstr "" - -#: ../../library/ssl.rst:161 -msgid "" -"The protocol, options, cipher and other settings may change to more " -"restrictive values anytime without prior deprecation. The values represent " -"a fair balance between compatibility and security." -msgstr "" - -#: ../../library/ssl.rst:165 -msgid "" -"If your application needs specific settings, you should create a " -":class:`SSLContext` and apply the settings yourself." -msgstr "" - -#: ../../library/ssl.rst:169 -msgid "" -"If you find that when certain older clients or servers attempt to connect " -"with a :class:`SSLContext` created by this function that they get an error " -"stating \"Protocol or cipher suite mismatch\", it may be that they only " -"support SSL3.0 which this function excludes using the :data:`OP_NO_SSLv3`. " -"SSL3.0 is widely considered to be `completely broken " -"`_. If you still wish to continue to " -"use this function but still allow SSL 3.0 connections you can re-enable them" -" using::" -msgstr "" - -#: ../../library/ssl.rst:178 -msgid "" -"ctx = ssl.create_default_context(Purpose.CLIENT_AUTH)\n" -"ctx.options &= ~ssl.OP_NO_SSLv3" -msgstr "" - -#: ../../library/ssl.rst:182 -msgid "" -"This context enables :data:`VERIFY_X509_STRICT` by default, which may reject" -" pre-:rfc:`5280` or malformed certificates that the underlying OpenSSL " -"implementation otherwise would accept. While disabling this is not " -"recommended, you can do so using::" -msgstr "" - -#: ../../library/ssl.rst:187 -msgid "" -"ctx = ssl.create_default_context()\n" -"ctx.verify_flags &= ~ssl.VERIFY_X509_STRICT" -msgstr "" - -#: ../../library/ssl.rst:194 -msgid "RC4 was dropped from the default cipher string." -msgstr "" - -#: ../../library/ssl.rst:198 -msgid "ChaCha20/Poly1305 was added to the default cipher string." -msgstr "" - -#: ../../library/ssl.rst:200 -msgid "3DES was dropped from the default cipher string." -msgstr "" - -#: ../../library/ssl.rst:204 -msgid "Support for key logging to :envvar:`SSLKEYLOGFILE` was added." -msgstr "" - -#: ../../library/ssl.rst:208 -msgid "" -"The context now uses :data:`PROTOCOL_TLS_CLIENT` or " -":data:`PROTOCOL_TLS_SERVER` protocol instead of generic " -":data:`PROTOCOL_TLS`." -msgstr "" - -#: ../../library/ssl.rst:214 -msgid "" -"The context now uses :data:`VERIFY_X509_PARTIAL_CHAIN` and " -":data:`VERIFY_X509_STRICT` in its default verify flags." -msgstr "" - -#: ../../library/ssl.rst:219 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/ssl.rst:223 -msgid "" -"Raised to signal an error from the underlying SSL implementation (currently " -"provided by the OpenSSL library). This signifies some problem in the " -"higher-level encryption and authentication layer that's superimposed on the " -"underlying network connection. This error is a subtype of :exc:`OSError`. " -"The error code and message of :exc:`SSLError` instances are provided by the " -"OpenSSL library." -msgstr "" - -#: ../../library/ssl.rst:230 -msgid ":exc:`SSLError` used to be a subtype of :exc:`socket.error`." -msgstr "" - -#: ../../library/ssl.rst:235 -msgid "" -"A string mnemonic designating the OpenSSL submodule in which the error " -"occurred, such as ``SSL``, ``PEM`` or ``X509``. The range of possible " -"values depends on the OpenSSL version." -msgstr "" - -#: ../../library/ssl.rst:243 -msgid "" -"A string mnemonic designating the reason this error occurred, for example " -"``CERTIFICATE_VERIFY_FAILED``. The range of possible values depends on the " -"OpenSSL version." -msgstr "" - -#: ../../library/ssl.rst:251 -msgid "" -"A subclass of :exc:`SSLError` raised when trying to read or write and the " -"SSL connection has been closed cleanly. Note that this doesn't mean that " -"the underlying transport (read TCP) has been closed." -msgstr "" - -#: ../../library/ssl.rst:259 -msgid "" -"A subclass of :exc:`SSLError` raised by a :ref:`non-blocking SSL socket " -"` when trying to read or write data, but more data needs to" -" be received on the underlying TCP transport before the request can be " -"fulfilled." -msgstr "" - -#: ../../library/ssl.rst:268 -msgid "" -"A subclass of :exc:`SSLError` raised by a :ref:`non-blocking SSL socket " -"` when trying to read or write data, but more data needs to" -" be sent on the underlying TCP transport before the request can be " -"fulfilled." -msgstr "" - -#: ../../library/ssl.rst:277 -msgid "" -"A subclass of :exc:`SSLError` raised when a system error was encountered " -"while trying to fulfill an operation on a SSL socket. Unfortunately, there " -"is no easy way to inspect the original errno number." -msgstr "" - -#: ../../library/ssl.rst:285 -msgid "" -"A subclass of :exc:`SSLError` raised when the SSL connection has been " -"terminated abruptly. Generally, you shouldn't try to reuse the underlying " -"transport when this error is encountered." -msgstr "" - -#: ../../library/ssl.rst:293 -msgid "" -"A subclass of :exc:`SSLError` raised when certificate validation has failed." -msgstr "" - -#: ../../library/ssl.rst:300 -msgid "A numeric error number that denotes the verification error." -msgstr "" - -#: ../../library/ssl.rst:304 -msgid "A human readable string of the verification error." -msgstr "" - -#: ../../library/ssl.rst:308 -msgid "An alias for :exc:`SSLCertVerificationError`." -msgstr "" - -#: ../../library/ssl.rst:310 -msgid "The exception is now an alias for :exc:`SSLCertVerificationError`." -msgstr "" - -#: ../../library/ssl.rst:315 -msgid "Random generation" -msgstr "" - -#: ../../library/ssl.rst:319 -msgid "" -"Return *num* cryptographically strong pseudo-random bytes. Raises an " -":class:`SSLError` if the PRNG has not been seeded with enough data or if the" -" operation is not supported by the current RAND method. :func:`RAND_status` " -"can be used to check the status of the PRNG and :func:`RAND_add` can be used" -" to seed the PRNG." -msgstr "" - -#: ../../library/ssl.rst:325 -msgid "For almost all applications :func:`os.urandom` is preferable." -msgstr "" - -#: ../../library/ssl.rst:327 -msgid "" -"Read the Wikipedia article, `Cryptographically secure pseudorandom number " -"generator (CSPRNG) " -"`_," -" to get the requirements of a cryptographically strong generator." -msgstr "" - -#: ../../library/ssl.rst:336 -msgid "" -"Return ``True`` if the SSL pseudo-random number generator has been seeded " -"with 'enough' randomness, and ``False`` otherwise. You can use " -":func:`ssl.RAND_egd` and :func:`ssl.RAND_add` to increase the randomness of " -"the pseudo-random number generator." -msgstr "" - -#: ../../library/ssl.rst:343 -msgid "" -"Mix the given *bytes* into the SSL pseudo-random number generator. The " -"parameter *entropy* (a float) is a lower bound on the entropy contained in " -"string (so you can always use ``0.0``). See :rfc:`1750` for more " -"information on sources of entropy." -msgstr "" - -#: ../../library/ssl.rst:348 -msgid "Writable :term:`bytes-like object` is now accepted." -msgstr "" - -#: ../../library/ssl.rst:352 -msgid "Certificate handling" -msgstr "" - -#: ../../library/ssl.rst:360 -msgid "" -"Return the time in seconds since the Epoch, given the ``cert_time`` string " -"representing the \"notBefore\" or \"notAfter\" date from a certificate in " -"``\"%b %d %H:%M:%S %Y %Z\"`` strptime format (C locale)." -msgstr "" - -#: ../../library/ssl.rst:365 -msgid "Here's an example:" -msgstr "" - -#: ../../library/ssl.rst:367 -msgid "" -">>> import ssl\n" -">>> timestamp = ssl.cert_time_to_seconds(\"Jan 5 09:34:43 2018 GMT\")\n" -">>> timestamp\n" -"1515144883\n" -">>> from datetime import datetime\n" -">>> print(datetime.utcfromtimestamp(timestamp))\n" -"2018-01-05 09:34:43" -msgstr "" - -#: ../../library/ssl.rst:377 -msgid "\"notBefore\" or \"notAfter\" dates must use GMT (:rfc:`5280`)." -msgstr "" - -#: ../../library/ssl.rst:379 -msgid "" -"Interpret the input time as a time in UTC as specified by 'GMT' timezone in " -"the input string. Local timezone was used previously. Return an integer (no " -"fractions of a second in the input format)" -msgstr "" - -#: ../../library/ssl.rst:388 -msgid "" -"Given the address ``addr`` of an SSL-protected server, as a (*hostname*, " -"*port-number*) pair, fetches the server's certificate, and returns it as a " -"PEM-encoded string. If ``ssl_version`` is specified, uses that version of " -"the SSL protocol to attempt to connect to the server. If *ca_certs* is " -"specified, it should be a file containing a list of root certificates, the " -"same format as used for the *cafile* parameter in " -":meth:`SSLContext.load_verify_locations`. The call will attempt to validate" -" the server certificate against that set of root certificates, and will fail" -" if the validation attempt fails. A timeout can be specified with the " -"``timeout`` parameter." -msgstr "" - -#: ../../library/ssl.rst:399 -msgid "This function is now IPv6-compatible." -msgstr "" - -#: ../../library/ssl.rst:402 -msgid "" -"The default *ssl_version* is changed from :data:`PROTOCOL_SSLv3` to " -":data:`PROTOCOL_TLS` for maximum compatibility with modern servers." -msgstr "" - -#: ../../library/ssl.rst:406 -msgid "The *timeout* parameter was added." -msgstr "" - -#: ../../library/ssl.rst:411 -msgid "" -"Given a certificate as a DER-encoded blob of bytes, returns a PEM-encoded " -"string version of the same certificate." -msgstr "" - -#: ../../library/ssl.rst:416 -msgid "" -"Given a certificate as an ASCII PEM string, returns a DER-encoded sequence " -"of bytes for that same certificate." -msgstr "" - -#: ../../library/ssl.rst:421 -msgid "" -"Returns a named tuple with paths to OpenSSL's default cafile and capath. The" -" paths are the same as used by :meth:`SSLContext.set_default_verify_paths`. " -"The return value is a :term:`named tuple` ``DefaultVerifyPaths``:" -msgstr "" - -#: ../../library/ssl.rst:426 -msgid "" -":attr:`cafile` - resolved path to cafile or ``None`` if the file doesn't " -"exist," -msgstr "" - -#: ../../library/ssl.rst:427 -msgid "" -":attr:`capath` - resolved path to capath or ``None`` if the directory " -"doesn't exist," -msgstr "" - -#: ../../library/ssl.rst:428 -msgid "" -":attr:`openssl_cafile_env` - OpenSSL's environment key that points to a " -"cafile," -msgstr "" - -#: ../../library/ssl.rst:429 -msgid ":attr:`openssl_cafile` - hard coded path to a cafile," -msgstr "" - -#: ../../library/ssl.rst:430 -msgid "" -":attr:`openssl_capath_env` - OpenSSL's environment key that points to a " -"capath," -msgstr "" - -#: ../../library/ssl.rst:431 -msgid ":attr:`openssl_capath` - hard coded path to a capath directory" -msgstr "" - -#: ../../library/ssl.rst:437 -msgid "" -"Retrieve certificates from Windows' system cert store. *store_name* may be " -"one of ``CA``, ``ROOT`` or ``MY``. Windows may provide additional cert " -"stores, too." -msgstr "" - -#: ../../library/ssl.rst:441 -msgid "" -"The function returns a list of (cert_bytes, encoding_type, trust) tuples. " -"The encoding_type specifies the encoding of cert_bytes. It is either " -":const:`x509_asn` for X.509 ASN.1 data or :const:`pkcs_7_asn` for PKCS#7 " -"ASN.1 data. Trust specifies the purpose of the certificate as a set of OIDS " -"or exactly ``True`` if the certificate is trustworthy for all purposes." -msgstr "" - -#: ../../library/ssl.rst:448 ../../library/ssl.rst:1605 -#: ../../library/ssl.rst:1904 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/ssl.rst:450 -msgid "" -">>> ssl.enum_certificates(\"CA\")\n" -"[(b'data...', 'x509_asn', {'1.3.6.1.5.5.7.3.1', '1.3.6.1.5.5.7.3.2'}),\n" -" (b'data...', 'x509_asn', True)]" -msgstr "" - -#: ../../library/ssl.rst:460 -msgid "" -"Retrieve CRLs from Windows' system cert store. *store_name* may be one of " -"``CA``, ``ROOT`` or ``MY``. Windows may provide additional cert stores, too." -msgstr "" - -#: ../../library/ssl.rst:464 -msgid "" -"The function returns a list of (cert_bytes, encoding_type, trust) tuples. " -"The encoding_type specifies the encoding of cert_bytes. It is either " -":const:`x509_asn` for X.509 ASN.1 data or :const:`pkcs_7_asn` for PKCS#7 " -"ASN.1 data." -msgstr "" - -#: ../../library/ssl.rst:475 -msgid "Constants" -msgstr "Konstanta" - -#: ../../library/ssl.rst:477 -msgid "" -"All constants are now :class:`enum.IntEnum` or :class:`enum.IntFlag` " -"collections." -msgstr "" - -#: ../../library/ssl.rst:483 -msgid "" -"Possible value for :attr:`SSLContext.verify_mode`. Except for " -":const:`PROTOCOL_TLS_CLIENT`, it is the default mode. With client-side " -"sockets, just about any cert is accepted. Validation errors, such as " -"untrusted or expired cert, are ignored and do not abort the TLS/SSL " -"handshake." -msgstr "" - -#: ../../library/ssl.rst:489 -msgid "" -"In server mode, no certificate is requested from the client, so the client " -"does not send any for client cert authentication." -msgstr "" - -#: ../../library/ssl.rst:492 ../../library/ssl.rst:2406 -msgid "See the discussion of :ref:`ssl-security` below." -msgstr "" - -#: ../../library/ssl.rst:496 -msgid "" -"Possible value for :attr:`SSLContext.verify_mode`. In client mode, " -":const:`CERT_OPTIONAL` has the same meaning as :const:`CERT_REQUIRED`. It is" -" recommended to use :const:`CERT_REQUIRED` for client-side sockets instead." -msgstr "" - -#: ../../library/ssl.rst:501 -msgid "" -"In server mode, a client certificate request is sent to the client. The " -"client may either ignore the request or send a certificate in order perform " -"TLS client cert authentication. If the client chooses to send a " -"certificate, it is verified. Any verification error immediately aborts the " -"TLS handshake." -msgstr "" - -#: ../../library/ssl.rst:507 ../../library/ssl.rst:526 -msgid "" -"Use of this setting requires a valid set of CA certificates to be passed to " -":meth:`SSLContext.load_verify_locations`." -msgstr "" - -#: ../../library/ssl.rst:512 -msgid "" -"Possible value for :attr:`SSLContext.verify_mode`. In this mode, " -"certificates are required from the other side of the socket connection; an " -":class:`SSLError` will be raised if no certificate is provided, or if its " -"validation fails. This mode is **not** sufficient to verify a certificate in" -" client mode as it does not match hostnames. " -":attr:`~SSLContext.check_hostname` must be enabled as well to verify the " -"authenticity of a cert. :const:`PROTOCOL_TLS_CLIENT` uses " -":const:`CERT_REQUIRED` and enables :attr:`~SSLContext.check_hostname` by " -"default." -msgstr "" - -#: ../../library/ssl.rst:522 -msgid "" -"With server socket, this mode provides mandatory TLS client cert " -"authentication. A client certificate request is sent to the client and the " -"client must provide a valid and trusted certificate." -msgstr "" - -#: ../../library/ssl.rst:531 -msgid ":class:`enum.IntEnum` collection of CERT_* constants." -msgstr "" - -#: ../../library/ssl.rst:537 -msgid "" -"Possible value for :attr:`SSLContext.verify_flags`. In this mode, " -"certificate revocation lists (CRLs) are not checked. By default OpenSSL does" -" neither require nor verify CRLs." -msgstr "" - -#: ../../library/ssl.rst:545 -msgid "" -"Possible value for :attr:`SSLContext.verify_flags`. In this mode, only the " -"peer cert is checked but none of the intermediate CA certificates. The mode " -"requires a valid CRL that is signed by the peer cert's issuer (its direct " -"ancestor CA). If no proper CRL has been loaded with " -":attr:`SSLContext.load_verify_locations`, validation will fail." -msgstr "" - -#: ../../library/ssl.rst:555 -msgid "" -"Possible value for :attr:`SSLContext.verify_flags`. In this mode, CRLs of " -"all certificates in the peer cert chain are checked." -msgstr "" - -#: ../../library/ssl.rst:562 -msgid "" -"Possible value for :attr:`SSLContext.verify_flags` to disable workarounds " -"for broken X.509 certificates." -msgstr "" - -#: ../../library/ssl.rst:569 -msgid "" -"Possible value for :attr:`SSLContext.verify_flags` to enables proxy " -"certificate verification." -msgstr "" - -#: ../../library/ssl.rst:576 -msgid "" -"Possible value for :attr:`SSLContext.verify_flags`. It instructs OpenSSL to " -"prefer trusted certificates when building the trust chain to validate a " -"certificate. This flag is enabled by default." -msgstr "" - -#: ../../library/ssl.rst:584 -msgid "" -"Possible value for :attr:`SSLContext.verify_flags`. It instructs OpenSSL to " -"accept intermediate CAs in the trust store to be treated as trust-anchors, " -"in the same way as the self-signed root CA certificates. This makes it " -"possible to trust certificates issued by an intermediate CA without having " -"to trust its ancestor root CA." -msgstr "" - -#: ../../library/ssl.rst:595 -msgid ":class:`enum.IntFlag` collection of VERIFY_* constants." -msgstr "" - -#: ../../library/ssl.rst:601 -msgid "" -"Selects the highest protocol version that both the client and server " -"support. Despite the name, this option can select both \"SSL\" and \"TLS\" " -"protocols." -msgstr "" - -#: ../../library/ssl.rst:608 -msgid "" -"TLS clients and servers require different default settings for secure " -"communication. The generic TLS protocol constant is deprecated in favor of " -":data:`PROTOCOL_TLS_CLIENT` and :data:`PROTOCOL_TLS_SERVER`." -msgstr "" - -#: ../../library/ssl.rst:614 -msgid "" -"Auto-negotiate the highest protocol version that both the client and server " -"support, and configure the context client-side connections. The protocol " -"enables :data:`CERT_REQUIRED` and :attr:`~SSLContext.check_hostname` by " -"default." -msgstr "" - -#: ../../library/ssl.rst:623 -msgid "" -"Auto-negotiate the highest protocol version that both the client and server " -"support, and configure the context server-side connections." -msgstr "" - -#: ../../library/ssl.rst:630 -msgid "Alias for :data:`PROTOCOL_TLS`." -msgstr "" - -#: ../../library/ssl.rst:634 -msgid "Use :data:`PROTOCOL_TLS` instead." -msgstr "" - -#: ../../library/ssl.rst:638 -msgid "Selects SSL version 3 as the channel encryption protocol." -msgstr "" - -#: ../../library/ssl.rst:640 -msgid "" -"This protocol is not available if OpenSSL is compiled with the ``no-ssl3`` " -"option." -msgstr "" - -#: ../../library/ssl.rst:645 -msgid "SSL version 3 is insecure. Its use is highly discouraged." -msgstr "" - -#: ../../library/ssl.rst:649 -msgid "" -"OpenSSL has deprecated all version specific protocols. Use the default " -"protocol :data:`PROTOCOL_TLS_SERVER` or :data:`PROTOCOL_TLS_CLIENT` with " -":attr:`SSLContext.minimum_version` and :attr:`SSLContext.maximum_version` " -"instead." -msgstr "" - -#: ../../library/ssl.rst:657 -msgid "Selects TLS version 1.0 as the channel encryption protocol." -msgstr "" - -#: ../../library/ssl.rst:661 ../../library/ssl.rst:672 -#: ../../library/ssl.rst:683 -msgid "OpenSSL has deprecated all version specific protocols." -msgstr "" - -#: ../../library/ssl.rst:665 -msgid "" -"Selects TLS version 1.1 as the channel encryption protocol. Available only " -"with openssl version 1.0.1+." -msgstr "" - -#: ../../library/ssl.rst:676 -msgid "" -"Selects TLS version 1.2 as the channel encryption protocol. Available only " -"with openssl version 1.0.1+." -msgstr "" - -#: ../../library/ssl.rst:687 -msgid "" -"Enables workarounds for various bugs present in other SSL implementations. " -"This option is set by default. It does not necessarily set the same flags " -"as OpenSSL's ``SSL_OP_ALL`` constant." -msgstr "" - -#: ../../library/ssl.rst:695 -msgid "" -"Prevents an SSLv2 connection. This option is only applicable in conjunction" -" with :const:`PROTOCOL_TLS`. It prevents the peers from choosing SSLv2 as " -"the protocol version." -msgstr "" - -#: ../../library/ssl.rst:703 -msgid "SSLv2 is deprecated" -msgstr "" - -#: ../../library/ssl.rst:707 -msgid "" -"Prevents an SSLv3 connection. This option is only applicable in conjunction" -" with :const:`PROTOCOL_TLS`. It prevents the peers from choosing SSLv3 as " -"the protocol version." -msgstr "" - -#: ../../library/ssl.rst:715 -msgid "SSLv3 is deprecated" -msgstr "" - -#: ../../library/ssl.rst:719 -msgid "" -"Prevents a TLSv1 connection. This option is only applicable in conjunction " -"with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1 as " -"the protocol version." -msgstr "" - -#: ../../library/ssl.rst:725 -msgid "" -"The option is deprecated since OpenSSL 1.1.0, use the new " -":attr:`SSLContext.minimum_version` and :attr:`SSLContext.maximum_version` " -"instead." -msgstr "" - -#: ../../library/ssl.rst:732 -msgid "" -"Prevents a TLSv1.1 connection. This option is only applicable in conjunction" -" with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1.1 as " -"the protocol version. Available only with openssl version 1.0.1+." -msgstr "" - -#: ../../library/ssl.rst:738 ../../library/ssl.rst:749 -msgid "The option is deprecated since OpenSSL 1.1.0." -msgstr "" - -#: ../../library/ssl.rst:743 -msgid "" -"Prevents a TLSv1.2 connection. This option is only applicable in conjunction" -" with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1.2 as " -"the protocol version. Available only with openssl version 1.0.1+." -msgstr "" - -#: ../../library/ssl.rst:754 -msgid "" -"Prevents a TLSv1.3 connection. This option is only applicable in conjunction" -" with :const:`PROTOCOL_TLS`. It prevents the peers from choosing TLSv1.3 as " -"the protocol version. TLS 1.3 is available with OpenSSL 1.1.1 or later. When" -" Python has been compiled against an older version of OpenSSL, the flag " -"defaults to *0*." -msgstr "" - -#: ../../library/ssl.rst:762 -msgid "" -"The option is deprecated since OpenSSL 1.1.0. It was added to 2.7.15 and " -"3.6.3 for backwards compatibility with OpenSSL 1.0.2." -msgstr "" - -#: ../../library/ssl.rst:768 -msgid "" -"Disable all renegotiation in TLSv1.2 and earlier. Do not send HelloRequest " -"messages, and ignore renegotiation requests via ClientHello." -msgstr "" - -#: ../../library/ssl.rst:771 -msgid "This option is only available with OpenSSL 1.1.0h and later." -msgstr "" - -#: ../../library/ssl.rst:777 -msgid "" -"Use the server's cipher ordering preference, rather than the client's. This " -"option has no effect on client sockets and SSLv2 server sockets." -msgstr "" - -#: ../../library/ssl.rst:784 -msgid "" -"Prevents reuse of the same DH key for distinct SSL sessions. This improves " -"forward secrecy but requires more computational resources. This option only " -"applies to server sockets." -msgstr "" - -#: ../../library/ssl.rst:792 -msgid "" -"Prevents reuse of the same ECDH key for distinct SSL sessions. This " -"improves forward secrecy but requires more computational resources. This " -"option only applies to server sockets." -msgstr "" - -#: ../../library/ssl.rst:800 -msgid "" -"Send dummy Change Cipher Spec (CCS) messages in TLS 1.3 handshake to make a " -"TLS 1.3 connection look more like a TLS 1.2 connection." -msgstr "" - -#: ../../library/ssl.rst:803 -msgid "This option is only available with OpenSSL 1.1.1 and later." -msgstr "" - -#: ../../library/ssl.rst:809 -msgid "" -"Disable compression on the SSL channel. This is useful if the application " -"protocol supports its own compression scheme." -msgstr "" - -#: ../../library/ssl.rst:816 -msgid ":class:`enum.IntFlag` collection of OP_* constants." -msgstr "" - -#: ../../library/ssl.rst:820 -msgid "Prevent client side from requesting a session ticket." -msgstr "" - -#: ../../library/ssl.rst:826 -msgid "Ignore unexpected shutdown of TLS connections." -msgstr "" - -#: ../../library/ssl.rst:828 ../../library/ssl.rst:844 -msgid "This option is only available with OpenSSL 3.0.0 and later." -msgstr "" - -#: ../../library/ssl.rst:834 -msgid "" -"Enable the use of the kernel TLS. To benefit from the feature, OpenSSL must " -"have been compiled with support for it, and the negotiated cipher suites and" -" extensions must be supported by it (a list of supported ones may vary by " -"platform and kernel version)." -msgstr "" - -#: ../../library/ssl.rst:839 -msgid "" -"Note that with enabled kernel TLS some cryptographic operations are " -"performed by the kernel directly and not via any available OpenSSL " -"Providers. This might be undesirable if, for example, the application " -"requires all cryptographic operations to be performed by the FIPS provider." -msgstr "" - -#: ../../library/ssl.rst:850 -msgid "" -"Allow legacy insecure renegotiation between OpenSSL and unpatched servers " -"only." -msgstr "" - -#: ../../library/ssl.rst:857 -msgid "" -"Whether the OpenSSL library has built-in support for the *Application-Layer " -"Protocol Negotiation* TLS extension as described in :rfc:`7301`." -msgstr "" - -#: ../../library/ssl.rst:864 -msgid "" -"Whether the OpenSSL library has built-in support not checking subject common" -" name and :attr:`SSLContext.hostname_checks_common_name` is writeable." -msgstr "" - -#: ../../library/ssl.rst:872 -msgid "" -"Whether the OpenSSL library has built-in support for the Elliptic Curve-" -"based Diffie-Hellman key exchange. This should be true unless the feature " -"was explicitly disabled by the distributor." -msgstr "" - -#: ../../library/ssl.rst:880 -msgid "" -"Whether the OpenSSL library has built-in support for the *Server Name " -"Indication* extension (as defined in :rfc:`6066`)." -msgstr "" - -#: ../../library/ssl.rst:887 -msgid "" -"Whether the OpenSSL library has built-in support for the *Next Protocol " -"Negotiation* as described in the `Application Layer Protocol Negotiation " -"`_. " -"When true, you can use the :meth:`SSLContext.set_npn_protocols` method to " -"advertise which protocols you want to support." -msgstr "" - -#: ../../library/ssl.rst:897 -msgid "" -"Whether the OpenSSL library has built-in support for the SSL 2.0 protocol." -msgstr "" - -#: ../../library/ssl.rst:903 -msgid "" -"Whether the OpenSSL library has built-in support for the SSL 3.0 protocol." -msgstr "" - -#: ../../library/ssl.rst:909 -msgid "" -"Whether the OpenSSL library has built-in support for the TLS 1.0 protocol." -msgstr "" - -#: ../../library/ssl.rst:915 -msgid "" -"Whether the OpenSSL library has built-in support for the TLS 1.1 protocol." -msgstr "" - -#: ../../library/ssl.rst:921 -msgid "" -"Whether the OpenSSL library has built-in support for the TLS 1.2 protocol." -msgstr "" - -#: ../../library/ssl.rst:927 -msgid "" -"Whether the OpenSSL library has built-in support for the TLS 1.3 protocol." -msgstr "" - -#: ../../library/ssl.rst:933 -msgid "Whether the OpenSSL library has built-in support for TLS-PSK." -msgstr "" - -#: ../../library/ssl.rst:939 -msgid "Whether the OpenSSL library has built-in support for TLS-PHA." -msgstr "" - -#: ../../library/ssl.rst:945 -msgid "" -"List of supported TLS channel binding types. Strings in this list can be " -"used as arguments to :meth:`SSLSocket.get_channel_binding`." -msgstr "" - -#: ../../library/ssl.rst:952 -msgid "The version string of the OpenSSL library loaded by the interpreter::" -msgstr "" - -#: ../../library/ssl.rst:954 -msgid "" -">>> ssl.OPENSSL_VERSION\n" -"'OpenSSL 1.0.2k 26 Jan 2017'" -msgstr "" - -#: ../../library/ssl.rst:961 -msgid "" -"A tuple of five integers representing version information about the OpenSSL " -"library::" -msgstr "" - -#: ../../library/ssl.rst:964 -msgid "" -">>> ssl.OPENSSL_VERSION_INFO\n" -"(1, 0, 2, 11, 15)" -msgstr "" - -#: ../../library/ssl.rst:971 -msgid "The raw version number of the OpenSSL library, as a single integer::" -msgstr "" - -#: ../../library/ssl.rst:973 -msgid "" -">>> ssl.OPENSSL_VERSION_NUMBER\n" -"268443839\n" -">>> hex(ssl.OPENSSL_VERSION_NUMBER)\n" -"'0x100020bf'" -msgstr "" - -#: ../../library/ssl.rst:984 -msgid "" -"Alert Descriptions from :rfc:`5246` and others. The `IANA TLS Alert Registry" -" `_ contains this list and references to the RFCs where their " -"meaning is defined." -msgstr "" - -#: ../../library/ssl.rst:988 -msgid "" -"Used as the return value of the callback function in " -":meth:`SSLContext.set_servername_callback`." -msgstr "" - -#: ../../library/ssl.rst:995 -msgid ":class:`enum.IntEnum` collection of ALERT_DESCRIPTION_* constants." -msgstr "" - -#: ../../library/ssl.rst:1001 -msgid "" -"Option for :func:`create_default_context` and " -":meth:`SSLContext.load_default_certs`. This value indicates that the " -"context may be used to authenticate web servers (therefore, it will be used " -"to create client-side sockets)." -msgstr "" - -#: ../../library/ssl.rst:1010 -msgid "" -"Option for :func:`create_default_context` and " -":meth:`SSLContext.load_default_certs`. This value indicates that the " -"context may be used to authenticate web clients (therefore, it will be used " -"to create server-side sockets)." -msgstr "" - -#: ../../library/ssl.rst:1019 -msgid ":class:`enum.IntEnum` collection of SSL_ERROR_* constants." -msgstr "" - -#: ../../library/ssl.rst:1025 -msgid "" -":class:`enum.IntEnum` collection of SSL and TLS versions for " -":attr:`SSLContext.maximum_version` and :attr:`SSLContext.minimum_version`." -msgstr "" - -#: ../../library/ssl.rst:1033 -msgid "" -"The minimum or maximum supported SSL or TLS version. These are magic " -"constants. Their values don't reflect the lowest and highest available " -"TLS/SSL versions." -msgstr "" - -#: ../../library/ssl.rst:1043 -msgid "SSL 3.0 to TLS 1.3." -msgstr "" - -#: ../../library/ssl.rst:1047 -msgid "" -"All :class:`TLSVersion` members except :attr:`TLSVersion.TLSv1_2` and " -":attr:`TLSVersion.TLSv1_3` are deprecated." -msgstr "" - -#: ../../library/ssl.rst:1052 -msgid "SSL Sockets" -msgstr "" - -#: ../../library/ssl.rst:1056 -msgid "SSL sockets provide the following methods of :ref:`socket-objects`:" -msgstr "" - -#: ../../library/ssl.rst:1058 -msgid ":meth:`~socket.socket.accept`" -msgstr "" - -#: ../../library/ssl.rst:1059 -msgid ":meth:`~socket.socket.bind`" -msgstr "" - -#: ../../library/ssl.rst:1060 -msgid ":meth:`~socket.socket.close`" -msgstr "" - -#: ../../library/ssl.rst:1061 -msgid ":meth:`~socket.socket.connect`" -msgstr "" - -#: ../../library/ssl.rst:1062 -msgid ":meth:`~socket.socket.detach`" -msgstr "" - -#: ../../library/ssl.rst:1063 -msgid ":meth:`~socket.socket.fileno`" -msgstr "" - -#: ../../library/ssl.rst:1064 -msgid ":meth:`~socket.socket.getpeername`, :meth:`~socket.socket.getsockname`" -msgstr "" - -#: ../../library/ssl.rst:1065 -msgid ":meth:`~socket.socket.getsockopt`, :meth:`~socket.socket.setsockopt`" -msgstr "" - -#: ../../library/ssl.rst:1066 -msgid "" -":meth:`~socket.socket.gettimeout`, :meth:`~socket.socket.settimeout`, " -":meth:`~socket.socket.setblocking`" -msgstr "" - -#: ../../library/ssl.rst:1068 -msgid ":meth:`~socket.socket.listen`" -msgstr "" - -#: ../../library/ssl.rst:1069 -msgid ":meth:`~socket.socket.makefile`" -msgstr "" - -#: ../../library/ssl.rst:1070 -msgid "" -":meth:`~socket.socket.recv`, :meth:`~socket.socket.recv_into` (but passing a" -" non-zero ``flags`` argument is not allowed)" -msgstr "" - -#: ../../library/ssl.rst:1072 -msgid "" -":meth:`~socket.socket.send`, :meth:`~socket.socket.sendall` (with the same " -"limitation)" -msgstr "" - -#: ../../library/ssl.rst:1074 -msgid "" -":meth:`~socket.socket.sendfile` (but :mod:`os.sendfile` will be used for " -"plain-text sockets only, else :meth:`~socket.socket.send` will be used)" -msgstr "" - -#: ../../library/ssl.rst:1076 -msgid ":meth:`~socket.socket.shutdown`" -msgstr "" - -#: ../../library/ssl.rst:1078 -msgid "" -"However, since the SSL (and TLS) protocol has its own framing atop of TCP, " -"the SSL sockets abstraction can, in certain respects, diverge from the " -"specification of normal, OS-level sockets. See especially the :ref:`notes " -"on non-blocking sockets `." -msgstr "" - -#: ../../library/ssl.rst:1083 -msgid "" -"Instances of :class:`SSLSocket` must be created using the " -":meth:`SSLContext.wrap_socket` method." -msgstr "" - -#: ../../library/ssl.rst:1086 -msgid "The :meth:`sendfile` method was added." -msgstr "" - -#: ../../library/ssl.rst:1089 -msgid "" -"The :meth:`shutdown` does not reset the socket timeout each time bytes are " -"received or sent. The socket timeout is now the maximum total duration of " -"the shutdown." -msgstr "" - -#: ../../library/ssl.rst:1094 -msgid "" -"It is deprecated to create a :class:`SSLSocket` instance directly, use " -":meth:`SSLContext.wrap_socket` to wrap a socket." -msgstr "" - -#: ../../library/ssl.rst:1098 -msgid "" -":class:`SSLSocket` instances must to created with " -":meth:`~SSLContext.wrap_socket`. In earlier versions, it was possible to " -"create instances directly. This was never documented or officially " -"supported." -msgstr "" - -#: ../../library/ssl.rst:1104 -msgid "" -"Python now uses ``SSL_read_ex`` and ``SSL_write_ex`` internally. The " -"functions support reading and writing of data larger than 2 GB. Writing " -"zero-length data no longer fails with a protocol violation error." -msgstr "" - -#: ../../library/ssl.rst:1109 -msgid "SSL sockets also have the following additional methods and attributes:" -msgstr "" - -#: ../../library/ssl.rst:1113 -msgid "" -"Read up to *len* bytes of data from the SSL socket and return the result as " -"a ``bytes`` instance. If *buffer* is specified, then read into the buffer " -"instead, and return the number of bytes read." -msgstr "" - -#: ../../library/ssl.rst:1117 -msgid "" -"Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket is " -":ref:`non-blocking ` and the read would block." -msgstr "" - -#: ../../library/ssl.rst:1120 -msgid "" -"As at any time a re-negotiation is possible, a call to :meth:`read` can also" -" cause write operations." -msgstr "" - -#: ../../library/ssl.rst:1123 -msgid "" -"The socket timeout is no longer reset each time bytes are received or sent. " -"The socket timeout is now the maximum total duration to read up to *len* " -"bytes." -msgstr "" - -#: ../../library/ssl.rst:1128 -msgid "Use :meth:`~SSLSocket.recv` instead of :meth:`~SSLSocket.read`." -msgstr "" - -#: ../../library/ssl.rst:1133 -msgid "" -"Write *buf* to the SSL socket and return the number of bytes written. The " -"*buf* argument must be an object supporting the buffer interface." -msgstr "" - -#: ../../library/ssl.rst:1136 -msgid "" -"Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket is " -":ref:`non-blocking ` and the write would block." -msgstr "" - -#: ../../library/ssl.rst:1139 -msgid "" -"As at any time a re-negotiation is possible, a call to :meth:`write` can " -"also cause read operations." -msgstr "" - -#: ../../library/ssl.rst:1142 -msgid "" -"The socket timeout is no longer reset each time bytes are received or sent. " -"The socket timeout is now the maximum total duration to write *buf*." -msgstr "" - -#: ../../library/ssl.rst:1146 -msgid "Use :meth:`~SSLSocket.send` instead of :meth:`~SSLSocket.write`." -msgstr "" - -#: ../../library/ssl.rst:1151 -msgid "" -"The :meth:`~SSLSocket.read` and :meth:`~SSLSocket.write` methods are the " -"low-level methods that read and write unencrypted, application-level data " -"and decrypt/encrypt it to encrypted, wire-level data. These methods require " -"an active SSL connection, i.e. the handshake was completed and " -":meth:`SSLSocket.unwrap` was not called." -msgstr "" - -#: ../../library/ssl.rst:1157 -msgid "" -"Normally you should use the socket API methods like " -":meth:`~socket.socket.recv` and :meth:`~socket.socket.send` instead of these" -" methods." -msgstr "" - -#: ../../library/ssl.rst:1163 -msgid "Perform the SSL setup handshake." -msgstr "" - -#: ../../library/ssl.rst:1165 -msgid "" -"The handshake method also performs :func:`match_hostname` when the " -":attr:`~SSLContext.check_hostname` attribute of the socket's " -":attr:`~SSLSocket.context` is true." -msgstr "" - -#: ../../library/ssl.rst:1170 -msgid "" -"The socket timeout is no longer reset each time bytes are received or sent. " -"The socket timeout is now the maximum total duration of the handshake." -msgstr "" - -#: ../../library/ssl.rst:1174 -msgid "" -"Hostname or IP address is matched by OpenSSL during handshake. The function " -":func:`match_hostname` is no longer used. In case OpenSSL refuses a hostname" -" or IP address, the handshake is aborted early and a TLS alert message is " -"sent to the peer." -msgstr "" - -#: ../../library/ssl.rst:1182 -msgid "" -"If there is no certificate for the peer on the other end of the connection, " -"return ``None``. If the SSL handshake hasn't been done yet, raise " -":exc:`ValueError`." -msgstr "" - -#: ../../library/ssl.rst:1186 -msgid "" -"If the ``binary_form`` parameter is :const:`False`, and a certificate was " -"received from the peer, this method returns a :class:`dict` instance. If " -"the certificate was not validated, the dict is empty. If the certificate " -"was validated, it returns a dict with several keys, amongst them ``subject``" -" (the principal for which the certificate was issued) and ``issuer`` (the " -"principal issuing the certificate). If a certificate contains an instance " -"of the *Subject Alternative Name* extension (see :rfc:`3280`), there will " -"also be a ``subjectAltName`` key in the dictionary." -msgstr "" - -#: ../../library/ssl.rst:1195 -msgid "" -"The ``subject`` and ``issuer`` fields are tuples containing the sequence of " -"relative distinguished names (RDNs) given in the certificate's data " -"structure for the respective fields, and each RDN is a sequence of name-" -"value pairs. Here is a real-world example::" -msgstr "" - -#: ../../library/ssl.rst:1200 -msgid "" -"{'issuer': ((('countryName', 'IL'),),\n" -" (('organizationName', 'StartCom Ltd.'),),\n" -" (('organizationalUnitName',\n" -" 'Secure Digital Certificate Signing'),),\n" -" (('commonName',\n" -" 'StartCom Class 2 Primary Intermediate Server CA'),)),\n" -" 'notAfter': 'Nov 22 08:15:19 2013 GMT',\n" -" 'notBefore': 'Nov 21 03:09:52 2011 GMT',\n" -" 'serialNumber': '95F0',\n" -" 'subject': ((('description', '571208-SLe257oHY9fVQ07Z'),),\n" -" (('countryName', 'US'),),\n" -" (('stateOrProvinceName', 'California'),),\n" -" (('localityName', 'San Francisco'),),\n" -" (('organizationName', 'Electronic Frontier Foundation, Inc.'),),\n" -" (('commonName', '*.eff.org'),),\n" -" (('emailAddress', 'hostmaster@eff.org'),)),\n" -" 'subjectAltName': (('DNS', '*.eff.org'), ('DNS', 'eff.org')),\n" -" 'version': 3}" -msgstr "" - -#: ../../library/ssl.rst:1219 -msgid "" -"If the ``binary_form`` parameter is :const:`True`, and a certificate was " -"provided, this method returns the DER-encoded form of the entire certificate" -" as a sequence of bytes, or :const:`None` if the peer did not provide a " -"certificate. Whether the peer provides a certificate depends on the SSL " -"socket's role:" -msgstr "" - -#: ../../library/ssl.rst:1225 -msgid "" -"for a client SSL socket, the server will always provide a certificate, " -"regardless of whether validation was required;" -msgstr "" - -#: ../../library/ssl.rst:1228 -msgid "" -"for a server SSL socket, the client will only provide a certificate when " -"requested by the server; therefore :meth:`getpeercert` will return " -":const:`None` if you used :const:`CERT_NONE` (rather than " -":const:`CERT_OPTIONAL` or :const:`CERT_REQUIRED`)." -msgstr "" - -#: ../../library/ssl.rst:1233 -msgid "See also :attr:`SSLContext.check_hostname`." -msgstr "" - -#: ../../library/ssl.rst:1235 -msgid "" -"The returned dictionary includes additional items such as ``issuer`` and " -"``notBefore``." -msgstr "" - -#: ../../library/ssl.rst:1239 -msgid "" -":exc:`ValueError` is raised when the handshake isn't done. The returned " -"dictionary includes additional X509v3 extension items such as " -"``crlDistributionPoints``, ``caIssuers`` and ``OCSP`` URIs." -msgstr "" - -#: ../../library/ssl.rst:1244 -msgid "IPv6 address strings no longer have a trailing new line." -msgstr "" - -#: ../../library/ssl.rst:1249 -msgid "" -"Returns verified certificate chain provided by the other end of the SSL " -"channel as a list of DER-encoded bytes. If certificate verification was " -"disabled method acts the same as :meth:`~SSLSocket.get_unverified_chain`." -msgstr "" - -#: ../../library/ssl.rst:1258 -msgid "" -"Returns raw certificate chain provided by the other end of the SSL channel " -"as a list of DER-encoded bytes." -msgstr "" - -#: ../../library/ssl.rst:1265 -msgid "" -"Returns a three-value tuple containing the name of the cipher being used, " -"the version of the SSL protocol that defines its use, and the number of " -"secret bits being used. If no connection has been established, returns " -"``None``." -msgstr "" - -#: ../../library/ssl.rst:1271 -msgid "" -"Return the list of ciphers available in both the client and server. Each " -"entry of the returned list is a three-value tuple containing the name of the" -" cipher, the version of the SSL protocol that defines its use, and the " -"number of secret bits the cipher uses. :meth:`~SSLSocket.shared_ciphers` " -"returns ``None`` if no connection has been established or the socket is a " -"client socket." -msgstr "" - -#: ../../library/ssl.rst:1282 -msgid "" -"Return the compression algorithm being used as a string, or ``None`` if the " -"connection isn't compressed." -msgstr "" - -#: ../../library/ssl.rst:1285 -msgid "" -"If the higher-level protocol supports its own compression mechanism, you can" -" use :data:`OP_NO_COMPRESSION` to disable SSL-level compression." -msgstr "" - -#: ../../library/ssl.rst:1292 -msgid "" -"Get channel binding data for current connection, as a bytes object. Returns" -" ``None`` if not connected or the handshake has not been completed." -msgstr "" - -#: ../../library/ssl.rst:1295 -msgid "" -"The *cb_type* parameter allow selection of the desired channel binding type." -" Valid channel binding types are listed in the :data:`CHANNEL_BINDING_TYPES`" -" list. Currently only the 'tls-unique' channel binding, defined by " -":rfc:`5929`, is supported. :exc:`ValueError` will be raised if an " -"unsupported channel binding type is requested." -msgstr "" - -#: ../../library/ssl.rst:1305 -msgid "" -"Return the protocol that was selected during the TLS handshake. If " -":meth:`SSLContext.set_alpn_protocols` was not called, if the other party " -"does not support ALPN, if this socket does not support any of the client's " -"proposed protocols, or if the handshake has not happened yet, ``None`` is " -"returned." -msgstr "" - -#: ../../library/ssl.rst:1315 -msgid "" -"Return the higher-level protocol that was selected during the TLS/SSL " -"handshake. If :meth:`SSLContext.set_npn_protocols` was not called, or if the" -" other party does not support NPN, or if the handshake has not yet happened," -" this will return ``None``." -msgstr "" - -#: ../../library/ssl.rst:1324 ../../library/ssl.rst:1693 -msgid "NPN has been superseded by ALPN" -msgstr "" - -#: ../../library/ssl.rst:1328 -msgid "" -"Performs the SSL shutdown handshake, which removes the TLS layer from the " -"underlying socket, and returns the underlying socket object. This can be " -"used to go from encrypted operation over a connection to unencrypted. The " -"returned socket should always be used for further communication with the " -"other side of the connection, rather than the original socket." -msgstr "" - -#: ../../library/ssl.rst:1336 -msgid "" -"Requests post-handshake authentication (PHA) from a TLS 1.3 client. PHA can " -"only be initiated for a TLS 1.3 connection from a server-side socket, after " -"the initial TLS handshake and with PHA enabled on both sides, see " -":attr:`SSLContext.post_handshake_auth`." -msgstr "" - -#: ../../library/ssl.rst:1341 -msgid "" -"The method does not perform a cert exchange immediately. The server-side " -"sends a CertificateRequest during the next write event and expects the " -"client to respond with a certificate on the next read event." -msgstr "" - -#: ../../library/ssl.rst:1345 -msgid "" -"If any precondition isn't met (e.g. not TLS 1.3, PHA not enabled), an " -":exc:`SSLError` is raised." -msgstr "" - -#: ../../library/ssl.rst:1349 -msgid "" -"Only available with OpenSSL 1.1.1 and TLS 1.3 enabled. Without TLS 1.3 " -"support, the method raises :exc:`NotImplementedError`." -msgstr "" - -#: ../../library/ssl.rst:1356 -msgid "" -"Return the actual SSL protocol version negotiated by the connection as a " -"string, or ``None`` if no secure connection is established. As of this " -"writing, possible return values include ``\"SSLv2\"``, ``\"SSLv3\"``, " -"``\"TLSv1\"``, ``\"TLSv1.1\"`` and ``\"TLSv1.2\"``. Recent OpenSSL versions " -"may define more return values." -msgstr "" - -#: ../../library/ssl.rst:1366 -msgid "" -"Returns the number of already decrypted bytes available for read, pending on" -" the connection." -msgstr "" - -#: ../../library/ssl.rst:1371 -msgid "The :class:`SSLContext` object this SSL socket is tied to." -msgstr "" - -#: ../../library/ssl.rst:1377 -msgid "" -"A boolean which is ``True`` for server-side sockets and ``False`` for " -"client-side sockets." -msgstr "" - -#: ../../library/ssl.rst:1384 -msgid "" -"Hostname of the server: :class:`str` type, or ``None`` for server-side " -"socket or if the hostname was not specified in the constructor." -msgstr "" - -#: ../../library/ssl.rst:1389 -msgid "" -"The attribute is now always ASCII text. When ``server_hostname`` is an " -"internationalized domain name (IDN), this attribute now stores the A-label " -"form (``\"xn--pythn-mua.org\"``), rather than the U-label form " -"(``\"pythön.org\"``)." -msgstr "" - -#: ../../library/ssl.rst:1397 -msgid "" -"The :class:`SSLSession` for this SSL connection. The session is available " -"for client and server side sockets after the TLS handshake has been " -"performed. For client sockets the session can be set before " -":meth:`~SSLSocket.do_handshake` has been called to reuse a session." -msgstr "" - -#: ../../library/ssl.rst:1410 -msgid "SSL Contexts" -msgstr "" - -#: ../../library/ssl.rst:1414 -msgid "" -"An SSL context holds various data longer-lived than single SSL connections, " -"such as SSL configuration options, certificate(s) and private key(s). It " -"also manages a cache of SSL sessions for server-side sockets, in order to " -"speed up repeated connections from the same clients." -msgstr "" - -#: ../../library/ssl.rst:1421 -msgid "" -"Create a new SSL context. You may pass *protocol* which must be one of the " -"``PROTOCOL_*`` constants defined in this module. The parameter specifies " -"which version of the SSL protocol to use. Typically, the server chooses a " -"particular protocol version, and the client must adapt to the server's " -"choice. Most of the versions are not interoperable with the other versions." -" If not specified, the default is :data:`PROTOCOL_TLS`; it provides the " -"most compatibility with other versions." -msgstr "" - -#: ../../library/ssl.rst:1430 -msgid "" -"Here's a table showing which versions in a client (down the side) can " -"connect to which versions in a server (along the top):" -msgstr "" - -#: ../../library/ssl.rst:1436 -msgid "*client* / **server**" -msgstr "" - -#: ../../library/ssl.rst:1436 -msgid "**SSLv2**" -msgstr "**SSLv2**" - -#: ../../library/ssl.rst:1436 -msgid "**SSLv3**" -msgstr "**SSLv3**" - -#: ../../library/ssl.rst:1436 -msgid "**TLS** [3]_" -msgstr "" - -#: ../../library/ssl.rst:1436 -msgid "**TLSv1**" -msgstr "**TLSv1**" - -#: ../../library/ssl.rst:1436 -msgid "**TLSv1.1**" -msgstr "**TLSv1.1**" - -#: ../../library/ssl.rst:1436 -msgid "**TLSv1.2**" -msgstr "**TLSv1.2**" - -#: ../../library/ssl.rst:1438 -msgid "*SSLv2*" -msgstr "*SSLv2*" - -#: ../../library/ssl.rst:1438 ../../library/ssl.rst:1439 -#: ../../library/ssl.rst:1440 ../../library/ssl.rst:1441 -#: ../../library/ssl.rst:1442 ../../library/ssl.rst:1443 -msgid "yes" -msgstr "ya" - -#: ../../library/ssl.rst:1438 ../../library/ssl.rst:1439 -#: ../../library/ssl.rst:1441 ../../library/ssl.rst:1442 -#: ../../library/ssl.rst:1443 -msgid "no" -msgstr "tidak" - -#: ../../library/ssl.rst:1438 ../../library/ssl.rst:1440 -msgid "no [1]_" -msgstr "" - -#: ../../library/ssl.rst:1439 -msgid "*SSLv3*" -msgstr "*SSLv3*" - -#: ../../library/ssl.rst:1439 ../../library/ssl.rst:1440 -msgid "no [2]_" -msgstr "" - -#: ../../library/ssl.rst:1440 -msgid "*TLS* (*SSLv23*) [3]_" -msgstr "" - -#: ../../library/ssl.rst:1441 -msgid "*TLSv1*" -msgstr "*TLSv1*" - -#: ../../library/ssl.rst:1442 -msgid "*TLSv1.1*" -msgstr "*TLSv1.1*" - -#: ../../library/ssl.rst:1443 -msgid "*TLSv1.2*" -msgstr "*TLSv1.2*" - -#: ../../library/ssl.rst:1446 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/ssl.rst:1447 -msgid "" -":class:`SSLContext` disables SSLv2 with :data:`OP_NO_SSLv2` by default." -msgstr "" - -#: ../../library/ssl.rst:1448 -msgid "" -":class:`SSLContext` disables SSLv3 with :data:`OP_NO_SSLv3` by default." -msgstr "" - -#: ../../library/ssl.rst:1449 -msgid "" -"TLS 1.3 protocol will be available with :data:`PROTOCOL_TLS` in OpenSSL >= " -"1.1.1. There is no dedicated PROTOCOL constant for just TLS 1.3." -msgstr "" - -#: ../../library/ssl.rst:1454 -msgid "" -":func:`create_default_context` lets the :mod:`ssl` module choose security " -"settings for a given purpose." -msgstr "" - -#: ../../library/ssl.rst:1459 -msgid "" -"The context is created with secure default values. The options " -":data:`OP_NO_COMPRESSION`, :data:`OP_CIPHER_SERVER_PREFERENCE`, " -":data:`OP_SINGLE_DH_USE`, :data:`OP_SINGLE_ECDH_USE`, :data:`OP_NO_SSLv2`, " -"and :data:`OP_NO_SSLv3` (except for :data:`PROTOCOL_SSLv3`) are set by " -"default. The initial cipher suite list contains only ``HIGH`` ciphers, no " -"``NULL`` ciphers and no ``MD5`` ciphers." -msgstr "" - -#: ../../library/ssl.rst:1469 -msgid "" -":class:`SSLContext` without protocol argument is deprecated. The context " -"class will either require :data:`PROTOCOL_TLS_CLIENT` or " -":data:`PROTOCOL_TLS_SERVER` protocol in the future." -msgstr "" - -#: ../../library/ssl.rst:1475 -msgid "" -"The default cipher suites now include only secure AES and ChaCha20 ciphers " -"with forward secrecy and security level 2. RSA and DH keys with less than " -"2048 bits and ECC keys with less than 224 bits are prohibited. " -":data:`PROTOCOL_TLS`, :data:`PROTOCOL_TLS_CLIENT`, and " -":data:`PROTOCOL_TLS_SERVER` use TLS 1.2 as minimum TLS version." -msgstr "" - -#: ../../library/ssl.rst:1483 -msgid "" -":class:`SSLContext` only supports limited mutation once it has been used by " -"a connection. Adding new certificates to the internal trust store is " -"allowed, but changing ciphers, verification settings, or mTLS certificates " -"may result in surprising behavior." -msgstr "" - -#: ../../library/ssl.rst:1490 -msgid "" -":class:`SSLContext` is designed to be shared and used by multiple " -"connections. Thus, it is thread-safe as long as it is not reconfigured after" -" being used by a connection." -msgstr "" - -#: ../../library/ssl.rst:1495 -msgid ":class:`SSLContext` objects have the following methods and attributes:" -msgstr "" - -#: ../../library/ssl.rst:1499 -msgid "" -"Get statistics about quantities of loaded X.509 certificates, count of X.509" -" certificates flagged as CA certificates and certificate revocation lists as" -" dictionary." -msgstr "" - -#: ../../library/ssl.rst:1503 -msgid "Example for a context with one CA cert and one other cert::" -msgstr "" - -#: ../../library/ssl.rst:1505 -msgid "" -">>> context.cert_store_stats()\n" -"{'crl': 0, 'x509_ca': 1, 'x509': 2}" -msgstr "" - -#: ../../library/ssl.rst:1513 -msgid "" -"Load a private key and the corresponding certificate. The *certfile* string" -" must be the path to a single file in PEM format containing the certificate " -"as well as any number of CA certificates needed to establish the " -"certificate's authenticity. The *keyfile* string, if present, must point to" -" a file containing the private key. Otherwise the private key will be taken" -" from *certfile* as well. See the discussion of :ref:`ssl-certificates` for" -" more information on how the certificate is stored in the *certfile*." -msgstr "" - -#: ../../library/ssl.rst:1522 -msgid "" -"The *password* argument may be a function to call to get the password for " -"decrypting the private key. It will only be called if the private key is " -"encrypted and a password is necessary. It will be called with no arguments," -" and it should return a string, bytes, or bytearray. If the return value is" -" a string it will be encoded as UTF-8 before using it to decrypt the key. " -"Alternatively a string, bytes, or bytearray value may be supplied directly " -"as the *password* argument. It will be ignored if the private key is not " -"encrypted and no password is needed." -msgstr "" - -#: ../../library/ssl.rst:1531 -msgid "" -"If the *password* argument is not specified and a password is required, " -"OpenSSL's built-in password prompting mechanism will be used to " -"interactively prompt the user for a password." -msgstr "" - -#: ../../library/ssl.rst:1535 -msgid "" -"An :class:`SSLError` is raised if the private key doesn't match with the " -"certificate." -msgstr "" - -#: ../../library/ssl.rst:1538 -msgid "New optional argument *password*." -msgstr "" - -#: ../../library/ssl.rst:1543 -msgid "" -"Load a set of default \"certification authority\" (CA) certificates from " -"default locations. On Windows it loads CA certs from the ``CA`` and ``ROOT``" -" system stores. On all systems it calls " -":meth:`SSLContext.set_default_verify_paths`. In the future the method may " -"load CA certificates from other locations, too." -msgstr "" - -#: ../../library/ssl.rst:1549 -msgid "" -"The *purpose* flag specifies what kind of CA certificates are loaded. The " -"default settings :const:`Purpose.SERVER_AUTH` loads certificates, that are " -"flagged and trusted for TLS web server authentication (client side sockets)." -" :const:`Purpose.CLIENT_AUTH` loads CA certificates for client certificate " -"verification on the server side." -msgstr "" - -#: ../../library/ssl.rst:1559 -msgid "" -"Load a set of \"certification authority\" (CA) certificates used to validate" -" other peers' certificates when :data:`verify_mode` is other than " -":data:`CERT_NONE`. At least one of *cafile* or *capath* must be specified." -msgstr "" - -#: ../../library/ssl.rst:1563 -msgid "" -"This method can also load certification revocation lists (CRLs) in PEM or " -"DER format. In order to make use of CRLs, :attr:`SSLContext.verify_flags` " -"must be configured properly." -msgstr "" - -#: ../../library/ssl.rst:1567 -msgid "" -"The *cafile* string, if present, is the path to a file of concatenated CA " -"certificates in PEM format. See the discussion of :ref:`ssl-certificates` " -"for more information about how to arrange the certificates in this file." -msgstr "" - -#: ../../library/ssl.rst:1572 -msgid "" -"The *capath* string, if present, is the path to a directory containing " -"several CA certificates in PEM format, following an `OpenSSL specific layout" -" `_." -msgstr "" - -#: ../../library/ssl.rst:1577 -msgid "" -"The *cadata* object, if present, is either an ASCII string of one or more " -"PEM-encoded certificates or a :term:`bytes-like object` of DER-encoded " -"certificates. Like with *capath* extra lines around PEM-encoded certificates" -" are ignored but at least one certificate must be present." -msgstr "" - -#: ../../library/ssl.rst:1582 -msgid "New optional argument *cadata*" -msgstr "" - -#: ../../library/ssl.rst:1587 -msgid "" -"Get a list of loaded \"certification authority\" (CA) certificates. If the " -"``binary_form`` parameter is :const:`False` each list entry is a dict like " -"the output of :meth:`SSLSocket.getpeercert`. Otherwise the method returns a " -"list of DER-encoded certificates. The returned list does not contain " -"certificates from *capath* unless a certificate was requested and loaded by " -"a SSL connection." -msgstr "" - -#: ../../library/ssl.rst:1595 -msgid "" -"Certificates in a capath directory aren't loaded unless they have been used " -"at least once." -msgstr "" - -#: ../../library/ssl.rst:1602 -msgid "" -"Get a list of enabled ciphers. The list is in order of cipher priority. See " -":meth:`SSLContext.set_ciphers`." -msgstr "" - -#: ../../library/ssl.rst:1607 -msgid "" -">>> ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)\n" -">>> ctx.set_ciphers('ECDHE+AESGCM:!ECDSA')\n" -">>> ctx.get_ciphers()\n" -"[{'aead': True,\n" -" 'alg_bits': 256,\n" -" 'auth': 'auth-rsa',\n" -" 'description': 'ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA '\n" -" 'Enc=AESGCM(256) Mac=AEAD',\n" -" 'digest': None,\n" -" 'id': 50380848,\n" -" 'kea': 'kx-ecdhe',\n" -" 'name': 'ECDHE-RSA-AES256-GCM-SHA384',\n" -" 'protocol': 'TLSv1.2',\n" -" 'strength_bits': 256,\n" -" 'symmetric': 'aes-256-gcm'},\n" -" {'aead': True,\n" -" 'alg_bits': 128,\n" -" 'auth': 'auth-rsa',\n" -" 'description': 'ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA '\n" -" 'Enc=AESGCM(128) Mac=AEAD',\n" -" 'digest': None,\n" -" 'id': 50380847,\n" -" 'kea': 'kx-ecdhe',\n" -" 'name': 'ECDHE-RSA-AES128-GCM-SHA256',\n" -" 'protocol': 'TLSv1.2',\n" -" 'strength_bits': 128,\n" -" 'symmetric': 'aes-128-gcm'}]" -msgstr "" - -#: ../../library/ssl.rst:1639 -msgid "" -"Load a set of default \"certification authority\" (CA) certificates from a " -"filesystem path defined when building the OpenSSL library. Unfortunately, " -"there's no easy way to know whether this method succeeds: no error is " -"returned if no certificates are to be found. When the OpenSSL library is " -"provided as part of the operating system, though, it is likely to be " -"configured properly." -msgstr "" - -#: ../../library/ssl.rst:1648 -msgid "" -"Set the available ciphers for sockets created with this context. It should " -"be a string in the `OpenSSL cipher list format " -"`_. If no cipher can be " -"selected (because compile-time options or other configuration forbids use of" -" all the specified ciphers), an :class:`SSLError` will be raised." -msgstr "" - -#: ../../library/ssl.rst:1656 -msgid "" -"when connected, the :meth:`SSLSocket.cipher` method of SSL sockets will give" -" the currently selected cipher." -msgstr "" - -#: ../../library/ssl.rst:1659 -msgid "" -"TLS 1.3 cipher suites cannot be disabled with " -":meth:`~SSLContext.set_ciphers`." -msgstr "" - -#: ../../library/ssl.rst:1664 -msgid "" -"Specify which protocols the socket should advertise during the SSL/TLS " -"handshake. It should be a list of ASCII strings, like ``['http/1.1', " -"'spdy/2']``, ordered by preference. The selection of a protocol will happen " -"during the handshake, and will play out according to :rfc:`7301`. After a " -"successful handshake, the :meth:`SSLSocket.selected_alpn_protocol` method " -"will return the agreed-upon protocol." -msgstr "" - -#: ../../library/ssl.rst:1671 -msgid "" -"This method will raise :exc:`NotImplementedError` if :data:`HAS_ALPN` is " -"``False``." -msgstr "" - -#: ../../library/ssl.rst:1678 -msgid "" -"Specify which protocols the socket should advertise during the SSL/TLS " -"handshake. It should be a list of strings, like ``['http/1.1', 'spdy/2']``, " -"ordered by preference. The selection of a protocol will happen during the " -"handshake, and will play out according to the `Application Layer Protocol " -"Negotiation `_. After a successful handshake, the " -":meth:`SSLSocket.selected_npn_protocol` method will return the agreed-upon " -"protocol." -msgstr "" - -#: ../../library/ssl.rst:1686 -msgid "" -"This method will raise :exc:`NotImplementedError` if :data:`HAS_NPN` is " -"``False``." -msgstr "" - -#: ../../library/ssl.rst:1697 -msgid "" -"Register a callback function that will be called after the TLS Client Hello " -"handshake message has been received by the SSL/TLS server when the TLS " -"client specifies a server name indication. The server name indication " -"mechanism is specified in :rfc:`6066` section 3 - Server Name Indication." -msgstr "" - -#: ../../library/ssl.rst:1702 -msgid "" -"Only one callback can be set per ``SSLContext``. If *sni_callback* is set " -"to ``None`` then the callback is disabled. Calling this function a " -"subsequent time will disable the previously registered callback." -msgstr "" - -#: ../../library/ssl.rst:1706 -msgid "" -"The callback function will be called with three arguments; the first being " -"the :class:`ssl.SSLSocket`, the second is a string that represents the " -"server name that the client is intending to communicate (or :const:`None` if" -" the TLS Client Hello does not contain a server name) and the third argument" -" is the original :class:`SSLContext`. The server name argument is text. For " -"internationalized domain name, the server name is an IDN A-label (``\"xn--" -"pythn-mua.org\"``)." -msgstr "" - -#: ../../library/ssl.rst:1714 -msgid "" -"A typical use of this callback is to change the :class:`ssl.SSLSocket`'s " -":attr:`SSLSocket.context` attribute to a new object of type " -":class:`SSLContext` representing a certificate chain that matches the server" -" name." -msgstr "" - -#: ../../library/ssl.rst:1719 -msgid "" -"Due to the early negotiation phase of the TLS connection, only limited " -"methods and attributes are usable like " -":meth:`SSLSocket.selected_alpn_protocol` and :attr:`SSLSocket.context`. The " -":meth:`SSLSocket.getpeercert`, :meth:`SSLSocket.get_verified_chain`, " -":meth:`SSLSocket.get_unverified_chain` :meth:`SSLSocket.cipher` and " -":meth:`SSLSocket.compression` methods require that the TLS connection has " -"progressed beyond the TLS Client Hello and therefore will not return " -"meaningful values nor can they be called safely." -msgstr "" - -#: ../../library/ssl.rst:1728 -msgid "" -"The *sni_callback* function must return ``None`` to allow the TLS " -"negotiation to continue. If a TLS failure is required, a constant " -":const:`ALERT_DESCRIPTION_* ` can be " -"returned. Other return values will result in a TLS fatal error with " -":const:`ALERT_DESCRIPTION_INTERNAL_ERROR`." -msgstr "" - -#: ../../library/ssl.rst:1734 -msgid "" -"If an exception is raised from the *sni_callback* function the TLS " -"connection will terminate with a fatal TLS alert message " -":const:`ALERT_DESCRIPTION_HANDSHAKE_FAILURE`." -msgstr "" - -#: ../../library/ssl.rst:1738 -msgid "" -"This method will raise :exc:`NotImplementedError` if the OpenSSL library had" -" OPENSSL_NO_TLSEXT defined when it was built." -msgstr "" - -#: ../../library/ssl.rst:1745 -msgid "" -"This is a legacy API retained for backwards compatibility. When possible, " -"you should use :attr:`sni_callback` instead. The given " -"*server_name_callback* is similar to *sni_callback*, except that when the " -"server hostname is an IDN-encoded internationalized domain name, the " -"*server_name_callback* receives a decoded U-label (``\"pythön.org\"``)." -msgstr "" - -#: ../../library/ssl.rst:1751 -msgid "" -"If there is a decoding error on the server name, the TLS connection will " -"terminate with an :const:`ALERT_DESCRIPTION_INTERNAL_ERROR` fatal TLS alert " -"message to the client." -msgstr "" - -#: ../../library/ssl.rst:1759 -msgid "" -"Load the key generation parameters for Diffie-Hellman (DH) key exchange. " -"Using DH key exchange improves forward secrecy at the expense of " -"computational resources (both on the server and on the client). The *dhfile*" -" parameter should be the path to a file containing DH parameters in PEM " -"format." -msgstr "" - -#: ../../library/ssl.rst:1765 -msgid "" -"This setting doesn't apply to client sockets. You can also use the " -":data:`OP_SINGLE_DH_USE` option to further improve security." -msgstr "" - -#: ../../library/ssl.rst:1772 -msgid "" -"Set the curve name for Elliptic Curve-based Diffie-Hellman (ECDH) key " -"exchange. ECDH is significantly faster than regular DH while arguably as " -"secure. The *curve_name* parameter should be a string describing a well-" -"known elliptic curve, for example ``prime256v1`` for a widely supported " -"curve." -msgstr "" - -#: ../../library/ssl.rst:1778 -msgid "" -"This setting doesn't apply to client sockets. You can also use the " -":data:`OP_SINGLE_ECDH_USE` option to further improve security." -msgstr "" - -#: ../../library/ssl.rst:1781 -msgid "This method is not available if :data:`HAS_ECDH` is ``False``." -msgstr "" - -#: ../../library/ssl.rst:1786 -msgid "" -"`SSL/TLS & Perfect Forward Secrecy " -"`_" -msgstr "" - -#: ../../library/ssl.rst:1787 -msgid "Vincent Bernat." -msgstr "" - -#: ../../library/ssl.rst:1793 -msgid "" -"Wrap an existing Python socket *sock* and return an instance of " -":attr:`SSLContext.sslsocket_class` (default :class:`SSLSocket`). The " -"returned SSL socket is tied to the context, its settings and certificates. " -"*sock* must be a :const:`~socket.SOCK_STREAM` socket; other socket types are" -" unsupported." -msgstr "" - -#: ../../library/ssl.rst:1799 -msgid "" -"The parameter ``server_side`` is a boolean which identifies whether server-" -"side or client-side behavior is desired from this socket." -msgstr "" - -#: ../../library/ssl.rst:1802 -msgid "" -"For client-side sockets, the context construction is lazy; if the underlying" -" socket isn't connected yet, the context construction will be performed " -"after :meth:`connect` is called on the socket. For server-side sockets, if " -"the socket has no remote peer, it is assumed to be a listening socket, and " -"the server-side SSL wrapping is automatically performed on client " -"connections accepted via the :meth:`accept` method. The method may raise " -":exc:`SSLError`." -msgstr "" - -#: ../../library/ssl.rst:1810 -msgid "" -"On client connections, the optional parameter *server_hostname* specifies " -"the hostname of the service which we are connecting to. This allows a " -"single server to host multiple SSL-based services with distinct " -"certificates, quite similarly to HTTP virtual hosts. Specifying " -"*server_hostname* will raise a :exc:`ValueError` if *server_side* is true." -msgstr "" - -#: ../../library/ssl.rst:1816 -msgid "" -"The parameter ``do_handshake_on_connect`` specifies whether to do the SSL " -"handshake automatically after doing a :meth:`socket.connect`, or whether the" -" application program will call it explicitly, by invoking the " -":meth:`SSLSocket.do_handshake` method. Calling " -":meth:`SSLSocket.do_handshake` explicitly gives the program control over the" -" blocking behavior of the socket I/O involved in the handshake." -msgstr "" - -#: ../../library/ssl.rst:1823 -msgid "" -"The parameter ``suppress_ragged_eofs`` specifies how the " -":meth:`SSLSocket.recv` method should signal unexpected EOF from the other " -"end of the connection. If specified as :const:`True` (the default), it " -"returns a normal EOF (an empty bytes object) in response to unexpected EOF " -"errors raised from the underlying socket; if :const:`False`, it will raise " -"the exceptions back to the caller." -msgstr "" - -#: ../../library/ssl.rst:1830 -msgid "*session*, see :attr:`~SSLSocket.session`." -msgstr "" - -#: ../../library/ssl.rst:1832 -msgid "" -"To wrap an :class:`SSLSocket` in another :class:`SSLSocket`, use " -":meth:`SSLContext.wrap_bio`." -msgstr "" - -#: ../../library/ssl.rst:1835 -msgid "" -"Always allow a server_hostname to be passed, even if OpenSSL does not have " -"SNI." -msgstr "" - -#: ../../library/ssl.rst:1839 ../../library/ssl.rst:1865 -msgid "*session* argument was added." -msgstr "" - -#: ../../library/ssl.rst:1842 -msgid "" -"The method returns an instance of :attr:`SSLContext.sslsocket_class` instead" -" of hard-coded :class:`SSLSocket`." -msgstr "" - -#: ../../library/ssl.rst:1848 -msgid "" -"The return type of :meth:`SSLContext.wrap_socket`, defaults to " -":class:`SSLSocket`. The attribute can be overridden on instance of class in " -"order to return a custom subclass of :class:`SSLSocket`." -msgstr "" - -#: ../../library/ssl.rst:1857 -msgid "" -"Wrap the BIO objects *incoming* and *outgoing* and return an instance of " -":attr:`SSLContext.sslobject_class` (default :class:`SSLObject`). The SSL " -"routines will read input data from the incoming BIO and write data to the " -"outgoing BIO." -msgstr "" - -#: ../../library/ssl.rst:1862 -msgid "" -"The *server_side*, *server_hostname* and *session* parameters have the same " -"meaning as in :meth:`SSLContext.wrap_socket`." -msgstr "" - -#: ../../library/ssl.rst:1868 -msgid "" -"The method returns an instance of :attr:`SSLContext.sslobject_class` instead" -" of hard-coded :class:`SSLObject`." -msgstr "" - -#: ../../library/ssl.rst:1874 -msgid "" -"The return type of :meth:`SSLContext.wrap_bio`, defaults to " -":class:`SSLObject`. The attribute can be overridden on instance of class in " -"order to return a custom subclass of :class:`SSLObject`." -msgstr "" - -#: ../../library/ssl.rst:1882 -msgid "" -"Get statistics about the SSL sessions created or managed by this context. A " -"dictionary is returned which maps the names of each `piece of information " -"`_ to their " -"numeric values. For example, here is the total number of hits and misses in" -" the session cache since the context was created::" -msgstr "" - -#: ../../library/ssl.rst:1887 -msgid "" -">>> stats = context.session_stats()\n" -">>> stats['hits'], stats['misses']\n" -"(0, 0)" -msgstr "" - -#: ../../library/ssl.rst:1893 -msgid "" -"Whether to match the peer cert's hostname in :meth:`SSLSocket.do_handshake`." -" The context's :attr:`~SSLContext.verify_mode` must be set to " -":data:`CERT_OPTIONAL` or :data:`CERT_REQUIRED`, and you must pass " -"*server_hostname* to :meth:`~SSLContext.wrap_socket` in order to match the " -"hostname. Enabling hostname checking automatically sets " -":attr:`~SSLContext.verify_mode` from :data:`CERT_NONE` to " -":data:`CERT_REQUIRED`. It cannot be set back to :data:`CERT_NONE` as long " -"as hostname checking is enabled. The :data:`PROTOCOL_TLS_CLIENT` protocol " -"enables hostname checking by default. With other protocols, hostname " -"checking must be enabled explicitly." -msgstr "" - -#: ../../library/ssl.rst:1906 -msgid "" -"import socket, ssl\n" -"\n" -"context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)\n" -"context.verify_mode = ssl.CERT_REQUIRED\n" -"context.check_hostname = True\n" -"context.load_default_certs()\n" -"\n" -"s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n" -"ssl_sock = context.wrap_socket(s, server_hostname='www.verisign.com')\n" -"ssl_sock.connect(('www.verisign.com', 443))" -msgstr "" - -#: ../../library/ssl.rst:1921 -msgid "" -":attr:`~SSLContext.verify_mode` is now automatically changed to " -":data:`CERT_REQUIRED` when hostname checking is enabled and " -":attr:`~SSLContext.verify_mode` is :data:`CERT_NONE`. Previously the same " -"operation would have failed with a :exc:`ValueError`." -msgstr "" - -#: ../../library/ssl.rst:1928 -msgid "" -"Write TLS keys to a keylog file, whenever key material is generated or " -"received. The keylog file is designed for debugging purposes only. The file " -"format is specified by NSS and used by many traffic analyzers such as " -"Wireshark. The log file is opened in append-only mode. Writes are " -"synchronized between threads, but not between processes." -msgstr "" - -#: ../../library/ssl.rst:1938 -msgid "" -"A :class:`TLSVersion` enum member representing the highest supported TLS " -"version. The value defaults to :attr:`TLSVersion.MAXIMUM_SUPPORTED`. The " -"attribute is read-only for protocols other than :const:`PROTOCOL_TLS`, " -":const:`PROTOCOL_TLS_CLIENT`, and :const:`PROTOCOL_TLS_SERVER`." -msgstr "" - -#: ../../library/ssl.rst:1943 -msgid "" -"The attributes :attr:`~SSLContext.maximum_version`, " -":attr:`~SSLContext.minimum_version` and :attr:`SSLContext.options` all " -"affect the supported SSL and TLS versions of the context. The implementation" -" does not prevent invalid combination. For example a context with " -":attr:`OP_NO_TLSv1_2` in :attr:`~SSLContext.options` and " -":attr:`~SSLContext.maximum_version` set to :attr:`TLSVersion.TLSv1_2` will " -"not be able to establish a TLS 1.2 connection." -msgstr "" - -#: ../../library/ssl.rst:1956 -msgid "" -"Like :attr:`SSLContext.maximum_version` except it is the lowest supported " -"version or :attr:`TLSVersion.MINIMUM_SUPPORTED`." -msgstr "" - -#: ../../library/ssl.rst:1963 -msgid "" -"Control the number of TLS 1.3 session tickets of a " -":const:`PROTOCOL_TLS_SERVER` context. The setting has no impact on TLS 1.0 " -"to 1.2 connections." -msgstr "" - -#: ../../library/ssl.rst:1971 -msgid "" -"An integer representing the set of SSL options enabled on this context. The " -"default value is :data:`OP_ALL`, but you can specify other options such as " -":data:`OP_NO_SSLv2` by ORing them together." -msgstr "" - -#: ../../library/ssl.rst:1975 -msgid ":attr:`SSLContext.options` returns :class:`Options` flags:" -msgstr "" - -#: ../../library/ssl.rst:1983 -msgid "" -"All ``OP_NO_SSL*`` and ``OP_NO_TLS*`` options have been deprecated since " -"Python 3.7. Use :attr:`SSLContext.minimum_version` and " -":attr:`SSLContext.maximum_version` instead." -msgstr "" - -#: ../../library/ssl.rst:1989 -msgid "" -"Enable TLS 1.3 post-handshake client authentication. Post-handshake auth is " -"disabled by default and a server can only request a TLS client certificate " -"during the initial handshake. When enabled, a server may request a TLS " -"client certificate at any time after the handshake." -msgstr "" - -#: ../../library/ssl.rst:1994 -msgid "" -"When enabled on client-side sockets, the client signals the server that it " -"supports post-handshake authentication." -msgstr "" - -#: ../../library/ssl.rst:1997 -msgid "" -"When enabled on server-side sockets, :attr:`SSLContext.verify_mode` must be " -"set to :data:`CERT_OPTIONAL` or :data:`CERT_REQUIRED`, too. The actual " -"client cert exchange is delayed until " -":meth:`SSLSocket.verify_client_post_handshake` is called and some I/O is " -"performed." -msgstr "" - -#: ../../library/ssl.rst:2007 -msgid "" -"The protocol version chosen when constructing the context. This attribute " -"is read-only." -msgstr "" - -#: ../../library/ssl.rst:2012 -msgid "" -"Whether :attr:`~SSLContext.check_hostname` falls back to verify the cert's " -"subject common name in the absence of a subject alternative name extension " -"(default: true)." -msgstr "" - -#: ../../library/ssl.rst:2020 -msgid "" -"The flag had no effect with OpenSSL before version 1.1.1l. Python 3.8.9, " -"3.9.3, and 3.10 include workarounds for previous versions." -msgstr "" - -#: ../../library/ssl.rst:2025 -msgid "" -"An integer representing the `security level " -"`_ for the" -" context. This attribute is read-only." -msgstr "" - -#: ../../library/ssl.rst:2033 -msgid "" -"The flags for certificate verification operations. You can set flags like " -":data:`VERIFY_CRL_CHECK_LEAF` by ORing them together. By default OpenSSL " -"does neither require nor verify certificate revocation lists (CRLs)." -msgstr "" - -#: ../../library/ssl.rst:2039 -msgid ":attr:`SSLContext.verify_flags` returns :class:`VerifyFlags` flags:" -msgstr "" - -#: ../../library/ssl.rst:2047 -msgid "" -"Whether to try to verify other peers' certificates and how to behave if " -"verification fails. This attribute must be one of :data:`CERT_NONE`, " -":data:`CERT_OPTIONAL` or :data:`CERT_REQUIRED`." -msgstr "" - -#: ../../library/ssl.rst:2051 -msgid ":attr:`SSLContext.verify_mode` returns :class:`VerifyMode` enum:" -msgstr "" - -#: ../../library/ssl.rst:2059 -msgid "" -"Enables TLS-PSK (pre-shared key) authentication on a client-side connection." -msgstr "" - -#: ../../library/ssl.rst:2061 ../../library/ssl.rst:2110 -msgid "" -"In general, certificate based authentication should be preferred over this " -"method." -msgstr "" - -#: ../../library/ssl.rst:2063 -msgid "" -"The parameter ``callback`` is a callable object with the signature: ``def " -"callback(hint: str | None) -> tuple[str | None, bytes]``. The ``hint`` " -"parameter is an optional identity hint sent by the server. The return value " -"is a tuple in the form (client-identity, psk). Client-identity is an " -"optional string which may be used by the server to select a corresponding " -"PSK for the client. The string must be less than or equal to ``256`` octets " -"when UTF-8 encoded. PSK is a :term:`bytes-like object` representing the pre-" -"shared key. Return a zero length PSK to reject the connection." -msgstr "" - -#: ../../library/ssl.rst:2073 ../../library/ssl.rst:2119 -msgid "Setting ``callback`` to :const:`None` removes any existing callback." -msgstr "" - -#: ../../library/ssl.rst:2076 -msgid "When using TLS 1.3:" -msgstr "" - -#: ../../library/ssl.rst:2078 -msgid "the ``hint`` parameter is always :const:`None`." -msgstr "" - -#: ../../library/ssl.rst:2079 -msgid "client-identity must be a non-empty string." -msgstr "" - -#: ../../library/ssl.rst:2081 ../../library/ssl.rst:2128 -msgid "Example usage::" -msgstr "" - -#: ../../library/ssl.rst:2083 -msgid "" -"context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)\n" -"context.check_hostname = False\n" -"context.verify_mode = ssl.CERT_NONE\n" -"context.maximum_version = ssl.TLSVersion.TLSv1_2\n" -"context.set_ciphers('PSK')\n" -"\n" -"# A simple lambda:\n" -"psk = bytes.fromhex('c0ffee')\n" -"context.set_psk_client_callback(lambda hint: (None, psk))\n" -"\n" -"# A table using the hint from the server:\n" -"psk_table = { 'ServerId_1': bytes.fromhex('c0ffee'),\n" -" 'ServerId_2': bytes.fromhex('facade')\n" -"}\n" -"def callback(hint):\n" -" return 'ClientId_1', psk_table.get(hint, b'')\n" -"context.set_psk_client_callback(callback)" -msgstr "" - -#: ../../library/ssl.rst:2101 ../../library/ssl.rst:2146 -msgid "" -"This method will raise :exc:`NotImplementedError` if :data:`HAS_PSK` is " -"``False``." -msgstr "" - -#: ../../library/ssl.rst:2108 -msgid "" -"Enables TLS-PSK (pre-shared key) authentication on a server-side connection." -msgstr "" - -#: ../../library/ssl.rst:2112 -msgid "" -"The parameter ``callback`` is a callable object with the signature: ``def " -"callback(identity: str | None) -> bytes``. The ``identity`` parameter is an " -"optional identity sent by the client which can be used to select a " -"corresponding PSK. The return value is a :term:`bytes-like object` " -"representing the pre-shared key. Return a zero length PSK to reject the " -"connection." -msgstr "" - -#: ../../library/ssl.rst:2121 -msgid "" -"The parameter ``identity_hint`` is an optional identity hint string sent to " -"the client. The string must be less than or equal to ``256`` octets when " -"UTF-8 encoded." -msgstr "" - -#: ../../library/ssl.rst:2126 -msgid "" -"When using TLS 1.3 the ``identity_hint`` parameter is not sent to the " -"client." -msgstr "" - -#: ../../library/ssl.rst:2130 -msgid "" -"context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)\n" -"context.maximum_version = ssl.TLSVersion.TLSv1_2\n" -"context.set_ciphers('PSK')\n" -"\n" -"# A simple lambda:\n" -"psk = bytes.fromhex('c0ffee')\n" -"context.set_psk_server_callback(lambda identity: psk)\n" -"\n" -"# A table using the identity of the client:\n" -"psk_table = { 'ClientId_1': bytes.fromhex('c0ffee'),\n" -" 'ClientId_2': bytes.fromhex('facade')\n" -"}\n" -"def callback(identity):\n" -" return psk_table.get(identity, b'')\n" -"context.set_psk_server_callback(callback, 'ServerId_1')" -msgstr "" - -#: ../../library/ssl.rst:2158 -msgid "Certificates" -msgstr "" - -#: ../../library/ssl.rst:2160 -msgid "" -"Certificates in general are part of a public-key / private-key system. In " -"this system, each *principal*, (which may be a machine, or a person, or an " -"organization) is assigned a unique two-part encryption key. One part of the" -" key is public, and is called the *public key*; the other part is kept " -"secret, and is called the *private key*. The two parts are related, in that" -" if you encrypt a message with one of the parts, you can decrypt it with the" -" other part, and **only** with the other part." -msgstr "" - -#: ../../library/ssl.rst:2168 -msgid "" -"A certificate contains information about two principals. It contains the " -"name of a *subject*, and the subject's public key. It also contains a " -"statement by a second principal, the *issuer*, that the subject is who they " -"claim to be, and that this is indeed the subject's public key. The issuer's" -" statement is signed with the issuer's private key, which only the issuer " -"knows. However, anyone can verify the issuer's statement by finding the " -"issuer's public key, decrypting the statement with it, and comparing it to " -"the other information in the certificate. The certificate also contains " -"information about the time period over which it is valid. This is expressed" -" as two fields, called \"notBefore\" and \"notAfter\"." -msgstr "" - -#: ../../library/ssl.rst:2178 -msgid "" -"In the Python use of certificates, a client or server can use a certificate " -"to prove who they are. The other side of a network connection can also be " -"required to produce a certificate, and that certificate can be validated to " -"the satisfaction of the client or server that requires such validation. The" -" connection attempt can be set to raise an exception if the validation " -"fails. Validation is done automatically, by the underlying OpenSSL " -"framework; the application need not concern itself with its mechanics. But " -"the application does usually need to provide sets of certificates to allow " -"this process to take place." -msgstr "" - -#: ../../library/ssl.rst:2188 -msgid "" -"Python uses files to contain certificates. They should be formatted as " -"\"PEM\" (see :rfc:`1422`), which is a base-64 encoded form wrapped with a " -"header line and a footer line::" -msgstr "" - -#: ../../library/ssl.rst:2192 -msgid "" -"-----BEGIN CERTIFICATE-----\n" -"... (certificate in base64 PEM encoding) ...\n" -"-----END CERTIFICATE-----" -msgstr "" - -#: ../../library/ssl.rst:2197 -msgid "Certificate chains" -msgstr "" - -#: ../../library/ssl.rst:2199 -msgid "" -"The Python files which contain certificates can contain a sequence of " -"certificates, sometimes called a *certificate chain*. This chain should " -"start with the specific certificate for the principal who \"is\" the client " -"or server, and then the certificate for the issuer of that certificate, and " -"then the certificate for the issuer of *that* certificate, and so on up the " -"chain till you get to a certificate which is *self-signed*, that is, a " -"certificate which has the same subject and issuer, sometimes called a *root " -"certificate*. The certificates should just be concatenated together in the " -"certificate file. For example, suppose we had a three certificate chain, " -"from our server certificate to the certificate of the certification " -"authority that signed our server certificate, to the root certificate of the" -" agency which issued the certification authority's certificate::" -msgstr "" - -#: ../../library/ssl.rst:2212 -msgid "" -"-----BEGIN CERTIFICATE-----\n" -"... (certificate for your server)...\n" -"-----END CERTIFICATE-----\n" -"-----BEGIN CERTIFICATE-----\n" -"... (the certificate for the CA)...\n" -"-----END CERTIFICATE-----\n" -"-----BEGIN CERTIFICATE-----\n" -"... (the root certificate for the CA's issuer)...\n" -"-----END CERTIFICATE-----" -msgstr "" - -#: ../../library/ssl.rst:2223 -msgid "CA certificates" -msgstr "" - -#: ../../library/ssl.rst:2225 -msgid "" -"If you are going to require validation of the other side of the connection's" -" certificate, you need to provide a \"CA certs\" file, filled with the " -"certificate chains for each issuer you are willing to trust. Again, this " -"file just contains these chains concatenated together. For validation, " -"Python will use the first chain it finds in the file which matches. The " -"platform's certificates file can be used by calling " -":meth:`SSLContext.load_default_certs`, this is done automatically with " -":func:`.create_default_context`." -msgstr "" - -#: ../../library/ssl.rst:2234 -msgid "Combined key and certificate" -msgstr "" - -#: ../../library/ssl.rst:2236 -msgid "" -"Often the private key is stored in the same file as the certificate; in this" -" case, only the ``certfile`` parameter to :meth:`SSLContext.load_cert_chain`" -" needs to be passed. If the private key is stored with the certificate, it " -"should come before the first certificate in the certificate chain::" -msgstr "" - -#: ../../library/ssl.rst:2242 -msgid "" -"-----BEGIN RSA PRIVATE KEY-----\n" -"... (private key in base64 encoding) ...\n" -"-----END RSA PRIVATE KEY-----\n" -"-----BEGIN CERTIFICATE-----\n" -"... (certificate in base64 PEM encoding) ...\n" -"-----END CERTIFICATE-----" -msgstr "" - -#: ../../library/ssl.rst:2250 -msgid "Self-signed certificates" -msgstr "" - -#: ../../library/ssl.rst:2252 -msgid "" -"If you are going to create a server that provides SSL-encrypted connection " -"services, you will need to acquire a certificate for that service. There " -"are many ways of acquiring appropriate certificates, such as buying one from" -" a certification authority. Another common practice is to generate a self-" -"signed certificate. The simplest way to do this is with the OpenSSL " -"package, using something like the following::" -msgstr "" - -#: ../../library/ssl.rst:2259 -msgid "" -"% openssl req -new -x509 -days 365 -nodes -out cert.pem -keyout cert.pem\n" -"Generating a 1024 bit RSA private key\n" -".......++++++\n" -".............................++++++\n" -"writing new private key to 'cert.pem'\n" -"-----\n" -"You are about to be asked to enter information that will be incorporated\n" -"into your certificate request.\n" -"What you are about to enter is what is called a Distinguished Name or a DN.\n" -"There are quite a few fields but you can leave some blank\n" -"For some fields there will be a default value,\n" -"If you enter '.', the field will be left blank.\n" -"-----\n" -"Country Name (2 letter code) [AU]:US\n" -"State or Province Name (full name) [Some-State]:MyState\n" -"Locality Name (eg, city) []:Some City\n" -"Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Organization, Inc.\n" -"Organizational Unit Name (eg, section) []:My Group\n" -"Common Name (eg, YOUR name) []:myserver.mygroup.myorganization.com\n" -"Email Address []:ops@myserver.mygroup.myorganization.com\n" -"%" -msgstr "" - -#: ../../library/ssl.rst:2281 -msgid "" -"The disadvantage of a self-signed certificate is that it is its own root " -"certificate, and no one else will have it in their cache of known (and " -"trusted) root certificates." -msgstr "" - -#: ../../library/ssl.rst:2287 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/ssl.rst:2290 -msgid "Testing for SSL support" -msgstr "" - -#: ../../library/ssl.rst:2292 -msgid "" -"To test for the presence of SSL support in a Python installation, user code " -"should use the following idiom::" -msgstr "" - -#: ../../library/ssl.rst:2295 -msgid "" -"try:\n" -" import ssl\n" -"except ImportError:\n" -" pass\n" -"else:\n" -" ... # do something that requires SSL support" -msgstr "" - -#: ../../library/ssl.rst:2303 -msgid "Client-side operation" -msgstr "" - -#: ../../library/ssl.rst:2305 -msgid "" -"This example creates a SSL context with the recommended security settings " -"for client sockets, including automatic certificate verification::" -msgstr "" - -#: ../../library/ssl.rst:2308 -msgid ">>> context = ssl.create_default_context()" -msgstr "" - -#: ../../library/ssl.rst:2310 -msgid "" -"If you prefer to tune security settings yourself, you might create a context" -" from scratch (but beware that you might not get the settings right)::" -msgstr "" - -#: ../../library/ssl.rst:2314 -msgid "" -">>> context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)\n" -">>> context.load_verify_locations(\"/etc/ssl/certs/ca-bundle.crt\")" -msgstr "" - -#: ../../library/ssl.rst:2317 -msgid "" -"(this snippet assumes your operating system places a bundle of all CA " -"certificates in ``/etc/ssl/certs/ca-bundle.crt``; if not, you'll get an " -"error and have to adjust the location)" -msgstr "" - -#: ../../library/ssl.rst:2321 -msgid "" -"The :data:`PROTOCOL_TLS_CLIENT` protocol configures the context for cert " -"validation and hostname verification. :attr:`~SSLContext.verify_mode` is set" -" to :data:`CERT_REQUIRED` and :attr:`~SSLContext.check_hostname` is set to " -"``True``. All other protocols create SSL contexts with insecure defaults." -msgstr "" - -#: ../../library/ssl.rst:2326 -msgid "" -"When you use the context to connect to a server, :const:`CERT_REQUIRED` and " -":attr:`~SSLContext.check_hostname` validate the server certificate: it " -"ensures that the server certificate was signed with one of the CA " -"certificates, checks the signature for correctness, and verifies other " -"properties like validity and identity of the hostname::" -msgstr "" - -#: ../../library/ssl.rst:2332 -msgid "" -">>> conn = context.wrap_socket(socket.socket(socket.AF_INET),\n" -"... server_hostname=\"www.python.org\")\n" -">>> conn.connect((\"www.python.org\", 443))" -msgstr "" - -#: ../../library/ssl.rst:2336 -msgid "You may then fetch the certificate::" -msgstr "" - -#: ../../library/ssl.rst:2338 -msgid ">>> cert = conn.getpeercert()" -msgstr "" - -#: ../../library/ssl.rst:2340 -msgid "" -"Visual inspection shows that the certificate does identify the desired " -"service (that is, the HTTPS host ``www.python.org``)::" -msgstr "" - -#: ../../library/ssl.rst:2343 -msgid "" -">>> pprint.pprint(cert)\n" -"{'OCSP': ('http://ocsp.digicert.com',),\n" -" 'caIssuers': ('http://cacerts.digicert.com/DigiCertSHA2ExtendedValidationServerCA.crt',),\n" -" 'crlDistributionPoints': ('http://crl3.digicert.com/sha2-ev-server-g1.crl',\n" -" 'http://crl4.digicert.com/sha2-ev-server-g1.crl'),\n" -" 'issuer': ((('countryName', 'US'),),\n" -" (('organizationName', 'DigiCert Inc'),),\n" -" (('organizationalUnitName', 'www.digicert.com'),),\n" -" (('commonName', 'DigiCert SHA2 Extended Validation Server CA'),)),\n" -" 'notAfter': 'Sep 9 12:00:00 2016 GMT',\n" -" 'notBefore': 'Sep 5 00:00:00 2014 GMT',\n" -" 'serialNumber': '01BB6F00122B177F36CAB49CEA8B6B26',\n" -" 'subject': ((('businessCategory', 'Private Organization'),),\n" -" (('1.3.6.1.4.1.311.60.2.1.3', 'US'),),\n" -" (('1.3.6.1.4.1.311.60.2.1.2', 'Delaware'),),\n" -" (('serialNumber', '3359300'),),\n" -" (('streetAddress', '16 Allen Rd'),),\n" -" (('postalCode', '03894-4801'),),\n" -" (('countryName', 'US'),),\n" -" (('stateOrProvinceName', 'NH'),),\n" -" (('localityName', 'Wolfeboro'),),\n" -" (('organizationName', 'Python Software Foundation'),),\n" -" (('commonName', 'www.python.org'),)),\n" -" 'subjectAltName': (('DNS', 'www.python.org'),\n" -" ('DNS', 'python.org'),\n" -" ('DNS', 'pypi.org'),\n" -" ('DNS', 'docs.python.org'),\n" -" ('DNS', 'testpypi.org'),\n" -" ('DNS', 'bugs.python.org'),\n" -" ('DNS', 'wiki.python.org'),\n" -" ('DNS', 'hg.python.org'),\n" -" ('DNS', 'mail.python.org'),\n" -" ('DNS', 'packaging.python.org'),\n" -" ('DNS', 'pythonhosted.org'),\n" -" ('DNS', 'www.pythonhosted.org'),\n" -" ('DNS', 'test.pythonhosted.org'),\n" -" ('DNS', 'us.pycon.org'),\n" -" ('DNS', 'id.python.org')),\n" -" 'version': 3}" -msgstr "" - -#: ../../library/ssl.rst:2383 -msgid "" -"Now the SSL channel is established and the certificate verified, you can " -"proceed to talk with the server::" -msgstr "" - -#: ../../library/ssl.rst:2386 -msgid "" -">>> conn.sendall(b\"HEAD / HTTP/1.0\\r\\nHost: linuxfr.org\\r\\n\\r\\n\")\n" -">>> pprint.pprint(conn.recv(1024).split(b\"\\r\\n\"))\n" -"[b'HTTP/1.1 200 OK',\n" -" b'Date: Sat, 18 Oct 2014 18:27:20 GMT',\n" -" b'Server: nginx',\n" -" b'Content-Type: text/html; charset=utf-8',\n" -" b'X-Frame-Options: SAMEORIGIN',\n" -" b'Content-Length: 45679',\n" -" b'Accept-Ranges: bytes',\n" -" b'Via: 1.1 varnish',\n" -" b'Age: 2188',\n" -" b'X-Served-By: cache-lcy1134-LCY',\n" -" b'X-Cache: HIT',\n" -" b'X-Cache-Hits: 11',\n" -" b'Vary: Cookie',\n" -" b'Strict-Transport-Security: max-age=63072000; includeSubDomains',\n" -" b'Connection: close',\n" -" b'',\n" -" b'']" -msgstr "" - -#: ../../library/ssl.rst:2410 -msgid "Server-side operation" -msgstr "" - -#: ../../library/ssl.rst:2412 -msgid "" -"For server operation, typically you'll need to have a server certificate, " -"and private key, each in a file. You'll first create a context holding the " -"key and the certificate, so that clients can check your authenticity. Then " -"you'll open a socket, bind it to a port, call :meth:`listen` on it, and " -"start waiting for clients to connect::" -msgstr "" - -#: ../../library/ssl.rst:2418 -msgid "" -"import socket, ssl\n" -"\n" -"context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)\n" -"context.load_cert_chain(certfile=\"mycertfile\", keyfile=\"mykeyfile\")\n" -"\n" -"bindsocket = socket.socket()\n" -"bindsocket.bind(('myaddr.example.com', 10023))\n" -"bindsocket.listen(5)" -msgstr "" - -#: ../../library/ssl.rst:2427 -msgid "" -"When a client connects, you'll call :meth:`accept` on the socket to get the " -"new socket from the other end, and use the context's " -":meth:`SSLContext.wrap_socket` method to create a server-side SSL socket for" -" the connection::" -msgstr "" - -#: ../../library/ssl.rst:2431 -msgid "" -"while True:\n" -" newsocket, fromaddr = bindsocket.accept()\n" -" connstream = context.wrap_socket(newsocket, server_side=True)\n" -" try:\n" -" deal_with_client(connstream)\n" -" finally:\n" -" connstream.shutdown(socket.SHUT_RDWR)\n" -" connstream.close()" -msgstr "" - -#: ../../library/ssl.rst:2440 -msgid "" -"Then you'll read data from the ``connstream`` and do something with it till " -"you are finished with the client (or the client is finished with you)::" -msgstr "" - -#: ../../library/ssl.rst:2443 -msgid "" -"def deal_with_client(connstream):\n" -" data = connstream.recv(1024)\n" -" # empty data means the client is finished with us\n" -" while data:\n" -" if not do_something(connstream, data):\n" -" # we'll assume do_something returns False\n" -" # when we're finished with client\n" -" break\n" -" data = connstream.recv(1024)\n" -" # finished with client" -msgstr "" - -#: ../../library/ssl.rst:2454 -msgid "" -"And go back to listening for new client connections (of course, a real " -"server would probably handle each client connection in a separate thread, or" -" put the sockets in :ref:`non-blocking mode ` and use an " -"event loop)." -msgstr "" - -#: ../../library/ssl.rst:2462 -msgid "Notes on non-blocking sockets" -msgstr "" - -#: ../../library/ssl.rst:2464 -msgid "" -"SSL sockets behave slightly different than regular sockets in non-blocking " -"mode. When working with non-blocking sockets, there are thus several things " -"you need to be aware of:" -msgstr "" - -#: ../../library/ssl.rst:2468 -msgid "" -"Most :class:`SSLSocket` methods will raise either :exc:`SSLWantWriteError` " -"or :exc:`SSLWantReadError` instead of :exc:`BlockingIOError` if an I/O " -"operation would block. :exc:`SSLWantReadError` will be raised if a read " -"operation on the underlying socket is necessary, and " -":exc:`SSLWantWriteError` for a write operation on the underlying socket. " -"Note that attempts to *write* to an SSL socket may require *reading* from " -"the underlying socket first, and attempts to *read* from the SSL socket may " -"require a prior *write* to the underlying socket." -msgstr "" - -#: ../../library/ssl.rst:2480 -msgid "" -"In earlier Python versions, the :meth:`!SSLSocket.send` method returned zero" -" instead of raising :exc:`SSLWantWriteError` or :exc:`SSLWantReadError`." -msgstr "" - -#: ../../library/ssl.rst:2484 -msgid "" -"Calling :func:`~select.select` tells you that the OS-level socket can be " -"read from (or written to), but it does not imply that there is sufficient " -"data at the upper SSL layer. For example, only part of an SSL frame might " -"have arrived. Therefore, you must be ready to handle :meth:`SSLSocket.recv`" -" and :meth:`SSLSocket.send` failures, and retry after another call to " -":func:`~select.select`." -msgstr "" - -#: ../../library/ssl.rst:2491 -msgid "" -"Conversely, since the SSL layer has its own framing, a SSL socket may still " -"have data available for reading without :func:`~select.select` being aware " -"of it. Therefore, you should first call :meth:`SSLSocket.recv` to drain any" -" potentially available data, and then only block on a :func:`~select.select`" -" call if still necessary." -msgstr "" - -#: ../../library/ssl.rst:2497 -msgid "" -"(of course, similar provisions apply when using other primitives such as " -":func:`~select.poll`, or those in the :mod:`selectors` module)" -msgstr "" - -#: ../../library/ssl.rst:2500 -msgid "" -"The SSL handshake itself will be non-blocking: the " -":meth:`SSLSocket.do_handshake` method has to be retried until it returns " -"successfully. Here is a synopsis using :func:`~select.select` to wait for " -"the socket's readiness::" -msgstr "" - -#: ../../library/ssl.rst:2505 -msgid "" -"while True:\n" -" try:\n" -" sock.do_handshake()\n" -" break\n" -" except ssl.SSLWantReadError:\n" -" select.select([sock], [], [])\n" -" except ssl.SSLWantWriteError:\n" -" select.select([], [sock], [])" -msgstr "" - -#: ../../library/ssl.rst:2516 -msgid "" -"The :mod:`asyncio` module supports :ref:`non-blocking SSL sockets ` and provides a higher level :ref:`Streams API `. It polls for events using the :mod:`selectors` module and handles" -" :exc:`SSLWantWriteError`, :exc:`SSLWantReadError` and " -":exc:`BlockingIOError` exceptions. It runs the SSL handshake asynchronously " -"as well." -msgstr "" - -#: ../../library/ssl.rst:2525 -msgid "Memory BIO Support" -msgstr "" - -#: ../../library/ssl.rst:2529 -msgid "" -"Ever since the SSL module was introduced in Python 2.6, the " -":class:`SSLSocket` class has provided two related but distinct areas of " -"functionality:" -msgstr "" - -#: ../../library/ssl.rst:2532 -msgid "SSL protocol handling" -msgstr "" - -#: ../../library/ssl.rst:2533 -msgid "Network IO" -msgstr "" - -#: ../../library/ssl.rst:2535 -msgid "" -"The network IO API is identical to that provided by :class:`socket.socket`, " -"from which :class:`SSLSocket` also inherits. This allows an SSL socket to be" -" used as a drop-in replacement for a regular socket, making it very easy to " -"add SSL support to an existing application." -msgstr "" - -#: ../../library/ssl.rst:2540 -msgid "" -"Combining SSL protocol handling and network IO usually works well, but there" -" are some cases where it doesn't. An example is async IO frameworks that " -"want to use a different IO multiplexing model than the \"select/poll on a " -"file descriptor\" (readiness based) model that is assumed by " -":class:`socket.socket` and by the internal OpenSSL socket IO routines. This " -"is mostly relevant for platforms like Windows where this model is not " -"efficient. For this purpose, a reduced scope variant of :class:`SSLSocket` " -"called :class:`SSLObject` is provided." -msgstr "" - -#: ../../library/ssl.rst:2551 -msgid "" -"A reduced-scope variant of :class:`SSLSocket` representing an SSL protocol " -"instance that does not contain any network IO methods. This class is " -"typically used by framework authors that want to implement asynchronous IO " -"for SSL through memory buffers." -msgstr "" - -#: ../../library/ssl.rst:2556 -msgid "" -"This class implements an interface on top of a low-level SSL object as " -"implemented by OpenSSL. This object captures the state of an SSL connection " -"but does not provide any network IO itself. IO needs to be performed through" -" separate \"BIO\" objects which are OpenSSL's IO abstraction layer." -msgstr "" - -#: ../../library/ssl.rst:2561 -msgid "" -"This class has no public constructor. An :class:`SSLObject` instance must " -"be created using the :meth:`~SSLContext.wrap_bio` method. This method will " -"create the :class:`SSLObject` instance and bind it to a pair of BIOs. The " -"*incoming* BIO is used to pass data from Python to the SSL protocol " -"instance, while the *outgoing* BIO is used to pass data the other way " -"around." -msgstr "" - -#: ../../library/ssl.rst:2568 -msgid "The following methods are available:" -msgstr "" - -#: ../../library/ssl.rst:2570 -msgid ":attr:`~SSLSocket.context`" -msgstr "" - -#: ../../library/ssl.rst:2571 -msgid ":attr:`~SSLSocket.server_side`" -msgstr "" - -#: ../../library/ssl.rst:2572 -msgid ":attr:`~SSLSocket.server_hostname`" -msgstr "" - -#: ../../library/ssl.rst:2573 -msgid ":attr:`~SSLSocket.session`" -msgstr "" - -#: ../../library/ssl.rst:2574 -msgid ":attr:`~SSLSocket.session_reused`" -msgstr "" - -#: ../../library/ssl.rst:2575 -msgid ":meth:`~SSLSocket.read`" -msgstr "" - -#: ../../library/ssl.rst:2576 -msgid ":meth:`~SSLSocket.write`" -msgstr "" - -#: ../../library/ssl.rst:2577 -msgid ":meth:`~SSLSocket.getpeercert`" -msgstr "" - -#: ../../library/ssl.rst:2578 -msgid ":meth:`~SSLSocket.get_verified_chain`" -msgstr "" - -#: ../../library/ssl.rst:2579 -msgid ":meth:`~SSLSocket.get_unverified_chain`" -msgstr "" - -#: ../../library/ssl.rst:2580 -msgid ":meth:`~SSLSocket.selected_alpn_protocol`" -msgstr "" - -#: ../../library/ssl.rst:2581 -msgid ":meth:`~SSLSocket.selected_npn_protocol`" -msgstr "" - -#: ../../library/ssl.rst:2582 -msgid ":meth:`~SSLSocket.cipher`" -msgstr "" - -#: ../../library/ssl.rst:2583 -msgid ":meth:`~SSLSocket.shared_ciphers`" -msgstr "" - -#: ../../library/ssl.rst:2584 -msgid ":meth:`~SSLSocket.compression`" -msgstr "" - -#: ../../library/ssl.rst:2585 -msgid ":meth:`~SSLSocket.pending`" -msgstr "" - -#: ../../library/ssl.rst:2586 -msgid ":meth:`~SSLSocket.do_handshake`" -msgstr "" - -#: ../../library/ssl.rst:2587 -msgid ":meth:`~SSLSocket.verify_client_post_handshake`" -msgstr "" - -#: ../../library/ssl.rst:2588 -msgid ":meth:`~SSLSocket.unwrap`" -msgstr "" - -#: ../../library/ssl.rst:2589 -msgid ":meth:`~SSLSocket.get_channel_binding`" -msgstr "" - -#: ../../library/ssl.rst:2590 -msgid ":meth:`~SSLSocket.version`" -msgstr "" - -#: ../../library/ssl.rst:2592 -msgid "" -"When compared to :class:`SSLSocket`, this object lacks the following " -"features:" -msgstr "" - -#: ../../library/ssl.rst:2595 -msgid "" -"Any form of network IO; ``recv()`` and ``send()`` read and write only to the" -" underlying :class:`MemoryBIO` buffers." -msgstr "" - -#: ../../library/ssl.rst:2598 -msgid "" -"There is no *do_handshake_on_connect* machinery. You must always manually " -"call :meth:`~SSLSocket.do_handshake` to start the handshake." -msgstr "" - -#: ../../library/ssl.rst:2601 -msgid "" -"There is no handling of *suppress_ragged_eofs*. All end-of-file conditions " -"that are in violation of the protocol are reported via the " -":exc:`SSLEOFError` exception." -msgstr "" - -#: ../../library/ssl.rst:2605 -msgid "" -"The method :meth:`~SSLSocket.unwrap` call does not return anything, unlike " -"for an SSL socket where it returns the underlying socket." -msgstr "" - -#: ../../library/ssl.rst:2608 -msgid "" -"The *server_name_callback* callback passed to " -":meth:`SSLContext.set_servername_callback` will get an :class:`SSLObject` " -"instance instead of a :class:`SSLSocket` instance as its first parameter." -msgstr "" - -#: ../../library/ssl.rst:2612 -msgid "Some notes related to the use of :class:`SSLObject`:" -msgstr "" - -#: ../../library/ssl.rst:2614 -msgid "" -"All IO on an :class:`SSLObject` is :ref:`non-blocking `. " -"This means that for example :meth:`~SSLSocket.read` will raise an " -":exc:`SSLWantReadError` if it needs more data than the incoming BIO has " -"available." -msgstr "" - -#: ../../library/ssl.rst:2619 -msgid "" -":class:`SSLObject` instances must be created with " -":meth:`~SSLContext.wrap_bio`. In earlier versions, it was possible to create" -" instances directly. This was never documented or officially supported." -msgstr "" - -#: ../../library/ssl.rst:2625 -msgid "" -"An SSLObject communicates with the outside world using memory buffers. The " -"class :class:`MemoryBIO` provides a memory buffer that can be used for this " -"purpose. It wraps an OpenSSL memory BIO (Basic IO) object:" -msgstr "" - -#: ../../library/ssl.rst:2631 -msgid "" -"A memory buffer that can be used to pass data between Python and an SSL " -"protocol instance." -msgstr "" - -#: ../../library/ssl.rst:2636 -msgid "Return the number of bytes currently in the memory buffer." -msgstr "" - -#: ../../library/ssl.rst:2640 -msgid "" -"A boolean indicating whether the memory BIO is current at the end-of-file " -"position." -msgstr "" - -#: ../../library/ssl.rst:2645 -msgid "" -"Read up to *n* bytes from the memory buffer. If *n* is not specified or " -"negative, all bytes are returned." -msgstr "" - -#: ../../library/ssl.rst:2650 -msgid "" -"Write the bytes from *buf* to the memory BIO. The *buf* argument must be an " -"object supporting the buffer protocol." -msgstr "" - -#: ../../library/ssl.rst:2653 -msgid "" -"The return value is the number of bytes written, which is always equal to " -"the length of *buf*." -msgstr "" - -#: ../../library/ssl.rst:2658 -msgid "" -"Write an EOF marker to the memory BIO. After this method has been called, it" -" is illegal to call :meth:`~MemoryBIO.write`. The attribute :attr:`eof` will" -" become true after all data currently in the buffer has been read." -msgstr "" - -#: ../../library/ssl.rst:2664 -msgid "SSL session" -msgstr "" - -#: ../../library/ssl.rst:2670 -msgid "Session object used by :attr:`~SSLSocket.session`." -msgstr "" - -#: ../../library/ssl.rst:2682 -msgid "Security considerations" -msgstr "" - -#: ../../library/ssl.rst:2685 -msgid "Best defaults" -msgstr "" - -#: ../../library/ssl.rst:2687 -msgid "" -"For **client use**, if you don't have any special requirements for your " -"security policy, it is highly recommended that you use the " -":func:`create_default_context` function to create your SSL context. It will " -"load the system's trusted CA certificates, enable certificate validation and" -" hostname checking, and try to choose reasonably secure protocol and cipher " -"settings." -msgstr "" - -#: ../../library/ssl.rst:2694 -msgid "" -"For example, here is how you would use the :class:`smtplib.SMTP` class to " -"create a trusted, secure connection to a SMTP server::" -msgstr "" - -#: ../../library/ssl.rst:2697 -msgid "" -">>> import ssl, smtplib\n" -">>> smtp = smtplib.SMTP(\"mail.python.org\", port=587)\n" -">>> context = ssl.create_default_context()\n" -">>> smtp.starttls(context=context)\n" -"(220, b'2.0.0 Ready to start TLS')" -msgstr "" - -#: ../../library/ssl.rst:2703 -msgid "" -"If a client certificate is needed for the connection, it can be added with " -":meth:`SSLContext.load_cert_chain`." -msgstr "" - -#: ../../library/ssl.rst:2706 -msgid "" -"By contrast, if you create the SSL context by calling the " -":class:`SSLContext` constructor yourself, it will not have certificate " -"validation nor hostname checking enabled by default. If you do so, please " -"read the paragraphs below to achieve a good security level." -msgstr "" - -#: ../../library/ssl.rst:2712 -msgid "Manual settings" -msgstr "" - -#: ../../library/ssl.rst:2715 -msgid "Verifying certificates" -msgstr "" - -#: ../../library/ssl.rst:2717 -msgid "" -"When calling the :class:`SSLContext` constructor directly, " -":const:`CERT_NONE` is the default. Since it does not authenticate the other" -" peer, it can be insecure, especially in client mode where most of the time " -"you would like to ensure the authenticity of the server you're talking to. " -"Therefore, when in client mode, it is highly recommended to use " -":const:`CERT_REQUIRED`. However, it is in itself not sufficient; you also " -"have to check that the server certificate, which can be obtained by calling " -":meth:`SSLSocket.getpeercert`, matches the desired service. For many " -"protocols and applications, the service can be identified by the hostname. " -"This common check is automatically performed when " -":attr:`SSLContext.check_hostname` is enabled." -msgstr "" - -#: ../../library/ssl.rst:2729 -msgid "" -"Hostname matchings is now performed by OpenSSL. Python no longer uses " -":func:`match_hostname`." -msgstr "" - -#: ../../library/ssl.rst:2733 -msgid "" -"In server mode, if you want to authenticate your clients using the SSL layer" -" (rather than using a higher-level authentication mechanism), you'll also " -"have to specify :const:`CERT_REQUIRED` and similarly check the client " -"certificate." -msgstr "" - -#: ../../library/ssl.rst:2739 -msgid "Protocol versions" -msgstr "" - -#: ../../library/ssl.rst:2741 -msgid "" -"SSL versions 2 and 3 are considered insecure and are therefore dangerous to " -"use. If you want maximum compatibility between clients and servers, it is " -"recommended to use :const:`PROTOCOL_TLS_CLIENT` or " -":const:`PROTOCOL_TLS_SERVER` as the protocol version. SSLv2 and SSLv3 are " -"disabled by default." -msgstr "" - -#: ../../library/ssl.rst:2749 -msgid "" -">>> client_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)\n" -">>> client_context.minimum_version = ssl.TLSVersion.TLSv1_3\n" -">>> client_context.maximum_version = ssl.TLSVersion.TLSv1_3" -msgstr "" - -#: ../../library/ssl.rst:2754 -msgid "" -"The SSL context created above will only allow TLSv1.3 and later (if " -"supported by your system) connections to a server. " -":const:`PROTOCOL_TLS_CLIENT` implies certificate validation and hostname " -"checks by default. You have to load certificates into the context." -msgstr "" - -#: ../../library/ssl.rst:2761 -msgid "Cipher selection" -msgstr "" - -#: ../../library/ssl.rst:2763 -msgid "" -"If you have advanced security requirements, fine-tuning of the ciphers " -"enabled when negotiating a SSL session is possible through the " -":meth:`SSLContext.set_ciphers` method. Starting from Python 3.2.3, the ssl " -"module disables certain weak ciphers by default, but you may want to further" -" restrict the cipher choice. Be sure to read OpenSSL's documentation about " -"the `cipher list format " -"`_. If you " -"want to check which ciphers are enabled by a given cipher list, use " -":meth:`SSLContext.get_ciphers` or the ``openssl ciphers`` command on your " -"system." -msgstr "" - -#: ../../library/ssl.rst:2774 -msgid "Multi-processing" -msgstr "" - -#: ../../library/ssl.rst:2776 -msgid "" -"If using this module as part of a multi-processed application (using, for " -"example the :mod:`multiprocessing` or :mod:`concurrent.futures` modules), be" -" aware that OpenSSL's internal random number generator does not properly " -"handle forked processes. Applications must change the PRNG state of the " -"parent process if they use any SSL feature with :func:`os.fork`. Any " -"successful call of :func:`~ssl.RAND_add` or :func:`~ssl.RAND_bytes` is " -"sufficient." -msgstr "" - -#: ../../library/ssl.rst:2788 -msgid "TLS 1.3" -msgstr "TLS 1.3" - -#: ../../library/ssl.rst:2792 -msgid "" -"The TLS 1.3 protocol behaves slightly differently than previous version of " -"TLS/SSL. Some new TLS 1.3 features are not yet available." -msgstr "" - -#: ../../library/ssl.rst:2795 -msgid "" -"TLS 1.3 uses a disjunct set of cipher suites. All AES-GCM and ChaCha20 " -"cipher suites are enabled by default. The method " -":meth:`SSLContext.set_ciphers` cannot enable or disable any TLS 1.3 ciphers " -"yet, but :meth:`SSLContext.get_ciphers` returns them." -msgstr "" - -#: ../../library/ssl.rst:2799 -msgid "" -"Session tickets are no longer sent as part of the initial handshake and are " -"handled differently. :attr:`SSLSocket.session` and :class:`SSLSession` are " -"not compatible with TLS 1.3." -msgstr "" - -#: ../../library/ssl.rst:2802 -msgid "" -"Client-side certificates are also no longer verified during the initial " -"handshake. A server can request a certificate at any time. Clients process" -" certificate requests while they send or receive application data from the " -"server." -msgstr "" - -#: ../../library/ssl.rst:2806 -msgid "" -"TLS 1.3 features like early data, deferred TLS client cert request, " -"signature algorithm configuration, and rekeying are not supported yet." -msgstr "" - -#: ../../library/ssl.rst:2812 -msgid "Class :class:`socket.socket`" -msgstr "" - -#: ../../library/ssl.rst:2813 -msgid "Documentation of underlying :mod:`socket` class" -msgstr "" - -#: ../../library/ssl.rst:2815 -msgid "" -"`SSL/TLS Strong Encryption: An Introduction " -"`_" -msgstr "" - -#: ../../library/ssl.rst:2816 -msgid "Intro from the Apache HTTP Server documentation" -msgstr "" - -#: ../../library/ssl.rst:2818 -msgid "" -":rfc:`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: " -"Certificate-Based Key Management <1422>`" -msgstr "" - -#: ../../library/ssl.rst:2819 -msgid "Steve Kent" -msgstr "" - -#: ../../library/ssl.rst:2821 -msgid ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" -msgstr "" - -#: ../../library/ssl.rst:2822 -msgid "Donald E., Jeffrey I. Schiller" -msgstr "" - -#: ../../library/ssl.rst:2824 -msgid "" -":rfc:`RFC 5280: Internet X.509 Public Key Infrastructure Certificate and " -"Certificate Revocation List (CRL) Profile <5280>`" -msgstr "" - -#: ../../library/ssl.rst:2825 -msgid "D. Cooper" -msgstr "" - -#: ../../library/ssl.rst:2827 -msgid "" -":rfc:`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 " -"<5246>`" -msgstr "" - -#: ../../library/ssl.rst:2828 -msgid "T. Dierks et. al." -msgstr "" - -#: ../../library/ssl.rst:2830 -msgid ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" -msgstr "" - -#: ../../library/ssl.rst:2831 -msgid "D. Eastlake" -msgstr "" - -#: ../../library/ssl.rst:2833 -msgid "" -"`IANA TLS: Transport Layer Security (TLS) Parameters " -"`_" -msgstr "" - -#: ../../library/ssl.rst:2834 -msgid "IANA" -msgstr "IANA" - -#: ../../library/ssl.rst:2836 -msgid "" -":rfc:`RFC 7525: Recommendations for Secure Use of Transport Layer Security " -"(TLS) and Datagram Transport Layer Security (DTLS) <7525>`" -msgstr "" - -#: ../../library/ssl.rst:2837 -msgid "IETF" -msgstr "IETF" - -#: ../../library/ssl.rst:2839 -msgid "" -"`Mozilla's Server Side TLS recommendations " -"`_" -msgstr "" - -#: ../../library/ssl.rst:2840 -msgid "Mozilla" -msgstr "Mozilla" - -#: ../../library/ssl.rst:12 -msgid "OpenSSL" -msgstr "OpenSSL" - -#: ../../library/ssl.rst:12 -msgid "(use in module ssl)" -msgstr "" - -#: ../../library/ssl.rst:14 -msgid "TLS" -msgstr "" - -#: ../../library/ssl.rst:14 -msgid "SSL" -msgstr "" - -#: ../../library/ssl.rst:14 -msgid "Transport Layer Security" -msgstr "" - -#: ../../library/ssl.rst:14 -msgid "Secure Sockets Layer" -msgstr "" - -#: ../../library/ssl.rst:2151 -msgid "certificates" -msgstr "" - -#: ../../library/ssl.rst:2153 -msgid "X509 certificate" -msgstr "" diff --git a/python-newest.library--stat/id.po b/python-newest.library--stat/id.po deleted file mode 100644 index 20eb381..0000000 --- a/python-newest.library--stat/id.po +++ /dev/null @@ -1,485 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/stat.rst:2 -msgid ":mod:`!stat` --- Interpreting :func:`~os.stat` results" -msgstr "" - -#: ../../library/stat.rst:10 -msgid "**Source code:** :source:`Lib/stat.py`" -msgstr "" - -#: ../../library/stat.rst:14 -msgid "" -"The :mod:`stat` module defines constants and functions for interpreting the " -"results of :func:`os.stat`, :func:`os.fstat` and :func:`os.lstat` (if they " -"exist). For complete details about the :c:func:`stat`, :c:func:`!fstat` and" -" :c:func:`!lstat` calls, consult the documentation for your system." -msgstr "" - -#: ../../library/stat.rst:19 -msgid "The stat module is backed by a C implementation." -msgstr "" - -#: ../../library/stat.rst:22 -msgid "" -"The :mod:`stat` module defines the following functions to test for specific " -"file types:" -msgstr "" - -#: ../../library/stat.rst:28 -msgid "Return non-zero if the mode is from a directory." -msgstr "" - -#: ../../library/stat.rst:33 -msgid "Return non-zero if the mode is from a character special device file." -msgstr "" - -#: ../../library/stat.rst:38 -msgid "Return non-zero if the mode is from a block special device file." -msgstr "" - -#: ../../library/stat.rst:43 -msgid "Return non-zero if the mode is from a regular file." -msgstr "" - -#: ../../library/stat.rst:48 -msgid "Return non-zero if the mode is from a FIFO (named pipe)." -msgstr "" - -#: ../../library/stat.rst:53 -msgid "Return non-zero if the mode is from a symbolic link." -msgstr "" - -#: ../../library/stat.rst:58 -msgid "Return non-zero if the mode is from a socket." -msgstr "" - -#: ../../library/stat.rst:62 -msgid "Return non-zero if the mode is from a door." -msgstr "" - -#: ../../library/stat.rst:68 -msgid "Return non-zero if the mode is from an event port." -msgstr "" - -#: ../../library/stat.rst:74 -msgid "Return non-zero if the mode is from a whiteout." -msgstr "" - -#: ../../library/stat.rst:78 -msgid "" -"Two additional functions are defined for more general manipulation of the " -"file's mode:" -msgstr "" - -#: ../../library/stat.rst:84 -msgid "" -"Return the portion of the file's mode that can be set by :func:`os.chmod`\\ " -"---that is, the file's permission bits, plus the sticky bit, set-group-id, " -"and set-user-id bits (on systems that support them)." -msgstr "" - -#: ../../library/stat.rst:91 -msgid "" -"Return the portion of the file's mode that describes the file type (used by " -"the :func:`!S_IS\\*` functions above)." -msgstr "" - -#: ../../library/stat.rst:94 -msgid "" -"Normally, you would use the :func:`!os.path.is\\*` functions for testing the" -" type of a file; the functions here are useful when you are doing multiple " -"tests of the same file and wish to avoid the overhead of the :c:func:`stat` " -"system call for each test. These are also useful when checking for " -"information about a file that isn't handled by :mod:`os.path`, like the " -"tests for block and character devices." -msgstr "" - -#: ../../library/stat.rst:101 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/stat.rst:103 -msgid "" -"import os, sys\n" -"from stat import *\n" -"\n" -"def walktree(top, callback):\n" -" '''recursively descend the directory tree rooted at top,\n" -" calling the callback function for each regular file'''\n" -"\n" -" for f in os.listdir(top):\n" -" pathname = os.path.join(top, f)\n" -" mode = os.lstat(pathname).st_mode\n" -" if S_ISDIR(mode):\n" -" # It's a directory, recurse into it\n" -" walktree(pathname, callback)\n" -" elif S_ISREG(mode):\n" -" # It's a file, call the callback function\n" -" callback(pathname)\n" -" else:\n" -" # Unknown file type, print a message\n" -" print('Skipping %s' % pathname)\n" -"\n" -"def visitfile(file):\n" -" print('visiting', file)\n" -"\n" -"if __name__ == '__main__':\n" -" walktree(sys.argv[1], visitfile)" -msgstr "" - -#: ../../library/stat.rst:129 -msgid "" -"An additional utility function is provided to convert a file's mode in a " -"human readable string:" -msgstr "" - -#: ../../library/stat.rst:134 -msgid "Convert a file's mode to a string of the form '-rwxrwxrwx'." -msgstr "" - -#: ../../library/stat.rst:138 -msgid "" -"The function supports :data:`S_IFDOOR`, :data:`S_IFPORT` and " -":data:`S_IFWHT`." -msgstr "" - -#: ../../library/stat.rst:143 -msgid "" -"All the variables below are simply symbolic indexes into the 10-tuple " -"returned by :func:`os.stat`, :func:`os.fstat` or :func:`os.lstat`." -msgstr "" - -#: ../../library/stat.rst:149 -msgid "Inode protection mode." -msgstr "" - -#: ../../library/stat.rst:154 -msgid "Inode number." -msgstr "" - -#: ../../library/stat.rst:159 -msgid "Device inode resides on." -msgstr "" - -#: ../../library/stat.rst:164 -msgid "Number of links to the inode." -msgstr "" - -#: ../../library/stat.rst:169 -msgid "User id of the owner." -msgstr "" - -#: ../../library/stat.rst:174 -msgid "Group id of the owner." -msgstr "" - -#: ../../library/stat.rst:179 -msgid "" -"Size in bytes of a plain file; amount of data waiting on some special files." -msgstr "" - -#: ../../library/stat.rst:184 -msgid "Time of last access." -msgstr "" - -#: ../../library/stat.rst:189 -msgid "Time of last modification." -msgstr "" - -#: ../../library/stat.rst:194 -msgid "" -"The \"ctime\" as reported by the operating system. On some systems (like " -"Unix) is the time of the last metadata change, and, on others (like " -"Windows), is the creation time (see platform documentation for details)." -msgstr "" - -#: ../../library/stat.rst:198 -msgid "" -"The interpretation of \"file size\" changes according to the file type. For" -" plain files this is the size of the file in bytes. For FIFOs and sockets " -"under most flavors of Unix (including Linux in particular), the \"size\" is " -"the number of bytes waiting to be read at the time of the call to " -":func:`os.stat`, :func:`os.fstat`, or :func:`os.lstat`; this can sometimes " -"be useful, especially for polling one of these special files after a non-" -"blocking open. The meaning of the size field for other character and block " -"devices varies more, depending on the implementation of the underlying " -"system call." -msgstr "" - -#: ../../library/stat.rst:207 -msgid "" -"The variables below define the flags used in the :data:`ST_MODE` field." -msgstr "" - -#: ../../library/stat.rst:209 -msgid "" -"Use of the functions above is more portable than use of the first set of " -"flags:" -msgstr "" - -#: ../../library/stat.rst:213 -msgid "Socket." -msgstr "" - -#: ../../library/stat.rst:217 -msgid "Symbolic link." -msgstr "" - -#: ../../library/stat.rst:221 -msgid "Regular file." -msgstr "" - -#: ../../library/stat.rst:225 -msgid "Block device." -msgstr "" - -#: ../../library/stat.rst:229 -msgid "Directory." -msgstr "" - -#: ../../library/stat.rst:233 -msgid "Character device." -msgstr "" - -#: ../../library/stat.rst:237 -msgid "FIFO." -msgstr "" - -#: ../../library/stat.rst:241 -msgid "Door." -msgstr "" - -#: ../../library/stat.rst:247 -msgid "Event port." -msgstr "" - -#: ../../library/stat.rst:253 -msgid "Whiteout." -msgstr "" - -#: ../../library/stat.rst:259 -msgid "" -":data:`S_IFDOOR`, :data:`S_IFPORT` or :data:`S_IFWHT` are defined as 0 when " -"the platform does not have support for the file types." -msgstr "" - -#: ../../library/stat.rst:262 -msgid "" -"The following flags can also be used in the *mode* argument of " -":func:`os.chmod`:" -msgstr "" - -#: ../../library/stat.rst:266 -msgid "Set UID bit." -msgstr "" - -#: ../../library/stat.rst:270 -msgid "" -"Set-group-ID bit. This bit has several special uses. For a directory it " -"indicates that BSD semantics is to be used for that directory: files created" -" there inherit their group ID from the directory, not from the effective " -"group ID of the creating process, and directories created there will also " -"get the :data:`S_ISGID` bit set. For a file that does not have the group " -"execution bit (:data:`S_IXGRP`) set, the set-group-ID bit indicates " -"mandatory file/record locking (see also :data:`S_ENFMT`)." -msgstr "" - -#: ../../library/stat.rst:281 -msgid "" -"Sticky bit. When this bit is set on a directory it means that a file in " -"that directory can be renamed or deleted only by the owner of the file, by " -"the owner of the directory, or by a privileged process." -msgstr "" - -#: ../../library/stat.rst:287 -msgid "Mask for file owner permissions." -msgstr "" - -#: ../../library/stat.rst:291 -msgid "Owner has read permission." -msgstr "" - -#: ../../library/stat.rst:295 -msgid "Owner has write permission." -msgstr "" - -#: ../../library/stat.rst:299 -msgid "Owner has execute permission." -msgstr "" - -#: ../../library/stat.rst:303 -msgid "Mask for group permissions." -msgstr "" - -#: ../../library/stat.rst:307 -msgid "Group has read permission." -msgstr "" - -#: ../../library/stat.rst:311 -msgid "Group has write permission." -msgstr "" - -#: ../../library/stat.rst:315 -msgid "Group has execute permission." -msgstr "" - -#: ../../library/stat.rst:319 -msgid "Mask for permissions for others (not in group)." -msgstr "" - -#: ../../library/stat.rst:323 -msgid "Others have read permission." -msgstr "" - -#: ../../library/stat.rst:327 -msgid "Others have write permission." -msgstr "" - -#: ../../library/stat.rst:331 -msgid "Others have execute permission." -msgstr "" - -#: ../../library/stat.rst:335 -msgid "" -"System V file locking enforcement. This flag is shared with " -":data:`S_ISGID`: file/record locking is enforced on files that do not have " -"the group execution bit (:data:`S_IXGRP`) set." -msgstr "" - -#: ../../library/stat.rst:341 -msgid "Unix V7 synonym for :data:`S_IRUSR`." -msgstr "" - -#: ../../library/stat.rst:345 -msgid "Unix V7 synonym for :data:`S_IWUSR`." -msgstr "" - -#: ../../library/stat.rst:349 -msgid "Unix V7 synonym for :data:`S_IXUSR`." -msgstr "" - -#: ../../library/stat.rst:351 -msgid "" -"The following flags can be used in the *flags* argument of " -":func:`os.chflags`:" -msgstr "" - -#: ../../library/stat.rst:355 -msgid "All user settable flags." -msgstr "" - -#: ../../library/stat.rst:361 -msgid "Do not dump the file." -msgstr "" - -#: ../../library/stat.rst:365 ../../library/stat.rst:427 -msgid "The file may not be changed." -msgstr "" - -#: ../../library/stat.rst:369 ../../library/stat.rst:431 -msgid "The file may only be appended to." -msgstr "" - -#: ../../library/stat.rst:373 -msgid "The directory is opaque when viewed through a union stack." -msgstr "" - -#: ../../library/stat.rst:377 ../../library/stat.rst:441 -msgid "The file may not be renamed or deleted." -msgstr "" - -#: ../../library/stat.rst:381 -msgid "The file is stored compressed (macOS 10.6+)." -msgstr "" - -#: ../../library/stat.rst:385 -msgid "Used for handling document IDs (macOS)" -msgstr "" - -#: ../../library/stat.rst:391 -msgid "The file needs an entitlement for reading or writing (macOS 10.13+)" -msgstr "" - -#: ../../library/stat.rst:397 -msgid "The file should not be displayed in a GUI (macOS 10.5+)." -msgstr "" - -#: ../../library/stat.rst:401 -msgid "All super-user changeable flags" -msgstr "" - -#: ../../library/stat.rst:407 -msgid "All super-user supported flags" -msgstr "" - -#: ../../library/stat.rst:409 ../../library/stat.rst:417 -msgid "Availability" -msgstr "" - -#: ../../library/stat.rst:415 -msgid "All super-user read-only synthetic flags" -msgstr "" - -#: ../../library/stat.rst:423 -msgid "The file may be archived." -msgstr "" - -#: ../../library/stat.rst:435 -msgid "The file needs an entitlement to write to (macOS 10.13+)" -msgstr "" - -#: ../../library/stat.rst:445 -msgid "The file is a snapshot file." -msgstr "" - -#: ../../library/stat.rst:449 -msgid "The file is a firmlink (macOS 10.15+)" -msgstr "" - -#: ../../library/stat.rst:455 -msgid "The file is a dataless object (macOS 10.15+)" -msgstr "" - -#: ../../library/stat.rst:459 -msgid "" -"See the \\*BSD or macOS systems man page :manpage:`chflags(2)` for more " -"information." -msgstr "" - -#: ../../library/stat.rst:461 -msgid "" -"On Windows, the following file attribute constants are available for use " -"when testing bits in the ``st_file_attributes`` member returned by " -":func:`os.stat`. See the `Windows API documentation " -"`_ " -"for more detail on the meaning of these constants." -msgstr "" - -#: ../../library/stat.rst:487 -msgid "" -"On Windows, the following constants are available for comparing against the " -"``st_reparse_tag`` member returned by :func:`os.lstat`. These are well-known" -" constants, but are not an exhaustive list." -msgstr "" diff --git a/python-newest.library--statistics/id.po b/python-newest.library--statistics/id.po deleted file mode 100644 index a1cee2a..0000000 --- a/python-newest.library--statistics/id.po +++ /dev/null @@ -1,1664 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/statistics.rst:2 -msgid ":mod:`!statistics` --- Mathematical statistics functions" -msgstr "" - -#: ../../library/statistics.rst:12 -msgid "**Source code:** :source:`Lib/statistics.py`" -msgstr "" - -#: ../../library/statistics.rst:22 -msgid "" -"This module provides functions for calculating mathematical statistics of " -"numeric (:class:`~numbers.Real`-valued) data." -msgstr "" - -#: ../../library/statistics.rst:25 -msgid "" -"The module is not intended to be a competitor to third-party libraries such " -"as `NumPy `_, `SciPy `_, or " -"proprietary full-featured statistics packages aimed at professional " -"statisticians such as Minitab, SAS and Matlab. It is aimed at the level of " -"graphing and scientific calculators." -msgstr "" - -#: ../../library/statistics.rst:31 -msgid "" -"Unless explicitly noted, these functions support :class:`int`, " -":class:`float`, :class:`~decimal.Decimal` and :class:`~fractions.Fraction`. " -"Behaviour with other types (whether in the numeric tower or not) is " -"currently unsupported. Collections with a mix of types are also undefined " -"and implementation-dependent. If your input data consists of mixed types, " -"you may be able to use :func:`map` to ensure a consistent result, for " -"example: ``map(float, input_data)``." -msgstr "" - -#: ../../library/statistics.rst:39 -msgid "" -"Some datasets use ``NaN`` (not a number) values to represent missing data. " -"Since NaNs have unusual comparison semantics, they cause surprising or " -"undefined behaviors in the statistics functions that sort data or that count" -" occurrences. The functions affected are ``median()``, ``median_low()``, " -"``median_high()``, ``median_grouped()``, ``mode()``, ``multimode()``, and " -"``quantiles()``. The ``NaN`` values should be stripped before calling these" -" functions::" -msgstr "" - -#: ../../library/statistics.rst:47 -msgid "" -">>> from statistics import median\n" -">>> from math import isnan\n" -">>> from itertools import filterfalse\n" -"\n" -">>> data = [20.7, float('NaN'),19.2, 18.3, float('NaN'), 14.4]\n" -">>> sorted(data) # This has surprising behavior\n" -"[20.7, nan, 14.4, 18.3, 19.2, nan]\n" -">>> median(data) # This result is unexpected\n" -"16.35\n" -"\n" -">>> sum(map(isnan, data)) # Number of missing values\n" -"2\n" -">>> clean = list(filterfalse(isnan, data)) # Strip NaN values\n" -">>> clean\n" -"[20.7, 19.2, 18.3, 14.4]\n" -">>> sorted(clean) # Sorting now works as expected\n" -"[14.4, 18.3, 19.2, 20.7]\n" -">>> median(clean) # This result is now well defined\n" -"18.75" -msgstr "" - -#: ../../library/statistics.rst:69 -msgid "Averages and measures of central location" -msgstr "" - -#: ../../library/statistics.rst:71 -msgid "" -"These functions calculate an average or typical value from a population or " -"sample." -msgstr "" - -#: ../../library/statistics.rst:75 -msgid ":func:`mean`" -msgstr "" - -#: ../../library/statistics.rst:75 -msgid "Arithmetic mean (\"average\") of data." -msgstr "" - -#: ../../library/statistics.rst:76 -msgid ":func:`fmean`" -msgstr "" - -#: ../../library/statistics.rst:76 -msgid "Fast, floating-point arithmetic mean, with optional weighting." -msgstr "" - -#: ../../library/statistics.rst:77 -msgid ":func:`geometric_mean`" -msgstr "" - -#: ../../library/statistics.rst:77 -msgid "Geometric mean of data." -msgstr "" - -#: ../../library/statistics.rst:78 -msgid ":func:`harmonic_mean`" -msgstr "" - -#: ../../library/statistics.rst:78 -msgid "Harmonic mean of data." -msgstr "" - -#: ../../library/statistics.rst:79 -msgid ":func:`kde`" -msgstr "" - -#: ../../library/statistics.rst:79 -msgid "Estimate the probability density distribution of the data." -msgstr "" - -#: ../../library/statistics.rst:80 -msgid ":func:`kde_random`" -msgstr "" - -#: ../../library/statistics.rst:80 -msgid "Random sampling from the PDF generated by kde()." -msgstr "" - -#: ../../library/statistics.rst:81 -msgid ":func:`median`" -msgstr "" - -#: ../../library/statistics.rst:81 -msgid "Median (middle value) of data." -msgstr "" - -#: ../../library/statistics.rst:82 -msgid ":func:`median_low`" -msgstr "" - -#: ../../library/statistics.rst:82 -msgid "Low median of data." -msgstr "" - -#: ../../library/statistics.rst:83 -msgid ":func:`median_high`" -msgstr "" - -#: ../../library/statistics.rst:83 -msgid "High median of data." -msgstr "" - -#: ../../library/statistics.rst:84 -msgid ":func:`median_grouped`" -msgstr "" - -#: ../../library/statistics.rst:84 -msgid "Median (50th percentile) of grouped data." -msgstr "" - -#: ../../library/statistics.rst:85 -msgid ":func:`mode`" -msgstr ":func:`mode`" - -#: ../../library/statistics.rst:85 -msgid "Single mode (most common value) of discrete or nominal data." -msgstr "" - -#: ../../library/statistics.rst:86 -msgid ":func:`multimode`" -msgstr "" - -#: ../../library/statistics.rst:86 -msgid "List of modes (most common values) of discrete or nominal data." -msgstr "" - -#: ../../library/statistics.rst:87 -msgid ":func:`quantiles`" -msgstr "" - -#: ../../library/statistics.rst:87 -msgid "Divide data into intervals with equal probability." -msgstr "" - -#: ../../library/statistics.rst:91 -msgid "Measures of spread" -msgstr "" - -#: ../../library/statistics.rst:93 -msgid "" -"These functions calculate a measure of how much the population or sample " -"tends to deviate from the typical or average values." -msgstr "" - -#: ../../library/statistics.rst:97 -msgid ":func:`pstdev`" -msgstr "" - -#: ../../library/statistics.rst:97 -msgid "Population standard deviation of data." -msgstr "" - -#: ../../library/statistics.rst:98 -msgid ":func:`pvariance`" -msgstr "" - -#: ../../library/statistics.rst:98 -msgid "Population variance of data." -msgstr "" - -#: ../../library/statistics.rst:99 -msgid ":func:`stdev`" -msgstr "" - -#: ../../library/statistics.rst:99 -msgid "Sample standard deviation of data." -msgstr "" - -#: ../../library/statistics.rst:100 -msgid ":func:`variance`" -msgstr "" - -#: ../../library/statistics.rst:100 -msgid "Sample variance of data." -msgstr "" - -#: ../../library/statistics.rst:104 -msgid "Statistics for relations between two inputs" -msgstr "" - -#: ../../library/statistics.rst:106 -msgid "" -"These functions calculate statistics regarding relations between two inputs." -msgstr "" - -#: ../../library/statistics.rst:109 -msgid ":func:`covariance`" -msgstr "" - -#: ../../library/statistics.rst:109 -msgid "Sample covariance for two variables." -msgstr "" - -#: ../../library/statistics.rst:110 -msgid ":func:`correlation`" -msgstr "" - -#: ../../library/statistics.rst:110 -msgid "Pearson and Spearman's correlation coefficients." -msgstr "" - -#: ../../library/statistics.rst:111 -msgid ":func:`linear_regression`" -msgstr "" - -#: ../../library/statistics.rst:111 -msgid "Slope and intercept for simple linear regression." -msgstr "" - -#: ../../library/statistics.rst:116 -msgid "Function details" -msgstr "" - -#: ../../library/statistics.rst:118 -msgid "" -"Note: The functions do not require the data given to them to be sorted. " -"However, for reading convenience, most of the examples show sorted " -"sequences." -msgstr "" - -#: ../../library/statistics.rst:123 -msgid "" -"Return the sample arithmetic mean of *data* which can be a sequence or " -"iterable." -msgstr "" - -#: ../../library/statistics.rst:125 -msgid "" -"The arithmetic mean is the sum of the data divided by the number of data " -"points. It is commonly called \"the average\", although it is only one of " -"many different mathematical averages. It is a measure of the central " -"location of the data." -msgstr "" - -#: ../../library/statistics.rst:130 -msgid "If *data* is empty, :exc:`StatisticsError` will be raised." -msgstr "" - -#: ../../library/statistics.rst:132 -msgid "Some examples of use:" -msgstr "" - -#: ../../library/statistics.rst:134 -msgid "" -">>> mean([1, 2, 3, 4, 4])\n" -"2.8\n" -">>> mean([-1.0, 2.5, 3.25, 5.75])\n" -"2.625\n" -"\n" -">>> from fractions import Fraction as F\n" -">>> mean([F(3, 7), F(1, 21), F(5, 3), F(1, 3)])\n" -"Fraction(13, 21)\n" -"\n" -">>> from decimal import Decimal as D\n" -">>> mean([D(\"0.5\"), D(\"0.75\"), D(\"0.625\"), D(\"0.375\")])\n" -"Decimal('0.5625')" -msgstr "" - -#: ../../library/statistics.rst:151 -msgid "" -"The mean is strongly affected by `outliers " -"`_ and is not necessarily a typical " -"example of the data points. For a more robust, although less efficient, " -"measure of `central tendency " -"`_, see :func:`median`." -msgstr "" - -#: ../../library/statistics.rst:157 -msgid "" -"The sample mean gives an unbiased estimate of the true population mean, so " -"that when taken on average over all the possible samples, ``mean(sample)`` " -"converges on the true mean of the entire population. If *data* represents " -"the entire population rather than a sample, then ``mean(data)`` is " -"equivalent to calculating the true population mean μ." -msgstr "" - -#: ../../library/statistics.rst:166 -msgid "Convert *data* to floats and compute the arithmetic mean." -msgstr "" - -#: ../../library/statistics.rst:168 -msgid "" -"This runs faster than the :func:`mean` function and it always returns a " -":class:`float`. The *data* may be a sequence or iterable. If the input " -"dataset is empty, raises a :exc:`StatisticsError`." -msgstr "" - -#: ../../library/statistics.rst:172 -msgid "" -">>> fmean([3.5, 4.0, 5.25])\n" -"4.25" -msgstr "" - -#: ../../library/statistics.rst:177 -msgid "" -"Optional weighting is supported. For example, a professor assigns a grade " -"for a course by weighting quizzes at 20%, homework at 20%, a midterm exam at" -" 30%, and a final exam at 30%:" -msgstr "" - -#: ../../library/statistics.rst:181 -msgid "" -">>> grades = [85, 92, 83, 91]\n" -">>> weights = [0.20, 0.20, 0.30, 0.30]\n" -">>> fmean(grades, weights)\n" -"87.6" -msgstr "" - -#: ../../library/statistics.rst:188 -msgid "" -"If *weights* is supplied, it must be the same length as the *data* or a " -":exc:`ValueError` will be raised." -msgstr "" - -#: ../../library/statistics.rst:193 ../../library/statistics.rst:261 -msgid "Added support for *weights*." -msgstr "" - -#: ../../library/statistics.rst:199 -msgid "Convert *data* to floats and compute the geometric mean." -msgstr "" - -#: ../../library/statistics.rst:201 -msgid "" -"The geometric mean indicates the central tendency or typical value of the " -"*data* using the product of the values (as opposed to the arithmetic mean " -"which uses their sum)." -msgstr "" - -#: ../../library/statistics.rst:205 -msgid "" -"Raises a :exc:`StatisticsError` if the input dataset is empty, if it " -"contains a zero, or if it contains a negative value. The *data* may be a " -"sequence or iterable." -msgstr "" - -#: ../../library/statistics.rst:209 -msgid "" -"No special efforts are made to achieve exact results. (However, this may " -"change in the future.)" -msgstr "" - -#: ../../library/statistics.rst:212 -msgid "" -">>> round(geometric_mean([54, 24, 36]), 1)\n" -"36.0" -msgstr "" - -#: ../../library/statistics.rst:222 -msgid "" -"Return the harmonic mean of *data*, a sequence or iterable of real-valued " -"numbers. If *weights* is omitted or ``None``, then equal weighting is " -"assumed." -msgstr "" - -#: ../../library/statistics.rst:226 -msgid "" -"The harmonic mean is the reciprocal of the arithmetic :func:`mean` of the " -"reciprocals of the data. For example, the harmonic mean of three values *a*," -" *b* and *c* will be equivalent to ``3/(1/a + 1/b + 1/c)``. If one of the " -"values is zero, the result will be zero." -msgstr "" - -#: ../../library/statistics.rst:231 -msgid "" -"The harmonic mean is a type of average, a measure of the central location of" -" the data. It is often appropriate when averaging ratios or rates, for " -"example speeds." -msgstr "" - -#: ../../library/statistics.rst:235 -msgid "" -"Suppose a car travels 10 km at 40 km/hr, then another 10 km at 60 km/hr. " -"What is the average speed?" -msgstr "" - -#: ../../library/statistics.rst:238 -msgid "" -">>> harmonic_mean([40, 60])\n" -"48.0" -msgstr "" - -#: ../../library/statistics.rst:243 -msgid "" -"Suppose a car travels 40 km/hr for 5 km, and when traffic clears, speeds-up " -"to 60 km/hr for the remaining 30 km of the journey. What is the average " -"speed?" -msgstr "" - -#: ../../library/statistics.rst:247 -msgid "" -">>> harmonic_mean([40, 60], weights=[5, 30])\n" -"56.0" -msgstr "" - -#: ../../library/statistics.rst:252 -msgid "" -":exc:`StatisticsError` is raised if *data* is empty, any element is less " -"than zero, or if the weighted sum isn't positive." -msgstr "" - -#: ../../library/statistics.rst:255 -msgid "" -"The current algorithm has an early-out when it encounters a zero in the " -"input. This means that the subsequent inputs are not tested for validity. " -"(This behavior may change in the future.)" -msgstr "" - -#: ../../library/statistics.rst:267 -msgid "" -"`Kernel Density Estimation (KDE) `_: " -"Create a continuous probability density function or cumulative distribution " -"function from discrete samples." -msgstr "" - -#: ../../library/statistics.rst:272 -msgid "" -"The basic idea is to smooth the data using `a kernel function " -"`_. to help draw " -"inferences about a population from a sample." -msgstr "" - -#: ../../library/statistics.rst:276 -msgid "" -"The degree of smoothing is controlled by the scaling parameter *h* which is " -"called the bandwidth. Smaller values emphasize local features while larger " -"values give smoother results." -msgstr "" - -#: ../../library/statistics.rst:280 -msgid "" -"The *kernel* determines the relative weights of the sample data points. " -"Generally, the choice of kernel shape does not matter as much as the more " -"influential bandwidth smoothing parameter." -msgstr "" - -#: ../../library/statistics.rst:284 -msgid "" -"Kernels that give some weight to every sample point include *normal* " -"(*gauss*), *logistic*, and *sigmoid*." -msgstr "" - -#: ../../library/statistics.rst:287 -msgid "" -"Kernels that only give weight to sample points within the bandwidth include " -"*rectangular* (*uniform*), *triangular*, *parabolic* (*epanechnikov*), " -"*quartic* (*biweight*), *triweight*, and *cosine*." -msgstr "" - -#: ../../library/statistics.rst:291 -msgid "" -"If *cumulative* is true, will return a cumulative distribution function." -msgstr "" - -#: ../../library/statistics.rst:293 ../../library/statistics.rst:324 -msgid "" -"A :exc:`StatisticsError` will be raised if the *data* sequence is empty." -msgstr "" - -#: ../../library/statistics.rst:295 -msgid "" -"`Wikipedia has an example " -"`_ where we" -" can use :func:`kde` to generate and plot a probability density function " -"estimated from a small sample:" -msgstr "" - -#: ../../library/statistics.rst:300 -msgid "" -">>> sample = [-2.1, -1.3, -0.4, 1.9, 5.1, 6.2]\n" -">>> f_hat = kde(sample, h=1.5)\n" -">>> xarr = [i/100 for i in range(-750, 1100)]\n" -">>> yarr = [f_hat(x) for x in xarr]" -msgstr "" - -#: ../../library/statistics.rst:307 -msgid "The points in ``xarr`` and ``yarr`` can be used to make a PDF plot:" -msgstr "" - -#: ../../library/statistics.rst:309 -msgid "Scatter plot of the estimated probability density function." -msgstr "" - -#: ../../library/statistics.rst:317 -msgid "" -"Return a function that makes a random selection from the estimated " -"probability density function produced by ``kde(data, h, kernel)``." -msgstr "" - -#: ../../library/statistics.rst:320 -msgid "" -"Providing a *seed* allows reproducible selections. In the future, the values" -" may change slightly as more accurate kernel inverse CDF estimates are " -"implemented. The seed may be an integer, float, str, or bytes." -msgstr "" - -#: ../../library/statistics.rst:326 -msgid "" -"Continuing the example for :func:`kde`, we can use :func:`kde_random` to " -"generate new random selections from an estimated probability density " -"function:" -msgstr "" - -#: ../../library/statistics.rst:341 -msgid "" -"Return the median (middle value) of numeric data, using the common \"mean of" -" middle two\" method. If *data* is empty, :exc:`StatisticsError` is raised." -" *data* can be a sequence or iterable." -msgstr "" - -#: ../../library/statistics.rst:345 -msgid "" -"The median is a robust measure of central location and is less affected by " -"the presence of outliers. When the number of data points is odd, the middle" -" data point is returned:" -msgstr "" - -#: ../../library/statistics.rst:349 -msgid "" -">>> median([1, 3, 5])\n" -"3" -msgstr "" - -#: ../../library/statistics.rst:354 -msgid "" -"When the number of data points is even, the median is interpolated by taking" -" the average of the two middle values:" -msgstr "" - -#: ../../library/statistics.rst:357 -msgid "" -">>> median([1, 3, 5, 7])\n" -"4.0" -msgstr "" - -#: ../../library/statistics.rst:362 -msgid "" -"This is suited for when your data is discrete, and you don't mind that the " -"median may not be an actual data point." -msgstr "" - -#: ../../library/statistics.rst:365 -msgid "" -"If the data is ordinal (supports order operations) but not numeric (doesn't " -"support addition), consider using :func:`median_low` or :func:`median_high` " -"instead." -msgstr "" - -#: ../../library/statistics.rst:371 -msgid "" -"Return the low median of numeric data. If *data* is empty, " -":exc:`StatisticsError` is raised. *data* can be a sequence or iterable." -msgstr "" - -#: ../../library/statistics.rst:374 -msgid "" -"The low median is always a member of the data set. When the number of data " -"points is odd, the middle value is returned. When it is even, the smaller " -"of the two middle values is returned." -msgstr "" - -#: ../../library/statistics.rst:378 -msgid "" -">>> median_low([1, 3, 5])\n" -"3\n" -">>> median_low([1, 3, 5, 7])\n" -"3" -msgstr "" - -#: ../../library/statistics.rst:385 -msgid "" -"Use the low median when your data are discrete and you prefer the median to " -"be an actual data point rather than interpolated." -msgstr "" - -#: ../../library/statistics.rst:391 -msgid "" -"Return the high median of data. If *data* is empty, :exc:`StatisticsError` " -"is raised. *data* can be a sequence or iterable." -msgstr "" - -#: ../../library/statistics.rst:394 -msgid "" -"The high median is always a member of the data set. When the number of data" -" points is odd, the middle value is returned. When it is even, the larger " -"of the two middle values is returned." -msgstr "" - -#: ../../library/statistics.rst:398 -msgid "" -">>> median_high([1, 3, 5])\n" -"3\n" -">>> median_high([1, 3, 5, 7])\n" -"5" -msgstr "" - -#: ../../library/statistics.rst:405 -msgid "" -"Use the high median when your data are discrete and you prefer the median to" -" be an actual data point rather than interpolated." -msgstr "" - -#: ../../library/statistics.rst:411 -msgid "" -"Estimates the median for numeric data that has been `grouped or binned " -"`_ around the midpoints of " -"consecutive, fixed-width intervals." -msgstr "" - -#: ../../library/statistics.rst:415 -msgid "" -"The *data* can be any iterable of numeric data with each value being exactly" -" the midpoint of a bin. At least one value must be present." -msgstr "" - -#: ../../library/statistics.rst:418 -msgid "The *interval* is the width of each bin." -msgstr "" - -#: ../../library/statistics.rst:420 -msgid "" -"For example, demographic information may have been summarized into " -"consecutive ten-year age groups with each group being represented by the " -"5-year midpoints of the intervals:" -msgstr "" - -#: ../../library/statistics.rst:424 -msgid "" -">>> from collections import Counter\n" -">>> demographics = Counter({\n" -"... 25: 172, # 20 to 30 years old\n" -"... 35: 484, # 30 to 40 years old\n" -"... 45: 387, # 40 to 50 years old\n" -"... 55: 22, # 50 to 60 years old\n" -"... 65: 6, # 60 to 70 years old\n" -"... })\n" -"..." -msgstr "" - -#: ../../library/statistics.rst:436 -msgid "" -"The 50th percentile (median) is the 536th person out of the 1071 member " -"cohort. That person is in the 30 to 40 year old age group." -msgstr "" - -#: ../../library/statistics.rst:439 -msgid "" -"The regular :func:`median` function would assume that everyone in the " -"tricenarian age group was exactly 35 years old. A more tenable assumption " -"is that the 484 members of that age group are evenly distributed between 30 " -"and 40. For that, we use :func:`median_grouped`:" -msgstr "" - -#: ../../library/statistics.rst:445 -msgid "" -">>> data = list(demographics.elements())\n" -">>> median(data)\n" -"35\n" -">>> round(median_grouped(data, interval=10), 1)\n" -"37.5" -msgstr "" - -#: ../../library/statistics.rst:453 -msgid "" -"The caller is responsible for making sure the data points are separated by " -"exact multiples of *interval*. This is essential for getting a correct " -"result. The function does not check this precondition." -msgstr "" - -#: ../../library/statistics.rst:457 -msgid "" -"Inputs may be any numeric type that can be coerced to a float during the " -"interpolation step." -msgstr "" - -#: ../../library/statistics.rst:463 -msgid "" -"Return the single most common data point from discrete or nominal *data*. " -"The mode (when it exists) is the most typical value and serves as a measure " -"of central location." -msgstr "" - -#: ../../library/statistics.rst:467 -msgid "" -"If there are multiple modes with the same frequency, returns the first one " -"encountered in the *data*. If the smallest or largest of those is desired " -"instead, use ``min(multimode(data))`` or ``max(multimode(data))``. If the " -"input *data* is empty, :exc:`StatisticsError` is raised." -msgstr "" - -#: ../../library/statistics.rst:472 -msgid "" -"``mode`` assumes discrete data and returns a single value. This is the " -"standard treatment of the mode as commonly taught in schools:" -msgstr "" - -#: ../../library/statistics.rst:475 -msgid "" -">>> mode([1, 1, 2, 3, 3, 3, 3, 4])\n" -"3" -msgstr "" - -#: ../../library/statistics.rst:480 -msgid "" -"The mode is unique in that it is the only statistic in this package that " -"also applies to nominal (non-numeric) data:" -msgstr "" - -#: ../../library/statistics.rst:483 -msgid "" -">>> mode([\"red\", \"blue\", \"blue\", \"red\", \"green\", \"red\", \"red\"])\n" -"'red'" -msgstr "" - -#: ../../library/statistics.rst:488 -msgid "" -"Only hashable inputs are supported. To handle type :class:`set`, consider " -"casting to :class:`frozenset`. To handle type :class:`list`, consider " -"casting to :class:`tuple`. For mixed or nested inputs, consider using this " -"slower quadratic algorithm that only depends on equality tests: ``max(data, " -"key=data.count)``." -msgstr "" - -#: ../../library/statistics.rst:494 -msgid "" -"Now handles multimodal datasets by returning the first mode encountered. " -"Formerly, it raised :exc:`StatisticsError` when more than one mode was " -"found." -msgstr "" - -#: ../../library/statistics.rst:502 -msgid "" -"Return a list of the most frequently occurring values in the order they were" -" first encountered in the *data*. Will return more than one result if there" -" are multiple modes or an empty list if the *data* is empty:" -msgstr "" - -#: ../../library/statistics.rst:506 -msgid "" -">>> multimode('aabbbbccddddeeffffgg')\n" -"['b', 'd', 'f']\n" -">>> multimode('')\n" -"[]" -msgstr "" - -#: ../../library/statistics.rst:518 -msgid "" -"Return the population standard deviation (the square root of the population " -"variance). See :func:`pvariance` for arguments and other details." -msgstr "" - -#: ../../library/statistics.rst:521 -msgid "" -">>> pstdev([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])\n" -"0.986893273527251" -msgstr "" - -#: ../../library/statistics.rst:529 -msgid "" -"Return the population variance of *data*, a non-empty sequence or iterable " -"of real-valued numbers. Variance, or second moment about the mean, is a " -"measure of the variability (spread or dispersion) of data. A large variance" -" indicates that the data is spread out; a small variance indicates it is " -"clustered closely around the mean." -msgstr "" - -#: ../../library/statistics.rst:535 -msgid "" -"If the optional second argument *mu* is given, it should be the *population*" -" mean of the *data*. It can also be used to compute the second moment " -"around a point that is not the mean. If it is missing or ``None`` (the " -"default), the arithmetic mean is automatically calculated." -msgstr "" - -#: ../../library/statistics.rst:540 -msgid "" -"Use this function to calculate the variance from the entire population. To " -"estimate the variance from a sample, the :func:`variance` function is " -"usually a better choice." -msgstr "" - -#: ../../library/statistics.rst:544 -msgid "Raises :exc:`StatisticsError` if *data* is empty." -msgstr "" - -#: ../../library/statistics.rst:546 ../../library/statistics.rst:616 -#: ../../library/statistics.rst:725 -msgid "Examples:" -msgstr "Contoh-contoh:" - -#: ../../library/statistics.rst:548 -msgid "" -">>> data = [0.0, 0.25, 0.25, 1.25, 1.5, 1.75, 2.75, 3.25]\n" -">>> pvariance(data)\n" -"1.25" -msgstr "" - -#: ../../library/statistics.rst:554 -msgid "" -"If you have already calculated the mean of your data, you can pass it as the" -" optional second argument *mu* to avoid recalculation:" -msgstr "" - -#: ../../library/statistics.rst:557 -msgid "" -">>> mu = mean(data)\n" -">>> pvariance(data, mu)\n" -"1.25" -msgstr "" - -#: ../../library/statistics.rst:563 -msgid "Decimals and Fractions are supported:" -msgstr "" - -#: ../../library/statistics.rst:565 -msgid "" -">>> from decimal import Decimal as D\n" -">>> pvariance([D(\"27.5\"), D(\"30.25\"), D(\"30.25\"), D(\"34.5\"), D(\"41.75\")])\n" -"Decimal('24.815')\n" -"\n" -">>> from fractions import Fraction as F\n" -">>> pvariance([F(1, 4), F(5, 4), F(1, 2)])\n" -"Fraction(13, 72)" -msgstr "" - -#: ../../library/statistics.rst:577 -msgid "" -"When called with the entire population, this gives the population variance " -"σ². When called on a sample instead, this is the biased sample variance s²," -" also known as variance with N degrees of freedom." -msgstr "" - -#: ../../library/statistics.rst:581 -msgid "" -"If you somehow know the true population mean μ, you may use this function to" -" calculate the variance of a sample, giving the known population mean as the" -" second argument. Provided the data points are a random sample of the " -"population, the result will be an unbiased estimate of the population " -"variance." -msgstr "" - -#: ../../library/statistics.rst:590 -msgid "" -"Return the sample standard deviation (the square root of the sample " -"variance). See :func:`variance` for arguments and other details." -msgstr "" - -#: ../../library/statistics.rst:593 -msgid "" -">>> stdev([1.5, 2.5, 2.5, 2.75, 3.25, 4.75])\n" -"1.0810874155219827" -msgstr "" - -#: ../../library/statistics.rst:601 -msgid "" -"Return the sample variance of *data*, an iterable of at least two real-" -"valued numbers. Variance, or second moment about the mean, is a measure of " -"the variability (spread or dispersion) of data. A large variance indicates " -"that the data is spread out; a small variance indicates it is clustered " -"closely around the mean." -msgstr "" - -#: ../../library/statistics.rst:607 -msgid "" -"If the optional second argument *xbar* is given, it should be the *sample* " -"mean of *data*. If it is missing or ``None`` (the default), the mean is " -"automatically calculated." -msgstr "" - -#: ../../library/statistics.rst:611 -msgid "" -"Use this function when your data is a sample from a population. To calculate" -" the variance from the entire population, see :func:`pvariance`." -msgstr "" - -#: ../../library/statistics.rst:614 -msgid "Raises :exc:`StatisticsError` if *data* has fewer than two values." -msgstr "" - -#: ../../library/statistics.rst:618 -msgid "" -">>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]\n" -">>> variance(data)\n" -"1.3720238095238095" -msgstr "" - -#: ../../library/statistics.rst:624 -msgid "" -"If you have already calculated the sample mean of your data, you can pass it" -" as the optional second argument *xbar* to avoid recalculation:" -msgstr "" - -#: ../../library/statistics.rst:627 -msgid "" -">>> m = mean(data)\n" -">>> variance(data, m)\n" -"1.3720238095238095" -msgstr "" - -#: ../../library/statistics.rst:633 -msgid "" -"This function does not attempt to verify that you have passed the actual " -"mean as *xbar*. Using arbitrary values for *xbar* can lead to invalid or " -"impossible results." -msgstr "" - -#: ../../library/statistics.rst:637 -msgid "Decimal and Fraction values are supported:" -msgstr "" - -#: ../../library/statistics.rst:639 -msgid "" -">>> from decimal import Decimal as D\n" -">>> variance([D(\"27.5\"), D(\"30.25\"), D(\"30.25\"), D(\"34.5\"), D(\"41.75\")])\n" -"Decimal('31.01875')\n" -"\n" -">>> from fractions import Fraction as F\n" -">>> variance([F(1, 6), F(1, 2), F(5, 3)])\n" -"Fraction(67, 108)" -msgstr "" - -#: ../../library/statistics.rst:651 -msgid "" -"This is the sample variance s² with Bessel's correction, also known as " -"variance with N-1 degrees of freedom. Provided that the data points are " -"representative (e.g. independent and identically distributed), the result " -"should be an unbiased estimate of the true population variance." -msgstr "" - -#: ../../library/statistics.rst:656 -msgid "" -"If you somehow know the actual population mean μ you should pass it to the " -":func:`pvariance` function as the *mu* parameter to get the variance of a " -"sample." -msgstr "" - -#: ../../library/statistics.rst:662 -msgid "" -"Divide *data* into *n* continuous intervals with equal probability. Returns " -"a list of ``n - 1`` cut points separating the intervals." -msgstr "" - -#: ../../library/statistics.rst:665 -msgid "" -"Set *n* to 4 for quartiles (the default). Set *n* to 10 for deciles. Set " -"*n* to 100 for percentiles which gives the 99 cuts points that separate " -"*data* into 100 equal sized groups. Raises :exc:`StatisticsError` if *n* is" -" not least 1." -msgstr "" - -#: ../../library/statistics.rst:670 -msgid "" -"The *data* can be any iterable containing sample data. For meaningful " -"results, the number of data points in *data* should be larger than *n*. " -"Raises :exc:`StatisticsError` if there is not at least one data point." -msgstr "" - -#: ../../library/statistics.rst:674 -msgid "" -"The cut points are linearly interpolated from the two nearest data points. " -"For example, if a cut point falls one-third of the distance between two " -"sample values, ``100`` and ``112``, the cut-point will evaluate to ``104``." -msgstr "" - -#: ../../library/statistics.rst:679 -msgid "" -"The *method* for computing quantiles can be varied depending on whether the " -"*data* includes or excludes the lowest and highest possible values from the " -"population." -msgstr "" - -#: ../../library/statistics.rst:683 -msgid "" -"The default *method* is \"exclusive\" and is used for data sampled from a " -"population that can have more extreme values than found in the samples. The" -" portion of the population falling below the *i-th* of *m* sorted data " -"points is computed as ``i / (m + 1)``. Given nine sample values, the method" -" sorts them and assigns the following percentiles: 10%, 20%, 30%, 40%, 50%, " -"60%, 70%, 80%, 90%." -msgstr "" - -#: ../../library/statistics.rst:690 -msgid "" -"Setting the *method* to \"inclusive\" is used for describing population data" -" or for samples that are known to include the most extreme values from the " -"population. The minimum value in *data* is treated as the 0th percentile " -"and the maximum value is treated as the 100th percentile. The portion of the" -" population falling below the *i-th* of *m* sorted data points is computed " -"as ``(i - 1) / (m - 1)``. Given 11 sample values, the method sorts them and" -" assigns the following percentiles: 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, " -"80%, 90%, 100%." -msgstr "" - -#: ../../library/statistics.rst:699 -msgid "" -"# Decile cut points for empirically sampled data\n" -">>> data = [105, 129, 87, 86, 111, 111, 89, 81, 108, 92, 110,\n" -"... 100, 75, 105, 103, 109, 76, 119, 99, 91, 103, 129,\n" -"... 106, 101, 84, 111, 74, 87, 86, 103, 103, 106, 86,\n" -"... 111, 75, 87, 102, 121, 111, 88, 89, 101, 106, 95,\n" -"... 103, 107, 101, 81, 109, 104]\n" -">>> [round(q, 1) for q in quantiles(data, n=10)]\n" -"[81.0, 86.2, 89.0, 99.4, 102.5, 103.6, 106.0, 109.8, 111.0]" -msgstr "" - -#: ../../library/statistics.rst:712 -msgid "" -"No longer raises an exception for an input with only a single data point. " -"This allows quantile estimates to be built up one sample point at a time " -"becoming gradually more refined with each new data point." -msgstr "" - -#: ../../library/statistics.rst:719 -msgid "" -"Return the sample covariance of two inputs *x* and *y*. Covariance is a " -"measure of the joint variability of two inputs." -msgstr "" - -#: ../../library/statistics.rst:722 -msgid "" -"Both inputs must be of the same length (no less than two), otherwise " -":exc:`StatisticsError` is raised." -msgstr "" - -#: ../../library/statistics.rst:727 -msgid "" -">>> x = [1, 2, 3, 4, 5, 6, 7, 8, 9]\n" -">>> y = [1, 2, 3, 1, 2, 3, 1, 2, 3]\n" -">>> covariance(x, y)\n" -"0.75\n" -">>> z = [9, 8, 7, 6, 5, 4, 3, 2, 1]\n" -">>> covariance(x, z)\n" -"-7.5\n" -">>> covariance(z, x)\n" -"-7.5" -msgstr "" - -#: ../../library/statistics.rst:743 -msgid "" -"Return the `Pearson's correlation coefficient " -"`_ for two " -"inputs. Pearson's correlation coefficient *r* takes values between -1 and " -"+1. It measures the strength and direction of a linear relationship." -msgstr "" - -#: ../../library/statistics.rst:749 -msgid "" -"If *method* is \"ranked\", computes `Spearman's rank correlation coefficient" -" `_" -" for two inputs. The data is replaced by ranks. Ties are averaged so that " -"equal values receive the same rank. The resulting coefficient measures the " -"strength of a monotonic relationship." -msgstr "" - -#: ../../library/statistics.rst:755 -msgid "" -"Spearman's correlation coefficient is appropriate for ordinal data or for " -"continuous data that doesn't meet the linear proportion requirement for " -"Pearson's correlation coefficient." -msgstr "" - -#: ../../library/statistics.rst:759 -msgid "" -"Both inputs must be of the same length (no less than two), and need not to " -"be constant, otherwise :exc:`StatisticsError` is raised." -msgstr "" - -#: ../../library/statistics.rst:762 -msgid "" -"Example with `Kepler's laws of planetary motion " -"`_:" -msgstr "" - -#: ../../library/statistics.rst:765 -msgid "" -">>> # Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, and Neptune\n" -">>> orbital_period = [88, 225, 365, 687, 4331, 10_756, 30_687, 60_190] # days\n" -">>> dist_from_sun = [58, 108, 150, 228, 778, 1_400, 2_900, 4_500] # million km\n" -"\n" -">>> # Show that a perfect monotonic relationship exists\n" -">>> correlation(orbital_period, dist_from_sun, method='ranked')\n" -"1.0\n" -"\n" -">>> # Observe that a linear relationship is imperfect\n" -">>> round(correlation(orbital_period, dist_from_sun), 4)\n" -"0.9882\n" -"\n" -">>> # Demonstrate Kepler's third law: There is a linear correlation\n" -">>> # between the square of the orbital period and the cube of the\n" -">>> # distance from the sun.\n" -">>> period_squared = [p * p for p in orbital_period]\n" -">>> dist_cubed = [d * d * d for d in dist_from_sun]\n" -">>> round(correlation(period_squared, dist_cubed), 4)\n" -"1.0" -msgstr "" - -#: ../../library/statistics.rst:789 -msgid "Added support for Spearman's rank correlation coefficient." -msgstr "" - -#: ../../library/statistics.rst:794 -msgid "" -"Return the slope and intercept of `simple linear regression " -"`_ parameters " -"estimated using ordinary least squares. Simple linear regression describes " -"the relationship between an independent variable *x* and a dependent " -"variable *y* in terms of this linear function:" -msgstr "" - -#: ../../library/statistics.rst:800 -msgid "*y = slope \\* x + intercept + noise*" -msgstr "" - -#: ../../library/statistics.rst:802 -msgid "" -"where ``slope`` and ``intercept`` are the regression parameters that are " -"estimated, and ``noise`` represents the variability of the data that was not" -" explained by the linear regression (it is equal to the difference between " -"predicted and actual values of the dependent variable)." -msgstr "" - -#: ../../library/statistics.rst:808 -msgid "" -"Both inputs must be of the same length (no less than two), and the " -"independent variable *x* cannot be constant; otherwise a " -":exc:`StatisticsError` is raised." -msgstr "" - -#: ../../library/statistics.rst:812 -msgid "" -"For example, we can use the `release dates of the Monty Python films " -"`_ to predict the " -"cumulative number of Monty Python films that would have been produced by " -"2019 assuming that they had kept the pace." -msgstr "" - -#: ../../library/statistics.rst:818 -msgid "" -">>> year = [1971, 1975, 1979, 1982, 1983]\n" -">>> films_total = [1, 2, 3, 4, 5]\n" -">>> slope, intercept = linear_regression(year, films_total)\n" -">>> round(slope * 2019 + intercept)\n" -"16" -msgstr "" - -#: ../../library/statistics.rst:826 -msgid "" -"If *proportional* is true, the independent variable *x* and the dependent " -"variable *y* are assumed to be directly proportional. The data is fit to a " -"line passing through the origin. Since the *intercept* will always be 0.0, " -"the underlying linear function simplifies to:" -msgstr "" - -#: ../../library/statistics.rst:832 -msgid "*y = slope \\* x + noise*" -msgstr "" - -#: ../../library/statistics.rst:834 -msgid "" -"Continuing the example from :func:`correlation`, we look to see how well a " -"model based on major planets can predict the orbital distances for dwarf " -"planets:" -msgstr "" - -#: ../../library/statistics.rst:838 -msgid "" -">>> model = linear_regression(period_squared, dist_cubed, proportional=True)\n" -">>> slope = model.slope\n" -"\n" -">>> # Dwarf planets: Pluto, Eris, Makemake, Haumea, Ceres\n" -">>> orbital_periods = [90_560, 204_199, 111_845, 103_410, 1_680] # days\n" -">>> predicted_dist = [math.cbrt(slope * (p * p)) for p in orbital_periods]\n" -">>> list(map(round, predicted_dist))\n" -"[5912, 10166, 6806, 6459, 414]\n" -"\n" -">>> [5_906, 10_152, 6_796, 6_450, 414] # actual distance in million km\n" -"[5906, 10152, 6796, 6450, 414]" -msgstr "" - -#: ../../library/statistics.rst:854 -msgid "Added support for *proportional*." -msgstr "" - -#: ../../library/statistics.rst:858 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/statistics.rst:860 -msgid "A single exception is defined:" -msgstr "" - -#: ../../library/statistics.rst:864 -msgid "Subclass of :exc:`ValueError` for statistics-related exceptions." -msgstr "" - -#: ../../library/statistics.rst:868 -msgid ":class:`NormalDist` objects" -msgstr "" - -#: ../../library/statistics.rst:870 -msgid "" -":class:`NormalDist` is a tool for creating and manipulating normal " -"distributions of a `random variable " -"`_. It is a class " -"that treats the mean and standard deviation of data measurements as a single" -" entity." -msgstr "" - -#: ../../library/statistics.rst:876 -msgid "" -"Normal distributions arise from the `Central Limit Theorem " -"`_ and have a wide " -"range of applications in statistics." -msgstr "" - -#: ../../library/statistics.rst:882 -msgid "" -"Returns a new *NormalDist* object where *mu* represents the `arithmetic mean" -" `_ and *sigma* represents " -"the `standard deviation " -"`_." -msgstr "" - -#: ../../library/statistics.rst:887 -msgid "If *sigma* is negative, raises :exc:`StatisticsError`." -msgstr "" - -#: ../../library/statistics.rst:891 -msgid "" -"A read-only property for the `arithmetic mean " -"`_ of a normal distribution." -msgstr "" - -#: ../../library/statistics.rst:897 -msgid "" -"A read-only property for the `median " -"`_ of a normal distribution." -msgstr "" - -#: ../../library/statistics.rst:903 -msgid "" -"A read-only property for the `mode " -"`_ of a normal " -"distribution." -msgstr "" - -#: ../../library/statistics.rst:909 -msgid "" -"A read-only property for the `standard deviation " -"`_ of a normal " -"distribution." -msgstr "" - -#: ../../library/statistics.rst:915 -msgid "" -"A read-only property for the `variance " -"`_ of a normal distribution. Equal " -"to the square of the standard deviation." -msgstr "" - -#: ../../library/statistics.rst:921 -msgid "" -"Makes a normal distribution instance with *mu* and *sigma* parameters " -"estimated from the *data* using :func:`fmean` and :func:`stdev`." -msgstr "" - -#: ../../library/statistics.rst:924 -msgid "" -"The *data* can be any :term:`iterable` and should consist of values that can" -" be converted to type :class:`float`. If *data* does not contain at least " -"two elements, raises :exc:`StatisticsError` because it takes at least one " -"point to estimate a central value and at least two points to estimate " -"dispersion." -msgstr "" - -#: ../../library/statistics.rst:932 -msgid "" -"Generates *n* random samples for a given mean and standard deviation. " -"Returns a :class:`list` of :class:`float` values." -msgstr "" - -#: ../../library/statistics.rst:935 -msgid "" -"If *seed* is given, creates a new instance of the underlying random number " -"generator. This is useful for creating reproducible results, even in a " -"multi-threading context." -msgstr "" - -#: ../../library/statistics.rst:941 -msgid "" -"Switched to a faster algorithm. To reproduce samples from previous " -"versions, use :func:`random.seed` and :func:`random.gauss`." -msgstr "" - -#: ../../library/statistics.rst:946 -msgid "" -"Using a `probability density function (pdf) " -"`_, compute the " -"relative likelihood that a random variable *X* will be near the given value " -"*x*. Mathematically, it is the limit of the ratio ``P(x <= X < x+dx) / dx``" -" as *dx* approaches zero." -msgstr "" - -#: ../../library/statistics.rst:952 -msgid "" -"The relative likelihood is computed as the probability of a sample occurring" -" in a narrow range divided by the width of the range (hence the word " -"\"density\"). Since the likelihood is relative to other points, its value " -"can be greater than ``1.0``." -msgstr "" - -#: ../../library/statistics.rst:959 -msgid "" -"Using a `cumulative distribution function (cdf) " -"`_, compute " -"the probability that a random variable *X* will be less than or equal to " -"*x*. Mathematically, it is written ``P(X <= x)``." -msgstr "" - -#: ../../library/statistics.rst:966 -msgid "" -"Compute the inverse cumulative distribution function, also known as the " -"`quantile function `_ or " -"the `percent-point " -"`_ function. Mathematically, it is written ``x : P(X" -" <= x) = p``." -msgstr "" - -#: ../../library/statistics.rst:972 -msgid "" -"Finds the value *x* of the random variable *X* such that the probability of " -"the variable being less than or equal to that value equals the given " -"probability *p*." -msgstr "" - -#: ../../library/statistics.rst:978 -msgid "" -"Measures the agreement between two normal probability distributions. Returns" -" a value between 0.0 and 1.0 giving `the overlapping area for the two " -"probability density functions `_." -msgstr "" - -#: ../../library/statistics.rst:985 -msgid "" -"Divide the normal distribution into *n* continuous intervals with equal " -"probability. Returns a list of (n - 1) cut points separating the intervals." -msgstr "" - -#: ../../library/statistics.rst:989 -msgid "" -"Set *n* to 4 for quartiles (the default). Set *n* to 10 for deciles. Set " -"*n* to 100 for percentiles which gives the 99 cuts points that separate the " -"normal distribution into 100 equal sized groups." -msgstr "" - -#: ../../library/statistics.rst:995 -msgid "" -"Compute the `Standard Score `_ describing *x* in terms of the number of standard" -" deviations above or below the mean of the normal distribution: ``(x - mean)" -" / stdev``." -msgstr "" - -#: ../../library/statistics.rst:1003 -msgid "" -"Instances of :class:`NormalDist` support addition, subtraction, " -"multiplication and division by a constant. These operations are used for " -"translation and scaling. For example:" -msgstr "" - -#: ../../library/statistics.rst:1007 -msgid "" -">>> temperature_february = NormalDist(5, 2.5) # Celsius\n" -">>> temperature_february * (9/5) + 32 # Fahrenheit\n" -"NormalDist(mu=41.0, sigma=4.5)" -msgstr "" - -#: ../../library/statistics.rst:1013 -msgid "" -"Dividing a constant by an instance of :class:`NormalDist` is not supported " -"because the result wouldn't be normally distributed." -msgstr "" - -#: ../../library/statistics.rst:1016 -msgid "" -"Since normal distributions arise from additive effects of independent " -"variables, it is possible to `add and subtract two independent normally " -"distributed random variables " -"`_" -" represented as instances of :class:`NormalDist`. For example:" -msgstr "" - -#: ../../library/statistics.rst:1022 -msgid "" -">>> birth_weights = NormalDist.from_samples([2.5, 3.1, 2.1, 2.4, 2.7, 3.5])\n" -">>> drug_effects = NormalDist(0.4, 0.15)\n" -">>> combined = birth_weights + drug_effects\n" -">>> round(combined.mean, 1)\n" -"3.1\n" -">>> round(combined.stdev, 1)\n" -"0.5" -msgstr "" - -#: ../../library/statistics.rst:1036 -msgid "Examples and Recipes" -msgstr "" - -#: ../../library/statistics.rst:1040 -msgid "Classic probability problems" -msgstr "" - -#: ../../library/statistics.rst:1042 -msgid ":class:`NormalDist` readily solves classic probability problems." -msgstr "" - -#: ../../library/statistics.rst:1044 -msgid "" -"For example, given `historical data for SAT exams " -"`_ showing " -"that scores are normally distributed with a mean of 1060 and a standard " -"deviation of 195, determine the percentage of students with test scores " -"between 1100 and 1200, after rounding to the nearest whole number:" -msgstr "" - -#: ../../library/statistics.rst:1050 -msgid "" -">>> sat = NormalDist(1060, 195)\n" -">>> fraction = sat.cdf(1200 + 0.5) - sat.cdf(1100 - 0.5)\n" -">>> round(fraction * 100.0, 1)\n" -"18.4" -msgstr "" - -#: ../../library/statistics.rst:1057 -msgid "" -"Find the `quartiles `_ and `deciles " -"`_ for the SAT scores:" -msgstr "" - -#: ../../library/statistics.rst:1060 -msgid "" -">>> list(map(round, sat.quantiles()))\n" -"[928, 1060, 1192]\n" -">>> list(map(round, sat.quantiles(n=10)))\n" -"[810, 896, 958, 1011, 1060, 1109, 1162, 1224, 1310]" -msgstr "" - -#: ../../library/statistics.rst:1069 -msgid "Monte Carlo inputs for simulations" -msgstr "" - -#: ../../library/statistics.rst:1071 -msgid "" -"To estimate the distribution for a model that isn't easy to solve " -"analytically, :class:`NormalDist` can generate input samples for a `Monte " -"Carlo simulation `_:" -msgstr "" - -#: ../../library/statistics.rst:1075 -msgid "" -">>> def model(x, y, z):\n" -"... return (3*x + 7*x*y - 5*y) / (11 * z)\n" -"...\n" -">>> n = 100_000\n" -">>> X = NormalDist(10, 2.5).samples(n, seed=3652260728)\n" -">>> Y = NormalDist(15, 1.75).samples(n, seed=4582495471)\n" -">>> Z = NormalDist(50, 1.25).samples(n, seed=6582483453)\n" -">>> quantiles(map(model, X, Y, Z))\n" -"[1.4591308524824727, 1.8035946855390597, 2.175091447274739]" -msgstr "" - -#: ../../library/statistics.rst:1088 -msgid "Approximating binomial distributions" -msgstr "" - -#: ../../library/statistics.rst:1090 -msgid "" -"Normal distributions can be used to approximate `Binomial distributions " -"`_ when the sample " -"size is large and when the probability of a successful trial is near 50%." -msgstr "" - -#: ../../library/statistics.rst:1095 -msgid "" -"For example, an open source conference has 750 attendees and two rooms with " -"a 500 person capacity. There is a talk about Python and another about Ruby." -" In previous conferences, 65% of the attendees preferred to listen to Python" -" talks. Assuming the population preferences haven't changed, what is the " -"probability that the Python room will stay within its capacity limits?" -msgstr "" - -#: ../../library/statistics.rst:1101 -msgid "" -">>> n = 750 # Sample size\n" -">>> p = 0.65 # Preference for Python\n" -">>> q = 1.0 - p # Preference for Ruby\n" -">>> k = 500 # Room capacity\n" -"\n" -">>> # Approximation using the cumulative normal distribution\n" -">>> from math import sqrt\n" -">>> round(NormalDist(mu=n*p, sigma=sqrt(n*p*q)).cdf(k + 0.5), 4)\n" -"0.8402\n" -"\n" -">>> # Exact solution using the cumulative binomial distribution\n" -">>> from math import comb, fsum\n" -">>> round(fsum(comb(n, r) * p**r * q**(n-r) for r in range(k+1)), 4)\n" -"0.8402\n" -"\n" -">>> # Approximation using a simulation\n" -">>> from random import seed, binomialvariate\n" -">>> seed(8675309)\n" -">>> mean(binomialvariate(n, p) <= k for i in range(10_000))\n" -"0.8406" -msgstr "" - -#: ../../library/statistics.rst:1126 -msgid "Naive bayesian classifier" -msgstr "" - -#: ../../library/statistics.rst:1128 -msgid "Normal distributions commonly arise in machine learning problems." -msgstr "" - -#: ../../library/statistics.rst:1130 -msgid "" -"Wikipedia has a `nice example of a Naive Bayesian Classifier " -"`_." -" The challenge is to predict a person's gender from measurements of normally" -" distributed features including height, weight, and foot size." -msgstr "" - -#: ../../library/statistics.rst:1135 -msgid "" -"We're given a training dataset with measurements for eight people. The " -"measurements are assumed to be normally distributed, so we summarize the " -"data with :class:`NormalDist`:" -msgstr "" - -#: ../../library/statistics.rst:1139 -msgid "" -">>> height_male = NormalDist.from_samples([6, 5.92, 5.58, 5.92])\n" -">>> height_female = NormalDist.from_samples([5, 5.5, 5.42, 5.75])\n" -">>> weight_male = NormalDist.from_samples([180, 190, 170, 165])\n" -">>> weight_female = NormalDist.from_samples([100, 150, 130, 150])\n" -">>> foot_size_male = NormalDist.from_samples([12, 11, 12, 10])\n" -">>> foot_size_female = NormalDist.from_samples([6, 8, 7, 9])" -msgstr "" - -#: ../../library/statistics.rst:1148 -msgid "" -"Next, we encounter a new person whose feature measurements are known but " -"whose gender is unknown:" -msgstr "" - -#: ../../library/statistics.rst:1151 -msgid "" -">>> ht = 6.0 # height\n" -">>> wt = 130 # weight\n" -">>> fs = 8 # foot size" -msgstr "" - -#: ../../library/statistics.rst:1157 -msgid "" -"Starting with a 50% `prior probability " -"`_ of being male or female," -" we compute the posterior as the prior times the product of likelihoods for " -"the feature measurements given the gender:" -msgstr "" - -#: ../../library/statistics.rst:1162 -msgid "" -">>> prior_male = 0.5\n" -">>> prior_female = 0.5\n" -">>> posterior_male = (prior_male * height_male.pdf(ht) *\n" -"... weight_male.pdf(wt) * foot_size_male.pdf(fs))\n" -"\n" -">>> posterior_female = (prior_female * height_female.pdf(ht) *\n" -"... weight_female.pdf(wt) * foot_size_female.pdf(fs))" -msgstr "" - -#: ../../library/statistics.rst:1172 -msgid "" -"The final prediction goes to the largest posterior. This is known as the " -"`maximum a posteriori " -"`_ or MAP:" -msgstr "" - -#: ../../library/statistics.rst:1176 -msgid "" -">>> 'male' if posterior_male > posterior_female else 'female'\n" -"'female'" -msgstr "" diff --git a/python-newest.library--stdtypes/id.po b/python-newest.library--stdtypes/id.po deleted file mode 100644 index 2ac4a7b..0000000 --- a/python-newest.library--stdtypes/id.po +++ /dev/null @@ -1,8888 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2023 -# Imaduddin A Majid , 2023 -# Ahmad Mustafid, 2025 -# oon arfiandwi , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: oon arfiandwi , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/stdtypes.rst:8 -msgid "Built-in Types" -msgstr "Tipe Bawaan" - -#: ../../library/stdtypes.rst:10 -msgid "" -"The following sections describe the standard types that are built into the " -"interpreter." -msgstr "" -"Bagian berikut menjelaskan tipe standar yang dibangun ke dalam " -"*interpreter*." - -#: ../../library/stdtypes.rst:15 -msgid "" -"The principal built-in types are numerics, sequences, mappings, classes, " -"instances and exceptions." -msgstr "" -"Tipe bawaan utama adalah angka, urutan, pemetaan, kelas, *instance*, dan " -"pengecualian." - -#: ../../library/stdtypes.rst:18 -msgid "" -"Some collection classes are mutable. The methods that add, subtract, or " -"rearrange their members in place, and don't return a specific item, never " -"return the collection instance itself but ``None``." -msgstr "" -"Beberapa kelas koleksi bisa berubah *mutable*. Metode yang menambah, " -"mengurangi, atau mengatur ulang anggota mereka di tempat, dan tidak " -"mengembalikan item tertentu, tidak pernah mengembalikan contoh koleksi itu " -"sendiri tetapi ``None``." - -#: ../../library/stdtypes.rst:22 -msgid "" -"Some operations are supported by several object types; in particular, " -"practically all objects can be compared for equality, tested for truth " -"value, and converted to a string (with the :func:`repr` function or the " -"slightly different :func:`str` function). The latter function is implicitly" -" used when an object is written by the :func:`print` function." -msgstr "" -"Beberapa operasi didukung oleh beberapa jenis objek; khususnya, secara " -"praktis semua objek dapat dibandingkan untuk kesetaraan, diuji untuk nilai " -"kebenaran, dan dikonversi ke string (dengan fungsi :func:`repr` atau yang " -"sedikit berbeda fungsi :func:`str`). Fungsi terakhir secara implisit " -"digunakan ketika suatu objek ditulis oleh fungsi :func:`print`." - -#: ../../library/stdtypes.rst:32 -msgid "Truth Value Testing" -msgstr "Pengujian Kebenaran Nilai" - -#: ../../library/stdtypes.rst:41 -msgid "" -"Any object can be tested for truth value, for use in an :keyword:`if` or " -":keyword:`while` condition or as operand of the Boolean operations below." -msgstr "" -"Objek apa pun dapat diuji untuk nilai kebenaran, untuk digunakan dalam " -":keyword:`if` atau kondisi :keyword:`while` atau sebagai operan dari operasi" -" *Boolean* di bawah ini." - -#: ../../library/stdtypes.rst:46 -msgid "" -"By default, an object is considered true unless its class defines either a " -":meth:`~object.__bool__` method that returns ``False`` or a " -":meth:`~object.__len__` method that returns zero, when called with the " -"object. [1]_ Here are most of the built-in objects considered false:" -msgstr "" - -#: ../../library/stdtypes.rst:56 -msgid "constants defined to be false: ``None`` and ``False``" -msgstr "" - -#: ../../library/stdtypes.rst:58 -msgid "" -"zero of any numeric type: ``0``, ``0.0``, ``0j``, ``Decimal(0)``, " -"``Fraction(0, 1)``" -msgstr "" -"nol dari semua tipe numerik: ``0``, ``0.0``, ``0j``, ``Decimal(0)``, " -"``Fraction(0, 1)``" - -#: ../../library/stdtypes.rst:61 -msgid "" -"empty sequences and collections: ``''``, ``()``, ``[]``, ``{}``, ``set()``, " -"``range(0)``" -msgstr "" -"urutan dan koleksi kosong: ``''``, ``()``, ``[]``, ``{}``, ``set()``, " -"``range(0)``" - -#: ../../library/stdtypes.rst:70 -msgid "" -"Operations and built-in functions that have a Boolean result always return " -"``0`` or ``False`` for false and ``1`` or ``True`` for true, unless " -"otherwise stated. (Important exception: the Boolean operations ``or`` and " -"``and`` always return one of their operands.)" -msgstr "" -"Operasi dan fungsi bawaan yang memiliki hasil *Boolean* selalu mengembalikan" -" ``0`` atau ``False`` untuk yang bernilai salah dan ``1`` atau ``True`` " -"untuk yang bernilai benar, kecuali dinyatakan lain. (Pengecualian penting: " -"operasi *Boolean* ``or`` dan ``and`` selalu mengembalikan salah satu operan " -"mereka.)" - -#: ../../library/stdtypes.rst:79 -msgid "" -"Boolean Operations --- :keyword:`!and`, :keyword:`!or`, :keyword:`!not`" -msgstr "" -"Operasi *Boolean* --- :keyword:`!and`, :keyword:`!or`, :keyword:`!not`" - -#: ../../library/stdtypes.rst:83 -msgid "These are the Boolean operations, ordered by ascending priority:" -msgstr "" -"Berikut adalah operasi *Boolean*, diurutkan berdasarkan prioritas menaik:" - -#: ../../library/stdtypes.rst:86 ../../library/stdtypes.rst:144 -#: ../../library/stdtypes.rst:282 ../../library/stdtypes.rst:372 -#: ../../library/stdtypes.rst:422 ../../library/stdtypes.rst:1007 -#: ../../library/stdtypes.rst:1212 -msgid "Operation" -msgstr "Operasi" - -#: ../../library/stdtypes.rst:86 ../../library/stdtypes.rst:282 -#: ../../library/stdtypes.rst:372 ../../library/stdtypes.rst:422 -#: ../../library/stdtypes.rst:1007 ../../library/stdtypes.rst:1212 -msgid "Result" -msgstr "Hasil" - -#: ../../library/stdtypes.rst:86 ../../library/stdtypes.rst:282 -#: ../../library/stdtypes.rst:422 ../../library/stdtypes.rst:1007 -#: ../../library/stdtypes.rst:1212 ../../library/stdtypes.rst:2714 -#: ../../library/stdtypes.rst:3973 -msgid "Notes" -msgstr "Catatan" - -#: ../../library/stdtypes.rst:88 -msgid "``x or y``" -msgstr "``x or y``" - -#: ../../library/stdtypes.rst:88 -msgid "if *x* is true, then *x*, else *y*" -msgstr "" - -#: ../../library/stdtypes.rst:88 ../../library/stdtypes.rst:1009 -#: ../../library/stdtypes.rst:1012 ../../library/stdtypes.rst:1223 -#: ../../library/stdtypes.rst:2720 ../../library/stdtypes.rst:3979 -msgid "\\(1)" -msgstr "\\(1)" - -#: ../../library/stdtypes.rst:91 -msgid "``x and y``" -msgstr "``x and y``" - -#: ../../library/stdtypes.rst:91 -msgid "if *x* is false, then *x*, else *y*" -msgstr "jika *x* bernilai salah, maka *x*, lainnya *y*" - -#: ../../library/stdtypes.rst:91 ../../library/stdtypes.rst:295 -#: ../../library/stdtypes.rst:315 ../../library/stdtypes.rst:1251 -#: ../../library/stdtypes.rst:2724 ../../library/stdtypes.rst:2726 -#: ../../library/stdtypes.rst:3983 ../../library/stdtypes.rst:3985 -msgid "\\(2)" -msgstr "\\(2)" - -#: ../../library/stdtypes.rst:94 -msgid "``not x``" -msgstr "``not x``" - -#: ../../library/stdtypes.rst:94 -msgid "if *x* is false, then ``True``, else ``False``" -msgstr "jika *x* bernilai salah, maka ``True``, lainnya ``False``" - -#: ../../library/stdtypes.rst:94 ../../library/stdtypes.rst:1021 -#: ../../library/stdtypes.rst:1254 ../../library/stdtypes.rst:2728 -#: ../../library/stdtypes.rst:2730 ../../library/stdtypes.rst:2732 -#: ../../library/stdtypes.rst:2734 ../../library/stdtypes.rst:3987 -#: ../../library/stdtypes.rst:3989 ../../library/stdtypes.rst:3991 -#: ../../library/stdtypes.rst:3993 -msgid "\\(3)" -msgstr "\\(3)" - -#: ../../library/stdtypes.rst:103 ../../library/stdtypes.rst:326 -#: ../../library/stdtypes.rst:440 ../../library/stdtypes.rst:1058 -#: ../../library/stdtypes.rst:1263 ../../library/stdtypes.rst:2760 -#: ../../library/stdtypes.rst:4023 -msgid "Notes:" -msgstr "Catatan:" - -#: ../../library/stdtypes.rst:106 -msgid "" -"This is a short-circuit operator, so it only evaluates the second argument " -"if the first one is false." -msgstr "" -"Ini adalah operator hubungan singkat, sehingga hanya mengevaluasi argumen " -"kedua jika yang pertama salah." - -#: ../../library/stdtypes.rst:110 -msgid "" -"This is a short-circuit operator, so it only evaluates the second argument " -"if the first one is true." -msgstr "" -"Ini adalah operator hubungan singkat, sehingga hanya mengevaluasi argumen " -"kedua jika yang pertama benar." - -#: ../../library/stdtypes.rst:114 -msgid "" -"``not`` has a lower priority than non-Boolean operators, so ``not a == b`` " -"is interpreted as ``not (a == b)``, and ``a == not b`` is a syntax error." -msgstr "" -"``not`` memiliki prioritas lebih rendah daripada operator non-Boolean, jadi " -"``not a == b`` diartikan sebagai ``not (a == b)``, dan ``a == not b`` adalah" -" kesalahan sintaksis." - -#: ../../library/stdtypes.rst:121 -msgid "Comparisons" -msgstr "Perbandingan" - -#: ../../library/stdtypes.rst:135 -msgid "" -"There are eight comparison operations in Python. They all have the same " -"priority (which is higher than that of the Boolean operations). Comparisons" -" can be chained arbitrarily; for example, ``x < y <= z`` is equivalent to " -"``x < y and y <= z``, except that *y* is evaluated only once (but in both " -"cases *z* is not evaluated at all when ``x < y`` is found to be false)." -msgstr "" -"Ada delapan operasi perbandingan di Python. Mereka semua memiliki prioritas " -"yang sama (yang lebih tinggi dari operasi *Boolean*). Perbandingan dapat " -"dirantai secara berubah-ubah; misalnya, ``x < y <= z`` setara dengan ``x < y" -" and y <= z``, kecuali bahwa *y* dievaluasi hanya sekali (tetapi dalam kedua" -" kasus *z* tidak dievaluasi sama sekali ketika ``x < y`` ditemukan bernilai " -"salah)." - -#: ../../library/stdtypes.rst:141 -msgid "This table summarizes the comparison operations:" -msgstr "Tabel ini merangkum operasi perbandingan:" - -#: ../../library/stdtypes.rst:144 ../../library/stdtypes.rst:2546 -#: ../../library/stdtypes.rst:2691 ../../library/stdtypes.rst:2714 -#: ../../library/stdtypes.rst:3950 ../../library/stdtypes.rst:3973 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/stdtypes.rst:146 -msgid "``<``" -msgstr "``<``" - -#: ../../library/stdtypes.rst:146 -msgid "strictly less than" -msgstr "lebih kecil dari" - -#: ../../library/stdtypes.rst:148 -msgid "``<=``" -msgstr "``<=``" - -#: ../../library/stdtypes.rst:148 -msgid "less than or equal" -msgstr "lebih kecil atau sama" - -#: ../../library/stdtypes.rst:150 -msgid "``>``" -msgstr "``>``" - -#: ../../library/stdtypes.rst:150 -msgid "strictly greater than" -msgstr "lebih besar dari" - -#: ../../library/stdtypes.rst:152 -msgid "``>=``" -msgstr "``>=``" - -#: ../../library/stdtypes.rst:152 -msgid "greater than or equal" -msgstr "lebih besar atau sama" - -#: ../../library/stdtypes.rst:154 -msgid "``==``" -msgstr "``==``" - -#: ../../library/stdtypes.rst:154 -msgid "equal" -msgstr "sama" - -#: ../../library/stdtypes.rst:156 -msgid "``!=``" -msgstr "``!=``" - -#: ../../library/stdtypes.rst:156 -msgid "not equal" -msgstr "tidak sama" - -#: ../../library/stdtypes.rst:158 -msgid "``is``" -msgstr "``is``" - -#: ../../library/stdtypes.rst:158 -msgid "object identity" -msgstr "identitas objek" - -#: ../../library/stdtypes.rst:160 -msgid "``is not``" -msgstr "``is not``" - -#: ../../library/stdtypes.rst:160 -msgid "negated object identity" -msgstr "identitas objek dinegasikan" - -#: ../../library/stdtypes.rst:167 -msgid "" -"Objects of different types, except different numeric types, never compare " -"equal. The ``==`` operator is always defined but for some object types (for " -"example, class objects) is equivalent to :keyword:`is`. The ``<``, ``<=``, " -"``>`` and ``>=`` operators are only defined where they make sense; for " -"example, they raise a :exc:`TypeError` exception when one of the arguments " -"is a complex number." -msgstr "" - -#: ../../library/stdtypes.rst:181 -msgid "" -"Non-identical instances of a class normally compare as non-equal unless the " -"class defines the :meth:`~object.__eq__` method." -msgstr "" - -#: ../../library/stdtypes.rst:184 -msgid "" -"Instances of a class cannot be ordered with respect to other instances of " -"the same class, or other types of object, unless the class defines enough of" -" the methods :meth:`~object.__lt__`, :meth:`~object.__le__`, " -":meth:`~object.__gt__`, and :meth:`~object.__ge__` (in general, " -":meth:`~object.__lt__` and :meth:`~object.__eq__` are sufficient, if you " -"want the conventional meanings of the comparison operators)." -msgstr "" - -#: ../../library/stdtypes.rst:191 -msgid "" -"The behavior of the :keyword:`is` and :keyword:`is not` operators cannot be " -"customized; also they can be applied to any two objects and never raise an " -"exception." -msgstr "" - -#: ../../library/stdtypes.rst:199 -msgid "" -"Two more operations with the same syntactic priority, :keyword:`in` and " -":keyword:`not in`, are supported by types that are :term:`iterable` or " -"implement the :meth:`~object.__contains__` method." -msgstr "" - -#: ../../library/stdtypes.rst:206 -msgid "Numeric Types --- :class:`int`, :class:`float`, :class:`complex`" -msgstr "" - -#: ../../library/stdtypes.rst:216 -msgid "" -"There are three distinct numeric types: :dfn:`integers`, :dfn:`floating-" -"point numbers`, and :dfn:`complex numbers`. In addition, Booleans are a " -"subtype of integers. Integers have unlimited precision. Floating-point " -"numbers are usually implemented using :c:expr:`double` in C; information " -"about the precision and internal representation of floating-point numbers " -"for the machine on which your program is running is available in " -":data:`sys.float_info`. Complex numbers have a real and imaginary part, " -"which are each a floating-point number. To extract these parts from a " -"complex number *z*, use ``z.real`` and ``z.imag``. (The standard library " -"includes the additional numeric types :mod:`fractions.Fraction`, for " -"rationals, and :mod:`decimal.Decimal`, for floating-point numbers with user-" -"definable precision.)" -msgstr "" - -#: ../../library/stdtypes.rst:238 -msgid "" -"Numbers are created by numeric literals or as the result of built-in " -"functions and operators. Unadorned integer literals (including hex, octal " -"and binary numbers) yield integers. Numeric literals containing a decimal " -"point or an exponent sign yield floating-point numbers. Appending ``'j'`` " -"or ``'J'`` to a numeric literal yields an imaginary number (a complex number" -" with a zero real part) which you can add to an integer or float to get a " -"complex number with real and imaginary parts." -msgstr "" - -#: ../../library/stdtypes.rst:246 -msgid "" -"The constructors :func:`int`, :func:`float`, and :func:`complex` can be used" -" to produce numbers of a specific type." -msgstr "" - -#: ../../library/stdtypes.rst:266 -msgid "" -"Python fully supports mixed arithmetic: when a binary arithmetic operator " -"has operands of different numeric types, the operand with the \"narrower\" " -"type is widened to that of the other, where integer is narrower than " -"floating point. Arithmetic with complex and real operands is defined by the " -"usual mathematical formula, for example::" -msgstr "" - -#: ../../library/stdtypes.rst:272 -msgid "" -"x + complex(u, v) = complex(x + u, v)\n" -"x * complex(u, v) = complex(x * u, x * v)" -msgstr "" - -#: ../../library/stdtypes.rst:275 -msgid "" -"A comparison between numbers of different types behaves as though the exact " -"values of those numbers were being compared. [2]_" -msgstr "" - -#: ../../library/stdtypes.rst:278 -msgid "" -"All numeric types (except complex) support the following operations (for " -"priorities of the operations, see :ref:`operator-summary`):" -msgstr "" - -#: ../../library/stdtypes.rst:282 -msgid "Full documentation" -msgstr "Dokumentasi lengkap" - -#: ../../library/stdtypes.rst:284 -msgid "``x + y``" -msgstr "``x + y``" - -#: ../../library/stdtypes.rst:284 -msgid "sum of *x* and *y*" -msgstr "" - -#: ../../library/stdtypes.rst:286 -msgid "``x - y``" -msgstr "``x - y``" - -#: ../../library/stdtypes.rst:286 -msgid "difference of *x* and *y*" -msgstr "" - -#: ../../library/stdtypes.rst:288 -msgid "``x * y``" -msgstr "``x * y``" - -#: ../../library/stdtypes.rst:288 -msgid "product of *x* and *y*" -msgstr "" - -#: ../../library/stdtypes.rst:290 -msgid "``x / y``" -msgstr "``x / y``" - -#: ../../library/stdtypes.rst:290 -msgid "quotient of *x* and *y*" -msgstr "" - -#: ../../library/stdtypes.rst:292 -msgid "``x // y``" -msgstr "``x // y``" - -#: ../../library/stdtypes.rst:292 -msgid "floored quotient of *x* and *y*" -msgstr "" - -#: ../../library/stdtypes.rst:292 -msgid "\\(1)\\(2)" -msgstr "" - -#: ../../library/stdtypes.rst:295 -msgid "``x % y``" -msgstr "``x % y``" - -#: ../../library/stdtypes.rst:295 -msgid "remainder of ``x / y``" -msgstr "" - -#: ../../library/stdtypes.rst:297 -msgid "``-x``" -msgstr "``-x``" - -#: ../../library/stdtypes.rst:297 -msgid "*x* negated" -msgstr "" - -#: ../../library/stdtypes.rst:299 -msgid "``+x``" -msgstr "``+x``" - -#: ../../library/stdtypes.rst:299 -msgid "*x* unchanged" -msgstr "" - -#: ../../library/stdtypes.rst:301 -msgid "``abs(x)``" -msgstr "``abs(x)``" - -#: ../../library/stdtypes.rst:301 -msgid "absolute value or magnitude of *x*" -msgstr "" - -#: ../../library/stdtypes.rst:301 -msgid ":func:`abs`" -msgstr ":func:`abs`" - -#: ../../library/stdtypes.rst:304 -msgid "``int(x)``" -msgstr "``int(x)``" - -#: ../../library/stdtypes.rst:304 -msgid "*x* converted to integer" -msgstr "" - -#: ../../library/stdtypes.rst:304 -msgid "\\(3)\\(6)" -msgstr "\\(3)\\(6)" - -#: ../../library/stdtypes.rst:304 -msgid ":func:`int`" -msgstr ":func:`int`" - -#: ../../library/stdtypes.rst:306 -msgid "``float(x)``" -msgstr "``float(x)``" - -#: ../../library/stdtypes.rst:306 -msgid "*x* converted to floating point" -msgstr "" - -#: ../../library/stdtypes.rst:306 -msgid "\\(4)\\(6)" -msgstr "\\(4)\\(6)" - -#: ../../library/stdtypes.rst:306 -msgid ":func:`float`" -msgstr ":func:`float`" - -#: ../../library/stdtypes.rst:308 -msgid "``complex(re, im)``" -msgstr "``complex(re, im)``" - -#: ../../library/stdtypes.rst:308 -msgid "" -"a complex number with real part *re*, imaginary part *im*. *im* defaults to " -"zero." -msgstr "" - -#: ../../library/stdtypes.rst:308 ../../library/stdtypes.rst:1244 -#: ../../library/stdtypes.rst:2722 ../../library/stdtypes.rst:4010 -msgid "\\(6)" -msgstr "\\(6)" - -#: ../../library/stdtypes.rst:308 -msgid ":func:`complex`" -msgstr ":func:`complex`" - -#: ../../library/stdtypes.rst:312 -msgid "``c.conjugate()``" -msgstr "``c.conjugate()``" - -#: ../../library/stdtypes.rst:312 -msgid "conjugate of the complex number *c*" -msgstr "" - -#: ../../library/stdtypes.rst:315 -msgid "``divmod(x, y)``" -msgstr "``divmod(x, y)``" - -#: ../../library/stdtypes.rst:315 -msgid "the pair ``(x // y, x % y)``" -msgstr "" - -#: ../../library/stdtypes.rst:315 -msgid ":func:`divmod`" -msgstr ":func:`divmod`" - -#: ../../library/stdtypes.rst:317 -msgid "``pow(x, y)``" -msgstr "``pow(x, y)``" - -#: ../../library/stdtypes.rst:317 ../../library/stdtypes.rst:319 -msgid "*x* to the power *y*" -msgstr "" - -#: ../../library/stdtypes.rst:317 ../../library/stdtypes.rst:319 -#: ../../library/stdtypes.rst:1233 ../../library/stdtypes.rst:1236 -#: ../../library/stdtypes.rst:2747 ../../library/stdtypes.rst:2750 -#: ../../library/stdtypes.rst:2753 ../../library/stdtypes.rst:4006 -#: ../../library/stdtypes.rst:4013 -msgid "\\(5)" -msgstr "\\(5)" - -#: ../../library/stdtypes.rst:317 -msgid ":func:`pow`" -msgstr ":func:`pow`" - -#: ../../library/stdtypes.rst:319 -msgid "``x ** y``" -msgstr "``x ** y``" - -#: ../../library/stdtypes.rst:329 -msgid "" -"Also referred to as integer division. For operands of type :class:`int`, " -"the result has type :class:`int`. For operands of type :class:`float`, the " -"result has type :class:`float`. In general, the result is a whole integer, " -"though the result's type is not necessarily :class:`int`. The result is " -"always rounded towards minus infinity: ``1//2`` is ``0``, ``(-1)//2`` is " -"``-1``, ``1//(-2)`` is ``-1``, and ``(-1)//(-2)`` is ``0``." -msgstr "" - -#: ../../library/stdtypes.rst:337 -msgid "" -"Not for complex numbers. Instead convert to floats using :func:`abs` if " -"appropriate." -msgstr "" - -#: ../../library/stdtypes.rst:348 -msgid "" -"Conversion from :class:`float` to :class:`int` truncates, discarding the " -"fractional part. See functions :func:`math.floor` and :func:`math.ceil` for " -"alternative conversions." -msgstr "" - -#: ../../library/stdtypes.rst:353 -msgid "" -"float also accepts the strings \"nan\" and \"inf\" with an optional prefix " -"\"+\" or \"-\" for Not a Number (NaN) and positive or negative infinity." -msgstr "" - -#: ../../library/stdtypes.rst:357 -msgid "" -"Python defines ``pow(0, 0)`` and ``0 ** 0`` to be ``1``, as is common for " -"programming languages." -msgstr "" - -#: ../../library/stdtypes.rst:361 -msgid "" -"The numeric literals accepted include the digits ``0`` to ``9`` or any " -"Unicode equivalent (code points with the ``Nd`` property)." -msgstr "" - -#: ../../library/stdtypes.rst:364 -msgid "" -"See `the Unicode Standard " -"`_ for " -"a complete list of code points with the ``Nd`` property." -msgstr "" - -#: ../../library/stdtypes.rst:368 -msgid "" -"All :class:`numbers.Real` types (:class:`int` and :class:`float`) also " -"include the following operations:" -msgstr "" - -#: ../../library/stdtypes.rst:374 -msgid ":func:`math.trunc(\\ x) `" -msgstr ":func:`math.trunc(\\ x) `" - -#: ../../library/stdtypes.rst:374 -msgid "*x* truncated to :class:`~numbers.Integral`" -msgstr "" - -#: ../../library/stdtypes.rst:377 -msgid ":func:`round(x[, n]) `" -msgstr ":func:`round(x[, n]) `" - -#: ../../library/stdtypes.rst:377 -msgid "" -"*x* rounded to *n* digits, rounding half to even. If *n* is omitted, it " -"defaults to 0." -msgstr "" - -#: ../../library/stdtypes.rst:381 -msgid ":func:`math.floor(\\ x) `" -msgstr ":func:`math.floor(\\ x) `" - -#: ../../library/stdtypes.rst:381 -msgid "the greatest :class:`~numbers.Integral` <= *x*" -msgstr "" - -#: ../../library/stdtypes.rst:384 -msgid ":func:`math.ceil(x) `" -msgstr ":func:`math.ceil(x) `" - -#: ../../library/stdtypes.rst:384 -msgid "the least :class:`~numbers.Integral` >= *x*" -msgstr "" - -#: ../../library/stdtypes.rst:388 -msgid "" -"For additional numeric operations see the :mod:`math` and :mod:`cmath` " -"modules." -msgstr "" - -#: ../../library/stdtypes.rst:397 -msgid "Bitwise Operations on Integer Types" -msgstr "" - -#: ../../library/stdtypes.rst:411 -msgid "" -"Bitwise operations only make sense for integers. The result of bitwise " -"operations is calculated as though carried out in two's complement with an " -"infinite number of sign bits." -msgstr "" - -#: ../../library/stdtypes.rst:415 -msgid "" -"The priorities of the binary bitwise operations are all lower than the " -"numeric operations and higher than the comparisons; the unary operation " -"``~`` has the same priority as the other unary numeric operations (``+`` and" -" ``-``)." -msgstr "" - -#: ../../library/stdtypes.rst:419 -msgid "This table lists the bitwise operations sorted in ascending priority:" -msgstr "" - -#: ../../library/stdtypes.rst:424 -msgid "``x | y``" -msgstr "``x | y``" - -#: ../../library/stdtypes.rst:424 -msgid "bitwise :dfn:`or` of *x* and *y*" -msgstr "" - -#: ../../library/stdtypes.rst:424 ../../library/stdtypes.rst:427 -#: ../../library/stdtypes.rst:430 ../../library/stdtypes.rst:1258 -#: ../../library/stdtypes.rst:2736 ../../library/stdtypes.rst:2740 -#: ../../library/stdtypes.rst:3995 ../../library/stdtypes.rst:3999 -msgid "\\(4)" -msgstr "\\(4)" - -#: ../../library/stdtypes.rst:427 -msgid "``x ^ y``" -msgstr "``x ^ y``" - -#: ../../library/stdtypes.rst:427 -msgid "bitwise :dfn:`exclusive or` of *x* and *y*" -msgstr "" - -#: ../../library/stdtypes.rst:430 -msgid "``x & y``" -msgstr "``x & y``" - -#: ../../library/stdtypes.rst:430 -msgid "bitwise :dfn:`and` of *x* and *y*" -msgstr "" - -#: ../../library/stdtypes.rst:433 -msgid "``x << n``" -msgstr "``x << n``" - -#: ../../library/stdtypes.rst:433 -msgid "*x* shifted left by *n* bits" -msgstr "" - -#: ../../library/stdtypes.rst:433 -msgid "(1)(2)" -msgstr "(1)(2)" - -#: ../../library/stdtypes.rst:435 -msgid "``x >> n``" -msgstr "``x >> n``" - -#: ../../library/stdtypes.rst:435 -msgid "*x* shifted right by *n* bits" -msgstr "" - -#: ../../library/stdtypes.rst:435 -msgid "(1)(3)" -msgstr "(1)(3)" - -#: ../../library/stdtypes.rst:437 -msgid "``~x``" -msgstr "``~x``" - -#: ../../library/stdtypes.rst:437 -msgid "the bits of *x* inverted" -msgstr "" - -#: ../../library/stdtypes.rst:443 -msgid "" -"Negative shift counts are illegal and cause a :exc:`ValueError` to be " -"raised." -msgstr "" - -#: ../../library/stdtypes.rst:446 -msgid "" -"A left shift by *n* bits is equivalent to multiplication by ``pow(2, n)``." -msgstr "" - -#: ../../library/stdtypes.rst:449 -msgid "" -"A right shift by *n* bits is equivalent to floor division by ``pow(2, n)``." -msgstr "" - -#: ../../library/stdtypes.rst:452 -msgid "" -"Performing these calculations with at least one extra sign extension bit in " -"a finite two's complement representation (a working bit-width of ``1 + " -"max(x.bit_length(), y.bit_length())`` or more) is sufficient to get the same" -" result as if there were an infinite number of sign bits." -msgstr "" - -#: ../../library/stdtypes.rst:459 -msgid "Additional Methods on Integer Types" -msgstr "" - -#: ../../library/stdtypes.rst:461 -msgid "" -"The int type implements the :class:`numbers.Integral` :term:`abstract base " -"class`. In addition, it provides a few more methods:" -msgstr "" - -#: ../../library/stdtypes.rst:466 -msgid "" -"Return the number of bits necessary to represent an integer in binary, " -"excluding the sign and leading zeros::" -msgstr "" - -#: ../../library/stdtypes.rst:469 -msgid "" -">>> n = -37\n" -">>> bin(n)\n" -"'-0b100101'\n" -">>> n.bit_length()\n" -"6" -msgstr "" - -#: ../../library/stdtypes.rst:475 -msgid "" -"More precisely, if ``x`` is nonzero, then ``x.bit_length()`` is the unique " -"positive integer ``k`` such that ``2**(k-1) <= abs(x) < 2**k``. " -"Equivalently, when ``abs(x)`` is small enough to have a correctly rounded " -"logarithm, then ``k = 1 + int(log(abs(x), 2))``. If ``x`` is zero, then " -"``x.bit_length()`` returns ``0``." -msgstr "" - -#: ../../library/stdtypes.rst:481 ../../library/stdtypes.rst:504 -#: ../../library/stdtypes.rst:549 ../../library/stdtypes.rst:593 -msgid "Equivalent to::" -msgstr "Setara dengan::" - -#: ../../library/stdtypes.rst:483 -msgid "" -"def bit_length(self):\n" -" s = bin(self) # binary representation: bin(-37) --> '-0b100101'\n" -" s = s.lstrip('-0b') # remove leading zeros and minus sign\n" -" return len(s) # len('100101') --> 6" -msgstr "" - -#: ../../library/stdtypes.rst:492 -msgid "" -"Return the number of ones in the binary representation of the absolute value" -" of the integer. This is also known as the population count. Example::" -msgstr "" - -#: ../../library/stdtypes.rst:496 -msgid "" -">>> n = 19\n" -">>> bin(n)\n" -"'0b10011'\n" -">>> n.bit_count()\n" -"3\n" -">>> (-n).bit_count()\n" -"3" -msgstr "" - -#: ../../library/stdtypes.rst:506 -msgid "" -"def bit_count(self):\n" -" return bin(self).count(\"1\")" -msgstr "" - -#: ../../library/stdtypes.rst:513 -msgid "Return an array of bytes representing an integer." -msgstr "" - -#: ../../library/stdtypes.rst:525 -msgid "" -"The integer is represented using *length* bytes, and defaults to 1. An " -":exc:`OverflowError` is raised if the integer is not representable with the " -"given number of bytes." -msgstr "" - -#: ../../library/stdtypes.rst:529 -msgid "" -"The *byteorder* argument determines the byte order used to represent the " -"integer, and defaults to ``\"big\"``. If *byteorder* is ``\"big\"``, the " -"most significant byte is at the beginning of the byte array. If *byteorder*" -" is ``\"little\"``, the most significant byte is at the end of the byte " -"array." -msgstr "" - -#: ../../library/stdtypes.rst:535 -msgid "" -"The *signed* argument determines whether two's complement is used to " -"represent the integer. If *signed* is ``False`` and a negative integer is " -"given, an :exc:`OverflowError` is raised. The default value for *signed* is " -"``False``." -msgstr "" - -#: ../../library/stdtypes.rst:540 -msgid "" -"The default values can be used to conveniently turn an integer into a single" -" byte object::" -msgstr "" - -#: ../../library/stdtypes.rst:543 -msgid "" -">>> (65).to_bytes()\n" -"b'A'" -msgstr "" - -#: ../../library/stdtypes.rst:546 -msgid "" -"However, when using the default arguments, don't try to convert a value " -"greater than 255 or you'll get an :exc:`OverflowError`." -msgstr "" - -#: ../../library/stdtypes.rst:551 -msgid "" -"def to_bytes(n, length=1, byteorder='big', signed=False):\n" -" if byteorder == 'little':\n" -" order = range(length)\n" -" elif byteorder == 'big':\n" -" order = reversed(range(length))\n" -" else:\n" -" raise ValueError(\"byteorder must be either 'little' or 'big'\")\n" -"\n" -" return bytes((n >> i*8) & 0xff for i in order)" -msgstr "" - -#: ../../library/stdtypes.rst:562 -msgid "Added default argument values for ``length`` and ``byteorder``." -msgstr "" - -#: ../../library/stdtypes.rst:567 -msgid "Return the integer represented by the given array of bytes." -msgstr "" - -#: ../../library/stdtypes.rst:580 -msgid "" -"The argument *bytes* must either be a :term:`bytes-like object` or an " -"iterable producing bytes." -msgstr "" - -#: ../../library/stdtypes.rst:583 -msgid "" -"The *byteorder* argument determines the byte order used to represent the " -"integer, and defaults to ``\"big\"``. If *byteorder* is ``\"big\"``, the " -"most significant byte is at the beginning of the byte array. If *byteorder*" -" is ``\"little\"``, the most significant byte is at the end of the byte " -"array. To request the native byte order of the host system, use " -":data:`sys.byteorder` as the byte order value." -msgstr "" - -#: ../../library/stdtypes.rst:590 -msgid "" -"The *signed* argument indicates whether two's complement is used to " -"represent the integer." -msgstr "" - -#: ../../library/stdtypes.rst:595 -msgid "" -"def from_bytes(bytes, byteorder='big', signed=False):\n" -" if byteorder == 'little':\n" -" little_ordered = list(bytes)\n" -" elif byteorder == 'big':\n" -" little_ordered = list(reversed(bytes))\n" -" else:\n" -" raise ValueError(\"byteorder must be either 'little' or 'big'\")\n" -"\n" -" n = sum(b << i*8 for i, b in enumerate(little_ordered))\n" -" if signed and little_ordered and (little_ordered[-1] & 0x80):\n" -" n -= 1 << 8*len(little_ordered)\n" -"\n" -" return n" -msgstr "" - -#: ../../library/stdtypes.rst:610 -msgid "Added default argument value for ``byteorder``." -msgstr "" - -#: ../../library/stdtypes.rst:615 -msgid "" -"Return a pair of integers whose ratio is equal to the original integer and " -"has a positive denominator. The integer ratio of integers (whole numbers) " -"is always the integer as the numerator and ``1`` as the denominator." -msgstr "" - -#: ../../library/stdtypes.rst:624 -msgid "" -"Returns ``True``. Exists for duck type compatibility with " -":meth:`float.is_integer`." -msgstr "" - -#: ../../library/stdtypes.rst:629 -msgid "Additional Methods on Float" -msgstr "" - -#: ../../library/stdtypes.rst:631 -msgid "" -"The float type implements the :class:`numbers.Real` :term:`abstract base " -"class`. float also has the following additional methods." -msgstr "" - -#: ../../library/stdtypes.rst:636 -msgid "" -"Class method to return a floating-point number constructed from a number " -"*x*." -msgstr "" - -#: ../../library/stdtypes.rst:638 -msgid "" -"If the argument is an integer or a floating-point number, a floating-point " -"number with the same value (within Python's floating-point precision) is " -"returned. If the argument is outside the range of a Python float, an " -":exc:`OverflowError` will be raised." -msgstr "" - -#: ../../library/stdtypes.rst:643 -msgid "" -"For a general Python object ``x``, ``float.from_number(x)`` delegates to " -"``x.__float__()``. If :meth:`~object.__float__` is not defined then it falls" -" back to :meth:`~object.__index__`." -msgstr "" - -#: ../../library/stdtypes.rst:653 -msgid "" -"Return a pair of integers whose ratio is exactly equal to the original " -"float. The ratio is in lowest terms and has a positive denominator. Raises " -":exc:`OverflowError` on infinities and a :exc:`ValueError` on NaNs." -msgstr "" - -#: ../../library/stdtypes.rst:660 -msgid "" -"Return ``True`` if the float instance is finite with integral value, and " -"``False`` otherwise::" -msgstr "" - -#: ../../library/stdtypes.rst:663 -msgid "" -">>> (-2.0).is_integer()\n" -"True\n" -">>> (3.2).is_integer()\n" -"False" -msgstr "" - -#: ../../library/stdtypes.rst:668 -msgid "" -"Two methods support conversion to and from hexadecimal strings. Since " -"Python's floats are stored internally as binary numbers, converting a float " -"to or from a *decimal* string usually involves a small rounding error. In " -"contrast, hexadecimal strings allow exact representation and specification " -"of floating-point numbers. This can be useful when debugging, and in " -"numerical work." -msgstr "" - -#: ../../library/stdtypes.rst:679 -msgid "" -"Return a representation of a floating-point number as a hexadecimal string." -" For finite floating-point numbers, this representation will always include" -" a leading ``0x`` and a trailing ``p`` and exponent." -msgstr "" - -#: ../../library/stdtypes.rst:687 -msgid "" -"Class method to return the float represented by a hexadecimal string *s*. " -"The string *s* may have leading and trailing whitespace." -msgstr "" - -#: ../../library/stdtypes.rst:692 -msgid "" -"Note that :meth:`float.hex` is an instance method, while " -":meth:`float.fromhex` is a class method." -msgstr "" - -#: ../../library/stdtypes.rst:695 -msgid "A hexadecimal string takes the form::" -msgstr "" - -#: ../../library/stdtypes.rst:697 -msgid "[sign] ['0x'] integer ['.' fraction] ['p' exponent]" -msgstr "" - -#: ../../library/stdtypes.rst:699 -msgid "" -"where the optional ``sign`` may by either ``+`` or ``-``, ``integer`` and " -"``fraction`` are strings of hexadecimal digits, and ``exponent`` is a " -"decimal integer with an optional leading sign. Case is not significant, and" -" there must be at least one hexadecimal digit in either the integer or the " -"fraction. This syntax is similar to the syntax specified in section 6.4.4.2" -" of the C99 standard, and also to the syntax used in Java 1.5 onwards. In " -"particular, the output of :meth:`float.hex` is usable as a hexadecimal " -"floating-point literal in C or Java code, and hexadecimal strings produced " -"by C's ``%a`` format character or Java's ``Double.toHexString`` are accepted" -" by :meth:`float.fromhex`." -msgstr "" - -#: ../../library/stdtypes.rst:712 -msgid "" -"Note that the exponent is written in decimal rather than hexadecimal, and " -"that it gives the power of 2 by which to multiply the coefficient. For " -"example, the hexadecimal string ``0x3.a7p10`` represents the floating-point " -"number ``(3 + 10./16 + 7./16**2) * 2.0**10``, or ``3740.0``::" -msgstr "" - -#: ../../library/stdtypes.rst:718 -msgid "" -">>> float.fromhex('0x3.a7p10')\n" -"3740.0" -msgstr "" - -#: ../../library/stdtypes.rst:722 -msgid "" -"Applying the reverse conversion to ``3740.0`` gives a different hexadecimal " -"string representing the same number::" -msgstr "" - -#: ../../library/stdtypes.rst:725 -msgid "" -">>> float.hex(3740.0)\n" -"'0x1.d380000000000p+11'" -msgstr "" - -#: ../../library/stdtypes.rst:730 -msgid "Additional Methods on Complex" -msgstr "" - -#: ../../library/stdtypes.rst:732 -msgid "" -"The :class:`!complex` type implements the :class:`numbers.Complex` " -":term:`abstract base class`. :class:`!complex` also has the following " -"additional methods." -msgstr "" - -#: ../../library/stdtypes.rst:738 -msgid "Class method to convert a number to a complex number." -msgstr "" - -#: ../../library/stdtypes.rst:740 -msgid "" -"For a general Python object ``x``, ``complex.from_number(x)`` delegates to " -"``x.__complex__()``. If :meth:`~object.__complex__` is not defined then it " -"falls back to :meth:`~object.__float__`. If :meth:`!__float__` is not " -"defined then it falls back to :meth:`~object.__index__`." -msgstr "" - -#: ../../library/stdtypes.rst:751 -msgid "Hashing of numeric types" -msgstr "" - -#: ../../library/stdtypes.rst:753 -msgid "" -"For numbers ``x`` and ``y``, possibly of different types, it's a requirement" -" that ``hash(x) == hash(y)`` whenever ``x == y`` (see the " -":meth:`~object.__hash__` method documentation for more details). For ease " -"of implementation and efficiency across a variety of numeric types " -"(including :class:`int`, :class:`float`, :class:`decimal.Decimal` and " -":class:`fractions.Fraction`) Python's hash for numeric types is based on a " -"single mathematical function that's defined for any rational number, and " -"hence applies to all instances of :class:`int` and " -":class:`fractions.Fraction`, and all finite instances of :class:`float` and " -":class:`decimal.Decimal`. Essentially, this function is given by reduction " -"modulo ``P`` for a fixed prime ``P``. The value of ``P`` is made available " -"to Python as the :attr:`~sys.hash_info.modulus` attribute of " -":data:`sys.hash_info`." -msgstr "" - -#: ../../library/stdtypes.rst:768 -msgid "" -"Currently, the prime used is ``P = 2**31 - 1`` on machines with 32-bit C " -"longs and ``P = 2**61 - 1`` on machines with 64-bit C longs." -msgstr "" - -#: ../../library/stdtypes.rst:771 -msgid "Here are the rules in detail:" -msgstr "" - -#: ../../library/stdtypes.rst:773 -msgid "" -"If ``x = m / n`` is a nonnegative rational number and ``n`` is not divisible" -" by ``P``, define ``hash(x)`` as ``m * invmod(n, P) % P``, where ``invmod(n," -" P)`` gives the inverse of ``n`` modulo ``P``." -msgstr "" - -#: ../../library/stdtypes.rst:777 -msgid "" -"If ``x = m / n`` is a nonnegative rational number and ``n`` is divisible by " -"``P`` (but ``m`` is not) then ``n`` has no inverse modulo ``P`` and the rule" -" above doesn't apply; in this case define ``hash(x)`` to be the constant " -"value ``sys.hash_info.inf``." -msgstr "" - -#: ../../library/stdtypes.rst:782 -msgid "" -"If ``x = m / n`` is a negative rational number define ``hash(x)`` as " -"``-hash(-x)``. If the resulting hash is ``-1``, replace it with ``-2``." -msgstr "" - -#: ../../library/stdtypes.rst:786 -msgid "" -"The particular values ``sys.hash_info.inf`` and ``-sys.hash_info.inf`` are " -"used as hash values for positive infinity or negative infinity " -"(respectively)." -msgstr "" - -#: ../../library/stdtypes.rst:790 -msgid "" -"For a :class:`complex` number ``z``, the hash values of the real and " -"imaginary parts are combined by computing ``hash(z.real) + " -"sys.hash_info.imag * hash(z.imag)``, reduced modulo " -"``2**sys.hash_info.width`` so that it lies in " -"``range(-2**(sys.hash_info.width - 1), 2**(sys.hash_info.width - 1))``. " -"Again, if the result is ``-1``, it's replaced with ``-2``." -msgstr "" - -#: ../../library/stdtypes.rst:798 -msgid "" -"To clarify the above rules, here's some example Python code, equivalent to " -"the built-in hash, for computing the hash of a rational number, " -":class:`float`, or :class:`complex`::" -msgstr "" - -#: ../../library/stdtypes.rst:803 -msgid "" -"import sys, math\n" -"\n" -"def hash_fraction(m, n):\n" -" \"\"\"Compute the hash of a rational number m / n.\n" -"\n" -" Assumes m and n are integers, with n positive.\n" -" Equivalent to hash(fractions.Fraction(m, n)).\n" -"\n" -" \"\"\"\n" -" P = sys.hash_info.modulus\n" -" # Remove common factors of P. (Unnecessary if m and n already coprime.)\n" -" while m % P == n % P == 0:\n" -" m, n = m // P, n // P\n" -"\n" -" if n % P == 0:\n" -" hash_value = sys.hash_info.inf\n" -" else:\n" -" # Fermat's Little Theorem: pow(n, P-1, P) is 1, so\n" -" # pow(n, P-2, P) gives the inverse of n modulo P.\n" -" hash_value = (abs(m) % P) * pow(n, P - 2, P) % P\n" -" if m < 0:\n" -" hash_value = -hash_value\n" -" if hash_value == -1:\n" -" hash_value = -2\n" -" return hash_value\n" -"\n" -"def hash_float(x):\n" -" \"\"\"Compute the hash of a float x.\"\"\"\n" -"\n" -" if math.isnan(x):\n" -" return object.__hash__(x)\n" -" elif math.isinf(x):\n" -" return sys.hash_info.inf if x > 0 else -sys.hash_info.inf\n" -" else:\n" -" return hash_fraction(*x.as_integer_ratio())\n" -"\n" -"def hash_complex(z):\n" -" \"\"\"Compute the hash of a complex number z.\"\"\"\n" -"\n" -" hash_value = hash_float(z.real) + sys.hash_info.imag * hash_float(z.imag)\n" -" # do a signed reduction modulo 2**sys.hash_info.width\n" -" M = 2**(sys.hash_info.width - 1)\n" -" hash_value = (hash_value & (M - 1)) - (hash_value & M)\n" -" if hash_value == -1:\n" -" hash_value = -2\n" -" return hash_value" -msgstr "" - -#: ../../library/stdtypes.rst:854 -msgid "Boolean Type - :class:`bool`" -msgstr "" - -#: ../../library/stdtypes.rst:856 -msgid "" -"Booleans represent truth values. The :class:`bool` type has exactly two " -"constant instances: ``True`` and ``False``." -msgstr "" - -#: ../../library/stdtypes.rst:864 -msgid "" -"The built-in function :func:`bool` converts any value to a boolean, if the " -"value can be interpreted as a truth value (see section :ref:`truth` above)." -msgstr "" - -#: ../../library/stdtypes.rst:867 -msgid "" -"For logical operations, use the :ref:`boolean operators ` ``and``, " -"``or`` and ``not``. When applying the bitwise operators ``&``, ``|``, ``^`` " -"to two booleans, they return a bool equivalent to the logical operations " -"\"and\", \"or\", \"xor\". However, the logical operators ``and``, ``or`` and" -" ``!=`` should be preferred over ``&``, ``|`` and ``^``." -msgstr "" - -#: ../../library/stdtypes.rst:876 -msgid "" -"The use of the bitwise inversion operator ``~`` is deprecated and will raise" -" an error in Python 3.16." -msgstr "" - -#: ../../library/stdtypes.rst:879 -msgid "" -":class:`bool` is a subclass of :class:`int` (see :ref:`typesnumeric`). In " -"many numeric contexts, ``False`` and ``True`` behave like the integers 0 and" -" 1, respectively. However, relying on this is discouraged; explicitly " -"convert using :func:`int` instead." -msgstr "" - -#: ../../library/stdtypes.rst:887 -msgid "Iterator Types" -msgstr "" - -#: ../../library/stdtypes.rst:895 -msgid "" -"Python supports a concept of iteration over containers. This is implemented" -" using two distinct methods; these are used to allow user-defined classes to" -" support iteration. Sequences, described below in more detail, always " -"support the iteration methods." -msgstr "" - -#: ../../library/stdtypes.rst:900 -msgid "" -"One method needs to be defined for container objects to provide " -":term:`iterable` support:" -msgstr "" - -#: ../../library/stdtypes.rst:907 -msgid "" -"Return an :term:`iterator` object. The object is required to support the " -"iterator protocol described below. If a container supports different types " -"of iteration, additional methods can be provided to specifically request " -"iterators for those iteration types. (An example of an object supporting " -"multiple forms of iteration would be a tree structure which supports both " -"breadth-first and depth-first traversal.) This method corresponds to the " -":c:member:`~PyTypeObject.tp_iter` slot of the type structure for Python " -"objects in the Python/C API." -msgstr "" - -#: ../../library/stdtypes.rst:916 -msgid "" -"The iterator objects themselves are required to support the following two " -"methods, which together form the :dfn:`iterator protocol`:" -msgstr "" - -#: ../../library/stdtypes.rst:922 -msgid "" -"Return the :term:`iterator` object itself. This is required to allow both " -"containers and iterators to be used with the :keyword:`for` and " -":keyword:`in` statements. This method corresponds to the " -":c:member:`~PyTypeObject.tp_iter` slot of the type structure for Python " -"objects in the Python/C API." -msgstr "" - -#: ../../library/stdtypes.rst:931 -msgid "" -"Return the next item from the :term:`iterator`. If there are no further " -"items, raise the :exc:`StopIteration` exception. This method corresponds to" -" the :c:member:`~PyTypeObject.tp_iternext` slot of the type structure for " -"Python objects in the Python/C API." -msgstr "" - -#: ../../library/stdtypes.rst:936 -msgid "" -"Python defines several iterator objects to support iteration over general " -"and specific sequence types, dictionaries, and other more specialized forms." -" The specific types are not important beyond their implementation of the " -"iterator protocol." -msgstr "" - -#: ../../library/stdtypes.rst:941 -msgid "" -"Once an iterator's :meth:`~iterator.__next__` method raises " -":exc:`StopIteration`, it must continue to do so on subsequent calls. " -"Implementations that do not obey this property are deemed broken." -msgstr "" - -#: ../../library/stdtypes.rst:949 -msgid "Generator Types" -msgstr "" - -#: ../../library/stdtypes.rst:951 -msgid "" -"Python's :term:`generator`\\s provide a convenient way to implement the " -"iterator protocol. If a container object's :meth:`~object.__iter__` method " -"is implemented as a generator, it will automatically return an iterator " -"object (technically, a generator object) supplying the " -":meth:`~iterator.__iter__` and :meth:`~generator.__next__` methods. More " -"information about generators can be found in :ref:`the documentation for the" -" yield expression `." -msgstr "" - -#: ../../library/stdtypes.rst:963 -msgid "Sequence Types --- :class:`list`, :class:`tuple`, :class:`range`" -msgstr "" - -#: ../../library/stdtypes.rst:965 -msgid "" -"There are three basic sequence types: lists, tuples, and range objects. " -"Additional sequence types tailored for processing of :ref:`binary data " -"` and :ref:`text strings ` are described in dedicated " -"sections." -msgstr "" - -#: ../../library/stdtypes.rst:974 -msgid "Common Sequence Operations" -msgstr "" - -#: ../../library/stdtypes.rst:978 -msgid "" -"The operations in the following table are supported by most sequence types, " -"both mutable and immutable. The :class:`collections.abc.Sequence` ABC is " -"provided to make it easier to correctly implement these operations on custom" -" sequence types." -msgstr "" - -#: ../../library/stdtypes.rst:983 -msgid "" -"This table lists the sequence operations sorted in ascending priority. In " -"the table, *s* and *t* are sequences of the same type, *n*, *i*, *j* and *k*" -" are integers and *x* is an arbitrary object that meets any type and value " -"restrictions imposed by *s*." -msgstr "" - -#: ../../library/stdtypes.rst:988 -msgid "" -"The ``in`` and ``not in`` operations have the same priorities as the " -"comparison operations. The ``+`` (concatenation) and ``*`` (repetition) " -"operations have the same priority as the corresponding numeric operations. " -"[3]_" -msgstr "" - -#: ../../library/stdtypes.rst:1009 -msgid "``x in s``" -msgstr "``x in s``" - -#: ../../library/stdtypes.rst:1009 -msgid "``True`` if an item of *s* is equal to *x*, else ``False``" -msgstr "" - -#: ../../library/stdtypes.rst:1012 -msgid "``x not in s``" -msgstr "``x not in s``" - -#: ../../library/stdtypes.rst:1012 -msgid "``False`` if an item of *s* is equal to *x*, else ``True``" -msgstr "" - -#: ../../library/stdtypes.rst:1015 -msgid "``s + t``" -msgstr "``s + t``" - -#: ../../library/stdtypes.rst:1015 -msgid "the concatenation of *s* and *t*" -msgstr "" - -#: ../../library/stdtypes.rst:1015 -msgid "(6)(7)" -msgstr "(6)(7)" - -#: ../../library/stdtypes.rst:1018 -msgid "``s * n`` or ``n * s``" -msgstr "``s * n`` or ``n * s``" - -#: ../../library/stdtypes.rst:1018 -msgid "equivalent to adding *s* to itself *n* times" -msgstr "" - -#: ../../library/stdtypes.rst:1018 -msgid "(2)(7)" -msgstr "(2)(7)" - -#: ../../library/stdtypes.rst:1021 -msgid "``s[i]``" -msgstr "``s[i]``" - -#: ../../library/stdtypes.rst:1021 -msgid "*i*\\ th item of *s*, origin 0" -msgstr "" - -#: ../../library/stdtypes.rst:1023 -msgid "``s[i:j]``" -msgstr "``s[i:j]``" - -#: ../../library/stdtypes.rst:1023 -msgid "slice of *s* from *i* to *j*" -msgstr "" - -#: ../../library/stdtypes.rst:1023 -msgid "(3)(4)" -msgstr "(3)(4)" - -#: ../../library/stdtypes.rst:1025 -msgid "``s[i:j:k]``" -msgstr "``s[i:j:k]``" - -#: ../../library/stdtypes.rst:1025 -msgid "slice of *s* from *i* to *j* with step *k*" -msgstr "" - -#: ../../library/stdtypes.rst:1025 -msgid "(3)(5)" -msgstr "(3)(5)" - -#: ../../library/stdtypes.rst:1028 -msgid "``len(s)``" -msgstr "``len(s)``" - -#: ../../library/stdtypes.rst:1028 -msgid "length of *s*" -msgstr "" - -#: ../../library/stdtypes.rst:1030 -msgid "``min(s)``" -msgstr "``min(s)``" - -#: ../../library/stdtypes.rst:1030 -msgid "smallest item of *s*" -msgstr "" - -#: ../../library/stdtypes.rst:1032 -msgid "``max(s)``" -msgstr "``max(s)``" - -#: ../../library/stdtypes.rst:1032 -msgid "largest item of *s*" -msgstr "" - -#: ../../library/stdtypes.rst:1034 -msgid "``s.index(x[, i[, j]])``" -msgstr "``s.index(x[, i[, j]])``" - -#: ../../library/stdtypes.rst:1034 -msgid "" -"index of the first occurrence of *x* in *s* (at or after index *i* and " -"before index *j*)" -msgstr "" - -#: ../../library/stdtypes.rst:1034 ../../library/stdtypes.rst:3981 -msgid "\\(8)" -msgstr "\\(8)" - -#: ../../library/stdtypes.rst:1038 -msgid "``s.count(x)``" -msgstr "``s.count(x)``" - -#: ../../library/stdtypes.rst:1038 -msgid "total number of occurrences of *x* in *s*" -msgstr "" - -#: ../../library/stdtypes.rst:1042 -msgid "" -"Sequences of the same type also support comparisons. In particular, tuples " -"and lists are compared lexicographically by comparing corresponding " -"elements. This means that to compare equal, every element must compare equal" -" and the two sequences must be of the same type and have the same length. " -"(For full details see :ref:`comparisons` in the language reference.)" -msgstr "" - -#: ../../library/stdtypes.rst:1052 -msgid "" -"Forward and reversed iterators over mutable sequences access values using an" -" index. That index will continue to march forward (or backward) even if the" -" underlying sequence is mutated. The iterator terminates only when an " -":exc:`IndexError` or a :exc:`StopIteration` is encountered (or when the " -"index drops below zero)." -msgstr "" - -#: ../../library/stdtypes.rst:1061 -msgid "" -"While the ``in`` and ``not in`` operations are used only for simple " -"containment testing in the general case, some specialised sequences (such as" -" :class:`str`, :class:`bytes` and :class:`bytearray`) also use them for " -"subsequence testing::" -msgstr "" - -#: ../../library/stdtypes.rst:1066 -msgid "" -">>> \"gg\" in \"eggs\"\n" -"True" -msgstr "" - -#: ../../library/stdtypes.rst:1070 -msgid "" -"Values of *n* less than ``0`` are treated as ``0`` (which yields an empty " -"sequence of the same type as *s*). Note that items in the sequence *s* are " -"not copied; they are referenced multiple times. This often haunts new " -"Python programmers; consider::" -msgstr "" - -#: ../../library/stdtypes.rst:1075 -msgid "" -">>> lists = [[]] * 3\n" -">>> lists\n" -"[[], [], []]\n" -">>> lists[0].append(3)\n" -">>> lists\n" -"[[3], [3], [3]]" -msgstr "" - -#: ../../library/stdtypes.rst:1082 -msgid "" -"What has happened is that ``[[]]`` is a one-element list containing an empty" -" list, so all three elements of ``[[]] * 3`` are references to this single " -"empty list. Modifying any of the elements of ``lists`` modifies this single" -" list. You can create a list of different lists this way::" -msgstr "" - -#: ../../library/stdtypes.rst:1087 -msgid "" -">>> lists = [[] for i in range(3)]\n" -">>> lists[0].append(3)\n" -">>> lists[1].append(5)\n" -">>> lists[2].append(7)\n" -">>> lists\n" -"[[3], [5], [7]]" -msgstr "" - -#: ../../library/stdtypes.rst:1094 -msgid "" -"Further explanation is available in the FAQ entry :ref:`faq-" -"multidimensional-list`." -msgstr "" - -#: ../../library/stdtypes.rst:1098 -msgid "" -"If *i* or *j* is negative, the index is relative to the end of sequence *s*:" -" ``len(s) + i`` or ``len(s) + j`` is substituted. But note that ``-0`` is " -"still ``0``." -msgstr "" - -#: ../../library/stdtypes.rst:1103 -msgid "" -"The slice of *s* from *i* to *j* is defined as the sequence of items with " -"index *k* such that ``i <= k < j``. If *i* or *j* is greater than " -"``len(s)``, use ``len(s)``. If *i* is omitted or ``None``, use ``0``. If " -"*j* is omitted or ``None``, use ``len(s)``. If *i* is greater than or equal" -" to *j*, the slice is empty." -msgstr "" - -#: ../../library/stdtypes.rst:1110 -msgid "" -"The slice of *s* from *i* to *j* with step *k* is defined as the sequence of" -" items with index ``x = i + n*k`` such that ``0 <= n < (j-i)/k``. In other" -" words, the indices are ``i``, ``i+k``, ``i+2*k``, ``i+3*k`` and so on, " -"stopping when *j* is reached (but never including *j*). When *k* is " -"positive, *i* and *j* are reduced to ``len(s)`` if they are greater. When " -"*k* is negative, *i* and *j* are reduced to ``len(s) - 1`` if they are " -"greater. If *i* or *j* are omitted or ``None``, they become \"end\" values " -"(which end depends on the sign of *k*). Note, *k* cannot be zero. If *k* is" -" ``None``, it is treated like ``1``." -msgstr "" - -#: ../../library/stdtypes.rst:1121 -msgid "" -"Concatenating immutable sequences always results in a new object. This " -"means that building up a sequence by repeated concatenation will have a " -"quadratic runtime cost in the total sequence length. To get a linear " -"runtime cost, you must switch to one of the alternatives below:" -msgstr "" - -#: ../../library/stdtypes.rst:1126 -msgid "" -"if concatenating :class:`str` objects, you can build a list and use " -":meth:`str.join` at the end or else write to an :class:`io.StringIO` " -"instance and retrieve its value when complete" -msgstr "" - -#: ../../library/stdtypes.rst:1130 -msgid "" -"if concatenating :class:`bytes` objects, you can similarly use " -":meth:`bytes.join` or :class:`io.BytesIO`, or you can do in-place " -"concatenation with a :class:`bytearray` object. :class:`bytearray` objects " -"are mutable and have an efficient overallocation mechanism" -msgstr "" - -#: ../../library/stdtypes.rst:1135 -msgid "" -"if concatenating :class:`tuple` objects, extend a :class:`list` instead" -msgstr "" - -#: ../../library/stdtypes.rst:1137 -msgid "for other types, investigate the relevant class documentation" -msgstr "" - -#: ../../library/stdtypes.rst:1141 -msgid "" -"Some sequence types (such as :class:`range`) only support item sequences " -"that follow specific patterns, and hence don't support sequence " -"concatenation or repetition." -msgstr "" - -#: ../../library/stdtypes.rst:1146 -msgid "" -"``index`` raises :exc:`ValueError` when *x* is not found in *s*. Not all " -"implementations support passing the additional arguments *i* and *j*. These " -"arguments allow efficient searching of subsections of the sequence. Passing " -"the extra arguments is roughly equivalent to using ``s[i:j].index(x)``, only" -" without copying any data and with the returned index being relative to the " -"start of the sequence rather than the start of the slice." -msgstr "" - -#: ../../library/stdtypes.rst:1157 -msgid "Immutable Sequence Types" -msgstr "" - -#: ../../library/stdtypes.rst:1164 -msgid "" -"The only operation that immutable sequence types generally implement that is" -" not also implemented by mutable sequence types is support for the " -":func:`hash` built-in." -msgstr "" - -#: ../../library/stdtypes.rst:1168 -msgid "" -"This support allows immutable sequences, such as :class:`tuple` instances, " -"to be used as :class:`dict` keys and stored in :class:`set` and " -":class:`frozenset` instances." -msgstr "" - -#: ../../library/stdtypes.rst:1172 -msgid "" -"Attempting to hash an immutable sequence that contains unhashable values " -"will result in :exc:`TypeError`." -msgstr "" - -#: ../../library/stdtypes.rst:1179 -msgid "Mutable Sequence Types" -msgstr "" - -#: ../../library/stdtypes.rst:1186 -msgid "" -"The operations in the following table are defined on mutable sequence types." -" The :class:`collections.abc.MutableSequence` ABC is provided to make it " -"easier to correctly implement these operations on custom sequence types." -msgstr "" - -#: ../../library/stdtypes.rst:1190 -msgid "" -"In the table *s* is an instance of a mutable sequence type, *t* is any " -"iterable object and *x* is an arbitrary object that meets any type and value" -" restrictions imposed by *s* (for example, :class:`bytearray` only accepts " -"integers that meet the value restriction ``0 <= x <= 255``)." -msgstr "" - -#: ../../library/stdtypes.rst:1214 -msgid "``s[i] = x``" -msgstr "``s[i] = x``" - -#: ../../library/stdtypes.rst:1214 -msgid "item *i* of *s* is replaced by *x*" -msgstr "" - -#: ../../library/stdtypes.rst:1217 -msgid "``s[i:j] = t``" -msgstr "``s[i:j] = t``" - -#: ../../library/stdtypes.rst:1217 -msgid "" -"slice of *s* from *i* to *j* is replaced by the contents of the iterable *t*" -msgstr "" - -#: ../../library/stdtypes.rst:1221 -msgid "``del s[i:j]``" -msgstr "``del s[i:j]``" - -#: ../../library/stdtypes.rst:1221 -msgid "same as ``s[i:j] = []``" -msgstr "" - -#: ../../library/stdtypes.rst:1223 -msgid "``s[i:j:k] = t``" -msgstr "``s[i:j:k] = t``" - -#: ../../library/stdtypes.rst:1223 -msgid "the elements of ``s[i:j:k]`` are replaced by those of *t*" -msgstr "" - -#: ../../library/stdtypes.rst:1226 -msgid "``del s[i:j:k]``" -msgstr "``del s[i:j:k]``" - -#: ../../library/stdtypes.rst:1226 -msgid "removes the elements of ``s[i:j:k]`` from the list" -msgstr "" - -#: ../../library/stdtypes.rst:1229 -msgid "``s.append(x)``" -msgstr "``s.append(x)``" - -#: ../../library/stdtypes.rst:1229 -msgid "" -"appends *x* to the end of the sequence (same as ``s[len(s):len(s)] = [x]``)" -msgstr "" - -#: ../../library/stdtypes.rst:1233 -msgid "``s.clear()``" -msgstr "``s.clear()``" - -#: ../../library/stdtypes.rst:1233 -msgid "removes all items from *s* (same as ``del s[:]``)" -msgstr "" - -#: ../../library/stdtypes.rst:1236 -msgid "``s.copy()``" -msgstr "``s.copy()``" - -#: ../../library/stdtypes.rst:1236 -msgid "creates a shallow copy of *s* (same as ``s[:]``)" -msgstr "" - -#: ../../library/stdtypes.rst:1239 -msgid "``s.extend(t)`` or ``s += t``" -msgstr "``s.extend(t)`` or ``s += t``" - -#: ../../library/stdtypes.rst:1239 -msgid "" -"extends *s* with the contents of *t* (for the most part the same as " -"``s[len(s):len(s)] = t``)" -msgstr "" - -#: ../../library/stdtypes.rst:1244 -msgid "``s *= n``" -msgstr "``s *= n``" - -#: ../../library/stdtypes.rst:1244 -msgid "updates *s* with its contents repeated *n* times" -msgstr "" - -#: ../../library/stdtypes.rst:1247 -msgid "``s.insert(i, x)``" -msgstr "``s.insert(i, x)``" - -#: ../../library/stdtypes.rst:1247 -msgid "" -"inserts *x* into *s* at the index given by *i* (same as ``s[i:i] = [x]``)" -msgstr "" - -#: ../../library/stdtypes.rst:1251 -msgid "``s.pop()`` or ``s.pop(i)``" -msgstr "" - -#: ../../library/stdtypes.rst:1251 -msgid "retrieves the item at *i* and also removes it from *s*" -msgstr "" - -#: ../../library/stdtypes.rst:1254 -msgid "``s.remove(x)``" -msgstr "``s.remove(x)``" - -#: ../../library/stdtypes.rst:1254 -msgid "removes the first item from *s* where ``s[i]`` is equal to *x*" -msgstr "" - -#: ../../library/stdtypes.rst:1258 -msgid "``s.reverse()``" -msgstr "``s.reverse()``" - -#: ../../library/stdtypes.rst:1258 -msgid "reverses the items of *s* in place" -msgstr "" - -#: ../../library/stdtypes.rst:1266 -msgid "" -"If *k* is not equal to ``1``, *t* must have the same length as the slice it " -"is replacing." -msgstr "" - -#: ../../library/stdtypes.rst:1269 -msgid "" -"The optional argument *i* defaults to ``-1``, so that by default the last " -"item is removed and returned." -msgstr "" - -#: ../../library/stdtypes.rst:1273 -msgid ":meth:`remove` raises :exc:`ValueError` when *x* is not found in *s*." -msgstr "" - -#: ../../library/stdtypes.rst:1276 -msgid "" -"The :meth:`reverse` method modifies the sequence in place for economy of " -"space when reversing a large sequence. To remind users that it operates by " -"side effect, it does not return the reversed sequence." -msgstr "" - -#: ../../library/stdtypes.rst:1281 -msgid "" -":meth:`clear` and :meth:`!copy` are included for consistency with the " -"interfaces of mutable containers that don't support slicing operations (such" -" as :class:`dict` and :class:`set`). :meth:`!copy` is not part of the " -":class:`collections.abc.MutableSequence` ABC, but most concrete mutable " -"sequence classes provide it." -msgstr "" - -#: ../../library/stdtypes.rst:1287 -msgid ":meth:`clear` and :meth:`!copy` methods." -msgstr "" - -#: ../../library/stdtypes.rst:1291 -msgid "" -"The value *n* is an integer, or an object implementing " -":meth:`~object.__index__`. Zero and negative values of *n* clear the " -"sequence. Items in the sequence are not copied; they are referenced " -"multiple times, as explained for ``s * n`` under :ref:`typesseq-common`." -msgstr "" - -#: ../../library/stdtypes.rst:1300 -msgid "Lists" -msgstr "List" - -#: ../../library/stdtypes.rst:1304 -msgid "" -"Lists are mutable sequences, typically used to store collections of " -"homogeneous items (where the precise degree of similarity will vary by " -"application)." -msgstr "" - -#: ../../library/stdtypes.rst:1310 -msgid "Lists may be constructed in several ways:" -msgstr "" - -#: ../../library/stdtypes.rst:1312 -msgid "Using a pair of square brackets to denote the empty list: ``[]``" -msgstr "" - -#: ../../library/stdtypes.rst:1313 -msgid "" -"Using square brackets, separating items with commas: ``[a]``, ``[a, b, c]``" -msgstr "" - -#: ../../library/stdtypes.rst:1314 -msgid "Using a list comprehension: ``[x for x in iterable]``" -msgstr "" - -#: ../../library/stdtypes.rst:1315 -msgid "Using the type constructor: ``list()`` or ``list(iterable)``" -msgstr "" - -#: ../../library/stdtypes.rst:1317 -msgid "" -"The constructor builds a list whose items are the same and in the same order" -" as *iterable*'s items. *iterable* may be either a sequence, a container " -"that supports iteration, or an iterator object. If *iterable* is already a " -"list, a copy is made and returned, similar to ``iterable[:]``. For example, " -"``list('abc')`` returns ``['a', 'b', 'c']`` and ``list( (1, 2, 3) )`` " -"returns ``[1, 2, 3]``. If no argument is given, the constructor creates a " -"new empty list, ``[]``." -msgstr "" - -#: ../../library/stdtypes.rst:1326 -msgid "" -"Many other operations also produce lists, including the :func:`sorted` " -"built-in." -msgstr "" - -#: ../../library/stdtypes.rst:1329 -msgid "" -"Lists implement all of the :ref:`common ` and :ref:`mutable" -" ` sequence operations. Lists also provide the following " -"additional method:" -msgstr "" - -#: ../../library/stdtypes.rst:1335 -msgid "" -"This method sorts the list in place, using only ``<`` comparisons between " -"items. Exceptions are not suppressed - if any comparison operations fail, " -"the entire sort operation will fail (and the list will likely be left in a " -"partially modified state)." -msgstr "" - -#: ../../library/stdtypes.rst:1340 -msgid "" -":meth:`sort` accepts two arguments that can only be passed by keyword " -"(:ref:`keyword-only arguments `):" -msgstr "" - -#: ../../library/stdtypes.rst:1343 -msgid "" -"*key* specifies a function of one argument that is used to extract a " -"comparison key from each list element (for example, ``key=str.lower``). The " -"key corresponding to each item in the list is calculated once and then used " -"for the entire sorting process. The default value of ``None`` means that " -"list items are sorted directly without calculating a separate key value." -msgstr "" - -#: ../../library/stdtypes.rst:1350 -msgid "" -"The :func:`functools.cmp_to_key` utility is available to convert a 2.x style" -" *cmp* function to a *key* function." -msgstr "" - -#: ../../library/stdtypes.rst:1353 -msgid "" -"*reverse* is a boolean value. If set to ``True``, then the list elements " -"are sorted as if each comparison were reversed." -msgstr "" -"*reverse* adalah nilai *boolean*. Jika diatur ke ``True``, maka elemen list " -"atau daftar diurutkan seolah-olah setiap perbandingan dibalik." - -#: ../../library/stdtypes.rst:1356 -msgid "" -"This method modifies the sequence in place for economy of space when sorting" -" a large sequence. To remind users that it operates by side effect, it does" -" not return the sorted sequence (use :func:`sorted` to explicitly request a " -"new sorted list instance)." -msgstr "" - -#: ../../library/stdtypes.rst:1361 -msgid "" -"The :meth:`sort` method is guaranteed to be stable. A sort is stable if it " -"guarantees not to change the relative order of elements that compare equal " -"--- this is helpful for sorting in multiple passes (for example, sort by " -"department, then by salary grade)." -msgstr "" - -#: ../../library/stdtypes.rst:1366 -msgid "" -"For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." -msgstr "" -"Untuk contoh pengurutan dan tutorial singkat pengurutan, lihat :ref: " -"`sortinghowto`." - -#: ../../library/stdtypes.rst:1370 -msgid "" -"While a list is being sorted, the effect of attempting to mutate, or even " -"inspect, the list is undefined. The C implementation of Python makes the " -"list appear empty for the duration, and raises :exc:`ValueError` if it can " -"detect that the list has been mutated during a sort." -msgstr "" - -#: ../../library/stdtypes.rst:1379 -msgid "Tuples" -msgstr "*Tuples*" - -#: ../../library/stdtypes.rst:1383 -msgid "" -"Tuples are immutable sequences, typically used to store collections of " -"heterogeneous data (such as the 2-tuples produced by the :func:`enumerate` " -"built-in). Tuples are also used for cases where an immutable sequence of " -"homogeneous data is needed (such as allowing storage in a :class:`set` or " -":class:`dict` instance)." -msgstr "" - -#: ../../library/stdtypes.rst:1391 -msgid "Tuples may be constructed in a number of ways:" -msgstr "" - -#: ../../library/stdtypes.rst:1393 -msgid "Using a pair of parentheses to denote the empty tuple: ``()``" -msgstr "" - -#: ../../library/stdtypes.rst:1394 -msgid "Using a trailing comma for a singleton tuple: ``a,`` or ``(a,)``" -msgstr "" - -#: ../../library/stdtypes.rst:1395 -msgid "Separating items with commas: ``a, b, c`` or ``(a, b, c)``" -msgstr "" - -#: ../../library/stdtypes.rst:1396 -msgid "Using the :func:`tuple` built-in: ``tuple()`` or ``tuple(iterable)``" -msgstr "" - -#: ../../library/stdtypes.rst:1398 -msgid "" -"The constructor builds a tuple whose items are the same and in the same " -"order as *iterable*'s items. *iterable* may be either a sequence, a " -"container that supports iteration, or an iterator object. If *iterable* is " -"already a tuple, it is returned unchanged. For example, ``tuple('abc')`` " -"returns ``('a', 'b', 'c')`` and ``tuple( [1, 2, 3] )`` returns ``(1, 2, " -"3)``. If no argument is given, the constructor creates a new empty tuple, " -"``()``." -msgstr "" - -#: ../../library/stdtypes.rst:1406 -msgid "" -"Note that it is actually the comma which makes a tuple, not the parentheses." -" The parentheses are optional, except in the empty tuple case, or when they " -"are needed to avoid syntactic ambiguity. For example, ``f(a, b, c)`` is a " -"function call with three arguments, while ``f((a, b, c))`` is a function " -"call with a 3-tuple as the sole argument." -msgstr "" - -#: ../../library/stdtypes.rst:1412 -msgid "" -"Tuples implement all of the :ref:`common ` sequence " -"operations." -msgstr "" - -#: ../../library/stdtypes.rst:1415 -msgid "" -"For heterogeneous collections of data where access by name is clearer than " -"access by index, :func:`collections.namedtuple` may be a more appropriate " -"choice than a simple tuple object." -msgstr "" - -#: ../../library/stdtypes.rst:1423 -msgid "Ranges" -msgstr "" - -#: ../../library/stdtypes.rst:1427 -msgid "" -"The :class:`range` type represents an immutable sequence of numbers and is " -"commonly used for looping a specific number of times in :keyword:`for` " -"loops." -msgstr "" - -#: ../../library/stdtypes.rst:1434 -msgid "" -"The arguments to the range constructor must be integers (either built-in " -":class:`int` or any object that implements the :meth:`~object.__index__` " -"special method). If the *step* argument is omitted, it defaults to ``1``. " -"If the *start* argument is omitted, it defaults to ``0``. If *step* is zero," -" :exc:`ValueError` is raised." -msgstr "" - -#: ../../library/stdtypes.rst:1440 -msgid "" -"For a positive *step*, the contents of a range ``r`` are determined by the " -"formula ``r[i] = start + step*i`` where ``i >= 0`` and ``r[i] < stop``." -msgstr "" - -#: ../../library/stdtypes.rst:1444 -msgid "" -"For a negative *step*, the contents of the range are still determined by the" -" formula ``r[i] = start + step*i``, but the constraints are ``i >= 0`` and " -"``r[i] > stop``." -msgstr "" - -#: ../../library/stdtypes.rst:1448 -msgid "" -"A range object will be empty if ``r[0]`` does not meet the value constraint." -" Ranges do support negative indices, but these are interpreted as indexing " -"from the end of the sequence determined by the positive indices." -msgstr "" - -#: ../../library/stdtypes.rst:1453 -msgid "" -"Ranges containing absolute values larger than :data:`sys.maxsize` are " -"permitted but some features (such as :func:`len`) may raise " -":exc:`OverflowError`." -msgstr "" - -#: ../../library/stdtypes.rst:1457 -msgid "Range examples::" -msgstr "" - -#: ../../library/stdtypes.rst:1459 -msgid "" -">>> list(range(10))\n" -"[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n" -">>> list(range(1, 11))\n" -"[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n" -">>> list(range(0, 30, 5))\n" -"[0, 5, 10, 15, 20, 25]\n" -">>> list(range(0, 10, 3))\n" -"[0, 3, 6, 9]\n" -">>> list(range(0, -10, -1))\n" -"[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]\n" -">>> list(range(0))\n" -"[]\n" -">>> list(range(1, 0))\n" -"[]" -msgstr "" - -#: ../../library/stdtypes.rst:1474 -msgid "" -"Ranges implement all of the :ref:`common ` sequence " -"operations except concatenation and repetition (due to the fact that range " -"objects can only represent sequences that follow a strict pattern and " -"repetition and concatenation will usually violate that pattern)." -msgstr "" - -#: ../../library/stdtypes.rst:1481 -msgid "" -"The value of the *start* parameter (or ``0`` if the parameter was not " -"supplied)" -msgstr "" - -#: ../../library/stdtypes.rst:1486 -msgid "The value of the *stop* parameter" -msgstr "" - -#: ../../library/stdtypes.rst:1490 -msgid "" -"The value of the *step* parameter (or ``1`` if the parameter was not " -"supplied)" -msgstr "" - -#: ../../library/stdtypes.rst:1493 -msgid "" -"The advantage of the :class:`range` type over a regular :class:`list` or " -":class:`tuple` is that a :class:`range` object will always take the same " -"(small) amount of memory, no matter the size of the range it represents (as " -"it only stores the ``start``, ``stop`` and ``step`` values, calculating " -"individual items and subranges as needed)." -msgstr "" - -#: ../../library/stdtypes.rst:1499 -msgid "" -"Range objects implement the :class:`collections.abc.Sequence` ABC, and " -"provide features such as containment tests, element index lookup, slicing " -"and support for negative indices (see :ref:`typesseq`):" -msgstr "" - -#: ../../library/stdtypes.rst:1519 -msgid "" -"Testing range objects for equality with ``==`` and ``!=`` compares them as " -"sequences. That is, two range objects are considered equal if they " -"represent the same sequence of values. (Note that two range objects that " -"compare equal might have different :attr:`~range.start`, :attr:`~range.stop`" -" and :attr:`~range.step` attributes, for example ``range(0) == range(2, 1, " -"3)`` or ``range(0, 3, 2) == range(0, 4, 2)``.)" -msgstr "" - -#: ../../library/stdtypes.rst:1526 -msgid "" -"Implement the Sequence ABC. Support slicing and negative indices. Test " -":class:`int` objects for membership in constant time instead of iterating " -"through all items." -msgstr "" - -#: ../../library/stdtypes.rst:1532 -msgid "" -"Define '==' and '!=' to compare range objects based on the sequence of " -"values they define (instead of comparing based on object identity)." -msgstr "" - -#: ../../library/stdtypes.rst:1537 -msgid "" -"Added the :attr:`~range.start`, :attr:`~range.stop` and :attr:`~range.step` " -"attributes." -msgstr "" - -#: ../../library/stdtypes.rst:1542 -msgid "" -"The `linspace recipe `_ shows how to implement a lazy version of range " -"suitable for floating-point applications." -msgstr "" - -#: ../../library/stdtypes.rst:1554 -msgid "Text and Binary Sequence Type Methods Summary" -msgstr "" - -#: ../../library/stdtypes.rst:1555 -msgid "" -"The following table summarizes the text and binary sequence types methods by" -" category." -msgstr "" - -#: ../../library/stdtypes.rst:1560 -msgid "Category" -msgstr "" - -#: ../../library/stdtypes.rst:1560 -msgid ":class:`str` methods" -msgstr "" - -#: ../../library/stdtypes.rst:1560 -msgid ":class:`bytes` and :class:`bytearray` methods" -msgstr "" - -#: ../../library/stdtypes.rst:1562 -msgid "Formatting" -msgstr "" - -#: ../../library/stdtypes.rst:1562 -msgid ":meth:`str.format`" -msgstr "" - -#: ../../library/stdtypes.rst:1564 -msgid ":meth:`str.format_map`" -msgstr "" - -#: ../../library/stdtypes.rst:1566 -msgid ":ref:`f-strings`" -msgstr ":ref:`f-strings`" - -#: ../../library/stdtypes.rst:1568 -msgid ":ref:`old-string-formatting`" -msgstr ":ref:`old-string-formatting`" - -#: ../../library/stdtypes.rst:1568 -msgid ":ref:`bytes-formatting`" -msgstr "" - -#: ../../library/stdtypes.rst:1570 -msgid "Searching and Replacing" -msgstr "" - -#: ../../library/stdtypes.rst:1570 -msgid ":meth:`str.find`" -msgstr "" - -#: ../../library/stdtypes.rst:1570 -msgid ":meth:`str.rfind`" -msgstr "" - -#: ../../library/stdtypes.rst:1570 -msgid ":meth:`bytes.find`" -msgstr "" - -#: ../../library/stdtypes.rst:1570 -msgid ":meth:`bytes.rfind`" -msgstr "" - -#: ../../library/stdtypes.rst:1572 -msgid ":meth:`str.index`" -msgstr "" - -#: ../../library/stdtypes.rst:1572 -msgid ":meth:`str.rindex`" -msgstr "" - -#: ../../library/stdtypes.rst:1572 -msgid ":meth:`bytes.index`" -msgstr "" - -#: ../../library/stdtypes.rst:1572 -msgid ":meth:`bytes.rindex`" -msgstr "" - -#: ../../library/stdtypes.rst:1574 -msgid ":meth:`str.startswith`" -msgstr "" - -#: ../../library/stdtypes.rst:1574 -msgid ":meth:`bytes.startswith`" -msgstr "" - -#: ../../library/stdtypes.rst:1576 -msgid ":meth:`str.endswith`" -msgstr "" - -#: ../../library/stdtypes.rst:1576 -msgid ":meth:`bytes.endswith`" -msgstr "" - -#: ../../library/stdtypes.rst:1578 -msgid ":meth:`str.count`" -msgstr "" - -#: ../../library/stdtypes.rst:1578 -msgid ":meth:`bytes.count`" -msgstr "" - -#: ../../library/stdtypes.rst:1580 -msgid ":meth:`str.replace`" -msgstr "" - -#: ../../library/stdtypes.rst:1580 -msgid ":meth:`bytes.replace`" -msgstr "" - -#: ../../library/stdtypes.rst:1582 -msgid "Splitting and Joining" -msgstr "" - -#: ../../library/stdtypes.rst:1582 -msgid ":meth:`str.split`" -msgstr "" - -#: ../../library/stdtypes.rst:1582 -msgid ":meth:`str.rsplit`" -msgstr "" - -#: ../../library/stdtypes.rst:1582 -msgid ":meth:`bytes.split`" -msgstr "" - -#: ../../library/stdtypes.rst:1582 -msgid ":meth:`bytes.rsplit`" -msgstr "" - -#: ../../library/stdtypes.rst:1584 -msgid ":meth:`str.splitlines`" -msgstr "" - -#: ../../library/stdtypes.rst:1584 -msgid ":meth:`bytes.splitlines`" -msgstr "" - -#: ../../library/stdtypes.rst:1586 -msgid ":meth:`str.partition`" -msgstr "" - -#: ../../library/stdtypes.rst:1586 -msgid ":meth:`bytes.partition`" -msgstr "" - -#: ../../library/stdtypes.rst:1588 -msgid ":meth:`str.rpartition`" -msgstr "" - -#: ../../library/stdtypes.rst:1588 -msgid ":meth:`bytes.rpartition`" -msgstr "" - -#: ../../library/stdtypes.rst:1590 -msgid ":meth:`str.join`" -msgstr "" - -#: ../../library/stdtypes.rst:1590 -msgid ":meth:`bytes.join`" -msgstr "" - -#: ../../library/stdtypes.rst:1592 -msgid "String Classification" -msgstr "" - -#: ../../library/stdtypes.rst:1592 -msgid ":meth:`str.isalpha`" -msgstr "" - -#: ../../library/stdtypes.rst:1592 -msgid ":meth:`bytes.isalpha`" -msgstr "" - -#: ../../library/stdtypes.rst:1594 -msgid ":meth:`str.isdecimal`" -msgstr "" - -#: ../../library/stdtypes.rst:1596 -msgid ":meth:`str.isdigit`" -msgstr "" - -#: ../../library/stdtypes.rst:1596 -msgid ":meth:`bytes.isdigit`" -msgstr "" - -#: ../../library/stdtypes.rst:1598 -msgid ":meth:`str.isnumeric`" -msgstr "" - -#: ../../library/stdtypes.rst:1600 -msgid ":meth:`str.isalnum`" -msgstr "" - -#: ../../library/stdtypes.rst:1600 -msgid ":meth:`bytes.isalnum`" -msgstr "" - -#: ../../library/stdtypes.rst:1602 -msgid ":meth:`str.isidentifier`" -msgstr "" - -#: ../../library/stdtypes.rst:1604 -msgid ":meth:`str.islower`" -msgstr "" - -#: ../../library/stdtypes.rst:1604 -msgid ":meth:`bytes.islower`" -msgstr "" - -#: ../../library/stdtypes.rst:1606 -msgid ":meth:`str.isupper`" -msgstr "" - -#: ../../library/stdtypes.rst:1606 -msgid ":meth:`bytes.isupper`" -msgstr "" - -#: ../../library/stdtypes.rst:1608 -msgid ":meth:`str.istitle`" -msgstr "" - -#: ../../library/stdtypes.rst:1608 -msgid ":meth:`bytes.istitle`" -msgstr "" - -#: ../../library/stdtypes.rst:1610 -msgid ":meth:`str.isspace`" -msgstr "" - -#: ../../library/stdtypes.rst:1610 -msgid ":meth:`bytes.isspace`" -msgstr "" - -#: ../../library/stdtypes.rst:1612 -msgid ":meth:`str.isprintable`" -msgstr "" - -#: ../../library/stdtypes.rst:1614 -msgid "Case Manipulation" -msgstr "" - -#: ../../library/stdtypes.rst:1614 -msgid ":meth:`str.lower`" -msgstr "" - -#: ../../library/stdtypes.rst:1614 -msgid ":meth:`bytes.lower`" -msgstr "" - -#: ../../library/stdtypes.rst:1616 -msgid ":meth:`str.upper`" -msgstr "" - -#: ../../library/stdtypes.rst:1616 -msgid ":meth:`bytes.upper`" -msgstr "" - -#: ../../library/stdtypes.rst:1618 -msgid ":meth:`str.casefold`" -msgstr "" - -#: ../../library/stdtypes.rst:1620 -msgid ":meth:`str.capitalize`" -msgstr "" - -#: ../../library/stdtypes.rst:1620 -msgid ":meth:`bytes.capitalize`" -msgstr "" - -#: ../../library/stdtypes.rst:1622 -msgid ":meth:`str.title`" -msgstr "" - -#: ../../library/stdtypes.rst:1622 -msgid ":meth:`bytes.title`" -msgstr "" - -#: ../../library/stdtypes.rst:1624 -msgid ":meth:`str.swapcase`" -msgstr "" - -#: ../../library/stdtypes.rst:1624 -msgid ":meth:`bytes.swapcase`" -msgstr "" - -#: ../../library/stdtypes.rst:1626 -msgid "Padding and Stripping" -msgstr "" - -#: ../../library/stdtypes.rst:1626 -msgid ":meth:`str.ljust`" -msgstr "" - -#: ../../library/stdtypes.rst:1626 -msgid ":meth:`str.rjust`" -msgstr "" - -#: ../../library/stdtypes.rst:1626 -msgid ":meth:`bytes.ljust`" -msgstr "" - -#: ../../library/stdtypes.rst:1626 -msgid ":meth:`bytes.rjust`" -msgstr "" - -#: ../../library/stdtypes.rst:1628 -msgid ":meth:`str.center`" -msgstr "" - -#: ../../library/stdtypes.rst:1628 -msgid ":meth:`bytes.center`" -msgstr "" - -#: ../../library/stdtypes.rst:1630 -msgid ":meth:`str.expandtabs`" -msgstr "" - -#: ../../library/stdtypes.rst:1630 -msgid ":meth:`bytes.expandtabs`" -msgstr "" - -#: ../../library/stdtypes.rst:1632 -msgid ":meth:`str.strip`" -msgstr "" - -#: ../../library/stdtypes.rst:1632 -msgid ":meth:`bytes.strip`" -msgstr "" - -#: ../../library/stdtypes.rst:1634 -msgid ":meth:`str.lstrip`" -msgstr "" - -#: ../../library/stdtypes.rst:1634 -msgid ":meth:`str.rstrip`" -msgstr "" - -#: ../../library/stdtypes.rst:1634 -msgid ":meth:`bytes.lstrip`" -msgstr "" - -#: ../../library/stdtypes.rst:1634 -msgid ":meth:`bytes.rstrip`" -msgstr "" - -#: ../../library/stdtypes.rst:1636 -msgid "Translation and Encoding" -msgstr "" - -#: ../../library/stdtypes.rst:1636 -msgid ":meth:`str.translate`" -msgstr "" - -#: ../../library/stdtypes.rst:1636 -msgid ":meth:`bytes.translate`" -msgstr "" - -#: ../../library/stdtypes.rst:1638 -msgid ":meth:`str.maketrans`" -msgstr "" - -#: ../../library/stdtypes.rst:1638 -msgid ":meth:`bytes.maketrans`" -msgstr "" - -#: ../../library/stdtypes.rst:1640 -msgid ":meth:`str.encode`" -msgstr "" - -#: ../../library/stdtypes.rst:1642 -msgid ":meth:`bytes.decode`" -msgstr "" - -#: ../../library/stdtypes.rst:1648 -msgid "Text Sequence Type --- :class:`str`" -msgstr "" - -#: ../../library/stdtypes.rst:1650 -msgid "" -"Textual data in Python is handled with :class:`str` objects, or " -":dfn:`strings`. Strings are immutable :ref:`sequences ` of Unicode" -" code points. String literals are written in a variety of ways:" -msgstr "" - -#: ../../library/stdtypes.rst:1655 -msgid "Single quotes: ``'allows embedded \"double\" quotes'``" -msgstr "" - -#: ../../library/stdtypes.rst:1656 -msgid "Double quotes: ``\"allows embedded 'single' quotes\"``" -msgstr "" - -#: ../../library/stdtypes.rst:1657 -msgid "Triple quoted: ``'''Three single quotes'''``, ``\"\"\"Three double quotes\"\"\"``" -msgstr "" - -#: ../../library/stdtypes.rst:1659 -msgid "" -"Triple quoted strings may span multiple lines - all associated whitespace " -"will be included in the string literal." -msgstr "" - -#: ../../library/stdtypes.rst:1662 -msgid "" -"String literals that are part of a single expression and have only " -"whitespace between them will be implicitly converted to a single string " -"literal. That is, ``(\"spam \" \"eggs\") == \"spam eggs\"``." -msgstr "" - -#: ../../library/stdtypes.rst:1666 -msgid "" -"See :ref:`strings` for more about the various forms of string literal, " -"including supported :ref:`escape sequences `, and the " -"``r`` (\"raw\") prefix that disables most escape sequence processing." -msgstr "" - -#: ../../library/stdtypes.rst:1670 -msgid "" -"Strings may also be created from other objects using the :class:`str` " -"constructor." -msgstr "" - -#: ../../library/stdtypes.rst:1673 -msgid "" -"Since there is no separate \"character\" type, indexing a string produces " -"strings of length 1. That is, for a non-empty string *s*, ``s[0] == " -"s[0:1]``." -msgstr "" - -#: ../../library/stdtypes.rst:1679 -msgid "" -"There is also no mutable string type, but :meth:`str.join` or " -":class:`io.StringIO` can be used to efficiently construct strings from " -"multiple fragments." -msgstr "" - -#: ../../library/stdtypes.rst:1683 -msgid "" -"For backwards compatibility with the Python 2 series, the ``u`` prefix is " -"once again permitted on string literals. It has no effect on the meaning of " -"string literals and cannot be combined with the ``r`` prefix." -msgstr "" - -#: ../../library/stdtypes.rst:1695 -msgid "" -"Return a :ref:`string ` version of *object*. If *object* is not " -"provided, returns the empty string. Otherwise, the behavior of ``str()`` " -"depends on whether *encoding* or *errors* is given, as follows." -msgstr "" - -#: ../../library/stdtypes.rst:1699 -msgid "" -"If neither *encoding* nor *errors* is given, ``str(object)`` returns " -":meth:`type(object).__str__(object) `, which is the " -"\"informal\" or nicely printable string representation of *object*. For " -"string objects, this is the string itself. If *object* does not have a " -":meth:`~object.__str__` method, then :func:`str` falls back to returning " -":func:`repr(object) `." -msgstr "" - -#: ../../library/stdtypes.rst:1711 -msgid "" -"If at least one of *encoding* or *errors* is given, *object* should be a " -":term:`bytes-like object` (e.g. :class:`bytes` or :class:`bytearray`). In " -"this case, if *object* is a :class:`bytes` (or :class:`bytearray`) object, " -"then ``str(bytes, encoding, errors)`` is equivalent to " -":meth:`bytes.decode(encoding, errors) `. Otherwise, the bytes" -" object underlying the buffer object is obtained before calling " -":meth:`bytes.decode`. See :ref:`binaryseq` and :ref:`bufferobjects` for " -"information on buffer objects." -msgstr "" - -#: ../../library/stdtypes.rst:1720 -msgid "" -"Passing a :class:`bytes` object to :func:`str` without the *encoding* or " -"*errors* arguments falls under the first case of returning the informal " -"string representation (see also the :option:`-b` command-line option to " -"Python). For example::" -msgstr "" - -#: ../../library/stdtypes.rst:1725 -msgid "" -">>> str(b'Zoot!')\n" -"\"b'Zoot!'\"" -msgstr "" - -#: ../../library/stdtypes.rst:1728 -msgid "" -"For more information on the ``str`` class and its methods, see " -":ref:`textseq` and the :ref:`string-methods` section below. To output " -"formatted strings, see the :ref:`f-strings` and :ref:`formatstrings` " -"sections. In addition, see the :ref:`stringservices` section." -msgstr "" - -#: ../../library/stdtypes.rst:1740 -msgid "String Methods" -msgstr "" - -#: ../../library/stdtypes.rst:1745 -msgid "" -"Strings implement all of the :ref:`common ` sequence " -"operations, along with the additional methods described below." -msgstr "" - -#: ../../library/stdtypes.rst:1748 -msgid "" -"Strings also support two styles of string formatting, one providing a large " -"degree of flexibility and customization (see :meth:`str.format`, " -":ref:`formatstrings` and :ref:`string-formatting`) and the other based on C " -"``printf`` style formatting that handles a narrower range of types and is " -"slightly harder to use correctly, but is often faster for the cases it can " -"handle (:ref:`old-string-formatting`)." -msgstr "" - -#: ../../library/stdtypes.rst:1755 -msgid "" -"The :ref:`textservices` section of the standard library covers a number of " -"other modules that provide various text related utilities (including regular" -" expression support in the :mod:`re` module)." -msgstr "" - -#: ../../library/stdtypes.rst:1761 -msgid "" -"Return a copy of the string with its first character capitalized and the " -"rest lowercased." -msgstr "" - -#: ../../library/stdtypes.rst:1764 -msgid "" -"The first character is now put into titlecase rather than uppercase. This " -"means that characters like digraphs will only have their first letter " -"capitalized, instead of the full character." -msgstr "" - -#: ../../library/stdtypes.rst:1771 -msgid "" -"Return a casefolded copy of the string. Casefolded strings may be used for " -"caseless matching." -msgstr "" - -#: ../../library/stdtypes.rst:1774 -msgid "" -"Casefolding is similar to lowercasing but more aggressive because it is " -"intended to remove all case distinctions in a string. For example, the " -"German lowercase letter ``'ß'`` is equivalent to ``\"ss\"``. Since it is " -"already lowercase, :meth:`lower` would do nothing to ``'ß'``; " -":meth:`casefold` converts it to ``\"ss\"``." -msgstr "" - -#: ../../library/stdtypes.rst:1780 -msgid "" -"The casefolding algorithm is `described in section 3.13 'Default Case " -"Folding' of the Unicode Standard " -"`__." -msgstr "" - -#: ../../library/stdtypes.rst:1789 -msgid "" -"Return centered in a string of length *width*. Padding is done using the " -"specified *fillchar* (default is an ASCII space). The original string is " -"returned if *width* is less than or equal to ``len(s)``." -msgstr "" - -#: ../../library/stdtypes.rst:1797 -msgid "" -"Return the number of non-overlapping occurrences of substring *sub* in the " -"range [*start*, *end*]. Optional arguments *start* and *end* are " -"interpreted as in slice notation." -msgstr "" - -#: ../../library/stdtypes.rst:1801 -msgid "" -"If *sub* is empty, returns the number of empty strings between characters " -"which is the length of the string plus one." -msgstr "" - -#: ../../library/stdtypes.rst:1807 -msgid "Return the string encoded to :class:`bytes`." -msgstr "" - -#: ../../library/stdtypes.rst:1809 ../../library/stdtypes.rst:3146 -msgid "" -"*encoding* defaults to ``'utf-8'``; see :ref:`standard-encodings` for " -"possible values." -msgstr "" - -#: ../../library/stdtypes.rst:1812 -msgid "" -"*errors* controls how encoding errors are handled. If ``'strict'`` (the " -"default), a :exc:`UnicodeError` exception is raised. Other possible values " -"are ``'ignore'``, ``'replace'``, ``'xmlcharrefreplace'``, " -"``'backslashreplace'`` and any other name registered via " -":func:`codecs.register_error`. See :ref:`error-handlers` for details." -msgstr "" - -#: ../../library/stdtypes.rst:1819 -msgid "" -"For performance reasons, the value of *errors* is not checked for validity " -"unless an encoding error actually occurs, :ref:`devmode` is enabled or a " -":ref:`debug build ` is used." -msgstr "" - -#: ../../library/stdtypes.rst:1824 ../../library/stdtypes.rst:3165 -msgid "Added support for keyword arguments." -msgstr "" - -#: ../../library/stdtypes.rst:1827 ../../library/stdtypes.rst:3168 -msgid "" -"The value of the *errors* argument is now checked in :ref:`devmode` and in " -":ref:`debug mode `." -msgstr "" - -#: ../../library/stdtypes.rst:1834 -msgid "" -"Return ``True`` if the string ends with the specified *suffix*, otherwise " -"return ``False``. *suffix* can also be a tuple of suffixes to look for. " -"With optional *start*, test beginning at that position. With optional " -"*end*, stop comparing at that position." -msgstr "" - -#: ../../library/stdtypes.rst:1842 -msgid "" -"Return a copy of the string where all tab characters are replaced by one or " -"more spaces, depending on the current column and the given tab size. Tab " -"positions occur every *tabsize* characters (default is 8, giving tab " -"positions at columns 0, 8, 16 and so on). To expand the string, the current" -" column is set to zero and the string is examined character by character. " -"If the character is a tab (``\\t``), one or more space characters are " -"inserted in the result until the current column is equal to the next tab " -"position. (The tab character itself is not copied.) If the character is a " -"newline (``\\n``) or return (``\\r``), it is copied and the current column " -"is reset to zero. Any other character is copied unchanged and the current " -"column is incremented by one regardless of how the character is represented " -"when printed." -msgstr "" - -#: ../../library/stdtypes.rst:1863 -msgid "" -"Return the lowest index in the string where substring *sub* is found within " -"the slice ``s[start:end]``. Optional arguments *start* and *end* are " -"interpreted as in slice notation. Return ``-1`` if *sub* is not found." -msgstr "" - -#: ../../library/stdtypes.rst:1869 -msgid "" -"The :meth:`~str.find` method should be used only if you need to know the " -"position of *sub*. To check if *sub* is a substring or not, use the " -":keyword:`in` operator::" -msgstr "" - -#: ../../library/stdtypes.rst:1873 -msgid "" -">>> 'Py' in 'Python'\n" -"True" -msgstr "" - -#: ../../library/stdtypes.rst:1879 -msgid "" -"Perform a string formatting operation. The string on which this method is " -"called can contain literal text or replacement fields delimited by braces " -"``{}``. Each replacement field contains either the numeric index of a " -"positional argument, or the name of a keyword argument. Returns a copy of " -"the string where each replacement field is replaced with the string value of" -" the corresponding argument." -msgstr "" - -#: ../../library/stdtypes.rst:1889 -msgid "" -"See :ref:`formatstrings` for a description of the various formatting options" -" that can be specified in format strings." -msgstr "" - -#: ../../library/stdtypes.rst:1893 -msgid "" -"When formatting a number (:class:`int`, :class:`float`, :class:`complex`, " -":class:`decimal.Decimal` and subclasses) with the ``n`` type (ex: " -"``'{:n}'.format(1234)``), the function temporarily sets the ``LC_CTYPE`` " -"locale to the ``LC_NUMERIC`` locale to decode ``decimal_point`` and " -"``thousands_sep`` fields of :c:func:`localeconv` if they are non-ASCII or " -"longer than 1 byte, and the ``LC_NUMERIC`` locale is different than the " -"``LC_CTYPE`` locale. This temporary change affects other threads." -msgstr "" - -#: ../../library/stdtypes.rst:1902 -msgid "" -"When formatting a number with the ``n`` type, the function sets temporarily " -"the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` locale in some cases." -msgstr "" - -#: ../../library/stdtypes.rst:1910 -msgid "" -"Similar to ``str.format(**mapping)``, except that ``mapping`` is used " -"directly and not copied to a :class:`dict`. This is useful if for example " -"``mapping`` is a dict subclass:" -msgstr "" - -#: ../../library/stdtypes.rst:1926 -msgid "" -"Like :meth:`~str.find`, but raise :exc:`ValueError` when the substring is " -"not found." -msgstr "" - -#: ../../library/stdtypes.rst:1932 -msgid "" -"Return ``True`` if all characters in the string are alphanumeric and there " -"is at least one character, ``False`` otherwise. A character ``c`` is " -"alphanumeric if one of the following returns ``True``: ``c.isalpha()``, " -"``c.isdecimal()``, ``c.isdigit()``, or ``c.isnumeric()``." -msgstr "" - -#: ../../library/stdtypes.rst:1940 -msgid "" -"Return ``True`` if all characters in the string are alphabetic and there is " -"at least one character, ``False`` otherwise. Alphabetic characters are " -"those characters defined in the Unicode character database as \"Letter\", " -"i.e., those with general category property being one of \"Lm\", \"Lt\", " -"\"Lu\", \"Ll\", or \"Lo\". Note that this is different from the `Alphabetic" -" property defined in the section 4.10 'Letters, Alphabetic, and Ideographic'" -" of the Unicode Standard " -"`_." -msgstr "" - -#: ../../library/stdtypes.rst:1951 -msgid "" -"Return ``True`` if the string is empty or all characters in the string are " -"ASCII, ``False`` otherwise. ASCII characters have code points in the range " -"U+0000-U+007F." -msgstr "" - -#: ../../library/stdtypes.rst:1960 -msgid "" -"Return ``True`` if all characters in the string are decimal characters and " -"there is at least one character, ``False`` otherwise. Decimal characters are" -" those that can be used to form numbers in base 10, e.g. U+0660, ARABIC-" -"INDIC DIGIT ZERO. Formally a decimal character is a character in the " -"Unicode General Category \"Nd\"." -msgstr "" - -#: ../../library/stdtypes.rst:1970 -msgid "" -"Return ``True`` if all characters in the string are digits and there is at " -"least one character, ``False`` otherwise. Digits include decimal characters" -" and digits that need special handling, such as the compatibility " -"superscript digits. This covers digits which cannot be used to form numbers " -"in base 10, like the Kharosthi numbers. Formally, a digit is a character " -"that has the property value Numeric_Type=Digit or Numeric_Type=Decimal." -msgstr "" - -#: ../../library/stdtypes.rst:1980 -msgid "" -"Return ``True`` if the string is a valid identifier according to the " -"language definition, section :ref:`identifiers`." -msgstr "" - -#: ../../library/stdtypes.rst:1983 -msgid "" -":func:`keyword.iskeyword` can be used to test whether string ``s`` is a " -"reserved identifier, such as :keyword:`def` and :keyword:`class`." -msgstr "" - -#: ../../library/stdtypes.rst:1986 -msgid "Example: ::" -msgstr "Contoh: ::" - -#: ../../library/stdtypes.rst:1989 -msgid "" -">>> from keyword import iskeyword\n" -"\n" -">>> 'hello'.isidentifier(), iskeyword('hello')\n" -"(True, False)\n" -">>> 'def'.isidentifier(), iskeyword('def')\n" -"(True, True)" -msgstr "" - -#: ../../library/stdtypes.rst:1999 -msgid "" -"Return ``True`` if all cased characters [4]_ in the string are lowercase and" -" there is at least one cased character, ``False`` otherwise." -msgstr "" - -#: ../../library/stdtypes.rst:2005 -msgid "" -"Return ``True`` if all characters in the string are numeric characters, and " -"there is at least one character, ``False`` otherwise. Numeric characters " -"include digit characters, and all characters that have the Unicode numeric " -"value property, e.g. U+2155, VULGAR FRACTION ONE FIFTH. Formally, numeric " -"characters are those with the property value Numeric_Type=Digit, " -"Numeric_Type=Decimal or Numeric_Type=Numeric." -msgstr "" - -#: ../../library/stdtypes.rst:2015 -msgid "" -"Return ``True`` if all characters in the string are printable, ``False`` if " -"it contains at least one non-printable character." -msgstr "" - -#: ../../library/stdtypes.rst:2018 -msgid "" -"Here \"printable\" means the character is suitable for :func:`repr` to use " -"in its output; \"non-printable\" means that :func:`repr` on built-in types " -"will hex-escape the character. It has no bearing on the handling of strings" -" written to :data:`sys.stdout` or :data:`sys.stderr`." -msgstr "" - -#: ../../library/stdtypes.rst:2023 -msgid "" -"The printable characters are those which in the Unicode character database " -"(see :mod:`unicodedata`) have a general category in group Letter, Mark, " -"Number, Punctuation, or Symbol (L, M, N, P, or S); plus the ASCII space " -"0x20. Nonprintable characters are those in group Separator or Other (Z or " -"C), except the ASCII space." -msgstr "" - -#: ../../library/stdtypes.rst:2032 -msgid "" -"Return ``True`` if there are only whitespace characters in the string and " -"there is at least one character, ``False`` otherwise." -msgstr "" - -#: ../../library/stdtypes.rst:2035 -msgid "" -"A character is *whitespace* if in the Unicode character database (see " -":mod:`unicodedata`), either its general category is ``Zs`` (\"Separator, " -"space\"), or its bidirectional class is one of ``WS``, ``B``, or ``S``." -msgstr "" - -#: ../../library/stdtypes.rst:2043 -msgid "" -"Return ``True`` if the string is a titlecased string and there is at least " -"one character, for example uppercase characters may only follow uncased " -"characters and lowercase characters only cased ones. Return ``False`` " -"otherwise." -msgstr "" - -#: ../../library/stdtypes.rst:2050 -msgid "" -"Return ``True`` if all cased characters [4]_ in the string are uppercase and" -" there is at least one cased character, ``False`` otherwise." -msgstr "" - -#: ../../library/stdtypes.rst:2068 -msgid "" -"Return a string which is the concatenation of the strings in *iterable*. A " -":exc:`TypeError` will be raised if there are any non-string values in " -"*iterable*, including :class:`bytes` objects. The separator between " -"elements is the string providing this method." -msgstr "" - -#: ../../library/stdtypes.rst:2076 -msgid "" -"Return the string left justified in a string of length *width*. Padding is " -"done using the specified *fillchar* (default is an ASCII space). The " -"original string is returned if *width* is less than or equal to ``len(s)``." -msgstr "" - -#: ../../library/stdtypes.rst:2083 -msgid "" -"Return a copy of the string with all the cased characters [4]_ converted to " -"lowercase." -msgstr "" - -#: ../../library/stdtypes.rst:2086 -msgid "" -"The lowercasing algorithm used is `described in section 3.13 'Default Case " -"Folding' of the Unicode Standard " -"`__." -msgstr "" - -#: ../../library/stdtypes.rst:2093 -msgid "" -"Return a copy of the string with leading characters removed. The *chars* " -"argument is a string specifying the set of characters to be removed. If " -"omitted or ``None``, the *chars* argument defaults to removing whitespace. " -"The *chars* argument is not a prefix; rather, all combinations of its values" -" are stripped::" -msgstr "" - -#: ../../library/stdtypes.rst:2098 -msgid "" -">>> ' spacious '.lstrip()\n" -"'spacious '\n" -">>> 'www.example.com'.lstrip('cmowz.')\n" -"'example.com'" -msgstr "" - -#: ../../library/stdtypes.rst:2103 -msgid "" -"See :meth:`str.removeprefix` for a method that will remove a single prefix " -"string rather than all of a set of characters. For example::" -msgstr "" - -#: ../../library/stdtypes.rst:2106 -msgid "" -">>> 'Arthur: three!'.lstrip('Arthur: ')\n" -"'ee!'\n" -">>> 'Arthur: three!'.removeprefix('Arthur: ')\n" -"'three!'" -msgstr "" - -#: ../../library/stdtypes.rst:2114 -msgid "" -"This static method returns a translation table usable for " -":meth:`str.translate`." -msgstr "" - -#: ../../library/stdtypes.rst:2116 -msgid "" -"If there is only one argument, it must be a dictionary mapping Unicode " -"ordinals (integers) or characters (strings of length 1) to Unicode ordinals," -" strings (of arbitrary lengths) or ``None``. Character keys will then be " -"converted to ordinals." -msgstr "" - -#: ../../library/stdtypes.rst:2121 -msgid "" -"If there are two arguments, they must be strings of equal length, and in the" -" resulting dictionary, each character in x will be mapped to the character " -"at the same position in y. If there is a third argument, it must be a " -"string, whose characters will be mapped to ``None`` in the result." -msgstr "" - -#: ../../library/stdtypes.rst:2129 -msgid "" -"Split the string at the first occurrence of *sep*, and return a 3-tuple " -"containing the part before the separator, the separator itself, and the part" -" after the separator. If the separator is not found, return a 3-tuple " -"containing the string itself, followed by two empty strings." -msgstr "" - -#: ../../library/stdtypes.rst:2137 -msgid "" -"If the string starts with the *prefix* string, return " -"``string[len(prefix):]``. Otherwise, return a copy of the original string::" -msgstr "" - -#: ../../library/stdtypes.rst:2141 -msgid "" -">>> 'TestHook'.removeprefix('Test')\n" -"'Hook'\n" -">>> 'BaseTestCase'.removeprefix('Test')\n" -"'BaseTestCase'" -msgstr "" - -#: ../../library/stdtypes.rst:2151 -msgid "" -"If the string ends with the *suffix* string and that *suffix* is not empty, " -"return ``string[:-len(suffix)]``. Otherwise, return a copy of the original " -"string::" -msgstr "" - -#: ../../library/stdtypes.rst:2155 -msgid "" -">>> 'MiscTests'.removesuffix('Tests')\n" -"'Misc'\n" -">>> 'TmpDirMixin'.removesuffix('Tests')\n" -"'TmpDirMixin'" -msgstr "" - -#: ../../library/stdtypes.rst:2165 -msgid "" -"Return a copy of the string with all occurrences of substring *old* replaced" -" by *new*. If *count* is given, only the first *count* occurrences are " -"replaced. If *count* is not specified or ``-1``, then all occurrences are " -"replaced." -msgstr "" - -#: ../../library/stdtypes.rst:2169 -msgid "*count* is now supported as a keyword argument." -msgstr "" - -#: ../../library/stdtypes.rst:2175 -msgid "" -"Return the highest index in the string where substring *sub* is found, such " -"that *sub* is contained within ``s[start:end]``. Optional arguments *start*" -" and *end* are interpreted as in slice notation. Return ``-1`` on failure." -msgstr "" - -#: ../../library/stdtypes.rst:2182 -msgid "" -"Like :meth:`rfind` but raises :exc:`ValueError` when the substring *sub* is " -"not found." -msgstr "" - -#: ../../library/stdtypes.rst:2188 -msgid "" -"Return the string right justified in a string of length *width*. Padding is " -"done using the specified *fillchar* (default is an ASCII space). The " -"original string is returned if *width* is less than or equal to ``len(s)``." -msgstr "" - -#: ../../library/stdtypes.rst:2195 -msgid "" -"Split the string at the last occurrence of *sep*, and return a 3-tuple " -"containing the part before the separator, the separator itself, and the part" -" after the separator. If the separator is not found, return a 3-tuple " -"containing two empty strings, followed by the string itself." -msgstr "" - -#: ../../library/stdtypes.rst:2203 -msgid "" -"Return a list of the words in the string, using *sep* as the delimiter " -"string. If *maxsplit* is given, at most *maxsplit* splits are done, the " -"*rightmost* ones. If *sep* is not specified or ``None``, any whitespace " -"string is a separator. Except for splitting from the right, :meth:`rsplit` " -"behaves like :meth:`split` which is described in detail below." -msgstr "" - -#: ../../library/stdtypes.rst:2212 -msgid "" -"Return a copy of the string with trailing characters removed. The *chars* " -"argument is a string specifying the set of characters to be removed. If " -"omitted or ``None``, the *chars* argument defaults to removing whitespace. " -"The *chars* argument is not a suffix; rather, all combinations of its values" -" are stripped::" -msgstr "" - -#: ../../library/stdtypes.rst:2217 -msgid "" -">>> ' spacious '.rstrip()\n" -"' spacious'\n" -">>> 'mississippi'.rstrip('ipz')\n" -"'mississ'" -msgstr "" - -#: ../../library/stdtypes.rst:2222 -msgid "" -"See :meth:`str.removesuffix` for a method that will remove a single suffix " -"string rather than all of a set of characters. For example::" -msgstr "" - -#: ../../library/stdtypes.rst:2225 -msgid "" -">>> 'Monty Python'.rstrip(' Python')\n" -"'M'\n" -">>> 'Monty Python'.removesuffix(' Python')\n" -"'Monty'" -msgstr "" - -#: ../../library/stdtypes.rst:2232 -msgid "" -"Return a list of the words in the string, using *sep* as the delimiter " -"string. If *maxsplit* is given, at most *maxsplit* splits are done (thus, " -"the list will have at most ``maxsplit+1`` elements). If *maxsplit* is not " -"specified or ``-1``, then there is no limit on the number of splits (all " -"possible splits are made)." -msgstr "" - -#: ../../library/stdtypes.rst:2238 -msgid "" -"If *sep* is given, consecutive delimiters are not grouped together and are " -"deemed to delimit empty strings (for example, ``'1,,2'.split(',')`` returns " -"``['1', '', '2']``). The *sep* argument may consist of multiple characters " -"as a single delimiter (to split with multiple delimiters, use " -":func:`re.split`). Splitting an empty string with a specified separator " -"returns ``['']``." -msgstr "" - -#: ../../library/stdtypes.rst:2245 ../../library/stdtypes.rst:2263 -#: ../../library/stdtypes.rst:2315 ../../library/stdtypes.rst:2383 -#: ../../library/stdtypes.rst:2451 ../../library/stdtypes.rst:3483 -#: ../../library/stdtypes.rst:3501 ../../library/stdtypes.rst:3592 -#: ../../library/stdtypes.rst:3608 ../../library/stdtypes.rst:3633 -#: ../../library/stdtypes.rst:3647 ../../library/stdtypes.rst:3675 -#: ../../library/stdtypes.rst:3689 ../../library/stdtypes.rst:3707 -#: ../../library/stdtypes.rst:3734 ../../library/stdtypes.rst:3757 -#: ../../library/stdtypes.rst:3784 ../../library/stdtypes.rst:3826 -#: ../../library/stdtypes.rst:3850 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../library/stdtypes.rst:2247 -msgid "" -">>> '1,2,3'.split(',')\n" -"['1', '2', '3']\n" -">>> '1,2,3'.split(',', maxsplit=1)\n" -"['1', '2,3']\n" -">>> '1,2,,3,'.split(',')\n" -"['1', '2', '', '3', '']\n" -">>> '1<>2<>3<4'.split('<>')\n" -"['1', '2', '3<4']" -msgstr "" - -#: ../../library/stdtypes.rst:2256 -msgid "" -"If *sep* is not specified or is ``None``, a different splitting algorithm is" -" applied: runs of consecutive whitespace are regarded as a single separator," -" and the result will contain no empty strings at the start or end if the " -"string has leading or trailing whitespace. Consequently, splitting an empty" -" string or a string consisting of just whitespace with a ``None`` separator " -"returns ``[]``." -msgstr "" - -#: ../../library/stdtypes.rst:2265 -msgid "" -">>> '1 2 3'.split()\n" -"['1', '2', '3']\n" -">>> '1 2 3'.split(maxsplit=1)\n" -"['1', '2 3']\n" -">>> ' 1 2 3 '.split()\n" -"['1', '2', '3']" -msgstr "" - -#: ../../library/stdtypes.rst:2278 -msgid "" -"Return a list of the lines in the string, breaking at line boundaries. Line" -" breaks are not included in the resulting list unless *keepends* is given " -"and true." -msgstr "" - -#: ../../library/stdtypes.rst:2282 -msgid "" -"This method splits on the following line boundaries. In particular, the " -"boundaries are a superset of :term:`universal newlines`." -msgstr "" - -#: ../../library/stdtypes.rst:2286 -msgid "Representation" -msgstr "" - -#: ../../library/stdtypes.rst:2286 -msgid "Description" -msgstr "Deskripsi" - -#: ../../library/stdtypes.rst:2288 -msgid "``\\n``" -msgstr "``\\n``" - -#: ../../library/stdtypes.rst:2288 -msgid "Line Feed" -msgstr "" - -#: ../../library/stdtypes.rst:2290 -msgid "``\\r``" -msgstr "``\\r``" - -#: ../../library/stdtypes.rst:2290 -msgid "Carriage Return" -msgstr "" - -#: ../../library/stdtypes.rst:2292 -msgid "``\\r\\n``" -msgstr "``\\r\\n``" - -#: ../../library/stdtypes.rst:2292 -msgid "Carriage Return + Line Feed" -msgstr "" - -#: ../../library/stdtypes.rst:2294 -msgid "``\\v`` or ``\\x0b``" -msgstr "``\\v`` or ``\\x0b``" - -#: ../../library/stdtypes.rst:2294 -msgid "Line Tabulation" -msgstr "" - -#: ../../library/stdtypes.rst:2296 -msgid "``\\f`` or ``\\x0c``" -msgstr "``\\f`` or ``\\x0c``" - -#: ../../library/stdtypes.rst:2296 -msgid "Form Feed" -msgstr "" - -#: ../../library/stdtypes.rst:2298 -msgid "``\\x1c``" -msgstr "``\\x1c``" - -#: ../../library/stdtypes.rst:2298 -msgid "File Separator" -msgstr "" - -#: ../../library/stdtypes.rst:2300 -msgid "``\\x1d``" -msgstr "``\\x1d``" - -#: ../../library/stdtypes.rst:2300 -msgid "Group Separator" -msgstr "" - -#: ../../library/stdtypes.rst:2302 -msgid "``\\x1e``" -msgstr "``\\x1e``" - -#: ../../library/stdtypes.rst:2302 -msgid "Record Separator" -msgstr "" - -#: ../../library/stdtypes.rst:2304 -msgid "``\\x85``" -msgstr "``\\x85``" - -#: ../../library/stdtypes.rst:2304 -msgid "Next Line (C1 Control Code)" -msgstr "" - -#: ../../library/stdtypes.rst:2306 -msgid "``\\u2028``" -msgstr "``\\u2028``" - -#: ../../library/stdtypes.rst:2306 -msgid "Line Separator" -msgstr "" - -#: ../../library/stdtypes.rst:2308 -msgid "``\\u2029``" -msgstr "``\\u2029``" - -#: ../../library/stdtypes.rst:2308 -msgid "Paragraph Separator" -msgstr "" - -#: ../../library/stdtypes.rst:2313 -msgid "``\\v`` and ``\\f`` added to list of line boundaries." -msgstr "" - -#: ../../library/stdtypes.rst:2317 -msgid "" -">>> 'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines()\n" -"['ab c', '', 'de fg', 'kl']\n" -">>> 'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines(keepends=True)\n" -"['ab c\\n', '\\n', 'de fg\\r', 'kl\\r\\n']" -msgstr "" - -#: ../../library/stdtypes.rst:2322 -msgid "" -"Unlike :meth:`~str.split` when a delimiter string *sep* is given, this " -"method returns an empty list for the empty string, and a terminal line break" -" does not result in an extra line::" -msgstr "" - -#: ../../library/stdtypes.rst:2326 -msgid "" -">>> \"\".splitlines()\n" -"[]\n" -">>> \"One line\\n\".splitlines()\n" -"['One line']" -msgstr "" - -#: ../../library/stdtypes.rst:2331 -msgid "For comparison, ``split('\\n')`` gives::" -msgstr "" - -#: ../../library/stdtypes.rst:2333 -msgid "" -">>> ''.split('\\n')\n" -"['']\n" -">>> 'Two lines\\n'.split('\\n')\n" -"['Two lines', '']" -msgstr "" - -#: ../../library/stdtypes.rst:2341 -msgid "" -"Return ``True`` if string starts with the *prefix*, otherwise return " -"``False``. *prefix* can also be a tuple of prefixes to look for. With " -"optional *start*, test string beginning at that position. With optional " -"*end*, stop comparing string at that position." -msgstr "" - -#: ../../library/stdtypes.rst:2349 -msgid "" -"Return a copy of the string with the leading and trailing characters " -"removed. The *chars* argument is a string specifying the set of characters " -"to be removed. If omitted or ``None``, the *chars* argument defaults to " -"removing whitespace. The *chars* argument is not a prefix or suffix; rather," -" all combinations of its values are stripped::" -msgstr "" - -#: ../../library/stdtypes.rst:2355 -msgid "" -">>> ' spacious '.strip()\n" -"'spacious'\n" -">>> 'www.example.com'.strip('cmowz.')\n" -"'example'" -msgstr "" - -#: ../../library/stdtypes.rst:2360 -msgid "" -"The outermost leading and trailing *chars* argument values are stripped from" -" the string. Characters are removed from the leading end until reaching a " -"string character that is not contained in the set of characters in *chars*. " -"A similar action takes place on the trailing end. For example::" -msgstr "" - -#: ../../library/stdtypes.rst:2366 -msgid "" -">>> comment_string = '#....... Section 3.2.1 Issue #32 .......'\n" -">>> comment_string.strip('.#! ')\n" -"'Section 3.2.1 Issue #32'" -msgstr "" - -#: ../../library/stdtypes.rst:2373 -msgid "" -"Return a copy of the string with uppercase characters converted to lowercase" -" and vice versa. Note that it is not necessarily true that " -"``s.swapcase().swapcase() == s``." -msgstr "" - -#: ../../library/stdtypes.rst:2380 -msgid "" -"Return a titlecased version of the string where words start with an " -"uppercase character and the remaining characters are lowercase." -msgstr "" - -#: ../../library/stdtypes.rst:2385 -msgid "" -">>> 'Hello world'.title()\n" -"'Hello World'" -msgstr "" - -#: ../../library/stdtypes.rst:2388 ../../library/stdtypes.rst:3794 -msgid "" -"The algorithm uses a simple language-independent definition of a word as " -"groups of consecutive letters. The definition works in many contexts but it" -" means that apostrophes in contractions and possessives form word " -"boundaries, which may not be the desired result::" -msgstr "" - -#: ../../library/stdtypes.rst:2393 -msgid "" -">>> \"they're bill's friends from the UK\".title()\n" -"\"They'Re Bill'S Friends From The Uk\"" -msgstr "" - -#: ../../library/stdtypes.rst:2396 -msgid "" -"The :func:`string.capwords` function does not have this problem, as it " -"splits words on spaces only." -msgstr "" - -#: ../../library/stdtypes.rst:2399 -msgid "" -"Alternatively, a workaround for apostrophes can be constructed using regular" -" expressions::" -msgstr "" - -#: ../../library/stdtypes.rst:2402 -msgid "" -">>> import re\n" -">>> def titlecase(s):\n" -"... return re.sub(r\"[A-Za-z]+('[A-Za-z]+)?\",\n" -"... lambda mo: mo.group(0).capitalize(),\n" -"... s)\n" -"...\n" -">>> titlecase(\"they're bill's friends.\")\n" -"\"They're Bill's Friends.\"" -msgstr "" - -#: ../../library/stdtypes.rst:2414 -msgid "" -"Return a copy of the string in which each character has been mapped through " -"the given translation table. The table must be an object that implements " -"indexing via :meth:`~object.__getitem__`, typically a :term:`mapping` or " -":term:`sequence`. When indexed by a Unicode ordinal (an integer), the table" -" object can do any of the following: return a Unicode ordinal or a string, " -"to map the character to one or more other characters; return ``None``, to " -"delete the character from the return string; or raise a :exc:`LookupError` " -"exception, to map the character to itself." -msgstr "" - -#: ../../library/stdtypes.rst:2423 -msgid "" -"You can use :meth:`str.maketrans` to create a translation map from " -"character-to-character mappings in different formats." -msgstr "" - -#: ../../library/stdtypes.rst:2426 -msgid "" -"See also the :mod:`codecs` module for a more flexible approach to custom " -"character mappings." -msgstr "" - -#: ../../library/stdtypes.rst:2432 -msgid "" -"Return a copy of the string with all the cased characters [4]_ converted to " -"uppercase. Note that ``s.upper().isupper()`` might be ``False`` if ``s`` " -"contains uncased characters or if the Unicode category of the resulting " -"character(s) is not \"Lu\" (Letter, uppercase), but e.g. \"Lt\" (Letter, " -"titlecase)." -msgstr "" - -#: ../../library/stdtypes.rst:2438 -msgid "" -"The uppercasing algorithm used is `described in section 3.13 'Default Case " -"Folding' of the Unicode Standard " -"`__." -msgstr "" - -#: ../../library/stdtypes.rst:2445 -msgid "" -"Return a copy of the string left filled with ASCII ``'0'`` digits to make a " -"string of length *width*. A leading sign prefix (``'+'``/``'-'``) is handled" -" by inserting the padding *after* the sign character rather than before. The" -" original string is returned if *width* is less than or equal to ``len(s)``." -msgstr "" - -#: ../../library/stdtypes.rst:2453 -msgid "" -">>> \"42\".zfill(5)\n" -"'00042'\n" -">>> \"-42\".zfill(5)\n" -"'-0042'" -msgstr "" - -#: ../../library/stdtypes.rst:2474 -msgid "Formatted String Literals (f-strings)" -msgstr "" - -#: ../../library/stdtypes.rst:2477 -msgid "" -"The :keyword:`await` and :keyword:`async for` can be used in expressions " -"within f-strings." -msgstr "" - -#: ../../library/stdtypes.rst:2480 -msgid "Added the debugging operator (``=``)" -msgstr "" - -#: ../../library/stdtypes.rst:2482 -msgid "" -"Many restrictions on expressions within f-strings have been removed. " -"Notably, nested strings, comments, and backslashes are now permitted." -msgstr "" - -#: ../../library/stdtypes.rst:2486 -msgid "" -"An :dfn:`f-string` (formally a :dfn:`formatted string literal`) is a string " -"literal that is prefixed with ``f`` or ``F``. This type of string literal " -"allows embedding arbitrary Python expressions within *replacement fields*, " -"which are delimited by curly brackets (``{}``). These expressions are " -"evaluated at runtime, similarly to :meth:`str.format`, and are converted " -"into regular :class:`str` objects. For example:" -msgstr "" - -#: ../../library/stdtypes.rst:2494 -msgid "" -">>> who = 'nobody'\n" -">>> nationality = 'Spanish'\n" -">>> f'{who.title()} expects the {nationality} Inquisition!'\n" -"'Nobody expects the Spanish Inquisition!'" -msgstr "" - -#: ../../library/stdtypes.rst:2501 -msgid "It is also possible to use a multi line f-string:" -msgstr "" - -#: ../../library/stdtypes.rst:2503 -msgid "" -">>> f'''This is a string\n" -"... on two lines'''\n" -"'This is a string\\non two lines'" -msgstr "" - -#: ../../library/stdtypes.rst:2509 -msgid "" -"A single opening curly bracket, ``'{'``, marks a *replacement field* that " -"can contain any Python expression:" -msgstr "" - -#: ../../library/stdtypes.rst:2512 -msgid "" -">>> nationality = 'Spanish'\n" -">>> f'The {nationality} Inquisition!'\n" -"'The Spanish Inquisition!'" -msgstr "" - -#: ../../library/stdtypes.rst:2518 -msgid "To include a literal ``{`` or ``}``, use a double bracket:" -msgstr "" - -#: ../../library/stdtypes.rst:2520 -msgid "" -">>> x = 42\n" -">>> f'{{x}} is {x}'\n" -"'{x} is 42'" -msgstr "" - -#: ../../library/stdtypes.rst:2526 -msgid "" -"Functions can also be used, and :ref:`format specifiers `:" -msgstr "" - -#: ../../library/stdtypes.rst:2528 -msgid "" -">>> from math import sqrt\n" -">>> f'√2 \\N{ALMOST EQUAL TO} {sqrt(2):.5f}'\n" -"'√2 ≈ 1.41421'" -msgstr "" - -#: ../../library/stdtypes.rst:2534 -msgid "Any non-string expression is converted using :func:`str`, by default:" -msgstr "" - -#: ../../library/stdtypes.rst:2536 -msgid "" -">>> from fractions import Fraction\n" -">>> f'{Fraction(1, 3)}'\n" -"'1/3'" -msgstr "" - -#: ../../library/stdtypes.rst:2542 -msgid "" -"To use an explicit conversion, use the ``!`` (exclamation mark) operator, " -"followed by any of the valid formats, which are:" -msgstr "" - -#: ../../library/stdtypes.rst:2546 ../../library/stdtypes.rst:2714 -#: ../../library/stdtypes.rst:3973 -msgid "Conversion" -msgstr "" - -#: ../../library/stdtypes.rst:2548 -msgid "``!a``" -msgstr "" - -#: ../../library/stdtypes.rst:2548 -msgid ":func:`ascii`" -msgstr ":func:`ascii`" - -#: ../../library/stdtypes.rst:2549 -msgid "``!r``" -msgstr "" - -#: ../../library/stdtypes.rst:2549 -msgid ":func:`repr`" -msgstr ":func:`repr`" - -#: ../../library/stdtypes.rst:2550 -msgid "``!s``" -msgstr "" - -#: ../../library/stdtypes.rst:2550 -msgid ":func:`str`" -msgstr "" - -#: ../../library/stdtypes.rst:2553 -msgid "For example:" -msgstr "Sebagai contoh:" - -#: ../../library/stdtypes.rst:2555 -msgid "" -">>> from fractions import Fraction\n" -">>> f'{Fraction(1, 3)!s}'\n" -"'1/3'\n" -">>> f'{Fraction(1, 3)!r}'\n" -"'Fraction(1, 3)'\n" -">>> question = '¿Dónde está el Presidente?'\n" -">>> print(f'{question!a}')\n" -"'\\xbfD\\xf3nde est\\xe1 el Presidente?'" -msgstr "" - -#: ../../library/stdtypes.rst:2566 -msgid "" -"While debugging it may be helpful to see both the expression and its value, " -"by using the equals sign (``=``) after the expression. This preserves spaces" -" within the brackets, and can be used with a converter. By default, the " -"debugging operator uses the :func:`repr` (``!r``) conversion. For example:" -msgstr "" - -#: ../../library/stdtypes.rst:2572 -msgid "" -">>> from fractions import Fraction\n" -">>> calculation = Fraction(1, 3)\n" -">>> f'{calculation=}'\n" -"'calculation=Fraction(1, 3)'\n" -">>> f'{calculation = }'\n" -"'calculation = Fraction(1, 3)'\n" -">>> f'{calculation = !s}'\n" -"'calculation = 1/3'" -msgstr "" - -#: ../../library/stdtypes.rst:2583 -msgid "" -"Once the output has been evaluated, it can be formatted using a :ref:`format" -" specifier ` following a colon (``':'``). After the " -"expression has been evaluated, and possibly converted to a string, the " -":meth:`!__format__` method of the result is called with the format " -"specifier, or the empty string if no format specifier is given. The " -"formatted result is then used as the final value for the replacement field. " -"For example:" -msgstr "" - -#: ../../library/stdtypes.rst:2591 -msgid "" -">>> from fractions import Fraction\n" -">>> f'{Fraction(1, 7):.6f}'\n" -"'0.142857'\n" -">>> f'{Fraction(1, 7):_^+10}'\n" -"'___+1/7___'" -msgstr "" - -#: ../../library/stdtypes.rst:2603 -msgid "``printf``-style String Formatting" -msgstr "" - -#: ../../library/stdtypes.rst:2616 -msgid "" -"The formatting operations described here exhibit a variety of quirks that " -"lead to a number of common errors (such as failing to display tuples and " -"dictionaries correctly). Using the newer :ref:`formatted string literals " -"`, the :meth:`str.format` interface, or :ref:`template strings " -"` may help avoid these errors. Each of these alternatives" -" provides their own trade-offs and benefits of simplicity, flexibility, " -"and/or extensibility." -msgstr "" - -#: ../../library/stdtypes.rst:2624 -msgid "" -"String objects have one unique built-in operation: the ``%`` operator " -"(modulo). This is also known as the string *formatting* or *interpolation* " -"operator. Given ``format % values`` (where *format* is a string), ``%`` " -"conversion specifications in *format* are replaced with zero or more " -"elements of *values*. The effect is similar to using the :c:func:`sprintf` " -"function in the C language. For example:" -msgstr "" - -#: ../../library/stdtypes.rst:2631 -msgid "" -">>> print('%s has %d quote types.' % ('Python', 2))\n" -"Python has 2 quote types." -msgstr "" - -#: ../../library/stdtypes.rst:2636 -msgid "" -"If *format* requires a single argument, *values* may be a single non-tuple " -"object. [5]_ Otherwise, *values* must be a tuple with exactly the number of" -" items specified by the format string, or a single mapping object (for " -"example, a dictionary)." -msgstr "" - -#: ../../library/stdtypes.rst:2646 ../../library/stdtypes.rst:3905 -msgid "" -"A conversion specifier contains two or more characters and has the following" -" components, which must occur in this order:" -msgstr "" - -#: ../../library/stdtypes.rst:2649 ../../library/stdtypes.rst:3908 -msgid "The ``'%'`` character, which marks the start of the specifier." -msgstr "" - -#: ../../library/stdtypes.rst:2651 ../../library/stdtypes.rst:3910 -msgid "" -"Mapping key (optional), consisting of a parenthesised sequence of characters" -" (for example, ``(somename)``)." -msgstr "" - -#: ../../library/stdtypes.rst:2654 ../../library/stdtypes.rst:3913 -msgid "" -"Conversion flags (optional), which affect the result of some conversion " -"types." -msgstr "" - -#: ../../library/stdtypes.rst:2657 ../../library/stdtypes.rst:3916 -msgid "" -"Minimum field width (optional). If specified as an ``'*'`` (asterisk), the " -"actual width is read from the next element of the tuple in *values*, and the" -" object to convert comes after the minimum field width and optional " -"precision." -msgstr "" - -#: ../../library/stdtypes.rst:2661 ../../library/stdtypes.rst:3920 -msgid "" -"Precision (optional), given as a ``'.'`` (dot) followed by the precision. " -"If specified as ``'*'`` (an asterisk), the actual precision is read from the" -" next element of the tuple in *values*, and the value to convert comes after" -" the precision." -msgstr "" - -#: ../../library/stdtypes.rst:2666 ../../library/stdtypes.rst:3925 -msgid "Length modifier (optional)." -msgstr "" - -#: ../../library/stdtypes.rst:2668 ../../library/stdtypes.rst:3927 -msgid "Conversion type." -msgstr "" - -#: ../../library/stdtypes.rst:2670 -msgid "" -"When the right argument is a dictionary (or other mapping type), then the " -"formats in the string *must* include a parenthesised mapping key into that " -"dictionary inserted immediately after the ``'%'`` character. The mapping key" -" selects the value to be formatted from the mapping. For example:" -msgstr "" - -#: ../../library/stdtypes.rst:2679 ../../library/stdtypes.rst:3938 -msgid "" -"In this case no ``*`` specifiers may occur in a format (since they require a" -" sequential parameter list)." -msgstr "" - -#: ../../library/stdtypes.rst:2682 ../../library/stdtypes.rst:3941 -msgid "The conversion flag characters are:" -msgstr "" - -#: ../../library/stdtypes.rst:2691 ../../library/stdtypes.rst:3950 -msgid "Flag" -msgstr "Penanda" - -#: ../../library/stdtypes.rst:2693 ../../library/stdtypes.rst:3952 -msgid "``'#'``" -msgstr "``'#'``" - -#: ../../library/stdtypes.rst:2693 ../../library/stdtypes.rst:3952 -msgid "" -"The value conversion will use the \"alternate form\" (where defined below)." -msgstr "" - -#: ../../library/stdtypes.rst:2696 ../../library/stdtypes.rst:3955 -msgid "``'0'``" -msgstr "``'0'``" - -#: ../../library/stdtypes.rst:2696 ../../library/stdtypes.rst:3955 -msgid "The conversion will be zero padded for numeric values." -msgstr "" - -#: ../../library/stdtypes.rst:2698 ../../library/stdtypes.rst:3957 -msgid "``'-'``" -msgstr "``'-'``" - -#: ../../library/stdtypes.rst:2698 ../../library/stdtypes.rst:3957 -msgid "" -"The converted value is left adjusted (overrides the ``'0'`` conversion if " -"both are given)." -msgstr "" - -#: ../../library/stdtypes.rst:2701 ../../library/stdtypes.rst:3960 -msgid "``' '``" -msgstr "``' '``" - -#: ../../library/stdtypes.rst:2701 ../../library/stdtypes.rst:3960 -msgid "" -"(a space) A blank should be left before a positive number (or empty string) " -"produced by a signed conversion." -msgstr "" - -#: ../../library/stdtypes.rst:2704 ../../library/stdtypes.rst:3963 -msgid "``'+'``" -msgstr "``'+'``" - -#: ../../library/stdtypes.rst:2704 ../../library/stdtypes.rst:3963 -msgid "" -"A sign character (``'+'`` or ``'-'``) will precede the conversion (overrides" -" a \"space\" flag)." -msgstr "" - -#: ../../library/stdtypes.rst:2708 ../../library/stdtypes.rst:3967 -msgid "" -"A length modifier (``h``, ``l``, or ``L``) may be present, but is ignored as" -" it is not necessary for Python -- so e.g. ``%ld`` is identical to ``%d``." -msgstr "" - -#: ../../library/stdtypes.rst:2711 ../../library/stdtypes.rst:3970 -msgid "The conversion types are:" -msgstr "" - -#: ../../library/stdtypes.rst:2716 ../../library/stdtypes.rst:3975 -msgid "``'d'``" -msgstr "``'d'``" - -#: ../../library/stdtypes.rst:2716 ../../library/stdtypes.rst:2718 -#: ../../library/stdtypes.rst:3975 ../../library/stdtypes.rst:3977 -msgid "Signed integer decimal." -msgstr "" - -#: ../../library/stdtypes.rst:2718 ../../library/stdtypes.rst:3977 -msgid "``'i'``" -msgstr "``'i'``" - -#: ../../library/stdtypes.rst:2720 ../../library/stdtypes.rst:3979 -msgid "``'o'``" -msgstr "``'o'``" - -#: ../../library/stdtypes.rst:2720 ../../library/stdtypes.rst:3979 -msgid "Signed octal value." -msgstr "" - -#: ../../library/stdtypes.rst:2722 ../../library/stdtypes.rst:3981 -msgid "``'u'``" -msgstr "``'u'``" - -#: ../../library/stdtypes.rst:2722 ../../library/stdtypes.rst:3981 -msgid "Obsolete type -- it is identical to ``'d'``." -msgstr "" - -#: ../../library/stdtypes.rst:2724 ../../library/stdtypes.rst:3983 -msgid "``'x'``" -msgstr "``'x'``" - -#: ../../library/stdtypes.rst:2724 ../../library/stdtypes.rst:3983 -msgid "Signed hexadecimal (lowercase)." -msgstr "" - -#: ../../library/stdtypes.rst:2726 ../../library/stdtypes.rst:3985 -msgid "``'X'``" -msgstr "``'X'``" - -#: ../../library/stdtypes.rst:2726 ../../library/stdtypes.rst:3985 -msgid "Signed hexadecimal (uppercase)." -msgstr "" - -#: ../../library/stdtypes.rst:2728 ../../library/stdtypes.rst:3987 -msgid "``'e'``" -msgstr "``'e'``" - -#: ../../library/stdtypes.rst:2728 ../../library/stdtypes.rst:3987 -msgid "Floating-point exponential format (lowercase)." -msgstr "" - -#: ../../library/stdtypes.rst:2730 ../../library/stdtypes.rst:3989 -msgid "``'E'``" -msgstr "``'E'``" - -#: ../../library/stdtypes.rst:2730 ../../library/stdtypes.rst:3989 -msgid "Floating-point exponential format (uppercase)." -msgstr "" - -#: ../../library/stdtypes.rst:2732 ../../library/stdtypes.rst:3991 -msgid "``'f'``" -msgstr "``'f'``" - -#: ../../library/stdtypes.rst:2732 ../../library/stdtypes.rst:2734 -#: ../../library/stdtypes.rst:3991 ../../library/stdtypes.rst:3993 -msgid "Floating-point decimal format." -msgstr "" - -#: ../../library/stdtypes.rst:2734 ../../library/stdtypes.rst:3993 -msgid "``'F'``" -msgstr "``'F'``" - -#: ../../library/stdtypes.rst:2736 ../../library/stdtypes.rst:3995 -msgid "``'g'``" -msgstr "``'g'``" - -#: ../../library/stdtypes.rst:2736 ../../library/stdtypes.rst:3995 -msgid "" -"Floating-point format. Uses lowercase exponential format if exponent is less" -" than -4 or not less than precision, decimal format otherwise." -msgstr "" - -#: ../../library/stdtypes.rst:2740 ../../library/stdtypes.rst:3999 -msgid "``'G'``" -msgstr "``'G'``" - -#: ../../library/stdtypes.rst:2740 ../../library/stdtypes.rst:3999 -msgid "" -"Floating-point format. Uses uppercase exponential format if exponent is less" -" than -4 or not less than precision, decimal format otherwise." -msgstr "" - -#: ../../library/stdtypes.rst:2744 ../../library/stdtypes.rst:4003 -msgid "``'c'``" -msgstr "``'c'``" - -#: ../../library/stdtypes.rst:2744 -msgid "Single character (accepts integer or single character string)." -msgstr "" - -#: ../../library/stdtypes.rst:2747 ../../library/stdtypes.rst:4016 -msgid "``'r'``" -msgstr "``'r'``" - -#: ../../library/stdtypes.rst:2747 -msgid "String (converts any Python object using :func:`repr`)." -msgstr "" - -#: ../../library/stdtypes.rst:2750 ../../library/stdtypes.rst:4010 -msgid "``'s'``" -msgstr "``'s'``" - -#: ../../library/stdtypes.rst:2750 -msgid "String (converts any Python object using :func:`str`)." -msgstr "" - -#: ../../library/stdtypes.rst:2753 ../../library/stdtypes.rst:4013 -msgid "``'a'``" -msgstr "``'a'``" - -#: ../../library/stdtypes.rst:2753 -msgid "String (converts any Python object using :func:`ascii`)." -msgstr "" - -#: ../../library/stdtypes.rst:2756 ../../library/stdtypes.rst:4019 -msgid "``'%'``" -msgstr "``'%'``" - -#: ../../library/stdtypes.rst:2756 ../../library/stdtypes.rst:4019 -msgid "" -"No argument is converted, results in a ``'%'`` character in the result." -msgstr "" - -#: ../../library/stdtypes.rst:2763 ../../library/stdtypes.rst:4026 -msgid "" -"The alternate form causes a leading octal specifier (``'0o'``) to be " -"inserted before the first digit." -msgstr "" - -#: ../../library/stdtypes.rst:2767 ../../library/stdtypes.rst:4030 -msgid "" -"The alternate form causes a leading ``'0x'`` or ``'0X'`` (depending on " -"whether the ``'x'`` or ``'X'`` format was used) to be inserted before the " -"first digit." -msgstr "" - -#: ../../library/stdtypes.rst:2771 ../../library/stdtypes.rst:4034 -msgid "" -"The alternate form causes the result to always contain a decimal point, even" -" if no digits follow it." -msgstr "" - -#: ../../library/stdtypes.rst:2774 ../../library/stdtypes.rst:4037 -msgid "" -"The precision determines the number of digits after the decimal point and " -"defaults to 6." -msgstr "" - -#: ../../library/stdtypes.rst:2778 ../../library/stdtypes.rst:4041 -msgid "" -"The alternate form causes the result to always contain a decimal point, and " -"trailing zeroes are not removed as they would otherwise be." -msgstr "" - -#: ../../library/stdtypes.rst:2781 ../../library/stdtypes.rst:4044 -msgid "" -"The precision determines the number of significant digits before and after " -"the decimal point and defaults to 6." -msgstr "" - -#: ../../library/stdtypes.rst:2785 ../../library/stdtypes.rst:4048 -msgid "If precision is ``N``, the output is truncated to ``N`` characters." -msgstr "" - -#: ../../library/stdtypes.rst:2788 ../../library/stdtypes.rst:4057 -msgid "See :pep:`237`." -msgstr "Lihat :pep:`237`." - -#: ../../library/stdtypes.rst:2790 -msgid "" -"Since Python strings have an explicit length, ``%s`` conversions do not " -"assume that ``'\\0'`` is the end of the string." -msgstr "" - -#: ../../library/stdtypes.rst:2795 -msgid "" -"``%f`` conversions for numbers whose absolute value is over 1e50 are no " -"longer replaced by ``%g`` conversions." -msgstr "" - -#: ../../library/stdtypes.rst:2806 -msgid "" -"Binary Sequence Types --- :class:`bytes`, :class:`bytearray`, " -":class:`memoryview`" -msgstr "" - -#: ../../library/stdtypes.rst:2814 -msgid "" -"The core built-in types for manipulating binary data are :class:`bytes` and " -":class:`bytearray`. They are supported by :class:`memoryview` which uses the" -" :ref:`buffer protocol ` to access the memory of other binary" -" objects without needing to make a copy." -msgstr "" - -#: ../../library/stdtypes.rst:2819 -msgid "" -"The :mod:`array` module supports efficient storage of basic data types like " -"32-bit integers and IEEE754 double-precision floating values." -msgstr "" - -#: ../../library/stdtypes.rst:2825 -msgid "Bytes Objects" -msgstr "" - -#: ../../library/stdtypes.rst:2829 -msgid "" -"Bytes objects are immutable sequences of single bytes. Since many major " -"binary protocols are based on the ASCII text encoding, bytes objects offer " -"several methods that are only valid when working with ASCII compatible data " -"and are closely related to string objects in a variety of other ways." -msgstr "" - -#: ../../library/stdtypes.rst:2836 -msgid "" -"Firstly, the syntax for bytes literals is largely the same as that for " -"string literals, except that a ``b`` prefix is added:" -msgstr "" - -#: ../../library/stdtypes.rst:2839 -msgid "Single quotes: ``b'still allows embedded \"double\" quotes'``" -msgstr "" - -#: ../../library/stdtypes.rst:2840 -msgid "Double quotes: ``b\"still allows embedded 'single' quotes\"``" -msgstr "" - -#: ../../library/stdtypes.rst:2841 -msgid "Triple quoted: ``b'''3 single quotes'''``, ``b\"\"\"3 double quotes\"\"\"``" -msgstr "" - -#: ../../library/stdtypes.rst:2843 -msgid "" -"Only ASCII characters are permitted in bytes literals (regardless of the " -"declared source code encoding). Any binary values over 127 must be entered " -"into bytes literals using the appropriate escape sequence." -msgstr "" - -#: ../../library/stdtypes.rst:2847 -msgid "" -"As with string literals, bytes literals may also use a ``r`` prefix to " -"disable processing of escape sequences. See :ref:`strings` for more about " -"the various forms of bytes literal, including supported escape sequences." -msgstr "" - -#: ../../library/stdtypes.rst:2851 -msgid "" -"While bytes literals and representations are based on ASCII text, bytes " -"objects actually behave like immutable sequences of integers, with each " -"value in the sequence restricted such that ``0 <= x < 256`` (attempts to " -"violate this restriction will trigger :exc:`ValueError`). This is done " -"deliberately to emphasise that while many binary formats include ASCII based" -" elements and can be usefully manipulated with some text-oriented " -"algorithms, this is not generally the case for arbitrary binary data " -"(blindly applying text processing algorithms to binary data formats that are" -" not ASCII compatible will usually lead to data corruption)." -msgstr "" - -#: ../../library/stdtypes.rst:2861 -msgid "" -"In addition to the literal forms, bytes objects can be created in a number " -"of other ways:" -msgstr "" - -#: ../../library/stdtypes.rst:2864 -msgid "A zero-filled bytes object of a specified length: ``bytes(10)``" -msgstr "" - -#: ../../library/stdtypes.rst:2865 -msgid "From an iterable of integers: ``bytes(range(20))``" -msgstr "" - -#: ../../library/stdtypes.rst:2866 -msgid "Copying existing binary data via the buffer protocol: ``bytes(obj)``" -msgstr "" - -#: ../../library/stdtypes.rst:2868 -msgid "Also see the :ref:`bytes ` built-in." -msgstr "" - -#: ../../library/stdtypes.rst:2870 -msgid "" -"Since 2 hexadecimal digits correspond precisely to a single byte, " -"hexadecimal numbers are a commonly used format for describing binary data. " -"Accordingly, the bytes type has an additional class method to read data in " -"that format:" -msgstr "" - -#: ../../library/stdtypes.rst:2876 -msgid "" -"This :class:`bytes` class method returns a bytes object, decoding the given " -"string object. The string must contain two hexadecimal digits per byte, " -"with ASCII whitespace being ignored." -msgstr "" - -#: ../../library/stdtypes.rst:2883 -msgid "" -":meth:`bytes.fromhex` now skips all ASCII whitespace in the string, not just" -" spaces." -msgstr "" - -#: ../../library/stdtypes.rst:2887 -msgid "" -":meth:`bytes.fromhex` now accepts ASCII :class:`bytes` and :term:`bytes-like" -" objects ` as input." -msgstr "" - -#: ../../library/stdtypes.rst:2891 -msgid "" -"A reverse conversion function exists to transform a bytes object into its " -"hexadecimal representation." -msgstr "" - -#: ../../library/stdtypes.rst:2896 ../../library/stdtypes.rst:2985 -msgid "" -"Return a string object containing two hexadecimal digits for each byte in " -"the instance." -msgstr "" - -#: ../../library/stdtypes.rst:2902 -msgid "" -"If you want to make the hex string easier to read, you can specify a single " -"character separator *sep* parameter to include in the output. By default, " -"this separator will be included between each byte. A second optional " -"*bytes_per_sep* parameter controls the spacing. Positive values calculate " -"the separator position from the right, negative values from the left." -msgstr "" - -#: ../../library/stdtypes.rst:2919 -msgid "" -":meth:`bytes.hex` now supports optional *sep* and *bytes_per_sep* parameters" -" to insert separators between bytes in the hex output." -msgstr "" - -#: ../../library/stdtypes.rst:2923 -msgid "" -"Since bytes objects are sequences of integers (akin to a tuple), for a bytes" -" object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be a bytes " -"object of length 1. (This contrasts with text strings, where both indexing " -"and slicing will produce a string of length 1)" -msgstr "" - -#: ../../library/stdtypes.rst:2928 -msgid "" -"The representation of bytes objects uses the literal format (``b'...'``) " -"since it is often more useful than e.g. ``bytes([46, 46, 46])``. You can " -"always convert a bytes object into a list of integers using ``list(b)``." -msgstr "" - -#: ../../library/stdtypes.rst:2936 -msgid "Bytearray Objects" -msgstr "" - -#: ../../library/stdtypes.rst:2940 -msgid "" -":class:`bytearray` objects are a mutable counterpart to :class:`bytes` " -"objects." -msgstr "" - -#: ../../library/stdtypes.rst:2945 -msgid "" -"There is no dedicated literal syntax for bytearray objects, instead they are" -" always created by calling the constructor:" -msgstr "" - -#: ../../library/stdtypes.rst:2948 -msgid "Creating an empty instance: ``bytearray()``" -msgstr "" - -#: ../../library/stdtypes.rst:2949 -msgid "Creating a zero-filled instance with a given length: ``bytearray(10)``" -msgstr "" - -#: ../../library/stdtypes.rst:2950 -msgid "From an iterable of integers: ``bytearray(range(20))``" -msgstr "" - -#: ../../library/stdtypes.rst:2951 -msgid "" -"Copying existing binary data via the buffer protocol: ``bytearray(b'Hi!')``" -msgstr "" - -#: ../../library/stdtypes.rst:2953 -msgid "" -"As bytearray objects are mutable, they support the :ref:`mutable ` sequence operations in addition to the common bytes and bytearray " -"operations described in :ref:`bytes-methods`." -msgstr "" - -#: ../../library/stdtypes.rst:2957 -msgid "Also see the :ref:`bytearray ` built-in." -msgstr "" - -#: ../../library/stdtypes.rst:2959 -msgid "" -"Since 2 hexadecimal digits correspond precisely to a single byte, " -"hexadecimal numbers are a commonly used format for describing binary data. " -"Accordingly, the bytearray type has an additional class method to read data " -"in that format:" -msgstr "" - -#: ../../library/stdtypes.rst:2965 -msgid "" -"This :class:`bytearray` class method returns bytearray object, decoding the " -"given string object. The string must contain two hexadecimal digits per " -"byte, with ASCII whitespace being ignored." -msgstr "" - -#: ../../library/stdtypes.rst:2972 -msgid "" -":meth:`bytearray.fromhex` now skips all ASCII whitespace in the string, not " -"just spaces." -msgstr "" - -#: ../../library/stdtypes.rst:2976 -msgid "" -":meth:`bytearray.fromhex` now accepts ASCII :class:`bytes` and :term:`bytes-" -"like objects ` as input." -msgstr "" - -#: ../../library/stdtypes.rst:2980 -msgid "" -"A reverse conversion function exists to transform a bytearray object into " -"its hexadecimal representation." -msgstr "" - -#: ../../library/stdtypes.rst:2993 -msgid "" -"Similar to :meth:`bytes.hex`, :meth:`bytearray.hex` now supports optional " -"*sep* and *bytes_per_sep* parameters to insert separators between bytes in " -"the hex output." -msgstr "" - -#: ../../library/stdtypes.rst:3000 -msgid "" -"Resize the :class:`bytearray` to contain *size* bytes. *size* must be " -"greater than or equal to 0." -msgstr "" - -#: ../../library/stdtypes.rst:3003 -msgid "" -"If the :class:`bytearray` needs to shrink, bytes beyond *size* are " -"truncated." -msgstr "" - -#: ../../library/stdtypes.rst:3005 -msgid "" -"If the :class:`bytearray` needs to grow, all new bytes, those beyond *size*," -" will be set to null bytes." -msgstr "" - -#: ../../library/stdtypes.rst:3009 -msgid "This is equivalent to:" -msgstr "" - -#: ../../library/stdtypes.rst:3017 -msgid "Examples:" -msgstr "Contoh-contoh:" - -#: ../../library/stdtypes.rst:3030 -msgid "" -"Since bytearray objects are sequences of integers (akin to a list), for a " -"bytearray object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be " -"a bytearray object of length 1. (This contrasts with text strings, where " -"both indexing and slicing will produce a string of length 1)" -msgstr "" - -#: ../../library/stdtypes.rst:3035 -msgid "" -"The representation of bytearray objects uses the bytes literal format " -"(``bytearray(b'...')``) since it is often more useful than e.g. " -"``bytearray([46, 46, 46])``. You can always convert a bytearray object into" -" a list of integers using ``list(b)``." -msgstr "" - -#: ../../library/stdtypes.rst:3044 -msgid "Bytes and Bytearray Operations" -msgstr "" - -#: ../../library/stdtypes.rst:3049 -msgid "" -"Both bytes and bytearray objects support the :ref:`common `" -" sequence operations. They interoperate not just with operands of the same " -"type, but with any :term:`bytes-like object`. Due to this flexibility, they " -"can be freely mixed in operations without causing errors. However, the " -"return type of the result may depend on the order of operands." -msgstr "" - -#: ../../library/stdtypes.rst:3057 -msgid "" -"The methods on bytes and bytearray objects don't accept strings as their " -"arguments, just as the methods on strings don't accept bytes as their " -"arguments. For example, you have to write::" -msgstr "" - -#: ../../library/stdtypes.rst:3061 -msgid "" -"a = \"abc\"\n" -"b = a.replace(\"a\", \"f\")" -msgstr "" - -#: ../../library/stdtypes.rst:3064 -msgid "and::" -msgstr "dan::" - -#: ../../library/stdtypes.rst:3066 -msgid "" -"a = b\"abc\"\n" -"b = a.replace(b\"a\", b\"f\")" -msgstr "" - -#: ../../library/stdtypes.rst:3069 -msgid "" -"Some bytes and bytearray operations assume the use of ASCII compatible " -"binary formats, and hence should be avoided when working with arbitrary " -"binary data. These restrictions are covered below." -msgstr "" - -#: ../../library/stdtypes.rst:3074 -msgid "" -"Using these ASCII based operations to manipulate binary data that is not " -"stored in an ASCII based format may lead to data corruption." -msgstr "" - -#: ../../library/stdtypes.rst:3077 -msgid "" -"The following methods on bytes and bytearray objects can be used with " -"arbitrary binary data." -msgstr "" - -#: ../../library/stdtypes.rst:3083 -msgid "" -"Return the number of non-overlapping occurrences of subsequence *sub* in the" -" range [*start*, *end*]. Optional arguments *start* and *end* are " -"interpreted as in slice notation." -msgstr "" - -#: ../../library/stdtypes.rst:3087 ../../library/stdtypes.rst:3192 -#: ../../library/stdtypes.rst:3214 ../../library/stdtypes.rst:3280 -#: ../../library/stdtypes.rst:3293 -msgid "" -"The subsequence to search for may be any :term:`bytes-like object` or an " -"integer in the range 0 to 255." -msgstr "" - -#: ../../library/stdtypes.rst:3090 -msgid "" -"If *sub* is empty, returns the number of empty slices between characters " -"which is the length of the bytes object plus one." -msgstr "" - -#: ../../library/stdtypes.rst:3093 ../../library/stdtypes.rst:3204 -#: ../../library/stdtypes.rst:3217 ../../library/stdtypes.rst:3283 -#: ../../library/stdtypes.rst:3296 -msgid "Also accept an integer in the range 0 to 255 as the subsequence." -msgstr "" - -#: ../../library/stdtypes.rst:3100 -msgid "" -"If the binary data starts with the *prefix* string, return " -"``bytes[len(prefix):]``. Otherwise, return a copy of the original binary " -"data::" -msgstr "" - -#: ../../library/stdtypes.rst:3104 -msgid "" -">>> b'TestHook'.removeprefix(b'Test')\n" -"b'Hook'\n" -">>> b'BaseTestCase'.removeprefix(b'Test')\n" -"b'BaseTestCase'" -msgstr "" - -#: ../../library/stdtypes.rst:3109 -msgid "The *prefix* may be any :term:`bytes-like object`." -msgstr "" - -#: ../../library/stdtypes.rst:3113 ../../library/stdtypes.rst:3135 -#: ../../library/stdtypes.rst:3268 ../../library/stdtypes.rst:3361 -#: ../../library/stdtypes.rst:3375 ../../library/stdtypes.rst:3406 -#: ../../library/stdtypes.rst:3420 ../../library/stdtypes.rst:3462 -#: ../../library/stdtypes.rst:3533 ../../library/stdtypes.rst:3551 -#: ../../library/stdtypes.rst:3579 ../../library/stdtypes.rst:3718 -#: ../../library/stdtypes.rst:3773 ../../library/stdtypes.rst:3816 -#: ../../library/stdtypes.rst:3837 ../../library/stdtypes.rst:3859 -#: ../../library/stdtypes.rst:4061 -msgid "" -"The bytearray version of this method does *not* operate in place - it always" -" produces a new object, even if no changes were made." -msgstr "" -"Versi bytearray dari metode ini *tidak* beroperasi di tempatnya - selalu " -"menghasilkan objek baru, bahkan jika tidak ada perubahan yang dilakukan." - -#: ../../library/stdtypes.rst:3122 -msgid "" -"If the binary data ends with the *suffix* string and that *suffix* is not " -"empty, return ``bytes[:-len(suffix)]``. Otherwise, return a copy of the " -"original binary data::" -msgstr "" - -#: ../../library/stdtypes.rst:3126 -msgid "" -">>> b'MiscTests'.removesuffix(b'Tests')\n" -"b'Misc'\n" -">>> b'TmpDirMixin'.removesuffix(b'Tests')\n" -"b'TmpDirMixin'" -msgstr "" - -#: ../../library/stdtypes.rst:3131 -msgid "The *suffix* may be any :term:`bytes-like object`." -msgstr "" - -#: ../../library/stdtypes.rst:3144 -msgid "Return the bytes decoded to a :class:`str`." -msgstr "" - -#: ../../library/stdtypes.rst:3149 -msgid "" -"*errors* controls how decoding errors are handled. If ``'strict'`` (the " -"default), a :exc:`UnicodeError` exception is raised. Other possible values " -"are ``'ignore'``, ``'replace'``, and any other name registered via " -":func:`codecs.register_error`. See :ref:`error-handlers` for details." -msgstr "" - -#: ../../library/stdtypes.rst:3155 -msgid "" -"For performance reasons, the value of *errors* is not checked for validity " -"unless a decoding error actually occurs, :ref:`devmode` is enabled or a " -":ref:`debug build ` is used." -msgstr "" - -#: ../../library/stdtypes.rst:3161 -msgid "" -"Passing the *encoding* argument to :class:`str` allows decoding any " -":term:`bytes-like object` directly, without needing to make a temporary " -":class:`!bytes` or :class:`!bytearray` object." -msgstr "" - -#: ../../library/stdtypes.rst:3176 -msgid "" -"Return ``True`` if the binary data ends with the specified *suffix*, " -"otherwise return ``False``. *suffix* can also be a tuple of suffixes to " -"look for. With optional *start*, test beginning at that position. With " -"optional *end*, stop comparing at that position." -msgstr "" - -#: ../../library/stdtypes.rst:3181 -msgid "The suffix(es) to search for may be any :term:`bytes-like object`." -msgstr "" - -#: ../../library/stdtypes.rst:3187 -msgid "" -"Return the lowest index in the data where the subsequence *sub* is found, " -"such that *sub* is contained in the slice ``s[start:end]``. Optional " -"arguments *start* and *end* are interpreted as in slice notation. Return " -"``-1`` if *sub* is not found." -msgstr "" - -#: ../../library/stdtypes.rst:3197 -msgid "" -"The :meth:`~bytes.find` method should be used only if you need to know the " -"position of *sub*. To check if *sub* is a substring or not, use the " -":keyword:`in` operator::" -msgstr "" - -#: ../../library/stdtypes.rst:3201 -msgid "" -">>> b'Py' in b'Python'\n" -"True" -msgstr "" - -#: ../../library/stdtypes.rst:3211 -msgid "" -"Like :meth:`~bytes.find`, but raise :exc:`ValueError` when the subsequence " -"is not found." -msgstr "" - -#: ../../library/stdtypes.rst:3224 -msgid "" -"Return a bytes or bytearray object which is the concatenation of the binary " -"data sequences in *iterable*. A :exc:`TypeError` will be raised if there " -"are any values in *iterable* that are not :term:`bytes-like objects `, including :class:`str` objects. The separator between " -"elements is the contents of the bytes or bytearray object providing this " -"method." -msgstr "" - -#: ../../library/stdtypes.rst:3235 -msgid "" -"This static method returns a translation table usable for " -":meth:`bytes.translate` that will map each character in *from* into the " -"character at the same position in *to*; *from* and *to* must both be " -":term:`bytes-like objects ` and have the same length." -msgstr "" - -#: ../../library/stdtypes.rst:3246 -msgid "" -"Split the sequence at the first occurrence of *sep*, and return a 3-tuple " -"containing the part before the separator, the separator itself or its " -"bytearray copy, and the part after the separator. If the separator is not " -"found, return a 3-tuple containing a copy of the original sequence, followed" -" by two empty bytes or bytearray objects." -msgstr "" - -#: ../../library/stdtypes.rst:3253 ../../library/stdtypes.rst:3310 -msgid "The separator to search for may be any :term:`bytes-like object`." -msgstr "" - -#: ../../library/stdtypes.rst:3259 -msgid "" -"Return a copy of the sequence with all occurrences of subsequence *old* " -"replaced by *new*. If the optional argument *count* is given, only the " -"first *count* occurrences are replaced." -msgstr "" - -#: ../../library/stdtypes.rst:3263 -msgid "" -"The subsequence to search for and its replacement may be any :term:`bytes-" -"like object`." -msgstr "" - -#: ../../library/stdtypes.rst:3275 -msgid "" -"Return the highest index in the sequence where the subsequence *sub* is " -"found, such that *sub* is contained within ``s[start:end]``. Optional " -"arguments *start* and *end* are interpreted as in slice notation. Return " -"``-1`` on failure." -msgstr "" - -#: ../../library/stdtypes.rst:3290 -msgid "" -"Like :meth:`~bytes.rfind` but raises :exc:`ValueError` when the subsequence " -"*sub* is not found." -msgstr "" - -#: ../../library/stdtypes.rst:3303 -msgid "" -"Split the sequence at the last occurrence of *sep*, and return a 3-tuple " -"containing the part before the separator, the separator itself or its " -"bytearray copy, and the part after the separator. If the separator is not " -"found, return a 3-tuple containing two empty bytes or bytearray objects, " -"followed by a copy of the original sequence." -msgstr "" - -#: ../../library/stdtypes.rst:3316 -msgid "" -"Return ``True`` if the binary data starts with the specified *prefix*, " -"otherwise return ``False``. *prefix* can also be a tuple of prefixes to " -"look for. With optional *start*, test beginning at that position. With " -"optional *end*, stop comparing at that position." -msgstr "" - -#: ../../library/stdtypes.rst:3321 -msgid "The prefix(es) to search for may be any :term:`bytes-like object`." -msgstr "" - -#: ../../library/stdtypes.rst:3327 -msgid "" -"Return a copy of the bytes or bytearray object where all bytes occurring in " -"the optional argument *delete* are removed, and the remaining bytes have " -"been mapped through the given translation table, which must be a bytes " -"object of length 256." -msgstr "" - -#: ../../library/stdtypes.rst:3332 -msgid "" -"You can use the :func:`bytes.maketrans` method to create a translation " -"table." -msgstr "" - -#: ../../library/stdtypes.rst:3335 -msgid "" -"Set the *table* argument to ``None`` for translations that only delete " -"characters::" -msgstr "" - -#: ../../library/stdtypes.rst:3338 -msgid "" -">>> b'read this short text'.translate(None, b'aeiou')\n" -"b'rd ths shrt txt'" -msgstr "" - -#: ../../library/stdtypes.rst:3341 -msgid "*delete* is now supported as a keyword argument." -msgstr "" - -#: ../../library/stdtypes.rst:3345 -msgid "" -"The following methods on bytes and bytearray objects have default behaviours" -" that assume the use of ASCII compatible binary formats, but can still be " -"used with arbitrary binary data by passing appropriate arguments. Note that " -"all of the bytearray methods in this section do *not* operate in place, and " -"instead produce new objects." -msgstr "" - -#: ../../library/stdtypes.rst:3354 -msgid "" -"Return a copy of the object centered in a sequence of length *width*. " -"Padding is done using the specified *fillbyte* (default is an ASCII space). " -"For :class:`bytes` objects, the original sequence is returned if *width* is " -"less than or equal to ``len(s)``." -msgstr "" - -#: ../../library/stdtypes.rst:3368 -msgid "" -"Return a copy of the object left justified in a sequence of length *width*. " -"Padding is done using the specified *fillbyte* (default is an ASCII space). " -"For :class:`bytes` objects, the original sequence is returned if *width* is " -"less than or equal to ``len(s)``." -msgstr "" - -#: ../../library/stdtypes.rst:3382 -msgid "" -"Return a copy of the sequence with specified leading bytes removed. The " -"*chars* argument is a binary sequence specifying the set of byte values to " -"be removed - the name refers to the fact this method is usually used with " -"ASCII characters. If omitted or ``None``, the *chars* argument defaults to " -"removing ASCII whitespace. The *chars* argument is not a prefix; rather, " -"all combinations of its values are stripped::" -msgstr "" - -#: ../../library/stdtypes.rst:3389 -msgid "" -">>> b' spacious '.lstrip()\n" -"b'spacious '\n" -">>> b'www.example.com'.lstrip(b'cmowz.')\n" -"b'example.com'" -msgstr "" - -#: ../../library/stdtypes.rst:3394 -msgid "" -"The binary sequence of byte values to remove may be any :term:`bytes-like " -"object`. See :meth:`~bytes.removeprefix` for a method that will remove a " -"single prefix string rather than all of a set of characters. For example::" -msgstr "" - -#: ../../library/stdtypes.rst:3399 -msgid "" -">>> b'Arthur: three!'.lstrip(b'Arthur: ')\n" -"b'ee!'\n" -">>> b'Arthur: three!'.removeprefix(b'Arthur: ')\n" -"b'three!'" -msgstr "" - -#: ../../library/stdtypes.rst:3413 -msgid "" -"Return a copy of the object right justified in a sequence of length *width*." -" Padding is done using the specified *fillbyte* (default is an ASCII space)." -" For :class:`bytes` objects, the original sequence is returned if *width* is" -" less than or equal to ``len(s)``." -msgstr "" - -#: ../../library/stdtypes.rst:3427 -msgid "" -"Split the binary sequence into subsequences of the same type, using *sep* as" -" the delimiter string. If *maxsplit* is given, at most *maxsplit* splits are" -" done, the *rightmost* ones. If *sep* is not specified or ``None``, any " -"subsequence consisting solely of ASCII whitespace is a separator. Except for" -" splitting from the right, :meth:`rsplit` behaves like :meth:`split` which " -"is described in detail below." -msgstr "" - -#: ../../library/stdtypes.rst:3438 -msgid "" -"Return a copy of the sequence with specified trailing bytes removed. The " -"*chars* argument is a binary sequence specifying the set of byte values to " -"be removed - the name refers to the fact this method is usually used with " -"ASCII characters. If omitted or ``None``, the *chars* argument defaults to " -"removing ASCII whitespace. The *chars* argument is not a suffix; rather, " -"all combinations of its values are stripped::" -msgstr "" - -#: ../../library/stdtypes.rst:3445 -msgid "" -">>> b' spacious '.rstrip()\n" -"b' spacious'\n" -">>> b'mississippi'.rstrip(b'ipz')\n" -"b'mississ'" -msgstr "" - -#: ../../library/stdtypes.rst:3450 -msgid "" -"The binary sequence of byte values to remove may be any :term:`bytes-like " -"object`. See :meth:`~bytes.removesuffix` for a method that will remove a " -"single suffix string rather than all of a set of characters. For example::" -msgstr "" - -#: ../../library/stdtypes.rst:3455 -msgid "" -">>> b'Monty Python'.rstrip(b' Python')\n" -"b'M'\n" -">>> b'Monty Python'.removesuffix(b' Python')\n" -"b'Monty'" -msgstr "" - -#: ../../library/stdtypes.rst:3469 -msgid "" -"Split the binary sequence into subsequences of the same type, using *sep* as" -" the delimiter string. If *maxsplit* is given and non-negative, at most " -"*maxsplit* splits are done (thus, the list will have at most ``maxsplit+1`` " -"elements). If *maxsplit* is not specified or is ``-1``, then there is no " -"limit on the number of splits (all possible splits are made)." -msgstr "" - -#: ../../library/stdtypes.rst:3475 -msgid "" -"If *sep* is given, consecutive delimiters are not grouped together and are " -"deemed to delimit empty subsequences (for example, ``b'1,,2'.split(b',')`` " -"returns ``[b'1', b'', b'2']``). The *sep* argument may consist of a " -"multibyte sequence as a single delimiter. Splitting an empty sequence with a" -" specified separator returns ``[b'']`` or ``[bytearray(b'')]`` depending on " -"the type of object being split. The *sep* argument may be any :term:`bytes-" -"like object`." -msgstr "" - -#: ../../library/stdtypes.rst:3485 -msgid "" -">>> b'1,2,3'.split(b',')\n" -"[b'1', b'2', b'3']\n" -">>> b'1,2,3'.split(b',', maxsplit=1)\n" -"[b'1', b'2,3']\n" -">>> b'1,2,,3,'.split(b',')\n" -"[b'1', b'2', b'', b'3', b'']\n" -">>> b'1<>2<>3<4'.split(b'<>')\n" -"[b'1', b'2', b'3<4']" -msgstr "" - -#: ../../library/stdtypes.rst:3494 -msgid "" -"If *sep* is not specified or is ``None``, a different splitting algorithm is" -" applied: runs of consecutive ASCII whitespace are regarded as a single " -"separator, and the result will contain no empty strings at the start or end " -"if the sequence has leading or trailing whitespace. Consequently, splitting" -" an empty sequence or a sequence consisting solely of ASCII whitespace " -"without a specified separator returns ``[]``." -msgstr "" - -#: ../../library/stdtypes.rst:3504 -msgid "" -">>> b'1 2 3'.split()\n" -"[b'1', b'2', b'3']\n" -">>> b'1 2 3'.split(maxsplit=1)\n" -"[b'1', b'2 3']\n" -">>> b' 1 2 3 '.split()\n" -"[b'1', b'2', b'3']" -msgstr "" - -#: ../../library/stdtypes.rst:3515 -msgid "" -"Return a copy of the sequence with specified leading and trailing bytes " -"removed. The *chars* argument is a binary sequence specifying the set of " -"byte values to be removed - the name refers to the fact this method is " -"usually used with ASCII characters. If omitted or ``None``, the *chars* " -"argument defaults to removing ASCII whitespace. The *chars* argument is not " -"a prefix or suffix; rather, all combinations of its values are stripped::" -msgstr "" - -#: ../../library/stdtypes.rst:3523 -msgid "" -">>> b' spacious '.strip()\n" -"b'spacious'\n" -">>> b'www.example.com'.strip(b'cmowz.')\n" -"b'example'" -msgstr "" - -#: ../../library/stdtypes.rst:3528 -msgid "" -"The binary sequence of byte values to remove may be any :term:`bytes-like " -"object`." -msgstr "" - -#: ../../library/stdtypes.rst:3537 -msgid "" -"The following methods on bytes and bytearray objects assume the use of ASCII" -" compatible binary formats and should not be applied to arbitrary binary " -"data. Note that all of the bytearray methods in this section do *not* " -"operate in place, and instead produce new objects." -msgstr "" - -#: ../../library/stdtypes.rst:3545 -msgid "" -"Return a copy of the sequence with each byte interpreted as an ASCII " -"character, and the first byte capitalized and the rest lowercased. Non-ASCII" -" byte values are passed through unchanged." -msgstr "" - -#: ../../library/stdtypes.rst:3558 -msgid "" -"Return a copy of the sequence where all ASCII tab characters are replaced by" -" one or more ASCII spaces, depending on the current column and the given tab" -" size. Tab positions occur every *tabsize* bytes (default is 8, giving tab " -"positions at columns 0, 8, 16 and so on). To expand the sequence, the " -"current column is set to zero and the sequence is examined byte by byte. If" -" the byte is an ASCII tab character (``b'\\t'``), one or more space " -"characters are inserted in the result until the current column is equal to " -"the next tab position. (The tab character itself is not copied.) If the " -"current byte is an ASCII newline (``b'\\n'``) or carriage return " -"(``b'\\r'``), it is copied and the current column is reset to zero. Any " -"other byte value is copied unchanged and the current column is incremented " -"by one regardless of how the byte value is represented when printed::" -msgstr "" - -#: ../../library/stdtypes.rst:3572 -msgid "" -">>> b'01\\t012\\t0123\\t01234'.expandtabs()\n" -"b'01 012 0123 01234'\n" -">>> b'01\\t012\\t0123\\t01234'.expandtabs(4)\n" -"b'01 012 0123 01234'" -msgstr "" - -#: ../../library/stdtypes.rst:3586 -msgid "" -"Return ``True`` if all bytes in the sequence are alphabetical ASCII " -"characters or ASCII decimal digits and the sequence is not empty, ``False`` " -"otherwise. Alphabetic ASCII characters are those byte values in the sequence" -" ``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``. ASCII decimal " -"digits are those byte values in the sequence ``b'0123456789'``." -msgstr "" - -#: ../../library/stdtypes.rst:3594 -msgid "" -">>> b'ABCabc1'.isalnum()\n" -"True\n" -">>> b'ABC abc1'.isalnum()\n" -"False" -msgstr "" - -#: ../../library/stdtypes.rst:3603 -msgid "" -"Return ``True`` if all bytes in the sequence are alphabetic ASCII characters" -" and the sequence is not empty, ``False`` otherwise. Alphabetic ASCII " -"characters are those byte values in the sequence " -"``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -msgstr "" - -#: ../../library/stdtypes.rst:3610 -msgid "" -">>> b'ABCabc'.isalpha()\n" -"True\n" -">>> b'ABCabc1'.isalpha()\n" -"False" -msgstr "" - -#: ../../library/stdtypes.rst:3619 -msgid "" -"Return ``True`` if the sequence is empty or all bytes in the sequence are " -"ASCII, ``False`` otherwise. ASCII bytes are in the range 0-0x7F." -msgstr "" - -#: ../../library/stdtypes.rst:3629 -msgid "" -"Return ``True`` if all bytes in the sequence are ASCII decimal digits and " -"the sequence is not empty, ``False`` otherwise. ASCII decimal digits are " -"those byte values in the sequence ``b'0123456789'``." -msgstr "" - -#: ../../library/stdtypes.rst:3635 -msgid "" -">>> b'1234'.isdigit()\n" -"True\n" -">>> b'1.23'.isdigit()\n" -"False" -msgstr "" - -#: ../../library/stdtypes.rst:3644 -msgid "" -"Return ``True`` if there is at least one lowercase ASCII character in the " -"sequence and no uppercase ASCII characters, ``False`` otherwise." -msgstr "" - -#: ../../library/stdtypes.rst:3649 -msgid "" -">>> b'hello world'.islower()\n" -"True\n" -">>> b'Hello world'.islower()\n" -"False" -msgstr "" - -#: ../../library/stdtypes.rst:3654 ../../library/stdtypes.rst:3696 -#: ../../library/stdtypes.rst:3712 ../../library/stdtypes.rst:3762 -#: ../../library/stdtypes.rst:3831 -msgid "" -"Lowercase ASCII characters are those byte values in the sequence " -"``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte" -" values in the sequence ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -msgstr "" - -#: ../../library/stdtypes.rst:3662 -msgid "" -"Return ``True`` if all bytes in the sequence are ASCII whitespace and the " -"sequence is not empty, ``False`` otherwise. ASCII whitespace characters are" -" those byte values in the sequence ``b' \\t\\n\\r\\x0b\\f'`` (space, tab, " -"newline, carriage return, vertical tab, form feed)." -msgstr "" - -#: ../../library/stdtypes.rst:3671 -msgid "" -"Return ``True`` if the sequence is ASCII titlecase and the sequence is not " -"empty, ``False`` otherwise. See :meth:`bytes.title` for more details on the " -"definition of \"titlecase\"." -msgstr "" - -#: ../../library/stdtypes.rst:3677 -msgid "" -">>> b'Hello World'.istitle()\n" -"True\n" -">>> b'Hello world'.istitle()\n" -"False" -msgstr "" - -#: ../../library/stdtypes.rst:3686 -msgid "" -"Return ``True`` if there is at least one uppercase alphabetic ASCII " -"character in the sequence and no lowercase ASCII characters, ``False`` " -"otherwise." -msgstr "" - -#: ../../library/stdtypes.rst:3691 -msgid "" -">>> b'HELLO WORLD'.isupper()\n" -"True\n" -">>> b'Hello world'.isupper()\n" -"False" -msgstr "" - -#: ../../library/stdtypes.rst:3704 -msgid "" -"Return a copy of the sequence with all the uppercase ASCII characters " -"converted to their corresponding lowercase counterpart." -msgstr "" - -#: ../../library/stdtypes.rst:3709 -msgid "" -">>> b'Hello World'.lower()\n" -"b'hello world'" -msgstr "" - -#: ../../library/stdtypes.rst:3729 -msgid "" -"Return a list of the lines in the binary sequence, breaking at ASCII line " -"boundaries. This method uses the :term:`universal newlines` approach to " -"splitting lines. Line breaks are not included in the resulting list unless " -"*keepends* is given and true." -msgstr "" - -#: ../../library/stdtypes.rst:3736 -msgid "" -">>> b'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines()\n" -"[b'ab c', b'', b'de fg', b'kl']\n" -">>> b'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines(keepends=True)\n" -"[b'ab c\\n', b'\\n', b'de fg\\r', b'kl\\r\\n']" -msgstr "" - -#: ../../library/stdtypes.rst:3741 -msgid "" -"Unlike :meth:`~bytes.split` when a delimiter string *sep* is given, this " -"method returns an empty list for the empty string, and a terminal line break" -" does not result in an extra line::" -msgstr "" - -#: ../../library/stdtypes.rst:3745 -msgid "" -">>> b\"\".split(b'\\n'), b\"Two lines\\n\".split(b'\\n')\n" -"([b''], [b'Two lines', b''])\n" -">>> b\"\".splitlines(), b\"One line\\n\".splitlines()\n" -"([], [b'One line'])" -msgstr "" - -#: ../../library/stdtypes.rst:3754 -msgid "" -"Return a copy of the sequence with all the lowercase ASCII characters " -"converted to their corresponding uppercase counterpart and vice-versa." -msgstr "" - -#: ../../library/stdtypes.rst:3759 -msgid "" -">>> b'Hello World'.swapcase()\n" -"b'hELLO wORLD'" -msgstr "" - -#: ../../library/stdtypes.rst:3766 -msgid "" -"Unlike :func:`str.swapcase`, it is always the case that " -"``bin.swapcase().swapcase() == bin`` for the binary versions. Case " -"conversions are symmetrical in ASCII, even though that is not generally true" -" for arbitrary Unicode code points." -msgstr "" - -#: ../../library/stdtypes.rst:3780 -msgid "" -"Return a titlecased version of the binary sequence where words start with an" -" uppercase ASCII character and the remaining characters are lowercase. " -"Uncased byte values are left unmodified." -msgstr "" - -#: ../../library/stdtypes.rst:3786 -msgid "" -">>> b'Hello world'.title()\n" -"b'Hello World'" -msgstr "" - -#: ../../library/stdtypes.rst:3789 -msgid "" -"Lowercase ASCII characters are those byte values in the sequence " -"``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte" -" values in the sequence ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. All other byte " -"values are uncased." -msgstr "" - -#: ../../library/stdtypes.rst:3799 -msgid "" -">>> b\"they're bill's friends from the UK\".title()\n" -"b\"They'Re Bill'S Friends From The Uk\"" -msgstr "" - -#: ../../library/stdtypes.rst:3802 -msgid "" -"A workaround for apostrophes can be constructed using regular expressions::" -msgstr "" - -#: ../../library/stdtypes.rst:3804 -msgid "" -">>> import re\n" -">>> def titlecase(s):\n" -"... return re.sub(rb\"[A-Za-z]+('[A-Za-z]+)?\",\n" -"... lambda mo: mo.group(0)[0:1].upper() +\n" -"... mo.group(0)[1:].lower(),\n" -"... s)\n" -"...\n" -">>> titlecase(b\"they're bill's friends.\")\n" -"b\"They're Bill's Friends.\"" -msgstr "" - -#: ../../library/stdtypes.rst:3823 -msgid "" -"Return a copy of the sequence with all the lowercase ASCII characters " -"converted to their corresponding uppercase counterpart." -msgstr "" - -#: ../../library/stdtypes.rst:3828 -msgid "" -">>> b'Hello World'.upper()\n" -"b'HELLO WORLD'" -msgstr "" - -#: ../../library/stdtypes.rst:3844 -msgid "" -"Return a copy of the sequence left filled with ASCII ``b'0'`` digits to make" -" a sequence of length *width*. A leading sign prefix (``b'+'``/ ``b'-'``) is" -" handled by inserting the padding *after* the sign character rather than " -"before. For :class:`bytes` objects, the original sequence is returned if " -"*width* is less than or equal to ``len(seq)``." -msgstr "" - -#: ../../library/stdtypes.rst:3852 -msgid "" -">>> b\"42\".zfill(5)\n" -"b'00042'\n" -">>> b\"-42\".zfill(5)\n" -"b'-0042'" -msgstr "" - -#: ../../library/stdtypes.rst:3866 -msgid "``printf``-style Bytes Formatting" -msgstr "" - -#: ../../library/stdtypes.rst:3883 -msgid "" -"The formatting operations described here exhibit a variety of quirks that " -"lead to a number of common errors (such as failing to display tuples and " -"dictionaries correctly). If the value being printed may be a tuple or " -"dictionary, wrap it in a tuple." -msgstr "" - -#: ../../library/stdtypes.rst:3888 -msgid "" -"Bytes objects (``bytes``/``bytearray``) have one unique built-in operation: " -"the ``%`` operator (modulo). This is also known as the bytes *formatting* or" -" *interpolation* operator. Given ``format % values`` (where *format* is a " -"bytes object), ``%`` conversion specifications in *format* are replaced with" -" zero or more elements of *values*. The effect is similar to using the " -":c:func:`sprintf` in the C language." -msgstr "" - -#: ../../library/stdtypes.rst:3895 -msgid "" -"If *format* requires a single argument, *values* may be a single non-tuple " -"object. [5]_ Otherwise, *values* must be a tuple with exactly the number of" -" items specified by the format bytes object, or a single mapping object (for" -" example, a dictionary)." -msgstr "" - -#: ../../library/stdtypes.rst:3929 -msgid "" -"When the right argument is a dictionary (or other mapping type), then the " -"formats in the bytes object *must* include a parenthesised mapping key into " -"that dictionary inserted immediately after the ``'%'`` character. The " -"mapping key selects the value to be formatted from the mapping. For " -"example:" -msgstr "" - -#: ../../library/stdtypes.rst:4003 -msgid "Single byte (accepts integer or single byte objects)." -msgstr "" - -#: ../../library/stdtypes.rst:4006 -msgid "``'b'``" -msgstr "``'b'``" - -#: ../../library/stdtypes.rst:4006 -msgid "" -"Bytes (any object that follows the :ref:`buffer protocol ` or" -" has :meth:`~object.__bytes__`)." -msgstr "" - -#: ../../library/stdtypes.rst:4010 -msgid "" -"``'s'`` is an alias for ``'b'`` and should only be used for Python2/3 code " -"bases." -msgstr "" - -#: ../../library/stdtypes.rst:4013 -msgid "" -"Bytes (converts any Python object using ``repr(obj).encode('ascii', " -"'backslashreplace')``)." -msgstr "" - -#: ../../library/stdtypes.rst:4016 -msgid "" -"``'r'`` is an alias for ``'a'`` and should only be used for Python2/3 code " -"bases." -msgstr "" - -#: ../../library/stdtypes.rst:4016 -msgid "\\(7)" -msgstr "\\(7)" - -#: ../../library/stdtypes.rst:4051 -msgid "" -"``b'%s'`` is deprecated, but will not be removed during the 3.x series." -msgstr "" - -#: ../../library/stdtypes.rst:4054 -msgid "" -"``b'%r'`` is deprecated, but will not be removed during the 3.x series." -msgstr "" - -#: ../../library/stdtypes.rst:4066 -msgid ":pep:`461` - Adding % formatting to bytes and bytearray" -msgstr "" - -#: ../../library/stdtypes.rst:4073 -msgid "Memory Views" -msgstr "" - -#: ../../library/stdtypes.rst:4075 -msgid "" -":class:`memoryview` objects allow Python code to access the internal data of" -" an object that supports the :ref:`buffer protocol ` without " -"copying." -msgstr "" - -#: ../../library/stdtypes.rst:4081 -msgid "" -"Create a :class:`memoryview` that references *object*. *object* must " -"support the buffer protocol. Built-in objects that support the buffer " -"protocol include :class:`bytes` and :class:`bytearray`." -msgstr "" - -#: ../../library/stdtypes.rst:4085 -msgid "" -"A :class:`memoryview` has the notion of an *element*, which is the atomic " -"memory unit handled by the originating *object*. For many simple types such" -" as :class:`bytes` and :class:`bytearray`, an element is a single byte, but " -"other types such as :class:`array.array` may have bigger elements." -msgstr "" - -#: ../../library/stdtypes.rst:4090 -msgid "" -"``len(view)`` is equal to the length of :class:`~memoryview.tolist`, which " -"is the nested list representation of the view. If ``view.ndim = 1``, this is" -" equal to the number of elements in the view." -msgstr "" - -#: ../../library/stdtypes.rst:4094 -msgid "" -"If ``view.ndim == 0``, ``len(view)`` now raises :exc:`TypeError` instead of " -"returning 1." -msgstr "" - -#: ../../library/stdtypes.rst:4097 -msgid "" -"The :class:`~memoryview.itemsize` attribute will give you the number of " -"bytes in a single element." -msgstr "" - -#: ../../library/stdtypes.rst:4100 -msgid "" -"A :class:`memoryview` supports slicing and indexing to expose its data. One-" -"dimensional slicing will result in a subview::" -msgstr "" - -#: ../../library/stdtypes.rst:4103 -msgid "" -">>> v = memoryview(b'abcefg')\n" -">>> v[1]\n" -"98\n" -">>> v[-1]\n" -"103\n" -">>> v[1:4]\n" -"\n" -">>> bytes(v[1:4])\n" -"b'bce'" -msgstr "" - -#: ../../library/stdtypes.rst:4113 -msgid "" -"If :class:`~memoryview.format` is one of the native format specifiers from " -"the :mod:`struct` module, indexing with an integer or a tuple of integers is" -" also supported and returns a single *element* with the correct type. One-" -"dimensional memoryviews can be indexed with an integer or a one-integer " -"tuple. Multi-dimensional memoryviews can be indexed with tuples of exactly " -"*ndim* integers where *ndim* is the number of dimensions. Zero-dimensional " -"memoryviews can be indexed with the empty tuple." -msgstr "" - -#: ../../library/stdtypes.rst:4122 -msgid "Here is an example with a non-byte format::" -msgstr "" - -#: ../../library/stdtypes.rst:4124 -msgid "" -">>> import array\n" -">>> a = array.array('l', [-11111111, 22222222, -33333333, 44444444])\n" -">>> m = memoryview(a)\n" -">>> m[0]\n" -"-11111111\n" -">>> m[-1]\n" -"44444444\n" -">>> m[::2].tolist()\n" -"[-11111111, -33333333]" -msgstr "" - -#: ../../library/stdtypes.rst:4134 -msgid "" -"If the underlying object is writable, the memoryview supports one-" -"dimensional slice assignment. Resizing is not allowed::" -msgstr "" - -#: ../../library/stdtypes.rst:4137 -msgid "" -">>> data = bytearray(b'abcefg')\n" -">>> v = memoryview(data)\n" -">>> v.readonly\n" -"False\n" -">>> v[0] = ord(b'z')\n" -">>> data\n" -"bytearray(b'zbcefg')\n" -">>> v[1:4] = b'123'\n" -">>> data\n" -"bytearray(b'z123fg')\n" -">>> v[2:3] = b'spam'\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ValueError: memoryview assignment: lvalue and rvalue have different structures\n" -">>> v[2:6] = b'spam'\n" -">>> data\n" -"bytearray(b'z1spam')" -msgstr "" - -#: ../../library/stdtypes.rst:4155 -msgid "" -"One-dimensional memoryviews of :term:`hashable` (read-only) types with " -"formats 'B', 'b' or 'c' are also hashable. The hash is defined as ``hash(m) " -"== hash(m.tobytes())``::" -msgstr "" - -#: ../../library/stdtypes.rst:4159 -msgid "" -">>> v = memoryview(b'abcefg')\n" -">>> hash(v) == hash(b'abcefg')\n" -"True\n" -">>> hash(v[2:4]) == hash(b'ce')\n" -"True\n" -">>> hash(v[::-2]) == hash(b'abcefg'[::-2])\n" -"True" -msgstr "" - -#: ../../library/stdtypes.rst:4167 -msgid "" -"One-dimensional memoryviews can now be sliced. One-dimensional memoryviews " -"with formats 'B', 'b' or 'c' are now :term:`hashable`." -msgstr "" - -#: ../../library/stdtypes.rst:4171 -msgid "" -"memoryview is now registered automatically with " -":class:`collections.abc.Sequence`" -msgstr "" - -#: ../../library/stdtypes.rst:4175 -msgid "memoryviews can now be indexed with tuple of integers." -msgstr "" - -#: ../../library/stdtypes.rst:4178 -msgid "memoryview is now a :term:`generic type`." -msgstr "" - -#: ../../library/stdtypes.rst:4181 -msgid ":class:`memoryview` has several methods:" -msgstr "" - -#: ../../library/stdtypes.rst:4185 -msgid "" -"A memoryview and a :pep:`3118` exporter are equal if their shapes are " -"equivalent and if all corresponding values are equal when the operands' " -"respective format codes are interpreted using :mod:`struct` syntax." -msgstr "" - -#: ../../library/stdtypes.rst:4189 -msgid "" -"For the subset of :mod:`struct` format strings currently supported by " -":meth:`tolist`, ``v`` and ``w`` are equal if ``v.tolist() == w.tolist()``::" -msgstr "" - -#: ../../library/stdtypes.rst:4192 -msgid "" -">>> import array\n" -">>> a = array.array('I', [1, 2, 3, 4, 5])\n" -">>> b = array.array('d', [1.0, 2.0, 3.0, 4.0, 5.0])\n" -">>> c = array.array('b', [5, 3, 1])\n" -">>> x = memoryview(a)\n" -">>> y = memoryview(b)\n" -">>> x == a == y == b\n" -"True\n" -">>> x.tolist() == a.tolist() == y.tolist() == b.tolist()\n" -"True\n" -">>> z = y[::-2]\n" -">>> z == c\n" -"True\n" -">>> z.tolist() == c.tolist()\n" -"True" -msgstr "" - -#: ../../library/stdtypes.rst:4208 -msgid "" -"If either format string is not supported by the :mod:`struct` module, then " -"the objects will always compare as unequal (even if the format strings and " -"buffer contents are identical)::" -msgstr "" - -#: ../../library/stdtypes.rst:4212 -msgid "" -">>> from ctypes import BigEndianStructure, c_long\n" -">>> class BEPoint(BigEndianStructure):\n" -"... _fields_ = [(\"x\", c_long), (\"y\", c_long)]\n" -"...\n" -">>> point = BEPoint(100, 200)\n" -">>> a = memoryview(point)\n" -">>> b = memoryview(point)\n" -">>> a == point\n" -"False\n" -">>> a == b\n" -"False" -msgstr "" - -#: ../../library/stdtypes.rst:4224 -msgid "" -"Note that, as with floating-point numbers, ``v is w`` does *not* imply ``v " -"== w`` for memoryview objects." -msgstr "" - -#: ../../library/stdtypes.rst:4227 -msgid "" -"Previous versions compared the raw memory disregarding the item format and " -"the logical array structure." -msgstr "" - -#: ../../library/stdtypes.rst:4233 -msgid "" -"Return the data in the buffer as a bytestring. This is equivalent to " -"calling the :class:`bytes` constructor on the memoryview. ::" -msgstr "" - -#: ../../library/stdtypes.rst:4236 -msgid "" -">>> m = memoryview(b\"abc\")\n" -">>> m.tobytes()\n" -"b'abc'\n" -">>> bytes(m)\n" -"b'abc'" -msgstr "" - -#: ../../library/stdtypes.rst:4242 -msgid "" -"For non-contiguous arrays the result is equal to the flattened list " -"representation with all elements converted to bytes. :meth:`tobytes` " -"supports all format strings, including those that are not in :mod:`struct` " -"module syntax." -msgstr "" - -#: ../../library/stdtypes.rst:4247 -msgid "" -"*order* can be {'C', 'F', 'A'}. When *order* is 'C' or 'F', the data of the" -" original array is converted to C or Fortran order. For contiguous views, " -"'A' returns an exact copy of the physical memory. In particular, in-memory " -"Fortran order is preserved. For non-contiguous views, the data is converted " -"to C first. *order=None* is the same as *order='C'*." -msgstr "" - -#: ../../library/stdtypes.rst:4256 -msgid "" -"Return a string object containing two hexadecimal digits for each byte in " -"the buffer. ::" -msgstr "" - -#: ../../library/stdtypes.rst:4259 -msgid "" -">>> m = memoryview(b\"abc\")\n" -">>> m.hex()\n" -"'616263'" -msgstr "" - -#: ../../library/stdtypes.rst:4265 -msgid "" -"Similar to :meth:`bytes.hex`, :meth:`memoryview.hex` now supports optional " -"*sep* and *bytes_per_sep* parameters to insert separators between bytes in " -"the hex output." -msgstr "" - -#: ../../library/stdtypes.rst:4272 -msgid "Return the data in the buffer as a list of elements. ::" -msgstr "" - -#: ../../library/stdtypes.rst:4274 -msgid "" -">>> memoryview(b'abc').tolist()\n" -"[97, 98, 99]\n" -">>> import array\n" -">>> a = array.array('d', [1.1, 2.2, 3.3])\n" -">>> m = memoryview(a)\n" -">>> m.tolist()\n" -"[1.1, 2.2, 3.3]" -msgstr "" - -#: ../../library/stdtypes.rst:4282 -msgid "" -":meth:`tolist` now supports all single character native formats in " -":mod:`struct` module syntax as well as multi-dimensional representations." -msgstr "" - -#: ../../library/stdtypes.rst:4289 -msgid "" -"Return a readonly version of the memoryview object. The original memoryview" -" object is unchanged. ::" -msgstr "" - -#: ../../library/stdtypes.rst:4292 -msgid "" -">>> m = memoryview(bytearray(b'abc'))\n" -">>> mm = m.toreadonly()\n" -">>> mm.tolist()\n" -"[97, 98, 99]\n" -">>> mm[0] = 42\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: cannot modify read-only memory\n" -">>> m[0] = 43\n" -">>> mm.tolist()\n" -"[43, 98, 99]" -msgstr "" - -#: ../../library/stdtypes.rst:4308 -msgid "" -"Release the underlying buffer exposed by the memoryview object. Many " -"objects take special actions when a view is held on them (for example, a " -":class:`bytearray` would temporarily forbid resizing); therefore, calling " -"release() is handy to remove these restrictions (and free any dangling " -"resources) as soon as possible." -msgstr "" - -#: ../../library/stdtypes.rst:4314 -msgid "" -"After this method has been called, any further operation on the view raises " -"a :class:`ValueError` (except :meth:`release` itself which can be called " -"multiple times)::" -msgstr "" - -#: ../../library/stdtypes.rst:4318 -msgid "" -">>> m = memoryview(b'abc')\n" -">>> m.release()\n" -">>> m[0]\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ValueError: operation forbidden on released memoryview object" -msgstr "" - -#: ../../library/stdtypes.rst:4325 -msgid "" -"The context management protocol can be used for a similar effect, using the " -"``with`` statement::" -msgstr "" - -#: ../../library/stdtypes.rst:4328 -msgid "" -">>> with memoryview(b'abc') as m:\n" -"... m[0]\n" -"...\n" -"97\n" -">>> m[0]\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ValueError: operation forbidden on released memoryview object" -msgstr "" - -#: ../../library/stdtypes.rst:4341 -msgid "" -"Cast a memoryview to a new format or shape. *shape* defaults to " -"``[byte_length//new_itemsize]``, which means that the result view will be " -"one-dimensional. The return value is a new memoryview, but the buffer itself" -" is not copied. Supported casts are 1D -> C-:term:`contiguous` and " -"C-contiguous -> 1D." -msgstr "" - -#: ../../library/stdtypes.rst:4347 -msgid "" -"The destination format is restricted to a single element native format in " -":mod:`struct` syntax. One of the formats must be a byte format ('B', 'b' or " -"'c'). The byte length of the result must be the same as the original length." -" Note that all byte lengths may depend on the operating system." -msgstr "" - -#: ../../library/stdtypes.rst:4353 -msgid "Cast 1D/long to 1D/unsigned bytes::" -msgstr "" - -#: ../../library/stdtypes.rst:4355 -msgid "" -">>> import array\n" -">>> a = array.array('l', [1,2,3])\n" -">>> x = memoryview(a)\n" -">>> x.format\n" -"'l'\n" -">>> x.itemsize\n" -"8\n" -">>> len(x)\n" -"3\n" -">>> x.nbytes\n" -"24\n" -">>> y = x.cast('B')\n" -">>> y.format\n" -"'B'\n" -">>> y.itemsize\n" -"1\n" -">>> len(y)\n" -"24\n" -">>> y.nbytes\n" -"24" -msgstr "" - -#: ../../library/stdtypes.rst:4376 -msgid "Cast 1D/unsigned bytes to 1D/char::" -msgstr "" - -#: ../../library/stdtypes.rst:4378 -msgid "" -">>> b = bytearray(b'zyz')\n" -">>> x = memoryview(b)\n" -">>> x[0] = b'a'\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: memoryview: invalid type for format 'B'\n" -">>> y = x.cast('c')\n" -">>> y[0] = b'a'\n" -">>> b\n" -"bytearray(b'ayz')" -msgstr "" - -#: ../../library/stdtypes.rst:4389 -msgid "Cast 1D/bytes to 3D/ints to 1D/signed char::" -msgstr "" - -#: ../../library/stdtypes.rst:4391 -msgid "" -">>> import struct\n" -">>> buf = struct.pack(\"i\"*12, *list(range(12)))\n" -">>> x = memoryview(buf)\n" -">>> y = x.cast('i', shape=[2,2,3])\n" -">>> y.tolist()\n" -"[[[0, 1, 2], [3, 4, 5]], [[6, 7, 8], [9, 10, 11]]]\n" -">>> y.format\n" -"'i'\n" -">>> y.itemsize\n" -"4\n" -">>> len(y)\n" -"2\n" -">>> y.nbytes\n" -"48\n" -">>> z = y.cast('b')\n" -">>> z.format\n" -"'b'\n" -">>> z.itemsize\n" -"1\n" -">>> len(z)\n" -"48\n" -">>> z.nbytes\n" -"48" -msgstr "" - -#: ../../library/stdtypes.rst:4415 -msgid "Cast 1D/unsigned long to 2D/unsigned long::" -msgstr "" - -#: ../../library/stdtypes.rst:4417 -msgid "" -">>> buf = struct.pack(\"L\"*6, *list(range(6)))\n" -">>> x = memoryview(buf)\n" -">>> y = x.cast('L', shape=[2,3])\n" -">>> len(y)\n" -"2\n" -">>> y.nbytes\n" -"48\n" -">>> y.tolist()\n" -"[[0, 1, 2], [3, 4, 5]]" -msgstr "" - -#: ../../library/stdtypes.rst:4429 -msgid "The source format is no longer restricted when casting to a byte view." -msgstr "" - -#: ../../library/stdtypes.rst:4434 -msgid "Count the number of occurrences of *value*." -msgstr "" - -#: ../../library/stdtypes.rst:4440 -msgid "" -"Return the index of the first occurrence of *value* (at or after index " -"*start* and before index *stop*)." -msgstr "" - -#: ../../library/stdtypes.rst:4443 -msgid "Raises a :exc:`ValueError` if *value* cannot be found." -msgstr "" - -#: ../../library/stdtypes.rst:4447 -msgid "There are also several readonly attributes available:" -msgstr "" - -#: ../../library/stdtypes.rst:4451 -msgid "The underlying object of the memoryview::" -msgstr "" - -#: ../../library/stdtypes.rst:4453 -msgid "" -">>> b = bytearray(b'xyz')\n" -">>> m = memoryview(b)\n" -">>> m.obj is b\n" -"True" -msgstr "" - -#: ../../library/stdtypes.rst:4462 -msgid "" -"``nbytes == product(shape) * itemsize == len(m.tobytes())``. This is the " -"amount of space in bytes that the array would use in a contiguous " -"representation. It is not necessarily equal to ``len(m)``::" -msgstr "" - -#: ../../library/stdtypes.rst:4466 -msgid "" -">>> import array\n" -">>> a = array.array('i', [1,2,3,4,5])\n" -">>> m = memoryview(a)\n" -">>> len(m)\n" -"5\n" -">>> m.nbytes\n" -"20\n" -">>> y = m[::2]\n" -">>> len(y)\n" -"3\n" -">>> y.nbytes\n" -"12\n" -">>> len(y.tobytes())\n" -"12" -msgstr "" - -#: ../../library/stdtypes.rst:4481 -msgid "Multi-dimensional arrays::" -msgstr "" - -#: ../../library/stdtypes.rst:4483 -msgid "" -">>> import struct\n" -">>> buf = struct.pack(\"d\"*12, *[1.5*x for x in range(12)])\n" -">>> x = memoryview(buf)\n" -">>> y = x.cast('d', shape=[3,4])\n" -">>> y.tolist()\n" -"[[0.0, 1.5, 3.0, 4.5], [6.0, 7.5, 9.0, 10.5], [12.0, 13.5, 15.0, 16.5]]\n" -">>> len(y)\n" -"3\n" -">>> y.nbytes\n" -"96" -msgstr "" - -#: ../../library/stdtypes.rst:4498 -msgid "A bool indicating whether the memory is read only." -msgstr "" - -#: ../../library/stdtypes.rst:4502 -msgid "" -"A string containing the format (in :mod:`struct` module style) for each " -"element in the view. A memoryview can be created from exporters with " -"arbitrary format strings, but some methods (e.g. :meth:`tolist`) are " -"restricted to native single element formats." -msgstr "" - -#: ../../library/stdtypes.rst:4507 -msgid "" -"format ``'B'`` is now handled according to the struct module syntax. This " -"means that ``memoryview(b'abc')[0] == b'abc'[0] == 97``." -msgstr "" - -#: ../../library/stdtypes.rst:4513 -msgid "The size in bytes of each element of the memoryview::" -msgstr "" - -#: ../../library/stdtypes.rst:4515 -msgid "" -">>> import array, struct\n" -">>> m = memoryview(array.array('H', [32000, 32001, 32002]))\n" -">>> m.itemsize\n" -"2\n" -">>> m[0]\n" -"32000\n" -">>> struct.calcsize('H') == m.itemsize\n" -"True" -msgstr "" - -#: ../../library/stdtypes.rst:4526 -msgid "" -"An integer indicating how many dimensions of a multi-dimensional array the " -"memory represents." -msgstr "" - -#: ../../library/stdtypes.rst:4531 -msgid "" -"A tuple of integers the length of :attr:`ndim` giving the shape of the " -"memory as an N-dimensional array." -msgstr "" - -#: ../../library/stdtypes.rst:4534 ../../library/stdtypes.rst:4542 -msgid "An empty tuple instead of ``None`` when ndim = 0." -msgstr "" - -#: ../../library/stdtypes.rst:4539 -msgid "" -"A tuple of integers the length of :attr:`ndim` giving the size in bytes to " -"access each element for each dimension of the array." -msgstr "" - -#: ../../library/stdtypes.rst:4547 -msgid "Used internally for PIL-style arrays. The value is informational only." -msgstr "" - -#: ../../library/stdtypes.rst:4551 -msgid "A bool indicating whether the memory is C-:term:`contiguous`." -msgstr "" - -#: ../../library/stdtypes.rst:4557 -msgid "A bool indicating whether the memory is Fortran :term:`contiguous`." -msgstr "" - -#: ../../library/stdtypes.rst:4563 -msgid "A bool indicating whether the memory is :term:`contiguous`." -msgstr "" - -#: ../../library/stdtypes.rst:4571 -msgid "Set Types --- :class:`set`, :class:`frozenset`" -msgstr "" - -#: ../../library/stdtypes.rst:4575 -msgid "" -"A :dfn:`set` object is an unordered collection of distinct :term:`hashable` " -"objects. Common uses include membership testing, removing duplicates from a " -"sequence, and computing mathematical operations such as intersection, union," -" difference, and symmetric difference. (For other containers see the built-" -"in :class:`dict`, :class:`list`, and :class:`tuple` classes, and the " -":mod:`collections` module.)" -msgstr "" - -#: ../../library/stdtypes.rst:4582 -msgid "" -"Like other collections, sets support ``x in set``, ``len(set)``, and ``for x" -" in set``. Being an unordered collection, sets do not record element " -"position or order of insertion. Accordingly, sets do not support indexing, " -"slicing, or other sequence-like behavior." -msgstr "" - -#: ../../library/stdtypes.rst:4587 -msgid "" -"There are currently two built-in set types, :class:`set` and " -":class:`frozenset`. The :class:`set` type is mutable --- the contents can be" -" changed using methods like :meth:`~set.add` and :meth:`~set.remove`. Since" -" it is mutable, it has no hash value and cannot be used as either a " -"dictionary key or as an element of another set. The :class:`frozenset` type" -" is immutable and :term:`hashable` --- its contents cannot be altered after " -"it is created; it can therefore be used as a dictionary key or as an element" -" of another set." -msgstr "" - -#: ../../library/stdtypes.rst:4595 -msgid "" -"Non-empty sets (not frozensets) can be created by placing a comma-separated " -"list of elements within braces, for example: ``{'jack', 'sjoerd'}``, in " -"addition to the :class:`set` constructor." -msgstr "" - -#: ../../library/stdtypes.rst:4599 -msgid "The constructors for both classes work the same:" -msgstr "" - -#: ../../library/stdtypes.rst:4604 -msgid "" -"Return a new set or frozenset object whose elements are taken from " -"*iterable*. The elements of a set must be :term:`hashable`. To represent " -"sets of sets, the inner sets must be :class:`frozenset` objects. If " -"*iterable* is not specified, a new empty set is returned." -msgstr "" - -#: ../../library/stdtypes.rst:4610 -msgid "Sets can be created by several means:" -msgstr "" - -#: ../../library/stdtypes.rst:4612 -msgid "" -"Use a comma-separated list of elements within braces: ``{'jack', 'sjoerd'}``" -msgstr "" - -#: ../../library/stdtypes.rst:4613 -msgid "" -"Use a set comprehension: ``{c for c in 'abracadabra' if c not in 'abc'}``" -msgstr "" - -#: ../../library/stdtypes.rst:4614 -msgid "" -"Use the type constructor: ``set()``, ``set('foobar')``, ``set(['a', 'b', " -"'foo'])``" -msgstr "" - -#: ../../library/stdtypes.rst:4616 -msgid "" -"Instances of :class:`set` and :class:`frozenset` provide the following " -"operations:" -msgstr "" - -#: ../../library/stdtypes.rst:4621 -msgid "Return the number of elements in set *s* (cardinality of *s*)." -msgstr "" - -#: ../../library/stdtypes.rst:4625 -msgid "Test *x* for membership in *s*." -msgstr "" - -#: ../../library/stdtypes.rst:4629 -msgid "Test *x* for non-membership in *s*." -msgstr "" - -#: ../../library/stdtypes.rst:4633 -msgid "" -"Return ``True`` if the set has no elements in common with *other*. Sets are" -" disjoint if and only if their intersection is the empty set." -msgstr "" - -#: ../../library/stdtypes.rst:4639 -msgid "Test whether every element in the set is in *other*." -msgstr "" - -#: ../../library/stdtypes.rst:4643 -msgid "" -"Test whether the set is a proper subset of *other*, that is, ``set <= other " -"and set != other``." -msgstr "" - -#: ../../library/stdtypes.rst:4649 -msgid "Test whether every element in *other* is in the set." -msgstr "" - -#: ../../library/stdtypes.rst:4653 -msgid "" -"Test whether the set is a proper superset of *other*, that is, ``set >= " -"other and set != other``." -msgstr "" - -#: ../../library/stdtypes.rst:4659 -msgid "Return a new set with elements from the set and all others." -msgstr "" - -#: ../../library/stdtypes.rst:4664 -msgid "Return a new set with elements common to the set and all others." -msgstr "" - -#: ../../library/stdtypes.rst:4669 -msgid "Return a new set with elements in the set that are not in the others." -msgstr "" - -#: ../../library/stdtypes.rst:4674 -msgid "" -"Return a new set with elements in either the set or *other* but not both." -msgstr "" - -#: ../../library/stdtypes.rst:4678 -msgid "Return a shallow copy of the set." -msgstr "" - -#: ../../library/stdtypes.rst:4681 -msgid "" -"Note, the non-operator versions of :meth:`union`, :meth:`intersection`, " -":meth:`difference`, :meth:`symmetric_difference`, :meth:`issubset`, and " -":meth:`issuperset` methods will accept any iterable as an argument. In " -"contrast, their operator based counterparts require their arguments to be " -"sets. This precludes error-prone constructions like ``set('abc') & 'cbs'`` " -"in favor of the more readable ``set('abc').intersection('cbs')``." -msgstr "" - -#: ../../library/stdtypes.rst:4688 -msgid "" -"Both :class:`set` and :class:`frozenset` support set to set comparisons. Two" -" sets are equal if and only if every element of each set is contained in the" -" other (each is a subset of the other). A set is less than another set if " -"and only if the first set is a proper subset of the second set (is a subset," -" but is not equal). A set is greater than another set if and only if the " -"first set is a proper superset of the second set (is a superset, but is not " -"equal)." -msgstr "" - -#: ../../library/stdtypes.rst:4695 -msgid "" -"Instances of :class:`set` are compared to instances of :class:`frozenset` " -"based on their members. For example, ``set('abc') == frozenset('abc')`` " -"returns ``True`` and so does ``set('abc') in set([frozenset('abc')])``." -msgstr "" - -#: ../../library/stdtypes.rst:4699 -msgid "" -"The subset and equality comparisons do not generalize to a total ordering " -"function. For example, any two nonempty disjoint sets are not equal and are" -" not subsets of each other, so *all* of the following return ``False``: " -"``ab``." -msgstr "" - -#: ../../library/stdtypes.rst:4704 -msgid "" -"Since sets only define partial ordering (subset relationships), the output " -"of the :meth:`list.sort` method is undefined for lists of sets." -msgstr "" - -#: ../../library/stdtypes.rst:4707 -msgid "Set elements, like dictionary keys, must be :term:`hashable`." -msgstr "" - -#: ../../library/stdtypes.rst:4709 -msgid "" -"Binary operations that mix :class:`set` instances with :class:`frozenset` " -"return the type of the first operand. For example: ``frozenset('ab') | " -"set('bc')`` returns an instance of :class:`frozenset`." -msgstr "" - -#: ../../library/stdtypes.rst:4713 -msgid "" -"The following table lists operations available for :class:`set` that do not " -"apply to immutable instances of :class:`frozenset`:" -msgstr "" - -#: ../../library/stdtypes.rst:4719 -msgid "Update the set, adding elements from all others." -msgstr "" - -#: ../../library/stdtypes.rst:4724 -msgid "Update the set, keeping only elements found in it and all others." -msgstr "" - -#: ../../library/stdtypes.rst:4729 -msgid "Update the set, removing elements found in others." -msgstr "" - -#: ../../library/stdtypes.rst:4734 -msgid "" -"Update the set, keeping only elements found in either set, but not in both." -msgstr "" - -#: ../../library/stdtypes.rst:4738 -msgid "Add element *elem* to the set." -msgstr "" - -#: ../../library/stdtypes.rst:4742 -msgid "" -"Remove element *elem* from the set. Raises :exc:`KeyError` if *elem* is not" -" contained in the set." -msgstr "" - -#: ../../library/stdtypes.rst:4747 -msgid "Remove element *elem* from the set if it is present." -msgstr "" - -#: ../../library/stdtypes.rst:4751 -msgid "" -"Remove and return an arbitrary element from the set. Raises :exc:`KeyError`" -" if the set is empty." -msgstr "" - -#: ../../library/stdtypes.rst:4756 -msgid "Remove all elements from the set." -msgstr "" - -#: ../../library/stdtypes.rst:4759 -msgid "" -"Note, the non-operator versions of the :meth:`update`, " -":meth:`intersection_update`, :meth:`difference_update`, and " -":meth:`symmetric_difference_update` methods will accept any iterable as an " -"argument." -msgstr "" - -#: ../../library/stdtypes.rst:4764 -msgid "" -"Note, the *elem* argument to the :meth:`~object.__contains__`, " -":meth:`remove`, and :meth:`discard` methods may be a set. To support " -"searching for an equivalent frozenset, a temporary one is created from " -"*elem*." -msgstr "" - -#: ../../library/stdtypes.rst:4773 -msgid "Mapping Types --- :class:`dict`" -msgstr "" - -#: ../../library/stdtypes.rst:4783 -msgid "" -"A :term:`mapping` object maps :term:`hashable` values to arbitrary objects. " -"Mappings are mutable objects. There is currently only one standard mapping " -"type, the :dfn:`dictionary`. (For other containers see the built-in " -":class:`list`, :class:`set`, and :class:`tuple` classes, and the " -":mod:`collections` module.)" -msgstr "" - -#: ../../library/stdtypes.rst:4789 -msgid "" -"A dictionary's keys are *almost* arbitrary values. Values that are not " -":term:`hashable`, that is, values containing lists, dictionaries or other " -"mutable types (that are compared by value rather than by object identity) " -"may not be used as keys. Values that compare equal (such as ``1``, ``1.0``, " -"and ``True``) can be used interchangeably to index the same dictionary " -"entry." -msgstr "" - -#: ../../library/stdtypes.rst:4800 -msgid "" -"Return a new dictionary initialized from an optional positional argument and" -" a possibly empty set of keyword arguments." -msgstr "" - -#: ../../library/stdtypes.rst:4803 -msgid "Dictionaries can be created by several means:" -msgstr "" - -#: ../../library/stdtypes.rst:4805 -msgid "" -"Use a comma-separated list of ``key: value`` pairs within braces: ``{'jack':" -" 4098, 'sjoerd': 4127}`` or ``{4098: 'jack', 4127: 'sjoerd'}``" -msgstr "" - -#: ../../library/stdtypes.rst:4807 -msgid "Use a dict comprehension: ``{}``, ``{x: x ** 2 for x in range(10)}``" -msgstr "" - -#: ../../library/stdtypes.rst:4808 -msgid "" -"Use the type constructor: ``dict()``, ``dict([('foo', 100), ('bar', " -"200)])``, ``dict(foo=100, bar=200)``" -msgstr "" - -#: ../../library/stdtypes.rst:4811 -msgid "" -"If no positional argument is given, an empty dictionary is created. If a " -"positional argument is given and it defines a ``keys()`` method, a " -"dictionary is created by calling :meth:`~object.__getitem__` on the argument" -" with each returned key from the method. Otherwise, the positional argument" -" must be an :term:`iterable` object. Each item in the iterable must itself " -"be an iterable with exactly two elements. The first element of each item " -"becomes a key in the new dictionary, and the second element the " -"corresponding value. If a key occurs more than once, the last value for " -"that key becomes the corresponding value in the new dictionary." -msgstr "" - -#: ../../library/stdtypes.rst:4821 -msgid "" -"If keyword arguments are given, the keyword arguments and their values are " -"added to the dictionary created from the positional argument. If a key " -"being added is already present, the value from the keyword argument replaces" -" the value from the positional argument." -msgstr "" - -#: ../../library/stdtypes.rst:4826 ../../library/stdtypes.rst:4844 -msgid "" -"Providing keyword arguments as in the first example only works for keys that" -" are valid Python identifiers. Otherwise, any valid keys can be used." -msgstr "" - -#: ../../library/stdtypes.rst:4829 -msgid "" -"Dictionaries compare equal if and only if they have the same ``(key, " -"value)`` pairs (regardless of ordering). Order comparisons ('<', '<=', '>='," -" '>') raise :exc:`TypeError`. To illustrate dictionary creation and " -"equality, the following examples all return a dictionary equal to " -"``{\"one\": 1, \"two\": 2, \"three\": 3}``::" -msgstr "" - -#: ../../library/stdtypes.rst:4835 -msgid "" -">>> a = dict(one=1, two=2, three=3)\n" -">>> b = {'one': 1, 'two': 2, 'three': 3}\n" -">>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))\n" -">>> d = dict([('two', 2), ('one', 1), ('three', 3)])\n" -">>> e = dict({'three': 3, 'one': 1, 'two': 2})\n" -">>> f = dict({'one': 1, 'three': 3}, two=2)\n" -">>> a == b == c == d == e == f\n" -"True" -msgstr "" - -#: ../../library/stdtypes.rst:4847 -msgid "" -"Dictionaries preserve insertion order. Note that updating a key does not " -"affect the order. Keys added after deletion are inserted at the end. ::" -msgstr "" - -#: ../../library/stdtypes.rst:4850 -msgid "" -">>> d = {\"one\": 1, \"two\": 2, \"three\": 3, \"four\": 4}\n" -">>> d\n" -"{'one': 1, 'two': 2, 'three': 3, 'four': 4}\n" -">>> list(d)\n" -"['one', 'two', 'three', 'four']\n" -">>> list(d.values())\n" -"[1, 2, 3, 4]\n" -">>> d[\"one\"] = 42\n" -">>> d\n" -"{'one': 42, 'two': 2, 'three': 3, 'four': 4}\n" -">>> del d[\"two\"]\n" -">>> d[\"two\"] = None\n" -">>> d\n" -"{'one': 42, 'three': 3, 'four': 4, 'two': None}" -msgstr "" - -#: ../../library/stdtypes.rst:4865 -msgid "" -"Dictionary order is guaranteed to be insertion order. This behavior was an " -"implementation detail of CPython from 3.6." -msgstr "" - -#: ../../library/stdtypes.rst:4869 -msgid "" -"These are the operations that dictionaries support (and therefore, custom " -"mapping types should support too):" -msgstr "" - -#: ../../library/stdtypes.rst:4874 -msgid "Return a list of all the keys used in the dictionary *d*." -msgstr "" - -#: ../../library/stdtypes.rst:4878 -msgid "Return the number of items in the dictionary *d*." -msgstr "" - -#: ../../library/stdtypes.rst:4882 -msgid "" -"Return the item of *d* with key *key*. Raises a :exc:`KeyError` if *key* is" -" not in the map." -msgstr "" - -#: ../../library/stdtypes.rst:4887 -msgid "" -"If a subclass of dict defines a method :meth:`__missing__` and *key* is not " -"present, the ``d[key]`` operation calls that method with the key *key* as " -"argument. The ``d[key]`` operation then returns or raises whatever is " -"returned or raised by the ``__missing__(key)`` call. No other operations or " -"methods invoke :meth:`__missing__`. If :meth:`__missing__` is not defined, " -":exc:`KeyError` is raised. :meth:`__missing__` must be a method; it cannot " -"be an instance variable::" -msgstr "" - -#: ../../library/stdtypes.rst:4895 -msgid "" -">>> class Counter(dict):\n" -"... def __missing__(self, key):\n" -"... return 0\n" -"...\n" -">>> c = Counter()\n" -">>> c['red']\n" -"0\n" -">>> c['red'] += 1\n" -">>> c['red']\n" -"1" -msgstr "" - -#: ../../library/stdtypes.rst:4906 -msgid "" -"The example above shows part of the implementation of " -":class:`collections.Counter`. A different ``__missing__`` method is used by" -" :class:`collections.defaultdict`." -msgstr "" - -#: ../../library/stdtypes.rst:4912 -msgid "Set ``d[key]`` to *value*." -msgstr "" - -#: ../../library/stdtypes.rst:4916 -msgid "" -"Remove ``d[key]`` from *d*. Raises a :exc:`KeyError` if *key* is not in the" -" map." -msgstr "" - -#: ../../library/stdtypes.rst:4921 -msgid "Return ``True`` if *d* has a key *key*, else ``False``." -msgstr "" - -#: ../../library/stdtypes.rst:4925 -msgid "Equivalent to ``not key in d``." -msgstr "" - -#: ../../library/stdtypes.rst:4929 -msgid "" -"Return an iterator over the keys of the dictionary. This is a shortcut for " -"``iter(d.keys())``." -msgstr "" - -#: ../../library/stdtypes.rst:4934 -msgid "Remove all items from the dictionary." -msgstr "" - -#: ../../library/stdtypes.rst:4938 -msgid "Return a shallow copy of the dictionary." -msgstr "" - -#: ../../library/stdtypes.rst:4942 -msgid "" -"Create a new dictionary with keys from *iterable* and values set to *value*." -msgstr "" - -#: ../../library/stdtypes.rst:4944 -msgid "" -":meth:`fromkeys` is a class method that returns a new dictionary. *value* " -"defaults to ``None``. All of the values refer to just a single instance, so" -" it generally doesn't make sense for *value* to be a mutable object such as " -"an empty list. To get distinct values, use a :ref:`dict comprehension " -"` instead." -msgstr "" - -#: ../../library/stdtypes.rst:4952 -msgid "" -"Return the value for *key* if *key* is in the dictionary, else *default*. If" -" *default* is not given, it defaults to ``None``, so that this method never " -"raises a :exc:`KeyError`." -msgstr "" - -#: ../../library/stdtypes.rst:4958 -msgid "" -"Return a new view of the dictionary's items (``(key, value)`` pairs). See " -"the :ref:`documentation of view objects `." -msgstr "" - -#: ../../library/stdtypes.rst:4963 -msgid "" -"Return a new view of the dictionary's keys. See the :ref:`documentation of " -"view objects `." -msgstr "" - -#: ../../library/stdtypes.rst:4968 -msgid "" -"If *key* is in the dictionary, remove it and return its value, else return " -"*default*. If *default* is not given and *key* is not in the dictionary, a " -":exc:`KeyError` is raised." -msgstr "" - -#: ../../library/stdtypes.rst:4974 -msgid "" -"Remove and return a ``(key, value)`` pair from the dictionary. Pairs are " -"returned in :abbr:`LIFO (last-in, first-out)` order." -msgstr "" - -#: ../../library/stdtypes.rst:4977 -msgid "" -":meth:`popitem` is useful to destructively iterate over a dictionary, as " -"often used in set algorithms. If the dictionary is empty, calling " -":meth:`popitem` raises a :exc:`KeyError`." -msgstr "" - -#: ../../library/stdtypes.rst:4981 -msgid "" -"LIFO order is now guaranteed. In prior versions, :meth:`popitem` would " -"return an arbitrary key/value pair." -msgstr "" - -#: ../../library/stdtypes.rst:4987 -msgid "" -"Return a reverse iterator over the keys of the dictionary. This is a " -"shortcut for ``reversed(d.keys())``." -msgstr "" - -#: ../../library/stdtypes.rst:4994 -msgid "" -"If *key* is in the dictionary, return its value. If not, insert *key* with " -"a value of *default* and return *default*. *default* defaults to ``None``." -msgstr "" - -#: ../../library/stdtypes.rst:5000 -msgid "" -"Update the dictionary with the key/value pairs from *other*, overwriting " -"existing keys. Return ``None``." -msgstr "" - -#: ../../library/stdtypes.rst:5003 -msgid "" -":meth:`update` accepts either another object with a ``keys()`` method (in " -"which case :meth:`~object.__getitem__` is called with every key returned " -"from the method) or an iterable of key/value pairs (as tuples or other " -"iterables of length two). If keyword arguments are specified, the dictionary" -" is then updated with those key/value pairs: ``d.update(red=1, blue=2)``." -msgstr "" - -#: ../../library/stdtypes.rst:5011 -msgid "" -"Return a new view of the dictionary's values. See the :ref:`documentation " -"of view objects `." -msgstr "" - -#: ../../library/stdtypes.rst:5014 -msgid "" -"An equality comparison between one ``dict.values()`` view and another will " -"always return ``False``. This also applies when comparing ``dict.values()`` " -"to itself::" -msgstr "" - -#: ../../library/stdtypes.rst:5018 -msgid "" -">>> d = {'a': 1}\n" -">>> d.values() == d.values()\n" -"False" -msgstr "" - -#: ../../library/stdtypes.rst:5024 -msgid "" -"Create a new dictionary with the merged keys and values of *d* and *other*, " -"which must both be dictionaries. The values of *other* take priority when " -"*d* and *other* share keys." -msgstr "" - -#: ../../library/stdtypes.rst:5032 -msgid "" -"Update the dictionary *d* with keys and values from *other*, which may be " -"either a :term:`mapping` or an :term:`iterable` of key/value pairs. The " -"values of *other* take priority when *d* and *other* share keys." -msgstr "" - -#: ../../library/stdtypes.rst:5038 -msgid "Dictionaries and dictionary views are reversible. ::" -msgstr "" - -#: ../../library/stdtypes.rst:5040 -msgid "" -">>> d = {\"one\": 1, \"two\": 2, \"three\": 3, \"four\": 4}\n" -">>> d\n" -"{'one': 1, 'two': 2, 'three': 3, 'four': 4}\n" -">>> list(reversed(d))\n" -"['four', 'three', 'two', 'one']\n" -">>> list(reversed(d.values()))\n" -"[4, 3, 2, 1]\n" -">>> list(reversed(d.items()))\n" -"[('four', 4), ('three', 3), ('two', 2), ('one', 1)]" -msgstr "" - -#: ../../library/stdtypes.rst:5050 -msgid "Dictionaries are now reversible." -msgstr "" - -#: ../../library/stdtypes.rst:5055 -msgid "" -":class:`types.MappingProxyType` can be used to create a read-only view of a " -":class:`dict`." -msgstr "" - -#: ../../library/stdtypes.rst:5062 -msgid "Dictionary view objects" -msgstr "" - -#: ../../library/stdtypes.rst:5064 -msgid "" -"The objects returned by :meth:`dict.keys`, :meth:`dict.values` and " -":meth:`dict.items` are *view objects*. They provide a dynamic view on the " -"dictionary's entries, which means that when the dictionary changes, the view" -" reflects these changes." -msgstr "" - -#: ../../library/stdtypes.rst:5069 -msgid "" -"Dictionary views can be iterated over to yield their respective data, and " -"support membership tests:" -msgstr "" - -#: ../../library/stdtypes.rst:5074 -msgid "Return the number of entries in the dictionary." -msgstr "" - -#: ../../library/stdtypes.rst:5078 -msgid "" -"Return an iterator over the keys, values or items (represented as tuples of " -"``(key, value)``) in the dictionary." -msgstr "" - -#: ../../library/stdtypes.rst:5081 -msgid "" -"Keys and values are iterated over in insertion order. This allows the " -"creation of ``(value, key)`` pairs using :func:`zip`: ``pairs = " -"zip(d.values(), d.keys())``. Another way to create the same list is ``pairs" -" = [(v, k) for (k, v) in d.items()]``." -msgstr "" - -#: ../../library/stdtypes.rst:5086 -msgid "" -"Iterating views while adding or deleting entries in the dictionary may raise" -" a :exc:`RuntimeError` or fail to iterate over all entries." -msgstr "" - -#: ../../library/stdtypes.rst:5089 -msgid "Dictionary order is guaranteed to be insertion order." -msgstr "" - -#: ../../library/stdtypes.rst:5094 -msgid "" -"Return ``True`` if *x* is in the underlying dictionary's keys, values or " -"items (in the latter case, *x* should be a ``(key, value)`` tuple)." -msgstr "" - -#: ../../library/stdtypes.rst:5099 -msgid "" -"Return a reverse iterator over the keys, values or items of the dictionary. " -"The view will be iterated in reverse order of the insertion." -msgstr "" - -#: ../../library/stdtypes.rst:5102 -msgid "Dictionary views are now reversible." -msgstr "" - -#: ../../library/stdtypes.rst:5107 -msgid "" -"Return a :class:`types.MappingProxyType` that wraps the original dictionary " -"to which the view refers." -msgstr "" - -#: ../../library/stdtypes.rst:5112 -msgid "" -"Keys views are set-like since their entries are unique and :term:`hashable`." -" Items views also have set-like operations since the (key, value) pairs are " -"unique and the keys are hashable. If all values in an items view are " -"hashable as well, then the items view can interoperate with other sets. " -"(Values views are not treated as set-like since the entries are generally " -"not unique.) For set-like views, all of the operations defined for the " -"abstract base class :class:`collections.abc.Set` are available (for example," -" ``==``, ``<``, or ``^``). While using set operators, set-like views accept" -" any iterable as the other operand, unlike sets which only accept sets as " -"the input." -msgstr "" - -#: ../../library/stdtypes.rst:5124 -msgid "An example of dictionary view usage::" -msgstr "" - -#: ../../library/stdtypes.rst:5126 -msgid "" -">>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}\n" -">>> keys = dishes.keys()\n" -">>> values = dishes.values()\n" -"\n" -">>> # iteration\n" -">>> n = 0\n" -">>> for val in values:\n" -"... n += val\n" -"...\n" -">>> print(n)\n" -"504\n" -"\n" -">>> # keys and values are iterated over in the same order (insertion order)\n" -">>> list(keys)\n" -"['eggs', 'sausage', 'bacon', 'spam']\n" -">>> list(values)\n" -"[2, 1, 1, 500]\n" -"\n" -">>> # view objects are dynamic and reflect dict changes\n" -">>> del dishes['eggs']\n" -">>> del dishes['sausage']\n" -">>> list(keys)\n" -"['bacon', 'spam']\n" -"\n" -">>> # set operations\n" -">>> keys & {'eggs', 'bacon', 'salad'}\n" -"{'bacon'}\n" -">>> keys ^ {'sausage', 'juice'} == {'juice', 'sausage', 'bacon', 'spam'}\n" -"True\n" -">>> keys | ['juice', 'juice', 'juice'] == {'bacon', 'spam', 'juice'}\n" -"True\n" -"\n" -">>> # get back a read-only proxy for the original dictionary\n" -">>> values.mapping\n" -"mappingproxy({'bacon': 1, 'spam': 500})\n" -">>> values.mapping['spam']\n" -"500" -msgstr "" - -#: ../../library/stdtypes.rst:5168 -msgid "Context Manager Types" -msgstr "" - -#: ../../library/stdtypes.rst:5175 -msgid "" -"Python's :keyword:`with` statement supports the concept of a runtime context" -" defined by a context manager. This is implemented using a pair of methods " -"that allow user-defined classes to define a runtime context that is entered " -"before the statement body is executed and exited when the statement ends:" -msgstr "" - -#: ../../library/stdtypes.rst:5183 -msgid "" -"Enter the runtime context and return either this object or another object " -"related to the runtime context. The value returned by this method is bound " -"to the identifier in the :keyword:`!as` clause of :keyword:`with` statements" -" using this context manager." -msgstr "" - -#: ../../library/stdtypes.rst:5188 -msgid "" -"An example of a context manager that returns itself is a :term:`file " -"object`. File objects return themselves from __enter__() to allow " -":func:`open` to be used as the context expression in a :keyword:`with` " -"statement." -msgstr "" - -#: ../../library/stdtypes.rst:5192 -msgid "" -"An example of a context manager that returns a related object is the one " -"returned by :func:`decimal.localcontext`. These managers set the active " -"decimal context to a copy of the original decimal context and then return " -"the copy. This allows changes to be made to the current decimal context in " -"the body of the :keyword:`with` statement without affecting code outside the" -" :keyword:`!with` statement." -msgstr "" - -#: ../../library/stdtypes.rst:5202 -msgid "" -"Exit the runtime context and return a Boolean flag indicating if any " -"exception that occurred should be suppressed. If an exception occurred while" -" executing the body of the :keyword:`with` statement, the arguments contain " -"the exception type, value and traceback information. Otherwise, all three " -"arguments are ``None``." -msgstr "" - -#: ../../library/stdtypes.rst:5207 -msgid "" -"Returning a true value from this method will cause the :keyword:`with` " -"statement to suppress the exception and continue execution with the " -"statement immediately following the :keyword:`!with` statement. Otherwise " -"the exception continues propagating after this method has finished " -"executing. Exceptions that occur during execution of this method will " -"replace any exception that occurred in the body of the :keyword:`!with` " -"statement." -msgstr "" - -#: ../../library/stdtypes.rst:5214 -msgid "" -"The exception passed in should never be reraised explicitly - instead, this " -"method should return a false value to indicate that the method completed " -"successfully and does not want to suppress the raised exception. This allows" -" context management code to easily detect whether or not an " -":meth:`~object.__exit__` method has actually failed." -msgstr "" - -#: ../../library/stdtypes.rst:5220 -msgid "" -"Python defines several context managers to support easy thread " -"synchronisation, prompt closure of files or other objects, and simpler " -"manipulation of the active decimal arithmetic context. The specific types " -"are not treated specially beyond their implementation of the context " -"management protocol. See the :mod:`contextlib` module for some examples." -msgstr "" - -#: ../../library/stdtypes.rst:5226 -msgid "" -"Python's :term:`generator`\\s and the :class:`contextlib.contextmanager` " -"decorator provide a convenient way to implement these protocols. If a " -"generator function is decorated with the :class:`contextlib.contextmanager` " -"decorator, it will return a context manager implementing the necessary " -":meth:`~contextmanager.__enter__` and :meth:`~contextmanager.__exit__` " -"methods, rather than the iterator produced by an undecorated generator " -"function." -msgstr "" - -#: ../../library/stdtypes.rst:5233 -msgid "" -"Note that there is no specific slot for any of these methods in the type " -"structure for Python objects in the Python/C API. Extension types wanting to" -" define these methods must provide them as a normal Python accessible " -"method. Compared to the overhead of setting up the runtime context, the " -"overhead of a single class dictionary lookup is negligible." -msgstr "" - -#: ../../library/stdtypes.rst:5241 -msgid "" -"Type Annotation Types --- :ref:`Generic Alias `, " -":ref:`Union `" -msgstr "" - -#: ../../library/stdtypes.rst:5246 -msgid "" -"The core built-in types for :term:`type annotations ` are " -":ref:`Generic Alias ` and :ref:`Union `." -msgstr "" - -#: ../../library/stdtypes.rst:5253 -msgid "Generic Alias Type" -msgstr "" - -#: ../../library/stdtypes.rst:5259 -msgid "" -"``GenericAlias`` objects are generally created by :ref:`subscripting " -"` a class. They are most often used with :ref:`container " -"classes `, such as :class:`list` or :class:`dict`. For " -"example, ``list[int]`` is a ``GenericAlias`` object created by subscripting " -"the ``list`` class with the argument :class:`int`. ``GenericAlias`` objects " -"are intended primarily for use with :term:`type annotations `." -msgstr "" - -#: ../../library/stdtypes.rst:5269 -msgid "" -"It is generally only possible to subscript a class if the class implements " -"the special method :meth:`~object.__class_getitem__`." -msgstr "" - -#: ../../library/stdtypes.rst:5272 -msgid "" -"A ``GenericAlias`` object acts as a proxy for a :term:`generic type`, " -"implementing *parameterized generics*." -msgstr "" - -#: ../../library/stdtypes.rst:5275 -msgid "" -"For a container class, the argument(s) supplied to a :ref:`subscription " -"` of the class may indicate the type(s) of the elements an " -"object contains. For example, ``set[bytes]`` can be used in type annotations" -" to signify a :class:`set` in which all the elements are of type " -":class:`bytes`." -msgstr "" - -#: ../../library/stdtypes.rst:5281 -msgid "" -"For a class which defines :meth:`~object.__class_getitem__` but is not a " -"container, the argument(s) supplied to a subscription of the class will " -"often indicate the return type(s) of one or more methods defined on an " -"object. For example, :mod:`regular expressions ` can be used on both the" -" :class:`str` data type and the :class:`bytes` data type:" -msgstr "" - -#: ../../library/stdtypes.rst:5287 -msgid "" -"If ``x = re.search('foo', 'foo')``, ``x`` will be a :ref:`re.Match ` object where the return values of ``x.group(0)`` and ``x[0]`` will" -" both be of type :class:`str`. We can represent this kind of object in type " -"annotations with the ``GenericAlias`` ``re.Match[str]``." -msgstr "" - -#: ../../library/stdtypes.rst:5293 -msgid "" -"If ``y = re.search(b'bar', b'bar')``, (note the ``b`` for :class:`bytes`), " -"``y`` will also be an instance of ``re.Match``, but the return values of " -"``y.group(0)`` and ``y[0]`` will both be of type :class:`bytes`. In type " -"annotations, we would represent this variety of :ref:`re.Match ` objects with ``re.Match[bytes]``." -msgstr "" - -#: ../../library/stdtypes.rst:5299 -msgid "" -"``GenericAlias`` objects are instances of the class " -":class:`types.GenericAlias`, which can also be used to create " -"``GenericAlias`` objects directly." -msgstr "" - -#: ../../library/stdtypes.rst:5305 -msgid "" -"Creates a ``GenericAlias`` representing a type ``T`` parameterized by types " -"*X*, *Y*, and more depending on the ``T`` used. For example, a function " -"expecting a :class:`list` containing :class:`float` elements::" -msgstr "" - -#: ../../library/stdtypes.rst:5310 -msgid "" -"def average(values: list[float]) -> float:\n" -" return sum(values) / len(values)" -msgstr "" - -#: ../../library/stdtypes.rst:5313 -msgid "" -"Another example for :term:`mapping` objects, using a :class:`dict`, which is" -" a generic type expecting two type parameters representing the key type and " -"the value type. In this example, the function expects a ``dict`` with keys " -"of type :class:`str` and values of type :class:`int`::" -msgstr "" - -#: ../../library/stdtypes.rst:5318 -msgid "" -"def send_post_request(url: str, body: dict[str, int]) -> None:\n" -" ..." -msgstr "" - -#: ../../library/stdtypes.rst:5321 -msgid "" -"The builtin functions :func:`isinstance` and :func:`issubclass` do not " -"accept ``GenericAlias`` types for their second argument::" -msgstr "" - -#: ../../library/stdtypes.rst:5324 -msgid "" -">>> isinstance([1, 2], list[str])\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: isinstance() argument 2 cannot be a parameterized generic" -msgstr "" - -#: ../../library/stdtypes.rst:5329 -msgid "" -"The Python runtime does not enforce :term:`type annotations `. " -"This extends to generic types and their type parameters. When creating a " -"container object from a ``GenericAlias``, the elements in the container are " -"not checked against their type. For example, the following code is " -"discouraged, but will run without errors::" -msgstr "" - -#: ../../library/stdtypes.rst:5335 -msgid "" -">>> t = list[str]\n" -">>> t([1, 2, 3])\n" -"[1, 2, 3]" -msgstr "" - -#: ../../library/stdtypes.rst:5339 -msgid "" -"Furthermore, parameterized generics erase type parameters during object " -"creation::" -msgstr "" - -#: ../../library/stdtypes.rst:5342 -msgid "" -">>> t = list[str]\n" -">>> type(t)\n" -"\n" -"\n" -">>> l = t()\n" -">>> type(l)\n" -"" -msgstr "" - -#: ../../library/stdtypes.rst:5350 -msgid "" -"Calling :func:`repr` or :func:`str` on a generic shows the parameterized " -"type::" -msgstr "" - -#: ../../library/stdtypes.rst:5352 -msgid "" -">>> repr(list[int])\n" -"'list[int]'\n" -"\n" -">>> str(list[int])\n" -"'list[int]'" -msgstr "" - -#: ../../library/stdtypes.rst:5358 -msgid "" -"The :meth:`~object.__getitem__` method of generic containers will raise an " -"exception to disallow mistakes like ``dict[str][str]``::" -msgstr "" - -#: ../../library/stdtypes.rst:5361 -msgid "" -">>> dict[str][str]\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: dict[str] is not a generic class" -msgstr "" - -#: ../../library/stdtypes.rst:5366 -msgid "" -"However, such expressions are valid when :ref:`type variables ` " -"are used. The index must have as many elements as there are type variable " -"items in the ``GenericAlias`` object's :attr:`~genericalias.__args__`. ::" -msgstr "" - -#: ../../library/stdtypes.rst:5370 -msgid "" -">>> from typing import TypeVar\n" -">>> Y = TypeVar('Y')\n" -">>> dict[str, Y][int]\n" -"dict[str, int]" -msgstr "" - -#: ../../library/stdtypes.rst:5377 -msgid "Standard Generic Classes" -msgstr "" - -#: ../../library/stdtypes.rst:5379 -msgid "" -"The following standard library classes support parameterized generics. This " -"list is non-exhaustive." -msgstr "" - -#: ../../library/stdtypes.rst:5382 -msgid ":class:`tuple`" -msgstr "" - -#: ../../library/stdtypes.rst:5383 -msgid ":class:`list`" -msgstr "" - -#: ../../library/stdtypes.rst:5384 -msgid ":class:`dict`" -msgstr "" - -#: ../../library/stdtypes.rst:5385 -msgid ":class:`set`" -msgstr "" - -#: ../../library/stdtypes.rst:5386 -msgid ":class:`frozenset`" -msgstr "" - -#: ../../library/stdtypes.rst:5387 -msgid ":class:`type`" -msgstr "" - -#: ../../library/stdtypes.rst:5388 -msgid ":class:`asyncio.Future`" -msgstr "" - -#: ../../library/stdtypes.rst:5389 -msgid ":class:`asyncio.Task`" -msgstr "" - -#: ../../library/stdtypes.rst:5390 -msgid ":class:`collections.deque`" -msgstr "" - -#: ../../library/stdtypes.rst:5391 -msgid ":class:`collections.defaultdict`" -msgstr "" - -#: ../../library/stdtypes.rst:5392 -msgid ":class:`collections.OrderedDict`" -msgstr "" - -#: ../../library/stdtypes.rst:5393 -msgid ":class:`collections.Counter`" -msgstr "" - -#: ../../library/stdtypes.rst:5394 -msgid ":class:`collections.ChainMap`" -msgstr "" - -#: ../../library/stdtypes.rst:5395 -msgid ":class:`collections.abc.Awaitable`" -msgstr "" - -#: ../../library/stdtypes.rst:5396 -msgid ":class:`collections.abc.Coroutine`" -msgstr "" - -#: ../../library/stdtypes.rst:5397 -msgid ":class:`collections.abc.AsyncIterable`" -msgstr "" - -#: ../../library/stdtypes.rst:5398 -msgid ":class:`collections.abc.AsyncIterator`" -msgstr "" - -#: ../../library/stdtypes.rst:5399 -msgid ":class:`collections.abc.AsyncGenerator`" -msgstr "" - -#: ../../library/stdtypes.rst:5400 -msgid ":class:`collections.abc.Iterable`" -msgstr "" - -#: ../../library/stdtypes.rst:5401 -msgid ":class:`collections.abc.Iterator`" -msgstr "" - -#: ../../library/stdtypes.rst:5402 -msgid ":class:`collections.abc.Generator`" -msgstr "" - -#: ../../library/stdtypes.rst:5403 -msgid ":class:`collections.abc.Reversible`" -msgstr "" - -#: ../../library/stdtypes.rst:5404 -msgid ":class:`collections.abc.Container`" -msgstr "" - -#: ../../library/stdtypes.rst:5405 -msgid ":class:`collections.abc.Collection`" -msgstr "" - -#: ../../library/stdtypes.rst:5406 -msgid ":class:`collections.abc.Callable`" -msgstr "" - -#: ../../library/stdtypes.rst:5407 -msgid ":class:`collections.abc.Set`" -msgstr "" - -#: ../../library/stdtypes.rst:5408 -msgid ":class:`collections.abc.MutableSet`" -msgstr "" - -#: ../../library/stdtypes.rst:5409 -msgid ":class:`collections.abc.Mapping`" -msgstr "" - -#: ../../library/stdtypes.rst:5410 -msgid ":class:`collections.abc.MutableMapping`" -msgstr "" - -#: ../../library/stdtypes.rst:5411 -msgid ":class:`collections.abc.Sequence`" -msgstr "" - -#: ../../library/stdtypes.rst:5412 -msgid ":class:`collections.abc.MutableSequence`" -msgstr "" - -#: ../../library/stdtypes.rst:5413 -msgid ":class:`collections.abc.MappingView`" -msgstr "" - -#: ../../library/stdtypes.rst:5414 -msgid ":class:`collections.abc.KeysView`" -msgstr "" - -#: ../../library/stdtypes.rst:5415 -msgid ":class:`collections.abc.ItemsView`" -msgstr "" - -#: ../../library/stdtypes.rst:5416 -msgid ":class:`collections.abc.ValuesView`" -msgstr "" - -#: ../../library/stdtypes.rst:5417 -msgid ":class:`contextlib.AbstractContextManager`" -msgstr "" - -#: ../../library/stdtypes.rst:5418 -msgid ":class:`contextlib.AbstractAsyncContextManager`" -msgstr "" - -#: ../../library/stdtypes.rst:5419 -msgid ":class:`dataclasses.Field`" -msgstr "" - -#: ../../library/stdtypes.rst:5420 -msgid ":class:`functools.cached_property`" -msgstr "" - -#: ../../library/stdtypes.rst:5421 -msgid ":class:`functools.partialmethod`" -msgstr "" - -#: ../../library/stdtypes.rst:5422 -msgid ":class:`os.PathLike`" -msgstr "" - -#: ../../library/stdtypes.rst:5423 -msgid ":class:`queue.LifoQueue`" -msgstr "" - -#: ../../library/stdtypes.rst:5424 -msgid ":class:`queue.Queue`" -msgstr "" - -#: ../../library/stdtypes.rst:5425 -msgid ":class:`queue.PriorityQueue`" -msgstr "" - -#: ../../library/stdtypes.rst:5426 -msgid ":class:`queue.SimpleQueue`" -msgstr "" - -#: ../../library/stdtypes.rst:5427 -msgid ":ref:`re.Pattern `" -msgstr "" - -#: ../../library/stdtypes.rst:5428 -msgid ":ref:`re.Match `" -msgstr "" - -#: ../../library/stdtypes.rst:5429 -msgid ":class:`shelve.BsdDbShelf`" -msgstr "" - -#: ../../library/stdtypes.rst:5430 -msgid ":class:`shelve.DbfilenameShelf`" -msgstr "" - -#: ../../library/stdtypes.rst:5431 -msgid ":class:`shelve.Shelf`" -msgstr "" - -#: ../../library/stdtypes.rst:5432 -msgid ":class:`types.MappingProxyType`" -msgstr "" - -#: ../../library/stdtypes.rst:5433 -msgid ":class:`weakref.WeakKeyDictionary`" -msgstr "" - -#: ../../library/stdtypes.rst:5434 -msgid ":class:`weakref.WeakMethod`" -msgstr "" - -#: ../../library/stdtypes.rst:5435 -msgid ":class:`weakref.WeakSet`" -msgstr "" - -#: ../../library/stdtypes.rst:5436 -msgid ":class:`weakref.WeakValueDictionary`" -msgstr "" - -#: ../../library/stdtypes.rst:5441 -msgid "Special Attributes of ``GenericAlias`` objects" -msgstr "" - -#: ../../library/stdtypes.rst:5443 -msgid "All parameterized generics implement special read-only attributes." -msgstr "" - -#: ../../library/stdtypes.rst:5447 -msgid "This attribute points at the non-parameterized generic class::" -msgstr "" - -#: ../../library/stdtypes.rst:5449 -msgid "" -">>> list[int].__origin__\n" -"" -msgstr "" - -#: ../../library/stdtypes.rst:5455 -msgid "" -"This attribute is a :class:`tuple` (possibly of length 1) of generic types " -"passed to the original :meth:`~object.__class_getitem__` of the generic " -"class::" -msgstr "" - -#: ../../library/stdtypes.rst:5459 -msgid "" -">>> dict[str, list[int]].__args__\n" -"(, list[int])" -msgstr "" - -#: ../../library/stdtypes.rst:5465 -msgid "" -"This attribute is a lazily computed tuple (possibly empty) of unique type " -"variables found in ``__args__``::" -msgstr "" - -#: ../../library/stdtypes.rst:5468 -msgid "" -">>> from typing import TypeVar\n" -"\n" -">>> T = TypeVar('T')\n" -">>> list[T].__parameters__\n" -"(~T,)" -msgstr "" - -#: ../../library/stdtypes.rst:5476 -msgid "" -"A ``GenericAlias`` object with :class:`typing.ParamSpec` parameters may not " -"have correct ``__parameters__`` after substitution because " -":class:`typing.ParamSpec` is intended primarily for static type checking." -msgstr "" - -#: ../../library/stdtypes.rst:5483 -msgid "" -"A boolean that is true if the alias has been unpacked using the ``*`` " -"operator (see :data:`~typing.TypeVarTuple`)." -msgstr "" - -#: ../../library/stdtypes.rst:5491 -msgid ":pep:`484` - Type Hints" -msgstr "" - -#: ../../library/stdtypes.rst:5492 -msgid "Introducing Python's framework for type annotations." -msgstr "" - -#: ../../library/stdtypes.rst:5494 -msgid ":pep:`585` - Type Hinting Generics In Standard Collections" -msgstr "" - -#: ../../library/stdtypes.rst:5495 -msgid "" -"Introducing the ability to natively parameterize standard-library classes, " -"provided they implement the special class method " -":meth:`~object.__class_getitem__`." -msgstr "" - -#: ../../library/stdtypes.rst:5499 -msgid "" -":ref:`Generics`, :ref:`user-defined generics ` and " -":class:`typing.Generic`" -msgstr "" - -#: ../../library/stdtypes.rst:5500 -msgid "" -"Documentation on how to implement generic classes that can be parameterized " -"at runtime and understood by static type-checkers." -msgstr "" - -#: ../../library/stdtypes.rst:5509 -msgid "Union Type" -msgstr "" - -#: ../../library/stdtypes.rst:5515 -msgid "" -"A union object holds the value of the ``|`` (bitwise or) operation on " -"multiple :ref:`type objects `. These types are intended" -" primarily for :term:`type annotations `. The union type " -"expression enables cleaner type hinting syntax compared to subscripting " -":class:`typing.Union`." -msgstr "" - -#: ../../library/stdtypes.rst:5522 -msgid "" -"Defines a union object which holds types *X*, *Y*, and so forth. ``X | Y`` " -"means either X or Y. It is equivalent to ``typing.Union[X, Y]``. For " -"example, the following function expects an argument of type :class:`int` or " -":class:`float`::" -msgstr "" - -#: ../../library/stdtypes.rst:5527 -msgid "" -"def square(number: int | float) -> int | float:\n" -" return number ** 2" -msgstr "" - -#: ../../library/stdtypes.rst:5532 -msgid "" -"The ``|`` operand cannot be used at runtime to define unions where one or " -"more members is a forward reference. For example, ``int | \"Foo\"``, where " -"``\"Foo\"`` is a reference to a class not yet defined, will fail at runtime." -" For unions which include forward references, present the whole expression " -"as a string, e.g. ``\"int | Foo\"``." -msgstr "" - -#: ../../library/stdtypes.rst:5540 -msgid "" -"Union objects can be tested for equality with other union objects. Details:" -msgstr "" - -#: ../../library/stdtypes.rst:5542 -msgid "Unions of unions are flattened::" -msgstr "" - -#: ../../library/stdtypes.rst:5544 -msgid "(int | str) | float == int | str | float" -msgstr "" - -#: ../../library/stdtypes.rst:5546 -msgid "Redundant types are removed::" -msgstr "" - -#: ../../library/stdtypes.rst:5548 -msgid "int | str | int == int | str" -msgstr "" - -#: ../../library/stdtypes.rst:5550 -msgid "When comparing unions, the order is ignored::" -msgstr "" - -#: ../../library/stdtypes.rst:5552 -msgid "int | str == str | int" -msgstr "" - -#: ../../library/stdtypes.rst:5554 -msgid "It creates instances of :class:`typing.Union`::" -msgstr "" - -#: ../../library/stdtypes.rst:5556 -msgid "" -"int | str == typing.Union[int, str]\n" -"type(int | str) is typing.Union" -msgstr "" - -#: ../../library/stdtypes.rst:5559 -msgid "Optional types can be spelled as a union with ``None``::" -msgstr "" - -#: ../../library/stdtypes.rst:5561 -msgid "str | None == typing.Optional[str]" -msgstr "" - -#: ../../library/stdtypes.rst:5566 -msgid "" -"Calls to :func:`isinstance` and :func:`issubclass` are also supported with a" -" union object::" -msgstr "" - -#: ../../library/stdtypes.rst:5569 -msgid "" -">>> isinstance(\"\", int | str)\n" -"True" -msgstr "" - -#: ../../library/stdtypes.rst:5572 -msgid "" -"However, :ref:`parameterized generics ` in union objects" -" cannot be checked::" -msgstr "" - -#: ../../library/stdtypes.rst:5575 -msgid "" -">>> isinstance(1, int | list[int]) # short-circuit evaluation\n" -"True\n" -">>> isinstance([1], int | list[int])\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: isinstance() argument 2 cannot be a parameterized generic" -msgstr "" - -#: ../../library/stdtypes.rst:5582 -msgid "" -"The user-exposed type for the union object can be accessed from " -":class:`typing.Union` and used for :func:`isinstance` checks::" -msgstr "" - -#: ../../library/stdtypes.rst:5585 -msgid "" -">>> import typing\n" -">>> isinstance(int | str, typing.Union)\n" -"True\n" -">>> typing.Union()\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: cannot create 'typing.Union' instances" -msgstr "" - -#: ../../library/stdtypes.rst:5594 -msgid "" -"The :meth:`!__or__` method for type objects was added to support the syntax " -"``X | Y``. If a metaclass implements :meth:`!__or__`, the Union may " -"override it:" -msgstr "" - -#: ../../library/stdtypes.rst:5598 -msgid "" -">>> class M(type):\n" -"... def __or__(self, other):\n" -"... return \"Hello\"\n" -"...\n" -">>> class C(metaclass=M):\n" -"... pass\n" -"...\n" -">>> C | int\n" -"'Hello'\n" -">>> int | C\n" -"int | C" -msgstr "" - -#: ../../library/stdtypes.rst:5614 -msgid ":pep:`604` -- PEP proposing the ``X | Y`` syntax and the Union type." -msgstr "" - -#: ../../library/stdtypes.rst:5620 -msgid "" -"Union objects are now instances of :class:`typing.Union`. Previously, they " -"were instances of :class:`types.UnionType`, which remains an alias for " -":class:`typing.Union`." -msgstr "" - -#: ../../library/stdtypes.rst:5627 -msgid "Other Built-in Types" -msgstr "" - -#: ../../library/stdtypes.rst:5629 -msgid "" -"The interpreter supports several other kinds of objects. Most of these " -"support only one or two operations." -msgstr "" - -#: ../../library/stdtypes.rst:5636 -msgid "Modules" -msgstr "Modul-Modul" - -#: ../../library/stdtypes.rst:5638 -msgid "" -"The only special operation on a module is attribute access: ``m.name``, " -"where *m* is a module and *name* accesses a name defined in *m*'s symbol " -"table. Module attributes can be assigned to. (Note that the " -":keyword:`import` statement is not, strictly speaking, an operation on a " -"module object; ``import foo`` does not require a module object named *foo* " -"to exist, rather it requires an (external) *definition* for a module named " -"*foo* somewhere.)" -msgstr "" - -#: ../../library/stdtypes.rst:5645 -msgid "" -"A special attribute of every module is :attr:`~object.__dict__`. This is the" -" dictionary containing the module's symbol table. Modifying this dictionary " -"will actually change the module's symbol table, but direct assignment to the" -" :attr:`~object.__dict__` attribute is not possible (you can write " -"``m.__dict__['a'] = 1``, which defines ``m.a`` to be ``1``, but you can't " -"write ``m.__dict__ = {}``). Modifying :attr:`~object.__dict__` directly is " -"not recommended." -msgstr "" - -#: ../../library/stdtypes.rst:5653 -msgid "" -"Modules built into the interpreter are written like this: ````. If loaded from a file, they are written as ````." -msgstr "" - -#: ../../library/stdtypes.rst:5661 -msgid "Classes and Class Instances" -msgstr "" - -#: ../../library/stdtypes.rst:5663 -msgid "See :ref:`objects` and :ref:`class` for these." -msgstr "" - -#: ../../library/stdtypes.rst:5669 -msgid "Functions" -msgstr "Fungsi-Fungsi" - -#: ../../library/stdtypes.rst:5671 -msgid "" -"Function objects are created by function definitions. The only operation on" -" a function object is to call it: ``func(argument-list)``." -msgstr "" - -#: ../../library/stdtypes.rst:5674 -msgid "" -"There are really two flavors of function objects: built-in functions and " -"user-defined functions. Both support the same operation (to call the " -"function), but the implementation is different, hence the different object " -"types." -msgstr "" - -#: ../../library/stdtypes.rst:5678 -msgid "See :ref:`function` for more information." -msgstr "" - -#: ../../library/stdtypes.rst:5684 -msgid "Methods" -msgstr "Metode-Metode" - -#: ../../library/stdtypes.rst:5688 -msgid "" -"Methods are functions that are called using the attribute notation. There " -"are two flavors: :ref:`built-in methods ` (such as " -":meth:`append` on lists) and :ref:`class instance method `. Built-in methods are described with the types that support them." -msgstr "" - -#: ../../library/stdtypes.rst:5693 -msgid "" -"If you access a method (a function defined in a class namespace) through an " -"instance, you get a special object: a :dfn:`bound method` (also called " -":ref:`instance method `) object. When called, it will add " -"the ``self`` argument to the argument list. Bound methods have two special " -"read-only attributes: :attr:`m.__self__ ` is the object on " -"which the method operates, and :attr:`m.__func__ ` is the " -"function implementing the method. Calling ``m(arg-1, arg-2, ..., arg-n)`` " -"is completely equivalent to calling ``m.__func__(m.__self__, arg-1, arg-2, " -"..., arg-n)``." -msgstr "" - -#: ../../library/stdtypes.rst:5704 -msgid "" -"Like :ref:`function objects `, bound method objects " -"support getting arbitrary attributes. However, since method attributes are " -"actually stored on the underlying function object (:attr:`method.__func__`)," -" setting method attributes on bound methods is disallowed. Attempting to " -"set an attribute on a method results in an :exc:`AttributeError` being " -"raised. In order to set a method attribute, you need to explicitly set it " -"on the underlying function object:" -msgstr "" - -#: ../../library/stdtypes.rst:5712 -msgid "" -">>> class C:\n" -"... def method(self):\n" -"... pass\n" -"...\n" -">>> c = C()\n" -">>> c.method.whoami = 'my name is method' # can't set on the method\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"AttributeError: 'method' object has no attribute 'whoami'\n" -">>> c.method.__func__.whoami = 'my name is method'\n" -">>> c.method.whoami\n" -"'my name is method'" -msgstr "" - -#: ../../library/stdtypes.rst:5727 -msgid "See :ref:`instance-methods` for more information." -msgstr "" - -#: ../../library/stdtypes.rst:5735 -msgid "Code Objects" -msgstr "Objek Kode" - -#: ../../library/stdtypes.rst:5741 -msgid "" -"Code objects are used by the implementation to represent \"pseudo-compiled\"" -" executable Python code such as a function body. They differ from function " -"objects because they don't contain a reference to their global execution " -"environment. Code objects are returned by the built-in :func:`compile` " -"function and can be extracted from function objects through their " -":attr:`~function.__code__` attribute. See also the :mod:`code` module." -msgstr "" - -#: ../../library/stdtypes.rst:5748 -msgid "" -"Accessing :attr:`~function.__code__` raises an :ref:`auditing event " -"` ``object.__getattr__`` with arguments ``obj`` and " -"``\"__code__\"``." -msgstr "" - -#: ../../library/stdtypes.rst:5755 -msgid "" -"A code object can be executed or evaluated by passing it (instead of a " -"source string) to the :func:`exec` or :func:`eval` built-in functions." -msgstr "" - -#: ../../library/stdtypes.rst:5758 -msgid "See :ref:`types` for more information." -msgstr "" - -#: ../../library/stdtypes.rst:5764 -msgid "Type Objects" -msgstr "Objek Tipe" - -#: ../../library/stdtypes.rst:5770 -msgid "" -"Type objects represent the various object types. An object's type is " -"accessed by the built-in function :func:`type`. There are no special " -"operations on types. The standard module :mod:`types` defines names for all" -" standard built-in types." -msgstr "" - -#: ../../library/stdtypes.rst:5775 -msgid "Types are written like this: ````." -msgstr "" - -#: ../../library/stdtypes.rst:5781 -msgid "The Null Object" -msgstr "" - -#: ../../library/stdtypes.rst:5783 -msgid "" -"This object is returned by functions that don't explicitly return a value. " -"It supports no special operations. There is exactly one null object, named " -"``None`` (a built-in name). ``type(None)()`` produces the same singleton." -msgstr "" - -#: ../../library/stdtypes.rst:5787 -msgid "It is written as ``None``." -msgstr "" - -#: ../../library/stdtypes.rst:5794 -msgid "The Ellipsis Object" -msgstr "" - -#: ../../library/stdtypes.rst:5796 -msgid "" -"This object is commonly used by slicing (see :ref:`slicings`). It supports " -"no special operations. There is exactly one ellipsis object, named " -":const:`Ellipsis` (a built-in name). ``type(Ellipsis)()`` produces the " -":const:`Ellipsis` singleton." -msgstr "" - -#: ../../library/stdtypes.rst:5801 -msgid "It is written as ``Ellipsis`` or ``...``." -msgstr "" - -#: ../../library/stdtypes.rst:5807 -msgid "The NotImplemented Object" -msgstr "" - -#: ../../library/stdtypes.rst:5809 -msgid "" -"This object is returned from comparisons and binary operations when they are" -" asked to operate on types they don't support. See :ref:`comparisons` for " -"more information. There is exactly one :data:`NotImplemented` object. " -":code:`type(NotImplemented)()` produces the singleton instance." -msgstr "" - -#: ../../library/stdtypes.rst:5814 -msgid "It is written as :code:`NotImplemented`." -msgstr "" - -#: ../../library/stdtypes.rst:5820 -msgid "Internal Objects" -msgstr "" - -#: ../../library/stdtypes.rst:5822 -msgid "" -"See :ref:`types` for this information. It describes :ref:`stack frame " -"objects `, :ref:`traceback objects `, and " -"slice objects." -msgstr "" - -#: ../../library/stdtypes.rst:5830 -msgid "Special Attributes" -msgstr "Atribut Spesial" - -#: ../../library/stdtypes.rst:5832 -msgid "" -"The implementation adds a few special read-only attributes to several object" -" types, where they are relevant. Some of these are not reported by the " -":func:`dir` built-in function." -msgstr "" - -#: ../../library/stdtypes.rst:5839 -msgid "" -"The name of the class, function, method, descriptor, or generator instance." -msgstr "" - -#: ../../library/stdtypes.rst:5845 -msgid "" -"The :term:`qualified name` of the class, function, method, descriptor, or " -"generator instance." -msgstr "" - -#: ../../library/stdtypes.rst:5853 -msgid "The name of the module in which a class or function was defined." -msgstr "" - -#: ../../library/stdtypes.rst:5858 -msgid "" -"The documentation string of a class or function, or ``None`` if undefined." -msgstr "" - -#: ../../library/stdtypes.rst:5863 -msgid "" -"The :ref:`type parameters ` of generic classes, functions, and " -":ref:`type aliases `. For classes and functions that are not " -"generic, this will be an empty tuple." -msgstr "" - -#: ../../library/stdtypes.rst:5873 -msgid "Integer string conversion length limitation" -msgstr "" - -#: ../../library/stdtypes.rst:5875 -msgid "" -"CPython has a global limit for converting between :class:`int` and " -":class:`str` to mitigate denial of service attacks. This limit *only* " -"applies to decimal or other non-power-of-two number bases. Hexadecimal, " -"octal, and binary conversions are unlimited. The limit can be configured." -msgstr "" - -#: ../../library/stdtypes.rst:5880 -msgid "" -"The :class:`int` type in CPython is an arbitrary length number stored in " -"binary form (commonly known as a \"bignum\"). There exists no algorithm that" -" can convert a string to a binary integer or a binary integer to a string in" -" linear time, *unless* the base is a power of 2. Even the best known " -"algorithms for base 10 have sub-quadratic complexity. Converting a large " -"value such as ``int('1' * 500_000)`` can take over a second on a fast CPU." -msgstr "" - -#: ../../library/stdtypes.rst:5887 -msgid "" -"Limiting conversion size offers a practical way to avoid :cve:`2020-10735`." -msgstr "" - -#: ../../library/stdtypes.rst:5889 -msgid "" -"The limit is applied to the number of digit characters in the input or " -"output string when a non-linear conversion algorithm would be involved. " -"Underscores and the sign are not counted towards the limit." -msgstr "" - -#: ../../library/stdtypes.rst:5893 -msgid "" -"When an operation would exceed the limit, a :exc:`ValueError` is raised:" -msgstr "" - -#: ../../library/stdtypes.rst:5895 -msgid "" -">>> import sys\n" -">>> sys.set_int_max_str_digits(4300) # Illustrative, this is the default.\n" -">>> _ = int('2' * 5432)\n" -"Traceback (most recent call last):\n" -"...\n" -"ValueError: Exceeds the limit (4300 digits) for integer string conversion: value has 5432 digits; use sys.set_int_max_str_digits() to increase the limit\n" -">>> i = int('2' * 4300)\n" -">>> len(str(i))\n" -"4300\n" -">>> i_squared = i*i\n" -">>> len(str(i_squared))\n" -"Traceback (most recent call last):\n" -"...\n" -"ValueError: Exceeds the limit (4300 digits) for integer string conversion; use sys.set_int_max_str_digits() to increase the limit\n" -">>> len(hex(i_squared))\n" -"7144\n" -">>> assert int(hex(i_squared), base=16) == i*i # Hexadecimal is unlimited." -msgstr "" - -#: ../../library/stdtypes.rst:5915 -msgid "" -"The default limit is 4300 digits as provided in " -":data:`sys.int_info.default_max_str_digits `. The lowest limit" -" that can be configured is 640 digits as provided in " -":data:`sys.int_info.str_digits_check_threshold `." -msgstr "" - -#: ../../library/stdtypes.rst:5920 -msgid "Verification:" -msgstr "" - -#: ../../library/stdtypes.rst:5922 -msgid "" -">>> import sys\n" -">>> assert sys.int_info.default_max_str_digits == 4300, sys.int_info\n" -">>> assert sys.int_info.str_digits_check_threshold == 640, sys.int_info\n" -">>> msg = int('578966293710682886880994035146873798396722250538762761564'\n" -"... '9252925514383915483333812743580549779436104706260696366600'\n" -"... '571186405732').to_bytes(53, 'big')\n" -"..." -msgstr "" - -#: ../../library/stdtypes.rst:5935 -msgid "Affected APIs" -msgstr "" - -#: ../../library/stdtypes.rst:5937 -msgid "" -"The limitation only applies to potentially slow conversions between " -":class:`int` and :class:`str` or :class:`bytes`:" -msgstr "" - -#: ../../library/stdtypes.rst:5940 -msgid "``int(string)`` with default base 10." -msgstr "" - -#: ../../library/stdtypes.rst:5941 -msgid "``int(string, base)`` for all bases that are not a power of 2." -msgstr "" - -#: ../../library/stdtypes.rst:5942 -msgid "``str(integer)``." -msgstr "" - -#: ../../library/stdtypes.rst:5943 -msgid "``repr(integer)``." -msgstr "" - -#: ../../library/stdtypes.rst:5944 -msgid "" -"any other string conversion to base 10, for example ``f\"{integer}\"``, " -"``\"{}\".format(integer)``, or ``b\"%d\" % integer``." -msgstr "" - -#: ../../library/stdtypes.rst:5947 -msgid "The limitations do not apply to functions with a linear algorithm:" -msgstr "" - -#: ../../library/stdtypes.rst:5949 -msgid "``int(string, base)`` with base 2, 4, 8, 16, or 32." -msgstr "" - -#: ../../library/stdtypes.rst:5950 -msgid ":func:`int.from_bytes` and :func:`int.to_bytes`." -msgstr "" - -#: ../../library/stdtypes.rst:5951 -msgid ":func:`hex`, :func:`oct`, :func:`bin`." -msgstr "" - -#: ../../library/stdtypes.rst:5952 -msgid ":ref:`formatspec` for hex, octal, and binary numbers." -msgstr "" - -#: ../../library/stdtypes.rst:5953 -msgid ":class:`str` to :class:`float`." -msgstr "" - -#: ../../library/stdtypes.rst:5954 -msgid ":class:`str` to :class:`decimal.Decimal`." -msgstr "" - -#: ../../library/stdtypes.rst:5957 -msgid "Configuring the limit" -msgstr "" - -#: ../../library/stdtypes.rst:5959 -msgid "" -"Before Python starts up you can use an environment variable or an " -"interpreter command line flag to configure the limit:" -msgstr "" - -#: ../../library/stdtypes.rst:5962 -msgid "" -":envvar:`PYTHONINTMAXSTRDIGITS`, e.g. ``PYTHONINTMAXSTRDIGITS=640 python3`` " -"to set the limit to 640 or ``PYTHONINTMAXSTRDIGITS=0 python3`` to disable " -"the limitation." -msgstr "" - -#: ../../library/stdtypes.rst:5965 -msgid "" -":option:`-X int_max_str_digits <-X>`, e.g. ``python3 -X " -"int_max_str_digits=640``" -msgstr "" - -#: ../../library/stdtypes.rst:5967 -msgid "" -":data:`sys.flags.int_max_str_digits` contains the value of " -":envvar:`PYTHONINTMAXSTRDIGITS` or :option:`-X int_max_str_digits <-X>`. If " -"both the env var and the ``-X`` option are set, the ``-X`` option takes " -"precedence. A value of *-1* indicates that both were unset, thus a value of " -":data:`sys.int_info.default_max_str_digits` was used during initialization." -msgstr "" - -#: ../../library/stdtypes.rst:5973 -msgid "" -"From code, you can inspect the current limit and set a new one using these " -":mod:`sys` APIs:" -msgstr "" - -#: ../../library/stdtypes.rst:5976 -msgid "" -":func:`sys.get_int_max_str_digits` and :func:`sys.set_int_max_str_digits` " -"are a getter and setter for the interpreter-wide limit. Subinterpreters have" -" their own limit." -msgstr "" - -#: ../../library/stdtypes.rst:5980 -msgid "" -"Information about the default and minimum can be found in " -":data:`sys.int_info`:" -msgstr "" - -#: ../../library/stdtypes.rst:5982 -msgid "" -":data:`sys.int_info.default_max_str_digits ` is the compiled-" -"in default limit." -msgstr "" - -#: ../../library/stdtypes.rst:5984 -msgid "" -":data:`sys.int_info.str_digits_check_threshold ` is the lowest" -" accepted value for the limit (other than 0 which disables it)." -msgstr "" - -#: ../../library/stdtypes.rst:5991 -msgid "" -"Setting a low limit *can* lead to problems. While rare, code exists that " -"contains integer constants in decimal in their source that exceed the " -"minimum threshold. A consequence of setting the limit is that Python source " -"code containing decimal integer literals longer than the limit will " -"encounter an error during parsing, usually at startup time or import time or" -" even at installation time - anytime an up to date ``.pyc`` does not already" -" exist for the code. A workaround for source that contains such large " -"constants is to convert them to ``0x`` hexadecimal form as it has no limit." -msgstr "" - -#: ../../library/stdtypes.rst:6000 -msgid "" -"Test your application thoroughly if you use a low limit. Ensure your tests " -"run with the limit set early via the environment or flag so that it applies " -"during startup and even during any installation step that may invoke Python " -"to precompile ``.py`` sources to ``.pyc`` files." -msgstr "" - -#: ../../library/stdtypes.rst:6006 -msgid "Recommended configuration" -msgstr "" - -#: ../../library/stdtypes.rst:6008 -msgid "" -"The default :data:`sys.int_info.default_max_str_digits` is expected to be " -"reasonable for most applications. If your application requires a different " -"limit, set it from your main entry point using Python version agnostic code " -"as these APIs were added in security patch releases in versions before 3.12." -msgstr "" - -#: ../../library/stdtypes.rst:6013 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/stdtypes.rst:6015 -msgid "" -">>> import sys\n" -">>> if hasattr(sys, \"set_int_max_str_digits\"):\n" -"... upper_bound = 68000\n" -"... lower_bound = 4004\n" -"... current_limit = sys.get_int_max_str_digits()\n" -"... if current_limit == 0 or current_limit > upper_bound:\n" -"... sys.set_int_max_str_digits(upper_bound)\n" -"... elif current_limit < lower_bound:\n" -"... sys.set_int_max_str_digits(lower_bound)" -msgstr "" - -#: ../../library/stdtypes.rst:6025 -msgid "If you need to disable it entirely, set it to ``0``." -msgstr "" - -#: ../../library/stdtypes.rst:6029 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/stdtypes.rst:6030 -msgid "" -"Additional information on these special methods may be found in the Python " -"Reference Manual (:ref:`customization`)." -msgstr "" - -#: ../../library/stdtypes.rst:6033 -msgid "" -"As a consequence, the list ``[1, 2]`` is considered equal to ``[1.0, 2.0]``," -" and similarly for tuples." -msgstr "" - -#: ../../library/stdtypes.rst:6036 -msgid "They must have since the parser can't tell the type of the operands." -msgstr "" - -#: ../../library/stdtypes.rst:6038 -msgid "" -"Cased characters are those with general category property being one of " -"\"Lu\" (Letter, uppercase), \"Ll\" (Letter, lowercase), or \"Lt\" (Letter, " -"titlecase)." -msgstr "" - -#: ../../library/stdtypes.rst:6041 -msgid "" -"To format only a tuple you should therefore provide a singleton tuple whose " -"only element is the tuple to be formatted." -msgstr "" -"Untuk memformat hanya *tuple*, Anda harus menyediakan *tuple* *singleton* " -"dimana elemennya hanya *tuple* yang akan diformat." - -#: ../../library/stdtypes.rst:13 -msgid "built-in" -msgstr "" - -#: ../../library/stdtypes.rst:13 ../../library/stdtypes.rst:322 -#: ../../library/stdtypes.rst:399 ../../library/stdtypes.rst:992 -#: ../../library/stdtypes.rst:1159 ../../library/stdtypes.rst:1181 -#: ../../library/stdtypes.rst:1196 ../../library/stdtypes.rst:4775 -#: ../../library/stdtypes.rst:5766 -msgid "types" -msgstr "types" - -#: ../../library/stdtypes.rst:34 ../../library/stdtypes.rst:1196 -#: ../../library/stdtypes.rst:4775 -msgid "statement" -msgstr "pernyataan" - -#: ../../library/stdtypes.rst:34 -msgid "if" -msgstr "" - -#: ../../library/stdtypes.rst:34 -msgid "while" -msgstr "" - -#: ../../library/stdtypes.rst:34 -msgid "truth" -msgstr "" - -#: ../../library/stdtypes.rst:34 -msgid "value" -msgstr "nilai" - -#: ../../library/stdtypes.rst:34 ../../library/stdtypes.rst:81 -#: ../../library/stdtypes.rst:208 ../../library/stdtypes.rst:859 -msgid "Boolean" -msgstr "" - -#: ../../library/stdtypes.rst:34 ../../library/stdtypes.rst:81 -#: ../../library/stdtypes.rst:399 -msgid "operations" -msgstr "" - -#: ../../library/stdtypes.rst:34 -msgid "false" -msgstr "salah" - -#: ../../library/stdtypes.rst:44 -msgid "true" -msgstr "true" - -#: ../../library/stdtypes.rst:52 -msgid "None (Built-in object)" -msgstr "" - -#: ../../library/stdtypes.rst:52 -msgid "False (Built-in object)" -msgstr "" - -#: ../../library/stdtypes.rst:64 ../../library/stdtypes.rst:98 -#: ../../library/stdtypes.rst:123 ../../library/stdtypes.rst:195 -#: ../../library/stdtypes.rst:249 ../../library/stdtypes.rst:399 -#: ../../library/stdtypes.rst:992 -msgid "operator" -msgstr "" - -#: ../../library/stdtypes.rst:64 ../../library/stdtypes.rst:98 -msgid "or" -msgstr "" - -#: ../../library/stdtypes.rst:64 ../../library/stdtypes.rst:98 -msgid "and" -msgstr "" - -#: ../../library/stdtypes.rst:64 ../../library/stdtypes.rst:859 -msgid "False" -msgstr "False" - -#: ../../library/stdtypes.rst:64 ../../library/stdtypes.rst:859 -msgid "True" -msgstr "True" - -#: ../../library/stdtypes.rst:98 -msgid "not" -msgstr "" - -#: ../../library/stdtypes.rst:123 -msgid "chaining" -msgstr "" - -#: ../../library/stdtypes.rst:123 -msgid "comparisons" -msgstr "" - -#: ../../library/stdtypes.rst:123 -msgid "comparison" -msgstr "" - -#: ../../library/stdtypes.rst:123 -msgid "==" -msgstr "" - -#: ../../library/stdtypes.rst:123 -msgid "< (less)" -msgstr "" - -#: ../../library/stdtypes.rst:123 -msgid "<=" -msgstr "" - -#: ../../library/stdtypes.rst:123 -msgid "> (greater)" -msgstr "" - -#: ../../library/stdtypes.rst:123 -msgid ">=" -msgstr "" - -#: ../../library/stdtypes.rst:123 -msgid "!=" -msgstr "" - -#: ../../library/stdtypes.rst:123 -msgid "is" -msgstr "" - -#: ../../library/stdtypes.rst:123 -msgid "is not" -msgstr "" - -#: ../../library/stdtypes.rst:163 ../../library/stdtypes.rst:208 -#: ../../library/stdtypes.rst:976 ../../library/stdtypes.rst:1159 -#: ../../library/stdtypes.rst:1181 ../../library/stdtypes.rst:1302 -#: ../../library/stdtypes.rst:1381 ../../library/stdtypes.rst:1425 -#: ../../library/stdtypes.rst:1546 ../../library/stdtypes.rst:1676 -#: ../../library/stdtypes.rst:2808 ../../library/stdtypes.rst:2827 -#: ../../library/stdtypes.rst:2938 ../../library/stdtypes.rst:4573 -#: ../../library/stdtypes.rst:4775 ../../library/stdtypes.rst:5255 -#: ../../library/stdtypes.rst:5511 ../../library/stdtypes.rst:5686 -#: ../../library/stdtypes.rst:5730 -msgid "object" -msgstr "objek" - -#: ../../library/stdtypes.rst:163 ../../library/stdtypes.rst:208 -#: ../../library/stdtypes.rst:229 ../../library/stdtypes.rst:322 -#: ../../library/stdtypes.rst:341 -msgid "numeric" -msgstr "" - -#: ../../library/stdtypes.rst:163 -msgid "objects" -msgstr "" - -#: ../../library/stdtypes.rst:163 -msgid "comparing" -msgstr "" - -#: ../../library/stdtypes.rst:173 -msgid "__eq__() (instance method)" -msgstr "" - -#: ../../library/stdtypes.rst:173 -msgid "__ne__() (instance method)" -msgstr "" - -#: ../../library/stdtypes.rst:173 -msgid "__lt__() (instance method)" -msgstr "" - -#: ../../library/stdtypes.rst:173 -msgid "__le__() (instance method)" -msgstr "" - -#: ../../library/stdtypes.rst:173 -msgid "__gt__() (instance method)" -msgstr "" - -#: ../../library/stdtypes.rst:173 -msgid "__ge__() (instance method)" -msgstr "" - -#: ../../library/stdtypes.rst:195 ../../library/stdtypes.rst:992 -msgid "in" -msgstr "" - -#: ../../library/stdtypes.rst:195 ../../library/stdtypes.rst:992 -msgid "not in" -msgstr "" - -#: ../../library/stdtypes.rst:208 ../../library/stdtypes.rst:229 -#: ../../library/stdtypes.rst:399 -msgid "integer" -msgstr "bilangan bulat" - -#: ../../library/stdtypes.rst:208 ../../library/stdtypes.rst:229 -msgid "floating-point" -msgstr "" - -#: ../../library/stdtypes.rst:208 ../../library/stdtypes.rst:229 -msgid "complex number" -msgstr "bilangan kompleks" - -#: ../../library/stdtypes.rst:208 -msgid "C" -msgstr "C" - -#: ../../library/stdtypes.rst:208 -msgid "language" -msgstr "" - -#: ../../library/stdtypes.rst:229 -msgid "literals" -msgstr "" - -#: ../../library/stdtypes.rst:229 -msgid "hexadecimal" -msgstr "" - -#: ../../library/stdtypes.rst:229 -msgid "octal" -msgstr "" - -#: ../../library/stdtypes.rst:229 -msgid "binary" -msgstr "" - -#: ../../library/stdtypes.rst:249 -msgid "arithmetic" -msgstr "" - -#: ../../library/stdtypes.rst:249 ../../library/stdtypes.rst:992 -#: ../../library/stdtypes.rst:1159 ../../library/stdtypes.rst:4775 -#: ../../library/stdtypes.rst:5737 ../../library/stdtypes.rst:5751 -#: ../../library/stdtypes.rst:5766 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../library/stdtypes.rst:249 -msgid "int" -msgstr "int" - -#: ../../library/stdtypes.rst:249 -msgid "float" -msgstr "float" - -#: ../../library/stdtypes.rst:249 -msgid "complex" -msgstr "" - -#: ../../library/stdtypes.rst:249 ../../library/stdtypes.rst:2684 -#: ../../library/stdtypes.rst:3943 -msgid "+ (plus)" -msgstr "" - -#: ../../library/stdtypes.rst:249 -msgid "unary operator" -msgstr "" - -#: ../../library/stdtypes.rst:249 -msgid "binary operator" -msgstr "" - -#: ../../library/stdtypes.rst:249 ../../library/stdtypes.rst:2684 -#: ../../library/stdtypes.rst:3943 -msgid "- (minus)" -msgstr "" - -#: ../../library/stdtypes.rst:249 ../../library/stdtypes.rst:2641 -#: ../../library/stdtypes.rst:3900 -msgid "* (asterisk)" -msgstr "" - -#: ../../library/stdtypes.rst:249 -msgid "/ (slash)" -msgstr "" - -#: ../../library/stdtypes.rst:249 -msgid "//" -msgstr "" - -#: ../../library/stdtypes.rst:249 ../../library/stdtypes.rst:2605 -#: ../../library/stdtypes.rst:3868 -msgid "% (percent)" -msgstr "" - -#: ../../library/stdtypes.rst:249 -msgid "**" -msgstr "" - -#: ../../library/stdtypes.rst:322 ../../library/stdtypes.rst:399 -#: ../../library/stdtypes.rst:992 ../../library/stdtypes.rst:1196 -#: ../../library/stdtypes.rst:4775 -msgid "operations on" -msgstr "" - -#: ../../library/stdtypes.rst:322 -msgid "conjugate() (complex number method)" -msgstr "" - -#: ../../library/stdtypes.rst:341 ../../library/stdtypes.rst:1742 -#: ../../library/stdtypes.rst:2808 ../../library/stdtypes.rst:5766 -msgid "module" -msgstr "modul" - -#: ../../library/stdtypes.rst:341 -msgid "math" -msgstr "math" - -#: ../../library/stdtypes.rst:341 -msgid "floor() (in module math)" -msgstr "" - -#: ../../library/stdtypes.rst:341 -msgid "ceil() (in module math)" -msgstr "" - -#: ../../library/stdtypes.rst:341 -msgid "trunc() (in module math)" -msgstr "" - -#: ../../library/stdtypes.rst:341 -msgid "conversions" -msgstr "" - -#: ../../library/stdtypes.rst:399 -msgid "bitwise" -msgstr "" - -#: ../../library/stdtypes.rst:399 -msgid "shifting" -msgstr "" - -#: ../../library/stdtypes.rst:399 -msgid "masking" -msgstr "" - -#: ../../library/stdtypes.rst:399 -msgid "| (vertical bar)" -msgstr "" - -#: ../../library/stdtypes.rst:399 -msgid "^ (caret)" -msgstr "" - -#: ../../library/stdtypes.rst:399 -msgid "& (ampersand)" -msgstr "" - -#: ../../library/stdtypes.rst:399 -msgid "<<" -msgstr "" - -#: ../../library/stdtypes.rst:399 -msgid ">>" -msgstr "" - -#: ../../library/stdtypes.rst:399 -msgid "~ (tilde)" -msgstr "" - -#: ../../library/stdtypes.rst:859 -msgid "values" -msgstr "nilai" - -#: ../../library/stdtypes.rst:889 -msgid "iterator protocol" -msgstr "" - -#: ../../library/stdtypes.rst:889 ../../library/stdtypes.rst:5170 -msgid "protocol" -msgstr "" - -#: ../../library/stdtypes.rst:889 -msgid "iterator" -msgstr "" - -#: ../../library/stdtypes.rst:889 ../../library/stdtypes.rst:976 -#: ../../library/stdtypes.rst:992 ../../library/stdtypes.rst:1159 -#: ../../library/stdtypes.rst:1181 ../../library/stdtypes.rst:1196 -msgid "sequence" -msgstr "urutan" - -#: ../../library/stdtypes.rst:889 -msgid "iteration" -msgstr "" - -#: ../../library/stdtypes.rst:889 -msgid "container" -msgstr "" - -#: ../../library/stdtypes.rst:889 -msgid "iteration over" -msgstr "" - -#: ../../library/stdtypes.rst:992 ../../library/stdtypes.rst:4775 -msgid "len" -msgstr "" - -#: ../../library/stdtypes.rst:992 -msgid "min" -msgstr "" - -#: ../../library/stdtypes.rst:992 -msgid "max" -msgstr "" - -#: ../../library/stdtypes.rst:992 -msgid "concatenation" -msgstr "" - -#: ../../library/stdtypes.rst:992 -msgid "operation" -msgstr "" - -#: ../../library/stdtypes.rst:992 -msgid "repetition" -msgstr "" - -#: ../../library/stdtypes.rst:992 ../../library/stdtypes.rst:1196 -msgid "subscript" -msgstr "" - -#: ../../library/stdtypes.rst:992 ../../library/stdtypes.rst:1196 -msgid "slice" -msgstr "" - -#: ../../library/stdtypes.rst:992 -msgid "count() (sequence method)" -msgstr "" - -#: ../../library/stdtypes.rst:992 -msgid "index() (sequence method)" -msgstr "" - -#: ../../library/stdtypes.rst:1048 -msgid "loop" -msgstr "" - -#: ../../library/stdtypes.rst:1048 -msgid "over mutable sequence" -msgstr "" - -#: ../../library/stdtypes.rst:1048 -msgid "mutable sequence" -msgstr "" - -#: ../../library/stdtypes.rst:1048 -msgid "loop over" -msgstr "" - -#: ../../library/stdtypes.rst:1159 -msgid "immutable" -msgstr "" - -#: ../../library/stdtypes.rst:1159 ../../library/stdtypes.rst:1381 -msgid "tuple" -msgstr "" - -#: ../../library/stdtypes.rst:1159 -msgid "hash" -msgstr "" - -#: ../../library/stdtypes.rst:1181 -msgid "mutable" -msgstr "" - -#: ../../library/stdtypes.rst:1181 ../../library/stdtypes.rst:1196 -#: ../../library/stdtypes.rst:1302 -msgid "list" -msgstr "list" - -#: ../../library/stdtypes.rst:1181 ../../library/stdtypes.rst:2808 -#: ../../library/stdtypes.rst:2938 ../../library/stdtypes.rst:3046 -#: ../../library/stdtypes.rst:3868 -msgid "bytearray" -msgstr "" - -#: ../../library/stdtypes.rst:1196 ../../library/stdtypes.rst:4775 -#: ../../library/stdtypes.rst:5511 ../../library/stdtypes.rst:5766 -msgid "type" -msgstr "tipe" - -#: ../../library/stdtypes.rst:1196 -msgid "assignment" -msgstr "" - -#: ../../library/stdtypes.rst:1196 ../../library/stdtypes.rst:4775 -msgid "del" -msgstr "" - -#: ../../library/stdtypes.rst:1196 -msgid "append() (sequence method)" -msgstr "" - -#: ../../library/stdtypes.rst:1196 -msgid "clear() (sequence method)" -msgstr "" - -#: ../../library/stdtypes.rst:1196 -msgid "copy() (sequence method)" -msgstr "" - -#: ../../library/stdtypes.rst:1196 -msgid "extend() (sequence method)" -msgstr "" - -#: ../../library/stdtypes.rst:1196 -msgid "insert() (sequence method)" -msgstr "" - -#: ../../library/stdtypes.rst:1196 -msgid "pop() (sequence method)" -msgstr "" - -#: ../../library/stdtypes.rst:1196 -msgid "remove() (sequence method)" -msgstr "" - -#: ../../library/stdtypes.rst:1196 -msgid "reverse() (sequence method)" -msgstr "" - -#: ../../library/stdtypes.rst:1425 -msgid "range" -msgstr "" - -#: ../../library/stdtypes.rst:1546 ../../library/stdtypes.rst:1689 -#: ../../library/stdtypes.rst:1734 ../../library/stdtypes.rst:2459 -#: ../../library/stdtypes.rst:2605 -msgid "string" -msgstr "string" - -#: ../../library/stdtypes.rst:1546 -msgid "text sequence type" -msgstr "" - -#: ../../library/stdtypes.rst:1546 ../../library/stdtypes.rst:1689 -#: ../../library/stdtypes.rst:1707 -msgid "str (built-in class)" -msgstr "" - -#: ../../library/stdtypes.rst:1546 -msgid "(see also string)" -msgstr "" - -#: ../../library/stdtypes.rst:1676 -msgid "io.StringIO" -msgstr "" - -#: ../../library/stdtypes.rst:1707 ../../library/stdtypes.rst:2800 -msgid "buffer protocol" -msgstr "" - -#: ../../library/stdtypes.rst:1707 ../../library/stdtypes.rst:2808 -#: ../../library/stdtypes.rst:2827 ../../library/stdtypes.rst:3046 -#: ../../library/stdtypes.rst:3868 -msgid "bytes" -msgstr "" - -#: ../../library/stdtypes.rst:1734 ../../library/stdtypes.rst:3046 -msgid "methods" -msgstr "" - -#: ../../library/stdtypes.rst:1742 -msgid "re" -msgstr "re" - -#: ../../library/stdtypes.rst:2273 ../../library/stdtypes.rst:3722 -msgid "universal newlines" -msgstr "" - -#: ../../library/stdtypes.rst:2273 -msgid "str.splitlines method" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid "! formatted string literal" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid "formatted string literals" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid "! f-string" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid "f-strings" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid "fstring" -msgstr "fstring" - -#: ../../library/stdtypes.rst:2459 -msgid "interpolated string literal" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid "formatted literal" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid "interpolated literal" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid "{} (curly brackets)" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid "in formatted string literal" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid "! (exclamation mark)" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid ": (colon)" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid "= (equals)" -msgstr "" - -#: ../../library/stdtypes.rst:2459 -msgid "for help in debugging using string literals" -msgstr "" - -#: ../../library/stdtypes.rst:2605 -msgid "formatting, string (%)" -msgstr "" - -#: ../../library/stdtypes.rst:2605 -msgid "interpolation, string (%)" -msgstr "" - -#: ../../library/stdtypes.rst:2605 -msgid "formatting, printf" -msgstr "" - -#: ../../library/stdtypes.rst:2605 -msgid "interpolation, printf" -msgstr "" - -#: ../../library/stdtypes.rst:2605 ../../library/stdtypes.rst:3868 -msgid "printf-style formatting" -msgstr "" - -#: ../../library/stdtypes.rst:2605 ../../library/stdtypes.rst:3868 -msgid "sprintf-style formatting" -msgstr "" - -#: ../../library/stdtypes.rst:2641 ../../library/stdtypes.rst:3900 -msgid "() (parentheses)" -msgstr "" - -#: ../../library/stdtypes.rst:2641 ../../library/stdtypes.rst:2684 -#: ../../library/stdtypes.rst:3900 ../../library/stdtypes.rst:3943 -msgid "in printf-style formatting" -msgstr "" - -#: ../../library/stdtypes.rst:2641 ../../library/stdtypes.rst:3900 -msgid ". (dot)" -msgstr "" - -#: ../../library/stdtypes.rst:2684 ../../library/stdtypes.rst:3943 -msgid "# (hash)" -msgstr "" - -#: ../../library/stdtypes.rst:2684 ../../library/stdtypes.rst:3943 -msgid "space" -msgstr "" - -#: ../../library/stdtypes.rst:2800 -msgid "binary sequence types" -msgstr "" - -#: ../../library/stdtypes.rst:2808 -msgid "memoryview" -msgstr "" - -#: ../../library/stdtypes.rst:2808 -msgid "array" -msgstr "array" - -#: ../../library/stdtypes.rst:3722 -msgid "bytes.splitlines method" -msgstr "" - -#: ../../library/stdtypes.rst:3722 -msgid "bytearray.splitlines method" -msgstr "" - -#: ../../library/stdtypes.rst:3868 -msgid "formatting" -msgstr "" - -#: ../../library/stdtypes.rst:3868 -msgid "bytes (%)" -msgstr "" - -#: ../../library/stdtypes.rst:3868 -msgid "bytearray (%)" -msgstr "" - -#: ../../library/stdtypes.rst:3868 -msgid "interpolation" -msgstr "" - -#: ../../library/stdtypes.rst:4573 -msgid "set" -msgstr "set" - -#: ../../library/stdtypes.rst:4775 -msgid "mapping" -msgstr "pemetaan" - -#: ../../library/stdtypes.rst:4775 -msgid "dictionary" -msgstr "dictionary" - -#: ../../library/stdtypes.rst:4885 -msgid "__missing__()" -msgstr "" - -#: ../../library/stdtypes.rst:5170 -msgid "context manager" -msgstr "manajer konteks" - -#: ../../library/stdtypes.rst:5170 -msgid "context management protocol" -msgstr "" - -#: ../../library/stdtypes.rst:5170 -msgid "context management" -msgstr "" - -#: ../../library/stdtypes.rst:5243 -msgid "annotation" -msgstr "anotasi" - -#: ../../library/stdtypes.rst:5243 -msgid "type annotation; type hint" -msgstr "" - -#: ../../library/stdtypes.rst:5255 -msgid "GenericAlias" -msgstr "" - -#: ../../library/stdtypes.rst:5255 -msgid "Generic" -msgstr "" - -#: ../../library/stdtypes.rst:5255 -msgid "Alias" -msgstr "" - -#: ../../library/stdtypes.rst:5511 -msgid "Union" -msgstr "" - -#: ../../library/stdtypes.rst:5511 -msgid "union" -msgstr "" - -#: ../../library/stdtypes.rst:5686 -msgid "method" -msgstr "" - -#: ../../library/stdtypes.rst:5730 -msgid "code" -msgstr "code" - -#: ../../library/stdtypes.rst:5730 -msgid "code object" -msgstr "" - -#: ../../library/stdtypes.rst:5737 -msgid "compile" -msgstr "" - -#: ../../library/stdtypes.rst:5737 -msgid "__code__ (function object attribute)" -msgstr "" - -#: ../../library/stdtypes.rst:5751 -msgid "exec" -msgstr "" - -#: ../../library/stdtypes.rst:5751 -msgid "eval" -msgstr "" - -#: ../../library/stdtypes.rst:5790 -msgid "..." -msgstr "" - -#: ../../library/stdtypes.rst:5790 -msgid "ellipsis literal" -msgstr "" diff --git a/python-newest.library--string/id.po b/python-newest.library--string/id.po deleted file mode 100644 index 04b7d7d..0000000 --- a/python-newest.library--string/id.po +++ /dev/null @@ -1,1452 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Faiq Zakki <221709674@stis.ac.id>, 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Faiq Zakki <221709674@stis.ac.id>, 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/string.rst:2 -msgid ":mod:`!string` --- Common string operations" -msgstr "" - -#: ../../library/string.rst:7 -msgid "**Source code:** :source:`Lib/string.py`" -msgstr "**Kode sumber:** :source:`Lib/string.py`" - -#: ../../library/string.rst:14 -msgid ":ref:`textseq`" -msgstr ":ref:`textseq`" - -#: ../../library/string.rst:16 -msgid ":ref:`string-methods`" -msgstr ":ref:`string-methods`" - -#: ../../library/string.rst:19 -msgid "String constants" -msgstr "Konstanta pada string" - -#: ../../library/string.rst:21 -msgid "The constants defined in this module are:" -msgstr "Konstanta yang didefinisikan dalam modul ini antara lain:" - -#: ../../library/string.rst:26 -msgid "" -"The concatenation of the :const:`ascii_lowercase` and " -":const:`ascii_uppercase` constants described below. This value is not " -"locale-dependent." -msgstr "" -"Sebuah rangkaian dari konstanta :const:`ascii_lowercase` dan " -":const:`ascii_uppercase` yang di deskripsikan dibawah. Nilai ini tidak " -"dependen-lokal." - -#: ../../library/string.rst:32 -msgid "" -"The lowercase letters ``'abcdefghijklmnopqrstuvwxyz'``. This value is not " -"locale-dependent and will not change." -msgstr "" -"Huruf kecil ``'abcdefghijklmnopqrstuvwxyz'``. Nilai ini tidak dependen-lokal" -" dan tidak akan berubah." - -#: ../../library/string.rst:38 -msgid "" -"The uppercase letters ``'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. This value is not " -"locale-dependent and will not change." -msgstr "" -"Huruf besar ``'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. Nilai ini tidak dependen-lokal" -" dan tidak akan berubah." - -#: ../../library/string.rst:44 -msgid "The string ``'0123456789'``." -msgstr "String ``'0123456789'``." - -#: ../../library/string.rst:49 -msgid "The string ``'0123456789abcdefABCDEF'``." -msgstr "String ``'0123456789abcdefABCDEF'``." - -#: ../../library/string.rst:54 -msgid "The string ``'01234567'``." -msgstr "String ``'01234567'``." - -#: ../../library/string.rst:59 -msgid "" -"String of ASCII characters which are considered punctuation characters in " -"the ``C`` locale: ``!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``." -msgstr "" -"String karakter ASCII yang dianggap sebagai karakter tanda baca pada lokal " -"``C`` : ``!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``." - -#: ../../library/string.rst:65 -msgid "" -"String of ASCII characters which are considered printable by Python. This is" -" a combination of :const:`digits`, :const:`ascii_letters`, " -":const:`punctuation`, and :const:`whitespace`." -msgstr "" - -#: ../../library/string.rst:71 -msgid "" -"By design, :meth:`string.printable.isprintable() ` returns " -":const:`False`. In particular, ``string.printable`` is not printable in the " -"POSIX sense (see :manpage:`LC_CTYPE `)." -msgstr "" - -#: ../../library/string.rst:78 -msgid "" -"A string containing all ASCII characters that are considered whitespace. " -"This includes the characters space, tab, linefeed, return, formfeed, and " -"vertical tab." -msgstr "" -"String karakter ASCII yang dianggap sebagai spasi. Termasuk karakter space, " -"tab, linefeed, return, formfeed, dan vertical tab." - -#: ../../library/string.rst:86 -msgid "Custom String Formatting" -msgstr "" - -#: ../../library/string.rst:88 -msgid "" -"The built-in string class provides the ability to do complex variable " -"substitutions and value formatting via the :meth:`~str.format` method " -"described in :pep:`3101`. The :class:`Formatter` class in the :mod:`string`" -" module allows you to create and customize your own string formatting " -"behaviors using the same implementation as the built-in :meth:`~str.format` " -"method." -msgstr "" - -#: ../../library/string.rst:97 -msgid "The :class:`Formatter` class has the following public methods:" -msgstr "" - -#: ../../library/string.rst:101 -msgid "" -"The primary API method. It takes a format string and an arbitrary set of " -"positional and keyword arguments. It is just a wrapper that calls " -":meth:`vformat`." -msgstr "" - -#: ../../library/string.rst:105 -msgid "" -"A format string argument is now :ref:`positional-only `." -msgstr "" - -#: ../../library/string.rst:111 -msgid "" -"This function does the actual work of formatting. It is exposed as a " -"separate function for cases where you want to pass in a predefined " -"dictionary of arguments, rather than unpacking and repacking the dictionary " -"as individual arguments using the ``*args`` and ``**kwargs`` syntax. " -":meth:`vformat` does the work of breaking up the format string into " -"character data and replacement fields. It calls the various methods " -"described below." -msgstr "" - -#: ../../library/string.rst:119 -msgid "" -"In addition, the :class:`Formatter` defines a number of methods that are " -"intended to be replaced by subclasses:" -msgstr "" - -#: ../../library/string.rst:124 -msgid "" -"Loop over the format_string and return an iterable of tuples " -"(*literal_text*, *field_name*, *format_spec*, *conversion*). This is used " -"by :meth:`vformat` to break the string into either literal text, or " -"replacement fields." -msgstr "" - -#: ../../library/string.rst:129 -msgid "" -"The values in the tuple conceptually represent a span of literal text " -"followed by a single replacement field. If there is no literal text (which " -"can happen if two replacement fields occur consecutively), then " -"*literal_text* will be a zero-length string. If there is no replacement " -"field, then the values of *field_name*, *format_spec* and *conversion* will " -"be ``None``. The value of *field_name* is unmodified and auto-numbering of " -"non-numbered positional fields is done by :meth:`vformat`." -msgstr "" - -#: ../../library/string.rst:139 -msgid "" -"Given *field_name*, convert it to an object to be formatted. Auto-numbering " -"of *field_name* returned from :meth:`parse` is done by :meth:`vformat` " -"before calling this method. Returns a tuple (obj, used_key). The default " -"version takes strings of the form defined in :pep:`3101`, such as " -"\"0[name]\" or \"label.title\". *args* and *kwargs* are as passed in to " -":meth:`vformat`. The return value *used_key* has the same meaning as the " -"*key* parameter to :meth:`get_value`." -msgstr "" - -#: ../../library/string.rst:149 -msgid "" -"Retrieve a given field value. The *key* argument will be either an integer " -"or a string. If it is an integer, it represents the index of the positional" -" argument in *args*; if it is a string, then it represents a named argument " -"in *kwargs*." -msgstr "" - -#: ../../library/string.rst:154 -msgid "" -"The *args* parameter is set to the list of positional arguments to " -":meth:`vformat`, and the *kwargs* parameter is set to the dictionary of " -"keyword arguments." -msgstr "" - -#: ../../library/string.rst:158 -msgid "" -"For compound field names, these functions are only called for the first " -"component of the field name; subsequent components are handled through " -"normal attribute and indexing operations." -msgstr "" - -#: ../../library/string.rst:162 -msgid "" -"So for example, the field expression '0.name' would cause :meth:`get_value` " -"to be called with a *key* argument of 0. The ``name`` attribute will be " -"looked up after :meth:`get_value` returns by calling the built-in " -":func:`getattr` function." -msgstr "" - -#: ../../library/string.rst:167 -msgid "" -"If the index or keyword refers to an item that does not exist, then an " -":exc:`IndexError` or :exc:`KeyError` should be raised." -msgstr "" - -#: ../../library/string.rst:172 -msgid "" -"Implement checking for unused arguments if desired. The arguments to this " -"function is the set of all argument keys that were actually referred to in " -"the format string (integers for positional arguments, and strings for named " -"arguments), and a reference to the *args* and *kwargs* that was passed to " -"vformat. The set of unused args can be calculated from these parameters. " -":meth:`check_unused_args` is assumed to raise an exception if the check " -"fails." -msgstr "" - -#: ../../library/string.rst:182 -msgid "" -":meth:`format_field` simply calls the global :func:`format` built-in. The " -"method is provided so that subclasses can override it." -msgstr "" - -#: ../../library/string.rst:187 -msgid "" -"Converts the value (returned by :meth:`get_field`) given a conversion type " -"(as in the tuple returned by the :meth:`parse` method). The default version" -" understands 's' (str), 'r' (repr) and 'a' (ascii) conversion types." -msgstr "" - -#: ../../library/string.rst:196 -msgid "Format String Syntax" -msgstr "" - -#: ../../library/string.rst:198 -msgid "" -"The :meth:`str.format` method and the :class:`Formatter` class share the " -"same syntax for format strings (although in the case of :class:`Formatter`, " -"subclasses can define their own format string syntax). The syntax is " -"related to that of :ref:`formatted string literals `, but it is " -"less sophisticated and, in particular, does not support arbitrary " -"expressions." -msgstr "" - -#: ../../library/string.rst:211 -msgid "" -"Format strings contain \"replacement fields\" surrounded by curly braces " -"``{}``. Anything that is not contained in braces is considered literal text," -" which is copied unchanged to the output. If you need to include a brace " -"character in the literal text, it can be escaped by doubling: ``{{`` and " -"``}}``." -msgstr "" - -#: ../../library/string.rst:216 -msgid "The grammar for a replacement field is as follows:" -msgstr "" - -#: ../../library/string.rst:228 -msgid "" -"In less formal terms, the replacement field can start with a *field_name* " -"that specifies the object whose value is to be formatted and inserted into " -"the output instead of the replacement field. The *field_name* is optionally " -"followed by a *conversion* field, which is preceded by an exclamation point" -" ``'!'``, and a *format_spec*, which is preceded by a colon ``':'``. These " -"specify a non-default format for the replacement value." -msgstr "" - -#: ../../library/string.rst:235 -msgid "See also the :ref:`formatspec` section." -msgstr "" - -#: ../../library/string.rst:237 -msgid "" -"The *field_name* itself begins with an *arg_name* that is either a number or" -" a keyword. If it's a number, it refers to a positional argument, and if " -"it's a keyword, it refers to a named keyword argument. An *arg_name* is " -"treated as a number if a call to :meth:`str.isdecimal` on the string would " -"return true. If the numerical arg_names in a format string are 0, 1, 2, ... " -"in sequence, they can all be omitted (not just some) and the numbers 0, 1, " -"2, ... will be automatically inserted in that order. Because *arg_name* is " -"not quote-delimited, it is not possible to specify arbitrary dictionary keys" -" (e.g., the strings ``'10'`` or ``':-]'``) within a format string. The " -"*arg_name* can be followed by any number of index or attribute expressions. " -"An expression of the form ``'.name'`` selects the named attribute using " -":func:`getattr`, while an expression of the form ``'[index]'`` does an index" -" lookup using :meth:`~object.__getitem__`." -msgstr "" - -#: ../../library/string.rst:251 -msgid "" -"The positional argument specifiers can be omitted for :meth:`str.format`, so" -" ``'{} {}'.format(a, b)`` is equivalent to ``'{0} {1}'.format(a, b)``." -msgstr "" - -#: ../../library/string.rst:255 -msgid "" -"The positional argument specifiers can be omitted for :class:`Formatter`." -msgstr "" - -#: ../../library/string.rst:258 -msgid "Some simple format string examples::" -msgstr "" - -#: ../../library/string.rst:260 -msgid "" -"\"First, thou shalt count to {0}\" # References first positional argument\n" -"\"Bring me a {}\" # Implicitly references the first positional argument\n" -"\"From {} to {}\" # Same as \"From {0} to {1}\"\n" -"\"My quest is {name}\" # References keyword argument 'name'\n" -"\"Weight in tons {0.weight}\" # 'weight' attribute of first positional arg\n" -"\"Units destroyed: {players[0]}\" # First element of keyword argument 'players'." -msgstr "" - -#: ../../library/string.rst:267 -msgid "" -"The *conversion* field causes a type coercion before formatting. Normally, " -"the job of formatting a value is done by the :meth:`~object.__format__` " -"method of the value itself. However, in some cases it is desirable to force" -" a type to be formatted as a string, overriding its own definition of " -"formatting. By converting the value to a string before calling " -":meth:`~object.__format__`, the normal formatting logic is bypassed." -msgstr "" - -#: ../../library/string.rst:274 -msgid "" -"Three conversion flags are currently supported: ``'!s'`` which calls " -":func:`str` on the value, ``'!r'`` which calls :func:`repr` and ``'!a'`` " -"which calls :func:`ascii`." -msgstr "" - -#: ../../library/string.rst:278 -msgid "Some examples::" -msgstr "Beberapa contoh::" - -#: ../../library/string.rst:280 -msgid "" -"\"Harold's a clever {0!s}\" # Calls str() on the argument first\n" -"\"Bring out the holy {name!r}\" # Calls repr() on the argument first\n" -"\"More {!a}\" # Calls ascii() on the argument first" -msgstr "" - -#: ../../library/string.rst:284 -msgid "" -"The *format_spec* field contains a specification of how the value should be " -"presented, including such details as field width, alignment, padding, " -"decimal precision and so on. Each value type can define its own " -"\"formatting mini-language\" or interpretation of the *format_spec*." -msgstr "" - -#: ../../library/string.rst:289 -msgid "" -"Most built-in types support a common formatting mini-language, which is " -"described in the next section." -msgstr "" - -#: ../../library/string.rst:292 -msgid "" -"A *format_spec* field can also include nested replacement fields within it. " -"These nested replacement fields may contain a field name, conversion flag " -"and format specification, but deeper nesting is not allowed. The " -"replacement fields within the format_spec are substituted before the " -"*format_spec* string is interpreted. This allows the formatting of a value " -"to be dynamically specified." -msgstr "" - -#: ../../library/string.rst:299 -msgid "See the :ref:`formatexamples` section for some examples." -msgstr "" - -#: ../../library/string.rst:305 -msgid "Format Specification Mini-Language" -msgstr "" - -#: ../../library/string.rst:307 -msgid "" -"\"Format specifications\" are used within replacement fields contained " -"within a format string to define how individual values are presented (see " -":ref:`formatstrings` and :ref:`f-strings`). They can also be passed directly" -" to the built-in :func:`format` function. Each formattable type may define " -"how the format specification is to be interpreted." -msgstr "" - -#: ../../library/string.rst:314 -msgid "" -"Most built-in types implement the following options for format " -"specifications, although some of the formatting options are only supported " -"by the numeric types." -msgstr "" - -#: ../../library/string.rst:317 -msgid "" -"A general convention is that an empty format specification produces the same" -" result as if you had called :func:`str` on the value. A non-empty format " -"specification typically modifies the result." -msgstr "" - -#: ../../library/string.rst:321 -msgid "The general form of a *standard format specifier* is:" -msgstr "" - -#: ../../library/string.rst:338 -msgid "" -"If a valid *align* value is specified, it can be preceded by a *fill* " -"character that can be any character and defaults to a space if omitted. It " -"is not possible to use a literal curly brace (\"``{``\" or \"``}``\") as the" -" *fill* character in a :ref:`formatted string literal ` or when " -"using the :meth:`str.format` method. However, it is possible to insert a " -"curly brace with a nested replacement field. This limitation doesn't affect" -" the :func:`format` function." -msgstr "" - -#: ../../library/string.rst:347 -msgid "The meaning of the various alignment options is as follows:" -msgstr "" - -#: ../../library/string.rst:356 ../../library/string.rst:388 -#: ../../library/string.rst:454 -msgid "Option" -msgstr "Opsi" - -#: ../../library/string.rst:356 ../../library/string.rst:388 -#: ../../library/string.rst:454 ../../library/string.rst:488 -#: ../../library/string.rst:499 ../../library/string.rst:534 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/string.rst:358 -msgid "``'<'``" -msgstr "" - -#: ../../library/string.rst:358 -msgid "" -"Forces the field to be left-aligned within the available space (this is the " -"default for most objects)." -msgstr "" - -#: ../../library/string.rst:361 -msgid "``'>'``" -msgstr "" - -#: ../../library/string.rst:361 -msgid "" -"Forces the field to be right-aligned within the available space (this is the" -" default for numbers)." -msgstr "" - -#: ../../library/string.rst:364 -msgid "``'='``" -msgstr "" - -#: ../../library/string.rst:364 -msgid "" -"Forces the padding to be placed after the sign (if any) but before the " -"digits. This is used for printing fields in the form '+000000120'. This " -"alignment option is only valid for numeric types, excluding " -":class:`complex`. It becomes the default for numbers when '0' immediately " -"precedes the field width." -msgstr "" - -#: ../../library/string.rst:371 -msgid "``'^'``" -msgstr "" - -#: ../../library/string.rst:371 -msgid "Forces the field to be centered within the available space." -msgstr "" - -#: ../../library/string.rst:375 -msgid "" -"Note that unless a minimum field width is defined, the field width will " -"always be the same size as the data to fill it, so that the alignment option" -" has no meaning in this case." -msgstr "" - -#: ../../library/string.rst:379 -msgid "" -"The *sign* option is only valid for number types, and can be one of the " -"following:" -msgstr "" - -#: ../../library/string.rst:390 -msgid "``'+'``" -msgstr "``'+'``" - -#: ../../library/string.rst:390 -msgid "" -"Indicates that a sign should be used for both positive as well as negative " -"numbers." -msgstr "" - -#: ../../library/string.rst:393 -msgid "``'-'``" -msgstr "``'-'``" - -#: ../../library/string.rst:393 -msgid "" -"Indicates that a sign should be used only for negative numbers (this is the " -"default behavior)." -msgstr "" - -#: ../../library/string.rst:382 ../../library/string.rst:396 -msgid "space" -msgstr "" - -#: ../../library/string.rst:396 -msgid "" -"Indicates that a leading space should be used on positive numbers, and a " -"minus sign on negative numbers." -msgstr "" - -#: ../../library/string.rst:403 -msgid "" -"The ``'z'`` option coerces negative zero floating-point values to positive " -"zero after rounding to the format precision. This option is only valid for " -"floating-point presentation types." -msgstr "" - -#: ../../library/string.rst:407 -msgid "Added the ``'z'`` option (see also :pep:`682`)." -msgstr "" - -#: ../../library/string.rst:412 -msgid "" -"The ``'#'`` option causes the \"alternate form\" to be used for the " -"conversion. The alternate form is defined differently for different types." -" This option is only valid for integer, float and complex types. For " -"integers, when binary, octal, or hexadecimal output is used, this option " -"adds the respective prefix ``'0b'``, ``'0o'``, ``'0x'``, or ``'0X'`` to the " -"output value. For float and complex the alternate form causes the result of " -"the conversion to always contain a decimal-point character, even if no " -"digits follow it. Normally, a decimal-point character appears in the result " -"of these conversions only if a digit follows it. In addition, for ``'g'`` " -"and ``'G'`` conversions, trailing zeros are not removed from the result." -msgstr "" - -#: ../../library/string.rst:424 -msgid "" -"The *width* is a decimal integer defining the minimum total field width, " -"including any prefixes, separators, and other formatting characters. If not " -"specified, then the field width will be determined by the content." -msgstr "" - -#: ../../library/string.rst:428 -msgid "" -"When no explicit alignment is given, preceding the *width* field by a zero " -"(``'0'``) character enables sign-aware zero-padding for numeric types, " -"excluding :class:`complex`. This is equivalent to a *fill* character of " -"``'0'`` with an *alignment* type of ``'='``." -msgstr "" - -#: ../../library/string.rst:433 -msgid "" -"Preceding the *width* field by ``'0'`` no longer affects the default " -"alignment for strings." -msgstr "" - -#: ../../library/string.rst:437 -msgid "" -"The *precision* is a decimal integer indicating how many digits should be " -"displayed after the decimal point for presentation types ``'f'`` and " -"``'F'``, or before and after the decimal point for presentation types " -"``'g'`` or ``'G'``. For string presentation types the field indicates the " -"maximum field size - in other words, how many characters will be used from " -"the field content. The *precision* is not allowed for integer presentation " -"types." -msgstr "" - -#: ../../library/string.rst:445 -msgid "" -"The *grouping* option after *width* and *precision* fields specifies a digit" -" group separator for the integral and fractional parts of a number " -"respectively. It can be one of the following:" -msgstr "" - -#: ../../library/string.rst:456 -msgid "``','``" -msgstr "" - -#: ../../library/string.rst:456 -msgid "" -"Inserts a comma every 3 digits for integer presentation type ``'d'`` and " -"floating-point presentation types, excluding ``'n'``. For other presentation" -" types, this option is not supported." -msgstr "" - -#: ../../library/string.rst:462 -msgid "``'_'``" -msgstr "" - -#: ../../library/string.rst:462 -msgid "" -"Inserts an underscore every 3 digits for integer presentation type ``'d'`` " -"and floating-point presentation types, excluding ``'n'``. For integer " -"presentation types ``'b'``, ``'o'``, ``'x'``, and ``'X'``, underscores are " -"inserted every 4 digits. For other presentation types, this option is not " -"supported." -msgstr "" - -#: ../../library/string.rst:472 -msgid "" -"For a locale aware separator, use the ``'n'`` presentation type instead." -msgstr "" - -#: ../../library/string.rst:474 -msgid "Added the ``','`` option (see also :pep:`378`)." -msgstr "" - -#: ../../library/string.rst:477 -msgid "Added the ``'_'`` option (see also :pep:`515`)." -msgstr "" - -#: ../../library/string.rst:480 -msgid "Support the *grouping* option for the fractional part." -msgstr "" - -#: ../../library/string.rst:483 -msgid "Finally, the *type* determines how the data should be presented." -msgstr "" - -#: ../../library/string.rst:485 -msgid "The available string presentation types are:" -msgstr "" - -#: ../../library/string.rst:488 ../../library/string.rst:499 -#: ../../library/string.rst:534 -msgid "Type" -msgstr "" - -#: ../../library/string.rst:490 -msgid "``'s'``" -msgstr "``'s'``" - -#: ../../library/string.rst:490 -msgid "" -"String format. This is the default type for strings and may be omitted." -msgstr "" - -#: ../../library/string.rst:493 ../../library/string.rst:522 -#: ../../library/string.rst:608 -msgid "None" -msgstr "None" - -#: ../../library/string.rst:493 -msgid "The same as ``'s'``." -msgstr "" - -#: ../../library/string.rst:496 -msgid "The available integer presentation types are:" -msgstr "" - -#: ../../library/string.rst:501 -msgid "``'b'``" -msgstr "``'b'``" - -#: ../../library/string.rst:501 -msgid "Binary format. Outputs the number in base 2." -msgstr "" - -#: ../../library/string.rst:503 -msgid "``'c'``" -msgstr "``'c'``" - -#: ../../library/string.rst:503 -msgid "" -"Character. Converts the integer to the corresponding unicode character " -"before printing." -msgstr "" - -#: ../../library/string.rst:506 -msgid "``'d'``" -msgstr "``'d'``" - -#: ../../library/string.rst:506 -msgid "Decimal Integer. Outputs the number in base 10." -msgstr "" - -#: ../../library/string.rst:508 -msgid "``'o'``" -msgstr "``'o'``" - -#: ../../library/string.rst:508 -msgid "Octal format. Outputs the number in base 8." -msgstr "" - -#: ../../library/string.rst:510 -msgid "``'x'``" -msgstr "``'x'``" - -#: ../../library/string.rst:510 -msgid "" -"Hex format. Outputs the number in base 16, using lower-case letters for the " -"digits above 9." -msgstr "" - -#: ../../library/string.rst:513 -msgid "``'X'``" -msgstr "``'X'``" - -#: ../../library/string.rst:513 -msgid "" -"Hex format. Outputs the number in base 16, using upper-case letters for the " -"digits above 9. In case ``'#'`` is specified, the prefix ``'0x'`` will be " -"upper-cased to ``'0X'`` as well." -msgstr "" - -#: ../../library/string.rst:518 ../../library/string.rst:600 -msgid "``'n'``" -msgstr "``'n'``" - -#: ../../library/string.rst:518 -msgid "" -"Number. This is the same as ``'d'``, except that it uses the current locale " -"setting to insert the appropriate digit group separators." -msgstr "" - -#: ../../library/string.rst:522 -msgid "The same as ``'d'``." -msgstr "" - -#: ../../library/string.rst:525 -msgid "" -"In addition to the above presentation types, integers can be formatted with " -"the floating-point presentation types listed below (except ``'n'`` and " -"``None``). When doing so, :func:`float` is used to convert the integer to a " -"floating-point number before formatting." -msgstr "" - -#: ../../library/string.rst:530 -msgid "" -"The available presentation types for :class:`float` and " -":class:`~decimal.Decimal` values are:" -msgstr "" - -#: ../../library/string.rst:536 -msgid "``'e'``" -msgstr "``'e'``" - -#: ../../library/string.rst:536 -msgid "" -"Scientific notation. For a given precision ``p``, formats the number in " -"scientific notation with the letter 'e' separating the coefficient from the " -"exponent. The coefficient has one digit before and ``p`` digits after the " -"decimal point, for a total of ``p + 1`` significant digits. With no " -"precision given, uses a precision of ``6`` digits after the decimal point " -"for :class:`float`, and shows all coefficient digits for " -":class:`~decimal.Decimal`. If ``p=0``, the decimal point is omitted unless " -"the ``#`` option is used." -msgstr "" - -#: ../../library/string.rst:547 -msgid "``'E'``" -msgstr "``'E'``" - -#: ../../library/string.rst:547 -msgid "" -"Scientific notation. Same as ``'e'`` except it uses an upper case 'E' as the" -" separator character." -msgstr "" - -#: ../../library/string.rst:550 -msgid "``'f'``" -msgstr "``'f'``" - -#: ../../library/string.rst:550 -msgid "" -"Fixed-point notation. For a given precision ``p``, formats the number as a " -"decimal number with exactly ``p`` digits following the decimal point. With " -"no precision given, uses a precision of ``6`` digits after the decimal point" -" for :class:`float`, and uses a precision large enough to show all " -"coefficient digits for :class:`~decimal.Decimal`. If ``p=0``, the decimal " -"point is omitted unless the ``#`` option is used." -msgstr "" - -#: ../../library/string.rst:559 -msgid "``'F'``" -msgstr "``'F'``" - -#: ../../library/string.rst:559 -msgid "" -"Fixed-point notation. Same as ``'f'``, but converts ``nan`` to ``NAN`` and " -"``inf`` to ``INF``." -msgstr "" - -#: ../../library/string.rst:562 -msgid "``'g'``" -msgstr "``'g'``" - -#: ../../library/string.rst:562 -msgid "" -"General format. For a given precision ``p >= 1``, this rounds the number to" -" ``p`` significant digits and then formats the result in either fixed-point " -"format or in scientific notation, depending on its magnitude. A precision of" -" ``0`` is treated as equivalent to a precision of ``1``." -msgstr "" - -#: ../../library/string.rst:569 -msgid "" -"The precise rules are as follows: suppose that the result formatted with " -"presentation type ``'e'`` and precision ``p-1`` would have exponent ``exp``." -" Then, if ``m <= exp < p``, where ``m`` is -4 for floats and -6 for " -":class:`Decimals `, the number is formatted with " -"presentation type ``'f'`` and precision ``p-1-exp``. Otherwise, the number " -"is formatted with presentation type ``'e'`` and precision ``p-1``. In both " -"cases insignificant trailing zeros are removed from the significand, and the" -" decimal point is also removed if there are no remaining digits following " -"it, unless the ``'#'`` option is used." -msgstr "" - -#: ../../library/string.rst:582 -msgid "" -"With no precision given, uses a precision of ``6`` significant digits for " -":class:`float`. For :class:`~decimal.Decimal`, the coefficient of the result" -" is formed from the coefficient digits of the value; scientific notation is " -"used for values smaller than ``1e-6`` in absolute value and values where the" -" place value of the least significant digit is larger than 1, and fixed-" -"point notation is used otherwise." -msgstr "" - -#: ../../library/string.rst:591 -msgid "" -"Positive and negative infinity, positive and negative zero, and nans, are " -"formatted as ``inf``, ``-inf``, ``0``, ``-0`` and ``nan`` respectively, " -"regardless of the precision." -msgstr "" - -#: ../../library/string.rst:596 -msgid "``'G'``" -msgstr "``'G'``" - -#: ../../library/string.rst:596 -msgid "" -"General format. Same as ``'g'`` except switches to ``'E'`` if the number " -"gets too large. The representations of infinity and NaN are uppercased, too." -msgstr "" - -#: ../../library/string.rst:600 -msgid "" -"Number. This is the same as ``'g'``, except that it uses the current locale " -"setting to insert the appropriate digit group separators for the integral " -"part of a number." -msgstr "" - -#: ../../library/string.rst:605 -msgid "``'%'``" -msgstr "``'%'``" - -#: ../../library/string.rst:605 -msgid "" -"Percentage. Multiplies the number by 100 and displays in fixed (``'f'``) " -"format, followed by a percent sign." -msgstr "" - -#: ../../library/string.rst:608 -msgid "" -"For :class:`float` this is like the ``'g'`` type, except that when fixed-" -"point notation is used to format the result, it always includes at least one" -" digit past the decimal point, and switches to the scientific notation when " -"``exp >= p - 1``. When the precision is not specified, the latter will be " -"as large as needed to represent the given value faithfully." -msgstr "" - -#: ../../library/string.rst:616 -msgid "" -"For :class:`~decimal.Decimal`, this is the same as either ``'g'`` or ``'G'``" -" depending on the value of ``context.capitals`` for the current decimal " -"context." -msgstr "" - -#: ../../library/string.rst:620 -msgid "" -"The overall effect is to match the output of :func:`str` as altered by the " -"other format modifiers." -msgstr "" - -#: ../../library/string.rst:624 -msgid "" -"The result should be correctly rounded to a given precision ``p`` of digits " -"after the decimal point. The rounding mode for :class:`float` matches that " -"of the :func:`round` builtin. For :class:`~decimal.Decimal`, the rounding " -"mode of the current :ref:`context ` will be used." -msgstr "" - -#: ../../library/string.rst:629 -msgid "" -"The available presentation types for :class:`complex` are the same as those " -"for :class:`float` (``'%'`` is not allowed). Both the real and imaginary " -"components of a complex number are formatted as floating-point numbers, " -"according to the specified presentation type. They are separated by the " -"mandatory sign of the imaginary part, the latter being terminated by a ``j``" -" suffix. If the presentation type is missing, the result will match the " -"output of :func:`str` (complex numbers with a non-zero real part are also " -"surrounded by parentheses), possibly altered by other format modifiers." -msgstr "" - -#: ../../library/string.rst:642 -msgid "Format examples" -msgstr "" - -#: ../../library/string.rst:644 -msgid "" -"This section contains examples of the :meth:`str.format` syntax and " -"comparison with the old ``%``-formatting." -msgstr "" - -#: ../../library/string.rst:647 -msgid "" -"In most of the cases the syntax is similar to the old ``%``-formatting, with" -" the addition of the ``{}`` and with ``:`` used instead of ``%``. For " -"example, ``'%03.2f'`` can be translated to ``'{:03.2f}'``." -msgstr "" - -#: ../../library/string.rst:651 -msgid "" -"The new format syntax also supports new and different options, shown in the " -"following examples." -msgstr "" - -#: ../../library/string.rst:654 -msgid "Accessing arguments by position::" -msgstr "" - -#: ../../library/string.rst:656 -msgid "" -">>> '{0}, {1}, {2}'.format('a', 'b', 'c')\n" -"'a, b, c'\n" -">>> '{}, {}, {}'.format('a', 'b', 'c') # 3.1+ only\n" -"'a, b, c'\n" -">>> '{2}, {1}, {0}'.format('a', 'b', 'c')\n" -"'c, b, a'\n" -">>> '{2}, {1}, {0}'.format(*'abc') # unpacking argument sequence\n" -"'c, b, a'\n" -">>> '{0}{1}{0}'.format('abra', 'cad') # arguments' indices can be repeated\n" -"'abracadabra'" -msgstr "" - -#: ../../library/string.rst:667 -msgid "Accessing arguments by name::" -msgstr "" - -#: ../../library/string.rst:669 -msgid "" -">>> 'Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W')\n" -"'Coordinates: 37.24N, -115.81W'\n" -">>> coord = {'latitude': '37.24N', 'longitude': '-115.81W'}\n" -">>> 'Coordinates: {latitude}, {longitude}'.format(**coord)\n" -"'Coordinates: 37.24N, -115.81W'" -msgstr "" - -#: ../../library/string.rst:675 -msgid "Accessing arguments' attributes::" -msgstr "" - -#: ../../library/string.rst:677 -msgid "" -">>> c = 3-5j\n" -">>> ('The complex number {0} is formed from the real part {0.real} '\n" -"... 'and the imaginary part {0.imag}.').format(c)\n" -"'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.'\n" -">>> class Point:\n" -"... def __init__(self, x, y):\n" -"... self.x, self.y = x, y\n" -"... def __str__(self):\n" -"... return 'Point({self.x}, {self.y})'.format(self=self)\n" -"...\n" -">>> str(Point(4, 2))\n" -"'Point(4, 2)'" -msgstr "" - -#: ../../library/string.rst:690 -msgid "Accessing arguments' items::" -msgstr "" - -#: ../../library/string.rst:692 -msgid "" -">>> coord = (3, 5)\n" -">>> 'X: {0[0]}; Y: {0[1]}'.format(coord)\n" -"'X: 3; Y: 5'" -msgstr "" - -#: ../../library/string.rst:696 -msgid "Replacing ``%s`` and ``%r``::" -msgstr "" - -#: ../../library/string.rst:698 -msgid "" -">>> \"repr() shows quotes: {!r}; str() doesn't: {!s}\".format('test1', 'test2')\n" -"\"repr() shows quotes: 'test1'; str() doesn't: test2\"" -msgstr "" - -#: ../../library/string.rst:701 -msgid "Aligning the text and specifying a width::" -msgstr "" - -#: ../../library/string.rst:703 -msgid "" -">>> '{:<30}'.format('left aligned')\n" -"'left aligned '\n" -">>> '{:>30}'.format('right aligned')\n" -"' right aligned'\n" -">>> '{:^30}'.format('centered')\n" -"' centered '\n" -">>> '{:*^30}'.format('centered') # use '*' as a fill char\n" -"'***********centered***********'" -msgstr "" - -#: ../../library/string.rst:712 -msgid "Replacing ``%+f``, ``%-f``, and ``% f`` and specifying a sign::" -msgstr "" - -#: ../../library/string.rst:714 -msgid "" -">>> '{:+f}; {:+f}'.format(3.14, -3.14) # show it always\n" -"'+3.140000; -3.140000'\n" -">>> '{: f}; {: f}'.format(3.14, -3.14) # show a space for positive numbers\n" -"' 3.140000; -3.140000'\n" -">>> '{:-f}; {:-f}'.format(3.14, -3.14) # show only the minus -- same as '{:f}; {:f}'\n" -"'3.140000; -3.140000'" -msgstr "" - -#: ../../library/string.rst:721 -msgid "" -"Replacing ``%x`` and ``%o`` and converting the value to different bases::" -msgstr "" - -#: ../../library/string.rst:723 -msgid "" -">>> # format also supports binary numbers\n" -">>> \"int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}\".format(42)\n" -"'int: 42; hex: 2a; oct: 52; bin: 101010'\n" -">>> # with 0x, 0o, or 0b as prefix:\n" -">>> \"int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}\".format(42)\n" -"'int: 42; hex: 0x2a; oct: 0o52; bin: 0b101010'" -msgstr "" - -#: ../../library/string.rst:730 -msgid "Using the comma or the underscore as a digit group separator::" -msgstr "" - -#: ../../library/string.rst:732 -msgid "" -">>> '{:,}'.format(1234567890)\n" -"'1,234,567,890'\n" -">>> '{:_}'.format(1234567890)\n" -"'1_234_567_890'\n" -">>> '{:_b}'.format(1234567890)\n" -"'100_1001_1001_0110_0000_0010_1101_0010'\n" -">>> '{:_x}'.format(1234567890)\n" -"'4996_02d2'\n" -">>> '{:_}'.format(123456789.123456789)\n" -"'123_456_789.12345679'\n" -">>> '{:.,}'.format(123456789.123456789)\n" -"'123456789.123,456,79'\n" -">>> '{:,._}'.format(123456789.123456789)\n" -"'123,456,789.123_456_79'" -msgstr "" - -#: ../../library/string.rst:747 -msgid "Expressing a percentage::" -msgstr "" - -#: ../../library/string.rst:749 -msgid "" -">>> points = 19\n" -">>> total = 22\n" -">>> 'Correct answers: {:.2%}'.format(points/total)\n" -"'Correct answers: 86.36%'" -msgstr "" - -#: ../../library/string.rst:754 -msgid "Using type-specific formatting::" -msgstr "" - -#: ../../library/string.rst:756 -msgid "" -">>> import datetime\n" -">>> d = datetime.datetime(2010, 7, 4, 12, 15, 58)\n" -">>> '{:%Y-%m-%d %H:%M:%S}'.format(d)\n" -"'2010-07-04 12:15:58'" -msgstr "" - -#: ../../library/string.rst:761 -msgid "Nesting arguments and more complex examples::" -msgstr "" - -#: ../../library/string.rst:763 -msgid "" -">>> for align, text in zip('<^>', ['left', 'center', 'right']):\n" -"... '{0:{fill}{align}16}'.format(text, fill=align, align=align)\n" -"...\n" -"'left<<<<<<<<<<<<'\n" -"'^^^^^center^^^^^'\n" -"'>>>>>>>>>>>right'\n" -">>>\n" -">>> octets = [192, 168, 0, 1]\n" -">>> '{:02X}{:02X}{:02X}{:02X}'.format(*octets)\n" -"'C0A80001'\n" -">>> int(_, 16)\n" -"3232235521\n" -">>>\n" -">>> width = 5\n" -">>> for num in range(5,12):\n" -"... for base in 'dXob':\n" -"... print('{0:{width}{base}}'.format(num, base=base, width=width), end=' ')\n" -"... print()\n" -"...\n" -" 5 5 5 101\n" -" 6 6 6 110\n" -" 7 7 7 111\n" -" 8 8 10 1000\n" -" 9 9 11 1001\n" -" 10 A 12 1010\n" -" 11 B 13 1011" -msgstr "" - -#: ../../library/string.rst:795 -msgid "Template strings" -msgstr "" - -#: ../../library/string.rst:797 -msgid "" -"Template strings provide simpler string substitutions as described in " -":pep:`292`. A primary use case for template strings is for " -"internationalization (i18n) since in that context, the simpler syntax and " -"functionality makes it easier to translate than other built-in string " -"formatting facilities in Python. As an example of a library built on " -"template strings for i18n, see the `flufl.i18n " -"`_ package." -msgstr "" - -#: ../../library/string.rst:807 -msgid "" -"Template strings support ``$``-based substitutions, using the following " -"rules:" -msgstr "" - -#: ../../library/string.rst:809 -msgid "``$$`` is an escape; it is replaced with a single ``$``." -msgstr "" - -#: ../../library/string.rst:811 -msgid "" -"``$identifier`` names a substitution placeholder matching a mapping key of " -"``\"identifier\"``. By default, ``\"identifier\"`` is restricted to any " -"case-insensitive ASCII alphanumeric string (including underscores) that " -"starts with an underscore or ASCII letter. The first non-identifier " -"character after the ``$`` character terminates this placeholder " -"specification." -msgstr "" - -#: ../../library/string.rst:818 -msgid "" -"``${identifier}`` is equivalent to ``$identifier``. It is required when " -"valid identifier characters follow the placeholder but are not part of the " -"placeholder, such as ``\"${noun}ification\"``." -msgstr "" - -#: ../../library/string.rst:822 -msgid "" -"Any other appearance of ``$`` in the string will result in a " -":exc:`ValueError` being raised." -msgstr "" - -#: ../../library/string.rst:825 -msgid "" -"The :mod:`string` module provides a :class:`Template` class that implements " -"these rules. The methods of :class:`Template` are:" -msgstr "" - -#: ../../library/string.rst:831 -msgid "The constructor takes a single argument which is the template string." -msgstr "" - -#: ../../library/string.rst:836 -msgid "" -"Performs the template substitution, returning a new string. *mapping* is " -"any dictionary-like object with keys that match the placeholders in the " -"template. Alternatively, you can provide keyword arguments, where the " -"keywords are the placeholders. When both *mapping* and *kwds* are given and" -" there are duplicates, the placeholders from *kwds* take precedence." -msgstr "" - -#: ../../library/string.rst:845 -msgid "" -"Like :meth:`substitute`, except that if placeholders are missing from " -"*mapping* and *kwds*, instead of raising a :exc:`KeyError` exception, the " -"original placeholder will appear in the resulting string intact. Also, " -"unlike with :meth:`substitute`, any other appearances of the ``$`` will " -"simply return ``$`` instead of raising :exc:`ValueError`." -msgstr "" - -#: ../../library/string.rst:851 -msgid "" -"While other exceptions may still occur, this method is called \"safe\" " -"because it always tries to return a usable string instead of raising an " -"exception. In another sense, :meth:`safe_substitute` may be anything other " -"than safe, since it will silently ignore malformed templates containing " -"dangling delimiters, unmatched braces, or placeholders that are not valid " -"Python identifiers." -msgstr "" - -#: ../../library/string.rst:861 -msgid "" -"Returns ``False`` if the template has invalid placeholders that will cause " -":meth:`substitute` to raise :exc:`ValueError`." -msgstr "" - -#: ../../library/string.rst:869 -msgid "" -"Returns a list of the valid identifiers in the template, in the order they " -"first appear, ignoring any invalid identifiers." -msgstr "" - -#: ../../library/string.rst:874 -msgid ":class:`Template` instances also provide one public data attribute:" -msgstr "" - -#: ../../library/string.rst:878 -msgid "" -"This is the object passed to the constructor's *template* argument. In " -"general, you shouldn't change it, but read-only access is not enforced." -msgstr "" - -#: ../../library/string.rst:881 -msgid "Here is an example of how to use a Template::" -msgstr "" - -#: ../../library/string.rst:883 -msgid "" -">>> from string import Template\n" -">>> s = Template('$who likes $what')\n" -">>> s.substitute(who='tim', what='kung pao')\n" -"'tim likes kung pao'\n" -">>> d = dict(who='tim')\n" -">>> Template('Give $who $100').substitute(d)\n" -"Traceback (most recent call last):\n" -"...\n" -"ValueError: Invalid placeholder in string: line 1, col 11\n" -">>> Template('$who likes $what').substitute(d)\n" -"Traceback (most recent call last):\n" -"...\n" -"KeyError: 'what'\n" -">>> Template('$who likes $what').safe_substitute(d)\n" -"'tim likes $what'" -msgstr "" - -#: ../../library/string.rst:899 -msgid "" -"Advanced usage: you can derive subclasses of :class:`Template` to customize " -"the placeholder syntax, delimiter character, or the entire regular " -"expression used to parse template strings. To do this, you can override " -"these class attributes:" -msgstr "" - -#: ../../library/string.rst:904 -msgid "" -"*delimiter* -- This is the literal string describing a placeholder " -"introducing delimiter. The default value is ``$``. Note that this should " -"*not* be a regular expression, as the implementation will call " -":meth:`re.escape` on this string as needed. Note further that you cannot " -"change the delimiter after class creation (i.e. a different delimiter must " -"be set in the subclass's class namespace)." -msgstr "" - -#: ../../library/string.rst:911 -msgid "" -"*idpattern* -- This is the regular expression describing the pattern for " -"non-braced placeholders. The default value is the regular expression " -"``(?a:[_a-z][_a-z0-9]*)``. If this is given and *braceidpattern* is " -"``None`` this pattern will also apply to braced placeholders." -msgstr "" - -#: ../../library/string.rst:918 -msgid "" -"Since default *flags* is ``re.IGNORECASE``, pattern ``[a-z]`` can match with" -" some non-ASCII characters. That's why we use the local ``a`` flag here." -msgstr "" - -#: ../../library/string.rst:922 -msgid "" -"*braceidpattern* can be used to define separate patterns used inside and " -"outside the braces." -msgstr "" - -#: ../../library/string.rst:926 -msgid "" -"*braceidpattern* -- This is like *idpattern* but describes the pattern for " -"braced placeholders. Defaults to ``None`` which means to fall back to " -"*idpattern* (i.e. the same pattern is used both inside and outside braces). " -"If given, this allows you to define different patterns for braced and " -"unbraced placeholders." -msgstr "" - -#: ../../library/string.rst:934 -msgid "" -"*flags* -- The regular expression flags that will be applied when compiling " -"the regular expression used for recognizing substitutions. The default " -"value is ``re.IGNORECASE``. Note that ``re.VERBOSE`` will always be added " -"to the flags, so custom *idpattern*\\ s must follow conventions for verbose " -"regular expressions." -msgstr "" - -#: ../../library/string.rst:942 -msgid "" -"Alternatively, you can provide the entire regular expression pattern by " -"overriding the class attribute *pattern*. If you do this, the value must be" -" a regular expression object with four named capturing groups. The " -"capturing groups correspond to the rules given above, along with the invalid" -" placeholder rule:" -msgstr "" - -#: ../../library/string.rst:948 -msgid "" -"*escaped* -- This group matches the escape sequence, e.g. ``$$``, in the " -"default pattern." -msgstr "" - -#: ../../library/string.rst:951 -msgid "" -"*named* -- This group matches the unbraced placeholder name; it should not " -"include the delimiter in capturing group." -msgstr "" - -#: ../../library/string.rst:954 -msgid "" -"*braced* -- This group matches the brace enclosed placeholder name; it " -"should not include either the delimiter or braces in the capturing group." -msgstr "" - -#: ../../library/string.rst:957 -msgid "" -"*invalid* -- This group matches any other delimiter pattern (usually a " -"single delimiter), and it should appear last in the regular expression." -msgstr "" - -#: ../../library/string.rst:960 -msgid "" -"The methods on this class will raise :exc:`ValueError` if the pattern " -"matches the template without one of these named groups matching." -msgstr "" - -#: ../../library/string.rst:965 -msgid "Helper functions" -msgstr "" - -#: ../../library/string.rst:969 -msgid "" -"Split the argument into words using :meth:`str.split`, capitalize each word " -"using :meth:`str.capitalize`, and join the capitalized words using " -":meth:`str.join`. If the optional second argument *sep* is absent or " -"``None``, runs of whitespace characters are replaced by a single space and " -"leading and trailing whitespace are removed, otherwise *sep* is used to " -"split and join the words." -msgstr "" - -#: ../../library/string.rst:204 -msgid "{} (curly brackets)" -msgstr "" - -#: ../../library/string.rst:204 ../../library/string.rst:349 -#: ../../library/string.rst:382 ../../library/string.rst:401 -#: ../../library/string.rst:410 ../../library/string.rst:449 -msgid "in string formatting" -msgstr "" - -#: ../../library/string.rst:204 -msgid ". (dot)" -msgstr "" - -#: ../../library/string.rst:204 -msgid "[] (square brackets)" -msgstr "" - -#: ../../library/string.rst:204 -msgid "! (exclamation)" -msgstr "" - -#: ../../library/string.rst:204 -msgid ": (colon)" -msgstr "" - -#: ../../library/string.rst:349 -msgid "< (less)" -msgstr "" - -#: ../../library/string.rst:349 -msgid "> (greater)" -msgstr "" - -#: ../../library/string.rst:349 -msgid "= (equals)" -msgstr "" - -#: ../../library/string.rst:349 -msgid "^ (caret)" -msgstr "" - -#: ../../library/string.rst:382 -msgid "+ (plus)" -msgstr "" - -#: ../../library/string.rst:382 -msgid "- (minus)" -msgstr "" - -#: ../../library/string.rst:401 -msgid "z" -msgstr "" - -#: ../../library/string.rst:410 -msgid "# (hash)" -msgstr "" - -#: ../../library/string.rst:449 -msgid ", (comma)" -msgstr "" - -#: ../../library/string.rst:449 -msgid "_ (underscore)" -msgstr "" - -#: ../../library/string.rst:805 -msgid "$ (dollar)" -msgstr "" - -#: ../../library/string.rst:805 -msgid "in template strings" -msgstr "" diff --git a/python-newest.library--stringprep/id.po b/python-newest.library--stringprep/id.po deleted file mode 100644 index 9225066..0000000 --- a/python-newest.library--stringprep/id.po +++ /dev/null @@ -1,163 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/stringprep.rst:2 -msgid ":mod:`!stringprep` --- Internet String Preparation" -msgstr "" - -#: ../../library/stringprep.rst:10 -msgid "**Source code:** :source:`Lib/stringprep.py`" -msgstr "" - -#: ../../library/stringprep.rst:14 -msgid "" -"When identifying things (such as host names) in the internet, it is often " -"necessary to compare such identifications for \"equality\". Exactly how this" -" comparison is executed may depend on the application domain, e.g. whether " -"it should be case-insensitive or not. It may be also necessary to restrict " -"the possible identifications, to allow only identifications consisting of " -"\"printable\" characters." -msgstr "" - -#: ../../library/stringprep.rst:21 -msgid "" -":rfc:`3454` defines a procedure for \"preparing\" Unicode strings in " -"internet protocols. Before passing strings onto the wire, they are processed" -" with the preparation procedure, after which they have a certain normalized " -"form. The RFC defines a set of tables, which can be combined into profiles. " -"Each profile must define which tables it uses, and what other optional parts" -" of the ``stringprep`` procedure are part of the profile. One example of a " -"``stringprep`` profile is ``nameprep``, which is used for internationalized " -"domain names." -msgstr "" - -#: ../../library/stringprep.rst:29 -msgid "" -"The module :mod:`stringprep` only exposes the tables from :rfc:`3454`. As " -"these tables would be very large to represent as dictionaries or lists, the " -"module uses the Unicode character database internally. The module source " -"code itself was generated using the ``mkstringprep.py`` utility." -msgstr "" - -#: ../../library/stringprep.rst:34 -msgid "" -"As a result, these tables are exposed as functions, not as data structures. " -"There are two kinds of tables in the RFC: sets and mappings. For a set, " -":mod:`stringprep` provides the \"characteristic function\", i.e. a function " -"that returns ``True`` if the parameter is part of the set. For mappings, it " -"provides the mapping function: given the key, it returns the associated " -"value. Below is a list of all functions available in the module." -msgstr "" - -#: ../../library/stringprep.rst:44 -msgid "" -"Determine whether *code* is in tableA.1 (Unassigned code points in Unicode " -"3.2)." -msgstr "" - -#: ../../library/stringprep.rst:49 -msgid "Determine whether *code* is in tableB.1 (Commonly mapped to nothing)." -msgstr "" - -#: ../../library/stringprep.rst:54 -msgid "" -"Return the mapped value for *code* according to tableB.2 (Mapping for case-" -"folding used with NFKC)." -msgstr "" - -#: ../../library/stringprep.rst:60 -msgid "" -"Return the mapped value for *code* according to tableB.3 (Mapping for case-" -"folding used with no normalization)." -msgstr "" - -#: ../../library/stringprep.rst:66 -msgid "Determine whether *code* is in tableC.1.1 (ASCII space characters)." -msgstr "" - -#: ../../library/stringprep.rst:71 -msgid "" -"Determine whether *code* is in tableC.1.2 (Non-ASCII space characters)." -msgstr "" - -#: ../../library/stringprep.rst:76 -msgid "" -"Determine whether *code* is in tableC.1 (Space characters, union of C.1.1 " -"and C.1.2)." -msgstr "" - -#: ../../library/stringprep.rst:82 -msgid "Determine whether *code* is in tableC.2.1 (ASCII control characters)." -msgstr "" - -#: ../../library/stringprep.rst:87 -msgid "" -"Determine whether *code* is in tableC.2.2 (Non-ASCII control characters)." -msgstr "" - -#: ../../library/stringprep.rst:92 -msgid "" -"Determine whether *code* is in tableC.2 (Control characters, union of C.2.1" -" and C.2.2)." -msgstr "" - -#: ../../library/stringprep.rst:98 -msgid "Determine whether *code* is in tableC.3 (Private use)." -msgstr "" - -#: ../../library/stringprep.rst:103 -msgid "Determine whether *code* is in tableC.4 (Non-character code points)." -msgstr "" - -#: ../../library/stringprep.rst:108 -msgid "Determine whether *code* is in tableC.5 (Surrogate codes)." -msgstr "" - -#: ../../library/stringprep.rst:113 -msgid "" -"Determine whether *code* is in tableC.6 (Inappropriate for plain text)." -msgstr "" - -#: ../../library/stringprep.rst:118 -msgid "" -"Determine whether *code* is in tableC.7 (Inappropriate for canonical " -"representation)." -msgstr "" - -#: ../../library/stringprep.rst:124 -msgid "" -"Determine whether *code* is in tableC.8 (Change display properties or are " -"deprecated)." -msgstr "" - -#: ../../library/stringprep.rst:130 -msgid "Determine whether *code* is in tableC.9 (Tagging characters)." -msgstr "" - -#: ../../library/stringprep.rst:135 -msgid "" -"Determine whether *code* is in tableD.1 (Characters with bidirectional " -"property \"R\" or \"AL\")." -msgstr "" - -#: ../../library/stringprep.rst:141 -msgid "" -"Determine whether *code* is in tableD.2 (Characters with bidirectional " -"property \"L\")." -msgstr "" diff --git a/python-newest.library--struct/id.po b/python-newest.library--struct/id.po deleted file mode 100644 index 877ffc4..0000000 --- a/python-newest.library--struct/id.po +++ /dev/null @@ -1,1144 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Faiq Zakki <221709674@stis.ac.id>, 2022 -# oon arfiandwi , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: oon arfiandwi , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/struct.rst:2 -msgid ":mod:`!struct` --- Interpret bytes as packed binary data" -msgstr "" - -#: ../../library/struct.rst:11 -msgid "**Source code:** :source:`Lib/struct.py`" -msgstr "" - -#: ../../library/struct.rst:19 -msgid "" -"This module converts between Python values and C structs represented as " -"Python :class:`bytes` objects. Compact :ref:`format strings ` describe the intended conversions to/from Python values. The " -"module's functions and objects can be used for two largely distinct " -"applications, data exchange with external sources (files or network " -"connections), or data transfer between the Python application and the C " -"layer." -msgstr "" - -#: ../../library/struct.rst:29 -msgid "" -"When no prefix character is given, native mode is the default. It packs or " -"unpacks data based on the platform and compiler on which the Python " -"interpreter was built. The result of packing a given C struct includes pad " -"bytes which maintain proper alignment for the C types involved; similarly, " -"alignment is taken into account when unpacking. In contrast, when " -"communicating data between external sources, the programmer is responsible " -"for defining byte ordering and padding between elements. See :ref:`struct-" -"alignment` for details." -msgstr "" - -#: ../../library/struct.rst:39 -msgid "" -"Several :mod:`struct` functions (and methods of :class:`Struct`) take a " -"*buffer* argument. This refers to objects that implement the " -":ref:`bufferobjects` and provide either a readable or read-writable buffer." -" The most common types used for that purpose are :class:`bytes` and " -":class:`bytearray`, but many other types that can be viewed as an array of " -"bytes implement the buffer protocol, so that they can be read/filled without" -" additional copying from a :class:`bytes` object." -msgstr "" - -#: ../../library/struct.rst:48 -msgid "Functions and Exceptions" -msgstr "" - -#: ../../library/struct.rst:50 -msgid "The module defines the following exception and functions:" -msgstr "" - -#: ../../library/struct.rst:55 -msgid "" -"Exception raised on various occasions; argument is a string describing what " -"is wrong." -msgstr "" - -#: ../../library/struct.rst:61 -msgid "" -"Return a bytes object containing the values *v1*, *v2*, ... packed according" -" to the format string *format*. The arguments must match the values " -"required by the format exactly." -msgstr "" - -#: ../../library/struct.rst:68 -msgid "" -"Pack the values *v1*, *v2*, ... according to the format string *format* and " -"write the packed bytes into the writable buffer *buffer* starting at " -"position *offset*. Note that *offset* is a required argument." -msgstr "" - -#: ../../library/struct.rst:75 -msgid "" -"Unpack from the buffer *buffer* (presumably packed by ``pack(format, ...)``)" -" according to the format string *format*. The result is a tuple even if it " -"contains exactly one item. The buffer's size in bytes must match the size " -"required by the format, as reflected by :func:`calcsize`." -msgstr "" - -#: ../../library/struct.rst:83 -msgid "" -"Unpack from *buffer* starting at position *offset*, according to the format " -"string *format*. The result is a tuple even if it contains exactly one " -"item. The buffer's size in bytes, starting at position *offset*, must be at" -" least the size required by the format, as reflected by :func:`calcsize`." -msgstr "" - -#: ../../library/struct.rst:91 -msgid "" -"Iteratively unpack from the buffer *buffer* according to the format string " -"*format*. This function returns an iterator which will read equally sized " -"chunks from the buffer until all its contents have been consumed. The " -"buffer's size in bytes must be a multiple of the size required by the " -"format, as reflected by :func:`calcsize`." -msgstr "" - -#: ../../library/struct.rst:97 -msgid "Each iteration yields a tuple as specified by the format string." -msgstr "" - -#: ../../library/struct.rst:104 -msgid "" -"Return the size of the struct (and hence of the bytes object produced by " -"``pack(format, ...)``) corresponding to the format string *format*." -msgstr "" - -#: ../../library/struct.rst:111 -msgid "Format Strings" -msgstr "" - -#: ../../library/struct.rst:113 -msgid "" -"Format strings describe the data layout when packing and unpacking data. " -"They are built up from :ref:`format characters`, which " -"specify the type of data being packed/unpacked. In addition, special " -"characters control the :ref:`byte order, size and alignment`. Each format string consists of an optional prefix character " -"which describes the overall properties of the data and one or more format " -"characters which describe the actual data values and padding." -msgstr "" - -#: ../../library/struct.rst:125 -msgid "Byte Order, Size, and Alignment" -msgstr "" - -#: ../../library/struct.rst:127 -msgid "" -"By default, C types are represented in the machine's native format and byte " -"order, and properly aligned by skipping pad bytes if necessary (according to" -" the rules used by the C compiler). This behavior is chosen so that the " -"bytes of a packed struct correspond exactly to the memory layout of the " -"corresponding C struct. Whether to use native byte ordering and padding or " -"standard formats depends on the application." -msgstr "" - -#: ../../library/struct.rst:143 -msgid "" -"Alternatively, the first character of the format string can be used to " -"indicate the byte order, size and alignment of the packed data, according to" -" the following table:" -msgstr "" - -#: ../../library/struct.rst:148 -msgid "Character" -msgstr "Karakter" - -#: ../../library/struct.rst:148 -msgid "Byte order" -msgstr "" - -#: ../../library/struct.rst:148 -msgid "Size" -msgstr "" - -#: ../../library/struct.rst:148 -msgid "Alignment" -msgstr "" - -#: ../../library/struct.rst:150 -msgid "``@``" -msgstr "``@``" - -#: ../../library/struct.rst:150 ../../library/struct.rst:152 -msgid "native" -msgstr "" - -#: ../../library/struct.rst:152 -msgid "``=``" -msgstr "``=``" - -#: ../../library/struct.rst:152 ../../library/struct.rst:154 -#: ../../library/struct.rst:156 ../../library/struct.rst:158 -msgid "standard" -msgstr "" - -#: ../../library/struct.rst:152 ../../library/struct.rst:154 -#: ../../library/struct.rst:156 ../../library/struct.rst:158 -msgid "none" -msgstr "" - -#: ../../library/struct.rst:154 -msgid "``<``" -msgstr "``<``" - -#: ../../library/struct.rst:154 -msgid "little-endian" -msgstr "" - -#: ../../library/struct.rst:156 -msgid "``>``" -msgstr "``>``" - -#: ../../library/struct.rst:156 -msgid "big-endian" -msgstr "" - -#: ../../library/struct.rst:158 -msgid "``!``" -msgstr "``!``" - -#: ../../library/struct.rst:158 -msgid "network (= big-endian)" -msgstr "" - -#: ../../library/struct.rst:161 -msgid "If the first character is not one of these, ``'@'`` is assumed." -msgstr "" - -#: ../../library/struct.rst:165 -msgid "" -"The number 1023 (``0x3ff`` in hexadecimal) has the following byte " -"representations:" -msgstr "" - -#: ../../library/struct.rst:167 -msgid "``03 ff`` in big-endian (``>``)" -msgstr "" - -#: ../../library/struct.rst:168 -msgid "``ff 03`` in little-endian (``<``)" -msgstr "" - -#: ../../library/struct.rst:170 -msgid "Python example:" -msgstr "" - -#: ../../library/struct.rst:178 -msgid "" -"Native byte order is big-endian or little-endian, depending on the host " -"system. For example, Intel x86, AMD64 (x86-64), and Apple M1 are little-" -"endian; IBM z and many legacy architectures are big-endian. Use " -":data:`sys.byteorder` to check the endianness of your system." -msgstr "" - -#: ../../library/struct.rst:183 -msgid "" -"Native size and alignment are determined using the C compiler's ``sizeof`` " -"expression. This is always combined with native byte order." -msgstr "" - -#: ../../library/struct.rst:186 -msgid "" -"Standard size depends only on the format character; see the table in the " -":ref:`format-characters` section." -msgstr "" - -#: ../../library/struct.rst:189 -msgid "" -"Note the difference between ``'@'`` and ``'='``: both use native byte order," -" but the size and alignment of the latter is standardized." -msgstr "" - -#: ../../library/struct.rst:192 -msgid "" -"The form ``'!'`` represents the network byte order which is always big-" -"endian as defined in `IETF RFC 1700 `_." -msgstr "" - -#: ../../library/struct.rst:195 -msgid "" -"There is no way to indicate non-native byte order (force byte-swapping); use" -" the appropriate choice of ``'<'`` or ``'>'``." -msgstr "" - -#: ../../library/struct.rst:198 ../../library/struct.rst:284 -msgid "Notes:" -msgstr "Catatan:" - -#: ../../library/struct.rst:200 -msgid "" -"Padding is only automatically added between successive structure members. No" -" padding is added at the beginning or the end of the encoded struct." -msgstr "" - -#: ../../library/struct.rst:203 -msgid "" -"No padding is added when using non-native size and alignment, e.g. with '<'," -" '>', '=', and '!'." -msgstr "" - -#: ../../library/struct.rst:206 -msgid "" -"To align the end of a structure to the alignment requirement of a particular" -" type, end the format with the code for that type with a repeat count of " -"zero. See :ref:`struct-examples`." -msgstr "" - -#: ../../library/struct.rst:214 -msgid "Format Characters" -msgstr "" - -#: ../../library/struct.rst:216 -msgid "" -"Format characters have the following meaning; the conversion between C and " -"Python values should be obvious given their types. The 'Standard size' " -"column refers to the size of the packed value in bytes when using standard " -"size; that is, when the format string starts with one of ``'<'``, ``'>'``, " -"``'!'`` or ``'='``. When using native size, the size of the packed value is" -" platform-dependent." -msgstr "" - -#: ../../library/struct.rst:224 -msgid "Format" -msgstr "Format" - -#: ../../library/struct.rst:224 -msgid "C Type" -msgstr "Tipe C" - -#: ../../library/struct.rst:224 -msgid "Python type" -msgstr "tipe Python" - -#: ../../library/struct.rst:224 -msgid "Standard size" -msgstr "" - -#: ../../library/struct.rst:224 -msgid "Notes" -msgstr "Catatan" - -#: ../../library/struct.rst:226 -msgid "``x``" -msgstr "``x``" - -#: ../../library/struct.rst:226 -msgid "pad byte" -msgstr "" - -#: ../../library/struct.rst:226 -msgid "no value" -msgstr "" - -#: ../../library/struct.rst:226 -msgid "\\(7)" -msgstr "\\(7)" - -#: ../../library/struct.rst:228 -msgid "``c``" -msgstr "``c``" - -#: ../../library/struct.rst:228 -msgid ":c:expr:`char`" -msgstr "" - -#: ../../library/struct.rst:228 -msgid "bytes of length 1" -msgstr "" - -#: ../../library/struct.rst:228 ../../library/struct.rst:230 -#: ../../library/struct.rst:232 ../../library/struct.rst:234 -msgid "1" -msgstr "1" - -#: ../../library/struct.rst:230 -msgid "``b``" -msgstr "``b``" - -#: ../../library/struct.rst:230 -msgid ":c:expr:`signed char`" -msgstr "" - -#: ../../library/struct.rst:230 ../../library/struct.rst:232 -#: ../../library/struct.rst:236 ../../library/struct.rst:238 -#: ../../library/struct.rst:240 ../../library/struct.rst:242 -#: ../../library/struct.rst:244 ../../library/struct.rst:246 -#: ../../library/struct.rst:248 ../../library/struct.rst:250 -#: ../../library/struct.rst:253 ../../library/struct.rst:255 -#: ../../library/struct.rst:271 -msgid "integer" -msgstr "bilangan bulat" - -#: ../../library/struct.rst:230 -msgid "\\(1), \\(2)" -msgstr "" - -#: ../../library/struct.rst:232 -msgid "``B``" -msgstr "``B``" - -#: ../../library/struct.rst:232 -msgid ":c:expr:`unsigned char`" -msgstr "" - -#: ../../library/struct.rst:232 ../../library/struct.rst:236 -#: ../../library/struct.rst:238 ../../library/struct.rst:240 -#: ../../library/struct.rst:242 ../../library/struct.rst:244 -#: ../../library/struct.rst:246 ../../library/struct.rst:248 -#: ../../library/struct.rst:250 -msgid "\\(2)" -msgstr "\\(2)" - -#: ../../library/struct.rst:234 -msgid "``?``" -msgstr "``?``" - -#: ../../library/struct.rst:234 -msgid ":c:expr:`_Bool`" -msgstr "" - -#: ../../library/struct.rst:234 -msgid "bool" -msgstr "" - -#: ../../library/struct.rst:234 -msgid "\\(1)" -msgstr "\\(1)" - -#: ../../library/struct.rst:236 -msgid "``h``" -msgstr "``h``" - -#: ../../library/struct.rst:236 -msgid ":c:expr:`short`" -msgstr "" - -#: ../../library/struct.rst:236 ../../library/struct.rst:238 -#: ../../library/struct.rst:257 -msgid "2" -msgstr "2" - -#: ../../library/struct.rst:238 -msgid "``H``" -msgstr "``H``" - -#: ../../library/struct.rst:238 -msgid ":c:expr:`unsigned short`" -msgstr "" - -#: ../../library/struct.rst:240 -msgid "``i``" -msgstr "``i``" - -#: ../../library/struct.rst:240 -msgid ":c:expr:`int`" -msgstr "" - -#: ../../library/struct.rst:240 ../../library/struct.rst:242 -#: ../../library/struct.rst:244 ../../library/struct.rst:246 -#: ../../library/struct.rst:259 -msgid "4" -msgstr "4" - -#: ../../library/struct.rst:242 -msgid "``I``" -msgstr "``I``" - -#: ../../library/struct.rst:242 -msgid ":c:expr:`unsigned int`" -msgstr "" - -#: ../../library/struct.rst:244 -msgid "``l``" -msgstr "``l``" - -#: ../../library/struct.rst:244 -msgid ":c:expr:`long`" -msgstr "" - -#: ../../library/struct.rst:246 -msgid "``L``" -msgstr "``L``" - -#: ../../library/struct.rst:246 -msgid ":c:expr:`unsigned long`" -msgstr "" - -#: ../../library/struct.rst:248 -msgid "``q``" -msgstr "``q``" - -#: ../../library/struct.rst:248 -msgid ":c:expr:`long long`" -msgstr "" - -#: ../../library/struct.rst:248 ../../library/struct.rst:250 -#: ../../library/struct.rst:261 ../../library/struct.rst:263 -msgid "8" -msgstr "8" - -#: ../../library/struct.rst:250 -msgid "``Q``" -msgstr "``Q``" - -#: ../../library/struct.rst:250 -msgid ":c:expr:`unsigned long long`" -msgstr "" - -#: ../../library/struct.rst:253 -msgid "``n``" -msgstr "``n``" - -#: ../../library/struct.rst:253 -msgid ":c:type:`ssize_t`" -msgstr ":c:type:`ssize_t`" - -#: ../../library/struct.rst:253 ../../library/struct.rst:255 -msgid "\\(3)" -msgstr "\\(3)" - -#: ../../library/struct.rst:255 -msgid "``N``" -msgstr "``N``" - -#: ../../library/struct.rst:255 -msgid ":c:type:`size_t`" -msgstr ":c:type:`size_t`" - -#: ../../library/struct.rst:257 -msgid "``e``" -msgstr "``e``" - -#: ../../library/struct.rst:257 -msgid "\\(6)" -msgstr "\\(6)" - -#: ../../library/struct.rst:257 ../../library/struct.rst:259 -#: ../../library/struct.rst:261 -msgid "float" -msgstr "float" - -#: ../../library/struct.rst:257 ../../library/struct.rst:259 -#: ../../library/struct.rst:261 -msgid "\\(4)" -msgstr "\\(4)" - -#: ../../library/struct.rst:259 -msgid "``f``" -msgstr "``f``" - -#: ../../library/struct.rst:259 -msgid ":c:expr:`float`" -msgstr "" - -#: ../../library/struct.rst:261 -msgid "``d``" -msgstr "``d``" - -#: ../../library/struct.rst:261 -msgid ":c:expr:`double`" -msgstr "" - -#: ../../library/struct.rst:263 -msgid "``F``" -msgstr "" - -#: ../../library/struct.rst:263 -msgid ":c:expr:`float complex`" -msgstr "" - -#: ../../library/struct.rst:263 ../../library/struct.rst:265 -msgid "complex" -msgstr "" - -#: ../../library/struct.rst:263 ../../library/struct.rst:265 -msgid "\\(10)" -msgstr "" - -#: ../../library/struct.rst:265 -msgid "``D``" -msgstr "" - -#: ../../library/struct.rst:265 -msgid ":c:expr:`double complex`" -msgstr "" - -#: ../../library/struct.rst:265 -msgid "16" -msgstr "16" - -#: ../../library/struct.rst:267 -msgid "``s``" -msgstr "``s``" - -#: ../../library/struct.rst:267 ../../library/struct.rst:269 -msgid ":c:expr:`char[]`" -msgstr "" - -#: ../../library/struct.rst:267 ../../library/struct.rst:269 -msgid "bytes" -msgstr "" - -#: ../../library/struct.rst:267 -msgid "\\(9)" -msgstr "\\(9)" - -#: ../../library/struct.rst:269 -msgid "``p``" -msgstr "``p``" - -#: ../../library/struct.rst:269 -msgid "\\(8)" -msgstr "\\(8)" - -#: ../../library/struct.rst:271 -msgid "``P``" -msgstr "``P``" - -#: ../../library/struct.rst:271 -msgid ":c:expr:`void \\*`" -msgstr "" - -#: ../../library/struct.rst:271 -msgid "\\(5)" -msgstr "\\(5)" - -#: ../../library/struct.rst:274 -msgid "Added support for the ``'n'`` and ``'N'`` formats." -msgstr "" - -#: ../../library/struct.rst:277 -msgid "Added support for the ``'e'`` format." -msgstr "" - -#: ../../library/struct.rst:280 -msgid "Added support for the ``'F'`` and ``'D'`` formats." -msgstr "" - -#: ../../library/struct.rst:289 -msgid "" -"The ``'?'`` conversion code corresponds to the :c:expr:`_Bool` type defined " -"by C standards since C99. In standard mode, it is represented by one byte." -msgstr "" - -#: ../../library/struct.rst:294 -msgid "" -"When attempting to pack a non-integer using any of the integer conversion " -"codes, if the non-integer has a :meth:`~object.__index__` method then that " -"method is called to convert the argument to an integer before packing." -msgstr "" - -#: ../../library/struct.rst:298 -msgid "Added use of the :meth:`~object.__index__` method for non-integers." -msgstr "" - -#: ../../library/struct.rst:302 -msgid "" -"The ``'n'`` and ``'N'`` conversion codes are only available for the native " -"size (selected as the default or with the ``'@'`` byte order character). For" -" the standard size, you can use whichever of the other integer formats fits " -"your application." -msgstr "" - -#: ../../library/struct.rst:308 -msgid "" -"For the ``'f'``, ``'d'`` and ``'e'`` conversion codes, the packed " -"representation uses the IEEE 754 binary32, binary64 or binary16 format (for " -"``'f'``, ``'d'`` or ``'e'`` respectively), regardless of the floating-point " -"format used by the platform." -msgstr "" - -#: ../../library/struct.rst:314 -msgid "" -"The ``'P'`` format character is only available for the native byte ordering " -"(selected as the default or with the ``'@'`` byte order character). The byte" -" order character ``'='`` chooses to use little- or big-endian ordering based" -" on the host system. The struct module does not interpret this as native " -"ordering, so the ``'P'`` format is not available." -msgstr "" - -#: ../../library/struct.rst:321 -msgid "" -"The IEEE 754 binary16 \"half precision\" type was introduced in the 2008 " -"revision of the `IEEE 754 standard `_. It has a sign " -"bit, a 5-bit exponent and 11-bit precision (with 10 bits explicitly stored)," -" and can represent numbers between approximately ``6.1e-05`` and ``6.5e+04``" -" at full precision. This type is not widely supported by C compilers: on a " -"typical machine, an unsigned short can be used for storage, but not for math" -" operations. See the Wikipedia page on the `half-precision floating-point " -"format `_ for more information." -msgstr "" - -#: ../../library/struct.rst:331 -msgid "When packing, ``'x'`` inserts one NUL byte." -msgstr "" - -#: ../../library/struct.rst:334 -msgid "" -"The ``'p'`` format character encodes a \"Pascal string\", meaning a short " -"variable-length string stored in a *fixed number of bytes*, given by the " -"count. The first byte stored is the length of the string, or 255, whichever " -"is smaller. The bytes of the string follow. If the string passed in to " -":func:`pack` is too long (longer than the count minus 1), only the leading " -"``count-1`` bytes of the string are stored. If the string is shorter than " -"``count-1``, it is padded with null bytes so that exactly count bytes in all" -" are used. Note that for :func:`unpack`, the ``'p'`` format character " -"consumes ``count`` bytes, but that the string returned can never contain " -"more than 255 bytes." -msgstr "" - -#: ../../library/struct.rst:346 -msgid "" -"For the ``'s'`` format character, the count is interpreted as the length of " -"the bytes, not a repeat count like for the other format characters; for " -"example, ``'10s'`` means a single 10-byte string mapping to or from a single" -" Python byte string, while ``'10c'`` means 10 separate one byte character " -"elements (e.g., ``cccccccccc``) mapping to or from ten different Python byte" -" objects. (See :ref:`struct-examples` for a concrete demonstration of the " -"difference.) If a count is not given, it defaults to 1. For packing, the " -"string is truncated or padded with null bytes as appropriate to make it fit." -" For unpacking, the resulting bytes object always has exactly the specified " -"number of bytes. As a special case, ``'0s'`` means a single, empty string " -"(while ``'0c'`` means 0 characters)." -msgstr "" - -#: ../../library/struct.rst:360 -msgid "" -"For the ``'F'`` and ``'D'`` format characters, the packed representation " -"uses the IEEE 754 binary32 and binary64 format for components of the complex" -" number, regardless of the floating-point format used by the platform. Note " -"that complex types (``F`` and ``D``) are available unconditionally, despite " -"complex types being an optional feature in C. As specified in the C11 " -"standard, each complex type is represented by a two-element C array " -"containing, respectively, the real and imaginary parts." -msgstr "" - -#: ../../library/struct.rst:369 -msgid "" -"A format character may be preceded by an integral repeat count. For " -"example, the format string ``'4h'`` means exactly the same as ``'hhhh'``." -msgstr "" - -#: ../../library/struct.rst:372 -msgid "" -"Whitespace characters between formats are ignored; a count and its format " -"must not contain whitespace though." -msgstr "" - -#: ../../library/struct.rst:375 -msgid "" -"When packing a value ``x`` using one of the integer formats (``'b'``, " -"``'B'``, ``'h'``, ``'H'``, ``'i'``, ``'I'``, ``'l'``, ``'L'``, ``'q'``, " -"``'Q'``), if ``x`` is outside the valid range for that format then " -":exc:`struct.error` is raised." -msgstr "" - -#: ../../library/struct.rst:380 -msgid "" -"Previously, some of the integer formats wrapped out-of-range values and " -"raised :exc:`DeprecationWarning` instead of :exc:`struct.error`." -msgstr "" - -#: ../../library/struct.rst:386 -msgid "" -"For the ``'?'`` format character, the return value is either :const:`True` " -"or :const:`False`. When packing, the truth value of the argument object is " -"used. Either 0 or 1 in the native or standard bool representation will be " -"packed, and any non-zero value will be ``True`` when unpacking." -msgstr "" - -#: ../../library/struct.rst:396 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/struct.rst:399 -msgid "" -"Native byte order examples (designated by the ``'@'`` format prefix or lack " -"of any prefix character) may not match what the reader's machine produces as" -" that depends on the platform and compiler." -msgstr "" - -#: ../../library/struct.rst:404 -msgid "" -"Pack and unpack integers of three different sizes, using big endian " -"ordering::" -msgstr "" - -#: ../../library/struct.rst:407 -msgid "" -">>> from struct import *\n" -">>> pack(\">bhl\", 1, 2, 3)\n" -"b'\\x01\\x00\\x02\\x00\\x00\\x00\\x03'\n" -">>> unpack('>bhl', b'\\x01\\x00\\x02\\x00\\x00\\x00\\x03')\n" -"(1, 2, 3)\n" -">>> calcsize('>bhl')\n" -"7" -msgstr "" - -#: ../../library/struct.rst:415 -msgid "Attempt to pack an integer which is too large for the defined field::" -msgstr "" - -#: ../../library/struct.rst:417 -msgid "" -">>> pack(\">h\", 99999)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"struct.error: 'h' format requires -32768 <= number <= 32767" -msgstr "" - -#: ../../library/struct.rst:422 -msgid "" -"Demonstrate the difference between ``'s'`` and ``'c'`` format characters::" -msgstr "" - -#: ../../library/struct.rst:425 -msgid "" -">>> pack(\"@ccc\", b'1', b'2', b'3')\n" -"b'123'\n" -">>> pack(\"@3s\", b'123')\n" -"b'123'" -msgstr "" - -#: ../../library/struct.rst:430 -msgid "" -"Unpacked fields can be named by assigning them to variables or by wrapping " -"the result in a named tuple::" -msgstr "" - -#: ../../library/struct.rst:433 -msgid "" -">>> record = b'raymond \\x32\\x12\\x08\\x01\\x08'\n" -">>> name, serialnum, school, gradelevel = unpack('<10sHHb', record)\n" -"\n" -">>> from collections import namedtuple\n" -">>> Student = namedtuple('Student', 'name serialnum school gradelevel')\n" -">>> Student._make(unpack('<10sHHb', record))\n" -"Student(name=b'raymond ', serialnum=4658, school=264, gradelevel=8)" -msgstr "" - -#: ../../library/struct.rst:441 -msgid "" -"The ordering of format characters may have an impact on size in native mode " -"since padding is implicit. In standard mode, the user is responsible for " -"inserting any desired padding. Note in the first ``pack`` call below that " -"three NUL bytes were added after the packed ``'#'`` to align the following " -"integer on a four-byte boundary. In this example, the output was produced on" -" a little endian machine::" -msgstr "" - -#: ../../library/struct.rst:449 -msgid "" -">>> pack('@ci', b'#', 0x12131415)\n" -"b'#\\x00\\x00\\x00\\x15\\x14\\x13\\x12'\n" -">>> pack('@ic', 0x12131415, b'#')\n" -"b'\\x15\\x14\\x13\\x12#'\n" -">>> calcsize('@ci')\n" -"8\n" -">>> calcsize('@ic')\n" -"5" -msgstr "" - -#: ../../library/struct.rst:458 -msgid "" -"The following format ``'llh0l'`` results in two pad bytes being added at the" -" end, assuming the platform's longs are aligned on 4-byte boundaries::" -msgstr "" - -#: ../../library/struct.rst:461 -msgid "" -">>> pack('@llh0l', 1, 2, 3)\n" -"b'\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x02\\x00\\x03\\x00\\x00'" -msgstr "" - -#: ../../library/struct.rst:467 -msgid "Module :mod:`array`" -msgstr "" - -#: ../../library/struct.rst:468 -msgid "Packed binary storage of homogeneous data." -msgstr "" - -#: ../../library/struct.rst:470 -msgid "Module :mod:`json`" -msgstr "" - -#: ../../library/struct.rst:471 -msgid "JSON encoder and decoder." -msgstr "" - -#: ../../library/struct.rst:473 -msgid "Module :mod:`pickle`" -msgstr "Modul :mod:`pickle`" - -#: ../../library/struct.rst:474 -msgid "Python object serialization." -msgstr "" - -#: ../../library/struct.rst:480 -msgid "Applications" -msgstr "" - -#: ../../library/struct.rst:482 -msgid "" -"Two main applications for the :mod:`struct` module exist, data interchange " -"between Python and C code within an application or another application " -"compiled using the same compiler (:ref:`native formats`), and data interchange between applications using agreed upon data" -" layout (:ref:`standard formats`). Generally " -"speaking, the format strings constructed for these two domains are distinct." -msgstr "" - -#: ../../library/struct.rst:493 -msgid "Native Formats" -msgstr "" - -#: ../../library/struct.rst:495 -msgid "" -"When constructing format strings which mimic native layouts, the compiler " -"and machine architecture determine byte ordering and padding. In such cases," -" the ``@`` format character should be used to specify native byte ordering " -"and data sizes. Internal pad bytes are normally inserted automatically. It" -" is possible that a zero-repeat format code will be needed at the end of a " -"format string to round up to the correct byte boundary for proper alignment " -"of consecutive chunks of data." -msgstr "" - -#: ../../library/struct.rst:503 -msgid "" -"Consider these two simple examples (on a 64-bit, little-endian machine)::" -msgstr "" - -#: ../../library/struct.rst:506 -msgid "" -">>> calcsize('@lhl')\n" -"24\n" -">>> calcsize('@llh')\n" -"18" -msgstr "" - -#: ../../library/struct.rst:511 -msgid "" -"Data is not padded to an 8-byte boundary at the end of the second format " -"string without the use of extra padding. A zero-repeat format code solves " -"that problem::" -msgstr "" - -#: ../../library/struct.rst:515 -msgid "" -">>> calcsize('@llh0l')\n" -"24" -msgstr "" - -#: ../../library/struct.rst:518 -msgid "" -"The ``'x'`` format code can be used to specify the repeat, but for native " -"formats it is better to use a zero-repeat format like ``'0l'``." -msgstr "" - -#: ../../library/struct.rst:521 -msgid "" -"By default, native byte ordering and alignment is used, but it is better to " -"be explicit and use the ``'@'`` prefix character." -msgstr "" - -#: ../../library/struct.rst:528 -msgid "Standard Formats" -msgstr "" - -#: ../../library/struct.rst:530 -msgid "" -"When exchanging data beyond your process such as networking or storage, be " -"precise. Specify the exact byte order, size, and alignment. Do not assume " -"they match the native order of a particular machine. For example, network " -"byte order is big-endian, while many popular CPUs are little-endian. By " -"defining this explicitly, the user need not care about the specifics of the " -"platform their code is running on. The first character should typically be " -"``<`` or ``>`` (or ``!``). Padding is the responsibility of the programmer." -" The zero-repeat format character won't work. Instead, the user must " -"explicitly add ``'x'`` pad bytes where needed. Revisiting the examples from" -" the previous section, we have::" -msgstr "" - -#: ../../library/struct.rst:542 -msgid "" -">>> calcsize('>> pack('>> calcsize('@llh')\n" -"18\n" -">>> pack('@llh', 1, 2, 3) == pack('>> calcsize('>> calcsize('@llh0l')\n" -"24\n" -">>> pack('@llh0l', 1, 2, 3) == pack('>> calcsize('>> calcsize('@llh0l')\n" -"12\n" -">>> pack('@llh0l', 1, 2, 3) == pack(' (greater)" -msgstr "" - -#: ../../library/struct.rst:136 -msgid "! (exclamation)" -msgstr "" - -#: ../../library/struct.rst:287 ../../library/struct.rst:384 -msgid "? (question mark)" -msgstr "" diff --git a/python-newest.library--subprocess/id.po b/python-newest.library--subprocess/id.po deleted file mode 100644 index 293461b..0000000 --- a/python-newest.library--subprocess/id.po +++ /dev/null @@ -1,2005 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/subprocess.rst:2 -msgid ":mod:`!subprocess` --- Subprocess management" -msgstr "" - -#: ../../library/subprocess.rst:10 -msgid "**Source code:** :source:`Lib/subprocess.py`" -msgstr "" - -#: ../../library/subprocess.rst:14 -msgid "" -"The :mod:`subprocess` module allows you to spawn new processes, connect to " -"their input/output/error pipes, and obtain their return codes. This module " -"intends to replace several older modules and functions::" -msgstr "" - -#: ../../library/subprocess.rst:18 -msgid "" -"os.system\n" -"os.spawn*" -msgstr "" - -#: ../../library/subprocess.rst:21 -msgid "" -"Information about how the :mod:`subprocess` module can be used to replace " -"these modules and functions can be found in the following sections." -msgstr "" - -#: ../../library/subprocess.rst:26 -msgid ":pep:`324` -- PEP proposing the subprocess module" -msgstr "" - -#: ../../library/subprocess.rst:598 ../../library/subprocess.rst:605 -#: ../../library/subprocess.rst:615 ../../library/subprocess.rst:624 -#: ../../library/subprocess.rst:633 ../../library/subprocess.rst:639 -#: ../../library/subprocess.rst:1494 ../../library/subprocess.rst:1516 -#: ../../includes/wasm-mobile-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-mobile-notavail.rst:5 -msgid "" -"This module is not supported on :ref:`mobile platforms ` or :ref:`WebAssembly platforms `." -msgstr "" - -#: ../../library/subprocess.rst:31 -msgid "Using the :mod:`subprocess` Module" -msgstr "" - -#: ../../library/subprocess.rst:33 -msgid "" -"The recommended approach to invoking subprocesses is to use the :func:`run` " -"function for all use cases it can handle. For more advanced use cases, the " -"underlying :class:`Popen` interface can be used directly." -msgstr "" - -#: ../../library/subprocess.rst:43 -msgid "" -"Run the command described by *args*. Wait for command to complete, then " -"return a :class:`CompletedProcess` instance." -msgstr "" - -#: ../../library/subprocess.rst:46 -msgid "" -"The arguments shown above are merely the most common ones, described below " -"in :ref:`frequently-used-arguments` (hence the use of keyword-only notation " -"in the abbreviated signature). The full function signature is largely the " -"same as that of the :class:`Popen` constructor - most of the arguments to " -"this function are passed through to that interface. (*timeout*, *input*, " -"*check*, and *capture_output* are not.)" -msgstr "" - -#: ../../library/subprocess.rst:53 -msgid "" -"If *capture_output* is true, stdout and stderr will be captured. When used, " -"the internal :class:`Popen` object is automatically created with *stdout* " -"and *stderr* both set to :data:`~subprocess.PIPE`. The *stdout* and *stderr*" -" arguments may not be supplied at the same time as *capture_output*. If you " -"wish to capture and combine both streams into one, set *stdout* to " -":data:`~subprocess.PIPE` and *stderr* to :data:`~subprocess.STDOUT`, instead" -" of using *capture_output*." -msgstr "" - -#: ../../library/subprocess.rst:62 -msgid "" -"A *timeout* may be specified in seconds, it is internally passed on to " -":meth:`Popen.communicate`. If the timeout expires, the child process will be" -" killed and waited for. The :exc:`TimeoutExpired` exception will be re-" -"raised after the child process has terminated. The initial process creation " -"itself cannot be interrupted on many platform APIs so you are not guaranteed" -" to see a timeout exception until at least after however long process " -"creation takes." -msgstr "" - -#: ../../library/subprocess.rst:70 -msgid "" -"The *input* argument is passed to :meth:`Popen.communicate` and thus to the " -"subprocess's stdin. If used it must be a byte sequence, or a string if " -"*encoding* or *errors* is specified or *text* is true. When used, the " -"internal :class:`Popen` object is automatically created with *stdin* set to " -":data:`~subprocess.PIPE`, and the *stdin* argument may not be used as well." -msgstr "" - -#: ../../library/subprocess.rst:77 -msgid "" -"If *check* is true, and the process exits with a non-zero exit code, a " -":exc:`CalledProcessError` exception will be raised. Attributes of that " -"exception hold the arguments, the exit code, and stdout and stderr if they " -"were captured." -msgstr "" - -#: ../../library/subprocess.rst:82 -msgid "" -"If *encoding* or *errors* are specified, or *text* is true, file objects for" -" stdin, stdout and stderr are opened in text mode using the specified " -"*encoding* and *errors* or the :class:`io.TextIOWrapper` default. The " -"*universal_newlines* argument is equivalent to *text* and is provided for " -"backwards compatibility. By default, file objects are opened in binary mode." -msgstr "" - -#: ../../library/subprocess.rst:88 -msgid "" -"If *env* is not ``None``, it must be a mapping that defines the environment " -"variables for the new process; these are used instead of the default " -"behavior of inheriting the current process' environment. It is passed " -"directly to :class:`Popen`. This mapping can be str to str on any platform " -"or bytes to bytes on POSIX platforms much like :data:`os.environ` or " -":data:`os.environb`." -msgstr "" - -#: ../../library/subprocess.rst:95 -msgid "Examples::" -msgstr "Contoh::" - -#: ../../library/subprocess.rst:97 -msgid "" -">>> subprocess.run([\"ls\", \"-l\"]) # doesn't capture output\n" -"CompletedProcess(args=['ls', '-l'], returncode=0)\n" -"\n" -">>> subprocess.run(\"exit 1\", shell=True, check=True)\n" -"Traceback (most recent call last):\n" -" ...\n" -"subprocess.CalledProcessError: Command 'exit 1' returned non-zero exit status 1\n" -"\n" -">>> subprocess.run([\"ls\", \"-l\", \"/dev/null\"], capture_output=True)\n" -"CompletedProcess(args=['ls', '-l', '/dev/null'], returncode=0,\n" -"stdout=b'crw-rw-rw- 1 root root 1, 3 Jan 23 16:23 /dev/null\\n', stderr=b'')" -msgstr "" - -#: ../../library/subprocess.rst:113 -msgid "Added *encoding* and *errors* parameters" -msgstr "" - -#: ../../library/subprocess.rst:117 -msgid "" -"Added the *text* parameter, as a more understandable alias of " -"*universal_newlines*. Added the *capture_output* parameter." -msgstr "" - -#: ../../library/subprocess.rst:122 ../../library/subprocess.rst:506 -#: ../../library/subprocess.rst:1214 ../../library/subprocess.rst:1254 -#: ../../library/subprocess.rst:1317 -msgid "" -"Changed Windows shell search order for ``shell=True``. The current directory" -" and ``%PATH%`` are replaced with ``%COMSPEC%`` and " -"``%SystemRoot%\\System32\\cmd.exe``. As a result, dropping a malicious " -"program named ``cmd.exe`` into a current directory no longer works." -msgstr "" - -#: ../../library/subprocess.rst:130 -msgid "" -"The return value from :func:`run`, representing a process that has finished." -msgstr "" - -#: ../../library/subprocess.rst:134 -msgid "" -"The arguments used to launch the process. This may be a list or a string." -msgstr "" - -#: ../../library/subprocess.rst:138 -msgid "" -"Exit status of the child process. Typically, an exit status of 0 indicates " -"that it ran successfully." -msgstr "" - -#: ../../library/subprocess.rst:141 ../../library/subprocess.rst:945 -msgid "" -"A negative value ``-N`` indicates that the child was terminated by signal " -"``N`` (POSIX only)." -msgstr "" - -#: ../../library/subprocess.rst:146 -msgid "" -"Captured stdout from the child process. A bytes sequence, or a string if " -":func:`run` was called with an encoding, errors, or text=True. ``None`` if " -"stdout was not captured." -msgstr "" - -#: ../../library/subprocess.rst:150 -msgid "" -"If you ran the process with ``stderr=subprocess.STDOUT``, stdout and stderr " -"will be combined in this attribute, and :attr:`stderr` will be ``None``." -msgstr "" - -#: ../../library/subprocess.rst:156 -msgid "" -"Captured stderr from the child process. A bytes sequence, or a string if " -":func:`run` was called with an encoding, errors, or text=True. ``None`` if " -"stderr was not captured." -msgstr "" - -#: ../../library/subprocess.rst:162 -msgid "If :attr:`returncode` is non-zero, raise a :exc:`CalledProcessError`." -msgstr "" - -#: ../../library/subprocess.rst:168 -msgid "" -"Special value that can be used as the *stdin*, *stdout* or *stderr* argument" -" to :class:`Popen` and indicates that the special file :data:`os.devnull` " -"will be used." -msgstr "" - -#: ../../library/subprocess.rst:177 -msgid "" -"Special value that can be used as the *stdin*, *stdout* or *stderr* argument" -" to :class:`Popen` and indicates that a pipe to the standard stream should " -"be opened. Most useful with :meth:`Popen.communicate`." -msgstr "" - -#: ../../library/subprocess.rst:184 -msgid "" -"Special value that can be used as the *stderr* argument to :class:`Popen` " -"and indicates that standard error should go into the same handle as standard" -" output." -msgstr "" - -#: ../../library/subprocess.rst:191 -msgid "Base class for all other exceptions from this module." -msgstr "" - -#: ../../library/subprocess.rst:198 -msgid "" -"Subclass of :exc:`SubprocessError`, raised when a timeout expires while " -"waiting for a child process." -msgstr "" - -#: ../../library/subprocess.rst:203 ../../library/subprocess.rst:247 -msgid "Command that was used to spawn the child process." -msgstr "" - -#: ../../library/subprocess.rst:207 -msgid "Timeout in seconds." -msgstr "" - -#: ../../library/subprocess.rst:211 -msgid "" -"Output of the child process if it was captured by :func:`run` or " -":func:`check_output`. Otherwise, ``None``. This is always :class:`bytes` " -"when any output was captured regardless of the ``text=True`` setting. It " -"may remain ``None`` instead of ``b''`` when no output was observed." -msgstr "" - -#: ../../library/subprocess.rst:219 ../../library/subprocess.rst:256 -msgid "Alias for output, for symmetry with :attr:`stderr`." -msgstr "" - -#: ../../library/subprocess.rst:223 -msgid "" -"Stderr output of the child process if it was captured by :func:`run`. " -"Otherwise, ``None``. This is always :class:`bytes` when stderr output was " -"captured regardless of the ``text=True`` setting. It may remain ``None`` " -"instead of ``b''`` when no stderr output was observed." -msgstr "" - -#: ../../library/subprocess.rst:230 ../../library/subprocess.rst:263 -msgid "*stdout* and *stderr* attributes added" -msgstr "" - -#: ../../library/subprocess.rst:235 -msgid "" -"Subclass of :exc:`SubprocessError`, raised when a process run by " -":func:`check_call`, :func:`check_output`, or :func:`run` (with " -"``check=True``) returns a non-zero exit status." -msgstr "" - -#: ../../library/subprocess.rst:242 -msgid "" -"Exit status of the child process. If the process exited due to a signal, " -"this will be the negative signal number." -msgstr "" - -#: ../../library/subprocess.rst:251 -msgid "" -"Output of the child process if it was captured by :func:`run` or " -":func:`check_output`. Otherwise, ``None``." -msgstr "" - -#: ../../library/subprocess.rst:260 -msgid "" -"Stderr output of the child process if it was captured by :func:`run`. " -"Otherwise, ``None``." -msgstr "" - -#: ../../library/subprocess.rst:270 -msgid "Frequently Used Arguments" -msgstr "" - -#: ../../library/subprocess.rst:272 -msgid "" -"To support a wide variety of use cases, the :class:`Popen` constructor (and " -"the convenience functions) accept a large number of optional arguments. For " -"most typical use cases, many of these arguments can be safely left at their " -"default values. The arguments that are most commonly needed are:" -msgstr "" - -#: ../../library/subprocess.rst:277 -msgid "" -"*args* is required for all calls and should be a string, or a sequence of " -"program arguments. Providing a sequence of arguments is generally preferred," -" as it allows the module to take care of any required escaping and quoting " -"of arguments (e.g. to permit spaces in file names). If passing a single " -"string, either *shell* must be :const:`True` (see below) or else the string " -"must simply name the program to be executed without specifying any " -"arguments." -msgstr "" - -#: ../../library/subprocess.rst:285 -msgid "" -"*stdin*, *stdout* and *stderr* specify the executed program's standard " -"input, standard output and standard error file handles, respectively. Valid" -" values are ``None``, :data:`PIPE`, :data:`DEVNULL`, an existing file " -"descriptor (a positive integer), and an existing :term:`file object` with a " -"valid file descriptor. With the default settings of ``None``, no " -"redirection will occur. :data:`PIPE` indicates that a new pipe to the child" -" should be created. :data:`DEVNULL` indicates that the special file " -":data:`os.devnull` will be used. Additionally, *stderr* can be " -":data:`STDOUT`, which indicates that the stderr data from the child process " -"should be captured into the same file handle as for *stdout*." -msgstr "" - -#: ../../library/subprocess.rst:299 -msgid "" -"If *encoding* or *errors* are specified, or *text* (also known as " -"*universal_newlines*) is true, the file objects *stdin*, *stdout* and " -"*stderr* will be opened in text mode using the *encoding* and *errors* " -"specified in the call or the defaults for :class:`io.TextIOWrapper`." -msgstr "" - -#: ../../library/subprocess.rst:305 -msgid "" -"For *stdin*, line ending characters ``'\\n'`` in the input will be converted" -" to the default line separator :data:`os.linesep`. For *stdout* and " -"*stderr*, all line endings in the output will be converted to ``'\\n'``. " -"For more information see the documentation of the :class:`io.TextIOWrapper` " -"class when the *newline* argument to its constructor is ``None``." -msgstr "" - -#: ../../library/subprocess.rst:311 -msgid "" -"If text mode is not used, *stdin*, *stdout* and *stderr* will be opened as " -"binary streams. No encoding or line ending conversion is performed." -msgstr "" - -#: ../../library/subprocess.rst:314 ../../library/subprocess.rst:1503 -#: ../../library/subprocess.rst:1521 -msgid "Added the *encoding* and *errors* parameters." -msgstr "" - -#: ../../library/subprocess.rst:317 -msgid "Added the *text* parameter as an alias for *universal_newlines*." -msgstr "" - -#: ../../library/subprocess.rst:322 -msgid "" -"The newlines attribute of the file objects :attr:`Popen.stdin`, " -":attr:`Popen.stdout` and :attr:`Popen.stderr` are not updated by the " -":meth:`Popen.communicate` method." -msgstr "" - -#: ../../library/subprocess.rst:326 -msgid "" -"If *shell* is ``True``, the specified command will be executed through the " -"shell. This can be useful if you are using Python primarily for the " -"enhanced control flow it offers over most system shells and still want " -"convenient access to other shell features such as shell pipes, filename " -"wildcards, environment variable expansion, and expansion of ``~`` to a " -"user's home directory. However, note that Python itself offers " -"implementations of many shell-like features (in particular, :mod:`glob`, " -":mod:`fnmatch`, :func:`os.walk`, :func:`os.path.expandvars`, " -":func:`os.path.expanduser`, and :mod:`shutil`)." -msgstr "" - -#: ../../library/subprocess.rst:336 -msgid "" -"When *universal_newlines* is ``True``, the class uses the encoding " -":func:`locale.getpreferredencoding(False) ` " -"instead of ``locale.getpreferredencoding()``. See the " -":class:`io.TextIOWrapper` class for more information on this change." -msgstr "" - -#: ../../library/subprocess.rst:344 ../../library/subprocess.rst:465 -msgid "" -"Read the `Security Considerations`_ section before using ``shell=True``." -msgstr "" - -#: ../../library/subprocess.rst:346 -msgid "" -"These options, along with all of the other options, are described in more " -"detail in the :class:`Popen` constructor documentation." -msgstr "" - -#: ../../library/subprocess.rst:351 -msgid "Popen Constructor" -msgstr "" - -#: ../../library/subprocess.rst:353 -msgid "" -"The underlying process creation and management in this module is handled by " -"the :class:`Popen` class. It offers a lot of flexibility so that developers " -"are able to handle the less common cases not covered by the convenience " -"functions." -msgstr "" - -#: ../../library/subprocess.rst:368 -msgid "" -"Execute a child program in a new process. On POSIX, the class uses " -":meth:`os.execvpe`-like behavior to execute the child program. On Windows, " -"the class uses the Windows ``CreateProcess()`` function. The arguments to " -":class:`Popen` are as follows." -msgstr "" - -#: ../../library/subprocess.rst:373 -msgid "" -"*args* should be a sequence of program arguments or else a single string or " -":term:`path-like object`. By default, the program to execute is the first " -"item in *args* if *args* is a sequence. If *args* is a string, the " -"interpretation is platform-dependent and described below. See the *shell* " -"and *executable* arguments for additional differences from the default " -"behavior. Unless otherwise stated, it is recommended to pass *args* as a " -"sequence." -msgstr "" - -#: ../../library/subprocess.rst:383 -msgid "" -"For maximum reliability, use a fully qualified path for the executable. To " -"search for an unqualified name on :envvar:`PATH`, use :meth:`shutil.which`. " -"On all platforms, passing :data:`sys.executable` is the recommended way to " -"launch the current Python interpreter again, and use the ``-m`` command-line" -" format to launch an installed module." -msgstr "" - -#: ../../library/subprocess.rst:389 -msgid "" -"Resolving the path of *executable* (or the first item of *args*) is platform" -" dependent. For POSIX, see :meth:`os.execvpe`, and note that when resolving " -"or searching for the executable path, *cwd* overrides the current working " -"directory and *env* can override the ``PATH`` environment variable. For " -"Windows, see the documentation of the ``lpApplicationName`` and " -"``lpCommandLine`` parameters of WinAPI ``CreateProcess``, and note that when" -" resolving or searching for the executable path with ``shell=False``, *cwd* " -"does not override the current working directory and *env* cannot override " -"the ``PATH`` environment variable. Using a full path avoids all of these " -"variations." -msgstr "" - -#: ../../library/subprocess.rst:400 -msgid "" -"An example of passing some arguments to an external program as a sequence " -"is::" -msgstr "" - -#: ../../library/subprocess.rst:403 -msgid "Popen([\"/usr/bin/git\", \"commit\", \"-m\", \"Fixes a bug.\"])" -msgstr "" - -#: ../../library/subprocess.rst:405 -msgid "" -"On POSIX, if *args* is a string, the string is interpreted as the name or " -"path of the program to execute. However, this can only be done if not " -"passing arguments to the program." -msgstr "" - -#: ../../library/subprocess.rst:411 -msgid "" -"It may not be obvious how to break a shell command into a sequence of " -"arguments, especially in complex cases. :meth:`shlex.split` can illustrate " -"how to determine the correct tokenization for *args*::" -msgstr "" - -#: ../../library/subprocess.rst:415 -msgid "" -">>> import shlex, subprocess\n" -">>> command_line = input()\n" -"/bin/vikings -input eggs.txt -output \"spam spam.txt\" -cmd \"echo '$MONEY'\"\n" -">>> args = shlex.split(command_line)\n" -">>> print(args)\n" -"['/bin/vikings', '-input', 'eggs.txt', '-output', 'spam spam.txt', '-cmd', \"echo '$MONEY'\"]\n" -">>> p = subprocess.Popen(args) # Success!" -msgstr "" - -#: ../../library/subprocess.rst:423 -msgid "" -"Note in particular that options (such as *-input*) and arguments (such as " -"*eggs.txt*) that are separated by whitespace in the shell go in separate " -"list elements, while arguments that need quoting or backslash escaping when " -"used in the shell (such as filenames containing spaces or the *echo* command" -" shown above) are single list elements." -msgstr "" - -#: ../../library/subprocess.rst:429 -msgid "" -"On Windows, if *args* is a sequence, it will be converted to a string in a " -"manner described in :ref:`converting-argument-sequence`. This is because " -"the underlying ``CreateProcess()`` operates on strings." -msgstr "" - -#: ../../library/subprocess.rst:433 -msgid "" -"*args* parameter accepts a :term:`path-like object` if *shell* is ``False`` " -"and a sequence containing path-like objects on POSIX." -msgstr "" - -#: ../../library/subprocess.rst:437 -msgid "" -"*args* parameter accepts a :term:`path-like object` if *shell* is ``False`` " -"and a sequence containing bytes and path-like objects on Windows." -msgstr "" - -#: ../../library/subprocess.rst:442 -msgid "" -"The *shell* argument (which defaults to ``False``) specifies whether to use " -"the shell as the program to execute. If *shell* is ``True``, it is " -"recommended to pass *args* as a string rather than as a sequence." -msgstr "" - -#: ../../library/subprocess.rst:446 -msgid "" -"On POSIX with ``shell=True``, the shell defaults to :file:`/bin/sh`. If " -"*args* is a string, the string specifies the command to execute through the " -"shell. This means that the string must be formatted exactly as it would be " -"when typed at the shell prompt. This includes, for example, quoting or " -"backslash escaping filenames with spaces in them. If *args* is a sequence, " -"the first item specifies the command string, and any additional items will " -"be treated as additional arguments to the shell itself. That is to say, " -":class:`Popen` does the equivalent of::" -msgstr "" - -#: ../../library/subprocess.rst:455 -msgid "Popen(['/bin/sh', '-c', args[0], args[1], ...])" -msgstr "" - -#: ../../library/subprocess.rst:457 -msgid "" -"On Windows with ``shell=True``, the :envvar:`COMSPEC` environment variable " -"specifies the default shell. The only time you need to specify " -"``shell=True`` on Windows is when the command you wish to execute is built " -"into the shell (e.g. :command:`dir` or :command:`copy`). You do not need " -"``shell=True`` to run a batch file or console-based executable." -msgstr "" - -#: ../../library/subprocess.rst:467 -msgid "" -"*bufsize* will be supplied as the corresponding argument to the :func:`open`" -" function when creating the stdin/stdout/stderr pipe file objects:" -msgstr "" - -#: ../../library/subprocess.rst:471 -msgid "" -"``0`` means unbuffered (read and write are one system call and can return " -"short)" -msgstr "" - -#: ../../library/subprocess.rst:473 -msgid "" -"``1`` means line buffered (only usable if ``text=True`` or " -"``universal_newlines=True``)" -msgstr "" - -#: ../../library/subprocess.rst:475 -msgid "any other positive value means use a buffer of approximately that size" -msgstr "" - -#: ../../library/subprocess.rst:477 -msgid "" -"negative bufsize (the default) means the system default of " -"io.DEFAULT_BUFFER_SIZE will be used." -msgstr "" - -#: ../../library/subprocess.rst:480 -msgid "" -"*bufsize* now defaults to -1 to enable buffering by default to match the " -"behavior that most code expects. In versions prior to Python 3.2.4 and " -"3.3.1 it incorrectly defaulted to ``0`` which was unbuffered and allowed " -"short reads. This was unintentional and did not match the behavior of " -"Python 2 as most code expected." -msgstr "" - -#: ../../library/subprocess.rst:487 -msgid "" -"The *executable* argument specifies a replacement program to execute. It " -"is very seldom needed. When ``shell=False``, *executable* replaces the " -"program to execute specified by *args*. However, the original *args* is " -"still passed to the program. Most programs treat the program specified by " -"*args* as the command name, which can then be different from the program " -"actually executed. On POSIX, the *args* name becomes the display name for " -"the executable in utilities such as :program:`ps`. If ``shell=True``, on " -"POSIX the *executable* argument specifies a replacement shell for the " -"default :file:`/bin/sh`." -msgstr "" - -#: ../../library/subprocess.rst:497 -msgid "*executable* parameter accepts a :term:`path-like object` on POSIX." -msgstr "" - -#: ../../library/subprocess.rst:500 -msgid "" -"*executable* parameter accepts a bytes and :term:`path-like object` on " -"Windows." -msgstr "" - -#: ../../library/subprocess.rst:512 -msgid "" -"*stdin*, *stdout* and *stderr* specify the executed program's standard " -"input, standard output and standard error file handles, respectively. Valid" -" values are ``None``, :data:`PIPE`, :data:`DEVNULL`, an existing file " -"descriptor (a positive integer), and an existing :term:`file object` with a " -"valid file descriptor. With the default settings of ``None``, no " -"redirection will occur. :data:`PIPE` indicates that a new pipe to the child" -" should be created. :data:`DEVNULL` indicates that the special file " -":data:`os.devnull` will be used. Additionally, *stderr* can be " -":data:`STDOUT`, which indicates that the stderr data from the applications " -"should be captured into the same file handle as for *stdout*." -msgstr "" - -#: ../../library/subprocess.rst:523 -msgid "" -"If *preexec_fn* is set to a callable object, this object will be called in " -"the child process just before the child is executed. (POSIX only)" -msgstr "" - -#: ../../library/subprocess.rst:529 -msgid "" -"The *preexec_fn* parameter is NOT SAFE to use in the presence of threads in " -"your application. The child process could deadlock before exec is called." -msgstr "" - -#: ../../library/subprocess.rst:535 -msgid "" -"If you need to modify the environment for the child use the *env* parameter " -"rather than doing it in a *preexec_fn*. The *start_new_session* and " -"*process_group* parameters should take the place of code using *preexec_fn* " -"to call :func:`os.setsid` or :func:`os.setpgid` in the child." -msgstr "" - -#: ../../library/subprocess.rst:542 -msgid "" -"The *preexec_fn* parameter is no longer supported in subinterpreters. The " -"use of the parameter in a subinterpreter raises :exc:`RuntimeError`. The new" -" restriction may affect applications that are deployed in mod_wsgi, uWSGI, " -"and other embedded environments." -msgstr "" - -#: ../../library/subprocess.rst:547 -msgid "" -"If *close_fds* is true, all file descriptors except ``0``, ``1`` and ``2`` " -"will be closed before the child process is executed. Otherwise when " -"*close_fds* is false, file descriptors obey their inheritable flag as " -"described in :ref:`fd_inheritance`." -msgstr "" - -#: ../../library/subprocess.rst:552 -msgid "" -"On Windows, if *close_fds* is true then no handles will be inherited by the " -"child process unless explicitly passed in the ``handle_list`` element of " -":attr:`STARTUPINFO.lpAttributeList`, or by standard handle redirection." -msgstr "" - -#: ../../library/subprocess.rst:556 -msgid "" -"The default for *close_fds* was changed from :const:`False` to what is " -"described above." -msgstr "" - -#: ../../library/subprocess.rst:560 -msgid "" -"On Windows the default for *close_fds* was changed from :const:`False` to " -":const:`True` when redirecting the standard handles. It's now possible to " -"set *close_fds* to :const:`True` when redirecting the standard handles." -msgstr "" - -#: ../../library/subprocess.rst:565 -msgid "" -"*pass_fds* is an optional sequence of file descriptors to keep open between " -"the parent and child. Providing any *pass_fds* forces *close_fds* to be " -":const:`True`. (POSIX only)" -msgstr "" - -#: ../../library/subprocess.rst:569 -msgid "The *pass_fds* parameter was added." -msgstr "" - -#: ../../library/subprocess.rst:572 -msgid "" -"If *cwd* is not ``None``, the function changes the working directory to " -"*cwd* before executing the child. *cwd* can be a string, bytes or " -":term:`path-like ` object. On POSIX, the function looks " -"for *executable* (or for the first item in *args*) relative to *cwd* if the " -"executable path is a relative path." -msgstr "" - -#: ../../library/subprocess.rst:578 -msgid "*cwd* parameter accepts a :term:`path-like object` on POSIX." -msgstr "" - -#: ../../library/subprocess.rst:581 -msgid "*cwd* parameter accepts a :term:`path-like object` on Windows." -msgstr "" - -#: ../../library/subprocess.rst:584 -msgid "*cwd* parameter accepts a bytes object on Windows." -msgstr "" - -#: ../../library/subprocess.rst:587 -msgid "" -"If *restore_signals* is true (the default) all signals that Python has set " -"to SIG_IGN are restored to SIG_DFL in the child process before the exec. " -"Currently this includes the SIGPIPE, SIGXFZ and SIGXFSZ signals. (POSIX " -"only)" -msgstr "" - -#: ../../library/subprocess.rst:592 -msgid "*restore_signals* was added." -msgstr "" - -#: ../../library/subprocess.rst:595 -msgid "" -"If *start_new_session* is true the ``setsid()`` system call will be made in " -"the child process prior to the execution of the subprocess." -msgstr "" - -#: ../../library/subprocess.rst:599 -msgid "*start_new_session* was added." -msgstr "" - -#: ../../library/subprocess.rst:602 -msgid "" -"If *process_group* is a non-negative integer, the ``setpgid(0, value)`` " -"system call will be made in the child process prior to the execution of the " -"subprocess." -msgstr "" - -#: ../../library/subprocess.rst:606 -msgid "*process_group* was added." -msgstr "" - -#: ../../library/subprocess.rst:609 -msgid "" -"If *group* is not ``None``, the setregid() system call will be made in the " -"child process prior to the execution of the subprocess. If the provided " -"value is a string, it will be looked up via :func:`grp.getgrnam` and the " -"value in ``gr_gid`` will be used. If the value is an integer, it will be " -"passed verbatim. (POSIX only)" -msgstr "" - -#: ../../library/subprocess.rst:618 -msgid "" -"If *extra_groups* is not ``None``, the setgroups() system call will be made " -"in the child process prior to the execution of the subprocess. Strings " -"provided in *extra_groups* will be looked up via :func:`grp.getgrnam` and " -"the values in ``gr_gid`` will be used. Integer values will be passed " -"verbatim. (POSIX only)" -msgstr "" - -#: ../../library/subprocess.rst:627 -msgid "" -"If *user* is not ``None``, the setreuid() system call will be made in the " -"child process prior to the execution of the subprocess. If the provided " -"value is a string, it will be looked up via :func:`pwd.getpwnam` and the " -"value in ``pw_uid`` will be used. If the value is an integer, it will be " -"passed verbatim. (POSIX only)" -msgstr "" - -#: ../../library/subprocess.rst:636 -msgid "" -"If *umask* is not negative, the umask() system call will be made in the " -"child process prior to the execution of the subprocess." -msgstr "" - -#: ../../library/subprocess.rst:642 -msgid "" -"If *env* is not ``None``, it must be a mapping that defines the environment " -"variables for the new process; these are used instead of the default " -"behavior of inheriting the current process' environment. This mapping can be" -" str to str on any platform or bytes to bytes on POSIX platforms much like " -":data:`os.environ` or :data:`os.environb`." -msgstr "" - -#: ../../library/subprocess.rst:650 -msgid "" -"If specified, *env* must provide any variables required for the program to " -"execute. On Windows, in order to run a `side-by-side assembly`_ the " -"specified *env* **must** include a valid :envvar:`SystemRoot`." -msgstr "" - -#: ../../library/subprocess.rst:656 -msgid "" -"If *encoding* or *errors* are specified, or *text* is true, the file objects" -" *stdin*, *stdout* and *stderr* are opened in text mode with the specified " -"*encoding* and *errors*, as described above in :ref:`frequently-used-" -"arguments`. The *universal_newlines* argument is equivalent to *text* and " -"is provided for backwards compatibility. By default, file objects are opened" -" in binary mode." -msgstr "" - -#: ../../library/subprocess.rst:662 -msgid "*encoding* and *errors* were added." -msgstr "" - -#: ../../library/subprocess.rst:665 ../../library/subprocess.rst:1312 -msgid "*text* was added as a more readable alias for *universal_newlines*." -msgstr "" - -#: ../../library/subprocess.rst:668 -msgid "" -"If given, *startupinfo* will be a :class:`STARTUPINFO` object, which is " -"passed to the underlying ``CreateProcess`` function." -msgstr "" - -#: ../../library/subprocess.rst:671 -msgid "If given, *creationflags*, can be one or more of the following flags:" -msgstr "" - -#: ../../library/subprocess.rst:673 -msgid ":data:`CREATE_NEW_CONSOLE`" -msgstr "" - -#: ../../library/subprocess.rst:674 -msgid ":data:`CREATE_NEW_PROCESS_GROUP`" -msgstr "" - -#: ../../library/subprocess.rst:675 -msgid ":data:`ABOVE_NORMAL_PRIORITY_CLASS`" -msgstr "" - -#: ../../library/subprocess.rst:676 -msgid ":data:`BELOW_NORMAL_PRIORITY_CLASS`" -msgstr "" - -#: ../../library/subprocess.rst:677 -msgid ":data:`HIGH_PRIORITY_CLASS`" -msgstr "" - -#: ../../library/subprocess.rst:678 -msgid ":data:`IDLE_PRIORITY_CLASS`" -msgstr "" - -#: ../../library/subprocess.rst:679 -msgid ":data:`NORMAL_PRIORITY_CLASS`" -msgstr "" - -#: ../../library/subprocess.rst:680 -msgid ":data:`REALTIME_PRIORITY_CLASS`" -msgstr "" - -#: ../../library/subprocess.rst:681 -msgid ":data:`CREATE_NO_WINDOW`" -msgstr "" - -#: ../../library/subprocess.rst:682 -msgid ":data:`DETACHED_PROCESS`" -msgstr "" - -#: ../../library/subprocess.rst:683 -msgid ":data:`CREATE_DEFAULT_ERROR_MODE`" -msgstr "" - -#: ../../library/subprocess.rst:684 -msgid ":data:`CREATE_BREAKAWAY_FROM_JOB`" -msgstr "" - -#: ../../library/subprocess.rst:686 -msgid "" -"*pipesize* can be used to change the size of the pipe when :data:`PIPE` is " -"used for *stdin*, *stdout* or *stderr*. The size of the pipe is only changed" -" on platforms that support this (only Linux at this time of writing). Other " -"platforms will ignore this parameter." -msgstr "" - -#: ../../library/subprocess.rst:691 -msgid "Added the *pipesize* parameter." -msgstr "" - -#: ../../library/subprocess.rst:694 -msgid "" -"Popen objects are supported as context managers via the :keyword:`with` " -"statement: on exit, standard file descriptors are closed, and the process is" -" waited for. ::" -msgstr "" - -#: ../../library/subprocess.rst:698 -msgid "" -"with Popen([\"ifconfig\"], stdout=PIPE) as proc:\n" -" log.write(proc.stdout.read())" -msgstr "" - -#: ../../library/subprocess.rst:701 ../../library/subprocess.rst:703 -msgid "" -"Popen and the other functions in this module that use it raise an " -":ref:`auditing event ` ``subprocess.Popen`` with arguments " -"``executable``, ``args``, ``cwd``, and ``env``. The value for ``args`` may " -"be a single string or a list of strings, depending on platform." -msgstr "" - -#: ../../library/subprocess.rst:708 -msgid "Added context manager support." -msgstr "" - -#: ../../library/subprocess.rst:711 -msgid "" -"Popen destructor now emits a :exc:`ResourceWarning` warning if the child " -"process is still running." -msgstr "" - -#: ../../library/subprocess.rst:715 -msgid "" -"Popen can use :func:`os.posix_spawn` in some cases for better performance. " -"On Windows Subsystem for Linux and QEMU User Emulation, Popen constructor " -"using :func:`os.posix_spawn` no longer raise an exception on errors like " -"missing program, but the child process fails with a non-zero " -":attr:`~Popen.returncode`." -msgstr "" - -#: ../../library/subprocess.rst:724 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/subprocess.rst:726 -msgid "" -"Exceptions raised in the child process, before the new program has started " -"to execute, will be re-raised in the parent." -msgstr "" - -#: ../../library/subprocess.rst:729 -msgid "" -"The most common exception raised is :exc:`OSError`. This occurs, for " -"example, when trying to execute a non-existent file. Applications should " -"prepare for :exc:`OSError` exceptions. Note that, when ``shell=True``, " -":exc:`OSError` will be raised by the child only if the selected shell itself" -" was not found. To determine if the shell failed to find the requested " -"application, it is necessary to check the return code or output from the " -"subprocess." -msgstr "" - -#: ../../library/subprocess.rst:736 -msgid "" -"A :exc:`ValueError` will be raised if :class:`Popen` is called with invalid " -"arguments." -msgstr "" - -#: ../../library/subprocess.rst:739 -msgid "" -":func:`check_call` and :func:`check_output` will raise " -":exc:`CalledProcessError` if the called process returns a non-zero return " -"code." -msgstr "" - -#: ../../library/subprocess.rst:743 -msgid "" -"All of the functions and methods that accept a *timeout* parameter, such as " -":func:`run` and :meth:`Popen.communicate` will raise :exc:`TimeoutExpired` " -"if the timeout expires before the process exits." -msgstr "" - -#: ../../library/subprocess.rst:747 -msgid "" -"Exceptions defined in this module all inherit from :exc:`SubprocessError`." -msgstr "" - -#: ../../library/subprocess.rst:749 -msgid "The :exc:`SubprocessError` base class was added." -msgstr "" - -#: ../../library/subprocess.rst:755 -msgid "Security Considerations" -msgstr "" - -#: ../../library/subprocess.rst:757 -msgid "" -"Unlike some other popen functions, this library will not implicitly choose " -"to call a system shell. This means that all characters, including shell " -"metacharacters, can safely be passed to child processes. If the shell is " -"invoked explicitly, via ``shell=True``, it is the application's " -"responsibility to ensure that all whitespace and metacharacters are quoted " -"appropriately to avoid `shell injection " -"`_ " -"vulnerabilities. On :ref:`some platforms `, it is " -"possible to use :func:`shlex.quote` for this escaping." -msgstr "" - -#: ../../library/subprocess.rst:767 -msgid "" -"On Windows, batch files (:file:`*.bat` or :file:`*.cmd`) may be launched by " -"the operating system in a system shell regardless of the arguments passed to" -" this library. This could result in arguments being parsed according to " -"shell rules, but without any escaping added by Python. If you are " -"intentionally launching a batch file with arguments from untrusted sources, " -"consider passing ``shell=True`` to allow Python to escape special " -"characters. See :gh:`114539` for additional discussion." -msgstr "" - -#: ../../library/subprocess.rst:777 -msgid "Popen Objects" -msgstr "" - -#: ../../library/subprocess.rst:779 -msgid "Instances of the :class:`Popen` class have the following methods:" -msgstr "" - -#: ../../library/subprocess.rst:784 -msgid "" -"Check if child process has terminated. Set and return " -":attr:`~Popen.returncode` attribute. Otherwise, returns ``None``." -msgstr "" - -#: ../../library/subprocess.rst:790 -msgid "" -"Wait for child process to terminate. Set and return " -":attr:`~Popen.returncode` attribute." -msgstr "" - -#: ../../library/subprocess.rst:793 -msgid "" -"If the process does not terminate after *timeout* seconds, raise a " -":exc:`TimeoutExpired` exception. It is safe to catch this exception and " -"retry the wait." -msgstr "" - -#: ../../library/subprocess.rst:799 -msgid "" -"This will deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and the " -"child process generates enough output to a pipe such that it blocks waiting " -"for the OS pipe buffer to accept more data. Use :meth:`Popen.communicate` " -"when using pipes to avoid that." -msgstr "" - -#: ../../library/subprocess.rst:806 -msgid "" -"When the ``timeout`` parameter is not ``None``, then (on POSIX) the function" -" is implemented using a busy loop (non-blocking call and short sleeps). Use " -"the :mod:`asyncio` module for an asynchronous wait: see " -":class:`asyncio.create_subprocess_exec`." -msgstr "" - -#: ../../library/subprocess.rst:811 ../../library/subprocess.rst:852 -#: ../../library/subprocess.rst:1209 ../../library/subprocess.rst:1249 -#: ../../library/subprocess.rst:1303 -msgid "*timeout* was added." -msgstr "" - -#: ../../library/subprocess.rst:816 -msgid "" -"Interact with process: Send data to stdin. Read data from stdout and " -"stderr, until end-of-file is reached. Wait for process to terminate and set" -" the :attr:`~Popen.returncode` attribute. The optional *input* argument " -"should be data to be sent to the child process, or ``None``, if no data " -"should be sent to the child. If streams were opened in text mode, *input* " -"must be a string. Otherwise, it must be bytes." -msgstr "" - -#: ../../library/subprocess.rst:823 -msgid "" -":meth:`communicate` returns a tuple ``(stdout_data, stderr_data)``. The data" -" will be strings if streams were opened in text mode; otherwise, bytes." -msgstr "" - -#: ../../library/subprocess.rst:827 -msgid "" -"Note that if you want to send data to the process's stdin, you need to " -"create the Popen object with ``stdin=PIPE``. Similarly, to get anything " -"other than ``None`` in the result tuple, you need to give ``stdout=PIPE`` " -"and/or ``stderr=PIPE`` too." -msgstr "" - -#: ../../library/subprocess.rst:832 -msgid "" -"If the process does not terminate after *timeout* seconds, a " -":exc:`TimeoutExpired` exception will be raised. Catching this exception and" -" retrying communication will not lose any output." -msgstr "" - -#: ../../library/subprocess.rst:836 -msgid "" -"The child process is not killed if the timeout expires, so in order to " -"cleanup properly a well-behaved application should kill the child process " -"and finish communication::" -msgstr "" - -#: ../../library/subprocess.rst:840 -msgid "" -"proc = subprocess.Popen(...)\n" -"try:\n" -" outs, errs = proc.communicate(timeout=15)\n" -"except TimeoutExpired:\n" -" proc.kill()\n" -" outs, errs = proc.communicate()" -msgstr "" - -#: ../../library/subprocess.rst:849 -msgid "" -"The data read is buffered in memory, so do not use this method if the data " -"size is large or unlimited." -msgstr "" - -#: ../../library/subprocess.rst:858 -msgid "Sends the signal *signal* to the child." -msgstr "" - -#: ../../library/subprocess.rst:860 -msgid "Do nothing if the process completed." -msgstr "" - -#: ../../library/subprocess.rst:864 -msgid "" -"On Windows, SIGTERM is an alias for :meth:`terminate`. CTRL_C_EVENT and " -"CTRL_BREAK_EVENT can be sent to processes started with a *creationflags* " -"parameter which includes ``CREATE_NEW_PROCESS_GROUP``." -msgstr "" - -#: ../../library/subprocess.rst:871 -msgid "" -"Stop the child. On POSIX OSs the method sends :py:const:`~signal.SIGTERM` to" -" the child. On Windows the Win32 API function :c:func:`!TerminateProcess` is" -" called to stop the child." -msgstr "" - -#: ../../library/subprocess.rst:878 -msgid "" -"Kills the child. On POSIX OSs the function sends SIGKILL to the child. On " -"Windows :meth:`kill` is an alias for :meth:`terminate`." -msgstr "" - -#: ../../library/subprocess.rst:882 -msgid "" -"The following attributes are also set by the class for you to access. " -"Reassigning them to new values is unsupported:" -msgstr "" - -#: ../../library/subprocess.rst:887 -msgid "" -"The *args* argument as it was passed to :class:`Popen` -- a sequence of " -"program arguments or else a single string." -msgstr "" - -#: ../../library/subprocess.rst:894 -msgid "" -"If the *stdin* argument was :data:`PIPE`, this attribute is a writeable " -"stream object as returned by :func:`open`. If the *encoding* or *errors* " -"arguments were specified or the *text* or *universal_newlines* argument was " -"``True``, the stream is a text stream, otherwise it is a byte stream. If the" -" *stdin* argument was not :data:`PIPE`, this attribute is ``None``." -msgstr "" - -#: ../../library/subprocess.rst:903 -msgid "" -"If the *stdout* argument was :data:`PIPE`, this attribute is a readable " -"stream object as returned by :func:`open`. Reading from the stream provides " -"output from the child process. If the *encoding* or *errors* arguments were " -"specified or the *text* or *universal_newlines* argument was ``True``, the " -"stream is a text stream, otherwise it is a byte stream. If the *stdout* " -"argument was not :data:`PIPE`, this attribute is ``None``." -msgstr "" - -#: ../../library/subprocess.rst:913 -msgid "" -"If the *stderr* argument was :data:`PIPE`, this attribute is a readable " -"stream object as returned by :func:`open`. Reading from the stream provides " -"error output from the child process. If the *encoding* or *errors* arguments" -" were specified or the *text* or *universal_newlines* argument was ``True``," -" the stream is a text stream, otherwise it is a byte stream. If the *stderr*" -" argument was not :data:`PIPE`, this attribute is ``None``." -msgstr "" - -#: ../../library/subprocess.rst:922 -msgid "" -"Use :meth:`~Popen.communicate` rather than :attr:`.stdin.write " -"`, :attr:`.stdout.read ` or :attr:`.stderr.read " -"` to avoid deadlocks due to any of the other OS pipe buffers " -"filling up and blocking the child process." -msgstr "" - -#: ../../library/subprocess.rst:930 -msgid "The process ID of the child process." -msgstr "" - -#: ../../library/subprocess.rst:932 -msgid "" -"Note that if you set the *shell* argument to ``True``, this is the process " -"ID of the spawned shell." -msgstr "" - -#: ../../library/subprocess.rst:938 -msgid "" -"The child return code. Initially ``None``, :attr:`returncode` is set by a " -"call to the :meth:`poll`, :meth:`wait`, or :meth:`communicate` methods if " -"they detect that the process has terminated." -msgstr "" - -#: ../../library/subprocess.rst:942 -msgid "" -"A ``None`` value indicates that the process hadn't yet terminated at the " -"time of the last method call." -msgstr "" - -#: ../../library/subprocess.rst:950 -msgid "Windows Popen Helpers" -msgstr "" - -#: ../../library/subprocess.rst:952 -msgid "" -"The :class:`STARTUPINFO` class and following constants are only available on" -" Windows." -msgstr "" - -#: ../../library/subprocess.rst:958 -msgid "" -"Partial support of the Windows `STARTUPINFO `__ structure is used for :class:`Popen` " -"creation. The following attributes can be set by passing them as keyword-" -"only arguments." -msgstr "" - -#: ../../library/subprocess.rst:963 -msgid "Keyword-only argument support was added." -msgstr "" - -#: ../../library/subprocess.rst:968 -msgid "" -"A bit field that determines whether certain :class:`STARTUPINFO` attributes " -"are used when the process creates a window. ::" -msgstr "" - -#: ../../library/subprocess.rst:971 -msgid "" -"si = subprocess.STARTUPINFO()\n" -"si.dwFlags = subprocess.STARTF_USESTDHANDLES | subprocess.STARTF_USESHOWWINDOW" -msgstr "" - -#: ../../library/subprocess.rst:976 -msgid "" -"If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is" -" the standard input handle for the process. If :data:`STARTF_USESTDHANDLES` " -"is not specified, the default for standard input is the keyboard buffer." -msgstr "" - -#: ../../library/subprocess.rst:983 -msgid "" -"If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is" -" the standard output handle for the process. Otherwise, this attribute is " -"ignored and the default for standard output is the console window's buffer." -msgstr "" - -#: ../../library/subprocess.rst:990 -msgid "" -"If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is" -" the standard error handle for the process. Otherwise, this attribute is " -"ignored and the default for standard error is the console window's buffer." -msgstr "" - -#: ../../library/subprocess.rst:996 -msgid "" -"If :attr:`dwFlags` specifies :data:`STARTF_USESHOWWINDOW`, this attribute " -"can be any of the values that can be specified in the ``nCmdShow`` parameter" -" for the `ShowWindow `__ function, except for " -"``SW_SHOWDEFAULT``. Otherwise, this attribute is ignored." -msgstr "" - -#: ../../library/subprocess.rst:1003 -msgid "" -":data:`SW_HIDE` is provided for this attribute. It is used when " -":class:`Popen` is called with ``shell=True``." -msgstr "" - -#: ../../library/subprocess.rst:1008 -msgid "" -"A dictionary of additional attributes for process creation as given in " -"``STARTUPINFOEX``, see `UpdateProcThreadAttribute " -"`__." -msgstr "" - -#: ../../library/subprocess.rst:1012 -msgid "Supported attributes:" -msgstr "" - -#: ../../library/subprocess.rst:1014 -msgid "**handle_list**" -msgstr "" - -#: ../../library/subprocess.rst:1015 -msgid "" -"Sequence of handles that will be inherited. *close_fds* must be true if non-" -"empty." -msgstr "" - -#: ../../library/subprocess.rst:1018 -msgid "" -"The handles must be temporarily made inheritable by " -":func:`os.set_handle_inheritable` when passed to the :class:`Popen` " -"constructor, else :class:`OSError` will be raised with Windows error " -"``ERROR_INVALID_PARAMETER`` (87)." -msgstr "" - -#: ../../library/subprocess.rst:1025 -msgid "" -"In a multithreaded process, use caution to avoid leaking handles that are " -"marked inheritable when combining this feature with concurrent calls to " -"other process creation functions that inherit all handles such as " -":func:`os.system`. This also applies to standard handle redirection, which " -"temporarily creates inheritable handles." -msgstr "" - -#: ../../library/subprocess.rst:1035 -msgid "Windows Constants" -msgstr "" - -#: ../../library/subprocess.rst:1037 -msgid "The :mod:`subprocess` module exposes the following constants." -msgstr "" - -#: ../../library/subprocess.rst:1041 -msgid "" -"The standard input device. Initially, this is the console input buffer, " -"``CONIN$``." -msgstr "" - -#: ../../library/subprocess.rst:1046 -msgid "" -"The standard output device. Initially, this is the active console screen " -"buffer, ``CONOUT$``." -msgstr "" - -#: ../../library/subprocess.rst:1051 -msgid "" -"The standard error device. Initially, this is the active console screen " -"buffer, ``CONOUT$``." -msgstr "" - -#: ../../library/subprocess.rst:1056 -msgid "Hides the window. Another window will be activated." -msgstr "" - -#: ../../library/subprocess.rst:1060 -msgid "" -"Specifies that the :attr:`STARTUPINFO.hStdInput`, " -":attr:`STARTUPINFO.hStdOutput`, and :attr:`STARTUPINFO.hStdError` attributes" -" contain additional information." -msgstr "" - -#: ../../library/subprocess.rst:1066 -msgid "" -"Specifies that the :attr:`STARTUPINFO.wShowWindow` attribute contains " -"additional information." -msgstr "" - -#: ../../library/subprocess.rst:1071 -msgid "" -"A :attr:`STARTUPINFO.dwFlags` parameter to specify that the *Working in " -"Background* mouse cursor will be displayed while a process is launching. " -"This is the default behavior for GUI processes." -msgstr "" - -#: ../../library/subprocess.rst:1080 -msgid "" -"A :attr:`STARTUPINFO.dwFlags` parameter to specify that the mouse cursor " -"will not be changed when launching a process." -msgstr "" - -#: ../../library/subprocess.rst:1087 -msgid "" -"The new process has a new console, instead of inheriting its parent's " -"console (the default)." -msgstr "" - -#: ../../library/subprocess.rst:1092 -msgid "" -"A :class:`Popen` ``creationflags`` parameter to specify that a new process " -"group will be created. This flag is necessary for using :func:`os.kill` on " -"the subprocess." -msgstr "" - -#: ../../library/subprocess.rst:1096 -msgid "This flag is ignored if :data:`CREATE_NEW_CONSOLE` is specified." -msgstr "" - -#: ../../library/subprocess.rst:1100 -msgid "" -"A :class:`Popen` ``creationflags`` parameter to specify that a new process " -"will have an above average priority." -msgstr "" - -#: ../../library/subprocess.rst:1107 -msgid "" -"A :class:`Popen` ``creationflags`` parameter to specify that a new process " -"will have a below average priority." -msgstr "" - -#: ../../library/subprocess.rst:1114 -msgid "" -"A :class:`Popen` ``creationflags`` parameter to specify that a new process " -"will have a high priority." -msgstr "" - -#: ../../library/subprocess.rst:1121 -msgid "" -"A :class:`Popen` ``creationflags`` parameter to specify that a new process " -"will have an idle (lowest) priority." -msgstr "" - -#: ../../library/subprocess.rst:1128 -msgid "" -"A :class:`Popen` ``creationflags`` parameter to specify that a new process " -"will have a normal priority. (default)" -msgstr "" - -#: ../../library/subprocess.rst:1135 -msgid "" -"A :class:`Popen` ``creationflags`` parameter to specify that a new process " -"will have realtime priority. You should almost never use " -"REALTIME_PRIORITY_CLASS, because this interrupts system threads that manage " -"mouse input, keyboard input, and background disk flushing. This class can be" -" appropriate for applications that \"talk\" directly to hardware or that " -"perform brief tasks that should have limited interruptions." -msgstr "" - -#: ../../library/subprocess.rst:1146 -msgid "" -"A :class:`Popen` ``creationflags`` parameter to specify that a new process " -"will not create a window." -msgstr "" - -#: ../../library/subprocess.rst:1153 -msgid "" -"A :class:`Popen` ``creationflags`` parameter to specify that a new process " -"will not inherit its parent's console. This value cannot be used with " -"CREATE_NEW_CONSOLE." -msgstr "" - -#: ../../library/subprocess.rst:1161 -msgid "" -"A :class:`Popen` ``creationflags`` parameter to specify that a new process " -"does not inherit the error mode of the calling process. Instead, the new " -"process gets the default error mode. This feature is particularly useful for" -" multithreaded shell applications that run with hard errors disabled." -msgstr "" - -#: ../../library/subprocess.rst:1171 -msgid "" -"A :class:`Popen` ``creationflags`` parameter to specify that a new process " -"is not associated with the job." -msgstr "" - -#: ../../library/subprocess.rst:1179 -msgid "Older high-level API" -msgstr "" - -#: ../../library/subprocess.rst:1181 -msgid "" -"Prior to Python 3.5, these three functions comprised the high level API to " -"subprocess. You can now use :func:`run` in many cases, but lots of existing " -"code calls these functions." -msgstr "" - -#: ../../library/subprocess.rst:1188 -msgid "" -"Run the command described by *args*. Wait for command to complete, then " -"return the :attr:`~Popen.returncode` attribute." -msgstr "" - -#: ../../library/subprocess.rst:1191 ../../library/subprocess.rst:1231 -msgid "" -"Code needing to capture stdout or stderr should use :func:`run` instead::" -msgstr "" - -#: ../../library/subprocess.rst:1193 -msgid "run(...).returncode" -msgstr "" - -#: ../../library/subprocess.rst:1195 ../../library/subprocess.rst:1235 -msgid "To suppress stdout or stderr, supply a value of :data:`DEVNULL`." -msgstr "" - -#: ../../library/subprocess.rst:1197 ../../library/subprocess.rst:1237 -msgid "" -"The arguments shown above are merely some common ones. The full function " -"signature is the same as that of the :class:`Popen` constructor - this " -"function passes all supplied arguments other than *timeout* directly through" -" to that interface." -msgstr "" - -#: ../../library/subprocess.rst:1204 ../../library/subprocess.rst:1244 -msgid "" -"Do not use ``stdout=PIPE`` or ``stderr=PIPE`` with this function. The child" -" process will block if it generates enough output to a pipe to fill up the " -"OS pipe buffer as the pipes are not being read from." -msgstr "" - -#: ../../library/subprocess.rst:1224 -msgid "" -"Run command with arguments. Wait for command to complete. If the return " -"code was zero then return, otherwise raise :exc:`CalledProcessError`. The " -":exc:`CalledProcessError` object will have the return code in the " -":attr:`~CalledProcessError.returncode` attribute. If :func:`check_call` was " -"unable to start the process it will propagate the exception that was raised." -msgstr "" - -#: ../../library/subprocess.rst:1233 -msgid "run(..., check=True)" -msgstr "" - -#: ../../library/subprocess.rst:1266 -msgid "Run command with arguments and return its output." -msgstr "" - -#: ../../library/subprocess.rst:1268 -msgid "" -"If the return code was non-zero it raises a :exc:`CalledProcessError`. The " -":exc:`CalledProcessError` object will have the return code in the " -":attr:`~CalledProcessError.returncode` attribute and any output in the " -":attr:`~CalledProcessError.output` attribute." -msgstr "" - -#: ../../library/subprocess.rst:1273 -msgid "This is equivalent to::" -msgstr "Ini setara dengan::" - -#: ../../library/subprocess.rst:1275 -msgid "run(..., check=True, stdout=PIPE).stdout" -msgstr "" - -#: ../../library/subprocess.rst:1277 -msgid "" -"The arguments shown above are merely some common ones. The full function " -"signature is largely the same as that of :func:`run` - most arguments are " -"passed directly through to that interface. One API deviation from " -":func:`run` behavior exists: passing ``input=None`` will behave the same as " -"``input=b''`` (or ``input=''``, depending on other arguments) rather than " -"using the parent's standard input file handle." -msgstr "" - -#: ../../library/subprocess.rst:1284 -msgid "" -"By default, this function will return the data as encoded bytes. The actual " -"encoding of the output data may depend on the command being invoked, so the " -"decoding to text will often need to be handled at the application level." -msgstr "" - -#: ../../library/subprocess.rst:1288 -msgid "" -"This behaviour may be overridden by setting *text*, *encoding*, *errors*, or" -" *universal_newlines* to ``True`` as described in :ref:`frequently-used-" -"arguments` and :func:`run`." -msgstr "" - -#: ../../library/subprocess.rst:1292 -msgid "" -"To also capture standard error in the result, use " -"``stderr=subprocess.STDOUT``::" -msgstr "" - -#: ../../library/subprocess.rst:1295 -msgid "" -">>> subprocess.check_output(\n" -"... \"ls non_existent_file; exit 0\",\n" -"... stderr=subprocess.STDOUT,\n" -"... shell=True)\n" -"'ls: non_existent_file: No such file or directory\\n'" -msgstr "" - -#: ../../library/subprocess.rst:1306 -msgid "Support for the *input* keyword argument was added." -msgstr "" - -#: ../../library/subprocess.rst:1309 -msgid "*encoding* and *errors* were added. See :func:`run` for details." -msgstr "" - -#: ../../library/subprocess.rst:1327 -msgid "Replacing Older Functions with the :mod:`subprocess` Module" -msgstr "" - -#: ../../library/subprocess.rst:1329 -msgid "" -"In this section, \"a becomes b\" means that b can be used as a replacement " -"for a." -msgstr "" - -#: ../../library/subprocess.rst:1333 -msgid "" -"All \"a\" functions in this section fail (more or less) silently if the " -"executed program cannot be found; the \"b\" replacements raise " -":exc:`OSError` instead." -msgstr "" - -#: ../../library/subprocess.rst:1337 -msgid "" -"In addition, the replacements using :func:`check_output` will fail with a " -":exc:`CalledProcessError` if the requested operation produces a non-zero " -"return code. The output is still available as the " -":attr:`~CalledProcessError.output` attribute of the raised exception." -msgstr "" - -#: ../../library/subprocess.rst:1342 -msgid "" -"In the following examples, we assume that the relevant functions have " -"already been imported from the :mod:`subprocess` module." -msgstr "" - -#: ../../library/subprocess.rst:1347 -msgid "Replacing :program:`/bin/sh` shell command substitution" -msgstr "" - -#: ../../library/subprocess.rst:1349 -msgid "output=$(mycmd myarg)" -msgstr "" - -#: ../../library/subprocess.rst:1353 ../../library/subprocess.rst:1364 -#: ../../library/subprocess.rst:1381 -msgid "becomes::" -msgstr "" - -#: ../../library/subprocess.rst:1355 -msgid "output = check_output([\"mycmd\", \"myarg\"])" -msgstr "" - -#: ../../library/subprocess.rst:1358 -msgid "Replacing shell pipeline" -msgstr "" - -#: ../../library/subprocess.rst:1360 ../../library/subprocess.rst:1377 -msgid "output=$(dmesg | grep hda)" -msgstr "" - -#: ../../library/subprocess.rst:1366 -msgid "" -"p1 = Popen([\"dmesg\"], stdout=PIPE)\n" -"p2 = Popen([\"grep\", \"hda\"], stdin=p1.stdout, stdout=PIPE)\n" -"p1.stdout.close() # Allow p1 to receive a SIGPIPE if p2 exits.\n" -"output = p2.communicate()[0]" -msgstr "" - -#: ../../library/subprocess.rst:1371 -msgid "" -"The ``p1.stdout.close()`` call after starting the p2 is important in order " -"for p1 to receive a SIGPIPE if p2 exits before p1." -msgstr "" - -#: ../../library/subprocess.rst:1374 -msgid "" -"Alternatively, for trusted input, the shell's own pipeline support may still" -" be used directly:" -msgstr "" - -#: ../../library/subprocess.rst:1383 -msgid "output = check_output(\"dmesg | grep hda\", shell=True)" -msgstr "" - -#: ../../library/subprocess.rst:1387 -msgid "Replacing :func:`os.system`" -msgstr "" - -#: ../../library/subprocess.rst:1391 -msgid "" -"sts = os.system(\"mycmd\" + \" myarg\")\n" -"# becomes\n" -"retcode = call(\"mycmd\" + \" myarg\", shell=True)" -msgstr "" - -#: ../../library/subprocess.rst:1395 -msgid "Notes:" -msgstr "Catatan:" - -#: ../../library/subprocess.rst:1397 -msgid "Calling the program through the shell is usually not required." -msgstr "" - -#: ../../library/subprocess.rst:1398 -msgid "" -"The :func:`call` return value is encoded differently to that of " -":func:`os.system`." -msgstr "" - -#: ../../library/subprocess.rst:1401 -msgid "" -"The :func:`os.system` function ignores SIGINT and SIGQUIT signals while the " -"command is running, but the caller must do this separately when using the " -":mod:`subprocess` module." -msgstr "" - -#: ../../library/subprocess.rst:1405 -msgid "A more realistic example would look like this::" -msgstr "" - -#: ../../library/subprocess.rst:1407 -msgid "" -"try:\n" -" retcode = call(\"mycmd\" + \" myarg\", shell=True)\n" -" if retcode < 0:\n" -" print(\"Child was terminated by signal\", -retcode, file=sys.stderr)\n" -" else:\n" -" print(\"Child returned\", retcode, file=sys.stderr)\n" -"except OSError as e:\n" -" print(\"Execution failed:\", e, file=sys.stderr)" -msgstr "" - -#: ../../library/subprocess.rst:1418 -msgid "Replacing the :func:`os.spawn ` family" -msgstr "" - -#: ../../library/subprocess.rst:1420 -msgid "P_NOWAIT example::" -msgstr "" - -#: ../../library/subprocess.rst:1422 -msgid "" -"pid = os.spawnlp(os.P_NOWAIT, \"/bin/mycmd\", \"mycmd\", \"myarg\")\n" -"==>\n" -"pid = Popen([\"/bin/mycmd\", \"myarg\"]).pid" -msgstr "" - -#: ../../library/subprocess.rst:1426 -msgid "P_WAIT example::" -msgstr "" - -#: ../../library/subprocess.rst:1428 -msgid "" -"retcode = os.spawnlp(os.P_WAIT, \"/bin/mycmd\", \"mycmd\", \"myarg\")\n" -"==>\n" -"retcode = call([\"/bin/mycmd\", \"myarg\"])" -msgstr "" - -#: ../../library/subprocess.rst:1432 -msgid "Vector example::" -msgstr "" - -#: ../../library/subprocess.rst:1434 -msgid "" -"os.spawnvp(os.P_NOWAIT, path, args)\n" -"==>\n" -"Popen([path] + args[1:])" -msgstr "" - -#: ../../library/subprocess.rst:1438 -msgid "Environment example::" -msgstr "" - -#: ../../library/subprocess.rst:1440 -msgid "" -"os.spawnlpe(os.P_NOWAIT, \"/bin/mycmd\", \"mycmd\", \"myarg\", env)\n" -"==>\n" -"Popen([\"/bin/mycmd\", \"myarg\"], env={\"PATH\": \"/usr/bin\"})" -msgstr "" - -#: ../../library/subprocess.rst:1447 -msgid "Replacing :func:`os.popen`" -msgstr "" - -#: ../../library/subprocess.rst:1449 -msgid "Return code handling translates as follows::" -msgstr "" - -#: ../../library/subprocess.rst:1451 -msgid "" -"pipe = os.popen(cmd, 'w')\n" -"...\n" -"rc = pipe.close()\n" -"if rc is not None and rc >> 8:\n" -" print(\"There were some errors\")\n" -"==>\n" -"process = Popen(cmd, stdin=PIPE)\n" -"...\n" -"process.stdin.close()\n" -"if process.wait() != 0:\n" -" print(\"There were some errors\")" -msgstr "" - -#: ../../library/subprocess.rst:1465 -msgid "Legacy Shell Invocation Functions" -msgstr "" - -#: ../../library/subprocess.rst:1467 -msgid "" -"This module also provides the following legacy functions from the 2.x " -"``commands`` module. These operations implicitly invoke the system shell and" -" none of the guarantees described above regarding security and exception " -"handling consistency are valid for these functions." -msgstr "" - -#: ../../library/subprocess.rst:1474 -msgid "Return ``(exitcode, output)`` of executing *cmd* in a shell." -msgstr "" - -#: ../../library/subprocess.rst:1476 -msgid "" -"Execute the string *cmd* in a shell with :meth:`Popen.check_output` and " -"return a 2-tuple ``(exitcode, output)``. *encoding* and *errors* are used to" -" decode output; see the notes on :ref:`frequently-used-arguments` for more " -"details." -msgstr "" - -#: ../../library/subprocess.rst:1481 -msgid "" -"A trailing newline is stripped from the output. The exit code for the " -"command can be interpreted as the return code of subprocess. Example::" -msgstr "" - -#: ../../library/subprocess.rst:1485 -msgid "" -">>> subprocess.getstatusoutput('ls /bin/ls')\n" -"(0, '/bin/ls')\n" -">>> subprocess.getstatusoutput('cat /bin/junk')\n" -"(1, 'cat: /bin/junk: No such file or directory')\n" -">>> subprocess.getstatusoutput('/bin/junk')\n" -"(127, 'sh: /bin/junk: not found')\n" -">>> subprocess.getstatusoutput('/bin/kill $$')\n" -"(-15, '')" -msgstr "" - -#: ../../library/subprocess.rst:1496 -msgid "Windows support was added." -msgstr "" - -#: ../../library/subprocess.rst:1499 -msgid "" -"The function now returns (exitcode, output) instead of (status, output) as " -"it did in Python 3.3.3 and earlier. exitcode has the same value as " -":attr:`~Popen.returncode`." -msgstr "" - -#: ../../library/subprocess.rst:1508 -msgid "Return output (stdout and stderr) of executing *cmd* in a shell." -msgstr "" - -#: ../../library/subprocess.rst:1510 -msgid "" -"Like :func:`getstatusoutput`, except the exit code is ignored and the return" -" value is a string containing the command's output. Example::" -msgstr "" - -#: ../../library/subprocess.rst:1513 -msgid "" -">>> subprocess.getoutput('ls /bin/ls')\n" -"'/bin/ls'" -msgstr "" - -#: ../../library/subprocess.rst:1518 -msgid "Windows support added" -msgstr "" - -#: ../../library/subprocess.rst:1526 -msgid "Notes" -msgstr "Catatan" - -#: ../../library/subprocess.rst:1531 -msgid "Timeout Behavior" -msgstr "" - -#: ../../library/subprocess.rst:1533 -msgid "" -"When using the ``timeout`` parameter in functions like :func:`run`, " -":meth:`Popen.wait`, or :meth:`Popen.communicate`, users should be aware of " -"the following behaviors:" -msgstr "" - -#: ../../library/subprocess.rst:1537 -msgid "" -"**Process Creation Delay**: The initial process creation itself cannot be " -"interrupted on many platform APIs. This means that even when specifying a " -"timeout, you are not guaranteed to see a timeout exception until at least " -"after however long process creation takes." -msgstr "" - -#: ../../library/subprocess.rst:1542 -msgid "" -"**Extremely Small Timeout Values**: Setting very small timeout values (such " -"as a few milliseconds) may result in almost immediate :exc:`TimeoutExpired` " -"exceptions because process creation and system scheduling inherently require" -" time." -msgstr "" - -#: ../../library/subprocess.rst:1549 -msgid "Converting an argument sequence to a string on Windows" -msgstr "" - -#: ../../library/subprocess.rst:1551 -msgid "" -"On Windows, an *args* sequence is converted to a string that can be parsed " -"using the following rules (which correspond to the rules used by the MS C " -"runtime):" -msgstr "" - -#: ../../library/subprocess.rst:1555 -msgid "" -"Arguments are delimited by white space, which is either a space or a tab." -msgstr "" - -#: ../../library/subprocess.rst:1558 -msgid "" -"A string surrounded by double quotation marks is interpreted as a single " -"argument, regardless of white space contained within. A quoted string can " -"be embedded in an argument." -msgstr "" - -#: ../../library/subprocess.rst:1563 -msgid "" -"A double quotation mark preceded by a backslash is interpreted as a literal " -"double quotation mark." -msgstr "" - -#: ../../library/subprocess.rst:1566 -msgid "" -"Backslashes are interpreted literally, unless they immediately precede a " -"double quotation mark." -msgstr "" - -#: ../../library/subprocess.rst:1569 -msgid "" -"If backslashes immediately precede a double quotation mark, every pair of " -"backslashes is interpreted as a literal backslash. If the number of " -"backslashes is odd, the last backslash escapes the next double quotation " -"mark as described in rule 3." -msgstr "" - -#: ../../library/subprocess.rst:1578 -msgid ":mod:`shlex`" -msgstr "" - -#: ../../library/subprocess.rst:1579 -msgid "Module which provides function to parse and escape command lines." -msgstr "" - -#: ../../library/subprocess.rst:1585 -msgid "Disable use of ``posix_spawn()``" -msgstr "" - -#: ../../library/subprocess.rst:1587 -msgid "" -"On Linux, :mod:`subprocess` defaults to using the ``vfork()`` system call " -"internally when it is safe to do so rather than ``fork()``. This greatly " -"improves performance." -msgstr "" - -#: ../../library/subprocess.rst:1593 -msgid "subprocess._USE_POSIX_SPAWN = False # See CPython issue gh-NNNNNN." -msgstr "" - -#: ../../library/subprocess.rst:1595 -msgid "" -"It is safe to set this to false on any Python version. It will have no " -"effect on older or newer versions where unsupported. Do not assume the " -"attribute is available to read. Despite the name, a true value does not " -"indicate the corresponding function will be used, only that it may be." -msgstr "" - -#: ../../library/subprocess.rst:1600 -msgid "" -"Please file issues any time you have to use these private knobs with a way " -"to reproduce the issue you were seeing. Link to that issue from a comment in" -" your code." -msgstr "" - -#: ../../library/subprocess.rst:1604 -msgid "``_USE_POSIX_SPAWN``" -msgstr "" - -#: ../../library/subprocess.rst:296 -msgid "universal newlines" -msgstr "" - -#: ../../library/subprocess.rst:296 -msgid "subprocess module" -msgstr "" diff --git a/python-newest.library--sunau/id.po b/python-newest.library--sunau/id.po deleted file mode 100644 index a24d1dc..0000000 --- a/python-newest.library--sunau/id.po +++ /dev/null @@ -1,35 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/sunau.rst:2 -msgid ":mod:`!sunau` --- Read and write Sun AU files" -msgstr "" - -#: ../../library/sunau.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.13 ` after being deprecated in" -" Python 3.11. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/sunau.rst:14 -msgid "" -"The last version of Python that provided the :mod:`!sunau` module was " -"`Python 3.12 `_." -msgstr "" diff --git a/python-newest.library--superseded/id.po b/python-newest.library--superseded/id.po deleted file mode 100644 index e0770bb..0000000 --- a/python-newest.library--superseded/id.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Imaduddin A Majid , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/superseded.rst:5 -msgid "Superseded Modules" -msgstr "Modul yang Diganti" - -#: ../../library/superseded.rst:7 -msgid "" -"The modules described in this chapter have been superseded by other modules " -"for most use cases, and are retained primarily to preserve backwards " -"compatibility." -msgstr "" - -#: ../../library/superseded.rst:10 -msgid "" -"Modules may appear in this chapter because they only cover a limited subset " -"of a problem space, and a more generally applicable solution is available " -"elsewhere in the standard library (for example, :mod:`getopt` covers the " -"very specific task of \"mimic the C :c:func:`!getopt` API in Python\", " -"rather than the broader command line option parsing and argument parsing " -"capabilities offered by :mod:`optparse` and :mod:`argparse`)." -msgstr "" - -#: ../../library/superseded.rst:17 -msgid "" -"Alternatively, modules may appear in this chapter because they are " -"deprecated outright, and awaiting removal in a future release, or they are " -":term:`soft deprecated` and their use is actively discouraged in new " -"projects. With the removal of various obsolete modules through :pep:`594`, " -"there are currently no modules in this latter category." -msgstr "" diff --git a/python-newest.library--symtable/id.po b/python-newest.library--symtable/id.po deleted file mode 100644 index 6d38cf4..0000000 --- a/python-newest.library--symtable/id.po +++ /dev/null @@ -1,413 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/symtable.rst:2 -msgid ":mod:`!symtable` --- Access to the compiler's symbol tables" -msgstr "" - -#: ../../library/symtable.rst:7 -msgid "**Source code:** :source:`Lib/symtable.py`" -msgstr "" - -#: ../../library/symtable.rst:15 -msgid "" -"Symbol tables are generated by the compiler from AST just before bytecode is" -" generated. The symbol table is responsible for calculating the scope of " -"every identifier in the code. :mod:`symtable` provides an interface to " -"examine these tables." -msgstr "" - -#: ../../library/symtable.rst:22 -msgid "Generating Symbol Tables" -msgstr "" - -#: ../../library/symtable.rst:26 -msgid "" -"Return the toplevel :class:`SymbolTable` for the Python source *code*. " -"*filename* is the name of the file containing the code. *compile_type* is " -"like the *mode* argument to :func:`compile`." -msgstr "" - -#: ../../library/symtable.rst:32 -msgid "Examining Symbol Tables" -msgstr "" - -#: ../../library/symtable.rst:36 -msgid "An enumeration indicating the type of a :class:`SymbolTable` object." -msgstr "" - -#: ../../library/symtable.rst:41 -msgid "Used for the symbol table of a module." -msgstr "" - -#: ../../library/symtable.rst:46 -msgid "Used for the symbol table of a function." -msgstr "" - -#: ../../library/symtable.rst:51 -msgid "Used for the symbol table of a class." -msgstr "" - -#: ../../library/symtable.rst:53 -msgid "" -"The following members refer to different flavors of :ref:`annotation scopes " -"`." -msgstr "" - -#: ../../library/symtable.rst:59 -msgid "" -"Used for annotations if ``from __future__ import annotations`` is active." -msgstr "" - -#: ../../library/symtable.rst:64 -msgid "Used for the symbol table of :keyword:`type` constructions." -msgstr "" - -#: ../../library/symtable.rst:69 -msgid "" -"Used for the symbol table of :ref:`generic functions ` or" -" :ref:`generic classes `." -msgstr "" - -#: ../../library/symtable.rst:75 -msgid "" -"Used for the symbol table of the bound, the constraint tuple or the default " -"value of a single type variable in the formal sense, i.e., a TypeVar, a " -"TypeVarTuple or a ParamSpec object (the latter two do not support a bound or" -" a constraint tuple)." -msgstr "" - -#: ../../library/symtable.rst:84 -msgid "A namespace table for a block. The constructor is not public." -msgstr "" - -#: ../../library/symtable.rst:88 -msgid "" -"Return the type of the symbol table. Possible values are members of the " -":class:`SymbolTableType` enumeration." -msgstr "" - -#: ../../library/symtable.rst:91 -msgid "" -"Added ``'annotation'``, ``'TypeVar bound'``, ``'type alias'``, and ``'type " -"parameter'`` as possible return values." -msgstr "" - -#: ../../library/symtable.rst:95 -msgid "Return values are members of the :class:`SymbolTableType` enumeration." -msgstr "" - -#: ../../library/symtable.rst:98 -msgid "" -"The exact values of the returned string may change in the future, and thus, " -"it is recommended to use :class:`SymbolTableType` members instead of hard-" -"coded strings." -msgstr "" - -#: ../../library/symtable.rst:104 -msgid "Return the table's identifier." -msgstr "" - -#: ../../library/symtable.rst:108 -msgid "" -"Return the table's name. This is the name of the class if the table is for " -"a class, the name of the function if the table is for a function, or " -"``'top'`` if the table is global (:meth:`get_type` returns ``'module'``). " -"For type parameter scopes (which are used for generic classes, functions, " -"and type aliases), it is the name of the underlying class, function, or type" -" alias. For type alias scopes, it is the name of the type alias. For " -":class:`~typing.TypeVar` bound scopes, it is the name of the ``TypeVar``." -msgstr "" - -#: ../../library/symtable.rst:118 -msgid "" -"Return the number of the first line in the block this table represents." -msgstr "" - -#: ../../library/symtable.rst:122 -msgid "Return ``True`` if the locals in this table can be optimized." -msgstr "" - -#: ../../library/symtable.rst:126 -msgid "Return ``True`` if the block is a nested class or function." -msgstr "" - -#: ../../library/symtable.rst:130 -msgid "" -"Return ``True`` if the block has nested namespaces within it. These can be " -"obtained with :meth:`get_children`." -msgstr "" - -#: ../../library/symtable.rst:135 -msgid "" -"Return a view object containing the names of symbols in the table. See the " -":ref:`documentation of view objects `." -msgstr "" - -#: ../../library/symtable.rst:140 -msgid "Lookup *name* in the table and return a :class:`Symbol` instance." -msgstr "" - -#: ../../library/symtable.rst:144 -msgid "Return a list of :class:`Symbol` instances for names in the table." -msgstr "" - -#: ../../library/symtable.rst:148 -msgid "Return a list of the nested symbol tables." -msgstr "" - -#: ../../library/symtable.rst:153 -msgid "" -"A namespace for a function or method. This class inherits from " -":class:`SymbolTable`." -msgstr "" - -#: ../../library/symtable.rst:158 -msgid "Return a tuple containing names of parameters to this function." -msgstr "" - -#: ../../library/symtable.rst:162 -msgid "Return a tuple containing names of locals in this function." -msgstr "" - -#: ../../library/symtable.rst:166 -msgid "Return a tuple containing names of globals in this function." -msgstr "" - -#: ../../library/symtable.rst:170 -msgid "" -"Return a tuple containing names of explicitly declared nonlocals in this " -"function." -msgstr "" - -#: ../../library/symtable.rst:174 -msgid "" -"Return a tuple containing names of :term:`free (closure) variables ` in this function." -msgstr "" - -#: ../../library/symtable.rst:180 -msgid "" -"A namespace of a class. This class inherits from :class:`SymbolTable`." -msgstr "" - -#: ../../library/symtable.rst:184 -msgid "" -"Return a tuple containing the names of method-like functions declared in the" -" class." -msgstr "" - -#: ../../library/symtable.rst:187 -msgid "" -"Here, the term 'method' designates *any* function defined in the class body " -"via :keyword:`def` or :keyword:`async def`." -msgstr "" - -#: ../../library/symtable.rst:190 -msgid "" -"Functions defined in a deeper scope (e.g., in an inner class) are not picked" -" up by :meth:`get_methods`." -msgstr "" - -#: ../../library/symtable.rst:193 -msgid "For example:" -msgstr "Sebagai contoh:" - -#: ../../library/symtable.rst:206 -msgid "" -">>> import symtable\n" -">>> st = symtable.symtable('''\n" -"... def outer(): pass\n" -"...\n" -"... class A:\n" -"... def f():\n" -"... def w(): pass\n" -"...\n" -"... def g(self): pass\n" -"...\n" -"... @classmethod\n" -"... async def h(cls): pass\n" -"...\n" -"... global outer\n" -"... def outer(self): pass\n" -"... ''', 'test', 'exec')\n" -">>> class_A = st.get_children()[2]\n" -">>> class_A.get_methods()\n" -"('f', 'g', 'h')" -msgstr "" - -#: ../../library/symtable.rst:228 -msgid "" -"Although ``A().f()`` raises :exc:`TypeError` at runtime, ``A.f`` is still " -"considered as a method-like function." -msgstr "" - -#: ../../library/symtable.rst:236 -msgid "" -"An entry in a :class:`SymbolTable` corresponding to an identifier in the " -"source. The constructor is not public." -msgstr "" - -#: ../../library/symtable.rst:241 -msgid "Return the symbol's name." -msgstr "" - -#: ../../library/symtable.rst:245 -msgid "Return ``True`` if the symbol is used in its block." -msgstr "" - -#: ../../library/symtable.rst:249 -msgid "Return ``True`` if the symbol is created from an import statement." -msgstr "" - -#: ../../library/symtable.rst:253 -msgid "Return ``True`` if the symbol is a parameter." -msgstr "" - -#: ../../library/symtable.rst:257 -msgid "Return ``True`` if the symbol is a type parameter." -msgstr "" - -#: ../../library/symtable.rst:263 -msgid "Return ``True`` if the symbol is global." -msgstr "" - -#: ../../library/symtable.rst:267 -msgid "Return ``True`` if the symbol is nonlocal." -msgstr "" - -#: ../../library/symtable.rst:271 -msgid "" -"Return ``True`` if the symbol is declared global with a global statement." -msgstr "" - -#: ../../library/symtable.rst:275 -msgid "Return ``True`` if the symbol is local to its block." -msgstr "" - -#: ../../library/symtable.rst:279 -msgid "Return ``True`` if the symbol is annotated." -msgstr "" - -#: ../../library/symtable.rst:285 -msgid "" -"Return ``True`` if the symbol is referenced in its block, but not assigned " -"to." -msgstr "" - -#: ../../library/symtable.rst:290 -msgid "" -"Return *True* if a class-scoped symbol is free from the perspective of a " -"method." -msgstr "" - -#: ../../library/symtable.rst:293 -msgid "Consider the following example::" -msgstr "" - -#: ../../library/symtable.rst:295 -msgid "" -"def f():\n" -" x = 1 # function-scoped\n" -" class C:\n" -" x = 2 # class-scoped\n" -" def method(self):\n" -" return x" -msgstr "" - -#: ../../library/symtable.rst:302 -msgid "" -"In this example, the class-scoped symbol ``x`` is considered to be free from" -" the perspective of ``C.method``, thereby allowing the latter to return *1* " -"at runtime and not *2*." -msgstr "" - -#: ../../library/symtable.rst:310 -msgid "Return ``True`` if the symbol is assigned to in its block." -msgstr "" - -#: ../../library/symtable.rst:314 -msgid "Return ``True`` if the symbol is a comprehension iteration variable." -msgstr "" - -#: ../../library/symtable.rst:320 -msgid "Return ``True`` if the symbol is a cell in an inlined comprehension." -msgstr "" - -#: ../../library/symtable.rst:326 -msgid "Return ``True`` if name binding introduces new namespace." -msgstr "" - -#: ../../library/symtable.rst:328 -msgid "" -"If the name is used as the target of a function or class statement, this " -"will be true." -msgstr "" - -#: ../../library/symtable.rst:331 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../library/symtable.rst:333 -msgid "" -">>> table = symtable.symtable(\"def some_func(): pass\", \"string\", \"exec\")\n" -">>> table.lookup(\"some_func\").is_namespace()\n" -"True" -msgstr "" - -#: ../../library/symtable.rst:337 -msgid "" -"Note that a single name can be bound to multiple objects. If the result is " -"``True``, the name may also be bound to other objects, like an int or list, " -"that does not introduce a new namespace." -msgstr "" - -#: ../../library/symtable.rst:343 -msgid "Return a list of namespaces bound to this name." -msgstr "" - -#: ../../library/symtable.rst:347 -msgid "" -"Return the namespace bound to this name. If more than one or no namespace is" -" bound to this name, a :exc:`ValueError` is raised." -msgstr "" - -#: ../../library/symtable.rst:354 -msgid "Command-Line Usage" -msgstr "" - -#: ../../library/symtable.rst:358 -msgid "" -"The :mod:`symtable` module can be executed as a script from the command " -"line." -msgstr "" - -#: ../../library/symtable.rst:360 -msgid "python -m symtable [infile...]" -msgstr "" - -#: ../../library/symtable.rst:364 -msgid "" -"Symbol tables are generated for the specified Python source files and dumped" -" to stdout. If no input file is specified, the content is read from stdin." -msgstr "" diff --git a/python-newest.library--sys/id.po b/python-newest.library--sys/id.po deleted file mode 100644 index d46cc66..0000000 --- a/python-newest.library--sys/id.po +++ /dev/null @@ -1,2917 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/sys.rst:2 -msgid ":mod:`!sys` --- System-specific parameters and functions" -msgstr "" - -#: ../../library/sys.rst:9 -msgid "" -"This module provides access to some variables used or maintained by the " -"interpreter and to functions that interact strongly with the interpreter. It" -" is always available. Unless explicitly noted otherwise, all variables are " -"read-only." -msgstr "" - -#: ../../library/sys.rst:16 -msgid "" -"On POSIX systems where Python was built with the standard ``configure`` " -"script, this contains the ABI flags as specified by :pep:`3149`." -msgstr "" - -#: ../../library/sys.rst:21 -msgid "" -"Default flags became an empty string (``m`` flag for pymalloc has been " -"removed)." -msgstr "" - -#: ../../library/sys.rst:25 ../../library/sys.rst:298 -#: ../../library/sys.rst:368 ../../library/sys.rst:789 -#: ../../library/sys.rst:807 ../../library/sys.rst:1054 -#: ../../library/sys.rst:1648 ../../library/sys.rst:1891 -#: ../../library/sys.rst:1906 ../../library/sys.rst:1914 -#: ../../library/sys.rst:1936 ../../library/sys.rst:1952 -#: ../../library/sys.rst:2196 -msgid "Availability" -msgstr "" - -#: ../../library/sys.rst:30 -msgid "" -"Append the callable *hook* to the list of active auditing hooks for the " -"current (sub)interpreter." -msgstr "" - -#: ../../library/sys.rst:33 -msgid "" -"When an auditing event is raised through the :func:`sys.audit` function, " -"each hook will be called in the order it was added with the event name and " -"the tuple of arguments. Native hooks added by :c:func:`PySys_AddAuditHook` " -"are called first, followed by hooks added in the current (sub)interpreter. " -"Hooks can then log the event, raise an exception to abort the operation, or " -"terminate the process entirely." -msgstr "" - -#: ../../library/sys.rst:40 -msgid "" -"Note that audit hooks are primarily for collecting information about " -"internal or otherwise unobservable actions, whether by Python or libraries " -"written in Python. They are not suitable for implementing a \"sandbox\". In " -"particular, malicious code can trivially disable or bypass hooks added using" -" this function. At a minimum, any security-sensitive hooks must be added " -"using the C API :c:func:`PySys_AddAuditHook` before initialising the " -"runtime, and any modules allowing arbitrary memory modification (such as " -":mod:`ctypes`) should be completely removed or closely monitored." -msgstr "" - -#: ../../library/sys.rst:49 ../../library/sys.rst:51 -msgid "" -"Calling :func:`sys.addaudithook` will itself raise an auditing event named " -"``sys.addaudithook`` with no arguments. If any existing hooks raise an " -"exception derived from :class:`RuntimeError`, the new hook will not be added" -" and the exception suppressed. As a result, callers cannot assume that their" -" hook has been added unless they control all existing hooks." -msgstr "" - -#: ../../library/sys.rst:58 -msgid "" -"See the :ref:`audit events table ` for all events raised by " -"CPython, and :pep:`578` for the original design discussion." -msgstr "" - -#: ../../library/sys.rst:65 -msgid "" -"Exceptions derived from :class:`Exception` but not :class:`RuntimeError` are" -" no longer suppressed." -msgstr "" - -#: ../../library/sys.rst:70 -msgid "" -"When tracing is enabled (see :func:`settrace`), Python hooks are only traced" -" if the callable has a ``__cantrace__`` member that is set to a true value. " -"Otherwise, trace functions will skip the hook." -msgstr "" - -#: ../../library/sys.rst:77 -msgid "" -"The list of command line arguments passed to a Python script. ``argv[0]`` is" -" the script name (it is operating system dependent whether this is a full " -"pathname or not). If the command was executed using the :option:`-c` " -"command line option to the interpreter, ``argv[0]`` is set to the string " -"``'-c'``. If no script name was passed to the Python interpreter, " -"``argv[0]`` is the empty string." -msgstr "" - -#: ../../library/sys.rst:83 -msgid "" -"To loop over the standard input, or the list of files given on the command " -"line, see the :mod:`fileinput` module." -msgstr "" - -#: ../../library/sys.rst:86 -msgid "See also :data:`sys.orig_argv`." -msgstr "" - -#: ../../library/sys.rst:89 -msgid "" -"On Unix, command line arguments are passed by bytes from OS. Python decodes" -" them with filesystem encoding and \"surrogateescape\" error handler. When " -"you need original bytes, you can get it by ``[os.fsencode(arg) for arg in " -"sys.argv]``." -msgstr "" - -#: ../../library/sys.rst:101 -msgid "" -"Raise an auditing event and trigger any active auditing hooks. *event* is a " -"string identifying the event, and *args* may contain optional arguments with" -" more information about the event. The number and types of arguments for a " -"given event are considered a public and stable API and should not be " -"modified between releases." -msgstr "" - -#: ../../library/sys.rst:107 -msgid "" -"For example, one auditing event is named ``os.chdir``. This event has one " -"argument called *path* that will contain the requested new working " -"directory." -msgstr "" - -#: ../../library/sys.rst:111 -msgid "" -":func:`sys.audit` will call the existing auditing hooks, passing the event " -"name and arguments, and will re-raise the first exception from any hook. In " -"general, if an exception is raised, it should not be handled and the process" -" should be terminated as quickly as possible. This allows hook " -"implementations to decide how to respond to particular events: they can " -"merely log the event or abort the operation by raising an exception." -msgstr "" - -#: ../../library/sys.rst:119 -msgid "" -"Hooks are added using the :func:`sys.addaudithook` or " -":c:func:`PySys_AddAuditHook` functions." -msgstr "" - -#: ../../library/sys.rst:122 -msgid "" -"The native equivalent of this function is :c:func:`PySys_Audit`. Using the " -"native function is preferred when possible." -msgstr "" - -#: ../../library/sys.rst:125 -msgid "" -"See the :ref:`audit events table ` for all events raised by " -"CPython." -msgstr "" - -#: ../../library/sys.rst:133 -msgid "" -"Equivalent to :data:`exec_prefix`, but referring to the base Python " -"installation." -msgstr "" - -#: ../../library/sys.rst:135 -msgid "" -"When running under :ref:`sys-path-init-virtual-environments`, " -":data:`exec_prefix` gets overwritten to the virtual environment prefix. " -":data:`base_exec_prefix`, conversely, does not change, and always points to " -"the base Python installation. Refer to :ref:`sys-path-init-virtual-" -"environments` for more information." -msgstr "" - -#: ../../library/sys.rst:146 -msgid "" -"Equivalent to :data:`prefix`, but referring to the base Python installation." -msgstr "" - -#: ../../library/sys.rst:148 -msgid "" -"When running under :ref:`virtual environment `, :data:`prefix` " -"gets overwritten to the virtual environment prefix. :data:`base_prefix`, " -"conversely, does not change, and always points to the base Python " -"installation. Refer to :ref:`sys-path-init-virtual-environments` for more " -"information." -msgstr "" - -#: ../../library/sys.rst:159 -msgid "" -"An indicator of the native byte order. This will have the value ``'big'`` " -"on big-endian (most-significant byte first) platforms, and ``'little'`` on " -"little-endian (least-significant byte first) platforms." -msgstr "" - -#: ../../library/sys.rst:166 -msgid "" -"A tuple of strings containing the names of all modules that are compiled " -"into this Python interpreter. (This information is not available in any " -"other way --- ``modules.keys()`` only lists the imported modules.)" -msgstr "" - -#: ../../library/sys.rst:170 -msgid "See also the :data:`sys.stdlib_module_names` list." -msgstr "" - -#: ../../library/sys.rst:175 -msgid "" -"Call ``func(*args)``, while tracing is enabled. The tracing state is saved," -" and restored afterwards. This is intended to be called from a debugger " -"from a checkpoint, to recursively debug or profile some other code." -msgstr "" - -#: ../../library/sys.rst:179 -msgid "" -"Tracing is suspended while calling a tracing function set by " -":func:`settrace` or :func:`setprofile` to avoid infinite recursion. " -":func:`!call_tracing` enables explicit recursion of the tracing function." -msgstr "" - -#: ../../library/sys.rst:186 -msgid "" -"A string containing the copyright pertaining to the Python interpreter." -msgstr "" - -#: ../../library/sys.rst:191 -msgid "" -"Clear the internal type cache. The type cache is used to speed up attribute " -"and method lookups. Use the function *only* to drop unnecessary references " -"during reference leak debugging." -msgstr "" - -#: ../../library/sys.rst:195 ../../library/sys.rst:222 -#: ../../library/sys.rst:235 -msgid "" -"This function should be used for internal and specialized purposes only." -msgstr "" - -#: ../../library/sys.rst:197 -msgid "Use the more general :func:`_clear_internal_caches` function instead." -msgstr "" - -#: ../../library/sys.rst:203 -msgid "" -"Clear all internal performance-related caches. Use this function *only* to " -"release unnecessary references and memory blocks when hunting for leaks." -msgstr "" - -#: ../../library/sys.rst:211 -msgid "" -"Return a dictionary mapping each thread's identifier to the topmost stack " -"frame currently active in that thread at the time the function is called. " -"Note that functions in the :mod:`traceback` module can build the call stack " -"given such a frame." -msgstr "" - -#: ../../library/sys.rst:216 -msgid "" -"This is most useful for debugging deadlock: this function does not require " -"the deadlocked threads' cooperation, and such threads' call stacks are " -"frozen for as long as they remain deadlocked. The frame returned for a non-" -"deadlocked thread may bear no relationship to that thread's current activity" -" by the time calling code examines the frame." -msgstr "" - -#: ../../library/sys.rst:224 -msgid "" -"Raises an :ref:`auditing event ` ``sys._current_frames`` with no " -"arguments." -msgstr "" - -#: ../../library/sys.rst:228 -msgid "" -"Return a dictionary mapping each thread's identifier to the topmost " -"exception currently active in that thread at the time the function is " -"called. If a thread is not currently handling an exception, it is not " -"included in the result dictionary." -msgstr "" - -#: ../../library/sys.rst:233 -msgid "This is most useful for statistical profiling." -msgstr "" - -#: ../../library/sys.rst:237 -msgid "" -"Raises an :ref:`auditing event ` ``sys._current_exceptions`` with " -"no arguments." -msgstr "" - -#: ../../library/sys.rst:239 -msgid "" -"Each value in the dictionary is now a single exception instance, rather than" -" a 3-tuple as returned from ``sys.exc_info()``." -msgstr "" - -#: ../../library/sys.rst:245 -msgid "" -"This hook function is called by built-in :func:`breakpoint`. By default, it" -" drops you into the :mod:`pdb` debugger, but it can be set to any other " -"function so that you can choose which debugger gets used." -msgstr "" - -#: ../../library/sys.rst:249 -msgid "" -"The signature of this function is dependent on what it calls. For example, " -"the default binding (e.g. ``pdb.set_trace()``) expects no arguments, but you" -" might bind it to a function that expects additional arguments (positional " -"and/or keyword). The built-in ``breakpoint()`` function passes its " -"``*args`` and ``**kws`` straight through. Whatever ``breakpointhooks()`` " -"returns is returned from ``breakpoint()``." -msgstr "" - -#: ../../library/sys.rst:256 -msgid "" -"The default implementation first consults the environment variable " -":envvar:`PYTHONBREAKPOINT`. If that is set to ``\"0\"`` then this function " -"returns immediately; i.e. it is a no-op. If the environment variable is not" -" set, or is set to the empty string, ``pdb.set_trace()`` is called. " -"Otherwise this variable should name a function to run, using Python's " -"dotted-import nomenclature, e.g. ``package.subpackage.module.function``. In " -"this case, ``package.subpackage.module`` would be imported and the resulting" -" module must have a callable named ``function()``. This is run, passing in " -"``*args`` and ``**kws``, and whatever ``function()`` returns, " -"``sys.breakpointhook()`` returns to the built-in :func:`breakpoint` " -"function." -msgstr "" - -#: ../../library/sys.rst:268 -msgid "" -"Note that if anything goes wrong while importing the callable named by " -":envvar:`PYTHONBREAKPOINT`, a :exc:`RuntimeWarning` is reported and the " -"breakpoint is ignored." -msgstr "" - -#: ../../library/sys.rst:272 -msgid "" -"Also note that if ``sys.breakpointhook()`` is overridden programmatically, " -":envvar:`PYTHONBREAKPOINT` is *not* consulted." -msgstr "" - -#: ../../library/sys.rst:279 -msgid "" -"Print low-level information to stderr about the state of CPython's memory " -"allocator." -msgstr "" - -#: ../../library/sys.rst:282 -msgid "" -"If Python is :ref:`built in debug mode ` (:option:`configure " -"--with-pydebug option <--with-pydebug>`), it also performs some expensive " -"internal consistency checks." -msgstr "" - -#: ../../library/sys.rst:290 -msgid "" -"This function is specific to CPython. The exact output format is not " -"defined here, and may change." -msgstr "" - -#: ../../library/sys.rst:296 -msgid "Integer specifying the handle of the Python DLL." -msgstr "" - -#: ../../library/sys.rst:303 -msgid "" -"If *value* is not ``None``, this function prints ``repr(value)`` to " -"``sys.stdout``, and saves *value* in ``builtins._``. If ``repr(value)`` is " -"not encodable to ``sys.stdout.encoding`` with ``sys.stdout.errors`` error " -"handler (which is probably ``'strict'``), encode it to " -"``sys.stdout.encoding`` with ``'backslashreplace'`` error handler." -msgstr "" - -#: ../../library/sys.rst:309 -msgid "" -"``sys.displayhook`` is called on the result of evaluating an " -":term:`expression` entered in an interactive Python session. The display of" -" these values can be customized by assigning another one-argument function " -"to ``sys.displayhook``." -msgstr "" - -#: ../../library/sys.rst:313 -msgid "Pseudo-code::" -msgstr "" - -#: ../../library/sys.rst:315 -msgid "" -"def displayhook(value):\n" -" if value is None:\n" -" return\n" -" # Set '_' to None to avoid recursion\n" -" builtins._ = None\n" -" text = repr(value)\n" -" try:\n" -" sys.stdout.write(text)\n" -" except UnicodeEncodeError:\n" -" bytes = text.encode(sys.stdout.encoding, 'backslashreplace')\n" -" if hasattr(sys.stdout, 'buffer'):\n" -" sys.stdout.buffer.write(bytes)\n" -" else:\n" -" text = bytes.decode(sys.stdout.encoding, 'strict')\n" -" sys.stdout.write(text)\n" -" sys.stdout.write(\"\\n\")\n" -" builtins._ = value" -msgstr "" - -#: ../../library/sys.rst:333 -msgid "Use ``'backslashreplace'`` error handler on :exc:`UnicodeEncodeError`." -msgstr "" - -#: ../../library/sys.rst:339 -msgid "" -"If this is true, Python won't try to write ``.pyc`` files on the import of " -"source modules. This value is initially set to ``True`` or ``False`` " -"depending on the :option:`-B` command line option and the " -":envvar:`PYTHONDONTWRITEBYTECODE` environment variable, but you can set it " -"yourself to control bytecode file generation." -msgstr "" - -#: ../../library/sys.rst:348 -msgid "" -"A :term:`named tuple` holding information about the environment on the " -"*wasm32-emscripten* platform. The named tuple is provisional and may change " -"in the future." -msgstr "" - -#: ../../library/sys.rst:354 -msgid "" -"Emscripten version as tuple of ints (major, minor, micro), e.g. ``(3, 1, " -"8)``." -msgstr "" - -#: ../../library/sys.rst:358 -msgid "" -"Runtime string, e.g. browser user agent, ``'Node.js v14.18.2'``, or " -"``'UNKNOWN'``." -msgstr "" - -#: ../../library/sys.rst:362 -msgid "``True`` if Python is compiled with Emscripten pthreads support." -msgstr "" - -#: ../../library/sys.rst:366 -msgid "``True`` if Python is compiled with shared memory support." -msgstr "" - -#: ../../library/sys.rst:375 -msgid "" -"If this is set (not ``None``), Python will write bytecode-cache ``.pyc`` " -"files to (and read them from) a parallel directory tree rooted at this " -"directory, rather than from ``__pycache__`` directories in the source code " -"tree. Any ``__pycache__`` directories in the source code tree will be " -"ignored and new ``.pyc`` files written within the pycache prefix. Thus if " -"you use :mod:`compileall` as a pre-build step, you must ensure you run it " -"with the same pycache prefix (if any) that you will use at runtime." -msgstr "" - -#: ../../library/sys.rst:383 -msgid "" -"A relative path is interpreted relative to the current working directory." -msgstr "" - -#: ../../library/sys.rst:385 -msgid "" -"This value is initially set based on the value of the :option:`-X` " -"``pycache_prefix=PATH`` command-line option or the " -":envvar:`PYTHONPYCACHEPREFIX` environment variable (command-line takes " -"precedence). If neither are set, it is ``None``." -msgstr "" - -#: ../../library/sys.rst:395 -msgid "" -"This function prints out a given traceback and exception to ``sys.stderr``." -msgstr "" - -#: ../../library/sys.rst:397 -msgid "" -"When an exception other than :exc:`SystemExit` is raised and uncaught, the " -"interpreter calls ``sys.excepthook`` with three arguments, the exception " -"class, exception instance, and a traceback object. In an interactive " -"session this happens just before control is returned to the prompt; in a " -"Python program this happens just before the program exits. The handling of " -"such top-level exceptions can be customized by assigning another three-" -"argument function to ``sys.excepthook``." -msgstr "" - -#: ../../library/sys.rst:404 ../../library/sys.rst:406 -msgid "" -"Raise an auditing event ``sys.excepthook`` with arguments ``hook``, " -"``type``, ``value``, ``traceback`` when an uncaught exception occurs. If no " -"hook has been set, ``hook`` may be ``None``. If any hook raises an exception" -" derived from :class:`RuntimeError` the call to the hook will be suppressed." -" Otherwise, the audit hook exception will be reported as unraisable and " -"``sys.excepthook`` will be called." -msgstr "" - -#: ../../library/sys.rst:415 -msgid "" -"The :func:`sys.unraisablehook` function handles unraisable exceptions and " -"the :func:`threading.excepthook` function handles exception raised by " -":func:`threading.Thread.run`." -msgstr "" - -#: ../../library/sys.rst:425 -msgid "" -"These objects contain the original values of ``breakpointhook``, " -"``displayhook``, ``excepthook``, and ``unraisablehook`` at the start of the " -"program. They are saved so that ``breakpointhook``, ``displayhook`` and " -"``excepthook``, ``unraisablehook`` can be restored in case they happen to " -"get replaced with broken or alternative objects." -msgstr "" - -#: ../../library/sys.rst:431 -msgid "__breakpointhook__" -msgstr "" - -#: ../../library/sys.rst:434 -msgid "__unraisablehook__" -msgstr "" - -#: ../../library/sys.rst:440 -msgid "" -"This function, when called while an exception handler is executing (such as " -"an ``except`` or ``except*`` clause), returns the exception instance that " -"was caught by this handler. When exception handlers are nested within one " -"another, only the exception handled by the innermost handler is accessible." -msgstr "" - -#: ../../library/sys.rst:445 -msgid "If no exception handler is executing, this function returns ``None``." -msgstr "" - -#: ../../library/sys.rst:452 -msgid "" -"This function returns the old-style representation of the handled exception." -" If an exception ``e`` is currently handled (so :func:`exception` would " -"return ``e``), :func:`exc_info` returns the tuple ``(type(e), e, " -"e.__traceback__)``. That is, a tuple containing the type of the exception (a" -" subclass of :exc:`BaseException`), the exception itself, and a " -":ref:`traceback object ` which typically encapsulates the" -" call stack at the point where the exception last occurred." -msgstr "" - -#: ../../library/sys.rst:463 -msgid "" -"If no exception is being handled anywhere on the stack, this function return" -" a tuple containing three ``None`` values." -msgstr "" - -#: ../../library/sys.rst:466 -msgid "" -"The ``type`` and ``traceback`` fields are now derived from the ``value`` " -"(the exception instance), so when an exception is modified while it is being" -" handled, the changes are reflected in the results of subsequent calls to " -":func:`exc_info`." -msgstr "" - -#: ../../library/sys.rst:474 -msgid "" -"A string giving the site-specific directory prefix where the platform-" -"dependent Python files are installed; by default, this is also " -"``'/usr/local'``. This can be set at build time with the ``--exec-prefix`` " -"argument to the :program:`configure` script. Specifically, all " -"configuration files (e.g. the :file:`pyconfig.h` header file) are installed " -"in the directory :file:`{exec_prefix}/lib/python{X.Y}/config`, and shared " -"library modules are installed in :file:`{exec_prefix}/lib/python{X.Y}/lib-" -"dynload`, where *X.Y* is the version number of Python, for example ``3.2``." -msgstr "" - -#: ../../library/sys.rst:485 -msgid "" -"If a :ref:`virtual environment ` is in effect, this " -":data:`exec_prefix` will point to the virtual environment. The value for the" -" Python installation will still be available, via :data:`base_exec_prefix`. " -"Refer to :ref:`sys-path-init-virtual-environments` for more information." -msgstr "" - -#: ../../library/sys.rst:492 ../../library/sys.rst:1613 -msgid "" -"When running under a :ref:`virtual environment `, :data:`prefix` " -"and :data:`exec_prefix` are now set to the virtual environment prefix by the" -" :ref:`path initialization `, instead of :mod:`site`. This " -"means that :data:`prefix` and :data:`exec_prefix` always point to the " -"virtual environment, even when :mod:`site` is disabled (:option:`-S`)." -msgstr "" - -#: ../../library/sys.rst:501 -msgid "" -"A string giving the absolute path of the executable binary for the Python " -"interpreter, on systems where this makes sense. If Python is unable to " -"retrieve the real path to its executable, :data:`sys.executable` will be an " -"empty string or ``None``." -msgstr "" - -#: ../../library/sys.rst:509 -msgid "" -"Raise a :exc:`SystemExit` exception, signaling an intention to exit the " -"interpreter." -msgstr "" - -#: ../../library/sys.rst:511 -msgid "" -"The optional argument *arg* can be an integer giving the exit status " -"(defaulting to zero), or another type of object. If it is an integer, zero " -"is considered \"successful termination\" and any nonzero value is considered" -" \"abnormal termination\" by shells and the like. Most systems require it " -"to be in the range 0--127, and produce undefined results otherwise. Some " -"systems have a convention for assigning specific meanings to specific exit " -"codes, but these are generally underdeveloped; Unix programs generally use 2" -" for command line syntax errors and 1 for all other kind of errors. If " -"another type of object is passed, ``None`` is equivalent to passing zero, " -"and any other object is printed to :data:`stderr` and results in an exit " -"code of 1. In particular, ``sys.exit(\"some error message\")`` is a quick " -"way to exit a program when an error occurs." -msgstr "" - -#: ../../library/sys.rst:524 -msgid "" -"Since :func:`exit` ultimately \"only\" raises an exception, it will only " -"exit the process when called from the main thread, and the exception is not " -"intercepted. Cleanup actions specified by finally clauses of :keyword:`try` " -"statements are honored, and it is possible to intercept the exit attempt at " -"an outer level." -msgstr "" - -#: ../../library/sys.rst:529 -msgid "" -"If an error occurs in the cleanup after the Python interpreter has caught " -":exc:`SystemExit` (such as an error flushing buffered data in the standard " -"streams), the exit status is changed to 120." -msgstr "" - -#: ../../library/sys.rst:537 -msgid "" -"The :term:`named tuple` *flags* exposes the status of command line flags. " -"Flags should only be accessed only by name and not by index. The attributes" -" are read only." -msgstr "" - -#: ../../library/sys.rst:544 -msgid ":option:`-d`" -msgstr ":option:`-d`" - -#: ../../library/sys.rst:547 ../../library/sys.rst:550 -msgid ":option:`-i`" -msgstr ":option:`-i`" - -#: ../../library/sys.rst:553 -msgid ":option:`-I`" -msgstr ":option:`-I`" - -#: ../../library/sys.rst:556 -msgid ":option:`-O` or :option:`-OO`" -msgstr ":option:`-O` or :option:`-OO`" - -#: ../../library/sys.rst:559 -msgid ":option:`-B`" -msgstr ":option:`-B`" - -#: ../../library/sys.rst:562 -msgid ":option:`-s`" -msgstr ":option:`-s`" - -#: ../../library/sys.rst:565 -msgid ":option:`-S`" -msgstr ":option:`-S`" - -#: ../../library/sys.rst:568 -msgid ":option:`-E`" -msgstr ":option:`-E`" - -#: ../../library/sys.rst:571 -msgid ":option:`-v`" -msgstr ":option:`-v`" - -#: ../../library/sys.rst:574 -msgid ":option:`-b`" -msgstr ":option:`-b`" - -#: ../../library/sys.rst:577 -msgid ":option:`-q`" -msgstr ":option:`-q`" - -#: ../../library/sys.rst:580 -msgid ":option:`-R`" -msgstr ":option:`-R`" - -#: ../../library/sys.rst:583 -msgid ":option:`-X dev <-X>` (:ref:`Python Development Mode `)" -msgstr "" - -#: ../../library/sys.rst:586 -msgid ":option:`-X utf8 <-X>`" -msgstr "" - -#: ../../library/sys.rst:589 -msgid ":option:`-P`" -msgstr "" - -#: ../../library/sys.rst:592 -msgid "" -":option:`-X int_max_str_digits <-X>` (:ref:`integer string conversion length" -" limitation `)" -msgstr "" - -#: ../../library/sys.rst:596 -msgid ":option:`-X warn_default_encoding <-X>`" -msgstr "" - -#: ../../library/sys.rst:599 -msgid ":option:`-X gil <-X>` and :envvar:`PYTHON_GIL`" -msgstr "" - -#: ../../library/sys.rst:602 -msgid "" -":option:`-X thread_inherit_context <-X>` and " -":envvar:`PYTHON_THREAD_INHERIT_CONTEXT`" -msgstr "" - -#: ../../library/sys.rst:606 -msgid "" -":option:`-X context_aware_warnings <-X>` and " -":envvar:`PYTHON_CONTEXT_AWARE_WARNINGS`" -msgstr "" - -#: ../../library/sys.rst:610 -msgid "Added ``quiet`` attribute for the new :option:`-q` flag." -msgstr "" - -#: ../../library/sys.rst:613 -msgid "The ``hash_randomization`` attribute." -msgstr "" - -#: ../../library/sys.rst:616 -msgid "Removed obsolete ``division_warning`` attribute." -msgstr "" - -#: ../../library/sys.rst:619 -msgid "Added ``isolated`` attribute for :option:`-I` ``isolated`` flag." -msgstr "" - -#: ../../library/sys.rst:622 -msgid "" -"Added the ``dev_mode`` attribute for the new :ref:`Python Development Mode " -"` and the ``utf8_mode`` attribute for the new :option:`-X` " -"``utf8`` flag." -msgstr "" - -#: ../../library/sys.rst:627 -msgid "" -"Added ``warn_default_encoding`` attribute for :option:`-X` " -"``warn_default_encoding`` flag." -msgstr "" - -#: ../../library/sys.rst:630 -msgid "Added the ``safe_path`` attribute for :option:`-P` option." -msgstr "" - -#: ../../library/sys.rst:633 -msgid "Added the ``int_max_str_digits`` attribute." -msgstr "" - -#: ../../library/sys.rst:636 -msgid "Added the ``gil`` attribute." -msgstr "" - -#: ../../library/sys.rst:639 -msgid "Added the ``thread_inherit_context`` attribute." -msgstr "" - -#: ../../library/sys.rst:642 -msgid "Added the ``context_aware_warnings`` attribute." -msgstr "" - -#: ../../library/sys.rst:648 -msgid "" -"A :term:`named tuple` holding information about the float type. It contains " -"low level information about the precision and internal representation. The " -"values correspond to the various floating-point constants defined in the " -"standard header file :file:`float.h` for the 'C' programming language; see " -"section 5.2.4.2.2 of the 1999 ISO/IEC C standard [C99]_, 'Characteristics of" -" floating types', for details." -msgstr "" - -#: ../../library/sys.rst:655 -msgid "Attributes of the :data:`!float_info` :term:`named tuple`" -msgstr "" - -#: ../../library/sys.rst:658 -msgid "attribute" -msgstr "atribut" - -#: ../../library/sys.rst:659 -msgid "float.h macro" -msgstr "" - -#: ../../library/sys.rst:660 -msgid "explanation" -msgstr "" - -#: ../../library/sys.rst:663 -msgid ":c:macro:`!DBL_EPSILON`" -msgstr "" - -#: ../../library/sys.rst:664 -msgid "" -"difference between 1.0 and the least value greater than 1.0 that is " -"representable as a float." -msgstr "" - -#: ../../library/sys.rst:667 -msgid "See also :func:`math.ulp`." -msgstr "" - -#: ../../library/sys.rst:670 -msgid ":c:macro:`!DBL_DIG`" -msgstr "" - -#: ../../library/sys.rst:671 -msgid "" -"The maximum number of decimal digits that can be faithfully represented in a" -" float; see below." -msgstr "" - -#: ../../library/sys.rst:675 -msgid ":c:macro:`!DBL_MANT_DIG`" -msgstr "" - -#: ../../library/sys.rst:676 -msgid "" -"Float precision: the number of base-``radix`` digits in the significand of a" -" float." -msgstr "" - -#: ../../library/sys.rst:680 -msgid ":c:macro:`!DBL_MAX`" -msgstr "" - -#: ../../library/sys.rst:681 -msgid "The maximum representable positive finite float." -msgstr "" - -#: ../../library/sys.rst:684 -msgid ":c:macro:`!DBL_MAX_EXP`" -msgstr "" - -#: ../../library/sys.rst:685 -msgid "" -"The maximum integer *e* such that ``radix**(e-1)`` is a representable finite" -" float." -msgstr "" - -#: ../../library/sys.rst:689 -msgid ":c:macro:`!DBL_MAX_10_EXP`" -msgstr "" - -#: ../../library/sys.rst:690 -msgid "" -"The maximum integer *e* such that ``10**e`` is in the range of representable" -" finite floats." -msgstr "" - -#: ../../library/sys.rst:694 -msgid ":c:macro:`!DBL_MIN`" -msgstr "" - -#: ../../library/sys.rst:695 -msgid "The minimum representable positive *normalized* float." -msgstr "" - -#: ../../library/sys.rst:697 -msgid "" -"Use :func:`math.ulp(0.0) ` to get the smallest positive " -"*denormalized* representable float." -msgstr "" - -#: ../../library/sys.rst:701 -msgid ":c:macro:`!DBL_MIN_EXP`" -msgstr "" - -#: ../../library/sys.rst:702 -msgid "" -"The minimum integer *e* such that ``radix**(e-1)`` is a normalized float." -msgstr "" - -#: ../../library/sys.rst:706 -msgid ":c:macro:`!DBL_MIN_10_EXP`" -msgstr "" - -#: ../../library/sys.rst:707 -msgid "The minimum integer *e* such that ``10**e`` is a normalized float." -msgstr "" - -#: ../../library/sys.rst:710 -msgid ":c:macro:`!FLT_RADIX`" -msgstr "" - -#: ../../library/sys.rst:711 -msgid "The radix of exponent representation." -msgstr "" - -#: ../../library/sys.rst:714 -msgid ":c:macro:`!FLT_ROUNDS`" -msgstr "" - -#: ../../library/sys.rst:715 -msgid "" -"An integer representing the rounding mode for floating-point arithmetic. " -"This reflects the value of the system :c:macro:`!FLT_ROUNDS` macro at " -"interpreter startup time:" -msgstr "" - -#: ../../library/sys.rst:719 -msgid "``-1``: indeterminable" -msgstr "" - -#: ../../library/sys.rst:720 -msgid "``0``: toward zero" -msgstr "" - -#: ../../library/sys.rst:721 -msgid "``1``: to nearest" -msgstr "" - -#: ../../library/sys.rst:722 -msgid "``2``: toward positive infinity" -msgstr "" - -#: ../../library/sys.rst:723 -msgid "``3``: toward negative infinity" -msgstr "" - -#: ../../library/sys.rst:725 -msgid "" -"All other values for :c:macro:`!FLT_ROUNDS` characterize implementation-" -"defined rounding behavior." -msgstr "" - -#: ../../library/sys.rst:728 -msgid "" -"The attribute :attr:`sys.float_info.dig` needs further explanation. If " -"``s`` is any string representing a decimal number with at most " -":attr:`!sys.float_info.dig` significant digits, then converting ``s`` to a " -"float and back again will recover a string representing the same decimal " -"value::" -msgstr "" - -#: ../../library/sys.rst:734 -msgid "" -">>> import sys\n" -">>> sys.float_info.dig\n" -"15\n" -">>> s = '3.14159265358979' # decimal string with 15 significant digits\n" -">>> format(float(s), '.15g') # convert to float and back -> same value\n" -"'3.14159265358979'" -msgstr "" - -#: ../../library/sys.rst:741 -msgid "" -"But for strings with more than :attr:`sys.float_info.dig` significant " -"digits, this isn't always true::" -msgstr "" - -#: ../../library/sys.rst:744 -msgid "" -">>> s = '9876543211234567' # 16 significant digits is too many!\n" -">>> format(float(s), '.16g') # conversion changes value\n" -"'9876543211234568'" -msgstr "" - -#: ../../library/sys.rst:750 -msgid "" -"A string indicating how the :func:`repr` function behaves for floats. If " -"the string has value ``'short'`` then for a finite float ``x``, ``repr(x)`` " -"aims to produce a short string with the property that ``float(repr(x)) == " -"x``. This is the usual behaviour in Python 3.1 and later. Otherwise, " -"``float_repr_style`` has value ``'legacy'`` and ``repr(x)`` behaves in the " -"same way as it did in versions of Python prior to 3.1." -msgstr "" - -#: ../../library/sys.rst:763 -msgid "" -"Return the number of memory blocks currently allocated by the interpreter, " -"regardless of their size. This function is mainly useful for tracking and " -"debugging memory leaks. Because of the interpreter's internal caches, the " -"result can vary from call to call; you may have to call " -":func:`_clear_internal_caches` and :func:`gc.collect` to get more " -"predictable results." -msgstr "" - -#: ../../library/sys.rst:770 -msgid "" -"If a Python build or implementation cannot reasonably compute this " -"information, :func:`getallocatedblocks` is allowed to return 0 instead." -msgstr "" - -#: ../../library/sys.rst:778 -msgid "Return the number of unicode objects that have been interned." -msgstr "" - -#: ../../library/sys.rst:785 -msgid "" -"Return the build-time API level of Android as an integer. This represents " -"the minimum version of Android this build of Python can run on. For runtime " -"version information, see :func:`platform.android_ver`." -msgstr "" - -#: ../../library/sys.rst:796 -msgid "" -"Return ``'utf-8'``. This is the name of the default string encoding, used in" -" methods like :meth:`str.encode`." -msgstr "" - -#: ../../library/sys.rst:802 -msgid "" -"Return the current value of the flags that are used for :c:func:`dlopen` " -"calls. Symbolic names for the flag values can be found in the :mod:`os` " -"module (:samp:`RTLD_{xxx}` constants, e.g. :const:`os.RTLD_LAZY`)." -msgstr "" - -#: ../../library/sys.rst:812 -msgid "" -"Get the :term:`filesystem encoding `:" -" the encoding used with the :term:`filesystem error handler ` to convert between Unicode filenames and bytes " -"filenames. The filesystem error handler is returned from " -":func:`getfilesystemencodeerrors`." -msgstr "" - -#: ../../library/sys.rst:818 -msgid "" -"For best compatibility, str should be used for filenames in all cases, " -"although representing filenames as bytes is also supported. Functions " -"accepting or returning filenames should support either str or bytes and " -"internally convert to the system's preferred representation." -msgstr "" - -#: ../../library/sys.rst:823 ../../library/sys.rst:851 -msgid "" -":func:`os.fsencode` and :func:`os.fsdecode` should be used to ensure that " -"the correct encoding and errors mode are used." -msgstr "" - -#: ../../library/sys.rst:826 ../../library/sys.rst:854 -msgid "" -"The :term:`filesystem encoding and error handler` are configured at Python " -"startup by the :c:func:`PyConfig_Read` function: see " -":c:member:`~PyConfig.filesystem_encoding` and " -":c:member:`~PyConfig.filesystem_errors` members of :c:type:`PyConfig`." -msgstr "" - -#: ../../library/sys.rst:831 -msgid ":func:`getfilesystemencoding` result cannot be ``None`` anymore." -msgstr "" - -#: ../../library/sys.rst:834 -msgid "" -"Windows is no longer guaranteed to return ``'mbcs'``. See :pep:`529` and " -":func:`_enablelegacywindowsfsencoding` for more information." -msgstr "" - -#: ../../library/sys.rst:838 -msgid "" -"Return ``'utf-8'`` if the :ref:`Python UTF-8 Mode ` is enabled." -msgstr "" - -#: ../../library/sys.rst:845 -msgid "" -"Get the :term:`filesystem error handler `: the error handler used with the :term:`filesystem encoding " -"` to convert between Unicode " -"filenames and bytes filenames. The filesystem encoding is returned from " -":func:`getfilesystemencoding`." -msgstr "" - -#: ../../library/sys.rst:863 -msgid "" -"Returns the current value for the :ref:`integer string conversion length " -"limitation `. See also :func:`set_int_max_str_digits`." -msgstr "" - -#: ../../library/sys.rst:870 -msgid "" -"Return the reference count of the *object*. The count returned is generally" -" one higher than you might expect, because it includes the (temporary) " -"reference as an argument to :func:`getrefcount`." -msgstr "" - -#: ../../library/sys.rst:874 -msgid "" -"Note that the returned value may not actually reflect how many references to" -" the object are actually held. For example, some objects are " -":term:`immortal` and have a very high refcount that does not reflect the " -"actual number of references. Consequently, do not rely on the returned " -"value to be accurate, other than a value of 0 or 1." -msgstr "" - -#: ../../library/sys.rst:882 -msgid "" -":term:`Immortal ` objects with a large reference count can be " -"identified via :func:`_is_immortal`." -msgstr "" - -#: ../../library/sys.rst:885 -msgid "" -"Immortal objects have very large refcounts that do not match the actual " -"number of references to the object." -msgstr "" - -#: ../../library/sys.rst:891 -msgid "" -"Return the current value of the recursion limit, the maximum depth of the " -"Python interpreter stack. This limit prevents infinite recursion from " -"causing an overflow of the C stack and crashing Python. It can be set by " -":func:`setrecursionlimit`." -msgstr "" - -#: ../../library/sys.rst:899 -msgid "" -"Return the size of an object in bytes. The object can be any type of object." -" All built-in objects will return correct results, but this does not have to" -" hold true for third-party extensions as it is implementation specific." -msgstr "" - -#: ../../library/sys.rst:904 -msgid "" -"Only the memory consumption directly attributed to the object is accounted " -"for, not the memory consumption of objects it refers to." -msgstr "" - -#: ../../library/sys.rst:907 -msgid "" -"If given, *default* will be returned if the object does not provide means to" -" retrieve the size. Otherwise a :exc:`TypeError` will be raised." -msgstr "" - -#: ../../library/sys.rst:910 -msgid "" -":func:`getsizeof` calls the object's ``__sizeof__`` method and adds an " -"additional garbage collector overhead if the object is managed by the " -"garbage collector." -msgstr "" - -#: ../../library/sys.rst:914 -msgid "" -"See `recursive sizeof recipe " -"`_ for an example of using :func:`getsizeof` " -"recursively to find the size of containers and all their contents." -msgstr "" - -#: ../../library/sys.rst:920 -msgid "" -"Return the interpreter's \"thread switch interval\" in seconds; see " -":func:`setswitchinterval`." -msgstr "" - -#: ../../library/sys.rst:928 -msgid "" -"Return a frame object from the call stack. If optional integer *depth* is " -"given, return the frame object that many calls below the top of the stack. " -"If that is deeper than the call stack, :exc:`ValueError` is raised. The " -"default for *depth* is zero, returning the frame at the top of the call " -"stack." -msgstr "" - -#: ../../library/sys.rst:933 -msgid "" -"Raises an :ref:`auditing event ` ``sys._getframe`` with argument " -"``frame``." -msgstr "" - -#: ../../library/sys.rst:937 ../../library/sys.rst:953 -msgid "" -"This function should be used for internal and specialized purposes only. It " -"is not guaranteed to exist in all implementations of Python." -msgstr "" - -#: ../../library/sys.rst:943 -msgid "" -"Return the name of a module from the call stack. If optional integer " -"*depth* is given, return the module that many calls below the top of the " -"stack. If that is deeper than the call stack, or if the module is " -"unidentifiable, ``None`` is returned. The default for *depth* is zero, " -"returning the module at the top of the call stack." -msgstr "" - -#: ../../library/sys.rst:949 -msgid "" -"Raises an :ref:`auditing event ` ``sys._getframemodulename`` with " -"argument ``depth``." -msgstr "" - -#: ../../library/sys.rst:959 -msgid "" -"This function only exists if CPython was built using the specialized " -"configure option :option:`--with-trace-refs`. It is intended only for " -"debugging garbage-collection issues." -msgstr "" - -#: ../../library/sys.rst:963 -msgid "" -"Return a list of up to *limit* dynamically allocated Python objects. If " -"*type* is given, only objects of that exact type (not subtypes) are " -"included." -msgstr "" - -#: ../../library/sys.rst:967 -msgid "" -"Objects from the list are not safe to use. Specifically, the result will " -"include objects from all interpreters that share their object allocator " -"state (that is, ones created with " -":c:member:`PyInterpreterConfig.use_main_obmalloc` set to 1 or using " -":c:func:`Py_NewInterpreter`, and the :ref:`main interpreter `). Mixing objects from different interpreters may lead " -"to crashes or other unexpected behavior." -msgstr "" - -#: ../../library/sys.rst:978 ../../library/sys.rst:1370 -msgid "" -"This function should be used for specialized purposes only. It is not " -"guaranteed to exist in all implementations of Python." -msgstr "" - -#: ../../library/sys.rst:983 -msgid "The result may include objects from other interpreters." -msgstr "" - -#: ../../library/sys.rst:992 -msgid "Get the profiler function as set by :func:`setprofile`." -msgstr "" - -#: ../../library/sys.rst:1001 -msgid "Get the trace function as set by :func:`settrace`." -msgstr "" - -#: ../../library/sys.rst:1005 -msgid "" -"The :func:`gettrace` function is intended only for implementing debuggers, " -"profilers, coverage tools and the like. Its behavior is part of the " -"implementation platform, rather than part of the language definition, and " -"thus may not be available in all Python implementations." -msgstr "" - -#: ../../library/sys.rst:1013 -msgid "" -"Return a named tuple describing the Windows version currently running. The " -"named elements are *major*, *minor*, *build*, *platform*, *service_pack*, " -"*service_pack_minor*, *service_pack_major*, *suite_mask*, *product_type* and" -" *platform_version*. *service_pack* contains a string, *platform_version* a " -"3-tuple and all other values are integers. The components can also be " -"accessed by name, so ``sys.getwindowsversion()[0]`` is equivalent to " -"``sys.getwindowsversion().major``. For compatibility with prior versions, " -"only the first 5 elements are retrievable by indexing." -msgstr "" - -#: ../../library/sys.rst:1024 -msgid "*platform* will be ``2`` (VER_PLATFORM_WIN32_NT)." -msgstr "" - -#: ../../library/sys.rst:1026 -msgid "*product_type* may be one of the following values:" -msgstr "" - -#: ../../library/sys.rst:1029 -msgid "Constant" -msgstr "Konstanta" - -#: ../../library/sys.rst:1029 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/sys.rst:1031 -msgid "``1`` (VER_NT_WORKSTATION)" -msgstr "" - -#: ../../library/sys.rst:1031 -msgid "The system is a workstation." -msgstr "" - -#: ../../library/sys.rst:1033 -msgid "``2`` (VER_NT_DOMAIN_CONTROLLER)" -msgstr "" - -#: ../../library/sys.rst:1033 -msgid "The system is a domain controller." -msgstr "" - -#: ../../library/sys.rst:1036 -msgid "``3`` (VER_NT_SERVER)" -msgstr "" - -#: ../../library/sys.rst:1036 -msgid "The system is a server, but not a domain controller." -msgstr "" - -#: ../../library/sys.rst:1040 -msgid "" -"This function wraps the Win32 :c:func:`!GetVersionEx` function; see the " -"Microsoft documentation on :c:func:`!OSVERSIONINFOEX` for more information " -"about these fields." -msgstr "" - -#: ../../library/sys.rst:1044 -msgid "" -"*platform_version* returns the major version, minor version and build number" -" of the current operating system, rather than the version that is being " -"emulated for the process. It is intended for use in logging rather than for " -"feature detection." -msgstr "" - -#: ../../library/sys.rst:1050 -msgid "" -"*platform_version* derives the version from kernel32.dll which can be of a " -"different version than the OS version. Please use :mod:`platform` module for" -" achieving accurate OS version." -msgstr "" - -#: ../../library/sys.rst:1056 -msgid "" -"Changed to a named tuple and added *service_pack_minor*, " -"*service_pack_major*, *suite_mask*, and *product_type*." -msgstr "" - -#: ../../library/sys.rst:1060 -msgid "Added *platform_version*" -msgstr "" - -#: ../../library/sys.rst:1066 -msgid "" -"Returns an *asyncgen_hooks* object, which is similar to a " -":class:`~collections.namedtuple` of the form ``(firstiter, finalizer)``, " -"where *firstiter* and *finalizer* are expected to be either ``None`` or " -"functions which take an :term:`asynchronous generator iterator` as an " -"argument, and are used to schedule finalization of an asynchronous generator" -" by an event loop." -msgstr "" - -#: ../../library/sys.rst:1073 -msgid "See :pep:`525` for more details." -msgstr "" - -#: ../../library/sys.rst:1077 ../../library/sys.rst:1860 -msgid "" -"This function has been added on a provisional basis (see :pep:`411` for " -"details.)" -msgstr "" - -#: ../../library/sys.rst:1083 -msgid "" -"Get the current coroutine origin tracking depth, as set by " -":func:`set_coroutine_origin_tracking_depth`." -msgstr "" - -#: ../../library/sys.rst:1089 ../../library/sys.rst:1881 -msgid "" -"This function has been added on a provisional basis (see :pep:`411` for " -"details.) Use it only for debugging purposes." -msgstr "" - -#: ../../library/sys.rst:1095 -msgid "" -"A :term:`named tuple` giving parameters of the numeric hash implementation." -" For more details about hashing of numeric types, see :ref:`numeric-hash`." -msgstr "" - -#: ../../library/sys.rst:1101 -msgid "The width in bits used for hash values" -msgstr "" - -#: ../../library/sys.rst:1105 -msgid "The prime modulus P used for numeric hash scheme" -msgstr "" - -#: ../../library/sys.rst:1109 -msgid "The hash value returned for a positive infinity" -msgstr "" - -#: ../../library/sys.rst:1113 -msgid "(This attribute is no longer used)" -msgstr "" - -#: ../../library/sys.rst:1117 -msgid "The multiplier used for the imaginary part of a complex number" -msgstr "" - -#: ../../library/sys.rst:1121 -msgid "The name of the algorithm for hashing of str, bytes, and memoryview" -msgstr "" - -#: ../../library/sys.rst:1125 -msgid "The internal output size of the hash algorithm" -msgstr "" - -#: ../../library/sys.rst:1129 -msgid "The size of the seed key of the hash algorithm" -msgstr "" - -#: ../../library/sys.rst:1133 -msgid "Added *algorithm*, *hash_bits* and *seed_bits*" -msgstr "" - -#: ../../library/sys.rst:1139 -msgid "" -"The version number encoded as a single integer. This is guaranteed to " -"increase with each version, including proper support for non-production " -"releases. For example, to test that the Python interpreter is at least " -"version 1.5.2, use::" -msgstr "" - -#: ../../library/sys.rst:1143 -msgid "" -"if sys.hexversion >= 0x010502F0:\n" -" # use some advanced feature\n" -" ...\n" -"else:\n" -" # use an alternative implementation or warn the user\n" -" ..." -msgstr "" - -#: ../../library/sys.rst:1150 -msgid "" -"This is called ``hexversion`` since it only really looks meaningful when " -"viewed as the result of passing it to the built-in :func:`hex` function. " -"The :term:`named tuple` :data:`sys.version_info` may be used for a more " -"human-friendly encoding of the same information." -msgstr "" - -#: ../../library/sys.rst:1155 -msgid "More details of ``hexversion`` can be found at :ref:`apiabiversion`." -msgstr "" - -#: ../../library/sys.rst:1160 -msgid "" -"An object containing information about the implementation of the currently " -"running Python interpreter. The following attributes are required to exist " -"in all Python implementations." -msgstr "" - -#: ../../library/sys.rst:1164 -msgid "" -"*name* is the implementation's identifier, e.g. ``'cpython'``. The actual " -"string is defined by the Python implementation, but it is guaranteed to be " -"lower case." -msgstr "" - -#: ../../library/sys.rst:1168 -msgid "" -"*version* is a named tuple, in the same format as :data:`sys.version_info`." -" It represents the version of the Python *implementation*. This has a " -"distinct meaning from the specific version of the Python *language* to which" -" the currently running interpreter conforms, which ``sys.version_info`` " -"represents. For example, for PyPy 1.8 ``sys.implementation.version`` might " -"be ``sys.version_info(1, 8, 0, 'final', 0)``, whereas ``sys.version_info`` " -"would be ``sys.version_info(2, 7, 2, 'final', 0)``. For CPython they are " -"the same value, since it is the reference implementation." -msgstr "" - -#: ../../library/sys.rst:1178 -msgid "" -"*hexversion* is the implementation version in hexadecimal format, like " -":data:`sys.hexversion`." -msgstr "" - -#: ../../library/sys.rst:1181 -msgid "" -"*cache_tag* is the tag used by the import machinery in the filenames of " -"cached modules. By convention, it would be a composite of the " -"implementation's name and version, like ``'cpython-33'``. However, a Python" -" implementation may use some other value if appropriate. If ``cache_tag`` " -"is set to ``None``, it indicates that module caching should be disabled." -msgstr "" - -#: ../../library/sys.rst:1188 -msgid "" -":data:`sys.implementation` may contain additional attributes specific to the" -" Python implementation. These non-standard attributes must start with an " -"underscore, and are not described here. Regardless of its contents, " -":data:`sys.implementation` will not change during a run of the interpreter, " -"nor between implementation versions. (It may change between Python language" -" versions, however.) See :pep:`421` for more information." -msgstr "" - -#: ../../library/sys.rst:1199 -msgid "" -"The addition of new required attributes must go through the normal PEP " -"process. See :pep:`421` for more information." -msgstr "" - -#: ../../library/sys.rst:1204 -msgid "" -"A :term:`named tuple` that holds information about Python's internal " -"representation of integers. The attributes are read only." -msgstr "" - -#: ../../library/sys.rst:1209 -msgid "" -"The number of bits held in each digit. Python integers are stored internally" -" in base ``2**int_info.bits_per_digit``." -msgstr "" - -#: ../../library/sys.rst:1214 -msgid "The size in bytes of the C type used to represent a digit." -msgstr "" - -#: ../../library/sys.rst:1218 -msgid "" -"The default value for :func:`sys.get_int_max_str_digits` when it is not " -"otherwise explicitly configured." -msgstr "" - -#: ../../library/sys.rst:1223 -msgid "" -"The minimum non-zero value for :func:`sys.set_int_max_str_digits`, " -":envvar:`PYTHONINTMAXSTRDIGITS`, or :option:`-X int_max_str_digits <-X>`." -msgstr "" - -#: ../../library/sys.rst:1230 -msgid "" -"Added :attr:`~int_info.default_max_str_digits` and " -":attr:`~int_info.str_digits_check_threshold`." -msgstr "" - -#: ../../library/sys.rst:1236 -msgid "" -"When this attribute exists, its value is automatically called (with no " -"arguments) when the interpreter is launched in :ref:`interactive mode `. This is done after the :envvar:`PYTHONSTARTUP` file is read," -" so that you can set this hook there. The :mod:`site` module :ref:`sets " -"this `." -msgstr "" - -#: ../../library/sys.rst:1242 ../../library/sys.rst:1244 -msgid "" -"Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " -"with the hook object as the argument when the hook is called on startup." -msgstr "" - -#: ../../library/sys.rst:1253 -msgid "" -"Enter *string* in the table of \"interned\" strings and return the interned " -"string -- which is *string* itself or a copy. Interning strings is useful to" -" gain a little performance on dictionary lookup -- if the keys in a " -"dictionary are interned, and the lookup key is interned, the key comparisons" -" (after hashing) can be done by a pointer compare instead of a string " -"compare. Normally, the names used in Python programs are automatically " -"interned, and the dictionaries used to hold module, class or instance " -"attributes have interned keys." -msgstr "" - -#: ../../library/sys.rst:1261 -msgid "" -"Interned strings are not :term:`immortal`; you must keep a reference to the " -"return value of :func:`intern` around to benefit from it." -msgstr "" - -#: ../../library/sys.rst:1267 -msgid "" -"Return :const:`True` if the :term:`GIL` is enabled and :const:`False` if it " -"is disabled." -msgstr "" - -#: ../../library/sys.rst:1274 ../../library/sys.rst:1382 -msgid "It is not guaranteed to exist in all implementations of Python." -msgstr "" - -#: ../../library/sys.rst:1278 -msgid "" -"Return :const:`True` if the main Python interpreter is :term:`shutting down " -"`. Return :const:`False` otherwise." -msgstr "" - -#: ../../library/sys.rst:1281 -msgid "See also the :exc:`PythonFinalizationError` exception." -msgstr "" - -#: ../../library/sys.rst:1287 -msgid "Utilities for observing just-in-time compilation." -msgstr "" - -#: ../../library/sys.rst:1291 -msgid "" -"JIT compilation is an *experimental implementation detail* of CPython. " -"``sys._jit`` is not guaranteed to exist or behave the same way in all Python" -" implementations, versions, or build configurations." -msgstr "" - -#: ../../library/sys.rst:1299 -msgid "" -"Return ``True`` if the current Python executable supports JIT compilation, " -"and ``False`` otherwise. This can be controlled by building CPython with " -"the ``--experimental-jit`` option on Windows, and the :option:`--enable-" -"experimental-jit` option on all other platforms." -msgstr "" - -#: ../../library/sys.rst:1306 -msgid "" -"Return ``True`` if JIT compilation is enabled for the current Python process" -" (implies :func:`sys._jit.is_available`), and ``False`` otherwise. If JIT " -"compilation is available, this can be controlled by setting the " -":envvar:`PYTHON_JIT` environment variable to ``0`` (disabled) or ``1`` " -"(enabled) at interpreter startup." -msgstr "" - -#: ../../library/sys.rst:1314 -msgid "" -"Return ``True`` if the topmost Python frame is currently executing JIT code " -"(implies :func:`sys._jit.is_enabled`), and ``False`` otherwise." -msgstr "" - -#: ../../library/sys.rst:1319 -msgid "" -"This function is intended for testing and debugging the JIT itself. It " -"should be avoided for any other purpose." -msgstr "" - -#: ../../library/sys.rst:1324 -msgid "" -"Due to the nature of tracing JIT compilers, repeated calls to this function " -"may give surprising results. For example, branching on its return value will" -" likely lead to unexpected behavior (if doing so causes JIT code to be " -"entered or exited):" -msgstr "" - -#: ../../library/sys.rst:1329 -msgid "" -">>> for warmup in range(BIG_NUMBER):\n" -"... # This line is \"hot\", and is eventually JIT-compiled:\n" -"... if sys._jit.is_active():\n" -"... # This line is \"cold\", and is run in the interpreter:\n" -"... assert sys._jit.is_active()\n" -"...\n" -"Traceback (most recent call last):\n" -" File \"\", line 5, in \n" -" assert sys._jit.is_active()\n" -" ~~~~~~~~~~~~~~~~~~^^\n" -"AssertionError" -msgstr "" - -#: ../../library/sys.rst:1345 -msgid "" -"This variable is not always defined; it is set to the exception instance " -"when an exception is not handled and the interpreter prints an error message" -" and a stack traceback. Its intended use is to allow an interactive user to" -" import a debugger module and engage in post-mortem debugging without having" -" to re-execute the command that caused the error. (Typical use is ``import " -"pdb; pdb.pm()`` to enter the post-mortem debugger; see :mod:`pdb` module for" -" more information.)" -msgstr "" - -#: ../../library/sys.rst:1357 -msgid "" -"Return :const:`True` if the given object is :term:`immortal`, :const:`False`" -" otherwise." -msgstr "" - -#: ../../library/sys.rst:1362 -msgid "" -"Objects that are immortal (and thus return ``True`` upon being passed to " -"this function) are not guaranteed to be immortal in future versions, and " -"vice versa for mortal objects." -msgstr "" - -#: ../../library/sys.rst:1375 -msgid "" -"Return :const:`True` if the given string is \"interned\", :const:`False` " -"otherwise." -msgstr "" - -#: ../../library/sys.rst:1389 -msgid "" -"These three variables are deprecated; use :data:`sys.last_exc` instead. They" -" hold the legacy representation of ``sys.last_exc``, as returned from " -":func:`exc_info` above." -msgstr "" - -#: ../../library/sys.rst:1395 -msgid "" -"An integer giving the maximum value a variable of type :c:type:`Py_ssize_t` " -"can take. It's usually ``2**31 - 1`` on a 32-bit platform and ``2**63 - 1``" -" on a 64-bit platform." -msgstr "" - -#: ../../library/sys.rst:1402 -msgid "" -"An integer giving the value of the largest Unicode code point, i.e. " -"``1114111`` (``0x10FFFF`` in hexadecimal)." -msgstr "" - -#: ../../library/sys.rst:1405 -msgid "" -"Before :pep:`393`, ``sys.maxunicode`` used to be either ``0xFFFF`` or " -"``0x10FFFF``, depending on the configuration option that specified whether " -"Unicode characters were stored as UCS-2 or UCS-4." -msgstr "" - -#: ../../library/sys.rst:1413 -msgid "" -"A list of :term:`meta path finder` objects that have their " -":meth:`~importlib.abc.MetaPathFinder.find_spec` methods called to see if one" -" of the objects can find the module to be imported. By default, it holds " -"entries that implement Python's default import semantics. The " -":meth:`~importlib.abc.MetaPathFinder.find_spec` method is called with at " -"least the absolute name of the module being imported. If the module to be " -"imported is contained in a package, then the parent package's " -":attr:`~module.__path__` attribute is passed in as a second argument. The " -"method returns a :term:`module spec`, or ``None`` if the module cannot be " -"found." -msgstr "" - -#: ../../library/sys.rst:1426 -msgid ":class:`importlib.abc.MetaPathFinder`" -msgstr "" - -#: ../../library/sys.rst:1427 -msgid "" -"The abstract base class defining the interface of finder objects on " -":data:`meta_path`." -msgstr "" - -#: ../../library/sys.rst:1429 -msgid ":class:`importlib.machinery.ModuleSpec`" -msgstr "" - -#: ../../library/sys.rst:1430 -msgid "" -"The concrete class which :meth:`~importlib.abc.MetaPathFinder.find_spec` " -"should return instances of." -msgstr "" - -#: ../../library/sys.rst:1436 -msgid "" -":term:`Module specs ` were introduced in Python 3.4, by " -":pep:`451`." -msgstr "" - -#: ../../library/sys.rst:1441 -msgid "" -"Removed the fallback that looked for a :meth:`!find_module` method if a " -":data:`meta_path` entry didn't have a " -":meth:`~importlib.abc.MetaPathFinder.find_spec` method." -msgstr "" - -#: ../../library/sys.rst:1447 -msgid "" -"This is a dictionary that maps module names to modules which have already " -"been loaded. This can be manipulated to force reloading of modules and " -"other tricks. However, replacing the dictionary will not necessarily work as" -" expected and deleting essential items from the dictionary may cause Python " -"to fail. If you want to iterate over this global dictionary always use " -"``sys.modules.copy()`` or ``tuple(sys.modules)`` to avoid exceptions as its " -"size may change during iteration as a side effect of code or activity in " -"other threads." -msgstr "" - -#: ../../library/sys.rst:1459 -msgid "" -"The list of the original command line arguments passed to the Python " -"executable." -msgstr "" - -#: ../../library/sys.rst:1462 -msgid "" -"The elements of :data:`sys.orig_argv` are the arguments to the Python " -"interpreter, while the elements of :data:`sys.argv` are the arguments to the" -" user's program. Arguments consumed by the interpreter itself will be " -"present in :data:`sys.orig_argv` and missing from :data:`sys.argv`." -msgstr "" - -#: ../../library/sys.rst:1474 -msgid "" -"A list of strings that specifies the search path for modules. Initialized " -"from the environment variable :envvar:`PYTHONPATH`, plus an installation-" -"dependent default." -msgstr "" - -#: ../../library/sys.rst:1478 -msgid "" -"By default, as initialized upon program startup, a potentially unsafe path " -"is prepended to :data:`sys.path` (*before* the entries inserted as a result " -"of :envvar:`PYTHONPATH`):" -msgstr "" - -#: ../../library/sys.rst:1482 -msgid "" -"``python -m module`` command line: prepend the current working directory." -msgstr "" - -#: ../../library/sys.rst:1484 -msgid "" -"``python script.py`` command line: prepend the script's directory. If it's a" -" symbolic link, resolve symbolic links." -msgstr "" - -#: ../../library/sys.rst:1486 -msgid "" -"``python -c code`` and ``python`` (REPL) command lines: prepend an empty " -"string, which means the current working directory." -msgstr "" - -#: ../../library/sys.rst:1489 -msgid "" -"To not prepend this potentially unsafe path, use the :option:`-P` command " -"line option or the :envvar:`PYTHONSAFEPATH` environment variable." -msgstr "" - -#: ../../library/sys.rst:1492 -msgid "" -"A program is free to modify this list for its own purposes. Only strings " -"should be added to :data:`sys.path`; all other data types are ignored during" -" import." -msgstr "" - -#: ../../library/sys.rst:1498 -msgid "" -"Module :mod:`site` This describes how to use .pth files to extend " -":data:`sys.path`." -msgstr "" - -#: ../../library/sys.rst:1503 -msgid "" -"A list of callables that take a path argument to try to create a " -":term:`finder` for the path. If a finder can be created, it is to be " -"returned by the callable, else raise :exc:`ImportError`." -msgstr "" - -#: ../../library/sys.rst:1507 ../../library/sys.rst:1518 -msgid "Originally specified in :pep:`302`." -msgstr "" - -#: ../../library/sys.rst:1512 -msgid "" -"A dictionary acting as a cache for :term:`finder` objects. The keys are " -"paths that have been passed to :data:`sys.path_hooks` and the values are the" -" finders that are found. If a path is a valid file system path but no finder" -" is found on :data:`sys.path_hooks` then ``None`` is stored." -msgstr "" - -#: ../../library/sys.rst:1523 -msgid "A string containing a platform identifier. Known values are:" -msgstr "" - -#: ../../library/sys.rst:1526 -msgid "System" -msgstr "" - -#: ../../library/sys.rst:1526 -msgid "``platform`` value" -msgstr "" - -#: ../../library/sys.rst:1528 -msgid "AIX" -msgstr "" - -#: ../../library/sys.rst:1528 -msgid "``'aix'``" -msgstr "" - -#: ../../library/sys.rst:1529 -msgid "Android" -msgstr "" - -#: ../../library/sys.rst:1529 -msgid "``'android'``" -msgstr "" - -#: ../../library/sys.rst:1530 -msgid "Emscripten" -msgstr "" - -#: ../../library/sys.rst:1530 -msgid "``'emscripten'``" -msgstr "" - -#: ../../library/sys.rst:1531 -msgid "FreeBSD" -msgstr "" - -#: ../../library/sys.rst:1531 -msgid "``'freebsd'``" -msgstr "" - -#: ../../library/sys.rst:1532 -msgid "iOS" -msgstr "" - -#: ../../library/sys.rst:1532 -msgid "``'ios'``" -msgstr "" - -#: ../../library/sys.rst:1533 -msgid "Linux" -msgstr "" - -#: ../../library/sys.rst:1533 -msgid "``'linux'``" -msgstr "" - -#: ../../library/sys.rst:1534 -msgid "macOS" -msgstr "macOS" - -#: ../../library/sys.rst:1534 -msgid "``'darwin'``" -msgstr "" - -#: ../../library/sys.rst:1535 -msgid "Windows" -msgstr "Windows" - -#: ../../library/sys.rst:1535 -msgid "``'win32'``" -msgstr "" - -#: ../../library/sys.rst:1536 -msgid "Windows/Cygwin" -msgstr "" - -#: ../../library/sys.rst:1536 -msgid "``'cygwin'``" -msgstr "" - -#: ../../library/sys.rst:1537 -msgid "WASI" -msgstr "" - -#: ../../library/sys.rst:1537 -msgid "``'wasi'``" -msgstr "" - -#: ../../library/sys.rst:1540 -msgid "" -"On Unix systems not listed in the table, the value is the lowercased OS name" -" as returned by ``uname -s``, with the first part of the version as returned" -" by ``uname -r`` appended, e.g. ``'sunos5'``, *at the time when Python was " -"built*. Unless you want to test for a specific system version, it is " -"therefore recommended to use the following idiom::" -msgstr "" - -#: ../../library/sys.rst:1546 -msgid "" -"if sys.platform.startswith('sunos'):\n" -" # SunOS-specific code here..." -msgstr "" - -#: ../../library/sys.rst:1549 -msgid "" -"On Linux, :data:`sys.platform` doesn't contain the major version anymore. It" -" is always ``'linux'``, instead of ``'linux2'`` or ``'linux3'``." -msgstr "" - -#: ../../library/sys.rst:1553 -msgid "" -"On AIX, :data:`sys.platform` doesn't contain the major version anymore. It " -"is always ``'aix'``, instead of ``'aix5'`` or ``'aix7'``." -msgstr "" - -#: ../../library/sys.rst:1557 -msgid "" -"On Android, :data:`sys.platform` now returns ``'android'`` rather than " -"``'linux'``." -msgstr "" - -#: ../../library/sys.rst:1561 -msgid "" -"On FreeBSD, :data:`sys.platform` doesn't contain the major version anymore. " -"It is always ``'freebsd'``, instead of ``'freebsd13'`` or ``'freebsd14'``." -msgstr "" - -#: ../../library/sys.rst:1567 -msgid "" -":data:`os.name` has a coarser granularity. :func:`os.uname` gives system-" -"dependent version information." -msgstr "" - -#: ../../library/sys.rst:1570 -msgid "" -"The :mod:`platform` module provides detailed checks for the system's " -"identity." -msgstr "" - -#: ../../library/sys.rst:1576 -msgid "" -"Name of the platform-specific library directory. It is used to build the " -"path of standard library and the paths of installed extension modules." -msgstr "" - -#: ../../library/sys.rst:1579 -msgid "" -"It is equal to ``\"lib\"`` on most platforms. On Fedora and SuSE, it is " -"equal to ``\"lib64\"`` on 64-bit platforms which gives the following " -"``sys.path`` paths (where ``X.Y`` is the Python ``major.minor`` version):" -msgstr "" - -#: ../../library/sys.rst:1583 -msgid "" -"``/usr/lib64/pythonX.Y/``: Standard library (like ``os.py`` of the :mod:`os`" -" module)" -msgstr "" - -#: ../../library/sys.rst:1585 -msgid "" -"``/usr/lib64/pythonX.Y/lib-dynload/``: C extension modules of the standard " -"library (like the :mod:`errno` module, the exact filename is platform " -"specific)" -msgstr "" - -#: ../../library/sys.rst:1588 -msgid "" -"``/usr/lib/pythonX.Y/site-packages/`` (always use ``lib``, not " -":data:`sys.platlibdir`): Third-party modules" -msgstr "" - -#: ../../library/sys.rst:1590 -msgid "" -"``/usr/lib64/pythonX.Y/site-packages/``: C extension modules of third-party " -"packages" -msgstr "" - -#: ../../library/sys.rst:1598 -msgid "" -"A string giving the site-specific directory prefix where the platform " -"independent Python files are installed; on Unix, the default is " -":file:`/usr/local`. This can be set at build time with the " -":option:`--prefix` argument to the :program:`configure` script. See " -":ref:`installation_paths` for derived paths." -msgstr "" - -#: ../../library/sys.rst:1606 -msgid "" -"If a :ref:`virtual environment ` is in effect, this :data:`prefix`" -" will point to the virtual environment. The value for the Python " -"installation will still be available, via :data:`base_prefix`. Refer to " -":ref:`sys-path-init-virtual-environments` for more information." -msgstr "" - -#: ../../library/sys.rst:1630 -msgid "" -"Strings specifying the primary and secondary prompt of the interpreter. " -"These are only defined if the interpreter is in interactive mode. Their " -"initial values in this case are ``'>>> '`` and ``'... '``. If a non-string " -"object is assigned to either variable, its :func:`str` is re-evaluated each " -"time the interpreter prepares to read a new interactive command; this can be" -" used to implement a dynamic prompt." -msgstr "" - -#: ../../library/sys.rst:1640 -msgid "" -"Set the flags used by the interpreter for :c:func:`dlopen` calls, such as " -"when the interpreter loads extension modules. Among other things, this will" -" enable a lazy resolving of symbols when importing a module, if called as " -"``sys.setdlopenflags(0)``. To share symbols across extension modules, call " -"as ``sys.setdlopenflags(os.RTLD_GLOBAL)``. Symbolic names for the flag " -"values can be found in the :mod:`os` module (:samp:`RTLD_{xxx}` constants, " -"e.g. :const:`os.RTLD_LAZY`)." -msgstr "" - -#: ../../library/sys.rst:1652 -msgid "" -"Set the :ref:`integer string conversion length limitation " -"` used by this interpreter. See also " -":func:`get_int_max_str_digits`." -msgstr "" - -#: ../../library/sys.rst:1664 -msgid "" -"Set the system's profile function, which allows you to implement a Python " -"source code profiler in Python. See chapter :ref:`profile` for more " -"information on the Python profiler. The system's profile function is called" -" similarly to the system's trace function (see :func:`settrace`), but it is " -"called with different events, for example it isn't called for each executed " -"line of code (only on call and return, but the return event is reported even" -" when an exception has been set). The function is thread-specific, but there" -" is no way for the profiler to know about context switches between threads, " -"so it does not make sense to use this in the presence of multiple threads. " -"Also, its return value is not used, so it can simply return ``None``. Error" -" in the profile function will cause itself unset." -msgstr "" - -#: ../../library/sys.rst:1676 -msgid "" -"The same tracing mechanism is used for :func:`!setprofile` as " -":func:`settrace`. To trace calls with :func:`!setprofile` inside a tracing " -"function (e.g. in a debugger breakpoint), see :func:`call_tracing`." -msgstr "" - -#: ../../library/sys.rst:1680 -msgid "" -"Profile functions should have three arguments: *frame*, *event*, and *arg*. " -"*frame* is the current stack frame. *event* is a string: ``'call'``, " -"``'return'``, ``'c_call'``, ``'c_return'``, or ``'c_exception'``. *arg* " -"depends on the event type." -msgstr "" - -#: ../../library/sys.rst:1685 ../../library/sys.rst:1772 -msgid "The events have the following meaning:" -msgstr "" - -#: ../../library/sys.rst:1687 ../../library/sys.rst:1774 -msgid "``'call'``" -msgstr "" - -#: ../../library/sys.rst:1688 -msgid "" -"A function is called (or some other code block entered). The profile " -"function is called; *arg* is ``None``." -msgstr "" - -#: ../../library/sys.rst:1691 ../../library/sys.rst:1789 -msgid "``'return'``" -msgstr "" - -#: ../../library/sys.rst:1692 -msgid "" -"A function (or other code block) is about to return. The profile function " -"is called; *arg* is the value that will be returned, or ``None`` if the " -"event is caused by an exception being raised." -msgstr "" - -#: ../../library/sys.rst:1696 -msgid "``'c_call'``" -msgstr "" - -#: ../../library/sys.rst:1697 -msgid "" -"A C function is about to be called. This may be an extension function or a " -"built-in. *arg* is the C function object." -msgstr "" - -#: ../../library/sys.rst:1700 -msgid "``'c_return'``" -msgstr "" - -#: ../../library/sys.rst:1701 -msgid "A C function has returned. *arg* is the C function object." -msgstr "" - -#: ../../library/sys.rst:1703 -msgid "``'c_exception'``" -msgstr "" - -#: ../../library/sys.rst:1704 -msgid "A C function has raised an exception. *arg* is the C function object." -msgstr "" - -#: ../../library/sys.rst:1706 -msgid "" -"Raises an :ref:`auditing event ` ``sys.setprofile`` with no " -"arguments." -msgstr "" - -#: ../../library/sys.rst:1711 -msgid "" -"Set the maximum depth of the Python interpreter stack to *limit*. This " -"limit prevents infinite recursion from causing an overflow of the C stack " -"and crashing Python." -msgstr "" - -#: ../../library/sys.rst:1715 -msgid "" -"The highest possible limit is platform-dependent. A user may need to set " -"the limit higher when they have a program that requires deep recursion and a" -" platform that supports a higher limit. This should be done with care, " -"because a too-high limit can lead to a crash." -msgstr "" - -#: ../../library/sys.rst:1720 -msgid "" -"If the new limit is too low at the current recursion depth, a " -":exc:`RecursionError` exception is raised." -msgstr "" - -#: ../../library/sys.rst:1723 -msgid "" -"A :exc:`RecursionError` exception is now raised if the new limit is too low " -"at the current recursion depth." -msgstr "" - -#: ../../library/sys.rst:1730 -msgid "" -"Set the interpreter's thread switch interval (in seconds). This floating-" -"point value determines the ideal duration of the \"timeslices\" allocated to" -" concurrently running Python threads. Please note that the actual value can" -" be higher, especially if long-running internal functions or methods are " -"used. Also, which thread becomes scheduled at the end of the interval is " -"the operating system's decision. The interpreter doesn't have its own " -"scheduler." -msgstr "" - -#: ../../library/sys.rst:1747 -msgid "" -"Set the system's trace function, which allows you to implement a Python " -"source code debugger in Python. The function is thread-specific; for a " -"debugger to support multiple threads, it must register a trace function " -"using :func:`settrace` for each thread being debugged or use " -":func:`threading.settrace`." -msgstr "" - -#: ../../library/sys.rst:1752 -msgid "" -"Trace functions should have three arguments: *frame*, *event*, and *arg*. " -"*frame* is the current stack frame. *event* is a string: ``'call'``, " -"``'line'``, ``'return'``, ``'exception'`` or ``'opcode'``. *arg* depends on" -" the event type." -msgstr "" - -#: ../../library/sys.rst:1757 -msgid "" -"The trace function is invoked (with *event* set to ``'call'``) whenever a " -"new local scope is entered; it should return a reference to a local trace " -"function to be used for the new scope, or ``None`` if the scope shouldn't be" -" traced." -msgstr "" - -#: ../../library/sys.rst:1762 -msgid "" -"The local trace function should return a reference to itself, or to another " -"function which would then be used as the local trace function for the scope." -msgstr "" - -#: ../../library/sys.rst:1765 -msgid "" -"If there is any error occurred in the trace function, it will be unset, just" -" like ``settrace(None)`` is called." -msgstr "" - -#: ../../library/sys.rst:1769 -msgid "" -"Tracing is disabled while calling the trace function (e.g. a function set by" -" :func:`!settrace`). For recursive tracing see :func:`call_tracing`." -msgstr "" - -#: ../../library/sys.rst:1775 -msgid "" -"A function is called (or some other code block entered). The global trace " -"function is called; *arg* is ``None``; the return value specifies the local " -"trace function." -msgstr "" - -#: ../../library/sys.rst:1779 -msgid "``'line'``" -msgstr "" - -#: ../../library/sys.rst:1780 -msgid "" -"The interpreter is about to execute a new line of code or re-execute the " -"condition of a loop. The local trace function is called; *arg* is ``None``;" -" the return value specifies the new local trace function. See " -":file:`Objects/lnotab_notes.txt` for a detailed explanation of how this " -"works. Per-line events may be disabled for a frame by setting " -":attr:`~frame.f_trace_lines` to :const:`False` on that :ref:`frame `." -msgstr "" - -#: ../../library/sys.rst:1790 -msgid "" -"A function (or other code block) is about to return. The local trace " -"function is called; *arg* is the value that will be returned, or ``None`` if" -" the event is caused by an exception being raised. The trace function's " -"return value is ignored." -msgstr "" - -#: ../../library/sys.rst:1795 -msgid "``'exception'``" -msgstr "" - -#: ../../library/sys.rst:1796 -msgid "" -"An exception has occurred. The local trace function is called; *arg* is a " -"tuple ``(exception, value, traceback)``; the return value specifies the new " -"local trace function." -msgstr "" - -#: ../../library/sys.rst:1800 -msgid "``'opcode'``" -msgstr "" - -#: ../../library/sys.rst:1801 -msgid "" -"The interpreter is about to execute a new opcode (see :mod:`dis` for opcode " -"details). The local trace function is called; *arg* is ``None``; the return" -" value specifies the new local trace function. Per-opcode events are not " -"emitted by default: they must be explicitly requested by setting " -":attr:`~frame.f_trace_opcodes` to :const:`True` on the :ref:`frame `." -msgstr "" - -#: ../../library/sys.rst:1808 -msgid "" -"Note that as an exception is propagated down the chain of callers, an " -"``'exception'`` event is generated at each level." -msgstr "" - -#: ../../library/sys.rst:1811 -msgid "" -"For more fine-grained usage, it's possible to set a trace function by " -"assigning ``frame.f_trace = tracefunc`` explicitly, rather than relying on " -"it being set indirectly via the return value from an already installed trace" -" function. This is also required for activating the trace function on the " -"current frame, which :func:`settrace` doesn't do. Note that in order for " -"this to work, a global tracing function must have been installed with " -":func:`settrace` in order to enable the runtime tracing machinery, but it " -"doesn't need to be the same tracing function (e.g. it could be a low " -"overhead tracing function that simply returns ``None`` to disable itself " -"immediately on each frame)." -msgstr "" - -#: ../../library/sys.rst:1822 -msgid "For more information on code and frame objects, refer to :ref:`types`." -msgstr "" - -#: ../../library/sys.rst:1824 -msgid "" -"Raises an :ref:`auditing event ` ``sys.settrace`` with no " -"arguments." -msgstr "" - -#: ../../library/sys.rst:1828 -msgid "" -"The :func:`settrace` function is intended only for implementing debuggers, " -"profilers, coverage tools and the like. Its behavior is part of the " -"implementation platform, rather than part of the language definition, and " -"thus may not be available in all Python implementations." -msgstr "" - -#: ../../library/sys.rst:1835 -msgid "" -"``'opcode'`` event type added; :attr:`~frame.f_trace_lines` and " -":attr:`~frame.f_trace_opcodes` attributes added to frames" -msgstr "" - -#: ../../library/sys.rst:1840 -msgid "" -"Accepts two optional keyword arguments which are callables that accept an " -":term:`asynchronous generator iterator` as an argument. The *firstiter* " -"callable will be called when an asynchronous generator is iterated for the " -"first time. The *finalizer* will be called when an asynchronous generator is" -" about to be garbage collected." -msgstr "" - -#: ../../library/sys.rst:1846 -msgid "" -"Raises an :ref:`auditing event ` " -"``sys.set_asyncgen_hooks_firstiter`` with no arguments." -msgstr "" - -#: ../../library/sys.rst:1848 -msgid "" -"Raises an :ref:`auditing event ` " -"``sys.set_asyncgen_hooks_finalizer`` with no arguments." -msgstr "" - -#: ../../library/sys.rst:1850 -msgid "" -"Two auditing events are raised because the underlying API consists of two " -"calls, each of which must raise its own event." -msgstr "" - -#: ../../library/sys.rst:1853 -msgid "" -"See :pep:`525` for more details, and for a reference example of a " -"*finalizer* method see the implementation of " -"``asyncio.Loop.shutdown_asyncgens`` in :source:`Lib/asyncio/base_events.py`" -msgstr "" - -#: ../../library/sys.rst:1865 -msgid "" -"Allows enabling or disabling coroutine origin tracking. When enabled, the " -"``cr_origin`` attribute on coroutine objects will contain a tuple of " -"(filename, line number, function name) tuples describing the traceback where" -" the coroutine object was created, with the most recent call first. When " -"disabled, ``cr_origin`` will be ``None``." -msgstr "" - -#: ../../library/sys.rst:1872 -msgid "" -"To enable, pass a *depth* value greater than zero; this sets the number of " -"frames whose information will be captured. To disable, set *depth* to zero." -msgstr "" - -#: ../../library/sys.rst:1876 -msgid "This setting is thread-specific." -msgstr "" - -#: ../../library/sys.rst:1886 -msgid "" -"Activate the stack profiler trampoline *backend*. The only supported backend" -" is ``\"perf\"``." -msgstr "" - -#: ../../library/sys.rst:1889 -msgid "Stack trampolines cannot be activated if the JIT is active." -msgstr "" - -#: ../../library/sys.rst:1897 -msgid ":ref:`perf_profiling`" -msgstr "" - -#: ../../library/sys.rst:1898 -msgid "https://perf.wiki.kernel.org" -msgstr "" - -#: ../../library/sys.rst:1902 -msgid "Deactivate the current stack profiler trampoline backend." -msgstr "" - -#: ../../library/sys.rst:1904 -msgid "If no stack profiler is activated, this function has no effect." -msgstr "" - -#: ../../library/sys.rst:1912 -msgid "Return ``True`` if a stack profiler trampoline is active." -msgstr "" - -#: ../../library/sys.rst:1921 -msgid "" -"Executes *script*, a file containing Python code in the remote process with " -"the given *pid*." -msgstr "" - -#: ../../library/sys.rst:1924 -msgid "" -"This function returns immediately, and the code will be executed by the " -"target process's main thread at the next available opportunity, similarly to" -" how signals are handled. There is no interface to determine when the code " -"has been executed. The caller is responsible for making sure that the file " -"still exists whenever the remote process tries to read it and that it hasn't" -" been overwritten." -msgstr "" - -#: ../../library/sys.rst:1931 -msgid "" -"The remote process must be running a CPython interpreter of the same major " -"and minor version as the local process. If either the local or remote " -"interpreter is pre-release (alpha, beta, or release candidate) then the " -"local and remote interpreters must be the same exact version." -msgstr "" - -#: ../../library/sys.rst:1942 -msgid "" -"Changes the :term:`filesystem encoding and error handler` to 'mbcs' and " -"'replace' respectively, for consistency with versions of Python prior to " -"3.6." -msgstr "" - -#: ../../library/sys.rst:1946 -msgid "" -"This is equivalent to defining the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " -"environment variable before launching Python." -msgstr "" - -#: ../../library/sys.rst:1949 -msgid "" -"See also :func:`sys.getfilesystemencoding` and " -":func:`sys.getfilesystemencodeerrors`." -msgstr "" - -#: ../../library/sys.rst:1955 -msgid "" -"Changing the filesystem encoding after Python startup is risky because the " -"old fsencoding or paths encoded by the old fsencoding may be cached " -"somewhere. Use :envvar:`PYTHONLEGACYWINDOWSFSENCODING` instead." -msgstr "" - -#: ../../library/sys.rst:1959 -msgid "See :pep:`529` for more details." -msgstr "Lihat :pep:`529` untuk lebih detail." - -#: ../../library/sys.rst:1962 -msgid "Use :envvar:`PYTHONLEGACYWINDOWSFSENCODING` instead." -msgstr "" - -#: ../../library/sys.rst:1969 -msgid "" -":term:`File objects ` used by the interpreter for standard " -"input, output and errors:" -msgstr "" - -#: ../../library/sys.rst:1972 -msgid "" -"``stdin`` is used for all interactive input (including calls to " -":func:`input`);" -msgstr "" - -#: ../../library/sys.rst:1974 -msgid "" -"``stdout`` is used for the output of :func:`print` and :term:`expression` " -"statements and for the prompts of :func:`input`;" -msgstr "" - -#: ../../library/sys.rst:1976 -msgid "The interpreter's own prompts and its error messages go to ``stderr``." -msgstr "" - -#: ../../library/sys.rst:1978 -msgid "" -"These streams are regular :term:`text files ` like those returned" -" by the :func:`open` function. Their parameters are chosen as follows:" -msgstr "" - -#: ../../library/sys.rst:1982 -msgid "" -"The encoding and error handling are is initialized from " -":c:member:`PyConfig.stdio_encoding` and :c:member:`PyConfig.stdio_errors`." -msgstr "" - -#: ../../library/sys.rst:1985 -msgid "" -"On Windows, UTF-8 is used for the console device. Non-character devices " -"such as disk files and pipes use the system locale encoding (i.e. the ANSI " -"codepage). Non-console character devices such as NUL (i.e. where " -"``isatty()`` returns ``True``) use the value of the console input and output" -" codepages at startup, respectively for stdin and stdout/stderr. This " -"defaults to the system :term:`locale encoding` if the process is not " -"initially attached to a console." -msgstr "" - -#: ../../library/sys.rst:1994 -msgid "" -"The special behaviour of the console can be overridden by setting the " -"environment variable PYTHONLEGACYWINDOWSSTDIO before starting Python. In " -"that case, the console codepages are used as for any other character device." -msgstr "" - -#: ../../library/sys.rst:1999 -msgid "" -"Under all platforms, you can override the character encoding by setting the " -":envvar:`PYTHONIOENCODING` environment variable before starting Python or by" -" using the new :option:`-X` ``utf8`` command line option and " -":envvar:`PYTHONUTF8` environment variable. However, for the Windows " -"console, this only applies when :envvar:`PYTHONLEGACYWINDOWSSTDIO` is also " -"set." -msgstr "" - -#: ../../library/sys.rst:2006 -msgid "" -"When interactive, the ``stdout`` stream is line-buffered. Otherwise, it is " -"block-buffered like regular text files. The ``stderr`` stream is line-" -"buffered in both cases. You can make both streams unbuffered by passing the" -" :option:`-u` command-line option or setting the :envvar:`PYTHONUNBUFFERED` " -"environment variable." -msgstr "" - -#: ../../library/sys.rst:2012 -msgid "" -"Non-interactive ``stderr`` is now line-buffered instead of fully buffered." -msgstr "" - -#: ../../library/sys.rst:2018 -msgid "" -"To write or read binary data from/to the standard streams, use the " -"underlying binary :data:`~io.TextIOBase.buffer` object. For example, to " -"write bytes to :data:`stdout`, use ``sys.stdout.buffer.write(b'abc')``." -msgstr "" - -#: ../../library/sys.rst:2022 -msgid "" -"However, if you are writing a library (and do not control in which context " -"its code will be executed), be aware that the standard streams may be " -"replaced with file-like objects like :class:`io.StringIO` which do not " -"support the :attr:`!buffer` attribute." -msgstr "" - -#: ../../library/sys.rst:2032 -msgid "" -"These objects contain the original values of ``stdin``, ``stderr`` and " -"``stdout`` at the start of the program. They are used during finalization, " -"and could be useful to print to the actual standard stream no matter if the " -"``sys.std*`` object has been redirected." -msgstr "" - -#: ../../library/sys.rst:2037 -msgid "" -"It can also be used to restore the actual files to known working file " -"objects in case they have been overwritten with a broken object. However, " -"the preferred way to do this is to explicitly save the previous stream " -"before replacing it, and restore the saved object." -msgstr "" - -#: ../../library/sys.rst:2043 -msgid "" -"Under some conditions ``stdin``, ``stdout`` and ``stderr`` as well as the " -"original values ``__stdin__``, ``__stdout__`` and ``__stderr__`` can be " -"``None``. It is usually the case for Windows GUI apps that aren't connected " -"to a console and Python apps started with :program:`pythonw`." -msgstr "" - -#: ../../library/sys.rst:2051 -msgid "" -"A frozenset of strings containing the names of standard library modules." -msgstr "" - -#: ../../library/sys.rst:2053 -msgid "" -"It is the same on all platforms. Modules which are not available on some " -"platforms and modules disabled at Python build are also listed. All module " -"kinds are listed: pure Python, built-in, frozen and extension modules. Test " -"modules are excluded." -msgstr "" - -#: ../../library/sys.rst:2058 -msgid "" -"For packages, only the main package is listed: sub-packages and sub-modules " -"are not listed. For example, the ``email`` package is listed, but the " -"``email.mime`` sub-package and the ``email.message`` sub-module are not " -"listed." -msgstr "" - -#: ../../library/sys.rst:2063 -msgid "See also the :data:`sys.builtin_module_names` list." -msgstr "" - -#: ../../library/sys.rst:2070 -msgid "" -"A :term:`named tuple` holding information about the thread implementation." -msgstr "" - -#: ../../library/sys.rst:2075 -msgid "The name of the thread implementation:" -msgstr "" - -#: ../../library/sys.rst:2077 -msgid "``\"nt\"``: Windows threads" -msgstr "" - -#: ../../library/sys.rst:2078 -msgid "``\"pthread\"``: POSIX threads" -msgstr "" - -#: ../../library/sys.rst:2079 -msgid "" -"``\"pthread-stubs\"``: stub POSIX threads (on WebAssembly platforms without " -"threading support)" -msgstr "" - -#: ../../library/sys.rst:2081 -msgid "``\"solaris\"``: Solaris threads" -msgstr "" - -#: ../../library/sys.rst:2085 -msgid "The name of the lock implementation:" -msgstr "" - -#: ../../library/sys.rst:2087 -msgid "``\"semaphore\"``: a lock uses a semaphore" -msgstr "" - -#: ../../library/sys.rst:2088 -msgid "``\"mutex+cond\"``: a lock uses a mutex and a condition variable" -msgstr "" - -#: ../../library/sys.rst:2089 -msgid "``None`` if this information is unknown" -msgstr "" - -#: ../../library/sys.rst:2093 -msgid "" -"The name and version of the thread library. It is a string, or ``None`` if " -"this information is unknown." -msgstr "" - -#: ../../library/sys.rst:2101 -msgid "" -"When this variable is set to an integer value, it determines the maximum " -"number of levels of traceback information printed when an unhandled " -"exception occurs. The default is ``1000``. When set to ``0`` or less, all " -"traceback information is suppressed and only the exception type and value " -"are printed." -msgstr "" - -#: ../../library/sys.rst:2109 -msgid "Handle an unraisable exception." -msgstr "" - -#: ../../library/sys.rst:2111 -msgid "" -"Called when an exception has occurred but there is no way for Python to " -"handle it. For example, when a destructor raises an exception or during " -"garbage collection (:func:`gc.collect`)." -msgstr "" - -#: ../../library/sys.rst:2115 -msgid "The *unraisable* argument has the following attributes:" -msgstr "" - -#: ../../library/sys.rst:2117 -msgid ":attr:`!exc_type`: Exception type." -msgstr "" - -#: ../../library/sys.rst:2118 -msgid ":attr:`!exc_value`: Exception value, can be ``None``." -msgstr "" - -#: ../../library/sys.rst:2119 -msgid ":attr:`!exc_traceback`: Exception traceback, can be ``None``." -msgstr "" - -#: ../../library/sys.rst:2120 -msgid ":attr:`!err_msg`: Error message, can be ``None``." -msgstr "" - -#: ../../library/sys.rst:2121 -msgid ":attr:`!object`: Object causing the exception, can be ``None``." -msgstr "" - -#: ../../library/sys.rst:2123 -msgid "" -"The default hook formats :attr:`!err_msg` and :attr:`!object` as: " -"``f'{err_msg}: {object!r}'``; use \"Exception ignored in\" error message if " -":attr:`!err_msg` is ``None``." -msgstr "" - -#: ../../library/sys.rst:2127 -msgid "" -":func:`sys.unraisablehook` can be overridden to control how unraisable " -"exceptions are handled." -msgstr "" - -#: ../../library/sys.rst:2132 -msgid ":func:`excepthook` which handles uncaught exceptions." -msgstr "" - -#: ../../library/sys.rst:2136 -msgid "" -"Storing :attr:`!exc_value` using a custom hook can create a reference cycle." -" It should be cleared explicitly to break the reference cycle when the " -"exception is no longer needed." -msgstr "" - -#: ../../library/sys.rst:2140 -msgid "" -"Storing :attr:`!object` using a custom hook can resurrect it if it is set to" -" an object which is being finalized. Avoid storing :attr:`!object` after the" -" custom hook completes to avoid resurrecting objects." -msgstr "" - -#: ../../library/sys.rst:2144 ../../library/sys.rst:2146 -msgid "" -"Raise an auditing event ``sys.unraisablehook`` with arguments *hook*, " -"*unraisable* when an exception that cannot be handled occurs. The " -"*unraisable* object is the same as what will be passed to the hook. If no " -"hook has been set, *hook* may be ``None``." -msgstr "" - -#: ../../library/sys.rst:2155 -msgid "" -"A string containing the version number of the Python interpreter plus " -"additional information on the build number and compiler used. This string " -"is displayed when the interactive interpreter is started. Do not extract " -"version information out of it, rather, use :data:`version_info` and the " -"functions provided by the :mod:`platform` module." -msgstr "" - -#: ../../library/sys.rst:2164 -msgid "" -"The C API version for this interpreter. Programmers may find this useful " -"when debugging version conflicts between Python and extension modules." -msgstr "" - -#: ../../library/sys.rst:2170 -msgid "" -"A tuple containing the five components of the version number: *major*, " -"*minor*, *micro*, *releaselevel*, and *serial*. All values except " -"*releaselevel* are integers; the release level is ``'alpha'``, ``'beta'``, " -"``'candidate'``, or ``'final'``. The ``version_info`` value corresponding " -"to the Python version 2.0 is ``(2, 0, 0, 'final', 0)``. The components can " -"also be accessed by name, so ``sys.version_info[0]`` is equivalent to " -"``sys.version_info.major`` and so on." -msgstr "" - -#: ../../library/sys.rst:2178 -msgid "Added named component attributes." -msgstr "" - -#: ../../library/sys.rst:2183 -msgid "" -"This is an implementation detail of the warnings framework; do not modify " -"this value. Refer to the :mod:`warnings` module for more information on the" -" warnings framework." -msgstr "" - -#: ../../library/sys.rst:2190 -msgid "" -"The version number used to form registry keys on Windows platforms. This is " -"stored as string resource 1000 in the Python DLL. The value is normally the" -" major and minor versions of the running Python interpreter. It is provided" -" in the :mod:`sys` module for informational purposes; modifying this value " -"has no effect on the registry keys used by Python." -msgstr "" - -#: ../../library/sys.rst:2202 -msgid "" -"Namespace containing functions and constants for register callbacks and " -"controlling monitoring events. See :mod:`sys.monitoring` for details." -msgstr "" - -#: ../../library/sys.rst:2208 -msgid "" -"A dictionary of the various implementation-specific flags passed through the" -" :option:`-X` command-line option. Option names are either mapped to their " -"values, if given explicitly, or to :const:`True`. Example:" -msgstr "" - -#: ../../library/sys.rst:2212 -msgid "" -"$ ./python -Xa=b -Xc\n" -"Python 3.2a3+ (py3k, Oct 16 2010, 20:14:50)\n" -"[GCC 4.4.3] on linux2\n" -"Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n" -">>> import sys\n" -">>> sys._xoptions\n" -"{'a': 'b', 'c': True}" -msgstr "" - -#: ../../library/sys.rst:2224 -msgid "" -"This is a CPython-specific way of accessing options passed through " -":option:`-X`. Other implementations may export them through other means, or" -" not at all." -msgstr "" - -#: ../../library/sys.rst:2232 -msgid "Citations" -msgstr "" - -#: ../../library/sys.rst:2233 -msgid "" -"ISO/IEC 9899:1999. \"Programming languages -- C.\" A public draft of this " -"standard is available at https://www.open-" -"std.org/jtc1/sc22/wg14/www/docs/n1256.pdf\\ ." -msgstr "" - -#: ../../library/sys.rst:99 -msgid "auditing" -msgstr "" - -#: ../../library/sys.rst:461 -msgid "object" -msgstr "objek" - -#: ../../library/sys.rst:461 -msgid "traceback" -msgstr "" - -#: ../../library/sys.rst:988 ../../library/sys.rst:1660 -msgid "profile function" -msgstr "" - -#: ../../library/sys.rst:988 ../../library/sys.rst:1660 -msgid "profiler" -msgstr "" - -#: ../../library/sys.rst:997 ../../library/sys.rst:1743 -msgid "trace function" -msgstr "" - -#: ../../library/sys.rst:997 ../../library/sys.rst:1743 -msgid "debugger" -msgstr "" - -#: ../../library/sys.rst:1472 -msgid "module" -msgstr "modul" - -#: ../../library/sys.rst:1472 -msgid "search" -msgstr "" - -#: ../../library/sys.rst:1472 -msgid "path" -msgstr "" - -#: ../../library/sys.rst:1624 -msgid "interpreter prompts" -msgstr "" - -#: ../../library/sys.rst:1624 -msgid "prompts, interpreter" -msgstr "" - -#: ../../library/sys.rst:1624 -msgid ">>>" -msgstr "" - -#: ../../library/sys.rst:1624 -msgid "interpreter prompt" -msgstr "" - -#: ../../library/sys.rst:1624 -msgid "..." -msgstr "" diff --git a/python-newest.library--sys_monitoring/id.po b/python-newest.library--sys_monitoring/id.po deleted file mode 100644 index 209d2a6..0000000 --- a/python-newest.library--sys_monitoring/id.po +++ /dev/null @@ -1,633 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2023-09-08 14:16+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/sys.monitoring.rst:2 -msgid ":mod:`!sys.monitoring` --- Execution event monitoring" -msgstr "" - -#: ../../library/sys.monitoring.rst:13 -msgid "" -":mod:`sys.monitoring` is a namespace within the :mod:`sys` module, not an " -"independent module, so there is no need to ``import sys.monitoring``, simply" -" ``import sys`` and then use ``sys.monitoring``." -msgstr "" - -#: ../../library/sys.monitoring.rst:19 -msgid "" -"This namespace provides access to the functions and constants necessary to " -"activate and control event monitoring." -msgstr "" - -#: ../../library/sys.monitoring.rst:22 -msgid "" -"As programs execute, events occur that might be of interest to tools that " -"monitor execution. The :mod:`sys.monitoring` namespace provides means to " -"receive callbacks when events of interest occur." -msgstr "" - -#: ../../library/sys.monitoring.rst:26 -msgid "The monitoring API consists of three components:" -msgstr "" - -#: ../../library/sys.monitoring.rst:28 -msgid "`Tool identifiers`_" -msgstr "" - -#: ../../library/sys.monitoring.rst:29 -msgid "`Events`_" -msgstr "" - -#: ../../library/sys.monitoring.rst:30 -msgid ":ref:`Callbacks `" -msgstr "" - -#: ../../library/sys.monitoring.rst:33 -msgid "Tool identifiers" -msgstr "" - -#: ../../library/sys.monitoring.rst:35 -msgid "" -"A tool identifier is an integer and the associated name. Tool identifiers " -"are used to discourage tools from interfering with each other and to allow " -"multiple tools to operate at the same time. Currently tools are completely " -"independent and cannot be used to monitor each other. This restriction may " -"be lifted in the future." -msgstr "" - -#: ../../library/sys.monitoring.rst:41 -msgid "" -"Before registering or activating events, a tool should choose an identifier." -" Identifiers are integers in the range 0 to 5 inclusive." -msgstr "" - -#: ../../library/sys.monitoring.rst:45 -msgid "Registering and using tools" -msgstr "" - -#: ../../library/sys.monitoring.rst:49 -msgid "" -"Must be called before *tool_id* can be used. *tool_id* must be in the range " -"0 to 5 inclusive. Raises a :exc:`ValueError` if *tool_id* is in use." -msgstr "" - -#: ../../library/sys.monitoring.rst:55 -msgid "" -"Unregister all events and callback functions associated with *tool_id*." -msgstr "" - -#: ../../library/sys.monitoring.rst:59 -msgid "" -"Should be called once a tool no longer requires *tool_id*. Will call " -":func:`clear_tool_id` before releasing *tool_id*." -msgstr "" - -#: ../../library/sys.monitoring.rst:64 -msgid "" -"Returns the name of the tool if *tool_id* is in use, otherwise it returns " -"``None``. *tool_id* must be in the range 0 to 5 inclusive." -msgstr "" - -#: ../../library/sys.monitoring.rst:68 -msgid "" -"All IDs are treated the same by the VM with regard to events, but the " -"following IDs are pre-defined to make co-operation of tools easier::" -msgstr "" - -#: ../../library/sys.monitoring.rst:71 -msgid "" -"sys.monitoring.DEBUGGER_ID = 0\n" -"sys.monitoring.COVERAGE_ID = 1\n" -"sys.monitoring.PROFILER_ID = 2\n" -"sys.monitoring.OPTIMIZER_ID = 5" -msgstr "" - -#: ../../library/sys.monitoring.rst:78 -msgid "Events" -msgstr "" - -#: ../../library/sys.monitoring.rst:80 -msgid "The following events are supported:" -msgstr "" - -#: ../../library/sys.monitoring.rst:84 -msgid "A conditional branch goes left." -msgstr "" - -#: ../../library/sys.monitoring.rst:86 -msgid "" -"It is up to the tool to determine how to present \"left\" and \"right\" " -"branches. There is no guarantee which branch is \"left\" and which is " -"\"right\", except that it will be consistent for the duration of the " -"program." -msgstr "" - -#: ../../library/sys.monitoring.rst:92 -msgid "A conditional branch goes right." -msgstr "" - -#: ../../library/sys.monitoring.rst:96 -msgid "A call in Python code (event occurs before the call)." -msgstr "" - -#: ../../library/sys.monitoring.rst:100 -msgid "" -"An exception raised from any callable, except for Python functions (event " -"occurs after the exit)." -msgstr "" - -#: ../../library/sys.monitoring.rst:104 -msgid "" -"Return from any callable, except for Python functions (event occurs after " -"the return)." -msgstr "" - -#: ../../library/sys.monitoring.rst:108 -msgid "An exception is handled." -msgstr "" - -#: ../../library/sys.monitoring.rst:112 -msgid "A VM instruction is about to be executed." -msgstr "" - -#: ../../library/sys.monitoring.rst:116 -msgid "An unconditional jump in the control flow graph is made." -msgstr "" - -#: ../../library/sys.monitoring.rst:120 -msgid "" -"An instruction is about to be executed that has a different line number from" -" the preceding instruction." -msgstr "" - -#: ../../library/sys.monitoring.rst:124 -msgid "" -"Resumption of a Python function (for generator and coroutine functions), " -"except for ``throw()`` calls." -msgstr "" - -#: ../../library/sys.monitoring.rst:128 -msgid "" -"Return from a Python function (occurs immediately before the return, the " -"callee's frame will be on the stack)." -msgstr "" - -#: ../../library/sys.monitoring.rst:132 -msgid "" -"Start of a Python function (occurs immediately after the call, the callee's " -"frame will be on the stack)" -msgstr "" - -#: ../../library/sys.monitoring.rst:136 -msgid "A Python function is resumed by a ``throw()`` call." -msgstr "" - -#: ../../library/sys.monitoring.rst:140 -msgid "Exit from a Python function during exception unwinding." -msgstr "" - -#: ../../library/sys.monitoring.rst:144 -msgid "" -"Yield from a Python function (occurs immediately before the yield, the " -"callee's frame will be on the stack)." -msgstr "" - -#: ../../library/sys.monitoring.rst:148 -msgid "" -"An exception is raised, except those that cause a :monitoring-" -"event:`STOP_ITERATION` event." -msgstr "" - -#: ../../library/sys.monitoring.rst:152 -msgid "" -"An exception is re-raised, for example at the end of a :keyword:`finally` " -"block." -msgstr "" - -#: ../../library/sys.monitoring.rst:156 -msgid "" -"An artificial :exc:`StopIteration` is raised; see `the STOP_ITERATION " -"event`_." -msgstr "" - -#: ../../library/sys.monitoring.rst:159 -msgid "More events may be added in the future." -msgstr "" - -#: ../../library/sys.monitoring.rst:161 -msgid "" -"These events are attributes of the :mod:`!sys.monitoring.events` namespace. " -"Each event is represented as a power-of-2 integer constant. To define a set " -"of events, simply bitwise OR the individual events together. For example, to" -" specify both :monitoring-event:`PY_RETURN` and :monitoring-event:`PY_START`" -" events, use the expression ``PY_RETURN | PY_START``." -msgstr "" - -#: ../../library/sys.monitoring.rst:169 -msgid "An alias for ``0`` so users can do explicit comparisons like::" -msgstr "" - -#: ../../library/sys.monitoring.rst:171 -msgid "" -"if get_events(DEBUGGER_ID) == NO_EVENTS:\n" -" ..." -msgstr "" - -#: ../../library/sys.monitoring.rst:174 -msgid "Events are divided into three groups:" -msgstr "" - -#: ../../library/sys.monitoring.rst:179 -msgid "Local events" -msgstr "" - -#: ../../library/sys.monitoring.rst:181 -msgid "" -"Local events are associated with normal execution of the program and happen " -"at clearly defined locations. All local events can be disabled. The local " -"events are:" -msgstr "" - -#: ../../library/sys.monitoring.rst:185 -msgid ":monitoring-event:`PY_START`" -msgstr "" - -#: ../../library/sys.monitoring.rst:186 -msgid ":monitoring-event:`PY_RESUME`" -msgstr "" - -#: ../../library/sys.monitoring.rst:187 -msgid ":monitoring-event:`PY_RETURN`" -msgstr "" - -#: ../../library/sys.monitoring.rst:188 -msgid ":monitoring-event:`PY_YIELD`" -msgstr "" - -#: ../../library/sys.monitoring.rst:189 -msgid ":monitoring-event:`CALL`" -msgstr "" - -#: ../../library/sys.monitoring.rst:190 -msgid ":monitoring-event:`LINE`" -msgstr "" - -#: ../../library/sys.monitoring.rst:191 -msgid ":monitoring-event:`INSTRUCTION`" -msgstr "" - -#: ../../library/sys.monitoring.rst:192 -msgid ":monitoring-event:`JUMP`" -msgstr "" - -#: ../../library/sys.monitoring.rst:193 -msgid ":monitoring-event:`BRANCH_LEFT`" -msgstr "" - -#: ../../library/sys.monitoring.rst:194 -msgid ":monitoring-event:`BRANCH_RIGHT`" -msgstr "" - -#: ../../library/sys.monitoring.rst:195 -msgid ":monitoring-event:`STOP_ITERATION`" -msgstr "" - -#: ../../library/sys.monitoring.rst:198 -msgid "Deprecated event" -msgstr "" - -#: ../../library/sys.monitoring.rst:200 -msgid "``BRANCH``" -msgstr "" - -#: ../../library/sys.monitoring.rst:202 -msgid "" -"The ``BRANCH`` event is deprecated in 3.14. Using :monitoring-" -"event:`BRANCH_LEFT` and :monitoring-event:`BRANCH_RIGHT` events will give " -"much better performance as they can be disabled independently." -msgstr "" - -#: ../../library/sys.monitoring.rst:208 -msgid "Ancillary events" -msgstr "" - -#: ../../library/sys.monitoring.rst:210 -msgid "" -"Ancillary events can be monitored like other events, but are controlled by " -"another event:" -msgstr "" - -#: ../../library/sys.monitoring.rst:213 -msgid ":monitoring-event:`C_RAISE`" -msgstr "" - -#: ../../library/sys.monitoring.rst:214 -msgid ":monitoring-event:`C_RETURN`" -msgstr "" - -#: ../../library/sys.monitoring.rst:216 -msgid "" -"The :monitoring-event:`C_RETURN` and :monitoring-event:`C_RAISE` events are " -"controlled by the :monitoring-event:`CALL` event. :monitoring-" -"event:`C_RETURN` and :monitoring-event:`C_RAISE` events will only be seen if" -" the corresponding :monitoring-event:`CALL` event is being monitored." -msgstr "" - -#: ../../library/sys.monitoring.rst:222 -msgid "Other events" -msgstr "" - -#: ../../library/sys.monitoring.rst:224 -msgid "" -"Other events are not necessarily tied to a specific location in the program " -"and cannot be individually disabled." -msgstr "" - -#: ../../library/sys.monitoring.rst:227 -msgid "The other events that can be monitored are:" -msgstr "" - -#: ../../library/sys.monitoring.rst:229 -msgid ":monitoring-event:`PY_THROW`" -msgstr "" - -#: ../../library/sys.monitoring.rst:230 -msgid ":monitoring-event:`PY_UNWIND`" -msgstr "" - -#: ../../library/sys.monitoring.rst:231 -msgid ":monitoring-event:`RAISE`" -msgstr "" - -#: ../../library/sys.monitoring.rst:232 -msgid ":monitoring-event:`EXCEPTION_HANDLED`" -msgstr "" - -#: ../../library/sys.monitoring.rst:236 -msgid "The STOP_ITERATION event" -msgstr "" - -#: ../../library/sys.monitoring.rst:238 -msgid "" -":pep:`PEP 380 <380#use-of-stopiteration-to-return-values>` specifies that a " -":exc:`StopIteration` exception is raised when returning a value from a " -"generator or coroutine. However, this is a very inefficient way to return a " -"value, so some Python implementations, notably CPython 3.12+, do not raise " -"an exception unless it would be visible to other code." -msgstr "" - -#: ../../library/sys.monitoring.rst:244 -msgid "" -"To allow tools to monitor for real exceptions without slowing down " -"generators and coroutines, the :monitoring-event:`STOP_ITERATION` event is " -"provided. :monitoring-event:`STOP_ITERATION` can be locally disabled, unlike" -" :monitoring-event:`RAISE`." -msgstr "" - -#: ../../library/sys.monitoring.rst:248 -msgid "" -"Note that the :monitoring-event:`STOP_ITERATION` event and the :monitoring-" -"event:`RAISE` event for a :exc:`StopIteration` exception are equivalent, and" -" are treated as interchangeable when generating events. Implementations will" -" favor :monitoring-event:`STOP_ITERATION` for performance reasons, but may " -"generate a :monitoring-event:`RAISE` event with a :exc:`StopIteration`." -msgstr "" - -#: ../../library/sys.monitoring.rst:254 -msgid "Turning events on and off" -msgstr "" - -#: ../../library/sys.monitoring.rst:256 -msgid "" -"In order to monitor an event, it must be turned on and a corresponding " -"callback must be registered. Events can be turned on or off by setting the " -"events either globally or for a particular code object." -msgstr "" - -#: ../../library/sys.monitoring.rst:263 -msgid "Setting events globally" -msgstr "" - -#: ../../library/sys.monitoring.rst:265 -msgid "" -"Events can be controlled globally by modifying the set of events being " -"monitored." -msgstr "" - -#: ../../library/sys.monitoring.rst:269 -msgid "Returns the ``int`` representing all the active events." -msgstr "" - -#: ../../library/sys.monitoring.rst:273 -msgid "" -"Activates all events which are set in *event_set*. Raises a " -":exc:`ValueError` if *tool_id* is not in use." -msgstr "" - -#: ../../library/sys.monitoring.rst:276 -msgid "No events are active by default." -msgstr "" - -#: ../../library/sys.monitoring.rst:279 -msgid "Per code object events" -msgstr "" - -#: ../../library/sys.monitoring.rst:281 -msgid "" -"Events can also be controlled on a per code object basis. The functions " -"defined below which accept a :class:`types.CodeType` should be prepared to " -"accept a look-alike object from functions which are not defined in Python " -"(see :ref:`c-api-monitoring`)." -msgstr "" - -#: ../../library/sys.monitoring.rst:288 -msgid "Returns all the local events for *code*" -msgstr "" - -#: ../../library/sys.monitoring.rst:292 -msgid "" -"Activates all the local events for *code* which are set in *event_set*. " -"Raises a :exc:`ValueError` if *tool_id* is not in use." -msgstr "" - -#: ../../library/sys.monitoring.rst:295 -msgid "" -"Local events add to global events, but do not mask them. In other words, all" -" global events will trigger for a code object, regardless of the local " -"events." -msgstr "" - -#: ../../library/sys.monitoring.rst:301 -msgid "Disabling events" -msgstr "" - -#: ../../library/sys.monitoring.rst:305 -msgid "" -"A special value that can be returned from a callback function to disable " -"events for the current code location." -msgstr "" - -#: ../../library/sys.monitoring.rst:308 -msgid "" -"Local events can be disabled for a specific code location by returning " -":data:`sys.monitoring.DISABLE` from a callback function. This does not " -"change which events are set, or any other code locations for the same event." -msgstr "" - -#: ../../library/sys.monitoring.rst:312 -msgid "" -"Disabling events for specific locations is very important for high " -"performance monitoring. For example, a program can be run under a debugger " -"with no overhead if the debugger disables all monitoring except for a few " -"breakpoints." -msgstr "" - -#: ../../library/sys.monitoring.rst:319 -msgid "" -"Enable all the events that were disabled by :data:`sys.monitoring.DISABLE` " -"for all tools." -msgstr "" - -#: ../../library/sys.monitoring.rst:326 -msgid "Registering callback functions" -msgstr "" - -#: ../../library/sys.monitoring.rst:328 -msgid "To register a callable for events call" -msgstr "" - -#: ../../library/sys.monitoring.rst:332 -msgid "Registers the callable *func* for the *event* with the given *tool_id*" -msgstr "" - -#: ../../library/sys.monitoring.rst:334 -msgid "" -"If another callback was registered for the given *tool_id* and *event*, it " -"is unregistered and returned. Otherwise :func:`register_callback` returns " -"``None``." -msgstr "" - -#: ../../library/sys.monitoring.rst:339 -msgid "" -"Functions can be unregistered by calling " -"``sys.monitoring.register_callback(tool_id, event, None)``." -msgstr "" - -#: ../../library/sys.monitoring.rst:342 -msgid "Callback functions can be registered and unregistered at any time." -msgstr "" - -#: ../../library/sys.monitoring.rst:344 -msgid "" -"Registering or unregistering a callback function will generate a " -":func:`sys.audit` event." -msgstr "" - -#: ../../library/sys.monitoring.rst:348 -msgid "Callback function arguments" -msgstr "" - -#: ../../library/sys.monitoring.rst:352 -msgid "" -"A special value that is passed to a callback function to indicate that there" -" are no arguments to the call." -msgstr "" - -#: ../../library/sys.monitoring.rst:355 -msgid "" -"When an active event occurs, the registered callback function is called. " -"Different events will provide the callback function with different " -"arguments, as follows:" -msgstr "" - -#: ../../library/sys.monitoring.rst:358 -msgid ":monitoring-event:`PY_START` and :monitoring-event:`PY_RESUME`::" -msgstr "" - -#: ../../library/sys.monitoring.rst:360 ../../library/sys.monitoring.rst:389 -msgid "func(code: CodeType, instruction_offset: int) -> DISABLE | Any" -msgstr "" - -#: ../../library/sys.monitoring.rst:362 -msgid ":monitoring-event:`PY_RETURN` and :monitoring-event:`PY_YIELD`::" -msgstr "" - -#: ../../library/sys.monitoring.rst:364 -msgid "" -"func(code: CodeType, instruction_offset: int, retval: object) -> DISABLE | " -"Any" -msgstr "" - -#: ../../library/sys.monitoring.rst:366 -msgid "" -":monitoring-event:`CALL`, :monitoring-event:`C_RAISE` and :monitoring-" -"event:`C_RETURN`::" -msgstr "" - -#: ../../library/sys.monitoring.rst:368 -msgid "" -"func(code: CodeType, instruction_offset: int, callable: object, arg0: object" -" | MISSING) -> DISABLE | Any" -msgstr "" - -#: ../../library/sys.monitoring.rst:370 -msgid "" -"If there are no arguments, *arg0* is set to :data:`sys.monitoring.MISSING`." -msgstr "" - -#: ../../library/sys.monitoring.rst:372 -msgid "" -":monitoring-event:`RAISE`, :monitoring-event:`RERAISE`, :monitoring-" -"event:`EXCEPTION_HANDLED`, :monitoring-event:`PY_UNWIND`, :monitoring-" -"event:`PY_THROW` and :monitoring-event:`STOP_ITERATION`::" -msgstr "" - -#: ../../library/sys.monitoring.rst:375 -msgid "" -"func(code: CodeType, instruction_offset: int, exception: BaseException) -> " -"DISABLE | Any" -msgstr "" - -#: ../../library/sys.monitoring.rst:377 -msgid ":monitoring-event:`LINE`::" -msgstr "" - -#: ../../library/sys.monitoring.rst:379 -msgid "func(code: CodeType, line_number: int) -> DISABLE | Any" -msgstr "" - -#: ../../library/sys.monitoring.rst:381 -msgid "" -":monitoring-event:`BRANCH_LEFT`, :monitoring-event:`BRANCH_RIGHT` and " -":monitoring-event:`JUMP`::" -msgstr "" - -#: ../../library/sys.monitoring.rst:383 -msgid "" -"func(code: CodeType, instruction_offset: int, destination_offset: int) -> " -"DISABLE | Any" -msgstr "" - -#: ../../library/sys.monitoring.rst:385 -msgid "" -"Note that the *destination_offset* is where the code will next execute." -msgstr "" - -#: ../../library/sys.monitoring.rst:387 -msgid ":monitoring-event:`INSTRUCTION`::" -msgstr "" diff --git a/python-newest.library--sys_path_init/id.po b/python-newest.library--sys_path_init/id.po deleted file mode 100644 index ebb6cfd..0000000 --- a/python-newest.library--sys_path_init/id.po +++ /dev/null @@ -1,218 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/sys_path_init.rst:4 -msgid "The initialization of the :data:`sys.path` module search path" -msgstr "" - -#: ../../library/sys_path_init.rst:6 -msgid "" -"A module search path is initialized when Python starts. This module search " -"path may be accessed at :data:`sys.path`." -msgstr "" - -#: ../../library/sys_path_init.rst:9 -msgid "" -"The first entry in the module search path is the directory that contains the" -" input script, if there is one. Otherwise, the first entry is the current " -"directory, which is the case when executing the interactive shell, a " -":option:`-c` command, or :option:`-m` module." -msgstr "" - -#: ../../library/sys_path_init.rst:14 -msgid "" -"The :envvar:`PYTHONPATH` environment variable is often used to add " -"directories to the search path. If this environment variable is found then " -"the contents are added to the module search path." -msgstr "" - -#: ../../library/sys_path_init.rst:20 -msgid "" -":envvar:`PYTHONPATH` will affect all installed Python versions/environments." -" Be wary of setting this in your shell profile or global environment " -"variables. The :mod:`site` module offers more nuanced techniques as " -"mentioned below." -msgstr "" - -#: ../../library/sys_path_init.rst:24 -msgid "" -"The next items added are the directories containing standard Python modules " -"as well as any :term:`extension module`\\s that these modules depend on. " -"Extension modules are ``.pyd`` files on Windows and ``.so`` files on other " -"platforms. The directory with the platform-independent Python modules is " -"called ``prefix``. The directory with the extension modules is called " -"``exec_prefix``." -msgstr "" - -#: ../../library/sys_path_init.rst:30 -msgid "" -"The :envvar:`PYTHONHOME` environment variable may be used to set the " -"``prefix`` and ``exec_prefix`` locations. Otherwise these directories are " -"found by using the Python executable as a starting point and then looking " -"for various 'landmark' files and directories. Note that any symbolic links " -"are followed so the real Python executable location is used as the search " -"starting point. The Python executable location is called ``home``." -msgstr "" - -#: ../../library/sys_path_init.rst:37 -msgid "" -"Once ``home`` is determined, the ``prefix`` directory is found by first " -"looking for :file:`python{majorversion}{minorversion}.zip` " -"(``python311.zip``). On Windows the zip archive is searched for in ``home`` " -"and on Unix the archive is expected to be in :file:`lib`. Note that the " -"expected zip archive location is added to the module search path even if the" -" archive does not exist. If no archive was found, Python on Windows will " -"continue the search for ``prefix`` by looking for :file:`Lib\\\\os.py`. " -"Python on Unix will look for " -":file:`lib/python{majorversion}.{minorversion}/os.py` " -"(``lib/python3.11/os.py``). On Windows ``prefix`` and ``exec_prefix`` are " -"the same, however on other platforms " -":file:`lib/python{majorversion}.{minorversion}/lib-dynload` " -"(``lib/python3.11/lib-dynload``) is searched for and used as an anchor for " -"``exec_prefix``. On some platforms :file:`lib` may be :file:`lib64` or " -"another value, see :data:`sys.platlibdir` and :envvar:`PYTHONPLATLIBDIR`." -msgstr "" - -#: ../../library/sys_path_init.rst:50 -msgid "" -"Once found, ``prefix`` and ``exec_prefix`` are available at " -":data:`sys.base_prefix` and :data:`sys.base_exec_prefix` respectively." -msgstr "" - -#: ../../library/sys_path_init.rst:53 -msgid "" -"If :envvar:`PYTHONHOME` is not set, and a ``pyvenv.cfg`` file is found " -"alongside the main executable, or in its parent directory, " -":data:`sys.prefix` and :data:`sys.exec_prefix` get set to the directory " -"containing ``pyvenv.cfg``, otherwise they are set to the same value as " -":data:`sys.base_prefix` and :data:`sys.base_exec_prefix`, respectively. This" -" is used by :ref:`sys-path-init-virtual-environments`." -msgstr "" - -#: ../../library/sys_path_init.rst:60 -msgid "" -"Finally, the :mod:`site` module is processed and :file:`site-packages` " -"directories are added to the module search path. A common way to customize " -"the search path is to create :mod:`sitecustomize` or :mod:`usercustomize` " -"modules as described in the :mod:`site` module documentation." -msgstr "" - -#: ../../library/sys_path_init.rst:67 -msgid "" -"Certain command line options may further affect path calculations. See " -":option:`-E`, :option:`-I`, :option:`-s` and :option:`-S` for further " -"details." -msgstr "" - -#: ../../library/sys_path_init.rst:72 -msgid "" -":data:`sys.prefix` and :data:`sys.exec_prefix` are now set to the " -"``pyvenv.cfg`` directory during the path initialization. This was previously" -" done by :mod:`site`, therefore affected by :option:`-S`." -msgstr "" - -#: ../../library/sys_path_init.rst:79 -msgid "Virtual Environments" -msgstr "" - -#: ../../library/sys_path_init.rst:81 -msgid "" -"Virtual environments place a ``pyvenv.cfg`` file in their prefix, which " -"causes :data:`sys.prefix` and :data:`sys.exec_prefix` to point to them, " -"instead of the base installation." -msgstr "" - -#: ../../library/sys_path_init.rst:85 -msgid "" -"The ``prefix`` and ``exec_prefix`` values of the base installation are " -"available at :data:`sys.base_prefix` and :data:`sys.base_exec_prefix`." -msgstr "" - -#: ../../library/sys_path_init.rst:88 -msgid "" -"As well as being used as a marker to identify virtual environments, " -"``pyvenv.cfg`` may also be used to configure the :mod:`site` initialization." -" Please refer to :mod:`site`'s :ref:`virtual environments documentation " -"`." -msgstr "" - -#: ../../library/sys_path_init.rst:95 -msgid ":envvar:`PYTHONHOME` overrides the ``pyvenv.cfg`` detection." -msgstr "" - -#: ../../library/sys_path_init.rst:99 -msgid "" -"There are other ways how \"virtual environments\" could be implemented, this" -" documentation refers implementations based on the ``pyvenv.cfg`` mechanism," -" such as :mod:`venv`. Most virtual environment implementations follow the " -"model set by :mod:`venv`, but there may be exotic implementations that " -"diverge from it." -msgstr "" - -#: ../../library/sys_path_init.rst:106 -msgid "_pth files" -msgstr "" - -#: ../../library/sys_path_init.rst:108 -msgid "" -"To completely override :data:`sys.path` create a ``._pth`` file with the " -"same name as the shared library or executable (``python._pth`` or " -"``python311._pth``). The shared library path is always known on Windows, " -"however it may not be available on other platforms. In the ``._pth`` file " -"specify one line for each path to add to :data:`sys.path`. The file based on" -" the shared library name overrides the one based on the executable, which " -"allows paths to be restricted for any program loading the runtime if " -"desired." -msgstr "" - -#: ../../library/sys_path_init.rst:116 -msgid "" -"When the file exists, all registry and environment variables are ignored, " -"isolated mode is enabled, and :mod:`site` is not imported unless one line in" -" the file specifies ``import site``. Blank paths and lines starting with " -"``#`` are ignored. Each path may be absolute or relative to the location of " -"the file. Import statements other than to ``site`` are not permitted, and " -"arbitrary code cannot be specified." -msgstr "" - -#: ../../library/sys_path_init.rst:123 -msgid "" -"Note that ``.pth`` files (without leading underscore) will be processed " -"normally by the :mod:`site` module when ``import site`` has been specified." -msgstr "" - -#: ../../library/sys_path_init.rst:127 -msgid "Embedded Python" -msgstr "" - -#: ../../library/sys_path_init.rst:129 -msgid "" -"If Python is embedded within another application " -":c:func:`Py_InitializeFromConfig` and the :c:type:`PyConfig` structure can " -"be used to initialize Python. The path specific details are described at " -":ref:`init-path-config`." -msgstr "" - -#: ../../library/sys_path_init.rst:135 -msgid ":ref:`windows_finding_modules` for detailed Windows notes." -msgstr "" - -#: ../../library/sys_path_init.rst:136 -msgid ":ref:`using-on-unix` for Unix details." -msgstr "" diff --git a/python-newest.library--sysconfig/id.po b/python-newest.library--sysconfig/id.po deleted file mode 100644 index 7901270..0000000 --- a/python-newest.library--sysconfig/id.po +++ /dev/null @@ -1,786 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/sysconfig.rst:2 -msgid "" -":mod:`!sysconfig` --- Provide access to Python's configuration information" -msgstr "" - -#: ../../library/sysconfig.rst:12 -msgid "**Source code:** :source:`Lib/sysconfig`" -msgstr "" - -#: ../../library/sysconfig.rst:19 -msgid "" -"The :mod:`sysconfig` module provides access to Python's configuration " -"information like the list of installation paths and the configuration " -"variables relevant for the current platform." -msgstr "" - -#: ../../library/sysconfig.rst:25 -msgid "Configuration variables" -msgstr "" - -#: ../../library/sysconfig.rst:27 -msgid "" -"A Python distribution contains a :file:`Makefile` and a :file:`pyconfig.h` " -"header file that are necessary to build both the Python binary itself and " -"third-party C extensions compiled using ``setuptools``." -msgstr "" - -#: ../../library/sysconfig.rst:31 -msgid "" -":mod:`sysconfig` puts all variables found in these files in a dictionary " -"that can be accessed using :func:`get_config_vars` or " -":func:`get_config_var`." -msgstr "" - -#: ../../library/sysconfig.rst:34 -msgid "Notice that on Windows, it's a much smaller set." -msgstr "" - -#: ../../library/sysconfig.rst:38 -msgid "" -"With no arguments, return a dictionary of all configuration variables " -"relevant for the current platform." -msgstr "" - -#: ../../library/sysconfig.rst:41 -msgid "" -"With arguments, return a list of values that result from looking up each " -"argument in the configuration variable dictionary." -msgstr "" - -#: ../../library/sysconfig.rst:44 -msgid "For each argument, if the value is not found, return ``None``." -msgstr "" - -#: ../../library/sysconfig.rst:49 -msgid "" -"Return the value of a single variable *name*. Equivalent to " -"``get_config_vars().get(name)``." -msgstr "" - -#: ../../library/sysconfig.rst:52 -msgid "If *name* is not found, return ``None``." -msgstr "" - -#: ../../library/sysconfig.rst:54 -msgid "Example of usage::" -msgstr "" - -#: ../../library/sysconfig.rst:56 -msgid "" -">>> import sysconfig\n" -">>> sysconfig.get_config_var('Py_ENABLE_SHARED')\n" -"0\n" -">>> sysconfig.get_config_var('LIBDIR')\n" -"'/usr/local/lib'\n" -">>> sysconfig.get_config_vars('AR', 'CXX')\n" -"['ar', 'g++']" -msgstr "" - -#: ../../library/sysconfig.rst:68 -msgid "Installation paths" -msgstr "" - -#: ../../library/sysconfig.rst:70 -msgid "" -"Python uses an installation scheme that differs depending on the platform " -"and on the installation options. These schemes are stored in " -":mod:`sysconfig` under unique identifiers based on the value returned by " -":const:`os.name`. The schemes are used by package installers to determine " -"where to copy files to." -msgstr "" - -#: ../../library/sysconfig.rst:75 -msgid "Python currently supports nine schemes:" -msgstr "" - -#: ../../library/sysconfig.rst:77 -msgid "" -"*posix_prefix*: scheme for POSIX platforms like Linux or macOS. This is the" -" default scheme used when Python or a component is installed." -msgstr "" - -#: ../../library/sysconfig.rst:79 -msgid "" -"*posix_home*: scheme for POSIX platforms, when the *home* option is used. " -"This scheme defines paths located under a specific home prefix." -msgstr "" - -#: ../../library/sysconfig.rst:81 -msgid "" -"*posix_user*: scheme for POSIX platforms, when the *user* option is used. " -"This scheme defines paths located under the user's home directory " -"(:const:`site.USER_BASE`)." -msgstr "" - -#: ../../library/sysconfig.rst:84 -msgid "" -"*posix_venv*: scheme for :mod:`Python virtual environments ` on POSIX " -"platforms; by default it is the same as *posix_prefix*." -msgstr "" - -#: ../../library/sysconfig.rst:86 -msgid "" -"*nt*: scheme for Windows. This is the default scheme used when Python or a " -"component is installed." -msgstr "" - -#: ../../library/sysconfig.rst:88 -msgid "*nt_user*: scheme for Windows, when the *user* option is used." -msgstr "" - -#: ../../library/sysconfig.rst:89 -msgid "" -"*nt_venv*: scheme for :mod:`Python virtual environments ` on Windows; " -"by default it is the same as *nt*." -msgstr "" - -#: ../../library/sysconfig.rst:91 -msgid "" -"*venv*: a scheme with values from either *posix_venv* or *nt_venv* depending" -" on the platform Python runs on." -msgstr "" - -#: ../../library/sysconfig.rst:93 -msgid "" -"*osx_framework_user*: scheme for macOS, when the *user* option is used." -msgstr "" - -#: ../../library/sysconfig.rst:95 -msgid "" -"Each scheme is itself composed of a series of paths and each path has a " -"unique identifier. Python currently uses eight paths:" -msgstr "" - -#: ../../library/sysconfig.rst:98 -msgid "" -"*stdlib*: directory containing the standard Python library files that are " -"not platform-specific." -msgstr "" - -#: ../../library/sysconfig.rst:100 -msgid "" -"*platstdlib*: directory containing the standard Python library files that " -"are platform-specific." -msgstr "" - -#: ../../library/sysconfig.rst:102 -msgid "*platlib*: directory for site-specific, platform-specific files." -msgstr "" - -#: ../../library/sysconfig.rst:103 -msgid "" -"*purelib*: directory for site-specific, non-platform-specific files ('pure' " -"Python)." -msgstr "" - -#: ../../library/sysconfig.rst:104 -msgid "" -"*include*: directory for non-platform-specific header files for the Python " -"C-API." -msgstr "" - -#: ../../library/sysconfig.rst:106 -msgid "" -"*platinclude*: directory for platform-specific header files for the Python " -"C-API." -msgstr "" - -#: ../../library/sysconfig.rst:108 -msgid "*scripts*: directory for script files." -msgstr "" - -#: ../../library/sysconfig.rst:109 -msgid "*data*: directory for data files." -msgstr "" - -#: ../../library/sysconfig.rst:115 -msgid "User scheme" -msgstr "" - -#: ../../library/sysconfig.rst:117 -msgid "" -"This scheme is designed to be the most convenient solution for users that " -"don't have write permission to the global site-packages directory or don't " -"want to install into it." -msgstr "" - -#: ../../library/sysconfig.rst:121 -msgid "" -"Files will be installed into subdirectories of :const:`site.USER_BASE` " -"(written as :file:`{userbase}` hereafter). This scheme installs pure Python" -" modules and extension modules in the same location (also known as " -":const:`site.USER_SITE`)." -msgstr "" - -#: ../../library/sysconfig.rst:126 -msgid "``posix_user``" -msgstr "" - -#: ../../library/sysconfig.rst:129 ../../library/sysconfig.rst:144 -#: ../../library/sysconfig.rst:159 ../../library/sysconfig.rst:187 -#: ../../library/sysconfig.rst:229 ../../library/sysconfig.rst:245 -msgid "Path" -msgstr "" - -#: ../../library/sysconfig.rst:129 ../../library/sysconfig.rst:144 -#: ../../library/sysconfig.rst:159 ../../library/sysconfig.rst:187 -#: ../../library/sysconfig.rst:229 ../../library/sysconfig.rst:245 -msgid "Installation directory" -msgstr "Direktori instalasi" - -#: ../../library/sysconfig.rst:131 ../../library/sysconfig.rst:146 -#: ../../library/sysconfig.rst:161 ../../library/sysconfig.rst:189 -#: ../../library/sysconfig.rst:231 ../../library/sysconfig.rst:247 -msgid "*stdlib*" -msgstr "" - -#: ../../library/sysconfig.rst:131 ../../library/sysconfig.rst:132 -msgid ":file:`{userbase}/lib/python{X.Y}`" -msgstr "" - -#: ../../library/sysconfig.rst:132 ../../library/sysconfig.rst:147 -#: ../../library/sysconfig.rst:162 ../../library/sysconfig.rst:190 -#: ../../library/sysconfig.rst:232 ../../library/sysconfig.rst:248 -msgid "*platstdlib*" -msgstr "" - -#: ../../library/sysconfig.rst:133 ../../library/sysconfig.rst:148 -#: ../../library/sysconfig.rst:163 ../../library/sysconfig.rst:191 -#: ../../library/sysconfig.rst:233 ../../library/sysconfig.rst:249 -msgid "*platlib*" -msgstr "" - -#: ../../library/sysconfig.rst:133 ../../library/sysconfig.rst:134 -msgid ":file:`{userbase}/lib/python{X.Y}/site-packages`" -msgstr ":file:`{userbase}/lib/python{X.Y}/site-packages`" - -#: ../../library/sysconfig.rst:134 ../../library/sysconfig.rst:149 -#: ../../library/sysconfig.rst:164 ../../library/sysconfig.rst:192 -#: ../../library/sysconfig.rst:234 ../../library/sysconfig.rst:250 -msgid "*purelib*" -msgstr "" - -#: ../../library/sysconfig.rst:135 ../../library/sysconfig.rst:150 -#: ../../library/sysconfig.rst:165 ../../library/sysconfig.rst:193 -#: ../../library/sysconfig.rst:235 ../../library/sysconfig.rst:251 -msgid "*include*" -msgstr "" - -#: ../../library/sysconfig.rst:135 ../../library/sysconfig.rst:165 -msgid ":file:`{userbase}/include/python{X.Y}`" -msgstr "" - -#: ../../library/sysconfig.rst:136 ../../library/sysconfig.rst:151 -#: ../../library/sysconfig.rst:166 ../../library/sysconfig.rst:195 -#: ../../library/sysconfig.rst:237 ../../library/sysconfig.rst:253 -msgid "*scripts*" -msgstr "*scripts*" - -#: ../../library/sysconfig.rst:136 ../../library/sysconfig.rst:166 -msgid ":file:`{userbase}/bin`" -msgstr ":file:`{userbase}/bin`" - -#: ../../library/sysconfig.rst:137 ../../library/sysconfig.rst:152 -#: ../../library/sysconfig.rst:167 ../../library/sysconfig.rst:196 -#: ../../library/sysconfig.rst:238 ../../library/sysconfig.rst:254 -msgid "*data*" -msgstr "" - -#: ../../library/sysconfig.rst:137 ../../library/sysconfig.rst:152 -#: ../../library/sysconfig.rst:167 -msgid ":file:`{userbase}`" -msgstr ":file:`{userbase}`" - -#: ../../library/sysconfig.rst:141 -msgid "``nt_user``" -msgstr "" - -#: ../../library/sysconfig.rst:146 ../../library/sysconfig.rst:147 -msgid ":file:`{userbase}\\\\Python{XY}`" -msgstr "" - -#: ../../library/sysconfig.rst:148 ../../library/sysconfig.rst:149 -msgid ":file:`{userbase}\\\\Python{XY}\\\\site-packages`" -msgstr ":file:`{userbase}\\\\Python{XY}\\\\site-packages`" - -#: ../../library/sysconfig.rst:150 -msgid ":file:`{userbase}\\\\Python{XY}\\\\Include`" -msgstr "" - -#: ../../library/sysconfig.rst:151 -msgid ":file:`{userbase}\\\\Python{XY}\\\\Scripts`" -msgstr ":file:`{userbase}\\\\Python{XY}\\\\Scripts`" - -#: ../../library/sysconfig.rst:156 -msgid "``osx_framework_user``" -msgstr "" - -#: ../../library/sysconfig.rst:161 ../../library/sysconfig.rst:162 -msgid ":file:`{userbase}/lib/python`" -msgstr "" - -#: ../../library/sysconfig.rst:163 ../../library/sysconfig.rst:164 -msgid ":file:`{userbase}/lib/python/site-packages`" -msgstr "" - -#: ../../library/sysconfig.rst:174 -msgid "Home scheme" -msgstr "" - -#: ../../library/sysconfig.rst:176 -msgid "" -"The idea behind the \"home scheme\" is that you build and maintain a " -"personal stash of Python modules. This scheme's name is derived from the " -"idea of a \"home\" directory on Unix, since it's not unusual for a Unix user" -" to make their home directory have a layout similar to :file:`/usr/` or " -":file:`/usr/local/`. This scheme can be used by anyone, regardless of the " -"operating system they are installing for." -msgstr "" -"Ide di balik \"skema home\" adalah Anda membangun dan memelihara simpanan " -"pribadi modul Python. Nama skema ini berasal dari ide direktori \"home\" di " -"Unix, karena bukan hal yang aneh bagi pengguna Unix untuk membuat direktori " -"home mereka memiliki layout yang mirip dengan :file:`/usr/` atau " -":file:`/usr/local/`. Skema ini dapat digunakan oleh siapa saja, terlepas " -"dari sistem operasi yang mereka instal." - -#: ../../library/sysconfig.rst:184 -msgid "``posix_home``" -msgstr "" - -#: ../../library/sysconfig.rst:189 ../../library/sysconfig.rst:190 -#: ../../library/sysconfig.rst:191 ../../library/sysconfig.rst:192 -msgid ":file:`{home}/lib/python`" -msgstr ":file:`{home}/lib/python`" - -#: ../../library/sysconfig.rst:193 ../../library/sysconfig.rst:194 -msgid ":file:`{home}/include/python`" -msgstr "" - -#: ../../library/sysconfig.rst:194 ../../library/sysconfig.rst:236 -#: ../../library/sysconfig.rst:252 -msgid "*platinclude*" -msgstr "" - -#: ../../library/sysconfig.rst:195 -msgid ":file:`{home}/bin`" -msgstr ":file:`{home}/bin`" - -#: ../../library/sysconfig.rst:196 -msgid ":file:`{home}`" -msgstr ":file:`{home}`" - -#: ../../library/sysconfig.rst:203 -msgid "Prefix scheme" -msgstr "" - -#: ../../library/sysconfig.rst:205 -msgid "" -"The \"prefix scheme\" is useful when you wish to use one Python installation" -" to perform the build/install (i.e., to run the setup script), but install " -"modules into the third-party module directory of a different Python " -"installation (or something that looks like a different Python installation)." -" If this sounds a trifle unusual, it is---that's why the user and home " -"schemes come before. However, there are at least two known cases where the " -"prefix scheme will be useful." -msgstr "" -"\"Skema prefiks\" berguna ketika Anda ingin menggunakan satu instalasi " -"Python untuk melakukan build/install (yaitu, untuk menjalankan skrip " -"pengaturan), tetapi menginstal modul ke direktori modul pihak ketiga dari " -"instalasi Python yang berbeda (atau sesuatu yang terlihat seperti instalasi " -"Python yang berbeda). Jika ini terdengar agak tidak biasa, itulah mengapa " -"skema pengguna dan home datang sebelumnya. Namun, setidaknya ada dua kasus " -"yang diketahui di mana skema prefiks akan berguna." - -#: ../../library/sysconfig.rst:212 -msgid "" -"First, consider that many Linux distributions put Python in :file:`/usr`, " -"rather than the more traditional :file:`/usr/local`. This is entirely " -"appropriate, since in those cases Python is part of \"the system\" rather " -"than a local add-on. However, if you are installing Python modules from " -"source, you probably want them to go in :file:`/usr/local/lib/python2.{X}` " -"rather than :file:`/usr/lib/python2.{X}`." -msgstr "" - -#: ../../library/sysconfig.rst:219 -msgid "" -"Another possibility is a network filesystem where the name used to write to " -"a remote directory is different from the name used to read it: for example, " -"the Python interpreter accessed as :file:`/usr/local/bin/python` might " -"search for modules in :file:`/usr/local/lib/python2.{X}`, but those modules " -"would have to be installed to, say, " -":file:`/mnt/{@server}/export/lib/python2.{X}`." -msgstr "" - -#: ../../library/sysconfig.rst:226 -msgid "``posix_prefix``" -msgstr "" - -#: ../../library/sysconfig.rst:231 ../../library/sysconfig.rst:232 -msgid ":file:`{prefix}/lib/python{X.Y}`" -msgstr "" - -#: ../../library/sysconfig.rst:233 ../../library/sysconfig.rst:234 -msgid ":file:`{prefix}/lib/python{X.Y}/site-packages`" -msgstr ":file:`{prefix}/lib/python{X.Y}/site-packages`" - -#: ../../library/sysconfig.rst:235 ../../library/sysconfig.rst:236 -msgid ":file:`{prefix}/include/python{X.Y}`" -msgstr "" - -#: ../../library/sysconfig.rst:237 -msgid ":file:`{prefix}/bin`" -msgstr ":file:`{prefix}/bin`" - -#: ../../library/sysconfig.rst:238 ../../library/sysconfig.rst:254 -msgid ":file:`{prefix}`" -msgstr ":file:`{prefix}`" - -#: ../../library/sysconfig.rst:242 -msgid "``nt``" -msgstr "" - -#: ../../library/sysconfig.rst:247 ../../library/sysconfig.rst:248 -msgid ":file:`{prefix}\\\\Lib`" -msgstr "" - -#: ../../library/sysconfig.rst:249 ../../library/sysconfig.rst:250 -msgid ":file:`{prefix}\\\\Lib\\\\site-packages`" -msgstr ":file:`{prefix}\\\\Lib\\\\site-packages`" - -#: ../../library/sysconfig.rst:251 ../../library/sysconfig.rst:252 -msgid ":file:`{prefix}\\\\Include`" -msgstr "" - -#: ../../library/sysconfig.rst:253 -msgid ":file:`{prefix}\\\\Scripts`" -msgstr ":file:`{prefix}\\\\Scripts`" - -#: ../../library/sysconfig.rst:259 -msgid "Installation path functions" -msgstr "" - -#: ../../library/sysconfig.rst:261 -msgid "" -":mod:`sysconfig` provides some functions to determine these installation " -"paths." -msgstr "" - -#: ../../library/sysconfig.rst:265 -msgid "" -"Return a tuple containing all schemes currently supported in " -":mod:`sysconfig`." -msgstr "" - -#: ../../library/sysconfig.rst:271 -msgid "Return the default scheme name for the current platform." -msgstr "" - -#: ../../library/sysconfig.rst:273 -msgid "" -"This function was previously named ``_get_default_scheme()`` and considered " -"an implementation detail." -msgstr "" - -#: ../../library/sysconfig.rst:277 -msgid "" -"When Python runs from a virtual environment, the *venv* scheme is returned." -msgstr "" - -#: ../../library/sysconfig.rst:283 -msgid "" -"Return a preferred scheme name for an installation layout specified by " -"*key*." -msgstr "" - -#: ../../library/sysconfig.rst:285 -msgid "*key* must be either ``\"prefix\"``, ``\"home\"``, or ``\"user\"``." -msgstr "" - -#: ../../library/sysconfig.rst:287 -msgid "" -"The return value is a scheme name listed in :func:`get_scheme_names`. It can" -" be passed to :mod:`sysconfig` functions that take a *scheme* argument, such" -" as :func:`get_paths`." -msgstr "" - -#: ../../library/sysconfig.rst:293 -msgid "" -"When Python runs from a virtual environment and ``key=\"prefix\"``, the " -"*venv* scheme is returned." -msgstr "" - -#: ../../library/sysconfig.rst:300 -msgid "" -"Return a dict containing preferred scheme names on the current platform. " -"Python implementers and redistributors may add their preferred schemes to " -"the ``_INSTALL_SCHEMES`` module-level global value, and modify this function" -" to return those scheme names, to e.g. provide different schemes for system " -"and language package managers to use, so packages installed by either do not" -" mix with those by the other." -msgstr "" - -#: ../../library/sysconfig.rst:307 -msgid "" -"End users should not use this function, but :func:`get_default_scheme` and " -":func:`get_preferred_scheme` instead." -msgstr "" - -#: ../../library/sysconfig.rst:315 -msgid "" -"Return a tuple containing all path names currently supported in " -":mod:`sysconfig`." -msgstr "" - -#: ../../library/sysconfig.rst:321 -msgid "" -"Return an installation path corresponding to the path *name*, from the " -"install scheme named *scheme*." -msgstr "" - -#: ../../library/sysconfig.rst:324 -msgid "" -"*name* has to be a value from the list returned by :func:`get_path_names`." -msgstr "" - -#: ../../library/sysconfig.rst:326 -msgid "" -":mod:`sysconfig` stores installation paths corresponding to each path name, " -"for each platform, with variables to be expanded. For instance the *stdlib*" -" path for the *nt* scheme is: ``{base}/Lib``." -msgstr "" - -#: ../../library/sysconfig.rst:330 -msgid "" -":func:`get_path` will use the variables returned by :func:`get_config_vars` " -"to expand the path. All variables have default values for each platform so " -"one may call this function and get the default value." -msgstr "" - -#: ../../library/sysconfig.rst:334 -msgid "" -"If *scheme* is provided, it must be a value from the list returned by " -":func:`get_scheme_names`. Otherwise, the default scheme for the current " -"platform is used." -msgstr "" - -#: ../../library/sysconfig.rst:338 -msgid "" -"If *vars* is provided, it must be a dictionary of variables that will update" -" the dictionary returned by :func:`get_config_vars`." -msgstr "" - -#: ../../library/sysconfig.rst:341 -msgid "" -"If *expand* is set to ``False``, the path will not be expanded using the " -"variables." -msgstr "" - -#: ../../library/sysconfig.rst:344 -msgid "If *name* is not found, raise a :exc:`KeyError`." -msgstr "" - -#: ../../library/sysconfig.rst:349 -msgid "" -"Return a dictionary containing all installation paths corresponding to an " -"installation scheme. See :func:`get_path` for more information." -msgstr "" - -#: ../../library/sysconfig.rst:352 -msgid "" -"If *scheme* is not provided, will use the default scheme for the current " -"platform." -msgstr "" - -#: ../../library/sysconfig.rst:355 -msgid "" -"If *vars* is provided, it must be a dictionary of variables that will update" -" the dictionary used to expand the paths." -msgstr "" - -#: ../../library/sysconfig.rst:358 -msgid "If *expand* is set to false, the paths will not be expanded." -msgstr "" - -#: ../../library/sysconfig.rst:360 -msgid "" -"If *scheme* is not an existing scheme, :func:`get_paths` will raise a " -":exc:`KeyError`." -msgstr "" - -#: ../../library/sysconfig.rst:365 -msgid "Other functions" -msgstr "" - -#: ../../library/sysconfig.rst:369 -msgid "" -"Return the ``MAJOR.MINOR`` Python version number as a string. Similar to " -"``'%d.%d' % sys.version_info[:2]``." -msgstr "" - -#: ../../library/sysconfig.rst:375 -msgid "Return a string that identifies the current platform." -msgstr "" - -#: ../../library/sysconfig.rst:377 -msgid "" -"This is used mainly to distinguish platform-specific build directories and " -"platform-specific built distributions. Typically includes the OS name and " -"version and the architecture (as supplied by :func:`os.uname`), although the" -" exact information included depends on the OS; e.g., on Linux, the kernel " -"version isn't particularly important." -msgstr "" - -#: ../../library/sysconfig.rst:383 -msgid "Examples of returned values:" -msgstr "" - -#: ../../library/sysconfig.rst:385 -msgid "linux-i586" -msgstr "" - -#: ../../library/sysconfig.rst:386 -msgid "linux-alpha (?)" -msgstr "" - -#: ../../library/sysconfig.rst:387 -msgid "solaris-2.6-sun4u" -msgstr "" - -#: ../../library/sysconfig.rst:389 -msgid "Windows will return one of:" -msgstr "" - -#: ../../library/sysconfig.rst:391 -msgid "win-amd64 (64-bit Windows on AMD64, aka x86_64, Intel64, and EM64T)" -msgstr "" - -#: ../../library/sysconfig.rst:392 -msgid "win-arm64 (64-bit Windows on ARM64, aka AArch64)" -msgstr "" - -#: ../../library/sysconfig.rst:393 -msgid "win32 (all others - specifically, sys.platform is returned)" -msgstr "" - -#: ../../library/sysconfig.rst:395 -msgid "macOS can return:" -msgstr "" - -#: ../../library/sysconfig.rst:397 -msgid "macosx-10.6-ppc" -msgstr "" - -#: ../../library/sysconfig.rst:398 -msgid "macosx-10.4-ppc64" -msgstr "" - -#: ../../library/sysconfig.rst:399 -msgid "macosx-10.3-i386" -msgstr "" - -#: ../../library/sysconfig.rst:400 -msgid "macosx-10.4-fat" -msgstr "" - -#: ../../library/sysconfig.rst:402 -msgid "" -"For other non-POSIX platforms, currently just returns :data:`sys.platform`." -msgstr "" - -#: ../../library/sysconfig.rst:407 -msgid "" -"Return ``True`` if the running Python interpreter was built from source and " -"is being run from its built location, and not from a location resulting from" -" e.g. running ``make install`` or installing via a binary installer." -msgstr "" - -#: ../../library/sysconfig.rst:414 -msgid "Parse a :file:`config.h`\\-style file." -msgstr "" - -#: ../../library/sysconfig.rst:416 -msgid "*fp* is a file-like object pointing to the :file:`config.h`\\-like file." -msgstr "" - -#: ../../library/sysconfig.rst:418 -msgid "" -"A dictionary containing name/value pairs is returned. If an optional " -"dictionary is passed in as the second argument, it is used instead of a new " -"dictionary, and updated with the values read in the file." -msgstr "" - -#: ../../library/sysconfig.rst:425 -msgid "Return the path of :file:`pyconfig.h`." -msgstr "" - -#: ../../library/sysconfig.rst:429 -msgid "Return the path of :file:`Makefile`." -msgstr "" - -#: ../../library/sysconfig.rst:435 -msgid "Command-line usage" -msgstr "" - -#: ../../library/sysconfig.rst:437 -msgid "You can use :mod:`sysconfig` as a script with Python's *-m* option:" -msgstr "" - -#: ../../library/sysconfig.rst:439 -msgid "" -"$ python -m sysconfig\n" -"Platform: \"macosx-10.4-i386\"\n" -"Python version: \"3.2\"\n" -"Current installation scheme: \"posix_prefix\"\n" -"\n" -"Paths:\n" -" data = \"/usr/local\"\n" -" include = \"/Users/tarek/Dev/svn.python.org/py3k/Include\"\n" -" platinclude = \".\"\n" -" platlib = \"/usr/local/lib/python3.2/site-packages\"\n" -" platstdlib = \"/usr/local/lib/python3.2\"\n" -" purelib = \"/usr/local/lib/python3.2/site-packages\"\n" -" scripts = \"/usr/local/bin\"\n" -" stdlib = \"/usr/local/lib/python3.2\"\n" -"\n" -"Variables:\n" -" AC_APPLE_UNIVERSAL_BUILD = \"0\"\n" -" AIX_GENUINE_CPLUSPLUS = \"0\"\n" -" AR = \"ar\"\n" -" ARFLAGS = \"rc\"\n" -" ..." -msgstr "" - -#: ../../library/sysconfig.rst:463 -msgid "" -"This call will print in the standard output the information returned by " -":func:`get_platform`, :func:`get_python_version`, :func:`get_path` and " -":func:`get_config_vars`." -msgstr "" - -#: ../../library/sysconfig.rst:14 -msgid "configuration information" -msgstr "" diff --git a/python-newest.library--syslog/id.po b/python-newest.library--syslog/id.po deleted file mode 100644 index 43ecfe5..0000000 --- a/python-newest.library--syslog/id.po +++ /dev/null @@ -1,219 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/syslog.rst:2 -msgid ":mod:`!syslog` --- Unix syslog library routines" -msgstr "" - -#: ../../library/syslog.rst:10 -msgid "" -"This module provides an interface to the Unix ``syslog`` library routines. " -"Refer to the Unix manual pages for a detailed description of the ``syslog`` " -"facility." -msgstr "" - -#: ../../library/syslog.rst:14 -msgid "Availability" -msgstr "" - -#: ../../library/syslog.rst:16 -msgid "" -"This module wraps the system ``syslog`` family of routines. A pure Python " -"library that can speak to a syslog server is available in the " -":mod:`logging.handlers` module as :class:`~logging.handlers.SysLogHandler`." -msgstr "" - -#: ../../library/syslog.rst:20 -msgid "The module defines the following functions:" -msgstr "" - -#: ../../library/syslog.rst:26 -msgid "" -"Send the string *message* to the system logger. A trailing newline is added" -" if necessary. Each message is tagged with a priority composed of a " -"*facility* and a *level*. The optional *priority* argument, which defaults " -"to :const:`LOG_INFO`, determines the message priority. If the facility is " -"not encoded in *priority* using logical-or (``LOG_INFO | LOG_USER``), the " -"value given in the :func:`openlog` call is used." -msgstr "" - -#: ../../library/syslog.rst:33 -msgid "" -"If :func:`openlog` has not been called prior to the call to :func:`syslog`, " -":func:`openlog` will be called with no arguments." -msgstr "" - -#: ../../library/syslog.rst:36 -msgid "" -"Raises an :ref:`auditing event ` ``syslog.syslog`` with arguments " -"``priority``, ``message``." -msgstr "" - -#: ../../library/syslog.rst:38 -msgid "" -"In previous versions, :func:`openlog` would not be called automatically if " -"it wasn't called prior to the call to :func:`syslog`, deferring to the " -"syslog implementation to call ``openlog()``." -msgstr "" - -#: ../../library/syslog.rst:43 -msgid "" -"This function is restricted in subinterpreters. (Only code that runs in " -"multiple interpreters is affected and the restriction is not relevant for " -"most users.) :func:`openlog` must be called in the main interpreter before " -":func:`syslog` may be used in a subinterpreter. Otherwise it will raise " -":exc:`RuntimeError`." -msgstr "" - -#: ../../library/syslog.rst:53 -msgid "" -"Logging options of subsequent :func:`syslog` calls can be set by calling " -":func:`openlog`. :func:`syslog` will call :func:`openlog` with no arguments" -" if the log is not currently open." -msgstr "" - -#: ../../library/syslog.rst:57 -msgid "" -"The optional *ident* keyword argument is a string which is prepended to " -"every message, and defaults to ``sys.argv[0]`` with leading path components " -"stripped. The optional *logoption* keyword argument (default is 0) is a bit" -" field -- see below for possible values to combine. The optional *facility*" -" keyword argument (default is :const:`LOG_USER`) sets the default facility " -"for messages which do not have a facility explicitly encoded." -msgstr "" - -#: ../../library/syslog.rst:64 -msgid "" -"Raises an :ref:`auditing event ` ``syslog.openlog`` with arguments" -" ``ident``, ``logoption``, ``facility``." -msgstr "" - -#: ../../library/syslog.rst:66 -msgid "" -"In previous versions, keyword arguments were not allowed, and *ident* was " -"required." -msgstr "" - -#: ../../library/syslog.rst:70 ../../library/syslog.rst:89 -msgid "" -"This function is restricted in subinterpreters. (Only code that runs in " -"multiple interpreters is affected and the restriction is not relevant for " -"most users.) This may only be called in the main interpreter. It will raise " -":exc:`RuntimeError` if called in a subinterpreter." -msgstr "" - -#: ../../library/syslog.rst:80 -msgid "" -"Reset the syslog module values and call the system library ``closelog()``." -msgstr "" - -#: ../../library/syslog.rst:82 -msgid "" -"This causes the module to behave as it does when initially imported. For " -"example, :func:`openlog` will be called on the first :func:`syslog` call (if" -" :func:`openlog` hasn't already been called), and *ident* and other " -":func:`openlog` parameters are reset to defaults." -msgstr "" - -#: ../../library/syslog.rst:87 -msgid "" -"Raises an :ref:`auditing event ` ``syslog.closelog`` with no " -"arguments." -msgstr "" - -#: ../../library/syslog.rst:99 -msgid "" -"Set the priority mask to *maskpri* and return the previous mask value. " -"Calls to :func:`syslog` with a priority level not set in *maskpri* are " -"ignored. The default is to log all priorities. The function " -"``LOG_MASK(pri)`` calculates the mask for the individual priority *pri*. " -"The function ``LOG_UPTO(pri)`` calculates the mask for all priorities up to " -"and including *pri*." -msgstr "" - -#: ../../library/syslog.rst:106 -msgid "" -"Raises an :ref:`auditing event ` ``syslog.setlogmask`` with " -"argument ``maskpri``." -msgstr "" - -#: ../../library/syslog.rst:108 -msgid "The module defines the following constants:" -msgstr "" - -#: ../../library/syslog.rst:120 -msgid "Priority levels (high to low)." -msgstr "" - -#: ../../library/syslog.rst:149 -msgid "" -"Facilities, depending on availability in ```` for " -":const:`LOG_AUTHPRIV`, :const:`LOG_FTP`, :const:`LOG_NETINFO`, " -":const:`LOG_REMOTEAUTH`, :const:`LOG_INSTALL` and :const:`LOG_RAS`." -msgstr "" - -#: ../../library/syslog.rst:153 -msgid "" -"Added :const:`LOG_FTP`, :const:`LOG_NETINFO`, :const:`LOG_REMOTEAUTH`, " -":const:`LOG_INSTALL`, :const:`LOG_RAS`, and :const:`LOG_LAUNCHD`." -msgstr "" - -#: ../../library/syslog.rst:164 -msgid "" -"Log options, depending on availability in ```` for " -":const:`LOG_ODELAY`, :const:`LOG_NOWAIT` and :const:`LOG_PERROR`." -msgstr "" - -#: ../../library/syslog.rst:169 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/syslog.rst:172 -msgid "Simple example" -msgstr "" - -#: ../../library/syslog.rst:174 -msgid "A simple set of examples::" -msgstr "" - -#: ../../library/syslog.rst:176 -msgid "" -"import syslog\n" -"\n" -"syslog.syslog('Processing started')\n" -"if error:\n" -" syslog.syslog(syslog.LOG_ERR, 'Processing started')" -msgstr "" - -#: ../../library/syslog.rst:182 -msgid "" -"An example of setting some log options, these would include the process ID " -"in logged messages, and write the messages to the destination facility used " -"for mail logging::" -msgstr "" - -#: ../../library/syslog.rst:186 -msgid "" -"syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)\n" -"syslog.syslog('E-mail processing initiated...')" -msgstr "" diff --git a/python-newest.library--tabnanny/id.po b/python-newest.library--tabnanny/id.po deleted file mode 100644 index 509d3b7..0000000 --- a/python-newest.library--tabnanny/id.po +++ /dev/null @@ -1,105 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Elmo , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tabnanny.rst:2 -msgid ":mod:`!tabnanny` --- Detection of ambiguous indentation" -msgstr "" - -#: ../../library/tabnanny.rst:13 -msgid "**Source code:** :source:`Lib/tabnanny.py`" -msgstr "**Kode sumber:** :source:`Lib/tabnanny.py`" - -#: ../../library/tabnanny.rst:17 -msgid "" -"For the time being this module is intended to be called as a script. However" -" it is possible to import it into an IDE and use the function :func:`check` " -"described below." -msgstr "" -"Untuk saat ini modul ini dimaksudkan untuk disebut sebagai script. Namun " -"memungkinkan untuk mengimpornya ke IDE dan menggunakan fungsi :func:`check` " -"yang dijelaskan di bawah ini." - -#: ../../library/tabnanny.rst:23 -msgid "" -"The API provided by this module is likely to change in future releases; such" -" changes may not be backward compatible." -msgstr "" -"API yang disediakan oleh modul ini kemungkinan besar akan berubah dalam " -"rilis mendatang; perubahan tersebut mungkin tidak kompatibel dengan versi " -"sebelumnya." - -#: ../../library/tabnanny.rst:29 -msgid "" -"If *file_or_dir* is a directory and not a symbolic link, then recursively " -"descend the directory tree named by *file_or_dir*, checking all :file:`.py` " -"files along the way. If *file_or_dir* is an ordinary Python source file, it" -" is checked for whitespace related problems. The diagnostic messages are " -"written to standard output using the :func:`print` function." -msgstr "" -"Jika *file_or_dir* adalah direktori dan bukan tautan simbolis, maka secara " -"rekursif turun pohon direktori yang dinamai oleh *file_or_dir*, memeriksa " -"semua file :file:`.py` di sepanjang jalan. Jika *file_or_dir* adalah file " -"sumber Python biasa, akan diperiksa untuk masalah terkait spasi. Pesan " -"diagnostik ditulis ke keluaran standar menggunakan fungsi :func:`print`." - -#: ../../library/tabnanny.rst:38 -msgid "" -"Flag indicating whether to print verbose messages. This is incremented by " -"the ``-v`` option if called as a script." -msgstr "" -"Penanda yang menunjukkan apakah akan mencetak pesan verbose. Ini bertambah " -"dengan opsi ``-v`` jika dipanggil sebagai skrip." - -#: ../../library/tabnanny.rst:44 -msgid "" -"Flag indicating whether to print only the filenames of files containing " -"whitespace related problems. This is set to true by the ``-q`` option if " -"called as a script." -msgstr "" -"Penanda yang menunjukkan apakah akan mencetak hanya nama file dari file yang" -" berisi masalah terkait spasi. Ini disetel ke true oleh opsi ``-q`` jika " -"dipanggil sebagai skrip." - -#: ../../library/tabnanny.rst:51 -msgid "" -"Raised by :func:`process_tokens` if detecting an ambiguous indent. Captured " -"and handled in :func:`check`." -msgstr "" -"Dibesarkan oleh :func:`process_tokens` jika mendeteksi indentasi yang " -"ambigu. Diambil dan ditangani di :func:`check`." - -#: ../../library/tabnanny.rst:57 -msgid "" -"This function is used by :func:`check` to process tokens generated by the " -":mod:`tokenize` module." -msgstr "" -"Fungsi ini digunakan oleh :func:`check` untuk memproses token yang dibuat " -"oleh modul :mod:`tokenize`." - -#: ../../library/tabnanny.rst:66 -msgid "Module :mod:`tokenize`" -msgstr "Modul :mod:`tokenize`" - -#: ../../library/tabnanny.rst:67 -msgid "Lexical scanner for Python source code." -msgstr "Pemindai leksikal untuk kode sumber Python." diff --git a/python-newest.library--tarfile/id.po b/python-newest.library--tarfile/id.po deleted file mode 100644 index 5188784..0000000 --- a/python-newest.library--tarfile/id.po +++ /dev/null @@ -1,1951 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Faiq Zakki <221709674@stis.ac.id>, 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tarfile.rst:2 -msgid ":mod:`!tarfile` --- Read and write tar archive files" -msgstr "" - -#: ../../library/tarfile.rst:10 -msgid "**Source code:** :source:`Lib/tarfile.py`" -msgstr "" - -#: ../../library/tarfile.rst:14 -msgid "" -"The :mod:`tarfile` module makes it possible to read and write tar archives, " -"including those using gzip, bz2 and lzma compression. Use the :mod:`zipfile`" -" module to read or write :file:`.zip` files, or the higher-level functions " -"in :ref:`shutil `." -msgstr "" - -#: ../../library/tarfile.rst:19 -msgid "Some facts and figures:" -msgstr "" - -#: ../../library/tarfile.rst:21 -msgid "" -"reads and writes :mod:`gzip`, :mod:`bz2` and :mod:`lzma` compressed archives" -" if the respective modules are available." -msgstr "" - -#: ../../library/tarfile.rst:24 -msgid "read/write support for the POSIX.1-1988 (ustar) format." -msgstr "" - -#: ../../library/tarfile.rst:26 -msgid "" -"read/write support for the GNU tar format including *longname* and " -"*longlink* extensions, read-only support for all variants of the *sparse* " -"extension including restoration of sparse files." -msgstr "" - -#: ../../library/tarfile.rst:30 -msgid "read/write support for the POSIX.1-2001 (pax) format." -msgstr "" - -#: ../../library/tarfile.rst:32 -msgid "" -"handles directories, regular files, hardlinks, symbolic links, fifos, " -"character devices and block devices and is able to acquire and restore file " -"information like timestamp, access permissions and owner." -msgstr "" - -#: ../../library/tarfile.rst:36 -msgid "Added support for :mod:`lzma` compression." -msgstr "" - -#: ../../library/tarfile.rst:39 -msgid "" -"Archives are extracted using a :ref:`filter `, " -"which makes it possible to either limit surprising/dangerous features, or to" -" acknowledge that they are expected and the archive is fully trusted." -msgstr "" - -#: ../../library/tarfile.rst:44 -msgid "" -"Set the default extraction filter to :func:`data `, which " -"disallows some dangerous features such as links to absolute paths or paths " -"outside of the destination. Previously, the filter strategy was equivalent " -"to :func:`fully_trusted `." -msgstr "" - -#: ../../library/tarfile.rst:52 -msgid "" -"Return a :class:`TarFile` object for the pathname *name*. For detailed " -"information on :class:`TarFile` objects and the keyword arguments that are " -"allowed, see :ref:`tarfile-objects`." -msgstr "" - -#: ../../library/tarfile.rst:56 -msgid "" -"*mode* has to be a string of the form ``'filemode[:compression]'``, it " -"defaults to ``'r'``. Here is a full list of mode combinations:" -msgstr "" - -#: ../../library/tarfile.rst:60 -msgid "mode" -msgstr "mode" - -#: ../../library/tarfile.rst:60 -msgid "action" -msgstr "aksi" - -#: ../../library/tarfile.rst:62 -msgid "``'r' or 'r:*'``" -msgstr "``'r' or 'r:*'``" - -#: ../../library/tarfile.rst:62 -msgid "Open for reading with transparent compression (recommended)." -msgstr "" - -#: ../../library/tarfile.rst:65 -msgid "``'r:'``" -msgstr "``'r:'``" - -#: ../../library/tarfile.rst:65 -msgid "Open for reading exclusively without compression." -msgstr "" - -#: ../../library/tarfile.rst:68 -msgid "``'r:gz'``" -msgstr "``'r:gz'``" - -#: ../../library/tarfile.rst:68 -msgid "Open for reading with gzip compression." -msgstr "" - -#: ../../library/tarfile.rst:70 -msgid "``'r:bz2'``" -msgstr "``'r:bz2'``" - -#: ../../library/tarfile.rst:70 -msgid "Open for reading with bzip2 compression." -msgstr "" - -#: ../../library/tarfile.rst:72 -msgid "``'r:xz'``" -msgstr "``'r:xz'``" - -#: ../../library/tarfile.rst:72 -msgid "Open for reading with lzma compression." -msgstr "" - -#: ../../library/tarfile.rst:74 -msgid "``'x'`` or ``'x:'``" -msgstr "``'x'`` or ``'x:'``" - -#: ../../library/tarfile.rst:74 -msgid "" -"Create a tarfile exclusively without compression. Raise a " -":exc:`FileExistsError` exception if it already exists." -msgstr "" - -#: ../../library/tarfile.rst:79 -msgid "``'x:gz'``" -msgstr "``'x:gz'``" - -#: ../../library/tarfile.rst:79 -msgid "" -"Create a tarfile with gzip compression. Raise a :exc:`FileExistsError` " -"exception if it already exists." -msgstr "" - -#: ../../library/tarfile.rst:83 -msgid "``'x:bz2'``" -msgstr "``'x:bz2'``" - -#: ../../library/tarfile.rst:83 -msgid "" -"Create a tarfile with bzip2 compression. Raise a :exc:`FileExistsError` " -"exception if it already exists." -msgstr "" - -#: ../../library/tarfile.rst:87 -msgid "``'x:xz'``" -msgstr "``'x:xz'``" - -#: ../../library/tarfile.rst:87 -msgid "" -"Create a tarfile with lzma compression. Raise a :exc:`FileExistsError` " -"exception if it already exists." -msgstr "" - -#: ../../library/tarfile.rst:91 -msgid "``'a' or 'a:'``" -msgstr "``'a' or 'a:'``" - -#: ../../library/tarfile.rst:91 -msgid "" -"Open for appending with no compression. The file is created if it does not " -"exist." -msgstr "" - -#: ../../library/tarfile.rst:94 -msgid "``'w' or 'w:'``" -msgstr "``'w' or 'w:'``" - -#: ../../library/tarfile.rst:94 -msgid "Open for uncompressed writing." -msgstr "" - -#: ../../library/tarfile.rst:96 -msgid "``'w:gz'``" -msgstr "``'w:gz'``" - -#: ../../library/tarfile.rst:96 -msgid "Open for gzip compressed writing." -msgstr "" - -#: ../../library/tarfile.rst:98 -msgid "``'w:bz2'``" -msgstr "``'w:bz2'``" - -#: ../../library/tarfile.rst:98 -msgid "Open for bzip2 compressed writing." -msgstr "" - -#: ../../library/tarfile.rst:100 -msgid "``'w:xz'``" -msgstr "``'w:xz'``" - -#: ../../library/tarfile.rst:100 -msgid "Open for lzma compressed writing." -msgstr "" - -#: ../../library/tarfile.rst:103 -msgid "" -"Note that ``'a:gz'``, ``'a:bz2'`` or ``'a:xz'`` is not possible. If *mode* " -"is not suitable to open a certain (compressed) file for reading, " -":exc:`ReadError` is raised. Use *mode* ``'r'`` to avoid this. If a " -"compression method is not supported, :exc:`CompressionError` is raised." -msgstr "" - -#: ../../library/tarfile.rst:108 -msgid "" -"If *fileobj* is specified, it is used as an alternative to a :term:`file " -"object` opened in binary mode for *name*. It is supposed to be at position " -"0." -msgstr "" - -#: ../../library/tarfile.rst:111 -msgid "" -"For modes ``'w:gz'``, ``'x:gz'``, ``'w|gz'``, ``'w:bz2'``, ``'x:bz2'``, " -"``'w|bz2'``, :func:`tarfile.open` accepts the keyword argument " -"*compresslevel* (default ``9``) to specify the compression level of the " -"file." -msgstr "" - -#: ../../library/tarfile.rst:115 -msgid "" -"For modes ``'w:xz'``, ``'x:xz'`` and ``'w|xz'``, :func:`tarfile.open` " -"accepts the keyword argument *preset* to specify the compression level of " -"the file." -msgstr "" - -#: ../../library/tarfile.rst:118 -msgid "" -"For special purposes, there is a second format for *mode*: " -"``'filemode|[compression]'``. :func:`tarfile.open` will return a " -":class:`TarFile` object that processes its data as a stream of blocks. No " -"random seeking will be done on the file. If given, *fileobj* may be any " -"object that has a :meth:`~io.RawIOBase.read` or :meth:`~io.RawIOBase.write` " -"method (depending on the *mode*) that works with bytes. *bufsize* specifies " -"the blocksize and defaults to ``20 * 512`` bytes. Use this variant in " -"combination with e.g. ``sys.stdin.buffer``, a socket :term:`file object` or " -"a tape device. However, such a :class:`TarFile` object is limited in that it" -" does not allow random access, see :ref:`tar-examples`. The currently " -"possible modes:" -msgstr "" - -#: ../../library/tarfile.rst:132 -msgid "Mode" -msgstr "" - -#: ../../library/tarfile.rst:132 -msgid "Action" -msgstr "" - -#: ../../library/tarfile.rst:134 -msgid "``'r|*'``" -msgstr "``'r|*'``" - -#: ../../library/tarfile.rst:134 -msgid "" -"Open a *stream* of tar blocks for reading with transparent compression." -msgstr "" - -#: ../../library/tarfile.rst:137 -msgid "``'r|'``" -msgstr "``'r|'``" - -#: ../../library/tarfile.rst:137 -msgid "Open a *stream* of uncompressed tar blocks for reading." -msgstr "" - -#: ../../library/tarfile.rst:140 -msgid "``'r|gz'``" -msgstr "``'r|gz'``" - -#: ../../library/tarfile.rst:140 -msgid "Open a gzip compressed *stream* for reading." -msgstr "" - -#: ../../library/tarfile.rst:143 -msgid "``'r|bz2'``" -msgstr "``'r|bz2'``" - -#: ../../library/tarfile.rst:143 -msgid "Open a bzip2 compressed *stream* for reading." -msgstr "" - -#: ../../library/tarfile.rst:146 -msgid "``'r|xz'``" -msgstr "``'r|xz'``" - -#: ../../library/tarfile.rst:146 -msgid "Open an lzma compressed *stream* for reading." -msgstr "" - -#: ../../library/tarfile.rst:149 -msgid "``'w|'``" -msgstr "``'w|'``" - -#: ../../library/tarfile.rst:149 -msgid "Open an uncompressed *stream* for writing." -msgstr "" - -#: ../../library/tarfile.rst:151 -msgid "``'w|gz'``" -msgstr "``'w|gz'``" - -#: ../../library/tarfile.rst:151 -msgid "Open a gzip compressed *stream* for writing." -msgstr "" - -#: ../../library/tarfile.rst:154 -msgid "``'w|bz2'``" -msgstr "``'w|bz2'``" - -#: ../../library/tarfile.rst:154 -msgid "Open a bzip2 compressed *stream* for writing." -msgstr "" - -#: ../../library/tarfile.rst:157 -msgid "``'w|xz'``" -msgstr "``'w|xz'``" - -#: ../../library/tarfile.rst:157 -msgid "Open an lzma compressed *stream* for writing." -msgstr "" - -#: ../../library/tarfile.rst:161 ../../library/tarfile.rst:431 -msgid "The ``'x'`` (exclusive creation) mode was added." -msgstr "" - -#: ../../library/tarfile.rst:164 ../../library/tarfile.rst:434 -#: ../../library/tarfile.rst:682 -msgid "The *name* parameter accepts a :term:`path-like object`." -msgstr "" - -#: ../../library/tarfile.rst:167 -msgid "The *compresslevel* keyword argument also works for streams." -msgstr "" - -#: ../../library/tarfile.rst:170 -msgid "The *preset* keyword argument also works for streams." -msgstr "" - -#: ../../library/tarfile.rst:177 -msgid "" -"Class for reading and writing tar archives. Do not use this class directly: " -"use :func:`tarfile.open` instead. See :ref:`tarfile-objects`." -msgstr "" - -#: ../../library/tarfile.rst:183 -msgid "" -"Return :const:`True` if *name* is a tar archive file, that the " -":mod:`tarfile` module can read. *name* may be a :class:`str`, file, or file-" -"like object." -msgstr "" - -#: ../../library/tarfile.rst:186 -msgid "Support for file and file-like objects." -msgstr "" - -#: ../../library/tarfile.rst:190 -msgid "The :mod:`tarfile` module defines the following exceptions:" -msgstr "" - -#: ../../library/tarfile.rst:195 -msgid "Base class for all :mod:`tarfile` exceptions." -msgstr "" - -#: ../../library/tarfile.rst:200 -msgid "" -"Is raised when a tar archive is opened, that either cannot be handled by the" -" :mod:`tarfile` module or is somehow invalid." -msgstr "" - -#: ../../library/tarfile.rst:206 -msgid "" -"Is raised when a compression method is not supported or when the data cannot" -" be decoded properly." -msgstr "" - -#: ../../library/tarfile.rst:212 -msgid "" -"Is raised for the limitations that are typical for stream-like " -":class:`TarFile` objects." -msgstr "" - -#: ../../library/tarfile.rst:218 -msgid "" -"Is raised for *non-fatal* errors when using :meth:`TarFile.extract`, but " -"only if :attr:`TarFile.errorlevel`\\ ``== 2``." -msgstr "" - -#: ../../library/tarfile.rst:224 -msgid "Is raised by :meth:`TarInfo.frombuf` if the buffer it gets is invalid." -msgstr "" - -#: ../../library/tarfile.rst:229 -msgid "" -"Base class for members :ref:`refused ` by " -"filters." -msgstr "" - -#: ../../library/tarfile.rst:234 -msgid "" -"Information about the member that the filter refused to extract, as " -":ref:`TarInfo `." -msgstr "" - -#: ../../library/tarfile.rst:239 -msgid "Raised to refuse extracting a member with an absolute path." -msgstr "" - -#: ../../library/tarfile.rst:243 -msgid "" -"Raised to refuse extracting a member outside the destination directory." -msgstr "" - -#: ../../library/tarfile.rst:247 -msgid "Raised to refuse extracting a special file (e.g. a device or pipe)." -msgstr "" - -#: ../../library/tarfile.rst:251 -msgid "Raised to refuse extracting a symbolic link with an absolute path." -msgstr "" - -#: ../../library/tarfile.rst:255 -msgid "" -"Raised to refuse extracting a symbolic link pointing outside the destination" -" directory." -msgstr "" - -#: ../../library/tarfile.rst:259 -msgid "The following constants are available at the module level:" -msgstr "" - -#: ../../library/tarfile.rst:263 -msgid "" -"The default character encoding: ``'utf-8'`` on Windows, the value returned " -"by :func:`sys.getfilesystemencoding` otherwise." -msgstr "" - -#: ../../library/tarfile.rst:269 -msgid "A regular file :attr:`~TarInfo.type`." -msgstr "" - -#: ../../library/tarfile.rst:273 -msgid "A link (inside tarfile) :attr:`~TarInfo.type`." -msgstr "" - -#: ../../library/tarfile.rst:277 -msgid "A symbolic link :attr:`~TarInfo.type`." -msgstr "" - -#: ../../library/tarfile.rst:281 -msgid "A character special device :attr:`~TarInfo.type`." -msgstr "" - -#: ../../library/tarfile.rst:285 -msgid "A block special device :attr:`~TarInfo.type`." -msgstr "" - -#: ../../library/tarfile.rst:289 -msgid "A directory :attr:`~TarInfo.type`." -msgstr "" - -#: ../../library/tarfile.rst:293 -msgid "A FIFO special device :attr:`~TarInfo.type`." -msgstr "" - -#: ../../library/tarfile.rst:297 -msgid "A contiguous file :attr:`~TarInfo.type`." -msgstr "" - -#: ../../library/tarfile.rst:301 -msgid "A GNU tar longname :attr:`~TarInfo.type`." -msgstr "" - -#: ../../library/tarfile.rst:305 -msgid "A GNU tar longlink :attr:`~TarInfo.type`." -msgstr "" - -#: ../../library/tarfile.rst:309 -msgid "A GNU tar sparse file :attr:`~TarInfo.type`." -msgstr "" - -#: ../../library/tarfile.rst:312 -msgid "" -"Each of the following constants defines a tar archive format that the " -":mod:`tarfile` module is able to create. See section :ref:`tar-formats` for " -"details." -msgstr "" - -#: ../../library/tarfile.rst:319 -msgid "POSIX.1-1988 (ustar) format." -msgstr "format POSIX.1-1988 (ustar)." - -#: ../../library/tarfile.rst:324 -msgid "GNU tar format." -msgstr "format GNU tar." - -#: ../../library/tarfile.rst:329 -msgid "POSIX.1-2001 (pax) format." -msgstr "format POSIX.1-2001 (pax)." - -#: ../../library/tarfile.rst:334 -msgid "" -"The default format for creating archives. This is currently " -":const:`PAX_FORMAT`." -msgstr "" - -#: ../../library/tarfile.rst:336 -msgid "" -"The default format for new archives was changed to :const:`PAX_FORMAT` from " -":const:`GNU_FORMAT`." -msgstr "" - -#: ../../library/tarfile.rst:343 -msgid "Module :mod:`zipfile`" -msgstr "Modul :mod:`zipfile`" - -#: ../../library/tarfile.rst:344 -msgid "Documentation of the :mod:`zipfile` standard module." -msgstr "" - -#: ../../library/tarfile.rst:346 -msgid ":ref:`archiving-operations`" -msgstr ":ref:`archiving-operations`" - -#: ../../library/tarfile.rst:347 -msgid "" -"Documentation of the higher-level archiving facilities provided by the " -"standard :mod:`shutil` module." -msgstr "" - -#: ../../library/tarfile.rst:350 -msgid "" -"`GNU tar manual, Basic Tar Format " -"`_" -msgstr "" - -#: ../../library/tarfile.rst:351 -msgid "Documentation for tar archive files, including GNU tar extensions." -msgstr "" - -#: ../../library/tarfile.rst:357 -msgid "TarFile Objects" -msgstr "Objek TarFile" - -#: ../../library/tarfile.rst:359 -msgid "" -"The :class:`TarFile` object provides an interface to a tar archive. A tar " -"archive is a sequence of blocks. An archive member (a stored file) is made " -"up of a header block followed by data blocks. It is possible to store a file" -" in a tar archive several times. Each archive member is represented by a " -":class:`TarInfo` object, see :ref:`tarinfo-objects` for details." -msgstr "" - -#: ../../library/tarfile.rst:365 -msgid "" -"A :class:`TarFile` object can be used as a context manager in a " -":keyword:`with` statement. It will automatically be closed when the block is" -" completed. Please note that in the event of an exception an archive opened " -"for writing will not be finalized; only the internally used file object will" -" be closed. See the :ref:`tar-examples` section for a use case." -msgstr "" - -#: ../../library/tarfile.rst:371 -msgid "Added support for the context management protocol." -msgstr "" - -#: ../../library/tarfile.rst:376 -msgid "" -"All following arguments are optional and can be accessed as instance " -"attributes as well." -msgstr "" - -#: ../../library/tarfile.rst:379 -msgid "" -"*name* is the pathname of the archive. *name* may be a :term:`path-like " -"object`. It can be omitted if *fileobj* is given. In this case, the file " -"object's :attr:`!name` attribute is used if it exists." -msgstr "" - -#: ../../library/tarfile.rst:383 -msgid "" -"*mode* is either ``'r'`` to read from an existing archive, ``'a'`` to append" -" data to an existing file, ``'w'`` to create a new file overwriting an " -"existing one, or ``'x'`` to create a new file only if it does not already " -"exist." -msgstr "" - -#: ../../library/tarfile.rst:387 -msgid "" -"If *fileobj* is given, it is used for reading or writing data. If it can be " -"determined, *mode* is overridden by *fileobj*'s mode. *fileobj* will be used" -" from position 0." -msgstr "" - -#: ../../library/tarfile.rst:393 -msgid "*fileobj* is not closed, when :class:`TarFile` is closed." -msgstr "" - -#: ../../library/tarfile.rst:395 -msgid "" -"*format* controls the archive format for writing. It must be one of the " -"constants :const:`USTAR_FORMAT`, :const:`GNU_FORMAT` or :const:`PAX_FORMAT` " -"that are defined at module level. When reading, format will be automatically" -" detected, even if different formats are present in a single archive." -msgstr "" - -#: ../../library/tarfile.rst:400 -msgid "" -"The *tarinfo* argument can be used to replace the default :class:`TarInfo` " -"class with a different one." -msgstr "" - -#: ../../library/tarfile.rst:403 -msgid "" -"If *dereference* is :const:`False`, add symbolic and hard links to the " -"archive. If it is :const:`True`, add the content of the target files to the " -"archive. This has no effect on systems that do not support symbolic links." -msgstr "" - -#: ../../library/tarfile.rst:407 -msgid "" -"If *ignore_zeros* is :const:`False`, treat an empty block as the end of the " -"archive. If it is :const:`True`, skip empty (and invalid) blocks and try to " -"get as many members as possible. This is only useful for reading " -"concatenated or damaged archives." -msgstr "" - -#: ../../library/tarfile.rst:411 -msgid "" -"*debug* can be set from ``0`` (no debug messages) up to ``3`` (all debug " -"messages). The messages are written to ``sys.stderr``." -msgstr "" - -#: ../../library/tarfile.rst:414 -msgid "" -"*errorlevel* controls how extraction errors are handled, see :attr:`the " -"corresponding attribute `." -msgstr "" - -#: ../../library/tarfile.rst:417 -msgid "" -"The *encoding* and *errors* arguments define the character encoding to be " -"used for reading or writing the archive and how conversion errors are going " -"to be handled. The default settings will work for most users. See section " -":ref:`tar-unicode` for in-depth information." -msgstr "" - -#: ../../library/tarfile.rst:422 -msgid "" -"The *pax_headers* argument is an optional dictionary of strings which will " -"be added as a pax global header if *format* is :const:`PAX_FORMAT`." -msgstr "" - -#: ../../library/tarfile.rst:425 -msgid "" -"If *stream* is set to :const:`True` then while reading the archive info " -"about files in the archive are not cached, saving memory." -msgstr "" - -#: ../../library/tarfile.rst:428 ../../library/tarfile.rst:751 -msgid "Use ``'surrogateescape'`` as the default for the *errors* argument." -msgstr "" - -#: ../../library/tarfile.rst:437 -msgid "Add the *stream* parameter." -msgstr "" - -#: ../../library/tarfile.rst:442 -msgid "" -"Alternative constructor. The :func:`tarfile.open` function is actually a " -"shortcut to this classmethod." -msgstr "" - -#: ../../library/tarfile.rst:448 -msgid "" -"Return a :class:`TarInfo` object for member *name*. If *name* can not be " -"found in the archive, :exc:`KeyError` is raised." -msgstr "" - -#: ../../library/tarfile.rst:453 -msgid "" -"If a member occurs more than once in the archive, its last occurrence is " -"assumed to be the most up-to-date version." -msgstr "" - -#: ../../library/tarfile.rst:459 -msgid "" -"Return the members of the archive as a list of :class:`TarInfo` objects. The" -" list has the same order as the members in the archive." -msgstr "" - -#: ../../library/tarfile.rst:465 -msgid "" -"Return the members as a list of their names. It has the same order as the " -"list returned by :meth:`getmembers`." -msgstr "" - -#: ../../library/tarfile.rst:471 -msgid "" -"Print a table of contents to ``sys.stdout``. If *verbose* is :const:`False`," -" only the names of the members are printed. If it is :const:`True`, output " -"similar to that of :program:`ls -l` is produced. If optional *members* is " -"given, it must be a subset of the list returned by :meth:`getmembers`." -msgstr "" - -#: ../../library/tarfile.rst:476 -msgid "Added the *members* parameter." -msgstr "" - -#: ../../library/tarfile.rst:482 -msgid "" -"Return the next member of the archive as a :class:`TarInfo` object, when " -":class:`TarFile` is opened for reading. Return :const:`None` if there is no " -"more available." -msgstr "" - -#: ../../library/tarfile.rst:489 -msgid "" -"Extract all members from the archive to the current working directory or " -"directory *path*. If optional *members* is given, it must be a subset of the" -" list returned by :meth:`getmembers`. Directory information like owner, " -"modification time and permissions are set after all members have been " -"extracted. This is done to work around two problems: A directory's " -"modification time is reset each time a file is created in it. And, if a " -"directory's permissions do not allow writing, extracting files to it will " -"fail." -msgstr "" - -#: ../../library/tarfile.rst:497 -msgid "" -"If *numeric_owner* is :const:`True`, the uid and gid numbers from the " -"tarfile are used to set the owner/group for the extracted files. Otherwise, " -"the named values from the tarfile are used." -msgstr "" - -#: ../../library/tarfile.rst:501 -msgid "" -"The *filter* argument specifies how ``members`` are modified or rejected " -"before extraction. See :ref:`tarfile-extraction-filter` for details. It is " -"recommended to set this explicitly only if specific *tar* features are " -"required, or as ``filter='data'`` to support Python versions with a less " -"secure default (3.13 and lower)." -msgstr "" - -#: ../../library/tarfile.rst:510 -msgid "" -"Never extract archives from untrusted sources without prior inspection." -msgstr "" - -#: ../../library/tarfile.rst:512 -msgid "" -"Since Python 3.14, the default (:func:`data `) will prevent the" -" most dangerous security issues. However, it will not prevent *all* " -"unintended or insecure behavior. Read the :ref:`tarfile-extraction-filter` " -"section for details." -msgstr "" - -#: ../../library/tarfile.rst:517 ../../library/tarfile.rst:554 -msgid "Added the *numeric_owner* parameter." -msgstr "" - -#: ../../library/tarfile.rst:520 ../../library/tarfile.rst:557 -msgid "The *path* parameter accepts a :term:`path-like object`." -msgstr "" - -#: ../../library/tarfile.rst:523 ../../library/tarfile.rst:560 -#: ../../library/tarfile.rst:644 -msgid "Added the *filter* parameter." -msgstr "" - -#: ../../library/tarfile.rst:526 -msgid "The *filter* parameter now defaults to ``'data'``." -msgstr "" - -#: ../../library/tarfile.rst:532 -msgid "" -"Extract a member from the archive to the current working directory, using " -"its full name. Its file information is extracted as accurately as possible. " -"*member* may be a filename or a :class:`TarInfo` object. You can specify a " -"different directory using *path*. *path* may be a :term:`path-like object`. " -"File attributes (owner, mtime, mode) are set unless *set_attrs* is false." -msgstr "" - -#: ../../library/tarfile.rst:538 -msgid "" -"The *numeric_owner* and *filter* arguments are the same as for " -":meth:`extractall`." -msgstr "" - -#: ../../library/tarfile.rst:543 -msgid "" -"The :meth:`extract` method does not take care of several extraction issues. " -"In most cases you should consider using the :meth:`extractall` method." -msgstr "" - -#: ../../library/tarfile.rst:548 -msgid "" -"Never extract archives from untrusted sources without prior inspection. See " -"the warning for :meth:`extractall` for details." -msgstr "" - -#: ../../library/tarfile.rst:551 -msgid "Added the *set_attrs* parameter." -msgstr "" - -#: ../../library/tarfile.rst:566 -msgid "" -"Extract a member from the archive as a file object. *member* may be a " -"filename or a :class:`TarInfo` object. If *member* is a regular file or a " -"link, an :class:`io.BufferedReader` object is returned. For all other " -"existing members, :const:`None` is returned. If *member* does not appear in " -"the archive, :exc:`KeyError` is raised." -msgstr "" - -#: ../../library/tarfile.rst:572 -msgid "Return an :class:`io.BufferedReader` object." -msgstr "" - -#: ../../library/tarfile.rst:575 -msgid "" -"The returned :class:`io.BufferedReader` object has the :attr:`!mode` " -"attribute which is always equal to ``'rb'``." -msgstr "" - -#: ../../library/tarfile.rst:582 -msgid "" -"If *errorlevel* is ``0``, errors are ignored when using " -":meth:`TarFile.extract` and :meth:`TarFile.extractall`. Nevertheless, they " -"appear as error messages in the debug output when *debug* is greater than 0." -" If ``1`` (the default), all *fatal* errors are raised as :exc:`OSError` or " -":exc:`FilterError` exceptions. If ``2``, all *non-fatal* errors are raised " -"as :exc:`TarError` exceptions as well." -msgstr "" - -#: ../../library/tarfile.rst:590 -msgid "" -"Some exceptions, e.g. ones caused by wrong argument types or data " -"corruption, are always raised." -msgstr "" - -#: ../../library/tarfile.rst:593 -msgid "" -"Custom :ref:`extraction filters ` should raise " -":exc:`FilterError` for *fatal* errors and :exc:`ExtractError` for *non-" -"fatal* ones." -msgstr "" - -#: ../../library/tarfile.rst:597 -msgid "" -"Note that when an exception is raised, the archive may be partially " -"extracted. It is the user’s responsibility to clean up." -msgstr "" - -#: ../../library/tarfile.rst:604 -msgid "" -"The :ref:`extraction filter ` used as a default " -"for the *filter* argument of :meth:`~TarFile.extract` and " -":meth:`~TarFile.extractall`." -msgstr "" - -#: ../../library/tarfile.rst:608 -msgid "" -"The attribute may be ``None`` or a callable. String names are not allowed " -"for this attribute, unlike the *filter* argument to " -":meth:`~TarFile.extract`." -msgstr "" - -#: ../../library/tarfile.rst:612 -msgid "" -"If ``extraction_filter`` is ``None`` (the default), extraction methods will " -"use the :func:`data ` filter by default." -msgstr "" - -#: ../../library/tarfile.rst:615 -msgid "" -"The attribute may be set on instances or overridden in subclasses. It also " -"is possible to set it on the ``TarFile`` class itself to set a global " -"default, although, since it affects all uses of *tarfile*, it is best " -"practice to only do so in top-level applications or :mod:`site configuration" -" `. To set a global default this way, a filter function needs to be " -"wrapped in :func:`staticmethod` to prevent injection of a ``self`` argument." -msgstr "" - -#: ../../library/tarfile.rst:625 -msgid "" -"The default filter is set to :func:`data `, which disallows " -"some dangerous features such as links to absolute paths or paths outside of " -"the destination. Previously, the default was equivalent to " -":func:`fully_trusted `." -msgstr "" - -#: ../../library/tarfile.rst:633 -msgid "" -"Add the file *name* to the archive. *name* may be any type of file " -"(directory, fifo, symbolic link, etc.). If given, *arcname* specifies an " -"alternative name for the file in the archive. Directories are added " -"recursively by default. This can be avoided by setting *recursive* to " -":const:`False`. Recursion adds entries in sorted order. If *filter* is " -"given, it should be a function that takes a :class:`TarInfo` object argument" -" and returns the changed :class:`TarInfo` object. If it instead returns " -":const:`None` the :class:`TarInfo` object will be excluded from the archive." -" See :ref:`tar-examples` for an example." -msgstr "" - -#: ../../library/tarfile.rst:647 -msgid "Recursion adds entries in sorted order." -msgstr "" - -#: ../../library/tarfile.rst:653 -msgid "" -"Add the :class:`TarInfo` object *tarinfo* to the archive. If *tarinfo* " -"represents a non zero-size regular file, the *fileobj* argument should be a " -":term:`binary file`, and ``tarinfo.size`` bytes are read from it and added " -"to the archive. You can create :class:`TarInfo` objects directly, or by " -"using :meth:`gettarinfo`." -msgstr "" - -#: ../../library/tarfile.rst:660 -msgid "*fileobj* must be given for non-zero-sized regular files." -msgstr "" - -#: ../../library/tarfile.rst:665 -msgid "" -"Create a :class:`TarInfo` object from the result of :func:`os.stat` or " -"equivalent on an existing file. The file is either named by *name*, or " -"specified as a :term:`file object` *fileobj* with a file descriptor. *name* " -"may be a :term:`path-like object`. If given, *arcname* specifies an " -"alternative name for the file in the archive, otherwise, the name is taken " -"from *fileobj*’s :attr:`~io.FileIO.name` attribute, or the *name* argument." -" The name should be a text string." -msgstr "" - -#: ../../library/tarfile.rst:674 -msgid "" -"You can modify some of the :class:`TarInfo`’s attributes before you add it " -"using :meth:`addfile`. If the file object is not an ordinary file object " -"positioned at the beginning of the file, attributes such as " -":attr:`~TarInfo.size` may need modifying. This is the case for objects such" -" as :class:`~gzip.GzipFile`. The :attr:`~TarInfo.name` may also be modified," -" in which case *arcname* could be a dummy string." -msgstr "" - -#: ../../library/tarfile.rst:688 -msgid "" -"Close the :class:`TarFile`. In write mode, two finishing zero blocks are " -"appended to the archive." -msgstr "" - -#: ../../library/tarfile.rst:695 -msgid "A dictionary containing key-value pairs of pax global headers." -msgstr "" - -#: ../../library/tarfile.rst:702 -msgid "TarInfo Objects" -msgstr "Objek TarInfo" - -#: ../../library/tarfile.rst:704 -msgid "" -"A :class:`TarInfo` object represents one member in a :class:`TarFile`. Aside" -" from storing all required attributes of a file (like file type, size, time," -" permissions, owner etc.), it provides some useful methods to determine its " -"type. It does *not* contain the file's data itself." -msgstr "" - -#: ../../library/tarfile.rst:709 -msgid "" -":class:`TarInfo` objects are returned by :class:`TarFile`'s methods " -":meth:`~TarFile.getmember`, :meth:`~TarFile.getmembers` and " -":meth:`~TarFile.gettarinfo`." -msgstr "" - -#: ../../library/tarfile.rst:713 -msgid "" -"Modifying the objects returned by :meth:`~TarFile.getmember` or " -":meth:`~TarFile.getmembers` will affect all subsequent operations on the " -"archive. For cases where this is unwanted, you can use :mod:`copy.copy() " -"` or call the :meth:`~TarInfo.replace` method to create a modified " -"copy in one step." -msgstr "" - -#: ../../library/tarfile.rst:719 -msgid "" -"Several attributes can be set to ``None`` to indicate that a piece of " -"metadata is unused or unknown. Different :class:`TarInfo` methods handle " -"``None`` differently:" -msgstr "" - -#: ../../library/tarfile.rst:723 -msgid "" -"The :meth:`~TarFile.extract` or :meth:`~TarFile.extractall` methods will " -"ignore the corresponding metadata, leaving it set to a default." -msgstr "" - -#: ../../library/tarfile.rst:725 -msgid ":meth:`~TarFile.addfile` will fail." -msgstr "" - -#: ../../library/tarfile.rst:726 -msgid ":meth:`~TarFile.list` will print a placeholder string." -msgstr "" - -#: ../../library/tarfile.rst:730 -msgid "Create a :class:`TarInfo` object." -msgstr "" - -#: ../../library/tarfile.rst:735 -msgid "Create and return a :class:`TarInfo` object from string buffer *buf*." -msgstr "" - -#: ../../library/tarfile.rst:737 -msgid "Raises :exc:`HeaderError` if the buffer is invalid." -msgstr "" - -#: ../../library/tarfile.rst:742 -msgid "" -"Read the next member from the :class:`TarFile` object *tarfile* and return " -"it as a :class:`TarInfo` object." -msgstr "" - -#: ../../library/tarfile.rst:748 -msgid "" -"Create a string buffer from a :class:`TarInfo` object. For information on " -"the arguments see the constructor of the :class:`TarFile` class." -msgstr "" - -#: ../../library/tarfile.rst:755 -msgid "A ``TarInfo`` object has the following public data attributes:" -msgstr "" - -#: ../../library/tarfile.rst:761 -msgid "Name of the archive member." -msgstr "" - -#: ../../library/tarfile.rst:767 -msgid "Size in bytes." -msgstr "" - -#: ../../library/tarfile.rst:773 -msgid "" -"Time of last modification in seconds since the :ref:`epoch `, as in " -":attr:`os.stat_result.st_mtime`." -msgstr "" - -#: ../../library/tarfile.rst:778 ../../library/tarfile.rst:789 -#: ../../library/tarfile.rst:821 ../../library/tarfile.rst:832 -#: ../../library/tarfile.rst:843 ../../library/tarfile.rst:854 -msgid "" -"Can be set to ``None`` for :meth:`~TarFile.extract` and " -":meth:`~TarFile.extractall`, causing extraction to skip applying this " -"attribute." -msgstr "" - -#: ../../library/tarfile.rst:785 -msgid "Permission bits, as for :func:`os.chmod`." -msgstr "" - -#: ../../library/tarfile.rst:795 -msgid "" -"File type. *type* is usually one of these constants: :const:`REGTYPE`, " -":const:`AREGTYPE`, :const:`LNKTYPE`, :const:`SYMTYPE`, :const:`DIRTYPE`, " -":const:`FIFOTYPE`, :const:`CONTTYPE`, :const:`CHRTYPE`, :const:`BLKTYPE`, " -":const:`GNUTYPE_SPARSE`. To determine the type of a :class:`TarInfo` object" -" more conveniently, use the ``is*()`` methods below." -msgstr "" - -#: ../../library/tarfile.rst:805 -msgid "" -"Name of the target file name, which is only present in :class:`TarInfo` " -"objects of type :const:`LNKTYPE` and :const:`SYMTYPE`." -msgstr "" - -#: ../../library/tarfile.rst:808 -msgid "" -"For symbolic links (``SYMTYPE``), the *linkname* is relative to the " -"directory that contains the link. For hard links (``LNKTYPE``), the " -"*linkname* is relative to the root of the archive." -msgstr "" - -#: ../../library/tarfile.rst:817 -msgid "User ID of the user who originally stored this member." -msgstr "" - -#: ../../library/tarfile.rst:828 -msgid "Group ID of the user who originally stored this member." -msgstr "" - -#: ../../library/tarfile.rst:839 -msgid "User name." -msgstr "" - -#: ../../library/tarfile.rst:850 -msgid "Group name." -msgstr "" - -#: ../../library/tarfile.rst:861 -msgid "Header checksum." -msgstr "" - -#: ../../library/tarfile.rst:867 -msgid "Device major number." -msgstr "" - -#: ../../library/tarfile.rst:873 -msgid "Device minor number." -msgstr "" - -#: ../../library/tarfile.rst:879 -msgid "The tar header starts here." -msgstr "" - -#: ../../library/tarfile.rst:885 -msgid "The file's data starts here." -msgstr "" - -#: ../../library/tarfile.rst:890 -msgid "Sparse member information." -msgstr "" - -#: ../../library/tarfile.rst:896 -msgid "" -"A dictionary containing key-value pairs of an associated pax extended " -"header." -msgstr "" - -#: ../../library/tarfile.rst:904 -msgid "" -"Return a *new* copy of the :class:`!TarInfo` object with the given " -"attributes changed. For example, to return a ``TarInfo`` with the group name" -" set to ``'staff'``, use::" -msgstr "" - -#: ../../library/tarfile.rst:908 -msgid "new_tarinfo = old_tarinfo.replace(gname='staff')" -msgstr "" - -#: ../../library/tarfile.rst:910 -msgid "" -"By default, a deep copy is made. If *deep* is false, the copy is shallow, " -"i.e. ``pax_headers`` and any custom attributes are shared with the original " -"``TarInfo`` object." -msgstr "" - -#: ../../library/tarfile.rst:914 -msgid "A :class:`TarInfo` object also provides some convenient query methods:" -msgstr "" - -#: ../../library/tarfile.rst:919 -msgid "Return :const:`True` if the :class:`TarInfo` object is a regular file." -msgstr "" - -#: ../../library/tarfile.rst:924 -msgid "Same as :meth:`isfile`." -msgstr "" - -#: ../../library/tarfile.rst:929 -msgid "Return :const:`True` if it is a directory." -msgstr "" - -#: ../../library/tarfile.rst:934 -msgid "Return :const:`True` if it is a symbolic link." -msgstr "" - -#: ../../library/tarfile.rst:939 -msgid "Return :const:`True` if it is a hard link." -msgstr "" - -#: ../../library/tarfile.rst:944 -msgid "Return :const:`True` if it is a character device." -msgstr "" - -#: ../../library/tarfile.rst:949 -msgid "Return :const:`True` if it is a block device." -msgstr "" - -#: ../../library/tarfile.rst:954 -msgid "Return :const:`True` if it is a FIFO." -msgstr "" - -#: ../../library/tarfile.rst:959 -msgid "" -"Return :const:`True` if it is one of character device, block device or FIFO." -msgstr "" - -#: ../../library/tarfile.rst:965 -msgid "Extraction filters" -msgstr "" - -#: ../../library/tarfile.rst:969 -msgid "" -"The *tar* format is designed to capture all details of a UNIX-like " -"filesystem, which makes it very powerful. Unfortunately, the features make " -"it easy to create tar files that have unintended -- and possibly malicious " -"-- effects when extracted. For example, extracting a tar file can overwrite " -"arbitrary files in various ways (e.g. by using absolute paths, ``..`` path " -"components, or symlinks that affect later members)." -msgstr "" - -#: ../../library/tarfile.rst:977 -msgid "" -"In most cases, the full functionality is not needed. Therefore, *tarfile* " -"supports extraction filters: a mechanism to limit functionality, and thus " -"mitigate some of the security issues." -msgstr "" - -#: ../../library/tarfile.rst:983 -msgid "" -"None of the available filters blocks *all* dangerous archive features. Never" -" extract archives from untrusted sources without prior inspection. See also " -":ref:`tarfile-further-verification`." -msgstr "" - -#: ../../library/tarfile.rst:989 -msgid ":pep:`706`" -msgstr "" - -#: ../../library/tarfile.rst:990 -msgid "Contains further motivation and rationale behind the design." -msgstr "" - -#: ../../library/tarfile.rst:992 -msgid "" -"The *filter* argument to :meth:`TarFile.extract` or " -":meth:`~TarFile.extractall` can be:" -msgstr "" - -#: ../../library/tarfile.rst:995 -msgid "" -"the string ``'fully_trusted'``: Honor all metadata as specified in the " -"archive. Should be used if the user trusts the archive completely, or " -"implements their own complex verification." -msgstr "" - -#: ../../library/tarfile.rst:1000 -msgid "" -"the string ``'tar'``: Honor most *tar*-specific features (i.e. features of " -"UNIX-like filesystems), but block features that are very likely to be " -"surprising or malicious. See :func:`tar_filter` for details." -msgstr "" - -#: ../../library/tarfile.rst:1004 -msgid "" -"the string ``'data'``: Ignore or block most features specific to UNIX-like " -"filesystems. Intended for extracting cross-platform data archives. See " -":func:`data_filter` for details." -msgstr "" - -#: ../../library/tarfile.rst:1008 -msgid "``None`` (default): Use :attr:`TarFile.extraction_filter`." -msgstr "" - -#: ../../library/tarfile.rst:1010 -msgid "" -"If that is also ``None`` (the default), the ``'data'`` filter will be used." -msgstr "" - -#: ../../library/tarfile.rst:1014 -msgid "" -"The default filter is set to :func:`data `. Previously, the " -"default was equivalent to :func:`fully_trusted `." -msgstr "" - -#: ../../library/tarfile.rst:1018 -msgid "" -"A callable which will be called for each extracted member with a " -":ref:`TarInfo ` describing the member and the destination " -"path to where the archive is extracted (i.e. the same path is used for all " -"members)::" -msgstr "" - -#: ../../library/tarfile.rst:1023 -msgid "filter(member: TarInfo, path: str, /) -> TarInfo | None" -msgstr "" - -#: ../../library/tarfile.rst:1025 -msgid "" -"The callable is called just before each member is extracted, so it can take " -"the current state of the disk into account. It can:" -msgstr "" - -#: ../../library/tarfile.rst:1029 -msgid "" -"return a :class:`TarInfo` object which will be used instead of the metadata " -"in the archive, or" -msgstr "" - -#: ../../library/tarfile.rst:1031 -msgid "return ``None``, in which case the member will be skipped, or" -msgstr "" - -#: ../../library/tarfile.rst:1032 -msgid "" -"raise an exception to abort the operation or skip the member, depending on " -":attr:`~TarFile.errorlevel`. Note that when extraction is aborted, " -":meth:`~TarFile.extractall` may leave the archive partially extracted. It " -"does not attempt to clean up." -msgstr "" - -#: ../../library/tarfile.rst:1038 -msgid "Default named filters" -msgstr "" - -#: ../../library/tarfile.rst:1040 -msgid "" -"The pre-defined, named filters are available as functions, so they can be " -"reused in custom filters:" -msgstr "" - -#: ../../library/tarfile.rst:1045 -msgid "Return *member* unchanged." -msgstr "" - -#: ../../library/tarfile.rst:1047 -msgid "This implements the ``'fully_trusted'`` filter." -msgstr "" - -#: ../../library/tarfile.rst:1051 -msgid "Implements the ``'tar'`` filter." -msgstr "" - -#: ../../library/tarfile.rst:1053 -msgid "Strip leading slashes (``/`` and :data:`os.sep`) from filenames." -msgstr "" - -#: ../../library/tarfile.rst:1054 -msgid "" -":ref:`Refuse ` to extract files with absolute " -"paths (in case the name is absolute even after stripping slashes, e.g. " -"``C:/foo`` on Windows). This raises :class:`~tarfile.AbsolutePathError`." -msgstr "" - -#: ../../library/tarfile.rst:1058 -msgid "" -":ref:`Refuse ` to extract files whose absolute " -"path (after following symlinks) would end up outside the destination. This " -"raises :class:`~tarfile.OutsideDestinationError`." -msgstr "" - -#: ../../library/tarfile.rst:1061 -msgid "" -"Clear high mode bits (setuid, setgid, sticky) and group/other write bits " -"(:const:`~stat.S_IWGRP` | :const:`~stat.S_IWOTH`)." -msgstr "" - -#: ../../library/tarfile.rst:1064 ../../library/tarfile.rst:1097 -msgid "Return the modified ``TarInfo`` member." -msgstr "" - -#: ../../library/tarfile.rst:1068 -msgid "" -"Implements the ``'data'`` filter. In addition to what ``tar_filter`` does:" -msgstr "" - -#: ../../library/tarfile.rst:1071 -msgid "" -":ref:`Refuse ` to extract links (hard or soft) " -"that link to absolute paths, or ones that link outside the destination." -msgstr "" - -#: ../../library/tarfile.rst:1074 -msgid "" -"This raises :class:`~tarfile.AbsoluteLinkError` or " -":class:`~tarfile.LinkOutsideDestinationError`." -msgstr "" - -#: ../../library/tarfile.rst:1077 -msgid "" -"Note that such files are refused even on platforms that do not support " -"symbolic links." -msgstr "" - -#: ../../library/tarfile.rst:1080 -msgid "" -":ref:`Refuse ` to extract device files (including" -" pipes). This raises :class:`~tarfile.SpecialFileError`." -msgstr "" - -#: ../../library/tarfile.rst:1084 -msgid "For regular files, including hard links:" -msgstr "" - -#: ../../library/tarfile.rst:1086 -msgid "" -"Set the owner read and write permissions (:const:`~stat.S_IRUSR` | " -":const:`~stat.S_IWUSR`)." -msgstr "" - -#: ../../library/tarfile.rst:1088 -msgid "" -"Remove the group & other executable permission (:const:`~stat.S_IXGRP` | " -":const:`~stat.S_IXOTH`) if the owner doesn’t have it " -"(:const:`~stat.S_IXUSR`)." -msgstr "" - -#: ../../library/tarfile.rst:1092 -msgid "" -"For other files (directories), set ``mode`` to ``None``, so that extraction " -"methods skip applying permission bits." -msgstr "" - -#: ../../library/tarfile.rst:1094 -msgid "" -"Set user and group info (``uid``, ``gid``, ``uname``, ``gname``) to " -"``None``, so that extraction methods skip setting it." -msgstr "" - -#: ../../library/tarfile.rst:1099 -msgid "" -"Note that this filter does not block *all* dangerous archive features. See " -":ref:`tarfile-further-verification` for details." -msgstr "" - -#: ../../library/tarfile.rst:1106 -msgid "Filter errors" -msgstr "" - -#: ../../library/tarfile.rst:1108 -msgid "" -"When a filter refuses to extract a file, it will raise an appropriate " -"exception, a subclass of :class:`~tarfile.FilterError`. This will abort the " -"extraction if :attr:`TarFile.errorlevel` is 1 or more. With ``errorlevel=0``" -" the error will be logged and the member will be skipped, but extraction " -"will continue." -msgstr "" - -#: ../../library/tarfile.rst:1118 -msgid "Hints for further verification" -msgstr "" - -#: ../../library/tarfile.rst:1120 -msgid "" -"Even with ``filter='data'``, *tarfile* is not suited for extracting " -"untrusted files without prior inspection. Among other issues, the pre-" -"defined filters do not prevent denial-of-service attacks. Users should do " -"additional checks." -msgstr "" - -#: ../../library/tarfile.rst:1125 -msgid "Here is an incomplete list of things to consider:" -msgstr "" - -#: ../../library/tarfile.rst:1127 -msgid "" -"Extract to a :func:`new temporary directory ` to prevent " -"e.g. exploiting pre-existing links, and to make it easier to clean up after " -"a failed extraction." -msgstr "" - -#: ../../library/tarfile.rst:1130 -msgid "" -"When working with untrusted data, use external (e.g. OS-level) limits on " -"disk, memory and CPU usage." -msgstr "" - -#: ../../library/tarfile.rst:1132 -msgid "" -"Check filenames against an allow-list of characters (to filter out control " -"characters, confusables, foreign path separators, and so on)." -msgstr "" - -#: ../../library/tarfile.rst:1135 -msgid "" -"Check that filenames have expected extensions (discouraging files that " -"execute when you “click on them”, or extension-less files like Windows " -"special device names)." -msgstr "" - -#: ../../library/tarfile.rst:1138 -msgid "" -"Limit the number of extracted files, total size of extracted data, filename " -"length (including symlink length), and size of individual files." -msgstr "" - -#: ../../library/tarfile.rst:1140 -msgid "" -"Check for files that would be shadowed on case-insensitive filesystems." -msgstr "" - -#: ../../library/tarfile.rst:1142 -msgid "Also note that:" -msgstr "" - -#: ../../library/tarfile.rst:1144 -msgid "" -"Tar files may contain multiple versions of the same file. Later ones are " -"expected to overwrite any earlier ones. This feature is crucial to allow " -"updating tape archives, but can be abused maliciously." -msgstr "" - -#: ../../library/tarfile.rst:1148 -msgid "" -"*tarfile* does not protect against issues with “live” data, e.g. an attacker" -" tinkering with the destination (or source) directory while extraction (or " -"archiving) is in progress." -msgstr "" - -#: ../../library/tarfile.rst:1154 -msgid "Supporting older Python versions" -msgstr "" - -#: ../../library/tarfile.rst:1156 -msgid "" -"Extraction filters were added to Python 3.12, but may be backported to older" -" versions as security updates. To check whether the feature is available, " -"use e.g. ``hasattr(tarfile, 'data_filter')`` rather than checking the Python" -" version." -msgstr "" - -#: ../../library/tarfile.rst:1161 -msgid "" -"The following examples show how to support Python versions with and without " -"the feature. Note that setting ``extraction_filter`` will affect any " -"subsequent operations." -msgstr "" - -#: ../../library/tarfile.rst:1165 -msgid "Fully trusted archive::" -msgstr "" - -#: ../../library/tarfile.rst:1167 -msgid "" -"my_tarfile.extraction_filter = (lambda member, path: member)\n" -"my_tarfile.extractall()" -msgstr "" - -#: ../../library/tarfile.rst:1170 -msgid "" -"Use the ``'data'`` filter if available, but revert to Python 3.11 behavior " -"(``'fully_trusted'``) if this feature is not available::" -msgstr "" - -#: ../../library/tarfile.rst:1173 -msgid "" -"my_tarfile.extraction_filter = getattr(tarfile, 'data_filter',\n" -" (lambda member, path: member))\n" -"my_tarfile.extractall()" -msgstr "" - -#: ../../library/tarfile.rst:1177 -msgid "Use the ``'data'`` filter; *fail* if it is not available::" -msgstr "" - -#: ../../library/tarfile.rst:1179 -msgid "my_tarfile.extractall(filter=tarfile.data_filter)" -msgstr "" - -#: ../../library/tarfile.rst:1181 -msgid "or::" -msgstr "atau::" - -#: ../../library/tarfile.rst:1183 -msgid "" -"my_tarfile.extraction_filter = tarfile.data_filter\n" -"my_tarfile.extractall()" -msgstr "" - -#: ../../library/tarfile.rst:1186 -msgid "Use the ``'data'`` filter; *warn* if it is not available::" -msgstr "" - -#: ../../library/tarfile.rst:1188 -msgid "" -"if hasattr(tarfile, 'data_filter'):\n" -" my_tarfile.extractall(filter='data')\n" -"else:\n" -" # remove this when no longer needed\n" -" warn_the_user('Extracting may be unsafe; consider updating Python')\n" -" my_tarfile.extractall()" -msgstr "" - -#: ../../library/tarfile.rst:1197 -msgid "Stateful extraction filter example" -msgstr "" - -#: ../../library/tarfile.rst:1199 -msgid "" -"While *tarfile*'s extraction methods take a simple *filter* callable, custom" -" filters may be more complex objects with an internal state. It may be " -"useful to write these as context managers, to be used like this::" -msgstr "" - -#: ../../library/tarfile.rst:1203 -msgid "" -"with StatefulFilter() as filter_func:\n" -" tar.extractall(path, filter=filter_func)" -msgstr "" - -#: ../../library/tarfile.rst:1206 -msgid "Such a filter can be written as, for example::" -msgstr "" - -#: ../../library/tarfile.rst:1208 -msgid "" -"class StatefulFilter:\n" -" def __init__(self):\n" -" self.file_count = 0\n" -"\n" -" def __enter__(self):\n" -" return self\n" -"\n" -" def __call__(self, member, path):\n" -" self.file_count += 1\n" -" return member\n" -"\n" -" def __exit__(self, *exc_info):\n" -" print(f'{self.file_count} files extracted')" -msgstr "" - -#: ../../library/tarfile.rst:1228 -msgid "Command-Line Interface" -msgstr "" - -#: ../../library/tarfile.rst:1232 -msgid "" -"The :mod:`tarfile` module provides a simple command-line interface to " -"interact with tar archives." -msgstr "" - -#: ../../library/tarfile.rst:1235 -msgid "" -"If you want to create a new tar archive, specify its name after the " -":option:`-c` option and then list the filename(s) that should be included:" -msgstr "" - -#: ../../library/tarfile.rst:1238 -msgid "$ python -m tarfile -c monty.tar spam.txt eggs.txt" -msgstr "" - -#: ../../library/tarfile.rst:1242 -msgid "Passing a directory is also acceptable:" -msgstr "" - -#: ../../library/tarfile.rst:1244 -msgid "$ python -m tarfile -c monty.tar life-of-brian_1979/" -msgstr "" - -#: ../../library/tarfile.rst:1248 -msgid "" -"If you want to extract a tar archive into the current directory, use the " -":option:`-e` option:" -msgstr "" - -#: ../../library/tarfile.rst:1251 -msgid "$ python -m tarfile -e monty.tar" -msgstr "" - -#: ../../library/tarfile.rst:1255 -msgid "" -"You can also extract a tar archive into a different directory by passing the" -" directory's name:" -msgstr "" - -#: ../../library/tarfile.rst:1258 -msgid "$ python -m tarfile -e monty.tar other-dir/" -msgstr "" - -#: ../../library/tarfile.rst:1262 -msgid "For a list of the files in a tar archive, use the :option:`-l` option:" -msgstr "" - -#: ../../library/tarfile.rst:1264 -msgid "$ python -m tarfile -l monty.tar" -msgstr "" - -#: ../../library/tarfile.rst:1270 -msgid "Command-line options" -msgstr "" - -#: ../../library/tarfile.rst:1275 -msgid "List files in a tarfile." -msgstr "" - -#: ../../library/tarfile.rst:1280 -msgid "Create tarfile from source files." -msgstr "" - -#: ../../library/tarfile.rst:1285 -msgid "" -"Extract tarfile into the current directory if *output_dir* is not specified." -msgstr "" - -#: ../../library/tarfile.rst:1290 -msgid "Test whether the tarfile is valid or not." -msgstr "" - -#: ../../library/tarfile.rst:1294 -msgid "Verbose output." -msgstr "" - -#: ../../library/tarfile.rst:1298 -msgid "" -"Specifies the *filter* for ``--extract``. See :ref:`tarfile-extraction-" -"filter` for details. Only string names are accepted (that is, " -"``fully_trusted``, ``tar``, and ``data``)." -msgstr "" - -#: ../../library/tarfile.rst:1306 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/tarfile.rst:1308 -msgid "" -"How to extract an entire tar archive to the current working directory::" -msgstr "" - -#: ../../library/tarfile.rst:1310 -msgid "" -"import tarfile\n" -"tar = tarfile.open(\"sample.tar.gz\")\n" -"tar.extractall(filter='data')\n" -"tar.close()" -msgstr "" - -#: ../../library/tarfile.rst:1315 -msgid "" -"How to extract a subset of a tar archive with :meth:`TarFile.extractall` " -"using a generator function instead of a list::" -msgstr "" - -#: ../../library/tarfile.rst:1318 -msgid "" -"import os\n" -"import tarfile\n" -"\n" -"def py_files(members):\n" -" for tarinfo in members:\n" -" if os.path.splitext(tarinfo.name)[1] == \".py\":\n" -" yield tarinfo\n" -"\n" -"tar = tarfile.open(\"sample.tar.gz\")\n" -"tar.extractall(members=py_files(tar))\n" -"tar.close()" -msgstr "" - -#: ../../library/tarfile.rst:1330 -msgid "How to create an uncompressed tar archive from a list of filenames::" -msgstr "" - -#: ../../library/tarfile.rst:1332 -msgid "" -"import tarfile\n" -"tar = tarfile.open(\"sample.tar\", \"w\")\n" -"for name in [\"foo\", \"bar\", \"quux\"]:\n" -" tar.add(name)\n" -"tar.close()" -msgstr "" - -#: ../../library/tarfile.rst:1338 -msgid "The same example using the :keyword:`with` statement::" -msgstr "" - -#: ../../library/tarfile.rst:1340 -msgid "" -"import tarfile\n" -"with tarfile.open(\"sample.tar\", \"w\") as tar:\n" -" for name in [\"foo\", \"bar\", \"quux\"]:\n" -" tar.add(name)" -msgstr "" - -#: ../../library/tarfile.rst:1345 -msgid "" -"How to read a gzip compressed tar archive and display some member " -"information::" -msgstr "" - -#: ../../library/tarfile.rst:1347 -msgid "" -"import tarfile\n" -"tar = tarfile.open(\"sample.tar.gz\", \"r:gz\")\n" -"for tarinfo in tar:\n" -" print(tarinfo.name, \"is\", tarinfo.size, \"bytes in size and is \", end=\"\")\n" -" if tarinfo.isreg():\n" -" print(\"a regular file.\")\n" -" elif tarinfo.isdir():\n" -" print(\"a directory.\")\n" -" else:\n" -" print(\"something else.\")\n" -"tar.close()" -msgstr "" - -#: ../../library/tarfile.rst:1359 -msgid "" -"How to create an archive and reset the user information using the *filter* " -"parameter in :meth:`TarFile.add`::" -msgstr "" - -#: ../../library/tarfile.rst:1362 -msgid "" -"import tarfile\n" -"def reset(tarinfo):\n" -" tarinfo.uid = tarinfo.gid = 0\n" -" tarinfo.uname = tarinfo.gname = \"root\"\n" -" return tarinfo\n" -"tar = tarfile.open(\"sample.tar.gz\", \"w:gz\")\n" -"tar.add(\"foo\", filter=reset)\n" -"tar.close()" -msgstr "" - -#: ../../library/tarfile.rst:1375 -msgid "Supported tar formats" -msgstr "" - -#: ../../library/tarfile.rst:1377 -msgid "" -"There are three tar formats that can be created with the :mod:`tarfile` " -"module:" -msgstr "" - -#: ../../library/tarfile.rst:1379 -msgid "" -"The POSIX.1-1988 ustar format (:const:`USTAR_FORMAT`). It supports filenames" -" up to a length of at best 256 characters and linknames up to 100 " -"characters. The maximum file size is 8 GiB. This is an old and limited but " -"widely supported format." -msgstr "" - -#: ../../library/tarfile.rst:1384 -msgid "" -"The GNU tar format (:const:`GNU_FORMAT`). It supports long filenames and " -"linknames, files bigger than 8 GiB and sparse files. It is the de facto " -"standard on GNU/Linux systems. :mod:`tarfile` fully supports the GNU tar " -"extensions for long names, sparse file support is read-only." -msgstr "" - -#: ../../library/tarfile.rst:1389 -msgid "" -"The POSIX.1-2001 pax format (:const:`PAX_FORMAT`). It is the most flexible " -"format with virtually no limits. It supports long filenames and linknames, " -"large files and stores pathnames in a portable way. Modern tar " -"implementations, including GNU tar, bsdtar/libarchive and star, fully " -"support extended *pax* features; some old or unmaintained libraries may not," -" but should treat *pax* archives as if they were in the universally " -"supported *ustar* format. It is the current default format for new archives." -msgstr "" - -#: ../../library/tarfile.rst:1397 -msgid "" -"It extends the existing *ustar* format with extra headers for information " -"that cannot be stored otherwise. There are two flavours of pax headers: " -"Extended headers only affect the subsequent file header, global headers are " -"valid for the complete archive and affect all following files. All the data " -"in a pax header is encoded in *UTF-8* for portability reasons." -msgstr "" - -#: ../../library/tarfile.rst:1403 -msgid "" -"There are some more variants of the tar format which can be read, but not " -"created:" -msgstr "" - -#: ../../library/tarfile.rst:1406 -msgid "" -"The ancient V7 format. This is the first tar format from Unix Seventh " -"Edition, storing only regular files and directories. Names must not be " -"longer than 100 characters, there is no user/group name information. Some " -"archives have miscalculated header checksums in case of fields with non-" -"ASCII characters." -msgstr "" - -#: ../../library/tarfile.rst:1411 -msgid "" -"The SunOS tar extended format. This format is a variant of the POSIX.1-2001 " -"pax format, but is not compatible." -msgstr "" - -#: ../../library/tarfile.rst:1417 -msgid "Unicode issues" -msgstr "" - -#: ../../library/tarfile.rst:1419 -msgid "" -"The tar format was originally conceived to make backups on tape drives with " -"the main focus on preserving file system information. Nowadays tar archives " -"are commonly used for file distribution and exchanging archives over " -"networks. One problem of the original format (which is the basis of all " -"other formats) is that there is no concept of supporting different character" -" encodings. For example, an ordinary tar archive created on a *UTF-8* system" -" cannot be read correctly on a *Latin-1* system if it contains non-*ASCII* " -"characters. Textual metadata (like filenames, linknames, user/group names) " -"will appear damaged. Unfortunately, there is no way to autodetect the " -"encoding of an archive. The pax format was designed to solve this problem. " -"It stores non-ASCII metadata using the universal character encoding *UTF-8*." -msgstr "" - -#: ../../library/tarfile.rst:1431 -msgid "" -"The details of character conversion in :mod:`tarfile` are controlled by the " -"*encoding* and *errors* keyword arguments of the :class:`TarFile` class." -msgstr "" - -#: ../../library/tarfile.rst:1434 -msgid "" -"*encoding* defines the character encoding to use for the metadata in the " -"archive. The default value is :func:`sys.getfilesystemencoding` or " -"``'ascii'`` as a fallback. Depending on whether the archive is read or " -"written, the metadata must be either decoded or encoded. If *encoding* is " -"not set appropriately, this conversion may fail." -msgstr "" - -#: ../../library/tarfile.rst:1440 -msgid "" -"The *errors* argument defines how characters are treated that cannot be " -"converted. Possible values are listed in section :ref:`error-handlers`. The " -"default scheme is ``'surrogateescape'`` which Python also uses for its file " -"system calls, see :ref:`os-filenames`." -msgstr "" - -#: ../../library/tarfile.rst:1445 -msgid "" -"For :const:`PAX_FORMAT` archives (the default), *encoding* is generally not " -"needed because all the metadata is stored using *UTF-8*. *encoding* is only " -"used in the rare cases when binary pax headers are decoded or when strings " -"with surrogate characters are stored." -msgstr "" diff --git a/python-newest.library--telnetlib/id.po b/python-newest.library--telnetlib/id.po deleted file mode 100644 index f0c806c..0000000 --- a/python-newest.library--telnetlib/id.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/telnetlib.rst:2 -msgid ":mod:`!telnetlib` --- Telnet client" -msgstr "" - -#: ../../library/telnetlib.rst:10 -msgid "" -"This module is no longer part of the Python standard library. It was " -":ref:`removed in Python 3.13 ` after being deprecated in" -" Python 3.11. The removal was decided in :pep:`594`." -msgstr "" - -#: ../../library/telnetlib.rst:14 -msgid "" -"Possible replacements are third-party libraries from PyPI: " -":pypi:`telnetlib3` or :pypi:`Exscript`. These are not supported or " -"maintained by the Python core team." -msgstr "" - -#: ../../library/telnetlib.rst:18 -msgid "" -"The last version of Python that provided the :mod:`!telnetlib` module was " -"`Python 3.12 `_." -msgstr "" diff --git a/python-newest.library--tempfile/id.po b/python-newest.library--tempfile/id.po deleted file mode 100644 index 789ee0c..0000000 --- a/python-newest.library--tempfile/id.po +++ /dev/null @@ -1,638 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tempfile.rst:2 -msgid ":mod:`!tempfile` --- Generate temporary files and directories" -msgstr "" - -#: ../../library/tempfile.rst:9 -msgid "**Source code:** :source:`Lib/tempfile.py`" -msgstr "" - -#: ../../library/tempfile.rst:17 -msgid "" -"This module creates temporary files and directories. It works on all " -"supported platforms. :class:`TemporaryFile`, :class:`NamedTemporaryFile`, " -":class:`TemporaryDirectory`, and :class:`SpooledTemporaryFile` are high-" -"level interfaces which provide automatic cleanup and can be used as " -":term:`context managers `. :func:`mkstemp` and " -":func:`mkdtemp` are lower-level functions which require manual cleanup." -msgstr "" - -#: ../../library/tempfile.rst:24 -msgid "" -"All the user-callable functions and constructors take additional arguments " -"which allow direct control over the location and name of temporary files and" -" directories. Files names used by this module include a string of random " -"characters which allows those files to be securely created in shared " -"temporary directories. To maintain backward compatibility, the argument " -"order is somewhat odd; it is recommended to use keyword arguments for " -"clarity." -msgstr "" - -#: ../../library/tempfile.rst:32 -msgid "The module defines the following user-callable items:" -msgstr "" - -#: ../../library/tempfile.rst:36 -msgid "" -"Return a :term:`file-like object` that can be used as a temporary storage " -"area. The file is created securely, using the same rules as :func:`mkstemp`." -" It will be destroyed as soon as it is closed (including an implicit close " -"when the object is garbage collected). Under Unix, the directory entry for " -"the file is either not created at all or is removed immediately after the " -"file is created. Other platforms do not support this; your code should not " -"rely on a temporary file created using this function having or not having a " -"visible name in the file system." -msgstr "" - -#: ../../library/tempfile.rst:44 -msgid "" -"The resulting object can be used as a :term:`context manager` (see " -":ref:`tempfile-examples`). On completion of the context or destruction of " -"the file object the temporary file will be removed from the filesystem." -msgstr "" - -#: ../../library/tempfile.rst:49 -msgid "" -"The *mode* parameter defaults to ``'w+b'`` so that the file created can be " -"read and written without being closed. Binary mode is used so that it " -"behaves consistently on all platforms without regard for the data that is " -"stored. *buffering*, *encoding*, *errors* and *newline* are interpreted as " -"for :func:`open`." -msgstr "" - -#: ../../library/tempfile.rst:55 -msgid "" -"The *dir*, *prefix* and *suffix* parameters have the same meaning and " -"defaults as with :func:`mkstemp`." -msgstr "" - -#: ../../library/tempfile.rst:58 -msgid "" -"The returned object is a true file object on POSIX platforms. On other " -"platforms, it is a file-like object whose :attr:`!file` attribute is the " -"underlying true file object." -msgstr "" - -#: ../../library/tempfile.rst:62 -msgid "" -"The :py:const:`os.O_TMPFILE` flag is used if it is available and works " -"(Linux-specific, requires Linux kernel 3.11 or later)." -msgstr "" - -#: ../../library/tempfile.rst:65 -msgid "" -"On platforms that are neither Posix nor Cygwin, TemporaryFile is an alias " -"for NamedTemporaryFile." -msgstr "" - -#: ../../library/tempfile.rst:68 ../../library/tempfile.rst:137 -#: ../../library/tempfile.rst:264 -msgid "" -"Raises an :ref:`auditing event ` ``tempfile.mkstemp`` with " -"argument ``fullpath``." -msgstr "" - -#: ../../library/tempfile.rst:72 -msgid "The :py:const:`os.O_TMPFILE` flag is now used if available." -msgstr "" - -#: ../../library/tempfile.rst:74 ../../library/tempfile.rst:139 -#: ../../library/tempfile.rst:169 -msgid "Added *errors* parameter." -msgstr "" - -#: ../../library/tempfile.rst:80 -msgid "" -"This function operates exactly as :func:`TemporaryFile` does, except the " -"following differences:" -msgstr "" - -#: ../../library/tempfile.rst:83 -msgid "" -"This function returns a file that is guaranteed to have a visible name in " -"the file system." -msgstr "" - -#: ../../library/tempfile.rst:85 -msgid "" -"To manage the named file, it extends the parameters of :func:`TemporaryFile`" -" with *delete* and *delete_on_close* parameters that determine whether and " -"how the named file should be automatically deleted." -msgstr "" - -#: ../../library/tempfile.rst:89 -msgid "" -"The returned object is always a :term:`file-like object` whose :attr:`!file`" -" attribute is the underlying true file object. This file-like object can be " -"used in a :keyword:`with` statement, just like a normal file. The name of " -"the temporary file can be retrieved from the :attr:`!name` attribute of the " -"returned file-like object. On Unix, unlike with the :func:`TemporaryFile`, " -"the directory entry does not get unlinked immediately after the file " -"creation." -msgstr "" - -#: ../../library/tempfile.rst:97 -msgid "" -"If *delete* is true (the default) and *delete_on_close* is true (the " -"default), the file is deleted as soon as it is closed. If *delete* is true " -"and *delete_on_close* is false, the file is deleted on context manager exit " -"only, or else when the :term:`file-like object` is finalized. Deletion is " -"not always guaranteed in this case (see :meth:`object.__del__`). If *delete*" -" is false, the value of *delete_on_close* is ignored." -msgstr "" - -#: ../../library/tempfile.rst:104 -msgid "" -"Therefore to use the name of the temporary file to reopen the file after " -"closing it, either make sure not to delete the file upon closure (set the " -"*delete* parameter to be false) or, in case the temporary file is created in" -" a :keyword:`with` statement, set the *delete_on_close* parameter to be " -"false. The latter approach is recommended as it provides assistance in " -"automatic cleaning of the temporary file upon the context manager exit." -msgstr "" - -#: ../../library/tempfile.rst:111 -msgid "" -"Opening the temporary file again by its name while it is still open works as" -" follows:" -msgstr "" - -#: ../../library/tempfile.rst:114 -msgid "On POSIX the file can always be opened again." -msgstr "" - -#: ../../library/tempfile.rst:115 -msgid "" -"On Windows, make sure that at least one of the following conditions are " -"fulfilled:" -msgstr "" - -#: ../../library/tempfile.rst:118 -msgid "*delete* is false" -msgstr "" - -#: ../../library/tempfile.rst:119 -msgid "" -"additional open shares delete access (e.g. by calling :func:`os.open` with " -"the flag ``O_TEMPORARY``)" -msgstr "" - -#: ../../library/tempfile.rst:121 -msgid "" -"*delete* is true but *delete_on_close* is false. Note, that in this case the" -" additional opens that do not share delete access (e.g. created via builtin " -":func:`open`) must be closed before exiting the context manager, else the " -":func:`os.unlink` call on context manager exit will fail with a " -":exc:`PermissionError`." -msgstr "" - -#: ../../library/tempfile.rst:127 -msgid "" -"On Windows, if *delete_on_close* is false, and the file is created in a " -"directory for which the user lacks delete access, then the :func:`os.unlink`" -" call on exit of the context manager will fail with a " -":exc:`PermissionError`. This cannot happen when *delete_on_close* is true " -"because delete access is requested by the open, which fails immediately if " -"the requested access is not granted." -msgstr "" - -#: ../../library/tempfile.rst:134 -msgid "" -"On POSIX (only), a process that is terminated abruptly with SIGKILL cannot " -"automatically delete any NamedTemporaryFiles it created." -msgstr "" - -#: ../../library/tempfile.rst:142 -msgid "Added *delete_on_close* parameter." -msgstr "" - -#: ../../library/tempfile.rst:148 -msgid "" -"This class operates exactly as :func:`TemporaryFile` does, except that data " -"is spooled in memory until the file size exceeds *max_size*, or until the " -"file's :func:`~io.IOBase.fileno` method is called, at which point the " -"contents are written to disk and operation proceeds as with " -":func:`TemporaryFile`." -msgstr "" - -#: ../../library/tempfile.rst:156 -msgid "" -"The resulting file has one additional method, :meth:`!rollover`, which " -"causes the file to roll over to an on-disk file regardless of its size." -msgstr "" - -#: ../../library/tempfile.rst:159 -msgid "" -"The returned object is a file-like object whose :attr:`!_file` attribute is " -"either an :class:`io.BytesIO` or :class:`io.TextIOWrapper` object (depending" -" on whether binary or text *mode* was specified) or a true file object, " -"depending on whether :meth:`rollover` has been called. This file-like " -"object can be used in a :keyword:`with` statement, just like a normal file." -msgstr "" - -#: ../../library/tempfile.rst:166 -msgid "the truncate method now accepts a *size* argument." -msgstr "" - -#: ../../library/tempfile.rst:172 -msgid "" -"Fully implements the :class:`io.BufferedIOBase` and :class:`io.TextIOBase` " -"abstract base classes (depending on whether binary or text *mode* was " -"specified)." -msgstr "" - -#: ../../library/tempfile.rst:180 -msgid "" -"This class securely creates a temporary directory using the same rules as " -":func:`mkdtemp`. The resulting object can be used as a :term:`context " -"manager` (see :ref:`tempfile-examples`). On completion of the context or " -"destruction of the temporary directory object, the newly created temporary " -"directory and all its contents are removed from the filesystem." -msgstr "" - -#: ../../library/tempfile.rst:188 -msgid "" -"The directory name can be retrieved from the :attr:`!name` attribute of the " -"returned object. When the returned object is used as a :term:`context " -"manager`, the :attr:`!name` will be assigned to the target of the " -":keyword:`!as` clause in the :keyword:`with` statement, if there is one." -msgstr "" - -#: ../../library/tempfile.rst:195 -msgid "" -"The directory can be explicitly cleaned up by calling the :meth:`!cleanup` " -"method. If *ignore_cleanup_errors* is true, any unhandled exceptions during " -"explicit or implicit cleanup (such as a :exc:`PermissionError` removing open" -" files on Windows) will be ignored, and the remaining removable items " -"deleted on a \"best-effort\" basis. Otherwise, errors will be raised in " -"whatever context cleanup occurs (the :meth:`!cleanup` call, exiting the " -"context manager, when the object is garbage-collected or during interpreter " -"shutdown)." -msgstr "" - -#: ../../library/tempfile.rst:204 -msgid "" -"The *delete* parameter can be used to disable cleanup of the directory tree " -"upon exiting the context. While it may seem unusual for a context manager " -"to disable the action taken when exiting the context, it can be useful " -"during debugging or when you need your cleanup behavior to be conditional " -"based on other logic." -msgstr "" - -#: ../../library/tempfile.rst:210 ../../library/tempfile.rst:290 -msgid "" -"Raises an :ref:`auditing event ` ``tempfile.mkdtemp`` with " -"argument ``fullpath``." -msgstr "" - -#: ../../library/tempfile.rst:214 -msgid "Added *ignore_cleanup_errors* parameter." -msgstr "" - -#: ../../library/tempfile.rst:217 -msgid "Added the *delete* parameter." -msgstr "" - -#: ../../library/tempfile.rst:223 -msgid "" -"Creates a temporary file in the most secure manner possible. There are no " -"race conditions in the file's creation, assuming that the platform properly " -"implements the :const:`os.O_EXCL` flag for :func:`os.open`. The file is " -"readable and writable only by the creating user ID. If the platform uses " -"permission bits to indicate whether a file is executable, the file is " -"executable by no one. The file descriptor is not inherited by child " -"processes." -msgstr "" - -#: ../../library/tempfile.rst:231 -msgid "" -"Unlike :func:`TemporaryFile`, the user of :func:`mkstemp` is responsible for" -" deleting the temporary file when done with it." -msgstr "" - -#: ../../library/tempfile.rst:234 -msgid "" -"If *suffix* is not ``None``, the file name will end with that suffix, " -"otherwise there will be no suffix. :func:`mkstemp` does not put a dot " -"between the file name and the suffix; if you need one, put it at the " -"beginning of *suffix*." -msgstr "" - -#: ../../library/tempfile.rst:239 -msgid "" -"If *prefix* is not ``None``, the file name will begin with that prefix; " -"otherwise, a default prefix is used. The default is the return value of " -":func:`gettempprefix` or :func:`gettempprefixb`, as appropriate." -msgstr "" - -#: ../../library/tempfile.rst:243 -msgid "" -"If *dir* is not ``None``, the file will be created in that directory; " -"otherwise, a default directory is used. The default directory is chosen " -"from a platform-dependent list, but the user of the application can control " -"the directory location by setting the *TMPDIR*, *TEMP* or *TMP* environment " -"variables. There is thus no guarantee that the generated filename will have" -" any nice properties, such as not requiring quoting when passed to external " -"commands via ``os.popen()``." -msgstr "" - -#: ../../library/tempfile.rst:251 -msgid "" -"If any of *suffix*, *prefix*, and *dir* are not ``None``, they must be the " -"same type. If they are bytes, the returned name will be bytes instead of " -"str. If you want to force a bytes return value with otherwise default " -"behavior, pass ``suffix=b''``." -msgstr "" - -#: ../../library/tempfile.rst:257 -msgid "" -"If *text* is specified and true, the file is opened in text mode. Otherwise," -" (the default) the file is opened in binary mode." -msgstr "" - -#: ../../library/tempfile.rst:260 -msgid "" -":func:`mkstemp` returns a tuple containing an OS-level handle to an open " -"file (as would be returned by :func:`os.open`) and the absolute pathname of " -"that file, in that order." -msgstr "" - -#: ../../library/tempfile.rst:266 ../../library/tempfile.rst:292 -msgid "" -"*suffix*, *prefix*, and *dir* may now be supplied in bytes in order to " -"obtain a bytes return value. Prior to this, only str was allowed. *suffix* " -"and *prefix* now accept and default to ``None`` to cause an appropriate " -"default value to be used." -msgstr "" - -#: ../../library/tempfile.rst:272 ../../library/tempfile.rst:298 -msgid "The *dir* parameter now accepts a :term:`path-like object`." -msgstr "" - -#: ../../library/tempfile.rst:278 -msgid "" -"Creates a temporary directory in the most secure manner possible. There are " -"no race conditions in the directory's creation. The directory is readable, " -"writable, and searchable only by the creating user ID." -msgstr "" - -#: ../../library/tempfile.rst:282 -msgid "" -"The user of :func:`mkdtemp` is responsible for deleting the temporary " -"directory and its contents when done with it." -msgstr "" - -#: ../../library/tempfile.rst:285 -msgid "" -"The *prefix*, *suffix*, and *dir* arguments are the same as for " -":func:`mkstemp`." -msgstr "" - -#: ../../library/tempfile.rst:288 -msgid ":func:`mkdtemp` returns the absolute pathname of the new directory." -msgstr "" - -#: ../../library/tempfile.rst:301 -msgid "" -":func:`mkdtemp` now always returns an absolute path, even if *dir* is " -"relative." -msgstr "" - -#: ../../library/tempfile.rst:307 -msgid "" -"Return the name of the directory used for temporary files. This defines the " -"default value for the *dir* argument to all functions in this module." -msgstr "" - -#: ../../library/tempfile.rst:311 -msgid "" -"Python searches a standard list of directories to find one which the calling" -" user can create files in. The list is:" -msgstr "" - -#: ../../library/tempfile.rst:314 -msgid "The directory named by the :envvar:`TMPDIR` environment variable." -msgstr "" - -#: ../../library/tempfile.rst:316 -msgid "The directory named by the :envvar:`TEMP` environment variable." -msgstr "" - -#: ../../library/tempfile.rst:318 -msgid "The directory named by the :envvar:`TMP` environment variable." -msgstr "" - -#: ../../library/tempfile.rst:320 -msgid "A platform-specific location:" -msgstr "" - -#: ../../library/tempfile.rst:322 -msgid "" -"On Windows, the directories :file:`C:\\\\TEMP`, :file:`C:\\\\TMP`, " -":file:`\\\\TEMP`, and :file:`\\\\TMP`, in that order." -msgstr "" - -#: ../../library/tempfile.rst:325 -msgid "" -"On all other platforms, the directories :file:`/tmp`, :file:`/var/tmp`, and " -":file:`/usr/tmp`, in that order." -msgstr "" - -#: ../../library/tempfile.rst:328 -msgid "As a last resort, the current working directory." -msgstr "" - -#: ../../library/tempfile.rst:330 -msgid "" -"The result of this search is cached, see the description of :data:`tempdir` " -"below." -msgstr "" - -#: ../../library/tempfile.rst:335 -msgid "" -"Always returns a str. Previously it would return any :data:`tempdir` value " -"regardless of type so long as it was not ``None``." -msgstr "" - -#: ../../library/tempfile.rst:340 -msgid "Same as :func:`gettempdir` but the return value is in bytes." -msgstr "" - -#: ../../library/tempfile.rst:346 -msgid "" -"Return the filename prefix used to create temporary files. This does not " -"contain the directory component." -msgstr "" - -#: ../../library/tempfile.rst:351 -msgid "Same as :func:`gettempprefix` but the return value is in bytes." -msgstr "" - -#: ../../library/tempfile.rst:355 -msgid "" -"The module uses a global variable to store the name of the directory used " -"for temporary files returned by :func:`gettempdir`. It can be set directly " -"to override the selection process, but this is discouraged. All functions in" -" this module take a *dir* argument which can be used to specify the " -"directory. This is the recommended approach that does not surprise other " -"unsuspecting code by changing global API behavior." -msgstr "" - -#: ../../library/tempfile.rst:364 -msgid "" -"When set to a value other than ``None``, this variable defines the default " -"value for the *dir* argument to the functions defined in this module, " -"including its type, bytes or str. It cannot be a :term:`path-like object`." -msgstr "" - -#: ../../library/tempfile.rst:369 -msgid "" -"If ``tempdir`` is ``None`` (the default) at any call to any of the above " -"functions except :func:`gettempprefix` it is initialized following the " -"algorithm described in :func:`gettempdir`." -msgstr "" - -#: ../../library/tempfile.rst:375 -msgid "" -"Beware that if you set ``tempdir`` to a bytes value, there is a nasty side " -"effect: The global default return type of :func:`mkstemp` and " -":func:`mkdtemp` changes to bytes when no explicit ``prefix``, ``suffix``, or" -" ``dir`` arguments of type str are supplied. Please do not write code " -"expecting or depending on this. This awkward behavior is maintained for " -"compatibility with the historical implementation." -msgstr "" - -#: ../../library/tempfile.rst:386 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/tempfile.rst:388 -msgid "" -"Here are some examples of typical usage of the :mod:`tempfile` module::" -msgstr "" - -#: ../../library/tempfile.rst:390 -msgid "" -">>> import tempfile\n" -"\n" -"# create a temporary file and write some data to it\n" -">>> fp = tempfile.TemporaryFile()\n" -">>> fp.write(b'Hello world!')\n" -"# read data from file\n" -">>> fp.seek(0)\n" -">>> fp.read()\n" -"b'Hello world!'\n" -"# close the file, it will be removed\n" -">>> fp.close()\n" -"\n" -"# create a temporary file using a context manager\n" -">>> with tempfile.TemporaryFile() as fp:\n" -"... fp.write(b'Hello world!')\n" -"... fp.seek(0)\n" -"... fp.read()\n" -"b'Hello world!'\n" -">>>\n" -"# file is now closed and removed\n" -"\n" -"# create a temporary file using a context manager\n" -"# close the file, use the name to open the file again\n" -">>> with tempfile.NamedTemporaryFile(delete_on_close=False) as fp:\n" -"... fp.write(b'Hello world!')\n" -"... fp.close()\n" -"... # the file is closed, but not removed\n" -"... # open the file again by using its name\n" -"... with open(fp.name, mode='rb') as f:\n" -"... f.read()\n" -"b'Hello world!'\n" -">>>\n" -"# file is now removed\n" -"\n" -"# create a temporary directory using the context manager\n" -">>> with tempfile.TemporaryDirectory() as tmpdirname:\n" -"... print('created temporary directory', tmpdirname)\n" -">>>\n" -"# directory and contents have been removed" -msgstr "" - -#: ../../library/tempfile.rst:433 -msgid "Deprecated functions and variables" -msgstr "" - -#: ../../library/tempfile.rst:435 -msgid "" -"A historical way to create temporary files was to first generate a file name" -" with the :func:`mktemp` function and then create a file using this name. " -"Unfortunately this is not secure, because a different process may create a " -"file with this name in the time between the call to :func:`mktemp` and the " -"subsequent attempt to create the file by the first process. The solution is " -"to combine the two steps and create the file immediately. This approach is " -"used by :func:`mkstemp` and the other functions described above." -msgstr "" - -#: ../../library/tempfile.rst:446 -msgid "Use :func:`mkstemp` instead." -msgstr "" - -#: ../../library/tempfile.rst:449 -msgid "" -"Return an absolute pathname of a file that did not exist at the time the " -"call is made. The *prefix*, *suffix*, and *dir* arguments are similar to " -"those of :func:`mkstemp`, except that bytes file names, ``suffix=None`` and " -"``prefix=None`` are not supported." -msgstr "" - -#: ../../library/tempfile.rst:456 -msgid "" -"Use of this function may introduce a security hole in your program. By the " -"time you get around to doing anything with the file name it returns, someone" -" else may have beaten you to the punch. :func:`mktemp` usage can be " -"replaced easily with :func:`NamedTemporaryFile`, passing it the " -"``delete=False`` parameter::" -msgstr "" - -#: ../../library/tempfile.rst:462 -msgid "" -">>> f = NamedTemporaryFile(delete=False)\n" -">>> f.name\n" -"'/tmp/tmptjujjt'\n" -">>> f.write(b\"Hello World!\\n\")\n" -"13\n" -">>> f.close()\n" -">>> os.unlink(f.name)\n" -">>> os.path.exists(f.name)\n" -"False" -msgstr "" - -#: ../../library/tempfile.rst:11 -msgid "temporary" -msgstr "" - -#: ../../library/tempfile.rst:11 -msgid "file name" -msgstr "" - -#: ../../library/tempfile.rst:11 -msgid "file" -msgstr "" diff --git a/python-newest.library--termios/id.po b/python-newest.library--termios/id.po deleted file mode 100644 index 047105d..0000000 --- a/python-newest.library--termios/id.po +++ /dev/null @@ -1,180 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/termios.rst:2 -msgid ":mod:`!termios` --- POSIX style tty control" -msgstr "" - -#: ../../library/termios.rst:14 -msgid "" -"This module provides an interface to the POSIX calls for tty I/O control. " -"For a complete description of these calls, see :manpage:`termios(3)` Unix " -"manual page. It is only available for those Unix versions that support " -"POSIX *termios* style tty I/O control configured during installation." -msgstr "" - -#: ../../library/termios.rst:19 -msgid "Availability" -msgstr "" - -#: ../../library/termios.rst:21 -msgid "" -"All functions in this module take a file descriptor *fd* as their first " -"argument. This can be an integer file descriptor, such as returned by " -"``sys.stdin.fileno()``, or a :term:`file object`, such as ``sys.stdin`` " -"itself." -msgstr "" - -#: ../../library/termios.rst:25 -msgid "" -"This module also defines all the constants needed to work with the functions" -" provided here; these have the same name as their counterparts in C. Please" -" refer to your system documentation for more information on using these " -"terminal control interfaces." -msgstr "" - -#: ../../library/termios.rst:30 -msgid "The module defines the following functions:" -msgstr "" - -#: ../../library/termios.rst:35 -msgid "" -"Return a list containing the tty attributes for file descriptor *fd*, as " -"follows: ``[iflag, oflag, cflag, lflag, ispeed, ospeed, cc]`` where *cc* is " -"a list of the tty special characters (each a string of length 1, except the " -"items with indices :const:`VMIN` and :const:`VTIME`, which are integers when" -" these fields are defined). The interpretation of the flags and the speeds " -"as well as the indexing in the *cc* array must be done using the symbolic " -"constants defined in the :mod:`termios` module." -msgstr "" - -#: ../../library/termios.rst:46 -msgid "" -"Set the tty attributes for file descriptor *fd* from the *attributes*, which" -" is a list like the one returned by :func:`tcgetattr`. The *when* argument " -"determines when the attributes are changed:" -msgstr "" - -#: ../../library/termios.rst:52 -msgid "Change attributes immediately." -msgstr "" - -#: ../../library/termios.rst:56 -msgid "Change attributes after transmitting all queued output." -msgstr "" - -#: ../../library/termios.rst:60 -msgid "" -"Change attributes after transmitting all queued output and discarding all " -"queued input." -msgstr "" - -#: ../../library/termios.rst:66 -msgid "" -"Send a break on file descriptor *fd*. A zero *duration* sends a break for " -"0.25--0.5 seconds; a nonzero *duration* has a system dependent meaning." -msgstr "" - -#: ../../library/termios.rst:72 -msgid "" -"Wait until all output written to file descriptor *fd* has been transmitted." -msgstr "" - -#: ../../library/termios.rst:77 -msgid "" -"Discard queued data on file descriptor *fd*. The *queue* selector specifies" -" which queue: :const:`TCIFLUSH` for the input queue, :const:`TCOFLUSH` for " -"the output queue, or :const:`TCIOFLUSH` for both queues." -msgstr "" - -#: ../../library/termios.rst:84 -msgid "" -"Suspend or resume input or output on file descriptor *fd*. The *action* " -"argument can be :const:`TCOOFF` to suspend output, :const:`TCOON` to restart" -" output, :const:`TCIOFF` to suspend input, or :const:`TCION` to restart " -"input." -msgstr "" - -#: ../../library/termios.rst:91 -msgid "" -"Return a tuple ``(ws_row, ws_col)`` containing the tty window size for file " -"descriptor *fd*. Requires :const:`termios.TIOCGWINSZ` or " -":const:`termios.TIOCGSIZE`." -msgstr "" - -#: ../../library/termios.rst:100 -msgid "" -"Set the tty window size for file descriptor *fd* from *winsize*, which is a " -"two-item tuple ``(ws_row, ws_col)`` like the one returned by " -":func:`tcgetwinsize`. Requires at least one of the pairs " -"(:const:`termios.TIOCGWINSZ`, :const:`termios.TIOCSWINSZ`); " -"(:const:`termios.TIOCGSIZE`, :const:`termios.TIOCSSIZE`) to be defined." -msgstr "" - -#: ../../library/termios.rst:111 -msgid "Module :mod:`tty`" -msgstr "" - -#: ../../library/termios.rst:112 -msgid "Convenience functions for common terminal control operations." -msgstr "" - -#: ../../library/termios.rst:118 -msgid "Example" -msgstr "Contoh" - -#: ../../library/termios.rst:120 -msgid "" -"Here's a function that prompts for a password with echoing turned off. Note" -" the technique using a separate :func:`tcgetattr` call and a :keyword:`try` " -"... :keyword:`finally` statement to ensure that the old tty attributes are " -"restored exactly no matter what happens::" -msgstr "" - -#: ../../library/termios.rst:125 -msgid "" -"def getpass(prompt=\"Password: \"):\n" -" import termios, sys\n" -" fd = sys.stdin.fileno()\n" -" old = termios.tcgetattr(fd)\n" -" new = termios.tcgetattr(fd)\n" -" new[3] = new[3] & ~termios.ECHO # lflags\n" -" try:\n" -" termios.tcsetattr(fd, termios.TCSADRAIN, new)\n" -" passwd = input(prompt)\n" -" finally:\n" -" termios.tcsetattr(fd, termios.TCSADRAIN, old)\n" -" return passwd" -msgstr "" - -#: ../../library/termios.rst:8 -msgid "POSIX" -msgstr "" - -#: ../../library/termios.rst:8 -msgid "I/O control" -msgstr "" - -#: ../../library/termios.rst:8 -msgid "tty" -msgstr "" diff --git a/python-newest.library--test/id.po b/python-newest.library--test/id.po deleted file mode 100644 index 790702e..0000000 --- a/python-newest.library--test/id.po +++ /dev/null @@ -1,2071 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/test.rst:2 -msgid ":mod:`!test` --- Regression tests package for Python" -msgstr "" - -#: ../../library/test.rst:10 -msgid "" -"The :mod:`test` package is meant for internal use by Python only. It is " -"documented for the benefit of the core developers of Python. Any use of this" -" package outside of Python's standard library is discouraged as code " -"mentioned here can change or be removed without notice between releases of " -"Python." -msgstr "" - -#: ../../library/test.rst:18 -msgid "" -"The :mod:`test` package contains all regression tests for Python as well as " -"the modules :mod:`test.support` and :mod:`test.regrtest`. " -":mod:`test.support` is used to enhance your tests while :mod:`test.regrtest`" -" drives the testing suite." -msgstr "" - -#: ../../library/test.rst:23 -msgid "" -"Each module in the :mod:`test` package whose name starts with ``test_`` is a" -" testing suite for a specific module or feature. All new tests should be " -"written using the :mod:`unittest` or :mod:`doctest` module. Some older " -"tests are written using a \"traditional\" testing style that compares output" -" printed to ``sys.stdout``; this style of test is considered deprecated." -msgstr "" - -#: ../../library/test.rst:32 -msgid "Module :mod:`unittest`" -msgstr "" - -#: ../../library/test.rst:33 -msgid "Writing PyUnit regression tests." -msgstr "" - -#: ../../library/test.rst:35 -msgid "Module :mod:`doctest`" -msgstr "Modul :mod:`doctest`" - -#: ../../library/test.rst:36 -msgid "Tests embedded in documentation strings." -msgstr "" - -#: ../../library/test.rst:42 -msgid "Writing Unit Tests for the :mod:`test` package" -msgstr "" - -#: ../../library/test.rst:44 -msgid "" -"It is preferred that tests that use the :mod:`unittest` module follow a few " -"guidelines. One is to name the test module by starting it with ``test_`` and" -" end it with the name of the module being tested. The test methods in the " -"test module should start with ``test_`` and end with a description of what " -"the method is testing. This is needed so that the methods are recognized by " -"the test driver as test methods. Also, no documentation string for the " -"method should be included. A comment (such as ``# Tests function returns " -"only True or False``) should be used to provide documentation for test " -"methods. This is done because documentation strings get printed out if they " -"exist and thus what test is being run is not stated." -msgstr "" - -#: ../../library/test.rst:55 -msgid "A basic boilerplate is often used::" -msgstr "" - -#: ../../library/test.rst:57 -msgid "" -"import unittest\n" -"from test import support\n" -"\n" -"class MyTestCase1(unittest.TestCase):\n" -"\n" -" # Only use setUp() and tearDown() if necessary\n" -"\n" -" def setUp(self):\n" -" ... code to execute in preparation for tests ...\n" -"\n" -" def tearDown(self):\n" -" ... code to execute to clean up after tests ...\n" -"\n" -" def test_feature_one(self):\n" -" # Test feature one.\n" -" ... testing code ...\n" -"\n" -" def test_feature_two(self):\n" -" # Test feature two.\n" -" ... testing code ...\n" -"\n" -" ... more test methods ...\n" -"\n" -"class MyTestCase2(unittest.TestCase):\n" -" ... same structure as MyTestCase1 ...\n" -"\n" -"... more test classes ...\n" -"\n" -"if __name__ == '__main__':\n" -" unittest.main()" -msgstr "" - -#: ../../library/test.rst:88 -msgid "" -"This code pattern allows the testing suite to be run by " -":mod:`test.regrtest`, on its own as a script that supports the " -":mod:`unittest` CLI, or via the ``python -m unittest`` CLI." -msgstr "" - -#: ../../library/test.rst:92 -msgid "" -"The goal for regression testing is to try to break code. This leads to a few" -" guidelines to be followed:" -msgstr "" - -#: ../../library/test.rst:95 -msgid "" -"The testing suite should exercise all classes, functions, and constants. " -"This includes not just the external API that is to be presented to the " -"outside world but also \"private\" code." -msgstr "" - -#: ../../library/test.rst:99 -msgid "" -"Whitebox testing (examining the code being tested when the tests are being " -"written) is preferred. Blackbox testing (testing only the published user " -"interface) is not complete enough to make sure all boundary and edge cases " -"are tested." -msgstr "" - -#: ../../library/test.rst:104 -msgid "" -"Make sure all possible values are tested including invalid ones. This makes " -"sure that not only all valid values are acceptable but also that improper " -"values are handled correctly." -msgstr "" - -#: ../../library/test.rst:108 -msgid "" -"Exhaust as many code paths as possible. Test where branching occurs and thus" -" tailor input to make sure as many different paths through the code are " -"taken." -msgstr "" - -#: ../../library/test.rst:111 -msgid "" -"Add an explicit test for any bugs discovered for the tested code. This will " -"make sure that the error does not crop up again if the code is changed in " -"the future." -msgstr "" - -#: ../../library/test.rst:115 -msgid "" -"Make sure to clean up after your tests (such as close and remove all " -"temporary files)." -msgstr "" - -#: ../../library/test.rst:118 -msgid "" -"If a test is dependent on a specific condition of the operating system then " -"verify the condition already exists before attempting the test." -msgstr "" - -#: ../../library/test.rst:121 -msgid "" -"Import as few modules as possible and do it as soon as possible. This " -"minimizes external dependencies of tests and also minimizes possible " -"anomalous behavior from side-effects of importing a module." -msgstr "" - -#: ../../library/test.rst:125 -msgid "" -"Try to maximize code reuse. On occasion, tests will vary by something as " -"small as what type of input is used. Minimize code duplication by " -"subclassing a basic test class with a class that specifies the input::" -msgstr "" - -#: ../../library/test.rst:129 -msgid "" -"class TestFuncAcceptsSequencesMixin:\n" -"\n" -" func = mySuperWhammyFunction\n" -"\n" -" def test_func(self):\n" -" self.func(self.arg)\n" -"\n" -"class AcceptLists(TestFuncAcceptsSequencesMixin, unittest.TestCase):\n" -" arg = [1, 2, 3]\n" -"\n" -"class AcceptStrings(TestFuncAcceptsSequencesMixin, unittest.TestCase):\n" -" arg = 'abc'\n" -"\n" -"class AcceptTuples(TestFuncAcceptsSequencesMixin, unittest.TestCase):\n" -" arg = (1, 2, 3)" -msgstr "" - -#: ../../library/test.rst:145 -msgid "" -"When using this pattern, remember that all classes that inherit from " -":class:`unittest.TestCase` are run as tests. The " -":class:`!TestFuncAcceptsSequencesMixin` class in the example above does not " -"have any data and so can't be run by itself, thus it does not inherit from " -":class:`unittest.TestCase`." -msgstr "" - -#: ../../library/test.rst:153 -msgid "Test Driven Development" -msgstr "" - -#: ../../library/test.rst:154 -msgid "A book by Kent Beck on writing tests before code." -msgstr "" - -#: ../../library/test.rst:160 -msgid "Running tests using the command-line interface" -msgstr "" - -#: ../../library/test.rst:165 -msgid "" -"The :mod:`test` package can be run as a script to drive Python's regression " -"test suite, thanks to the :option:`-m` option: :program:`python -m test`. " -"Under the hood, it uses :mod:`test.regrtest`; the call :program:`python -m " -"test.regrtest` used in previous Python versions still works. Running the " -"script by itself automatically starts running all regression tests in the " -":mod:`test` package. It does this by finding all modules in the package " -"whose name starts with ``test_``, importing them, and executing the function" -" :func:`test_main` if present or loading the tests via " -"unittest.TestLoader.loadTestsFromModule if ``test_main`` does not exist. " -"The names of tests to execute may also be passed to the script. Specifying a" -" single regression test (:program:`python -m test test_spam`) will minimize " -"output and only print whether the test passed or failed." -msgstr "" - -#: ../../library/test.rst:178 -msgid "" -"Running :mod:`test` directly allows what resources are available for tests " -"to use to be set. You do this by using the ``-u`` command-line option. " -"Specifying ``all`` as the value for the ``-u`` option enables all possible " -"resources: :program:`python -m test -uall`. If all but one resource is " -"desired (a more common case), a comma-separated list of resources that are " -"not desired may be listed after ``all``. The command :program:`python -m " -"test -uall,-audio,-largefile` will run :mod:`test` with all resources except" -" the ``audio`` and ``largefile`` resources. For a list of all resources and " -"more command-line options, run :program:`python -m test -h`." -msgstr "" - -#: ../../library/test.rst:189 -msgid "" -"Some other ways to execute the regression tests depend on what platform the " -"tests are being executed on. On Unix, you can run :program:`make test` at " -"the top-level directory where Python was built. On Windows, executing " -":program:`rt.bat` from your :file:`PCbuild` directory will run all " -"regression tests." -msgstr "" - -#: ../../library/test.rst:195 -msgid "" -"Output is colorized by default and can be :ref:`controlled using environment" -" variables `." -msgstr "" - -#: ../../library/test.rst:201 -msgid ":mod:`test.support` --- Utilities for the Python test suite" -msgstr "" - -#: ../../library/test.rst:207 -msgid "" -"The :mod:`test.support` module provides support for Python's regression test" -" suite." -msgstr "" - -#: ../../library/test.rst:212 -msgid "" -":mod:`test.support` is not a public module. It is documented here to help " -"Python developers write tests. The API of this module is subject to change " -"without backwards compatibility concerns between releases." -msgstr "" - -#: ../../library/test.rst:217 -msgid "This module defines the following exceptions:" -msgstr "" - -#: ../../library/test.rst:221 -msgid "" -"Exception to be raised when a test fails. This is deprecated in favor of " -":mod:`unittest`\\ -based tests and :class:`unittest.TestCase`'s assertion " -"methods." -msgstr "" - -#: ../../library/test.rst:228 -msgid "" -"Subclass of :exc:`unittest.SkipTest`. Raised when a resource (such as a " -"network connection) is not available. Raised by the :func:`requires` " -"function." -msgstr "" - -#: ../../library/test.rst:233 -msgid "The :mod:`test.support` module defines the following constants:" -msgstr "" - -#: ../../library/test.rst:237 -msgid "" -"``True`` when verbose output is enabled. Should be checked when more " -"detailed information is desired about a running test. *verbose* is set by " -":mod:`test.regrtest`." -msgstr "" - -#: ../../library/test.rst:244 -msgid "``True`` if the running interpreter is Jython." -msgstr "" - -#: ../../library/test.rst:249 -msgid "``True`` if ``sys.platform`` is ``android``." -msgstr "" - -#: ../../library/test.rst:254 -msgid "``True`` if ``sys.platform`` is ``emscripten``." -msgstr "" - -#: ../../library/test.rst:259 -msgid "``True`` if ``sys.platform`` is ``wasi``." -msgstr "" - -#: ../../library/test.rst:264 -msgid "``True`` if ``sys.platform`` is ``ios``, ``tvos``, or ``watchos``." -msgstr "" - -#: ../../library/test.rst:269 -msgid "" -"``True`` if ``sys.platform`` is ``darwin`` or ``is_apple_mobile`` is " -"``True``." -msgstr "" - -#: ../../library/test.rst:274 -msgid "Path for shell if not on Windows; otherwise ``None``." -msgstr "" - -#: ../../library/test.rst:279 -msgid "" -"Timeout in seconds for tests using a network server listening on the network" -" local loopback interface like ``127.0.0.1``." -msgstr "" - -#: ../../library/test.rst:282 -msgid "" -"The timeout is long enough to prevent test failure: it takes into account " -"that the client and the server can run in different threads or even " -"different processes." -msgstr "" - -#: ../../library/test.rst:286 -msgid "" -"The timeout should be long enough for :meth:`~socket.socket.connect`, " -":meth:`~socket.socket.recv` and :meth:`~socket.socket.send` methods of " -":class:`socket.socket`." -msgstr "" - -#: ../../library/test.rst:290 -msgid "Its default value is 5 seconds." -msgstr "" - -#: ../../library/test.rst:292 -msgid "See also :data:`INTERNET_TIMEOUT`." -msgstr "" - -#: ../../library/test.rst:297 -msgid "Timeout in seconds for network requests going to the internet." -msgstr "" - -#: ../../library/test.rst:299 -msgid "" -"The timeout is short enough to prevent a test to wait for too long if the " -"internet request is blocked for whatever reason." -msgstr "" - -#: ../../library/test.rst:302 -msgid "" -"Usually, a timeout using :data:`INTERNET_TIMEOUT` should not mark a test as " -"failed, but skip the test instead: see " -":func:`~test.support.socket_helper.transient_internet`." -msgstr "" - -#: ../../library/test.rst:306 -msgid "Its default value is 1 minute." -msgstr "" - -#: ../../library/test.rst:308 -msgid "See also :data:`LOOPBACK_TIMEOUT`." -msgstr "" - -#: ../../library/test.rst:313 -msgid "" -"Timeout in seconds to mark a test as failed if the test takes \"too long\"." -msgstr "" - -#: ../../library/test.rst:315 -msgid "" -"The timeout value depends on the regrtest ``--timeout`` command line option." -msgstr "" - -#: ../../library/test.rst:317 -msgid "" -"If a test using :data:`SHORT_TIMEOUT` starts to fail randomly on slow " -"buildbots, use :data:`LONG_TIMEOUT` instead." -msgstr "" - -#: ../../library/test.rst:320 -msgid "Its default value is 30 seconds." -msgstr "" - -#: ../../library/test.rst:325 -msgid "Timeout in seconds to detect when a test hangs." -msgstr "" - -#: ../../library/test.rst:327 -msgid "" -"It is long enough to reduce the risk of test failure on the slowest Python " -"buildbots. It should not be used to mark a test as failed if the test takes " -"\"too long\". The timeout value depends on the regrtest ``--timeout`` " -"command line option." -msgstr "" - -#: ../../library/test.rst:332 -msgid "Its default value is 5 minutes." -msgstr "" - -#: ../../library/test.rst:334 -msgid "" -"See also :data:`LOOPBACK_TIMEOUT`, :data:`INTERNET_TIMEOUT` and " -":data:`SHORT_TIMEOUT`." -msgstr "" - -#: ../../library/test.rst:340 -msgid "Set when tests can be skipped when they are not useful for PGO." -msgstr "" - -#: ../../library/test.rst:345 -msgid "" -"A constant that is likely larger than the underlying OS pipe buffer size, to" -" make writes blocking." -msgstr "" - -#: ../../library/test.rst:351 -msgid "" -"``True`` if Python was built with the :c:macro:`Py_DEBUG` macro defined, " -"that is, if Python was :ref:`built in debug mode `." -msgstr "" - -#: ../../library/test.rst:360 -msgid "" -"A constant that is likely larger than the underlying OS socket buffer size, " -"to make writes blocking." -msgstr "" - -#: ../../library/test.rst:366 -msgid "Set to the top level directory that contains :mod:`test.support`." -msgstr "" - -#: ../../library/test.rst:371 -msgid "Set to the top level directory for the test package." -msgstr "" - -#: ../../library/test.rst:376 -msgid "Set to the ``data`` directory within the test package." -msgstr "" - -#: ../../library/test.rst:381 -msgid "Set to :data:`sys.maxsize` for big memory tests." -msgstr "" - -#: ../../library/test.rst:386 -msgid "" -"Set by :func:`set_memlimit` as the memory limit for big memory tests. " -"Limited by :data:`MAX_Py_ssize_t`." -msgstr "" - -#: ../../library/test.rst:392 -msgid "" -"Set by :func:`set_memlimit` as the memory limit for big memory tests. Not " -"limited by :data:`MAX_Py_ssize_t`." -msgstr "" - -#: ../../library/test.rst:398 -msgid "" -"Set to ``True`` if Python is built without docstrings (the " -":c:macro:`WITH_DOC_STRINGS` macro is not defined). See the " -":option:`configure --without-doc-strings <--without-doc-strings>` option." -msgstr "" - -#: ../../library/test.rst:402 -msgid "See also the :data:`HAVE_DOCSTRINGS` variable." -msgstr "" - -#: ../../library/test.rst:407 -msgid "" -"Set to ``True`` if function docstrings are available. See the " -":option:`python -OO <-O>` option, which strips docstrings of functions " -"implemented in Python." -msgstr "" - -#: ../../library/test.rst:410 -msgid "See also the :data:`MISSING_C_DOCSTRINGS` variable." -msgstr "" - -#: ../../library/test.rst:415 -msgid "Define the URL of a dedicated HTTP server for the network tests." -msgstr "" - -#: ../../library/test.rst:420 -msgid "Object that is equal to anything. Used to test mixed type comparison." -msgstr "" - -#: ../../library/test.rst:425 -msgid "" -"Object that is not equal to anything (even to :data:`ALWAYS_EQ`). Used to " -"test mixed type comparison." -msgstr "" - -#: ../../library/test.rst:431 -msgid "" -"Object that is greater than anything (except itself). Used to test mixed " -"type comparison." -msgstr "" - -#: ../../library/test.rst:437 -msgid "" -"Object that is less than anything (except itself). Used to test mixed type " -"comparison." -msgstr "" - -#: ../../library/test.rst:441 -msgid "The :mod:`test.support` module defines the following functions:" -msgstr "" - -#: ../../library/test.rst:445 -msgid "Run the loop body until ``break`` stops the loop." -msgstr "" - -#: ../../library/test.rst:447 -msgid "" -"After *timeout* seconds, raise an :exc:`AssertionError` if *error* is true, " -"or just stop the loop if *error* is false." -msgstr "" - -#: ../../library/test.rst:450 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/test.rst:452 -msgid "" -"for _ in support.busy_retry(support.SHORT_TIMEOUT):\n" -" if check():\n" -" break" -msgstr "" - -#: ../../library/test.rst:456 ../../library/test.rst:480 -msgid "Example of error=False usage::" -msgstr "" - -#: ../../library/test.rst:458 -msgid "" -"for _ in support.busy_retry(support.SHORT_TIMEOUT, error=False):\n" -" if check():\n" -" break\n" -"else:\n" -" raise RuntimeError('my custom error')" -msgstr "" - -#: ../../library/test.rst:466 -msgid "Wait strategy that applies exponential backoff." -msgstr "" - -#: ../../library/test.rst:468 -msgid "" -"Run the loop body until ``break`` stops the loop. Sleep at each loop " -"iteration, but not at the first iteration. The sleep delay is doubled at " -"each iteration (up to *max_delay* seconds)." -msgstr "" - -#: ../../library/test.rst:472 -msgid "See :func:`busy_retry` documentation for the parameters usage." -msgstr "" - -#: ../../library/test.rst:474 -msgid "Example raising an exception after SHORT_TIMEOUT seconds::" -msgstr "" - -#: ../../library/test.rst:476 -msgid "" -"for _ in support.sleeping_retry(support.SHORT_TIMEOUT):\n" -" if check():\n" -" break" -msgstr "" - -#: ../../library/test.rst:482 -msgid "" -"for _ in support.sleeping_retry(support.SHORT_TIMEOUT, error=False):\n" -" if check():\n" -" break\n" -"else:\n" -" raise RuntimeError('my custom error')" -msgstr "" - -#: ../../library/test.rst:490 -msgid "" -"Return ``True`` if *resource* is enabled and available. The list of " -"available resources is only set when :mod:`test.regrtest` is executing the " -"tests." -msgstr "" - -#: ../../library/test.rst:497 -msgid "Return ``True`` if Python was not built with ``-O0`` or ``-Og``." -msgstr "" - -#: ../../library/test.rst:502 -msgid "Return :const:`_testcapi.WITH_PYMALLOC`." -msgstr "" - -#: ../../library/test.rst:507 -msgid "" -"Raise :exc:`ResourceDenied` if *resource* is not available. *msg* is the " -"argument to :exc:`ResourceDenied` if it is raised. Always returns ``True`` " -"if called by a function whose ``__name__`` is ``'__main__'``. Used when " -"tests are executed by :mod:`test.regrtest`." -msgstr "" - -#: ../../library/test.rst:515 -msgid "Return a repr of *dict* with keys sorted." -msgstr "" - -#: ../../library/test.rst:520 -msgid "" -"Return the path to the file named *filename*. If no match is found " -"*filename* is returned. This does not equal a failure since it could be the " -"path to the file." -msgstr "" - -#: ../../library/test.rst:524 -msgid "" -"Setting *subdir* indicates a relative path to use to find the file rather " -"than looking directly in the path directories." -msgstr "" - -#: ../../library/test.rst:530 -msgid "Get size of a page in bytes." -msgstr "" - -#: ../../library/test.rst:537 -msgid "" -"Set the :func:`sys.setswitchinterval` to the given *interval*. Defines a " -"minimum interval for Android systems to prevent the system from hanging." -msgstr "" - -#: ../../library/test.rst:543 -msgid "" -"Use this check to guard CPython's implementation-specific tests or to run " -"them only on the implementations guarded by the arguments. This function " -"returns ``True`` or ``False`` depending on the host platform. Example " -"usage::" -msgstr "" - -#: ../../library/test.rst:548 -msgid "" -"check_impl_detail() # Only on CPython (default).\n" -"check_impl_detail(jython=True) # Only on Jython.\n" -"check_impl_detail(cpython=False) # Everywhere except CPython." -msgstr "" - -#: ../../library/test.rst:555 -msgid "" -"Set the values for :data:`max_memuse` and :data:`real_max_memuse` for big " -"memory tests." -msgstr "" - -#: ../../library/test.rst:561 -msgid "" -"Store the value from *stdout*. It is meant to hold the stdout at the time " -"the regrtest began." -msgstr "" - -#: ../../library/test.rst:567 -msgid "" -"Return the original stdout set by :func:`record_original_stdout` or " -"``sys.stdout`` if it's not set." -msgstr "" - -#: ../../library/test.rst:573 -msgid "" -"Return a list of command line arguments reproducing the current settings in " -"``sys.flags`` and ``sys.warnoptions``." -msgstr "" - -#: ../../library/test.rst:579 -msgid "" -"Return a list of command line arguments reproducing the current optimization" -" settings in ``sys.flags``." -msgstr "" - -#: ../../library/test.rst:587 -msgid "" -"A context managers that temporarily replaces the named stream with " -":class:`io.StringIO` object." -msgstr "" - -#: ../../library/test.rst:590 -msgid "Example use with output streams::" -msgstr "" - -#: ../../library/test.rst:592 -msgid "" -"with captured_stdout() as stdout, captured_stderr() as stderr:\n" -" print(\"hello\")\n" -" print(\"error\", file=sys.stderr)\n" -"assert stdout.getvalue() == \"hello\\n\"\n" -"assert stderr.getvalue() == \"error\\n\"" -msgstr "" - -#: ../../library/test.rst:598 -msgid "Example use with input stream::" -msgstr "" - -#: ../../library/test.rst:600 -msgid "" -"with captured_stdin() as stdin:\n" -" stdin.write('hello\\n')\n" -" stdin.seek(0)\n" -" # call test code that consumes from sys.stdin\n" -" captured = input()\n" -"self.assertEqual(captured, \"hello\")" -msgstr "" - -#: ../../library/test.rst:610 -msgid "A context manager that temporary disables :mod:`faulthandler`." -msgstr "" - -#: ../../library/test.rst:615 -msgid "" -"Force as many objects as possible to be collected. This is needed because " -"timely deallocation is not guaranteed by the garbage collector. This means " -"that ``__del__`` methods may be called later than expected and weakrefs may " -"remain alive for longer than expected." -msgstr "" - -#: ../../library/test.rst:623 -msgid "" -"A context manager that disables the garbage collector on entry. On exit, the" -" garbage collector is restored to its prior state." -msgstr "" - -#: ../../library/test.rst:629 -msgid "Context manager to swap out an attribute with a new object." -msgstr "" - -#: ../../library/test.rst:631 ../../library/test.rst:649 -#: ../../library/test.rst:904 ../../library/test.rst:1370 -msgid "Usage::" -msgstr "Penggunaan::" - -#: ../../library/test.rst:633 -msgid "" -"with swap_attr(obj, \"attr\", 5):\n" -" ..." -msgstr "" - -#: ../../library/test.rst:636 -msgid "" -"This will set ``obj.attr`` to 5 for the duration of the ``with`` block, " -"restoring the old value at the end of the block. If ``attr`` doesn't exist " -"on ``obj``, it will be created and then deleted at the end of the block." -msgstr "" - -#: ../../library/test.rst:641 ../../library/test.rst:659 -msgid "" -"The old value (or ``None`` if it doesn't exist) will be assigned to the " -"target of the \"as\" clause, if there is one." -msgstr "" - -#: ../../library/test.rst:647 -msgid "Context manager to swap out an item with a new object." -msgstr "" - -#: ../../library/test.rst:651 -msgid "" -"with swap_item(obj, \"item\", 5):\n" -" ..." -msgstr "" - -#: ../../library/test.rst:654 -msgid "" -"This will set ``obj[\"item\"]`` to 5 for the duration of the ``with`` block," -" restoring the old value at the end of the block. If ``item`` doesn't exist " -"on ``obj``, it will be created and then deleted at the end of the block." -msgstr "" - -#: ../../library/test.rst:665 -msgid "" -"Call the ``flush()`` method on :data:`sys.stdout` and then on " -":data:`sys.stderr`. It can be used to make sure that the logs order is " -"consistent before writing into stderr." -msgstr "" - -#: ../../library/test.rst:674 -msgid "" -"Print a warning into :data:`sys.__stderr__`. Format the message as: " -"``f\"Warning -- {msg}\"``. If *msg* is made of multiple lines, add " -"``\"Warning -- \"`` prefix to each line." -msgstr "" - -#: ../../library/test.rst:683 -msgid "" -"Wait until process *pid* completes and check that the process exit code is " -"*exitcode*." -msgstr "" - -#: ../../library/test.rst:686 -msgid "" -"Raise an :exc:`AssertionError` if the process exit code is not equal to " -"*exitcode*." -msgstr "" - -#: ../../library/test.rst:689 -msgid "" -"If the process runs longer than *timeout* seconds (:data:`SHORT_TIMEOUT` by " -"default), kill the process and raise an :exc:`AssertionError`. The timeout " -"feature is not available on Windows." -msgstr "" - -#: ../../library/test.rst:698 -msgid "" -"Return the size of the :c:type:`PyObject` whose structure members are " -"defined by *fmt*. The returned value includes the size of the Python object " -"header and alignment." -msgstr "" - -#: ../../library/test.rst:704 -msgid "" -"Return the size of the :c:type:`PyVarObject` whose structure members are " -"defined by *fmt*. The returned value includes the size of the Python object " -"header and alignment." -msgstr "" - -#: ../../library/test.rst:710 -msgid "" -"For testcase *test*, assert that the ``sys.getsizeof`` for *o* plus the GC " -"header size equals *size*." -msgstr "" - -#: ../../library/test.rst:716 -msgid "" -"A decorator to conditionally mark tests with " -":func:`unittest.expectedFailure`. Any use of this decorator should have an " -"associated comment identifying the relevant tracker issue." -msgstr "" - -#: ../../library/test.rst:723 -msgid "" -"A decorator that skips the decorated test on TLS certification validation " -"failures." -msgstr "" - -#: ../../library/test.rst:728 -msgid "" -"A decorator for running a function in a different locale, correctly " -"resetting it after it has finished. *catstr* is the locale category as a " -"string (for example ``\"LC_ALL\"``). The *locales* passed will be tried " -"sequentially, and the first valid locale will be used." -msgstr "" - -#: ../../library/test.rst:736 -msgid "" -"A decorator for running a function in a specific timezone, correctly " -"resetting it after it has finished." -msgstr "" - -#: ../../library/test.rst:742 -msgid "" -"Decorator for the minimum version when running test on FreeBSD. If the " -"FreeBSD version is less than the minimum, the test is skipped." -msgstr "" - -#: ../../library/test.rst:748 -msgid "" -"Decorator for the minimum version when running test on Linux. If the Linux " -"version is less than the minimum, the test is skipped." -msgstr "" - -#: ../../library/test.rst:754 -msgid "" -"Decorator for the minimum version when running test on macOS. If the macOS " -"version is less than the minimum, the test is skipped." -msgstr "" - -#: ../../library/test.rst:760 -msgid "" -"Decorator for skipping tests on the free-threaded build. If the :term:`GIL`" -" is disabled, the test is skipped." -msgstr "" - -#: ../../library/test.rst:766 -msgid "Decorator for skipping tests on non-IEEE 754 platforms." -msgstr "" - -#: ../../library/test.rst:771 -msgid "Decorator for skipping tests if :mod:`zlib` doesn't exist." -msgstr "" - -#: ../../library/test.rst:776 -msgid "Decorator for skipping tests if :mod:`gzip` doesn't exist." -msgstr "" - -#: ../../library/test.rst:781 -msgid "Decorator for skipping tests if :mod:`bz2` doesn't exist." -msgstr "" - -#: ../../library/test.rst:786 -msgid "Decorator for skipping tests if :mod:`lzma` doesn't exist." -msgstr "" - -#: ../../library/test.rst:791 -msgid "Decorator for skipping tests if *resource* is not available." -msgstr "" - -#: ../../library/test.rst:796 -msgid "Decorator for only running the test if :data:`HAVE_DOCSTRINGS`." -msgstr "" - -#: ../../library/test.rst:801 -msgid "" -"Decorator for only running the test if :ref:`Limited C API ` " -"is available." -msgstr "" - -#: ../../library/test.rst:807 -msgid "Decorator for tests only applicable to CPython." -msgstr "" - -#: ../../library/test.rst:812 -msgid "" -"Decorator for invoking :func:`check_impl_detail` on *guards*. If that " -"returns ``False``, then uses *msg* as the reason for skipping the test." -msgstr "" - -#: ../../library/test.rst:817 -msgid "" -"Decorator for marking tests as thread-unsafe. This test always runs in one " -"thread even when invoked with ``--parallel-threads``." -msgstr "" - -#: ../../library/test.rst:823 -msgid "" -"Decorator to temporarily turn off tracing for the duration of the test." -msgstr "" - -#: ../../library/test.rst:828 -msgid "" -"Decorator for tests which involve reference counting. The decorator does " -"not run the test if it is not run by CPython. Any trace function is unset " -"for the duration of the test to prevent unexpected refcounts caused by the " -"trace function." -msgstr "" - -#: ../../library/test.rst:836 -msgid "Decorator for bigmem tests." -msgstr "" - -#: ../../library/test.rst:838 -msgid "" -"*size* is a requested size for the test (in arbitrary, test-interpreted " -"units.) *memuse* is the number of bytes per unit for the test, or a good " -"estimate of it. For example, a test that needs two byte buffers, of 4 GiB " -"each, could be decorated with ``@bigmemtest(size=_4G, memuse=2)``." -msgstr "" - -#: ../../library/test.rst:843 -msgid "" -"The *size* argument is normally passed to the decorated test method as an " -"extra argument. If *dry_run* is ``True``, the value passed to the test " -"method may be less than the requested value. If *dry_run* is ``False``, it " -"means the test doesn't support dummy runs when ``-M`` is not specified." -msgstr "" - -#: ../../library/test.rst:851 -msgid "Decorator for tests that fill the address space." -msgstr "" - -#: ../../library/test.rst:856 -msgid "" -"Return ``False`` if there is no evidence the interpreter was compiled with " -"``musl``, otherwise return a version triple, either ``(0, 0, 0)`` if the " -"version is unknown, or the actual version if it is known. Intended for use " -"in ``skip`` decorators. ``emscripten`` and ``wasi`` are assumed to be " -"compiled with ``musl``; otherwise ``platform.libc_ver`` is checked." -msgstr "" - -#: ../../library/test.rst:865 -msgid "" -"Test for syntax errors in *statement* by attempting to compile *statement*. " -"*testcase* is the :mod:`unittest` instance for the test. *errtext* is the " -"regular expression which should match the string representation of the " -"raised :exc:`SyntaxError`. If *lineno* is not ``None``, compares to the " -"line of the exception. If *offset* is not ``None``, compares to the offset " -"of the exception." -msgstr "" - -#: ../../library/test.rst:875 -msgid "Open *url*. If open fails, raises :exc:`TestFailed`." -msgstr "" - -#: ../../library/test.rst:880 -msgid "" -"Use this at the end of ``test_main`` whenever sub-processes are started. " -"This will help ensure that no extra children (zombies) stick around to hog " -"resources and create problems when looking for refleaks." -msgstr "" - -#: ../../library/test.rst:887 -msgid "" -"Get an attribute, raising :exc:`unittest.SkipTest` if :exc:`AttributeError` " -"is raised." -msgstr "" - -#: ../../library/test.rst:893 -msgid "" -"Context manager catching unraisable exception using " -":func:`sys.unraisablehook`." -msgstr "" - -#: ../../library/test.rst:896 -msgid "" -"Storing the exception value (``cm.unraisable.exc_value``) creates a " -"reference cycle. The reference cycle is broken explicitly when the context " -"manager exits." -msgstr "" - -#: ../../library/test.rst:900 -msgid "" -"Storing the object (``cm.unraisable.object``) can resurrect it if it is set " -"to an object which is being finalized. Exiting the context manager clears " -"the stored object." -msgstr "" - -#: ../../library/test.rst:906 -msgid "" -"with support.catch_unraisable_exception() as cm:\n" -" # code creating an \"unraisable exception\"\n" -" ...\n" -"\n" -" # check the unraisable exception: use cm.unraisable\n" -" ...\n" -"\n" -"# cm.unraisable attribute no longer exists at this point\n" -"# (to break a reference cycle)" -msgstr "" - -#: ../../library/test.rst:921 -msgid "" -"Generic implementation of the :mod:`unittest` ``load_tests`` protocol for " -"use in test packages. *pkg_dir* is the root directory of the package; " -"*loader*, *standard_tests*, and *pattern* are the arguments expected by " -"``load_tests``. In simple cases, the test package's ``__init__.py`` can be " -"the following::" -msgstr "" - -#: ../../library/test.rst:927 -msgid "" -"import os\n" -"from test.support import load_package_tests\n" -"\n" -"def load_tests(*args):\n" -" return load_package_tests(os.path.dirname(__file__), *args)" -msgstr "" - -#: ../../library/test.rst:936 -msgid "" -"Returns the set of attributes, functions or methods of *ref_api* not found " -"on *other_api*, except for a defined list of items to be ignored in this " -"check specified in *ignore*." -msgstr "" - -#: ../../library/test.rst:940 -msgid "" -"By default this skips private attributes beginning with '_' but includes all" -" magic methods, i.e. those starting and ending in '__'." -msgstr "" - -#: ../../library/test.rst:948 -msgid "" -"Override *object_to_patch.attr_name* with *new_value*. Also add cleanup " -"procedure to *test_instance* to restore *object_to_patch* for *attr_name*. " -"The *attr_name* should be a valid attribute for *object_to_patch*." -msgstr "" - -#: ../../library/test.rst:956 -msgid "" -"Run *code* in subinterpreter. Raise :exc:`unittest.SkipTest` if " -":mod:`tracemalloc` is enabled." -msgstr "" - -#: ../../library/test.rst:962 -msgid "Assert instances of *cls* are deallocated after iterating." -msgstr "" - -#: ../../library/test.rst:967 -msgid "" -"Check for the existence of the compiler executables whose names are listed " -"in *cmd_names* or all the compiler executables when *cmd_names* is empty and" -" return the first missing executable or ``None`` when none is found missing." -msgstr "" - -#: ../../library/test.rst:975 -msgid "" -"Assert that the ``__all__`` variable of *module* contains all public names." -msgstr "" - -#: ../../library/test.rst:977 -msgid "" -"The module's public names (its API) are detected automatically based on " -"whether they match the public name convention and were defined in *module*." -msgstr "" - -#: ../../library/test.rst:981 -msgid "" -"The *name_of_module* argument can specify (as a string or tuple thereof) " -"what module(s) an API could be defined in order to be detected as a public " -"API. One case for this is when *module* imports part of its public API from " -"other modules, possibly a C backend (like ``csv`` and its ``_csv``)." -msgstr "" - -#: ../../library/test.rst:986 -msgid "" -"The *extra* argument can be a set of names that wouldn't otherwise be " -"automatically detected as \"public\", like objects without a proper " -":attr:`~definition.__module__` attribute. If provided, it will be added to " -"the automatically detected ones." -msgstr "" - -#: ../../library/test.rst:990 -msgid "" -"The *not_exported* argument can be a set of names that must not be treated " -"as part of the public API even though their names indicate otherwise." -msgstr "" - -#: ../../library/test.rst:993 ../../library/test.rst:1623 -msgid "Example use::" -msgstr "" - -#: ../../library/test.rst:995 -msgid "" -"import bar\n" -"import foo\n" -"import unittest\n" -"from test import support\n" -"\n" -"class MiscTestCase(unittest.TestCase):\n" -" def test__all__(self):\n" -" support.check__all__(self, foo)\n" -"\n" -"class OtherTestCase(unittest.TestCase):\n" -" def test__all__(self):\n" -" extra = {'BAR_CONST', 'FOO_CONST'}\n" -" not_exported = {'baz'} # Undocumented name.\n" -" # bar imports part of its API from _bar.\n" -" support.check__all__(self, bar, ('bar', '_bar'),\n" -" extra=extra, not_exported=not_exported)" -msgstr "" - -#: ../../library/test.rst:1016 -msgid "" -"Skip tests if the :mod:`multiprocessing.synchronize` module is missing, if " -"there is no available semaphore implementation, or if creating a lock raises" -" an :exc:`OSError`." -msgstr "" - -#: ../../library/test.rst:1025 -msgid "Assert that type *tp* cannot be instantiated using *args* and *kwds*." -msgstr "" - -#: ../../library/test.rst:1032 -msgid "" -"This function returns a context manager that will change the global " -":func:`sys.set_int_max_str_digits` setting for the duration of the context " -"to allow execution of test code that needs a different limit on the number " -"of digits when converting between an integer and string." -msgstr "" - -#: ../../library/test.rst:1040 -msgid "The :mod:`test.support` module defines the following classes:" -msgstr "" - -#: ../../library/test.rst:1045 -msgid "" -"A context manager used to try to prevent crash dialog popups on tests that " -"are expected to crash a subprocess." -msgstr "" - -#: ../../library/test.rst:1048 -msgid "" -"On Windows, it disables Windows Error Reporting dialogs using `SetErrorMode " -"`_." -msgstr "" - -#: ../../library/test.rst:1051 -msgid "" -"On UNIX, :func:`resource.setrlimit` is used to set " -":const:`resource.RLIMIT_CORE`'s soft limit to 0 to prevent coredump file " -"creation." -msgstr "" - -#: ../../library/test.rst:1055 -msgid "" -"On both platforms, the old value is restored by :meth:`~object.__exit__`." -msgstr "" - -#: ../../library/test.rst:1060 -msgid "" -"Class to save and restore signal handlers registered by the Python signal " -"handler." -msgstr "" - -#: ../../library/test.rst:1065 -msgid "" -"Save the signal handlers to a dictionary mapping signal numbers to the " -"current signal handler." -msgstr "" - -#: ../../library/test.rst:1070 -msgid "" -"Set the signal numbers from the :meth:`save` dictionary to the saved " -"handler." -msgstr "" - -#: ../../library/test.rst:1078 -msgid "Try to match a single dict with the supplied arguments." -msgstr "" - -#: ../../library/test.rst:1083 -msgid "Try to match a single stored value (*dv*) with a supplied value (*v*)." -msgstr "" - -#: ../../library/test.rst:1087 -msgid ":mod:`test.support.socket_helper` --- Utilities for socket tests" -msgstr "" - -#: ../../library/test.rst:1093 -msgid "" -"The :mod:`test.support.socket_helper` module provides support for socket " -"tests." -msgstr "" - -#: ../../library/test.rst:1100 -msgid "Set to ``True`` if IPv6 is enabled on this host, ``False`` otherwise." -msgstr "" - -#: ../../library/test.rst:1105 -msgid "" -"Returns an unused port that should be suitable for binding. This is " -"achieved by creating a temporary socket with the same family and type as the" -" ``sock`` parameter (default is :const:`~socket.AF_INET`, " -":const:`~socket.SOCK_STREAM`), and binding it to the specified host address " -"(defaults to ``0.0.0.0``) with the port set to 0, eliciting an unused " -"ephemeral port from the OS. The temporary socket is then closed and deleted," -" and the ephemeral port is returned." -msgstr "" - -#: ../../library/test.rst:1114 -msgid "" -"Either this method or :func:`bind_port` should be used for any tests where a" -" server socket needs to be bound to a particular port for the duration of " -"the test. Which one to use depends on whether the calling code is creating a" -" Python socket, or if an unused port needs to be provided in a constructor " -"or passed to an external program (i.e. the ``-accept`` argument to openssl's" -" s_server mode). Always prefer :func:`bind_port` over " -":func:`find_unused_port` where possible. Using a hard coded port is " -"discouraged since it can make multiple instances of the test impossible to " -"run simultaneously, which is a problem for buildbots." -msgstr "" - -#: ../../library/test.rst:1128 -msgid "" -"Bind the socket to a free port and return the port number. Relies on " -"ephemeral ports in order to ensure we are using an unbound port. This is " -"important as many tests may be running simultaneously, especially in a " -"buildbot environment. This method raises an exception if the " -"``sock.family`` is :const:`~socket.AF_INET` and ``sock.type`` is " -":const:`~socket.SOCK_STREAM`, and the socket has " -":const:`~socket.SO_REUSEADDR` or :const:`~socket.SO_REUSEPORT` set on it. " -"Tests should never set these socket options for TCP/IP sockets. The only " -"case for setting these options is testing multicasting via multiple UDP " -"sockets." -msgstr "" - -#: ../../library/test.rst:1139 -msgid "" -"Additionally, if the :const:`~socket.SO_EXCLUSIVEADDRUSE` socket option is " -"available (i.e. on Windows), it will be set on the socket. This will " -"prevent anyone else from binding to our host/port for the duration of the " -"test." -msgstr "" - -#: ../../library/test.rst:1147 -msgid "" -"Bind a Unix socket, raising :exc:`unittest.SkipTest` if " -":exc:`PermissionError` is raised." -msgstr "" - -#: ../../library/test.rst:1153 -msgid "" -"A decorator for running tests that require a functional ``bind()`` for Unix " -"sockets." -msgstr "" - -#: ../../library/test.rst:1159 -msgid "" -"A context manager that raises :exc:`~test.support.ResourceDenied` when " -"various issues with the internet connection manifest themselves as " -"exceptions." -msgstr "" - -#: ../../library/test.rst:1165 -msgid "" -":mod:`test.support.script_helper` --- Utilities for the Python execution " -"tests" -msgstr "" - -#: ../../library/test.rst:1171 -msgid "" -"The :mod:`test.support.script_helper` module provides support for Python's " -"script execution tests." -msgstr "" - -#: ../../library/test.rst:1176 -msgid "" -"Return ``True`` if ``sys.executable interpreter`` requires environment " -"variables in order to be able to run at all." -msgstr "" - -#: ../../library/test.rst:1179 -msgid "" -"This is designed to be used with ``@unittest.skipIf()`` to annotate tests " -"that need to use an ``assert_python*()`` function to launch an isolated mode" -" (``-I``) or no environment mode (``-E``) sub-interpreter process." -msgstr "" - -#: ../../library/test.rst:1183 -msgid "" -"A normal build & test does not run into this situation but it can happen " -"when trying to run the standard library test suite from an interpreter that " -"doesn't have an obvious home with Python's current home finding logic." -msgstr "" - -#: ../../library/test.rst:1187 -msgid "" -"Setting :envvar:`PYTHONHOME` is one way to get most of the testsuite to run " -"in that situation. :envvar:`PYTHONPATH` or :envvar:`PYTHONUSERSITE` are " -"other common environment variables that might impact whether or not the " -"interpreter can start." -msgstr "" - -#: ../../library/test.rst:1195 -msgid "" -"Set up the environment based on *env_vars* for running the interpreter in a " -"subprocess. The values can include ``__isolated``, ``__cleanenv``, " -"``__cwd``, and ``TERM``." -msgstr "" - -#: ../../library/test.rst:1199 ../../library/test.rst:1215 -#: ../../library/test.rst:1227 -msgid "The function no longer strips whitespaces from *stderr*." -msgstr "" - -#: ../../library/test.rst:1205 -msgid "" -"Assert that running the interpreter with *args* and optional environment " -"variables *env_vars* succeeds (``rc == 0``) and return a ``(return code, " -"stdout, stderr)`` tuple." -msgstr "" - -#: ../../library/test.rst:1209 -msgid "" -"If the *__cleanenv* keyword-only parameter is set, *env_vars* is used as a " -"fresh environment." -msgstr "" - -#: ../../library/test.rst:1212 -msgid "" -"Python is started in isolated mode (command line option ``-I``), except if " -"the *__isolated* keyword-only parameter is set to ``False``." -msgstr "" - -#: ../../library/test.rst:1221 -msgid "" -"Assert that running the interpreter with *args* and optional environment " -"variables *env_vars* fails (``rc != 0``) and return a ``(return code, " -"stdout, stderr)`` tuple." -msgstr "" - -#: ../../library/test.rst:1225 -msgid "See :func:`assert_python_ok` for more options." -msgstr "" - -#: ../../library/test.rst:1233 -msgid "Run a Python subprocess with the given arguments." -msgstr "" - -#: ../../library/test.rst:1235 -msgid "" -"*kw* is extra keyword args to pass to :func:`subprocess.Popen`. Returns a " -":class:`subprocess.Popen` object." -msgstr "" - -#: ../../library/test.rst:1241 -msgid "" -"Run the given :class:`subprocess.Popen` process until completion and return " -"stdout." -msgstr "" - -#: ../../library/test.rst:1247 -msgid "" -"Create script containing *source* in path *script_dir* and " -"*script_basename*. If *omit_suffix* is ``False``, append ``.py`` to the " -"name. Return the full script path." -msgstr "" - -#: ../../library/test.rst:1254 -msgid "" -"Create zip file at *zip_dir* and *zip_basename* with extension ``zip`` which" -" contains the files in *script_name*. *name_in_zip* is the archive name. " -"Return a tuple containing ``(full path, full path of archive name)``." -msgstr "" - -#: ../../library/test.rst:1261 -msgid "" -"Create a directory named *pkg_dir* containing an ``__init__`` file with " -"*init_source* as its contents." -msgstr "" - -#: ../../library/test.rst:1268 -msgid "" -"Create a zip package directory with a path of *zip_dir* and *zip_basename* " -"containing an empty ``__init__`` file and a file *script_basename* " -"containing the *source*. If *compiled* is ``True``, both source files will " -"be compiled and added to the zip package. Return a tuple of the full zip " -"path and the archive name for the zip file." -msgstr "" - -#: ../../library/test.rst:1276 -msgid "" -":mod:`test.support.bytecode_helper` --- Support tools for testing correct " -"bytecode generation" -msgstr "" - -#: ../../library/test.rst:1281 -msgid "" -"The :mod:`test.support.bytecode_helper` module provides support for testing " -"and inspecting bytecode generation." -msgstr "" - -#: ../../library/test.rst:1286 -msgid "The module defines the following class:" -msgstr "" - -#: ../../library/test.rst:1290 -msgid "This class has custom assertion methods for inspecting bytecode." -msgstr "" - -#: ../../library/test.rst:1294 -msgid "Return the disassembly of *co* as string." -msgstr "" - -#: ../../library/test.rst:1299 -msgid "" -"Return instr if *opname* is found, otherwise throws :exc:`AssertionError`." -msgstr "" - -#: ../../library/test.rst:1304 -msgid "Throws :exc:`AssertionError` if *opname* is found." -msgstr "" - -#: ../../library/test.rst:1308 -msgid ":mod:`test.support.threading_helper` --- Utilities for threading tests" -msgstr "" - -#: ../../library/test.rst:1313 -msgid "" -"The :mod:`test.support.threading_helper` module provides support for " -"threading tests." -msgstr "" - -#: ../../library/test.rst:1320 -msgid "" -"Join a *thread* within *timeout*. Raise an :exc:`AssertionError` if thread " -"is still alive after *timeout* seconds." -msgstr "" - -#: ../../library/test.rst:1326 -msgid "Decorator to ensure the threads are cleaned up even if the test fails." -msgstr "" - -#: ../../library/test.rst:1331 -msgid "" -"Context manager to start *threads*, which is a sequence of threads. *unlock*" -" is a function called after the threads are started, even if an exception " -"was raised; an example would be :meth:`threading.Event.set`. " -"``start_threads`` will attempt to join the started threads upon exit." -msgstr "" - -#: ../../library/test.rst:1339 -msgid "" -"Cleanup up threads not specified in *original_values*. Designed to emit a " -"warning if a test leaves running threads in the background." -msgstr "" - -#: ../../library/test.rst:1345 -msgid "Return current thread count and copy of dangling threads." -msgstr "" - -#: ../../library/test.rst:1350 -msgid "" -"Context manager to wait until all threads created in the ``with`` statement " -"exit." -msgstr "" - -#: ../../library/test.rst:1356 -msgid "" -"Context manager catching :class:`threading.Thread` exception using " -":func:`threading.excepthook`." -msgstr "" - -#: ../../library/test.rst:1359 -msgid "Attributes set when an exception is caught:" -msgstr "" - -#: ../../library/test.rst:1361 -msgid "``exc_type``" -msgstr "" - -#: ../../library/test.rst:1362 -msgid "``exc_value``" -msgstr "" - -#: ../../library/test.rst:1363 -msgid "``exc_traceback``" -msgstr "" - -#: ../../library/test.rst:1364 -msgid "``thread``" -msgstr "" - -#: ../../library/test.rst:1366 -msgid "See :func:`threading.excepthook` documentation." -msgstr "" - -#: ../../library/test.rst:1368 -msgid "These attributes are deleted at the context manager exit." -msgstr "" - -#: ../../library/test.rst:1372 -msgid "" -"with threading_helper.catch_threading_exception() as cm:\n" -" # code spawning a thread which raises an exception\n" -" ...\n" -"\n" -" # check the thread exception, use cm attributes:\n" -" # exc_type, exc_value, exc_traceback, thread\n" -" ...\n" -"\n" -"# exc_type, exc_value, exc_traceback, thread attributes of cm no longer\n" -"# exists at this point\n" -"# (to avoid reference cycles)" -msgstr "" - -#: ../../library/test.rst:1388 -msgid ":mod:`test.support.os_helper` --- Utilities for os tests" -msgstr "" - -#: ../../library/test.rst:1393 -msgid "" -"The :mod:`test.support.os_helper` module provides support for os tests." -msgstr "" - -#: ../../library/test.rst:1400 -msgid "A non-ASCII character encodable by :func:`os.fsencode`." -msgstr "" - -#: ../../library/test.rst:1405 -msgid "Set to :func:`os.getcwd`." -msgstr "" - -#: ../../library/test.rst:1410 -msgid "" -"Set to a name that is safe to use as the name of a temporary file. Any " -"temporary file that is created should be closed and unlinked (removed)." -msgstr "" - -#: ../../library/test.rst:1416 -msgid "" -"Set to a filename containing the :data:`FS_NONASCII` character, if it " -"exists. This guarantees that if the filename exists, it can be encoded and " -"decoded with the default filesystem encoding. This allows tests that require" -" a non-ASCII filename to be easily skipped on platforms where they can't " -"work." -msgstr "" - -#: ../../library/test.rst:1424 -msgid "" -"Set to a filename (str type) that should not be able to be encoded by file " -"system encoding in strict mode. It may be ``None`` if it's not possible to " -"generate such a filename." -msgstr "" - -#: ../../library/test.rst:1431 -msgid "" -"Set to a filename (bytes type) that should not be able to be decoded by file" -" system encoding in strict mode. It may be ``None`` if it's not possible to" -" generate such a filename." -msgstr "" - -#: ../../library/test.rst:1438 -msgid "Set to a non-ASCII name for a temporary file." -msgstr "" - -#: ../../library/test.rst:1443 -msgid "" -"Class used to temporarily set or unset environment variables. Instances can" -" be used as a context manager and have a complete dictionary interface for " -"querying/modifying the underlying ``os.environ``. After exit from the " -"context manager all changes to environment variables done through this " -"instance will be rolled back." -msgstr "" - -#: ../../library/test.rst:1449 -msgid "Added dictionary interface." -msgstr "" - -#: ../../library/test.rst:1455 -msgid "" -"Simple :term:`path-like object`. It implements the " -":meth:`~os.PathLike.__fspath__` method which just returns the *path* " -"argument. If *path* is an exception, it will be raised in " -":meth:`!__fspath__`." -msgstr "" - -#: ../../library/test.rst:1463 -msgid "" -"Temporarily set the environment variable ``envvar`` to the value of " -"``value``." -msgstr "" - -#: ../../library/test.rst:1469 -msgid "Temporarily unset one or more environment variables." -msgstr "" - -#: ../../library/test.rst:1471 -msgid "More than one environment variable can be unset." -msgstr "" - -#: ../../library/test.rst:1477 -msgid "" -"Return ``True`` if the OS supports symbolic links, ``False`` otherwise." -msgstr "" - -#: ../../library/test.rst:1483 -msgid "Return ``True`` if the OS supports xattr, ``False`` otherwise." -msgstr "" - -#: ../../library/test.rst:1489 -msgid "" -"A context manager that temporarily changes the current working directory to " -"*path* and yields the directory." -msgstr "" - -#: ../../library/test.rst:1492 -msgid "" -"If *quiet* is ``False``, the context manager raises an exception on error. " -"Otherwise, it issues only a warning and keeps the current working directory " -"the same." -msgstr "" - -#: ../../library/test.rst:1499 -msgid "" -"Create an empty file with *filename*. If it already exists, truncate it." -msgstr "" - -#: ../../library/test.rst:1504 -msgid "Count the number of open file descriptors." -msgstr "" - -#: ../../library/test.rst:1509 -msgid "" -"Return ``True`` if the file system for *directory* is case-insensitive." -msgstr "" - -#: ../../library/test.rst:1514 -msgid "" -"Create an invalid file descriptor by opening and closing a temporary file, " -"and returning its descriptor." -msgstr "" - -#: ../../library/test.rst:1520 -msgid "" -"Call :func:`os.rmdir` on *filename*. On Windows platforms, this is wrapped " -"with a wait loop that checks for the existence of the file, which is needed " -"due to antivirus programs that can hold files open and prevent deletion." -msgstr "" - -#: ../../library/test.rst:1528 -msgid "" -"Call :func:`shutil.rmtree` on *path* or call :func:`os.lstat` and " -":func:`os.rmdir` to remove a path and its contents. As with :func:`rmdir`, " -"on Windows platforms this is wrapped with a wait loop that checks for the " -"existence of the files." -msgstr "" - -#: ../../library/test.rst:1536 -msgid "A decorator for running tests that require support for symbolic links." -msgstr "" - -#: ../../library/test.rst:1541 -msgid "A decorator for running tests that require support for xattr." -msgstr "" - -#: ../../library/test.rst:1546 -msgid "" -"A context manager that temporarily creates a new directory and changes the " -"current working directory (CWD)." -msgstr "" - -#: ../../library/test.rst:1549 -msgid "" -"The context manager creates a temporary directory in the current directory " -"with name *name* before temporarily changing the current working directory." -" If *name* is ``None``, the temporary directory is created using " -":func:`tempfile.mkdtemp`." -msgstr "" - -#: ../../library/test.rst:1554 -msgid "" -"If *quiet* is ``False`` and it is not possible to create or change the CWD, " -"an error is raised. Otherwise, only a warning is raised and the original " -"CWD is used." -msgstr "" - -#: ../../library/test.rst:1561 -msgid "" -"A context manager that creates a temporary directory at *path* and yields " -"the directory." -msgstr "" - -#: ../../library/test.rst:1564 -msgid "" -"If *path* is ``None``, the temporary directory is created using " -":func:`tempfile.mkdtemp`. If *quiet* is ``False``, the context manager " -"raises an exception on error. Otherwise, if *path* is specified and cannot " -"be created, only a warning is issued." -msgstr "" - -#: ../../library/test.rst:1572 -msgid "A context manager that temporarily sets the process umask." -msgstr "" - -#: ../../library/test.rst:1577 -msgid "" -"Call :func:`os.unlink` on *filename*. As with :func:`rmdir`, on Windows " -"platforms, this is wrapped with a wait loop that checks for the existence of" -" the file." -msgstr "" - -#: ../../library/test.rst:1583 -msgid ":mod:`test.support.import_helper` --- Utilities for import tests" -msgstr "" - -#: ../../library/test.rst:1588 -msgid "" -"The :mod:`test.support.import_helper` module provides support for import " -"tests." -msgstr "" - -#: ../../library/test.rst:1595 -msgid "" -"Remove the module named *module_name* from ``sys.modules`` and delete any " -"byte-compiled files of the module." -msgstr "" - -#: ../../library/test.rst:1601 -msgid "" -"This function imports and returns a fresh copy of the named Python module by" -" removing the named module from ``sys.modules`` before doing the import. " -"Note that unlike :func:`reload`, the original module is not affected by this" -" operation." -msgstr "" - -#: ../../library/test.rst:1606 -msgid "" -"*fresh* is an iterable of additional module names that are also removed from" -" the ``sys.modules`` cache before doing the import." -msgstr "" - -#: ../../library/test.rst:1609 -msgid "" -"*blocked* is an iterable of module names that are replaced with ``None`` in " -"the module cache during the import to ensure that attempts to import them " -"raise :exc:`ImportError`." -msgstr "" - -#: ../../library/test.rst:1613 -msgid "" -"The named module and any modules named in the *fresh* and *blocked* " -"parameters are saved before starting the import and then reinserted into " -"``sys.modules`` when the fresh import is complete." -msgstr "" - -#: ../../library/test.rst:1617 -msgid "" -"Module and package deprecation messages are suppressed during this import if" -" *deprecated* is ``True``." -msgstr "" - -#: ../../library/test.rst:1620 -msgid "" -"This function will raise :exc:`ImportError` if the named module cannot be " -"imported." -msgstr "" - -#: ../../library/test.rst:1625 -msgid "" -"# Get copies of the warnings module for testing without affecting the\n" -"# version being used by the rest of the test suite. One copy uses the\n" -"# C implementation, the other is forced to use the pure Python fallback\n" -"# implementation\n" -"py_warnings = import_fresh_module('warnings', blocked=['_warnings'])\n" -"c_warnings = import_fresh_module('warnings', fresh=['_warnings'])" -msgstr "" - -#: ../../library/test.rst:1637 -msgid "" -"This function imports and returns the named module. Unlike a normal import, " -"this function raises :exc:`unittest.SkipTest` if the module cannot be " -"imported." -msgstr "" - -#: ../../library/test.rst:1641 -msgid "" -"Module and package deprecation messages are suppressed during this import if" -" *deprecated* is ``True``. If a module is required on a platform but " -"optional for others, set *required_on* to an iterable of platform prefixes " -"which will be compared against :data:`sys.platform`." -msgstr "" - -#: ../../library/test.rst:1651 -msgid "Return a copy of :data:`sys.modules`." -msgstr "" - -#: ../../library/test.rst:1656 -msgid "" -"Remove modules except for *oldmodules* and ``encodings`` in order to " -"preserve internal cache." -msgstr "" - -#: ../../library/test.rst:1662 -msgid "Delete *name* from ``sys.modules``." -msgstr "" - -#: ../../library/test.rst:1667 -msgid "" -"Move a :pep:`3147`/:pep:`488` pyc file to its legacy pyc location and return" -" the file system path to the legacy pyc file. The *source* value is the " -"file system path to the source file. It does not need to exist, however the" -" PEP 3147/488 pyc file must exist." -msgstr "" - -#: ../../library/test.rst:1675 -msgid "" -"A context manager to force import to return a new module reference. This is" -" useful for testing module-level behaviors, such as the emission of a " -":exc:`DeprecationWarning` on import. Example usage::" -msgstr "" - -#: ../../library/test.rst:1679 -msgid "" -"with CleanImport('foo'):\n" -" importlib.import_module('foo') # New reference." -msgstr "" - -#: ../../library/test.rst:1685 -msgid "A context manager to temporarily add directories to :data:`sys.path`." -msgstr "" - -#: ../../library/test.rst:1687 -msgid "" -"This makes a copy of :data:`sys.path`, appends any directories given as " -"positional arguments, then reverts :data:`sys.path` to the copied settings " -"when the context ends." -msgstr "" - -#: ../../library/test.rst:1691 -msgid "" -"Note that *all* :data:`sys.path` modifications in the body of the context " -"manager, including replacement of the object, will be reverted at the end of" -" the block." -msgstr "" - -#: ../../library/test.rst:1697 -msgid ":mod:`test.support.warnings_helper` --- Utilities for warnings tests" -msgstr "" - -#: ../../library/test.rst:1702 -msgid "" -"The :mod:`test.support.warnings_helper` module provides support for warnings" -" tests." -msgstr "" - -#: ../../library/test.rst:1709 -msgid "" -"Suppress warnings that are instances of *category*, which must be " -":exc:`Warning` or a subclass. Roughly equivalent to " -":func:`warnings.catch_warnings` with :meth:`warnings.simplefilter('ignore', " -"category=category) `. For example::" -msgstr "" - -#: ../../library/test.rst:1715 -msgid "" -"@warning_helper.ignore_warnings(category=DeprecationWarning)\n" -"def test_suppress_warning():\n" -" # do something" -msgstr "" - -#: ../../library/test.rst:1724 -msgid "" -"Context manager to check that no :exc:`ResourceWarning` was raised. You " -"must remove the object which may emit :exc:`ResourceWarning` before the end " -"of the context manager." -msgstr "" - -#: ../../library/test.rst:1731 -msgid "" -"Test for syntax warning in *statement* by attempting to compile *statement*." -" Test also that the :exc:`SyntaxWarning` is emitted only once, and that it " -"will be converted to a :exc:`SyntaxError` when turned into error. *testcase*" -" is the :mod:`unittest` instance for the test. *errtext* is the regular " -"expression which should match the string representation of the emitted " -":exc:`SyntaxWarning` and raised :exc:`SyntaxError`. If *lineno* is not " -"``None``, compares to the line of the warning and exception. If *offset* is " -"not ``None``, compares to the offset of the exception." -msgstr "" - -#: ../../library/test.rst:1745 -msgid "" -"A convenience wrapper for :func:`warnings.catch_warnings` that makes it " -"easier to test that a warning was correctly raised. It is approximately " -"equivalent to calling ``warnings.catch_warnings(record=True)`` with " -":meth:`warnings.simplefilter` set to ``always`` and with the option to " -"automatically validate the results that are recorded." -msgstr "" - -#: ../../library/test.rst:1751 -msgid "" -"``check_warnings`` accepts 2-tuples of the form ``(\"message regexp\", " -"WarningCategory)`` as positional arguments. If one or more *filters* are " -"provided, or if the optional keyword argument *quiet* is ``False``, it " -"checks to make sure the warnings are as expected: each specified filter " -"must match at least one of the warnings raised by the enclosed code or the " -"test fails, and if any warnings are raised that do not match any of the " -"specified filters the test fails. To disable the first of these checks, set" -" *quiet* to ``True``." -msgstr "" - -#: ../../library/test.rst:1760 -msgid "If no arguments are specified, it defaults to::" -msgstr "" - -#: ../../library/test.rst:1762 -msgid "check_warnings((\"\", Warning), quiet=True)" -msgstr "" - -#: ../../library/test.rst:1764 -msgid "In this case all warnings are caught and no errors are raised." -msgstr "" - -#: ../../library/test.rst:1766 -msgid "" -"On entry to the context manager, a :class:`WarningRecorder` instance is " -"returned. The underlying warnings list from :func:`~warnings.catch_warnings`" -" is available via the recorder object's :attr:`warnings` attribute. As a " -"convenience, the attributes of the object representing the most recent " -"warning can also be accessed directly through the recorder object (see " -"example below). If no warning has been raised, then any of the attributes " -"that would otherwise be expected on an object representing a warning will " -"return ``None``." -msgstr "" - -#: ../../library/test.rst:1775 -msgid "" -"The recorder object also has a :meth:`reset` method, which clears the " -"warnings list." -msgstr "" - -#: ../../library/test.rst:1778 -msgid "The context manager is designed to be used like this::" -msgstr "" - -#: ../../library/test.rst:1780 -msgid "" -"with check_warnings((\"assertion is always true\", SyntaxWarning),\n" -" (\"\", UserWarning)):\n" -" exec('assert(False, \"Hey!\")')\n" -" warnings.warn(UserWarning(\"Hide me!\"))" -msgstr "" - -#: ../../library/test.rst:1785 -msgid "" -"In this case if either warning was not raised, or some other warning was " -"raised, :func:`check_warnings` would raise an error." -msgstr "" - -#: ../../library/test.rst:1788 -msgid "" -"When a test needs to look more deeply into the warnings, rather than just " -"checking whether or not they occurred, code like this can be used::" -msgstr "" - -#: ../../library/test.rst:1791 -msgid "" -"with check_warnings(quiet=True) as w:\n" -" warnings.warn(\"foo\")\n" -" assert str(w.args[0]) == \"foo\"\n" -" warnings.warn(\"bar\")\n" -" assert str(w.args[0]) == \"bar\"\n" -" assert str(w.warnings[0].args[0]) == \"foo\"\n" -" assert str(w.warnings[1].args[0]) == \"bar\"\n" -" w.reset()\n" -" assert len(w.warnings) == 0" -msgstr "" - -#: ../../library/test.rst:1802 -msgid "" -"Here all warnings will be caught, and the test code tests the captured " -"warnings directly." -msgstr "" - -#: ../../library/test.rst:1805 -msgid "New optional arguments *filters* and *quiet*." -msgstr "" - -#: ../../library/test.rst:1811 -msgid "" -"Class used to record warnings for unit tests. See documentation of " -":func:`check_warnings` above for more details." -msgstr "" diff --git a/python-newest.library--text/id.po b/python-newest.library--text/id.po deleted file mode 100644 index 056a499..0000000 --- a/python-newest.library--text/id.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/text.rst:6 -msgid "Text Processing Services" -msgstr "Layanan Pemrosesan Teks" - -#: ../../library/text.rst:8 -msgid "" -"The modules described in this chapter provide a wide range of string " -"manipulation operations and other text processing services." -msgstr "" -"Modul yang dijelaskan dalam bab ini menyediakan berbagai operasi manipulasi " -"string dan layanan pemrosesan text lainnya." - -#: ../../library/text.rst:11 -msgid "" -"The :mod:`codecs` module described under :ref:`binaryservices` is also " -"highly relevant to text processing. In addition, see the documentation for " -"Python's built-in string type in :ref:`textseq`." -msgstr "" -"Modul :mod:`codecs` yang dijelaskan pada :ref:`binaryservices` juga sangat " -"relevan untuk pemrosesan text. Lihat juga dokumentasi untuk tipe string " -"bawaan Python di :ref:`textseq`." diff --git a/python-newest.library--textwrap/id.po b/python-newest.library--textwrap/id.po deleted file mode 100644 index 2c26e1c..0000000 --- a/python-newest.library--textwrap/id.po +++ /dev/null @@ -1,396 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/textwrap.rst:2 -msgid ":mod:`!textwrap` --- Text wrapping and filling" -msgstr "" - -#: ../../library/textwrap.rst:10 -msgid "**Source code:** :source:`Lib/textwrap.py`" -msgstr "" - -#: ../../library/textwrap.rst:14 -msgid "" -"The :mod:`textwrap` module provides some convenience functions, as well as " -":class:`TextWrapper`, the class that does all the work. If you're just " -"wrapping or filling one or two text strings, the convenience functions " -"should be good enough; otherwise, you should use an instance of " -":class:`TextWrapper` for efficiency." -msgstr "" - -#: ../../library/textwrap.rst:27 -msgid "" -"Wraps the single paragraph in *text* (a string) so every line is at most " -"*width* characters long. Returns a list of output lines, without final " -"newlines." -msgstr "" - -#: ../../library/textwrap.rst:31 -msgid "" -"Optional keyword arguments correspond to the instance attributes of " -":class:`TextWrapper`, documented below." -msgstr "" - -#: ../../library/textwrap.rst:34 -msgid "" -"See the :meth:`TextWrapper.wrap` method for additional details on how " -":func:`wrap` behaves." -msgstr "" - -#: ../../library/textwrap.rst:45 -msgid "" -"Wraps the single paragraph in *text*, and returns a single string containing" -" the wrapped paragraph. :func:`fill` is shorthand for ::" -msgstr "" - -#: ../../library/textwrap.rst:48 -msgid "\"\\n\".join(wrap(text, ...))" -msgstr "" - -#: ../../library/textwrap.rst:50 -msgid "" -"In particular, :func:`fill` accepts exactly the same keyword arguments as " -":func:`wrap`." -msgstr "" - -#: ../../library/textwrap.rst:58 -msgid "Collapse and truncate the given *text* to fit in the given *width*." -msgstr "" - -#: ../../library/textwrap.rst:60 -msgid "" -"First the whitespace in *text* is collapsed (all whitespace is replaced by " -"single spaces). If the result fits in the *width*, it is returned. " -"Otherwise, enough words are dropped from the end so that the remaining words" -" plus the *placeholder* fit within *width*::" -msgstr "" - -#: ../../library/textwrap.rst:65 -msgid "" -">>> textwrap.shorten(\"Hello world!\", width=12)\n" -"'Hello world!'\n" -">>> textwrap.shorten(\"Hello world!\", width=11)\n" -"'Hello [...]'\n" -">>> textwrap.shorten(\"Hello world\", width=10, placeholder=\"...\")\n" -"'Hello...'" -msgstr "" - -#: ../../library/textwrap.rst:72 -msgid "" -"Optional keyword arguments correspond to the instance attributes of " -":class:`TextWrapper`, documented below. Note that the whitespace is " -"collapsed before the text is passed to the :class:`TextWrapper` :meth:`fill`" -" function, so changing the value of :attr:`.tabsize`, :attr:`.expand_tabs`, " -":attr:`.drop_whitespace`, and :attr:`.replace_whitespace` will have no " -"effect." -msgstr "" - -#: ../../library/textwrap.rst:82 -msgid "Remove any common leading whitespace from every line in *text*." -msgstr "" - -#: ../../library/textwrap.rst:84 -msgid "" -"This can be used to make triple-quoted strings line up with the left edge of" -" the display, while still presenting them in the source code in indented " -"form." -msgstr "" - -#: ../../library/textwrap.rst:87 -msgid "" -"Note that tabs and spaces are both treated as whitespace, but they are not " -"equal: the lines ``\" hello\"`` and ``\"\\thello\"`` are considered to have" -" no common leading whitespace." -msgstr "" - -#: ../../library/textwrap.rst:91 -msgid "" -"Lines containing only whitespace are ignored in the input and normalized to " -"a single newline character in the output." -msgstr "" - -#: ../../library/textwrap.rst:94 ../../library/textwrap.rst:115 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../library/textwrap.rst:96 -msgid "" -"def test():\n" -" # end first line with \\ to avoid the empty line!\n" -" s = '''\\\n" -" hello\n" -" world\n" -" '''\n" -" print(repr(s)) # prints ' hello\\n world\\n '\n" -" print(repr(dedent(s))) # prints 'hello\\n world\\n'" -msgstr "" - -#: ../../library/textwrap.rst:108 -msgid "Add *prefix* to the beginning of selected lines in *text*." -msgstr "" - -#: ../../library/textwrap.rst:110 -msgid "Lines are separated by calling ``text.splitlines(True)``." -msgstr "" - -#: ../../library/textwrap.rst:112 -msgid "" -"By default, *prefix* is added to all lines that do not consist solely of " -"whitespace (including any line endings)." -msgstr "" - -#: ../../library/textwrap.rst:117 -msgid "" -">>> s = 'hello\\n\\n \\nworld'\n" -">>> indent(s, ' ')\n" -"' hello\\n\\n \\n world'" -msgstr "" - -#: ../../library/textwrap.rst:121 -msgid "" -"The optional *predicate* argument can be used to control which lines are " -"indented. For example, it is easy to add *prefix* to even empty and " -"whitespace-only lines::" -msgstr "" - -#: ../../library/textwrap.rst:125 -msgid "" -">>> print(indent(s, '+ ', lambda line: True))\n" -"+ hello\n" -"+\n" -"+\n" -"+ world" -msgstr "" - -#: ../../library/textwrap.rst:134 -msgid "" -":func:`wrap`, :func:`fill` and :func:`shorten` work by creating a " -":class:`TextWrapper` instance and calling a single method on it. That " -"instance is not reused, so for applications that process many text strings " -"using :func:`wrap` and/or :func:`fill`, it may be more efficient to create " -"your own :class:`TextWrapper` object." -msgstr "" - -#: ../../library/textwrap.rst:140 -msgid "" -"Text is preferably wrapped on whitespaces and right after the hyphens in " -"hyphenated words; only then will long words be broken if necessary, unless " -":attr:`TextWrapper.break_long_words` is set to false." -msgstr "" - -#: ../../library/textwrap.rst:146 -msgid "" -"The :class:`TextWrapper` constructor accepts a number of optional keyword " -"arguments. Each keyword argument corresponds to an instance attribute, so " -"for example ::" -msgstr "" - -#: ../../library/textwrap.rst:150 -msgid "wrapper = TextWrapper(initial_indent=\"* \")" -msgstr "" - -#: ../../library/textwrap.rst:152 -msgid "is the same as ::" -msgstr "" - -#: ../../library/textwrap.rst:154 -msgid "" -"wrapper = TextWrapper()\n" -"wrapper.initial_indent = \"* \"" -msgstr "" - -#: ../../library/textwrap.rst:157 -msgid "" -"You can reuse the same :class:`TextWrapper` object many times, and you can " -"change any of its options through direct assignment to instance attributes " -"between uses." -msgstr "" - -#: ../../library/textwrap.rst:161 -msgid "" -"The :class:`TextWrapper` instance attributes (and keyword arguments to the " -"constructor) are as follows:" -msgstr "" - -#: ../../library/textwrap.rst:167 -msgid "" -"(default: ``70``) The maximum length of wrapped lines. As long as there are" -" no individual words in the input text longer than :attr:`width`, " -":class:`TextWrapper` guarantees that no output line will be longer than " -":attr:`width` characters." -msgstr "" - -#: ../../library/textwrap.rst:175 -msgid "" -"(default: ``True``) If true, then all tab characters in *text* will be " -"expanded to spaces using the :meth:`~str.expandtabs` method of *text*." -msgstr "" - -#: ../../library/textwrap.rst:181 -msgid "" -"(default: ``8``) If :attr:`expand_tabs` is true, then all tab characters in " -"*text* will be expanded to zero or more spaces, depending on the current " -"column and the given tab size." -msgstr "" - -#: ../../library/textwrap.rst:190 -msgid "" -"(default: ``True``) If true, after tab expansion but before wrapping, the " -":meth:`wrap` method will replace each whitespace character with a single " -"space. The whitespace characters replaced are as follows: tab, newline, " -"vertical tab, formfeed, and carriage return (``'\\t\\n\\v\\f\\r'``)." -msgstr "" - -#: ../../library/textwrap.rst:198 -msgid "" -"If :attr:`expand_tabs` is false and :attr:`replace_whitespace` is true, each" -" tab character will be replaced by a single space, which is *not* the same " -"as tab expansion." -msgstr "" - -#: ../../library/textwrap.rst:204 -msgid "" -"If :attr:`replace_whitespace` is false, newlines may appear in the middle of" -" a line and cause strange output. For this reason, text should be split into" -" paragraphs (using :meth:`str.splitlines` or similar) which are wrapped " -"separately." -msgstr "" - -#: ../../library/textwrap.rst:212 -msgid "" -"(default: ``True``) If true, whitespace at the beginning and ending of every" -" line (after wrapping but before indenting) is dropped. Whitespace at the " -"beginning of the paragraph, however, is not dropped if non-whitespace " -"follows it. If whitespace being dropped takes up an entire line, the whole " -"line is dropped." -msgstr "" - -#: ../../library/textwrap.rst:221 -msgid "" -"(default: ``''``) String that will be prepended to the first line of wrapped" -" output. Counts towards the length of the first line. The empty string is " -"not indented." -msgstr "" - -#: ../../library/textwrap.rst:228 -msgid "" -"(default: ``''``) String that will be prepended to all lines of wrapped " -"output except the first. Counts towards the length of each line except the " -"first." -msgstr "" - -#: ../../library/textwrap.rst:235 -msgid "" -"(default: ``False``) If true, :class:`TextWrapper` attempts to detect " -"sentence endings and ensure that sentences are always separated by exactly " -"two spaces. This is generally desired for text in a monospaced font. " -"However, the sentence detection algorithm is imperfect: it assumes that a " -"sentence ending consists of a lowercase letter followed by one of ``'.'``, " -"``'!'``, or ``'?'``, possibly followed by one of ``'\"'`` or ``\"'\"``, " -"followed by a space. One problem with this algorithm is that it is unable " -"to detect the difference between \"Dr.\" in ::" -msgstr "" - -#: ../../library/textwrap.rst:244 -msgid "[...] Dr. Frankenstein's monster [...]" -msgstr "" - -#: ../../library/textwrap.rst:246 -msgid "and \"Spot.\" in ::" -msgstr "" - -#: ../../library/textwrap.rst:248 -msgid "[...] See Spot. See Spot run [...]" -msgstr "" - -#: ../../library/textwrap.rst:250 -msgid ":attr:`fix_sentence_endings` is false by default." -msgstr "" - -#: ../../library/textwrap.rst:252 -msgid "" -"Since the sentence detection algorithm relies on ``string.lowercase`` for " -"the definition of \"lowercase letter\", and a convention of using two spaces" -" after a period to separate sentences on the same line, it is specific to " -"English-language texts." -msgstr "" - -#: ../../library/textwrap.rst:260 -msgid "" -"(default: ``True``) If true, then words longer than :attr:`width` will be " -"broken in order to ensure that no lines are longer than :attr:`width`. If " -"it is false, long words will not be broken, and some lines may be longer " -"than :attr:`width`. (Long words will be put on a line by themselves, in " -"order to minimize the amount by which :attr:`width` is exceeded.)" -msgstr "" - -#: ../../library/textwrap.rst:269 -msgid "" -"(default: ``True``) If true, wrapping will occur preferably on whitespaces " -"and right after hyphens in compound words, as it is customary in English. If" -" false, only whitespaces will be considered as potentially good places for " -"line breaks, but you need to set :attr:`break_long_words` to false if you " -"want truly insecable words. Default behaviour in previous versions was to " -"always allow breaking hyphenated words." -msgstr "" - -#: ../../library/textwrap.rst:279 -msgid "" -"(default: ``None``) If not ``None``, then the output will contain at most " -"*max_lines* lines, with *placeholder* appearing at the end of the output." -msgstr "" - -#: ../../library/textwrap.rst:289 -msgid "" -"(default: ``' [...]'``) String that will appear at the end of the output " -"text if it has been truncated." -msgstr "" - -#: ../../library/textwrap.rst:295 -msgid "" -":class:`TextWrapper` also provides some public methods, analogous to the " -"module-level convenience functions:" -msgstr "" - -#: ../../library/textwrap.rst:300 -msgid "" -"Wraps the single paragraph in *text* (a string) so every line is at most " -":attr:`width` characters long. All wrapping options are taken from instance" -" attributes of the :class:`TextWrapper` instance. Returns a list of output " -"lines, without final newlines. If the wrapped output has no content, the " -"returned list is empty." -msgstr "" - -#: ../../library/textwrap.rst:309 -msgid "" -"Wraps the single paragraph in *text*, and returns a single string containing" -" the wrapped paragraph." -msgstr "" - -#: ../../library/textwrap.rst:285 -msgid "..." -msgstr "" - -#: ../../library/textwrap.rst:285 -msgid "placeholder" -msgstr "" diff --git a/python-newest.library--threading/id.po b/python-newest.library--threading/id.po deleted file mode 100644 index a71a11c..0000000 --- a/python-newest.library--threading/id.po +++ /dev/null @@ -1,1840 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2022 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: oon arfiandwi , 2022\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/threading.rst:2 -msgid ":mod:`!threading` --- Thread-based parallelism" -msgstr "" - -#: ../../library/threading.rst:7 -msgid "**Source code:** :source:`Lib/threading.py`" -msgstr "" - -#: ../../library/threading.rst:11 -msgid "" -"This module constructs higher-level threading interfaces on top of the lower" -" level :mod:`_thread` module." -msgstr "" - -#: ../../library/threading.rst:14 -msgid "This module used to be optional, it is now always available." -msgstr "" - -#: ../../library/threading.rst:19 -msgid "" -":class:`concurrent.futures.ThreadPoolExecutor` offers a higher level " -"interface to push tasks to a background thread without blocking execution of" -" the calling thread, while still being able to retrieve their results when " -"needed." -msgstr "" - -#: ../../library/threading.rst:23 -msgid "" -":mod:`queue` provides a thread-safe interface for exchanging data between " -"running threads." -msgstr "" - -#: ../../library/threading.rst:26 -msgid "" -":mod:`asyncio` offers an alternative approach to achieving task level " -"concurrency without requiring the use of multiple operating system threads." -msgstr "" - -#: ../../library/threading.rst:31 -msgid "" -"In the Python 2.x series, this module contained ``camelCase`` names for some" -" methods and functions. These are deprecated as of Python 3.10, but they are" -" still supported for compatibility with Python 2.5 and lower." -msgstr "" - -#: ../../library/threading.rst:38 -msgid "" -"In CPython, due to the :term:`Global Interpreter Lock `, only one thread can execute Python code at once (even though certain" -" performance-oriented libraries might overcome this limitation). If you want" -" your application to make better use of the computational resources of " -"multi-core machines, you are advised to use :mod:`multiprocessing` or " -":class:`concurrent.futures.ProcessPoolExecutor`. However, threading is still" -" an appropriate model if you want to run multiple I/O-bound tasks " -"simultaneously." -msgstr "" - -#: ../../library/threading.rst:130 ../../library/threading.rst:229 -#: ../../library/threading.rst:614 ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/threading.rst:50 -msgid "This module defines the following functions:" -msgstr "" - -#: ../../library/threading.rst:55 -msgid "" -"Return the number of :class:`Thread` objects currently alive. The returned " -"count is equal to the length of the list returned by :func:`.enumerate`." -msgstr "" - -#: ../../library/threading.rst:58 -msgid "The function ``activeCount`` is a deprecated alias for this function." -msgstr "" - -#: ../../library/threading.rst:63 -msgid "" -"Return the current :class:`Thread` object, corresponding to the caller's " -"thread of control. If the caller's thread of control was not created " -"through the :mod:`threading` module, a dummy thread object with limited " -"functionality is returned." -msgstr "" - -#: ../../library/threading.rst:68 -msgid "" -"The function ``currentThread`` is a deprecated alias for this function." -msgstr "" - -#: ../../library/threading.rst:73 -msgid "Handle uncaught exception raised by :func:`Thread.run`." -msgstr "" - -#: ../../library/threading.rst:75 -msgid "The *args* argument has the following attributes:" -msgstr "" - -#: ../../library/threading.rst:77 -msgid "*exc_type*: Exception type." -msgstr "" - -#: ../../library/threading.rst:78 -msgid "*exc_value*: Exception value, can be ``None``." -msgstr "" - -#: ../../library/threading.rst:79 -msgid "*exc_traceback*: Exception traceback, can be ``None``." -msgstr "" - -#: ../../library/threading.rst:80 -msgid "*thread*: Thread which raised the exception, can be ``None``." -msgstr "" - -#: ../../library/threading.rst:82 -msgid "" -"If *exc_type* is :exc:`SystemExit`, the exception is silently ignored. " -"Otherwise, the exception is printed out on :data:`sys.stderr`." -msgstr "" - -#: ../../library/threading.rst:85 -msgid "" -"If this function raises an exception, :func:`sys.excepthook` is called to " -"handle it." -msgstr "" - -#: ../../library/threading.rst:88 -msgid "" -":func:`threading.excepthook` can be overridden to control how uncaught " -"exceptions raised by :func:`Thread.run` are handled." -msgstr "" - -#: ../../library/threading.rst:91 -msgid "" -"Storing *exc_value* using a custom hook can create a reference cycle. It " -"should be cleared explicitly to break the reference cycle when the exception" -" is no longer needed." -msgstr "" - -#: ../../library/threading.rst:95 -msgid "" -"Storing *thread* using a custom hook can resurrect it if it is set to an " -"object which is being finalized. Avoid storing *thread* after the custom " -"hook completes to avoid resurrecting objects." -msgstr "" - -#: ../../library/threading.rst:100 -msgid ":func:`sys.excepthook` handles uncaught exceptions." -msgstr "" - -#: ../../library/threading.rst:106 -msgid "" -"Holds the original value of :func:`threading.excepthook`. It is saved so " -"that the original value can be restored in case they happen to get replaced " -"with broken or alternative objects." -msgstr "" - -#: ../../library/threading.rst:114 -msgid "" -"Return the 'thread identifier' of the current thread. This is a nonzero " -"integer. Its value has no direct meaning; it is intended as a magic cookie " -"to be used e.g. to index a dictionary of thread-specific data. Thread " -"identifiers may be recycled when a thread exits and another thread is " -"created." -msgstr "" - -#: ../../library/threading.rst:125 -msgid "" -"Return the native integral Thread ID of the current thread assigned by the " -"kernel. This is a non-negative integer. Its value may be used to uniquely " -"identify this particular thread system-wide (until the thread terminates, " -"after which the value may be recycled by the OS)." -msgstr "" - -#: ../../library/threading.rst:134 -msgid "Added support for GNU/kFreeBSD." -msgstr "" - -#: ../../library/threading.rst:140 -msgid "" -"Return a list of all :class:`Thread` objects currently active. The list " -"includes daemonic threads and dummy thread objects created by " -":func:`current_thread`. It excludes terminated threads and threads that " -"have not yet been started. However, the main thread is always part of the " -"result, even when terminated." -msgstr "" - -#: ../../library/threading.rst:149 -msgid "" -"Return the main :class:`Thread` object. In normal conditions, the main " -"thread is the thread from which the Python interpreter was started." -msgstr "" - -#: ../../library/threading.rst:160 -msgid "" -"Set a trace function for all threads started from the :mod:`threading` " -"module. The *func* will be passed to :func:`sys.settrace` for each thread, " -"before its :meth:`~Thread.run` method is called." -msgstr "" - -#: ../../library/threading.rst:166 -msgid "" -"Set a trace function for all threads started from the :mod:`threading` " -"module and all Python threads that are currently executing." -msgstr "" - -#: ../../library/threading.rst:169 -msgid "" -"The *func* will be passed to :func:`sys.settrace` for each thread, before " -"its :meth:`~Thread.run` method is called." -msgstr "" - -#: ../../library/threading.rst:180 -msgid "Get the trace function as set by :func:`settrace`." -msgstr "" - -#: ../../library/threading.rst:189 -msgid "" -"Set a profile function for all threads started from the :mod:`threading` " -"module. The *func* will be passed to :func:`sys.setprofile` for each " -"thread, before its :meth:`~Thread.run` method is called." -msgstr "" - -#: ../../library/threading.rst:195 -msgid "" -"Set a profile function for all threads started from the :mod:`threading` " -"module and all Python threads that are currently executing." -msgstr "" - -#: ../../library/threading.rst:198 -msgid "" -"The *func* will be passed to :func:`sys.setprofile` for each thread, before" -" its :meth:`~Thread.run` method is called." -msgstr "" - -#: ../../library/threading.rst:207 -msgid "Get the profiler function as set by :func:`setprofile`." -msgstr "" - -#: ../../library/threading.rst:214 -msgid "" -"Return the thread stack size used when creating new threads. The optional " -"*size* argument specifies the stack size to be used for subsequently created" -" threads, and must be 0 (use platform or configured default) or a positive " -"integer value of at least 32,768 (32 KiB). If *size* is not specified, 0 is " -"used. If changing the thread stack size is unsupported, a " -":exc:`RuntimeError` is raised. If the specified stack size is invalid, a " -":exc:`ValueError` is raised and the stack size is unmodified. 32 KiB is " -"currently the minimum supported stack size value to guarantee sufficient " -"stack space for the interpreter itself. Note that some platforms may have " -"particular restrictions on values for the stack size, such as requiring a " -"minimum stack size > 32 KiB or requiring allocation in multiples of the " -"system memory page size - platform documentation should be referred to for " -"more information (4 KiB pages are common; using multiples of 4096 for the " -"stack size is the suggested approach in the absence of more specific " -"information)." -msgstr "" - -#: ../../library/threading.rst:231 -msgid "Unix platforms with POSIX threads support." -msgstr "" - -#: ../../library/threading.rst:234 -msgid "This module also defines the following constant:" -msgstr "" - -#: ../../library/threading.rst:238 -msgid "" -"The maximum value allowed for the *timeout* parameter of blocking functions " -"(:meth:`Lock.acquire`, :meth:`RLock.acquire`, :meth:`Condition.wait`, etc.)." -" Specifying a timeout greater than this value will raise an " -":exc:`OverflowError`." -msgstr "" - -#: ../../library/threading.rst:246 -msgid "" -"This module defines a number of classes, which are detailed in the sections " -"below." -msgstr "" - -#: ../../library/threading.rst:249 -msgid "" -"The design of this module is loosely based on Java's threading model. " -"However, where Java makes locks and condition variables basic behavior of " -"every object, they are separate objects in Python. Python's :class:`Thread`" -" class supports a subset of the behavior of Java's Thread class; currently, " -"there are no priorities, no thread groups, and threads cannot be destroyed, " -"stopped, suspended, resumed, or interrupted. The static methods of Java's " -"Thread class, when implemented, are mapped to module-level functions." -msgstr "" - -#: ../../library/threading.rst:257 -msgid "All of the methods described below are executed atomically." -msgstr "" - -#: ../../library/threading.rst:261 -msgid "Thread-Local Data" -msgstr "" - -#: ../../library/threading.rst:263 -msgid "" -"Thread-local data is data whose values are thread specific. If you have data" -" that you want to be local to a thread, create a :class:`local` object and " -"use its attributes::" -msgstr "" - -#: ../../library/threading.rst:267 -msgid "" -">>> mydata = local()\n" -">>> mydata.number = 42\n" -">>> mydata.number\n" -"42" -msgstr "" - -#: ../../library/threading.rst:272 -msgid "You can also access the :class:`local`-object's dictionary::" -msgstr "" - -#: ../../library/threading.rst:274 -msgid "" -">>> mydata.__dict__\n" -"{'number': 42}\n" -">>> mydata.__dict__.setdefault('widgets', [])\n" -"[]\n" -">>> mydata.widgets\n" -"[]" -msgstr "" - -#: ../../library/threading.rst:281 -msgid "If we access the data in a different thread::" -msgstr "" - -#: ../../library/threading.rst:283 -msgid "" -">>> log = []\n" -">>> def f():\n" -"... items = sorted(mydata.__dict__.items())\n" -"... log.append(items)\n" -"... mydata.number = 11\n" -"... log.append(mydata.number)\n" -"\n" -">>> import threading\n" -">>> thread = threading.Thread(target=f)\n" -">>> thread.start()\n" -">>> thread.join()\n" -">>> log\n" -"[[], 11]" -msgstr "" - -#: ../../library/threading.rst:297 -msgid "" -"we get different data. Furthermore, changes made in the other thread don't " -"affect data seen in this thread::" -msgstr "" - -#: ../../library/threading.rst:300 -msgid "" -">>> mydata.number\n" -"42" -msgstr "" - -#: ../../library/threading.rst:303 -msgid "" -"Of course, values you get from a :class:`local` object, including their " -":attr:`~object.__dict__` attribute, are for whatever thread was current at " -"the time the attribute was read. For that reason, you generally don't want " -"to save these values across threads, as they apply only to the thread they " -"came from." -msgstr "" - -#: ../../library/threading.rst:309 -msgid "" -"You can create custom :class:`local` objects by subclassing the " -":class:`local` class::" -msgstr "" - -#: ../../library/threading.rst:312 -msgid "" -">>> class MyLocal(local):\n" -"... number = 2\n" -"... def __init__(self, /, **kw):\n" -"... self.__dict__.update(kw)\n" -"... def squared(self):\n" -"... return self.number ** 2" -msgstr "" - -#: ../../library/threading.rst:319 -msgid "" -"This can be useful to support default values, methods and initialization. " -"Note that if you define an :py:meth:`~object.__init__` method, it will be " -"called each time the :class:`local` object is used in a separate thread. " -"This is necessary to initialize each thread's dictionary." -msgstr "" - -#: ../../library/threading.rst:325 -msgid "Now if we create a :class:`local` object::" -msgstr "" - -#: ../../library/threading.rst:327 -msgid ">>> mydata = MyLocal(color='red')" -msgstr "" - -#: ../../library/threading.rst:329 -msgid "we have a default number::" -msgstr "" - -#: ../../library/threading.rst:331 -msgid "" -">>> mydata.number\n" -"2" -msgstr "" - -#: ../../library/threading.rst:334 -msgid "an initial color::" -msgstr "" - -#: ../../library/threading.rst:336 -msgid "" -">>> mydata.color\n" -"'red'\n" -">>> del mydata.color" -msgstr "" - -#: ../../library/threading.rst:340 -msgid "And a method that operates on the data::" -msgstr "" - -#: ../../library/threading.rst:342 -msgid "" -">>> mydata.squared()\n" -"4" -msgstr "" - -#: ../../library/threading.rst:345 -msgid "As before, we can access the data in a separate thread::" -msgstr "" - -#: ../../library/threading.rst:347 -msgid "" -">>> log = []\n" -">>> thread = threading.Thread(target=f)\n" -">>> thread.start()\n" -">>> thread.join()\n" -">>> log\n" -"[[('color', 'red')], 11]" -msgstr "" - -#: ../../library/threading.rst:354 -msgid "without affecting this thread's data::" -msgstr "" - -#: ../../library/threading.rst:356 -msgid "" -">>> mydata.number\n" -"2\n" -">>> mydata.color\n" -"Traceback (most recent call last):\n" -"...\n" -"AttributeError: 'MyLocal' object has no attribute 'color'" -msgstr "" - -#: ../../library/threading.rst:363 -msgid "" -"Note that subclasses can define :term:`__slots__`, but they are not thread " -"local. They are shared across threads::" -msgstr "" - -#: ../../library/threading.rst:366 -msgid "" -">>> class MyLocal(local):\n" -"... __slots__ = 'number'\n" -"\n" -">>> mydata = MyLocal()\n" -">>> mydata.number = 42\n" -">>> mydata.color = 'red'" -msgstr "" - -#: ../../library/threading.rst:373 -msgid "So, the separate thread::" -msgstr "" - -#: ../../library/threading.rst:375 -msgid "" -">>> thread = threading.Thread(target=f)\n" -">>> thread.start()\n" -">>> thread.join()" -msgstr "" - -#: ../../library/threading.rst:379 -msgid "affects what we see::" -msgstr "" - -#: ../../library/threading.rst:381 -msgid "" -">>> mydata.number\n" -"11" -msgstr "" - -#: ../../library/threading.rst:387 -msgid "A class that represents thread-local data." -msgstr "" - -#: ../../library/threading.rst:393 -msgid "Thread Objects" -msgstr "" - -#: ../../library/threading.rst:395 -msgid "" -"The :class:`Thread` class represents an activity that is run in a separate " -"thread of control. There are two ways to specify the activity: by passing a" -" callable object to the constructor, or by overriding the " -":meth:`~Thread.run` method in a subclass. No other methods (except for the " -"constructor) should be overridden in a subclass. In other words, *only* " -"override the ``__init__()`` and :meth:`~Thread.run` methods of this class." -msgstr "" - -#: ../../library/threading.rst:402 -msgid "" -"Once a thread object is created, its activity must be started by calling the" -" thread's :meth:`~Thread.start` method. This invokes the " -":meth:`~Thread.run` method in a separate thread of control." -msgstr "" - -#: ../../library/threading.rst:406 -msgid "" -"Once the thread's activity is started, the thread is considered 'alive'. It " -"stops being alive when its :meth:`~Thread.run` method terminates -- either " -"normally, or by raising an unhandled exception. The " -":meth:`~Thread.is_alive` method tests whether the thread is alive." -msgstr "" - -#: ../../library/threading.rst:411 -msgid "" -"Other threads can call a thread's :meth:`~Thread.join` method. This blocks " -"the calling thread until the thread whose :meth:`~Thread.join` method is " -"called is terminated." -msgstr "" - -#: ../../library/threading.rst:415 -msgid "" -"A thread has a name. The name can be passed to the constructor, and read or" -" changed through the :attr:`~Thread.name` attribute." -msgstr "" - -#: ../../library/threading.rst:418 -msgid "" -"If the :meth:`~Thread.run` method raises an exception, " -":func:`threading.excepthook` is called to handle it. By default, " -":func:`threading.excepthook` ignores silently :exc:`SystemExit`." -msgstr "" - -#: ../../library/threading.rst:422 -msgid "" -"A thread can be flagged as a \"daemon thread\". The significance of this " -"flag is that the entire Python program exits when only daemon threads are " -"left. The initial value is inherited from the creating thread. The flag " -"can be set through the :attr:`~Thread.daemon` property or the *daemon* " -"constructor argument." -msgstr "" - -#: ../../library/threading.rst:429 -msgid "" -"Daemon threads are abruptly stopped at shutdown. Their resources (such as " -"open files, database transactions, etc.) may not be released properly. If " -"you want your threads to stop gracefully, make them non-daemonic and use a " -"suitable signalling mechanism such as an :class:`Event`." -msgstr "" - -#: ../../library/threading.rst:434 -msgid "" -"There is a \"main thread\" object; this corresponds to the initial thread of" -" control in the Python program. It is not a daemon thread." -msgstr "" - -#: ../../library/threading.rst:437 -msgid "" -"There is the possibility that \"dummy thread objects\" are created. These " -"are thread objects corresponding to \"alien threads\", which are threads of " -"control started outside the threading module, such as directly from C code." -" Dummy thread objects have limited functionality; they are always " -"considered alive and daemonic, and cannot be :ref:`joined `. They are never deleted, since it is impossible to detect the " -"termination of alien threads." -msgstr "" - -#: ../../library/threading.rst:448 -msgid "" -"This constructor should always be called with keyword arguments. Arguments " -"are:" -msgstr "" - -#: ../../library/threading.rst:451 -msgid "" -"*group* should be ``None``; reserved for future extension when a " -":class:`!ThreadGroup` class is implemented." -msgstr "" - -#: ../../library/threading.rst:454 -msgid "" -"*target* is the callable object to be invoked by the :meth:`run` method. " -"Defaults to ``None``, meaning nothing is called." -msgstr "" - -#: ../../library/threading.rst:457 -msgid "" -"*name* is the thread name. By default, a unique name is constructed of the " -"form \"Thread-*N*\" where *N* is a small decimal number, or \"Thread-*N* " -"(target)\" where \"target\" is ``target.__name__`` if the *target* argument " -"is specified." -msgstr "" - -#: ../../library/threading.rst:462 -msgid "" -"*args* is a list or tuple of arguments for the target invocation. Defaults " -"to ``()``." -msgstr "" - -#: ../../library/threading.rst:464 -msgid "" -"*kwargs* is a dictionary of keyword arguments for the target invocation. " -"Defaults to ``{}``." -msgstr "" - -#: ../../library/threading.rst:467 -msgid "" -"If not ``None``, *daemon* explicitly sets whether the thread is daemonic. If" -" ``None`` (the default), the daemonic property is inherited from the current" -" thread." -msgstr "" - -#: ../../library/threading.rst:471 -msgid "" -"*context* is the :class:`~contextvars.Context` value to use when starting " -"the thread. The default value is ``None`` which indicates that the " -":data:`sys.flags.thread_inherit_context` flag controls the behaviour. If " -"the flag is true, threads will start with a copy of the context of the " -"caller of :meth:`~Thread.start`. If false, they will start with an empty " -"context. To explicitly start with an empty context, pass a new instance of " -":class:`~contextvars.Context()`. To explicitly start with a copy of the " -"current context, pass the value from :func:`~contextvars.copy_context`. The " -"flag defaults true on free-threaded builds and false otherwise." -msgstr "" - -#: ../../library/threading.rst:481 -msgid "" -"If the subclass overrides the constructor, it must make sure to invoke the " -"base class constructor (``Thread.__init__()``) before doing anything else to" -" the thread." -msgstr "" - -#: ../../library/threading.rst:485 -msgid "Added the *daemon* parameter." -msgstr "" - -#: ../../library/threading.rst:488 -msgid "Use the *target* name if *name* argument is omitted." -msgstr "" - -#: ../../library/threading.rst:491 -msgid "Added the *context* parameter." -msgstr "" - -#: ../../library/threading.rst:496 -msgid "Start the thread's activity." -msgstr "" - -#: ../../library/threading.rst:498 -msgid "" -"It must be called at most once per thread object. It arranges for the " -"object's :meth:`~Thread.run` method to be invoked in a separate thread of " -"control." -msgstr "" - -#: ../../library/threading.rst:502 -msgid "" -"This method will raise a :exc:`RuntimeError` if called more than once on the" -" same thread object." -msgstr "" - -#: ../../library/threading.rst:505 -msgid "" -"If supported, set the operating system thread name to " -":attr:`threading.Thread.name`. The name can be truncated depending on the " -"operating system thread name limits." -msgstr "" - -#: ../../library/threading.rst:509 -msgid "Set the operating system thread name." -msgstr "" - -#: ../../library/threading.rst:514 -msgid "Method representing the thread's activity." -msgstr "" - -#: ../../library/threading.rst:516 -msgid "" -"You may override this method in a subclass. The standard :meth:`run` method" -" invokes the callable object passed to the object's constructor as the " -"*target* argument, if any, with positional and keyword arguments taken from " -"the *args* and *kwargs* arguments, respectively." -msgstr "" - -#: ../../library/threading.rst:521 -msgid "" -"Using list or tuple as the *args* argument which passed to the " -":class:`Thread` could achieve the same effect." -msgstr "" - -#: ../../library/threading.rst:524 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/threading.rst:526 -msgid "" -">>> from threading import Thread\n" -">>> t = Thread(target=print, args=[1])\n" -">>> t.run()\n" -"1\n" -">>> t = Thread(target=print, args=(1,))\n" -">>> t.run()\n" -"1" -msgstr "" - -#: ../../library/threading.rst:538 -msgid "" -"Wait until the thread terminates. This blocks the calling thread until the " -"thread whose :meth:`~Thread.join` method is called terminates -- either " -"normally or through an unhandled exception -- or until the optional timeout " -"occurs." -msgstr "" - -#: ../../library/threading.rst:543 -msgid "" -"When the *timeout* argument is present and not ``None``, it should be a " -"floating-point number specifying a timeout for the operation in seconds (or " -"fractions thereof). As :meth:`~Thread.join` always returns ``None``, you " -"must call :meth:`~Thread.is_alive` after :meth:`~Thread.join` to decide " -"whether a timeout happened -- if the thread is still alive, the " -":meth:`~Thread.join` call timed out." -msgstr "" - -#: ../../library/threading.rst:550 -msgid "" -"When the *timeout* argument is not present or ``None``, the operation will " -"block until the thread terminates." -msgstr "" - -#: ../../library/threading.rst:553 -msgid "A thread can be joined many times." -msgstr "" - -#: ../../library/threading.rst:555 -msgid "" -":meth:`~Thread.join` raises a :exc:`RuntimeError` if an attempt is made to " -"join the current thread as that would cause a deadlock. It is also an error " -"to :meth:`~Thread.join` a thread before it has been started and attempts to " -"do so raise the same exception." -msgstr "" - -#: ../../library/threading.rst:560 -msgid "" -"If an attempt is made to join a running daemonic thread in in late stages of" -" :term:`Python finalization ` :meth:`!join` raises a " -":exc:`PythonFinalizationError`." -msgstr "" - -#: ../../library/threading.rst:566 -msgid "May raise :exc:`PythonFinalizationError`." -msgstr "" - -#: ../../library/threading.rst:570 -msgid "" -"A string used for identification purposes only. It has no semantics. " -"Multiple threads may be given the same name. The initial name is set by the" -" constructor." -msgstr "" - -#: ../../library/threading.rst:574 -msgid "" -"On some platforms, the thread name is set at the operating system level when" -" the thread starts, so that it is visible in task managers. This name may be" -" truncated to fit in a system-specific limit (for example, 15 bytes on Linux" -" or 63 bytes on macOS)." -msgstr "" - -#: ../../library/threading.rst:579 -msgid "" -"Changes to *name* are only reflected at the OS level when the currently " -"running thread is renamed. (Setting the *name* attribute of a different " -"thread only updates the Python Thread object.)" -msgstr "" - -#: ../../library/threading.rst:586 -msgid "" -"Deprecated getter/setter API for :attr:`~Thread.name`; use it directly as a " -"property instead." -msgstr "" - -#: ../../library/threading.rst:593 -msgid "" -"The 'thread identifier' of this thread or ``None`` if the thread has not " -"been started. This is a nonzero integer. See the :func:`get_ident` " -"function. Thread identifiers may be recycled when a thread exits and " -"another thread is created. The identifier is available even after the " -"thread has exited." -msgstr "" - -#: ../../library/threading.rst:601 -msgid "" -"The Thread ID (``TID``) of this thread, as assigned by the OS (kernel). This" -" is a non-negative integer, or ``None`` if the thread has not been started. " -"See the :func:`get_native_id` function. This value may be used to uniquely " -"identify this particular thread system-wide (until the thread terminates, " -"after which the value may be recycled by the OS)." -msgstr "" - -#: ../../library/threading.rst:610 -msgid "" -"Similar to Process IDs, Thread IDs are only valid (guaranteed unique system-" -"wide) from the time the thread is created until the thread has been " -"terminated." -msgstr "" - -#: ../../library/threading.rst:620 -msgid "Return whether the thread is alive." -msgstr "" - -#: ../../library/threading.rst:622 -msgid "" -"This method returns ``True`` just before the :meth:`~Thread.run` method " -"starts until just after the :meth:`~Thread.run` method terminates. The " -"module function :func:`.enumerate` returns a list of all alive threads." -msgstr "" - -#: ../../library/threading.rst:628 -msgid "" -"A boolean value indicating whether this thread is a daemon thread (``True``)" -" or not (``False``). This must be set before :meth:`~Thread.start` is " -"called, otherwise :exc:`RuntimeError` is raised. Its initial value is " -"inherited from the creating thread; the main thread is not a daemon thread " -"and therefore all threads created in the main thread default to " -":attr:`~Thread.daemon` = ``False``." -msgstr "" - -#: ../../library/threading.rst:635 -msgid "" -"The entire Python program exits when no alive non-daemon threads are left." -msgstr "" - -#: ../../library/threading.rst:640 -msgid "" -"Deprecated getter/setter API for :attr:`~Thread.daemon`; use it directly as " -"a property instead." -msgstr "" - -#: ../../library/threading.rst:649 -msgid "Lock Objects" -msgstr "" - -#: ../../library/threading.rst:651 -msgid "" -"A primitive lock is a synchronization primitive that is not owned by a " -"particular thread when locked. In Python, it is currently the lowest level " -"synchronization primitive available, implemented directly by the " -":mod:`_thread` extension module." -msgstr "" - -#: ../../library/threading.rst:656 -msgid "" -"A primitive lock is in one of two states, \"locked\" or \"unlocked\". It is " -"created in the unlocked state. It has two basic methods, " -":meth:`~Lock.acquire` and :meth:`~Lock.release`. When the state is " -"unlocked, :meth:`~Lock.acquire` changes the state to locked and returns " -"immediately. When the state is locked, :meth:`~Lock.acquire` blocks until a" -" call to :meth:`~Lock.release` in another thread changes it to unlocked, " -"then the :meth:`~Lock.acquire` call resets it to locked and returns. The " -":meth:`~Lock.release` method should only be called in the locked state; it " -"changes the state to unlocked and returns immediately. If an attempt is made" -" to release an unlocked lock, a :exc:`RuntimeError` will be raised." -msgstr "" - -#: ../../library/threading.rst:667 -msgid "" -"Locks also support the :ref:`context management protocol `." -msgstr "" - -#: ../../library/threading.rst:669 -msgid "" -"When more than one thread is blocked in :meth:`~Lock.acquire` waiting for " -"the state to turn to unlocked, only one thread proceeds when a " -":meth:`~Lock.release` call resets the state to unlocked; which one of the " -"waiting threads proceeds is not defined, and may vary across " -"implementations." -msgstr "" - -#: ../../library/threading.rst:674 -msgid "All methods are executed atomically." -msgstr "" - -#: ../../library/threading.rst:679 -msgid "" -"The class implementing primitive lock objects. Once a thread has acquired a" -" lock, subsequent attempts to acquire it block, until it is released; any " -"thread may release it." -msgstr "" - -#: ../../library/threading.rst:683 -msgid "" -"``Lock`` is now a class. In earlier Pythons, ``Lock`` was a factory function" -" which returned an instance of the underlying private lock type." -msgstr "" - -#: ../../library/threading.rst:691 ../../library/threading.rst:785 -msgid "Acquire a lock, blocking or non-blocking." -msgstr "" - -#: ../../library/threading.rst:693 -msgid "" -"When invoked with the *blocking* argument set to ``True`` (the default), " -"block until the lock is unlocked, then set it to locked and return ``True``." -msgstr "" - -#: ../../library/threading.rst:696 -msgid "" -"When invoked with the *blocking* argument set to ``False``, do not block. If" -" a call with *blocking* set to ``True`` would block, return ``False`` " -"immediately; otherwise, set the lock to locked and return ``True``." -msgstr "" - -#: ../../library/threading.rst:700 -msgid "" -"When invoked with the floating-point *timeout* argument set to a positive " -"value, block for at most the number of seconds specified by *timeout* and as" -" long as the lock cannot be acquired. A *timeout* argument of ``-1`` " -"specifies an unbounded wait. It is forbidden to specify a *timeout* when " -"*blocking* is ``False``." -msgstr "" - -#: ../../library/threading.rst:706 -msgid "" -"The return value is ``True`` if the lock is acquired successfully, ``False``" -" if not (for example if the *timeout* expired)." -msgstr "" - -#: ../../library/threading.rst:709 ../../library/threading.rst:823 -#: ../../library/threading.rst:1083 -msgid "The *timeout* parameter is new." -msgstr "" - -#: ../../library/threading.rst:712 -msgid "" -"Lock acquisition can now be interrupted by signals on POSIX if the " -"underlying threading implementation supports it." -msgstr "" - -#: ../../library/threading.rst:716 -msgid "Lock acquisition can now be interrupted by signals on Windows." -msgstr "" - -#: ../../library/threading.rst:722 -msgid "" -"Release a lock. This can be called from any thread, not only the thread " -"which has acquired the lock." -msgstr "" - -#: ../../library/threading.rst:725 -msgid "" -"When the lock is locked, reset it to unlocked, and return. If any other " -"threads are blocked waiting for the lock to become unlocked, allow exactly " -"one of them to proceed." -msgstr "" - -#: ../../library/threading.rst:729 -msgid "When invoked on an unlocked lock, a :exc:`RuntimeError` is raised." -msgstr "" - -#: ../../library/threading.rst:731 ../../library/threading.rst:839 -msgid "There is no return value." -msgstr "" - -#: ../../library/threading.rst:735 -msgid "Return ``True`` if the lock is acquired." -msgstr "" - -#: ../../library/threading.rst:742 -msgid "RLock Objects" -msgstr "" - -#: ../../library/threading.rst:744 -msgid "" -"A reentrant lock is a synchronization primitive that may be acquired " -"multiple times by the same thread. Internally, it uses the concepts of " -"\"owning thread\" and \"recursion level\" in addition to the locked/unlocked" -" state used by primitive locks. In the locked state, some thread owns the " -"lock; in the unlocked state, no thread owns it." -msgstr "" - -#: ../../library/threading.rst:750 -msgid "" -"Threads call a lock's :meth:`~RLock.acquire` method to lock it, and its " -":meth:`~Lock.release` method to unlock it." -msgstr "" - -#: ../../library/threading.rst:755 -msgid "" -"Reentrant locks support the :ref:`context management protocol `," -" so it is recommended to use :keyword:`with` instead of manually calling " -":meth:`~RLock.acquire` and :meth:`~RLock.release` to handle acquiring and " -"releasing the lock for a block of code." -msgstr "" - -#: ../../library/threading.rst:760 -msgid "" -"RLock's :meth:`~RLock.acquire`/:meth:`~RLock.release` call pairs may be " -"nested, unlike Lock's :meth:`~Lock.acquire`/:meth:`~Lock.release`. Only the " -"final :meth:`~RLock.release` (the :meth:`~Lock.release` of the outermost " -"pair) resets the lock to an unlocked state and allows another thread blocked" -" in :meth:`~RLock.acquire` to proceed." -msgstr "" - -#: ../../library/threading.rst:766 -msgid "" -":meth:`~RLock.acquire`/:meth:`~RLock.release` must be used in pairs: each " -"acquire must have a release in the thread that has acquired the lock. " -"Failing to call release as many times the lock has been acquired can lead to" -" deadlock." -msgstr "" - -#: ../../library/threading.rst:773 -msgid "" -"This class implements reentrant lock objects. A reentrant lock must be " -"released by the thread that acquired it. Once a thread has acquired a " -"reentrant lock, the same thread may acquire it again without blocking; the " -"thread must release it once for each time it has acquired it." -msgstr "" - -#: ../../library/threading.rst:778 -msgid "" -"Note that ``RLock`` is actually a factory function which returns an instance" -" of the most efficient version of the concrete RLock class that is supported" -" by the platform." -msgstr "" - -#: ../../library/threading.rst:789 -msgid ":ref:`Using RLock as a context manager `" -msgstr "" - -#: ../../library/threading.rst:790 -msgid "" -"Recommended over manual :meth:`!acquire` and :meth:`release` calls whenever " -"practical." -msgstr "" - -#: ../../library/threading.rst:794 -msgid "" -"When invoked with the *blocking* argument set to ``True`` (the default):" -msgstr "" - -#: ../../library/threading.rst:796 ../../library/threading.rst:808 -msgid "If no thread owns the lock, acquire the lock and return immediately." -msgstr "" - -#: ../../library/threading.rst:798 -msgid "" -"If another thread owns the lock, block until we are able to acquire lock, or" -" *timeout*, if set to a positive float value." -msgstr "" - -#: ../../library/threading.rst:801 -msgid "" -"If the same thread owns the lock, acquire the lock again, and return " -"immediately. This is the difference between :class:`Lock` and " -":class:`!RLock`; :class:`Lock` handles this case the same as the previous, " -"blocking until the lock can be acquired." -msgstr "" - -#: ../../library/threading.rst:806 -msgid "When invoked with the *blocking* argument set to ``False``:" -msgstr "" - -#: ../../library/threading.rst:810 -msgid "If another thread owns the lock, return immediately." -msgstr "" - -#: ../../library/threading.rst:812 -msgid "" -"If the same thread owns the lock, acquire the lock again and return " -"immediately." -msgstr "" - -#: ../../library/threading.rst:815 -msgid "" -"In all cases, if the thread was able to acquire the lock, return ``True``. " -"If the thread was unable to acquire the lock (i.e. if not blocking or the " -"timeout was reached) return ``False``." -msgstr "" - -#: ../../library/threading.rst:819 -msgid "" -"If called multiple times, failing to call :meth:`~RLock.release` as many " -"times may lead to deadlock. Consider using :class:`!RLock` as a context " -"manager rather than calling acquire/release directly." -msgstr "" - -#: ../../library/threading.rst:829 -msgid "" -"Release a lock, decrementing the recursion level. If after the decrement it" -" is zero, reset the lock to unlocked (not owned by any thread), and if any " -"other threads are blocked waiting for the lock to become unlocked, allow " -"exactly one of them to proceed. If after the decrement the recursion level " -"is still nonzero, the lock remains locked and owned by the calling thread." -msgstr "" - -#: ../../library/threading.rst:835 -msgid "" -"Only call this method when the calling thread owns the lock. A " -":exc:`RuntimeError` is raised if this method is called when the lock is not " -"acquired." -msgstr "" - -#: ../../library/threading.rst:844 ../../library/threading.rst:943 -msgid "Return a boolean indicating whether this object is locked right now." -msgstr "" - -#: ../../library/threading.rst:852 -msgid "Condition Objects" -msgstr "" - -#: ../../library/threading.rst:854 -msgid "" -"A condition variable is always associated with some kind of lock; this can " -"be passed in or one will be created by default. Passing one in is useful " -"when several condition variables must share the same lock. The lock is part" -" of the condition object: you don't have to track it separately." -msgstr "" - -#: ../../library/threading.rst:859 -msgid "" -"A condition variable obeys the :ref:`context management protocol `: using the ``with`` statement acquires the associated lock for the " -"duration of the enclosed block. The :meth:`~Condition.acquire` and " -":meth:`~Condition.release` methods also call the corresponding methods of " -"the associated lock." -msgstr "" - -#: ../../library/threading.rst:865 -msgid "" -"Other methods must be called with the associated lock held. The " -":meth:`~Condition.wait` method releases the lock, and then blocks until " -"another thread awakens it by calling :meth:`~Condition.notify` or " -":meth:`~Condition.notify_all`. Once awakened, :meth:`~Condition.wait` re-" -"acquires the lock and returns. It is also possible to specify a timeout." -msgstr "" - -#: ../../library/threading.rst:871 -msgid "" -"The :meth:`~Condition.notify` method wakes up one of the threads waiting for" -" the condition variable, if any are waiting. The " -":meth:`~Condition.notify_all` method wakes up all threads waiting for the " -"condition variable." -msgstr "" - -#: ../../library/threading.rst:875 -msgid "" -"Note: the :meth:`~Condition.notify` and :meth:`~Condition.notify_all` " -"methods don't release the lock; this means that the thread or threads " -"awakened will not return from their :meth:`~Condition.wait` call " -"immediately, but only when the thread that called :meth:`~Condition.notify` " -"or :meth:`~Condition.notify_all` finally relinquishes ownership of the lock." -msgstr "" - -#: ../../library/threading.rst:881 -msgid "" -"The typical programming style using condition variables uses the lock to " -"synchronize access to some shared state; threads that are interested in a " -"particular change of state call :meth:`~Condition.wait` repeatedly until " -"they see the desired state, while threads that modify the state call " -":meth:`~Condition.notify` or :meth:`~Condition.notify_all` when they change " -"the state in such a way that it could possibly be a desired state for one of" -" the waiters. For example, the following code is a generic producer-" -"consumer situation with unlimited buffer capacity::" -msgstr "" - -#: ../../library/threading.rst:890 -msgid "" -"# Consume one item\n" -"with cv:\n" -" while not an_item_is_available():\n" -" cv.wait()\n" -" get_an_available_item()\n" -"\n" -"# Produce one item\n" -"with cv:\n" -" make_an_item_available()\n" -" cv.notify()" -msgstr "" - -#: ../../library/threading.rst:901 -msgid "" -"The ``while`` loop checking for the application's condition is necessary " -"because :meth:`~Condition.wait` can return after an arbitrary long time, and" -" the condition which prompted the :meth:`~Condition.notify` call may no " -"longer hold true. This is inherent to multi-threaded programming. The " -":meth:`~Condition.wait_for` method can be used to automate the condition " -"checking, and eases the computation of timeouts::" -msgstr "" - -#: ../../library/threading.rst:908 -msgid "" -"# Consume an item\n" -"with cv:\n" -" cv.wait_for(an_item_is_available)\n" -" get_an_available_item()" -msgstr "" - -#: ../../library/threading.rst:913 -msgid "" -"To choose between :meth:`~Condition.notify` and " -":meth:`~Condition.notify_all`, consider whether one state change can be " -"interesting for only one or several waiting threads. E.g. in a typical " -"producer-consumer situation, adding one item to the buffer only needs to " -"wake up one consumer thread." -msgstr "" - -#: ../../library/threading.rst:921 -msgid "" -"This class implements condition variable objects. A condition variable " -"allows one or more threads to wait until they are notified by another " -"thread." -msgstr "" - -#: ../../library/threading.rst:924 -msgid "" -"If the *lock* argument is given and not ``None``, it must be a :class:`Lock`" -" or :class:`RLock` object, and it is used as the underlying lock. " -"Otherwise, a new :class:`RLock` object is created and used as the underlying" -" lock." -msgstr "" - -#: ../../library/threading.rst:928 ../../library/threading.rst:1058 -#: ../../library/threading.rst:1104 ../../library/threading.rst:1156 -#: ../../library/threading.rst:1224 -msgid "changed from a factory function to a class." -msgstr "" - -#: ../../library/threading.rst:933 -msgid "" -"Acquire the underlying lock. This method calls the corresponding method on " -"the underlying lock; the return value is whatever that method returns." -msgstr "" - -#: ../../library/threading.rst:938 -msgid "" -"Release the underlying lock. This method calls the corresponding method on " -"the underlying lock; there is no return value." -msgstr "" - -#: ../../library/threading.rst:949 -msgid "" -"Wait until notified or until a timeout occurs. If the calling thread has not" -" acquired the lock when this method is called, a :exc:`RuntimeError` is " -"raised." -msgstr "" - -#: ../../library/threading.rst:953 -msgid "" -"This method releases the underlying lock, and then blocks until it is " -"awakened by a :meth:`notify` or :meth:`notify_all` call for the same " -"condition variable in another thread, or until the optional timeout occurs." -" Once awakened or timed out, it re-acquires the lock and returns." -msgstr "" - -#: ../../library/threading.rst:958 -msgid "" -"When the *timeout* argument is present and not ``None``, it should be a " -"floating-point number specifying a timeout for the operation in seconds (or " -"fractions thereof)." -msgstr "" - -#: ../../library/threading.rst:962 -msgid "" -"When the underlying lock is an :class:`RLock`, it is not released using its " -":meth:`release` method, since this may not actually unlock the lock when it " -"was acquired multiple times recursively. Instead, an internal interface of " -"the :class:`RLock` class is used, which really unlocks it even when it has " -"been recursively acquired several times. Another internal interface is then " -"used to restore the recursion level when the lock is reacquired." -msgstr "" - -#: ../../library/threading.rst:970 -msgid "" -"The return value is ``True`` unless a given *timeout* expired, in which case" -" it is ``False``." -msgstr "" - -#: ../../library/threading.rst:973 ../../library/threading.rst:1189 -msgid "Previously, the method always returned ``None``." -msgstr "" - -#: ../../library/threading.rst:978 -msgid "" -"Wait until a condition evaluates to true. *predicate* should be a callable " -"which result will be interpreted as a boolean value. A *timeout* may be " -"provided giving the maximum time to wait." -msgstr "" - -#: ../../library/threading.rst:982 -msgid "" -"This utility method may call :meth:`wait` repeatedly until the predicate is " -"satisfied, or until a timeout occurs. The return value is the last return " -"value of the predicate and will evaluate to ``False`` if the method timed " -"out." -msgstr "" - -#: ../../library/threading.rst:987 -msgid "" -"Ignoring the timeout feature, calling this method is roughly equivalent to " -"writing::" -msgstr "" - -#: ../../library/threading.rst:990 -msgid "" -"while not predicate():\n" -" cv.wait()" -msgstr "" - -#: ../../library/threading.rst:993 -msgid "" -"Therefore, the same rules apply as with :meth:`wait`: The lock must be held " -"when called and is re-acquired on return. The predicate is evaluated with " -"the lock held." -msgstr "" - -#: ../../library/threading.rst:1001 -msgid "" -"By default, wake up one thread waiting on this condition, if any. If the " -"calling thread has not acquired the lock when this method is called, a " -":exc:`RuntimeError` is raised." -msgstr "" - -#: ../../library/threading.rst:1005 -msgid "" -"This method wakes up at most *n* of the threads waiting for the condition " -"variable; it is a no-op if no threads are waiting." -msgstr "" - -#: ../../library/threading.rst:1008 -msgid "" -"The current implementation wakes up exactly *n* threads, if at least *n* " -"threads are waiting. However, it's not safe to rely on this behavior. A " -"future, optimized implementation may occasionally wake up more than *n* " -"threads." -msgstr "" - -#: ../../library/threading.rst:1013 -msgid "" -"Note: an awakened thread does not actually return from its :meth:`wait` call" -" until it can reacquire the lock. Since :meth:`notify` does not release the" -" lock, its caller should." -msgstr "" - -#: ../../library/threading.rst:1019 -msgid "" -"Wake up all threads waiting on this condition. This method acts like " -":meth:`notify`, but wakes up all waiting threads instead of one. If the " -"calling thread has not acquired the lock when this method is called, a " -":exc:`RuntimeError` is raised." -msgstr "" - -#: ../../library/threading.rst:1024 -msgid "The method ``notifyAll`` is a deprecated alias for this method." -msgstr "" - -#: ../../library/threading.rst:1030 -msgid "Semaphore Objects" -msgstr "" - -#: ../../library/threading.rst:1032 -msgid "" -"This is one of the oldest synchronization primitives in the history of " -"computer science, invented by the early Dutch computer scientist Edsger W. " -"Dijkstra (he used the names ``P()`` and ``V()`` instead of " -":meth:`~Semaphore.acquire` and :meth:`~Semaphore.release`)." -msgstr "" - -#: ../../library/threading.rst:1037 -msgid "" -"A semaphore manages an internal counter which is decremented by each " -":meth:`~Semaphore.acquire` call and incremented by each " -":meth:`~Semaphore.release` call. The counter can never go below zero; when " -":meth:`~Semaphore.acquire` finds that it is zero, it blocks, waiting until " -"some other thread calls :meth:`~Semaphore.release`." -msgstr "" - -#: ../../library/threading.rst:1043 -msgid "" -"Semaphores also support the :ref:`context management protocol `." -msgstr "" - -#: ../../library/threading.rst:1048 -msgid "" -"This class implements semaphore objects. A semaphore manages an atomic " -"counter representing the number of :meth:`release` calls minus the number of" -" :meth:`acquire` calls, plus an initial value. The :meth:`acquire` method " -"blocks if necessary until it can return without making the counter negative." -" If not given, *value* defaults to 1." -msgstr "" - -#: ../../library/threading.rst:1054 -msgid "" -"The optional argument gives the initial *value* for the internal counter; it" -" defaults to ``1``. If the *value* given is less than 0, :exc:`ValueError` " -"is raised." -msgstr "" - -#: ../../library/threading.rst:1063 -msgid "Acquire a semaphore." -msgstr "" - -#: ../../library/threading.rst:1065 -msgid "When invoked without arguments:" -msgstr "" - -#: ../../library/threading.rst:1067 -msgid "" -"If the internal counter is larger than zero on entry, decrement it by one " -"and return ``True`` immediately." -msgstr "" - -#: ../../library/threading.rst:1069 -msgid "" -"If the internal counter is zero on entry, block until awoken by a call to " -":meth:`~Semaphore.release`. Once awoken (and the counter is greater than " -"0), decrement the counter by 1 and return ``True``. Exactly one thread will" -" be awoken by each call to :meth:`~Semaphore.release`. The order in which " -"threads are awoken should not be relied on." -msgstr "" - -#: ../../library/threading.rst:1075 -msgid "" -"When invoked with *blocking* set to ``False``, do not block. If a call " -"without an argument would block, return ``False`` immediately; otherwise, do" -" the same thing as when called without arguments, and return ``True``." -msgstr "" - -#: ../../library/threading.rst:1079 -msgid "" -"When invoked with a *timeout* other than ``None``, it will block for at most" -" *timeout* seconds. If acquire does not complete successfully in that " -"interval, return ``False``. Return ``True`` otherwise." -msgstr "" - -#: ../../library/threading.rst:1088 -msgid "" -"Release a semaphore, incrementing the internal counter by *n*. When it was " -"zero on entry and other threads are waiting for it to become larger than " -"zero again, wake up *n* of those threads." -msgstr "" - -#: ../../library/threading.rst:1092 -msgid "Added the *n* parameter to release multiple waiting threads at once." -msgstr "" - -#: ../../library/threading.rst:1098 -msgid "" -"Class implementing bounded semaphore objects. A bounded semaphore checks to" -" make sure its current value doesn't exceed its initial value. If it does, " -":exc:`ValueError` is raised. In most situations semaphores are used to guard" -" resources with limited capacity. If the semaphore is released too many " -"times it's a sign of a bug. If not given, *value* defaults to 1." -msgstr "" - -#: ../../library/threading.rst:1111 -msgid ":class:`Semaphore` Example" -msgstr "" - -#: ../../library/threading.rst:1113 -msgid "" -"Semaphores are often used to guard resources with limited capacity, for " -"example, a database server. In any situation where the size of the resource" -" is fixed, you should use a bounded semaphore. Before spawning any worker " -"threads, your main thread would initialize the semaphore::" -msgstr "" - -#: ../../library/threading.rst:1118 -msgid "" -"maxconnections = 5\n" -"# ...\n" -"pool_sema = BoundedSemaphore(value=maxconnections)" -msgstr "" - -#: ../../library/threading.rst:1122 -msgid "" -"Once spawned, worker threads call the semaphore's acquire and release " -"methods when they need to connect to the server::" -msgstr "" - -#: ../../library/threading.rst:1125 -msgid "" -"with pool_sema:\n" -" conn = connectdb()\n" -" try:\n" -" # ... use connection ...\n" -" finally:\n" -" conn.close()" -msgstr "" - -#: ../../library/threading.rst:1132 -msgid "" -"The use of a bounded semaphore reduces the chance that a programming error " -"which causes the semaphore to be released more than it's acquired will go " -"undetected." -msgstr "" - -#: ../../library/threading.rst:1139 -msgid "Event Objects" -msgstr "" - -#: ../../library/threading.rst:1141 -msgid "" -"This is one of the simplest mechanisms for communication between threads: " -"one thread signals an event and other threads wait for it." -msgstr "" - -#: ../../library/threading.rst:1144 -msgid "" -"An event object manages an internal flag that can be set to true with the " -":meth:`~Event.set` method and reset to false with the :meth:`~Event.clear` " -"method. The :meth:`~Event.wait` method blocks until the flag is true." -msgstr "" - -#: ../../library/threading.rst:1151 -msgid "" -"Class implementing event objects. An event manages a flag that can be set " -"to true with the :meth:`~Event.set` method and reset to false with the " -":meth:`clear` method. The :meth:`wait` method blocks until the flag is " -"true. The flag is initially false." -msgstr "" - -#: ../../library/threading.rst:1161 -msgid "Return ``True`` if and only if the internal flag is true." -msgstr "" - -#: ../../library/threading.rst:1163 -msgid "The method ``isSet`` is a deprecated alias for this method." -msgstr "" - -#: ../../library/threading.rst:1167 -msgid "" -"Set the internal flag to true. All threads waiting for it to become true are" -" awakened. Threads that call :meth:`wait` once the flag is true will not " -"block at all." -msgstr "" - -#: ../../library/threading.rst:1173 -msgid "" -"Reset the internal flag to false. Subsequently, threads calling :meth:`wait`" -" will block until :meth:`.set` is called to set the internal flag to true " -"again." -msgstr "" - -#: ../../library/threading.rst:1179 -msgid "" -"Block as long as the internal flag is false and the timeout, if given, has " -"not expired. The return value represents the reason that this blocking " -"method returned; ``True`` if returning because the internal flag is set to " -"true, or ``False`` if a timeout is given and the internal flag did not " -"become true within the given wait time." -msgstr "" - -#: ../../library/threading.rst:1185 -msgid "" -"When the timeout argument is present and not ``None``, it should be a " -"floating-point number specifying a timeout for the operation in seconds, or " -"fractions thereof." -msgstr "" - -#: ../../library/threading.rst:1196 -msgid "Timer Objects" -msgstr "" - -#: ../../library/threading.rst:1198 -msgid "" -"This class represents an action that should be run only after a certain " -"amount of time has passed --- a timer. :class:`Timer` is a subclass of " -":class:`Thread` and as such also functions as an example of creating custom " -"threads." -msgstr "" - -#: ../../library/threading.rst:1202 -msgid "" -"Timers are started, as with threads, by calling their :meth:`Timer.start " -"` method. The timer can be stopped (before its action has " -"begun) by calling the :meth:`~Timer.cancel` method. The interval the timer " -"will wait before executing its action may not be exactly the same as the " -"interval specified by the user." -msgstr "" - -#: ../../library/threading.rst:1208 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../library/threading.rst:1210 -msgid "" -"def hello():\n" -" print(\"hello, world\")\n" -"\n" -"t = Timer(30.0, hello)\n" -"t.start() # after 30 seconds, \"hello, world\" will be printed" -msgstr "" - -#: ../../library/threading.rst:1219 -msgid "" -"Create a timer that will run *function* with arguments *args* and keyword " -"arguments *kwargs*, after *interval* seconds have passed. If *args* is " -"``None`` (the default) then an empty list will be used. If *kwargs* is " -"``None`` (the default) then an empty dict will be used." -msgstr "" - -#: ../../library/threading.rst:1229 -msgid "" -"Stop the timer, and cancel the execution of the timer's action. This will " -"only work if the timer is still in its waiting stage." -msgstr "" - -#: ../../library/threading.rst:1234 -msgid "Barrier Objects" -msgstr "" - -#: ../../library/threading.rst:1238 -msgid "" -"This class provides a simple synchronization primitive for use by a fixed " -"number of threads that need to wait for each other. Each of the threads " -"tries to pass the barrier by calling the :meth:`~Barrier.wait` method and " -"will block until all of the threads have made their :meth:`~Barrier.wait` " -"calls. At this point, the threads are released simultaneously." -msgstr "" - -#: ../../library/threading.rst:1244 -msgid "" -"The barrier can be reused any number of times for the same number of " -"threads." -msgstr "" - -#: ../../library/threading.rst:1246 -msgid "" -"As an example, here is a simple way to synchronize a client and server " -"thread::" -msgstr "" - -#: ../../library/threading.rst:1248 -msgid "" -"b = Barrier(2, timeout=5)\n" -"\n" -"def server():\n" -" start_server()\n" -" b.wait()\n" -" while True:\n" -" connection = accept_connection()\n" -" process_server_connection(connection)\n" -"\n" -"def client():\n" -" b.wait()\n" -" while True:\n" -" connection = make_connection()\n" -" process_client_connection(connection)" -msgstr "" - -#: ../../library/threading.rst:1266 -msgid "" -"Create a barrier object for *parties* number of threads. An *action*, when " -"provided, is a callable to be called by one of the threads when they are " -"released. *timeout* is the default timeout value if none is specified for " -"the :meth:`wait` method." -msgstr "" - -#: ../../library/threading.rst:1273 -msgid "" -"Pass the barrier. When all the threads party to the barrier have called " -"this function, they are all released simultaneously. If a *timeout* is " -"provided, it is used in preference to any that was supplied to the class " -"constructor." -msgstr "" - -#: ../../library/threading.rst:1278 -msgid "" -"The return value is an integer in the range 0 to *parties* -- 1, different " -"for each thread. This can be used to select a thread to do some special " -"housekeeping, e.g.::" -msgstr "" - -#: ../../library/threading.rst:1282 -msgid "" -"i = barrier.wait()\n" -"if i == 0:\n" -" # Only one thread needs to print this\n" -" print(\"passed the barrier\")" -msgstr "" - -#: ../../library/threading.rst:1287 -msgid "" -"If an *action* was provided to the constructor, one of the threads will have" -" called it prior to being released. Should this call raise an error, the " -"barrier is put into the broken state." -msgstr "" - -#: ../../library/threading.rst:1291 -msgid "If the call times out, the barrier is put into the broken state." -msgstr "" - -#: ../../library/threading.rst:1293 -msgid "" -"This method may raise a :class:`BrokenBarrierError` exception if the barrier" -" is broken or reset while a thread is waiting." -msgstr "" - -#: ../../library/threading.rst:1298 -msgid "" -"Return the barrier to the default, empty state. Any threads waiting on it " -"will receive the :class:`BrokenBarrierError` exception." -msgstr "" - -#: ../../library/threading.rst:1301 -msgid "" -"Note that using this function may require some external synchronization if " -"there are other threads whose state is unknown. If a barrier is broken it " -"may be better to just leave it and create a new one." -msgstr "" - -#: ../../library/threading.rst:1307 -msgid "" -"Put the barrier into a broken state. This causes any active or future calls" -" to :meth:`wait` to fail with the :class:`BrokenBarrierError`. Use this for" -" example if one of the threads needs to abort, to avoid deadlocking the " -"application." -msgstr "" - -#: ../../library/threading.rst:1312 -msgid "" -"It may be preferable to simply create the barrier with a sensible *timeout* " -"value to automatically guard against one of the threads going awry." -msgstr "" - -#: ../../library/threading.rst:1318 -msgid "The number of threads required to pass the barrier." -msgstr "" - -#: ../../library/threading.rst:1322 -msgid "The number of threads currently waiting in the barrier." -msgstr "" - -#: ../../library/threading.rst:1326 -msgid "A boolean that is ``True`` if the barrier is in the broken state." -msgstr "" - -#: ../../library/threading.rst:1331 -msgid "" -"This exception, a subclass of :exc:`RuntimeError`, is raised when the " -":class:`Barrier` object is reset or broken." -msgstr "" - -#: ../../library/threading.rst:1338 -msgid "" -"Using locks, conditions, and semaphores in the :keyword:`!with` statement" -msgstr "" - -#: ../../library/threading.rst:1340 -msgid "" -"All of the objects provided by this module that have ``acquire`` and " -"``release`` methods can be used as context managers for a :keyword:`with` " -"statement. The ``acquire`` method will be called when the block is entered," -" and ``release`` will be called when the block is exited. Hence, the " -"following snippet::" -msgstr "" - -#: ../../library/threading.rst:1346 -msgid "" -"with some_lock:\n" -" # do something..." -msgstr "" - -#: ../../library/threading.rst:1349 -msgid "is equivalent to::" -msgstr "setara dengan::" - -#: ../../library/threading.rst:1351 -msgid "" -"some_lock.acquire()\n" -"try:\n" -" # do something...\n" -"finally:\n" -" some_lock.release()" -msgstr "" - -#: ../../library/threading.rst:1357 -msgid "" -"Currently, :class:`Lock`, :class:`RLock`, :class:`Condition`, " -":class:`Semaphore`, and :class:`BoundedSemaphore` objects may be used as " -":keyword:`with` statement context managers." -msgstr "" - -#: ../../library/threading.rst:158 ../../library/threading.rst:176 -msgid "trace function" -msgstr "" - -#: ../../library/threading.rst:176 -msgid "debugger" -msgstr "" - -#: ../../library/threading.rst:187 ../../library/threading.rst:205 -msgid "profile function" -msgstr "" diff --git a/python-newest.library--time/id.po b/python-newest.library--time/id.po deleted file mode 100644 index 27c9c71..0000000 --- a/python-newest.library--time/id.po +++ /dev/null @@ -1,1535 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/time.rst:2 -msgid ":mod:`!time` --- Time access and conversions" -msgstr "" - -#: ../../library/time.rst:9 -msgid "" -"This module provides various time-related functions. For related " -"functionality, see also the :mod:`datetime` and :mod:`calendar` modules." -msgstr "" - -#: ../../library/time.rst:12 -msgid "" -"Although this module is always available, not all functions are available on" -" all platforms. Most of the functions defined in this module call platform " -"C library functions with the same name. It may sometimes be helpful to " -"consult the platform documentation, because the semantics of these functions" -" varies among platforms." -msgstr "" - -#: ../../library/time.rst:18 -msgid "An explanation of some terminology and conventions is in order." -msgstr "" - -#: ../../library/time.rst:24 -msgid "" -"The :dfn:`epoch` is the point where the time starts, the return value of " -"``time.gmtime(0)``. It is January 1, 1970, 00:00:00 (UTC) on all platforms." -msgstr "" - -#: ../../library/time.rst:31 -msgid "" -"The term :dfn:`seconds since the epoch` refers to the total number of " -"elapsed seconds since the epoch, typically excluding `leap seconds`_. Leap " -"seconds are excluded from this total on all POSIX-compliant platforms." -msgstr "" - -#: ../../library/time.rst:38 -msgid "" -"The functions in this module may not handle dates and times before the " -"epoch_ or far in the future. The cut-off point in the future is determined " -"by the C library; for 32-bit systems, it is typically in 2038." -msgstr "" - -#: ../../library/time.rst:45 -msgid "" -"Function :func:`strptime` can parse 2-digit years when given ``%y`` format " -"code. When 2-digit years are parsed, they are converted according to the " -"POSIX and ISO C standards: values 69--99 are mapped to 1969--1999, and " -"values 0--68 are mapped to 2000--2068." -msgstr "" - -#: ../../library/time.rst:55 -msgid "" -"UTC is `Coordinated Universal Time`_ and superseded `Greenwich Mean Time`_ " -"or GMT as the basis of international timekeeping. The acronym UTC is not a " -"mistake but conforms to an earlier, language-agnostic naming scheme for time" -" standards such as UT0, UT1, and UT2." -msgstr "" - -#: ../../library/time.rst:65 -msgid "" -"DST is Daylight Saving Time, an adjustment of the timezone by (usually) one " -"hour during part of the year. DST rules are magic (determined by local law)" -" and can change from year to year. The C library has a table containing the" -" local rules (often it is read from a system file for flexibility) and is " -"the only source of True Wisdom in this respect." -msgstr "" - -#: ../../library/time.rst:71 -msgid "" -"The precision of the various real-time functions may be less than suggested " -"by the units in which their value or argument is expressed. E.g. on most " -"Unix systems, the clock \"ticks\" only 50 or 100 times a second." -msgstr "" - -#: ../../library/time.rst:75 -msgid "" -"On the other hand, the precision of :func:`.time` and :func:`sleep` is " -"better than their Unix equivalents: times are expressed as floating-point " -"numbers, :func:`.time` returns the most accurate time available (using Unix " -":c:func:`!gettimeofday` where available), and :func:`sleep` will accept a " -"time with a nonzero fraction (Unix :c:func:`!select` is used to implement " -"this, where available)." -msgstr "" - -#: ../../library/time.rst:82 -msgid "" -"The time value as returned by :func:`gmtime`, :func:`localtime`, and " -":func:`strptime`, and accepted by :func:`asctime`, :func:`mktime` and " -":func:`strftime`, is a sequence of 9 integers. The return values of " -":func:`gmtime`, :func:`localtime`, and :func:`strptime` also offer attribute" -" names for individual fields." -msgstr "" - -#: ../../library/time.rst:88 -msgid "See :class:`struct_time` for a description of these objects." -msgstr "" - -#: ../../library/time.rst:90 -msgid "" -"The :class:`struct_time` type was extended to provide the " -":attr:`~struct_time.tm_gmtoff` and :attr:`~struct_time.tm_zone` attributes " -"when platform supports corresponding ``struct tm`` members." -msgstr "" - -#: ../../library/time.rst:96 -msgid "" -"The :class:`struct_time` attributes :attr:`~struct_time.tm_gmtoff` and " -":attr:`~struct_time.tm_zone` are now available on all platforms." -msgstr "" - -#: ../../library/time.rst:101 -msgid "Use the following functions to convert between time representations:" -msgstr "" - -#: ../../library/time.rst:104 -msgid "From" -msgstr "dari" - -#: ../../library/time.rst:104 -msgid "To" -msgstr "Ke" - -#: ../../library/time.rst:104 -msgid "Use" -msgstr "Gunakan" - -#: ../../library/time.rst:29 ../../library/time.rst:106 -#: ../../library/time.rst:109 ../../library/time.rst:112 -#: ../../library/time.rst:115 -msgid "seconds since the epoch" -msgstr "" - -#: ../../library/time.rst:106 ../../library/time.rst:112 -msgid ":class:`struct_time` in UTC" -msgstr "" - -#: ../../library/time.rst:106 -msgid ":func:`gmtime`" -msgstr ":func:`gmtime`" - -#: ../../library/time.rst:109 ../../library/time.rst:115 -msgid ":class:`struct_time` in local time" -msgstr "" - -#: ../../library/time.rst:109 -msgid ":func:`localtime`" -msgstr ":func:`localtime`" - -#: ../../library/time.rst:112 -msgid ":func:`calendar.timegm`" -msgstr ":func:`calendar.timegm`" - -#: ../../library/time.rst:115 -msgid ":func:`mktime`" -msgstr ":func:`mktime`" - -#: ../../library/time.rst:123 -msgid "Functions" -msgstr "Fungsi-Fungsi" - -#: ../../library/time.rst:127 -msgid "" -"Convert a tuple or :class:`struct_time` representing a time as returned by " -":func:`gmtime` or :func:`localtime` to a string of the following form: " -"``'Sun Jun 20 23:21:05 1993'``. The day field is two characters long and is " -"space padded if the day is a single digit, e.g.: ``'Wed Jun 9 04:26:40 " -"1993'``." -msgstr "" - -#: ../../library/time.rst:133 -msgid "" -"If *t* is not provided, the current time as returned by :func:`localtime` is" -" used. Locale information is not used by :func:`asctime`." -msgstr "" - -#: ../../library/time.rst:138 -msgid "" -"Unlike the C function of the same name, :func:`asctime` does not add a " -"trailing newline." -msgstr "" - -#: ../../library/time.rst:143 -msgid "" -"Return the *clk_id* of the thread-specific CPU-time clock for the specified " -"*thread_id*." -msgstr "" - -#: ../../library/time.rst:145 -msgid "" -"Use :func:`threading.get_ident` or the :attr:`~threading.Thread.ident` " -"attribute of :class:`threading.Thread` objects to get a suitable value for " -"*thread_id*." -msgstr "" - -#: ../../library/time.rst:150 -msgid "" -"Passing an invalid or expired *thread_id* may result in undefined behavior, " -"such as segmentation fault." -msgstr "" - -#: ../../library/time.rst:153 ../../library/time.rst:165 -#: ../../library/time.rst:178 ../../library/time.rst:187 -#: ../../library/time.rst:200 ../../library/time.rst:209 -#: ../../library/time.rst:747 ../../library/time.rst:771 -#: ../../library/time.rst:867 ../../library/time.rst:878 -#: ../../library/time.rst:888 ../../library/time.rst:898 -#: ../../library/time.rst:907 ../../library/time.rst:916 -#: ../../library/time.rst:925 ../../library/time.rst:936 -#: ../../library/time.rst:944 ../../library/time.rst:955 -#: ../../library/time.rst:966 ../../library/time.rst:975 -#: ../../library/time.rst:988 -msgid "Availability" -msgstr "" - -#: ../../library/time.rst:155 -msgid "" -"See the man page for :manpage:`pthread_getcpuclockid(3)` for further " -"information." -msgstr "" - -#: ../../library/time.rst:162 -msgid "" -"Return the resolution (precision) of the specified clock *clk_id*. Refer to" -" :ref:`time-clock-id-constants` for a list of accepted values for *clk_id*." -msgstr "" - -#: ../../library/time.rst:172 -msgid "" -"Return the time of the specified clock *clk_id*. Refer to :ref:`time-clock-" -"id-constants` for a list of accepted values for *clk_id*." -msgstr "" - -#: ../../library/time.rst:175 -msgid "" -"Use :func:`clock_gettime_ns` to avoid the precision loss caused by the " -":class:`float` type." -msgstr "" - -#: ../../library/time.rst:185 -msgid "Similar to :func:`clock_gettime` but return time as nanoseconds." -msgstr "" - -#: ../../library/time.rst:194 -msgid "" -"Set the time of the specified clock *clk_id*. Currently, " -":data:`CLOCK_REALTIME` is the only accepted value for *clk_id*." -msgstr "" - -#: ../../library/time.rst:197 -msgid "" -"Use :func:`clock_settime_ns` to avoid the precision loss caused by the " -":class:`float` type." -msgstr "" - -#: ../../library/time.rst:207 -msgid "Similar to :func:`clock_settime` but set time with nanoseconds." -msgstr "" - -#: ../../library/time.rst:216 -msgid "" -"Convert a time expressed in seconds since the epoch_ to a string of a form: " -"``'Sun Jun 20 23:21:05 1993'`` representing local time. The day field is two" -" characters long and is space padded if the day is a single digit, e.g.: " -"``'Wed Jun 9 04:26:40 1993'``." -msgstr "" - -#: ../../library/time.rst:221 -msgid "" -"If *secs* is not provided or :const:`None`, the current time as returned by " -":func:`.time` is used. ``ctime(secs)`` is equivalent to " -"``asctime(localtime(secs))``. Locale information is not used by " -":func:`ctime`." -msgstr "" - -#: ../../library/time.rst:229 -msgid "" -"Get information on the specified clock as a namespace object. Supported " -"clock names and the corresponding functions to read their value are:" -msgstr "" - -#: ../../library/time.rst:233 -msgid "``'monotonic'``: :func:`time.monotonic`" -msgstr "``'monotonic'``: :func:`time.monotonic`" - -#: ../../library/time.rst:234 -msgid "``'perf_counter'``: :func:`time.perf_counter`" -msgstr "``'perf_counter'``: :func:`time.perf_counter`" - -#: ../../library/time.rst:235 -msgid "``'process_time'``: :func:`time.process_time`" -msgstr "``'process_time'``: :func:`time.process_time`" - -#: ../../library/time.rst:236 -msgid "``'thread_time'``: :func:`time.thread_time`" -msgstr "``'thread_time'``: :func:`time.thread_time`" - -#: ../../library/time.rst:237 -msgid "``'time'``: :func:`time.time`" -msgstr "``'time'``: :func:`time.time`" - -#: ../../library/time.rst:239 -msgid "The result has the following attributes:" -msgstr "" - -#: ../../library/time.rst:241 -msgid "" -"*adjustable*: ``True`` if the clock can be changed automatically (e.g. by a " -"NTP daemon) or manually by the system administrator, ``False`` otherwise" -msgstr "" - -#: ../../library/time.rst:243 -msgid "" -"*implementation*: The name of the underlying C function used to get the " -"clock value. Refer to :ref:`time-clock-id-constants` for possible values." -msgstr "" - -#: ../../library/time.rst:245 -msgid "" -"*monotonic*: ``True`` if the clock cannot go backward, ``False`` otherwise" -msgstr "" - -#: ../../library/time.rst:247 -msgid "*resolution*: The resolution of the clock in seconds (:class:`float`)" -msgstr "" - -#: ../../library/time.rst:254 -msgid "" -"Convert a time expressed in seconds since the epoch_ to a " -":class:`struct_time` in UTC in which the dst flag is always zero. If *secs*" -" is not provided or :const:`None`, the current time as returned by " -":func:`.time` is used. Fractions of a second are ignored. See above for a " -"description of the :class:`struct_time` object. See :func:`calendar.timegm` " -"for the inverse of this function." -msgstr "" - -#: ../../library/time.rst:264 -msgid "" -"Like :func:`gmtime` but converts to local time. If *secs* is not provided " -"or :const:`None`, the current time as returned by :func:`.time` is used. " -"The dst flag is set to ``1`` when DST applies to the given time." -msgstr "" - -#: ../../library/time.rst:268 -msgid "" -":func:`localtime` may raise :exc:`OverflowError`, if the timestamp is " -"outside the range of values supported by the platform C :c:func:`localtime` " -"or :c:func:`gmtime` functions, and :exc:`OSError` on :c:func:`localtime` or " -":c:func:`gmtime` failure. It's common for this to be restricted to years " -"between 1970 and 2038." -msgstr "" - -#: ../../library/time.rst:277 -msgid "" -"This is the inverse function of :func:`localtime`. Its argument is the " -":class:`struct_time` or full 9-tuple (since the dst flag is needed; use " -"``-1`` as the dst flag if it is unknown) which expresses the time in *local*" -" time, not UTC. It returns a floating-point number, for compatibility with " -":func:`.time`. If the input value cannot be represented as a valid time, " -"either :exc:`OverflowError` or :exc:`ValueError` will be raised (which " -"depends on whether the invalid value is caught by Python or the underlying C" -" libraries). The earliest date for which it can generate a time is platform-" -"dependent." -msgstr "" - -#: ../../library/time.rst:289 -msgid "" -"Return the value (in fractional seconds) of a monotonic clock, i.e. a clock " -"that cannot go backwards. The clock is not affected by system clock " -"updates. The reference point of the returned value is undefined, so that " -"only the difference between the results of two calls is valid." -msgstr "" - -#: ../../library/time.rst:294 ../../library/time.rst:713 -msgid "Clock:" -msgstr "" - -#: ../../library/time.rst:296 -msgid "" -"On Windows, call ``QueryPerformanceCounter()`` and " -"``QueryPerformanceFrequency()``." -msgstr "" - -#: ../../library/time.rst:298 -msgid "On macOS, call ``mach_absolute_time()`` and ``mach_timebase_info()``." -msgstr "" - -#: ../../library/time.rst:299 -msgid "On HP-UX, call ``gethrtime()``." -msgstr "" - -#: ../../library/time.rst:300 -msgid "Call ``clock_gettime(CLOCK_HIGHRES)`` if available." -msgstr "" - -#: ../../library/time.rst:301 -msgid "Otherwise, call ``clock_gettime(CLOCK_MONOTONIC)``." -msgstr "" - -#: ../../library/time.rst:303 -msgid "" -"Use :func:`monotonic_ns` to avoid the precision loss caused by the " -":class:`float` type." -msgstr "" - -#: ../../library/time.rst:308 -msgid "The function is now always available and always system-wide." -msgstr "" - -#: ../../library/time.rst:311 -msgid "On macOS, the function is now system-wide." -msgstr "" - -#: ../../library/time.rst:317 -msgid "Similar to :func:`monotonic`, but return time as nanoseconds." -msgstr "" - -#: ../../library/time.rst:326 -msgid "" -"Return the value (in fractional seconds) of a performance counter, i.e. a " -"clock with the highest available resolution to measure a short duration. It" -" does include time elapsed during sleep and is system-wide. The reference " -"point of the returned value is undefined, so that only the difference " -"between the results of two calls is valid." -msgstr "" - -#: ../../library/time.rst:334 -msgid "" -"On CPython, use the same clock as :func:`time.monotonic` and is a monotonic " -"clock, i.e. a clock that cannot go backwards." -msgstr "" - -#: ../../library/time.rst:337 -msgid "" -"Use :func:`perf_counter_ns` to avoid the precision loss caused by the " -":class:`float` type." -msgstr "" - -#: ../../library/time.rst:342 -msgid "On Windows, the function is now system-wide." -msgstr "" - -#: ../../library/time.rst:345 -msgid "Use the same clock as :func:`time.monotonic`." -msgstr "" - -#: ../../library/time.rst:351 -msgid "Similar to :func:`perf_counter`, but return time as nanoseconds." -msgstr "" - -#: ../../library/time.rst:363 -msgid "" -"Return the value (in fractional seconds) of the sum of the system and user " -"CPU time of the current process. It does not include time elapsed during " -"sleep. It is process-wide by definition. The reference point of the " -"returned value is undefined, so that only the difference between the results" -" of two calls is valid." -msgstr "" - -#: ../../library/time.rst:369 -msgid "" -"Use :func:`process_time_ns` to avoid the precision loss caused by the " -":class:`float` type." -msgstr "" - -#: ../../library/time.rst:376 -msgid "Similar to :func:`process_time` but return time as nanoseconds." -msgstr "" - -#: ../../library/time.rst:382 -msgid "" -"Suspend execution of the calling thread for the given number of seconds. The" -" argument may be a floating-point number to indicate a more precise sleep " -"time." -msgstr "" - -#: ../../library/time.rst:386 -msgid "" -"If the sleep is interrupted by a signal and no exception is raised by the " -"signal handler, the sleep is restarted with a recomputed timeout." -msgstr "" - -#: ../../library/time.rst:389 -msgid "" -"The suspension time may be longer than requested by an arbitrary amount, " -"because of the scheduling of other activity in the system." -msgstr "" - -#: ../../library/time.rst:393 -msgid "Windows implementation" -msgstr "" - -#: ../../library/time.rst:394 -msgid "" -"On Windows, if *secs* is zero, the thread relinquishes the remainder of its " -"time slice to any other thread that is ready to run. If there are no other " -"threads ready to run, the function returns immediately, and the thread " -"continues execution. On Windows 8.1 and newer the implementation uses a " -"`high-resolution timer `_ which provides resolution " -"of 100 nanoseconds. If *secs* is zero, ``Sleep(0)`` is used." -msgstr "" - -#: ../../library/time.rst:403 -msgid "Unix implementation" -msgstr "" - -#: ../../library/time.rst:404 -msgid "Use ``clock_nanosleep()`` if available (resolution: 1 nanosecond);" -msgstr "" - -#: ../../library/time.rst:405 -msgid "Or use ``nanosleep()`` if available (resolution: 1 nanosecond);" -msgstr "" - -#: ../../library/time.rst:406 -msgid "Or use ``select()`` (resolution: 1 microsecond)." -msgstr "" - -#: ../../library/time.rst:410 -msgid "To emulate a \"no-op\", use :keyword:`pass` instead of ``time.sleep(0)``." -msgstr "" - -#: ../../library/time.rst:412 -msgid "" -"To voluntarily relinquish the CPU, specify a real-time :ref:`scheduling " -"policy ` and use :func:`os.sched_yield` instead." -msgstr "" - -#: ../../library/time.rst:415 -msgid "" -"Raises an :ref:`auditing event ` ``time.sleep`` with argument " -"``secs``." -msgstr "" - -#: ../../library/time.rst:417 -msgid "" -"The function now sleeps at least *secs* even if the sleep is interrupted by " -"a signal, except if the signal handler raises an exception (see :pep:`475` " -"for the rationale)." -msgstr "" - -#: ../../library/time.rst:422 -msgid "" -"On Unix, the ``clock_nanosleep()`` and ``nanosleep()`` functions are now " -"used if available. On Windows, a waitable timer is now used." -msgstr "" - -#: ../../library/time.rst:426 -msgid "Raises an auditing event." -msgstr "" - -#: ../../library/time.rst:434 -msgid "" -"Convert a tuple or :class:`struct_time` representing a time as returned by " -":func:`gmtime` or :func:`localtime` to a string as specified by the *format*" -" argument. If *t* is not provided, the current time as returned by " -":func:`localtime` is used. *format* must be a string. :exc:`ValueError` is" -" raised if any field in *t* is outside of the allowed range." -msgstr "" - -#: ../../library/time.rst:440 -msgid "" -"0 is a legal argument for any position in the time tuple; if it is normally " -"illegal the value is forced to a correct one." -msgstr "" - -#: ../../library/time.rst:443 -msgid "" -"The following directives can be embedded in the *format* string. They are " -"shown without the optional field width and precision specification, and are " -"replaced by the indicated characters in the :func:`strftime` result:" -msgstr "" - -#: ../../library/time.rst:448 -msgid "Directive" -msgstr "Petunjuk" - -#: ../../library/time.rst:448 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/time.rst:448 -msgid "Notes" -msgstr "Catatan" - -#: ../../library/time.rst:450 -msgid "``%a``" -msgstr "``%a``" - -#: ../../library/time.rst:450 -msgid "Locale's abbreviated weekday name." -msgstr "" - -#: ../../library/time.rst:453 -msgid "``%A``" -msgstr "``%A``" - -#: ../../library/time.rst:453 -msgid "Locale's full weekday name." -msgstr "" - -#: ../../library/time.rst:455 -msgid "``%b``" -msgstr "``%b``" - -#: ../../library/time.rst:455 -msgid "Locale's abbreviated month name." -msgstr "" - -#: ../../library/time.rst:458 -msgid "``%B``" -msgstr "``%B``" - -#: ../../library/time.rst:458 -msgid "Locale's full month name." -msgstr "" - -#: ../../library/time.rst:460 -msgid "``%c``" -msgstr "``%c``" - -#: ../../library/time.rst:460 -msgid "Locale's appropriate date and time representation." -msgstr "" - -#: ../../library/time.rst:463 -msgid "``%d``" -msgstr "``%d``" - -#: ../../library/time.rst:463 -msgid "Day of the month as a decimal number [01,31]." -msgstr "" - -#: ../../library/time.rst:466 -msgid "``%f``" -msgstr "``%f``" - -#: ../../library/time.rst:466 -msgid "Microseconds as a decimal number" -msgstr "" - -#: ../../library/time.rst:467 -msgid "[000000,999999]." -msgstr "" - -#: ../../library/time.rst:466 -msgid "\\(1)" -msgstr "\\(1)" - -#: ../../library/time.rst:470 -msgid "``%H``" -msgstr "``%H``" - -#: ../../library/time.rst:470 -msgid "Hour (24-hour clock) as a decimal number [00,23]." -msgstr "" - -#: ../../library/time.rst:473 -msgid "``%I``" -msgstr "``%I``" - -#: ../../library/time.rst:473 -msgid "Hour (12-hour clock) as a decimal number [01,12]." -msgstr "" - -#: ../../library/time.rst:476 -msgid "``%j``" -msgstr "``%j``" - -#: ../../library/time.rst:476 -msgid "Day of the year as a decimal number [001,366]." -msgstr "" - -#: ../../library/time.rst:479 -msgid "``%m``" -msgstr "``%m``" - -#: ../../library/time.rst:479 -msgid "Month as a decimal number [01,12]." -msgstr "" - -#: ../../library/time.rst:482 -msgid "``%M``" -msgstr "``%M``" - -#: ../../library/time.rst:482 -msgid "Minute as a decimal number [00,59]." -msgstr "" - -#: ../../library/time.rst:485 -msgid "``%p``" -msgstr "``%p``" - -#: ../../library/time.rst:485 -msgid "Locale's equivalent of either AM or PM." -msgstr "" - -#: ../../library/time.rst:485 -msgid "\\(2)" -msgstr "\\(2)" - -#: ../../library/time.rst:488 -msgid "``%S``" -msgstr "``%S``" - -#: ../../library/time.rst:488 -msgid "Second as a decimal number [00,61]." -msgstr "" - -#: ../../library/time.rst:488 -msgid "\\(3)" -msgstr "\\(3)" - -#: ../../library/time.rst:491 -msgid "``%U``" -msgstr "``%U``" - -#: ../../library/time.rst:491 -msgid "" -"Week number of the year (Sunday as the first day of the week) as a decimal " -"number [00,53]. All days in a new year preceding the first Sunday are " -"considered to be in week 0." -msgstr "" - -#: ../../library/time.rst:491 ../../library/time.rst:505 -msgid "\\(4)" -msgstr "\\(4)" - -#: ../../library/time.rst:499 -msgid "``%u``" -msgstr "``%u``" - -#: ../../library/time.rst:499 -msgid "Day of the week (Monday is 1; Sunday is 7) as a decimal number [1, 7]." -msgstr "" - -#: ../../library/time.rst:502 -msgid "``%w``" -msgstr "``%w``" - -#: ../../library/time.rst:502 -msgid "Weekday as a decimal number [0(Sunday),6]." -msgstr "" - -#: ../../library/time.rst:505 -msgid "``%W``" -msgstr "``%W``" - -#: ../../library/time.rst:505 -msgid "" -"Week number of the year (Monday as the first day of the week) as a decimal " -"number [00,53]. All days in a new year preceding the first Monday are " -"considered to be in week 0." -msgstr "" - -#: ../../library/time.rst:513 -msgid "``%x``" -msgstr "``%x``" - -#: ../../library/time.rst:513 -msgid "Locale's appropriate date representation." -msgstr "" - -#: ../../library/time.rst:516 -msgid "``%X``" -msgstr "``%X``" - -#: ../../library/time.rst:516 -msgid "Locale's appropriate time representation." -msgstr "" - -#: ../../library/time.rst:519 -msgid "``%y``" -msgstr "``%y``" - -#: ../../library/time.rst:519 -msgid "Year without century as a decimal number [00,99]." -msgstr "" - -#: ../../library/time.rst:522 -msgid "``%Y``" -msgstr "``%Y``" - -#: ../../library/time.rst:522 -msgid "Year with century as a decimal number." -msgstr "" - -#: ../../library/time.rst:525 -msgid "``%z``" -msgstr "``%z``" - -#: ../../library/time.rst:525 -msgid "" -"Time zone offset indicating a positive or negative time difference from " -"UTC/GMT of the form +HHMM or -HHMM, where H represents decimal hour digits " -"and M represents decimal minute digits [-23:59, +23:59]. [1]_" -msgstr "" - -#: ../../library/time.rst:531 -msgid "``%Z``" -msgstr "``%Z``" - -#: ../../library/time.rst:531 -msgid "" -"Time zone name (no characters if no time zone exists). Deprecated. [1]_" -msgstr "" - -#: ../../library/time.rst:534 -msgid "``%G``" -msgstr "``%G``" - -#: ../../library/time.rst:534 -msgid "" -"ISO 8601 year (similar to ``%Y`` but follows the rules for the ISO 8601 " -"calendar year). The year starts with the week that contains the first " -"Thursday of the calendar year." -msgstr "" - -#: ../../library/time.rst:539 -msgid "``%V``" -msgstr "``%V``" - -#: ../../library/time.rst:539 -msgid "" -"ISO 8601 week number (as a decimal number [01,53]). The first week of the " -"year is the one that contains the first Thursday of the year. Weeks start on" -" Monday." -msgstr "" - -#: ../../library/time.rst:544 -msgid "``%%``" -msgstr "``%%``" - -#: ../../library/time.rst:544 -msgid "A literal ``'%'`` character." -msgstr "" - -#: ../../library/time.rst:547 -msgid "Notes:" -msgstr "Catatan:" - -#: ../../library/time.rst:550 -msgid "" -"The ``%f`` format directive only applies to :func:`strptime`, not to " -":func:`strftime`. However, see also :meth:`datetime.datetime.strptime` and " -":meth:`datetime.datetime.strftime` where the ``%f`` format directive " -":ref:`applies to microseconds `." -msgstr "" - -#: ../../library/time.rst:556 -msgid "" -"When used with the :func:`strptime` function, the ``%p`` directive only " -"affects the output hour field if the ``%I`` directive is used to parse the " -"hour." -msgstr "" - -#: ../../library/time.rst:562 -msgid "" -"The range really is ``0`` to ``61``; value ``60`` is valid in timestamps " -"representing `leap seconds`_ and value ``61`` is supported for historical " -"reasons." -msgstr "" - -#: ../../library/time.rst:567 -msgid "" -"When used with the :func:`strptime` function, ``%U`` and ``%W`` are only " -"used in calculations when the day of the week and the year are specified." -msgstr "" - -#: ../../library/time.rst:570 -msgid "" -"Here is an example, a format for dates compatible with that specified in " -"the :rfc:`2822` Internet email standard. [1]_ ::" -msgstr "" - -#: ../../library/time.rst:573 -msgid "" -">>> from time import gmtime, strftime\n" -">>> strftime(\"%a, %d %b %Y %H:%M:%S +0000\", gmtime())\n" -"'Thu, 28 Jun 2001 14:17:15 +0000'" -msgstr "" - -#: ../../library/time.rst:577 -msgid "" -"Additional directives may be supported on certain platforms, but only the " -"ones listed here have a meaning standardized by ANSI C. To see the full set" -" of format codes supported on your platform, consult the " -":manpage:`strftime(3)` documentation." -msgstr "" - -#: ../../library/time.rst:582 -msgid "" -"On some platforms, an optional field width and precision specification can " -"immediately follow the initial ``'%'`` of a directive in the following " -"order; this is also not portable. The field width is normally 2 except for " -"``%j`` where it is 3." -msgstr "" - -#: ../../library/time.rst:593 -msgid "" -"Parse a string representing a time according to a format. The return value " -"is a :class:`struct_time` as returned by :func:`gmtime` or " -":func:`localtime`." -msgstr "" - -#: ../../library/time.rst:597 -msgid "" -"The *format* parameter uses the same directives as those used by " -":func:`strftime`; it defaults to ``\"%a %b %d %H:%M:%S %Y\"`` which matches " -"the formatting returned by :func:`ctime`. If *string* cannot be parsed " -"according to *format*, or if it has excess data after parsing, " -":exc:`ValueError` is raised. The default values used to fill in any missing " -"data when more accurate values cannot be inferred are ``(1900, 1, 1, 0, 0, " -"0, 0, 1, -1)``. Both *string* and *format* must be strings." -msgstr "" - -#: ../../library/time.rst:605 -msgid "For example:" -msgstr "Sebagai contoh:" - -#: ../../library/time.rst:612 -msgid "" -"Support for the ``%Z`` directive is based on the values contained in " -"``tzname`` and whether ``daylight`` is true. Because of this, it is " -"platform-specific except for recognizing UTC and GMT which are always known " -"(and are considered to be non-daylight savings timezones)." -msgstr "" - -#: ../../library/time.rst:617 -msgid "" -"Only the directives specified in the documentation are supported. Because " -"``strftime()`` is implemented per platform it can sometimes offer more " -"directives than those listed. But ``strptime()`` is independent of any " -"platform and thus does not necessarily support all directives available that" -" are not documented as supported." -msgstr "" - -#: ../../library/time.rst:626 -msgid "" -"The type of the time value sequence returned by :func:`gmtime`, " -":func:`localtime`, and :func:`strptime`. It is an object with a " -":term:`named tuple` interface: values can be accessed by index and by " -"attribute name. The following values are present:" -msgstr "" - -#: ../../library/time.rst:633 -msgid "Index" -msgstr "Indeks" - -#: ../../library/time.rst:634 -msgid "Attribute" -msgstr "Atribut" - -#: ../../library/time.rst:635 -msgid "Values" -msgstr "Nilai" - -#: ../../library/time.rst:637 -msgid "0" -msgstr "0" - -#: ../../library/time.rst:639 -msgid "(for example, 1993)" -msgstr "" - -#: ../../library/time.rst:641 -msgid "1" -msgstr "1" - -#: ../../library/time.rst:643 -msgid "range [1, 12]" -msgstr "" - -#: ../../library/time.rst:645 -msgid "2" -msgstr "2" - -#: ../../library/time.rst:647 -msgid "range [1, 31]" -msgstr "" - -#: ../../library/time.rst:649 -msgid "3" -msgstr "3" - -#: ../../library/time.rst:651 -msgid "range [0, 23]" -msgstr "" - -#: ../../library/time.rst:653 -msgid "4" -msgstr "4" - -#: ../../library/time.rst:655 -msgid "range [0, 59]" -msgstr "" - -#: ../../library/time.rst:657 -msgid "5" -msgstr "5" - -#: ../../library/time.rst:659 -msgid "range [0, 61]; see :ref:`Note (2) ` in :func:`strftime`" -msgstr "" - -#: ../../library/time.rst:661 -msgid "6" -msgstr "6" - -#: ../../library/time.rst:663 -msgid "range [0, 6]; Monday is 0" -msgstr "" - -#: ../../library/time.rst:665 -msgid "7" -msgstr "7" - -#: ../../library/time.rst:667 -msgid "range [1, 366]" -msgstr "" - -#: ../../library/time.rst:669 -msgid "8" -msgstr "8" - -#: ../../library/time.rst:671 -msgid "0, 1 or -1; see below" -msgstr "" - -#: ../../library/time.rst:673 ../../library/time.rst:677 -msgid "N/A" -msgstr "T/A" - -#: ../../library/time.rst:675 -msgid "abbreviation of timezone name" -msgstr "" - -#: ../../library/time.rst:679 -msgid "offset east of UTC in seconds" -msgstr "" - -#: ../../library/time.rst:681 -msgid "" -"Note that unlike the C structure, the month value is a range of [1, 12], not" -" [0, 11]." -msgstr "" - -#: ../../library/time.rst:684 -msgid "" -"In calls to :func:`mktime`, :attr:`tm_isdst` may be set to 1 when daylight " -"savings time is in effect, and 0 when it is not. A value of -1 indicates " -"that this is not known, and will usually result in the correct state being " -"filled in." -msgstr "" - -#: ../../library/time.rst:688 -msgid "" -"When a tuple with an incorrect length is passed to a function expecting a " -":class:`struct_time`, or having elements of the wrong type, a " -":exc:`TypeError` is raised." -msgstr "" - -#: ../../library/time.rst:694 -msgid "" -"Return the time in seconds since the epoch_ as a floating-point number. The " -"handling of `leap seconds`_ is platform dependent. On Windows and most Unix " -"systems, the leap seconds are not counted towards the time in seconds since " -"the epoch_. This is commonly referred to as `Unix time " -"`_." -msgstr "" - -#: ../../library/time.rst:700 -msgid "" -"Note that even though the time is always returned as a floating-point " -"number, not all systems provide time with a better precision than 1 second. " -"While this function normally returns non-decreasing values, it can return a " -"lower value than a previous call if the system clock has been set back " -"between the two calls." -msgstr "" - -#: ../../library/time.rst:706 -msgid "" -"The number returned by :func:`.time` may be converted into a more common " -"time format (i.e. year, month, day, hour, etc...) in UTC by passing it to " -":func:`gmtime` function or in local time by passing it to the " -":func:`localtime` function. In both cases a :class:`struct_time` object is " -"returned, from which the components of the calendar date may be accessed as " -"attributes." -msgstr "" - -#: ../../library/time.rst:715 -msgid "On Windows, call ``GetSystemTimeAsFileTime()``." -msgstr "" - -#: ../../library/time.rst:716 -msgid "Call ``clock_gettime(CLOCK_REALTIME)`` if available." -msgstr "" - -#: ../../library/time.rst:717 -msgid "Otherwise, call ``gettimeofday()``." -msgstr "" - -#: ../../library/time.rst:719 -msgid "" -"Use :func:`time_ns` to avoid the precision loss caused by the :class:`float`" -" type." -msgstr "" - -#: ../../library/time.rst:725 -msgid "" -"Similar to :func:`~time.time` but returns time as an integer number of " -"nanoseconds since the epoch_." -msgstr "" - -#: ../../library/time.rst:738 -msgid "" -"Return the value (in fractional seconds) of the sum of the system and user " -"CPU time of the current thread. It does not include time elapsed during " -"sleep. It is thread-specific by definition. The reference point of the " -"returned value is undefined, so that only the difference between the results" -" of two calls in the same thread is valid." -msgstr "" - -#: ../../library/time.rst:744 -msgid "" -"Use :func:`thread_time_ns` to avoid the precision loss caused by the " -":class:`float` type." -msgstr "" - -#: ../../library/time.rst:749 -msgid "Unix systems supporting ``CLOCK_THREAD_CPUTIME_ID``." -msgstr "" - -#: ../../library/time.rst:756 -msgid "Similar to :func:`thread_time` but return time as nanoseconds." -msgstr "" - -#: ../../library/time.rst:763 -msgid "" -"Reset the time conversion rules used by the library routines. The " -"environment variable :envvar:`TZ` specifies how this is done. It will also " -"set the variables ``tzname`` (from the :envvar:`TZ` environment variable), " -"``timezone`` (non-DST seconds West of UTC), ``altzone`` (DST seconds west of" -" UTC) and ``daylight`` (to 0 if this timezone does not have any daylight " -"saving time rules, or to nonzero if there is a time, past, present or future" -" when daylight saving time applies)." -msgstr "" - -#: ../../library/time.rst:775 -msgid "" -"Although in many cases, changing the :envvar:`TZ` environment variable may " -"affect the output of functions like :func:`localtime` without calling " -":func:`tzset`, this behavior should not be relied on." -msgstr "" - -#: ../../library/time.rst:779 -msgid "The :envvar:`TZ` environment variable should contain no whitespace." -msgstr "" - -#: ../../library/time.rst:781 -msgid "" -"The standard format of the :envvar:`TZ` environment variable is (whitespace " -"added for clarity)::" -msgstr "" - -#: ../../library/time.rst:784 -msgid "std offset [dst [offset [,start[/time], end[/time]]]]" -msgstr "" - -#: ../../library/time.rst:786 -msgid "Where the components are:" -msgstr "" - -#: ../../library/time.rst:788 -msgid "``std`` and ``dst``" -msgstr "" - -#: ../../library/time.rst:789 -msgid "" -"Three or more alphanumerics giving the timezone abbreviations. These will be" -" propagated into time.tzname" -msgstr "" - -#: ../../library/time.rst:792 -msgid "``offset``" -msgstr "``offset``" - -#: ../../library/time.rst:793 -msgid "" -"The offset has the form: ``± hh[:mm[:ss]]``. This indicates the value added " -"the local time to arrive at UTC. If preceded by a '-', the timezone is east" -" of the Prime Meridian; otherwise, it is west. If no offset follows dst, " -"summer time is assumed to be one hour ahead of standard time." -msgstr "" - -#: ../../library/time.rst:798 -msgid "``start[/time], end[/time]``" -msgstr "" - -#: ../../library/time.rst:799 -msgid "" -"Indicates when to change to and back from DST. The format of the start and " -"end dates are one of the following:" -msgstr "" - -#: ../../library/time.rst:802 -msgid ":samp:`J{n}`" -msgstr ":samp:`J{n}`" - -#: ../../library/time.rst:803 -msgid "" -"The Julian day *n* (1 <= *n* <= 365). Leap days are not counted, so in all " -"years February 28 is day 59 and March 1 is day 60." -msgstr "" - -#: ../../library/time.rst:806 -msgid ":samp:`{n}`" -msgstr ":samp:`{n}`" - -#: ../../library/time.rst:807 -msgid "" -"The zero-based Julian day (0 <= *n* <= 365). Leap days are counted, and it " -"is possible to refer to February 29." -msgstr "" - -#: ../../library/time.rst:810 -msgid ":samp:`M{m}.{n}.{d}`" -msgstr ":samp:`M{m}.{n}.{d}`" - -#: ../../library/time.rst:811 -msgid "" -"The *d*'th day (0 <= *d* <= 6) of week *n* of month *m* of the year (1 <= " -"*n* <= 5, 1 <= *m* <= 12, where week 5 means \"the last *d* day in month " -"*m*\" which may occur in either the fourth or the fifth week). Week 1 is the" -" first week in which the *d*'th day occurs. Day zero is a Sunday." -msgstr "" - -#: ../../library/time.rst:817 -msgid "" -"``time`` has the same format as ``offset`` except that no leading sign ('-' " -"or '+') is allowed. The default, if time is not given, is 02:00:00." -msgstr "" - -#: ../../library/time.rst:822 -msgid "" -">>> os.environ['TZ'] = 'EST+05EDT,M4.1.0,M10.5.0'\n" -">>> time.tzset()\n" -">>> time.strftime('%X %x %Z')\n" -"'02:07:36 05/08/03 EDT'\n" -">>> os.environ['TZ'] = 'AEST-10AEDT-11,M10.5.0,M3.5.0'\n" -">>> time.tzset()\n" -">>> time.strftime('%X %x %Z')\n" -"'16:08:12 05/08/03 AEST'" -msgstr "" - -#: ../../library/time.rst:831 -msgid "" -"On many Unix systems (including \\*BSD, Linux, Solaris, and Darwin), it is " -"more convenient to use the system's zoneinfo (:manpage:`tzfile(5)`) " -"database to specify the timezone rules. To do this, set the :envvar:`TZ` " -"environment variable to the path of the required timezone datafile, " -"relative to the root of the systems 'zoneinfo' timezone database, usually " -"located at :file:`/usr/share/zoneinfo`. For example, ``'US/Eastern'``, " -"``'Australia/Melbourne'``, ``'Egypt'`` or ``'Europe/Amsterdam'``. ::" -msgstr "" - -#: ../../library/time.rst:839 -msgid "" -">>> os.environ['TZ'] = 'US/Eastern'\n" -">>> time.tzset()\n" -">>> time.tzname\n" -"('EST', 'EDT')\n" -">>> os.environ['TZ'] = 'Egypt'\n" -">>> time.tzset()\n" -">>> time.tzname\n" -"('EET', 'EEST')" -msgstr "" - -#: ../../library/time.rst:852 -msgid "Clock ID Constants" -msgstr "" - -#: ../../library/time.rst:854 -msgid "" -"These constants are used as parameters for :func:`clock_getres` and " -":func:`clock_gettime`." -msgstr "" - -#: ../../library/time.rst:859 -msgid "" -"Identical to :data:`CLOCK_MONOTONIC`, except it also includes any time that " -"the system is suspended." -msgstr "" - -#: ../../library/time.rst:862 -msgid "" -"This allows applications to get a suspend-aware monotonic clock without " -"having to deal with the complications of :data:`CLOCK_REALTIME`, which may " -"have discontinuities if the time is changed using ``settimeofday()`` or " -"similar." -msgstr "" - -#: ../../library/time.rst:874 -msgid "" -"The Solaris OS has a ``CLOCK_HIGHRES`` timer that attempts to use an optimal" -" hardware source, and may give close to nanosecond resolution. " -"``CLOCK_HIGHRES`` is the nonadjustable, high-resolution clock." -msgstr "" - -#: ../../library/time.rst:885 -msgid "" -"Clock that cannot be set and represents monotonic time since some " -"unspecified starting point." -msgstr "" - -#: ../../library/time.rst:895 -msgid "" -"Similar to :data:`CLOCK_MONOTONIC`, but provides access to a raw hardware-" -"based time that is not subject to NTP adjustments." -msgstr "" - -#: ../../library/time.rst:904 -msgid "" -"Similar to :data:`CLOCK_MONOTONIC_RAW`, but reads a value cached by the " -"system at context switch and hence has less accuracy." -msgstr "" - -#: ../../library/time.rst:914 ../../library/time.rst:923 -msgid "High-resolution per-process timer from the CPU." -msgstr "" - -#: ../../library/time.rst:931 -msgid "" -"`International Atomic Time `_" -msgstr "" - -#: ../../library/time.rst:933 -msgid "" -"The system must have a current leap second table in order for this to give " -"the correct answer. PTP or NTP software can maintain a leap second table." -msgstr "" - -#: ../../library/time.rst:942 -msgid "Thread-specific CPU-time clock." -msgstr "" - -#: ../../library/time.rst:951 -msgid "" -"Time whose absolute value is the time the system has been running and not " -"suspended, providing accurate uptime measurement, both absolute and " -"interval." -msgstr "" - -#: ../../library/time.rst:962 -msgid "" -"Clock that increments monotonically, tracking the time since an arbitrary " -"point, unaffected by frequency or time adjustments and not incremented while" -" the system is asleep." -msgstr "" - -#: ../../library/time.rst:972 -msgid "" -"Like :data:`CLOCK_UPTIME_RAW`, but the value is cached by the system at " -"context switches and therefore has less accuracy." -msgstr "" - -#: ../../library/time.rst:979 -msgid "" -"The following constant is the only parameter that can be sent to " -":func:`clock_settime`." -msgstr "" - -#: ../../library/time.rst:985 -msgid "" -"System-wide real-time clock. Setting this clock requires appropriate " -"privileges." -msgstr "" - -#: ../../library/time.rst:996 -msgid "Timezone Constants" -msgstr "" - -#: ../../library/time.rst:1000 -msgid "" -"The offset of the local DST timezone, in seconds west of UTC, if one is " -"defined. This is negative if the local DST timezone is east of UTC (as in " -"Western Europe, including the UK). Only use this if ``daylight`` is " -"nonzero. See note below." -msgstr "" - -#: ../../library/time.rst:1006 -msgid "Nonzero if a DST timezone is defined. See note below." -msgstr "" - -#: ../../library/time.rst:1010 -msgid "" -"The offset of the local (non-DST) timezone, in seconds west of UTC (negative" -" in most of Western Europe, positive in the US, zero in the UK). See note " -"below." -msgstr "" - -#: ../../library/time.rst:1015 -msgid "" -"A tuple of two strings: the first is the name of the local non-DST timezone," -" the second is the name of the local DST timezone. If no DST timezone is " -"defined, the second string should not be used. See note below." -msgstr "" - -#: ../../library/time.rst:1021 -msgid "" -"For the above Timezone constants (:data:`altzone`, :data:`daylight`, " -":data:`timezone`, and :data:`tzname`), the value is determined by the " -"timezone rules in effect at module load time or the last time :func:`tzset` " -"is called and may be incorrect for times in the past. It is recommended to " -"use the :attr:`~struct_time.tm_gmtoff` and :attr:`~struct_time.tm_zone` " -"results from :func:`localtime` to obtain timezone information." -msgstr "" - -#: ../../library/time.rst:1030 -msgid "Module :mod:`datetime`" -msgstr "Modul :mod:`datetime`" - -#: ../../library/time.rst:1031 -msgid "More object-oriented interface to dates and times." -msgstr "" - -#: ../../library/time.rst:1033 -msgid "Module :mod:`locale`" -msgstr "Modul :mod:`locale`" - -#: ../../library/time.rst:1034 -msgid "" -"Internationalization services. The locale setting affects the " -"interpretation of many format specifiers in :func:`strftime` and " -":func:`strptime`." -msgstr "" - -#: ../../library/time.rst:1037 -msgid "Module :mod:`calendar`" -msgstr "Modul :mod:`calendar`" - -#: ../../library/time.rst:1038 -msgid "" -"General calendar-related functions. :func:`~calendar.timegm` is the " -"inverse of :func:`gmtime` from this module." -msgstr "" - -#: ../../library/time.rst:1042 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/time.rst:1043 -msgid "" -"The use of ``%Z`` is now deprecated, but the ``%z`` escape that expands to " -"the preferred hour/minute offset is not supported by all ANSI C libraries. " -"Also, a strict reading of the original 1982 :rfc:`822` standard calls for a " -"two-digit year (``%y`` rather than ``%Y``), but practice moved to 4-digit " -"years long before the year 2000. After that, :rfc:`822` became obsolete and" -" the 4-digit year has been first recommended by :rfc:`1123` and then " -"mandated by :rfc:`2822`." -msgstr "" - -#: ../../library/time.rst:22 -msgid "epoch" -msgstr "" - -#: ../../library/time.rst:36 -msgid "Year 2038" -msgstr "" - -#: ../../library/time.rst:42 -msgid "2-digit years" -msgstr "" - -#: ../../library/time.rst:50 -msgid "UTC" -msgstr "" - -#: ../../library/time.rst:50 -msgid "Coordinated Universal Time" -msgstr "" - -#: ../../library/time.rst:50 -msgid "Greenwich Mean Time" -msgstr "" - -#: ../../library/time.rst:63 -msgid "Daylight Saving Time" -msgstr "" - -#: ../../library/time.rst:323 ../../library/time.rst:358 -#: ../../library/time.rst:733 -msgid "benchmarking" -msgstr "" - -#: ../../library/time.rst:358 ../../library/time.rst:733 -msgid "CPU time" -msgstr "" - -#: ../../library/time.rst:358 ../../library/time.rst:733 -msgid "processor time" -msgstr "" - -#: ../../library/time.rst:429 ../../library/time.rst:588 -msgid "% (percent)" -msgstr "" - -#: ../../library/time.rst:429 ../../library/time.rst:588 -msgid "datetime format" -msgstr "" diff --git a/python-newest.library--timeit/id.po b/python-newest.library--timeit/id.po deleted file mode 100644 index 03dc063..0000000 --- a/python-newest.library--timeit/id.po +++ /dev/null @@ -1,492 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/timeit.rst:2 -msgid ":mod:`!timeit` --- Measure execution time of small code snippets" -msgstr "" - -#: ../../library/timeit.rst:7 -msgid "**Source code:** :source:`Lib/timeit.py`" -msgstr "" - -#: ../../library/timeit.rst:15 -msgid "" -"This module provides a simple way to time small bits of Python code. It has " -"both a :ref:`timeit-command-line-interface` as well as a :ref:`callable " -"` one. It avoids a number of common traps for measuring " -"execution times. See also Tim Peters' introduction to the \"Algorithms\" " -"chapter in the second edition of *Python Cookbook*, published by O'Reilly." -msgstr "" - -#: ../../library/timeit.rst:23 -msgid "Basic Examples" -msgstr "" - -#: ../../library/timeit.rst:25 -msgid "" -"The following example shows how the :ref:`timeit-command-line-interface` can" -" be used to compare three different expressions:" -msgstr "" - -#: ../../library/timeit.rst:28 -msgid "" -"$ python -m timeit \"'-'.join(str(n) for n in range(100))\"\n" -"10000 loops, best of 5: 30.2 usec per loop\n" -"$ python -m timeit \"'-'.join([str(n) for n in range(100)])\"\n" -"10000 loops, best of 5: 27.5 usec per loop\n" -"$ python -m timeit \"'-'.join(map(str, range(100)))\"\n" -"10000 loops, best of 5: 23.2 usec per loop" -msgstr "" - -#: ../../library/timeit.rst:37 -msgid "This can be achieved from the :ref:`python-interface` with::" -msgstr "" - -#: ../../library/timeit.rst:39 -msgid "" -">>> import timeit\n" -">>> timeit.timeit('\"-\".join(str(n) for n in range(100))', number=10000)\n" -"0.3018611848820001\n" -">>> timeit.timeit('\"-\".join([str(n) for n in range(100)])', number=10000)\n" -"0.2727368790656328\n" -">>> timeit.timeit('\"-\".join(map(str, range(100)))', number=10000)\n" -"0.23702679807320237" -msgstr "" - -#: ../../library/timeit.rst:47 -msgid "A callable can also be passed from the :ref:`python-interface`::" -msgstr "" - -#: ../../library/timeit.rst:49 -msgid "" -">>> timeit.timeit(lambda: \"-\".join(map(str, range(100))), number=10000)\n" -"0.19665591977536678" -msgstr "" - -#: ../../library/timeit.rst:52 -msgid "" -"Note however that :func:`.timeit` will automatically determine the number of" -" repetitions only when the command-line interface is used. In the " -":ref:`timeit-examples` section you can find more advanced examples." -msgstr "" - -#: ../../library/timeit.rst:60 -msgid "Python Interface" -msgstr "" - -#: ../../library/timeit.rst:62 -msgid "The module defines three convenience functions and a public class:" -msgstr "" - -#: ../../library/timeit.rst:67 -msgid "" -"Create a :class:`Timer` instance with the given statement, *setup* code and " -"*timer* function and run its :meth:`.timeit` method with *number* " -"executions. The optional *globals* argument specifies a namespace in which " -"to execute the code." -msgstr "" - -#: ../../library/timeit.rst:72 ../../library/timeit.rst:83 -#: ../../library/timeit.rst:122 -msgid "The optional *globals* parameter was added." -msgstr "" - -#: ../../library/timeit.rst:78 -msgid "" -"Create a :class:`Timer` instance with the given statement, *setup* code and " -"*timer* function and run its :meth:`.repeat` method with the given *repeat* " -"count and *number* executions. The optional *globals* argument specifies a " -"namespace in which to execute the code." -msgstr "" - -#: ../../library/timeit.rst:86 ../../library/timeit.rst:183 -msgid "Default value of *repeat* changed from 3 to 5." -msgstr "" - -#: ../../library/timeit.rst:92 -msgid "" -"The default timer, which is always time.perf_counter(), returns float " -"seconds. An alternative, time.perf_counter_ns, returns integer nanoseconds." -msgstr "" - -#: ../../library/timeit.rst:95 -msgid ":func:`time.perf_counter` is now the default timer." -msgstr "" - -#: ../../library/timeit.rst:101 -msgid "Class for timing execution speed of small code snippets." -msgstr "" - -#: ../../library/timeit.rst:103 -msgid "" -"The constructor takes a statement to be timed, an additional statement used " -"for setup, and a timer function. Both statements default to ``'pass'``; the" -" timer function is platform-dependent (see the module doc string). *stmt* " -"and *setup* may also contain multiple statements separated by ``;`` or " -"newlines, as long as they don't contain multi-line string literals. The " -"statement will by default be executed within timeit's namespace; this " -"behavior can be controlled by passing a namespace to *globals*." -msgstr "" - -#: ../../library/timeit.rst:111 -msgid "" -"To measure the execution time of the first statement, use the " -":meth:`.timeit` method. The :meth:`.repeat` and :meth:`.autorange` methods " -"are convenience methods to call :meth:`.timeit` multiple times." -msgstr "" - -#: ../../library/timeit.rst:115 -msgid "" -"The execution time of *setup* is excluded from the overall timed execution " -"run." -msgstr "" - -#: ../../library/timeit.rst:117 -msgid "" -"The *stmt* and *setup* parameters can also take objects that are callable " -"without arguments. This will embed calls to them in a timer function that " -"will then be executed by :meth:`.timeit`. Note that the timing overhead is " -"a little larger in this case because of the extra function calls." -msgstr "" - -#: ../../library/timeit.rst:127 -msgid "" -"Time *number* executions of the main statement. This executes the setup " -"statement once, and then returns the time it takes to execute the main " -"statement a number of times. The default timer returns seconds as a float. " -"The argument is the number of times through the loop, defaulting to one " -"million. The main statement, the setup statement and the timer function to " -"be used are passed to the constructor." -msgstr "" - -#: ../../library/timeit.rst:136 -msgid "" -"By default, :meth:`.timeit` temporarily turns off :term:`garbage collection`" -" during the timing. The advantage of this approach is that it makes " -"independent timings more comparable. The disadvantage is that GC may be an " -"important component of the performance of the function being measured. If " -"so, GC can be re-enabled as the first statement in the *setup* string. For " -"example::" -msgstr "" - -#: ../../library/timeit.rst:143 -msgid "timeit.Timer('for i in range(10): oct(i)', 'gc.enable()').timeit()" -msgstr "" - -#: ../../library/timeit.rst:148 -msgid "Automatically determine how many times to call :meth:`.timeit`." -msgstr "" - -#: ../../library/timeit.rst:150 -msgid "" -"This is a convenience function that calls :meth:`.timeit` repeatedly so that" -" the total time >= 0.2 second, returning the eventual (number of loops, time" -" taken for that number of loops). It calls :meth:`.timeit` with increasing " -"numbers from the sequence 1, 2, 5, 10, 20, 50, ... until the time taken is " -"at least 0.2 seconds." -msgstr "" - -#: ../../library/timeit.rst:156 -msgid "" -"If *callback* is given and is not ``None``, it will be called after each " -"trial with two arguments: ``callback(number, time_taken)``." -msgstr "" - -#: ../../library/timeit.rst:164 -msgid "Call :meth:`.timeit` a few times." -msgstr "" - -#: ../../library/timeit.rst:166 -msgid "" -"This is a convenience function that calls the :meth:`.timeit` repeatedly, " -"returning a list of results. The first argument specifies how many times to" -" call :meth:`.timeit`. The second argument specifies the *number* argument " -"for :meth:`.timeit`." -msgstr "" - -#: ../../library/timeit.rst:173 -msgid "" -"It's tempting to calculate mean and standard deviation from the result " -"vector and report these. However, this is not very useful. In a typical " -"case, the lowest value gives a lower bound for how fast your machine can run" -" the given code snippet; higher values in the result vector are typically " -"not caused by variability in Python's speed, but by other processes " -"interfering with your timing accuracy. So the :func:`min` of the result is " -"probably the only number you should be interested in. After that, you " -"should look at the entire vector and apply common sense rather than " -"statistics." -msgstr "" - -#: ../../library/timeit.rst:189 -msgid "Helper to print a traceback from the timed code." -msgstr "" - -#: ../../library/timeit.rst:191 -msgid "Typical use::" -msgstr "" - -#: ../../library/timeit.rst:193 -msgid "" -"t = Timer(...) # outside the try/except\n" -"try:\n" -" t.timeit(...) # or t.repeat(...)\n" -"except Exception:\n" -" t.print_exc()" -msgstr "" - -#: ../../library/timeit.rst:199 -msgid "" -"The advantage over the standard traceback is that source lines in the " -"compiled template will be displayed. The optional *file* argument directs " -"where the traceback is sent; it defaults to :data:`sys.stderr`." -msgstr "" - -#: ../../library/timeit.rst:207 -msgid "Command-Line Interface" -msgstr "" - -#: ../../library/timeit.rst:209 -msgid "" -"When called as a program from the command line, the following form is used::" -msgstr "" - -#: ../../library/timeit.rst:211 -msgid "" -"python -m timeit [-n N] [-r N] [-u U] [-s S] [-p] [-v] [-h] [statement ...]" -msgstr "" - -#: ../../library/timeit.rst:213 -msgid "Where the following options are understood:" -msgstr "" - -#: ../../library/timeit.rst:219 -msgid "how many times to execute 'statement'" -msgstr "" - -#: ../../library/timeit.rst:223 -msgid "how many times to repeat the timer (default 5)" -msgstr "" - -#: ../../library/timeit.rst:227 -msgid "statement to be executed once initially (default ``pass``)" -msgstr "" - -#: ../../library/timeit.rst:231 -msgid "" -"measure process time, not wallclock time, using :func:`time.process_time` " -"instead of :func:`time.perf_counter`, which is the default" -msgstr "" - -#: ../../library/timeit.rst:238 -msgid "" -"specify a time unit for timer output; can select ``nsec``, ``usec``, " -"``msec``, or ``sec``" -msgstr "" - -#: ../../library/timeit.rst:244 -msgid "print raw timing results; repeat for more digits precision" -msgstr "" - -#: ../../library/timeit.rst:248 -msgid "print a short usage message and exit" -msgstr "" - -#: ../../library/timeit.rst:250 -msgid "" -"A multi-line statement may be given by specifying each line as a separate " -"statement argument; indented lines are possible by enclosing an argument in " -"quotes and using leading spaces. Multiple :option:`-s` options are treated " -"similarly." -msgstr "" - -#: ../../library/timeit.rst:255 -msgid "" -"If :option:`-n` is not given, a suitable number of loops is calculated by " -"trying increasing numbers from the sequence 1, 2, 5, 10, 20, 50, ... until " -"the total time is at least 0.2 seconds." -msgstr "" - -#: ../../library/timeit.rst:259 -msgid "" -":func:`default_timer` measurements can be affected by other programs running" -" on the same machine, so the best thing to do when accurate timing is " -"necessary is to repeat the timing a few times and use the best time. The " -":option:`-r` option is good for this; the default of 5 repetitions is " -"probably enough in most cases. You can use :func:`time.process_time` to " -"measure CPU time." -msgstr "" - -#: ../../library/timeit.rst:267 -msgid "" -"There is a certain baseline overhead associated with executing a pass " -"statement. The code here doesn't try to hide it, but you should be aware of " -"it. The baseline overhead can be measured by invoking the program without " -"arguments, and it might differ between Python versions." -msgstr "" - -#: ../../library/timeit.rst:276 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/timeit.rst:278 -msgid "" -"It is possible to provide a setup statement that is executed only once at " -"the beginning:" -msgstr "" - -#: ../../library/timeit.rst:280 -msgid "" -"$ python -m timeit -s \"text = 'sample string'; char = 'g'\" \"char in text\"\n" -"5000000 loops, best of 5: 0.0877 usec per loop\n" -"$ python -m timeit -s \"text = 'sample string'; char = 'g'\" \"text.find(char)\"\n" -"1000000 loops, best of 5: 0.342 usec per loop" -msgstr "" - -#: ../../library/timeit.rst:287 -msgid "" -"In the output, there are three fields. The loop count, which tells you how " -"many times the statement body was run per timing loop repetition. The " -"repetition count ('best of 5') which tells you how many times the timing " -"loop was repeated, and finally the time the statement body took on average " -"within the best repetition of the timing loop. That is, the time the fastest" -" repetition took divided by the loop count." -msgstr "" - -#: ../../library/timeit.rst:296 -msgid "" -">>> import timeit\n" -">>> timeit.timeit('char in text', setup='text = \"sample string\"; char = \"g\"')\n" -"0.41440500499993504\n" -">>> timeit.timeit('text.find(char)', setup='text = \"sample string\"; char = \"g\"')\n" -"1.7246671520006203" -msgstr "" - -#: ../../library/timeit.rst:302 -msgid "The same can be done using the :class:`Timer` class and its methods::" -msgstr "" - -#: ../../library/timeit.rst:304 -msgid "" -">>> import timeit\n" -">>> t = timeit.Timer('char in text', setup='text = \"sample string\"; char = \"g\"')\n" -">>> t.timeit()\n" -"0.3955516149999312\n" -">>> t.repeat()\n" -"[0.40183617287970225, 0.37027556854118704, 0.38344867356679524, 0.3712595970846668, 0.37866875250654886]" -msgstr "" - -#: ../../library/timeit.rst:312 -msgid "" -"The following examples show how to time expressions that contain multiple " -"lines. Here we compare the cost of using :func:`hasattr` vs. " -":keyword:`try`/:keyword:`except` to test for missing and present object " -"attributes:" -msgstr "" - -#: ../../library/timeit.rst:316 -msgid "" -"$ python -m timeit \"try:\" \" str.__bool__\" \"except AttributeError:\" \" pass\"\n" -"20000 loops, best of 5: 15.7 usec per loop\n" -"$ python -m timeit \"if hasattr(str, '__bool__'): pass\"\n" -"50000 loops, best of 5: 4.26 usec per loop\n" -"\n" -"$ python -m timeit \"try:\" \" int.__bool__\" \"except AttributeError:\" \" pass\"\n" -"200000 loops, best of 5: 1.43 usec per loop\n" -"$ python -m timeit \"if hasattr(int, '__bool__'): pass\"\n" -"100000 loops, best of 5: 2.23 usec per loop" -msgstr "" - -#: ../../library/timeit.rst:330 -msgid "" -">>> import timeit\n" -">>> # attribute is missing\n" -">>> s = \"\"\"\\\n" -"... try:\n" -"... str.__bool__\n" -"... except AttributeError:\n" -"... pass\n" -"... \"\"\"\n" -">>> timeit.timeit(stmt=s, number=100000)\n" -"0.9138244460009446\n" -">>> s = \"if hasattr(str, '__bool__'): pass\"\n" -">>> timeit.timeit(stmt=s, number=100000)\n" -"0.5829014980008651\n" -">>>\n" -">>> # attribute is present\n" -">>> s = \"\"\"\\\n" -"... try:\n" -"... int.__bool__\n" -"... except AttributeError:\n" -"... pass\n" -"... \"\"\"\n" -">>> timeit.timeit(stmt=s, number=100000)\n" -"0.04215312199994514\n" -">>> s = \"if hasattr(int, '__bool__'): pass\"\n" -">>> timeit.timeit(stmt=s, number=100000)\n" -"0.08588060699912603" -msgstr "" - -#: ../../library/timeit.rst:358 -msgid "" -"To give the :mod:`timeit` module access to functions you define, you can " -"pass a *setup* parameter which contains an import statement::" -msgstr "" - -#: ../../library/timeit.rst:361 -msgid "" -"def test():\n" -" \"\"\"Stupid test function\"\"\"\n" -" L = [i for i in range(100)]\n" -"\n" -"if __name__ == '__main__':\n" -" import timeit\n" -" print(timeit.timeit(\"test()\", setup=\"from __main__ import test\"))" -msgstr "" - -#: ../../library/timeit.rst:369 -msgid "" -"Another option is to pass :func:`globals` to the *globals* parameter, which" -" will cause the code to be executed within your current global namespace. " -"This can be more convenient than individually specifying imports::" -msgstr "" - -#: ../../library/timeit.rst:373 -msgid "" -"def f(x):\n" -" return x**2\n" -"def g(x):\n" -" return x**4\n" -"def h(x):\n" -" return x**8\n" -"\n" -"import timeit\n" -"print(timeit.timeit('[func(42) for func in (f,g,h)]', globals=globals()))" -msgstr "" - -#: ../../library/timeit.rst:9 -msgid "Benchmarking" -msgstr "" - -#: ../../library/timeit.rst:9 -msgid "Performance" -msgstr "Performa" diff --git a/python-newest.library--tk/id.po b/python-newest.library--tk/id.po deleted file mode 100644 index a3e49fc..0000000 --- a/python-newest.library--tk/id.po +++ /dev/null @@ -1,72 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tk.rst:5 -msgid "Graphical User Interfaces with Tk" -msgstr "User Interfaces Grafis dengan Tk" - -#: ../../library/tk.rst:13 -msgid "" -"Tk/Tcl has long been an integral part of Python. It provides a robust and " -"platform independent windowing toolkit, that is available to Python " -"programmers using the :mod:`tkinter` package, and its extension, the " -":mod:`tkinter.ttk` module." -msgstr "" - -#: ../../library/tk.rst:17 -msgid "" -"The :mod:`tkinter` package is a thin object-oriented layer on top of Tcl/Tk." -" To use :mod:`tkinter`, you don't need to write Tcl code, but you will need " -"to consult the Tk documentation, and occasionally the Tcl documentation. " -":mod:`tkinter` is a set of wrappers that implement the Tk widgets as Python " -"classes." -msgstr "" - -#: ../../library/tk.rst:23 -msgid "" -":mod:`tkinter`'s chief virtues are that it is fast, and that it usually " -"comes bundled with Python. Although its standard documentation is weak, good" -" material is available, which includes: references, tutorials, a book and " -"others. :mod:`tkinter` is also famous for having an outdated look and feel, " -"which has been vastly improved in Tk 8.5. Nevertheless, there are many other" -" GUI libraries that you could be interested in. The Python wiki lists " -"several alternative `GUI frameworks and tools " -"`_." -msgstr "" - -#: ../../library/tk.rst:7 -msgid "GUI" -msgstr "" - -#: ../../library/tk.rst:7 -msgid "Graphical User Interface" -msgstr "" - -#: ../../library/tk.rst:7 -msgid "Tkinter" -msgstr "Tkinter" - -#: ../../library/tk.rst:7 -msgid "Tk" -msgstr "" diff --git a/python-newest.library--tkinter/id.po b/python-newest.library--tkinter/id.po deleted file mode 100644 index 1fe254b..0000000 --- a/python-newest.library--tkinter/id.po +++ /dev/null @@ -1,1915 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tkinter.rst:2 -msgid ":mod:`!tkinter` --- Python interface to Tcl/Tk" -msgstr "" - -#: ../../library/tkinter.rst:9 -msgid "**Source code:** :source:`Lib/tkinter/__init__.py`" -msgstr "" - -#: ../../library/tkinter.rst:13 -msgid "" -"The :mod:`tkinter` package (\"Tk interface\") is the standard Python " -"interface to the Tcl/Tk GUI toolkit. Both Tk and :mod:`tkinter` are " -"available on most Unix platforms, including macOS, as well as on Windows " -"systems." -msgstr "" - -#: ../../library/tkinter.rst:17 -msgid "" -"Running ``python -m tkinter`` from the command line should open a window " -"demonstrating a simple Tk interface, letting you know that :mod:`tkinter` is" -" properly installed on your system, and also showing what version of Tcl/Tk " -"is installed, so you can read the Tcl/Tk documentation specific to that " -"version." -msgstr "" - -#: ../../library/tkinter.rst:22 -msgid "" -"Tkinter supports a range of Tcl/Tk versions, built either with or without " -"thread support. The official Python binary release bundles Tcl/Tk 8.6 " -"threaded. See the source code for the :mod:`_tkinter` module for more " -"information about supported versions." -msgstr "" - -#: ../../library/tkinter.rst:27 -msgid "" -"Tkinter is not a thin wrapper, but adds a fair amount of its own logic to " -"make the experience more pythonic. This documentation will concentrate on " -"these additions and changes, and refer to the official Tcl/Tk documentation " -"for details that are unchanged." -msgstr "" - -#: ../../library/tkinter.rst:34 -msgid "" -"Tcl/Tk 8.5 (2007) introduced a modern set of themed user interface " -"components along with a new API to use them. Both old and new APIs are still" -" available. Most documentation you will find online still uses the old API " -"and can be woefully outdated." -msgstr "" - -#: ../../library/tkinter.rst:41 -msgid "`TkDocs `_" -msgstr "" - -#: ../../library/tkinter.rst:42 -msgid "" -"Extensive tutorial on creating user interfaces with Tkinter. Explains key " -"concepts, and illustrates recommended approaches using the modern API." -msgstr "" - -#: ../../library/tkinter.rst:45 -msgid "" -"`Tkinter 8.5 reference: a GUI for Python `_" -msgstr "" - -#: ../../library/tkinter.rst:46 -msgid "" -"Reference documentation for Tkinter 8.5 detailing available classes, " -"methods, and options." -msgstr "" - -#: ../../library/tkinter.rst:48 -msgid "Tcl/Tk Resources:" -msgstr "" - -#: ../../library/tkinter.rst:50 -msgid "`Tk commands `_" -msgstr "" - -#: ../../library/tkinter.rst:51 -msgid "" -"Comprehensive reference to each of the underlying Tcl/Tk commands used by " -"Tkinter." -msgstr "" - -#: ../../library/tkinter.rst:53 -msgid "`Tcl/Tk Home Page `_" -msgstr "" - -#: ../../library/tkinter.rst:54 -msgid "Additional documentation, and links to Tcl/Tk core development." -msgstr "" - -#: ../../library/tkinter.rst:56 -msgid "Books:" -msgstr "" - -#: ../../library/tkinter.rst:58 -msgid "" -"`Modern Tkinter for Busy Python Developers `_" -msgstr "" - -#: ../../library/tkinter.rst:59 -msgid "By Mark Roseman. (ISBN 978-1999149567)" -msgstr "" - -#: ../../library/tkinter.rst:61 -msgid "" -"`Python GUI programming with Tkinter `_" -msgstr "" - -#: ../../library/tkinter.rst:62 -msgid "By Alan D. Moore. (ISBN 978-1788835886)" -msgstr "" - -#: ../../library/tkinter.rst:64 -msgid "`Programming Python `_" -msgstr "" - -#: ../../library/tkinter.rst:65 -msgid "By Mark Lutz; has excellent coverage of Tkinter. (ISBN 978-0596158101)" -msgstr "" - -#: ../../library/tkinter.rst:67 -msgid "" -"`Tcl and the Tk Toolkit (2nd edition) " -"`_" -msgstr "" - -#: ../../library/tkinter.rst:68 -msgid "" -"By John Ousterhout, inventor of Tcl/Tk, and Ken Jones; does not cover " -"Tkinter. (ISBN 978-0321336330)" -msgstr "" - -#: ../../library/tkinter.rst:72 -msgid "Architecture" -msgstr "" - -#: ../../library/tkinter.rst:74 -msgid "" -"Tcl/Tk is not a single library but rather consists of a few distinct " -"modules, each with separate functionality and its own official " -"documentation. Python's binary releases also ship an add-on module together " -"with it." -msgstr "" - -#: ../../library/tkinter.rst:79 -msgid "Tcl" -msgstr "" - -#: ../../library/tkinter.rst:80 -msgid "" -"Tcl is a dynamic interpreted programming language, just like Python. Though " -"it can be used on its own as a general-purpose programming language, it is " -"most commonly embedded into C applications as a scripting engine or an " -"interface to the Tk toolkit. The Tcl library has a C interface to create and" -" manage one or more instances of a Tcl interpreter, run Tcl commands and " -"scripts in those instances, and add custom commands implemented in either " -"Tcl or C. Each interpreter has an event queue, and there are facilities to " -"send events to it and process them. Unlike Python, Tcl's execution model is " -"designed around cooperative multitasking, and Tkinter bridges this " -"difference (see `Threading model`_ for details)." -msgstr "" - -#: ../../library/tkinter.rst:92 ../../library/tkinter.rst:907 -msgid "Tk" -msgstr "" - -#: ../../library/tkinter.rst:93 -msgid "" -"Tk is a `Tcl package `_ implemented in C " -"that adds custom commands to create and manipulate GUI widgets. Each " -":class:`Tk` object embeds its own Tcl interpreter instance with Tk loaded " -"into it. Tk's widgets are very customizable, though at the cost of a dated " -"appearance. Tk uses Tcl's event queue to generate and process GUI events." -msgstr "" - -#: ../../library/tkinter.rst:99 -msgid "Ttk" -msgstr "" - -#: ../../library/tkinter.rst:100 -msgid "" -"Themed Tk (Ttk) is a newer family of Tk widgets that provide a much better " -"appearance on different platforms than many of the classic Tk widgets. Ttk " -"is distributed as part of Tk, starting with Tk version 8.5. Python bindings " -"are provided in a separate module, :mod:`tkinter.ttk`." -msgstr "" - -#: ../../library/tkinter.rst:105 -msgid "" -"Internally, Tk and Ttk use facilities of the underlying operating system, " -"i.e., Xlib on Unix/X11, Cocoa on macOS, GDI on Windows." -msgstr "" - -#: ../../library/tkinter.rst:108 -msgid "" -"When your Python application uses a class in Tkinter, e.g., to create a " -"widget, the :mod:`tkinter` module first assembles a Tcl/Tk command string. " -"It passes that Tcl command string to an internal :mod:`_tkinter` binary " -"module, which then calls the Tcl interpreter to evaluate it. The Tcl " -"interpreter will then call into the Tk and/or Ttk packages, which will in " -"turn make calls to Xlib, Cocoa, or GDI." -msgstr "" - -#: ../../library/tkinter.rst:116 -msgid "Tkinter Modules" -msgstr "" - -#: ../../library/tkinter.rst:118 -msgid "" -"Support for Tkinter is spread across several modules. Most applications will" -" need the main :mod:`tkinter` module, as well as the :mod:`tkinter.ttk` " -"module, which provides the modern themed widget set and API::" -msgstr "" - -#: ../../library/tkinter.rst:123 -msgid "" -"from tkinter import *\n" -"from tkinter import ttk" -msgstr "" - -#: ../../library/tkinter.rst:129 -msgid "" -"Construct a toplevel Tk widget, which is usually the main window of an " -"application, and initialize a Tcl interpreter for this widget. Each " -"instance has its own associated Tcl interpreter." -msgstr "" - -#: ../../library/tkinter.rst:133 -msgid "" -"The :class:`Tk` class is typically instantiated using all default values. " -"However, the following keyword arguments are currently recognized:" -msgstr "" - -#: ../../library/tkinter.rst:136 -msgid "*screenName*" -msgstr "" - -#: ../../library/tkinter.rst:137 -msgid "" -"When given (as a string), sets the :envvar:`DISPLAY` environment variable. " -"(X11 only)" -msgstr "" - -#: ../../library/tkinter.rst:139 -msgid "*baseName*" -msgstr "" - -#: ../../library/tkinter.rst:140 -msgid "" -"Name of the profile file. By default, *baseName* is derived from the " -"program name (``sys.argv[0]``)." -msgstr "" - -#: ../../library/tkinter.rst:142 -msgid "*className*" -msgstr "" - -#: ../../library/tkinter.rst:143 -msgid "" -"Name of the widget class. Used as a profile file and also as the name with " -"which Tcl is invoked (*argv0* in *interp*)." -msgstr "" - -#: ../../library/tkinter.rst:145 -msgid "*useTk*" -msgstr "" - -#: ../../library/tkinter.rst:146 -msgid "" -"If ``True``, initialize the Tk subsystem. The :func:`tkinter.Tcl() ` " -"function sets this to ``False``." -msgstr "" - -#: ../../library/tkinter.rst:148 -msgid "*sync*" -msgstr "" - -#: ../../library/tkinter.rst:149 -msgid "" -"If ``True``, execute all X server commands synchronously, so that errors are" -" reported immediately. Can be used for debugging. (X11 only)" -msgstr "" - -#: ../../library/tkinter.rst:151 -msgid "*use*" -msgstr "" - -#: ../../library/tkinter.rst:152 -msgid "" -"Specifies the *id* of the window in which to embed the application, instead " -"of it being created as an independent toplevel window. *id* must be " -"specified in the same way as the value for the -use option for toplevel " -"widgets (that is, it has a form like that returned by :meth:`winfo_id`)." -msgstr "" - -#: ../../library/tkinter.rst:158 -msgid "" -"Note that on some platforms this will only work correctly if *id* refers to " -"a Tk frame or toplevel that has its -container option enabled." -msgstr "" - -#: ../../library/tkinter.rst:161 -msgid "" -":class:`Tk` reads and interprets profile files, named " -":file:`.{className}.tcl` and :file:`.{baseName}.tcl`, into the Tcl " -"interpreter and calls :func:`exec` on the contents of " -":file:`.{className}.py` and :file:`.{baseName}.py`. The path for the " -"profile files is the :envvar:`HOME` environment variable or, if that isn't " -"defined, then :data:`os.curdir`." -msgstr "" - -#: ../../library/tkinter.rst:170 -msgid "" -"The Tk application object created by instantiating :class:`Tk`. This " -"provides access to the Tcl interpreter. Each widget that is attached the " -"same instance of :class:`Tk` has the same value for its :attr:`tk` " -"attribute." -msgstr "" - -#: ../../library/tkinter.rst:177 -msgid "" -"The widget object that contains this widget. For :class:`Tk`, the *master* " -"is :const:`None` because it is the main window. The terms *master* and " -"*parent* are similar and sometimes used interchangeably as argument names; " -"however, calling :meth:`winfo_parent` returns a string of the widget name " -"whereas :attr:`master` returns the object. *parent*/*child* reflects the " -"tree-like relationship while *master*/*slave* reflects the container " -"structure." -msgstr "" - -#: ../../library/tkinter.rst:187 -msgid "" -"The immediate descendants of this widget as a :class:`dict` with the child " -"widget names as the keys and the child instance objects as the values." -msgstr "" - -#: ../../library/tkinter.rst:194 -msgid "" -"The :func:`Tcl` function is a factory function which creates an object much " -"like that created by the :class:`Tk` class, except that it does not " -"initialize the Tk subsystem. This is most often useful when driving the Tcl" -" interpreter in an environment where one doesn't want to create extraneous " -"toplevel windows, or where one cannot (such as Unix/Linux systems without an" -" X server). An object created by the :func:`Tcl` object can have a Toplevel" -" window created (and the Tk subsystem initialized) by calling its " -":meth:`loadtk` method." -msgstr "" - -#: ../../library/tkinter.rst:203 -msgid "The modules that provide Tk support include:" -msgstr "" - -#: ../../library/tkinter.rst:205 -msgid ":mod:`tkinter`" -msgstr "" - -#: ../../library/tkinter.rst:206 -msgid "Main Tkinter module." -msgstr "" - -#: ../../library/tkinter.rst:208 -msgid ":mod:`tkinter.colorchooser`" -msgstr "" - -#: ../../library/tkinter.rst:209 -msgid "Dialog to let the user choose a color." -msgstr "" - -#: ../../library/tkinter.rst:211 -msgid ":mod:`tkinter.commondialog`" -msgstr "" - -#: ../../library/tkinter.rst:212 -msgid "Base class for the dialogs defined in the other modules listed here." -msgstr "" - -#: ../../library/tkinter.rst:214 -msgid ":mod:`tkinter.filedialog`" -msgstr "" - -#: ../../library/tkinter.rst:215 -msgid "Common dialogs to allow the user to specify a file to open or save." -msgstr "" - -#: ../../library/tkinter.rst:217 -msgid ":mod:`tkinter.font`" -msgstr "" - -#: ../../library/tkinter.rst:218 -msgid "Utilities to help work with fonts." -msgstr "" - -#: ../../library/tkinter.rst:220 -msgid ":mod:`tkinter.messagebox`" -msgstr ":mod:`tkinter.messagebox`" - -#: ../../library/tkinter.rst:221 -msgid "Access to standard Tk dialog boxes." -msgstr "" - -#: ../../library/tkinter.rst:223 -msgid ":mod:`tkinter.scrolledtext`" -msgstr "" - -#: ../../library/tkinter.rst:224 -msgid "Text widget with a vertical scroll bar built in." -msgstr "" - -#: ../../library/tkinter.rst:226 -msgid ":mod:`tkinter.simpledialog`" -msgstr "" - -#: ../../library/tkinter.rst:227 -msgid "Basic dialogs and convenience functions." -msgstr "" - -#: ../../library/tkinter.rst:229 -msgid ":mod:`tkinter.ttk`" -msgstr "" - -#: ../../library/tkinter.rst:230 -msgid "" -"Themed widget set introduced in Tk 8.5, providing modern alternatives for " -"many of the classic widgets in the main :mod:`tkinter` module." -msgstr "" - -#: ../../library/tkinter.rst:233 -msgid "Additional modules:" -msgstr "" - -#: ../../library/tkinter.rst:238 -msgid ":mod:`_tkinter`" -msgstr "" - -#: ../../library/tkinter.rst:239 -msgid "" -"A binary module that contains the low-level interface to Tcl/Tk. It is " -"automatically imported by the main :mod:`tkinter` module, and should never " -"be used directly by application programmers. It is usually a shared library " -"(or DLL), but might in some cases be statically linked with the Python " -"interpreter." -msgstr "" - -#: ../../library/tkinter.rst:245 -msgid ":mod:`idlelib`" -msgstr "" - -#: ../../library/tkinter.rst:246 -msgid "" -"Python's Integrated Development and Learning Environment (IDLE). Based on " -":mod:`tkinter`." -msgstr "" - -#: ../../library/tkinter.rst:249 -msgid ":mod:`tkinter.constants`" -msgstr "" - -#: ../../library/tkinter.rst:250 -msgid "" -"Symbolic constants that can be used in place of strings when passing various" -" parameters to Tkinter calls. Automatically imported by the main " -":mod:`tkinter` module." -msgstr "" - -#: ../../library/tkinter.rst:254 -msgid ":mod:`tkinter.dnd`" -msgstr "" - -#: ../../library/tkinter.rst:255 -msgid "" -"(experimental) Drag-and-drop support for :mod:`tkinter`. This will become " -"deprecated when it is replaced with the Tk DND." -msgstr "" - -#: ../../library/tkinter.rst:258 -msgid ":mod:`turtle`" -msgstr "" - -#: ../../library/tkinter.rst:259 -msgid "Turtle graphics in a Tk window." -msgstr "" - -#: ../../library/tkinter.rst:263 -msgid "Tkinter Life Preserver" -msgstr "" - -#: ../../library/tkinter.rst:265 -msgid "" -"This section is not designed to be an exhaustive tutorial on either Tk or " -"Tkinter. For that, refer to one of the external resources noted earlier. " -"Instead, this section provides a very quick orientation to what a Tkinter " -"application looks like, identifies foundational Tk concepts, and explains " -"how the Tkinter wrapper is structured." -msgstr "" - -#: ../../library/tkinter.rst:271 -msgid "" -"The remainder of this section will help you to identify the classes, " -"methods, and options you'll need in your Tkinter application, and where to " -"find more detailed documentation on them, including in the official Tcl/Tk " -"reference manual." -msgstr "" - -#: ../../library/tkinter.rst:278 -msgid "A Hello World Program" -msgstr "" - -#: ../../library/tkinter.rst:280 -msgid "" -"We'll start by walking through a \"Hello World\" application in Tkinter. " -"This isn't the smallest one we could write, but has enough to illustrate " -"some key concepts you'll need to know." -msgstr "" - -#: ../../library/tkinter.rst:286 -msgid "" -"from tkinter import *\n" -"from tkinter import ttk\n" -"root = Tk()\n" -"frm = ttk.Frame(root, padding=10)\n" -"frm.grid()\n" -"ttk.Label(frm, text=\"Hello World!\").grid(column=0, row=0)\n" -"ttk.Button(frm, text=\"Quit\", command=root.destroy).grid(column=1, row=0)\n" -"root.mainloop()" -msgstr "" - -#: ../../library/tkinter.rst:296 -msgid "" -"After the imports, the next line creates an instance of the :class:`Tk` " -"class, which initializes Tk and creates its associated Tcl interpreter. It " -"also creates a toplevel window, known as the root window, which serves as " -"the main window of the application." -msgstr "" - -#: ../../library/tkinter.rst:301 -msgid "" -"The following line creates a frame widget, which in this case will contain a" -" label and a button we'll create next. The frame is fit inside the root " -"window." -msgstr "" - -#: ../../library/tkinter.rst:305 -msgid "" -"The next line creates a label widget holding a static text string. The " -":meth:`grid` method is used to specify the relative layout (position) of the" -" label within its containing frame widget, similar to how tables in HTML " -"work." -msgstr "" - -#: ../../library/tkinter.rst:309 -msgid "" -"A button widget is then created, and placed to the right of the label. When " -"pressed, it will call the :meth:`destroy` method of the root window." -msgstr "" - -#: ../../library/tkinter.rst:312 -msgid "" -"Finally, the :meth:`mainloop` method puts everything on the display, and " -"responds to user input until the program terminates." -msgstr "" - -#: ../../library/tkinter.rst:318 -msgid "Important Tk Concepts" -msgstr "" - -#: ../../library/tkinter.rst:320 -msgid "Even this simple program illustrates the following key Tk concepts:" -msgstr "" - -#: ../../library/tkinter.rst:322 -msgid "widgets" -msgstr "" - -#: ../../library/tkinter.rst:323 -msgid "" -"A Tkinter user interface is made up of individual *widgets*. Each widget is " -"represented as a Python object, instantiated from classes like " -":class:`ttk.Frame`, :class:`ttk.Label`, and :class:`ttk.Button`." -msgstr "" - -#: ../../library/tkinter.rst:327 -msgid "widget hierarchy" -msgstr "" - -#: ../../library/tkinter.rst:328 -msgid "" -"Widgets are arranged in a *hierarchy*. The label and button were contained " -"within a frame, which in turn was contained within the root window. When " -"creating each *child* widget, its *parent* widget is passed as the first " -"argument to the widget constructor." -msgstr "" - -#: ../../library/tkinter.rst:333 -msgid "configuration options" -msgstr "" - -#: ../../library/tkinter.rst:334 -msgid "" -"Widgets have *configuration options*, which modify their appearance and " -"behavior, such as the text to display in a label or button. Different " -"classes of widgets will have different sets of options." -msgstr "" - -#: ../../library/tkinter.rst:338 -msgid "geometry management" -msgstr "" - -#: ../../library/tkinter.rst:339 -msgid "" -"Widgets aren't automatically added to the user interface when they are " -"created. A *geometry manager* like ``grid`` controls where in the user " -"interface they are placed." -msgstr "" - -#: ../../library/tkinter.rst:343 -msgid "event loop" -msgstr "" - -#: ../../library/tkinter.rst:344 -msgid "" -"Tkinter reacts to user input, changes from your program, and even refreshes " -"the display only when actively running an *event loop*. If your program " -"isn't running the event loop, your user interface won't update." -msgstr "" - -#: ../../library/tkinter.rst:350 -msgid "Understanding How Tkinter Wraps Tcl/Tk" -msgstr "" - -#: ../../library/tkinter.rst:352 -msgid "" -"When your application uses Tkinter's classes and methods, internally Tkinter" -" is assembling strings representing Tcl/Tk commands, and executing those " -"commands in the Tcl interpreter attached to your application's :class:`Tk` " -"instance." -msgstr "" - -#: ../../library/tkinter.rst:357 -msgid "" -"Whether it's trying to navigate reference documentation, trying to find the " -"right method or option, adapting some existing code, or debugging your " -"Tkinter application, there are times that it will be useful to understand " -"what those underlying Tcl/Tk commands look like." -msgstr "" - -#: ../../library/tkinter.rst:362 -msgid "" -"To illustrate, here is the Tcl/Tk equivalent of the main part of the Tkinter" -" script above." -msgstr "" - -#: ../../library/tkinter.rst:367 -msgid "" -"ttk::frame .frm -padding 10\n" -"grid .frm\n" -"grid [ttk::label .frm.lbl -text \"Hello World!\"] -column 0 -row 0\n" -"grid [ttk::button .frm.btn -text \"Quit\" -command \"destroy .\"] -column 1 -row 0" -msgstr "" - -#: ../../library/tkinter.rst:373 -msgid "" -"Tcl's syntax is similar to many shell languages, where the first word is the" -" command to be executed, with arguments to that command following it, " -"separated by spaces. Without getting into too many details, notice the " -"following:" -msgstr "" - -#: ../../library/tkinter.rst:377 -msgid "" -"The commands used to create widgets (like ``ttk::frame``) correspond to " -"widget classes in Tkinter." -msgstr "" - -#: ../../library/tkinter.rst:380 -msgid "" -"Tcl widget options (like ``-text``) correspond to keyword arguments in " -"Tkinter." -msgstr "" - -#: ../../library/tkinter.rst:383 -msgid "" -"Widgets are referred to by a *pathname* in Tcl (like ``.frm.btn``), whereas " -"Tkinter doesn't use names but object references." -msgstr "" - -#: ../../library/tkinter.rst:386 -msgid "" -"A widget's place in the widget hierarchy is encoded in its (hierarchical) " -"pathname, which uses a ``.`` (dot) as a path separator. The pathname for the" -" root window is just ``.`` (dot). In Tkinter, the hierarchy is defined not " -"by pathname but by specifying the parent widget when creating each child " -"widget." -msgstr "" - -#: ../../library/tkinter.rst:392 -msgid "" -"Operations which are implemented as separate *commands* in Tcl (like " -"``grid`` or ``destroy``) are represented as *methods* on Tkinter widget " -"objects. As you'll see shortly, at other times Tcl uses what appear to be " -"method calls on widget objects, which more closely mirror what would is used" -" in Tkinter." -msgstr "" - -#: ../../library/tkinter.rst:400 -msgid "How do I...? What option does...?" -msgstr "" - -#: ../../library/tkinter.rst:402 -msgid "" -"If you're not sure how to do something in Tkinter, and you can't immediately" -" find it in the tutorial or reference documentation you're using, there are " -"a few strategies that can be helpful." -msgstr "" - -#: ../../library/tkinter.rst:406 -msgid "" -"First, remember that the details of how individual widgets work may vary " -"across different versions of both Tkinter and Tcl/Tk. If you're searching " -"documentation, make sure it corresponds to the Python and Tcl/Tk versions " -"installed on your system." -msgstr "" - -#: ../../library/tkinter.rst:411 -msgid "" -"When searching for how to use an API, it helps to know the exact name of the" -" class, option, or method that you're using. Introspection, either in an " -"interactive Python shell or with :func:`print`, can help you identify what " -"you need." -msgstr "" - -#: ../../library/tkinter.rst:416 -msgid "" -"To find out what configuration options are available on any widget, call its" -" :meth:`configure` method, which returns a dictionary containing a variety " -"of information about each object, including its default and current values. " -"Use :meth:`keys` to get just the names of each option." -msgstr "" - -#: ../../library/tkinter.rst:423 -msgid "" -"btn = ttk.Button(frm, ...)\n" -"print(btn.configure().keys())" -msgstr "" - -#: ../../library/tkinter.rst:426 -msgid "" -"As most widgets have many configuration options in common, it can be useful " -"to find out which are specific to a particular widget class. Comparing the " -"list of options to that of a simpler widget, like a frame, is one way to do " -"that." -msgstr "" - -#: ../../library/tkinter.rst:433 -msgid "print(set(btn.configure().keys()) - set(frm.configure().keys()))" -msgstr "" - -#: ../../library/tkinter.rst:435 -msgid "" -"Similarly, you can find the available methods for a widget object using the " -"standard :func:`dir` function. If you try it, you'll see there are over 200 " -"common widget methods, so again identifying those specific to a widget class" -" is helpful." -msgstr "" - -#: ../../library/tkinter.rst:442 -msgid "" -"print(dir(btn))\n" -"print(set(dir(btn)) - set(dir(frm)))" -msgstr "" - -#: ../../library/tkinter.rst:447 -msgid "Navigating the Tcl/Tk Reference Manual" -msgstr "" - -#: ../../library/tkinter.rst:449 -msgid "" -"As noted, the official `Tk commands " -"`_ reference manual (man " -"pages) is often the most accurate description of what specific operations on" -" widgets do. Even when you know the name of the option or method that you " -"need, you may still have a few places to look." -msgstr "" - -#: ../../library/tkinter.rst:454 -msgid "" -"While all operations in Tkinter are implemented as method calls on widget " -"objects, you've seen that many Tcl/Tk operations appear as commands that " -"take a widget pathname as its first parameter, followed by optional " -"parameters, e.g." -msgstr "" - -#: ../../library/tkinter.rst:461 -msgid "" -"destroy .\n" -"grid .frm.btn -column 0 -row 0" -msgstr "" - -#: ../../library/tkinter.rst:464 -msgid "" -"Others, however, look more like methods called on a widget object (in fact, " -"when you create a widget in Tcl/Tk, it creates a Tcl command with the name " -"of the widget pathname, with the first parameter to that command being the " -"name of a method to call)." -msgstr "" - -#: ../../library/tkinter.rst:471 -msgid "" -".frm.btn invoke\n" -".frm.lbl configure -text \"Goodbye\"" -msgstr "" - -#: ../../library/tkinter.rst:475 -msgid "" -"In the official Tcl/Tk reference documentation, you'll find most operations " -"that look like method calls on the man page for a specific widget (e.g., " -"you'll find the :meth:`invoke` method on the `ttk::button " -"`_ man page), while " -"functions that take a widget as a parameter often have their own man page " -"(e.g., `grid `_)." -msgstr "" - -#: ../../library/tkinter.rst:483 -msgid "" -"You'll find many common options and methods in the `options " -"`_ or `ttk::widget " -"`_ man pages, while " -"others are found in the man page for a specific widget class." -msgstr "" - -#: ../../library/tkinter.rst:488 -msgid "" -"You'll also find that many Tkinter methods have compound names, e.g., " -":func:`winfo_x`, :func:`winfo_height`, :func:`winfo_viewable`. You'd find " -"documentation for all of these in the `winfo " -"`_ man page." -msgstr "" - -#: ../../library/tkinter.rst:494 -msgid "" -"Somewhat confusingly, there are also methods on all Tkinter widgets that " -"don't actually operate on the widget, but operate at a global scope, " -"independent of any widget. Examples are methods for accessing the clipboard " -"or the system bell. (They happen to be implemented as methods in the base " -":class:`Widget` class that all Tkinter widgets inherit from)." -msgstr "" - -#: ../../library/tkinter.rst:503 -msgid "Threading model" -msgstr "" - -#: ../../library/tkinter.rst:505 -msgid "" -"Python and Tcl/Tk have very different threading models, which :mod:`tkinter`" -" tries to bridge. If you use threads, you may need to be aware of this." -msgstr "" - -#: ../../library/tkinter.rst:508 -msgid "" -"A Python interpreter may have many threads associated with it. In Tcl, " -"multiple threads can be created, but each thread has a separate Tcl " -"interpreter instance associated with it. Threads can also create more than " -"one interpreter instance, though each interpreter instance can be used only " -"by the one thread that created it." -msgstr "" - -#: ../../library/tkinter.rst:513 -msgid "" -"Each :class:`Tk` object created by :mod:`tkinter` contains a Tcl " -"interpreter. It also keeps track of which thread created that interpreter. " -"Calls to :mod:`tkinter` can be made from any Python thread. Internally, if a" -" call comes from a thread other than the one that created the :class:`Tk` " -"object, an event is posted to the interpreter's event queue, and when " -"executed, the result is returned to the calling Python thread." -msgstr "" - -#: ../../library/tkinter.rst:520 -msgid "" -"Tcl/Tk applications are normally event-driven, meaning that after " -"initialization, the interpreter runs an event loop (i.e. " -":func:`Tk.mainloop`) and responds to events. Because it is single-threaded, " -"event handlers must respond quickly, otherwise they will block other events " -"from being processed. To avoid this, any long-running computations should " -"not run in an event handler, but are either broken into smaller pieces using" -" timers, or run in another thread. This is different from many GUI toolkits " -"where the GUI runs in a completely separate thread from all application code" -" including event handlers." -msgstr "" - -#: ../../library/tkinter.rst:529 -msgid "" -"If the Tcl interpreter is not running the event loop and processing events, " -"any :mod:`tkinter` calls made from threads other than the one running the " -"Tcl interpreter will fail." -msgstr "" - -#: ../../library/tkinter.rst:533 -msgid "A number of special cases exist:" -msgstr "" - -#: ../../library/tkinter.rst:535 -msgid "" -"Tcl/Tk libraries can be built so they are not thread-aware. In this case, " -":mod:`tkinter` calls the library from the originating Python thread, even if" -" this is different than the thread that created the Tcl interpreter. A " -"global lock ensures only one call occurs at a time." -msgstr "" - -#: ../../library/tkinter.rst:540 -msgid "" -"While :mod:`tkinter` allows you to create more than one instance of a " -":class:`Tk` object (with its own interpreter), all interpreters that are " -"part of the same thread share a common event queue, which gets ugly fast. In" -" practice, don't create more than one instance of :class:`Tk` at a time. " -"Otherwise, it's best to create them in separate threads and ensure you're " -"running a thread-aware Tcl/Tk build." -msgstr "" - -#: ../../library/tkinter.rst:546 -msgid "" -"Blocking event handlers are not the only way to prevent the Tcl interpreter " -"from reentering the event loop. It is even possible to run multiple nested " -"event loops or abandon the event loop entirely. If you're doing anything " -"tricky when it comes to events or threads, be aware of these possibilities." -msgstr "" - -#: ../../library/tkinter.rst:551 -msgid "" -"There are a few select :mod:`tkinter` functions that presently work only " -"when called from the thread that created the Tcl interpreter." -msgstr "" - -#: ../../library/tkinter.rst:556 -msgid "Handy Reference" -msgstr "" - -#: ../../library/tkinter.rst:562 -msgid "Setting Options" -msgstr "" - -#: ../../library/tkinter.rst:564 -msgid "" -"Options control things like the color and border width of a widget. Options " -"can be set in three ways:" -msgstr "" - -#: ../../library/tkinter.rst:567 -msgid "At object creation time, using keyword arguments" -msgstr "" - -#: ../../library/tkinter.rst:570 -msgid "fred = Button(self, fg=\"red\", bg=\"blue\")" -msgstr "" - -#: ../../library/tkinter.rst:572 -msgid "" -"After object creation, treating the option name like a dictionary index" -msgstr "" - -#: ../../library/tkinter.rst:575 -msgid "" -"fred[\"fg\"] = \"red\"\n" -"fred[\"bg\"] = \"blue\"" -msgstr "" - -#: ../../library/tkinter.rst:578 -msgid "" -"Use the config() method to update multiple attrs subsequent to object " -"creation" -msgstr "" - -#: ../../library/tkinter.rst:581 -msgid "fred.config(fg=\"red\", bg=\"blue\")" -msgstr "" - -#: ../../library/tkinter.rst:583 -msgid "" -"For a complete explanation of a given option and its behavior, see the Tk " -"man pages for the widget in question." -msgstr "" - -#: ../../library/tkinter.rst:586 -msgid "" -"Note that the man pages list \"STANDARD OPTIONS\" and \"WIDGET SPECIFIC " -"OPTIONS\" for each widget. The former is a list of options that are common " -"to many widgets, the latter are the options that are idiosyncratic to that " -"particular widget. The Standard Options are documented on the " -":manpage:`options(3)` man page." -msgstr "" - -#: ../../library/tkinter.rst:592 -msgid "" -"No distinction between standard and widget-specific options is made in this " -"document. Some options don't apply to some kinds of widgets. Whether a " -"given widget responds to a particular option depends on the class of the " -"widget; buttons have a ``command`` option, labels do not." -msgstr "" - -#: ../../library/tkinter.rst:597 -msgid "" -"The options supported by a given widget are listed in that widget's man " -"page, or can be queried at runtime by calling the :meth:`config` method " -"without arguments, or by calling the :meth:`keys` method on that widget. " -"The return value of these calls is a dictionary whose key is the name of the" -" option as a string (for example, ``'relief'``) and whose values are " -"5-tuples." -msgstr "" - -#: ../../library/tkinter.rst:603 -msgid "" -"Some options, like ``bg`` are synonyms for common options with long names " -"(``bg`` is shorthand for \"background\"). Passing the ``config()`` method " -"the name of a shorthand option will return a 2-tuple, not 5-tuple. The " -"2-tuple passed back will contain the name of the synonym and the \"real\" " -"option (such as ``('bg', 'background')``)." -msgstr "" - -#: ../../library/tkinter.rst:610 -msgid "Index" -msgstr "Indeks" - -#: ../../library/tkinter.rst:610 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/tkinter.rst:610 -msgid "Example" -msgstr "Contoh" - -#: ../../library/tkinter.rst:612 -msgid "0" -msgstr "0" - -#: ../../library/tkinter.rst:612 -msgid "option name" -msgstr "nama opsi" - -#: ../../library/tkinter.rst:612 ../../library/tkinter.rst:614 -msgid "``'relief'``" -msgstr "" - -#: ../../library/tkinter.rst:614 -msgid "1" -msgstr "1" - -#: ../../library/tkinter.rst:614 -msgid "option name for database lookup" -msgstr "" - -#: ../../library/tkinter.rst:616 -msgid "2" -msgstr "2" - -#: ../../library/tkinter.rst:616 -msgid "option class for database lookup" -msgstr "" - -#: ../../library/tkinter.rst:616 -msgid "``'Relief'``" -msgstr "" - -#: ../../library/tkinter.rst:619 -msgid "3" -msgstr "3" - -#: ../../library/tkinter.rst:619 -msgid "default value" -msgstr "nilai bawaan" - -#: ../../library/tkinter.rst:619 -msgid "``'raised'``" -msgstr "" - -#: ../../library/tkinter.rst:621 -msgid "4" -msgstr "4" - -#: ../../library/tkinter.rst:621 -msgid "current value" -msgstr "" - -#: ../../library/tkinter.rst:621 -msgid "``'groove'``" -msgstr "" - -#: ../../library/tkinter.rst:624 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/tkinter.rst:626 -msgid "" -">>> print(fred.config())\n" -"{'relief': ('relief', 'relief', 'Relief', 'raised', 'groove')}" -msgstr "" - -#: ../../library/tkinter.rst:629 -msgid "" -"Of course, the dictionary printed will include all the options available and" -" their values. This is meant only as an example." -msgstr "" - -#: ../../library/tkinter.rst:634 -msgid "The Packer" -msgstr "" - -#: ../../library/tkinter.rst:638 -msgid "" -"The packer is one of Tk's geometry-management mechanisms. Geometry " -"managers are used to specify the relative positioning of widgets within " -"their container - their mutual *master*. In contrast to the more cumbersome" -" *placer* (which is used less commonly, and we do not cover here), the " -"packer takes qualitative relationship specification - *above*, *to the left " -"of*, *filling*, etc - and works everything out to determine the exact " -"placement coordinates for you." -msgstr "" - -#: ../../library/tkinter.rst:645 -msgid "" -"The size of any *master* widget is determined by the size of the \"slave " -"widgets\" inside. The packer is used to control where slave widgets appear " -"inside the master into which they are packed. You can pack widgets into " -"frames, and frames into other frames, in order to achieve the kind of layout" -" you desire. Additionally, the arrangement is dynamically adjusted to " -"accommodate incremental changes to the configuration, once it is packed." -msgstr "" - -#: ../../library/tkinter.rst:652 -msgid "" -"Note that widgets do not appear until they have had their geometry specified" -" with a geometry manager. It's a common early mistake to leave out the " -"geometry specification, and then be surprised when the widget is created but" -" nothing appears. A widget will appear only after it has had, for example, " -"the packer's :meth:`pack` method applied to it." -msgstr "" - -#: ../../library/tkinter.rst:658 -msgid "" -"The pack() method can be called with keyword-option/value pairs that control" -" where the widget is to appear within its container, and how it is to behave" -" when the main application window is resized. Here are some examples::" -msgstr "" - -#: ../../library/tkinter.rst:662 -msgid "" -"fred.pack() # defaults to side = \"top\"\n" -"fred.pack(side=\"left\")\n" -"fred.pack(expand=1)" -msgstr "" - -#: ../../library/tkinter.rst:668 -msgid "Packer Options" -msgstr "" - -#: ../../library/tkinter.rst:670 -msgid "" -"For more extensive information on the packer and the options that it can " -"take, see the man pages and page 183 of John Ousterhout's book." -msgstr "" - -#: ../../library/tkinter.rst:673 ../../library/tkinter.rst:792 -msgid "anchor" -msgstr "" - -#: ../../library/tkinter.rst:674 -msgid "" -"Anchor type. Denotes where the packer is to place each slave in its parcel." -msgstr "" - -#: ../../library/tkinter.rst:676 -msgid "expand" -msgstr "" - -#: ../../library/tkinter.rst:677 -msgid "Boolean, ``0`` or ``1``." -msgstr "" - -#: ../../library/tkinter.rst:679 -msgid "fill" -msgstr "fill" - -#: ../../library/tkinter.rst:680 -msgid "Legal values: ``'x'``, ``'y'``, ``'both'``, ``'none'``." -msgstr "" - -#: ../../library/tkinter.rst:682 -msgid "ipadx and ipady" -msgstr "" - -#: ../../library/tkinter.rst:683 -msgid "" -"A distance - designating internal padding on each side of the slave widget." -msgstr "" - -#: ../../library/tkinter.rst:685 -msgid "padx and pady" -msgstr "" - -#: ../../library/tkinter.rst:686 -msgid "" -"A distance - designating external padding on each side of the slave widget." -msgstr "" - -#: ../../library/tkinter.rst:688 -msgid "side" -msgstr "side" - -#: ../../library/tkinter.rst:689 -msgid "Legal values are: ``'left'``, ``'right'``, ``'top'``, ``'bottom'``." -msgstr "" - -#: ../../library/tkinter.rst:693 -msgid "Coupling Widget Variables" -msgstr "" - -#: ../../library/tkinter.rst:695 -msgid "" -"The current-value setting of some widgets (like text entry widgets) can be " -"connected directly to application variables by using special options. These" -" options are ``variable``, ``textvariable``, ``onvalue``, ``offvalue``, and " -"``value``. This connection works both ways: if the variable changes for any" -" reason, the widget it's connected to will be updated to reflect the new " -"value." -msgstr "" - -#: ../../library/tkinter.rst:701 -msgid "" -"Unfortunately, in the current implementation of :mod:`tkinter` it is not " -"possible to hand over an arbitrary Python variable to a widget through a " -"``variable`` or ``textvariable`` option. The only kinds of variables for " -"which this works are variables that are subclassed from a class called " -"Variable, defined in :mod:`tkinter`." -msgstr "" - -#: ../../library/tkinter.rst:707 -msgid "" -"There are many useful subclasses of Variable already defined: " -":class:`StringVar`, :class:`IntVar`, :class:`DoubleVar`, and " -":class:`BooleanVar`. To read the current value of such a variable, call the" -" :meth:`get` method on it, and to change its value you call the :meth:`!set`" -" method. If you follow this protocol, the widget will always track the " -"value of the variable, with no further intervention on your part." -msgstr "" - -#: ../../library/tkinter.rst:714 ../../library/tkinter.rst:894 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../library/tkinter.rst:716 -msgid "" -"import tkinter as tk\n" -"\n" -"class App(tk.Frame):\n" -" def __init__(self, master):\n" -" super().__init__(master)\n" -" self.pack()\n" -"\n" -" self.entrythingy = tk.Entry()\n" -" self.entrythingy.pack()\n" -"\n" -" # Create the application variable.\n" -" self.contents = tk.StringVar()\n" -" # Set it to some value.\n" -" self.contents.set(\"this is a variable\")\n" -" # Tell the entry widget to watch this variable.\n" -" self.entrythingy[\"textvariable\"] = self.contents\n" -"\n" -" # Define a callback for when the user hits return.\n" -" # It prints the current value of the variable.\n" -" self.entrythingy.bind('',\n" -" self.print_contents)\n" -"\n" -" def print_contents(self, event):\n" -" print(\"Hi. The current entry content is:\",\n" -" self.contents.get())\n" -"\n" -"root = tk.Tk()\n" -"myapp = App(root)\n" -"myapp.mainloop()" -msgstr "" - -#: ../../library/tkinter.rst:747 -msgid "The Window Manager" -msgstr "" - -#: ../../library/tkinter.rst:751 -msgid "" -"In Tk, there is a utility command, ``wm``, for interacting with the window " -"manager. Options to the ``wm`` command allow you to control things like " -"titles, placement, icon bitmaps, and the like. In :mod:`tkinter`, these " -"commands have been implemented as methods on the :class:`Wm` class. " -"Toplevel widgets are subclassed from the :class:`Wm` class, and so can call " -"the :class:`Wm` methods directly." -msgstr "" - -#: ../../library/tkinter.rst:758 -msgid "" -"To get at the toplevel window that contains a given widget, you can often " -"just refer to the widget's master. Of course if the widget has been packed " -"inside of a frame, the master won't represent a toplevel window. To get at " -"the toplevel window that contains an arbitrary widget, you can call the " -":meth:`_root` method. This method begins with an underscore to denote the " -"fact that this function is part of the implementation, and not an interface " -"to Tk functionality." -msgstr "" - -#: ../../library/tkinter.rst:765 -msgid "Here are some examples of typical usage::" -msgstr "" - -#: ../../library/tkinter.rst:767 -msgid "" -"import tkinter as tk\n" -"\n" -"class App(tk.Frame):\n" -" def __init__(self, master=None):\n" -" super().__init__(master)\n" -" self.pack()\n" -"\n" -"# create the application\n" -"myapp = App()\n" -"\n" -"#\n" -"# here are method calls to the window manager class\n" -"#\n" -"myapp.master.title(\"My Do-Nothing Application\")\n" -"myapp.master.maxsize(1000, 400)\n" -"\n" -"# start the program\n" -"myapp.mainloop()" -msgstr "" - -#: ../../library/tkinter.rst:788 ../../library/tkinter.rst:790 -msgid "Tk Option Data Types" -msgstr "" - -#: ../../library/tkinter.rst:793 -msgid "" -"Legal values are points of the compass: ``\"n\"``, ``\"ne\"``, ``\"e\"``, " -"``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, and also " -"``\"center\"``." -msgstr "" - -#: ../../library/tkinter.rst:796 -msgid "bitmap" -msgstr "" - -#: ../../library/tkinter.rst:797 -msgid "" -"There are eight built-in, named bitmaps: ``'error'``, ``'gray25'``, " -"``'gray50'``, ``'hourglass'``, ``'info'``, ``'questhead'``, ``'question'``, " -"``'warning'``. To specify an X bitmap filename, give the full path to the " -"file, preceded with an ``@``, as in ``\"@/usr/contrib/bitmap/gumby.bit\"``." -msgstr "" - -#: ../../library/tkinter.rst:802 -msgid "boolean" -msgstr "" - -#: ../../library/tkinter.rst:803 -msgid "You can pass integers 0 or 1 or the strings ``\"yes\"`` or ``\"no\"``." -msgstr "" - -#: ../../library/tkinter.rst:805 -msgid "callback" -msgstr "" - -#: ../../library/tkinter.rst:806 -msgid "This is any Python function that takes no arguments. For example::" -msgstr "" - -#: ../../library/tkinter.rst:808 -msgid "" -"def print_it():\n" -" print(\"hi there\")\n" -"fred[\"command\"] = print_it" -msgstr "" - -#: ../../library/tkinter.rst:812 -msgid "color" -msgstr "" - -#: ../../library/tkinter.rst:813 -msgid "" -"Colors can be given as the names of X colors in the rgb.txt file, or as " -"strings representing RGB values in 4 bit: ``\"#RGB\"``, 8 bit: " -"``\"#RRGGBB\"``, 12 bit: ``\"#RRRGGGBBB\"``, or 16 bit: " -"``\"#RRRRGGGGBBBB\"`` ranges, where R,G,B here represent any legal hex " -"digit. See page 160 of Ousterhout's book for details." -msgstr "" - -#: ../../library/tkinter.rst:818 -msgid "cursor" -msgstr "kursor" - -#: ../../library/tkinter.rst:819 -msgid "" -"The standard X cursor names from :file:`cursorfont.h` can be used, without " -"the ``XC_`` prefix. For example to get a hand cursor (:const:`XC_hand2`), " -"use the string ``\"hand2\"``. You can also specify a bitmap and mask file " -"of your own. See page 179 of Ousterhout's book." -msgstr "" - -#: ../../library/tkinter.rst:824 -msgid "distance" -msgstr "" - -#: ../../library/tkinter.rst:825 -msgid "" -"Screen distances can be specified in either pixels or absolute distances. " -"Pixels are given as numbers and absolute distances as strings, with the " -"trailing character denoting units: ``c`` for centimetres, ``i`` for inches, " -"``m`` for millimetres, ``p`` for printer's points. For example, 3.5 inches " -"is expressed as ``\"3.5i\"``." -msgstr "" - -#: ../../library/tkinter.rst:831 -msgid "font" -msgstr "font" - -#: ../../library/tkinter.rst:832 -msgid "" -"Tk uses a list font name format, such as ``{courier 10 bold}``. Font sizes " -"with positive numbers are measured in points; sizes with negative numbers " -"are measured in pixels." -msgstr "" - -#: ../../library/tkinter.rst:836 -msgid "geometry" -msgstr "" - -#: ../../library/tkinter.rst:837 -msgid "" -"This is a string of the form ``widthxheight``, where width and height are " -"measured in pixels for most widgets (in characters for widgets displaying " -"text). For example: ``fred[\"geometry\"] = \"200x100\"``." -msgstr "" - -#: ../../library/tkinter.rst:841 -msgid "justify" -msgstr "" - -#: ../../library/tkinter.rst:842 -msgid "" -"Legal values are the strings: ``\"left\"``, ``\"center\"``, ``\"right\"``, " -"and ``\"fill\"``." -msgstr "" - -#: ../../library/tkinter.rst:845 -msgid "region" -msgstr "" - -#: ../../library/tkinter.rst:846 -msgid "" -"This is a string with four space-delimited elements, each of which is a " -"legal distance (see above). For example: ``\"2 3 4 5\"`` and ``\"3i 2i 4.5i" -" 2i\"`` and ``\"3c 2c 4c 10.43c\"`` are all legal regions." -msgstr "" - -#: ../../library/tkinter.rst:850 -msgid "relief" -msgstr "" - -#: ../../library/tkinter.rst:851 -msgid "" -"Determines what the border style of a widget will be. Legal values are: " -"``\"raised\"``, ``\"sunken\"``, ``\"flat\"``, ``\"groove\"``, and " -"``\"ridge\"``." -msgstr "" - -#: ../../library/tkinter.rst:854 -msgid "scrollcommand" -msgstr "" - -#: ../../library/tkinter.rst:855 -msgid "" -"This is almost always the :meth:`!set` method of some scrollbar widget, but " -"can be any widget method that takes a single argument." -msgstr "" - -#: ../../library/tkinter.rst:858 -msgid "wrap" -msgstr "" - -#: ../../library/tkinter.rst:859 -msgid "Must be one of: ``\"none\"``, ``\"char\"``, or ``\"word\"``." -msgstr "" - -#: ../../library/tkinter.rst:864 -msgid "Bindings and Events" -msgstr "" - -#: ../../library/tkinter.rst:870 -msgid "" -"The bind method from the widget command allows you to watch for certain " -"events and to have a callback function trigger when that event type occurs." -" The form of the bind method is::" -msgstr "" - -#: ../../library/tkinter.rst:874 -msgid "def bind(self, sequence, func, add=''):" -msgstr "" - -#: ../../library/tkinter.rst:876 -msgid "where:" -msgstr "" - -#: ../../library/tkinter.rst:878 -msgid "sequence" -msgstr "urutan" - -#: ../../library/tkinter.rst:879 -msgid "" -"is a string that denotes the target kind of event. (See the " -":manpage:`bind(3tk)` man page, and page 201 of John Ousterhout's book, " -":title-reference:`Tcl and the Tk Toolkit (2nd edition)`, for details)." -msgstr "" - -#: ../../library/tkinter.rst:883 -msgid "func" -msgstr "func" - -#: ../../library/tkinter.rst:884 -msgid "" -"is a Python function, taking one argument, to be invoked when the event " -"occurs. An Event instance will be passed as the argument. (Functions " -"deployed this way are commonly known as *callbacks*.)" -msgstr "" - -#: ../../library/tkinter.rst:888 -msgid "add" -msgstr "add" - -#: ../../library/tkinter.rst:889 -msgid "" -"is optional, either ``''`` or ``'+'``. Passing an empty string denotes that" -" this binding is to replace any other bindings that this event is associated" -" with. Passing a ``'+'`` means that this function is to be added to the " -"list of functions bound to this event type." -msgstr "" - -#: ../../library/tkinter.rst:896 -msgid "" -"def turn_red(self, event):\n" -" event.widget[\"activeforeground\"] = \"red\"\n" -"\n" -"self.button.bind(\"\", self.turn_red)" -msgstr "" - -#: ../../library/tkinter.rst:901 -msgid "" -"Notice how the widget field of the event is being accessed in the " -"``turn_red()`` callback. This field contains the widget that caught the X " -"event. The following table lists the other event fields you can access, and" -" how they are denoted in Tk, which can be useful when referring to the Tk " -"man pages." -msgstr "" - -#: ../../library/tkinter.rst:907 -msgid "Tkinter Event Field" -msgstr "" - -#: ../../library/tkinter.rst:909 -msgid "%f" -msgstr "%f" - -#: ../../library/tkinter.rst:909 -msgid "focus" -msgstr "fokus" - -#: ../../library/tkinter.rst:909 -msgid "%A" -msgstr "%A" - -#: ../../library/tkinter.rst:909 -msgid "char" -msgstr "char" - -#: ../../library/tkinter.rst:911 -msgid "%h" -msgstr "%h" - -#: ../../library/tkinter.rst:911 -msgid "height" -msgstr "tinggi" - -#: ../../library/tkinter.rst:911 -msgid "%E" -msgstr "%E" - -#: ../../library/tkinter.rst:911 -msgid "send_event" -msgstr "" - -#: ../../library/tkinter.rst:913 -msgid "%k" -msgstr "%k" - -#: ../../library/tkinter.rst:913 -msgid "keycode" -msgstr "keycode" - -#: ../../library/tkinter.rst:913 -msgid "%K" -msgstr "%K" - -#: ../../library/tkinter.rst:913 -msgid "keysym" -msgstr "keysym" - -#: ../../library/tkinter.rst:915 -msgid "%s" -msgstr "%s" - -#: ../../library/tkinter.rst:915 -msgid "state" -msgstr "" - -#: ../../library/tkinter.rst:915 -msgid "%N" -msgstr "%N" - -#: ../../library/tkinter.rst:915 -msgid "keysym_num" -msgstr "keysym_num" - -#: ../../library/tkinter.rst:917 -msgid "%t" -msgstr "%t" - -#: ../../library/tkinter.rst:917 -msgid "time" -msgstr "time" - -#: ../../library/tkinter.rst:917 -msgid "%T" -msgstr "%T" - -#: ../../library/tkinter.rst:917 -msgid "type" -msgstr "tipe" - -#: ../../library/tkinter.rst:919 -msgid "%w" -msgstr "%w" - -#: ../../library/tkinter.rst:919 -msgid "width" -msgstr "lebar" - -#: ../../library/tkinter.rst:919 -msgid "%W" -msgstr "%W" - -#: ../../library/tkinter.rst:919 -msgid "widget" -msgstr "" - -#: ../../library/tkinter.rst:921 -msgid "%x" -msgstr "%x" - -#: ../../library/tkinter.rst:921 -msgid "x" -msgstr "x" - -#: ../../library/tkinter.rst:921 -msgid "%X" -msgstr "%X" - -#: ../../library/tkinter.rst:921 -msgid "x_root" -msgstr "x_root" - -#: ../../library/tkinter.rst:923 -msgid "%y" -msgstr "%y" - -#: ../../library/tkinter.rst:923 -msgid "y" -msgstr "y" - -#: ../../library/tkinter.rst:923 -msgid "%Y" -msgstr "%Y" - -#: ../../library/tkinter.rst:923 -msgid "y_root" -msgstr "y_root" - -#: ../../library/tkinter.rst:928 -msgid "The index Parameter" -msgstr "" - -#: ../../library/tkinter.rst:930 -msgid "" -"A number of widgets require \"index\" parameters to be passed. These are " -"used to point at a specific place in a Text widget, or to particular " -"characters in an Entry widget, or to particular menu items in a Menu widget." -msgstr "" - -#: ../../library/tkinter.rst:934 -msgid "Entry widget indexes (index, view index, etc.)" -msgstr "" - -#: ../../library/tkinter.rst:935 -msgid "" -"Entry widgets have options that refer to character positions in the text " -"being displayed. You can use these :mod:`tkinter` functions to access these" -" special points in text widgets:" -msgstr "" - -#: ../../library/tkinter.rst:939 -msgid "Text widget indexes" -msgstr "" - -#: ../../library/tkinter.rst:940 -msgid "" -"The index notation for Text widgets is very rich and is best described in " -"the Tk man pages." -msgstr "" - -#: ../../library/tkinter.rst:943 -msgid "Menu indexes (menu.invoke(), menu.entryconfig(), etc.)" -msgstr "" - -#: ../../library/tkinter.rst:944 -msgid "" -"Some options and methods for menus manipulate specific menu entries. Anytime" -" a menu index is needed for an option or a parameter, you may pass in:" -msgstr "" - -#: ../../library/tkinter.rst:947 -msgid "" -"an integer which refers to the numeric position of the entry in the widget, " -"counted from the top, starting with 0;" -msgstr "" - -#: ../../library/tkinter.rst:950 -msgid "" -"the string ``\"active\"``, which refers to the menu position that is " -"currently under the cursor;" -msgstr "" - -#: ../../library/tkinter.rst:953 -msgid "the string ``\"last\"`` which refers to the last menu item;" -msgstr "" - -#: ../../library/tkinter.rst:955 -msgid "" -"An integer preceded by ``@``, as in ``@6``, where the integer is interpreted" -" as a y pixel coordinate in the menu's coordinate system;" -msgstr "" - -#: ../../library/tkinter.rst:958 -msgid "" -"the string ``\"none\"``, which indicates no menu entry at all, most often " -"used with menu.activate() to deactivate all entries, and finally," -msgstr "" - -#: ../../library/tkinter.rst:961 -msgid "" -"a text string that is pattern matched against the label of the menu entry, " -"as scanned from the top of the menu to the bottom. Note that this index " -"type is considered after all the others, which means that matches for menu " -"items labelled ``last``, ``active``, or ``none`` may be interpreted as the " -"above literals, instead." -msgstr "" - -#: ../../library/tkinter.rst:969 -msgid "Images" -msgstr "" - -#: ../../library/tkinter.rst:971 -msgid "" -"Images of different formats can be created through the corresponding " -"subclass of :class:`tkinter.Image`:" -msgstr "" - -#: ../../library/tkinter.rst:974 -msgid ":class:`BitmapImage` for images in XBM format." -msgstr "" - -#: ../../library/tkinter.rst:976 -msgid "" -":class:`PhotoImage` for images in PGM, PPM, GIF and PNG formats. The latter " -"is supported starting with Tk 8.6." -msgstr "" - -#: ../../library/tkinter.rst:979 -msgid "" -"Either type of image is created through either the ``file`` or the ``data`` " -"option (other options are available as well)." -msgstr "" - -#: ../../library/tkinter.rst:982 -msgid "" -"Added the :class:`!PhotoImage` method :meth:`!copy_replace` to copy a region" -" from one image to other image, possibly with pixel zooming and/or " -"subsampling. Add *from_coords* parameter to :class:`!PhotoImage` methods " -":meth:`!copy`, :meth:`!zoom` and :meth:`!subsample`. Add *zoom* and " -"*subsample* parameters to :class:`!PhotoImage` method :meth:`!copy`." -msgstr "" - -#: ../../library/tkinter.rst:991 -msgid "" -"The image object can then be used wherever an ``image`` option is supported " -"by some widget (e.g. labels, buttons, menus). In these cases, Tk will not " -"keep a reference to the image. When the last Python reference to the image " -"object is deleted, the image data is deleted as well, and Tk will display an" -" empty box wherever the image was used." -msgstr "" - -#: ../../library/tkinter.rst:999 -msgid "" -"The `Pillow `_ package adds support for formats " -"such as BMP, JPEG, TIFF, and WebP, among others." -msgstr "" - -#: ../../library/tkinter.rst:1005 -msgid "File Handlers" -msgstr "" - -#: ../../library/tkinter.rst:1007 -msgid "" -"Tk allows you to register and unregister a callback function which will be " -"called from the Tk mainloop when I/O is possible on a file descriptor. Only " -"one handler may be registered per file descriptor. Example code::" -msgstr "" - -#: ../../library/tkinter.rst:1011 -msgid "" -"import tkinter\n" -"widget = tkinter.Tk()\n" -"mask = tkinter.READABLE | tkinter.WRITABLE\n" -"widget.tk.createfilehandler(file, mask, callback)\n" -"...\n" -"widget.tk.deletefilehandler(file)" -msgstr "" - -#: ../../library/tkinter.rst:1018 -msgid "This feature is not available on Windows." -msgstr "" - -#: ../../library/tkinter.rst:1020 -msgid "" -"Since you don't know how many bytes are available for reading, you may not " -"want to use the :class:`~io.BufferedIOBase` or :class:`~io.TextIOBase` " -":meth:`~io.BufferedIOBase.read` or :meth:`~io.IOBase.readline` methods, " -"since these will insist on reading a predefined number of bytes. For " -"sockets, the :meth:`~socket.socket.recv` or :meth:`~socket.socket.recvfrom` " -"methods will work fine; for other files, use raw reads or " -"``os.read(file.fileno(), maxbytecount)``." -msgstr "" - -#: ../../library/tkinter.rst:1031 -msgid "" -"Registers the file handler callback function *func*. The *file* argument may" -" either be an object with a :meth:`~io.IOBase.fileno` method (such as a file" -" or socket object), or an integer file descriptor. The *mask* argument is an" -" ORed combination of any of the three constants below. The callback is " -"called as follows::" -msgstr "" - -#: ../../library/tkinter.rst:1037 -msgid "callback(file, mask)" -msgstr "" - -#: ../../library/tkinter.rst:1042 -msgid "Unregisters a file handler." -msgstr "" - -#: ../../library/tkinter.rst:1049 -msgid "Constants used in the *mask* arguments." -msgstr "" - -#: ../../library/tkinter.rst:636 -msgid "packing (widgets)" -msgstr "" - -#: ../../library/tkinter.rst:749 -msgid "window manager (widgets)" -msgstr "" - -#: ../../library/tkinter.rst:866 -msgid "bind (widgets)" -msgstr "" - -#: ../../library/tkinter.rst:866 -msgid "events (widgets)" -msgstr "" diff --git a/python-newest.library--tkinter_colorchooser/id.po b/python-newest.library--tkinter_colorchooser/id.po deleted file mode 100644 index 89af0fe..0000000 --- a/python-newest.library--tkinter_colorchooser/id.po +++ /dev/null @@ -1,49 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tkinter.colorchooser.rst:2 -msgid ":mod:`!tkinter.colorchooser` --- Color choosing dialog" -msgstr "" - -#: ../../library/tkinter.colorchooser.rst:8 -msgid "**Source code:** :source:`Lib/tkinter/colorchooser.py`" -msgstr "" - -#: ../../library/tkinter.colorchooser.rst:12 -msgid "" -"The :mod:`tkinter.colorchooser` module provides the :class:`Chooser` class " -"as an interface to the native color picker dialog. ``Chooser`` implements a " -"modal color choosing dialog window. The ``Chooser`` class inherits from the " -":class:`~tkinter.commondialog.Dialog` class." -msgstr "" - -#: ../../library/tkinter.colorchooser.rst:21 -msgid "" -"Create a color choosing dialog. A call to this method will show the window, " -"wait for the user to make a selection, and return the selected color (or " -"``None``) to the caller." -msgstr "" - -#: ../../library/tkinter.colorchooser.rst:28 -msgid "Module :mod:`tkinter.commondialog`" -msgstr "" - -#: ../../library/tkinter.colorchooser.rst:29 -msgid "Tkinter standard dialog module" -msgstr "" diff --git a/python-newest.library--tkinter_dnd/id.po b/python-newest.library--tkinter_dnd/id.po deleted file mode 100644 index cd2f5e8..0000000 --- a/python-newest.library--tkinter_dnd/id.po +++ /dev/null @@ -1,113 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tkinter.dnd.rst:2 -msgid ":mod:`!tkinter.dnd` --- Drag and drop support" -msgstr "" - -#: ../../library/tkinter.dnd.rst:8 -msgid "**Source code:** :source:`Lib/tkinter/dnd.py`" -msgstr "" - -#: ../../library/tkinter.dnd.rst:12 -msgid "" -"This is experimental and due to be deprecated when it is replaced with the " -"Tk DND." -msgstr "" - -#: ../../library/tkinter.dnd.rst:15 -msgid "" -"The :mod:`tkinter.dnd` module provides drag-and-drop support for objects " -"within a single application, within the same window or between windows. To " -"enable an object to be dragged, you must create an event binding for it that" -" starts the drag-and-drop process. Typically, you bind a ButtonPress event " -"to a callback function that you write (see :ref:`Bindings-and-Events`). The " -"function should call :func:`dnd_start`, where 'source' is the object to be " -"dragged, and 'event' is the event that invoked the call (the argument to " -"your callback function)." -msgstr "" - -#: ../../library/tkinter.dnd.rst:23 -msgid "Selection of a target object occurs as follows:" -msgstr "" - -#: ../../library/tkinter.dnd.rst:25 -msgid "Top-down search of area under mouse for target widget" -msgstr "" - -#: ../../library/tkinter.dnd.rst:27 -msgid "Target widget should have a callable *dnd_accept* attribute" -msgstr "" - -#: ../../library/tkinter.dnd.rst:28 -msgid "" -"If *dnd_accept* is not present or returns ``None``, search moves to parent " -"widget" -msgstr "" - -#: ../../library/tkinter.dnd.rst:29 -msgid "If no target widget is found, then the target object is ``None``" -msgstr "" - -#: ../../library/tkinter.dnd.rst:31 -msgid "Call to *.dnd_leave(source, event)*" -msgstr "" - -#: ../../library/tkinter.dnd.rst:32 -msgid "Call to *.dnd_enter(source, event)*" -msgstr "" - -#: ../../library/tkinter.dnd.rst:33 -msgid "Call to *.dnd_commit(source, event)* to notify of drop" -msgstr "" - -#: ../../library/tkinter.dnd.rst:34 -msgid "" -"Call to *.dnd_end(target, event)* to signal end of drag-and-drop" -msgstr "" - -#: ../../library/tkinter.dnd.rst:39 -msgid "" -"The *DndHandler* class handles drag-and-drop events tracking Motion and " -"ButtonRelease events on the root of the event widget." -msgstr "" - -#: ../../library/tkinter.dnd.rst:44 -msgid "Cancel the drag-and-drop process." -msgstr "" - -#: ../../library/tkinter.dnd.rst:48 -msgid "Execute end of drag-and-drop functions." -msgstr "" - -#: ../../library/tkinter.dnd.rst:52 -msgid "Inspect area below mouse for target objects while drag is performed." -msgstr "" - -#: ../../library/tkinter.dnd.rst:56 -msgid "Signal end of drag when the release pattern is triggered." -msgstr "" - -#: ../../library/tkinter.dnd.rst:60 -msgid "Factory function for drag-and-drop process." -msgstr "" - -#: ../../library/tkinter.dnd.rst:64 -msgid ":ref:`Bindings-and-Events`" -msgstr "" diff --git a/python-newest.library--tkinter_font/id.po b/python-newest.library--tkinter_font/id.po deleted file mode 100644 index d04fec9..0000000 --- a/python-newest.library--tkinter_font/id.po +++ /dev/null @@ -1,168 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tkinter.font.rst:2 -msgid ":mod:`!tkinter.font` --- Tkinter font wrapper" -msgstr "" - -#: ../../library/tkinter.font.rst:8 -msgid "**Source code:** :source:`Lib/tkinter/font.py`" -msgstr "" - -#: ../../library/tkinter.font.rst:12 -msgid "" -"The :mod:`tkinter.font` module provides the :class:`Font` class for creating" -" and using named fonts." -msgstr "" - -#: ../../library/tkinter.font.rst:15 -msgid "The different font weights and slants are:" -msgstr "" - -#: ../../library/tkinter.font.rst:24 -msgid "" -"The :class:`Font` class represents a named font. *Font* instances are given " -"unique names and can be specified by their family, size, and style " -"configuration. Named fonts are Tk's method of creating and identifying fonts" -" as a single object, rather than specifying a font by its attributes with " -"each occurrence." -msgstr "" - -#: ../../library/tkinter.font.rst:30 -msgid "arguments:" -msgstr "" - -#: ../../library/tkinter.font.rst:0 -msgid "*font* - font specifier tuple (family, size, options)" -msgstr "" - -#: ../../library/tkinter.font.rst:0 -msgid "*name* - unique font name" -msgstr "" - -#: ../../library/tkinter.font.rst:0 -msgid "*exists* - self points to existing named font if true" -msgstr "" - -#: ../../library/tkinter.font.rst:36 -msgid "additional keyword options (ignored if *font* is specified):" -msgstr "" - -#: ../../library/tkinter.font.rst:0 -msgid "*family* - font family i.e. Courier, Times" -msgstr "" - -#: ../../library/tkinter.font.rst:0 -msgid "*size* - font size" -msgstr "" - -#: ../../library/tkinter.font.rst:0 -msgid "If *size* is positive it is interpreted as size in points." -msgstr "" - -#: ../../library/tkinter.font.rst:0 -msgid "If *size* is a negative number its absolute value is treated" -msgstr "" - -#: ../../library/tkinter.font.rst:0 -msgid "as size in pixels." -msgstr "" - -#: ../../library/tkinter.font.rst:0 -msgid "*weight* - font emphasis (NORMAL, BOLD)" -msgstr "" - -#: ../../library/tkinter.font.rst:0 -msgid "*slant* - ROMAN, ITALIC" -msgstr "" - -#: ../../library/tkinter.font.rst:0 -msgid "*underline* - font underlining (0 - none, 1 - underline)" -msgstr "" - -#: ../../library/tkinter.font.rst:0 -msgid "*overstrike* - font strikeout (0 - none, 1 - strikeout)" -msgstr "" - -#: ../../library/tkinter.font.rst:50 -msgid "Return the attributes of the font." -msgstr "" - -#: ../../library/tkinter.font.rst:54 -msgid "Retrieve an attribute of the font." -msgstr "" - -#: ../../library/tkinter.font.rst:58 -msgid "Modify attributes of the font." -msgstr "" - -#: ../../library/tkinter.font.rst:62 -msgid "Return new instance of the current font." -msgstr "" - -#: ../../library/tkinter.font.rst:66 -msgid "" -"Return amount of space the text would occupy on the specified display when " -"formatted in the current font. If no display is specified then the main " -"application window is assumed." -msgstr "" - -#: ../../library/tkinter.font.rst:72 -msgid "Return font-specific data. Options include:" -msgstr "" - -#: ../../library/tkinter.font.rst:75 -msgid "*ascent* - distance between baseline and highest point that a" -msgstr "" - -#: ../../library/tkinter.font.rst:76 ../../library/tkinter.font.rst:79 -msgid "character of the font can occupy" -msgstr "" - -#: ../../library/tkinter.font.rst:78 -msgid "*descent* - distance between baseline and lowest point that a" -msgstr "" - -#: ../../library/tkinter.font.rst:81 -msgid "*linespace* - minimum vertical separation necessary between any two" -msgstr "" - -#: ../../library/tkinter.font.rst:82 -msgid "characters of the font that ensures no vertical overlap between lines." -msgstr "" - -#: ../../library/tkinter.font.rst:84 -msgid "*fixed* - 1 if font is fixed-width else 0" -msgstr "" - -#: ../../library/tkinter.font.rst:88 -msgid "Return the different font families." -msgstr "" - -#: ../../library/tkinter.font.rst:92 -msgid "Return the names of defined fonts." -msgstr "" - -#: ../../library/tkinter.font.rst:96 -msgid "Return a :class:`Font` representation of a tk named font." -msgstr "" - -#: ../../library/tkinter.font.rst:98 -msgid "The *root* parameter was added." -msgstr "" diff --git a/python-newest.library--tkinter_messagebox/id.po b/python-newest.library--tkinter_messagebox/id.po deleted file mode 100644 index 2716072..0000000 --- a/python-newest.library--tkinter_messagebox/id.po +++ /dev/null @@ -1,246 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tkinter.messagebox.rst:2 -msgid ":mod:`!tkinter.messagebox` --- Tkinter message prompts" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:8 -msgid "**Source code:** :source:`Lib/tkinter/messagebox.py`" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:12 -msgid "" -"The :mod:`tkinter.messagebox` module provides a template base class as well " -"as a variety of convenience methods for commonly used configurations. The " -"message boxes are modal and will return a subset of (``True``, ``False``, " -"``None``, :data:`OK`, :data:`CANCEL`, :data:`YES`, :data:`NO`) based on the " -"user's selection. Common message box styles and layouts include but are not " -"limited to:" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:23 -msgid "" -"Create a message window with an application-specified message, an icon and a" -" set of buttons. Each of the buttons in the message window is identified by " -"a unique symbolic name (see the *type* options)." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:27 -msgid "The following options are supported:" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:29 -msgid "*command*" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:30 -msgid "" -"Specifies the function to invoke when the user closes the dialog. The name " -"of the button clicked by the user to close the dialog is passed as argument." -" This is only available on macOS." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:35 -msgid "*default*" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:36 -msgid "" -"Gives the :ref:`symbolic name ` of the default button " -"for this message window (:data:`OK`, :data:`CANCEL`, and so on). If this " -"option is not specified, the first button in the dialog will be made the " -"default." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:41 -msgid "*detail*" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:42 -msgid "" -"Specifies an auxiliary message to the main message given by the *message* " -"option. The message detail will be presented beneath the main message and, " -"where supported by the OS, in a less emphasized font than the main message." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:48 -msgid "*icon*" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:49 -msgid "" -"Specifies an :ref:`icon ` to display. If this option is " -"not specified, then the :data:`INFO` icon will be displayed." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:53 -msgid "*message*" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:54 -msgid "" -"Specifies the message to display in this message box. The default value is " -"an empty string." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:57 -msgid "*parent*" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:58 -msgid "" -"Makes the specified window the logical parent of the message box. The " -"message box is displayed on top of its parent window." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:61 -msgid "*title*" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:62 -msgid "" -"Specifies a string to display as the title of the message box. This option " -"is ignored on macOS, where platform guidelines forbid the use of a title on " -"this kind of dialog." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:66 -msgid "*type*" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:67 -msgid "" -"Arranges for a :ref:`predefined set of buttons ` to be " -"displayed." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:72 -msgid "" -"Display a message window and wait for the user to select one of the buttons." -" Then return the symbolic name of the selected button. Keyword arguments can" -" override options specified in the constructor." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:76 -msgid "**Information message box**" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:80 -msgid "" -"Creates and displays an information message box with the specified title and" -" message." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:83 -msgid "**Warning message boxes**" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:87 -msgid "" -"Creates and displays a warning message box with the specified title and " -"message." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:92 -msgid "" -"Creates and displays an error message box with the specified title and " -"message." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:95 -msgid "**Question message boxes**" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:99 -msgid "" -"Ask a question. By default shows buttons :data:`YES` and :data:`NO`. Returns" -" the symbolic name of the selected button." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:104 -msgid "" -"Ask if operation should proceed. Shows buttons :data:`OK` and " -":data:`CANCEL`. Returns ``True`` if the answer is ok and ``False`` " -"otherwise." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:109 -msgid "" -"Ask if operation should be retried. Shows buttons :data:`RETRY` and " -":data:`CANCEL`. Return ``True`` if the answer is yes and ``False`` " -"otherwise." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:114 -msgid "" -"Ask a question. Shows buttons :data:`YES` and :data:`NO`. Returns ``True`` " -"if the answer is yes and ``False`` otherwise." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:119 -msgid "" -"Ask a question. Shows buttons :data:`YES`, :data:`NO` and :data:`CANCEL`. " -"Return ``True`` if the answer is yes, ``None`` if cancelled, and ``False`` " -"otherwise." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:126 -msgid "Symbolic names of buttons:" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:145 -msgid "Predefined sets of buttons:" -msgstr "" - -#: ../../library/tkinter.messagebox.rst:150 -msgid "" -"Displays three buttons whose symbolic names are :data:`ABORT`, :data:`RETRY`" -" and :data:`IGNORE`." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:157 -msgid "Displays one button whose symbolic name is :data:`OK`." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:162 -msgid "" -"Displays two buttons whose symbolic names are :data:`OK` and :data:`CANCEL`." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:168 -msgid "" -"Displays two buttons whose symbolic names are :data:`RETRY` and " -":data:`CANCEL`." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:174 -msgid "" -"Displays two buttons whose symbolic names are :data:`YES` and :data:`NO`." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:180 -msgid "" -"Displays three buttons whose symbolic names are :data:`YES`, :data:`NO` and " -":data:`CANCEL`." -msgstr "" - -#: ../../library/tkinter.messagebox.rst:185 -msgid "Icon images:" -msgstr "" diff --git a/python-newest.library--tkinter_scrolledtext/id.po b/python-newest.library--tkinter_scrolledtext/id.po deleted file mode 100644 index d31ee6e..0000000 --- a/python-newest.library--tkinter_scrolledtext/id.po +++ /dev/null @@ -1,57 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tkinter.scrolledtext.rst:2 -msgid ":mod:`!tkinter.scrolledtext` --- Scrolled Text Widget" -msgstr "" - -#: ../../library/tkinter.scrolledtext.rst:10 -msgid "**Source code:** :source:`Lib/tkinter/scrolledtext.py`" -msgstr "" - -#: ../../library/tkinter.scrolledtext.rst:14 -msgid "" -"The :mod:`tkinter.scrolledtext` module provides a class of the same name " -"which implements a basic text widget which has a vertical scroll bar " -"configured to do the \"right thing.\" Using the :class:`ScrolledText` class" -" is a lot easier than setting up a text widget and scroll bar directly." -msgstr "" - -#: ../../library/tkinter.scrolledtext.rst:19 -msgid "" -"The text widget and scrollbar are packed together in a :class:`Frame`, and " -"the methods of the :class:`Grid` and :class:`Pack` geometry managers are " -"acquired from the :class:`Frame` object. This allows the " -":class:`ScrolledText` widget to be used directly to achieve most normal " -"geometry management behavior." -msgstr "" - -#: ../../library/tkinter.scrolledtext.rst:24 -msgid "" -"Should more specific control be necessary, the following attributes are " -"available:" -msgstr "" - -#: ../../library/tkinter.scrolledtext.rst:32 -msgid "The frame which surrounds the text and scroll bar widgets." -msgstr "" - -#: ../../library/tkinter.scrolledtext.rst:37 -msgid "The scroll bar widget." -msgstr "" diff --git a/python-newest.library--tkinter_ttk/id.po b/python-newest.library--tkinter_ttk/id.po deleted file mode 100644 index 523a595..0000000 --- a/python-newest.library--tkinter_ttk/id.po +++ /dev/null @@ -1,2365 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tkinter.ttk.rst:2 -msgid ":mod:`!tkinter.ttk` --- Tk themed widgets" -msgstr "" - -#: ../../library/tkinter.ttk.rst:9 -msgid "**Source code:** :source:`Lib/tkinter/ttk.py`" -msgstr "" - -#: ../../library/tkinter.ttk.rst:15 -msgid "" -"The :mod:`tkinter.ttk` module provides access to the Tk themed widget set, " -"introduced in Tk 8.5. It provides additional benefits including anti-aliased" -" font rendering under X11 and window transparency (requiring a composition " -"window manager on X11)." -msgstr "" - -#: ../../library/tkinter.ttk.rst:20 -msgid "" -"The basic idea for :mod:`tkinter.ttk` is to separate, to the extent " -"possible, the code implementing a widget's behavior from the code " -"implementing its appearance." -msgstr "" - -#: ../../library/tkinter.ttk.rst:27 -msgid "" -"`Tk Widget Styling Support `_" -msgstr "" - -#: ../../library/tkinter.ttk.rst:28 -msgid "A document introducing theming support for Tk" -msgstr "" - -#: ../../library/tkinter.ttk.rst:32 -msgid "Using Ttk" -msgstr "Menggunakan Ttk" - -#: ../../library/tkinter.ttk.rst:34 -msgid "To start using Ttk, import its module::" -msgstr "" - -#: ../../library/tkinter.ttk.rst:36 -msgid "from tkinter import ttk" -msgstr "" - -#: ../../library/tkinter.ttk.rst:38 -msgid "" -"To override the basic Tk widgets, the import should follow the Tk import::" -msgstr "" - -#: ../../library/tkinter.ttk.rst:40 -msgid "" -"from tkinter import *\n" -"from tkinter.ttk import *" -msgstr "" - -#: ../../library/tkinter.ttk.rst:43 -msgid "" -"That code causes several :mod:`tkinter.ttk` widgets (:class:`Button`, " -":class:`Checkbutton`, :class:`Entry`, :class:`Frame`, :class:`Label`, " -":class:`LabelFrame`, :class:`Menubutton`, :class:`PanedWindow`, " -":class:`Radiobutton`, :class:`Scale` and :class:`Scrollbar`) to " -"automatically replace the Tk widgets." -msgstr "" - -#: ../../library/tkinter.ttk.rst:49 -msgid "" -"This has the direct benefit of using the new widgets which gives a better " -"look and feel across platforms; however, the replacement widgets are not " -"completely compatible. The main difference is that widget options such as " -"\"fg\", \"bg\" and others related to widget styling are no longer present in" -" Ttk widgets. Instead, use the :class:`ttk.Style` class for improved " -"styling effects." -msgstr "" - -#: ../../library/tkinter.ttk.rst:59 -msgid "" -"`Converting existing applications to use Tile widgets " -"`_" -msgstr "" - -#: ../../library/tkinter.ttk.rst:60 -msgid "" -"A monograph (using Tcl terminology) about differences typically encountered " -"when moving applications to use the new widgets." -msgstr "" - -#: ../../library/tkinter.ttk.rst:65 -msgid "Ttk Widgets" -msgstr "" - -#: ../../library/tkinter.ttk.rst:67 -msgid "" -"Ttk comes with 18 widgets, twelve of which already existed in tkinter: " -":class:`Button`, :class:`Checkbutton`, :class:`Entry`, :class:`Frame`, " -":class:`Label`, :class:`LabelFrame`, :class:`Menubutton`, " -":class:`PanedWindow`, :class:`Radiobutton`, :class:`Scale`, " -":class:`Scrollbar`, and :class:`Spinbox`. The other six are new: " -":class:`Combobox`, :class:`Notebook`, :class:`Progressbar`, " -":class:`Separator`, :class:`Sizegrip` and :class:`Treeview`. And all them " -"are subclasses of :class:`Widget`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:75 -msgid "" -"Using the Ttk widgets gives the application an improved look and feel. As " -"discussed above, there are differences in how the styling is coded." -msgstr "" - -#: ../../library/tkinter.ttk.rst:78 -msgid "Tk code::" -msgstr "kode Tk::" - -#: ../../library/tkinter.ttk.rst:80 -msgid "" -"l1 = tkinter.Label(text=\"Test\", fg=\"black\", bg=\"white\")\n" -"l2 = tkinter.Label(text=\"Test\", fg=\"black\", bg=\"white\")" -msgstr "" - -#: ../../library/tkinter.ttk.rst:84 -msgid "Ttk code::" -msgstr "kode Ttk::" - -#: ../../library/tkinter.ttk.rst:86 -msgid "" -"style = ttk.Style()\n" -"style.configure(\"BW.TLabel\", foreground=\"black\", background=\"white\")\n" -"\n" -"l1 = ttk.Label(text=\"Test\", style=\"BW.TLabel\")\n" -"l2 = ttk.Label(text=\"Test\", style=\"BW.TLabel\")" -msgstr "" - -#: ../../library/tkinter.ttk.rst:92 -msgid "" -"For more information about TtkStyling_, see the :class:`Style` class " -"documentation." -msgstr "" - -#: ../../library/tkinter.ttk.rst:96 -msgid "Widget" -msgstr "" - -#: ../../library/tkinter.ttk.rst:98 -msgid "" -":class:`ttk.Widget` defines standard options and methods supported by Tk " -"themed widgets and is not supposed to be directly instantiated." -msgstr "" - -#: ../../library/tkinter.ttk.rst:103 -msgid "Standard Options" -msgstr "Opsi Standar" - -#: ../../library/tkinter.ttk.rst:105 -msgid "All the :mod:`ttk` Widgets accept the following options:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:110 ../../library/tkinter.ttk.rst:145 -#: ../../library/tkinter.ttk.rst:171 ../../library/tkinter.ttk.rst:214 -#: ../../library/tkinter.ttk.rst:317 ../../library/tkinter.ttk.rst:403 -#: ../../library/tkinter.ttk.rst:479 ../../library/tkinter.ttk.rst:505 -#: ../../library/tkinter.ttk.rst:669 ../../library/tkinter.ttk.rst:740 -#: ../../library/tkinter.ttk.rst:808 ../../library/tkinter.ttk.rst:859 -#: ../../library/tkinter.ttk.rst:887 -msgid "Option" -msgstr "Opsi" - -#: ../../library/tkinter.ttk.rst:110 ../../library/tkinter.ttk.rst:145 -#: ../../library/tkinter.ttk.rst:171 ../../library/tkinter.ttk.rst:214 -#: ../../library/tkinter.ttk.rst:230 ../../library/tkinter.ttk.rst:317 -#: ../../library/tkinter.ttk.rst:403 ../../library/tkinter.ttk.rst:479 -#: ../../library/tkinter.ttk.rst:505 ../../library/tkinter.ttk.rst:669 -#: ../../library/tkinter.ttk.rst:740 ../../library/tkinter.ttk.rst:808 -#: ../../library/tkinter.ttk.rst:859 ../../library/tkinter.ttk.rst:887 -#: ../../library/tkinter.ttk.rst:932 -msgid "Description" -msgstr "Deskripsi" - -#: ../../library/tkinter.ttk.rst:112 -msgid "class" -msgstr "kelas" - -#: ../../library/tkinter.ttk.rst:112 -msgid "" -"Specifies the window class. The class is used when querying the option " -"database for the window's other options, to determine the default bindtags " -"for the window, and to select the widget's default layout and style. This " -"option is read-only, and may only be specified when the window is created." -msgstr "" - -#: ../../library/tkinter.ttk.rst:119 -msgid "cursor" -msgstr "kursor" - -#: ../../library/tkinter.ttk.rst:119 -msgid "" -"Specifies the mouse cursor to be used for the widget. If set to the empty " -"string (the default), the cursor is inherited for the parent widget." -msgstr "" - -#: ../../library/tkinter.ttk.rst:123 -msgid "takefocus" -msgstr "" - -#: ../../library/tkinter.ttk.rst:123 -msgid "" -"Determines whether the window accepts the focus during keyboard traversal. " -"0, 1 or an empty string is returned. If 0 is returned, it means that the " -"window should be skipped entirely during keyboard traversal. If 1, it means " -"that the window should receive the input focus as long as it is viewable. " -"And an empty string means that the traversal scripts make the decision about" -" whether or not to focus on the window." -msgstr "" - -#: ../../library/tkinter.ttk.rst:132 -msgid "style" -msgstr "gaya" - -#: ../../library/tkinter.ttk.rst:132 -msgid "May be used to specify a custom widget style." -msgstr "" - -#: ../../library/tkinter.ttk.rst:137 -msgid "Scrollable Widget Options" -msgstr "" - -#: ../../library/tkinter.ttk.rst:139 -msgid "" -"The following options are supported by widgets that are controlled by a " -"scrollbar." -msgstr "" - -#: ../../library/tkinter.ttk.rst:147 -msgid "xscrollcommand" -msgstr "" - -#: ../../library/tkinter.ttk.rst:147 -msgid "Used to communicate with horizontal scrollbars." -msgstr "" - -#: ../../library/tkinter.ttk.rst:149 -msgid "" -"When the view in the widget's window change, the widget will generate a Tcl " -"command based on the scrollcommand." -msgstr "" - -#: ../../library/tkinter.ttk.rst:152 -msgid "" -"Usually this option consists of the method :meth:`Scrollbar.set` of some " -"scrollbar. This will cause the scrollbar to be updated whenever the view in " -"the window changes." -msgstr "" - -#: ../../library/tkinter.ttk.rst:157 -msgid "yscrollcommand" -msgstr "" - -#: ../../library/tkinter.ttk.rst:157 -msgid "" -"Used to communicate with vertical scrollbars. For some more information, see" -" above." -msgstr "" - -#: ../../library/tkinter.ttk.rst:163 -msgid "Label Options" -msgstr "" - -#: ../../library/tkinter.ttk.rst:165 -msgid "" -"The following options are supported by labels, buttons and other button-like" -" widgets." -msgstr "" - -#: ../../library/tkinter.ttk.rst:173 ../../library/tkinter.ttk.rst:521 -#: ../../library/tkinter.ttk.rst:861 -msgid "text" -msgstr "teks" - -#: ../../library/tkinter.ttk.rst:173 -msgid "Specifies a text string to be displayed inside the widget." -msgstr "" - -#: ../../library/tkinter.ttk.rst:175 ../../library/tkinter.ttk.rst:339 -msgid "textvariable" -msgstr "" - -#: ../../library/tkinter.ttk.rst:175 -msgid "" -"Specifies a name whose value will be used in place of the text option " -"resource." -msgstr "" - -#: ../../library/tkinter.ttk.rst:178 ../../library/tkinter.ttk.rst:530 -msgid "underline" -msgstr "" - -#: ../../library/tkinter.ttk.rst:178 -msgid "" -"If set, specifies the index (0-based) of a character to underline in the " -"text string. The underline character is used for mnemonic activation." -msgstr "" - -#: ../../library/tkinter.ttk.rst:182 ../../library/tkinter.ttk.rst:523 -#: ../../library/tkinter.ttk.rst:863 ../../library/tkinter.ttk.rst:895 -msgid "image" -msgstr "gambar" - -#: ../../library/tkinter.ttk.rst:182 -msgid "" -"Specifies an image to display. This is a list of 1 or more elements. The " -"first element is the default image name. The rest of the list if a sequence " -"of statespec/value pairs as defined by :meth:`Style.map`, specifying " -"different images to use when the widget is in a particular state or a " -"combination of states. All images in the list should have the same size." -msgstr "" - -#: ../../library/tkinter.ttk.rst:190 ../../library/tkinter.ttk.rst:526 -msgid "compound" -msgstr "gabungan" - -#: ../../library/tkinter.ttk.rst:190 -msgid "" -"Specifies how to display the image relative to the text, in the case both " -"text and images options are present. Valid values are:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:194 -msgid "text: display text only" -msgstr "teks: menampilkan teks saja" - -#: ../../library/tkinter.ttk.rst:195 -msgid "image: display image only" -msgstr "gambar: menampilkan gambar saja" - -#: ../../library/tkinter.ttk.rst:196 -msgid "" -"top, bottom, left, right: display image above, below, left of, or right of " -"the text, respectively." -msgstr "" - -#: ../../library/tkinter.ttk.rst:198 -msgid "none: the default. display the image if present, otherwise the text." -msgstr "" - -#: ../../library/tkinter.ttk.rst:201 ../../library/tkinter.ttk.rst:347 -#: ../../library/tkinter.ttk.rst:491 -msgid "width" -msgstr "lebar" - -#: ../../library/tkinter.ttk.rst:201 -msgid "" -"If greater than zero, specifies how much space, in character widths, to " -"allocate for the text label, if less than zero, specifies a minimum width. " -"If zero or unspecified, the natural width of the text label is used." -msgstr "" - -#: ../../library/tkinter.ttk.rst:209 -msgid "Compatibility Options" -msgstr "" - -#: ../../library/tkinter.ttk.rst:216 ../../library/tkinter.ttk.rst:332 -#: ../../library/tkinter.ttk.rst:507 -msgid "state" -msgstr "" - -#: ../../library/tkinter.ttk.rst:216 -msgid "" -"May be set to \"normal\" or \"disabled\" to control the \"disabled\" state " -"bit. This is a write-only option: setting it changes the widget state, but " -"the :meth:`Widget.state` method does not affect this option." -msgstr "" - -#: ../../library/tkinter.ttk.rst:223 -msgid "Widget States" -msgstr "" - -#: ../../library/tkinter.ttk.rst:225 -msgid "The widget state is a bitmap of independent state flags." -msgstr "" - -#: ../../library/tkinter.ttk.rst:230 -msgid "Flag" -msgstr "Penanda" - -#: ../../library/tkinter.ttk.rst:232 -msgid "active" -msgstr "aktif" - -#: ../../library/tkinter.ttk.rst:232 -msgid "" -"The mouse cursor is over the widget and pressing a mouse button will cause " -"some action to occur" -msgstr "" - -#: ../../library/tkinter.ttk.rst:235 -msgid "disabled" -msgstr "" - -#: ../../library/tkinter.ttk.rst:235 -msgid "Widget is disabled under program control" -msgstr "" - -#: ../../library/tkinter.ttk.rst:237 -msgid "focus" -msgstr "fokus" - -#: ../../library/tkinter.ttk.rst:237 -msgid "Widget has keyboard focus" -msgstr "" - -#: ../../library/tkinter.ttk.rst:239 -msgid "pressed" -msgstr "" - -#: ../../library/tkinter.ttk.rst:239 -msgid "Widget is being pressed" -msgstr "" - -#: ../../library/tkinter.ttk.rst:241 -msgid "selected" -msgstr "" - -#: ../../library/tkinter.ttk.rst:241 -msgid "\"On\", \"true\", or \"current\" for things like Checkbuttons and radiobuttons" -msgstr "" - -#: ../../library/tkinter.ttk.rst:244 ../../library/tkinter.ttk.rst:891 -msgid "background" -msgstr "latar belakang" - -#: ../../library/tkinter.ttk.rst:244 -msgid "" -"Windows and Mac have a notion of an \"active\" or foreground window. The " -"*background* state is set for widgets in a background window, and cleared " -"for those in the foreground window" -msgstr "" - -#: ../../library/tkinter.ttk.rst:249 -msgid "readonly" -msgstr "baca saja" - -#: ../../library/tkinter.ttk.rst:249 -msgid "Widget should not allow user modification" -msgstr "" - -#: ../../library/tkinter.ttk.rst:251 -msgid "alternate" -msgstr "" - -#: ../../library/tkinter.ttk.rst:251 -msgid "A widget-specific alternate display format" -msgstr "" - -#: ../../library/tkinter.ttk.rst:253 -msgid "invalid" -msgstr "tidak valid" - -#: ../../library/tkinter.ttk.rst:253 -msgid "The widget's value is invalid" -msgstr "" - -#: ../../library/tkinter.ttk.rst:256 -msgid "" -"A state specification is a sequence of state names, optionally prefixed with" -" an exclamation point indicating that the bit is off." -msgstr "" - -#: ../../library/tkinter.ttk.rst:261 -msgid "ttk.Widget" -msgstr "" - -#: ../../library/tkinter.ttk.rst:263 -msgid "" -"Besides the methods described below, the :class:`ttk.Widget` supports the " -"methods :meth:`tkinter.Widget.cget` and :meth:`tkinter.Widget.configure`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:270 -msgid "" -"Returns the name of the element at position *x* *y*, or the empty string if " -"the point does not lie within any element." -msgstr "" - -#: ../../library/tkinter.ttk.rst:273 -msgid "*x* and *y* are pixel coordinates relative to the widget." -msgstr "" - -#: ../../library/tkinter.ttk.rst:278 -msgid "" -"Test the widget's state. If a callback is not specified, returns ``True`` if" -" the widget state matches *statespec* and ``False`` otherwise. If callback " -"is specified then it is called with args if widget state matches " -"*statespec*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:286 -msgid "" -"Modify or inquire widget state. If *statespec* is specified, sets the widget" -" state according to it and return a new *statespec* indicating which flags " -"were changed. If *statespec* is not specified, returns the currently enabled" -" state flags." -msgstr "" - -#: ../../library/tkinter.ttk.rst:291 -msgid "*statespec* will usually be a list or a tuple." -msgstr "" - -#: ../../library/tkinter.ttk.rst:295 -msgid "Combobox" -msgstr "" - -#: ../../library/tkinter.ttk.rst:297 -msgid "" -"The :class:`ttk.Combobox` widget combines a text field with a pop-down list " -"of values. This widget is a subclass of :class:`Entry`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:300 -msgid "" -"Besides the methods inherited from :class:`Widget`: :meth:`Widget.cget`, " -":meth:`Widget.configure`, :meth:`Widget.identify`, :meth:`Widget.instate` " -"and :meth:`Widget.state`, and the following inherited from :class:`Entry`: " -":meth:`Entry.bbox`, :meth:`Entry.delete`, :meth:`Entry.icursor`, " -":meth:`Entry.index`, :meth:`Entry.insert`, :meth:`Entry.selection`, " -":meth:`Entry.xview`, it has some other methods, described at " -":class:`ttk.Combobox`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:310 ../../library/tkinter.ttk.rst:396 -#: ../../library/tkinter.ttk.rst:472 ../../library/tkinter.ttk.rst:662 -#: ../../library/tkinter.ttk.rst:733 ../../library/tkinter.ttk.rst:801 -msgid "Options" -msgstr "Opsi" - -#: ../../library/tkinter.ttk.rst:312 ../../library/tkinter.ttk.rst:398 -#: ../../library/tkinter.ttk.rst:474 ../../library/tkinter.ttk.rst:664 -#: ../../library/tkinter.ttk.rst:803 -msgid "This widget accepts the following specific options:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:319 -msgid "exportselection" -msgstr "" - -#: ../../library/tkinter.ttk.rst:319 -msgid "" -"Boolean value. If set, the widget selection is linked to the Window Manager " -"selection (which can be returned by invoking Misc.selection_get, for " -"example)." -msgstr "" - -#: ../../library/tkinter.ttk.rst:323 -msgid "justify" -msgstr "" - -#: ../../library/tkinter.ttk.rst:323 -msgid "" -"Specifies how the text is aligned within the widget. One of \"left\", " -"\"center\", or \"right\"." -msgstr "" - -#: ../../library/tkinter.ttk.rst:326 ../../library/tkinter.ttk.rst:481 -#: ../../library/tkinter.ttk.rst:818 -msgid "height" -msgstr "tinggi" - -#: ../../library/tkinter.ttk.rst:326 -msgid "Specifies the height of the pop-down listbox, in rows." -msgstr "" - -#: ../../library/tkinter.ttk.rst:328 -msgid "postcommand" -msgstr "" - -#: ../../library/tkinter.ttk.rst:328 -msgid "" -"A script (possibly registered with Misc.register) that is called immediately" -" before displaying the values. It may specify which values to display." -msgstr "" - -#: ../../library/tkinter.ttk.rst:332 -msgid "" -"One of \"normal\", \"readonly\", or \"disabled\". In the \"readonly\" state," -" the value may not be edited directly, and the user can only selection of " -"the values from the dropdown list. In the \"normal\" state, the text field " -"is directly editable. In the \"disabled\" state, no interaction is possible." -msgstr "" - -#: ../../library/tkinter.ttk.rst:339 -msgid "" -"Specifies a name whose value is linked to the widget value. Whenever the " -"value associated with that name changes, the widget value is updated, and " -"vice versa. See :class:`tkinter.StringVar`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:344 ../../library/tkinter.ttk.rst:417 -#: ../../library/tkinter.ttk.rst:865 -msgid "values" -msgstr "nilai" - -#: ../../library/tkinter.ttk.rst:344 -msgid "Specifies the list of values to display in the drop-down listbox." -msgstr "" - -#: ../../library/tkinter.ttk.rst:347 -msgid "" -"Specifies an integer value indicating the desired width of the entry window," -" in average-size characters of the widget's font." -msgstr "" - -#: ../../library/tkinter.ttk.rst:354 ../../library/tkinter.ttk.rst:442 -msgid "Virtual events" -msgstr "" - -#: ../../library/tkinter.ttk.rst:356 -msgid "" -"The combobox widgets generates a **<>** virtual event when" -" the user selects an element from the list of values." -msgstr "" - -#: ../../library/tkinter.ttk.rst:361 -msgid "ttk.Combobox" -msgstr "" - -#: ../../library/tkinter.ttk.rst:367 -msgid "" -"If *newindex* is specified, sets the combobox value to the element position " -"*newindex*. Otherwise, returns the index of the current value or -1 if the " -"current value is not in the values list." -msgstr "" - -#: ../../library/tkinter.ttk.rst:374 -msgid "Returns the current value of the combobox." -msgstr "" - -#: ../../library/tkinter.ttk.rst:379 -msgid "Sets the value of the combobox to *value*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:383 -msgid "Spinbox" -msgstr "" - -#: ../../library/tkinter.ttk.rst:384 -msgid "" -"The :class:`ttk.Spinbox` widget is a :class:`ttk.Entry` enhanced with " -"increment and decrement arrows. It can be used for numbers or lists of " -"string values. This widget is a subclass of :class:`Entry`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:388 -msgid "" -"Besides the methods inherited from :class:`Widget`: :meth:`Widget.cget`, " -":meth:`Widget.configure`, :meth:`Widget.identify`, :meth:`Widget.instate` " -"and :meth:`Widget.state`, and the following inherited from :class:`Entry`: " -":meth:`Entry.bbox`, :meth:`Entry.delete`, :meth:`Entry.icursor`, " -":meth:`Entry.index`, :meth:`Entry.insert`, :meth:`Entry.xview`, it has some " -"other methods, described at :class:`ttk.Spinbox`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:405 -msgid "from" -msgstr "dari" - -#: ../../library/tkinter.ttk.rst:405 -msgid "" -"Float value. If set, this is the minimum value to which the decrement " -"button will decrement. Must be spelled as ``from_`` when used as an " -"argument, since ``from`` is a Python keyword." -msgstr "" - -#: ../../library/tkinter.ttk.rst:410 -msgid "to" -msgstr "ke" - -#: ../../library/tkinter.ttk.rst:410 -msgid "" -"Float value. If set, this is the maximum value to which the increment " -"button will increment." -msgstr "" - -#: ../../library/tkinter.ttk.rst:413 -msgid "increment" -msgstr "" - -#: ../../library/tkinter.ttk.rst:413 -msgid "" -"Float value. Specifies the amount which the increment/decrement buttons " -"change the value. Defaults to 1.0." -msgstr "" - -#: ../../library/tkinter.ttk.rst:417 -msgid "" -"Sequence of string or float values. If specified, the increment/decrement " -"buttons will cycle through the items in this sequence rather than " -"incrementing or decrementing numbers." -msgstr "" - -#: ../../library/tkinter.ttk.rst:423 -msgid "wrap" -msgstr "" - -#: ../../library/tkinter.ttk.rst:423 -msgid "" -"Boolean value. If ``True``, increment and decrement buttons will cycle from" -" the ``to`` value to the ``from`` value or the ``from`` value to the ``to`` " -"value, respectively." -msgstr "" - -#: ../../library/tkinter.ttk.rst:428 -msgid "format" -msgstr "format" - -#: ../../library/tkinter.ttk.rst:428 -msgid "" -"String value. This specifies the format of numbers set by the " -"increment/decrement buttons. It must be in the form \"%W.Pf\", where W is " -"the padded width of the value, P is the precision, and '%' and 'f' are " -"literal." -msgstr "" - -#: ../../library/tkinter.ttk.rst:434 -msgid "command" -msgstr "perintah" - -#: ../../library/tkinter.ttk.rst:434 -msgid "" -"Python callable. Will be called with no arguments whenever either of the " -"increment or decrement buttons are pressed." -msgstr "" - -#: ../../library/tkinter.ttk.rst:444 -msgid "" -"The spinbox widget generates an **<>** virtual event when the " -"user presses , and a **<>** virtual event when the user " -"presses ." -msgstr "" - -#: ../../library/tkinter.ttk.rst:449 -msgid "ttk.Spinbox" -msgstr "" - -#: ../../library/tkinter.ttk.rst:455 -msgid "Returns the current value of the spinbox." -msgstr "" - -#: ../../library/tkinter.ttk.rst:460 -msgid "Sets the value of the spinbox to *value*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:464 -msgid "Notebook" -msgstr "" - -#: ../../library/tkinter.ttk.rst:466 -msgid "" -"Ttk Notebook widget manages a collection of windows and displays a single " -"one at a time. Each child window is associated with a tab, which the user " -"may select to change the currently displayed window." -msgstr "" - -#: ../../library/tkinter.ttk.rst:481 -msgid "" -"If present and greater than zero, specifies the desired height of the pane " -"area (not including internal padding or tabs). Otherwise, the maximum height" -" of all panes is used." -msgstr "" - -#: ../../library/tkinter.ttk.rst:485 ../../library/tkinter.ttk.rst:517 -#: ../../library/tkinter.ttk.rst:822 -msgid "padding" -msgstr "" - -#: ../../library/tkinter.ttk.rst:485 -msgid "" -"Specifies the amount of extra space to add around the outside of the " -"notebook. The padding is a list up to four length specifications left top " -"right bottom. If fewer than four elements are specified, bottom defaults to " -"top, right defaults to left, and top defaults to left." -msgstr "" - -#: ../../library/tkinter.ttk.rst:491 -msgid "" -"If present and greater than zero, specified the desired width of the pane " -"area (not including internal padding). Otherwise, the maximum width of all " -"panes is used." -msgstr "" - -#: ../../library/tkinter.ttk.rst:498 -msgid "Tab Options" -msgstr "" - -#: ../../library/tkinter.ttk.rst:500 -msgid "There are also specific options for tabs:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:507 -msgid "" -"Either \"normal\", \"disabled\" or \"hidden\". If \"disabled\", then the tab" -" is not selectable. If \"hidden\", then the tab is not shown." -msgstr "" - -#: ../../library/tkinter.ttk.rst:511 -msgid "sticky" -msgstr "" - -#: ../../library/tkinter.ttk.rst:511 -msgid "" -"Specifies how the child window is positioned within the pane area. Value is " -"a string containing zero or more of the characters \"n\", \"s\", \"e\" or " -"\"w\". Each letter refers to a side (north, south, east or west) that the " -"child window will stick to, as per the :meth:`grid` geometry manager." -msgstr "" - -#: ../../library/tkinter.ttk.rst:517 -msgid "" -"Specifies the amount of extra space to add between the notebook and this " -"pane. Syntax is the same as for the option padding used by this widget." -msgstr "" - -#: ../../library/tkinter.ttk.rst:521 -msgid "Specifies a text to be displayed in the tab." -msgstr "" - -#: ../../library/tkinter.ttk.rst:523 -msgid "" -"Specifies an image to display in the tab. See the option image described in " -":class:`Widget`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:526 -msgid "" -"Specifies how to display the image relative to the text, in the case both " -"options text and image are present. See `Label Options`_ for legal values." -msgstr "" - -#: ../../library/tkinter.ttk.rst:530 -msgid "" -"Specifies the index (0-based) of a character to underline in the text " -"string. The underlined character is used for mnemonic activation if " -":meth:`Notebook.enable_traversal` is called." -msgstr "" - -#: ../../library/tkinter.ttk.rst:538 -msgid "Tab Identifiers" -msgstr "" - -#: ../../library/tkinter.ttk.rst:540 -msgid "" -"The tab_id present in several methods of :class:`ttk.Notebook` may take any " -"of the following forms:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:543 -msgid "An integer between zero and the number of tabs" -msgstr "" - -#: ../../library/tkinter.ttk.rst:544 -msgid "The name of a child window" -msgstr "" - -#: ../../library/tkinter.ttk.rst:545 -msgid "A positional specification of the form \"@x,y\", which identifies the tab" -msgstr "" - -#: ../../library/tkinter.ttk.rst:546 -msgid "" -"The literal string \"current\", which identifies the currently selected tab" -msgstr "" - -#: ../../library/tkinter.ttk.rst:547 -msgid "" -"The literal string \"end\", which returns the number of tabs (only valid for" -" :meth:`Notebook.index`)" -msgstr "" - -#: ../../library/tkinter.ttk.rst:552 ../../library/tkinter.ttk.rst:925 -msgid "Virtual Events" -msgstr "" - -#: ../../library/tkinter.ttk.rst:554 -msgid "" -"This widget generates a **<>** virtual event after a new" -" tab is selected." -msgstr "" - -#: ../../library/tkinter.ttk.rst:559 -msgid "ttk.Notebook" -msgstr "" - -#: ../../library/tkinter.ttk.rst:565 -msgid "Adds a new tab to the notebook." -msgstr "" - -#: ../../library/tkinter.ttk.rst:567 -msgid "" -"If window is currently managed by the notebook but hidden, it is restored to" -" its previous position." -msgstr "" - -#: ../../library/tkinter.ttk.rst:570 ../../library/tkinter.ttk.rst:608 -msgid "See `Tab Options`_ for the list of available options." -msgstr "" - -#: ../../library/tkinter.ttk.rst:575 -msgid "" -"Removes the tab specified by *tab_id*, unmaps and unmanages the associated " -"window." -msgstr "" - -#: ../../library/tkinter.ttk.rst:581 -msgid "Hides the tab specified by *tab_id*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:583 -msgid "" -"The tab will not be displayed, but the associated window remains managed by " -"the notebook and its configuration remembered. Hidden tabs may be restored " -"with the :meth:`add` command." -msgstr "" - -#: ../../library/tkinter.ttk.rst:590 -msgid "" -"Returns the name of the tab element at position *x*, *y*, or the empty " -"string if none." -msgstr "" - -#: ../../library/tkinter.ttk.rst:596 -msgid "" -"Returns the numeric index of the tab specified by *tab_id*, or the total " -"number of tabs if *tab_id* is the string \"end\"." -msgstr "" - -#: ../../library/tkinter.ttk.rst:602 -msgid "Inserts a pane at the specified position." -msgstr "" - -#: ../../library/tkinter.ttk.rst:604 -msgid "" -"*pos* is either the string \"end\", an integer index, or the name of a " -"managed child. If *child* is already managed by the notebook, moves it to " -"the specified position." -msgstr "" - -#: ../../library/tkinter.ttk.rst:613 -msgid "Selects the specified *tab_id*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:615 -msgid "" -"The associated child window will be displayed, and the previously selected " -"window (if different) is unmapped. If *tab_id* is omitted, returns the " -"widget name of the currently selected pane." -msgstr "" - -#: ../../library/tkinter.ttk.rst:622 -msgid "Query or modify the options of the specific *tab_id*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:624 -msgid "" -"If *kw* is not given, returns a dictionary of the tab option values. If " -"*option* is specified, returns the value of that *option*. Otherwise, sets " -"the options to the corresponding values." -msgstr "" - -#: ../../library/tkinter.ttk.rst:631 -msgid "Returns a list of windows managed by the notebook." -msgstr "" - -#: ../../library/tkinter.ttk.rst:636 -msgid "" -"Enable keyboard traversal for a toplevel window containing this notebook." -msgstr "" - -#: ../../library/tkinter.ttk.rst:638 -msgid "" -"This will extend the bindings for the toplevel window containing the " -"notebook as follows:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:641 -msgid "" -":kbd:`Control-Tab`: selects the tab following the currently selected one." -msgstr "" - -#: ../../library/tkinter.ttk.rst:642 -msgid "" -":kbd:`Shift-Control-Tab`: selects the tab preceding the currently selected " -"one." -msgstr "" - -#: ../../library/tkinter.ttk.rst:643 -msgid "" -":kbd:`Alt-K`: where *K* is the mnemonic (underlined) character of any tab, " -"will select that tab." -msgstr "" - -#: ../../library/tkinter.ttk.rst:646 -msgid "" -"Multiple notebooks in a single toplevel may be enabled for traversal, " -"including nested notebooks. However, notebook traversal only works properly " -"if all panes have the notebook they are in as master." -msgstr "" - -#: ../../library/tkinter.ttk.rst:652 -msgid "Progressbar" -msgstr "" - -#: ../../library/tkinter.ttk.rst:654 -msgid "" -"The :class:`ttk.Progressbar` widget shows the status of a long-running " -"operation. It can operate in two modes: 1) the determinate mode which shows" -" the amount completed relative to the total amount of work to be done and 2)" -" the indeterminate mode which provides an animated display to let the user " -"know that work is progressing." -msgstr "" - -#: ../../library/tkinter.ttk.rst:671 ../../library/tkinter.ttk.rst:742 -msgid "orient" -msgstr "" - -#: ../../library/tkinter.ttk.rst:671 -msgid "" -"One of \"horizontal\" or \"vertical\". Specifies the orientation of the " -"progress bar." -msgstr "" - -#: ../../library/tkinter.ttk.rst:674 -msgid "length" -msgstr "panjang" - -#: ../../library/tkinter.ttk.rst:674 -msgid "" -"Specifies the length of the long axis of the progress bar (width if " -"horizontal, height if vertical)." -msgstr "" - -#: ../../library/tkinter.ttk.rst:677 -msgid "mode" -msgstr "mode" - -#: ../../library/tkinter.ttk.rst:677 -msgid "One of \"determinate\" or \"indeterminate\"." -msgstr "" - -#: ../../library/tkinter.ttk.rst:679 -msgid "maximum" -msgstr "maksimum" - -#: ../../library/tkinter.ttk.rst:679 -msgid "A number specifying the maximum value. Defaults to 100." -msgstr "" - -#: ../../library/tkinter.ttk.rst:681 -msgid "value" -msgstr "nilai" - -#: ../../library/tkinter.ttk.rst:681 -msgid "" -"The current value of the progress bar. In \"determinate\" mode, this " -"represents the amount of work completed. In \"indeterminate\" mode, it is " -"interpreted as modulo *maximum*; that is, the progress bar completes one " -"\"cycle\" when its value increases by *maximum*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:687 -msgid "variable" -msgstr "variabel" - -#: ../../library/tkinter.ttk.rst:687 -msgid "" -"A name which is linked to the option value. If specified, the value of the " -"progress bar is automatically set to the value of this name whenever the " -"latter is modified." -msgstr "" - -#: ../../library/tkinter.ttk.rst:691 -msgid "phase" -msgstr "fase" - -#: ../../library/tkinter.ttk.rst:691 -msgid "" -"Read-only option. The widget periodically increments the value of this " -"option whenever its value is greater than 0 and, in determinate mode, less " -"than maximum. This option may be used by the current theme to provide " -"additional animation effects." -msgstr "" - -#: ../../library/tkinter.ttk.rst:699 -msgid "ttk.Progressbar" -msgstr "" - -#: ../../library/tkinter.ttk.rst:705 -msgid "" -"Begin autoincrement mode: schedules a recurring timer event that calls " -":meth:`Progressbar.step` every *interval* milliseconds. If omitted, " -"*interval* defaults to 50 milliseconds." -msgstr "" - -#: ../../library/tkinter.ttk.rst:712 -msgid "Increments the progress bar's value by *amount*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:714 -msgid "*amount* defaults to 1.0 if omitted." -msgstr "" - -#: ../../library/tkinter.ttk.rst:719 -msgid "" -"Stop autoincrement mode: cancels any recurring timer event initiated by " -":meth:`Progressbar.start` for this progress bar." -msgstr "" - -#: ../../library/tkinter.ttk.rst:724 -msgid "Separator" -msgstr "Pembatas" - -#: ../../library/tkinter.ttk.rst:726 -msgid "" -"The :class:`ttk.Separator` widget displays a horizontal or vertical " -"separator bar." -msgstr "" - -#: ../../library/tkinter.ttk.rst:729 -msgid "" -"It has no other methods besides the ones inherited from :class:`ttk.Widget`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:735 -msgid "This widget accepts the following specific option:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:742 -msgid "" -"One of \"horizontal\" or \"vertical\". Specifies the orientation of the " -"separator." -msgstr "" - -#: ../../library/tkinter.ttk.rst:748 -msgid "Sizegrip" -msgstr "" - -#: ../../library/tkinter.ttk.rst:750 -msgid "" -"The :class:`ttk.Sizegrip` widget (also known as a grow box) allows the user " -"to resize the containing toplevel window by pressing and dragging the grip." -msgstr "" - -#: ../../library/tkinter.ttk.rst:753 -msgid "" -"This widget has neither specific options nor specific methods, besides the " -"ones inherited from :class:`ttk.Widget`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:758 -msgid "Platform-specific notes" -msgstr "" - -#: ../../library/tkinter.ttk.rst:760 -msgid "" -"On macOS, toplevel windows automatically include a built-in size grip by " -"default. Adding a :class:`Sizegrip` is harmless, since the built-in grip " -"will just mask the widget." -msgstr "" - -#: ../../library/tkinter.ttk.rst:766 -msgid "Bugs" -msgstr "Bug" - -#: ../../library/tkinter.ttk.rst:768 -msgid "" -"If the containing toplevel's position was specified relative to the right or" -" bottom of the screen (e.g. ....), the :class:`Sizegrip` widget will not " -"resize the window." -msgstr "" - -#: ../../library/tkinter.ttk.rst:771 -msgid "This widget supports only \"southeast\" resizing." -msgstr "" - -#: ../../library/tkinter.ttk.rst:775 -msgid "Treeview" -msgstr "" - -#: ../../library/tkinter.ttk.rst:777 -msgid "" -"The :class:`ttk.Treeview` widget displays a hierarchical collection of " -"items. Each item has a textual label, an optional image, and an optional " -"list of data values. The data values are displayed in successive columns " -"after the tree label." -msgstr "" - -#: ../../library/tkinter.ttk.rst:782 -msgid "" -"The order in which data values are displayed may be controlled by setting " -"the widget option ``displaycolumns``. The tree widget can also display " -"column headings. Columns may be accessed by number or symbolic names listed " -"in the widget option columns. See `Column Identifiers`_." -msgstr "" - -#: ../../library/tkinter.ttk.rst:787 -msgid "" -"Each item is identified by a unique name. The widget will generate item IDs " -"if they are not supplied by the caller. There is a distinguished root item, " -"named ``{}``. The root item itself is not displayed; its children appear at " -"the top level of the hierarchy." -msgstr "" - -#: ../../library/tkinter.ttk.rst:792 -msgid "" -"Each item also has a list of tags, which can be used to associate event " -"bindings with individual items and control the appearance of the item." -msgstr "" - -#: ../../library/tkinter.ttk.rst:795 -msgid "" -"The Treeview widget supports horizontal and vertical scrolling, according to" -" the options described in `Scrollable Widget Options`_ and the methods " -":meth:`Treeview.xview` and :meth:`Treeview.yview`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:810 -msgid "columns" -msgstr "kolom" - -#: ../../library/tkinter.ttk.rst:810 -msgid "" -"A list of column identifiers, specifying the number of columns and their " -"names." -msgstr "" - -#: ../../library/tkinter.ttk.rst:813 -msgid "displaycolumns" -msgstr "" - -#: ../../library/tkinter.ttk.rst:813 -msgid "" -"A list of column identifiers (either symbolic or integer indices) specifying" -" which data columns are displayed and the order in which they appear, or the" -" string \"#all\"." -msgstr "" - -#: ../../library/tkinter.ttk.rst:818 -msgid "" -"Specifies the number of rows which should be visible. Note: the requested " -"width is determined from the sum of the column widths." -msgstr "" - -#: ../../library/tkinter.ttk.rst:822 -msgid "" -"Specifies the internal padding for the widget. The padding is a list of up " -"to four length specifications." -msgstr "" - -#: ../../library/tkinter.ttk.rst:825 -msgid "selectmode" -msgstr "" - -#: ../../library/tkinter.ttk.rst:825 -msgid "" -"Controls how the built-in class bindings manage the selection. One of " -"\"extended\", \"browse\" or \"none\". If set to \"extended\" (the default), " -"multiple items may be selected. If \"browse\", only a single item will be " -"selected at a time. If \"none\", the selection will not be changed." -msgstr "" - -#: ../../library/tkinter.ttk.rst:832 -msgid "" -"Note that the application code and tag bindings can set the selection " -"however they wish, regardless of the value of this option." -msgstr "" - -#: ../../library/tkinter.ttk.rst:836 -msgid "show" -msgstr "" - -#: ../../library/tkinter.ttk.rst:836 -msgid "" -"A list containing zero or more of the following values, specifying which " -"elements of the tree to display." -msgstr "" - -#: ../../library/tkinter.ttk.rst:839 -msgid "tree: display tree labels in column #0." -msgstr "" - -#: ../../library/tkinter.ttk.rst:840 -msgid "headings: display the heading row." -msgstr "" - -#: ../../library/tkinter.ttk.rst:842 -msgid "The default is \"tree headings\", i.e., show all elements." -msgstr "" - -#: ../../library/tkinter.ttk.rst:845 -msgid "" -"**Note**: Column #0 always refers to the tree column, even if show=\"tree\" " -"is not specified." -msgstr "" - -#: ../../library/tkinter.ttk.rst:851 -msgid "Item Options" -msgstr "" - -#: ../../library/tkinter.ttk.rst:853 -msgid "" -"The following item options may be specified for items in the insert and item" -" widget commands." -msgstr "" - -#: ../../library/tkinter.ttk.rst:861 -msgid "The textual label to display for the item." -msgstr "" - -#: ../../library/tkinter.ttk.rst:863 -msgid "A Tk Image, displayed to the left of the label." -msgstr "" - -#: ../../library/tkinter.ttk.rst:865 -msgid "The list of values associated with the item." -msgstr "" - -#: ../../library/tkinter.ttk.rst:867 -msgid "" -"Each item should have the same number of values as the widget option " -"columns. If there are fewer values than columns, the remaining values are " -"assumed empty. If there are more values than columns, the extra values are " -"ignored." -msgstr "" - -#: ../../library/tkinter.ttk.rst:872 -msgid "open" -msgstr "buka" - -#: ../../library/tkinter.ttk.rst:872 -msgid "" -"``True``/``False`` value indicating whether the item's children should be " -"displayed or hidden." -msgstr "" - -#: ../../library/tkinter.ttk.rst:875 -msgid "tags" -msgstr "" - -#: ../../library/tkinter.ttk.rst:875 -msgid "A list of tags associated with this item." -msgstr "" - -#: ../../library/tkinter.ttk.rst:880 -msgid "Tag Options" -msgstr "" - -#: ../../library/tkinter.ttk.rst:882 -msgid "The following options may be specified on tags:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:889 -msgid "foreground" -msgstr "" - -#: ../../library/tkinter.ttk.rst:889 -msgid "Specifies the text foreground color." -msgstr "" - -#: ../../library/tkinter.ttk.rst:891 -msgid "Specifies the cell or item background color." -msgstr "" - -#: ../../library/tkinter.ttk.rst:893 -msgid "font" -msgstr "font" - -#: ../../library/tkinter.ttk.rst:893 -msgid "Specifies the font to use when drawing text." -msgstr "" - -#: ../../library/tkinter.ttk.rst:895 -msgid "Specifies the item image, in case the item's image option is empty." -msgstr "" - -#: ../../library/tkinter.ttk.rst:901 -msgid "Column Identifiers" -msgstr "" - -#: ../../library/tkinter.ttk.rst:903 -msgid "Column identifiers take any of the following forms:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:905 -msgid "A symbolic name from the list of columns option." -msgstr "" - -#: ../../library/tkinter.ttk.rst:906 -msgid "An integer n, specifying the nth data column." -msgstr "" - -#: ../../library/tkinter.ttk.rst:907 -msgid "" -"A string of the form #n, where n is an integer, specifying the nth display " -"column." -msgstr "" - -#: ../../library/tkinter.ttk.rst:910 -msgid "Notes:" -msgstr "Catatan:" - -#: ../../library/tkinter.ttk.rst:912 -msgid "" -"Item's option values may be displayed in a different order than the order in" -" which they are stored." -msgstr "" - -#: ../../library/tkinter.ttk.rst:914 -msgid "" -"Column #0 always refers to the tree column, even if show=\"tree\" is not " -"specified." -msgstr "" - -#: ../../library/tkinter.ttk.rst:917 -msgid "" -"A data column number is an index into an item's option values list; a " -"display column number is the column number in the tree where the values are " -"displayed. Tree labels are displayed in column #0. If option displaycolumns " -"is not set, then data column n is displayed in column #n+1. Again, **column " -"#0 always refers to the tree column**." -msgstr "" - -#: ../../library/tkinter.ttk.rst:927 -msgid "The Treeview widget generates the following virtual events." -msgstr "" - -#: ../../library/tkinter.ttk.rst:932 -msgid "Event" -msgstr "" - -#: ../../library/tkinter.ttk.rst:934 -msgid "<>" -msgstr "" - -#: ../../library/tkinter.ttk.rst:934 -msgid "Generated whenever the selection changes." -msgstr "" - -#: ../../library/tkinter.ttk.rst:936 -msgid "<>" -msgstr "" - -#: ../../library/tkinter.ttk.rst:936 -msgid "Generated just before settings the focus item to open=True." -msgstr "" - -#: ../../library/tkinter.ttk.rst:939 -msgid "<>" -msgstr "" - -#: ../../library/tkinter.ttk.rst:939 -msgid "Generated just after setting the focus item to open=False." -msgstr "" - -#: ../../library/tkinter.ttk.rst:943 -msgid "" -"The :meth:`Treeview.focus` and :meth:`Treeview.selection` methods can be " -"used to determine the affected item or items." -msgstr "" - -#: ../../library/tkinter.ttk.rst:948 -msgid "ttk.Treeview" -msgstr "" - -#: ../../library/tkinter.ttk.rst:954 -msgid "" -"Returns the bounding box (relative to the treeview widget's window) of the " -"specified *item* in the form (x, y, width, height)." -msgstr "" - -#: ../../library/tkinter.ttk.rst:957 -msgid "" -"If *column* is specified, returns the bounding box of that cell. If the " -"*item* is not visible (i.e., if it is a descendant of a closed item or is " -"scrolled offscreen), returns an empty string." -msgstr "" - -#: ../../library/tkinter.ttk.rst:964 -msgid "Returns the list of children belonging to *item*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:966 -msgid "If *item* is not specified, returns root children." -msgstr "" - -#: ../../library/tkinter.ttk.rst:971 -msgid "Replaces *item*'s child with *newchildren*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:973 -msgid "" -"Children present in *item* that are not present in *newchildren* are " -"detached from the tree. No items in *newchildren* may be an ancestor of " -"*item*. Note that not specifying *newchildren* results in detaching *item*'s" -" children." -msgstr "" - -#: ../../library/tkinter.ttk.rst:981 -msgid "Query or modify the options for the specified *column*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:983 -msgid "" -"If *kw* is not given, returns a dict of the column option values. If " -"*option* is specified then the value for that *option* is returned. " -"Otherwise, sets the options to the corresponding values." -msgstr "" - -#: ../../library/tkinter.ttk.rst:987 ../../library/tkinter.ttk.rst:1042 -#: ../../library/tkinter.ttk.rst:1578 -msgid "The valid options/values are:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:989 -msgid "*id*" -msgstr "" - -#: ../../library/tkinter.ttk.rst:990 -msgid "Returns the column name. This is a read-only option." -msgstr "" - -#: ../../library/tkinter.ttk.rst:991 -msgid "*anchor*: One of the standard Tk anchor values." -msgstr "" - -#: ../../library/tkinter.ttk.rst:992 -msgid "" -"Specifies how the text in this column should be aligned with respect to the " -"cell." -msgstr "" - -#: ../../library/tkinter.ttk.rst:994 -msgid "*minwidth*: width" -msgstr "" - -#: ../../library/tkinter.ttk.rst:995 -msgid "" -"The minimum width of the column in pixels. The treeview widget will not make" -" the column any smaller than specified by this option when the widget is " -"resized or the user drags a column." -msgstr "" - -#: ../../library/tkinter.ttk.rst:998 -msgid "*stretch*: ``True``/``False``" -msgstr "" - -#: ../../library/tkinter.ttk.rst:999 -msgid "" -"Specifies whether the column's width should be adjusted when the widget is " -"resized." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1001 -msgid "*width*: width" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1002 -msgid "The width of the column in pixels." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1004 -msgid "To configure the tree column, call this with column = \"#0\"" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1008 -msgid "Delete all specified *items* and all their descendants." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1010 -msgid "The root item may not be deleted." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1015 -msgid "Unlinks all of the specified *items* from the tree." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1017 -msgid "" -"The items and all of their descendants are still present, and may be " -"reinserted at another point in the tree, but will not be displayed." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1020 -msgid "The root item may not be detached." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1025 -msgid "Returns ``True`` if the specified *item* is present in the tree." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1030 -msgid "" -"If *item* is specified, sets the focus item to *item*. Otherwise, returns " -"the current focus item, or '' if there is none." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1036 -msgid "Query or modify the heading options for the specified *column*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1038 -msgid "" -"If *kw* is not given, returns a dict of the heading option values. If " -"*option* is specified then the value for that *option* is returned. " -"Otherwise, sets the options to the corresponding values." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1044 -msgid "*text*: text" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1045 -msgid "The text to display in the column heading." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1046 -msgid "*image*: imageName" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1047 -msgid "Specifies an image to display to the right of the column heading." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1048 -msgid "*anchor*: anchor" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1049 -msgid "" -"Specifies how the heading text should be aligned. One of the standard Tk " -"anchor values." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1051 -msgid "*command*: callback" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1052 -msgid "A callback to be invoked when the heading label is pressed." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1054 -msgid "To configure the tree column heading, call this with column = \"#0\"." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1059 -msgid "" -"Returns a description of the specified *component* under the point given by " -"*x* and *y*, or the empty string if no such *component* is present at that " -"position." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1066 -msgid "Returns the item ID of the item at position *y*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1071 -msgid "Returns the data column identifier of the cell at position *x*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1073 -msgid "The tree column has ID #0." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1078 -msgid "Returns one of:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1081 -msgid "region" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1081 -msgid "meaning" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1083 -msgid "heading" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1083 -msgid "Tree heading area." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1085 -msgid "separator" -msgstr "pembatas" - -#: ../../library/tkinter.ttk.rst:1085 -msgid "Space between two columns headings." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1087 -msgid "tree" -msgstr "pohon" - -#: ../../library/tkinter.ttk.rst:1087 -msgid "The tree area." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1089 -msgid "cell" -msgstr "sel" - -#: ../../library/tkinter.ttk.rst:1089 -msgid "A data cell." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1092 ../../library/tkinter.ttk.rst:1099 -msgid "Availability: Tk 8.6." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1097 -msgid "Returns the element at position *x*, *y*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1104 -msgid "" -"Returns the integer index of *item* within its parent's list of children." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1109 -msgid "" -"Creates a new item and returns the item identifier of the newly created " -"item." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1112 -msgid "" -"*parent* is the item ID of the parent item, or the empty string to create a " -"new top-level item. *index* is an integer, or the value \"end\", specifying " -"where in the list of parent's children to insert the new item. If *index* is" -" less than or equal to zero, the new node is inserted at the beginning; if " -"*index* is greater than or equal to the current number of children, it is " -"inserted at the end. If *iid* is specified, it is used as the item " -"identifier; *iid* must not already exist in the tree. Otherwise, a new " -"unique identifier is generated." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1121 -msgid "See `Item Options`_ for the list of available options." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1126 -msgid "Query or modify the options for the specified *item*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1128 -msgid "" -"If no options are given, a dict with options/values for the item is " -"returned. If *option* is specified then the value for that option is " -"returned. Otherwise, sets the options to the corresponding values as given " -"by *kw*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1136 -msgid "Moves *item* to position *index* in *parent*'s list of children." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1138 -msgid "" -"It is illegal to move an item under one of its descendants. If *index* is " -"less than or equal to zero, *item* is moved to the beginning; if greater " -"than or equal to the number of children, it is moved to the end. If *item* " -"was detached it is reattached." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1146 -msgid "" -"Returns the identifier of *item*'s next sibling, or '' if *item* is the last" -" child of its parent." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1152 -msgid "" -"Returns the ID of the parent of *item*, or '' if *item* is at the top level " -"of the hierarchy." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1158 -msgid "" -"Returns the identifier of *item*'s previous sibling, or '' if *item* is the " -"first child of its parent." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1164 -msgid "An alias for :meth:`Treeview.move`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1169 -msgid "Ensure that *item* is visible." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1171 -msgid "" -"Sets all of *item*'s ancestors open option to ``True``, and scrolls the " -"widget if necessary so that *item* is within the visible portion of the " -"tree." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1178 -msgid "Returns a tuple of selected items." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1180 -msgid "" -"``selection()`` no longer takes arguments. For changing the selection state" -" use the following selection methods." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1187 -msgid "*items* becomes the new selection." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1189 ../../library/tkinter.ttk.rst:1197 -#: ../../library/tkinter.ttk.rst:1205 ../../library/tkinter.ttk.rst:1213 -msgid "" -"*items* can be passed as separate arguments, not just as a single tuple." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1195 -msgid "Add *items* to the selection." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1203 -msgid "Remove *items* from the selection." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1211 -msgid "Toggle the selection state of each item in *items*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1219 -msgid "" -"With one argument, returns a dictionary of column/value pairs for the " -"specified *item*. With two arguments, returns the current value of the " -"specified *column*. With three arguments, sets the value of given *column* " -"in given *item* to the specified *value*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1227 -msgid "" -"Bind a callback for the given event *sequence* to the tag *tagname*. When an" -" event is delivered to an item, the callbacks for each of the item's tags " -"option are called." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1234 -msgid "Query or modify the options for the specified *tagname*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1236 -msgid "" -"If *kw* is not given, returns a dict of the option settings for *tagname*. " -"If *option* is specified, returns the value for that *option* for the " -"specified *tagname*. Otherwise, sets the options to the corresponding values" -" for the given *tagname*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1244 -msgid "" -"If *item* is specified, returns 1 or 0 depending on whether the specified " -"*item* has the given *tagname*. Otherwise, returns a list of all items that " -"have the specified tag." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1248 -msgid "Availability: Tk 8.6" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1253 -msgid "Query or modify horizontal position of the treeview." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1258 -msgid "Query or modify vertical position of the treeview." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1264 -msgid "Ttk Styling" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1266 -msgid "" -"Each widget in :mod:`ttk` is assigned a style, which specifies the set of " -"elements making up the widget and how they are arranged, along with dynamic " -"and default settings for element options. By default the style name is the " -"same as the widget's class name, but it may be overridden by the widget's " -"style option. If you don't know the class name of a widget, use the method " -":meth:`Misc.winfo_class` (somewidget.winfo_class())." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1275 -msgid "" -"`Tcl'2004 conference presentation " -"`_" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1276 -msgid "This document explains how the theme engine works" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1281 -msgid "This class is used to manipulate the style database." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1286 -msgid "Query or set the default value of the specified option(s) in *style*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1288 -msgid "" -"Each key in *kw* is an option and each value is a string identifying the " -"value for that option." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1291 -msgid "" -"For example, to change every default button to be a flat button with some " -"padding and a different background color::" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1294 -msgid "" -"from tkinter import ttk\n" -"import tkinter\n" -"\n" -"root = tkinter.Tk()\n" -"\n" -"ttk.Style().configure(\"TButton\", padding=6, relief=\"flat\",\n" -" background=\"#ccc\")\n" -"\n" -"btn = ttk.Button(text=\"Sample\")\n" -"btn.pack()\n" -"\n" -"root.mainloop()" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1310 -msgid "Query or sets dynamic values of the specified option(s) in *style*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1312 -msgid "" -"Each key in *kw* is an option and each value should be a list or a tuple " -"(usually) containing statespecs grouped in tuples, lists, or some other " -"preference. A statespec is a compound of one or more states and then a " -"value." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1317 -msgid "An example may make it more understandable::" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1319 -msgid "" -"import tkinter\n" -"from tkinter import ttk\n" -"\n" -"root = tkinter.Tk()\n" -"\n" -"style = ttk.Style()\n" -"style.map(\"C.TButton\",\n" -" foreground=[('pressed', 'red'), ('active', 'blue')],\n" -" background=[('pressed', '!disabled', 'black'), ('active', 'white')]\n" -" )\n" -"\n" -"colored_btn = ttk.Button(text=\"Test\", style=\"C.TButton\").pack()\n" -"\n" -"root.mainloop()" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1335 -msgid "" -"Note that the order of the (states, value) sequences for an option does " -"matter, if the order is changed to ``[('active', 'blue'), ('pressed', " -"'red')]`` in the foreground option, for example, the result would be a blue " -"foreground when the widget were in active or pressed states." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1343 -msgid "Returns the value specified for *option* in *style*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1345 -msgid "" -"If *state* is specified, it is expected to be a sequence of one or more " -"states. If the *default* argument is set, it is used as a fallback value in " -"case no specification for option is found." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1349 -msgid "To check what font a Button uses by default::" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1351 -msgid "" -"from tkinter import ttk\n" -"\n" -"print(ttk.Style().lookup(\"TButton\", \"font\"))" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1358 -msgid "" -"Define the widget layout for given *style*. If *layoutspec* is omitted, " -"return the layout specification for given style." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1361 -msgid "" -"*layoutspec*, if specified, is expected to be a list or some other sequence " -"type (excluding strings), where each item should be a tuple and the first " -"item is the layout name and the second item should have the format described" -" in `Layouts`_." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1366 -msgid "" -"To understand the format, see the following example (it is not intended to " -"do anything useful)::" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1369 -msgid "" -"from tkinter import ttk\n" -"import tkinter\n" -"\n" -"root = tkinter.Tk()\n" -"\n" -"style = ttk.Style()\n" -"style.layout(\"TMenubutton\", [\n" -" (\"Menubutton.background\", None),\n" -" (\"Menubutton.button\", {\"children\":\n" -" [(\"Menubutton.focus\", {\"children\":\n" -" [(\"Menubutton.padding\", {\"children\":\n" -" [(\"Menubutton.label\", {\"side\": \"left\", \"expand\": 1})]\n" -" })]\n" -" })]\n" -" }),\n" -"])\n" -"\n" -"mbtn = ttk.Menubutton(text='Text')\n" -"mbtn.pack()\n" -"root.mainloop()" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1393 -msgid "" -"Create a new element in the current theme, of the given *etype* which is " -"expected to be either \"image\", \"from\" or \"vsapi\". The latter is only " -"available in Tk 8.6 on Windows." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1397 -msgid "" -"If \"image\" is used, *args* should contain the default image name followed " -"by statespec/value pairs (this is the imagespec), and *kw* may have the " -"following options:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1401 -msgid "border=padding" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1402 -msgid "" -"padding is a list of up to four integers, specifying the left, top, right, " -"and bottom borders, respectively." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1405 ../../library/tkinter.ttk.rst:1479 -msgid "height=height" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1406 -msgid "" -"Specifies a minimum height for the element. If less than zero, the base " -"image's height is used as a default." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1409 ../../library/tkinter.ttk.rst:1453 -msgid "padding=padding" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1410 -msgid "" -"Specifies the element's interior padding. Defaults to border's value if not " -"specified." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1413 -msgid "sticky=spec" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1414 -msgid "" -"Specifies how the image is placed within the final parcel. spec contains " -"zero or more characters \"n\", \"s\", \"w\", or \"e\"." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1417 ../../library/tkinter.ttk.rst:1471 -msgid "width=width" -msgstr "lebar=lebar" - -#: ../../library/tkinter.ttk.rst:1418 -msgid "" -"Specifies a minimum width for the element. If less than zero, the base " -"image's width is used as a default." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1421 ../../library/tkinter.ttk.rst:1438 -#: ../../library/tkinter.ttk.rst:1483 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/tkinter.ttk.rst:1423 -msgid "" -"img1 = tkinter.PhotoImage(master=root, file='button.png')\n" -"img1 = tkinter.PhotoImage(master=root, file='button-pressed.png')\n" -"img1 = tkinter.PhotoImage(master=root, file='button-active.png')\n" -"style = ttk.Style(root)\n" -"style.element_create('Button.button', 'image',\n" -" img1, ('pressed', img2), ('active', img3),\n" -" border=(2, 4), sticky='we')" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1431 -msgid "" -"If \"from\" is used as the value of *etype*, :meth:`element_create` will " -"clone an existing element. *args* is expected to contain a themename, from " -"which the element will be cloned, and optionally an element to clone from. " -"If this element to clone from is not specified, an empty element will be " -"used. *kw* is discarded." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1440 -msgid "" -"style = ttk.Style(root)\n" -"style.element_create('plain.background', 'from', 'default')" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1443 -msgid "" -"If \"vsapi\" is used as the value of *etype*, :meth:`element_create` will " -"create a new element in the current theme whose visual appearance is drawn " -"using the Microsoft Visual Styles API which is responsible for the themed " -"styles on Windows XP and Vista. *args* is expected to contain the Visual " -"Styles class and part as given in the Microsoft documentation followed by an" -" optional sequence of tuples of ttk states and the corresponding Visual " -"Styles API state value. *kw* may have the following options:" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1454 -msgid "" -"Specify the element's interior padding. *padding* is a list of up to four " -"integers specifying the left, top, right and bottom padding quantities " -"respectively. If fewer than four elements are specified, bottom defaults to " -"top, right defaults to left, and top defaults to left. In other words, a " -"list of three numbers specify the left, vertical, and right padding; a list " -"of two numbers specify the horizontal and the vertical padding; a single " -"number specifies the same padding all the way around the widget. This option" -" may not be mixed with any other options." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1465 -msgid "margins=padding" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1466 -msgid "" -"Specifies the elements exterior padding. *padding* is a list of up to four " -"integers specifying the left, top, right and bottom padding quantities " -"respectively. This option may not be mixed with any other options." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1472 -msgid "" -"Specifies the width for the element. If this option is set then the Visual " -"Styles API will not be queried for the recommended size or the part. If this" -" option is set then *height* should also be set. The *width* and *height* " -"options cannot be mixed with the *padding* or *margins* options." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1480 -msgid "Specifies the height of the element. See the comments for *width*." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1485 -msgid "" -"style = ttk.Style(root)\n" -"style.element_create('pin', 'vsapi', 'EXPLORERBAR', 3, [\n" -" ('pressed', '!selected', 3),\n" -" ('active', '!selected', 2),\n" -" ('pressed', 'selected', 6),\n" -" ('active', 'selected', 5),\n" -" ('selected', 4),\n" -" ('', 1)])\n" -"style.layout('Explorer.Pin',\n" -" [('Explorer.Pin.pin', {'sticky': 'news'})])\n" -"pin = ttk.Checkbutton(style='Explorer.Pin')\n" -"pin.pack(expand=True, fill='both')" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1498 -msgid "Added support of the \"vsapi\" element factory." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1503 -msgid "Returns the list of elements defined in the current theme." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1508 -msgid "Returns the list of *elementname*'s options." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1513 -msgid "Create a new theme." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1515 -msgid "" -"It is an error if *themename* already exists. If *parent* is specified, the " -"new theme will inherit styles, elements and layouts from the parent theme. " -"If *settings* are present they are expected to have the same syntax used for" -" :meth:`theme_settings`." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1523 -msgid "" -"Temporarily sets the current theme to *themename*, apply specified " -"*settings* and then restore the previous theme." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1526 -msgid "" -"Each key in *settings* is a style and each value may contain the keys " -"'configure', 'map', 'layout' and 'element create' and they are expected to " -"have the same format as specified by the methods :meth:`Style.configure`, " -":meth:`Style.map`, :meth:`Style.layout` and :meth:`Style.element_create` " -"respectively." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1532 -msgid "As an example, let's change the Combobox for the default theme a bit::" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1534 -msgid "" -"from tkinter import ttk\n" -"import tkinter\n" -"\n" -"root = tkinter.Tk()\n" -"\n" -"style = ttk.Style()\n" -"style.theme_settings(\"default\", {\n" -" \"TCombobox\": {\n" -" \"configure\": {\"padding\": 5},\n" -" \"map\": {\n" -" \"background\": [(\"active\", \"green2\"),\n" -" (\"!disabled\", \"green4\")],\n" -" \"fieldbackground\": [(\"!disabled\", \"green3\")],\n" -" \"foreground\": [(\"focus\", \"OliveDrab1\"),\n" -" (\"!disabled\", \"OliveDrab2\")]\n" -" }\n" -" }\n" -"})\n" -"\n" -"combo = ttk.Combobox().pack()\n" -"\n" -"root.mainloop()" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1560 -msgid "Returns a list of all known themes." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1565 -msgid "" -"If *themename* is not given, returns the theme in use. Otherwise, sets the " -"current theme to *themename*, refreshes all widgets and emits a " -"<> event." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1571 -msgid "Layouts" -msgstr "Tata ruang" - -#: ../../library/tkinter.ttk.rst:1573 -msgid "" -"A layout can be just ``None``, if it takes no options, or a dict of options " -"specifying how to arrange the element. The layout mechanism uses a " -"simplified version of the pack geometry manager: given an initial cavity, " -"each element is allocated a parcel." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1580 -msgid "*side*: whichside" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1581 -msgid "" -"Specifies which side of the cavity to place the element; one of top, right, " -"bottom or left. If omitted, the element occupies the entire cavity." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1585 -msgid "*sticky*: nswe" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1586 -msgid "Specifies where the element is placed inside its allocated parcel." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1588 -msgid "*unit*: 0 or 1" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1589 -msgid "" -"If set to 1, causes the element and all of its descendants to be treated as " -"a single element for the purposes of :meth:`Widget.identify` et al. It's " -"used for things like scrollbar thumbs with grips." -msgstr "" - -#: ../../library/tkinter.ttk.rst:1593 -msgid "*children*: [sublayout... ]" -msgstr "" - -#: ../../library/tkinter.ttk.rst:1594 -msgid "" -"Specifies a list of elements to place inside the element. Each element is a " -"tuple (or other sequence type) where the first item is the layout name, and " -"the other is a `Layout`_." -msgstr "" - -#: ../../library/tkinter.ttk.rst:11 -msgid "ttk" -msgstr "" diff --git a/python-newest.library--token/id.po b/python-newest.library--token/id.po deleted file mode 100644 index 1c50bd3..0000000 --- a/python-newest.library--token/id.po +++ /dev/null @@ -1,516 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2020 -# LIQRGV , 2021 -# oon arfiandwi , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: oon arfiandwi , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/token.rst:2 -msgid ":mod:`!token` --- Constants used with Python parse trees" -msgstr "" - -#: ../../library/token.rst:9 -msgid "**Source code:** :source:`Lib/token.py`" -msgstr "**Kode sumber:** :source:`Lib/token.py`" - -#: ../../library/token.rst:13 -msgid "" -"This module provides constants which represent the numeric values of leaf " -"nodes of the parse tree (terminal tokens). Refer to the file " -":file:`Grammar/Tokens` in the Python distribution for the definitions of the" -" names in the context of the language grammar. The specific numeric values " -"which the names map to may change between Python versions." -msgstr "" - -#: ../../library/token.rst:19 -msgid "" -"The module also provides a mapping from numeric codes to names and some " -"functions. The functions mirror definitions in the Python C header files." -msgstr "" -"Modul ini juga menyediakan pemetaan dari kode numerik ke nama dan beberapa " -"fungsi. Fungsi mencerminkan definisi pada file header Python C." - -#: ../../library/token.rst:22 -msgid "" -"Note that a token's value may depend on tokenizer options. For example, a " -"``\"+\"`` token may be reported as either :data:`PLUS` or :data:`OP`, or a " -"``\"match\"`` token may be either :data:`NAME` or :data:`SOFT_KEYWORD`." -msgstr "" - -#: ../../library/token.rst:29 -msgid "" -"Dictionary mapping the numeric values of the constants defined in this " -"module back to name strings, allowing more human-readable representation of " -"parse trees to be generated." -msgstr "" -"Kamus memetakan nilai numerik dari konstanta yang didefinisikan dalam modul " -"ini kembali ke string nama, yang memungkinkan dihasilkannya representasi " -"pohon parse yang lebih dapat dibaca oleh manusia." - -#: ../../library/token.rst:36 -msgid "Return ``True`` for terminal token values." -msgstr "Kembalikan ``True`` untuk nilai-nilai token terminal (akhir)." - -#: ../../library/token.rst:41 -msgid "Return ``True`` for non-terminal token values." -msgstr "Kembalikan ``True`` untuk nilai-nilai token non-terminal." - -#: ../../library/token.rst:46 -msgid "Return ``True`` if *x* is the marker indicating the end of input." -msgstr "" -"Kembalikan nilai ``True`` jika *x* adalah penanda yang menunjukkan akhir " -"input." - -#: ../../library/token.rst:49 -msgid "The token constants are:" -msgstr "Konstanta token antara lain:" - -#: ../../library/token.rst:53 -msgid "" -"Token value that indicates an :ref:`identifier `. Note that " -"keywords are also initially tokenized an ``NAME`` tokens." -msgstr "" - -#: ../../library/token.rst:58 -msgid "Token value that indicates a :ref:`numeric literal `" -msgstr "" - -#: ../../library/token.rst:62 -msgid "" -"Token value that indicates a :ref:`string or byte literal `, " -"excluding :ref:`formatted string literals `. The token string is " -"not interpreted: it includes the surrounding quotation marks and the prefix " -"(if given); backslashes are included literally, without processing escape " -"sequences." -msgstr "" - -#: ../../library/token.rst:70 -msgid "" -"A generic token value that indicates an :ref:`operator ` or " -":ref:`delimiter `." -msgstr "" - -#: ../../library/token.rst:75 -msgid "" -"This value is only reported by the :mod:`tokenize` module. Internally, the " -"tokenizer uses :ref:`exact token types ` " -"instead." -msgstr "" - -#: ../../library/token.rst:81 -msgid "" -"Token value used to indicate a comment. The parser ignores :data:`!COMMENT` " -"tokens." -msgstr "" - -#: ../../library/token.rst:86 -msgid "" -"Token value that indicates the end of a :ref:`logical line `." -msgstr "" - -#: ../../library/token.rst:90 -msgid "" -"Token value used to indicate a non-terminating newline. :data:`!NL` tokens " -"are generated when a logical line of code is continued over multiple " -"physical lines. The parser ignores :data:`!NL` tokens." -msgstr "" - -#: ../../library/token.rst:96 -msgid "" -"Token value used at the beginning of a :ref:`logical line ` " -"to indicate the start of an :ref:`indented block `." -msgstr "" - -#: ../../library/token.rst:101 -msgid "" -"Token value used at the beginning of a :ref:`logical line ` " -"to indicate the end of an :ref:`indented block `." -msgstr "" - -#: ../../library/token.rst:106 -msgid "" -"Token value used to indicate the beginning of an :ref:`f-string literal " -"`." -msgstr "" - -#: ../../library/token.rst:111 ../../library/token.rst:140 -msgid "" -"The token string includes the prefix and the opening quote(s), but none of " -"the contents of the literal." -msgstr "" - -#: ../../library/token.rst:116 -msgid "" -"Token value used for literal text inside an :ref:`f-string literal " -"`, including format specifications." -msgstr "" - -#: ../../library/token.rst:121 -msgid "" -"Replacement fields (that is, the non-literal parts of f-strings) use the " -"same tokens as other expressions, and are delimited by :data:`LBRACE`, " -":data:`RBRACE`, :data:`EXCLAMATION` and :data:`COLON` tokens." -msgstr "" - -#: ../../library/token.rst:128 -msgid "Token value used to indicate the end of a :ref:`f-string `." -msgstr "" - -#: ../../library/token.rst:132 ../../library/token.rst:165 -msgid "The token string contains the closing quote(s)." -msgstr "" - -#: ../../library/token.rst:136 -msgid "" -"Token value used to indicate the beginning of a template string literal." -msgstr "" - -#: ../../library/token.rst:147 -msgid "" -"Token value used for literal text inside a template string literal including" -" format specifications." -msgstr "" - -#: ../../library/token.rst:152 -msgid "" -"Replacement fields (that is, the non-literal parts of t-strings) use the " -"same tokens as other expressions, and are delimited by :data:`LBRACE`, " -":data:`RBRACE`, :data:`EXCLAMATION` and :data:`COLON` tokens." -msgstr "" - -#: ../../library/token.rst:161 -msgid "Token value used to indicate the end of a template string literal." -msgstr "" - -#: ../../library/token.rst:171 -msgid "" -"Token value that indicates the end of input. Used in :ref:`top-level grammar" -" rules `." -msgstr "" - -#: ../../library/token.rst:176 -msgid "" -"Token value that indicates the encoding used to decode the source bytes into" -" text. The first token returned by :func:`tokenize.tokenize` will always be " -"an ``ENCODING`` token." -msgstr "" -"Nilai token yang menunjukkan pengodean yang digunakan untuk mendekode sumber" -" byte menjadi teks. Token pertama yang dikembalikan oleh " -":func:`tokenize.tokenize` akan selalu menjadi token ``ENCODING``." - -#: ../../library/token.rst:182 -msgid "" -"This token type isn't used by the C tokenizer but is needed for the " -":mod:`tokenize` module." -msgstr "" - -#: ../../library/token.rst:186 -msgid "" -"The following token types are not produced by the :mod:`tokenize` module, " -"and are defined for special uses in the tokenizer or parser:" -msgstr "" - -#: ../../library/token.rst:191 -msgid "" -"Token value indicating that a ``type: ignore`` comment was recognized. Such " -"tokens are produced instead of regular :data:`COMMENT` tokens only with the " -":data:`~ast.PyCF_TYPE_COMMENTS` flag." -msgstr "" - -#: ../../library/token.rst:197 -msgid "" -"Token value indicating that a type comment was recognized. Such tokens are " -"produced instead of regular :data:`COMMENT` tokens only with the " -":data:`~ast.PyCF_TYPE_COMMENTS` flag." -msgstr "" - -#: ../../library/token.rst:203 -msgid "Token value indicating a :ref:`soft keyword `." -msgstr "" - -#: ../../library/token.rst:205 -msgid "" -"The tokenizer never produces this value. To check for a soft keyword, pass a" -" :data:`NAME` token's string to :func:`keyword.issoftkeyword`." -msgstr "" - -#: ../../library/token.rst:211 -msgid "Token value used to indicate wrong input." -msgstr "" - -#: ../../library/token.rst:213 -msgid "" -"The :mod:`tokenize` module generally indicates errors by raising exceptions " -"instead of emitting this token. It can also emit tokens such as :data:`OP` " -"or :data:`NAME` with strings that are later rejected by the parser." -msgstr "" - -#: ../../library/token.rst:221 -msgid "" -"The remaining tokens represent specific :ref:`operators ` and " -":ref:`delimiters `. (The :mod:`tokenize` module reports these as" -" :data:`OP`; see ``exact_type`` in the :mod:`tokenize` documentation for " -"details.)" -msgstr "" - -#: ../../library/token-list.inc:7 -msgid "Token" -msgstr "" - -#: ../../library/token-list.inc:8 -msgid "Value" -msgstr "Nilai" - -#: ../../library/token-list.inc:10 -msgid "``\"(\"``" -msgstr "" - -#: ../../library/token-list.inc:12 -msgid "``\")\"``" -msgstr "" - -#: ../../library/token-list.inc:14 -msgid "``\"[\"``" -msgstr "" - -#: ../../library/token-list.inc:16 -msgid "``\"]\"``" -msgstr "" - -#: ../../library/token-list.inc:18 -msgid "``\":\"``" -msgstr "" - -#: ../../library/token-list.inc:20 -msgid "``\",\"``" -msgstr "" - -#: ../../library/token-list.inc:22 -msgid "``\";\"``" -msgstr "" - -#: ../../library/token-list.inc:24 -msgid "``\"+\"``" -msgstr "" - -#: ../../library/token-list.inc:26 -msgid "``\"-\"``" -msgstr "" - -#: ../../library/token-list.inc:28 -msgid "``\"*\"``" -msgstr "" - -#: ../../library/token-list.inc:30 -msgid "``\"/\"``" -msgstr "" - -#: ../../library/token-list.inc:32 -msgid "``\"|\"``" -msgstr "" - -#: ../../library/token-list.inc:34 -msgid "``\"&\"``" -msgstr "" - -#: ../../library/token-list.inc:36 -msgid "``\"<\"``" -msgstr "" - -#: ../../library/token-list.inc:38 -msgid "``\">\"``" -msgstr "" - -#: ../../library/token-list.inc:40 -msgid "``\"=\"``" -msgstr "" - -#: ../../library/token-list.inc:42 -msgid "``\".\"``" -msgstr "" - -#: ../../library/token-list.inc:44 -msgid "``\"%\"``" -msgstr "" - -#: ../../library/token-list.inc:46 -msgid "``\"{\"``" -msgstr "" - -#: ../../library/token-list.inc:48 -msgid "``\"}\"``" -msgstr "" - -#: ../../library/token-list.inc:50 -msgid "``\"==\"``" -msgstr "" - -#: ../../library/token-list.inc:52 -msgid "``\"!=\"``" -msgstr "" - -#: ../../library/token-list.inc:54 -msgid "``\"<=\"``" -msgstr "" - -#: ../../library/token-list.inc:56 -msgid "``\">=\"``" -msgstr "" - -#: ../../library/token-list.inc:58 -msgid "``\"~\"``" -msgstr "" - -#: ../../library/token-list.inc:60 -msgid "``\"^\"``" -msgstr "" - -#: ../../library/token-list.inc:62 -msgid "``\"<<\"``" -msgstr "" - -#: ../../library/token-list.inc:64 -msgid "``\">>\"``" -msgstr "" - -#: ../../library/token-list.inc:66 -msgid "``\"**\"``" -msgstr "" - -#: ../../library/token-list.inc:68 -msgid "``\"+=\"``" -msgstr "" - -#: ../../library/token-list.inc:70 -msgid "``\"-=\"``" -msgstr "" - -#: ../../library/token-list.inc:72 -msgid "``\"*=\"``" -msgstr "" - -#: ../../library/token-list.inc:74 -msgid "``\"/=\"``" -msgstr "" - -#: ../../library/token-list.inc:76 -msgid "``\"%=\"``" -msgstr "" - -#: ../../library/token-list.inc:78 -msgid "``\"&=\"``" -msgstr "" - -#: ../../library/token-list.inc:80 -msgid "``\"|=\"``" -msgstr "" - -#: ../../library/token-list.inc:82 -msgid "``\"^=\"``" -msgstr "" - -#: ../../library/token-list.inc:84 -msgid "``\"<<=\"``" -msgstr "" - -#: ../../library/token-list.inc:86 -msgid "``\">>=\"``" -msgstr "" - -#: ../../library/token-list.inc:88 -msgid "``\"**=\"``" -msgstr "" - -#: ../../library/token-list.inc:90 -msgid "``\"//\"``" -msgstr "" - -#: ../../library/token-list.inc:92 -msgid "``\"//=\"``" -msgstr "" - -#: ../../library/token-list.inc:94 -msgid "``\"@\"``" -msgstr "" - -#: ../../library/token-list.inc:96 -msgid "``\"@=\"``" -msgstr "" - -#: ../../library/token-list.inc:98 -msgid "``\"->\"``" -msgstr "" - -#: ../../library/token-list.inc:100 -msgid "``\"...\"``" -msgstr "" - -#: ../../library/token-list.inc:102 -msgid "``\":=\"``" -msgstr "" - -#: ../../library/token-list.inc:104 -msgid "``\"!\"``" -msgstr "" - -#: ../../library/token.rst:229 -msgid "The following non-token constants are provided:" -msgstr "" - -#: ../../library/token.rst:233 -msgid "The number of token types defined in this module." -msgstr "" - -#: ../../library/token.rst:240 -msgid "" -"A dictionary mapping the string representation of a token to its numeric " -"code." -msgstr "" - -#: ../../library/token.rst:245 -msgid "Added :data:`!AWAIT` and :data:`!ASYNC` tokens." -msgstr "" - -#: ../../library/token.rst:248 -msgid "Added :data:`COMMENT`, :data:`NL` and :data:`ENCODING` tokens." -msgstr "Menambahkan token :data:`COMMENT`, :data:`NL` dan :data:`ENCODING`." - -#: ../../library/token.rst:251 -msgid "" -"Removed :data:`!AWAIT` and :data:`!ASYNC` tokens. \"async\" and \"await\" " -"are now tokenized as :data:`NAME` tokens." -msgstr "" - -#: ../../library/token.rst:255 -msgid "" -"Added :data:`TYPE_COMMENT`, :data:`TYPE_IGNORE`, :data:`COLONEQUAL`. Added " -":data:`!AWAIT` and :data:`!ASYNC` tokens back (they're needed to support " -"parsing older Python versions for :func:`ast.parse` with ``feature_version``" -" set to 6 or lower)." -msgstr "" - -#: ../../library/token.rst:261 -msgid "Added :data:`EXCLAMATION`." -msgstr "" - -#: ../../library/token.rst:264 -msgid "Removed :data:`!AWAIT` and :data:`!ASYNC` tokens again." -msgstr "" diff --git a/python-newest.library--tokenize/id.po b/python-newest.library--tokenize/id.po deleted file mode 100644 index 71e8a50..0000000 --- a/python-newest.library--tokenize/id.po +++ /dev/null @@ -1,414 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tokenize.rst:2 -msgid ":mod:`!tokenize` --- Tokenizer for Python source" -msgstr "" - -#: ../../library/tokenize.rst:10 -msgid "**Source code:** :source:`Lib/tokenize.py`" -msgstr "" - -#: ../../library/tokenize.rst:14 -msgid "" -"The :mod:`tokenize` module provides a lexical scanner for Python source " -"code, implemented in Python. The scanner in this module returns comments as" -" tokens as well, making it useful for implementing \"pretty-printers\", " -"including colorizers for on-screen displays." -msgstr "" - -#: ../../library/tokenize.rst:19 -msgid "" -"To simplify token stream handling, all :ref:`operator ` and " -":ref:`delimiter ` tokens and :data:`Ellipsis` are returned using" -" the generic :data:`~token.OP` token type. The exact type can be determined" -" by checking the ``exact_type`` property on the :term:`named tuple` returned" -" from :func:`tokenize.tokenize`." -msgstr "" - -#: ../../library/tokenize.rst:28 -msgid "" -"Note that the functions in this module are only designed to parse " -"syntactically valid Python code (code that does not raise when parsed using " -":func:`ast.parse`). The behavior of the functions in this module is " -"**undefined** when providing invalid Python code and it can change at any " -"point." -msgstr "" - -#: ../../library/tokenize.rst:35 -msgid "Tokenizing Input" -msgstr "" - -#: ../../library/tokenize.rst:37 -msgid "The primary entry point is a :term:`generator`:" -msgstr "" - -#: ../../library/tokenize.rst:41 -msgid "" -"The :func:`.tokenize` generator requires one argument, *readline*, which " -"must be a callable object which provides the same interface as the " -":meth:`io.IOBase.readline` method of file objects. Each call to the " -"function should return one line of input as bytes." -msgstr "" - -#: ../../library/tokenize.rst:46 -msgid "" -"The generator produces 5-tuples with these members: the token type; the " -"token string; a 2-tuple ``(srow, scol)`` of ints specifying the row and " -"column where the token begins in the source; a 2-tuple ``(erow, ecol)`` of " -"ints specifying the row and column where the token ends in the source; and " -"the line on which the token was found. The line passed (the last tuple item)" -" is the *physical* line. The 5 tuple is returned as a :term:`named tuple` " -"with the field names: ``type string start end line``." -msgstr "" - -#: ../../library/tokenize.rst:55 -msgid "" -"The returned :term:`named tuple` has an additional property named " -"``exact_type`` that contains the exact operator type for :data:`~token.OP` " -"tokens. For all other token types ``exact_type`` equals the named tuple " -"``type`` field." -msgstr "" - -#: ../../library/tokenize.rst:60 -msgid "Added support for named tuples." -msgstr "" - -#: ../../library/tokenize.rst:63 -msgid "Added support for ``exact_type``." -msgstr "" - -#: ../../library/tokenize.rst:66 -msgid "" -":func:`.tokenize` determines the source encoding of the file by looking for " -"a UTF-8 BOM or encoding cookie, according to :pep:`263`." -msgstr "" - -#: ../../library/tokenize.rst:71 -msgid "Tokenize a source reading unicode strings instead of bytes." -msgstr "" - -#: ../../library/tokenize.rst:73 -msgid "" -"Like :func:`.tokenize`, the *readline* argument is a callable returning a " -"single line of input. However, :func:`generate_tokens` expects *readline* to" -" return a str object rather than bytes." -msgstr "" - -#: ../../library/tokenize.rst:77 -msgid "" -"The result is an iterator yielding named tuples, exactly like " -":func:`.tokenize`. It does not yield an :data:`~token.ENCODING` token." -msgstr "" - -#: ../../library/tokenize.rst:80 -msgid "" -"All constants from the :mod:`token` module are also exported from " -":mod:`tokenize`." -msgstr "" - -#: ../../library/tokenize.rst:83 -msgid "" -"Another function is provided to reverse the tokenization process. This is " -"useful for creating tools that tokenize a script, modify the token stream, " -"and write back the modified script." -msgstr "" - -#: ../../library/tokenize.rst:90 -msgid "" -"Converts tokens back into Python source code. The *iterable* must return " -"sequences with at least two elements, the token type and the token string. " -"Any additional sequence elements are ignored." -msgstr "" - -#: ../../library/tokenize.rst:94 -msgid "" -"The result is guaranteed to tokenize back to match the input so that the " -"conversion is lossless and round-trips are assured. The guarantee applies " -"only to the token type and token string as the spacing between tokens " -"(column positions) may change." -msgstr "" - -#: ../../library/tokenize.rst:99 -msgid "" -"It returns bytes, encoded using the :data:`~token.ENCODING` token, which is " -"the first token sequence output by :func:`.tokenize`. If there is no " -"encoding token in the input, it returns a str instead." -msgstr "" - -#: ../../library/tokenize.rst:104 -msgid "" -":func:`.tokenize` needs to detect the encoding of source files it tokenizes." -" The function it uses to do this is available:" -msgstr "" - -#: ../../library/tokenize.rst:109 -msgid "" -"The :func:`detect_encoding` function is used to detect the encoding that " -"should be used to decode a Python source file. It requires one argument, " -"readline, in the same way as the :func:`.tokenize` generator." -msgstr "" - -#: ../../library/tokenize.rst:113 -msgid "" -"It will call readline a maximum of twice, and return the encoding used (as a" -" string) and a list of any lines (not decoded from bytes) it has read in." -msgstr "" - -#: ../../library/tokenize.rst:117 -msgid "" -"It detects the encoding from the presence of a UTF-8 BOM or an encoding " -"cookie as specified in :pep:`263`. If both a BOM and a cookie are present, " -"but disagree, a :exc:`SyntaxError` will be raised. Note that if the BOM is " -"found, ``'utf-8-sig'`` will be returned as an encoding." -msgstr "" - -#: ../../library/tokenize.rst:122 -msgid "" -"If no encoding is specified, then the default of ``'utf-8'`` will be " -"returned." -msgstr "" - -#: ../../library/tokenize.rst:125 -msgid "" -"Use :func:`.open` to open Python source files: it uses " -":func:`detect_encoding` to detect the file encoding." -msgstr "" - -#: ../../library/tokenize.rst:131 -msgid "" -"Open a file in read only mode using the encoding detected by " -":func:`detect_encoding`." -msgstr "" - -#: ../../library/tokenize.rst:138 -msgid "" -"Raised when either a docstring or expression that may be split over several " -"lines is not completed anywhere in the file, for example::" -msgstr "" - -#: ../../library/tokenize.rst:141 -msgid "" -"\"\"\"Beginning of\n" -"docstring" -msgstr "" - -#: ../../library/tokenize.rst:144 -msgid "or::" -msgstr "atau::" - -#: ../../library/tokenize.rst:146 -msgid "" -"[1,\n" -" 2,\n" -" 3" -msgstr "" - -#: ../../library/tokenize.rst:153 -msgid "Command-Line Usage" -msgstr "" - -#: ../../library/tokenize.rst:157 -msgid "" -"The :mod:`tokenize` module can be executed as a script from the command " -"line. It is as simple as:" -msgstr "" - -#: ../../library/tokenize.rst:160 -msgid "python -m tokenize [-e] [filename.py]" -msgstr "" - -#: ../../library/tokenize.rst:164 -msgid "The following options are accepted:" -msgstr "" - -#: ../../library/tokenize.rst:170 -msgid "show this help message and exit" -msgstr "" - -#: ../../library/tokenize.rst:174 -msgid "display token names using the exact type" -msgstr "" - -#: ../../library/tokenize.rst:176 -msgid "" -"If :file:`filename.py` is specified its contents are tokenized to stdout. " -"Otherwise, tokenization is performed on stdin." -msgstr "" - -#: ../../library/tokenize.rst:180 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/tokenize.rst:182 -msgid "" -"Example of a script rewriter that transforms float literals into Decimal " -"objects::" -msgstr "" - -#: ../../library/tokenize.rst:185 -msgid "" -"from tokenize import tokenize, untokenize, NUMBER, STRING, NAME, OP\n" -"from io import BytesIO\n" -"\n" -"def decistmt(s):\n" -" \"\"\"Substitute Decimals for floats in a string of statements.\n" -"\n" -" >>> from decimal import Decimal\n" -" >>> s = 'print(+21.3e-5*-.1234/81.7)'\n" -" >>> decistmt(s)\n" -" \"print (+Decimal ('21.3e-5')*-Decimal ('.1234')/Decimal ('81.7'))\"\n" -"\n" -" The format of the exponent is inherited from the platform C library.\n" -" Known cases are \"e-007\" (Windows) and \"e-07\" (not Windows). Since\n" -" we're only showing 12 digits, and the 13th isn't close to 5, the\n" -" rest of the output should be platform-independent.\n" -"\n" -" >>> exec(s) #doctest: +ELLIPSIS\n" -" -3.21716034272e-0...7\n" -"\n" -" Output from calculations with Decimal should be identical across all\n" -" platforms.\n" -"\n" -" >>> exec(decistmt(s))\n" -" -3.217160342717258261933904529E-7\n" -" \"\"\"\n" -" result = []\n" -" g = tokenize(BytesIO(s.encode('utf-8')).readline) # tokenize the string\n" -" for toknum, tokval, _, _, _ in g:\n" -" if toknum == NUMBER and '.' in tokval: # replace NUMBER tokens\n" -" result.extend([\n" -" (NAME, 'Decimal'),\n" -" (OP, '('),\n" -" (STRING, repr(tokval)),\n" -" (OP, ')')\n" -" ])\n" -" else:\n" -" result.append((toknum, tokval))\n" -" return untokenize(result).decode('utf-8')" -msgstr "" - -#: ../../library/tokenize.rst:224 -msgid "Example of tokenizing from the command line. The script::" -msgstr "" - -#: ../../library/tokenize.rst:226 -msgid "" -"def say_hello():\n" -" print(\"Hello, World!\")\n" -"\n" -"say_hello()" -msgstr "" - -#: ../../library/tokenize.rst:231 -msgid "" -"will be tokenized to the following output where the first column is the " -"range of the line/column coordinates where the token is found, the second " -"column is the name of the token, and the final column is the value of the " -"token (if any)" -msgstr "" - -#: ../../library/tokenize.rst:235 -msgid "" -"$ python -m tokenize hello.py\n" -"0,0-0,0: ENCODING 'utf-8'\n" -"1,0-1,3: NAME 'def'\n" -"1,4-1,13: NAME 'say_hello'\n" -"1,13-1,14: OP '('\n" -"1,14-1,15: OP ')'\n" -"1,15-1,16: OP ':'\n" -"1,16-1,17: NEWLINE '\\n'\n" -"2,0-2,4: INDENT ' '\n" -"2,4-2,9: NAME 'print'\n" -"2,9-2,10: OP '('\n" -"2,10-2,25: STRING '\"Hello, World!\"'\n" -"2,25-2,26: OP ')'\n" -"2,26-2,27: NEWLINE '\\n'\n" -"3,0-3,1: NL '\\n'\n" -"4,0-4,0: DEDENT ''\n" -"4,0-4,9: NAME 'say_hello'\n" -"4,9-4,10: OP '('\n" -"4,10-4,11: OP ')'\n" -"4,11-4,12: NEWLINE '\\n'\n" -"5,0-5,0: ENDMARKER ''" -msgstr "" - -#: ../../library/tokenize.rst:259 -msgid "" -"The exact token type names can be displayed using the :option:`-e` option:" -msgstr "" - -#: ../../library/tokenize.rst:261 -msgid "" -"$ python -m tokenize -e hello.py\n" -"0,0-0,0: ENCODING 'utf-8'\n" -"1,0-1,3: NAME 'def'\n" -"1,4-1,13: NAME 'say_hello'\n" -"1,13-1,14: LPAR '('\n" -"1,14-1,15: RPAR ')'\n" -"1,15-1,16: COLON ':'\n" -"1,16-1,17: NEWLINE '\\n'\n" -"2,0-2,4: INDENT ' '\n" -"2,4-2,9: NAME 'print'\n" -"2,9-2,10: LPAR '('\n" -"2,10-2,25: STRING '\"Hello, World!\"'\n" -"2,25-2,26: RPAR ')'\n" -"2,26-2,27: NEWLINE '\\n'\n" -"3,0-3,1: NL '\\n'\n" -"4,0-4,0: DEDENT ''\n" -"4,0-4,9: NAME 'say_hello'\n" -"4,9-4,10: LPAR '('\n" -"4,10-4,11: RPAR ')'\n" -"4,11-4,12: NEWLINE '\\n'\n" -"5,0-5,0: ENDMARKER ''" -msgstr "" - -#: ../../library/tokenize.rst:285 -msgid "" -"Example of tokenizing a file programmatically, reading unicode strings " -"instead of bytes with :func:`generate_tokens`::" -msgstr "" - -#: ../../library/tokenize.rst:288 -msgid "" -"import tokenize\n" -"\n" -"with tokenize.open('hello.py') as f:\n" -" tokens = tokenize.generate_tokens(f.readline)\n" -" for token in tokens:\n" -" print(token)" -msgstr "" - -#: ../../library/tokenize.rst:295 -msgid "Or reading bytes directly with :func:`.tokenize`::" -msgstr "" - -#: ../../library/tokenize.rst:297 -msgid "" -"import tokenize\n" -"\n" -"with open('hello.py', 'rb') as f:\n" -" tokens = tokenize.tokenize(f.readline)\n" -" for token in tokens:\n" -" print(token)" -msgstr "" diff --git a/python-newest.library--tomllib/id.po b/python-newest.library--tomllib/id.po deleted file mode 100644 index f895678..0000000 --- a/python-newest.library--tomllib/id.po +++ /dev/null @@ -1,265 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2022 -# oon arfiandwi , 2022 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: oon arfiandwi , 2022\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tomllib.rst:2 -msgid ":mod:`!tomllib` --- Parse TOML files" -msgstr "" - -#: ../../library/tomllib.rst:12 -msgid "**Source code:** :source:`Lib/tomllib`" -msgstr "" - -#: ../../library/tomllib.rst:16 -msgid "" -"This module provides an interface for parsing TOML 1.0.0 (Tom's Obvious " -"Minimal Language, `https://toml.io `_). This module " -"does not support writing TOML." -msgstr "" - -#: ../../library/tomllib.rst:22 -msgid "" -"The :pypi:`Tomli-W package ` is a TOML writer that can be used in " -"conjunction with this module, providing a write API familiar to users of the" -" standard library :mod:`marshal` and :mod:`pickle` modules." -msgstr "" - -#: ../../library/tomllib.rst:29 -msgid "" -"The :pypi:`TOML Kit package ` is a style-preserving TOML library " -"with both read and write capability. It is a recommended replacement for " -"this module for editing already existing TOML files." -msgstr "" - -#: ../../library/tomllib.rst:35 -msgid "This module defines the following functions:" -msgstr "" - -#: ../../library/tomllib.rst:39 -msgid "" -"Read a TOML file. The first argument should be a readable and binary file " -"object. Return a :class:`dict`. Convert TOML types to Python using this " -":ref:`conversion table `." -msgstr "" - -#: ../../library/tomllib.rst:43 -msgid "" -"*parse_float* will be called with the string of every TOML float to be " -"decoded. By default, this is equivalent to ``float(num_str)``. This can be " -"used to use another datatype or parser for TOML floats (e.g. " -":class:`decimal.Decimal`). The callable must not return a :class:`dict` or a" -" :class:`list`, else a :exc:`ValueError` is raised." -msgstr "" - -#: ../../library/tomllib.rst:49 ../../library/tomllib.rst:58 -msgid "A :exc:`TOMLDecodeError` will be raised on an invalid TOML document." -msgstr "" - -#: ../../library/tomllib.rst:54 -msgid "" -"Load TOML from a :class:`str` object. Return a :class:`dict`. Convert TOML " -"types to Python using this :ref:`conversion table `. The " -"*parse_float* argument has the same meaning as in :func:`load`." -msgstr "" - -#: ../../library/tomllib.rst:61 -msgid "The following exceptions are available:" -msgstr "" - -#: ../../library/tomllib.rst:65 -msgid "" -"Subclass of :exc:`ValueError` with the following additional attributes:" -msgstr "" - -#: ../../library/tomllib.rst:69 -msgid "The unformatted error message." -msgstr "" - -#: ../../library/tomllib.rst:73 -msgid "The TOML document being parsed." -msgstr "" - -#: ../../library/tomllib.rst:77 -msgid "The index of *doc* where parsing failed." -msgstr "" - -#: ../../library/tomllib.rst:81 -msgid "The line corresponding to *pos*." -msgstr "" - -#: ../../library/tomllib.rst:85 -msgid "The column corresponding to *pos*." -msgstr "" - -#: ../../library/tomllib.rst:87 -msgid "" -"Added the *msg*, *doc* and *pos* parameters. Added the :attr:`msg`, " -":attr:`doc`, :attr:`pos`, :attr:`lineno` and :attr:`colno` attributes." -msgstr "" - -#: ../../library/tomllib.rst:91 -msgid "Passing free-form positional arguments is deprecated." -msgstr "" - -#: ../../library/tomllib.rst:96 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/tomllib.rst:98 -msgid "Parsing a TOML file::" -msgstr "" - -#: ../../library/tomllib.rst:100 -msgid "" -"import tomllib\n" -"\n" -"with open(\"pyproject.toml\", \"rb\") as f:\n" -" data = tomllib.load(f)" -msgstr "" - -#: ../../library/tomllib.rst:105 -msgid "Parsing a TOML string::" -msgstr "" - -#: ../../library/tomllib.rst:107 -msgid "" -"import tomllib\n" -"\n" -"toml_str = \"\"\"\n" -"python-version = \"3.11.0\"\n" -"python-implementation = \"CPython\"\n" -"\"\"\"\n" -"\n" -"data = tomllib.loads(toml_str)" -msgstr "" - -#: ../../library/tomllib.rst:118 -msgid "Conversion Table" -msgstr "" - -#: ../../library/tomllib.rst:123 -msgid "TOML" -msgstr "" - -#: ../../library/tomllib.rst:123 -msgid "Python" -msgstr "Python" - -#: ../../library/tomllib.rst:125 -msgid "TOML document" -msgstr "" - -#: ../../library/tomllib.rst:125 ../../library/tomllib.rst:145 -#: ../../library/tomllib.rst:147 -msgid "dict" -msgstr "dict" - -#: ../../library/tomllib.rst:127 -msgid "string" -msgstr "string" - -#: ../../library/tomllib.rst:127 -msgid "str" -msgstr "str" - -#: ../../library/tomllib.rst:129 -msgid "integer" -msgstr "bilangan bulat" - -#: ../../library/tomllib.rst:129 -msgid "int" -msgstr "int" - -#: ../../library/tomllib.rst:131 -msgid "float" -msgstr "float" - -#: ../../library/tomllib.rst:131 -msgid "float (configurable with *parse_float*)" -msgstr "" - -#: ../../library/tomllib.rst:133 -msgid "boolean" -msgstr "" - -#: ../../library/tomllib.rst:133 -msgid "bool" -msgstr "" - -#: ../../library/tomllib.rst:135 -msgid "offset date-time" -msgstr "" - -#: ../../library/tomllib.rst:135 -msgid "" -"datetime.datetime (``tzinfo`` attribute set to an instance of " -"``datetime.timezone``)" -msgstr "" - -#: ../../library/tomllib.rst:137 -msgid "local date-time" -msgstr "" - -#: ../../library/tomllib.rst:137 -msgid "datetime.datetime (``tzinfo`` attribute set to ``None``)" -msgstr "" - -#: ../../library/tomllib.rst:139 -msgid "local date" -msgstr "" - -#: ../../library/tomllib.rst:139 -msgid "datetime.date" -msgstr "" - -#: ../../library/tomllib.rst:141 -msgid "local time" -msgstr "" - -#: ../../library/tomllib.rst:141 -msgid "datetime.time" -msgstr "" - -#: ../../library/tomllib.rst:143 -msgid "array" -msgstr "array" - -#: ../../library/tomllib.rst:143 -msgid "list" -msgstr "list" - -#: ../../library/tomllib.rst:145 -msgid "table" -msgstr "" - -#: ../../library/tomllib.rst:147 -msgid "inline table" -msgstr "" - -#: ../../library/tomllib.rst:149 -msgid "array of tables" -msgstr "" - -#: ../../library/tomllib.rst:149 -msgid "list of dicts" -msgstr "" diff --git a/python-newest.library--trace/id.po b/python-newest.library--trace/id.po deleted file mode 100644 index 384bac6..0000000 --- a/python-newest.library--trace/id.po +++ /dev/null @@ -1,278 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/trace.rst:2 -msgid ":mod:`!trace` --- Trace or track Python statement execution" -msgstr "" - -#: ../../library/trace.rst:7 -msgid "**Source code:** :source:`Lib/trace.py`" -msgstr "" - -#: ../../library/trace.rst:11 -msgid "" -"The :mod:`trace` module allows you to trace program execution, generate " -"annotated statement coverage listings, print caller/callee relationships and" -" list functions executed during a program run. It can be used in another " -"program or from the command line." -msgstr "" - -#: ../../library/trace.rst:18 -msgid "`Coverage.py `_" -msgstr "" - -#: ../../library/trace.rst:19 -msgid "" -"A popular third-party coverage tool that provides HTML output along with " -"advanced features such as branch coverage." -msgstr "" - -#: ../../library/trace.rst:25 -msgid "Command-Line Usage" -msgstr "" - -#: ../../library/trace.rst:27 -msgid "" -"The :mod:`trace` module can be invoked from the command line. It can be as " -"simple as ::" -msgstr "" - -#: ../../library/trace.rst:30 -msgid "python -m trace --count -C . somefile.py ..." -msgstr "" - -#: ../../library/trace.rst:32 -msgid "" -"The above will execute :file:`somefile.py` and generate annotated listings " -"of all Python modules imported during the execution into the current " -"directory." -msgstr "" - -#: ../../library/trace.rst:39 -msgid "Display usage and exit." -msgstr "" - -#: ../../library/trace.rst:43 -msgid "Display the version of the module and exit." -msgstr "" - -#: ../../library/trace.rst:45 -msgid "Added ``--module`` option that allows to run an executable module." -msgstr "" - -#: ../../library/trace.rst:49 -msgid "Main options" -msgstr "" - -#: ../../library/trace.rst:51 -msgid "" -"At least one of the following options must be specified when invoking " -":mod:`trace`. The :option:`--listfuncs <-l>` option is mutually exclusive " -"with the :option:`--trace <-t>` and :option:`--count <-c>` options. When " -":option:`--listfuncs <-l>` is provided, neither :option:`--count <-c>` nor " -":option:`--trace <-t>` are accepted, and vice versa." -msgstr "" - -#: ../../library/trace.rst:61 -msgid "" -"Produce a set of annotated listing files upon program completion that shows " -"how many times each statement was executed. See also :option:`--coverdir " -"<-C>`, :option:`--file <-f>` and :option:`--no-report <-R>` below." -msgstr "" - -#: ../../library/trace.rst:68 -msgid "Display lines as they are executed." -msgstr "" - -#: ../../library/trace.rst:72 -msgid "Display the functions executed by running the program." -msgstr "" - -#: ../../library/trace.rst:76 -msgid "" -"Produce an annotated list from an earlier program run that used the " -":option:`--count <-c>` and :option:`--file <-f>` option. This does not " -"execute any code." -msgstr "" - -#: ../../library/trace.rst:82 -msgid "Display the calling relationships exposed by running the program." -msgstr "" - -#: ../../library/trace.rst:85 -msgid "Modifiers" -msgstr "" - -#: ../../library/trace.rst:91 -msgid "" -"Name of a file to accumulate counts over several tracing runs. Should be " -"used with the :option:`--count <-c>` option." -msgstr "" - -#: ../../library/trace.rst:96 -msgid "" -"Directory where the report files go. The coverage report for " -"``package.module`` is written to file " -":file:`{dir}/{package}/{module}.cover`." -msgstr "" - -#: ../../library/trace.rst:101 -msgid "" -"When generating annotated listings, mark lines which were not executed with " -"``>>>>>>``." -msgstr "" - -#: ../../library/trace.rst:106 -msgid "" -"When using :option:`--count <-c>` or :option:`--report <-r>`, write a brief " -"summary to stdout for each file processed." -msgstr "" - -#: ../../library/trace.rst:111 -msgid "" -"Do not generate annotated listings. This is useful if you intend to make " -"several runs with :option:`--count <-c>`, and then produce a single set of " -"annotated listings at the end." -msgstr "" - -#: ../../library/trace.rst:117 -msgid "" -"Prefix each line with the time since the program started. Only used while " -"tracing." -msgstr "" - -#: ../../library/trace.rst:121 -msgid "Filters" -msgstr "" - -#: ../../library/trace.rst:123 -msgid "These options may be repeated multiple times." -msgstr "" - -#: ../../library/trace.rst:129 -msgid "" -"Ignore each of the given module names and its submodules (if it is a " -"package). The argument can be a list of names separated by a comma." -msgstr "" - -#: ../../library/trace.rst:134 -msgid "" -"Ignore all modules and packages in the named directory and subdirectories. " -"The argument can be a list of directories separated by :data:`os.pathsep`." -msgstr "" - -#: ../../library/trace.rst:140 -msgid "Programmatic Interface" -msgstr "" - -#: ../../library/trace.rst:145 -msgid "" -"Create an object to trace execution of a single statement or expression. " -"All parameters are optional. *count* enables counting of line numbers. " -"*trace* enables line execution tracing. *countfuncs* enables listing of the" -" functions called during the run. *countcallers* enables call relationship " -"tracking. *ignoremods* is a list of modules or packages to ignore. " -"*ignoredirs* is a list of directories whose modules or packages should be " -"ignored. *infile* is the name of the file from which to read stored count " -"information. *outfile* is the name of the file in which to write updated " -"count information. *timing* enables a timestamp relative to when tracing " -"was started to be displayed." -msgstr "" - -#: ../../library/trace.rst:158 -msgid "" -"Execute the command and gather statistics from the execution with the " -"current tracing parameters. *cmd* must be a string or code object, suitable" -" for passing into :func:`exec`." -msgstr "" - -#: ../../library/trace.rst:164 -msgid "" -"Execute the command and gather statistics from the execution with the " -"current tracing parameters, in the defined global and local environments. " -"If not defined, *globals* and *locals* default to empty dictionaries." -msgstr "" - -#: ../../library/trace.rst:171 -msgid "" -"Call *func* with the given arguments under control of the :class:`Trace` " -"object with the current tracing parameters." -msgstr "" - -#: ../../library/trace.rst:176 -msgid "" -"Return a :class:`CoverageResults` object that contains the cumulative " -"results of all previous calls to ``run``, ``runctx`` and ``runfunc`` for the" -" given :class:`Trace` instance. Does not reset the accumulated trace " -"results." -msgstr "" - -#: ../../library/trace.rst:183 -msgid "" -"A container for coverage results, created by :meth:`Trace.results`. Should " -"not be created directly by the user." -msgstr "" - -#: ../../library/trace.rst:188 -msgid "Merge in data from another :class:`CoverageResults` object." -msgstr "" - -#: ../../library/trace.rst:193 -msgid "" -"Write coverage results. Set *show_missing* to show lines that had no hits." -" Set *summary* to include in the output the coverage summary per module. " -"*coverdir* specifies the directory into which the coverage result files will" -" be output. If ``None``, the results for each source file are placed in its" -" directory." -msgstr "" - -#: ../../library/trace.rst:199 -msgid "" -"If *ignore_missing_files* is ``True``, coverage counts for files that no " -"longer exist are silently ignored. Otherwise, a missing file will raise a " -":exc:`FileNotFoundError`." -msgstr "" - -#: ../../library/trace.rst:203 -msgid "Added *ignore_missing_files* parameter." -msgstr "" - -#: ../../library/trace.rst:206 -msgid "A simple example demonstrating the use of the programmatic interface::" -msgstr "" - -#: ../../library/trace.rst:208 -msgid "" -"import sys\n" -"import trace\n" -"\n" -"# create a Trace object, telling it what to ignore, and whether to\n" -"# do tracing or line-counting or both.\n" -"tracer = trace.Trace(\n" -" ignoredirs=[sys.prefix, sys.exec_prefix],\n" -" trace=0,\n" -" count=1)\n" -"\n" -"# run the new command using the given tracer\n" -"tracer.run('main()')\n" -"\n" -"# make a report, placing output in the current directory\n" -"r = tracer.results()\n" -"r.write_results(show_missing=True, coverdir=\".\")" -msgstr "" diff --git a/python-newest.library--traceback/id.po b/python-newest.library--traceback/id.po deleted file mode 100644 index 87be3c8..0000000 --- a/python-newest.library--traceback/id.po +++ /dev/null @@ -1,914 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/traceback.rst:2 -msgid ":mod:`!traceback` --- Print or retrieve a stack traceback" -msgstr "" - -#: ../../library/traceback.rst:7 -msgid "**Source code:** :source:`Lib/traceback.py`" -msgstr "" - -#: ../../library/traceback.rst:11 -msgid "" -"This module provides a standard interface to extract, format and print stack" -" traces of Python programs. It is more flexible than the interpreter's " -"default traceback display, and therefore makes it possible to configure " -"certain aspects of the output. Finally, it contains a utility for capturing " -"enough information about an exception to print it later, without the need to" -" save a reference to the actual exception. Since exceptions can be the roots" -" of large objects graph, this utility can significantly improve memory " -"management." -msgstr "" - -#: ../../library/traceback.rst:23 -msgid "" -"The module uses :ref:`traceback objects ` --- these are " -"objects of type :class:`types.TracebackType`, which are assigned to the " -":attr:`~BaseException.__traceback__` field of :class:`BaseException` " -"instances." -msgstr "" - -#: ../../library/traceback.rst:30 -msgid "Module :mod:`faulthandler`" -msgstr "" - -#: ../../library/traceback.rst:31 -msgid "" -"Used to dump Python tracebacks explicitly, on a fault, after a timeout, or " -"on a user signal." -msgstr "" - -#: ../../library/traceback.rst:33 -msgid "Module :mod:`pdb`" -msgstr "" - -#: ../../library/traceback.rst:34 -msgid "Interactive source code debugger for Python programs." -msgstr "" - -#: ../../library/traceback.rst:36 -msgid "The module's API can be divided into two parts:" -msgstr "" - -#: ../../library/traceback.rst:38 -msgid "" -"Module-level functions offering basic functionality, which are useful for " -"interactive inspection of exceptions and tracebacks." -msgstr "" - -#: ../../library/traceback.rst:41 -msgid "" -":class:`TracebackException` class and its helper classes " -":class:`StackSummary` and :class:`FrameSummary`. These offer both more " -"flexibility in the output generated and the ability to store the information" -" necessary for later formatting without holding references to actual " -"exception and traceback objects." -msgstr "" - -#: ../../library/traceback.rst:47 -msgid "" -"Output is colorized by default and can be :ref:`controlled using environment" -" variables `." -msgstr "" - -#: ../../library/traceback.rst:53 -msgid "Module-Level Functions" -msgstr "" - -#: ../../library/traceback.rst:57 -msgid "" -"Print up to *limit* stack trace entries from :ref:`traceback object " -"` *tb* (starting from the caller's frame) if *limit* is " -"positive. Otherwise, print the last ``abs(limit)`` entries. If *limit* is " -"omitted or ``None``, all entries are printed. If *file* is omitted or " -"``None``, the output goes to :data:`sys.stderr`; otherwise it should be an " -"open :term:`file ` or :term:`file-like object` to receive the " -"output." -msgstr "" - -#: ../../library/traceback.rst:68 -msgid "" -"The meaning of the *limit* parameter is different than the meaning of " -":const:`sys.tracebacklimit`. A negative *limit* value corresponds to a " -"positive value of :const:`!sys.tracebacklimit`, whereas the behaviour of a " -"positive *limit* value cannot be achieved with :const:`!sys.tracebacklimit`." -msgstr "" - -#: ../../library/traceback.rst:74 ../../library/traceback.rst:139 -msgid "Added negative *limit* support." -msgstr "" - -#: ../../library/traceback.rst:81 -msgid "" -"Print exception information and stack trace entries from :ref:`traceback " -"object ` *tb* to *file*. This differs from " -":func:`print_tb` in the following ways:" -msgstr "" - -#: ../../library/traceback.rst:86 -msgid "" -"if *tb* is not ``None``, it prints a header ``Traceback (most recent call " -"last):``" -msgstr "" - -#: ../../library/traceback.rst:89 -msgid "it prints the exception type and *value* after the stack trace" -msgstr "" - -#: ../../library/traceback.rst:93 -msgid "" -"if *type(value)* is :exc:`SyntaxError` and *value* has the appropriate " -"format, it prints the line where the syntax error occurred with a caret " -"indicating the approximate position of the error." -msgstr "" - -#: ../../library/traceback.rst:97 -msgid "" -"Since Python 3.10, instead of passing *value* and *tb*, an exception object " -"can be passed as the first argument. If *value* and *tb* are provided, the " -"first argument is ignored in order to provide backwards compatibility." -msgstr "" - -#: ../../library/traceback.rst:101 -msgid "" -"The optional *limit* argument has the same meaning as for :func:`print_tb`. " -"If *chain* is true (the default), then chained exceptions (the " -":attr:`~BaseException.__cause__` or :attr:`~BaseException.__context__` " -"attributes of the exception) will be printed as well, like the interpreter " -"itself does when printing an unhandled exception." -msgstr "" - -#: ../../library/traceback.rst:108 ../../library/traceback.rst:219 -msgid "The *etype* argument is ignored and inferred from the type of *value*." -msgstr "" - -#: ../../library/traceback.rst:111 ../../library/traceback.rst:199 -msgid "" -"The *etype* parameter has been renamed to *exc* and is now positional-only." -msgstr "" - -#: ../../library/traceback.rst:118 -msgid "" -"This is a shorthand for ``print_exception(sys.exception(), limit=limit, " -"file=file, chain=chain)``." -msgstr "" - -#: ../../library/traceback.rst:124 -msgid "" -"This is a shorthand for ``print_exception(sys.last_exc, limit=limit, " -"file=file, chain=chain)``. In general it will work only after an exception " -"has reached an interactive prompt (see :data:`sys.last_exc`)." -msgstr "" - -#: ../../library/traceback.rst:131 -msgid "" -"Print up to *limit* stack trace entries (starting from the invocation point)" -" if *limit* is positive. Otherwise, print the last ``abs(limit)`` entries." -" If *limit* is omitted or ``None``, all entries are printed. The optional " -"*f* argument can be used to specify an alternate :ref:`stack frame ` to start. The optional *file* argument has the same meaning as " -"for :func:`print_tb`." -msgstr "" - -#: ../../library/traceback.rst:145 -msgid "" -"Return a :class:`StackSummary` object representing a list of \"pre-" -"processed\" stack trace entries extracted from the :ref:`traceback object " -"` *tb*. It is useful for alternate formatting of stack " -"traces. The optional *limit* argument has the same meaning as for " -":func:`print_tb`. A \"pre-processed\" stack trace entry is a " -":class:`FrameSummary` object containing attributes " -":attr:`~FrameSummary.filename`, :attr:`~FrameSummary.lineno`, " -":attr:`~FrameSummary.name`, and :attr:`~FrameSummary.line` representing the " -"information that is usually printed for a stack trace." -msgstr "" - -#: ../../library/traceback.rst:158 -msgid "" -"Extract the raw traceback from the current :ref:`stack frame `. The return value has the same format as for :func:`extract_tb`." -" The optional *f* and *limit* arguments have the same meaning as for " -":func:`print_stack`." -msgstr "" - -#: ../../library/traceback.rst:166 -msgid "" -"Print the list of tuples as returned by :func:`extract_tb` or " -":func:`extract_stack` as a formatted stack trace to the given file. If " -"*file* is ``None``, the output is written to :data:`sys.stderr`." -msgstr "" - -#: ../../library/traceback.rst:173 -msgid "" -"Given a list of tuples or :class:`FrameSummary` objects as returned by " -":func:`extract_tb` or :func:`extract_stack`, return a list of strings ready " -"for printing. Each string in the resulting list corresponds to the item " -"with the same index in the argument list. Each string ends in a newline; " -"the strings may contain internal newlines as well, for those items whose " -"source text line is not ``None``." -msgstr "" - -#: ../../library/traceback.rst:183 -msgid "" -"Format the exception part of a traceback using an exception value such as " -"given by :data:`sys.last_value`. The return value is a list of strings, " -"each ending in a newline. The list contains the exception's message, which " -"is normally a single string; however, for :exc:`SyntaxError` exceptions, it " -"contains several lines that (when printed) display detailed information " -"about where the syntax error occurred. Following the message, the list " -"contains the exception's :attr:`notes `." -msgstr "" - -#: ../../library/traceback.rst:191 -msgid "" -"Since Python 3.10, instead of passing *value*, an exception object can be " -"passed as the first argument. If *value* is provided, the first argument is" -" ignored in order to provide backwards compatibility." -msgstr "" - -#: ../../library/traceback.rst:195 ../../library/traceback.rst:431 -msgid "" -"When *show_group* is ``True``, and the exception is an instance of " -":exc:`BaseExceptionGroup`, the nested exceptions are included as well, " -"recursively, with indentation relative to their nesting depth." -msgstr "" - -#: ../../library/traceback.rst:203 -msgid "" -"The returned list now includes any :attr:`notes ` " -"attached to the exception." -msgstr "" - -#: ../../library/traceback.rst:207 -msgid "*show_group* parameter was added." -msgstr "" - -#: ../../library/traceback.rst:213 -msgid "" -"Format a stack trace and the exception information. The arguments have the" -" same meaning as the corresponding arguments to :func:`print_exception`. " -"The return value is a list of strings, each ending in a newline and some " -"containing internal newlines. When these lines are concatenated and " -"printed, exactly the same text is printed as does :func:`print_exception`." -msgstr "" - -#: ../../library/traceback.rst:222 -msgid "" -"This function's behavior and signature were modified to match " -":func:`print_exception`." -msgstr "" - -#: ../../library/traceback.rst:229 -msgid "" -"This is like ``print_exc(limit)`` but returns a string instead of printing " -"to a file." -msgstr "" - -#: ../../library/traceback.rst:235 -msgid "A shorthand for ``format_list(extract_tb(tb, limit))``." -msgstr "" - -#: ../../library/traceback.rst:240 -msgid "A shorthand for ``format_list(extract_stack(f, limit))``." -msgstr "" - -#: ../../library/traceback.rst:244 -msgid "" -"Clears the local variables of all the stack frames in a :ref:`traceback " -"` *tb* by calling the :meth:`~frame.clear` method of each" -" :ref:`frame object `." -msgstr "" - -#: ../../library/traceback.rst:253 -msgid "" -"Walk a stack following :attr:`f.f_back ` from the given frame," -" yielding the frame and line number for each frame. If *f* is ``None``, the " -"current stack is used. This helper is used with " -":meth:`StackSummary.extract`." -msgstr "" - -#: ../../library/traceback.rst:260 -msgid "" -"This function previously returned a generator that would walk the stack when" -" first iterated over. The generator returned now is the state of the stack " -"when ``walk_stack`` is called." -msgstr "" - -#: ../../library/traceback.rst:267 -msgid "" -"Walk a traceback following :attr:`~traceback.tb_next` yielding the frame and" -" line number for each frame. This helper is used with " -":meth:`StackSummary.extract`." -msgstr "" - -#: ../../library/traceback.rst:275 -msgid ":class:`!TracebackException` Objects" -msgstr "" - -#: ../../library/traceback.rst:279 -msgid "" -":class:`!TracebackException` objects are created from actual exceptions to " -"capture data for later printing. They offer a more lightweight method of " -"storing this information by avoiding holding references to " -":ref:`traceback` and :ref:`frame` objects." -" In addition, they expose more options to configure the output compared to " -"the module-level functions described above." -msgstr "" - -#: ../../library/traceback.rst:288 -msgid "" -"Capture an exception for later rendering. The meaning of *limit*, " -"*lookup_lines* and *capture_locals* are as for the :class:`StackSummary` " -"class." -msgstr "" - -#: ../../library/traceback.rst:292 -msgid "" -"If *compact* is true, only data that is required by " -":class:`!TracebackException`'s :meth:`format` method is saved in the class " -"attributes. In particular, the :attr:`__context__` field is calculated only " -"if :attr:`__cause__` is ``None`` and :attr:`__suppress_context__` is false." -msgstr "" - -#: ../../library/traceback.rst:298 ../../library/traceback.rst:399 -msgid "" -"Note that when locals are captured, they are also shown in the traceback." -msgstr "" - -#: ../../library/traceback.rst:300 -msgid "" -"*max_group_width* and *max_group_depth* control the formatting of exception " -"groups (see :exc:`BaseExceptionGroup`). The depth refers to the nesting " -"level of the group, and the width refers to the size of a single exception " -"group's exceptions array. The formatted output is truncated when either " -"limit is exceeded." -msgstr "" - -#: ../../library/traceback.rst:306 -msgid "Added the *compact* parameter." -msgstr "" - -#: ../../library/traceback.rst:309 -msgid "Added the *max_group_width* and *max_group_depth* parameters." -msgstr "" - -#: ../../library/traceback.rst:314 -msgid "" -"A :class:`!TracebackException` of the original " -":attr:`~BaseException.__cause__`." -msgstr "" - -#: ../../library/traceback.rst:319 -msgid "" -"A :class:`!TracebackException` of the original " -":attr:`~BaseException.__context__`." -msgstr "" - -#: ../../library/traceback.rst:324 -msgid "" -"If ``self`` represents an :exc:`ExceptionGroup`, this field holds a list of " -":class:`!TracebackException` instances representing the nested exceptions. " -"Otherwise it is ``None``." -msgstr "" - -#: ../../library/traceback.rst:332 -msgid "" -"The :attr:`~BaseException.__suppress_context__` value from the original " -"exception." -msgstr "" - -#: ../../library/traceback.rst:337 -msgid "" -"The :attr:`~BaseException.__notes__` value from the original exception, or " -"``None`` if the exception does not have any notes. If it is not ``None`` is " -"it formatted in the traceback after the exception string." -msgstr "" - -#: ../../library/traceback.rst:346 -msgid "A :class:`StackSummary` representing the traceback." -msgstr "" - -#: ../../library/traceback.rst:350 -msgid "The class of the original traceback." -msgstr "" - -#: ../../library/traceback.rst:356 -msgid "String display of the class of the original exception." -msgstr "" - -#: ../../library/traceback.rst:362 -msgid "For syntax errors - the file name where the error occurred." -msgstr "" - -#: ../../library/traceback.rst:366 -msgid "For syntax errors - the line number where the error occurred." -msgstr "" - -#: ../../library/traceback.rst:370 -msgid "" -"For syntax errors - the end line number where the error occurred. Can be " -"``None`` if not present." -msgstr "" - -#: ../../library/traceback.rst:377 -msgid "For syntax errors - the text where the error occurred." -msgstr "" - -#: ../../library/traceback.rst:381 -msgid "For syntax errors - the offset into the text where the error occurred." -msgstr "" - -#: ../../library/traceback.rst:385 -msgid "" -"For syntax errors - the end offset into the text where the error occurred. " -"Can be ``None`` if not present." -msgstr "" - -#: ../../library/traceback.rst:392 -msgid "For syntax errors - the compiler error message." -msgstr "" - -#: ../../library/traceback.rst:396 -msgid "" -"Capture an exception for later rendering. *limit*, *lookup_lines* and " -"*capture_locals* are as for the :class:`StackSummary` class." -msgstr "" - -#: ../../library/traceback.rst:403 -msgid "" -"Print to *file* (default ``sys.stderr``) the exception information returned " -"by :meth:`format`." -msgstr "" - -#: ../../library/traceback.rst:410 -msgid "Format the exception." -msgstr "" - -#: ../../library/traceback.rst:412 -msgid "" -"If *chain* is not ``True``, :attr:`__cause__` and :attr:`__context__` will " -"not be formatted." -msgstr "" - -#: ../../library/traceback.rst:415 -msgid "" -"The return value is a generator of strings, each ending in a newline and " -"some containing internal newlines. :func:`~traceback.print_exception` is a " -"wrapper around this method which just prints the lines to a file." -msgstr "" - -#: ../../library/traceback.rst:421 -msgid "Format the exception part of the traceback." -msgstr "" - -#: ../../library/traceback.rst:423 -msgid "The return value is a generator of strings, each ending in a newline." -msgstr "" - -#: ../../library/traceback.rst:425 -msgid "" -"When *show_group* is ``False``, the generator emits the exception's message " -"followed by its notes (if it has any). The exception message is normally a " -"single string; however, for :exc:`SyntaxError` exceptions, it consists of " -"several lines that (when printed) display detailed information about where " -"the syntax error occurred." -msgstr "" - -#: ../../library/traceback.rst:435 -msgid "" -"The exception's :attr:`notes ` are now included in " -"the output." -msgstr "" - -#: ../../library/traceback.rst:439 -msgid "Added the *show_group* parameter." -msgstr "" - -#: ../../library/traceback.rst:444 -msgid ":class:`!StackSummary` Objects" -msgstr "" - -#: ../../library/traceback.rst:448 -msgid "" -":class:`!StackSummary` objects represent a call stack ready for formatting." -msgstr "" - -#: ../../library/traceback.rst:454 -msgid "" -"Construct a :class:`!StackSummary` object from a frame generator (such as is" -" returned by :func:`~traceback.walk_stack` or :func:`~traceback.walk_tb`)." -msgstr "" - -#: ../../library/traceback.rst:458 -msgid "" -"If *limit* is supplied, only this many frames are taken from *frame_gen*. If" -" *lookup_lines* is ``False``, the returned :class:`FrameSummary` objects " -"will not have read their lines in yet, making the cost of creating the " -":class:`!StackSummary` cheaper (which may be valuable if it may not actually" -" get formatted). If *capture_locals* is ``True`` the local variables in each" -" :class:`!FrameSummary` are captured as object representations." -msgstr "" - -#: ../../library/traceback.rst:466 -msgid "" -"Exceptions raised from :func:`repr` on a local variable (when " -"*capture_locals* is ``True``) are no longer propagated to the caller." -msgstr "" - -#: ../../library/traceback.rst:472 -msgid "" -"Construct a :class:`!StackSummary` object from a supplied list of " -":class:`FrameSummary` objects or old-style list of tuples. Each tuple " -"should be a 4-tuple with *filename*, *lineno*, *name*, *line* as the " -"elements." -msgstr "" - -#: ../../library/traceback.rst:479 -msgid "" -"Returns a list of strings ready for printing. Each string in the resulting " -"list corresponds to a single :ref:`frame ` from the stack. " -"Each string ends in a newline; the strings may contain internal newlines as " -"well, for those items with source text lines." -msgstr "" - -#: ../../library/traceback.rst:485 -msgid "" -"For long sequences of the same frame and line, the first few repetitions are" -" shown, followed by a summary line stating the exact number of further " -"repetitions." -msgstr "" - -#: ../../library/traceback.rst:489 -msgid "Long sequences of repeated frames are now abbreviated." -msgstr "" - -#: ../../library/traceback.rst:494 -msgid "" -"Returns a string for printing one of the :ref:`frames ` " -"involved in the stack. This method is called for each :class:`FrameSummary` " -"object to be printed by :meth:`StackSummary.format`. If it returns ``None``," -" the frame is omitted from the output." -msgstr "" - -#: ../../library/traceback.rst:504 -msgid ":class:`!FrameSummary` Objects" -msgstr "" - -#: ../../library/traceback.rst:508 -msgid "" -"A :class:`!FrameSummary` object represents a single :ref:`frame ` in a :ref:`traceback `." -msgstr "" - -#: ../../library/traceback.rst:515 -msgid "" -"Represents a single :ref:`frame ` in the :ref:`traceback " -"` or stack that is being formatted or printed. It may " -"optionally have a stringified version of the frame's locals included in it. " -"If *lookup_line* is ``False``, the source code is not looked up until the " -":class:`!FrameSummary` has the :attr:`~FrameSummary.line` attribute accessed" -" (which also happens when casting it to a :class:`tuple`). " -":attr:`~FrameSummary.line` may be directly provided, and will prevent line " -"lookups happening at all. *locals* is an optional local variable mapping, " -"and if supplied the variable representations are stored in the summary for " -"later display." -msgstr "" - -#: ../../library/traceback.rst:526 -msgid ":class:`!FrameSummary` instances have the following attributes:" -msgstr "" - -#: ../../library/traceback.rst:530 -msgid "" -"The filename of the source code for this frame. Equivalent to accessing " -":attr:`f.f_code.co_filename ` on a :ref:`frame " -"object ` *f*." -msgstr "" - -#: ../../library/traceback.rst:536 -msgid "The line number of the source code for this frame." -msgstr "" - -#: ../../library/traceback.rst:540 -msgid "" -"Equivalent to accessing :attr:`f.f_code.co_name ` on a " -":ref:`frame object ` *f*." -msgstr "" - -#: ../../library/traceback.rst:545 -msgid "" -"A string representing the source code for this frame, with leading and " -"trailing whitespace stripped. If the source is not available, it is " -"``None``." -msgstr "" - -#: ../../library/traceback.rst:551 -msgid "" -"The last line number of the source code for this frame. By default, it is " -"set to ``lineno`` and indexation starts from 1." -msgstr "" - -#: ../../library/traceback.rst:554 -msgid "The default value changed from ``None`` to ``lineno``." -msgstr "" - -#: ../../library/traceback.rst:559 -msgid "" -"The column number of the source code for this frame. By default, it is " -"``None`` and indexation starts from 0." -msgstr "" - -#: ../../library/traceback.rst:564 -msgid "" -"The last column number of the source code for this frame. By default, it is " -"``None`` and indexation starts from 0." -msgstr "" - -#: ../../library/traceback.rst:571 -msgid "Examples of Using the Module-Level Functions" -msgstr "" - -#: ../../library/traceback.rst:573 -msgid "" -"This simple example implements a basic read-eval-print loop, similar to (but" -" less useful than) the standard Python interactive interpreter loop. For a " -"more complete implementation of the interpreter loop, refer to the " -":mod:`code` module. ::" -msgstr "" - -#: ../../library/traceback.rst:578 -msgid "" -"import sys, traceback\n" -"\n" -"def run_user_code(envdir):\n" -" source = input(\">>> \")\n" -" try:\n" -" exec(source, envdir)\n" -" except Exception:\n" -" print(\"Exception in user code:\")\n" -" print(\"-\"*60)\n" -" traceback.print_exc(file=sys.stdout)\n" -" print(\"-\"*60)\n" -"\n" -"envdir = {}\n" -"while True:\n" -" run_user_code(envdir)" -msgstr "" - -#: ../../library/traceback.rst:595 -msgid "" -"The following example demonstrates the different ways to print and format " -"the exception and traceback:" -msgstr "" - -#: ../../library/traceback.rst:598 -msgid "" -"import sys, traceback\n" -"\n" -"def lumberjack():\n" -" bright_side_of_life()\n" -"\n" -"def bright_side_of_life():\n" -" return tuple()[0]\n" -"\n" -"try:\n" -" lumberjack()\n" -"except IndexError as exc:\n" -" print(\"*** print_tb:\")\n" -" traceback.print_tb(exc.__traceback__, limit=1, file=sys.stdout)\n" -" print(\"*** print_exception:\")\n" -" traceback.print_exception(exc, limit=2, file=sys.stdout)\n" -" print(\"*** print_exc:\")\n" -" traceback.print_exc(limit=2, file=sys.stdout)\n" -" print(\"*** format_exc, first and last line:\")\n" -" formatted_lines = traceback.format_exc().splitlines()\n" -" print(formatted_lines[0])\n" -" print(formatted_lines[-1])\n" -" print(\"*** format_exception:\")\n" -" print(repr(traceback.format_exception(exc)))\n" -" print(\"*** extract_tb:\")\n" -" print(repr(traceback.extract_tb(exc.__traceback__)))\n" -" print(\"*** format_tb:\")\n" -" print(repr(traceback.format_tb(exc.__traceback__)))\n" -" print(\"*** tb_lineno:\", exc.__traceback__.tb_lineno)" -msgstr "" - -#: ../../library/traceback.rst:629 -msgid "The output for the example would look similar to this:" -msgstr "" - -#: ../../library/traceback.rst:631 -msgid "" -"*** print_tb:\n" -" File \"\", line 10, in \n" -" lumberjack()\n" -" ~~~~~~~~~~^^\n" -"*** print_exception:\n" -"Traceback (most recent call last):\n" -" File \"\", line 10, in \n" -" lumberjack()\n" -" ~~~~~~~~~~^^\n" -" File \"\", line 4, in lumberjack\n" -" bright_side_of_life()\n" -" ~~~~~~~~~~~~~~~~~~~^^\n" -"IndexError: tuple index out of range\n" -"*** print_exc:\n" -"Traceback (most recent call last):\n" -" File \"\", line 10, in \n" -" lumberjack()\n" -" ~~~~~~~~~~^^\n" -" File \"\", line 4, in lumberjack\n" -" bright_side_of_life()\n" -" ~~~~~~~~~~~~~~~~~~~^^\n" -"IndexError: tuple index out of range\n" -"*** format_exc, first and last line:\n" -"Traceback (most recent call last):\n" -"IndexError: tuple index out of range\n" -"*** format_exception:\n" -"['Traceback (most recent call last):\\n',\n" -" ' File \"\", line 10, in \\n lumberjack()\\n ~~~~~~~~~~^^\\n',\n" -" ' File \"\", line 4, in lumberjack\\n bright_side_of_life()\\n ~~~~~~~~~~~~~~~~~~~^^\\n',\n" -" ' File \"\", line 7, in bright_side_of_life\\n return tuple()[0]\\n ~~~~~~~^^^\\n',\n" -" 'IndexError: tuple index out of range\\n']\n" -"*** extract_tb:\n" -"[, line 10 in >,\n" -" , line 4 in lumberjack>,\n" -" , line 7 in bright_side_of_life>]\n" -"*** format_tb:\n" -"[' File \"\", line 10, in \\n lumberjack()\\n ~~~~~~~~~~^^\\n',\n" -" ' File \"\", line 4, in lumberjack\\n bright_side_of_life()\\n ~~~~~~~~~~~~~~~~~~~^^\\n',\n" -" ' File \"\", line 7, in bright_side_of_life\\n return tuple()[0]\\n ~~~~~~~^^^\\n']\n" -"*** tb_lineno: 10" -msgstr "" - -#: ../../library/traceback.rst:676 -msgid "" -"The following example shows the different ways to print and format the " -"stack::" -msgstr "" - -#: ../../library/traceback.rst:678 -msgid "" -">>> import traceback\n" -">>> def another_function():\n" -"... lumberstack()\n" -"...\n" -">>> def lumberstack():\n" -"... traceback.print_stack()\n" -"... print(repr(traceback.extract_stack()))\n" -"... print(repr(traceback.format_stack()))\n" -"...\n" -">>> another_function()\n" -" File \"\", line 10, in \n" -" another_function()\n" -" File \"\", line 3, in another_function\n" -" lumberstack()\n" -" File \"\", line 6, in lumberstack\n" -" traceback.print_stack()\n" -"[('', 10, '', 'another_function()'),\n" -" ('', 3, 'another_function', 'lumberstack()'),\n" -" ('', 7, 'lumberstack', 'print(repr(traceback.extract_stack()))')]\n" -"[' File \"\", line 10, in \\n another_function()\\n',\n" -" ' File \"\", line 3, in another_function\\n lumberstack()\\n',\n" -" ' File \"\", line 8, in lumberstack\\n print(repr(traceback.format_stack()))\\n']" -msgstr "" - -#: ../../library/traceback.rst:702 -msgid "This last example demonstrates the final few formatting functions:" -msgstr "" - -#: ../../library/traceback.rst:704 -msgid "" -">>> import traceback\n" -">>> traceback.format_list([('spam.py', 3, '', 'spam.eggs()'),\n" -"... ('eggs.py', 42, 'eggs', 'return \"bacon\"')])\n" -"[' File \"spam.py\", line 3, in \\n spam.eggs()\\n',\n" -" ' File \"eggs.py\", line 42, in eggs\\n return \"bacon\"\\n']\n" -">>> an_error = IndexError('tuple index out of range')\n" -">>> traceback.format_exception_only(an_error)\n" -"['IndexError: tuple index out of range\\n']" -msgstr "" - -#: ../../library/traceback.rst:718 -msgid "Examples of Using :class:`TracebackException`" -msgstr "" - -#: ../../library/traceback.rst:720 -msgid "With the helper class, we have more options::" -msgstr "" - -#: ../../library/traceback.rst:722 -msgid "" -">>> import sys\n" -">>> from traceback import TracebackException\n" -">>>\n" -">>> def lumberjack():\n" -"... bright_side_of_life()\n" -"...\n" -">>> def bright_side_of_life():\n" -"... t = \"bright\", \"side\", \"of\", \"life\"\n" -"... return t[5]\n" -"...\n" -">>> try:\n" -"... lumberjack()\n" -"... except IndexError as e:\n" -"... exc = e\n" -"...\n" -">>> try:\n" -"... try:\n" -"... lumberjack()\n" -"... except:\n" -"... 1/0\n" -"... except Exception as e:\n" -"... chained_exc = e\n" -"...\n" -">>> # limit works as with the module-level functions\n" -">>> TracebackException.from_exception(exc, limit=-2).print()\n" -"Traceback (most recent call last):\n" -" File \"\", line 6, in lumberjack\n" -" bright_side_of_life()\n" -" ~~~~~~~~~~~~~~~~~~~^^\n" -" File \"\", line 10, in bright_side_of_life\n" -" return t[5]\n" -" ~^^^\n" -"IndexError: tuple index out of range\n" -"\n" -">>> # capture_locals adds local variables in frames\n" -">>> TracebackException.from_exception(exc, limit=-2, capture_locals=True).print()\n" -"Traceback (most recent call last):\n" -" File \"\", line 6, in lumberjack\n" -" bright_side_of_life()\n" -" ~~~~~~~~~~~~~~~~~~~^^\n" -" File \"\", line 10, in bright_side_of_life\n" -" return t[5]\n" -" ~^^^\n" -" t = (\"bright\", \"side\", \"of\", \"life\")\n" -"IndexError: tuple index out of range\n" -"\n" -">>> # The *chain* kwarg to print() controls whether chained\n" -">>> # exceptions are displayed\n" -">>> TracebackException.from_exception(chained_exc).print()\n" -"Traceback (most recent call last):\n" -" File \"\", line 4, in \n" -" lumberjack()\n" -" ~~~~~~~~~~^^\n" -" File \"\", line 7, in lumberjack\n" -" bright_side_of_life()\n" -" ~~~~~~~~~~~~~~~~~~~^^\n" -" File \"\", line 11, in bright_side_of_life\n" -" return t[5]\n" -" ~^^^\n" -"IndexError: tuple index out of range\n" -"\n" -"During handling of the above exception, another exception occurred:\n" -"\n" -"Traceback (most recent call last):\n" -" File \"\", line 6, in \n" -" 1/0\n" -" ~^~\n" -"ZeroDivisionError: division by zero\n" -"\n" -">>> TracebackException.from_exception(chained_exc).print(chain=False)\n" -"Traceback (most recent call last):\n" -" File \"\", line 6, in \n" -" 1/0\n" -" ~^~\n" -"ZeroDivisionError: division by zero" -msgstr "" - -#: ../../library/traceback.rst:21 -msgid "object" -msgstr "objek" - -#: ../../library/traceback.rst:21 -msgid "traceback" -msgstr "" - -#: ../../library/traceback.rst:91 -msgid "^ (caret)" -msgstr "" - -#: ../../library/traceback.rst:91 -msgid "marker" -msgstr "" diff --git a/python-newest.library--tracemalloc/id.po b/python-newest.library--tracemalloc/id.po deleted file mode 100644 index 88eedc7..0000000 --- a/python-newest.library--tracemalloc/id.po +++ /dev/null @@ -1,1026 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Faiq Zakki <221709674@stis.ac.id>, 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Faiq Zakki <221709674@stis.ac.id>, 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tracemalloc.rst:2 -msgid ":mod:`!tracemalloc` --- Trace memory allocations" -msgstr "" - -#: ../../library/tracemalloc.rst:9 -msgid "**Source code:** :source:`Lib/tracemalloc.py`" -msgstr "" - -#: ../../library/tracemalloc.rst:13 -msgid "" -"The tracemalloc module is a debug tool to trace memory blocks allocated by " -"Python. It provides the following information:" -msgstr "" - -#: ../../library/tracemalloc.rst:16 -msgid "Traceback where an object was allocated" -msgstr "" - -#: ../../library/tracemalloc.rst:17 -msgid "" -"Statistics on allocated memory blocks per filename and per line number: " -"total size, number and average size of allocated memory blocks" -msgstr "" - -#: ../../library/tracemalloc.rst:19 -msgid "Compute the differences between two snapshots to detect memory leaks" -msgstr "" - -#: ../../library/tracemalloc.rst:21 -msgid "" -"To trace most memory blocks allocated by Python, the module should be " -"started as early as possible by setting the :envvar:`PYTHONTRACEMALLOC` " -"environment variable to ``1``, or by using :option:`-X` ``tracemalloc`` " -"command line option. The :func:`tracemalloc.start` function can be called at" -" runtime to start tracing Python memory allocations." -msgstr "" - -#: ../../library/tracemalloc.rst:27 -msgid "" -"By default, a trace of an allocated memory block only stores the most recent" -" frame (1 frame). To store 25 frames at startup: set the " -":envvar:`PYTHONTRACEMALLOC` environment variable to ``25``, or use the " -":option:`-X` ``tracemalloc=25`` command line option." -msgstr "" - -#: ../../library/tracemalloc.rst:34 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/tracemalloc.rst:37 -msgid "Display the top 10" -msgstr "" - -#: ../../library/tracemalloc.rst:39 -msgid "Display the 10 files allocating the most memory::" -msgstr "" - -#: ../../library/tracemalloc.rst:41 -msgid "" -"import tracemalloc\n" -"\n" -"tracemalloc.start()\n" -"\n" -"# ... run your application ...\n" -"\n" -"snapshot = tracemalloc.take_snapshot()\n" -"top_stats = snapshot.statistics('lineno')\n" -"\n" -"print(\"[ Top 10 ]\")\n" -"for stat in top_stats[:10]:\n" -" print(stat)" -msgstr "" - -#: ../../library/tracemalloc.rst:55 ../../library/tracemalloc.rst:225 -msgid "Example of output of the Python test suite::" -msgstr "" - -#: ../../library/tracemalloc.rst:57 -msgid "" -"[ Top 10 ]\n" -":716: size=4855 KiB, count=39328, average=126 B\n" -":284: size=521 KiB, count=3199, average=167 B\n" -"/usr/lib/python3.4/collections/__init__.py:368: size=244 KiB, count=2315, average=108 B\n" -"/usr/lib/python3.4/unittest/case.py:381: size=185 KiB, count=779, average=243 B\n" -"/usr/lib/python3.4/unittest/case.py:402: size=154 KiB, count=378, average=416 B\n" -"/usr/lib/python3.4/abc.py:133: size=88.7 KiB, count=347, average=262 B\n" -":1446: size=70.4 KiB, count=911, average=79 B\n" -":1454: size=52.0 KiB, count=25, average=2131 B\n" -":5: size=49.7 KiB, count=148, average=344 B\n" -"/usr/lib/python3.4/sysconfig.py:411: size=48.0 KiB, count=1, average=48.0 KiB" -msgstr "" - -#: ../../library/tracemalloc.rst:69 -msgid "" -"We can see that Python loaded ``4855 KiB`` data (bytecode and constants) " -"from modules and that the :mod:`collections` module allocated ``244 KiB`` to" -" build :class:`~collections.namedtuple` types." -msgstr "" - -#: ../../library/tracemalloc.rst:73 ../../library/tracemalloc.rst:250 -msgid "See :meth:`Snapshot.statistics` for more options." -msgstr "" - -#: ../../library/tracemalloc.rst:77 -msgid "Compute differences" -msgstr "" - -#: ../../library/tracemalloc.rst:79 -msgid "Take two snapshots and display the differences::" -msgstr "" - -#: ../../library/tracemalloc.rst:81 -msgid "" -"import tracemalloc\n" -"tracemalloc.start()\n" -"# ... start your application ...\n" -"\n" -"snapshot1 = tracemalloc.take_snapshot()\n" -"# ... call the function leaking memory ...\n" -"snapshot2 = tracemalloc.take_snapshot()\n" -"\n" -"top_stats = snapshot2.compare_to(snapshot1, 'lineno')\n" -"\n" -"print(\"[ Top 10 differences ]\")\n" -"for stat in top_stats[:10]:\n" -" print(stat)" -msgstr "" - -#: ../../library/tracemalloc.rst:95 -msgid "" -"Example of output before/after running some tests of the Python test suite::" -msgstr "" - -#: ../../library/tracemalloc.rst:97 -msgid "" -"[ Top 10 differences ]\n" -":716: size=8173 KiB (+4428 KiB), count=71332 (+39369), average=117 B\n" -"/usr/lib/python3.4/linecache.py:127: size=940 KiB (+940 KiB), count=8106 (+8106), average=119 B\n" -"/usr/lib/python3.4/unittest/case.py:571: size=298 KiB (+298 KiB), count=589 (+589), average=519 B\n" -":284: size=1005 KiB (+166 KiB), count=7423 (+1526), average=139 B\n" -"/usr/lib/python3.4/mimetypes.py:217: size=112 KiB (+112 KiB), count=1334 (+1334), average=86 B\n" -"/usr/lib/python3.4/http/server.py:848: size=96.0 KiB (+96.0 KiB), count=1 (+1), average=96.0 KiB\n" -"/usr/lib/python3.4/inspect.py:1465: size=83.5 KiB (+83.5 KiB), count=109 (+109), average=784 B\n" -"/usr/lib/python3.4/unittest/mock.py:491: size=77.7 KiB (+77.7 KiB), count=143 (+143), average=557 B\n" -"/usr/lib/python3.4/urllib/parse.py:476: size=71.8 KiB (+71.8 KiB), count=969 (+969), average=76 B\n" -"/usr/lib/python3.4/contextlib.py:38: size=67.2 KiB (+67.2 KiB), count=126 (+126), average=546 B" -msgstr "" - -#: ../../library/tracemalloc.rst:109 -msgid "" -"We can see that Python has loaded ``8173 KiB`` of module data (bytecode and " -"constants), and that this is ``4428 KiB`` more than had been loaded before " -"the tests, when the previous snapshot was taken. Similarly, the " -":mod:`linecache` module has cached ``940 KiB`` of Python source code to " -"format tracebacks, all of it since the previous snapshot." -msgstr "" - -#: ../../library/tracemalloc.rst:115 -msgid "" -"If the system has little free memory, snapshots can be written on disk using" -" the :meth:`Snapshot.dump` method to analyze the snapshot offline. Then use " -"the :meth:`Snapshot.load` method reload the snapshot." -msgstr "" - -#: ../../library/tracemalloc.rst:121 -msgid "Get the traceback of a memory block" -msgstr "" - -#: ../../library/tracemalloc.rst:123 -msgid "Code to display the traceback of the biggest memory block::" -msgstr "" - -#: ../../library/tracemalloc.rst:125 -msgid "" -"import tracemalloc\n" -"\n" -"# Store 25 frames\n" -"tracemalloc.start(25)\n" -"\n" -"# ... run your application ...\n" -"\n" -"snapshot = tracemalloc.take_snapshot()\n" -"top_stats = snapshot.statistics('traceback')\n" -"\n" -"# pick the biggest memory block\n" -"stat = top_stats[0]\n" -"print(\"%s memory blocks: %.1f KiB\" % (stat.count, stat.size / 1024))\n" -"for line in stat.traceback.format():\n" -" print(line)" -msgstr "" - -#: ../../library/tracemalloc.rst:141 -msgid "" -"Example of output of the Python test suite (traceback limited to 25 " -"frames)::" -msgstr "" - -#: ../../library/tracemalloc.rst:143 -msgid "" -"903 memory blocks: 870.1 KiB\n" -" File \"\", line 716\n" -" File \"\", line 1036\n" -" File \"\", line 934\n" -" File \"\", line 1068\n" -" File \"\", line 619\n" -" File \"\", line 1581\n" -" File \"\", line 1614\n" -" File \"/usr/lib/python3.4/doctest.py\", line 101\n" -" import pdb\n" -" File \"\", line 284\n" -" File \"\", line 938\n" -" File \"\", line 1068\n" -" File \"\", line 619\n" -" File \"\", line 1581\n" -" File \"\", line 1614\n" -" File \"/usr/lib/python3.4/test/support/__init__.py\", line 1728\n" -" import doctest\n" -" File \"/usr/lib/python3.4/test/test_pickletools.py\", line 21\n" -" support.run_doctest(pickletools)\n" -" File \"/usr/lib/python3.4/test/regrtest.py\", line 1276\n" -" test_runner()\n" -" File \"/usr/lib/python3.4/test/regrtest.py\", line 976\n" -" display_failure=not verbose)\n" -" File \"/usr/lib/python3.4/test/regrtest.py\", line 761\n" -" match_tests=ns.match_tests)\n" -" File \"/usr/lib/python3.4/test/regrtest.py\", line 1563\n" -" main()\n" -" File \"/usr/lib/python3.4/test/__main__.py\", line 3\n" -" regrtest.main_in_temp_cwd()\n" -" File \"/usr/lib/python3.4/runpy.py\", line 73\n" -" exec(code, run_globals)\n" -" File \"/usr/lib/python3.4/runpy.py\", line 160\n" -" \"__main__\", fname, loader, pkg_name)" -msgstr "" - -#: ../../library/tracemalloc.rst:178 -msgid "" -"We can see that the most memory was allocated in the :mod:`importlib` module" -" to load data (bytecode and constants) from modules: ``870.1 KiB``. The " -"traceback is where the :mod:`importlib` loaded data most recently: on the " -"``import pdb`` line of the :mod:`doctest` module. The traceback may change " -"if a new module is loaded." -msgstr "" - -#: ../../library/tracemalloc.rst:186 -msgid "Pretty top" -msgstr "" - -#: ../../library/tracemalloc.rst:188 -msgid "" -"Code to display the 10 lines allocating the most memory with a pretty " -"output, ignoring ```` and ```` files::" -msgstr "" - -#: ../../library/tracemalloc.rst:191 -msgid "" -"import linecache\n" -"import os\n" -"import tracemalloc\n" -"\n" -"def display_top(snapshot, key_type='lineno', limit=10):\n" -" snapshot = snapshot.filter_traces((\n" -" tracemalloc.Filter(False, \"\"),\n" -" tracemalloc.Filter(False, \"\"),\n" -" ))\n" -" top_stats = snapshot.statistics(key_type)\n" -"\n" -" print(\"Top %s lines\" % limit)\n" -" for index, stat in enumerate(top_stats[:limit], 1):\n" -" frame = stat.traceback[0]\n" -" print(\"#%s: %s:%s: %.1f KiB\"\n" -" % (index, frame.filename, frame.lineno, stat.size / 1024))\n" -" line = linecache.getline(frame.filename, frame.lineno).strip()\n" -" if line:\n" -" print(' %s' % line)\n" -"\n" -" other = top_stats[limit:]\n" -" if other:\n" -" size = sum(stat.size for stat in other)\n" -" print(\"%s other: %.1f KiB\" % (len(other), size / 1024))\n" -" total = sum(stat.size for stat in top_stats)\n" -" print(\"Total allocated size: %.1f KiB\" % (total / 1024))\n" -"\n" -"tracemalloc.start()\n" -"\n" -"# ... run your application ...\n" -"\n" -"snapshot = tracemalloc.take_snapshot()\n" -"display_top(snapshot)" -msgstr "" - -#: ../../library/tracemalloc.rst:227 -msgid "" -"Top 10 lines\n" -"#1: Lib/base64.py:414: 419.8 KiB\n" -" _b85chars2 = [(a + b) for a in _b85chars for b in _b85chars]\n" -"#2: Lib/base64.py:306: 419.8 KiB\n" -" _a85chars2 = [(a + b) for a in _a85chars for b in _a85chars]\n" -"#3: collections/__init__.py:368: 293.6 KiB\n" -" exec(class_definition, namespace)\n" -"#4: Lib/abc.py:133: 115.2 KiB\n" -" cls = super().__new__(mcls, name, bases, namespace)\n" -"#5: unittest/case.py:574: 103.1 KiB\n" -" testMethod()\n" -"#6: Lib/linecache.py:127: 95.4 KiB\n" -" lines = fp.readlines()\n" -"#7: urllib/parse.py:476: 71.8 KiB\n" -" for a in _hexdig for b in _hexdig}\n" -"#8: :5: 62.0 KiB\n" -"#9: Lib/_weakrefset.py:37: 60.0 KiB\n" -" self.data = set()\n" -"#10: Lib/base64.py:142: 59.8 KiB\n" -" _b32tab2 = [a + b for a in _b32tab for b in _b32tab]\n" -"6220 other: 3602.8 KiB\n" -"Total allocated size: 5303.1 KiB" -msgstr "" - -#: ../../library/tracemalloc.rst:253 -msgid "Record the current and peak size of all traced memory blocks" -msgstr "" - -#: ../../library/tracemalloc.rst:255 -msgid "" -"The following code computes two sums like ``0 + 1 + 2 + ...`` inefficiently," -" by creating a list of those numbers. This list consumes a lot of memory " -"temporarily. We can use :func:`get_traced_memory` and :func:`reset_peak` to " -"observe the small memory usage after the sum is computed as well as the peak" -" memory usage during the computations::" -msgstr "" - -#: ../../library/tracemalloc.rst:261 -msgid "" -"import tracemalloc\n" -"\n" -"tracemalloc.start()\n" -"\n" -"# Example code: compute a sum with a large temporary list\n" -"large_sum = sum(list(range(100000)))\n" -"\n" -"first_size, first_peak = tracemalloc.get_traced_memory()\n" -"\n" -"tracemalloc.reset_peak()\n" -"\n" -"# Example code: compute a sum with a small temporary list\n" -"small_sum = sum(list(range(1000)))\n" -"\n" -"second_size, second_peak = tracemalloc.get_traced_memory()\n" -"\n" -"print(f\"{first_size=}, {first_peak=}\")\n" -"print(f\"{second_size=}, {second_peak=}\")" -msgstr "" - -#: ../../library/tracemalloc.rst:280 ../../library/tracemalloc.rst:759 -msgid "Output::" -msgstr "" - -#: ../../library/tracemalloc.rst:282 -msgid "" -"first_size=664, first_peak=3592984\n" -"second_size=804, second_peak=29704" -msgstr "" - -#: ../../library/tracemalloc.rst:285 -msgid "" -"Using :func:`reset_peak` ensured we could accurately record the peak during " -"the computation of ``small_sum``, even though it is much smaller than the " -"overall peak size of memory blocks since the :func:`start` call. Without the" -" call to :func:`reset_peak`, ``second_peak`` would still be the peak from " -"the computation ``large_sum`` (that is, equal to ``first_peak``). In this " -"case, both peaks are much higher than the final memory usage, and which " -"suggests we could optimise (by removing the unnecessary call to " -":class:`list`, and writing ``sum(range(...))``)." -msgstr "" - -#: ../../library/tracemalloc.rst:295 -msgid "API" -msgstr "" - -#: ../../library/tracemalloc.rst:298 -msgid "Functions" -msgstr "Fungsi-Fungsi" - -#: ../../library/tracemalloc.rst:302 -msgid "Clear traces of memory blocks allocated by Python." -msgstr "" - -#: ../../library/tracemalloc.rst:304 -msgid "See also :func:`stop`." -msgstr "" - -#: ../../library/tracemalloc.rst:309 -msgid "" -"Get the traceback where the Python object *obj* was allocated. Return a " -":class:`Traceback` instance, or ``None`` if the :mod:`tracemalloc` module is" -" not tracing memory allocations or did not trace the allocation of the " -"object." -msgstr "" - -#: ../../library/tracemalloc.rst:314 -msgid "See also :func:`gc.get_referrers` and :func:`sys.getsizeof` functions." -msgstr "" - -#: ../../library/tracemalloc.rst:319 -msgid "Get the maximum number of frames stored in the traceback of a trace." -msgstr "" - -#: ../../library/tracemalloc.rst:321 -msgid "" -"The :mod:`tracemalloc` module must be tracing memory allocations to get the " -"limit, otherwise an exception is raised." -msgstr "" - -#: ../../library/tracemalloc.rst:324 -msgid "The limit is set by the :func:`start` function." -msgstr "" - -#: ../../library/tracemalloc.rst:329 -msgid "" -"Get the current size and peak size of memory blocks traced by the " -":mod:`tracemalloc` module as a tuple: ``(current: int, peak: int)``." -msgstr "" - -#: ../../library/tracemalloc.rst:335 -msgid "" -"Set the peak size of memory blocks traced by the :mod:`tracemalloc` module " -"to the current size." -msgstr "" - -#: ../../library/tracemalloc.rst:338 -msgid "" -"Do nothing if the :mod:`tracemalloc` module is not tracing memory " -"allocations." -msgstr "" - -#: ../../library/tracemalloc.rst:341 -msgid "" -"This function only modifies the recorded peak size, and does not modify or " -"clear any traces, unlike :func:`clear_traces`. Snapshots taken with " -":func:`take_snapshot` before a call to :func:`reset_peak` can be " -"meaningfully compared to snapshots taken after the call." -msgstr "" - -#: ../../library/tracemalloc.rst:346 -msgid "See also :func:`get_traced_memory`." -msgstr "" - -#: ../../library/tracemalloc.rst:353 -msgid "" -"Get the memory usage in bytes of the :mod:`tracemalloc` module used to store" -" traces of memory blocks. Return an :class:`int`." -msgstr "" - -#: ../../library/tracemalloc.rst:360 -msgid "" -"``True`` if the :mod:`tracemalloc` module is tracing Python memory " -"allocations, ``False`` otherwise." -msgstr "" - -#: ../../library/tracemalloc.rst:363 -msgid "See also :func:`start` and :func:`stop` functions." -msgstr "" - -#: ../../library/tracemalloc.rst:368 -msgid "" -"Start tracing Python memory allocations: install hooks on Python memory " -"allocators. Collected tracebacks of traces will be limited to *nframe* " -"frames. By default, a trace of a memory block only stores the most recent " -"frame: the limit is ``1``. *nframe* must be greater or equal to ``1``." -msgstr "" - -#: ../../library/tracemalloc.rst:373 -msgid "" -"You can still read the original number of total frames that composed the " -"traceback by looking at the :attr:`Traceback.total_nframe` attribute." -msgstr "" - -#: ../../library/tracemalloc.rst:376 -msgid "" -"Storing more than ``1`` frame is only useful to compute statistics grouped " -"by ``'traceback'`` or to compute cumulative statistics: see the " -":meth:`Snapshot.compare_to` and :meth:`Snapshot.statistics` methods." -msgstr "" - -#: ../../library/tracemalloc.rst:380 -msgid "" -"Storing more frames increases the memory and CPU overhead of the " -":mod:`tracemalloc` module. Use the :func:`get_tracemalloc_memory` function " -"to measure how much memory is used by the :mod:`tracemalloc` module." -msgstr "" - -#: ../../library/tracemalloc.rst:384 -msgid "" -"The :envvar:`PYTHONTRACEMALLOC` environment variable " -"(``PYTHONTRACEMALLOC=NFRAME``) and the :option:`-X` ``tracemalloc=NFRAME`` " -"command line option can be used to start tracing at startup." -msgstr "" - -#: ../../library/tracemalloc.rst:388 -msgid "" -"See also :func:`stop`, :func:`is_tracing` and :func:`get_traceback_limit` " -"functions." -msgstr "" - -#: ../../library/tracemalloc.rst:394 -msgid "" -"Stop tracing Python memory allocations: uninstall hooks on Python memory " -"allocators. Also clears all previously collected traces of memory blocks " -"allocated by Python." -msgstr "" - -#: ../../library/tracemalloc.rst:398 -msgid "" -"Call :func:`take_snapshot` function to take a snapshot of traces before " -"clearing them." -msgstr "" - -#: ../../library/tracemalloc.rst:401 -msgid "" -"See also :func:`start`, :func:`is_tracing` and :func:`clear_traces` " -"functions." -msgstr "" - -#: ../../library/tracemalloc.rst:407 -msgid "" -"Take a snapshot of traces of memory blocks allocated by Python. Return a new" -" :class:`Snapshot` instance." -msgstr "" - -#: ../../library/tracemalloc.rst:410 -msgid "" -"The snapshot does not include memory blocks allocated before the " -":mod:`tracemalloc` module started to trace memory allocations." -msgstr "" - -#: ../../library/tracemalloc.rst:413 -msgid "" -"Tracebacks of traces are limited to :func:`get_traceback_limit` frames. Use " -"the *nframe* parameter of the :func:`start` function to store more frames." -msgstr "" - -#: ../../library/tracemalloc.rst:416 -msgid "" -"The :mod:`tracemalloc` module must be tracing memory allocations to take a " -"snapshot, see the :func:`start` function." -msgstr "" - -#: ../../library/tracemalloc.rst:419 -msgid "See also the :func:`get_object_traceback` function." -msgstr "" - -#: ../../library/tracemalloc.rst:423 -msgid "DomainFilter" -msgstr "" - -#: ../../library/tracemalloc.rst:427 -msgid "Filter traces of memory blocks by their address space (domain)." -msgstr "" - -#: ../../library/tracemalloc.rst:433 -msgid "" -"If *inclusive* is ``True`` (include), match memory blocks allocated in the " -"address space :attr:`domain`." -msgstr "" - -#: ../../library/tracemalloc.rst:436 -msgid "" -"If *inclusive* is ``False`` (exclude), match memory blocks not allocated in " -"the address space :attr:`domain`." -msgstr "" - -#: ../../library/tracemalloc.rst:441 ../../library/tracemalloc.rst:693 -msgid "Address space of a memory block (``int``). Read-only property." -msgstr "" - -#: ../../library/tracemalloc.rst:445 -msgid "Filter" -msgstr "" - -#: ../../library/tracemalloc.rst:449 -msgid "Filter on traces of memory blocks." -msgstr "" - -#: ../../library/tracemalloc.rst:451 -msgid "" -"See the :func:`fnmatch.fnmatch` function for the syntax of " -"*filename_pattern*. The ``'.pyc'`` file extension is replaced with " -"``'.py'``." -msgstr "" - -#: ../../library/tracemalloc.rst:455 -msgid "Examples:" -msgstr "Contoh-contoh:" - -#: ../../library/tracemalloc.rst:457 -msgid "" -"``Filter(True, subprocess.__file__)`` only includes traces of the " -":mod:`subprocess` module" -msgstr "" - -#: ../../library/tracemalloc.rst:459 -msgid "" -"``Filter(False, tracemalloc.__file__)`` excludes traces of the " -":mod:`tracemalloc` module" -msgstr "" - -#: ../../library/tracemalloc.rst:461 -msgid "``Filter(False, \"\")`` excludes empty tracebacks" -msgstr "" - -#: ../../library/tracemalloc.rst:464 -msgid "The ``'.pyo'`` file extension is no longer replaced with ``'.py'``." -msgstr "" - -#: ../../library/tracemalloc.rst:467 ../../library/tracemalloc.rst:688 -msgid "Added the :attr:`domain` attribute." -msgstr "" - -#: ../../library/tracemalloc.rst:473 -msgid "Address space of a memory block (``int`` or ``None``)." -msgstr "" - -#: ../../library/tracemalloc.rst:475 ../../library/tracemalloc.rst:695 -msgid "" -"tracemalloc uses the domain ``0`` to trace memory allocations made by " -"Python. C extensions can use other domains to trace other resources." -msgstr "" - -#: ../../library/tracemalloc.rst:480 -msgid "" -"If *inclusive* is ``True`` (include), only match memory blocks allocated in " -"a file with a name matching :attr:`filename_pattern` at line number " -":attr:`lineno`." -msgstr "" - -#: ../../library/tracemalloc.rst:484 -msgid "" -"If *inclusive* is ``False`` (exclude), ignore memory blocks allocated in a " -"file with a name matching :attr:`filename_pattern` at line number " -":attr:`lineno`." -msgstr "" - -#: ../../library/tracemalloc.rst:490 -msgid "" -"Line number (``int``) of the filter. If *lineno* is ``None``, the filter " -"matches any line number." -msgstr "" - -#: ../../library/tracemalloc.rst:495 -msgid "Filename pattern of the filter (``str``). Read-only property." -msgstr "" - -#: ../../library/tracemalloc.rst:499 -msgid "" -"If *all_frames* is ``True``, all frames of the traceback are checked. If " -"*all_frames* is ``False``, only the most recent frame is checked." -msgstr "" - -#: ../../library/tracemalloc.rst:502 -msgid "" -"This attribute has no effect if the traceback limit is ``1``. See the " -":func:`get_traceback_limit` function and :attr:`Snapshot.traceback_limit` " -"attribute." -msgstr "" - -#: ../../library/tracemalloc.rst:508 -msgid "Frame" -msgstr "" - -#: ../../library/tracemalloc.rst:512 -msgid "Frame of a traceback." -msgstr "" - -#: ../../library/tracemalloc.rst:514 -msgid "" -"The :class:`Traceback` class is a sequence of :class:`Frame` instances." -msgstr "" - -#: ../../library/tracemalloc.rst:518 -msgid "Filename (``str``)." -msgstr "" - -#: ../../library/tracemalloc.rst:522 -msgid "Line number (``int``)." -msgstr "" - -#: ../../library/tracemalloc.rst:526 -msgid "Snapshot" -msgstr "" - -#: ../../library/tracemalloc.rst:530 -msgid "Snapshot of traces of memory blocks allocated by Python." -msgstr "" - -#: ../../library/tracemalloc.rst:532 -msgid "The :func:`take_snapshot` function creates a snapshot instance." -msgstr "" - -#: ../../library/tracemalloc.rst:536 -msgid "" -"Compute the differences with an old snapshot. Get statistics as a sorted " -"list of :class:`StatisticDiff` instances grouped by *key_type*." -msgstr "" - -#: ../../library/tracemalloc.rst:539 -msgid "" -"See the :meth:`Snapshot.statistics` method for *key_type* and *cumulative* " -"parameters." -msgstr "" - -#: ../../library/tracemalloc.rst:542 -msgid "" -"The result is sorted from the biggest to the smallest by: absolute value of " -":attr:`StatisticDiff.size_diff`, :attr:`StatisticDiff.size`, absolute value " -"of :attr:`StatisticDiff.count_diff`, :attr:`Statistic.count` and then by " -":attr:`StatisticDiff.traceback`." -msgstr "" - -#: ../../library/tracemalloc.rst:550 -msgid "Write the snapshot into a file." -msgstr "" - -#: ../../library/tracemalloc.rst:552 -msgid "Use :meth:`load` to reload the snapshot." -msgstr "" - -#: ../../library/tracemalloc.rst:557 -msgid "" -"Create a new :class:`Snapshot` instance with a filtered :attr:`traces` " -"sequence, *filters* is a list of :class:`DomainFilter` and :class:`Filter` " -"instances. If *filters* is an empty list, return a new :class:`Snapshot` " -"instance with a copy of the traces." -msgstr "" - -#: ../../library/tracemalloc.rst:562 -msgid "" -"All inclusive filters are applied at once, a trace is ignored if no " -"inclusive filters match it. A trace is ignored if at least one exclusive " -"filter matches it." -msgstr "" - -#: ../../library/tracemalloc.rst:566 -msgid ":class:`DomainFilter` instances are now also accepted in *filters*." -msgstr "" - -#: ../../library/tracemalloc.rst:572 -msgid "Load a snapshot from a file." -msgstr "" - -#: ../../library/tracemalloc.rst:574 -msgid "See also :meth:`dump`." -msgstr "" - -#: ../../library/tracemalloc.rst:579 -msgid "" -"Get statistics as a sorted list of :class:`Statistic` instances grouped by " -"*key_type*:" -msgstr "" - -#: ../../library/tracemalloc.rst:583 -msgid "key_type" -msgstr "" - -#: ../../library/tracemalloc.rst:583 -msgid "description" -msgstr "deskripsi" - -#: ../../library/tracemalloc.rst:585 -msgid "``'filename'``" -msgstr "" - -#: ../../library/tracemalloc.rst:585 -msgid "filename" -msgstr "" - -#: ../../library/tracemalloc.rst:586 -msgid "``'lineno'``" -msgstr "" - -#: ../../library/tracemalloc.rst:586 -msgid "filename and line number" -msgstr "" - -#: ../../library/tracemalloc.rst:587 -msgid "``'traceback'``" -msgstr "" - -#: ../../library/tracemalloc.rst:587 -msgid "traceback" -msgstr "" - -#: ../../library/tracemalloc.rst:590 -msgid "" -"If *cumulative* is ``True``, cumulate size and count of memory blocks of all" -" frames of the traceback of a trace, not only the most recent frame. The " -"cumulative mode can only be used with *key_type* equals to ``'filename'`` " -"and ``'lineno'``." -msgstr "" - -#: ../../library/tracemalloc.rst:595 -msgid "" -"The result is sorted from the biggest to the smallest by: " -":attr:`Statistic.size`, :attr:`Statistic.count` and then by " -":attr:`Statistic.traceback`." -msgstr "" - -#: ../../library/tracemalloc.rst:602 -msgid "" -"Maximum number of frames stored in the traceback of :attr:`traces`: result " -"of the :func:`get_traceback_limit` when the snapshot was taken." -msgstr "" - -#: ../../library/tracemalloc.rst:607 -msgid "" -"Traces of all memory blocks allocated by Python: sequence of :class:`Trace` " -"instances." -msgstr "" - -#: ../../library/tracemalloc.rst:610 -msgid "" -"The sequence has an undefined order. Use the :meth:`Snapshot.statistics` " -"method to get a sorted list of statistics." -msgstr "" - -#: ../../library/tracemalloc.rst:615 -msgid "Statistic" -msgstr "" - -#: ../../library/tracemalloc.rst:619 -msgid "Statistic on memory allocations." -msgstr "" - -#: ../../library/tracemalloc.rst:621 -msgid "" -":func:`Snapshot.statistics` returns a list of :class:`Statistic` instances." -msgstr "" - -#: ../../library/tracemalloc.rst:623 -msgid "See also the :class:`StatisticDiff` class." -msgstr "" - -#: ../../library/tracemalloc.rst:627 -msgid "Number of memory blocks (``int``)." -msgstr "" - -#: ../../library/tracemalloc.rst:631 -msgid "Total size of memory blocks in bytes (``int``)." -msgstr "" - -#: ../../library/tracemalloc.rst:635 ../../library/tracemalloc.rst:704 -msgid "" -"Traceback where the memory block was allocated, :class:`Traceback` instance." -msgstr "" - -#: ../../library/tracemalloc.rst:640 -msgid "StatisticDiff" -msgstr "" - -#: ../../library/tracemalloc.rst:644 -msgid "" -"Statistic difference on memory allocations between an old and a new " -":class:`Snapshot` instance." -msgstr "" - -#: ../../library/tracemalloc.rst:647 -msgid "" -":func:`Snapshot.compare_to` returns a list of :class:`StatisticDiff` " -"instances. See also the :class:`Statistic` class." -msgstr "" - -#: ../../library/tracemalloc.rst:652 -msgid "" -"Number of memory blocks in the new snapshot (``int``): ``0`` if the memory " -"blocks have been released in the new snapshot." -msgstr "" - -#: ../../library/tracemalloc.rst:657 -msgid "" -"Difference of number of memory blocks between the old and the new snapshots " -"(``int``): ``0`` if the memory blocks have been allocated in the new " -"snapshot." -msgstr "" - -#: ../../library/tracemalloc.rst:663 -msgid "" -"Total size of memory blocks in bytes in the new snapshot (``int``): ``0`` if" -" the memory blocks have been released in the new snapshot." -msgstr "" - -#: ../../library/tracemalloc.rst:668 -msgid "" -"Difference of total size of memory blocks in bytes between the old and the " -"new snapshots (``int``): ``0`` if the memory blocks have been allocated in " -"the new snapshot." -msgstr "" - -#: ../../library/tracemalloc.rst:674 -msgid "" -"Traceback where the memory blocks were allocated, :class:`Traceback` " -"instance." -msgstr "" - -#: ../../library/tracemalloc.rst:679 -msgid "Trace" -msgstr "" - -#: ../../library/tracemalloc.rst:683 -msgid "Trace of a memory block." -msgstr "" - -#: ../../library/tracemalloc.rst:685 -msgid "" -"The :attr:`Snapshot.traces` attribute is a sequence of :class:`Trace` " -"instances." -msgstr "" - -#: ../../library/tracemalloc.rst:700 -msgid "Size of the memory block in bytes (``int``)." -msgstr "" - -#: ../../library/tracemalloc.rst:709 -msgid "Traceback" -msgstr "" - -#: ../../library/tracemalloc.rst:713 -msgid "" -"Sequence of :class:`Frame` instances sorted from the oldest frame to the " -"most recent frame." -msgstr "" - -#: ../../library/tracemalloc.rst:716 -msgid "" -"A traceback contains at least ``1`` frame. If the ``tracemalloc`` module " -"failed to get a frame, the filename ``\"\"`` at line number ``0`` " -"is used." -msgstr "" - -#: ../../library/tracemalloc.rst:720 -msgid "" -"When a snapshot is taken, tracebacks of traces are limited to " -":func:`get_traceback_limit` frames. See the :func:`take_snapshot` function. " -"The original number of frames of the traceback is stored in the " -":attr:`Traceback.total_nframe` attribute. That allows to know if a traceback" -" has been truncated by the traceback limit." -msgstr "" - -#: ../../library/tracemalloc.rst:726 -msgid "" -"The :attr:`Trace.traceback` attribute is an instance of :class:`Traceback` " -"instance." -msgstr "" - -#: ../../library/tracemalloc.rst:729 -msgid "" -"Frames are now sorted from the oldest to the most recent, instead of most " -"recent to oldest." -msgstr "" - -#: ../../library/tracemalloc.rst:734 -msgid "" -"Total number of frames that composed the traceback before truncation. This " -"attribute can be set to ``None`` if the information is not available." -msgstr "" - -#: ../../library/tracemalloc.rst:738 -msgid "The :attr:`Traceback.total_nframe` attribute was added." -msgstr "" - -#: ../../library/tracemalloc.rst:743 -msgid "" -"Format the traceback as a list of lines. Use the :mod:`linecache` module to " -"retrieve lines from the source code. If *limit* is set, format the *limit* " -"most recent frames if *limit* is positive. Otherwise, format the " -"``abs(limit)`` oldest frames. If *most_recent_first* is ``True``, the order " -"of the formatted frames is reversed, returning the most recent frame first " -"instead of last." -msgstr "" - -#: ../../library/tracemalloc.rst:750 -msgid "" -"Similar to the :func:`traceback.format_tb` function, except that " -":meth:`.format` does not include newlines." -msgstr "" - -#: ../../library/tracemalloc.rst:753 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/tracemalloc.rst:755 -msgid "" -"print(\"Traceback (most recent call first):\")\n" -"for line in traceback:\n" -" print(line)" -msgstr "" - -#: ../../library/tracemalloc.rst:761 -msgid "" -"Traceback (most recent call first):\n" -" File \"test.py\", line 9\n" -" obj = Object()\n" -" File \"test.py\", line 12\n" -" tb = tracemalloc.get_object_traceback(f())" -msgstr "" diff --git a/python-newest.library--tty/id.po b/python-newest.library--tty/id.po deleted file mode 100644 index 01093b9..0000000 --- a/python-newest.library--tty/id.po +++ /dev/null @@ -1,111 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/tty.rst:2 -msgid ":mod:`!tty` --- Terminal control functions" -msgstr "" - -#: ../../library/tty.rst:11 -msgid "**Source code:** :source:`Lib/tty.py`" -msgstr "" - -#: ../../library/tty.rst:15 -msgid "" -"The :mod:`tty` module defines functions for putting the tty into cbreak and " -"raw modes." -msgstr "" - -#: ../../library/tty.rst:18 -msgid "Availability" -msgstr "" - -#: ../../library/tty.rst:20 -msgid "" -"Because it requires the :mod:`termios` module, it will work only on Unix." -msgstr "" - -#: ../../library/tty.rst:22 -msgid "The :mod:`tty` module defines the following functions:" -msgstr "" - -#: ../../library/tty.rst:27 -msgid "" -"Convert the tty attribute list *mode*, which is a list like the one returned" -" by :func:`termios.tcgetattr`, to that of a tty in raw mode." -msgstr "" - -#: ../../library/tty.rst:35 -msgid "" -"Convert the tty attribute list *mode*, which is a list like the one returned" -" by :func:`termios.tcgetattr`, to that of a tty in cbreak mode." -msgstr "" - -#: ../../library/tty.rst:38 -msgid "" -"This clears the ``ECHO`` and ``ICANON`` local mode flags in *mode* as well " -"as setting the minimum input to 1 byte with no delay." -msgstr "" - -#: ../../library/tty.rst:43 -msgid "" -"The ``ICRNL`` flag is no longer cleared. This matches Linux and macOS ``stty" -" cbreak`` behavior and what :func:`setcbreak` historically did." -msgstr "" - -#: ../../library/tty.rst:50 -msgid "" -"Change the mode of the file descriptor *fd* to raw. If *when* is omitted, it" -" defaults to :const:`termios.TCSAFLUSH`, and is passed to " -":func:`termios.tcsetattr`. The return value of :func:`termios.tcgetattr` is " -"saved before setting *fd* to raw mode; this value is returned." -msgstr "" - -#: ../../library/tty.rst:55 ../../library/tty.rst:69 -msgid "" -"The return value is now the original tty attributes, instead of ``None``." -msgstr "" - -#: ../../library/tty.rst:61 -msgid "" -"Change the mode of file descriptor *fd* to cbreak. If *when* is omitted, it " -"defaults to :const:`termios.TCSAFLUSH`, and is passed to " -":func:`termios.tcsetattr`. The return value of :func:`termios.tcgetattr` is " -"saved before setting *fd* to cbreak mode; this value is returned." -msgstr "" - -#: ../../library/tty.rst:66 -msgid "" -"This clears the ``ECHO`` and ``ICANON`` local mode flags as well as setting " -"the minimum input to 1 byte with no delay." -msgstr "" - -#: ../../library/tty.rst:72 -msgid "" -"The ``ICRNL`` flag is no longer cleared. This restores the behavior of " -"Python 3.11 and earlier as well as matching what Linux, macOS, & BSDs " -"describe in their ``stty(1)`` man pages regarding cbreak mode." -msgstr "" - -#: ../../library/tty.rst:80 -msgid "Module :mod:`termios`" -msgstr "" - -#: ../../library/tty.rst:81 -msgid "Low-level terminal control interface." -msgstr "" diff --git a/python-newest.library--turtle/id.po b/python-newest.library--turtle/id.po deleted file mode 100644 index ba4164d..0000000 --- a/python-newest.library--turtle/id.po +++ /dev/null @@ -1,3903 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Helen Febriani , 2018 -# Elmo , 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/turtle.rst:3 -msgid ":mod:`!turtle` --- Turtle graphics" -msgstr "" - -#: ../../library/turtle.rst:10 -msgid "**Source code:** :source:`Lib/turtle.py`" -msgstr "" - -#: ../../library/turtle.rst:25 -msgid "Introduction" -msgstr "Pengantar" - -#: ../../library/turtle.rst:27 -msgid "" -"Turtle graphics is an implementation of `the popular geometric drawing tools" -" introduced in Logo `_, " -"developed by Wally Feurzeig, Seymour Papert and Cynthia Solomon in 1967." -msgstr "" - -#: ../../library/turtle.rst:34 -msgid "Get started" -msgstr "" - -#: ../../library/turtle.rst:36 -msgid "" -"Imagine a robotic turtle starting at (0, 0) in the x-y plane. After an " -"``import turtle``, give it the command ``turtle.forward(15)``, and it moves " -"(on-screen!) 15 pixels in the direction it is facing, drawing a line as it " -"moves. Give it the command ``turtle.right(25)``, and it rotates in-place 25" -" degrees clockwise." -msgstr "" - -#: ../../library/turtle.rst:43 -msgid "" -"Turtle can draw intricate shapes using programs that repeat simple moves." -msgstr "" - -#: ../../library/turtle.rst:49 -msgid "" -"In Python, turtle graphics provides a representation of a physical " -"\"turtle\" (a little robot with a pen) that draws on a sheet of paper on the" -" floor." -msgstr "" - -#: ../../library/turtle.rst:52 -msgid "" -"It's an effective and well-proven way for learners to encounter programming " -"concepts and interaction with software, as it provides instant, visible " -"feedback. It also provides convenient access to graphical output in general." -msgstr "" - -#: ../../library/turtle.rst:57 -msgid "" -"Turtle drawing was originally created as an educational tool, to be used by " -"teachers in the classroom. For the programmer who needs to produce some " -"graphical output it can be a way to do that without the overhead of " -"introducing more complex or external libraries into their work." -msgstr "" - -#: ../../library/turtle.rst:66 -msgid "Tutorial" -msgstr "Tutorial" - -#: ../../library/turtle.rst:68 -msgid "" -"New users should start here. In this tutorial we'll explore some of the " -"basics of turtle drawing." -msgstr "" - -#: ../../library/turtle.rst:73 -msgid "Starting a turtle environment" -msgstr "" - -#: ../../library/turtle.rst:75 -msgid "In a Python shell, import all the objects of the ``turtle`` module::" -msgstr "" - -#: ../../library/turtle.rst:77 -msgid "from turtle import *" -msgstr "" - -#: ../../library/turtle.rst:79 -msgid "" -"If you run into a ``No module named '_tkinter'`` error, you'll have to " -"install the :mod:`Tk interface package ` on your system." -msgstr "" - -#: ../../library/turtle.rst:84 -msgid "Basic drawing" -msgstr "" - -#: ../../library/turtle.rst:86 -msgid "Send the turtle forward 100 steps::" -msgstr "" - -#: ../../library/turtle.rst:88 -msgid "forward(100)" -msgstr "" - -#: ../../library/turtle.rst:90 -msgid "" -"You should see (most likely, in a new window on your display) a line drawn " -"by the turtle, heading East. Change the direction of the turtle, so that it " -"turns 120 degrees left (anti-clockwise)::" -msgstr "" - -#: ../../library/turtle.rst:94 -msgid "left(120)" -msgstr "" - -#: ../../library/turtle.rst:96 -msgid "Let's continue by drawing a triangle::" -msgstr "" - -#: ../../library/turtle.rst:98 -msgid "" -"forward(100)\n" -"left(120)\n" -"forward(100)" -msgstr "" - -#: ../../library/turtle.rst:102 -msgid "" -"Notice how the turtle, represented by an arrow, points in different " -"directions as you steer it." -msgstr "" - -#: ../../library/turtle.rst:105 -msgid "" -"Experiment with those commands, and also with ``backward()`` and " -"``right()``." -msgstr "" - -#: ../../library/turtle.rst:110 ../../library/turtle.rst:364 -#: ../../library/turtle.rst:1058 -msgid "Pen control" -msgstr "" - -#: ../../library/turtle.rst:112 -msgid "" -"Try changing the color - for example, ``color('blue')`` - and width of the " -"line - for example, ``width(3)`` - and then drawing again." -msgstr "" - -#: ../../library/turtle.rst:115 -msgid "" -"You can also move the turtle around without drawing, by lifting up the pen: " -"``up()`` before moving. To start drawing again, use ``down()``." -msgstr "" - -#: ../../library/turtle.rst:120 -msgid "The turtle's position" -msgstr "" - -#: ../../library/turtle.rst:122 -msgid "" -"Send your turtle back to its starting-point (useful if it has disappeared " -"off-screen)::" -msgstr "" - -#: ../../library/turtle.rst:125 -msgid "home()" -msgstr "" - -#: ../../library/turtle.rst:127 -msgid "" -"The home position is at the center of the turtle's screen. If you ever need " -"to know them, get the turtle's x-y coordinates with::" -msgstr "" - -#: ../../library/turtle.rst:130 -msgid "pos()" -msgstr "" - -#: ../../library/turtle.rst:132 -msgid "Home is at ``(0, 0)``." -msgstr "" - -#: ../../library/turtle.rst:134 -msgid "" -"And after a while, it will probably help to clear the window so we can start" -" anew::" -msgstr "" - -#: ../../library/turtle.rst:137 -msgid "clearscreen()" -msgstr "" - -#: ../../library/turtle.rst:141 -msgid "Making algorithmic patterns" -msgstr "" - -#: ../../library/turtle.rst:143 -msgid "Using loops, it's possible to build up geometric patterns::" -msgstr "" - -#: ../../library/turtle.rst:145 -msgid "" -"for steps in range(100):\n" -" for c in ('blue', 'red', 'green'):\n" -" color(c)\n" -" forward(steps)\n" -" right(30)" -msgstr "" - -#: ../../library/turtle.rst:152 -msgid "\\ - which of course, are limited only by the imagination!" -msgstr "" - -#: ../../library/turtle.rst:154 -msgid "" -"Let's draw the star shape at the top of this page. We want red lines, filled" -" in with yellow::" -msgstr "" - -#: ../../library/turtle.rst:157 -msgid "" -"color('red')\n" -"fillcolor('yellow')" -msgstr "" - -#: ../../library/turtle.rst:160 -msgid "" -"Just as ``up()`` and ``down()`` determine whether lines will be drawn, " -"filling can be turned on and off::" -msgstr "" - -#: ../../library/turtle.rst:163 -msgid "begin_fill()" -msgstr "" - -#: ../../library/turtle.rst:165 -msgid "Next we'll create a loop::" -msgstr "" - -#: ../../library/turtle.rst:167 -msgid "" -"while True:\n" -" forward(200)\n" -" left(170)\n" -" if abs(pos()) < 1:\n" -" break" -msgstr "" - -#: ../../library/turtle.rst:173 -msgid "" -"``abs(pos()) < 1`` is a good way to know when the turtle is back at its home" -" position." -msgstr "" - -#: ../../library/turtle.rst:176 -msgid "Finally, complete the filling::" -msgstr "" - -#: ../../library/turtle.rst:178 -msgid "end_fill()" -msgstr "" - -#: ../../library/turtle.rst:180 -msgid "" -"(Note that filling only actually takes place when you give the " -"``end_fill()`` command.)" -msgstr "" - -#: ../../library/turtle.rst:187 -msgid "How to..." -msgstr "" - -#: ../../library/turtle.rst:189 -msgid "This section covers some typical turtle use-cases and approaches." -msgstr "" - -#: ../../library/turtle.rst:193 -msgid "Get started as quickly as possible" -msgstr "" - -#: ../../library/turtle.rst:195 -msgid "" -"One of the joys of turtle graphics is the immediate, visual feedback that's " -"available from simple commands - it's an excellent way to introduce children" -" to programming ideas, with a minimum of overhead (not just children, of " -"course)." -msgstr "" - -#: ../../library/turtle.rst:200 -msgid "" -"The turtle module makes this possible by exposing all its basic " -"functionality as functions, available with ``from turtle import *``. The " -":ref:`turtle graphics tutorial ` covers this approach." -msgstr "" - -#: ../../library/turtle.rst:204 -msgid "" -"It's worth noting that many of the turtle commands also have even more terse" -" equivalents, such as ``fd()`` for :func:`forward`. These are especially " -"useful when working with learners for whom typing is not a skill." -msgstr "" - -#: ../../library/turtle.rst:210 -msgid "" -"You'll need to have the :mod:`Tk interface package ` installed on " -"your system for turtle graphics to work. Be warned that this is not always " -"straightforward, so check this in advance if you're planning to use turtle " -"graphics with a learner." -msgstr "" - -#: ../../library/turtle.rst:217 -msgid "Automatically begin and end filling" -msgstr "" - -#: ../../library/turtle.rst:219 -msgid "" -"Starting with Python 3.14, you can use the :func:`fill` :term:`context " -"manager` instead of :func:`begin_fill` and :func:`end_fill` to automatically" -" begin and end fill. Here is an example::" -msgstr "" - -#: ../../library/turtle.rst:223 -msgid "" -"with fill():\n" -" for i in range(4):\n" -" forward(100)\n" -" right(90)\n" -"\n" -"forward(200)" -msgstr "" - -#: ../../library/turtle.rst:230 -msgid "The code above is equivalent to::" -msgstr "" - -#: ../../library/turtle.rst:232 -msgid "" -"begin_fill()\n" -"for i in range(4):\n" -" forward(100)\n" -" right(90)\n" -"end_fill()\n" -"\n" -"forward(200)" -msgstr "" - -#: ../../library/turtle.rst:242 -msgid "Use the ``turtle`` module namespace" -msgstr "" - -#: ../../library/turtle.rst:244 -msgid "" -"Using ``from turtle import *`` is convenient - but be warned that it imports" -" a rather large collection of objects, and if you're doing anything but " -"turtle graphics you run the risk of a name conflict (this becomes even more " -"an issue if you're using turtle graphics in a script where other modules " -"might be imported)." -msgstr "" - -#: ../../library/turtle.rst:250 -msgid "" -"The solution is to use ``import turtle`` - ``fd()`` becomes ``turtle.fd()``," -" ``width()`` becomes ``turtle.width()`` and so on. (If typing \"turtle\" " -"over and over again becomes tedious, use for example ``import turtle as t`` " -"instead.)" -msgstr "" - -#: ../../library/turtle.rst:257 -msgid "Use turtle graphics in a script" -msgstr "" - -#: ../../library/turtle.rst:259 -msgid "" -"It's recommended to use the ``turtle`` module namespace as described " -"immediately above, for example::" -msgstr "" - -#: ../../library/turtle.rst:262 -msgid "" -"import turtle as t\n" -"from random import random\n" -"\n" -"for i in range(100):\n" -" steps = int(random() * 100)\n" -" angle = int(random() * 360)\n" -" t.right(angle)\n" -" t.fd(steps)" -msgstr "" - -#: ../../library/turtle.rst:271 -msgid "" -"Another step is also required though - as soon as the script ends, Python " -"will also close the turtle's window. Add::" -msgstr "" - -#: ../../library/turtle.rst:274 -msgid "t.mainloop()" -msgstr "" - -#: ../../library/turtle.rst:276 -msgid "" -"to the end of the script. The script will now wait to be dismissed and will " -"not exit until it is terminated, for example by closing the turtle graphics " -"window." -msgstr "" - -#: ../../library/turtle.rst:282 -msgid "Use object-oriented turtle graphics" -msgstr "" - -#: ../../library/turtle.rst:284 -msgid "" -":ref:`Explanation of the object-oriented interface `" -msgstr "" - -#: ../../library/turtle.rst:286 -msgid "" -"Other than for very basic introductory purposes, or for trying things out as" -" quickly as possible, it's more usual and much more powerful to use the " -"object-oriented approach to turtle graphics. For example, this allows " -"multiple turtles on screen at once." -msgstr "" - -#: ../../library/turtle.rst:291 -msgid "" -"In this approach, the various turtle commands are methods of objects (mostly" -" of ``Turtle`` objects). You *can* use the object-oriented approach in the " -"shell, but it would be more typical in a Python script." -msgstr "" - -#: ../../library/turtle.rst:295 -msgid "The example above then becomes::" -msgstr "" - -#: ../../library/turtle.rst:297 -msgid "" -"from turtle import Turtle\n" -"from random import random\n" -"\n" -"t = Turtle()\n" -"for i in range(100):\n" -" steps = int(random() * 100)\n" -" angle = int(random() * 360)\n" -" t.right(angle)\n" -" t.fd(steps)\n" -"\n" -"t.screen.mainloop()" -msgstr "" - -#: ../../library/turtle.rst:309 -msgid "" -"Note the last line. ``t.screen`` is an instance of the :class:`Screen` that " -"a Turtle instance exists on; it's created automatically along with the " -"turtle." -msgstr "" - -#: ../../library/turtle.rst:313 -msgid "The turtle's screen can be customised, for example::" -msgstr "" - -#: ../../library/turtle.rst:315 -msgid "" -"t.screen.title('Object-oriented turtle demo')\n" -"t.screen.bgcolor(\"orange\")" -msgstr "" - -#: ../../library/turtle.rst:320 -msgid "Turtle graphics reference" -msgstr "" - -#: ../../library/turtle.rst:324 -msgid "" -"In the following documentation the argument list for functions is given. " -"Methods, of course, have the additional first argument *self* which is " -"omitted here." -msgstr "" - -#: ../../library/turtle.rst:330 -msgid "Turtle methods" -msgstr "" - -#: ../../library/turtle.rst:332 ../../library/turtle.rst:475 -msgid "Turtle motion" -msgstr "" - -#: ../../library/turtle.rst:333 -msgid "Move and draw" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`forward` | :func:`fd`" -msgstr ":func:`forward` | :func:`fd`" - -#: ../../library/turtle.rst:0 -msgid ":func:`backward` | :func:`bk` | :func:`back`" -msgstr ":func:`backward` | :func:`bk` | :func:`back`" - -#: ../../library/turtle.rst:0 -msgid ":func:`right` | :func:`rt`" -msgstr ":func:`right` | :func:`rt`" - -#: ../../library/turtle.rst:0 -msgid ":func:`left` | :func:`lt`" -msgstr ":func:`left` | :func:`lt`" - -#: ../../library/turtle.rst:0 -msgid ":func:`goto` | :func:`setpos` | :func:`setposition`" -msgstr ":func:`goto` | :func:`setpos` | :func:`setposition`" - -#: ../../library/turtle.rst:0 -msgid ":func:`teleport`" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`setx`" -msgstr ":func:`setx`" - -#: ../../library/turtle.rst:0 -msgid ":func:`sety`" -msgstr ":func:`sety`" - -#: ../../library/turtle.rst:0 -msgid ":func:`setheading` | :func:`seth`" -msgstr ":func:`setheading` | :func:`seth`" - -#: ../../library/turtle.rst:0 -msgid ":func:`home`" -msgstr ":func:`home`" - -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2832 -msgid ":func:`circle`" -msgstr ":func:`circle`" - -#: ../../library/turtle.rst:0 -msgid ":func:`dot`" -msgstr ":func:`dot`" - -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2810 -msgid ":func:`stamp`" -msgstr ":func:`stamp`" - -#: ../../library/turtle.rst:0 -msgid ":func:`clearstamp`" -msgstr ":func:`clearstamp`" - -#: ../../library/turtle.rst:0 -msgid ":func:`clearstamps`" -msgstr ":func:`clearstamps`" - -#: ../../library/turtle.rst:0 -msgid ":func:`undo`" -msgstr ":func:`undo`" - -#: ../../library/turtle.rst:0 -msgid ":func:`speed`" -msgstr ":func:`speed`" - -#: ../../library/turtle.rst:352 ../../library/turtle.rst:907 -msgid "Tell Turtle's state" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`position` | :func:`pos`" -msgstr ":func:`position` | :func:`pos`" - -#: ../../library/turtle.rst:0 -msgid ":func:`towards`" -msgstr ":func:`towards`" - -#: ../../library/turtle.rst:0 -msgid ":func:`xcor`" -msgstr ":func:`xcor`" - -#: ../../library/turtle.rst:0 -msgid ":func:`ycor`" -msgstr ":func:`ycor`" - -#: ../../library/turtle.rst:0 -msgid ":func:`heading`" -msgstr ":func:`heading`" - -#: ../../library/turtle.rst:0 -msgid ":func:`distance`" -msgstr ":func:`distance`" - -#: ../../library/turtle.rst:360 -msgid "Setting and measurement" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`degrees`" -msgstr ":func:`degrees`" - -#: ../../library/turtle.rst:0 -msgid ":func:`radians`" -msgstr ":func:`radians`" - -#: ../../library/turtle.rst:365 ../../library/turtle.rst:1061 -msgid "Drawing state" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`pendown` | :func:`pd` | :func:`down`" -msgstr ":func:`pendown` | :func:`pd` | :func:`down`" - -#: ../../library/turtle.rst:0 -msgid ":func:`penup` | :func:`pu` | :func:`up`" -msgstr ":func:`penup` | :func:`pu` | :func:`up`" - -#: ../../library/turtle.rst:0 -msgid ":func:`pensize` | :func:`width`" -msgstr ":func:`pensize` | :func:`width`" - -#: ../../library/turtle.rst:0 -msgid ":func:`pen`" -msgstr ":func:`pen`" - -#: ../../library/turtle.rst:0 -msgid ":func:`isdown`" -msgstr ":func:`isdown`" - -#: ../../library/turtle.rst:372 ../../library/turtle.rst:1153 -msgid "Color control" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`color`" -msgstr ":func:`color`" - -#: ../../library/turtle.rst:0 -msgid ":func:`pencolor`" -msgstr ":func:`pencolor`" - -#: ../../library/turtle.rst:0 -msgid ":func:`fillcolor`" -msgstr ":func:`fillcolor`" - -#: ../../library/turtle.rst:377 ../../library/turtle.rst:1285 -msgid "Filling" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`filling`" -msgstr ":func:`filling`" - -#: ../../library/turtle.rst:0 -msgid ":func:`fill`" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`begin_fill`" -msgstr ":func:`begin_fill`" - -#: ../../library/turtle.rst:0 -msgid ":func:`end_fill`" -msgstr ":func:`end_fill`" - -#: ../../library/turtle.rst:383 ../../library/turtle.rst:1355 -msgid "More drawing control" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`reset`" -msgstr ":func:`reset`" - -#: ../../library/turtle.rst:0 -msgid ":func:`clear`" -msgstr ":func:`clear`" - -#: ../../library/turtle.rst:0 -msgid ":func:`write`" -msgstr ":func:`write`" - -#: ../../library/turtle.rst:388 ../../library/turtle.rst:1401 -msgid "Turtle state" -msgstr "" - -#: ../../library/turtle.rst:389 ../../library/turtle.rst:1404 -msgid "Visibility" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`showturtle` | :func:`st`" -msgstr ":func:`showturtle` | :func:`st`" - -#: ../../library/turtle.rst:0 -msgid ":func:`hideturtle` | :func:`ht`" -msgstr ":func:`hideturtle` | :func:`ht`" - -#: ../../library/turtle.rst:0 -msgid ":func:`isvisible`" -msgstr ":func:`isvisible`" - -#: ../../library/turtle.rst:394 ../../library/turtle.rst:1443 -msgid "Appearance" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`shape`" -msgstr ":func:`shape`" - -#: ../../library/turtle.rst:0 -msgid ":func:`resizemode`" -msgstr ":func:`resizemode`" - -#: ../../library/turtle.rst:0 -msgid ":func:`shapesize` | :func:`turtlesize`" -msgstr ":func:`shapesize` | :func:`turtlesize`" - -#: ../../library/turtle.rst:0 -msgid ":func:`shearfactor`" -msgstr ":func:`shearfactor`" - -#: ../../library/turtle.rst:0 -msgid ":func:`tiltangle`" -msgstr ":func:`tiltangle`" - -#: ../../library/turtle.rst:0 -msgid ":func:`tilt`" -msgstr ":func:`tilt`" - -#: ../../library/turtle.rst:0 -msgid ":func:`shapetransform`" -msgstr ":func:`shapetransform`" - -#: ../../library/turtle.rst:0 -msgid ":func:`get_shapepoly`" -msgstr ":func:`get_shapepoly`" - -#: ../../library/turtle.rst:404 ../../library/turtle.rst:1626 -msgid "Using events" -msgstr "" - -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2804 -msgid ":func:`onclick`" -msgstr ":func:`onclick`" - -#: ../../library/turtle.rst:0 -msgid ":func:`onrelease`" -msgstr ":func:`onrelease`" - -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2787 -msgid ":func:`ondrag`" -msgstr ":func:`ondrag`" - -#: ../../library/turtle.rst:409 ../../library/turtle.rst:1700 -msgid "Special Turtle methods" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`poly`" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`begin_poly`" -msgstr ":func:`begin_poly`" - -#: ../../library/turtle.rst:0 -msgid ":func:`end_poly`" -msgstr ":func:`end_poly`" - -#: ../../library/turtle.rst:0 -msgid ":func:`get_poly`" -msgstr ":func:`get_poly`" - -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2826 -msgid ":func:`clone`" -msgstr ":func:`clone`" - -#: ../../library/turtle.rst:0 -msgid ":func:`getturtle` | :func:`getpen`" -msgstr ":func:`getturtle` | :func:`getpen`" - -#: ../../library/turtle.rst:0 -msgid ":func:`getscreen`" -msgstr ":func:`getscreen`" - -#: ../../library/turtle.rst:0 -msgid ":func:`setundobuffer`" -msgstr ":func:`setundobuffer`" - -#: ../../library/turtle.rst:0 -msgid ":func:`undobufferentries`" -msgstr ":func:`undobufferentries`" - -#: ../../library/turtle.rst:422 -msgid "Methods of TurtleScreen/Screen" -msgstr "" - -#: ../../library/turtle.rst:424 ../../library/turtle.rst:1871 -msgid "Window control" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`bgcolor`" -msgstr ":func:`bgcolor`" - -#: ../../library/turtle.rst:0 -msgid ":func:`bgpic`" -msgstr ":func:`bgpic`" - -#: ../../library/turtle.rst:0 -msgid ":func:`clearscreen`" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`resetscreen`" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`screensize`" -msgstr ":func:`screensize`" - -#: ../../library/turtle.rst:0 -msgid ":func:`setworldcoordinates`" -msgstr ":func:`setworldcoordinates`" - -#: ../../library/turtle.rst:432 ../../library/turtle.rst:1995 -msgid "Animation control" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`no_animation`" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`delay`" -msgstr ":func:`delay`" - -#: ../../library/turtle.rst:0 -msgid ":func:`tracer`" -msgstr ":func:`tracer`" - -#: ../../library/turtle.rst:0 -msgid ":func:`update`" -msgstr ":func:`update`" - -#: ../../library/turtle.rst:438 ../../library/turtle.rst:2065 -msgid "Using screen events" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`listen`" -msgstr ":func:`listen`" - -#: ../../library/turtle.rst:0 -msgid ":func:`onkey` | :func:`onkeyrelease`" -msgstr ":func:`onkey` | :func:`onkeyrelease`" - -#: ../../library/turtle.rst:0 -msgid ":func:`onkeypress`" -msgstr ":func:`onkeypress`" - -#: ../../library/turtle.rst:0 -msgid ":func:`onclick` | :func:`onscreenclick`" -msgstr ":func:`onclick` | :func:`onscreenclick`" - -#: ../../library/turtle.rst:0 -msgid ":func:`ontimer`" -msgstr ":func:`ontimer`" - -#: ../../library/turtle.rst:0 -msgid ":func:`mainloop` | :func:`done`" -msgstr ":func:`mainloop` | :func:`done`" - -#: ../../library/turtle.rst:446 ../../library/turtle.rst:2210 -msgid "Settings and special methods" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`mode`" -msgstr ":func:`mode`" - -#: ../../library/turtle.rst:0 -msgid ":func:`colormode`" -msgstr ":func:`colormode`" - -#: ../../library/turtle.rst:0 -msgid ":func:`getcanvas`" -msgstr ":func:`getcanvas`" - -#: ../../library/turtle.rst:0 -msgid ":func:`getshapes`" -msgstr ":func:`getshapes`" - -#: ../../library/turtle.rst:0 -msgid ":func:`register_shape` | :func:`addshape`" -msgstr ":func:`register_shape` | :func:`addshape`" - -#: ../../library/turtle.rst:0 -msgid ":func:`turtles`" -msgstr ":func:`turtles`" - -#: ../../library/turtle.rst:0 -msgid ":func:`window_height`" -msgstr ":func:`window_height`" - -#: ../../library/turtle.rst:0 -msgid ":func:`window_width`" -msgstr ":func:`window_width`" - -#: ../../library/turtle.rst:456 ../../library/turtle.rst:2174 -msgid "Input methods" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`textinput`" -msgstr ":func:`textinput`" - -#: ../../library/turtle.rst:0 -msgid ":func:`numinput`" -msgstr ":func:`numinput`" - -#: ../../library/turtle.rst:460 -msgid "Methods specific to Screen" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`bye`" -msgstr ":func:`bye`" - -#: ../../library/turtle.rst:0 -msgid ":func:`exitonclick`" -msgstr ":func:`exitonclick`" - -#: ../../library/turtle.rst:0 -msgid ":func:`save`" -msgstr "" - -#: ../../library/turtle.rst:0 -msgid ":func:`setup`" -msgstr ":func:`setup`" - -#: ../../library/turtle.rst:0 -msgid ":func:`title`" -msgstr ":func:`title`" - -#: ../../library/turtle.rst:469 -msgid "Methods of RawTurtle/Turtle and corresponding functions" -msgstr "" - -#: ../../library/turtle.rst:471 -msgid "" -"Most of the examples in this section refer to a Turtle instance called " -"``turtle``." -msgstr "" - -#: ../../library/turtle.rst:0 -msgid "Parameters" -msgstr "Parameter" - -#: ../../library/turtle.rst:480 ../../library/turtle.rst:525 -#: ../../library/turtle.rst:550 ../../library/turtle.rst:648 -#: ../../library/turtle.rst:671 ../../library/turtle.rst:694 -msgid "a number (integer or float)" -msgstr "" - -#: ../../library/turtle.rst:482 -msgid "" -"Move the turtle forward by the specified *distance*, in the direction the " -"turtle is headed." -msgstr "" - -#: ../../library/turtle.rst:485 -msgid "" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.forward(25)\n" -">>> turtle.position()\n" -"(25.00,0.00)\n" -">>> turtle.forward(-75)\n" -">>> turtle.position()\n" -"(-50.00,0.00)" -msgstr "" - -#: ../../library/turtle.rst:502 ../../library/turtle.rst:744 -#: ../../library/turtle.rst:1011 ../../library/turtle.rst:1542 -msgid "a number" -msgstr "" - -#: ../../library/turtle.rst:504 -msgid "" -"Move the turtle backward by *distance*, opposite to the direction the turtle" -" is headed. Do not change the turtle's heading." -msgstr "" - -#: ../../library/turtle.rst:512 -msgid "" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.backward(30)\n" -">>> turtle.position()\n" -"(-30.00,0.00)" -msgstr "" - -#: ../../library/turtle.rst:527 -msgid "" -"Turn turtle right by *angle* units. (Units are by default degrees, but can " -"be set via the :func:`degrees` and :func:`radians` functions.) Angle " -"orientation depends on the turtle mode, see :func:`mode`." -msgstr "" - -#: ../../library/turtle.rst:537 -msgid "" -">>> turtle.heading()\n" -"22.0\n" -">>> turtle.right(45)\n" -">>> turtle.heading()\n" -"337.0" -msgstr "" - -#: ../../library/turtle.rst:552 -msgid "" -"Turn turtle left by *angle* units. (Units are by default degrees, but can " -"be set via the :func:`degrees` and :func:`radians` functions.) Angle " -"orientation depends on the turtle mode, see :func:`mode`." -msgstr "" - -#: ../../library/turtle.rst:562 -msgid "" -">>> turtle.heading()\n" -"22.0\n" -">>> turtle.left(45)\n" -">>> turtle.heading()\n" -"67.0" -msgstr "" - -#: ../../library/turtle.rst:576 -msgid "a number or a pair/vector of numbers" -msgstr "" - -#: ../../library/turtle.rst:577 ../../library/turtle.rst:610 -#: ../../library/turtle.rst:611 -msgid "a number or ``None``" -msgstr "" - -#: ../../library/turtle.rst:579 -msgid "" -"If *y* is ``None``, *x* must be a pair of coordinates or a :class:`Vec2D` " -"(e.g. as returned by :func:`pos`)." -msgstr "" - -#: ../../library/turtle.rst:582 -msgid "" -"Move turtle to an absolute position. If the pen is down, draw line. Do not" -" change the turtle's orientation." -msgstr "" - -#: ../../library/turtle.rst:591 -msgid "" -">>> tp = turtle.pos()\n" -">>> tp\n" -"(0.00,0.00)\n" -">>> turtle.setpos(60,30)\n" -">>> turtle.pos()\n" -"(60.00,30.00)\n" -">>> turtle.setpos((20,80))\n" -">>> turtle.pos()\n" -"(20.00,80.00)\n" -">>> turtle.setpos(tp)\n" -">>> turtle.pos()\n" -"(0.00,0.00)" -msgstr "" - -#: ../../library/turtle.rst:612 -msgid "a boolean" -msgstr "" - -#: ../../library/turtle.rst:614 -msgid "" -"Move turtle to an absolute position. Unlike goto(x, y), a line will not be " -"drawn. The turtle's orientation does not change. If currently filling, the " -"polygon(s) teleported from will be filled after leaving, and filling will " -"begin again after teleporting. This can be disabled with fill_gap=True, " -"which makes the imaginary line traveled during teleporting act as a fill " -"barrier like in goto(x, y)." -msgstr "" - -#: ../../library/turtle.rst:627 -msgid "" -">>> tp = turtle.pos()\n" -">>> tp\n" -"(0.00,0.00)\n" -">>> turtle.teleport(60)\n" -">>> turtle.pos()\n" -"(60.00,0.00)\n" -">>> turtle.teleport(y=10)\n" -">>> turtle.pos()\n" -"(60.00,10.00)\n" -">>> turtle.teleport(20, 30)\n" -">>> turtle.pos()\n" -"(20.00,30.00)" -msgstr "" - -#: ../../library/turtle.rst:650 -msgid "" -"Set the turtle's first coordinate to *x*, leave second coordinate unchanged." -msgstr "" - -#: ../../library/turtle.rst:659 -msgid "" -">>> turtle.position()\n" -"(0.00,240.00)\n" -">>> turtle.setx(10)\n" -">>> turtle.position()\n" -"(10.00,240.00)" -msgstr "" - -#: ../../library/turtle.rst:673 -msgid "" -"Set the turtle's second coordinate to *y*, leave first coordinate unchanged." -msgstr "" - -#: ../../library/turtle.rst:681 -msgid "" -">>> turtle.position()\n" -"(0.00,40.00)\n" -">>> turtle.sety(-10)\n" -">>> turtle.position()\n" -"(0.00,-10.00)" -msgstr "" - -#: ../../library/turtle.rst:696 -msgid "" -"Set the orientation of the turtle to *to_angle*. Here are some common " -"directions in degrees:" -msgstr "" - -#: ../../library/turtle.rst:700 -msgid "standard mode" -msgstr "" - -#: ../../library/turtle.rst:700 -msgid "logo mode" -msgstr "" - -#: ../../library/turtle.rst:702 -msgid "0 - east" -msgstr "" - -#: ../../library/turtle.rst:702 -msgid "0 - north" -msgstr "" - -#: ../../library/turtle.rst:703 -msgid "90 - north" -msgstr "" - -#: ../../library/turtle.rst:703 -msgid "90 - east" -msgstr "" - -#: ../../library/turtle.rst:704 -msgid "180 - west" -msgstr "" - -#: ../../library/turtle.rst:704 -msgid "180 - south" -msgstr "" - -#: ../../library/turtle.rst:705 -msgid "270 - south" -msgstr "" - -#: ../../library/turtle.rst:705 -msgid "270 - west" -msgstr "" - -#: ../../library/turtle.rst:708 -msgid "" -">>> turtle.setheading(90)\n" -">>> turtle.heading()\n" -"90.0" -msgstr "" - -#: ../../library/turtle.rst:718 -msgid "" -"Move turtle to the origin -- coordinates (0,0) -- and set its heading to its" -" start-orientation (which depends on the mode, see :func:`mode`)." -msgstr "" - -#: ../../library/turtle.rst:728 -msgid "" -">>> turtle.heading()\n" -"90.0\n" -">>> turtle.position()\n" -"(0.00,-10.00)\n" -">>> turtle.home()\n" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.heading()\n" -"0.0" -msgstr "" - -#: ../../library/turtle.rst:745 -msgid "a number (or ``None``)" -msgstr "" - -#: ../../library/turtle.rst:746 ../../library/turtle.rst:839 -msgid "an integer (or ``None``)" -msgstr "" - -#: ../../library/turtle.rst:748 -msgid "" -"Draw a circle with given *radius*. The center is *radius* units left of the" -" turtle; *extent* -- an angle -- determines which part of the circle is " -"drawn. If *extent* is not given, draw the entire circle. If *extent* is " -"not a full circle, one endpoint of the arc is the current pen position. " -"Draw the arc in counterclockwise direction if *radius* is positive, " -"otherwise in clockwise direction. Finally the direction of the turtle is " -"changed by the amount of *extent*." -msgstr "" - -#: ../../library/turtle.rst:756 -msgid "" -"As the circle is approximated by an inscribed regular polygon, *steps* " -"determines the number of steps to use. If not given, it will be calculated " -"automatically. May be used to draw regular polygons." -msgstr "" - -#: ../../library/turtle.rst:760 -msgid "" -">>> turtle.home()\n" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.heading()\n" -"0.0\n" -">>> turtle.circle(50)\n" -">>> turtle.position()\n" -"(-0.00,0.00)\n" -">>> turtle.heading()\n" -"0.0\n" -">>> turtle.circle(120, 180) # draw a semicircle\n" -">>> turtle.position()\n" -"(0.00,240.00)\n" -">>> turtle.heading()\n" -"180.0" -msgstr "" - -#: ../../library/turtle.rst:782 -msgid "an integer >= 1 (if given)" -msgstr "" - -#: ../../library/turtle.rst:783 -msgid "a colorstring or a numeric color tuple" -msgstr "" - -#: ../../library/turtle.rst:785 -msgid "" -"Draw a circular dot with diameter *size*, using *color*. If *size* is not " -"given, the maximum of pensize+4 and 2*pensize is used." -msgstr "" - -#: ../../library/turtle.rst:789 -msgid "" -">>> turtle.home()\n" -">>> turtle.dot()\n" -">>> turtle.fd(50); turtle.dot(20, \"blue\"); turtle.fd(50)\n" -">>> turtle.position()\n" -"(100.00,-0.00)\n" -">>> turtle.heading()\n" -"0.0" -msgstr "" - -#: ../../library/turtle.rst:803 -msgid "" -"Stamp a copy of the turtle shape onto the canvas at the current turtle " -"position. Return a stamp_id for that stamp, which can be used to delete it " -"by calling ``clearstamp(stamp_id)``." -msgstr "" - -#: ../../library/turtle.rst:807 -msgid "" -">>> turtle.color(\"blue\")\n" -">>> stamp_id = turtle.stamp()\n" -">>> turtle.fd(50)" -msgstr "" - -#: ../../library/turtle.rst:817 -msgid "an integer, must be return value of previous :func:`stamp` call" -msgstr "" - -#: ../../library/turtle.rst:820 -msgid "Delete stamp with given *stampid*." -msgstr "" - -#: ../../library/turtle.rst:822 -msgid "" -">>> turtle.position()\n" -"(150.00,-0.00)\n" -">>> turtle.color(\"blue\")\n" -">>> astamp = turtle.stamp()\n" -">>> turtle.fd(50)\n" -">>> turtle.position()\n" -"(200.00,-0.00)\n" -">>> turtle.clearstamp(astamp)\n" -">>> turtle.position()\n" -"(200.00,-0.00)" -msgstr "" - -#: ../../library/turtle.rst:841 -msgid "" -"Delete all or first/last *n* of turtle's stamps. If *n* is ``None``, delete" -" all stamps, if *n* > 0 delete first *n* stamps, else if *n* < 0 delete last" -" *n* stamps." -msgstr "" - -#: ../../library/turtle.rst:845 -msgid "" -">>> for i in range(8):\n" -"... unused_stamp_id = turtle.stamp()\n" -"... turtle.fd(30)\n" -">>> turtle.clearstamps(2)\n" -">>> turtle.clearstamps(-2)\n" -">>> turtle.clearstamps()" -msgstr "" - -#: ../../library/turtle.rst:857 -msgid "" -"Undo (repeatedly) the last turtle action(s). Number of available undo " -"actions is determined by the size of the undobuffer." -msgstr "" - -#: ../../library/turtle.rst:860 -msgid "" -">>> for i in range(4):\n" -"... turtle.fd(50); turtle.lt(80)\n" -"...\n" -">>> for i in range(8):\n" -"... turtle.undo()" -msgstr "" - -#: ../../library/turtle.rst:872 -msgid "an integer in the range 0..10 or a speedstring (see below)" -msgstr "" - -#: ../../library/turtle.rst:874 -msgid "" -"Set the turtle's speed to an integer value in the range 0..10. If no " -"argument is given, return current speed." -msgstr "" - -#: ../../library/turtle.rst:877 -msgid "" -"If input is a number greater than 10 or smaller than 0.5, speed is set to 0." -" Speedstrings are mapped to speedvalues as follows:" -msgstr "" - -#: ../../library/turtle.rst:880 -msgid "\"fastest\": 0" -msgstr "" - -#: ../../library/turtle.rst:881 -msgid "\"fast\": 10" -msgstr "" - -#: ../../library/turtle.rst:882 -msgid "\"normal\": 6" -msgstr "" - -#: ../../library/turtle.rst:883 -msgid "\"slow\": 3" -msgstr "" - -#: ../../library/turtle.rst:884 -msgid "\"slowest\": 1" -msgstr "" - -#: ../../library/turtle.rst:886 -msgid "" -"Speeds from 1 to 10 enforce increasingly faster animation of line drawing " -"and turtle turning." -msgstr "" - -#: ../../library/turtle.rst:889 -msgid "" -"Attention: *speed* = 0 means that *no* animation takes place. forward/back " -"makes turtle jump and likewise left/right make the turtle turn instantly." -msgstr "" - -#: ../../library/turtle.rst:893 -msgid "" -">>> turtle.speed()\n" -"3\n" -">>> turtle.speed('normal')\n" -">>> turtle.speed()\n" -"6\n" -">>> turtle.speed(9)\n" -">>> turtle.speed()\n" -"9" -msgstr "" - -#: ../../library/turtle.rst:912 -msgid "" -"Return the turtle's current location (x,y) (as a :class:`Vec2D` vector)." -msgstr "" - -#: ../../library/turtle.rst:914 -msgid "" -">>> turtle.pos()\n" -"(440.00,-0.00)" -msgstr "" - -#: ../../library/turtle.rst:923 ../../library/turtle.rst:986 -msgid "a number or a pair/vector of numbers or a turtle instance" -msgstr "" - -#: ../../library/turtle.rst:924 ../../library/turtle.rst:987 -msgid "a number if *x* is a number, else ``None``" -msgstr "" - -#: ../../library/turtle.rst:926 -msgid "" -"Return the angle between the line from turtle position to position specified" -" by (x,y), the vector or the other turtle. This depends on the turtle's " -"start orientation which depends on the mode - \"standard\"/\"world\" or " -"\"logo\"." -msgstr "" - -#: ../../library/turtle.rst:930 -msgid "" -">>> turtle.goto(10, 10)\n" -">>> turtle.towards(0,0)\n" -"225.0" -msgstr "" - -#: ../../library/turtle.rst:940 -msgid "Return the turtle's x coordinate." -msgstr "" - -#: ../../library/turtle.rst:942 -msgid "" -">>> turtle.home()\n" -">>> turtle.left(50)\n" -">>> turtle.forward(100)\n" -">>> turtle.pos()\n" -"(64.28,76.60)\n" -">>> print(round(turtle.xcor(), 5))\n" -"64.27876" -msgstr "" - -#: ../../library/turtle.rst:956 -msgid "Return the turtle's y coordinate." -msgstr "" - -#: ../../library/turtle.rst:958 -msgid "" -">>> turtle.home()\n" -">>> turtle.left(60)\n" -">>> turtle.forward(100)\n" -">>> print(turtle.pos())\n" -"(50.00,86.60)\n" -">>> print(round(turtle.ycor(), 5))\n" -"86.60254" -msgstr "" - -#: ../../library/turtle.rst:972 -msgid "" -"Return the turtle's current heading (value depends on the turtle mode, see " -":func:`mode`)." -msgstr "" - -#: ../../library/turtle.rst:975 -msgid "" -">>> turtle.home()\n" -">>> turtle.left(67)\n" -">>> turtle.heading()\n" -"67.0" -msgstr "" - -#: ../../library/turtle.rst:989 -msgid "" -"Return the distance from the turtle to (x,y), the given vector, or the given" -" other turtle, in turtle step units." -msgstr "" - -#: ../../library/turtle.rst:992 -msgid "" -">>> turtle.home()\n" -">>> turtle.distance(30,40)\n" -"50.0\n" -">>> turtle.distance((30,40))\n" -"50.0\n" -">>> joe = Turtle()\n" -">>> joe.forward(77)\n" -">>> turtle.distance(joe)\n" -"77.0" -msgstr "" - -#: ../../library/turtle.rst:1007 -msgid "Settings for measurement" -msgstr "" - -#: ../../library/turtle.rst:1013 -msgid "" -"Set angle measurement units, i.e. set number of \"degrees\" for a full " -"circle. Default value is 360 degrees." -msgstr "" - -#: ../../library/turtle.rst:1016 -msgid "" -">>> turtle.home()\n" -">>> turtle.left(90)\n" -">>> turtle.heading()\n" -"90.0\n" -"\n" -">>> # Change angle measurement unit to grad (also known as gon,\n" -">>> # grade, or gradian and equals 1/100-th of the right angle.)\n" -">>> turtle.degrees(400.0)\n" -">>> turtle.heading()\n" -"100.0\n" -">>> turtle.degrees(360)\n" -">>> turtle.heading()\n" -"90.0" -msgstr "" - -#: ../../library/turtle.rst:1036 -msgid "" -"Set the angle measurement units to radians. Equivalent to " -"``degrees(2*math.pi)``." -msgstr "" - -#: ../../library/turtle.rst:1039 -msgid "" -">>> turtle.home()\n" -">>> turtle.left(90)\n" -">>> turtle.heading()\n" -"90.0\n" -">>> turtle.radians()\n" -">>> turtle.heading()\n" -"1.5707963267948966" -msgstr "" - -#: ../../library/turtle.rst:1067 -msgid "Pull the pen down -- drawing when moving." -msgstr "" - -#: ../../library/turtle.rst:1074 -msgid "Pull the pen up -- no drawing when moving." -msgstr "" - -#: ../../library/turtle.rst:1080 -msgid "a positive number" -msgstr "" - -#: ../../library/turtle.rst:1082 -msgid "" -"Set the line thickness to *width* or return it. If resizemode is set to " -"\"auto\" and turtleshape is a polygon, that polygon is drawn with the same " -"line thickness. If no argument is given, the current pensize is returned." -msgstr "" - -#: ../../library/turtle.rst:1086 -msgid "" -">>> turtle.pensize()\n" -"1\n" -">>> turtle.pensize(10) # from here on lines of width 10 are drawn" -msgstr "" - -#: ../../library/turtle.rst:1096 -msgid "a dictionary with some or all of the below listed keys" -msgstr "" - -#: ../../library/turtle.rst:1097 -msgid "one or more keyword-arguments with the below listed keys as keywords" -msgstr "" - -#: ../../library/turtle.rst:1099 -msgid "" -"Return or set the pen's attributes in a \"pen-dictionary\" with the " -"following key/value pairs:" -msgstr "" - -#: ../../library/turtle.rst:1102 -msgid "\"shown\": True/False" -msgstr "" - -#: ../../library/turtle.rst:1103 -msgid "\"pendown\": True/False" -msgstr "" - -#: ../../library/turtle.rst:1104 -msgid "\"pencolor\": color-string or color-tuple" -msgstr "" - -#: ../../library/turtle.rst:1105 -msgid "\"fillcolor\": color-string or color-tuple" -msgstr "" - -#: ../../library/turtle.rst:1106 -msgid "\"pensize\": positive number" -msgstr "" - -#: ../../library/turtle.rst:1107 -msgid "\"speed\": number in range 0..10" -msgstr "" - -#: ../../library/turtle.rst:1108 -msgid "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" -msgstr "" - -#: ../../library/turtle.rst:1109 -msgid "\"stretchfactor\": (positive number, positive number)" -msgstr "" - -#: ../../library/turtle.rst:1110 -msgid "\"outline\": positive number" -msgstr "" - -#: ../../library/turtle.rst:1111 -msgid "\"tilt\": number" -msgstr "" - -#: ../../library/turtle.rst:1113 -msgid "" -"This dictionary can be used as argument for a subsequent call to :func:`pen`" -" to restore the former pen-state. Moreover one or more of these attributes " -"can be provided as keyword-arguments. This can be used to set several pen " -"attributes in one statement." -msgstr "" - -#: ../../library/turtle.rst:1118 -msgid "" -">>> turtle.pen(fillcolor=\"black\", pencolor=\"red\", pensize=10)\n" -">>> sorted(turtle.pen().items())\n" -"[('fillcolor', 'black'), ('outline', 1), ('pencolor', 'red'),\n" -" ('pendown', True), ('pensize', 10), ('resizemode', 'noresize'),\n" -" ('shearfactor', 0.0), ('shown', True), ('speed', 9),\n" -" ('stretchfactor', (1.0, 1.0)), ('tilt', 0.0)]\n" -">>> penstate=turtle.pen()\n" -">>> turtle.color(\"yellow\", \"\")\n" -">>> turtle.penup()\n" -">>> sorted(turtle.pen().items())[:3]\n" -"[('fillcolor', ''), ('outline', 1), ('pencolor', 'yellow')]\n" -">>> turtle.pen(penstate, fillcolor=\"green\")\n" -">>> sorted(turtle.pen().items())[:3]\n" -"[('fillcolor', 'green'), ('outline', 1), ('pencolor', 'red')]" -msgstr "" - -#: ../../library/turtle.rst:1139 -msgid "Return ``True`` if pen is down, ``False`` if it's up." -msgstr "" - -#: ../../library/turtle.rst:1141 -msgid "" -">>> turtle.penup()\n" -">>> turtle.isdown()\n" -"False\n" -">>> turtle.pendown()\n" -">>> turtle.isdown()\n" -"True" -msgstr "" - -#: ../../library/turtle.rst:1157 -msgid "Return or set the pencolor." -msgstr "" - -#: ../../library/turtle.rst:1159 ../../library/turtle.rst:1208 -msgid "Four input formats are allowed:" -msgstr "" - -#: ../../library/turtle.rst:1161 -msgid "``pencolor()``" -msgstr "" - -#: ../../library/turtle.rst:1162 -msgid "" -"Return the current pencolor as color specification string or as a tuple (see" -" example). May be used as input to another color/pencolor/fillcolor call." -msgstr "" - -#: ../../library/turtle.rst:1166 -msgid "``pencolor(colorstring)``" -msgstr "" - -#: ../../library/turtle.rst:1167 -msgid "" -"Set pencolor to *colorstring*, which is a Tk color specification string, " -"such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." -msgstr "" - -#: ../../library/turtle.rst:1170 -msgid "``pencolor((r, g, b))``" -msgstr "" - -#: ../../library/turtle.rst:1171 -msgid "" -"Set pencolor to the RGB color represented by the tuple of *r*, *g*, and *b*." -" Each of *r*, *g*, and *b* must be in the range 0..colormode, where " -"colormode is either 1.0 or 255 (see :func:`colormode`)." -msgstr "" - -#: ../../library/turtle.rst:1175 -msgid "``pencolor(r, g, b)``" -msgstr "" - -#: ../../library/turtle.rst:1176 -msgid "" -"Set pencolor to the RGB color represented by *r*, *g*, and *b*. Each of " -"*r*, *g*, and *b* must be in the range 0..colormode." -msgstr "" - -#: ../../library/turtle.rst:1179 -msgid "" -"If turtleshape is a polygon, the outline of that polygon is drawn with the " -"newly set pencolor." -msgstr "" - -#: ../../library/turtle.rst:1182 -msgid "" -">>> colormode()\n" -"1.0\n" -">>> turtle.pencolor()\n" -"'red'\n" -">>> turtle.pencolor(\"brown\")\n" -">>> turtle.pencolor()\n" -"'brown'\n" -">>> tup = (0.2, 0.8, 0.55)\n" -">>> turtle.pencolor(tup)\n" -">>> turtle.pencolor()\n" -"(0.2, 0.8, 0.5490196078431373)\n" -">>> colormode(255)\n" -">>> turtle.pencolor()\n" -"(51.0, 204.0, 140.0)\n" -">>> turtle.pencolor('#32c18f')\n" -">>> turtle.pencolor()\n" -"(50.0, 193.0, 143.0)" -msgstr "" - -#: ../../library/turtle.rst:1206 -msgid "Return or set the fillcolor." -msgstr "" - -#: ../../library/turtle.rst:1210 -msgid "``fillcolor()``" -msgstr "" - -#: ../../library/turtle.rst:1211 -msgid "" -"Return the current fillcolor as color specification string, possibly in " -"tuple format (see example). May be used as input to another " -"color/pencolor/fillcolor call." -msgstr "" - -#: ../../library/turtle.rst:1215 -msgid "``fillcolor(colorstring)``" -msgstr "" - -#: ../../library/turtle.rst:1216 -msgid "" -"Set fillcolor to *colorstring*, which is a Tk color specification string, " -"such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." -msgstr "" - -#: ../../library/turtle.rst:1219 -msgid "``fillcolor((r, g, b))``" -msgstr "" - -#: ../../library/turtle.rst:1220 -msgid "" -"Set fillcolor to the RGB color represented by the tuple of *r*, *g*, and " -"*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " -"colormode is either 1.0 or 255 (see :func:`colormode`)." -msgstr "" - -#: ../../library/turtle.rst:1224 -msgid "``fillcolor(r, g, b)``" -msgstr "" - -#: ../../library/turtle.rst:1225 -msgid "" -"Set fillcolor to the RGB color represented by *r*, *g*, and *b*. Each of " -"*r*, *g*, and *b* must be in the range 0..colormode." -msgstr "" - -#: ../../library/turtle.rst:1228 -msgid "" -"If turtleshape is a polygon, the interior of that polygon is drawn with the " -"newly set fillcolor." -msgstr "" - -#: ../../library/turtle.rst:1231 -msgid "" -">>> turtle.fillcolor(\"violet\")\n" -">>> turtle.fillcolor()\n" -"'violet'\n" -">>> turtle.pencolor()\n" -"(50.0, 193.0, 143.0)\n" -">>> turtle.fillcolor((50, 193, 143)) # Integers, not floats\n" -">>> turtle.fillcolor()\n" -"(50.0, 193.0, 143.0)\n" -">>> turtle.fillcolor('#ffffff')\n" -">>> turtle.fillcolor()\n" -"(255.0, 255.0, 255.0)" -msgstr "" - -#: ../../library/turtle.rst:1249 -msgid "Return or set pencolor and fillcolor." -msgstr "" - -#: ../../library/turtle.rst:1251 -msgid "" -"Several input formats are allowed. They use 0 to 3 arguments as follows:" -msgstr "" - -#: ../../library/turtle.rst:1254 -msgid "``color()``" -msgstr "" - -#: ../../library/turtle.rst:1255 -msgid "" -"Return the current pencolor and the current fillcolor as a pair of color " -"specification strings or tuples as returned by :func:`pencolor` and " -":func:`fillcolor`." -msgstr "" - -#: ../../library/turtle.rst:1259 -msgid "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" -msgstr "" - -#: ../../library/turtle.rst:1260 -msgid "" -"Inputs as in :func:`pencolor`, set both, fillcolor and pencolor, to the " -"given value." -msgstr "" - -#: ../../library/turtle.rst:1263 -msgid "" -"``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" -msgstr "" - -#: ../../library/turtle.rst:1264 -msgid "" -"Equivalent to ``pencolor(colorstring1)`` and ``fillcolor(colorstring2)`` and" -" analogously if the other input format is used." -msgstr "" - -#: ../../library/turtle.rst:1267 -msgid "" -"If turtleshape is a polygon, outline and interior of that polygon is drawn " -"with the newly set colors." -msgstr "" - -#: ../../library/turtle.rst:1270 -msgid "" -">>> turtle.color(\"red\", \"green\")\n" -">>> turtle.color()\n" -"('red', 'green')\n" -">>> color(\"#285078\", \"#a0c8f0\")\n" -">>> color()\n" -"((40.0, 80.0, 120.0), (160.0, 200.0, 240.0))" -msgstr "" - -#: ../../library/turtle.rst:1281 -msgid "See also: Screen method :func:`colormode`." -msgstr "" - -#: ../../library/turtle.rst:1295 -msgid "Return fillstate (``True`` if filling, ``False`` else)." -msgstr "" - -#: ../../library/turtle.rst:1297 -msgid "" -">>> turtle.begin_fill()\n" -">>> if turtle.filling():\n" -"... turtle.pensize(5)\n" -"... else:\n" -"... turtle.pensize(3)" -msgstr "" - -#: ../../library/turtle.rst:1308 -msgid "Fill the shape drawn in the ``with turtle.fill():`` block." -msgstr "" - -#: ../../library/turtle.rst:1310 -msgid "" -">>> turtle.color(\"black\", \"red\")\n" -">>> with turtle.fill():\n" -"... turtle.circle(80)" -msgstr "" - -#: ../../library/turtle.rst:1317 -msgid "" -"Using :func:`!fill` is equivalent to adding the :func:`begin_fill` before " -"the fill-block and :func:`end_fill` after the fill-block:" -msgstr "" - -#: ../../library/turtle.rst:1320 ../../library/turtle.rst:1345 -msgid "" -">>> turtle.color(\"black\", \"red\")\n" -">>> turtle.begin_fill()\n" -">>> turtle.circle(80)\n" -">>> turtle.end_fill()" -msgstr "" - -#: ../../library/turtle.rst:1333 -msgid "To be called just before drawing a shape to be filled." -msgstr "" - -#: ../../library/turtle.rst:1338 -msgid "Fill the shape drawn after the last call to :func:`begin_fill`." -msgstr "" - -#: ../../library/turtle.rst:1340 -msgid "" -"Whether or not overlap regions for self-intersecting polygons or multiple " -"shapes are filled depends on the operating system graphics, type of overlap," -" and number of overlaps. For example, the Turtle star above may be either " -"all yellow or have some white regions." -msgstr "" - -#: ../../library/turtle.rst:1359 -msgid "" -"Delete the turtle's drawings from the screen, re-center the turtle and set " -"variables to the default values." -msgstr "" - -#: ../../library/turtle.rst:1362 -msgid "" -">>> turtle.goto(0,-22)\n" -">>> turtle.left(100)\n" -">>> turtle.position()\n" -"(0.00,-22.00)\n" -">>> turtle.heading()\n" -"100.0\n" -">>> turtle.reset()\n" -">>> turtle.position()\n" -"(0.00,0.00)\n" -">>> turtle.heading()\n" -"0.0" -msgstr "" - -#: ../../library/turtle.rst:1380 -msgid "" -"Delete the turtle's drawings from the screen. Do not move turtle. State " -"and position of the turtle as well as drawings of other turtles are not " -"affected." -msgstr "" - -#: ../../library/turtle.rst:1386 -msgid "object to be written to the TurtleScreen" -msgstr "" - -#: ../../library/turtle.rst:1387 -msgid "True/False" -msgstr "" - -#: ../../library/turtle.rst:1388 -msgid "one of the strings \"left\", \"center\" or right\"" -msgstr "" - -#: ../../library/turtle.rst:1389 -msgid "a triple (fontname, fontsize, fonttype)" -msgstr "" - -#: ../../library/turtle.rst:1391 -msgid "" -"Write text - the string representation of *arg* - at the current turtle " -"position according to *align* (\"left\", \"center\" or \"right\") and with " -"the given font. If *move* is true, the pen is moved to the bottom-right " -"corner of the text. By default, *move* is ``False``." -msgstr "" - -#: ../../library/turtle.rst:1409 -msgid "" -"Make the turtle invisible. It's a good idea to do this while you're in the " -"middle of doing some complex drawing, because hiding the turtle speeds up " -"the drawing observably." -msgstr "" - -#: ../../library/turtle.rst:1413 -msgid ">>> turtle.hideturtle()" -msgstr "" - -#: ../../library/turtle.rst:1422 -msgid "Make the turtle visible." -msgstr "" - -#: ../../library/turtle.rst:1424 -msgid ">>> turtle.showturtle()" -msgstr "" - -#: ../../library/turtle.rst:1432 -msgid "Return ``True`` if the Turtle is shown, ``False`` if it's hidden." -msgstr "" - -#: ../../library/turtle.rst:1447 -msgid "a string which is a valid shapename" -msgstr "" - -#: ../../library/turtle.rst:1449 -msgid "" -"Set turtle shape to shape with given *name* or, if name is not given, return" -" name of current shape. Shape with *name* must exist in the TurtleScreen's " -"shape dictionary. Initially there are the following polygon shapes: " -"\"arrow\", \"turtle\", \"circle\", \"square\", \"triangle\", \"classic\". " -"To learn about how to deal with shapes see Screen method " -":func:`register_shape`." -msgstr "" - -#: ../../library/turtle.rst:1455 -msgid "" -">>> turtle.shape()\n" -"'classic'\n" -">>> turtle.shape(\"turtle\")\n" -">>> turtle.shape()\n" -"'turtle'" -msgstr "" - -#: ../../library/turtle.rst:1467 -msgid "one of the strings \"auto\", \"user\", \"noresize\"" -msgstr "" - -#: ../../library/turtle.rst:1469 -msgid "" -"Set resizemode to one of the values: \"auto\", \"user\", \"noresize\". If " -"*rmode* is not given, return current resizemode. Different resizemodes have" -" the following effects:" -msgstr "" - -#: ../../library/turtle.rst:1473 -msgid "" -"\"auto\": adapts the appearance of the turtle corresponding to the value of " -"pensize." -msgstr "" - -#: ../../library/turtle.rst:1474 -msgid "" -"\"user\": adapts the appearance of the turtle according to the values of " -"stretchfactor and outlinewidth (outline), which are set by " -":func:`shapesize`." -msgstr "" - -#: ../../library/turtle.rst:1477 -msgid "\"noresize\": no adaption of the turtle's appearance takes place." -msgstr "" - -#: ../../library/turtle.rst:1479 -msgid "" -"``resizemode(\"user\")`` is called by :func:`shapesize` when used with " -"arguments." -msgstr "" - -#: ../../library/turtle.rst:1481 -msgid "" -">>> turtle.resizemode()\n" -"'noresize'\n" -">>> turtle.resizemode(\"auto\")\n" -">>> turtle.resizemode()\n" -"'auto'" -msgstr "" - -#: ../../library/turtle.rst:1494 ../../library/turtle.rst:1495 -#: ../../library/turtle.rst:1496 -msgid "positive number" -msgstr "" - -#: ../../library/turtle.rst:1498 -msgid "" -"Return or set the pen's attributes x/y-stretchfactors and/or outline. Set " -"resizemode to \"user\". If and only if resizemode is set to \"user\", the " -"turtle will be displayed stretched according to its stretchfactors: " -"*stretch_wid* is stretchfactor perpendicular to its orientation, " -"*stretch_len* is stretchfactor in direction of its orientation, *outline* " -"determines the width of the shape's outline." -msgstr "" - -#: ../../library/turtle.rst:1505 -msgid "" -">>> turtle.shapesize()\n" -"(1.0, 1.0, 1)\n" -">>> turtle.resizemode(\"user\")\n" -">>> turtle.shapesize(5, 5, 12)\n" -">>> turtle.shapesize()\n" -"(5, 5, 12)\n" -">>> turtle.shapesize(outline=8)\n" -">>> turtle.shapesize()\n" -"(5, 5, 8)" -msgstr "" - -#: ../../library/turtle.rst:1521 ../../library/turtle.rst:2193 -#: ../../library/turtle.rst:2194 ../../library/turtle.rst:2195 -msgid "number (optional)" -msgstr "" - -#: ../../library/turtle.rst:1523 -msgid "" -"Set or return the current shearfactor. Shear the turtleshape according to " -"the given shearfactor shear, which is the tangent of the shear angle. Do " -"*not* change the turtle's heading (direction of movement). If shear is not " -"given: return the current shearfactor, i. e. the tangent of the shear angle," -" by which lines parallel to the heading of the turtle are sheared." -msgstr "" - -#: ../../library/turtle.rst:1530 -msgid "" -">>> turtle.shape(\"circle\")\n" -">>> turtle.shapesize(5,2)\n" -">>> turtle.shearfactor(0.5)\n" -">>> turtle.shearfactor()\n" -"0.5" -msgstr "" - -#: ../../library/turtle.rst:1544 -msgid "" -"Rotate the turtleshape by *angle* from its current tilt-angle, but do *not* " -"change the turtle's heading (direction of movement)." -msgstr "" - -#: ../../library/turtle.rst:1547 -msgid "" -">>> turtle.reset()\n" -">>> turtle.shape(\"circle\")\n" -">>> turtle.shapesize(5,2)\n" -">>> turtle.tilt(30)\n" -">>> turtle.fd(50)\n" -">>> turtle.tilt(30)\n" -">>> turtle.fd(50)" -msgstr "" - -#: ../../library/turtle.rst:1561 ../../library/turtle.rst:1584 -#: ../../library/turtle.rst:1585 ../../library/turtle.rst:1586 -#: ../../library/turtle.rst:1587 -msgid "a number (optional)" -msgstr "" - -#: ../../library/turtle.rst:1563 -msgid "" -"Set or return the current tilt-angle. If angle is given, rotate the " -"turtleshape to point in the direction specified by angle, regardless of its " -"current tilt-angle. Do *not* change the turtle's heading (direction of " -"movement). If angle is not given: return the current tilt-angle, i. e. the " -"angle between the orientation of the turtleshape and the heading of the " -"turtle (its direction of movement)." -msgstr "" - -#: ../../library/turtle.rst:1571 -msgid "" -">>> turtle.reset()\n" -">>> turtle.shape(\"circle\")\n" -">>> turtle.shapesize(5,2)\n" -">>> turtle.tilt(45)\n" -">>> turtle.tiltangle()\n" -"45.0" -msgstr "" - -#: ../../library/turtle.rst:1589 -msgid "Set or return the current transformation matrix of the turtle shape." -msgstr "" - -#: ../../library/turtle.rst:1591 -msgid "" -"If none of the matrix elements are given, return the transformation matrix " -"as a tuple of 4 elements. Otherwise set the given elements and transform the" -" turtleshape according to the matrix consisting of first row t11, t12 and " -"second row t21, t22. The determinant t11 * t22 - t12 * t21 must not be zero," -" otherwise an error is raised. Modify stretchfactor, shearfactor and " -"tiltangle according to the given matrix." -msgstr "" - -#: ../../library/turtle.rst:1600 -msgid "" -">>> turtle = Turtle()\n" -">>> turtle.shape(\"square\")\n" -">>> turtle.shapesize(4,2)\n" -">>> turtle.shearfactor(-0.5)\n" -">>> turtle.shapetransform()\n" -"(4.0, -1.0, -0.0, 2.0)" -msgstr "" - -#: ../../library/turtle.rst:1613 -msgid "" -"Return the current shape polygon as tuple of coordinate pairs. This can be " -"used to define a new shape or components of a compound shape." -msgstr "" - -#: ../../library/turtle.rst:1616 -msgid "" -">>> turtle.shape(\"square\")\n" -">>> turtle.shapetransform(4, -1, 0, 2)\n" -">>> turtle.get_shapepoly()\n" -"((50, -20), (30, 20), (-50, 20), (-30, -20))" -msgstr "" - -#: ../../library/turtle.rst:1631 ../../library/turtle.rst:1653 -#: ../../library/turtle.rst:1678 ../../library/turtle.rst:2117 -msgid "" -"a function with two arguments which will be called with the coordinates of " -"the clicked point on the canvas" -msgstr "" - -#: ../../library/turtle.rst:1633 ../../library/turtle.rst:1655 -#: ../../library/turtle.rst:1680 ../../library/turtle.rst:2119 -msgid "number of the mouse-button, defaults to 1 (left mouse button)" -msgstr "" - -#: ../../library/turtle.rst:1634 ../../library/turtle.rst:1656 -#: ../../library/turtle.rst:1681 ../../library/turtle.rst:2120 -msgid "" -"``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise" -" it will replace a former binding" -msgstr "" - -#: ../../library/turtle.rst:1637 -msgid "" -"Bind *fun* to mouse-click events on this turtle. If *fun* is ``None``, " -"existing bindings are removed. Example for the anonymous turtle, i.e. the " -"procedural way:" -msgstr "" - -#: ../../library/turtle.rst:1641 -msgid "" -">>> def turn(x, y):\n" -"... left(180)\n" -"...\n" -">>> onclick(turn) # Now clicking into the turtle will turn it.\n" -">>> onclick(None) # event-binding will be removed" -msgstr "" - -#: ../../library/turtle.rst:1659 -msgid "" -"Bind *fun* to mouse-button-release events on this turtle. If *fun* is " -"``None``, existing bindings are removed." -msgstr "" - -#: ../../library/turtle.rst:1662 -msgid "" -">>> class MyTurtle(Turtle):\n" -"... def glow(self,x,y):\n" -"... self.fillcolor(\"red\")\n" -"... def unglow(self,x,y):\n" -"... self.fillcolor(\"\")\n" -"...\n" -">>> turtle = MyTurtle()\n" -">>> turtle.onclick(turtle.glow) # clicking on turtle turns fillcolor red,\n" -">>> turtle.onrelease(turtle.unglow) # releasing turns it to transparent." -msgstr "" - -#: ../../library/turtle.rst:1684 -msgid "" -"Bind *fun* to mouse-move events on this turtle. If *fun* is ``None``, " -"existing bindings are removed." -msgstr "" - -#: ../../library/turtle.rst:1687 -msgid "" -"Remark: Every sequence of mouse-move-events on a turtle is preceded by a " -"mouse-click event on that turtle." -msgstr "" - -#: ../../library/turtle.rst:1690 -msgid ">>> turtle.ondrag(turtle.goto)" -msgstr "" - -#: ../../library/turtle.rst:1695 -msgid "" -"Subsequently, clicking and dragging the Turtle will move it across the " -"screen thereby producing handdrawings (if pen is down)." -msgstr "" - -#: ../../library/turtle.rst:1705 -msgid "" -"Record the vertices of a polygon drawn in the ``with turtle.poly():`` block." -" The first and last vertices will be connected." -msgstr "" - -#: ../../library/turtle.rst:1708 -msgid "" -">>> with turtle.poly():\n" -"... turtle.forward(100)\n" -"... turtle.right(60)\n" -"... turtle.forward(100)" -msgstr "" - -#: ../../library/turtle.rst:1721 -msgid "" -"Start recording the vertices of a polygon. Current turtle position is first" -" vertex of polygon." -msgstr "" - -#: ../../library/turtle.rst:1727 -msgid "" -"Stop recording the vertices of a polygon. Current turtle position is last " -"vertex of polygon. This will be connected with the first vertex." -msgstr "" - -#: ../../library/turtle.rst:1733 -msgid "Return the last recorded polygon." -msgstr "" - -#: ../../library/turtle.rst:1735 -msgid "" -">>> turtle.home()\n" -">>> turtle.begin_poly()\n" -">>> turtle.fd(100)\n" -">>> turtle.left(20)\n" -">>> turtle.fd(30)\n" -">>> turtle.left(60)\n" -">>> turtle.fd(50)\n" -">>> turtle.end_poly()\n" -">>> p = turtle.get_poly()\n" -">>> register_shape(\"myFavouriteShape\", p)" -msgstr "" - -#: ../../library/turtle.rst:1752 -msgid "" -"Create and return a clone of the turtle with same position, heading and " -"turtle properties." -msgstr "" - -#: ../../library/turtle.rst:1755 -msgid "" -">>> mick = Turtle()\n" -">>> joe = mick.clone()" -msgstr "" - -#: ../../library/turtle.rst:1765 -msgid "" -"Return the Turtle object itself. Only reasonable use: as a function to " -"return the \"anonymous turtle\":" -msgstr "" - -#: ../../library/turtle.rst:1768 -msgid "" -">>> pet = getturtle()\n" -">>> pet.fd(50)\n" -">>> pet\n" -"" -msgstr "" - -#: ../../library/turtle.rst:1779 -msgid "" -"Return the :class:`TurtleScreen` object the turtle is drawing on. " -"TurtleScreen methods can then be called for that object." -msgstr "" - -#: ../../library/turtle.rst:1782 -msgid "" -">>> ts = turtle.getscreen()\n" -">>> ts\n" -"\n" -">>> ts.bgcolor(\"pink\")" -msgstr "" - -#: ../../library/turtle.rst:1793 -msgid "an integer or ``None``" -msgstr "" - -#: ../../library/turtle.rst:1795 -msgid "" -"Set or disable undobuffer. If *size* is an integer, an empty undobuffer of " -"given size is installed. *size* gives the maximum number of turtle actions " -"that can be undone by the :func:`undo` method/function. If *size* is " -"``None``, the undobuffer is disabled." -msgstr "" - -#: ../../library/turtle.rst:1800 -msgid ">>> turtle.setundobuffer(42)" -msgstr "" - -#: ../../library/turtle.rst:1808 -msgid "Return number of entries in the undobuffer." -msgstr "" - -#: ../../library/turtle.rst:1810 -msgid "" -">>> while undobufferentries():\n" -"... undo()" -msgstr "" - -#: ../../library/turtle.rst:1821 -msgid "Compound shapes" -msgstr "" - -#: ../../library/turtle.rst:1823 -msgid "" -"To use compound turtle shapes, which consist of several polygons of " -"different color, you must use the helper class :class:`Shape` explicitly as " -"described below:" -msgstr "" - -#: ../../library/turtle.rst:1827 -msgid "Create an empty Shape object of type \"compound\"." -msgstr "" - -#: ../../library/turtle.rst:1828 -msgid "" -"Add as many components to this object as desired, using the " -":meth:`~Shape.addcomponent` method." -msgstr "" - -#: ../../library/turtle.rst:1831 -msgid "For example:" -msgstr "Sebagai contoh:" - -#: ../../library/turtle.rst:1833 -msgid "" -">>> s = Shape(\"compound\")\n" -">>> poly1 = ((0,0),(10,-5),(0,10),(-10,-5))\n" -">>> s.addcomponent(poly1, \"red\", \"blue\")\n" -">>> poly2 = ((0,0),(10,-5),(-10,-5))\n" -">>> s.addcomponent(poly2, \"blue\", \"red\")" -msgstr "" - -#: ../../library/turtle.rst:1842 -msgid "Now add the Shape to the Screen's shapelist and use it:" -msgstr "" - -#: ../../library/turtle.rst:1844 -msgid "" -">>> register_shape(\"myshape\", s)\n" -">>> shape(\"myshape\")" -msgstr "" - -#: ../../library/turtle.rst:1853 -msgid "" -"The :class:`Shape` class is used internally by the :func:`register_shape` " -"method in different ways. The application programmer has to deal with the " -"Shape class *only* when using compound shapes like shown above!" -msgstr "" - -#: ../../library/turtle.rst:1859 -msgid "Methods of TurtleScreen/Screen and corresponding functions" -msgstr "" - -#: ../../library/turtle.rst:1861 -msgid "" -"Most of the examples in this section refer to a TurtleScreen instance called" -" ``screen``." -msgstr "" - -#: ../../library/turtle.rst:1875 -msgid "" -"a color string or three numbers in the range 0..colormode or a 3-tuple of " -"such numbers" -msgstr "" - -#: ../../library/turtle.rst:1879 -msgid "Set or return background color of the TurtleScreen." -msgstr "" - -#: ../../library/turtle.rst:1881 -msgid "" -">>> screen.bgcolor(\"orange\")\n" -">>> screen.bgcolor()\n" -"'orange'\n" -">>> screen.bgcolor(\"#800080\")\n" -">>> screen.bgcolor()\n" -"(128.0, 0.0, 128.0)" -msgstr "" - -#: ../../library/turtle.rst:1894 -msgid "" -"a string, name of an image file (PNG, GIF, PGM, and PPM) or ``\"nopic\"``, " -"or ``None``" -msgstr "" - -#: ../../library/turtle.rst:1897 -msgid "" -"Set background image or return name of current backgroundimage. If " -"*picname* is a filename, set the corresponding image as background. If " -"*picname* is ``\"nopic\"``, delete background image, if present. If " -"*picname* is ``None``, return the filename of the current backgroundimage. " -"::" -msgstr "" - -#: ../../library/turtle.rst:1902 -msgid "" -">>> screen.bgpic()\n" -"'nopic'\n" -">>> screen.bgpic(\"landscape.gif\")\n" -">>> screen.bgpic()\n" -"\"landscape.gif\"" -msgstr "" - -#: ../../library/turtle.rst:1913 -msgid "" -"This TurtleScreen method is available as a global function only under the " -"name ``clearscreen``. The global function ``clear`` is a different one " -"derived from the Turtle method ``clear``." -msgstr "" - -#: ../../library/turtle.rst:1920 -msgid "" -"Delete all drawings and all turtles from the TurtleScreen. Reset the now " -"empty TurtleScreen to its initial state: white background, no background " -"image, no event bindings and tracing on." -msgstr "" - -#: ../../library/turtle.rst:1929 -msgid "" -"This TurtleScreen method is available as a global function only under the " -"name ``resetscreen``. The global function ``reset`` is another one derived " -"from the Turtle method ``reset``." -msgstr "" - -#: ../../library/turtle.rst:1936 -msgid "Reset all Turtles on the Screen to their initial state." -msgstr "" - -#: ../../library/turtle.rst:1941 -msgid "positive integer, new width of canvas in pixels" -msgstr "" - -#: ../../library/turtle.rst:1942 -msgid "positive integer, new height of canvas in pixels" -msgstr "" - -#: ../../library/turtle.rst:1943 -msgid "colorstring or color-tuple, new background color" -msgstr "" - -#: ../../library/turtle.rst:1945 -msgid "" -"If no arguments are given, return current (canvaswidth, canvasheight). Else" -" resize the canvas the turtles are drawing on. Do not alter the drawing " -"window. To observe hidden parts of the canvas, use the scrollbars. With " -"this method, one can make visible those parts of a drawing which were " -"outside the canvas before." -msgstr "" - -#: ../../library/turtle.rst:1957 -msgid "e.g. to search for an erroneously escaped turtle ;-)" -msgstr "" - -#: ../../library/turtle.rst:1962 -msgid "a number, x-coordinate of lower left corner of canvas" -msgstr "" - -#: ../../library/turtle.rst:1963 -msgid "a number, y-coordinate of lower left corner of canvas" -msgstr "" - -#: ../../library/turtle.rst:1964 -msgid "a number, x-coordinate of upper right corner of canvas" -msgstr "" - -#: ../../library/turtle.rst:1965 -msgid "a number, y-coordinate of upper right corner of canvas" -msgstr "" - -#: ../../library/turtle.rst:1967 -msgid "" -"Set up user-defined coordinate system and switch to mode \"world\" if " -"necessary. This performs a ``screen.reset()``. If mode \"world\" is " -"already active, all drawings are redrawn according to the new coordinates." -msgstr "" - -#: ../../library/turtle.rst:1971 -msgid "" -"**ATTENTION**: in user-defined coordinate systems angles may appear " -"distorted." -msgstr "" - -#: ../../library/turtle.rst:1974 -msgid "" -">>> screen.reset()\n" -">>> screen.setworldcoordinates(-50,-7.5,50,7.5)\n" -">>> for _ in range(72):\n" -"... left(10)\n" -"...\n" -">>> for _ in range(8):\n" -"... left(45); fd(2) # a regular octagon" -msgstr "" - -#: ../../library/turtle.rst:1999 -msgid "" -"Temporarily disable turtle animation. The code written inside the " -"``no_animation`` block will not be animated; once the code block is exited, " -"the drawing will appear." -msgstr "" - -#: ../../library/turtle.rst:2003 -msgid "" -">>> with screen.no_animation():\n" -"... for dist in range(2, 400, 2):\n" -"... fd(dist)\n" -"... rt(90)" -msgstr "" - -#: ../../library/turtle.rst:2016 -msgid "positive integer" -msgstr "" - -#: ../../library/turtle.rst:2018 -msgid "" -"Set or return the drawing *delay* in milliseconds. (This is approximately " -"the time interval between two consecutive canvas updates.) The longer the " -"drawing delay, the slower the animation." -msgstr "" - -#: ../../library/turtle.rst:2022 -msgid "Optional argument:" -msgstr "" - -#: ../../library/turtle.rst:2024 -msgid "" -">>> screen.delay()\n" -"10\n" -">>> screen.delay(5)\n" -">>> screen.delay()\n" -"5" -msgstr "" - -#: ../../library/turtle.rst:2036 ../../library/turtle.rst:2037 -msgid "nonnegative integer" -msgstr "" - -#: ../../library/turtle.rst:2039 -msgid "" -"Turn turtle animation on/off and set delay for update drawings. If *n* is " -"given, only each n-th regular screen update is really performed. (Can be " -"used to accelerate the drawing of complex graphics.) When called without " -"arguments, returns the currently stored value of n. Second argument sets " -"delay value (see :func:`delay`)." -msgstr "" - -#: ../../library/turtle.rst:2046 -msgid "" -">>> screen.tracer(8, 25)\n" -">>> dist = 2\n" -">>> for i in range(200):\n" -"... fd(dist)\n" -"... rt(90)\n" -"... dist += 2" -msgstr "" - -#: ../../library/turtle.rst:2059 -msgid "Perform a TurtleScreen update. To be used when tracer is turned off." -msgstr "" - -#: ../../library/turtle.rst:2061 -msgid "See also the RawTurtle/Turtle method :func:`speed`." -msgstr "" - -#: ../../library/turtle.rst:2069 -msgid "" -"Set focus on TurtleScreen (in order to collect key-events). Dummy arguments" -" are provided in order to be able to pass :func:`listen` to the onclick " -"method." -msgstr "" - -#: ../../library/turtle.rst:2076 ../../library/turtle.rst:2096 -msgid "a function with no arguments or ``None``" -msgstr "" - -#: ../../library/turtle.rst:2077 ../../library/turtle.rst:2097 -msgid "a string: key (e.g. \"a\") or key-symbol (e.g. \"space\")" -msgstr "" - -#: ../../library/turtle.rst:2079 -msgid "" -"Bind *fun* to key-release event of key. If *fun* is ``None``, event " -"bindings are removed. Remark: in order to be able to register key-events, " -"TurtleScreen must have the focus. (See method :func:`listen`.)" -msgstr "" - -#: ../../library/turtle.rst:2083 -msgid "" -">>> def f():\n" -"... fd(50)\n" -"... lt(60)\n" -"...\n" -">>> screen.onkey(f, \"Up\")\n" -">>> screen.listen()" -msgstr "" - -#: ../../library/turtle.rst:2099 -msgid "" -"Bind *fun* to key-press event of key if key is given, or to any key-press-" -"event if no key is given. Remark: in order to be able to register key-" -"events, TurtleScreen must have focus. (See method :func:`listen`.)" -msgstr "" - -#: ../../library/turtle.rst:2104 -msgid "" -">>> def f():\n" -"... fd(50)\n" -"...\n" -">>> screen.onkey(f, \"Up\")\n" -">>> screen.listen()" -msgstr "" - -#: ../../library/turtle.rst:2123 -msgid "" -"Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, " -"existing bindings are removed." -msgstr "" - -#: ../../library/turtle.rst:2126 -msgid "" -"Example for a TurtleScreen instance named ``screen`` and a Turtle instance " -"named ``turtle``:" -msgstr "" - -#: ../../library/turtle.rst:2129 -msgid "" -">>> screen.onclick(turtle.goto) # Subsequently clicking into the TurtleScreen will\n" -">>> # make the turtle move to the clicked point.\n" -">>> screen.onclick(None) # remove event binding again" -msgstr "" - -#: ../../library/turtle.rst:2137 -msgid "" -"This TurtleScreen method is available as a global function only under the " -"name ``onscreenclick``. The global function ``onclick`` is another one " -"derived from the Turtle method ``onclick``." -msgstr "" - -#: ../../library/turtle.rst:2144 -msgid "a function with no arguments" -msgstr "" - -#: ../../library/turtle.rst:2145 -msgid "a number >= 0" -msgstr "" - -#: ../../library/turtle.rst:2147 -msgid "Install a timer that calls *fun* after *t* milliseconds." -msgstr "" - -#: ../../library/turtle.rst:2149 -msgid "" -">>> running = True\n" -">>> def f():\n" -"... if running:\n" -"... fd(50)\n" -"... lt(60)\n" -"... screen.ontimer(f, 250)\n" -">>> f() ### makes the turtle march around\n" -">>> running = False" -msgstr "" - -#: ../../library/turtle.rst:2165 -msgid "" -"Starts event loop - calling Tkinter's mainloop function. Must be the last " -"statement in a turtle graphics program. Must *not* be used if a script is " -"run from within IDLE in -n mode (No subprocess) - for interactive use of " -"turtle graphics. ::" -msgstr "" - -#: ../../library/turtle.rst:2170 -msgid ">>> screen.mainloop()" -msgstr "" - -#: ../../library/turtle.rst:2178 ../../library/turtle.rst:2179 -#: ../../library/turtle.rst:2191 ../../library/turtle.rst:2192 -msgid "string" -msgstr "string" - -#: ../../library/turtle.rst:2181 -msgid "" -"Pop up a dialog window for input of a string. Parameter title is the title " -"of the dialog window, prompt is a text mostly describing what information to" -" input. Return the string input. If the dialog is canceled, return ``None``." -" ::" -msgstr "" - -#: ../../library/turtle.rst:2186 -msgid ">>> screen.textinput(\"NIM\", \"Name of first player:\")" -msgstr "" - -#: ../../library/turtle.rst:2197 -msgid "" -"Pop up a dialog window for input of a number. title is the title of the " -"dialog window, prompt is a text mostly describing what numerical information" -" to input. default: default value, minval: minimum value for input, maxval: " -"maximum value for input. The number input must be in the range minval .. " -"maxval if these are given. If not, a hint is issued and the dialog remains " -"open for correction. Return the number input. If the dialog is canceled, " -"return ``None``. ::" -msgstr "" - -#: ../../library/turtle.rst:2206 -msgid "" -">>> screen.numinput(\"Poker\", \"Your stakes:\", 1000, minval=10, " -"maxval=10000)" -msgstr "" - -#: ../../library/turtle.rst:2214 -msgid "one of the strings \"standard\", \"logo\" or \"world\"" -msgstr "" - -#: ../../library/turtle.rst:2216 -msgid "" -"Set turtle mode (\"standard\", \"logo\" or \"world\") and perform reset. If" -" mode is not given, current mode is returned." -msgstr "" - -#: ../../library/turtle.rst:2219 -msgid "" -"Mode \"standard\" is compatible with old :mod:`turtle`. Mode \"logo\" is " -"compatible with most Logo turtle graphics. Mode \"world\" uses user-defined" -" \"world coordinates\". **Attention**: in this mode angles appear distorted " -"if ``x/y`` unit-ratio doesn't equal 1." -msgstr "" - -#: ../../library/turtle.rst:2225 -msgid "Mode" -msgstr "" - -#: ../../library/turtle.rst:2225 -msgid "Initial turtle heading" -msgstr "" - -#: ../../library/turtle.rst:2225 -msgid "positive angles" -msgstr "" - -#: ../../library/turtle.rst:2227 -msgid "\"standard\"" -msgstr "" - -#: ../../library/turtle.rst:2227 -msgid "to the right (east)" -msgstr "" - -#: ../../library/turtle.rst:2227 -msgid "counterclockwise" -msgstr "" - -#: ../../library/turtle.rst:2228 -msgid "\"logo\"" -msgstr "" - -#: ../../library/turtle.rst:2228 -msgid "upward (north)" -msgstr "" - -#: ../../library/turtle.rst:2228 -msgid "clockwise" -msgstr "" - -#: ../../library/turtle.rst:2231 -msgid "" -">>> mode(\"logo\") # resets turtle heading to north\n" -">>> mode()\n" -"'logo'" -msgstr "" - -#: ../../library/turtle.rst:2241 -msgid "one of the values 1.0 or 255" -msgstr "" - -#: ../../library/turtle.rst:2243 -msgid "" -"Return the colormode or set it to 1.0 or 255. Subsequently *r*, *g*, *b* " -"values of color triples have to be in the range 0..*cmode*." -msgstr "" - -#: ../../library/turtle.rst:2246 -msgid "" -">>> screen.colormode(1)\n" -">>> turtle.pencolor(240, 160, 80)\n" -"Traceback (most recent call last):\n" -" ...\n" -"TurtleGraphicsError: bad color sequence: (240, 160, 80)\n" -">>> screen.colormode()\n" -"1.0\n" -">>> screen.colormode(255)\n" -">>> screen.colormode()\n" -"255\n" -">>> turtle.pencolor(240,160,80)" -msgstr "" - -#: ../../library/turtle.rst:2264 -msgid "" -"Return the Canvas of this TurtleScreen. Useful for insiders who know what " -"to do with a Tkinter Canvas." -msgstr "" - -#: ../../library/turtle.rst:2267 -msgid "" -">>> cv = screen.getcanvas()\n" -">>> cv\n" -"" -msgstr "" - -#: ../../library/turtle.rst:2277 -msgid "Return a list of names of all currently available turtle shapes." -msgstr "" - -#: ../../library/turtle.rst:2279 -msgid "" -">>> screen.getshapes()\n" -"['arrow', 'blank', 'circle', ..., 'turtle']" -msgstr "" - -#: ../../library/turtle.rst:2289 -msgid "There are four different ways to call this function:" -msgstr "" - -#: ../../library/turtle.rst:2291 -msgid "" -"*name* is the name of an image file (PNG, GIF, PGM, and PPM) and *shape* is " -"``None``: Install the corresponding image shape. ::" -msgstr "" - -#: ../../library/turtle.rst:2294 -msgid ">>> screen.register_shape(\"turtle.gif\")" -msgstr "" - -#: ../../library/turtle.rst:2297 ../../library/turtle.rst:2306 -msgid "" -"Image shapes *do not* rotate when turning the turtle, so they do not display" -" the heading of the turtle!" -msgstr "" - -#: ../../library/turtle.rst:2300 -msgid "" -"*name* is an arbitrary string and *shape* is the name of an image file (PNG," -" GIF, PGM, and PPM): Install the corresponding image shape. ::" -msgstr "" - -#: ../../library/turtle.rst:2303 -msgid ">>> screen.register_shape(\"turtle\", \"turtle.gif\")" -msgstr "" - -#: ../../library/turtle.rst:2309 -msgid "" -"*name* is an arbitrary string and *shape* is a tuple of pairs of " -"coordinates: Install the corresponding polygon shape." -msgstr "" - -#: ../../library/turtle.rst:2312 -msgid ">>> screen.register_shape(\"triangle\", ((5,-3), (0,5), (-5,-3)))" -msgstr "" - -#: ../../library/turtle.rst:2317 -msgid "" -"*name* is an arbitrary string and *shape* is a (compound) :class:`Shape` " -"object: Install the corresponding compound shape." -msgstr "" - -#: ../../library/turtle.rst:2320 -msgid "" -"Add a turtle shape to TurtleScreen's shapelist. Only thusly registered " -"shapes can be used by issuing the command ``shape(shapename)``." -msgstr "" - -#: ../../library/turtle.rst:2323 -msgid "" -"Added support for PNG, PGM, and PPM image formats. Both a shape name and an " -"image file name can be specified." -msgstr "" - -#: ../../library/turtle.rst:2330 -msgid "Return the list of turtles on the screen." -msgstr "" - -#: ../../library/turtle.rst:2332 -msgid "" -">>> for turtle in screen.turtles():\n" -"... turtle.color(\"red\")" -msgstr "" - -#: ../../library/turtle.rst:2341 -msgid "Return the height of the turtle window. ::" -msgstr "" - -#: ../../library/turtle.rst:2343 -msgid "" -">>> screen.window_height()\n" -"480" -msgstr "" - -#: ../../library/turtle.rst:2349 -msgid "Return the width of the turtle window. ::" -msgstr "" - -#: ../../library/turtle.rst:2351 -msgid "" -">>> screen.window_width()\n" -"640" -msgstr "" - -#: ../../library/turtle.rst:2358 -msgid "Methods specific to Screen, not inherited from TurtleScreen" -msgstr "" - -#: ../../library/turtle.rst:2362 -msgid "Shut the turtlegraphics window." -msgstr "" - -#: ../../library/turtle.rst:2367 -msgid "Bind ``bye()`` method to mouse clicks on the Screen." -msgstr "" - -#: ../../library/turtle.rst:2370 -msgid "" -"If the value \"using_IDLE\" in the configuration dictionary is ``False`` " -"(default value), also enter mainloop. Remark: If IDLE with the ``-n`` " -"switch (no subprocess) is used, this value should be set to ``True`` in " -":file:`turtle.cfg`. In this case IDLE's own mainloop is active also for the" -" client script." -msgstr "" - -#: ../../library/turtle.rst:2379 -msgid "Save the current turtle drawing (and turtles) as a PostScript file." -msgstr "" - -#: ../../library/turtle.rst:2381 -msgid "the path of the saved PostScript file" -msgstr "" - -#: ../../library/turtle.rst:2382 -msgid "" -"if ``False`` and there already exists a file with the given filename, then " -"the function will raise a ``FileExistsError``. If it is ``True``, the file " -"will be overwritten." -msgstr "" - -#: ../../library/turtle.rst:2387 -msgid "" -">>> screen.save(\"my_drawing.ps\")\n" -">>> screen.save(\"my_drawing.ps\", overwrite=True)" -msgstr "" - -#: ../../library/turtle.rst:2397 -msgid "" -"Set the size and position of the main window. Default values of arguments " -"are stored in the configuration dictionary and can be changed via a " -":file:`turtle.cfg` file." -msgstr "" - -#: ../../library/turtle.rst:2401 -msgid "" -"if an integer, a size in pixels, if a float, a fraction of the screen; " -"default is 50% of screen" -msgstr "" - -#: ../../library/turtle.rst:2403 -msgid "" -"if an integer, the height in pixels, if a float, a fraction of the screen; " -"default is 75% of screen" -msgstr "" - -#: ../../library/turtle.rst:2405 -msgid "" -"if positive, starting position in pixels from the left edge of the screen, " -"if negative from the right edge, if ``None``, center window horizontally" -msgstr "" - -#: ../../library/turtle.rst:2408 -msgid "" -"if positive, starting position in pixels from the top edge of the screen, if" -" negative from the bottom edge, if ``None``, center window vertically" -msgstr "" - -#: ../../library/turtle.rst:2412 -msgid "" -">>> screen.setup (width=200, height=200, startx=0, starty=0)\n" -">>> # sets window to 200x200 pixels, in upper left of screen\n" -">>> screen.setup(width=.75, height=0.5, startx=None, starty=None)\n" -">>> # sets window to 75% of screen by 50% of screen and centers" -msgstr "" - -#: ../../library/turtle.rst:2423 -msgid "a string that is shown in the titlebar of the turtle graphics window" -msgstr "" - -#: ../../library/turtle.rst:2426 -msgid "Set title of turtle window to *titlestring*." -msgstr "" - -#: ../../library/turtle.rst:2428 -msgid ">>> screen.title(\"Welcome to the turtle zoo!\")" -msgstr "" - -#: ../../library/turtle.rst:2435 -msgid "Public classes" -msgstr "" - -#: ../../library/turtle.rst:2441 -msgid "" -"a :class:`!tkinter.Canvas`, a :class:`ScrolledCanvas` or a " -":class:`TurtleScreen`" -msgstr "" - -#: ../../library/turtle.rst:2444 -msgid "" -"Create a turtle. The turtle has all methods described above as \"methods of" -" Turtle/RawTurtle\"." -msgstr "" - -#: ../../library/turtle.rst:2450 -msgid "" -"Subclass of RawTurtle, has the same interface but draws on a default " -":class:`Screen` object created automatically when needed for the first time." -msgstr "" - -#: ../../library/turtle.rst:2456 -msgid "a :class:`!tkinter.Canvas`" -msgstr "" - -#: ../../library/turtle.rst:2458 -msgid "" -"Provides screen oriented methods like :func:`bgcolor` etc. that are " -"described above." -msgstr "" - -#: ../../library/turtle.rst:2463 -msgid "" -"Subclass of TurtleScreen, with :ref:`four methods added `." -msgstr "" - -#: ../../library/turtle.rst:2468 -msgid "" -"some Tkinter widget to contain the ScrolledCanvas, i.e. a Tkinter-canvas " -"with scrollbars added" -msgstr "" - -#: ../../library/turtle.rst:2471 -msgid "" -"Used by class Screen, which thus automatically provides a ScrolledCanvas as " -"playground for the turtles." -msgstr "" - -#: ../../library/turtle.rst:2476 -msgid "one of the strings \"polygon\", \"image\", \"compound\"" -msgstr "" - -#: ../../library/turtle.rst:2478 -msgid "" -"Data structure modeling shapes. The pair ``(type_, data)`` must follow this" -" specification:" -msgstr "" - -#: ../../library/turtle.rst:2483 -msgid "*type_*" -msgstr "" - -#: ../../library/turtle.rst:2483 -msgid "*data*" -msgstr "" - -#: ../../library/turtle.rst:2485 -msgid "\"polygon\"" -msgstr "" - -#: ../../library/turtle.rst:2485 -msgid "a polygon-tuple, i.e. a tuple of pairs of coordinates" -msgstr "" - -#: ../../library/turtle.rst:2486 -msgid "\"image\"" -msgstr "" - -#: ../../library/turtle.rst:2486 -msgid "an image (in this form only used internally!)" -msgstr "" - -#: ../../library/turtle.rst:2487 -msgid "\"compound\"" -msgstr "" - -#: ../../library/turtle.rst:2487 -msgid "" -"``None`` (a compound shape has to be constructed using the " -":meth:`addcomponent` method)" -msgstr "" - -#: ../../library/turtle.rst:2493 -msgid "a polygon, i.e. a tuple of pairs of numbers" -msgstr "" - -#: ../../library/turtle.rst:2494 -msgid "a color the *poly* will be filled with" -msgstr "" - -#: ../../library/turtle.rst:2495 -msgid "a color for the poly's outline (if given)" -msgstr "" - -#: ../../library/turtle.rst:2497 -msgid "Example:" -msgstr "Contoh:" - -#: ../../library/turtle.rst:2499 -msgid "" -">>> poly = ((0,0),(10,-5),(0,10),(-10,-5))\n" -">>> s = Shape(\"compound\")\n" -">>> s.addcomponent(poly, \"red\", \"blue\")\n" -">>> # ... add more components and then use register_shape()" -msgstr "" - -#: ../../library/turtle.rst:2507 -msgid "See :ref:`compoundshapes`." -msgstr "" - -#: ../../library/turtle.rst:2512 -msgid "" -"A two-dimensional vector class, used as a helper class for implementing " -"turtle graphics. May be useful for turtle graphics programs too. Derived " -"from tuple, so a vector is a tuple!" -msgstr "" - -#: ../../library/turtle.rst:2516 -msgid "Provides (for *a*, *b* vectors, *k* number):" -msgstr "" - -#: ../../library/turtle.rst:2518 -msgid "``a + b`` vector addition" -msgstr "" - -#: ../../library/turtle.rst:2519 -msgid "``a - b`` vector subtraction" -msgstr "" - -#: ../../library/turtle.rst:2520 -msgid "``a * b`` inner product" -msgstr "" - -#: ../../library/turtle.rst:2521 -msgid "``k * a`` and ``a * k`` multiplication with scalar" -msgstr "" - -#: ../../library/turtle.rst:2522 -msgid "``abs(a)`` absolute value of a" -msgstr "" - -#: ../../library/turtle.rst:2523 -msgid "``a.rotate(angle)`` rotation" -msgstr "" - -#: ../../library/turtle.rst:2529 -msgid "Explanation" -msgstr "" - -#: ../../library/turtle.rst:2531 -msgid "" -"A turtle object draws on a screen object, and there a number of key classes " -"in the turtle object-oriented interface that can be used to create them and " -"relate them to each other." -msgstr "" - -#: ../../library/turtle.rst:2535 -msgid "" -"A :class:`Turtle` instance will automatically create a :class:`Screen` " -"instance if one is not already present." -msgstr "" - -#: ../../library/turtle.rst:2538 -msgid "" -"``Turtle`` is a subclass of :class:`RawTurtle`, which *doesn't* " -"automatically create a drawing surface - a *canvas* will need to be provided" -" or created for it. The *canvas* can be a :class:`!tkinter.Canvas`, " -":class:`ScrolledCanvas` or :class:`TurtleScreen`." -msgstr "" - -#: ../../library/turtle.rst:2544 -msgid "" -":class:`TurtleScreen` is the basic drawing surface for a turtle. " -":class:`Screen` is a subclass of ``TurtleScreen``, and includes :ref:`some " -"additional methods ` for managing its appearance (including " -"size and title) and behaviour. ``TurtleScreen``'s constructor needs a " -":class:`!tkinter.Canvas` or a :class:`ScrolledCanvas` as an argument." -msgstr "" - -#: ../../library/turtle.rst:2551 -msgid "" -"The functional interface for turtle graphics uses the various methods of " -"``Turtle`` and ``TurtleScreen``/``Screen``. Behind the scenes, a screen " -"object is automatically created whenever a function derived from a " -"``Screen`` method is called. Similarly, a turtle object is automatically " -"created whenever any of the functions derived from a Turtle method is " -"called." -msgstr "" - -#: ../../library/turtle.rst:2557 -msgid "" -"To use multiple turtles on a screen, the object-oriented interface must be " -"used." -msgstr "" - -#: ../../library/turtle.rst:2562 -msgid "Help and configuration" -msgstr "" - -#: ../../library/turtle.rst:2565 -msgid "How to use help" -msgstr "" - -#: ../../library/turtle.rst:2567 -msgid "" -"The public methods of the Screen and Turtle classes are documented " -"extensively via docstrings. So these can be used as online-help via the " -"Python help facilities:" -msgstr "" - -#: ../../library/turtle.rst:2571 -msgid "" -"When using IDLE, tooltips show the signatures and first lines of the " -"docstrings of typed in function-/method calls." -msgstr "" - -#: ../../library/turtle.rst:2574 -msgid "Calling :func:`help` on methods or functions displays the docstrings::" -msgstr "" - -#: ../../library/turtle.rst:2576 -msgid "" -">>> help(Screen.bgcolor)\n" -"Help on method bgcolor in module turtle:\n" -"\n" -"bgcolor(self, *args) unbound turtle.Screen method\n" -" Set or return backgroundcolor of the TurtleScreen.\n" -"\n" -" Arguments (if given): a color string or three numbers\n" -" in the range 0..colormode or a 3-tuple of such numbers.\n" -"\n" -"\n" -" >>> screen.bgcolor(\"orange\")\n" -" >>> screen.bgcolor()\n" -" \"orange\"\n" -" >>> screen.bgcolor(0.5,0,0.5)\n" -" >>> screen.bgcolor()\n" -" \"#800080\"\n" -"\n" -">>> help(Turtle.penup)\n" -"Help on method penup in module turtle:\n" -"\n" -"penup(self) unbound turtle.Turtle method\n" -" Pull the pen up -- no drawing when moving.\n" -"\n" -" Aliases: penup | pu | up\n" -"\n" -" No argument\n" -"\n" -" >>> turtle.penup()" -msgstr "" - -#: ../../library/turtle.rst:2605 -msgid "" -"The docstrings of the functions which are derived from methods have a " -"modified form::" -msgstr "" - -#: ../../library/turtle.rst:2608 -msgid "" -">>> help(bgcolor)\n" -"Help on function bgcolor in module turtle:\n" -"\n" -"bgcolor(*args)\n" -" Set or return backgroundcolor of the TurtleScreen.\n" -"\n" -" Arguments (if given): a color string or three numbers\n" -" in the range 0..colormode or a 3-tuple of such numbers.\n" -"\n" -" Example::\n" -"\n" -" >>> bgcolor(\"orange\")\n" -" >>> bgcolor()\n" -" \"orange\"\n" -" >>> bgcolor(0.5,0,0.5)\n" -" >>> bgcolor()\n" -" \"#800080\"\n" -"\n" -">>> help(penup)\n" -"Help on function penup in module turtle:\n" -"\n" -"penup()\n" -" Pull the pen up -- no drawing when moving.\n" -"\n" -" Aliases: penup | pu | up\n" -"\n" -" No argument\n" -"\n" -" Example:\n" -" >>> penup()" -msgstr "" - -#: ../../library/turtle.rst:2639 -msgid "" -"These modified docstrings are created automatically together with the " -"function definitions that are derived from the methods at import time." -msgstr "" - -#: ../../library/turtle.rst:2644 -msgid "Translation of docstrings into different languages" -msgstr "" - -#: ../../library/turtle.rst:2646 -msgid "" -"There is a utility to create a dictionary the keys of which are the method " -"names and the values of which are the docstrings of the public methods of " -"the classes Screen and Turtle." -msgstr "" - -#: ../../library/turtle.rst:2652 -msgid "a string, used as filename" -msgstr "" - -#: ../../library/turtle.rst:2654 -msgid "" -"Create and write docstring-dictionary to a Python script with the given " -"filename. This function has to be called explicitly (it is not used by the " -"turtle graphics classes). The docstring dictionary will be written to the " -"Python script :file:`{filename}.py`. It is intended to serve as a template " -"for translation of the docstrings into different languages." -msgstr "" - -#: ../../library/turtle.rst:2660 -msgid "" -"If you (or your students) want to use :mod:`turtle` with online help in your" -" native language, you have to translate the docstrings and save the " -"resulting file as e.g. :file:`turtle_docstringdict_german.py`." -msgstr "" - -#: ../../library/turtle.rst:2664 -msgid "" -"If you have an appropriate entry in your :file:`turtle.cfg` file this " -"dictionary will be read in at import time and will replace the original " -"English docstrings." -msgstr "" - -#: ../../library/turtle.rst:2667 -msgid "" -"At the time of this writing there are docstring dictionaries in German and " -"in Italian. (Requests please to glingl@aon.at.)" -msgstr "" - -#: ../../library/turtle.rst:2673 -msgid "How to configure Screen and Turtles" -msgstr "" - -#: ../../library/turtle.rst:2675 -msgid "" -"The built-in default configuration mimics the appearance and behaviour of " -"the old turtle module in order to retain best possible compatibility with " -"it." -msgstr "" - -#: ../../library/turtle.rst:2678 -msgid "" -"If you want to use a different configuration which better reflects the " -"features of this module or which better fits to your needs, e.g. for use in " -"a classroom, you can prepare a configuration file ``turtle.cfg`` which will " -"be read at import time and modify the configuration according to its " -"settings." -msgstr "" - -#: ../../library/turtle.rst:2683 -msgid "" -"The built in configuration would correspond to the following ``turtle.cfg``:" -msgstr "" - -#: ../../library/turtle.rst:2685 -msgid "" -"width = 0.5\n" -"height = 0.75\n" -"leftright = None\n" -"topbottom = None\n" -"canvwidth = 400\n" -"canvheight = 300\n" -"mode = standard\n" -"colormode = 1.0\n" -"delay = 10\n" -"undobuffersize = 1000\n" -"shape = classic\n" -"pencolor = black\n" -"fillcolor = black\n" -"resizemode = noresize\n" -"visible = True\n" -"language = english\n" -"exampleturtle = turtle\n" -"examplescreen = screen\n" -"title = Python Turtle Graphics\n" -"using_IDLE = False" -msgstr "" - -#: ../../library/turtle.rst:2708 -msgid "Short explanation of selected entries:" -msgstr "" - -#: ../../library/turtle.rst:2710 -msgid "" -"The first four lines correspond to the arguments of the :func:`Screen.setup " -"` method." -msgstr "" - -#: ../../library/turtle.rst:2712 -msgid "" -"Line 5 and 6 correspond to the arguments of the method " -":func:`Screen.screensize `." -msgstr "" - -#: ../../library/turtle.rst:2714 -msgid "" -"*shape* can be any of the built-in shapes, e.g: arrow, turtle, etc. For " -"more info try ``help(shape)``." -msgstr "" - -#: ../../library/turtle.rst:2716 -msgid "" -"If you want to use no fill color (i.e. make the turtle transparent), you " -"have to write ``fillcolor = \"\"`` (but all nonempty strings must not have " -"quotes in the cfg file)." -msgstr "" - -#: ../../library/turtle.rst:2719 -msgid "" -"If you want to reflect the turtle its state, you have to use ``resizemode = " -"auto``." -msgstr "" - -#: ../../library/turtle.rst:2721 -msgid "" -"If you set e.g. ``language = italian`` the docstringdict " -":file:`turtle_docstringdict_italian.py` will be loaded at import time (if " -"present on the import path, e.g. in the same directory as :mod:`turtle`)." -msgstr "" - -#: ../../library/turtle.rst:2724 -msgid "" -"The entries *exampleturtle* and *examplescreen* define the names of these " -"objects as they occur in the docstrings. The transformation of method-" -"docstrings to function-docstrings will delete these names from the " -"docstrings." -msgstr "" - -#: ../../library/turtle.rst:2728 -msgid "" -"*using_IDLE*: Set this to ``True`` if you regularly work with IDLE and its " -"``-n`` switch (\"no subprocess\"). This will prevent :func:`exitonclick` to" -" enter the mainloop." -msgstr "" - -#: ../../library/turtle.rst:2732 -msgid "" -"There can be a :file:`turtle.cfg` file in the directory where :mod:`turtle` " -"is stored and an additional one in the current working directory. The " -"latter will override the settings of the first one." -msgstr "" - -#: ../../library/turtle.rst:2736 -msgid "" -"The :file:`Lib/turtledemo` directory contains a :file:`turtle.cfg` file. " -"You can study it as an example and see its effects when running the demos " -"(preferably not from within the demo-viewer)." -msgstr "" - -#: ../../library/turtle.rst:2742 -msgid ":mod:`turtledemo` --- Demo scripts" -msgstr "" - -#: ../../library/turtle.rst:2747 -msgid "" -"The :mod:`turtledemo` package includes a set of demo scripts. These scripts" -" can be run and viewed using the supplied demo viewer as follows::" -msgstr "" - -#: ../../library/turtle.rst:2750 -msgid "python -m turtledemo" -msgstr "" - -#: ../../library/turtle.rst:2752 -msgid "" -"Alternatively, you can run the demo scripts individually. For example, ::" -msgstr "" - -#: ../../library/turtle.rst:2754 -msgid "python -m turtledemo.bytedesign" -msgstr "" - -#: ../../library/turtle.rst:2756 -msgid "The :mod:`turtledemo` package directory contains:" -msgstr "" - -#: ../../library/turtle.rst:2758 -msgid "" -"A demo viewer :file:`__main__.py` which can be used to view the sourcecode " -"of the scripts and run them at the same time." -msgstr "" - -#: ../../library/turtle.rst:2760 -msgid "" -"Multiple scripts demonstrating different features of the :mod:`turtle` " -"module. Examples can be accessed via the Examples menu. They can also be " -"run standalone." -msgstr "" - -#: ../../library/turtle.rst:2763 -msgid "" -"A :file:`turtle.cfg` file which serves as an example of how to write and use" -" such files." -msgstr "" - -#: ../../library/turtle.rst:2766 -msgid "The demo scripts are:" -msgstr "" - -#: ../../library/turtle.rst:2773 -msgid "Name" -msgstr "Nama" - -#: ../../library/turtle.rst:2773 -msgid "Description" -msgstr "Deskripsi" - -#: ../../library/turtle.rst:2773 -msgid "Features" -msgstr "" - -#: ../../library/turtle.rst:2775 -msgid "bytedesign" -msgstr "" - -#: ../../library/turtle.rst:2775 -msgid "complex classical turtle graphics pattern" -msgstr "" - -#: ../../library/turtle.rst:2775 -msgid ":func:`tracer`, delay, :func:`update`" -msgstr ":func:`tracer`, delay, :func:`update`" - -#: ../../library/turtle.rst:2778 -msgid "chaos" -msgstr "" - -#: ../../library/turtle.rst:2778 -msgid "" -"graphs Verhulst dynamics, shows that computer's computations can generate " -"results sometimes against the common sense expectations" -msgstr "" - -#: ../../library/turtle.rst:2778 -msgid "world coordinates" -msgstr "" - -#: ../../library/turtle.rst:2784 -msgid "clock" -msgstr "" - -#: ../../library/turtle.rst:2784 -msgid "analog clock showing time of your computer" -msgstr "" - -#: ../../library/turtle.rst:2784 -msgid "turtles as clock's hands, ontimer" -msgstr "" - -#: ../../library/turtle.rst:2787 -msgid "colormixer" -msgstr "" - -#: ../../library/turtle.rst:2787 -msgid "experiment with r, g, b" -msgstr "" - -#: ../../library/turtle.rst:2789 -msgid "forest" -msgstr "" - -#: ../../library/turtle.rst:2789 -msgid "3 breadth-first trees" -msgstr "" - -#: ../../library/turtle.rst:2789 -msgid "randomization" -msgstr "" - -#: ../../library/turtle.rst:2791 -msgid "fractalcurves" -msgstr "" - -#: ../../library/turtle.rst:2791 -msgid "Hilbert & Koch curves" -msgstr "" - -#: ../../library/turtle.rst:2791 -msgid "recursion" -msgstr "" - -#: ../../library/turtle.rst:2793 -msgid "lindenmayer" -msgstr "" - -#: ../../library/turtle.rst:2793 -msgid "ethnomathematics (indian kolams)" -msgstr "" - -#: ../../library/turtle.rst:2793 -msgid "L-System" -msgstr "" - -#: ../../library/turtle.rst:2796 -msgid "minimal_hanoi" -msgstr "" - -#: ../../library/turtle.rst:2796 -msgid "Towers of Hanoi" -msgstr "" - -#: ../../library/turtle.rst:2796 -msgid "Rectangular Turtles as Hanoi discs (shape, shapesize)" -msgstr "" - -#: ../../library/turtle.rst:2800 -msgid "nim" -msgstr "" - -#: ../../library/turtle.rst:2800 -msgid "" -"play the classical nim game with three heaps of sticks against the computer." -msgstr "" - -#: ../../library/turtle.rst:2800 -msgid "turtles as nimsticks, event driven (mouse, keyboard)" -msgstr "" - -#: ../../library/turtle.rst:2804 -msgid "paint" -msgstr "" - -#: ../../library/turtle.rst:2804 -msgid "super minimalistic drawing program" -msgstr "" - -#: ../../library/turtle.rst:2807 -msgid "peace" -msgstr "" - -#: ../../library/turtle.rst:2807 -msgid "elementary" -msgstr "" - -#: ../../library/turtle.rst:2807 -msgid "turtle: appearance and animation" -msgstr "" - -#: ../../library/turtle.rst:2810 -msgid "penrose" -msgstr "" - -#: ../../library/turtle.rst:2810 -msgid "aperiodic tiling with kites and darts" -msgstr "" - -#: ../../library/turtle.rst:2813 -msgid "planet_and_moon" -msgstr "" - -#: ../../library/turtle.rst:2813 -msgid "simulation of gravitational system" -msgstr "" - -#: ../../library/turtle.rst:2813 -msgid "compound shapes, :class:`Vec2D`" -msgstr "" - -#: ../../library/turtle.rst:2816 -msgid "rosette" -msgstr "" - -#: ../../library/turtle.rst:2816 -msgid "a pattern from the wikipedia article on turtle graphics" -msgstr "" - -#: ../../library/turtle.rst:2816 -msgid ":func:`clone`, :func:`undo`" -msgstr ":func:`clone`, :func:`undo`" - -#: ../../library/turtle.rst:2819 -msgid "round_dance" -msgstr "" - -#: ../../library/turtle.rst:2819 -msgid "dancing turtles rotating pairwise in opposite direction" -msgstr "" - -#: ../../library/turtle.rst:2819 -msgid "compound shapes, clone shapesize, tilt, get_shapepoly, update" -msgstr "" - -#: ../../library/turtle.rst:2823 -msgid "sorting_animate" -msgstr "" - -#: ../../library/turtle.rst:2823 -msgid "visual demonstration of different sorting methods" -msgstr "" - -#: ../../library/turtle.rst:2823 -msgid "simple alignment, randomization" -msgstr "" - -#: ../../library/turtle.rst:2826 -msgid "tree" -msgstr "pohon" - -#: ../../library/turtle.rst:2826 -msgid "a (graphical) breadth first tree (using generators)" -msgstr "" - -#: ../../library/turtle.rst:2829 -msgid "two_canvases" -msgstr "" - -#: ../../library/turtle.rst:2829 -msgid "simple design" -msgstr "" - -#: ../../library/turtle.rst:2829 -msgid "turtles on two canvases" -msgstr "" - -#: ../../library/turtle.rst:2832 -msgid "yinyang" -msgstr "" - -#: ../../library/turtle.rst:2832 -msgid "another elementary example" -msgstr "" - -#: ../../library/turtle.rst:2835 -msgid "Have fun!" -msgstr "" - -#: ../../library/turtle.rst:2839 -msgid "Changes since Python 2.6" -msgstr "" - -#: ../../library/turtle.rst:2841 -msgid "" -"The methods :func:`Turtle.tracer `, :func:`Turtle.window_width " -"` and :func:`Turtle.window_height ` have been " -"eliminated. Methods with these names and functionality are now available " -"only as methods of :class:`Screen`. The functions derived from these remain " -"available. (In fact already in Python 2.6 these methods were merely " -"duplications of the corresponding :class:`TurtleScreen`/:class:`Screen` " -"methods.)" -msgstr "" - -#: ../../library/turtle.rst:2849 -msgid "" -"The method :func:`!Turtle.fill` has been eliminated. The behaviour of " -":func:`begin_fill` and :func:`end_fill` have changed slightly: now every " -"filling process must be completed with an ``end_fill()`` call." -msgstr "" - -#: ../../library/turtle.rst:2854 -msgid "" -"A method :func:`Turtle.filling ` has been added. It returns a " -"boolean value: ``True`` if a filling process is under way, ``False`` " -"otherwise. This behaviour corresponds to a ``fill()`` call without arguments" -" in Python 2.6." -msgstr "" - -#: ../../library/turtle.rst:2860 -msgid "Changes since Python 3.0" -msgstr "" - -#: ../../library/turtle.rst:2862 -msgid "" -"The :class:`Turtle` methods :func:`shearfactor`, :func:`shapetransform` and " -":func:`get_shapepoly` have been added. Thus the full range of regular linear" -" transforms is now available for transforming turtle shapes. " -":func:`tiltangle` has been enhanced in functionality: it now can be used to " -"get or set the tilt angle." -msgstr "" - -#: ../../library/turtle.rst:2868 -msgid "" -"The :class:`Screen` method :func:`onkeypress` has been added as a complement" -" to :func:`onkey`. As the latter binds actions to the key release event, an " -"alias: :func:`onkeyrelease` was also added for it." -msgstr "" - -#: ../../library/turtle.rst:2872 -msgid "" -"The method :func:`Screen.mainloop ` has been added, so there is no" -" longer a need to use the standalone :func:`mainloop` function when working " -"with :class:`Screen` and :class:`Turtle` objects." -msgstr "" - -#: ../../library/turtle.rst:2876 -msgid "" -"Two input methods have been added: :func:`Screen.textinput ` and " -":func:`Screen.numinput `. These pop up input dialogs and return " -"strings and numbers respectively." -msgstr "" diff --git a/python-newest.library--types/id.po b/python-newest.library--types/id.po deleted file mode 100644 index d8c4ec6..0000000 --- a/python-newest.library--types/id.po +++ /dev/null @@ -1,651 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/types.rst:2 -msgid ":mod:`!types` --- Dynamic type creation and names for built-in types" -msgstr "" - -#: ../../library/types.rst:7 -msgid "**Source code:** :source:`Lib/types.py`" -msgstr "" - -#: ../../library/types.rst:11 -msgid "" -"This module defines utility functions to assist in dynamic creation of new " -"types." -msgstr "" - -#: ../../library/types.rst:14 -msgid "" -"It also defines names for some object types that are used by the standard " -"Python interpreter, but not exposed as builtins like :class:`int` or " -":class:`str` are." -msgstr "" - -#: ../../library/types.rst:18 -msgid "" -"Finally, it provides some additional type-related utility classes and " -"functions that are not fundamental enough to be builtins." -msgstr "" - -#: ../../library/types.rst:23 -msgid "Dynamic Type Creation" -msgstr "" - -#: ../../library/types.rst:27 -msgid "Creates a class object dynamically using the appropriate metaclass." -msgstr "" - -#: ../../library/types.rst:29 -msgid "" -"The first three arguments are the components that make up a class definition" -" header: the class name, the base classes (in order), the keyword arguments " -"(such as ``metaclass``)." -msgstr "" - -#: ../../library/types.rst:33 -msgid "" -"The *exec_body* argument is a callback that is used to populate the freshly " -"created class namespace. It should accept the class namespace as its sole " -"argument and update the namespace directly with the class contents. If no " -"callback is provided, it has the same effect as passing in ``lambda ns: " -"None``." -msgstr "" - -#: ../../library/types.rst:43 -msgid "Calculates the appropriate metaclass and creates the class namespace." -msgstr "" - -#: ../../library/types.rst:45 -msgid "" -"The arguments are the components that make up a class definition header: the" -" class name, the base classes (in order) and the keyword arguments (such as " -"``metaclass``)." -msgstr "" - -#: ../../library/types.rst:49 -msgid "The return value is a 3-tuple: ``metaclass, namespace, kwds``" -msgstr "" - -#: ../../library/types.rst:51 -msgid "" -"*metaclass* is the appropriate metaclass, *namespace* is the prepared class " -"namespace and *kwds* is an updated copy of the passed in *kwds* argument " -"with any ``'metaclass'`` entry removed. If no *kwds* argument is passed in, " -"this will be an empty dict." -msgstr "" - -#: ../../library/types.rst:60 -msgid "" -"The default value for the ``namespace`` element of the returned tuple has " -"changed. Now an insertion-order-preserving mapping is used when the " -"metaclass does not have a ``__prepare__`` method." -msgstr "" - -#: ../../library/types.rst:66 -msgid ":ref:`metaclasses`" -msgstr "" - -#: ../../library/types.rst:67 -msgid "" -"Full details of the class creation process supported by these functions" -msgstr "" - -#: ../../library/types.rst:69 -msgid ":pep:`3115` - Metaclasses in Python 3000" -msgstr "" - -#: ../../library/types.rst:70 -msgid "Introduced the ``__prepare__`` namespace hook" -msgstr "" - -#: ../../library/types.rst:74 -msgid "Resolve MRO entries dynamically as specified by :pep:`560`." -msgstr "" - -#: ../../library/types.rst:76 -msgid "" -"This function looks for items in *bases* that are not instances of " -":class:`type`, and returns a tuple where each such object that has an " -":meth:`~object.__mro_entries__` method is replaced with an unpacked result " -"of calling this method. If a *bases* item is an instance of :class:`type`, " -"or it doesn't have an :meth:`!__mro_entries__` method, then it is included " -"in the return tuple unchanged." -msgstr "" - -#: ../../library/types.rst:87 -msgid "" -"Return the tuple of objects originally given as the bases of *cls* before " -"the :meth:`~object.__mro_entries__` method has been called on any bases " -"(following the mechanisms laid out in :pep:`560`). This is useful for " -"introspecting :ref:`Generics `." -msgstr "" - -#: ../../library/types.rst:92 -msgid "" -"For classes that have an ``__orig_bases__`` attribute, this function returns" -" the value of ``cls.__orig_bases__``. For classes without the " -"``__orig_bases__`` attribute, :attr:`cls.__bases__ ` is " -"returned." -msgstr "" - -#: ../../library/types.rst:97 -msgid "Examples::" -msgstr "Contoh::" - -#: ../../library/types.rst:99 -msgid "" -"from typing import TypeVar, Generic, NamedTuple, TypedDict\n" -"\n" -"T = TypeVar(\"T\")\n" -"class Foo(Generic[T]): ...\n" -"class Bar(Foo[int], float): ...\n" -"class Baz(list[str]): ...\n" -"Eggs = NamedTuple(\"Eggs\", [(\"a\", int), (\"b\", str)])\n" -"Spam = TypedDict(\"Spam\", {\"a\": int, \"b\": str})\n" -"\n" -"assert Bar.__bases__ == (Foo, float)\n" -"assert get_original_bases(Bar) == (Foo[int], float)\n" -"\n" -"assert Baz.__bases__ == (list,)\n" -"assert get_original_bases(Baz) == (list[str],)\n" -"\n" -"assert Eggs.__bases__ == (tuple,)\n" -"assert get_original_bases(Eggs) == (NamedTuple,)\n" -"\n" -"assert Spam.__bases__ == (dict,)\n" -"assert get_original_bases(Spam) == (TypedDict,)\n" -"\n" -"assert int.__bases__ == (object,)\n" -"assert get_original_bases(int) == (object,)" -msgstr "" - -#: ../../library/types.rst:127 -msgid ":pep:`560` - Core support for typing module and generic types" -msgstr "" - -#: ../../library/types.rst:131 -msgid "Standard Interpreter Types" -msgstr "" - -#: ../../library/types.rst:133 -msgid "" -"This module provides names for many of the types that are required to " -"implement a Python interpreter. It deliberately avoids including some of the" -" types that arise only incidentally during processing such as the " -"``listiterator`` type." -msgstr "" - -#: ../../library/types.rst:138 -msgid "" -"Typical use of these names is for :func:`isinstance` or :func:`issubclass` " -"checks." -msgstr "" - -#: ../../library/types.rst:142 -msgid "" -"If you instantiate any of these types, note that signatures may vary between" -" Python versions." -msgstr "" - -#: ../../library/types.rst:144 -msgid "Standard names are defined for the following types:" -msgstr "" - -#: ../../library/types.rst:148 -msgid "The type of :data:`None`." -msgstr "" - -#: ../../library/types.rst:156 -msgid "" -"The type of user-defined functions and functions created by " -":keyword:`lambda` expressions." -msgstr "" - -#: ../../library/types.rst:159 -msgid "" -"Raises an :ref:`auditing event ` ``function.__new__`` with " -"argument ``code``." -msgstr "" - -#: ../../library/types.rst:161 -msgid "" -"The audit event only occurs for direct instantiation of function objects, " -"and is not raised for normal compilation." -msgstr "" - -#: ../../library/types.rst:167 -msgid "" -"The type of :term:`generator`-iterator objects, created by generator " -"functions." -msgstr "" - -#: ../../library/types.rst:173 -msgid "" -"The type of :term:`coroutine` objects, created by :keyword:`async def` " -"functions." -msgstr "" - -#: ../../library/types.rst:181 -msgid "" -"The type of :term:`asynchronous generator`-iterator objects, created by " -"asynchronous generator functions." -msgstr "" - -#: ../../library/types.rst:191 -msgid "" -"The type of :ref:`code objects ` such as returned by " -":func:`compile`." -msgstr "" - -#: ../../library/types.rst:193 -msgid "" -"Raises an :ref:`auditing event ` ``code.__new__`` with arguments " -"``code``, ``filename``, ``name``, ``argcount``, ``posonlyargcount``, " -"``kwonlyargcount``, ``nlocals``, ``stacksize``, ``flags``." -msgstr "" -"Menimbulkan :ref:`auditing event ` ``code.__new__`` dengan argumen" -" ``code``, ``filename``, ``name``, ``argcount``, ``posonlyargcount``, " -"``kwonlyargcount``, ``nlocals``, ``stacksize``, ``flags``." - -#: ../../library/types.rst:195 -msgid "" -"Note that the audited arguments may not match the names or positions " -"required by the initializer. The audit event only occurs for direct " -"instantiation of code objects, and is not raised for normal compilation." -msgstr "" - -#: ../../library/types.rst:201 -msgid "" -"The type for cell objects: such objects are used as containers for a " -"function's :term:`closure variables `." -msgstr "" - -#: ../../library/types.rst:209 -msgid "The type of methods of user-defined class instances." -msgstr "" - -#: ../../library/types.rst:215 -msgid "" -"The type of built-in functions like :func:`len` or :func:`sys.exit`, and " -"methods of built-in classes. (Here, the term \"built-in\" means \"written " -"in C\".)" -msgstr "" - -#: ../../library/types.rst:222 -msgid "" -"The type of methods of some built-in data types and base classes such as " -":meth:`object.__init__` or :meth:`object.__lt__`." -msgstr "" - -#: ../../library/types.rst:230 -msgid "" -"The type of *bound* methods of some built-in data types and base classes. " -"For example it is the type of :code:`object().__str__`." -msgstr "" - -#: ../../library/types.rst:238 -msgid "The type of :data:`NotImplemented`." -msgstr "" - -#: ../../library/types.rst:245 -msgid "" -"The type of methods of some built-in data types such as :meth:`str.join`." -msgstr "" - -#: ../../library/types.rst:252 -msgid "" -"The type of *unbound* class methods of some built-in data types such as " -"``dict.__dict__['fromkeys']``." -msgstr "" - -#: ../../library/types.rst:260 -msgid "" -"The type of :term:`modules `. The constructor takes the name of the " -"module to be created and optionally its :term:`docstring`." -msgstr "" - -#: ../../library/types.rst:265 -msgid ":ref:`Documentation on module objects `" -msgstr "" - -#: ../../library/types.rst:266 -msgid "" -"Provides details on the special attributes that can be found on instances of" -" :class:`!ModuleType`." -msgstr "" - -#: ../../library/types.rst:269 -msgid ":func:`importlib.util.module_from_spec`" -msgstr "" - -#: ../../library/types.rst:270 -msgid "" -"Modules created using the :class:`!ModuleType` constructor are created with " -"many of their special attributes unset or set to default values. " -":func:`!module_from_spec` provides a more robust way of creating " -":class:`!ModuleType` instances which ensures the various attributes are set " -"appropriately." -msgstr "" - -#: ../../library/types.rst:278 -msgid "The type of :data:`Ellipsis`." -msgstr "" - -#: ../../library/types.rst:284 -msgid "" -"The type of :ref:`parameterized generics ` such as " -"``list[int]``." -msgstr "" - -#: ../../library/types.rst:287 -msgid "" -"``t_origin`` should be a non-parameterized generic class, such as ``list``, " -"``tuple`` or ``dict``. ``t_args`` should be a :class:`tuple` (possibly of " -"length 1) of types which parameterize ``t_origin``::" -msgstr "" - -#: ../../library/types.rst:291 -msgid "" -">>> from types import GenericAlias\n" -"\n" -">>> list[int] == GenericAlias(list, (int,))\n" -"True\n" -">>> dict[str, int] == GenericAlias(dict, (str, int))\n" -"True" -msgstr "" - -#: ../../library/types.rst:300 -msgid "This type can now be subclassed." -msgstr "" - -#: ../../library/types.rst:305 -msgid ":ref:`Generic Alias Types`" -msgstr "" - -#: ../../library/types.rst:306 -msgid "In-depth documentation on instances of :class:`!types.GenericAlias`" -msgstr "" - -#: ../../library/types.rst:308 -msgid ":pep:`585` - Type Hinting Generics In Standard Collections" -msgstr "" - -#: ../../library/types.rst:309 -msgid "Introducing the :class:`!types.GenericAlias` class" -msgstr "" - -#: ../../library/types.rst:313 -msgid "The type of :ref:`union type expressions`." -msgstr "" - -#: ../../library/types.rst:319 -msgid "This is now an alias for :class:`typing.Union`." -msgstr "" - -#: ../../library/types.rst:323 -msgid "" -"The type of traceback objects such as found in " -"``sys.exception().__traceback__``." -msgstr "" - -#: ../../library/types.rst:325 -msgid "" -"See :ref:`the language reference ` for details of the " -"available attributes and operations, and guidance on creating tracebacks " -"dynamically." -msgstr "" - -#: ../../library/types.rst:332 -msgid "" -"The type of :ref:`frame objects ` such as found in " -":attr:`tb.tb_frame ` if ``tb`` is a traceback object." -msgstr "" - -#: ../../library/types.rst:338 -msgid "" -"The type of objects defined in extension modules with ``PyGetSetDef``, such " -"as :attr:`FrameType.f_locals ` or ``array.array.typecode``. " -"This type is used as descriptor for object attributes; it has the same " -"purpose as the :class:`property` type, but for classes defined in extension " -"modules." -msgstr "" - -#: ../../library/types.rst:347 -msgid "" -"The type of objects defined in extension modules with ``PyMemberDef``, such " -"as ``datetime.timedelta.days``. This type is used as descriptor for simple " -"C data members which use standard conversion functions; it has the same " -"purpose as the :class:`property` type, but for classes defined in extension " -"modules." -msgstr "" - -#: ../../library/types.rst:352 -msgid "" -"In addition, when a class is defined with a :attr:`~object.__slots__` " -"attribute, then for each slot, an instance of :class:`!MemberDescriptorType`" -" will be added as an attribute on the class. This allows the slot to appear " -"in the class's :attr:`~type.__dict__`." -msgstr "" - -#: ../../library/types.rst:358 -msgid "" -"In other implementations of Python, this type may be identical to " -"``GetSetDescriptorType``." -msgstr "" - -#: ../../library/types.rst:363 -msgid "" -"Read-only proxy of a mapping. It provides a dynamic view on the mapping's " -"entries, which means that when the mapping changes, the view reflects these " -"changes." -msgstr "" - -#: ../../library/types.rst:371 -msgid "" -"Updated to support the new union (``|``) operator from :pep:`584`, which " -"simply delegates to the underlying mapping." -msgstr "" - -#: ../../library/types.rst:376 -msgid "" -"Return ``True`` if the underlying mapping has a key *key*, else ``False``." -msgstr "" - -#: ../../library/types.rst:381 -msgid "" -"Return the item of the underlying mapping with key *key*. Raises a " -":exc:`KeyError` if *key* is not in the underlying mapping." -msgstr "" - -#: ../../library/types.rst:386 -msgid "" -"Return an iterator over the keys of the underlying mapping. This is a " -"shortcut for ``iter(proxy.keys())``." -msgstr "" - -#: ../../library/types.rst:391 -msgid "Return the number of items in the underlying mapping." -msgstr "" - -#: ../../library/types.rst:395 -msgid "Return a shallow copy of the underlying mapping." -msgstr "" - -#: ../../library/types.rst:399 -msgid "" -"Return the value for *key* if *key* is in the underlying mapping, else " -"*default*. If *default* is not given, it defaults to ``None``, so that this" -" method never raises a :exc:`KeyError`." -msgstr "" - -#: ../../library/types.rst:405 -msgid "" -"Return a new view of the underlying mapping's items (``(key, value)`` " -"pairs)." -msgstr "" - -#: ../../library/types.rst:410 -msgid "Return a new view of the underlying mapping's keys." -msgstr "" - -#: ../../library/types.rst:414 -msgid "Return a new view of the underlying mapping's values." -msgstr "" - -#: ../../library/types.rst:418 -msgid "Return a reverse iterator over the keys of the underlying mapping." -msgstr "" - -#: ../../library/types.rst:424 -msgid "Return a hash of the underlying mapping." -msgstr "" - -#: ../../library/types.rst:430 -msgid "The type of :ref:`capsule objects `." -msgstr "" - -#: ../../library/types.rst:436 -msgid "Additional Utility Classes and Functions" -msgstr "" - -#: ../../library/types.rst:440 -msgid "" -"A simple :class:`object` subclass that provides attribute access to its " -"namespace, as well as a meaningful repr." -msgstr "" - -#: ../../library/types.rst:443 -msgid "" -"Unlike :class:`object`, with :class:`!SimpleNamespace` you can add and " -"remove attributes." -msgstr "" - -#: ../../library/types.rst:446 -msgid "" -":py:class:`SimpleNamespace` objects may be initialized in the same way as " -":class:`dict`: either with keyword arguments, with a single positional " -"argument, or with both. When initialized with keyword arguments, those are " -"directly added to the underlying namespace. Alternatively, when initialized " -"with a positional argument, the underlying namespace will be updated with " -"key-value pairs from that argument (either a mapping object or an " -":term:`iterable` object producing key-value pairs). All such keys must be " -"strings." -msgstr "" - -#: ../../library/types.rst:457 -msgid "The type is roughly equivalent to the following code::" -msgstr "" - -#: ../../library/types.rst:459 -msgid "" -"class SimpleNamespace:\n" -" def __init__(self, mapping_or_iterable=(), /, **kwargs):\n" -" self.__dict__.update(mapping_or_iterable)\n" -" self.__dict__.update(kwargs)\n" -"\n" -" def __repr__(self):\n" -" items = (f\"{k}={v!r}\" for k, v in self.__dict__.items())\n" -" return \"{}({})\".format(type(self).__name__, \", \".join(items))\n" -"\n" -" def __eq__(self, other):\n" -" if isinstance(self, SimpleNamespace) and isinstance(other, SimpleNamespace):\n" -" return self.__dict__ == other.__dict__\n" -" return NotImplemented" -msgstr "" - -#: ../../library/types.rst:473 -msgid "" -"``SimpleNamespace`` may be useful as a replacement for ``class NS: pass``. " -"However, for a structured record type use :func:`~collections.namedtuple` " -"instead." -msgstr "" - -#: ../../library/types.rst:477 -msgid "" -":class:`!SimpleNamespace` objects are supported by :func:`copy.replace`." -msgstr "" - -#: ../../library/types.rst:481 -msgid "" -"Attribute order in the repr changed from alphabetical to insertion (like " -"``dict``)." -msgstr "" - -#: ../../library/types.rst:485 -msgid "Added support for an optional positional argument." -msgstr "" - -#: ../../library/types.rst:490 -msgid "Route attribute access on a class to __getattr__." -msgstr "" - -#: ../../library/types.rst:492 -msgid "" -"This is a descriptor, used to define attributes that act differently when " -"accessed through an instance and through a class. Instance access remains " -"normal, but access to an attribute through a class will be routed to the " -"class's __getattr__ method; this is done by raising AttributeError." -msgstr "" - -#: ../../library/types.rst:497 -msgid "" -"This allows one to have properties active on an instance, and have virtual " -"attributes on the class with the same name (see :class:`enum.Enum` for an " -"example)." -msgstr "" - -#: ../../library/types.rst:504 -msgid "Coroutine Utility Functions" -msgstr "" - -#: ../../library/types.rst:508 -msgid "" -"This function transforms a :term:`generator` function into a " -":term:`coroutine function` which returns a generator-based coroutine. The " -"generator-based coroutine is still a :term:`generator iterator`, but is also" -" considered to be a :term:`coroutine` object and is :term:`awaitable`. " -"However, it may not necessarily implement the :meth:`~object.__await__` " -"method." -msgstr "" - -#: ../../library/types.rst:515 -msgid "If *gen_func* is a generator function, it will be modified in-place." -msgstr "" - -#: ../../library/types.rst:517 -msgid "" -"If *gen_func* is not a generator function, it will be wrapped. If it returns" -" an instance of :class:`collections.abc.Generator`, the instance will be " -"wrapped in an *awaitable* proxy object. All other types of objects will be " -"returned as is." -msgstr "" - -#: ../../library/types.rst:189 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../library/types.rst:189 -msgid "compile" -msgstr "" diff --git a/python-newest.library--typing/id.po b/python-newest.library--typing/id.po deleted file mode 100644 index 7f69370..0000000 --- a/python-newest.library--typing/id.po +++ /dev/null @@ -1,5570 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2023 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/typing.rst:3 -msgid ":mod:`!typing` --- Support for type hints" -msgstr "" - -#: ../../library/typing.rst:16 -msgid "**Source code:** :source:`Lib/typing.py`" -msgstr "" - -#: ../../library/typing.rst:20 -msgid "" -"The Python runtime does not enforce function and variable type annotations. " -"They can be used by third party tools such as :term:`type checkers `, IDEs, linters, etc." -msgstr "" - -#: ../../library/typing.rst:26 -msgid "This module provides runtime support for type hints." -msgstr "" - -#: ../../library/typing.rst:28 -msgid "Consider the function below::" -msgstr "" - -#: ../../library/typing.rst:30 -msgid "" -"def surface_area_of_cube(edge_length: float) -> str:\n" -" return f\"The surface area of the cube is {6 * edge_length ** 2}.\"" -msgstr "" - -#: ../../library/typing.rst:33 -msgid "" -"The function ``surface_area_of_cube`` takes an argument expected to be an " -"instance of :class:`float`, as indicated by the :term:`type hint` " -"``edge_length: float``. The function is expected to return an instance of " -":class:`str`, as indicated by the ``-> str`` hint." -msgstr "" - -#: ../../library/typing.rst:38 -msgid "" -"While type hints can be simple classes like :class:`float` or :class:`str`, " -"they can also be more complex. The :mod:`typing` module provides a " -"vocabulary of more advanced type hints." -msgstr "" - -#: ../../library/typing.rst:42 -msgid "" -"New features are frequently added to the ``typing`` module. The " -":pypi:`typing_extensions` package provides backports of these new features " -"to older versions of Python." -msgstr "" - -#: ../../library/typing.rst:48 -msgid "" -"`\"Typing cheat sheet\" " -"`_" -msgstr "" - -#: ../../library/typing.rst:49 -msgid "A quick overview of type hints (hosted at the mypy docs)" -msgstr "" - -#: ../../library/typing.rst:51 -msgid "" -"\"Type System Reference\" section of `the mypy docs " -"`_" -msgstr "" - -#: ../../library/typing.rst:52 -msgid "" -"The Python typing system is standardised via PEPs, so this reference should " -"broadly apply to most Python type checkers. (Some parts may still be " -"specific to mypy.)" -msgstr "" - -#: ../../library/typing.rst:56 -msgid "`\"Static Typing with Python\" `_" -msgstr "" - -#: ../../library/typing.rst:57 -msgid "" -"Type-checker-agnostic documentation written by the community detailing type " -"system features, useful typing related tools and typing best practices." -msgstr "" - -#: ../../library/typing.rst:64 -msgid "Specification for the Python Type System" -msgstr "" - -#: ../../library/typing.rst:66 -msgid "" -"The canonical, up-to-date specification of the Python type system can be " -"found at `\"Specification for the Python type system\" " -"`_." -msgstr "" - -#: ../../library/typing.rst:72 -msgid "Type aliases" -msgstr "" - -#: ../../library/typing.rst:74 -msgid "" -"A type alias is defined using the :keyword:`type` statement, which creates " -"an instance of :class:`TypeAliasType`. In this example, ``Vector`` and " -"``list[float]`` will be treated equivalently by static type checkers::" -msgstr "" - -#: ../../library/typing.rst:79 -msgid "" -"type Vector = list[float]\n" -"\n" -"def scale(scalar: float, vector: Vector) -> Vector:\n" -" return [scalar * num for num in vector]\n" -"\n" -"# passes type checking; a list of floats qualifies as a Vector.\n" -"new_vector = scale(2.0, [1.0, -4.2, 5.4])" -msgstr "" - -#: ../../library/typing.rst:87 -msgid "" -"Type aliases are useful for simplifying complex type signatures. For " -"example::" -msgstr "" - -#: ../../library/typing.rst:89 -msgid "" -"from collections.abc import Sequence\n" -"\n" -"type ConnectionOptions = dict[str, str]\n" -"type Address = tuple[str, int]\n" -"type Server = tuple[Address, ConnectionOptions]\n" -"\n" -"def broadcast_message(message: str, servers: Sequence[Server]) -> None:\n" -" ...\n" -"\n" -"# The static type checker will treat the previous type signature as\n" -"# being exactly equivalent to this one.\n" -"def broadcast_message(\n" -" message: str,\n" -" servers: Sequence[tuple[tuple[str, int], dict[str, str]]]\n" -") -> None:\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:106 -msgid "" -"The :keyword:`type` statement is new in Python 3.12. For backwards " -"compatibility, type aliases can also be created through simple assignment::" -msgstr "" - -#: ../../library/typing.rst:109 -msgid "Vector = list[float]" -msgstr "" - -#: ../../library/typing.rst:111 -msgid "" -"Or marked with :data:`TypeAlias` to make it explicit that this is a type " -"alias, not a normal variable assignment::" -msgstr "" - -#: ../../library/typing.rst:114 -msgid "" -"from typing import TypeAlias\n" -"\n" -"Vector: TypeAlias = list[float]" -msgstr "" - -#: ../../library/typing.rst:121 -msgid "NewType" -msgstr "" - -#: ../../library/typing.rst:123 -msgid "Use the :class:`NewType` helper to create distinct types::" -msgstr "" - -#: ../../library/typing.rst:125 -msgid "" -"from typing import NewType\n" -"\n" -"UserId = NewType('UserId', int)\n" -"some_id = UserId(524313)" -msgstr "" - -#: ../../library/typing.rst:130 -msgid "" -"The static type checker will treat the new type as if it were a subclass of " -"the original type. This is useful in helping catch logical errors::" -msgstr "" - -#: ../../library/typing.rst:133 -msgid "" -"def get_user_name(user_id: UserId) -> str:\n" -" ...\n" -"\n" -"# passes type checking\n" -"user_a = get_user_name(UserId(42351))\n" -"\n" -"# fails type checking; an int is not a UserId\n" -"user_b = get_user_name(-1)" -msgstr "" - -#: ../../library/typing.rst:142 -msgid "" -"You may still perform all ``int`` operations on a variable of type " -"``UserId``, but the result will always be of type ``int``. This lets you " -"pass in a ``UserId`` wherever an ``int`` might be expected, but will prevent" -" you from accidentally creating a ``UserId`` in an invalid way::" -msgstr "" - -#: ../../library/typing.rst:147 -msgid "" -"# 'output' is of type 'int', not 'UserId'\n" -"output = UserId(23413) + UserId(54341)" -msgstr "" - -#: ../../library/typing.rst:150 -msgid "" -"Note that these checks are enforced only by the static type checker. At " -"runtime, the statement ``Derived = NewType('Derived', Base)`` will make " -"``Derived`` a callable that immediately returns whatever parameter you pass " -"it. That means the expression ``Derived(some_value)`` does not create a new " -"class or introduce much overhead beyond that of a regular function call." -msgstr "" - -#: ../../library/typing.rst:156 -msgid "" -"More precisely, the expression ``some_value is Derived(some_value)`` is " -"always true at runtime." -msgstr "" - -#: ../../library/typing.rst:159 -msgid "It is invalid to create a subtype of ``Derived``::" -msgstr "" - -#: ../../library/typing.rst:161 -msgid "" -"from typing import NewType\n" -"\n" -"UserId = NewType('UserId', int)\n" -"\n" -"# Fails at runtime and does not pass type checking\n" -"class AdminUserId(UserId): pass" -msgstr "" - -#: ../../library/typing.rst:168 -msgid "" -"However, it is possible to create a :class:`NewType` based on a 'derived' " -"``NewType``::" -msgstr "" - -#: ../../library/typing.rst:170 -msgid "" -"from typing import NewType\n" -"\n" -"UserId = NewType('UserId', int)\n" -"\n" -"ProUserId = NewType('ProUserId', UserId)" -msgstr "" - -#: ../../library/typing.rst:176 -msgid "and typechecking for ``ProUserId`` will work as expected." -msgstr "" - -#: ../../library/typing.rst:178 -msgid "See :pep:`484` for more details." -msgstr "" - -#: ../../library/typing.rst:182 -msgid "" -"Recall that the use of a type alias declares two types to be *equivalent* to" -" one another. Doing ``type Alias = Original`` will make the static type " -"checker treat ``Alias`` as being *exactly equivalent* to ``Original`` in all" -" cases. This is useful when you want to simplify complex type signatures." -msgstr "" - -#: ../../library/typing.rst:187 -msgid "" -"In contrast, ``NewType`` declares one type to be a *subtype* of another. " -"Doing ``Derived = NewType('Derived', Original)`` will make the static type " -"checker treat ``Derived`` as a *subclass* of ``Original``, which means a " -"value of type ``Original`` cannot be used in places where a value of type " -"``Derived`` is expected. This is useful when you want to prevent logic " -"errors with minimal runtime cost." -msgstr "" - -#: ../../library/typing.rst:196 -msgid "" -"``NewType`` is now a class rather than a function. As a result, there is " -"some additional runtime cost when calling ``NewType`` over a regular " -"function." -msgstr "" - -#: ../../library/typing.rst:201 -msgid "" -"The performance of calling ``NewType`` has been restored to its level in " -"Python 3.9." -msgstr "" - -#: ../../library/typing.rst:208 -msgid "Annotating callable objects" -msgstr "" - -#: ../../library/typing.rst:210 -msgid "" -"Functions -- or other :term:`callable` objects -- can be annotated using " -":class:`collections.abc.Callable` or deprecated :data:`typing.Callable`. " -"``Callable[[int], str]`` signifies a function that takes a single parameter " -"of type :class:`int` and returns a :class:`str`." -msgstr "" - -#: ../../library/typing.rst:215 ../../library/typing.rst:3281 -#: ../../library/typing.rst:3461 -msgid "For example:" -msgstr "Sebagai contoh:" - -#: ../../library/typing.rst:217 -msgid "" -"from collections.abc import Callable, Awaitable\n" -"\n" -"def feeder(get_next_item: Callable[[], str]) -> None:\n" -" ... # Body\n" -"\n" -"def async_query(on_success: Callable[[int], None],\n" -" on_error: Callable[[int, Exception], None]) -> None:\n" -" ... # Body\n" -"\n" -"async def on_update(value: str) -> None:\n" -" ... # Body\n" -"\n" -"callback: Callable[[str], Awaitable[None]] = on_update" -msgstr "" - -#: ../../library/typing.rst:233 -msgid "" -"The subscription syntax must always be used with exactly two values: the " -"argument list and the return type. The argument list must be a list of " -"types, a :class:`ParamSpec`, :data:`Concatenate`, or an ellipsis. The return" -" type must be a single type." -msgstr "" - -#: ../../library/typing.rst:238 -msgid "" -"If a literal ellipsis ``...`` is given as the argument list, it indicates " -"that a callable with any arbitrary parameter list would be acceptable:" -msgstr "" - -#: ../../library/typing.rst:241 -msgid "" -"def concat(x: str, y: str) -> str:\n" -" return x + y\n" -"\n" -"x: Callable[..., str]\n" -"x = str # OK\n" -"x = concat # Also OK" -msgstr "" - -#: ../../library/typing.rst:250 -msgid "" -"``Callable`` cannot express complex signatures such as functions that take a" -" variadic number of arguments, :ref:`overloaded functions `, or " -"functions that have keyword-only parameters. However, these signatures can " -"be expressed by defining a :class:`Protocol` class with a " -":meth:`~object.__call__` method:" -msgstr "" - -#: ../../library/typing.rst:256 -msgid "" -"from collections.abc import Iterable\n" -"from typing import Protocol\n" -"\n" -"class Combiner(Protocol):\n" -" def __call__(self, *vals: bytes, maxlen: int | None = None) -> list[bytes]: ...\n" -"\n" -"def batch_proc(data: Iterable[bytes], cb_results: Combiner) -> bytes:\n" -" for item in data:\n" -" ...\n" -"\n" -"def good_cb(*vals: bytes, maxlen: int | None = None) -> list[bytes]:\n" -" ...\n" -"def bad_cb(*vals: bytes, maxitems: int | None) -> list[bytes]:\n" -" ...\n" -"\n" -"batch_proc([], good_cb) # OK\n" -"batch_proc([], bad_cb) # Error! Argument 2 has incompatible type because of\n" -" # different name and kind in the callback" -msgstr "" - -#: ../../library/typing.rst:277 -msgid "" -"Callables which take other callables as arguments may indicate that their " -"parameter types are dependent on each other using :class:`ParamSpec`. " -"Additionally, if that callable adds or removes arguments from other " -"callables, the :data:`Concatenate` operator may be used. They take the form" -" ``Callable[ParamSpecVariable, ReturnType]`` and " -"``Callable[Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable], " -"ReturnType]`` respectively." -msgstr "" - -#: ../../library/typing.rst:285 ../../library/typing.rst:3970 -msgid "" -"``Callable`` now supports :class:`ParamSpec` and :data:`Concatenate`. See " -":pep:`612` for more details." -msgstr "" - -#: ../../library/typing.rst:290 -msgid "" -"The documentation for :class:`ParamSpec` and :class:`Concatenate` provides " -"examples of usage in ``Callable``." -msgstr "" - -#: ../../library/typing.rst:296 -msgid "Generics" -msgstr "" - -#: ../../library/typing.rst:298 -msgid "" -"Since type information about objects kept in containers cannot be statically" -" inferred in a generic way, many container classes in the standard library " -"support subscription to denote the expected types of container elements." -msgstr "" - -#: ../../library/typing.rst:302 -msgid "" -"from collections.abc import Mapping, Sequence\n" -"\n" -"class Employee: ...\n" -"\n" -"# Sequence[Employee] indicates that all elements in the sequence\n" -"# must be instances of \"Employee\".\n" -"# Mapping[str, str] indicates that all keys and all values in the mapping\n" -"# must be strings.\n" -"def notify_by_email(employees: Sequence[Employee],\n" -" overrides: Mapping[str, str]) -> None: ..." -msgstr "" - -#: ../../library/typing.rst:315 -msgid "" -"Generic functions and classes can be parameterized by using :ref:`type " -"parameter syntax `::" -msgstr "" - -#: ../../library/typing.rst:318 -msgid "" -"from collections.abc import Sequence\n" -"\n" -"def first[T](l: Sequence[T]) -> T: # Function is generic over the TypeVar \"T\"\n" -" return l[0]" -msgstr "" - -#: ../../library/typing.rst:323 -msgid "Or by using the :class:`TypeVar` factory directly::" -msgstr "" - -#: ../../library/typing.rst:325 -msgid "" -"from collections.abc import Sequence\n" -"from typing import TypeVar\n" -"\n" -"U = TypeVar('U') # Declare type variable \"U\"\n" -"\n" -"def second(l: Sequence[U]) -> U: # Function is generic over the TypeVar \"U\"\n" -" return l[1]" -msgstr "" - -#: ../../library/typing.rst:333 -msgid "Syntactic support for generics is new in Python 3.12." -msgstr "" - -#: ../../library/typing.rst:339 -msgid "Annotating tuples" -msgstr "" - -#: ../../library/typing.rst:341 -msgid "" -"For most containers in Python, the typing system assumes that all elements " -"in the container will be of the same type. For example::" -msgstr "" - -#: ../../library/typing.rst:344 -msgid "" -"from collections.abc import Mapping\n" -"\n" -"# Type checker will infer that all elements in ``x`` are meant to be ints\n" -"x: list[int] = []\n" -"\n" -"# Type checker error: ``list`` only accepts a single type argument:\n" -"y: list[int, str] = [1, 'foo']\n" -"\n" -"# Type checker will infer that all keys in ``z`` are meant to be strings,\n" -"# and that all values in ``z`` are meant to be either strings or ints\n" -"z: Mapping[str, str | int] = {}" -msgstr "" - -#: ../../library/typing.rst:356 -msgid "" -":class:`list` only accepts one type argument, so a type checker would emit " -"an error on the ``y`` assignment above. Similarly, " -":class:`~collections.abc.Mapping` only accepts two type arguments: the first" -" indicates the type of the keys, and the second indicates the type of the " -"values." -msgstr "" - -#: ../../library/typing.rst:362 -msgid "" -"Unlike most other Python containers, however, it is common in idiomatic " -"Python code for tuples to have elements which are not all of the same type. " -"For this reason, tuples are special-cased in Python's typing system. " -":class:`tuple` accepts *any number* of type arguments::" -msgstr "" - -#: ../../library/typing.rst:367 -msgid "" -"# OK: ``x`` is assigned to a tuple of length 1 where the sole element is an int\n" -"x: tuple[int] = (5,)\n" -"\n" -"# OK: ``y`` is assigned to a tuple of length 2;\n" -"# element 1 is an int, element 2 is a str\n" -"y: tuple[int, str] = (5, \"foo\")\n" -"\n" -"# Error: the type annotation indicates a tuple of length 1,\n" -"# but ``z`` has been assigned to a tuple of length 3\n" -"z: tuple[int] = (1, 2, 3)" -msgstr "" - -#: ../../library/typing.rst:378 -msgid "" -"To denote a tuple which could be of *any* length, and in which all elements " -"are of the same type ``T``, use ``tuple[T, ...]``. To denote an empty tuple," -" use ``tuple[()]``. Using plain ``tuple`` as an annotation is equivalent to " -"using ``tuple[Any, ...]``::" -msgstr "" - -#: ../../library/typing.rst:383 -msgid "" -"x: tuple[int, ...] = (1, 2)\n" -"# These reassignments are OK: ``tuple[int, ...]`` indicates x can be of any length\n" -"x = (1, 2, 3)\n" -"x = ()\n" -"# This reassignment is an error: all elements in ``x`` must be ints\n" -"x = (\"foo\", \"bar\")\n" -"\n" -"# ``y`` can only ever be assigned to an empty tuple\n" -"y: tuple[()] = ()\n" -"\n" -"z: tuple = (\"foo\", \"bar\")\n" -"# These reassignments are OK: plain ``tuple`` is equivalent to ``tuple[Any, ...]``\n" -"z = (1, 2, 3)\n" -"z = ()" -msgstr "" - -#: ../../library/typing.rst:401 -msgid "The type of class objects" -msgstr "" - -#: ../../library/typing.rst:403 -msgid "" -"A variable annotated with ``C`` may accept a value of type ``C``. In " -"contrast, a variable annotated with ``type[C]`` (or deprecated " -":class:`typing.Type[C] `) may accept values that are classes " -"themselves -- specifically, it will accept the *class object* of ``C``. For " -"example::" -msgstr "" - -#: ../../library/typing.rst:409 -msgid "" -"a = 3 # Has type ``int``\n" -"b = int # Has type ``type[int]``\n" -"c = type(a) # Also has type ``type[int]``" -msgstr "" - -#: ../../library/typing.rst:413 -msgid "Note that ``type[C]`` is covariant::" -msgstr "" - -#: ../../library/typing.rst:415 -msgid "" -"class User: ...\n" -"class ProUser(User): ...\n" -"class TeamUser(User): ...\n" -"\n" -"def make_new_user(user_class: type[User]) -> User:\n" -" # ...\n" -" return user_class()\n" -"\n" -"make_new_user(User) # OK\n" -"make_new_user(ProUser) # Also OK: ``type[ProUser]`` is a subtype of ``type[User]``\n" -"make_new_user(TeamUser) # Still fine\n" -"make_new_user(User()) # Error: expected ``type[User]`` but got ``User``\n" -"make_new_user(int) # Error: ``type[int]`` is not a subtype of ``type[User]``" -msgstr "" - -#: ../../library/typing.rst:429 -msgid "" -"The only legal parameters for :class:`type` are classes, :data:`Any`, " -":ref:`type variables `, and unions of any of these types. For " -"example::" -msgstr "" - -#: ../../library/typing.rst:433 -msgid "" -"def new_non_team_user(user_class: type[BasicUser | ProUser]): ...\n" -"\n" -"new_non_team_user(BasicUser) # OK\n" -"new_non_team_user(ProUser) # OK\n" -"new_non_team_user(TeamUser) # Error: ``type[TeamUser]`` is not a subtype\n" -" # of ``type[BasicUser | ProUser]``\n" -"new_non_team_user(User) # Also an error" -msgstr "" - -#: ../../library/typing.rst:441 -msgid "" -"``type[Any]`` is equivalent to :class:`type`, which is the root of Python's " -":ref:`metaclass hierarchy `." -msgstr "" - -#: ../../library/typing.rst:448 -msgid "Annotating generators and coroutines" -msgstr "" - -#: ../../library/typing.rst:450 -msgid "" -"A generator can be annotated using the generic type " -":class:`Generator[YieldType, SendType, ReturnType] " -"`. For example::" -msgstr "" - -#: ../../library/typing.rst:454 -msgid "" -"def echo_round() -> Generator[int, float, str]:\n" -" sent = yield 0\n" -" while sent >= 0:\n" -" sent = yield round(sent)\n" -" return 'Done'" -msgstr "" - -#: ../../library/typing.rst:460 -msgid "" -"Note that unlike many other generic classes in the standard library, the " -"``SendType`` of :class:`~collections.abc.Generator` behaves contravariantly," -" not covariantly or invariantly." -msgstr "" - -#: ../../library/typing.rst:464 -msgid "" -"The ``SendType`` and ``ReturnType`` parameters default to :const:`!None`::" -msgstr "" - -#: ../../library/typing.rst:466 -msgid "" -"def infinite_stream(start: int) -> Generator[int]:\n" -" while True:\n" -" yield start\n" -" start += 1" -msgstr "" - -#: ../../library/typing.rst:471 -msgid "It is also possible to set these types explicitly::" -msgstr "" - -#: ../../library/typing.rst:473 -msgid "" -"def infinite_stream(start: int) -> Generator[int, None, None]:\n" -" while True:\n" -" yield start\n" -" start += 1" -msgstr "" - -#: ../../library/typing.rst:478 -msgid "" -"Simple generators that only ever yield values can also be annotated as " -"having a return type of either :class:`Iterable[YieldType] " -"` or :class:`Iterator[YieldType] " -"`::" -msgstr "" - -#: ../../library/typing.rst:483 -msgid "" -"def infinite_stream(start: int) -> Iterator[int]:\n" -" while True:\n" -" yield start\n" -" start += 1" -msgstr "" - -#: ../../library/typing.rst:488 -msgid "" -"Async generators are handled in a similar fashion, but don't expect a " -"``ReturnType`` type argument (:class:`AsyncGenerator[YieldType, SendType] " -"`). The ``SendType`` argument defaults to " -":const:`!None`, so the following definitions are equivalent::" -msgstr "" - -#: ../../library/typing.rst:494 -msgid "" -"async def infinite_stream(start: int) -> AsyncGenerator[int]:\n" -" while True:\n" -" yield start\n" -" start = await increment(start)\n" -"\n" -"async def infinite_stream(start: int) -> AsyncGenerator[int, None]:\n" -" while True:\n" -" yield start\n" -" start = await increment(start)" -msgstr "" - -#: ../../library/typing.rst:504 -msgid "" -"As in the synchronous case, :class:`AsyncIterable[YieldType] " -"` and :class:`AsyncIterator[YieldType] " -"` are available as well::" -msgstr "" - -#: ../../library/typing.rst:509 -msgid "" -"async def infinite_stream(start: int) -> AsyncIterator[int]:\n" -" while True:\n" -" yield start\n" -" start = await increment(start)" -msgstr "" - -#: ../../library/typing.rst:514 -msgid "" -"Coroutines can be annotated using :class:`Coroutine[YieldType, SendType, " -"ReturnType] `. Generic arguments correspond to " -"those of :class:`~collections.abc.Generator`, for example::" -msgstr "" - -#: ../../library/typing.rst:519 -msgid "" -"from collections.abc import Coroutine\n" -"c: Coroutine[list[str], str, int] # Some coroutine defined elsewhere\n" -"x = c.send('hi') # Inferred type of 'x' is list[str]\n" -"async def bar() -> None:\n" -" y = await c # Inferred type of 'y' is int" -msgstr "" - -#: ../../library/typing.rst:528 -msgid "User-defined generic types" -msgstr "" - -#: ../../library/typing.rst:530 -msgid "A user-defined class can be defined as a generic class." -msgstr "" - -#: ../../library/typing.rst:534 -msgid "" -"from logging import Logger\n" -"\n" -"class LoggedVar[T]:\n" -" def __init__(self, value: T, name: str, logger: Logger) -> None:\n" -" self.name = name\n" -" self.logger = logger\n" -" self.value = value\n" -"\n" -" def set(self, new: T) -> None:\n" -" self.log('Set ' + repr(self.value))\n" -" self.value = new\n" -"\n" -" def get(self) -> T:\n" -" self.log('Get ' + repr(self.value))\n" -" return self.value\n" -"\n" -" def log(self, message: str) -> None:\n" -" self.logger.info('%s: %s', self.name, message)" -msgstr "" - -#: ../../library/typing.rst:553 -msgid "" -"This syntax indicates that the class ``LoggedVar`` is parameterised around a" -" single :ref:`type variable ` ``T`` . This also makes ``T`` valid " -"as a type within the class body." -msgstr "" - -#: ../../library/typing.rst:557 -msgid "" -"Generic classes implicitly inherit from :class:`Generic`. For compatibility " -"with Python 3.11 and lower, it is also possible to inherit explicitly from " -":class:`Generic` to indicate a generic class::" -msgstr "" - -#: ../../library/typing.rst:561 -msgid "" -"from typing import TypeVar, Generic\n" -"\n" -"T = TypeVar('T')\n" -"\n" -"class LoggedVar(Generic[T]):\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:568 -msgid "" -"Generic classes have :meth:`~object.__class_getitem__` methods, meaning they" -" can be parameterised at runtime (e.g. ``LoggedVar[int]`` below)::" -msgstr "" - -#: ../../library/typing.rst:571 -msgid "" -"from collections.abc import Iterable\n" -"\n" -"def zero_all_vars(vars: Iterable[LoggedVar[int]]) -> None:\n" -" for var in vars:\n" -" var.set(0)" -msgstr "" - -#: ../../library/typing.rst:577 -msgid "" -"A generic type can have any number of type variables. All varieties of " -":class:`TypeVar` are permissible as parameters for a generic type::" -msgstr "" - -#: ../../library/typing.rst:580 -msgid "" -"from typing import TypeVar, Generic, Sequence\n" -"\n" -"class WeirdTrio[T, B: Sequence[bytes], S: (int, str)]:\n" -" ...\n" -"\n" -"OldT = TypeVar('OldT', contravariant=True)\n" -"OldB = TypeVar('OldB', bound=Sequence[bytes], covariant=True)\n" -"OldS = TypeVar('OldS', int, str)\n" -"\n" -"class OldWeirdTrio(Generic[OldT, OldB, OldS]):\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:592 -msgid "" -"Each type variable argument to :class:`Generic` must be distinct. This is " -"thus invalid::" -msgstr "" - -#: ../../library/typing.rst:595 -msgid "" -"from typing import TypeVar, Generic\n" -"...\n" -"\n" -"class Pair[M, M]: # SyntaxError\n" -" ...\n" -"\n" -"T = TypeVar('T')\n" -"\n" -"class Pair(Generic[T, T]): # INVALID\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:606 -msgid "Generic classes can also inherit from other classes::" -msgstr "" - -#: ../../library/typing.rst:608 -msgid "" -"from collections.abc import Sized\n" -"\n" -"class LinkedList[T](Sized):\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:613 -msgid "" -"When inheriting from generic classes, some type parameters could be fixed::" -msgstr "" - -#: ../../library/typing.rst:615 -msgid "" -"from collections.abc import Mapping\n" -"\n" -"class MyDict[T](Mapping[str, T]):\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:620 -msgid "In this case ``MyDict`` has a single parameter, ``T``." -msgstr "" - -#: ../../library/typing.rst:622 -msgid "" -"Using a generic class without specifying type parameters assumes :data:`Any`" -" for each position. In the following example, ``MyIterable`` is not generic " -"but implicitly inherits from ``Iterable[Any]``:" -msgstr "" - -#: ../../library/typing.rst:626 -msgid "" -"from collections.abc import Iterable\n" -"\n" -"class MyIterable(Iterable): # Same as Iterable[Any]\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:633 -msgid "User-defined generic type aliases are also supported. Examples::" -msgstr "" - -#: ../../library/typing.rst:635 -msgid "" -"from collections.abc import Iterable\n" -"\n" -"type Response[S] = Iterable[S] | int\n" -"\n" -"# Return type here is same as Iterable[str] | int\n" -"def response(query: str) -> Response[str]:\n" -" ...\n" -"\n" -"type Vec[T] = Iterable[tuple[T, T]]\n" -"\n" -"def inproduct[T: (int, float, complex)](v: Vec[T]) -> T: # Same as Iterable[tuple[T, T]]\n" -" return sum(x*y for x, y in v)" -msgstr "" - -#: ../../library/typing.rst:648 -msgid "" -"For backward compatibility, generic type aliases can also be created through" -" a simple assignment::" -msgstr "" - -#: ../../library/typing.rst:651 -msgid "" -"from collections.abc import Iterable\n" -"from typing import TypeVar\n" -"\n" -"S = TypeVar(\"S\")\n" -"Response = Iterable[S] | int" -msgstr "" - -#: ../../library/typing.rst:657 -msgid ":class:`Generic` no longer has a custom metaclass." -msgstr "" - -#: ../../library/typing.rst:660 -msgid "" -"Syntactic support for generics and type aliases is new in version 3.12. " -"Previously, generic classes had to explicitly inherit from :class:`Generic` " -"or contain a type variable in one of their bases." -msgstr "" - -#: ../../library/typing.rst:665 -msgid "" -"User-defined generics for parameter expressions are also supported via " -"parameter specification variables in the form ``[**P]``. The behavior is " -"consistent with type variables' described above as parameter specification " -"variables are treated by the :mod:`!typing` module as a specialized type " -"variable. The one exception to this is that a list of types can be used to " -"substitute a :class:`ParamSpec`::" -msgstr "" - -#: ../../library/typing.rst:671 -msgid "" -">>> class Z[T, **P]: ... # T is a TypeVar; P is a ParamSpec\n" -"...\n" -">>> Z[int, [dict, float]]\n" -"__main__.Z[int, [dict, float]]" -msgstr "" - -#: ../../library/typing.rst:676 -msgid "" -"Classes generic over a :class:`ParamSpec` can also be created using explicit" -" inheritance from :class:`Generic`. In this case, ``**`` is not used::" -msgstr "" - -#: ../../library/typing.rst:679 -msgid "" -"from typing import ParamSpec, Generic\n" -"\n" -"P = ParamSpec('P')\n" -"\n" -"class Z(Generic[P]):\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:686 -msgid "" -"Another difference between :class:`TypeVar` and :class:`ParamSpec` is that a" -" generic with only one parameter specification variable will accept " -"parameter lists in the forms ``X[[Type1, Type2, ...]]`` and also ``X[Type1, " -"Type2, ...]`` for aesthetic reasons. Internally, the latter is converted to" -" the former, so the following are equivalent::" -msgstr "" - -#: ../../library/typing.rst:692 -msgid "" -">>> class X[**P]: ...\n" -"...\n" -">>> X[int, str]\n" -"__main__.X[[int, str]]\n" -">>> X[[int, str]]\n" -"__main__.X[[int, str]]" -msgstr "" - -#: ../../library/typing.rst:699 -msgid "" -"Note that generics with :class:`ParamSpec` may not have correct " -"``__parameters__`` after substitution in some cases because they are " -"intended primarily for static type checking." -msgstr "" - -#: ../../library/typing.rst:703 -msgid "" -":class:`Generic` can now be parameterized over parameter expressions. See " -":class:`ParamSpec` and :pep:`612` for more details." -msgstr "" - -#: ../../library/typing.rst:707 -msgid "" -"A user-defined generic class can have ABCs as base classes without a " -"metaclass conflict. Generic metaclasses are not supported. The outcome of " -"parameterizing generics is cached, and most types in the :mod:`!typing` " -"module are :term:`hashable` and comparable for equality." -msgstr "" - -#: ../../library/typing.rst:714 -msgid "The :data:`Any` type" -msgstr "" - -#: ../../library/typing.rst:716 -msgid "" -"A special kind of type is :data:`Any`. A static type checker will treat " -"every type as being compatible with :data:`Any` and :data:`Any` as being " -"compatible with every type." -msgstr "" - -#: ../../library/typing.rst:720 -msgid "" -"This means that it is possible to perform any operation or method call on a " -"value of type :data:`Any` and assign it to any variable::" -msgstr "" - -#: ../../library/typing.rst:723 -msgid "" -"from typing import Any\n" -"\n" -"a: Any = None\n" -"a = [] # OK\n" -"a = 2 # OK\n" -"\n" -"s: str = ''\n" -"s = a # OK\n" -"\n" -"def foo(item: Any) -> int:\n" -" # Passes type checking; 'item' could be any type,\n" -" # and that type might have a 'bar' method\n" -" item.bar()\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:738 -msgid "" -"Notice that no type checking is performed when assigning a value of type " -":data:`Any` to a more precise type. For example, the static type checker did" -" not report an error when assigning ``a`` to ``s`` even though ``s`` was " -"declared to be of type :class:`str` and receives an :class:`int` value at " -"runtime!" -msgstr "" - -#: ../../library/typing.rst:744 -msgid "" -"Furthermore, all functions without a return type or parameter types will " -"implicitly default to using :data:`Any`::" -msgstr "" - -#: ../../library/typing.rst:747 -msgid "" -"def legacy_parser(text):\n" -" ...\n" -" return data\n" -"\n" -"# A static type checker will treat the above\n" -"# as having the same signature as:\n" -"def legacy_parser(text: Any) -> Any:\n" -" ...\n" -" return data" -msgstr "" - -#: ../../library/typing.rst:757 -msgid "" -"This behavior allows :data:`Any` to be used as an *escape hatch* when you " -"need to mix dynamically and statically typed code." -msgstr "" - -#: ../../library/typing.rst:760 -msgid "" -"Contrast the behavior of :data:`Any` with the behavior of :class:`object`. " -"Similar to :data:`Any`, every type is a subtype of :class:`object`. However," -" unlike :data:`Any`, the reverse is not true: :class:`object` is *not* a " -"subtype of every other type." -msgstr "" - -#: ../../library/typing.rst:765 -msgid "" -"That means when the type of a value is :class:`object`, a type checker will " -"reject almost all operations on it, and assigning it to a variable (or using" -" it as a return value) of a more specialized type is a type error. For " -"example::" -msgstr "" - -#: ../../library/typing.rst:769 -msgid "" -"def hash_a(item: object) -> int:\n" -" # Fails type checking; an object does not have a 'magic' method.\n" -" item.magic()\n" -" ...\n" -"\n" -"def hash_b(item: Any) -> int:\n" -" # Passes type checking\n" -" item.magic()\n" -" ...\n" -"\n" -"# Passes type checking, since ints and strs are subclasses of object\n" -"hash_a(42)\n" -"hash_a(\"foo\")\n" -"\n" -"# Passes type checking, since Any is compatible with all types\n" -"hash_b(42)\n" -"hash_b(\"foo\")" -msgstr "" - -#: ../../library/typing.rst:787 -msgid "" -"Use :class:`object` to indicate that a value could be any type in a typesafe" -" manner. Use :data:`Any` to indicate that a value is dynamically typed." -msgstr "" - -#: ../../library/typing.rst:792 -msgid "Nominal vs structural subtyping" -msgstr "" - -#: ../../library/typing.rst:794 -msgid "" -"Initially :pep:`484` defined the Python static type system as using *nominal" -" subtyping*. This means that a class ``A`` is allowed where a class ``B`` is" -" expected if and only if ``A`` is a subclass of ``B``." -msgstr "" - -#: ../../library/typing.rst:798 -msgid "" -"This requirement previously also applied to abstract base classes, such as " -":class:`~collections.abc.Iterable`. The problem with this approach is that a" -" class had to be explicitly marked to support them, which is unpythonic and " -"unlike what one would normally do in idiomatic dynamically typed Python " -"code. For example, this conforms to :pep:`484`::" -msgstr "" - -#: ../../library/typing.rst:804 -msgid "" -"from collections.abc import Sized, Iterable, Iterator\n" -"\n" -"class Bucket(Sized, Iterable[int]):\n" -" ...\n" -" def __len__(self) -> int: ...\n" -" def __iter__(self) -> Iterator[int]: ..." -msgstr "" - -#: ../../library/typing.rst:811 -msgid "" -":pep:`544` allows to solve this problem by allowing users to write the above" -" code without explicit base classes in the class definition, allowing " -"``Bucket`` to be implicitly considered a subtype of both ``Sized`` and " -"``Iterable[int]`` by static type checkers. This is known as *structural " -"subtyping* (or static duck-typing)::" -msgstr "" - -#: ../../library/typing.rst:817 -msgid "" -"from collections.abc import Iterator, Iterable\n" -"\n" -"class Bucket: # Note: no base classes\n" -" ...\n" -" def __len__(self) -> int: ...\n" -" def __iter__(self) -> Iterator[int]: ...\n" -"\n" -"def collect(items: Iterable[int]) -> int: ...\n" -"result = collect(Bucket()) # Passes type check" -msgstr "" - -#: ../../library/typing.rst:827 -msgid "" -"Moreover, by subclassing a special class :class:`Protocol`, a user can " -"define new custom protocols to fully enjoy structural subtyping (see " -"examples below)." -msgstr "" - -#: ../../library/typing.rst:832 -msgid "Module contents" -msgstr "" - -#: ../../library/typing.rst:834 -msgid "" -"The ``typing`` module defines the following classes, functions and " -"decorators." -msgstr "" - -#: ../../library/typing.rst:837 -msgid "Special typing primitives" -msgstr "" - -#: ../../library/typing.rst:840 -msgid "Special types" -msgstr "" - -#: ../../library/typing.rst:842 -msgid "" -"These can be used as types in annotations. They do not support subscription " -"using ``[]``." -msgstr "" - -#: ../../library/typing.rst:847 -msgid "Special type indicating an unconstrained type." -msgstr "" - -#: ../../library/typing.rst:849 -msgid "Every type is compatible with :data:`Any`." -msgstr "" - -#: ../../library/typing.rst:850 -msgid ":data:`Any` is compatible with every type." -msgstr "" - -#: ../../library/typing.rst:852 -msgid "" -":data:`Any` can now be used as a base class. This can be useful for avoiding" -" type checker errors with classes that can duck type anywhere or are highly " -"dynamic." -msgstr "" - -#: ../../library/typing.rst:859 -msgid "A :ref:`constrained type variable `." -msgstr "" - -#: ../../library/typing.rst:861 -msgid "Definition::" -msgstr "" - -#: ../../library/typing.rst:863 -msgid "AnyStr = TypeVar('AnyStr', str, bytes)" -msgstr "" - -#: ../../library/typing.rst:865 -msgid "" -"``AnyStr`` is meant to be used for functions that may accept :class:`str` or" -" :class:`bytes` arguments but cannot allow the two to mix." -msgstr "" - -#: ../../library/typing.rst:868 ../../library/typing.rst:986 -#: ../../library/typing.rst:1043 ../../library/typing.rst:1223 -#: ../../library/typing.rst:1310 ../../library/typing.rst:1352 -#: ../../library/typing.rst:1561 ../../library/typing.rst:1622 -#: ../../library/typing.rst:3218 ../../library/typing.rst:3446 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../library/typing.rst:870 -msgid "" -"def concat(a: AnyStr, b: AnyStr) -> AnyStr:\n" -" return a + b\n" -"\n" -"concat(\"foo\", \"bar\") # OK, output has type 'str'\n" -"concat(b\"foo\", b\"bar\") # OK, output has type 'bytes'\n" -"concat(\"foo\", b\"bar\") # Error, cannot mix str and bytes" -msgstr "" - -#: ../../library/typing.rst:877 -msgid "" -"Note that, despite its name, ``AnyStr`` has nothing to do with the " -":class:`Any` type, nor does it mean \"any string\". In particular, " -"``AnyStr`` and ``str | bytes`` are different from each other and have " -"different use cases::" -msgstr "" - -#: ../../library/typing.rst:882 -msgid "" -"# Invalid use of AnyStr:\n" -"# The type variable is used only once in the function signature,\n" -"# so cannot be \"solved\" by the type checker\n" -"def greet_bad(cond: bool) -> AnyStr:\n" -" return \"hi there!\" if cond else b\"greetings!\"\n" -"\n" -"# The better way of annotating this function:\n" -"def greet_proper(cond: bool) -> str | bytes:\n" -" return \"hi there!\" if cond else b\"greetings!\"" -msgstr "" - -#: ../../library/typing.rst:892 -msgid "" -"Deprecated in favor of the new :ref:`type parameter syntax `. " -"Use ``class A[T: (str, bytes)]: ...`` instead of importing ``AnyStr``. See " -":pep:`695` for more details." -msgstr "" - -#: ../../library/typing.rst:897 -msgid "" -"In Python 3.16, ``AnyStr`` will be removed from ``typing.__all__``, and " -"deprecation warnings will be emitted at runtime when it is accessed or " -"imported from ``typing``. ``AnyStr`` will be removed from ``typing`` in " -"Python 3.18." -msgstr "" - -#: ../../library/typing.rst:904 -msgid "Special type that includes only literal strings." -msgstr "" - -#: ../../library/typing.rst:906 -msgid "" -"Any string literal is compatible with ``LiteralString``, as is another " -"``LiteralString``. However, an object typed as just ``str`` is not. A string" -" created by composing ``LiteralString``-typed objects is also acceptable as " -"a ``LiteralString``." -msgstr "" - -#: ../../library/typing.rst:912 ../../library/typing.rst:2243 -msgid "Example:" -msgstr "Contoh:" - -#: ../../library/typing.rst:914 -msgid "" -"def run_query(sql: LiteralString) -> None:\n" -" ...\n" -"\n" -"def caller(arbitrary_string: str, literal_string: LiteralString) -> None:\n" -" run_query(\"SELECT * FROM students\") # OK\n" -" run_query(literal_string) # OK\n" -" run_query(\"SELECT * FROM \" + literal_string) # OK\n" -" run_query(arbitrary_string) # type checker error\n" -" run_query( # type checker error\n" -" f\"SELECT * FROM students WHERE name = {arbitrary_string}\"\n" -" )" -msgstr "" - -#: ../../library/typing.rst:928 -msgid "" -"``LiteralString`` is useful for sensitive APIs where arbitrary user-" -"generated strings could generate problems. For example, the two cases above " -"that generate type checker errors could be vulnerable to an SQL injection " -"attack." -msgstr "" - -#: ../../library/typing.rst:933 -msgid "See :pep:`675` for more details." -msgstr "" - -#: ../../library/typing.rst:940 -msgid "" -":data:`!Never` and :data:`!NoReturn` represent the `bottom type " -"`_, a type that has no members." -msgstr "" - -#: ../../library/typing.rst:944 -msgid "" -"They can be used to indicate that a function never returns, such as " -":func:`sys.exit`::" -msgstr "" - -#: ../../library/typing.rst:947 -msgid "" -"from typing import Never # or NoReturn\n" -"\n" -"def stop() -> Never:\n" -" raise RuntimeError('no way')" -msgstr "" - -#: ../../library/typing.rst:952 -msgid "" -"Or to define a function that should never be called, as there are no valid " -"arguments, such as :func:`assert_never`::" -msgstr "" - -#: ../../library/typing.rst:956 -msgid "" -"from typing import Never # or NoReturn\n" -"\n" -"def never_call_me(arg: Never) -> None:\n" -" pass\n" -"\n" -"def int_or_str(arg: int | str) -> None:\n" -" never_call_me(arg) # type checker error\n" -" match arg:\n" -" case int():\n" -" print(\"It's an int\")\n" -" case str():\n" -" print(\"It's a str\")\n" -" case _:\n" -" never_call_me(arg) # OK, arg is of type Never (or NoReturn)" -msgstr "" - -#: ../../library/typing.rst:971 -msgid "" -":data:`!Never` and :data:`!NoReturn` have the same meaning in the type " -"system and static type checkers treat both equivalently." -msgstr "" - -#: ../../library/typing.rst:976 -msgid "Added :data:`NoReturn`." -msgstr "" - -#: ../../library/typing.rst:980 -msgid "Added :data:`Never`." -msgstr "" - -#: ../../library/typing.rst:984 -msgid "Special type to represent the current enclosed class." -msgstr "" - -#: ../../library/typing.rst:988 -msgid "" -"from typing import Self, reveal_type\n" -"\n" -"class Foo:\n" -" def return_self(self) -> Self:\n" -" ...\n" -" return self\n" -"\n" -"class SubclassOfFoo(Foo): pass\n" -"\n" -"reveal_type(Foo().return_self()) # Revealed type is \"Foo\"\n" -"reveal_type(SubclassOfFoo().return_self()) # Revealed type is \"SubclassOfFoo\"" -msgstr "" - -#: ../../library/typing.rst:1000 -msgid "" -"This annotation is semantically equivalent to the following, albeit in a " -"more succinct fashion::" -msgstr "" - -#: ../../library/typing.rst:1003 -msgid "" -"from typing import TypeVar\n" -"\n" -"Self = TypeVar(\"Self\", bound=\"Foo\")\n" -"\n" -"class Foo:\n" -" def return_self(self: Self) -> Self:\n" -" ...\n" -" return self" -msgstr "" - -#: ../../library/typing.rst:1012 -msgid "" -"In general, if something returns ``self``, as in the above examples, you " -"should use ``Self`` as the return annotation. If ``Foo.return_self`` was " -"annotated as returning ``\"Foo\"``, then the type checker would infer the " -"object returned from ``SubclassOfFoo.return_self`` as being of type ``Foo`` " -"rather than ``SubclassOfFoo``." -msgstr "" - -#: ../../library/typing.rst:1018 -msgid "Other common use cases include:" -msgstr "" - -#: ../../library/typing.rst:1020 -msgid "" -":class:`classmethod`\\s that are used as alternative constructors and return" -" instances of the ``cls`` parameter." -msgstr "" - -#: ../../library/typing.rst:1022 -msgid "Annotating an :meth:`~object.__enter__` method which returns self." -msgstr "" - -#: ../../library/typing.rst:1024 -msgid "" -"You should not use ``Self`` as the return annotation if the method is not " -"guaranteed to return an instance of a subclass when the class is " -"subclassed::" -msgstr "" - -#: ../../library/typing.rst:1028 -msgid "" -"class Eggs:\n" -" # Self would be an incorrect return annotation here,\n" -" # as the object returned is always an instance of Eggs,\n" -" # even in subclasses\n" -" def returns_eggs(self) -> \"Eggs\":\n" -" return Eggs()" -msgstr "" - -#: ../../library/typing.rst:1035 -msgid "See :pep:`673` for more details." -msgstr "" - -#: ../../library/typing.rst:1041 -msgid "" -"Special annotation for explicitly declaring a :ref:`type alias `." -msgstr "" - -#: ../../library/typing.rst:1045 -msgid "" -"from typing import TypeAlias\n" -"\n" -"Factors: TypeAlias = list[int]" -msgstr "" - -#: ../../library/typing.rst:1049 -msgid "" -"``TypeAlias`` is particularly useful on older Python versions for annotating" -" aliases that make use of forward references, as it can be hard for type " -"checkers to distinguish these from normal variable assignments:" -msgstr "" - -#: ../../library/typing.rst:1053 -msgid "" -"from typing import Generic, TypeAlias, TypeVar\n" -"\n" -"T = TypeVar(\"T\")\n" -"\n" -"# \"Box\" does not exist yet,\n" -"# so we have to use quotes for the forward reference on Python <3.12.\n" -"# Using ``TypeAlias`` tells the type checker that this is a type alias declaration,\n" -"# not a variable assignment to a string.\n" -"BoxOfStrings: TypeAlias = \"Box[str]\"\n" -"\n" -"class Box(Generic[T]):\n" -" @classmethod\n" -" def make_box_of_strings(cls) -> BoxOfStrings: ..." -msgstr "" - -#: ../../library/typing.rst:1069 -msgid "See :pep:`613` for more details." -msgstr "" - -#: ../../library/typing.rst:1073 -msgid "" -":data:`TypeAlias` is deprecated in favor of the :keyword:`type` statement, " -"which creates instances of :class:`TypeAliasType` and which natively " -"supports forward references. Note that while :data:`TypeAlias` and " -":class:`TypeAliasType` serve similar purposes and have similar names, they " -"are distinct and the latter is not the type of the former. Removal of " -":data:`TypeAlias` is not currently planned, but users are encouraged to " -"migrate to :keyword:`type` statements." -msgstr "" - -#: ../../library/typing.rst:1084 -msgid "Special forms" -msgstr "" - -#: ../../library/typing.rst:1086 -msgid "" -"These can be used as types in annotations. They all support subscription " -"using ``[]``, but each has a unique syntax." -msgstr "" - -#: ../../library/typing.rst:1091 -msgid "" -"Union type; ``Union[X, Y]`` is equivalent to ``X | Y`` and means either X or" -" Y." -msgstr "" - -#: ../../library/typing.rst:1093 -msgid "" -"To define a union, use e.g. ``Union[int, str]`` or the shorthand ``int | " -"str``. Using that shorthand is recommended. Details:" -msgstr "" - -#: ../../library/typing.rst:1095 -msgid "The arguments must be types and there must be at least one." -msgstr "" - -#: ../../library/typing.rst:1097 -msgid "Unions of unions are flattened, e.g.::" -msgstr "" - -#: ../../library/typing.rst:1099 -msgid "Union[Union[int, str], float] == Union[int, str, float]" -msgstr "" - -#: ../../library/typing.rst:1101 -msgid "" -"However, this does not apply to unions referenced through a type alias, to " -"avoid forcing evaluation of the underlying :class:`TypeAliasType`::" -msgstr "" - -#: ../../library/typing.rst:1104 -msgid "" -"type A = Union[int, str]\n" -"Union[A, float] != Union[int, str, float]" -msgstr "" - -#: ../../library/typing.rst:1107 -msgid "Unions of a single argument vanish, e.g.::" -msgstr "" - -#: ../../library/typing.rst:1109 -msgid "Union[int] == int # The constructor actually returns int" -msgstr "" - -#: ../../library/typing.rst:1111 ../../library/typing.rst:1253 -msgid "Redundant arguments are skipped, e.g.::" -msgstr "" - -#: ../../library/typing.rst:1113 -msgid "Union[int, str, int] == Union[int, str] == int | str" -msgstr "" - -#: ../../library/typing.rst:1115 -msgid "When comparing unions, the argument order is ignored, e.g.::" -msgstr "" - -#: ../../library/typing.rst:1117 -msgid "Union[int, str] == Union[str, int]" -msgstr "" - -#: ../../library/typing.rst:1119 -msgid "You cannot subclass or instantiate a ``Union``." -msgstr "" - -#: ../../library/typing.rst:1121 -msgid "You cannot write ``Union[X][Y]``." -msgstr "" - -#: ../../library/typing.rst:1123 -msgid "Don't remove explicit subclasses from unions at runtime." -msgstr "" - -#: ../../library/typing.rst:1126 -msgid "" -"Unions can now be written as ``X | Y``. See :ref:`union type " -"expressions`." -msgstr "" - -#: ../../library/typing.rst:1130 -msgid "" -":class:`types.UnionType` is now an alias for :class:`Union`, and both " -"``Union[int, str]`` and ``int | str`` create instances of the same class. To" -" check whether an object is a ``Union`` at runtime, use ``isinstance(obj, " -"Union)``. For compatibility with earlier versions of Python, use " -"``get_origin(obj) is typing.Union or get_origin(obj) is types.UnionType``." -msgstr "" - -#: ../../library/typing.rst:1140 -msgid "``Optional[X]`` is equivalent to ``X | None`` (or ``Union[X, None]``)." -msgstr "" - -#: ../../library/typing.rst:1142 -msgid "" -"Note that this is not the same concept as an optional argument, which is one" -" that has a default. An optional argument with a default does not require " -"the ``Optional`` qualifier on its type annotation just because it is " -"optional. For example::" -msgstr "" - -#: ../../library/typing.rst:1147 -msgid "" -"def foo(arg: int = 0) -> None:\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:1150 -msgid "" -"On the other hand, if an explicit value of ``None`` is allowed, the use of " -"``Optional`` is appropriate, whether the argument is optional or not. For " -"example::" -msgstr "" - -#: ../../library/typing.rst:1154 -msgid "" -"def foo(arg: Optional[int] = None) -> None:\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:1157 -msgid "" -"Optional can now be written as ``X | None``. See :ref:`union type " -"expressions`." -msgstr "" - -#: ../../library/typing.rst:1163 -msgid "Special form for annotating higher-order functions." -msgstr "" - -#: ../../library/typing.rst:1165 -msgid "" -"``Concatenate`` can be used in conjunction with :ref:`Callable ` and :class:`ParamSpec` to annotate a higher-order callable which" -" adds, removes, or transforms parameters of another callable. Usage is in " -"the form ``Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable]``. " -"``Concatenate`` is currently only valid when used as the first argument to a" -" :ref:`Callable `. The last parameter to " -"``Concatenate`` must be a :class:`ParamSpec` or ellipsis (``...``)." -msgstr "" - -#: ../../library/typing.rst:1174 -msgid "" -"For example, to annotate a decorator ``with_lock`` which provides a " -":class:`threading.Lock` to the decorated function, ``Concatenate`` can be " -"used to indicate that ``with_lock`` expects a callable which takes in a " -"``Lock`` as the first argument, and returns a callable with a different type" -" signature. In this case, the :class:`ParamSpec` indicates that the " -"returned callable's parameter types are dependent on the parameter types of " -"the callable being passed in::" -msgstr "" - -#: ../../library/typing.rst:1182 -msgid "" -"from collections.abc import Callable\n" -"from threading import Lock\n" -"from typing import Concatenate\n" -"\n" -"# Use this lock to ensure that only one thread is executing a function\n" -"# at any time.\n" -"my_lock = Lock()\n" -"\n" -"def with_lock[**P, R](f: Callable[Concatenate[Lock, P], R]) -> Callable[P, R]:\n" -" '''A type-safe decorator which provides a lock.'''\n" -" def inner(*args: P.args, **kwargs: P.kwargs) -> R:\n" -" # Provide the lock as the first argument.\n" -" return f(my_lock, *args, **kwargs)\n" -" return inner\n" -"\n" -"@with_lock\n" -"def sum_threadsafe(lock: Lock, numbers: list[float]) -> float:\n" -" '''Add a list of numbers together in a thread-safe manner.'''\n" -" with lock:\n" -" return sum(numbers)\n" -"\n" -"# We don't need to pass in the lock ourselves thanks to the decorator.\n" -"sum_threadsafe([1.1, 2.2, 3.3])" -msgstr "" - -#: ../../library/typing.rst:1210 ../../library/typing.rst:2211 -msgid "" -":pep:`612` -- Parameter Specification Variables (the PEP which introduced " -"``ParamSpec`` and ``Concatenate``)" -msgstr "" - -#: ../../library/typing.rst:1212 -msgid ":class:`ParamSpec`" -msgstr "" - -#: ../../library/typing.rst:1213 ../../library/typing.rst:2214 -msgid ":ref:`annotating-callables`" -msgstr "" - -#: ../../library/typing.rst:1217 -msgid "Special typing form to define \"literal types\"." -msgstr "" - -#: ../../library/typing.rst:1219 -msgid "" -"``Literal`` can be used to indicate to type checkers that the annotated " -"object has a value equivalent to one of the provided literals." -msgstr "" - -#: ../../library/typing.rst:1225 -msgid "" -"def validate_simple(data: Any) -> Literal[True]: # always returns True\n" -" ...\n" -"\n" -"type Mode = Literal['r', 'rb', 'w', 'wb']\n" -"def open_helper(file: str, mode: Mode) -> str:\n" -" ...\n" -"\n" -"open_helper('/some/path', 'r') # Passes type check\n" -"open_helper('/other/path', 'typo') # Error in type checker" -msgstr "" - -#: ../../library/typing.rst:1235 -msgid "" -"``Literal[...]`` cannot be subclassed. At runtime, an arbitrary value is " -"allowed as type argument to ``Literal[...]``, but type checkers may impose " -"restrictions. See :pep:`586` for more details about literal types." -msgstr "" - -#: ../../library/typing.rst:1239 -msgid "Additional details:" -msgstr "" - -#: ../../library/typing.rst:1241 -msgid "The arguments must be literal values and there must be at least one." -msgstr "" - -#: ../../library/typing.rst:1243 -msgid "Nested ``Literal`` types are flattened, e.g.::" -msgstr "" - -#: ../../library/typing.rst:1245 -msgid "assert Literal[Literal[1, 2], 3] == Literal[1, 2, 3]" -msgstr "" - -#: ../../library/typing.rst:1247 -msgid "" -"However, this does not apply to ``Literal`` types referenced through a type " -"alias, to avoid forcing evaluation of the underlying " -":class:`TypeAliasType`::" -msgstr "" - -#: ../../library/typing.rst:1250 -msgid "" -"type A = Literal[1, 2]\n" -"assert Literal[A, 3] != Literal[1, 2, 3]" -msgstr "" - -#: ../../library/typing.rst:1255 -msgid "assert Literal[1, 2, 1] == Literal[1, 2]" -msgstr "" - -#: ../../library/typing.rst:1257 -msgid "When comparing literals, the argument order is ignored, e.g.::" -msgstr "" - -#: ../../library/typing.rst:1259 -msgid "assert Literal[1, 2] == Literal[2, 1]" -msgstr "" - -#: ../../library/typing.rst:1261 -msgid "You cannot subclass or instantiate a ``Literal``." -msgstr "" - -#: ../../library/typing.rst:1263 -msgid "You cannot write ``Literal[X][Y]``." -msgstr "" - -#: ../../library/typing.rst:1267 -msgid "" -"``Literal`` now de-duplicates parameters. Equality comparisons of " -"``Literal`` objects are no longer order dependent. ``Literal`` objects will " -"now raise a :exc:`TypeError` exception during equality comparisons if one of" -" their parameters are not :term:`hashable`." -msgstr "" - -#: ../../library/typing.rst:1275 -msgid "Special type construct to mark class variables." -msgstr "" - -#: ../../library/typing.rst:1277 -msgid "" -"As introduced in :pep:`526`, a variable annotation wrapped in ClassVar " -"indicates that a given attribute is intended to be used as a class variable " -"and should not be set on instances of that class. Usage::" -msgstr "" - -#: ../../library/typing.rst:1281 -msgid "" -"class Starship:\n" -" stats: ClassVar[dict[str, int]] = {} # class variable\n" -" damage: int = 10 # instance variable" -msgstr "" - -#: ../../library/typing.rst:1285 -msgid ":data:`ClassVar` accepts only types and cannot be further subscribed." -msgstr "" - -#: ../../library/typing.rst:1287 -msgid "" -":data:`ClassVar` is not a class itself, and should not be used with " -":func:`isinstance` or :func:`issubclass`. :data:`ClassVar` does not change " -"Python runtime behavior, but it can be used by third-party type checkers. " -"For example, a type checker might flag the following code as an error::" -msgstr "" - -#: ../../library/typing.rst:1293 -msgid "" -"enterprise_d = Starship(3000)\n" -"enterprise_d.stats = {} # Error, setting class variable on instance\n" -"Starship.stats = {} # This is OK" -msgstr "" - -#: ../../library/typing.rst:1301 -msgid ":data:`ClassVar` can now be nested in :data:`Final` and vice versa." -msgstr "" - -#: ../../library/typing.rst:1305 -msgid "Special typing construct to indicate final names to type checkers." -msgstr "" - -#: ../../library/typing.rst:1307 -msgid "" -"Final names cannot be reassigned in any scope. Final names declared in class" -" scopes cannot be overridden in subclasses." -msgstr "" - -#: ../../library/typing.rst:1312 -msgid "" -"MAX_SIZE: Final = 9000\n" -"MAX_SIZE += 1 # Error reported by type checker\n" -"\n" -"class Connection:\n" -" TIMEOUT: Final[int] = 10\n" -"\n" -"class FastConnector(Connection):\n" -" TIMEOUT = 1 # Error reported by type checker" -msgstr "" - -#: ../../library/typing.rst:1321 ../../library/typing.rst:3234 -msgid "" -"There is no runtime checking of these properties. See :pep:`591` for more " -"details." -msgstr "" - -#: ../../library/typing.rst:1328 -msgid ":data:`Final` can now be nested in :data:`ClassVar` and vice versa." -msgstr "" - -#: ../../library/typing.rst:1332 -msgid "Special typing construct to mark a :class:`TypedDict` key as required." -msgstr "" - -#: ../../library/typing.rst:1334 -msgid "" -"This is mainly useful for ``total=False`` TypedDicts. See :class:`TypedDict`" -" and :pep:`655` for more details." -msgstr "" - -#: ../../library/typing.rst:1341 -msgid "" -"Special typing construct to mark a :class:`TypedDict` key as potentially " -"missing." -msgstr "" - -#: ../../library/typing.rst:1344 -msgid "See :class:`TypedDict` and :pep:`655` for more details." -msgstr "" - -#: ../../library/typing.rst:1350 -msgid "" -"A special typing construct to mark an item of a :class:`TypedDict` as read-" -"only." -msgstr "" - -#: ../../library/typing.rst:1354 -msgid "" -"class Movie(TypedDict):\n" -" title: ReadOnly[str]\n" -" year: int\n" -"\n" -"def mutate_movie(m: Movie) -> None:\n" -" m[\"year\"] = 1999 # allowed\n" -" m[\"title\"] = \"The Matrix\" # typechecker error" -msgstr "" - -#: ../../library/typing.rst:1362 -msgid "There is no runtime checking for this property." -msgstr "" - -#: ../../library/typing.rst:1364 -msgid "See :class:`TypedDict` and :pep:`705` for more details." -msgstr "" - -#: ../../library/typing.rst:1370 -msgid "Special typing form to add context-specific metadata to an annotation." -msgstr "" - -#: ../../library/typing.rst:1372 -msgid "" -"Add metadata ``x`` to a given type ``T`` by using the annotation " -"``Annotated[T, x]``. Metadata added using ``Annotated`` can be used by " -"static analysis tools or at runtime. At runtime, the metadata is stored in a" -" :attr:`!__metadata__` attribute." -msgstr "" - -#: ../../library/typing.rst:1377 -msgid "" -"If a library or tool encounters an annotation ``Annotated[T, x]`` and has no" -" special logic for the metadata, it should ignore the metadata and simply " -"treat the annotation as ``T``. As such, ``Annotated`` can be useful for code" -" that wants to use annotations for purposes outside Python's static typing " -"system." -msgstr "" - -#: ../../library/typing.rst:1383 -msgid "" -"Using ``Annotated[T, x]`` as an annotation still allows for static " -"typechecking of ``T``, as type checkers will simply ignore the metadata " -"``x``. In this way, ``Annotated`` differs from the :func:`@no_type_check " -"` decorator, which can also be used for adding annotations " -"outside the scope of the typing system, but completely disables typechecking" -" for a function or class." -msgstr "" - -#: ../../library/typing.rst:1390 -msgid "" -"The responsibility of how to interpret the metadata lies with the tool or " -"library encountering an ``Annotated`` annotation. A tool or library " -"encountering an ``Annotated`` type can scan through the metadata elements to" -" determine if they are of interest (e.g., using :func:`isinstance`)." -msgstr "" - -#: ../../library/typing.rst:1398 -msgid "" -"Here is an example of how you might use ``Annotated`` to add metadata to " -"type annotations if you were doing range analysis:" -msgstr "" - -#: ../../library/typing.rst:1401 -msgid "" -"@dataclass\n" -"class ValueRange:\n" -" lo: int\n" -" hi: int\n" -"\n" -"T1 = Annotated[int, ValueRange(-10, 5)]\n" -"T2 = Annotated[T1, ValueRange(-20, 3)]" -msgstr "" - -#: ../../library/typing.rst:1411 -msgid "" -"The first argument to ``Annotated`` must be a valid type. Multiple metadata " -"elements can be supplied as ``Annotated`` supports variadic arguments. The " -"order of the metadata elements is preserved and matters for equality " -"checks::" -msgstr "" - -#: ../../library/typing.rst:1415 -msgid "" -"@dataclass\n" -"class ctype:\n" -" kind: str\n" -"\n" -"a1 = Annotated[int, ValueRange(3, 10), ctype(\"char\")]\n" -"a2 = Annotated[int, ctype(\"char\"), ValueRange(3, 10)]\n" -"\n" -"assert a1 != a2 # Order matters" -msgstr "" - -#: ../../library/typing.rst:1424 -msgid "" -"It is up to the tool consuming the annotations to decide whether the client " -"is allowed to add multiple metadata elements to one annotation and how to " -"merge those annotations." -msgstr "" - -#: ../../library/typing.rst:1428 -msgid "" -"Nested ``Annotated`` types are flattened. The order of the metadata elements" -" starts with the innermost annotation::" -msgstr "" - -#: ../../library/typing.rst:1431 -msgid "" -"assert Annotated[Annotated[int, ValueRange(3, 10)], ctype(\"char\")] == Annotated[\n" -" int, ValueRange(3, 10), ctype(\"char\")\n" -"]" -msgstr "" - -#: ../../library/typing.rst:1435 -msgid "" -"However, this does not apply to ``Annotated`` types referenced through a " -"type alias, to avoid forcing evaluation of the underlying " -":class:`TypeAliasType`::" -msgstr "" - -#: ../../library/typing.rst:1438 -msgid "" -"type From3To10[T] = Annotated[T, ValueRange(3, 10)]\n" -"assert Annotated[From3To10[int], ctype(\"char\")] != Annotated[\n" -" int, ValueRange(3, 10), ctype(\"char\")\n" -"]" -msgstr "" - -#: ../../library/typing.rst:1443 -msgid "Duplicated metadata elements are not removed::" -msgstr "" - -#: ../../library/typing.rst:1445 -msgid "" -"assert Annotated[int, ValueRange(3, 10)] != Annotated[\n" -" int, ValueRange(3, 10), ValueRange(3, 10)\n" -"]" -msgstr "" - -#: ../../library/typing.rst:1449 -msgid "``Annotated`` can be used with nested and generic aliases:" -msgstr "" - -#: ../../library/typing.rst:1451 -msgid "" -"@dataclass\n" -"class MaxLen:\n" -" value: int\n" -"\n" -"type Vec[T] = Annotated[list[tuple[T, T]], MaxLen(10)]\n" -"\n" -"# When used in a type annotation, a type checker will treat \"V\" the same as\n" -"# ``Annotated[list[tuple[int, int]], MaxLen(10)]``:\n" -"type V = Vec[int]" -msgstr "" - -#: ../../library/typing.rst:1463 -msgid "``Annotated`` cannot be used with an unpacked :class:`TypeVarTuple`::" -msgstr "" - -#: ../../library/typing.rst:1465 -msgid "" -"type Variadic[*Ts] = Annotated[*Ts, Ann1] = Annotated[T1, T2, T3, ..., Ann1]" -" # NOT valid" -msgstr "" - -#: ../../library/typing.rst:1467 -msgid "" -"where ``T1``, ``T2``, ... are :class:`TypeVars `. This is invalid " -"as only one type should be passed to Annotated." -msgstr "" - -#: ../../library/typing.rst:1470 -msgid "" -"By default, :func:`get_type_hints` strips the metadata from annotations. " -"Pass ``include_extras=True`` to have the metadata preserved:" -msgstr "" - -#: ../../library/typing.rst:1473 -msgid "" -">>> from typing import Annotated, get_type_hints\n" -">>> def func(x: Annotated[int, \"metadata\"]) -> None: pass\n" -"...\n" -">>> get_type_hints(func)\n" -"{'x': , 'return': }\n" -">>> get_type_hints(func, include_extras=True)\n" -"{'x': typing.Annotated[int, 'metadata'], 'return': }" -msgstr "" - -#: ../../library/typing.rst:1483 -msgid "" -"At runtime, the metadata associated with an ``Annotated`` type can be " -"retrieved via the :attr:`!__metadata__` attribute:" -msgstr "" - -#: ../../library/typing.rst:1486 -msgid "" -">>> from typing import Annotated\n" -">>> X = Annotated[int, \"very\", \"important\", \"metadata\"]\n" -">>> X\n" -"typing.Annotated[int, 'very', 'important', 'metadata']\n" -">>> X.__metadata__\n" -"('very', 'important', 'metadata')" -msgstr "" - -#: ../../library/typing.rst:1495 -msgid "" -"If you want to retrieve the original type wrapped by ``Annotated``, use the " -":attr:`!__origin__` attribute:" -msgstr "" - -#: ../../library/typing.rst:1498 -msgid "" -">>> from typing import Annotated, get_origin\n" -">>> Password = Annotated[str, \"secret\"]\n" -">>> Password.__origin__\n" -"" -msgstr "" - -#: ../../library/typing.rst:1505 -msgid "Note that using :func:`get_origin` will return ``Annotated`` itself:" -msgstr "" - -#: ../../library/typing.rst:1507 -msgid "" -">>> get_origin(Password)\n" -"typing.Annotated" -msgstr "" - -#: ../../library/typing.rst:1514 -msgid ":pep:`593` - Flexible function and variable annotations" -msgstr "" - -#: ../../library/typing.rst:1515 -msgid "The PEP introducing ``Annotated`` to the standard library." -msgstr "" - -#: ../../library/typing.rst:1522 ../../library/typing.rst:1606 -msgid "" -"Special typing construct for marking user-defined type predicate functions." -msgstr "" - -#: ../../library/typing.rst:1524 -msgid "" -"``TypeIs`` can be used to annotate the return type of a user-defined type " -"predicate function. ``TypeIs`` only accepts a single type argument. At " -"runtime, functions marked this way should return a boolean and take at least" -" one positional argument." -msgstr "" - -#: ../../library/typing.rst:1529 -msgid "" -"``TypeIs`` aims to benefit *type narrowing* -- a technique used by static " -"type checkers to determine a more precise type of an expression within a " -"program's code flow. Usually type narrowing is done by analyzing " -"conditional code flow and applying the narrowing to a block of code. The " -"conditional expression here is sometimes referred to as a \"type " -"predicate\"::" -msgstr "" - -#: ../../library/typing.rst:1535 -msgid "" -"def is_str(val: str | float):\n" -" # \"isinstance\" type predicate\n" -" if isinstance(val, str):\n" -" # Type of ``val`` is narrowed to ``str``\n" -" ...\n" -" else:\n" -" # Else, type of ``val`` is narrowed to ``float``.\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:1544 -msgid "" -"Sometimes it would be convenient to use a user-defined boolean function as a" -" type predicate. Such a function should use ``TypeIs[...]`` or " -":data:`TypeGuard` as its return type to alert static type checkers to this " -"intention. ``TypeIs`` usually has more intuitive behavior than " -"``TypeGuard``, but it cannot be used when the input and output types are " -"incompatible (e.g., ``list[object]`` to ``list[int]``) or when the function " -"does not return ``True`` for all instances of the narrowed type." -msgstr "" - -#: ../../library/typing.rst:1552 -msgid "" -"Using ``-> TypeIs[NarrowedType]`` tells the static type checker that for a " -"given function:" -msgstr "" - -#: ../../library/typing.rst:1555 ../../library/typing.rst:1616 -msgid "The return value is a boolean." -msgstr "" - -#: ../../library/typing.rst:1556 -msgid "" -"If the return value is ``True``, the type of its argument is the " -"intersection of the argument's original type and ``NarrowedType``." -msgstr "" - -#: ../../library/typing.rst:1558 -msgid "" -"If the return value is ``False``, the type of its argument is narrowed to " -"exclude ``NarrowedType``." -msgstr "" - -#: ../../library/typing.rst:1563 -msgid "" -"from typing import assert_type, final, TypeIs\n" -"\n" -"class Parent: pass\n" -"class Child(Parent): pass\n" -"@final\n" -"class Unrelated: pass\n" -"\n" -"def is_parent(val: object) -> TypeIs[Parent]:\n" -" return isinstance(val, Parent)\n" -"\n" -"def run(arg: Child | Unrelated):\n" -" if is_parent(arg):\n" -" # Type of ``arg`` is narrowed to the intersection\n" -" # of ``Parent`` and ``Child``, which is equivalent to\n" -" # ``Child``.\n" -" assert_type(arg, Child)\n" -" else:\n" -" # Type of ``arg`` is narrowed to exclude ``Parent``,\n" -" # so only ``Unrelated`` is left.\n" -" assert_type(arg, Unrelated)" -msgstr "" - -#: ../../library/typing.rst:1584 -msgid "" -"The type inside ``TypeIs`` must be consistent with the type of the " -"function's argument; if it is not, static type checkers will raise an error." -" An incorrectly written ``TypeIs`` function can lead to unsound behavior in" -" the type system; it is the user's responsibility to write such functions in" -" a type-safe manner." -msgstr "" - -#: ../../library/typing.rst:1590 -msgid "" -"If a ``TypeIs`` function is a class or instance method, then the type in " -"``TypeIs`` maps to the type of the second parameter (after ``cls`` or " -"``self``)." -msgstr "" - -#: ../../library/typing.rst:1594 -msgid "" -"In short, the form ``def foo(arg: TypeA) -> TypeIs[TypeB]: ...``, means that" -" if ``foo(arg)`` returns ``True``, then ``arg`` is an instance of ``TypeB``," -" and if it returns ``False``, it is not an instance of ``TypeB``." -msgstr "" - -#: ../../library/typing.rst:1598 -msgid "" -"``TypeIs`` also works with type variables. For more information, see " -":pep:`742` (Narrowing types with ``TypeIs``)." -msgstr "" - -#: ../../library/typing.rst:1608 -msgid "" -"Type predicate functions are user-defined functions that return whether " -"their argument is an instance of a particular type. ``TypeGuard`` works " -"similarly to :data:`TypeIs`, but has subtly different effects on type " -"checking behavior (see below)." -msgstr "" - -#: ../../library/typing.rst:1613 -msgid "" -"Using ``-> TypeGuard`` tells the static type checker that for a given " -"function:" -msgstr "" - -#: ../../library/typing.rst:1617 -msgid "" -"If the return value is ``True``, the type of its argument is the type inside" -" ``TypeGuard``." -msgstr "" - -#: ../../library/typing.rst:1620 -msgid "" -"``TypeGuard`` also works with type variables. See :pep:`647` for more " -"details." -msgstr "" - -#: ../../library/typing.rst:1624 -msgid "" -"def is_str_list(val: list[object]) -> TypeGuard[list[str]]:\n" -" '''Determines whether all objects in the list are strings'''\n" -" return all(isinstance(x, str) for x in val)\n" -"\n" -"def func1(val: list[object]):\n" -" if is_str_list(val):\n" -" # Type of ``val`` is narrowed to ``list[str]``.\n" -" print(\" \".join(val))\n" -" else:\n" -" # Type of ``val`` remains as ``list[object]``.\n" -" print(\"Not a list of strings!\")" -msgstr "" - -#: ../../library/typing.rst:1636 -msgid "``TypeIs`` and ``TypeGuard`` differ in the following ways:" -msgstr "" - -#: ../../library/typing.rst:1638 -msgid "" -"``TypeIs`` requires the narrowed type to be a subtype of the input type, " -"while ``TypeGuard`` does not. The main reason is to allow for things like " -"narrowing ``list[object]`` to ``list[str]`` even though the latter is not a " -"subtype of the former, since ``list`` is invariant." -msgstr "" - -#: ../../library/typing.rst:1642 -msgid "" -"When a ``TypeGuard`` function returns ``True``, type checkers narrow the " -"type of the variable to exactly the ``TypeGuard`` type. When a ``TypeIs`` " -"function returns ``True``, type checkers can infer a more precise type " -"combining the previously known type of the variable with the ``TypeIs`` " -"type. (Technically, this is known as an intersection type.)" -msgstr "" - -#: ../../library/typing.rst:1646 -msgid "" -"When a ``TypeGuard`` function returns ``False``, type checkers cannot narrow" -" the type of the variable at all. When a ``TypeIs`` function returns " -"``False``, type checkers can narrow the type of the variable to exclude the " -"``TypeIs`` type." -msgstr "" - -#: ../../library/typing.rst:1655 -msgid "" -"Typing operator to conceptually mark an object as having been unpacked." -msgstr "" - -#: ../../library/typing.rst:1657 -msgid "" -"For example, using the unpack operator ``*`` on a :ref:`type variable tuple " -"` is equivalent to using ``Unpack`` to mark the type variable " -"tuple as having been unpacked::" -msgstr "" - -#: ../../library/typing.rst:1661 -msgid "" -"Ts = TypeVarTuple('Ts')\n" -"tup: tuple[*Ts]\n" -"# Effectively does:\n" -"tup: tuple[Unpack[Ts]]" -msgstr "" - -#: ../../library/typing.rst:1666 -msgid "" -"In fact, ``Unpack`` can be used interchangeably with ``*`` in the context of" -" :class:`typing.TypeVarTuple ` and :class:`builtins.tuple " -"` types. You might see ``Unpack`` being used explicitly in older " -"versions of Python, where ``*`` couldn't be used in certain places::" -msgstr "" - -#: ../../library/typing.rst:1672 -msgid "" -"# In older versions of Python, TypeVarTuple and Unpack\n" -"# are located in the `typing_extensions` backports package.\n" -"from typing_extensions import TypeVarTuple, Unpack\n" -"\n" -"Ts = TypeVarTuple('Ts')\n" -"tup: tuple[*Ts] # Syntax error on Python <= 3.10!\n" -"tup: tuple[Unpack[Ts]] # Semantically equivalent, and backwards-compatible" -msgstr "" - -#: ../../library/typing.rst:1680 -msgid "" -"``Unpack`` can also be used along with :class:`typing.TypedDict` for typing " -"``**kwargs`` in a function signature::" -msgstr "" - -#: ../../library/typing.rst:1683 -msgid "" -"from typing import TypedDict, Unpack\n" -"\n" -"class Movie(TypedDict):\n" -" name: str\n" -" year: int\n" -"\n" -"# This function expects two keyword arguments - `name` of type `str`\n" -"# and `year` of type `int`.\n" -"def foo(**kwargs: Unpack[Movie]): ..." -msgstr "" - -#: ../../library/typing.rst:1693 -msgid "" -"See :pep:`692` for more details on using ``Unpack`` for ``**kwargs`` typing." -msgstr "" - -#: ../../library/typing.rst:1698 -msgid "Building generic types and type aliases" -msgstr "" - -#: ../../library/typing.rst:1700 -msgid "" -"The following classes should not be used directly as annotations. Their " -"intended purpose is to be building blocks for creating generic types and " -"type aliases." -msgstr "" - -#: ../../library/typing.rst:1704 -msgid "" -"These objects can be created through special syntax (:ref:`type parameter " -"lists ` and the :keyword:`type` statement). For compatibility " -"with Python 3.11 and earlier, they can also be created without the dedicated" -" syntax, as documented below." -msgstr "" - -#: ../../library/typing.rst:1711 -msgid "Abstract base class for generic types." -msgstr "" - -#: ../../library/typing.rst:1713 -msgid "" -"A generic type is typically declared by adding a list of type parameters " -"after the class name::" -msgstr "" - -#: ../../library/typing.rst:1716 -msgid "" -"class Mapping[KT, VT]:\n" -" def __getitem__(self, key: KT) -> VT:\n" -" ...\n" -" # Etc." -msgstr "" - -#: ../../library/typing.rst:1721 -msgid "" -"Such a class implicitly inherits from ``Generic``. The runtime semantics of " -"this syntax are discussed in the :ref:`Language Reference `." -msgstr "" - -#: ../../library/typing.rst:1725 -msgid "This class can then be used as follows::" -msgstr "" - -#: ../../library/typing.rst:1727 -msgid "" -"def lookup_name[X, Y](mapping: Mapping[X, Y], key: X, default: Y) -> Y:\n" -" try:\n" -" return mapping[key]\n" -" except KeyError:\n" -" return default" -msgstr "" - -#: ../../library/typing.rst:1733 -msgid "" -"Here the brackets after the function name indicate a :ref:`generic function " -"`." -msgstr "" - -#: ../../library/typing.rst:1736 -msgid "" -"For backwards compatibility, generic classes can also be declared by " -"explicitly inheriting from ``Generic``. In this case, the type parameters " -"must be declared separately::" -msgstr "" - -#: ../../library/typing.rst:1741 -msgid "" -"KT = TypeVar('KT')\n" -"VT = TypeVar('VT')\n" -"\n" -"class Mapping(Generic[KT, VT]):\n" -" def __getitem__(self, key: KT) -> VT:\n" -" ...\n" -" # Etc." -msgstr "" - -#: ../../library/typing.rst:1753 -msgid "Type variable." -msgstr "" - -#: ../../library/typing.rst:1755 -msgid "" -"The preferred way to construct a type variable is via the dedicated syntax " -"for :ref:`generic functions `, :ref:`generic classes " -"`, and :ref:`generic type aliases `::" -msgstr "" - -#: ../../library/typing.rst:1760 -msgid "" -"class Sequence[T]: # T is a TypeVar\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:1763 -msgid "" -"This syntax can also be used to create bounded and constrained type " -"variables::" -msgstr "" - -#: ../../library/typing.rst:1766 -msgid "" -"class StrSequence[S: str]: # S is a TypeVar with a `str` upper bound;\n" -" ... # we can say that S is \"bounded by `str`\"\n" -"\n" -"\n" -"class StrOrBytesSequence[A: (str, bytes)]: # A is a TypeVar constrained to str or bytes\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:1773 -msgid "" -"However, if desired, reusable type variables can also be constructed " -"manually, like so::" -msgstr "" - -#: ../../library/typing.rst:1775 -msgid "" -"T = TypeVar('T') # Can be anything\n" -"S = TypeVar('S', bound=str) # Can be any subtype of str\n" -"A = TypeVar('A', str, bytes) # Must be exactly str or bytes" -msgstr "" - -#: ../../library/typing.rst:1779 -msgid "" -"Type variables exist primarily for the benefit of static type checkers. " -"They serve as the parameters for generic types as well as for generic " -"function and type alias definitions. See :class:`Generic` for more " -"information on generic types. Generic functions work as follows::" -msgstr "" - -#: ../../library/typing.rst:1785 -msgid "" -"def repeat[T](x: T, n: int) -> Sequence[T]:\n" -" \"\"\"Return a list containing n references to x.\"\"\"\n" -" return [x]*n\n" -"\n" -"\n" -"def print_capitalized[S: str](x: S) -> S:\n" -" \"\"\"Print x capitalized, and return x.\"\"\"\n" -" print(x.capitalize())\n" -" return x\n" -"\n" -"\n" -"def concatenate[A: (str, bytes)](x: A, y: A) -> A:\n" -" \"\"\"Add two strings or bytes objects together.\"\"\"\n" -" return x + y" -msgstr "" - -#: ../../library/typing.rst:1800 -msgid "" -"Note that type variables can be *bounded*, *constrained*, or neither, but " -"cannot be both bounded *and* constrained." -msgstr "" - -#: ../../library/typing.rst:1803 -msgid "" -"The variance of type variables is inferred by type checkers when they are " -"created through the :ref:`type parameter syntax ` or when " -"``infer_variance=True`` is passed. Manually created type variables may be " -"explicitly marked covariant or contravariant by passing ``covariant=True`` " -"or ``contravariant=True``. By default, manually created type variables are " -"invariant. See :pep:`484` and :pep:`695` for more details." -msgstr "" - -#: ../../library/typing.rst:1811 -msgid "" -"Bounded type variables and constrained type variables have different " -"semantics in several important ways. Using a *bounded* type variable means " -"that the ``TypeVar`` will be solved using the most specific type possible::" -msgstr "" - -#: ../../library/typing.rst:1815 -msgid "" -"x = print_capitalized('a string')\n" -"reveal_type(x) # revealed type is str\n" -"\n" -"class StringSubclass(str):\n" -" pass\n" -"\n" -"y = print_capitalized(StringSubclass('another string'))\n" -"reveal_type(y) # revealed type is StringSubclass\n" -"\n" -"z = print_capitalized(45) # error: int is not a subtype of str" -msgstr "" - -#: ../../library/typing.rst:1826 -msgid "" -"The upper bound of a type variable can be a concrete type, abstract type " -"(ABC or Protocol), or even a union of types::" -msgstr "" - -#: ../../library/typing.rst:1829 -msgid "" -"# Can be anything with an __abs__ method\n" -"def print_abs[T: SupportsAbs](arg: T) -> None:\n" -" print(\"Absolute value:\", abs(arg))\n" -"\n" -"U = TypeVar('U', bound=str|bytes) # Can be any subtype of the union str|bytes\n" -"V = TypeVar('V', bound=SupportsAbs) # Can be anything with an __abs__ method" -msgstr "" - -#: ../../library/typing.rst:1838 -msgid "" -"Using a *constrained* type variable, however, means that the ``TypeVar`` can" -" only ever be solved as being exactly one of the constraints given::" -msgstr "" - -#: ../../library/typing.rst:1841 -msgid "" -"a = concatenate('one', 'two')\n" -"reveal_type(a) # revealed type is str\n" -"\n" -"b = concatenate(StringSubclass('one'), StringSubclass('two'))\n" -"reveal_type(b) # revealed type is str, despite StringSubclass being passed in\n" -"\n" -"c = concatenate('one', b'two') # error: type variable 'A' can be either str or bytes in a function call, but not both" -msgstr "" - -#: ../../library/typing.rst:1849 -msgid "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`." -msgstr "" - -#: ../../library/typing.rst:1853 -msgid "The name of the type variable." -msgstr "" - -#: ../../library/typing.rst:1857 -msgid "Whether the type var has been explicitly marked as covariant." -msgstr "" - -#: ../../library/typing.rst:1861 -msgid "Whether the type var has been explicitly marked as contravariant." -msgstr "" - -#: ../../library/typing.rst:1865 -msgid "" -"Whether the type variable's variance should be inferred by type checkers." -msgstr "" - -#: ../../library/typing.rst:1871 -msgid "The upper bound of the type variable, if any." -msgstr "" - -#: ../../library/typing.rst:1875 -msgid "" -"For type variables created through :ref:`type parameter syntax `, the bound is evaluated only when the attribute is accessed, not " -"when the type variable is created (see :ref:`lazy-evaluation`)." -msgstr "" - -#: ../../library/typing.rst:1881 -msgid "" -"An :term:`evaluate function` corresponding to the :attr:`~TypeVar.__bound__`" -" attribute. When called directly, this method supports only the " -":attr:`~annotationlib.Format.VALUE` format, which is equivalent to accessing" -" the :attr:`~TypeVar.__bound__` attribute directly, but the method object " -"can be passed to :func:`annotationlib.call_evaluate_function` to evaluate " -"the value in a different format." -msgstr "" - -#: ../../library/typing.rst:1891 -msgid "A tuple containing the constraints of the type variable, if any." -msgstr "" - -#: ../../library/typing.rst:1895 -msgid "" -"For type variables created through :ref:`type parameter syntax `, the constraints are evaluated only when the attribute is accessed," -" not when the type variable is created (see :ref:`lazy-evaluation`)." -msgstr "" - -#: ../../library/typing.rst:1901 -msgid "" -"An :term:`evaluate function` corresponding to the " -":attr:`~TypeVar.__constraints__` attribute. When called directly, this " -"method supports only the :attr:`~annotationlib.Format.VALUE` format, which " -"is equivalent to accessing the :attr:`~TypeVar.__constraints__` attribute " -"directly, but the method object can be passed to " -":func:`annotationlib.call_evaluate_function` to evaluate the value in a " -"different format." -msgstr "" - -#: ../../library/typing.rst:1911 -msgid "" -"The default value of the type variable, or :data:`typing.NoDefault` if it " -"has no default." -msgstr "" - -#: ../../library/typing.rst:1918 -msgid "" -"An :term:`evaluate function` corresponding to the " -":attr:`~TypeVar.__default__` attribute. When called directly, this method " -"supports only the :attr:`~annotationlib.Format.VALUE` format, which is " -"equivalent to accessing the :attr:`~TypeVar.__default__` attribute directly," -" but the method object can be passed to " -":func:`annotationlib.call_evaluate_function` to evaluate the value in a " -"different format." -msgstr "" - -#: ../../library/typing.rst:1928 -msgid "" -"Return whether or not the type variable has a default value. This is " -"equivalent to checking whether :attr:`__default__` is not the " -":data:`typing.NoDefault` singleton, except that it does not force evaluation" -" of the :ref:`lazily evaluated ` default value." -msgstr "" - -#: ../../library/typing.rst:1937 -msgid "" -"Type variables can now be declared using the :ref:`type parameter ` syntax introduced by :pep:`695`. The ``infer_variance`` parameter " -"was added." -msgstr "" - -#: ../../library/typing.rst:1943 ../../library/typing.rst:2092 -#: ../../library/typing.rst:2204 -msgid "Support for default values was added." -msgstr "" - -#: ../../library/typing.rst:1949 -msgid "" -"Type variable tuple. A specialized form of :ref:`type variable ` " -"that enables *variadic* generics." -msgstr "" - -#: ../../library/typing.rst:1952 -msgid "" -"Type variable tuples can be declared in :ref:`type parameter lists ` using a single asterisk (``*``) before the name::" -msgstr "" - -#: ../../library/typing.rst:1955 -msgid "" -"def move_first_element_to_last[T, *Ts](tup: tuple[T, *Ts]) -> tuple[*Ts, T]:\n" -" return (*tup[1:], tup[0])" -msgstr "" - -#: ../../library/typing.rst:1958 -msgid "Or by explicitly invoking the ``TypeVarTuple`` constructor::" -msgstr "" - -#: ../../library/typing.rst:1960 -msgid "" -"T = TypeVar(\"T\")\n" -"Ts = TypeVarTuple(\"Ts\")\n" -"\n" -"def move_first_element_to_last(tup: tuple[T, *Ts]) -> tuple[*Ts, T]:\n" -" return (*tup[1:], tup[0])" -msgstr "" - -#: ../../library/typing.rst:1966 -msgid "" -"A normal type variable enables parameterization with a single type. A type " -"variable tuple, in contrast, allows parameterization with an *arbitrary* " -"number of types by acting like an *arbitrary* number of type variables " -"wrapped in a tuple. For example::" -msgstr "" - -#: ../../library/typing.rst:1971 -msgid "" -"# T is bound to int, Ts is bound to ()\n" -"# Return value is (1,), which has type tuple[int]\n" -"move_first_element_to_last(tup=(1,))\n" -"\n" -"# T is bound to int, Ts is bound to (str,)\n" -"# Return value is ('spam', 1), which has type tuple[str, int]\n" -"move_first_element_to_last(tup=(1, 'spam'))\n" -"\n" -"# T is bound to int, Ts is bound to (str, float)\n" -"# Return value is ('spam', 3.0, 1), which has type tuple[str, float, int]\n" -"move_first_element_to_last(tup=(1, 'spam', 3.0))\n" -"\n" -"# This fails to type check (and fails at runtime)\n" -"# because tuple[()] is not compatible with tuple[T, *Ts]\n" -"# (at least one element is required)\n" -"move_first_element_to_last(tup=())" -msgstr "" - -#: ../../library/typing.rst:1988 -msgid "" -"Note the use of the unpacking operator ``*`` in ``tuple[T, *Ts]``. " -"Conceptually, you can think of ``Ts`` as a tuple of type variables ``(T1, " -"T2, ...)``. ``tuple[T, *Ts]`` would then become ``tuple[T, *(T1, T2, " -"...)]``, which is equivalent to ``tuple[T, T1, T2, ...]``. (Note that in " -"older versions of Python, you might see this written using :data:`Unpack " -"` instead, as ``Unpack[Ts]``.)" -msgstr "" - -#: ../../library/typing.rst:1996 -msgid "" -"Type variable tuples must *always* be unpacked. This helps distinguish type " -"variable tuples from normal type variables::" -msgstr "" - -#: ../../library/typing.rst:1999 -msgid "" -"x: Ts # Not valid\n" -"x: tuple[Ts] # Not valid\n" -"x: tuple[*Ts] # The correct way to do it" -msgstr "" - -#: ../../library/typing.rst:2003 -msgid "" -"Type variable tuples can be used in the same contexts as normal type " -"variables. For example, in class definitions, arguments, and return types::" -msgstr "" - -#: ../../library/typing.rst:2006 -msgid "" -"class Array[*Shape]:\n" -" def __getitem__(self, key: tuple[*Shape]) -> float: ...\n" -" def __abs__(self) -> \"Array[*Shape]\": ...\n" -" def get_shape(self) -> tuple[*Shape]: ..." -msgstr "" - -#: ../../library/typing.rst:2011 -msgid "" -"Type variable tuples can be happily combined with normal type variables:" -msgstr "" - -#: ../../library/typing.rst:2013 -msgid "" -"class Array[DType, *Shape]: # This is fine\n" -" pass\n" -"\n" -"class Array2[*Shape, DType]: # This would also be fine\n" -" pass\n" -"\n" -"class Height: ...\n" -"class Width: ...\n" -"\n" -"float_array_1d: Array[float, Height] = Array() # Totally fine\n" -"int_array_2d: Array[int, Height, Width] = Array() # Yup, fine too" -msgstr "" - -#: ../../library/typing.rst:2027 -msgid "" -"However, note that at most one type variable tuple may appear in a single " -"list of type arguments or type parameters::" -msgstr "" - -#: ../../library/typing.rst:2030 -msgid "" -"x: tuple[*Ts, *Ts] # Not valid\n" -"class Array[*Shape, *Shape]: # Not valid\n" -" pass" -msgstr "" - -#: ../../library/typing.rst:2034 -msgid "" -"Finally, an unpacked type variable tuple can be used as the type annotation " -"of ``*args``::" -msgstr "" - -#: ../../library/typing.rst:2037 -msgid "" -"def call_soon[*Ts](\n" -" callback: Callable[[*Ts], None],\n" -" *args: *Ts\n" -") -> None:\n" -" ...\n" -" callback(*args)" -msgstr "" - -#: ../../library/typing.rst:2044 -msgid "" -"In contrast to non-unpacked annotations of ``*args`` - e.g. ``*args: int``, " -"which would specify that *all* arguments are ``int`` - ``*args: *Ts`` " -"enables reference to the types of the *individual* arguments in ``*args``. " -"Here, this allows us to ensure the types of the ``*args`` passed to " -"``call_soon`` match the types of the (positional) arguments of ``callback``." -msgstr "" - -#: ../../library/typing.rst:2051 -msgid "See :pep:`646` for more details on type variable tuples." -msgstr "" - -#: ../../library/typing.rst:2055 -msgid "The name of the type variable tuple." -msgstr "" - -#: ../../library/typing.rst:2059 -msgid "" -"The default value of the type variable tuple, or :data:`typing.NoDefault` if" -" it has no default." -msgstr "" - -#: ../../library/typing.rst:2066 -msgid "" -"An :term:`evaluate function` corresponding to the " -":attr:`~TypeVarTuple.__default__` attribute. When called directly, this " -"method supports only the :attr:`~annotationlib.Format.VALUE` format, which " -"is equivalent to accessing the :attr:`~TypeVarTuple.__default__` attribute " -"directly, but the method object can be passed to " -":func:`annotationlib.call_evaluate_function` to evaluate the value in a " -"different format." -msgstr "" - -#: ../../library/typing.rst:2076 -msgid "" -"Return whether or not the type variable tuple has a default value. This is " -"equivalent to checking whether :attr:`__default__` is not the " -":data:`typing.NoDefault` singleton, except that it does not force evaluation" -" of the :ref:`lazily evaluated ` default value." -msgstr "" - -#: ../../library/typing.rst:2087 -msgid "" -"Type variable tuples can now be declared using the :ref:`type parameter " -"` syntax introduced by :pep:`695`." -msgstr "" - -#: ../../library/typing.rst:2096 -msgid "" -"Parameter specification variable. A specialized version of :ref:`type " -"variables `." -msgstr "" - -#: ../../library/typing.rst:2099 -msgid "" -"In :ref:`type parameter lists `, parameter specifications can " -"be declared with two asterisks (``**``)::" -msgstr "" - -#: ../../library/typing.rst:2102 -msgid "type IntFunc[**P] = Callable[P, int]" -msgstr "" - -#: ../../library/typing.rst:2104 -msgid "" -"For compatibility with Python 3.11 and earlier, ``ParamSpec`` objects can " -"also be created as follows::" -msgstr "" - -#: ../../library/typing.rst:2107 -msgid "P = ParamSpec('P')" -msgstr "" - -#: ../../library/typing.rst:2109 -msgid "" -"Parameter specification variables exist primarily for the benefit of static " -"type checkers. They are used to forward the parameter types of one callable" -" to another callable -- a pattern commonly found in higher order functions " -"and decorators. They are only valid when used in ``Concatenate``, or as the" -" first argument to ``Callable``, or as parameters for user-defined Generics." -" See :class:`Generic` for more information on generic types." -msgstr "" - -#: ../../library/typing.rst:2116 -msgid "" -"For example, to add basic logging to a function, one can create a decorator " -"``add_logging`` to log function calls. The parameter specification variable" -" tells the type checker that the callable passed into the decorator and the " -"new callable returned by it have inter-dependent type parameters::" -msgstr "" - -#: ../../library/typing.rst:2121 -msgid "" -"from collections.abc import Callable\n" -"import logging\n" -"\n" -"def add_logging[T, **P](f: Callable[P, T]) -> Callable[P, T]:\n" -" '''A type-safe decorator to add logging to a function.'''\n" -" def inner(*args: P.args, **kwargs: P.kwargs) -> T:\n" -" logging.info(f'{f.__name__} was called')\n" -" return f(*args, **kwargs)\n" -" return inner\n" -"\n" -"@add_logging\n" -"def add_two(x: float, y: float) -> float:\n" -" '''Add two numbers together.'''\n" -" return x + y" -msgstr "" - -#: ../../library/typing.rst:2136 -msgid "" -"Without ``ParamSpec``, the simplest way to annotate this previously was to " -"use a :class:`TypeVar` with upper bound ``Callable[..., Any]``. However " -"this causes two problems:" -msgstr "" - -#: ../../library/typing.rst:2140 -msgid "" -"The type checker can't type check the ``inner`` function because ``*args`` " -"and ``**kwargs`` have to be typed :data:`Any`." -msgstr "" - -#: ../../library/typing.rst:2142 -msgid "" -":func:`~cast` may be required in the body of the ``add_logging`` decorator " -"when returning the ``inner`` function, or the static type checker must be " -"told to ignore the ``return inner``." -msgstr "" - -#: ../../library/typing.rst:2149 -msgid "" -"Since ``ParamSpec`` captures both positional and keyword parameters, " -"``P.args`` and ``P.kwargs`` can be used to split a ``ParamSpec`` into its " -"components. ``P.args`` represents the tuple of positional parameters in a " -"given call and should only be used to annotate ``*args``. ``P.kwargs`` " -"represents the mapping of keyword parameters to their values in a given " -"call, and should be only be used to annotate ``**kwargs``. Both attributes " -"require the annotated parameter to be in scope. At runtime, ``P.args`` and " -"``P.kwargs`` are instances respectively of :class:`ParamSpecArgs` and " -":class:`ParamSpecKwargs`." -msgstr "" - -#: ../../library/typing.rst:2161 -msgid "The name of the parameter specification." -msgstr "" - -#: ../../library/typing.rst:2165 -msgid "" -"The default value of the parameter specification, or " -":data:`typing.NoDefault` if it has no default." -msgstr "" - -#: ../../library/typing.rst:2172 -msgid "" -"An :term:`evaluate function` corresponding to the " -":attr:`~ParamSpec.__default__` attribute. When called directly, this method " -"supports only the :attr:`~annotationlib.Format.VALUE` format, which is " -"equivalent to accessing the :attr:`~ParamSpec.__default__` attribute " -"directly, but the method object can be passed to " -":func:`annotationlib.call_evaluate_function` to evaluate the value in a " -"different format." -msgstr "" - -#: ../../library/typing.rst:2182 -msgid "" -"Return whether or not the parameter specification has a default value. This " -"is equivalent to checking whether :attr:`__default__` is not the " -":data:`typing.NoDefault` singleton, except that it does not force evaluation" -" of the :ref:`lazily evaluated ` default value." -msgstr "" - -#: ../../library/typing.rst:2189 -msgid "" -"Parameter specification variables created with ``covariant=True`` or " -"``contravariant=True`` can be used to declare covariant or contravariant " -"generic types. The ``bound`` argument is also accepted, similar to " -":class:`TypeVar`. However the actual semantics of these keywords are yet to" -" be decided." -msgstr "" - -#: ../../library/typing.rst:2199 -msgid "" -"Parameter specifications can now be declared using the :ref:`type parameter " -"` syntax introduced by :pep:`695`." -msgstr "" - -#: ../../library/typing.rst:2207 -msgid "" -"Only parameter specification variables defined in global scope can be " -"pickled." -msgstr "" - -#: ../../library/typing.rst:2213 -msgid ":data:`Concatenate`" -msgstr "" - -#: ../../library/typing.rst:2219 -msgid "" -"Arguments and keyword arguments attributes of a :class:`ParamSpec`. The " -"``P.args`` attribute of a ``ParamSpec`` is an instance of ``ParamSpecArgs``," -" and ``P.kwargs`` is an instance of ``ParamSpecKwargs``. They are intended " -"for runtime introspection and have no special meaning to static type " -"checkers." -msgstr "" - -#: ../../library/typing.rst:2224 -msgid "" -"Calling :func:`get_origin` on either of these objects will return the " -"original ``ParamSpec``:" -msgstr "" - -#: ../../library/typing.rst:2227 -msgid "" -">>> from typing import ParamSpec, get_origin\n" -">>> P = ParamSpec(\"P\")\n" -">>> get_origin(P.args) is P\n" -"True\n" -">>> get_origin(P.kwargs) is P\n" -"True" -msgstr "" - -#: ../../library/typing.rst:2241 -msgid "" -"The type of type aliases created through the :keyword:`type` statement." -msgstr "" - -#: ../../library/typing.rst:2245 -msgid "" -">>> type Alias = int\n" -">>> type(Alias)\n" -"" -msgstr "" - -#: ../../library/typing.rst:2255 -msgid "The name of the type alias:" -msgstr "" - -#: ../../library/typing.rst:2257 -msgid "" -">>> type Alias = int\n" -">>> Alias.__name__\n" -"'Alias'" -msgstr "" - -#: ../../library/typing.rst:2265 -msgid "The module in which the type alias was defined::" -msgstr "" - -#: ../../library/typing.rst:2267 -msgid "" -">>> type Alias = int\n" -">>> Alias.__module__\n" -"'__main__'" -msgstr "" - -#: ../../library/typing.rst:2273 -msgid "" -"The type parameters of the type alias, or an empty tuple if the alias is not" -" generic:" -msgstr "" - -#: ../../library/typing.rst:2276 -msgid "" -">>> type ListOrSet[T] = list[T] | set[T]\n" -">>> ListOrSet.__type_params__\n" -"(T,)\n" -">>> type NotGeneric = int\n" -">>> NotGeneric.__type_params__\n" -"()" -msgstr "" - -#: ../../library/typing.rst:2287 -msgid "" -"The type alias's value. This is :ref:`lazily evaluated `, " -"so names used in the definition of the alias are not resolved until the " -"``__value__`` attribute is accessed:" -msgstr "" - -#: ../../library/typing.rst:2291 -msgid "" -">>> type Mutually = Recursive\n" -">>> type Recursive = Mutually\n" -">>> Mutually\n" -"Mutually\n" -">>> Recursive\n" -"Recursive\n" -">>> Mutually.__value__\n" -"Recursive\n" -">>> Recursive.__value__\n" -"Mutually" -msgstr "" - -#: ../../library/typing.rst:2306 -msgid "" -"An :term:`evaluate function` corresponding to the :attr:`__value__` " -"attribute. When called directly, this method supports only the " -":attr:`~annotationlib.Format.VALUE` format, which is equivalent to accessing" -" the :attr:`__value__` attribute directly, but the method object can be " -"passed to :func:`annotationlib.call_evaluate_function` to evaluate the value" -" in a different format:" -msgstr "" - -#: ../../library/typing.rst:2312 -msgid "" -">>> type Alias = undefined\n" -">>> Alias.__value__\n" -"Traceback (most recent call last):\n" -"...\n" -"NameError: name 'undefined' is not defined\n" -">>> from annotationlib import Format, call_evaluate_function\n" -">>> Alias.evaluate_value(Format.VALUE)\n" -"Traceback (most recent call last):\n" -"...\n" -"NameError: name 'undefined' is not defined\n" -">>> call_evaluate_function(Alias.evaluate_value, Format.FORWARDREF)\n" -"ForwardRef('undefined')" -msgstr "" - -#: ../../library/typing.rst:2330 -msgid "Unpacking" -msgstr "" - -#: ../../library/typing.rst:2331 -msgid "" -"Type aliases support star unpacking using the ``*Alias`` syntax. This is " -"equivalent to using ``Unpack[Alias]`` directly:" -msgstr "" - -#: ../../library/typing.rst:2334 -msgid "" -">>> type Alias = tuple[int, str]\n" -">>> type Unpacked = tuple[bool, *Alias]\n" -">>> Unpacked.__value__\n" -"tuple[bool, typing.Unpack[Alias]]" -msgstr "" - -#: ../../library/typing.rst:2345 -msgid "Other special directives" -msgstr "" - -#: ../../library/typing.rst:2347 -msgid "" -"These functions and classes should not be used directly as annotations. " -"Their intended purpose is to be building blocks for creating and declaring " -"types." -msgstr "" - -#: ../../library/typing.rst:2353 -msgid "Typed version of :func:`collections.namedtuple`." -msgstr "" - -#: ../../library/typing.rst:2355 ../../library/typing.rst:2451 -#: ../../library/typing.rst:3544 -msgid "Usage::" -msgstr "Penggunaan::" - -#: ../../library/typing.rst:2357 -msgid "" -"class Employee(NamedTuple):\n" -" name: str\n" -" id: int" -msgstr "" - -#: ../../library/typing.rst:2361 -msgid "This is equivalent to::" -msgstr "Ini setara dengan::" - -#: ../../library/typing.rst:2363 -msgid "Employee = collections.namedtuple('Employee', ['name', 'id'])" -msgstr "" - -#: ../../library/typing.rst:2365 -msgid "" -"To give a field a default value, you can assign to it in the class body::" -msgstr "" - -#: ../../library/typing.rst:2367 -msgid "" -"class Employee(NamedTuple):\n" -" name: str\n" -" id: int = 3\n" -"\n" -"employee = Employee('Guido')\n" -"assert employee.id == 3" -msgstr "" - -#: ../../library/typing.rst:2374 -msgid "" -"Fields with a default value must come after any fields without a default." -msgstr "" - -#: ../../library/typing.rst:2376 -msgid "" -"The resulting class has an extra attribute ``__annotations__`` giving a dict" -" that maps the field names to the field types. (The field names are in the " -"``_fields`` attribute and the default values are in the ``_field_defaults`` " -"attribute, both of which are part of the :func:`~collections.namedtuple` " -"API.)" -msgstr "" - -#: ../../library/typing.rst:2382 -msgid "``NamedTuple`` subclasses can also have docstrings and methods::" -msgstr "" - -#: ../../library/typing.rst:2384 -msgid "" -"class Employee(NamedTuple):\n" -" \"\"\"Represents an employee.\"\"\"\n" -" name: str\n" -" id: int = 3\n" -"\n" -" def __repr__(self) -> str:\n" -" return f''" -msgstr "" - -#: ../../library/typing.rst:2392 -msgid "``NamedTuple`` subclasses can be generic::" -msgstr "" - -#: ../../library/typing.rst:2394 -msgid "" -"class Group[T](NamedTuple):\n" -" key: T\n" -" group: list[T]" -msgstr "" - -#: ../../library/typing.rst:2398 -msgid "Backward-compatible usage::" -msgstr "" - -#: ../../library/typing.rst:2400 -msgid "" -"# For creating a generic NamedTuple on Python 3.11\n" -"T = TypeVar(\"T\")\n" -"\n" -"class Group(NamedTuple, Generic[T]):\n" -" key: T\n" -" group: list[T]\n" -"\n" -"# A functional syntax is also supported\n" -"Employee = NamedTuple('Employee', [('name', str), ('id', int)])" -msgstr "" - -#: ../../library/typing.rst:2410 -msgid "Added support for :pep:`526` variable annotation syntax." -msgstr "" - -#: ../../library/typing.rst:2413 -msgid "Added support for default values, methods, and docstrings." -msgstr "" - -#: ../../library/typing.rst:2416 -msgid "" -"The ``_field_types`` and ``__annotations__`` attributes are now regular " -"dictionaries instead of instances of ``OrderedDict``." -msgstr "" - -#: ../../library/typing.rst:2420 -msgid "" -"Removed the ``_field_types`` attribute in favor of the more standard " -"``__annotations__`` attribute which has the same information." -msgstr "" - -#: ../../library/typing.rst:2424 -msgid "Added support for generic namedtuples." -msgstr "" - -#: ../../library/typing.rst:2427 -msgid "" -"Using :func:`super` (and the ``__class__`` :term:`closure variable`) in " -"methods of ``NamedTuple`` subclasses is unsupported and causes a " -":class:`TypeError`." -msgstr "" - -#: ../../library/typing.rst:2431 -msgid "" -"The undocumented keyword argument syntax for creating NamedTuple classes " -"(``NT = NamedTuple(\"NT\", x=int)``) is deprecated, and will be disallowed " -"in 3.15. Use the class-based syntax or the functional syntax instead." -msgstr "" - -#: ../../library/typing.rst:2436 -msgid "" -"When using the functional syntax to create a NamedTuple class, failing to " -"pass a value to the 'fields' parameter (``NT = NamedTuple(\"NT\")``) is " -"deprecated. Passing ``None`` to the 'fields' parameter (``NT = " -"NamedTuple(\"NT\", None)``) is also deprecated. Both will be disallowed in " -"Python 3.15. To create a NamedTuple class with 0 fields, use ``class " -"NT(NamedTuple): pass`` or ``NT = NamedTuple(\"NT\", [])``." -msgstr "" - -#: ../../library/typing.rst:2446 -msgid "Helper class to create low-overhead :ref:`distinct types `." -msgstr "" - -#: ../../library/typing.rst:2448 -msgid "" -"A ``NewType`` is considered a distinct type by a typechecker. At runtime, " -"however, calling a ``NewType`` returns its argument unchanged." -msgstr "" - -#: ../../library/typing.rst:2453 -msgid "" -"UserId = NewType('UserId', int) # Declare the NewType \"UserId\"\n" -"first_user = UserId(1) # \"UserId\" returns the argument unchanged at runtime" -msgstr "" - -#: ../../library/typing.rst:2458 -msgid "The module in which the new type is defined." -msgstr "" - -#: ../../library/typing.rst:2462 -msgid "The name of the new type." -msgstr "" - -#: ../../library/typing.rst:2466 -msgid "The type that the new type is based on." -msgstr "" - -#: ../../library/typing.rst:2470 -msgid "``NewType`` is now a class rather than a function." -msgstr "" - -#: ../../library/typing.rst:2475 -msgid "Base class for protocol classes." -msgstr "" - -#: ../../library/typing.rst:2477 -msgid "Protocol classes are defined like this::" -msgstr "" - -#: ../../library/typing.rst:2479 -msgid "" -"class Proto(Protocol):\n" -" def meth(self) -> int:\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:2483 -msgid "" -"Such classes are primarily used with static type checkers that recognize " -"structural subtyping (static duck-typing), for example::" -msgstr "" - -#: ../../library/typing.rst:2486 -msgid "" -"class C:\n" -" def meth(self) -> int:\n" -" return 0\n" -"\n" -"def func(x: Proto) -> int:\n" -" return x.meth()\n" -"\n" -"func(C()) # Passes static type check" -msgstr "" - -#: ../../library/typing.rst:2495 -msgid "" -"See :pep:`544` for more details. Protocol classes decorated with " -":func:`runtime_checkable` (described later) act as simple-minded runtime " -"protocols that check only the presence of given attributes, ignoring their " -"type signatures. Protocol classes without this decorator cannot be used as " -"the second argument to :func:`isinstance` or :func:`issubclass`." -msgstr "" - -#: ../../library/typing.rst:2501 -msgid "Protocol classes can be generic, for example::" -msgstr "" - -#: ../../library/typing.rst:2503 -msgid "" -"class GenProto[T](Protocol):\n" -" def meth(self) -> T:\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:2507 -msgid "" -"In code that needs to be compatible with Python 3.11 or older, generic " -"Protocols can be written as follows::" -msgstr "" - -#: ../../library/typing.rst:2510 -msgid "" -"T = TypeVar(\"T\")\n" -"\n" -"class GenProto(Protocol[T]):\n" -" def meth(self) -> T:\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:2520 -msgid "Mark a protocol class as a runtime protocol." -msgstr "" - -#: ../../library/typing.rst:2522 -msgid "" -"Such a protocol can be used with :func:`isinstance` and :func:`issubclass`. " -"This allows a simple-minded structural check, very similar to \"one trick " -"ponies\" in :mod:`collections.abc` such as " -":class:`~collections.abc.Iterable`. For example::" -msgstr "" - -#: ../../library/typing.rst:2526 -msgid "" -"@runtime_checkable\n" -"class Closable(Protocol):\n" -" def close(self): ...\n" -"\n" -"assert isinstance(open('/some/file'), Closable)\n" -"\n" -"@runtime_checkable\n" -"class Named(Protocol):\n" -" name: str\n" -"\n" -"import threading\n" -"assert isinstance(threading.Thread(name='Bob'), Named)" -msgstr "" - -#: ../../library/typing.rst:2539 -msgid "" -"This decorator raises :exc:`TypeError` when applied to a non-protocol class." -msgstr "" - -#: ../../library/typing.rst:2543 -msgid "" -":func:`!runtime_checkable` will check only the presence of the required " -"methods or attributes, not their type signatures or types. For example, " -":class:`ssl.SSLObject` is a class, therefore it passes an :func:`issubclass`" -" check against :ref:`Callable `. However, the " -"``ssl.SSLObject.__init__`` method exists only to raise a :exc:`TypeError` " -"with a more informative message, therefore making it impossible to call " -"(instantiate) :class:`ssl.SSLObject`." -msgstr "" - -#: ../../library/typing.rst:2554 -msgid "" -"An :func:`isinstance` check against a runtime-checkable protocol can be " -"surprisingly slow compared to an ``isinstance()`` check against a non-" -"protocol class. Consider using alternative idioms such as :func:`hasattr` " -"calls for structural checks in performance-sensitive code." -msgstr "" - -#: ../../library/typing.rst:2562 -msgid "" -"The internal implementation of :func:`isinstance` checks against runtime-" -"checkable protocols now uses :func:`inspect.getattr_static` to look up " -"attributes (previously, :func:`hasattr` was used). As a result, some objects" -" which used to be considered instances of a runtime-checkable protocol may " -"no longer be considered instances of that protocol on Python 3.12+, and vice" -" versa. Most users are unlikely to be affected by this change." -msgstr "" - -#: ../../library/typing.rst:2571 -msgid "" -"The members of a runtime-checkable protocol are now considered \"frozen\" at" -" runtime as soon as the class has been created. Monkey-patching attributes " -"onto a runtime-checkable protocol will still work, but will have no impact " -"on :func:`isinstance` checks comparing objects to the protocol. See " -":ref:`\"What's new in Python 3.12\" ` for more " -"details." -msgstr "" - -#: ../../library/typing.rst:2582 -msgid "" -"Special construct to add type hints to a dictionary. At runtime it is a " -"plain :class:`dict`." -msgstr "" - -#: ../../library/typing.rst:2585 -msgid "" -"``TypedDict`` declares a dictionary type that expects all of its instances " -"to have a certain set of keys, where each key is associated with a value of " -"a consistent type. This expectation is not checked at runtime but is only " -"enforced by type checkers. Usage::" -msgstr "" - -#: ../../library/typing.rst:2591 -msgid "" -"class Point2D(TypedDict):\n" -" x: int\n" -" y: int\n" -" label: str\n" -"\n" -"a: Point2D = {'x': 1, 'y': 2, 'label': 'good'} # OK\n" -"b: Point2D = {'z': 3, 'label': 'bad'} # Fails type check\n" -"\n" -"assert Point2D(x=1, y=2, label='first') == dict(x=1, y=2, label='first')" -msgstr "" - -#: ../../library/typing.rst:2601 -msgid "" -"An alternative way to create a ``TypedDict`` is by using function-call " -"syntax. The second argument must be a literal :class:`dict`::" -msgstr "" - -#: ../../library/typing.rst:2604 -msgid "Point2D = TypedDict('Point2D', {'x': int, 'y': int, 'label': str})" -msgstr "" - -#: ../../library/typing.rst:2606 -msgid "" -"This functional syntax allows defining keys which are not valid " -":ref:`identifiers `, for example because they are keywords or " -"contain hyphens, or when key names must not be :ref:`mangled ` like regular private names::" -msgstr "" - -#: ../../library/typing.rst:2611 -msgid "" -"# raises SyntaxError\n" -"class Point2D(TypedDict):\n" -" in: int # 'in' is a keyword\n" -" x-y: int # name with hyphens\n" -"\n" -"class Definition(TypedDict):\n" -" __schema: str # mangled to `_Definition__schema`\n" -"\n" -"# OK, functional syntax\n" -"Point2D = TypedDict('Point2D', {'in': int, 'x-y': int})\n" -"Definition = TypedDict('Definition', {'__schema': str}) # not mangled" -msgstr "" - -#: ../../library/typing.rst:2623 -msgid "" -"By default, all keys must be present in a ``TypedDict``. It is possible to " -"mark individual keys as non-required using :data:`NotRequired`::" -msgstr "" - -#: ../../library/typing.rst:2626 -msgid "" -"class Point2D(TypedDict):\n" -" x: int\n" -" y: int\n" -" label: NotRequired[str]\n" -"\n" -"# Alternative syntax\n" -"Point2D = TypedDict('Point2D', {'x': int, 'y': int, 'label': NotRequired[str]})" -msgstr "" - -#: ../../library/typing.rst:2634 -msgid "" -"This means that a ``Point2D`` ``TypedDict`` can have the ``label`` key " -"omitted." -msgstr "" - -#: ../../library/typing.rst:2637 -msgid "" -"It is also possible to mark all keys as non-required by default by " -"specifying a totality of ``False``::" -msgstr "" - -#: ../../library/typing.rst:2640 -msgid "" -"class Point2D(TypedDict, total=False):\n" -" x: int\n" -" y: int\n" -"\n" -"# Alternative syntax\n" -"Point2D = TypedDict('Point2D', {'x': int, 'y': int}, total=False)" -msgstr "" - -#: ../../library/typing.rst:2647 -msgid "" -"This means that a ``Point2D`` ``TypedDict`` can have any of the keys " -"omitted. A type checker is only expected to support a literal ``False`` or " -"``True`` as the value of the ``total`` argument. ``True`` is the default, " -"and makes all items defined in the class body required." -msgstr "" - -#: ../../library/typing.rst:2652 -msgid "" -"Individual keys of a ``total=False`` ``TypedDict`` can be marked as required" -" using :data:`Required`::" -msgstr "" - -#: ../../library/typing.rst:2655 -msgid "" -"class Point2D(TypedDict, total=False):\n" -" x: Required[int]\n" -" y: Required[int]\n" -" label: str\n" -"\n" -"# Alternative syntax\n" -"Point2D = TypedDict('Point2D', {\n" -" 'x': Required[int],\n" -" 'y': Required[int],\n" -" 'label': str\n" -"}, total=False)" -msgstr "" - -#: ../../library/typing.rst:2667 -msgid "" -"It is possible for a ``TypedDict`` type to inherit from one or more other " -"``TypedDict`` types using the class-based syntax. Usage::" -msgstr "" - -#: ../../library/typing.rst:2671 -msgid "" -"class Point3D(Point2D):\n" -" z: int" -msgstr "" - -#: ../../library/typing.rst:2674 -msgid "" -"``Point3D`` has three items: ``x``, ``y`` and ``z``. It is equivalent to " -"this definition::" -msgstr "" - -#: ../../library/typing.rst:2677 -msgid "" -"class Point3D(TypedDict):\n" -" x: int\n" -" y: int\n" -" z: int" -msgstr "" - -#: ../../library/typing.rst:2682 -msgid "" -"A ``TypedDict`` cannot inherit from a non-\\ ``TypedDict`` class, except for" -" :class:`Generic`. For example::" -msgstr "" - -#: ../../library/typing.rst:2685 -msgid "" -"class X(TypedDict):\n" -" x: int\n" -"\n" -"class Y(TypedDict):\n" -" y: int\n" -"\n" -"class Z(object): pass # A non-TypedDict class\n" -"\n" -"class XY(X, Y): pass # OK\n" -"\n" -"class XZ(X, Z): pass # raises TypeError" -msgstr "" - -#: ../../library/typing.rst:2697 -msgid "A ``TypedDict`` can be generic::" -msgstr "" - -#: ../../library/typing.rst:2699 -msgid "" -"class Group[T](TypedDict):\n" -" key: T\n" -" group: list[T]" -msgstr "" - -#: ../../library/typing.rst:2703 -msgid "" -"To create a generic ``TypedDict`` that is compatible with Python 3.11 or " -"lower, inherit from :class:`Generic` explicitly:" -msgstr "" - -#: ../../library/typing.rst:2706 -msgid "" -"T = TypeVar(\"T\")\n" -"\n" -"class Group(TypedDict, Generic[T]):\n" -" key: T\n" -" group: list[T]" -msgstr "" - -#: ../../library/typing.rst:2714 -msgid "" -"A ``TypedDict`` can be introspected via annotations dicts (see " -":ref:`annotations-howto` for more information on annotations best " -"practices), :attr:`__total__`, :attr:`__required_keys__`, and " -":attr:`__optional_keys__`." -msgstr "" - -#: ../../library/typing.rst:2720 -msgid "" -"``Point2D.__total__`` gives the value of the ``total`` argument. Example:" -msgstr "" - -#: ../../library/typing.rst:2723 -msgid "" -">>> from typing import TypedDict\n" -">>> class Point2D(TypedDict): pass\n" -">>> Point2D.__total__\n" -"True\n" -">>> class Point2D(TypedDict, total=False): pass\n" -">>> Point2D.__total__\n" -"False\n" -">>> class Point3D(Point2D): pass\n" -">>> Point3D.__total__\n" -"True" -msgstr "" - -#: ../../library/typing.rst:2736 -msgid "" -"This attribute reflects *only* the value of the ``total`` argument to the " -"current ``TypedDict`` class, not whether the class is semantically total. " -"For example, a ``TypedDict`` with ``__total__`` set to ``True`` may have " -"keys marked with :data:`NotRequired`, or it may inherit from another " -"``TypedDict`` with ``total=False``. Therefore, it is generally better to use" -" :attr:`__required_keys__` and :attr:`__optional_keys__` for introspection." -msgstr "" - -#: ../../library/typing.rst:2749 -msgid "" -"``Point2D.__required_keys__`` and ``Point2D.__optional_keys__`` return " -":class:`frozenset` objects containing required and non-required keys, " -"respectively." -msgstr "" - -#: ../../library/typing.rst:2752 -msgid "" -"Keys marked with :data:`Required` will always appear in " -"``__required_keys__`` and keys marked with :data:`NotRequired` will always " -"appear in ``__optional_keys__``." -msgstr "" - -#: ../../library/typing.rst:2755 -msgid "" -"For backwards compatibility with Python 3.10 and below, it is also possible " -"to use inheritance to declare both required and non-required keys in the " -"same ``TypedDict`` . This is done by declaring a ``TypedDict`` with one " -"value for the ``total`` argument and then inheriting from it in another " -"``TypedDict`` with a different value for ``total``:" -msgstr "" - -#: ../../library/typing.rst:2762 -msgid "" -">>> class Point2D(TypedDict, total=False):\n" -"... x: int\n" -"... y: int\n" -"...\n" -">>> class Point3D(Point2D):\n" -"... z: int\n" -"...\n" -">>> Point3D.__required_keys__ == frozenset({'z'})\n" -"True\n" -">>> Point3D.__optional_keys__ == frozenset({'x', 'y'})\n" -"True" -msgstr "" - -#: ../../library/typing.rst:2780 -msgid "" -"If ``from __future__ import annotations`` is used or if annotations are " -"given as strings, annotations are not evaluated when the ``TypedDict`` is " -"defined. Therefore, the runtime introspection that ``__required_keys__`` and" -" ``__optional_keys__`` rely on may not work properly, and the values of the " -"attributes may be incorrect." -msgstr "" - -#: ../../library/typing.rst:2786 -msgid "Support for :data:`ReadOnly` is reflected in the following attributes:" -msgstr "" - -#: ../../library/typing.rst:2790 -msgid "" -"A :class:`frozenset` containing the names of all read-only keys. Keys are " -"read-only if they carry the :data:`ReadOnly` qualifier." -msgstr "" - -#: ../../library/typing.rst:2797 -msgid "" -"A :class:`frozenset` containing the names of all mutable keys. Keys are " -"mutable if they do not carry the :data:`ReadOnly` qualifier." -msgstr "" - -#: ../../library/typing.rst:2802 -msgid "" -"See the `TypedDict " -"`_ " -"section in the typing documentation for more examples and detailed rules." -msgstr "" - -#: ../../library/typing.rst:2806 -msgid "" -"Added support for marking individual keys as :data:`Required` or " -":data:`NotRequired`. See :pep:`655`." -msgstr "" - -#: ../../library/typing.rst:2810 -msgid "Added support for generic ``TypedDict``\\ s." -msgstr "" - -#: ../../library/typing.rst:2813 -msgid "" -"Removed support for the keyword-argument method of creating ``TypedDict``\\ " -"s." -msgstr "" - -#: ../../library/typing.rst:2816 -msgid "Support for the :data:`ReadOnly` qualifier was added." -msgstr "" - -#: ../../library/typing.rst:2819 -msgid "" -"When using the functional syntax to create a TypedDict class, failing to " -"pass a value to the 'fields' parameter (``TD = TypedDict(\"TD\")``) is " -"deprecated. Passing ``None`` to the 'fields' parameter (``TD = " -"TypedDict(\"TD\", None)``) is also deprecated. Both will be disallowed in " -"Python 3.15. To create a TypedDict class with 0 fields, use ``class " -"TD(TypedDict): pass`` or ``TD = TypedDict(\"TD\", {})``." -msgstr "" - -#: ../../library/typing.rst:2828 -msgid "Protocols" -msgstr "" - -#: ../../library/typing.rst:2830 -msgid "" -"The following protocols are provided by the :mod:`!typing` module. All are " -"decorated with :func:`@runtime_checkable `." -msgstr "" - -#: ../../library/typing.rst:2835 -msgid "" -"An ABC with one abstract method ``__abs__`` that is covariant in its return " -"type." -msgstr "" - -#: ../../library/typing.rst:2840 -msgid "An ABC with one abstract method ``__bytes__``." -msgstr "" - -#: ../../library/typing.rst:2844 -msgid "An ABC with one abstract method ``__complex__``." -msgstr "" - -#: ../../library/typing.rst:2848 -msgid "An ABC with one abstract method ``__float__``." -msgstr "" - -#: ../../library/typing.rst:2852 -msgid "An ABC with one abstract method ``__index__``." -msgstr "" - -#: ../../library/typing.rst:2858 -msgid "An ABC with one abstract method ``__int__``." -msgstr "" - -#: ../../library/typing.rst:2862 -msgid "" -"An ABC with one abstract method ``__round__`` that is covariant in its " -"return type." -msgstr "" - -#: ../../library/typing.rst:2868 -msgid "ABCs and Protocols for working with I/O" -msgstr "" - -#: ../../library/typing.rst:2874 -msgid "" -"Generic class ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])`` and " -"``BinaryIO(IO[bytes])`` represent the types of I/O streams such as returned " -"by :func:`open`. Please note that these classes are not protocols, and their" -" interface is fairly broad." -msgstr "" - -#: ../../library/typing.rst:2880 -msgid "" -"The protocols :class:`io.Reader` and :class:`io.Writer` offer a simpler " -"alternative for argument types, when only the ``read()`` or ``write()`` " -"methods are accessed, respectively::" -msgstr "" - -#: ../../library/typing.rst:2884 -msgid "" -"def read_and_write(reader: Reader[str], writer: Writer[bytes]):\n" -" data = reader.read()\n" -" writer.write(data.encode())" -msgstr "" - -#: ../../library/typing.rst:2888 -msgid "" -"Also consider using :class:`collections.abc.Iterable` for iterating over the" -" lines of an input stream::" -msgstr "" - -#: ../../library/typing.rst:2891 -msgid "" -"def read_config(stream: Iterable[str]):\n" -" for line in stream:\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:2896 -msgid "Functions and decorators" -msgstr "" - -#: ../../library/typing.rst:2900 -msgid "Cast a value to a type." -msgstr "" - -#: ../../library/typing.rst:2902 -msgid "" -"This returns the value unchanged. To the type checker this signals that the" -" return value has the designated type, but at runtime we intentionally don't" -" check anything (we want this to be as fast as possible)." -msgstr "" - -#: ../../library/typing.rst:2909 -msgid "" -"Ask a static type checker to confirm that *val* has an inferred type of " -"*typ*." -msgstr "" - -#: ../../library/typing.rst:2911 -msgid "" -"At runtime this does nothing: it returns the first argument unchanged with " -"no checks or side effects, no matter the actual type of the argument." -msgstr "" - -#: ../../library/typing.rst:2914 -msgid "" -"When a static type checker encounters a call to ``assert_type()``, it emits " -"an error if the value is not of the specified type::" -msgstr "" - -#: ../../library/typing.rst:2917 -msgid "" -"def greet(name: str) -> None:\n" -" assert_type(name, str) # OK, inferred type of `name` is `str`\n" -" assert_type(name, int) # type checker error" -msgstr "" - -#: ../../library/typing.rst:2921 -msgid "" -"This function is useful for ensuring the type checker's understanding of a " -"script is in line with the developer's intentions::" -msgstr "" - -#: ../../library/typing.rst:2924 -msgid "" -"def complex_function(arg: object):\n" -" # Do some complex type-narrowing logic,\n" -" # after which we hope the inferred type will be `int`\n" -" ...\n" -" # Test whether the type checker correctly understands our function\n" -" assert_type(arg, int)" -msgstr "" - -#: ../../library/typing.rst:2935 -msgid "" -"Ask a static type checker to confirm that a line of code is unreachable." -msgstr "" - -#: ../../library/typing.rst:2937 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/typing.rst:2939 -msgid "" -"def int_or_str(arg: int | str) -> None:\n" -" match arg:\n" -" case int():\n" -" print(\"It's an int\")\n" -" case str():\n" -" print(\"It's a str\")\n" -" case _ as unreachable:\n" -" assert_never(unreachable)" -msgstr "" - -#: ../../library/typing.rst:2948 -msgid "" -"Here, the annotations allow the type checker to infer that the last case can" -" never execute, because ``arg`` is either an :class:`int` or a :class:`str`," -" and both options are covered by earlier cases." -msgstr "" - -#: ../../library/typing.rst:2953 -msgid "" -"If a type checker finds that a call to ``assert_never()`` is reachable, it " -"will emit an error. For example, if the type annotation for ``arg`` was " -"instead ``int | str | float``, the type checker would emit an error pointing" -" out that ``unreachable`` is of type :class:`float`. For a call to " -"``assert_never`` to pass type checking, the inferred type of the argument " -"passed in must be the bottom type, :data:`Never`, and nothing else." -msgstr "" - -#: ../../library/typing.rst:2961 -msgid "At runtime, this throws an exception when called." -msgstr "" - -#: ../../library/typing.rst:2964 -msgid "" -"`Unreachable Code and Exhaustiveness Checking " -"`__ has more " -"information about exhaustiveness checking with static typing." -msgstr "" - -#: ../../library/typing.rst:2972 -msgid "" -"Ask a static type checker to reveal the inferred type of an expression." -msgstr "" - -#: ../../library/typing.rst:2974 -msgid "" -"When a static type checker encounters a call to this function, it emits a " -"diagnostic with the inferred type of the argument. For example::" -msgstr "" - -#: ../../library/typing.rst:2977 -msgid "" -"x: int = 1\n" -"reveal_type(x) # Revealed type is \"builtins.int\"" -msgstr "" - -#: ../../library/typing.rst:2980 -msgid "" -"This can be useful when you want to debug how your type checker handles a " -"particular piece of code." -msgstr "" - -#: ../../library/typing.rst:2983 -msgid "" -"At runtime, this function prints the runtime type of its argument to " -":data:`sys.stderr` and returns the argument unchanged (allowing the call to " -"be used within an expression)::" -msgstr "" - -#: ../../library/typing.rst:2987 -msgid "" -"x = reveal_type(1) # prints \"Runtime type is int\"\n" -"print(x) # prints \"1\"" -msgstr "" - -#: ../../library/typing.rst:2990 -msgid "" -"Note that the runtime type may be different from (more or less specific " -"than) the type statically inferred by a type checker." -msgstr "" - -#: ../../library/typing.rst:2993 -msgid "" -"Most type checkers support ``reveal_type()`` anywhere, even if the name is " -"not imported from ``typing``. Importing the name from ``typing``, however, " -"allows your code to run without runtime errors and communicates intent more " -"clearly." -msgstr "" - -#: ../../library/typing.rst:3004 -msgid "" -"Decorator to mark an object as providing :func:`dataclass " -"`-like behavior." -msgstr "" - -#: ../../library/typing.rst:3007 -msgid "" -"``dataclass_transform`` may be used to decorate a class, metaclass, or a " -"function that is itself a decorator. The presence of " -"``@dataclass_transform()`` tells a static type checker that the decorated " -"object performs runtime \"magic\" that transforms a class in a similar way " -"to :func:`@dataclasses.dataclass `." -msgstr "" - -#: ../../library/typing.rst:3014 -msgid "Example usage with a decorator function:" -msgstr "" - -#: ../../library/typing.rst:3016 -msgid "" -"@dataclass_transform()\n" -"def create_model[T](cls: type[T]) -> type[T]:\n" -" ...\n" -" return cls\n" -"\n" -"@create_model\n" -"class CustomerModel:\n" -" id: int\n" -" name: str" -msgstr "" - -#: ../../library/typing.rst:3028 -msgid "On a base class::" -msgstr "" - -#: ../../library/typing.rst:3030 -msgid "" -"@dataclass_transform()\n" -"class ModelBase: ...\n" -"\n" -"class CustomerModel(ModelBase):\n" -" id: int\n" -" name: str" -msgstr "" - -#: ../../library/typing.rst:3037 -msgid "On a metaclass::" -msgstr "" - -#: ../../library/typing.rst:3039 -msgid "" -"@dataclass_transform()\n" -"class ModelMeta(type): ...\n" -"\n" -"class ModelBase(metaclass=ModelMeta): ...\n" -"\n" -"class CustomerModel(ModelBase):\n" -" id: int\n" -" name: str" -msgstr "" - -#: ../../library/typing.rst:3048 -msgid "" -"The ``CustomerModel`` classes defined above will be treated by type checkers" -" similarly to classes created with :func:`@dataclasses.dataclass " -"`. For example, type checkers will assume these " -"classes have ``__init__`` methods that accept ``id`` and ``name``." -msgstr "" - -#: ../../library/typing.rst:3054 -msgid "" -"The decorated class, metaclass, or function may accept the following bool " -"arguments which type checkers will assume have the same effect as they would" -" have on the :func:`@dataclasses.dataclass` " -"decorator: ``init``, ``eq``, ``order``, ``unsafe_hash``, ``frozen``, " -"``match_args``, ``kw_only``, and ``slots``. It must be possible for the " -"value of these arguments (``True`` or ``False``) to be statically evaluated." -msgstr "" - -#: ../../library/typing.rst:3062 -msgid "" -"The arguments to the ``dataclass_transform`` decorator can be used to " -"customize the default behaviors of the decorated class, metaclass, or " -"function:" -msgstr "" - -#: ../../library/typing.rst:0 -msgid "Parameters" -msgstr "Parameter" - -#: ../../library/typing.rst:3066 -msgid "" -"Indicates whether the ``eq`` parameter is assumed to be ``True`` or " -"``False`` if it is omitted by the caller. Defaults to ``True``." -msgstr "" - -#: ../../library/typing.rst:3071 -msgid "" -"Indicates whether the ``order`` parameter is assumed to be ``True`` or " -"``False`` if it is omitted by the caller. Defaults to ``False``." -msgstr "" - -#: ../../library/typing.rst:3076 -msgid "" -"Indicates whether the ``kw_only`` parameter is assumed to be ``True`` or " -"``False`` if it is omitted by the caller. Defaults to ``False``." -msgstr "" - -#: ../../library/typing.rst:3081 -msgid "" -"Indicates whether the ``frozen`` parameter is assumed to be ``True`` or " -"``False`` if it is omitted by the caller. Defaults to ``False``. .. " -"versionadded:: 3.12" -msgstr "" - -#: ../../library/typing.rst:3082 -msgid "" -"Indicates whether the ``frozen`` parameter is assumed to be ``True`` or " -"``False`` if it is omitted by the caller. Defaults to ``False``." -msgstr "" - -#: ../../library/typing.rst:3088 -msgid "" -"Specifies a static list of supported classes or functions that describe " -"fields, similar to :func:`dataclasses.field`. Defaults to ``()``." -msgstr "" - -#: ../../library/typing.rst:3094 -msgid "" -"Arbitrary other keyword arguments are accepted in order to allow for " -"possible future extensions." -msgstr "" - -#: ../../library/typing.rst:3098 -msgid "" -"Type checkers recognize the following optional parameters on field " -"specifiers:" -msgstr "" - -#: ../../library/typing.rst:3101 -msgid "**Recognised parameters for field specifiers**" -msgstr "" - -#: ../../library/typing.rst:3105 -msgid "Parameter name" -msgstr "" - -#: ../../library/typing.rst:3106 -msgid "Description" -msgstr "Deskripsi" - -#: ../../library/typing.rst:3107 -msgid "``init``" -msgstr "" - -#: ../../library/typing.rst:3108 -msgid "" -"Indicates whether the field should be included in the synthesized " -"``__init__`` method. If unspecified, ``init`` defaults to ``True``." -msgstr "" - -#: ../../library/typing.rst:3111 -msgid "``default``" -msgstr "" - -#: ../../library/typing.rst:3112 -msgid "Provides the default value for the field." -msgstr "" - -#: ../../library/typing.rst:3113 -msgid "``default_factory``" -msgstr "" - -#: ../../library/typing.rst:3114 -msgid "" -"Provides a runtime callback that returns the default value for the field. If" -" neither ``default`` nor ``default_factory`` are specified, the field is " -"assumed to have no default value and must be provided a value when the class" -" is instantiated." -msgstr "" - -#: ../../library/typing.rst:3119 -msgid "``factory``" -msgstr "" - -#: ../../library/typing.rst:3120 -msgid "An alias for the ``default_factory`` parameter on field specifiers." -msgstr "" - -#: ../../library/typing.rst:3121 -msgid "``kw_only``" -msgstr "" - -#: ../../library/typing.rst:3122 -msgid "" -"Indicates whether the field should be marked as keyword-only. If ``True``, " -"the field will be keyword-only. If ``False``, it will not be keyword-only. " -"If unspecified, the value of the ``kw_only`` parameter on the object " -"decorated with ``dataclass_transform`` will be used, or if that is " -"unspecified, the value of ``kw_only_default`` on ``dataclass_transform`` " -"will be used." -msgstr "" - -#: ../../library/typing.rst:3128 -msgid "``alias``" -msgstr "" - -#: ../../library/typing.rst:3129 -msgid "" -"Provides an alternative name for the field. This alternative name is used in" -" the synthesized ``__init__`` method." -msgstr "" - -#: ../../library/typing.rst:3132 -msgid "" -"At runtime, this decorator records its arguments in the " -"``__dataclass_transform__`` attribute on the decorated object. It has no " -"other runtime effect." -msgstr "" - -#: ../../library/typing.rst:3136 -msgid "See :pep:`681` for more details." -msgstr "" - -#: ../../library/typing.rst:3144 -msgid "Decorator for creating overloaded functions and methods." -msgstr "" - -#: ../../library/typing.rst:3146 -msgid "" -"The ``@overload`` decorator allows describing functions and methods that " -"support multiple different combinations of argument types. A series of " -"``@overload``-decorated definitions must be followed by exactly one " -"non-``@overload``-decorated definition (for the same function/method)." -msgstr "" - -#: ../../library/typing.rst:3151 -msgid "" -"``@overload``-decorated definitions are for the benefit of the type checker " -"only, since they will be overwritten by the non-``@overload``-decorated " -"definition. The non-``@overload``-decorated definition, meanwhile, will be " -"used at runtime but should be ignored by a type checker. At runtime, " -"calling an ``@overload``-decorated function directly will raise " -":exc:`NotImplementedError`." -msgstr "" - -#: ../../library/typing.rst:3159 -msgid "" -"An example of overload that gives a more precise type than can be expressed " -"using a union or a type variable:" -msgstr "" - -#: ../../library/typing.rst:3162 -msgid "" -"@overload\n" -"def process(response: None) -> None:\n" -" ...\n" -"@overload\n" -"def process(response: int) -> tuple[int, str]:\n" -" ...\n" -"@overload\n" -"def process(response: bytes) -> str:\n" -" ...\n" -"def process(response):\n" -" ... # actual implementation goes here" -msgstr "" - -#: ../../library/typing.rst:3176 -msgid "" -"See :pep:`484` for more details and comparison with other typing semantics." -msgstr "" - -#: ../../library/typing.rst:3178 -msgid "" -"Overloaded functions can now be introspected at runtime using " -":func:`get_overloads`." -msgstr "" - -#: ../../library/typing.rst:3185 -msgid "" -"Return a sequence of :func:`@overload `-decorated definitions for " -"*func*." -msgstr "" - -#: ../../library/typing.rst:3188 -msgid "" -"*func* is the function object for the implementation of the overloaded " -"function. For example, given the definition of ``process`` in the " -"documentation for :func:`@overload `, ``get_overloads(process)`` " -"will return a sequence of three function objects for the three defined " -"overloads. If called on a function with no overloads, ``get_overloads()`` " -"returns an empty sequence." -msgstr "" - -#: ../../library/typing.rst:3195 -msgid "" -"``get_overloads()`` can be used for introspecting an overloaded function at " -"runtime." -msgstr "" - -#: ../../library/typing.rst:3203 -msgid "Clear all registered overloads in the internal registry." -msgstr "" - -#: ../../library/typing.rst:3205 -msgid "This can be used to reclaim the memory used by the registry." -msgstr "" - -#: ../../library/typing.rst:3212 -msgid "Decorator to indicate final methods and final classes." -msgstr "" - -#: ../../library/typing.rst:3214 -msgid "" -"Decorating a method with ``@final`` indicates to a type checker that the " -"method cannot be overridden in a subclass. Decorating a class with " -"``@final`` indicates that it cannot be subclassed." -msgstr "" - -#: ../../library/typing.rst:3220 -msgid "" -"class Base:\n" -" @final\n" -" def done(self) -> None:\n" -" ...\n" -"class Sub(Base):\n" -" def done(self) -> None: # Error reported by type checker\n" -" ...\n" -"\n" -"@final\n" -"class Leaf:\n" -" ...\n" -"class Other(Leaf): # Error reported by type checker\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:3239 -msgid "" -"The decorator will now attempt to set a ``__final__`` attribute to ``True`` " -"on the decorated object. Thus, a check like ``if getattr(obj, \"__final__\"," -" False)`` can be used at runtime to determine whether an object ``obj`` has " -"been marked as final. If the decorated object does not support setting " -"attributes, the decorator returns the object unchanged without raising an " -"exception." -msgstr "" - -#: ../../library/typing.rst:3250 -msgid "Decorator to indicate that annotations are not type hints." -msgstr "" - -#: ../../library/typing.rst:3252 -msgid "" -"This works as a class or function :term:`decorator`. With a class, it " -"applies recursively to all methods and classes defined in that class (but " -"not to methods defined in its superclasses or subclasses). Type checkers " -"will ignore all annotations in a function or class with this decorator." -msgstr "" - -#: ../../library/typing.rst:3258 -msgid "``@no_type_check`` mutates the decorated object in place." -msgstr "" - -#: ../../library/typing.rst:3262 -msgid "Decorator to give another decorator the :func:`no_type_check` effect." -msgstr "" - -#: ../../library/typing.rst:3264 -msgid "" -"This wraps the decorator with something that wraps the decorated function in" -" :func:`no_type_check`." -msgstr "" - -#: ../../library/typing.rst:3267 -msgid "" -"No type checker ever added support for ``@no_type_check_decorator``. It is " -"therefore deprecated, and will be removed in Python 3.15." -msgstr "" - -#: ../../library/typing.rst:3273 -msgid "" -"Decorator to indicate that a method in a subclass is intended to override a " -"method or attribute in a superclass." -msgstr "" - -#: ../../library/typing.rst:3276 -msgid "" -"Type checkers should emit an error if a method decorated with ``@override`` " -"does not, in fact, override anything. This helps prevent bugs that may occur" -" when a base class is changed without an equivalent change to a child class." -msgstr "" - -#: ../../library/typing.rst:3283 -msgid "" -"class Base:\n" -" def log_status(self) -> None:\n" -" ...\n" -"\n" -"class Sub(Base):\n" -" @override\n" -" def log_status(self) -> None: # Okay: overrides Base.log_status\n" -" ...\n" -"\n" -" @override\n" -" def done(self) -> None: # Error reported by type checker\n" -" ..." -msgstr "" - -#: ../../library/typing.rst:3298 -msgid "There is no runtime checking of this property." -msgstr "" - -#: ../../library/typing.rst:3300 -msgid "" -"The decorator will attempt to set an ``__override__`` attribute to ``True`` " -"on the decorated object. Thus, a check like ``if getattr(obj, " -"\"__override__\", False)`` can be used at runtime to determine whether an " -"object ``obj`` has been marked as an override. If the decorated object does" -" not support setting attributes, the decorator returns the object unchanged " -"without raising an exception." -msgstr "" - -#: ../../library/typing.rst:3307 -msgid "See :pep:`698` for more details." -msgstr "" - -#: ../../library/typing.rst:3314 -msgid "Decorator to mark a class or function as unavailable at runtime." -msgstr "" - -#: ../../library/typing.rst:3316 -msgid "" -"This decorator is itself not available at runtime. It is mainly intended to " -"mark classes that are defined in type stub files if an implementation " -"returns an instance of a private class::" -msgstr "" - -#: ../../library/typing.rst:3320 -msgid "" -"@type_check_only\n" -"class Response: # private or not available at runtime\n" -" code: int\n" -" def get_header(self, name: str) -> str: ...\n" -"\n" -"def fetch_response() -> Response: ..." -msgstr "" - -#: ../../library/typing.rst:3327 -msgid "" -"Note that returning instances of private classes is not recommended. It is " -"usually preferable to make such classes public." -msgstr "" - -#: ../../library/typing.rst:3331 -msgid "Introspection helpers" -msgstr "" - -#: ../../library/typing.rst:3335 -msgid "" -"Return a dictionary containing type hints for a function, method, module or " -"class object." -msgstr "" - -#: ../../library/typing.rst:3338 -msgid "" -"This is often the same as ``obj.__annotations__``, but this function makes " -"the following changes to the annotations dictionary:" -msgstr "" - -#: ../../library/typing.rst:3341 -msgid "" -"Forward references encoded as string literals or :class:`ForwardRef` objects" -" are handled by evaluating them in *globalns*, *localns*, and (where " -"applicable) *obj*'s :ref:`type parameter ` namespace. If " -"*globalns* or *localns* is not given, appropriate namespace dictionaries are" -" inferred from *obj*." -msgstr "" - -#: ../../library/typing.rst:3346 -msgid "``None`` is replaced with :class:`types.NoneType`." -msgstr "" - -#: ../../library/typing.rst:3347 -msgid "" -"If :func:`@no_type_check ` has been applied to *obj*, an " -"empty dictionary is returned." -msgstr "" - -#: ../../library/typing.rst:3349 -msgid "" -"If *obj* is a class ``C``, the function returns a dictionary that merges " -"annotations from ``C``'s base classes with those on ``C`` directly. This is " -"done by traversing :attr:`C.__mro__ ` and iteratively " -"combining ``__annotations__`` dictionaries. Annotations on classes appearing" -" earlier in the :term:`method resolution order` always take precedence over " -"annotations on classes appearing later in the method resolution order." -msgstr "" - -#: ../../library/typing.rst:3356 -msgid "" -"The function recursively replaces all occurrences of ``Annotated[T, ...]`` " -"with ``T``, unless *include_extras* is set to ``True`` (see " -":class:`Annotated` for more information)." -msgstr "" - -#: ../../library/typing.rst:3360 -msgid "" -"See also :func:`inspect.get_annotations`, a lower-level function that " -"returns annotations more directly." -msgstr "" - -#: ../../library/typing.rst:3365 -msgid "" -"If any forward references in the annotations of *obj* are not resolvable or " -"are not valid Python code, this function will raise an exception such as " -":exc:`NameError`. For example, this can happen with imported :ref:`type " -"aliases ` that include forward references, or with names " -"imported under :data:`if TYPE_CHECKING `." -msgstr "" - -#: ../../library/typing.rst:3371 -msgid "" -"Added ``include_extras`` parameter as part of :pep:`593`. See the " -"documentation on :data:`Annotated` for more information." -msgstr "" - -#: ../../library/typing.rst:3375 -msgid "" -"Previously, ``Optional[t]`` was added for function and method annotations if" -" a default value equal to ``None`` was set. Now the annotation is returned " -"unchanged." -msgstr "" - -#: ../../library/typing.rst:3382 -msgid "" -"Get the unsubscripted version of a type: for a typing object of the form " -"``X[Y, Z, ...]`` return ``X``." -msgstr "" - -#: ../../library/typing.rst:3385 -msgid "" -"If ``X`` is a typing-module alias for a builtin or :mod:`collections` class," -" it will be normalized to the original class. If ``X`` is an instance of " -":class:`ParamSpecArgs` or :class:`ParamSpecKwargs`, return the underlying " -":class:`ParamSpec`. Return ``None`` for unsupported objects." -msgstr "" - -#: ../../library/typing.rst:3391 ../../library/typing.rst:3415 -msgid "Examples:" -msgstr "Contoh-contoh:" - -#: ../../library/typing.rst:3393 -msgid "" -"assert get_origin(str) is None\n" -"assert get_origin(Dict[str, int]) is dict\n" -"assert get_origin(Union[int, str]) is Union\n" -"assert get_origin(Annotated[str, \"metadata\"]) is Annotated\n" -"P = ParamSpec('P')\n" -"assert get_origin(P.args) is P\n" -"assert get_origin(P.kwargs) is P" -msgstr "" - -#: ../../library/typing.rst:3407 -msgid "" -"Get type arguments with all substitutions performed: for a typing object of " -"the form ``X[Y, Z, ...]`` return ``(Y, Z, ...)``." -msgstr "" - -#: ../../library/typing.rst:3410 -msgid "" -"If ``X`` is a union or :class:`Literal` contained in another generic type, " -"the order of ``(Y, Z, ...)`` may be different from the order of the original" -" arguments ``[Y, Z, ...]`` due to type caching. Return ``()`` for " -"unsupported objects." -msgstr "" - -#: ../../library/typing.rst:3417 -msgid "" -"assert get_args(int) == ()\n" -"assert get_args(Dict[int, str]) == (int, str)\n" -"assert get_args(Union[int, str]) == (int, str)" -msgstr "" - -#: ../../library/typing.rst:3427 -msgid "Return the set of members defined in a :class:`Protocol`." -msgstr "" - -#: ../../library/typing.rst:3429 -msgid "" -">>> from typing import Protocol, get_protocol_members\n" -">>> class P(Protocol):\n" -"... def a(self) -> str: ...\n" -"... b: int\n" -">>> get_protocol_members(P) == frozenset({'a', 'b'})\n" -"True" -msgstr "" - -#: ../../library/typing.rst:3438 -msgid "Raise :exc:`TypeError` for arguments that are not Protocols." -msgstr "" - -#: ../../library/typing.rst:3444 -msgid "Determine if a type is a :class:`Protocol`." -msgstr "" - -#: ../../library/typing.rst:3448 -msgid "" -"class P(Protocol):\n" -" def a(self) -> str: ...\n" -" b: int\n" -"\n" -"is_protocol(P) # => True\n" -"is_protocol(int) # => False" -msgstr "" - -#: ../../library/typing.rst:3459 -msgid "Check if a type is a :class:`TypedDict`." -msgstr "" - -#: ../../library/typing.rst:3463 -msgid "" -"class Film(TypedDict):\n" -" title: str\n" -" year: int\n" -"\n" -"assert is_typeddict(Film)\n" -"assert not is_typeddict(list | str)\n" -"\n" -"# TypedDict is a factory for creating typed dicts,\n" -"# not a typed dict itself\n" -"assert not is_typeddict(TypedDict)" -msgstr "" - -#: ../../library/typing.rst:3480 -msgid "" -"Class used for internal typing representation of string forward references." -msgstr "" - -#: ../../library/typing.rst:3482 -msgid "" -"For example, ``List[\"SomeClass\"]`` is implicitly transformed into " -"``List[ForwardRef(\"SomeClass\")]``. :class:`!ForwardRef` should not be " -"instantiated by a user, but may be used by introspection tools." -msgstr "" - -#: ../../library/typing.rst:3487 -msgid "" -":pep:`585` generic types such as ``list[\"SomeClass\"]`` will not be " -"implicitly transformed into ``list[ForwardRef(\"SomeClass\")]`` and thus " -"will not automatically resolve to ``list[SomeClass]``." -msgstr "" - -#: ../../library/typing.rst:3493 -msgid "" -"This is now an alias for :class:`annotationlib.ForwardRef`. Several " -"undocumented behaviors of this class have been changed; for example, after a" -" ``ForwardRef`` has been evaluated, the evaluated value is no longer cached." -msgstr "" - -#: ../../library/typing.rst:3500 -msgid "Evaluate an :class:`annotationlib.ForwardRef` as a :term:`type hint`." -msgstr "" - -#: ../../library/typing.rst:3502 -msgid "" -"This is similar to calling :meth:`annotationlib.ForwardRef.evaluate`, but " -"unlike that method, :func:`!evaluate_forward_ref` also:" -msgstr "" - -#: ../../library/typing.rst:3505 -msgid "Recursively evaluates forward references nested within the type hint." -msgstr "" - -#: ../../library/typing.rst:3506 -msgid "" -"Raises :exc:`TypeError` when it encounters certain objects that are not " -"valid type hints." -msgstr "" - -#: ../../library/typing.rst:3508 -msgid "" -"Replaces type hints that evaluate to :const:`!None` with " -":class:`types.NoneType`." -msgstr "" - -#: ../../library/typing.rst:3510 -msgid "" -"Supports the :attr:`~annotationlib.Format.FORWARDREF` and " -":attr:`~annotationlib.Format.STRING` formats." -msgstr "" - -#: ../../library/typing.rst:3513 -msgid "" -"See the documentation for :meth:`annotationlib.ForwardRef.evaluate` for the " -"meaning of the *owner*, *globals*, *locals*, and *type_params* parameters. " -"*format* specifies the format of the annotation and is a member of the " -":class:`annotationlib.Format` enum." -msgstr "" - -#: ../../library/typing.rst:3522 -msgid "" -"A sentinel object used to indicate that a type parameter has no default " -"value. For example:" -msgstr "" - -#: ../../library/typing.rst:3525 -msgid "" -">>> T = TypeVar(\"T\")\n" -">>> T.__default__ is typing.NoDefault\n" -"True\n" -">>> S = TypeVar(\"S\", default=None)\n" -">>> S.__default__ is None\n" -"True" -msgstr "" - -#: ../../library/typing.rst:3537 -msgid "Constant" -msgstr "Konstanta" - -#: ../../library/typing.rst:3541 -msgid "" -"A special constant that is assumed to be ``True`` by 3rd party static type " -"checkers. It is ``False`` at runtime." -msgstr "" - -#: ../../library/typing.rst:3546 -msgid "" -"if TYPE_CHECKING:\n" -" import expensive_mod\n" -"\n" -"def fun(arg: 'expensive_mod.SomeType') -> None:\n" -" local_var: expensive_mod.AnotherType = other_fun()" -msgstr "" - -#: ../../library/typing.rst:3552 -msgid "" -"The first type annotation must be enclosed in quotes, making it a \"forward " -"reference\", to hide the ``expensive_mod`` reference from the interpreter " -"runtime. Type annotations for local variables are not evaluated, so the " -"second annotation does not need to be enclosed in quotes." -msgstr "" - -#: ../../library/typing.rst:3559 -msgid "" -"If ``from __future__ import annotations`` is used, annotations are not " -"evaluated at function definition time. Instead, they are stored as strings " -"in ``__annotations__``. This makes it unnecessary to use quotes around the " -"annotation (see :pep:`563`)." -msgstr "" - -#: ../../library/typing.rst:3571 -msgid "Deprecated aliases" -msgstr "" - -#: ../../library/typing.rst:3573 -msgid "" -"This module defines several deprecated aliases to pre-existing standard " -"library classes. These were originally included in the :mod:`!typing` module" -" in order to support parameterizing these generic classes using ``[]``. " -"However, the aliases became redundant in Python 3.9 when the corresponding " -"pre-existing classes were enhanced to support ``[]`` (see :pep:`585`)." -msgstr "" - -#: ../../library/typing.rst:3580 -msgid "" -"The redundant types are deprecated as of Python 3.9. However, while the " -"aliases may be removed at some point, removal of these aliases is not " -"currently planned. As such, no deprecation warnings are currently issued by " -"the interpreter for these aliases." -msgstr "" - -#: ../../library/typing.rst:3585 -msgid "" -"If at some point it is decided to remove these deprecated aliases, a " -"deprecation warning will be issued by the interpreter for at least two " -"releases prior to removal. The aliases are guaranteed to remain in the " -":mod:`!typing` module without deprecation warnings until at least Python " -"3.14." -msgstr "" - -#: ../../library/typing.rst:3590 -msgid "" -"Type checkers are encouraged to flag uses of the deprecated types if the " -"program they are checking targets a minimum Python version of 3.9 or newer." -msgstr "" - -#: ../../library/typing.rst:3596 -msgid "Aliases to built-in types" -msgstr "" - -#: ../../library/typing.rst:3600 -msgid "Deprecated alias to :class:`dict`." -msgstr "" - -#: ../../library/typing.rst:3602 -msgid "" -"Note that to annotate arguments, it is preferred to use an abstract " -"collection type such as :class:`~collections.abc.Mapping` rather than to use" -" :class:`dict` or :class:`!typing.Dict`." -msgstr "" - -#: ../../library/typing.rst:3606 -msgid "" -":class:`builtins.dict ` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3612 -msgid "Deprecated alias to :class:`list`." -msgstr "" - -#: ../../library/typing.rst:3614 -msgid "" -"Note that to annotate arguments, it is preferred to use an abstract " -"collection type such as :class:`~collections.abc.Sequence` or " -":class:`~collections.abc.Iterable` rather than to use :class:`list` or " -":class:`!typing.List`." -msgstr "" - -#: ../../library/typing.rst:3619 -msgid "" -":class:`builtins.list ` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3625 -msgid "Deprecated alias to :class:`builtins.set `." -msgstr "" - -#: ../../library/typing.rst:3627 -msgid "" -"Note that to annotate arguments, it is preferred to use an abstract " -"collection type such as :class:`collections.abc.Set` rather than to use " -":class:`set` or :class:`typing.Set`." -msgstr "" - -#: ../../library/typing.rst:3631 -msgid "" -":class:`builtins.set ` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3637 -msgid "Deprecated alias to :class:`builtins.frozenset `." -msgstr "" - -#: ../../library/typing.rst:3639 -msgid "" -":class:`builtins.frozenset ` now supports subscripting (``[]``). " -"See :pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3646 -msgid "Deprecated alias for :class:`tuple`." -msgstr "" - -#: ../../library/typing.rst:3648 -msgid "" -":class:`tuple` and ``Tuple`` are special-cased in the type system; see " -":ref:`annotating-tuples` for more details." -msgstr "" - -#: ../../library/typing.rst:3651 -msgid "" -":class:`builtins.tuple ` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3657 -msgid "Deprecated alias to :class:`type`." -msgstr "" - -#: ../../library/typing.rst:3659 -msgid "" -"See :ref:`type-of-class-objects` for details on using :class:`type` or " -"``typing.Type`` in type annotations." -msgstr "" - -#: ../../library/typing.rst:3664 -msgid "" -":class:`builtins.type ` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3671 -msgid "Aliases to types in :mod:`collections`" -msgstr "" - -#: ../../library/typing.rst:3675 -msgid "Deprecated alias to :class:`collections.defaultdict`." -msgstr "" - -#: ../../library/typing.rst:3679 -msgid "" -":class:`collections.defaultdict` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3685 -msgid "Deprecated alias to :class:`collections.OrderedDict`." -msgstr "" - -#: ../../library/typing.rst:3689 -msgid "" -":class:`collections.OrderedDict` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3695 -msgid "Deprecated alias to :class:`collections.ChainMap`." -msgstr "" - -#: ../../library/typing.rst:3699 -msgid "" -":class:`collections.ChainMap` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3705 -msgid "Deprecated alias to :class:`collections.Counter`." -msgstr "" - -#: ../../library/typing.rst:3709 -msgid "" -":class:`collections.Counter` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3715 -msgid "Deprecated alias to :class:`collections.deque`." -msgstr "" - -#: ../../library/typing.rst:3719 -msgid "" -":class:`collections.deque` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3726 -msgid "Aliases to other concrete types" -msgstr "" - -#: ../../library/typing.rst:3731 -msgid "" -"Deprecated aliases corresponding to the return types from :func:`re.compile`" -" and :func:`re.match`." -msgstr "" - -#: ../../library/typing.rst:3734 -msgid "" -"These types (and the corresponding functions) are generic over " -":data:`AnyStr`. ``Pattern`` can be specialised as ``Pattern[str]`` or " -"``Pattern[bytes]``; ``Match`` can be specialised as ``Match[str]`` or " -"``Match[bytes]``." -msgstr "" - -#: ../../library/typing.rst:3739 -msgid "" -"Classes ``Pattern`` and ``Match`` from :mod:`re` now support ``[]``. See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3745 -msgid "Deprecated alias for :class:`str`." -msgstr "" - -#: ../../library/typing.rst:3747 -msgid "" -"``Text`` is provided to supply a forward compatible path for Python 2 code: " -"in Python 2, ``Text`` is an alias for ``unicode``." -msgstr "" - -#: ../../library/typing.rst:3751 -msgid "" -"Use ``Text`` to indicate that a value must contain a unicode string in a " -"manner that is compatible with both Python 2 and Python 3::" -msgstr "" - -#: ../../library/typing.rst:3754 -msgid "" -"def add_unicode_checkmark(text: Text) -> Text:\n" -" return text + u' \\u2713'" -msgstr "" - -#: ../../library/typing.rst:3759 -msgid "" -"Python 2 is no longer supported, and most type checkers also no longer " -"support type checking Python 2 code. Removal of the alias is not currently " -"planned, but users are encouraged to use :class:`str` instead of ``Text``." -msgstr "" - -#: ../../library/typing.rst:3769 -msgid "Aliases to container ABCs in :mod:`collections.abc`" -msgstr "" - -#: ../../library/typing.rst:3773 -msgid "Deprecated alias to :class:`collections.abc.Set`." -msgstr "" - -#: ../../library/typing.rst:3775 -msgid "" -":class:`collections.abc.Set` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3781 -msgid "Deprecated alias to :class:`collections.abc.Collection`." -msgstr "" - -#: ../../library/typing.rst:3785 -msgid "" -":class:`collections.abc.Collection` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3791 -msgid "Deprecated alias to :class:`collections.abc.Container`." -msgstr "" - -#: ../../library/typing.rst:3793 -msgid "" -":class:`collections.abc.Container` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3799 -msgid "Deprecated alias to :class:`collections.abc.ItemsView`." -msgstr "" - -#: ../../library/typing.rst:3801 -msgid "" -":class:`collections.abc.ItemsView` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3807 -msgid "Deprecated alias to :class:`collections.abc.KeysView`." -msgstr "" - -#: ../../library/typing.rst:3809 -msgid "" -":class:`collections.abc.KeysView` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3815 -msgid "Deprecated alias to :class:`collections.abc.Mapping`." -msgstr "" - -#: ../../library/typing.rst:3817 -msgid "" -":class:`collections.abc.Mapping` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3823 -msgid "Deprecated alias to :class:`collections.abc.MappingView`." -msgstr "" - -#: ../../library/typing.rst:3825 -msgid "" -":class:`collections.abc.MappingView` now supports subscripting (``[]``). See" -" :pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3831 -msgid "Deprecated alias to :class:`collections.abc.MutableMapping`." -msgstr "" - -#: ../../library/typing.rst:3833 -msgid "" -":class:`collections.abc.MutableMapping` now supports subscripting (``[]``). " -"See :pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3840 -msgid "Deprecated alias to :class:`collections.abc.MutableSequence`." -msgstr "" - -#: ../../library/typing.rst:3842 -msgid "" -":class:`collections.abc.MutableSequence` now supports subscripting (``[]``)." -" See :pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3849 -msgid "Deprecated alias to :class:`collections.abc.MutableSet`." -msgstr "" - -#: ../../library/typing.rst:3851 -msgid "" -":class:`collections.abc.MutableSet` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3857 -msgid "Deprecated alias to :class:`collections.abc.Sequence`." -msgstr "" - -#: ../../library/typing.rst:3859 -msgid "" -":class:`collections.abc.Sequence` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3865 -msgid "Deprecated alias to :class:`collections.abc.ValuesView`." -msgstr "" - -#: ../../library/typing.rst:3867 -msgid "" -":class:`collections.abc.ValuesView` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3874 -msgid "Aliases to asynchronous ABCs in :mod:`collections.abc`" -msgstr "" - -#: ../../library/typing.rst:3878 -msgid "Deprecated alias to :class:`collections.abc.Coroutine`." -msgstr "" - -#: ../../library/typing.rst:3880 -msgid "" -"See :ref:`annotating-generators-and-coroutines` for details on using " -":class:`collections.abc.Coroutine` and ``typing.Coroutine`` in type " -"annotations." -msgstr "" - -#: ../../library/typing.rst:3886 -msgid "" -":class:`collections.abc.Coroutine` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3892 -msgid "Deprecated alias to :class:`collections.abc.AsyncGenerator`." -msgstr "" - -#: ../../library/typing.rst:3894 -msgid "" -"See :ref:`annotating-generators-and-coroutines` for details on using " -":class:`collections.abc.AsyncGenerator` and ``typing.AsyncGenerator`` in " -"type annotations." -msgstr "" - -#: ../../library/typing.rst:3900 -msgid "" -":class:`collections.abc.AsyncGenerator` now supports subscripting (``[]``). " -"See :pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3905 -msgid "The ``SendType`` parameter now has a default." -msgstr "" - -#: ../../library/typing.rst:3910 -msgid "Deprecated alias to :class:`collections.abc.AsyncIterable`." -msgstr "" - -#: ../../library/typing.rst:3914 -msgid "" -":class:`collections.abc.AsyncIterable` now supports subscripting (``[]``). " -"See :pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3920 -msgid "Deprecated alias to :class:`collections.abc.AsyncIterator`." -msgstr "" - -#: ../../library/typing.rst:3924 -msgid "" -":class:`collections.abc.AsyncIterator` now supports subscripting (``[]``). " -"See :pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3930 -msgid "Deprecated alias to :class:`collections.abc.Awaitable`." -msgstr "" - -#: ../../library/typing.rst:3934 -msgid "" -":class:`collections.abc.Awaitable` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3941 -msgid "Aliases to other ABCs in :mod:`collections.abc`" -msgstr "" - -#: ../../library/typing.rst:3945 -msgid "Deprecated alias to :class:`collections.abc.Iterable`." -msgstr "" - -#: ../../library/typing.rst:3947 -msgid "" -":class:`collections.abc.Iterable` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3953 -msgid "Deprecated alias to :class:`collections.abc.Iterator`." -msgstr "" - -#: ../../library/typing.rst:3955 -msgid "" -":class:`collections.abc.Iterator` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3961 -msgid "Deprecated alias to :class:`collections.abc.Callable`." -msgstr "" - -#: ../../library/typing.rst:3963 -msgid "" -"See :ref:`annotating-callables` for details on how to use " -":class:`collections.abc.Callable` and ``typing.Callable`` in type " -"annotations." -msgstr "" - -#: ../../library/typing.rst:3966 -msgid "" -":class:`collections.abc.Callable` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3976 -msgid "Deprecated alias to :class:`collections.abc.Generator`." -msgstr "" - -#: ../../library/typing.rst:3978 -msgid "" -"See :ref:`annotating-generators-and-coroutines` for details on using " -":class:`collections.abc.Generator` and ``typing.Generator`` in type " -"annotations." -msgstr "" - -#: ../../library/typing.rst:3982 -msgid "" -":class:`collections.abc.Generator` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:3986 -msgid "Default values for the send and return types were added." -msgstr "" - -#: ../../library/typing.rst:3991 -msgid "Deprecated alias to :class:`collections.abc.Hashable`." -msgstr "" - -#: ../../library/typing.rst:3993 -msgid "Use :class:`collections.abc.Hashable` directly instead." -msgstr "" - -#: ../../library/typing.rst:3998 -msgid "Deprecated alias to :class:`collections.abc.Reversible`." -msgstr "" - -#: ../../library/typing.rst:4000 -msgid "" -":class:`collections.abc.Reversible` now supports subscripting (``[]``). See " -":pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:4006 -msgid "Deprecated alias to :class:`collections.abc.Sized`." -msgstr "" - -#: ../../library/typing.rst:4008 -msgid "Use :class:`collections.abc.Sized` directly instead." -msgstr "" - -#: ../../library/typing.rst:4014 -msgid "Aliases to :mod:`contextlib` ABCs" -msgstr "" - -#: ../../library/typing.rst:4018 -msgid "Deprecated alias to :class:`contextlib.AbstractContextManager`." -msgstr "" - -#: ../../library/typing.rst:4020 -msgid "" -"The first type parameter, ``T_co``, represents the type returned by the " -":meth:`~object.__enter__` method. The optional second type parameter, " -"``ExitT_co``, which defaults to ``bool | None``, represents the type " -"returned by the :meth:`~object.__exit__` method." -msgstr "" - -#: ../../library/typing.rst:4027 -msgid "" -":class:`contextlib.AbstractContextManager` now supports subscripting " -"(``[]``). See :pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:4032 -msgid "Added the optional second type parameter, ``ExitT_co``." -msgstr "" - -#: ../../library/typing.rst:4037 -msgid "Deprecated alias to :class:`contextlib.AbstractAsyncContextManager`." -msgstr "" - -#: ../../library/typing.rst:4039 -msgid "" -"The first type parameter, ``T_co``, represents the type returned by the " -":meth:`~object.__aenter__` method. The optional second type parameter, " -"``AExitT_co``, which defaults to ``bool | None``, represents the type " -"returned by the :meth:`~object.__aexit__` method." -msgstr "" - -#: ../../library/typing.rst:4046 -msgid "" -":class:`contextlib.AbstractAsyncContextManager` now supports subscripting " -"(``[]``). See :pep:`585` and :ref:`types-genericalias`." -msgstr "" - -#: ../../library/typing.rst:4051 -msgid "Added the optional second type parameter, ``AExitT_co``." -msgstr "" - -#: ../../library/typing.rst:4055 -msgid "Deprecation Timeline of Major Features" -msgstr "" - -#: ../../library/typing.rst:4057 -msgid "" -"Certain features in ``typing`` are deprecated and may be removed in a future" -" version of Python. The following table summarizes major deprecations for " -"your convenience. This is subject to change, and not all deprecations are " -"listed." -msgstr "" - -#: ../../library/typing.rst:4064 -msgid "Feature" -msgstr "" - -#: ../../library/typing.rst:4065 -msgid "Deprecated in" -msgstr "" - -#: ../../library/typing.rst:4066 -msgid "Projected removal" -msgstr "" - -#: ../../library/typing.rst:4067 -msgid "PEP/issue" -msgstr "" - -#: ../../library/typing.rst:4068 -msgid "``typing`` versions of standard collections" -msgstr "" - -#: ../../library/typing.rst:4069 -msgid "3.9" -msgstr "" - -#: ../../library/typing.rst:4070 -msgid "Undecided (see :ref:`deprecated-aliases` for more information)" -msgstr "" - -#: ../../library/typing.rst:4071 -msgid ":pep:`585`" -msgstr "" - -#: ../../library/typing.rst:4072 -msgid ":data:`typing.Text`" -msgstr "" - -#: ../../library/typing.rst:4073 -msgid "3.11" -msgstr "" - -#: ../../library/typing.rst:4074 ../../library/typing.rst:4078 -#: ../../library/typing.rst:4082 -msgid "Undecided" -msgstr "" - -#: ../../library/typing.rst:4075 -msgid ":gh:`92332`" -msgstr "" - -#: ../../library/typing.rst:4076 -msgid ":class:`typing.Hashable` and :class:`typing.Sized`" -msgstr "" - -#: ../../library/typing.rst:4077 ../../library/typing.rst:4081 -msgid "3.12" -msgstr "" - -#: ../../library/typing.rst:4079 -msgid ":gh:`94309`" -msgstr "" - -#: ../../library/typing.rst:4080 -msgid ":data:`typing.TypeAlias`" -msgstr "" - -#: ../../library/typing.rst:4083 -msgid ":pep:`695`" -msgstr "" - -#: ../../library/typing.rst:4084 -msgid ":func:`@typing.no_type_check_decorator `" -msgstr "" - -#: ../../library/typing.rst:4085 ../../library/typing.rst:4089 -msgid "3.13" -msgstr "" - -#: ../../library/typing.rst:4086 -msgid "3.15" -msgstr "" - -#: ../../library/typing.rst:4087 -msgid ":gh:`106309`" -msgstr "" - -#: ../../library/typing.rst:4088 -msgid ":data:`typing.AnyStr`" -msgstr "" - -#: ../../library/typing.rst:4090 -msgid "3.18" -msgstr "" - -#: ../../library/typing.rst:4091 -msgid ":gh:`105578`" -msgstr "" diff --git a/python-newest.library--unicodedata/id.po b/python-newest.library--unicodedata/id.po deleted file mode 100644 index 6527170..0000000 --- a/python-newest.library--unicodedata/id.po +++ /dev/null @@ -1,215 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/unicodedata.rst:2 -msgid ":mod:`!unicodedata` --- Unicode Database" -msgstr "" - -#: ../../library/unicodedata.rst:18 -msgid "" -"This module provides access to the Unicode Character Database (UCD) which " -"defines character properties for all Unicode characters. The data contained " -"in this database is compiled from the `UCD version 16.0.0 " -"`_." -msgstr "" - -#: ../../library/unicodedata.rst:23 -msgid "" -"The module uses the same names and symbols as defined by Unicode Standard " -"Annex #44, `\"Unicode Character Database\" " -"`_. It defines the following " -"functions:" -msgstr "" - -#: ../../library/unicodedata.rst:31 -msgid "" -"Look up character by name. If a character with the given name is found, " -"return the corresponding character. If not found, :exc:`KeyError` is " -"raised." -msgstr "" - -#: ../../library/unicodedata.rst:34 -msgid "Support for name aliases [#]_ and named sequences [#]_ has been added." -msgstr "" - -#: ../../library/unicodedata.rst:40 -msgid "" -"Returns the name assigned to the character *chr* as a string. If no name is " -"defined, *default* is returned, or, if not given, :exc:`ValueError` is " -"raised." -msgstr "" - -#: ../../library/unicodedata.rst:47 -msgid "" -"Returns the decimal value assigned to the character *chr* as integer. If no " -"such value is defined, *default* is returned, or, if not given, " -":exc:`ValueError` is raised." -msgstr "" - -#: ../../library/unicodedata.rst:54 -msgid "" -"Returns the digit value assigned to the character *chr* as integer. If no " -"such value is defined, *default* is returned, or, if not given, " -":exc:`ValueError` is raised." -msgstr "" - -#: ../../library/unicodedata.rst:61 -msgid "" -"Returns the numeric value assigned to the character *chr* as float. If no " -"such value is defined, *default* is returned, or, if not given, " -":exc:`ValueError` is raised." -msgstr "" - -#: ../../library/unicodedata.rst:68 -msgid "" -"Returns the general category assigned to the character *chr* as string." -msgstr "" - -#: ../../library/unicodedata.rst:74 -msgid "" -"Returns the bidirectional class assigned to the character *chr* as string. " -"If no such value is defined, an empty string is returned." -msgstr "" - -#: ../../library/unicodedata.rst:80 -msgid "" -"Returns the canonical combining class assigned to the character *chr* as " -"integer. Returns ``0`` if no combining class is defined." -msgstr "" - -#: ../../library/unicodedata.rst:86 -msgid "" -"Returns the east asian width assigned to the character *chr* as string." -msgstr "" - -#: ../../library/unicodedata.rst:92 -msgid "" -"Returns the mirrored property assigned to the character *chr* as integer. " -"Returns ``1`` if the character has been identified as a \"mirrored\" " -"character in bidirectional text, ``0`` otherwise." -msgstr "" - -#: ../../library/unicodedata.rst:99 -msgid "" -"Returns the character decomposition mapping assigned to the character *chr* " -"as string. An empty string is returned in case no such mapping is defined." -msgstr "" - -#: ../../library/unicodedata.rst:106 -msgid "" -"Return the normal form *form* for the Unicode string *unistr*. Valid values " -"for *form* are 'NFC', 'NFKC', 'NFD', and 'NFKD'." -msgstr "" - -#: ../../library/unicodedata.rst:109 -msgid "" -"The Unicode standard defines various normalization forms of a Unicode " -"string, based on the definition of canonical equivalence and compatibility " -"equivalence. In Unicode, several characters can be expressed in various way." -" For example, the character U+00C7 (LATIN CAPITAL LETTER C WITH CEDILLA) can" -" also be expressed as the sequence U+0043 (LATIN CAPITAL LETTER C) U+0327 " -"(COMBINING CEDILLA)." -msgstr "" - -#: ../../library/unicodedata.rst:115 -msgid "" -"For each character, there are two normal forms: normal form C and normal " -"form D. Normal form D (NFD) is also known as canonical decomposition, and " -"translates each character into its decomposed form. Normal form C (NFC) " -"first applies a canonical decomposition, then composes pre-combined " -"characters again." -msgstr "" - -#: ../../library/unicodedata.rst:120 -msgid "" -"In addition to these two forms, there are two additional normal forms based " -"on compatibility equivalence. In Unicode, certain characters are supported " -"which normally would be unified with other characters. For example, U+2160 " -"(ROMAN NUMERAL ONE) is really the same thing as U+0049 (LATIN CAPITAL LETTER" -" I). However, it is supported in Unicode for compatibility with existing " -"character sets (e.g. gb2312)." -msgstr "" - -#: ../../library/unicodedata.rst:127 -msgid "" -"The normal form KD (NFKD) will apply the compatibility decomposition, i.e. " -"replace all compatibility characters with their equivalents. The normal form" -" KC (NFKC) first applies the compatibility decomposition, followed by the " -"canonical composition." -msgstr "" - -#: ../../library/unicodedata.rst:132 -msgid "" -"Even if two unicode strings are normalized and look the same to a human " -"reader, if one has combining characters and the other doesn't, they may not " -"compare equal." -msgstr "" - -#: ../../library/unicodedata.rst:138 -msgid "" -"Return whether the Unicode string *unistr* is in the normal form *form*. " -"Valid values for *form* are 'NFC', 'NFKC', 'NFD', and 'NFKD'." -msgstr "" - -#: ../../library/unicodedata.rst:144 -msgid "In addition, the module exposes the following constant:" -msgstr "" - -#: ../../library/unicodedata.rst:148 -msgid "The version of the Unicode database used in this module." -msgstr "" - -#: ../../library/unicodedata.rst:153 -msgid "" -"This is an object that has the same methods as the entire module, but uses " -"the Unicode database version 3.2 instead, for applications that require this" -" specific version of the Unicode database (such as IDNA)." -msgstr "" - -#: ../../library/unicodedata.rst:157 -msgid "Examples:" -msgstr "Contoh-contoh:" - -#: ../../library/unicodedata.rst:177 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/unicodedata.rst:178 -msgid "https://www.unicode.org/Public/16.0.0/ucd/NameAliases.txt" -msgstr "" - -#: ../../library/unicodedata.rst:180 -msgid "https://www.unicode.org/Public/16.0.0/ucd/NamedSequences.txt" -msgstr "" - -#: ../../library/unicodedata.rst:11 -msgid "Unicode" -msgstr "" - -#: ../../library/unicodedata.rst:11 -msgid "character" -msgstr "" - -#: ../../library/unicodedata.rst:11 -msgid "database" -msgstr "" diff --git a/python-newest.library--unittest/id.po b/python-newest.library--unittest/id.po deleted file mode 100644 index 21e1da9..0000000 --- a/python-newest.library--unittest/id.po +++ /dev/null @@ -1,3564 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/unittest.rst:2 -msgid ":mod:`!unittest` --- Unit testing framework" -msgstr "" - -#: ../../library/unittest.rst:12 -msgid "**Source code:** :source:`Lib/unittest/__init__.py`" -msgstr "" - -#: ../../library/unittest.rst:16 -msgid "" -"(If you are already familiar with the basic concepts of testing, you might " -"want to skip to :ref:`the list of assert methods `.)" -msgstr "" - -#: ../../library/unittest.rst:19 -msgid "" -"The :mod:`unittest` unit testing framework was originally inspired by JUnit " -"and has a similar flavor as major unit testing frameworks in other " -"languages. It supports test automation, sharing of setup and shutdown code " -"for tests, aggregation of tests into collections, and independence of the " -"tests from the reporting framework." -msgstr "" - -#: ../../library/unittest.rst:25 -msgid "" -"To achieve this, :mod:`unittest` supports some important concepts in an " -"object-oriented way:" -msgstr "" - -#: ../../library/unittest.rst:28 -msgid "test fixture" -msgstr "" - -#: ../../library/unittest.rst:29 -msgid "" -"A :dfn:`test fixture` represents the preparation needed to perform one or " -"more tests, and any associated cleanup actions. This may involve, for " -"example, creating temporary or proxy databases, directories, or starting a " -"server process." -msgstr "" - -#: ../../library/unittest.rst:34 -msgid "test case" -msgstr "" - -#: ../../library/unittest.rst:35 -msgid "" -"A :dfn:`test case` is the individual unit of testing. It checks for a " -"specific response to a particular set of inputs. :mod:`unittest` provides a" -" base class, :class:`TestCase`, which may be used to create new test cases." -msgstr "" - -#: ../../library/unittest.rst:39 -msgid "test suite" -msgstr "" - -#: ../../library/unittest.rst:40 -msgid "" -"A :dfn:`test suite` is a collection of test cases, test suites, or both. It" -" is used to aggregate tests that should be executed together." -msgstr "" - -#: ../../library/unittest.rst:43 -msgid "test runner" -msgstr "" - -#: ../../library/unittest.rst:44 -msgid "" -"A :dfn:`test runner` is a component which orchestrates the execution of " -"tests and provides the outcome to the user. The runner may use a graphical " -"interface, a textual interface, or return a special value to indicate the " -"results of executing the tests." -msgstr "" - -#: ../../library/unittest.rst:51 -msgid "Module :mod:`doctest`" -msgstr "Modul :mod:`doctest`" - -#: ../../library/unittest.rst:52 -msgid "Another test-support module with a very different flavor." -msgstr "" - -#: ../../library/unittest.rst:54 -msgid "" -"`Simple Smalltalk Testing: With Patterns " -"`_" -msgstr "" - -#: ../../library/unittest.rst:55 -msgid "" -"Kent Beck's original paper on testing frameworks using the pattern shared by" -" :mod:`unittest`." -msgstr "" - -#: ../../library/unittest.rst:58 -msgid "`pytest `_" -msgstr "" - -#: ../../library/unittest.rst:59 -msgid "" -"Third-party unittest framework with a lighter-weight syntax for writing " -"tests. For example, ``assert func(10) == 42``." -msgstr "" - -#: ../../library/unittest.rst:62 -msgid "" -"`The Python Testing Tools Taxonomy " -"`_" -msgstr "" - -#: ../../library/unittest.rst:63 -msgid "" -"An extensive list of Python testing tools including functional testing " -"frameworks and mock object libraries." -msgstr "" - -#: ../../library/unittest.rst:66 -msgid "" -"`Testing in Python Mailing List `_" -msgstr "" - -#: ../../library/unittest.rst:67 -msgid "" -"A special-interest-group for discussion of testing, and testing tools, in " -"Python." -msgstr "" - -#: ../../library/unittest.rst:70 -msgid "" -"The script :file:`Tools/unittestgui/unittestgui.py` in the Python source " -"distribution is a GUI tool for test discovery and execution. This is " -"intended largely for ease of use for those new to unit testing. For " -"production environments it is recommended that tests be driven by a " -"continuous integration system such as `Buildbot `_, " -"`Jenkins `_, `GitHub Actions " -"`_, or `AppVeyor " -"`_." -msgstr "" - -#: ../../library/unittest.rst:82 -msgid "Basic example" -msgstr "Contoh dasar" - -#: ../../library/unittest.rst:84 -msgid "" -"The :mod:`unittest` module provides a rich set of tools for constructing and" -" running tests. This section demonstrates that a small subset of the tools " -"suffice to meet the needs of most users." -msgstr "" - -#: ../../library/unittest.rst:88 -msgid "Here is a short script to test three string methods::" -msgstr "" - -#: ../../library/unittest.rst:90 -msgid "" -"import unittest\n" -"\n" -"class TestStringMethods(unittest.TestCase):\n" -"\n" -" def test_upper(self):\n" -" self.assertEqual('foo'.upper(), 'FOO')\n" -"\n" -" def test_isupper(self):\n" -" self.assertTrue('FOO'.isupper())\n" -" self.assertFalse('Foo'.isupper())\n" -"\n" -" def test_split(self):\n" -" s = 'hello world'\n" -" self.assertEqual(s.split(), ['hello', 'world'])\n" -" # check that s.split fails when the separator is not a string\n" -" with self.assertRaises(TypeError):\n" -" s.split(2)\n" -"\n" -"if __name__ == '__main__':\n" -" unittest.main()" -msgstr "" - -#: ../../library/unittest.rst:112 -msgid "" -"A testcase is created by subclassing :class:`unittest.TestCase`. The three " -"individual tests are defined with methods whose names start with the letters" -" ``test``. This naming convention informs the test runner about which " -"methods represent tests." -msgstr "" - -#: ../../library/unittest.rst:117 -msgid "" -"The crux of each test is a call to :meth:`~TestCase.assertEqual` to check " -"for an expected result; :meth:`~TestCase.assertTrue` or " -":meth:`~TestCase.assertFalse` to verify a condition; or " -":meth:`~TestCase.assertRaises` to verify that a specific exception gets " -"raised. These methods are used instead of the :keyword:`assert` statement " -"so the test runner can accumulate all test results and produce a report." -msgstr "" - -#: ../../library/unittest.rst:124 -msgid "" -"The :meth:`~TestCase.setUp` and :meth:`~TestCase.tearDown` methods allow you" -" to define instructions that will be executed before and after each test " -"method. They are covered in more detail in the section :ref:`organizing-" -"tests`." -msgstr "" - -#: ../../library/unittest.rst:128 -msgid "" -"The final block shows a simple way to run the tests. :func:`unittest.main` " -"provides a command-line interface to the test script. When run from the " -"command line, the above script produces an output that looks like this::" -msgstr "" - -#: ../../library/unittest.rst:132 -msgid "" -"...\n" -"----------------------------------------------------------------------\n" -"Ran 3 tests in 0.000s\n" -"\n" -"OK" -msgstr "" - -#: ../../library/unittest.rst:138 -msgid "" -"Passing the ``-v`` option to your test script will instruct " -":func:`unittest.main` to enable a higher level of verbosity, and produce the" -" following output::" -msgstr "" - -#: ../../library/unittest.rst:141 -msgid "" -"test_isupper (__main__.TestStringMethods.test_isupper) ... ok\n" -"test_split (__main__.TestStringMethods.test_split) ... ok\n" -"test_upper (__main__.TestStringMethods.test_upper) ... ok\n" -"\n" -"----------------------------------------------------------------------\n" -"Ran 3 tests in 0.001s\n" -"\n" -"OK" -msgstr "" - -#: ../../library/unittest.rst:150 -msgid "" -"The above examples show the most commonly used :mod:`unittest` features " -"which are sufficient to meet many everyday testing needs. The remainder of " -"the documentation explores the full feature set from first principles." -msgstr "" - -#: ../../library/unittest.rst:154 -msgid "" -"The behavior of returning a value from a test method (other than the default" -" ``None`` value), is now deprecated." -msgstr "" - -#: ../../library/unittest.rst:162 -msgid "Command-Line Interface" -msgstr "" - -#: ../../library/unittest.rst:164 -msgid "" -"The unittest module can be used from the command line to run tests from " -"modules, classes or even individual test methods::" -msgstr "" - -#: ../../library/unittest.rst:167 -msgid "" -"python -m unittest test_module1 test_module2\n" -"python -m unittest test_module.TestClass\n" -"python -m unittest test_module.TestClass.test_method" -msgstr "" - -#: ../../library/unittest.rst:171 -msgid "" -"You can pass in a list with any combination of module names, and fully " -"qualified class or method names." -msgstr "" - -#: ../../library/unittest.rst:174 -msgid "Test modules can be specified by file path as well::" -msgstr "" - -#: ../../library/unittest.rst:176 -msgid "python -m unittest tests/test_something.py" -msgstr "" - -#: ../../library/unittest.rst:178 -msgid "" -"This allows you to use the shell filename completion to specify the test " -"module. The file specified must still be importable as a module. The path is" -" converted to a module name by removing the '.py' and converting path " -"separators into '.'. If you want to execute a test file that isn't " -"importable as a module you should execute the file directly instead." -msgstr "" - -#: ../../library/unittest.rst:184 -msgid "" -"You can run tests with more detail (higher verbosity) by passing in the -v " -"flag::" -msgstr "" - -#: ../../library/unittest.rst:186 -msgid "python -m unittest -v test_module" -msgstr "" - -#: ../../library/unittest.rst:188 -msgid "" -"When executed without arguments :ref:`unittest-test-discovery` is started::" -msgstr "" - -#: ../../library/unittest.rst:190 -msgid "python -m unittest" -msgstr "" - -#: ../../library/unittest.rst:192 -msgid "For a list of all the command-line options::" -msgstr "" - -#: ../../library/unittest.rst:194 -msgid "python -m unittest -h" -msgstr "" - -#: ../../library/unittest.rst:196 -msgid "" -"In earlier versions it was only possible to run individual test methods and " -"not modules or classes." -msgstr "" - -#: ../../library/unittest.rst:200 -msgid "" -"Output is colorized by default and can be :ref:`controlled using environment" -" variables `." -msgstr "" - -#: ../../library/unittest.rst:205 -msgid "Command-line options" -msgstr "" - -#: ../../library/unittest.rst:207 -msgid ":program:`unittest` supports these command-line options:" -msgstr "" - -#: ../../library/unittest.rst:213 -msgid "" -"The standard output and standard error streams are buffered during the test " -"run. Output during a passing test is discarded. Output is echoed normally on" -" test fail or error and is added to the failure messages." -msgstr "" - -#: ../../library/unittest.rst:219 -msgid "" -":kbd:`Control-C` during the test run waits for the current test to end and " -"then reports all the results so far. A second :kbd:`Control-C` raises the " -"normal :exc:`KeyboardInterrupt` exception." -msgstr "" - -#: ../../library/unittest.rst:223 -msgid "" -"See `Signal Handling`_ for the functions that provide this functionality." -msgstr "" - -#: ../../library/unittest.rst:227 -msgid "Stop the test run on the first error or failure." -msgstr "" - -#: ../../library/unittest.rst:231 -msgid "" -"Only run test methods and classes that match the pattern or substring. This " -"option may be used multiple times, in which case all test cases that match " -"any of the given patterns are included." -msgstr "" - -#: ../../library/unittest.rst:235 -msgid "" -"Patterns that contain a wildcard character (``*``) are matched against the " -"test name using :meth:`fnmatch.fnmatchcase`; otherwise simple case-sensitive" -" substring matching is used." -msgstr "" - -#: ../../library/unittest.rst:239 -msgid "" -"Patterns are matched against the fully qualified test method name as " -"imported by the test loader." -msgstr "" - -#: ../../library/unittest.rst:242 -msgid "" -"For example, ``-k foo`` matches ``foo_tests.SomeTest.test_something``, " -"``bar_tests.SomeTest.test_foo``, but not " -"``bar_tests.FooTest.test_something``." -msgstr "" - -#: ../../library/unittest.rst:247 -msgid "Show local variables in tracebacks." -msgstr "" - -#: ../../library/unittest.rst:251 -msgid "Show the N slowest test cases (N=0 for all)." -msgstr "" - -#: ../../library/unittest.rst:253 -msgid "The command-line options ``-b``, ``-c`` and ``-f`` were added." -msgstr "" - -#: ../../library/unittest.rst:256 -msgid "The command-line option ``--locals``." -msgstr "" - -#: ../../library/unittest.rst:259 -msgid "The command-line option ``-k``." -msgstr "" - -#: ../../library/unittest.rst:262 -msgid "The command-line option ``--durations``." -msgstr "" - -#: ../../library/unittest.rst:265 -msgid "" -"The command line can also be used for test discovery, for running all of the" -" tests in a project or just a subset." -msgstr "" - -#: ../../library/unittest.rst:271 -msgid "Test Discovery" -msgstr "" - -#: ../../library/unittest.rst:275 -msgid "" -"Unittest supports simple test discovery. In order to be compatible with test" -" discovery, all of the test files must be :ref:`modules ` or " -":ref:`packages ` importable from the top-level directory of " -"the project (this means that their filenames must be valid :ref:`identifiers" -" `)." -msgstr "" - -#: ../../library/unittest.rst:281 -msgid "" -"Test discovery is implemented in :meth:`TestLoader.discover`, but can also " -"be used from the command line. The basic command-line usage is::" -msgstr "" - -#: ../../library/unittest.rst:284 -msgid "" -"cd project_directory\n" -"python -m unittest discover" -msgstr "" - -#: ../../library/unittest.rst:289 -msgid "" -"As a shortcut, ``python -m unittest`` is the equivalent of ``python -m " -"unittest discover``. If you want to pass arguments to test discovery the " -"``discover`` sub-command must be used explicitly." -msgstr "" - -#: ../../library/unittest.rst:293 -msgid "The ``discover`` sub-command has the following options:" -msgstr "" - -#: ../../library/unittest.rst:299 -msgid "Verbose output" -msgstr "" - -#: ../../library/unittest.rst:303 -msgid "Directory to start discovery (``.`` default)" -msgstr "" - -#: ../../library/unittest.rst:307 -msgid "Pattern to match test files (``test*.py`` default)" -msgstr "" - -#: ../../library/unittest.rst:311 -msgid "Top level directory of project (defaults to start directory)" -msgstr "" - -#: ../../library/unittest.rst:313 -msgid "" -"The :option:`-s`, :option:`-p`, and :option:`-t` options can be passed in as" -" positional arguments in that order. The following two command lines are " -"equivalent::" -msgstr "" - -#: ../../library/unittest.rst:317 -msgid "" -"python -m unittest discover -s project_directory -p \"*_test.py\"\n" -"python -m unittest discover project_directory \"*_test.py\"" -msgstr "" - -#: ../../library/unittest.rst:320 -msgid "" -"As well as being a path it is possible to pass a package name, for example " -"``myproject.subpackage.test``, as the start directory. The package name you " -"supply will then be imported and its location on the filesystem will be used" -" as the start directory." -msgstr "" - -#: ../../library/unittest.rst:327 -msgid "" -"Test discovery loads tests by importing them. Once test discovery has found " -"all the test files from the start directory you specify it turns the paths " -"into package names to import. For example :file:`foo/bar/baz.py` will be " -"imported as ``foo.bar.baz``." -msgstr "" - -#: ../../library/unittest.rst:332 -msgid "" -"If you have a package installed globally and attempt test discovery on a " -"different copy of the package then the import *could* happen from the wrong " -"place. If this happens test discovery will warn you and exit." -msgstr "" - -#: ../../library/unittest.rst:336 -msgid "" -"If you supply the start directory as a package name rather than a path to a " -"directory then discover assumes that whichever location it imports from is " -"the location you intended, so you will not get the warning." -msgstr "" - -#: ../../library/unittest.rst:341 -msgid "" -"Test modules and packages can customize test loading and discovery by " -"through the `load_tests protocol`_." -msgstr "" - -#: ../../library/unittest.rst:344 -msgid "" -"Test discovery supports :term:`namespace packages `." -msgstr "" - -#: ../../library/unittest.rst:347 -msgid "" -"Test discovery dropped the :term:`namespace packages ` " -"support. It has been broken since Python 3.7. Start directory and its " -"subdirectories containing tests must be regular package that have " -"``__init__.py`` file." -msgstr "" - -#: ../../library/unittest.rst:353 -msgid "" -"If the start directory is the dotted name of the package, the ancestor " -"packages can be namespace packages." -msgstr "" - -#: ../../library/unittest.rst:356 -msgid "" -"Test discovery supports :term:`namespace package` as start directory again. " -"To avoid scanning directories unrelated to Python, tests are not searched in" -" subdirectories that do not contain ``__init__.py``." -msgstr "" - -#: ../../library/unittest.rst:365 -msgid "Organizing test code" -msgstr "" - -#: ../../library/unittest.rst:367 -msgid "" -"The basic building blocks of unit testing are :dfn:`test cases` --- single " -"scenarios that must be set up and checked for correctness. In " -":mod:`unittest`, test cases are represented by :class:`unittest.TestCase` " -"instances. To make your own test cases you must write subclasses of " -":class:`TestCase` or use :class:`FunctionTestCase`." -msgstr "" - -#: ../../library/unittest.rst:373 -msgid "" -"The testing code of a :class:`TestCase` instance should be entirely self " -"contained, such that it can be run either in isolation or in arbitrary " -"combination with any number of other test cases." -msgstr "" - -#: ../../library/unittest.rst:377 -msgid "" -"The simplest :class:`TestCase` subclass will simply implement a test method " -"(i.e. a method whose name starts with ``test``) in order to perform specific" -" testing code::" -msgstr "" - -#: ../../library/unittest.rst:381 -msgid "" -"import unittest\n" -"\n" -"class DefaultWidgetSizeTestCase(unittest.TestCase):\n" -" def test_default_widget_size(self):\n" -" widget = Widget('The widget')\n" -" self.assertEqual(widget.size(), (50, 50))" -msgstr "" - -#: ../../library/unittest.rst:388 -msgid "" -"Note that in order to test something, we use one of the :ref:`assert\\* " -"methods ` provided by the :class:`TestCase` base class. If " -"the test fails, an exception will be raised with an explanatory message, and" -" :mod:`unittest` will identify the test case as a :dfn:`failure`. Any other" -" exceptions will be treated as :dfn:`errors`." -msgstr "" - -#: ../../library/unittest.rst:394 -msgid "" -"Tests can be numerous, and their set-up can be repetitive. Luckily, we can " -"factor out set-up code by implementing a method called " -":meth:`~TestCase.setUp`, which the testing framework will automatically call" -" for every single test we run::" -msgstr "" - -#: ../../library/unittest.rst:399 -msgid "" -"import unittest\n" -"\n" -"class WidgetTestCase(unittest.TestCase):\n" -" def setUp(self):\n" -" self.widget = Widget('The widget')\n" -"\n" -" def test_default_widget_size(self):\n" -" self.assertEqual(self.widget.size(), (50,50),\n" -" 'incorrect default size')\n" -"\n" -" def test_widget_resize(self):\n" -" self.widget.resize(100,150)\n" -" self.assertEqual(self.widget.size(), (100,150),\n" -" 'wrong size after resize')" -msgstr "" - -#: ../../library/unittest.rst:415 -msgid "" -"The order in which the various tests will be run is determined by sorting " -"the test method names with respect to the built-in ordering for strings." -msgstr "" - -#: ../../library/unittest.rst:419 -msgid "" -"If the :meth:`~TestCase.setUp` method raises an exception while the test is " -"running, the framework will consider the test to have suffered an error, and" -" the test method will not be executed." -msgstr "" - -#: ../../library/unittest.rst:423 -msgid "" -"Similarly, we can provide a :meth:`~TestCase.tearDown` method that tidies up" -" after the test method has been run::" -msgstr "" - -#: ../../library/unittest.rst:426 -msgid "" -"import unittest\n" -"\n" -"class WidgetTestCase(unittest.TestCase):\n" -" def setUp(self):\n" -" self.widget = Widget('The widget')\n" -"\n" -" def tearDown(self):\n" -" self.widget.dispose()" -msgstr "" - -#: ../../library/unittest.rst:435 -msgid "" -"If :meth:`~TestCase.setUp` succeeded, :meth:`~TestCase.tearDown` will be run" -" whether the test method succeeded or not." -msgstr "" - -#: ../../library/unittest.rst:438 -msgid "" -"Such a working environment for the testing code is called a :dfn:`test " -"fixture`. A new TestCase instance is created as a unique test fixture used " -"to execute each individual test method. Thus :meth:`~TestCase.setUp`, " -":meth:`~TestCase.tearDown`, and :meth:`~TestCase.__init__` will be called " -"once per test." -msgstr "" - -#: ../../library/unittest.rst:444 -msgid "" -"It is recommended that you use TestCase implementations to group tests " -"together according to the features they test. :mod:`unittest` provides a " -"mechanism for this: the :dfn:`test suite`, represented by :mod:`unittest`'s " -":class:`TestSuite` class. In most cases, calling :func:`unittest.main` will" -" do the right thing and collect all the module's test cases for you and " -"execute them." -msgstr "" - -#: ../../library/unittest.rst:451 -msgid "" -"However, should you want to customize the building of your test suite, you " -"can do it yourself::" -msgstr "" - -#: ../../library/unittest.rst:454 -msgid "" -"def suite():\n" -" suite = unittest.TestSuite()\n" -" suite.addTest(WidgetTestCase('test_default_widget_size'))\n" -" suite.addTest(WidgetTestCase('test_widget_resize'))\n" -" return suite\n" -"\n" -"if __name__ == '__main__':\n" -" runner = unittest.TextTestRunner()\n" -" runner.run(suite())" -msgstr "" - -#: ../../library/unittest.rst:464 -msgid "" -"You can place the definitions of test cases and test suites in the same " -"modules as the code they are to test (such as :file:`widget.py`), but there " -"are several advantages to placing the test code in a separate module, such " -"as :file:`test_widget.py`:" -msgstr "" - -#: ../../library/unittest.rst:469 -msgid "The test module can be run standalone from the command line." -msgstr "" - -#: ../../library/unittest.rst:471 -msgid "The test code can more easily be separated from shipped code." -msgstr "" - -#: ../../library/unittest.rst:473 -msgid "" -"There is less temptation to change test code to fit the code it tests " -"without a good reason." -msgstr "" - -#: ../../library/unittest.rst:476 -msgid "" -"Test code should be modified much less frequently than the code it tests." -msgstr "" - -#: ../../library/unittest.rst:478 -msgid "Tested code can be refactored more easily." -msgstr "" - -#: ../../library/unittest.rst:480 -msgid "" -"Tests for modules written in C must be in separate modules anyway, so why " -"not be consistent?" -msgstr "" - -#: ../../library/unittest.rst:483 -msgid "" -"If the testing strategy changes, there is no need to change the source code." -msgstr "" - -#: ../../library/unittest.rst:489 -msgid "Re-using old test code" -msgstr "" - -#: ../../library/unittest.rst:491 -msgid "" -"Some users will find that they have existing test code that they would like " -"to run from :mod:`unittest`, without converting every old test function to a" -" :class:`TestCase` subclass." -msgstr "" - -#: ../../library/unittest.rst:495 -msgid "" -"For this reason, :mod:`unittest` provides a :class:`FunctionTestCase` class." -" This subclass of :class:`TestCase` can be used to wrap an existing test " -"function. Set-up and tear-down functions can also be provided." -msgstr "" - -#: ../../library/unittest.rst:499 -msgid "Given the following test function::" -msgstr "" - -#: ../../library/unittest.rst:501 -msgid "" -"def testSomething():\n" -" something = makeSomething()\n" -" assert something.name is not None\n" -" # ..." -msgstr "" - -#: ../../library/unittest.rst:506 -msgid "" -"one can create an equivalent test case instance as follows, with optional " -"set-up and tear-down methods::" -msgstr "" - -#: ../../library/unittest.rst:509 -msgid "" -"testcase = unittest.FunctionTestCase(testSomething,\n" -" setUp=makeSomethingDB,\n" -" tearDown=deleteSomethingDB)" -msgstr "" - -#: ../../library/unittest.rst:515 -msgid "" -"Even though :class:`FunctionTestCase` can be used to quickly convert an " -"existing test base over to a :mod:`unittest`\\ -based system, this approach " -"is not recommended. Taking the time to set up proper :class:`TestCase` " -"subclasses will make future test refactorings infinitely easier." -msgstr "" - -#: ../../library/unittest.rst:520 -msgid "" -"In some cases, the existing tests may have been written using the " -":mod:`doctest` module. If so, :mod:`doctest` provides a " -":class:`DocTestSuite` class that can automatically build " -":class:`unittest.TestSuite` instances from the existing :mod:`doctest`\\ " -"-based tests." -msgstr "" - -#: ../../library/unittest.rst:529 -msgid "Skipping tests and expected failures" -msgstr "" - -#: ../../library/unittest.rst:533 -msgid "" -"Unittest supports skipping individual test methods and even whole classes of" -" tests. In addition, it supports marking a test as an \"expected failure,\"" -" a test that is broken and will fail, but shouldn't be counted as a failure " -"on a :class:`TestResult`." -msgstr "" - -#: ../../library/unittest.rst:538 -msgid "" -"Skipping a test is simply a matter of using the :func:`skip` " -":term:`decorator` or one of its conditional variants, calling " -":meth:`TestCase.skipTest` within a :meth:`~TestCase.setUp` or test method, " -"or raising :exc:`SkipTest` directly." -msgstr "" - -#: ../../library/unittest.rst:542 -msgid "Basic skipping looks like this::" -msgstr "" - -#: ../../library/unittest.rst:544 -msgid "" -"class MyTestCase(unittest.TestCase):\n" -"\n" -" @unittest.skip(\"demonstrating skipping\")\n" -" def test_nothing(self):\n" -" self.fail(\"shouldn't happen\")\n" -"\n" -" @unittest.skipIf(mylib.__version__ < (1, 3),\n" -" \"not supported in this library version\")\n" -" def test_format(self):\n" -" # Tests that work for only a certain version of the library.\n" -" pass\n" -"\n" -" @unittest.skipUnless(sys.platform.startswith(\"win\"), \"requires Windows\")\n" -" def test_windows_support(self):\n" -" # windows specific testing code\n" -" pass\n" -"\n" -" def test_maybe_skipped(self):\n" -" if not external_resource_available():\n" -" self.skipTest(\"external resource not available\")\n" -" # test code that depends on the external resource\n" -" pass" -msgstr "" - -#: ../../library/unittest.rst:567 -msgid "This is the output of running the example above in verbose mode::" -msgstr "" - -#: ../../library/unittest.rst:569 -msgid "" -"test_format (__main__.MyTestCase.test_format) ... skipped 'not supported in this library version'\n" -"test_nothing (__main__.MyTestCase.test_nothing) ... skipped 'demonstrating skipping'\n" -"test_maybe_skipped (__main__.MyTestCase.test_maybe_skipped) ... skipped 'external resource not available'\n" -"test_windows_support (__main__.MyTestCase.test_windows_support) ... skipped 'requires Windows'\n" -"\n" -"----------------------------------------------------------------------\n" -"Ran 4 tests in 0.005s\n" -"\n" -"OK (skipped=4)" -msgstr "" - -#: ../../library/unittest.rst:579 -msgid "Classes can be skipped just like methods::" -msgstr "" - -#: ../../library/unittest.rst:581 -msgid "" -"@unittest.skip(\"showing class skipping\")\n" -"class MySkippedTestCase(unittest.TestCase):\n" -" def test_not_run(self):\n" -" pass" -msgstr "" - -#: ../../library/unittest.rst:586 -msgid "" -":meth:`TestCase.setUp` can also skip the test. This is useful when a " -"resource that needs to be set up is not available." -msgstr "" - -#: ../../library/unittest.rst:589 -msgid "Expected failures use the :func:`expectedFailure` decorator. ::" -msgstr "" - -#: ../../library/unittest.rst:591 -msgid "" -"class ExpectedFailureTestCase(unittest.TestCase):\n" -" @unittest.expectedFailure\n" -" def test_fail(self):\n" -" self.assertEqual(1, 0, \"broken\")" -msgstr "" - -#: ../../library/unittest.rst:596 -msgid "" -"It's easy to roll your own skipping decorators by making a decorator that " -"calls :func:`skip` on the test when it wants it to be skipped. This " -"decorator skips the test unless the passed object has a certain attribute::" -msgstr "" - -#: ../../library/unittest.rst:600 -msgid "" -"def skipUnlessHasattr(obj, attr):\n" -" if hasattr(obj, attr):\n" -" return lambda func: func\n" -" return unittest.skip(\"{!r} doesn't have {!r}\".format(obj, attr))" -msgstr "" - -#: ../../library/unittest.rst:605 -msgid "" -"The following decorators and exception implement test skipping and expected " -"failures:" -msgstr "" - -#: ../../library/unittest.rst:609 -msgid "" -"Unconditionally skip the decorated test. *reason* should describe why the " -"test is being skipped." -msgstr "" - -#: ../../library/unittest.rst:614 -msgid "Skip the decorated test if *condition* is true." -msgstr "" - -#: ../../library/unittest.rst:618 -msgid "Skip the decorated test unless *condition* is true." -msgstr "" - -#: ../../library/unittest.rst:622 -msgid "" -"Mark the test as an expected failure or error. If the test fails or errors " -"in the test function itself (rather than in one of the :dfn:`test fixture` " -"methods) then it will be considered a success. If the test passes, it will " -"be considered a failure." -msgstr "" - -#: ../../library/unittest.rst:629 -msgid "This exception is raised to skip a test." -msgstr "" - -#: ../../library/unittest.rst:631 -msgid "" -"Usually you can use :meth:`TestCase.skipTest` or one of the skipping " -"decorators instead of raising this directly." -msgstr "" - -#: ../../library/unittest.rst:634 -msgid "" -"Skipped tests will not have :meth:`~TestCase.setUp` or " -":meth:`~TestCase.tearDown` run around them. Skipped classes will not have " -":meth:`~TestCase.setUpClass` or :meth:`~TestCase.tearDownClass` run. Skipped" -" modules will not have :func:`setUpModule` or :func:`tearDownModule` run." -msgstr "" - -#: ../../library/unittest.rst:642 -msgid "Distinguishing test iterations using subtests" -msgstr "" - -#: ../../library/unittest.rst:646 -msgid "" -"When there are very small differences among your tests, for instance some " -"parameters, unittest allows you to distinguish them inside the body of a " -"test method using the :meth:`~TestCase.subTest` context manager." -msgstr "" - -#: ../../library/unittest.rst:650 -msgid "For example, the following test::" -msgstr "" - -#: ../../library/unittest.rst:652 -msgid "" -"class NumbersTest(unittest.TestCase):\n" -"\n" -" def test_even(self):\n" -" \"\"\"\n" -" Test that numbers between 0 and 5 are all even.\n" -" \"\"\"\n" -" for i in range(0, 6):\n" -" with self.subTest(i=i):\n" -" self.assertEqual(i % 2, 0)" -msgstr "" - -#: ../../library/unittest.rst:662 -msgid "will produce the following output::" -msgstr "" - -#: ../../library/unittest.rst:664 -msgid "" -"======================================================================\n" -"FAIL: test_even (__main__.NumbersTest.test_even) (i=1)\n" -"Test that numbers between 0 and 5 are all even.\n" -"----------------------------------------------------------------------\n" -"Traceback (most recent call last):\n" -" File \"subtests.py\", line 11, in test_even\n" -" self.assertEqual(i % 2, 0)\n" -" ^^^^^^^^^^^^^^^^^^^^^^^^^^\n" -"AssertionError: 1 != 0\n" -"\n" -"======================================================================\n" -"FAIL: test_even (__main__.NumbersTest.test_even) (i=3)\n" -"Test that numbers between 0 and 5 are all even.\n" -"----------------------------------------------------------------------\n" -"Traceback (most recent call last):\n" -" File \"subtests.py\", line 11, in test_even\n" -" self.assertEqual(i % 2, 0)\n" -" ^^^^^^^^^^^^^^^^^^^^^^^^^^\n" -"AssertionError: 1 != 0\n" -"\n" -"======================================================================\n" -"FAIL: test_even (__main__.NumbersTest.test_even) (i=5)\n" -"Test that numbers between 0 and 5 are all even.\n" -"----------------------------------------------------------------------\n" -"Traceback (most recent call last):\n" -" File \"subtests.py\", line 11, in test_even\n" -" self.assertEqual(i % 2, 0)\n" -" ^^^^^^^^^^^^^^^^^^^^^^^^^^\n" -"AssertionError: 1 != 0" -msgstr "" - -#: ../../library/unittest.rst:694 -msgid "" -"Without using a subtest, execution would stop after the first failure, and " -"the error would be less easy to diagnose because the value of ``i`` wouldn't" -" be displayed::" -msgstr "" - -#: ../../library/unittest.rst:698 -msgid "" -"======================================================================\n" -"FAIL: test_even (__main__.NumbersTest.test_even)\n" -"----------------------------------------------------------------------\n" -"Traceback (most recent call last):\n" -" File \"subtests.py\", line 32, in test_even\n" -" self.assertEqual(i % 2, 0)\n" -"AssertionError: 1 != 0" -msgstr "" - -#: ../../library/unittest.rst:710 -msgid "Classes and functions" -msgstr "" - -#: ../../library/unittest.rst:712 -msgid "This section describes in depth the API of :mod:`unittest`." -msgstr "" - -#: ../../library/unittest.rst:718 -msgid "Test cases" -msgstr "Kasus pengujian" - -#: ../../library/unittest.rst:722 -msgid "" -"Instances of the :class:`TestCase` class represent the logical test units in" -" the :mod:`unittest` universe. This class is intended to be used as a base " -"class, with specific tests being implemented by concrete subclasses. This " -"class implements the interface needed by the test runner to allow it to " -"drive the tests, and methods that the test code can use to check for and " -"report various kinds of failure." -msgstr "" - -#: ../../library/unittest.rst:729 -msgid "" -"Each instance of :class:`TestCase` will run a single base method: the method" -" named *methodName*. In most uses of :class:`TestCase`, you will neither " -"change the *methodName* nor reimplement the default ``runTest()`` method." -msgstr "" - -#: ../../library/unittest.rst:734 -msgid "" -":class:`TestCase` can be instantiated successfully without providing a " -"*methodName*. This makes it easier to experiment with :class:`TestCase` from" -" the interactive interpreter." -msgstr "" - -#: ../../library/unittest.rst:739 -msgid "" -":class:`TestCase` instances provide three groups of methods: one group used " -"to run the test, another used by the test implementation to check conditions" -" and report failures, and some inquiry methods allowing information about " -"the test itself to be gathered." -msgstr "" - -#: ../../library/unittest.rst:744 -msgid "Methods in the first group (running the test) are:" -msgstr "" - -#: ../../library/unittest.rst:748 -msgid "" -"Method called to prepare the test fixture. This is called immediately " -"before calling the test method; other than :exc:`AssertionError` or " -":exc:`SkipTest`, any exception raised by this method will be considered an " -"error rather than a test failure. The default implementation does nothing." -msgstr "" - -#: ../../library/unittest.rst:756 -msgid "" -"Method called immediately after the test method has been called and the " -"result recorded. This is called even if the test method raised an " -"exception, so the implementation in subclasses may need to be particularly " -"careful about checking internal state. Any exception, other than " -":exc:`AssertionError` or :exc:`SkipTest`, raised by this method will be " -"considered an additional error rather than a test failure (thus increasing " -"the total number of reported errors). This method will only be called if the" -" :meth:`setUp` succeeds, regardless of the outcome of the test method. The " -"default implementation does nothing." -msgstr "" - -#: ../../library/unittest.rst:769 -msgid "" -"A class method called before tests in an individual class are run. " -"``setUpClass`` is called with the class as the only argument and must be " -"decorated as a :func:`classmethod`::" -msgstr "" - -#: ../../library/unittest.rst:773 -msgid "" -"@classmethod\n" -"def setUpClass(cls):\n" -" ..." -msgstr "" - -#: ../../library/unittest.rst:777 ../../library/unittest.rst:792 -msgid "See `Class and Module Fixtures`_ for more details." -msgstr "" - -#: ../../library/unittest.rst:784 -msgid "" -"A class method called after tests in an individual class have run. " -"``tearDownClass`` is called with the class as the only argument and must be " -"decorated as a :meth:`classmethod`::" -msgstr "" - -#: ../../library/unittest.rst:788 -msgid "" -"@classmethod\n" -"def tearDownClass(cls):\n" -" ..." -msgstr "" - -#: ../../library/unittest.rst:799 -msgid "" -"Run the test, collecting the result into the :class:`TestResult` object " -"passed as *result*. If *result* is omitted or ``None``, a temporary result " -"object is created (by calling the :meth:`defaultTestResult` method) and " -"used. The result object is returned to :meth:`run`'s caller." -msgstr "" - -#: ../../library/unittest.rst:805 -msgid "" -"The same effect may be had by simply calling the :class:`TestCase` instance." -msgstr "" - -#: ../../library/unittest.rst:808 -msgid "" -"Previous versions of ``run`` did not return the result. Neither did calling " -"an instance." -msgstr "" - -#: ../../library/unittest.rst:814 -msgid "" -"Calling this during a test method or :meth:`setUp` skips the current test. " -"See :ref:`unittest-skipping` for more information." -msgstr "" - -#: ../../library/unittest.rst:822 -msgid "" -"Return a context manager which executes the enclosed code block as a " -"subtest. *msg* and *params* are optional, arbitrary values which are " -"displayed whenever a subtest fails, allowing you to identify them clearly." -msgstr "" - -#: ../../library/unittest.rst:827 -msgid "" -"A test case can contain any number of subtest declarations, and they can be " -"arbitrarily nested." -msgstr "" - -#: ../../library/unittest.rst:830 -msgid "See :ref:`subtests` for more information." -msgstr "" - -#: ../../library/unittest.rst:837 -msgid "" -"Run the test without collecting the result. This allows exceptions raised " -"by the test to be propagated to the caller, and can be used to support " -"running tests under a debugger." -msgstr "" - -#: ../../library/unittest.rst:843 -msgid "" -"The :class:`TestCase` class provides several assert methods to check for and" -" report failures. The following table lists the most commonly used methods " -"(see the tables below for more assert methods):" -msgstr "" - -#: ../../library/unittest.rst:848 ../../library/unittest.rst:984 -#: ../../library/unittest.rst:1198 ../../library/unittest.rst:1368 -msgid "Method" -msgstr "Metode" - -#: ../../library/unittest.rst:848 ../../library/unittest.rst:984 -#: ../../library/unittest.rst:1198 -msgid "Checks that" -msgstr "" - -#: ../../library/unittest.rst:848 ../../library/unittest.rst:984 -#: ../../library/unittest.rst:1198 ../../library/unittest.rst:1368 -msgid "New in" -msgstr "Baru di" - -#: ../../library/unittest.rst:850 -msgid ":meth:`assertEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:850 -msgid "``a == b``" -msgstr "``a == b``" - -#: ../../library/unittest.rst:853 -msgid ":meth:`assertNotEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:853 -msgid "``a != b``" -msgstr "``a != b``" - -#: ../../library/unittest.rst:856 -msgid ":meth:`assertTrue(x) `" -msgstr "" - -#: ../../library/unittest.rst:856 -msgid "``bool(x) is True``" -msgstr "" - -#: ../../library/unittest.rst:859 -msgid ":meth:`assertFalse(x) `" -msgstr "" - -#: ../../library/unittest.rst:859 -msgid "``bool(x) is False``" -msgstr "" - -#: ../../library/unittest.rst:862 -msgid ":meth:`assertIs(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:862 -msgid "``a is b``" -msgstr "``a is b``" - -#: ../../library/unittest.rst:862 ../../library/unittest.rst:865 -#: ../../library/unittest.rst:868 ../../library/unittest.rst:871 -#: ../../library/unittest.rst:874 ../../library/unittest.rst:877 -#: ../../library/unittest.rst:989 ../../library/unittest.rst:1206 -#: ../../library/unittest.rst:1209 ../../library/unittest.rst:1212 -#: ../../library/unittest.rst:1215 ../../library/unittest.rst:1218 -#: ../../library/unittest.rst:1370 ../../library/unittest.rst:1373 -#: ../../library/unittest.rst:1376 ../../library/unittest.rst:1379 -#: ../../library/unittest.rst:1382 ../../library/unittest.rst:1385 -msgid "3.1" -msgstr "3.1" - -#: ../../library/unittest.rst:865 -msgid ":meth:`assertIsNot(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:865 -msgid "``a is not b``" -msgstr "``a is not b``" - -#: ../../library/unittest.rst:868 -msgid ":meth:`assertIsNone(x) `" -msgstr "" - -#: ../../library/unittest.rst:868 -msgid "``x is None``" -msgstr "" - -#: ../../library/unittest.rst:871 -msgid ":meth:`assertIsNotNone(x) `" -msgstr "" - -#: ../../library/unittest.rst:871 -msgid "``x is not None``" -msgstr "" - -#: ../../library/unittest.rst:874 -msgid ":meth:`assertIn(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:874 -msgid "``a in b``" -msgstr "" - -#: ../../library/unittest.rst:877 -msgid ":meth:`assertNotIn(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:877 -msgid "``a not in b``" -msgstr "" - -#: ../../library/unittest.rst:880 -msgid ":meth:`assertIsInstance(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:880 -msgid "``isinstance(a, b)``" -msgstr "" - -#: ../../library/unittest.rst:880 ../../library/unittest.rst:883 -#: ../../library/unittest.rst:992 ../../library/unittest.rst:995 -#: ../../library/unittest.rst:1221 ../../library/unittest.rst:1224 -msgid "3.2" -msgstr "3.2" - -#: ../../library/unittest.rst:883 -msgid ":meth:`assertNotIsInstance(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:883 -msgid "``not isinstance(a, b)``" -msgstr "" - -#: ../../library/unittest.rst:886 -msgid ":meth:`assertIsSubclass(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:886 -msgid "``issubclass(a, b)``" -msgstr "" - -#: ../../library/unittest.rst:886 ../../library/unittest.rst:889 -#: ../../library/unittest.rst:1228 ../../library/unittest.rst:1231 -#: ../../library/unittest.rst:1234 ../../library/unittest.rst:1237 -#: ../../library/unittest.rst:1240 ../../library/unittest.rst:1243 -msgid "3.14" -msgstr "" - -#: ../../library/unittest.rst:889 -msgid ":meth:`assertNotIsSubclass(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:889 -msgid "``not issubclass(a, b)``" -msgstr "" - -#: ../../library/unittest.rst:893 -msgid "" -"All the assert methods accept a *msg* argument that, if specified, is used " -"as the error message on failure (see also :data:`longMessage`). Note that " -"the *msg* keyword argument can be passed to :meth:`assertRaises`, " -":meth:`assertRaisesRegex`, :meth:`assertWarns`, :meth:`assertWarnsRegex` " -"only when they are used as a context manager." -msgstr "" - -#: ../../library/unittest.rst:901 -msgid "" -"Test that *first* and *second* are equal. If the values do not compare " -"equal, the test will fail." -msgstr "" - -#: ../../library/unittest.rst:904 -msgid "" -"In addition, if *first* and *second* are the exact same type and one of " -"list, tuple, dict, set, frozenset or str or any type that a subclass " -"registers with :meth:`addTypeEqualityFunc` the type-specific equality " -"function will be called in order to generate a more useful default error " -"message (see also the :ref:`list of type-specific methods `)." -msgstr "" - -#: ../../library/unittest.rst:911 -msgid "Added the automatic calling of type-specific equality function." -msgstr "" - -#: ../../library/unittest.rst:914 -msgid "" -":meth:`assertMultiLineEqual` added as the default type equality function for" -" comparing strings." -msgstr "" - -#: ../../library/unittest.rst:921 -msgid "" -"Test that *first* and *second* are not equal. If the values do compare " -"equal, the test will fail." -msgstr "" - -#: ../../library/unittest.rst:927 -msgid "Test that *expr* is true (or false)." -msgstr "" - -#: ../../library/unittest.rst:929 -msgid "" -"Note that this is equivalent to ``bool(expr) is True`` and not to ``expr is " -"True`` (use ``assertIs(expr, True)`` for the latter). This method should " -"also be avoided when more specific methods are available (e.g. " -"``assertEqual(a, b)`` instead of ``assertTrue(a == b)``), because they " -"provide a better error message in case of failure." -msgstr "" - -#: ../../library/unittest.rst:939 -msgid "Test that *first* and *second* are (or are not) the same object." -msgstr "" - -#: ../../library/unittest.rst:947 -msgid "Test that *expr* is (or is not) ``None``." -msgstr "" - -#: ../../library/unittest.rst:955 -msgid "Test that *member* is (or is not) in *container*." -msgstr "" - -#: ../../library/unittest.rst:963 -msgid "" -"Test that *obj* is (or is not) an instance of *cls* (which can be a class or" -" a tuple of classes, as supported by :func:`isinstance`). To check for the " -"exact type, use :func:`assertIs(type(obj), cls) `." -msgstr "" - -#: ../../library/unittest.rst:973 -msgid "" -"Test that *cls* is (or is not) a subclass of *superclass* (which can be a " -"class or a tuple of classes, as supported by :func:`issubclass`). To check " -"for the exact type, use :func:`assertIs(cls, superclass) `." -msgstr "" - -#: ../../library/unittest.rst:980 -msgid "" -"It is also possible to check the production of exceptions, warnings, and log" -" messages using the following methods:" -msgstr "" - -#: ../../library/unittest.rst:986 -msgid ":meth:`assertRaises(exc, fun, *args, **kwds) `" -msgstr "" - -#: ../../library/unittest.rst:986 -msgid "``fun(*args, **kwds)`` raises *exc*" -msgstr "" - -#: ../../library/unittest.rst:989 -msgid "" -":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) " -"`" -msgstr "" - -#: ../../library/unittest.rst:989 -msgid "``fun(*args, **kwds)`` raises *exc* and the message matches regex *r*" -msgstr "" - -#: ../../library/unittest.rst:992 -msgid ":meth:`assertWarns(warn, fun, *args, **kwds) `" -msgstr "" - -#: ../../library/unittest.rst:992 -msgid "``fun(*args, **kwds)`` raises *warn*" -msgstr "" - -#: ../../library/unittest.rst:995 -msgid "" -":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) " -"`" -msgstr "" - -#: ../../library/unittest.rst:995 -msgid "``fun(*args, **kwds)`` raises *warn* and the message matches regex *r*" -msgstr "" - -#: ../../library/unittest.rst:998 -msgid ":meth:`assertLogs(logger, level) `" -msgstr "" - -#: ../../library/unittest.rst:998 -msgid "The ``with`` block logs on *logger* with minimum *level*" -msgstr "" - -#: ../../library/unittest.rst:998 -msgid "3.4" -msgstr "3.4" - -#: ../../library/unittest.rst:1001 -msgid ":meth:`assertNoLogs(logger, level) `" -msgstr "" - -#: ../../library/unittest.rst:1001 -msgid "The ``with`` block does not log on" -msgstr "" - -#: ../../library/unittest.rst:1002 -msgid "*logger* with minimum *level*" -msgstr "" - -#: ../../library/unittest.rst:1001 -msgid "3.10" -msgstr "" - -#: ../../library/unittest.rst:1008 -msgid "" -"Test that an exception is raised when *callable* is called with any " -"positional or keyword arguments that are also passed to " -":meth:`assertRaises`. The test passes if *exception* is raised, is an error" -" if another exception is raised, or fails if no exception is raised. To " -"catch any of a group of exceptions, a tuple containing the exception classes" -" may be passed as *exception*." -msgstr "" - -#: ../../library/unittest.rst:1015 -msgid "" -"If only the *exception* and possibly the *msg* arguments are given, return a" -" context manager so that the code under test can be written inline rather " -"than as a function::" -msgstr "" - -#: ../../library/unittest.rst:1019 -msgid "" -"with self.assertRaises(SomeException):\n" -" do_something()" -msgstr "" - -#: ../../library/unittest.rst:1022 -msgid "" -"When used as a context manager, :meth:`assertRaises` accepts the additional " -"keyword argument *msg*." -msgstr "" - -#: ../../library/unittest.rst:1025 -msgid "" -"The context manager will store the caught exception object in its " -":attr:`exception` attribute. This can be useful if the intention is to " -"perform additional checks on the exception raised::" -msgstr "" - -#: ../../library/unittest.rst:1029 -msgid "" -"with self.assertRaises(SomeException) as cm:\n" -" do_something()\n" -"\n" -"the_exception = cm.exception\n" -"self.assertEqual(the_exception.error_code, 3)" -msgstr "" - -#: ../../library/unittest.rst:1035 -msgid "Added the ability to use :meth:`assertRaises` as a context manager." -msgstr "" - -#: ../../library/unittest.rst:1038 -msgid "Added the :attr:`exception` attribute." -msgstr "" - -#: ../../library/unittest.rst:1041 ../../library/unittest.rst:1067 -#: ../../library/unittest.rst:1108 ../../library/unittest.rst:1131 -msgid "Added the *msg* keyword argument when used as a context manager." -msgstr "" - -#: ../../library/unittest.rst:1048 -msgid "" -"Like :meth:`assertRaises` but also tests that *regex* matches on the string " -"representation of the raised exception. *regex* may be a regular expression" -" object or a string containing a regular expression suitable for use by " -":func:`re.search`. Examples::" -msgstr "" - -#: ../../library/unittest.rst:1053 -msgid "" -"self.assertRaisesRegex(ValueError, \"invalid literal for.*XYZ'$\",\n" -" int, 'XYZ')" -msgstr "" - -#: ../../library/unittest.rst:1056 ../../library/unittest.rst:1124 -msgid "or::" -msgstr "atau::" - -#: ../../library/unittest.rst:1058 -msgid "" -"with self.assertRaisesRegex(ValueError, 'literal'):\n" -" int('XYZ')" -msgstr "" - -#: ../../library/unittest.rst:1061 -msgid "Added under the name ``assertRaisesRegexp``." -msgstr "" - -#: ../../library/unittest.rst:1064 -msgid "Renamed to :meth:`assertRaisesRegex`." -msgstr "" - -#: ../../library/unittest.rst:1074 -msgid "" -"Test that a warning is triggered when *callable* is called with any " -"positional or keyword arguments that are also passed to :meth:`assertWarns`." -" The test passes if *warning* is triggered and fails if it isn't. Any " -"exception is an error. To catch any of a group of warnings, a tuple " -"containing the warning classes may be passed as *warnings*." -msgstr "" - -#: ../../library/unittest.rst:1081 -msgid "" -"If only the *warning* and possibly the *msg* arguments are given, return a " -"context manager so that the code under test can be written inline rather " -"than as a function::" -msgstr "" - -#: ../../library/unittest.rst:1085 -msgid "" -"with self.assertWarns(SomeWarning):\n" -" do_something()" -msgstr "" - -#: ../../library/unittest.rst:1088 -msgid "" -"When used as a context manager, :meth:`assertWarns` accepts the additional " -"keyword argument *msg*." -msgstr "" - -#: ../../library/unittest.rst:1091 -msgid "" -"The context manager will store the caught warning object in its " -":attr:`warning` attribute, and the source line which triggered the warnings " -"in the :attr:`filename` and :attr:`lineno` attributes. This can be useful if" -" the intention is to perform additional checks on the warning caught::" -msgstr "" - -#: ../../library/unittest.rst:1097 -msgid "" -"with self.assertWarns(SomeWarning) as cm:\n" -" do_something()\n" -"\n" -"self.assertIn('myfile.py', cm.filename)\n" -"self.assertEqual(320, cm.lineno)" -msgstr "" - -#: ../../library/unittest.rst:1103 -msgid "" -"This method works regardless of the warning filters in place when it is " -"called." -msgstr "" - -#: ../../library/unittest.rst:1115 -msgid "" -"Like :meth:`assertWarns` but also tests that *regex* matches on the message " -"of the triggered warning. *regex* may be a regular expression object or a " -"string containing a regular expression suitable for use by " -":func:`re.search`. Example::" -msgstr "" - -#: ../../library/unittest.rst:1120 -msgid "" -"self.assertWarnsRegex(DeprecationWarning,\n" -" r'legacy_function\\(\\) is deprecated',\n" -" legacy_function, 'XYZ')" -msgstr "" - -#: ../../library/unittest.rst:1126 -msgid "" -"with self.assertWarnsRegex(RuntimeWarning, 'unsafe frobnicating'):\n" -" frobnicate('/etc/passwd')" -msgstr "" - -#: ../../library/unittest.rst:1136 -msgid "" -"A context manager to test that at least one message is logged on the " -"*logger* or one of its children, with at least the given *level*." -msgstr "" - -#: ../../library/unittest.rst:1140 -msgid "" -"If given, *logger* should be a :class:`logging.Logger` object or a " -":class:`str` giving the name of a logger. The default is the root logger, " -"which will catch all messages that were not blocked by a non-propagating " -"descendent logger." -msgstr "" - -#: ../../library/unittest.rst:1145 ../../library/unittest.rst:1186 -msgid "" -"If given, *level* should be either a numeric logging level or its string " -"equivalent (for example either ``\"ERROR\"`` or :const:`logging.ERROR`). " -"The default is :const:`logging.INFO`." -msgstr "" - -#: ../../library/unittest.rst:1149 -msgid "" -"The test passes if at least one message emitted inside the ``with`` block " -"matches the *logger* and *level* conditions, otherwise it fails." -msgstr "" - -#: ../../library/unittest.rst:1152 -msgid "" -"The object returned by the context manager is a recording helper which keeps" -" tracks of the matching log messages. It has two attributes:" -msgstr "" - -#: ../../library/unittest.rst:1158 -msgid "" -"A list of :class:`logging.LogRecord` objects of the matching log messages." -msgstr "" - -#: ../../library/unittest.rst:1163 -msgid "" -"A list of :class:`str` objects with the formatted output of matching " -"messages." -msgstr "" - -#: ../../library/unittest.rst:1166 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/unittest.rst:1168 -msgid "" -"with self.assertLogs('foo', level='INFO') as cm:\n" -" logging.getLogger('foo').info('first message')\n" -" logging.getLogger('foo.bar').error('second message')\n" -"self.assertEqual(cm.output, ['INFO:foo:first message',\n" -" 'ERROR:foo.bar:second message'])" -msgstr "" - -#: ../../library/unittest.rst:1178 -msgid "" -"A context manager to test that no messages are logged on the *logger* or one" -" of its children, with at least the given *level*." -msgstr "" - -#: ../../library/unittest.rst:1182 -msgid "" -"If given, *logger* should be a :class:`logging.Logger` object or a " -":class:`str` giving the name of a logger. The default is the root logger, " -"which will catch all messages." -msgstr "" - -#: ../../library/unittest.rst:1190 -msgid "" -"Unlike :meth:`assertLogs`, nothing will be returned by the context manager." -msgstr "" - -#: ../../library/unittest.rst:1195 -msgid "" -"There are also other methods used to perform more specific checks, such as:" -msgstr "" - -#: ../../library/unittest.rst:1200 -msgid ":meth:`assertAlmostEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1200 -msgid "``round(a-b, 7) == 0``" -msgstr "" - -#: ../../library/unittest.rst:1203 -msgid ":meth:`assertNotAlmostEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1203 -msgid "``round(a-b, 7) != 0``" -msgstr "" - -#: ../../library/unittest.rst:1206 -msgid ":meth:`assertGreater(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1206 -msgid "``a > b``" -msgstr "``a > b``" - -#: ../../library/unittest.rst:1209 -msgid ":meth:`assertGreaterEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1209 -msgid "``a >= b``" -msgstr "``a >= b``" - -#: ../../library/unittest.rst:1212 -msgid ":meth:`assertLess(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1212 -msgid "``a < b``" -msgstr "``a < b``" - -#: ../../library/unittest.rst:1215 -msgid ":meth:`assertLessEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1215 -msgid "``a <= b``" -msgstr "``a <= b``" - -#: ../../library/unittest.rst:1218 -msgid ":meth:`assertRegex(s, r) `" -msgstr "" - -#: ../../library/unittest.rst:1218 -msgid "``r.search(s)``" -msgstr "" - -#: ../../library/unittest.rst:1221 -msgid ":meth:`assertNotRegex(s, r) `" -msgstr "" - -#: ../../library/unittest.rst:1221 -msgid "``not r.search(s)``" -msgstr "" - -#: ../../library/unittest.rst:1224 -msgid ":meth:`assertCountEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1224 -msgid "" -"*a* and *b* have the same elements in the same number, regardless of their " -"order." -msgstr "" - -#: ../../library/unittest.rst:1228 -msgid ":meth:`assertStartsWith(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1228 -msgid "``a.startswith(b)``" -msgstr "" - -#: ../../library/unittest.rst:1231 -msgid ":meth:`assertNotStartsWith(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1231 -msgid "``not a.startswith(b)``" -msgstr "" - -#: ../../library/unittest.rst:1234 -msgid ":meth:`assertEndsWith(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1234 -msgid "``a.endswith(b)``" -msgstr "" - -#: ../../library/unittest.rst:1237 -msgid ":meth:`assertNotEndsWith(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1237 -msgid "``not a.endswith(b)``" -msgstr "" - -#: ../../library/unittest.rst:1240 -msgid ":meth:`assertHasAttr(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1240 -msgid "``hastattr(a, b)``" -msgstr "" - -#: ../../library/unittest.rst:1243 -msgid ":meth:`assertNotHasAttr(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1243 -msgid "``not hastattr(a, b)``" -msgstr "" - -#: ../../library/unittest.rst:1251 -msgid "" -"Test that *first* and *second* are approximately (or not approximately) " -"equal by computing the difference, rounding to the given number of decimal " -"*places* (default 7), and comparing to zero. Note that these methods round " -"the values to the given number of *decimal places* (i.e. like the " -":func:`round` function) and not *significant digits*." -msgstr "" - -#: ../../library/unittest.rst:1257 -msgid "" -"If *delta* is supplied instead of *places* then the difference between " -"*first* and *second* must be less or equal to (or greater than) *delta*." -msgstr "" - -#: ../../library/unittest.rst:1260 -msgid "Supplying both *delta* and *places* raises a :exc:`TypeError`." -msgstr "" - -#: ../../library/unittest.rst:1262 -msgid "" -":meth:`assertAlmostEqual` automatically considers almost equal objects that " -"compare equal. :meth:`assertNotAlmostEqual` automatically fails if the " -"objects compare equal. Added the *delta* keyword argument." -msgstr "" - -#: ../../library/unittest.rst:1273 -msgid "" -"Test that *first* is respectively >, >=, < or <= than *second* depending on " -"the method name. If not, the test will fail::" -msgstr "" - -#: ../../library/unittest.rst:1276 -msgid "" -">>> self.assertGreaterEqual(3, 4)\n" -"AssertionError: \"3\" unexpectedly not greater than or equal to \"4\"" -msgstr "" - -#: ../../library/unittest.rst:1285 -msgid "" -"Test that a *regex* search matches (or does not match) *text*. In case of " -"failure, the error message will include the pattern and the *text* (or the " -"pattern and the part of *text* that unexpectedly matched). *regex* may be a" -" regular expression object or a string containing a regular expression " -"suitable for use by :func:`re.search`." -msgstr "" - -#: ../../library/unittest.rst:1291 -msgid "Added under the name ``assertRegexpMatches``." -msgstr "" - -#: ../../library/unittest.rst:1293 -msgid "" -"The method ``assertRegexpMatches()`` has been renamed to " -":meth:`.assertRegex`." -msgstr "" - -#: ../../library/unittest.rst:1296 -msgid ":meth:`.assertNotRegex`." -msgstr "" - -#: ../../library/unittest.rst:1302 -msgid "" -"Test that sequence *first* contains the same elements as *second*, " -"regardless of their order. When they don't, an error message listing the " -"differences between the sequences will be generated." -msgstr "" - -#: ../../library/unittest.rst:1306 -msgid "" -"Duplicate elements are *not* ignored when comparing *first* and *second*. It" -" verifies whether each element has the same count in both sequences. " -"Equivalent to: ``assertEqual(Counter(list(first)), Counter(list(second)))`` " -"but works with sequences of unhashable objects as well." -msgstr "" - -#: ../../library/unittest.rst:1318 -msgid "" -"Test that the Unicode or byte string *s* starts (or does not start) with a " -"*prefix*. *prefix* can also be a tuple of strings to try." -msgstr "" - -#: ../../library/unittest.rst:1328 -msgid "" -"Test that the Unicode or byte string *s* ends (or does not end) with a " -"*suffix*. *suffix* can also be a tuple of strings to try." -msgstr "" - -#: ../../library/unittest.rst:1338 -msgid "Test that the object *obj* has (or has not) an attribute *name*." -msgstr "" - -#: ../../library/unittest.rst:1345 -msgid "" -"The :meth:`assertEqual` method dispatches the equality check for objects of " -"the same type to different type-specific methods. These methods are already" -" implemented for most of the built-in types, but it's also possible to " -"register new methods using :meth:`addTypeEqualityFunc`:" -msgstr "" - -#: ../../library/unittest.rst:1352 -msgid "" -"Registers a type-specific method called by :meth:`assertEqual` to check if " -"two objects of exactly the same *typeobj* (not subclasses) compare equal. " -"*function* must take two positional arguments and a third msg=None keyword " -"argument just as :meth:`assertEqual` does. It must raise " -":data:`self.failureException(msg) ` when inequality " -"between the first two parameters is detected -- possibly providing useful " -"information and explaining the inequalities in details in the error message." -msgstr "" - -#: ../../library/unittest.rst:1363 -msgid "" -"The list of type-specific methods automatically used by " -":meth:`~TestCase.assertEqual` are summarized in the following table. Note " -"that it's usually not necessary to invoke these methods directly." -msgstr "" - -#: ../../library/unittest.rst:1368 -msgid "Used to compare" -msgstr "" - -#: ../../library/unittest.rst:1370 -msgid ":meth:`assertMultiLineEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1370 -msgid "strings" -msgstr "" - -#: ../../library/unittest.rst:1373 -msgid ":meth:`assertSequenceEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1373 -msgid "sequences" -msgstr "" - -#: ../../library/unittest.rst:1376 -msgid ":meth:`assertListEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1376 -msgid "lists" -msgstr "" - -#: ../../library/unittest.rst:1379 -msgid ":meth:`assertTupleEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1379 -msgid "tuples" -msgstr "" - -#: ../../library/unittest.rst:1382 -msgid ":meth:`assertSetEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1382 -msgid "sets or frozensets" -msgstr "" - -#: ../../library/unittest.rst:1385 -msgid ":meth:`assertDictEqual(a, b) `" -msgstr "" - -#: ../../library/unittest.rst:1385 -msgid "dicts" -msgstr "" - -#: ../../library/unittest.rst:1393 -msgid "" -"Test that the multiline string *first* is equal to the string *second*. When" -" not equal a diff of the two strings highlighting the differences will be " -"included in the error message. This method is used by default when comparing" -" strings with :meth:`assertEqual`." -msgstr "" - -#: ../../library/unittest.rst:1403 -msgid "" -"Tests that two sequences are equal. If a *seq_type* is supplied, both " -"*first* and *second* must be instances of *seq_type* or a failure will be " -"raised. If the sequences are different an error message is constructed that" -" shows the difference between the two." -msgstr "" - -#: ../../library/unittest.rst:1408 -msgid "" -"This method is not called directly by :meth:`assertEqual`, but it's used to " -"implement :meth:`assertListEqual` and :meth:`assertTupleEqual`." -msgstr "" - -#: ../../library/unittest.rst:1418 -msgid "" -"Tests that two lists or tuples are equal. If not, an error message is " -"constructed that shows only the differences between the two. An error is " -"also raised if either of the parameters are of the wrong type. These methods" -" are used by default when comparing lists or tuples with " -":meth:`assertEqual`." -msgstr "" - -#: ../../library/unittest.rst:1429 -msgid "" -"Tests that two sets are equal. If not, an error message is constructed that" -" lists the differences between the sets. This method is used by default " -"when comparing sets or frozensets with :meth:`assertEqual`." -msgstr "" - -#: ../../library/unittest.rst:1433 -msgid "" -"Fails if either of *first* or *second* does not have a " -":meth:`set.difference` method." -msgstr "" - -#: ../../library/unittest.rst:1441 -msgid "" -"Test that two dictionaries are equal. If not, an error message is " -"constructed that shows the differences in the dictionaries. This method will" -" be used by default to compare dictionaries in calls to :meth:`assertEqual`." -msgstr "" - -#: ../../library/unittest.rst:1452 -msgid "" -"Finally the :class:`TestCase` provides the following methods and attributes:" -msgstr "" - -#: ../../library/unittest.rst:1457 -msgid "" -"Signals a test failure unconditionally, with *msg* or ``None`` for the error" -" message." -msgstr "" - -#: ../../library/unittest.rst:1463 -msgid "" -"This class attribute gives the exception raised by the test method. If a " -"test framework needs to use a specialized exception, possibly to carry " -"additional information, it must subclass this exception in order to \"play " -"fair\" with the framework. The initial value of this attribute is " -":exc:`AssertionError`." -msgstr "" - -#: ../../library/unittest.rst:1472 -msgid "" -"This class attribute determines what happens when a custom failure message " -"is passed as the msg argument to an assertXYY call that fails. ``True`` is " -"the default value. In this case, the custom message is appended to the end " -"of the standard failure message. When set to ``False``, the custom message " -"replaces the standard message." -msgstr "" - -#: ../../library/unittest.rst:1478 -msgid "" -"The class setting can be overridden in individual test methods by assigning " -"an instance attribute, self.longMessage, to ``True`` or ``False`` before " -"calling the assert methods." -msgstr "" - -#: ../../library/unittest.rst:1482 -msgid "The class setting gets reset before each test call." -msgstr "" - -#: ../../library/unittest.rst:1489 -msgid "" -"This attribute controls the maximum length of diffs output by assert methods" -" that report diffs on failure. It defaults to 80*8 characters. Assert " -"methods affected by this attribute are :meth:`assertSequenceEqual` " -"(including all the sequence comparison methods that delegate to it), " -":meth:`assertDictEqual` and :meth:`assertMultiLineEqual`." -msgstr "" - -#: ../../library/unittest.rst:1496 -msgid "" -"Setting ``maxDiff`` to ``None`` means that there is no maximum length of " -"diffs." -msgstr "" - -#: ../../library/unittest.rst:1502 -msgid "" -"Testing frameworks can use the following methods to collect information on " -"the test:" -msgstr "" - -#: ../../library/unittest.rst:1508 -msgid "" -"Return the number of tests represented by this test object. For " -":class:`TestCase` instances, this will always be ``1``." -msgstr "" - -#: ../../library/unittest.rst:1514 -msgid "" -"Return an instance of the test result class that should be used for this " -"test case class (if no other result instance is provided to the :meth:`run` " -"method)." -msgstr "" - -#: ../../library/unittest.rst:1518 -msgid "" -"For :class:`TestCase` instances, this will always be an instance of " -":class:`TestResult`; subclasses of :class:`TestCase` should override this as" -" necessary." -msgstr "" - -#: ../../library/unittest.rst:1525 -msgid "" -"Return a string identifying the specific test case. This is usually the " -"full name of the test method, including the module and class name." -msgstr "" - -#: ../../library/unittest.rst:1531 -msgid "" -"Returns a description of the test, or ``None`` if no description has been " -"provided. The default implementation of this method returns the first line " -"of the test method's docstring, if available, or ``None``." -msgstr "" - -#: ../../library/unittest.rst:1536 -msgid "" -"In 3.1 this was changed to add the test name to the short description even " -"in the presence of a docstring. This caused compatibility issues with " -"unittest extensions and adding the test name was moved to the " -":class:`TextTestResult` in Python 3.2." -msgstr "" - -#: ../../library/unittest.rst:1545 -msgid "" -"Add a function to be called after :meth:`tearDown` to cleanup resources used" -" during the test. Functions will be called in reverse order to the order " -"they are added (:abbr:`LIFO (last-in, first-out)`). They are called with " -"any arguments and keyword arguments passed into :meth:`addCleanup` when they" -" are added." -msgstr "" - -#: ../../library/unittest.rst:1551 -msgid "" -"If :meth:`setUp` fails, meaning that :meth:`tearDown` is not called, then " -"any cleanup functions added will still be called." -msgstr "" - -#: ../../library/unittest.rst:1559 -msgid "" -"Enter the supplied :term:`context manager`. If successful, also add its " -":meth:`~object.__exit__` method as a cleanup function by :meth:`addCleanup` " -"and return the result of the :meth:`~object.__enter__` method." -msgstr "" - -#: ../../library/unittest.rst:1569 -msgid "" -"This method is called unconditionally after :meth:`tearDown`, or after " -":meth:`setUp` if :meth:`setUp` raises an exception." -msgstr "" - -#: ../../library/unittest.rst:1572 -msgid "" -"It is responsible for calling all the cleanup functions added by " -":meth:`addCleanup`. If you need cleanup functions to be called *prior* to " -":meth:`tearDown` then you can call :meth:`doCleanups` yourself." -msgstr "" - -#: ../../library/unittest.rst:1577 -msgid "" -":meth:`doCleanups` pops methods off the stack of cleanup functions one at a " -"time, so it can be called at any time." -msgstr "" - -#: ../../library/unittest.rst:1585 -msgid "" -"Add a function to be called after :meth:`tearDownClass` to cleanup resources" -" used during the test class. Functions will be called in reverse order to " -"the order they are added (:abbr:`LIFO (last-in, first-out)`). They are " -"called with any arguments and keyword arguments passed into " -":meth:`addClassCleanup` when they are added." -msgstr "" - -#: ../../library/unittest.rst:1591 -msgid "" -"If :meth:`setUpClass` fails, meaning that :meth:`tearDownClass` is not " -"called, then any cleanup functions added will still be called." -msgstr "" - -#: ../../library/unittest.rst:1599 -msgid "" -"Enter the supplied :term:`context manager`. If successful, also add its " -":meth:`~object.__exit__` method as a cleanup function by " -":meth:`addClassCleanup` and return the result of the " -":meth:`~object.__enter__` method." -msgstr "" - -#: ../../library/unittest.rst:1609 -msgid "" -"This method is called unconditionally after :meth:`tearDownClass`, or after " -":meth:`setUpClass` if :meth:`setUpClass` raises an exception." -msgstr "" - -#: ../../library/unittest.rst:1612 -msgid "" -"It is responsible for calling all the cleanup functions added by " -":meth:`addClassCleanup`. If you need cleanup functions to be called *prior* " -"to :meth:`tearDownClass` then you can call :meth:`doClassCleanups` yourself." -msgstr "" - -#: ../../library/unittest.rst:1617 -msgid "" -":meth:`doClassCleanups` pops methods off the stack of cleanup functions one " -"at a time, so it can be called at any time." -msgstr "" - -#: ../../library/unittest.rst:1625 -msgid "" -"This class provides an API similar to :class:`TestCase` and also accepts " -"coroutines as test functions." -msgstr "" - -#: ../../library/unittest.rst:1632 -msgid "" -"The *loop_factory* passed to :class:`asyncio.Runner`. Override in subclasses" -" with :class:`asyncio.EventLoop` to avoid using the asyncio policy system." -msgstr "" - -#: ../../library/unittest.rst:1641 -msgid "" -"Method called to prepare the test fixture. This is called after " -":meth:`setUp`. This is called immediately before calling the test method; " -"other than :exc:`AssertionError` or :exc:`SkipTest`, any exception raised by" -" this method will be considered an error rather than a test failure. The " -"default implementation does nothing." -msgstr "" - -#: ../../library/unittest.rst:1650 -msgid "" -"Method called immediately after the test method has been called and the " -"result recorded. This is called before :meth:`tearDown`. This is called " -"even if the test method raised an exception, so the implementation in " -"subclasses may need to be particularly careful about checking internal " -"state. Any exception, other than :exc:`AssertionError` or :exc:`SkipTest`, " -"raised by this method will be considered an additional error rather than a " -"test failure (thus increasing the total number of reported errors). This " -"method will only be called if the :meth:`asyncSetUp` succeeds, regardless of" -" the outcome of the test method. The default implementation does nothing." -msgstr "" - -#: ../../library/unittest.rst:1662 -msgid "" -"This method accepts a coroutine that can be used as a cleanup function." -msgstr "" - -#: ../../library/unittest.rst:1667 -msgid "" -"Enter the supplied :term:`asynchronous context manager`. If successful, " -"also add its :meth:`~object.__aexit__` method as a cleanup function by " -":meth:`addAsyncCleanup` and return the result of the " -":meth:`~object.__aenter__` method." -msgstr "" - -#: ../../library/unittest.rst:1677 -msgid "" -"Sets up a new event loop to run the test, collecting the result into the " -":class:`TestResult` object passed as *result*. If *result* is omitted or " -"``None``, a temporary result object is created (by calling the " -":meth:`defaultTestResult` method) and used. The result object is returned to" -" :meth:`run`'s caller. At the end of the test all the tasks in the event " -"loop are cancelled." -msgstr "" - -#: ../../library/unittest.rst:1685 -msgid "An example illustrating the order::" -msgstr "" - -#: ../../library/unittest.rst:1687 -msgid "" -"from unittest import IsolatedAsyncioTestCase\n" -"\n" -"events = []\n" -"\n" -"\n" -"class Test(IsolatedAsyncioTestCase):\n" -"\n" -"\n" -" def setUp(self):\n" -" events.append(\"setUp\")\n" -"\n" -" async def asyncSetUp(self):\n" -" self._async_connection = await AsyncConnection()\n" -" events.append(\"asyncSetUp\")\n" -"\n" -" async def test_response(self):\n" -" events.append(\"test_response\")\n" -" response = await self._async_connection.get(\"https://example.com\")\n" -" self.assertEqual(response.status_code, 200)\n" -" self.addAsyncCleanup(self.on_cleanup)\n" -"\n" -" def tearDown(self):\n" -" events.append(\"tearDown\")\n" -"\n" -" async def asyncTearDown(self):\n" -" await self._async_connection.close()\n" -" events.append(\"asyncTearDown\")\n" -"\n" -" async def on_cleanup(self):\n" -" events.append(\"cleanup\")\n" -"\n" -"if __name__ == \"__main__\":\n" -" unittest.main()" -msgstr "" - -#: ../../library/unittest.rst:1721 -msgid "" -"After running the test, ``events`` would contain ``[\"setUp\", " -"\"asyncSetUp\", \"test_response\", \"asyncTearDown\", \"tearDown\", " -"\"cleanup\"]``." -msgstr "" - -#: ../../library/unittest.rst:1726 -msgid "" -"This class implements the portion of the :class:`TestCase` interface which " -"allows the test runner to drive the test, but does not provide the methods " -"which test code can use to check and report errors. This is used to create " -"test cases using legacy test code, allowing it to be integrated into a " -":mod:`unittest`-based test framework." -msgstr "" - -#: ../../library/unittest.rst:1736 -msgid "Grouping tests" -msgstr "" - -#: ../../library/unittest.rst:1740 -msgid "" -"This class represents an aggregation of individual test cases and test " -"suites. The class presents the interface needed by the test runner to allow " -"it to be run as any other test case. Running a :class:`TestSuite` instance " -"is the same as iterating over the suite, running each test individually." -msgstr "" - -#: ../../library/unittest.rst:1745 -msgid "" -"If *tests* is given, it must be an iterable of individual test cases or " -"other test suites that will be used to build the suite initially. Additional" -" methods are provided to add test cases and suites to the collection later " -"on." -msgstr "" - -#: ../../library/unittest.rst:1749 -msgid "" -":class:`TestSuite` objects behave much like :class:`TestCase` objects, " -"except they do not actually implement a test. Instead, they are used to " -"aggregate tests into groups of tests that should be run together. Some " -"additional methods are available to add tests to :class:`TestSuite` " -"instances:" -msgstr "" - -#: ../../library/unittest.rst:1757 -msgid "Add a :class:`TestCase` or :class:`TestSuite` to the suite." -msgstr "" - -#: ../../library/unittest.rst:1762 -msgid "" -"Add all the tests from an iterable of :class:`TestCase` and " -":class:`TestSuite` instances to this test suite." -msgstr "" - -#: ../../library/unittest.rst:1765 -msgid "" -"This is equivalent to iterating over *tests*, calling :meth:`addTest` for " -"each element." -msgstr "" - -#: ../../library/unittest.rst:1768 -msgid "" -":class:`TestSuite` shares the following methods with :class:`TestCase`:" -msgstr "" - -#: ../../library/unittest.rst:1773 -msgid "" -"Run the tests associated with this suite, collecting the result into the " -"test result object passed as *result*. Note that unlike " -":meth:`TestCase.run`, :meth:`TestSuite.run` requires the result object to be" -" passed in." -msgstr "" - -#: ../../library/unittest.rst:1781 -msgid "" -"Run the tests associated with this suite without collecting the result. This" -" allows exceptions raised by the test to be propagated to the caller and can" -" be used to support running tests under a debugger." -msgstr "" - -#: ../../library/unittest.rst:1788 -msgid "" -"Return the number of tests represented by this test object, including all " -"individual tests and sub-suites." -msgstr "" - -#: ../../library/unittest.rst:1794 -msgid "" -"Tests grouped by a :class:`TestSuite` are always accessed by iteration. " -"Subclasses can lazily provide tests by overriding :meth:`!__iter__`. Note " -"that this method may be called several times on a single suite (for example " -"when counting tests or comparing for equality) so the tests returned by " -"repeated iterations before :meth:`TestSuite.run` must be the same for each " -"call iteration. After :meth:`TestSuite.run`, callers should not rely on the " -"tests returned by this method unless the caller uses a subclass that " -"overrides :meth:`TestSuite._removeTestAtIndex` to preserve test references." -msgstr "" - -#: ../../library/unittest.rst:1804 -msgid "" -"In earlier versions the :class:`TestSuite` accessed tests directly rather " -"than through iteration, so overriding :meth:`!__iter__` wasn't sufficient " -"for providing tests." -msgstr "" - -#: ../../library/unittest.rst:1809 -msgid "" -"In earlier versions the :class:`TestSuite` held references to each " -":class:`TestCase` after :meth:`TestSuite.run`. Subclasses can restore that " -"behavior by overriding :meth:`TestSuite._removeTestAtIndex`." -msgstr "" - -#: ../../library/unittest.rst:1814 -msgid "" -"In the typical usage of a :class:`TestSuite` object, the :meth:`run` method " -"is invoked by a :class:`TestRunner` rather than by the end-user test " -"harness." -msgstr "" - -#: ../../library/unittest.rst:1819 -msgid "Loading and running tests" -msgstr "" - -#: ../../library/unittest.rst:1823 -msgid "" -"The :class:`TestLoader` class is used to create test suites from classes and" -" modules. Normally, there is no need to create an instance of this class; " -"the :mod:`unittest` module provides an instance that can be shared as " -":data:`unittest.defaultTestLoader`. Using a subclass or instance, however, " -"allows customization of some configurable properties." -msgstr "" - -#: ../../library/unittest.rst:1829 -msgid ":class:`TestLoader` objects have the following attributes:" -msgstr "" - -#: ../../library/unittest.rst:1834 -msgid "" -"A list of the non-fatal errors encountered while loading tests. Not reset by" -" the loader at any point. Fatal errors are signalled by the relevant method " -"raising an exception to the caller. Non-fatal errors are also indicated by a" -" synthetic test that will raise the original error when run." -msgstr "" - -#: ../../library/unittest.rst:1843 -msgid ":class:`TestLoader` objects have the following methods:" -msgstr "" - -#: ../../library/unittest.rst:1848 -msgid "" -"Return a suite of all test cases contained in the :class:`TestCase`\\ " -"-derived :class:`testCaseClass`." -msgstr "" - -#: ../../library/unittest.rst:1851 -msgid "" -"A test case instance is created for each method named by " -":meth:`getTestCaseNames`. By default these are the method names beginning " -"with ``test``. If :meth:`getTestCaseNames` returns no methods, but the " -":meth:`runTest` method is implemented, a single test case is created for " -"that method instead." -msgstr "" - -#: ../../library/unittest.rst:1860 -msgid "" -"Return a suite of all test cases contained in the given module. This method " -"searches *module* for classes derived from :class:`TestCase` and creates an " -"instance of the class for each test method defined for the class." -msgstr "" - -#: ../../library/unittest.rst:1867 -msgid "" -"While using a hierarchy of :class:`TestCase`\\ -derived classes can be " -"convenient in sharing fixtures and helper functions, defining test methods " -"on base classes that are not intended to be instantiated directly does not " -"play well with this method. Doing so, however, can be useful when the " -"fixtures are different and defined in subclasses." -msgstr "" - -#: ../../library/unittest.rst:1873 -msgid "" -"If a module provides a ``load_tests`` function it will be called to load the" -" tests. This allows modules to customize test loading. This is the " -"`load_tests protocol`_. The *pattern* argument is passed as the third " -"argument to ``load_tests``." -msgstr "" - -#: ../../library/unittest.rst:1878 -msgid "Support for ``load_tests`` added." -msgstr "" - -#: ../../library/unittest.rst:1881 -msgid "Support for a keyword-only argument *pattern* has been added." -msgstr "" - -#: ../../library/unittest.rst:1884 -msgid "" -"The undocumented and unofficial *use_load_tests* parameter has been removed." -msgstr "" - -#: ../../library/unittest.rst:1891 -msgid "Return a suite of all test cases given a string specifier." -msgstr "" - -#: ../../library/unittest.rst:1893 -msgid "" -"The specifier *name* is a \"dotted name\" that may resolve either to a " -"module, a test case class, a test method within a test case class, a " -":class:`TestSuite` instance, or a callable object which returns a " -":class:`TestCase` or :class:`TestSuite` instance. These checks are applied " -"in the order listed here; that is, a method on a possible test case class " -"will be picked up as \"a test method within a test case class\", rather than" -" \"a callable object\"." -msgstr "" - -#: ../../library/unittest.rst:1901 -msgid "" -"For example, if you have a module :mod:`SampleTests` containing a " -":class:`TestCase`\\ -derived class :class:`SampleTestCase` with three test " -"methods (:meth:`test_one`, :meth:`test_two`, and :meth:`test_three`), the " -"specifier ``'SampleTests.SampleTestCase'`` would cause this method to return" -" a suite which will run all three test methods. Using the specifier " -"``'SampleTests.SampleTestCase.test_two'`` would cause it to return a test " -"suite which will run only the :meth:`test_two` test method. The specifier " -"can refer to modules and packages which have not been imported; they will be" -" imported as a side-effect." -msgstr "" - -#: ../../library/unittest.rst:1911 -msgid "The method optionally resolves *name* relative to the given *module*." -msgstr "" - -#: ../../library/unittest.rst:1913 -msgid "" -"If an :exc:`ImportError` or :exc:`AttributeError` occurs while traversing " -"*name* then a synthetic test that raises that error when run will be " -"returned. These errors are included in the errors accumulated by " -"self.errors." -msgstr "" - -#: ../../library/unittest.rst:1922 -msgid "" -"Similar to :meth:`loadTestsFromName`, but takes a sequence of names rather " -"than a single name. The return value is a test suite which supports all the" -" tests defined for each name." -msgstr "" - -#: ../../library/unittest.rst:1929 -msgid "" -"Return a sorted sequence of method names found within *testCaseClass*; this " -"should be a subclass of :class:`TestCase`." -msgstr "" - -#: ../../library/unittest.rst:1935 -msgid "" -"Find all the test modules by recursing into subdirectories from the " -"specified start directory, and return a TestSuite object containing them. " -"Only test files that match *pattern* will be loaded. (Using shell style " -"pattern matching.) Only module names that are importable (i.e. are valid " -"Python identifiers) will be loaded." -msgstr "" - -#: ../../library/unittest.rst:1941 -msgid "" -"All test modules must be importable from the top level of the project. If " -"the start directory is not the top level directory then *top_level_dir* must" -" be specified separately." -msgstr "" - -#: ../../library/unittest.rst:1945 -msgid "" -"If importing a module fails, for example due to a syntax error, then this " -"will be recorded as a single error and discovery will continue. If the " -"import failure is due to :exc:`SkipTest` being raised, it will be recorded " -"as a skip instead of an error." -msgstr "" - -#: ../../library/unittest.rst:1950 -msgid "" -"If a package (a directory containing a file named :file:`__init__.py`) is " -"found, the package will be checked for a ``load_tests`` function. If this " -"exists then it will be called ``package.load_tests(loader, tests, " -"pattern)``. Test discovery takes care to ensure that a package is only " -"checked for tests once during an invocation, even if the load_tests function" -" itself calls ``loader.discover``." -msgstr "" - -#: ../../library/unittest.rst:1958 -msgid "" -"If ``load_tests`` exists then discovery does *not* recurse into the package," -" ``load_tests`` is responsible for loading all tests in the package." -msgstr "" - -#: ../../library/unittest.rst:1962 -msgid "" -"The pattern is deliberately not stored as a loader attribute so that " -"packages can continue discovery themselves." -msgstr "" - -#: ../../library/unittest.rst:1965 -msgid "" -"*top_level_dir* is stored internally, and used as a default to any nested " -"calls to ``discover()``. That is, if a package's ``load_tests`` calls " -"``loader.discover()``, it does not need to pass this argument." -msgstr "" - -#: ../../library/unittest.rst:1969 -msgid "*start_dir* can be a dotted module name as well as a directory." -msgstr "" - -#: ../../library/unittest.rst:1973 -msgid "" -"Modules that raise :exc:`SkipTest` on import are recorded as skips, not " -"errors." -msgstr "" - -#: ../../library/unittest.rst:1977 -msgid "*start_dir* can be a :term:`namespace packages `." -msgstr "" - -#: ../../library/unittest.rst:1979 -msgid "" -"Paths are sorted before being imported so that execution order is the same " -"even if the underlying file system's ordering is not dependent on file name." -msgstr "" - -#: ../../library/unittest.rst:1983 -msgid "" -"Found packages are now checked for ``load_tests`` regardless of whether " -"their path matches *pattern*, because it is impossible for a package name to" -" match the default pattern." -msgstr "" - -#: ../../library/unittest.rst:1988 -msgid "" -"*start_dir* can not be a :term:`namespace packages `. It " -"has been broken since Python 3.7, and Python 3.11 officially removes it." -msgstr "" - -#: ../../library/unittest.rst:1992 -msgid "*top_level_dir* is only stored for the duration of *discover* call." -msgstr "" - -#: ../../library/unittest.rst:1995 -msgid "*start_dir* can once again be a :term:`namespace package`." -msgstr "" - -#: ../../library/unittest.rst:1998 -msgid "" -"The following attributes of a :class:`TestLoader` can be configured either " -"by subclassing or assignment on an instance:" -msgstr "" - -#: ../../library/unittest.rst:2004 -msgid "" -"String giving the prefix of method names which will be interpreted as test " -"methods. The default value is ``'test'``." -msgstr "" - -#: ../../library/unittest.rst:2007 -msgid "" -"This affects :meth:`getTestCaseNames` and all the ``loadTestsFrom*`` " -"methods." -msgstr "" - -#: ../../library/unittest.rst:2013 -msgid "" -"Function to be used to compare method names when sorting them in " -":meth:`getTestCaseNames` and all the ``loadTestsFrom*`` methods." -msgstr "" - -#: ../../library/unittest.rst:2019 -msgid "" -"Callable object that constructs a test suite from a list of tests. No " -"methods on the resulting object are needed. The default value is the " -":class:`TestSuite` class." -msgstr "" - -#: ../../library/unittest.rst:2023 ../../library/unittest.rst:2036 -msgid "This affects all the ``loadTestsFrom*`` methods." -msgstr "" - -#: ../../library/unittest.rst:2027 -msgid "" -"List of Unix shell-style wildcard test name patterns that test methods have " -"to match to be included in test suites (see ``-k`` option)." -msgstr "" - -#: ../../library/unittest.rst:2030 -msgid "" -"If this attribute is not ``None`` (the default), all test methods to be " -"included in test suites must match one of the patterns in this list. Note " -"that matches are always performed using :meth:`fnmatch.fnmatchcase`, so " -"unlike patterns passed to the ``-k`` option, simple substring patterns will " -"have to be converted using ``*`` wildcards." -msgstr "" - -#: ../../library/unittest.rst:2043 -msgid "" -"This class is used to compile information about which tests have succeeded " -"and which have failed." -msgstr "" - -#: ../../library/unittest.rst:2046 -msgid "" -"A :class:`TestResult` object stores the results of a set of tests. The " -":class:`TestCase` and :class:`TestSuite` classes ensure that results are " -"properly recorded; test authors do not need to worry about recording the " -"outcome of tests." -msgstr "" - -#: ../../library/unittest.rst:2051 -msgid "" -"Testing frameworks built on top of :mod:`unittest` may want access to the " -":class:`TestResult` object generated by running a set of tests for reporting" -" purposes; a :class:`TestResult` instance is returned by the " -":meth:`TestRunner.run` method for this purpose." -msgstr "" - -#: ../../library/unittest.rst:2056 -msgid "" -":class:`TestResult` instances have the following attributes that will be of " -"interest when inspecting the results of running a set of tests:" -msgstr "" - -#: ../../library/unittest.rst:2062 -msgid "" -"A list containing 2-tuples of :class:`TestCase` instances and strings " -"holding formatted tracebacks. Each tuple represents a test which raised an " -"unexpected exception." -msgstr "" - -#: ../../library/unittest.rst:2068 -msgid "" -"A list containing 2-tuples of :class:`TestCase` instances and strings " -"holding formatted tracebacks. Each tuple represents a test where a failure " -"was explicitly signalled using the :ref:`assert\\* methods `." -msgstr "" - -#: ../../library/unittest.rst:2074 -msgid "" -"A list containing 2-tuples of :class:`TestCase` instances and strings " -"holding the reason for skipping the test." -msgstr "" - -#: ../../library/unittest.rst:2081 -msgid "" -"A list containing 2-tuples of :class:`TestCase` instances and strings " -"holding formatted tracebacks. Each tuple represents an expected failure or " -"error of the test case." -msgstr "" - -#: ../../library/unittest.rst:2087 -msgid "" -"A list containing :class:`TestCase` instances that were marked as expected " -"failures, but succeeded." -msgstr "" - -#: ../../library/unittest.rst:2092 -msgid "" -"A list containing 2-tuples of test case names and floats representing the " -"elapsed time of each test which was run." -msgstr "" - -#: ../../library/unittest.rst:2099 -msgid "" -"Set to ``True`` when the execution of tests should stop by :meth:`stop`." -msgstr "" - -#: ../../library/unittest.rst:2103 -msgid "The total number of tests run so far." -msgstr "" - -#: ../../library/unittest.rst:2107 -msgid "" -"If set to true, ``sys.stdout`` and ``sys.stderr`` will be buffered in " -"between :meth:`startTest` and :meth:`stopTest` being called. Collected " -"output will only be echoed onto the real ``sys.stdout`` and ``sys.stderr`` " -"if the test fails or errors. Any output is also attached to the failure / " -"error message." -msgstr "" - -#: ../../library/unittest.rst:2116 -msgid "" -"If set to true :meth:`stop` will be called on the first failure or error, " -"halting the test run." -msgstr "" - -#: ../../library/unittest.rst:2123 -msgid "If set to true then local variables will be shown in tracebacks." -msgstr "" - -#: ../../library/unittest.rst:2129 -msgid "" -"Return ``True`` if all tests run so far have passed, otherwise returns " -"``False``." -msgstr "" - -#: ../../library/unittest.rst:2132 -msgid "" -"Returns ``False`` if there were any :attr:`unexpectedSuccesses` from tests " -"marked with the :func:`expectedFailure` decorator." -msgstr "" - -#: ../../library/unittest.rst:2138 -msgid "" -"This method can be called to signal that the set of tests being run should " -"be aborted by setting the :attr:`shouldStop` attribute to ``True``. " -":class:`TestRunner` objects should respect this flag and return without " -"running any additional tests." -msgstr "" - -#: ../../library/unittest.rst:2143 -msgid "" -"For example, this feature is used by the :class:`TextTestRunner` class to " -"stop the test framework when the user signals an interrupt from the " -"keyboard. Interactive tools which provide :class:`TestRunner` " -"implementations can use this in a similar manner." -msgstr "" - -#: ../../library/unittest.rst:2148 -msgid "" -"The following methods of the :class:`TestResult` class are used to maintain " -"the internal data structures, and may be extended in subclasses to support " -"additional reporting requirements. This is particularly useful in building " -"tools which support interactive reporting while tests are being run." -msgstr "" - -#: ../../library/unittest.rst:2156 -msgid "Called when the test case *test* is about to be run." -msgstr "" - -#: ../../library/unittest.rst:2160 -msgid "" -"Called after the test case *test* has been executed, regardless of the " -"outcome." -msgstr "" - -#: ../../library/unittest.rst:2165 -msgid "Called once before any tests are executed." -msgstr "" - -#: ../../library/unittest.rst:2172 -msgid "Called once after all tests are executed." -msgstr "" - -#: ../../library/unittest.rst:2179 -msgid "" -"Called when the test case *test* raises an unexpected exception. *err* is a " -"tuple of the form returned by :func:`sys.exc_info`: ``(type, value, " -"traceback)``." -msgstr "" - -#: ../../library/unittest.rst:2183 -msgid "" -"The default implementation appends a tuple ``(test, formatted_err)`` to the " -"instance's :attr:`errors` attribute, where *formatted_err* is a formatted " -"traceback derived from *err*." -msgstr "" - -#: ../../library/unittest.rst:2190 -msgid "" -"Called when the test case *test* signals a failure. *err* is a tuple of the " -"form returned by :func:`sys.exc_info`: ``(type, value, traceback)``." -msgstr "" - -#: ../../library/unittest.rst:2193 -msgid "" -"The default implementation appends a tuple ``(test, formatted_err)`` to the " -"instance's :attr:`failures` attribute, where *formatted_err* is a formatted " -"traceback derived from *err*." -msgstr "" - -#: ../../library/unittest.rst:2200 -msgid "Called when the test case *test* succeeds." -msgstr "" - -#: ../../library/unittest.rst:2202 -msgid "The default implementation does nothing." -msgstr "" - -#: ../../library/unittest.rst:2207 -msgid "" -"Called when the test case *test* is skipped. *reason* is the reason the " -"test gave for skipping." -msgstr "" - -#: ../../library/unittest.rst:2210 -msgid "" -"The default implementation appends a tuple ``(test, reason)`` to the " -"instance's :attr:`skipped` attribute." -msgstr "" - -#: ../../library/unittest.rst:2216 -msgid "" -"Called when the test case *test* fails or errors, but was marked with the " -":func:`expectedFailure` decorator." -msgstr "" - -#: ../../library/unittest.rst:2219 -msgid "" -"The default implementation appends a tuple ``(test, formatted_err)`` to the " -"instance's :attr:`expectedFailures` attribute, where *formatted_err* is a " -"formatted traceback derived from *err*." -msgstr "" - -#: ../../library/unittest.rst:2226 -msgid "" -"Called when the test case *test* was marked with the :func:`expectedFailure`" -" decorator, but succeeded." -msgstr "" - -#: ../../library/unittest.rst:2229 -msgid "" -"The default implementation appends the test to the instance's " -":attr:`unexpectedSuccesses` attribute." -msgstr "" - -#: ../../library/unittest.rst:2235 -msgid "" -"Called when a subtest finishes. *test* is the test case corresponding to " -"the test method. *subtest* is a custom :class:`TestCase` instance " -"describing the subtest." -msgstr "" - -#: ../../library/unittest.rst:2239 -msgid "" -"If *outcome* is :const:`None`, the subtest succeeded. Otherwise, it failed " -"with an exception where *outcome* is a tuple of the form returned by " -":func:`sys.exc_info`: ``(type, value, traceback)``." -msgstr "" - -#: ../../library/unittest.rst:2243 -msgid "" -"The default implementation does nothing when the outcome is a success, and " -"records subtest failures as normal failures." -msgstr "" - -#: ../../library/unittest.rst:2250 -msgid "" -"Called when the test case finishes. *elapsed* is the time represented in " -"seconds, and it includes the execution of cleanup functions." -msgstr "" - -#: ../../library/unittest.rst:2257 -msgid "" -"A concrete implementation of :class:`TestResult` used by the " -":class:`TextTestRunner`. Subclasses should accept ``**kwargs`` to ensure " -"compatibility as the interface changes." -msgstr "" - -#: ../../library/unittest.rst:2263 -msgid "Added the *durations* keyword parameter." -msgstr "" - -#: ../../library/unittest.rst:2268 -msgid "" -"Instance of the :class:`TestLoader` class intended to be shared. If no " -"customization of the :class:`TestLoader` is needed, this instance can be " -"used instead of repeatedly creating new instances." -msgstr "" - -#: ../../library/unittest.rst:2277 -msgid "" -"A basic test runner implementation that outputs results to a stream. If " -"*stream* is ``None``, the default, :data:`sys.stderr` is used as the output " -"stream. This class has a few configurable parameters, but is essentially " -"very simple. Graphical applications which run test suites should provide " -"alternate implementations. Such implementations should accept ``**kwargs`` " -"as the interface to construct runners changes when features are added to " -"unittest." -msgstr "" - -#: ../../library/unittest.rst:2284 -msgid "" -"By default this runner shows :exc:`DeprecationWarning`, " -":exc:`PendingDeprecationWarning`, :exc:`ResourceWarning` and " -":exc:`ImportWarning` even if they are :ref:`ignored by default `. This behavior can be overridden using Python's :option:`!-Wd` or" -" :option:`!-Wa` options (see :ref:`Warning control `) and" -" leaving *warnings* to ``None``." -msgstr "" - -#: ../../library/unittest.rst:2292 -msgid "Added the *warnings* parameter." -msgstr "" - -#: ../../library/unittest.rst:2295 -msgid "" -"The default stream is set to :data:`sys.stderr` at instantiation time rather" -" than import time." -msgstr "" - -#: ../../library/unittest.rst:2299 -msgid "Added the *tb_locals* parameter." -msgstr "" - -#: ../../library/unittest.rst:2302 -msgid "Added the *durations* parameter." -msgstr "" - -#: ../../library/unittest.rst:2307 -msgid "" -"This method returns the instance of ``TestResult`` used by :meth:`run`. It " -"is not intended to be called directly, but can be overridden in subclasses " -"to provide a custom ``TestResult``." -msgstr "" - -#: ../../library/unittest.rst:2311 -msgid "" -"``_makeResult()`` instantiates the class or callable passed in the " -"``TextTestRunner`` constructor as the ``resultclass`` argument. It defaults " -"to :class:`TextTestResult` if no ``resultclass`` is provided. The result " -"class is instantiated with the following arguments::" -msgstr "" - -#: ../../library/unittest.rst:2316 -msgid "stream, descriptions, verbosity" -msgstr "" - -#: ../../library/unittest.rst:2320 -msgid "" -"This method is the main public interface to the ``TextTestRunner``. This " -"method takes a :class:`TestSuite` or :class:`TestCase` instance. A " -":class:`TestResult` is created by calling :func:`_makeResult` and the " -"test(s) are run and the results printed to stdout." -msgstr "" - -#: ../../library/unittest.rst:2331 -msgid "" -"A command-line program that loads a set of tests from *module* and runs " -"them; this is primarily for making test modules conveniently executable. The" -" simplest use for this function is to include the following line at the end " -"of a test script::" -msgstr "" - -#: ../../library/unittest.rst:2336 -msgid "" -"if __name__ == '__main__':\n" -" unittest.main()" -msgstr "" - -#: ../../library/unittest.rst:2339 -msgid "" -"You can run tests with more detailed information by passing in the verbosity" -" argument::" -msgstr "" - -#: ../../library/unittest.rst:2342 -msgid "" -"if __name__ == '__main__':\n" -" unittest.main(verbosity=2)" -msgstr "" - -#: ../../library/unittest.rst:2345 -msgid "" -"The *defaultTest* argument is either the name of a single test or an " -"iterable of test names to run if no test names are specified via *argv*. If" -" not specified or ``None`` and no test names are provided via *argv*, all " -"tests found in *module* are run." -msgstr "" - -#: ../../library/unittest.rst:2350 -msgid "" -"The *argv* argument can be a list of options passed to the program, with the" -" first element being the program name. If not specified or ``None``, the " -"values of :data:`sys.argv` are used." -msgstr "" - -#: ../../library/unittest.rst:2354 -msgid "" -"The *testRunner* argument can either be a test runner class or an already " -"created instance of it. By default ``main`` calls :func:`sys.exit` with an " -"exit code indicating success (0) or failure (1) of the tests run. An exit " -"code of 5 indicates that no tests were run or skipped." -msgstr "" - -#: ../../library/unittest.rst:2359 -msgid "" -"The *testLoader* argument has to be a :class:`TestLoader` instance, and " -"defaults to :data:`defaultTestLoader`." -msgstr "" - -#: ../../library/unittest.rst:2362 -msgid "" -"``main`` supports being used from the interactive interpreter by passing in " -"the argument ``exit=False``. This displays the result on standard output " -"without calling :func:`sys.exit`::" -msgstr "" - -#: ../../library/unittest.rst:2366 -msgid "" -">>> from unittest import main\n" -">>> main(module='test_module', exit=False)" -msgstr "" - -#: ../../library/unittest.rst:2369 -msgid "" -"The *failfast*, *catchbreak* and *buffer* parameters have the same effect as" -" the same-name `command-line options`_." -msgstr "" - -#: ../../library/unittest.rst:2372 -msgid "" -"The *warnings* argument specifies the :ref:`warning filter `" -" that should be used while running the tests. If it's not specified, it " -"will remain ``None`` if a :option:`!-W` option is passed to " -":program:`python` (see :ref:`Warning control `), " -"otherwise it will be set to ``'default'``." -msgstr "" - -#: ../../library/unittest.rst:2378 -msgid "" -"Calling ``main`` returns an object with the ``result`` attribute that " -"contains the result of the tests run as a :class:`unittest.TestResult`." -msgstr "" - -#: ../../library/unittest.rst:2381 -msgid "The *exit* parameter was added." -msgstr "" - -#: ../../library/unittest.rst:2384 -msgid "" -"The *verbosity*, *failfast*, *catchbreak*, *buffer* and *warnings* " -"parameters were added." -msgstr "" - -#: ../../library/unittest.rst:2388 -msgid "" -"The *defaultTest* parameter was changed to also accept an iterable of test " -"names." -msgstr "" - -#: ../../library/unittest.rst:2396 -msgid "load_tests Protocol" -msgstr "" - -#: ../../library/unittest.rst:2400 -msgid "" -"Modules or packages can customize how tests are loaded from them during " -"normal test runs or test discovery by implementing a function called " -"``load_tests``." -msgstr "" - -#: ../../library/unittest.rst:2403 -msgid "" -"If a test module defines ``load_tests`` it will be called by " -":meth:`TestLoader.loadTestsFromModule` with the following arguments::" -msgstr "" - -#: ../../library/unittest.rst:2406 ../../library/unittest.rst:2438 -msgid "load_tests(loader, standard_tests, pattern)" -msgstr "" - -#: ../../library/unittest.rst:2408 -msgid "" -"where *pattern* is passed straight through from ``loadTestsFromModule``. It" -" defaults to ``None``." -msgstr "" - -#: ../../library/unittest.rst:2411 -msgid "It should return a :class:`TestSuite`." -msgstr "" - -#: ../../library/unittest.rst:2413 -msgid "" -"*loader* is the instance of :class:`TestLoader` doing the loading. " -"*standard_tests* are the tests that would be loaded by default from the " -"module. It is common for test modules to only want to add or remove tests " -"from the standard set of tests. The third argument is used when loading " -"packages as part of test discovery." -msgstr "" - -#: ../../library/unittest.rst:2419 -msgid "" -"A typical ``load_tests`` function that loads tests from a specific set of " -":class:`TestCase` classes may look like::" -msgstr "" - -#: ../../library/unittest.rst:2422 -msgid "" -"test_cases = (TestCase1, TestCase2, TestCase3)\n" -"\n" -"def load_tests(loader, tests, pattern):\n" -" suite = TestSuite()\n" -" for test_class in test_cases:\n" -" tests = loader.loadTestsFromTestCase(test_class)\n" -" suite.addTests(tests)\n" -" return suite" -msgstr "" - -#: ../../library/unittest.rst:2431 -msgid "" -"If discovery is started in a directory containing a package, either from the" -" command line or by calling :meth:`TestLoader.discover`, then the package " -":file:`__init__.py` will be checked for ``load_tests``. If that function " -"does not exist, discovery will recurse into the package as though it were " -"just another directory. Otherwise, discovery of the package's tests will be" -" left up to ``load_tests`` which is called with the following arguments::" -msgstr "" - -#: ../../library/unittest.rst:2440 -msgid "" -"This should return a :class:`TestSuite` representing all the tests from the " -"package. (``standard_tests`` will only contain tests collected from " -":file:`__init__.py`.)" -msgstr "" - -#: ../../library/unittest.rst:2444 -msgid "" -"Because the pattern is passed into ``load_tests`` the package is free to " -"continue (and potentially modify) test discovery. A 'do nothing' " -"``load_tests`` function for a test package would look like::" -msgstr "" - -#: ../../library/unittest.rst:2448 -msgid "" -"def load_tests(loader, standard_tests, pattern):\n" -" # top level directory cached on loader instance\n" -" this_dir = os.path.dirname(__file__)\n" -" package_tests = loader.discover(start_dir=this_dir, pattern=pattern)\n" -" standard_tests.addTests(package_tests)\n" -" return standard_tests" -msgstr "" - -#: ../../library/unittest.rst:2455 -msgid "" -"Discovery no longer checks package names for matching *pattern* due to the " -"impossibility of package names matching the default pattern." -msgstr "" - -#: ../../library/unittest.rst:2462 -msgid "Class and Module Fixtures" -msgstr "" - -#: ../../library/unittest.rst:2464 -msgid "" -"Class and module level fixtures are implemented in :class:`TestSuite`. When " -"the test suite encounters a test from a new class then :meth:`tearDownClass`" -" from the previous class (if there is one) is called, followed by " -":meth:`setUpClass` from the new class." -msgstr "" - -#: ../../library/unittest.rst:2469 -msgid "" -"Similarly if a test is from a different module from the previous test then " -"``tearDownModule`` from the previous module is run, followed by " -"``setUpModule`` from the new module." -msgstr "" - -#: ../../library/unittest.rst:2473 -msgid "" -"After all the tests have run the final ``tearDownClass`` and " -"``tearDownModule`` are run." -msgstr "" - -#: ../../library/unittest.rst:2476 -msgid "" -"Note that shared fixtures do not play well with [potential] features like " -"test parallelization and they break test isolation. They should be used with" -" care." -msgstr "" - -#: ../../library/unittest.rst:2479 -msgid "" -"The default ordering of tests created by the unittest test loaders is to " -"group all tests from the same modules and classes together. This will lead " -"to ``setUpClass`` / ``setUpModule`` (etc) being called exactly once per " -"class and module. If you randomize the order, so that tests from different " -"modules and classes are adjacent to each other, then these shared fixture " -"functions may be called multiple times in a single test run." -msgstr "" - -#: ../../library/unittest.rst:2486 -msgid "" -"Shared fixtures are not intended to work with suites with non-standard " -"ordering. A ``BaseTestSuite`` still exists for frameworks that don't want to" -" support shared fixtures." -msgstr "" - -#: ../../library/unittest.rst:2490 -msgid "" -"If there are any exceptions raised during one of the shared fixture " -"functions the test is reported as an error. Because there is no " -"corresponding test instance an ``_ErrorHolder`` object (that has the same " -"interface as a :class:`TestCase`) is created to represent the error. If you " -"are just using the standard unittest test runner then this detail doesn't " -"matter, but if you are a framework author it may be relevant." -msgstr "" - -#: ../../library/unittest.rst:2499 -msgid "setUpClass and tearDownClass" -msgstr "" - -#: ../../library/unittest.rst:2501 -msgid "These must be implemented as class methods::" -msgstr "" - -#: ../../library/unittest.rst:2503 -msgid "" -"import unittest\n" -"\n" -"class Test(unittest.TestCase):\n" -" @classmethod\n" -" def setUpClass(cls):\n" -" cls._connection = createExpensiveConnectionObject()\n" -"\n" -" @classmethod\n" -" def tearDownClass(cls):\n" -" cls._connection.destroy()" -msgstr "" - -#: ../../library/unittest.rst:2514 -msgid "" -"If you want the ``setUpClass`` and ``tearDownClass`` on base classes called " -"then you must call up to them yourself. The implementations in " -":class:`TestCase` are empty." -msgstr "" - -#: ../../library/unittest.rst:2518 -msgid "" -"If an exception is raised during a ``setUpClass`` then the tests in the " -"class are not run and the ``tearDownClass`` is not run. Skipped classes will" -" not have ``setUpClass`` or ``tearDownClass`` run. If the exception is a " -":exc:`SkipTest` exception then the class will be reported as having been " -"skipped instead of as an error." -msgstr "" - -#: ../../library/unittest.rst:2526 -msgid "setUpModule and tearDownModule" -msgstr "" - -#: ../../library/unittest.rst:2528 -msgid "These should be implemented as functions::" -msgstr "" - -#: ../../library/unittest.rst:2530 -msgid "" -"def setUpModule():\n" -" createConnection()\n" -"\n" -"def tearDownModule():\n" -" closeConnection()" -msgstr "" - -#: ../../library/unittest.rst:2536 -msgid "" -"If an exception is raised in a ``setUpModule`` then none of the tests in the" -" module will be run and the ``tearDownModule`` will not be run. If the " -"exception is a :exc:`SkipTest` exception then the module will be reported as" -" having been skipped instead of as an error." -msgstr "" - -#: ../../library/unittest.rst:2541 -msgid "" -"To add cleanup code that must be run even in the case of an exception, use " -"``addModuleCleanup``:" -msgstr "" - -#: ../../library/unittest.rst:2547 -msgid "" -"Add a function to be called after :func:`tearDownModule` to cleanup " -"resources used during the test class. Functions will be called in reverse " -"order to the order they are added (:abbr:`LIFO (last-in, first-out)`). They " -"are called with any arguments and keyword arguments passed into " -":meth:`addModuleCleanup` when they are added." -msgstr "" - -#: ../../library/unittest.rst:2553 -msgid "" -"If :meth:`setUpModule` fails, meaning that :func:`tearDownModule` is not " -"called, then any cleanup functions added will still be called." -msgstr "" - -#: ../../library/unittest.rst:2561 -msgid "" -"Enter the supplied :term:`context manager`. If successful, also add its " -":meth:`~object.__exit__` method as a cleanup function by " -":func:`addModuleCleanup` and return the result of the " -":meth:`~object.__enter__` method." -msgstr "" - -#: ../../library/unittest.rst:2571 -msgid "" -"This function is called unconditionally after :func:`tearDownModule`, or " -"after :func:`setUpModule` if :func:`setUpModule` raises an exception." -msgstr "" - -#: ../../library/unittest.rst:2574 -msgid "" -"It is responsible for calling all the cleanup functions added by " -":func:`addModuleCleanup`. If you need cleanup functions to be called *prior*" -" to :func:`tearDownModule` then you can call :func:`doModuleCleanups` " -"yourself." -msgstr "" - -#: ../../library/unittest.rst:2579 -msgid "" -":func:`doModuleCleanups` pops methods off the stack of cleanup functions one" -" at a time, so it can be called at any time." -msgstr "" - -#: ../../library/unittest.rst:2586 -msgid "Signal Handling" -msgstr "Penanganan Sinyal *Signal*" - -#: ../../library/unittest.rst:2590 -msgid "" -"The :option:`-c/--catch ` command-line option to unittest, " -"along with the ``catchbreak`` parameter to :func:`unittest.main`, provide " -"more friendly handling of control-C during a test run. With catch break " -"behavior enabled control-C will allow the currently running test to " -"complete, and the test run will then end and report all the results so far. " -"A second control-c will raise a :exc:`KeyboardInterrupt` in the usual way." -msgstr "" - -#: ../../library/unittest.rst:2597 -msgid "" -"The control-c handling signal handler attempts to remain compatible with " -"code or tests that install their own :const:`signal.SIGINT` handler. If the " -"``unittest`` handler is called but *isn't* the installed " -":const:`signal.SIGINT` handler, i.e. it has been replaced by the system " -"under test and delegated to, then it calls the default handler. This will " -"normally be the expected behavior by code that replaces an installed handler" -" and delegates to it. For individual tests that need ``unittest`` control-c " -"handling disabled the :func:`removeHandler` decorator can be used." -msgstr "" - -#: ../../library/unittest.rst:2606 -msgid "" -"There are a few utility functions for framework authors to enable control-c " -"handling functionality within test frameworks." -msgstr "" - -#: ../../library/unittest.rst:2611 -msgid "" -"Install the control-c handler. When a :const:`signal.SIGINT` is received " -"(usually in response to the user pressing control-c) all registered results " -"have :meth:`~TestResult.stop` called." -msgstr "" - -#: ../../library/unittest.rst:2618 -msgid "" -"Register a :class:`TestResult` object for control-c handling. Registering a " -"result stores a weak reference to it, so it doesn't prevent the result from " -"being garbage collected." -msgstr "" - -#: ../../library/unittest.rst:2622 -msgid "" -"Registering a :class:`TestResult` object has no side-effects if control-c " -"handling is not enabled, so test frameworks can unconditionally register all" -" results they create independently of whether or not handling is enabled." -msgstr "" - -#: ../../library/unittest.rst:2629 -msgid "" -"Remove a registered result. Once a result has been removed then " -":meth:`~TestResult.stop` will no longer be called on that result object in " -"response to a control-c." -msgstr "" - -#: ../../library/unittest.rst:2636 -msgid "" -"When called without arguments this function removes the control-c handler if" -" it has been installed. This function can also be used as a test decorator " -"to temporarily remove the handler while the test is being executed::" -msgstr "" - -#: ../../library/unittest.rst:2640 -msgid "" -"@unittest.removeHandler\n" -"def test_signal_handling(self):\n" -" ..." -msgstr "" diff --git a/python-newest.library--unittest_mock-examples/id.po b/python-newest.library--unittest_mock-examples/id.po deleted file mode 100644 index f6661c7..0000000 --- a/python-newest.library--unittest_mock-examples/id.po +++ /dev/null @@ -1,1353 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/unittest.mock-examples.rst:2 -msgid ":mod:`!unittest.mock` --- getting started" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:27 -msgid "Using Mock" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:30 -msgid "Mock Patching Methods" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:32 -msgid "Common uses for :class:`Mock` objects include:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:34 -msgid "Patching methods" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:35 -msgid "Recording method calls on objects" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:37 -msgid "" -"You might want to replace a method on an object to check that it is called " -"with the correct arguments by another part of the system:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:45 -msgid "" -"Once our mock has been used (``real.method`` in this example) it has methods" -" and attributes that allow you to make assertions about how it has been " -"used." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:50 -msgid "" -"In most of these examples the :class:`Mock` and :class:`MagicMock` classes " -"are interchangeable. As the ``MagicMock`` is the more capable class it makes" -" a sensible one to use by default." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:54 -msgid "" -"Once the mock has been called its :attr:`~Mock.called` attribute is set to " -"``True``. More importantly we can use the :meth:`~Mock.assert_called_with` " -"or :meth:`~Mock.assert_called_once_with` method to check that it was called " -"with the correct arguments." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:59 -msgid "" -"This example tests that calling ``ProductionClass().method`` results in a " -"call to the ``something`` method:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:76 -msgid "Mock for Method Calls on an Object" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:78 -msgid "" -"In the last example we patched a method directly on an object to check that " -"it was called correctly. Another common use case is to pass an object into a" -" method (or some part of the system under test) and then check that it is " -"used in the correct way." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:83 -msgid "" -"The simple ``ProductionClass`` below has a ``closer`` method. If it is " -"called with an object then it calls ``close`` on it." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:91 -msgid "" -"So to test it we need to pass in an object with a ``close`` method and check" -" that it was called correctly." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:99 -msgid "" -"We don't have to do any work to provide the 'close' method on our mock. " -"Accessing close creates it. So, if 'close' hasn't already been called then " -"accessing it in the test will create it, but " -":meth:`~Mock.assert_called_with` will raise a failure exception." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:106 -msgid "Mocking Classes" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:108 -msgid "" -"A common use case is to mock out classes instantiated by your code under " -"test. When you patch a class, then that class is replaced with a mock. " -"Instances are created by *calling the class*. This means you access the " -"\"mock instance\" by looking at the return value of the mocked class." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:113 -msgid "" -"In the example below we have a function ``some_function`` that instantiates " -"``Foo`` and calls a method on it. The call to :func:`patch` replaces the " -"class ``Foo`` with a mock. The ``Foo`` instance is the result of calling the" -" mock, so it is configured by modifying the mock :attr:`~Mock.return_value`." -" ::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:118 -msgid "" -">>> def some_function():\n" -"... instance = module.Foo()\n" -"... return instance.method()\n" -"...\n" -">>> with patch('module.Foo') as mock:\n" -"... instance = mock.return_value\n" -"... instance.method.return_value = 'the result'\n" -"... result = some_function()\n" -"... assert result == 'the result'" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:130 -msgid "Naming your mocks" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:132 -msgid "" -"It can be useful to give your mocks a name. The name is shown in the repr of" -" the mock and can be helpful when the mock appears in test failure messages." -" The name is also propagated to attributes or methods of the mock:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:144 -msgid "Tracking all Calls" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:146 -msgid "" -"Often you want to track more than a single call to a method. The " -":attr:`~Mock.mock_calls` attribute records all calls to child attributes of " -"the mock - and also to their children." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:158 -msgid "" -"If you make an assertion about ``mock_calls`` and any unexpected methods " -"have been called, then the assertion will fail. This is useful because as " -"well as asserting that the calls you expected have been made, you are also " -"checking that they were made in the right order and with no additional " -"calls:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:163 -msgid "" -"You use the :data:`call` object to construct lists for comparing with " -"``mock_calls``:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:170 -msgid "" -"However, parameters to calls that return mocks are not recorded, which means" -" it is not possible to track nested calls where the parameters used to " -"create ancestors are important:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:181 -msgid "Setting Return Values and Attributes" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:183 -msgid "Setting the return values on a mock object is trivially easy:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:190 -msgid "Of course you can do the same for methods on the mock:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:197 -msgid "The return value can also be set in the constructor:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:203 -msgid "If you need an attribute setting on your mock, just do it:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:210 -msgid "" -"Sometimes you want to mock up a more complex situation, like for example " -"``mock.connection.cursor().execute(\"SELECT 1\")``. If we wanted this call " -"to return a list, then we have to configure the result of the nested call." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:214 -msgid "" -"We can use :data:`call` to construct the set of calls in a \"chained call\" " -"like this for easy assertion afterwards:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:228 -msgid "" -"It is the call to ``.call_list()`` that turns our call object into a list of" -" calls representing the chained calls." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:233 -msgid "Raising exceptions with mocks" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:235 -msgid "" -"A useful attribute is :attr:`~Mock.side_effect`. If you set this to an " -"exception class or instance then the exception will be raised when the mock " -"is called." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:247 -msgid "Side effect functions and iterables" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:249 -msgid "" -"``side_effect`` can also be set to a function or an iterable. The use case " -"for ``side_effect`` as an iterable is where your mock is going to be called " -"several times, and you want each call to return a different value. When you " -"set ``side_effect`` to an iterable every call to the mock returns the next " -"value from the iterable:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:264 -msgid "" -"For more advanced use cases, like dynamically varying the return values " -"depending on what the mock is called with, ``side_effect`` can be a " -"function. The function will be called with the same arguments as the mock. " -"Whatever the function returns is what the call returns:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:281 -msgid "Mocking asynchronous iterators" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:283 -msgid "" -"Since Python 3.8, ``AsyncMock`` and ``MagicMock`` have support to mock " -":ref:`async-iterators` through ``__aiter__``. The :attr:`~Mock.return_value`" -" attribute of ``__aiter__`` can be used to set the return values to be used " -"for iteration." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:298 -msgid "Mocking asynchronous context manager" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:300 -msgid "" -"Since Python 3.8, ``AsyncMock`` and ``MagicMock`` have support to mock " -":ref:`async-context-managers` through ``__aenter__`` and ``__aexit__``. By " -"default, ``__aenter__`` and ``__aexit__`` are ``AsyncMock`` instances that " -"return an async function." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:322 -msgid "Creating a Mock from an Existing Object" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:324 -msgid "" -"One problem with over use of mocking is that it couples your tests to the " -"implementation of your mocks rather than your real code. Suppose you have a " -"class that implements ``some_method``. In a test for another class, you " -"provide a mock of this object that *also* provides ``some_method``. If later" -" you refactor the first class, so that it no longer has ``some_method`` - " -"then your tests will continue to pass even though your code is now broken!" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:331 -msgid "" -":class:`Mock` allows you to provide an object as a specification for the " -"mock, using the *spec* keyword argument. Accessing methods / attributes on " -"the mock that don't exist on your specification object will immediately " -"raise an attribute error. If you change the implementation of your " -"specification, then tests that use that class will start failing immediately" -" without you having to instantiate the class in those tests." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:344 -msgid "" -"Using a specification also enables a smarter matching of calls made to the " -"mock, regardless of whether some parameters were passed as positional or " -"named arguments::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:348 -msgid "" -">>> def f(a, b, c): pass\n" -"...\n" -">>> mock = Mock(spec=f)\n" -">>> mock(1, 2, 3)\n" -"\n" -">>> mock.assert_called_with(a=1, b=2, c=3)" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:355 -msgid "" -"If you want this smarter matching to also work with method calls on the " -"mock, you can use :ref:`auto-speccing `." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:358 -msgid "" -"If you want a stronger form of specification that prevents the setting of " -"arbitrary attributes as well as the getting of them then you can use " -"*spec_set* instead of *spec*." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:364 -msgid "Using side_effect to return per file content" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:366 -msgid "" -":func:`mock_open` is used to patch :func:`open` method. " -":attr:`~Mock.side_effect` can be used to return a new Mock object per call. " -"This can be used to return different contents per file stored in a " -"dictionary::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:370 -msgid "" -"DEFAULT = \"default\"\n" -"data_dict = {\"file1\": \"data1\",\n" -" \"file2\": \"data2\"}\n" -"\n" -"def open_side_effect(name):\n" -" return mock_open(read_data=data_dict.get(name, DEFAULT))()\n" -"\n" -"with patch(\"builtins.open\", side_effect=open_side_effect):\n" -" with open(\"file1\") as file1:\n" -" assert file1.read() == \"data1\"\n" -"\n" -" with open(\"file2\") as file2:\n" -" assert file2.read() == \"data2\"\n" -"\n" -" with open(\"file3\") as file2:\n" -" assert file2.read() == \"default\"" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:389 -msgid "Patch Decorators" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:393 -msgid "" -"With :func:`patch` it matters that you patch objects in the namespace where " -"they are looked up. This is normally straightforward, but for a quick guide " -"read :ref:`where to patch `." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:398 -msgid "" -"A common need in tests is to patch a class attribute or a module attribute, " -"for example patching a builtin or patching a class in a module to test that " -"it is instantiated. Modules and classes are effectively global, so patching " -"on them has to be undone after the test or the patch will persist into other" -" tests and cause hard to diagnose problems." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:404 -msgid "" -"mock provides three convenient decorators for this: :func:`patch`, " -":func:`patch.object` and :func:`patch.dict`. ``patch`` takes a single " -"string, of the form ``package.module.Class.attribute`` to specify the " -"attribute you are patching. It also optionally takes a value that you want " -"the attribute (or class or whatever) to be replaced with. 'patch.object' " -"takes an object and the name of the attribute you would like patched, plus " -"optionally the value to patch it with." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:412 -msgid "``patch.object``::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:414 -msgid "" -">>> original = SomeClass.attribute\n" -">>> @patch.object(SomeClass, 'attribute', sentinel.attribute)\n" -"... def test():\n" -"... assert SomeClass.attribute == sentinel.attribute\n" -"...\n" -">>> test()\n" -">>> assert SomeClass.attribute == original\n" -"\n" -">>> @patch('package.module.attribute', sentinel.attribute)\n" -"... def test():\n" -"... from package.module import attribute\n" -"... assert attribute is sentinel.attribute\n" -"...\n" -">>> test()" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:429 -msgid "" -"If you are patching a module (including :mod:`builtins`) then use " -":func:`patch` instead of :func:`patch.object`:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:439 -msgid "" -"The module name can be 'dotted', in the form ``package.module`` if needed::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:441 -msgid "" -">>> @patch('package.module.ClassName.attribute', sentinel.attribute)\n" -"... def test():\n" -"... from package.module import ClassName\n" -"... assert ClassName.attribute == sentinel.attribute\n" -"...\n" -">>> test()" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:448 -msgid "A nice pattern is to actually decorate test methods themselves:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:459 -msgid "" -"If you want to patch with a Mock, you can use :func:`patch` with only one " -"argument (or :func:`patch.object` with two arguments). The mock will be " -"created for you and passed into the test function / method:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:471 -msgid "You can stack up multiple patch decorators using this pattern::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:473 -msgid "" -">>> class MyTest(unittest.TestCase):\n" -"... @patch('package.module.ClassName1')\n" -"... @patch('package.module.ClassName2')\n" -"... def test_something(self, MockClass2, MockClass1):\n" -"... self.assertIs(package.module.ClassName1, MockClass1)\n" -"... self.assertIs(package.module.ClassName2, MockClass2)\n" -"...\n" -">>> MyTest('test_something').test_something()" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:482 -msgid "" -"When you nest patch decorators the mocks are passed in to the decorated " -"function in the same order they applied (the normal *Python* order that " -"decorators are applied). This means from the bottom up, so in the example " -"above the mock for ``test_module.ClassName2`` is passed in first." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:487 -msgid "" -"There is also :func:`patch.dict` for setting values in a dictionary just " -"during a scope and restoring the dictionary to its original state when the " -"test ends:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:498 -msgid "" -"``patch``, ``patch.object`` and ``patch.dict`` can all be used as context " -"managers." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:500 -msgid "" -"Where you use :func:`patch` to create a mock for you, you can get a " -"reference to the mock using the \"as\" form of the with statement:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:515 -msgid "" -"As an alternative ``patch``, ``patch.object`` and ``patch.dict`` can be used" -" as class decorators. When used in this way it is the same as applying the " -"decorator individually to every method whose name starts with \"test\"." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:523 -msgid "Further Examples" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:526 -msgid "Here are some more examples for some slightly more advanced scenarios." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:530 -msgid "Mocking chained calls" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:532 -msgid "" -"Mocking chained calls is actually straightforward with mock once you " -"understand the :attr:`~Mock.return_value` attribute. When a mock is called " -"for the first time, or you fetch its ``return_value`` before it has been " -"called, a new :class:`Mock` is created." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:537 -msgid "" -"This means that you can see how the object returned from a call to a mocked " -"object has been used by interrogating the ``return_value`` mock:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:545 -msgid "" -"From here it is a simple step to configure and then make assertions about " -"chained calls. Of course another alternative is writing your code in a more " -"testable way in the first place..." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:549 -msgid "So, suppose we have some code that looks a little bit like this:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:558 -msgid "" -"Assuming that ``BackendProvider`` is already well tested, how do we test " -"``method()``? Specifically, we want to test that the code section ``# more " -"code`` uses the response object in the correct way." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:562 -msgid "" -"As this chain of calls is made from an instance attribute we can monkey " -"patch the ``backend`` attribute on a ``Something`` instance. In this " -"particular case we are only interested in the return value from the final " -"call to ``start_call`` so we don't have much configuration to do. Let's " -"assume the object it returns is 'file-like', so we'll ensure that our " -"response object uses the builtin :func:`open` as its ``spec``." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:569 -msgid "" -"To do this we create a mock instance as our mock backend and create a mock " -"response object for it. To set the response as the return value for that " -"final ``start_call`` we could do this::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:573 -msgid "" -"mock_backend.get_endpoint.return_value.create_call.return_value.start_call.return_value" -" = mock_response" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:575 -msgid "" -"We can do that in a slightly nicer way using the " -":meth:`~Mock.configure_mock` method to directly set the return value for " -"us::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:578 -msgid "" -">>> something = Something()\n" -">>> mock_response = Mock(spec=open)\n" -">>> mock_backend = Mock()\n" -">>> config = {'get_endpoint.return_value.create_call.return_value.start_call.return_value': mock_response}\n" -">>> mock_backend.configure_mock(**config)" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:584 -msgid "" -"With these we monkey patch the \"mock backend\" in place and can make the " -"real call::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:587 -msgid "" -">>> something.backend = mock_backend\n" -">>> something.method()" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:590 -msgid "" -"Using :attr:`~Mock.mock_calls` we can check the chained call with a single " -"assert. A chained call is several calls in one line of code, so there will " -"be several entries in ``mock_calls``. We can use :meth:`call.call_list` to " -"create this list of calls for us::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:595 -msgid "" -">>> chained = call.get_endpoint('foobar').create_call('spam', 'eggs').start_call()\n" -">>> call_list = chained.call_list()\n" -">>> assert mock_backend.mock_calls == call_list" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:601 -msgid "Partial mocking" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:603 -msgid "" -"In some tests I wanted to mock out a call to :meth:`datetime.date.today` to " -"return a known date, but I didn't want to prevent the code under test from " -"creating new date objects. Unfortunately :class:`datetime.date` is written " -"in C, and so I couldn't just monkey-patch out the static " -":meth:`datetime.date.today` method." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:608 -msgid "" -"I found a simple way of doing this that involved effectively wrapping the " -"date class with a mock, but passing through calls to the constructor to the " -"real class (and returning real instances)." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:612 -msgid "" -"The :func:`patch decorator ` is used here to mock out the ``date`` " -"class in the module under test. The :attr:`~Mock.side_effect` attribute on " -"the mock date class is then set to a lambda function that returns a real " -"date. When the mock date class is called a real date will be constructed and" -" returned by ``side_effect``. ::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:618 -msgid "" -">>> from datetime import date\n" -">>> with patch('mymodule.date') as mock_date:\n" -"... mock_date.today.return_value = date(2010, 10, 8)\n" -"... mock_date.side_effect = lambda *args, **kw: date(*args, **kw)\n" -"...\n" -"... assert mymodule.date.today() == date(2010, 10, 8)\n" -"... assert mymodule.date(2009, 6, 8) == date(2009, 6, 8)" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:626 -msgid "" -"Note that we don't patch :class:`datetime.date` globally, we patch ``date`` " -"in the module that *uses* it. See :ref:`where to patch `." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:629 -msgid "" -"When ``date.today()`` is called a known date is returned, but calls to the " -"``date(...)`` constructor still return normal dates. Without this you can " -"find yourself having to calculate an expected result using exactly the same " -"algorithm as the code under test, which is a classic testing anti-pattern." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:634 -msgid "" -"Calls to the date constructor are recorded in the ``mock_date`` attributes " -"(``call_count`` and friends) which may also be useful for your tests." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:637 -msgid "" -"An alternative way of dealing with mocking dates, or other builtin classes, " -"is discussed in `this blog entry `_." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:643 -msgid "Mocking a Generator Method" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:645 -msgid "" -"A Python generator is a function or method that uses the :keyword:`yield` " -"statement to return a series of values when iterated over [#]_." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:648 -msgid "" -"A generator method / function is called to return the generator object. It " -"is the generator object that is then iterated over. The protocol method for " -"iteration is :meth:`~container.__iter__`, so we can mock this using a " -":class:`MagicMock`." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:653 -msgid "" -"Here's an example class with an \"iter\" method implemented as a generator:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:665 -msgid "How would we mock this class, and in particular its \"iter\" method?" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:667 -msgid "" -"To configure the values returned from the iteration (implicit in the call to" -" :class:`list`), we need to configure the object returned by the call to " -"``foo.iter()``." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:675 -msgid "" -"There are also generator expressions and more `advanced uses " -"`_ of generators, but we aren't" -" concerned about them here. A very good introduction to generators and how " -"powerful they are is: `Generator Tricks for Systems Programmers " -"`_." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:683 -msgid "Applying the same patch to every test method" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:685 -msgid "" -"If you want several patches in place for multiple test methods the obvious " -"way is to apply the patch decorators to every method. This can feel like " -"unnecessary repetition. Instead, you can use :func:`patch` (in all its " -"various forms) as a class decorator. This applies the patches to all test " -"methods on the class. A test method is identified by methods whose names " -"start with ``test``::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:692 -msgid "" -">>> @patch('mymodule.SomeClass')\n" -"... class MyTest(unittest.TestCase):\n" -"...\n" -"... def test_one(self, MockSomeClass):\n" -"... self.assertIs(mymodule.SomeClass, MockSomeClass)\n" -"...\n" -"... def test_two(self, MockSomeClass):\n" -"... self.assertIs(mymodule.SomeClass, MockSomeClass)\n" -"...\n" -"... def not_a_test(self):\n" -"... return 'something'\n" -"...\n" -">>> MyTest('test_one').test_one()\n" -">>> MyTest('test_two').test_two()\n" -">>> MyTest('test_two').not_a_test()\n" -"'something'" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:709 -msgid "" -"An alternative way of managing patches is to use the :ref:`start-and-stop`. " -"These allow you to move the patching into your ``setUp`` and ``tearDown`` " -"methods. ::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:713 -msgid "" -">>> class MyTest(unittest.TestCase):\n" -"... def setUp(self):\n" -"... self.patcher = patch('mymodule.foo')\n" -"... self.mock_foo = self.patcher.start()\n" -"...\n" -"... def test_foo(self):\n" -"... self.assertIs(mymodule.foo, self.mock_foo)\n" -"...\n" -"... def tearDown(self):\n" -"... self.patcher.stop()\n" -"...\n" -">>> MyTest('test_foo').run()" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:726 -msgid "" -"If you use this technique you must ensure that the patching is \"undone\" by" -" calling ``stop``. This can be fiddlier than you might think, because if an " -"exception is raised in the setUp then tearDown is not called. " -":meth:`unittest.TestCase.addCleanup` makes this easier::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:731 -msgid "" -">>> class MyTest(unittest.TestCase):\n" -"... def setUp(self):\n" -"... patcher = patch('mymodule.foo')\n" -"... self.addCleanup(patcher.stop)\n" -"... self.mock_foo = patcher.start()\n" -"...\n" -"... def test_foo(self):\n" -"... self.assertIs(mymodule.foo, self.mock_foo)\n" -"...\n" -">>> MyTest('test_foo').run()" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:744 -msgid "Mocking Unbound Methods" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:746 -msgid "" -"Whilst writing tests today I needed to patch an *unbound method* (patching " -"the method on the class rather than on the instance). I needed self to be " -"passed in as the first argument because I want to make asserts about which " -"objects were calling this particular method. The issue is that you can't " -"patch with a mock for this, because if you replace an unbound method with a " -"mock it doesn't become a bound method when fetched from the instance, and so" -" it doesn't get self passed in. The workaround is to patch the unbound " -"method with a real function instead. The :func:`patch` decorator makes it so" -" simple to patch out methods with a mock that having to create a real " -"function becomes a nuisance." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:757 -msgid "" -"If you pass ``autospec=True`` to patch then it does the patching with a " -"*real* function object. This function object has the same signature as the " -"one it is replacing, but delegates to a mock under the hood. You still get " -"your mock auto-created in exactly the same way as before. What it means " -"though, is that if you use it to patch out an unbound method on a class the " -"mocked function will be turned into a bound method if it is fetched from an " -"instance. It will have ``self`` passed in as the first argument, which is " -"exactly what I wanted:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:778 -msgid "" -"If we don't use ``autospec=True`` then the unbound method is patched out " -"with a Mock instance instead, and isn't called with ``self``." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:783 -msgid "Checking multiple calls with mock" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:785 -msgid "" -"mock has a nice API for making assertions about how your mock objects are " -"used." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:792 -msgid "" -"If your mock is only being called once you can use the " -":meth:`~Mock.assert_called_once_with` method that also asserts that the " -":attr:`~Mock.call_count` is one." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:804 -msgid "" -"Both ``assert_called_with`` and ``assert_called_once_with`` make assertions " -"about the *most recent* call. If your mock is going to be called several " -"times, and you want to make assertions about *all* those calls you can use " -":attr:`~Mock.call_args_list`:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:816 -msgid "" -"The :data:`call` helper makes it easy to make assertions about these calls. " -"You can build up a list of expected calls and compare it to " -"``call_args_list``. This looks remarkably similar to the repr of the " -"``call_args_list``:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:826 -msgid "Coping with mutable arguments" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:828 -msgid "" -"Another situation is rare, but can bite you, is when your mock is called " -"with mutable arguments. ``call_args`` and ``call_args_list`` store " -"*references* to the arguments. If the arguments are mutated by the code " -"under test then you can no longer make assertions about what the values were" -" when the mock was called." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:833 -msgid "" -"Here's some example code that shows the problem. Imagine the following " -"functions defined in 'mymodule'::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:836 -msgid "" -"def frob(val):\n" -" pass\n" -"\n" -"def grob(val):\n" -" \"First frob and then clear val\"\n" -" frob(val)\n" -" val.clear()" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:844 -msgid "" -"When we try to test that ``grob`` calls ``frob`` with the correct argument " -"look what happens::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:847 -msgid "" -">>> with patch('mymodule.frob') as mock_frob:\n" -"... val = {6}\n" -"... mymodule.grob(val)\n" -"...\n" -">>> val\n" -"set()\n" -">>> mock_frob.assert_called_with({6})\n" -"Traceback (most recent call last):\n" -" ...\n" -"AssertionError: Expected: (({6},), {})\n" -"Called with: ((set(),), {})" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:859 -msgid "" -"One possibility would be for mock to copy the arguments you pass in. This " -"could then cause problems if you do assertions that rely on object identity " -"for equality." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:863 -msgid "" -"Here's one solution that uses the :attr:`~Mock.side_effect` functionality. " -"If you provide a ``side_effect`` function for a mock then ``side_effect`` " -"will be called with the same args as the mock. This gives us an opportunity " -"to copy the arguments and store them for later assertions. In this example " -"I'm using *another* mock to store the arguments so that I can use the mock " -"methods for doing the assertion. Again a helper function sets this up for " -"me. ::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:871 -msgid "" -">>> from copy import deepcopy\n" -">>> from unittest.mock import Mock, patch, DEFAULT\n" -">>> def copy_call_args(mock):\n" -"... new_mock = Mock()\n" -"... def side_effect(*args, **kwargs):\n" -"... args = deepcopy(args)\n" -"... kwargs = deepcopy(kwargs)\n" -"... new_mock(*args, **kwargs)\n" -"... return DEFAULT\n" -"... mock.side_effect = side_effect\n" -"... return new_mock\n" -"...\n" -">>> with patch('mymodule.frob') as mock_frob:\n" -"... new_mock = copy_call_args(mock_frob)\n" -"... val = {6}\n" -"... mymodule.grob(val)\n" -"...\n" -">>> new_mock.assert_called_with({6})\n" -">>> new_mock.call_args\n" -"call({6})" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:892 -msgid "" -"``copy_call_args`` is called with the mock that will be called. It returns a" -" new mock that we do the assertion on. The ``side_effect`` function makes a " -"copy of the args and calls our ``new_mock`` with the copy." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:898 -msgid "" -"If your mock is only going to be used once there is an easier way of " -"checking arguments at the point they are called. You can simply do the " -"checking inside a ``side_effect`` function." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:912 -msgid "" -"An alternative approach is to create a subclass of :class:`Mock` or " -":class:`MagicMock` that copies (using :func:`copy.deepcopy`) the arguments. " -"Here's an example implementation:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:937 -msgid "" -"When you subclass ``Mock`` or ``MagicMock`` all dynamically created " -"attributes, and the ``return_value`` will use your subclass automatically. " -"That means all children of a ``CopyingMock`` will also have the type " -"``CopyingMock``." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:943 -msgid "Nesting Patches" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:945 -msgid "" -"Using patch as a context manager is nice, but if you do multiple patches you" -" can end up with nested with statements indenting further and further to the" -" right::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:949 -msgid "" -">>> class MyTest(unittest.TestCase):\n" -"...\n" -"... def test_foo(self):\n" -"... with patch('mymodule.Foo') as mock_foo:\n" -"... with patch('mymodule.Bar') as mock_bar:\n" -"... with patch('mymodule.Spam') as mock_spam:\n" -"... assert mymodule.Foo is mock_foo\n" -"... assert mymodule.Bar is mock_bar\n" -"... assert mymodule.Spam is mock_spam\n" -"...\n" -">>> original = mymodule.Foo\n" -">>> MyTest('test_foo').test_foo()\n" -">>> assert mymodule.Foo is original" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:963 -msgid "" -"With unittest ``cleanup`` functions and the :ref:`start-and-stop` we can " -"achieve the same effect without the nested indentation. A simple helper " -"method, ``create_patch``, puts the patch in place and returns the created " -"mock for us::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:968 -msgid "" -">>> class MyTest(unittest.TestCase):\n" -"...\n" -"... def create_patch(self, name):\n" -"... patcher = patch(name)\n" -"... thing = patcher.start()\n" -"... self.addCleanup(patcher.stop)\n" -"... return thing\n" -"...\n" -"... def test_foo(self):\n" -"... mock_foo = self.create_patch('mymodule.Foo')\n" -"... mock_bar = self.create_patch('mymodule.Bar')\n" -"... mock_spam = self.create_patch('mymodule.Spam')\n" -"...\n" -"... assert mymodule.Foo is mock_foo\n" -"... assert mymodule.Bar is mock_bar\n" -"... assert mymodule.Spam is mock_spam\n" -"...\n" -">>> original = mymodule.Foo\n" -">>> MyTest('test_foo').run()\n" -">>> assert mymodule.Foo is original" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:991 -msgid "Mocking a dictionary with MagicMock" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:993 -msgid "" -"You may want to mock a dictionary, or other container object, recording all " -"access to it whilst having it still behave like a dictionary." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:996 -msgid "" -"We can do this with :class:`MagicMock`, which will behave like a dictionary," -" and using :data:`~Mock.side_effect` to delegate dictionary access to a real" -" underlying dictionary that is under our control." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1000 -msgid "" -"When the :meth:`~object.__getitem__` and :meth:`~object.__setitem__` methods" -" of our ``MagicMock`` are called (normal dictionary access) then " -"``side_effect`` is called with the key (and in the case of ``__setitem__`` " -"the value too). We can also control what is returned." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1005 -msgid "" -"After the ``MagicMock`` has been used we can use attributes like " -":data:`~Mock.call_args_list` to assert about how the dictionary was used:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1021 -msgid "" -"An alternative to using ``MagicMock`` is to use ``Mock`` and *only* provide " -"the magic methods you specifically want:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1028 -msgid "" -"A *third* option is to use ``MagicMock`` but passing in ``dict`` as the " -"*spec* (or *spec_set*) argument so that the ``MagicMock`` created only has " -"dictionary magic methods available:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1036 -msgid "" -"With these side effect functions in place, the ``mock`` will behave like a " -"normal dictionary but recording the access. It even raises a :exc:`KeyError`" -" if you try to access a key that doesn't exist." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1055 -msgid "" -"After it has been used you can make assertions about the access using the " -"normal mock methods and attributes:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1067 -msgid "Mock subclasses and their attributes" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1069 -msgid "" -"There are various reasons why you might want to subclass :class:`Mock`. One " -"reason might be to add helper methods. Here's a silly example:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1085 -msgid "" -"The standard behaviour for ``Mock`` instances is that attributes and the " -"return value mocks are of the same type as the mock they are accessed on. " -"This ensures that ``Mock`` attributes are ``Mocks`` and ``MagicMock`` " -"attributes are ``MagicMocks`` [#]_. So if you're subclassing to add helper " -"methods then they'll also be available on the attributes and return value " -"mock of instances of your subclass." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1101 -msgid "" -"Sometimes this is inconvenient. For example, `one user " -"`_ is subclassing mock to" -" created a `Twisted adaptor " -"`_." -" Having this applied to attributes too actually causes errors." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1107 -msgid "" -"``Mock`` (in all its flavours) uses a method called ``_get_child_mock`` to " -"create these \"sub-mocks\" for attributes and return values. You can prevent" -" your subclass being used for attributes by overriding this method. The " -"signature is that it takes arbitrary keyword arguments (``**kwargs``) which " -"are then passed onto the mock constructor:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1124 -msgid "" -"An exception to this rule are the non-callable mocks. Attributes use the " -"callable variant because otherwise non-callable mocks couldn't have callable" -" methods." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1130 -msgid "Mocking imports with patch.dict" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1132 -msgid "" -"One situation where mocking can be hard is where you have a local import " -"inside a function. These are harder to mock because they aren't using an " -"object from the module namespace that we can patch out." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1136 -msgid "" -"Generally local imports are to be avoided. They are sometimes done to " -"prevent circular dependencies, for which there is *usually* a much better " -"way to solve the problem (refactor the code) or to prevent \"up front " -"costs\" by delaying the import. This can also be solved in better ways than " -"an unconditional local import (store the module as a class or module " -"attribute and only do the import on first use)." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1143 -msgid "" -"That aside there is a way to use ``mock`` to affect the results of an " -"import. Importing fetches an *object* from the :data:`sys.modules` " -"dictionary. Note that it fetches an *object*, which need not be a module. " -"Importing a module for the first time results in a module object being put " -"in ``sys.modules``, so usually when you import something you get a module " -"back. This need not be the case however." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1150 -msgid "" -"This means you can use :func:`patch.dict` to *temporarily* put a mock in " -"place in :data:`sys.modules`. Any imports whilst this patch is active will " -"fetch the mock. When the patch is complete (the decorated function exits, " -"the with statement body is complete or ``patcher.stop()`` is called) then " -"whatever was there previously will be restored safely." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1156 -msgid "Here's an example that mocks out the 'fooble' module." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1168 -msgid "" -"As you can see the ``import fooble`` succeeds, but on exit there is no " -"'fooble' left in :data:`sys.modules`." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1171 -msgid "This also works for the ``from module import name`` form:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1181 -msgid "With slightly more work you can also mock package imports:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1194 -msgid "Tracking order of calls and less verbose call assertions" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1196 -msgid "" -"The :class:`Mock` class allows you to track the *order* of method calls on " -"your mock objects through the :attr:`~Mock.method_calls` attribute. This " -"doesn't allow you to track the order of calls between separate mock objects," -" however we can use :attr:`~Mock.mock_calls` to achieve the same effect." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1201 -msgid "" -"Because mocks track calls to child mocks in ``mock_calls``, and accessing an" -" arbitrary attribute of a mock creates a child mock, we can create our " -"separate mocks from a parent one. Calls to those child mock will then all be" -" recorded, in order, in the ``mock_calls`` of the parent:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1218 -msgid "" -"We can then assert about the calls, including the order, by comparing with " -"the ``mock_calls`` attribute on the manager mock:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1225 -msgid "" -"If ``patch`` is creating, and putting in place, your mocks then you can " -"attach them to a manager mock using the :meth:`~Mock.attach_mock` method. " -"After attaching calls will be recorded in ``mock_calls`` of the manager. ::" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1229 -msgid "" -">>> manager = MagicMock()\n" -">>> with patch('mymodule.Class1') as MockClass1:\n" -"... with patch('mymodule.Class2') as MockClass2:\n" -"... manager.attach_mock(MockClass1, 'MockClass1')\n" -"... manager.attach_mock(MockClass2, 'MockClass2')\n" -"... MockClass1().foo()\n" -"... MockClass2().bar()\n" -"\n" -"\n" -">>> manager.mock_calls\n" -"[call.MockClass1(),\n" -"call.MockClass1().foo(),\n" -"call.MockClass2(),\n" -"call.MockClass2().bar()]" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1244 -msgid "" -"If many calls have been made, but you're only interested in a particular " -"sequence of them then an alternative is to use the " -":meth:`~Mock.assert_has_calls` method. This takes a list of calls " -"(constructed with the :data:`call` object). If that sequence of calls are in" -" :attr:`~Mock.mock_calls` then the assert succeeds." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1258 -msgid "" -"Even though the chained call ``m.one().two().three()`` aren't the only calls" -" that have been made to the mock, the assert still succeeds." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1261 -msgid "" -"Sometimes a mock may have several calls made to it, and you are only " -"interested in asserting about *some* of those calls. You may not even care " -"about the order. In this case you can pass ``any_order=True`` to " -"``assert_has_calls``:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1273 -msgid "More complex argument matching" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1275 -msgid "" -"Using the same basic concept as :data:`ANY` we can implement matchers to do " -"more complex assertions on objects used as arguments to mocks." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1278 -msgid "" -"Suppose we expect some object to be passed to a mock that by default " -"compares equal based on object identity (which is the Python default for " -"user defined classes). To use :meth:`~Mock.assert_called_with` we would need" -" to pass in the exact same object. If we are only interested in some of the " -"attributes of this object then we can create a matcher that will check these" -" attributes for us." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1285 -msgid "" -"You can see in this example how a 'standard' call to ``assert_called_with`` " -"isn't sufficient:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1301 -msgid "" -"A comparison function for our ``Foo`` class might look something like this:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1313 -msgid "" -"And a matcher object that can use comparison functions like this for its " -"equality operation would look something like this:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1324 -msgid "Putting all this together:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1329 -msgid "" -"The ``Matcher`` is instantiated with our compare function and the ``Foo`` " -"object we want to compare against. In ``assert_called_with`` the ``Matcher``" -" equality method will be called, which compares the object the mock was " -"called with against the one we created our matcher with. If they match then " -"``assert_called_with`` passes, and if they don't an :exc:`AssertionError` is" -" raised:" -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1342 -msgid "" -"With a bit of tweaking you could have the comparison function raise the " -":exc:`AssertionError` directly and provide a more useful failure message." -msgstr "" - -#: ../../library/unittest.mock-examples.rst:1345 -msgid "" -"As of version 1.5, the Python testing library `PyHamcrest " -"`_ provides similar functionality, that " -"may be useful here, in the form of its equality matcher " -"(`hamcrest.library.integration.match_equality " -"`_)." -msgstr "" diff --git a/python-newest.library--unittest_mock/id.po b/python-newest.library--unittest_mock/id.po deleted file mode 100644 index e8689c0..0000000 --- a/python-newest.library--unittest_mock/id.po +++ /dev/null @@ -1,3101 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/unittest.mock.rst:2 -msgid ":mod:`!unittest.mock` --- mock object library" -msgstr "" - -#: ../../library/unittest.mock.rst:12 -msgid "**Source code:** :source:`Lib/unittest/mock.py`" -msgstr "" - -#: ../../library/unittest.mock.rst:16 -msgid "" -":mod:`unittest.mock` is a library for testing in Python. It allows you to " -"replace parts of your system under test with mock objects and make " -"assertions about how they have been used." -msgstr "" - -#: ../../library/unittest.mock.rst:20 -msgid "" -":mod:`unittest.mock` provides a core :class:`Mock` class removing the need " -"to create a host of stubs throughout your test suite. After performing an " -"action, you can make assertions about which methods / attributes were used " -"and arguments they were called with. You can also specify return values and " -"set needed attributes in the normal way." -msgstr "" - -#: ../../library/unittest.mock.rst:26 -msgid "" -"Additionally, mock provides a :func:`patch` decorator that handles patching " -"module and class level attributes within the scope of a test, along with " -":const:`sentinel` for creating unique objects. See the `quick guide`_ for " -"some examples of how to use :class:`Mock`, :class:`MagicMock` and " -":func:`patch`." -msgstr "" - -#: ../../library/unittest.mock.rst:32 -msgid "" -"Mock is designed for use with :mod:`unittest` and is based on the 'action ->" -" assertion' pattern instead of 'record -> replay' used by many mocking " -"frameworks." -msgstr "" - -#: ../../library/unittest.mock.rst:36 -msgid "" -"There is a backport of :mod:`unittest.mock` for earlier versions of Python, " -"available as :pypi:`mock` on PyPI." -msgstr "" - -#: ../../library/unittest.mock.rst:41 -msgid "Quick Guide" -msgstr "" - -#: ../../library/unittest.mock.rst:59 -msgid "" -":class:`Mock` and :class:`MagicMock` objects create all attributes and " -"methods as you access them and store details of how they have been used. You" -" can configure them, to specify return values or limit what attributes are " -"available, and then make assertions about how they have been used:" -msgstr "" - -#: ../../library/unittest.mock.rst:71 -msgid "" -":attr:`~Mock.side_effect` allows you to perform side effects, including " -"raising an exception when a mock is called:" -msgstr "" - -#: ../../library/unittest.mock.rst:92 -msgid "" -"Mock has many other ways you can configure it and control its behaviour. For" -" example the *spec* argument configures the mock to take its specification " -"from another object. Attempting to access attributes or methods on the mock " -"that don't exist on the spec will fail with an :exc:`AttributeError`." -msgstr "" - -#: ../../library/unittest.mock.rst:97 -msgid "" -"The :func:`patch` decorator / context manager makes it easy to mock classes " -"or objects in a module under test. The object you specify will be replaced " -"with a mock (or other object) during the test and restored when the test " -"ends::" -msgstr "" - -#: ../../library/unittest.mock.rst:101 -msgid "" -">>> from unittest.mock import patch\n" -">>> @patch('module.ClassName2')\n" -"... @patch('module.ClassName1')\n" -"... def test(MockClass1, MockClass2):\n" -"... module.ClassName1()\n" -"... module.ClassName2()\n" -"... assert MockClass1 is module.ClassName1\n" -"... assert MockClass2 is module.ClassName2\n" -"... assert MockClass1.called\n" -"... assert MockClass2.called\n" -"...\n" -">>> test()" -msgstr "" - -#: ../../library/unittest.mock.rst:116 -msgid "" -"When you nest patch decorators the mocks are passed in to the decorated " -"function in the same order they applied (the normal *Python* order that " -"decorators are applied). This means from the bottom up, so in the example " -"above the mock for ``module.ClassName1`` is passed in first." -msgstr "" - -#: ../../library/unittest.mock.rst:121 -msgid "" -"With :func:`patch` it matters that you patch objects in the namespace where " -"they are looked up. This is normally straightforward, but for a quick guide " -"read :ref:`where to patch `." -msgstr "" - -#: ../../library/unittest.mock.rst:125 -msgid "" -"As well as a decorator :func:`patch` can be used as a context manager in a " -"with statement:" -msgstr "" - -#: ../../library/unittest.mock.rst:135 -msgid "" -"There is also :func:`patch.dict` for setting values in a dictionary just " -"during a scope and restoring the dictionary to its original state when the " -"test ends:" -msgstr "" - -#: ../../library/unittest.mock.rst:146 -msgid "" -"Mock supports the mocking of Python :ref:`magic methods `. " -"The easiest way of using magic methods is with the :class:`MagicMock` class." -" It allows you to do things like:" -msgstr "" - -#: ../../library/unittest.mock.rst:156 -msgid "" -"Mock allows you to assign functions (or other Mock instances) to magic " -"methods and they will be called appropriately. The :class:`MagicMock` class " -"is just a Mock variant that has all of the magic methods pre-created for you" -" (well, all the useful ones anyway)." -msgstr "" - -#: ../../library/unittest.mock.rst:161 -msgid "" -"The following is an example of using magic methods with the ordinary Mock " -"class:" -msgstr "" - -#: ../../library/unittest.mock.rst:169 -msgid "" -"For ensuring that the mock objects in your tests have the same api as the " -"objects they are replacing, you can use :ref:`auto-speccing `. Auto-speccing can be done through the *autospec* argument to " -"patch, or the :func:`create_autospec` function. Auto-speccing creates mock " -"objects that have the same attributes and methods as the objects they are " -"replacing, and any functions and methods (including constructors) have the " -"same call signature as the real object." -msgstr "" - -#: ../../library/unittest.mock.rst:177 -msgid "" -"This ensures that your mocks will fail in the same way as your production " -"code if they are used incorrectly:" -msgstr "" - -#: ../../library/unittest.mock.rst:193 -msgid "" -":func:`create_autospec` can also be used on classes, where it copies the " -"signature of the ``__init__`` method, and on callable objects where it " -"copies the signature of the ``__call__`` method." -msgstr "" - -#: ../../library/unittest.mock.rst:200 -msgid "The Mock Class" -msgstr "" - -#: ../../library/unittest.mock.rst:213 -msgid "" -":class:`Mock` is a flexible mock object intended to replace the use of stubs" -" and test doubles throughout your code. Mocks are callable and create " -"attributes as new mocks when you access them [#]_. Accessing the same " -"attribute will always return the same mock. Mocks record how you use them, " -"allowing you to make assertions about what your code has done to them." -msgstr "" - -#: ../../library/unittest.mock.rst:219 -msgid "" -":class:`MagicMock` is a subclass of :class:`Mock` with all the magic methods" -" pre-created and ready to use. There are also non-callable variants, useful " -"when you are mocking out objects that aren't callable: " -":class:`NonCallableMock` and :class:`NonCallableMagicMock`" -msgstr "" - -#: ../../library/unittest.mock.rst:224 -msgid "" -"The :func:`patch` decorators makes it easy to temporarily replace classes in" -" a particular module with a :class:`Mock` object. By default :func:`patch` " -"will create a :class:`MagicMock` for you. You can specify an alternative " -"class of :class:`Mock` using the *new_callable* argument to :func:`patch`." -msgstr "" - -#: ../../library/unittest.mock.rst:232 -msgid "" -"Create a new :class:`Mock` object. :class:`Mock` takes several optional " -"arguments that specify the behaviour of the Mock object:" -msgstr "" - -#: ../../library/unittest.mock.rst:235 -msgid "" -"*spec*: This can be either a list of strings or an existing object (a class " -"or instance) that acts as the specification for the mock object. If you pass" -" in an object then a list of strings is formed by calling dir on the object " -"(excluding unsupported magic attributes and methods). Accessing any " -"attribute not in this list will raise an :exc:`AttributeError`." -msgstr "" - -#: ../../library/unittest.mock.rst:241 -msgid "" -"If *spec* is an object (rather than a list of strings) then " -":attr:`~object.__class__` returns the class of the spec object. This allows " -"mocks to pass :func:`isinstance` tests." -msgstr "" - -#: ../../library/unittest.mock.rst:245 -msgid "" -"*spec_set*: A stricter variant of *spec*. If used, attempting to *set* or " -"get an attribute on the mock that isn't on the object passed as *spec_set* " -"will raise an :exc:`AttributeError`." -msgstr "" - -#: ../../library/unittest.mock.rst:249 -msgid "" -"*side_effect*: A function to be called whenever the Mock is called. See the " -":attr:`~Mock.side_effect` attribute. Useful for raising exceptions or " -"dynamically changing return values. The function is called with the same " -"arguments as the mock, and unless it returns :data:`DEFAULT`, the return " -"value of this function is used as the return value." -msgstr "" - -#: ../../library/unittest.mock.rst:255 -msgid "" -"Alternatively *side_effect* can be an exception class or instance. In this " -"case the exception will be raised when the mock is called." -msgstr "" - -#: ../../library/unittest.mock.rst:258 -msgid "" -"If *side_effect* is an iterable then each call to the mock will return the " -"next value from the iterable." -msgstr "" - -#: ../../library/unittest.mock.rst:261 -msgid "A *side_effect* can be cleared by setting it to ``None``." -msgstr "" - -#: ../../library/unittest.mock.rst:263 -msgid "" -"*return_value*: The value returned when the mock is called. By default this " -"is a new Mock (created on first access). See the :attr:`return_value` " -"attribute." -msgstr "" - -#: ../../library/unittest.mock.rst:267 -msgid "" -"*unsafe*: By default, accessing any attribute whose name starts with " -"*assert*, *assret*, *asert*, *aseert* or *assrt* will raise an " -":exc:`AttributeError`. Passing ``unsafe=True`` will allow access to these " -"attributes." -msgstr "" - -#: ../../library/unittest.mock.rst:274 -msgid "" -"*wraps*: Item for the mock object to wrap. If *wraps* is not ``None`` then " -"calling the Mock will pass the call through to the wrapped object (returning" -" the real result). Attribute access on the mock will return a Mock object " -"that wraps the corresponding attribute of the wrapped object (so attempting " -"to access an attribute that doesn't exist will raise an " -":exc:`AttributeError`)." -msgstr "" - -#: ../../library/unittest.mock.rst:281 -msgid "" -"If the mock has an explicit *return_value* set then calls are not passed to " -"the wrapped object and the *return_value* is returned instead." -msgstr "" - -#: ../../library/unittest.mock.rst:284 -msgid "" -"*name*: If the mock has a name then it will be used in the repr of the mock." -" This can be useful for debugging. The name is propagated to child mocks." -msgstr "" - -#: ../../library/unittest.mock.rst:288 -msgid "" -"Mocks can also be called with arbitrary keyword arguments. These will be " -"used to set attributes on the mock after it is created. See the " -":meth:`configure_mock` method for details." -msgstr "" - -#: ../../library/unittest.mock.rst:294 -msgid "Assert that the mock was called at least once." -msgstr "" - -#: ../../library/unittest.mock.rst:305 -msgid "Assert that the mock was called exactly once." -msgstr "" - -#: ../../library/unittest.mock.rst:324 -msgid "" -"This method is a convenient way of asserting that the last call has been " -"made in a particular way:" -msgstr "" - -#: ../../library/unittest.mock.rst:334 -msgid "" -"Assert that the mock was called exactly once and that call was with the " -"specified arguments." -msgstr "" - -#: ../../library/unittest.mock.rst:349 -msgid "assert the mock has been called with the specified arguments." -msgstr "" - -#: ../../library/unittest.mock.rst:351 -msgid "" -"The assert passes if the mock has *ever* been called, unlike " -":meth:`assert_called_with` and :meth:`assert_called_once_with` that only " -"pass if the call is the most recent one, and in the case of " -":meth:`assert_called_once_with` it must also be the only call." -msgstr "" - -#: ../../library/unittest.mock.rst:364 -msgid "" -"assert the mock has been called with the specified calls. The " -":attr:`mock_calls` list is checked for the calls." -msgstr "" - -#: ../../library/unittest.mock.rst:367 -msgid "" -"If *any_order* is false then the calls must be sequential. There can be " -"extra calls before or after the specified calls." -msgstr "" - -#: ../../library/unittest.mock.rst:371 -msgid "" -"If *any_order* is true then the calls can be in any order, but they must all" -" appear in :attr:`mock_calls`." -msgstr "" - -#: ../../library/unittest.mock.rst:386 -msgid "Assert the mock was never called." -msgstr "" - -#: ../../library/unittest.mock.rst:402 -msgid "The reset_mock method resets all the call attributes on a mock object:" -msgstr "" - -#: ../../library/unittest.mock.rst:404 -msgid "" -">>> mock = Mock(return_value=None)\n" -">>> mock('hello')\n" -">>> mock.called\n" -"True\n" -">>> mock.reset_mock()\n" -">>> mock.called\n" -"False" -msgstr "" - -#: ../../library/unittest.mock.rst:414 -msgid "" -"This can be useful where you want to make a series of assertions that reuse " -"the same object." -msgstr "" - -#: ../../library/unittest.mock.rst:417 -msgid "" -"*return_value* parameter when set to ``True`` resets :attr:`return_value`:" -msgstr "" - -#: ../../library/unittest.mock.rst:419 -msgid "" -">>> mock = Mock(return_value=5)\n" -">>> mock('hello')\n" -"5\n" -">>> mock.reset_mock(return_value=True)\n" -">>> mock('hello')\n" -"" -msgstr "" - -#: ../../library/unittest.mock.rst:428 -msgid "" -"*side_effect* parameter when set to ``True`` resets :attr:`side_effect`:" -msgstr "" - -#: ../../library/unittest.mock.rst:430 -msgid "" -">>> mock = Mock(side_effect=ValueError)\n" -">>> mock('hello')\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError\n" -">>> mock.reset_mock(side_effect=True)\n" -">>> mock('hello')\n" -"" -msgstr "" - -#: ../../library/unittest.mock.rst:441 -msgid "" -"Note that :meth:`reset_mock` *doesn't* clear the :attr:`return_value`, " -":attr:`side_effect` or any child attributes you have set using normal " -"assignment by default." -msgstr "" - -#: ../../library/unittest.mock.rst:445 -msgid "Child mocks are reset as well." -msgstr "" - -#: ../../library/unittest.mock.rst:447 -msgid "Added two keyword-only arguments to the reset_mock function." -msgstr "" - -#: ../../library/unittest.mock.rst:452 -msgid "" -"Add a spec to a mock. *spec* can either be an object or a list of strings. " -"Only attributes on the *spec* can be fetched as attributes from the mock." -msgstr "" - -#: ../../library/unittest.mock.rst:456 -msgid "If *spec_set* is true then only attributes on the spec can be set." -msgstr "" - -#: ../../library/unittest.mock.rst:461 -msgid "" -"Attach a mock as an attribute of this one, replacing its name and parent. " -"Calls to the attached mock will be recorded in the :attr:`method_calls` and " -":attr:`mock_calls` attributes of this one." -msgstr "" - -#: ../../library/unittest.mock.rst:468 -msgid "Set attributes on the mock through keyword arguments." -msgstr "" - -#: ../../library/unittest.mock.rst:470 -msgid "" -"Attributes plus return values and side effects can be set on child mocks " -"using standard dot notation and unpacking a dictionary in the method call:" -msgstr "" - -#: ../../library/unittest.mock.rst:484 -msgid "The same thing can be achieved in the constructor call to mocks:" -msgstr "" - -#: ../../library/unittest.mock.rst:497 -msgid "" -":meth:`configure_mock` exists to make it easier to do configuration after " -"the mock has been created." -msgstr "" - -#: ../../library/unittest.mock.rst:503 -msgid "" -":class:`Mock` objects limit the results of ``dir(some_mock)`` to useful " -"results. For mocks with a *spec* this includes all the permitted attributes " -"for the mock." -msgstr "" - -#: ../../library/unittest.mock.rst:507 -msgid "" -"See :data:`FILTER_DIR` for what this filtering does, and how to switch it " -"off." -msgstr "" - -#: ../../library/unittest.mock.rst:513 -msgid "" -"Create the child mocks for attributes and return value. By default child " -"mocks will be the same type as the parent. Subclasses of Mock may want to " -"override this to customize the way child mocks are made." -msgstr "" - -#: ../../library/unittest.mock.rst:518 -msgid "" -"For non-callable mocks the callable variant will be used (rather than any " -"custom subclass)." -msgstr "" - -#: ../../library/unittest.mock.rst:524 -msgid "A boolean representing whether or not the mock object has been called:" -msgstr "" - -#: ../../library/unittest.mock.rst:535 -msgid "An integer telling you how many times the mock object has been called:" -msgstr "" - -#: ../../library/unittest.mock.rst:547 -msgid "Set this to configure the value returned by calling the mock:" -msgstr "" - -#: ../../library/unittest.mock.rst:554 -msgid "" -"The default return value is a mock object and you can configure it in the " -"normal way:" -msgstr "" - -#: ../../library/unittest.mock.rst:563 -msgid ":attr:`return_value` can also be set in the constructor:" -msgstr "" - -#: ../../library/unittest.mock.rst:574 -msgid "" -"This can either be a function to be called when the mock is called, an " -"iterable or an exception (class or instance) to be raised." -msgstr "" - -#: ../../library/unittest.mock.rst:577 -msgid "" -"If you pass in a function it will be called with same arguments as the mock " -"and unless the function returns the :data:`DEFAULT` singleton the call to " -"the mock will then return whatever the function returns. If the function " -"returns :data:`DEFAULT` then the mock will return its normal value (from the" -" :attr:`return_value`)." -msgstr "" - -#: ../../library/unittest.mock.rst:583 -msgid "" -"If you pass in an iterable, it is used to retrieve an iterator which must " -"yield a value on every call. This value can either be an exception instance" -" to be raised, or a value to be returned from the call to the mock " -"(:data:`DEFAULT` handling is identical to the function case)." -msgstr "" - -#: ../../library/unittest.mock.rst:588 -msgid "" -"An example of a mock that raises an exception (to test exception handling of" -" an API):" -msgstr "" - -#: ../../library/unittest.mock.rst:598 -msgid "Using :attr:`side_effect` to return a sequence of values:" -msgstr "" - -#: ../../library/unittest.mock.rst:605 -msgid "Using a callable:" -msgstr "" - -#: ../../library/unittest.mock.rst:615 -msgid "" -":attr:`side_effect` can be set in the constructor. Here's an example that " -"adds one to the value the mock is called with and returns it:" -msgstr "" - -#: ../../library/unittest.mock.rst:625 -msgid "Setting :attr:`side_effect` to ``None`` clears it:" -msgstr "" - -#: ../../library/unittest.mock.rst:639 -msgid "" -"This is either ``None`` (if the mock hasn't been called), or the arguments " -"that the mock was last called with. This will be in the form of a tuple: the" -" first member, which can also be accessed through the ``args`` property, is " -"any ordered arguments the mock was called with (or an empty tuple) and the " -"second member, which can also be accessed through the ``kwargs`` property, " -"is any keyword arguments (or an empty dictionary)." -msgstr "" - -#: ../../library/unittest.mock.rst:672 -msgid "" -":attr:`call_args`, along with members of the lists :attr:`call_args_list`, " -":attr:`method_calls` and :attr:`mock_calls` are :data:`call` objects. These " -"are tuples, so they can be unpacked to get at the individual arguments and " -"make more complex assertions. See :ref:`calls as tuples `." -msgstr "" - -#: ../../library/unittest.mock.rst:678 -msgid "Added ``args`` and ``kwargs`` properties." -msgstr "" - -#: ../../library/unittest.mock.rst:684 -msgid "" -"This is a list of all the calls made to the mock object in sequence (so the " -"length of the list is the number of times it has been called). Before any " -"calls have been made it is an empty list. The :data:`call` object can be " -"used for conveniently constructing lists of calls to compare with " -":attr:`call_args_list`." -msgstr "" - -#: ../../library/unittest.mock.rst:700 -msgid "" -"Members of :attr:`call_args_list` are :data:`call` objects. These can be " -"unpacked as tuples to get at the individual arguments. See :ref:`calls as " -"tuples `." -msgstr "" - -#: ../../library/unittest.mock.rst:707 -msgid "" -"As well as tracking calls to themselves, mocks also track calls to methods " -"and attributes, and *their* methods and attributes:" -msgstr "" - -#: ../../library/unittest.mock.rst:718 -msgid "" -"Members of :attr:`method_calls` are :data:`call` objects. These can be " -"unpacked as tuples to get at the individual arguments. See :ref:`calls as " -"tuples `." -msgstr "" - -#: ../../library/unittest.mock.rst:725 -msgid "" -":attr:`mock_calls` records *all* calls to the mock object, its methods, " -"magic methods *and* return value mocks." -msgstr "" - -#: ../../library/unittest.mock.rst:743 -msgid "" -"Members of :attr:`mock_calls` are :data:`call` objects. These can be " -"unpacked as tuples to get at the individual arguments. See :ref:`calls as " -"tuples `." -msgstr "" - -#: ../../library/unittest.mock.rst:749 -msgid "" -"The way :attr:`mock_calls` are recorded means that where nested calls are " -"made, the parameters of ancestor calls are not recorded and so will always " -"compare equal:" -msgstr "" - -#: ../../library/unittest.mock.rst:763 -msgid "" -"Normally the :attr:`!__class__` attribute of an object will return its type." -" For a mock object with a :attr:`!spec`, :attr:`!__class__` returns the spec" -" class instead. This allows mock objects to pass :func:`isinstance` tests " -"for the object they are replacing / masquerading as:" -msgstr "" - -#: ../../library/unittest.mock.rst:772 -msgid "" -":attr:`!__class__` is assignable to, this allows a mock to pass an " -":func:`isinstance` check without forcing you to use a spec:" -msgstr "" - -#: ../../library/unittest.mock.rst:782 -msgid "" -"A non-callable version of :class:`Mock`. The constructor parameters have the" -" same meaning of :class:`Mock`, with the exception of *return_value* and " -"*side_effect* which have no meaning on a non-callable mock." -msgstr "" - -#: ../../library/unittest.mock.rst:786 -msgid "" -"Mock objects that use a class or an instance as a :attr:`!spec` or " -":attr:`!spec_set` are able to pass :func:`isinstance` tests:" -msgstr "" - -#: ../../library/unittest.mock.rst:796 -msgid "" -"The :class:`Mock` classes have support for mocking magic methods. See " -":ref:`magic methods ` for the full details." -msgstr "" - -#: ../../library/unittest.mock.rst:799 -msgid "" -"The mock classes and the :func:`patch` decorators all take arbitrary keyword" -" arguments for configuration. For the :func:`patch` decorators the keywords " -"are passed to the constructor of the mock being created. The keyword " -"arguments are for configuring attributes of the mock:" -msgstr "" - -#: ../../library/unittest.mock.rst:810 -msgid "" -"The return value and side effect of child mocks can be set in the same way, " -"using dotted notation. As you can't use dotted names directly in a call you " -"have to create a dictionary and unpack it using ``**``:" -msgstr "" - -#: ../../library/unittest.mock.rst:825 -msgid "" -"A callable mock which was created with a *spec* (or a *spec_set*) will " -"introspect the specification object's signature when matching calls to the " -"mock. Therefore, it can match the actual call's arguments regardless of " -"whether they were passed positionally or by name::" -msgstr "" - -#: ../../library/unittest.mock.rst:830 -msgid "" -">>> def f(a, b, c): pass\n" -"...\n" -">>> mock = Mock(spec=f)\n" -">>> mock(1, 2, c=3)\n" -"\n" -">>> mock.assert_called_with(1, 2, 3)\n" -">>> mock.assert_called_with(a=1, b=2, c=3)" -msgstr "" - -#: ../../library/unittest.mock.rst:838 -msgid "" -"This applies to :meth:`~Mock.assert_called_with`, " -":meth:`~Mock.assert_called_once_with`, :meth:`~Mock.assert_has_calls` and " -":meth:`~Mock.assert_any_call`. When :ref:`auto-speccing`, it will also " -"apply to method calls on the mock object." -msgstr "" - -#: ../../library/unittest.mock.rst:843 -msgid "Added signature introspection on specced and autospecced mock objects." -msgstr "" - -#: ../../library/unittest.mock.rst:849 -msgid "" -"A mock intended to be used as a :class:`property`, or other " -":term:`descriptor`, on a class. :class:`PropertyMock` provides " -":meth:`~object.__get__` and :meth:`~object.__set__` methods so you can " -"specify a return value when it is fetched." -msgstr "" - -#: ../../library/unittest.mock.rst:854 -msgid "" -"Fetching a :class:`PropertyMock` instance from an object calls the mock, " -"with no args. Setting it calls the mock with the value being set. ::" -msgstr "" - -#: ../../library/unittest.mock.rst:857 -msgid "" -">>> class Foo:\n" -"... @property\n" -"... def foo(self):\n" -"... return 'something'\n" -"... @foo.setter\n" -"... def foo(self, value):\n" -"... pass\n" -"...\n" -">>> with patch('__main__.Foo.foo', new_callable=PropertyMock) as mock_foo:\n" -"... mock_foo.return_value = 'mockity-mock'\n" -"... this_foo = Foo()\n" -"... print(this_foo.foo)\n" -"... this_foo.foo = 6\n" -"...\n" -"mockity-mock\n" -">>> mock_foo.mock_calls\n" -"[call(), call(6)]" -msgstr "" - -#: ../../library/unittest.mock.rst:875 -msgid "" -"Because of the way mock attributes are stored you can't directly attach a " -":class:`PropertyMock` to a mock object. Instead you can attach it to the " -"mock type object::" -msgstr "" - -#: ../../library/unittest.mock.rst:879 -msgid "" -">>> m = MagicMock()\n" -">>> p = PropertyMock(return_value=3)\n" -">>> type(m).foo = p\n" -">>> m.foo\n" -"3\n" -">>> p.assert_called_once_with()" -msgstr "" - -#: ../../library/unittest.mock.rst:888 -msgid "" -"If an :exc:`AttributeError` is raised by :class:`PropertyMock`, it will be " -"interpreted as a missing descriptor and :meth:`~object.__getattr__` will be " -"called on the parent mock::" -msgstr "" - -#: ../../library/unittest.mock.rst:892 -msgid "" -">>> m = MagicMock()\n" -">>> no_attribute = PropertyMock(side_effect=AttributeError)\n" -">>> type(m).my_property = no_attribute\n" -">>> m.my_property\n" -"" -msgstr "" - -#: ../../library/unittest.mock.rst:898 -msgid "See :meth:`~object.__getattr__` for details." -msgstr "" - -#: ../../library/unittest.mock.rst:903 -msgid "" -"An asynchronous version of :class:`MagicMock`. The :class:`AsyncMock` object" -" will behave so the object is recognized as an async function, and the " -"result of a call is an awaitable." -msgstr "" - -#: ../../library/unittest.mock.rst:913 -msgid "" -"The result of ``mock()`` is an async function which will have the outcome of" -" ``side_effect`` or ``return_value`` after it has been awaited:" -msgstr "" - -#: ../../library/unittest.mock.rst:916 -msgid "" -"if ``side_effect`` is a function, the async function will return the result " -"of that function," -msgstr "" - -#: ../../library/unittest.mock.rst:918 -msgid "" -"if ``side_effect`` is an exception, the async function will raise the " -"exception," -msgstr "" - -#: ../../library/unittest.mock.rst:920 -msgid "" -"if ``side_effect`` is an iterable, the async function will return the next " -"value of the iterable, however, if the sequence of result is exhausted, " -"``StopAsyncIteration`` is raised immediately," -msgstr "" - -#: ../../library/unittest.mock.rst:923 -msgid "" -"if ``side_effect`` is not defined, the async function will return the value " -"defined by ``return_value``, hence, by default, the async function returns a" -" new :class:`AsyncMock` object." -msgstr "" - -#: ../../library/unittest.mock.rst:928 -msgid "" -"Setting the *spec* of a :class:`Mock` or :class:`MagicMock` to an async " -"function will result in a coroutine object being returned after calling." -msgstr "" - -#: ../../library/unittest.mock.rst:940 -msgid "" -"Setting the *spec* of a :class:`Mock`, :class:`MagicMock`, or " -":class:`AsyncMock` to a class with asynchronous and synchronous functions " -"will automatically detect the synchronous functions and set them as " -":class:`MagicMock` (if the parent mock is :class:`AsyncMock` or " -":class:`MagicMock`) or :class:`Mock` (if the parent mock is :class:`Mock`). " -"All asynchronous functions will be :class:`AsyncMock`." -msgstr "" - -#: ../../library/unittest.mock.rst:968 -msgid "" -"Assert that the mock was awaited at least once. Note that this is separate " -"from the object having been called, the ``await`` keyword must be used:" -msgstr "" - -#: ../../library/unittest.mock.rst:987 -msgid "Assert that the mock was awaited exactly once." -msgstr "" - -#: ../../library/unittest.mock.rst:1003 -msgid "Assert that the last await was with the specified arguments." -msgstr "" - -#: ../../library/unittest.mock.rst:1020 -msgid "" -"Assert that the mock was awaited exactly once and with the specified " -"arguments." -msgstr "" - -#: ../../library/unittest.mock.rst:1037 -msgid "Assert the mock has ever been awaited with the specified arguments." -msgstr "" - -#: ../../library/unittest.mock.rst:1053 -msgid "" -"Assert the mock has been awaited with the specified calls. The " -":attr:`await_args_list` list is checked for the awaits." -msgstr "" - -#: ../../library/unittest.mock.rst:1056 -msgid "" -"If *any_order* is false then the awaits must be sequential. There can be " -"extra calls before or after the specified awaits." -msgstr "" - -#: ../../library/unittest.mock.rst:1060 -msgid "" -"If *any_order* is true then the awaits can be in any order, but they must " -"all appear in :attr:`await_args_list`." -msgstr "" - -#: ../../library/unittest.mock.rst:1080 -msgid "Assert that the mock was never awaited." -msgstr "" - -#: ../../library/unittest.mock.rst:1087 -msgid "" -"See :func:`Mock.reset_mock`. Also sets :attr:`await_count` to 0, " -":attr:`await_args` to None, and clears the :attr:`await_args_list`." -msgstr "" - -#: ../../library/unittest.mock.rst:1092 -msgid "" -"An integer keeping track of how many times the mock object has been awaited." -msgstr "" - -#: ../../library/unittest.mock.rst:1107 -msgid "" -"This is either ``None`` (if the mock hasn’t been awaited), or the arguments " -"that the mock was last awaited with. Functions the same as " -":attr:`Mock.call_args`." -msgstr "" - -#: ../../library/unittest.mock.rst:1125 -msgid "" -"This is a list of all the awaits made to the mock object in sequence (so the" -" length of the list is the number of times it has been awaited). Before any " -"awaits have been made it is an empty list." -msgstr "" - -#: ../../library/unittest.mock.rst:1145 -msgid "" -"A version of :class:`MagicMock` for multithreading tests. The " -":class:`ThreadingMock` object provides extra methods to wait for a call to " -"be invoked, rather than assert on it immediately." -msgstr "" - -#: ../../library/unittest.mock.rst:1149 -msgid "" -"The default timeout is specified by the ``timeout`` argument, or if unset by" -" the :attr:`ThreadingMock.DEFAULT_TIMEOUT` attribute, which defaults to " -"blocking (``None``)." -msgstr "" - -#: ../../library/unittest.mock.rst:1152 -msgid "" -"You can configure the global default timeout by setting " -":attr:`ThreadingMock.DEFAULT_TIMEOUT`." -msgstr "" - -#: ../../library/unittest.mock.rst:1156 -msgid "Waits until the mock is called." -msgstr "" - -#: ../../library/unittest.mock.rst:1158 -msgid "" -"If a timeout was passed at the creation of the mock or if a timeout argument" -" is passed to this function, the function raises an :exc:`AssertionError` if" -" the call is not performed in time." -msgstr "" - -#: ../../library/unittest.mock.rst:1170 -msgid "Waits until the mock is called with the specified arguments." -msgstr "" - -#: ../../library/unittest.mock.rst:1172 -msgid "" -"If a timeout was passed at the creation of the mock the function raises an " -":exc:`AssertionError` if the call is not performed in time." -msgstr "" - -#: ../../library/unittest.mock.rst:1183 -msgid "" -"Global default timeout in seconds to create instances of " -":class:`ThreadingMock`." -msgstr "" - -#: ../../library/unittest.mock.rst:1189 -msgid "Calling" -msgstr "" - -#: ../../library/unittest.mock.rst:1191 -msgid "" -"Mock objects are callable. The call will return the value set as the " -":attr:`~Mock.return_value` attribute. The default return value is a new Mock" -" object; it is created the first time the return value is accessed (either " -"explicitly or by calling the Mock) - but it is stored and the same one " -"returned each time." -msgstr "" - -#: ../../library/unittest.mock.rst:1197 -msgid "" -"Calls made to the object will be recorded in the attributes like " -":attr:`~Mock.call_args` and :attr:`~Mock.call_args_list`." -msgstr "" - -#: ../../library/unittest.mock.rst:1200 -msgid "" -"If :attr:`~Mock.side_effect` is set then it will be called after the call " -"has been recorded, so if :attr:`!side_effect` raises an exception the call " -"is still recorded." -msgstr "" - -#: ../../library/unittest.mock.rst:1204 -msgid "" -"The simplest way to make a mock raise an exception when called is to make " -":attr:`~Mock.side_effect` an exception class or instance:" -msgstr "" - -#: ../../library/unittest.mock.rst:1222 -msgid "" -"If :attr:`~Mock.side_effect` is a function then whatever that function " -"returns is what calls to the mock return. The :attr:`!side_effect` function " -"is called with the same arguments as the mock. This allows you to vary the " -"return value of the call dynamically, based on the input:" -msgstr "" - -#: ../../library/unittest.mock.rst:1238 -msgid "" -"If you want the mock to still return the default return value (a new mock), " -"or any set return value, then there are two ways of doing this. Either " -"return :attr:`~Mock.return_value` from inside :attr:`~Mock.side_effect`, or " -"return :data:`DEFAULT`:" -msgstr "" - -#: ../../library/unittest.mock.rst:1257 -msgid "" -"To remove a :attr:`~Mock.side_effect`, and return to the default behaviour, " -"set the :attr:`!side_effect` to ``None``:" -msgstr "" - -#: ../../library/unittest.mock.rst:1271 -msgid "" -"The :attr:`~Mock.side_effect` can also be any iterable object. Repeated " -"calls to the mock will return values from the iterable (until the iterable " -"is exhausted and a :exc:`StopIteration` is raised):" -msgstr "" - -#: ../../library/unittest.mock.rst:1287 -msgid "" -"If any members of the iterable are exceptions they will be raised instead of" -" returned::" -msgstr "" - -#: ../../library/unittest.mock.rst:1290 -msgid "" -">>> iterable = (33, ValueError, 66)\n" -">>> m = MagicMock(side_effect=iterable)\n" -">>> m()\n" -"33\n" -">>> m()\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError\n" -">>> m()\n" -"66" -msgstr "" - -#: ../../library/unittest.mock.rst:1305 -msgid "Deleting Attributes" -msgstr "" - -#: ../../library/unittest.mock.rst:1307 -msgid "" -"Mock objects create attributes on demand. This allows them to pretend to be " -"objects of any type." -msgstr "" - -#: ../../library/unittest.mock.rst:1310 -msgid "" -"You may want a mock object to return ``False`` to a :func:`hasattr` call, or" -" raise an :exc:`AttributeError` when an attribute is fetched. You can do " -"this by providing an object as a :attr:`!spec` for a mock, but that isn't " -"always convenient." -msgstr "" - -#: ../../library/unittest.mock.rst:1314 -msgid "" -"You \"block\" attributes by deleting them. Once deleted, accessing an " -"attribute will raise an :exc:`AttributeError`." -msgstr "" - -#: ../../library/unittest.mock.rst:1331 -msgid "Mock names and the name attribute" -msgstr "" - -#: ../../library/unittest.mock.rst:1333 -msgid "" -"Since \"name\" is an argument to the :class:`Mock` constructor, if you want " -"your mock object to have a \"name\" attribute you can't just pass it in at " -"creation time. There are two alternatives. One option is to use " -":meth:`~Mock.configure_mock`::" -msgstr "" - -#: ../../library/unittest.mock.rst:1338 -msgid "" -">>> mock = MagicMock()\n" -">>> mock.configure_mock(name='my_name')\n" -">>> mock.name\n" -"'my_name'" -msgstr "" - -#: ../../library/unittest.mock.rst:1343 -msgid "" -"A simpler option is to simply set the \"name\" attribute after mock " -"creation::" -msgstr "" - -#: ../../library/unittest.mock.rst:1345 -msgid "" -">>> mock = MagicMock()\n" -">>> mock.name = \"foo\"" -msgstr "" - -#: ../../library/unittest.mock.rst:1350 -msgid "Attaching Mocks as Attributes" -msgstr "" - -#: ../../library/unittest.mock.rst:1352 -msgid "" -"When you attach a mock as an attribute of another mock (or as the return " -"value) it becomes a \"child\" of that mock. Calls to the child are recorded " -"in the :attr:`~Mock.method_calls` and :attr:`~Mock.mock_calls` attributes of" -" the parent. This is useful for configuring child mocks and then attaching " -"them to the parent, or for attaching mocks to a parent that records all " -"calls to the children and allows you to make assertions about the order of " -"calls between mocks:" -msgstr "" - -#: ../../library/unittest.mock.rst:1370 -msgid "" -"The exception to this is if the mock has a name. This allows you to prevent " -"the \"parenting\" if for some reason you don't want it to happen." -msgstr "" - -#: ../../library/unittest.mock.rst:1381 -msgid "" -"Mocks created for you by :func:`patch` are automatically given names. To " -"attach mocks that have names to a parent you use the " -":meth:`~Mock.attach_mock` method::" -msgstr "" - -#: ../../library/unittest.mock.rst:1385 -msgid "" -">>> thing1 = object()\n" -">>> thing2 = object()\n" -">>> parent = MagicMock()\n" -">>> with patch('__main__.thing1', return_value=None) as child1:\n" -"... with patch('__main__.thing2', return_value=None) as child2:\n" -"... parent.attach_mock(child1, 'child1')\n" -"... parent.attach_mock(child2, 'child2')\n" -"... child1('one')\n" -"... child2('two')\n" -"...\n" -">>> parent.mock_calls\n" -"[call.child1('one'), call.child2('two')]" -msgstr "" - -#: ../../library/unittest.mock.rst:1399 -msgid "" -"The only exceptions are magic methods and attributes (those that have " -"leading and trailing double underscores). Mock doesn't create these but " -"instead raises an :exc:`AttributeError`. This is because the interpreter " -"will often implicitly request these methods, and gets *very* confused to get" -" a new Mock object when it expects a magic method. If you need magic method " -"support see :ref:`magic methods `." -msgstr "" - -#: ../../library/unittest.mock.rst:1408 -msgid "The patchers" -msgstr "" - -#: ../../library/unittest.mock.rst:1410 -msgid "" -"The patch decorators are used for patching objects only within the scope of " -"the function they decorate. They automatically handle the unpatching for " -"you, even if exceptions are raised. All of these functions can also be used " -"in with statements or as class decorators." -msgstr "" - -#: ../../library/unittest.mock.rst:1417 -msgid "patch" -msgstr "" - -#: ../../library/unittest.mock.rst:1421 -msgid "" -"The key is to do the patching in the right namespace. See the section `where" -" to patch`_." -msgstr "" - -#: ../../library/unittest.mock.rst:1425 -msgid "" -":func:`patch` acts as a function decorator, class decorator or a context " -"manager. Inside the body of the function or with statement, the *target* is " -"patched with a *new* object. When the function/with statement exits the " -"patch is undone." -msgstr "" - -#: ../../library/unittest.mock.rst:1430 -msgid "" -"If *new* is omitted, then the target is replaced with an :class:`AsyncMock` " -"if the patched object is an async function or a :class:`MagicMock` " -"otherwise. If :func:`patch` is used as a decorator and *new* is omitted, the" -" created mock is passed in as an extra argument to the decorated function. " -"If :func:`patch` is used as a context manager the created mock is returned " -"by the context manager." -msgstr "" - -#: ../../library/unittest.mock.rst:1438 -msgid "" -"*target* should be a string in the form ``'package.module.ClassName'``. The " -"*target* is imported and the specified object replaced with the *new* " -"object, so the *target* must be importable from the environment you are " -"calling :func:`patch` from. The target is imported when the decorated " -"function is executed, not at decoration time." -msgstr "" - -#: ../../library/unittest.mock.rst:1444 -msgid "" -"The *spec* and *spec_set* keyword arguments are passed to the " -":class:`MagicMock` if patch is creating one for you." -msgstr "" - -#: ../../library/unittest.mock.rst:1447 -msgid "" -"In addition you can pass ``spec=True`` or ``spec_set=True``, which causes " -"patch to pass in the object being mocked as the spec/spec_set object." -msgstr "" - -#: ../../library/unittest.mock.rst:1450 -msgid "" -"*new_callable* allows you to specify a different class, or callable object, " -"that will be called to create the *new* object. By default " -":class:`AsyncMock` is used for async functions and :class:`MagicMock` for " -"the rest." -msgstr "" - -#: ../../library/unittest.mock.rst:1454 -msgid "" -"A more powerful form of *spec* is *autospec*. If you set ``autospec=True`` " -"then the mock will be created with a spec from the object being replaced. " -"All attributes of the mock will also have the spec of the corresponding " -"attribute of the object being replaced. Methods and functions being mocked " -"will have their arguments checked and will raise a :exc:`TypeError` if they " -"are called with the wrong signature. For mocks replacing a class, their " -"return value (the 'instance') will have the same spec as the class. See the " -":func:`create_autospec` function and :ref:`auto-speccing`." -msgstr "" - -#: ../../library/unittest.mock.rst:1464 -msgid "" -"Instead of ``autospec=True`` you can pass ``autospec=some_object`` to use an" -" arbitrary object as the spec instead of the one being replaced." -msgstr "" - -#: ../../library/unittest.mock.rst:1467 -msgid "" -"By default :func:`patch` will fail to replace attributes that don't exist. " -"If you pass in ``create=True``, and the attribute doesn't exist, patch will " -"create the attribute for you when the patched function is called, and delete" -" it again after the patched function has exited. This is useful for writing " -"tests against attributes that your production code creates at runtime. It is" -" off by default because it can be dangerous. With it switched on you can " -"write passing tests against APIs that don't actually exist!" -msgstr "" - -#: ../../library/unittest.mock.rst:1477 -msgid "" -"If you are patching builtins in a module then you don't need to pass " -"``create=True``, it will be added by default." -msgstr "" - -#: ../../library/unittest.mock.rst:1481 -msgid "" -"Patch can be used as a :class:`~unittest.TestCase` class decorator. It works" -" by decorating each test method in the class. This reduces the boilerplate " -"code when your test methods share a common patchings set. :func:`patch` " -"finds tests by looking for method names that start with " -"``patch.TEST_PREFIX``. By default this is ``'test'``, which matches the way " -":mod:`unittest` finds tests. You can specify an alternative prefix by " -"setting ``patch.TEST_PREFIX``." -msgstr "" - -#: ../../library/unittest.mock.rst:1488 -msgid "" -"Patch can be used as a context manager, with the with statement. Here the " -"patching applies to the indented block after the with statement. If you use " -"\"as\" then the patched object will be bound to the name after the \"as\"; " -"very useful if :func:`patch` is creating a mock object for you." -msgstr "" - -#: ../../library/unittest.mock.rst:1493 -msgid "" -":func:`patch` takes arbitrary keyword arguments. These will be passed to " -":class:`AsyncMock` if the patched object is asynchronous, to " -":class:`MagicMock` otherwise or to *new_callable* if specified." -msgstr "" - -#: ../../library/unittest.mock.rst:1497 -msgid "" -"``patch.dict(...)``, ``patch.multiple(...)`` and ``patch.object(...)`` are " -"available for alternate use-cases." -msgstr "" - -#: ../../library/unittest.mock.rst:1500 -msgid "" -":func:`patch` as function decorator, creating the mock for you and passing " -"it into the decorated function::" -msgstr "" - -#: ../../library/unittest.mock.rst:1503 -msgid "" -">>> @patch('__main__.SomeClass')\n" -"... def function(normal_argument, mock_class):\n" -"... print(mock_class is SomeClass)\n" -"...\n" -">>> function(None)\n" -"True" -msgstr "" - -#: ../../library/unittest.mock.rst:1510 -msgid "" -"Patching a class replaces the class with a :class:`MagicMock` *instance*. If" -" the class is instantiated in the code under test then it will be the " -":attr:`~Mock.return_value` of the mock that will be used." -msgstr "" - -#: ../../library/unittest.mock.rst:1514 -msgid "" -"If the class is instantiated multiple times you could use " -":attr:`~Mock.side_effect` to return a new mock each time. Alternatively you " -"can set the *return_value* to be anything you want." -msgstr "" - -#: ../../library/unittest.mock.rst:1518 -msgid "" -"To configure return values on methods of *instances* on the patched class " -"you must do this on the :attr:`~Mock.return_value`. For example::" -msgstr "" - -#: ../../library/unittest.mock.rst:1521 -msgid "" -">>> class Class:\n" -"... def method(self):\n" -"... pass\n" -"...\n" -">>> with patch('__main__.Class') as MockClass:\n" -"... instance = MockClass.return_value\n" -"... instance.method.return_value = 'foo'\n" -"... assert Class() is instance\n" -"... assert Class().method() == 'foo'\n" -"..." -msgstr "" - -#: ../../library/unittest.mock.rst:1532 -msgid "" -"If you use *spec* or *spec_set* and :func:`patch` is replacing a *class*, " -"then the return value of the created mock will have the same spec. ::" -msgstr "" - -#: ../../library/unittest.mock.rst:1535 -msgid "" -">>> Original = Class\n" -">>> patcher = patch('__main__.Class', spec=True)\n" -">>> MockClass = patcher.start()\n" -">>> instance = MockClass()\n" -">>> assert isinstance(instance, Original)\n" -">>> patcher.stop()" -msgstr "" - -#: ../../library/unittest.mock.rst:1542 -msgid "" -"The *new_callable* argument is useful where you want to use an alternative " -"class to the default :class:`MagicMock` for the created mock. For example, " -"if you wanted a :class:`NonCallableMock` to be used::" -msgstr "" - -#: ../../library/unittest.mock.rst:1546 -msgid "" -">>> thing = object()\n" -">>> with patch('__main__.thing', new_callable=NonCallableMock) as mock_thing:\n" -"... assert thing is mock_thing\n" -"... thing()\n" -"...\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: 'NonCallableMock' object is not callable" -msgstr "" - -#: ../../library/unittest.mock.rst:1555 -msgid "" -"Another use case might be to replace an object with an :class:`io.StringIO` " -"instance::" -msgstr "" - -#: ../../library/unittest.mock.rst:1557 -msgid "" -">>> from io import StringIO\n" -">>> def foo():\n" -"... print('Something')\n" -"...\n" -">>> @patch('sys.stdout', new_callable=StringIO)\n" -"... def test(mock_stdout):\n" -"... foo()\n" -"... assert mock_stdout.getvalue() == 'Something\\n'\n" -"...\n" -">>> test()" -msgstr "" - -#: ../../library/unittest.mock.rst:1568 -msgid "" -"When :func:`patch` is creating a mock for you, it is common that the first " -"thing you need to do is to configure the mock. Some of that configuration " -"can be done in the call to patch. Any arbitrary keywords you pass into the " -"call will be used to set attributes on the created mock::" -msgstr "" - -#: ../../library/unittest.mock.rst:1573 -msgid "" -">>> patcher = patch('__main__.thing', first='one', second='two')\n" -">>> mock_thing = patcher.start()\n" -">>> mock_thing.first\n" -"'one'\n" -">>> mock_thing.second\n" -"'two'" -msgstr "" - -#: ../../library/unittest.mock.rst:1580 -msgid "" -"As well as attributes on the created mock attributes, like the " -":attr:`~Mock.return_value` and :attr:`~Mock.side_effect`, of child mocks can" -" also be configured. These aren't syntactically valid to pass in directly as" -" keyword arguments, but a dictionary with these as keys can still be " -"expanded into a :func:`patch` call using ``**``::" -msgstr "" - -#: ../../library/unittest.mock.rst:1586 -msgid "" -">>> config = {'method.return_value': 3, 'other.side_effect': KeyError}\n" -">>> patcher = patch('__main__.thing', **config)\n" -">>> mock_thing = patcher.start()\n" -">>> mock_thing.method()\n" -"3\n" -">>> mock_thing.other()\n" -"Traceback (most recent call last):\n" -" ...\n" -"KeyError" -msgstr "" - -#: ../../library/unittest.mock.rst:1596 -msgid "" -"By default, attempting to patch a function in a module (or a method or an " -"attribute in a class) that does not exist will fail with " -":exc:`AttributeError`::" -msgstr "" - -#: ../../library/unittest.mock.rst:1599 -msgid "" -">>> @patch('sys.non_existing_attribute', 42)\n" -"... def test():\n" -"... assert sys.non_existing_attribute == 42\n" -"...\n" -">>> test()\n" -"Traceback (most recent call last):\n" -" ...\n" -"AttributeError: does not have the attribute 'non_existing_attribute'" -msgstr "" - -#: ../../library/unittest.mock.rst:1608 -msgid "" -"but adding ``create=True`` in the call to :func:`patch` will make the " -"previous example work as expected::" -msgstr "" - -#: ../../library/unittest.mock.rst:1611 -msgid "" -">>> @patch('sys.non_existing_attribute', 42, create=True)\n" -"... def test(mock_stdout):\n" -"... assert sys.non_existing_attribute == 42\n" -"...\n" -">>> test()" -msgstr "" - -#: ../../library/unittest.mock.rst:1619 -msgid "" -":func:`patch` now returns an :class:`AsyncMock` if the target is an async " -"function." -msgstr "" - -#: ../../library/unittest.mock.rst:1623 -msgid "patch.object" -msgstr "" - -#: ../../library/unittest.mock.rst:1627 -msgid "" -"patch the named member (*attribute*) on an object (*target*) with a mock " -"object." -msgstr "" - -#: ../../library/unittest.mock.rst:1630 -msgid "" -":func:`patch.object` can be used as a decorator, class decorator or a " -"context manager. Arguments *new*, *spec*, *create*, *spec_set*, *autospec* " -"and *new_callable* have the same meaning as for :func:`patch`. Like " -":func:`patch`, :func:`patch.object` takes arbitrary keyword arguments for " -"configuring the mock object it creates." -msgstr "" - -#: ../../library/unittest.mock.rst:1636 -msgid "" -"When used as a class decorator :func:`patch.object` honours " -"``patch.TEST_PREFIX`` for choosing which methods to wrap." -msgstr "" - -#: ../../library/unittest.mock.rst:1639 -msgid "" -"You can either call :func:`patch.object` with three arguments or two " -"arguments. The three argument form takes the object to be patched, the " -"attribute name and the object to replace the attribute with." -msgstr "" - -#: ../../library/unittest.mock.rst:1643 -msgid "" -"When calling with the two argument form you omit the replacement object, and" -" a mock is created for you and passed in as an extra argument to the " -"decorated function:" -msgstr "" - -#: ../../library/unittest.mock.rst:1654 -msgid "" -"*spec*, *create* and the other arguments to :func:`patch.object` have the " -"same meaning as they do for :func:`patch`." -msgstr "" - -#: ../../library/unittest.mock.rst:1659 -msgid "patch.dict" -msgstr "" - -#: ../../library/unittest.mock.rst:1663 -msgid "" -"Patch a dictionary, or dictionary like object, and restore the dictionary to" -" its original state after the test, where the restored dictionary is a copy " -"of the dictionary as it was before the test." -msgstr "" - -#: ../../library/unittest.mock.rst:1667 -msgid "" -"*in_dict* can be a dictionary or a mapping like container. If it is a " -"mapping then it must at least support getting, setting and deleting items " -"plus iterating over keys." -msgstr "" - -#: ../../library/unittest.mock.rst:1671 -msgid "" -"*in_dict* can also be a string specifying the name of the dictionary, which " -"will then be fetched by importing it." -msgstr "" - -#: ../../library/unittest.mock.rst:1674 -msgid "" -"*values* can be a dictionary of values to set in the dictionary. *values* " -"can also be an iterable of ``(key, value)`` pairs." -msgstr "" - -#: ../../library/unittest.mock.rst:1677 -msgid "" -"If *clear* is true then the dictionary will be cleared before the new values" -" are set." -msgstr "" - -#: ../../library/unittest.mock.rst:1680 -msgid "" -":func:`patch.dict` can also be called with arbitrary keyword arguments to " -"set values in the dictionary." -msgstr "" - -#: ../../library/unittest.mock.rst:1685 -msgid "" -":func:`patch.dict` now returns the patched dictionary when used as a context" -" manager." -msgstr "" - -#: ../../library/unittest.mock.rst:1688 -msgid "" -":func:`patch.dict` can be used as a context manager, decorator or class " -"decorator:" -msgstr "" - -#: ../../library/unittest.mock.rst:1699 -msgid "" -"When used as a class decorator :func:`patch.dict` honours " -"``patch.TEST_PREFIX`` (default to ``'test'``) for choosing which methods to " -"wrap:" -msgstr "" - -#: ../../library/unittest.mock.rst:1710 -msgid "" -"If you want to use a different prefix for your test, you can inform the " -"patchers of the different prefix by setting ``patch.TEST_PREFIX``. For more " -"details about how to change the value of see :ref:`test-prefix`." -msgstr "" - -#: ../../library/unittest.mock.rst:1714 -msgid "" -":func:`patch.dict` can be used to add members to a dictionary, or simply let" -" a test change a dictionary, and ensure the dictionary is restored when the " -"test ends." -msgstr "" - -#: ../../library/unittest.mock.rst:1735 -msgid "" -"Keywords can be used in the :func:`patch.dict` call to set values in the " -"dictionary:" -msgstr "" - -#: ../../library/unittest.mock.rst:1745 -msgid "" -":func:`patch.dict` can be used with dictionary like objects that aren't " -"actually dictionaries. At the very minimum they must support item getting, " -"setting, deleting and either iteration or membership test. This corresponds " -"to the magic methods :meth:`~object.__getitem__`, " -":meth:`~object.__setitem__`, :meth:`~object.__delitem__` and either " -":meth:`~container.__iter__` or :meth:`~object.__contains__`." -msgstr "" - -#: ../../library/unittest.mock.rst:1775 -msgid "patch.multiple" -msgstr "" - -#: ../../library/unittest.mock.rst:1779 -msgid "" -"Perform multiple patches in a single call. It takes the object to be patched" -" (either as an object or a string to fetch the object by importing) and " -"keyword arguments for the patches::" -msgstr "" - -#: ../../library/unittest.mock.rst:1783 -msgid "" -"with patch.multiple(settings, FIRST_PATCH='one', SECOND_PATCH='two'):\n" -" ..." -msgstr "" - -#: ../../library/unittest.mock.rst:1786 -msgid "" -"Use :data:`DEFAULT` as the value if you want :func:`patch.multiple` to " -"create mocks for you. In this case the created mocks are passed into a " -"decorated function by keyword, and a dictionary is returned when " -":func:`patch.multiple` is used as a context manager." -msgstr "" - -#: ../../library/unittest.mock.rst:1791 -msgid "" -":func:`patch.multiple` can be used as a decorator, class decorator or a " -"context manager. The arguments *spec*, *spec_set*, *create*, *autospec* and " -"*new_callable* have the same meaning as for :func:`patch`. These arguments " -"will be applied to *all* patches done by :func:`patch.multiple`." -msgstr "" - -#: ../../library/unittest.mock.rst:1796 -msgid "" -"When used as a class decorator :func:`patch.multiple` honours " -"``patch.TEST_PREFIX`` for choosing which methods to wrap." -msgstr "" - -#: ../../library/unittest.mock.rst:1799 -msgid "" -"If you want :func:`patch.multiple` to create mocks for you, then you can use" -" :data:`DEFAULT` as the value. If you use :func:`patch.multiple` as a " -"decorator then the created mocks are passed into the decorated function by " -"keyword. ::" -msgstr "" - -#: ../../library/unittest.mock.rst:1803 -msgid "" -">>> thing = object()\n" -">>> other = object()\n" -"\n" -">>> @patch.multiple('__main__', thing=DEFAULT, other=DEFAULT)\n" -"... def test_function(thing, other):\n" -"... assert isinstance(thing, MagicMock)\n" -"... assert isinstance(other, MagicMock)\n" -"...\n" -">>> test_function()" -msgstr "" - -#: ../../library/unittest.mock.rst:1813 -msgid "" -":func:`patch.multiple` can be nested with other ``patch`` decorators, but " -"put arguments passed by keyword *after* any of the standard arguments " -"created by :func:`patch`::" -msgstr "" - -#: ../../library/unittest.mock.rst:1816 -msgid "" -">>> @patch('sys.exit')\n" -"... @patch.multiple('__main__', thing=DEFAULT, other=DEFAULT)\n" -"... def test_function(mock_exit, other, thing):\n" -"... assert 'other' in repr(other)\n" -"... assert 'thing' in repr(thing)\n" -"... assert 'exit' in repr(mock_exit)\n" -"...\n" -">>> test_function()" -msgstr "" - -#: ../../library/unittest.mock.rst:1825 -msgid "" -"If :func:`patch.multiple` is used as a context manager, the value returned " -"by the context manager is a dictionary where created mocks are keyed by " -"name::" -msgstr "" - -#: ../../library/unittest.mock.rst:1828 -msgid "" -">>> with patch.multiple('__main__', thing=DEFAULT, other=DEFAULT) as values:\n" -"... assert 'other' in repr(values['other'])\n" -"... assert 'thing' in repr(values['thing'])\n" -"... assert values['thing'] is thing\n" -"... assert values['other'] is other\n" -"..." -msgstr "" - -#: ../../library/unittest.mock.rst:1839 -msgid "patch methods: start and stop" -msgstr "" - -#: ../../library/unittest.mock.rst:1841 -msgid "" -"All the patchers have :meth:`!start` and :meth:`!stop` methods. These make " -"it simpler to do patching in ``setUp`` methods or where you want to do " -"multiple patches without nesting decorators or with statements." -msgstr "" - -#: ../../library/unittest.mock.rst:1845 -msgid "" -"To use them call :func:`patch`, :func:`patch.object` or :func:`patch.dict` " -"as normal and keep a reference to the returned ``patcher`` object. You can " -"then call :meth:`!start` to put the patch in place and :meth:`!stop` to undo" -" it." -msgstr "" - -#: ../../library/unittest.mock.rst:1849 -msgid "" -"If you are using :func:`patch` to create a mock for you then it will be " -"returned by the call to ``patcher.start``. ::" -msgstr "" - -#: ../../library/unittest.mock.rst:1852 -msgid "" -">>> patcher = patch('package.module.ClassName')\n" -">>> from package import module\n" -">>> original = module.ClassName\n" -">>> new_mock = patcher.start()\n" -">>> assert module.ClassName is not original\n" -">>> assert module.ClassName is new_mock\n" -">>> patcher.stop()\n" -">>> assert module.ClassName is original\n" -">>> assert module.ClassName is not new_mock" -msgstr "" - -#: ../../library/unittest.mock.rst:1863 -msgid "" -"A typical use case for this might be for doing multiple patches in the " -"``setUp`` method of a :class:`~unittest.TestCase`::" -msgstr "" - -#: ../../library/unittest.mock.rst:1866 -msgid "" -">>> class MyTest(unittest.TestCase):\n" -"... def setUp(self):\n" -"... self.patcher1 = patch('package.module.Class1')\n" -"... self.patcher2 = patch('package.module.Class2')\n" -"... self.MockClass1 = self.patcher1.start()\n" -"... self.MockClass2 = self.patcher2.start()\n" -"...\n" -"... def tearDown(self):\n" -"... self.patcher1.stop()\n" -"... self.patcher2.stop()\n" -"...\n" -"... def test_something(self):\n" -"... assert package.module.Class1 is self.MockClass1\n" -"... assert package.module.Class2 is self.MockClass2\n" -"...\n" -">>> MyTest('test_something').run()" -msgstr "" - -#: ../../library/unittest.mock.rst:1885 -msgid "" -"If you use this technique you must ensure that the patching is \"undone\" by" -" calling ``stop``. This can be fiddlier than you might think, because if an " -"exception is raised in the ``setUp`` then ``tearDown`` is not called. " -":meth:`unittest.TestCase.addCleanup` makes this easier::" -msgstr "" - -#: ../../library/unittest.mock.rst:1890 -msgid "" -">>> class MyTest(unittest.TestCase):\n" -"... def setUp(self):\n" -"... patcher = patch('package.module.Class')\n" -"... self.MockClass = patcher.start()\n" -"... self.addCleanup(patcher.stop)\n" -"...\n" -"... def test_something(self):\n" -"... assert package.module.Class is self.MockClass\n" -"..." -msgstr "" - -#: ../../library/unittest.mock.rst:1900 -msgid "" -"As an added bonus you no longer need to keep a reference to the ``patcher`` " -"object." -msgstr "" - -#: ../../library/unittest.mock.rst:1903 -msgid "" -"It is also possible to stop all patches which have been started by using " -":func:`patch.stopall`." -msgstr "" - -#: ../../library/unittest.mock.rst:1908 -msgid "Stop all active patches. Only stops patches started with ``start``." -msgstr "" - -#: ../../library/unittest.mock.rst:1914 -msgid "patch builtins" -msgstr "" - -#: ../../library/unittest.mock.rst:1915 -msgid "" -"You can patch any builtins within a module. The following example patches " -"builtin :func:`ord`::" -msgstr "" - -#: ../../library/unittest.mock.rst:1918 -msgid "" -">>> @patch('__main__.ord')\n" -"... def test(mock_ord):\n" -"... mock_ord.return_value = 101\n" -"... print(ord('c'))\n" -"...\n" -">>> test()\n" -"101" -msgstr "" - -#: ../../library/unittest.mock.rst:1930 -msgid "TEST_PREFIX" -msgstr "" - -#: ../../library/unittest.mock.rst:1932 -msgid "" -"All of the patchers can be used as class decorators. When used in this way " -"they wrap every test method on the class. The patchers recognise methods " -"that start with ``'test'`` as being test methods. This is the same way that " -"the :class:`unittest.TestLoader` finds test methods by default." -msgstr "" - -#: ../../library/unittest.mock.rst:1937 -msgid "" -"It is possible that you want to use a different prefix for your tests. You " -"can inform the patchers of the different prefix by setting " -"``patch.TEST_PREFIX``::" -msgstr "" - -#: ../../library/unittest.mock.rst:1940 -msgid "" -">>> patch.TEST_PREFIX = 'foo'\n" -">>> value = 3\n" -">>>\n" -">>> @patch('__main__.value', 'not three')\n" -"... class Thing:\n" -"... def foo_one(self):\n" -"... print(value)\n" -"... def foo_two(self):\n" -"... print(value)\n" -"...\n" -">>>\n" -">>> Thing().foo_one()\n" -"not three\n" -">>> Thing().foo_two()\n" -"not three\n" -">>> value\n" -"3" -msgstr "" - -#: ../../library/unittest.mock.rst:1960 -msgid "Nesting Patch Decorators" -msgstr "" - -#: ../../library/unittest.mock.rst:1962 -msgid "" -"If you want to perform multiple patches then you can simply stack up the " -"decorators." -msgstr "" - -#: ../../library/unittest.mock.rst:1965 -msgid "You can stack up multiple patch decorators using this pattern:" -msgstr "" - -#: ../../library/unittest.mock.rst:1981 -msgid "" -"Note that the decorators are applied from the bottom upwards. This is the " -"standard way that Python applies decorators. The order of the created mocks " -"passed into your test function matches this order." -msgstr "" - -#: ../../library/unittest.mock.rst:1989 -msgid "Where to patch" -msgstr "" - -#: ../../library/unittest.mock.rst:1991 -msgid "" -":func:`patch` works by (temporarily) changing the object that a *name* " -"points to with another one. There can be many names pointing to any " -"individual object, so for patching to work you must ensure that you patch " -"the name used by the system under test." -msgstr "" - -#: ../../library/unittest.mock.rst:1996 -msgid "" -"The basic principle is that you patch where an object is *looked up*, which " -"is not necessarily the same place as where it is defined. A couple of " -"examples will help to clarify this." -msgstr "" - -#: ../../library/unittest.mock.rst:2000 -msgid "" -"Imagine we have a project that we want to test with the following " -"structure::" -msgstr "" - -#: ../../library/unittest.mock.rst:2002 -msgid "" -"a.py\n" -" -> Defines SomeClass\n" -"\n" -"b.py\n" -" -> from a import SomeClass\n" -" -> some_function instantiates SomeClass" -msgstr "" - -#: ../../library/unittest.mock.rst:2009 -msgid "" -"Now we want to test ``some_function`` but we want to mock out ``SomeClass`` " -"using :func:`patch`. The problem is that when we import module b, which we " -"will have to do when it imports ``SomeClass`` from module a. If we use " -":func:`patch` to mock out ``a.SomeClass`` then it will have no effect on our" -" test; module b already has a reference to the *real* ``SomeClass`` and it " -"looks like our patching had no effect." -msgstr "" - -#: ../../library/unittest.mock.rst:2016 -msgid "" -"The key is to patch out ``SomeClass`` where it is used (or where it is " -"looked up). In this case ``some_function`` will actually look up " -"``SomeClass`` in module b, where we have imported it. The patching should " -"look like::" -msgstr "" - -#: ../../library/unittest.mock.rst:2020 -msgid "@patch('b.SomeClass')" -msgstr "" - -#: ../../library/unittest.mock.rst:2022 -msgid "" -"However, consider the alternative scenario where instead of ``from a import " -"SomeClass`` module b does ``import a`` and ``some_function`` uses " -"``a.SomeClass``. Both of these import forms are common. In this case the " -"class we want to patch is being looked up in the module and so we have to " -"patch ``a.SomeClass`` instead::" -msgstr "" - -#: ../../library/unittest.mock.rst:2027 -msgid "@patch('a.SomeClass')" -msgstr "" - -#: ../../library/unittest.mock.rst:2031 -msgid "Patching Descriptors and Proxy Objects" -msgstr "" - -#: ../../library/unittest.mock.rst:2033 -msgid "" -"Both patch_ and patch.object_ correctly patch and restore descriptors: class" -" methods, static methods and properties. You should patch these on the " -"*class* rather than an instance. They also work with *some* objects that " -"proxy attribute access, like the `django settings object " -"`_." -msgstr "" - -#: ../../library/unittest.mock.rst:2041 -msgid "MagicMock and magic method support" -msgstr "" - -#: ../../library/unittest.mock.rst:2046 -msgid "Mocking Magic Methods" -msgstr "" - -#: ../../library/unittest.mock.rst:2048 -msgid "" -":class:`Mock` supports mocking the Python protocol methods, also known as " -":term:`\"magic methods\" `. This allows mock objects to " -"replace containers or other objects that implement Python protocols." -msgstr "" - -#: ../../library/unittest.mock.rst:2052 -msgid "" -"Because magic methods are looked up differently from normal methods [#]_, " -"this support has been specially implemented. This means that only specific " -"magic methods are supported. The supported list includes *almost* all of " -"them. If there are any missing that you need please let us know." -msgstr "" - -#: ../../library/unittest.mock.rst:2057 -msgid "" -"You mock magic methods by setting the method you are interested in to a " -"function or a mock instance. If you are using a function then it *must* take" -" ``self`` as the first argument [#]_." -msgstr "" - -#: ../../library/unittest.mock.rst:2080 -msgid "" -"One use case for this is for mocking objects used as context managers in a " -":keyword:`with` statement:" -msgstr "" - -#: ../../library/unittest.mock.rst:2092 -msgid "" -"Calls to magic methods do not appear in :attr:`~Mock.method_calls`, but they" -" are recorded in :attr:`~Mock.mock_calls`." -msgstr "" - -#: ../../library/unittest.mock.rst:2097 -msgid "" -"If you use the *spec* keyword argument to create a mock then attempting to " -"set a magic method that isn't in the spec will raise an " -":exc:`AttributeError`." -msgstr "" - -#: ../../library/unittest.mock.rst:2100 -msgid "The full list of supported magic methods is:" -msgstr "" - -#: ../../library/unittest.mock.rst:2102 -msgid "``__hash__``, ``__sizeof__``, ``__repr__`` and ``__str__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2103 -msgid "``__dir__``, ``__format__`` and ``__subclasses__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2104 -msgid "``__round__``, ``__floor__``, ``__trunc__`` and ``__ceil__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2105 -msgid "" -"Comparisons: ``__lt__``, ``__gt__``, ``__le__``, ``__ge__``, ``__eq__`` and " -"``__ne__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2107 -msgid "" -"Container methods: ``__getitem__``, ``__setitem__``, ``__delitem__``, " -"``__contains__``, ``__len__``, ``__iter__``, ``__reversed__`` and " -"``__missing__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2110 -msgid "" -"Context manager: ``__enter__``, ``__exit__``, ``__aenter__`` and " -"``__aexit__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2111 -msgid "Unary numeric methods: ``__neg__``, ``__pos__`` and ``__invert__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2112 -msgid "" -"The numeric methods (including right hand and in-place variants): " -"``__add__``, ``__sub__``, ``__mul__``, ``__matmul__``, ``__truediv__``, " -"``__floordiv__``, ``__mod__``, ``__divmod__``, ``__lshift__``, " -"``__rshift__``, ``__and__``, ``__xor__``, ``__or__``, and ``__pow__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2116 -msgid "" -"Numeric conversion methods: ``__complex__``, ``__int__``, ``__float__`` and " -"``__index__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2118 -msgid "Descriptor methods: ``__get__``, ``__set__`` and ``__delete__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2119 -msgid "" -"Pickling: ``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, " -"``__getnewargs__``, ``__getstate__`` and ``__setstate__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2121 -msgid "File system path representation: ``__fspath__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2122 -msgid "Asynchronous iteration methods: ``__aiter__`` and ``__anext__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2124 -msgid "Added support for :func:`os.PathLike.__fspath__`." -msgstr "" - -#: ../../library/unittest.mock.rst:2127 -msgid "" -"Added support for ``__aenter__``, ``__aexit__``, ``__aiter__`` and " -"``__anext__``." -msgstr "" - -#: ../../library/unittest.mock.rst:2131 -msgid "" -"The following methods exist but are *not* supported as they are either in " -"use by mock, can't be set dynamically, or can cause problems:" -msgstr "" - -#: ../../library/unittest.mock.rst:2134 -msgid "``__getattr__``, ``__setattr__``, ``__init__`` and ``__new__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2135 -msgid "" -"``__prepare__``, ``__instancecheck__``, ``__subclasscheck__``, ``__del__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2140 -msgid "Magic Mock" -msgstr "" - -#: ../../library/unittest.mock.rst:2142 -msgid "" -"There are two ``MagicMock`` variants: :class:`MagicMock` and " -":class:`NonCallableMagicMock`." -msgstr "" - -#: ../../library/unittest.mock.rst:2147 -msgid "" -"``MagicMock`` is a subclass of :class:`Mock` with default implementations of" -" most of the :term:`magic methods `. You can use ``MagicMock``" -" without having to configure the magic methods yourself." -msgstr "" - -#: ../../library/unittest.mock.rst:2151 -msgid "The constructor parameters have the same meaning as for :class:`Mock`." -msgstr "" - -#: ../../library/unittest.mock.rst:2153 -msgid "" -"If you use the *spec* or *spec_set* arguments then *only* magic methods that" -" exist in the spec will be created." -msgstr "" - -#: ../../library/unittest.mock.rst:2159 -msgid "A non-callable version of :class:`MagicMock`." -msgstr "" - -#: ../../library/unittest.mock.rst:2161 -msgid "" -"The constructor parameters have the same meaning as for :class:`MagicMock`, " -"with the exception of *return_value* and *side_effect* which have no meaning" -" on a non-callable mock." -msgstr "" - -#: ../../library/unittest.mock.rst:2165 -msgid "" -"The magic methods are setup with :class:`MagicMock` objects, so you can " -"configure them and use them in the usual way:" -msgstr "" - -#: ../../library/unittest.mock.rst:2175 -msgid "" -"By default many of the protocol methods are required to return objects of a " -"specific type. These methods are preconfigured with a default return value, " -"so that they can be used without you having to do anything if you aren't " -"interested in the return value. You can still *set* the return value " -"manually if you want to change the default." -msgstr "" - -#: ../../library/unittest.mock.rst:2181 -msgid "Methods and their defaults:" -msgstr "" - -#: ../../library/unittest.mock.rst:2183 -msgid "``__lt__``: :data:`NotImplemented`" -msgstr "" - -#: ../../library/unittest.mock.rst:2184 -msgid "``__gt__``: :data:`!NotImplemented`" -msgstr "" - -#: ../../library/unittest.mock.rst:2185 -msgid "``__le__``: :data:`!NotImplemented`" -msgstr "" - -#: ../../library/unittest.mock.rst:2186 -msgid "``__ge__``: :data:`!NotImplemented`" -msgstr "" - -#: ../../library/unittest.mock.rst:2187 -msgid "``__int__``: ``1``" -msgstr "" - -#: ../../library/unittest.mock.rst:2188 -msgid "``__contains__``: ``False``" -msgstr "" - -#: ../../library/unittest.mock.rst:2189 -msgid "``__len__``: ``0``" -msgstr "" - -#: ../../library/unittest.mock.rst:2190 -msgid "``__iter__``: ``iter([])``" -msgstr "" - -#: ../../library/unittest.mock.rst:2191 -msgid "``__exit__``: ``False``" -msgstr "" - -#: ../../library/unittest.mock.rst:2192 -msgid "``__aexit__``: ``False``" -msgstr "" - -#: ../../library/unittest.mock.rst:2193 -msgid "``__complex__``: ``1j``" -msgstr "" - -#: ../../library/unittest.mock.rst:2194 -msgid "``__float__``: ``1.0``" -msgstr "" - -#: ../../library/unittest.mock.rst:2195 -msgid "``__bool__``: ``True``" -msgstr "" - -#: ../../library/unittest.mock.rst:2196 -msgid "``__index__``: ``1``" -msgstr "" - -#: ../../library/unittest.mock.rst:2197 -msgid "``__hash__``: default hash for the mock" -msgstr "" - -#: ../../library/unittest.mock.rst:2198 -msgid "``__str__``: default str for the mock" -msgstr "" - -#: ../../library/unittest.mock.rst:2199 -msgid "``__sizeof__``: default sizeof for the mock" -msgstr "" - -#: ../../library/unittest.mock.rst:2201 -msgid "For example:" -msgstr "Sebagai contoh:" - -#: ../../library/unittest.mock.rst:2213 -msgid "" -"The two equality methods, :meth:`!__eq__` and :meth:`!__ne__`, are special. " -"They do the default equality comparison on identity, using the " -":attr:`~Mock.side_effect` attribute, unless you change their return value to" -" return something else::" -msgstr "" - -#: ../../library/unittest.mock.rst:2218 -msgid "" -">>> MagicMock() == 3\n" -"False\n" -">>> MagicMock() != 3\n" -"True\n" -">>> mock = MagicMock()\n" -">>> mock.__eq__.return_value = True\n" -">>> mock == 3\n" -"True" -msgstr "" - -#: ../../library/unittest.mock.rst:2227 -msgid "" -"The return value of :meth:`MagicMock.__iter__` can be any iterable object " -"and isn't required to be an iterator:" -msgstr "" - -#: ../../library/unittest.mock.rst:2237 -msgid "" -"If the return value *is* an iterator, then iterating over it once will " -"consume it and subsequent iterations will result in an empty list:" -msgstr "" - -#: ../../library/unittest.mock.rst:2246 -msgid "" -"``MagicMock`` has all of the supported magic methods configured except for " -"some of the obscure and obsolete ones. You can still set these up if you " -"want." -msgstr "" - -#: ../../library/unittest.mock.rst:2249 -msgid "" -"Magic methods that are supported but not setup by default in ``MagicMock`` " -"are:" -msgstr "" - -#: ../../library/unittest.mock.rst:2251 -msgid "``__subclasses__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2252 -msgid "``__dir__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2253 -msgid "``__format__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2254 -msgid "``__get__``, ``__set__`` and ``__delete__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2255 -msgid "``__reversed__`` and ``__missing__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2256 -msgid "" -"``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, ``__getnewargs__``, " -"``__getstate__`` and ``__setstate__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2258 -msgid "``__getformat__``" -msgstr "" - -#: ../../library/unittest.mock.rst:2262 -msgid "" -"Magic methods *should* be looked up on the class rather than the instance. " -"Different versions of Python are inconsistent about applying this rule. The " -"supported protocol methods should work with all supported versions of " -"Python." -msgstr "" - -#: ../../library/unittest.mock.rst:2266 -msgid "" -"The function is basically hooked up to the class, but each ``Mock`` instance" -" is kept isolated from the others." -msgstr "" - -#: ../../library/unittest.mock.rst:2271 -msgid "Helpers" -msgstr "" - -#: ../../library/unittest.mock.rst:2274 -msgid "sentinel" -msgstr "" - -#: ../../library/unittest.mock.rst:2278 -msgid "" -"The ``sentinel`` object provides a convenient way of providing unique " -"objects for your tests." -msgstr "" - -#: ../../library/unittest.mock.rst:2281 -msgid "" -"Attributes are created on demand when you access them by name. Accessing the" -" same attribute will always return the same object. The objects returned " -"have a sensible repr so that test failure messages are readable." -msgstr "" - -#: ../../library/unittest.mock.rst:2285 -msgid "" -"The ``sentinel`` attributes now preserve their identity when they are " -":mod:`copied ` or :mod:`pickled `." -msgstr "" - -#: ../../library/unittest.mock.rst:2289 -msgid "" -"Sometimes when testing you need to test that a specific object is passed as " -"an argument to another method, or returned. It can be common to create named" -" sentinel objects to test this. :data:`sentinel` provides a convenient way " -"of creating and testing the identity of objects like this." -msgstr "" - -#: ../../library/unittest.mock.rst:2294 -msgid "" -"In this example we monkey patch ``method`` to return " -"``sentinel.some_object``:" -msgstr "" - -#: ../../library/unittest.mock.rst:2306 -msgid "DEFAULT" -msgstr "" - -#: ../../library/unittest.mock.rst:2311 -msgid "" -"The :data:`DEFAULT` object is a pre-created sentinel (actually " -"``sentinel.DEFAULT``). It can be used by :attr:`~Mock.side_effect` functions" -" to indicate that the normal return value should be used." -msgstr "" - -#: ../../library/unittest.mock.rst:2317 -msgid "call" -msgstr "" - -#: ../../library/unittest.mock.rst:2321 -msgid "" -":func:`call` is a helper object for making simpler assertions, for comparing" -" with :attr:`~Mock.call_args`, :attr:`~Mock.call_args_list`, " -":attr:`~Mock.mock_calls` and :attr:`~Mock.method_calls`. :func:`call` can " -"also be used with :meth:`~Mock.assert_has_calls`." -msgstr "" - -#: ../../library/unittest.mock.rst:2334 -msgid "" -"For a call object that represents multiple calls, :meth:`call_list` returns " -"a list of all the intermediate calls as well as the final call." -msgstr "" - -#: ../../library/unittest.mock.rst:2338 -msgid "" -"``call_list`` is particularly useful for making assertions on \"chained " -"calls\". A chained call is multiple calls on a single line of code. This " -"results in multiple entries in :attr:`~Mock.mock_calls` on a mock. Manually " -"constructing the sequence of calls can be tedious." -msgstr "" - -#: ../../library/unittest.mock.rst:2343 -msgid "" -":meth:`~call.call_list` can construct the sequence of calls from the same " -"chained call:" -msgstr "" - -#: ../../library/unittest.mock.rst:2360 -msgid "" -"A ``call`` object is either a tuple of (positional args, keyword args) or " -"(name, positional args, keyword args) depending on how it was constructed. " -"When you construct them yourself this isn't particularly interesting, but " -"the ``call`` objects that are in the :attr:`Mock.call_args`, " -":attr:`Mock.call_args_list` and :attr:`Mock.mock_calls` attributes can be " -"introspected to get at the individual arguments they contain." -msgstr "" - -#: ../../library/unittest.mock.rst:2367 -msgid "" -"The ``call`` objects in :attr:`Mock.call_args` and " -":attr:`Mock.call_args_list` are two-tuples of (positional args, keyword " -"args) whereas the ``call`` objects in :attr:`Mock.mock_calls`, along with " -"ones you construct yourself, are three-tuples of (name, positional args, " -"keyword args)." -msgstr "" - -#: ../../library/unittest.mock.rst:2372 -msgid "" -"You can use their \"tupleness\" to pull out the individual arguments for " -"more complex introspection and assertions. The positional arguments are a " -"tuple (an empty tuple if there are no positional arguments) and the keyword " -"arguments are a dictionary:" -msgstr "" - -#: ../../library/unittest.mock.rst:2405 -msgid "create_autospec" -msgstr "" - -#: ../../library/unittest.mock.rst:2409 -msgid "" -"Create a mock object using another object as a spec. Attributes on the mock " -"will use the corresponding attribute on the *spec* object as their spec." -msgstr "" - -#: ../../library/unittest.mock.rst:2413 -msgid "" -"Functions or methods being mocked will have their arguments checked to " -"ensure that they are called with the correct signature." -msgstr "" - -#: ../../library/unittest.mock.rst:2416 -msgid "" -"If *spec_set* is ``True`` then attempting to set attributes that don't exist" -" on the spec object will raise an :exc:`AttributeError`." -msgstr "" - -#: ../../library/unittest.mock.rst:2419 -msgid "" -"If a class is used as a spec then the return value of the mock (the instance" -" of the class) will have the same spec. You can use a class as the spec for " -"an instance object by passing ``instance=True``. The returned mock will only" -" be callable if instances of the mock are callable." -msgstr "" - -#: ../../library/unittest.mock.rst:2424 -msgid "" -":func:`create_autospec` also takes arbitrary keyword arguments that are " -"passed to the constructor of the created mock." -msgstr "" - -#: ../../library/unittest.mock.rst:2427 -msgid "" -"See :ref:`auto-speccing` for examples of how to use auto-speccing with " -":func:`create_autospec` and the *autospec* argument to :func:`patch`." -msgstr "" - -#: ../../library/unittest.mock.rst:2433 -msgid "" -":func:`create_autospec` now returns an :class:`AsyncMock` if the target is " -"an async function." -msgstr "" - -#: ../../library/unittest.mock.rst:2438 -msgid "ANY" -msgstr "" - -#: ../../library/unittest.mock.rst:2442 -msgid "" -"Sometimes you may need to make assertions about *some* of the arguments in a" -" call to mock, but either not care about some of the arguments or want to " -"pull them individually out of :attr:`~Mock.call_args` and make more complex " -"assertions on them." -msgstr "" - -#: ../../library/unittest.mock.rst:2447 -msgid "" -"To ignore certain arguments you can pass in objects that compare equal to " -"*everything*. Calls to :meth:`~Mock.assert_called_with` and " -":meth:`~Mock.assert_called_once_with` will then succeed no matter what was " -"passed in." -msgstr "" - -#: ../../library/unittest.mock.rst:2456 -msgid "" -":data:`ANY` can also be used in comparisons with call lists like " -":attr:`~Mock.mock_calls`:" -msgstr "" - -#: ../../library/unittest.mock.rst:2466 -msgid "" -":data:`ANY` is not limited to comparisons with call objects and so can also " -"be used in test assertions::" -msgstr "" - -#: ../../library/unittest.mock.rst:2469 -msgid "" -"class TestStringMethods(unittest.TestCase):\n" -"\n" -" def test_split(self):\n" -" s = 'hello world'\n" -" self.assertEqual(s.split(), ['hello', ANY])" -msgstr "" - -#: ../../library/unittest.mock.rst:2477 -msgid "FILTER_DIR" -msgstr "" - -#: ../../library/unittest.mock.rst:2481 -msgid "" -":data:`FILTER_DIR` is a module level variable that controls the way mock " -"objects respond to :func:`dir`. The default is ``True``, which uses the " -"filtering described below, to only show useful members. If you dislike this " -"filtering, or need to switch it off for diagnostic purposes, then set " -"``mock.FILTER_DIR = False``." -msgstr "" - -#: ../../library/unittest.mock.rst:2487 -msgid "" -"With filtering on, ``dir(some_mock)`` shows only useful attributes and will " -"include any dynamically created attributes that wouldn't normally be shown. " -"If the mock was created with a *spec* (or *autospec* of course) then all the" -" attributes from the original are shown, even if they haven't been accessed " -"yet:" -msgstr "" - -#: ../../library/unittest.mock.rst:2493 -msgid "" -">>> dir(Mock())\n" -"['assert_any_call',\n" -" 'assert_called',\n" -" 'assert_called_once',\n" -" 'assert_called_once_with',\n" -" 'assert_called_with',\n" -" 'assert_has_calls',\n" -" 'assert_not_called',\n" -" 'attach_mock',\n" -" ...\n" -">>> from urllib import request\n" -">>> dir(Mock(spec=request))\n" -"['AbstractBasicAuthHandler',\n" -" 'AbstractDigestAuthHandler',\n" -" 'AbstractHTTPHandler',\n" -" 'BaseHandler',\n" -" ..." -msgstr "" - -#: ../../library/unittest.mock.rst:2514 -msgid "" -"Many of the not-very-useful (private to :class:`Mock` rather than the thing " -"being mocked) underscore and double underscore prefixed attributes have been" -" filtered from the result of calling :func:`dir` on a :class:`Mock`. If you " -"dislike this behaviour you can switch it off by setting the module level " -"switch :data:`FILTER_DIR`:" -msgstr "" - -#: ../../library/unittest.mock.rst:2520 -msgid "" -">>> from unittest import mock\n" -">>> mock.FILTER_DIR = False\n" -">>> dir(mock.Mock())\n" -"['_NonCallableMock__get_return_value',\n" -" '_NonCallableMock__get_side_effect',\n" -" '_NonCallableMock__return_value_doc',\n" -" '_NonCallableMock__set_return_value',\n" -" '_NonCallableMock__set_side_effect',\n" -" '__call__',\n" -" '__class__',\n" -" ..." -msgstr "" - -#: ../../library/unittest.mock.rst:2535 -msgid "" -"Alternatively you can just use ``vars(my_mock)`` (instance members) and " -"``dir(type(my_mock))`` (type members) to bypass the filtering irrespective " -"of :const:`FILTER_DIR`." -msgstr "" - -#: ../../library/unittest.mock.rst:2541 -msgid "mock_open" -msgstr "" - -#: ../../library/unittest.mock.rst:2545 -msgid "" -"A helper function to create a mock to replace the use of :func:`open`. It " -"works for :func:`open` called directly or used as a context manager." -msgstr "" - -#: ../../library/unittest.mock.rst:2548 -msgid "" -"The *mock* argument is the mock object to configure. If ``None`` (the " -"default) then a :class:`MagicMock` will be created for you, with the API " -"limited to methods or attributes available on standard file handles." -msgstr "" - -#: ../../library/unittest.mock.rst:2552 -msgid "" -"*read_data* is a string for the :meth:`~io.RawIOBase.read`, " -":meth:`~io.IOBase.readline`, and :meth:`~io.IOBase.readlines` methods of the" -" file handle to return. Calls to those methods will take data from " -"*read_data* until it is depleted. The mock of these methods is pretty " -"simplistic: every time the *mock* is called, the *read_data* is rewound to " -"the start. If you need more control over the data that you are feeding to " -"the tested code you will need to customize this mock for yourself. When " -"that is insufficient, one of the in-memory filesystem packages on `PyPI " -"`_ can offer a realistic filesystem for testing." -msgstr "" - -#: ../../library/unittest.mock.rst:2562 -msgid "" -"Added :meth:`~io.IOBase.readline` and :meth:`~io.IOBase.readlines` support. " -"The mock of :meth:`~io.RawIOBase.read` changed to consume *read_data* rather" -" than returning it on each call." -msgstr "" - -#: ../../library/unittest.mock.rst:2567 -msgid "*read_data* is now reset on each call to the *mock*." -msgstr "" - -#: ../../library/unittest.mock.rst:2570 -msgid "" -"Added :meth:`~container.__iter__` to implementation so that iteration (such " -"as in for loops) correctly consumes *read_data*." -msgstr "" - -#: ../../library/unittest.mock.rst:2574 -msgid "" -"Using :func:`open` as a context manager is a great way to ensure your file " -"handles are closed properly and is becoming common::" -msgstr "" - -#: ../../library/unittest.mock.rst:2577 -msgid "" -"with open('/some/path', 'w') as f:\n" -" f.write('something')" -msgstr "" - -#: ../../library/unittest.mock.rst:2580 -msgid "" -"The issue is that even if you mock out the call to :func:`open` it is the " -"*returned object* that is used as a context manager (and has " -":meth:`~object.__enter__` and :meth:`~object.__exit__` called)." -msgstr "" - -#: ../../library/unittest.mock.rst:2584 -msgid "" -"Mocking context managers with a :class:`MagicMock` is common enough and " -"fiddly enough that a helper function is useful. ::" -msgstr "" - -#: ../../library/unittest.mock.rst:2587 -msgid "" -">>> m = mock_open()\n" -">>> with patch('__main__.open', m):\n" -"... with open('foo', 'w') as h:\n" -"... h.write('some stuff')\n" -"...\n" -">>> m.mock_calls\n" -"[call('foo', 'w'),\n" -" call().__enter__(),\n" -" call().write('some stuff'),\n" -" call().__exit__(None, None, None)]\n" -">>> m.assert_called_once_with('foo', 'w')\n" -">>> handle = m()\n" -">>> handle.write.assert_called_once_with('some stuff')" -msgstr "" - -#: ../../library/unittest.mock.rst:2601 -msgid "And for reading files::" -msgstr "" - -#: ../../library/unittest.mock.rst:2603 -msgid "" -">>> with patch('__main__.open', mock_open(read_data='bibble')) as m:\n" -"... with open('foo') as h:\n" -"... result = h.read()\n" -"...\n" -">>> m.assert_called_once_with('foo')\n" -">>> assert result == 'bibble'" -msgstr "" - -#: ../../library/unittest.mock.rst:2614 -msgid "Autospeccing" -msgstr "" - -#: ../../library/unittest.mock.rst:2616 -msgid "" -"Autospeccing is based on the existing :attr:`!spec` feature of mock. It " -"limits the api of mocks to the api of an original object (the spec), but it " -"is recursive (implemented lazily) so that attributes of mocks only have the " -"same api as the attributes of the spec. In addition mocked functions / " -"methods have the same call signature as the original so they raise a " -":exc:`TypeError` if they are called incorrectly." -msgstr "" - -#: ../../library/unittest.mock.rst:2623 -msgid "Before I explain how auto-speccing works, here's why it is needed." -msgstr "" - -#: ../../library/unittest.mock.rst:2625 -msgid "" -":class:`Mock` is a very powerful and flexible object, but it suffers from a " -"flaw which is general to mocking. If you refactor some of your code, rename " -"members and so on, any tests for code that is still using the *old api* but " -"uses mocks instead of the real objects will still pass. This means your " -"tests can all pass even though your code is broken." -msgstr "" - -#: ../../library/unittest.mock.rst:2633 -msgid "" -"Before 3.5, tests with a typo in the word assert would silently pass when " -"they should raise an error. You can still achieve this behavior by passing " -"``unsafe=True`` to Mock." -msgstr "" - -#: ../../library/unittest.mock.rst:2636 -msgid "" -"Note that this is another reason why you need integration tests as well as " -"unit tests. Testing everything in isolation is all fine and dandy, but if " -"you don't test how your units are \"wired together\" there is still lots of " -"room for bugs that tests might have caught." -msgstr "" - -#: ../../library/unittest.mock.rst:2641 -msgid "" -":mod:`unittest.mock` already provides a feature to help with this, called " -"speccing. If you use a class or instance as the :attr:`!spec` for a mock " -"then you can only access attributes on the mock that exist on the real " -"class:" -msgstr "" - -#: ../../library/unittest.mock.rst:2652 -msgid "" -"The spec only applies to the mock itself, so we still have the same issue " -"with any methods on the mock:" -msgstr "" - -#: ../../library/unittest.mock.rst:2655 -msgid "" -">>> mock.has_data()\n" -"\n" -">>> mock.has_data.assret_called_with() # Intentional typo!" -msgstr "" - -#: ../../library/unittest.mock.rst:2661 -msgid "" -"Auto-speccing solves this problem. You can either pass ``autospec=True`` to " -":func:`patch` / :func:`patch.object` or use the :func:`create_autospec` " -"function to create a mock with a spec. If you use the ``autospec=True`` " -"argument to :func:`patch` then the object that is being replaced will be " -"used as the spec object. Because the speccing is done \"lazily\" (the spec " -"is created as attributes on the mock are accessed) you can use it with very " -"complex or deeply nested objects (like modules that import modules that " -"import modules) without a big performance hit." -msgstr "" - -#: ../../library/unittest.mock.rst:2670 -msgid "Here's an example of it in use::" -msgstr "" - -#: ../../library/unittest.mock.rst:2672 -msgid "" -">>> from urllib import request\n" -">>> patcher = patch('__main__.request', autospec=True)\n" -">>> mock_request = patcher.start()\n" -">>> request is mock_request\n" -"True\n" -">>> mock_request.Request\n" -"" -msgstr "" - -#: ../../library/unittest.mock.rst:2680 -msgid "" -"You can see that :class:`!request.Request` has a spec. " -":class:`!request.Request` takes two arguments in the constructor (one of " -"which is *self*). Here's what happens if we try to call it incorrectly::" -msgstr "" - -#: ../../library/unittest.mock.rst:2684 -msgid "" -">>> req = request.Request()\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: () takes at least 2 arguments (1 given)" -msgstr "" - -#: ../../library/unittest.mock.rst:2689 -msgid "" -"The spec also applies to instantiated classes (i.e. the return value of " -"specced mocks)::" -msgstr "" - -#: ../../library/unittest.mock.rst:2692 -msgid "" -">>> req = request.Request('foo')\n" -">>> req\n" -"" -msgstr "" - -#: ../../library/unittest.mock.rst:2696 -msgid "" -":class:`!Request` objects are not callable, so the return value of " -"instantiating our mocked out :class:`!request.Request` is a non-callable " -"mock. With the spec in place any typos in our asserts will raise the correct" -" error::" -msgstr "" - -#: ../../library/unittest.mock.rst:2700 -msgid "" -">>> req.add_header('spam', 'eggs')\n" -"\n" -">>> req.add_header.assret_called_with # Intentional typo!\n" -"Traceback (most recent call last):\n" -" ...\n" -"AttributeError: Mock object has no attribute 'assret_called_with'\n" -">>> req.add_header.assert_called_with('spam', 'eggs')" -msgstr "" - -#: ../../library/unittest.mock.rst:2708 -msgid "" -"In many cases you will just be able to add ``autospec=True`` to your " -"existing :func:`patch` calls and then be protected against bugs due to typos" -" and api changes." -msgstr "" - -#: ../../library/unittest.mock.rst:2712 -msgid "" -"As well as using *autospec* through :func:`patch` there is a " -":func:`create_autospec` for creating autospecced mocks directly:" -msgstr "" - -#: ../../library/unittest.mock.rst:2720 -msgid "" -"This isn't without caveats and limitations however, which is why it is not " -"the default behaviour. In order to know what attributes are available on the" -" spec object, autospec has to introspect (access attributes) the spec. As " -"you traverse attributes on the mock a corresponding traversal of the " -"original object is happening under the hood. If any of your specced objects " -"have properties or descriptors that can trigger code execution then you may " -"not be able to use autospec. On the other hand it is much better to design " -"your objects so that introspection is safe [#]_." -msgstr "" - -#: ../../library/unittest.mock.rst:2729 -msgid "" -"A more serious problem is that it is common for instance attributes to be " -"created in the :meth:`~object.__init__` method and not to exist on the class" -" at all. *autospec* can't know about any dynamically created attributes and " -"restricts the api to visible attributes. ::" -msgstr "" - -#: ../../library/unittest.mock.rst:2734 -msgid "" -">>> class Something:\n" -"... def __init__(self):\n" -"... self.a = 33\n" -"...\n" -">>> with patch('__main__.Something', autospec=True):\n" -"... thing = Something()\n" -"... thing.a\n" -"...\n" -"Traceback (most recent call last):\n" -" ...\n" -"AttributeError: Mock object has no attribute 'a'" -msgstr "" - -#: ../../library/unittest.mock.rst:2746 -msgid "" -"There are a few different ways of resolving this problem. The easiest, but " -"not necessarily the least annoying, way is to simply set the required " -"attributes on the mock after creation. Just because *autospec* doesn't allow" -" you to fetch attributes that don't exist on the spec it doesn't prevent you" -" setting them::" -msgstr "" - -#: ../../library/unittest.mock.rst:2752 -msgid "" -">>> with patch('__main__.Something', autospec=True):\n" -"... thing = Something()\n" -"... thing.a = 33\n" -"..." -msgstr "" - -#: ../../library/unittest.mock.rst:2757 -msgid "" -"There is a more aggressive version of both *spec* and *autospec* that *does*" -" prevent you setting non-existent attributes. This is useful if you want to " -"ensure your code only *sets* valid attributes too, but obviously it prevents" -" this particular scenario:" -msgstr "" - -#: ../../library/unittest.mock.rst:2770 -msgid "" -"Probably the best way of solving the problem is to add class attributes as " -"default values for instance members initialised in :meth:`~object.__init__`." -" Note that if you are only setting default attributes in :meth:`!__init__` " -"then providing them via class attributes (shared between instances of " -"course) is faster too. e.g." -msgstr "" - -#: ../../library/unittest.mock.rst:2776 -msgid "" -"class Something:\n" -" a = 33" -msgstr "" - -#: ../../library/unittest.mock.rst:2781 -msgid "" -"This brings up another issue. It is relatively common to provide a default " -"value of ``None`` for members that will later be an object of a different " -"type. ``None`` would be useless as a spec because it wouldn't let you access" -" *any* attributes or methods on it. As ``None`` is *never* going to be " -"useful as a spec, and probably indicates a member that will normally of some" -" other type, autospec doesn't use a spec for members that are set to " -"``None``. These will just be ordinary mocks (well - MagicMocks):" -msgstr "" - -#: ../../library/unittest.mock.rst:2796 -msgid "" -"If modifying your production classes to add defaults isn't to your liking " -"then there are more options. One of these is simply to use an instance as " -"the spec rather than the class. The other is to create a subclass of the " -"production class and add the defaults to the subclass without affecting the " -"production class. Both of these require you to use an alternative object as " -"the spec. Thankfully :func:`patch` supports this - you can simply pass the " -"alternative object as the *autospec* argument::" -msgstr "" - -#: ../../library/unittest.mock.rst:2804 -msgid "" -">>> class Something:\n" -"... def __init__(self):\n" -"... self.a = 33\n" -"...\n" -">>> class SomethingForTest(Something):\n" -"... a = 33\n" -"...\n" -">>> p = patch('__main__.Something', autospec=SomethingForTest)\n" -">>> mock = p.start()\n" -">>> mock.a\n" -"" -msgstr "" - -#: ../../library/unittest.mock.rst:2817 -msgid "" -"This only applies to classes or already instantiated objects. Calling a " -"mocked class to create a mock instance *does not* create a real instance. It" -" is only attribute lookups - along with calls to :func:`dir` - that are " -"done." -msgstr "" - -#: ../../library/unittest.mock.rst:2822 -msgid "Sealing mocks" -msgstr "" - -#: ../../library/unittest.mock.rst:2831 -msgid "" -"Seal will disable the automatic creation of mocks when accessing an " -"attribute of the mock being sealed or any of its attributes that are already" -" mocks recursively." -msgstr "" - -#: ../../library/unittest.mock.rst:2834 -msgid "" -"If a mock instance with a name or a spec is assigned to an attribute it " -"won't be considered in the sealing chain. This allows one to prevent seal " -"from fixing part of the mock object. ::" -msgstr "" - -#: ../../library/unittest.mock.rst:2838 -msgid "" -">>> mock = Mock()\n" -">>> mock.submock.attribute1 = 2\n" -">>> mock.not_submock = mock.Mock(name=\"sample_name\")\n" -">>> seal(mock)\n" -">>> mock.new_attribute # This will raise AttributeError.\n" -">>> mock.submock.attribute2 # This will raise AttributeError.\n" -">>> mock.not_submock.attribute2 # This won't raise." -msgstr "" - -#: ../../library/unittest.mock.rst:2850 -msgid "" -"Order of precedence of :attr:`!side_effect`, :attr:`!return_value` and " -"*wraps*" -msgstr "" - -#: ../../library/unittest.mock.rst:2852 -msgid "The order of their precedence is:" -msgstr "" - -#: ../../library/unittest.mock.rst:2854 -msgid ":attr:`~Mock.side_effect`" -msgstr "" - -#: ../../library/unittest.mock.rst:2855 -msgid ":attr:`~Mock.return_value`" -msgstr "" - -#: ../../library/unittest.mock.rst:2856 -msgid "*wraps*" -msgstr "" - -#: ../../library/unittest.mock.rst:2858 -msgid "" -"If all three are set, mock will return the value from " -":attr:`~Mock.side_effect`, ignoring :attr:`~Mock.return_value` and the " -"wrapped object altogether. If any two are set, the one with the higher " -"precedence will return the value. Regardless of the order of which was set " -"first, the order of precedence remains unchanged." -msgstr "" - -#: ../../library/unittest.mock.rst:2876 -msgid "" -"As ``None`` is the default value of :attr:`~Mock.side_effect`, if you " -"reassign its value back to ``None``, the order of precedence will be checked" -" between :attr:`~Mock.return_value` and the wrapped object, ignoring " -":attr:`~Mock.side_effect`." -msgstr "" - -#: ../../library/unittest.mock.rst:2885 -msgid "" -"If the value being returned by :attr:`~Mock.side_effect` is :data:`DEFAULT`," -" it is ignored and the order of precedence moves to the successor to obtain " -"the value to return." -msgstr "" - -#: ../../library/unittest.mock.rst:2894 -msgid "" -"When :class:`Mock` wraps an object, the default value of " -":attr:`~Mock.return_value` will be :data:`DEFAULT`." -msgstr "" - -#: ../../library/unittest.mock.rst:2903 -msgid "" -"The order of precedence will ignore this value and it will move to the last " -"successor which is the wrapped object." -msgstr "" - -#: ../../library/unittest.mock.rst:2906 -msgid "" -"As the real call is being made to the wrapped object, creating an instance " -"of this mock will return the real instance of the class. The positional " -"arguments, if any, required by the wrapped object must be passed." -msgstr "" - -#: ../../library/unittest.mock.rst:2924 -msgid "" -"But if you assign ``None`` to it, this will not be ignored as it is an " -"explicit assignment. So, the order of precedence will not move to the " -"wrapped object." -msgstr "" - -#: ../../library/unittest.mock.rst:2932 -msgid "" -"Even if you set all three at once when initializing the mock, the order of " -"precedence remains the same:" -msgstr "" - -#: ../../library/unittest.mock.rst:2949 -msgid "" -"If :attr:`~Mock.side_effect` is exhausted, the order of precedence will not " -"cause a value to be obtained from the successors. Instead, ``StopIteration``" -" exception is raised." -msgstr "" diff --git a/python-newest.library--unix/id.po b/python-newest.library--unix/id.po deleted file mode 100644 index fccd3f1..0000000 --- a/python-newest.library--unix/id.po +++ /dev/null @@ -1,36 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/unix.rst:5 -msgid "Unix Specific Services" -msgstr "Layanan Khusus Unix" - -#: ../../library/unix.rst:7 -msgid "" -"The modules described in this chapter provide interfaces to features that " -"are unique to the Unix operating system, or in some cases to some or many " -"variants of it. Here's an overview:" -msgstr "" -"Modul yang dijelaskan dalam bab ini memberikan antarmuka ke fitur-fitur yang" -" unik untuk sistem operasi Unix, atau dalam beberapa kasus untuk sebagian " -"atau banyak variannya. Berikut ini ikhtisar:" diff --git a/python-newest.library--urllib/id.po b/python-newest.library--urllib/id.po deleted file mode 100644 index b042a24..0000000 --- a/python-newest.library--urllib/id.po +++ /dev/null @@ -1,57 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/urllib.rst:2 -msgid ":mod:`!urllib` --- URL handling modules" -msgstr "" - -#: ../../library/urllib.rst:6 -msgid "**Source code:** :source:`Lib/urllib/`" -msgstr "**Kode sumber:** :source:`Lib/urllib/`" - -#: ../../library/urllib.rst:10 -msgid "" -"``urllib`` is a package that collects several modules for working with URLs:" -msgstr "" -"``urllib`` adalah paket yang mengumpulkan beberapa modul untuk bekerja " -"dengan URL:" - -#: ../../library/urllib.rst:12 -msgid ":mod:`urllib.request` for opening and reading URLs" -msgstr ":mod:`urllib.request` untuk membuka dan membaca URL" - -#: ../../library/urllib.rst:13 -msgid "" -":mod:`urllib.error` containing the exceptions raised by " -":mod:`urllib.request`" -msgstr "" -":mod:`urllib.error` berisi pengecualian yang dimunculkan oleh " -":mod:`urllib.request`" - -#: ../../library/urllib.rst:14 -msgid ":mod:`urllib.parse` for parsing URLs" -msgstr ":mod:`urllib.parse` untuk mengurai URL" - -#: ../../library/urllib.rst:15 -msgid ":mod:`urllib.robotparser` for parsing ``robots.txt`` files" -msgstr ":mod:`urllib.robotparser` untuk mengurai berkas ``robots.txt``" diff --git a/python-newest.library--urllib_error/id.po b/python-newest.library--urllib_error/id.po deleted file mode 100644 index 3f1c7c2..0000000 --- a/python-newest.library--urllib_error/id.po +++ /dev/null @@ -1,103 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/urllib.error.rst:2 -msgid ":mod:`!urllib.error` --- Exception classes raised by urllib.request" -msgstr "" - -#: ../../library/urllib.error.rst:10 -msgid "**Source code:** :source:`Lib/urllib/error.py`" -msgstr "" - -#: ../../library/urllib.error.rst:14 -msgid "" -"The :mod:`urllib.error` module defines the exception classes for exceptions " -"raised by :mod:`urllib.request`. The base exception class is " -":exc:`URLError`." -msgstr "" - -#: ../../library/urllib.error.rst:17 -msgid "" -"The following exceptions are raised by :mod:`urllib.error` as appropriate:" -msgstr "" - -#: ../../library/urllib.error.rst:21 -msgid "" -"The handlers raise this exception (or derived exceptions) when they run into" -" a problem. It is a subclass of :exc:`OSError`." -msgstr "" - -#: ../../library/urllib.error.rst:26 -msgid "" -"The reason for this error. It can be a message string or another exception " -"instance." -msgstr "" - -#: ../../library/urllib.error.rst:29 -msgid "" -":exc:`URLError` used to be a subtype of :exc:`IOError`, which is now an " -"alias of :exc:`OSError`." -msgstr "" - -#: ../../library/urllib.error.rst:36 -msgid "" -"Though being an exception (a subclass of :exc:`URLError`), an " -":exc:`HTTPError` can also function as a non-exceptional file-like return " -"value (the same thing that :func:`~urllib.request.urlopen` returns). This " -"is useful when handling exotic HTTP errors, such as requests for " -"authentication." -msgstr "" - -#: ../../library/urllib.error.rst:44 -msgid "Contains the request URL. An alias for *filename* attribute." -msgstr "" - -#: ../../library/urllib.error.rst:49 -msgid "" -"An HTTP status code as defined in :rfc:`2616`. This numeric value " -"corresponds to a value found in the dictionary of codes as found in " -":attr:`http.server.BaseHTTPRequestHandler.responses`." -msgstr "" - -#: ../../library/urllib.error.rst:55 -msgid "" -"This is usually a string explaining the reason for this error. An alias for " -"*msg* attribute." -msgstr "" - -#: ../../library/urllib.error.rst:60 -msgid "" -"The HTTP response headers for the HTTP request that caused the " -":exc:`HTTPError`. An alias for *hdrs* attribute." -msgstr "" - -#: ../../library/urllib.error.rst:68 -msgid "A file-like object where the HTTP error body can be read from." -msgstr "" - -#: ../../library/urllib.error.rst:72 -msgid "" -"This exception is raised when the :func:`~urllib.request.urlretrieve` " -"function detects that the amount of the downloaded data is less than the " -"expected amount (given by the *Content-Length* header)." -msgstr "" - -#: ../../library/urllib.error.rst:79 -msgid "The downloaded (and supposedly truncated) data." -msgstr "" diff --git a/python-newest.library--urllib_parse/id.po b/python-newest.library--urllib_parse/id.po deleted file mode 100644 index 5099bce..0000000 --- a/python-newest.library--urllib_parse/id.po +++ /dev/null @@ -1,1065 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/urllib.parse.rst:2 -msgid ":mod:`!urllib.parse` --- Parse URLs into components" -msgstr "" - -#: ../../library/urllib.parse.rst:7 -msgid "**Source code:** :source:`Lib/urllib/parse.py`" -msgstr "" - -#: ../../library/urllib.parse.rst:18 -msgid "" -"This module defines a standard interface to break Uniform Resource Locator " -"(URL) strings up in components (addressing scheme, network location, path " -"etc.), to combine the components back into a URL string, and to convert a " -"\"relative URL\" to an absolute URL given a \"base URL.\"" -msgstr "" - -#: ../../library/urllib.parse.rst:23 -msgid "" -"The module has been designed to match the internet RFC on Relative Uniform " -"Resource Locators. It supports the following URL schemes: ``file``, ``ftp``," -" ``gopher``, ``hdl``, ``http``, ``https``, ``imap``, ``itms-services``, " -"``mailto``, ``mms``, ``news``, ``nntp``, ``prospero``, ``rsync``, ``rtsp``, " -"``rtsps``, ``rtspu``, ``sftp``, ``shttp``, ``sip``, ``sips``, ``snews``, " -"``svn``, ``svn+ssh``, ``telnet``, ``wais``, ``ws``, ``wss``." -msgstr "" - -#: ../../library/urllib.parse.rst:32 -msgid "" -"The inclusion of the ``itms-services`` URL scheme can prevent an app from " -"passing Apple's App Store review process for the macOS and iOS App Stores. " -"Handling for the ``itms-services`` scheme is always removed on iOS; on " -"macOS, it *may* be removed if CPython has been built with the " -":option:`--with-app-store-compliance` option." -msgstr "" - -#: ../../library/urllib.parse.rst:38 -msgid "" -"The :mod:`urllib.parse` module defines functions that fall into two broad " -"categories: URL parsing and URL quoting. These are covered in detail in the " -"following sections." -msgstr "" - -#: ../../library/urllib.parse.rst:42 -msgid "" -"This module's functions use the deprecated term ``netloc`` (or ``net_loc``)," -" which was introduced in :rfc:`1808`. However, this term has been obsoleted " -"by :rfc:`3986`, which introduced the term ``authority`` as its replacement. " -"The use of ``netloc`` is continued for backward compatibility." -msgstr "" - -#: ../../library/urllib.parse.rst:48 -msgid "URL Parsing" -msgstr "" - -#: ../../library/urllib.parse.rst:50 -msgid "" -"The URL parsing functions focus on splitting a URL string into its " -"components, or on combining URL components into a URL string." -msgstr "" - -#: ../../library/urllib.parse.rst:55 -msgid "" -"Parse a URL into six components, returning a 6-item :term:`named tuple`. " -"This corresponds to the general structure of a URL: " -"``scheme://netloc/path;parameters?query#fragment``. Each tuple item is a " -"string, possibly empty. The components are not broken up into smaller parts " -"(for example, the network location is a single string), and % escapes are " -"not expanded. The delimiters as shown above are not part of the result, " -"except for a leading slash in the *path* component, which is retained if " -"present. For example:" -msgstr "" - -#: ../../library/urllib.parse.rst:64 -msgid "" -">>> from urllib.parse import urlparse\n" -">>> urlparse(\"scheme://netloc/path;parameters?query#fragment\")\n" -"ParseResult(scheme='scheme', netloc='netloc', path='/path;parameters', params='',\n" -" query='query', fragment='fragment')\n" -">>> o = urlparse(\"http://docs.python.org:80/3/library/urllib.parse.html?\"\n" -"... \"highlight=params#url-parsing\")\n" -">>> o\n" -"ParseResult(scheme='http', netloc='docs.python.org:80',\n" -" path='/3/library/urllib.parse.html', params='',\n" -" query='highlight=params', fragment='url-parsing')\n" -">>> o.scheme\n" -"'http'\n" -">>> o.netloc\n" -"'docs.python.org:80'\n" -">>> o.hostname\n" -"'docs.python.org'\n" -">>> o.port\n" -"80\n" -">>> o._replace(fragment=\"\").geturl()\n" -"'http://docs.python.org:80/3/library/urllib.parse.html?highlight=params'" -msgstr "" - -#: ../../library/urllib.parse.rst:88 -msgid "" -"Following the syntax specifications in :rfc:`1808`, urlparse recognizes a " -"netloc only if it is properly introduced by '//'. Otherwise the input is " -"presumed to be a relative URL and thus to start with a path component." -msgstr "" - -#: ../../library/urllib.parse.rst:93 -msgid "" -">>> from urllib.parse import urlparse\n" -">>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html')\n" -"ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html',\n" -" params='', query='', fragment='')\n" -">>> urlparse('www.cwi.nl/%7Eguido/Python.html')\n" -"ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html',\n" -" params='', query='', fragment='')\n" -">>> urlparse('help/Python.html')\n" -"ParseResult(scheme='', netloc='', path='help/Python.html', params='',\n" -" query='', fragment='')" -msgstr "" - -#: ../../library/urllib.parse.rst:107 -msgid "" -"The *scheme* argument gives the default addressing scheme, to be used only " -"if the URL does not specify one. It should be the same type (text or bytes)" -" as *urlstring*, except that the default value ``''`` is always allowed, and" -" is automatically converted to ``b''`` if appropriate." -msgstr "" - -#: ../../library/urllib.parse.rst:112 -msgid "" -"If the *allow_fragments* argument is false, fragment identifiers are not " -"recognized. Instead, they are parsed as part of the path, parameters or " -"query component, and :attr:`fragment` is set to the empty string in the " -"return value." -msgstr "" - -#: ../../library/urllib.parse.rst:117 -msgid "" -"The return value is a :term:`named tuple`, which means that its items can be" -" accessed by index or as named attributes, which are:" -msgstr "" - -#: ../../library/urllib.parse.rst:121 ../../library/urllib.parse.rst:314 -#: ../../library/urllib.parse.rst:436 -msgid "Attribute" -msgstr "Atribut" - -#: ../../library/urllib.parse.rst:121 ../../library/urllib.parse.rst:314 -#: ../../library/urllib.parse.rst:436 -msgid "Index" -msgstr "Indeks" - -#: ../../library/urllib.parse.rst:121 ../../library/urllib.parse.rst:314 -#: ../../library/urllib.parse.rst:436 -msgid "Value" -msgstr "Nilai" - -#: ../../library/urllib.parse.rst:121 ../../library/urllib.parse.rst:314 -#: ../../library/urllib.parse.rst:436 -msgid "Value if not present" -msgstr "" - -#: ../../library/urllib.parse.rst:123 ../../library/urllib.parse.rst:316 -msgid ":attr:`scheme`" -msgstr "" - -#: ../../library/urllib.parse.rst:123 ../../library/urllib.parse.rst:316 -#: ../../library/urllib.parse.rst:438 -msgid "0" -msgstr "0" - -#: ../../library/urllib.parse.rst:123 ../../library/urllib.parse.rst:316 -msgid "URL scheme specifier" -msgstr "" - -#: ../../library/urllib.parse.rst:123 ../../library/urllib.parse.rst:316 -msgid "*scheme* parameter" -msgstr "" - -#: ../../library/urllib.parse.rst:125 ../../library/urllib.parse.rst:318 -msgid ":attr:`netloc`" -msgstr "" - -#: ../../library/urllib.parse.rst:125 ../../library/urllib.parse.rst:318 -#: ../../library/urllib.parse.rst:440 -msgid "1" -msgstr "1" - -#: ../../library/urllib.parse.rst:125 ../../library/urllib.parse.rst:318 -msgid "Network location part" -msgstr "" - -#: ../../library/urllib.parse.rst:125 ../../library/urllib.parse.rst:127 -#: ../../library/urllib.parse.rst:129 ../../library/urllib.parse.rst:132 -#: ../../library/urllib.parse.rst:134 ../../library/urllib.parse.rst:318 -#: ../../library/urllib.parse.rst:320 ../../library/urllib.parse.rst:322 -#: ../../library/urllib.parse.rst:324 ../../library/urllib.parse.rst:438 -#: ../../library/urllib.parse.rst:440 -msgid "empty string" -msgstr "string kosong" - -#: ../../library/urllib.parse.rst:127 ../../library/urllib.parse.rst:320 -msgid ":attr:`path`" -msgstr "" - -#: ../../library/urllib.parse.rst:127 ../../library/urllib.parse.rst:320 -msgid "2" -msgstr "2" - -#: ../../library/urllib.parse.rst:127 ../../library/urllib.parse.rst:320 -msgid "Hierarchical path" -msgstr "" - -#: ../../library/urllib.parse.rst:129 -msgid ":attr:`params`" -msgstr "" - -#: ../../library/urllib.parse.rst:129 ../../library/urllib.parse.rst:322 -msgid "3" -msgstr "3" - -#: ../../library/urllib.parse.rst:129 -msgid "Parameters for last path element" -msgstr "" - -#: ../../library/urllib.parse.rst:132 ../../library/urllib.parse.rst:322 -msgid ":attr:`query`" -msgstr "" - -#: ../../library/urllib.parse.rst:132 ../../library/urllib.parse.rst:324 -msgid "4" -msgstr "4" - -#: ../../library/urllib.parse.rst:132 ../../library/urllib.parse.rst:322 -msgid "Query component" -msgstr "" - -#: ../../library/urllib.parse.rst:134 ../../library/urllib.parse.rst:324 -#: ../../library/urllib.parse.rst:440 -msgid ":attr:`fragment`" -msgstr "" - -#: ../../library/urllib.parse.rst:134 -msgid "5" -msgstr "5" - -#: ../../library/urllib.parse.rst:134 ../../library/urllib.parse.rst:324 -#: ../../library/urllib.parse.rst:440 -msgid "Fragment identifier" -msgstr "" - -#: ../../library/urllib.parse.rst:136 ../../library/urllib.parse.rst:326 -msgid ":attr:`username`" -msgstr "" - -#: ../../library/urllib.parse.rst:136 ../../library/urllib.parse.rst:326 -msgid "User name" -msgstr "" - -#: ../../library/urllib.parse.rst:136 ../../library/urllib.parse.rst:138 -#: ../../library/urllib.parse.rst:140 ../../library/urllib.parse.rst:142 -#: ../../library/urllib.parse.rst:326 ../../library/urllib.parse.rst:328 -#: ../../library/urllib.parse.rst:330 ../../library/urllib.parse.rst:332 -msgid ":const:`None`" -msgstr ":const:`None`" - -#: ../../library/urllib.parse.rst:138 ../../library/urllib.parse.rst:328 -msgid ":attr:`password`" -msgstr "" - -#: ../../library/urllib.parse.rst:138 ../../library/urllib.parse.rst:328 -msgid "Password" -msgstr "" - -#: ../../library/urllib.parse.rst:140 ../../library/urllib.parse.rst:330 -msgid ":attr:`hostname`" -msgstr "" - -#: ../../library/urllib.parse.rst:140 ../../library/urllib.parse.rst:330 -msgid "Host name (lower case)" -msgstr "" - -#: ../../library/urllib.parse.rst:142 ../../library/urllib.parse.rst:332 -msgid ":attr:`port`" -msgstr "" - -#: ../../library/urllib.parse.rst:142 ../../library/urllib.parse.rst:332 -msgid "Port number as integer, if present" -msgstr "" - -#: ../../library/urllib.parse.rst:146 ../../library/urllib.parse.rst:336 -msgid "" -"Reading the :attr:`port` attribute will raise a :exc:`ValueError` if an " -"invalid port is specified in the URL. See section :ref:`urlparse-result-" -"object` for more information on the result object." -msgstr "" - -#: ../../library/urllib.parse.rst:150 ../../library/urllib.parse.rst:340 -msgid "" -"Unmatched square brackets in the :attr:`netloc` attribute will raise a " -":exc:`ValueError`." -msgstr "" - -#: ../../library/urllib.parse.rst:153 ../../library/urllib.parse.rst:343 -msgid "" -"Characters in the :attr:`netloc` attribute that decompose under NFKC " -"normalization (as used by the IDNA encoding) into any of ``/``, ``?``, " -"``#``, ``@``, or ``:`` will raise a :exc:`ValueError`. If the URL is " -"decomposed before parsing, no error will be raised." -msgstr "" - -#: ../../library/urllib.parse.rst:158 -msgid "" -"As is the case with all named tuples, the subclass has a few additional " -"methods and attributes that are particularly useful. One such method is " -":meth:`_replace`. The :meth:`_replace` method will return a new ParseResult " -"object replacing specified fields with new values." -msgstr "" - -#: ../../library/urllib.parse.rst:163 -msgid "" -">>> from urllib.parse import urlparse\n" -">>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html')\n" -">>> u\n" -"ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html',\n" -" params='', query='', fragment='')\n" -">>> u._replace(scheme='http')\n" -"ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html',\n" -" params='', query='', fragment='')" -msgstr "" - -#: ../../library/urllib.parse.rst:177 -msgid "" -":func:`urlparse` does not perform validation. See :ref:`URL parsing " -"security ` for details." -msgstr "" - -#: ../../library/urllib.parse.rst:180 -msgid "Added IPv6 URL parsing capabilities." -msgstr "" - -#: ../../library/urllib.parse.rst:183 -msgid "" -"The fragment is now parsed for all URL schemes (unless *allow_fragments* is " -"false), in accordance with :rfc:`3986`. Previously, an allowlist of schemes" -" that support fragments existed." -msgstr "" - -#: ../../library/urllib.parse.rst:188 ../../library/urllib.parse.rst:357 -msgid "" -"Out-of-range port numbers now raise :exc:`ValueError`, instead of returning " -":const:`None`." -msgstr "" - -#: ../../library/urllib.parse.rst:192 ../../library/urllib.parse.rst:361 -msgid "" -"Characters that affect netloc parsing under NFKC normalization will now " -"raise :exc:`ValueError`." -msgstr "" - -#: ../../library/urllib.parse.rst:199 -msgid "" -"Parse a query string given as a string argument (data of type " -":mimetype:`application/x-www-form-urlencoded`). Data are returned as a " -"dictionary. The dictionary keys are the unique query variable names and the" -" values are lists of values for each name." -msgstr "" - -#: ../../library/urllib.parse.rst:204 ../../library/urllib.parse.rst:253 -msgid "" -"The optional argument *keep_blank_values* is a flag indicating whether blank" -" values in percent-encoded queries should be treated as blank strings. A " -"true value indicates that blanks should be retained as blank strings. The " -"default false value indicates that blank values are to be ignored and " -"treated as if they were not included." -msgstr "" - -#: ../../library/urllib.parse.rst:210 ../../library/urllib.parse.rst:259 -msgid "" -"The optional argument *strict_parsing* is a flag indicating what to do with " -"parsing errors. If false (the default), errors are silently ignored. If " -"true, errors raise a :exc:`ValueError` exception." -msgstr "" - -#: ../../library/urllib.parse.rst:214 ../../library/urllib.parse.rst:263 -msgid "" -"The optional *encoding* and *errors* parameters specify how to decode " -"percent-encoded sequences into Unicode characters, as accepted by the " -":meth:`bytes.decode` method." -msgstr "" - -#: ../../library/urllib.parse.rst:218 ../../library/urllib.parse.rst:267 -msgid "" -"The optional argument *max_num_fields* is the maximum number of fields to " -"read. If set, then throws a :exc:`ValueError` if there are more than " -"*max_num_fields* fields read." -msgstr "" - -#: ../../library/urllib.parse.rst:222 ../../library/urllib.parse.rst:271 -msgid "" -"The optional argument *separator* is the symbol to use for separating the " -"query arguments. It defaults to ``&``." -msgstr "" - -#: ../../library/urllib.parse.rst:225 -msgid "" -"Use the :func:`urllib.parse.urlencode` function (with the ``doseq`` " -"parameter set to ``True``) to convert such dictionaries into query strings." -msgstr "" - -#: ../../library/urllib.parse.rst:230 ../../library/urllib.parse.rst:277 -msgid "Add *encoding* and *errors* parameters." -msgstr "" - -#: ../../library/urllib.parse.rst:233 ../../library/urllib.parse.rst:280 -msgid "Added *max_num_fields* parameter." -msgstr "" - -#: ../../library/urllib.parse.rst:236 ../../library/urllib.parse.rst:283 -msgid "" -"Added *separator* parameter with the default value of ``&``. Python versions" -" earlier than Python 3.10 allowed using both ``;`` and ``&`` as query " -"parameter separator. This has been changed to allow only a single separator " -"key, with ``&`` as the default separator." -msgstr "" - -#: ../../library/urllib.parse.rst:242 ../../library/urllib.parse.rst:761 -msgid "" -"Accepting objects with false values (like ``0`` and ``[]``) except empty " -"strings and byte-like objects and ``None`` is now deprecated." -msgstr "" - -#: ../../library/urllib.parse.rst:249 -msgid "" -"Parse a query string given as a string argument (data of type " -":mimetype:`application/x-www-form-urlencoded`). Data are returned as a list" -" of name, value pairs." -msgstr "" - -#: ../../library/urllib.parse.rst:274 -msgid "" -"Use the :func:`urllib.parse.urlencode` function to convert such lists of " -"pairs into query strings." -msgstr "" - -#: ../../library/urllib.parse.rst:292 -msgid "" -"Construct a URL from a tuple as returned by ``urlparse()``. The *parts* " -"argument can be any six-item iterable. This may result in a slightly " -"different, but equivalent URL, if the URL that was parsed originally had " -"unnecessary delimiters (for example, a ``?`` with an empty query; the RFC " -"states that these are equivalent)." -msgstr "" - -#: ../../library/urllib.parse.rst:301 -msgid "" -"This is similar to :func:`urlparse`, but does not split the params from the " -"URL. This should generally be used instead of :func:`urlparse` if the more " -"recent URL syntax allowing parameters to be applied to each segment of the " -"*path* portion of the URL (see :rfc:`2396`) is wanted. A separate function " -"is needed to separate the path segments and parameters. This function " -"returns a 5-item :term:`named tuple`::" -msgstr "" - -#: ../../library/urllib.parse.rst:308 -msgid "" -"(addressing scheme, network location, path, query, fragment identifier)." -msgstr "" - -#: ../../library/urllib.parse.rst:310 ../../library/urllib.parse.rst:432 -msgid "" -"The return value is a :term:`named tuple`, its items can be accessed by " -"index or as named attributes:" -msgstr "" - -#: ../../library/urllib.parse.rst:348 -msgid "" -"Following some of the `WHATWG spec`_ that updates RFC 3986, leading C0 " -"control and space characters are stripped from the URL. ``\\n``, ``\\r`` and" -" tab ``\\t`` characters are removed from the URL at any position." -msgstr "" - -#: ../../library/urllib.parse.rst:354 -msgid "" -":func:`urlsplit` does not perform validation. See :ref:`URL parsing " -"security ` for details." -msgstr "" - -#: ../../library/urllib.parse.rst:365 -msgid "ASCII newline and tab characters are stripped from the URL." -msgstr "" - -#: ../../library/urllib.parse.rst:368 -msgid "" -"Leading WHATWG C0 control and space characters are stripped from the URL." -msgstr "" - -#: ../../library/urllib.parse.rst:375 -msgid "" -"Combine the elements of a tuple as returned by :func:`urlsplit` into a " -"complete URL as a string. The *parts* argument can be any five-item " -"iterable. This may result in a slightly different, but equivalent URL, if " -"the URL that was parsed originally had unnecessary delimiters (for example, " -"a ? with an empty query; the RFC states that these are equivalent)." -msgstr "" - -#: ../../library/urllib.parse.rst:384 -msgid "" -"Construct a full (\"absolute\") URL by combining a \"base URL\" (*base*) " -"with another URL (*url*). Informally, this uses components of the base URL," -" in particular the addressing scheme, the network location and (part of) the" -" path, to provide missing components in the relative URL. For example:" -msgstr "" - -#: ../../library/urllib.parse.rst:393 -msgid "" -"The *allow_fragments* argument has the same meaning and default as for " -":func:`urlparse`." -msgstr "" - -#: ../../library/urllib.parse.rst:398 -msgid "" -"If *url* is an absolute URL (that is, it starts with ``//`` or " -"``scheme://``), the *url*'s hostname and/or scheme will be present in the " -"result. For example:" -msgstr "" - -#: ../../library/urllib.parse.rst:401 -msgid "" -">>> urljoin('http://www.cwi.nl/%7Eguido/Python.html',\n" -"... '//www.python.org/%7Eguido')\n" -"'http://www.python.org/%7Eguido'" -msgstr "" - -#: ../../library/urllib.parse.rst:407 -msgid "" -"If you do not want that behavior, preprocess the *url* with :func:`urlsplit`" -" and :func:`urlunsplit`, removing possible *scheme* and *netloc* parts." -msgstr "" - -#: ../../library/urllib.parse.rst:412 -msgid "" -"Because an absolute URL may be passed as the ``url`` parameter, it is " -"generally **not secure** to use ``urljoin`` with an attacker-controlled " -"``url``. For example in, ``urljoin(\"https://website.com/users/\", " -"username)``, if ``username`` can contain an absolute URL, the result of " -"``urljoin`` will be the absolute URL." -msgstr "" - -#: ../../library/urllib.parse.rst:422 -msgid "Behavior updated to match the semantics defined in :rfc:`3986`." -msgstr "" - -#: ../../library/urllib.parse.rst:427 -msgid "" -"If *url* contains a fragment identifier, return a modified version of *url* " -"with no fragment identifier, and the fragment identifier as a separate " -"string. If there is no fragment identifier in *url*, return *url* " -"unmodified and an empty string." -msgstr "" - -#: ../../library/urllib.parse.rst:438 -msgid ":attr:`url`" -msgstr "" - -#: ../../library/urllib.parse.rst:438 -msgid "URL with no fragment" -msgstr "" - -#: ../../library/urllib.parse.rst:443 -msgid "" -"See section :ref:`urlparse-result-object` for more information on the result" -" object." -msgstr "" - -#: ../../library/urllib.parse.rst:446 -msgid "Result is a structured object rather than a simple 2-tuple." -msgstr "" - -#: ../../library/urllib.parse.rst:451 -msgid "" -"Extract the url from a wrapped URL (that is, a string formatted as " -"````, ````, " -"``URL:scheme://host/path`` or ``scheme://host/path``). If *url* is not a " -"wrapped URL, it is returned without changes." -msgstr "" - -#: ../../library/urllib.parse.rst:459 -msgid "URL parsing security" -msgstr "" - -#: ../../library/urllib.parse.rst:461 -msgid "" -"The :func:`urlsplit` and :func:`urlparse` APIs do not perform **validation**" -" of inputs. They may not raise errors on inputs that other applications " -"consider invalid. They may also succeed on some inputs that might not be " -"considered URLs elsewhere. Their purpose is for practical functionality " -"rather than purity." -msgstr "" - -#: ../../library/urllib.parse.rst:467 -msgid "" -"Instead of raising an exception on unusual input, they may instead return " -"some component parts as empty strings. Or components may contain more than " -"perhaps they should." -msgstr "" - -#: ../../library/urllib.parse.rst:471 -msgid "" -"We recommend that users of these APIs where the values may be used anywhere " -"with security implications code defensively. Do some verification within " -"your code before trusting a returned component part. Does that ``scheme`` " -"make sense? Is that a sensible ``path``? Is there anything strange about " -"that ``hostname``? etc." -msgstr "" - -#: ../../library/urllib.parse.rst:477 -msgid "" -"What constitutes a URL is not universally well defined. Different " -"applications have different needs and desired constraints. For instance the" -" living `WHATWG spec`_ describes what user facing web clients such as a web " -"browser require. While :rfc:`3986` is more general. These functions " -"incorporate some aspects of both, but cannot be claimed compliant with " -"either. The APIs and existing user code with expectations on specific " -"behaviors predate both standards leading us to be very cautious about making" -" API behavior changes." -msgstr "" - -#: ../../library/urllib.parse.rst:488 -msgid "Parsing ASCII Encoded Bytes" -msgstr "" - -#: ../../library/urllib.parse.rst:490 -msgid "" -"The URL parsing functions were originally designed to operate on character " -"strings only. In practice, it is useful to be able to manipulate properly " -"quoted and encoded URLs as sequences of ASCII bytes. Accordingly, the URL " -"parsing functions in this module all operate on :class:`bytes` and " -":class:`bytearray` objects in addition to :class:`str` objects." -msgstr "" - -#: ../../library/urllib.parse.rst:496 -msgid "" -"If :class:`str` data is passed in, the result will also contain only " -":class:`str` data. If :class:`bytes` or :class:`bytearray` data is passed " -"in, the result will contain only :class:`bytes` data." -msgstr "" - -#: ../../library/urllib.parse.rst:500 -msgid "" -"Attempting to mix :class:`str` data with :class:`bytes` or " -":class:`bytearray` in a single function call will result in a " -":exc:`TypeError` being raised, while attempting to pass in non-ASCII byte " -"values will trigger :exc:`UnicodeDecodeError`." -msgstr "" - -#: ../../library/urllib.parse.rst:505 -msgid "" -"To support easier conversion of result objects between :class:`str` and " -":class:`bytes`, all return values from URL parsing functions provide either " -"an :meth:`encode` method (when the result contains :class:`str` data) or a " -":meth:`decode` method (when the result contains :class:`bytes` data). The " -"signatures of these methods match those of the corresponding :class:`str` " -"and :class:`bytes` methods (except that the default encoding is ``'ascii'`` " -"rather than ``'utf-8'``). Each produces a value of a corresponding type that" -" contains either :class:`bytes` data (for :meth:`encode` methods) or " -":class:`str` data (for :meth:`decode` methods)." -msgstr "" - -#: ../../library/urllib.parse.rst:516 -msgid "" -"Applications that need to operate on potentially improperly quoted URLs that" -" may contain non-ASCII data will need to do their own decoding from bytes to" -" characters before invoking the URL parsing methods." -msgstr "" - -#: ../../library/urllib.parse.rst:520 -msgid "" -"The behaviour described in this section applies only to the URL parsing " -"functions. The URL quoting functions use their own rules when producing or " -"consuming byte sequences as detailed in the documentation of the individual " -"URL quoting functions." -msgstr "" - -#: ../../library/urllib.parse.rst:525 -msgid "URL parsing functions now accept ASCII encoded byte sequences" -msgstr "" - -#: ../../library/urllib.parse.rst:532 -msgid "Structured Parse Results" -msgstr "" - -#: ../../library/urllib.parse.rst:534 -msgid "" -"The result objects from the :func:`urlparse`, :func:`urlsplit` and " -":func:`urldefrag` functions are subclasses of the :class:`tuple` type. These" -" subclasses add the attributes listed in the documentation for those " -"functions, the encoding and decoding support described in the previous " -"section, as well as an additional method:" -msgstr "" - -#: ../../library/urllib.parse.rst:542 -msgid "" -"Return the re-combined version of the original URL as a string. This may " -"differ from the original URL in that the scheme may be normalized to lower " -"case and empty components may be dropped. Specifically, empty parameters, " -"queries, and fragment identifiers will be removed." -msgstr "" - -#: ../../library/urllib.parse.rst:547 -msgid "" -"For :func:`urldefrag` results, only empty fragment identifiers will be " -"removed. For :func:`urlsplit` and :func:`urlparse` results, all noted " -"changes will be made to the URL returned by this method." -msgstr "" - -#: ../../library/urllib.parse.rst:551 -msgid "" -"The result of this method remains unchanged if passed back through the " -"original parsing function:" -msgstr "" - -#: ../../library/urllib.parse.rst:564 -msgid "" -"The following classes provide the implementations of the structured parse " -"results when operating on :class:`str` objects:" -msgstr "" - -#: ../../library/urllib.parse.rst:569 -msgid "" -"Concrete class for :func:`urldefrag` results containing :class:`str` data. " -"The :meth:`encode` method returns a :class:`DefragResultBytes` instance." -msgstr "" - -#: ../../library/urllib.parse.rst:577 -msgid "" -"Concrete class for :func:`urlparse` results containing :class:`str` data. " -"The :meth:`encode` method returns a :class:`ParseResultBytes` instance." -msgstr "" - -#: ../../library/urllib.parse.rst:583 -msgid "" -"Concrete class for :func:`urlsplit` results containing :class:`str` data. " -"The :meth:`encode` method returns a :class:`SplitResultBytes` instance." -msgstr "" - -#: ../../library/urllib.parse.rst:588 -msgid "" -"The following classes provide the implementations of the parse results when " -"operating on :class:`bytes` or :class:`bytearray` objects:" -msgstr "" - -#: ../../library/urllib.parse.rst:593 -msgid "" -"Concrete class for :func:`urldefrag` results containing :class:`bytes` data." -" The :meth:`decode` method returns a :class:`DefragResult` instance." -msgstr "" - -#: ../../library/urllib.parse.rst:601 -msgid "" -"Concrete class for :func:`urlparse` results containing :class:`bytes` data. " -"The :meth:`decode` method returns a :class:`ParseResult` instance." -msgstr "" - -#: ../../library/urllib.parse.rst:609 -msgid "" -"Concrete class for :func:`urlsplit` results containing :class:`bytes` data. " -"The :meth:`decode` method returns a :class:`SplitResult` instance." -msgstr "" - -#: ../../library/urllib.parse.rst:617 -msgid "URL Quoting" -msgstr "" - -#: ../../library/urllib.parse.rst:619 -msgid "" -"The URL quoting functions focus on taking program data and making it safe " -"for use as URL components by quoting special characters and appropriately " -"encoding non-ASCII text. They also support reversing these operations to " -"recreate the original data from the contents of a URL component if that task" -" isn't already covered by the URL parsing functions above." -msgstr "" - -#: ../../library/urllib.parse.rst:627 -msgid "" -"Replace special characters in *string* using the :samp:`%{xx}` escape. " -"Letters, digits, and the characters ``'_.-~'`` are never quoted. By default," -" this function is intended for quoting the path section of a URL. The " -"optional *safe* parameter specifies additional ASCII characters that should " -"not be quoted --- its default value is ``'/'``." -msgstr "" - -#: ../../library/urllib.parse.rst:633 ../../library/urllib.parse.rst:679 -#: ../../library/urllib.parse.rst:708 -msgid "*string* may be either a :class:`str` or a :class:`bytes` object." -msgstr "" - -#: ../../library/urllib.parse.rst:635 -msgid "" -"Moved from :rfc:`2396` to :rfc:`3986` for quoting URL strings. \"~\" is now " -"included in the set of unreserved characters." -msgstr "" - -#: ../../library/urllib.parse.rst:639 -msgid "" -"The optional *encoding* and *errors* parameters specify how to deal with " -"non-ASCII characters, as accepted by the :meth:`str.encode` method. " -"*encoding* defaults to ``'utf-8'``. *errors* defaults to ``'strict'``, " -"meaning unsupported characters raise a :class:`UnicodeEncodeError`. " -"*encoding* and *errors* must not be supplied if *string* is a " -":class:`bytes`, or a :class:`TypeError` is raised." -msgstr "" - -#: ../../library/urllib.parse.rst:647 -msgid "" -"Note that ``quote(string, safe, encoding, errors)`` is equivalent to " -"``quote_from_bytes(string.encode(encoding, errors), safe)``." -msgstr "" - -#: ../../library/urllib.parse.rst:650 -msgid "Example: ``quote('/El Niño/')`` yields ``'/El%20Ni%C3%B1o/'``." -msgstr "" - -#: ../../library/urllib.parse.rst:655 -msgid "" -"Like :func:`quote`, but also replace spaces with plus signs, as required for" -" quoting HTML form values when building up a query string to go into a URL. " -"Plus signs in the original string are escaped unless they are included in " -"*safe*. It also does not have *safe* default to ``'/'``." -msgstr "" - -#: ../../library/urllib.parse.rst:660 -msgid "Example: ``quote_plus('/El Niño/')`` yields ``'%2FEl+Ni%C3%B1o%2F'``." -msgstr "" - -#: ../../library/urllib.parse.rst:665 -msgid "" -"Like :func:`quote`, but accepts a :class:`bytes` object rather than a " -":class:`str`, and does not perform string-to-bytes encoding." -msgstr "" - -#: ../../library/urllib.parse.rst:668 -msgid "Example: ``quote_from_bytes(b'a&\\xef')`` yields ``'a%26%EF'``." -msgstr "" - -#: ../../library/urllib.parse.rst:674 -msgid "" -"Replace :samp:`%{xx}` escapes with their single-character equivalent. The " -"optional *encoding* and *errors* parameters specify how to decode percent-" -"encoded sequences into Unicode characters, as accepted by the " -":meth:`bytes.decode` method." -msgstr "" - -#: ../../library/urllib.parse.rst:681 -msgid "" -"*encoding* defaults to ``'utf-8'``. *errors* defaults to ``'replace'``, " -"meaning invalid sequences are replaced by a placeholder character." -msgstr "" - -#: ../../library/urllib.parse.rst:685 -msgid "Example: ``unquote('/El%20Ni%C3%B1o/')`` yields ``'/El Niño/'``." -msgstr "" - -#: ../../library/urllib.parse.rst:687 -msgid "" -"*string* parameter supports bytes and str objects (previously only str)." -msgstr "" - -#: ../../library/urllib.parse.rst:695 -msgid "" -"Like :func:`unquote`, but also replace plus signs with spaces, as required " -"for unquoting HTML form values." -msgstr "" - -#: ../../library/urllib.parse.rst:698 -msgid "*string* must be a :class:`str`." -msgstr "" - -#: ../../library/urllib.parse.rst:700 -msgid "Example: ``unquote_plus('/El+Ni%C3%B1o/')`` yields ``'/El Niño/'``." -msgstr "" - -#: ../../library/urllib.parse.rst:705 -msgid "" -"Replace :samp:`%{xx}` escapes with their single-octet equivalent, and return" -" a :class:`bytes` object." -msgstr "" - -#: ../../library/urllib.parse.rst:710 -msgid "" -"If it is a :class:`str`, unescaped non-ASCII characters in *string* are " -"encoded into UTF-8 bytes." -msgstr "" - -#: ../../library/urllib.parse.rst:713 -msgid "Example: ``unquote_to_bytes('a%26%EF')`` yields ``b'a&\\xef'``." -msgstr "" - -#: ../../library/urllib.parse.rst:719 -msgid "" -"Convert a mapping object or a sequence of two-element tuples, which may " -"contain :class:`str` or :class:`bytes` objects, to a percent-encoded ASCII " -"text string. If the resultant string is to be used as a *data* for POST " -"operation with the :func:`~urllib.request.urlopen` function, then it should " -"be encoded to bytes, otherwise it would result in a :exc:`TypeError`." -msgstr "" - -#: ../../library/urllib.parse.rst:726 -msgid "" -"The resulting string is a series of ``key=value`` pairs separated by ``'&'``" -" characters, where both *key* and *value* are quoted using the *quote_via* " -"function. By default, :func:`quote_plus` is used to quote the values, which" -" means spaces are quoted as a ``'+'`` character and '/' characters are " -"encoded as ``%2F``, which follows the standard for GET requests " -"(``application/x-www-form-urlencoded``). An alternate function that can be " -"passed as *quote_via* is :func:`quote`, which will encode spaces as ``%20`` " -"and not encode '/' characters. For maximum control of what is quoted, use " -"``quote`` and specify a value for *safe*." -msgstr "" - -#: ../../library/urllib.parse.rst:736 -msgid "" -"When a sequence of two-element tuples is used as the *query* argument, the " -"first element of each tuple is a key and the second is a value. The value " -"element in itself can be a sequence and in that case, if the optional " -"parameter *doseq* evaluates to ``True``, individual ``key=value`` pairs " -"separated by ``'&'`` are generated for each element of the value sequence " -"for the key. The order of parameters in the encoded string will match the " -"order of parameter tuples in the sequence." -msgstr "" - -#: ../../library/urllib.parse.rst:744 -msgid "" -"The *safe*, *encoding*, and *errors* parameters are passed down to " -"*quote_via* (the *encoding* and *errors* parameters are only passed when a " -"query element is a :class:`str`)." -msgstr "" - -#: ../../library/urllib.parse.rst:748 -msgid "" -"To reverse this encoding process, :func:`parse_qs` and :func:`parse_qsl` are" -" provided in this module to parse query strings into Python data structures." -msgstr "" - -#: ../../library/urllib.parse.rst:751 -msgid "" -"Refer to :ref:`urllib examples ` to find out how the " -":func:`urllib.parse.urlencode` method can be used for generating the query " -"string of a URL or data for a POST request." -msgstr "" - -#: ../../library/urllib.parse.rst:755 -msgid "*query* supports bytes and string objects." -msgstr "" - -#: ../../library/urllib.parse.rst:758 -msgid "Added the *quote_via* parameter." -msgstr "" - -#: ../../library/urllib.parse.rst:768 -msgid "`WHATWG`_ - URL Living standard" -msgstr "" - -#: ../../library/urllib.parse.rst:769 -msgid "" -"Working Group for the URL Standard that defines URLs, domains, IP addresses," -" the application/x-www-form-urlencoded format, and their API." -msgstr "" - -#: ../../library/urllib.parse.rst:772 -msgid ":rfc:`3986` - Uniform Resource Identifiers" -msgstr "" - -#: ../../library/urllib.parse.rst:773 -msgid "" -"This is the current standard (STD66). Any changes to urllib.parse module " -"should conform to this. Certain deviations could be observed, which are " -"mostly for backward compatibility purposes and for certain de-facto parsing " -"requirements as commonly observed in major browsers." -msgstr "" - -#: ../../library/urllib.parse.rst:778 -msgid ":rfc:`2732` - Format for Literal IPv6 Addresses in URL's." -msgstr "" - -#: ../../library/urllib.parse.rst:779 -msgid "This specifies the parsing requirements of IPv6 URLs." -msgstr "" - -#: ../../library/urllib.parse.rst:781 -msgid ":rfc:`2396` - Uniform Resource Identifiers (URI): Generic Syntax" -msgstr "" - -#: ../../library/urllib.parse.rst:782 -msgid "" -"Document describing the generic syntactic requirements for both Uniform " -"Resource Names (URNs) and Uniform Resource Locators (URLs)." -msgstr "" - -#: ../../library/urllib.parse.rst:785 -msgid ":rfc:`2368` - The mailto URL scheme." -msgstr "" - -#: ../../library/urllib.parse.rst:786 -msgid "Parsing requirements for mailto URL schemes." -msgstr "" - -#: ../../library/urllib.parse.rst:788 -msgid ":rfc:`1808` - Relative Uniform Resource Locators" -msgstr "" - -#: ../../library/urllib.parse.rst:789 -msgid "" -"This Request For Comments includes the rules for joining an absolute and a " -"relative URL, including a fair number of \"Abnormal Examples\" which govern " -"the treatment of border cases." -msgstr "" - -#: ../../library/urllib.parse.rst:793 -msgid ":rfc:`1738` - Uniform Resource Locators (URL)" -msgstr "" - -#: ../../library/urllib.parse.rst:794 -msgid "This specifies the formal syntax and semantics of absolute URLs." -msgstr "" - -#: ../../library/urllib.parse.rst:9 -msgid "WWW" -msgstr "" - -#: ../../library/urllib.parse.rst:9 -msgid "World Wide Web" -msgstr "" - -#: ../../library/urllib.parse.rst:9 -msgid "URL" -msgstr "" - -#: ../../library/urllib.parse.rst:9 -msgid "parsing" -msgstr "" - -#: ../../library/urllib.parse.rst:9 -msgid "relative" -msgstr "" diff --git a/python-newest.library--urllib_request/id.po b/python-newest.library--urllib_request/id.po deleted file mode 100644 index 75d573f..0000000 --- a/python-newest.library--urllib_request/id.po +++ /dev/null @@ -1,1896 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/urllib.request.rst:2 -msgid ":mod:`!urllib.request` --- Extensible library for opening URLs" -msgstr "" - -#: ../../library/urllib.request.rst:11 -msgid "**Source code:** :source:`Lib/urllib/request.py`" -msgstr "" - -#: ../../library/urllib.request.rst:15 -msgid "" -"The :mod:`urllib.request` module defines functions and classes which help in" -" opening URLs (mostly HTTP) in a complex world --- basic and digest " -"authentication, redirections, cookies and more." -msgstr "" - -#: ../../library/urllib.request.rst:21 -msgid "" -"The `Requests package `_ is " -"recommended for a higher-level HTTP client interface." -msgstr "" - -#: ../../library/urllib.request.rst:26 -msgid "" -"On macOS it is unsafe to use this module in programs using :func:`os.fork` " -"because the :func:`getproxies` implementation for macOS uses a higher-level " -"system API. Set the environment variable ``no_proxy`` to ``*`` to avoid this" -" problem (e.g. ``os.environ[\"no_proxy\"] = \"*\"``)." -msgstr "" - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/urllib.request.rst:34 -msgid "The :mod:`urllib.request` module defines the following functions:" -msgstr "" - -#: ../../library/urllib.request.rst:39 -msgid "" -"Open *url*, which can be either a string containing a valid, properly " -"encoded URL, or a :class:`Request` object." -msgstr "" - -#: ../../library/urllib.request.rst:42 -msgid "" -"*data* must be an object specifying additional data to be sent to the " -"server, or ``None`` if no such data is needed. See :class:`Request` for " -"details." -msgstr "" - -#: ../../library/urllib.request.rst:46 -msgid "" -"urllib.request module uses HTTP/1.1 and includes ``Connection:close`` header" -" in its HTTP requests." -msgstr "" - -#: ../../library/urllib.request.rst:49 -msgid "" -"The optional *timeout* parameter specifies a timeout in seconds for blocking" -" operations like the connection attempt (if not specified, the global " -"default timeout setting will be used). This actually only works for HTTP, " -"HTTPS and FTP connections." -msgstr "" - -#: ../../library/urllib.request.rst:54 -msgid "" -"If *context* is specified, it must be a :class:`ssl.SSLContext` instance " -"describing the various SSL options. See " -":class:`~http.client.HTTPSConnection` for more details." -msgstr "" - -#: ../../library/urllib.request.rst:58 -msgid "" -"This function always returns an object which can work as a :term:`context " -"manager` and has the properties *url*, *headers*, and *status*. See " -":class:`urllib.response.addinfourl` for more detail on these properties." -msgstr "" - -#: ../../library/urllib.request.rst:62 -msgid "" -"For HTTP and HTTPS URLs, this function returns a " -":class:`http.client.HTTPResponse` object slightly modified. In addition to " -"the three new methods above, the msg attribute contains the same information" -" as the :attr:`~http.client.HTTPResponse.reason` attribute --- the reason " -"phrase returned by server --- instead of the response headers as it is " -"specified in the documentation for :class:`~http.client.HTTPResponse`." -msgstr "" - -#: ../../library/urllib.request.rst:70 -msgid "" -"For FTP, file, and data URLs, this function returns a " -":class:`urllib.response.addinfourl` object." -msgstr "" - -#: ../../library/urllib.request.rst:73 -msgid "Raises :exc:`~urllib.error.URLError` on protocol errors." -msgstr "" - -#: ../../library/urllib.request.rst:75 -msgid "" -"Note that ``None`` may be returned if no handler handles the request (though" -" the default installed global :class:`OpenerDirector` uses " -":class:`UnknownHandler` to ensure this never happens)." -msgstr "" - -#: ../../library/urllib.request.rst:79 -msgid "" -"In addition, if proxy settings are detected (for example, when a ``*_proxy``" -" environment variable like :envvar:`!http_proxy` is set), " -":class:`ProxyHandler` is default installed and makes sure the requests are " -"handled through the proxy." -msgstr "" - -#: ../../library/urllib.request.rst:84 -msgid "" -"The legacy ``urllib.urlopen`` function from Python 2.6 and earlier has been " -"discontinued; :func:`urllib.request.urlopen` corresponds to the old " -"``urllib2.urlopen``. Proxy handling, which was done by passing a dictionary" -" parameter to ``urllib.urlopen``, can be obtained by using " -":class:`ProxyHandler` objects." -msgstr "" - -#: ../../library/urllib.request.rst:90 ../../library/urllib.request.rst:92 -msgid "" -"The default opener raises an :ref:`auditing event ` " -"``urllib.Request`` with arguments ``fullurl``, ``data``, ``headers``, " -"``method`` taken from the request object." -msgstr "" - -#: ../../library/urllib.request.rst:96 -msgid "*cafile* and *capath* were added." -msgstr "" - -#: ../../library/urllib.request.rst:99 -msgid "" -"HTTPS virtual hosts are now supported if possible (that is, if " -":const:`ssl.HAS_SNI` is true)." -msgstr "" - -#: ../../library/urllib.request.rst:102 -msgid "*data* can be an iterable object." -msgstr "" - -#: ../../library/urllib.request.rst:104 -msgid "*cadefault* was added." -msgstr "" - -#: ../../library/urllib.request.rst:107 -msgid "*context* was added." -msgstr "" - -#: ../../library/urllib.request.rst:110 -msgid "" -"HTTPS connection now send an ALPN extension with protocol indicator " -"``http/1.1`` when no *context* is given. Custom *context* should set ALPN " -"protocols with :meth:`~ssl.SSLContext.set_alpn_protocols`." -msgstr "" - -#: ../../library/urllib.request.rst:115 -msgid "" -"Remove *cafile*, *capath* and *cadefault* parameters: use the *context* " -"parameter instead." -msgstr "" - -#: ../../library/urllib.request.rst:122 -msgid "" -"Install an :class:`OpenerDirector` instance as the default global opener. " -"Installing an opener is only necessary if you want urlopen to use that " -"opener; otherwise, simply call :meth:`OpenerDirector.open` instead of " -":func:`~urllib.request.urlopen`. The code does not check for a real " -":class:`OpenerDirector`, and any class with the appropriate interface will " -"work." -msgstr "" - -#: ../../library/urllib.request.rst:132 -msgid "" -"Return an :class:`OpenerDirector` instance, which chains the handlers in the" -" order given. *handler*\\s can be either instances of :class:`BaseHandler`, " -"or subclasses of :class:`BaseHandler` (in which case it must be possible to " -"call the constructor without any parameters). Instances of the following " -"classes will be in front of the *handler*\\s, unless the *handler*\\s " -"contain them, instances of them or subclasses of them: :class:`ProxyHandler`" -" (if proxy settings are detected), :class:`UnknownHandler`, " -":class:`HTTPHandler`, :class:`HTTPDefaultErrorHandler`, " -":class:`HTTPRedirectHandler`, :class:`FTPHandler`, :class:`FileHandler`, " -":class:`HTTPErrorProcessor`." -msgstr "" - -#: ../../library/urllib.request.rst:142 -msgid "" -"If the Python installation has SSL support (i.e., if the :mod:`ssl` module " -"can be imported), :class:`HTTPSHandler` will also be added." -msgstr "" - -#: ../../library/urllib.request.rst:145 -msgid "" -"A :class:`BaseHandler` subclass may also change its :attr:`handler_order` " -"attribute to modify its position in the handlers list." -msgstr "" - -#: ../../library/urllib.request.rst:151 -msgid "" -"Convert the given local path to a ``file:`` URL. This function uses " -":func:`~urllib.parse.quote` function to encode the path." -msgstr "" - -#: ../../library/urllib.request.rst:154 -msgid "" -"If *add_scheme* is false (the default), the return value omits the ``file:``" -" scheme prefix. Set *add_scheme* to true to return a complete URL." -msgstr "" - -#: ../../library/urllib.request.rst:157 ../../library/urllib.request.rst:195 -msgid "This example shows the function being used on Windows::" -msgstr "" - -#: ../../library/urllib.request.rst:159 -msgid "" -">>> from urllib.request import pathname2url\n" -">>> path = 'C:\\\\Program Files'\n" -">>> pathname2url(path, add_scheme=True)\n" -"'file:///C:/Program%20Files'" -msgstr "" - -#: ../../library/urllib.request.rst:164 ../../library/urllib.request.rst:202 -msgid "" -"Windows drive letters are no longer converted to uppercase, and ``:`` " -"characters not following a drive letter no longer cause an :exc:`OSError` " -"exception to be raised on Windows." -msgstr "" - -#: ../../library/urllib.request.rst:169 -msgid "" -"Paths beginning with a slash are converted to URLs with authority sections. " -"For example, the path ``/etc/hosts`` is converted to the URL " -"``///etc/hosts``." -msgstr "" - -#: ../../library/urllib.request.rst:174 -msgid "The *add_scheme* parameter was added." -msgstr "" - -#: ../../library/urllib.request.rst:180 -msgid "" -"Convert the given ``file:`` URL to a local path. This function uses " -":func:`~urllib.parse.unquote` to decode the URL." -msgstr "" - -#: ../../library/urllib.request.rst:183 -msgid "" -"If *require_scheme* is false (the default), the given value should omit a " -"``file:`` scheme prefix. If *require_scheme* is set to true, the given value" -" should include the prefix; a :exc:`~urllib.error.URLError` is raised if it " -"doesn't." -msgstr "" - -#: ../../library/urllib.request.rst:188 -msgid "" -"The URL authority is discarded if it is empty, ``localhost``, or the local " -"hostname. Otherwise, if *resolve_host* is set to true, the authority is " -"resolved using :func:`socket.gethostbyname` and discarded if it matches a " -"local IP address (as per :rfc:`RFC 8089 §3 <8089#section-3>`). If the " -"authority is still unhandled, then on Windows a UNC path is returned, and on" -" other platforms a :exc:`~urllib.error.URLError` is raised." -msgstr "" - -#: ../../library/urllib.request.rst:197 -msgid "" -">>> from urllib.request import url2pathname\n" -">>> url = 'file:///C:/Program%20Files'\n" -">>> url2pathname(url, require_scheme=True)\n" -"'C:\\\\Program Files'" -msgstr "" - -#: ../../library/urllib.request.rst:207 -msgid "" -"The URL authority is discarded if it matches the local hostname. Otherwise, " -"if the authority isn't empty or ``localhost``, then on Windows a UNC path is" -" returned (as before), and on other platforms a " -":exc:`~urllib.error.URLError` is raised." -msgstr "" - -#: ../../library/urllib.request.rst:213 -msgid "The *require_scheme* and *resolve_host* parameters were added." -msgstr "" - -#: ../../library/urllib.request.rst:219 -msgid "" -"This helper function returns a dictionary of scheme to proxy server URL " -"mappings. It scans the environment for variables named ``_proxy``, " -"in a case insensitive approach, for all operating systems first, and when it" -" cannot find it, looks for proxy information from System Configuration for " -"macOS and Windows Systems Registry for Windows. If both lowercase and " -"uppercase environment variables exist (and disagree), lowercase is " -"preferred." -msgstr "" - -#: ../../library/urllib.request.rst:229 -msgid "" -"If the environment variable ``REQUEST_METHOD`` is set, which usually " -"indicates your script is running in a CGI environment, the environment " -"variable ``HTTP_PROXY`` (uppercase ``_PROXY``) will be ignored. This is " -"because that variable can be injected by a client using the \"Proxy:\" HTTP " -"header. If you need to use an HTTP proxy in a CGI environment, either use " -"``ProxyHandler`` explicitly, or make sure the variable name is in lowercase " -"(or at least the ``_proxy`` suffix)." -msgstr "" - -#: ../../library/urllib.request.rst:238 -msgid "The following classes are provided:" -msgstr "" - -#: ../../library/urllib.request.rst:242 -msgid "This class is an abstraction of a URL request." -msgstr "" - -#: ../../library/urllib.request.rst:244 -msgid "*url* should be a string containing a valid, properly encoded URL." -msgstr "" - -#: ../../library/urllib.request.rst:246 -msgid "" -"*data* must be an object specifying additional data to send to the server, " -"or ``None`` if no such data is needed. Currently HTTP requests are the only" -" ones that use *data*. The supported object types include bytes, file-like " -"objects, and iterables of bytes-like objects. If no ``Content-Length`` nor " -"``Transfer-Encoding`` header field has been provided, :class:`HTTPHandler` " -"will set these headers according to the type of *data*. ``Content-Length`` " -"will be used to send bytes objects, while ``Transfer-Encoding: chunked`` as " -"specified in :rfc:`7230`, Section 3.3.1 will be used to send files and other" -" iterables." -msgstr "" - -#: ../../library/urllib.request.rst:256 -msgid "" -"For an HTTP POST request method, *data* should be a buffer in the standard " -":mimetype:`application/x-www-form-urlencoded` format. The " -":func:`urllib.parse.urlencode` function takes a mapping or sequence of " -"2-tuples and returns an ASCII string in this format. It should be encoded to" -" bytes before being used as the *data* parameter." -msgstr "" - -#: ../../library/urllib.request.rst:262 -msgid "" -"*headers* should be a dictionary, and will be treated as if " -":meth:`add_header` was called with each key and value as arguments. This is " -"often used to \"spoof\" the ``User-Agent`` header value, which is used by a " -"browser to identify itself -- some HTTP servers only allow requests coming " -"from common browsers as opposed to scripts. For example, Mozilla Firefox may" -" identify itself as ``\"Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 " -"Firefox/2.0.0.11\"``, while :mod:`urllib`'s default user agent string is " -"``\"Python-urllib/2.6\"`` (on Python 2.6). All header keys are sent in camel" -" case." -msgstr "" - -#: ../../library/urllib.request.rst:273 -msgid "" -"An appropriate ``Content-Type`` header should be included if the *data* " -"argument is present. If this header has not been provided and *data* is not" -" ``None``, ``Content-Type: application/x-www-form-urlencoded`` will be added" -" as a default." -msgstr "" - -#: ../../library/urllib.request.rst:278 -msgid "" -"The next two arguments are only of interest for correct handling of third-" -"party HTTP cookies:" -msgstr "" - -#: ../../library/urllib.request.rst:281 -msgid "" -"*origin_req_host* should be the request-host of the origin transaction, as " -"defined by :rfc:`2965`. It defaults to " -"``http.cookiejar.request_host(self)``. This is the host name or IP address " -"of the original request that was initiated by the user. For example, if the " -"request is for an image in an HTML document, this should be the request-host" -" of the request for the page containing the image." -msgstr "" - -#: ../../library/urllib.request.rst:289 -msgid "" -"*unverifiable* should indicate whether the request is unverifiable, as " -"defined by :rfc:`2965`. It defaults to ``False``. An unverifiable request " -"is one whose URL the user did not have the option to approve. For example, " -"if the request is for an image in an HTML document, and the user had no " -"option to approve the automatic fetching of the image, this should be true." -msgstr "" - -#: ../../library/urllib.request.rst:296 -msgid "" -"*method* should be a string that indicates the HTTP request method that will" -" be used (e.g. ``'HEAD'``). If provided, its value is stored in the " -":attr:`~Request.method` attribute and is used by :meth:`get_method`. The " -"default is ``'GET'`` if *data* is ``None`` or ``'POST'`` otherwise. " -"Subclasses may indicate a different default method by setting the " -":attr:`~Request.method` attribute in the class itself." -msgstr "" - -#: ../../library/urllib.request.rst:304 -msgid "" -"The request will not work as expected if the data object is unable to " -"deliver its content more than once (e.g. a file or an iterable that can " -"produce the content only once) and the request is retried for HTTP redirects" -" or authentication. The *data* is sent to the HTTP server right away after " -"the headers. There is no support for a 100-continue expectation in the " -"library." -msgstr "" - -#: ../../library/urllib.request.rst:311 -msgid ":attr:`Request.method` argument is added to the Request class." -msgstr "" - -#: ../../library/urllib.request.rst:314 -msgid "Default :attr:`Request.method` may be indicated at the class level." -msgstr "" - -#: ../../library/urllib.request.rst:317 -msgid "" -"Do not raise an error if the ``Content-Length`` has not been provided and " -"*data* is neither ``None`` nor a bytes object. Fall back to use chunked " -"transfer encoding instead." -msgstr "" - -#: ../../library/urllib.request.rst:324 -msgid "" -"The :class:`OpenerDirector` class opens URLs via :class:`BaseHandler`\\ s " -"chained together. It manages the chaining of handlers, and recovery from " -"errors." -msgstr "" - -#: ../../library/urllib.request.rst:330 -msgid "" -"This is the base class for all registered handlers --- and handles only the " -"simple mechanics of registration." -msgstr "" - -#: ../../library/urllib.request.rst:336 -msgid "" -"A class which defines a default handler for HTTP error responses; all " -"responses are turned into :exc:`~urllib.error.HTTPError` exceptions." -msgstr "" - -#: ../../library/urllib.request.rst:342 -msgid "A class to handle redirections." -msgstr "" - -#: ../../library/urllib.request.rst:347 -msgid "A class to handle HTTP Cookies." -msgstr "" - -#: ../../library/urllib.request.rst:352 -msgid "" -"Cause requests to go through a proxy. If *proxies* is given, it must be a " -"dictionary mapping protocol names to URLs of proxies. The default is to read" -" the list of proxies from the environment variables ``_proxy``. " -"If no proxy environment variables are set, then in a Windows environment " -"proxy settings are obtained from the registry's Internet Settings section, " -"and in a macOS environment proxy information is retrieved from the System " -"Configuration Framework." -msgstr "" - -#: ../../library/urllib.request.rst:360 -msgid "To disable autodetected proxy pass an empty dictionary." -msgstr "" - -#: ../../library/urllib.request.rst:362 -msgid "" -"The :envvar:`no_proxy` environment variable can be used to specify hosts " -"which shouldn't be reached via proxy; if set, it should be a comma-separated" -" list of hostname suffixes, optionally with ``:port`` appended, for example " -"``cern.ch,ncsa.uiuc.edu,some.host:8080``." -msgstr "" - -#: ../../library/urllib.request.rst:369 -msgid "" -"``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see " -"the documentation on :func:`~urllib.request.getproxies`." -msgstr "" - -#: ../../library/urllib.request.rst:375 -msgid "Keep a database of ``(realm, uri) -> (user, password)`` mappings." -msgstr "" - -#: ../../library/urllib.request.rst:380 -msgid "" -"Keep a database of ``(realm, uri) -> (user, password)`` mappings. A realm " -"of ``None`` is considered a catch-all realm, which is searched if no other " -"realm fits." -msgstr "" - -#: ../../library/urllib.request.rst:387 -msgid "" -"A variant of :class:`HTTPPasswordMgrWithDefaultRealm` that also has a " -"database of ``uri -> is_authenticated`` mappings. Can be used by a " -"BasicAuth handler to determine when to send authentication credentials " -"immediately instead of waiting for a ``401`` response first." -msgstr "" - -#: ../../library/urllib.request.rst:397 -msgid "" -"This is a mixin class that helps with HTTP authentication, both to the " -"remote host and to a proxy. *password_mgr*, if given, should be something " -"that is compatible with :class:`HTTPPasswordMgr`; refer to section " -":ref:`http-password-mgr` for information on the interface that must be " -"supported. If *passwd_mgr* also provides ``is_authenticated`` and " -"``update_authenticated`` methods (see :ref:`http-password-mgr-with-prior-" -"auth`), then the handler will use the ``is_authenticated`` result for a " -"given URI to determine whether or not to send authentication credentials " -"with the request. If ``is_authenticated`` returns ``True`` for the URI, " -"credentials are sent. If ``is_authenticated`` is ``False``, credentials are" -" not sent, and then if a ``401`` response is received the request is re-sent" -" with the authentication credentials. If authentication succeeds, " -"``update_authenticated`` is called to set ``is_authenticated`` ``True`` for " -"the URI, so that subsequent requests to the URI or any of its super-URIs " -"will automatically include the authentication credentials." -msgstr "" - -#: ../../library/urllib.request.rst:414 -msgid "Added ``is_authenticated`` support." -msgstr "" - -#: ../../library/urllib.request.rst:420 -msgid "" -"Handle authentication with the remote host. *password_mgr*, if given, should" -" be something that is compatible with :class:`HTTPPasswordMgr`; refer to " -"section :ref:`http-password-mgr` for information on the interface that must " -"be supported. HTTPBasicAuthHandler will raise a :exc:`ValueError` when " -"presented with a wrong Authentication scheme." -msgstr "" - -#: ../../library/urllib.request.rst:429 ../../library/urllib.request.rst:466 -msgid "" -"Handle authentication with the proxy. *password_mgr*, if given, should be " -"something that is compatible with :class:`HTTPPasswordMgr`; refer to section" -" :ref:`http-password-mgr` for information on the interface that must be " -"supported." -msgstr "" - -#: ../../library/urllib.request.rst:437 -msgid "" -"This is a mixin class that helps with HTTP authentication, both to the " -"remote host and to a proxy. *password_mgr*, if given, should be something " -"that is compatible with :class:`HTTPPasswordMgr`; refer to section " -":ref:`http-password-mgr` for information on the interface that must be " -"supported." -msgstr "" - -#: ../../library/urllib.request.rst:443 -msgid "Added support for HTTP digest authentication algorithm ``SHA-256``." -msgstr "" - -#: ../../library/urllib.request.rst:449 -msgid "" -"Handle authentication with the remote host. *password_mgr*, if given, should" -" be something that is compatible with :class:`HTTPPasswordMgr`; refer to " -"section :ref:`http-password-mgr` for information on the interface that must " -"be supported. When both Digest Authentication Handler and Basic " -"Authentication Handler are both added, Digest Authentication is always tried" -" first. If the Digest Authentication returns a 40x response again, it is " -"sent to Basic Authentication handler to Handle. This Handler method will " -"raise a :exc:`ValueError` when presented with an authentication scheme other" -" than Digest or Basic." -msgstr "" - -#: ../../library/urllib.request.rst:459 -msgid "Raise :exc:`ValueError` on unsupported Authentication Scheme." -msgstr "" - -#: ../../library/urllib.request.rst:474 -msgid "A class to handle opening of HTTP URLs." -msgstr "" - -#: ../../library/urllib.request.rst:479 -msgid "" -"A class to handle opening of HTTPS URLs. *context* and *check_hostname* " -"have the same meaning as in :class:`http.client.HTTPSConnection`." -msgstr "" - -#: ../../library/urllib.request.rst:482 -msgid "*context* and *check_hostname* were added." -msgstr "" - -#: ../../library/urllib.request.rst:488 -msgid "Open local files." -msgstr "" - -#: ../../library/urllib.request.rst:492 -msgid "Open data URLs." -msgstr "" - -#: ../../library/urllib.request.rst:498 -msgid "Open FTP URLs." -msgstr "" - -#: ../../library/urllib.request.rst:503 -msgid "" -"Open FTP URLs, keeping a cache of open FTP connections to minimize delays." -msgstr "" - -#: ../../library/urllib.request.rst:508 -msgid "A catch-all class to handle unknown URLs." -msgstr "" - -#: ../../library/urllib.request.rst:513 ../../library/urllib.request.rst:1219 -msgid "Process HTTP error responses." -msgstr "" - -#: ../../library/urllib.request.rst:519 -msgid "Request Objects" -msgstr "" - -#: ../../library/urllib.request.rst:521 -msgid "" -"The following methods describe :class:`Request`'s public interface, and so " -"all may be overridden in subclasses. It also defines several public " -"attributes that can be used by clients to inspect the parsed request." -msgstr "" - -#: ../../library/urllib.request.rst:528 -msgid "The original URL passed to the constructor." -msgstr "" - -#: ../../library/urllib.request.rst:532 -msgid "" -"Request.full_url is a property with setter, getter and a deleter. Getting " -":attr:`~Request.full_url` returns the original request URL with the " -"fragment, if it was present." -msgstr "" - -#: ../../library/urllib.request.rst:538 -msgid "The URI scheme." -msgstr "" - -#: ../../library/urllib.request.rst:542 -msgid "" -"The URI authority, typically a host, but may also contain a port separated " -"by a colon." -msgstr "" - -#: ../../library/urllib.request.rst:547 -msgid "The original host for the request, without port." -msgstr "" - -#: ../../library/urllib.request.rst:551 -msgid "" -"The URI path. If the :class:`Request` uses a proxy, then selector will be " -"the full URL that is passed to the proxy." -msgstr "" - -#: ../../library/urllib.request.rst:556 -msgid "The entity body for the request, or ``None`` if not specified." -msgstr "" - -#: ../../library/urllib.request.rst:558 -msgid "" -"Changing value of :attr:`Request.data` now deletes \"Content-Length\" header" -" if it was previously set or calculated." -msgstr "" - -#: ../../library/urllib.request.rst:564 -msgid "" -"boolean, indicates whether the request is unverifiable as defined by " -":rfc:`2965`." -msgstr "" - -#: ../../library/urllib.request.rst:569 -msgid "" -"The HTTP request method to use. By default its value is :const:`None`, " -"which means that :meth:`~Request.get_method` will do its normal computation " -"of the method to be used. Its value can be set (thus overriding the default" -" computation in :meth:`~Request.get_method`) either by providing a default " -"value by setting it at the class level in a :class:`Request` subclass, or by" -" passing a value in to the :class:`Request` constructor via the *method* " -"argument." -msgstr "" - -#: ../../library/urllib.request.rst:579 -msgid "" -"A default value can now be set in subclasses; previously it could only be " -"set via the constructor argument." -msgstr "" - -#: ../../library/urllib.request.rst:586 -msgid "" -"Return a string indicating the HTTP request method. If " -":attr:`Request.method` is not ``None``, return its value, otherwise return " -"``'GET'`` if :attr:`Request.data` is ``None``, or ``'POST'`` if it's not. " -"This is only meaningful for HTTP requests." -msgstr "" - -#: ../../library/urllib.request.rst:591 -msgid "get_method now looks at the value of :attr:`Request.method`." -msgstr "" - -#: ../../library/urllib.request.rst:597 -msgid "" -"Add another header to the request. Headers are currently ignored by all " -"handlers except HTTP handlers, where they are added to the list of headers " -"sent to the server. Note that there cannot be more than one header with the" -" same name, and later calls will overwrite previous calls in case the *key* " -"collides. Currently, this is no loss of HTTP functionality, since all " -"headers which have meaning when used more than once have a (header-specific)" -" way of gaining the same functionality using only one header. Note that " -"headers added using this method are also added to redirected requests." -msgstr "" - -#: ../../library/urllib.request.rst:609 -msgid "Add a header that will not be added to a redirected request." -msgstr "" - -#: ../../library/urllib.request.rst:614 -msgid "" -"Return whether the instance has the named header (checks both regular and " -"unredirected)." -msgstr "" - -#: ../../library/urllib.request.rst:620 -msgid "" -"Remove named header from the request instance (both from regular and " -"unredirected headers)." -msgstr "" - -#: ../../library/urllib.request.rst:628 -msgid "Return the URL given in the constructor." -msgstr "" - -#: ../../library/urllib.request.rst:632 -msgid "Returns :attr:`Request.full_url`" -msgstr "" - -#: ../../library/urllib.request.rst:637 -msgid "" -"Prepare the request by connecting to a proxy server. The *host* and *type* " -"will replace those of the instance, and the instance's selector will be the " -"original URL given in the constructor." -msgstr "" - -#: ../../library/urllib.request.rst:644 -msgid "" -"Return the value of the given header. If the header is not present, return " -"the default value." -msgstr "" - -#: ../../library/urllib.request.rst:650 -msgid "" -"Return a list of tuples (header_name, header_value) of the Request headers." -msgstr "" - -#: ../../library/urllib.request.rst:652 -msgid "" -"The request methods add_data, has_data, get_data, get_type, get_host, " -"get_selector, get_origin_req_host and is_unverifiable that were deprecated " -"since 3.3 have been removed." -msgstr "" - -#: ../../library/urllib.request.rst:661 -msgid "OpenerDirector Objects" -msgstr "" - -#: ../../library/urllib.request.rst:663 -msgid ":class:`OpenerDirector` instances have the following methods:" -msgstr "" - -#: ../../library/urllib.request.rst:668 -msgid "" -"*handler* should be an instance of :class:`BaseHandler`. The following " -"methods are searched, and added to the possible chains (note that HTTP " -"errors are a special case). Note that, in the following, *protocol* should " -"be replaced with the actual protocol to handle, for example " -":meth:`http_response` would be the HTTP protocol response handler. Also " -"*type* should be replaced with the actual HTTP code, for example " -":meth:`http_error_404` would handle HTTP 404 errors." -msgstr "" - -#: ../../library/urllib.request.rst:676 -msgid "" -":meth:`!_open` --- signal that the handler knows how to open " -"*protocol* URLs." -msgstr "" - -#: ../../library/urllib.request.rst:679 -msgid "See |protocol_open|_ for more information." -msgstr "" - -#: ../../library/urllib.request.rst:681 -msgid "" -":meth:`!http_error_\\` --- signal that the handler knows how to " -"handle HTTP errors with HTTP error code *type*." -msgstr "" - -#: ../../library/urllib.request.rst:684 -msgid "See |http_error_nnn|_ for more information." -msgstr "" - -#: ../../library/urllib.request.rst:686 -msgid "" -":meth:`!_error` --- signal that the handler knows how to handle " -"errors from (non-\\ ``http``) *protocol*." -msgstr "" - -#: ../../library/urllib.request.rst:689 -msgid "" -":meth:`!_request` --- signal that the handler knows how to pre-" -"process *protocol* requests." -msgstr "" - -#: ../../library/urllib.request.rst:692 -msgid "See |protocol_request|_ for more information." -msgstr "" - -#: ../../library/urllib.request.rst:694 -msgid "" -":meth:`!_response` --- signal that the handler knows how to post-" -"process *protocol* responses." -msgstr "" - -#: ../../library/urllib.request.rst:697 -msgid "See |protocol_response|_ for more information." -msgstr "" - -#: ../../library/urllib.request.rst:706 -msgid "" -"Open the given *url* (which can be a request object or a string), optionally" -" passing the given *data*. Arguments, return values and exceptions raised " -"are the same as those of :func:`urlopen` (which simply calls the " -":meth:`open` method on the currently installed global " -":class:`OpenerDirector`). The optional *timeout* parameter specifies a " -"timeout in seconds for blocking operations like the connection attempt (if " -"not specified, the global default timeout setting will be used). The timeout" -" feature actually works only for HTTP, HTTPS and FTP connections." -msgstr "" - -#: ../../library/urllib.request.rst:718 -msgid "" -"Handle an error of the given protocol. This will call the registered error " -"handlers for the given protocol with the given arguments (which are protocol" -" specific). The HTTP protocol is a special case which uses the HTTP " -"response code to determine the specific error handler; refer to the " -":meth:`!http_error_\\` methods of the handler classes." -msgstr "" - -#: ../../library/urllib.request.rst:724 -msgid "" -"Return values and exceptions raised are the same as those of " -":func:`urlopen`." -msgstr "" - -#: ../../library/urllib.request.rst:726 -msgid "OpenerDirector objects open URLs in three stages:" -msgstr "" - -#: ../../library/urllib.request.rst:728 -msgid "" -"The order in which these methods are called within each stage is determined " -"by sorting the handler instances." -msgstr "" - -#: ../../library/urllib.request.rst:731 -msgid "" -"Every handler with a method named like :meth:`!_request` has that " -"method called to pre-process the request." -msgstr "" - -#: ../../library/urllib.request.rst:734 -msgid "" -"Handlers with a method named like :meth:`!_open` are called to " -"handle the request. This stage ends when a handler either returns a non-\\ " -":const:`None` value (ie. a response), or raises an exception (usually " -":exc:`~urllib.error.URLError`). Exceptions are allowed to propagate." -msgstr "" - -#: ../../library/urllib.request.rst:739 -msgid "" -"In fact, the above algorithm is first tried for methods named " -":meth:`~BaseHandler.default_open`. If all such methods return " -":const:`None`, the algorithm is repeated for methods named like " -":meth:`!_open`. If all such methods return :const:`None`, the " -"algorithm is repeated for methods named :meth:`~BaseHandler.unknown_open`." -msgstr "" - -#: ../../library/urllib.request.rst:745 -msgid "" -"Note that the implementation of these methods may involve calls of the " -"parent :class:`OpenerDirector` instance's :meth:`~OpenerDirector.open` and " -":meth:`~OpenerDirector.error` methods." -msgstr "" - -#: ../../library/urllib.request.rst:749 -msgid "" -"Every handler with a method named like :meth:`!_response` has that" -" method called to post-process the response." -msgstr "" - -#: ../../library/urllib.request.rst:756 -msgid "BaseHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:758 -msgid "" -":class:`BaseHandler` objects provide a couple of methods that are directly " -"useful, and others that are meant to be used by derived classes. These are " -"intended for direct use:" -msgstr "" - -#: ../../library/urllib.request.rst:765 -msgid "Add a director as parent." -msgstr "" - -#: ../../library/urllib.request.rst:770 -msgid "Remove any parents." -msgstr "" - -#: ../../library/urllib.request.rst:772 -msgid "" -"The following attribute and methods should only be used by classes derived " -"from :class:`BaseHandler`." -msgstr "" - -#: ../../library/urllib.request.rst:777 -msgid "" -"The convention has been adopted that subclasses defining " -":meth:`!_request` or :meth:`!_response` methods are " -"named :class:`!\\*Processor`; all others are named :class:`!\\*Handler`." -msgstr "" - -#: ../../library/urllib.request.rst:784 -msgid "" -"A valid :class:`OpenerDirector`, which can be used to open using a different" -" protocol, or handle errors." -msgstr "" - -#: ../../library/urllib.request.rst:790 -msgid "" -"This method is *not* defined in :class:`BaseHandler`, but subclasses should " -"define it if they want to catch all URLs." -msgstr "" - -#: ../../library/urllib.request.rst:793 -msgid "" -"This method, if implemented, will be called by the parent " -":class:`OpenerDirector`. It should return a file-like object as described " -"in the return value of the :meth:`~OpenerDirector.open` method of " -":class:`OpenerDirector`, or ``None``. It should raise " -":exc:`~urllib.error.URLError`, unless a truly exceptional thing happens (for" -" example, :exc:`MemoryError` should not be mapped to " -":exc:`~urllib.error.URLError`)." -msgstr "" - -#: ../../library/urllib.request.rst:800 -msgid "This method will be called before any protocol-specific open method." -msgstr "" - -#: ../../library/urllib.request.rst:807 -msgid "" -"This method is *not* defined in :class:`BaseHandler`, but subclasses should " -"define it if they want to handle URLs with the given protocol." -msgstr "" - -#: ../../library/urllib.request.rst:810 -msgid "" -"This method, if defined, will be called by the parent " -":class:`OpenerDirector`. Return values should be the same as for " -":meth:`~BaseHandler.default_open`." -msgstr "" - -#: ../../library/urllib.request.rst:816 -msgid "" -"This method is *not* defined in :class:`BaseHandler`, but subclasses should " -"define it if they want to catch all URLs with no specific registered handler" -" to open it." -msgstr "" - -#: ../../library/urllib.request.rst:820 -msgid "" -"This method, if implemented, will be called by the :attr:`parent` " -":class:`OpenerDirector`. Return values should be the same as for " -":meth:`default_open`." -msgstr "" - -#: ../../library/urllib.request.rst:827 -msgid "" -"This method is *not* defined in :class:`BaseHandler`, but subclasses should " -"override it if they intend to provide a catch-all for otherwise unhandled " -"HTTP errors. It will be called automatically by the " -":class:`OpenerDirector` getting the error, and should not normally be called" -" in other circumstances." -msgstr "" - -#: ../../library/urllib.request.rst:832 -msgid "" -"*req* will be a :class:`Request` object, *fp* will be a file-like object " -"with the HTTP error body, *code* will be the three-digit code of the error, " -"*msg* will be the user-visible explanation of the code and *hdrs* will be a " -"mapping object with the headers of the error." -msgstr "" - -#: ../../library/urllib.request.rst:837 -msgid "" -"Return values and exceptions raised should be the same as those of " -":func:`urlopen`." -msgstr "" - -#: ../../library/urllib.request.rst:844 -msgid "" -"*nnn* should be a three-digit HTTP error code. This method is also not " -"defined in :class:`BaseHandler`, but will be called, if it exists, on an " -"instance of a subclass, when an HTTP error with code *nnn* occurs." -msgstr "" - -#: ../../library/urllib.request.rst:848 -msgid "Subclasses should override this method to handle specific HTTP errors." -msgstr "" - -#: ../../library/urllib.request.rst:850 -msgid "" -"Arguments, return values and exceptions raised should be the same as for " -":meth:`~BaseHandler.http_error_default`." -msgstr "" - -#: ../../library/urllib.request.rst:858 -msgid "" -"This method is *not* defined in :class:`BaseHandler`, but subclasses should " -"define it if they want to pre-process requests of the given protocol." -msgstr "" - -#: ../../library/urllib.request.rst:861 -msgid "" -"This method, if defined, will be called by the parent " -":class:`OpenerDirector`. *req* will be a :class:`Request` object. The return" -" value should be a :class:`Request` object." -msgstr "" - -#: ../../library/urllib.request.rst:870 -msgid "" -"This method is *not* defined in :class:`BaseHandler`, but subclasses should " -"define it if they want to post-process responses of the given protocol." -msgstr "" - -#: ../../library/urllib.request.rst:873 -msgid "" -"This method, if defined, will be called by the parent " -":class:`OpenerDirector`. *req* will be a :class:`Request` object. *response*" -" will be an object implementing the same interface as the return value of " -":func:`urlopen`. The return value should implement the same interface as " -"the return value of :func:`urlopen`." -msgstr "" - -#: ../../library/urllib.request.rst:883 -msgid "HTTPRedirectHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:887 -msgid "" -"Some HTTP redirections require action from this module's client code. If " -"this is the case, :exc:`~urllib.error.HTTPError` is raised. See :rfc:`2616`" -" for details of the precise meanings of the various redirection codes." -msgstr "" - -#: ../../library/urllib.request.rst:891 -msgid "" -"An :exc:`~urllib.error.HTTPError` exception raised as a security " -"consideration if the HTTPRedirectHandler is presented with a redirected URL " -"which is not an HTTP, HTTPS or FTP URL." -msgstr "" - -#: ../../library/urllib.request.rst:898 -msgid "" -"Return a :class:`Request` or ``None`` in response to a redirect. This is " -"called by the default implementations of the :meth:`!http_error_30\\*` " -"methods when a redirection is received from the server. If a redirection " -"should take place, return a new :class:`Request` to allow " -":meth:`!http_error_30\\*` to perform the redirect to *newurl*. Otherwise, " -"raise :exc:`~urllib.error.HTTPError` if no other handler should try to " -"handle this URL, or return ``None`` if you can't but another handler might." -msgstr "" - -#: ../../library/urllib.request.rst:908 -msgid "" -"The default implementation of this method does not strictly follow " -":rfc:`2616`, which says that 301 and 302 responses to ``POST`` requests must" -" not be automatically redirected without confirmation by the user. In " -"reality, browsers do allow automatic redirection of these responses, " -"changing the POST to a ``GET``, and the default implementation reproduces " -"this behavior." -msgstr "" - -#: ../../library/urllib.request.rst:917 -msgid "" -"Redirect to the ``Location:`` or ``URI:`` URL. This method is called by the" -" parent :class:`OpenerDirector` when getting an HTTP 'moved permanently' " -"response." -msgstr "" - -#: ../../library/urllib.request.rst:923 -msgid "" -"The same as :meth:`http_error_301`, but called for the 'found' response." -msgstr "" - -#: ../../library/urllib.request.rst:928 -msgid "" -"The same as :meth:`http_error_301`, but called for the 'see other' response." -msgstr "" - -#: ../../library/urllib.request.rst:933 -msgid "" -"The same as :meth:`http_error_301`, but called for the 'temporary redirect' " -"response. It does not allow changing the request method from ``POST`` to " -"``GET``." -msgstr "" - -#: ../../library/urllib.request.rst:940 -msgid "" -"The same as :meth:`http_error_301`, but called for the 'permanent redirect' " -"response. It does not allow changing the request method from ``POST`` to " -"``GET``." -msgstr "" - -#: ../../library/urllib.request.rst:950 -msgid "HTTPCookieProcessor Objects" -msgstr "" - -#: ../../library/urllib.request.rst:952 -msgid ":class:`HTTPCookieProcessor` instances have one attribute:" -msgstr "" - -#: ../../library/urllib.request.rst:956 -msgid "The :class:`http.cookiejar.CookieJar` in which cookies are stored." -msgstr "" - -#: ../../library/urllib.request.rst:962 -msgid "ProxyHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:968 -msgid "" -"The :class:`ProxyHandler` will have a method :meth:`!_open` for " -"every *protocol* which has a proxy in the *proxies* dictionary given in the " -"constructor. The method will modify requests to go through the proxy, by " -"calling ``request.set_proxy()``, and call the next handler in the chain to " -"actually execute the protocol." -msgstr "" - -#: ../../library/urllib.request.rst:978 -msgid "HTTPPasswordMgr Objects" -msgstr "" - -#: ../../library/urllib.request.rst:980 -msgid "" -"These methods are available on :class:`HTTPPasswordMgr` and " -":class:`HTTPPasswordMgrWithDefaultRealm` objects." -msgstr "" - -#: ../../library/urllib.request.rst:986 -msgid "" -"*uri* can be either a single URI, or a sequence of URIs. *realm*, *user* and" -" *passwd* must be strings. This causes ``(user, passwd)`` to be used as " -"authentication tokens when authentication for *realm* and a super-URI of any" -" of the given URIs is given." -msgstr "" - -#: ../../library/urllib.request.rst:994 -msgid "" -"Get user/password for given realm and URI, if any. This method will return " -"``(None, None)`` if there is no matching user/password." -msgstr "" - -#: ../../library/urllib.request.rst:997 -msgid "" -"For :class:`HTTPPasswordMgrWithDefaultRealm` objects, the realm ``None`` " -"will be searched if the given *realm* has no matching user/password." -msgstr "" - -#: ../../library/urllib.request.rst:1004 -msgid "HTTPPasswordMgrWithPriorAuth Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1006 -msgid "" -"This password manager extends :class:`HTTPPasswordMgrWithDefaultRealm` to " -"support tracking URIs for which authentication credentials should always be " -"sent." -msgstr "" - -#: ../../library/urllib.request.rst:1013 -msgid "" -"*realm*, *uri*, *user*, *passwd* are as for " -":meth:`HTTPPasswordMgr.add_password`. *is_authenticated* sets the initial " -"value of the ``is_authenticated`` flag for the given URI or list of URIs. If" -" *is_authenticated* is specified as ``True``, *realm* is ignored." -msgstr "" - -#: ../../library/urllib.request.rst:1021 -msgid "Same as for :class:`HTTPPasswordMgrWithDefaultRealm` objects" -msgstr "" - -#: ../../library/urllib.request.rst:1027 -msgid "" -"Update the ``is_authenticated`` flag for the given *uri* or list of URIs." -msgstr "" - -#: ../../library/urllib.request.rst:1033 -msgid "" -"Returns the current state of the ``is_authenticated`` flag for the given " -"URI." -msgstr "" - -#: ../../library/urllib.request.rst:1040 -msgid "AbstractBasicAuthHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1045 -msgid "" -"Handle an authentication request by getting a user/password pair, and re-" -"trying the request. *authreq* should be the name of the header where the " -"information about the realm is included in the request, *host* specifies the" -" URL and path to authenticate for, *req* should be the (failed) " -":class:`Request` object, and *headers* should be the error headers." -msgstr "" - -#: ../../library/urllib.request.rst:1051 -msgid "" -"*host* is either an authority (e.g. ``\"python.org\"``) or a URL containing " -"an authority component (e.g. ``\"http://python.org/\"``). In either case, " -"the authority must not contain a userinfo component (so, ``\"python.org\"`` " -"and ``\"python.org:80\"`` are fine, ``\"joe:password@python.org\"`` is not)." -msgstr "" - -#: ../../library/urllib.request.rst:1060 -msgid "HTTPBasicAuthHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1065 ../../library/urllib.request.rst:1076 -#: ../../library/urllib.request.rst:1101 ../../library/urllib.request.rst:1112 -msgid "Retry the request with authentication information, if available." -msgstr "" - -#: ../../library/urllib.request.rst:1071 -msgid "ProxyBasicAuthHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1082 -msgid "AbstractDigestAuthHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1087 -msgid "" -"*authreq* should be the name of the header where the information about the " -"realm is included in the request, *host* should be the host to authenticate " -"to, *req* should be the (failed) :class:`Request` object, and *headers* " -"should be the error headers." -msgstr "" - -#: ../../library/urllib.request.rst:1096 -msgid "HTTPDigestAuthHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1107 -msgid "ProxyDigestAuthHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1118 -msgid "HTTPHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1123 -msgid "" -"Send an HTTP request, which can be either GET or POST, depending on " -"``req.has_data()``." -msgstr "" - -#: ../../library/urllib.request.rst:1130 -msgid "HTTPSHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1135 -msgid "" -"Send an HTTPS request, which can be either GET or POST, depending on " -"``req.has_data()``." -msgstr "" - -#: ../../library/urllib.request.rst:1142 -msgid "FileHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1147 -msgid "" -"Open the file locally, if there is no host name, or the host name is " -"``'localhost'``." -msgstr "" - -#: ../../library/urllib.request.rst:1150 -msgid "" -"This method is applicable only for local hostnames. When a remote hostname " -"is given, a :exc:`~urllib.error.URLError` is raised." -msgstr "" - -#: ../../library/urllib.request.rst:1158 -msgid "DataHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1162 -msgid "" -"Read a data URL. This kind of URL contains the content encoded in the URL " -"itself. The data URL syntax is specified in :rfc:`2397`. This implementation" -" ignores white spaces in base64 encoded data URLs so the URL may be wrapped " -"in whatever source file it comes from. But even though some browsers don't " -"mind about a missing padding at the end of a base64 encoded data URL, this " -"implementation will raise a :exc:`ValueError` in that case." -msgstr "" - -#: ../../library/urllib.request.rst:1173 -msgid "FTPHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1178 -msgid "" -"Open the FTP file indicated by *req*. The login is always done with empty " -"username and password." -msgstr "" - -#: ../../library/urllib.request.rst:1185 -msgid "CacheFTPHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1187 -msgid "" -":class:`CacheFTPHandler` objects are :class:`FTPHandler` objects with the " -"following additional methods:" -msgstr "" - -#: ../../library/urllib.request.rst:1193 -msgid "Set timeout of connections to *t* seconds." -msgstr "" - -#: ../../library/urllib.request.rst:1198 -msgid "Set maximum number of cached connections to *m*." -msgstr "" - -#: ../../library/urllib.request.rst:1204 -msgid "UnknownHandler Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1209 -msgid "Raise a :exc:`~urllib.error.URLError` exception." -msgstr "" - -#: ../../library/urllib.request.rst:1215 -msgid "HTTPErrorProcessor Objects" -msgstr "" - -#: ../../library/urllib.request.rst:1221 -msgid "For 200 error codes, the response object is returned immediately." -msgstr "" - -#: ../../library/urllib.request.rst:1223 -msgid "" -"For non-200 error codes, this simply passes the job on to the " -":meth:`!http_error_\\` handler methods, via " -":meth:`OpenerDirector.error`. Eventually, :class:`HTTPDefaultErrorHandler` " -"will raise an :exc:`~urllib.error.HTTPError` if no other handler handles the" -" error." -msgstr "" - -#: ../../library/urllib.request.rst:1231 -msgid "Process HTTPS error responses." -msgstr "" - -#: ../../library/urllib.request.rst:1233 -msgid "The behavior is same as :meth:`http_response`." -msgstr "" - -#: ../../library/urllib.request.rst:1239 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/urllib.request.rst:1241 -msgid "" -"In addition to the examples below, more examples are given in :ref:`urllib-" -"howto`." -msgstr "" - -#: ../../library/urllib.request.rst:1244 -msgid "" -"This example gets the python.org main page and displays the first 300 bytes " -"of it::" -msgstr "" - -#: ../../library/urllib.request.rst:1247 -msgid "" -">>> import urllib.request\n" -">>> with urllib.request.urlopen('http://www.python.org/') as f:\n" -"... print(f.read(300))\n" -"...\n" -"b'\\n\\n\\n\n" -">> import urllib.request\n" -">>> f = urllib.request.urlopen('http://www.python.org/')\n" -">>> try:\n" -"... print(f.read(100).decode('utf-8'))\n" -"... finally:\n" -"... f.close()\n" -"...\n" -"\n" -"\n" -"', char.text)" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:349 -msgid "" -"A better way to search the namespaced XML example is to create a dictionary " -"with your own prefixes and use those in the search functions::" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:352 -msgid "" -"ns = {'real_person': 'http://people.example.com',\n" -" 'role': 'http://characters.example.com'}\n" -"\n" -"for actor in root.findall('real_person:actor', ns):\n" -" name = actor.find('real_person:name', ns)\n" -" print(name.text)\n" -" for char in actor.findall('role:character', ns):\n" -" print(' |-->', char.text)" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:361 -msgid "These two approaches both output::" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:363 -msgid "" -"John Cleese\n" -" |--> Lancelot\n" -" |--> Archie Leach\n" -"Eric Idle\n" -" |--> Sir Robin\n" -" |--> Gunther\n" -" |--> Commander Clement" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:375 -msgid "XPath support" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:377 -msgid "" -"This module provides limited support for `XPath expressions " -"`_ for locating elements in a tree. The goal " -"is to support a small subset of the abbreviated syntax; a full XPath engine " -"is outside the scope of the module." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:383 -#: ../../library/xml.etree.elementtree.rst:782 -msgid "Example" -msgstr "Contoh" - -#: ../../library/xml.etree.elementtree.rst:385 -msgid "" -"Here's an example that demonstrates some of the XPath capabilities of the " -"module. We'll be using the ``countrydata`` XML document from the " -":ref:`Parsing XML ` section::" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:389 -msgid "" -"import xml.etree.ElementTree as ET\n" -"\n" -"root = ET.fromstring(countrydata)\n" -"\n" -"# Top-level elements\n" -"root.findall(\".\")\n" -"\n" -"# All 'neighbor' grand-children of 'country' children of the top-level\n" -"# elements\n" -"root.findall(\"./country/neighbor\")\n" -"\n" -"# Nodes with name='Singapore' that have a 'year' child\n" -"root.findall(\".//year/..[@name='Singapore']\")\n" -"\n" -"# 'year' nodes that are children of nodes with name='Singapore'\n" -"root.findall(\".//*[@name='Singapore']/year\")\n" -"\n" -"# All 'neighbor' nodes that are the second child of their parent\n" -"root.findall(\".//neighbor[2]\")" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:409 -msgid "" -"For XML with namespaces, use the usual qualified ``{namespace}tag`` " -"notation::" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:411 -msgid "" -"# All dublin-core \"title\" tags in the document\n" -"root.findall(\".//{http://purl.org/dc/elements/1.1/}title\")" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:416 -msgid "Supported XPath syntax" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:421 -msgid "Syntax" -msgstr "Sintaksis" - -#: ../../library/xml.etree.elementtree.rst:421 -msgid "Meaning" -msgstr "Artinya" - -#: ../../library/xml.etree.elementtree.rst:423 -msgid "``tag``" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:423 -msgid "" -"Selects all child elements with the given tag. For example, ``spam`` selects" -" all child elements named ``spam``, and ``spam/egg`` selects all " -"grandchildren named ``egg`` in all children named ``spam``. " -"``{namespace}*`` selects all tags in the given namespace, ``{*}spam`` " -"selects tags named ``spam`` in any (or no) namespace, and ``{}*`` only " -"selects tags that are not in a namespace." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:432 -msgid "Support for star-wildcards was added." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:435 -msgid "``*``" -msgstr "``*``" - -#: ../../library/xml.etree.elementtree.rst:435 -msgid "" -"Selects all child elements, including comments and processing instructions." -" For example, ``*/egg`` selects all grandchildren named ``egg``." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:439 -msgid "``.``" -msgstr "``.``" - -#: ../../library/xml.etree.elementtree.rst:439 -msgid "" -"Selects the current node. This is mostly useful at the beginning of the " -"path, to indicate that it's a relative path." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:443 -msgid "``//``" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:443 -msgid "" -"Selects all subelements, on all levels beneath the current element. For " -"example, ``.//egg`` selects all ``egg`` elements in the entire tree." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:447 -msgid "``..``" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:447 -msgid "" -"Selects the parent element. Returns ``None`` if the path attempts to reach " -"the ancestors of the start element (the element ``find`` was called on)." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:451 -msgid "``[@attrib]``" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:451 -msgid "Selects all elements that have the given attribute." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:453 -msgid "``[@attrib='value']``" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:453 -msgid "" -"Selects all elements for which the given attribute has the given value. The" -" value cannot contain quotes." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:457 -msgid "``[@attrib!='value']``" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:457 -msgid "" -"Selects all elements for which the given attribute does not have the given " -"value. The value cannot contain quotes." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:463 -msgid "``[tag]``" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:463 -msgid "" -"Selects all elements that have a child named ``tag``. Only immediate " -"children are supported." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:466 -msgid "``[.='text']``" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:466 -msgid "" -"Selects all elements whose complete text content, including descendants, " -"equals the given ``text``." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:471 -msgid "``[.!='text']``" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:471 -msgid "" -"Selects all elements whose complete text content, including descendants, " -"does not equal the given ``text``." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:477 -msgid "``[tag='text']``" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:477 -msgid "" -"Selects all elements that have a child named ``tag`` whose complete text " -"content, including descendants, equals the given ``text``." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:481 -msgid "``[tag!='text']``" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:481 -msgid "" -"Selects all elements that have a child named ``tag`` whose complete text " -"content, including descendants, does not equal the given ``text``." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:487 -msgid "``[position]``" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:487 -msgid "" -"Selects all elements that are located at the given position. The position " -"can be either an integer (1 is the first position), the expression " -"``last()`` (for the last position), or a position relative to the last " -"position (e.g. ``last()-1``)." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:494 -msgid "" -"Predicates (expressions within square brackets) must be preceded by a tag " -"name, an asterisk, or another predicate. ``position`` predicates must be " -"preceded by a tag name." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:499 -#: ../../library/xml.etree.elementtree.rst:834 -msgid "Reference" -msgstr "Referensi" - -#: ../../library/xml.etree.elementtree.rst:504 -#: ../../library/xml.etree.elementtree.rst:839 -msgid "Functions" -msgstr "Fungsi-Fungsi" - -#: ../../library/xml.etree.elementtree.rst:508 -msgid "" -"`C14N 2.0 `_ transformation function." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:510 -msgid "" -"Canonicalization is a way to normalise XML output in a way that allows byte-" -"by-byte comparisons and digital signatures. It reduces the freedom that XML" -" serializers have and instead generates a more constrained XML " -"representation. The main restrictions regard the placement of namespace " -"declarations, the ordering of attributes, and ignorable whitespace." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:516 -msgid "" -"This function takes an XML data string (*xml_data*) or a file path or file-" -"like object (*from_file*) as input, converts it to the canonical form, and " -"writes it out using the *out* file(-like) object, if provided, or returns it" -" as a text string if not. The output file receives text, not bytes. It " -"should therefore be opened in text mode with ``utf-8`` encoding." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:523 -msgid "Typical uses::" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:525 -msgid "" -"xml_data = \"...\"\n" -"print(canonicalize(xml_data))\n" -"\n" -"with open(\"c14n_output.xml\", mode='w', encoding='utf-8') as out_file:\n" -" canonicalize(xml_data, out=out_file)\n" -"\n" -"with open(\"c14n_output.xml\", mode='w', encoding='utf-8') as out_file:\n" -" canonicalize(from_file=\"inputfile.xml\", out=out_file)" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:534 -msgid "The configuration *options* are as follows:" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:536 -msgid "*with_comments*: set to true to include comments (default: false)" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:537 -msgid "" -"*strip_text*: set to true to strip whitespace before and after text content" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:538 -#: ../../library/xml.etree.elementtree.rst:540 -msgid "(default: false)" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:539 -msgid "" -"*rewrite_prefixes*: set to true to replace namespace prefixes by " -"\"n{number}\"" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:541 -msgid "*qname_aware_tags*: a set of qname aware tag names in which prefixes" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:542 -#: ../../library/xml.etree.elementtree.rst:544 -msgid "should be replaced in text content (default: empty)" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:543 -msgid "" -"*qname_aware_attrs*: a set of qname aware attribute names in which prefixes" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:545 -msgid "" -"*exclude_attrs*: a set of attribute names that should not be serialised" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:546 -msgid "*exclude_tags*: a set of tag names that should not be serialised" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:548 -msgid "" -"In the option list above, \"a set\" refers to any collection or iterable of " -"strings, no ordering is expected." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:556 -msgid "" -"Comment element factory. This factory function creates a special element " -"that will be serialized as an XML comment by the standard serializer. The " -"comment string can be either a bytestring or a Unicode string. *text* is a " -"string containing the comment string. Returns an element instance " -"representing a comment." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:562 -msgid "" -"Note that :class:`XMLParser` skips over comments in the input instead of " -"creating comment objects for them. An :class:`ElementTree` will only contain" -" comment nodes if they have been inserted into to the tree using one of the " -":class:`Element` methods." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:569 -msgid "" -"Writes an element tree or element structure to sys.stdout. This function " -"should be used for debugging only." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:572 -msgid "" -"The exact output format is implementation dependent. In this version, it's " -"written as an ordinary XML file." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:575 -msgid "*elem* is an element tree or an individual element." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:577 -msgid "" -"The :func:`dump` function now preserves the attribute order specified by the" -" user." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:584 -msgid "" -"Parses an XML section from a string constant. Same as :func:`XML`. *text* " -"is a string containing XML data. *parser* is an optional parser instance. " -"If not given, the standard :class:`XMLParser` parser is used. Returns an " -":class:`Element` instance." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:592 -msgid "" -"Parses an XML document from a sequence of string fragments. *sequence* is a" -" list or other sequence containing XML data fragments. *parser* is an " -"optional parser instance. If not given, the standard :class:`XMLParser` " -"parser is used. Returns an :class:`Element` instance." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:602 -msgid "" -"Appends whitespace to the subtree to indent the tree visually. This can be " -"used to generate pretty-printed XML output. *tree* can be an Element or " -"ElementTree. *space* is the whitespace string that will be inserted for " -"each indentation level, two space characters by default. For indenting " -"partial subtrees inside of an already indented tree, pass the initial " -"indentation level as *level*." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:614 -msgid "" -"Check if an object appears to be a valid element object. *element* is an " -"element instance. Return ``True`` if this is an element object." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:620 -msgid "" -"Parses an XML section into an element tree incrementally, and reports what's" -" going on to the user. *source* is a filename or :term:`file object` " -"containing XML data. *events* is a sequence of events to report back. The " -"supported events are the strings ``\"start\"``, ``\"end\"``, " -"``\"comment\"``, ``\"pi\"``, ``\"start-ns\"`` and ``\"end-ns\"`` (the \"ns\"" -" events are used to get detailed namespace information). If *events* is " -"omitted, only ``\"end\"`` events are reported. *parser* is an optional " -"parser instance. If not given, the standard :class:`XMLParser` parser is " -"used. *parser* must be a subclass of :class:`XMLParser` and can only use " -"the default :class:`TreeBuilder` as a target. Returns an :term:`iterator` " -"providing ``(event, elem)`` pairs; it has a ``root`` attribute that " -"references the root element of the resulting XML tree once *source* is fully" -" read. The iterator has the :meth:`!close` method that closes the internal " -"file object if *source* is a filename." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:636 -msgid "" -"Note that while :func:`iterparse` builds the tree incrementally, it issues " -"blocking reads on *source* (or the file it names). As such, it's unsuitable" -" for applications where blocking reads can't be made. For fully non-" -"blocking parsing, see :class:`XMLPullParser`." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:643 -msgid "" -":func:`iterparse` only guarantees that it has seen the \">\" character of a " -"starting tag when it emits a \"start\" event, so the attributes are defined," -" but the contents of the text and tail attributes are undefined at that " -"point. The same applies to the element children; they may or may not be " -"present." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:649 -#: ../../library/xml.etree.elementtree.rst:1522 -msgid "If you need a fully populated element, look for \"end\" events instead." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:651 -msgid "The *parser* argument." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:654 -#: ../../library/xml.etree.elementtree.rst:1526 -msgid "The ``comment`` and ``pi`` events were added." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:657 -msgid "Added the :meth:`!close` method." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:663 -msgid "" -"Parses an XML section into an element tree. *source* is a filename or file " -"object containing XML data. *parser* is an optional parser instance. If " -"not given, the standard :class:`XMLParser` parser is used. Returns an " -":class:`ElementTree` instance." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:671 -msgid "" -"PI element factory. This factory function creates a special element that " -"will be serialized as an XML processing instruction. *target* is a string " -"containing the PI target. *text* is a string containing the PI contents, if" -" given. Returns an element instance, representing a processing instruction." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:676 -msgid "" -"Note that :class:`XMLParser` skips over processing instructions in the input" -" instead of creating PI objects for them. An :class:`ElementTree` will only " -"contain processing instruction nodes if they have been inserted into to the " -"tree using one of the :class:`Element` methods." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:684 -msgid "" -"Registers a namespace prefix. The registry is global, and any existing " -"mapping for either the given prefix or the namespace URI will be removed. " -"*prefix* is a namespace prefix. *uri* is a namespace uri. Tags and " -"attributes in this namespace will be serialized with the given prefix, if at" -" all possible." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:695 -msgid "" -"Subelement factory. This function creates an element instance, and appends " -"it to an existing element." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:698 -msgid "" -"The element name, attribute names, and attribute values can be either " -"bytestrings or Unicode strings. *parent* is the parent element. *tag* is " -"the subelement name. *attrib* is an optional dictionary, containing element" -" attributes. *extra* contains additional attributes, given as keyword " -"arguments. Returns an element instance." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:709 -msgid "" -"Generates a string representation of an XML element, including all " -"subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is" -" the output encoding (default is US-ASCII). Use ``encoding=\"unicode\"`` to" -" generate a Unicode string (otherwise, a bytestring is generated). *method*" -" is either ``\"xml\"``, ``\"html\"`` or ``\"text\"`` (default is " -"``\"xml\"``). *xml_declaration*, *default_namespace* and " -"*short_empty_elements* has the same meaning as in :meth:`ElementTree.write`." -" Returns an (optionally) encoded string containing the XML data." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:718 -#: ../../library/xml.etree.elementtree.rst:745 -#: ../../library/xml.etree.elementtree.rst:1199 -msgid "Added the *short_empty_elements* parameter." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:721 -#: ../../library/xml.etree.elementtree.rst:748 -msgid "Added the *xml_declaration* and *default_namespace* parameters." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:724 -msgid "" -"The :func:`tostring` function now preserves the attribute order specified by" -" the user." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:733 -msgid "" -"Generates a string representation of an XML element, including all " -"subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is" -" the output encoding (default is US-ASCII). Use ``encoding=\"unicode\"`` to" -" generate a Unicode string (otherwise, a bytestring is generated). *method*" -" is either ``\"xml\"``, ``\"html\"`` or ``\"text\"`` (default is " -"``\"xml\"``). *xml_declaration*, *default_namespace* and " -"*short_empty_elements* has the same meaning as in :meth:`ElementTree.write`." -" Returns a list of (optionally) encoded strings containing the XML data. It " -"does not guarantee any specific sequence, except that " -"``b\"\".join(tostringlist(element)) == tostring(element)``." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:751 -msgid "" -"The :func:`tostringlist` function now preserves the attribute order " -"specified by the user." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:758 -msgid "" -"Parses an XML section from a string constant. This function can be used to " -"embed \"XML literals\" in Python code. *text* is a string containing XML " -"data. *parser* is an optional parser instance. If not given, the standard " -":class:`XMLParser` parser is used. Returns an :class:`Element` instance." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:766 -msgid "" -"Parses an XML section from a string constant, and also returns a dictionary " -"which maps from element id:s to elements. *text* is a string containing XML" -" data. *parser* is an optional parser instance. If not given, the standard" -" :class:`XMLParser` parser is used. Returns a tuple containing an " -":class:`Element` instance and a dictionary." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:776 -msgid "XInclude support" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:778 -msgid "" -"This module provides limited support for `XInclude directives " -"`_, via the :mod:`xml.etree.ElementInclude`" -" helper module. This module can be used to insert subtrees and text strings" -" into element trees, based on information in the tree." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:784 -msgid "" -"Here's an example that demonstrates use of the XInclude module. To include " -"an XML document in the current document, use the " -"``{http://www.w3.org/2001/XInclude}include`` element and set the **parse** " -"attribute to ``\"xml\"``, and use the **href** attribute to specify the " -"document to include." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:786 -msgid "" -"\n" -"\n" -" \n" -"" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:793 -msgid "" -"By default, the **href** attribute is treated as a file name. You can use " -"custom loaders to override this behaviour. Also note that the standard " -"helper does not support XPointer syntax." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:795 -msgid "" -"To process this file, load it as usual, and pass the root element to the " -":mod:`xml.etree.ElementTree` module:" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:797 -msgid "" -"from xml.etree import ElementTree, ElementInclude\n" -"\n" -"tree = ElementTree.parse(\"document.xml\")\n" -"root = tree.getroot()\n" -"\n" -"ElementInclude.include(root)" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:806 -msgid "" -"The ElementInclude module replaces the " -"``{http://www.w3.org/2001/XInclude}include`` element with the root element " -"from the **source.xml** document. The result might look something like this:" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:808 -msgid "" -"\n" -" This is a paragraph.\n" -"" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:814 -msgid "" -"If the **parse** attribute is omitted, it defaults to \"xml\". The href " -"attribute is required." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:816 -msgid "" -"To include a text document, use the " -"``{http://www.w3.org/2001/XInclude}include`` element, and set the **parse** " -"attribute to \"text\":" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:818 -msgid "" -"\n" -"\n" -" Copyright (c) .\n" -"" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:825 -msgid "The result might look something like:" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:827 -msgid "" -"\n" -" Copyright (c) 2003.\n" -"" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:845 -msgid "" -"Default loader. This default loader reads an included resource from disk. " -"*href* is a URL. *parse* is for parse mode either \"xml\" or \"text\". " -"*encoding* is an optional text encoding. If not given, encoding is " -"``utf-8``. Returns the expanded resource. If the parse mode is ``\"xml\"``, " -"this is an :class:`~xml.etree.ElementTree.Element` instance. If the parse " -"mode is ``\"text\"``, this is a string. If the loader fails, it can return " -"``None`` or raise an exception." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:856 -msgid "" -"This function expands XInclude directives in-place in tree pointed by " -"*elem*. *elem* is either the root :class:`~xml.etree.ElementTree.Element` or" -" an :class:`~xml.etree.ElementTree.ElementTree` instance to find such " -"element. *loader* is an optional resource loader. If omitted, it defaults " -"to :func:`default_loader`. If given, it should be a callable that implements" -" the same interface as :func:`default_loader`. *base_url* is base URL of " -"the original file, to resolve relative include file references. *max_depth*" -" is the maximum number of recursive inclusions. Limited to reduce the risk " -"of malicious content explosion. Pass ``None`` to disable the limitation." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:866 -msgid "Added the *base_url* and *max_depth* parameters." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:873 -msgid "Element Objects" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:881 -msgid "" -"Element class. This class defines the Element interface, and provides a " -"reference implementation of this interface." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:884 -msgid "" -"The element name, attribute names, and attribute values can be either " -"bytestrings or Unicode strings. *tag* is the element name. *attrib* is an " -"optional dictionary, containing element attributes. *extra* contains " -"additional attributes, given as keyword arguments." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:892 -msgid "" -"A string identifying what kind of data this element represents (the element " -"type, in other words)." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:899 -msgid "" -"These attributes can be used to hold additional data associated with the " -"element. Their values are usually strings but may be any application-" -"specific object. If the element is created from an XML file, the *text* " -"attribute holds either the text between the element's start tag and its " -"first child or end tag, or ``None``, and the *tail* attribute holds either " -"the text between the element's end tag and the next tag, or ``None``. For " -"the XML data" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:907 -msgid "1234" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:911 -msgid "" -"the *a* element has ``None`` for both *text* and *tail* attributes, the *b* " -"element has *text* ``\"1\"`` and *tail* ``\"4\"``, the *c* element has " -"*text* ``\"2\"`` and *tail* ``None``, and the *d* element has *text* " -"``None`` and *tail* ``\"3\"``." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:916 -msgid "" -"To collect the inner text of an element, see :meth:`itertext`, for example " -"``\"\".join(element.itertext())``." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:919 -msgid "Applications may store arbitrary objects in these attributes." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:924 -msgid "" -"A dictionary containing the element's attributes. Note that while the " -"*attrib* value is always a real mutable Python dictionary, an ElementTree " -"implementation may choose to use another internal representation, and create" -" the dictionary only if someone asks for it. To take advantage of such " -"implementations, use the dictionary methods below whenever possible." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:930 -msgid "The following dictionary-like methods work on the element attributes." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:935 -msgid "" -"Resets an element. This function removes all subelements, clears all " -"attributes, and sets the text and tail attributes to ``None``." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:941 -msgid "Gets the element attribute named *key*." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:943 -msgid "" -"Returns the attribute value, or *default* if the attribute was not found." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:948 -msgid "" -"Returns the element attributes as a sequence of (name, value) pairs. The " -"attributes are returned in an arbitrary order." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:954 -msgid "" -"Returns the elements attribute names as a list. The names are returned in " -"an arbitrary order." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:960 -msgid "Set the attribute *key* on the element to *value*." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:962 -msgid "The following methods work on the element's children (subelements)." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:967 -msgid "" -"Adds the element *subelement* to the end of this element's internal list of " -"subelements. Raises :exc:`TypeError` if *subelement* is not an " -":class:`Element`." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:974 -msgid "" -"Appends *subelements* from an iterable of elements. Raises :exc:`TypeError` " -"if a subelement is not an :class:`Element`." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:982 -msgid "" -"Finds the first subelement matching *match*. *match* may be a tag name or a" -" :ref:`path `. Returns an element instance or ``None``." -" *namespaces* is an optional mapping from namespace prefix to full name. " -"Pass ``''`` as prefix to move all unprefixed tag names in the expression " -"into the given namespace." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:991 -msgid "" -"Finds all matching subelements, by tag name or :ref:`path `. Returns a list containing all matching elements in document order." -" *namespaces* is an optional mapping from namespace prefix to full name. " -"Pass ``''`` as prefix to move all unprefixed tag names in the expression " -"into the given namespace." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1000 -msgid "" -"Finds text for the first subelement matching *match*. *match* may be a tag " -"name or a :ref:`path `. Returns the text content of the " -"first matching element, or *default* if no element was found. Note that if " -"the matching element has no text content an empty string is returned. " -"*namespaces* is an optional mapping from namespace prefix to full name. " -"Pass ``''`` as prefix to move all unprefixed tag names in the expression " -"into the given namespace." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1011 -msgid "" -"Inserts *subelement* at the given position in this element. Raises " -":exc:`TypeError` if *subelement* is not an :class:`Element`." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1017 -msgid "" -"Creates a tree :term:`iterator` with the current element as the root. The " -"iterator iterates over this element and all elements below it, in document " -"(depth first) order. If *tag* is not ``None`` or ``'*'``, only elements " -"whose tag equals *tag* are returned from the iterator. If the tree " -"structure is modified during iteration, the result is undefined." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1028 -msgid "" -"Finds all matching subelements, by tag name or :ref:`path `. Returns an iterable yielding all matching elements in document " -"order. *namespaces* is an optional mapping from namespace prefix to full " -"name." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1039 -msgid "" -"Creates a text iterator. The iterator loops over this element and all " -"subelements, in document order, and returns all inner text." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1047 -msgid "" -"Creates a new element object of the same type as this element. Do not call " -"this method, use the :func:`SubElement` factory function instead." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1053 -msgid "" -"Removes *subelement* from the element. Unlike the find\\* methods this " -"method compares elements based on the instance identity, not on tag value or" -" contents." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1057 -msgid "" -":class:`Element` objects also support the following sequence type methods " -"for working with subelements: :meth:`~object.__delitem__`, " -":meth:`~object.__getitem__`, :meth:`~object.__setitem__`, " -":meth:`~object.__len__`." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1062 -msgid "" -"Caution: Elements with no subelements will test as ``False``. In a future " -"release of Python, all elements will test as ``True`` regardless of whether " -"subelements exist. Instead, prefer explicit ``len(elem)`` or ``elem is not " -"None`` tests.::" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1067 -msgid "" -"element = root.find('foo')\n" -"\n" -"if not element: # careful!\n" -" print(\"element not found, or element has no subelements\")\n" -"\n" -"if element is None:\n" -" print(\"element not found\")" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1075 -msgid "Testing the truth value of an Element emits :exc:`DeprecationWarning`." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1078 -msgid "" -"Prior to Python 3.8, the serialisation order of the XML attributes of " -"elements was artificially made predictable by sorting the attributes by " -"their name. Based on the now guaranteed ordering of dicts, this arbitrary " -"reordering was removed in Python 3.8 to preserve the order in which " -"attributes were originally parsed or created by user code." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1084 -msgid "" -"In general, user code should try not to depend on a specific ordering of " -"attributes, given that the `XML Information Set `_ explicitly excludes the attribute order from conveying " -"information. Code should be prepared to deal with any ordering on input. In " -"cases where deterministic XML output is required, e.g. for cryptographic " -"signing or test data sets, canonical serialisation is available with the " -":func:`canonicalize` function." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1092 -msgid "" -"In cases where canonical output is not applicable but a specific attribute " -"order is still desirable on output, code should aim for creating the " -"attributes directly in the desired order, to avoid perceptual mismatches for" -" readers of the code. In cases where this is difficult to achieve, a recipe " -"like the following can be applied prior to serialisation to enforce an order" -" independently from the Element creation::" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1099 -msgid "" -"def reorder_attributes(root):\n" -" for el in root.iter():\n" -" attrib = el.attrib\n" -" if len(attrib) > 1:\n" -" # adjust attribute order, e.g. by sorting\n" -" attribs = sorted(attrib.items())\n" -" attrib.clear()\n" -" attrib.update(attribs)" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1112 -msgid "ElementTree Objects" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1117 -msgid "" -"ElementTree wrapper class. This class represents an entire element " -"hierarchy, and adds some extra support for serialization to and from " -"standard XML." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1121 -msgid "" -"*element* is the root element. The tree is initialized with the contents of" -" the XML *file* if given." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1127 -msgid "" -"Replaces the root element for this tree. This discards the current contents" -" of the tree, and replaces it with the given element. Use with care. " -"*element* is an element instance." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1134 -msgid "Same as :meth:`Element.find`, starting at the root of the tree." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1139 -msgid "Same as :meth:`Element.findall`, starting at the root of the tree." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1144 -msgid "Same as :meth:`Element.findtext`, starting at the root of the tree." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1149 -msgid "Returns the root element for this tree." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1154 -msgid "" -"Creates and returns a tree iterator for the root element. The iterator " -"loops over all elements in this tree, in section order. *tag* is the tag to" -" look for (default is to return all elements)." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1161 -msgid "Same as :meth:`Element.iterfind`, starting at the root of the tree." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1168 -msgid "" -"Loads an external XML section into this element tree. *source* is a file " -"name or :term:`file object`. *parser* is an optional parser instance. If " -"not given, the standard :class:`XMLParser` parser is used. Returns the " -"section root element." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1178 -msgid "" -"Writes the element tree to a file, as XML. *file* is a file name, or a " -":term:`file object` opened for writing. *encoding* [1]_ is the output " -"encoding (default is US-ASCII). *xml_declaration* controls if an XML " -"declaration should be added to the file. Use ``False`` for never, ``True`` " -"for always, ``None`` for only if not US-ASCII or UTF-8 or Unicode (default " -"is ``None``). *default_namespace* sets the default XML namespace (for " -"\"xmlns\"). *method* is either ``\"xml\"``, ``\"html\"`` or ``\"text\"`` " -"(default is ``\"xml\"``). The keyword-only *short_empty_elements* parameter " -"controls the formatting of elements that contain no content. If ``True`` " -"(the default), they are emitted as a single self-closed tag, otherwise they " -"are emitted as a pair of start/end tags." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1192 -msgid "" -"The output is either a string (:class:`str`) or binary (:class:`bytes`). " -"This is controlled by the *encoding* argument. If *encoding* is " -"``\"unicode\"``, the output is a string; otherwise, it's binary. Note that " -"this may conflict with the type of *file* if it's an open :term:`file " -"object`; make sure you do not try to write a string to a binary stream and " -"vice versa." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1202 -msgid "" -"The :meth:`write` method now preserves the attribute order specified by the " -"user." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1207 -msgid "This is the XML file that is going to be manipulated::" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1209 -msgid "" -"\n" -" \n" -" Example page\n" -" \n" -" \n" -"

Moved to example.org\n" -" or example.com.

\n" -" \n" -"" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1219 -msgid "" -"Example of changing the attribute \"target\" of every link in first " -"paragraph::" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1221 -msgid "" -">>> from xml.etree.ElementTree import ElementTree\n" -">>> tree = ElementTree()\n" -">>> tree.parse(\"index.xhtml\")\n" -"\n" -">>> p = tree.find(\"body/p\") # Finds first occurrence of tag p in body\n" -">>> p\n" -"\n" -">>> links = list(p.iter(\"a\")) # Returns list of all links\n" -">>> links\n" -"[, ]\n" -">>> for i in links: # Iterates through all found links\n" -"... i.attrib[\"target\"] = \"blank\"\n" -"...\n" -">>> tree.write(\"output.xhtml\")" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1239 -msgid "QName Objects" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1244 -msgid "" -"QName wrapper. This can be used to wrap a QName attribute value, in order " -"to get proper namespace handling on output. *text_or_uri* is a string " -"containing the QName value, in the form {uri}local, or, if the tag argument " -"is given, the URI part of a QName. If *tag* is given, the first argument is" -" interpreted as a URI, and this argument is interpreted as a local name. " -":class:`QName` instances are opaque." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1256 -msgid "TreeBuilder Objects" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1262 -msgid "" -"Generic element structure builder. This builder converts a sequence of " -"start, data, end, comment and pi method calls to a well-formed element " -"structure. You can use this class to build an element structure using a " -"custom XML parser, or a parser for some other XML-like format." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1267 -msgid "" -"*element_factory*, when given, must be a callable accepting two positional " -"arguments: a tag and a dict of attributes. It is expected to return a new " -"element instance." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1271 -msgid "" -"The *comment_factory* and *pi_factory* functions, when given, should behave " -"like the :func:`Comment` and :func:`ProcessingInstruction` functions to " -"create comments and processing instructions. When not given, the default " -"factories will be used. When *insert_comments* and/or *insert_pis* is true," -" comments/pis will be inserted into the tree if they appear within the root " -"element (but not outside of it)." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1280 -msgid "" -"Flushes the builder buffers, and returns the toplevel document element. " -"Returns an :class:`Element` instance." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1286 -msgid "" -"Adds text to the current element. *data* is a string. This should be " -"either a bytestring, or a Unicode string." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1292 -msgid "" -"Closes the current element. *tag* is the element name. Returns the closed " -"element." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1298 -msgid "" -"Opens a new element. *tag* is the element name. *attrs* is a dictionary " -"containing element attributes. Returns the opened element." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1304 -msgid "" -"Creates a comment with the given *text*. If ``insert_comments`` is true, " -"this will also add it to the tree." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1312 -msgid "" -"Creates a process instruction with the given *target* name and *text*. If " -"``insert_pis`` is true, this will also add it to the tree." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1318 -msgid "" -"In addition, a custom :class:`TreeBuilder` object can provide the following " -"methods:" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1323 -msgid "" -"Handles a doctype declaration. *name* is the doctype name. *pubid* is the " -"public identifier. *system* is the system identifier. This method does not" -" exist on the default :class:`TreeBuilder` class." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1331 -msgid "" -"Is called whenever the parser encounters a new namespace declaration, before" -" the ``start()`` callback for the opening element that defines it. *prefix* " -"is ``''`` for the default namespace and the declared namespace prefix name " -"otherwise. *uri* is the namespace URI." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1340 -msgid "" -"Is called after the ``end()`` callback of an element that declared a " -"namespace prefix mapping, with the name of the *prefix* that went out of " -"scope." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1352 -msgid "" -"A `C14N 2.0 `_ writer. Arguments are the " -"same as for the :func:`canonicalize` function. This class does not build a " -"tree but translates the callback events directly into a serialised form " -"using the *write* function." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1363 -msgid "XMLParser Objects" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1368 -msgid "" -"This class is the low-level building block of the module. It uses " -":mod:`xml.parsers.expat` for efficient, event-based parsing of XML. It can " -"be fed XML data incrementally with the :meth:`feed` method, and parsing " -"events are translated to a push API - by invoking callbacks on the *target* " -"object. If *target* is omitted, the standard :class:`TreeBuilder` is used. " -"If *encoding* [1]_ is given, the value overrides the encoding specified in " -"the XML file." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1376 -msgid "" -"Parameters are now :ref:`keyword-only `. The *html* " -"argument is no longer supported." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1383 -msgid "" -"Finishes feeding data to the parser. Returns the result of calling the " -"``close()`` method of the *target* passed during construction; by default, " -"this is the toplevel document element." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1390 -msgid "Feeds data to the parser. *data* is encoded data." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1395 -#: ../../library/xml.etree.elementtree.rst:1473 -msgid "" -"Triggers parsing of any previously fed unparsed data, which can be used to " -"ensure more immediate feedback, in particular with Expat >=2.6.0. The " -"implementation of :meth:`flush` temporarily disables reparse deferral with " -"Expat (if currently enabled) and triggers a reparse. Disabling reparse " -"deferral has security consequences; please see " -":meth:`xml.parsers.expat.xmlparser.SetReparseDeferralEnabled` for details." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1402 -#: ../../library/xml.etree.elementtree.rst:1480 -msgid "" -"Note that :meth:`flush` has been backported to some prior releases of " -"CPython as a security fix. Check for availability of :meth:`flush` using " -":func:`hasattr` if used in code running across a variety of Python versions." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1410 -msgid "" -":meth:`XMLParser.feed` calls *target*\\'s ``start(tag, attrs_dict)`` method " -"for each opening tag, its ``end(tag)`` method for each closing tag, and data" -" is processed by method ``data(data)``. For further supported callback " -"methods, see the :class:`TreeBuilder` class. :meth:`XMLParser.close` calls " -"*target*\\'s method ``close()``. :class:`XMLParser` can be used not only for" -" building a tree structure. This is an example of counting the maximum depth" -" of an XML file::" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1418 -msgid "" -">>> from xml.etree.ElementTree import XMLParser\n" -">>> class MaxDepth: # The target object of the parser\n" -"... maxDepth = 0\n" -"... depth = 0\n" -"... def start(self, tag, attrib): # Called for each opening tag.\n" -"... self.depth += 1\n" -"... if self.depth > self.maxDepth:\n" -"... self.maxDepth = self.depth\n" -"... def end(self, tag): # Called for each closing tag.\n" -"... self.depth -= 1\n" -"... def data(self, data):\n" -"... pass # We do not need to do anything with data.\n" -"... def close(self): # Called when all data has been parsed.\n" -"... return self.maxDepth\n" -"...\n" -">>> target = MaxDepth()\n" -">>> parser = XMLParser(target=target)\n" -">>> exampleXml = \"\"\"\n" -"... \n" -"... \n" -"... \n" -"... \n" -"... \n" -"... \n" -"... \n" -"... \n" -"... \n" -"... \"\"\"\n" -">>> parser.feed(exampleXml)\n" -">>> parser.close()\n" -"4" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1454 -msgid "XMLPullParser Objects" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1458 -msgid "" -"A pull parser suitable for non-blocking applications. Its input-side API is" -" similar to that of :class:`XMLParser`, but instead of pushing calls to a " -"callback target, :class:`XMLPullParser` collects an internal list of parsing" -" events and lets the user read from it. *events* is a sequence of events to " -"report back. The supported events are the strings ``\"start\"``, " -"``\"end\"``, ``\"comment\"``, ``\"pi\"``, ``\"start-ns\"`` and ``\"end-" -"ns\"`` (the \"ns\" events are used to get detailed namespace information). " -"If *events* is omitted, only ``\"end\"`` events are reported." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1469 -msgid "Feed the given bytes data to the parser." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1489 -msgid "" -"Signal the parser that the data stream is terminated. Unlike " -":meth:`XMLParser.close`, this method always returns :const:`None`. Any " -"events not yet retrieved when the parser is closed can still be read with " -":meth:`read_events`." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1496 -msgid "" -"Return an iterator over the events which have been encountered in the data " -"fed to the parser. The iterator yields ``(event, elem)`` pairs, where " -"*event* is a string representing the type of event (e.g. ``\"end\"``) and " -"*elem* is the encountered :class:`Element` object, or other context value as" -" follows." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1502 -msgid "``start``, ``end``: the current Element." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1503 -msgid "``comment``, ``pi``: the current comment / processing instruction" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1504 -msgid "" -"``start-ns``: a tuple ``(prefix, uri)`` naming the declared namespace " -"mapping." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1506 -msgid "``end-ns``: :const:`None` (this may change in a future version)" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1508 -msgid "" -"Events provided in a previous call to :meth:`read_events` will not be " -"yielded again. Events are consumed from the internal queue only when they " -"are retrieved from the iterator, so multiple readers iterating in parallel " -"over iterators obtained from :meth:`read_events` will have unpredictable " -"results." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1516 -msgid "" -":class:`XMLPullParser` only guarantees that it has seen the \">\" character " -"of a starting tag when it emits a \"start\" event, so the attributes are " -"defined, but the contents of the text and tail attributes are undefined at " -"that point. The same applies to the element children; they may or may not " -"be present." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1531 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../library/xml.etree.elementtree.rst:1535 -msgid "" -"XML parse error, raised by the various parsing methods in this module when " -"parsing fails. The string representation of an instance of this exception " -"will contain a user-friendly error message. In addition, it will have the " -"following attributes available:" -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1542 -msgid "" -"A numeric error code from the expat parser. See the documentation of " -":mod:`xml.parsers.expat` for the list of error codes and their meanings." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1547 -msgid "" -"A tuple of *line*, *column* numbers, specifying where the error occurred." -msgstr "" - -#: ../../library/xml.etree.elementtree.rst:1550 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/xml.etree.elementtree.rst:1551 -msgid "" -"The encoding string included in XML output should conform to the appropriate" -" standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not. See " -"https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl and " -"https://www.iana.org/assignments/character-sets/character-sets.xhtml." -msgstr "" diff --git a/python-newest.library--xml_sax/id.po b/python-newest.library--xml_sax/id.po deleted file mode 100644 index 91fdbd7..0000000 --- a/python-newest.library--xml_sax/id.po +++ /dev/null @@ -1,229 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/xml.sax.rst:2 -msgid ":mod:`!xml.sax` --- Support for SAX2 parsers" -msgstr "" - -#: ../../library/xml.sax.rst:11 -msgid "**Source code:** :source:`Lib/xml/sax/__init__.py`" -msgstr "" - -#: ../../library/xml.sax.rst:15 -msgid "" -"The :mod:`xml.sax` package provides a number of modules which implement the " -"Simple API for XML (SAX) interface for Python. The package itself provides " -"the SAX exceptions and the convenience functions which will be most used by " -"users of the SAX API." -msgstr "" - -#: ../../library/xml.sax.rst:23 -msgid "" -"The :mod:`xml.sax` module is not secure against maliciously constructed " -"data. If you need to parse untrusted or unauthenticated data see :ref:`xml-" -"vulnerabilities`." -msgstr "" - -#: ../../library/xml.sax.rst:29 -msgid "" -"The SAX parser no longer processes general external entities by default to " -"increase security. Before, the parser created network connections to fetch " -"remote files or loaded local files from the file system for DTD and " -"entities. The feature can be enabled again with method " -":meth:`~xml.sax.xmlreader.XMLReader.setFeature` on the parser object and " -"argument :data:`~xml.sax.handler.feature_external_ges`." -msgstr "" - -#: ../../library/xml.sax.rst:36 -msgid "The convenience functions are:" -msgstr "" - -#: ../../library/xml.sax.rst:41 -msgid "" -"Create and return a SAX :class:`~xml.sax.xmlreader.XMLReader` object. The " -"first parser found will be used. If *parser_list* is provided, it must be " -"an iterable of strings which name modules that have a function named " -":func:`create_parser`. Modules listed in *parser_list* will be used before " -"modules in the default list of parsers." -msgstr "" - -#: ../../library/xml.sax.rst:47 -msgid "The *parser_list* argument can be any iterable, not just a list." -msgstr "" - -#: ../../library/xml.sax.rst:53 -msgid "" -"Create a SAX parser and use it to parse a document. The document, passed in" -" as *filename_or_stream*, can be a filename or a file object. The *handler*" -" parameter needs to be a SAX :class:`~handler.ContentHandler` instance. If " -"*error_handler* is given, it must be a SAX :class:`~handler.ErrorHandler` " -"instance; if omitted, :exc:`SAXParseException` will be raised on all " -"errors. There is no return value; all work must be done by the *handler* " -"passed in." -msgstr "" - -#: ../../library/xml.sax.rst:64 -msgid "" -"Similar to :func:`parse`, but parses from a buffer *string* received as a " -"parameter. *string* must be a :class:`str` instance or a :term:`bytes-like " -"object`." -msgstr "" - -#: ../../library/xml.sax.rst:68 -msgid "Added support of :class:`str` instances." -msgstr "" - -#: ../../library/xml.sax.rst:71 -msgid "" -"A typical SAX application uses three kinds of objects: readers, handlers and" -" input sources. \"Reader\" in this context is another term for parser, i.e." -" some piece of code that reads the bytes or characters from the input " -"source, and produces a sequence of events. The events then get distributed " -"to the handler objects, i.e. the reader invokes a method on the handler. A " -"SAX application must therefore obtain a reader object, create or open the " -"input sources, create the handlers, and connect these objects all together." -" As the final step of preparation, the reader is called to parse the input." -" During parsing, methods on the handler objects are called based on " -"structural and syntactic events from the input data." -msgstr "" - -#: ../../library/xml.sax.rst:82 -msgid "" -"For these objects, only the interfaces are relevant; they are normally not " -"instantiated by the application itself. Since Python does not have an " -"explicit notion of interface, they are formally introduced as classes, but " -"applications may use implementations which do not inherit from the provided " -"classes. The :class:`~xml.sax.xmlreader.InputSource`, " -":class:`~xml.sax.xmlreader.Locator`, :class:`~xml.sax.xmlreader.Attributes`," -" :class:`~xml.sax.xmlreader.AttributesNS`, and " -":class:`~xml.sax.xmlreader.XMLReader` interfaces are defined in the module " -":mod:`xml.sax.xmlreader`. The handler interfaces are defined in " -":mod:`xml.sax.handler`. For convenience, " -":class:`~xml.sax.xmlreader.InputSource` (which is often instantiated " -"directly) and the handler classes are also available from :mod:`xml.sax`. " -"These interfaces are described below." -msgstr "" - -#: ../../library/xml.sax.rst:95 -msgid "" -"In addition to these classes, :mod:`xml.sax` provides the following " -"exception classes." -msgstr "" - -#: ../../library/xml.sax.rst:101 -msgid "" -"Encapsulate an XML error or warning. This class can contain basic error or " -"warning information from either the XML parser or the application: it can be" -" subclassed to provide additional functionality or to add localization. " -"Note that although the handlers defined in the " -":class:`~xml.sax.handler.ErrorHandler` interface receive instances of this " -"exception, it is not required to actually raise the exception --- it is also" -" useful as a container for information." -msgstr "" - -#: ../../library/xml.sax.rst:109 -msgid "" -"When instantiated, *msg* should be a human-readable description of the " -"error. The optional *exception* parameter, if given, should be ``None`` or " -"an exception that was caught by the parsing code and is being passed along " -"as information." -msgstr "" - -#: ../../library/xml.sax.rst:113 -msgid "This is the base class for the other SAX exception classes." -msgstr "" - -#: ../../library/xml.sax.rst:118 -msgid "" -"Subclass of :exc:`SAXException` raised on parse errors. Instances of this " -"class are passed to the methods of the SAX " -":class:`~xml.sax.handler.ErrorHandler` interface to provide information " -"about the parse error. This class supports the SAX " -":class:`~xml.sax.xmlreader.Locator` interface as well as the " -":class:`SAXException` interface." -msgstr "" - -#: ../../library/xml.sax.rst:128 -msgid "" -"Subclass of :exc:`SAXException` raised when a SAX " -":class:`~xml.sax.xmlreader.XMLReader` is confronted with an unrecognized " -"feature or property. SAX applications and extensions may use this class for" -" similar purposes." -msgstr "" - -#: ../../library/xml.sax.rst:136 -msgid "" -"Subclass of :exc:`SAXException` raised when a SAX " -":class:`~xml.sax.xmlreader.XMLReader` is asked to enable a feature that is " -"not supported, or to set a property to a value that the implementation does " -"not support. SAX applications and extensions may use this class for similar" -" purposes." -msgstr "" - -#: ../../library/xml.sax.rst:145 -msgid "`SAX: The Simple API for XML `_" -msgstr "" - -#: ../../library/xml.sax.rst:146 -msgid "" -"This site is the focal point for the definition of the SAX API. It provides" -" a Java implementation and online documentation. Links to implementations " -"and historical information are also available." -msgstr "" - -#: ../../library/xml.sax.rst:150 -msgid "Module :mod:`xml.sax.handler`" -msgstr "" - -#: ../../library/xml.sax.rst:151 -msgid "Definitions of the interfaces for application-provided objects." -msgstr "" - -#: ../../library/xml.sax.rst:153 -msgid "Module :mod:`xml.sax.saxutils`" -msgstr "" - -#: ../../library/xml.sax.rst:154 -msgid "Convenience functions for use in SAX applications." -msgstr "" - -#: ../../library/xml.sax.rst:156 -msgid "Module :mod:`xml.sax.xmlreader`" -msgstr "" - -#: ../../library/xml.sax.rst:157 -msgid "Definitions of the interfaces for parser-provided objects." -msgstr "" - -#: ../../library/xml.sax.rst:163 -msgid "SAXException Objects" -msgstr "" - -#: ../../library/xml.sax.rst:165 -msgid "" -"The :class:`SAXException` exception class supports the following methods:" -msgstr "" - -#: ../../library/xml.sax.rst:170 -msgid "Return a human-readable message describing the error condition." -msgstr "" - -#: ../../library/xml.sax.rst:175 -msgid "Return an encapsulated exception object, or ``None``." -msgstr "" diff --git a/python-newest.library--xml_sax_handler/id.po b/python-newest.library--xml_sax_handler/id.po deleted file mode 100644 index 57aad5a..0000000 --- a/python-newest.library--xml_sax_handler/id.po +++ /dev/null @@ -1,610 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/xml.sax.handler.rst:2 -msgid ":mod:`!xml.sax.handler` --- Base classes for SAX handlers" -msgstr "" - -#: ../../library/xml.sax.handler.rst:10 -msgid "**Source code:** :source:`Lib/xml/sax/handler.py`" -msgstr "" - -#: ../../library/xml.sax.handler.rst:14 -msgid "" -"The SAX API defines five kinds of handlers: content handlers, DTD handlers, " -"error handlers, entity resolvers and lexical handlers. Applications normally" -" only need to implement those interfaces whose events they are interested " -"in; they can implement the interfaces in a single object or in multiple " -"objects. Handler implementations should inherit from the base classes " -"provided in the module :mod:`xml.sax.handler`, so that all methods get " -"default implementations." -msgstr "" - -#: ../../library/xml.sax.handler.rst:24 -msgid "" -"This is the main callback interface in SAX, and the one most important to " -"applications. The order of events in this interface mirrors the order of the" -" information in the document." -msgstr "" - -#: ../../library/xml.sax.handler.rst:31 -msgid "Handle DTD events." -msgstr "" - -#: ../../library/xml.sax.handler.rst:33 -msgid "" -"This interface specifies only those DTD events required for basic parsing " -"(unparsed entities and attributes)." -msgstr "" - -#: ../../library/xml.sax.handler.rst:39 -msgid "" -"Basic interface for resolving entities. If you create an object implementing" -" this interface, then register the object with your Parser, the parser will " -"call the method in your object to resolve all external entities." -msgstr "" - -#: ../../library/xml.sax.handler.rst:46 -msgid "" -"Interface used by the parser to present error and warning messages to the " -"application. The methods of this object control whether errors are " -"immediately converted to exceptions or are handled in some other way." -msgstr "" - -#: ../../library/xml.sax.handler.rst:53 -msgid "" -"Interface used by the parser to represent low frequency events which may not" -" be of interest to many applications." -msgstr "" - -#: ../../library/xml.sax.handler.rst:56 -msgid "" -"In addition to these classes, :mod:`xml.sax.handler` provides symbolic " -"constants for the feature and property names." -msgstr "" - -#: ../../library/xml.sax.handler.rst:62 -msgid "value: ``\"http://xml.org/sax/features/namespaces\"``" -msgstr "" - -#: ../../library/xml.sax.handler.rst:63 -msgid "true: Perform Namespace processing." -msgstr "" - -#: ../../library/xml.sax.handler.rst:65 -msgid "" -"false: Optionally do not perform Namespace processing (implies namespace-" -"prefixes; default)." -msgstr "" - -#: ../../library/xml.sax.handler.rst:66 ../../library/xml.sax.handler.rst:76 -#: ../../library/xml.sax.handler.rst:85 ../../library/xml.sax.handler.rst:94 -#: ../../library/xml.sax.handler.rst:102 ../../library/xml.sax.handler.rst:112 -#: ../../library/xml.sax.handler.rst:144 -msgid "access: (parsing) read-only; (not parsing) read/write" -msgstr "" - -#: ../../library/xml.sax.handler.rst:71 -msgid "value: ``\"http://xml.org/sax/features/namespace-prefixes\"``" -msgstr "" - -#: ../../library/xml.sax.handler.rst:73 -msgid "" -"true: Report the original prefixed names and attributes used for Namespace " -"declarations." -msgstr "" - -#: ../../library/xml.sax.handler.rst:75 -msgid "" -"false: Do not report attributes used for Namespace declarations, and " -"optionally do not report original prefixed names (default)." -msgstr "" - -#: ../../library/xml.sax.handler.rst:81 -msgid "value: ``\"http://xml.org/sax/features/string-interning\"``" -msgstr "" - -#: ../../library/xml.sax.handler.rst:83 -msgid "" -"true: All element names, prefixes, attribute names, Namespace URIs, and " -"local names are interned using the built-in intern function." -msgstr "" - -#: ../../library/xml.sax.handler.rst:84 -msgid "" -"false: Names are not necessarily interned, although they may be (default)." -msgstr "" - -#: ../../library/xml.sax.handler.rst:90 -msgid "value: ``\"http://xml.org/sax/features/validation\"``" -msgstr "" - -#: ../../library/xml.sax.handler.rst:92 -msgid "" -"true: Report all validation errors (implies external-general-entities and " -"external-parameter-entities)." -msgstr "" - -#: ../../library/xml.sax.handler.rst:93 -msgid "false: Do not report validation errors." -msgstr "" - -#: ../../library/xml.sax.handler.rst:99 -msgid "value: ``\"http://xml.org/sax/features/external-general-entities\"``" -msgstr "" - -#: ../../library/xml.sax.handler.rst:100 -msgid "true: Include all external general (text) entities." -msgstr "" - -#: ../../library/xml.sax.handler.rst:101 -msgid "false: Do not include external general entities." -msgstr "" - -#: ../../library/xml.sax.handler.rst:107 -msgid "value: ``\"http://xml.org/sax/features/external-parameter-entities\"``" -msgstr "" - -#: ../../library/xml.sax.handler.rst:109 -msgid "" -"true: Include all external parameter entities, including the external DTD " -"subset." -msgstr "" - -#: ../../library/xml.sax.handler.rst:111 -msgid "" -"false: Do not include any external parameter entities, even the external DTD" -" subset." -msgstr "" - -#: ../../library/xml.sax.handler.rst:117 -msgid "List of all features." -msgstr "" - -#: ../../library/xml.sax.handler.rst:122 -msgid "value: ``\"http://xml.org/sax/properties/lexical-handler\"``" -msgstr "" - -#: ../../library/xml.sax.handler.rst:123 -msgid "data type: xml.sax.handler.LexicalHandler (not supported in Python 2)" -msgstr "" - -#: ../../library/xml.sax.handler.rst:125 -msgid "" -"description: An optional extension handler for lexical events like comments." -msgstr "" - -#: ../../library/xml.sax.handler.rst:126 ../../library/xml.sax.handler.rst:135 -msgid "access: read/write" -msgstr "" - -#: ../../library/xml.sax.handler.rst:131 -msgid "value: ``\"http://xml.org/sax/properties/declaration-handler\"``" -msgstr "" - -#: ../../library/xml.sax.handler.rst:132 -msgid "data type: xml.sax.sax2lib.DeclHandler (not supported in Python 2)" -msgstr "" - -#: ../../library/xml.sax.handler.rst:134 -msgid "" -"description: An optional extension handler for DTD-related events other than" -" notations and unparsed entities." -msgstr "" - -#: ../../library/xml.sax.handler.rst:140 -msgid "value: ``\"http://xml.org/sax/properties/dom-node\"``" -msgstr "" - -#: ../../library/xml.sax.handler.rst:141 -msgid "data type: org.w3c.dom.Node (not supported in Python 2)" -msgstr "" - -#: ../../library/xml.sax.handler.rst:143 -msgid "" -"description: When parsing, the current DOM node being visited if this is a " -"DOM iterator; when not parsing, the root DOM node for iteration." -msgstr "" - -#: ../../library/xml.sax.handler.rst:149 -msgid "value: ``\"http://xml.org/sax/properties/xml-string\"``" -msgstr "" - -#: ../../library/xml.sax.handler.rst:150 -msgid "data type: Bytes" -msgstr "" - -#: ../../library/xml.sax.handler.rst:152 -msgid "" -"description: The literal string of characters that was the source for the " -"current event." -msgstr "" - -#: ../../library/xml.sax.handler.rst:153 -msgid "access: read-only" -msgstr "" - -#: ../../library/xml.sax.handler.rst:158 -msgid "List of all known property names." -msgstr "" - -#: ../../library/xml.sax.handler.rst:164 -msgid "ContentHandler Objects" -msgstr "" - -#: ../../library/xml.sax.handler.rst:166 -msgid "" -"Users are expected to subclass :class:`ContentHandler` to support their " -"application. The following methods are called by the parser on the " -"appropriate events in the input document:" -msgstr "" - -#: ../../library/xml.sax.handler.rst:173 -msgid "" -"Called by the parser to give the application a locator for locating the " -"origin of document events." -msgstr "" - -#: ../../library/xml.sax.handler.rst:176 -msgid "" -"SAX parsers are strongly encouraged (though not absolutely required) to " -"supply a locator: if it does so, it must supply the locator to the " -"application by invoking this method before invoking any of the other methods" -" in the DocumentHandler interface." -msgstr "" - -#: ../../library/xml.sax.handler.rst:181 -msgid "" -"The locator allows the application to determine the end position of any " -"document-related event, even if the parser is not reporting an error. " -"Typically, the application will use this information for reporting its own " -"errors (such as character content that does not match an application's " -"business rules). The information returned by the locator is probably not " -"sufficient for use with a search engine." -msgstr "" - -#: ../../library/xml.sax.handler.rst:188 -msgid "" -"Note that the locator will return correct information only during the " -"invocation of the events in this interface. The application should not " -"attempt to use it at any other time." -msgstr "" - -#: ../../library/xml.sax.handler.rst:195 -msgid "Receive notification of the beginning of a document." -msgstr "" - -#: ../../library/xml.sax.handler.rst:197 -msgid "" -"The SAX parser will invoke this method only once, before any other methods " -"in this interface or in DTDHandler (except for :meth:`setDocumentLocator`)." -msgstr "" - -#: ../../library/xml.sax.handler.rst:203 -msgid "Receive notification of the end of a document." -msgstr "" - -#: ../../library/xml.sax.handler.rst:205 -msgid "" -"The SAX parser will invoke this method only once, and it will be the last " -"method invoked during the parse. The parser shall not invoke this method " -"until it has either abandoned parsing (because of an unrecoverable error) or" -" reached the end of input." -msgstr "" - -#: ../../library/xml.sax.handler.rst:213 -msgid "Begin the scope of a prefix-URI Namespace mapping." -msgstr "" - -#: ../../library/xml.sax.handler.rst:215 -msgid "" -"The information from this event is not necessary for normal Namespace " -"processing: the SAX XML reader will automatically replace prefixes for " -"element and attribute names when the ``feature_namespaces`` feature is " -"enabled (the default)." -msgstr "" - -#: ../../library/xml.sax.handler.rst:220 -msgid "" -"There are cases, however, when applications need to use prefixes in " -"character data or in attribute values, where they cannot safely be expanded " -"automatically; the :meth:`startPrefixMapping` and :meth:`endPrefixMapping` " -"events supply the information to the application to expand prefixes in those" -" contexts itself, if necessary." -msgstr "" - -#: ../../library/xml.sax.handler.rst:228 -msgid "" -"Note that :meth:`startPrefixMapping` and :meth:`endPrefixMapping` events are" -" not guaranteed to be properly nested relative to each-other: all " -":meth:`startPrefixMapping` events will occur before the corresponding " -":meth:`startElement` event, and all :meth:`endPrefixMapping` events will " -"occur after the corresponding :meth:`endElement` event, but their order is " -"not guaranteed." -msgstr "" - -#: ../../library/xml.sax.handler.rst:238 -msgid "End the scope of a prefix-URI mapping." -msgstr "" - -#: ../../library/xml.sax.handler.rst:240 -msgid "" -"See :meth:`startPrefixMapping` for details. This event will always occur " -"after the corresponding :meth:`endElement` event, but the order of " -":meth:`endPrefixMapping` events is not otherwise guaranteed." -msgstr "" - -#: ../../library/xml.sax.handler.rst:247 -msgid "Signals the start of an element in non-namespace mode." -msgstr "" - -#: ../../library/xml.sax.handler.rst:249 -msgid "" -"The *name* parameter contains the raw XML 1.0 name of the element type as a " -"string and the *attrs* parameter holds an object of the " -":class:`~xml.sax.xmlreader.Attributes` interface (see :ref:`attributes-" -"objects`) containing the attributes of the element. The object passed as " -"*attrs* may be re-used by the parser; holding on to a reference to it is not" -" a reliable way to keep a copy of the attributes. To keep a copy of the " -"attributes, use the :meth:`copy` method of the *attrs* object." -msgstr "" - -#: ../../library/xml.sax.handler.rst:261 -msgid "Signals the end of an element in non-namespace mode." -msgstr "" - -#: ../../library/xml.sax.handler.rst:263 -msgid "" -"The *name* parameter contains the name of the element type, just as with the" -" :meth:`startElement` event." -msgstr "" - -#: ../../library/xml.sax.handler.rst:269 -msgid "Signals the start of an element in namespace mode." -msgstr "" - -#: ../../library/xml.sax.handler.rst:271 -msgid "" -"The *name* parameter contains the name of the element type as a ``(uri, " -"localname)`` tuple, the *qname* parameter contains the raw XML 1.0 name used" -" in the source document, and the *attrs* parameter holds an instance of the " -":class:`~xml.sax.xmlreader.AttributesNS` interface (see :ref:`attributes-ns-" -"objects`) containing the attributes of the element. If no namespace is " -"associated with the element, the *uri* component of *name* will be ``None``." -" The object passed as *attrs* may be re-used by the parser; holding on to a" -" reference to it is not a reliable way to keep a copy of the attributes. To" -" keep a copy of the attributes, use the :meth:`copy` method of the *attrs* " -"object." -msgstr "" - -#: ../../library/xml.sax.handler.rst:282 -msgid "" -"Parsers may set the *qname* parameter to ``None``, unless the " -"``feature_namespace_prefixes`` feature is activated." -msgstr "" - -#: ../../library/xml.sax.handler.rst:288 -msgid "Signals the end of an element in namespace mode." -msgstr "" - -#: ../../library/xml.sax.handler.rst:290 -msgid "" -"The *name* parameter contains the name of the element type, just as with the" -" :meth:`startElementNS` method, likewise the *qname* parameter." -msgstr "" - -#: ../../library/xml.sax.handler.rst:296 -msgid "Receive notification of character data." -msgstr "" - -#: ../../library/xml.sax.handler.rst:298 -msgid "" -"The Parser will call this method to report each chunk of character data. SAX" -" parsers may return all contiguous character data in a single chunk, or they" -" may split it into several chunks; however, all of the characters in any " -"single event must come from the same external entity so that the Locator " -"provides useful information." -msgstr "" - -#: ../../library/xml.sax.handler.rst:304 -msgid "" -"*content* may be a string or bytes instance; the ``expat`` reader module " -"always produces strings." -msgstr "" - -#: ../../library/xml.sax.handler.rst:309 -msgid "" -"The earlier SAX 1 interface provided by the Python XML Special Interest " -"Group used a more Java-like interface for this method. Since most parsers " -"used from Python did not take advantage of the older interface, the simpler " -"signature was chosen to replace it. To convert old code to the new " -"interface, use *content* instead of slicing content with the old *offset* " -"and *length* parameters." -msgstr "" - -#: ../../library/xml.sax.handler.rst:318 -msgid "Receive notification of ignorable whitespace in element content." -msgstr "" - -#: ../../library/xml.sax.handler.rst:320 -msgid "" -"Validating Parsers must use this method to report each chunk of ignorable " -"whitespace (see the W3C XML 1.0 recommendation, section 2.10): non-" -"validating parsers may also use this method if they are capable of parsing " -"and using content models." -msgstr "" - -#: ../../library/xml.sax.handler.rst:325 -msgid "" -"SAX parsers may return all contiguous whitespace in a single chunk, or they " -"may split it into several chunks; however, all of the characters in any " -"single event must come from the same external entity, so that the Locator " -"provides useful information." -msgstr "" - -#: ../../library/xml.sax.handler.rst:333 -msgid "Receive notification of a processing instruction." -msgstr "" - -#: ../../library/xml.sax.handler.rst:335 -msgid "" -"The Parser will invoke this method once for each processing instruction " -"found: note that processing instructions may occur before or after the main " -"document element." -msgstr "" - -#: ../../library/xml.sax.handler.rst:339 -msgid "" -"A SAX parser should never report an XML declaration (XML 1.0, section 2.8) " -"or a text declaration (XML 1.0, section 4.3.1) using this method." -msgstr "" - -#: ../../library/xml.sax.handler.rst:345 -msgid "Receive notification of a skipped entity." -msgstr "" - -#: ../../library/xml.sax.handler.rst:347 -msgid "" -"The Parser will invoke this method once for each entity skipped. Non-" -"validating processors may skip entities if they have not seen the " -"declarations (because, for example, the entity was declared in an external " -"DTD subset). All processors may skip external entities, depending on the " -"values of the ``feature_external_ges`` and the ``feature_external_pes`` " -"properties." -msgstr "" - -#: ../../library/xml.sax.handler.rst:357 -msgid "DTDHandler Objects" -msgstr "" - -#: ../../library/xml.sax.handler.rst:359 -msgid ":class:`DTDHandler` instances provide the following methods:" -msgstr "" - -#: ../../library/xml.sax.handler.rst:364 -msgid "Handle a notation declaration event." -msgstr "" - -#: ../../library/xml.sax.handler.rst:369 -msgid "Handle an unparsed entity declaration event." -msgstr "" - -#: ../../library/xml.sax.handler.rst:375 -msgid "EntityResolver Objects" -msgstr "" - -#: ../../library/xml.sax.handler.rst:380 -msgid "" -"Resolve the system identifier of an entity and return either the system " -"identifier to read from as a string, or an InputSource to read from. The " -"default implementation returns *systemId*." -msgstr "" - -#: ../../library/xml.sax.handler.rst:388 -msgid "ErrorHandler Objects" -msgstr "" - -#: ../../library/xml.sax.handler.rst:390 -msgid "" -"Objects with this interface are used to receive error and warning " -"information from the :class:`~xml.sax.xmlreader.XMLReader`. If you create " -"an object that implements this interface, then register the object with your" -" :class:`~xml.sax.xmlreader.XMLReader`, the parser will call the methods in " -"your object to report all warnings and errors. There are three levels of " -"errors available: warnings, (possibly) recoverable errors, and unrecoverable" -" errors. All methods take a :exc:`~xml.sax.SAXParseException` as the only " -"parameter. Errors and warnings may be converted to an exception by raising " -"the passed-in exception object." -msgstr "" - -#: ../../library/xml.sax.handler.rst:403 -msgid "" -"Called when the parser encounters a recoverable error. If this method does " -"not raise an exception, parsing may continue, but further document " -"information should not be expected by the application. Allowing the parser " -"to continue may allow additional errors to be discovered in the input " -"document." -msgstr "" - -#: ../../library/xml.sax.handler.rst:411 -msgid "" -"Called when the parser encounters an error it cannot recover from; parsing " -"is expected to terminate when this method returns." -msgstr "" - -#: ../../library/xml.sax.handler.rst:417 -msgid "" -"Called when the parser presents minor warning information to the " -"application. Parsing is expected to continue when this method returns, and " -"document information will continue to be passed to the application. Raising " -"an exception in this method will cause parsing to end." -msgstr "" - -#: ../../library/xml.sax.handler.rst:426 -msgid "LexicalHandler Objects" -msgstr "" - -#: ../../library/xml.sax.handler.rst:427 -msgid "Optional SAX2 handler for lexical events." -msgstr "" - -#: ../../library/xml.sax.handler.rst:429 -msgid "" -"This handler is used to obtain lexical information about an XML document. " -"Lexical information includes information describing the document encoding " -"used and XML comments embedded in the document, as well as section " -"boundaries for the DTD and for any CDATA sections. The lexical handlers are " -"used in the same manner as content handlers." -msgstr "" - -#: ../../library/xml.sax.handler.rst:435 -msgid "" -"Set the LexicalHandler of an XMLReader by using the setProperty method with " -"the property identifier ``'http://xml.org/sax/properties/lexical-handler'``." -msgstr "" - -#: ../../library/xml.sax.handler.rst:442 -msgid "" -"Reports a comment anywhere in the document (including the DTD and outside " -"the document element)." -msgstr "" - -#: ../../library/xml.sax.handler.rst:447 -msgid "" -"Reports the start of the DTD declarations if the document has an associated " -"DTD." -msgstr "" - -#: ../../library/xml.sax.handler.rst:452 -msgid "Reports the end of DTD declaration." -msgstr "" - -#: ../../library/xml.sax.handler.rst:456 -msgid "Reports the start of a CDATA marked section." -msgstr "" - -#: ../../library/xml.sax.handler.rst:458 -msgid "" -"The contents of the CDATA marked section will be reported through the " -"characters handler." -msgstr "" - -#: ../../library/xml.sax.handler.rst:463 -msgid "Reports the end of a CDATA marked section." -msgstr "" diff --git a/python-newest.library--xml_sax_reader/id.po b/python-newest.library--xml_sax_reader/id.po deleted file mode 100644 index 7320949..0000000 --- a/python-newest.library--xml_sax_reader/id.po +++ /dev/null @@ -1,431 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/xml.sax.reader.rst:2 -msgid ":mod:`!xml.sax.xmlreader` --- Interface for XML parsers" -msgstr "" - -#: ../../library/xml.sax.reader.rst:10 -msgid "**Source code:** :source:`Lib/xml/sax/xmlreader.py`" -msgstr "" - -#: ../../library/xml.sax.reader.rst:14 -msgid "" -"SAX parsers implement the :class:`XMLReader` interface. They are implemented" -" in a Python module, which must provide a function :func:`create_parser`. " -"This function is invoked by :func:`xml.sax.make_parser` with no arguments " -"to create a new parser object." -msgstr "" - -#: ../../library/xml.sax.reader.rst:22 -msgid "Base class which can be inherited by SAX parsers." -msgstr "" - -#: ../../library/xml.sax.reader.rst:27 -msgid "" -"In some cases, it is desirable not to parse an input source at once, but to " -"feed chunks of the document as they get available. Note that the reader will" -" normally not read the entire file, but read it in chunks as well; still " -":meth:`parse` won't return until the entire document is processed. So these " -"interfaces should be used if the blocking behaviour of :meth:`parse` is not " -"desirable." -msgstr "" - -#: ../../library/xml.sax.reader.rst:33 -msgid "" -"When the parser is instantiated it is ready to begin accepting data from the" -" feed method immediately. After parsing has been finished with a call to " -"close the reset method must be called to make the parser ready to accept new" -" data, either from feed or using the parse method." -msgstr "" - -#: ../../library/xml.sax.reader.rst:38 -msgid "" -"Note that these methods must *not* be called during parsing, that is, after " -"parse has been called and before it returns." -msgstr "" - -#: ../../library/xml.sax.reader.rst:41 -msgid "" -"By default, the class also implements the parse method of the XMLReader " -"interface using the feed, close and reset methods of the IncrementalParser " -"interface as a convenience to SAX 2.0 driver writers." -msgstr "" - -#: ../../library/xml.sax.reader.rst:48 -msgid "" -"Interface for associating a SAX event with a document location. A locator " -"object will return valid results only during calls to DocumentHandler " -"methods; at any other time, the results are unpredictable. If information is" -" not available, methods may return ``None``." -msgstr "" - -#: ../../library/xml.sax.reader.rst:56 -msgid "" -"Encapsulation of the information needed by the :class:`XMLReader` to read " -"entities." -msgstr "" - -#: ../../library/xml.sax.reader.rst:59 -msgid "" -"This class may include information about the public identifier, system " -"identifier, byte stream (possibly with character encoding information) " -"and/or the character stream of an entity." -msgstr "" - -#: ../../library/xml.sax.reader.rst:63 -msgid "" -"Applications will create objects of this class for use in the " -":meth:`XMLReader.parse` method and for returning from " -"EntityResolver.resolveEntity." -msgstr "" - -#: ../../library/xml.sax.reader.rst:67 -msgid "" -"An :class:`InputSource` belongs to the application, the :class:`XMLReader` " -"is not allowed to modify :class:`InputSource` objects passed to it from the " -"application, although it may make copies and modify those." -msgstr "" - -#: ../../library/xml.sax.reader.rst:74 -msgid "" -"This is an implementation of the :class:`Attributes` interface (see section " -":ref:`attributes-objects`). This is a dictionary-like object which " -"represents the element attributes in a :meth:`startElement` call. In " -"addition to the most useful dictionary operations, it supports a number of " -"other methods as described by the interface. Objects of this class should be" -" instantiated by readers; *attrs* must be a dictionary-like object " -"containing a mapping from attribute names to attribute values." -msgstr "" - -#: ../../library/xml.sax.reader.rst:85 -msgid "" -"Namespace-aware variant of :class:`AttributesImpl`, which will be passed to " -":meth:`startElementNS`. It is derived from :class:`AttributesImpl`, but " -"understands attribute names as two-tuples of *namespaceURI* and *localname*." -" In addition, it provides a number of methods expecting qualified names as " -"they appear in the original document. This class implements the " -":class:`AttributesNS` interface (see section :ref:`attributes-ns-objects`)." -msgstr "" - -#: ../../library/xml.sax.reader.rst:96 -msgid "XMLReader Objects" -msgstr "" - -#: ../../library/xml.sax.reader.rst:98 -msgid "The :class:`XMLReader` interface supports the following methods:" -msgstr "" - -#: ../../library/xml.sax.reader.rst:103 -msgid "" -"Process an input source, producing SAX events. The *source* object can be a " -"system identifier (a string identifying the input source -- typically a file" -" name or a URL), a :class:`pathlib.Path` or :term:`path-like ` object, or an :class:`InputSource` object. When :meth:`parse` " -"returns, the input is completely processed, and the parser object can be " -"discarded or reset." -msgstr "" - -#: ../../library/xml.sax.reader.rst:110 -msgid "Added support of character streams." -msgstr "" - -#: ../../library/xml.sax.reader.rst:113 -msgid "Added support of path-like objects." -msgstr "" - -#: ../../library/xml.sax.reader.rst:119 -msgid "Return the current :class:`~xml.sax.handler.ContentHandler`." -msgstr "" - -#: ../../library/xml.sax.reader.rst:124 -msgid "" -"Set the current :class:`~xml.sax.handler.ContentHandler`. If no " -":class:`~xml.sax.handler.ContentHandler` is set, content events will be " -"discarded." -msgstr "" - -#: ../../library/xml.sax.reader.rst:131 -msgid "Return the current :class:`~xml.sax.handler.DTDHandler`." -msgstr "" - -#: ../../library/xml.sax.reader.rst:136 -msgid "" -"Set the current :class:`~xml.sax.handler.DTDHandler`. If no " -":class:`~xml.sax.handler.DTDHandler` is set, DTD events will be discarded." -msgstr "" - -#: ../../library/xml.sax.reader.rst:143 -msgid "Return the current :class:`~xml.sax.handler.EntityResolver`." -msgstr "" - -#: ../../library/xml.sax.reader.rst:148 -msgid "" -"Set the current :class:`~xml.sax.handler.EntityResolver`. If no " -":class:`~xml.sax.handler.EntityResolver` is set, attempts to resolve an " -"external entity will result in opening the system identifier for the entity," -" and fail if it is not available." -msgstr "" - -#: ../../library/xml.sax.reader.rst:156 -msgid "Return the current :class:`~xml.sax.handler.ErrorHandler`." -msgstr "" - -#: ../../library/xml.sax.reader.rst:161 -msgid "" -"Set the current error handler. If no :class:`~xml.sax.handler.ErrorHandler`" -" is set, errors will be raised as exceptions, and warnings will be printed." -msgstr "" - -#: ../../library/xml.sax.reader.rst:167 -msgid "Allow an application to set the locale for errors and warnings." -msgstr "" - -#: ../../library/xml.sax.reader.rst:169 -msgid "" -"SAX parsers are not required to provide localization for errors and " -"warnings; if they cannot support the requested locale, however, they must " -"raise a SAX exception. Applications may request a locale change in the " -"middle of a parse." -msgstr "" - -#: ../../library/xml.sax.reader.rst:176 -msgid "" -"Return the current setting for feature *featurename*. If the feature is not" -" recognized, :exc:`SAXNotRecognizedException` is raised. The well-known " -"featurenames are listed in the module :mod:`xml.sax.handler`." -msgstr "" - -#: ../../library/xml.sax.reader.rst:183 -msgid "" -"Set the *featurename* to *value*. If the feature is not recognized, " -":exc:`SAXNotRecognizedException` is raised. If the feature or its setting is" -" not supported by the parser, *SAXNotSupportedException* is raised." -msgstr "" - -#: ../../library/xml.sax.reader.rst:190 -msgid "" -"Return the current setting for property *propertyname*. If the property is " -"not recognized, a :exc:`SAXNotRecognizedException` is raised. The well-known" -" propertynames are listed in the module :mod:`xml.sax.handler`." -msgstr "" - -#: ../../library/xml.sax.reader.rst:197 -msgid "" -"Set the *propertyname* to *value*. If the property is not recognized, " -":exc:`SAXNotRecognizedException` is raised. If the property or its setting " -"is not supported by the parser, *SAXNotSupportedException* is raised." -msgstr "" - -#: ../../library/xml.sax.reader.rst:205 -msgid "IncrementalParser Objects" -msgstr "" - -#: ../../library/xml.sax.reader.rst:207 -msgid "" -"Instances of :class:`IncrementalParser` offer the following additional " -"methods:" -msgstr "" - -#: ../../library/xml.sax.reader.rst:212 -msgid "Process a chunk of *data*." -msgstr "" - -#: ../../library/xml.sax.reader.rst:217 -msgid "" -"Assume the end of the document. That will check well-formedness conditions " -"that can be checked only at the end, invoke handlers, and may clean up " -"resources allocated during parsing." -msgstr "" - -#: ../../library/xml.sax.reader.rst:224 -msgid "" -"This method is called after close has been called to reset the parser so " -"that it is ready to parse new documents. The results of calling parse or " -"feed after close without calling reset are undefined." -msgstr "" - -#: ../../library/xml.sax.reader.rst:232 -msgid "Locator Objects" -msgstr "" - -#: ../../library/xml.sax.reader.rst:234 -msgid "Instances of :class:`Locator` provide these methods:" -msgstr "" - -#: ../../library/xml.sax.reader.rst:239 -msgid "Return the column number where the current event begins." -msgstr "" - -#: ../../library/xml.sax.reader.rst:244 -msgid "Return the line number where the current event begins." -msgstr "" - -#: ../../library/xml.sax.reader.rst:249 -msgid "Return the public identifier for the current event." -msgstr "" - -#: ../../library/xml.sax.reader.rst:254 -msgid "Return the system identifier for the current event." -msgstr "" - -#: ../../library/xml.sax.reader.rst:260 -msgid "InputSource Objects" -msgstr "" - -#: ../../library/xml.sax.reader.rst:265 -msgid "Sets the public identifier of this :class:`InputSource`." -msgstr "" - -#: ../../library/xml.sax.reader.rst:270 -msgid "Returns the public identifier of this :class:`InputSource`." -msgstr "" - -#: ../../library/xml.sax.reader.rst:275 -msgid "Sets the system identifier of this :class:`InputSource`." -msgstr "" - -#: ../../library/xml.sax.reader.rst:280 -msgid "Returns the system identifier of this :class:`InputSource`." -msgstr "" - -#: ../../library/xml.sax.reader.rst:285 -msgid "Sets the character encoding of this :class:`InputSource`." -msgstr "" - -#: ../../library/xml.sax.reader.rst:287 -msgid "" -"The encoding must be a string acceptable for an XML encoding declaration " -"(see section 4.3.3 of the XML recommendation)." -msgstr "" - -#: ../../library/xml.sax.reader.rst:290 -msgid "" -"The encoding attribute of the :class:`InputSource` is ignored if the " -":class:`InputSource` also contains a character stream." -msgstr "" - -#: ../../library/xml.sax.reader.rst:296 -msgid "Get the character encoding of this InputSource." -msgstr "" - -#: ../../library/xml.sax.reader.rst:301 -msgid "Set the byte stream (a :term:`binary file`) for this input source." -msgstr "" - -#: ../../library/xml.sax.reader.rst:303 -msgid "" -"The SAX parser will ignore this if there is also a character stream " -"specified, but it will use a byte stream in preference to opening a URI " -"connection itself." -msgstr "" - -#: ../../library/xml.sax.reader.rst:306 -msgid "" -"If the application knows the character encoding of the byte stream, it " -"should set it with the setEncoding method." -msgstr "" - -#: ../../library/xml.sax.reader.rst:312 -msgid "Get the byte stream for this input source." -msgstr "" - -#: ../../library/xml.sax.reader.rst:314 -msgid "" -"The getEncoding method will return the character encoding for this byte " -"stream, or ``None`` if unknown." -msgstr "" - -#: ../../library/xml.sax.reader.rst:320 -msgid "Set the character stream (a :term:`text file`) for this input source." -msgstr "" - -#: ../../library/xml.sax.reader.rst:322 -msgid "" -"If there is a character stream specified, the SAX parser will ignore any " -"byte stream and will not attempt to open a URI connection to the system " -"identifier." -msgstr "" - -#: ../../library/xml.sax.reader.rst:328 -msgid "Get the character stream for this input source." -msgstr "" - -#: ../../library/xml.sax.reader.rst:334 -msgid "The :class:`Attributes` Interface" -msgstr "" - -#: ../../library/xml.sax.reader.rst:336 -msgid "" -":class:`Attributes` objects implement a portion of the :term:`mapping " -"protocol `, including the methods " -":meth:`~collections.abc.Mapping.copy`, :meth:`~collections.abc.Mapping.get`," -" :meth:`~object.__contains__`, :meth:`~collections.abc.Mapping.items`, " -":meth:`~collections.abc.Mapping.keys`, and " -":meth:`~collections.abc.Mapping.values`. The following methods are also " -"provided:" -msgstr "" - -#: ../../library/xml.sax.reader.rst:346 -msgid "Return the number of attributes." -msgstr "" - -#: ../../library/xml.sax.reader.rst:351 -msgid "Return the names of the attributes." -msgstr "" - -#: ../../library/xml.sax.reader.rst:356 -msgid "" -"Returns the type of the attribute *name*, which is normally ``'CDATA'``." -msgstr "" - -#: ../../library/xml.sax.reader.rst:361 -msgid "Return the value of attribute *name*." -msgstr "" - -#: ../../library/xml.sax.reader.rst:370 -msgid "The :class:`AttributesNS` Interface" -msgstr "" - -#: ../../library/xml.sax.reader.rst:372 -msgid "" -"This interface is a subtype of the :class:`Attributes` interface (see " -"section :ref:`attributes-objects`). All methods supported by that interface" -" are also available on :class:`AttributesNS` objects." -msgstr "" - -#: ../../library/xml.sax.reader.rst:376 -msgid "The following methods are also available:" -msgstr "" - -#: ../../library/xml.sax.reader.rst:381 -msgid "Return the value for a qualified name." -msgstr "" - -#: ../../library/xml.sax.reader.rst:386 -msgid "Return the ``(namespace, localname)`` pair for a qualified *name*." -msgstr "" - -#: ../../library/xml.sax.reader.rst:391 -msgid "Return the qualified name for a ``(namespace, localname)`` pair." -msgstr "" - -#: ../../library/xml.sax.reader.rst:396 -msgid "Return the qualified names of all attributes." -msgstr "" diff --git a/python-newest.library--xml_sax_utils/id.po b/python-newest.library--xml_sax_utils/id.po deleted file mode 100644 index 14ef37a..0000000 --- a/python-newest.library--xml_sax_utils/id.po +++ /dev/null @@ -1,126 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/xml.sax.utils.rst:2 -msgid ":mod:`!xml.sax.saxutils` --- SAX Utilities" -msgstr "" - -#: ../../library/xml.sax.utils.rst:10 -msgid "**Source code:** :source:`Lib/xml/sax/saxutils.py`" -msgstr "" - -#: ../../library/xml.sax.utils.rst:14 -msgid "" -"The module :mod:`xml.sax.saxutils` contains a number of classes and " -"functions that are commonly useful when creating SAX applications, either in" -" direct use, or as base classes." -msgstr "" - -#: ../../library/xml.sax.utils.rst:21 -msgid "Escape ``'&'``, ``'<'``, and ``'>'`` in a string of data." -msgstr "" - -#: ../../library/xml.sax.utils.rst:23 -msgid "" -"You can escape other strings of data by passing a dictionary as the optional" -" *entities* parameter. The keys and values must all be strings; each key " -"will be replaced with its corresponding value. The characters ``'&'``, " -"``'<'`` and ``'>'`` are always escaped, even if *entities* is provided." -msgstr "" - -#: ../../library/xml.sax.utils.rst:30 -msgid "" -"This function should only be used to escape characters that can't be used " -"directly in XML. Do not use this function as a general string translation " -"function." -msgstr "" - -#: ../../library/xml.sax.utils.rst:36 -msgid "Unescape ``'&'``, ``'<'``, and ``'>'`` in a string of data." -msgstr "" - -#: ../../library/xml.sax.utils.rst:38 -msgid "" -"You can unescape other strings of data by passing a dictionary as the " -"optional *entities* parameter. The keys and values must all be strings; " -"each key will be replaced with its corresponding value. ``'&'``, " -"``'<'``, and ``'>'`` are always unescaped, even if *entities* is " -"provided." -msgstr "" - -#: ../../library/xml.sax.utils.rst:46 -msgid "" -"Similar to :func:`escape`, but also prepares *data* to be used as an " -"attribute value. The return value is a quoted version of *data* with any " -"additional required replacements. :func:`quoteattr` will select a quote " -"character based on the content of *data*, attempting to avoid encoding any " -"quote characters in the string. If both single- and double-quote characters" -" are already in *data*, the double-quote characters will be encoded and " -"*data* will be wrapped in double-quotes. The resulting string can be used " -"directly as an attribute value::" -msgstr "" - -#: ../../library/xml.sax.utils.rst:55 -msgid "" -">>> print(\"\" % quoteattr(\"ab ' cd \\\" ef\"))\n" -"" -msgstr "" - -#: ../../library/xml.sax.utils.rst:58 -msgid "" -"This function is useful when generating attribute values for HTML or any " -"SGML using the reference concrete syntax." -msgstr "" - -#: ../../library/xml.sax.utils.rst:64 -msgid "" -"This class implements the :class:`~xml.sax.handler.ContentHandler` interface" -" by writing SAX events back into an XML document. In other words, using an " -":class:`XMLGenerator` as the content handler will reproduce the original " -"document being parsed. *out* should be a file-like object which will default" -" to *sys.stdout*. *encoding* is the encoding of the output stream which " -"defaults to ``'iso-8859-1'``. *short_empty_elements* controls the formatting" -" of elements that contain no content: if ``False`` (the default) they are " -"emitted as a pair of start/end tags, if set to ``True`` they are emitted as " -"a single self-closed tag." -msgstr "" - -#: ../../library/xml.sax.utils.rst:74 -msgid "Added the *short_empty_elements* parameter." -msgstr "" - -#: ../../library/xml.sax.utils.rst:80 -msgid "" -"This class is designed to sit between an " -":class:`~xml.sax.xmlreader.XMLReader` and the client application's event " -"handlers. By default, it does nothing but pass requests up to the reader " -"and events on to the handlers unmodified, but subclasses can override " -"specific methods to modify the event stream or the configuration requests as" -" they pass through." -msgstr "" - -#: ../../library/xml.sax.utils.rst:90 -msgid "" -"This function takes an input source and an optional base URL and returns a " -"fully resolved :class:`~xml.sax.xmlreader.InputSource` object ready for " -"reading. The input source can be given as a string, a file-like object, or " -"an :class:`~xml.sax.xmlreader.InputSource` object; parsers will use this " -"function to implement the polymorphic *source* argument to their " -":meth:`~xml.sax.xmlreader.XMLReader.parse` method." -msgstr "" diff --git a/python-newest.library--xmlrpc/id.po b/python-newest.library--xmlrpc/id.po deleted file mode 100644 index cac60cd..0000000 --- a/python-newest.library--xmlrpc/id.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# William Ang Kisjanto Surya , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: William Ang Kisjanto Surya , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/xmlrpc.rst:2 -msgid ":mod:`!xmlrpc` --- XMLRPC server and client modules" -msgstr "" - -#: ../../library/xmlrpc.rst:7 -msgid "" -"XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP as a" -" transport. With it, a client can call methods with parameters on a remote " -"server (the server is named by a URI) and get back structured data." -msgstr "" -"XML-RPC adalah method Remote Procedure Call yang menggunakan XML dan " -"diteruskan melalui HTTP sebagai pengangkut. Dengan begitu, client dapat " -"memanggil method yang memiliki parameter pada sebuah server jarak jauh " -"(server tersebut dinamai dengan URI) dan menerima kembali data yang " -"terstruktur." - -#: ../../library/xmlrpc.rst:11 -msgid "" -"``xmlrpc`` is a package that collects server and client modules implementing" -" XML-RPC. The modules are:" -msgstr "" -"Ctrl+Alt+1 adalah sebuah package (kemasan) yang mengumpulkan modul-modul " -"``xmlrpc`` dan client yang menerapkan XML-RPC. Modul-modul tersebut adalah:" - -#: ../../library/xmlrpc.rst:14 -msgid ":mod:`xmlrpc.client`" -msgstr ":mod:`xmlrpc.client`" - -#: ../../library/xmlrpc.rst:15 -msgid ":mod:`xmlrpc.server`" -msgstr ":mod:`xmlrpc.server`" diff --git a/python-newest.library--xmlrpc_client/id.po b/python-newest.library--xmlrpc_client/id.po deleted file mode 100644 index f522d02..0000000 --- a/python-newest.library--xmlrpc_client/id.po +++ /dev/null @@ -1,850 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# LIQRGV , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: LIQRGV , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/xmlrpc.client.rst:2 -msgid ":mod:`!xmlrpc.client` --- XML-RPC client access" -msgstr "" - -#: ../../library/xmlrpc.client.rst:10 -msgid "**Source code:** :source:`Lib/xmlrpc/client.py`" -msgstr "**Kode sumber:** :source:`Lib/xmlrpc/client.py`" - -#: ../../library/xmlrpc.client.rst:17 -msgid "" -"XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP(S) " -"as a transport. With it, a client can call methods with parameters on a " -"remote server (the server is named by a URI) and get back structured data. " -"This module supports writing XML-RPC client code; it handles all the details" -" of translating between conformable Python objects and XML on the wire." -msgstr "" -"XML-RPC adalah metode Pemanggilan Prosedur Jarak Jauh (Remote Procedure " -"Call) yang menggunakan XML, dikirimkan melalui HTTP(S) sebagai sarana " -"transportasi. Dengan itu, klien dapat memanggil metode dengan parameter di " -"server jauh (server dinamai oleh URI) dan mendapatkan kembali data " -"terstruktur. Modul ini mendukung penulisan kode klien XML-RPC; ia menangani " -"semua detail penerjemahan antara objek Python yang sesuai dan XML pada " -"kabel." - -#: ../../library/xmlrpc.client.rst:26 -msgid "" -"The :mod:`xmlrpc.client` module is not secure against maliciously " -"constructed data. If you need to parse untrusted or unauthenticated data " -"see :ref:`xml-vulnerabilities`." -msgstr "" -"Modul :mod:`xmlrpc.client` tidak aman terhadap data yang dirangkai untuk " -"tujuan jahat. Jika Anda perlu melakukan parsing data yang tidak dipercaya " -"atau tidak terauthentikasi, lihat :ref:`xml-vulnerabilities`." - -#: ../../library/xmlrpc.client.rst:32 -msgid "" -"For HTTPS URIs, :mod:`xmlrpc.client` now performs all the necessary " -"certificate and hostname checks by default." -msgstr "" -"Untuk URI HTTPS, :mod:`xmlrpc.client` sekarang melakukan semua pemeriksaan " -"sertifikat dan nama host yang diperlukan secara default." - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/xmlrpc.client.rst:41 -msgid "" -"A :class:`ServerProxy` instance is an object that manages communication with" -" a remote XML-RPC server. The required first argument is a URI (Uniform " -"Resource Indicator), and will normally be the URL of the server. The " -"optional second argument is a transport factory instance; by default it is " -"an internal :class:`SafeTransport` instance for https: URLs and an internal " -"HTTP :class:`Transport` instance otherwise. The optional third argument is " -"an encoding, by default UTF-8. The optional fourth argument is a debugging " -"flag." -msgstr "" -"Instance :class:`ServerProxy` adalah objek yang mengelola komunikasi dengan " -"server XML-RPC jarak jauh. Argumen pertama yang diperlukan adalah URI " -"(Uniform Resource Indicator), dan biasanya akan menjadi URL server. Argumen " -"opsional kedua adalah instance dari transport factory; secara default ini " -"adalah instance internal :class:`SafeTransport` untuk https: URL dan " -"internal instance HTTP :class:`Transport` 'jika selain itu. Argumen opsional" -" ketiga adalah pengkodean, secara default UTF-8. Argumen opsional keempat " -"adalah bendera debugging." - -#: ../../library/xmlrpc.client.rst:49 -msgid "" -"The following parameters govern the use of the returned proxy instance. If " -"*allow_none* is true, the Python constant ``None`` will be translated into " -"XML; the default behaviour is for ``None`` to raise a :exc:`TypeError`. This" -" is a commonly used extension to the XML-RPC specification, but isn't " -"supported by all clients and servers; see `http://ontosys.com/xml-" -"rpc/extensions.php " -"`_ for a description. The *use_builtin_types* flag can be" -" used to cause date/time values to be presented as " -":class:`datetime.datetime` objects and binary data to be presented as " -":class:`bytes` objects; this flag is false by default. " -":class:`datetime.datetime`, :class:`bytes` and :class:`bytearray` objects " -"may be passed to calls. The *headers* parameter is an optional sequence of " -"HTTP headers to send with each request, expressed as a sequence of 2-tuples " -"representing the header name and value. (e.g. ``[('Header-Name', " -"'value')]``). If an HTTPS URL is provided, *context* may be " -":class:`ssl.SSLContext` and configures the SSL settings of the underlying " -"HTTPS connection. The obsolete *use_datetime* flag is similar to " -"*use_builtin_types* but it applies only to date/time values." -msgstr "" - -#: ../../library/xmlrpc.client.rst:69 ../../library/xmlrpc.client.rst:549 -msgid "The *use_builtin_types* flag was added." -msgstr "Penanda *use_builtin_types* ditambahkan." - -#: ../../library/xmlrpc.client.rst:72 -msgid "The *headers* parameter was added." -msgstr "Parameter *headers* ditambahkan" - -#: ../../library/xmlrpc.client.rst:75 -msgid "" -"Both the HTTP and HTTPS transports support the URL syntax extension for HTTP" -" Basic Authentication: ``http://user:pass@host:port/path``. The " -"``user:pass`` portion will be base64-encoded as an HTTP 'Authorization' " -"header, and sent to the remote server as part of the connection process when" -" invoking an XML-RPC method. You only need to use this if the remote server" -" requires a Basic Authentication user and password." -msgstr "" - -#: ../../library/xmlrpc.client.rst:82 -msgid "" -"The returned instance is a proxy object with methods that can be used to " -"invoke corresponding RPC calls on the remote server. If the remote server " -"supports the introspection API, the proxy can also be used to query the " -"remote server for the methods it supports (service discovery) and fetch " -"other server-associated metadata." -msgstr "" - -#: ../../library/xmlrpc.client.rst:88 -msgid "" -"Types that are conformable (e.g. that can be marshalled through XML), " -"include the following (and except where noted, they are unmarshalled as the " -"same Python type):" -msgstr "" - -#: ../../library/xmlrpc.client.rst:95 -msgid "XML-RPC type" -msgstr "Tipe XML-RPC" - -#: ../../library/xmlrpc.client.rst:95 -msgid "Python type" -msgstr "tipe Python" - -#: ../../library/xmlrpc.client.rst:97 -msgid "``boolean``" -msgstr "``boolean``" - -#: ../../library/xmlrpc.client.rst:97 -msgid ":class:`bool`" -msgstr ":class:`bool`" - -#: ../../library/xmlrpc.client.rst:99 -msgid "``int``, ``i1``, ``i2``, ``i4``, ``i8`` or ``biginteger``" -msgstr "``int``, ``i1``, ``i2``, ``i4``, ``i8`` atau ``biginteger``" - -#: ../../library/xmlrpc.client.rst:99 -msgid "" -":class:`int` in range from -2147483648 to 2147483647. Values get the " -"```` tag." -msgstr "" -"Jangkauan :class:`int` berkisar dari -2147483648 hingga 2147483647. Nilai " -"ini mendapatkan tag ````." - -#: ../../library/xmlrpc.client.rst:104 -msgid "``double`` or ``float``" -msgstr "``double`` atau ``float``" - -#: ../../library/xmlrpc.client.rst:104 -msgid ":class:`float`. Values get the ```` tag." -msgstr ":class:`float`. Nilai ini mendapatkan tag ````." - -#: ../../library/xmlrpc.client.rst:107 -msgid "``string``" -msgstr "``string``" - -#: ../../library/xmlrpc.client.rst:107 -msgid ":class:`str`" -msgstr ":class:`str`" - -#: ../../library/xmlrpc.client.rst:109 -msgid "``array``" -msgstr "``array``" - -#: ../../library/xmlrpc.client.rst:109 -msgid "" -":class:`list` or :class:`tuple` containing conformable elements. Arrays are" -" returned as :class:`lists `." -msgstr "" - -#: ../../library/xmlrpc.client.rst:113 -msgid "``struct``" -msgstr "``struct``" - -#: ../../library/xmlrpc.client.rst:113 -msgid "" -":class:`dict`. Keys must be strings, values may be any conformable type. " -"Objects of user-defined classes can be passed in; only their " -":attr:`~object.__dict__` attribute is transmitted." -msgstr "" - -#: ../../library/xmlrpc.client.rst:118 -msgid "``dateTime.iso8601``" -msgstr "``dateTime.iso8601``" - -#: ../../library/xmlrpc.client.rst:118 -msgid "" -":class:`DateTime` or :class:`datetime.datetime`. Returned type depends on " -"values of *use_builtin_types* and *use_datetime* flags." -msgstr "" - -#: ../../library/xmlrpc.client.rst:122 -msgid "``base64``" -msgstr "``base64``" - -#: ../../library/xmlrpc.client.rst:122 -msgid "" -":class:`Binary`, :class:`bytes` or :class:`bytearray`. Returned type " -"depends on the value of the *use_builtin_types* flag." -msgstr "" -":class:`Binary`, :class:`bytes` or :class:`bytearray`. Tipe yang " -"dikembalikan bergantung pada penanda *use_builtin_types*." - -#: ../../library/xmlrpc.client.rst:126 -msgid "``nil``" -msgstr "``nil``" - -#: ../../library/xmlrpc.client.rst:126 -msgid "" -"The ``None`` constant. Passing is allowed only if *allow_none* is true." -msgstr "" -"Konstan ``None``. Penggunaan hanya diizinkan jika *allow_none* bernilai " -"true." - -#: ../../library/xmlrpc.client.rst:129 -msgid "``bigdecimal``" -msgstr "``bigdecimal``" - -#: ../../library/xmlrpc.client.rst:129 -msgid ":class:`decimal.Decimal`. Returned type only." -msgstr ":class:`decimal.Decimal`. Hanya tipe yang dikembalikan." - -#: ../../library/xmlrpc.client.rst:132 -msgid "" -"This is the full set of data types supported by XML-RPC. Method calls may " -"also raise a special :exc:`Fault` instance, used to signal XML-RPC server " -"errors, or :exc:`ProtocolError` used to signal an error in the HTTP/HTTPS " -"transport layer. Both :exc:`Fault` and :exc:`ProtocolError` derive from a " -"base class called :exc:`Error`. Note that the xmlrpc client module " -"currently does not marshal instances of subclasses of built-in types." -msgstr "" - -#: ../../library/xmlrpc.client.rst:139 -msgid "" -"When passing strings, characters special to XML such as ``<``, ``>``, and " -"``&`` will be automatically escaped. However, it's the caller's " -"responsibility to ensure that the string is free of characters that aren't " -"allowed in XML, such as the control characters with ASCII values between 0 " -"and 31 (except, of course, tab, newline and carriage return); failing to do " -"this will result in an XML-RPC request that isn't well-formed XML. If you " -"have to pass arbitrary bytes via XML-RPC, use :class:`bytes` or " -":class:`bytearray` classes or the :class:`Binary` wrapper class described " -"below." -msgstr "" - -#: ../../library/xmlrpc.client.rst:148 -msgid "" -":class:`Server` is retained as an alias for :class:`ServerProxy` for " -"backwards compatibility. New code should use :class:`ServerProxy`." -msgstr "" - -#: ../../library/xmlrpc.client.rst:151 -msgid "Added the *context* argument." -msgstr "Menambahkan argumen *context*." - -#: ../../library/xmlrpc.client.rst:154 -msgid "" -"Added support of type tags with prefixes (e.g. ``ex:nil``). Added support of" -" unmarshalling additional types used by Apache XML-RPC implementation for " -"numerics: ``i1``, ``i2``, ``i8``, ``biginteger``, ``float`` and " -"``bigdecimal``. See https://ws.apache.org/xmlrpc/types.html for a " -"description." -msgstr "" - -#: ../../library/xmlrpc.client.rst:164 -msgid "`XML-RPC HOWTO `_" -msgstr "" - -#: ../../library/xmlrpc.client.rst:165 -msgid "" -"A good description of XML-RPC operation and client software in several " -"languages. Contains pretty much everything an XML-RPC client developer needs" -" to know." -msgstr "" - -#: ../../library/xmlrpc.client.rst:168 -msgid "" -"`XML-RPC Introspection " -"`_" -msgstr "" - -#: ../../library/xmlrpc.client.rst:169 -msgid "Describes the XML-RPC protocol extension for introspection." -msgstr "" - -#: ../../library/xmlrpc.client.rst:171 -msgid "`XML-RPC Specification `_" -msgstr "`Spesifikasi XML-RPC `_" - -#: ../../library/xmlrpc.client.rst:172 -msgid "The official specification." -msgstr "Spesifikasi resmi" - -#: ../../library/xmlrpc.client.rst:177 -msgid "ServerProxy Objects" -msgstr "Objek ServerProxy" - -#: ../../library/xmlrpc.client.rst:179 -msgid "" -"A :class:`ServerProxy` instance has a method corresponding to each remote " -"procedure call accepted by the XML-RPC server. Calling the method performs " -"an RPC, dispatched by both name and argument signature (e.g. the same method" -" name can be overloaded with multiple argument signatures). The RPC " -"finishes by returning a value, which may be either returned data in a " -"conformant type or a :class:`Fault` or :class:`ProtocolError` object " -"indicating an error." -msgstr "" - -#: ../../library/xmlrpc.client.rst:186 -msgid "" -"Servers that support the XML introspection API support some common methods " -"grouped under the reserved :attr:`~ServerProxy.system` attribute:" -msgstr "" - -#: ../../library/xmlrpc.client.rst:192 -msgid "" -"This method returns a list of strings, one for each (non-system) method " -"supported by the XML-RPC server." -msgstr "" - -#: ../../library/xmlrpc.client.rst:198 -msgid "" -"This method takes one parameter, the name of a method implemented by the " -"XML-RPC server. It returns an array of possible signatures for this method. " -"A signature is an array of types. The first of these types is the return " -"type of the method, the rest are parameters." -msgstr "" - -#: ../../library/xmlrpc.client.rst:203 -msgid "" -"Because multiple signatures (ie. overloading) is permitted, this method " -"returns a list of signatures rather than a singleton." -msgstr "" - -#: ../../library/xmlrpc.client.rst:206 -msgid "" -"Signatures themselves are restricted to the top level parameters expected by" -" a method. For instance if a method expects one array of structs as a " -"parameter, and it returns a string, its signature is simply \"string, " -"array\". If it expects three integers and returns a string, its signature is" -" \"string, int, int, int\"." -msgstr "" - -#: ../../library/xmlrpc.client.rst:211 -msgid "" -"If no signature is defined for the method, a non-array value is returned. In" -" Python this means that the type of the returned value will be something " -"other than list." -msgstr "" - -#: ../../library/xmlrpc.client.rst:218 -msgid "" -"This method takes one parameter, the name of a method implemented by the " -"XML-RPC server. It returns a documentation string describing the use of " -"that method. If no such string is available, an empty string is returned. " -"The documentation string may contain HTML markup." -msgstr "" - -#: ../../library/xmlrpc.client.rst:225 -msgid "" -"Instances of :class:`ServerProxy` support the :term:`context manager` " -"protocol for closing the underlying transport." -msgstr "" - -#: ../../library/xmlrpc.client.rst:229 ../../library/xmlrpc.client.rst:276 -msgid "A working example follows. The server code::" -msgstr "" - -#: ../../library/xmlrpc.client.rst:231 -msgid "" -"from xmlrpc.server import SimpleXMLRPCServer\n" -"\n" -"def is_even(n):\n" -" return n % 2 == 0\n" -"\n" -"server = SimpleXMLRPCServer((\"localhost\", 8000))\n" -"print(\"Listening on port 8000...\")\n" -"server.register_function(is_even, \"is_even\")\n" -"server.serve_forever()" -msgstr "" - -#: ../../library/xmlrpc.client.rst:241 ../../library/xmlrpc.client.rst:291 -#: ../../library/xmlrpc.client.rst:401 ../../library/xmlrpc.client.rst:507 -msgid "The client code for the preceding server::" -msgstr "" - -#: ../../library/xmlrpc.client.rst:243 -msgid "" -"import xmlrpc.client\n" -"\n" -"with xmlrpc.client.ServerProxy(\"http://localhost:8000/\") as proxy:\n" -" print(\"3 is even: %s\" % str(proxy.is_even(3)))\n" -" print(\"100 is even: %s\" % str(proxy.is_even(100)))" -msgstr "" - -#: ../../library/xmlrpc.client.rst:252 -msgid "DateTime Objects" -msgstr "Objek DateTime" - -#: ../../library/xmlrpc.client.rst:256 -msgid "" -"This class may be initialized with seconds since the epoch, a time tuple, an" -" ISO 8601 time/date string, or a :class:`datetime.datetime` instance. It " -"has the following methods, supported mainly for internal use by the " -"marshalling/unmarshalling code:" -msgstr "" - -#: ../../library/xmlrpc.client.rst:264 -msgid "Accept a string as the instance's new time value." -msgstr "" - -#: ../../library/xmlrpc.client.rst:269 -msgid "" -"Write the XML-RPC encoding of this :class:`DateTime` item to the *out* " -"stream object." -msgstr "" - -#: ../../library/xmlrpc.client.rst:272 -msgid "" -"It also supports certain of Python's built-in operators through :meth:`rich " -"comparison ` and :meth:`~object.__repr__` methods." -msgstr "" - -#: ../../library/xmlrpc.client.rst:278 -msgid "" -"import datetime\n" -"from xmlrpc.server import SimpleXMLRPCServer\n" -"import xmlrpc.client\n" -"\n" -"def today():\n" -" today = datetime.datetime.today()\n" -" return xmlrpc.client.DateTime(today)\n" -"\n" -"server = SimpleXMLRPCServer((\"localhost\", 8000))\n" -"print(\"Listening on port 8000...\")\n" -"server.register_function(today, \"today\")\n" -"server.serve_forever()" -msgstr "" - -#: ../../library/xmlrpc.client.rst:293 -msgid "" -"import xmlrpc.client\n" -"import datetime\n" -"\n" -"proxy = xmlrpc.client.ServerProxy(\"http://localhost:8000/\")\n" -"\n" -"today = proxy.today()\n" -"# convert the ISO8601 string to a datetime object\n" -"converted = datetime.datetime.strptime(today.value, \"%Y%m%dT%H:%M:%S\")\n" -"print(\"Today: %s\" % converted.strftime(\"%d.%m.%Y, %H:%M\"))" -msgstr "" - -#: ../../library/xmlrpc.client.rst:306 -msgid "Binary Objects" -msgstr "Objek biner" - -#: ../../library/xmlrpc.client.rst:310 -msgid "" -"This class may be initialized from bytes data (which may include NULs). The " -"primary access to the content of a :class:`Binary` object is provided by an " -"attribute:" -msgstr "" - -#: ../../library/xmlrpc.client.rst:317 -msgid "" -"The binary data encapsulated by the :class:`Binary` instance. The data is " -"provided as a :class:`bytes` object." -msgstr "" - -#: ../../library/xmlrpc.client.rst:320 -msgid "" -":class:`Binary` objects have the following methods, supported mainly for " -"internal use by the marshalling/unmarshalling code:" -msgstr "" - -#: ../../library/xmlrpc.client.rst:326 -msgid "" -"Accept a base64 :class:`bytes` object and decode it as the instance's new " -"data." -msgstr "" - -#: ../../library/xmlrpc.client.rst:331 -msgid "" -"Write the XML-RPC base 64 encoding of this binary item to the *out* stream " -"object." -msgstr "" - -#: ../../library/xmlrpc.client.rst:333 -msgid "" -"The encoded data will have newlines every 76 characters as per :rfc:`RFC " -"2045 section 6.8 <2045#section-6.8>`, which was the de facto standard base64" -" specification when the XML-RPC spec was written." -msgstr "" - -#: ../../library/xmlrpc.client.rst:338 -msgid "" -"It also supports certain of Python's built-in operators through " -":meth:`~object.__eq__` and :meth:`~object.__ne__` methods." -msgstr "" - -#: ../../library/xmlrpc.client.rst:341 -msgid "" -"Example usage of the binary objects. We're going to transfer an image over " -"XMLRPC::" -msgstr "" - -#: ../../library/xmlrpc.client.rst:344 -msgid "" -"from xmlrpc.server import SimpleXMLRPCServer\n" -"import xmlrpc.client\n" -"\n" -"def python_logo():\n" -" with open(\"python_logo.jpg\", \"rb\") as handle:\n" -" return xmlrpc.client.Binary(handle.read())\n" -"\n" -"server = SimpleXMLRPCServer((\"localhost\", 8000))\n" -"print(\"Listening on port 8000...\")\n" -"server.register_function(python_logo, 'python_logo')\n" -"\n" -"server.serve_forever()" -msgstr "" - -#: ../../library/xmlrpc.client.rst:357 -msgid "The client gets the image and saves it to a file::" -msgstr "" - -#: ../../library/xmlrpc.client.rst:359 -msgid "" -"import xmlrpc.client\n" -"\n" -"proxy = xmlrpc.client.ServerProxy(\"http://localhost:8000/\")\n" -"with open(\"fetched_python_logo.jpg\", \"wb\") as handle:\n" -" handle.write(proxy.python_logo().data)" -msgstr "" - -#: ../../library/xmlrpc.client.rst:368 -msgid "Fault Objects" -msgstr "" - -#: ../../library/xmlrpc.client.rst:372 -msgid "" -"A :class:`Fault` object encapsulates the content of an XML-RPC fault tag. " -"Fault objects have the following attributes:" -msgstr "" - -#: ../../library/xmlrpc.client.rst:378 -msgid "An int indicating the fault type." -msgstr "" - -#: ../../library/xmlrpc.client.rst:383 -msgid "A string containing a diagnostic message associated with the fault." -msgstr "" - -#: ../../library/xmlrpc.client.rst:385 -msgid "" -"In the following example we're going to intentionally cause a :exc:`Fault` " -"by returning a complex type object. The server code::" -msgstr "" - -#: ../../library/xmlrpc.client.rst:388 -msgid "" -"from xmlrpc.server import SimpleXMLRPCServer\n" -"\n" -"# A marshalling error is going to occur because we're returning a\n" -"# complex number\n" -"def add(x, y):\n" -" return x+y+0j\n" -"\n" -"server = SimpleXMLRPCServer((\"localhost\", 8000))\n" -"print(\"Listening on port 8000...\")\n" -"server.register_function(add, 'add')\n" -"\n" -"server.serve_forever()" -msgstr "" - -#: ../../library/xmlrpc.client.rst:403 -msgid "" -"import xmlrpc.client\n" -"\n" -"proxy = xmlrpc.client.ServerProxy(\"http://localhost:8000/\")\n" -"try:\n" -" proxy.add(2, 5)\n" -"except xmlrpc.client.Fault as err:\n" -" print(\"A fault occurred\")\n" -" print(\"Fault code: %d\" % err.faultCode)\n" -" print(\"Fault string: %s\" % err.faultString)" -msgstr "" - -#: ../../library/xmlrpc.client.rst:418 -msgid "ProtocolError Objects" -msgstr "Objek ProtocolError " - -#: ../../library/xmlrpc.client.rst:422 -msgid "" -"A :class:`ProtocolError` object describes a protocol error in the underlying" -" transport layer (such as a 404 'not found' error if the server named by the" -" URI does not exist). It has the following attributes:" -msgstr "" - -#: ../../library/xmlrpc.client.rst:429 -msgid "The URI or URL that triggered the error." -msgstr "URI atau URL yang menyebabkan error." - -#: ../../library/xmlrpc.client.rst:434 -msgid "The error code." -msgstr "Kode errornya" - -#: ../../library/xmlrpc.client.rst:439 -msgid "The error message or diagnostic string." -msgstr "Pesan error atau string diagnosanya" - -#: ../../library/xmlrpc.client.rst:444 -msgid "" -"A dict containing the headers of the HTTP/HTTPS request that triggered the " -"error." -msgstr "" - -#: ../../library/xmlrpc.client.rst:447 -msgid "" -"In the following example we're going to intentionally cause a " -":exc:`ProtocolError` by providing an invalid URI::" -msgstr "" - -#: ../../library/xmlrpc.client.rst:450 -msgid "" -"import xmlrpc.client\n" -"\n" -"# create a ServerProxy with a URI that doesn't respond to XMLRPC requests\n" -"proxy = xmlrpc.client.ServerProxy(\"http://google.com/\")\n" -"\n" -"try:\n" -" proxy.some_method()\n" -"except xmlrpc.client.ProtocolError as err:\n" -" print(\"A protocol error occurred\")\n" -" print(\"URL: %s\" % err.url)\n" -" print(\"HTTP/HTTPS headers: %s\" % err.headers)\n" -" print(\"Error code: %d\" % err.errcode)\n" -" print(\"Error message: %s\" % err.errmsg)" -msgstr "" - -#: ../../library/xmlrpc.client.rst:465 -msgid "MultiCall Objects" -msgstr "Objek MultiCall" - -#: ../../library/xmlrpc.client.rst:467 -msgid "" -"The :class:`MultiCall` object provides a way to encapsulate multiple calls " -"to a remote server into a single request [#]_." -msgstr "" - -#: ../../library/xmlrpc.client.rst:473 -msgid "" -"Create an object used to boxcar method calls. *server* is the eventual " -"target of the call. Calls can be made to the result object, but they will " -"immediately return ``None``, and only store the call name and parameters in " -"the :class:`MultiCall` object. Calling the object itself causes all stored " -"calls to be transmitted as a single ``system.multicall`` request. The result" -" of this call is a :term:`generator`; iterating over this generator yields " -"the individual results." -msgstr "" - -#: ../../library/xmlrpc.client.rst:481 -msgid "A usage example of this class follows. The server code::" -msgstr "" - -#: ../../library/xmlrpc.client.rst:483 -msgid "" -"from xmlrpc.server import SimpleXMLRPCServer\n" -"\n" -"def add(x, y):\n" -" return x + y\n" -"\n" -"def subtract(x, y):\n" -" return x - y\n" -"\n" -"def multiply(x, y):\n" -" return x * y\n" -"\n" -"def divide(x, y):\n" -" return x // y\n" -"\n" -"# A simple server with simple arithmetic functions\n" -"server = SimpleXMLRPCServer((\"localhost\", 8000))\n" -"print(\"Listening on port 8000...\")\n" -"server.register_multicall_functions()\n" -"server.register_function(add, 'add')\n" -"server.register_function(subtract, 'subtract')\n" -"server.register_function(multiply, 'multiply')\n" -"server.register_function(divide, 'divide')\n" -"server.serve_forever()" -msgstr "" - -#: ../../library/xmlrpc.client.rst:509 -msgid "" -"import xmlrpc.client\n" -"\n" -"proxy = xmlrpc.client.ServerProxy(\"http://localhost:8000/\")\n" -"multicall = xmlrpc.client.MultiCall(proxy)\n" -"multicall.add(7, 3)\n" -"multicall.subtract(7, 3)\n" -"multicall.multiply(7, 3)\n" -"multicall.divide(7, 3)\n" -"result = multicall()\n" -"\n" -"print(\"7+3=%d, 7-3=%d, 7*3=%d, 7//3=%d\" % tuple(result))" -msgstr "" - -#: ../../library/xmlrpc.client.rst:523 -msgid "Convenience Functions" -msgstr "Fungsi yang memudahkan" - -#: ../../library/xmlrpc.client.rst:527 -msgid "" -"Convert *params* into an XML-RPC request. or into a response if " -"*methodresponse* is true. *params* can be either a tuple of arguments or an " -"instance of the :exc:`Fault` exception class. If *methodresponse* is true, " -"only a single value can be returned, meaning that *params* must be of length" -" 1. *encoding*, if supplied, is the encoding to use in the generated XML; " -"the default is UTF-8. Python's :const:`None` value cannot be used in " -"standard XML-RPC; to allow using it via an extension, provide a true value " -"for *allow_none*." -msgstr "" - -#: ../../library/xmlrpc.client.rst:538 -msgid "" -"Convert an XML-RPC request or response into Python objects, a ``(params, " -"methodname)``. *params* is a tuple of argument; *methodname* is a string, " -"or ``None`` if no method name is present in the packet. If the XML-RPC " -"packet represents a fault condition, this function will raise a :exc:`Fault`" -" exception. The *use_builtin_types* flag can be used to cause date/time " -"values to be presented as :class:`datetime.datetime` objects and binary data" -" to be presented as :class:`bytes` objects; this flag is false by default." -msgstr "" - -#: ../../library/xmlrpc.client.rst:546 -msgid "" -"The obsolete *use_datetime* flag is similar to *use_builtin_types* but it " -"applies only to date/time values." -msgstr "" -"Penanda *use_datetime* yang obsolete mirip dengan *use_builtin_types* tetapi" -" hanya berlaku untuk nilai tanggal/waktu." - -#: ../../library/xmlrpc.client.rst:556 -msgid "Example of Client Usage" -msgstr "Contoh penggunaan Client" - -#: ../../library/xmlrpc.client.rst:560 -msgid "" -"# simple test program (from the XML-RPC specification)\n" -"from xmlrpc.client import ServerProxy, Error\n" -"\n" -"# server = ServerProxy(\"http://localhost:8000\") # local server\n" -"with ServerProxy(\"http://betty.userland.com\") as proxy:\n" -"\n" -" print(proxy)\n" -"\n" -" try:\n" -" print(proxy.examples.getStateName(41))\n" -" except Error as v:\n" -" print(\"ERROR\", v)" -msgstr "" - -#: ../../library/xmlrpc.client.rst:573 -msgid "" -"To access an XML-RPC server through a HTTP proxy, you need to define a " -"custom transport. The following example shows how::" -msgstr "" -"Untuk mengakses server XML-RPC melalui proksi HTTP, Anda perlu menentukan " -"transport khusus. Contoh berikut menunjukkan caranya ::" - -#: ../../library/xmlrpc.client.rst:576 -msgid "" -"import http.client\n" -"import xmlrpc.client\n" -"\n" -"class ProxiedTransport(xmlrpc.client.Transport):\n" -"\n" -" def set_proxy(self, host, port=None, headers=None):\n" -" self.proxy = host, port\n" -" self.proxy_headers = headers\n" -"\n" -" def make_connection(self, host):\n" -" connection = http.client.HTTPConnection(*self.proxy)\n" -" connection.set_tunnel(host, headers=self.proxy_headers)\n" -" self._connection = host, connection\n" -" return connection\n" -"\n" -"transport = ProxiedTransport()\n" -"transport.set_proxy('proxy-server', 8080)\n" -"server = xmlrpc.client.ServerProxy('http://betty.userland.com', transport=transport)\n" -"print(server.examples.getStateName(41))" -msgstr "" - -#: ../../library/xmlrpc.client.rst:598 -msgid "Example of Client and Server Usage" -msgstr "Contoh penggunaan Client dan Server" - -#: ../../library/xmlrpc.client.rst:600 -msgid "See :ref:`simplexmlrpcserver-example`." -msgstr "Lihat :ref:`simplexmlrpcserver-example`." - -#: ../../library/xmlrpc.client.rst:604 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../library/xmlrpc.client.rst:605 -msgid "" -"This approach has been first presented in `a discussion on xmlrpc.com " -"`_." -msgstr "" -"Pendekatan ini pertama kali ditampilkan pada sebuah diskusi pada `xmlrpc.com" -" " -"`_." diff --git a/python-newest.library--xmlrpc_server/id.po b/python-newest.library--xmlrpc_server/id.po deleted file mode 100644 index 0bce34f..0000000 --- a/python-newest.library--xmlrpc_server/id.po +++ /dev/null @@ -1,499 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# LIQRGV , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: LIQRGV , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/xmlrpc.server.rst:2 -msgid ":mod:`!xmlrpc.server` --- Basic XML-RPC servers" -msgstr "" - -#: ../../library/xmlrpc.server.rst:10 -msgid "**Source code:** :source:`Lib/xmlrpc/server.py`" -msgstr "" - -#: ../../library/xmlrpc.server.rst:14 -msgid "" -"The :mod:`xmlrpc.server` module provides a basic server framework for XML-" -"RPC servers written in Python. Servers can either be free standing, using " -":class:`SimpleXMLRPCServer`, or embedded in a CGI environment, using " -":class:`CGIXMLRPCRequestHandler`." -msgstr "" - -#: ../../library/xmlrpc.server.rst:22 -msgid "" -"The :mod:`xmlrpc.server` module is not secure against maliciously " -"constructed data. If you need to parse untrusted or unauthenticated data " -"see :ref:`xml-vulnerabilities`." -msgstr "" - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/xmlrpc.server.rst:32 -msgid "" -"Create a new server instance. This class provides methods for registration " -"of functions that can be called by the XML-RPC protocol. The " -"*requestHandler* parameter should be a factory for request handler " -"instances; it defaults to :class:`SimpleXMLRPCRequestHandler`. The *addr* " -"and *requestHandler* parameters are passed to the " -":class:`socketserver.TCPServer` constructor. If *logRequests* is true (the " -"default), requests will be logged; setting this parameter to false will turn" -" off logging. The *allow_none* and *encoding* parameters are passed on to " -":mod:`xmlrpc.client` and control the XML-RPC responses that will be returned" -" from the server. The *bind_and_activate* parameter controls whether " -":meth:`server_bind` and :meth:`server_activate` are called immediately by " -"the constructor; it defaults to true. Setting it to false allows code to " -"manipulate the *allow_reuse_address* class variable before the address is " -"bound. The *use_builtin_types* parameter is passed to the " -":func:`~xmlrpc.client.loads` function and controls which types are processed" -" when date/times values or binary data are received; it defaults to false." -msgstr "" - -#: ../../library/xmlrpc.server.rst:48 ../../library/xmlrpc.server.rst:62 -#: ../../library/xmlrpc.server.rst:374 -msgid "The *use_builtin_types* flag was added." -msgstr "Penanda *use_builtin_types* ditambahkan." - -#: ../../library/xmlrpc.server.rst:55 -msgid "" -"Create a new instance to handle XML-RPC requests in a CGI environment. The " -"*allow_none* and *encoding* parameters are passed on to :mod:`xmlrpc.client`" -" and control the XML-RPC responses that will be returned from the server. " -"The *use_builtin_types* parameter is passed to the " -":func:`~xmlrpc.client.loads` function and controls which types are processed" -" when date/times values or binary data are received; it defaults to false." -msgstr "" - -#: ../../library/xmlrpc.server.rst:68 -msgid "" -"Create a new request handler instance. This request handler supports " -"``POST`` requests and modifies logging so that the *logRequests* parameter " -"to the :class:`SimpleXMLRPCServer` constructor parameter is honored." -msgstr "" - -#: ../../library/xmlrpc.server.rst:76 -msgid "SimpleXMLRPCServer Objects" -msgstr "" - -#: ../../library/xmlrpc.server.rst:78 -msgid "" -"The :class:`SimpleXMLRPCServer` class is based on " -":class:`socketserver.TCPServer` and provides a means of creating simple, " -"stand alone XML-RPC servers." -msgstr "" - -#: ../../library/xmlrpc.server.rst:85 ../../library/xmlrpc.server.rst:299 -msgid "" -"Register a function that can respond to XML-RPC requests. If *name* is " -"given, it will be the method name associated with *function*, otherwise " -":attr:`function.__name__` will be used. *name* is a string, and may contain" -" characters not legal in Python identifiers, including the period character." -msgstr "" - -#: ../../library/xmlrpc.server.rst:90 ../../library/xmlrpc.server.rst:304 -msgid "" -"This method can also be used as a decorator. When used as a decorator, " -"*name* can only be given as a keyword argument to register *function* under " -"*name*. If no *name* is given, :attr:`function.__name__` will be used." -msgstr "" - -#: ../../library/xmlrpc.server.rst:94 ../../library/xmlrpc.server.rst:308 -msgid ":meth:`register_function` can be used as a decorator." -msgstr "" - -#: ../../library/xmlrpc.server.rst:100 -msgid "" -"Register an object which is used to expose method names which have not been " -"registered using :meth:`register_function`. If *instance* contains a " -":meth:`_dispatch` method, it is called with the requested method name and " -"the parameters from the request. Its API is ``def _dispatch(self, method, " -"params)`` (note that *params* does not represent a variable argument list)." -" If it calls an underlying function to perform its task, that function is " -"called as ``func(*params)``, expanding the parameter list. The return value " -"from :meth:`_dispatch` is returned to the client as the result. If " -"*instance* does not have a :meth:`_dispatch` method, it is searched for an " -"attribute matching the name of the requested method." -msgstr "" - -#: ../../library/xmlrpc.server.rst:111 -msgid "" -"If the optional *allow_dotted_names* argument is true and the instance does " -"not have a :meth:`_dispatch` method, then if the requested method name " -"contains periods, each component of the method name is searched for " -"individually, with the effect that a simple hierarchical search is " -"performed. The value found from this search is then called with the " -"parameters from the request, and the return value is passed back to the " -"client." -msgstr "" - -#: ../../library/xmlrpc.server.rst:120 -msgid "" -"Enabling the *allow_dotted_names* option allows intruders to access your " -"module's global variables and may allow intruders to execute arbitrary code " -"on your machine. Only use this option on a secure, closed network." -msgstr "" - -#: ../../library/xmlrpc.server.rst:127 -msgid "" -"Registers the XML-RPC introspection functions ``system.listMethods``, " -"``system.methodHelp`` and ``system.methodSignature``." -msgstr "" - -#: ../../library/xmlrpc.server.rst:133 -msgid "Registers the XML-RPC multicall function system.multicall." -msgstr "" - -#: ../../library/xmlrpc.server.rst:138 -msgid "" -"An attribute value that must be a tuple listing valid path portions of the " -"URL for receiving XML-RPC requests. Requests posted to other paths will " -"result in a 404 \"no such page\" HTTP error. If this tuple is empty, all " -"paths will be considered valid. The default value is ``('/', '/RPC2')``." -msgstr "" - -#: ../../library/xmlrpc.server.rst:147 -msgid "SimpleXMLRPCServer Example" -msgstr "" - -#: ../../library/xmlrpc.server.rst:148 -msgid "Server code::" -msgstr "" - -#: ../../library/xmlrpc.server.rst:150 -msgid "" -"from xmlrpc.server import SimpleXMLRPCServer\n" -"from xmlrpc.server import SimpleXMLRPCRequestHandler\n" -"\n" -"# Restrict to a particular path.\n" -"class RequestHandler(SimpleXMLRPCRequestHandler):\n" -" rpc_paths = ('/RPC2',)\n" -"\n" -"# Create server\n" -"with SimpleXMLRPCServer(('localhost', 8000),\n" -" requestHandler=RequestHandler) as server:\n" -" server.register_introspection_functions()\n" -"\n" -" # Register pow() function; this will use the value of\n" -" # pow.__name__ as the name, which is just 'pow'.\n" -" server.register_function(pow)\n" -"\n" -" # Register a function under a different name\n" -" def adder_function(x, y):\n" -" return x + y\n" -" server.register_function(adder_function, 'add')\n" -"\n" -" # Register an instance; all the methods of the instance are\n" -" # published as XML-RPC methods (in this case, just 'mul').\n" -" class MyFuncs:\n" -" def mul(self, x, y):\n" -" return x * y\n" -"\n" -" server.register_instance(MyFuncs())\n" -"\n" -" # Run the server's main loop\n" -" server.serve_forever()" -msgstr "" - -#: ../../library/xmlrpc.server.rst:182 -msgid "" -"The following client code will call the methods made available by the " -"preceding server::" -msgstr "" - -#: ../../library/xmlrpc.server.rst:185 -msgid "" -"import xmlrpc.client\n" -"\n" -"s = xmlrpc.client.ServerProxy('http://localhost:8000')\n" -"print(s.pow(2,3)) # Returns 2**3 = 8\n" -"print(s.add(2,3)) # Returns 5\n" -"print(s.mul(5,2)) # Returns 5*2 = 10\n" -"\n" -"# Print list of available methods\n" -"print(s.system.listMethods())" -msgstr "" - -#: ../../library/xmlrpc.server.rst:195 -msgid "" -":meth:`register_function` can also be used as a decorator. The previous " -"server example can register functions in a decorator way::" -msgstr "" - -#: ../../library/xmlrpc.server.rst:198 -msgid "" -"from xmlrpc.server import SimpleXMLRPCServer\n" -"from xmlrpc.server import SimpleXMLRPCRequestHandler\n" -"\n" -"class RequestHandler(SimpleXMLRPCRequestHandler):\n" -" rpc_paths = ('/RPC2',)\n" -"\n" -"with SimpleXMLRPCServer(('localhost', 8000),\n" -" requestHandler=RequestHandler) as server:\n" -" server.register_introspection_functions()\n" -"\n" -" # Register pow() function; this will use the value of\n" -" # pow.__name__ as the name, which is just 'pow'.\n" -" server.register_function(pow)\n" -"\n" -" # Register a function under a different name, using\n" -" # register_function as a decorator. *name* can only be given\n" -" # as a keyword argument.\n" -" @server.register_function(name='add')\n" -" def adder_function(x, y):\n" -" return x + y\n" -"\n" -" # Register a function under function.__name__.\n" -" @server.register_function\n" -" def mul(x, y):\n" -" return x * y\n" -"\n" -" server.serve_forever()" -msgstr "" - -#: ../../library/xmlrpc.server.rst:226 -msgid "" -"The following example included in the :file:`Lib/xmlrpc/server.py` module " -"shows a server allowing dotted names and registering a multicall function." -msgstr "" - -#: ../../library/xmlrpc.server.rst:231 -msgid "" -"Enabling the *allow_dotted_names* option allows intruders to access your " -"module's global variables and may allow intruders to execute arbitrary code " -"on your machine. Only use this example only within a secure, closed " -"network." -msgstr "" - -#: ../../library/xmlrpc.server.rst:237 -msgid "" -"import datetime\n" -"\n" -"class ExampleService:\n" -" def getData(self):\n" -" return '42'\n" -"\n" -" class currentTime:\n" -" @staticmethod\n" -" def getCurrentTime():\n" -" return datetime.datetime.now()\n" -"\n" -"with SimpleXMLRPCServer((\"localhost\", 8000)) as server:\n" -" server.register_function(pow)\n" -" server.register_function(lambda x,y: x+y, 'add')\n" -" server.register_instance(ExampleService(), allow_dotted_names=True)\n" -" server.register_multicall_functions()\n" -" print('Serving XML-RPC on localhost port 8000')\n" -" try:\n" -" server.serve_forever()\n" -" except KeyboardInterrupt:\n" -" print(\"\\nKeyboard interrupt received, exiting.\")\n" -" sys.exit(0)" -msgstr "" - -#: ../../library/xmlrpc.server.rst:260 -msgid "This ExampleService demo can be invoked from the command line::" -msgstr "" - -#: ../../library/xmlrpc.server.rst:262 -msgid "python -m xmlrpc.server" -msgstr "" - -#: ../../library/xmlrpc.server.rst:265 -msgid "" -"The client that interacts with the above server is included in " -"``Lib/xmlrpc/client.py``::" -msgstr "" - -#: ../../library/xmlrpc.server.rst:268 -msgid "" -"server = ServerProxy(\"http://localhost:8000\")\n" -"\n" -"try:\n" -" print(server.currentTime.getCurrentTime())\n" -"except Error as v:\n" -" print(\"ERROR\", v)\n" -"\n" -"multi = MultiCall(server)\n" -"multi.getData()\n" -"multi.pow(2,9)\n" -"multi.add(1,2)\n" -"try:\n" -" for response in multi():\n" -" print(response)\n" -"except Error as v:\n" -" print(\"ERROR\", v)" -msgstr "" - -#: ../../library/xmlrpc.server.rst:285 -msgid "" -"This client which interacts with the demo XMLRPC server can be invoked as::" -msgstr "" - -#: ../../library/xmlrpc.server.rst:287 -msgid "python -m xmlrpc.client" -msgstr "" - -#: ../../library/xmlrpc.server.rst:291 -msgid "CGIXMLRPCRequestHandler" -msgstr "" - -#: ../../library/xmlrpc.server.rst:293 -msgid "" -"The :class:`CGIXMLRPCRequestHandler` class can be used to handle XML-RPC " -"requests sent to Python CGI scripts." -msgstr "" - -#: ../../library/xmlrpc.server.rst:314 -msgid "" -"Register an object which is used to expose method names which have not been" -" registered using :meth:`register_function`. If instance contains a " -":meth:`_dispatch` method, it is called with the requested method name and " -"the parameters from the request; the return value is returned to the client" -" as the result. If instance does not have a :meth:`_dispatch` method, it is " -"searched for an attribute matching the name of the requested method; if the" -" requested method name contains periods, each component of the method name " -"is searched for individually, with the effect that a simple hierarchical " -"search is performed. The value found from this search is then called with " -"the parameters from the request, and the return value is passed back to " -"the client." -msgstr "" - -#: ../../library/xmlrpc.server.rst:328 -msgid "" -"Register the XML-RPC introspection functions ``system.listMethods``, " -"``system.methodHelp`` and ``system.methodSignature``." -msgstr "" - -#: ../../library/xmlrpc.server.rst:334 -msgid "Register the XML-RPC multicall function ``system.multicall``." -msgstr "" - -#: ../../library/xmlrpc.server.rst:339 -msgid "" -"Handle an XML-RPC request. If *request_text* is given, it should be the POST" -" data provided by the HTTP server, otherwise the contents of stdin will be " -"used." -msgstr "" - -#: ../../library/xmlrpc.server.rst:342 -msgid "Example::" -msgstr "Contoh::" - -#: ../../library/xmlrpc.server.rst:344 -msgid "" -"class MyFuncs:\n" -" def mul(self, x, y):\n" -" return x * y\n" -"\n" -"\n" -"handler = CGIXMLRPCRequestHandler()\n" -"handler.register_function(pow)\n" -"handler.register_function(lambda x,y: x+y, 'add')\n" -"handler.register_introspection_functions()\n" -"handler.register_instance(MyFuncs())\n" -"handler.handle_request()" -msgstr "" - -#: ../../library/xmlrpc.server.rst:358 -msgid "Documenting XMLRPC server" -msgstr "" - -#: ../../library/xmlrpc.server.rst:360 -msgid "" -"These classes extend the above classes to serve HTML documentation in " -"response to HTTP GET requests. Servers can either be free standing, using " -":class:`DocXMLRPCServer`, or embedded in a CGI environment, using " -":class:`DocCGIXMLRPCRequestHandler`." -msgstr "" - -#: ../../library/xmlrpc.server.rst:370 -msgid "" -"Create a new server instance. All parameters have the same meaning as for " -":class:`SimpleXMLRPCServer`; *requestHandler* defaults to " -":class:`DocXMLRPCRequestHandler`." -msgstr "" - -#: ../../library/xmlrpc.server.rst:380 -msgid "Create a new instance to handle XML-RPC requests in a CGI environment." -msgstr "" - -#: ../../library/xmlrpc.server.rst:385 -msgid "" -"Create a new request handler instance. This request handler supports XML-RPC" -" POST requests, documentation GET requests, and modifies logging so that the" -" *logRequests* parameter to the :class:`DocXMLRPCServer` constructor " -"parameter is honored." -msgstr "" - -#: ../../library/xmlrpc.server.rst:394 -msgid "DocXMLRPCServer Objects" -msgstr "" - -#: ../../library/xmlrpc.server.rst:396 -msgid "" -"The :class:`DocXMLRPCServer` class is derived from " -":class:`SimpleXMLRPCServer` and provides a means of creating self-" -"documenting, stand alone XML-RPC servers. HTTP POST requests are handled as " -"XML-RPC method calls. HTTP GET requests are handled by generating pydoc-" -"style HTML documentation. This allows a server to provide its own web-based " -"documentation." -msgstr "" - -#: ../../library/xmlrpc.server.rst:405 ../../library/xmlrpc.server.rst:433 -msgid "" -"Set the title used in the generated HTML documentation. This title will be " -"used inside the HTML \"title\" element." -msgstr "" - -#: ../../library/xmlrpc.server.rst:411 ../../library/xmlrpc.server.rst:439 -msgid "" -"Set the name used in the generated HTML documentation. This name will appear" -" at the top of the generated documentation inside a \"h1\" element." -msgstr "" - -#: ../../library/xmlrpc.server.rst:417 ../../library/xmlrpc.server.rst:445 -msgid "" -"Set the description used in the generated HTML documentation. This " -"description will appear as a paragraph, below the server name, in the " -"documentation." -msgstr "" - -#: ../../library/xmlrpc.server.rst:422 -msgid "DocCGIXMLRPCRequestHandler" -msgstr "" - -#: ../../library/xmlrpc.server.rst:424 -msgid "" -"The :class:`DocCGIXMLRPCRequestHandler` class is derived from " -":class:`CGIXMLRPCRequestHandler` and provides a means of creating self-" -"documenting, XML-RPC CGI scripts. HTTP POST requests are handled as XML-RPC " -"method calls. HTTP GET requests are handled by generating pydoc-style HTML " -"documentation. This allows a server to provide its own web-based " -"documentation." -msgstr "" diff --git a/python-newest.library--zipapp/id.po b/python-newest.library--zipapp/id.po deleted file mode 100644 index c79dfce..0000000 --- a/python-newest.library--zipapp/id.po +++ /dev/null @@ -1,516 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/zipapp.rst:2 -msgid ":mod:`!zipapp` --- Manage executable Python zip archives" -msgstr "" - -#: ../../library/zipapp.rst:9 -msgid "**Source code:** :source:`Lib/zipapp.py`" -msgstr "" - -#: ../../library/zipapp.rst:16 -msgid "" -"This module provides tools to manage the creation of zip files containing " -"Python code, which can be :ref:`executed directly by the Python interpreter" -" `. The module provides both a :ref:`zipapp-" -"command-line-interface` and a :ref:`zipapp-python-api`." -msgstr "" - -#: ../../library/zipapp.rst:23 -msgid "Basic Example" -msgstr "" - -#: ../../library/zipapp.rst:25 -msgid "" -"The following example shows how the :ref:`zipapp-command-line-interface` can" -" be used to create an executable archive from a directory containing Python " -"code. When run, the archive will execute the ``main`` function from the " -"module ``myapp`` in the archive." -msgstr "" - -#: ../../library/zipapp.rst:30 -msgid "" -"$ python -m zipapp myapp -m \"myapp:main\"\n" -"$ python myapp.pyz\n" -"" -msgstr "" - -#: ../../library/zipapp.rst:40 -msgid "Command-Line Interface" -msgstr "" - -#: ../../library/zipapp.rst:42 -msgid "" -"When called as a program from the command line, the following form is used:" -msgstr "" - -#: ../../library/zipapp.rst:44 -msgid "$ python -m zipapp source [options]" -msgstr "" - -#: ../../library/zipapp.rst:48 -msgid "" -"If *source* is a directory, this will create an archive from the contents of" -" *source*. If *source* is a file, it should be an archive, and it will be " -"copied to the target archive (or the contents of its shebang line will be " -"displayed if the --info option is specified)." -msgstr "" - -#: ../../library/zipapp.rst:53 -msgid "The following options are understood:" -msgstr "" - -#: ../../library/zipapp.rst:59 -msgid "" -"Write the output to a file named *output*. If this option is not specified," -" the output filename will be the same as the input *source*, with the " -"extension ``.pyz`` added. If an explicit filename is given, it is used as " -"is (so a ``.pyz`` extension should be included if required)." -msgstr "" - -#: ../../library/zipapp.rst:64 -msgid "" -"An output filename must be specified if the *source* is an archive (and in " -"that case, *output* must not be the same as *source*)." -msgstr "" - -#: ../../library/zipapp.rst:69 -msgid "" -"Add a ``#!`` line to the archive specifying *interpreter* as the command to " -"run. Also, on POSIX, make the archive executable. The default is to write " -"no ``#!`` line, and not make the file executable." -msgstr "" - -#: ../../library/zipapp.rst:75 -msgid "" -"Write a ``__main__.py`` file to the archive that executes *mainfn*. The " -"*mainfn* argument should have the form \"pkg.mod:fn\", where \"pkg.mod\" is " -"a package/module in the archive, and \"fn\" is a callable in the given " -"module. The ``__main__.py`` file will execute that callable." -msgstr "" - -#: ../../library/zipapp.rst:80 -msgid ":option:`--main` cannot be specified when copying an archive." -msgstr "" - -#: ../../library/zipapp.rst:84 -msgid "" -"Compress files with the deflate method, reducing the size of the output " -"file. By default, files are stored uncompressed in the archive." -msgstr "" - -#: ../../library/zipapp.rst:87 -msgid ":option:`--compress` has no effect when copying an archive." -msgstr "" - -#: ../../library/zipapp.rst:93 -msgid "" -"Display the interpreter embedded in the archive, for diagnostic purposes. " -"In this case, any other options are ignored and SOURCE must be an archive, " -"not a directory." -msgstr "" - -#: ../../library/zipapp.rst:99 -msgid "Print a short usage message and exit." -msgstr "" - -#: ../../library/zipapp.rst:105 -msgid "Python API" -msgstr "" - -#: ../../library/zipapp.rst:107 -msgid "The module defines two convenience functions:" -msgstr "" - -#: ../../library/zipapp.rst:112 -msgid "" -"Create an application archive from *source*. The source can be any of the " -"following:" -msgstr "" - -#: ../../library/zipapp.rst:115 -msgid "" -"The name of a directory, or a :term:`path-like object` referring to a " -"directory, in which case a new application archive will be created from the " -"content of that directory." -msgstr "" - -#: ../../library/zipapp.rst:118 -msgid "" -"The name of an existing application archive file, or a :term:`path-like " -"object` referring to such a file, in which case the file is copied to the " -"target (modifying it to reflect the value given for the *interpreter* " -"argument). The file name should include the ``.pyz`` extension, if " -"required." -msgstr "" - -#: ../../library/zipapp.rst:122 -msgid "" -"A file object open for reading in bytes mode. The content of the file " -"should be an application archive, and the file object is assumed to be " -"positioned at the start of the archive." -msgstr "" - -#: ../../library/zipapp.rst:126 -msgid "" -"The *target* argument determines where the resulting archive will be " -"written:" -msgstr "" - -#: ../../library/zipapp.rst:129 -msgid "" -"If it is the name of a file, or a :term:`path-like object`, the archive will" -" be written to that file." -msgstr "" - -#: ../../library/zipapp.rst:131 -msgid "" -"If it is an open file object, the archive will be written to that file " -"object, which must be open for writing in bytes mode." -msgstr "" - -#: ../../library/zipapp.rst:133 -msgid "" -"If the target is omitted (or ``None``), the source must be a directory and " -"the target will be a file with the same name as the source, with a ``.pyz`` " -"extension added." -msgstr "" - -#: ../../library/zipapp.rst:137 -msgid "" -"The *interpreter* argument specifies the name of the Python interpreter with" -" which the archive will be executed. It is written as a \"shebang\" line at" -" the start of the archive. On POSIX, this will be interpreted by the OS, " -"and on Windows it will be handled by the Python launcher. Omitting the " -"*interpreter* results in no shebang line being written. If an interpreter " -"is specified, and the target is a filename, the executable bit of the target" -" file will be set." -msgstr "" - -#: ../../library/zipapp.rst:145 -msgid "" -"The *main* argument specifies the name of a callable which will be used as " -"the main program for the archive. It can only be specified if the source is" -" a directory, and the source does not already contain a ``__main__.py`` " -"file. The *main* argument should take the form \"pkg.module:callable\" and " -"the archive will be run by importing \"pkg.module\" and executing the given " -"callable with no arguments. It is an error to omit *main* if the source is " -"a directory and does not contain a ``__main__.py`` file, as otherwise the " -"resulting archive would not be executable." -msgstr "" - -#: ../../library/zipapp.rst:155 -msgid "" -"The optional *filter* argument specifies a callback function that is passed " -"a Path object representing the path to the file being added (relative to the" -" source directory). It should return ``True`` if the file is to be added." -msgstr "" - -#: ../../library/zipapp.rst:160 -msgid "" -"The optional *compressed* argument determines whether files are compressed." -" If set to ``True``, files in the archive are compressed with the deflate " -"method; otherwise, files are stored uncompressed. This argument has no " -"effect when copying an existing archive." -msgstr "" - -#: ../../library/zipapp.rst:165 -msgid "" -"If a file object is specified for *source* or *target*, it is the caller's " -"responsibility to close it after calling create_archive." -msgstr "" - -#: ../../library/zipapp.rst:168 -msgid "" -"When copying an existing archive, file objects supplied only need ``read`` " -"and ``readline``, or ``write`` methods. When creating an archive from a " -"directory, if the target is a file object it will be passed to the " -"``zipfile.ZipFile`` class, and must supply the methods needed by that class." -msgstr "" - -#: ../../library/zipapp.rst:174 -msgid "Added the *filter* and *compressed* parameters." -msgstr "" - -#: ../../library/zipapp.rst:179 -msgid "" -"Return the interpreter specified in the ``#!`` line at the start of the " -"archive. If there is no ``#!`` line, return :const:`None`. The *archive* " -"argument can be a filename or a file-like object open for reading in bytes " -"mode. It is assumed to be at the start of the archive." -msgstr "" - -#: ../../library/zipapp.rst:188 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/zipapp.rst:190 -msgid "Pack up a directory into an archive, and run it." -msgstr "" - -#: ../../library/zipapp.rst:192 -msgid "" -"$ python -m zipapp myapp\n" -"$ python myapp.pyz\n" -"" -msgstr "" - -#: ../../library/zipapp.rst:198 -msgid "The same can be done using the :func:`create_archive` function::" -msgstr "" - -#: ../../library/zipapp.rst:200 -msgid "" -">>> import zipapp\n" -">>> zipapp.create_archive('myapp', 'myapp.pyz')" -msgstr "" - -#: ../../library/zipapp.rst:203 -msgid "" -"To make the application directly executable on POSIX, specify an interpreter" -" to use." -msgstr "" - -#: ../../library/zipapp.rst:206 -msgid "" -"$ python -m zipapp myapp -p \"/usr/bin/env python\"\n" -"$ ./myapp.pyz\n" -"" -msgstr "" - -#: ../../library/zipapp.rst:212 -msgid "" -"To replace the shebang line on an existing archive, create a modified " -"archive using the :func:`create_archive` function::" -msgstr "" - -#: ../../library/zipapp.rst:215 -msgid "" -">>> import zipapp\n" -">>> zipapp.create_archive('old_archive.pyz', 'new_archive.pyz', '/usr/bin/python3')" -msgstr "" - -#: ../../library/zipapp.rst:218 -msgid "" -"To update the file in place, do the replacement in memory using a " -":class:`~io.BytesIO` object, and then overwrite the source afterwards. Note" -" that there is a risk when overwriting a file in place that an error will " -"result in the loss of the original file. This code does not protect against" -" such errors, but production code should do so. Also, this method will only" -" work if the archive fits in memory::" -msgstr "" - -#: ../../library/zipapp.rst:225 -msgid "" -">>> import zipapp\n" -">>> import io\n" -">>> temp = io.BytesIO()\n" -">>> zipapp.create_archive('myapp.pyz', temp, '/usr/bin/python2')\n" -">>> with open('myapp.pyz', 'wb') as f:\n" -">>> f.write(temp.getvalue())" -msgstr "" - -#: ../../library/zipapp.rst:236 -msgid "Specifying the Interpreter" -msgstr "" - -#: ../../library/zipapp.rst:238 -msgid "" -"Note that if you specify an interpreter and then distribute your application" -" archive, you need to ensure that the interpreter used is portable. The " -"Python launcher for Windows supports most common forms of POSIX ``#!`` line," -" but there are other issues to consider:" -msgstr "" - -#: ../../library/zipapp.rst:243 -msgid "" -"If you use \"/usr/bin/env python\" (or other forms of the \"python\" " -"command, such as \"/usr/bin/python\"), you need to consider that your users " -"may have either Python 2 or Python 3 as their default, and write your code " -"to work under both versions." -msgstr "" - -#: ../../library/zipapp.rst:247 -msgid "" -"If you use an explicit version, for example \"/usr/bin/env python3\" your " -"application will not work for users who do not have that version. (This may" -" be what you want if you have not made your code Python 2 compatible)." -msgstr "" - -#: ../../library/zipapp.rst:250 -msgid "" -"There is no way to say \"python X.Y or later\", so be careful of using an " -"exact version like \"/usr/bin/env python3.4\" as you will need to change " -"your shebang line for users of Python 3.5, for example." -msgstr "" - -#: ../../library/zipapp.rst:254 -msgid "" -"Typically, you should use an \"/usr/bin/env python2\" or \"/usr/bin/env " -"python3\", depending on whether your code is written for Python 2 or 3." -msgstr "" - -#: ../../library/zipapp.rst:259 -msgid "Creating Standalone Applications with zipapp" -msgstr "" - -#: ../../library/zipapp.rst:261 -msgid "" -"Using the :mod:`zipapp` module, it is possible to create self-contained " -"Python programs, which can be distributed to end users who only need to have" -" a suitable version of Python installed on their system. The key to doing " -"this is to bundle all of the application's dependencies into the archive, " -"along with the application code." -msgstr "" - -#: ../../library/zipapp.rst:267 -msgid "The steps to create a standalone archive are as follows:" -msgstr "" - -#: ../../library/zipapp.rst:269 -msgid "" -"Create your application in a directory as normal, so you have a ``myapp`` " -"directory containing a ``__main__.py`` file, and any supporting application " -"code." -msgstr "" - -#: ../../library/zipapp.rst:273 -msgid "" -"Install all of your application's dependencies into the ``myapp`` directory," -" using pip:" -msgstr "" - -#: ../../library/zipapp.rst:276 -msgid "$ python -m pip install -r requirements.txt --target myapp" -msgstr "" - -#: ../../library/zipapp.rst:280 -msgid "" -"(this assumes you have your project requirements in a ``requirements.txt`` " -"file - if not, you can just list the dependencies manually on the pip " -"command line)." -msgstr "" - -#: ../../library/zipapp.rst:284 -msgid "Package the application using:" -msgstr "" - -#: ../../library/zipapp.rst:286 -msgid "$ python -m zipapp -p \"interpreter\" myapp" -msgstr "" - -#: ../../library/zipapp.rst:290 -msgid "" -"This will produce a standalone executable, which can be run on any machine " -"with the appropriate interpreter available. See :ref:`zipapp-specifying-the-" -"interpreter` for details. It can be shipped to users as a single file." -msgstr "" - -#: ../../library/zipapp.rst:294 -msgid "" -"On Unix, the ``myapp.pyz`` file is executable as it stands. You can rename " -"the file to remove the ``.pyz`` extension if you prefer a \"plain\" command " -"name. On Windows, the ``myapp.pyz[w]`` file is executable by virtue of the " -"fact that the Python interpreter registers the ``.pyz`` and ``.pyzw`` file " -"extensions when installed." -msgstr "" - -#: ../../library/zipapp.rst:302 -msgid "Caveats" -msgstr "" - -#: ../../library/zipapp.rst:304 -msgid "" -"If your application depends on a package that includes a C extension, that " -"package cannot be run from a zip file (this is an OS limitation, as " -"executable code must be present in the filesystem for the OS loader to load " -"it). In this case, you can exclude that dependency from the zipfile, and " -"either require your users to have it installed, or ship it alongside your " -"zipfile and add code to your ``__main__.py`` to include the directory " -"containing the unzipped module in ``sys.path``. In this case, you will need " -"to make sure to ship appropriate binaries for your target architecture(s) " -"(and potentially pick the correct version to add to ``sys.path`` at runtime," -" based on the user's machine)." -msgstr "" - -#: ../../library/zipapp.rst:316 -msgid "The Python Zip Application Archive Format" -msgstr "" - -#: ../../library/zipapp.rst:318 -msgid "" -"Python has been able to execute zip files which contain a ``__main__.py`` " -"file since version 2.6. In order to be executed by Python, an application " -"archive simply has to be a standard zip file containing a ``__main__.py`` " -"file which will be run as the entry point for the application. As usual for" -" any Python script, the parent of the script (in this case the zip file) " -"will be placed on :data:`sys.path` and thus further modules can be imported " -"from the zip file." -msgstr "" - -#: ../../library/zipapp.rst:325 -msgid "" -"The zip file format allows arbitrary data to be prepended to a zip file. " -"The zip application format uses this ability to prepend a standard POSIX " -"\"shebang\" line to the file (``#!/path/to/interpreter``)." -msgstr "" - -#: ../../library/zipapp.rst:329 -msgid "Formally, the Python zip application format is therefore:" -msgstr "" - -#: ../../library/zipapp.rst:331 -msgid "" -"An optional shebang line, containing the characters ``b'#!'`` followed by an" -" interpreter name, and then a newline (``b'\\n'``) character. The " -"interpreter name can be anything acceptable to the OS \"shebang\" " -"processing, or the Python launcher on Windows. The interpreter should be " -"encoded in UTF-8 on Windows, and in :func:`sys.getfilesystemencoding` on " -"POSIX." -msgstr "" - -#: ../../library/zipapp.rst:336 -msgid "" -"Standard zipfile data, as generated by the :mod:`zipfile` module. The " -"zipfile content *must* include a file called ``__main__.py`` (which must be " -"in the \"root\" of the zipfile - i.e., it cannot be in a subdirectory). The" -" zipfile data can be compressed or uncompressed." -msgstr "" - -#: ../../library/zipapp.rst:341 -msgid "" -"If an application archive has a shebang line, it may have the executable bit" -" set on POSIX systems, to allow it to be executed directly." -msgstr "" - -#: ../../library/zipapp.rst:344 -msgid "" -"There is no requirement that the tools in this module are used to create " -"application archives - the module is a convenience, but archives in the " -"above format created by any means are acceptable to Python." -msgstr "" - -#: ../../library/zipapp.rst:11 -msgid "Executable Zip Files" -msgstr "" diff --git a/python-newest.library--zipfile/id.po b/python-newest.library--zipfile/id.po deleted file mode 100644 index c3bb8f0..0000000 --- a/python-newest.library--zipfile/id.po +++ /dev/null @@ -1,1238 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/zipfile.rst:2 -msgid ":mod:`!zipfile` --- Work with ZIP archives" -msgstr "" - -#: ../../library/zipfile.rst:10 -msgid "**Source code:** :source:`Lib/zipfile/`" -msgstr "" - -#: ../../library/zipfile.rst:14 -msgid "" -"The ZIP file format is a common archive and compression standard. This " -"module provides tools to create, read, write, append, and list a ZIP file. " -"Any advanced use of this module will require an understanding of the format," -" as defined in `PKZIP Application Note`_." -msgstr "" - -#: ../../library/zipfile.rst:19 -msgid "" -"This module does not currently handle multi-disk ZIP files. It can handle " -"ZIP files that use the ZIP64 extensions (that is ZIP files that are more " -"than 4 GiB in size). It supports decryption of encrypted files in ZIP " -"archives, but it currently cannot create an encrypted file. Decryption is " -"extremely slow as it is implemented in native Python rather than C." -msgstr "" - -#: ../../library/zipfile.rst:26 -msgid "The module defines the following items:" -msgstr "" - -#: ../../library/zipfile.rst:30 -msgid "The error raised for bad ZIP files." -msgstr "" - -#: ../../library/zipfile.rst:37 -msgid "" -"Alias of :exc:`BadZipFile`, for compatibility with older Python versions." -msgstr "" - -#: ../../library/zipfile.rst:44 -msgid "" -"The error raised when a ZIP file would require ZIP64 functionality but that " -"has not been enabled." -msgstr "" - -#: ../../library/zipfile.rst:51 -msgid "" -"The class for reading and writing ZIP files. See section :ref:`zipfile-" -"objects` for constructor details." -msgstr "" - -#: ../../library/zipfile.rst:58 -msgid "" -"Class that implements a subset of the interface provided by " -":class:`pathlib.Path`, including the full " -":class:`importlib.resources.abc.Traversable` interface." -msgstr "" - -#: ../../library/zipfile.rst:68 -msgid "Class for creating ZIP archives containing Python libraries." -msgstr "" - -#: ../../library/zipfile.rst:73 -msgid "" -"Class used to represent information about a member of an archive. Instances " -"of this class are returned by the :meth:`.getinfo` and :meth:`.infolist` " -"methods of :class:`ZipFile` objects. Most users of the :mod:`zipfile` " -"module will not need to create these, but only use those created by this " -"module. *filename* should be the full name of the archive member, and " -"*date_time* should be a tuple containing six fields which describe the time " -"of the last modification to the file; the fields are described in section " -":ref:`zipinfo-objects`." -msgstr "" - -#: ../../library/zipfile.rst:82 -msgid "" -"A public :attr:`!compress_level` attribute has been added to expose the " -"formerly protected :attr:`!_compresslevel`. The older protected name " -"continues to work as a property for backwards compatibility." -msgstr "" - -#: ../../library/zipfile.rst:90 -msgid "" -"Resolve the date_time, compression attributes, and external attributes to " -"suitable defaults as used by :meth:`ZipFile.writestr`." -msgstr "" - -#: ../../library/zipfile.rst:93 -msgid "Returns self for chaining." -msgstr "" - -#: ../../library/zipfile.rst:100 -msgid "" -"Returns ``True`` if *filename* is a valid ZIP file based on its magic " -"number, otherwise returns ``False``. *filename* may be a file or file-like " -"object too." -msgstr "" - -#: ../../library/zipfile.rst:103 -msgid "Support for file and file-like objects." -msgstr "" - -#: ../../library/zipfile.rst:109 -msgid "The numeric constant for an uncompressed archive member." -msgstr "" - -#: ../../library/zipfile.rst:114 -msgid "" -"The numeric constant for the usual ZIP compression method. This requires " -"the :mod:`zlib` module." -msgstr "" - -#: ../../library/zipfile.rst:120 -msgid "" -"The numeric constant for the BZIP2 compression method. This requires the " -":mod:`bz2` module." -msgstr "" - -#: ../../library/zipfile.rst:127 -msgid "" -"The numeric constant for the LZMA compression method. This requires the " -":mod:`lzma` module." -msgstr "" - -#: ../../library/zipfile.rst:134 -msgid "" -"The ZIP file format specification has included support for bzip2 compression" -" since 2001, and for LZMA compression since 2006. However, some tools " -"(including older Python releases) do not support these compression methods, " -"and may either refuse to process the ZIP file altogether, or fail to extract" -" individual files." -msgstr "" - -#: ../../library/zipfile.rst:143 -msgid "`PKZIP Application Note`_" -msgstr "" - -#: ../../library/zipfile.rst:144 -msgid "" -"Documentation on the ZIP file format by Phil Katz, the creator of the format" -" and algorithms used." -msgstr "" - -#: ../../library/zipfile.rst:147 -msgid "`Info-ZIP Home Page `_" -msgstr "" - -#: ../../library/zipfile.rst:148 -msgid "" -"Information about the Info-ZIP project's ZIP archive programs and " -"development libraries." -msgstr "" - -#: ../../library/zipfile.rst:155 -msgid "ZipFile Objects" -msgstr "Objek ZipFile" - -#: ../../library/zipfile.rst:162 -msgid "" -"Open a ZIP file, where *file* can be a path to a file (a string), a file-" -"like object or a :term:`path-like object`." -msgstr "" - -#: ../../library/zipfile.rst:165 -msgid "" -"The *mode* parameter should be ``'r'`` to read an existing file, ``'w'`` to " -"truncate and write a new file, ``'a'`` to append to an existing file, or " -"``'x'`` to exclusively create and write a new file. If *mode* is ``'x'`` and" -" *file* refers to an existing file, a :exc:`FileExistsError` will be raised." -" If *mode* is ``'a'`` and *file* refers to an existing ZIP file, then " -"additional files are added to it. If *file* does not refer to a ZIP file, " -"then a new ZIP archive is appended to the file. This is meant for adding a " -"ZIP archive to another file (such as :file:`python.exe`). If *mode* is " -"``'a'`` and the file does not exist at all, it is created. If *mode* is " -"``'r'`` or ``'a'``, the file should be seekable." -msgstr "" - -#: ../../library/zipfile.rst:177 -msgid "" -"*compression* is the ZIP compression method to use when writing the archive," -" and should be :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, " -":const:`ZIP_BZIP2` or :const:`ZIP_LZMA`; unrecognized values will cause " -":exc:`NotImplementedError` to be raised. If :const:`ZIP_DEFLATED`, " -":const:`ZIP_BZIP2` or :const:`ZIP_LZMA` is specified but the corresponding " -"module (:mod:`zlib`, :mod:`bz2` or :mod:`lzma`) is not available, " -":exc:`RuntimeError` is raised. The default is :const:`ZIP_STORED`." -msgstr "" - -#: ../../library/zipfile.rst:185 -msgid "" -"If *allowZip64* is ``True`` (the default) zipfile will create ZIP files that" -" use the ZIP64 extensions when the zipfile is larger than 4 GiB. If it is " -"``false`` :mod:`zipfile` will raise an exception when the ZIP file would " -"require ZIP64 extensions." -msgstr "" - -#: ../../library/zipfile.rst:190 -msgid "" -"The *compresslevel* parameter controls the compression level to use when " -"writing files to the archive. When using :const:`ZIP_STORED` or " -":const:`ZIP_LZMA` it has no effect. When using :const:`ZIP_DEFLATED` " -"integers ``0`` through ``9`` are accepted (see :class:`zlib " -"` for more information). When using :const:`ZIP_BZIP2` " -"integers ``1`` through ``9`` are accepted (see :class:`bz2 ` " -"for more information)." -msgstr "" - -#: ../../library/zipfile.rst:198 ../../library/zipfile.rst:787 -msgid "" -"The *strict_timestamps* argument, when set to ``False``, allows to zip files" -" older than 1980-01-01 at the cost of setting the timestamp to 1980-01-01. " -"Similar behavior occurs with files newer than 2107-12-31, the timestamp is " -"also set to the limit." -msgstr "" - -#: ../../library/zipfile.rst:204 -msgid "" -"When mode is ``'r'``, *metadata_encoding* may be set to the name of a codec," -" which will be used to decode metadata such as the names of members and ZIP " -"comments." -msgstr "" - -#: ../../library/zipfile.rst:208 -msgid "" -"If the file is created with mode ``'w'``, ``'x'`` or ``'a'`` and then " -":meth:`closed ` without adding any files to the archive, the " -"appropriate ZIP structures for an empty archive will be written to the file." -msgstr "" - -#: ../../library/zipfile.rst:212 -msgid "" -"ZipFile is also a context manager and therefore supports the :keyword:`with`" -" statement. In the example, *myzip* is closed after the :keyword:`!with` " -"statement's suite is finished---even if an exception occurs::" -msgstr "" - -#: ../../library/zipfile.rst:216 -msgid "" -"with ZipFile('spam.zip', 'w') as myzip:\n" -" myzip.write('eggs.txt')" -msgstr "" - -#: ../../library/zipfile.rst:221 -msgid "" -"*metadata_encoding* is an instance-wide setting for the ZipFile. It is not " -"currently possible to set this on a per-member basis." -msgstr "" - -#: ../../library/zipfile.rst:224 -msgid "" -"This attribute is a workaround for legacy implementations which produce " -"archives with names in the current locale encoding or code page (mostly on " -"Windows). According to the .ZIP standard, the encoding of metadata may be " -"specified to be either IBM code page (default) or UTF-8 by a flag in the " -"archive header. That flag takes precedence over *metadata_encoding*, which " -"is a Python-specific extension." -msgstr "" - -#: ../../library/zipfile.rst:232 -msgid "Added the ability to use :class:`ZipFile` as a context manager." -msgstr "" - -#: ../../library/zipfile.rst:235 -msgid "Added support for :mod:`bzip2 ` and :mod:`lzma` compression." -msgstr "" - -#: ../../library/zipfile.rst:238 ../../library/zipfile.rst:700 -msgid "ZIP64 extensions are enabled by default." -msgstr "" - -#: ../../library/zipfile.rst:241 -msgid "" -"Added support for writing to unseekable streams. Added support for the " -"``'x'`` mode." -msgstr "" - -#: ../../library/zipfile.rst:245 -msgid "" -"Previously, a plain :exc:`RuntimeError` was raised for unrecognized " -"compression values." -msgstr "" - -#: ../../library/zipfile.rst:249 -msgid "The *file* parameter accepts a :term:`path-like object`." -msgstr "" - -#: ../../library/zipfile.rst:252 -msgid "Add the *compresslevel* parameter." -msgstr "" - -#: ../../library/zipfile.rst:255 -msgid "The *strict_timestamps* keyword-only parameter." -msgstr "" - -#: ../../library/zipfile.rst:258 -msgid "" -"Added support for specifying member name encoding for reading metadata in " -"the zipfile's directory and file headers." -msgstr "" - -#: ../../library/zipfile.rst:265 -msgid "" -"Close the archive file. You must call :meth:`close` before exiting your " -"program or essential records will not be written." -msgstr "" - -#: ../../library/zipfile.rst:271 -msgid "" -"Return a :class:`ZipInfo` object with information about the archive member " -"*name*. Calling :meth:`getinfo` for a name not currently contained in the " -"archive will raise a :exc:`KeyError`." -msgstr "" - -#: ../../library/zipfile.rst:278 -msgid "" -"Return a list containing a :class:`ZipInfo` object for each member of the " -"archive. The objects are in the same order as their entries in the actual " -"ZIP file on disk if an existing archive was opened." -msgstr "" - -#: ../../library/zipfile.rst:285 -msgid "Return a list of archive members by name." -msgstr "" - -#: ../../library/zipfile.rst:290 -msgid "" -"Access a member of the archive as a binary file-like object. *name* can be " -"either the name of a file within the archive or a :class:`ZipInfo` object. " -"The *mode* parameter, if included, must be ``'r'`` (the default) or ``'w'``." -" *pwd* is the password used to decrypt encrypted ZIP files as a " -":class:`bytes` object." -msgstr "" - -#: ../../library/zipfile.rst:296 -msgid "" -":meth:`~ZipFile.open` is also a context manager and therefore supports the " -":keyword:`with` statement::" -msgstr "" - -#: ../../library/zipfile.rst:299 -msgid "" -"with ZipFile('spam.zip') as myzip:\n" -" with myzip.open('eggs.txt') as myfile:\n" -" print(myfile.read())" -msgstr "" - -#: ../../library/zipfile.rst:303 -msgid "" -"With *mode* ``'r'`` the file-like object (``ZipExtFile``) is read-only and " -"provides the following methods: :meth:`~io.BufferedIOBase.read`, " -":meth:`~io.IOBase.readline`, :meth:`~io.IOBase.readlines`, " -":meth:`~io.IOBase.seek`, :meth:`~io.IOBase.tell`, " -":meth:`~container.__iter__`, :meth:`~iterator.__next__`. These objects can " -"operate independently of the ZipFile." -msgstr "" - -#: ../../library/zipfile.rst:310 -msgid "" -"With ``mode='w'``, a writable file handle is returned, which supports the " -":meth:`~io.BufferedIOBase.write` method. While a writable file handle is " -"open, attempting to read or write other files in the ZIP file will raise a " -":exc:`ValueError`." -msgstr "" - -#: ../../library/zipfile.rst:315 -msgid "" -"In both cases the file-like object has also attributes :attr:`!name`, which " -"is equivalent to the name of a file within the archive, and :attr:`!mode`, " -"which is ``'rb'`` or ``'wb'`` depending on the input mode." -msgstr "" - -#: ../../library/zipfile.rst:319 -msgid "" -"When writing a file, if the file size is not known in advance but may exceed" -" 2 GiB, pass ``force_zip64=True`` to ensure that the header format is " -"capable of supporting large files. If the file size is known in advance, " -"construct a :class:`ZipInfo` object with :attr:`~ZipInfo.file_size` set, and" -" use that as the *name* parameter." -msgstr "" - -#: ../../library/zipfile.rst:327 -msgid "" -"The :meth:`.open`, :meth:`read` and :meth:`extract` methods can take a " -"filename or a :class:`ZipInfo` object. You will appreciate this when trying" -" to read a ZIP file that contains members with duplicate names." -msgstr "" - -#: ../../library/zipfile.rst:331 -msgid "" -"Removed support of ``mode='U'``. Use :class:`io.TextIOWrapper` for reading " -"compressed text files in :term:`universal newlines` mode." -msgstr "" - -#: ../../library/zipfile.rst:335 -msgid "" -":meth:`ZipFile.open` can now be used to write files into the archive with " -"the ``mode='w'`` option." -msgstr "" - -#: ../../library/zipfile.rst:339 -msgid "" -"Calling :meth:`.open` on a closed ZipFile will raise a :exc:`ValueError`. " -"Previously, a :exc:`RuntimeError` was raised." -msgstr "" - -#: ../../library/zipfile.rst:343 -msgid "" -"Added attributes :attr:`!name` and :attr:`!mode` for the writeable file-like" -" object. The value of the :attr:`!mode` attribute for the readable file-like" -" object was changed from ``'r'`` to ``'rb'``." -msgstr "" - -#: ../../library/zipfile.rst:352 -msgid "" -"Extract a member from the archive to the current working directory; *member*" -" must be its full name or a :class:`ZipInfo` object. Its file information " -"is extracted as accurately as possible. *path* specifies a different " -"directory to extract to. *member* can be a filename or a :class:`ZipInfo` " -"object. *pwd* is the password used for encrypted files as a :class:`bytes` " -"object." -msgstr "" - -#: ../../library/zipfile.rst:358 -msgid "Returns the normalized path created (a directory or new file)." -msgstr "" - -#: ../../library/zipfile.rst:362 -msgid "" -"If a member filename is an absolute path, a drive/UNC sharepoint and leading" -" (back)slashes will be stripped, e.g.: ``///foo/bar`` becomes ``foo/bar`` on" -" Unix, and ``C:\\foo\\bar`` becomes ``foo\\bar`` on Windows. And all " -"``\"..\"`` components in a member filename will be removed, e.g.: " -"``../../foo../../ba..r`` becomes ``foo../ba..r``. On Windows illegal " -"characters (``:``, ``<``, ``>``, ``|``, ``\"``, ``?``, and ``*``) replaced " -"by underscore (``_``)." -msgstr "" - -#: ../../library/zipfile.rst:370 -msgid "" -"Calling :meth:`extract` on a closed ZipFile will raise a :exc:`ValueError`." -" Previously, a :exc:`RuntimeError` was raised." -msgstr "" - -#: ../../library/zipfile.rst:374 ../../library/zipfile.rst:397 -msgid "The *path* parameter accepts a :term:`path-like object`." -msgstr "" - -#: ../../library/zipfile.rst:380 -msgid "" -"Extract all members from the archive to the current working directory. " -"*path* specifies a different directory to extract to. *members* is optional" -" and must be a subset of the list returned by :meth:`namelist`. *pwd* is " -"the password used for encrypted files as a :class:`bytes` object." -msgstr "" - -#: ../../library/zipfile.rst:387 -msgid "" -"Never extract archives from untrusted sources without prior inspection. It " -"is possible that files are created outside of *path*, e.g. members that have" -" absolute filenames starting with ``\"/\"`` or filenames with two dots " -"``\"..\"``. This module attempts to prevent that. See :meth:`extract` note." -msgstr "" - -#: ../../library/zipfile.rst:393 -msgid "" -"Calling :meth:`extractall` on a closed ZipFile will raise a " -":exc:`ValueError`. Previously, a :exc:`RuntimeError` was raised." -msgstr "" - -#: ../../library/zipfile.rst:403 -msgid "Print a table of contents for the archive to ``sys.stdout``." -msgstr "" - -#: ../../library/zipfile.rst:408 -msgid "" -"Set *pwd* (a :class:`bytes` object) as default password to extract encrypted" -" files." -msgstr "" - -#: ../../library/zipfile.rst:413 -msgid "" -"Return the bytes of the file *name* in the archive. *name* is the name of " -"the file in the archive, or a :class:`ZipInfo` object. The archive must be " -"open for read or append. *pwd* is the password used for encrypted files as a" -" :class:`bytes` object and, if specified, overrides the default password set" -" with :meth:`setpassword`. Calling :meth:`read` on a ZipFile that uses a " -"compression method other than :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, " -":const:`ZIP_BZIP2` or :const:`ZIP_LZMA` will raise a " -":exc:`NotImplementedError`. An error will also be raised if the " -"corresponding compression module is not available." -msgstr "" - -#: ../../library/zipfile.rst:422 -msgid "" -"Calling :meth:`read` on a closed ZipFile will raise a :exc:`ValueError`. " -"Previously, a :exc:`RuntimeError` was raised." -msgstr "" - -#: ../../library/zipfile.rst:429 -msgid "" -"Read all the files in the archive and check their CRC's and file headers. " -"Return the name of the first bad file, or else return ``None``." -msgstr "" - -#: ../../library/zipfile.rst:432 -msgid "" -"Calling :meth:`testzip` on a closed ZipFile will raise a :exc:`ValueError`." -" Previously, a :exc:`RuntimeError` was raised." -msgstr "" - -#: ../../library/zipfile.rst:440 -msgid "" -"Write the file named *filename* to the archive, giving it the archive name " -"*arcname* (by default, this will be the same as *filename*, but without a " -"drive letter and with leading path separators removed). If given, " -"*compress_type* overrides the value given for the *compression* parameter to" -" the constructor for the new entry. Similarly, *compresslevel* will override" -" the constructor if given. The archive must be open with mode ``'w'``, " -"``'x'`` or ``'a'``." -msgstr "" - -#: ../../library/zipfile.rst:450 -msgid "" -"The ZIP file standard historically did not specify a metadata encoding, but " -"strongly recommended CP437 (the original IBM PC encoding) for " -"interoperability. Recent versions allow use of UTF-8 (only). In this " -"module, UTF-8 will automatically be used to write the member names if they " -"contain any non-ASCII characters. It is not possible to write member names " -"in any encoding other than ASCII or UTF-8." -msgstr "" - -#: ../../library/zipfile.rst:459 -msgid "" -"Archive names should be relative to the archive root, that is, they should " -"not start with a path separator." -msgstr "" - -#: ../../library/zipfile.rst:464 -msgid "" -"If ``arcname`` (or ``filename``, if ``arcname`` is not given) contains a " -"null byte, the name of the file in the archive will be truncated at the null" -" byte." -msgstr "" - -#: ../../library/zipfile.rst:469 -msgid "" -"A leading slash in the filename may lead to the archive being impossible to " -"open in some zip programs on Windows systems." -msgstr "" - -#: ../../library/zipfile.rst:472 -msgid "" -"Calling :meth:`write` on a ZipFile created with mode ``'r'`` or a closed " -"ZipFile will raise a :exc:`ValueError`. Previously, a :exc:`RuntimeError` " -"was raised." -msgstr "" - -#: ../../library/zipfile.rst:481 -msgid "" -"Write a file into the archive. The contents is *data*, which may be either " -"a :class:`str` or a :class:`bytes` instance; if it is a :class:`str`, it is " -"encoded as UTF-8 first. *zinfo_or_arcname* is either the file name it will " -"be given in the archive, or a :class:`ZipInfo` instance. If it's an " -"instance, at least the filename, date, and time must be given. If it's a " -"name, the date and time is set to the current date and time. The archive " -"must be opened with mode ``'w'``, ``'x'`` or ``'a'``." -msgstr "" - -#: ../../library/zipfile.rst:489 -msgid "" -"If given, *compress_type* overrides the value given for the *compression* " -"parameter to the constructor for the new entry, or in the *zinfo_or_arcname*" -" (if that is a :class:`ZipInfo` instance). Similarly, *compresslevel* will " -"override the constructor if given." -msgstr "" - -#: ../../library/zipfile.rst:496 -msgid "" -"When passing a :class:`ZipInfo` instance as the *zinfo_or_arcname* " -"parameter, the compression method used will be that specified in the " -"*compress_type* member of the given :class:`ZipInfo` instance. By default, " -"the :class:`ZipInfo` constructor sets this member to :const:`ZIP_STORED`." -msgstr "" - -#: ../../library/zipfile.rst:501 -msgid "The *compress_type* argument." -msgstr "" - -#: ../../library/zipfile.rst:504 -msgid "" -"Calling :meth:`writestr` on a ZipFile created with mode ``'r'`` or a closed " -"ZipFile will raise a :exc:`ValueError`. Previously, a :exc:`RuntimeError` " -"was raised." -msgstr "" - -#: ../../library/zipfile.rst:511 -msgid "" -"Create a directory inside the archive. If *zinfo_or_directory* is a string," -" a directory is created inside the archive with the mode that is specified " -"in the *mode* argument. If, however, *zinfo_or_directory* is a " -":class:`ZipInfo` instance then the *mode* argument is ignored." -msgstr "" - -#: ../../library/zipfile.rst:516 -msgid "The archive must be opened with mode ``'w'``, ``'x'`` or ``'a'``." -msgstr "" - -#: ../../library/zipfile.rst:521 -msgid "The following data attributes are also available:" -msgstr "" - -#: ../../library/zipfile.rst:525 -msgid "Name of the ZIP file." -msgstr "" - -#: ../../library/zipfile.rst:529 -msgid "" -"The level of debug output to use. This may be set from ``0`` (the default, " -"no output) to ``3`` (the most output). Debugging information is written to " -"``sys.stdout``." -msgstr "" - -#: ../../library/zipfile.rst:535 -msgid "" -"The comment associated with the ZIP file as a :class:`bytes` object. If " -"assigning a comment to a :class:`ZipFile` instance created with mode " -"``'w'``, ``'x'`` or ``'a'``, it should be no longer than 65535 bytes. " -"Comments longer than this will be truncated." -msgstr "" - -#: ../../library/zipfile.rst:543 -msgid "" -"The offset to the start of ZIP data from the beginning of the file. When the" -" :class:`ZipFile` is opened in either mode ``'w'`` or ``'x'`` and the " -"underlying file does not support ``tell()``, the value will be ``None`` " -"instead." -msgstr "" - -#: ../../library/zipfile.rst:553 -msgid "Path Objects" -msgstr "Objek Jalur, *Path*" - -#: ../../library/zipfile.rst:557 -msgid "" -"Construct a Path object from a ``root`` zipfile (which may be a " -":class:`ZipFile` instance or ``file`` suitable for passing to the " -":class:`ZipFile` constructor)." -msgstr "" - -#: ../../library/zipfile.rst:561 -msgid "" -"``at`` specifies the location of this Path within the zipfile, e.g. " -"'dir/file.txt', 'dir/', or ''. Defaults to the empty string, indicating the " -"root." -msgstr "" - -#: ../../library/zipfile.rst:566 -msgid "" -"The :class:`Path` class does not sanitize filenames within the ZIP archive. " -"Unlike the :meth:`ZipFile.extract` and :meth:`ZipFile.extractall` methods, " -"it is the caller's responsibility to validate or sanitize filenames to " -"prevent path traversal vulnerabilities (e.g., filenames containing \"..\" or" -" absolute paths). When handling untrusted archives, consider resolving " -"filenames using :func:`os.path.abspath` and checking against the target " -"directory with :func:`os.path.commonpath`." -msgstr "" - -#: ../../library/zipfile.rst:573 -msgid "" -"Path objects expose the following features of :mod:`pathlib.Path` objects:" -msgstr "" - -#: ../../library/zipfile.rst:576 -msgid "Path objects are traversable using the ``/`` operator or ``joinpath``." -msgstr "" - -#: ../../library/zipfile.rst:580 -msgid "The final path component." -msgstr "" - -#: ../../library/zipfile.rst:584 -msgid "" -"Invoke :meth:`ZipFile.open` on the current path. Allows opening for read or " -"write, text or binary through supported modes: 'r', 'w', 'rb', 'wb'. " -"Positional and keyword arguments are passed through to " -":class:`io.TextIOWrapper` when opened as text and ignored otherwise. ``pwd``" -" is the ``pwd`` parameter to :meth:`ZipFile.open`." -msgstr "" - -#: ../../library/zipfile.rst:593 -msgid "" -"Added support for text and binary modes for open. Default mode is now text." -msgstr "" - -#: ../../library/zipfile.rst:597 ../../library/zipfile.rst:658 -msgid "" -"The ``encoding`` parameter can be supplied as a positional argument without " -"causing a :exc:`TypeError`. As it could in 3.9. Code needing to be " -"compatible with unpatched 3.10 and 3.11 versions must pass all " -":class:`io.TextIOWrapper` arguments, ``encoding`` included, as keywords." -msgstr "" - -#: ../../library/zipfile.rst:605 -msgid "Enumerate the children of the current directory." -msgstr "" - -#: ../../library/zipfile.rst:609 -msgid "Return ``True`` if the current context references a directory." -msgstr "" - -#: ../../library/zipfile.rst:613 -msgid "Return ``True`` if the current context references a file." -msgstr "" - -#: ../../library/zipfile.rst:617 -msgid "Return ``True`` if the current context references a symbolic link." -msgstr "" - -#: ../../library/zipfile.rst:621 -msgid "Previously, ``is_symlink`` would unconditionally return ``False``." -msgstr "" - -#: ../../library/zipfile.rst:626 -msgid "" -"Return ``True`` if the current context references a file or directory in the" -" zip file." -msgstr "" - -#: ../../library/zipfile.rst:631 -msgid "" -"The last dot-separated portion of the final component, if any. This is " -"commonly called the file extension." -msgstr "" - -#: ../../library/zipfile.rst:634 -msgid "Added :data:`Path.suffix` property." -msgstr "" - -#: ../../library/zipfile.rst:639 -msgid "The final path component, without its suffix." -msgstr "" - -#: ../../library/zipfile.rst:641 -msgid "Added :data:`Path.stem` property." -msgstr "" - -#: ../../library/zipfile.rst:646 -msgid "A list of the path’s suffixes, commonly called file extensions." -msgstr "" - -#: ../../library/zipfile.rst:648 -msgid "Added :data:`Path.suffixes` property." -msgstr "" - -#: ../../library/zipfile.rst:653 -msgid "" -"Read the current file as unicode text. Positional and keyword arguments are " -"passed through to :class:`io.TextIOWrapper` (except ``buffer``, which is " -"implied by the context)." -msgstr "" - -#: ../../library/zipfile.rst:666 -msgid "Read the current file as bytes." -msgstr "" - -#: ../../library/zipfile.rst:670 -msgid "" -"Return a new Path object with each of the *other* arguments joined. The " -"following are equivalent::" -msgstr "" - -#: ../../library/zipfile.rst:673 -msgid "" -">>> Path(...).joinpath('child').joinpath('grandchild')\n" -">>> Path(...).joinpath('child', 'grandchild')\n" -">>> Path(...) / 'child' / 'grandchild'" -msgstr "" - -#: ../../library/zipfile.rst:677 -msgid "" -"Prior to 3.10, ``joinpath`` was undocumented and accepted exactly one " -"parameter." -msgstr "" - -#: ../../library/zipfile.rst:681 -msgid "" -"The :pypi:`zipp` project provides backports of the latest path object " -"functionality to older Pythons. Use ``zipp.Path`` in place of " -"``zipfile.Path`` for early access to changes." -msgstr "" - -#: ../../library/zipfile.rst:689 -msgid "PyZipFile Objects" -msgstr "Objek PyZipFile" - -#: ../../library/zipfile.rst:691 -msgid "" -"The :class:`PyZipFile` constructor takes the same parameters as the " -":class:`ZipFile` constructor, and one additional parameter, *optimize*." -msgstr "" - -#: ../../library/zipfile.rst:697 -msgid "Added the *optimize* parameter." -msgstr "" - -#: ../../library/zipfile.rst:703 -msgid "" -"Instances have one method in addition to those of :class:`ZipFile` objects:" -msgstr "" - -#: ../../library/zipfile.rst:707 -msgid "" -"Search for files :file:`\\*.py` and add the corresponding file to the " -"archive." -msgstr "" - -#: ../../library/zipfile.rst:710 -msgid "" -"If the *optimize* parameter to :class:`PyZipFile` was not given or ``-1``, " -"the corresponding file is a :file:`\\*.pyc` file, compiling if necessary." -msgstr "" - -#: ../../library/zipfile.rst:713 -msgid "" -"If the *optimize* parameter to :class:`PyZipFile` was ``0``, ``1`` or ``2``," -" only files with that optimization level (see :func:`compile`) are added to " -"the archive, compiling if necessary." -msgstr "" - -#: ../../library/zipfile.rst:717 -msgid "" -"If *pathname* is a file, the filename must end with :file:`.py`, and just " -"the (corresponding :file:`\\*.pyc`) file is added at the top level (no path " -"information). If *pathname* is a file that does not end with :file:`.py`, a" -" :exc:`RuntimeError` will be raised. If it is a directory, and the " -"directory is not a package directory, then all the files :file:`\\*.pyc` are" -" added at the top level. If the directory is a package directory, then all " -":file:`\\*.pyc` are added under the package name as a file path, and if any " -"subdirectories are package directories, all of these are added recursively " -"in sorted order." -msgstr "" - -#: ../../library/zipfile.rst:727 -msgid "*basename* is intended for internal use only." -msgstr "" - -#: ../../library/zipfile.rst:729 -msgid "" -"*filterfunc*, if given, must be a function taking a single string argument." -" It will be passed each path (including each individual full file path) " -"before it is added to the archive. If *filterfunc* returns a false value, " -"the path will not be added, and if it is a directory its contents will be " -"ignored. For example, if our test files are all either in ``test`` " -"directories or start with the string ``test_``, we can use a *filterfunc* to" -" exclude them::" -msgstr "" - -#: ../../library/zipfile.rst:737 -msgid "" -">>> zf = PyZipFile('myprog.zip')\n" -">>> def notests(s):\n" -"... fn = os.path.basename(s)\n" -"... return (not (fn == 'test' or fn.startswith('test_')))\n" -"...\n" -">>> zf.writepy('myprog', filterfunc=notests)" -msgstr "" - -#: ../../library/zipfile.rst:744 -msgid "The :meth:`writepy` method makes archives with file names like this::" -msgstr "" - -#: ../../library/zipfile.rst:747 -msgid "" -"string.pyc # Top level name\n" -"test/__init__.pyc # Package directory\n" -"test/testall.pyc # Module test.testall\n" -"test/bogus/__init__.pyc # Subpackage directory\n" -"test/bogus/myfile.pyc # Submodule test.bogus.myfile" -msgstr "" - -#: ../../library/zipfile.rst:753 -msgid "Added the *filterfunc* parameter." -msgstr "" - -#: ../../library/zipfile.rst:756 -msgid "The *pathname* parameter accepts a :term:`path-like object`." -msgstr "" - -#: ../../library/zipfile.rst:759 -msgid "Recursion sorts directory entries." -msgstr "" - -#: ../../library/zipfile.rst:766 -msgid "ZipInfo Objects" -msgstr "Objek ZipInfo" - -#: ../../library/zipfile.rst:768 -msgid "" -"Instances of the :class:`ZipInfo` class are returned by the :meth:`.getinfo`" -" and :meth:`.infolist` methods of :class:`ZipFile` objects. Each object " -"stores information about a single member of the ZIP archive." -msgstr "" - -#: ../../library/zipfile.rst:772 -msgid "" -"There is one classmethod to make a :class:`ZipInfo` instance for a " -"filesystem file:" -msgstr "" - -#: ../../library/zipfile.rst:778 -msgid "" -"Construct a :class:`ZipInfo` instance for a file on the filesystem, in " -"preparation for adding it to a zip file." -msgstr "" - -#: ../../library/zipfile.rst:781 -msgid "" -"*filename* should be the path to a file or directory on the filesystem." -msgstr "" - -#: ../../library/zipfile.rst:783 -msgid "" -"If *arcname* is specified, it is used as the name within the archive. If " -"*arcname* is not specified, the name will be the same as *filename*, but " -"with any drive letter and leading path separators removed." -msgstr "" - -#: ../../library/zipfile.rst:795 -msgid "The *filename* parameter accepts a :term:`path-like object`." -msgstr "" - -#: ../../library/zipfile.rst:798 -msgid "Added the *strict_timestamps* keyword-only parameter." -msgstr "" - -#: ../../library/zipfile.rst:802 -msgid "Instances have the following methods and attributes:" -msgstr "" - -#: ../../library/zipfile.rst:806 -msgid "Return ``True`` if this archive member is a directory." -msgstr "" - -#: ../../library/zipfile.rst:808 -msgid "This uses the entry's name: directories should always end with ``/``." -msgstr "" - -#: ../../library/zipfile.rst:815 -msgid "Name of the file in the archive." -msgstr "" - -#: ../../library/zipfile.rst:820 -msgid "" -"The time and date of the last modification to the archive member. This is a" -" tuple of six values:" -msgstr "" - -#: ../../library/zipfile.rst:824 -msgid "Index" -msgstr "Indeks" - -#: ../../library/zipfile.rst:824 -msgid "Value" -msgstr "Nilai" - -#: ../../library/zipfile.rst:826 -msgid "``0``" -msgstr "``0``" - -#: ../../library/zipfile.rst:826 -msgid "Year (>= 1980)" -msgstr "Tahun (>= 1980)" - -#: ../../library/zipfile.rst:828 -msgid "``1``" -msgstr "``1``" - -#: ../../library/zipfile.rst:828 -msgid "Month (one-based)" -msgstr "Bulan (basis 1)" - -#: ../../library/zipfile.rst:830 -msgid "``2``" -msgstr "``2``" - -#: ../../library/zipfile.rst:830 -msgid "Day of month (one-based)" -msgstr "Tanggal dari bulan (basis 1)" - -#: ../../library/zipfile.rst:832 -msgid "``3``" -msgstr "``3``" - -#: ../../library/zipfile.rst:832 -msgid "Hours (zero-based)" -msgstr "Jam (basis 0)" - -#: ../../library/zipfile.rst:834 -msgid "``4``" -msgstr "``4``" - -#: ../../library/zipfile.rst:834 -msgid "Minutes (zero-based)" -msgstr "Menit (basis 0)" - -#: ../../library/zipfile.rst:836 -msgid "``5``" -msgstr "``5``" - -#: ../../library/zipfile.rst:836 -msgid "Seconds (zero-based)" -msgstr "Detik (basis 0)" - -#: ../../library/zipfile.rst:841 -msgid "The ZIP file format does not support timestamps before 1980." -msgstr "" - -#: ../../library/zipfile.rst:846 -msgid "Type of compression for the archive member." -msgstr "" - -#: ../../library/zipfile.rst:851 -msgid "Comment for the individual archive member as a :class:`bytes` object." -msgstr "" - -#: ../../library/zipfile.rst:856 -msgid "" -"Expansion field data. The `PKZIP Application Note`_ contains some comments " -"on the internal structure of the data contained in this :class:`bytes` " -"object." -msgstr "" - -#: ../../library/zipfile.rst:863 -msgid "System which created ZIP archive." -msgstr "" - -#: ../../library/zipfile.rst:868 -msgid "PKZIP version which created ZIP archive." -msgstr "" - -#: ../../library/zipfile.rst:873 -msgid "PKZIP version needed to extract archive." -msgstr "" - -#: ../../library/zipfile.rst:878 -msgid "Must be zero." -msgstr "Harus nol." - -#: ../../library/zipfile.rst:883 -msgid "ZIP flag bits." -msgstr "" - -#: ../../library/zipfile.rst:888 -msgid "Volume number of file header." -msgstr "" - -#: ../../library/zipfile.rst:893 -msgid "Internal attributes." -msgstr "" - -#: ../../library/zipfile.rst:898 -msgid "External file attributes." -msgstr "" - -#: ../../library/zipfile.rst:903 -msgid "Byte offset to the file header." -msgstr "" - -#: ../../library/zipfile.rst:908 -msgid "CRC-32 of the uncompressed file." -msgstr "" - -#: ../../library/zipfile.rst:913 -msgid "Size of the compressed data." -msgstr "" - -#: ../../library/zipfile.rst:918 -msgid "Size of the uncompressed file." -msgstr "" - -#: ../../library/zipfile.rst:925 -msgid "Command-Line Interface" -msgstr "" - -#: ../../library/zipfile.rst:927 -msgid "" -"The :mod:`zipfile` module provides a simple command-line interface to " -"interact with ZIP archives." -msgstr "" - -#: ../../library/zipfile.rst:930 -msgid "" -"If you want to create a new ZIP archive, specify its name after the " -":option:`-c` option and then list the filename(s) that should be included:" -msgstr "" - -#: ../../library/zipfile.rst:933 -msgid "$ python -m zipfile -c monty.zip spam.txt eggs.txt" -msgstr "" - -#: ../../library/zipfile.rst:937 -msgid "Passing a directory is also acceptable:" -msgstr "" - -#: ../../library/zipfile.rst:939 -msgid "$ python -m zipfile -c monty.zip life-of-brian_1979/" -msgstr "" - -#: ../../library/zipfile.rst:943 -msgid "" -"If you want to extract a ZIP archive into the specified directory, use the " -":option:`-e` option:" -msgstr "" - -#: ../../library/zipfile.rst:946 -msgid "$ python -m zipfile -e monty.zip target-dir/" -msgstr "" - -#: ../../library/zipfile.rst:950 -msgid "For a list of the files in a ZIP archive, use the :option:`-l` option:" -msgstr "" - -#: ../../library/zipfile.rst:952 -msgid "$ python -m zipfile -l monty.zip" -msgstr "" - -#: ../../library/zipfile.rst:958 -msgid "Command-line options" -msgstr "" - -#: ../../library/zipfile.rst:963 -msgid "List files in a zipfile." -msgstr "" - -#: ../../library/zipfile.rst:968 -msgid "Create zipfile from source files." -msgstr "" - -#: ../../library/zipfile.rst:973 -msgid "Extract zipfile into target directory." -msgstr "" - -#: ../../library/zipfile.rst:978 -msgid "Test whether the zipfile is valid or not." -msgstr "" - -#: ../../library/zipfile.rst:982 -msgid "" -"Specify encoding of member names for :option:`-l`, :option:`-e` and " -":option:`-t`." -msgstr "" - -#: ../../library/zipfile.rst:989 -msgid "Decompression pitfalls" -msgstr "" - -#: ../../library/zipfile.rst:991 -msgid "" -"The extraction in zipfile module might fail due to some pitfalls listed " -"below." -msgstr "" - -#: ../../library/zipfile.rst:994 -msgid "From file itself" -msgstr "" - -#: ../../library/zipfile.rst:996 -msgid "" -"Decompression may fail due to incorrect password / CRC checksum / ZIP format" -" or unsupported compression method / decryption." -msgstr "" - -#: ../../library/zipfile.rst:1000 -msgid "File System limitations" -msgstr "" - -#: ../../library/zipfile.rst:1002 -msgid "" -"Exceeding limitations on different file systems can cause decompression " -"failed. Such as allowable characters in the directory entries, length of the" -" file name, length of the pathname, size of a single file, and number of " -"files, etc." -msgstr "" - -#: ../../library/zipfile.rst:1009 -msgid "Resources limitations" -msgstr "" - -#: ../../library/zipfile.rst:1011 -msgid "" -"The lack of memory or disk volume would lead to decompression failed. For " -"example, decompression bombs (aka `ZIP bomb`_) apply to zipfile library that" -" can cause disk volume exhaustion." -msgstr "" - -#: ../../library/zipfile.rst:1016 -msgid "Interruption" -msgstr "Interupsi" - -#: ../../library/zipfile.rst:1018 -msgid "" -"Interruption during the decompression, such as pressing control-C or killing" -" the decompression process may result in incomplete decompression of the " -"archive." -msgstr "" - -#: ../../library/zipfile.rst:1022 -msgid "Default behaviors of extraction" -msgstr "" - -#: ../../library/zipfile.rst:1024 -msgid "" -"Not knowing the default extraction behaviors can cause unexpected " -"decompression results. For example, when extracting the same archive twice, " -"it overwrites files without asking." -msgstr "" diff --git a/python-newest.library--zipimport/id.po b/python-newest.library--zipimport/id.po deleted file mode 100644 index 0c611ff..0000000 --- a/python-newest.library--zipimport/id.po +++ /dev/null @@ -1,257 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/zipimport.rst:2 -msgid ":mod:`!zipimport` --- Import modules from Zip archives" -msgstr "" - -#: ../../library/zipimport.rst:9 -msgid "**Source code:** :source:`Lib/zipimport.py`" -msgstr "" - -#: ../../library/zipimport.rst:13 -msgid "" -"This module adds the ability to import Python modules (:file:`\\*.py`, " -":file:`\\*.pyc`) and packages from ZIP-format archives. It is usually not " -"needed to use the :mod:`zipimport` module explicitly; it is automatically " -"used by the built-in :keyword:`import` mechanism for :data:`sys.path` items " -"that are paths to ZIP archives." -msgstr "" - -#: ../../library/zipimport.rst:19 -msgid "" -"Typically, :data:`sys.path` is a list of directory names as strings. This " -"module also allows an item of :data:`sys.path` to be a string naming a ZIP " -"file archive. The ZIP archive can contain a subdirectory structure to " -"support package imports, and a path within the archive can be specified to " -"only import from a subdirectory. For example, the path " -":file:`example.zip/lib/` would only import from the :file:`lib/` " -"subdirectory within the archive." -msgstr "" - -#: ../../library/zipimport.rst:26 -msgid "" -"Any files may be present in the ZIP archive, but importers are only invoked " -"for :file:`.py` and :file:`.pyc` files. ZIP import of dynamic modules " -"(:file:`.pyd`, :file:`.so`) is disallowed. Note that if an archive only " -"contains :file:`.py` files, Python will not attempt to modify the archive by" -" adding the corresponding :file:`.pyc` file, meaning that if a ZIP archive " -"doesn't contain :file:`.pyc` files, importing may be rather slow." -msgstr "" - -#: ../../library/zipimport.rst:33 -msgid "ZIP64 is supported" -msgstr "" - -#: ../../library/zipimport.rst:36 -msgid "Previously, ZIP archives with an archive comment were not supported." -msgstr "" - -#: ../../library/zipimport.rst:41 -msgid "" -"`PKZIP Application Note " -"`_" -msgstr "" - -#: ../../library/zipimport.rst:42 -msgid "" -"Documentation on the ZIP file format by Phil Katz, the creator of the format" -" and algorithms used." -msgstr "" - -#: ../../library/zipimport.rst:45 -msgid ":pep:`273` - Import Modules from Zip Archives" -msgstr "" - -#: ../../library/zipimport.rst:46 -msgid "" -"Written by James C. Ahlstrom, who also provided an implementation. Python " -"2.3 follows the specification in :pep:`273`, but uses an implementation " -"written by Just van Rossum that uses the import hooks described in " -":pep:`302`." -msgstr "" - -#: ../../library/zipimport.rst:50 -msgid ":mod:`importlib` - The implementation of the import machinery" -msgstr "" - -#: ../../library/zipimport.rst:51 -msgid "" -"Package providing the relevant protocols for all importers to implement." -msgstr "" - -#: ../../library/zipimport.rst:55 -msgid "This module defines an exception:" -msgstr "" - -#: ../../library/zipimport.rst:59 -msgid "" -"Exception raised by zipimporter objects. It's a subclass of " -":exc:`ImportError`, so it can be caught as :exc:`ImportError`, too." -msgstr "" - -#: ../../library/zipimport.rst:66 -msgid "zipimporter Objects" -msgstr "" - -#: ../../library/zipimport.rst:68 -msgid ":class:`zipimporter` is the class for importing ZIP files." -msgstr "" - -#: ../../library/zipimport.rst:72 -msgid "" -"Create a new zipimporter instance. *archivepath* must be a path to a ZIP " -"file, or to a specific path within a ZIP file. For example, an " -"*archivepath* of :file:`foo/bar.zip/lib` will look for modules in the " -":file:`lib` directory inside the ZIP file :file:`foo/bar.zip` (provided that" -" it exists)." -msgstr "" - -#: ../../library/zipimport.rst:77 -msgid "" -":exc:`ZipImportError` is raised if *archivepath* doesn't point to a valid " -"ZIP archive." -msgstr "" - -#: ../../library/zipimport.rst:82 -msgid "" -"Methods ``find_loader()`` and ``find_module()``, deprecated in 3.10 are now " -"removed. Use :meth:`find_spec` instead." -msgstr "" - -#: ../../library/zipimport.rst:87 -msgid "" -"Implementation of :meth:`importlib.abc.Loader.create_module` that returns " -":const:`None` to explicitly request the default semantics." -msgstr "" - -#: ../../library/zipimport.rst:95 -msgid "Implementation of :meth:`importlib.abc.Loader.exec_module`." -msgstr "" - -#: ../../library/zipimport.rst:102 -msgid "An implementation of :meth:`importlib.abc.PathEntryFinder.find_spec`." -msgstr "" - -#: ../../library/zipimport.rst:109 -msgid "" -"Return the code object for the specified module. Raise :exc:`ZipImportError`" -" if the module couldn't be imported." -msgstr "" - -#: ../../library/zipimport.rst:115 -msgid "" -"Return the data associated with *pathname*. Raise :exc:`OSError` if the file" -" wasn't found." -msgstr "" - -#: ../../library/zipimport.rst:118 -msgid "" -":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." -msgstr "" -":exc:`IOError` sebelumnya ditimbulkan, sekarang merupakan alias dari " -":exc:`OSError`." - -#: ../../library/zipimport.rst:124 -msgid "" -"Return the value ``__file__`` would be set to if the specified module was " -"imported. Raise :exc:`ZipImportError` if the module couldn't be imported." -msgstr "" - -#: ../../library/zipimport.rst:133 -msgid "" -"Return the source code for the specified module. Raise :exc:`ZipImportError`" -" if the module couldn't be found, return :const:`None` if the archive does " -"contain the module, but has no source for it." -msgstr "" - -#: ../../library/zipimport.rst:141 -msgid "" -"Return ``True`` if the module specified by *fullname* is a package. Raise " -":exc:`ZipImportError` if the module couldn't be found." -msgstr "" - -#: ../../library/zipimport.rst:147 -msgid "" -"Load the module specified by *fullname*. *fullname* must be the fully " -"qualified (dotted) module name. Returns the imported module on success, " -"raises :exc:`ZipImportError` on failure." -msgstr "" - -#: ../../library/zipimport.rst:153 -msgid "Use :meth:`exec_module` instead." -msgstr "" - -#: ../../library/zipimport.rst:158 -msgid "" -"Clear out the internal cache of information about files found within the ZIP" -" archive." -msgstr "" - -#: ../../library/zipimport.rst:166 -msgid "" -"The file name of the importer's associated ZIP file, without a possible " -"subpath." -msgstr "" - -#: ../../library/zipimport.rst:172 -msgid "" -"The subpath within the ZIP file where modules are searched. This is the " -"empty string for zipimporter objects which point to the root of the ZIP " -"file." -msgstr "" - -#: ../../library/zipimport.rst:176 -msgid "" -"The :attr:`archive` and :attr:`prefix` attributes, when combined with a " -"slash, equal the original *archivepath* argument given to the " -":class:`zipimporter` constructor." -msgstr "" - -#: ../../library/zipimport.rst:184 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../library/zipimport.rst:186 -msgid "" -"Here is an example that imports a module from a ZIP archive - note that the " -":mod:`zipimport` module is not explicitly used." -msgstr "" - -#: ../../library/zipimport.rst:189 -msgid "" -"$ unzip -l example.zip\n" -"Archive: example.zip\n" -" Length Date Time Name\n" -" -------- ---- ---- ----\n" -" 8467 11-26-02 22:30 jwzthreading.py\n" -" -------- -------\n" -" 8467 1 file\n" -"$ ./python\n" -"Python 2.3 (#1, Aug 1 2003, 19:54:32)\n" -">>> import sys\n" -">>> sys.path.insert(0, 'example.zip') # Add .zip file to front of path\n" -">>> import jwzthreading\n" -">>> jwzthreading.__file__\n" -"'example.zip/jwzthreading.py'" -msgstr "" diff --git a/python-newest.library--zlib/id.po b/python-newest.library--zlib/id.po deleted file mode 100644 index 9b89e25..0000000 --- a/python-newest.library--zlib/id.po +++ /dev/null @@ -1,484 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/zlib.rst:2 -msgid ":mod:`!zlib` --- Compression compatible with :program:`gzip`" -msgstr "" - -#: ../../library/zlib.rst:10 -msgid "" -"For applications that require data compression, the functions in this module" -" allow compression and decompression, using the zlib library. The zlib " -"library has its own home page at https://www.zlib.net. There are known " -"incompatibilities between the Python module and versions of the zlib library" -" earlier than 1.1.3; 1.1.3 has a `security vulnerability " -"`_, so we recommend using 1.1.4 or " -"later." -msgstr "" - -#: ../../library/zlib.rst:17 -msgid "" -"zlib's functions have many options and often need to be used in a particular" -" order. This documentation doesn't attempt to cover all of the " -"permutations; consult the zlib manual at http://www.zlib.net/manual.html for" -" authoritative information." -msgstr "" - -#: ../../library/zlib.rst:22 -msgid "For reading and writing ``.gz`` files see the :mod:`gzip` module." -msgstr "" - -#: ../../library/zlib.rst:24 -msgid "The available exception and functions in this module are:" -msgstr "" - -#: ../../library/zlib.rst:29 -msgid "Exception raised on compression and decompression errors." -msgstr "" - -#: ../../library/zlib.rst:34 -msgid "" -"Computes an Adler-32 checksum of *data*. (An Adler-32 checksum is almost as" -" reliable as a CRC32 but can be computed much more quickly.) The result is " -"an unsigned 32-bit integer. If *value* is present, it is used as the " -"starting value of the checksum; otherwise, a default value of 1 is used. " -"Passing in *value* allows computing a running checksum over the " -"concatenation of several inputs. The algorithm is not cryptographically " -"strong, and should not be used for authentication or digital signatures. " -"Since the algorithm is designed for use as a checksum algorithm, it is not " -"suitable for use as a general hash algorithm." -msgstr "" - -#: ../../library/zlib.rst:44 ../../library/zlib.rst:136 -msgid "The result is always unsigned." -msgstr "" - -#: ../../library/zlib.rst:49 -msgid "" -"Compresses the bytes in *data*, returning a bytes object containing " -"compressed data. *level* is an integer from ``0`` to ``9`` or ``-1`` " -"controlling the level of compression; ``1`` (Z_BEST_SPEED) is fastest and " -"produces the least compression, ``9`` (Z_BEST_COMPRESSION) is slowest and " -"produces the most. ``0`` (Z_NO_COMPRESSION) is no compression. The default " -"value is ``-1`` (Z_DEFAULT_COMPRESSION). Z_DEFAULT_COMPRESSION represents a" -" default compromise between speed and compression (currently equivalent to " -"level 6)." -msgstr "" - -#: ../../library/zlib.rst:58 -msgid "" -"The *wbits* argument controls the size of the history buffer (or the " -"\"window size\") used when compressing data, and whether a header and " -"trailer is included in the output. It can take several ranges of values, " -"defaulting to ``15`` (MAX_WBITS):" -msgstr "" - -#: ../../library/zlib.rst:63 -msgid "" -"+9 to +15: The base-two logarithm of the window size, which therefore ranges" -" between 512 and 32768. Larger values produce better compression at the " -"expense of greater memory usage. The resulting output will include a zlib-" -"specific header and trailer." -msgstr "" - -#: ../../library/zlib.rst:68 -msgid "" -"−9 to −15: Uses the absolute value of *wbits* as the window size logarithm, " -"while producing a raw output stream with no header or trailing checksum." -msgstr "" - -#: ../../library/zlib.rst:72 -msgid "" -"+25 to +31 = 16 + (9 to 15): Uses the low 4 bits of the value as the window " -"size logarithm, while including a basic :program:`gzip` header and trailing " -"checksum in the output." -msgstr "" - -#: ../../library/zlib.rst:76 -msgid "Raises the :exc:`error` exception if any error occurs." -msgstr "" - -#: ../../library/zlib.rst:78 -msgid "*level* can now be used as a keyword parameter." -msgstr "" - -#: ../../library/zlib.rst:81 -msgid "" -"The *wbits* parameter is now available to set window bits and compression " -"type." -msgstr "" - -#: ../../library/zlib.rst:87 -msgid "" -"Returns a compression object, to be used for compressing data streams that " -"won't fit into memory at once." -msgstr "" - -#: ../../library/zlib.rst:90 -msgid "" -"*level* is the compression level -- an integer from ``0`` to ``9`` or " -"``-1``. A value of ``1`` (Z_BEST_SPEED) is fastest and produces the least " -"compression, while a value of ``9`` (Z_BEST_COMPRESSION) is slowest and " -"produces the most. ``0`` (Z_NO_COMPRESSION) is no compression. The default " -"value is ``-1`` (Z_DEFAULT_COMPRESSION). Z_DEFAULT_COMPRESSION represents a " -"default compromise between speed and compression (currently equivalent to " -"level 6)." -msgstr "" - -#: ../../library/zlib.rst:97 -msgid "" -"*method* is the compression algorithm. Currently, the only supported value " -"is :const:`DEFLATED`." -msgstr "" - -#: ../../library/zlib.rst:100 -msgid "" -"The *wbits* parameter controls the size of the history buffer (or the " -"\"window size\"), and what header and trailer format will be used. It has " -"the same meaning as `described for compress() <#compress-wbits>`__." -msgstr "" - -#: ../../library/zlib.rst:104 -msgid "" -"The *memLevel* argument controls the amount of memory used for the internal " -"compression state. Valid values range from ``1`` to ``9``. Higher values use" -" more memory, but are faster and produce smaller output." -msgstr "" - -#: ../../library/zlib.rst:108 -msgid "" -"*strategy* is used to tune the compression algorithm. Possible values are " -":const:`Z_DEFAULT_STRATEGY`, :const:`Z_FILTERED`, :const:`Z_HUFFMAN_ONLY`, " -":const:`Z_RLE` (zlib 1.2.0.1) and :const:`Z_FIXED` (zlib 1.2.2.2)." -msgstr "" - -#: ../../library/zlib.rst:112 -msgid "" -"*zdict* is a predefined compression dictionary. This is a sequence of bytes " -"(such as a :class:`bytes` object) containing subsequences that are expected " -"to occur frequently in the data that is to be compressed. Those subsequences" -" that are expected to be most common should come at the end of the " -"dictionary." -msgstr "" - -#: ../../library/zlib.rst:117 -msgid "Added the *zdict* parameter and keyword argument support." -msgstr "" - -#: ../../library/zlib.rst:127 -msgid "" -"Computes a CRC (Cyclic Redundancy Check) checksum of *data*. The result is " -"an unsigned 32-bit integer. If *value* is present, it is used as the " -"starting value of the checksum; otherwise, a default value of 0 is used. " -"Passing in *value* allows computing a running checksum over the " -"concatenation of several inputs. The algorithm is not cryptographically " -"strong, and should not be used for authentication or digital signatures. " -"Since the algorithm is designed for use as a checksum algorithm, it is not " -"suitable for use as a general hash algorithm." -msgstr "" - -#: ../../library/zlib.rst:141 -msgid "" -"Decompresses the bytes in *data*, returning a bytes object containing the " -"uncompressed data. The *wbits* parameter depends on the format of *data*, " -"and is discussed further below. If *bufsize* is given, it is used as the " -"initial size of the output buffer. Raises the :exc:`error` exception if any" -" error occurs." -msgstr "" - -#: ../../library/zlib.rst:149 -msgid "" -"The *wbits* parameter controls the size of the history buffer (or \"window " -"size\"), and what header and trailer format is expected. It is similar to " -"the parameter for :func:`compressobj`, but accepts more ranges of values:" -msgstr "" - -#: ../../library/zlib.rst:154 -msgid "" -"+8 to +15: The base-two logarithm of the window size. The input must " -"include a zlib header and trailer." -msgstr "" - -#: ../../library/zlib.rst:157 -msgid "" -"0: Automatically determine the window size from the zlib header. Only " -"supported since zlib 1.2.3.5." -msgstr "" - -#: ../../library/zlib.rst:160 -msgid "" -"−8 to −15: Uses the absolute value of *wbits* as the window size logarithm." -" The input must be a raw stream with no header or trailer." -msgstr "" - -#: ../../library/zlib.rst:163 -msgid "" -"+24 to +31 = 16 + (8 to 15): Uses the low 4 bits of the value as the window " -"size logarithm. The input must include a gzip header and trailer." -msgstr "" - -#: ../../library/zlib.rst:167 -msgid "" -"+40 to +47 = 32 + (8 to 15): Uses the low 4 bits of the value as the window " -"size logarithm, and automatically accepts either the zlib or gzip format." -msgstr "" - -#: ../../library/zlib.rst:171 -msgid "" -"When decompressing a stream, the window size must not be smaller than the " -"size originally used to compress the stream; using a too-small value may " -"result in an :exc:`error` exception. The default *wbits* value corresponds " -"to the largest window size and requires a zlib header and trailer to be " -"included." -msgstr "" - -#: ../../library/zlib.rst:177 -msgid "" -"*bufsize* is the initial size of the buffer used to hold decompressed data." -" If more space is required, the buffer size will be increased as needed, so" -" you don't have to get this value exactly right; tuning it will only save a " -"few calls to :c:func:`malloc`." -msgstr "" - -#: ../../library/zlib.rst:182 -msgid "*wbits* and *bufsize* can be used as keyword arguments." -msgstr "" - -#: ../../library/zlib.rst:187 -msgid "" -"Returns a decompression object, to be used for decompressing data streams " -"that won't fit into memory at once." -msgstr "" - -#: ../../library/zlib.rst:190 -msgid "" -"The *wbits* parameter controls the size of the history buffer (or the " -"\"window size\"), and what header and trailer format is expected. It has " -"the same meaning as `described for decompress() <#decompress-wbits>`__." -msgstr "" - -#: ../../library/zlib.rst:194 -msgid "" -"The *zdict* parameter specifies a predefined compression dictionary. If " -"provided, this must be the same dictionary as was used by the compressor " -"that produced the data that is to be decompressed." -msgstr "" - -#: ../../library/zlib.rst:200 -msgid "" -"If *zdict* is a mutable object (such as a :class:`bytearray`), you must not " -"modify its contents between the call to :func:`decompressobj` and the first " -"call to the decompressor's ``decompress()`` method." -msgstr "" - -#: ../../library/zlib.rst:204 -msgid "Added the *zdict* parameter." -msgstr "" - -#: ../../library/zlib.rst:208 -msgid "Compression objects support the following methods:" -msgstr "" - -#: ../../library/zlib.rst:213 -msgid "" -"Compress *data*, returning a bytes object containing compressed data for at " -"least part of the data in *data*. This data should be concatenated to the " -"output produced by any preceding calls to the :meth:`compress` method. Some" -" input may be kept in internal buffers for later processing." -msgstr "" - -#: ../../library/zlib.rst:221 -msgid "" -"All pending input is processed, and a bytes object containing the remaining " -"compressed output is returned. *mode* can be selected from the constants " -":const:`Z_NO_FLUSH`, :const:`Z_PARTIAL_FLUSH`, :const:`Z_SYNC_FLUSH`, " -":const:`Z_FULL_FLUSH`, :const:`Z_BLOCK` (zlib 1.2.3.4), or " -":const:`Z_FINISH`, defaulting to :const:`Z_FINISH`. Except " -":const:`Z_FINISH`, all constants allow compressing further bytestrings of " -"data, while :const:`Z_FINISH` finishes the compressed stream and prevents " -"compressing any more data. After calling :meth:`flush` with *mode* set to " -":const:`Z_FINISH`, the :meth:`compress` method cannot be called again; the " -"only realistic action is to delete the object." -msgstr "" - -#: ../../library/zlib.rst:234 -msgid "" -"Returns a copy of the compression object. This can be used to efficiently " -"compress a set of data that share a common initial prefix." -msgstr "" - -#: ../../library/zlib.rst:238 -msgid "" -"Added :func:`copy.copy` and :func:`copy.deepcopy` support to compression " -"objects." -msgstr "" - -#: ../../library/zlib.rst:243 -msgid "Decompression objects support the following methods and attributes:" -msgstr "" - -#: ../../library/zlib.rst:248 -msgid "" -"A bytes object which contains any bytes past the end of the compressed data." -" That is, this remains ``b\"\"`` until the last byte that contains " -"compression data is available. If the whole bytestring turned out to " -"contain compressed data, this is ``b\"\"``, an empty bytes object." -msgstr "" - -#: ../../library/zlib.rst:256 -msgid "" -"A bytes object that contains any data that was not consumed by the last " -":meth:`decompress` call because it exceeded the limit for the uncompressed " -"data buffer. This data has not yet been seen by the zlib machinery, so you " -"must feed it (possibly with further data concatenated to it) back to a " -"subsequent :meth:`decompress` method call in order to get correct output." -msgstr "" - -#: ../../library/zlib.rst:265 -msgid "" -"A boolean indicating whether the end of the compressed data stream has been " -"reached." -msgstr "" - -#: ../../library/zlib.rst:268 -msgid "" -"This makes it possible to distinguish between a properly formed compressed " -"stream, and an incomplete or truncated one." -msgstr "" - -#: ../../library/zlib.rst:276 -msgid "" -"Decompress *data*, returning a bytes object containing the uncompressed data" -" corresponding to at least part of the data in *string*. This data should " -"be concatenated to the output produced by any preceding calls to the " -":meth:`decompress` method. Some of the input data may be preserved in " -"internal buffers for later processing." -msgstr "" - -#: ../../library/zlib.rst:282 -msgid "" -"If the optional parameter *max_length* is non-zero then the return value " -"will be no longer than *max_length*. This may mean that not all of the " -"compressed input can be processed; and unconsumed data will be stored in the" -" attribute :attr:`unconsumed_tail`. This bytestring must be passed to a " -"subsequent call to :meth:`decompress` if decompression is to continue. If " -"*max_length* is zero then the whole input is decompressed, and " -":attr:`unconsumed_tail` is empty." -msgstr "" - -#: ../../library/zlib.rst:289 -msgid "*max_length* can be used as a keyword argument." -msgstr "" - -#: ../../library/zlib.rst:295 -msgid "" -"All pending input is processed, and a bytes object containing the remaining " -"uncompressed output is returned. After calling :meth:`flush`, the " -":meth:`decompress` method cannot be called again; the only realistic action " -"is to delete the object." -msgstr "" - -#: ../../library/zlib.rst:300 -msgid "" -"The optional parameter *length* sets the initial size of the output buffer." -msgstr "" - -#: ../../library/zlib.rst:305 -msgid "" -"Returns a copy of the decompression object. This can be used to save the " -"state of the decompressor midway through the data stream in order to speed " -"up random seeks into the stream at a future point." -msgstr "" - -#: ../../library/zlib.rst:310 -msgid "" -"Added :func:`copy.copy` and :func:`copy.deepcopy` support to decompression " -"objects." -msgstr "" - -#: ../../library/zlib.rst:315 -msgid "" -"Information about the version of the zlib library in use is available " -"through the following constants:" -msgstr "" - -#: ../../library/zlib.rst:321 -msgid "" -"The version string of the zlib library that was used for building the " -"module. This may be different from the zlib library actually used at " -"runtime, which is available as :const:`ZLIB_RUNTIME_VERSION`." -msgstr "" - -#: ../../library/zlib.rst:328 -msgid "" -"The version string of the zlib library actually loaded by the interpreter." -msgstr "" - -#: ../../library/zlib.rst:335 -msgid "" -"The version string of the zlib-ng library that was used for building the " -"module if zlib-ng was used. When present, the :data:`ZLIB_VERSION` and " -":data:`ZLIB_RUNTIME_VERSION` constants reflect the version of the zlib API " -"provided by zlib-ng." -msgstr "" - -#: ../../library/zlib.rst:340 -msgid "" -"If zlib-ng was not used to build the module, this constant will be absent." -msgstr "" - -#: ../../library/zlib.rst:347 -msgid "Module :mod:`gzip`" -msgstr "" - -#: ../../library/zlib.rst:348 -msgid "Reading and writing :program:`gzip`\\ -format files." -msgstr "" - -#: ../../library/zlib.rst:350 -msgid "http://www.zlib.net" -msgstr "" - -#: ../../library/zlib.rst:351 -msgid "The zlib library home page." -msgstr "" - -#: ../../library/zlib.rst:353 -msgid "http://www.zlib.net/manual.html" -msgstr "" - -#: ../../library/zlib.rst:354 -msgid "" -"The zlib manual explains the semantics and usage of the library's many " -"functions." -msgstr "" - -#: ../../library/zlib.rst:357 -msgid "" -"In case gzip (de)compression is a bottleneck, the `python-isal`_ package " -"speeds up (de)compression with a mostly compatible API." -msgstr "" - -#: ../../library/zlib.rst:123 -msgid "Cyclic Redundancy Check" -msgstr "" - -#: ../../library/zlib.rst:123 -msgid "checksum" -msgstr "" diff --git a/python-newest.library--zoneinfo/id.po b/python-newest.library--zoneinfo/id.po deleted file mode 100644 index 9045dcb..0000000 --- a/python-newest.library--zoneinfo/id.po +++ /dev/null @@ -1,595 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi (OonID) , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: oon arfiandwi (OonID) , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../library/zoneinfo.rst:2 -msgid ":mod:`!zoneinfo` --- IANA time zone support" -msgstr "" - -#: ../../library/zoneinfo.rst:12 -msgid "**Source code:** :source:`Lib/zoneinfo`" -msgstr "" - -#: ../../library/zoneinfo.rst:16 -msgid "" -"The :mod:`zoneinfo` module provides a concrete time zone implementation to " -"support the IANA time zone database as originally specified in :pep:`615`. " -"By default, :mod:`zoneinfo` uses the system's time zone data if available; " -"if no system time zone data is available, the library will fall back to " -"using the first-party :pypi:`tzdata` package available on PyPI." -msgstr "" - -#: ../../library/zoneinfo.rst:24 -msgid "Module: :mod:`datetime`" -msgstr "" - -#: ../../library/zoneinfo.rst:25 -msgid "" -"Provides the :class:`~datetime.time` and :class:`~datetime.datetime` types " -"with which the :class:`ZoneInfo` class is designed to be used." -msgstr "" - -#: ../../library/zoneinfo.rst:28 -msgid "Package :pypi:`tzdata`" -msgstr "" - -#: ../../library/zoneinfo.rst:29 -msgid "" -"First-party package maintained by the CPython core developers to supply time" -" zone data via PyPI." -msgstr "" - -#: ../../includes/wasm-notavail.rst:3 -msgid "Availability" -msgstr "" - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly. See " -":ref:`wasm-availability` for more information." -msgstr "" - -#: ../../library/zoneinfo.rst:35 -msgid "Using ``ZoneInfo``" -msgstr "" - -#: ../../library/zoneinfo.rst:37 -msgid "" -":class:`ZoneInfo` is a concrete implementation of the " -":class:`datetime.tzinfo` abstract base class, and is intended to be attached" -" to ``tzinfo``, either via the constructor, the :meth:`datetime.replace " -"` method or :meth:`datetime.astimezone " -"`::" -msgstr "" - -#: ../../library/zoneinfo.rst:42 -msgid "" -">>> from zoneinfo import ZoneInfo\n" -">>> from datetime import datetime, timedelta\n" -"\n" -">>> dt = datetime(2020, 10, 31, 12, tzinfo=ZoneInfo(\"America/Los_Angeles\"))\n" -">>> print(dt)\n" -"2020-10-31 12:00:00-07:00\n" -"\n" -">>> dt.tzname()\n" -"'PDT'" -msgstr "" - -#: ../../library/zoneinfo.rst:52 -msgid "" -"Datetimes constructed in this way are compatible with datetime arithmetic " -"and handle daylight saving time transitions with no further intervention::" -msgstr "" - -#: ../../library/zoneinfo.rst:55 -msgid "" -">>> dt_add = dt + timedelta(days=1)\n" -"\n" -">>> print(dt_add)\n" -"2020-11-01 12:00:00-08:00\n" -"\n" -">>> dt_add.tzname()\n" -"'PST'" -msgstr "" - -#: ../../library/zoneinfo.rst:63 -msgid "" -"These time zones also support the :attr:`~datetime.datetime.fold` attribute " -"introduced in :pep:`495`. During offset transitions which induce ambiguous " -"times (such as a daylight saving time to standard time transition), the " -"offset from *before* the transition is used when ``fold=0``, and the offset " -"*after* the transition is used when ``fold=1``, for example::" -msgstr "" - -#: ../../library/zoneinfo.rst:69 -msgid "" -">>> dt = datetime(2020, 11, 1, 1, tzinfo=ZoneInfo(\"America/Los_Angeles\"))\n" -">>> print(dt)\n" -"2020-11-01 01:00:00-07:00\n" -"\n" -">>> print(dt.replace(fold=1))\n" -"2020-11-01 01:00:00-08:00" -msgstr "" - -#: ../../library/zoneinfo.rst:76 -msgid "" -"When converting from another time zone, the fold will be set to the correct " -"value::" -msgstr "" - -#: ../../library/zoneinfo.rst:79 -msgid "" -">>> from datetime import timezone\n" -">>> LOS_ANGELES = ZoneInfo(\"America/Los_Angeles\")\n" -">>> dt_utc = datetime(2020, 11, 1, 8, tzinfo=timezone.utc)\n" -"\n" -">>> # Before the PDT -> PST transition\n" -">>> print(dt_utc.astimezone(LOS_ANGELES))\n" -"2020-11-01 01:00:00-07:00\n" -"\n" -">>> # After the PDT -> PST transition\n" -">>> print((dt_utc + timedelta(hours=1)).astimezone(LOS_ANGELES))\n" -"2020-11-01 01:00:00-08:00" -msgstr "" - -#: ../../library/zoneinfo.rst:92 -msgid "Data sources" -msgstr "" - -#: ../../library/zoneinfo.rst:94 -msgid "" -"The ``zoneinfo`` module does not directly provide time zone data, and " -"instead pulls time zone information from the system time zone database or " -"the first-party PyPI package :pypi:`tzdata`, if available. Some systems, " -"including notably Windows systems, do not have an IANA database available, " -"and so for projects targeting cross-platform compatibility that require time" -" zone data, it is recommended to declare a dependency on tzdata. If neither " -"system data nor tzdata are available, all calls to :class:`ZoneInfo` will " -"raise :exc:`ZoneInfoNotFoundError`." -msgstr "" - -#: ../../library/zoneinfo.rst:106 -msgid "Configuring the data sources" -msgstr "" - -#: ../../library/zoneinfo.rst:108 -msgid "" -"When ``ZoneInfo(key)`` is called, the constructor first searches the " -"directories specified in :data:`TZPATH` for a file matching ``key``, and on " -"failure looks for a match in the tzdata package. This behavior can be " -"configured in three ways:" -msgstr "" - -#: ../../library/zoneinfo.rst:113 -msgid "" -"The default :data:`TZPATH` when not otherwise specified can be configured at" -" :ref:`compile time `." -msgstr "" - -#: ../../library/zoneinfo.rst:115 -msgid "" -":data:`TZPATH` can be configured using :ref:`an environment variable " -"`." -msgstr "" - -#: ../../library/zoneinfo.rst:117 -msgid "" -"At :ref:`runtime `, the search path can be " -"manipulated using the :func:`reset_tzpath` function." -msgstr "" - -#: ../../library/zoneinfo.rst:123 -msgid "Compile-time configuration" -msgstr "" - -#: ../../library/zoneinfo.rst:125 -msgid "" -"The default :data:`TZPATH` includes several common deployment locations for " -"the time zone database (except on Windows, where there are no \"well-known\"" -" locations for time zone data). On POSIX systems, downstream distributors " -"and those building Python from source who know where their system time zone " -"data is deployed may change the default time zone path by specifying the " -"compile-time option ``TZPATH`` (or, more likely, the :option:`configure flag" -" --with-tzpath <--with-tzpath>`), which should be a string delimited by " -":data:`os.pathsep`." -msgstr "" - -#: ../../library/zoneinfo.rst:134 -msgid "" -"On all platforms, the configured value is available as the ``TZPATH`` key in" -" :func:`sysconfig.get_config_var`." -msgstr "" - -#: ../../library/zoneinfo.rst:140 -msgid "Environment configuration" -msgstr "" - -#: ../../library/zoneinfo.rst:142 -msgid "" -"When initializing :data:`TZPATH` (either at import time or whenever " -":func:`reset_tzpath` is called with no arguments), the ``zoneinfo`` module " -"will use the environment variable ``PYTHONTZPATH``, if it exists, to set the" -" search path." -msgstr "" - -#: ../../library/zoneinfo.rst:149 -msgid "" -"This is an :data:`os.pathsep`-separated string containing the time zone " -"search path to use. It must consist of only absolute rather than relative " -"paths. Relative components specified in ``PYTHONTZPATH`` will not be used, " -"but otherwise the behavior when a relative path is specified is " -"implementation-defined; CPython will raise :exc:`InvalidTZPathWarning`, but " -"other implementations are free to silently ignore the erroneous component or" -" raise an exception." -msgstr "" - -#: ../../library/zoneinfo.rst:157 -msgid "" -"To set the system to ignore the system data and use the tzdata package " -"instead, set ``PYTHONTZPATH=\"\"``." -msgstr "" - -#: ../../library/zoneinfo.rst:163 -msgid "Runtime configuration" -msgstr "" - -#: ../../library/zoneinfo.rst:165 -msgid "" -"The TZ search path can also be configured at runtime using the " -":func:`reset_tzpath` function. This is generally not an advisable operation," -" though it is reasonable to use it in test functions that require the use of" -" a specific time zone path (or require disabling access to the system time " -"zones)." -msgstr "" - -#: ../../library/zoneinfo.rst:172 -msgid "The ``ZoneInfo`` class" -msgstr "" - -#: ../../library/zoneinfo.rst:176 -msgid "" -"A concrete :class:`datetime.tzinfo` subclass that represents an IANA time " -"zone specified by the string ``key``. Calls to the primary constructor will " -"always return objects that compare identically; put another way, barring " -"cache invalidation via :meth:`ZoneInfo.clear_cache`, for all values of " -"``key``, the following assertion will always be true:" -msgstr "" - -#: ../../library/zoneinfo.rst:182 -msgid "" -"a = ZoneInfo(key)\n" -"b = ZoneInfo(key)\n" -"assert a is b" -msgstr "" - -#: ../../library/zoneinfo.rst:188 -msgid "" -"``key`` must be in the form of a relative, normalized POSIX path, with no " -"up-level references. The constructor will raise :exc:`ValueError` if a non-" -"conforming key is passed." -msgstr "" - -#: ../../library/zoneinfo.rst:192 -msgid "" -"If no file matching ``key`` is found, the constructor will raise " -":exc:`ZoneInfoNotFoundError`." -msgstr "" - -#: ../../library/zoneinfo.rst:196 -msgid "The ``ZoneInfo`` class has two alternate constructors:" -msgstr "" - -#: ../../library/zoneinfo.rst:200 -msgid "" -"Constructs a ``ZoneInfo`` object from a file-like object returning bytes " -"(e.g. a file opened in binary mode or an :class:`io.BytesIO` object). Unlike" -" the primary constructor, this always constructs a new object." -msgstr "" - -#: ../../library/zoneinfo.rst:204 -msgid "" -"The ``key`` parameter sets the name of the zone for the purposes of " -":py:meth:`~object.__str__` and :py:meth:`~object.__repr__`." -msgstr "" - -#: ../../library/zoneinfo.rst:207 -msgid "" -"Objects created via this constructor cannot be pickled (see `pickling`_)." -msgstr "" - -#: ../../library/zoneinfo.rst:211 -msgid "" -"An alternate constructor that bypasses the constructor's cache. It is " -"identical to the primary constructor, but returns a new object on each call." -" This is most likely to be useful for testing or demonstration purposes, but" -" it can also be used to create a system with a different cache invalidation " -"strategy." -msgstr "" - -#: ../../library/zoneinfo.rst:217 -msgid "" -"Objects created via this constructor will also bypass the cache of a " -"deserializing process when unpickled." -msgstr "" - -#: ../../library/zoneinfo.rst:224 -msgid "" -"Using this constructor may change the semantics of your datetimes in " -"surprising ways, only use it if you know that you need to." -msgstr "" - -#: ../../library/zoneinfo.rst:227 -msgid "The following class methods are also available:" -msgstr "" - -#: ../../library/zoneinfo.rst:231 -msgid "" -"A method for invalidating the cache on the ``ZoneInfo`` class. If no " -"arguments are passed, all caches are invalidated and the next call to the " -"primary constructor for each key will return a new instance." -msgstr "" - -#: ../../library/zoneinfo.rst:235 -msgid "" -"If an iterable of key names is passed to the ``only_keys`` parameter, only " -"the specified keys will be removed from the cache. Keys passed to " -"``only_keys`` but not found in the cache are ignored." -msgstr "" - -#: ../../library/zoneinfo.rst:243 -msgid "" -"Invoking this function may change the semantics of datetimes using " -"``ZoneInfo`` in surprising ways; this modifies module state and thus may " -"have wide-ranging effects. Only use it if you know that you need to." -msgstr "" - -#: ../../library/zoneinfo.rst:248 -msgid "The class has one attribute:" -msgstr "" - -#: ../../library/zoneinfo.rst:252 -msgid "" -"This is a read-only :term:`attribute` that returns the value of ``key`` " -"passed to the constructor, which should be a lookup key in the IANA time " -"zone database (e.g. ``America/New_York``, ``Europe/Paris`` or " -"``Asia/Tokyo``)." -msgstr "" - -#: ../../library/zoneinfo.rst:257 -msgid "" -"For zones constructed from file without specifying a ``key`` parameter, this" -" will be set to ``None``." -msgstr "" - -#: ../../library/zoneinfo.rst:262 -msgid "" -"Although it is a somewhat common practice to expose these to end users, " -"these values are designed to be primary keys for representing the relevant " -"zones and not necessarily user-facing elements. Projects like CLDR (the " -"Unicode Common Locale Data Repository) can be used to get more user-friendly" -" strings from these keys." -msgstr "" - -#: ../../library/zoneinfo.rst:269 -msgid "String representations" -msgstr "" - -#: ../../library/zoneinfo.rst:271 -msgid "" -"The string representation returned when calling :py:class:`str` on a " -":class:`ZoneInfo` object defaults to using the :attr:`ZoneInfo.key` " -"attribute (see the note on usage in the attribute documentation)::" -msgstr "" - -#: ../../library/zoneinfo.rst:275 -msgid "" -">>> zone = ZoneInfo(\"Pacific/Kwajalein\")\n" -">>> str(zone)\n" -"'Pacific/Kwajalein'\n" -"\n" -">>> dt = datetime(2020, 4, 1, 3, 15, tzinfo=zone)\n" -">>> f\"{dt.isoformat()} [{dt.tzinfo}]\"\n" -"'2020-04-01T03:15:00+12:00 [Pacific/Kwajalein]'" -msgstr "" - -#: ../../library/zoneinfo.rst:283 -msgid "" -"For objects constructed from a file without specifying a ``key`` parameter, " -"``str`` falls back to calling :func:`repr`. ``ZoneInfo``'s ``repr`` is " -"implementation-defined and not necessarily stable between versions, but it " -"is guaranteed not to be a valid ``ZoneInfo`` key." -msgstr "" - -#: ../../library/zoneinfo.rst:291 -msgid "Pickle serialization" -msgstr "" - -#: ../../library/zoneinfo.rst:293 -msgid "" -"Rather than serializing all transition data, ``ZoneInfo`` objects are " -"serialized by key, and ``ZoneInfo`` objects constructed from files (even " -"those with a value for ``key`` specified) cannot be pickled." -msgstr "" - -#: ../../library/zoneinfo.rst:297 -msgid "The behavior of a ``ZoneInfo`` file depends on how it was constructed:" -msgstr "" - -#: ../../library/zoneinfo.rst:299 -msgid "" -"``ZoneInfo(key)``: When constructed with the primary constructor, a " -"``ZoneInfo`` object is serialized by key, and when deserialized, the " -"deserializing process uses the primary and thus it is expected that these " -"are expected to be the same object as other references to the same time " -"zone. For example, if ``europe_berlin_pkl`` is a string containing a pickle" -" constructed from ``ZoneInfo(\"Europe/Berlin\")``, one would expect the " -"following behavior:" -msgstr "" - -#: ../../library/zoneinfo.rst:307 -msgid "" -">>> a = ZoneInfo(\"Europe/Berlin\")\n" -">>> b = pickle.loads(europe_berlin_pkl)\n" -">>> a is b\n" -"True" -msgstr "" - -#: ../../library/zoneinfo.rst:314 -msgid "" -"``ZoneInfo.no_cache(key)``: When constructed from the cache-bypassing " -"constructor, the ``ZoneInfo`` object is also serialized by key, but when " -"deserialized, the deserializing process uses the cache bypassing " -"constructor. If ``europe_berlin_pkl_nc`` is a string containing a pickle " -"constructed from ``ZoneInfo.no_cache(\"Europe/Berlin\")``, one would expect " -"the following behavior:" -msgstr "" - -#: ../../library/zoneinfo.rst:321 -msgid "" -">>> a = ZoneInfo(\"Europe/Berlin\")\n" -">>> b = pickle.loads(europe_berlin_pkl_nc)\n" -">>> a is b\n" -"False" -msgstr "" - -#: ../../library/zoneinfo.rst:328 -msgid "" -"``ZoneInfo.from_file(fobj, /, key=None)``: When constructed from a file, the" -" ``ZoneInfo`` object raises an exception on pickling. If an end user wants " -"to pickle a ``ZoneInfo`` constructed from a file, it is recommended that " -"they use a wrapper type or a custom serialization function: either " -"serializing by key or storing the contents of the file object and " -"serializing that." -msgstr "" - -#: ../../library/zoneinfo.rst:334 -msgid "" -"This method of serialization requires that the time zone data for the " -"required key be available on both the serializing and deserializing side, " -"similar to the way that references to classes and functions are expected to " -"exist in both the serializing and deserializing environments. It also means " -"that no guarantees are made about the consistency of results when unpickling" -" a ``ZoneInfo`` pickled in an environment with a different version of the " -"time zone data." -msgstr "" - -#: ../../library/zoneinfo.rst:342 -msgid "Functions" -msgstr "Fungsi-Fungsi" - -#: ../../library/zoneinfo.rst:346 -msgid "" -"Get a set containing all the valid keys for IANA time zones available " -"anywhere on the time zone path. This is recalculated on every call to the " -"function." -msgstr "" - -#: ../../library/zoneinfo.rst:350 -msgid "" -"This function only includes canonical zone names and does not include " -"\"special\" zones such as those under the ``posix/`` and ``right/`` " -"directories, or the ``posixrules`` zone." -msgstr "" - -#: ../../library/zoneinfo.rst:356 -msgid "" -"This function may open a large number of files, as the best way to determine" -" if a file on the time zone path is a valid time zone is to read the \"magic" -" string\" at the beginning." -msgstr "" - -#: ../../library/zoneinfo.rst:362 -msgid "" -"These values are not designed to be exposed to end-users; for user facing " -"elements, applications should use something like CLDR (the Unicode Common " -"Locale Data Repository) to get more user-friendly strings. See also the " -"cautionary note on :attr:`ZoneInfo.key`." -msgstr "" - -#: ../../library/zoneinfo.rst:369 -msgid "" -"Sets or resets the time zone search path (:data:`TZPATH`) for the module. " -"When called with no arguments, :data:`TZPATH` is set to the default value." -msgstr "" - -#: ../../library/zoneinfo.rst:372 -msgid "" -"Calling ``reset_tzpath`` will not invalidate the :class:`ZoneInfo` cache, " -"and so calls to the primary ``ZoneInfo`` constructor will only use the new " -"``TZPATH`` in the case of a cache miss." -msgstr "" - -#: ../../library/zoneinfo.rst:376 -msgid "" -"The ``to`` parameter must be a :term:`sequence` of strings or " -":class:`os.PathLike` and not a string, all of which must be absolute paths. " -":exc:`ValueError` will be raised if something other than an absolute path is" -" passed." -msgstr "" - -#: ../../library/zoneinfo.rst:382 -msgid "Globals" -msgstr "" - -#: ../../library/zoneinfo.rst:386 -msgid "" -"A read-only sequence representing the time zone search path -- when " -"constructing a ``ZoneInfo`` from a key, the key is joined to each entry in " -"the ``TZPATH``, and the first file found is used." -msgstr "" - -#: ../../library/zoneinfo.rst:390 -msgid "" -"``TZPATH`` may contain only absolute paths, never relative paths, regardless" -" of how it is configured." -msgstr "" - -#: ../../library/zoneinfo.rst:393 -msgid "" -"The object that ``zoneinfo.TZPATH`` points to may change in response to a " -"call to :func:`reset_tzpath`, so it is recommended to use " -"``zoneinfo.TZPATH`` rather than importing ``TZPATH`` from ``zoneinfo`` or " -"assigning a long-lived variable to ``zoneinfo.TZPATH``." -msgstr "" - -#: ../../library/zoneinfo.rst:398 -msgid "" -"For more information on configuring the time zone search path, see " -":ref:`zoneinfo_data_configuration`." -msgstr "" - -#: ../../library/zoneinfo.rst:402 -msgid "Exceptions and warnings" -msgstr "" - -#: ../../library/zoneinfo.rst:406 -msgid "" -"Raised when construction of a :class:`ZoneInfo` object fails because the " -"specified key could not be found on the system. This is a subclass of " -":exc:`KeyError`." -msgstr "" - -#: ../../library/zoneinfo.rst:412 -msgid "" -"Raised when :envvar:`PYTHONTZPATH` contains an invalid component that will " -"be filtered out, such as a relative path." -msgstr "" diff --git a/python-newest.license/id.po b/python-newest.license/id.po deleted file mode 100644 index 415c938..0000000 --- a/python-newest.license/id.po +++ /dev/null @@ -1,1476 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Akhmat Safrudin , 2021 -# oon arfiandwi (OonID) , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: oon arfiandwi (OonID) , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../license.rst:7 -msgid "History and License" -msgstr "Sejarah dan Lisensi" - -#: ../../license.rst:11 -msgid "History of the software" -msgstr "Sejarah perangkat lunak" - -#: ../../license.rst:13 -msgid "" -"Python was created in the early 1990s by Guido van Rossum at Stichting " -"Mathematisch Centrum (CWI, see https://www.cwi.nl) in the Netherlands as a " -"successor of a language called ABC. Guido remains Python's principal " -"author, although it includes many contributions from others." -msgstr "" - -#: ../../license.rst:18 -msgid "" -"In 1995, Guido continued his work on Python at the Corporation for National " -"Research Initiatives (CNRI, see https://www.cnri.reston.va.us) in Reston, " -"Virginia where he released several versions of the software." -msgstr "" - -#: ../../license.rst:22 -msgid "" -"In May 2000, Guido and the Python core development team moved to BeOpen.com " -"to form the BeOpen PythonLabs team. In October of the same year, the " -"PythonLabs team moved to Digital Creations, which became Zope Corporation. " -"In 2001, the Python Software Foundation (PSF, see " -"https://www.python.org/psf/) was formed, a non-profit organization created " -"specifically to own Python-related Intellectual Property. Zope Corporation " -"was a sponsoring member of the PSF." -msgstr "" - -#: ../../license.rst:30 -msgid "" -"All Python releases are Open Source (see https://opensource.org for the Open" -" Source Definition). Historically, most, but not all, Python releases have " -"also been GPL-compatible; the table below summarizes the various releases." -msgstr "" - -#: ../../license.rst:35 -msgid "Release" -msgstr "Rilis" - -#: ../../license.rst:35 -msgid "Derived from" -msgstr "Berasal dari" - -#: ../../license.rst:35 -msgid "Year" -msgstr "Tahun" - -#: ../../license.rst:35 -msgid "Owner" -msgstr "Pemilik" - -#: ../../license.rst:35 -msgid "GPL-compatible? (1)" -msgstr "" - -#: ../../license.rst:37 -msgid "0.9.0 thru 1.2" -msgstr "0.9.0 hingga 1.2" - -#: ../../license.rst:37 -msgid "n/a" -msgstr "t/a" - -#: ../../license.rst:37 -msgid "1991-1995" -msgstr "1991-1995" - -#: ../../license.rst:37 -msgid "CWI" -msgstr "CWI" - -#: ../../license.rst:37 ../../license.rst:39 ../../license.rst:49 -#: ../../license.rst:51 ../../license.rst:53 ../../license.rst:55 -#: ../../license.rst:57 -msgid "yes" -msgstr "ya" - -#: ../../license.rst:39 -msgid "1.3 thru 1.5.2" -msgstr "1.3 hingga 1.5.2" - -#: ../../license.rst:39 -msgid "1.2" -msgstr "1.2" - -#: ../../license.rst:39 -msgid "1995-1999" -msgstr "1995-1999" - -#: ../../license.rst:39 ../../license.rst:41 ../../license.rst:45 -msgid "CNRI" -msgstr "CNRI" - -#: ../../license.rst:41 ../../license.rst:43 ../../license.rst:45 -msgid "1.6" -msgstr "1.6" - -#: ../../license.rst:41 -msgid "1.5.2" -msgstr "1.5.2" - -#: ../../license.rst:41 ../../license.rst:43 -msgid "2000" -msgstr "2000" - -#: ../../license.rst:41 ../../license.rst:43 ../../license.rst:47 -msgid "no" -msgstr "tidak" - -#: ../../license.rst:43 -msgid "2.0" -msgstr "2.0" - -#: ../../license.rst:43 -msgid "BeOpen.com" -msgstr "BeOpen.com" - -#: ../../license.rst:45 -msgid "1.6.1" -msgstr "1.6.1" - -#: ../../license.rst:45 ../../license.rst:47 ../../license.rst:49 -#: ../../license.rst:51 -msgid "2001" -msgstr "2001" - -#: ../../license.rst:45 -msgid "yes (2)" -msgstr "" - -#: ../../license.rst:47 -msgid "2.1" -msgstr "2.1" - -#: ../../license.rst:47 ../../license.rst:49 -msgid "2.0+1.6.1" -msgstr "2.0+1.6.1" - -#: ../../license.rst:47 ../../license.rst:49 ../../license.rst:51 -#: ../../license.rst:53 ../../license.rst:55 ../../license.rst:57 -msgid "PSF" -msgstr "PSF" - -#: ../../license.rst:49 -msgid "2.0.1" -msgstr "2.0.1" - -#: ../../license.rst:51 ../../license.rst:53 ../../license.rst:57 -msgid "2.1.1" -msgstr "2.1.1" - -#: ../../license.rst:51 -msgid "2.1+2.0.1" -msgstr "2.1+2.0.1" - -#: ../../license.rst:53 ../../license.rst:55 -msgid "2.1.2" -msgstr "2.1.2" - -#: ../../license.rst:53 ../../license.rst:55 -msgid "2002" -msgstr "2002" - -#: ../../license.rst:55 -msgid "2.1.3" -msgstr "2.1.3" - -#: ../../license.rst:57 -msgid "2.2 and above" -msgstr "2.2 dan ke atas" - -#: ../../license.rst:57 -msgid "2001-now" -msgstr "2001-sekarang" - -#: ../../license.rst:62 -msgid "" -"GPL-compatible doesn't mean that we're distributing Python under the GPL. " -"All Python licenses, unlike the GPL, let you distribute a modified version " -"without making your changes open source. The GPL-compatible licenses make it" -" possible to combine Python with other software that is released under the " -"GPL; the others don't." -msgstr "" - -#: ../../license.rst:68 -msgid "" -"According to Richard Stallman, 1.6.1 is not GPL-compatible, because its " -"license has a choice of law clause. According to CNRI, however, Stallman's " -"lawyer has told CNRI's lawyer that 1.6.1 is \"not incompatible\" with the " -"GPL." -msgstr "" - -#: ../../license.rst:72 -msgid "" -"Thanks to the many outside volunteers who have worked under Guido's " -"direction to make these releases possible." -msgstr "" -"Terima kasih kepada banyak sukarelawan eksternal yang telah bekerja di bawah" -" arahan Guido untuk mewujudkan rilis-rilis ini." - -#: ../../license.rst:77 -msgid "Terms and conditions for accessing or otherwise using Python" -msgstr "Syarat dan ketentuan untuk mengakses atau menggunakan Python" - -#: ../../license.rst:79 -msgid "" -"Python software and documentation are licensed under the Python Software " -"Foundation License Version 2." -msgstr "" - -#: ../../license.rst:82 -msgid "" -"Starting with Python 3.8.6, examples, recipes, and other code in the " -"documentation are dual licensed under the PSF License Version 2 and the " -":ref:`Zero-Clause BSD license `." -msgstr "" - -#: ../../license.rst:86 -msgid "" -"Some software incorporated into Python is under different licenses. The " -"licenses are listed with code falling under that license. See " -":ref:`OtherLicenses` for an incomplete list of these licenses." -msgstr "" -"Beberapa perangkat lunak yang dimasukkan ke dalam Python berada di bawah " -"lisensi yang berbeda. Lisensi terdaftar dengan kode yang yang termasuk dalam" -" lisensi tersebut. Lihat :ref:`OtherLicenses` untuk daftar lengkap dari " -"lisensi ini." - -#: ../../license.rst:94 -msgid "PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2" -msgstr "" - -#: ../../license.rst:98 -msgid "" -"1. This LICENSE AGREEMENT is between the Python Software Foundation (\"PSF\"), and\n" -" the Individual or Organization (\"Licensee\") accessing and otherwise using this\n" -" software (\"Python\") in source or binary form and its associated documentation.\n" -"\n" -"2. Subject to the terms and conditions of this License Agreement, PSF hereby\n" -" grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,\n" -" analyze, test, perform and/or display publicly, prepare derivative works,\n" -" distribute, and otherwise use Python alone or in any derivative\n" -" version, provided, however, that PSF's License Agreement and PSF's notice of\n" -" copyright, i.e., \"Copyright © 2001 Python Software Foundation; All Rights\n" -" Reserved\" are retained in Python alone or in any derivative version\n" -" prepared by Licensee.\n" -"\n" -"3. In the event Licensee prepares a derivative work that is based on or\n" -" incorporates Python or any part thereof, and wants to make the\n" -" derivative work available to others as provided herein, then Licensee hereby\n" -" agrees to include in any such work a brief summary of the changes made to Python.\n" -"\n" -"4. PSF is making Python available to Licensee on an \"AS IS\" basis.\n" -" PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF\n" -" EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR\n" -" WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE\n" -" USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.\n" -"\n" -"5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON\n" -" FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF\n" -" MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE\n" -" THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n" -"\n" -"6. This License Agreement will automatically terminate upon a material breach of\n" -" its terms and conditions.\n" -"\n" -"7. Nothing in this License Agreement shall be deemed to create any relationship\n" -" of agency, partnership, or joint venture between PSF and Licensee. This License\n" -" Agreement does not grant permission to use PSF trademarks or trade name in a\n" -" trademark sense to endorse or promote products or services of Licensee, or any\n" -" third party.\n" -"\n" -"8. By copying, installing or otherwise using Python, Licensee agrees\n" -" to be bound by the terms and conditions of this License Agreement." -msgstr "" - -#: ../../license.rst:141 -msgid "BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0" -msgstr "LISENSI PERJANJIAN BEOPEN.COM UNTUK PYTHON 2.0" - -#: ../../license.rst:143 -msgid "BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1" -msgstr "LISENSI PERJANJIAN BEOPEN SUMBER TERBUKA PYTHON VERSI 1" - -#: ../../license.rst:147 -msgid "" -"1. This LICENSE AGREEMENT is between BeOpen.com (\"BeOpen\"), having an office at\n" -" 160 Saratoga Avenue, Santa Clara, CA 95051, and the Individual or Organization\n" -" (\"Licensee\") accessing and otherwise using this software in source or binary\n" -" form and its associated documentation (\"the Software\").\n" -"\n" -"2. Subject to the terms and conditions of this BeOpen Python License Agreement,\n" -" BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide license\n" -" to reproduce, analyze, test, perform and/or display publicly, prepare derivative\n" -" works, distribute, and otherwise use the Software alone or in any derivative\n" -" version, provided, however, that the BeOpen Python License is retained in the\n" -" Software, alone or in any derivative version prepared by Licensee.\n" -"\n" -"3. BeOpen is making the Software available to Licensee on an \"AS IS\" basis.\n" -" BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF\n" -" EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND DISCLAIMS ANY REPRESENTATION OR\n" -" WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE\n" -" USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.\n" -"\n" -"4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR\n" -" ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING,\n" -" MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN IF\n" -" ADVISED OF THE POSSIBILITY THEREOF.\n" -"\n" -"5. This License Agreement will automatically terminate upon a material breach of\n" -" its terms and conditions.\n" -"\n" -"6. This License Agreement shall be governed by and interpreted in all respects\n" -" by the law of the State of California, excluding conflict of law provisions.\n" -" Nothing in this License Agreement shall be deemed to create any relationship of\n" -" agency, partnership, or joint venture between BeOpen and Licensee. This License\n" -" Agreement does not grant permission to use BeOpen trademarks or trade names in a\n" -" trademark sense to endorse or promote products or services of Licensee, or any\n" -" third party. As an exception, the \"BeOpen Python\" logos available at\n" -" http://www.pythonlabs.com/logos.html may be used according to the permissions\n" -" granted on that web page.\n" -"\n" -"7. By copying, installing or otherwise using the software, Licensee agrees to be\n" -" bound by the terms and conditions of this License Agreement." -msgstr "" - -#: ../../license.rst:188 -msgid "CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1" -msgstr "LISENSI PERJANJIAN CNRI UNTUK PYTHON 1.6.1" - -#: ../../license.rst:192 -msgid "" -"1. This LICENSE AGREEMENT is between the Corporation for National Research\n" -" Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191\n" -" (\"CNRI\"), and the Individual or Organization (\"Licensee\") accessing and\n" -" otherwise using Python 1.6.1 software in source or binary form and its\n" -" associated documentation.\n" -"\n" -"2. Subject to the terms and conditions of this License Agreement, CNRI hereby\n" -" grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,\n" -" analyze, test, perform and/or display publicly, prepare derivative works,\n" -" distribute, and otherwise use Python 1.6.1 alone or in any derivative version,\n" -" provided, however, that CNRI's License Agreement and CNRI's notice of copyright,\n" -" i.e., \"Copyright © 1995-2001 Corporation for National Research Initiatives; All\n" -" Rights Reserved\" are retained in Python 1.6.1 alone or in any derivative version\n" -" prepared by Licensee. Alternately, in lieu of CNRI's License Agreement,\n" -" Licensee may substitute the following text (omitting the quotes): \"Python 1.6.1\n" -" is made available subject to the terms and conditions in CNRI's License\n" -" Agreement. This Agreement together with Python 1.6.1 may be located on the\n" -" internet using the following unique, persistent identifier (known as a handle):\n" -" 1895.22/1013. This Agreement may also be obtained from a proxy server on the\n" -" internet using the following URL: http://hdl.handle.net/1895.22/1013\".\n" -"\n" -"3. In the event Licensee prepares a derivative work that is based on or\n" -" incorporates Python 1.6.1 or any part thereof, and wants to make the derivative\n" -" work available to others as provided herein, then Licensee hereby agrees to\n" -" include in any such work a brief summary of the changes made to Python 1.6.1.\n" -"\n" -"4. CNRI is making Python 1.6.1 available to Licensee on an \"AS IS\" basis. CNRI\n" -" MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE,\n" -" BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY\n" -" OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF\n" -" PYTHON 1.6.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.\n" -"\n" -"5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 1.6.1 FOR\n" -" ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF\n" -" MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, OR ANY DERIVATIVE\n" -" THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.\n" -"\n" -"6. This License Agreement will automatically terminate upon a material breach of\n" -" its terms and conditions.\n" -"\n" -"7. This License Agreement shall be governed by the federal intellectual property\n" -" law of the United States, including without limitation the federal copyright\n" -" law, and, to the extent such U.S. federal law does not apply, by the law of the\n" -" Commonwealth of Virginia, excluding Virginia's conflict of law provisions.\n" -" Notwithstanding the foregoing, with regard to derivative works based on Python\n" -" 1.6.1 that incorporate non-separable material that was previously distributed\n" -" under the GNU General Public License (GPL), the law of the Commonwealth of\n" -" Virginia shall govern this License Agreement only as to issues arising under or\n" -" with respect to Paragraphs 4, 5, and 7 of this License Agreement. Nothing in\n" -" this License Agreement shall be deemed to create any relationship of agency,\n" -" partnership, or joint venture between CNRI and Licensee. This License Agreement\n" -" does not grant permission to use CNRI trademarks or trade name in a trademark\n" -" sense to endorse or promote products or services of Licensee, or any third\n" -" party.\n" -"\n" -"8. By clicking on the \"ACCEPT\" button where indicated, or by copying, installing\n" -" or otherwise using Python 1.6.1, Licensee agrees to be bound by the terms and\n" -" conditions of this License Agreement." -msgstr "" - -#: ../../license.rst:253 -msgid "CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2" -msgstr "LISENSI PERJANJIAN CWI UNTUK PYTHON 0.9.0 SAMPAI 1.2" - -#: ../../license.rst:257 -msgid "" -"Copyright © 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The\n" -"Netherlands. All rights reserved.\n" -"\n" -"Permission to use, copy, modify, and distribute this software and its\n" -"documentation for any purpose and without fee is hereby granted, provided that\n" -"the above copyright notice appear in all copies and that both that copyright\n" -"notice and this permission notice appear in supporting documentation, and that\n" -"the name of Stichting Mathematisch Centrum or CWI not be used in advertising or\n" -"publicity pertaining to distribution of the software without specific, written\n" -"prior permission.\n" -"\n" -"STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS\n" -"SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO\n" -"EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL, INDIRECT\n" -"OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,\n" -"DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS\n" -"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS\n" -"SOFTWARE." -msgstr "" - -#: ../../license.rst:280 -msgid "ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON DOCUMENTATION" -msgstr "" - -#: ../../license.rst:284 -msgid "" -"Permission to use, copy, modify, and/or distribute this software for any\n" -"purpose with or without fee is hereby granted.\n" -"\n" -"THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n" -"REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n" -"AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n" -"INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n" -"LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n" -"OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n" -"PERFORMANCE OF THIS SOFTWARE." -msgstr "" - -#: ../../license.rst:299 -msgid "Licenses and Acknowledgements for Incorporated Software" -msgstr "Lisensi dan Ucapan Terima Kasih untuk Perangkat Lunak yang Tergabung" - -#: ../../license.rst:301 -msgid "" -"This section is an incomplete, but growing list of licenses and " -"acknowledgements for third-party software incorporated in the Python " -"distribution." -msgstr "" -"Bagian ini tidak lengkap, tetapi daftar lisensi dan ucapan terima kasih yang" -" terus bertambah untuk perangkat lunak pihak ketiga yang tergabung dalam " -"distribusi Python." - -#: ../../license.rst:306 -msgid "Mersenne Twister" -msgstr "Mersenne Twister" - -#: ../../license.rst:308 -msgid "" -"The :mod:`!_random` C extension underlying the :mod:`random` module includes" -" code based on a download from " -"http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html. The " -"following are the verbatim comments from the original code::" -msgstr "" - -#: ../../license.rst:313 -msgid "" -"A C-program for MT19937, with initialization improved 2002/1/26.\n" -"Coded by Takuji Nishimura and Makoto Matsumoto.\n" -"\n" -"Before using, initialize the state by using init_genrand(seed)\n" -"or init_by_array(init_key, key_length).\n" -"\n" -"Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,\n" -"All rights reserved.\n" -"\n" -"Redistribution and use in source and binary forms, with or without\n" -"modification, are permitted provided that the following conditions\n" -"are met:\n" -"\n" -" 1. Redistributions of source code must retain the above copyright\n" -" notice, this list of conditions and the following disclaimer.\n" -"\n" -" 2. Redistributions in binary form must reproduce the above copyright\n" -" notice, this list of conditions and the following disclaimer in the\n" -" documentation and/or other materials provided with the distribution.\n" -"\n" -" 3. The names of its contributors may not be used to endorse or promote\n" -" products derived from this software without specific prior written\n" -" permission.\n" -"\n" -"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" -"\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" -"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n" -"A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR\n" -"CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n" -"EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n" -"PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n" -"PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n" -"LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n" -"NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n" -"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n" -"\n" -"\n" -"Any feedback is very welcome.\n" -"http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html\n" -"email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)" -msgstr "" - -#: ../../license.rst:356 -msgid "Sockets" -msgstr "Soket" - -#: ../../license.rst:358 -msgid "" -"The :mod:`socket` module uses the functions, :c:func:`!getaddrinfo`, and " -":c:func:`!getnameinfo`, which are coded in separate source files from the " -"WIDE Project, https://www.wide.ad.jp/. ::" -msgstr "" - -#: ../../license.rst:362 -msgid "" -"Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.\n" -"All rights reserved.\n" -"\n" -"Redistribution and use in source and binary forms, with or without\n" -"modification, are permitted provided that the following conditions\n" -"are met:\n" -"1. Redistributions of source code must retain the above copyright\n" -" notice, this list of conditions and the following disclaimer.\n" -"2. Redistributions in binary form must reproduce the above copyright\n" -" notice, this list of conditions and the following disclaimer in the\n" -" documentation and/or other materials provided with the distribution.\n" -"3. Neither the name of the project nor the names of its contributors\n" -" may be used to endorse or promote products derived from this software\n" -" without specific prior written permission.\n" -"\n" -"THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS \"AS IS\" AND\n" -"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" -"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n" -"ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE\n" -"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" -"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n" -"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" -"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n" -"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n" -"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n" -"SUCH DAMAGE." -msgstr "" - -#: ../../license.rst:391 -msgid "Asynchronous socket services" -msgstr "Layanan soket asinkron" - -#: ../../license.rst:393 -msgid "" -"The :mod:`!test.support.asynchat` and :mod:`!test.support.asyncore` modules " -"contain the following notice::" -msgstr "" - -#: ../../license.rst:396 -msgid "" -"Copyright 1996 by Sam Rushing\n" -"\n" -" All Rights Reserved\n" -"\n" -"Permission to use, copy, modify, and distribute this software and\n" -"its documentation for any purpose and without fee is hereby\n" -"granted, provided that the above copyright notice appear in all\n" -"copies and that both that copyright notice and this permission\n" -"notice appear in supporting documentation, and that the name of Sam\n" -"Rushing not be used in advertising or publicity pertaining to\n" -"distribution of the software without specific, written prior\n" -"permission.\n" -"\n" -"SAM RUSHING DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,\n" -"INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN\n" -"NO EVENT SHALL SAM RUSHING BE LIABLE FOR ANY SPECIAL, INDIRECT OR\n" -"CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n" -"OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,\n" -"NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN\n" -"CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE." -msgstr "" - -#: ../../license.rst:419 -msgid "Cookie management" -msgstr "Pengelolaan *Cookie*" - -#: ../../license.rst:421 -msgid "The :mod:`http.cookies` module contains the following notice::" -msgstr "Modul :mod:`http.cookies` berisi pemberitahuan berikut::" - -#: ../../license.rst:423 -msgid "" -"Copyright 2000 by Timothy O'Malley \n" -"\n" -" All Rights Reserved\n" -"\n" -"Permission to use, copy, modify, and distribute this software\n" -"and its documentation for any purpose and without fee is hereby\n" -"granted, provided that the above copyright notice appear in all\n" -"copies and that both that copyright notice and this permission\n" -"notice appear in supporting documentation, and that the name of\n" -"Timothy O'Malley not be used in advertising or publicity\n" -"pertaining to distribution of the software without specific, written\n" -"prior permission.\n" -"\n" -"Timothy O'Malley DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS\n" -"SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n" -"AND FITNESS, IN NO EVENT SHALL Timothy O'Malley BE LIABLE FOR\n" -"ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n" -"WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\n" -"WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS\n" -"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n" -"PERFORMANCE OF THIS SOFTWARE." -msgstr "" - -#: ../../license.rst:447 -msgid "Execution tracing" -msgstr "Pelacakan eksekusi" - -#: ../../license.rst:449 -msgid "The :mod:`trace` module contains the following notice::" -msgstr "Modul :mod:`trace` berisi pemberitahuan berikut::" - -#: ../../license.rst:451 -msgid "" -"portions copyright 2001, Autonomous Zones Industries, Inc., all rights...\n" -"err... reserved and offered to the public under the terms of the\n" -"Python 2.2 license.\n" -"Author: Zooko O'Whielacronx\n" -"http://zooko.com/\n" -"mailto:zooko@zooko.com\n" -"\n" -"Copyright 2000, Mojam Media, Inc., all rights reserved.\n" -"Author: Skip Montanaro\n" -"\n" -"Copyright 1999, Bioreason, Inc., all rights reserved.\n" -"Author: Andrew Dalke\n" -"\n" -"Copyright 1995-1997, Automatrix, Inc., all rights reserved.\n" -"Author: Skip Montanaro\n" -"\n" -"Copyright 1991-1995, Stichting Mathematisch Centrum, all rights reserved.\n" -"\n" -"\n" -"Permission to use, copy, modify, and distribute this Python software and\n" -"its associated documentation for any purpose without fee is hereby\n" -"granted, provided that the above copyright notice appears in all copies,\n" -"and that both that copyright notice and this permission notice appear in\n" -"supporting documentation, and that the name of neither Automatrix,\n" -"Bioreason or Mojam Media be used in advertising or publicity pertaining to\n" -"distribution of the software without specific, written prior permission." -msgstr "" - -#: ../../license.rst:480 -msgid "UUencode and UUdecode functions" -msgstr "UUencode and UUdecode functions" - -#: ../../license.rst:482 -msgid "The ``uu`` codec contains the following notice::" -msgstr "" - -#: ../../license.rst:484 -msgid "" -"Copyright 1994 by Lance Ellinghouse\n" -"Cathedral City, California Republic, United States of America.\n" -" All Rights Reserved\n" -"Permission to use, copy, modify, and distribute this software and its\n" -"documentation for any purpose and without fee is hereby granted,\n" -"provided that the above copyright notice appear in all copies and that\n" -"both that copyright notice and this permission notice appear in\n" -"supporting documentation, and that the name of Lance Ellinghouse\n" -"not be used in advertising or publicity pertaining to distribution\n" -"of the software without specific, written prior permission.\n" -"LANCE ELLINGHOUSE DISCLAIMS ALL WARRANTIES WITH REGARD TO\n" -"THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n" -"FITNESS, IN NO EVENT SHALL LANCE ELLINGHOUSE CENTRUM BE LIABLE\n" -"FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n" -"WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n" -"ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT\n" -"OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n" -"\n" -"Modified by Jack Jansen, CWI, July 1995:\n" -"- Use binascii module to do the actual line-by-line conversion\n" -" between ascii and binary. This results in a 1000-fold speedup. The C\n" -" version is still 5 times faster, though.\n" -"- Arguments more compliant with Python standard" -msgstr "" - -#: ../../license.rst:510 -msgid "XML Remote Procedure Calls" -msgstr "XML Remote Procedure Calls" - -#: ../../license.rst:512 -msgid "The :mod:`xmlrpc.client` module contains the following notice::" -msgstr "Modul :mod:`xmlrpc.client` berisi pemberitahuan berikut::" - -#: ../../license.rst:514 -msgid "" -" The XML-RPC client interface is\n" -"\n" -"Copyright (c) 1999-2002 by Secret Labs AB\n" -"Copyright (c) 1999-2002 by Fredrik Lundh\n" -"\n" -"By obtaining, using, and/or copying this software and/or its\n" -"associated documentation, you agree that you have read, understood,\n" -"and will comply with the following terms and conditions:\n" -"\n" -"Permission to use, copy, modify, and distribute this software and\n" -"its associated documentation for any purpose and without fee is\n" -"hereby granted, provided that the above copyright notice appears in\n" -"all copies, and that both that copyright notice and this permission\n" -"notice appear in supporting documentation, and that the name of\n" -"Secret Labs AB or the author not be used in advertising or publicity\n" -"pertaining to distribution of the software without specific, written\n" -"prior permission.\n" -"\n" -"SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD\n" -"TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT-\n" -"ABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR\n" -"BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY\n" -"DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,\n" -"WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS\n" -"ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE\n" -"OF THIS SOFTWARE." -msgstr "" - -#: ../../license.rst:543 -msgid "test_epoll" -msgstr "test_epoll" - -#: ../../license.rst:545 -msgid "The :mod:`!test.test_epoll` module contains the following notice::" -msgstr "" - -#: ../../license.rst:547 -msgid "" -"Copyright (c) 2001-2006 Twisted Matrix Laboratories.\n" -"\n" -"Permission is hereby granted, free of charge, to any person obtaining\n" -"a copy of this software and associated documentation files (the\n" -"\"Software\"), to deal in the Software without restriction, including\n" -"without limitation the rights to use, copy, modify, merge, publish,\n" -"distribute, sublicense, and/or sell copies of the Software, and to\n" -"permit persons to whom the Software is furnished to do so, subject to\n" -"the following conditions:\n" -"\n" -"The above copyright notice and this permission notice shall be\n" -"included in all copies or substantial portions of the Software.\n" -"\n" -"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n" -"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" -"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n" -"NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n" -"LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n" -"OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n" -"WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." -msgstr "" - -#: ../../license.rst:569 -msgid "Select kqueue" -msgstr "Pilih kqueue" - -#: ../../license.rst:571 -msgid "" -"The :mod:`select` module contains the following notice for the kqueue " -"interface::" -msgstr "" -"Modul :mod:`select` berisi pemberitahuan berikut untuk antarmuka kqueue::" - -#: ../../license.rst:574 -msgid "" -"Copyright (c) 2000 Doug White, 2006 James Knight, 2007 Christian Heimes\n" -"All rights reserved.\n" -"\n" -"Redistribution and use in source and binary forms, with or without\n" -"modification, are permitted provided that the following conditions\n" -"are met:\n" -"1. Redistributions of source code must retain the above copyright\n" -" notice, this list of conditions and the following disclaimer.\n" -"2. Redistributions in binary form must reproduce the above copyright\n" -" notice, this list of conditions and the following disclaimer in the\n" -" documentation and/or other materials provided with the distribution.\n" -"\n" -"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS \"AS IS\" AND\n" -"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" -"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n" -"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n" -"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" -"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n" -"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" -"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n" -"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n" -"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n" -"SUCH DAMAGE." -msgstr "" - -#: ../../license.rst:600 -msgid "SipHash24" -msgstr "SipHash24" - -#: ../../license.rst:602 -msgid "" -"The file :file:`Python/pyhash.c` contains Marek Majkowski' implementation of" -" Dan Bernstein's SipHash24 algorithm. It contains the following note::" -msgstr "" - -#: ../../license.rst:605 -msgid "" -"\n" -"Copyright (c) 2013 Marek Majkowski \n" -"\n" -"Permission is hereby granted, free of charge, to any person obtaining a copy\n" -"of this software and associated documentation files (the \"Software\"), to deal\n" -"in the Software without restriction, including without limitation the rights\n" -"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n" -"copies of the Software, and to permit persons to whom the Software is\n" -"furnished to do so, subject to the following conditions:\n" -"\n" -"The above copyright notice and this permission notice shall be included in\n" -"all copies or substantial portions of the Software.\n" -"\n" -"\n" -"Original location:\n" -" https://github.com/majek/csiphash/\n" -"\n" -"Solution inspired by code from:\n" -" Samuel Neves (supercop/crypto_auth/siphash24/little)\n" -" djb (supercop/crypto_auth/siphash24/little2)\n" -" Jean-Philippe Aumasson (https://131002.net/siphash/siphash24.c)" -msgstr "" - -#: ../../license.rst:629 -msgid "strtod and dtoa" -msgstr "strtod dan dtoa" - -#: ../../license.rst:631 -msgid "" -"The file :file:`Python/dtoa.c`, which supplies C functions dtoa and strtod " -"for conversion of C doubles to and from strings, is derived from the file of" -" the same name by David M. Gay, currently available from " -"https://web.archive.org/web/20220517033456/http://www.netlib.org/fp/dtoa.c. " -"The original file, as retrieved on March 16, 2009, contains the following " -"copyright and licensing notice::" -msgstr "" - -#: ../../license.rst:638 -msgid "" -"/****************************************************************\n" -" *\n" -" * The author of this software is David M. Gay.\n" -" *\n" -" * Copyright (c) 1991, 2000, 2001 by Lucent Technologies.\n" -" *\n" -" * Permission to use, copy, modify, and distribute this software for any\n" -" * purpose without fee is hereby granted, provided that this entire notice\n" -" * is included in all copies of any software which is or includes a copy\n" -" * or modification of this software and in all copies of the supporting\n" -" * documentation for such software.\n" -" *\n" -" * THIS SOFTWARE IS BEING PROVIDED \"AS IS\", WITHOUT ANY EXPRESS OR IMPLIED\n" -" * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY\n" -" * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY\n" -" * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.\n" -" *\n" -" ***************************************************************/" -msgstr "" - -#: ../../license.rst:659 -msgid "OpenSSL" -msgstr "OpenSSL" - -#: ../../license.rst:661 -msgid "" -"The modules :mod:`hashlib`, :mod:`posix` and :mod:`ssl` use the OpenSSL " -"library for added performance if made available by the operating system. " -"Additionally, the Windows and macOS installers for Python may include a copy" -" of the OpenSSL libraries, so we include a copy of the OpenSSL license here." -" For the OpenSSL 3.0 release, and later releases derived from that, the " -"Apache License v2 applies::" -msgstr "" - -#: ../../license.rst:669 -msgid "" -" Apache License\n" -" Version 2.0, January 2004\n" -" https://www.apache.org/licenses/\n" -"\n" -"TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n" -"\n" -"1. Definitions.\n" -"\n" -" \"License\" shall mean the terms and conditions for use, reproduction,\n" -" and distribution as defined by Sections 1 through 9 of this document.\n" -"\n" -" \"Licensor\" shall mean the copyright owner or entity authorized by\n" -" the copyright owner that is granting the License.\n" -"\n" -" \"Legal Entity\" shall mean the union of the acting entity and all\n" -" other entities that control, are controlled by, or are under common\n" -" control with that entity. For the purposes of this definition,\n" -" \"control\" means (i) the power, direct or indirect, to cause the\n" -" direction or management of such entity, whether by contract or\n" -" otherwise, or (ii) ownership of fifty percent (50%) or more of the\n" -" outstanding shares, or (iii) beneficial ownership of such entity.\n" -"\n" -" \"You\" (or \"Your\") shall mean an individual or Legal Entity\n" -" exercising permissions granted by this License.\n" -"\n" -" \"Source\" form shall mean the preferred form for making modifications,\n" -" including but not limited to software source code, documentation\n" -" source, and configuration files.\n" -"\n" -" \"Object\" form shall mean any form resulting from mechanical\n" -" transformation or translation of a Source form, including but\n" -" not limited to compiled object code, generated documentation,\n" -" and conversions to other media types.\n" -"\n" -" \"Work\" shall mean the work of authorship, whether in Source or\n" -" Object form, made available under the License, as indicated by a\n" -" copyright notice that is included in or attached to the work\n" -" (an example is provided in the Appendix below).\n" -"\n" -" \"Derivative Works\" shall mean any work, whether in Source or Object\n" -" form, that is based on (or derived from) the Work and for which the\n" -" editorial revisions, annotations, elaborations, or other modifications\n" -" represent, as a whole, an original work of authorship. For the purposes\n" -" of this License, Derivative Works shall not include works that remain\n" -" separable from, or merely link (or bind by name) to the interfaces of,\n" -" the Work and Derivative Works thereof.\n" -"\n" -" \"Contribution\" shall mean any work of authorship, including\n" -" the original version of the Work and any modifications or additions\n" -" to that Work or Derivative Works thereof, that is intentionally\n" -" submitted to Licensor for inclusion in the Work by the copyright owner\n" -" or by an individual or Legal Entity authorized to submit on behalf of\n" -" the copyright owner. For the purposes of this definition, \"submitted\"\n" -" means any form of electronic, verbal, or written communication sent\n" -" to the Licensor or its representatives, including but not limited to\n" -" communication on electronic mailing lists, source code control systems,\n" -" and issue tracking systems that are managed by, or on behalf of, the\n" -" Licensor for the purpose of discussing and improving the Work, but\n" -" excluding communication that is conspicuously marked or otherwise\n" -" designated in writing by the copyright owner as \"Not a Contribution.\"\n" -"\n" -" \"Contributor\" shall mean Licensor and any individual or Legal Entity\n" -" on behalf of whom a Contribution has been received by Licensor and\n" -" subsequently incorporated within the Work.\n" -"\n" -"2. Grant of Copyright License. Subject to the terms and conditions of\n" -" this License, each Contributor hereby grants to You a perpetual,\n" -" worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n" -" copyright license to reproduce, prepare Derivative Works of,\n" -" publicly display, publicly perform, sublicense, and distribute the\n" -" Work and such Derivative Works in Source or Object form.\n" -"\n" -"3. Grant of Patent License. Subject to the terms and conditions of\n" -" this License, each Contributor hereby grants to You a perpetual,\n" -" worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n" -" (except as stated in this section) patent license to make, have made,\n" -" use, offer to sell, sell, import, and otherwise transfer the Work,\n" -" where such license applies only to those patent claims licensable\n" -" by such Contributor that are necessarily infringed by their\n" -" Contribution(s) alone or by combination of their Contribution(s)\n" -" with the Work to which such Contribution(s) was submitted. If You\n" -" institute patent litigation against any entity (including a\n" -" cross-claim or counterclaim in a lawsuit) alleging that the Work\n" -" or a Contribution incorporated within the Work constitutes direct\n" -" or contributory patent infringement, then any patent licenses\n" -" granted to You under this License for that Work shall terminate\n" -" as of the date such litigation is filed.\n" -"\n" -"4. Redistribution. You may reproduce and distribute copies of the\n" -" Work or Derivative Works thereof in any medium, with or without\n" -" modifications, and in Source or Object form, provided that You\n" -" meet the following conditions:\n" -"\n" -" (a) You must give any other recipients of the Work or\n" -" Derivative Works a copy of this License; and\n" -"\n" -" (b) You must cause any modified files to carry prominent notices\n" -" stating that You changed the files; and\n" -"\n" -" (c) You must retain, in the Source form of any Derivative Works\n" -" that You distribute, all copyright, patent, trademark, and\n" -" attribution notices from the Source form of the Work,\n" -" excluding those notices that do not pertain to any part of\n" -" the Derivative Works; and\n" -"\n" -" (d) If the Work includes a \"NOTICE\" text file as part of its\n" -" distribution, then any Derivative Works that You distribute must\n" -" include a readable copy of the attribution notices contained\n" -" within such NOTICE file, excluding those notices that do not\n" -" pertain to any part of the Derivative Works, in at least one\n" -" of the following places: within a NOTICE text file distributed\n" -" as part of the Derivative Works; within the Source form or\n" -" documentation, if provided along with the Derivative Works; or,\n" -" within a display generated by the Derivative Works, if and\n" -" wherever such third-party notices normally appear. The contents\n" -" of the NOTICE file are for informational purposes only and\n" -" do not modify the License. You may add Your own attribution\n" -" notices within Derivative Works that You distribute, alongside\n" -" or as an addendum to the NOTICE text from the Work, provided\n" -" that such additional attribution notices cannot be construed\n" -" as modifying the License.\n" -"\n" -" You may add Your own copyright statement to Your modifications and\n" -" may provide additional or different license terms and conditions\n" -" for use, reproduction, or distribution of Your modifications, or\n" -" for any such Derivative Works as a whole, provided Your use,\n" -" reproduction, and distribution of the Work otherwise complies with\n" -" the conditions stated in this License.\n" -"\n" -"5. Submission of Contributions. Unless You explicitly state otherwise,\n" -" any Contribution intentionally submitted for inclusion in the Work\n" -" by You to the Licensor shall be under the terms and conditions of\n" -" this License, without any additional terms or conditions.\n" -" Notwithstanding the above, nothing herein shall supersede or modify\n" -" the terms of any separate license agreement you may have executed\n" -" with Licensor regarding such Contributions.\n" -"\n" -"6. Trademarks. This License does not grant permission to use the trade\n" -" names, trademarks, service marks, or product names of the Licensor,\n" -" except as required for reasonable and customary use in describing the\n" -" origin of the Work and reproducing the content of the NOTICE file.\n" -"\n" -"7. Disclaimer of Warranty. Unless required by applicable law or\n" -" agreed to in writing, Licensor provides the Work (and each\n" -" Contributor provides its Contributions) on an \"AS IS\" BASIS,\n" -" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n" -" implied, including, without limitation, any warranties or conditions\n" -" of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n" -" PARTICULAR PURPOSE. You are solely responsible for determining the\n" -" appropriateness of using or redistributing the Work and assume any\n" -" risks associated with Your exercise of permissions under this License.\n" -"\n" -"8. Limitation of Liability. In no event and under no legal theory,\n" -" whether in tort (including negligence), contract, or otherwise,\n" -" unless required by applicable law (such as deliberate and grossly\n" -" negligent acts) or agreed to in writing, shall any Contributor be\n" -" liable to You for damages, including any direct, indirect, special,\n" -" incidental, or consequential damages of any character arising as a\n" -" result of this License or out of the use or inability to use the\n" -" Work (including but not limited to damages for loss of goodwill,\n" -" work stoppage, computer failure or malfunction, or any and all\n" -" other commercial damages or losses), even if such Contributor\n" -" has been advised of the possibility of such damages.\n" -"\n" -"9. Accepting Warranty or Additional Liability. While redistributing\n" -" the Work or Derivative Works thereof, You may choose to offer,\n" -" and charge a fee for, acceptance of support, warranty, indemnity,\n" -" or other liability obligations and/or rights consistent with this\n" -" License. However, in accepting such obligations, You may act only\n" -" on Your own behalf and on Your sole responsibility, not on behalf\n" -" of any other Contributor, and only if You agree to indemnify,\n" -" defend, and hold each Contributor harmless for any liability\n" -" incurred by, or claims asserted against, such Contributor by reason\n" -" of your accepting any such warranty or additional liability.\n" -"\n" -"END OF TERMS AND CONDITIONS" -msgstr "" - -#: ../../license.rst:848 -msgid "expat" -msgstr "expat" - -#: ../../license.rst:850 -msgid "" -"The :mod:`pyexpat ` extension is built using an included " -"copy of the expat sources unless the build is configured ``--with-system-" -"expat``::" -msgstr "" - -#: ../../license.rst:853 -msgid "" -"Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd\n" -" and Clark Cooper\n" -"\n" -"Permission is hereby granted, free of charge, to any person obtaining\n" -"a copy of this software and associated documentation files (the\n" -"\"Software\"), to deal in the Software without restriction, including\n" -"without limitation the rights to use, copy, modify, merge, publish,\n" -"distribute, sublicense, and/or sell copies of the Software, and to\n" -"permit persons to whom the Software is furnished to do so, subject to\n" -"the following conditions:\n" -"\n" -"The above copyright notice and this permission notice shall be included\n" -"in all copies or substantial portions of the Software.\n" -"\n" -"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n" -"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" -"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n" -"IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n" -"CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n" -"TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n" -"SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." -msgstr "" - -#: ../../license.rst:877 -msgid "libffi" -msgstr "libffi" - -#: ../../license.rst:879 -msgid "" -"The :mod:`!_ctypes` C extension underlying the :mod:`ctypes` module is built" -" using an included copy of the libffi sources unless the build is configured" -" ``--with-system-libffi``::" -msgstr "" - -#: ../../license.rst:883 -msgid "" -"Copyright (c) 1996-2008 Red Hat, Inc and others.\n" -"\n" -"Permission is hereby granted, free of charge, to any person obtaining\n" -"a copy of this software and associated documentation files (the\n" -"\"Software\"), to deal in the Software without restriction, including\n" -"without limitation the rights to use, copy, modify, merge, publish,\n" -"distribute, sublicense, and/or sell copies of the Software, and to\n" -"permit persons to whom the Software is furnished to do so, subject to\n" -"the following conditions:\n" -"\n" -"The above copyright notice and this permission notice shall be included\n" -"in all copies or substantial portions of the Software.\n" -"\n" -"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n" -"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" -"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n" -"NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n" -"HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n" -"WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n" -"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n" -"DEALINGS IN THE SOFTWARE." -msgstr "" - -#: ../../license.rst:907 -msgid "zlib" -msgstr "zlib" - -#: ../../license.rst:909 -msgid "" -"The :mod:`zlib` extension is built using an included copy of the zlib " -"sources if the zlib version found on the system is too old to be used for " -"the build::" -msgstr "" - -#: ../../license.rst:913 -msgid "" -"Copyright (C) 1995-2011 Jean-loup Gailly and Mark Adler\n" -"\n" -"This software is provided 'as-is', without any express or implied\n" -"warranty. In no event will the authors be held liable for any damages\n" -"arising from the use of this software.\n" -"\n" -"Permission is granted to anyone to use this software for any purpose,\n" -"including commercial applications, and to alter it and redistribute it\n" -"freely, subject to the following restrictions:\n" -"\n" -"1. The origin of this software must not be misrepresented; you must not\n" -" claim that you wrote the original software. If you use this software\n" -" in a product, an acknowledgment in the product documentation would be\n" -" appreciated but is not required.\n" -"\n" -"2. Altered source versions must be plainly marked as such, and must not be\n" -" misrepresented as being the original software.\n" -"\n" -"3. This notice may not be removed or altered from any source distribution.\n" -"\n" -"Jean-loup Gailly Mark Adler\n" -"jloup@gzip.org madler@alumni.caltech.edu" -msgstr "" - -#: ../../license.rst:938 -msgid "cfuhash" -msgstr "cfuhash" - -#: ../../license.rst:940 -msgid "" -"The implementation of the hash table used by the :mod:`tracemalloc` is based" -" on the cfuhash project::" -msgstr "" -"Implementasi tabel hash yang digunakan oleh :mod:`tracemalloc` didasarkan " -"pada proyek cfuhash::" - -#: ../../license.rst:943 -msgid "" -"Copyright (c) 2005 Don Owens\n" -"All rights reserved.\n" -"\n" -"This code is released under the BSD license:\n" -"\n" -"Redistribution and use in source and binary forms, with or without\n" -"modification, are permitted provided that the following conditions\n" -"are met:\n" -"\n" -" * Redistributions of source code must retain the above copyright\n" -" notice, this list of conditions and the following disclaimer.\n" -"\n" -" * Redistributions in binary form must reproduce the above\n" -" copyright notice, this list of conditions and the following\n" -" disclaimer in the documentation and/or other materials provided\n" -" with the distribution.\n" -"\n" -" * Neither the name of the author nor the names of its\n" -" contributors may be used to endorse or promote products derived\n" -" from this software without specific prior written permission.\n" -"\n" -"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" -"\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" -"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\n" -"FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n" -"COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n" -"INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n" -"(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n" -"SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" -"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n" -"STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n" -"ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n" -"OF THE POSSIBILITY OF SUCH DAMAGE." -msgstr "" - -#: ../../license.rst:979 -msgid "libmpdec" -msgstr "libmpdec" - -#: ../../license.rst:981 -msgid "" -"The :mod:`!_decimal` C extension underlying the :mod:`decimal` module is " -"built using an included copy of the libmpdec library unless the build is " -"configured ``--with-system-libmpdec``::" -msgstr "" - -#: ../../license.rst:985 -msgid "" -"Copyright (c) 2008-2020 Stefan Krah. All rights reserved.\n" -"\n" -"Redistribution and use in source and binary forms, with or without\n" -"modification, are permitted provided that the following conditions\n" -"are met:\n" -"\n" -"1. Redistributions of source code must retain the above copyright\n" -" notice, this list of conditions and the following disclaimer.\n" -"\n" -"2. Redistributions in binary form must reproduce the above copyright\n" -" notice, this list of conditions and the following disclaimer in the\n" -" documentation and/or other materials provided with the distribution.\n" -"\n" -"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS \"AS IS\" AND\n" -"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" -"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n" -"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n" -"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" -"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n" -"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" -"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n" -"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n" -"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n" -"SUCH DAMAGE." -msgstr "" - -#: ../../license.rst:1012 -msgid "W3C C14N test suite" -msgstr "Rangkaian pengujian W3C C14N" - -#: ../../license.rst:1014 -msgid "" -"The C14N 2.0 test suite in the :mod:`test` package " -"(``Lib/test/xmltestdata/c14n-20/``) was retrieved from the W3C website at " -"https://www.w3.org/TR/xml-c14n2-testcases/ and is distributed under the " -"3-clause BSD license::" -msgstr "" - -#: ../../license.rst:1019 -msgid "" -"Copyright (c) 2013 W3C(R) (MIT, ERCIM, Keio, Beihang),\n" -"All Rights Reserved.\n" -"\n" -"Redistribution and use in source and binary forms, with or without\n" -"modification, are permitted provided that the following conditions\n" -"are met:\n" -"\n" -"* Redistributions of works must retain the original copyright notice,\n" -" this list of conditions and the following disclaimer.\n" -"* Redistributions in binary form must reproduce the original copyright\n" -" notice, this list of conditions and the following disclaimer in the\n" -" documentation and/or other materials provided with the distribution.\n" -"* Neither the name of the W3C nor the names of its contributors may be\n" -" used to endorse or promote products derived from this work without\n" -" specific prior written permission.\n" -"\n" -"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" -"\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" -"LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n" -"A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n" -"OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n" -"SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n" -"LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n" -"DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n" -"THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n" -"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n" -"OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -msgstr "" - -#: ../../license.rst:1051 -msgid "mimalloc" -msgstr "" - -#: ../../license.rst:1053 -msgid "MIT License::" -msgstr "" - -#: ../../license.rst:1055 -msgid "" -"Copyright (c) 2018-2021 Microsoft Corporation, Daan Leijen\n" -"\n" -"Permission is hereby granted, free of charge, to any person obtaining a copy\n" -"of this software and associated documentation files (the \"Software\"), to deal\n" -"in the Software without restriction, including without limitation the rights\n" -"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n" -"copies of the Software, and to permit persons to whom the Software is\n" -"furnished to do so, subject to the following conditions:\n" -"\n" -"The above copyright notice and this permission notice shall be included in all\n" -"copies or substantial portions of the Software.\n" -"\n" -"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n" -"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n" -"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n" -"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n" -"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n" -"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n" -"SOFTWARE." -msgstr "" - -#: ../../license.rst:1077 -msgid "asyncio" -msgstr "asyncio" - -#: ../../license.rst:1079 -msgid "" -"Parts of the :mod:`asyncio` module are incorporated from `uvloop 0.16 " -"`_, which is distributed " -"under the MIT license::" -msgstr "" - -#: ../../license.rst:1083 -msgid "" -"Copyright (c) 2015-2021 MagicStack Inc. http://magic.io\n" -"\n" -"Permission is hereby granted, free of charge, to any person obtaining\n" -"a copy of this software and associated documentation files (the\n" -"\"Software\"), to deal in the Software without restriction, including\n" -"without limitation the rights to use, copy, modify, merge, publish,\n" -"distribute, sublicense, and/or sell copies of the Software, and to\n" -"permit persons to whom the Software is furnished to do so, subject to\n" -"the following conditions:\n" -"\n" -"The above copyright notice and this permission notice shall be\n" -"included in all copies or substantial portions of the Software.\n" -"\n" -"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n" -"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n" -"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n" -"NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n" -"LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n" -"OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n" -"WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." -msgstr "" - -#: ../../license.rst:1106 -msgid "Global Unbounded Sequences (GUS)" -msgstr "" - -#: ../../license.rst:1108 -msgid "" -"The file :file:`Python/qsbr.c` is adapted from FreeBSD's \"Global Unbounded " -"Sequences\" safe memory reclamation scheme in `subr_smr.c " -"`_. " -"The file is distributed under the 2-Clause BSD License::" -msgstr "" - -#: ../../license.rst:1113 -msgid "" -"Copyright (c) 2019,2020 Jeffrey Roberson \n" -"\n" -"Redistribution and use in source and binary forms, with or without\n" -"modification, are permitted provided that the following conditions\n" -"are met:\n" -"1. Redistributions of source code must retain the above copyright\n" -" notice unmodified, this list of conditions, and the following\n" -" disclaimer.\n" -"2. Redistributions in binary form must reproduce the above copyright\n" -" notice, this list of conditions and the following disclaimer in the\n" -" documentation and/or other materials provided with the distribution.\n" -"\n" -"THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR\n" -"IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES\n" -"OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n" -"IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,\n" -"INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT\n" -"NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n" -"DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n" -"THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n" -"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF\n" -"THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -msgstr "" - -#: ../../license.rst:1138 -msgid "Zstandard bindings" -msgstr "" - -#: ../../license.rst:1140 -msgid "" -"Zstandard bindings in :file:`Modules/_zstd` and :file:`Lib/compression/zstd`" -" are based on code from the `pyzstd library " -"`_, copyright Ma Lin and contributors. " -"The pyzstd code is distributed under the 3-Clause BSD License::" -msgstr "" - -#: ../../license.rst:1145 -msgid "" -"Copyright (c) 2020-present, Ma Lin and contributors.\n" -"All rights reserved.\n" -"\n" -"Redistribution and use in source and binary forms, with or without\n" -"modification, are permitted provided that the following conditions are met:\n" -"\n" -"1. Redistributions of source code must retain the above copyright notice, this\n" -" list of conditions and the following disclaimer.\n" -"\n" -"2. Redistributions in binary form must reproduce the above copyright notice,\n" -" this list of conditions and the following disclaimer in the documentation\n" -" and/or other materials provided with the distribution.\n" -"\n" -"3. Neither the name of the copyright holder nor the names of its\n" -" contributors may be used to endorse or promote products derived from\n" -" this software without specific prior written permission.\n" -"\n" -"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n" -"AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n" -"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n" -"DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n" -"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" -"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n" -"SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n" -"CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n" -"OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n" -"OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -msgstr "" diff --git a/python-newest.reference--compound_stmts/id.po b/python-newest.reference--compound_stmts/id.po deleted file mode 100644 index b8cfe09..0000000 --- a/python-newest.reference--compound_stmts/id.po +++ /dev/null @@ -1,2962 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# LIQRGV , 2021 -# Imaduddin A Majid , 2023 -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../reference/compound_stmts.rst:5 -msgid "Compound statements" -msgstr "Pernyataan gabungan" - -#: ../../reference/compound_stmts.rst:9 -msgid "" -"Compound statements contain (groups of) other statements; they affect or " -"control the execution of those other statements in some way. In general, " -"compound statements span multiple lines, although in simple incarnations a " -"whole compound statement may be contained in one line." -msgstr "" - -#: ../../reference/compound_stmts.rst:14 -msgid "" -"The :keyword:`if`, :keyword:`while` and :keyword:`for` statements implement " -"traditional control flow constructs. :keyword:`try` specifies exception " -"handlers and/or cleanup code for a group of statements, while the " -":keyword:`with` statement allows the execution of initialization and " -"finalization code around a block of code. Function and class definitions " -"are also syntactically compound statements." -msgstr "" - -#: ../../reference/compound_stmts.rst:26 -msgid "" -"A compound statement consists of one or more 'clauses.' A clause consists " -"of a header and a 'suite.' The clause headers of a particular compound " -"statement are all at the same indentation level. Each clause header begins " -"with a uniquely identifying keyword and ends with a colon. A suite is a " -"group of statements controlled by a clause. A suite can be one or more " -"semicolon-separated simple statements on the same line as the header, " -"following the header's colon, or it can be one or more indented statements " -"on subsequent lines. Only the latter form of a suite can contain nested " -"compound statements; the following is illegal, mostly because it wouldn't be" -" clear to which :keyword:`if` clause a following :keyword:`else` clause " -"would belong::" -msgstr "" - -#: ../../reference/compound_stmts.rst:37 -msgid "if test1: if test2: print(x)" -msgstr "" - -#: ../../reference/compound_stmts.rst:39 -msgid "" -"Also note that the semicolon binds tighter than the colon in this context, " -"so that in the following example, either all or none of the :func:`print` " -"calls are executed::" -msgstr "" - -#: ../../reference/compound_stmts.rst:43 -msgid "if x < y < z: print(x); print(y); print(z)" -msgstr "" - -#: ../../reference/compound_stmts.rst:45 -msgid "Summarizing:" -msgstr "Meringkas:" - -#: ../../reference/compound_stmts.rst:69 -msgid "" -"Note that statements always end in a ``NEWLINE`` possibly followed by a " -"``DEDENT``. Also note that optional continuation clauses always begin with " -"a keyword that cannot start a statement, thus there are no ambiguities (the " -"'dangling :keyword:`else`' problem is solved in Python by requiring nested " -":keyword:`if` statements to be indented)." -msgstr "" - -#: ../../reference/compound_stmts.rst:75 -msgid "" -"The formatting of the grammar rules in the following sections places each " -"clause on a separate line for clarity." -msgstr "" - -#: ../../reference/compound_stmts.rst:84 -msgid "The :keyword:`!if` statement" -msgstr "Pernyataan :keyword:`!if`" - -#: ../../reference/compound_stmts.rst:92 -msgid "The :keyword:`if` statement is used for conditional execution:" -msgstr "" - -#: ../../reference/compound_stmts.rst:99 -msgid "" -"It selects exactly one of the suites by evaluating the expressions one by " -"one until one is found to be true (see section :ref:`booleans` for the " -"definition of true and false); then that suite is executed (and no other " -"part of the :keyword:`if` statement is executed or evaluated). If all " -"expressions are false, the suite of the :keyword:`else` clause, if present, " -"is executed." -msgstr "" - -#: ../../reference/compound_stmts.rst:109 -msgid "The :keyword:`!while` statement" -msgstr "Pernyataan :keyword:`!while`" - -#: ../../reference/compound_stmts.rst:117 -msgid "" -"The :keyword:`while` statement is used for repeated execution as long as an " -"expression is true:" -msgstr "" - -#: ../../reference/compound_stmts.rst:124 -msgid "" -"This repeatedly tests the expression and, if it is true, executes the first " -"suite; if the expression is false (which may be the first time it is tested)" -" the suite of the :keyword:`!else` clause, if present, is executed and the " -"loop terminates." -msgstr "" - -#: ../../reference/compound_stmts.rst:133 -msgid "" -"A :keyword:`break` statement executed in the first suite terminates the loop" -" without executing the :keyword:`!else` clause's suite. A " -":keyword:`continue` statement executed in the first suite skips the rest of " -"the suite and goes back to testing the expression." -msgstr "" - -#: ../../reference/compound_stmts.rst:142 -msgid "The :keyword:`!for` statement" -msgstr "Pernyataan :keyword:`!for`" - -#: ../../reference/compound_stmts.rst:153 -msgid "" -"The :keyword:`for` statement is used to iterate over the elements of a " -"sequence (such as a string, tuple or list) or other iterable object:" -msgstr "" - -#: ../../reference/compound_stmts.rst:160 -msgid "" -"The ``starred_list`` expression is evaluated once; it should yield an " -":term:`iterable` object. An :term:`iterator` is created for that iterable. " -"The first item provided by the iterator is then assigned to the target list " -"using the standard rules for assignments (see :ref:`assignment`), and the " -"suite is executed. This repeats for each item provided by the iterator. " -"When the iterator is exhausted, the suite in the :keyword:`!else` clause, if" -" present, is executed, and the loop terminates." -msgstr "" - -#: ../../reference/compound_stmts.rst:173 -msgid "" -"A :keyword:`break` statement executed in the first suite terminates the loop" -" without executing the :keyword:`!else` clause's suite. A " -":keyword:`continue` statement executed in the first suite skips the rest of " -"the suite and continues with the next item, or with the :keyword:`!else` " -"clause if there is no next item." -msgstr "" - -#: ../../reference/compound_stmts.rst:179 -msgid "" -"The for-loop makes assignments to the variables in the target list. This " -"overwrites all previous assignments to those variables including those made " -"in the suite of the for-loop::" -msgstr "" - -#: ../../reference/compound_stmts.rst:183 -msgid "" -"for i in range(10):\n" -" print(i)\n" -" i = 5 # this will not affect the for-loop\n" -" # because i will be overwritten with the next\n" -" # index in the range" -msgstr "" - -#: ../../reference/compound_stmts.rst:193 -msgid "" -"Names in the target list are not deleted when the loop is finished, but if " -"the sequence is empty, they will not have been assigned to at all by the " -"loop. Hint: the built-in type :func:`range` represents immutable arithmetic" -" sequences of integers. For instance, iterating ``range(3)`` successively " -"yields 0, 1, and then 2." -msgstr "" - -#: ../../reference/compound_stmts.rst:198 -msgid "Starred elements are now allowed in the expression list." -msgstr "" - -#: ../../reference/compound_stmts.rst:205 -msgid "The :keyword:`!try` statement" -msgstr "Pernyataan :keyword:`!try`" - -#: ../../reference/compound_stmts.rst:215 -msgid "" -"The :keyword:`!try` statement specifies exception handlers and/or cleanup " -"code for a group of statements:" -msgstr "" - -#: ../../reference/compound_stmts.rst:231 -msgid "" -"Additional information on exceptions can be found in section " -":ref:`exceptions`, and information on using the :keyword:`raise` statement " -"to generate exceptions may be found in section :ref:`raise`." -msgstr "" - -#: ../../reference/compound_stmts.rst:235 -msgid "" -"Support for optionally dropping grouping parentheses when using multiple " -"exception types. See :pep:`758`." -msgstr "" - -#: ../../reference/compound_stmts.rst:241 -msgid ":keyword:`!except` clause" -msgstr "" - -#: ../../reference/compound_stmts.rst:243 -msgid "" -"The :keyword:`!except` clause(s) specify one or more exception handlers. " -"When no exception occurs in the :keyword:`try` clause, no exception handler " -"is executed. When an exception occurs in the :keyword:`!try` suite, a search" -" for an exception handler is started. This search inspects the " -":keyword:`!except` clauses in turn until one is found that matches the " -"exception. An expression-less :keyword:`!except` clause, if present, must be" -" last; it matches any exception." -msgstr "" - -#: ../../reference/compound_stmts.rst:251 -msgid "" -"For an :keyword:`!except` clause with an expression, the expression must " -"evaluate to an exception type or a tuple of exception types. Parentheses can" -" be dropped if multiple exception types are provided and the ``as`` clause " -"is not used. The raised exception matches an :keyword:`!except` clause whose" -" expression evaluates to the class or a :term:`non-virtual base class " -"` of the exception object, or to a tuple that contains " -"such a class." -msgstr "" - -#: ../../reference/compound_stmts.rst:258 -msgid "" -"If no :keyword:`!except` clause matches the exception, the search for an " -"exception handler continues in the surrounding code and on the invocation " -"stack. [#]_" -msgstr "" - -#: ../../reference/compound_stmts.rst:262 -msgid "" -"If the evaluation of an expression in the header of an :keyword:`!except` " -"clause raises an exception, the original search for a handler is canceled " -"and a search starts for the new exception in the surrounding code and on the" -" call stack (it is treated as if the entire :keyword:`try` statement raised " -"the exception)." -msgstr "" - -#: ../../reference/compound_stmts.rst:270 -msgid "" -"When a matching :keyword:`!except` clause is found, the exception is " -"assigned to the target specified after the :keyword:`!as` keyword in that " -":keyword:`!except` clause, if present, and the :keyword:`!except` clause's " -"suite is executed. All :keyword:`!except` clauses must have an executable " -"block. When the end of this block is reached, execution continues normally " -"after the entire :keyword:`try` statement. (This means that if two nested " -"handlers exist for the same exception, and the exception occurs in the " -":keyword:`!try` clause of the inner handler, the outer handler will not " -"handle the exception.)" -msgstr "" - -#: ../../reference/compound_stmts.rst:281 -msgid "" -"When an exception has been assigned using ``as target``, it is cleared at " -"the end of the :keyword:`!except` clause. This is as if ::" -msgstr "" - -#: ../../reference/compound_stmts.rst:284 -msgid "" -"except E as N:\n" -" foo" -msgstr "" - -#: ../../reference/compound_stmts.rst:287 -msgid "was translated to ::" -msgstr "diterjemahkan sebagai::" - -#: ../../reference/compound_stmts.rst:289 -msgid "" -"except E as N:\n" -" try:\n" -" foo\n" -" finally:\n" -" del N" -msgstr "" - -#: ../../reference/compound_stmts.rst:295 -msgid "" -"This means the exception must be assigned to a different name to be able to " -"refer to it after the :keyword:`!except` clause. Exceptions are cleared " -"because with the traceback attached to them, they form a reference cycle " -"with the stack frame, keeping all locals in that frame alive until the next " -"garbage collection occurs." -msgstr "" - -#: ../../reference/compound_stmts.rst:305 -msgid "" -"Before an :keyword:`!except` clause's suite is executed, the exception is " -"stored in the :mod:`sys` module, where it can be accessed from within the " -"body of the :keyword:`!except` clause by calling :func:`sys.exception`. When" -" leaving an exception handler, the exception stored in the :mod:`sys` module" -" is reset to its previous value::" -msgstr "" - -#: ../../reference/compound_stmts.rst:311 -msgid "" -">>> print(sys.exception())\n" -"None\n" -">>> try:\n" -"... raise TypeError\n" -"... except:\n" -"... print(repr(sys.exception()))\n" -"... try:\n" -"... raise ValueError\n" -"... except:\n" -"... print(repr(sys.exception()))\n" -"... print(repr(sys.exception()))\n" -"...\n" -"TypeError()\n" -"ValueError()\n" -"TypeError()\n" -">>> print(sys.exception())\n" -"None" -msgstr "" - -#: ../../reference/compound_stmts.rst:336 -msgid ":keyword:`!except*` clause" -msgstr "" - -#: ../../reference/compound_stmts.rst:338 -msgid "" -"The :keyword:`!except*` clause(s) are used for handling " -":exc:`ExceptionGroup`\\s. The exception type for matching is interpreted as " -"in the case of :keyword:`except`, but in the case of exception groups we can" -" have partial matches when the type matches some of the exceptions in the " -"group. This means that multiple :keyword:`!except*` clauses can execute, " -"each handling part of the exception group. Each clause executes at most once" -" and handles an exception group of all matching exceptions. Each exception " -"in the group is handled by at most one :keyword:`!except*` clause, the first" -" that matches it. ::" -msgstr "" - -#: ../../reference/compound_stmts.rst:348 -msgid "" -">>> try:\n" -"... raise ExceptionGroup(\"eg\",\n" -"... [ValueError(1), TypeError(2), OSError(3), OSError(4)])\n" -"... except* TypeError as e:\n" -"... print(f'caught {type(e)} with nested {e.exceptions}')\n" -"... except* OSError as e:\n" -"... print(f'caught {type(e)} with nested {e.exceptions}')\n" -"...\n" -"caught with nested (TypeError(2),)\n" -"caught with nested (OSError(3), OSError(4))\n" -" + Exception Group Traceback (most recent call last):\n" -" | File \"\", line 2, in \n" -" | ExceptionGroup: eg\n" -" +-+---------------- 1 ----------------\n" -" | ValueError: 1\n" -" +------------------------------------" -msgstr "" - -#: ../../reference/compound_stmts.rst:366 -msgid "" -"Any remaining exceptions that were not handled by any :keyword:`!except*` " -"clause are re-raised at the end, along with all exceptions that were raised " -"from within the :keyword:`!except*` clauses. If this list contains more than" -" one exception to reraise, they are combined into an exception group." -msgstr "" - -#: ../../reference/compound_stmts.rst:372 -msgid "" -"If the raised exception is not an exception group and its type matches one " -"of the :keyword:`!except*` clauses, it is caught and wrapped by an exception" -" group with an empty message string. ::" -msgstr "" - -#: ../../reference/compound_stmts.rst:376 -msgid "" -">>> try:\n" -"... raise BlockingIOError\n" -"... except* BlockingIOError as e:\n" -"... print(repr(e))\n" -"...\n" -"ExceptionGroup('', (BlockingIOError()))" -msgstr "" - -#: ../../reference/compound_stmts.rst:383 -msgid "" -"An :keyword:`!except*` clause must have a matching expression; it cannot be " -"``except*:``. Furthermore, this expression cannot contain exception group " -"types, because that would have ambiguous semantics." -msgstr "" - -#: ../../reference/compound_stmts.rst:387 -msgid "" -"It is not possible to mix :keyword:`except` and :keyword:`!except*` in the " -"same :keyword:`try`. :keyword:`break`, :keyword:`continue` and " -":keyword:`return` cannot appear in an :keyword:`!except*` clause." -msgstr "" - -#: ../../reference/compound_stmts.rst:402 -msgid ":keyword:`!else` clause" -msgstr "" - -#: ../../reference/compound_stmts.rst:404 -msgid "" -"The optional :keyword:`!else` clause is executed if the control flow leaves " -"the :keyword:`try` suite, no exception was raised, and no :keyword:`return`," -" :keyword:`continue`, or :keyword:`break` statement was executed. " -"Exceptions in the :keyword:`!else` clause are not handled by the preceding " -":keyword:`except` clauses." -msgstr "" - -#: ../../reference/compound_stmts.rst:416 -msgid ":keyword:`!finally` clause" -msgstr "" - -#: ../../reference/compound_stmts.rst:418 -msgid "" -"If :keyword:`!finally` is present, it specifies a 'cleanup' handler. The " -":keyword:`try` clause is executed, including any :keyword:`except` and " -":keyword:`else` clauses. If an exception occurs in any of the clauses and " -"is not handled, the exception is temporarily saved. The :keyword:`!finally` " -"clause is executed. If there is a saved exception it is re-raised at the " -"end of the :keyword:`!finally` clause. If the :keyword:`!finally` clause " -"raises another exception, the saved exception is set as the context of the " -"new exception. If the :keyword:`!finally` clause executes a " -":keyword:`return`, :keyword:`break` or :keyword:`continue` statement, the " -"saved exception is discarded. For example, this function returns 42." -msgstr "" - -#: ../../reference/compound_stmts.rst:429 -msgid "" -"def f():\n" -" try:\n" -" 1/0\n" -" finally:\n" -" return 42" -msgstr "" - -#: ../../reference/compound_stmts.rst:437 -msgid "" -"The exception information is not available to the program during execution " -"of the :keyword:`!finally` clause." -msgstr "" - -#: ../../reference/compound_stmts.rst:445 -msgid "" -"When a :keyword:`return`, :keyword:`break` or :keyword:`continue` statement " -"is executed in the :keyword:`try` suite of a :keyword:`!try`...\\ " -":keyword:`!finally` statement, the :keyword:`!finally` clause is also " -"executed 'on the way out.'" -msgstr "" - -#: ../../reference/compound_stmts.rst:449 -msgid "" -"The return value of a function is determined by the last :keyword:`return` " -"statement executed. Since the :keyword:`!finally` clause always executes, a" -" :keyword:`!return` statement executed in the :keyword:`!finally` clause " -"will always be the last one executed. The following function returns " -"'finally'." -msgstr "" - -#: ../../reference/compound_stmts.rst:454 -msgid "" -"def foo():\n" -" try:\n" -" return 'try'\n" -" finally:\n" -" return 'finally'" -msgstr "" - -#: ../../reference/compound_stmts.rst:462 -msgid "" -"Prior to Python 3.8, a :keyword:`continue` statement was illegal in the " -":keyword:`!finally` clause due to a problem with the implementation." -msgstr "" - -#: ../../reference/compound_stmts.rst:466 -msgid "" -"The compiler emits a :exc:`SyntaxWarning` when a :keyword:`return`, " -":keyword:`break` or :keyword:`continue` appears in a :keyword:`!finally` " -"block (see :pep:`765`)." -msgstr "" - -#: ../../reference/compound_stmts.rst:476 -msgid "The :keyword:`!with` statement" -msgstr "Pernyataan :keyword:`!with`" - -#: ../../reference/compound_stmts.rst:485 -msgid "" -"The :keyword:`with` statement is used to wrap the execution of a block with " -"methods defined by a context manager (see section :ref:`context-managers`). " -"This allows common :keyword:`try`...\\ :keyword:`except`...\\ " -":keyword:`finally` usage patterns to be encapsulated for convenient reuse." -msgstr "" - -#: ../../reference/compound_stmts.rst:495 -msgid "" -"The execution of the :keyword:`with` statement with one \"item\" proceeds as" -" follows:" -msgstr "" - -#: ../../reference/compound_stmts.rst:497 -msgid "" -"The context expression (the expression given in the :token:`~python-" -"grammar:with_item`) is evaluated to obtain a context manager." -msgstr "" - -#: ../../reference/compound_stmts.rst:500 -msgid "" -"The context manager's :meth:`~object.__enter__` is loaded for later use." -msgstr "" - -#: ../../reference/compound_stmts.rst:502 -msgid "" -"The context manager's :meth:`~object.__exit__` is loaded for later use." -msgstr "" - -#: ../../reference/compound_stmts.rst:504 -msgid "The context manager's :meth:`~object.__enter__` method is invoked." -msgstr "" - -#: ../../reference/compound_stmts.rst:506 -msgid "" -"If a target was included in the :keyword:`with` statement, the return value " -"from :meth:`~object.__enter__` is assigned to it." -msgstr "" - -#: ../../reference/compound_stmts.rst:511 -msgid "" -"The :keyword:`with` statement guarantees that if the " -":meth:`~object.__enter__` method returns without an error, then " -":meth:`~object.__exit__` will always be called. Thus, if an error occurs " -"during the assignment to the target list, it will be treated the same as an " -"error occurring within the suite would be. See step 7 below." -msgstr "" - -#: ../../reference/compound_stmts.rst:517 -msgid "The suite is executed." -msgstr "Rangkaian dieksekusi" - -#: ../../reference/compound_stmts.rst:519 -msgid "" -"The context manager's :meth:`~object.__exit__` method is invoked. If an " -"exception caused the suite to be exited, its type, value, and traceback are " -"passed as arguments to :meth:`~object.__exit__`. Otherwise, three " -":const:`None` arguments are supplied." -msgstr "" - -#: ../../reference/compound_stmts.rst:524 -msgid "" -"If the suite was exited due to an exception, and the return value from the " -":meth:`~object.__exit__` method was false, the exception is reraised. If " -"the return value was true, the exception is suppressed, and execution " -"continues with the statement following the :keyword:`with` statement." -msgstr "" - -#: ../../reference/compound_stmts.rst:529 -msgid "" -"If the suite was exited for any reason other than an exception, the return " -"value from :meth:`~object.__exit__` is ignored, and execution proceeds at " -"the normal location for the kind of exit that was taken." -msgstr "" - -#: ../../reference/compound_stmts.rst:533 -#: ../../reference/compound_stmts.rst:1550 -#: ../../reference/compound_stmts.rst:1591 -msgid "The following code::" -msgstr "kode berikut::" - -#: ../../reference/compound_stmts.rst:535 -msgid "" -"with EXPRESSION as TARGET:\n" -" SUITE" -msgstr "" - -#: ../../reference/compound_stmts.rst:538 -#: ../../reference/compound_stmts.rst:563 -#: ../../reference/compound_stmts.rst:1596 -msgid "is semantically equivalent to::" -msgstr "" - -#: ../../reference/compound_stmts.rst:540 -msgid "" -"manager = (EXPRESSION)\n" -"enter = type(manager).__enter__\n" -"exit = type(manager).__exit__\n" -"value = enter(manager)\n" -"hit_except = False\n" -"\n" -"try:\n" -" TARGET = value\n" -" SUITE\n" -"except:\n" -" hit_except = True\n" -" if not exit(manager, *sys.exc_info()):\n" -" raise\n" -"finally:\n" -" if not hit_except:\n" -" exit(manager, None, None, None)" -msgstr "" - -#: ../../reference/compound_stmts.rst:557 -msgid "" -"With more than one item, the context managers are processed as if multiple " -":keyword:`with` statements were nested::" -msgstr "" - -#: ../../reference/compound_stmts.rst:560 -msgid "" -"with A() as a, B() as b:\n" -" SUITE" -msgstr "" - -#: ../../reference/compound_stmts.rst:565 -msgid "" -"with A() as a:\n" -" with B() as b:\n" -" SUITE" -msgstr "" - -#: ../../reference/compound_stmts.rst:569 -msgid "" -"You can also write multi-item context managers in multiple lines if the " -"items are surrounded by parentheses. For example::" -msgstr "" - -#: ../../reference/compound_stmts.rst:572 -msgid "" -"with (\n" -" A() as a,\n" -" B() as b,\n" -"):\n" -" SUITE" -msgstr "" - -#: ../../reference/compound_stmts.rst:578 -msgid "Support for multiple context expressions." -msgstr "" - -#: ../../reference/compound_stmts.rst:581 -msgid "" -"Support for using grouping parentheses to break the statement in multiple " -"lines." -msgstr "" - -#: ../../reference/compound_stmts.rst:586 -msgid ":pep:`343` - The \"with\" statement" -msgstr "" - -#: ../../reference/compound_stmts.rst:587 -msgid "" -"The specification, background, and examples for the Python :keyword:`with` " -"statement." -msgstr "" - -#: ../../reference/compound_stmts.rst:593 -msgid "The :keyword:`!match` statement" -msgstr "" - -#: ../../reference/compound_stmts.rst:607 -msgid "The match statement is used for pattern matching. Syntax:" -msgstr "" - -#: ../../reference/compound_stmts.rst:616 -msgid "" -"This section uses single quotes to denote :ref:`soft keywords `." -msgstr "" - -#: ../../reference/compound_stmts.rst:619 -msgid "" -"Pattern matching takes a pattern as input (following ``case``) and a subject" -" value (following ``match``). The pattern (which may contain subpatterns) " -"is matched against the subject value. The outcomes are:" -msgstr "" - -#: ../../reference/compound_stmts.rst:623 -msgid "A match success or failure (also termed a pattern success or failure)." -msgstr "" - -#: ../../reference/compound_stmts.rst:625 -msgid "" -"Possible binding of matched values to a name. The prerequisites for this " -"are further discussed below." -msgstr "" - -#: ../../reference/compound_stmts.rst:628 -msgid "" -"The ``match`` and ``case`` keywords are :ref:`soft keywords `." -msgstr "" - -#: ../../reference/compound_stmts.rst:632 -#: ../../reference/compound_stmts.rst:1189 -msgid ":pep:`634` -- Structural Pattern Matching: Specification" -msgstr "" - -#: ../../reference/compound_stmts.rst:633 -#: ../../reference/compound_stmts.rst:1190 -msgid ":pep:`636` -- Structural Pattern Matching: Tutorial" -msgstr "" - -#: ../../reference/compound_stmts.rst:637 -msgid "Overview" -msgstr "" - -#: ../../reference/compound_stmts.rst:639 -msgid "Here's an overview of the logical flow of a match statement:" -msgstr "" - -#: ../../reference/compound_stmts.rst:642 -msgid "" -"The subject expression ``subject_expr`` is evaluated and a resulting subject" -" value obtained. If the subject expression contains a comma, a tuple is " -"constructed using :ref:`the standard rules `." -msgstr "" - -#: ../../reference/compound_stmts.rst:646 -msgid "" -"Each pattern in a ``case_block`` is attempted to match with the subject " -"value. The specific rules for success or failure are described below. The " -"match attempt can also bind some or all of the standalone names within the " -"pattern. The precise pattern binding rules vary per pattern type and are " -"specified below. **Name bindings made during a successful pattern match " -"outlive the executed block and can be used after the match statement**." -msgstr "" - -#: ../../reference/compound_stmts.rst:655 -msgid "" -"During failed pattern matches, some subpatterns may succeed. Do not rely on" -" bindings being made for a failed match. Conversely, do not rely on " -"variables remaining unchanged after a failed match. The exact behavior is " -"dependent on implementation and may vary. This is an intentional decision " -"made to allow different implementations to add optimizations." -msgstr "" - -#: ../../reference/compound_stmts.rst:662 -msgid "" -"If the pattern succeeds, the corresponding guard (if present) is evaluated. " -"In this case all name bindings are guaranteed to have happened." -msgstr "" - -#: ../../reference/compound_stmts.rst:665 -msgid "" -"If the guard evaluates as true or is missing, the ``block`` inside " -"``case_block`` is executed." -msgstr "" - -#: ../../reference/compound_stmts.rst:668 -msgid "Otherwise, the next ``case_block`` is attempted as described above." -msgstr "" - -#: ../../reference/compound_stmts.rst:670 -msgid "If there are no further case blocks, the match statement is completed." -msgstr "" - -#: ../../reference/compound_stmts.rst:674 -msgid "" -"Users should generally never rely on a pattern being evaluated. Depending " -"on implementation, the interpreter may cache values or use other " -"optimizations which skip repeated evaluations." -msgstr "" - -#: ../../reference/compound_stmts.rst:678 -msgid "A sample match statement::" -msgstr "" - -#: ../../reference/compound_stmts.rst:680 -msgid "" -">>> flag = False\n" -">>> match (100, 200):\n" -"... case (100, 300): # Mismatch: 200 != 300\n" -"... print('Case 1')\n" -"... case (100, 200) if flag: # Successful match, but guard fails\n" -"... print('Case 2')\n" -"... case (100, y): # Matches and binds y to 200\n" -"... print(f'Case 3, y: {y}')\n" -"... case _: # Pattern not attempted\n" -"... print('Case 4, I match anything!')\n" -"...\n" -"Case 3, y: 200" -msgstr "" - -#: ../../reference/compound_stmts.rst:694 -msgid "" -"In this case, ``if flag`` is a guard. Read more about that in the next " -"section." -msgstr "" - -#: ../../reference/compound_stmts.rst:697 -msgid "Guards" -msgstr "" - -#: ../../reference/compound_stmts.rst:704 -msgid "" -"A ``guard`` (which is part of the ``case``) must succeed for code inside the" -" ``case`` block to execute. It takes the form: :keyword:`if` followed by an" -" expression." -msgstr "" - -#: ../../reference/compound_stmts.rst:709 -msgid "The logical flow of a ``case`` block with a ``guard`` follows:" -msgstr "" - -#: ../../reference/compound_stmts.rst:711 -msgid "" -"Check that the pattern in the ``case`` block succeeded. If the pattern " -"failed, the ``guard`` is not evaluated and the next ``case`` block is " -"checked." -msgstr "" - -#: ../../reference/compound_stmts.rst:715 -msgid "If the pattern succeeded, evaluate the ``guard``." -msgstr "" - -#: ../../reference/compound_stmts.rst:717 -msgid "" -"If the ``guard`` condition evaluates as true, the case block is selected." -msgstr "" - -#: ../../reference/compound_stmts.rst:720 -msgid "" -"If the ``guard`` condition evaluates as false, the case block is not " -"selected." -msgstr "" - -#: ../../reference/compound_stmts.rst:723 -msgid "" -"If the ``guard`` raises an exception during evaluation, the exception " -"bubbles up." -msgstr "" - -#: ../../reference/compound_stmts.rst:726 -msgid "" -"Guards are allowed to have side effects as they are expressions. Guard " -"evaluation must proceed from the first to the last case block, one at a " -"time, skipping case blocks whose pattern(s) don't all succeed. (I.e., guard " -"evaluation must happen in order.) Guard evaluation must stop once a case " -"block is selected." -msgstr "" - -#: ../../reference/compound_stmts.rst:736 -msgid "Irrefutable Case Blocks" -msgstr "" - -#: ../../reference/compound_stmts.rst:740 -msgid "" -"An irrefutable case block is a match-all case block. A match statement may " -"have at most one irrefutable case block, and it must be last." -msgstr "" - -#: ../../reference/compound_stmts.rst:743 -msgid "" -"A case block is considered irrefutable if it has no guard and its pattern is" -" irrefutable. A pattern is considered irrefutable if we can prove from its " -"syntax alone that it will always succeed. Only the following patterns are " -"irrefutable:" -msgstr "" - -#: ../../reference/compound_stmts.rst:748 -msgid ":ref:`as-patterns` whose left-hand side is irrefutable" -msgstr "" - -#: ../../reference/compound_stmts.rst:750 -msgid ":ref:`or-patterns` containing at least one irrefutable pattern" -msgstr "" - -#: ../../reference/compound_stmts.rst:752 -msgid ":ref:`capture-patterns`" -msgstr "" - -#: ../../reference/compound_stmts.rst:754 -msgid ":ref:`wildcard-patterns`" -msgstr "" - -#: ../../reference/compound_stmts.rst:756 -msgid "parenthesized irrefutable patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:760 -msgid "Patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:767 -msgid "This section uses grammar notations beyond standard EBNF:" -msgstr "" - -#: ../../reference/compound_stmts.rst:769 -msgid "the notation ``SEP.RULE+`` is shorthand for ``RULE (SEP RULE)*``" -msgstr "" - -#: ../../reference/compound_stmts.rst:771 -msgid "the notation ``!RULE`` is shorthand for a negative lookahead assertion" -msgstr "" - -#: ../../reference/compound_stmts.rst:774 -msgid "The top-level syntax for ``patterns`` is:" -msgstr "" - -#: ../../reference/compound_stmts.rst:788 -msgid "" -"The descriptions below will include a description \"in simple terms\" of " -"what a pattern does for illustration purposes (credits to Raymond Hettinger " -"for a document that inspired most of the descriptions). Note that these " -"descriptions are purely for illustration purposes and **may not** reflect " -"the underlying implementation. Furthermore, they do not cover all valid " -"forms." -msgstr "" - -#: ../../reference/compound_stmts.rst:798 -msgid "OR Patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:800 -msgid "" -"An OR pattern is two or more patterns separated by vertical bars ``|``. " -"Syntax:" -msgstr "" - -#: ../../reference/compound_stmts.rst:806 -msgid "" -"Only the final subpattern may be :ref:`irrefutable `, and " -"each subpattern must bind the same set of names to avoid ambiguity." -msgstr "" - -#: ../../reference/compound_stmts.rst:809 -msgid "" -"An OR pattern matches each of its subpatterns in turn to the subject value, " -"until one succeeds. The OR pattern is then considered successful. " -"Otherwise, if none of the subpatterns succeed, the OR pattern fails." -msgstr "" - -#: ../../reference/compound_stmts.rst:813 -msgid "" -"In simple terms, ``P1 | P2 | ...`` will try to match ``P1``, if it fails it " -"will try to match ``P2``, succeeding immediately if any succeeds, failing " -"otherwise." -msgstr "" - -#: ../../reference/compound_stmts.rst:819 -msgid "AS Patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:821 -msgid "" -"An AS pattern matches an OR pattern on the left of the :keyword:`as` keyword" -" against a subject. Syntax:" -msgstr "" - -#: ../../reference/compound_stmts.rst:827 -msgid "" -"If the OR pattern fails, the AS pattern fails. Otherwise, the AS pattern " -"binds the subject to the name on the right of the as keyword and succeeds. " -"``capture_pattern`` cannot be a ``_``." -msgstr "" - -#: ../../reference/compound_stmts.rst:831 -msgid "" -"In simple terms ``P as NAME`` will match with ``P``, and on success it will " -"set ``NAME = ``." -msgstr "" - -#: ../../reference/compound_stmts.rst:838 -msgid "Literal Patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:840 -msgid "" -"A literal pattern corresponds to most :ref:`literals ` in Python." -" Syntax:" -msgstr "" - -#: ../../reference/compound_stmts.rst:853 -msgid "" -"The rule ``strings`` and the token ``NUMBER`` are defined in the " -":doc:`standard Python grammar <./grammar>`. Triple-quoted strings are " -"supported. Raw strings and byte strings are supported. :ref:`f-strings` " -"are not supported." -msgstr "" - -#: ../../reference/compound_stmts.rst:858 -msgid "" -"The forms ``signed_number '+' NUMBER`` and ``signed_number '-' NUMBER`` are " -"for expressing :ref:`complex numbers `; they require a real " -"number on the left and an imaginary number on the right. E.g. ``3 + 4j``." -msgstr "" - -#: ../../reference/compound_stmts.rst:862 -msgid "" -"In simple terms, ``LITERAL`` will succeed only if `` == LITERAL``. " -"For the singletons ``None``, ``True`` and ``False``, the :keyword:`is` " -"operator is used." -msgstr "" - -#: ../../reference/compound_stmts.rst:868 -msgid "Capture Patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:870 -msgid "A capture pattern binds the subject value to a name. Syntax:" -msgstr "" - -#: ../../reference/compound_stmts.rst:876 -msgid "" -"A single underscore ``_`` is not a capture pattern (this is what ``!'_'`` " -"expresses). It is instead treated as a :token:`~python-" -"grammar:wildcard_pattern`." -msgstr "" - -#: ../../reference/compound_stmts.rst:880 -msgid "" -"In a given pattern, a given name can only be bound once. E.g. ``case x, x: " -"...`` is invalid while ``case [x] | x: ...`` is allowed." -msgstr "" - -#: ../../reference/compound_stmts.rst:883 -msgid "" -"Capture patterns always succeed. The binding follows scoping rules " -"established by the assignment expression operator in :pep:`572`; the name " -"becomes a local variable in the closest containing function scope unless " -"there's an applicable :keyword:`global` or :keyword:`nonlocal` statement." -msgstr "" - -#: ../../reference/compound_stmts.rst:888 -msgid "" -"In simple terms ``NAME`` will always succeed and it will set ``NAME = " -"``." -msgstr "" - -#: ../../reference/compound_stmts.rst:893 -msgid "Wildcard Patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:895 -msgid "" -"A wildcard pattern always succeeds (matches anything) and binds no name. " -"Syntax:" -msgstr "" - -#: ../../reference/compound_stmts.rst:901 -msgid "" -"``_`` is a :ref:`soft keyword ` within any pattern, but only " -"within patterns. It is an identifier, as usual, even within ``match`` " -"subject expressions, ``guard``\\ s, and ``case`` blocks." -msgstr "" - -#: ../../reference/compound_stmts.rst:905 -msgid "In simple terms, ``_`` will always succeed." -msgstr "" - -#: ../../reference/compound_stmts.rst:910 -msgid "Value Patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:912 -msgid "A value pattern represents a named value in Python. Syntax:" -msgstr "" - -#: ../../reference/compound_stmts.rst:920 -msgid "" -"The dotted name in the pattern is looked up using standard Python :ref:`name" -" resolution rules `. The pattern succeeds if the value found" -" compares equal to the subject value (using the ``==`` equality operator)." -msgstr "" - -#: ../../reference/compound_stmts.rst:925 -msgid "" -"In simple terms ``NAME1.NAME2`` will succeed only if `` == " -"NAME1.NAME2``" -msgstr "" - -#: ../../reference/compound_stmts.rst:929 -msgid "" -"If the same value occurs multiple times in the same match statement, the " -"interpreter may cache the first value found and reuse it rather than repeat " -"the same lookup. This cache is strictly tied to a given execution of a " -"given match statement." -msgstr "" - -#: ../../reference/compound_stmts.rst:937 -msgid "Group Patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:939 -msgid "" -"A group pattern allows users to add parentheses around patterns to emphasize" -" the intended grouping. Otherwise, it has no additional syntax. Syntax:" -msgstr "" - -#: ../../reference/compound_stmts.rst:946 -msgid "In simple terms ``(P)`` has the same effect as ``P``." -msgstr "" - -#: ../../reference/compound_stmts.rst:951 -msgid "Sequence Patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:953 -msgid "" -"A sequence pattern contains several subpatterns to be matched against " -"sequence elements. The syntax is similar to the unpacking of a list or " -"tuple." -msgstr "" - -#: ../../reference/compound_stmts.rst:964 -msgid "" -"There is no difference if parentheses or square brackets are used for " -"sequence patterns (i.e. ``(...)`` vs ``[...]`` )." -msgstr "" - -#: ../../reference/compound_stmts.rst:968 -msgid "" -"A single pattern enclosed in parentheses without a trailing comma (e.g. ``(3" -" | 4)``) is a :ref:`group pattern `. While a single pattern " -"enclosed in square brackets (e.g. ``[3 | 4]``) is still a sequence pattern." -msgstr "" - -#: ../../reference/compound_stmts.rst:973 -msgid "" -"At most one star subpattern may be in a sequence pattern. The star " -"subpattern may occur in any position. If no star subpattern is present, the " -"sequence pattern is a fixed-length sequence pattern; otherwise it is a " -"variable-length sequence pattern." -msgstr "" - -#: ../../reference/compound_stmts.rst:978 -msgid "" -"The following is the logical flow for matching a sequence pattern against a " -"subject value:" -msgstr "" - -#: ../../reference/compound_stmts.rst:981 -msgid "" -"If the subject value is not a sequence [#]_, the sequence pattern fails." -msgstr "" - -#: ../../reference/compound_stmts.rst:984 -msgid "" -"If the subject value is an instance of ``str``, ``bytes`` or ``bytearray`` " -"the sequence pattern fails." -msgstr "" - -#: ../../reference/compound_stmts.rst:987 -msgid "" -"The subsequent steps depend on whether the sequence pattern is fixed or " -"variable-length." -msgstr "" - -#: ../../reference/compound_stmts.rst:990 -msgid "If the sequence pattern is fixed-length:" -msgstr "" - -#: ../../reference/compound_stmts.rst:992 -msgid "" -"If the length of the subject sequence is not equal to the number of " -"subpatterns, the sequence pattern fails" -msgstr "" - -#: ../../reference/compound_stmts.rst:995 -msgid "" -"Subpatterns in the sequence pattern are matched to their corresponding items" -" in the subject sequence from left to right. Matching stops as soon as a " -"subpattern fails. If all subpatterns succeed in matching their " -"corresponding item, the sequence pattern succeeds." -msgstr "" - -#: ../../reference/compound_stmts.rst:1000 -msgid "Otherwise, if the sequence pattern is variable-length:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1002 -msgid "" -"If the length of the subject sequence is less than the number of non-star " -"subpatterns, the sequence pattern fails." -msgstr "" - -#: ../../reference/compound_stmts.rst:1005 -msgid "" -"The leading non-star subpatterns are matched to their corresponding items as" -" for fixed-length sequences." -msgstr "" - -#: ../../reference/compound_stmts.rst:1008 -msgid "" -"If the previous step succeeds, the star subpattern matches a list formed of " -"the remaining subject items, excluding the remaining items corresponding to " -"non-star subpatterns following the star subpattern." -msgstr "" - -#: ../../reference/compound_stmts.rst:1012 -msgid "" -"Remaining non-star subpatterns are matched to their corresponding subject " -"items, as for a fixed-length sequence." -msgstr "" - -#: ../../reference/compound_stmts.rst:1015 -msgid "" -"The length of the subject sequence is obtained via :func:`len` (i.e. via the" -" :meth:`__len__` protocol). This length may be cached by the interpreter in" -" a similar manner as :ref:`value patterns `." -msgstr "" - -#: ../../reference/compound_stmts.rst:1021 -msgid "" -"In simple terms ``[P1, P2, P3,`` ... ``, P]`` matches only if all the " -"following happens:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1024 -msgid "check ```` is a sequence" -msgstr "" - -#: ../../reference/compound_stmts.rst:1025 -msgid "``len(subject) == ``" -msgstr "" - -#: ../../reference/compound_stmts.rst:1026 -msgid "" -"``P1`` matches ``[0]`` (note that this match can also bind names)" -msgstr "" - -#: ../../reference/compound_stmts.rst:1027 -msgid "" -"``P2`` matches ``[1]`` (note that this match can also bind names)" -msgstr "" - -#: ../../reference/compound_stmts.rst:1028 -msgid "... and so on for the corresponding pattern/element." -msgstr "" - -#: ../../reference/compound_stmts.rst:1033 -msgid "Mapping Patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:1035 -msgid "" -"A mapping pattern contains one or more key-value patterns. The syntax is " -"similar to the construction of a dictionary. Syntax:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1046 -msgid "" -"At most one double star pattern may be in a mapping pattern. The double " -"star pattern must be the last subpattern in the mapping pattern." -msgstr "" - -#: ../../reference/compound_stmts.rst:1049 -msgid "" -"Duplicate keys in mapping patterns are disallowed. Duplicate literal keys " -"will raise a :exc:`SyntaxError`. Two keys that otherwise have the same value" -" will raise a :exc:`ValueError` at runtime." -msgstr "" - -#: ../../reference/compound_stmts.rst:1053 -msgid "" -"The following is the logical flow for matching a mapping pattern against a " -"subject value:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1056 -msgid "If the subject value is not a mapping [#]_,the mapping pattern fails." -msgstr "" - -#: ../../reference/compound_stmts.rst:1058 -msgid "" -"If every key given in the mapping pattern is present in the subject mapping," -" and the pattern for each key matches the corresponding item of the subject " -"mapping, the mapping pattern succeeds." -msgstr "" - -#: ../../reference/compound_stmts.rst:1062 -msgid "" -"If duplicate keys are detected in the mapping pattern, the pattern is " -"considered invalid. A :exc:`SyntaxError` is raised for duplicate literal " -"values; or a :exc:`ValueError` for named keys of the same value." -msgstr "" - -#: ../../reference/compound_stmts.rst:1066 -msgid "" -"Key-value pairs are matched using the two-argument form of the mapping " -"subject's ``get()`` method. Matched key-value pairs must already be present" -" in the mapping, and not created on-the-fly via :meth:`__missing__` or " -":meth:`~object.__getitem__`." -msgstr "" - -#: ../../reference/compound_stmts.rst:1071 -msgid "" -"In simple terms ``{KEY1: P1, KEY2: P2, ... }`` matches only if all the " -"following happens:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1074 -msgid "check ```` is a mapping" -msgstr "" - -#: ../../reference/compound_stmts.rst:1075 -msgid "``KEY1 in ``" -msgstr "" - -#: ../../reference/compound_stmts.rst:1076 -msgid "``P1`` matches ``[KEY1]``" -msgstr "" - -#: ../../reference/compound_stmts.rst:1077 -msgid "... and so on for the corresponding KEY/pattern pair." -msgstr "" - -#: ../../reference/compound_stmts.rst:1083 -msgid "Class Patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:1085 -msgid "" -"A class pattern represents a class and its positional and keyword arguments " -"(if any). Syntax:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1096 -msgid "The same keyword should not be repeated in class patterns." -msgstr "" - -#: ../../reference/compound_stmts.rst:1098 -msgid "" -"The following is the logical flow for matching a class pattern against a " -"subject value:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1101 -msgid "" -"If ``name_or_attr`` is not an instance of the builtin :class:`type` , raise " -":exc:`TypeError`." -msgstr "" - -#: ../../reference/compound_stmts.rst:1104 -msgid "" -"If the subject value is not an instance of ``name_or_attr`` (tested via " -":func:`isinstance`), the class pattern fails." -msgstr "" - -#: ../../reference/compound_stmts.rst:1107 -msgid "" -"If no pattern arguments are present, the pattern succeeds. Otherwise, the " -"subsequent steps depend on whether keyword or positional argument patterns " -"are present." -msgstr "" - -#: ../../reference/compound_stmts.rst:1111 -msgid "" -"For a number of built-in types (specified below), a single positional " -"subpattern is accepted which will match the entire subject; for these types " -"keyword patterns also work as for other types." -msgstr "" - -#: ../../reference/compound_stmts.rst:1115 -msgid "" -"If only keyword patterns are present, they are processed as follows, one by " -"one:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1118 -msgid "I. The keyword is looked up as an attribute on the subject." -msgstr "" - -#: ../../reference/compound_stmts.rst:1120 -msgid "" -"If this raises an exception other than :exc:`AttributeError`, the exception " -"bubbles up." -msgstr "" - -#: ../../reference/compound_stmts.rst:1123 -msgid "If this raises :exc:`AttributeError`, the class pattern has failed." -msgstr "" - -#: ../../reference/compound_stmts.rst:1125 -msgid "" -"Else, the subpattern associated with the keyword pattern is matched against " -"the subject's attribute value. If this fails, the class pattern fails; if " -"this succeeds, the match proceeds to the next keyword." -msgstr "" - -#: ../../reference/compound_stmts.rst:1130 -msgid "II. If all keyword patterns succeed, the class pattern succeeds." -msgstr "" - -#: ../../reference/compound_stmts.rst:1132 -msgid "" -"If any positional patterns are present, they are converted to keyword " -"patterns using the :data:`~object.__match_args__` attribute on the class " -"``name_or_attr`` before matching:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1136 -msgid "I. The equivalent of ``getattr(cls, \"__match_args__\", ())`` is called." -msgstr "" - -#: ../../reference/compound_stmts.rst:1138 -msgid "If this raises an exception, the exception bubbles up." -msgstr "" - -#: ../../reference/compound_stmts.rst:1140 -msgid "" -"If the returned value is not a tuple, the conversion fails and " -":exc:`TypeError` is raised." -msgstr "" - -#: ../../reference/compound_stmts.rst:1143 -msgid "" -"If there are more positional patterns than ``len(cls.__match_args__)``, " -":exc:`TypeError` is raised." -msgstr "" - -#: ../../reference/compound_stmts.rst:1146 -msgid "" -"Otherwise, positional pattern ``i`` is converted to a keyword pattern using " -"``__match_args__[i]`` as the keyword. ``__match_args__[i]`` must be a " -"string; if not :exc:`TypeError` is raised." -msgstr "" - -#: ../../reference/compound_stmts.rst:1150 -msgid "If there are duplicate keywords, :exc:`TypeError` is raised." -msgstr "" - -#: ../../reference/compound_stmts.rst:1152 -msgid ":ref:`class-pattern-matching`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1154 -msgid "" -"II. Once all positional patterns have been converted to keyword patterns," -msgstr "" - -#: ../../reference/compound_stmts.rst:1155 -msgid "the match proceeds as if there were only keyword patterns." -msgstr "" - -#: ../../reference/compound_stmts.rst:1157 -msgid "" -"For the following built-in types the handling of positional subpatterns is " -"different:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1160 -msgid ":class:`bool`" -msgstr ":class:`bool`" - -#: ../../reference/compound_stmts.rst:1161 -msgid ":class:`bytearray`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1162 -msgid ":class:`bytes`" -msgstr ":class:`bytes`" - -#: ../../reference/compound_stmts.rst:1163 -msgid ":class:`dict`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1164 -msgid ":class:`float`" -msgstr ":class:`float`" - -#: ../../reference/compound_stmts.rst:1165 -msgid ":class:`frozenset`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1166 -msgid ":class:`int`" -msgstr ":class:`int`" - -#: ../../reference/compound_stmts.rst:1167 -#: ../../reference/compound_stmts.rst:1919 -msgid ":class:`list`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1168 -msgid ":class:`set`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1169 -msgid ":class:`str`" -msgstr ":class:`str`" - -#: ../../reference/compound_stmts.rst:1170 -#: ../../reference/compound_stmts.rst:1922 -msgid ":class:`tuple`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1172 -msgid "" -"These classes accept a single positional argument, and the pattern there is " -"matched against the whole object rather than an attribute. For example " -"``int(0|1)`` matches the value ``0``, but not the value ``0.0``." -msgstr "" - -#: ../../reference/compound_stmts.rst:1176 -msgid "" -"In simple terms ``CLS(P1, attr=P2)`` matches only if the following happens:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1178 -msgid "``isinstance(, CLS)``" -msgstr "" - -#: ../../reference/compound_stmts.rst:1179 -msgid "convert ``P1`` to a keyword pattern using ``CLS.__match_args__``" -msgstr "" - -#: ../../reference/compound_stmts.rst:1180 -msgid "For each keyword argument ``attr=P2``:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1182 -msgid "``hasattr(, \"attr\")``" -msgstr "" - -#: ../../reference/compound_stmts.rst:1183 -msgid "``P2`` matches ``.attr``" -msgstr "" - -#: ../../reference/compound_stmts.rst:1185 -msgid "... and so on for the corresponding keyword argument/pattern pair." -msgstr "" - -#: ../../reference/compound_stmts.rst:1200 -msgid "Function definitions" -msgstr "Definisi fungsi" - -#: ../../reference/compound_stmts.rst:1215 -msgid "" -"A function definition defines a user-defined function object (see section " -":ref:`types`):" -msgstr "" - -#: ../../reference/compound_stmts.rst:1237 -msgid "" -"A function definition is an executable statement. Its execution binds the " -"function name in the current local namespace to a function object (a wrapper" -" around the executable code for the function). This function object " -"contains a reference to the current global namespace as the global namespace" -" to be used when the function is called." -msgstr "" - -#: ../../reference/compound_stmts.rst:1243 -msgid "" -"The function definition does not execute the function body; this gets " -"executed only when the function is called. [#]_" -msgstr "" - -#: ../../reference/compound_stmts.rst:1249 -msgid "" -"A function definition may be wrapped by one or more :term:`decorator` " -"expressions. Decorator expressions are evaluated when the function is " -"defined, in the scope that contains the function definition. The result " -"must be a callable, which is invoked with the function object as the only " -"argument. The returned value is bound to the function name instead of the " -"function object. Multiple decorators are applied in nested fashion. For " -"example, the following code ::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1256 -msgid "" -"@f1(arg)\n" -"@f2\n" -"def func(): pass" -msgstr "" - -#: ../../reference/compound_stmts.rst:1260 -#: ../../reference/compound_stmts.rst:1449 -msgid "is roughly equivalent to ::" -msgstr "kira-kira setara dengan ::" - -#: ../../reference/compound_stmts.rst:1262 -msgid "" -"def func(): pass\n" -"func = f1(arg)(f2(func))" -msgstr "" - -#: ../../reference/compound_stmts.rst:1265 -msgid "" -"except that the original function is not temporarily bound to the name " -"``func``." -msgstr "" - -#: ../../reference/compound_stmts.rst:1267 -msgid "" -"Functions may be decorated with any valid :token:`~python-" -"grammar:assignment_expression`. Previously, the grammar was much more " -"restrictive; see :pep:`614` for details." -msgstr "" - -#: ../../reference/compound_stmts.rst:1272 -msgid "" -"A list of :ref:`type parameters ` may be given in square " -"brackets between the function's name and the opening parenthesis for its " -"parameter list. This indicates to static type checkers that the function is " -"generic. At runtime, the type parameters can be retrieved from the " -"function's :attr:`~function.__type_params__` attribute. See :ref:`generic-" -"functions` for more." -msgstr "" - -#: ../../reference/compound_stmts.rst:1279 -#: ../../reference/compound_stmts.rst:1468 -msgid "Type parameter lists are new in Python 3.12." -msgstr "" - -#: ../../reference/compound_stmts.rst:1287 -msgid "" -"When one or more :term:`parameters ` have the form *parameter* " -"``=`` *expression*, the function is said to have \"default parameter " -"values.\" For a parameter with a default value, the corresponding " -":term:`argument` may be omitted from a call, in which case the parameter's " -"default value is substituted. If a parameter has a default value, all " -"following parameters up until the \"``*``\" must also have a default value " -"--- this is a syntactic restriction that is not expressed by the grammar." -msgstr "" - -#: ../../reference/compound_stmts.rst:1295 -msgid "" -"**Default parameter values are evaluated from left to right when the " -"function definition is executed.** This means that the expression is " -"evaluated once, when the function is defined, and that the same \"pre-" -"computed\" value is used for each call. This is especially important to " -"understand when a default parameter value is a mutable object, such as a " -"list or a dictionary: if the function modifies the object (e.g. by appending" -" an item to a list), the default parameter value is in effect modified. " -"This is generally not what was intended. A way around this is to use " -"``None`` as the default, and explicitly test for it in the body of the " -"function, e.g.::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1305 -msgid "" -"def whats_on_the_telly(penguin=None):\n" -" if penguin is None:\n" -" penguin = []\n" -" penguin.append(\"property of the zoo\")\n" -" return penguin" -msgstr "" - -#: ../../reference/compound_stmts.rst:1316 -msgid "" -"Function call semantics are described in more detail in section " -":ref:`calls`. A function call always assigns values to all parameters " -"mentioned in the parameter list, either from positional arguments, from " -"keyword arguments, or from default values. If the form \"``*identifier``\" " -"is present, it is initialized to a tuple receiving any excess positional " -"parameters, defaulting to the empty tuple. If the form \"``**identifier``\" " -"is present, it is initialized to a new ordered mapping receiving any excess " -"keyword arguments, defaulting to a new empty mapping of the same type. " -"Parameters after \"``*``\" or \"``*identifier``\" are keyword-only " -"parameters and may only be passed by keyword arguments. Parameters before " -"\"``/``\" are positional-only parameters and may only be passed by " -"positional arguments." -msgstr "" - -#: ../../reference/compound_stmts.rst:1328 -msgid "" -"The ``/`` function parameter syntax may be used to indicate positional-only " -"parameters. See :pep:`570` for details." -msgstr "" - -#: ../../reference/compound_stmts.rst:1337 -msgid "" -"Parameters may have an :term:`annotation ` of the form " -"\"``: expression``\" following the parameter name. Any parameter may have " -"an annotation, even those of the form ``*identifier`` or ``**identifier``. " -"(As a special case, parameters of the form ``*identifier`` may have an " -"annotation \"``: *expression``\".) Functions may have \"return\" annotation " -"of the form \"``-> expression``\" after the parameter list. These " -"annotations can be any valid Python expression. The presence of annotations" -" does not change the semantics of a function. See :ref:`annotations` for " -"more information on annotations." -msgstr "" - -#: ../../reference/compound_stmts.rst:1345 -msgid "" -"Parameters of the form \"``*identifier``\" may have an annotation \"``: " -"*expression``\". See :pep:`646`." -msgstr "" - -#: ../../reference/compound_stmts.rst:1351 -msgid "" -"It is also possible to create anonymous functions (functions not bound to a " -"name), for immediate use in expressions. This uses lambda expressions, " -"described in section :ref:`lambda`. Note that the lambda expression is " -"merely a shorthand for a simplified function definition; a function defined " -"in a \":keyword:`def`\" statement can be passed around or assigned to " -"another name just like a function defined by a lambda expression. The " -"\":keyword:`!def`\" form is actually more powerful since it allows the " -"execution of multiple statements and annotations." -msgstr "" - -#: ../../reference/compound_stmts.rst:1359 -msgid "" -"**Programmer's note:** Functions are first-class objects. A \"``def``\" " -"statement executed inside a function definition defines a local function " -"that can be returned or passed around. Free variables used in the nested " -"function can access the local variables of the function containing the def." -" See section :ref:`naming` for details." -msgstr "" - -#: ../../reference/compound_stmts.rst:1367 -msgid ":pep:`3107` - Function Annotations" -msgstr "" - -#: ../../reference/compound_stmts.rst:1368 -msgid "The original specification for function annotations." -msgstr "" - -#: ../../reference/compound_stmts.rst:1370 -msgid ":pep:`484` - Type Hints" -msgstr "" - -#: ../../reference/compound_stmts.rst:1371 -msgid "Definition of a standard meaning for annotations: type hints." -msgstr "" - -#: ../../reference/compound_stmts.rst:1373 -msgid ":pep:`526` - Syntax for Variable Annotations" -msgstr "" - -#: ../../reference/compound_stmts.rst:1374 -msgid "" -"Ability to type hint variable declarations, including class variables and " -"instance variables." -msgstr "" - -#: ../../reference/compound_stmts.rst:1377 -msgid ":pep:`563` - Postponed Evaluation of Annotations" -msgstr "" - -#: ../../reference/compound_stmts.rst:1378 -msgid "" -"Support for forward references within annotations by preserving annotations " -"in a string form at runtime instead of eager evaluation." -msgstr "" - -#: ../../reference/compound_stmts.rst:1381 -msgid ":pep:`318` - Decorators for Functions and Methods" -msgstr "" - -#: ../../reference/compound_stmts.rst:1382 -msgid "" -"Function and method decorators were introduced. Class decorators were " -"introduced in :pep:`3129`." -msgstr "" - -#: ../../reference/compound_stmts.rst:1388 -msgid "Class definitions" -msgstr "Definisi Kelas" - -#: ../../reference/compound_stmts.rst:1403 -msgid "A class definition defines a class object (see section :ref:`types`):" -msgstr "" - -#: ../../reference/compound_stmts.rst:1410 -msgid "" -"A class definition is an executable statement. The inheritance list usually" -" gives a list of base classes (see :ref:`metaclasses` for more advanced " -"uses), so each item in the list should evaluate to a class object which " -"allows subclassing. Classes without an inheritance list inherit, by " -"default, from the base class :class:`object`; hence, ::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1416 -msgid "" -"class Foo:\n" -" pass" -msgstr "" - -#: ../../reference/compound_stmts.rst:1419 -msgid "is equivalent to ::" -msgstr "setara dengan::" - -#: ../../reference/compound_stmts.rst:1421 -msgid "" -"class Foo(object):\n" -" pass" -msgstr "" - -#: ../../reference/compound_stmts.rst:1424 -msgid "" -"The class's suite is then executed in a new execution frame (see " -":ref:`naming`), using a newly created local namespace and the original " -"global namespace. (Usually, the suite contains mostly function definitions.)" -" When the class's suite finishes execution, its execution frame is " -"discarded but its local namespace is saved. [#]_ A class object is then " -"created using the inheritance list for the base classes and the saved local " -"namespace for the attribute dictionary. The class name is bound to this " -"class object in the original local namespace." -msgstr "" - -#: ../../reference/compound_stmts.rst:1433 -msgid "" -"The order in which attributes are defined in the class body is preserved in " -"the new class's :attr:`~type.__dict__`. Note that this is reliable only " -"right after the class is created and only for classes that were defined " -"using the definition syntax." -msgstr "" - -#: ../../reference/compound_stmts.rst:1438 -msgid "" -"Class creation can be customized heavily using :ref:`metaclasses " -"`." -msgstr "" - -#: ../../reference/compound_stmts.rst:1443 -msgid "Classes can also be decorated: just like when decorating functions, ::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1445 -msgid "" -"@f1(arg)\n" -"@f2\n" -"class Foo: pass" -msgstr "" - -#: ../../reference/compound_stmts.rst:1451 -msgid "" -"class Foo: pass\n" -"Foo = f1(arg)(f2(Foo))" -msgstr "" - -#: ../../reference/compound_stmts.rst:1454 -msgid "" -"The evaluation rules for the decorator expressions are the same as for " -"function decorators. The result is then bound to the class name." -msgstr "" - -#: ../../reference/compound_stmts.rst:1457 -msgid "" -"Classes may be decorated with any valid :token:`~python-" -"grammar:assignment_expression`. Previously, the grammar was much more " -"restrictive; see :pep:`614` for details." -msgstr "" - -#: ../../reference/compound_stmts.rst:1462 -msgid "" -"A list of :ref:`type parameters ` may be given in square " -"brackets immediately after the class's name. This indicates to static type " -"checkers that the class is generic. At runtime, the type parameters can be " -"retrieved from the class's :attr:`~type.__type_params__` attribute. See " -":ref:`generic-classes` for more." -msgstr "" - -#: ../../reference/compound_stmts.rst:1471 -msgid "" -"**Programmer's note:** Variables defined in the class definition are class " -"attributes; they are shared by instances. Instance attributes can be set in" -" a method with ``self.name = value``. Both class and instance attributes " -"are accessible through the notation \"``self.name``\", and an instance " -"attribute hides a class attribute with the same name when accessed in this " -"way. Class attributes can be used as defaults for instance attributes, but " -"using mutable values there can lead to unexpected results. " -":ref:`Descriptors ` can be used to create instance variables " -"with different implementation details." -msgstr "" - -#: ../../reference/compound_stmts.rst:1483 -msgid ":pep:`3115` - Metaclasses in Python 3000" -msgstr "" - -#: ../../reference/compound_stmts.rst:1484 -msgid "" -"The proposal that changed the declaration of metaclasses to the current " -"syntax, and the semantics for how classes with metaclasses are constructed." -msgstr "" - -#: ../../reference/compound_stmts.rst:1488 -msgid ":pep:`3129` - Class Decorators" -msgstr "" - -#: ../../reference/compound_stmts.rst:1489 -msgid "" -"The proposal that added class decorators. Function and method decorators " -"were introduced in :pep:`318`." -msgstr "" - -#: ../../reference/compound_stmts.rst:1496 -msgid "Coroutines" -msgstr "*Coroutines*" - -#: ../../reference/compound_stmts.rst:1504 -msgid "Coroutine function definition" -msgstr "Definisi fungsi *coroutines*" - -#: ../../reference/compound_stmts.rst:1514 -msgid "" -"Execution of Python coroutines can be suspended and resumed at many points " -"(see :term:`coroutine`). :keyword:`await` expressions, :keyword:`async for` " -"and :keyword:`async with` can only be used in the body of a coroutine " -"function." -msgstr "" - -#: ../../reference/compound_stmts.rst:1518 -msgid "" -"Functions defined with ``async def`` syntax are always coroutine functions, " -"even if they do not contain ``await`` or ``async`` keywords." -msgstr "" - -#: ../../reference/compound_stmts.rst:1521 -msgid "" -"It is a :exc:`SyntaxError` to use a ``yield from`` expression inside the " -"body of a coroutine function." -msgstr "" - -#: ../../reference/compound_stmts.rst:1524 -msgid "An example of a coroutine function::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1526 -msgid "" -"async def func(param1, param2):\n" -" do_stuff()\n" -" await some_coroutine()" -msgstr "" - -#: ../../reference/compound_stmts.rst:1530 -msgid "" -"``await`` and ``async`` are now keywords; previously they were only treated " -"as such inside the body of a coroutine function." -msgstr "" - -#: ../../reference/compound_stmts.rst:1538 -msgid "The :keyword:`!async for` statement" -msgstr "Pernyataan :keyword:`!async for`" - -#: ../../reference/compound_stmts.rst:1543 -msgid "" -"An :term:`asynchronous iterable` provides an ``__aiter__`` method that " -"directly returns an :term:`asynchronous iterator`, which can call " -"asynchronous code in its ``__anext__`` method." -msgstr "" - -#: ../../reference/compound_stmts.rst:1547 -msgid "" -"The ``async for`` statement allows convenient iteration over asynchronous " -"iterables." -msgstr "" - -#: ../../reference/compound_stmts.rst:1552 -msgid "" -"async for TARGET in ITER:\n" -" SUITE\n" -"else:\n" -" SUITE2" -msgstr "" - -#: ../../reference/compound_stmts.rst:1557 -msgid "Is semantically equivalent to::" -msgstr "Secara semantik setara dengan::" - -#: ../../reference/compound_stmts.rst:1559 -msgid "" -"iter = (ITER)\n" -"iter = type(iter).__aiter__(iter)\n" -"running = True\n" -"\n" -"while running:\n" -" try:\n" -" TARGET = await type(iter).__anext__(iter)\n" -" except StopAsyncIteration:\n" -" running = False\n" -" else:\n" -" SUITE\n" -"else:\n" -" SUITE2" -msgstr "" - -#: ../../reference/compound_stmts.rst:1573 -msgid "" -"See also :meth:`~object.__aiter__` and :meth:`~object.__anext__` for " -"details." -msgstr "" - -#: ../../reference/compound_stmts.rst:1575 -msgid "" -"It is a :exc:`SyntaxError` to use an ``async for`` statement outside the " -"body of a coroutine function." -msgstr "" - -#: ../../reference/compound_stmts.rst:1583 -msgid "The :keyword:`!async with` statement" -msgstr "Pernyataan :keyword:`!async with`" - -#: ../../reference/compound_stmts.rst:1588 -msgid "" -"An :term:`asynchronous context manager` is a :term:`context manager` that is" -" able to suspend execution in its *enter* and *exit* methods." -msgstr "" - -#: ../../reference/compound_stmts.rst:1593 -msgid "" -"async with EXPRESSION as TARGET:\n" -" SUITE" -msgstr "" - -#: ../../reference/compound_stmts.rst:1598 -msgid "" -"manager = (EXPRESSION)\n" -"aenter = type(manager).__aenter__\n" -"aexit = type(manager).__aexit__\n" -"value = await aenter(manager)\n" -"hit_except = False\n" -"\n" -"try:\n" -" TARGET = value\n" -" SUITE\n" -"except:\n" -" hit_except = True\n" -" if not await aexit(manager, *sys.exc_info()):\n" -" raise\n" -"finally:\n" -" if not hit_except:\n" -" await aexit(manager, None, None, None)" -msgstr "" - -#: ../../reference/compound_stmts.rst:1615 -msgid "" -"See also :meth:`~object.__aenter__` and :meth:`~object.__aexit__` for " -"details." -msgstr "" - -#: ../../reference/compound_stmts.rst:1617 -msgid "" -"It is a :exc:`SyntaxError` to use an ``async with`` statement outside the " -"body of a coroutine function." -msgstr "" - -#: ../../reference/compound_stmts.rst:1622 -msgid ":pep:`492` - Coroutines with async and await syntax" -msgstr "" - -#: ../../reference/compound_stmts.rst:1623 -msgid "" -"The proposal that made coroutines a proper standalone concept in Python, and" -" added supporting syntax." -msgstr "" - -#: ../../reference/compound_stmts.rst:1629 -msgid "Type parameter lists" -msgstr "" - -#: ../../reference/compound_stmts.rst:1633 -msgid "Support for default values was added (see :pep:`696`)." -msgstr "" - -#: ../../reference/compound_stmts.rst:1646 -msgid "" -":ref:`Functions ` (including :ref:`coroutines `), " -":ref:`classes ` and :ref:`type aliases ` may contain a type " -"parameter list::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1650 -msgid "" -"def max[T](args: list[T]) -> T:\n" -" ...\n" -"\n" -"async def amax[T](args: list[T]) -> T:\n" -" ...\n" -"\n" -"class Bag[T]:\n" -" def __iter__(self) -> Iterator[T]:\n" -" ...\n" -"\n" -" def add(self, arg: T) -> None:\n" -" ...\n" -"\n" -"type ListOrSet[T] = list[T] | set[T]" -msgstr "" - -#: ../../reference/compound_stmts.rst:1665 -msgid "" -"Semantically, this indicates that the function, class, or type alias is " -"generic over a type variable. This information is primarily used by static " -"type checkers, and at runtime, generic objects behave much like their non-" -"generic counterparts." -msgstr "" - -#: ../../reference/compound_stmts.rst:1670 -msgid "" -"Type parameters are declared in square brackets (``[]``) immediately after " -"the name of the function, class, or type alias. The type parameters are " -"accessible within the scope of the generic object, but not elsewhere. Thus, " -"after a declaration ``def func[T](): pass``, the name ``T`` is not available" -" in the module scope. Below, the semantics of generic objects are described " -"with more precision. The scope of type parameters is modeled with a special " -"function (technically, an :ref:`annotation scope `) that " -"wraps the creation of the generic object." -msgstr "" - -#: ../../reference/compound_stmts.rst:1679 -msgid "" -"Generic functions, classes, and type aliases have a " -":attr:`~definition.__type_params__` attribute listing their type parameters." -msgstr "" - -#: ../../reference/compound_stmts.rst:1682 -msgid "Type parameters come in three kinds:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1684 -msgid "" -":data:`typing.TypeVar`, introduced by a plain name (e.g., ``T``). " -"Semantically, this represents a single type to a type checker." -msgstr "" - -#: ../../reference/compound_stmts.rst:1686 -msgid "" -":data:`typing.TypeVarTuple`, introduced by a name prefixed with a single " -"asterisk (e.g., ``*Ts``). Semantically, this stands for a tuple of any " -"number of types." -msgstr "" - -#: ../../reference/compound_stmts.rst:1689 -msgid "" -":data:`typing.ParamSpec`, introduced by a name prefixed with two asterisks " -"(e.g., ``**P``). Semantically, this stands for the parameters of a callable." -msgstr "" - -#: ../../reference/compound_stmts.rst:1692 -msgid "" -":data:`typing.TypeVar` declarations can define *bounds* and *constraints* " -"with a colon (``:``) followed by an expression. A single expression after " -"the colon indicates a bound (e.g. ``T: int``). Semantically, this means that" -" the :data:`!typing.TypeVar` can only represent types that are a subtype of " -"this bound. A parenthesized tuple of expressions after the colon indicates a" -" set of constraints (e.g. ``T: (str, bytes)``). Each member of the tuple " -"should be a type (again, this is not enforced at runtime). Constrained type " -"variables can only take on one of the types in the list of constraints." -msgstr "" - -#: ../../reference/compound_stmts.rst:1701 -msgid "" -"For :data:`!typing.TypeVar`\\ s declared using the type parameter list " -"syntax, the bound and constraints are not evaluated when the generic object " -"is created, but only when the value is explicitly accessed through the " -"attributes ``__bound__`` and ``__constraints__``. To accomplish this, the " -"bounds or constraints are evaluated in a separate :ref:`annotation scope " -"`." -msgstr "" - -#: ../../reference/compound_stmts.rst:1707 -msgid "" -":data:`typing.TypeVarTuple`\\ s and :data:`typing.ParamSpec`\\ s cannot have" -" bounds or constraints." -msgstr "" - -#: ../../reference/compound_stmts.rst:1710 -msgid "" -"All three flavors of type parameters can also have a *default value*, which " -"is used when the type parameter is not explicitly provided. This is added by" -" appending a single equals sign (``=``) followed by an expression. Like the " -"bounds and constraints of type variables, the default value is not evaluated" -" when the object is created, but only when the type parameter's " -"``__default__`` attribute is accessed. To this end, the default value is " -"evaluated in a separate :ref:`annotation scope `. If no " -"default value is specified for a type parameter, the ``__default__`` " -"attribute is set to the special sentinel object :data:`typing.NoDefault`." -msgstr "" - -#: ../../reference/compound_stmts.rst:1720 -msgid "" -"The following example indicates the full set of allowed type parameter " -"declarations::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1722 -msgid "" -"def overly_generic[\n" -" SimpleTypeVar,\n" -" TypeVarWithDefault = int,\n" -" TypeVarWithBound: int,\n" -" TypeVarWithConstraints: (str, bytes),\n" -" *SimpleTypeVarTuple = (int, float),\n" -" **SimpleParamSpec = (str, bytearray),\n" -"](\n" -" a: SimpleTypeVar,\n" -" b: TypeVarWithDefault,\n" -" c: TypeVarWithBound,\n" -" d: Callable[SimpleParamSpec, TypeVarWithConstraints],\n" -" *e: SimpleTypeVarTuple,\n" -"): ..." -msgstr "" - -#: ../../reference/compound_stmts.rst:1740 -msgid "Generic functions" -msgstr "" - -#: ../../reference/compound_stmts.rst:1742 -msgid "Generic functions are declared as follows::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1744 -msgid "def func[T](arg: T): ..." -msgstr "" - -#: ../../reference/compound_stmts.rst:1746 -#: ../../reference/compound_stmts.rst:1806 -msgid "This syntax is equivalent to::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1748 -msgid "" -"annotation-def TYPE_PARAMS_OF_func():\n" -" T = typing.TypeVar(\"T\")\n" -" def func(arg: T): ...\n" -" func.__type_params__ = (T,)\n" -" return func\n" -"func = TYPE_PARAMS_OF_func()" -msgstr "" - -#: ../../reference/compound_stmts.rst:1755 -msgid "" -"Here ``annotation-def`` indicates an :ref:`annotation scope `, which is not actually bound to any name at runtime. (One other " -"liberty is taken in the translation: the syntax does not go through " -"attribute access on the :mod:`typing` module, but creates an instance of " -":data:`typing.TypeVar` directly.)" -msgstr "" - -#: ../../reference/compound_stmts.rst:1761 -msgid "" -"The annotations of generic functions are evaluated within the annotation " -"scope used for declaring the type parameters, but the function's defaults " -"and decorators are not." -msgstr "" - -#: ../../reference/compound_stmts.rst:1765 -msgid "" -"The following example illustrates the scoping rules for these cases, as well" -" as for additional flavors of type parameters::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1768 -msgid "" -"@decorator\n" -"def func[T: int, *Ts, **P](*args: *Ts, arg: Callable[P, T] = some_default):\n" -" ..." -msgstr "" - -#: ../../reference/compound_stmts.rst:1772 -msgid "" -"Except for the :ref:`lazy evaluation ` of the " -":class:`~typing.TypeVar` bound, this is equivalent to::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1775 -msgid "" -"DEFAULT_OF_arg = some_default\n" -"\n" -"annotation-def TYPE_PARAMS_OF_func():\n" -"\n" -" annotation-def BOUND_OF_T():\n" -" return int\n" -" # In reality, BOUND_OF_T() is evaluated only on demand.\n" -" T = typing.TypeVar(\"T\", bound=BOUND_OF_T())\n" -"\n" -" Ts = typing.TypeVarTuple(\"Ts\")\n" -" P = typing.ParamSpec(\"P\")\n" -"\n" -" def func(*args: *Ts, arg: Callable[P, T] = DEFAULT_OF_arg):\n" -" ...\n" -"\n" -" func.__type_params__ = (T, Ts, P)\n" -" return func\n" -"func = decorator(TYPE_PARAMS_OF_func())" -msgstr "" - -#: ../../reference/compound_stmts.rst:1794 -msgid "" -"The capitalized names like ``DEFAULT_OF_arg`` are not actually bound at " -"runtime." -msgstr "" - -#: ../../reference/compound_stmts.rst:1800 -msgid "Generic classes" -msgstr "" - -#: ../../reference/compound_stmts.rst:1802 -msgid "Generic classes are declared as follows::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1804 -msgid "class Bag[T]: ..." -msgstr "" - -#: ../../reference/compound_stmts.rst:1808 -msgid "" -"annotation-def TYPE_PARAMS_OF_Bag():\n" -" T = typing.TypeVar(\"T\")\n" -" class Bag(typing.Generic[T]):\n" -" __type_params__ = (T,)\n" -" ...\n" -" return Bag\n" -"Bag = TYPE_PARAMS_OF_Bag()" -msgstr "" - -#: ../../reference/compound_stmts.rst:1816 -msgid "" -"Here again ``annotation-def`` (not a real keyword) indicates an " -":ref:`annotation scope `, and the name " -"``TYPE_PARAMS_OF_Bag`` is not actually bound at runtime." -msgstr "" - -#: ../../reference/compound_stmts.rst:1820 -msgid "" -"Generic classes implicitly inherit from :data:`typing.Generic`. The base " -"classes and keyword arguments of generic classes are evaluated within the " -"type scope for the type parameters, and decorators are evaluated outside " -"that scope. This is illustrated by this example::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1826 -msgid "" -"@decorator\n" -"class Bag(Base[T], arg=T): ..." -msgstr "" - -#: ../../reference/compound_stmts.rst:1829 -msgid "This is equivalent to::" -msgstr "Ini setara dengan::" - -#: ../../reference/compound_stmts.rst:1831 -msgid "" -"annotation-def TYPE_PARAMS_OF_Bag():\n" -" T = typing.TypeVar(\"T\")\n" -" class Bag(Base[T], typing.Generic[T], arg=T):\n" -" __type_params__ = (T,)\n" -" ...\n" -" return Bag\n" -"Bag = decorator(TYPE_PARAMS_OF_Bag())" -msgstr "" - -#: ../../reference/compound_stmts.rst:1842 -msgid "Generic type aliases" -msgstr "" - -#: ../../reference/compound_stmts.rst:1844 -msgid "" -"The :keyword:`type` statement can also be used to create a generic type " -"alias::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1846 -msgid "type ListOrSet[T] = list[T] | set[T]" -msgstr "" - -#: ../../reference/compound_stmts.rst:1848 -msgid "" -"Except for the :ref:`lazy evaluation ` of the value, this " -"is equivalent to::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1851 -msgid "" -"annotation-def TYPE_PARAMS_OF_ListOrSet():\n" -" T = typing.TypeVar(\"T\")\n" -"\n" -" annotation-def VALUE_OF_ListOrSet():\n" -" return list[T] | set[T]\n" -" # In reality, the value is lazily evaluated\n" -" return typing.TypeAliasType(\"ListOrSet\", VALUE_OF_ListOrSet(), type_params=(T,))\n" -"ListOrSet = TYPE_PARAMS_OF_ListOrSet()" -msgstr "" - -#: ../../reference/compound_stmts.rst:1860 -msgid "" -"Here, ``annotation-def`` (not a real keyword) indicates an :ref:`annotation " -"scope `. The capitalized names like " -"``TYPE_PARAMS_OF_ListOrSet`` are not actually bound at runtime." -msgstr "" - -#: ../../reference/compound_stmts.rst:1867 -msgid "Annotations" -msgstr "" - -#: ../../reference/compound_stmts.rst:1869 -msgid "Annotations are now lazily evaluated by default." -msgstr "" - -#: ../../reference/compound_stmts.rst:1872 -msgid "" -"Variables and function parameters may carry :term:`annotations " -"`, created by adding a colon after the name, followed by an " -"expression::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1875 -msgid "" -"x: annotation = 1\n" -"def f(param: annotation): ..." -msgstr "" - -#: ../../reference/compound_stmts.rst:1878 -msgid "Functions may also carry a return annotation following an arrow::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1880 -msgid "def f() -> annotation: ..." -msgstr "" - -#: ../../reference/compound_stmts.rst:1882 -msgid "" -"Annotations are conventionally used for :term:`type hints `, but " -"this is not enforced by the language, and in general annotations may contain" -" arbitrary expressions. The presence of annotations does not change the " -"runtime semantics of the code, except if some mechanism is used that " -"introspects and uses the annotations (such as :mod:`dataclasses` or " -":func:`functools.singledispatch`)." -msgstr "" - -#: ../../reference/compound_stmts.rst:1888 -msgid "" -"By default, annotations are lazily evaluated in a :ref:`annotation scope " -"`. This means that they are not evaluated when the code " -"containing the annotation is evaluated. Instead, the interpreter saves " -"information that can be used to evaluate the annotation later if requested. " -"The :mod:`annotationlib` module provides tools for evaluating annotations." -msgstr "" - -#: ../../reference/compound_stmts.rst:1893 -msgid "" -"If the :ref:`future statement ` ``from __future__ import " -"annotations`` is present, all annotations are instead stored as strings::" -msgstr "" - -#: ../../reference/compound_stmts.rst:1896 -msgid "" -">>> from __future__ import annotations\n" -">>> def f(param: annotation): ...\n" -">>> f.__annotations__\n" -"{'param': 'annotation'}" -msgstr "" - -#: ../../reference/compound_stmts.rst:1903 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../reference/compound_stmts.rst:1904 -msgid "" -"The exception is propagated to the invocation stack unless there is a " -":keyword:`finally` clause which happens to raise another exception. That new" -" exception causes the old one to be lost." -msgstr "" - -#: ../../reference/compound_stmts.rst:1908 -msgid "In pattern matching, a sequence is defined as one of the following:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1910 -msgid "a class that inherits from :class:`collections.abc.Sequence`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1911 -msgid "" -"a Python class that has been registered as :class:`collections.abc.Sequence`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1912 -msgid "" -"a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_SEQUENCE` bit " -"set" -msgstr "" - -#: ../../reference/compound_stmts.rst:1913 -#: ../../reference/compound_stmts.rst:1932 -msgid "a class that inherits from any of the above" -msgstr "" - -#: ../../reference/compound_stmts.rst:1915 -msgid "The following standard library classes are sequences:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1917 -msgid ":class:`array.array`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1918 -msgid ":class:`collections.deque`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1920 -msgid ":class:`memoryview`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1921 -msgid ":class:`range`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1924 -msgid "" -"Subject values of type ``str``, ``bytes``, and ``bytearray`` do not match " -"sequence patterns." -msgstr "" - -#: ../../reference/compound_stmts.rst:1927 -msgid "In pattern matching, a mapping is defined as one of the following:" -msgstr "" - -#: ../../reference/compound_stmts.rst:1929 -msgid "a class that inherits from :class:`collections.abc.Mapping`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1930 -msgid "" -"a Python class that has been registered as :class:`collections.abc.Mapping`" -msgstr "" - -#: ../../reference/compound_stmts.rst:1931 -msgid "" -"a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_MAPPING` bit set" -msgstr "" - -#: ../../reference/compound_stmts.rst:1934 -msgid "" -"The standard library classes :class:`dict` and " -":class:`types.MappingProxyType` are mappings." -msgstr "" - -#: ../../reference/compound_stmts.rst:1937 -msgid "" -"A string literal appearing as the first statement in the function body is " -"transformed into the function's :attr:`~function.__doc__` attribute and " -"therefore the function's :term:`docstring`." -msgstr "" - -#: ../../reference/compound_stmts.rst:1941 -msgid "" -"A string literal appearing as the first statement in the class body is " -"transformed into the namespace's :attr:`~type.__doc__` item and therefore " -"the class's :term:`docstring`." -msgstr "" - -#: ../../reference/compound_stmts.rst:7 -msgid "compound" -msgstr "gabungan" - -#: ../../reference/compound_stmts.rst:7 ../../reference/compound_stmts.rst:86 -#: ../../reference/compound_stmts.rst:111 -#: ../../reference/compound_stmts.rst:129 -#: ../../reference/compound_stmts.rst:144 -#: ../../reference/compound_stmts.rst:169 -#: ../../reference/compound_stmts.rst:207 -#: ../../reference/compound_stmts.rst:393 -#: ../../reference/compound_stmts.rst:440 -#: ../../reference/compound_stmts.rst:478 -#: ../../reference/compound_stmts.rst:595 -#: ../../reference/compound_stmts.rst:1202 -#: ../../reference/compound_stmts.rst:1390 -#: ../../reference/compound_stmts.rst:1500 -#: ../../reference/compound_stmts.rst:1534 -#: ../../reference/compound_stmts.rst:1579 -msgid "statement" -msgstr "pernyataan" - -#: ../../reference/compound_stmts.rst:21 -msgid "clause" -msgstr "" - -#: ../../reference/compound_stmts.rst:21 -msgid "suite" -msgstr "" - -#: ../../reference/compound_stmts.rst:21 -msgid "; (semicolon)" -msgstr "" - -#: ../../reference/compound_stmts.rst:64 -msgid "NEWLINE token" -msgstr "" - -#: ../../reference/compound_stmts.rst:64 -msgid "DEDENT token" -msgstr "" - -#: ../../reference/compound_stmts.rst:64 -msgid "dangling" -msgstr "" - -#: ../../reference/compound_stmts.rst:64 ../../reference/compound_stmts.rst:86 -#: ../../reference/compound_stmts.rst:111 -#: ../../reference/compound_stmts.rst:144 -#: ../../reference/compound_stmts.rst:207 -#: ../../reference/compound_stmts.rst:393 -msgid "else" -msgstr "" - -#: ../../reference/compound_stmts.rst:86 -#: ../../reference/compound_stmts.rst:595 -msgid "if" -msgstr "" - -#: ../../reference/compound_stmts.rst:86 -#: ../../reference/compound_stmts.rst:111 -#: ../../reference/compound_stmts.rst:144 -#: ../../reference/compound_stmts.rst:207 -#: ../../reference/compound_stmts.rst:330 -#: ../../reference/compound_stmts.rst:393 -#: ../../reference/compound_stmts.rst:411 -#: ../../reference/compound_stmts.rst:478 -#: ../../reference/compound_stmts.rst:595 -#: ../../reference/compound_stmts.rst:1510 -msgid "keyword" -msgstr "" - -#: ../../reference/compound_stmts.rst:86 -msgid "elif" -msgstr "" - -#: ../../reference/compound_stmts.rst:86 -#: ../../reference/compound_stmts.rst:111 -#: ../../reference/compound_stmts.rst:144 -#: ../../reference/compound_stmts.rst:207 -#: ../../reference/compound_stmts.rst:478 -#: ../../reference/compound_stmts.rst:595 -#: ../../reference/compound_stmts.rst:1202 -#: ../../reference/compound_stmts.rst:1332 -#: ../../reference/compound_stmts.rst:1390 -msgid ": (colon)" -msgstr "" - -#: ../../reference/compound_stmts.rst:86 -#: ../../reference/compound_stmts.rst:111 -#: ../../reference/compound_stmts.rst:144 -#: ../../reference/compound_stmts.rst:207 -#: ../../reference/compound_stmts.rst:478 -#: ../../reference/compound_stmts.rst:595 -#: ../../reference/compound_stmts.rst:1202 -#: ../../reference/compound_stmts.rst:1390 -msgid "compound statement" -msgstr "" - -#: ../../reference/compound_stmts.rst:111 -msgid "while" -msgstr "" - -#: ../../reference/compound_stmts.rst:111 -#: ../../reference/compound_stmts.rst:144 -msgid "loop" -msgstr "" - -#: ../../reference/compound_stmts.rst:129 -#: ../../reference/compound_stmts.rst:169 -#: ../../reference/compound_stmts.rst:393 -#: ../../reference/compound_stmts.rst:440 -msgid "break" -msgstr "" - -#: ../../reference/compound_stmts.rst:129 -#: ../../reference/compound_stmts.rst:169 -#: ../../reference/compound_stmts.rst:393 -#: ../../reference/compound_stmts.rst:440 -msgid "continue" -msgstr "" - -#: ../../reference/compound_stmts.rst:144 -msgid "for" -msgstr "" - -#: ../../reference/compound_stmts.rst:144 -msgid "in" -msgstr "" - -#: ../../reference/compound_stmts.rst:144 -msgid "target" -msgstr "" - -#: ../../reference/compound_stmts.rst:144 -msgid "list" -msgstr "list" - -#: ../../reference/compound_stmts.rst:144 -#: ../../reference/compound_stmts.rst:301 -#: ../../reference/compound_stmts.rst:1202 -#: ../../reference/compound_stmts.rst:1390 -msgid "object" -msgstr "objek" - -#: ../../reference/compound_stmts.rst:144 -msgid "sequence" -msgstr "urutan" - -#: ../../reference/compound_stmts.rst:190 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../reference/compound_stmts.rst:190 -msgid "range" -msgstr "" - -#: ../../reference/compound_stmts.rst:207 -msgid "try" -msgstr "" - -#: ../../reference/compound_stmts.rst:207 -msgid "except" -msgstr "" - -#: ../../reference/compound_stmts.rst:207 -#: ../../reference/compound_stmts.rst:411 -msgid "finally" -msgstr "" - -#: ../../reference/compound_stmts.rst:207 -#: ../../reference/compound_stmts.rst:268 -#: ../../reference/compound_stmts.rst:478 -#: ../../reference/compound_stmts.rst:595 -msgid "as" -msgstr "" - -#: ../../reference/compound_stmts.rst:268 -msgid "except clause" -msgstr "" - -#: ../../reference/compound_stmts.rst:301 -msgid "module" -msgstr "modul" - -#: ../../reference/compound_stmts.rst:301 -msgid "sys" -msgstr "sys" - -#: ../../reference/compound_stmts.rst:301 -msgid "traceback" -msgstr "" - -#: ../../reference/compound_stmts.rst:330 -msgid "except_star" -msgstr "" - -#: ../../reference/compound_stmts.rst:393 -#: ../../reference/compound_stmts.rst:440 -msgid "return" -msgstr "" - -#: ../../reference/compound_stmts.rst:478 -msgid "with" -msgstr "" - -#: ../../reference/compound_stmts.rst:478 -msgid "with statement" -msgstr "" - -#: ../../reference/compound_stmts.rst:478 -#: ../../reference/compound_stmts.rst:1202 -#: ../../reference/compound_stmts.rst:1390 -msgid ", (comma)" -msgstr "" - -#: ../../reference/compound_stmts.rst:595 -msgid "match" -msgstr "" - -#: ../../reference/compound_stmts.rst:595 -msgid "case" -msgstr "" - -#: ../../reference/compound_stmts.rst:595 -msgid "pattern matching" -msgstr "" - -#: ../../reference/compound_stmts.rst:595 -msgid "match statement" -msgstr "" - -#: ../../reference/compound_stmts.rst:699 -msgid "guard" -msgstr "" - -#: ../../reference/compound_stmts.rst:738 -msgid "irrefutable case block" -msgstr "" - -#: ../../reference/compound_stmts.rst:738 -msgid "case block" -msgstr "" - -#: ../../reference/compound_stmts.rst:762 -msgid "! patterns" -msgstr "" - -#: ../../reference/compound_stmts.rst:762 -msgid "AS pattern, OR pattern, capture pattern, wildcard pattern" -msgstr "" - -#: ../../reference/compound_stmts.rst:1193 -#: ../../reference/compound_stmts.rst:1282 -msgid "parameter" -msgstr "parameter" - -#: ../../reference/compound_stmts.rst:1193 -#: ../../reference/compound_stmts.rst:1202 -#: ../../reference/compound_stmts.rst:1246 -#: ../../reference/compound_stmts.rst:1282 -#: ../../reference/compound_stmts.rst:1311 -msgid "function definition" -msgstr "" - -#: ../../reference/compound_stmts.rst:1202 -msgid "def" -msgstr "" - -#: ../../reference/compound_stmts.rst:1202 -#: ../../reference/compound_stmts.rst:1332 -msgid "function" -msgstr "fungsi" - -#: ../../reference/compound_stmts.rst:1202 -#: ../../reference/compound_stmts.rst:1390 -msgid "definition" -msgstr "" - -#: ../../reference/compound_stmts.rst:1202 -#: ../../reference/compound_stmts.rst:1390 -msgid "name" -msgstr "nama" - -#: ../../reference/compound_stmts.rst:1202 -#: ../../reference/compound_stmts.rst:1390 -msgid "binding" -msgstr "" - -#: ../../reference/compound_stmts.rst:1202 -msgid "user-defined function" -msgstr "" - -#: ../../reference/compound_stmts.rst:1202 -#: ../../reference/compound_stmts.rst:1390 -msgid "() (parentheses)" -msgstr "" - -#: ../../reference/compound_stmts.rst:1202 -msgid "parameter list" -msgstr "" - -#: ../../reference/compound_stmts.rst:1246 -#: ../../reference/compound_stmts.rst:1440 -msgid "@ (at)" -msgstr "" - -#: ../../reference/compound_stmts.rst:1282 -msgid "default" -msgstr "bawaan" - -#: ../../reference/compound_stmts.rst:1282 -msgid "value" -msgstr "nilai" - -#: ../../reference/compound_stmts.rst:1282 -msgid "argument" -msgstr "argumen" - -#: ../../reference/compound_stmts.rst:1282 -msgid "= (equals)" -msgstr "" - -#: ../../reference/compound_stmts.rst:1311 -msgid "/ (slash)" -msgstr "" - -#: ../../reference/compound_stmts.rst:1311 -msgid "* (asterisk)" -msgstr "" - -#: ../../reference/compound_stmts.rst:1311 -msgid "**" -msgstr "" - -#: ../../reference/compound_stmts.rst:1332 -msgid "annotations" -msgstr "anotasi" - -#: ../../reference/compound_stmts.rst:1332 -msgid "->" -msgstr "" - -#: ../../reference/compound_stmts.rst:1332 -msgid "function annotations" -msgstr "" - -#: ../../reference/compound_stmts.rst:1349 -msgid "lambda" -msgstr "" - -#: ../../reference/compound_stmts.rst:1349 -msgid "expression" -msgstr "ekspresi" - -#: ../../reference/compound_stmts.rst:1390 -msgid "class" -msgstr "kelas" - -#: ../../reference/compound_stmts.rst:1390 -msgid "execution" -msgstr "" - -#: ../../reference/compound_stmts.rst:1390 -msgid "frame" -msgstr "" - -#: ../../reference/compound_stmts.rst:1390 -msgid "inheritance" -msgstr "" - -#: ../../reference/compound_stmts.rst:1390 -msgid "docstring" -msgstr "" - -#: ../../reference/compound_stmts.rst:1390 -#: ../../reference/compound_stmts.rst:1440 -msgid "class definition" -msgstr "" - -#: ../../reference/compound_stmts.rst:1390 -msgid "expression list" -msgstr "" - -#: ../../reference/compound_stmts.rst:1500 -msgid "async def" -msgstr "" - -#: ../../reference/compound_stmts.rst:1510 -msgid "async" -msgstr "" - -#: ../../reference/compound_stmts.rst:1510 -msgid "await" -msgstr "" - -#: ../../reference/compound_stmts.rst:1534 -msgid "async for" -msgstr "" - -#: ../../reference/compound_stmts.rst:1579 -msgid "async with" -msgstr "" - -#: ../../reference/compound_stmts.rst:1636 -msgid "type parameters" -msgstr "" diff --git a/python-newest.reference--datamodel/id.po b/python-newest.reference--datamodel/id.po deleted file mode 100644 index cef9df0..0000000 --- a/python-newest.reference--datamodel/id.po +++ /dev/null @@ -1,5522 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2023 -# Imaduddin A Majid , 2023 -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../reference/datamodel.rst:6 -msgid "Data model" -msgstr "" - -#: ../../reference/datamodel.rst:12 -msgid "Objects, values and types" -msgstr "" - -#: ../../reference/datamodel.rst:18 -msgid "" -":dfn:`Objects` are Python's abstraction for data. All data in a Python " -"program is represented by objects or by relations between objects. (In a " -"sense, and in conformance to Von Neumann's model of a \"stored program " -"computer\", code is also represented by objects.)" -msgstr "" - -#: ../../reference/datamodel.rst:35 -msgid "" -"Every object has an identity, a type and a value. An object's *identity* " -"never changes once it has been created; you may think of it as the object's " -"address in memory. The :keyword:`is` operator compares the identity of two " -"objects; the :func:`id` function returns an integer representing its " -"identity." -msgstr "" - -#: ../../reference/datamodel.rst:42 -msgid "For CPython, ``id(x)`` is the memory address where ``x`` is stored." -msgstr "" - -#: ../../reference/datamodel.rst:44 -msgid "" -"An object's type determines the operations that the object supports (e.g., " -"\"does it have a length?\") and also defines the possible values for objects" -" of that type. The :func:`type` function returns an object's type (which is" -" an object itself). Like its identity, an object's :dfn:`type` is also " -"unchangeable. [#]_" -msgstr "" - -#: ../../reference/datamodel.rst:50 -msgid "" -"The *value* of some objects can change. Objects whose value can change are " -"said to be *mutable*; objects whose value is unchangeable once they are " -"created are called *immutable*. (The value of an immutable container object " -"that contains a reference to a mutable object can change when the latter's " -"value is changed; however the container is still considered immutable, " -"because the collection of objects it contains cannot be changed. So, " -"immutability is not strictly the same as having an unchangeable value, it is" -" more subtle.) An object's mutability is determined by its type; for " -"instance, numbers, strings and tuples are immutable, while dictionaries and " -"lists are mutable." -msgstr "" - -#: ../../reference/datamodel.rst:65 -msgid "" -"Objects are never explicitly destroyed; however, when they become " -"unreachable they may be garbage-collected. An implementation is allowed to " -"postpone garbage collection or omit it altogether --- it is a matter of " -"implementation quality how garbage collection is implemented, as long as no " -"objects are collected that are still reachable." -msgstr "" - -#: ../../reference/datamodel.rst:73 -msgid "" -"CPython currently uses a reference-counting scheme with (optional) delayed " -"detection of cyclically linked garbage, which collects most objects as soon " -"as they become unreachable, but is not guaranteed to collect garbage " -"containing circular references. See the documentation of the :mod:`gc` " -"module for information on controlling the collection of cyclic garbage. " -"Other implementations act differently and CPython may change. Do not depend " -"on immediate finalization of objects when they become unreachable (so you " -"should always close files explicitly)." -msgstr "" - -#: ../../reference/datamodel.rst:82 -msgid "" -"Note that the use of the implementation's tracing or debugging facilities " -"may keep objects alive that would normally be collectable. Also note that " -"catching an exception with a :keyword:`try`...\\ :keyword:`except` statement" -" may keep objects alive." -msgstr "" - -#: ../../reference/datamodel.rst:87 -msgid "" -"Some objects contain references to \"external\" resources such as open files" -" or windows. It is understood that these resources are freed when the " -"object is garbage-collected, but since garbage collection is not guaranteed " -"to happen, such objects also provide an explicit way to release the external" -" resource, usually a :meth:`!close` method. Programs are strongly " -"recommended to explicitly close such objects. The :keyword:`try`...\\ " -":keyword:`finally` statement and the :keyword:`with` statement provide " -"convenient ways to do this." -msgstr "" - -#: ../../reference/datamodel.rst:97 -msgid "" -"Some objects contain references to other objects; these are called " -"*containers*. Examples of containers are tuples, lists and dictionaries. " -"The references are part of a container's value. In most cases, when we talk" -" about the value of a container, we imply the values, not the identities of " -"the contained objects; however, when we talk about the mutability of a " -"container, only the identities of the immediately contained objects are " -"implied. So, if an immutable container (like a tuple) contains a reference " -"to a mutable object, its value changes if that mutable object is changed." -msgstr "" - -#: ../../reference/datamodel.rst:106 -msgid "" -"Types affect almost all aspects of object behavior. Even the importance of " -"object identity is affected in some sense: for immutable types, operations " -"that compute new values may actually return a reference to any existing " -"object with the same type and value, while for mutable objects this is not " -"allowed. For example, after ``a = 1; b = 1``, *a* and *b* may or may not " -"refer to the same object with the value one, depending on the " -"implementation. This is because :class:`int` is an immutable type, so the " -"reference to ``1`` can be reused. This behaviour depends on the " -"implementation used, so should not be relied upon, but is something to be " -"aware of when making use of object identity tests. However, after ``c = []; " -"d = []``, *c* and *d* are guaranteed to refer to two different, unique, " -"newly created empty lists. (Note that ``e = f = []`` assigns the *same* " -"object to both *e* and *f*.)" -msgstr "" - -#: ../../reference/datamodel.rst:124 -msgid "The standard type hierarchy" -msgstr "" - -#: ../../reference/datamodel.rst:133 -msgid "" -"Below is a list of the types that are built into Python. Extension modules " -"(written in C, Java, or other languages, depending on the implementation) " -"can define additional types. Future versions of Python may add types to the" -" type hierarchy (e.g., rational numbers, efficiently stored arrays of " -"integers, etc.), although such additions will often be provided via the " -"standard library instead." -msgstr "" - -#: ../../reference/datamodel.rst:144 -msgid "" -"Some of the type descriptions below contain a paragraph listing 'special " -"attributes.' These are attributes that provide access to the implementation" -" and are not intended for general use. Their definition may change in the " -"future." -msgstr "" - -#: ../../reference/datamodel.rst:150 ../../reference/datamodel.rst:152 -msgid "None" -msgstr "None" - -#: ../../reference/datamodel.rst:154 -msgid "" -"This type has a single value. There is a single object with this value. " -"This object is accessed through the built-in name ``None``. It is used to " -"signify the absence of a value in many situations, e.g., it is returned from" -" functions that don't explicitly return anything. Its truth value is false." -msgstr "" - -#: ../../reference/datamodel.rst:161 ../../reference/datamodel.rst:163 -msgid "NotImplemented" -msgstr "" - -#: ../../reference/datamodel.rst:165 -msgid "" -"This type has a single value. There is a single object with this value. " -"This object is accessed through the built-in name :data:`NotImplemented`. " -"Numeric methods and rich comparison methods should return this value if they" -" do not implement the operation for the operands provided. (The interpreter" -" will then try the reflected operation, or some other fallback, depending on" -" the operator.) It should not be evaluated in a boolean context." -msgstr "" - -#: ../../reference/datamodel.rst:172 -msgid "See :ref:`implementing-the-arithmetic-operations` for more details." -msgstr "" - -#: ../../reference/datamodel.rst:176 -msgid "Evaluating :data:`NotImplemented` in a boolean context was deprecated." -msgstr "" - -#: ../../reference/datamodel.rst:179 -msgid "" -"Evaluating :data:`NotImplemented` in a boolean context now raises a " -":exc:`TypeError`. It previously evaluated to :const:`True` and emitted a " -":exc:`DeprecationWarning` since Python 3.9." -msgstr "" - -#: ../../reference/datamodel.rst:186 ../../reference/datamodel.rst:187 -msgid "Ellipsis" -msgstr "" - -#: ../../reference/datamodel.rst:191 -msgid "" -"This type has a single value. There is a single object with this value. " -"This object is accessed through the literal ``...`` or the built-in name " -"``Ellipsis``. Its truth value is true." -msgstr "" - -#: ../../reference/datamodel.rst:197 -msgid ":class:`numbers.Number`" -msgstr "" - -#: ../../reference/datamodel.rst:201 -msgid "" -"These are created by numeric literals and returned as results by arithmetic " -"operators and arithmetic built-in functions. Numeric objects are immutable;" -" once created their value never changes. Python numbers are of course " -"strongly related to mathematical numbers, but subject to the limitations of " -"numerical representation in computers." -msgstr "" - -#: ../../reference/datamodel.rst:207 -msgid "" -"The string representations of the numeric classes, computed by " -":meth:`~object.__repr__` and :meth:`~object.__str__`, have the following " -"properties:" -msgstr "" - -#: ../../reference/datamodel.rst:211 -msgid "" -"They are valid numeric literals which, when passed to their class " -"constructor, produce an object having the value of the original numeric." -msgstr "" - -#: ../../reference/datamodel.rst:215 -msgid "The representation is in base 10, when possible." -msgstr "" - -#: ../../reference/datamodel.rst:217 -msgid "" -"Leading zeros, possibly excepting a single zero before a decimal point, are " -"not shown." -msgstr "" - -#: ../../reference/datamodel.rst:220 -msgid "" -"Trailing zeros, possibly excepting a single zero after a decimal point, are " -"not shown." -msgstr "" - -#: ../../reference/datamodel.rst:223 -msgid "A sign is shown only when the number is negative." -msgstr "" - -#: ../../reference/datamodel.rst:225 -msgid "" -"Python distinguishes between integers, floating-point numbers, and complex " -"numbers:" -msgstr "" - -#: ../../reference/datamodel.rst:230 -msgid ":class:`numbers.Integral`" -msgstr "" - -#: ../../reference/datamodel.rst:234 -msgid "" -"These represent elements from the mathematical set of integers (positive and" -" negative)." -msgstr "" - -#: ../../reference/datamodel.rst:240 -msgid "" -"The rules for integer representation are intended to give the most " -"meaningful interpretation of shift and mask operations involving negative " -"integers." -msgstr "" - -#: ../../reference/datamodel.rst:243 -msgid "There are two types of integers:" -msgstr "" - -#: ../../reference/datamodel.rst:245 -msgid "Integers (:class:`int`)" -msgstr "" - -#: ../../reference/datamodel.rst:246 -msgid "" -"These represent numbers in an unlimited range, subject to available " -"(virtual) memory only. For the purpose of shift and mask operations, a " -"binary representation is assumed, and negative numbers are represented in a " -"variant of 2's complement which gives the illusion of an infinite string of " -"sign bits extending to the left." -msgstr "" - -#: ../../reference/datamodel.rst:252 -msgid "Booleans (:class:`bool`)" -msgstr "" - -#: ../../reference/datamodel.rst:258 -msgid "" -"These represent the truth values False and True. The two objects " -"representing the values ``False`` and ``True`` are the only Boolean objects." -" The Boolean type is a subtype of the integer type, and Boolean values " -"behave like the values 0 and 1, respectively, in almost all contexts, the " -"exception being that when converted to a string, the strings ``\"False\"`` " -"or ``\"True\"`` are returned, respectively." -msgstr "" - -#: ../../reference/datamodel.rst:266 -msgid ":class:`numbers.Real` (:class:`float`)" -msgstr "" - -#: ../../reference/datamodel.rst:274 -msgid "" -"These represent machine-level double precision floating-point numbers. You " -"are at the mercy of the underlying machine architecture (and C or Java " -"implementation) for the accepted range and handling of overflow. Python does" -" not support single-precision floating-point numbers; the savings in " -"processor and memory usage that are usually the reason for using these are " -"dwarfed by the overhead of using objects in Python, so there is no reason to" -" complicate the language with two kinds of floating-point numbers." -msgstr "" - -#: ../../reference/datamodel.rst:284 -msgid ":class:`numbers.Complex` (:class:`complex`)" -msgstr "" - -#: ../../reference/datamodel.rst:290 -msgid "" -"These represent complex numbers as a pair of machine-level double precision " -"floating-point numbers. The same caveats apply as for floating-point " -"numbers. The real and imaginary parts of a complex number ``z`` can be " -"retrieved through the read-only attributes ``z.real`` and ``z.imag``." -msgstr "" - -#: ../../reference/datamodel.rst:297 -msgid "Sequences" -msgstr "" - -#: ../../reference/datamodel.rst:306 -msgid "" -"These represent finite ordered sets indexed by non-negative numbers. The " -"built-in function :func:`len` returns the number of items of a sequence. " -"When the length of a sequence is *n*, the index set contains the numbers 0, " -"1, ..., *n*-1. Item *i* of sequence *a* is selected by ``a[i]``. Some " -"sequences, including built-in sequences, interpret negative subscripts by " -"adding the sequence length. For example, ``a[-2]`` equals ``a[n-2]``, the " -"second to last item of sequence a with length ``n``." -msgstr "" - -#: ../../reference/datamodel.rst:316 -msgid "" -"Sequences also support slicing: ``a[i:j]`` selects all items with index *k* " -"such that *i* ``<=`` *k* ``<`` *j*. When used as an expression, a slice is " -"a sequence of the same type. The comment above about negative indexes also " -"applies to negative slice positions." -msgstr "" - -#: ../../reference/datamodel.rst:321 -msgid "" -"Some sequences also support \"extended slicing\" with a third \"step\" " -"parameter: ``a[i:j:k]`` selects all items of *a* with index *x* where ``x = " -"i + n*k``, *n* ``>=`` ``0`` and *i* ``<=`` *x* ``<`` *j*." -msgstr "" - -#: ../../reference/datamodel.rst:325 -msgid "Sequences are distinguished according to their mutability:" -msgstr "" - -#: ../../reference/datamodel.rst:329 -msgid "Immutable sequences" -msgstr "" - -#: ../../reference/datamodel.rst:335 -msgid "" -"An object of an immutable sequence type cannot change once it is created. " -"(If the object contains references to other objects, these other objects may" -" be mutable and may be changed; however, the collection of objects directly " -"referenced by an immutable object cannot change.)" -msgstr "" - -#: ../../reference/datamodel.rst:340 -msgid "The following types are immutable sequences:" -msgstr "" - -#: ../../reference/datamodel.rst:345 -msgid "Strings" -msgstr "String" - -#: ../../reference/datamodel.rst:353 -msgid "" -"A string is a sequence of values that represent Unicode code points. All the" -" code points in the range ``U+0000 - U+10FFFF`` can be represented in a " -"string. Python doesn't have a :c:expr:`char` type; instead, every code " -"point in the string is represented as a string object with length ``1``. " -"The built-in function :func:`ord` converts a code point from its string form" -" to an integer in the range ``0 - 10FFFF``; :func:`chr` converts an integer " -"in the range ``0 - 10FFFF`` to the corresponding length ``1`` string object." -" :meth:`str.encode` can be used to convert a :class:`str` to :class:`bytes` " -"using the given text encoding, and :meth:`bytes.decode` can be used to " -"achieve the opposite." -msgstr "" - -#: ../../reference/datamodel.rst:365 -msgid "Tuples" -msgstr "*Tuples*" - -#: ../../reference/datamodel.rst:371 -msgid "" -"The items of a tuple are arbitrary Python objects. Tuples of two or more " -"items are formed by comma-separated lists of expressions. A tuple of one " -"item (a 'singleton') can be formed by affixing a comma to an expression (an " -"expression by itself does not create a tuple, since parentheses must be " -"usable for grouping of expressions). An empty tuple can be formed by an " -"empty pair of parentheses." -msgstr "" - -#: ../../reference/datamodel.rst:378 -msgid "Bytes" -msgstr "Bytes" - -#: ../../reference/datamodel.rst:381 -msgid "" -"A bytes object is an immutable array. The items are 8-bit bytes, " -"represented by integers in the range 0 <= x < 256. Bytes literals (like " -"``b'abc'``) and the built-in :func:`bytes` constructor can be used to create" -" bytes objects. Also, bytes objects can be decoded to strings via the " -":meth:`~bytes.decode` method." -msgstr "" - -#: ../../reference/datamodel.rst:389 -msgid "Mutable sequences" -msgstr "" - -#: ../../reference/datamodel.rst:398 -msgid "" -"Mutable sequences can be changed after they are created. The subscription " -"and slicing notations can be used as the target of assignment and " -":keyword:`del` (delete) statements." -msgstr "" - -#: ../../reference/datamodel.rst:406 -msgid "" -"The :mod:`collections` and :mod:`array` module provide additional examples " -"of mutable sequence types." -msgstr "" - -#: ../../reference/datamodel.rst:409 -msgid "There are currently two intrinsic mutable sequence types:" -msgstr "" - -#: ../../reference/datamodel.rst:411 -msgid "Lists" -msgstr "List" - -#: ../../reference/datamodel.rst:414 -msgid "" -"The items of a list are arbitrary Python objects. Lists are formed by " -"placing a comma-separated list of expressions in square brackets. (Note that" -" there are no special cases needed to form lists of length 0 or 1.)" -msgstr "" - -#: ../../reference/datamodel.rst:418 -msgid "Byte Arrays" -msgstr "" - -#: ../../reference/datamodel.rst:421 -msgid "" -"A bytearray object is a mutable array. They are created by the built-in " -":func:`bytearray` constructor. Aside from being mutable (and hence " -"unhashable), byte arrays otherwise provide the same interface and " -"functionality as immutable :class:`bytes` objects." -msgstr "" - -#: ../../reference/datamodel.rst:428 -msgid "Set types" -msgstr "" - -#: ../../reference/datamodel.rst:434 -msgid "" -"These represent unordered, finite sets of unique, immutable objects. As " -"such, they cannot be indexed by any subscript. However, they can be iterated" -" over, and the built-in function :func:`len` returns the number of items in " -"a set. Common uses for sets are fast membership testing, removing duplicates" -" from a sequence, and computing mathematical operations such as " -"intersection, union, difference, and symmetric difference." -msgstr "" - -#: ../../reference/datamodel.rst:441 -msgid "" -"For set elements, the same immutability rules apply as for dictionary keys. " -"Note that numeric types obey the normal rules for numeric comparison: if two" -" numbers compare equal (e.g., ``1`` and ``1.0``), only one of them can be " -"contained in a set." -msgstr "" - -#: ../../reference/datamodel.rst:446 -msgid "There are currently two intrinsic set types:" -msgstr "" - -#: ../../reference/datamodel.rst:449 -msgid "Sets" -msgstr "Himpunan *Set*" - -#: ../../reference/datamodel.rst:452 -msgid "" -"These represent a mutable set. They are created by the built-in :func:`set` " -"constructor and can be modified afterwards by several methods, such as " -":meth:`~set.add`." -msgstr "" - -#: ../../reference/datamodel.rst:457 -msgid "Frozen sets" -msgstr "" - -#: ../../reference/datamodel.rst:460 -msgid "" -"These represent an immutable set. They are created by the built-in " -":func:`frozenset` constructor. As a frozenset is immutable and " -":term:`hashable`, it can be used again as an element of another set, or as a" -" dictionary key." -msgstr "" - -#: ../../reference/datamodel.rst:467 -msgid "Mappings" -msgstr "" - -#: ../../reference/datamodel.rst:474 -msgid "" -"These represent finite sets of objects indexed by arbitrary index sets. The " -"subscript notation ``a[k]`` selects the item indexed by ``k`` from the " -"mapping ``a``; this can be used in expressions and as the target of " -"assignments or :keyword:`del` statements. The built-in function :func:`len` " -"returns the number of items in a mapping." -msgstr "" - -#: ../../reference/datamodel.rst:480 -msgid "There is currently a single intrinsic mapping type:" -msgstr "" - -#: ../../reference/datamodel.rst:484 -msgid "Dictionaries" -msgstr "Kamus *Dictionaries*" - -#: ../../reference/datamodel.rst:488 -msgid "" -"These represent finite sets of objects indexed by nearly arbitrary values. " -"The only types of values not acceptable as keys are values containing lists " -"or dictionaries or other mutable types that are compared by value rather " -"than by object identity, the reason being that the efficient implementation " -"of dictionaries requires a key's hash value to remain constant. Numeric " -"types used for keys obey the normal rules for numeric comparison: if two " -"numbers compare equal (e.g., ``1`` and ``1.0``) then they can be used " -"interchangeably to index the same dictionary entry." -msgstr "" - -#: ../../reference/datamodel.rst:497 -msgid "" -"Dictionaries preserve insertion order, meaning that keys will be produced in" -" the same order they were added sequentially over the dictionary. Replacing " -"an existing key does not change the order, however removing a key and re-" -"inserting it will add it to the end instead of keeping its old place." -msgstr "" - -#: ../../reference/datamodel.rst:502 -msgid "" -"Dictionaries are mutable; they can be created by the ``{}`` notation (see " -"section :ref:`dict`)." -msgstr "" - -#: ../../reference/datamodel.rst:509 -msgid "" -"The extension modules :mod:`dbm.ndbm` and :mod:`dbm.gnu` provide additional " -"examples of mapping types, as does the :mod:`collections` module." -msgstr "" - -#: ../../reference/datamodel.rst:513 -msgid "" -"Dictionaries did not preserve insertion order in versions of Python before " -"3.6. In CPython 3.6, insertion order was preserved, but it was considered an" -" implementation detail at that time rather than a language guarantee." -msgstr "" - -#: ../../reference/datamodel.rst:520 -msgid "Callable types" -msgstr "" - -#: ../../reference/datamodel.rst:528 -msgid "" -"These are the types to which the function call operation (see section " -":ref:`calls`) can be applied:" -msgstr "" - -#: ../../reference/datamodel.rst:535 -msgid "User-defined functions" -msgstr "" - -#: ../../reference/datamodel.rst:542 -msgid "" -"A user-defined function object is created by a function definition (see " -"section :ref:`function`). It should be called with an argument list " -"containing the same number of items as the function's formal parameter list." -msgstr "" - -#: ../../reference/datamodel.rst:548 ../../reference/datamodel.rst:1429 -#: ../../reference/datamodel.rst:1629 -msgid "Special read-only attributes" -msgstr "" - -#: ../../reference/datamodel.rst:558 ../../reference/datamodel.rst:594 -#: ../../reference/datamodel.rst:1196 -msgid "Attribute" -msgstr "Atribut" - -#: ../../reference/datamodel.rst:559 ../../reference/datamodel.rst:595 -#: ../../reference/datamodel.rst:1197 -msgid "Meaning" -msgstr "Artinya" - -#: ../../reference/datamodel.rst:562 -msgid "" -"A reference to the :class:`dictionary ` that holds the function's " -":ref:`global variables ` -- the global namespace of the module in " -"which the function was defined." -msgstr "" - -#: ../../reference/datamodel.rst:567 -msgid "" -"``None`` or a :class:`tuple` of cells that contain bindings for the names " -"specified in the :attr:`~codeobject.co_freevars` attribute of the function's" -" :attr:`code object `." -msgstr "" - -#: ../../reference/datamodel.rst:571 -msgid "" -"A cell object has the attribute ``cell_contents``. This can be used to get " -"the value of the cell, as well as set the value." -msgstr "" - -#: ../../reference/datamodel.rst:575 ../../reference/datamodel.rst:1671 -msgid "Special writable attributes" -msgstr "" - -#: ../../reference/datamodel.rst:589 -msgid "Most of these attributes check the type of the assigned value:" -msgstr "" - -#: ../../reference/datamodel.rst:598 -msgid "The function's documentation string, or ``None`` if unavailable." -msgstr "" - -#: ../../reference/datamodel.rst:601 -msgid "" -"The function's name. See also: :attr:`__name__ attributes " -"`." -msgstr "" - -#: ../../reference/datamodel.rst:605 -msgid "" -"The function's :term:`qualified name`. See also: :attr:`__qualname__ " -"attributes `." -msgstr "" - -#: ../../reference/datamodel.rst:611 -msgid "" -"The name of the module the function was defined in, or ``None`` if " -"unavailable." -msgstr "" - -#: ../../reference/datamodel.rst:615 -msgid "" -"A :class:`tuple` containing default :term:`parameter` values for those " -"parameters that have defaults, or ``None`` if no parameters have a default " -"value." -msgstr "" - -#: ../../reference/datamodel.rst:620 -msgid "" -"The :ref:`code object ` representing the compiled function " -"body." -msgstr "" - -#: ../../reference/datamodel.rst:624 -msgid "" -"The namespace supporting arbitrary function attributes. See also: " -":attr:`__dict__ attributes `." -msgstr "" - -#: ../../reference/datamodel.rst:628 -msgid "" -"A :class:`dictionary ` containing annotations of :term:`parameters " -"`. The keys of the dictionary are the parameter names, and " -"``'return'`` for the return annotation, if provided. See also: " -":attr:`object.__annotations__`." -msgstr "" - -#: ../../reference/datamodel.rst:634 ../../reference/datamodel.rst:1103 -#: ../../reference/datamodel.rst:1235 -msgid "" -"Annotations are now :ref:`lazily evaluated `. See " -":pep:`649`." -msgstr "" - -#: ../../reference/datamodel.rst:639 -msgid "" -"The :term:`annotate function` for this function, or ``None`` if the function" -" has no annotations. See :attr:`object.__annotate__`." -msgstr "" - -#: ../../reference/datamodel.rst:645 -msgid "" -"A :class:`dictionary ` containing defaults for keyword-only " -":term:`parameters `." -msgstr "" - -#: ../../reference/datamodel.rst:649 -msgid "" -"A :class:`tuple` containing the :ref:`type parameters ` of a " -":ref:`generic function `." -msgstr "" - -#: ../../reference/datamodel.rst:654 -msgid "" -"Function objects also support getting and setting arbitrary attributes, " -"which can be used, for example, to attach metadata to functions. Regular " -"attribute dot-notation is used to get and set such attributes." -msgstr "" - -#: ../../reference/datamodel.rst:660 -msgid "" -"CPython's current implementation only supports function attributes on user-" -"defined functions. Function attributes on :ref:`built-in functions ` may be supported in the future." -msgstr "" - -#: ../../reference/datamodel.rst:665 -msgid "" -"Additional information about a function's definition can be retrieved from " -"its :ref:`code object ` (accessible via the " -":attr:`~function.__code__` attribute)." -msgstr "" - -#: ../../reference/datamodel.rst:673 -msgid "Instance methods" -msgstr "" - -#: ../../reference/datamodel.rst:680 -msgid "" -"An instance method object combines a class, a class instance and any " -"callable object (normally a user-defined function)." -msgstr "" - -#: ../../reference/datamodel.rst:690 ../../reference/datamodel.rst:1767 -msgid "Special read-only attributes:" -msgstr "" - -#: ../../reference/datamodel.rst:695 -msgid "" -"Refers to the class instance object to which the method is :ref:`bound " -"`" -msgstr "" - -#: ../../reference/datamodel.rst:699 -msgid "Refers to the original :ref:`function object `" -msgstr "" - -#: ../../reference/datamodel.rst:702 -msgid "" -"The method's documentation (same as :attr:`method.__func__.__doc__ " -"`). A :class:`string ` if the original function had a" -" docstring, else ``None``." -msgstr "" - -#: ../../reference/datamodel.rst:708 -msgid "" -"The name of the method (same as :attr:`method.__func__.__name__ " -"`)" -msgstr "" - -#: ../../reference/datamodel.rst:712 -msgid "" -"The name of the module the method was defined in, or ``None`` if " -"unavailable." -msgstr "" - -#: ../../reference/datamodel.rst:715 -msgid "" -"Methods also support accessing (but not setting) the arbitrary function " -"attributes on the underlying :ref:`function object `." -msgstr "" - -#: ../../reference/datamodel.rst:718 -msgid "" -"User-defined method objects may be created when getting an attribute of a " -"class (perhaps via an instance of that class), if that attribute is a user-" -"defined :ref:`function object ` or a " -":class:`classmethod` object." -msgstr "" - -#: ../../reference/datamodel.rst:725 -msgid "" -"When an instance method object is created by retrieving a user-defined " -":ref:`function object ` from a class via one of its " -"instances, its :attr:`~method.__self__` attribute is the instance, and the " -"method object is said to be *bound*. The new method's " -":attr:`~method.__func__` attribute is the original function object." -msgstr "" - -#: ../../reference/datamodel.rst:731 -msgid "" -"When an instance method object is created by retrieving a " -":class:`classmethod` object from a class or instance, its " -":attr:`~method.__self__` attribute is the class itself, and its " -":attr:`~method.__func__` attribute is the function object underlying the " -"class method." -msgstr "" - -#: ../../reference/datamodel.rst:736 -msgid "" -"When an instance method object is called, the underlying function " -"(:attr:`~method.__func__`) is called, inserting the class instance " -"(:attr:`~method.__self__`) in front of the argument list. For instance, " -"when :class:`!C` is a class which contains a definition for a function " -":meth:`!f`, and ``x`` is an instance of :class:`!C`, calling ``x.f(1)`` is " -"equivalent to calling ``C.f(x, 1)``." -msgstr "" - -#: ../../reference/datamodel.rst:743 -msgid "" -"When an instance method object is derived from a :class:`classmethod` " -"object, the \"class instance\" stored in :attr:`~method.__self__` will " -"actually be the class itself, so that calling either ``x.f(1)`` or " -"``C.f(1)`` is equivalent to calling ``f(C,1)`` where ``f`` is the underlying" -" function." -msgstr "" - -#: ../../reference/datamodel.rst:748 -msgid "" -"It is important to note that user-defined functions which are attributes of " -"a class instance are not converted to bound methods; this *only* happens " -"when the function is an attribute of the class." -msgstr "" - -#: ../../reference/datamodel.rst:755 -msgid "Generator functions" -msgstr "" - -#: ../../reference/datamodel.rst:761 -msgid "" -"A function or method which uses the :keyword:`yield` statement (see section " -":ref:`yield`) is called a :dfn:`generator function`. Such a function, when " -"called, always returns an :term:`iterator` object which can be used to " -"execute the body of the function: calling the iterator's " -":meth:`iterator.__next__` method will cause the function to execute until it" -" provides a value using the :keyword:`!yield` statement. When the function " -"executes a :keyword:`return` statement or falls off the end, a " -":exc:`StopIteration` exception is raised and the iterator will have reached " -"the end of the set of values to be returned." -msgstr "" - -#: ../../reference/datamodel.rst:773 -msgid "Coroutine functions" -msgstr "" - -#: ../../reference/datamodel.rst:778 -msgid "" -"A function or method which is defined using :keyword:`async def` is called a" -" :dfn:`coroutine function`. Such a function, when called, returns a " -":term:`coroutine` object. It may contain :keyword:`await` expressions, as " -"well as :keyword:`async with` and :keyword:`async for` statements. See also " -"the :ref:`coroutine-objects` section." -msgstr "" - -#: ../../reference/datamodel.rst:786 -msgid "Asynchronous generator functions" -msgstr "" - -#: ../../reference/datamodel.rst:792 -msgid "" -"A function or method which is defined using :keyword:`async def` and which " -"uses the :keyword:`yield` statement is called a :dfn:`asynchronous generator" -" function`. Such a function, when called, returns an :term:`asynchronous " -"iterator` object which can be used in an :keyword:`async for` statement to " -"execute the body of the function." -msgstr "" - -#: ../../reference/datamodel.rst:798 -msgid "" -"Calling the asynchronous iterator's :meth:`aiterator.__anext__ " -"` method will return an :term:`awaitable` which when " -"awaited will execute until it provides a value using the :keyword:`yield` " -"expression. When the function executes an empty :keyword:`return` statement" -" or falls off the end, a :exc:`StopAsyncIteration` exception is raised and " -"the asynchronous iterator will have reached the end of the set of values to " -"be yielded." -msgstr "" - -#: ../../reference/datamodel.rst:811 -msgid "Built-in functions" -msgstr "" - -#: ../../reference/datamodel.rst:818 -msgid "" -"A built-in function object is a wrapper around a C function. Examples of " -"built-in functions are :func:`len` and :func:`math.sin` (:mod:`math` is a " -"standard built-in module). The number and type of the arguments are " -"determined by the C function. Special read-only attributes:" -msgstr "" - -#: ../../reference/datamodel.rst:823 -msgid "" -":attr:`!__doc__` is the function's documentation string, or ``None`` if " -"unavailable. See :attr:`function.__doc__`." -msgstr "" - -#: ../../reference/datamodel.rst:825 -msgid "" -":attr:`!__name__` is the function's name. See :attr:`function.__name__`." -msgstr "" - -#: ../../reference/datamodel.rst:826 -msgid ":attr:`!__self__` is set to ``None`` (but see the next item)." -msgstr "" - -#: ../../reference/datamodel.rst:827 -msgid "" -":attr:`!__module__` is the name of the module the function was defined in or" -" ``None`` if unavailable. See :attr:`function.__module__`." -msgstr "" - -#: ../../reference/datamodel.rst:835 -msgid "Built-in methods" -msgstr "" - -#: ../../reference/datamodel.rst:842 -msgid "" -"This is really a different disguise of a built-in function, this time " -"containing an object passed to the C function as an implicit extra argument." -" An example of a built-in method is ``alist.append()``, assuming *alist* is" -" a list object. In this case, the special read-only attribute " -":attr:`!__self__` is set to the object denoted by *alist*. (The attribute " -"has the same semantics as it does with :attr:`other instance methods " -"`.)" -msgstr "" - -#: ../../reference/datamodel.rst:852 -msgid "Classes" -msgstr "Classes" - -#: ../../reference/datamodel.rst:854 -msgid "" -"Classes are callable. These objects normally act as factories for new " -"instances of themselves, but variations are possible for class types that " -"override :meth:`~object.__new__`. The arguments of the call are passed to " -":meth:`!__new__` and, in the typical case, to :meth:`~object.__init__` to " -"initialize the new instance." -msgstr "" - -#: ../../reference/datamodel.rst:862 -msgid "Class Instances" -msgstr "" - -#: ../../reference/datamodel.rst:864 -msgid "" -"Instances of arbitrary classes can be made callable by defining a " -":meth:`~object.__call__` method in their class." -msgstr "" - -#: ../../reference/datamodel.rst:871 -msgid "Modules" -msgstr "Modul-Modul" - -#: ../../reference/datamodel.rst:877 -msgid "" -"Modules are a basic organizational unit of Python code, and are created by " -"the :ref:`import system ` as invoked either by the " -":keyword:`import` statement, or by calling functions such as " -":func:`importlib.import_module` and built-in :func:`__import__`. A module " -"object has a namespace implemented by a :class:`dictionary ` object " -"(this is the dictionary referenced by the :attr:`~function.__globals__` " -"attribute of functions defined in the module). Attribute references are " -"translated to lookups in this dictionary, e.g., ``m.x`` is equivalent to " -"``m.__dict__[\"x\"]``. A module object does not contain the code object used" -" to initialize the module (since it isn't needed once the initialization is " -"done)." -msgstr "" - -#: ../../reference/datamodel.rst:890 -msgid "" -"Attribute assignment updates the module's namespace dictionary, e.g., ``m.x " -"= 1`` is equivalent to ``m.__dict__[\"x\"] = 1``." -msgstr "" - -#: ../../reference/datamodel.rst:909 -msgid "Import-related attributes on module objects" -msgstr "" - -#: ../../reference/datamodel.rst:911 -msgid "" -"Module objects have the following attributes that relate to the :ref:`import" -" system `. When a module is created using the machinery " -"associated with the import system, these attributes are filled in based on " -"the module's :term:`spec `, before the :term:`loader` executes " -"and loads the module." -msgstr "" - -#: ../../reference/datamodel.rst:917 -msgid "" -"To create a module dynamically rather than using the import system, it's " -"recommended to use :func:`importlib.util.module_from_spec`, which will set " -"the various import-controlled attributes to appropriate values. It's also " -"possible to use the :class:`types.ModuleType` constructor to create modules " -"directly, but this technique is more error-prone, as most attributes must be" -" manually set on the module object after it has been created when using this" -" approach." -msgstr "" - -#: ../../reference/datamodel.rst:927 -msgid "" -"With the exception of :attr:`~module.__name__`, it is **strongly** " -"recommended that you rely on :attr:`~module.__spec__` and its attributes " -"instead of any of the other individual attributes listed in this subsection." -" Note that updating an attribute on :attr:`!__spec__` will not update the " -"corresponding attribute on the module itself:" -msgstr "" - -#: ../../reference/datamodel.rst:933 -msgid "" -">>> import typing\n" -">>> typing.__name__, typing.__spec__.name\n" -"('typing', 'typing')\n" -">>> typing.__spec__.name = 'spelling'\n" -">>> typing.__name__, typing.__spec__.name\n" -"('typing', 'spelling')\n" -">>> typing.__name__ = 'keyboard_smashing'\n" -">>> typing.__name__, typing.__spec__.name\n" -"('keyboard_smashing', 'spelling')" -msgstr "" - -#: ../../reference/datamodel.rst:947 -msgid "" -"The name used to uniquely identify the module in the import system. For a " -"directly executed module, this will be set to ``\"__main__\"``." -msgstr "" - -#: ../../reference/datamodel.rst:950 -msgid "" -"This attribute must be set to the fully qualified name of the module. It is " -"expected to match the value of :attr:`module.__spec__.name " -"`." -msgstr "" - -#: ../../reference/datamodel.rst:956 -msgid "A record of the module's import-system-related state." -msgstr "" - -#: ../../reference/datamodel.rst:958 -msgid "" -"Set to the :class:`module spec ` that was " -"used when importing the module. See :ref:`module-specs` for more details." -msgstr "" - -#: ../../reference/datamodel.rst:965 -msgid "The :term:`package` a module belongs to." -msgstr "" - -#: ../../reference/datamodel.rst:967 -msgid "" -"If the module is top-level (that is, not a part of any specific package) " -"then the attribute should be set to ``''`` (the empty string). Otherwise, it" -" should be set to the name of the module's package (which can be equal to " -":attr:`module.__name__` if the module itself is a package). See :pep:`366` " -"for further details." -msgstr "" - -#: ../../reference/datamodel.rst:973 -msgid "" -"This attribute is used instead of :attr:`~module.__name__` to calculate " -"explicit relative imports for main modules. It defaults to ``None`` for " -"modules created dynamically using the :class:`types.ModuleType` constructor;" -" use :func:`importlib.util.module_from_spec` instead to ensure the attribute" -" is set to a :class:`str`." -msgstr "" - -#: ../../reference/datamodel.rst:979 -msgid "" -"It is **strongly** recommended that you use :attr:`module.__spec__.parent " -"` instead of " -":attr:`!module.__package__`. :attr:`__package__` is now only used as a " -"fallback if :attr:`!__spec__.parent` is not set, and this fallback path is " -"deprecated." -msgstr "" - -#: ../../reference/datamodel.rst:985 ../../reference/datamodel.rst:1026 -msgid "" -"This attribute now defaults to ``None`` for modules created dynamically " -"using the :class:`types.ModuleType` constructor. Previously the attribute " -"was optional." -msgstr "" - -#: ../../reference/datamodel.rst:990 -msgid "" -"The value of :attr:`!__package__` is expected to be the same as " -":attr:`__spec__.parent `. " -":attr:`__package__` is now only used as a fallback during import resolution " -"if :attr:`!__spec__.parent` is not defined." -msgstr "" - -#: ../../reference/datamodel.rst:996 -msgid "" -":exc:`ImportWarning` is raised if an import resolution falls back to " -":attr:`!__package__` instead of :attr:`__spec__.parent " -"`." -msgstr "" - -#: ../../reference/datamodel.rst:1001 -msgid "" -"Raise :exc:`DeprecationWarning` instead of :exc:`ImportWarning` when falling" -" back to :attr:`!__package__` during import resolution." -msgstr "" - -#: ../../reference/datamodel.rst:1005 -msgid "" -":attr:`!__package__` will cease to be set or taken into consideration by the" -" import system or standard library." -msgstr "" - -#: ../../reference/datamodel.rst:1011 -msgid "" -"The :term:`loader` object that the import machinery used to load the module." -msgstr "" - -#: ../../reference/datamodel.rst:1013 -msgid "" -"This attribute is mostly useful for introspection, but can be used for " -"additional loader-specific functionality, for example getting data " -"associated with a loader." -msgstr "" - -#: ../../reference/datamodel.rst:1017 -msgid "" -":attr:`!__loader__` defaults to ``None`` for modules created dynamically " -"using the :class:`types.ModuleType` constructor; use " -":func:`importlib.util.module_from_spec` instead to ensure the attribute is " -"set to a :term:`loader` object." -msgstr "" - -#: ../../reference/datamodel.rst:1022 -msgid "" -"It is **strongly** recommended that you use :attr:`module.__spec__.loader " -"` instead of " -":attr:`!module.__loader__`." -msgstr "" - -#: ../../reference/datamodel.rst:1031 -msgid "" -"Setting :attr:`!__loader__` on a module while failing to set " -":attr:`!__spec__.loader` is deprecated. In Python 3.16, :attr:`!__loader__` " -"will cease to be set or taken into consideration by the import system or the" -" standard library." -msgstr "" - -#: ../../reference/datamodel.rst:1039 -msgid "" -"A (possibly empty) :term:`sequence` of strings enumerating the locations " -"where the package's submodules will be found. Non-package modules should not" -" have a :attr:`!__path__` attribute. See :ref:`package-path-rules` for more " -"details." -msgstr "" - -#: ../../reference/datamodel.rst:1044 -msgid "" -"It is **strongly** recommended that you use " -":attr:`module.__spec__.submodule_search_locations " -"` instead of " -":attr:`!module.__path__`." -msgstr "" - -#: ../../reference/datamodel.rst:1051 -msgid "" -":attr:`!__file__` and :attr:`!__cached__` are both optional attributes that " -"may or may not be set. Both attributes should be a :class:`str` when they " -"are available." -msgstr "" - -#: ../../reference/datamodel.rst:1055 -msgid "" -":attr:`!__file__` indicates the pathname of the file from which the module " -"was loaded (if loaded from a file), or the pathname of the shared library " -"file for extension modules loaded dynamically from a shared library. It " -"might be missing for certain types of modules, such as C modules that are " -"statically linked into the interpreter, and the :ref:`import system " -"` may opt to leave it unset if it has no semantic meaning (for" -" example, a module loaded from a database)." -msgstr "" - -#: ../../reference/datamodel.rst:1063 -msgid "" -"If :attr:`!__file__` is set then the :attr:`!__cached__` attribute might " -"also be set, which is the path to any compiled version of the code (for " -"example, a byte-compiled file). The file does not need to exist to set this " -"attribute; the path can simply point to where the compiled file *would* " -"exist (see :pep:`3147`)." -msgstr "" - -#: ../../reference/datamodel.rst:1069 -msgid "" -"Note that :attr:`!__cached__` may be set even if :attr:`!__file__` is not " -"set. However, that scenario is quite atypical. Ultimately, the " -":term:`loader` is what makes use of the module spec provided by the " -":term:`finder` (from which :attr:`!__file__` and :attr:`!__cached__` are " -"derived). So if a loader can load from a cached module but otherwise does " -"not load from a file, that atypical scenario may be appropriate." -msgstr "" - -#: ../../reference/datamodel.rst:1076 -msgid "" -"It is **strongly** recommended that you use :attr:`module.__spec__.cached " -"` instead of " -":attr:`!module.__cached__`." -msgstr "" - -#: ../../reference/datamodel.rst:1080 -msgid "" -"Setting :attr:`!__cached__` on a module while failing to set " -":attr:`!__spec__.cached` is deprecated. In Python 3.15, :attr:`!__cached__` " -"will cease to be set or taken into consideration by the import system or " -"standard library." -msgstr "" - -#: ../../reference/datamodel.rst:1087 -msgid "Other writable attributes on module objects" -msgstr "" - -#: ../../reference/datamodel.rst:1089 -msgid "" -"As well as the import-related attributes listed above, module objects also " -"have the following writable attributes:" -msgstr "" - -#: ../../reference/datamodel.rst:1094 -msgid "" -"The module's documentation string, or ``None`` if unavailable. See also: " -":attr:`__doc__ attributes `." -msgstr "" - -#: ../../reference/datamodel.rst:1099 -msgid "" -"A dictionary containing :term:`variable annotations ` " -"collected during module body execution. For best practices on working with " -":attr:`!__annotations__`, see :mod:`annotationlib`." -msgstr "" - -#: ../../reference/datamodel.rst:1109 -msgid "" -"The :term:`annotate function` for this module, or ``None`` if the module has" -" no annotations. See also: :attr:`~object.__annotate__` attributes." -msgstr "" - -#: ../../reference/datamodel.rst:1115 -msgid "Module dictionaries" -msgstr "" - -#: ../../reference/datamodel.rst:1117 -msgid "Module objects also have the following special read-only attribute:" -msgstr "" - -#: ../../reference/datamodel.rst:1122 -msgid "" -"The module's namespace as a dictionary object. Uniquely among the attributes" -" listed here, :attr:`!__dict__` cannot be accessed as a global variable from" -" within a module; it can only be accessed as an attribute on module objects." -msgstr "" - -#: ../../reference/datamodel.rst:1128 -msgid "" -"Because of the way CPython clears module dictionaries, the module dictionary" -" will be cleared when the module falls out of scope even if the dictionary " -"still has live references. To avoid this, copy the dictionary or keep the " -"module around while using its dictionary directly." -msgstr "" - -#: ../../reference/datamodel.rst:1137 -msgid "Custom classes" -msgstr "" - -#: ../../reference/datamodel.rst:1139 -msgid "" -"Custom class types are typically created by class definitions (see section " -":ref:`class`). A class has a namespace implemented by a dictionary object. " -"Class attribute references are translated to lookups in this dictionary, " -"e.g., ``C.x`` is translated to ``C.__dict__[\"x\"]`` (although there are a " -"number of hooks which allow for other means of locating attributes). When " -"the attribute name is not found there, the attribute search continues in the" -" base classes. This search of the base classes uses the C3 method resolution" -" order which behaves correctly even in the presence of 'diamond' inheritance" -" structures where there are multiple inheritance paths leading back to a " -"common ancestor. Additional details on the C3 MRO used by Python can be " -"found at :ref:`python_2.3_mro`." -msgstr "" - -#: ../../reference/datamodel.rst:1160 -msgid "" -"When a class attribute reference (for class :class:`!C`, say) would yield a " -"class method object, it is transformed into an instance method object whose " -":attr:`~method.__self__` attribute is :class:`!C`. When it would yield a " -":class:`staticmethod` object, it is transformed into the object wrapped by " -"the static method object. See section :ref:`descriptors` for another way in " -"which attributes retrieved from a class may differ from those actually " -"contained in its :attr:`~object.__dict__`." -msgstr "" - -#: ../../reference/datamodel.rst:1171 -msgid "" -"Class attribute assignments update the class's dictionary, never the " -"dictionary of a base class." -msgstr "" - -#: ../../reference/datamodel.rst:1176 -msgid "" -"A class object can be called (see above) to yield a class instance (see " -"below)." -msgstr "" - -#: ../../reference/datamodel.rst:1179 ../../reference/datamodel.rst:1335 -msgid "Special attributes" -msgstr "" - -#: ../../reference/datamodel.rst:1200 -msgid "" -"The class's name. See also: :attr:`__name__ attributes " -"`." -msgstr "" - -#: ../../reference/datamodel.rst:1204 -msgid "" -"The class's :term:`qualified name`. See also: :attr:`__qualname__ attributes" -" `." -msgstr "" - -#: ../../reference/datamodel.rst:1208 -msgid "The name of the module in which the class was defined." -msgstr "" - -#: ../../reference/datamodel.rst:1211 -msgid "" -"A :class:`mapping proxy ` providing a read-only view" -" of the class's namespace. See also: :attr:`__dict__ attributes " -"`." -msgstr "" - -#: ../../reference/datamodel.rst:1216 -msgid "" -"A :class:`tuple` containing the class's bases. In most cases, for a class " -"defined as ``class X(A, B, C)``, ``X.__bases__`` will be exactly equal to " -"``(A, B, C)``." -msgstr "" - -#: ../../reference/datamodel.rst:1221 -msgid "" -"The class's documentation string, or ``None`` if undefined. Not inherited by" -" subclasses." -msgstr "" - -#: ../../reference/datamodel.rst:1225 -msgid "" -"A dictionary containing :term:`variable annotations ` " -"collected during class body execution. See also: :attr:`__annotations__ " -"attributes `." -msgstr "" - -#: ../../reference/datamodel.rst:1230 -msgid "" -"For best practices on working with :attr:`~object.__annotations__`, please " -"see :mod:`annotationlib`. Where possible, use " -":func:`annotationlib.get_annotations` instead of accessing this attribute " -"directly." -msgstr "" - -#: ../../reference/datamodel.rst:1240 -msgid "" -"The :term:`annotate function` for this class, or ``None`` if the class has " -"no annotations. See also: :attr:`__annotate__ attributes " -"`." -msgstr "" - -#: ../../reference/datamodel.rst:1247 -msgid "" -"A :class:`tuple` containing the :ref:`type parameters ` of a " -":ref:`generic class `." -msgstr "" - -#: ../../reference/datamodel.rst:1253 -msgid "" -"A :class:`tuple` containing names of attributes of this class which are " -"assigned through ``self.X`` from any function in its body." -msgstr "" - -#: ../../reference/datamodel.rst:1259 -msgid "" -"The line number of the first line of the class definition, including " -"decorators. Setting the :attr:`__module__` attribute removes the " -":attr:`!__firstlineno__` item from the type's dictionary." -msgstr "" - -#: ../../reference/datamodel.rst:1267 -msgid "" -"The :class:`tuple` of classes that are considered when looking for base " -"classes during method resolution." -msgstr "" - -#: ../../reference/datamodel.rst:1272 -msgid "Special methods" -msgstr "" - -#: ../../reference/datamodel.rst:1274 -msgid "" -"In addition to the special attributes described above, all Python classes " -"also have the following two methods available:" -msgstr "" - -#: ../../reference/datamodel.rst:1279 -msgid "" -"This method can be overridden by a metaclass to customize the method " -"resolution order for its instances. It is called at class instantiation, " -"and its result is stored in :attr:`~type.__mro__`." -msgstr "" - -#: ../../reference/datamodel.rst:1285 -msgid "" -"Each class keeps a list of weak references to its immediate subclasses. This" -" method returns a list of all those references still alive. The list is in " -"definition order. Example:" -msgstr "" - -#: ../../reference/datamodel.rst:1289 -msgid "" -">>> class A: pass\n" -">>> class B(A): pass\n" -">>> A.__subclasses__()\n" -"[]" -msgstr "" - -#: ../../reference/datamodel.rst:1297 -msgid "Class instances" -msgstr "" - -#: ../../reference/datamodel.rst:1305 -msgid "" -"A class instance is created by calling a class object (see above). A class " -"instance has a namespace implemented as a dictionary which is the first " -"place in which attribute references are searched. When an attribute is not " -"found there, and the instance's class has an attribute by that name, the " -"search continues with the class attributes. If a class attribute is found " -"that is a user-defined function object, it is transformed into an instance " -"method object whose :attr:`~method.__self__` attribute is the instance. " -"Static method and class method objects are also transformed; see above under" -" \"Classes\". See section :ref:`descriptors` for another way in which " -"attributes of a class retrieved via its instances may differ from the " -"objects actually stored in the class's :attr:`~object.__dict__`. If no " -"class attribute is found, and the object's class has a " -":meth:`~object.__getattr__` method, that is called to satisfy the lookup." -msgstr "" - -#: ../../reference/datamodel.rst:1321 -msgid "" -"Attribute assignments and deletions update the instance's dictionary, never " -"a class's dictionary. If the class has a :meth:`~object.__setattr__` or " -":meth:`~object.__delattr__` method, this is called instead of updating the " -"instance dictionary directly." -msgstr "" - -#: ../../reference/datamodel.rst:1331 -msgid "" -"Class instances can pretend to be numbers, sequences, or mappings if they " -"have methods with certain special names. See section :ref:`specialnames`." -msgstr "" - -#: ../../reference/datamodel.rst:1343 -msgid "The class to which a class instance belongs." -msgstr "" - -#: ../../reference/datamodel.rst:1347 -msgid "" -"A dictionary or other mapping object used to store an object's (writable) " -"attributes. Not all instances have a :attr:`!__dict__` attribute; see the " -"section on :ref:`slots` for more details." -msgstr "" - -#: ../../reference/datamodel.rst:1353 -msgid "I/O objects (also known as file objects)" -msgstr "" - -#: ../../reference/datamodel.rst:1368 -msgid "" -"A :term:`file object` represents an open file. Various shortcuts are " -"available to create file objects: the :func:`open` built-in function, and " -"also :func:`os.popen`, :func:`os.fdopen`, and the " -":meth:`~socket.socket.makefile` method of socket objects (and perhaps by " -"other functions or methods provided by extension modules)." -msgstr "" - -#: ../../reference/datamodel.rst:1374 -msgid "" -"The objects ``sys.stdin``, ``sys.stdout`` and ``sys.stderr`` are initialized" -" to file objects corresponding to the interpreter's standard input, output " -"and error streams; they are all open in text mode and therefore follow the " -"interface defined by the :class:`io.TextIOBase` abstract class." -msgstr "" - -#: ../../reference/datamodel.rst:1382 -msgid "Internal types" -msgstr "" - -#: ../../reference/datamodel.rst:1388 -msgid "" -"A few types used internally by the interpreter are exposed to the user. " -"Their definitions may change with future versions of the interpreter, but " -"they are mentioned here for completeness." -msgstr "" - -#: ../../reference/datamodel.rst:1396 -msgid "Code objects" -msgstr "" - -#: ../../reference/datamodel.rst:1400 -msgid "" -"Code objects represent *byte-compiled* executable Python code, or " -":term:`bytecode`. The difference between a code object and a function object" -" is that the function object contains an explicit reference to the " -"function's globals (the module in which it was defined), while a code object" -" contains no context; also the default argument values are stored in the " -"function object, not in the code object (because they represent values " -"calculated at run-time). Unlike function objects, code objects are " -"immutable and contain no references (directly or indirectly) to mutable " -"objects." -msgstr "" - -#: ../../reference/datamodel.rst:1434 -msgid "The function name" -msgstr "" - -#: ../../reference/datamodel.rst:1437 -msgid "The fully qualified function name" -msgstr "" - -#: ../../reference/datamodel.rst:1442 -msgid "" -"The total number of positional :term:`parameters ` (including " -"positional-only parameters and parameters with default values) that the " -"function has" -msgstr "" - -#: ../../reference/datamodel.rst:1447 -msgid "" -"The number of positional-only :term:`parameters ` (including " -"arguments with default values) that the function has" -msgstr "" - -#: ../../reference/datamodel.rst:1451 -msgid "" -"The number of keyword-only :term:`parameters ` (including " -"arguments with default values) that the function has" -msgstr "" - -#: ../../reference/datamodel.rst:1455 -msgid "" -"The number of :ref:`local variables ` used by the function " -"(including parameters)" -msgstr "" - -#: ../../reference/datamodel.rst:1459 -msgid "" -"A :class:`tuple` containing the names of the local variables in the function" -" (starting with the parameter names)" -msgstr "" - -#: ../../reference/datamodel.rst:1463 -msgid "" -"A :class:`tuple` containing the names of :ref:`local variables ` " -"that are referenced from at least one :term:`nested scope` inside the " -"function" -msgstr "" - -#: ../../reference/datamodel.rst:1467 -msgid "" -"A :class:`tuple` containing the names of :term:`free (closure) variables " -"` that a :term:`nested scope` references in an outer " -"scope. See also :attr:`function.__closure__`." -msgstr "" - -#: ../../reference/datamodel.rst:1471 -msgid "Note: references to global and builtin names are *not* included." -msgstr "" - -#: ../../reference/datamodel.rst:1474 -msgid "" -"A string representing the sequence of :term:`bytecode` instructions in the " -"function" -msgstr "" - -#: ../../reference/datamodel.rst:1478 -msgid "" -"A :class:`tuple` containing the literals used by the :term:`bytecode` in the" -" function" -msgstr "" - -#: ../../reference/datamodel.rst:1482 -msgid "" -"A :class:`tuple` containing the names used by the :term:`bytecode` in the " -"function" -msgstr "" - -#: ../../reference/datamodel.rst:1486 -msgid "The name of the file from which the code was compiled" -msgstr "" - -#: ../../reference/datamodel.rst:1489 -msgid "The line number of the first line of the function" -msgstr "" - -#: ../../reference/datamodel.rst:1492 -msgid "" -"A string encoding the mapping from :term:`bytecode` offsets to line numbers." -" For details, see the source code of the interpreter." -msgstr "" - -#: ../../reference/datamodel.rst:1495 -msgid "" -"This attribute of code objects is deprecated, and may be removed in Python " -"3.15." -msgstr "" - -#: ../../reference/datamodel.rst:1500 -msgid "The required stack size of the code object" -msgstr "" - -#: ../../reference/datamodel.rst:1503 -msgid "" -"An :class:`integer ` encoding a number of flags for the interpreter." -msgstr "" - -#: ../../reference/datamodel.rst:1508 -msgid "" -"The following flag bits are defined for :attr:`~codeobject.co_flags`: bit " -"``0x04`` is set if the function uses the ``*arguments`` syntax to accept an " -"arbitrary number of positional arguments; bit ``0x08`` is set if the " -"function uses the ``**keywords`` syntax to accept arbitrary keyword " -"arguments; bit ``0x20`` is set if the function is a generator. See " -":ref:`inspect-module-co-flags` for details on the semantics of each flags " -"that might be present." -msgstr "" - -#: ../../reference/datamodel.rst:1516 -msgid "" -"Future feature declarations (for example, ``from __future__ import " -"division``) also use bits in :attr:`~codeobject.co_flags` to indicate " -"whether a code object was compiled with a particular feature enabled. See " -":attr:`~__future__._Feature.compiler_flag`." -msgstr "" - -#: ../../reference/datamodel.rst:1520 -msgid "" -"Other bits in :attr:`~codeobject.co_flags` are reserved for internal use." -msgstr "" - -#: ../../reference/datamodel.rst:1524 -msgid "" -"If a code object represents a function and has a docstring, the " -":data:`~inspect.CO_HAS_DOCSTRING` bit is set in :attr:`~codeobject.co_flags`" -" and the first item in :attr:`~codeobject.co_consts` is the docstring of the" -" function." -msgstr "" - -#: ../../reference/datamodel.rst:1530 -msgid "Methods on code objects" -msgstr "" - -#: ../../reference/datamodel.rst:1534 -msgid "" -"Returns an iterable over the source code positions of each :term:`bytecode` " -"instruction in the code object." -msgstr "" - -#: ../../reference/datamodel.rst:1537 -msgid "" -"The iterator returns :class:`tuple`\\s containing the ``(start_line, " -"end_line, start_column, end_column)``. The *i-th* tuple corresponds to the " -"position of the source code that compiled to the *i-th* code unit. Column " -"information is 0-indexed utf-8 byte offsets on the given source line." -msgstr "" - -#: ../../reference/datamodel.rst:1543 -msgid "" -"This positional information can be missing. A non-exhaustive lists of cases " -"where this may happen:" -msgstr "" - -#: ../../reference/datamodel.rst:1546 -msgid "Running the interpreter with :option:`-X` ``no_debug_ranges``." -msgstr "" - -#: ../../reference/datamodel.rst:1547 -msgid "" -"Loading a pyc file compiled while using :option:`-X` ``no_debug_ranges``." -msgstr "" - -#: ../../reference/datamodel.rst:1548 -msgid "Position tuples corresponding to artificial instructions." -msgstr "" - -#: ../../reference/datamodel.rst:1549 -msgid "" -"Line and column numbers that can't be represented due to implementation " -"specific limitations." -msgstr "" - -#: ../../reference/datamodel.rst:1552 -msgid "" -"When this occurs, some or all of the tuple elements can be :const:`None`." -msgstr "" - -#: ../../reference/datamodel.rst:1558 -msgid "" -"This feature requires storing column positions in code objects which may " -"result in a small increase of disk usage of compiled Python files or " -"interpreter memory usage. To avoid storing the extra information and/or " -"deactivate printing the extra traceback information, the :option:`-X` " -"``no_debug_ranges`` command line flag or the :envvar:`PYTHONNODEBUGRANGES` " -"environment variable can be used." -msgstr "" - -#: ../../reference/datamodel.rst:1567 -msgid "" -"Returns an iterator that yields information about successive ranges of " -":term:`bytecode`\\s. Each item yielded is a ``(start, end, lineno)`` " -":class:`tuple`:" -msgstr "" - -#: ../../reference/datamodel.rst:1571 -msgid "" -"``start`` (an :class:`int`) represents the offset (inclusive) of the start " -"of the :term:`bytecode` range" -msgstr "" - -#: ../../reference/datamodel.rst:1573 -msgid "" -"``end`` (an :class:`int`) represents the offset (exclusive) of the end of " -"the :term:`bytecode` range" -msgstr "" - -#: ../../reference/datamodel.rst:1575 -msgid "" -"``lineno`` is an :class:`int` representing the line number of the " -":term:`bytecode` range, or ``None`` if the bytecodes in the given range have" -" no line number" -msgstr "" - -#: ../../reference/datamodel.rst:1579 -msgid "The items yielded will have the following properties:" -msgstr "" - -#: ../../reference/datamodel.rst:1581 -msgid "The first range yielded will have a ``start`` of 0." -msgstr "" - -#: ../../reference/datamodel.rst:1582 -msgid "" -"The ``(start, end)`` ranges will be non-decreasing and consecutive. That is," -" for any pair of :class:`tuple`\\s, the ``start`` of the second will be " -"equal to the ``end`` of the first." -msgstr "" - -#: ../../reference/datamodel.rst:1585 -msgid "No range will be backwards: ``end >= start`` for all triples." -msgstr "" - -#: ../../reference/datamodel.rst:1586 -msgid "" -"The last :class:`tuple` yielded will have ``end`` equal to the size of the " -":term:`bytecode`." -msgstr "" - -#: ../../reference/datamodel.rst:1589 -msgid "" -"Zero-width ranges, where ``start == end``, are allowed. Zero-width ranges " -"are used for lines that are present in the source code, but have been " -"eliminated by the :term:`bytecode` compiler." -msgstr "" - -#: ../../reference/datamodel.rst:1597 -msgid ":pep:`626` - Precise line numbers for debugging and other tools." -msgstr "" - -#: ../../reference/datamodel.rst:1598 -msgid "The PEP that introduced the :meth:`!co_lines` method." -msgstr "" - -#: ../../reference/datamodel.rst:1602 -msgid "" -"Return a copy of the code object with new values for the specified fields." -msgstr "" - -#: ../../reference/datamodel.rst:1604 -msgid "" -"Code objects are also supported by the generic function " -":func:`copy.replace`." -msgstr "" - -#: ../../reference/datamodel.rst:1612 -msgid "Frame objects" -msgstr "" - -#: ../../reference/datamodel.rst:1616 -msgid "" -"Frame objects represent execution frames. They may occur in :ref:`traceback" -" objects `, and are also passed to registered trace " -"functions." -msgstr "" - -#: ../../reference/datamodel.rst:1634 -msgid "" -"Points to the previous stack frame (towards the caller), or ``None`` if this" -" is the bottom stack frame" -msgstr "" - -#: ../../reference/datamodel.rst:1638 -msgid "" -"The :ref:`code object ` being executed in this frame. " -"Accessing this attribute raises an :ref:`auditing event ` " -"``object.__getattr__`` with arguments ``obj`` and ``\"f_code\"``." -msgstr "" - -#: ../../reference/datamodel.rst:1643 -msgid "" -"The mapping used by the frame to look up :ref:`local variables `. If" -" the frame refers to an :term:`optimized scope`, this may return a write-" -"through proxy object." -msgstr "" - -#: ../../reference/datamodel.rst:1648 -msgid "Return a proxy for optimized scopes." -msgstr "" - -#: ../../reference/datamodel.rst:1652 -msgid "" -"The dictionary used by the frame to look up :ref:`global variables `" -msgstr "" - -#: ../../reference/datamodel.rst:1656 -msgid "" -"The dictionary used by the frame to look up :ref:`built-in (intrinsic) names" -" `" -msgstr "" - -#: ../../reference/datamodel.rst:1660 -msgid "" -"The \"precise instruction\" of the frame object (this is an index into the " -":term:`bytecode` string of the :ref:`code object `)" -msgstr "" - -#: ../../reference/datamodel.rst:1676 -msgid "" -"If not ``None``, this is a function called for various events during code " -"execution (this is used by debuggers). Normally an event is triggered for " -"each new source line (see :attr:`~frame.f_trace_lines`)." -msgstr "" - -#: ../../reference/datamodel.rst:1681 -msgid "" -"Set this attribute to :const:`False` to disable triggering a tracing event " -"for each source line." -msgstr "" - -#: ../../reference/datamodel.rst:1685 -msgid "" -"Set this attribute to :const:`True` to allow per-opcode events to be " -"requested. Note that this may lead to undefined interpreter behaviour if " -"exceptions raised by the trace function escape to the function being traced." -msgstr "" - -#: ../../reference/datamodel.rst:1691 -msgid "" -"The current line number of the frame -- writing to this from within a trace " -"function jumps to the given line (only for the bottom-most frame). A " -"debugger can implement a Jump command (aka Set Next Statement) by writing to" -" this attribute." -msgstr "" - -#: ../../reference/datamodel.rst:1697 -msgid "Frame object methods" -msgstr "" - -#: ../../reference/datamodel.rst:1699 -msgid "Frame objects support one method:" -msgstr "" - -#: ../../reference/datamodel.rst:1703 -msgid "" -"This method clears all references to :ref:`local variables ` held by" -" the frame. Also, if the frame belonged to a :term:`generator`, the " -"generator is finalized. This helps break reference cycles involving frame " -"objects (for example when catching an :ref:`exception ` " -"and storing its :ref:`traceback ` for later use)." -msgstr "" - -#: ../../reference/datamodel.rst:1709 -msgid "" -":exc:`RuntimeError` is raised if the frame is currently executing or " -"suspended." -msgstr "" - -#: ../../reference/datamodel.rst:1714 -msgid "" -"Attempting to clear a suspended frame raises :exc:`RuntimeError` (as has " -"always been the case for executing frames)." -msgstr "" - -#: ../../reference/datamodel.rst:1722 -msgid "Traceback objects" -msgstr "" - -#: ../../reference/datamodel.rst:1735 -msgid "" -"Traceback objects represent the stack trace of an :ref:`exception `. A traceback object is implicitly created when an exception occurs," -" and may also be explicitly created by calling :class:`types.TracebackType`." -msgstr "" - -#: ../../reference/datamodel.rst:1740 -msgid "Traceback objects can now be explicitly instantiated from Python code." -msgstr "" - -#: ../../reference/datamodel.rst:1743 -msgid "" -"For implicitly created tracebacks, when the search for an exception handler " -"unwinds the execution stack, at each unwound level a traceback object is " -"inserted in front of the current traceback. When an exception handler is " -"entered, the stack trace is made available to the program. (See section " -":ref:`try`.) It is accessible as the third item of the tuple returned by " -":func:`sys.exc_info`, and as the :attr:`~BaseException.__traceback__` " -"attribute of the caught exception." -msgstr "" - -#: ../../reference/datamodel.rst:1752 -msgid "" -"When the program contains no suitable handler, the stack trace is written " -"(nicely formatted) to the standard error stream; if the interpreter is " -"interactive, it is also made available to the user as " -":data:`sys.last_traceback`." -msgstr "" - -#: ../../reference/datamodel.rst:1757 -msgid "" -"For explicitly created tracebacks, it is up to the creator of the traceback " -"to determine how the :attr:`~traceback.tb_next` attributes should be linked " -"to form a full stack trace." -msgstr "" - -#: ../../reference/datamodel.rst:1772 -msgid "" -"Points to the execution :ref:`frame ` of the current level." -msgstr "" - -#: ../../reference/datamodel.rst:1775 -msgid "" -"Accessing this attribute raises an :ref:`auditing event ` " -"``object.__getattr__`` with arguments ``obj`` and ``\"tb_frame\"``." -msgstr "" - -#: ../../reference/datamodel.rst:1780 -msgid "Gives the line number where the exception occurred" -msgstr "" - -#: ../../reference/datamodel.rst:1783 -msgid "Indicates the \"precise instruction\"." -msgstr "" - -#: ../../reference/datamodel.rst:1785 -msgid "" -"The line number and last instruction in the traceback may differ from the " -"line number of its :ref:`frame object ` if the exception " -"occurred in a :keyword:`try` statement with no matching except clause or " -"with a :keyword:`finally` clause." -msgstr "" - -#: ../../reference/datamodel.rst:1796 -msgid "" -"The special writable attribute :attr:`!tb_next` is the next level in the " -"stack trace (towards the frame where the exception occurred), or ``None`` if" -" there is no next level." -msgstr "" - -#: ../../reference/datamodel.rst:1800 -msgid "This attribute is now writable" -msgstr "" - -#: ../../reference/datamodel.rst:1805 -msgid "Slice objects" -msgstr "" - -#: ../../reference/datamodel.rst:1809 -msgid "" -"Slice objects are used to represent slices for :meth:`~object.__getitem__` " -"methods. They are also created by the built-in :func:`slice` function." -msgstr "" - -#: ../../reference/datamodel.rst:1818 -msgid "" -"Special read-only attributes: :attr:`~slice.start` is the lower bound; " -":attr:`~slice.stop` is the upper bound; :attr:`~slice.step` is the step " -"value; each is ``None`` if omitted. These attributes can have any type." -msgstr "" - -#: ../../reference/datamodel.rst:1822 -msgid "Slice objects support one method:" -msgstr "" - -#: ../../reference/datamodel.rst:1826 -msgid "" -"This method takes a single integer argument *length* and computes " -"information about the slice that the slice object would describe if applied " -"to a sequence of *length* items. It returns a tuple of three integers; " -"respectively these are the *start* and *stop* indices and the *step* or " -"stride length of the slice. Missing or out-of-bounds indices are handled in " -"a manner consistent with regular slices." -msgstr "" - -#: ../../reference/datamodel.rst:1835 -msgid "Static method objects" -msgstr "" - -#: ../../reference/datamodel.rst:1837 -msgid "" -"Static method objects provide a way of defeating the transformation of " -"function objects to method objects described above. A static method object " -"is a wrapper around any other object, usually a user-defined method object. " -"When a static method object is retrieved from a class or a class instance, " -"the object actually returned is the wrapped object, which is not subject to " -"any further transformation. Static method objects are also callable. Static " -"method objects are created by the built-in :func:`staticmethod` constructor." -msgstr "" - -#: ../../reference/datamodel.rst:1847 -msgid "Class method objects" -msgstr "" - -#: ../../reference/datamodel.rst:1849 -msgid "" -"A class method object, like a static method object, is a wrapper around " -"another object that alters the way in which that object is retrieved from " -"classes and class instances. The behaviour of class method objects upon such" -" retrieval is described above, under :ref:`\"instance methods\" `. Class method objects are created by the built-in " -":func:`classmethod` constructor." -msgstr "" - -#: ../../reference/datamodel.rst:1859 -msgid "Special method names" -msgstr "" - -#: ../../reference/datamodel.rst:1865 -msgid "" -"A class can implement certain operations that are invoked by special syntax " -"(such as arithmetic operations or subscripting and slicing) by defining " -"methods with special names. This is Python's approach to :dfn:`operator " -"overloading`, allowing classes to define their own behavior with respect to " -"language operators. For instance, if a class defines a method named " -":meth:`~object.__getitem__`, and ``x`` is an instance of this class, then " -"``x[i]`` is roughly equivalent to ``type(x).__getitem__(x, i)``. Except " -"where mentioned, attempts to execute an operation raise an exception when no" -" appropriate method is defined (typically :exc:`AttributeError` or " -":exc:`TypeError`)." -msgstr "" - -#: ../../reference/datamodel.rst:1876 -msgid "" -"Setting a special method to ``None`` indicates that the corresponding " -"operation is not available. For example, if a class sets " -":meth:`~object.__iter__` to ``None``, the class is not iterable, so calling " -":func:`iter` on its instances will raise a :exc:`TypeError` (without falling" -" back to :meth:`~object.__getitem__`). [#]_" -msgstr "" - -#: ../../reference/datamodel.rst:1882 -msgid "" -"When implementing a class that emulates any built-in type, it is important " -"that the emulation only be implemented to the degree that it makes sense for" -" the object being modelled. For example, some sequences may work well with " -"retrieval of individual elements, but extracting a slice may not make sense." -" (One example of this is the :class:`~xml.dom.NodeList` interface in the " -"W3C's Document Object Model.)" -msgstr "" - -#: ../../reference/datamodel.rst:1893 -msgid "Basic customization" -msgstr "" - -#: ../../reference/datamodel.rst:1899 -msgid "" -"Called to create a new instance of class *cls*. :meth:`__new__` is a static" -" method (special-cased so you need not declare it as such) that takes the " -"class of which an instance was requested as its first argument. The " -"remaining arguments are those passed to the object constructor expression " -"(the call to the class). The return value of :meth:`__new__` should be the " -"new object instance (usually an instance of *cls*)." -msgstr "" - -#: ../../reference/datamodel.rst:1906 -msgid "" -"Typical implementations create a new instance of the class by invoking the " -"superclass's :meth:`__new__` method using ``super().__new__(cls[, ...])`` " -"with appropriate arguments and then modifying the newly created instance as " -"necessary before returning it." -msgstr "" - -#: ../../reference/datamodel.rst:1911 -msgid "" -"If :meth:`__new__` is invoked during object construction and it returns an " -"instance of *cls*, then the new instance’s :meth:`__init__` method will be " -"invoked like ``__init__(self[, ...])``, where *self* is the new instance and" -" the remaining arguments are the same as were passed to the object " -"constructor." -msgstr "" - -#: ../../reference/datamodel.rst:1916 -msgid "" -"If :meth:`__new__` does not return an instance of *cls*, then the new " -"instance's :meth:`__init__` method will not be invoked." -msgstr "" - -#: ../../reference/datamodel.rst:1919 -msgid "" -":meth:`__new__` is intended mainly to allow subclasses of immutable types " -"(like int, str, or tuple) to customize instance creation. It is also " -"commonly overridden in custom metaclasses in order to customize class " -"creation." -msgstr "" - -#: ../../reference/datamodel.rst:1928 -msgid "" -"Called after the instance has been created (by :meth:`__new__`), but before " -"it is returned to the caller. The arguments are those passed to the class " -"constructor expression. If a base class has an :meth:`__init__` method, the" -" derived class's :meth:`__init__` method, if any, must explicitly call it to" -" ensure proper initialization of the base class part of the instance; for " -"example: ``super().__init__([args...])``." -msgstr "" - -#: ../../reference/datamodel.rst:1935 -msgid "" -"Because :meth:`__new__` and :meth:`__init__` work together in constructing " -"objects (:meth:`__new__` to create it, and :meth:`__init__` to customize " -"it), no non-``None`` value may be returned by :meth:`__init__`; doing so " -"will cause a :exc:`TypeError` to be raised at runtime." -msgstr "" - -#: ../../reference/datamodel.rst:1948 -msgid "" -"Called when the instance is about to be destroyed. This is also called a " -"finalizer or (improperly) a destructor. If a base class has a " -":meth:`__del__` method, the derived class's :meth:`__del__` method, if any, " -"must explicitly call it to ensure proper deletion of the base class part of " -"the instance." -msgstr "" - -#: ../../reference/datamodel.rst:1954 -msgid "" -"It is possible (though not recommended!) for the :meth:`__del__` method to " -"postpone destruction of the instance by creating a new reference to it. " -"This is called object *resurrection*. It is implementation-dependent " -"whether :meth:`__del__` is called a second time when a resurrected object is" -" about to be destroyed; the current :term:`CPython` implementation only " -"calls it once." -msgstr "" - -#: ../../reference/datamodel.rst:1961 -msgid "" -"It is not guaranteed that :meth:`__del__` methods are called for objects " -"that still exist when the interpreter exits. :class:`weakref.finalize` " -"provides a straightforward way to register a cleanup function to be called " -"when an object is garbage collected." -msgstr "" - -#: ../../reference/datamodel.rst:1968 -msgid "" -"``del x`` doesn't directly call ``x.__del__()`` --- the former decrements " -"the reference count for ``x`` by one, and the latter is only called when " -"``x``'s reference count reaches zero." -msgstr "" - -#: ../../reference/datamodel.rst:1973 -msgid "" -"It is possible for a reference cycle to prevent the reference count of an " -"object from going to zero. In this case, the cycle will be later detected " -"and deleted by the :term:`cyclic garbage collector `. A" -" common cause of reference cycles is when an exception has been caught in a " -"local variable. The frame's locals then reference the exception, which " -"references its own traceback, which references the locals of all frames " -"caught in the traceback." -msgstr "" - -#: ../../reference/datamodel.rst:1983 -msgid "Documentation for the :mod:`gc` module." -msgstr "" - -#: ../../reference/datamodel.rst:1987 -msgid "" -"Due to the precarious circumstances under which :meth:`__del__` methods are " -"invoked, exceptions that occur during their execution are ignored, and a " -"warning is printed to ``sys.stderr`` instead. In particular:" -msgstr "" - -#: ../../reference/datamodel.rst:1991 -msgid "" -":meth:`__del__` can be invoked when arbitrary code is being executed, " -"including from any arbitrary thread. If :meth:`__del__` needs to take a " -"lock or invoke any other blocking resource, it may deadlock as the resource " -"may already be taken by the code that gets interrupted to execute " -":meth:`__del__`." -msgstr "" - -#: ../../reference/datamodel.rst:1997 -msgid "" -":meth:`__del__` can be executed during interpreter shutdown. As a " -"consequence, the global variables it needs to access (including other " -"modules) may already have been deleted or set to ``None``. Python guarantees" -" that globals whose name begins with a single underscore are deleted from " -"their module before other globals are deleted; if no other references to " -"such globals exist, this may help in assuring that imported modules are " -"still available at the time when the :meth:`__del__` method is called." -msgstr "" - -#: ../../reference/datamodel.rst:2012 -msgid "" -"Called by the :func:`repr` built-in function to compute the \"official\" " -"string representation of an object. If at all possible, this should look " -"like a valid Python expression that could be used to recreate an object with" -" the same value (given an appropriate environment). If this is not " -"possible, a string of the form ``<...some useful description...>`` should be" -" returned. The return value must be a string object. If a class defines " -":meth:`__repr__` but not :meth:`__str__`, then :meth:`__repr__` is also used" -" when an \"informal\" string representation of instances of that class is " -"required." -msgstr "" - -#: ../../reference/datamodel.rst:2021 -msgid "" -"This is typically used for debugging, so it is important that the " -"representation is information-rich and unambiguous. A default implementation" -" is provided by the :class:`object` class itself." -msgstr "" - -#: ../../reference/datamodel.rst:2033 -msgid "" -"Called by :func:`str(object) `, the default :meth:`__format__` " -"implementation, and the built-in function :func:`print`, to compute the " -"\"informal\" or nicely printable string representation of an object. The " -"return value must be a :ref:`str ` object." -msgstr "" - -#: ../../reference/datamodel.rst:2038 -msgid "" -"This method differs from :meth:`object.__repr__` in that there is no " -"expectation that :meth:`__str__` return a valid Python expression: a more " -"convenient or concise representation can be used." -msgstr "" - -#: ../../reference/datamodel.rst:2042 -msgid "" -"The default implementation defined by the built-in type :class:`object` " -"calls :meth:`object.__repr__`." -msgstr "" - -#: ../../reference/datamodel.rst:2052 -msgid "" -"Called by :ref:`bytes ` to compute a byte-string representation " -"of an object. This should return a :class:`bytes` object. The " -":class:`object` class itself does not provide this method." -msgstr "" - -#: ../../reference/datamodel.rst:2064 -msgid "" -"Called by the :func:`format` built-in function, and by extension, evaluation" -" of :ref:`formatted string literals ` and the :meth:`str.format` " -"method, to produce a \"formatted\" string representation of an object. The " -"*format_spec* argument is a string that contains a description of the " -"formatting options desired. The interpretation of the *format_spec* argument" -" is up to the type implementing :meth:`__format__`, however most classes " -"will either delegate formatting to one of the built-in types, or use a " -"similar formatting option syntax." -msgstr "" - -#: ../../reference/datamodel.rst:2074 -msgid "" -"See :ref:`formatspec` for a description of the standard formatting syntax." -msgstr "" - -#: ../../reference/datamodel.rst:2076 -msgid "The return value must be a string object." -msgstr "" - -#: ../../reference/datamodel.rst:2078 -msgid "" -"The default implementation by the :class:`object` class should be given an " -"empty *format_spec* string. It delegates to :meth:`__str__`." -msgstr "" - -#: ../../reference/datamodel.rst:2081 -msgid "" -"The __format__ method of ``object`` itself raises a :exc:`TypeError` if " -"passed any non-empty string." -msgstr "" - -#: ../../reference/datamodel.rst:2085 -msgid "" -"``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than " -"``format(str(x), '')``." -msgstr "" - -#: ../../reference/datamodel.rst:2101 -msgid "" -"These are the so-called \"rich comparison\" methods. The correspondence " -"between operator symbols and method names is as follows: ``xy`` calls " -"``x.__gt__(y)``, and ``x>=y`` calls ``x.__ge__(y)``." -msgstr "" - -#: ../../reference/datamodel.rst:2107 -msgid "" -"A rich comparison method may return the singleton :data:`NotImplemented` if " -"it does not implement the operation for a given pair of arguments. By " -"convention, ``False`` and ``True`` are returned for a successful comparison." -" However, these methods can return any value, so if the comparison operator " -"is used in a Boolean context (e.g., in the condition of an ``if`` " -"statement), Python will call :func:`bool` on the value to determine if the " -"result is true or false." -msgstr "" - -#: ../../reference/datamodel.rst:2114 -msgid "" -"By default, ``object`` implements :meth:`__eq__` by using ``is``, returning " -":data:`NotImplemented` in the case of a false comparison: ``True if x is y " -"else NotImplemented``. For :meth:`__ne__`, by default it delegates to " -":meth:`__eq__` and inverts the result unless it is :data:`!NotImplemented`." -" There are no other implied relationships among the comparison operators or" -" default implementations; for example, the truth of ``(x.__hash__``." -msgstr "" - -#: ../../reference/datamodel.rst:2199 -msgid "" -"If a class that does not override :meth:`__eq__` wishes to suppress hash " -"support, it should include ``__hash__ = None`` in the class definition. A " -"class which defines its own :meth:`__hash__` that explicitly raises a " -":exc:`TypeError` would be incorrectly identified as hashable by an " -"``isinstance(obj, collections.abc.Hashable)`` call." -msgstr "" - -#: ../../reference/datamodel.rst:2208 -msgid "" -"By default, the :meth:`__hash__` values of str and bytes objects are " -"\"salted\" with an unpredictable random value. Although they remain " -"constant within an individual Python process, they are not predictable " -"between repeated invocations of Python." -msgstr "" - -#: ../../reference/datamodel.rst:2213 -msgid "" -"This is intended to provide protection against a denial-of-service caused by" -" carefully chosen inputs that exploit the worst case performance of a dict " -"insertion, *O*\\ (*n*\\ :sup:`2`) complexity. See " -"http://ocert.org/advisories/ocert-2011-003.html for details." -msgstr "" - -#: ../../reference/datamodel.rst:2218 -msgid "" -"Changing hash values affects the iteration order of sets. Python has never " -"made guarantees about this ordering (and it typically varies between 32-bit " -"and 64-bit builds)." -msgstr "" - -#: ../../reference/datamodel.rst:2222 -msgid "See also :envvar:`PYTHONHASHSEED`." -msgstr "" - -#: ../../reference/datamodel.rst:2224 -msgid "Hash randomization is enabled by default." -msgstr "" - -#: ../../reference/datamodel.rst:2232 -msgid "" -"Called to implement truth value testing and the built-in operation " -"``bool()``; should return ``False`` or ``True``. When this method is not " -"defined, :meth:`~object.__len__` is called, if it is defined, and the object" -" is considered true if its result is nonzero. If a class defines neither " -":meth:`!__len__` nor :meth:`!__bool__` (which is true of the :class:`object`" -" class itself), all its instances are considered true." -msgstr "" - -#: ../../reference/datamodel.rst:2243 -msgid "Customizing attribute access" -msgstr "" - -#: ../../reference/datamodel.rst:2245 -msgid "" -"The following methods can be defined to customize the meaning of attribute " -"access (use of, assignment to, or deletion of ``x.name``) for class " -"instances." -msgstr "" - -#: ../../reference/datamodel.rst:2253 -msgid "" -"Called when the default attribute access fails with an :exc:`AttributeError`" -" (either :meth:`__getattribute__` raises an :exc:`AttributeError` because " -"*name* is not an instance attribute or an attribute in the class tree for " -"``self``; or :meth:`__get__` of a *name* property raises " -":exc:`AttributeError`). This method should either return the (computed) " -"attribute value or raise an :exc:`AttributeError` exception. The " -":class:`object` class itself does not provide this method." -msgstr "" - -#: ../../reference/datamodel.rst:2261 -msgid "" -"Note that if the attribute is found through the normal mechanism, " -":meth:`__getattr__` is not called. (This is an intentional asymmetry " -"between :meth:`__getattr__` and :meth:`__setattr__`.) This is done both for " -"efficiency reasons and because otherwise :meth:`__getattr__` would have no " -"way to access other attributes of the instance. Note that at least for " -"instance variables, you can take total control by not inserting any values " -"in the instance attribute dictionary (but instead inserting them in another " -"object). See the :meth:`__getattribute__` method below for a way to " -"actually get total control over attribute access." -msgstr "" - -#: ../../reference/datamodel.rst:2274 -msgid "" -"Called unconditionally to implement attribute accesses for instances of the " -"class. If the class also defines :meth:`__getattr__`, the latter will not be" -" called unless :meth:`__getattribute__` either calls it explicitly or raises" -" an :exc:`AttributeError`. This method should return the (computed) " -"attribute value or raise an :exc:`AttributeError` exception. In order to " -"avoid infinite recursion in this method, its implementation should always " -"call the base class method with the same name to access any attributes it " -"needs, for example, ``object.__getattribute__(self, name)``." -msgstr "" - -#: ../../reference/datamodel.rst:2285 -msgid "" -"This method may still be bypassed when looking up special methods as the " -"result of implicit invocation via language syntax or :ref:`built-in " -"functions `. See :ref:`special-lookup`." -msgstr "" - -#: ../../reference/datamodel.rst:2290 ../../reference/datamodel.rst:2292 -msgid "" -"For certain sensitive attribute accesses, raises an :ref:`auditing event " -"` ``object.__getattr__`` with arguments ``obj`` and ``name``." -msgstr "" - -#: ../../reference/datamodel.rst:2299 -msgid "" -"Called when an attribute assignment is attempted. This is called instead of" -" the normal mechanism (i.e. store the value in the instance dictionary). " -"*name* is the attribute name, *value* is the value to be assigned to it." -msgstr "" - -#: ../../reference/datamodel.rst:2303 -msgid "" -"If :meth:`__setattr__` wants to assign to an instance attribute, it should " -"call the base class method with the same name, for example, " -"``object.__setattr__(self, name, value)``." -msgstr "" - -#: ../../reference/datamodel.rst:2307 ../../reference/datamodel.rst:2309 -msgid "" -"For certain sensitive attribute assignments, raises an :ref:`auditing event " -"` ``object.__setattr__`` with arguments ``obj``, ``name``, " -"``value``." -msgstr "" - -#: ../../reference/datamodel.rst:2316 -msgid "" -"Like :meth:`__setattr__` but for attribute deletion instead of assignment. " -"This should only be implemented if ``del obj.name`` is meaningful for the " -"object." -msgstr "" - -#: ../../reference/datamodel.rst:2319 ../../reference/datamodel.rst:2321 -msgid "" -"For certain sensitive attribute deletions, raises an :ref:`auditing event " -"` ``object.__delattr__`` with arguments ``obj`` and ``name``." -msgstr "" - -#: ../../reference/datamodel.rst:2328 -msgid "" -"Called when :func:`dir` is called on the object. An iterable must be " -"returned. :func:`dir` converts the returned iterable to a list and sorts it." -msgstr "" - -#: ../../reference/datamodel.rst:2333 -msgid "Customizing module attribute access" -msgstr "" - -#: ../../reference/datamodel.rst:2340 -msgid "" -"Special names ``__getattr__`` and ``__dir__`` can be also used to customize " -"access to module attributes. The ``__getattr__`` function at the module " -"level should accept one argument which is the name of an attribute and " -"return the computed value or raise an :exc:`AttributeError`. If an attribute" -" is not found on a module object through the normal lookup, i.e. " -":meth:`object.__getattribute__`, then ``__getattr__`` is searched in the " -"module ``__dict__`` before raising an :exc:`AttributeError`. If found, it is" -" called with the attribute name and the result is returned." -msgstr "" - -#: ../../reference/datamodel.rst:2349 -msgid "" -"The ``__dir__`` function should accept no arguments, and return an iterable " -"of strings that represents the names accessible on module. If present, this " -"function overrides the standard :func:`dir` search on a module." -msgstr "" - -#: ../../reference/datamodel.rst:2353 -msgid "" -"For a more fine grained customization of the module behavior (setting " -"attributes, properties, etc.), one can set the ``__class__`` attribute of a " -"module object to a subclass of :class:`types.ModuleType`. For example::" -msgstr "" - -#: ../../reference/datamodel.rst:2357 -msgid "" -"import sys\n" -"from types import ModuleType\n" -"\n" -"class VerboseModule(ModuleType):\n" -" def __repr__(self):\n" -" return f'Verbose {self.__name__}'\n" -"\n" -" def __setattr__(self, attr, value):\n" -" print(f'Setting {attr}...')\n" -" super().__setattr__(attr, value)\n" -"\n" -"sys.modules[__name__].__class__ = VerboseModule" -msgstr "" - -#: ../../reference/datamodel.rst:2371 -msgid "" -"Defining module ``__getattr__`` and setting module ``__class__`` only affect" -" lookups made using the attribute access syntax -- directly accessing the " -"module globals (whether by code within the module, or via a reference to the" -" module's globals dictionary) is unaffected." -msgstr "" - -#: ../../reference/datamodel.rst:2376 -msgid "``__class__`` module attribute is now writable." -msgstr "" - -#: ../../reference/datamodel.rst:2379 -msgid "``__getattr__`` and ``__dir__`` module attributes." -msgstr "" - -#: ../../reference/datamodel.rst:2384 -msgid ":pep:`562` - Module __getattr__ and __dir__" -msgstr "" - -#: ../../reference/datamodel.rst:2385 -msgid "Describes the ``__getattr__`` and ``__dir__`` functions on modules." -msgstr "" - -#: ../../reference/datamodel.rst:2391 -msgid "Implementing Descriptors" -msgstr "" - -#: ../../reference/datamodel.rst:2393 -msgid "" -"The following methods only apply when an instance of the class containing " -"the method (a so-called *descriptor* class) appears in an *owner* class (the" -" descriptor must be in either the owner's class dictionary or in the class " -"dictionary for one of its parents). In the examples below, \"the " -"attribute\" refers to the attribute whose name is the key of the property in" -" the owner class' :attr:`~object.__dict__`. The :class:`object` class " -"itself does not implement any of these protocols." -msgstr "" - -#: ../../reference/datamodel.rst:2403 -msgid "" -"Called to get the attribute of the owner class (class attribute access) or " -"of an instance of that class (instance attribute access). The optional " -"*owner* argument is the owner class, while *instance* is the instance that " -"the attribute was accessed through, or ``None`` when the attribute is " -"accessed through the *owner*." -msgstr "" - -#: ../../reference/datamodel.rst:2409 -msgid "" -"This method should return the computed attribute value or raise an " -":exc:`AttributeError` exception." -msgstr "" - -#: ../../reference/datamodel.rst:2412 -msgid "" -":PEP:`252` specifies that :meth:`__get__` is callable with one or two " -"arguments. Python's own built-in descriptors support this specification; " -"however, it is likely that some third-party tools have descriptors that " -"require both arguments. Python's own :meth:`__getattribute__` " -"implementation always passes in both arguments whether they are required or " -"not." -msgstr "" - -#: ../../reference/datamodel.rst:2421 -msgid "" -"Called to set the attribute on an instance *instance* of the owner class to " -"a new value, *value*." -msgstr "" - -#: ../../reference/datamodel.rst:2424 -msgid "" -"Note, adding :meth:`__set__` or :meth:`__delete__` changes the kind of " -"descriptor to a \"data descriptor\". See :ref:`descriptor-invocation` for " -"more details." -msgstr "" - -#: ../../reference/datamodel.rst:2430 -msgid "" -"Called to delete the attribute on an instance *instance* of the owner class." -msgstr "" - -#: ../../reference/datamodel.rst:2432 -msgid "" -"Instances of descriptors may also have the :attr:`!__objclass__` attribute " -"present:" -msgstr "" - -#: ../../reference/datamodel.rst:2437 -msgid "" -"The attribute :attr:`!__objclass__` is interpreted by the :mod:`inspect` " -"module as specifying the class where this object was defined (setting this " -"appropriately can assist in runtime introspection of dynamic class " -"attributes). For callables, it may indicate that an instance of the given " -"type (or a subclass) is expected or required as the first positional " -"argument (for example, CPython sets this attribute for unbound methods that " -"are implemented in C)." -msgstr "" - -#: ../../reference/datamodel.rst:2448 -msgid "Invoking Descriptors" -msgstr "" - -#: ../../reference/datamodel.rst:2450 -msgid "" -"In general, a descriptor is an object attribute with \"binding behavior\", " -"one whose attribute access has been overridden by methods in the descriptor " -"protocol: :meth:`~object.__get__`, :meth:`~object.__set__`, and " -":meth:`~object.__delete__`. If any of those methods are defined for an " -"object, it is said to be a descriptor." -msgstr "" - -#: ../../reference/datamodel.rst:2456 -msgid "" -"The default behavior for attribute access is to get, set, or delete the " -"attribute from an object's dictionary. For instance, ``a.x`` has a lookup " -"chain starting with ``a.__dict__['x']``, then ``type(a).__dict__['x']``, and" -" continuing through the base classes of ``type(a)`` excluding metaclasses." -msgstr "" - -#: ../../reference/datamodel.rst:2461 -msgid "" -"However, if the looked-up value is an object defining one of the descriptor " -"methods, then Python may override the default behavior and invoke the " -"descriptor method instead. Where this occurs in the precedence chain " -"depends on which descriptor methods were defined and how they were called." -msgstr "" - -#: ../../reference/datamodel.rst:2466 -msgid "" -"The starting point for descriptor invocation is a binding, ``a.x``. How the " -"arguments are assembled depends on ``a``:" -msgstr "" - -#: ../../reference/datamodel.rst:2469 -msgid "Direct Call" -msgstr "" - -#: ../../reference/datamodel.rst:2470 -msgid "" -"The simplest and least common call is when user code directly invokes a " -"descriptor method: ``x.__get__(a)``." -msgstr "" - -#: ../../reference/datamodel.rst:2473 -msgid "Instance Binding" -msgstr "" - -#: ../../reference/datamodel.rst:2474 -msgid "" -"If binding to an object instance, ``a.x`` is transformed into the call: " -"``type(a).__dict__['x'].__get__(a, type(a))``." -msgstr "" - -#: ../../reference/datamodel.rst:2477 -msgid "Class Binding" -msgstr "" - -#: ../../reference/datamodel.rst:2478 -msgid "" -"If binding to a class, ``A.x`` is transformed into the call: " -"``A.__dict__['x'].__get__(None, A)``." -msgstr "" - -#: ../../reference/datamodel.rst:2481 -msgid "Super Binding" -msgstr "" - -#: ../../reference/datamodel.rst:2482 -msgid "" -"A dotted lookup such as ``super(A, a).x`` searches ``a.__class__.__mro__`` " -"for a base class ``B`` following ``A`` and then returns " -"``B.__dict__['x'].__get__(a, A)``. If not a descriptor, ``x`` is returned " -"unchanged." -msgstr "" - -#: ../../reference/datamodel.rst:2519 -msgid "" -"For instance bindings, the precedence of descriptor invocation depends on " -"which descriptor methods are defined. A descriptor can define any " -"combination of :meth:`~object.__get__`, :meth:`~object.__set__` and " -":meth:`~object.__delete__`. If it does not define :meth:`!__get__`, then " -"accessing the attribute will return the descriptor object itself unless " -"there is a value in the object's instance dictionary. If the descriptor " -"defines :meth:`!__set__` and/or :meth:`!__delete__`, it is a data " -"descriptor; if it defines neither, it is a non-data descriptor. Normally, " -"data descriptors define both :meth:`!__get__` and :meth:`!__set__`, while " -"non-data descriptors have just the :meth:`!__get__` method. Data " -"descriptors with :meth:`!__get__` and :meth:`!__set__` (and/or " -":meth:`!__delete__`) defined always override a redefinition in an instance " -"dictionary. In contrast, non-data descriptors can be overridden by " -"instances." -msgstr "" - -#: ../../reference/datamodel.rst:2534 -msgid "" -"Python methods (including those decorated with :func:`@staticmethod " -"` and :func:`@classmethod `) are implemented as " -"non-data descriptors. Accordingly, instances can redefine and override " -"methods. This allows individual instances to acquire behaviors that differ " -"from other instances of the same class." -msgstr "" - -#: ../../reference/datamodel.rst:2540 -msgid "" -"The :func:`property` function is implemented as a data descriptor. " -"Accordingly, instances cannot override the behavior of a property." -msgstr "" - -#: ../../reference/datamodel.rst:2547 -msgid "__slots__" -msgstr "" - -#: ../../reference/datamodel.rst:2549 -msgid "" -"*__slots__* allow us to explicitly declare data members (like properties) " -"and deny the creation of :attr:`~object.__dict__` and *__weakref__* (unless " -"explicitly declared in *__slots__* or available in a parent.)" -msgstr "" - -#: ../../reference/datamodel.rst:2553 -msgid "" -"The space saved over using :attr:`~object.__dict__` can be significant. " -"Attribute lookup speed can be significantly improved as well." -msgstr "" - -#: ../../reference/datamodel.rst:2558 -msgid "" -"This class variable can be assigned a string, iterable, or sequence of " -"strings with variable names used by instances. *__slots__* reserves space " -"for the declared variables and prevents the automatic creation of " -":attr:`~object.__dict__` and *__weakref__* for each instance." -msgstr "" - -#: ../../reference/datamodel.rst:2567 -msgid "Notes on using *__slots__*:" -msgstr "" - -#: ../../reference/datamodel.rst:2569 -msgid "" -"When inheriting from a class without *__slots__*, the " -":attr:`~object.__dict__` and *__weakref__* attribute of the instances will " -"always be accessible." -msgstr "" - -#: ../../reference/datamodel.rst:2573 -msgid "" -"Without a :attr:`~object.__dict__` variable, instances cannot be assigned " -"new variables not listed in the *__slots__* definition. Attempts to assign " -"to an unlisted variable name raises :exc:`AttributeError`. If dynamic " -"assignment of new variables is desired, then add ``'__dict__'`` to the " -"sequence of strings in the *__slots__* declaration." -msgstr "" - -#: ../../reference/datamodel.rst:2580 -msgid "" -"Without a *__weakref__* variable for each instance, classes defining " -"*__slots__* do not support :mod:`weak references ` to its " -"instances. If weak reference support is needed, then add ``'__weakref__'`` " -"to the sequence of strings in the *__slots__* declaration." -msgstr "" - -#: ../../reference/datamodel.rst:2586 -msgid "" -"*__slots__* are implemented at the class level by creating :ref:`descriptors" -" ` for each variable name. As a result, class attributes " -"cannot be used to set default values for instance variables defined by " -"*__slots__*; otherwise, the class attribute would overwrite the descriptor " -"assignment." -msgstr "" - -#: ../../reference/datamodel.rst:2592 -msgid "" -"The action of a *__slots__* declaration is not limited to the class where it" -" is defined. *__slots__* declared in parents are available in child " -"classes. However, instances of a child subclass will get a " -":attr:`~object.__dict__` and *__weakref__* unless the subclass also defines " -"*__slots__* (which should only contain names of any *additional* slots)." -msgstr "" - -#: ../../reference/datamodel.rst:2598 -msgid "" -"If a class defines a slot also defined in a base class, the instance " -"variable defined by the base class slot is inaccessible (except by " -"retrieving its descriptor directly from the base class). This renders the " -"meaning of the program undefined. In the future, a check may be added to " -"prevent this." -msgstr "" - -#: ../../reference/datamodel.rst:2603 -msgid "" -":exc:`TypeError` will be raised if nonempty *__slots__* are defined for a " -"class derived from a :c:member:`\"variable-length\" built-in type " -"` such as :class:`int`, :class:`bytes`, and " -":class:`tuple`." -msgstr "" - -#: ../../reference/datamodel.rst:2608 -msgid "Any non-string :term:`iterable` may be assigned to *__slots__*." -msgstr "" - -#: ../../reference/datamodel.rst:2610 -msgid "" -"If a :class:`dictionary ` is used to assign *__slots__*, the " -"dictionary keys will be used as the slot names. The values of the dictionary" -" can be used to provide per-attribute docstrings that will be recognised by " -":func:`inspect.getdoc` and displayed in the output of :func:`help`." -msgstr "" - -#: ../../reference/datamodel.rst:2615 -msgid "" -":attr:`~object.__class__` assignment works only if both classes have the " -"same *__slots__*." -msgstr "" - -#: ../../reference/datamodel.rst:2618 -msgid "" -":ref:`Multiple inheritance ` with multiple slotted parent " -"classes can be used, but only one parent is allowed to have attributes " -"created by slots (the other bases must have empty slot layouts) - violations" -" raise :exc:`TypeError`." -msgstr "" - -#: ../../reference/datamodel.rst:2624 -msgid "" -"If an :term:`iterator` is used for *__slots__* then a :term:`descriptor` is " -"created for each of the iterator's values. However, the *__slots__* " -"attribute will be an empty iterator." -msgstr "" - -#: ../../reference/datamodel.rst:2632 -msgid "Customizing class creation" -msgstr "" - -#: ../../reference/datamodel.rst:2634 -msgid "" -"Whenever a class inherits from another class, " -":meth:`~object.__init_subclass__` is called on the parent class. This way, " -"it is possible to write classes which change the behavior of subclasses. " -"This is closely related to class decorators, but where class decorators only" -" affect the specific class they're applied to, ``__init_subclass__`` solely " -"applies to future subclasses of the class defining the method." -msgstr "" - -#: ../../reference/datamodel.rst:2643 -msgid "" -"This method is called whenever the containing class is subclassed. *cls* is " -"then the new subclass. If defined as a normal instance method, this method " -"is implicitly converted to a class method." -msgstr "" - -#: ../../reference/datamodel.rst:2647 -msgid "" -"Keyword arguments which are given to a new class are passed to the parent " -"class's ``__init_subclass__``. For compatibility with other classes using " -"``__init_subclass__``, one should take out the needed keyword arguments and " -"pass the others over to the base class, as in::" -msgstr "" - -#: ../../reference/datamodel.rst:2653 -msgid "" -"class Philosopher:\n" -" def __init_subclass__(cls, /, default_name, **kwargs):\n" -" super().__init_subclass__(**kwargs)\n" -" cls.default_name = default_name\n" -"\n" -"class AustralianPhilosopher(Philosopher, default_name=\"Bruce\"):\n" -" pass" -msgstr "" - -#: ../../reference/datamodel.rst:2661 -msgid "" -"The default implementation ``object.__init_subclass__`` does nothing, but " -"raises an error if it is called with any arguments." -msgstr "" - -#: ../../reference/datamodel.rst:2666 -msgid "" -"The metaclass hint ``metaclass`` is consumed by the rest of the type " -"machinery, and is never passed to ``__init_subclass__`` implementations. The" -" actual metaclass (rather than the explicit hint) can be accessed as " -"``type(cls)``." -msgstr "" - -#: ../../reference/datamodel.rst:2674 -msgid "" -"When a class is created, :meth:`type.__new__` scans the class variables and " -"makes callbacks to those with a :meth:`~object.__set_name__` hook." -msgstr "" - -#: ../../reference/datamodel.rst:2679 -msgid "" -"Automatically called at the time the owning class *owner* is created. The " -"object has been assigned to *name* in that class::" -msgstr "" - -#: ../../reference/datamodel.rst:2682 -msgid "" -"class A:\n" -" x = C() # Automatically calls: x.__set_name__(A, 'x')" -msgstr "" - -#: ../../reference/datamodel.rst:2685 -msgid "" -"If the class variable is assigned after the class is created, " -":meth:`__set_name__` will not be called automatically. If needed, " -":meth:`__set_name__` can be called directly::" -msgstr "" - -#: ../../reference/datamodel.rst:2689 -msgid "" -"class A:\n" -" pass\n" -"\n" -"c = C()\n" -"A.x = c # The hook is not called\n" -"c.__set_name__(A, 'x') # Manually invoke the hook" -msgstr "" - -#: ../../reference/datamodel.rst:2696 -msgid "See :ref:`class-object-creation` for more details." -msgstr "" - -#: ../../reference/datamodel.rst:2704 -msgid "Metaclasses" -msgstr "" - -#: ../../reference/datamodel.rst:2711 -msgid "" -"By default, classes are constructed using :func:`type`. The class body is " -"executed in a new namespace and the class name is bound locally to the " -"result of ``type(name, bases, namespace)``." -msgstr "" - -#: ../../reference/datamodel.rst:2715 -msgid "" -"The class creation process can be customized by passing the ``metaclass`` " -"keyword argument in the class definition line, or by inheriting from an " -"existing class that included such an argument. In the following example, " -"both ``MyClass`` and ``MySubclass`` are instances of ``Meta``::" -msgstr "" - -#: ../../reference/datamodel.rst:2720 -msgid "" -"class Meta(type):\n" -" pass\n" -"\n" -"class MyClass(metaclass=Meta):\n" -" pass\n" -"\n" -"class MySubclass(MyClass):\n" -" pass" -msgstr "" - -#: ../../reference/datamodel.rst:2729 -msgid "" -"Any other keyword arguments that are specified in the class definition are " -"passed through to all metaclass operations described below." -msgstr "" - -#: ../../reference/datamodel.rst:2732 -msgid "When a class definition is executed, the following steps occur:" -msgstr "" - -#: ../../reference/datamodel.rst:2734 -msgid "MRO entries are resolved;" -msgstr "" - -#: ../../reference/datamodel.rst:2735 -msgid "the appropriate metaclass is determined;" -msgstr "" - -#: ../../reference/datamodel.rst:2736 -msgid "the class namespace is prepared;" -msgstr "" - -#: ../../reference/datamodel.rst:2737 -msgid "the class body is executed;" -msgstr "" - -#: ../../reference/datamodel.rst:2738 -msgid "the class object is created." -msgstr "" - -#: ../../reference/datamodel.rst:2742 -msgid "Resolving MRO entries" -msgstr "" - -#: ../../reference/datamodel.rst:2746 -msgid "" -"If a base that appears in a class definition is not an instance of " -":class:`type`, then an :meth:`!__mro_entries__` method is searched on the " -"base. If an :meth:`!__mro_entries__` method is found, the base is " -"substituted with the result of a call to :meth:`!__mro_entries__` when " -"creating the class. The method is called with the original bases tuple " -"passed to the *bases* parameter, and must return a tuple of classes that " -"will be used instead of the base. The returned tuple may be empty: in these " -"cases, the original base is ignored." -msgstr "" - -#: ../../reference/datamodel.rst:2757 -msgid ":func:`types.resolve_bases`" -msgstr "" - -#: ../../reference/datamodel.rst:2758 -msgid "Dynamically resolve bases that are not instances of :class:`type`." -msgstr "" - -#: ../../reference/datamodel.rst:2760 -msgid ":func:`types.get_original_bases`" -msgstr "" - -#: ../../reference/datamodel.rst:2761 -msgid "" -"Retrieve a class's \"original bases\" prior to modifications by " -":meth:`~object.__mro_entries__`." -msgstr "" - -#: ../../reference/datamodel.rst:2764 -msgid ":pep:`560`" -msgstr "" - -#: ../../reference/datamodel.rst:2765 -msgid "Core support for typing module and generic types." -msgstr "" - -#: ../../reference/datamodel.rst:2769 -msgid "Determining the appropriate metaclass" -msgstr "" - -#: ../../reference/datamodel.rst:2773 -msgid "" -"The appropriate metaclass for a class definition is determined as follows:" -msgstr "" - -#: ../../reference/datamodel.rst:2775 -msgid "" -"if no bases and no explicit metaclass are given, then :func:`type` is used;" -msgstr "" - -#: ../../reference/datamodel.rst:2776 -msgid "" -"if an explicit metaclass is given and it is *not* an instance of " -":func:`type`, then it is used directly as the metaclass;" -msgstr "" - -#: ../../reference/datamodel.rst:2778 -msgid "" -"if an instance of :func:`type` is given as the explicit metaclass, or bases " -"are defined, then the most derived metaclass is used." -msgstr "" - -#: ../../reference/datamodel.rst:2781 -msgid "" -"The most derived metaclass is selected from the explicitly specified " -"metaclass (if any) and the metaclasses (i.e. ``type(cls)``) of all specified" -" base classes. The most derived metaclass is one which is a subtype of *all*" -" of these candidate metaclasses. If none of the candidate metaclasses meets " -"that criterion, then the class definition will fail with ``TypeError``." -msgstr "" - -#: ../../reference/datamodel.rst:2791 -msgid "Preparing the class namespace" -msgstr "" - -#: ../../reference/datamodel.rst:2796 -msgid "" -"Once the appropriate metaclass has been identified, then the class namespace" -" is prepared. If the metaclass has a ``__prepare__`` attribute, it is called" -" as ``namespace = metaclass.__prepare__(name, bases, **kwds)`` (where the " -"additional keyword arguments, if any, come from the class definition). The " -"``__prepare__`` method should be implemented as a :func:`classmethod " -"`. The namespace returned by ``__prepare__`` is passed in to " -"``__new__``, but when the final class object is created the namespace is " -"copied into a new ``dict``." -msgstr "" - -#: ../../reference/datamodel.rst:2805 -msgid "" -"If the metaclass has no ``__prepare__`` attribute, then the class namespace " -"is initialised as an empty ordered mapping." -msgstr "" - -#: ../../reference/datamodel.rst:2810 -msgid ":pep:`3115` - Metaclasses in Python 3000" -msgstr "" - -#: ../../reference/datamodel.rst:2811 -msgid "Introduced the ``__prepare__`` namespace hook" -msgstr "" - -#: ../../reference/datamodel.rst:2815 -msgid "Executing the class body" -msgstr "" - -#: ../../reference/datamodel.rst:2820 -msgid "" -"The class body is executed (approximately) as ``exec(body, globals(), " -"namespace)``. The key difference from a normal call to :func:`exec` is that " -"lexical scoping allows the class body (including any methods) to reference " -"names from the current and outer scopes when the class definition occurs " -"inside a function." -msgstr "" - -#: ../../reference/datamodel.rst:2826 -msgid "" -"However, even when the class definition occurs inside the function, methods " -"defined inside the class still cannot see names defined at the class scope. " -"Class variables must be accessed through the first parameter of instance or " -"class methods, or through the implicit lexically scoped ``__class__`` " -"reference described in the next section." -msgstr "" - -#: ../../reference/datamodel.rst:2835 -msgid "Creating the class object" -msgstr "" - -#: ../../reference/datamodel.rst:2842 -msgid "" -"Once the class namespace has been populated by executing the class body, the" -" class object is created by calling ``metaclass(name, bases, namespace, " -"**kwds)`` (the additional keywords passed here are the same as those passed " -"to ``__prepare__``)." -msgstr "" - -#: ../../reference/datamodel.rst:2847 -msgid "" -"This class object is the one that will be referenced by the zero-argument " -"form of :func:`super`. ``__class__`` is an implicit closure reference " -"created by the compiler if any methods in a class body refer to either " -"``__class__`` or ``super``. This allows the zero argument form of " -":func:`super` to correctly identify the class being defined based on lexical" -" scoping, while the class or instance that was used to make the current call" -" is identified based on the first argument passed to the method." -msgstr "" - -#: ../../reference/datamodel.rst:2857 -msgid "" -"In CPython 3.6 and later, the ``__class__`` cell is passed to the metaclass " -"as a ``__classcell__`` entry in the class namespace. If present, this must " -"be propagated up to the ``type.__new__`` call in order for the class to be " -"initialised correctly. Failing to do so will result in a :exc:`RuntimeError`" -" in Python 3.8." -msgstr "" - -#: ../../reference/datamodel.rst:2863 -msgid "" -"When using the default metaclass :class:`type`, or any metaclass that " -"ultimately calls ``type.__new__``, the following additional customization " -"steps are invoked after creating the class object:" -msgstr "" - -#: ../../reference/datamodel.rst:2867 -msgid "" -"The ``type.__new__`` method collects all of the attributes in the class " -"namespace that define a :meth:`~object.__set_name__` method;" -msgstr "" - -#: ../../reference/datamodel.rst:2869 -msgid "" -"Those ``__set_name__`` methods are called with the class being defined and " -"the assigned name of that particular attribute;" -msgstr "" - -#: ../../reference/datamodel.rst:2871 -msgid "" -"The :meth:`~object.__init_subclass__` hook is called on the immediate parent" -" of the new class in its method resolution order." -msgstr "" - -#: ../../reference/datamodel.rst:2874 -msgid "" -"After the class object is created, it is passed to the class decorators " -"included in the class definition (if any) and the resulting object is bound " -"in the local namespace as the defined class." -msgstr "" - -#: ../../reference/datamodel.rst:2878 -msgid "" -"When a new class is created by ``type.__new__``, the object provided as the " -"namespace parameter is copied to a new ordered mapping and the original " -"object is discarded. The new copy is wrapped in a read-only proxy, which " -"becomes the :attr:`~type.__dict__` attribute of the class object." -msgstr "" - -#: ../../reference/datamodel.rst:2885 -msgid ":pep:`3135` - New super" -msgstr "" - -#: ../../reference/datamodel.rst:2886 -msgid "Describes the implicit ``__class__`` closure reference" -msgstr "" - -#: ../../reference/datamodel.rst:2890 -msgid "Uses for metaclasses" -msgstr "" - -#: ../../reference/datamodel.rst:2892 -msgid "" -"The potential uses for metaclasses are boundless. Some ideas that have been " -"explored include enum, logging, interface checking, automatic delegation, " -"automatic property creation, proxies, frameworks, and automatic resource " -"locking/synchronization." -msgstr "" - -#: ../../reference/datamodel.rst:2899 -msgid "Customizing instance and subclass checks" -msgstr "" - -#: ../../reference/datamodel.rst:2901 -msgid "" -"The following methods are used to override the default behavior of the " -":func:`isinstance` and :func:`issubclass` built-in functions." -msgstr "" - -#: ../../reference/datamodel.rst:2904 -msgid "" -"In particular, the metaclass :class:`abc.ABCMeta` implements these methods " -"in order to allow the addition of Abstract Base Classes (ABCs) as \"virtual " -"base classes\" to any class or type (including built-in types), including " -"other ABCs." -msgstr "" - -#: ../../reference/datamodel.rst:2911 -msgid "" -"Return true if *instance* should be considered a (direct or indirect) " -"instance of *class*. If defined, called to implement ``isinstance(instance, " -"class)``." -msgstr "" - -#: ../../reference/datamodel.rst:2918 -msgid "" -"Return true if *subclass* should be considered a (direct or indirect) " -"subclass of *class*. If defined, called to implement ``issubclass(subclass," -" class)``." -msgstr "" - -#: ../../reference/datamodel.rst:2923 -msgid "" -"Note that these methods are looked up on the type (metaclass) of a class. " -"They cannot be defined as class methods in the actual class. This is " -"consistent with the lookup of special methods that are called on instances, " -"only in this case the instance is itself a class." -msgstr "" - -#: ../../reference/datamodel.rst:2930 -msgid ":pep:`3119` - Introducing Abstract Base Classes" -msgstr "" - -#: ../../reference/datamodel.rst:2931 -msgid "" -"Includes the specification for customizing :func:`isinstance` and " -":func:`issubclass` behavior through :meth:`~type.__instancecheck__` and " -":meth:`~type.__subclasscheck__`, with motivation for this functionality in " -"the context of adding Abstract Base Classes (see the :mod:`abc` module) to " -"the language." -msgstr "" - -#: ../../reference/datamodel.rst:2939 -msgid "Emulating generic types" -msgstr "" - -#: ../../reference/datamodel.rst:2941 -msgid "" -"When using :term:`type annotations`, it is often useful to " -"*parameterize* a :term:`generic type` using Python's square-brackets " -"notation. For example, the annotation ``list[int]`` might be used to signify" -" a :class:`list` in which all the elements are of type :class:`int`." -msgstr "" - -#: ../../reference/datamodel.rst:2948 -msgid ":pep:`484` - Type Hints" -msgstr "" - -#: ../../reference/datamodel.rst:2949 -msgid "Introducing Python's framework for type annotations" -msgstr "" - -#: ../../reference/datamodel.rst:2951 -msgid ":ref:`Generic Alias Types`" -msgstr "" - -#: ../../reference/datamodel.rst:2952 -msgid "Documentation for objects representing parameterized generic classes" -msgstr "" - -#: ../../reference/datamodel.rst:2954 -msgid "" -":ref:`Generics`, :ref:`user-defined generics` and " -":class:`typing.Generic`" -msgstr "" - -#: ../../reference/datamodel.rst:2955 -msgid "" -"Documentation on how to implement generic classes that can be parameterized " -"at runtime and understood by static type-checkers." -msgstr "" - -#: ../../reference/datamodel.rst:2958 -msgid "" -"A class can *generally* only be parameterized if it defines the special " -"class method ``__class_getitem__()``." -msgstr "" - -#: ../../reference/datamodel.rst:2963 -msgid "" -"Return an object representing the specialization of a generic class by type " -"arguments found in *key*." -msgstr "" - -#: ../../reference/datamodel.rst:2966 -msgid "" -"When defined on a class, ``__class_getitem__()`` is automatically a class " -"method. As such, there is no need for it to be decorated with " -":func:`@classmethod` when it is defined." -msgstr "" - -#: ../../reference/datamodel.rst:2972 -msgid "The purpose of *__class_getitem__*" -msgstr "" - -#: ../../reference/datamodel.rst:2974 -msgid "" -"The purpose of :meth:`~object.__class_getitem__` is to allow runtime " -"parameterization of standard-library generic classes in order to more easily" -" apply :term:`type hints` to these classes." -msgstr "" - -#: ../../reference/datamodel.rst:2978 -msgid "" -"To implement custom generic classes that can be parameterized at runtime and" -" understood by static type-checkers, users should either inherit from a " -"standard library class that already implements " -":meth:`~object.__class_getitem__`, or inherit from :class:`typing.Generic`, " -"which has its own implementation of ``__class_getitem__()``." -msgstr "" - -#: ../../reference/datamodel.rst:2984 -msgid "" -"Custom implementations of :meth:`~object.__class_getitem__` on classes " -"defined outside of the standard library may not be understood by third-party" -" type-checkers such as mypy. Using ``__class_getitem__()`` on any class for " -"purposes other than type hinting is discouraged." -msgstr "" - -#: ../../reference/datamodel.rst:2994 -msgid "*__class_getitem__* versus *__getitem__*" -msgstr "" - -#: ../../reference/datamodel.rst:2996 -msgid "" -"Usually, the :ref:`subscription` of an object using square " -"brackets will call the :meth:`~object.__getitem__` instance method defined " -"on the object's class. However, if the object being subscribed is itself a " -"class, the class method :meth:`~object.__class_getitem__` may be called " -"instead. ``__class_getitem__()`` should return a :ref:`GenericAlias` object if it is properly defined." -msgstr "" - -#: ../../reference/datamodel.rst:3003 -msgid "" -"Presented with the :term:`expression` ``obj[x]``, the Python interpreter " -"follows something like the following process to decide whether " -":meth:`~object.__getitem__` or :meth:`~object.__class_getitem__` should be " -"called::" -msgstr "" - -#: ../../reference/datamodel.rst:3008 -msgid "" -"from inspect import isclass\n" -"\n" -"def subscribe(obj, x):\n" -" \"\"\"Return the result of the expression 'obj[x]'\"\"\"\n" -"\n" -" class_of_obj = type(obj)\n" -"\n" -" # If the class of obj defines __getitem__,\n" -" # call class_of_obj.__getitem__(obj, x)\n" -" if hasattr(class_of_obj, '__getitem__'):\n" -" return class_of_obj.__getitem__(obj, x)\n" -"\n" -" # Else, if obj is a class and defines __class_getitem__,\n" -" # call obj.__class_getitem__(x)\n" -" elif isclass(obj) and hasattr(obj, '__class_getitem__'):\n" -" return obj.__class_getitem__(x)\n" -"\n" -" # Else, raise an exception\n" -" else:\n" -" raise TypeError(\n" -" f\"'{class_of_obj.__name__}' object is not subscriptable\"\n" -" )" -msgstr "" - -#: ../../reference/datamodel.rst:3031 -msgid "" -"In Python, all classes are themselves instances of other classes. The class " -"of a class is known as that class's :term:`metaclass`, and most classes have" -" the :class:`type` class as their metaclass. :class:`type` does not define " -":meth:`~object.__getitem__`, meaning that expressions such as ``list[int]``," -" ``dict[str, float]`` and ``tuple[str, bytes]`` all result in " -":meth:`~object.__class_getitem__` being called::" -msgstr "" - -#: ../../reference/datamodel.rst:3038 -msgid "" -">>> # list has class \"type\" as its metaclass, like most classes:\n" -">>> type(list)\n" -"\n" -">>> type(dict) == type(list) == type(tuple) == type(str) == type(bytes)\n" -"True\n" -">>> # \"list[int]\" calls \"list.__class_getitem__(int)\"\n" -">>> list[int]\n" -"list[int]\n" -">>> # list.__class_getitem__ returns a GenericAlias object:\n" -">>> type(list[int])\n" -"" -msgstr "" - -#: ../../reference/datamodel.rst:3050 -msgid "" -"However, if a class has a custom metaclass that defines " -":meth:`~object.__getitem__`, subscribing the class may result in different " -"behaviour. An example of this can be found in the :mod:`enum` module::" -msgstr "" - -#: ../../reference/datamodel.rst:3054 -msgid "" -">>> from enum import Enum\n" -">>> class Menu(Enum):\n" -"... \"\"\"A breakfast menu\"\"\"\n" -"... SPAM = 'spam'\n" -"... BACON = 'bacon'\n" -"...\n" -">>> # Enum classes have a custom metaclass:\n" -">>> type(Menu)\n" -"\n" -">>> # EnumMeta defines __getitem__,\n" -">>> # so __class_getitem__ is not called,\n" -">>> # and the result is not a GenericAlias object:\n" -">>> Menu['SPAM']\n" -"\n" -">>> type(Menu['SPAM'])\n" -"" -msgstr "" - -#: ../../reference/datamodel.rst:3073 -msgid ":pep:`560` - Core Support for typing module and generic types" -msgstr "" - -#: ../../reference/datamodel.rst:3074 -msgid "" -"Introducing :meth:`~object.__class_getitem__`, and outlining when a " -":ref:`subscription` results in ``__class_getitem__()`` being " -"called instead of :meth:`~object.__getitem__`" -msgstr "" - -#: ../../reference/datamodel.rst:3082 -msgid "Emulating callable objects" -msgstr "" - -#: ../../reference/datamodel.rst:3089 -msgid "" -"Called when the instance is \"called\" as a function; if this method is " -"defined, ``x(arg1, arg2, ...)`` roughly translates to ``type(x).__call__(x, " -"arg1, ...)``. The :class:`object` class itself does not provide this method." -msgstr "" - -#: ../../reference/datamodel.rst:3097 -msgid "Emulating container types" -msgstr "" - -#: ../../reference/datamodel.rst:3099 -msgid "" -"The following methods can be defined to implement container objects. None of" -" them are provided by the :class:`object` class itself. Containers usually " -"are :term:`sequences ` (such as :class:`lists ` or " -":class:`tuples `) or :term:`mappings ` (like " -":term:`dictionaries `), but can represent other containers as " -"well. The first set of methods is used either to emulate a sequence or to " -"emulate a mapping; the difference is that for a sequence, the allowable keys" -" should be the integers *k* for which ``0 <= k < N`` where *N* is the length" -" of the sequence, or :class:`slice` objects, which define a range of items." -" It is also recommended that mappings provide the methods :meth:`!keys`, " -":meth:`!values`, :meth:`!items`, :meth:`!get`, :meth:`!clear`, " -":meth:`!setdefault`, :meth:`!pop`, :meth:`!popitem`, :meth:`!copy`, and " -":meth:`!update` behaving similar to those for Python's standard " -":class:`dictionary ` objects. The :mod:`collections.abc` module " -"provides a :class:`~collections.abc.MutableMapping` :term:`abstract base " -"class` to help create those methods from a base set of " -":meth:`~object.__getitem__`, :meth:`~object.__setitem__`, " -":meth:`~object.__delitem__`, and :meth:`!keys`. Mutable sequences should " -"provide methods :meth:`!append`, :meth:`!count`, :meth:`!index`, " -":meth:`!extend`, :meth:`!insert`, :meth:`!pop`, :meth:`!remove`, " -":meth:`!reverse` and :meth:`!sort`, like Python standard :class:`list` " -"objects. Finally, sequence types should implement addition (meaning " -"concatenation) and multiplication (meaning repetition) by defining the " -"methods :meth:`~object.__add__`, :meth:`~object.__radd__`, " -":meth:`~object.__iadd__`, :meth:`~object.__mul__`, :meth:`~object.__rmul__` " -"and :meth:`~object.__imul__` described below; they should not define other " -"numerical operators. It is recommended that both mappings and sequences " -"implement the :meth:`~object.__contains__` method to allow efficient use of " -"the ``in`` operator; for mappings, ``in`` should search the mapping's keys; " -"for sequences, it should search through the values. It is further " -"recommended that both mappings and sequences implement the " -":meth:`~object.__iter__` method to allow efficient iteration through the " -"container; for mappings, :meth:`!__iter__` should iterate through the " -"object's keys; for sequences, it should iterate through the values." -msgstr "" - -#: ../../reference/datamodel.rst:3141 -msgid "" -"Called to implement the built-in function :func:`len`. Should return the " -"length of the object, an integer ``>=`` 0. Also, an object that doesn't " -"define a :meth:`~object.__bool__` method and whose :meth:`!__len__` method " -"returns zero is considered to be false in a Boolean context." -msgstr "" - -#: ../../reference/datamodel.rst:3148 -msgid "" -"In CPython, the length is required to be at most :data:`sys.maxsize`. If the" -" length is larger than :data:`!sys.maxsize` some features (such as " -":func:`len`) may raise :exc:`OverflowError`. To prevent raising " -":exc:`!OverflowError` by truth value testing, an object must define a " -":meth:`~object.__bool__` method." -msgstr "" - -#: ../../reference/datamodel.rst:3157 -msgid "" -"Called to implement :func:`operator.length_hint`. Should return an estimated" -" length for the object (which may be greater or less than the actual " -"length). The length must be an integer ``>=`` 0. The return value may also " -"be :data:`NotImplemented`, which is treated the same as if the " -"``__length_hint__`` method didn't exist at all. This method is purely an " -"optimization and is never required for correctness." -msgstr "" - -#: ../../reference/datamodel.rst:3171 -msgid "" -"Slicing is done exclusively with the following three methods. A call like " -"::" -msgstr "" - -#: ../../reference/datamodel.rst:3173 -msgid "a[1:2] = b" -msgstr "" - -#: ../../reference/datamodel.rst:3175 -msgid "is translated to ::" -msgstr "" - -#: ../../reference/datamodel.rst:3177 -msgid "a[slice(1, 2, None)] = b" -msgstr "" - -#: ../../reference/datamodel.rst:3179 -msgid "and so forth. Missing slice items are always filled in with ``None``." -msgstr "" - -#: ../../reference/datamodel.rst:3184 -msgid "" -"Called to implement evaluation of ``self[key]``. For :term:`sequence` types," -" the accepted keys should be integers. Optionally, they may support " -":class:`slice` objects as well. Negative index support is also optional. If" -" *key* is of an inappropriate type, :exc:`TypeError` may be raised; if *key*" -" is a value outside the set of indexes for the sequence (after any special " -"interpretation of negative values), :exc:`IndexError` should be raised. For " -":term:`mapping` types, if *key* is missing (not in the container), " -":exc:`KeyError` should be raised." -msgstr "" - -#: ../../reference/datamodel.rst:3196 -msgid "" -":keyword:`for` loops expect that an :exc:`IndexError` will be raised for " -"illegal indexes to allow proper detection of the end of the sequence." -msgstr "" - -#: ../../reference/datamodel.rst:3201 -msgid "" -"When :ref:`subscripting` a *class*, the special class method " -":meth:`~object.__class_getitem__` may be called instead of " -"``__getitem__()``. See :ref:`classgetitem-versus-getitem` for more details." -msgstr "" - -#: ../../reference/datamodel.rst:3209 -msgid "" -"Called to implement assignment to ``self[key]``. Same note as for " -":meth:`__getitem__`. This should only be implemented for mappings if the " -"objects support changes to the values for keys, or if new keys can be added," -" or for sequences if elements can be replaced. The same exceptions should " -"be raised for improper *key* values as for the :meth:`__getitem__` method." -msgstr "" - -#: ../../reference/datamodel.rst:3218 -msgid "" -"Called to implement deletion of ``self[key]``. Same note as for " -":meth:`__getitem__`. This should only be implemented for mappings if the " -"objects support removal of keys, or for sequences if elements can be removed" -" from the sequence. The same exceptions should be raised for improper *key*" -" values as for the :meth:`__getitem__` method." -msgstr "" - -#: ../../reference/datamodel.rst:3227 -msgid "" -"Called by :class:`dict`\\ .\\ :meth:`__getitem__` to implement ``self[key]``" -" for dict subclasses when key is not in the dictionary." -msgstr "" - -#: ../../reference/datamodel.rst:3233 -msgid "" -"This method is called when an :term:`iterator` is required for a container. " -"This method should return a new iterator object that can iterate over all " -"the objects in the container. For mappings, it should iterate over the keys" -" of the container." -msgstr "" - -#: ../../reference/datamodel.rst:3241 -msgid "" -"Called (if present) by the :func:`reversed` built-in to implement reverse " -"iteration. It should return a new iterator object that iterates over all " -"the objects in the container in reverse order." -msgstr "" - -#: ../../reference/datamodel.rst:3245 -msgid "" -"If the :meth:`__reversed__` method is not provided, the :func:`reversed` " -"built-in will fall back to using the sequence protocol (:meth:`__len__` and " -":meth:`__getitem__`). Objects that support the sequence protocol should " -"only provide :meth:`__reversed__` if they can provide an implementation that" -" is more efficient than the one provided by :func:`reversed`." -msgstr "" - -#: ../../reference/datamodel.rst:3252 -msgid "" -"The membership test operators (:keyword:`in` and :keyword:`not in`) are " -"normally implemented as an iteration through a container. However, container" -" objects can supply the following special method with a more efficient " -"implementation, which also does not require the object be iterable." -msgstr "" - -#: ../../reference/datamodel.rst:3259 -msgid "" -"Called to implement membership test operators. Should return true if *item*" -" is in *self*, false otherwise. For mapping objects, this should consider " -"the keys of the mapping rather than the values or the key-item pairs." -msgstr "" - -#: ../../reference/datamodel.rst:3263 -msgid "" -"For objects that don't define :meth:`__contains__`, the membership test " -"first tries iteration via :meth:`__iter__`, then the old sequence iteration " -"protocol via :meth:`__getitem__`, see :ref:`this section in the language " -"reference `." -msgstr "" - -#: ../../reference/datamodel.rst:3272 -msgid "Emulating numeric types" -msgstr "" - -#: ../../reference/datamodel.rst:3274 -msgid "" -"The following methods can be defined to emulate numeric objects. Methods " -"corresponding to operations that are not supported by the particular kind of" -" number implemented (e.g., bitwise operations for non-integral numbers) " -"should be left undefined." -msgstr "" - -#: ../../reference/datamodel.rst:3300 -msgid "" -"These methods are called to implement the binary arithmetic operations " -"(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, " -":func:`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``). For instance, to" -" evaluate the expression ``x + y``, where *x* is an instance of a class that" -" has an :meth:`__add__` method, ``type(x).__add__(x, y)`` is called. The " -":meth:`__divmod__` method should be the equivalent to using " -":meth:`__floordiv__` and :meth:`__mod__`; it should not be related to " -":meth:`__truediv__`. Note that :meth:`__pow__` should be defined to accept " -"an optional third argument if the three-argument version of the built-in " -":func:`pow` function is to be supported." -msgstr "" - -#: ../../reference/datamodel.rst:3311 -msgid "" -"If one of those methods does not support the operation with the supplied " -"arguments, it should return :data:`NotImplemented`." -msgstr "" - -#: ../../reference/datamodel.rst:3334 -msgid "" -"These methods are called to implement the binary arithmetic operations " -"(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, " -":func:`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``) with reflected " -"(swapped) operands. These functions are only called if the operands are of " -"different types, when the left operand does not support the corresponding " -"operation [#]_, or the right operand's class is derived from the left " -"operand's class. [#]_ For instance, to evaluate the expression ``x - y``, " -"where *y* is an instance of a class that has an :meth:`__rsub__` method, " -"``type(y).__rsub__(y, x)`` is called if ``type(x).__sub__(x, y)`` returns " -":data:`NotImplemented` or ``type(y)`` is a subclass of ``type(x)``. [#]_" -msgstr "" - -#: ../../reference/datamodel.rst:3345 -msgid "" -"Note that :meth:`__rpow__` should be defined to accept an optional third " -"argument if the three-argument version of the built-in :func:`pow` function " -"is to be supported." -msgstr "" - -#: ../../reference/datamodel.rst:3351 -msgid "" -"Three-argument :func:`pow` now try calling :meth:`~object.__rpow__` if " -"necessary. Previously it was only called in two-argument :func:`!pow` and " -"the binary power operator." -msgstr "" - -#: ../../reference/datamodel.rst:3357 -msgid "" -"If the right operand's type is a subclass of the left operand's type and " -"that subclass provides a different implementation of the reflected method " -"for the operation, this method will be called before the left operand's non-" -"reflected method. This behavior allows subclasses to override their " -"ancestors' operations." -msgstr "" - -#: ../../reference/datamodel.rst:3377 -msgid "" -"These methods are called to implement the augmented arithmetic assignments " -"(``+=``, ``-=``, ``*=``, ``@=``, ``/=``, ``//=``, ``%=``, ``**=``, ``<<=``, " -"``>>=``, ``&=``, ``^=``, ``|=``). These methods should attempt to do the " -"operation in-place (modifying *self*) and return the result (which could be," -" but does not have to be, *self*). If a specific method is not defined, or " -"if that method returns :data:`NotImplemented`, the augmented assignment " -"falls back to the normal methods. For instance, if *x* is an instance of a " -"class with an :meth:`__iadd__` method, ``x += y`` is equivalent to ``x = " -"x.__iadd__(y)`` . If :meth:`__iadd__` does not exist, or if " -"``x.__iadd__(y)`` returns :data:`!NotImplemented`, ``x.__add__(y)`` and " -"``y.__radd__(x)`` are considered, as with the evaluation of ``x + y``. In " -"certain situations, augmented assignment can result in unexpected errors " -"(see :ref:`faq-augmented-assignment-tuple-error`), but this behavior is in " -"fact part of the data model." -msgstr "" - -#: ../../reference/datamodel.rst:3400 -msgid "" -"Called to implement the unary arithmetic operations (``-``, ``+``, " -":func:`abs` and ``~``)." -msgstr "" - -#: ../../reference/datamodel.rst:3413 -msgid "" -"Called to implement the built-in functions :func:`complex`, :func:`int` and " -":func:`float`. Should return a value of the appropriate type." -msgstr "" - -#: ../../reference/datamodel.rst:3420 -msgid "" -"Called to implement :func:`operator.index`, and whenever Python needs to " -"losslessly convert the numeric object to an integer object (such as in " -"slicing, or in the built-in :func:`bin`, :func:`hex` and :func:`oct` " -"functions). Presence of this method indicates that the numeric object is an " -"integer type. Must return an integer." -msgstr "" - -#: ../../reference/datamodel.rst:3426 -msgid "" -"If :meth:`__int__`, :meth:`__float__` and :meth:`__complex__` are not " -"defined then corresponding built-in functions :func:`int`, :func:`float` and" -" :func:`complex` fall back to :meth:`__index__`." -msgstr "" - -#: ../../reference/datamodel.rst:3438 -msgid "" -"Called to implement the built-in function :func:`round` and :mod:`math` " -"functions :func:`~math.trunc`, :func:`~math.floor` and :func:`~math.ceil`. " -"Unless *ndigits* is passed to :meth:`!__round__` all these methods should " -"return the value of the object truncated to an :class:`~numbers.Integral` " -"(typically an :class:`int`)." -msgstr "" - -#: ../../reference/datamodel.rst:3444 -msgid "" -":func:`int` no longer delegates to the :meth:`~object.__trunc__` method." -msgstr "" - -#: ../../reference/datamodel.rst:3451 -msgid "With Statement Context Managers" -msgstr "" - -#: ../../reference/datamodel.rst:3453 -msgid "" -"A :dfn:`context manager` is an object that defines the runtime context to be" -" established when executing a :keyword:`with` statement. The context manager" -" handles the entry into, and the exit from, the desired runtime context for " -"the execution of the block of code. Context managers are normally invoked " -"using the :keyword:`!with` statement (described in section :ref:`with`), but" -" can also be used by directly invoking their methods." -msgstr "" - -#: ../../reference/datamodel.rst:3464 -msgid "" -"Typical uses of context managers include saving and restoring various kinds " -"of global state, locking and unlocking resources, closing opened files, etc." -msgstr "" - -#: ../../reference/datamodel.rst:3467 -msgid "" -"For more information on context managers, see :ref:`typecontextmanager`. The" -" :class:`object` class itself does not provide the context manager methods." -msgstr "" - -#: ../../reference/datamodel.rst:3473 -msgid "" -"Enter the runtime context related to this object. The :keyword:`with` " -"statement will bind this method's return value to the target(s) specified in" -" the :keyword:`!as` clause of the statement, if any." -msgstr "" - -#: ../../reference/datamodel.rst:3480 -msgid "" -"Exit the runtime context related to this object. The parameters describe the" -" exception that caused the context to be exited. If the context was exited " -"without an exception, all three arguments will be :const:`None`." -msgstr "" - -#: ../../reference/datamodel.rst:3484 -msgid "" -"If an exception is supplied, and the method wishes to suppress the exception" -" (i.e., prevent it from being propagated), it should return a true value. " -"Otherwise, the exception will be processed normally upon exit from this " -"method." -msgstr "" - -#: ../../reference/datamodel.rst:3488 -msgid "" -"Note that :meth:`~object.__exit__` methods should not reraise the passed-in " -"exception; this is the caller's responsibility." -msgstr "" - -#: ../../reference/datamodel.rst:3494 -msgid ":pep:`343` - The \"with\" statement" -msgstr "" - -#: ../../reference/datamodel.rst:3495 -msgid "" -"The specification, background, and examples for the Python :keyword:`with` " -"statement." -msgstr "" - -#: ../../reference/datamodel.rst:3502 -msgid "Customizing positional arguments in class pattern matching" -msgstr "" - -#: ../../reference/datamodel.rst:3504 -msgid "" -"When using a class name in a pattern, positional arguments in the pattern " -"are not allowed by default, i.e. ``case MyClass(x, y)`` is typically invalid" -" without special support in ``MyClass``. To be able to use that kind of " -"pattern, the class needs to define a *__match_args__* attribute." -msgstr "" - -#: ../../reference/datamodel.rst:3511 -msgid "" -"This class variable can be assigned a tuple of strings. When this class is " -"used in a class pattern with positional arguments, each positional argument " -"will be converted into a keyword argument, using the corresponding value in " -"*__match_args__* as the keyword. The absence of this attribute is equivalent" -" to setting it to ``()``." -msgstr "" - -#: ../../reference/datamodel.rst:3517 -msgid "" -"For example, if ``MyClass.__match_args__`` is ``(\"left\", \"center\", " -"\"right\")`` that means that ``case MyClass(x, y)`` is equivalent to ``case " -"MyClass(left=x, center=y)``. Note that the number of arguments in the " -"pattern must be smaller than or equal to the number of elements in " -"*__match_args__*; if it is larger, the pattern match attempt will raise a " -":exc:`TypeError`." -msgstr "" - -#: ../../reference/datamodel.rst:3527 -msgid ":pep:`634` - Structural Pattern Matching" -msgstr "" - -#: ../../reference/datamodel.rst:3528 -msgid "The specification for the Python ``match`` statement." -msgstr "" - -#: ../../reference/datamodel.rst:3534 -msgid "Emulating buffer types" -msgstr "" - -#: ../../reference/datamodel.rst:3536 -msgid "" -"The :ref:`buffer protocol ` provides a way for Python objects" -" to expose efficient access to a low-level memory array. This protocol is " -"implemented by builtin types such as :class:`bytes` and :class:`memoryview`," -" and third-party libraries may define additional buffer types." -msgstr "" - -#: ../../reference/datamodel.rst:3541 -msgid "" -"While buffer types are usually implemented in C, it is also possible to " -"implement the protocol in Python." -msgstr "" - -#: ../../reference/datamodel.rst:3546 -msgid "" -"Called when a buffer is requested from *self* (for example, by the " -":class:`memoryview` constructor). The *flags* argument is an integer " -"representing the kind of buffer requested, affecting for example whether the" -" returned buffer is read-only or writable. :class:`inspect.BufferFlags` " -"provides a convenient way to interpret the flags. The method must return a " -":class:`memoryview` object." -msgstr "" - -#: ../../reference/datamodel.rst:3555 -msgid "" -"Called when a buffer is no longer needed. The *buffer* argument is a " -":class:`memoryview` object that was previously returned by " -":meth:`~object.__buffer__`. The method must release any resources associated" -" with the buffer. This method should return ``None``. Buffer objects that do" -" not need to perform any cleanup are not required to implement this method." -msgstr "" - -#: ../../reference/datamodel.rst:3566 -msgid ":pep:`688` - Making the buffer protocol accessible in Python" -msgstr "" - -#: ../../reference/datamodel.rst:3567 -msgid "" -"Introduces the Python ``__buffer__`` and ``__release_buffer__`` methods." -msgstr "" - -#: ../../reference/datamodel.rst:3569 -msgid ":class:`collections.abc.Buffer`" -msgstr "" - -#: ../../reference/datamodel.rst:3570 -msgid "ABC for buffer types." -msgstr "" - -#: ../../reference/datamodel.rst:3573 -msgid "Annotations" -msgstr "" - -#: ../../reference/datamodel.rst:3575 -msgid "" -"Functions, classes, and modules may contain :term:`annotations " -"`, which are a way to associate information (usually :term:`type" -" hints `) with a symbol." -msgstr "" - -#: ../../reference/datamodel.rst:3581 -msgid "" -"This attribute contains the annotations for an object. It is :ref:`lazily " -"evaluated `, so accessing the attribute may execute " -"arbitrary code and raise exceptions. If evaluation is successful, the " -"attribute is set to a dictionary mapping from variable names to annotations." -msgstr "" - -#: ../../reference/datamodel.rst:3586 -msgid "Annotations are now lazily evaluated." -msgstr "" - -#: ../../reference/datamodel.rst:3591 -msgid "" -"An :term:`annotate function`. Returns a new dictionary object mapping " -"attribute/parameter names to their annotation values." -msgstr "" - -#: ../../reference/datamodel.rst:3594 -msgid "" -"Takes a format parameter specifying the format in which annotations values " -"should be provided. It must be a member of the :class:`annotationlib.Format`" -" enum, or an integer with a value corresponding to a member of the enum." -msgstr "" - -#: ../../reference/datamodel.rst:3598 -msgid "" -"If an annotate function doesn't support the requested format, it must raise " -":exc:`NotImplementedError`. Annotate functions must always support " -":attr:`~annotationlib.Format.VALUE` format; they must not raise " -":exc:`NotImplementedError()` when called with this format." -msgstr "" - -#: ../../reference/datamodel.rst:3603 -msgid "" -"When called with :attr:`~annotationlib.Format.VALUE` format, an annotate " -"function may raise :exc:`NameError`; it must not raise :exc:`!NameError` " -"when called requesting any other format." -msgstr "" - -#: ../../reference/datamodel.rst:3606 -msgid "" -"If an object does not have any annotations, :attr:`~object.__annotate__` " -"should preferably be set to ``None`` (it can’t be deleted), rather than set " -"to a function that returns an empty dict." -msgstr "" - -#: ../../reference/datamodel.rst:3613 -msgid ":pep:`649` --- Deferred evaluation of annotation using descriptors" -msgstr "" - -#: ../../reference/datamodel.rst:3614 -msgid "" -"Introduces lazy evaluation of annotations and the ``__annotate__`` function." -msgstr "" - -#: ../../reference/datamodel.rst:3620 -msgid "Special method lookup" -msgstr "" - -#: ../../reference/datamodel.rst:3622 -msgid "" -"For custom classes, implicit invocations of special methods are only " -"guaranteed to work correctly if defined on an object's type, not in the " -"object's instance dictionary. That behaviour is the reason why the " -"following code raises an exception::" -msgstr "" - -#: ../../reference/datamodel.rst:3627 -msgid "" -">>> class C:\n" -"... pass\n" -"...\n" -">>> c = C()\n" -">>> c.__len__ = lambda: 5\n" -">>> len(c)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: object of type 'C' has no len()" -msgstr "" - -#: ../../reference/datamodel.rst:3637 -msgid "" -"The rationale behind this behaviour lies with a number of special methods " -"such as :meth:`~object.__hash__` and :meth:`~object.__repr__` that are " -"implemented by all objects, including type objects. If the implicit lookup " -"of these methods used the conventional lookup process, they would fail when " -"invoked on the type object itself::" -msgstr "" - -#: ../../reference/datamodel.rst:3644 -msgid "" -">>> 1 .__hash__() == hash(1)\n" -"True\n" -">>> int.__hash__() == hash(int)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: descriptor '__hash__' of 'int' object needs an argument" -msgstr "" - -#: ../../reference/datamodel.rst:3651 -msgid "" -"Incorrectly attempting to invoke an unbound method of a class in this way is" -" sometimes referred to as 'metaclass confusion', and is avoided by bypassing" -" the instance when looking up special methods::" -msgstr "" - -#: ../../reference/datamodel.rst:3655 -msgid "" -">>> type(1).__hash__(1) == hash(1)\n" -"True\n" -">>> type(int).__hash__(int) == hash(int)\n" -"True" -msgstr "" - -#: ../../reference/datamodel.rst:3660 -msgid "" -"In addition to bypassing any instance attributes in the interest of " -"correctness, implicit special method lookup generally also bypasses the " -":meth:`~object.__getattribute__` method even of the object's metaclass::" -msgstr "" - -#: ../../reference/datamodel.rst:3664 -msgid "" -">>> class Meta(type):\n" -"... def __getattribute__(*args):\n" -"... print(\"Metaclass getattribute invoked\")\n" -"... return type.__getattribute__(*args)\n" -"...\n" -">>> class C(object, metaclass=Meta):\n" -"... def __len__(self):\n" -"... return 10\n" -"... def __getattribute__(*args):\n" -"... print(\"Class getattribute invoked\")\n" -"... return object.__getattribute__(*args)\n" -"...\n" -">>> c = C()\n" -">>> c.__len__() # Explicit lookup via instance\n" -"Class getattribute invoked\n" -"10\n" -">>> type(c).__len__(c) # Explicit lookup via type\n" -"Metaclass getattribute invoked\n" -"10\n" -">>> len(c) # Implicit lookup\n" -"10" -msgstr "" - -#: ../../reference/datamodel.rst:3686 -msgid "" -"Bypassing the :meth:`~object.__getattribute__` machinery in this fashion " -"provides significant scope for speed optimisations within the interpreter, " -"at the cost of some flexibility in the handling of special methods (the " -"special method *must* be set on the class object itself in order to be " -"consistently invoked by the interpreter)." -msgstr "" - -#: ../../reference/datamodel.rst:3697 -msgid "Coroutines" -msgstr "*Coroutines*" - -#: ../../reference/datamodel.rst:3701 -msgid "Awaitable Objects" -msgstr "" - -#: ../../reference/datamodel.rst:3703 -msgid "" -"An :term:`awaitable` object generally implements an " -":meth:`~object.__await__` method. :term:`Coroutine objects ` " -"returned from :keyword:`async def` functions are awaitable." -msgstr "" - -#: ../../reference/datamodel.rst:3709 -msgid "" -"The :term:`generator iterator` objects returned from generators decorated " -"with :func:`types.coroutine` are also awaitable, but they do not implement " -":meth:`~object.__await__`." -msgstr "" - -#: ../../reference/datamodel.rst:3715 -msgid "" -"Must return an :term:`iterator`. Should be used to implement " -":term:`awaitable` objects. For instance, :class:`asyncio.Future` implements" -" this method to be compatible with the :keyword:`await` expression. The " -":class:`object` class itself is not awaitable and does not provide this " -"method." -msgstr "" - -#: ../../reference/datamodel.rst:3723 -msgid "" -"The language doesn't place any restriction on the type or value of the " -"objects yielded by the iterator returned by ``__await__``, as this is " -"specific to the implementation of the asynchronous execution framework (e.g." -" :mod:`asyncio`) that will be managing the :term:`awaitable` object." -msgstr "" - -#: ../../reference/datamodel.rst:3731 -msgid ":pep:`492` for additional information about awaitable objects." -msgstr "" - -#: ../../reference/datamodel.rst:3737 -msgid "Coroutine Objects" -msgstr "Objek Coroutine" - -#: ../../reference/datamodel.rst:3739 -msgid "" -":term:`Coroutine objects ` are :term:`awaitable` objects. A " -"coroutine's execution can be controlled by calling :meth:`~object.__await__`" -" and iterating over the result. When the coroutine has finished executing " -"and returns, the iterator raises :exc:`StopIteration`, and the exception's " -":attr:`~StopIteration.value` attribute holds the return value. If the " -"coroutine raises an exception, it is propagated by the iterator. Coroutines" -" should not directly raise unhandled :exc:`StopIteration` exceptions." -msgstr "" - -#: ../../reference/datamodel.rst:3747 -msgid "" -"Coroutines also have the methods listed below, which are analogous to those " -"of generators (see :ref:`generator-methods`). However, unlike generators, " -"coroutines do not directly support iteration." -msgstr "" - -#: ../../reference/datamodel.rst:3751 -msgid "It is a :exc:`RuntimeError` to await on a coroutine more than once." -msgstr "" - -#: ../../reference/datamodel.rst:3757 -msgid "" -"Starts or resumes execution of the coroutine. If *value* is ``None``, this " -"is equivalent to advancing the iterator returned by " -":meth:`~object.__await__`. If *value* is not ``None``, this method " -"delegates to the :meth:`~generator.send` method of the iterator that caused " -"the coroutine to suspend. The result (return value, :exc:`StopIteration`, " -"or other exception) is the same as when iterating over the " -":meth:`!__await__` return value, described above." -msgstr "" - -#: ../../reference/datamodel.rst:3768 -msgid "" -"Raises the specified exception in the coroutine. This method delegates to " -"the :meth:`~generator.throw` method of the iterator that caused the " -"coroutine to suspend, if it has such a method. Otherwise, the exception is " -"raised at the suspension point. The result (return value, " -":exc:`StopIteration`, or other exception) is the same as when iterating over" -" the :meth:`~object.__await__` return value, described above. If the " -"exception is not caught in the coroutine, it propagates back to the caller." -msgstr "" - -#: ../../reference/datamodel.rst:3779 -msgid "" -"The second signature \\(type\\[, value\\[, traceback\\]\\]\\) is deprecated " -"and may be removed in a future version of Python." -msgstr "" - -#: ../../reference/datamodel.rst:3784 -msgid "" -"Causes the coroutine to clean itself up and exit. If the coroutine is " -"suspended, this method first delegates to the :meth:`~generator.close` " -"method of the iterator that caused the coroutine to suspend, if it has such " -"a method. Then it raises :exc:`GeneratorExit` at the suspension point, " -"causing the coroutine to immediately clean itself up. Finally, the coroutine" -" is marked as having finished executing, even if it was never started." -msgstr "" - -#: ../../reference/datamodel.rst:3792 -msgid "" -"Coroutine objects are automatically closed using the above process when they" -" are about to be destroyed." -msgstr "" - -#: ../../reference/datamodel.rst:3798 -msgid "Asynchronous Iterators" -msgstr "" - -#: ../../reference/datamodel.rst:3800 -msgid "" -"An *asynchronous iterator* can call asynchronous code in its ``__anext__`` " -"method." -msgstr "" - -#: ../../reference/datamodel.rst:3803 -msgid "" -"Asynchronous iterators can be used in an :keyword:`async for` statement." -msgstr "" - -#: ../../reference/datamodel.rst:3805 ../../reference/datamodel.rst:3854 -msgid "The :class:`object` class itself does not provide these methods." -msgstr "" - -#: ../../reference/datamodel.rst:3810 -msgid "Must return an *asynchronous iterator* object." -msgstr "" - -#: ../../reference/datamodel.rst:3814 -msgid "" -"Must return an *awaitable* resulting in a next value of the iterator. " -"Should raise a :exc:`StopAsyncIteration` error when the iteration is over." -msgstr "" - -#: ../../reference/datamodel.rst:3817 -msgid "An example of an asynchronous iterable object::" -msgstr "" - -#: ../../reference/datamodel.rst:3819 -msgid "" -"class Reader:\n" -" async def readline(self):\n" -" ...\n" -"\n" -" def __aiter__(self):\n" -" return self\n" -"\n" -" async def __anext__(self):\n" -" val = await self.readline()\n" -" if val == b'':\n" -" raise StopAsyncIteration\n" -" return val" -msgstr "" - -#: ../../reference/datamodel.rst:3834 -msgid "" -"Prior to Python 3.7, :meth:`~object.__aiter__` could return an *awaitable* " -"that would resolve to an :term:`asynchronous iterator `." -msgstr "" - -#: ../../reference/datamodel.rst:3839 -msgid "" -"Starting with Python 3.7, :meth:`~object.__aiter__` must return an " -"asynchronous iterator object. Returning anything else will result in a " -":exc:`TypeError` error." -msgstr "" - -#: ../../reference/datamodel.rst:3847 -msgid "Asynchronous Context Managers" -msgstr "" - -#: ../../reference/datamodel.rst:3849 -msgid "" -"An *asynchronous context manager* is a *context manager* that is able to " -"suspend execution in its ``__aenter__`` and ``__aexit__`` methods." -msgstr "" - -#: ../../reference/datamodel.rst:3852 -msgid "" -"Asynchronous context managers can be used in an :keyword:`async with` " -"statement." -msgstr "" - -#: ../../reference/datamodel.rst:3858 -msgid "" -"Semantically similar to :meth:`~object.__enter__`, the only difference being" -" that it must return an *awaitable*." -msgstr "" - -#: ../../reference/datamodel.rst:3863 -msgid "" -"Semantically similar to :meth:`~object.__exit__`, the only difference being " -"that it must return an *awaitable*." -msgstr "" - -#: ../../reference/datamodel.rst:3866 -msgid "An example of an asynchronous context manager class::" -msgstr "" - -#: ../../reference/datamodel.rst:3868 -msgid "" -"class AsyncContextManager:\n" -" async def __aenter__(self):\n" -" await log('entering context')\n" -"\n" -" async def __aexit__(self, exc_type, exc, tb):\n" -" await log('exiting context')" -msgstr "" - -#: ../../reference/datamodel.rst:3879 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../reference/datamodel.rst:3880 -msgid "" -"It *is* possible in some cases to change an object's type, under certain " -"controlled conditions. It generally isn't a good idea though, since it can " -"lead to some very strange behaviour if it is handled incorrectly." -msgstr "" - -#: ../../reference/datamodel.rst:3884 -msgid "" -"The :meth:`~object.__hash__`, :meth:`~object.__iter__`, " -":meth:`~object.__reversed__`, :meth:`~object.__contains__`, " -":meth:`~object.__class_getitem__` and :meth:`~os.PathLike.__fspath__` " -"methods have special handling for this. Others will still raise a " -":exc:`TypeError`, but may do so by relying on the behavior that ``None`` is " -"not callable." -msgstr "" - -#: ../../reference/datamodel.rst:3891 -msgid "" -"\"Does not support\" here means that the class has no such method, or the " -"method returns :data:`NotImplemented`. Do not set the method to ``None`` if" -" you want to force fallback to the right operand's reflected method—that " -"will instead have the opposite effect of explicitly *blocking* such " -"fallback." -msgstr "" - -#: ../../reference/datamodel.rst:3897 -msgid "" -"For operands of the same type, it is assumed that if the non-reflected " -"method (such as :meth:`~object.__add__`) fails then the operation is not " -"supported, which is why the reflected method is not called." -msgstr "" - -#: ../../reference/datamodel.rst:3901 -msgid "" -"If the right operand's type is a subclass of the left operand's type, the " -"reflected method having precedence allows subclasses to override their " -"ancestors' operations." -msgstr "" - -#: ../../reference/datamodel.rst:14 ../../reference/datamodel.rst:152 -#: ../../reference/datamodel.rst:163 ../../reference/datamodel.rst:187 -#: ../../reference/datamodel.rst:199 ../../reference/datamodel.rst:232 -#: ../../reference/datamodel.rst:253 ../../reference/datamodel.rst:268 -#: ../../reference/datamodel.rst:286 ../../reference/datamodel.rst:299 -#: ../../reference/datamodel.rst:331 ../../reference/datamodel.rst:366 -#: ../../reference/datamodel.rst:391 ../../reference/datamodel.rst:412 -#: ../../reference/datamodel.rst:430 ../../reference/datamodel.rst:450 -#: ../../reference/datamodel.rst:458 ../../reference/datamodel.rst:469 -#: ../../reference/datamodel.rst:486 ../../reference/datamodel.rst:522 -#: ../../reference/datamodel.rst:537 ../../reference/datamodel.rst:675 -#: ../../reference/datamodel.rst:813 ../../reference/datamodel.rst:837 -#: ../../reference/datamodel.rst:873 ../../reference/datamodel.rst:1151 -#: ../../reference/datamodel.rst:1299 ../../reference/datamodel.rst:1326 -#: ../../reference/datamodel.rst:1398 ../../reference/datamodel.rst:1506 -#: ../../reference/datamodel.rst:1614 ../../reference/datamodel.rst:1724 -#: ../../reference/datamodel.rst:2149 ../../reference/datamodel.rst:3167 -msgid "object" -msgstr "objek" - -#: ../../reference/datamodel.rst:14 ../../reference/datamodel.rst:126 -msgid "data" -msgstr "data" - -#: ../../reference/datamodel.rst:23 ../../reference/datamodel.rst:299 -#: ../../reference/datamodel.rst:346 ../../reference/datamodel.rst:430 -#: ../../reference/datamodel.rst:469 ../../reference/datamodel.rst:813 -#: ../../reference/datamodel.rst:1355 ../../reference/datamodel.rst:1807 -#: ../../reference/datamodel.rst:2050 ../../reference/datamodel.rst:2056 -#: ../../reference/datamodel.rst:2149 ../../reference/datamodel.rst:2706 -#: ../../reference/datamodel.rst:3137 ../../reference/datamodel.rst:3295 -#: ../../reference/datamodel.rst:3330 ../../reference/datamodel.rst:3398 -#: ../../reference/datamodel.rst:3408 ../../reference/datamodel.rst:3436 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../reference/datamodel.rst:23 -msgid "id" -msgstr "id" - -#: ../../reference/datamodel.rst:23 ../../reference/datamodel.rst:126 -#: ../../reference/datamodel.rst:2706 -msgid "type" -msgstr "tipe" - -#: ../../reference/datamodel.rst:23 -msgid "identity of an object" -msgstr "" - -#: ../../reference/datamodel.rst:23 -msgid "value of an object" -msgstr "" - -#: ../../reference/datamodel.rst:23 -msgid "type of an object" -msgstr "" - -#: ../../reference/datamodel.rst:23 -msgid "mutable object" -msgstr "" - -#: ../../reference/datamodel.rst:23 -msgid "immutable object" -msgstr "" - -#: ../../reference/datamodel.rst:60 -msgid "garbage collection" -msgstr "pengumpulan sampah" - -#: ../../reference/datamodel.rst:60 -msgid "reference counting" -msgstr "" - -#: ../../reference/datamodel.rst:60 -msgid "unreachable object" -msgstr "" - -#: ../../reference/datamodel.rst:95 ../../reference/datamodel.rst:1151 -msgid "container" -msgstr "" - -#: ../../reference/datamodel.rst:126 -msgid "hierarchy" -msgstr "" - -#: ../../reference/datamodel.rst:126 -msgid "extension" -msgstr "" - -#: ../../reference/datamodel.rst:126 ../../reference/datamodel.rst:403 -#: ../../reference/datamodel.rst:404 ../../reference/datamodel.rst:505 -#: ../../reference/datamodel.rst:873 ../../reference/datamodel.rst:893 -#: ../../reference/datamodel.rst:1355 -msgid "module" -msgstr "modul" - -#: ../../reference/datamodel.rst:126 ../../reference/datamodel.rst:268 -#: ../../reference/datamodel.rst:813 -msgid "C" -msgstr "C" - -#: ../../reference/datamodel.rst:126 ../../reference/datamodel.rst:268 -#: ../../reference/datamodel.rst:813 -msgid "language" -msgstr "" - -#: ../../reference/datamodel.rst:139 ../../reference/datamodel.rst:1151 -#: ../../reference/datamodel.rst:1169 ../../reference/datamodel.rst:1299 -#: ../../reference/datamodel.rst:1319 -msgid "attribute" -msgstr "atribut" - -#: ../../reference/datamodel.rst:139 -msgid "special" -msgstr "" - -#: ../../reference/datamodel.rst:139 -msgid "generic" -msgstr "" - -#: ../../reference/datamodel.rst:187 -msgid "..." -msgstr "" - -#: ../../reference/datamodel.rst:187 -msgid "ellipsis literal" -msgstr "" - -#: ../../reference/datamodel.rst:199 ../../reference/datamodel.rst:1326 -msgid "numeric" -msgstr "" - -#: ../../reference/datamodel.rst:232 ../../reference/datamodel.rst:238 -#: ../../reference/datamodel.rst:346 -msgid "integer" -msgstr "bilangan bulat" - -#: ../../reference/datamodel.rst:238 -msgid "representation" -msgstr "" - -#: ../../reference/datamodel.rst:253 -msgid "Boolean" -msgstr "" - -#: ../../reference/datamodel.rst:253 -msgid "False" -msgstr "False" - -#: ../../reference/datamodel.rst:253 -msgid "True" -msgstr "True" - -#: ../../reference/datamodel.rst:268 -msgid "floating-point" -msgstr "" - -#: ../../reference/datamodel.rst:268 ../../reference/datamodel.rst:286 -msgid "number" -msgstr "number" - -#: ../../reference/datamodel.rst:268 -msgid "Java" -msgstr "" - -#: ../../reference/datamodel.rst:286 ../../reference/datamodel.rst:3408 -msgid "complex" -msgstr "" - -#: ../../reference/datamodel.rst:299 ../../reference/datamodel.rst:430 -#: ../../reference/datamodel.rst:469 ../../reference/datamodel.rst:3137 -msgid "len" -msgstr "" - -#: ../../reference/datamodel.rst:299 ../../reference/datamodel.rst:1326 -msgid "sequence" -msgstr "urutan" - -#: ../../reference/datamodel.rst:299 -msgid "index operation" -msgstr "" - -#: ../../reference/datamodel.rst:299 -msgid "item selection" -msgstr "" - -#: ../../reference/datamodel.rst:299 ../../reference/datamodel.rst:391 -#: ../../reference/datamodel.rst:469 -msgid "subscription" -msgstr "" - -#: ../../reference/datamodel.rst:314 ../../reference/datamodel.rst:391 -msgid "slicing" -msgstr "" - -#: ../../reference/datamodel.rst:331 -msgid "immutable sequence" -msgstr "" - -#: ../../reference/datamodel.rst:331 -msgid "immutable" -msgstr "" - -#: ../../reference/datamodel.rst:342 ../../reference/datamodel.rst:2025 -#: ../../reference/datamodel.rst:2056 -msgid "string" -msgstr "string" - -#: ../../reference/datamodel.rst:342 -msgid "immutable sequences" -msgstr "" - -#: ../../reference/datamodel.rst:346 -msgid "chr" -msgstr "" - -#: ../../reference/datamodel.rst:346 -msgid "ord" -msgstr "" - -#: ../../reference/datamodel.rst:346 -msgid "character" -msgstr "" - -#: ../../reference/datamodel.rst:346 -msgid "Unicode" -msgstr "" - -#: ../../reference/datamodel.rst:366 -msgid "tuple" -msgstr "" - -#: ../../reference/datamodel.rst:366 -msgid "singleton" -msgstr "" - -#: ../../reference/datamodel.rst:366 -msgid "empty" -msgstr "" - -#: ../../reference/datamodel.rst:379 ../../reference/datamodel.rst:2050 -msgid "bytes" -msgstr "" - -#: ../../reference/datamodel.rst:379 -msgid "byte" -msgstr "" - -#: ../../reference/datamodel.rst:391 -msgid "mutable sequence" -msgstr "" - -#: ../../reference/datamodel.rst:391 -msgid "mutable" -msgstr "" - -#: ../../reference/datamodel.rst:391 ../../reference/datamodel.rst:1169 -#: ../../reference/datamodel.rst:1319 -msgid "assignment" -msgstr "" - -#: ../../reference/datamodel.rst:391 ../../reference/datamodel.rst:873 -#: ../../reference/datamodel.rst:1761 ../../reference/datamodel.rst:1943 -#: ../../reference/datamodel.rst:3460 -msgid "statement" -msgstr "pernyataan" - -#: ../../reference/datamodel.rst:403 -msgid "array" -msgstr "array" - -#: ../../reference/datamodel.rst:404 -msgid "collections" -msgstr "collections" - -#: ../../reference/datamodel.rst:412 -msgid "list" -msgstr "list" - -#: ../../reference/datamodel.rst:419 -msgid "bytearray" -msgstr "" - -#: ../../reference/datamodel.rst:430 -msgid "set type" -msgstr "" - -#: ../../reference/datamodel.rst:450 -msgid "set" -msgstr "set" - -#: ../../reference/datamodel.rst:458 -msgid "frozenset" -msgstr "" - -#: ../../reference/datamodel.rst:469 ../../reference/datamodel.rst:1326 -msgid "mapping" -msgstr "pemetaan" - -#: ../../reference/datamodel.rst:486 ../../reference/datamodel.rst:1151 -#: ../../reference/datamodel.rst:2149 -msgid "dictionary" -msgstr "dictionary" - -#: ../../reference/datamodel.rst:505 -msgid "dbm.ndbm" -msgstr "" - -#: ../../reference/datamodel.rst:505 -msgid "dbm.gnu" -msgstr "" - -#: ../../reference/datamodel.rst:522 -msgid "callable" -msgstr "" - -#: ../../reference/datamodel.rst:522 ../../reference/datamodel.rst:537 -#: ../../reference/datamodel.rst:757 ../../reference/datamodel.rst:775 -#: ../../reference/datamodel.rst:788 ../../reference/datamodel.rst:813 -msgid "function" -msgstr "fungsi" - -#: ../../reference/datamodel.rst:522 ../../reference/datamodel.rst:1151 -#: ../../reference/datamodel.rst:1174 ../../reference/datamodel.rst:3087 -msgid "call" -msgstr "" - -#: ../../reference/datamodel.rst:522 -msgid "invocation" -msgstr "" - -#: ../../reference/datamodel.rst:522 -msgid "argument" -msgstr "argumen" - -#: ../../reference/datamodel.rst:537 ../../reference/datamodel.rst:675 -msgid "user-defined" -msgstr "" - -#: ../../reference/datamodel.rst:537 -msgid "user-defined function" -msgstr "" - -#: ../../reference/datamodel.rst:550 -msgid "__closure__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:550 -msgid "__globals__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:550 -msgid "global" -msgstr "" - -#: ../../reference/datamodel.rst:550 ../../reference/datamodel.rst:893 -msgid "namespace" -msgstr "" - -#: ../../reference/datamodel.rst:577 -msgid "__doc__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:577 -msgid "__name__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:577 -msgid "__module__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:577 -msgid "__dict__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:577 -msgid "__defaults__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:577 -msgid "__code__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:577 -msgid "__annotations__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:577 -msgid "__annotate__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:577 -msgid "__kwdefaults__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:577 -msgid "__type_params__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:675 ../../reference/datamodel.rst:837 -msgid "method" -msgstr "" - -#: ../../reference/datamodel.rst:675 -msgid "user-defined method" -msgstr "" - -#: ../../reference/datamodel.rst:683 -msgid "__func__ (method attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:683 -msgid "__self__ (method attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:683 -msgid "__doc__ (method attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:683 -msgid "__name__ (method attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:683 -msgid "__module__ (method attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:757 ../../reference/datamodel.rst:1506 -msgid "generator" -msgstr "pembangkit" - -#: ../../reference/datamodel.rst:757 -msgid "iterator" -msgstr "" - -#: ../../reference/datamodel.rst:775 ../../reference/datamodel.rst:3693 -msgid "coroutine" -msgstr "" - -#: ../../reference/datamodel.rst:788 -msgid "asynchronous generator" -msgstr "pembangkit asinkron" - -#: ../../reference/datamodel.rst:788 -msgid "asynchronous iterator" -msgstr "iterator asinkron" - -#: ../../reference/datamodel.rst:837 -msgid "built-in method" -msgstr "" - -#: ../../reference/datamodel.rst:837 -msgid "built-in" -msgstr "" - -#: ../../reference/datamodel.rst:873 -msgid "import" -msgstr "" - -#: ../../reference/datamodel.rst:893 -msgid "__name__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:893 -msgid "__spec__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:893 -msgid "__package__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:893 -msgid "__loader__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:893 -msgid "__path__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:893 -msgid "__file__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:893 -msgid "__cached__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:893 -msgid "__doc__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:893 -msgid "__annotations__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:893 -msgid "__annotate__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1119 -msgid "__dict__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1151 ../../reference/datamodel.rst:1169 -#: ../../reference/datamodel.rst:1299 ../../reference/datamodel.rst:1926 -#: ../../reference/datamodel.rst:2817 -msgid "class" -msgstr "kelas" - -#: ../../reference/datamodel.rst:1151 ../../reference/datamodel.rst:1299 -#: ../../reference/datamodel.rst:1319 -msgid "class instance" -msgstr "" - -#: ../../reference/datamodel.rst:1151 ../../reference/datamodel.rst:1299 -#: ../../reference/datamodel.rst:3087 -msgid "instance" -msgstr "" - -#: ../../reference/datamodel.rst:1151 ../../reference/datamodel.rst:1174 -msgid "class object" -msgstr "" - -#: ../../reference/datamodel.rst:1181 -msgid "__name__ (class attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1181 -msgid "__module__ (class attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1181 -msgid "__dict__ (class attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1181 -msgid "__bases__ (class attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1181 -msgid "__doc__ (class attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1181 -msgid "__annotations__ (class attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1181 -msgid "__annotate__ (class attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1181 -msgid "__type_params__ (class attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1181 -msgid "__static_attributes__ (class attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1181 -msgid "__firstlineno__ (class attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1337 -msgid "__dict__ (instance attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1337 -msgid "__class__ (instance attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1355 -msgid "open" -msgstr "buka" - -#: ../../reference/datamodel.rst:1355 -msgid "io" -msgstr "io" - -#: ../../reference/datamodel.rst:1355 -msgid "popen() (in module os)" -msgstr "" - -#: ../../reference/datamodel.rst:1355 -msgid "makefile() (socket method)" -msgstr "" - -#: ../../reference/datamodel.rst:1355 -msgid "sys.stdin" -msgstr "" - -#: ../../reference/datamodel.rst:1355 -msgid "sys.stdout" -msgstr "" - -#: ../../reference/datamodel.rst:1355 -msgid "sys.stderr" -msgstr "" - -#: ../../reference/datamodel.rst:1355 -msgid "stdio" -msgstr "" - -#: ../../reference/datamodel.rst:1355 -msgid "stdin (in module sys)" -msgstr "" - -#: ../../reference/datamodel.rst:1355 -msgid "stdout (in module sys)" -msgstr "" - -#: ../../reference/datamodel.rst:1355 -msgid "stderr (in module sys)" -msgstr "" - -#: ../../reference/datamodel.rst:1384 -msgid "internal type" -msgstr "" - -#: ../../reference/datamodel.rst:1384 -msgid "types, internal" -msgstr "" - -#: ../../reference/datamodel.rst:1398 -msgid "bytecode" -msgstr "bytecode" - -#: ../../reference/datamodel.rst:1398 -msgid "code" -msgstr "code" - -#: ../../reference/datamodel.rst:1398 -msgid "code object" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_argcount (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_posonlyargcount (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_kwonlyargcount (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_code (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_consts (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_filename (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_firstlineno (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_flags (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_lnotab (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_name (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_names (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_nlocals (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_stacksize (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_varnames (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_cellvars (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_freevars (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1409 -msgid "co_qualname (code object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1522 -msgid "documentation string" -msgstr "" - -#: ../../reference/datamodel.rst:1614 -msgid "frame" -msgstr "" - -#: ../../reference/datamodel.rst:1620 -msgid "f_back (frame attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1620 -msgid "f_code (frame attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1620 -msgid "f_globals (frame attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1620 -msgid "f_locals (frame attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1620 -msgid "f_lasti (frame attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1620 -msgid "f_builtins (frame attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1664 -msgid "f_trace (frame attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1664 -msgid "f_trace_lines (frame attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1664 -msgid "f_trace_opcodes (frame attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1664 -msgid "f_lineno (frame attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1724 -msgid "traceback" -msgstr "" - -#: ../../reference/datamodel.rst:1724 -msgid "stack" -msgstr "" - -#: ../../reference/datamodel.rst:1724 -msgid "trace" -msgstr "" - -#: ../../reference/datamodel.rst:1724 -msgid "exception" -msgstr "" - -#: ../../reference/datamodel.rst:1724 -msgid "handler" -msgstr "" - -#: ../../reference/datamodel.rst:1724 -msgid "execution" -msgstr "" - -#: ../../reference/datamodel.rst:1724 -msgid "exc_info (in module sys)" -msgstr "" - -#: ../../reference/datamodel.rst:1724 -msgid "last_traceback (in module sys)" -msgstr "" - -#: ../../reference/datamodel.rst:1724 -msgid "sys.exc_info" -msgstr "" - -#: ../../reference/datamodel.rst:1724 -msgid "sys.exception" -msgstr "" - -#: ../../reference/datamodel.rst:1724 -msgid "sys.last_traceback" -msgstr "" - -#: ../../reference/datamodel.rst:1761 -msgid "tb_frame (traceback attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1761 -msgid "tb_lineno (traceback attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1761 -msgid "tb_lasti (traceback attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1761 -msgid "try" -msgstr "" - -#: ../../reference/datamodel.rst:1791 -msgid "tb_next (traceback attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1807 ../../reference/datamodel.rst:3167 -msgid "slice" -msgstr "" - -#: ../../reference/datamodel.rst:1813 -msgid "start (slice object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1813 -msgid "stop (slice object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1813 -msgid "step (slice object attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:1861 -msgid "operator" -msgstr "" - -#: ../../reference/datamodel.rst:1861 -msgid "overloading" -msgstr "" - -#: ../../reference/datamodel.rst:1861 -msgid "__getitem__() (mapping object method)" -msgstr "" - -#: ../../reference/datamodel.rst:1897 -msgid "subclassing" -msgstr "" - -#: ../../reference/datamodel.rst:1897 -msgid "immutable types" -msgstr "" - -#: ../../reference/datamodel.rst:1926 -msgid "constructor" -msgstr "" - -#: ../../reference/datamodel.rst:1943 -msgid "destructor" -msgstr "" - -#: ../../reference/datamodel.rst:1943 -msgid "finalizer" -msgstr "" - -#: ../../reference/datamodel.rst:1943 -msgid "del" -msgstr "" - -#: ../../reference/datamodel.rst:2007 -msgid "repr() (built-in function)" -msgstr "" - -#: ../../reference/datamodel.rst:2007 -msgid "__repr__() (object method)" -msgstr "" - -#: ../../reference/datamodel.rst:2025 -msgid "__str__() (object method)" -msgstr "" - -#: ../../reference/datamodel.rst:2025 -msgid "format() (built-in function)" -msgstr "" - -#: ../../reference/datamodel.rst:2025 -msgid "print() (built-in function)" -msgstr "" - -#: ../../reference/datamodel.rst:2056 -msgid "__format__() (object method)" -msgstr "" - -#: ../../reference/datamodel.rst:2056 -msgid "conversion" -msgstr "" - -#: ../../reference/datamodel.rst:2056 -msgid "print" -msgstr "" - -#: ../../reference/datamodel.rst:2098 -msgid "comparisons" -msgstr "" - -#: ../../reference/datamodel.rst:2149 -msgid "hash" -msgstr "" - -#: ../../reference/datamodel.rst:2230 -msgid "__len__() (mapping object method)" -msgstr "" - -#: ../../reference/datamodel.rst:2335 -msgid "__getattr__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:2335 -msgid "__dir__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:2335 -msgid "__class__ (module attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:2706 -msgid "metaclass" -msgstr "" - -#: ../../reference/datamodel.rst:2706 -msgid "= (equals)" -msgstr "" - -#: ../../reference/datamodel.rst:2706 -msgid "class definition" -msgstr "" - -#: ../../reference/datamodel.rst:2770 -msgid "metaclass hint" -msgstr "" - -#: ../../reference/datamodel.rst:2793 -msgid "__prepare__ (metaclass method)" -msgstr "" - -#: ../../reference/datamodel.rst:2817 -msgid "body" -msgstr "" - -#: ../../reference/datamodel.rst:2837 -msgid "__class__ (method cell)" -msgstr "" - -#: ../../reference/datamodel.rst:2837 -msgid "__classcell__ (class namespace entry)" -msgstr "" - -#: ../../reference/datamodel.rst:3137 -msgid "__bool__() (object method)" -msgstr "" - -#: ../../reference/datamodel.rst:3295 ../../reference/datamodel.rst:3330 -msgid "divmod" -msgstr "" - -#: ../../reference/datamodel.rst:3295 ../../reference/datamodel.rst:3330 -msgid "pow" -msgstr "" - -#: ../../reference/datamodel.rst:3398 -msgid "abs" -msgstr "" - -#: ../../reference/datamodel.rst:3408 -msgid "int" -msgstr "int" - -#: ../../reference/datamodel.rst:3408 -msgid "float" -msgstr "float" - -#: ../../reference/datamodel.rst:3436 -msgid "round" -msgstr "" - -#: ../../reference/datamodel.rst:3460 -msgid "with" -msgstr "" - -#: ../../reference/datamodel.rst:3460 -msgid "context manager" -msgstr "manajer konteks" diff --git a/python-newest.reference--executionmodel/id.po b/python-newest.reference--executionmodel/id.po deleted file mode 100644 index 7171c4f..0000000 --- a/python-newest.reference--executionmodel/id.po +++ /dev/null @@ -1,674 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# Elmo , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Elmo , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../reference/executionmodel.rst:6 -msgid "Execution model" -msgstr "" - -#: ../../reference/executionmodel.rst:15 -msgid "Structure of a program" -msgstr "" - -#: ../../reference/executionmodel.rst:19 -msgid "" -"A Python program is constructed from code blocks. A :dfn:`block` is a piece " -"of Python program text that is executed as a unit. The following are blocks:" -" a module, a function body, and a class definition. Each command typed " -"interactively is a block. A script file (a file given as standard input to " -"the interpreter or specified as a command line argument to the interpreter) " -"is a code block. A script command (a command specified on the interpreter " -"command line with the :option:`-c` option) is a code block. A module run as " -"a top level script (as module ``__main__``) from the command line using a " -":option:`-m` argument is also a code block. The string argument passed to " -"the built-in functions :func:`eval` and :func:`exec` is a code block." -msgstr "" - -#: ../../reference/executionmodel.rst:33 -msgid "" -"A code block is executed in an :dfn:`execution frame`. A frame contains " -"some administrative information (used for debugging) and determines where " -"and how execution continues after the code block's execution has completed." -msgstr "" - -#: ../../reference/executionmodel.rst:40 -msgid "Naming and binding" -msgstr "" - -#: ../../reference/executionmodel.rst:49 -msgid "Binding of names" -msgstr "" - -#: ../../reference/executionmodel.rst:55 -msgid "" -":dfn:`Names` refer to objects. Names are introduced by name binding " -"operations." -msgstr "" - -#: ../../reference/executionmodel.rst:59 -msgid "The following constructs bind names:" -msgstr "" - -#: ../../reference/executionmodel.rst:61 -msgid "formal parameters to functions," -msgstr "" - -#: ../../reference/executionmodel.rst:62 -msgid "class definitions," -msgstr "" - -#: ../../reference/executionmodel.rst:63 -msgid "function definitions," -msgstr "" - -#: ../../reference/executionmodel.rst:64 -msgid "assignment expressions," -msgstr "" - -#: ../../reference/executionmodel.rst:65 -msgid "" -":ref:`targets ` that are identifiers if occurring in an " -"assignment:" -msgstr "" - -#: ../../reference/executionmodel.rst:68 -msgid ":keyword:`for` loop header," -msgstr "" - -#: ../../reference/executionmodel.rst:69 -msgid "" -"after :keyword:`!as` in a :keyword:`with` statement, :keyword:`except` " -"clause, :keyword:`except* ` clause, or in the as-pattern in " -"structural pattern matching," -msgstr "" - -#: ../../reference/executionmodel.rst:71 -msgid "in a capture pattern in structural pattern matching" -msgstr "" - -#: ../../reference/executionmodel.rst:73 -msgid ":keyword:`import` statements." -msgstr "" - -#: ../../reference/executionmodel.rst:74 -msgid ":keyword:`type` statements." -msgstr "" - -#: ../../reference/executionmodel.rst:75 -msgid ":ref:`type parameter lists `." -msgstr "" - -#: ../../reference/executionmodel.rst:77 -msgid "" -"The :keyword:`!import` statement of the form ``from ... import *`` binds all" -" names defined in the imported module, except those beginning with an " -"underscore. This form may only be used at the module level." -msgstr "" - -#: ../../reference/executionmodel.rst:81 -msgid "" -"A target occurring in a :keyword:`del` statement is also considered bound " -"for this purpose (though the actual semantics are to unbind the name)." -msgstr "" - -#: ../../reference/executionmodel.rst:84 -msgid "" -"Each assignment or import statement occurs within a block defined by a class" -" or function definition or at the module level (the top-level code block)." -msgstr "" - -#: ../../reference/executionmodel.rst:89 -msgid "" -"If a name is bound in a block, it is a local variable of that block, unless " -"declared as :keyword:`nonlocal` or :keyword:`global`. If a name is bound at" -" the module level, it is a global variable. (The variables of the module " -"code block are local and global.) If a variable is used in a code block but" -" not defined there, it is a :term:`free variable`." -msgstr "" - -#: ../../reference/executionmodel.rst:95 -msgid "" -"Each occurrence of a name in the program text refers to the :dfn:`binding` " -"of that name established by the following name resolution rules." -msgstr "" - -#: ../../reference/executionmodel.rst:101 -msgid "Resolution of names" -msgstr "" - -#: ../../reference/executionmodel.rst:105 -msgid "" -"A :dfn:`scope` defines the visibility of a name within a block. If a local " -"variable is defined in a block, its scope includes that block. If the " -"definition occurs in a function block, the scope extends to any blocks " -"contained within the defining one, unless a contained block introduces a " -"different binding for the name." -msgstr "" - -#: ../../reference/executionmodel.rst:113 -msgid "" -"When a name is used in a code block, it is resolved using the nearest " -"enclosing scope. The set of all such scopes visible to a code block is " -"called the block's :dfn:`environment`." -msgstr "" - -#: ../../reference/executionmodel.rst:121 -msgid "" -"When a name is not found at all, a :exc:`NameError` exception is raised. If " -"the current scope is a function scope, and the name refers to a local " -"variable that has not yet been bound to a value at the point where the name " -"is used, an :exc:`UnboundLocalError` exception is raised. " -":exc:`UnboundLocalError` is a subclass of :exc:`NameError`." -msgstr "" - -#: ../../reference/executionmodel.rst:127 -msgid "" -"If a name binding operation occurs anywhere within a code block, all uses of" -" the name within the block are treated as references to the current block. " -"This can lead to errors when a name is used within a block before it is " -"bound. This rule is subtle. Python lacks declarations and allows name " -"binding operations to occur anywhere within a code block. The local " -"variables of a code block can be determined by scanning the entire text of " -"the block for name binding operations. See :ref:`the FAQ entry on " -"UnboundLocalError ` for examples." -msgstr "" - -#: ../../reference/executionmodel.rst:136 -msgid "" -"If the :keyword:`global` statement occurs within a block, all uses of the " -"names specified in the statement refer to the bindings of those names in the" -" top-level namespace. Names are resolved in the top-level namespace by " -"searching the global namespace, i.e. the namespace of the module containing " -"the code block, and the builtins namespace, the namespace of the module " -":mod:`builtins`. The global namespace is searched first. If the names are " -"not found there, the builtins namespace is searched next. If the names are " -"also not found in the builtins namespace, new variables are created in the " -"global namespace. The global statement must precede all uses of the listed " -"names." -msgstr "" - -#: ../../reference/executionmodel.rst:146 -msgid "" -"The :keyword:`global` statement has the same scope as a name binding " -"operation in the same block. If the nearest enclosing scope for a free " -"variable contains a global statement, the free variable is treated as a " -"global." -msgstr "" - -#: ../../reference/executionmodel.rst:152 -msgid "" -"The :keyword:`nonlocal` statement causes corresponding names to refer to " -"previously bound variables in the nearest enclosing function scope. " -":exc:`SyntaxError` is raised at compile time if the given name does not " -"exist in any enclosing function scope. :ref:`Type parameters ` " -"cannot be rebound with the :keyword:`!nonlocal` statement." -msgstr "" - -#: ../../reference/executionmodel.rst:160 -msgid "" -"The namespace for a module is automatically created the first time a module " -"is imported. The main module for a script is always called :mod:`__main__`." -msgstr "" - -#: ../../reference/executionmodel.rst:163 -msgid "" -"Class definition blocks and arguments to :func:`exec` and :func:`eval` are " -"special in the context of name resolution. A class definition is an " -"executable statement that may use and define names. These references follow " -"the normal rules for name resolution with an exception that unbound local " -"variables are looked up in the global namespace. The namespace of the class " -"definition becomes the attribute dictionary of the class. The scope of names" -" defined in a class block is limited to the class block; it does not extend " -"to the code blocks of methods. This includes comprehensions and generator " -"expressions, but it does not include :ref:`annotation scopes `, which have access to their enclosing class scopes. This means that" -" the following will fail::" -msgstr "" - -#: ../../reference/executionmodel.rst:176 -msgid "" -"class A:\n" -" a = 42\n" -" b = list(a + i for i in range(10))" -msgstr "" - -#: ../../reference/executionmodel.rst:180 -msgid "However, the following will succeed::" -msgstr "" - -#: ../../reference/executionmodel.rst:182 -msgid "" -"class A:\n" -" type Alias = Nested\n" -" class Nested: pass\n" -"\n" -"print(A.Alias.__value__) # " -msgstr "" - -#: ../../reference/executionmodel.rst:191 -msgid "Annotation scopes" -msgstr "" - -#: ../../reference/executionmodel.rst:193 -msgid "" -":term:`Annotations `, :ref:`type parameter lists ` " -"and :keyword:`type` statements introduce *annotation scopes*, which behave " -"mostly like function scopes, but with some exceptions discussed below." -msgstr "" - -#: ../../reference/executionmodel.rst:198 -msgid "Annotation scopes are used in the following contexts:" -msgstr "" - -#: ../../reference/executionmodel.rst:200 -msgid ":term:`Function annotations `." -msgstr "" - -#: ../../reference/executionmodel.rst:201 -msgid ":term:`Variable annotations `." -msgstr "" - -#: ../../reference/executionmodel.rst:202 -msgid "" -"Type parameter lists for :ref:`generic type aliases `." -msgstr "" - -#: ../../reference/executionmodel.rst:203 -msgid "" -"Type parameter lists for :ref:`generic functions `. A " -"generic function's annotations are executed within the annotation scope, but" -" its defaults and decorators are not." -msgstr "" - -#: ../../reference/executionmodel.rst:206 -msgid "" -"Type parameter lists for :ref:`generic classes `. A generic" -" class's base classes and keyword arguments are executed within the " -"annotation scope, but its decorators are not." -msgstr "" - -#: ../../reference/executionmodel.rst:209 -msgid "" -"The bounds, constraints, and default values for type parameters " -"(:ref:`lazily evaluated `)." -msgstr "" - -#: ../../reference/executionmodel.rst:211 -msgid "The value of type aliases (:ref:`lazily evaluated `)." -msgstr "" - -#: ../../reference/executionmodel.rst:213 -msgid "Annotation scopes differ from function scopes in the following ways:" -msgstr "" - -#: ../../reference/executionmodel.rst:215 -msgid "" -"Annotation scopes have access to their enclosing class namespace. If an " -"annotation scope is immediately within a class scope, or within another " -"annotation scope that is immediately within a class scope, the code in the " -"annotation scope can use names defined in the class scope as if it were " -"executed directly within the class body. This contrasts with regular " -"functions defined within classes, which cannot access names defined in the " -"class scope." -msgstr "" - -#: ../../reference/executionmodel.rst:221 -msgid "" -"Expressions in annotation scopes cannot contain :keyword:`yield`, ``yield " -"from``, :keyword:`await`, or :token:`:= ` expressions. (These expressions are allowed " -"in other scopes contained within the annotation scope.)" -msgstr "" - -#: ../../reference/executionmodel.rst:225 -msgid "" -"Names defined in annotation scopes cannot be rebound with " -":keyword:`nonlocal` statements in inner scopes. This includes only type " -"parameters, as no other syntactic elements that can appear within annotation" -" scopes can introduce new names." -msgstr "" - -#: ../../reference/executionmodel.rst:228 -msgid "" -"While annotation scopes have an internal name, that name is not reflected in" -" the :term:`qualified name` of objects defined within the scope. Instead, " -"the :attr:`~definition.__qualname__` of such objects is as if the object " -"were defined in the enclosing scope." -msgstr "" - -#: ../../reference/executionmodel.rst:233 -msgid "" -"Annotation scopes were introduced in Python 3.12 as part of :pep:`695`." -msgstr "" - -#: ../../reference/executionmodel.rst:236 -msgid "" -"Annotation scopes are also used for type parameter defaults, as introduced " -"by :pep:`696`." -msgstr "" - -#: ../../reference/executionmodel.rst:240 -msgid "" -"Annotation scopes are now also used for annotations, as specified in " -":pep:`649` and :pep:`749`." -msgstr "" - -#: ../../reference/executionmodel.rst:247 -msgid "Lazy evaluation" -msgstr "" - -#: ../../reference/executionmodel.rst:249 -msgid "" -"Most annotation scopes are *lazily evaluated*. This includes annotations, " -"the values of type aliases created through the :keyword:`type` statement, " -"and the bounds, constraints, and default values of type variables created " -"through the :ref:`type parameter syntax `. This means that they" -" are not evaluated when the type alias or type variable is created, or when " -"the object carrying annotations is created. Instead, they are only evaluated" -" when necessary, for example when the ``__value__`` attribute on a type " -"alias is accessed." -msgstr "" - -#: ../../reference/executionmodel.rst:258 -msgid "Example:" -msgstr "Contoh:" - -#: ../../reference/executionmodel.rst:260 -msgid "" -">>> type Alias = 1/0\n" -">>> Alias.__value__\n" -"Traceback (most recent call last):\n" -" ...\n" -"ZeroDivisionError: division by zero\n" -">>> def func[T: 1/0](): pass\n" -">>> T = func.__type_params__[0]\n" -">>> T.__bound__\n" -"Traceback (most recent call last):\n" -" ...\n" -"ZeroDivisionError: division by zero" -msgstr "" - -#: ../../reference/executionmodel.rst:274 -msgid "" -"Here the exception is raised only when the ``__value__`` attribute of the " -"type alias or the ``__bound__`` attribute of the type variable is accessed." -msgstr "" - -#: ../../reference/executionmodel.rst:278 -msgid "" -"This behavior is primarily useful for references to types that have not yet " -"been defined when the type alias or type variable is created. For example, " -"lazy evaluation enables creation of mutually recursive type aliases::" -msgstr "" - -#: ../../reference/executionmodel.rst:282 -msgid "" -"from typing import Literal\n" -"\n" -"type SimpleExpr = int | Parenthesized\n" -"type Parenthesized = tuple[Literal[\"(\"], Expr, Literal[\")\"]]\n" -"type Expr = SimpleExpr | tuple[SimpleExpr, Literal[\"+\", \"-\"], Expr]" -msgstr "" - -#: ../../reference/executionmodel.rst:288 -msgid "" -"Lazily evaluated values are evaluated in :ref:`annotation scope `, which means that names that appear inside the lazily evaluated " -"value are looked up as if they were used in the immediately enclosing scope." -msgstr "" - -#: ../../reference/executionmodel.rst:297 -msgid "Builtins and restricted execution" -msgstr "" - -#: ../../reference/executionmodel.rst:303 -msgid "" -"Users should not touch ``__builtins__``; it is strictly an implementation " -"detail. Users wanting to override values in the builtins namespace should " -":keyword:`import` the :mod:`builtins` module and modify its attributes " -"appropriately." -msgstr "" - -#: ../../reference/executionmodel.rst:308 -msgid "" -"The builtins namespace associated with the execution of a code block is " -"actually found by looking up the name ``__builtins__`` in its global " -"namespace; this should be a dictionary or a module (in the latter case the " -"module's dictionary is used). By default, when in the :mod:`__main__` " -"module, ``__builtins__`` is the built-in module :mod:`builtins`; when in any" -" other module, ``__builtins__`` is an alias for the dictionary of the " -":mod:`builtins` module itself." -msgstr "" - -#: ../../reference/executionmodel.rst:320 -msgid "Interaction with dynamic features" -msgstr "" - -#: ../../reference/executionmodel.rst:322 -msgid "" -"Name resolution of free variables occurs at runtime, not at compile time. " -"This means that the following code will print 42::" -msgstr "" - -#: ../../reference/executionmodel.rst:325 -msgid "" -"i = 10\n" -"def f():\n" -" print(i)\n" -"i = 42\n" -"f()" -msgstr "" - -#: ../../reference/executionmodel.rst:333 -msgid "" -"The :func:`eval` and :func:`exec` functions do not have access to the full " -"environment for resolving names. Names may be resolved in the local and " -"global namespaces of the caller. Free variables are not resolved in the " -"nearest enclosing namespace, but in the global namespace. [#]_ The " -":func:`exec` and :func:`eval` functions have optional arguments to override " -"the global and local namespace. If only one namespace is specified, it is " -"used for both." -msgstr "" - -#: ../../reference/executionmodel.rst:347 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../reference/executionmodel.rst:358 -msgid "" -"Exceptions are a means of breaking out of the normal flow of control of a " -"code block in order to handle errors or other exceptional conditions. An " -"exception is *raised* at the point where the error is detected; it may be " -"*handled* by the surrounding code block or by any code block that directly " -"or indirectly invoked the code block where the error occurred." -msgstr "" - -#: ../../reference/executionmodel.rst:364 -msgid "" -"The Python interpreter raises an exception when it detects a run-time error " -"(such as division by zero). A Python program can also explicitly raise an " -"exception with the :keyword:`raise` statement. Exception handlers are " -"specified with the :keyword:`try` ... :keyword:`except` statement. The " -":keyword:`finally` clause of such a statement can be used to specify cleanup" -" code which does not handle the exception, but is executed whether an " -"exception occurred or not in the preceding code." -msgstr "" - -#: ../../reference/executionmodel.rst:374 -msgid "" -"Python uses the \"termination\" model of error handling: an exception " -"handler can find out what happened and continue execution at an outer level," -" but it cannot repair the cause of the error and retry the failing operation" -" (except by re-entering the offending piece of code from the top)." -msgstr "" - -#: ../../reference/executionmodel.rst:381 -msgid "" -"When an exception is not handled at all, the interpreter terminates " -"execution of the program, or returns to its interactive main loop. In " -"either case, it prints a stack traceback, except when the exception is " -":exc:`SystemExit`." -msgstr "" - -#: ../../reference/executionmodel.rst:385 -msgid "" -"Exceptions are identified by class instances. The :keyword:`except` clause " -"is selected depending on the class of the instance: it must reference the " -"class of the instance or a :term:`non-virtual base class ` thereof. The instance can be received by the handler and can carry " -"additional information about the exceptional condition." -msgstr "" - -#: ../../reference/executionmodel.rst:393 -msgid "" -"Exception messages are not part of the Python API. Their contents may " -"change from one version of Python to the next without warning and should not" -" be relied on by code which will run under multiple versions of the " -"interpreter." -msgstr "" - -#: ../../reference/executionmodel.rst:397 -msgid "" -"See also the description of the :keyword:`try` statement in section " -":ref:`try` and :keyword:`raise` statement in section :ref:`raise`." -msgstr "" - -#: ../../reference/executionmodel.rst:402 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../reference/executionmodel.rst:403 -msgid "" -"This limitation occurs because the code that is executed by these operations" -" is not available at the time the module is compiled." -msgstr "" - -#: ../../reference/executionmodel.rst:8 -msgid "execution model" -msgstr "" - -#: ../../reference/executionmodel.rst:8 -msgid "code" -msgstr "code" - -#: ../../reference/executionmodel.rst:8 ../../reference/executionmodel.rst:17 -msgid "block" -msgstr "" - -#: ../../reference/executionmodel.rst:31 -#: ../../reference/executionmodel.rst:299 -msgid "execution" -msgstr "" - -#: ../../reference/executionmodel.rst:31 -msgid "frame" -msgstr "" - -#: ../../reference/executionmodel.rst:42 -msgid "namespace" -msgstr "" - -#: ../../reference/executionmodel.rst:42 -#: ../../reference/executionmodel.rst:103 -msgid "scope" -msgstr "" - -#: ../../reference/executionmodel.rst:51 -msgid "name" -msgstr "nama" - -#: ../../reference/executionmodel.rst:51 -msgid "binding" -msgstr "" - -#: ../../reference/executionmodel.rst:57 -msgid "from" -msgstr "dari" - -#: ../../reference/executionmodel.rst:57 -msgid "import statement" -msgstr "" - -#: ../../reference/executionmodel.rst:87 -msgid "free" -msgstr "" - -#: ../../reference/executionmodel.rst:87 -msgid "variable" -msgstr "variabel" - -#: ../../reference/executionmodel.rst:111 -msgid "environment" -msgstr "" - -#: ../../reference/executionmodel.rst:117 -msgid "NameError (built-in exception)" -msgstr "" - -#: ../../reference/executionmodel.rst:117 -msgid "UnboundLocalError" -msgstr "" - -#: ../../reference/executionmodel.rst:158 -msgid "module" -msgstr "modul" - -#: ../../reference/executionmodel.rst:158 -msgid "__main__" -msgstr "" - -#: ../../reference/executionmodel.rst:299 -msgid "restricted" -msgstr "" - -#: ../../reference/executionmodel.rst:349 -msgid "exception" -msgstr "" - -#: ../../reference/executionmodel.rst:351 -msgid "raise an exception" -msgstr "" - -#: ../../reference/executionmodel.rst:351 -msgid "handle an exception" -msgstr "" - -#: ../../reference/executionmodel.rst:351 -msgid "exception handler" -msgstr "" - -#: ../../reference/executionmodel.rst:351 -msgid "errors" -msgstr "" - -#: ../../reference/executionmodel.rst:351 -msgid "error handling" -msgstr "" - -#: ../../reference/executionmodel.rst:372 -msgid "termination model" -msgstr "" - -#: ../../reference/executionmodel.rst:379 -msgid "SystemExit (built-in exception)" -msgstr "" diff --git a/python-newest.reference--expressions/id.po b/python-newest.reference--expressions/id.po deleted file mode 100644 index 92b11a8..0000000 --- a/python-newest.reference--expressions/id.po +++ /dev/null @@ -1,3206 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2023 -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../reference/expressions.rst:6 -msgid "Expressions" -msgstr "" - -#: ../../reference/expressions.rst:10 -msgid "" -"This chapter explains the meaning of the elements of expressions in Python." -msgstr "" - -#: ../../reference/expressions.rst:12 -msgid "" -"**Syntax Notes:** In this and the following chapters, extended BNF notation " -"will be used to describe syntax, not lexical analysis. When (one " -"alternative of) a syntax rule has the form" -msgstr "" - -#: ../../reference/expressions.rst:19 -msgid "" -"and no semantics are given, the semantics of this form of ``name`` are the " -"same as for ``othername``." -msgstr "" - -#: ../../reference/expressions.rst:26 -msgid "Arithmetic conversions" -msgstr "" - -#: ../../reference/expressions.rst:30 -msgid "" -"When a description of an arithmetic operator below uses the phrase \"the " -"numeric arguments are converted to a common real type\", this means that the" -" operator implementation for built-in types works as follows:" -msgstr "" - -#: ../../reference/expressions.rst:34 -msgid "If both arguments are complex numbers, no conversion is performed;" -msgstr "" - -#: ../../reference/expressions.rst:36 -msgid "" -"if either argument is a complex or a floating-point number, the other is " -"converted to a floating-point number;" -msgstr "" - -#: ../../reference/expressions.rst:38 -msgid "otherwise, both must be integers and no conversion is necessary." -msgstr "" - -#: ../../reference/expressions.rst:40 -msgid "" -"Some additional rules apply for certain operators (e.g., a string as a left " -"argument to the '%' operator). Extensions must define their own conversion " -"behavior." -msgstr "" - -#: ../../reference/expressions.rst:48 -msgid "Atoms" -msgstr "" - -#: ../../reference/expressions.rst:52 -msgid "" -"Atoms are the most basic elements of expressions. The simplest atoms are " -"identifiers or literals. Forms enclosed in parentheses, brackets or braces " -"are also categorized syntactically as atoms. The syntax for atoms is:" -msgstr "" - -#: ../../reference/expressions.rst:65 -msgid "Identifiers (Names)" -msgstr "" - -#: ../../reference/expressions.rst:69 -msgid "" -"An identifier occurring as an atom is a name. See section " -":ref:`identifiers` for lexical definition and section :ref:`naming` for " -"documentation of naming and binding." -msgstr "" - -#: ../../reference/expressions.rst:75 -msgid "" -"When the name is bound to an object, evaluation of the atom yields that " -"object. When a name is not bound, an attempt to evaluate it raises a " -":exc:`NameError` exception." -msgstr "" - -#: ../../reference/expressions.rst:86 -msgid "Private name mangling" -msgstr "" - -#: ../../reference/expressions.rst:88 -msgid "" -"When an identifier that textually occurs in a class definition begins with " -"two or more underscore characters and does not end in two or more " -"underscores, it is considered a :dfn:`private name` of that class." -msgstr "" - -#: ../../reference/expressions.rst:94 -msgid "The :ref:`class specifications `." -msgstr "" - -#: ../../reference/expressions.rst:96 -msgid "" -"More precisely, private names are transformed to a longer form before code " -"is generated for them. If the transformed name is longer than 255 " -"characters, implementation-defined truncation may happen." -msgstr "" - -#: ../../reference/expressions.rst:100 -msgid "" -"The transformation is independent of the syntactical context in which the " -"identifier is used but only the following private identifiers are mangled:" -msgstr "" - -#: ../../reference/expressions.rst:103 -msgid "" -"Any name used as the name of a variable that is assigned or read or any name" -" of an attribute being accessed." -msgstr "" - -#: ../../reference/expressions.rst:106 -msgid "" -"The :attr:`~definition.__name__` attribute of nested functions, classes, and" -" type aliases is however not mangled." -msgstr "" - -#: ../../reference/expressions.rst:109 -msgid "" -"The name of imported modules, e.g., ``__spam`` in ``import __spam``. If the " -"module is part of a package (i.e., its name contains a dot), the name is " -"*not* mangled, e.g., the ``__foo`` in ``import __foo.bar`` is not mangled." -msgstr "" - -#: ../../reference/expressions.rst:114 -msgid "" -"The name of an imported member, e.g., ``__f`` in ``from spam import __f``." -msgstr "" - -#: ../../reference/expressions.rst:116 -msgid "The transformation rule is defined as follows:" -msgstr "" - -#: ../../reference/expressions.rst:118 -msgid "" -"The class name, with leading underscores removed and a single leading " -"underscore inserted, is inserted in front of the identifier, e.g., the " -"identifier ``__spam`` occurring in a class named ``Foo``, ``_Foo`` or " -"``__Foo`` is transformed to ``_Foo__spam``." -msgstr "" - -#: ../../reference/expressions.rst:123 -msgid "" -"If the class name consists only of underscores, the transformation is the " -"identity, e.g., the identifier ``__spam`` occurring in a class named ``_`` " -"or ``__`` is left as is." -msgstr "" - -#: ../../reference/expressions.rst:130 -msgid "Literals" -msgstr "" - -#: ../../reference/expressions.rst:134 -msgid "" -"Python supports string and bytes literals and various numeric literals:" -msgstr "" - -#: ../../reference/expressions.rst:140 -msgid "" -"Evaluation of a literal yields an object of the given type (string, bytes, " -"integer, floating-point number, complex number) with the given value. The " -"value may be approximated in the case of floating-point and imaginary " -"(complex) literals. See section :ref:`literals` for details." -msgstr "" - -#: ../../reference/expressions.rst:149 -msgid "" -"All literals correspond to immutable data types, and hence the object's " -"identity is less important than its value. Multiple evaluations of literals" -" with the same value (either the same occurrence in the program text or a " -"different occurrence) may obtain the same object or a different object with " -"the same value." -msgstr "" - -#: ../../reference/expressions.rst:159 -msgid "Parenthesized forms" -msgstr "" - -#: ../../reference/expressions.rst:165 -msgid "" -"A parenthesized form is an optional expression list enclosed in parentheses:" -msgstr "" - -#: ../../reference/expressions.rst:170 -msgid "" -"A parenthesized expression list yields whatever that expression list yields:" -" if the list contains at least one comma, it yields a tuple; otherwise, it " -"yields the single expression that makes up the expression list." -msgstr "" - -#: ../../reference/expressions.rst:176 -msgid "" -"An empty pair of parentheses yields an empty tuple object. Since tuples are" -" immutable, the same rules as for literals apply (i.e., two occurrences of " -"the empty tuple may or may not yield the same object)." -msgstr "" - -#: ../../reference/expressions.rst:184 -msgid "" -"Note that tuples are not formed by the parentheses, but rather by use of the" -" comma. The exception is the empty tuple, for which parentheses *are* " -"required --- allowing unparenthesized \"nothing\" in expressions would cause" -" ambiguities and allow common typos to pass uncaught." -msgstr "" - -#: ../../reference/expressions.rst:193 -msgid "Displays for lists, sets and dictionaries" -msgstr "" - -#: ../../reference/expressions.rst:197 -msgid "" -"For constructing a list, a set or a dictionary Python provides special " -"syntax called \"displays\", each of them in two flavors:" -msgstr "" - -#: ../../reference/expressions.rst:200 -msgid "either the container contents are listed explicitly, or" -msgstr "" - -#: ../../reference/expressions.rst:202 -msgid "" -"they are computed via a set of looping and filtering instructions, called a " -":dfn:`comprehension`." -msgstr "" - -#: ../../reference/expressions.rst:210 -msgid "Common syntax elements for comprehensions are:" -msgstr "" - -#: ../../reference/expressions.rst:218 -msgid "" -"The comprehension consists of a single expression followed by at least one " -":keyword:`!for` clause and zero or more :keyword:`!for` or :keyword:`!if` " -"clauses. In this case, the elements of the new container are those that " -"would be produced by considering each of the :keyword:`!for` or " -":keyword:`!if` clauses a block, nesting from left to right, and evaluating " -"the expression to produce an element each time the innermost block is " -"reached." -msgstr "" - -#: ../../reference/expressions.rst:225 -msgid "" -"However, aside from the iterable expression in the leftmost :keyword:`!for` " -"clause, the comprehension is executed in a separate implicitly nested scope." -" This ensures that names assigned to in the target list don't \"leak\" into " -"the enclosing scope." -msgstr "" - -#: ../../reference/expressions.rst:229 -msgid "" -"The iterable expression in the leftmost :keyword:`!for` clause is evaluated " -"directly in the enclosing scope and then passed as an argument to the " -"implicitly nested scope. Subsequent :keyword:`!for` clauses and any filter " -"condition in the leftmost :keyword:`!for` clause cannot be evaluated in the " -"enclosing scope as they may depend on the values obtained from the leftmost " -"iterable. For example: ``[x*y for x in range(10) for y in range(x, x+10)]``." -msgstr "" - -#: ../../reference/expressions.rst:236 -msgid "" -"To ensure the comprehension always results in a container of the appropriate" -" type, ``yield`` and ``yield from`` expressions are prohibited in the " -"implicitly nested scope." -msgstr "" - -#: ../../reference/expressions.rst:243 -msgid "" -"Since Python 3.6, in an :keyword:`async def` function, an :keyword:`!async " -"for` clause may be used to iterate over a :term:`asynchronous iterator`. A " -"comprehension in an :keyword:`!async def` function may consist of either a " -":keyword:`!for` or :keyword:`!async for` clause following the leading " -"expression, may contain additional :keyword:`!for` or :keyword:`!async for` " -"clauses, and may also use :keyword:`await` expressions." -msgstr "" - -#: ../../reference/expressions.rst:250 -msgid "" -"If a comprehension contains :keyword:`!async for` clauses, or if it contains" -" :keyword:`!await` expressions or other asynchronous comprehensions anywhere" -" except the iterable expression in the leftmost :keyword:`!for` clause, it " -"is called an :dfn:`asynchronous comprehension`. An asynchronous " -"comprehension may suspend the execution of the coroutine function in which " -"it appears. See also :pep:`530`." -msgstr "" - -#: ../../reference/expressions.rst:257 -msgid "Asynchronous comprehensions were introduced." -msgstr "" - -#: ../../reference/expressions.rst:260 ../../reference/expressions.rst:438 -msgid "" -"``yield`` and ``yield from`` prohibited in the implicitly nested scope." -msgstr "" - -#: ../../reference/expressions.rst:263 -msgid "" -"Asynchronous comprehensions are now allowed inside comprehensions in " -"asynchronous functions. Outer comprehensions implicitly become asynchronous." -msgstr "" - -#: ../../reference/expressions.rst:272 -msgid "List displays" -msgstr "" - -#: ../../reference/expressions.rst:282 -msgid "" -"A list display is a possibly empty series of expressions enclosed in square " -"brackets:" -msgstr "" - -#: ../../reference/expressions.rst:288 -msgid "" -"A list display yields a new list object, the contents being specified by " -"either a list of expressions or a comprehension. When a comma-separated " -"list of expressions is supplied, its elements are evaluated from left to " -"right and placed into the list object in that order. When a comprehension " -"is supplied, the list is constructed from the elements resulting from the " -"comprehension." -msgstr "" - -#: ../../reference/expressions.rst:298 -msgid "Set displays" -msgstr "" - -#: ../../reference/expressions.rst:307 -msgid "" -"A set display is denoted by curly braces and distinguishable from dictionary" -" displays by the lack of colons separating keys and values:" -msgstr "" - -#: ../../reference/expressions.rst:313 -msgid "" -"A set display yields a new mutable set object, the contents being specified " -"by either a sequence of expressions or a comprehension. When a comma-" -"separated list of expressions is supplied, its elements are evaluated from " -"left to right and added to the set object. When a comprehension is " -"supplied, the set is constructed from the elements resulting from the " -"comprehension." -msgstr "" - -#: ../../reference/expressions.rst:319 -msgid "" -"An empty set cannot be constructed with ``{}``; this literal constructs an " -"empty dictionary." -msgstr "" - -#: ../../reference/expressions.rst:326 -msgid "Dictionary displays" -msgstr "" - -#: ../../reference/expressions.rst:337 -msgid "" -"A dictionary display is a possibly empty series of dict items (key/value " -"pairs) enclosed in curly braces:" -msgstr "" - -#: ../../reference/expressions.rst:346 -msgid "A dictionary display yields a new dictionary object." -msgstr "" - -#: ../../reference/expressions.rst:348 -msgid "" -"If a comma-separated sequence of dict items is given, they are evaluated " -"from left to right to define the entries of the dictionary: each key object " -"is used as a key into the dictionary to store the corresponding value. This" -" means that you can specify the same key multiple times in the dict item " -"list, and the final dictionary's value for that key will be the last one " -"given." -msgstr "" - -#: ../../reference/expressions.rst:358 -msgid "" -"A double asterisk ``**`` denotes :dfn:`dictionary unpacking`. Its operand " -"must be a :term:`mapping`. Each mapping item is added to the new " -"dictionary. Later values replace values already set by earlier dict items " -"and earlier dictionary unpackings." -msgstr "" - -#: ../../reference/expressions.rst:363 -msgid "Unpacking into dictionary displays, originally proposed by :pep:`448`." -msgstr "" - -#: ../../reference/expressions.rst:366 -msgid "" -"A dict comprehension, in contrast to list and set comprehensions, needs two " -"expressions separated with a colon followed by the usual \"for\" and \"if\" " -"clauses. When the comprehension is run, the resulting key and value elements" -" are inserted in the new dictionary in the order they are produced." -msgstr "" - -#: ../../reference/expressions.rst:374 -msgid "" -"Restrictions on the types of the key values are listed earlier in section " -":ref:`types`. (To summarize, the key type should be :term:`hashable`, which" -" excludes all mutable objects.) Clashes between duplicate keys are not " -"detected; the last value (textually rightmost in the display) stored for a " -"given key value prevails." -msgstr "" - -#: ../../reference/expressions.rst:380 -msgid "" -"Prior to Python 3.8, in dict comprehensions, the evaluation order of key and" -" value was not well-defined. In CPython, the value was evaluated before the" -" key. Starting with 3.8, the key is evaluated before the value, as proposed" -" by :pep:`572`." -msgstr "" - -#: ../../reference/expressions.rst:390 -msgid "Generator expressions" -msgstr "" - -#: ../../reference/expressions.rst:397 -msgid "A generator expression is a compact generator notation in parentheses:" -msgstr "" - -#: ../../reference/expressions.rst:402 -msgid "" -"A generator expression yields a new generator object. Its syntax is the " -"same as for comprehensions, except that it is enclosed in parentheses " -"instead of brackets or curly braces." -msgstr "" - -#: ../../reference/expressions.rst:406 -msgid "" -"Variables used in the generator expression are evaluated lazily when the " -":meth:`~generator.__next__` method is called for the generator object (in " -"the same fashion as normal generators). However, the iterable expression in" -" the leftmost :keyword:`!for` clause is immediately evaluated, so that an " -"error produced by it will be emitted at the point where the generator " -"expression is defined, rather than at the point where the first value is " -"retrieved. Subsequent :keyword:`!for` clauses and any filter condition in " -"the leftmost :keyword:`!for` clause cannot be evaluated in the enclosing " -"scope as they may depend on the values obtained from the leftmost iterable. " -"For example: ``(x*y for x in range(10) for y in range(x, x+10))``." -msgstr "" - -#: ../../reference/expressions.rst:417 -msgid "" -"The parentheses can be omitted on calls with only one argument. See section" -" :ref:`calls` for details." -msgstr "" - -#: ../../reference/expressions.rst:420 -msgid "" -"To avoid interfering with the expected operation of the generator expression" -" itself, ``yield`` and ``yield from`` expressions are prohibited in the " -"implicitly defined generator." -msgstr "" - -#: ../../reference/expressions.rst:424 -msgid "" -"If a generator expression contains either :keyword:`!async for` clauses or " -":keyword:`await` expressions it is called an :dfn:`asynchronous generator " -"expression`. An asynchronous generator expression returns a new " -"asynchronous generator object, which is an asynchronous iterator (see " -":ref:`async-iterators`)." -msgstr "" - -#: ../../reference/expressions.rst:430 -msgid "Asynchronous generator expressions were introduced." -msgstr "" - -#: ../../reference/expressions.rst:433 -msgid "" -"Prior to Python 3.7, asynchronous generator expressions could only appear in" -" :keyword:`async def` coroutines. Starting with 3.7, any function can use " -"asynchronous generator expressions." -msgstr "" - -#: ../../reference/expressions.rst:445 -msgid "Yield expressions" -msgstr "" - -#: ../../reference/expressions.rst:458 -msgid "" -"The yield expression is used when defining a :term:`generator` function or " -"an :term:`asynchronous generator` function and thus can only be used in the " -"body of a function definition. Using a yield expression in a function's " -"body causes that function to be a generator function, and using it in an " -":keyword:`async def` function's body causes that coroutine function to be an" -" asynchronous generator function. For example::" -msgstr "" - -#: ../../reference/expressions.rst:465 -msgid "" -"def gen(): # defines a generator function\n" -" yield 123\n" -"\n" -"async def agen(): # defines an asynchronous generator function\n" -" yield 123" -msgstr "" - -#: ../../reference/expressions.rst:471 -msgid "" -"Due to their side effects on the containing scope, ``yield`` expressions are" -" not permitted as part of the implicitly defined scopes used to implement " -"comprehensions and generator expressions." -msgstr "" - -#: ../../reference/expressions.rst:475 -msgid "" -"Yield expressions prohibited in the implicitly nested scopes used to " -"implement comprehensions and generator expressions." -msgstr "" - -#: ../../reference/expressions.rst:479 -msgid "" -"Generator functions are described below, while asynchronous generator " -"functions are described separately in section :ref:`asynchronous-generator-" -"functions`." -msgstr "" - -#: ../../reference/expressions.rst:483 -msgid "" -"When a generator function is called, it returns an iterator known as a " -"generator. That generator then controls the execution of the generator " -"function. The execution starts when one of the generator's methods is " -"called. At that time, the execution proceeds to the first yield expression, " -"where it is suspended again, returning the value of :token:`~python-" -"grammar:yield_list` to the generator's caller, or ``None`` if " -":token:`~python-grammar:yield_list` is omitted. By suspended, we mean that " -"all local state is retained, including the current bindings of local " -"variables, the instruction pointer, the internal evaluation stack, and the " -"state of any exception handling. When the execution is resumed by calling " -"one of the generator's methods, the function can proceed exactly as if the " -"yield expression were just another external call. The value of the yield " -"expression after resuming depends on the method which resumed the execution." -" If :meth:`~generator.__next__` is used (typically via either a " -":keyword:`for` or the :func:`next` builtin) then the result is " -":const:`None`. Otherwise, if :meth:`~generator.send` is used, then the " -"result will be the value passed in to that method." -msgstr "" - -#: ../../reference/expressions.rst:503 -msgid "" -"All of this makes generator functions quite similar to coroutines; they " -"yield multiple times, they have more than one entry point and their " -"execution can be suspended. The only difference is that a generator " -"function cannot control where the execution should continue after it yields;" -" the control is always transferred to the generator's caller." -msgstr "" - -#: ../../reference/expressions.rst:509 -msgid "" -"Yield expressions are allowed anywhere in a :keyword:`try` construct. If " -"the generator is not resumed before it is finalized (by reaching a zero " -"reference count or by being garbage collected), the generator-iterator's " -":meth:`~generator.close` method will be called, allowing any pending " -":keyword:`finally` clauses to execute." -msgstr "" - -#: ../../reference/expressions.rst:518 -msgid "" -"When ``yield from `` is used, the supplied expression must be an " -"iterable. The values produced by iterating that iterable are passed directly" -" to the caller of the current generator's methods. Any values passed in with" -" :meth:`~generator.send` and any exceptions passed in with " -":meth:`~generator.throw` are passed to the underlying iterator if it has the" -" appropriate methods. If this is not the case, then :meth:`~generator.send`" -" will raise :exc:`AttributeError` or :exc:`TypeError`, while " -":meth:`~generator.throw` will just raise the passed in exception " -"immediately." -msgstr "" - -#: ../../reference/expressions.rst:527 -msgid "" -"When the underlying iterator is complete, the :attr:`~StopIteration.value` " -"attribute of the raised :exc:`StopIteration` instance becomes the value of " -"the yield expression. It can be either set explicitly when raising " -":exc:`StopIteration`, or automatically when the subiterator is a generator " -"(by returning a value from the subgenerator)." -msgstr "" - -#: ../../reference/expressions.rst:533 -msgid "Added ``yield from `` to delegate control flow to a subiterator." -msgstr "" - -#: ../../reference/expressions.rst:536 -msgid "" -"The parentheses may be omitted when the yield expression is the sole " -"expression on the right hand side of an assignment statement." -msgstr "" - -#: ../../reference/expressions.rst:541 -msgid ":pep:`255` - Simple Generators" -msgstr "" - -#: ../../reference/expressions.rst:542 -msgid "" -"The proposal for adding generators and the :keyword:`yield` statement to " -"Python." -msgstr "" - -#: ../../reference/expressions.rst:544 -msgid ":pep:`342` - Coroutines via Enhanced Generators" -msgstr "" - -#: ../../reference/expressions.rst:545 -msgid "" -"The proposal to enhance the API and syntax of generators, making them usable" -" as simple coroutines." -msgstr "" - -#: ../../reference/expressions.rst:548 -msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" -msgstr "" - -#: ../../reference/expressions.rst:549 -msgid "" -"The proposal to introduce the :token:`~python-grammar:yield_from` syntax, " -"making delegation to subgenerators easy." -msgstr "" - -#: ../../reference/expressions.rst:552 -msgid ":pep:`525` - Asynchronous Generators" -msgstr "" - -#: ../../reference/expressions.rst:553 -msgid "" -"The proposal that expanded on :pep:`492` by adding generator capabilities to" -" coroutine functions." -msgstr "" - -#: ../../reference/expressions.rst:560 -msgid "Generator-iterator methods" -msgstr "" - -#: ../../reference/expressions.rst:562 -msgid "" -"This subsection describes the methods of a generator iterator. They can be " -"used to control the execution of a generator function." -msgstr "" - -#: ../../reference/expressions.rst:565 -msgid "" -"Note that calling any of the generator methods below when the generator is " -"already executing raises a :exc:`ValueError` exception." -msgstr "" - -#: ../../reference/expressions.rst:573 -msgid "" -"Starts the execution of a generator function or resumes it at the last " -"executed yield expression. When a generator function is resumed with a " -":meth:`~generator.__next__` method, the current yield expression always " -"evaluates to :const:`None`. The execution then continues to the next yield " -"expression, where the generator is suspended again, and the value of the " -":token:`~python-grammar:yield_list` is returned to :meth:`__next__`'s " -"caller. If the generator exits without yielding another value, a " -":exc:`StopIteration` exception is raised." -msgstr "" - -#: ../../reference/expressions.rst:582 -msgid "" -"This method is normally called implicitly, e.g. by a :keyword:`for` loop, or" -" by the built-in :func:`next` function." -msgstr "" - -#: ../../reference/expressions.rst:588 -msgid "" -"Resumes the execution and \"sends\" a value into the generator function. " -"The *value* argument becomes the result of the current yield expression. " -"The :meth:`send` method returns the next value yielded by the generator, or " -"raises :exc:`StopIteration` if the generator exits without yielding another " -"value. When :meth:`send` is called to start the generator, it must be " -"called with :const:`None` as the argument, because there is no yield " -"expression that could receive the value." -msgstr "" - -#: ../../reference/expressions.rst:600 -msgid "" -"Raises an exception at the point where the generator was paused, and returns" -" the next value yielded by the generator function. If the generator exits " -"without yielding another value, a :exc:`StopIteration` exception is raised." -" If the generator function does not catch the passed-in exception, or " -"raises a different exception, then that exception propagates to the caller." -msgstr "" - -#: ../../reference/expressions.rst:606 -msgid "" -"In typical use, this is called with a single exception instance similar to " -"the way the :keyword:`raise` keyword is used." -msgstr "" - -#: ../../reference/expressions.rst:609 -msgid "" -"For backwards compatibility, however, the second signature is supported, " -"following a convention from older versions of Python. The *type* argument " -"should be an exception class, and *value* should be an exception instance. " -"If the *value* is not provided, the *type* constructor is called to get an " -"instance. If *traceback* is provided, it is set on the exception, otherwise " -"any existing :attr:`~BaseException.__traceback__` attribute stored in " -"*value* may be cleared." -msgstr "" - -#: ../../reference/expressions.rst:620 ../../reference/expressions.rst:804 -msgid "" -"The second signature \\(type\\[, value\\[, traceback\\]\\]\\) is deprecated " -"and may be removed in a future version of Python." -msgstr "" - -#: ../../reference/expressions.rst:628 -msgid "" -"Raises a :exc:`GeneratorExit` at the point where the generator function was " -"paused. If the generator function catches the exception and returns a " -"value, this value is returned from :meth:`close`. If the generator function" -" is already closed, or raises :exc:`GeneratorExit` (by not catching the " -"exception), :meth:`close` returns :const:`None`. If the generator yields a " -"value, a :exc:`RuntimeError` is raised. If the generator raises any other " -"exception, it is propagated to the caller. If the generator has already " -"exited due to an exception or normal exit, :meth:`close` returns " -":const:`None` and has no other effect." -msgstr "" - -#: ../../reference/expressions.rst:640 -msgid "" -"If a generator returns a value upon being closed, the value is returned by " -":meth:`close`." -msgstr "" - -#: ../../reference/expressions.rst:646 -msgid "Examples" -msgstr "Contoh-contoh" - -#: ../../reference/expressions.rst:648 -msgid "" -"Here is a simple example that demonstrates the behavior of generators and " -"generator functions::" -msgstr "" - -#: ../../reference/expressions.rst:651 -msgid "" -">>> def echo(value=None):\n" -"... print(\"Execution starts when 'next()' is called for the first time.\")\n" -"... try:\n" -"... while True:\n" -"... try:\n" -"... value = (yield value)\n" -"... except Exception as e:\n" -"... value = e\n" -"... finally:\n" -"... print(\"Don't forget to clean up when 'close()' is called.\")\n" -"...\n" -">>> generator = echo(1)\n" -">>> print(next(generator))\n" -"Execution starts when 'next()' is called for the first time.\n" -"1\n" -">>> print(next(generator))\n" -"None\n" -">>> print(generator.send(2))\n" -"2\n" -">>> generator.throw(TypeError, \"spam\")\n" -"TypeError('spam',)\n" -">>> generator.close()\n" -"Don't forget to clean up when 'close()' is called." -msgstr "" - -#: ../../reference/expressions.rst:675 -msgid "" -"For examples using ``yield from``, see :ref:`pep-380` in \"What's New in " -"Python.\"" -msgstr "" - -#: ../../reference/expressions.rst:681 -msgid "Asynchronous generator functions" -msgstr "" - -#: ../../reference/expressions.rst:683 -msgid "" -"The presence of a yield expression in a function or method defined using " -":keyword:`async def` further defines the function as an :term:`asynchronous " -"generator` function." -msgstr "" - -#: ../../reference/expressions.rst:687 -msgid "" -"When an asynchronous generator function is called, it returns an " -"asynchronous iterator known as an asynchronous generator object. That object" -" then controls the execution of the generator function. An asynchronous " -"generator object is typically used in an :keyword:`async for` statement in a" -" coroutine function analogously to how a generator object would be used in a" -" :keyword:`for` statement." -msgstr "" - -#: ../../reference/expressions.rst:694 -msgid "" -"Calling one of the asynchronous generator's methods returns an " -":term:`awaitable` object, and the execution starts when this object is " -"awaited on. At that time, the execution proceeds to the first yield " -"expression, where it is suspended again, returning the value of " -":token:`~python-grammar:yield_list` to the awaiting coroutine. As with a " -"generator, suspension means that all local state is retained, including the " -"current bindings of local variables, the instruction pointer, the internal " -"evaluation stack, and the state of any exception handling. When the " -"execution is resumed by awaiting on the next object returned by the " -"asynchronous generator's methods, the function can proceed exactly as if the" -" yield expression were just another external call. The value of the yield " -"expression after resuming depends on the method which resumed the execution." -" If :meth:`~agen.__anext__` is used then the result is :const:`None`. " -"Otherwise, if :meth:`~agen.asend` is used, then the result will be the value" -" passed in to that method." -msgstr "" - -#: ../../reference/expressions.rst:709 -msgid "" -"If an asynchronous generator happens to exit early by :keyword:`break`, the " -"caller task being cancelled, or other exceptions, the generator's async " -"cleanup code will run and possibly raise exceptions or access context " -"variables in an unexpected context--perhaps after the lifetime of tasks it " -"depends, or during the event loop shutdown when the async-generator garbage " -"collection hook is called. To prevent this, the caller must explicitly close" -" the async generator by calling :meth:`~agen.aclose` method to finalize the " -"generator and ultimately detach it from the event loop." -msgstr "" - -#: ../../reference/expressions.rst:719 -msgid "" -"In an asynchronous generator function, yield expressions are allowed " -"anywhere in a :keyword:`try` construct. However, if an asynchronous " -"generator is not resumed before it is finalized (by reaching a zero " -"reference count or by being garbage collected), then a yield expression " -"within a :keyword:`!try` construct could result in a failure to execute " -"pending :keyword:`finally` clauses. In this case, it is the responsibility " -"of the event loop or scheduler running the asynchronous generator to call " -"the asynchronous generator-iterator's :meth:`~agen.aclose` method and run " -"the resulting coroutine object, thus allowing any pending " -":keyword:`!finally` clauses to execute." -msgstr "" - -#: ../../reference/expressions.rst:730 -msgid "" -"To take care of finalization upon event loop termination, an event loop " -"should define a *finalizer* function which takes an asynchronous generator-" -"iterator and presumably calls :meth:`~agen.aclose` and executes the " -"coroutine. This *finalizer* may be registered by calling " -":func:`sys.set_asyncgen_hooks`. When first iterated over, an asynchronous " -"generator-iterator will store the registered *finalizer* to be called upon " -"finalization. For a reference example of a *finalizer* method see the " -"implementation of ``asyncio.Loop.shutdown_asyncgens`` in " -":source:`Lib/asyncio/base_events.py`." -msgstr "" - -#: ../../reference/expressions.rst:739 -msgid "" -"The expression ``yield from `` is a syntax error when used in an " -"asynchronous generator function." -msgstr "" - -#: ../../reference/expressions.rst:746 -msgid "Asynchronous generator-iterator methods" -msgstr "" - -#: ../../reference/expressions.rst:748 -msgid "" -"This subsection describes the methods of an asynchronous generator iterator," -" which are used to control the execution of a generator function." -msgstr "" - -#: ../../reference/expressions.rst:757 -msgid "" -"Returns an awaitable which when run starts to execute the asynchronous " -"generator or resumes it at the last executed yield expression. When an " -"asynchronous generator function is resumed with an :meth:`~agen.__anext__` " -"method, the current yield expression always evaluates to :const:`None` in " -"the returned awaitable, which when run will continue to the next yield " -"expression. The value of the :token:`~python-grammar:yield_list` of the " -"yield expression is the value of the :exc:`StopIteration` exception raised " -"by the completing coroutine. If the asynchronous generator exits without " -"yielding another value, the awaitable instead raises a " -":exc:`StopAsyncIteration` exception, signalling that the asynchronous " -"iteration has completed." -msgstr "" - -#: ../../reference/expressions.rst:769 -msgid "" -"This method is normally called implicitly by a :keyword:`async for` loop." -msgstr "" - -#: ../../reference/expressions.rst:775 -msgid "" -"Returns an awaitable which when run resumes the execution of the " -"asynchronous generator. As with the :meth:`~generator.send` method for a " -"generator, this \"sends\" a value into the asynchronous generator function, " -"and the *value* argument becomes the result of the current yield expression." -" The awaitable returned by the :meth:`asend` method will return the next " -"value yielded by the generator as the value of the raised " -":exc:`StopIteration`, or raises :exc:`StopAsyncIteration` if the " -"asynchronous generator exits without yielding another value. When " -":meth:`asend` is called to start the asynchronous generator, it must be " -"called with :const:`None` as the argument, because there is no yield " -"expression that could receive the value." -msgstr "" - -#: ../../reference/expressions.rst:792 -msgid "" -"Returns an awaitable that raises an exception of type ``type`` at the point " -"where the asynchronous generator was paused, and returns the next value " -"yielded by the generator function as the value of the raised " -":exc:`StopIteration` exception. If the asynchronous generator exits without" -" yielding another value, a :exc:`StopAsyncIteration` exception is raised by " -"the awaitable. If the generator function does not catch the passed-in " -"exception, or raises a different exception, then when the awaitable is run " -"that exception propagates to the caller of the awaitable." -msgstr "" - -#: ../../reference/expressions.rst:813 -msgid "" -"Returns an awaitable that when run will throw a :exc:`GeneratorExit` into " -"the asynchronous generator function at the point where it was paused. If the" -" asynchronous generator function then exits gracefully, is already closed, " -"or raises :exc:`GeneratorExit` (by not catching the exception), then the " -"returned awaitable will raise a :exc:`StopIteration` exception. Any further " -"awaitables returned by subsequent calls to the asynchronous generator will " -"raise a :exc:`StopAsyncIteration` exception. If the asynchronous generator " -"yields a value, a :exc:`RuntimeError` is raised by the awaitable. If the " -"asynchronous generator raises any other exception, it is propagated to the " -"caller of the awaitable. If the asynchronous generator has already exited " -"due to an exception or normal exit, then further calls to :meth:`aclose` " -"will return an awaitable that does nothing." -msgstr "" - -#: ../../reference/expressions.rst:829 -msgid "Primaries" -msgstr "" - -#: ../../reference/expressions.rst:833 -msgid "" -"Primaries represent the most tightly bound operations of the language. Their" -" syntax is:" -msgstr "" - -#: ../../reference/expressions.rst:843 -msgid "Attribute references" -msgstr "" - -#: ../../reference/expressions.rst:849 -msgid "An attribute reference is a primary followed by a period and a name:" -msgstr "" - -#: ../../reference/expressions.rst:859 -msgid "" -"The primary must evaluate to an object of a type that supports attribute " -"references, which most objects do. This object is then asked to produce the" -" attribute whose name is the identifier. The type and value produced is " -"determined by the object. Multiple evaluations of the same attribute " -"reference may yield different objects." -msgstr "" - -#: ../../reference/expressions.rst:865 -msgid "" -"This production can be customized by overriding the " -":meth:`~object.__getattribute__` method or the :meth:`~object.__getattr__` " -"method. The :meth:`!__getattribute__` method is called first and either " -"returns a value or raises :exc:`AttributeError` if the attribute is not " -"available." -msgstr "" - -#: ../../reference/expressions.rst:871 -msgid "" -"If an :exc:`AttributeError` is raised and the object has a " -":meth:`!__getattr__` method, that method is called as a fallback." -msgstr "" - -#: ../../reference/expressions.rst:877 -msgid "Subscriptions" -msgstr "" - -#: ../../reference/expressions.rst:892 -msgid "" -"The subscription of an instance of a :ref:`container class `" -" will generally select an element from the container. The subscription of a " -":term:`generic class ` will generally return a " -":ref:`GenericAlias ` object." -msgstr "" - -#: ../../reference/expressions.rst:900 -msgid "" -"When an object is subscripted, the interpreter will evaluate the primary and" -" the expression list." -msgstr "" - -#: ../../reference/expressions.rst:903 -msgid "" -"The primary must evaluate to an object that supports subscription. An object" -" may support subscription through defining one or both of " -":meth:`~object.__getitem__` and :meth:`~object.__class_getitem__`. When the " -"primary is subscripted, the evaluated result of the expression list will be " -"passed to one of these methods. For more details on when " -"``__class_getitem__`` is called instead of ``__getitem__``, see " -":ref:`classgetitem-versus-getitem`." -msgstr "" - -#: ../../reference/expressions.rst:910 -msgid "" -"If the expression list contains at least one comma, or if any of the " -"expressions are starred, the expression list will evaluate to a " -":class:`tuple` containing the items of the expression list. Otherwise, the " -"expression list will evaluate to the value of the list's sole member." -msgstr "" - -#: ../../reference/expressions.rst:915 -msgid "Expressions in an expression list may be starred. See :pep:`646`." -msgstr "" - -#: ../../reference/expressions.rst:918 -msgid "" -"For built-in objects, there are two types of objects that support " -"subscription via :meth:`~object.__getitem__`:" -msgstr "" - -#: ../../reference/expressions.rst:921 -msgid "" -"Mappings. If the primary is a :term:`mapping`, the expression list must " -"evaluate to an object whose value is one of the keys of the mapping, and the" -" subscription selects the value in the mapping that corresponds to that key." -" An example of a builtin mapping class is the :class:`dict` class." -msgstr "" - -#: ../../reference/expressions.rst:925 -msgid "" -"Sequences. If the primary is a :term:`sequence`, the expression list must " -"evaluate to an :class:`int` or a :class:`slice` (as discussed in the " -"following section). Examples of builtin sequence classes include the " -":class:`str`, :class:`list` and :class:`tuple` classes." -msgstr "" - -#: ../../reference/expressions.rst:930 -msgid "" -"The formal syntax makes no special provision for negative indices in " -":term:`sequences `. However, built-in sequences all provide a " -":meth:`~object.__getitem__` method that interprets negative indices by " -"adding the length of the sequence to the index so that, for example, " -"``x[-1]`` selects the last item of ``x``. The resulting value must be a " -"nonnegative integer less than the number of items in the sequence, and the " -"subscription selects the item whose index is that value (counting from " -"zero). Since the support for negative indices and slicing occurs in the " -"object's :meth:`~object.__getitem__` method, subclasses overriding this " -"method will need to explicitly add that support." -msgstr "" - -#: ../../reference/expressions.rst:944 -msgid "" -"A :class:`string ` is a special kind of sequence whose items are " -"*characters*. A character is not a separate data type but a string of " -"exactly one character." -msgstr "" - -#: ../../reference/expressions.rst:952 -msgid "Slicings" -msgstr "" - -#: ../../reference/expressions.rst:966 -msgid "" -"A slicing selects a range of items in a sequence object (e.g., a string, " -"tuple or list). Slicings may be used as expressions or as targets in " -"assignment or :keyword:`del` statements. The syntax for a slicing:" -msgstr "" - -#: ../../reference/expressions.rst:979 -msgid "" -"There is ambiguity in the formal syntax here: anything that looks like an " -"expression list also looks like a slice list, so any subscription can be " -"interpreted as a slicing. Rather than further complicating the syntax, this" -" is disambiguated by defining that in this case the interpretation as a " -"subscription takes priority over the interpretation as a slicing (this is " -"the case if the slice list contains no proper slice)." -msgstr "" - -#: ../../reference/expressions.rst:991 -msgid "" -"The semantics for a slicing are as follows. The primary is indexed (using " -"the same :meth:`~object.__getitem__` method as normal subscription) with a " -"key that is constructed from the slice list, as follows. If the slice list " -"contains at least one comma, the key is a tuple containing the conversion of" -" the slice items; otherwise, the conversion of the lone slice item is the " -"key. The conversion of a slice item that is an expression is that " -"expression. The conversion of a proper slice is a slice object (see section" -" :ref:`types`) whose :attr:`~slice.start`, :attr:`~slice.stop` and " -":attr:`~slice.step` attributes are the values of the expressions given as " -"lower bound, upper bound and stride, respectively, substituting ``None`` for" -" missing expressions." -msgstr "" - -#: ../../reference/expressions.rst:1015 -msgid "Calls" -msgstr "" - -#: ../../reference/expressions.rst:1017 -msgid "" -"A call calls a callable object (e.g., a :term:`function`) with a possibly " -"empty series of :term:`arguments `:" -msgstr "" - -#: ../../reference/expressions.rst:1034 -msgid "" -"An optional trailing comma may be present after the positional and keyword " -"arguments but does not affect the semantics." -msgstr "" - -#: ../../reference/expressions.rst:1040 -msgid "" -"The primary must evaluate to a callable object (user-defined functions, " -"built-in functions, methods of built-in objects, class objects, methods of " -"class instances, and all objects having a :meth:`~object.__call__` method " -"are callable). All argument expressions are evaluated before the call is " -"attempted. Please refer to section :ref:`function` for the syntax of formal" -" :term:`parameter` lists." -msgstr "" - -#: ../../reference/expressions.rst:1048 -msgid "" -"If keyword arguments are present, they are first converted to positional " -"arguments, as follows. First, a list of unfilled slots is created for the " -"formal parameters. If there are N positional arguments, they are placed in " -"the first N slots. Next, for each keyword argument, the identifier is used " -"to determine the corresponding slot (if the identifier is the same as the " -"first formal parameter name, the first slot is used, and so on). If the " -"slot is already filled, a :exc:`TypeError` exception is raised. Otherwise, " -"the argument is placed in the slot, filling it (even if the expression is " -"``None``, it fills the slot). When all arguments have been processed, the " -"slots that are still unfilled are filled with the corresponding default " -"value from the function definition. (Default values are calculated, once, " -"when the function is defined; thus, a mutable object such as a list or " -"dictionary used as default value will be shared by all calls that don't " -"specify an argument value for the corresponding slot; this should usually be" -" avoided.) If there are any unfilled slots for which no default value is " -"specified, a :exc:`TypeError` exception is raised. Otherwise, the list of " -"filled slots is used as the argument list for the call." -msgstr "" - -#: ../../reference/expressions.rst:1068 -msgid "" -"An implementation may provide built-in functions whose positional parameters" -" do not have names, even if they are 'named' for the purpose of " -"documentation, and which therefore cannot be supplied by keyword. In " -"CPython, this is the case for functions implemented in C that use " -":c:func:`PyArg_ParseTuple` to parse their arguments." -msgstr "" - -#: ../../reference/expressions.rst:1074 -msgid "" -"If there are more positional arguments than there are formal parameter " -"slots, a :exc:`TypeError` exception is raised, unless a formal parameter " -"using the syntax ``*identifier`` is present; in this case, that formal " -"parameter receives a tuple containing the excess positional arguments (or an" -" empty tuple if there were no excess positional arguments)." -msgstr "" - -#: ../../reference/expressions.rst:1080 -msgid "" -"If any keyword argument does not correspond to a formal parameter name, a " -":exc:`TypeError` exception is raised, unless a formal parameter using the " -"syntax ``**identifier`` is present; in this case, that formal parameter " -"receives a dictionary containing the excess keyword arguments (using the " -"keywords as keys and the argument values as corresponding values), or a " -"(new) empty dictionary if there were no excess keyword arguments." -msgstr "" - -#: ../../reference/expressions.rst:1091 -msgid "" -"If the syntax ``*expression`` appears in the function call, ``expression`` " -"must evaluate to an :term:`iterable`. Elements from these iterables are " -"treated as if they were additional positional arguments. For the call " -"``f(x1, x2, *y, x3, x4)``, if *y* evaluates to a sequence *y1*, ..., *yM*, " -"this is equivalent to a call with M+4 positional arguments *x1*, *x2*, *y1*," -" ..., *yM*, *x3*, *x4*." -msgstr "" - -#: ../../reference/expressions.rst:1098 -msgid "" -"A consequence of this is that although the ``*expression`` syntax may appear" -" *after* explicit keyword arguments, it is processed *before* the keyword " -"arguments (and any ``**expression`` arguments -- see below). So::" -msgstr "" - -#: ../../reference/expressions.rst:1102 -msgid "" -">>> def f(a, b):\n" -"... print(a, b)\n" -"...\n" -">>> f(b=1, *(2,))\n" -"2 1\n" -">>> f(a=1, *(2,))\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: f() got multiple values for keyword argument 'a'\n" -">>> f(1, *(2,))\n" -"1 2" -msgstr "" - -#: ../../reference/expressions.rst:1114 -msgid "" -"It is unusual for both keyword arguments and the ``*expression`` syntax to " -"be used in the same call, so in practice this confusion does not often " -"arise." -msgstr "" - -#: ../../reference/expressions.rst:1120 -msgid "" -"If the syntax ``**expression`` appears in the function call, ``expression`` " -"must evaluate to a :term:`mapping`, the contents of which are treated as " -"additional keyword arguments. If a parameter matching a key has already been" -" given a value (by an explicit keyword argument, or from another unpacking)," -" a :exc:`TypeError` exception is raised." -msgstr "" - -#: ../../reference/expressions.rst:1126 -msgid "" -"When ``**expression`` is used, each key in this mapping must be a string. " -"Each value from the mapping is assigned to the first formal parameter " -"eligible for keyword assignment whose name is equal to the key. A key need " -"not be a Python identifier (e.g. ``\"max-temp °F\"`` is acceptable, although" -" it will not match any formal parameter that could be declared). If there is" -" no match to a formal parameter the key-value pair is collected by the " -"``**`` parameter, if there is one, or if there is not, a :exc:`TypeError` " -"exception is raised." -msgstr "" - -#: ../../reference/expressions.rst:1136 -msgid "" -"Formal parameters using the syntax ``*identifier`` or ``**identifier`` " -"cannot be used as positional argument slots or as keyword argument names." -msgstr "" - -#: ../../reference/expressions.rst:1139 -msgid "" -"Function calls accept any number of ``*`` and ``**`` unpackings, positional " -"arguments may follow iterable unpackings (``*``), and keyword arguments may " -"follow dictionary unpackings (``**``). Originally proposed by :pep:`448`." -msgstr "" - -#: ../../reference/expressions.rst:1145 -msgid "" -"A call always returns some value, possibly ``None``, unless it raises an " -"exception. How this value is computed depends on the type of the callable " -"object." -msgstr "" - -#: ../../reference/expressions.rst:1149 -msgid "If it is---" -msgstr "" - -#: ../../reference/expressions.rst:1151 -msgid "a user-defined function:" -msgstr "" - -#: ../../reference/expressions.rst:1158 -msgid "" -"The code block for the function is executed, passing it the argument list. " -"The first thing the code block will do is bind the formal parameters to the " -"arguments; this is described in section :ref:`function`. When the code " -"block executes a :keyword:`return` statement, this specifies the return " -"value of the function call. If execution reaches the end of the code block " -"without executing a :keyword:`return` statement, the return value is " -"``None``." -msgstr "" - -#: ../../reference/expressions.rst:1165 -msgid "a built-in function or method:" -msgstr "" - -#: ../../reference/expressions.rst:1176 -msgid "" -"The result is up to the interpreter; see :ref:`built-in-funcs` for the " -"descriptions of built-in functions and methods." -msgstr "" - -#: ../../reference/expressions.rst:1179 -msgid "a class object:" -msgstr "" - -#: ../../reference/expressions.rst:1184 -msgid "A new instance of that class is returned." -msgstr "" - -#: ../../reference/expressions.rst:1186 -msgid "a class instance method:" -msgstr "" - -#: ../../reference/expressions.rst:1192 -msgid "" -"The corresponding user-defined function is called, with an argument list " -"that is one longer than the argument list of the call: the instance becomes " -"the first argument." -msgstr "" - -#: ../../reference/expressions.rst:1196 -msgid "a class instance:" -msgstr "" - -#: ../../reference/expressions.rst:1201 -msgid "" -"The class must define a :meth:`~object.__call__` method; the effect is then " -"the same as if that method was called." -msgstr "" - -#: ../../reference/expressions.rst:1209 ../../reference/expressions.rst:2022 -msgid "Await expression" -msgstr "" - -#: ../../reference/expressions.rst:1211 -msgid "" -"Suspend the execution of :term:`coroutine` on an :term:`awaitable` object. " -"Can only be used inside a :term:`coroutine function`." -msgstr "" - -#: ../../reference/expressions.rst:1223 -msgid "The power operator" -msgstr "" - -#: ../../reference/expressions.rst:1229 -msgid "" -"The power operator binds more tightly than unary operators on its left; it " -"binds less tightly than unary operators on its right. The syntax is:" -msgstr "" - -#: ../../reference/expressions.rst:1235 -msgid "" -"Thus, in an unparenthesized sequence of power and unary operators, the " -"operators are evaluated from right to left (this does not constrain the " -"evaluation order for the operands): ``-1**2`` results in ``-1``." -msgstr "" - -#: ../../reference/expressions.rst:1239 -msgid "" -"The power operator has the same semantics as the built-in :func:`pow` " -"function, when called with two arguments: it yields its left argument raised" -" to the power of its right argument. The numeric arguments are first " -"converted to a common type, and the result is of that type." -msgstr "" - -#: ../../reference/expressions.rst:1244 -msgid "" -"For int operands, the result has the same type as the operands unless the " -"second argument is negative; in that case, all arguments are converted to " -"float and a float result is delivered. For example, ``10**2`` returns " -"``100``, but ``10**-2`` returns ``0.01``." -msgstr "" - -#: ../../reference/expressions.rst:1249 -msgid "" -"Raising ``0.0`` to a negative power results in a :exc:`ZeroDivisionError`. " -"Raising a negative number to a fractional power results in a " -":class:`complex` number. (In earlier versions it raised a " -":exc:`ValueError`.)" -msgstr "" - -#: ../../reference/expressions.rst:1253 -msgid "" -"This operation can be customized using the special :meth:`~object.__pow__` " -"and :meth:`~object.__rpow__` methods." -msgstr "" - -#: ../../reference/expressions.rst:1259 -msgid "Unary arithmetic and bitwise operations" -msgstr "" - -#: ../../reference/expressions.rst:1265 -msgid "All unary arithmetic and bitwise operations have the same priority:" -msgstr "" - -#: ../../reference/expressions.rst:1276 -msgid "" -"The unary ``-`` (minus) operator yields the negation of its numeric " -"argument; the operation can be overridden with the :meth:`~object.__neg__` " -"special method." -msgstr "" - -#: ../../reference/expressions.rst:1284 -msgid "" -"The unary ``+`` (plus) operator yields its numeric argument unchanged; the " -"operation can be overridden with the :meth:`~object.__pos__` special method." -msgstr "" - -#: ../../reference/expressions.rst:1291 -msgid "" -"The unary ``~`` (invert) operator yields the bitwise inversion of its " -"integer argument. The bitwise inversion of ``x`` is defined as ``-(x+1)``." -" It only applies to integral numbers or to custom objects that override the" -" :meth:`~object.__invert__` special method." -msgstr "" - -#: ../../reference/expressions.rst:1300 -msgid "" -"In all three cases, if the argument does not have the proper type, a " -":exc:`TypeError` exception is raised." -msgstr "" - -#: ../../reference/expressions.rst:1307 -msgid "Binary arithmetic operations" -msgstr "" - -#: ../../reference/expressions.rst:1311 -msgid "" -"The binary arithmetic operations have the conventional priority levels. " -"Note that some of these operations also apply to certain non-numeric types." -" Apart from the power operator, there are only two levels, one for " -"multiplicative operators and one for additive operators:" -msgstr "" - -#: ../../reference/expressions.rst:1326 -msgid "" -"The ``*`` (multiplication) operator yields the product of its arguments. " -"The arguments must either both be numbers, or one argument must be an " -"integer and the other must be a sequence. In the former case, the numbers " -"are converted to a common real type and then multiplied together. In the " -"latter case, sequence repetition is performed; a negative repetition factor " -"yields an empty sequence." -msgstr "" - -#: ../../reference/expressions.rst:1332 -msgid "" -"This operation can be customized using the special :meth:`~object.__mul__` " -"and :meth:`~object.__rmul__` methods." -msgstr "" - -#: ../../reference/expressions.rst:1335 ../../reference/expressions.rst:1412 -#: ../../reference/expressions.rst:1427 -msgid "" -"If only one operand is a complex number, the other operand is converted to a" -" floating-point number." -msgstr "" - -#: ../../reference/expressions.rst:1343 -msgid "" -"The ``@`` (at) operator is intended to be used for matrix multiplication. " -"No builtin Python types implement this operator." -msgstr "" - -#: ../../reference/expressions.rst:1346 -msgid "" -"This operation can be customized using the special " -":meth:`~object.__matmul__` and :meth:`~object.__rmatmul__` methods." -msgstr "" - -#: ../../reference/expressions.rst:1357 -msgid "" -"The ``/`` (division) and ``//`` (floor division) operators yield the " -"quotient of their arguments. The numeric arguments are first converted to a" -" common type. Division of integers yields a float, while floor division of " -"integers results in an integer; the result is that of mathematical division " -"with the 'floor' function applied to the result. Division by zero raises " -"the :exc:`ZeroDivisionError` exception." -msgstr "" - -#: ../../reference/expressions.rst:1364 -msgid "" -"The division operation can be customized using the special " -":meth:`~object.__truediv__` and :meth:`~object.__rtruediv__` methods. The " -"floor division operation can be customized using the special " -":meth:`~object.__floordiv__` and :meth:`~object.__rfloordiv__` methods." -msgstr "" - -#: ../../reference/expressions.rst:1373 -msgid "" -"The ``%`` (modulo) operator yields the remainder from the division of the " -"first argument by the second. The numeric arguments are first converted to " -"a common type. A zero right argument raises the :exc:`ZeroDivisionError` " -"exception. The arguments may be floating-point numbers, e.g., ``3.14%0.7`` " -"equals ``0.34`` (since ``3.14`` equals ``4*0.7 + 0.34``.) The modulo " -"operator always yields a result with the same sign as its second operand (or" -" zero); the absolute value of the result is strictly smaller than the " -"absolute value of the second operand [#]_." -msgstr "" - -#: ../../reference/expressions.rst:1382 -msgid "" -"The floor division and modulo operators are connected by the following " -"identity: ``x == (x//y)*y + (x%y)``. Floor division and modulo are also " -"connected with the built-in function :func:`divmod`: ``divmod(x, y) == " -"(x//y, x%y)``. [#]_." -msgstr "" - -#: ../../reference/expressions.rst:1387 -msgid "" -"In addition to performing the modulo operation on numbers, the ``%`` " -"operator is also overloaded by string objects to perform old-style string " -"formatting (also known as interpolation). The syntax for string formatting " -"is described in the Python Library Reference, section :ref:`old-string-" -"formatting`." -msgstr "" - -#: ../../reference/expressions.rst:1392 -msgid "" -"The *modulo* operation can be customized using the special " -":meth:`~object.__mod__` and :meth:`~object.__rmod__` methods." -msgstr "" - -#: ../../reference/expressions.rst:1395 -msgid "" -"The floor division operator, the modulo operator, and the :func:`divmod` " -"function are not defined for complex numbers. Instead, convert to a " -"floating-point number using the :func:`abs` function if appropriate." -msgstr "" - -#: ../../reference/expressions.rst:1404 -msgid "" -"The ``+`` (addition) operator yields the sum of its arguments. The " -"arguments must either both be numbers or both be sequences of the same type." -" In the former case, the numbers are converted to a common real type and " -"then added together. In the latter case, the sequences are concatenated." -msgstr "" - -#: ../../reference/expressions.rst:1409 -msgid "" -"This operation can be customized using the special :meth:`~object.__add__` " -"and :meth:`~object.__radd__` methods." -msgstr "" - -#: ../../reference/expressions.rst:1421 -msgid "" -"The ``-`` (subtraction) operator yields the difference of its arguments. " -"The numeric arguments are first converted to a common real type." -msgstr "" - -#: ../../reference/expressions.rst:1424 -msgid "" -"This operation can be customized using the special :meth:`~object.__sub__` " -"and :meth:`~object.__rsub__` methods." -msgstr "" - -#: ../../reference/expressions.rst:1435 -msgid "Shifting operations" -msgstr "" - -#: ../../reference/expressions.rst:1442 -msgid "" -"The shifting operations have lower priority than the arithmetic operations:" -msgstr "" - -#: ../../reference/expressions.rst:1447 -msgid "" -"These operators accept integers as arguments. They shift the first argument" -" to the left or right by the number of bits given by the second argument." -msgstr "" - -#: ../../reference/expressions.rst:1450 -msgid "" -"The left shift operation can be customized using the special " -":meth:`~object.__lshift__` and :meth:`~object.__rlshift__` methods. The " -"right shift operation can be customized using the special " -":meth:`~object.__rshift__` and :meth:`~object.__rrshift__` methods." -msgstr "" - -#: ../../reference/expressions.rst:1457 -msgid "" -"A right shift by *n* bits is defined as floor division by ``pow(2,n)``. A " -"left shift by *n* bits is defined as multiplication with ``pow(2,n)``." -msgstr "" - -#: ../../reference/expressions.rst:1464 -msgid "Binary bitwise operations" -msgstr "" - -#: ../../reference/expressions.rst:1468 -msgid "Each of the three bitwise operations has a different priority level:" -msgstr "" - -#: ../../reference/expressions.rst:1479 -msgid "" -"The ``&`` operator yields the bitwise AND of its arguments, which must be " -"integers or one of them must be a custom object overriding " -":meth:`~object.__and__` or :meth:`~object.__rand__` special methods." -msgstr "" - -#: ../../reference/expressions.rst:1488 -msgid "" -"The ``^`` operator yields the bitwise XOR (exclusive OR) of its arguments, " -"which must be integers or one of them must be a custom object overriding " -":meth:`~object.__xor__` or :meth:`~object.__rxor__` special methods." -msgstr "" - -#: ../../reference/expressions.rst:1497 -msgid "" -"The ``|`` operator yields the bitwise (inclusive) OR of its arguments, which" -" must be integers or one of them must be a custom object overriding " -":meth:`~object.__or__` or :meth:`~object.__ror__` special methods." -msgstr "" - -#: ../../reference/expressions.rst:1505 -msgid "Comparisons" -msgstr "Perbandingan" - -#: ../../reference/expressions.rst:1517 -msgid "" -"Unlike C, all comparison operations in Python have the same priority, which " -"is lower than that of any arithmetic, shifting or bitwise operation. Also " -"unlike C, expressions like ``a < b < c`` have the interpretation that is " -"conventional in mathematics:" -msgstr "" - -#: ../../reference/expressions.rst:1527 -msgid "" -"Comparisons yield boolean values: ``True`` or ``False``. Custom :dfn:`rich " -"comparison methods` may return non-boolean values. In this case Python will " -"call :func:`bool` on such value in boolean contexts." -msgstr "" - -#: ../../reference/expressions.rst:1533 -msgid "" -"Comparisons can be chained arbitrarily, e.g., ``x < y <= z`` is equivalent " -"to ``x < y and y <= z``, except that ``y`` is evaluated only once (but in " -"both cases ``z`` is not evaluated at all when ``x < y`` is found to be " -"false)." -msgstr "" - -#: ../../reference/expressions.rst:1537 -msgid "" -"Formally, if *a*, *b*, *c*, ..., *y*, *z* are expressions and *op1*, *op2*, " -"..., *opN* are comparison operators, then ``a op1 b op2 c ... y opN z`` is " -"equivalent to ``a op1 b and b op2 c and ... y opN z``, except that each " -"expression is evaluated at most once." -msgstr "" - -#: ../../reference/expressions.rst:1542 -msgid "" -"Note that ``a op1 b op2 c`` doesn't imply any kind of comparison between *a*" -" and *c*, so that, e.g., ``x < y > z`` is perfectly legal (though perhaps " -"not pretty)." -msgstr "" - -#: ../../reference/expressions.rst:1549 -msgid "Value comparisons" -msgstr "" - -#: ../../reference/expressions.rst:1551 -msgid "" -"The operators ``<``, ``>``, ``==``, ``>=``, ``<=``, and ``!=`` compare the " -"values of two objects. The objects do not need to have the same type." -msgstr "" - -#: ../../reference/expressions.rst:1554 -msgid "" -"Chapter :ref:`objects` states that objects have a value (in addition to type" -" and identity). The value of an object is a rather abstract notion in " -"Python: For example, there is no canonical access method for an object's " -"value. Also, there is no requirement that the value of an object should be " -"constructed in a particular way, e.g. comprised of all its data attributes. " -"Comparison operators implement a particular notion of what the value of an " -"object is. One can think of them as defining the value of an object " -"indirectly, by means of their comparison implementation." -msgstr "" - -#: ../../reference/expressions.rst:1563 -msgid "" -"Because all types are (direct or indirect) subtypes of :class:`object`, they" -" inherit the default comparison behavior from :class:`object`. Types can " -"customize their comparison behavior by implementing :dfn:`rich comparison " -"methods` like :meth:`~object.__lt__`, described in :ref:`customization`." -msgstr "" - -#: ../../reference/expressions.rst:1569 -msgid "" -"The default behavior for equality comparison (``==`` and ``!=``) is based on" -" the identity of the objects. Hence, equality comparison of instances with " -"the same identity results in equality, and equality comparison of instances " -"with different identities results in inequality. A motivation for this " -"default behavior is the desire that all objects should be reflexive (i.e. " -"``x is y`` implies ``x == y``)." -msgstr "" - -#: ../../reference/expressions.rst:1576 -msgid "" -"A default order comparison (``<``, ``>``, ``<=``, and ``>=``) is not " -"provided; an attempt raises :exc:`TypeError`. A motivation for this default" -" behavior is the lack of a similar invariant as for equality." -msgstr "" - -#: ../../reference/expressions.rst:1580 -msgid "" -"The behavior of the default equality comparison, that instances with " -"different identities are always unequal, may be in contrast to what types " -"will need that have a sensible definition of object value and value-based " -"equality. Such types will need to customize their comparison behavior, and " -"in fact, a number of built-in types have done that." -msgstr "" - -#: ../../reference/expressions.rst:1586 -msgid "" -"The following list describes the comparison behavior of the most important " -"built-in types." -msgstr "" - -#: ../../reference/expressions.rst:1589 -msgid "" -"Numbers of built-in numeric types (:ref:`typesnumeric`) and of the standard " -"library types :class:`fractions.Fraction` and :class:`decimal.Decimal` can " -"be compared within and across their types, with the restriction that complex" -" numbers do not support order comparison. Within the limits of the types " -"involved, they compare mathematically (algorithmically) correct without loss" -" of precision." -msgstr "" - -#: ../../reference/expressions.rst:1596 -msgid "" -"The not-a-number values ``float('NaN')`` and ``decimal.Decimal('NaN')`` are " -"special. Any ordered comparison of a number to a not-a-number value is " -"false. A counter-intuitive implication is that not-a-number values are not " -"equal to themselves. For example, if ``x = float('NaN')``, ``3 < x``, ``x <" -" 3`` and ``x == x`` are all false, while ``x != x`` is true. This behavior " -"is compliant with IEEE 754." -msgstr "" - -#: ../../reference/expressions.rst:1603 -msgid "" -"``None`` and :data:`NotImplemented` are singletons. :PEP:`8` advises that " -"comparisons for singletons should always be done with ``is`` or ``is not``, " -"never the equality operators." -msgstr "" - -#: ../../reference/expressions.rst:1607 -msgid "" -"Binary sequences (instances of :class:`bytes` or :class:`bytearray`) can be " -"compared within and across their types. They compare lexicographically " -"using the numeric values of their elements." -msgstr "" - -#: ../../reference/expressions.rst:1611 -msgid "" -"Strings (instances of :class:`str`) compare lexicographically using the " -"numerical Unicode code points (the result of the built-in function " -":func:`ord`) of their characters. [#]_" -msgstr "" - -#: ../../reference/expressions.rst:1615 -msgid "Strings and binary sequences cannot be directly compared." -msgstr "" - -#: ../../reference/expressions.rst:1617 -msgid "" -"Sequences (instances of :class:`tuple`, :class:`list`, or :class:`range`) " -"can be compared only within each of their types, with the restriction that " -"ranges do not support order comparison. Equality comparison across these " -"types results in inequality, and ordering comparison across these types " -"raises :exc:`TypeError`." -msgstr "" - -#: ../../reference/expressions.rst:1623 -msgid "" -"Sequences compare lexicographically using comparison of corresponding " -"elements. The built-in containers typically assume identical objects are " -"equal to themselves. That lets them bypass equality tests for identical " -"objects to improve performance and to maintain their internal invariants." -msgstr "" - -#: ../../reference/expressions.rst:1628 -msgid "" -"Lexicographical comparison between built-in collections works as follows:" -msgstr "" - -#: ../../reference/expressions.rst:1630 -msgid "" -"For two collections to compare equal, they must be of the same type, have " -"the same length, and each pair of corresponding elements must compare equal " -"(for example, ``[1,2] == (1,2)`` is false because the type is not the same)." -msgstr "" - -#: ../../reference/expressions.rst:1635 -msgid "" -"Collections that support order comparison are ordered the same as their " -"first unequal elements (for example, ``[1,2,x] <= [1,2,y]`` has the same " -"value as ``x <= y``). If a corresponding element does not exist, the " -"shorter collection is ordered first (for example, ``[1,2] < [1,2,3]`` is " -"true)." -msgstr "" - -#: ../../reference/expressions.rst:1641 -msgid "" -"Mappings (instances of :class:`dict`) compare equal if and only if they have" -" equal ``(key, value)`` pairs. Equality comparison of the keys and values " -"enforces reflexivity." -msgstr "" - -#: ../../reference/expressions.rst:1645 -msgid "" -"Order comparisons (``<``, ``>``, ``<=``, and ``>=``) raise :exc:`TypeError`." -msgstr "" - -#: ../../reference/expressions.rst:1647 -msgid "" -"Sets (instances of :class:`set` or :class:`frozenset`) can be compared " -"within and across their types." -msgstr "" - -#: ../../reference/expressions.rst:1650 -msgid "" -"They define order comparison operators to mean subset and superset tests. " -"Those relations do not define total orderings (for example, the two sets " -"``{1,2}`` and ``{2,3}`` are not equal, nor subsets of one another, nor " -"supersets of one another). Accordingly, sets are not appropriate arguments " -"for functions which depend on total ordering (for example, :func:`min`, " -":func:`max`, and :func:`sorted` produce undefined results given a list of " -"sets as inputs)." -msgstr "" - -#: ../../reference/expressions.rst:1658 -msgid "Comparison of sets enforces reflexivity of its elements." -msgstr "" - -#: ../../reference/expressions.rst:1660 -msgid "" -"Most other built-in types have no comparison methods implemented, so they " -"inherit the default comparison behavior." -msgstr "" - -#: ../../reference/expressions.rst:1663 -msgid "" -"User-defined classes that customize their comparison behavior should follow " -"some consistency rules, if possible:" -msgstr "" - -#: ../../reference/expressions.rst:1666 -msgid "" -"Equality comparison should be reflexive. In other words, identical objects " -"should compare equal:" -msgstr "" - -#: ../../reference/expressions.rst:1669 -msgid "``x is y`` implies ``x == y``" -msgstr "" - -#: ../../reference/expressions.rst:1671 -msgid "" -"Comparison should be symmetric. In other words, the following expressions " -"should have the same result:" -msgstr "" - -#: ../../reference/expressions.rst:1674 -msgid "``x == y`` and ``y == x``" -msgstr "" - -#: ../../reference/expressions.rst:1676 -msgid "``x != y`` and ``y != x``" -msgstr "" - -#: ../../reference/expressions.rst:1678 -msgid "``x < y`` and ``y > x``" -msgstr "" - -#: ../../reference/expressions.rst:1680 -msgid "``x <= y`` and ``y >= x``" -msgstr "" - -#: ../../reference/expressions.rst:1682 -msgid "" -"Comparison should be transitive. The following (non-exhaustive) examples " -"illustrate that:" -msgstr "" - -#: ../../reference/expressions.rst:1685 -msgid "``x > y and y > z`` implies ``x > z``" -msgstr "" - -#: ../../reference/expressions.rst:1687 -msgid "``x < y and y <= z`` implies ``x < z``" -msgstr "" - -#: ../../reference/expressions.rst:1689 -msgid "" -"Inverse comparison should result in the boolean negation. In other words, " -"the following expressions should have the same result:" -msgstr "" - -#: ../../reference/expressions.rst:1692 -msgid "``x == y`` and ``not x != y``" -msgstr "" - -#: ../../reference/expressions.rst:1694 -msgid "``x < y`` and ``not x >= y`` (for total ordering)" -msgstr "" - -#: ../../reference/expressions.rst:1696 -msgid "``x > y`` and ``not x <= y`` (for total ordering)" -msgstr "" - -#: ../../reference/expressions.rst:1698 -msgid "" -"The last two expressions apply to totally ordered collections (e.g. to " -"sequences, but not to sets or mappings). See also the " -":func:`~functools.total_ordering` decorator." -msgstr "" - -#: ../../reference/expressions.rst:1702 -msgid "" -"The :func:`hash` result should be consistent with equality. Objects that are" -" equal should either have the same hash value, or be marked as unhashable." -msgstr "" - -#: ../../reference/expressions.rst:1706 -msgid "" -"Python does not enforce these consistency rules. In fact, the not-a-number " -"values are an example for not following these rules." -msgstr "" - -#: ../../reference/expressions.rst:1715 -msgid "Membership test operations" -msgstr "" - -#: ../../reference/expressions.rst:1717 -msgid "" -"The operators :keyword:`in` and :keyword:`not in` test for membership. ``x " -"in s`` evaluates to ``True`` if *x* is a member of *s*, and ``False`` " -"otherwise. ``x not in s`` returns the negation of ``x in s``. All built-in " -"sequences and set types support this as well as dictionary, for which " -":keyword:`!in` tests whether the dictionary has a given key. For container " -"types such as list, tuple, set, frozenset, dict, or collections.deque, the " -"expression ``x in y`` is equivalent to ``any(x is e or x == e for e in y)``." -msgstr "" - -#: ../../reference/expressions.rst:1725 -msgid "" -"For the string and bytes types, ``x in y`` is ``True`` if and only if *x* is" -" a substring of *y*. An equivalent test is ``y.find(x) != -1``. Empty " -"strings are always considered to be a substring of any other string, so " -"``\"\" in \"abc\"`` will return ``True``." -msgstr "" - -#: ../../reference/expressions.rst:1730 -msgid "" -"For user-defined classes which define the :meth:`~object.__contains__` " -"method, ``x in y`` returns ``True`` if ``y.__contains__(x)`` returns a true " -"value, and ``False`` otherwise." -msgstr "" - -#: ../../reference/expressions.rst:1734 -msgid "" -"For user-defined classes which do not define :meth:`~object.__contains__` " -"but do define :meth:`~object.__iter__`, ``x in y`` is ``True`` if some value" -" ``z``, for which the expression ``x is z or x == z`` is true, is produced " -"while iterating over ``y``. If an exception is raised during the iteration, " -"it is as if :keyword:`in` raised that exception." -msgstr "" - -#: ../../reference/expressions.rst:1740 -msgid "" -"Lastly, the old-style iteration protocol is tried: if a class defines " -":meth:`~object.__getitem__`, ``x in y`` is ``True`` if and only if there is " -"a non-negative integer index *i* such that ``x is y[i] or x == y[i]``, and " -"no lower integer index raises the :exc:`IndexError` exception. (If any " -"other exception is raised, it is as if :keyword:`in` raised that exception)." -msgstr "" - -#: ../../reference/expressions.rst:1752 -msgid "" -"The operator :keyword:`not in` is defined to have the inverse truth value of" -" :keyword:`in`." -msgstr "" - -#: ../../reference/expressions.rst:1765 -msgid "Identity comparisons" -msgstr "" - -#: ../../reference/expressions.rst:1767 -msgid "" -"The operators :keyword:`is` and :keyword:`is not` test for an object's " -"identity: ``x is y`` is true if and only if *x* and *y* are the same object." -" An Object's identity is determined using the :meth:`id` function. ``x is " -"not y`` yields the inverse truth value. [#]_" -msgstr "" - -#: ../../reference/expressions.rst:1779 -msgid "Boolean operations" -msgstr "" - -#: ../../reference/expressions.rst:1790 -msgid "" -"In the context of Boolean operations, and also when expressions are used by " -"control flow statements, the following values are interpreted as false: " -"``False``, ``None``, numeric zero of all types, and empty strings and " -"containers (including strings, tuples, lists, dictionaries, sets and " -"frozensets). All other values are interpreted as true. User-defined " -"objects can customize their truth value by providing a " -":meth:`~object.__bool__` method." -msgstr "" - -#: ../../reference/expressions.rst:1799 -msgid "" -"The operator :keyword:`not` yields ``True`` if its argument is false, " -"``False`` otherwise." -msgstr "" - -#: ../../reference/expressions.rst:1804 -msgid "" -"The expression ``x and y`` first evaluates *x*; if *x* is false, its value " -"is returned; otherwise, *y* is evaluated and the resulting value is " -"returned." -msgstr "" - -#: ../../reference/expressions.rst:1809 -msgid "" -"The expression ``x or y`` first evaluates *x*; if *x* is true, its value is " -"returned; otherwise, *y* is evaluated and the resulting value is returned." -msgstr "" - -#: ../../reference/expressions.rst:1812 -msgid "" -"Note that neither :keyword:`and` nor :keyword:`or` restrict the value and " -"type they return to ``False`` and ``True``, but rather return the last " -"evaluated argument. This is sometimes useful, e.g., if ``s`` is a string " -"that should be replaced by a default value if it is empty, the expression " -"``s or 'foo'`` yields the desired value. Because :keyword:`not` has to " -"create a new value, it returns a boolean value regardless of the type of its" -" argument (for example, ``not 'foo'`` produces ``False`` rather than " -"``''``.)" -msgstr "" - -#: ../../reference/expressions.rst:1831 -msgid "Assignment expressions" -msgstr "Ekspresi Pemberian Nilai" - -#: ../../reference/expressions.rst:1836 -msgid "" -"An assignment expression (sometimes also called a \"named expression\" or " -"\"walrus\") assigns an :token:`~python-grammar:expression` to an " -":token:`~python-grammar:identifier`, while also returning the value of the " -":token:`~python-grammar:expression`." -msgstr "" - -#: ../../reference/expressions.rst:1841 -msgid "One common use case is when handling matched regular expressions:" -msgstr "" - -#: ../../reference/expressions.rst:1843 -msgid "" -"if matching := pattern.search(data):\n" -" do_something(matching)" -msgstr "" - -#: ../../reference/expressions.rst:1848 -msgid "Or, when processing a file stream in chunks:" -msgstr "" - -#: ../../reference/expressions.rst:1850 -msgid "" -"while chunk := file.read(9000):\n" -" process(chunk)" -msgstr "" - -#: ../../reference/expressions.rst:1855 -msgid "" -"Assignment expressions must be surrounded by parentheses when used as " -"expression statements and when used as sub-expressions in slicing, " -"conditional, lambda, keyword-argument, and comprehension-if expressions and " -"in ``assert``, ``with``, and ``assignment`` statements. In all other places " -"where they can be used, parentheses are not required, including in ``if`` " -"and ``while`` statements." -msgstr "" - -#: ../../reference/expressions.rst:1863 -msgid "See :pep:`572` for more details about assignment expressions." -msgstr "" - -#: ../../reference/expressions.rst:1870 -msgid "Conditional expressions" -msgstr "" - -#: ../../reference/expressions.rst:1882 -msgid "" -"Conditional expressions (sometimes called a \"ternary operator\") have the " -"lowest priority of all Python operations." -msgstr "" - -#: ../../reference/expressions.rst:1885 -msgid "" -"The expression ``x if C else y`` first evaluates the condition, *C* rather " -"than *x*. If *C* is true, *x* is evaluated and its value is returned; " -"otherwise, *y* is evaluated and its value is returned." -msgstr "" - -#: ../../reference/expressions.rst:1889 -msgid "See :pep:`308` for more details about conditional expressions." -msgstr "" - -#: ../../reference/expressions.rst:1896 -msgid "Lambdas" -msgstr "" - -#: ../../reference/expressions.rst:1907 -msgid "" -"Lambda expressions (sometimes called lambda forms) are used to create " -"anonymous functions. The expression ``lambda parameters: expression`` yields" -" a function object. The unnamed object behaves like a function object " -"defined with:" -msgstr "" - -#: ../../reference/expressions.rst:1911 -msgid "" -"def (parameters):\n" -" return expression" -msgstr "" - -#: ../../reference/expressions.rst:1916 -msgid "" -"See section :ref:`function` for the syntax of parameter lists. Note that " -"functions created with lambda expressions cannot contain statements or " -"annotations." -msgstr "" - -#: ../../reference/expressions.rst:1924 -msgid "Expression lists" -msgstr "" - -#: ../../reference/expressions.rst:1940 -msgid "" -"Except when part of a list or set display, an expression list containing at " -"least one comma yields a tuple. The length of the tuple is the number of " -"expressions in the list. The expressions are evaluated from left to right." -msgstr "" - -#: ../../reference/expressions.rst:1949 -msgid "" -"An asterisk ``*`` denotes :dfn:`iterable unpacking`. Its operand must be an" -" :term:`iterable`. The iterable is expanded into a sequence of items, which" -" are included in the new tuple, list, or set, at the site of the unpacking." -msgstr "" - -#: ../../reference/expressions.rst:1954 -msgid "" -"Iterable unpacking in expression lists, originally proposed by :pep:`448`." -msgstr "" - -#: ../../reference/expressions.rst:1957 -msgid "Any item in an expression list may be starred. See :pep:`646`." -msgstr "" - -#: ../../reference/expressions.rst:1962 -msgid "" -"A trailing comma is required only to create a one-item tuple, such as " -"``1,``; it is optional in all other cases. A single expression without a " -"trailing comma doesn't create a tuple, but rather yields the value of that " -"expression. (To create an empty tuple, use an empty pair of parentheses: " -"``()``.)" -msgstr "" - -#: ../../reference/expressions.rst:1973 -msgid "Evaluation order" -msgstr "" - -#: ../../reference/expressions.rst:1977 -msgid "" -"Python evaluates expressions from left to right. Notice that while " -"evaluating an assignment, the right-hand side is evaluated before the left-" -"hand side." -msgstr "" - -#: ../../reference/expressions.rst:1980 -msgid "" -"In the following lines, expressions will be evaluated in the arithmetic " -"order of their suffixes::" -msgstr "" - -#: ../../reference/expressions.rst:1983 -msgid "" -"expr1, expr2, expr3, expr4\n" -"(expr1, expr2, expr3, expr4)\n" -"{expr1: expr2, expr3: expr4}\n" -"expr1 + expr2 * (expr3 - expr4)\n" -"expr1(expr2, expr3, *expr4, **expr5)\n" -"expr3, expr4 = expr1, expr2" -msgstr "" - -#: ../../reference/expressions.rst:1994 -msgid "Operator precedence" -msgstr "" - -#: ../../reference/expressions.rst:1999 -msgid "" -"The following table summarizes the operator precedence in Python, from " -"highest precedence (most binding) to lowest precedence (least binding). " -"Operators in the same box have the same precedence. Unless the syntax is " -"explicitly given, operators are binary. Operators in the same box group " -"left to right (except for exponentiation and conditional expressions, which " -"group from right to left)." -msgstr "" - -#: ../../reference/expressions.rst:2005 -msgid "" -"Note that comparisons, membership tests, and identity tests, all have the " -"same precedence and have a left-to-right chaining feature as described in " -"the :ref:`comparisons` section." -msgstr "" - -#: ../../reference/expressions.rst:2011 -msgid "Operator" -msgstr "" - -#: ../../reference/expressions.rst:2011 -msgid "Description" -msgstr "Deskripsi" - -#: ../../reference/expressions.rst:2013 -msgid "``(expressions...)``," -msgstr "" - -#: ../../reference/expressions.rst:2015 -msgid "``[expressions...]``, ``{key: value...}``, ``{expressions...}``" -msgstr "" - -#: ../../reference/expressions.rst:2013 -msgid "" -"Binding or parenthesized expression, list display, dictionary display, set " -"display" -msgstr "" - -#: ../../reference/expressions.rst:2019 -msgid "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``" -msgstr "" - -#: ../../reference/expressions.rst:2019 -msgid "Subscription, slicing, call, attribute reference" -msgstr "" - -#: ../../reference/expressions.rst:2022 -msgid ":keyword:`await x `" -msgstr "" - -#: ../../reference/expressions.rst:2024 -msgid "``**``" -msgstr "" - -#: ../../reference/expressions.rst:2024 -msgid "Exponentiation [#]_" -msgstr "" - -#: ../../reference/expressions.rst:2026 -msgid "``+x``, ``-x``, ``~x``" -msgstr "" - -#: ../../reference/expressions.rst:2026 -msgid "Positive, negative, bitwise NOT" -msgstr "" - -#: ../../reference/expressions.rst:2028 -msgid "``*``, ``@``, ``/``, ``//``, ``%``" -msgstr "" - -#: ../../reference/expressions.rst:2028 -msgid "" -"Multiplication, matrix multiplication, division, floor division, remainder " -"[#]_" -msgstr "" - -#: ../../reference/expressions.rst:2032 -msgid "``+``, ``-``" -msgstr "" - -#: ../../reference/expressions.rst:2032 -msgid "Addition and subtraction" -msgstr "" - -#: ../../reference/expressions.rst:2034 -msgid "``<<``, ``>>``" -msgstr "" - -#: ../../reference/expressions.rst:2034 -msgid "Shifts" -msgstr "" - -#: ../../reference/expressions.rst:2036 -msgid "``&``" -msgstr "" - -#: ../../reference/expressions.rst:2036 -msgid "Bitwise AND" -msgstr "" - -#: ../../reference/expressions.rst:2038 -msgid "``^``" -msgstr "``^``" - -#: ../../reference/expressions.rst:2038 -msgid "Bitwise XOR" -msgstr "" - -#: ../../reference/expressions.rst:2040 -msgid "``|``" -msgstr "``|``" - -#: ../../reference/expressions.rst:2040 -msgid "Bitwise OR" -msgstr "" - -#: ../../reference/expressions.rst:2042 -msgid "" -":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " -"``<=``, ``>``, ``>=``, ``!=``, ``==``" -msgstr "" - -#: ../../reference/expressions.rst:2042 -msgid "Comparisons, including membership tests and identity tests" -msgstr "" - -#: ../../reference/expressions.rst:2046 -msgid ":keyword:`not x `" -msgstr "" - -#: ../../reference/expressions.rst:2046 -msgid "Boolean NOT" -msgstr "" - -#: ../../reference/expressions.rst:2048 -msgid ":keyword:`and`" -msgstr "" - -#: ../../reference/expressions.rst:2048 -msgid "Boolean AND" -msgstr "" - -#: ../../reference/expressions.rst:2050 -msgid ":keyword:`or`" -msgstr "" - -#: ../../reference/expressions.rst:2050 -msgid "Boolean OR" -msgstr "" - -#: ../../reference/expressions.rst:2052 -msgid ":keyword:`if ` -- :keyword:`!else`" -msgstr "" - -#: ../../reference/expressions.rst:2052 -msgid "Conditional expression" -msgstr "" - -#: ../../reference/expressions.rst:2054 -msgid ":keyword:`lambda`" -msgstr "" - -#: ../../reference/expressions.rst:2054 -msgid "Lambda expression" -msgstr "" - -#: ../../reference/expressions.rst:2056 -msgid "``:=``" -msgstr "" - -#: ../../reference/expressions.rst:2056 -msgid "Assignment expression" -msgstr "" - -#: ../../reference/expressions.rst:2061 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../reference/expressions.rst:2062 -msgid "" -"While ``abs(x%y) < abs(y)`` is true mathematically, for floats it may not be" -" true numerically due to roundoff. For example, and assuming a platform on " -"which a Python float is an IEEE 754 double-precision number, in order that " -"``-1e-100 % 1e100`` have the same sign as ``1e100``, the computed result is " -"``-1e-100 + 1e100``, which is numerically exactly equal to ``1e100``. The " -"function :func:`math.fmod` returns a result whose sign matches the sign of " -"the first argument instead, and so returns ``-1e-100`` in this case. Which " -"approach is more appropriate depends on the application." -msgstr "" - -#: ../../reference/expressions.rst:2071 -msgid "" -"If x is very close to an exact integer multiple of y, it's possible for " -"``x//y`` to be one larger than ``(x-x%y)//y`` due to rounding. In such " -"cases, Python returns the latter result, in order to preserve that " -"``divmod(x,y)[0] * y + x % y`` be very close to ``x``." -msgstr "" - -#: ../../reference/expressions.rst:2076 -msgid "" -"The Unicode standard distinguishes between :dfn:`code points` (e.g. U+0041) " -"and :dfn:`abstract characters` (e.g. \"LATIN CAPITAL LETTER A\"). While most" -" abstract characters in Unicode are only represented using one code point, " -"there is a number of abstract characters that can in addition be represented" -" using a sequence of more than one code point. For example, the abstract " -"character \"LATIN CAPITAL LETTER C WITH CEDILLA\" can be represented as a " -"single :dfn:`precomposed character` at code position U+00C7, or as a " -"sequence of a :dfn:`base character` at code position U+0043 (LATIN CAPITAL " -"LETTER C), followed by a :dfn:`combining character` at code position U+0327 " -"(COMBINING CEDILLA)." -msgstr "" - -#: ../../reference/expressions.rst:2087 -msgid "" -"The comparison operators on strings compare at the level of Unicode code " -"points. This may be counter-intuitive to humans. For example, ``\"\\u00C7\"" -" == \"\\u0043\\u0327\"`` is ``False``, even though both strings represent " -"the same abstract character \"LATIN CAPITAL LETTER C WITH CEDILLA\"." -msgstr "" - -#: ../../reference/expressions.rst:2092 -msgid "" -"To compare strings at the level of abstract characters (that is, in a way " -"intuitive to humans), use :func:`unicodedata.normalize`." -msgstr "" - -#: ../../reference/expressions.rst:2095 -msgid "" -"Due to automatic garbage-collection, free lists, and the dynamic nature of " -"descriptors, you may notice seemingly unusual behaviour in certain uses of " -"the :keyword:`is` operator, like those involving comparisons between " -"instance methods, or constants. Check their documentation for more info." -msgstr "" - -#: ../../reference/expressions.rst:2100 -msgid "" -"The power operator ``**`` binds less tightly than an arithmetic or bitwise " -"unary operator on its right, that is, ``2**-1`` is ``0.5``." -msgstr "" - -#: ../../reference/expressions.rst:2103 -msgid "" -"The ``%`` operator is also used for string formatting; the same precedence " -"applies." -msgstr "" - -#: ../../reference/expressions.rst:8 ../../reference/expressions.rst:392 -#: ../../reference/expressions.rst:447 ../../reference/expressions.rst:1781 -#: ../../reference/expressions.rst:1821 ../../reference/expressions.rst:1872 -#: ../../reference/expressions.rst:1898 ../../reference/expressions.rst:1926 -msgid "expression" -msgstr "ekspresi" - -#: ../../reference/expressions.rst:8 -msgid "BNF" -msgstr "" - -#: ../../reference/expressions.rst:28 ../../reference/expressions.rst:1261 -#: ../../reference/expressions.rst:1309 -msgid "arithmetic" -msgstr "" - -#: ../../reference/expressions.rst:28 -msgid "conversion" -msgstr "" - -#: ../../reference/expressions.rst:50 -msgid "atom" -msgstr "" - -#: ../../reference/expressions.rst:67 ../../reference/expressions.rst:81 -msgid "name" -msgstr "nama" - -#: ../../reference/expressions.rst:67 -msgid "identifier" -msgstr "" - -#: ../../reference/expressions.rst:73 ../../reference/expressions.rst:568 -#: ../../reference/expressions.rst:623 ../../reference/expressions.rst:752 -#: ../../reference/expressions.rst:807 ../../reference/expressions.rst:854 -#: ../../reference/expressions.rst:1298 ../../reference/expressions.rst:1351 -#: ../../reference/expressions.rst:1455 -msgid "exception" -msgstr "" - -#: ../../reference/expressions.rst:73 -msgid "NameError" -msgstr "" - -#: ../../reference/expressions.rst:81 -msgid "mangling" -msgstr "" - -#: ../../reference/expressions.rst:81 -msgid "private" -msgstr "" - -#: ../../reference/expressions.rst:81 -msgid "names" -msgstr "" - -#: ../../reference/expressions.rst:132 -msgid "literal" -msgstr "" - -#: ../../reference/expressions.rst:145 ../../reference/expressions.rst:371 -msgid "immutable" -msgstr "" - -#: ../../reference/expressions.rst:145 -msgid "data" -msgstr "data" - -#: ../../reference/expressions.rst:145 -msgid "type" -msgstr "tipe" - -#: ../../reference/expressions.rst:145 ../../reference/expressions.rst:274 -#: ../../reference/expressions.rst:300 ../../reference/expressions.rst:328 -#: ../../reference/expressions.rst:371 ../../reference/expressions.rst:392 -#: ../../reference/expressions.rst:556 ../../reference/expressions.rst:742 -#: ../../reference/expressions.rst:854 ../../reference/expressions.rst:883 -#: ../../reference/expressions.rst:960 ../../reference/expressions.rst:1004 -#: ../../reference/expressions.rst:1152 ../../reference/expressions.rst:1166 -#: ../../reference/expressions.rst:1180 ../../reference/expressions.rst:1187 -#: ../../reference/expressions.rst:1746 ../../reference/expressions.rst:1938 -msgid "object" -msgstr "objek" - -#: ../../reference/expressions.rst:161 -msgid "parenthesized form" -msgstr "" - -#: ../../reference/expressions.rst:161 ../../reference/expressions.rst:392 -#: ../../reference/expressions.rst:1004 -msgid "() (parentheses)" -msgstr "" - -#: ../../reference/expressions.rst:161 -msgid "tuple display" -msgstr "" - -#: ../../reference/expressions.rst:174 ../../reference/expressions.rst:274 -msgid "empty" -msgstr "" - -#: ../../reference/expressions.rst:174 ../../reference/expressions.rst:883 -#: ../../reference/expressions.rst:960 ../../reference/expressions.rst:1938 -msgid "tuple" -msgstr "" - -#: ../../reference/expressions.rst:180 ../../reference/expressions.rst:1960 -msgid "comma" -msgstr "" - -#: ../../reference/expressions.rst:180 ../../reference/expressions.rst:274 -#: ../../reference/expressions.rst:300 ../../reference/expressions.rst:328 -#: ../../reference/expressions.rst:954 ../../reference/expressions.rst:1004 -#: ../../reference/expressions.rst:1926 -msgid ", (comma)" -msgstr "" - -#: ../../reference/expressions.rst:195 ../../reference/expressions.rst:274 -#: ../../reference/expressions.rst:300 ../../reference/expressions.rst:328 -msgid "comprehensions" -msgstr "" - -#: ../../reference/expressions.rst:205 -msgid "for" -msgstr "" - -#: ../../reference/expressions.rst:205 ../../reference/expressions.rst:240 -msgid "in comprehensions" -msgstr "" - -#: ../../reference/expressions.rst:205 ../../reference/expressions.rst:1872 -msgid "if" -msgstr "" - -#: ../../reference/expressions.rst:205 -msgid "async for" -msgstr "" - -#: ../../reference/expressions.rst:240 ../../reference/expressions.rst:1205 -msgid "await" -msgstr "" - -#: ../../reference/expressions.rst:274 ../../reference/expressions.rst:854 -#: ../../reference/expressions.rst:883 ../../reference/expressions.rst:960 -#: ../../reference/expressions.rst:1926 -msgid "list" -msgstr "list" - -#: ../../reference/expressions.rst:274 ../../reference/expressions.rst:300 -#: ../../reference/expressions.rst:328 -msgid "display" -msgstr "" - -#: ../../reference/expressions.rst:274 ../../reference/expressions.rst:879 -msgid "[] (square brackets)" -msgstr "" - -#: ../../reference/expressions.rst:274 -msgid "list expression" -msgstr "" - -#: ../../reference/expressions.rst:274 ../../reference/expressions.rst:300 -#: ../../reference/expressions.rst:1926 -msgid "expression list" -msgstr "" - -#: ../../reference/expressions.rst:300 -msgid "set" -msgstr "set" - -#: ../../reference/expressions.rst:300 ../../reference/expressions.rst:328 -msgid "{} (curly brackets)" -msgstr "" - -#: ../../reference/expressions.rst:300 -msgid "set expression" -msgstr "" - -#: ../../reference/expressions.rst:328 ../../reference/expressions.rst:354 -#: ../../reference/expressions.rst:883 -msgid "dictionary" -msgstr "dictionary" - -#: ../../reference/expressions.rst:328 -msgid "key" -msgstr "" - -#: ../../reference/expressions.rst:328 -msgid "value" -msgstr "nilai" - -#: ../../reference/expressions.rst:328 -msgid "key/value pair" -msgstr "" - -#: ../../reference/expressions.rst:328 -msgid "dictionary expression" -msgstr "" - -#: ../../reference/expressions.rst:328 ../../reference/expressions.rst:954 -#: ../../reference/expressions.rst:1898 -msgid ": (colon)" -msgstr "" - -#: ../../reference/expressions.rst:328 -msgid "in dictionary expressions" -msgstr "" - -#: ../../reference/expressions.rst:328 ../../reference/expressions.rst:354 -msgid "in dictionary displays" -msgstr "" - -#: ../../reference/expressions.rst:354 ../../reference/expressions.rst:1087 -#: ../../reference/expressions.rst:1945 -msgid "unpacking" -msgstr "" - -#: ../../reference/expressions.rst:354 ../../reference/expressions.rst:1117 -#: ../../reference/expressions.rst:1225 -msgid "**" -msgstr "" - -#: ../../reference/expressions.rst:371 -msgid "hashable" -msgstr "" - -#: ../../reference/expressions.rst:392 ../../reference/expressions.rst:447 -#: ../../reference/expressions.rst:556 -msgid "generator" -msgstr "pembangkit" - -#: ../../reference/expressions.rst:392 -msgid "generator expression" -msgstr "" - -#: ../../reference/expressions.rst:447 ../../reference/expressions.rst:1205 -msgid "keyword" -msgstr "" - -#: ../../reference/expressions.rst:447 ../../reference/expressions.rst:643 -msgid "yield" -msgstr "" - -#: ../../reference/expressions.rst:447 ../../reference/expressions.rst:515 -msgid "from" -msgstr "dari" - -#: ../../reference/expressions.rst:447 ../../reference/expressions.rst:1152 -#: ../../reference/expressions.rst:1166 ../../reference/expressions.rst:1898 -msgid "function" -msgstr "fungsi" - -#: ../../reference/expressions.rst:501 -msgid "coroutine" -msgstr "" - -#: ../../reference/expressions.rst:515 -msgid "yield from expression" -msgstr "" - -#: ../../reference/expressions.rst:568 -msgid "StopIteration" -msgstr "" - -#: ../../reference/expressions.rst:623 ../../reference/expressions.rst:807 -msgid "GeneratorExit" -msgstr "" - -#: ../../reference/expressions.rst:643 -msgid "examples" -msgstr "" - -#: ../../reference/expressions.rst:742 -msgid "asynchronous-generator" -msgstr "" - -#: ../../reference/expressions.rst:752 -msgid "StopAsyncIteration" -msgstr "" - -#: ../../reference/expressions.rst:831 -msgid "primary" -msgstr "" - -#: ../../reference/expressions.rst:845 -msgid "attribute" -msgstr "atribut" - -#: ../../reference/expressions.rst:845 -msgid "reference" -msgstr "" - -#: ../../reference/expressions.rst:845 -msgid ". (dot)" -msgstr "" - -#: ../../reference/expressions.rst:845 -msgid "attribute reference" -msgstr "" - -#: ../../reference/expressions.rst:854 -msgid "AttributeError" -msgstr "" - -#: ../../reference/expressions.rst:854 -msgid "module" -msgstr "modul" - -#: ../../reference/expressions.rst:879 -msgid "subscription" -msgstr "" - -#: ../../reference/expressions.rst:883 ../../reference/expressions.rst:960 -#: ../../reference/expressions.rst:1746 -msgid "sequence" -msgstr "urutan" - -#: ../../reference/expressions.rst:883 -msgid "mapping" -msgstr "pemetaan" - -#: ../../reference/expressions.rst:883 ../../reference/expressions.rst:940 -#: ../../reference/expressions.rst:960 -msgid "string" -msgstr "string" - -#: ../../reference/expressions.rst:883 ../../reference/expressions.rst:940 -msgid "item" -msgstr "" - -#: ../../reference/expressions.rst:940 -msgid "character" -msgstr "" - -#: ../../reference/expressions.rst:954 -msgid "slicing" -msgstr "" - -#: ../../reference/expressions.rst:954 -msgid "slice" -msgstr "" - -#: ../../reference/expressions.rst:986 -msgid "start (slice object attribute)" -msgstr "" - -#: ../../reference/expressions.rst:986 -msgid "stop (slice object attribute)" -msgstr "" - -#: ../../reference/expressions.rst:986 -msgid "step (slice object attribute)" -msgstr "" - -#: ../../reference/expressions.rst:1004 -msgid "callable" -msgstr "" - -#: ../../reference/expressions.rst:1004 ../../reference/expressions.rst:1152 -#: ../../reference/expressions.rst:1166 ../../reference/expressions.rst:1180 -#: ../../reference/expressions.rst:1187 ../../reference/expressions.rst:1197 -msgid "call" -msgstr "" - -#: ../../reference/expressions.rst:1004 -msgid "argument" -msgstr "argumen" - -#: ../../reference/expressions.rst:1004 ../../reference/expressions.rst:1037 -msgid "call semantics" -msgstr "" - -#: ../../reference/expressions.rst:1004 -msgid "argument list" -msgstr "" - -#: ../../reference/expressions.rst:1004 -msgid "= (equals)" -msgstr "" - -#: ../../reference/expressions.rst:1004 ../../reference/expressions.rst:1087 -#: ../../reference/expressions.rst:1117 -msgid "in function calls" -msgstr "" - -#: ../../reference/expressions.rst:1037 -msgid "parameter" -msgstr "parameter" - -#: ../../reference/expressions.rst:1087 ../../reference/expressions.rst:1322 -#: ../../reference/expressions.rst:1945 -msgid "* (asterisk)" -msgstr "" - -#: ../../reference/expressions.rst:1152 -msgid "user-defined" -msgstr "" - -#: ../../reference/expressions.rst:1152 -msgid "user-defined function" -msgstr "" - -#: ../../reference/expressions.rst:1166 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../reference/expressions.rst:1166 -msgid "method" -msgstr "" - -#: ../../reference/expressions.rst:1166 -msgid "built-in method" -msgstr "" - -#: ../../reference/expressions.rst:1180 -msgid "class" -msgstr "kelas" - -#: ../../reference/expressions.rst:1180 -msgid "class object" -msgstr "" - -#: ../../reference/expressions.rst:1187 -msgid "class instance" -msgstr "" - -#: ../../reference/expressions.rst:1187 ../../reference/expressions.rst:1197 -msgid "instance" -msgstr "" - -#: ../../reference/expressions.rst:1197 -msgid "__call__() (object method)" -msgstr "" - -#: ../../reference/expressions.rst:1225 -msgid "power" -msgstr "" - -#: ../../reference/expressions.rst:1225 ../../reference/expressions.rst:1261 -#: ../../reference/expressions.rst:1309 ../../reference/expressions.rst:1437 -#: ../../reference/expressions.rst:1466 ../../reference/expressions.rst:1781 -msgid "operation" -msgstr "" - -#: ../../reference/expressions.rst:1225 ../../reference/expressions.rst:1270 -#: ../../reference/expressions.rst:1279 ../../reference/expressions.rst:1287 -#: ../../reference/expressions.rst:1322 ../../reference/expressions.rst:1339 -#: ../../reference/expressions.rst:1351 ../../reference/expressions.rst:1369 -#: ../../reference/expressions.rst:1399 ../../reference/expressions.rst:1416 -#: ../../reference/expressions.rst:1437 ../../reference/expressions.rst:1475 -#: ../../reference/expressions.rst:1483 ../../reference/expressions.rst:1492 -#: ../../reference/expressions.rst:1507 ../../reference/expressions.rst:1746 -#: ../../reference/expressions.rst:1755 ../../reference/expressions.rst:1797 -#: ../../reference/expressions.rst:1802 ../../reference/expressions.rst:1807 -#: ../../reference/expressions.rst:1872 ../../reference/expressions.rst:1996 -msgid "operator" -msgstr "" - -#: ../../reference/expressions.rst:1261 -msgid "unary" -msgstr "" - -#: ../../reference/expressions.rst:1261 ../../reference/expressions.rst:1466 -#: ../../reference/expressions.rst:1475 ../../reference/expressions.rst:1483 -#: ../../reference/expressions.rst:1492 -msgid "bitwise" -msgstr "" - -#: ../../reference/expressions.rst:1270 -msgid "negation" -msgstr "" - -#: ../../reference/expressions.rst:1270 -msgid "minus" -msgstr "" - -#: ../../reference/expressions.rst:1270 ../../reference/expressions.rst:1416 -msgid "- (minus)" -msgstr "" - -#: ../../reference/expressions.rst:1270 ../../reference/expressions.rst:1279 -msgid "unary operator" -msgstr "" - -#: ../../reference/expressions.rst:1279 -msgid "plus" -msgstr "" - -#: ../../reference/expressions.rst:1279 ../../reference/expressions.rst:1399 -msgid "+ (plus)" -msgstr "" - -#: ../../reference/expressions.rst:1287 -msgid "inversion" -msgstr "" - -#: ../../reference/expressions.rst:1287 -msgid "~ (tilde)" -msgstr "" - -#: ../../reference/expressions.rst:1298 -msgid "TypeError" -msgstr "" - -#: ../../reference/expressions.rst:1309 ../../reference/expressions.rst:1466 -msgid "binary" -msgstr "" - -#: ../../reference/expressions.rst:1322 -msgid "multiplication" -msgstr "" - -#: ../../reference/expressions.rst:1339 -msgid "matrix multiplication" -msgstr "" - -#: ../../reference/expressions.rst:1339 -msgid "@ (at)" -msgstr "" - -#: ../../reference/expressions.rst:1351 -msgid "ZeroDivisionError" -msgstr "" - -#: ../../reference/expressions.rst:1351 -msgid "division" -msgstr "" - -#: ../../reference/expressions.rst:1351 -msgid "/ (slash)" -msgstr "" - -#: ../../reference/expressions.rst:1351 -msgid "//" -msgstr "" - -#: ../../reference/expressions.rst:1369 -msgid "modulo" -msgstr "" - -#: ../../reference/expressions.rst:1369 -msgid "% (percent)" -msgstr "" - -#: ../../reference/expressions.rst:1399 -msgid "addition" -msgstr "" - -#: ../../reference/expressions.rst:1399 ../../reference/expressions.rst:1416 -msgid "binary operator" -msgstr "" - -#: ../../reference/expressions.rst:1416 -msgid "subtraction" -msgstr "" - -#: ../../reference/expressions.rst:1437 -msgid "shifting" -msgstr "" - -#: ../../reference/expressions.rst:1437 -msgid "<<" -msgstr "" - -#: ../../reference/expressions.rst:1437 -msgid ">>" -msgstr "" - -#: ../../reference/expressions.rst:1455 -msgid "ValueError" -msgstr "" - -#: ../../reference/expressions.rst:1475 ../../reference/expressions.rst:1802 -msgid "and" -msgstr "" - -#: ../../reference/expressions.rst:1475 -msgid "& (ampersand)" -msgstr "" - -#: ../../reference/expressions.rst:1483 -msgid "xor" -msgstr "" - -#: ../../reference/expressions.rst:1483 -msgid "exclusive" -msgstr "" - -#: ../../reference/expressions.rst:1483 ../../reference/expressions.rst:1492 -#: ../../reference/expressions.rst:1807 -msgid "or" -msgstr "" - -#: ../../reference/expressions.rst:1483 -msgid "^ (caret)" -msgstr "" - -#: ../../reference/expressions.rst:1492 -msgid "inclusive" -msgstr "" - -#: ../../reference/expressions.rst:1492 -msgid "| (vertical bar)" -msgstr "" - -#: ../../reference/expressions.rst:1507 -msgid "comparison" -msgstr "" - -#: ../../reference/expressions.rst:1507 -msgid "C" -msgstr "C" - -#: ../../reference/expressions.rst:1507 -msgid "language" -msgstr "" - -#: ../../reference/expressions.rst:1507 -msgid "< (less)" -msgstr "" - -#: ../../reference/expressions.rst:1507 -msgid "> (greater)" -msgstr "" - -#: ../../reference/expressions.rst:1507 -msgid "<=" -msgstr "" - -#: ../../reference/expressions.rst:1507 -msgid ">=" -msgstr "" - -#: ../../reference/expressions.rst:1507 -msgid "==" -msgstr "" - -#: ../../reference/expressions.rst:1507 -msgid "!=" -msgstr "" - -#: ../../reference/expressions.rst:1531 -msgid "chaining" -msgstr "" - -#: ../../reference/expressions.rst:1531 -msgid "comparisons" -msgstr "" - -#: ../../reference/expressions.rst:1746 -msgid "in" -msgstr "" - -#: ../../reference/expressions.rst:1746 -msgid "not in" -msgstr "" - -#: ../../reference/expressions.rst:1746 -msgid "membership" -msgstr "" - -#: ../../reference/expressions.rst:1746 ../../reference/expressions.rst:1755 -msgid "test" -msgstr "" - -#: ../../reference/expressions.rst:1755 -msgid "is" -msgstr "" - -#: ../../reference/expressions.rst:1755 -msgid "is not" -msgstr "" - -#: ../../reference/expressions.rst:1755 -msgid "identity" -msgstr "" - -#: ../../reference/expressions.rst:1781 -msgid "Conditional" -msgstr "" - -#: ../../reference/expressions.rst:1781 -msgid "Boolean" -msgstr "" - -#: ../../reference/expressions.rst:1797 -msgid "not" -msgstr "" - -#: ../../reference/expressions.rst:1821 -msgid ":= (colon equals)" -msgstr "" - -#: ../../reference/expressions.rst:1821 -msgid "assignment expression" -msgstr "" - -#: ../../reference/expressions.rst:1821 -msgid "walrus operator" -msgstr "" - -#: ../../reference/expressions.rst:1821 -msgid "named expression" -msgstr "" - -#: ../../reference/expressions.rst:1821 -msgid "assignment" -msgstr "" - -#: ../../reference/expressions.rst:1872 -msgid "conditional" -msgstr "" - -#: ../../reference/expressions.rst:1872 -msgid "ternary" -msgstr "" - -#: ../../reference/expressions.rst:1872 -msgid "conditional expression" -msgstr "" - -#: ../../reference/expressions.rst:1872 -msgid "else" -msgstr "" - -#: ../../reference/expressions.rst:1898 -msgid "lambda" -msgstr "" - -#: ../../reference/expressions.rst:1898 -msgid "form" -msgstr "" - -#: ../../reference/expressions.rst:1898 -msgid "anonymous" -msgstr "" - -#: ../../reference/expressions.rst:1898 -msgid "lambda expression" -msgstr "" - -#: ../../reference/expressions.rst:1945 -msgid "iterable" -msgstr "" - -#: ../../reference/expressions.rst:1945 -msgid "in expression lists" -msgstr "" - -#: ../../reference/expressions.rst:1960 -msgid "trailing" -msgstr "" - -#: ../../reference/expressions.rst:1975 -msgid "evaluation" -msgstr "" - -#: ../../reference/expressions.rst:1975 -msgid "order" -msgstr "" - -#: ../../reference/expressions.rst:1996 -msgid "precedence" -msgstr "" diff --git a/python-newest.reference--grammar/id.po b/python-newest.reference--grammar/id.po deleted file mode 100644 index 8549644..0000000 --- a/python-newest.reference--grammar/id.po +++ /dev/null @@ -1,1613 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Imaduddin A Majid , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Imaduddin A Majid , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../reference/grammar.rst:4 -msgid "Full Grammar specification" -msgstr "Spesifikasi Lengkap Tata Bahasa" - -#: ../../reference/grammar.rst:6 -msgid "" -"This is the full Python grammar, derived directly from the grammar used to " -"generate the CPython parser (see :source:`Grammar/python.gram`). The version" -" here omits details related to code generation and error recovery." -msgstr "" -"Ini adalah tata bahasa Python lengkap, diturunkan langsung dari tata bahasa " -"yang digunakan untuk menghasilkan pengurai CPython (lihat: sumber: `Tata " -"bahasa / python.gram`). Versi di sini menghilangkan detail yang terkait " -"dengan pembuatan kode dan pemulihan kesalahan." - -#: ../../reference/grammar.rst:11 -msgid "" -"The notation is a mixture of `EBNF " -"`_ and `PEG" -" `_. In " -"particular, ``&`` followed by a symbol, token or parenthesized group " -"indicates a positive lookahead (i.e., is required to match but not " -"consumed), while ``!`` indicates a negative lookahead (i.e., is required " -"*not* to match). We use the ``|`` separator to mean PEG's \"ordered " -"choice\" (written as ``/`` in traditional PEG grammars). See :pep:`617` for " -"more details on the grammar's syntax." -msgstr "" - -#: ../../reference/grammar.rst:21 -msgid "" -"# PEG grammar for Python\n" -"\n" -"@trailer '''\n" -"void *\n" -"_PyPegen_parse(Parser *p)\n" -"{\n" -" // Initialize keywords\n" -" p->keywords = reserved_keywords;\n" -" p->n_keyword_lists = n_keyword_lists;\n" -" p->soft_keywords = soft_keywords;\n" -"\n" -" // Run parser\n" -" void *result = NULL;\n" -" if (p->start_rule == Py_file_input) {\n" -" result = file_rule(p);\n" -" } else if (p->start_rule == Py_single_input) {\n" -" result = interactive_rule(p);\n" -" } else if (p->start_rule == Py_eval_input) {\n" -" result = eval_rule(p);\n" -" } else if (p->start_rule == Py_func_type_input) {\n" -" result = func_type_rule(p);\n" -" }\n" -"\n" -" return result;\n" -"}\n" -"'''\n" -"\n" -"# ========================= START OF THE GRAMMAR =========================\n" -"\n" -"# General grammatical elements and rules:\n" -"#\n" -"# * Strings with double quotes (\") denote SOFT KEYWORDS\n" -"# * Strings with single quotes (') denote KEYWORDS\n" -"# * Upper case names (NAME) denote tokens in the Grammar/Tokens file\n" -"# * Rule names starting with \"invalid_\" are used for specialized syntax errors\n" -"# - These rules are NOT used in the first pass of the parser.\n" -"# - Only if the first pass fails to parse, a second pass including the invalid\n" -"# rules will be executed.\n" -"# - If the parser fails in the second phase with a generic syntax error, the\n" -"# location of the generic failure of the first pass will be used (this avoids\n" -"# reporting incorrect locations due to the invalid rules).\n" -"# - The order of the alternatives involving invalid rules matter\n" -"# (like any rule in PEG).\n" -"#\n" -"# Grammar Syntax (see PEP 617 for more information):\n" -"#\n" -"# rule_name: expression\n" -"# Optionally, a type can be included right after the rule name, which\n" -"# specifies the return type of the C or Python function corresponding to the\n" -"# rule:\n" -"# rule_name[return_type]: expression\n" -"# If the return type is omitted, then a void * is returned in C and an Any in\n" -"# Python.\n" -"# e1 e2\n" -"# Match e1, then match e2.\n" -"# e1 | e2\n" -"# Match e1 or e2.\n" -"# The first alternative can also appear on the line after the rule name for\n" -"# formatting purposes. In that case, a | must be used before the first\n" -"# alternative, like so:\n" -"# rule_name[return_type]:\n" -"# | first_alt\n" -"# | second_alt\n" -"# ( e )\n" -"# Match e (allows also to use other operators in the group like '(e)*')\n" -"# [ e ] or e?\n" -"# Optionally match e.\n" -"# e*\n" -"# Match zero or more occurrences of e.\n" -"# e+\n" -"# Match one or more occurrences of e.\n" -"# s.e+\n" -"# Match one or more occurrences of e, separated by s. The generated parse tree\n" -"# does not include the separator. This is otherwise identical to (e (s e)*).\n" -"# &e\n" -"# Succeed if e can be parsed, without consuming any input.\n" -"# !e\n" -"# Fail if e can be parsed, without consuming any input.\n" -"# ~\n" -"# Commit to the current alternative, even if it fails to parse.\n" -"# &&e\n" -"# Eager parse e. The parser will not backtrack and will immediately\n" -"# fail with SyntaxError if e cannot be parsed.\n" -"#\n" -"\n" -"# STARTING RULES\n" -"# ==============\n" -"\n" -"file[mod_ty]: a=[statements] ENDMARKER { _PyPegen_make_module(p, a) }\n" -"interactive[mod_ty]: a=statement_newline { _PyAST_Interactive(a, p->arena) }\n" -"eval[mod_ty]: a=expressions NEWLINE* ENDMARKER { _PyAST_Expression(a, p->arena) }\n" -"func_type[mod_ty]: '(' a=[type_expressions] ')' '->' b=expression NEWLINE* ENDMARKER { _PyAST_FunctionType(a, b, p->arena) }\n" -"\n" -"# GENERAL STATEMENTS\n" -"# ==================\n" -"\n" -"statements[asdl_stmt_seq*]: a=statement+ { _PyPegen_register_stmts(p, (asdl_stmt_seq*)_PyPegen_seq_flatten(p, a)) }\n" -"\n" -"statement[asdl_stmt_seq*]: \n" -" | a=compound_stmt { (asdl_stmt_seq*)_PyPegen_singleton_seq(p, a) } \n" -" | a[asdl_stmt_seq*]=simple_stmts { a }\n" -"\n" -"single_compound_stmt[asdl_stmt_seq*]:\n" -" | a=compound_stmt { \n" -" _PyPegen_register_stmts(p, (asdl_stmt_seq*)_PyPegen_singleton_seq(p, a)) }\n" -"\n" -"statement_newline[asdl_stmt_seq*]:\n" -" | a=single_compound_stmt NEWLINE { a }\n" -" | simple_stmts\n" -" | NEWLINE { (asdl_stmt_seq*)_PyPegen_singleton_seq(p, CHECK(stmt_ty, _PyAST_Pass(EXTRA))) }\n" -" | ENDMARKER { _PyPegen_interactive_exit(p) }\n" -"\n" -"simple_stmts[asdl_stmt_seq*]:\n" -" | a=simple_stmt !';' NEWLINE { (asdl_stmt_seq*)_PyPegen_singleton_seq(p, a) } # Not needed, there for speedup\n" -" | a[asdl_stmt_seq*]=';'.simple_stmt+ [';'] NEWLINE { a }\n" -"\n" -"# NOTE: assignment MUST precede expression, else parsing a simple assignment\n" -"# will throw a SyntaxError.\n" -"simple_stmt[stmt_ty] (memo):\n" -" | assignment\n" -" | &\"type\" type_alias\n" -" | e=star_expressions { _PyAST_Expr(e, EXTRA) }\n" -" | &'return' return_stmt\n" -" | &('import' | 'from') import_stmt\n" -" | &'raise' raise_stmt\n" -" | &'pass' pass_stmt\n" -" | &'del' del_stmt\n" -" | &'yield' yield_stmt\n" -" | &'assert' assert_stmt\n" -" | &'break' break_stmt\n" -" | &'continue' continue_stmt\n" -" | &'global' global_stmt\n" -" | &'nonlocal' nonlocal_stmt\n" -"\n" -"compound_stmt[stmt_ty]:\n" -" | &('def' | '@' | 'async') function_def\n" -" | &'if' if_stmt\n" -" | &('class' | '@') class_def\n" -" | &('with' | 'async') with_stmt\n" -" | &('for' | 'async') for_stmt\n" -" | &'try' try_stmt\n" -" | &'while' while_stmt\n" -" | match_stmt\n" -"\n" -"# SIMPLE STATEMENTS\n" -"# =================\n" -"\n" -"# NOTE: annotated_rhs may start with 'yield'; yield_expr must start with 'yield'\n" -"assignment[stmt_ty]:\n" -" | a=NAME ':' b=expression c=['=' d=annotated_rhs { d }] {\n" -" CHECK_VERSION(\n" -" stmt_ty,\n" -" 6,\n" -" \"Variable annotation syntax is\",\n" -" _PyAST_AnnAssign(CHECK(expr_ty, _PyPegen_set_expr_context(p, a, Store)), b, c, 1, EXTRA)\n" -" ) }\n" -" | a=('(' b=single_target ')' { b }\n" -" | single_subscript_attribute_target) ':' b=expression c=['=' d=annotated_rhs { d }] {\n" -" CHECK_VERSION(stmt_ty, 6, \"Variable annotations syntax is\", _PyAST_AnnAssign(a, b, c, 0, EXTRA)) }\n" -" | a[asdl_expr_seq*]=(z=star_targets '=' { z })+ b=annotated_rhs !'=' tc=[TYPE_COMMENT] {\n" -" _PyAST_Assign(a, b, NEW_TYPE_COMMENT(p, tc), EXTRA) }\n" -" | a=single_target b=augassign ~ c=annotated_rhs {\n" -" _PyAST_AugAssign(a, b->kind, c, EXTRA) }\n" -" | invalid_assignment\n" -"\n" -"annotated_rhs[expr_ty]: yield_expr | star_expressions\n" -"\n" -"augassign[AugOperator*]:\n" -" | '+=' { _PyPegen_augoperator(p, Add) }\n" -" | '-=' { _PyPegen_augoperator(p, Sub) }\n" -" | '*=' { _PyPegen_augoperator(p, Mult) }\n" -" | '@=' { CHECK_VERSION(AugOperator*, 5, \"The '@' operator is\", _PyPegen_augoperator(p, MatMult)) }\n" -" | '/=' { _PyPegen_augoperator(p, Div) }\n" -" | '%=' { _PyPegen_augoperator(p, Mod) }\n" -" | '&=' { _PyPegen_augoperator(p, BitAnd) }\n" -" | '|=' { _PyPegen_augoperator(p, BitOr) }\n" -" | '^=' { _PyPegen_augoperator(p, BitXor) }\n" -" | '<<=' { _PyPegen_augoperator(p, LShift) }\n" -" | '>>=' { _PyPegen_augoperator(p, RShift) }\n" -" | '**=' { _PyPegen_augoperator(p, Pow) }\n" -" | '//=' { _PyPegen_augoperator(p, FloorDiv) }\n" -"\n" -"return_stmt[stmt_ty]:\n" -" | 'return' a=[star_expressions] { _PyAST_Return(a, EXTRA) }\n" -"\n" -"raise_stmt[stmt_ty]:\n" -" | 'raise' a=expression b=['from' z=expression { z }] { _PyAST_Raise(a, b, EXTRA) }\n" -" | 'raise' { _PyAST_Raise(NULL, NULL, EXTRA) }\n" -"\n" -"pass_stmt[stmt_ty]:\n" -" | 'pass' { _PyAST_Pass(EXTRA) }\n" -"\n" -"break_stmt[stmt_ty]:\n" -" | 'break' { _PyAST_Break(EXTRA) }\n" -"\n" -"continue_stmt[stmt_ty]:\n" -" | 'continue' { _PyAST_Continue(EXTRA) }\n" -"\n" -"global_stmt[stmt_ty]: 'global' a[asdl_expr_seq*]=','.NAME+ {\n" -" _PyAST_Global(CHECK(asdl_identifier_seq*, _PyPegen_map_names_to_ids(p, a)), EXTRA) }\n" -"\n" -"nonlocal_stmt[stmt_ty]: 'nonlocal' a[asdl_expr_seq*]=','.NAME+ {\n" -" _PyAST_Nonlocal(CHECK(asdl_identifier_seq*, _PyPegen_map_names_to_ids(p, a)), EXTRA) }\n" -"\n" -"del_stmt[stmt_ty]:\n" -" | 'del' a=del_targets &(';' | NEWLINE) { _PyAST_Delete(a, EXTRA) }\n" -" | invalid_del_stmt\n" -"\n" -"yield_stmt[stmt_ty]: y=yield_expr { _PyAST_Expr(y, EXTRA) }\n" -"\n" -"assert_stmt[stmt_ty]: 'assert' a=expression b=[',' z=expression { z }] { _PyAST_Assert(a, b, EXTRA) }\n" -"\n" -"import_stmt[stmt_ty]:\n" -" | invalid_import\n" -" | import_name\n" -" | import_from\n" -"\n" -"# Import statements\n" -"# -----------------\n" -"\n" -"import_name[stmt_ty]: 'import' a=dotted_as_names { _PyAST_Import(a, EXTRA) }\n" -"# note below: the ('.' | '...') is necessary because '...' is tokenized as ELLIPSIS\n" -"import_from[stmt_ty]:\n" -" | 'from' a=('.' | '...')* b=dotted_name 'import' c=import_from_targets {\n" -" _PyPegen_checked_future_import(p, b->v.Name.id, c, _PyPegen_seq_count_dots(a), EXTRA) }\n" -" | 'from' a=('.' | '...')+ 'import' b=import_from_targets {\n" -" _PyAST_ImportFrom(NULL, b, _PyPegen_seq_count_dots(a), EXTRA) }\n" -"import_from_targets[asdl_alias_seq*]:\n" -" | '(' a=import_from_as_names [','] ')' { a }\n" -" | import_from_as_names !','\n" -" | '*' { (asdl_alias_seq*)_PyPegen_singleton_seq(p, CHECK(alias_ty, _PyPegen_alias_for_star(p, EXTRA))) }\n" -" | invalid_import_from_targets\n" -"import_from_as_names[asdl_alias_seq*]:\n" -" | a[asdl_alias_seq*]=','.import_from_as_name+ { a }\n" -"import_from_as_name[alias_ty]:\n" -" | invalid_import_from_as_name\n" -" | a=NAME b=['as' z=NAME { z }] { _PyAST_alias(\n" -" a->v.Name.id, (b) ? ((expr_ty) b)->v.Name.id : NULL, EXTRA) }\n" -"\n" -"dotted_as_names[asdl_alias_seq*]:\n" -" | a[asdl_alias_seq*]=','.dotted_as_name+ { a }\n" -"dotted_as_name[alias_ty]:\n" -" | invalid_dotted_as_name\n" -" | a=dotted_name b=['as' z=NAME { z }] { _PyAST_alias(\n" -" a->v.Name.id, (b) ? ((expr_ty) b)->v.Name.id : NULL, EXTRA) }\n" -"\n" -"dotted_name[expr_ty]:\n" -" | a=dotted_name '.' b=NAME { _PyPegen_join_names_with_dot(p, a, b) }\n" -" | NAME\n" -"\n" -"# COMPOUND STATEMENTS\n" -"# ===================\n" -"\n" -"# Common elements\n" -"# ---------------\n" -"\n" -"block[asdl_stmt_seq*] (memo):\n" -" | NEWLINE INDENT a=statements DEDENT { a }\n" -" | simple_stmts\n" -" | invalid_block\n" -"\n" -"decorators[asdl_expr_seq*]: a[asdl_expr_seq*]=('@' f=named_expression NEWLINE { f })+ { a }\n" -"\n" -"# Class definitions\n" -"# -----------------\n" -"\n" -"class_def[stmt_ty]:\n" -" | a=decorators b=class_def_raw { _PyPegen_class_def_decorators(p, a, b) }\n" -" | class_def_raw\n" -"\n" -"class_def_raw[stmt_ty]:\n" -" | invalid_class_def_raw\n" -" | 'class' a=NAME t=[type_params] b=['(' z=[arguments] ')' { z }] ':' c=block {\n" -" _PyAST_ClassDef(a->v.Name.id,\n" -" (b) ? ((expr_ty) b)->v.Call.args : NULL,\n" -" (b) ? ((expr_ty) b)->v.Call.keywords : NULL,\n" -" c, NULL, t, EXTRA) }\n" -"\n" -"# Function definitions\n" -"# --------------------\n" -"\n" -"function_def[stmt_ty]:\n" -" | d=decorators f=function_def_raw { _PyPegen_function_def_decorators(p, d, f) }\n" -" | function_def_raw\n" -"\n" -"function_def_raw[stmt_ty]:\n" -" | invalid_def_raw\n" -" | 'def' n=NAME t=[type_params] '(' params=[params] ')' a=['->' z=expression { z }] ':' tc=[func_type_comment] b=block {\n" -" _PyAST_FunctionDef(n->v.Name.id,\n" -" (params) ? params : CHECK(arguments_ty, _PyPegen_empty_arguments(p)),\n" -" b, NULL, a, NEW_TYPE_COMMENT(p, tc), t, EXTRA) }\n" -" | 'async' 'def' n=NAME t=[type_params] '(' params=[params] ')' a=['->' z=expression { z }] ':' tc=[func_type_comment] b=block {\n" -" CHECK_VERSION(\n" -" stmt_ty,\n" -" 5,\n" -" \"Async functions are\",\n" -" _PyAST_AsyncFunctionDef(n->v.Name.id,\n" -" (params) ? params : CHECK(arguments_ty, _PyPegen_empty_arguments(p)),\n" -" b, NULL, a, NEW_TYPE_COMMENT(p, tc), t, EXTRA)\n" -" ) }\n" -"\n" -"# Function parameters\n" -"# -------------------\n" -"\n" -"params[arguments_ty]:\n" -" | invalid_parameters\n" -" | parameters\n" -"\n" -"parameters[arguments_ty]:\n" -" | a=slash_no_default b[asdl_arg_seq*]=param_no_default* c=param_with_default* d=[star_etc] {\n" -" CHECK_VERSION(arguments_ty, 8, \"Positional-only parameters are\", _PyPegen_make_arguments(p, a, NULL, b, c, d)) }\n" -" | a=slash_with_default b=param_with_default* c=[star_etc] {\n" -" CHECK_VERSION(arguments_ty, 8, \"Positional-only parameters are\", _PyPegen_make_arguments(p, NULL, a, NULL, b, c)) }\n" -" | a[asdl_arg_seq*]=param_no_default+ b=param_with_default* c=[star_etc] {\n" -" _PyPegen_make_arguments(p, NULL, NULL, a, b, c) }\n" -" | a=param_with_default+ b=[star_etc] { _PyPegen_make_arguments(p, NULL, NULL, NULL, a, b)}\n" -" | a=star_etc { _PyPegen_make_arguments(p, NULL, NULL, NULL, NULL, a) }\n" -"\n" -"# Some duplication here because we can't write (',' | &')'),\n" -"# which is because we don't support empty alternatives (yet).\n" -"\n" -"slash_no_default[asdl_arg_seq*]:\n" -" | a[asdl_arg_seq*]=param_no_default+ '/' ',' { a }\n" -" | a[asdl_arg_seq*]=param_no_default+ '/' &')' { a }\n" -"slash_with_default[SlashWithDefault*]:\n" -" | a=param_no_default* b=param_with_default+ '/' ',' { _PyPegen_slash_with_default(p, (asdl_arg_seq *)a, b) }\n" -" | a=param_no_default* b=param_with_default+ '/' &')' { _PyPegen_slash_with_default(p, (asdl_arg_seq *)a, b) }\n" -"\n" -"star_etc[StarEtc*]:\n" -" | invalid_star_etc\n" -" | '*' a=param_no_default b=param_maybe_default* c=[kwds] {\n" -" _PyPegen_star_etc(p, a, b, c) }\n" -" | '*' a=param_no_default_star_annotation b=param_maybe_default* c=[kwds] {\n" -" _PyPegen_star_etc(p, a, b, c) }\n" -" | '*' ',' b=param_maybe_default+ c=[kwds] {\n" -" _PyPegen_star_etc(p, NULL, b, c) }\n" -" | a=kwds { _PyPegen_star_etc(p, NULL, NULL, a) }\n" -"\n" -"kwds[arg_ty]:\n" -" | invalid_kwds\n" -" | '**' a=param_no_default { a }\n" -"\n" -"# One parameter. This *includes* a following comma and type comment.\n" -"#\n" -"# There are three styles:\n" -"# - No default\n" -"# - With default\n" -"# - Maybe with default\n" -"#\n" -"# There are two alternative forms of each, to deal with type comments:\n" -"# - Ends in a comma followed by an optional type comment\n" -"# - No comma, optional type comment, must be followed by close paren\n" -"# The latter form is for a final parameter without trailing comma.\n" -"#\n" -"\n" -"param_no_default[arg_ty]:\n" -" | a=param ',' tc=TYPE_COMMENT? { _PyPegen_add_type_comment_to_arg(p, a, tc) }\n" -" | a=param tc=TYPE_COMMENT? &')' { _PyPegen_add_type_comment_to_arg(p, a, tc) }\n" -"param_no_default_star_annotation[arg_ty]:\n" -" | a=param_star_annotation ',' tc=TYPE_COMMENT? { _PyPegen_add_type_comment_to_arg(p, a, tc) }\n" -" | a=param_star_annotation tc=TYPE_COMMENT? &')' { _PyPegen_add_type_comment_to_arg(p, a, tc) }\n" -"param_with_default[NameDefaultPair*]:\n" -" | a=param c=default ',' tc=TYPE_COMMENT? { _PyPegen_name_default_pair(p, a, c, tc) }\n" -" | a=param c=default tc=TYPE_COMMENT? &')' { _PyPegen_name_default_pair(p, a, c, tc) }\n" -"param_maybe_default[NameDefaultPair*]:\n" -" | a=param c=default? ',' tc=TYPE_COMMENT? { _PyPegen_name_default_pair(p, a, c, tc) }\n" -" | a=param c=default? tc=TYPE_COMMENT? &')' { _PyPegen_name_default_pair(p, a, c, tc) }\n" -"param[arg_ty]: a=NAME b=annotation? { _PyAST_arg(a->v.Name.id, b, NULL, EXTRA) }\n" -"param_star_annotation[arg_ty]: a=NAME b=star_annotation { _PyAST_arg(a->v.Name.id, b, NULL, EXTRA) }\n" -"annotation[expr_ty]: ':' a=expression { a }\n" -"star_annotation[expr_ty]: ':' a=star_expression { a }\n" -"default[expr_ty]: '=' a=expression { a } | invalid_default\n" -"\n" -"# If statement\n" -"# ------------\n" -"\n" -"if_stmt[stmt_ty]:\n" -" | invalid_if_stmt\n" -" | 'if' a=named_expression ':' b=block c=elif_stmt {\n" -" _PyAST_If(a, b, CHECK(asdl_stmt_seq*, _PyPegen_singleton_seq(p, c)), EXTRA) }\n" -" | 'if' a=named_expression ':' b=block c=[else_block] { _PyAST_If(a, b, c, EXTRA) }\n" -"elif_stmt[stmt_ty]:\n" -" | invalid_elif_stmt\n" -" | 'elif' a=named_expression ':' b=block c=elif_stmt {\n" -" _PyAST_If(a, b, CHECK(asdl_stmt_seq*, _PyPegen_singleton_seq(p, c)), EXTRA) }\n" -" | 'elif' a=named_expression ':' b=block c=[else_block] { _PyAST_If(a, b, c, EXTRA) }\n" -"else_block[asdl_stmt_seq*]:\n" -" | invalid_else_stmt\n" -" | 'else' &&':' b=block { b }\n" -"\n" -"# While statement\n" -"# ---------------\n" -"\n" -"while_stmt[stmt_ty]:\n" -" | invalid_while_stmt\n" -" | 'while' a=named_expression ':' b=block c=[else_block] { _PyAST_While(a, b, c, EXTRA) }\n" -"\n" -"# For statement\n" -"# -------------\n" -"\n" -"for_stmt[stmt_ty]:\n" -" | invalid_for_stmt\n" -" | 'for' t=star_targets 'in' ~ ex=star_expressions ':' tc=[TYPE_COMMENT] b=block el=[else_block] {\n" -" _PyAST_For(t, ex, b, el, NEW_TYPE_COMMENT(p, tc), EXTRA) }\n" -" | 'async' 'for' t=star_targets 'in' ~ ex=star_expressions ':' tc=[TYPE_COMMENT] b=block el=[else_block] {\n" -" CHECK_VERSION(stmt_ty, 5, \"Async for loops are\", _PyAST_AsyncFor(t, ex, b, el, NEW_TYPE_COMMENT(p, tc), EXTRA)) }\n" -" | invalid_for_target\n" -"\n" -"# With statement\n" -"# --------------\n" -"\n" -"with_stmt[stmt_ty]:\n" -" | invalid_with_stmt_indent\n" -" | 'with' '(' a[asdl_withitem_seq*]=','.with_item+ ','? ')' ':' tc=[TYPE_COMMENT] b=block {\n" -" _PyAST_With(a, b, NEW_TYPE_COMMENT(p, tc), EXTRA) }\n" -" | 'with' a[asdl_withitem_seq*]=','.with_item+ ':' tc=[TYPE_COMMENT] b=block {\n" -" _PyAST_With(a, b, NEW_TYPE_COMMENT(p, tc), EXTRA) }\n" -" | 'async' 'with' '(' a[asdl_withitem_seq*]=','.with_item+ ','? ')' ':' b=block {\n" -" CHECK_VERSION(stmt_ty, 5, \"Async with statements are\", _PyAST_AsyncWith(a, b, NULL, EXTRA)) }\n" -" | 'async' 'with' a[asdl_withitem_seq*]=','.with_item+ ':' tc=[TYPE_COMMENT] b=block {\n" -" CHECK_VERSION(stmt_ty, 5, \"Async with statements are\", _PyAST_AsyncWith(a, b, NEW_TYPE_COMMENT(p, tc), EXTRA)) }\n" -" | invalid_with_stmt\n" -"\n" -"with_item[withitem_ty]:\n" -" | e=expression 'as' t=star_target &(',' | ')' | ':') { _PyAST_withitem(e, t, p->arena) }\n" -" | invalid_with_item\n" -" | e=expression { _PyAST_withitem(e, NULL, p->arena) }\n" -"\n" -"# Try statement\n" -"# -------------\n" -"\n" -"try_stmt[stmt_ty]:\n" -" | invalid_try_stmt\n" -" | 'try' &&':' b=block f=finally_block { _PyAST_Try(b, NULL, NULL, f, EXTRA) }\n" -" | 'try' &&':' b=block ex[asdl_excepthandler_seq*]=except_block+ el=[else_block] f=[finally_block] { _PyAST_Try(b, ex, el, f, EXTRA) }\n" -" | 'try' &&':' b=block ex[asdl_excepthandler_seq*]=except_star_block+ el=[else_block] f=[finally_block] {\n" -" CHECK_VERSION(stmt_ty, 11, \"Exception groups are\",\n" -" _PyAST_TryStar(b, ex, el, f, EXTRA)) }\n" -"\n" -"\n" -"# Except statement\n" -"# ----------------\n" -"\n" -"except_block[excepthandler_ty]:\n" -" | invalid_except_stmt_indent\n" -" | 'except' e=expression ':' b=block {\n" -" _PyAST_ExceptHandler(e, NULL, b, EXTRA) }\n" -" | 'except' e=expression 'as' t=NAME ':' b=block {\n" -" _PyAST_ExceptHandler(e, ((expr_ty) t)->v.Name.id, b, EXTRA) }\n" -" | 'except' e=expressions ':' b=block {\n" -" CHECK_VERSION(\n" -" excepthandler_ty, \n" -" 14, \n" -" \"except expressions without parentheses are\", \n" -" _PyAST_ExceptHandler(e, NULL, b, EXTRA)) }\n" -" | 'except' ':' b=block { _PyAST_ExceptHandler(NULL, NULL, b, EXTRA) }\n" -" | invalid_except_stmt\n" -"except_star_block[excepthandler_ty]:\n" -" | invalid_except_star_stmt_indent\n" -" | 'except' '*' e=expression ':' b=block {\n" -" _PyAST_ExceptHandler(e, NULL, b, EXTRA) }\n" -" | 'except' '*' e=expression 'as' t=NAME ':' b=block {\n" -" _PyAST_ExceptHandler(e, ((expr_ty) t)->v.Name.id, b, EXTRA) }\n" -" | 'except' '*' e=expressions ':' b=block {\n" -" CHECK_VERSION(\n" -" excepthandler_ty, \n" -" 14, \n" -" \"except expressions without parentheses are\", \n" -" _PyAST_ExceptHandler(e, NULL, b, EXTRA)) }\n" -" | invalid_except_star_stmt\n" -"finally_block[asdl_stmt_seq*]:\n" -" | invalid_finally_stmt\n" -" | 'finally' &&':' a=block { a }\n" -"\n" -"# Match statement\n" -"# ---------------\n" -"\n" -"match_stmt[stmt_ty]:\n" -" | \"match\" subject=subject_expr ':' NEWLINE INDENT cases[asdl_match_case_seq*]=case_block+ DEDENT {\n" -" CHECK_VERSION(stmt_ty, 10, \"Pattern matching is\", _PyAST_Match(subject, cases, EXTRA)) }\n" -" | invalid_match_stmt\n" -"\n" -"subject_expr[expr_ty]:\n" -" | value=star_named_expression ',' values=star_named_expressions? {\n" -" _PyAST_Tuple(CHECK(asdl_expr_seq*, _PyPegen_seq_insert_in_front(p, value, values)), Load, EXTRA) }\n" -" | named_expression\n" -"\n" -"case_block[match_case_ty]:\n" -" | invalid_case_block\n" -" | \"case\" pattern=patterns guard=guard? ':' body=block {\n" -" _PyAST_match_case(pattern, guard, body, p->arena) }\n" -"\n" -"guard[expr_ty]: 'if' guard=named_expression { guard }\n" -"\n" -"patterns[pattern_ty]:\n" -" | patterns[asdl_pattern_seq*]=open_sequence_pattern {\n" -" _PyAST_MatchSequence(patterns, EXTRA) }\n" -" | pattern\n" -"\n" -"pattern[pattern_ty]:\n" -" | as_pattern\n" -" | or_pattern\n" -"\n" -"as_pattern[pattern_ty]:\n" -" | pattern=or_pattern 'as' target=pattern_capture_target {\n" -" _PyAST_MatchAs(pattern, target->v.Name.id, EXTRA) }\n" -" | invalid_as_pattern\n" -"\n" -"or_pattern[pattern_ty]:\n" -" | patterns[asdl_pattern_seq*]='|'.closed_pattern+ {\n" -" asdl_seq_LEN(patterns) == 1 ? asdl_seq_GET(patterns, 0) : _PyAST_MatchOr(patterns, EXTRA) }\n" -"\n" -"closed_pattern[pattern_ty] (memo):\n" -" | literal_pattern\n" -" | capture_pattern\n" -" | wildcard_pattern\n" -" | value_pattern\n" -" | group_pattern\n" -" | sequence_pattern\n" -" | mapping_pattern\n" -" | class_pattern\n" -"\n" -"# Literal patterns are used for equality and identity constraints\n" -"literal_pattern[pattern_ty]:\n" -" | value=signed_number !('+' | '-') { _PyAST_MatchValue(value, EXTRA) }\n" -" | value=complex_number { _PyAST_MatchValue(value, EXTRA) }\n" -" | value=strings { _PyAST_MatchValue(value, EXTRA) }\n" -" | 'None' { _PyAST_MatchSingleton(Py_None, EXTRA) }\n" -" | 'True' { _PyAST_MatchSingleton(Py_True, EXTRA) }\n" -" | 'False' { _PyAST_MatchSingleton(Py_False, EXTRA) }\n" -"\n" -"# Literal expressions are used to restrict permitted mapping pattern keys\n" -"literal_expr[expr_ty]:\n" -" | signed_number !('+' | '-')\n" -" | complex_number\n" -" | &(STRING|FSTRING_START|TSTRING_START) strings\n" -" | 'None' { _PyAST_Constant(Py_None, NULL, EXTRA) }\n" -" | 'True' { _PyAST_Constant(Py_True, NULL, EXTRA) }\n" -" | 'False' { _PyAST_Constant(Py_False, NULL, EXTRA) }\n" -"\n" -"complex_number[expr_ty]:\n" -" | real=signed_real_number '+' imag=imaginary_number {\n" -" _PyAST_BinOp(real, Add, imag, EXTRA) }\n" -" | real=signed_real_number '-' imag=imaginary_number {\n" -" _PyAST_BinOp(real, Sub, imag, EXTRA) }\n" -"\n" -"signed_number[expr_ty]:\n" -" | NUMBER\n" -" | '-' number=NUMBER { _PyAST_UnaryOp(USub, number, EXTRA) }\n" -"\n" -"signed_real_number[expr_ty]:\n" -" | real_number\n" -" | '-' real=real_number { _PyAST_UnaryOp(USub, real, EXTRA) }\n" -"\n" -"real_number[expr_ty]:\n" -" | real=NUMBER { _PyPegen_ensure_real(p, real) }\n" -"\n" -"imaginary_number[expr_ty]:\n" -" | imag=NUMBER { _PyPegen_ensure_imaginary(p, imag) }\n" -"\n" -"capture_pattern[pattern_ty]:\n" -" | target=pattern_capture_target { _PyAST_MatchAs(NULL, target->v.Name.id, EXTRA) }\n" -"\n" -"pattern_capture_target[expr_ty]:\n" -" | !\"_\" name=NAME !('.' | '(' | '=') {\n" -" _PyPegen_set_expr_context(p, name, Store) }\n" -"\n" -"wildcard_pattern[pattern_ty]:\n" -" | \"_\" { _PyAST_MatchAs(NULL, NULL, EXTRA) }\n" -"\n" -"value_pattern[pattern_ty]:\n" -" | attr=attr !('.' | '(' | '=') { _PyAST_MatchValue(attr, EXTRA) }\n" -"\n" -"attr[expr_ty]:\n" -" | value=name_or_attr '.' attr=NAME {\n" -" _PyAST_Attribute(value, attr->v.Name.id, Load, EXTRA) }\n" -"\n" -"name_or_attr[expr_ty]:\n" -" | attr\n" -" | NAME\n" -"\n" -"group_pattern[pattern_ty]:\n" -" | '(' pattern=pattern ')' { pattern }\n" -"\n" -"sequence_pattern[pattern_ty]:\n" -" | '[' patterns=maybe_sequence_pattern? ']' { _PyAST_MatchSequence(patterns, EXTRA) }\n" -" | '(' patterns=open_sequence_pattern? ')' { _PyAST_MatchSequence(patterns, EXTRA) }\n" -"\n" -"open_sequence_pattern[asdl_seq*]:\n" -" | pattern=maybe_star_pattern ',' patterns=maybe_sequence_pattern? {\n" -" _PyPegen_seq_insert_in_front(p, pattern, patterns) }\n" -"\n" -"maybe_sequence_pattern[asdl_seq*]:\n" -" | patterns=','.maybe_star_pattern+ ','? { patterns }\n" -"\n" -"maybe_star_pattern[pattern_ty]:\n" -" | star_pattern\n" -" | pattern\n" -"\n" -"star_pattern[pattern_ty] (memo):\n" -" | '*' target=pattern_capture_target {\n" -" _PyAST_MatchStar(target->v.Name.id, EXTRA) }\n" -" | '*' wildcard_pattern {\n" -" _PyAST_MatchStar(NULL, EXTRA) }\n" -"\n" -"mapping_pattern[pattern_ty]:\n" -" | '{' '}' {\n" -" _PyAST_MatchMapping(NULL, NULL, NULL, EXTRA) }\n" -" | '{' rest=double_star_pattern ','? '}' {\n" -" _PyAST_MatchMapping(NULL, NULL, rest->v.Name.id, EXTRA) }\n" -" | '{' items=items_pattern ',' rest=double_star_pattern ','? '}' {\n" -" _PyAST_MatchMapping(\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_pattern_keys(p, items)),\n" -" CHECK(asdl_pattern_seq*, _PyPegen_get_patterns(p, items)),\n" -" rest->v.Name.id,\n" -" EXTRA) }\n" -" | '{' items=items_pattern ','? '}' {\n" -" _PyAST_MatchMapping(\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_pattern_keys(p, items)),\n" -" CHECK(asdl_pattern_seq*, _PyPegen_get_patterns(p, items)),\n" -" NULL,\n" -" EXTRA) }\n" -"\n" -"items_pattern[asdl_seq*]:\n" -" | ','.key_value_pattern+\n" -"\n" -"key_value_pattern[KeyPatternPair*]:\n" -" | key=(literal_expr | attr) ':' pattern=pattern {\n" -" _PyPegen_key_pattern_pair(p, key, pattern) }\n" -"\n" -"double_star_pattern[expr_ty]:\n" -" | '**' target=pattern_capture_target { target }\n" -"\n" -"class_pattern[pattern_ty]:\n" -" | cls=name_or_attr '(' ')' {\n" -" _PyAST_MatchClass(cls, NULL, NULL, NULL, EXTRA) }\n" -" | cls=name_or_attr '(' patterns=positional_patterns ','? ')' {\n" -" _PyAST_MatchClass(cls, patterns, NULL, NULL, EXTRA) }\n" -" | cls=name_or_attr '(' keywords=keyword_patterns ','? ')' {\n" -" _PyAST_MatchClass(\n" -" cls, NULL,\n" -" CHECK(asdl_identifier_seq*, _PyPegen_map_names_to_ids(p,\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_pattern_keys(p, keywords)))),\n" -" CHECK(asdl_pattern_seq*, _PyPegen_get_patterns(p, keywords)),\n" -" EXTRA) }\n" -" | cls=name_or_attr '(' patterns=positional_patterns ',' keywords=keyword_patterns ','? ')' {\n" -" _PyAST_MatchClass(\n" -" cls,\n" -" patterns,\n" -" CHECK(asdl_identifier_seq*, _PyPegen_map_names_to_ids(p,\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_pattern_keys(p, keywords)))),\n" -" CHECK(asdl_pattern_seq*, _PyPegen_get_patterns(p, keywords)),\n" -" EXTRA) }\n" -" | invalid_class_pattern\n" -"\n" -"positional_patterns[asdl_pattern_seq*]:\n" -" | args[asdl_pattern_seq*]=','.pattern+ { args }\n" -"\n" -"keyword_patterns[asdl_seq*]:\n" -" | ','.keyword_pattern+\n" -"\n" -"keyword_pattern[KeyPatternPair*]:\n" -" | arg=NAME '=' value=pattern { _PyPegen_key_pattern_pair(p, arg, value) }\n" -"\n" -"# Type statement\n" -"# ---------------\n" -"\n" -"type_alias[stmt_ty]:\n" -" | \"type\" n=NAME t=[type_params] '=' b=expression {\n" -" CHECK_VERSION(stmt_ty, 12, \"Type statement is\",\n" -" _PyAST_TypeAlias(CHECK(expr_ty, _PyPegen_set_expr_context(p, n, Store)), t, b, EXTRA)) }\n" -"\n" -"# Type parameter declaration\n" -"# --------------------------\n" -"\n" -"type_params[asdl_type_param_seq*]:\n" -" | invalid_type_params\n" -" | '[' t=type_param_seq ']' {\n" -" CHECK_VERSION(asdl_type_param_seq *, 12, \"Type parameter lists are\", t) }\n" -"\n" -"type_param_seq[asdl_type_param_seq*]: a[asdl_type_param_seq*]=','.type_param+ [','] { a }\n" -"\n" -"type_param[type_param_ty] (memo):\n" -" | a=NAME b=[type_param_bound] c=[type_param_default] { _PyAST_TypeVar(a->v.Name.id, b, c, EXTRA) }\n" -" | invalid_type_param\n" -" | '*' a=NAME b=[type_param_starred_default] { _PyAST_TypeVarTuple(a->v.Name.id, b, EXTRA) }\n" -" | '**' a=NAME b=[type_param_default] { _PyAST_ParamSpec(a->v.Name.id, b, EXTRA) }\n" -"\n" -"type_param_bound[expr_ty]: ':' e=expression { e }\n" -"type_param_default[expr_ty]: '=' e=expression {\n" -" CHECK_VERSION(expr_ty, 13, \"Type parameter defaults are\", e) }\n" -"type_param_starred_default[expr_ty]: '=' e=star_expression {\n" -" CHECK_VERSION(expr_ty, 13, \"Type parameter defaults are\", e) }\n" -"\n" -"# EXPRESSIONS\n" -"# -----------\n" -"\n" -"expressions[expr_ty]:\n" -" | a=expression b=(',' c=expression { c })+ [','] {\n" -" _PyAST_Tuple(CHECK(asdl_expr_seq*, _PyPegen_seq_insert_in_front(p, a, b)), Load, EXTRA) }\n" -" | a=expression ',' { _PyAST_Tuple(CHECK(asdl_expr_seq*, _PyPegen_singleton_seq(p, a)), Load, EXTRA) }\n" -" | expression\n" -"\n" -"expression[expr_ty] (memo):\n" -" | invalid_expression\n" -" | invalid_legacy_expression\n" -" | a=disjunction 'if' b=disjunction 'else' c=expression { _PyAST_IfExp(b, a, c, EXTRA) }\n" -" | disjunction\n" -" | lambdef\n" -"\n" -"yield_expr[expr_ty]:\n" -" | 'yield' 'from' a=expression { _PyAST_YieldFrom(a, EXTRA) }\n" -" | 'yield' a=[star_expressions] { _PyAST_Yield(a, EXTRA) }\n" -"\n" -"star_expressions[expr_ty]:\n" -" | a=star_expression b=(',' c=star_expression { c })+ [','] {\n" -" _PyAST_Tuple(CHECK(asdl_expr_seq*, _PyPegen_seq_insert_in_front(p, a, b)), Load, EXTRA) }\n" -" | a=star_expression ',' { _PyAST_Tuple(CHECK(asdl_expr_seq*, _PyPegen_singleton_seq(p, a)), Load, EXTRA) }\n" -" | star_expression\n" -"\n" -"star_expression[expr_ty] (memo):\n" -" | '*' a=bitwise_or { _PyAST_Starred(a, Load, EXTRA) }\n" -" | expression\n" -"\n" -"star_named_expressions[asdl_expr_seq*]: a[asdl_expr_seq*]=','.star_named_expression+ [','] { a }\n" -"\n" -"star_named_expression[expr_ty]:\n" -" | '*' a=bitwise_or { _PyAST_Starred(a, Load, EXTRA) }\n" -" | named_expression\n" -"\n" -"assignment_expression[expr_ty]:\n" -" | a=NAME ':=' ~ b=expression {\n" -" CHECK_VERSION(expr_ty, 8, \"Assignment expressions are\",\n" -" _PyAST_NamedExpr(CHECK(expr_ty, _PyPegen_set_expr_context(p, a, Store)), b, EXTRA)) }\n" -"\n" -"named_expression[expr_ty]:\n" -" | assignment_expression\n" -" | invalid_named_expression\n" -" | expression !':='\n" -"\n" -"disjunction[expr_ty] (memo):\n" -" | a=conjunction b=('or' c=conjunction { c })+ { _PyAST_BoolOp(\n" -" Or,\n" -" CHECK(asdl_expr_seq*, _PyPegen_seq_insert_in_front(p, a, b)),\n" -" EXTRA) }\n" -" | conjunction\n" -"\n" -"conjunction[expr_ty] (memo):\n" -" | a=inversion b=('and' c=inversion { c })+ { _PyAST_BoolOp(\n" -" And,\n" -" CHECK(asdl_expr_seq*, _PyPegen_seq_insert_in_front(p, a, b)),\n" -" EXTRA) }\n" -" | inversion\n" -"\n" -"inversion[expr_ty] (memo):\n" -" | 'not' a=inversion { _PyAST_UnaryOp(Not, a, EXTRA) }\n" -" | comparison\n" -"\n" -"# Comparison operators\n" -"# --------------------\n" -"\n" -"comparison[expr_ty]:\n" -" | a=bitwise_or b=compare_op_bitwise_or_pair+ {\n" -" _PyAST_Compare(\n" -" a,\n" -" CHECK(asdl_int_seq*, _PyPegen_get_cmpops(p, b)),\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_exprs(p, b)),\n" -" EXTRA) }\n" -" | bitwise_or\n" -"\n" -"compare_op_bitwise_or_pair[CmpopExprPair*]:\n" -" | eq_bitwise_or\n" -" | noteq_bitwise_or\n" -" | lte_bitwise_or\n" -" | lt_bitwise_or\n" -" | gte_bitwise_or\n" -" | gt_bitwise_or\n" -" | notin_bitwise_or\n" -" | in_bitwise_or\n" -" | isnot_bitwise_or\n" -" | is_bitwise_or\n" -"\n" -"eq_bitwise_or[CmpopExprPair*]: '==' a=bitwise_or { _PyPegen_cmpop_expr_pair(p, Eq, a) }\n" -"noteq_bitwise_or[CmpopExprPair*]:\n" -" | (tok='!=' { _PyPegen_check_barry_as_flufl(p, tok) ? NULL : tok}) a=bitwise_or {_PyPegen_cmpop_expr_pair(p, NotEq, a) }\n" -"lte_bitwise_or[CmpopExprPair*]: '<=' a=bitwise_or { _PyPegen_cmpop_expr_pair(p, LtE, a) }\n" -"lt_bitwise_or[CmpopExprPair*]: '<' a=bitwise_or { _PyPegen_cmpop_expr_pair(p, Lt, a) }\n" -"gte_bitwise_or[CmpopExprPair*]: '>=' a=bitwise_or { _PyPegen_cmpop_expr_pair(p, GtE, a) }\n" -"gt_bitwise_or[CmpopExprPair*]: '>' a=bitwise_or { _PyPegen_cmpop_expr_pair(p, Gt, a) }\n" -"notin_bitwise_or[CmpopExprPair*]: 'not' 'in' a=bitwise_or { _PyPegen_cmpop_expr_pair(p, NotIn, a) }\n" -"in_bitwise_or[CmpopExprPair*]: 'in' a=bitwise_or { _PyPegen_cmpop_expr_pair(p, In, a) }\n" -"isnot_bitwise_or[CmpopExprPair*]: 'is' 'not' a=bitwise_or { _PyPegen_cmpop_expr_pair(p, IsNot, a) }\n" -"is_bitwise_or[CmpopExprPair*]: 'is' a=bitwise_or { _PyPegen_cmpop_expr_pair(p, Is, a) }\n" -"\n" -"# Bitwise operators\n" -"# -----------------\n" -"\n" -"bitwise_or[expr_ty]:\n" -" | a=bitwise_or '|' b=bitwise_xor { _PyAST_BinOp(a, BitOr, b, EXTRA) }\n" -" | bitwise_xor\n" -"\n" -"bitwise_xor[expr_ty]:\n" -" | a=bitwise_xor '^' b=bitwise_and { _PyAST_BinOp(a, BitXor, b, EXTRA) }\n" -" | bitwise_and\n" -"\n" -"bitwise_and[expr_ty]:\n" -" | a=bitwise_and '&' b=shift_expr { _PyAST_BinOp(a, BitAnd, b, EXTRA) }\n" -" | shift_expr\n" -"\n" -"shift_expr[expr_ty]:\n" -" | a=shift_expr '<<' b=sum { _PyAST_BinOp(a, LShift, b, EXTRA) }\n" -" | a=shift_expr '>>' b=sum { _PyAST_BinOp(a, RShift, b, EXTRA) }\n" -" | invalid_arithmetic\n" -" | sum\n" -"\n" -"# Arithmetic operators\n" -"# --------------------\n" -"\n" -"sum[expr_ty]:\n" -" | a=sum '+' b=term { _PyAST_BinOp(a, Add, b, EXTRA) }\n" -" | a=sum '-' b=term { _PyAST_BinOp(a, Sub, b, EXTRA) }\n" -" | term\n" -"\n" -"term[expr_ty]:\n" -" | a=term '*' b=factor { _PyAST_BinOp(a, Mult, b, EXTRA) }\n" -" | a=term '/' b=factor { _PyAST_BinOp(a, Div, b, EXTRA) }\n" -" | a=term '//' b=factor { _PyAST_BinOp(a, FloorDiv, b, EXTRA) }\n" -" | a=term '%' b=factor { _PyAST_BinOp(a, Mod, b, EXTRA) }\n" -" | a=term '@' b=factor { CHECK_VERSION(expr_ty, 5, \"The '@' operator is\", _PyAST_BinOp(a, MatMult, b, EXTRA)) }\n" -" | invalid_factor\n" -" | factor\n" -"\n" -"factor[expr_ty] (memo):\n" -" | '+' a=factor { _PyAST_UnaryOp(UAdd, a, EXTRA) }\n" -" | '-' a=factor { _PyAST_UnaryOp(USub, a, EXTRA) }\n" -" | '~' a=factor { _PyAST_UnaryOp(Invert, a, EXTRA) }\n" -" | power\n" -"\n" -"power[expr_ty]:\n" -" | a=await_primary '**' b=factor { _PyAST_BinOp(a, Pow, b, EXTRA) }\n" -" | await_primary\n" -"\n" -"# Primary elements\n" -"# ----------------\n" -"\n" -"# Primary elements are things like \"obj.something.something\", \"obj[something]\", \"obj(something)\", \"obj\" ...\n" -"\n" -"await_primary[expr_ty] (memo):\n" -" | 'await' a=primary { CHECK_VERSION(expr_ty, 5, \"Await expressions are\", _PyAST_Await(a, EXTRA)) }\n" -" | primary\n" -"\n" -"primary[expr_ty]:\n" -" | a=primary '.' b=NAME { _PyAST_Attribute(a, b->v.Name.id, Load, EXTRA) }\n" -" | a=primary b=genexp { _PyAST_Call(a, CHECK(asdl_expr_seq*, (asdl_expr_seq*)_PyPegen_singleton_seq(p, b)), NULL, EXTRA) }\n" -" | a=primary '(' b=[arguments] ')' {\n" -" _PyAST_Call(a,\n" -" (b) ? ((expr_ty) b)->v.Call.args : NULL,\n" -" (b) ? ((expr_ty) b)->v.Call.keywords : NULL,\n" -" EXTRA) }\n" -" | a=primary '[' b=slices ']' { _PyAST_Subscript(a, b, Load, EXTRA) }\n" -" | atom\n" -"\n" -"slices[expr_ty]:\n" -" | a=slice !',' { a }\n" -" | a[asdl_expr_seq*]=','.(slice | starred_expression)+ [','] { _PyAST_Tuple(a, Load, EXTRA) }\n" -"\n" -"slice[expr_ty]:\n" -" | a=[expression] ':' b=[expression] c=[':' d=[expression] { d }] { _PyAST_Slice(a, b, c, EXTRA) }\n" -" | a=named_expression { a }\n" -"\n" -"atom[expr_ty]:\n" -" | NAME\n" -" | 'True' { _PyAST_Constant(Py_True, NULL, EXTRA) }\n" -" | 'False' { _PyAST_Constant(Py_False, NULL, EXTRA) }\n" -" | 'None' { _PyAST_Constant(Py_None, NULL, EXTRA) }\n" -" | &(STRING|FSTRING_START|TSTRING_START) strings\n" -" | NUMBER\n" -" | &'(' (tuple | group | genexp)\n" -" | &'[' (list | listcomp)\n" -" | &'{' (dict | set | dictcomp | setcomp)\n" -" | '...' { _PyAST_Constant(Py_Ellipsis, NULL, EXTRA) }\n" -"\n" -"group[expr_ty]:\n" -" | '(' a=(yield_expr | named_expression) ')' { a }\n" -" | invalid_group\n" -"\n" -"# Lambda functions\n" -"# ----------------\n" -"\n" -"lambdef[expr_ty]:\n" -" | 'lambda' a=[lambda_params] ':' b=expression {\n" -" _PyAST_Lambda((a) ? a : CHECK(arguments_ty, _PyPegen_empty_arguments(p)), b, EXTRA) }\n" -"\n" -"lambda_params[arguments_ty]:\n" -" | invalid_lambda_parameters\n" -" | lambda_parameters\n" -"\n" -"# lambda_parameters etc. duplicates parameters but without annotations\n" -"# or type comments, and if there's no comma after a parameter, we expect\n" -"# a colon, not a close parenthesis. (For more, see parameters above.)\n" -"#\n" -"lambda_parameters[arguments_ty]:\n" -" | a=lambda_slash_no_default b[asdl_arg_seq*]=lambda_param_no_default* c=lambda_param_with_default* d=[lambda_star_etc] {\n" -" CHECK_VERSION(arguments_ty, 8, \"Positional-only parameters are\", _PyPegen_make_arguments(p, a, NULL, b, c, d)) }\n" -" | a=lambda_slash_with_default b=lambda_param_with_default* c=[lambda_star_etc] {\n" -" CHECK_VERSION(arguments_ty, 8, \"Positional-only parameters are\", _PyPegen_make_arguments(p, NULL, a, NULL, b, c)) }\n" -" | a[asdl_arg_seq*]=lambda_param_no_default+ b=lambda_param_with_default* c=[lambda_star_etc] {\n" -" _PyPegen_make_arguments(p, NULL, NULL, a, b, c) }\n" -" | a=lambda_param_with_default+ b=[lambda_star_etc] { _PyPegen_make_arguments(p, NULL, NULL, NULL, a, b)}\n" -" | a=lambda_star_etc { _PyPegen_make_arguments(p, NULL, NULL, NULL, NULL, a) }\n" -"\n" -"lambda_slash_no_default[asdl_arg_seq*]:\n" -" | a[asdl_arg_seq*]=lambda_param_no_default+ '/' ',' { a }\n" -" | a[asdl_arg_seq*]=lambda_param_no_default+ '/' &':' { a }\n" -"\n" -"lambda_slash_with_default[SlashWithDefault*]:\n" -" | a=lambda_param_no_default* b=lambda_param_with_default+ '/' ',' { _PyPegen_slash_with_default(p, (asdl_arg_seq *)a, b) }\n" -" | a=lambda_param_no_default* b=lambda_param_with_default+ '/' &':' { _PyPegen_slash_with_default(p, (asdl_arg_seq *)a, b) }\n" -"\n" -"lambda_star_etc[StarEtc*]:\n" -" | invalid_lambda_star_etc\n" -" | '*' a=lambda_param_no_default b=lambda_param_maybe_default* c=[lambda_kwds] {\n" -" _PyPegen_star_etc(p, a, b, c) }\n" -" | '*' ',' b=lambda_param_maybe_default+ c=[lambda_kwds] {\n" -" _PyPegen_star_etc(p, NULL, b, c) }\n" -" | a=lambda_kwds { _PyPegen_star_etc(p, NULL, NULL, a) }\n" -"\n" -"lambda_kwds[arg_ty]:\n" -" | invalid_lambda_kwds\n" -" | '**' a=lambda_param_no_default { a }\n" -"\n" -"lambda_param_no_default[arg_ty]:\n" -" | a=lambda_param ',' { a }\n" -" | a=lambda_param &':' { a }\n" -"lambda_param_with_default[NameDefaultPair*]:\n" -" | a=lambda_param c=default ',' { _PyPegen_name_default_pair(p, a, c, NULL) }\n" -" | a=lambda_param c=default &':' { _PyPegen_name_default_pair(p, a, c, NULL) }\n" -"lambda_param_maybe_default[NameDefaultPair*]:\n" -" | a=lambda_param c=default? ',' { _PyPegen_name_default_pair(p, a, c, NULL) }\n" -" | a=lambda_param c=default? &':' { _PyPegen_name_default_pair(p, a, c, NULL) }\n" -"lambda_param[arg_ty]: a=NAME { _PyAST_arg(a->v.Name.id, NULL, NULL, EXTRA) }\n" -"\n" -"# LITERALS\n" -"# ========\n" -"\n" -"fstring_middle[expr_ty]:\n" -" | fstring_replacement_field\n" -" | t=FSTRING_MIDDLE { _PyPegen_constant_from_token(p, t) }\n" -"fstring_replacement_field[expr_ty]:\n" -" | '{' a=annotated_rhs debug_expr='='? conversion=[fstring_conversion] format=[fstring_full_format_spec] rbrace='}' {\n" -" _PyPegen_formatted_value(p, a, debug_expr, conversion, format, rbrace, EXTRA) }\n" -" | invalid_fstring_replacement_field\n" -"fstring_conversion[ResultTokenWithMetadata*]:\n" -" | conv_token=\"!\" conv=NAME { _PyPegen_check_fstring_conversion(p, conv_token, conv) }\n" -"fstring_full_format_spec[ResultTokenWithMetadata*]:\n" -" | colon=':' spec=fstring_format_spec* { _PyPegen_setup_full_format_spec(p, colon, (asdl_expr_seq *) spec, EXTRA) }\n" -"fstring_format_spec[expr_ty]:\n" -" | t=FSTRING_MIDDLE { _PyPegen_decoded_constant_from_token(p, t) }\n" -" | fstring_replacement_field\n" -"fstring[expr_ty]:\n" -" | a=FSTRING_START b=fstring_middle* c=FSTRING_END { _PyPegen_joined_str(p, a, (asdl_expr_seq*)b, c) }\n" -"\n" -"tstring_format_spec_replacement_field[expr_ty]:\n" -" | '{' a=annotated_rhs debug_expr='='? conversion=[fstring_conversion] format=[tstring_full_format_spec] rbrace='}' {\n" -" _PyPegen_formatted_value(p, a, debug_expr, conversion, format, rbrace, EXTRA) }\n" -" | invalid_tstring_replacement_field\n" -"tstring_format_spec[expr_ty]:\n" -" | t=TSTRING_MIDDLE { _PyPegen_decoded_constant_from_token(p, t) }\n" -" | tstring_format_spec_replacement_field\n" -"tstring_full_format_spec[ResultTokenWithMetadata*]:\n" -" | colon=':' spec=tstring_format_spec* { _PyPegen_setup_full_format_spec(p, colon, (asdl_expr_seq *) spec, EXTRA) }\n" -"tstring_replacement_field[expr_ty]:\n" -" | '{' a=annotated_rhs debug_expr='='? conversion=[fstring_conversion] format=[tstring_full_format_spec] rbrace='}' {\n" -" _PyPegen_interpolation(p, a, debug_expr, conversion, format, rbrace, EXTRA) }\n" -" | invalid_tstring_replacement_field\n" -"tstring_middle[expr_ty]:\n" -" | tstring_replacement_field\n" -" | t=TSTRING_MIDDLE { _PyPegen_constant_from_token(p, t) }\n" -"tstring[expr_ty] (memo):\n" -" | a=TSTRING_START b=tstring_middle* c=TSTRING_END { \n" -" CHECK_VERSION(\n" -" expr_ty, \n" -" 14, \n" -" \"t-strings are\", \n" -" _PyPegen_template_str(p, a, (asdl_expr_seq*)b, c)) }\n" -"\n" -"string[expr_ty]: s[Token*]=STRING { _PyPegen_constant_from_string(p, s) }\n" -"strings[expr_ty] (memo): a[asdl_expr_seq*]=(fstring|string|tstring)+ { _PyPegen_concatenate_strings(p, a, EXTRA) }\n" -"\n" -"list[expr_ty]:\n" -" | '[' a=[star_named_expressions] ']' { _PyAST_List(a, Load, EXTRA) }\n" -"\n" -"tuple[expr_ty]:\n" -" | '(' a=[y=star_named_expression ',' z=[star_named_expressions] { _PyPegen_seq_insert_in_front(p, y, z) } ] ')' {\n" -" _PyAST_Tuple(a, Load, EXTRA) }\n" -"\n" -"set[expr_ty]: '{' a=star_named_expressions '}' { _PyAST_Set(a, EXTRA) }\n" -"\n" -"# Dicts\n" -"# -----\n" -"\n" -"dict[expr_ty]:\n" -" | '{' a=[double_starred_kvpairs] '}' {\n" -" _PyAST_Dict(\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_keys(p, a)),\n" -" CHECK(asdl_expr_seq*, _PyPegen_get_values(p, a)),\n" -" EXTRA) }\n" -" | '{' invalid_double_starred_kvpairs '}'\n" -"\n" -"double_starred_kvpairs[asdl_seq*]: a=','.double_starred_kvpair+ [','] { a }\n" -"\n" -"double_starred_kvpair[KeyValuePair*]:\n" -" | '**' a=bitwise_or { _PyPegen_key_value_pair(p, NULL, a) }\n" -" | kvpair\n" -"\n" -"kvpair[KeyValuePair*]: a=expression ':' b=expression { _PyPegen_key_value_pair(p, a, b) }\n" -"\n" -"# Comprehensions & Generators\n" -"# ---------------------------\n" -"\n" -"for_if_clauses[asdl_comprehension_seq*]:\n" -" | a[asdl_comprehension_seq*]=for_if_clause+ { a }\n" -"\n" -"for_if_clause[comprehension_ty]:\n" -" | 'async' 'for' a=star_targets 'in' ~ b=disjunction c[asdl_expr_seq*]=('if' z=disjunction { z })* {\n" -" CHECK_VERSION(comprehension_ty, 6, \"Async comprehensions are\", _PyAST_comprehension(a, b, c, 1, p->arena)) }\n" -" | 'for' a=star_targets 'in' ~ b=disjunction c[asdl_expr_seq*]=('if' z=disjunction { z })* {\n" -" _PyAST_comprehension(a, b, c, 0, p->arena) }\n" -" | invalid_for_if_clause\n" -" | invalid_for_target\n" -"\n" -"listcomp[expr_ty]:\n" -" | '[' a=named_expression b=for_if_clauses ']' { _PyAST_ListComp(a, b, EXTRA) }\n" -" | invalid_comprehension\n" -"\n" -"setcomp[expr_ty]:\n" -" | '{' a=named_expression b=for_if_clauses '}' { _PyAST_SetComp(a, b, EXTRA) }\n" -" | invalid_comprehension\n" -"\n" -"genexp[expr_ty]:\n" -" | '(' a=( assignment_expression | expression !':=') b=for_if_clauses ')' { _PyAST_GeneratorExp(a, b, EXTRA) }\n" -" | invalid_comprehension\n" -"\n" -"dictcomp[expr_ty]:\n" -" | '{' a=kvpair b=for_if_clauses '}' { _PyAST_DictComp(a->key, a->value, b, EXTRA) }\n" -" | invalid_dict_comprehension\n" -"\n" -"# FUNCTION CALL ARGUMENTS\n" -"# =======================\n" -"\n" -"arguments[expr_ty] (memo):\n" -" | a=args [','] &')' { a }\n" -" | invalid_arguments\n" -"\n" -"args[expr_ty]:\n" -" | a[asdl_expr_seq*]=','.(starred_expression | ( assignment_expression | expression !':=') !'=')+ b=[',' k=kwargs {k}] {\n" -" _PyPegen_collect_call_seqs(p, a, b, EXTRA) }\n" -" | a=kwargs { _PyAST_Call(_PyPegen_dummy_name(p),\n" -" CHECK_NULL_ALLOWED(asdl_expr_seq*, _PyPegen_seq_extract_starred_exprs(p, a)),\n" -" CHECK_NULL_ALLOWED(asdl_keyword_seq*, _PyPegen_seq_delete_starred_exprs(p, a)),\n" -" EXTRA) }\n" -"\n" -"kwargs[asdl_seq*]:\n" -" | a=','.kwarg_or_starred+ ',' b=','.kwarg_or_double_starred+ { _PyPegen_join_sequences(p, a, b) }\n" -" | ','.kwarg_or_starred+\n" -" | ','.kwarg_or_double_starred+\n" -"\n" -"starred_expression[expr_ty]:\n" -" | invalid_starred_expression_unpacking\n" -" | '*' a=expression { _PyAST_Starred(a, Load, EXTRA) }\n" -" | invalid_starred_expression\n" -"\n" -"kwarg_or_starred[KeywordOrStarred*]:\n" -" | invalid_kwarg\n" -" | a=NAME '=' b=expression {\n" -" _PyPegen_keyword_or_starred(p, CHECK(keyword_ty, _PyAST_keyword(a->v.Name.id, b, EXTRA)), 1) }\n" -" | a=starred_expression { _PyPegen_keyword_or_starred(p, a, 0) }\n" -"\n" -"kwarg_or_double_starred[KeywordOrStarred*]:\n" -" | invalid_kwarg\n" -" | a=NAME '=' b=expression {\n" -" _PyPegen_keyword_or_starred(p, CHECK(keyword_ty, _PyAST_keyword(a->v.Name.id, b, EXTRA)), 1) }\n" -" | '**' a=expression { _PyPegen_keyword_or_starred(p, CHECK(keyword_ty, _PyAST_keyword(NULL, a, EXTRA)), 1) }\n" -"\n" -"# ASSIGNMENT TARGETS\n" -"# ==================\n" -"\n" -"# Generic targets\n" -"# ---------------\n" -"\n" -"# NOTE: star_targets may contain *bitwise_or, targets may not.\n" -"star_targets[expr_ty]:\n" -" | a=star_target !',' { a }\n" -" | a=star_target b=(',' c=star_target { c })* [','] {\n" -" _PyAST_Tuple(CHECK(asdl_expr_seq*, _PyPegen_seq_insert_in_front(p, a, b)), Store, EXTRA) }\n" -"\n" -"star_targets_list_seq[asdl_expr_seq*]: a[asdl_expr_seq*]=','.star_target+ [','] { a }\n" -"\n" -"star_targets_tuple_seq[asdl_expr_seq*]:\n" -" | a=star_target b=(',' c=star_target { c })+ [','] { (asdl_expr_seq*) _PyPegen_seq_insert_in_front(p, a, b) }\n" -" | a=star_target ',' { (asdl_expr_seq*) _PyPegen_singleton_seq(p, a) }\n" -"\n" -"star_target[expr_ty] (memo):\n" -" | '*' a=(!'*' star_target) {\n" -" _PyAST_Starred(CHECK(expr_ty, _PyPegen_set_expr_context(p, a, Store)), Store, EXTRA) }\n" -" | target_with_star_atom\n" -"\n" -"target_with_star_atom[expr_ty] (memo):\n" -" | a=t_primary '.' b=NAME !t_lookahead { _PyAST_Attribute(a, b->v.Name.id, Store, EXTRA) }\n" -" | a=t_primary '[' b=slices ']' !t_lookahead { _PyAST_Subscript(a, b, Store, EXTRA) }\n" -" | star_atom\n" -"\n" -"star_atom[expr_ty]:\n" -" | a=NAME { _PyPegen_set_expr_context(p, a, Store) }\n" -" | '(' a=target_with_star_atom ')' { _PyPegen_set_expr_context(p, a, Store) }\n" -" | '(' a=[star_targets_tuple_seq] ')' { _PyAST_Tuple(a, Store, EXTRA) }\n" -" | '[' a=[star_targets_list_seq] ']' { _PyAST_List(a, Store, EXTRA) }\n" -"\n" -"single_target[expr_ty]:\n" -" | single_subscript_attribute_target\n" -" | a=NAME { _PyPegen_set_expr_context(p, a, Store) }\n" -" | '(' a=single_target ')' { a }\n" -"\n" -"single_subscript_attribute_target[expr_ty]:\n" -" | a=t_primary '.' b=NAME !t_lookahead { _PyAST_Attribute(a, b->v.Name.id, Store, EXTRA) }\n" -" | a=t_primary '[' b=slices ']' !t_lookahead { _PyAST_Subscript(a, b, Store, EXTRA) }\n" -"\n" -"t_primary[expr_ty]:\n" -" | a=t_primary '.' b=NAME &t_lookahead { _PyAST_Attribute(a, b->v.Name.id, Load, EXTRA) }\n" -" | a=t_primary '[' b=slices ']' &t_lookahead { _PyAST_Subscript(a, b, Load, EXTRA) }\n" -" | a=t_primary b=genexp &t_lookahead {\n" -" _PyAST_Call(a, CHECK(asdl_expr_seq*, (asdl_expr_seq*)_PyPegen_singleton_seq(p, b)), NULL, EXTRA) }\n" -" | a=t_primary '(' b=[arguments] ')' &t_lookahead {\n" -" _PyAST_Call(a,\n" -" (b) ? ((expr_ty) b)->v.Call.args : NULL,\n" -" (b) ? ((expr_ty) b)->v.Call.keywords : NULL,\n" -" EXTRA) }\n" -" | a=atom &t_lookahead { a }\n" -"\n" -"t_lookahead: '(' | '[' | '.'\n" -"\n" -"# Targets for del statements\n" -"# --------------------------\n" -"\n" -"del_targets[asdl_expr_seq*]: a[asdl_expr_seq*]=','.del_target+ [','] { a }\n" -"\n" -"del_target[expr_ty] (memo):\n" -" | a=t_primary '.' b=NAME !t_lookahead { _PyAST_Attribute(a, b->v.Name.id, Del, EXTRA) }\n" -" | a=t_primary '[' b=slices ']' !t_lookahead { _PyAST_Subscript(a, b, Del, EXTRA) }\n" -" | del_t_atom\n" -"\n" -"del_t_atom[expr_ty]:\n" -" | a=NAME { _PyPegen_set_expr_context(p, a, Del) }\n" -" | '(' a=del_target ')' { _PyPegen_set_expr_context(p, a, Del) }\n" -" | '(' a=[del_targets] ')' { _PyAST_Tuple(a, Del, EXTRA) }\n" -" | '[' a=[del_targets] ']' { _PyAST_List(a, Del, EXTRA) }\n" -"\n" -"# TYPING ELEMENTS\n" -"# ---------------\n" -"\n" -"# type_expressions allow */** but ignore them\n" -"type_expressions[asdl_expr_seq*]:\n" -" | a=','.expression+ ',' '*' b=expression ',' '**' c=expression {\n" -" (asdl_expr_seq*)_PyPegen_seq_append_to_end(\n" -" p,\n" -" CHECK(asdl_seq*, _PyPegen_seq_append_to_end(p, a, b)),\n" -" c) }\n" -" | a=','.expression+ ',' '*' b=expression { (asdl_expr_seq*)_PyPegen_seq_append_to_end(p, a, b) }\n" -" | a=','.expression+ ',' '**' b=expression { (asdl_expr_seq*)_PyPegen_seq_append_to_end(p, a, b) }\n" -" | '*' a=expression ',' '**' b=expression {\n" -" (asdl_expr_seq*)_PyPegen_seq_append_to_end(\n" -" p,\n" -" CHECK(asdl_seq*, _PyPegen_singleton_seq(p, a)),\n" -" b) }\n" -" | '*' a=expression { (asdl_expr_seq*)_PyPegen_singleton_seq(p, a) }\n" -" | '**' a=expression { (asdl_expr_seq*)_PyPegen_singleton_seq(p, a) }\n" -" | a[asdl_expr_seq*]=','.expression+ {a}\n" -"\n" -"func_type_comment[Token*]:\n" -" | NEWLINE t=TYPE_COMMENT &(NEWLINE INDENT) { t } # Must be followed by indented block\n" -" | invalid_double_type_comments\n" -" | TYPE_COMMENT\n" -"\n" -"# ========================= END OF THE GRAMMAR ===========================\n" -"\n" -"\n" -"\n" -"# ========================= START OF INVALID RULES =======================\n" -"\n" -"# From here on, there are rules for invalid syntax with specialised error messages\n" -"invalid_arguments:\n" -" | ((','.(starred_expression | ( assignment_expression | expression !':=') !'=')+ ',' kwargs) | kwargs) a=',' ','.(starred_expression !'=')+ {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(a, \"iterable argument unpacking follows keyword argument unpacking\") }\n" -" | a=expression b=for_if_clauses ',' [args | expression for_if_clauses] {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, _PyPegen_get_last_comprehension_item(PyPegen_last_item(b, comprehension_ty)), \"Generator expression must be parenthesized\") }\n" -" | a=NAME b='=' expression for_if_clauses {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"invalid syntax. Maybe you meant '==' or ':=' instead of '='?\")}\n" -" | (args ',')? a=NAME b='=' &(',' | ')') {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"expected argument value expression\")}\n" -" | a=args b=for_if_clauses { _PyPegen_nonparen_genexp_in_call(p, a, b) }\n" -" | args ',' a=expression b=for_if_clauses {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, _PyPegen_get_last_comprehension_item(PyPegen_last_item(b, comprehension_ty)), \"Generator expression must be parenthesized\") }\n" -" | a=args ',' args { _PyPegen_arguments_parsing_error(p, a) }\n" -"invalid_kwarg:\n" -" | a[Token*]=('True'|'False'|'None') b='=' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"cannot assign to %s\", PyBytes_AS_STRING(a->bytes)) }\n" -" | a=NAME b='=' expression for_if_clauses {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"invalid syntax. Maybe you meant '==' or ':=' instead of '='?\")}\n" -" | !(NAME '=') a=expression b='=' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(\n" -" a, b, \"expression cannot contain assignment, perhaps you meant \\\"==\\\"?\") }\n" -" | a='**' expression '=' b=expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"cannot assign to keyword argument unpacking\") }\n" -"\n" -"# IMPORTANT: Note that the \"_without_invalid\" suffix causes the rule to not call invalid rules under it\n" -"expression_without_invalid[expr_ty]:\n" -" | a=disjunction 'if' b=disjunction 'else' c=expression { _PyAST_IfExp(b, a, c, EXTRA) }\n" -" | disjunction\n" -" | lambdef\n" -"invalid_legacy_expression:\n" -" | a=NAME !'(' b=star_expressions {\n" -" _PyPegen_check_legacy_stmt(p, a) ? RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b,\n" -" \"Missing parentheses in call to '%U'. Did you mean %U(...)?\", a->v.Name.id, a->v.Name.id) : NULL}\n" -"\n" -"invalid_type_param:\n" -" | '*' a=NAME colon=':' e=expression {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(colon, e->kind == Tuple_kind\n" -" ? \"cannot use constraints with TypeVarTuple\"\n" -" : \"cannot use bound with TypeVarTuple\")\n" -" }\n" -" | '**' a=NAME colon=':' e=expression {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(colon, e->kind == Tuple_kind\n" -" ? \"cannot use constraints with ParamSpec\"\n" -" : \"cannot use bound with ParamSpec\")\n" -" }\n" -"\n" -"invalid_expression:\n" -" | STRING a=(!STRING expression_without_invalid)+ STRING {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE( PyPegen_first_item(a, expr_ty), PyPegen_last_item(a, expr_ty),\n" -" \"invalid syntax. Is this intended to be part of the string?\") }\n" -" # !(NAME STRING) is not matched so we don't show this error with some invalid string prefixes like: kf\"dsfsdf\"\n" -" # Soft keywords need to also be ignored because they can be parsed as NAME NAME\n" -" | !(NAME STRING | SOFT_KEYWORD) a=disjunction b=expression_without_invalid {\n" -" _PyPegen_check_legacy_stmt(p, a) ? NULL : p->tokens[p->mark-1]->level == 0 ? NULL :\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"invalid syntax. Perhaps you forgot a comma?\") }\n" -" | a=disjunction 'if' b=disjunction !('else'|':') { RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"expected 'else' after 'if' expression\") }\n" -" | a=disjunction 'if' b=disjunction 'else' !expression {\n" -" RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"expected expression after 'else', but statement is given\") }\n" -" | a[stmt_ty]=(pass_stmt|break_stmt|continue_stmt) 'if' b=disjunction 'else' c=simple_stmt {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION (a, \"expected expression before 'if', but statement is given\") }\n" -" | a='lambda' [lambda_params] b=':' &FSTRING_MIDDLE {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"f-string: lambda expressions are not allowed without parentheses\") }\n" -" | a='lambda' [lambda_params] b=':' &TSTRING_MIDDLE {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"t-string: lambda expressions are not allowed without parentheses\") }\n" -"\n" -"invalid_named_expression(memo):\n" -" | a=expression ':=' expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(\n" -" a, \"cannot use assignment expressions with %s\", _PyPegen_get_expr_name(a)) }\n" -" | a=NAME '=' b=bitwise_or !('='|':=') {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"invalid syntax. Maybe you meant '==' or ':=' instead of '='?\") }\n" -" | !(list|tuple|genexp|'True'|'None'|'False') a=bitwise_or b='=' bitwise_or !('='|':=') {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"cannot assign to %s here. Maybe you meant '==' instead of '='?\",\n" -" _PyPegen_get_expr_name(a)) }\n" -"\n" -"invalid_assignment:\n" -" | a=invalid_ann_assign_target ':' expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(\n" -" a,\n" -" \"only single target (not %s) can be annotated\",\n" -" _PyPegen_get_expr_name(a)\n" -" )}\n" -" | a=star_named_expression ',' star_named_expressions* ':' expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"only single target (not tuple) can be annotated\") }\n" -" | a=expression ':' expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"illegal target for annotation\") }\n" -" | (star_targets '=')* a=star_expressions '=' {\n" -" RAISE_SYNTAX_ERROR_INVALID_TARGET(STAR_TARGETS, a) }\n" -" | (star_targets '=')* a=yield_expr '=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"assignment to yield expression not possible\") }\n" -" | a=star_expressions augassign annotated_rhs {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(\n" -" a,\n" -" \"'%s' is an illegal expression for augmented assignment\",\n" -" _PyPegen_get_expr_name(a)\n" -" )}\n" -"invalid_ann_assign_target[expr_ty]:\n" -" | list\n" -" | tuple\n" -" | '(' a=invalid_ann_assign_target ')' { a }\n" -"invalid_del_stmt:\n" -" | 'del' a=star_expressions {\n" -" RAISE_SYNTAX_ERROR_INVALID_TARGET(DEL_TARGETS, a) }\n" -"invalid_block:\n" -" | NEWLINE !INDENT { RAISE_INDENTATION_ERROR(\"expected an indented block\") }\n" -"invalid_comprehension:\n" -" | ('[' | '(' | '{') a=starred_expression for_if_clauses {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"iterable unpacking cannot be used in comprehension\") }\n" -" | ('[' | '{') a=star_named_expression ',' b=star_named_expressions for_if_clauses {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, PyPegen_last_item(b, expr_ty),\n" -" \"did you forget parentheses around the comprehension target?\") }\n" -" | ('[' | '{') a=star_named_expression b=',' for_if_clauses {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"did you forget parentheses around the comprehension target?\") }\n" -"invalid_dict_comprehension:\n" -" | '{' a='**' bitwise_or for_if_clauses '}' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"dict unpacking cannot be used in dict comprehension\") }\n" -"invalid_parameters:\n" -" | a=\"/\" ',' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"at least one argument must precede /\") }\n" -" | (slash_no_default | slash_with_default) param_maybe_default* a='/' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"/ may appear only once\") }\n" -" | slash_no_default? param_no_default* invalid_parameters_helper a=param_no_default {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"parameter without a default follows parameter with a default\") }\n" -" | param_no_default* a='(' param_no_default+ ','? b=')' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"Function parameters cannot be parenthesized\") }\n" -" | (slash_no_default | slash_with_default)? param_maybe_default* '*' (',' | param_no_default) param_maybe_default* a='/' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"/ must be ahead of *\") }\n" -" | param_maybe_default+ '/' a='*' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"expected comma between / and *\") }\n" -"invalid_default:\n" -" | a='=' &(')'|',') { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"expected default value expression\") }\n" -"invalid_star_etc:\n" -" | a='*' (')' | ',' (')' | '**')) { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"named arguments must follow bare *\") }\n" -" | '*' ',' TYPE_COMMENT { RAISE_SYNTAX_ERROR(\"bare * has associated type comment\") }\n" -" | '*' param a='=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"var-positional argument cannot have default value\") }\n" -" | '*' (param_no_default | ',') param_maybe_default* a='*' (param_no_default | ',') {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"* argument may appear only once\") }\n" -"invalid_kwds:\n" -" | '**' param a='=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"var-keyword argument cannot have default value\") }\n" -" | '**' param ',' a=param { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"arguments cannot follow var-keyword argument\") }\n" -" | '**' param ',' a[Token*]=('*'|'**'|'/') { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"arguments cannot follow var-keyword argument\") }\n" -"invalid_parameters_helper: # This is only there to avoid type errors\n" -" | a=slash_with_default { _PyPegen_singleton_seq(p, a) }\n" -" | param_with_default+\n" -"invalid_lambda_parameters:\n" -" | a=\"/\" ',' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"at least one argument must precede /\") }\n" -" | (lambda_slash_no_default | lambda_slash_with_default) lambda_param_maybe_default* a='/' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"/ may appear only once\") }\n" -" | lambda_slash_no_default? lambda_param_no_default* invalid_lambda_parameters_helper a=lambda_param_no_default {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"parameter without a default follows parameter with a default\") }\n" -" | lambda_param_no_default* a='(' ','.lambda_param+ ','? b=')' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"Lambda expression parameters cannot be parenthesized\") }\n" -" | (lambda_slash_no_default | lambda_slash_with_default)? lambda_param_maybe_default* '*' (',' | lambda_param_no_default) lambda_param_maybe_default* a='/' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"/ must be ahead of *\") }\n" -" | lambda_param_maybe_default+ '/' a='*' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"expected comma between / and *\") }\n" -"invalid_lambda_parameters_helper:\n" -" | a=lambda_slash_with_default { _PyPegen_singleton_seq(p, a) }\n" -" | lambda_param_with_default+\n" -"invalid_lambda_star_etc:\n" -" | '*' (':' | ',' (':' | '**')) { RAISE_SYNTAX_ERROR(\"named arguments must follow bare *\") }\n" -" | '*' lambda_param a='=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"var-positional argument cannot have default value\") }\n" -" | '*' (lambda_param_no_default | ',') lambda_param_maybe_default* a='*' (lambda_param_no_default | ',') {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"* argument may appear only once\") }\n" -"invalid_lambda_kwds:\n" -" | '**' lambda_param a='=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"var-keyword argument cannot have default value\") }\n" -" | '**' lambda_param ',' a=lambda_param { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"arguments cannot follow var-keyword argument\") }\n" -" | '**' lambda_param ',' a[Token*]=('*'|'**'|'/') { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"arguments cannot follow var-keyword argument\") }\n" -"invalid_double_type_comments:\n" -" | TYPE_COMMENT NEWLINE TYPE_COMMENT NEWLINE INDENT {\n" -" RAISE_SYNTAX_ERROR(\"Cannot have two type comments on def\") }\n" -"invalid_with_item:\n" -" | expression 'as' a=expression &(',' | ')' | ':') {\n" -" RAISE_SYNTAX_ERROR_INVALID_TARGET(STAR_TARGETS, a) }\n" -"\n" -"invalid_for_if_clause:\n" -" | 'async'? 'for' (bitwise_or (',' bitwise_or)* [',']) !'in' {\n" -" RAISE_SYNTAX_ERROR(\"'in' expected after for-loop variables\") }\n" -"\n" -"invalid_for_target:\n" -" | 'async'? 'for' a=star_expressions {\n" -" RAISE_SYNTAX_ERROR_INVALID_TARGET(FOR_TARGETS, a) }\n" -"\n" -"invalid_group:\n" -" | '(' a=starred_expression ')' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"cannot use starred expression here\") }\n" -" | '(' a='**' expression ')' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"cannot use double starred expression here\") }\n" -"invalid_import:\n" -" | a='import' ','.dotted_name+ 'from' dotted_name {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(a, \"Did you mean to use 'from ... import ...' instead?\") }\n" -" | 'import' token=NEWLINE {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(token, \"Expected one or more names after 'import'\") }\n" -"invalid_dotted_as_name:\n" -" | dotted_name 'as' !(NAME (',' | ')' | NEWLINE)) a=expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \n" -" \"cannot use %s as import target\", _PyPegen_get_expr_name(a)) }\n" -"invalid_import_from_as_name:\n" -" | NAME 'as' !(NAME (',' | ')' | NEWLINE)) a=expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \n" -" \"cannot use %s as import target\", _PyPegen_get_expr_name(a)) }\n" -"\n" -"invalid_import_from_targets:\n" -" | import_from_as_names ',' NEWLINE {\n" -" RAISE_SYNTAX_ERROR(\"trailing comma not allowed without surrounding parentheses\") }\n" -" | token=NEWLINE {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(token, \"Expected one or more names after 'import'\") }\n" -"\n" -"invalid_with_stmt:\n" -" | ['async'] 'with' ','.(expression ['as' star_target])+ NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | ['async'] 'with' '(' ','.(expressions ['as' star_target])+ ','? ')' NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -"invalid_with_stmt_indent:\n" -" | ['async'] a='with' ','.(expression ['as' star_target])+ ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'with' statement on line %d\", a->lineno) }\n" -" | ['async'] a='with' '(' ','.(expressions ['as' star_target])+ ','? ')' ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'with' statement on line %d\", a->lineno) }\n" -"\n" -"invalid_try_stmt:\n" -" | a='try' ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'try' statement on line %d\", a->lineno) }\n" -" | 'try' ':' block !('except' | 'finally') { RAISE_SYNTAX_ERROR(\"expected 'except' or 'finally' block\") }\n" -" | 'try' ':' block* except_block+ a='except' b='*' expression ['as' NAME] ':' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"cannot have both 'except' and 'except*' on the same 'try'\") }\n" -" | 'try' ':' block* except_star_block+ a='except' [expression ['as' NAME]] ':' {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"cannot have both 'except' and 'except*' on the same 'try'\") }\n" -"invalid_except_stmt:\n" -" | 'except' a=expression ',' expressions 'as' NAME ':' {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(a, \"multiple exception types must be parenthesized when using 'as'\") }\n" -" | a='except' expression ['as' NAME ] NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | a='except' NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | 'except' expression 'as' a=expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(\n" -" a, \"cannot use except statement with %s\", _PyPegen_get_expr_name(a)) }\n" -"invalid_except_star_stmt:\n" -" | 'except' '*' a=expression ',' expressions 'as' NAME ':' {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(a, \"multiple exception types must be parenthesized when using 'as'\") }\n" -" | a='except' '*' expression ['as' NAME ] NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | a='except' '*' (NEWLINE | ':') { RAISE_SYNTAX_ERROR(\"expected one or more exception types\") }\n" -" | 'except' '*' expression 'as' a=expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(\n" -" a, \"cannot use except* statement with %s\", _PyPegen_get_expr_name(a)) }\n" -"invalid_finally_stmt:\n" -" | a='finally' ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'finally' statement on line %d\", a->lineno) }\n" -"invalid_except_stmt_indent:\n" -" | a='except' expression ['as' NAME ] ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'except' statement on line %d\", a->lineno) }\n" -" | a='except' ':' NEWLINE !INDENT { RAISE_INDENTATION_ERROR(\"expected an indented block after 'except' statement on line %d\", a->lineno) }\n" -"invalid_except_star_stmt_indent:\n" -" | a='except' '*' expression ['as' NAME ] ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'except*' statement on line %d\", a->lineno) }\n" -"invalid_match_stmt:\n" -" | \"match\" subject_expr NEWLINE { CHECK_VERSION(void*, 10, \"Pattern matching is\", RAISE_SYNTAX_ERROR(\"expected ':'\") ) }\n" -" | a=\"match\" subject=subject_expr ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'match' statement on line %d\", a->lineno) }\n" -"invalid_case_block:\n" -" | \"case\" patterns guard? NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | a=\"case\" patterns guard? ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'case' statement on line %d\", a->lineno) }\n" -"invalid_as_pattern:\n" -" | or_pattern 'as' a=\"_\" { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"cannot use '_' as a target\") }\n" -" | or_pattern 'as' a=expression {\n" -" RAISE_SYNTAX_ERROR_KNOWN_LOCATION(\n" -" a, \"cannot use %s as pattern target\", _PyPegen_get_expr_name(a)) }\n" -"invalid_class_pattern:\n" -" | name_or_attr '(' a=invalid_class_argument_pattern { RAISE_SYNTAX_ERROR_KNOWN_RANGE(\n" -" PyPegen_first_item(a, pattern_ty),\n" -" PyPegen_last_item(a, pattern_ty),\n" -" \"positional patterns follow keyword patterns\") }\n" -"invalid_class_argument_pattern[asdl_pattern_seq*]:\n" -" | [positional_patterns ','] keyword_patterns ',' a=positional_patterns { a }\n" -"invalid_if_stmt:\n" -" | 'if' named_expression NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | a='if' a=named_expression ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'if' statement on line %d\", a->lineno) }\n" -"invalid_elif_stmt:\n" -" | 'elif' named_expression NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | a='elif' named_expression ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'elif' statement on line %d\", a->lineno) }\n" -"invalid_else_stmt:\n" -" | a='else' ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'else' statement on line %d\", a->lineno) }\n" -" | 'else' ':' block 'elif' { RAISE_SYNTAX_ERROR(\"'elif' block follows an 'else' block\")}\n" -"invalid_while_stmt:\n" -" | 'while' named_expression NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | a='while' named_expression ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'while' statement on line %d\", a->lineno) }\n" -"invalid_for_stmt:\n" -" | ['async'] 'for' star_targets 'in' star_expressions NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | ['async'] a='for' star_targets 'in' star_expressions ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after 'for' statement on line %d\", a->lineno) }\n" -"invalid_def_raw:\n" -" | ['async'] a='def' NAME [type_params] '(' [params] ')' ['->' expression] ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after function definition on line %d\", a->lineno) }\n" -" | ['async'] 'def' NAME [type_params] &&'(' [params] ')' ['->' expression] &&':' [func_type_comment] block\n" -"invalid_class_def_raw:\n" -" | 'class' NAME [type_params] ['(' [arguments] ')'] NEWLINE { RAISE_SYNTAX_ERROR(\"expected ':'\") }\n" -" | a='class' NAME [type_params] ['(' [arguments] ')'] ':' NEWLINE !INDENT {\n" -" RAISE_INDENTATION_ERROR(\"expected an indented block after class definition on line %d\", a->lineno) }\n" -"\n" -"invalid_double_starred_kvpairs:\n" -" | ','.double_starred_kvpair+ ',' invalid_kvpair\n" -" | expression ':' a='*' bitwise_or { RAISE_SYNTAX_ERROR_STARTING_FROM(a, \"cannot use a starred expression in a dictionary value\") }\n" -" | expression a=':' &('}'|',') { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"expression expected after dictionary key and ':'\") }\n" -"invalid_kvpair:\n" -" | a=expression !(':') {\n" -" RAISE_ERROR_KNOWN_LOCATION(p, PyExc_SyntaxError, a->lineno, a->end_col_offset - 1, a->end_lineno, -1, \"':' expected after dictionary key\") }\n" -" | expression ':' a='*' bitwise_or { RAISE_SYNTAX_ERROR_STARTING_FROM(a, \"cannot use a starred expression in a dictionary value\") }\n" -" | expression a=':' &('}'|',') {RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"expression expected after dictionary key and ':'\") }\n" -"invalid_starred_expression_unpacking:\n" -" | a='*' expression '=' b=expression { RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"cannot assign to iterable argument unpacking\") }\n" -"invalid_starred_expression:\n" -" | '*' { RAISE_SYNTAX_ERROR(\"Invalid star expression\") }\n" -"\n" -"invalid_fstring_replacement_field:\n" -" | '{' a='=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"f-string: valid expression required before '='\") }\n" -" | '{' a='!' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"f-string: valid expression required before '!'\") }\n" -" | '{' a=':' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"f-string: valid expression required before ':'\") }\n" -" | '{' a='}' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"f-string: valid expression required before '}'\") }\n" -" | '{' !annotated_rhs { RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-string: expecting a valid expression after '{'\") }\n" -" | '{' annotated_rhs !('=' | '!' | ':' | '}') {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-string: expecting '=', or '!', or ':', or '}'\") }\n" -" | '{' annotated_rhs '=' !('!' | ':' | '}') {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-string: expecting '!', or ':', or '}'\") }\n" -" | '{' annotated_rhs '='? invalid_fstring_conversion_character\n" -" | '{' annotated_rhs '='? ['!' NAME] !(':' | '}') {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-string: expecting ':' or '}'\") }\n" -" | '{' annotated_rhs '='? ['!' NAME] ':' fstring_format_spec* !'}' {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-string: expecting '}', or format specs\") }\n" -" | '{' annotated_rhs '='? ['!' NAME] !'}' {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-string: expecting '}'\") }\n" -"\n" -"invalid_fstring_conversion_character:\n" -" | '!' &(':' | '}') { RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-string: missing conversion character\") }\n" -" | '!' !NAME { RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"f-string: invalid conversion character\") }\n" -"\n" -"invalid_tstring_replacement_field:\n" -" | '{' a='=' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"t-string: valid expression required before '='\") }\n" -" | '{' a='!' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"t-string: valid expression required before '!'\") }\n" -" | '{' a=':' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"t-string: valid expression required before ':'\") }\n" -" | '{' a='}' { RAISE_SYNTAX_ERROR_KNOWN_LOCATION(a, \"t-string: valid expression required before '}'\") }\n" -" | '{' !annotated_rhs { RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-string: expecting a valid expression after '{'\") }\n" -" | '{' annotated_rhs !('=' | '!' | ':' | '}') {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-string: expecting '=', or '!', or ':', or '}'\") }\n" -" | '{' annotated_rhs '=' !('!' | ':' | '}') {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-string: expecting '!', or ':', or '}'\") }\n" -" | '{' annotated_rhs '='? invalid_tstring_conversion_character\n" -" | '{' annotated_rhs '='? ['!' NAME] !(':' | '}') {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-string: expecting ':' or '}'\") }\n" -" | '{' annotated_rhs '='? ['!' NAME] ':' fstring_format_spec* !'}' {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-string: expecting '}', or format specs\") }\n" -" | '{' annotated_rhs '='? ['!' NAME] !'}' {\n" -" PyErr_Occurred() ? NULL : RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-string: expecting '}'\") }\n" -"\n" -"invalid_tstring_conversion_character:\n" -" | '!' &(':' | '}') { RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-string: missing conversion character\") }\n" -" | '!' !NAME { RAISE_SYNTAX_ERROR_ON_NEXT_TOKEN(\"t-string: invalid conversion character\") }\n" -"\n" -"invalid_arithmetic:\n" -" | sum ('+'|'-'|'*'|'/'|'%'|'//'|'@') a='not' b=inversion { RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"'not' after an operator must be parenthesized\") }\n" -"invalid_factor:\n" -" | ('+' | '-' | '~') a='not' b=factor { RAISE_SYNTAX_ERROR_KNOWN_RANGE(a, b, \"'not' after an operator must be parenthesized\") }\n" -"\n" -"invalid_type_params:\n" -" | '[' token=']' {\n" -" RAISE_SYNTAX_ERROR_STARTING_FROM(\n" -" token,\n" -" \"Type parameter list cannot be empty\")}\n" -msgstr "" diff --git a/python-newest.reference--import/id.po b/python-newest.reference--import/id.po deleted file mode 100644 index e20035f..0000000 --- a/python-newest.reference--import/id.po +++ /dev/null @@ -1,1461 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../reference/import.rst:6 -msgid "The import system" -msgstr "" - -#: ../../reference/import.rst:10 -msgid "" -"Python code in one :term:`module` gains access to the code in another module" -" by the process of :term:`importing` it. The :keyword:`import` statement is" -" the most common way of invoking the import machinery, but it is not the " -"only way. Functions such as :func:`importlib.import_module` and built-in " -":func:`__import__` can also be used to invoke the import machinery." -msgstr "" - -#: ../../reference/import.rst:16 -msgid "" -"The :keyword:`import` statement combines two operations; it searches for the" -" named module, then it binds the results of that search to a name in the " -"local scope. The search operation of the :keyword:`!import` statement is " -"defined as a call to the :func:`__import__` function, with the appropriate " -"arguments. The return value of :func:`__import__` is used to perform the " -"name binding operation of the :keyword:`!import` statement. See the " -":keyword:`!import` statement for the exact details of that name binding " -"operation." -msgstr "" - -#: ../../reference/import.rst:25 -msgid "" -"A direct call to :func:`__import__` performs only the module search and, if " -"found, the module creation operation. While certain side-effects may occur," -" such as the importing of parent packages, and the updating of various " -"caches (including :data:`sys.modules`), only the :keyword:`import` statement" -" performs a name binding operation." -msgstr "" - -#: ../../reference/import.rst:31 -msgid "" -"When an :keyword:`import` statement is executed, the standard builtin " -":func:`__import__` function is called. Other mechanisms for invoking the " -"import system (such as :func:`importlib.import_module`) may choose to bypass" -" :func:`__import__` and use their own solutions to implement import " -"semantics." -msgstr "" - -#: ../../reference/import.rst:36 -msgid "" -"When a module is first imported, Python searches for the module and if " -"found, it creates a module object [#fnmo]_, initializing it. If the named " -"module cannot be found, a :exc:`ModuleNotFoundError` is raised. Python " -"implements various strategies to search for the named module when the import" -" machinery is invoked. These strategies can be modified and extended by " -"using various hooks described in the sections below." -msgstr "" - -#: ../../reference/import.rst:43 -msgid "" -"The import system has been updated to fully implement the second phase of " -":pep:`302`. There is no longer any implicit import machinery - the full " -"import system is exposed through :data:`sys.meta_path`. In addition, native " -"namespace package support has been implemented (see :pep:`420`)." -msgstr "" - -#: ../../reference/import.rst:51 -msgid ":mod:`importlib`" -msgstr "" - -#: ../../reference/import.rst:53 -msgid "" -"The :mod:`importlib` module provides a rich API for interacting with the " -"import system. For example :func:`importlib.import_module` provides a " -"recommended, simpler API than built-in :func:`__import__` for invoking the " -"import machinery. Refer to the :mod:`importlib` library documentation for " -"additional detail." -msgstr "" - -#: ../../reference/import.rst:62 -msgid "Packages" -msgstr "Paket" - -#: ../../reference/import.rst:67 -msgid "" -"Python has only one type of module object, and all modules are of this type," -" regardless of whether the module is implemented in Python, C, or something " -"else. To help organize modules and provide a naming hierarchy, Python has a" -" concept of :term:`packages `." -msgstr "" - -#: ../../reference/import.rst:72 -msgid "" -"You can think of packages as the directories on a file system and modules as" -" files within directories, but don't take this analogy too literally since " -"packages and modules need not originate from the file system. For the " -"purposes of this documentation, we'll use this convenient analogy of " -"directories and files. Like file system directories, packages are organized" -" hierarchically, and packages may themselves contain subpackages, as well as" -" regular modules." -msgstr "" - -#: ../../reference/import.rst:80 -msgid "" -"It's important to keep in mind that all packages are modules, but not all " -"modules are packages. Or put another way, packages are just a special kind " -"of module. Specifically, any module that contains a ``__path__`` attribute " -"is considered a package." -msgstr "" - -#: ../../reference/import.rst:85 -msgid "" -"All modules have a name. Subpackage names are separated from their parent " -"package name by a dot, akin to Python's standard attribute access syntax. " -"Thus you might have a package called :mod:`email`, which in turn has a " -"subpackage called :mod:`email.mime` and a module within that subpackage " -"called :mod:`email.mime.text`." -msgstr "" - -#: ../../reference/import.rst:93 -msgid "Regular packages" -msgstr "" - -#: ../../reference/import.rst:98 -msgid "" -"Python defines two types of packages, :term:`regular packages ` and :term:`namespace packages `. Regular " -"packages are traditional packages as they existed in Python 3.2 and earlier." -" A regular package is typically implemented as a directory containing an " -"``__init__.py`` file. When a regular package is imported, this " -"``__init__.py`` file is implicitly executed, and the objects it defines are " -"bound to names in the package's namespace. The ``__init__.py`` file can " -"contain the same Python code that any other module can contain, and Python " -"will add some additional attributes to the module when it is imported." -msgstr "" - -#: ../../reference/import.rst:108 -msgid "" -"For example, the following file system layout defines a top level ``parent``" -" package with three subpackages::" -msgstr "" - -#: ../../reference/import.rst:111 -msgid "" -"parent/\n" -" __init__.py\n" -" one/\n" -" __init__.py\n" -" two/\n" -" __init__.py\n" -" three/\n" -" __init__.py" -msgstr "" - -#: ../../reference/import.rst:120 -msgid "" -"Importing ``parent.one`` will implicitly execute ``parent/__init__.py`` and " -"``parent/one/__init__.py``. Subsequent imports of ``parent.two`` or " -"``parent.three`` will execute ``parent/two/__init__.py`` and " -"``parent/three/__init__.py`` respectively." -msgstr "" - -#: ../../reference/import.rst:129 -msgid "Namespace packages" -msgstr "" - -#: ../../reference/import.rst:135 -msgid "" -"A namespace package is a composite of various :term:`portions `, " -"where each portion contributes a subpackage to the parent package. Portions" -" may reside in different locations on the file system. Portions may also be" -" found in zip files, on the network, or anywhere else that Python searches " -"during import. Namespace packages may or may not correspond directly to " -"objects on the file system; they may be virtual modules that have no " -"concrete representation." -msgstr "" - -#: ../../reference/import.rst:143 -msgid "" -"Namespace packages do not use an ordinary list for their ``__path__`` " -"attribute. They instead use a custom iterable type which will automatically " -"perform a new search for package portions on the next import attempt within " -"that package if the path of their parent package (or :data:`sys.path` for a " -"top level package) changes." -msgstr "" - -#: ../../reference/import.rst:149 -msgid "" -"With namespace packages, there is no ``parent/__init__.py`` file. In fact, " -"there may be multiple ``parent`` directories found during import search, " -"where each one is provided by a different portion. Thus ``parent/one`` may " -"not be physically located next to ``parent/two``. In this case, Python will" -" create a namespace package for the top-level ``parent`` package whenever it" -" or one of its subpackages is imported." -msgstr "" - -#: ../../reference/import.rst:156 -msgid "See also :pep:`420` for the namespace package specification." -msgstr "" - -#: ../../reference/import.rst:160 -msgid "Searching" -msgstr "" - -#: ../../reference/import.rst:162 -msgid "" -"To begin the search, Python needs the :term:`fully qualified ` name of the module (or package, but for the purposes of this " -"discussion, the difference is immaterial) being imported. This name may " -"come from various arguments to the :keyword:`import` statement, or from the " -"parameters to the :func:`importlib.import_module` or :func:`__import__` " -"functions." -msgstr "" - -#: ../../reference/import.rst:168 -msgid "" -"This name will be used in various phases of the import search, and it may be" -" the dotted path to a submodule, e.g. ``foo.bar.baz``. In this case, Python" -" first tries to import ``foo``, then ``foo.bar``, and finally " -"``foo.bar.baz``. If any of the intermediate imports fail, a " -":exc:`ModuleNotFoundError` is raised." -msgstr "" - -#: ../../reference/import.rst:175 -msgid "The module cache" -msgstr "" - -#: ../../reference/import.rst:180 -msgid "" -"The first place checked during import search is :data:`sys.modules`. This " -"mapping serves as a cache of all modules that have been previously imported," -" including the intermediate paths. So if ``foo.bar.baz`` was previously " -"imported, :data:`sys.modules` will contain entries for ``foo``, ``foo.bar``," -" and ``foo.bar.baz``. Each key will have as its value the corresponding " -"module object." -msgstr "" - -#: ../../reference/import.rst:187 -msgid "" -"During import, the module name is looked up in :data:`sys.modules` and if " -"present, the associated value is the module satisfying the import, and the " -"process completes. However, if the value is ``None``, then a " -":exc:`ModuleNotFoundError` is raised. If the module name is missing, Python" -" will continue searching for the module." -msgstr "" - -#: ../../reference/import.rst:193 -msgid "" -":data:`sys.modules` is writable. Deleting a key may not destroy the " -"associated module (as other modules may hold references to it), but it will " -"invalidate the cache entry for the named module, causing Python to search " -"anew for the named module upon its next import. The key can also be assigned" -" to ``None``, forcing the next import of the module to result in a " -":exc:`ModuleNotFoundError`." -msgstr "" - -#: ../../reference/import.rst:200 -msgid "" -"Beware though, as if you keep a reference to the module object, invalidate " -"its cache entry in :data:`sys.modules`, and then re-import the named module," -" the two module objects will *not* be the same. By contrast, " -":func:`importlib.reload` will reuse the *same* module object, and simply " -"reinitialise the module contents by rerunning the module's code." -msgstr "" - -#: ../../reference/import.rst:210 -msgid "Finders and loaders" -msgstr "" - -#: ../../reference/import.rst:217 -msgid "" -"If the named module is not found in :data:`sys.modules`, then Python's " -"import protocol is invoked to find and load the module. This protocol " -"consists of two conceptual objects, :term:`finders ` and " -":term:`loaders `. A finder's job is to determine whether it can find" -" the named module using whatever strategy it knows about. Objects that " -"implement both of these interfaces are referred to as :term:`importers " -"` - they return themselves when they find that they can load the " -"requested module." -msgstr "" - -#: ../../reference/import.rst:225 -msgid "" -"Python includes a number of default finders and importers. The first one " -"knows how to locate built-in modules, and the second knows how to locate " -"frozen modules. A third default finder searches an :term:`import path` for " -"modules. The :term:`import path` is a list of locations that may name file " -"system paths or zip files. It can also be extended to search for any " -"locatable resource, such as those identified by URLs." -msgstr "" - -#: ../../reference/import.rst:232 -msgid "" -"The import machinery is extensible, so new finders can be added to extend " -"the range and scope of module searching." -msgstr "" - -#: ../../reference/import.rst:235 -msgid "" -"Finders do not actually load modules. If they can find the named module, " -"they return a :dfn:`module spec`, an encapsulation of the module's import-" -"related information, which the import machinery then uses when loading the " -"module." -msgstr "" - -#: ../../reference/import.rst:239 -msgid "" -"The following sections describe the protocol for finders and loaders in more" -" detail, including how you can create and register new ones to extend the " -"import machinery." -msgstr "" - -#: ../../reference/import.rst:243 -msgid "" -"In previous versions of Python, finders returned :term:`loaders ` " -"directly, whereas now they return module specs which *contain* loaders. " -"Loaders are still used during import but have fewer responsibilities." -msgstr "" - -#: ../../reference/import.rst:249 -msgid "Import hooks" -msgstr "" - -#: ../../reference/import.rst:259 -msgid "" -"The import machinery is designed to be extensible; the primary mechanism for" -" this are the *import hooks*. There are two types of import hooks: *meta " -"hooks* and *import path hooks*." -msgstr "" - -#: ../../reference/import.rst:263 -msgid "" -"Meta hooks are called at the start of import processing, before any other " -"import processing has occurred, other than :data:`sys.modules` cache look " -"up. This allows meta hooks to override :data:`sys.path` processing, frozen " -"modules, or even built-in modules. Meta hooks are registered by adding new " -"finder objects to :data:`sys.meta_path`, as described below." -msgstr "" - -#: ../../reference/import.rst:269 -msgid "" -"Import path hooks are called as part of :data:`sys.path` (or " -"``package.__path__``) processing, at the point where their associated path " -"item is encountered. Import path hooks are registered by adding new " -"callables to :data:`sys.path_hooks` as described below." -msgstr "" - -#: ../../reference/import.rst:276 -msgid "The meta path" -msgstr "" - -#: ../../reference/import.rst:282 -msgid "" -"When the named module is not found in :data:`sys.modules`, Python next " -"searches :data:`sys.meta_path`, which contains a list of meta path finder " -"objects. These finders are queried in order to see if they know how to " -"handle the named module. Meta path finders must implement a method called " -":meth:`~importlib.abc.MetaPathFinder.find_spec` which takes three arguments:" -" a name, an import path, and (optionally) a target module. The meta path " -"finder can use any strategy it wants to determine whether it can handle the " -"named module or not." -msgstr "" - -#: ../../reference/import.rst:291 -msgid "" -"If the meta path finder knows how to handle the named module, it returns a " -"spec object. If it cannot handle the named module, it returns ``None``. If" -" :data:`sys.meta_path` processing reaches the end of its list without " -"returning a spec, then a :exc:`ModuleNotFoundError` is raised. Any other " -"exceptions raised are simply propagated up, aborting the import process." -msgstr "" - -#: ../../reference/import.rst:297 -msgid "" -"The :meth:`~importlib.abc.MetaPathFinder.find_spec` method of meta path " -"finders is called with two or three arguments. The first is the fully " -"qualified name of the module being imported, for example ``foo.bar.baz``. " -"The second argument is the path entries to use for the module search. For " -"top-level modules, the second argument is ``None``, but for submodules or " -"subpackages, the second argument is the value of the parent package's " -"``__path__`` attribute. If the appropriate ``__path__`` attribute cannot be " -"accessed, a :exc:`ModuleNotFoundError` is raised. The third argument is an " -"existing module object that will be the target of loading later. The import " -"system passes in a target module only during reload." -msgstr "" - -#: ../../reference/import.rst:308 -msgid "" -"The meta path may be traversed multiple times for a single import request. " -"For example, assuming none of the modules involved has already been cached, " -"importing ``foo.bar.baz`` will first perform a top level import, calling " -"``mpf.find_spec(\"foo\", None, None)`` on each meta path finder (``mpf``). " -"After ``foo`` has been imported, ``foo.bar`` will be imported by traversing " -"the meta path a second time, calling ``mpf.find_spec(\"foo.bar\", " -"foo.__path__, None)``. Once ``foo.bar`` has been imported, the final " -"traversal will call ``mpf.find_spec(\"foo.bar.baz\", foo.bar.__path__, " -"None)``." -msgstr "" - -#: ../../reference/import.rst:318 -msgid "" -"Some meta path finders only support top level imports. These importers will " -"always return ``None`` when anything other than ``None`` is passed as the " -"second argument." -msgstr "" - -#: ../../reference/import.rst:322 -msgid "" -"Python's default :data:`sys.meta_path` has three meta path finders, one that" -" knows how to import built-in modules, one that knows how to import frozen " -"modules, and one that knows how to import modules from an :term:`import " -"path` (i.e. the :term:`path based finder`)." -msgstr "" - -#: ../../reference/import.rst:327 -msgid "" -"The :meth:`~importlib.abc.MetaPathFinder.find_spec` method of meta path " -"finders replaced :meth:`!find_module`, which is now deprecated. While it " -"will continue to work without change, the import machinery will try it only " -"if the finder does not implement " -":meth:`~importlib.abc.MetaPathFinder.find_spec`." -msgstr "" - -#: ../../reference/import.rst:334 -msgid "" -"Use of :meth:`!find_module` by the import system now raises " -":exc:`ImportWarning`." -msgstr "" - -#: ../../reference/import.rst:338 -msgid "" -":meth:`!find_module` has been removed. Use " -":meth:`~importlib.abc.MetaPathFinder.find_spec` instead." -msgstr "" - -#: ../../reference/import.rst:344 -msgid "Loading" -msgstr "" - -#: ../../reference/import.rst:346 -msgid "" -"If and when a module spec is found, the import machinery will use it (and " -"the loader it contains) when loading the module. Here is an approximation " -"of what happens during the loading portion of import::" -msgstr "" - -#: ../../reference/import.rst:350 -msgid "" -"module = None\n" -"if spec.loader is not None and hasattr(spec.loader, 'create_module'):\n" -" # It is assumed 'exec_module' will also be defined on the loader.\n" -" module = spec.loader.create_module(spec)\n" -"if module is None:\n" -" module = ModuleType(spec.name)\n" -"# The import-related module attributes get set here:\n" -"_init_module_attrs(spec, module)\n" -"\n" -"if spec.loader is None:\n" -" # unsupported\n" -" raise ImportError\n" -"if spec.origin is None and spec.submodule_search_locations is not None:\n" -" # namespace package\n" -" sys.modules[spec.name] = module\n" -"elif not hasattr(spec.loader, 'exec_module'):\n" -" module = spec.loader.load_module(spec.name)\n" -"else:\n" -" sys.modules[spec.name] = module\n" -" try:\n" -" spec.loader.exec_module(module)\n" -" except BaseException:\n" -" try:\n" -" del sys.modules[spec.name]\n" -" except KeyError:\n" -" pass\n" -" raise\n" -"return sys.modules[spec.name]" -msgstr "" - -#: ../../reference/import.rst:379 -msgid "Note the following details:" -msgstr "" - -#: ../../reference/import.rst:381 -msgid "" -"If there is an existing module object with the given name in " -":data:`sys.modules`, import will have already returned it." -msgstr "" - -#: ../../reference/import.rst:384 -msgid "" -"The module will exist in :data:`sys.modules` before the loader executes the " -"module code. This is crucial because the module code may (directly or " -"indirectly) import itself; adding it to :data:`sys.modules` beforehand " -"prevents unbounded recursion in the worst case and multiple loading in the " -"best." -msgstr "" - -#: ../../reference/import.rst:390 -msgid "" -"If loading fails, the failing module -- and only the failing module -- gets " -"removed from :data:`sys.modules`. Any module already in the " -":data:`sys.modules` cache, and any module that was successfully loaded as a " -"side-effect, must remain in the cache. This contrasts with reloading where " -"even the failing module is left in :data:`sys.modules`." -msgstr "" - -#: ../../reference/import.rst:396 -msgid "" -"After the module is created but before execution, the import machinery sets " -"the import-related module attributes (\"_init_module_attrs\" in the pseudo-" -"code example above), as summarized in a :ref:`later section `." -msgstr "" - -#: ../../reference/import.rst:401 -msgid "" -"Module execution is the key moment of loading in which the module's " -"namespace gets populated. Execution is entirely delegated to the loader, " -"which gets to decide what gets populated and how." -msgstr "" - -#: ../../reference/import.rst:405 -msgid "" -"The module created during loading and passed to exec_module() may not be the" -" one returned at the end of import [#fnlo]_." -msgstr "" - -#: ../../reference/import.rst:408 -msgid "" -"The import system has taken over the boilerplate responsibilities of " -"loaders. These were previously performed by the " -":meth:`importlib.abc.Loader.load_module` method." -msgstr "" - -#: ../../reference/import.rst:414 -msgid "Loaders" -msgstr "" - -#: ../../reference/import.rst:416 -msgid "" -"Module loaders provide the critical function of loading: module execution. " -"The import machinery calls the :meth:`importlib.abc.Loader.exec_module` " -"method with a single argument, the module object to execute. Any value " -"returned from :meth:`~importlib.abc.Loader.exec_module` is ignored." -msgstr "" - -#: ../../reference/import.rst:421 -msgid "Loaders must satisfy the following requirements:" -msgstr "" - -#: ../../reference/import.rst:423 -msgid "" -"If the module is a Python module (as opposed to a built-in module or a " -"dynamically loaded extension), the loader should execute the module's code " -"in the module's global name space (``module.__dict__``)." -msgstr "" - -#: ../../reference/import.rst:427 -msgid "" -"If the loader cannot execute the module, it should raise an " -":exc:`ImportError`, although any other exception raised during " -":meth:`~importlib.abc.Loader.exec_module` will be propagated." -msgstr "" - -#: ../../reference/import.rst:431 -msgid "" -"In many cases, the finder and loader can be the same object; in such cases " -"the :meth:`~importlib.abc.MetaPathFinder.find_spec` method would just return" -" a spec with the loader set to ``self``." -msgstr "" - -#: ../../reference/import.rst:435 -msgid "" -"Module loaders may opt in to creating the module object during loading by " -"implementing a :meth:`~importlib.abc.Loader.create_module` method. It takes " -"one argument, the module spec, and returns the new module object to use " -"during loading. ``create_module()`` does not need to set any attributes on " -"the module object. If the method returns ``None``, the import machinery " -"will create the new module itself." -msgstr "" - -#: ../../reference/import.rst:442 -msgid "The :meth:`~importlib.abc.Loader.create_module` method of loaders." -msgstr "" - -#: ../../reference/import.rst:445 -msgid "" -"The :meth:`~importlib.abc.Loader.load_module` method was replaced by " -":meth:`~importlib.abc.Loader.exec_module` and the import machinery assumed " -"all the boilerplate responsibilities of loading." -msgstr "" - -#: ../../reference/import.rst:450 -msgid "" -"For compatibility with existing loaders, the import machinery will use the " -"``load_module()`` method of loaders if it exists and the loader does not " -"also implement ``exec_module()``. However, ``load_module()`` has been " -"deprecated and loaders should implement ``exec_module()`` instead." -msgstr "" - -#: ../../reference/import.rst:455 -msgid "" -"The ``load_module()`` method must implement all the boilerplate loading " -"functionality described above in addition to executing the module. All the " -"same constraints apply, with some additional clarification:" -msgstr "" - -#: ../../reference/import.rst:459 -msgid "" -"If there is an existing module object with the given name in " -":data:`sys.modules`, the loader must use that existing module. (Otherwise, " -":func:`importlib.reload` will not work correctly.) If the named module does" -" not exist in :data:`sys.modules`, the loader must create a new module " -"object and add it to :data:`sys.modules`." -msgstr "" - -#: ../../reference/import.rst:465 -msgid "" -"The module *must* exist in :data:`sys.modules` before the loader executes " -"the module code, to prevent unbounded recursion or multiple loading." -msgstr "" - -#: ../../reference/import.rst:469 -msgid "" -"If loading fails, the loader must remove any modules it has inserted into " -":data:`sys.modules`, but it must remove **only** the failing module(s), and " -"only if the loader itself has loaded the module(s) explicitly." -msgstr "" - -#: ../../reference/import.rst:474 -msgid "" -"A :exc:`DeprecationWarning` is raised when ``exec_module()`` is defined but " -"``create_module()`` is not." -msgstr "" - -#: ../../reference/import.rst:478 -msgid "" -"An :exc:`ImportError` is raised when ``exec_module()`` is defined but " -"``create_module()`` is not." -msgstr "" - -#: ../../reference/import.rst:482 -msgid "Use of ``load_module()`` will raise :exc:`ImportWarning`." -msgstr "" - -#: ../../reference/import.rst:486 -msgid "Submodules" -msgstr "" - -#: ../../reference/import.rst:488 -msgid "" -"When a submodule is loaded using any mechanism (e.g. ``importlib`` APIs, the" -" ``import`` or ``import-from`` statements, or built-in ``__import__()``) a " -"binding is placed in the parent module's namespace to the submodule object. " -"For example, if package ``spam`` has a submodule ``foo``, after importing " -"``spam.foo``, ``spam`` will have an attribute ``foo`` which is bound to the " -"submodule. Let's say you have the following directory structure::" -msgstr "" - -#: ../../reference/import.rst:495 -msgid "" -"spam/\n" -" __init__.py\n" -" foo.py" -msgstr "" - -#: ../../reference/import.rst:499 -msgid "and ``spam/__init__.py`` has the following line in it::" -msgstr "" - -#: ../../reference/import.rst:501 -msgid "from .foo import Foo" -msgstr "" - -#: ../../reference/import.rst:503 -msgid "" -"then executing the following puts name bindings for ``foo`` and ``Foo`` in " -"the ``spam`` module::" -msgstr "" - -#: ../../reference/import.rst:506 -msgid "" -">>> import spam\n" -">>> spam.foo\n" -"\n" -">>> spam.Foo\n" -"" -msgstr "" - -#: ../../reference/import.rst:512 -msgid "" -"Given Python's familiar name binding rules this might seem surprising, but " -"it's actually a fundamental feature of the import system. The invariant " -"holding is that if you have ``sys.modules['spam']`` and " -"``sys.modules['spam.foo']`` (as you would after the above import), the " -"latter must appear as the ``foo`` attribute of the former." -msgstr "" - -#: ../../reference/import.rst:521 -msgid "Module specs" -msgstr "" - -#: ../../reference/import.rst:523 -msgid "" -"The import machinery uses a variety of information about each module during " -"import, especially before loading. Most of the information is common to all" -" modules. The purpose of a module's spec is to encapsulate this import-" -"related information on a per-module basis." -msgstr "" - -#: ../../reference/import.rst:528 -msgid "" -"Using a spec during import allows state to be transferred between import " -"system components, e.g. between the finder that creates the module spec and " -"the loader that executes it. Most importantly, it allows the import " -"machinery to perform the boilerplate operations of loading, whereas without " -"a module spec the loader had that responsibility." -msgstr "" - -#: ../../reference/import.rst:534 -msgid "" -"The module's spec is exposed as :attr:`module.__spec__`. Setting " -":attr:`!__spec__` appropriately applies equally to :ref:`modules initialized" -" during interpreter startup `. The one exception is ``__main__``, " -"where :attr:`!__spec__` is :ref:`set to None in some cases `." -msgstr "" - -#: ../../reference/import.rst:540 -msgid "" -"See :class:`~importlib.machinery.ModuleSpec` for details on the contents of " -"the module spec." -msgstr "" - -#: ../../reference/import.rst:548 -msgid "__path__ attributes on modules" -msgstr "" - -#: ../../reference/import.rst:550 -msgid "" -"The :attr:`~module.__path__` attribute should be a (possibly empty) " -":term:`sequence` of strings enumerating the locations where the package's " -"submodules will be found. By definition, if a module has a :attr:`!__path__`" -" attribute, it is a :term:`package`." -msgstr "" - -#: ../../reference/import.rst:555 -msgid "" -"A package's :attr:`~module.__path__` attribute is used during imports of its" -" subpackages. Within the import machinery, it functions much the same as " -":data:`sys.path`, i.e. providing a list of locations to search for modules " -"during import. However, :attr:`!__path__` is typically much more constrained" -" than :data:`!sys.path`." -msgstr "" - -#: ../../reference/import.rst:562 -msgid "" -"The same rules used for :data:`sys.path` also apply to a package's " -":attr:`!__path__`. :data:`sys.path_hooks` (described below) are consulted " -"when traversing a package's :attr:`!__path__`." -msgstr "" - -#: ../../reference/import.rst:566 -msgid "" -"A package's ``__init__.py`` file may set or alter the package's " -":attr:`~module.__path__` attribute, and this was typically the way namespace" -" packages were implemented prior to :pep:`420`. With the adoption of " -":pep:`420`, namespace packages no longer need to supply ``__init__.py`` " -"files containing only :attr:`!__path__` manipulation code; the import " -"machinery automatically sets :attr:`!__path__` correctly for the namespace " -"package." -msgstr "" - -#: ../../reference/import.rst:575 -msgid "Module reprs" -msgstr "" - -#: ../../reference/import.rst:577 -msgid "" -"By default, all modules have a usable repr, however depending on the " -"attributes set above, and in the module's spec, you can more explicitly " -"control the repr of module objects." -msgstr "" - -#: ../../reference/import.rst:581 -msgid "" -"If the module has a spec (``__spec__``), the import machinery will try to " -"generate a repr from it. If that fails or there is no spec, the import " -"system will craft a default repr using whatever information is available on " -"the module. It will try to use the ``module.__name__``, " -"``module.__file__``, and ``module.__loader__`` as input into the repr, with " -"defaults for whatever information is missing." -msgstr "" - -#: ../../reference/import.rst:588 -msgid "Here are the exact rules used:" -msgstr "" - -#: ../../reference/import.rst:590 -msgid "" -"If the module has a ``__spec__`` attribute, the information in the spec is " -"used to generate the repr. The \"name\", \"loader\", \"origin\", and " -"\"has_location\" attributes are consulted." -msgstr "" - -#: ../../reference/import.rst:594 -msgid "" -"If the module has a ``__file__`` attribute, this is used as part of the " -"module's repr." -msgstr "" - -#: ../../reference/import.rst:597 -msgid "" -"If the module has no ``__file__`` but does have a ``__loader__`` that is not" -" ``None``, then the loader's repr is used as part of the module's repr." -msgstr "" - -#: ../../reference/import.rst:600 -msgid "Otherwise, just use the module's ``__name__`` in the repr." -msgstr "" - -#: ../../reference/import.rst:602 -msgid "" -"Use of :meth:`!module_repr`, having been deprecated since Python 3.4, was " -"removed in Python 3.12 and is no longer called during the resolution of a " -"module's repr." -msgstr "" - -#: ../../reference/import.rst:610 -msgid "Cached bytecode invalidation" -msgstr "" - -#: ../../reference/import.rst:612 -msgid "" -"Before Python loads cached bytecode from a ``.pyc`` file, it checks whether " -"the cache is up-to-date with the source ``.py`` file. By default, Python " -"does this by storing the source's last-modified timestamp and size in the " -"cache file when writing it. At runtime, the import system then validates the" -" cache file by checking the stored metadata in the cache file against the " -"source's metadata." -msgstr "" - -#: ../../reference/import.rst:619 -msgid "" -"Python also supports \"hash-based\" cache files, which store a hash of the " -"source file's contents rather than its metadata. There are two variants of " -"hash-based ``.pyc`` files: checked and unchecked. For checked hash-based " -"``.pyc`` files, Python validates the cache file by hashing the source file " -"and comparing the resulting hash with the hash in the cache file. If a " -"checked hash-based cache file is found to be invalid, Python regenerates it " -"and writes a new checked hash-based cache file. For unchecked hash-based " -"``.pyc`` files, Python simply assumes the cache file is valid if it exists. " -"Hash-based ``.pyc`` files validation behavior may be overridden with the " -":option:`--check-hash-based-pycs` flag." -msgstr "" - -#: ../../reference/import.rst:630 -msgid "" -"Added hash-based ``.pyc`` files. Previously, Python only supported " -"timestamp-based invalidation of bytecode caches." -msgstr "" - -#: ../../reference/import.rst:636 -msgid "The Path Based Finder" -msgstr "" - -#: ../../reference/import.rst:641 -msgid "" -"As mentioned previously, Python comes with several default meta path " -"finders. One of these, called the :term:`path based finder` " -"(:class:`~importlib.machinery.PathFinder`), searches an :term:`import path`," -" which contains a list of :term:`path entries `. Each path " -"entry names a location to search for modules." -msgstr "" - -#: ../../reference/import.rst:647 -msgid "" -"The path based finder itself doesn't know how to import anything. Instead, " -"it traverses the individual path entries, associating each of them with a " -"path entry finder that knows how to handle that particular kind of path." -msgstr "" - -#: ../../reference/import.rst:651 -msgid "" -"The default set of path entry finders implement all the semantics for " -"finding modules on the file system, handling special file types such as " -"Python source code (``.py`` files), Python byte code (``.pyc`` files) and " -"shared libraries (e.g. ``.so`` files). When supported by the " -":mod:`zipimport` module in the standard library, the default path entry " -"finders also handle loading all of these file types (other than shared " -"libraries) from zipfiles." -msgstr "" - -#: ../../reference/import.rst:658 -msgid "" -"Path entries need not be limited to file system locations. They can refer " -"to URLs, database queries, or any other location that can be specified as a " -"string." -msgstr "" - -#: ../../reference/import.rst:662 -msgid "" -"The path based finder provides additional hooks and protocols so that you " -"can extend and customize the types of searchable path entries. For example," -" if you wanted to support path entries as network URLs, you could write a " -"hook that implements HTTP semantics to find modules on the web. This hook " -"(a callable) would return a :term:`path entry finder` supporting the " -"protocol described below, which was then used to get a loader for the module" -" from the web." -msgstr "" - -#: ../../reference/import.rst:670 -msgid "" -"A word of warning: this section and the previous both use the term *finder*," -" distinguishing between them by using the terms :term:`meta path finder` and" -" :term:`path entry finder`. These two types of finders are very similar, " -"support similar protocols, and function in similar ways during the import " -"process, but it's important to keep in mind that they are subtly different. " -"In particular, meta path finders operate at the beginning of the import " -"process, as keyed off the :data:`sys.meta_path` traversal." -msgstr "" - -#: ../../reference/import.rst:678 -msgid "" -"By contrast, path entry finders are in a sense an implementation detail of " -"the path based finder, and in fact, if the path based finder were to be " -"removed from :data:`sys.meta_path`, none of the path entry finder semantics " -"would be invoked." -msgstr "" - -#: ../../reference/import.rst:685 -msgid "Path entry finders" -msgstr "" - -#: ../../reference/import.rst:693 -msgid "" -"The :term:`path based finder` is responsible for finding and loading Python " -"modules and packages whose location is specified with a string :term:`path " -"entry`. Most path entries name locations in the file system, but they need " -"not be limited to this." -msgstr "" - -#: ../../reference/import.rst:698 -msgid "" -"As a meta path finder, the :term:`path based finder` implements the " -":meth:`~importlib.abc.MetaPathFinder.find_spec` protocol previously " -"described, however it exposes additional hooks that can be used to customize" -" how modules are found and loaded from the :term:`import path`." -msgstr "" - -#: ../../reference/import.rst:703 -msgid "" -"Three variables are used by the :term:`path based finder`, :data:`sys.path`," -" :data:`sys.path_hooks` and :data:`sys.path_importer_cache`. The " -"``__path__`` attributes on package objects are also used. These provide " -"additional ways that the import machinery can be customized." -msgstr "" - -#: ../../reference/import.rst:708 -msgid "" -":data:`sys.path` contains a list of strings providing search locations for " -"modules and packages. It is initialized from the :envvar:`PYTHONPATH` " -"environment variable and various other installation- and implementation-" -"specific defaults. Entries in :data:`sys.path` can name directories on the " -"file system, zip files, and potentially other \"locations\" (see the " -":mod:`site` module) that should be searched for modules, such as URLs, or " -"database queries. Only strings should be present on :data:`sys.path`; all " -"other data types are ignored." -msgstr "" - -#: ../../reference/import.rst:717 -msgid "" -"The :term:`path based finder` is a :term:`meta path finder`, so the import " -"machinery begins the :term:`import path` search by calling the path based " -"finder's :meth:`~importlib.machinery.PathFinder.find_spec` method as " -"described previously. When the ``path`` argument to " -":meth:`~importlib.machinery.PathFinder.find_spec` is given, it will be a " -"list of string paths to traverse - typically a package's ``__path__`` " -"attribute for an import within that package. If the ``path`` argument is " -"``None``, this indicates a top level import and :data:`sys.path` is used." -msgstr "" - -#: ../../reference/import.rst:726 -msgid "" -"The path based finder iterates over every entry in the search path, and for " -"each of these, looks for an appropriate :term:`path entry finder` " -"(:class:`~importlib.abc.PathEntryFinder`) for the path entry. Because this " -"can be an expensive operation (e.g. there may be ``stat()`` call overheads " -"for this search), the path based finder maintains a cache mapping path " -"entries to path entry finders. This cache is maintained in " -":data:`sys.path_importer_cache` (despite the name, this cache actually " -"stores finder objects rather than being limited to :term:`importer` " -"objects). In this way, the expensive search for a particular :term:`path " -"entry` location's :term:`path entry finder` need only be done once. User " -"code is free to remove cache entries from :data:`sys.path_importer_cache` " -"forcing the path based finder to perform the path entry search again." -msgstr "" - -#: ../../reference/import.rst:739 -msgid "" -"If the path entry is not present in the cache, the path based finder " -"iterates over every callable in :data:`sys.path_hooks`. Each of the " -":term:`path entry hooks ` in this list is called with a " -"single argument, the path entry to be searched. This callable may either " -"return a :term:`path entry finder` that can handle the path entry, or it may" -" raise :exc:`ImportError`. An :exc:`ImportError` is used by the path based " -"finder to signal that the hook cannot find a :term:`path entry finder` for " -"that :term:`path entry`. The exception is ignored and :term:`import path` " -"iteration continues. The hook should expect either a string or bytes " -"object; the encoding of bytes objects is up to the hook (e.g. it may be a " -"file system encoding, UTF-8, or something else), and if the hook cannot " -"decode the argument, it should raise :exc:`ImportError`." -msgstr "" - -#: ../../reference/import.rst:753 -msgid "" -"If :data:`sys.path_hooks` iteration ends with no :term:`path entry finder` " -"being returned, then the path based finder's " -":meth:`~importlib.machinery.PathFinder.find_spec` method will store ``None``" -" in :data:`sys.path_importer_cache` (to indicate that there is no finder for" -" this path entry) and return ``None``, indicating that this :term:`meta path" -" finder` could not find the module." -msgstr "" - -#: ../../reference/import.rst:760 -msgid "" -"If a :term:`path entry finder` *is* returned by one of the :term:`path entry" -" hook` callables on :data:`sys.path_hooks`, then the following protocol is " -"used to ask the finder for a module spec, which is then used when loading " -"the module." -msgstr "" - -#: ../../reference/import.rst:765 -msgid "" -"The current working directory -- denoted by an empty string -- is handled " -"slightly differently from other entries on :data:`sys.path`. First, if the " -"current working directory cannot be determined or is found not to exist, no " -"value is stored in :data:`sys.path_importer_cache`. Second, the value for " -"the current working directory is looked up fresh for each module lookup. " -"Third, the path used for :data:`sys.path_importer_cache` and returned by " -":meth:`importlib.machinery.PathFinder.find_spec` will be the actual current " -"working directory and not the empty string." -msgstr "" - -#: ../../reference/import.rst:775 -msgid "Path entry finder protocol" -msgstr "" - -#: ../../reference/import.rst:777 -msgid "" -"In order to support imports of modules and initialized packages and also to " -"contribute portions to namespace packages, path entry finders must implement" -" the :meth:`~importlib.abc.PathEntryFinder.find_spec` method." -msgstr "" - -#: ../../reference/import.rst:781 -msgid "" -":meth:`~importlib.abc.PathEntryFinder.find_spec` takes two arguments: the " -"fully qualified name of the module being imported, and the (optional) target" -" module. ``find_spec()`` returns a fully populated spec for the module. " -"This spec will always have \"loader\" set (with one exception)." -msgstr "" - -#: ../../reference/import.rst:786 -msgid "" -"To indicate to the import machinery that the spec represents a namespace " -":term:`portion`, the path entry finder sets ``submodule_search_locations`` " -"to a list containing the portion." -msgstr "" - -#: ../../reference/import.rst:790 -msgid "" -":meth:`~importlib.abc.PathEntryFinder.find_spec` replaced " -":meth:`!find_loader` and :meth:`!find_module`, both of which are now " -"deprecated, but will be used if ``find_spec()`` is not defined." -msgstr "" - -#: ../../reference/import.rst:796 -msgid "" -"Older path entry finders may implement one of these two deprecated methods " -"instead of ``find_spec()``. The methods are still respected for the sake of" -" backward compatibility. However, if ``find_spec()`` is implemented on the " -"path entry finder, the legacy methods are ignored." -msgstr "" - -#: ../../reference/import.rst:801 -msgid "" -":meth:`!find_loader` takes one argument, the fully qualified name of the " -"module being imported. ``find_loader()`` returns a 2-tuple where the first " -"item is the loader and the second item is a namespace :term:`portion`." -msgstr "" - -#: ../../reference/import.rst:806 -msgid "" -"For backwards compatibility with other implementations of the import " -"protocol, many path entry finders also support the same, traditional " -"``find_module()`` method that meta path finders support. However path entry " -"finder ``find_module()`` methods are never called with a ``path`` argument " -"(they are expected to record the appropriate path information from the " -"initial call to the path hook)." -msgstr "" - -#: ../../reference/import.rst:813 -msgid "" -"The ``find_module()`` method on path entry finders is deprecated, as it does" -" not allow the path entry finder to contribute portions to namespace " -"packages. If both ``find_loader()`` and ``find_module()`` exist on a path " -"entry finder, the import system will always call ``find_loader()`` in " -"preference to ``find_module()``." -msgstr "" - -#: ../../reference/import.rst:819 -msgid "" -"Calls to :meth:`!find_module` and :meth:`!find_loader` by the import system " -"will raise :exc:`ImportWarning`." -msgstr "" - -#: ../../reference/import.rst:824 -msgid "``find_module()`` and ``find_loader()`` have been removed." -msgstr "" - -#: ../../reference/import.rst:829 -msgid "Replacing the standard import system" -msgstr "" - -#: ../../reference/import.rst:831 -msgid "" -"The most reliable mechanism for replacing the entire import system is to " -"delete the default contents of :data:`sys.meta_path`, replacing them " -"entirely with a custom meta path hook." -msgstr "" - -#: ../../reference/import.rst:835 -msgid "" -"If it is acceptable to only alter the behaviour of import statements without" -" affecting other APIs that access the import system, then replacing the " -"builtin :func:`__import__` function may be sufficient. This technique may " -"also be employed at the module level to only alter the behaviour of import " -"statements within that module." -msgstr "" - -#: ../../reference/import.rst:841 -msgid "" -"To selectively prevent the import of some modules from a hook early on the " -"meta path (rather than disabling the standard import system entirely), it is" -" sufficient to raise :exc:`ModuleNotFoundError` directly from " -":meth:`~importlib.abc.MetaPathFinder.find_spec` instead of returning " -"``None``. The latter indicates that the meta path search should continue, " -"while raising an exception terminates it immediately." -msgstr "" - -#: ../../reference/import.rst:851 -msgid "Package Relative Imports" -msgstr "" - -#: ../../reference/import.rst:853 -msgid "" -"Relative imports use leading dots. A single leading dot indicates a relative" -" import, starting with the current package. Two or more leading dots " -"indicate a relative import to the parent(s) of the current package, one " -"level per dot after the first. For example, given the following package " -"layout::" -msgstr "" - -#: ../../reference/import.rst:858 -msgid "" -"package/\n" -" __init__.py\n" -" subpackage1/\n" -" __init__.py\n" -" moduleX.py\n" -" moduleY.py\n" -" subpackage2/\n" -" __init__.py\n" -" moduleZ.py\n" -" moduleA.py" -msgstr "" - -#: ../../reference/import.rst:869 -msgid "" -"In either ``subpackage1/moduleX.py`` or ``subpackage1/__init__.py``, the " -"following are valid relative imports::" -msgstr "" - -#: ../../reference/import.rst:872 -msgid "" -"from .moduleY import spam\n" -"from .moduleY import spam as ham\n" -"from . import moduleY\n" -"from ..subpackage1 import moduleY\n" -"from ..subpackage2.moduleZ import eggs\n" -"from ..moduleA import foo" -msgstr "" - -#: ../../reference/import.rst:879 -msgid "" -"Absolute imports may use either the ``import <>`` or ``from <> import <>`` " -"syntax, but relative imports may only use the second form; the reason for " -"this is that::" -msgstr "" - -#: ../../reference/import.rst:883 -msgid "import XXX.YYY.ZZZ" -msgstr "" - -#: ../../reference/import.rst:885 -msgid "" -"should expose ``XXX.YYY.ZZZ`` as a usable expression, but .moduleY is not a " -"valid expression." -msgstr "" - -#: ../../reference/import.rst:892 -msgid "Special considerations for __main__" -msgstr "" - -#: ../../reference/import.rst:894 -msgid "" -"The :mod:`__main__` module is a special case relative to Python's import " -"system. As noted :ref:`elsewhere `, the ``__main__`` module is " -"directly initialized at interpreter startup, much like :mod:`sys` and " -":mod:`builtins`. However, unlike those two, it doesn't strictly qualify as " -"a built-in module. This is because the manner in which ``__main__`` is " -"initialized depends on the flags and other options with which the " -"interpreter is invoked." -msgstr "" - -#: ../../reference/import.rst:905 -msgid "__main__.__spec__" -msgstr "" - -#: ../../reference/import.rst:907 -msgid "" -"Depending on how :mod:`__main__` is initialized, ``__main__.__spec__`` gets " -"set appropriately or to ``None``." -msgstr "" - -#: ../../reference/import.rst:910 -msgid "" -"When Python is started with the :option:`-m` option, ``__spec__`` is set to " -"the module spec of the corresponding module or package. ``__spec__`` is also" -" populated when the ``__main__`` module is loaded as part of executing a " -"directory, zipfile or other :data:`sys.path` entry." -msgstr "" - -#: ../../reference/import.rst:915 -msgid "" -"In :ref:`the remaining cases ` " -"``__main__.__spec__`` is set to ``None``, as the code used to populate the " -":mod:`__main__` does not correspond directly with an importable module:" -msgstr "" - -#: ../../reference/import.rst:919 -msgid "interactive prompt" -msgstr "" - -#: ../../reference/import.rst:920 -msgid ":option:`-c` option" -msgstr "" - -#: ../../reference/import.rst:921 -msgid "running from stdin" -msgstr "" - -#: ../../reference/import.rst:922 -msgid "running directly from a source or bytecode file" -msgstr "" - -#: ../../reference/import.rst:924 -msgid "" -"Note that ``__main__.__spec__`` is always ``None`` in the last case, *even " -"if* the file could technically be imported directly as a module instead. Use" -" the :option:`-m` switch if valid module metadata is desired in " -":mod:`__main__`." -msgstr "" - -#: ../../reference/import.rst:929 -msgid "" -"Note also that even when ``__main__`` corresponds with an importable module " -"and ``__main__.__spec__`` is set accordingly, they're still considered " -"*distinct* modules. This is due to the fact that blocks guarded by ``if " -"__name__ == \"__main__\":`` checks only execute when the module is used to " -"populate the ``__main__`` namespace, and not during normal import." -msgstr "" - -#: ../../reference/import.rst:937 -msgid "References" -msgstr "" - -#: ../../reference/import.rst:939 -msgid "" -"The import machinery has evolved considerably since Python's early days. " -"The original `specification for packages " -"`_ is still available to read, " -"although some details have changed since the writing of that document." -msgstr "" - -#: ../../reference/import.rst:944 -msgid "" -"The original specification for :data:`sys.meta_path` was :pep:`302`, with " -"subsequent extension in :pep:`420`." -msgstr "" - -#: ../../reference/import.rst:947 -msgid "" -":pep:`420` introduced :term:`namespace packages ` for " -"Python 3.3. :pep:`420` also introduced the :meth:`!find_loader` protocol as" -" an alternative to :meth:`!find_module`." -msgstr "" - -#: ../../reference/import.rst:951 -msgid "" -":pep:`366` describes the addition of the ``__package__`` attribute for " -"explicit relative imports in main modules." -msgstr "" - -#: ../../reference/import.rst:954 -msgid "" -":pep:`328` introduced absolute and explicit relative imports and initially " -"proposed ``__name__`` for semantics :pep:`366` would eventually specify for " -"``__package__``." -msgstr "" - -#: ../../reference/import.rst:958 -msgid ":pep:`338` defines executing modules as scripts." -msgstr "" - -#: ../../reference/import.rst:960 -msgid "" -":pep:`451` adds the encapsulation of per-module import state in spec " -"objects. It also off-loads most of the boilerplate responsibilities of " -"loaders back onto the import machinery. These changes allow the deprecation" -" of several APIs in the import system and also addition of new methods to " -"finders and loaders." -msgstr "" - -#: ../../reference/import.rst:967 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../reference/import.rst:968 -msgid "See :class:`types.ModuleType`." -msgstr "" - -#: ../../reference/import.rst:970 -msgid "" -"The importlib implementation avoids using the return value directly. " -"Instead, it gets the module object by looking the module name up in " -":data:`sys.modules`. The indirect effect of this is that an imported module" -" may replace itself in :data:`sys.modules`. This is implementation-specific" -" behavior that is not guaranteed to work in other Python implementations." -msgstr "" - -#: ../../reference/import.rst:8 -msgid "import machinery" -msgstr "" - -#: ../../reference/import.rst:64 ../../reference/import.rst:95 -#: ../../reference/import.rst:131 -msgid "package" -msgstr "paket" - -#: ../../reference/import.rst:95 -msgid "regular" -msgstr "" - -#: ../../reference/import.rst:131 -msgid "namespace" -msgstr "" - -#: ../../reference/import.rst:131 -msgid "portion" -msgstr "porsi" - -#: ../../reference/import.rst:177 -msgid "sys.modules" -msgstr "" - -#: ../../reference/import.rst:212 ../../reference/import.rst:278 -msgid "finder" -msgstr "" - -#: ../../reference/import.rst:212 -msgid "loader" -msgstr "" - -#: ../../reference/import.rst:212 -msgid "module spec" -msgstr "" - -#: ../../reference/import.rst:251 -msgid "import hooks" -msgstr "" - -#: ../../reference/import.rst:251 -msgid "meta hooks" -msgstr "" - -#: ../../reference/import.rst:251 -msgid "path hooks" -msgstr "" - -#: ../../reference/import.rst:251 -msgid "hooks" -msgstr "" - -#: ../../reference/import.rst:251 -msgid "import" -msgstr "" - -#: ../../reference/import.rst:251 -msgid "meta" -msgstr "" - -#: ../../reference/import.rst:251 -msgid "path" -msgstr "" - -#: ../../reference/import.rst:278 -msgid "sys.meta_path" -msgstr "" - -#: ../../reference/import.rst:278 -msgid "find_spec" -msgstr "" - -#: ../../reference/import.rst:638 -msgid "path based finder" -msgstr "" - -#: ../../reference/import.rst:687 -msgid "sys.path" -msgstr "" - -#: ../../reference/import.rst:687 -msgid "sys.path_hooks" -msgstr "" - -#: ../../reference/import.rst:687 -msgid "sys.path_importer_cache" -msgstr "" - -#: ../../reference/import.rst:687 -msgid "PYTHONPATH" -msgstr "" diff --git a/python-newest.reference--index/id.po b/python-newest.reference--index/id.po deleted file mode 100644 index 47779ec..0000000 --- a/python-newest.reference--index/id.po +++ /dev/null @@ -1,46 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../reference/index.rst:5 -msgid "The Python Language Reference" -msgstr "Referensi Bahasa Python" - -#: ../../reference/index.rst:7 -msgid "" -"This reference manual describes the syntax and \"core semantics\" of the " -"language. It is terse, but attempts to be exact and complete. The semantics " -"of non-essential built-in object types and of the built-in functions and " -"modules are described in :ref:`library-index`. For an informal introduction " -"to the language, see :ref:`tutorial-index`. For C or C++ programmers, two " -"additional manuals exist: :ref:`extending-index` describes the high-level " -"picture of how to write a Python extension module, and the :ref:`c-api-" -"index` describes the interfaces available to C/C++ programmers in detail." -msgstr "" -"Manual referensi ini menjelaskan sintaksis dan \"core semantics\" dari " -"bahasa. Ini singkat, tetapi berusaha untuk menjadi tepat dan lengkap. " -"Semantik tipe objek bawaan yang tidak esensial dan fungsi dan modul bawaan " -"dijelaskan dalam :ref:`library-index`. Untuk pengantar informal ke bahasa, " -"lihat :ref:`tutorial-index`. Untuk programmer C atau C++, ada dua manual " -"tambahan: :ref:`extending-index` menjelaskan gambar tingkat tinggi tentang " -"cara menulis modul ekstensi Python, dan :ref:`c-api-index` menjelaskan " -"antarmuka yang tersedia untuk C / C++ programmer secara detail." diff --git a/python-newest.reference--introduction/id.po b/python-newest.reference--introduction/id.po deleted file mode 100644 index 4036a5c..0000000 --- a/python-newest.reference--introduction/id.po +++ /dev/null @@ -1,235 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Helen Febriani , 2018 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../reference/introduction.rst:6 -msgid "Introduction" -msgstr "Pengantar" - -#: ../../reference/introduction.rst:8 -msgid "" -"This reference manual describes the Python programming language. It is not " -"intended as a tutorial." -msgstr "" - -#: ../../reference/introduction.rst:11 -msgid "" -"While I am trying to be as precise as possible, I chose to use English " -"rather than formal specifications for everything except syntax and lexical " -"analysis. This should make the document more understandable to the average " -"reader, but will leave room for ambiguities. Consequently, if you were " -"coming from Mars and tried to re-implement Python from this document alone, " -"you might have to guess things and in fact you would probably end up " -"implementing quite a different language. On the other hand, if you are using" -" Python and wonder what the precise rules about a particular area of the " -"language are, you should definitely be able to find them here. If you would " -"like to see a more formal definition of the language, maybe you could " -"volunteer your time --- or invent a cloning machine :-)." -msgstr "" - -#: ../../reference/introduction.rst:23 -msgid "" -"It is dangerous to add too many implementation details to a language " -"reference document --- the implementation may change, and other " -"implementations of the same language may work differently. On the other " -"hand, CPython is the one Python implementation in widespread use (although " -"alternate implementations continue to gain support), and its particular " -"quirks are sometimes worth being mentioned, especially where the " -"implementation imposes additional limitations. Therefore, you'll find short " -"\"implementation notes\" sprinkled throughout the text." -msgstr "" - -#: ../../reference/introduction.rst:32 -msgid "" -"Every Python implementation comes with a number of built-in and standard " -"modules. These are documented in :ref:`library-index`. A few built-in " -"modules are mentioned when they interact in a significant way with the " -"language definition." -msgstr "" - -#: ../../reference/introduction.rst:41 -msgid "Alternate Implementations" -msgstr "Implementasi Alternatif" - -#: ../../reference/introduction.rst:43 -msgid "" -"Though there is one Python implementation which is by far the most popular, " -"there are some alternate implementations which are of particular interest to" -" different audiences." -msgstr "" - -#: ../../reference/introduction.rst:47 -msgid "Known implementations include:" -msgstr "Implementasi yang diketahui meliputi:" - -#: ../../reference/introduction.rst:49 -msgid "CPython" -msgstr "CPython" - -#: ../../reference/introduction.rst:50 -msgid "" -"This is the original and most-maintained implementation of Python, written " -"in C. New language features generally appear here first." -msgstr "" - -#: ../../reference/introduction.rst:53 -msgid "Jython" -msgstr "Jython" - -#: ../../reference/introduction.rst:54 -msgid "" -"Python implemented in Java. This implementation can be used as a scripting " -"language for Java applications, or can be used to create applications using " -"the Java class libraries. It is also often used to create tests for Java " -"libraries. More information can be found at `the Jython website " -"`_." -msgstr "" - -#: ../../reference/introduction.rst:59 -msgid "Python for .NET" -msgstr "Python untuk .NET" - -#: ../../reference/introduction.rst:60 -msgid "" -"This implementation actually uses the CPython implementation, but is a " -"managed .NET application and makes .NET libraries available. It was created" -" by Brian Lloyd. For more information, see the `Python for .NET home page " -"`_." -msgstr "" - -#: ../../reference/introduction.rst:65 -msgid "IronPython" -msgstr "IronPython" - -#: ../../reference/introduction.rst:66 -msgid "" -"An alternate Python for .NET. Unlike Python.NET, this is a complete Python " -"implementation that generates IL, and compiles Python code directly to .NET " -"assemblies. It was created by Jim Hugunin, the original creator of Jython." -" For more information, see `the IronPython website " -"`_." -msgstr "" - -#: ../../reference/introduction.rst:71 -msgid "PyPy" -msgstr "PyPy" - -#: ../../reference/introduction.rst:72 -msgid "" -"An implementation of Python written completely in Python. It supports " -"several advanced features not found in other implementations like stackless " -"support and a Just in Time compiler. One of the goals of the project is to " -"encourage experimentation with the language itself by making it easier to " -"modify the interpreter (since it is written in Python). Additional " -"information is available on `the PyPy project's home page " -"`_." -msgstr "" - -#: ../../reference/introduction.rst:79 -msgid "" -"Each of these implementations varies in some way from the language as " -"documented in this manual, or introduces specific information beyond what's " -"covered in the standard Python documentation. Please refer to the " -"implementation-specific documentation to determine what else you need to " -"know about the specific implementation you're using." -msgstr "" - -#: ../../reference/introduction.rst:89 -msgid "Notation" -msgstr "Notasi" - -#: ../../reference/introduction.rst:93 -msgid "" -"The descriptions of lexical analysis and syntax use a modified `Backus–Naur " -"form (BNF) `_ " -"grammar notation. This uses the following style of definition:" -msgstr "" - -#: ../../reference/introduction.rst:101 -msgid "" -"The first line says that a ``name`` is an ``lc_letter`` followed by a " -"sequence of zero or more ``lc_letter``\\ s and underscores. An " -"``lc_letter`` in turn is any of the single characters ``'a'`` through " -"``'z'``. (This rule is actually adhered to for the names defined in lexical" -" and grammar rules in this document.)" -msgstr "" - -#: ../../reference/introduction.rst:106 -msgid "" -"Each rule begins with a name (which is the name defined by the rule) and " -"``::=``. A vertical bar (``|``) is used to separate alternatives; it is the" -" least binding operator in this notation. A star (``*``) means zero or more" -" repetitions of the preceding item; likewise, a plus (``+``) means one or " -"more repetitions, and a phrase enclosed in square brackets (``[ ]``) means " -"zero or one occurrences (in other words, the enclosed phrase is optional). " -"The ``*`` and ``+`` operators bind as tightly as possible; parentheses are " -"used for grouping. Literal strings are enclosed in quotes. White space is " -"only meaningful to separate tokens. Rules are normally contained on a single" -" line; rules with many alternatives may be formatted alternatively with each" -" line after the first beginning with a vertical bar." -msgstr "" - -#: ../../reference/introduction.rst:120 -msgid "" -"In lexical definitions (as the example above), two more conventions are " -"used: Two literal characters separated by three dots mean a choice of any " -"single character in the given (inclusive) range of ASCII characters. A " -"phrase between angular brackets (``<...>``) gives an informal description of" -" the symbol defined; e.g., this could be used to describe the notion of " -"'control character' if needed." -msgstr "" - -#: ../../reference/introduction.rst:127 -msgid "" -"Even though the notation used is almost the same, there is a big difference " -"between the meaning of lexical and syntactic definitions: a lexical " -"definition operates on the individual characters of the input source, while " -"a syntax definition operates on the stream of tokens generated by the " -"lexical analysis. All uses of BNF in the next chapter (\"Lexical Analysis\")" -" are lexical definitions; uses in subsequent chapters are syntactic " -"definitions." -msgstr "" - -#: ../../reference/introduction.rst:91 -msgid "BNF" -msgstr "" - -#: ../../reference/introduction.rst:91 -msgid "grammar" -msgstr "" - -#: ../../reference/introduction.rst:91 -msgid "syntax" -msgstr "" - -#: ../../reference/introduction.rst:91 -msgid "notation" -msgstr "" - -#: ../../reference/introduction.rst:118 -msgid "lexical definitions" -msgstr "" - -#: ../../reference/introduction.rst:118 -msgid "ASCII" -msgstr "" diff --git a/python-newest.reference--lexical_analysis/id.po b/python-newest.reference--lexical_analysis/id.po deleted file mode 100644 index b87c4ee..0000000 --- a/python-newest.reference--lexical_analysis/id.po +++ /dev/null @@ -1,1802 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2023 -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../reference/lexical_analysis.rst:6 -msgid "Lexical analysis" -msgstr "" - -#: ../../reference/lexical_analysis.rst:10 -msgid "" -"A Python program is read by a *parser*. Input to the parser is a stream of " -":term:`tokens `, generated by the *lexical analyzer* (also known as " -"the *tokenizer*). This chapter describes how the lexical analyzer breaks a " -"file into tokens." -msgstr "" - -#: ../../reference/lexical_analysis.rst:15 -msgid "" -"Python reads program text as Unicode code points; the encoding of a source " -"file can be given by an encoding declaration and defaults to UTF-8, see " -":pep:`3120` for details. If the source file cannot be decoded, a " -":exc:`SyntaxError` is raised." -msgstr "" - -#: ../../reference/lexical_analysis.rst:24 -msgid "Line structure" -msgstr "" - -#: ../../reference/lexical_analysis.rst:28 -msgid "A Python program is divided into a number of *logical lines*." -msgstr "" - -#: ../../reference/lexical_analysis.rst:34 -msgid "Logical lines" -msgstr "" - -#: ../../reference/lexical_analysis.rst:38 -msgid "" -"The end of a logical line is represented by the token " -":data:`~token.NEWLINE`. Statements cannot cross logical line boundaries " -"except where :data:`!NEWLINE` is allowed by the syntax (e.g., between " -"statements in compound statements). A logical line is constructed from one " -"or more *physical lines* by following the explicit or implicit *line " -"joining* rules." -msgstr "" - -#: ../../reference/lexical_analysis.rst:48 -msgid "Physical lines" -msgstr "" - -#: ../../reference/lexical_analysis.rst:50 -msgid "" -"A physical line is a sequence of characters terminated by an end-of-line " -"sequence. In source files and strings, any of the standard platform line " -"termination sequences can be used - the Unix form using ASCII LF (linefeed)," -" the Windows form using the ASCII sequence CR LF (return followed by " -"linefeed), or the old Macintosh form using the ASCII CR (return) character." -" All of these forms can be used equally, regardless of platform. The end of" -" input also serves as an implicit terminator for the final physical line." -msgstr "" - -#: ../../reference/lexical_analysis.rst:58 -msgid "" -"When embedding Python, source code strings should be passed to Python APIs " -"using the standard C conventions for newline characters (the ``\\n`` " -"character, representing ASCII LF, is the line terminator)." -msgstr "" - -#: ../../reference/lexical_analysis.rst:66 -msgid "Comments" -msgstr "" - -#: ../../reference/lexical_analysis.rst:71 -msgid "" -"A comment starts with a hash character (``#``) that is not part of a string " -"literal, and ends at the end of the physical line. A comment signifies the " -"end of the logical line unless the implicit line joining rules are invoked. " -"Comments are ignored by the syntax." -msgstr "" - -#: ../../reference/lexical_analysis.rst:80 -msgid "Encoding declarations" -msgstr "" - -#: ../../reference/lexical_analysis.rst:85 -msgid "" -"If a comment in the first or second line of the Python script matches the " -"regular expression ``coding[=:]\\s*([-\\w.]+)``, this comment is processed " -"as an encoding declaration; the first group of this expression names the " -"encoding of the source code file. The encoding declaration must appear on a " -"line of its own. If it is the second line, the first line must also be a " -"comment-only line. The recommended forms of an encoding expression are ::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:92 -msgid "# -*- coding: -*-" -msgstr "" - -#: ../../reference/lexical_analysis.rst:94 -msgid "which is recognized also by GNU Emacs, and ::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:96 -msgid "# vim:fileencoding=" -msgstr "" - -#: ../../reference/lexical_analysis.rst:98 -msgid "which is recognized by Bram Moolenaar's VIM." -msgstr "" - -#: ../../reference/lexical_analysis.rst:100 -msgid "" -"If no encoding declaration is found, the default encoding is UTF-8. If the " -"implicit or explicit encoding of a file is UTF-8, an initial UTF-8 byte-" -"order mark (``b'\\xef\\xbb\\xbf'``) is ignored rather than being a syntax " -"error." -msgstr "" - -#: ../../reference/lexical_analysis.rst:104 -msgid "" -"If an encoding is declared, the encoding name must be recognized by Python " -"(see :ref:`standard-encodings`). The encoding is used for all lexical " -"analysis, including string literals, comments and identifiers." -msgstr "" - -#: ../../reference/lexical_analysis.rst:113 -msgid "Explicit line joining" -msgstr "" - -#: ../../reference/lexical_analysis.rst:117 -msgid "" -"Two or more physical lines may be joined into logical lines using backslash " -"characters (``\\``), as follows: when a physical line ends in a backslash " -"that is not part of a string literal or comment, it is joined with the " -"following forming a single logical line, deleting the backslash and the " -"following end-of-line character. For example::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:123 -msgid "" -"if 1900 < year < 2100 and 1 <= month <= 12 \\\n" -" and 1 <= day <= 31 and 0 <= hour < 24 \\\n" -" and 0 <= minute < 60 and 0 <= second < 60: # Looks like a valid date\n" -" return 1" -msgstr "" - -#: ../../reference/lexical_analysis.rst:128 -msgid "" -"A line ending in a backslash cannot carry a comment. A backslash does not " -"continue a comment. A backslash does not continue a token except for string" -" literals (i.e., tokens other than string literals cannot be split across " -"physical lines using a backslash). A backslash is illegal elsewhere on a " -"line outside a string literal." -msgstr "" - -#: ../../reference/lexical_analysis.rst:138 -msgid "Implicit line joining" -msgstr "" - -#: ../../reference/lexical_analysis.rst:140 -msgid "" -"Expressions in parentheses, square brackets or curly braces can be split " -"over more than one physical line without using backslashes. For example::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:143 -msgid "" -"month_names = ['Januari', 'Februari', 'Maart', # These are the\n" -" 'April', 'Mei', 'Juni', # Dutch names\n" -" 'Juli', 'Augustus', 'September', # for the months\n" -" 'Oktober', 'November', 'December'] # of the year" -msgstr "" - -#: ../../reference/lexical_analysis.rst:148 -msgid "" -"Implicitly continued lines can carry comments. The indentation of the " -"continuation lines is not important. Blank continuation lines are allowed. " -"There is no NEWLINE token between implicit continuation lines. Implicitly " -"continued lines can also occur within triple-quoted strings (see below); in " -"that case they cannot carry comments." -msgstr "" - -#: ../../reference/lexical_analysis.rst:158 -msgid "Blank lines" -msgstr "" - -#: ../../reference/lexical_analysis.rst:162 -msgid "" -"A logical line that contains only spaces, tabs, formfeeds and possibly a " -"comment, is ignored (i.e., no :data:`~token.NEWLINE` token is generated). " -"During interactive input of statements, handling of a blank line may differ " -"depending on the implementation of the read-eval-print loop. In the standard" -" interactive interpreter, an entirely blank logical line (that is, one " -"containing not even whitespace or a comment) terminates a multi-line " -"statement." -msgstr "" - -#: ../../reference/lexical_analysis.rst:174 -msgid "Indentation" -msgstr "" - -#: ../../reference/lexical_analysis.rst:178 -msgid "" -"Leading whitespace (spaces and tabs) at the beginning of a logical line is " -"used to compute the indentation level of the line, which in turn is used to " -"determine the grouping of statements." -msgstr "" - -#: ../../reference/lexical_analysis.rst:182 -msgid "" -"Tabs are replaced (from left to right) by one to eight spaces such that the " -"total number of characters up to and including the replacement is a multiple" -" of eight (this is intended to be the same rule as used by Unix). The total" -" number of spaces preceding the first non-blank character then determines " -"the line's indentation. Indentation cannot be split over multiple physical " -"lines using backslashes; the whitespace up to the first backslash determines" -" the indentation." -msgstr "" - -#: ../../reference/lexical_analysis.rst:190 -msgid "" -"Indentation is rejected as inconsistent if a source file mixes tabs and " -"spaces in a way that makes the meaning dependent on the worth of a tab in " -"spaces; a :exc:`TabError` is raised in that case." -msgstr "" - -#: ../../reference/lexical_analysis.rst:194 -msgid "" -"**Cross-platform compatibility note:** because of the nature of text editors" -" on non-UNIX platforms, it is unwise to use a mixture of spaces and tabs for" -" the indentation in a single source file. It should also be noted that " -"different platforms may explicitly limit the maximum indentation level." -msgstr "" - -#: ../../reference/lexical_analysis.rst:199 -msgid "" -"A formfeed character may be present at the start of the line; it will be " -"ignored for the indentation calculations above. Formfeed characters " -"occurring elsewhere in the leading whitespace have an undefined effect (for " -"instance, they may reset the space count to zero)." -msgstr "" - -#: ../../reference/lexical_analysis.rst:206 -msgid "" -"The indentation levels of consecutive lines are used to generate " -":data:`~token.INDENT` and :data:`~token.DEDENT` tokens, using a stack, as " -"follows." -msgstr "" - -#: ../../reference/lexical_analysis.rst:210 -msgid "" -"Before the first line of the file is read, a single zero is pushed on the " -"stack; this will never be popped off again. The numbers pushed on the stack" -" will always be strictly increasing from bottom to top. At the beginning of" -" each logical line, the line's indentation level is compared to the top of " -"the stack. If it is equal, nothing happens. If it is larger, it is pushed on" -" the stack, and one :data:`!INDENT` token is generated. If it is smaller, " -"it *must* be one of the numbers occurring on the stack; all numbers on the " -"stack that are larger are popped off, and for each number popped off a " -":data:`!DEDENT` token is generated. At the end of the file, a " -":data:`!DEDENT` token is generated for each number remaining on the stack " -"that is larger than zero." -msgstr "" - -#: ../../reference/lexical_analysis.rst:221 -msgid "" -"Here is an example of a correctly (though confusingly) indented piece of " -"Python code::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:224 -msgid "" -"def perm(l):\n" -" # Compute the list of all permutations of l\n" -" if len(l) <= 1:\n" -" return [l]\n" -" r = []\n" -" for i in range(len(l)):\n" -" s = l[:i] + l[i+1:]\n" -" p = perm(s)\n" -" for x in p:\n" -" r.append(l[i:i+1] + x)\n" -" return r" -msgstr "" - -#: ../../reference/lexical_analysis.rst:236 -msgid "The following example shows various indentation errors::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:238 -msgid "" -" def perm(l): # error: first line indented\n" -"for i in range(len(l)): # error: not indented\n" -" s = l[:i] + l[i+1:]\n" -" p = perm(l[:i] + l[i+1:]) # error: unexpected indent\n" -" for x in p:\n" -" r.append(l[i:i+1] + x)\n" -" return r # error: inconsistent dedent" -msgstr "" - -#: ../../reference/lexical_analysis.rst:246 -msgid "" -"(Actually, the first three errors are detected by the parser; only the last " -"error is found by the lexical analyzer --- the indentation of ``return r`` " -"does not match a level popped off the stack.)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:254 -msgid "Whitespace between tokens" -msgstr "" - -#: ../../reference/lexical_analysis.rst:256 -msgid "" -"Except at the beginning of a logical line or in string literals, the " -"whitespace characters space, tab and formfeed can be used interchangeably to" -" separate tokens. Whitespace is needed between two tokens only if their " -"concatenation could otherwise be interpreted as a different token. For " -"example, ``ab`` is one token, but ``a b`` is two tokens. However, ``+a`` and" -" ``+ a`` both produce two tokens, ``+`` and ``a``, as ``+a`` is not a valid " -"token." -msgstr "" - -#: ../../reference/lexical_analysis.rst:267 -msgid "End marker" -msgstr "" - -#: ../../reference/lexical_analysis.rst:269 -msgid "" -"At the end of non-interactive input, the lexical analyzer generates an " -":data:`~token.ENDMARKER` token." -msgstr "" - -#: ../../reference/lexical_analysis.rst:276 -msgid "Other tokens" -msgstr "" - -#: ../../reference/lexical_analysis.rst:278 -msgid "" -"Besides :data:`~token.NEWLINE`, :data:`~token.INDENT` and " -":data:`~token.DEDENT`, the following categories of tokens exist: " -"*identifiers* and *keywords* (:data:`~token.NAME`), *literals* (such as " -":data:`~token.NUMBER` and :data:`~token.STRING`), and other symbols " -"(*operators* and *delimiters*, :data:`~token.OP`). Whitespace characters " -"(other than logical line terminators, discussed earlier) are not tokens, but" -" serve to delimit tokens. Where ambiguity exists, a token comprises the " -"longest possible string that forms a legal token, when read from left to " -"right." -msgstr "" - -#: ../../reference/lexical_analysis.rst:292 -msgid "Identifiers and keywords" -msgstr "" - -#: ../../reference/lexical_analysis.rst:296 -msgid "" -"Identifiers (also referred to as *names*) are described by the following " -"lexical definitions." -msgstr "" - -#: ../../reference/lexical_analysis.rst:299 -msgid "" -"The syntax of identifiers in Python is based on the Unicode standard annex " -"UAX-31, with elaboration and changes as defined below; see also :pep:`3131` " -"for further details." -msgstr "" - -#: ../../reference/lexical_analysis.rst:303 -msgid "" -"Within the ASCII range (U+0001..U+007F), the valid characters for " -"identifiers include the uppercase and lowercase letters ``A`` through ``Z``," -" the underscore ``_`` and, except for the first character, the digits ``0`` " -"through ``9``. Python 3.0 introduced additional characters from outside the " -"ASCII range (see :pep:`3131`). For these characters, the classification " -"uses the version of the Unicode Character Database as included in the " -":mod:`unicodedata` module." -msgstr "" - -#: ../../reference/lexical_analysis.rst:311 -msgid "Identifiers are unlimited in length. Case is significant." -msgstr "" - -#: ../../reference/lexical_analysis.rst:320 -msgid "The Unicode category codes mentioned above stand for:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:322 -msgid "*Lu* - uppercase letters" -msgstr "" - -#: ../../reference/lexical_analysis.rst:323 -msgid "*Ll* - lowercase letters" -msgstr "" - -#: ../../reference/lexical_analysis.rst:324 -msgid "*Lt* - titlecase letters" -msgstr "" - -#: ../../reference/lexical_analysis.rst:325 -msgid "*Lm* - modifier letters" -msgstr "" - -#: ../../reference/lexical_analysis.rst:326 -msgid "*Lo* - other letters" -msgstr "" - -#: ../../reference/lexical_analysis.rst:327 -msgid "*Nl* - letter numbers" -msgstr "" - -#: ../../reference/lexical_analysis.rst:328 -msgid "*Mn* - nonspacing marks" -msgstr "" - -#: ../../reference/lexical_analysis.rst:329 -msgid "*Mc* - spacing combining marks" -msgstr "" - -#: ../../reference/lexical_analysis.rst:330 -msgid "*Nd* - decimal numbers" -msgstr "" - -#: ../../reference/lexical_analysis.rst:331 -msgid "*Pc* - connector punctuations" -msgstr "" - -#: ../../reference/lexical_analysis.rst:332 -msgid "" -"*Other_ID_Start* - explicit list of characters in `PropList.txt " -"`_ to support " -"backwards compatibility" -msgstr "" - -#: ../../reference/lexical_analysis.rst:335 -msgid "*Other_ID_Continue* - likewise" -msgstr "" - -#: ../../reference/lexical_analysis.rst:337 -msgid "" -"All identifiers are converted into the normal form NFKC while parsing; " -"comparison of identifiers is based on NFKC." -msgstr "" - -#: ../../reference/lexical_analysis.rst:340 -msgid "" -"A non-normative HTML file listing all valid identifier characters for " -"Unicode 16.0.0 can be found at " -"https://www.unicode.org/Public/16.0.0/ucd/DerivedCoreProperties.txt" -msgstr "" - -#: ../../reference/lexical_analysis.rst:348 -msgid "Keywords" -msgstr "" - -#: ../../reference/lexical_analysis.rst:354 -msgid "" -"The following identifiers are used as reserved words, or *keywords* of the " -"language, and cannot be used as ordinary identifiers. They must be spelled " -"exactly as written here:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:358 -msgid "" -"False await else import pass\n" -"None break except in raise\n" -"True class finally is return\n" -"and continue for lambda try\n" -"as def from nonlocal while\n" -"assert del global not with\n" -"async elif if or yield" -msgstr "" - -#: ../../reference/lexical_analysis.rst:372 -msgid "Soft Keywords" -msgstr "" - -#: ../../reference/lexical_analysis.rst:378 -msgid "" -"Some identifiers are only reserved under specific contexts. These are known " -"as *soft keywords*. The identifiers ``match``, ``case``, ``type`` and ``_``" -" can syntactically act as keywords in certain contexts, but this distinction" -" is done at the parser level, not when tokenizing." -msgstr "" - -#: ../../reference/lexical_analysis.rst:383 -msgid "" -"As soft keywords, their use in the grammar is possible while still " -"preserving compatibility with existing code that uses these names as " -"identifier names." -msgstr "" - -#: ../../reference/lexical_analysis.rst:387 -msgid "" -"``match``, ``case``, and ``_`` are used in the :keyword:`match` statement. " -"``type`` is used in the :keyword:`type` statement." -msgstr "" - -#: ../../reference/lexical_analysis.rst:390 -msgid "``type`` is now a soft keyword." -msgstr "" - -#: ../../reference/lexical_analysis.rst:399 -msgid "Reserved classes of identifiers" -msgstr "" - -#: ../../reference/lexical_analysis.rst:401 -msgid "" -"Certain classes of identifiers (besides keywords) have special meanings. " -"These classes are identified by the patterns of leading and trailing " -"underscore characters:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:405 -msgid "``_*``" -msgstr "" - -#: ../../reference/lexical_analysis.rst:406 -msgid "Not imported by ``from module import *``." -msgstr "" - -#: ../../reference/lexical_analysis.rst:408 -msgid "``_``" -msgstr "" - -#: ../../reference/lexical_analysis.rst:409 -msgid "" -"In a ``case`` pattern within a :keyword:`match` statement, ``_`` is a " -":ref:`soft keyword ` that denotes a :ref:`wildcard `." -msgstr "" - -#: ../../reference/lexical_analysis.rst:413 -msgid "" -"Separately, the interactive interpreter makes the result of the last " -"evaluation available in the variable ``_``. (It is stored in the " -":mod:`builtins` module, alongside built-in functions like ``print``.)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:418 -msgid "" -"Elsewhere, ``_`` is a regular identifier. It is often used to name " -"\"special\" items, but it is not special to Python itself." -msgstr "" - -#: ../../reference/lexical_analysis.rst:423 -msgid "" -"The name ``_`` is often used in conjunction with internationalization; refer" -" to the documentation for the :mod:`gettext` module for more information on " -"this convention." -msgstr "" - -#: ../../reference/lexical_analysis.rst:427 -msgid "It is also commonly used for unused variables." -msgstr "" - -#: ../../reference/lexical_analysis.rst:429 -msgid "``__*__``" -msgstr "" - -#: ../../reference/lexical_analysis.rst:430 -msgid "" -"System-defined names, informally known as \"dunder\" names. These names are " -"defined by the interpreter and its implementation (including the standard " -"library). Current system names are discussed in the :ref:`specialnames` " -"section and elsewhere. More will likely be defined in future versions of " -"Python. *Any* use of ``__*__`` names, in any context, that does not follow " -"explicitly documented use, is subject to breakage without warning." -msgstr "" - -#: ../../reference/lexical_analysis.rst:437 -msgid "``__*``" -msgstr "" - -#: ../../reference/lexical_analysis.rst:438 -msgid "" -"Class-private names. Names in this category, when used within the context " -"of a class definition, are re-written to use a mangled form to help avoid " -"name clashes between \"private\" attributes of base and derived classes. See" -" section :ref:`atom-identifiers`." -msgstr "" - -#: ../../reference/lexical_analysis.rst:447 -msgid "Literals" -msgstr "" - -#: ../../reference/lexical_analysis.rst:451 -msgid "Literals are notations for constant values of some built-in types." -msgstr "" - -#: ../../reference/lexical_analysis.rst:462 -msgid "String and Bytes literals" -msgstr "" - -#: ../../reference/lexical_analysis.rst:464 -msgid "String literals are described by the following lexical definitions:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:489 -msgid "" -"One syntactic restriction not indicated by these productions is that " -"whitespace is not allowed between the :token:`~python-grammar:stringprefix` " -"or :token:`~python-grammar:bytesprefix` and the rest of the literal. The " -"source character set is defined by the encoding declaration; it is UTF-8 if " -"no encoding declaration is given in the source file; see section " -":ref:`encodings`." -msgstr "" - -#: ../../reference/lexical_analysis.rst:499 -msgid "" -"In plain English: Both types of literals can be enclosed in matching single " -"quotes (``'``) or double quotes (``\"``). They can also be enclosed in " -"matching groups of three single or double quotes (these are generally " -"referred to as *triple-quoted strings*). The backslash (``\\``) character is" -" used to give special meaning to otherwise ordinary characters like ``n``, " -"which means 'newline' when escaped (``\\n``). It can also be used to escape " -"characters that otherwise have a special meaning, such as newline, backslash" -" itself, or the quote character. See :ref:`escape sequences ` below for examples." -msgstr "" - -#: ../../reference/lexical_analysis.rst:512 -msgid "" -"Bytes literals are always prefixed with ``'b'`` or ``'B'``; they produce an " -"instance of the :class:`bytes` type instead of the :class:`str` type. They " -"may only contain ASCII characters; bytes with a numeric value of 128 or " -"greater must be expressed with escapes." -msgstr "" - -#: ../../reference/lexical_analysis.rst:521 -msgid "" -"Both string and bytes literals may optionally be prefixed with a letter " -"``'r'`` or ``'R'``; such constructs are called :dfn:`raw string literals` " -"and :dfn:`raw bytes literals` respectively and treat backslashes as literal " -"characters. As a result, in raw string literals, ``'\\U'`` and ``'\\u'`` " -"escapes are not treated specially." -msgstr "" - -#: ../../reference/lexical_analysis.rst:527 -msgid "" -"The ``'rb'`` prefix of raw bytes literals has been added as a synonym of " -"``'br'``." -msgstr "" - -#: ../../reference/lexical_analysis.rst:531 -msgid "" -"Support for the unicode legacy literal (``u'value'``) was reintroduced to " -"simplify the maintenance of dual Python 2.x and 3.x codebases. See " -":pep:`414` for more information." -msgstr "" - -#: ../../reference/lexical_analysis.rst:539 -msgid "" -"A string literal with ``'f'`` or ``'F'`` in its prefix is a :dfn:`formatted " -"string literal`; see :ref:`f-strings`. The ``'f'`` may be combined with " -"``'r'``, but not with ``'b'`` or ``'u'``, therefore raw formatted strings " -"are possible, but formatted bytes literals are not." -msgstr "" - -#: ../../reference/lexical_analysis.rst:544 -msgid "" -"In triple-quoted literals, unescaped newlines and quotes are allowed (and " -"are retained), except that three unescaped quotes in a row terminate the " -"literal. (A \"quote\" is the character used to open the literal, i.e. " -"either ``'`` or ``\"``.)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:567 -msgid "Escape sequences" -msgstr "" - -#: ../../reference/lexical_analysis.rst:569 -msgid "" -"Unless an ``'r'`` or ``'R'`` prefix is present, escape sequences in string " -"and bytes literals are interpreted according to rules similar to those used " -"by Standard C. The recognized escape sequences are:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:574 -#: ../../reference/lexical_analysis.rst:607 -msgid "Escape Sequence" -msgstr "" - -#: ../../reference/lexical_analysis.rst:574 -#: ../../reference/lexical_analysis.rst:607 -msgid "Meaning" -msgstr "Artinya" - -#: ../../reference/lexical_analysis.rst:574 -#: ../../reference/lexical_analysis.rst:607 -msgid "Notes" -msgstr "Catatan" - -#: ../../reference/lexical_analysis.rst:576 -msgid "``\\``\\ " -msgstr "" - -#: ../../reference/lexical_analysis.rst:576 -msgid "Backslash and newline ignored" -msgstr "" - -#: ../../reference/lexical_analysis.rst:576 -msgid "\\(1)" -msgstr "\\(1)" - -#: ../../reference/lexical_analysis.rst:578 -msgid "``\\\\``" -msgstr "" - -#: ../../reference/lexical_analysis.rst:578 -msgid "Backslash (``\\``)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:580 -msgid "``\\'``" -msgstr "" - -#: ../../reference/lexical_analysis.rst:580 -msgid "Single quote (``'``)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:582 -msgid "``\\\"``" -msgstr "" - -#: ../../reference/lexical_analysis.rst:582 -msgid "Double quote (``\"``)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:584 -msgid "``\\a``" -msgstr "" - -#: ../../reference/lexical_analysis.rst:584 -msgid "ASCII Bell (BEL)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:586 -msgid "``\\b``" -msgstr "``\\b``" - -#: ../../reference/lexical_analysis.rst:586 -msgid "ASCII Backspace (BS)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:588 -msgid "``\\f``" -msgstr "" - -#: ../../reference/lexical_analysis.rst:588 -msgid "ASCII Formfeed (FF)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:590 -msgid "``\\n``" -msgstr "``\\n``" - -#: ../../reference/lexical_analysis.rst:590 -msgid "ASCII Linefeed (LF)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:592 -msgid "``\\r``" -msgstr "``\\r``" - -#: ../../reference/lexical_analysis.rst:592 -msgid "ASCII Carriage Return (CR)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:594 -msgid "``\\t``" -msgstr "" - -#: ../../reference/lexical_analysis.rst:594 -msgid "ASCII Horizontal Tab (TAB)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:596 -msgid "``\\v``" -msgstr "" - -#: ../../reference/lexical_analysis.rst:596 -msgid "ASCII Vertical Tab (VT)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:598 -msgid ":samp:`\\\\\\\\{ooo}`" -msgstr "" - -#: ../../reference/lexical_analysis.rst:598 -msgid "Character with octal value *ooo*" -msgstr "" - -#: ../../reference/lexical_analysis.rst:598 -msgid "(2,4)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:601 -msgid ":samp:`\\\\x{hh}`" -msgstr "" - -#: ../../reference/lexical_analysis.rst:601 -msgid "Character with hex value *hh*" -msgstr "" - -#: ../../reference/lexical_analysis.rst:601 -msgid "(3,4)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:604 -msgid "Escape sequences only recognized in string literals are:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:609 -msgid ":samp:`\\\\N\\\\{{name}\\\\}`" -msgstr "" - -#: ../../reference/lexical_analysis.rst:609 -msgid "Character named *name* in the Unicode database" -msgstr "" - -#: ../../reference/lexical_analysis.rst:609 -msgid "\\(5)" -msgstr "\\(5)" - -#: ../../reference/lexical_analysis.rst:612 -msgid ":samp:`\\\\u{xxxx}`" -msgstr "" - -#: ../../reference/lexical_analysis.rst:612 -msgid "Character with 16-bit hex value *xxxx*" -msgstr "" - -#: ../../reference/lexical_analysis.rst:612 -msgid "\\(6)" -msgstr "\\(6)" - -#: ../../reference/lexical_analysis.rst:615 -msgid ":samp:`\\\\U{xxxxxxxx}`" -msgstr "" - -#: ../../reference/lexical_analysis.rst:615 -msgid "Character with 32-bit hex value *xxxxxxxx*" -msgstr "" - -#: ../../reference/lexical_analysis.rst:615 -msgid "\\(7)" -msgstr "\\(7)" - -#: ../../reference/lexical_analysis.rst:619 -msgid "Notes:" -msgstr "Catatan:" - -#: ../../reference/lexical_analysis.rst:622 -msgid "A backslash can be added at the end of a line to ignore the newline::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:624 -msgid "" -">>> 'This string will not include \\\n" -"... backslashes or newline characters.'\n" -"'This string will not include backslashes or newline characters.'" -msgstr "" - -#: ../../reference/lexical_analysis.rst:628 -msgid "" -"The same result can be achieved using :ref:`triple-quoted strings " -"`, or parentheses and :ref:`string literal concatenation `." -msgstr "" - -#: ../../reference/lexical_analysis.rst:633 -msgid "As in Standard C, up to three octal digits are accepted." -msgstr "" - -#: ../../reference/lexical_analysis.rst:635 -msgid "" -"Octal escapes with value larger than ``0o377`` produce a " -":exc:`DeprecationWarning`." -msgstr "" - -#: ../../reference/lexical_analysis.rst:639 -msgid "" -"Octal escapes with value larger than ``0o377`` produce a " -":exc:`SyntaxWarning`. In a future Python version they will be eventually a " -":exc:`SyntaxError`." -msgstr "" - -#: ../../reference/lexical_analysis.rst:645 -msgid "Unlike in Standard C, exactly two hex digits are required." -msgstr "" - -#: ../../reference/lexical_analysis.rst:648 -msgid "" -"In a bytes literal, hexadecimal and octal escapes denote the byte with the " -"given value. In a string literal, these escapes denote a Unicode character " -"with the given value." -msgstr "" - -#: ../../reference/lexical_analysis.rst:653 -msgid "Support for name aliases [#]_ has been added." -msgstr "" - -#: ../../reference/lexical_analysis.rst:657 -msgid "Exactly four hex digits are required." -msgstr "" - -#: ../../reference/lexical_analysis.rst:660 -msgid "" -"Any Unicode character can be encoded this way. Exactly eight hex digits are" -" required." -msgstr "" - -#: ../../reference/lexical_analysis.rst:666 -msgid "" -"Unlike Standard C, all unrecognized escape sequences are left in the string " -"unchanged, i.e., *the backslash is left in the result*. (This behavior is " -"useful when debugging: if an escape sequence is mistyped, the resulting " -"output is more easily recognized as broken.) It is also important to note " -"that the escape sequences only recognized in string literals fall into the " -"category of unrecognized escapes for bytes literals." -msgstr "" - -#: ../../reference/lexical_analysis.rst:673 -msgid "Unrecognized escape sequences produce a :exc:`DeprecationWarning`." -msgstr "" - -#: ../../reference/lexical_analysis.rst:676 -msgid "" -"Unrecognized escape sequences produce a :exc:`SyntaxWarning`. In a future " -"Python version they will be eventually a :exc:`SyntaxError`." -msgstr "" - -#: ../../reference/lexical_analysis.rst:680 -msgid "" -"Even in a raw literal, quotes can be escaped with a backslash, but the " -"backslash remains in the result; for example, ``r\"\\\"\"`` is a valid " -"string literal consisting of two characters: a backslash and a double quote;" -" ``r\"\\\"`` is not a valid string literal (even a raw string cannot end in " -"an odd number of backslashes). Specifically, *a raw literal cannot end in a" -" single backslash* (since the backslash would escape the following quote " -"character). Note also that a single backslash followed by a newline is " -"interpreted as those two characters as part of the literal, *not* as a line " -"continuation." -msgstr "" - -#: ../../reference/lexical_analysis.rst:693 -msgid "String literal concatenation" -msgstr "" - -#: ../../reference/lexical_analysis.rst:695 -msgid "" -"Multiple adjacent string or bytes literals (delimited by whitespace), " -"possibly using different quoting conventions, are allowed, and their meaning" -" is the same as their concatenation. Thus, ``\"hello\" 'world'`` is " -"equivalent to ``\"helloworld\"``. This feature can be used to reduce the " -"number of backslashes needed, to split long strings conveniently across long" -" lines, or even to add comments to parts of strings, for example::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:702 -msgid "" -"re.compile(\"[A-Za-z_]\" # letter or underscore\n" -" \"[A-Za-z0-9_]*\" # letter, digit or underscore\n" -" )" -msgstr "" - -#: ../../reference/lexical_analysis.rst:706 -msgid "" -"Note that this feature is defined at the syntactical level, but implemented " -"at compile time. The '+' operator must be used to concatenate string " -"expressions at run time. Also note that literal concatenation can use " -"different quoting styles for each component (even mixing raw strings and " -"triple quoted strings), and formatted string literals may be concatenated " -"with plain string literals." -msgstr "" - -#: ../../reference/lexical_analysis.rst:729 -msgid "f-strings" -msgstr "" - -#: ../../reference/lexical_analysis.rst:733 -msgid "" -"A :dfn:`formatted string literal` or :dfn:`f-string` is a string literal " -"that is prefixed with ``'f'`` or ``'F'``. These strings may contain " -"replacement fields, which are expressions delimited by curly braces ``{}``. " -"While other string literals always have a constant value, formatted strings " -"are really expressions evaluated at run time." -msgstr "" - -#: ../../reference/lexical_analysis.rst:739 -msgid "" -"Escape sequences are decoded like in ordinary string literals (except when a" -" literal is also marked as a raw string). After decoding, the grammar for " -"the contents of the string is:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:753 -msgid "" -"The parts of the string outside curly braces are treated literally, except " -"that any doubled curly braces ``'{{'`` or ``'}}'`` are replaced with the " -"corresponding single curly brace. A single opening curly bracket ``'{'`` " -"marks a replacement field, which starts with a Python expression. To display" -" both the expression text and its value after evaluation, (useful in " -"debugging), an equal sign ``'='`` may be added after the expression. A " -"conversion field, introduced by an exclamation point ``'!'`` may follow. A " -"format specifier may also be appended, introduced by a colon ``':'``. A " -"replacement field ends with a closing curly bracket ``'}'``." -msgstr "" - -#: ../../reference/lexical_analysis.rst:763 -msgid "" -"Expressions in formatted string literals are treated like regular Python " -"expressions surrounded by parentheses, with a few exceptions. An empty " -"expression is not allowed, and both :keyword:`lambda` and assignment " -"expressions ``:=`` must be surrounded by explicit parentheses. Each " -"expression is evaluated in the context where the formatted string literal " -"appears, in order from left to right. Replacement expressions can contain " -"newlines in both single-quoted and triple-quoted f-strings and they can " -"contain comments. Everything that comes after a ``#`` inside a replacement " -"field is a comment (even closing braces and quotes). In that case, " -"replacement fields must be closed in a different line." -msgstr "" - -#: ../../reference/lexical_analysis.rst:774 -msgid "" -">>> f\"abc{a # This is a comment }\"\n" -"... + 3}\"\n" -"'abc5'" -msgstr "" - -#: ../../reference/lexical_analysis.rst:780 -msgid "" -"Prior to Python 3.7, an :keyword:`await` expression and comprehensions " -"containing an :keyword:`async for` clause were illegal in the expressions in" -" formatted string literals due to a problem with the implementation." -msgstr "" - -#: ../../reference/lexical_analysis.rst:785 -msgid "" -"Prior to Python 3.12, comments were not allowed inside f-string replacement " -"fields." -msgstr "" - -#: ../../reference/lexical_analysis.rst:789 -msgid "" -"When the equal sign ``'='`` is provided, the output will have the expression" -" text, the ``'='`` and the evaluated value. Spaces after the opening brace " -"``'{'``, within the expression and after the ``'='`` are all retained in the" -" output. By default, the ``'='`` causes the :func:`repr` of the expression " -"to be provided, unless there is a format specified. When a format is " -"specified it defaults to the :func:`str` of the expression unless a " -"conversion ``'!r'`` is declared." -msgstr "" - -#: ../../reference/lexical_analysis.rst:797 -msgid "The equal sign ``'='``." -msgstr "" - -#: ../../reference/lexical_analysis.rst:800 -msgid "" -"If a conversion is specified, the result of evaluating the expression is " -"converted before formatting. Conversion ``'!s'`` calls :func:`str` on the " -"result, ``'!r'`` calls :func:`repr`, and ``'!a'`` calls :func:`ascii`." -msgstr "" - -#: ../../reference/lexical_analysis.rst:804 -msgid "" -"The result is then formatted using the :func:`format` protocol. The format " -"specifier is passed to the :meth:`~object.__format__` method of the " -"expression or conversion result. An empty string is passed when the format " -"specifier is omitted. The formatted result is then included in the final " -"value of the whole string." -msgstr "" - -#: ../../reference/lexical_analysis.rst:810 -msgid "" -"Top-level format specifiers may include nested replacement fields. These " -"nested fields may include their own conversion fields and :ref:`format " -"specifiers `, but may not include more deeply nested replacement" -" fields. The :ref:`format specifier mini-language ` is the same " -"as that used by the :meth:`str.format` method." -msgstr "" - -#: ../../reference/lexical_analysis.rst:816 -msgid "" -"Formatted string literals may be concatenated, but replacement fields cannot" -" be split across literals." -msgstr "" - -#: ../../reference/lexical_analysis.rst:819 -msgid "Some examples of formatted string literals::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:821 -msgid "" -">>> name = \"Fred\"\n" -">>> f\"He said his name is {name!r}.\"\n" -"\"He said his name is 'Fred'.\"\n" -">>> f\"He said his name is {repr(name)}.\" # repr() is equivalent to !r\n" -"\"He said his name is 'Fred'.\"\n" -">>> width = 10\n" -">>> precision = 4\n" -">>> value = decimal.Decimal(\"12.34567\")\n" -">>> f\"result: {value:{width}.{precision}}\" # nested fields\n" -"'result: 12.35'\n" -">>> today = datetime(year=2017, month=1, day=27)\n" -">>> f\"{today:%B %d, %Y}\" # using date format specifier\n" -"'January 27, 2017'\n" -">>> f\"{today=:%B %d, %Y}\" # using date format specifier and debugging\n" -"'today=January 27, 2017'\n" -">>> number = 1024\n" -">>> f\"{number:#0x}\" # using integer format specifier\n" -"'0x400'\n" -">>> foo = \"bar\"\n" -">>> f\"{ foo = }\" # preserves whitespace\n" -"\" foo = 'bar'\"\n" -">>> line = \"The mill's closed\"\n" -">>> f\"{line = }\"\n" -"'line = \"The mill\\'s closed\"'\n" -">>> f\"{line = :20}\"\n" -"\"line = The mill's closed \"\n" -">>> f\"{line = !r:20}\"\n" -"'line = \"The mill\\'s closed\" '" -msgstr "" - -#: ../../reference/lexical_analysis.rst:851 -msgid "" -"Reusing the outer f-string quoting type inside a replacement field is " -"permitted::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:854 -msgid "" -">>> a = dict(x=2)\n" -">>> f\"abc {a[\"x\"]} def\"\n" -"'abc 2 def'" -msgstr "" - -#: ../../reference/lexical_analysis.rst:858 -msgid "" -"Prior to Python 3.12, reuse of the same quoting type of the outer f-string " -"inside a replacement field was not possible." -msgstr "" - -#: ../../reference/lexical_analysis.rst:862 -msgid "" -"Backslashes are also allowed in replacement fields and are evaluated the " -"same way as in any other context::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:865 -msgid "" -">>> a = [\"a\", \"b\", \"c\"]\n" -">>> print(f\"List a contains:\\n{\"\\n\".join(a)}\")\n" -"List a contains:\n" -"a\n" -"b\n" -"c" -msgstr "" - -#: ../../reference/lexical_analysis.rst:872 -msgid "" -"Prior to Python 3.12, backslashes were not permitted inside an f-string " -"replacement field." -msgstr "" - -#: ../../reference/lexical_analysis.rst:876 -msgid "" -"Formatted string literals cannot be used as docstrings, even if they do not " -"include expressions." -msgstr "" - -#: ../../reference/lexical_analysis.rst:881 -msgid "" -">>> def foo():\n" -"... f\"Not a docstring\"\n" -"...\n" -">>> foo.__doc__ is None\n" -"True" -msgstr "" - -#: ../../reference/lexical_analysis.rst:887 -msgid "" -"See also :pep:`498` for the proposal that added formatted string literals, " -"and :meth:`str.format`, which uses a related format string mechanism." -msgstr "" - -#: ../../reference/lexical_analysis.rst:894 -msgid "Numeric literals" -msgstr "" - -#: ../../reference/lexical_analysis.rst:900 -msgid "" -"There are three types of numeric literals: integers, floating-point numbers," -" and imaginary numbers. There are no complex literals (complex numbers can " -"be formed by adding a real number and an imaginary number)." -msgstr "" - -#: ../../reference/lexical_analysis.rst:904 -msgid "" -"Note that numeric literals do not include a sign; a phrase like ``-1`` is " -"actually an expression composed of the unary operator '``-``' and the " -"literal ``1``." -msgstr "" - -#: ../../reference/lexical_analysis.rst:918 -msgid "Integer literals" -msgstr "" - -#: ../../reference/lexical_analysis.rst:920 -msgid "Integer literals are described by the following lexical definitions:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:934 -msgid "" -"There is no limit for the length of integer literals apart from what can be " -"stored in available memory." -msgstr "" - -#: ../../reference/lexical_analysis.rst:937 -msgid "" -"Underscores are ignored for determining the numeric value of the literal. " -"They can be used to group digits for enhanced readability. One underscore " -"can occur between digits, and after base specifiers like ``0x``." -msgstr "" - -#: ../../reference/lexical_analysis.rst:941 -msgid "" -"Note that leading zeros in a non-zero decimal number are not allowed. This " -"is for disambiguation with C-style octal literals, which Python used before " -"version 3.0." -msgstr "" - -#: ../../reference/lexical_analysis.rst:945 -msgid "Some examples of integer literals::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:947 -msgid "" -"7 2147483647 0o177 0b100110111\n" -"3 79228162514264337593543950336 0o377 0xdeadbeef\n" -" 100_000_000_000 0b_1110_0101" -msgstr "" - -#: ../../reference/lexical_analysis.rst:951 -#: ../../reference/lexical_analysis.rst:983 -msgid "Underscores are now allowed for grouping purposes in literals." -msgstr "" - -#: ../../reference/lexical_analysis.rst:962 -msgid "Floating-point literals" -msgstr "" - -#: ../../reference/lexical_analysis.rst:964 -msgid "" -"Floating-point literals are described by the following lexical definitions:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:974 -msgid "" -"Note that the integer and exponent parts are always interpreted using radix " -"10. For example, ``077e010`` is legal, and denotes the same number as " -"``77e10``. The allowed range of floating-point literals is implementation-" -"dependent. As in integer literals, underscores are supported for digit " -"grouping." -msgstr "" - -#: ../../reference/lexical_analysis.rst:979 -msgid "Some examples of floating-point literals::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:981 -msgid "3.14 10. .001 1e100 3.14e-10 0e0 3.14_15_93" -msgstr "" - -#: ../../reference/lexical_analysis.rst:992 -msgid "Imaginary literals" -msgstr "" - -#: ../../reference/lexical_analysis.rst:994 -msgid "Imaginary literals are described by the following lexical definitions:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:999 -msgid "" -"An imaginary literal yields a complex number with a real part of 0.0. " -"Complex numbers are represented as a pair of floating-point numbers and have" -" the same restrictions on their range. To create a complex number with a " -"nonzero real part, add a floating-point number to it, e.g., ``(3+4j)``. " -"Some examples of imaginary literals::" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1005 -msgid "3.14j 10.j 10j .001j 1e100j 3.14e-10j 3.14_15_93j" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1011 -msgid "Operators" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1015 -msgid "The following tokens are operators:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1017 -msgid "" -"+ - * ** / // % @\n" -"<< >> & | ^ ~ :=\n" -"< > <= >= == !=" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1028 -msgid "Delimiters" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1032 -msgid "The following tokens serve as delimiters in the grammar:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1034 -msgid "" -"( ) [ ] { }\n" -", : ! . ; @ =\n" -"-> += -= *= /= //= %=\n" -"@= &= |= ^= >>= <<= **=" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1041 -msgid "" -"The period can also occur in floating-point and imaginary literals. A " -"sequence of three periods has a special meaning as an ellipsis literal. The " -"second half of the list, the augmented assignment operators, serve lexically" -" as delimiters, but also perform an operation." -msgstr "" - -#: ../../reference/lexical_analysis.rst:1046 -msgid "" -"The following printing ASCII characters have special meaning as part of " -"other tokens or are otherwise significant to the lexical analyzer:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1049 -msgid "' \" # \\" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1053 -msgid "" -"The following printing ASCII characters are not used in Python. Their " -"occurrence outside string literals and comments is an unconditional error:" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1056 -msgid "$ ? `" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1062 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../reference/lexical_analysis.rst:1063 -msgid "https://www.unicode.org/Public/16.0.0/ucd/NameAliases.txt" -msgstr "" - -#: ../../reference/lexical_analysis.rst:8 -msgid "lexical analysis" -msgstr "" - -#: ../../reference/lexical_analysis.rst:8 -msgid "parser" -msgstr "" - -#: ../../reference/lexical_analysis.rst:8 -msgid "token" -msgstr "" - -#: ../../reference/lexical_analysis.rst:26 -msgid "line structure" -msgstr "" - -#: ../../reference/lexical_analysis.rst:36 -msgid "logical line" -msgstr "" - -#: ../../reference/lexical_analysis.rst:36 -#: ../../reference/lexical_analysis.rst:115 -#: ../../reference/lexical_analysis.rst:548 -msgid "physical line" -msgstr "" - -#: ../../reference/lexical_analysis.rst:36 -#: ../../reference/lexical_analysis.rst:115 -msgid "line joining" -msgstr "" - -#: ../../reference/lexical_analysis.rst:36 -msgid "NEWLINE token" -msgstr "" - -#: ../../reference/lexical_analysis.rst:68 -msgid "comment" -msgstr "" - -#: ../../reference/lexical_analysis.rst:68 -msgid "hash character" -msgstr "" - -#: ../../reference/lexical_analysis.rst:68 -#: ../../reference/lexical_analysis.rst:82 -msgid "# (hash)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:82 -msgid "source character set" -msgstr "" - -#: ../../reference/lexical_analysis.rst:82 -msgid "encoding declarations (source file)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:82 -msgid "source encoding declaration" -msgstr "" - -#: ../../reference/lexical_analysis.rst:115 -msgid "line continuation" -msgstr "" - -#: ../../reference/lexical_analysis.rst:115 -msgid "backslash character" -msgstr "" - -#: ../../reference/lexical_analysis.rst:160 -msgid "blank line" -msgstr "" - -#: ../../reference/lexical_analysis.rst:176 -msgid "indentation" -msgstr "" - -#: ../../reference/lexical_analysis.rst:176 -msgid "leading whitespace" -msgstr "" - -#: ../../reference/lexical_analysis.rst:176 -msgid "space" -msgstr "" - -#: ../../reference/lexical_analysis.rst:176 -msgid "tab" -msgstr "" - -#: ../../reference/lexical_analysis.rst:176 -msgid "grouping" -msgstr "" - -#: ../../reference/lexical_analysis.rst:176 -msgid "statement grouping" -msgstr "" - -#: ../../reference/lexical_analysis.rst:204 -msgid "INDENT token" -msgstr "" - -#: ../../reference/lexical_analysis.rst:204 -msgid "DEDENT token" -msgstr "" - -#: ../../reference/lexical_analysis.rst:294 -msgid "identifier" -msgstr "" - -#: ../../reference/lexical_analysis.rst:294 -msgid "name" -msgstr "nama" - -#: ../../reference/lexical_analysis.rst:350 -#: ../../reference/lexical_analysis.rst:374 -msgid "keyword" -msgstr "" - -#: ../../reference/lexical_analysis.rst:350 -msgid "reserved word" -msgstr "" - -#: ../../reference/lexical_analysis.rst:374 -msgid "soft keyword" -msgstr "" - -#: ../../reference/lexical_analysis.rst:393 -msgid "_, identifiers" -msgstr "" - -#: ../../reference/lexical_analysis.rst:393 -msgid "__, identifiers" -msgstr "" - -#: ../../reference/lexical_analysis.rst:449 -msgid "literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:449 -msgid "constant" -msgstr "" - -#: ../../reference/lexical_analysis.rst:454 -#: ../../reference/lexical_analysis.rst:495 -msgid "string literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:454 -#: ../../reference/lexical_analysis.rst:508 -msgid "bytes literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:454 -msgid "ASCII" -msgstr "" - -#: ../../reference/lexical_analysis.rst:454 -msgid "' (single quote)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:454 -msgid "\" (double quote)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:454 -msgid "u'" -msgstr "" - -#: ../../reference/lexical_analysis.rst:454 -msgid "u\"" -msgstr "" - -#: ../../reference/lexical_analysis.rst:495 -msgid "triple-quoted string" -msgstr "teks tiga-kutip" - -#: ../../reference/lexical_analysis.rst:495 -msgid "Unicode Consortium" -msgstr "" - -#: ../../reference/lexical_analysis.rst:495 -msgid "raw string" -msgstr "" - -#: ../../reference/lexical_analysis.rst:495 -msgid "\"\"\"" -msgstr "" - -#: ../../reference/lexical_analysis.rst:495 -msgid "'''" -msgstr "" - -#: ../../reference/lexical_analysis.rst:508 -msgid "b'" -msgstr "" - -#: ../../reference/lexical_analysis.rst:508 -msgid "b\"" -msgstr "" - -#: ../../reference/lexical_analysis.rst:517 -msgid "r'" -msgstr "" - -#: ../../reference/lexical_analysis.rst:517 -msgid "raw string literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:517 -msgid "r\"" -msgstr "" - -#: ../../reference/lexical_analysis.rst:535 -msgid "f'" -msgstr "" - -#: ../../reference/lexical_analysis.rst:535 -#: ../../reference/lexical_analysis.rst:713 -msgid "formatted string literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:535 -msgid "f\"" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "escape sequence" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "Standard C" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "C" -msgstr "C" - -#: ../../reference/lexical_analysis.rst:548 -msgid "\\ (backslash)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "\\\\" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "\\a" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "\\b" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "\\f" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "\\n" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "\\r" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "\\t" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "\\v" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "\\x" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "\\u" -msgstr "" - -#: ../../reference/lexical_analysis.rst:548 -msgid "\\U" -msgstr "" - -#: ../../reference/lexical_analysis.rst:664 -msgid "unrecognized escape sequence" -msgstr "" - -#: ../../reference/lexical_analysis.rst:713 -msgid "interpolated string literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:713 -msgid "string" -msgstr "string" - -#: ../../reference/lexical_analysis.rst:713 -msgid "formatted literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:713 -msgid "interpolated literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:713 -msgid "f-string" -msgstr "f-string" - -#: ../../reference/lexical_analysis.rst:713 -msgid "fstring" -msgstr "fstring" - -#: ../../reference/lexical_analysis.rst:713 -msgid "{} (curly brackets)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:713 -msgid "in formatted string literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:713 -msgid "! (exclamation)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:713 -msgid ": (colon)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:713 -msgid "= (equals)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:713 -msgid "for help in debugging using string literals" -msgstr "" - -#: ../../reference/lexical_analysis.rst:896 -msgid "number" -msgstr "number" - -#: ../../reference/lexical_analysis.rst:896 -msgid "numeric literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:896 -#: ../../reference/lexical_analysis.rst:909 -msgid "integer literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:896 -msgid "floating-point literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:896 -msgid "hexadecimal literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:896 -msgid "octal literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:896 -msgid "binary literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:896 -msgid "decimal literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:896 -msgid "imaginary literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:896 -msgid "complex literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:909 -msgid "0b" -msgstr "" - -#: ../../reference/lexical_analysis.rst:909 -msgid "0o" -msgstr "" - -#: ../../reference/lexical_analysis.rst:909 -msgid "0x" -msgstr "" - -#: ../../reference/lexical_analysis.rst:909 -#: ../../reference/lexical_analysis.rst:955 -msgid "_ (underscore)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:909 -#: ../../reference/lexical_analysis.rst:955 -#: ../../reference/lexical_analysis.rst:987 -msgid "in numeric literal" -msgstr "" - -#: ../../reference/lexical_analysis.rst:955 -msgid ". (dot)" -msgstr "" - -#: ../../reference/lexical_analysis.rst:955 -msgid "e" -msgstr "" - -#: ../../reference/lexical_analysis.rst:987 -msgid "j" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1013 -msgid "operators" -msgstr "" - -#: ../../reference/lexical_analysis.rst:1030 -msgid "delimiters" -msgstr "" diff --git a/python-newest.reference--simple_stmts/id.po b/python-newest.reference--simple_stmts/id.po deleted file mode 100644 index 8405839..0000000 --- a/python-newest.reference--simple_stmts/id.po +++ /dev/null @@ -1,1742 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2023 -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../reference/simple_stmts.rst:6 -msgid "Simple statements" -msgstr "" - -#: ../../reference/simple_stmts.rst:10 -msgid "" -"A simple statement is comprised within a single logical line. Several simple" -" statements may occur on a single line separated by semicolons. The syntax " -"for simple statements is:" -msgstr "" - -#: ../../reference/simple_stmts.rst:37 -msgid "Expression statements" -msgstr "" - -#: ../../reference/simple_stmts.rst:44 -msgid "" -"Expression statements are used (mostly interactively) to compute and write a" -" value, or (usually) to call a procedure (a function that returns no " -"meaningful result; in Python, procedures return the value ``None``). Other " -"uses of expression statements are allowed and occasionally useful. The " -"syntax for an expression statement is:" -msgstr "" - -#: ../../reference/simple_stmts.rst:53 -msgid "" -"An expression statement evaluates the expression list (which may be a single" -" expression)." -msgstr "" - -#: ../../reference/simple_stmts.rst:65 -msgid "" -"In interactive mode, if the value is not ``None``, it is converted to a " -"string using the built-in :func:`repr` function and the resulting string is " -"written to standard output on a line by itself (except if the result is " -"``None``, so that procedure calls do not cause any output.)" -msgstr "" - -#: ../../reference/simple_stmts.rst:73 -msgid "Assignment statements" -msgstr "" - -#: ../../reference/simple_stmts.rst:83 -msgid "" -"Assignment statements are used to (re)bind names to values and to modify " -"attributes or items of mutable objects:" -msgstr "" - -#: ../../reference/simple_stmts.rst:97 -msgid "" -"(See section :ref:`primaries` for the syntax definitions for *attributeref*," -" *subscription*, and *slicing*.)" -msgstr "" - -#: ../../reference/simple_stmts.rst:100 -msgid "" -"An assignment statement evaluates the expression list (remember that this " -"can be a single expression or a comma-separated list, the latter yielding a " -"tuple) and assigns the single resulting object to each of the target lists, " -"from left to right." -msgstr "" - -#: ../../reference/simple_stmts.rst:109 -msgid "" -"Assignment is defined recursively depending on the form of the target " -"(list). When a target is part of a mutable object (an attribute reference, " -"subscription or slicing), the mutable object must ultimately perform the " -"assignment and decide about its validity, and may raise an exception if the " -"assignment is unacceptable. The rules observed by various types and the " -"exceptions raised are given with the definition of the object types (see " -"section :ref:`types`)." -msgstr "" - -#: ../../reference/simple_stmts.rst:122 -msgid "" -"Assignment of an object to a target list, optionally enclosed in parentheses" -" or square brackets, is recursively defined as follows." -msgstr "" - -#: ../../reference/simple_stmts.rst:125 -msgid "" -"If the target list is a single target with no trailing comma, optionally in " -"parentheses, the object is assigned to that target." -msgstr "" - -#: ../../reference/simple_stmts.rst:128 -msgid "Else:" -msgstr "" - -#: ../../reference/simple_stmts.rst:130 -msgid "" -"If the target list contains one target prefixed with an asterisk, called a " -"\"starred\" target: The object must be an iterable with at least as many " -"items as there are targets in the target list, minus one. The first items " -"of the iterable are assigned, from left to right, to the targets before the " -"starred target. The final items of the iterable are assigned to the targets" -" after the starred target. A list of the remaining items in the iterable is" -" then assigned to the starred target (the list can be empty)." -msgstr "" - -#: ../../reference/simple_stmts.rst:138 -msgid "" -"Else: The object must be an iterable with the same number of items as there " -"are targets in the target list, and the items are assigned, from left to " -"right, to the corresponding targets." -msgstr "" - -#: ../../reference/simple_stmts.rst:142 -msgid "" -"Assignment of an object to a single target is recursively defined as " -"follows." -msgstr "" - -#: ../../reference/simple_stmts.rst:144 -msgid "If the target is an identifier (name):" -msgstr "" - -#: ../../reference/simple_stmts.rst:146 -msgid "" -"If the name does not occur in a :keyword:`global` or :keyword:`nonlocal` " -"statement in the current code block: the name is bound to the object in the " -"current local namespace." -msgstr "" - -#: ../../reference/simple_stmts.rst:150 -msgid "" -"Otherwise: the name is bound to the object in the global namespace or the " -"outer namespace determined by :keyword:`nonlocal`, respectively." -msgstr "" - -#: ../../reference/simple_stmts.rst:155 -msgid "" -"The name is rebound if it was already bound. This may cause the reference " -"count for the object previously bound to the name to reach zero, causing the" -" object to be deallocated and its destructor (if it has one) to be called." -msgstr "" - -#: ../../reference/simple_stmts.rst:161 -msgid "" -"If the target is an attribute reference: The primary expression in the " -"reference is evaluated. It should yield an object with assignable " -"attributes; if this is not the case, :exc:`TypeError` is raised. That " -"object is then asked to assign the assigned object to the given attribute; " -"if it cannot perform the assignment, it raises an exception (usually but not" -" necessarily :exc:`AttributeError`)." -msgstr "" - -#: ../../reference/simple_stmts.rst:170 -msgid "" -"Note: If the object is a class instance and the attribute reference occurs " -"on both sides of the assignment operator, the right-hand side expression, " -"``a.x`` can access either an instance attribute or (if no instance attribute" -" exists) a class attribute. The left-hand side target ``a.x`` is always set" -" as an instance attribute, creating it if necessary. Thus, the two " -"occurrences of ``a.x`` do not necessarily refer to the same attribute: if " -"the right-hand side expression refers to a class attribute, the left-hand " -"side creates a new instance attribute as the target of the assignment::" -msgstr "" - -#: ../../reference/simple_stmts.rst:179 -msgid "" -"class Cls:\n" -" x = 3 # class variable\n" -"inst = Cls()\n" -"inst.x = inst.x + 1 # writes inst.x as 4 leaving Cls.x as 3" -msgstr "" - -#: ../../reference/simple_stmts.rst:184 -msgid "" -"This description does not necessarily apply to descriptor attributes, such " -"as properties created with :func:`property`." -msgstr "" - -#: ../../reference/simple_stmts.rst:191 -msgid "" -"If the target is a subscription: The primary expression in the reference is " -"evaluated. It should yield either a mutable sequence object (such as a " -"list) or a mapping object (such as a dictionary). Next, the subscript " -"expression is evaluated." -msgstr "" - -#: ../../reference/simple_stmts.rst:200 -msgid "" -"If the primary is a mutable sequence object (such as a list), the subscript " -"must yield an integer. If it is negative, the sequence's length is added to" -" it. The resulting value must be a nonnegative integer less than the " -"sequence's length, and the sequence is asked to assign the assigned object " -"to its item with that index. If the index is out of range, " -":exc:`IndexError` is raised (assignment to a subscripted sequence cannot add" -" new items to a list)." -msgstr "" - -#: ../../reference/simple_stmts.rst:211 -msgid "" -"If the primary is a mapping object (such as a dictionary), the subscript " -"must have a type compatible with the mapping's key type, and the mapping is " -"then asked to create a key/value pair which maps the subscript to the " -"assigned object. This can either replace an existing key/value pair with " -"the same key value, or insert a new key/value pair (if no key with the same " -"value existed)." -msgstr "" - -#: ../../reference/simple_stmts.rst:217 -msgid "" -"For user-defined objects, the :meth:`~object.__setitem__` method is called " -"with appropriate arguments." -msgstr "" - -#: ../../reference/simple_stmts.rst:222 -msgid "" -"If the target is a slicing: The primary expression in the reference is " -"evaluated. It should yield a mutable sequence object (such as a list). The" -" assigned object should be a sequence object of the same type. Next, the " -"lower and upper bound expressions are evaluated, insofar they are present; " -"defaults are zero and the sequence's length. The bounds should evaluate to " -"integers. If either bound is negative, the sequence's length is added to it." -" The resulting bounds are clipped to lie between zero and the sequence's " -"length, inclusive. Finally, the sequence object is asked to replace the " -"slice with the items of the assigned sequence. The length of the slice may " -"be different from the length of the assigned sequence, thus changing the " -"length of the target sequence, if the target sequence allows it." -msgstr "" - -#: ../../reference/simple_stmts.rst:236 -msgid "" -"In the current implementation, the syntax for targets is taken to be the " -"same as for expressions, and invalid syntax is rejected during the code " -"generation phase, causing less detailed error messages." -msgstr "" - -#: ../../reference/simple_stmts.rst:240 -msgid "" -"Although the definition of assignment implies that overlaps between the " -"left-hand side and the right-hand side are 'simultaneous' (for example ``a, " -"b = b, a`` swaps two variables), overlaps *within* the collection of " -"assigned-to variables occur left-to-right, sometimes resulting in confusion." -" For instance, the following program prints ``[0, 2]``::" -msgstr "" - -#: ../../reference/simple_stmts.rst:246 -msgid "" -"x = [0, 1]\n" -"i = 0\n" -"i, x[i] = 1, 2 # i is updated, then x[i] is updated\n" -"print(x)" -msgstr "" - -#: ../../reference/simple_stmts.rst:254 -msgid ":pep:`3132` - Extended Iterable Unpacking" -msgstr "" - -#: ../../reference/simple_stmts.rst:255 -msgid "The specification for the ``*target`` feature." -msgstr "" - -#: ../../reference/simple_stmts.rst:261 -msgid "Augmented assignment statements" -msgstr "" - -#: ../../reference/simple_stmts.rst:279 -msgid "" -"Augmented assignment is the combination, in a single statement, of a binary " -"operation and an assignment statement:" -msgstr "" - -#: ../../reference/simple_stmts.rst:288 -msgid "" -"(See section :ref:`primaries` for the syntax definitions of the last three " -"symbols.)" -msgstr "" - -#: ../../reference/simple_stmts.rst:291 -msgid "" -"An augmented assignment evaluates the target (which, unlike normal " -"assignment statements, cannot be an unpacking) and the expression list, " -"performs the binary operation specific to the type of assignment on the two " -"operands, and assigns the result to the original target. The target is only" -" evaluated once." -msgstr "" - -#: ../../reference/simple_stmts.rst:296 -msgid "" -"An augmented assignment statement like ``x += 1`` can be rewritten as ``x = " -"x + 1`` to achieve a similar, but not exactly equal effect. In the augmented" -" version, ``x`` is only evaluated once. Also, when possible, the actual " -"operation is performed *in-place*, meaning that rather than creating a new " -"object and assigning that to the target, the old object is modified instead." -msgstr "" - -#: ../../reference/simple_stmts.rst:302 -msgid "" -"Unlike normal assignments, augmented assignments evaluate the left-hand side" -" *before* evaluating the right-hand side. For example, ``a[i] += f(x)`` " -"first looks-up ``a[i]``, then it evaluates ``f(x)`` and performs the " -"addition, and lastly, it writes the result back to ``a[i]``." -msgstr "" - -#: ../../reference/simple_stmts.rst:307 -msgid "" -"With the exception of assigning to tuples and multiple targets in a single " -"statement, the assignment done by augmented assignment statements is handled" -" the same way as normal assignments. Similarly, with the exception of the " -"possible *in-place* behavior, the binary operation performed by augmented " -"assignment is the same as the normal binary operations." -msgstr "" - -#: ../../reference/simple_stmts.rst:313 -msgid "" -"For targets which are attribute references, the same :ref:`caveat about " -"class and instance attributes ` applies as for regular " -"assignments." -msgstr "" - -#: ../../reference/simple_stmts.rst:320 -msgid "Annotated assignment statements" -msgstr "" - -#: ../../reference/simple_stmts.rst:327 -msgid "" -":term:`Annotation ` assignment is the combination, in a" -" single statement, of a variable or attribute annotation and an optional " -"assignment statement:" -msgstr "" - -#: ../../reference/simple_stmts.rst:334 -msgid "" -"The difference from normal :ref:`assignment` is that only a single target is" -" allowed." -msgstr "" - -#: ../../reference/simple_stmts.rst:336 -msgid "" -"The assignment target is considered \"simple\" if it consists of a single " -"name that is not enclosed in parentheses. For simple assignment targets, if " -"in class or module scope, the annotations are gathered in a lazily evaluated" -" :ref:`annotation scope `. The annotations can be " -"evaluated using the :attr:`~object.__annotations__` attribute of a class or " -"module, or using the facilities in the :mod:`annotationlib` module." -msgstr "" - -#: ../../reference/simple_stmts.rst:345 -msgid "" -"If the assignment target is not simple (an attribute, subscript node, or " -"parenthesized name), the annotation is never evaluated." -msgstr "" - -#: ../../reference/simple_stmts.rst:348 -msgid "" -"If a name is annotated in a function scope, then this name is local for that" -" scope. Annotations are never evaluated and stored in function scopes." -msgstr "" - -#: ../../reference/simple_stmts.rst:351 -msgid "" -"If the right hand side is present, an annotated assignment performs the " -"actual assignment as if there was no annotation present. If the right hand " -"side is not present for an expression target, then the interpreter evaluates" -" the target except for the last :meth:`~object.__setitem__` or " -":meth:`~object.__setattr__` call." -msgstr "" - -#: ../../reference/simple_stmts.rst:359 -msgid ":pep:`526` - Syntax for Variable Annotations" -msgstr "" - -#: ../../reference/simple_stmts.rst:360 -msgid "" -"The proposal that added syntax for annotating the types of variables " -"(including class variables and instance variables), instead of expressing " -"them through comments." -msgstr "" - -#: ../../reference/simple_stmts.rst:364 -msgid ":pep:`484` - Type hints" -msgstr "" - -#: ../../reference/simple_stmts.rst:365 -msgid "" -"The proposal that added the :mod:`typing` module to provide a standard " -"syntax for type annotations that can be used in static analysis tools and " -"IDEs." -msgstr "" - -#: ../../reference/simple_stmts.rst:369 -msgid "" -"Now annotated assignments allow the same expressions in the right hand side " -"as regular assignments. Previously, some expressions (like un-parenthesized " -"tuple expressions) caused a syntax error." -msgstr "" - -#: ../../reference/simple_stmts.rst:374 -msgid "" -"Annotations are now lazily evaluated in a separate :ref:`annotation scope " -"`. If the assignment target is not simple, annotations " -"are never evaluated." -msgstr "" - -#: ../../reference/simple_stmts.rst:382 -msgid "The :keyword:`!assert` statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:389 -msgid "" -"Assert statements are a convenient way to insert debugging assertions into a" -" program:" -msgstr "" - -#: ../../reference/simple_stmts.rst:395 -msgid "The simple form, ``assert expression``, is equivalent to ::" -msgstr "" - -#: ../../reference/simple_stmts.rst:397 -msgid "" -"if __debug__:\n" -" if not expression: raise AssertionError" -msgstr "" - -#: ../../reference/simple_stmts.rst:400 -msgid "" -"The extended form, ``assert expression1, expression2``, is equivalent to ::" -msgstr "" - -#: ../../reference/simple_stmts.rst:402 -msgid "" -"if __debug__:\n" -" if not expression1: raise AssertionError(expression2)" -msgstr "" - -#: ../../reference/simple_stmts.rst:409 -msgid "" -"These equivalences assume that :const:`__debug__` and :exc:`AssertionError` " -"refer to the built-in variables with those names. In the current " -"implementation, the built-in variable ``__debug__`` is ``True`` under normal" -" circumstances, ``False`` when optimization is requested (command line " -"option :option:`-O`). The current code generator emits no code for an " -":keyword:`assert` statement when optimization is requested at compile time." -" Note that it is unnecessary to include the source code for the expression " -"that failed in the error message; it will be displayed as part of the stack " -"trace." -msgstr "" - -#: ../../reference/simple_stmts.rst:418 -msgid "" -"Assignments to :const:`__debug__` are illegal. The value for the built-in " -"variable is determined when the interpreter starts." -msgstr "" - -#: ../../reference/simple_stmts.rst:425 -msgid "The :keyword:`!pass` statement" -msgstr "Pernyataan :keyword:`!pass`" - -#: ../../reference/simple_stmts.rst:435 -msgid "" -":keyword:`pass` is a null operation --- when it is executed, nothing " -"happens. It is useful as a placeholder when a statement is required " -"syntactically, but no code needs to be executed, for example::" -msgstr "" -":keyword:`pass` adalah operasi null --- ketika dieksekusi, tidak ada yang " -"terjadi. Ini berguna sebagai penampung ketika pernyataan diperlukan secara " -"sintaksis, tetapi tidak ada kode yang perlu dieksekusi, misalnya::" - -#: ../../reference/simple_stmts.rst:439 -msgid "" -"def f(arg): pass # a function that does nothing (yet)\n" -"\n" -"class C: pass # a class with no methods (yet)" -msgstr "" - -#: ../../reference/simple_stmts.rst:447 -msgid "The :keyword:`!del` statement" -msgstr "Pernyataan :keyword:`!del`" - -#: ../../reference/simple_stmts.rst:457 -msgid "" -"Deletion is recursively defined very similar to the way assignment is " -"defined. Rather than spelling it out in full details, here are some hints." -msgstr "" - -#: ../../reference/simple_stmts.rst:460 -msgid "" -"Deletion of a target list recursively deletes each target, from left to " -"right." -msgstr "" - -#: ../../reference/simple_stmts.rst:466 -msgid "" -"Deletion of a name removes the binding of that name from the local or global" -" namespace, depending on whether the name occurs in a :keyword:`global` " -"statement in the same code block. If the name is unbound, a " -":exc:`NameError` exception will be raised." -msgstr "" - -#: ../../reference/simple_stmts.rst:473 -msgid "" -"Deletion of attribute references, subscriptions and slicings is passed to " -"the primary object involved; deletion of a slicing is in general equivalent " -"to assignment of an empty slice of the right type (but even this is " -"determined by the sliced object)." -msgstr "" -"Penghapusan referensi atribut, _subscriptions_ dan pemotongan diteruskan ke " -"objek utama yang terlibat; penghapusan suatu irisan secara umum setara " -"dengan penetapan irisan kosong dari jenis yang benar (tetapi ini pun " -"ditentukan oleh objek yang diiris)." - -#: ../../reference/simple_stmts.rst:478 -msgid "" -"Previously it was illegal to delete a name from the local namespace if it " -"occurs as a free variable in a nested block." -msgstr "" - -#: ../../reference/simple_stmts.rst:486 -msgid "The :keyword:`!return` statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:496 -msgid "" -":keyword:`return` may only occur syntactically nested in a function " -"definition, not within a nested class definition." -msgstr "" - -#: ../../reference/simple_stmts.rst:499 -msgid "" -"If an expression list is present, it is evaluated, else ``None`` is " -"substituted." -msgstr "" - -#: ../../reference/simple_stmts.rst:501 -msgid "" -":keyword:`return` leaves the current function call with the expression list " -"(or ``None``) as return value." -msgstr "" - -#: ../../reference/simple_stmts.rst:506 -msgid "" -"When :keyword:`return` passes control out of a :keyword:`try` statement with" -" a :keyword:`finally` clause, that :keyword:`!finally` clause is executed " -"before really leaving the function." -msgstr "" -"Ketika :keyword:`return` melewati kontrol dari pernyataan :keyword:`try` " -"dengan klausa :keyword:`finally`, klausa :keyword:`!finally` itu dieksekusi " -"sebelum benar-benar meninggalkan fungsi." - -#: ../../reference/simple_stmts.rst:510 -msgid "" -"In a generator function, the :keyword:`return` statement indicates that the " -"generator is done and will cause :exc:`StopIteration` to be raised. The " -"returned value (if any) is used as an argument to construct " -":exc:`StopIteration` and becomes the :attr:`StopIteration.value` attribute." -msgstr "" - -#: ../../reference/simple_stmts.rst:515 -msgid "" -"In an asynchronous generator function, an empty :keyword:`return` statement " -"indicates that the asynchronous generator is done and will cause " -":exc:`StopAsyncIteration` to be raised. A non-empty :keyword:`!return` " -"statement is a syntax error in an asynchronous generator function." -msgstr "" - -#: ../../reference/simple_stmts.rst:523 -msgid "The :keyword:`!yield` statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:535 -msgid "" -"A :keyword:`yield` statement is semantically equivalent to a :ref:`yield " -"expression `. The ``yield`` statement can be used to omit the " -"parentheses that would otherwise be required in the equivalent yield " -"expression statement. For example, the yield statements ::" -msgstr "" - -#: ../../reference/simple_stmts.rst:540 -msgid "" -"yield \n" -"yield from " -msgstr "" - -#: ../../reference/simple_stmts.rst:543 -msgid "are equivalent to the yield expression statements ::" -msgstr "" - -#: ../../reference/simple_stmts.rst:545 -msgid "" -"(yield )\n" -"(yield from )" -msgstr "" - -#: ../../reference/simple_stmts.rst:548 -msgid "" -"Yield expressions and statements are only used when defining a " -":term:`generator` function, and are only used in the body of the generator " -"function. Using :keyword:`yield` in a function definition is sufficient to " -"cause that definition to create a generator function instead of a normal " -"function." -msgstr "" - -#: ../../reference/simple_stmts.rst:553 -msgid "" -"For full details of :keyword:`yield` semantics, refer to the " -":ref:`yieldexpr` section." -msgstr "" - -#: ../../reference/simple_stmts.rst:559 -msgid "The :keyword:`!raise` statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:570 -msgid "" -"If no expressions are present, :keyword:`raise` re-raises the exception that" -" is currently being handled, which is also known as the *active exception*. " -"If there isn't currently an active exception, a :exc:`RuntimeError` " -"exception is raised indicating that this is an error." -msgstr "" - -#: ../../reference/simple_stmts.rst:575 -msgid "" -"Otherwise, :keyword:`raise` evaluates the first expression as the exception " -"object. It must be either a subclass or an instance of " -":class:`BaseException`. If it is a class, the exception instance will be " -"obtained when needed by instantiating the class with no arguments." -msgstr "" - -#: ../../reference/simple_stmts.rst:580 -msgid "" -"The :dfn:`type` of the exception is the exception instance's class, the " -":dfn:`value` is the instance itself." -msgstr "" - -#: ../../reference/simple_stmts.rst:585 -msgid "" -"A traceback object is normally created automatically when an exception is " -"raised and attached to it as the :attr:`~BaseException.__traceback__` " -"attribute. You can create an exception and set your own traceback in one " -"step using the :meth:`~BaseException.with_traceback` exception method (which" -" returns the same exception instance, with its traceback set to its " -"argument), like so::" -msgstr "" - -#: ../../reference/simple_stmts.rst:591 -msgid "raise Exception(\"foo occurred\").with_traceback(tracebackobj)" -msgstr "" - -#: ../../reference/simple_stmts.rst:597 -msgid "" -"The ``from`` clause is used for exception chaining: if given, the second " -"*expression* must be another exception class or instance. If the second " -"expression is an exception instance, it will be attached to the raised " -"exception as the :attr:`~BaseException.__cause__` attribute (which is " -"writable). If the expression is an exception class, the class will be " -"instantiated and the resulting exception instance will be attached to the " -"raised exception as the :attr:`!__cause__` attribute. If the raised " -"exception is not handled, both exceptions will be printed:" -msgstr "" - -#: ../../reference/simple_stmts.rst:606 -msgid "" -">>> try:\n" -"... print(1 / 0)\n" -"... except Exception as exc:\n" -"... raise RuntimeError(\"Something bad happened\") from exc\n" -"...\n" -"Traceback (most recent call last):\n" -" File \"\", line 2, in \n" -" print(1 / 0)\n" -" ~~^~~\n" -"ZeroDivisionError: division by zero\n" -"\n" -"The above exception was the direct cause of the following exception:\n" -"\n" -"Traceback (most recent call last):\n" -" File \"\", line 4, in \n" -" raise RuntimeError(\"Something bad happened\") from exc\n" -"RuntimeError: Something bad happened" -msgstr "" - -#: ../../reference/simple_stmts.rst:626 -msgid "" -"A similar mechanism works implicitly if a new exception is raised when an " -"exception is already being handled. An exception may be handled when an " -":keyword:`except` or :keyword:`finally` clause, or a :keyword:`with` " -"statement, is used. The previous exception is then attached as the new " -"exception's :attr:`~BaseException.__context__` attribute:" -msgstr "" - -#: ../../reference/simple_stmts.rst:632 -msgid "" -">>> try:\n" -"... print(1 / 0)\n" -"... except:\n" -"... raise RuntimeError(\"Something bad happened\")\n" -"...\n" -"Traceback (most recent call last):\n" -" File \"\", line 2, in \n" -" print(1 / 0)\n" -" ~~^~~\n" -"ZeroDivisionError: division by zero\n" -"\n" -"During handling of the above exception, another exception occurred:\n" -"\n" -"Traceback (most recent call last):\n" -" File \"\", line 4, in \n" -" raise RuntimeError(\"Something bad happened\")\n" -"RuntimeError: Something bad happened" -msgstr "" - -#: ../../reference/simple_stmts.rst:652 -msgid "" -"Exception chaining can be explicitly suppressed by specifying :const:`None` " -"in the ``from`` clause:" -msgstr "" - -#: ../../reference/simple_stmts.rst:655 -msgid "" -">>> try:\n" -"... print(1 / 0)\n" -"... except:\n" -"... raise RuntimeError(\"Something bad happened\") from None\n" -"...\n" -"Traceback (most recent call last):\n" -" File \"\", line 4, in \n" -"RuntimeError: Something bad happened" -msgstr "" - -#: ../../reference/simple_stmts.rst:666 -msgid "" -"Additional information on exceptions can be found in section " -":ref:`exceptions`, and information about handling exceptions is in section " -":ref:`try`." -msgstr "" - -#: ../../reference/simple_stmts.rst:669 -msgid ":const:`None` is now permitted as ``Y`` in ``raise X from Y``." -msgstr "" - -#: ../../reference/simple_stmts.rst:672 -msgid "" -"Added the :attr:`~BaseException.__suppress_context__` attribute to suppress " -"automatic display of the exception context." -msgstr "" - -#: ../../reference/simple_stmts.rst:675 -msgid "" -"If the traceback of the active exception is modified in an :keyword:`except`" -" clause, a subsequent ``raise`` statement re-raises the exception with the " -"modified traceback. Previously, the exception was re-raised with the " -"traceback it had when it was caught." -msgstr "" - -#: ../../reference/simple_stmts.rst:684 -msgid "The :keyword:`!break` statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:695 -msgid "" -":keyword:`break` may only occur syntactically nested in a :keyword:`for` or " -":keyword:`while` loop, but not nested in a function or class definition " -"within that loop." -msgstr "" - -#: ../../reference/simple_stmts.rst:702 -msgid "" -"It terminates the nearest enclosing loop, skipping the optional " -":keyword:`!else` clause if the loop has one." -msgstr "" - -#: ../../reference/simple_stmts.rst:705 -msgid "" -"If a :keyword:`for` loop is terminated by :keyword:`break`, the loop control" -" target keeps its current value." -msgstr "" - -#: ../../reference/simple_stmts.rst:710 -msgid "" -"When :keyword:`break` passes control out of a :keyword:`try` statement with " -"a :keyword:`finally` clause, that :keyword:`!finally` clause is executed " -"before really leaving the loop." -msgstr "" -"Ketika :keyword:`break` melewati kontrol dari pernyataan :keyword:`try` " -"dengan klausa :keyword:`finally`, klausa :keyword:`!finally` itu dieksekusi " -"sebelum benar-benar meninggalkan pengulangan." - -#: ../../reference/simple_stmts.rst:718 -msgid "The :keyword:`!continue` statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:730 -msgid "" -":keyword:`continue` may only occur syntactically nested in a :keyword:`for` " -"or :keyword:`while` loop, but not nested in a function or class definition " -"within that loop. It continues with the next cycle of the nearest enclosing" -" loop." -msgstr "" - -#: ../../reference/simple_stmts.rst:734 -msgid "" -"When :keyword:`continue` passes control out of a :keyword:`try` statement " -"with a :keyword:`finally` clause, that :keyword:`!finally` clause is " -"executed before really starting the next loop cycle." -msgstr "" -"Ketika :keyword:`continue` melewati kontrol dari pernyataan :keyword:`try` " -"dengan klausa :keyword:`finally`, klausa :keyword:`!finally` itu dieksekusi " -"sebelum benar-benar memulai siklus pengulangan berikutnya." - -#: ../../reference/simple_stmts.rst:743 -msgid "The :keyword:`!import` statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:764 -msgid "" -"The basic import statement (no :keyword:`from` clause) is executed in two " -"steps:" -msgstr "" - -#: ../../reference/simple_stmts.rst:767 -msgid "find a module, loading and initializing it if necessary" -msgstr "" - -#: ../../reference/simple_stmts.rst:768 -msgid "" -"define a name or names in the local namespace for the scope where the " -":keyword:`import` statement occurs." -msgstr "" - -#: ../../reference/simple_stmts.rst:771 -msgid "" -"When the statement contains multiple clauses (separated by commas) the two " -"steps are carried out separately for each clause, just as though the clauses" -" had been separated out into individual import statements." -msgstr "" - -#: ../../reference/simple_stmts.rst:776 -msgid "" -"The details of the first step, finding and loading modules, are described in" -" greater detail in the section on the :ref:`import system `, " -"which also describes the various types of packages and modules that can be " -"imported, as well as all the hooks that can be used to customize the import " -"system. Note that failures in this step may indicate either that the module " -"could not be located, *or* that an error occurred while initializing the " -"module, which includes execution of the module's code." -msgstr "" - -#: ../../reference/simple_stmts.rst:784 -msgid "" -"If the requested module is retrieved successfully, it will be made available" -" in the local namespace in one of three ways:" -msgstr "" - -#: ../../reference/simple_stmts.rst:789 -msgid "" -"If the module name is followed by :keyword:`!as`, then the name following " -":keyword:`!as` is bound directly to the imported module." -msgstr "" -"Jika nama modul diikuti oleh :keyword:`!as`, maka nama setelah " -":keyword:`!as` terikat langsung ke modul yang diimpor." - -#: ../../reference/simple_stmts.rst:791 -msgid "" -"If no other name is specified, and the module being imported is a top level " -"module, the module's name is bound in the local namespace as a reference to " -"the imported module" -msgstr "" - -#: ../../reference/simple_stmts.rst:794 -msgid "" -"If the module being imported is *not* a top level module, then the name of " -"the top level package that contains the module is bound in the local " -"namespace as a reference to the top level package. The imported module must " -"be accessed using its full qualified name rather than directly" -msgstr "" - -#: ../../reference/simple_stmts.rst:804 -msgid "The :keyword:`from` form uses a slightly more complex process:" -msgstr "" - -#: ../../reference/simple_stmts.rst:806 -msgid "" -"find the module specified in the :keyword:`from` clause, loading and " -"initializing it if necessary;" -msgstr "" - -#: ../../reference/simple_stmts.rst:808 -msgid "" -"for each of the identifiers specified in the :keyword:`import` clauses:" -msgstr "" - -#: ../../reference/simple_stmts.rst:810 -msgid "check if the imported module has an attribute by that name" -msgstr "" - -#: ../../reference/simple_stmts.rst:811 -msgid "" -"if not, attempt to import a submodule with that name and then check the " -"imported module again for that attribute" -msgstr "" - -#: ../../reference/simple_stmts.rst:813 -msgid "if the attribute is not found, :exc:`ImportError` is raised." -msgstr "" - -#: ../../reference/simple_stmts.rst:814 -msgid "" -"otherwise, a reference to that value is stored in the local namespace, using" -" the name in the :keyword:`!as` clause if it is present, otherwise using the" -" attribute name" -msgstr "" - -#: ../../reference/simple_stmts.rst:818 -msgid "Examples::" -msgstr "Contoh::" - -#: ../../reference/simple_stmts.rst:820 -msgid "" -"import foo # foo imported and bound locally\n" -"import foo.bar.baz # foo, foo.bar, and foo.bar.baz imported, foo bound locally\n" -"import foo.bar.baz as fbb # foo, foo.bar, and foo.bar.baz imported, foo.bar.baz bound as fbb\n" -"from foo.bar import baz # foo, foo.bar, and foo.bar.baz imported, foo.bar.baz bound as baz\n" -"from foo import attr # foo imported and foo.attr bound as attr" -msgstr "" - -#: ../../reference/simple_stmts.rst:828 -msgid "" -"If the list of identifiers is replaced by a star (``'*'``), all public names" -" defined in the module are bound in the local namespace for the scope where " -"the :keyword:`import` statement occurs." -msgstr "" - -#: ../../reference/simple_stmts.rst:834 -msgid "" -"The *public names* defined by a module are determined by checking the " -"module's namespace for a variable named ``__all__``; if defined, it must be " -"a sequence of strings which are names defined or imported by that module. " -"The names given in ``__all__`` are all considered public and are required to" -" exist. If ``__all__`` is not defined, the set of public names includes all" -" names found in the module's namespace which do not begin with an underscore" -" character (``'_'``). ``__all__`` should contain the entire public API. It " -"is intended to avoid accidentally exporting items that are not part of the " -"API (such as library modules which were imported and used within the " -"module)." -msgstr "" - -#: ../../reference/simple_stmts.rst:844 -msgid "" -"The wild card form of import --- ``from module import *`` --- is only " -"allowed at the module level. Attempting to use it in class or function " -"definitions will raise a :exc:`SyntaxError`." -msgstr "" - -#: ../../reference/simple_stmts.rst:851 -msgid "" -"When specifying what module to import you do not have to specify the " -"absolute name of the module. When a module or package is contained within " -"another package it is possible to make a relative import within the same top" -" package without having to mention the package name. By using leading dots " -"in the specified module or package after :keyword:`from` you can specify how" -" high to traverse up the current package hierarchy without specifying exact " -"names. One leading dot means the current package where the module making the" -" import exists. Two dots means up one package level. Three dots is up two " -"levels, etc. So if you execute ``from . import mod`` from a module in the " -"``pkg`` package then you will end up importing ``pkg.mod``. If you execute " -"``from ..subpkg2 import mod`` from within ``pkg.subpkg1`` you will import " -"``pkg.subpkg2.mod``. The specification for relative imports is contained in " -"the :ref:`relativeimports` section." -msgstr "" - -#: ../../reference/simple_stmts.rst:865 -msgid "" -":func:`importlib.import_module` is provided to support applications that " -"determine dynamically the modules to be loaded." -msgstr "" - -#: ../../reference/simple_stmts.rst:868 -msgid "" -"Raises an :ref:`auditing event ` ``import`` with arguments " -"``module``, ``filename``, ``sys.path``, ``sys.meta_path``, " -"``sys.path_hooks``." -msgstr "" - -#: ../../reference/simple_stmts.rst:873 -msgid "Future statements" -msgstr "" - -#: ../../reference/simple_stmts.rst:879 -msgid "" -"A :dfn:`future statement` is a directive to the compiler that a particular " -"module should be compiled using syntax or semantics that will be available " -"in a specified future release of Python where the feature becomes standard." -msgstr "" - -#: ../../reference/simple_stmts.rst:883 -msgid "" -"The future statement is intended to ease migration to future versions of " -"Python that introduce incompatible changes to the language. It allows use " -"of the new features on a per-module basis before the release in which the " -"feature becomes standard." -msgstr "" - -#: ../../reference/simple_stmts.rst:895 -msgid "" -"A future statement must appear near the top of the module. The only lines " -"that can appear before a future statement are:" -msgstr "" - -#: ../../reference/simple_stmts.rst:898 -msgid "the module docstring (if any)," -msgstr "" - -#: ../../reference/simple_stmts.rst:899 -msgid "comments," -msgstr "" - -#: ../../reference/simple_stmts.rst:900 -msgid "blank lines, and" -msgstr "" - -#: ../../reference/simple_stmts.rst:901 -msgid "other future statements." -msgstr "" - -#: ../../reference/simple_stmts.rst:903 -msgid "" -"The only feature that requires using the future statement is ``annotations``" -" (see :pep:`563`)." -msgstr "" - -#: ../../reference/simple_stmts.rst:906 -msgid "" -"All historical features enabled by the future statement are still recognized" -" by Python 3. The list includes ``absolute_import``, ``division``, " -"``generators``, ``generator_stop``, ``unicode_literals``, " -"``print_function``, ``nested_scopes`` and ``with_statement``. They are all " -"redundant because they are always enabled, and only kept for backwards " -"compatibility." -msgstr "" - -#: ../../reference/simple_stmts.rst:913 -msgid "" -"A future statement is recognized and treated specially at compile time: " -"Changes to the semantics of core constructs are often implemented by " -"generating different code. It may even be the case that a new feature " -"introduces new incompatible syntax (such as a new reserved word), in which " -"case the compiler may need to parse the module differently. Such decisions " -"cannot be pushed off until runtime." -msgstr "" - -#: ../../reference/simple_stmts.rst:920 -msgid "" -"For any given release, the compiler knows which feature names have been " -"defined, and raises a compile-time error if a future statement contains a " -"feature not known to it." -msgstr "" - -#: ../../reference/simple_stmts.rst:924 -msgid "" -"The direct runtime semantics are the same as for any import statement: there" -" is a standard module :mod:`__future__`, described later, and it will be " -"imported in the usual way at the time the future statement is executed." -msgstr "" - -#: ../../reference/simple_stmts.rst:928 -msgid "" -"The interesting runtime semantics depend on the specific feature enabled by " -"the future statement." -msgstr "" - -#: ../../reference/simple_stmts.rst:931 -msgid "Note that there is nothing special about the statement::" -msgstr "" - -#: ../../reference/simple_stmts.rst:933 -msgid "import __future__ [as name]" -msgstr "" - -#: ../../reference/simple_stmts.rst:935 -msgid "" -"That is not a future statement; it's an ordinary import statement with no " -"special semantics or syntax restrictions." -msgstr "" - -#: ../../reference/simple_stmts.rst:938 -msgid "" -"Code compiled by calls to the built-in functions :func:`exec` and " -":func:`compile` that occur in a module :mod:`!M` containing a future " -"statement will, by default, use the new syntax or semantics associated with " -"the future statement. This can be controlled by optional arguments to " -":func:`compile` --- see the documentation of that function for details." -msgstr "" - -#: ../../reference/simple_stmts.rst:944 -msgid "" -"A future statement typed at an interactive interpreter prompt will take " -"effect for the rest of the interpreter session. If an interpreter is " -"started with the :option:`-i` option, is passed a script name to execute, " -"and the script includes a future statement, it will be in effect in the " -"interactive session started after the script is executed." -msgstr "" -"Pernyataan _future_ yang diketik pada _prompt_ interaktif _interpreter_ akan" -" berlaku selama sisa sesi _interpreter_. Jika _interpreter_ dimulai dengan " -":option:`-i`, diberikan nama skrip untuk dieksekusi, dan skrip menyertakan " -"pernyataan _future_, ini akan berlaku dalam sesi interaktif yang dimulai " -"setelah skrip dieksekusi." - -#: ../../reference/simple_stmts.rst:952 -msgid ":pep:`236` - Back to the __future__" -msgstr "" - -#: ../../reference/simple_stmts.rst:953 -msgid "The original proposal for the __future__ mechanism." -msgstr "" - -#: ../../reference/simple_stmts.rst:959 -msgid "The :keyword:`!global` statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:969 -msgid "" -"The :keyword:`global` statement causes the listed identifiers to be " -"interpreted as globals. It would be impossible to assign to a global " -"variable without :keyword:`!global`, although free variables may refer to " -"globals without being declared global." -msgstr "" - -#: ../../reference/simple_stmts.rst:974 -msgid "" -"The :keyword:`global` statement applies to the entire scope of a function or" -" class body. A :exc:`SyntaxError` is raised if a variable is used or " -"assigned to prior to its global declaration in the scope." -msgstr "" - -#: ../../reference/simple_stmts.rst:983 -msgid "" -"**Programmer's note:** :keyword:`global` is a directive to the parser. It " -"applies only to code parsed at the same time as the :keyword:`!global` " -"statement. In particular, a :keyword:`!global` statement contained in a " -"string or code object supplied to the built-in :func:`exec` function does " -"not affect the code block *containing* the function call, and code contained" -" in such a string is unaffected by :keyword:`!global` statements in the code" -" containing the function call. The same applies to the :func:`eval` and " -":func:`compile` functions." -msgstr "" - -#: ../../reference/simple_stmts.rst:995 -msgid "The :keyword:`!nonlocal` statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:1003 -msgid "" -"When the definition of a function or class is nested (enclosed) within the " -"definitions of other functions, its nonlocal scopes are the local scopes of " -"the enclosing functions. The :keyword:`nonlocal` statement causes the listed" -" identifiers to refer to names previously bound in nonlocal scopes. It " -"allows encapsulated code to rebind such nonlocal identifiers. If a name is " -"bound in more than one nonlocal scope, the nearest binding is used. If a " -"name is not bound in any nonlocal scope, or if there is no nonlocal scope, a" -" :exc:`SyntaxError` is raised." -msgstr "" - -#: ../../reference/simple_stmts.rst:1012 -msgid "" -"The :keyword:`nonlocal` statement applies to the entire scope of a function " -"or class body. A :exc:`SyntaxError` is raised if a variable is used or " -"assigned to prior to its nonlocal declaration in the scope." -msgstr "" - -#: ../../reference/simple_stmts.rst:1018 -msgid ":pep:`3104` - Access to Names in Outer Scopes" -msgstr "" - -#: ../../reference/simple_stmts.rst:1019 -msgid "The specification for the :keyword:`nonlocal` statement." -msgstr "" - -#: ../../reference/simple_stmts.rst:1021 -msgid "" -"**Programmer's note:** :keyword:`nonlocal` is a directive to the parser and " -"applies only to code parsed along with it. See the note for the " -":keyword:`global` statement." -msgstr "" - -#: ../../reference/simple_stmts.rst:1029 -msgid "The :keyword:`!type` statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:1036 -msgid "" -"The :keyword:`!type` statement declares a type alias, which is an instance " -"of :class:`typing.TypeAliasType`." -msgstr "" - -#: ../../reference/simple_stmts.rst:1039 -msgid "For example, the following statement creates a type alias::" -msgstr "" - -#: ../../reference/simple_stmts.rst:1041 -msgid "type Point = tuple[float, float]" -msgstr "" - -#: ../../reference/simple_stmts.rst:1043 -msgid "This code is roughly equivalent to::" -msgstr "" - -#: ../../reference/simple_stmts.rst:1045 -msgid "" -"annotation-def VALUE_OF_Point():\n" -" return tuple[float, float]\n" -"Point = typing.TypeAliasType(\"Point\", VALUE_OF_Point())" -msgstr "" - -#: ../../reference/simple_stmts.rst:1049 -msgid "" -"``annotation-def`` indicates an :ref:`annotation scope `," -" which behaves mostly like a function, but with several small differences." -msgstr "" - -#: ../../reference/simple_stmts.rst:1052 -msgid "" -"The value of the type alias is evaluated in the annotation scope. It is not " -"evaluated when the type alias is created, but only when the value is " -"accessed through the type alias's :attr:`!__value__` attribute (see " -":ref:`lazy-evaluation`). This allows the type alias to refer to names that " -"are not yet defined." -msgstr "" - -#: ../../reference/simple_stmts.rst:1058 -msgid "" -"Type aliases may be made generic by adding a :ref:`type parameter list " -"` after the name. See :ref:`generic-type-aliases` for more." -msgstr "" - -#: ../../reference/simple_stmts.rst:1061 -msgid ":keyword:`!type` is a :ref:`soft keyword `." -msgstr "" - -#: ../../reference/simple_stmts.rst:1067 -msgid ":pep:`695` - Type Parameter Syntax" -msgstr "" - -#: ../../reference/simple_stmts.rst:1068 -msgid "" -"Introduced the :keyword:`!type` statement and syntax for generic classes and" -" functions." -msgstr "" - -#: ../../reference/simple_stmts.rst:8 -msgid "simple" -msgstr "" - -#: ../../reference/simple_stmts.rst:8 ../../reference/simple_stmts.rst:39 -#: ../../reference/simple_stmts.rst:75 ../../reference/simple_stmts.rst:263 -#: ../../reference/simple_stmts.rst:322 ../../reference/simple_stmts.rst:384 -#: ../../reference/simple_stmts.rst:427 ../../reference/simple_stmts.rst:449 -#: ../../reference/simple_stmts.rst:462 ../../reference/simple_stmts.rst:488 -#: ../../reference/simple_stmts.rst:525 ../../reference/simple_stmts.rst:561 -#: ../../reference/simple_stmts.rst:686 ../../reference/simple_stmts.rst:720 -#: ../../reference/simple_stmts.rst:745 ../../reference/simple_stmts.rst:875 -#: ../../reference/simple_stmts.rst:961 ../../reference/simple_stmts.rst:997 -#: ../../reference/simple_stmts.rst:1031 -msgid "statement" -msgstr "pernyataan" - -#: ../../reference/simple_stmts.rst:39 ../../reference/simple_stmts.rst:42 -msgid "expression" -msgstr "ekspresi" - -#: ../../reference/simple_stmts.rst:39 ../../reference/simple_stmts.rst:42 -#: ../../reference/simple_stmts.rst:105 ../../reference/simple_stmts.rst:116 -#: ../../reference/simple_stmts.rst:196 ../../reference/simple_stmts.rst:449 -msgid "list" -msgstr "list" - -#: ../../reference/simple_stmts.rst:56 ../../reference/simple_stmts.rst:978 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../reference/simple_stmts.rst:56 -msgid "repr" -msgstr "repr" - -#: ../../reference/simple_stmts.rst:56 ../../reference/simple_stmts.rst:75 -#: ../../reference/simple_stmts.rst:187 ../../reference/simple_stmts.rst:196 -#: ../../reference/simple_stmts.rst:207 ../../reference/simple_stmts.rst:583 -msgid "object" -msgstr "objek" - -#: ../../reference/simple_stmts.rst:56 -msgid "None" -msgstr "None" - -#: ../../reference/simple_stmts.rst:56 -msgid "string" -msgstr "string" - -#: ../../reference/simple_stmts.rst:56 -msgid "conversion" -msgstr "" - -#: ../../reference/simple_stmts.rst:56 -msgid "output" -msgstr "" - -#: ../../reference/simple_stmts.rst:56 -msgid "standard" -msgstr "" - -#: ../../reference/simple_stmts.rst:56 -msgid "writing" -msgstr "" - -#: ../../reference/simple_stmts.rst:56 -msgid "values" -msgstr "nilai" - -#: ../../reference/simple_stmts.rst:56 -msgid "procedure" -msgstr "" - -#: ../../reference/simple_stmts.rst:56 -msgid "call" -msgstr "" - -#: ../../reference/simple_stmts.rst:75 -msgid "= (equals)" -msgstr "" - -#: ../../reference/simple_stmts.rst:75 -msgid "assignment statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:75 ../../reference/simple_stmts.rst:116 -#: ../../reference/simple_stmts.rst:159 ../../reference/simple_stmts.rst:187 -#: ../../reference/simple_stmts.rst:220 ../../reference/simple_stmts.rst:263 -#: ../../reference/simple_stmts.rst:322 -msgid "assignment" -msgstr "" - -#: ../../reference/simple_stmts.rst:75 ../../reference/simple_stmts.rst:745 -#: ../../reference/simple_stmts.rst:800 ../../reference/simple_stmts.rst:961 -msgid "binding" -msgstr "" - -#: ../../reference/simple_stmts.rst:75 ../../reference/simple_stmts.rst:462 -#: ../../reference/simple_stmts.rst:745 ../../reference/simple_stmts.rst:800 -#: ../../reference/simple_stmts.rst:961 -msgid "name" -msgstr "nama" - -#: ../../reference/simple_stmts.rst:75 -msgid "rebinding" -msgstr "" - -#: ../../reference/simple_stmts.rst:75 ../../reference/simple_stmts.rst:187 -msgid "mutable" -msgstr "" - -#: ../../reference/simple_stmts.rst:75 ../../reference/simple_stmts.rst:159 -#: ../../reference/simple_stmts.rst:471 -msgid "attribute" -msgstr "atribut" - -#: ../../reference/simple_stmts.rst:105 ../../reference/simple_stmts.rst:116 -#: ../../reference/simple_stmts.rst:449 ../../reference/simple_stmts.rst:699 -msgid "target" -msgstr "" - -#: ../../reference/simple_stmts.rst:116 ../../reference/simple_stmts.rst:384 -#: ../../reference/simple_stmts.rst:745 ../../reference/simple_stmts.rst:961 -#: ../../reference/simple_stmts.rst:997 -msgid ", (comma)" -msgstr "" - -#: ../../reference/simple_stmts.rst:116 -msgid "in target list" -msgstr "" - -#: ../../reference/simple_stmts.rst:116 ../../reference/simple_stmts.rst:826 -msgid "* (asterisk)" -msgstr "" - -#: ../../reference/simple_stmts.rst:116 -msgid "in assignment target list" -msgstr "" - -#: ../../reference/simple_stmts.rst:116 -msgid "[] (square brackets)" -msgstr "" - -#: ../../reference/simple_stmts.rst:116 -msgid "() (parentheses)" -msgstr "" - -#: ../../reference/simple_stmts.rst:153 -msgid "destructor" -msgstr "" - -#: ../../reference/simple_stmts.rst:187 -msgid "subscription" -msgstr "" - -#: ../../reference/simple_stmts.rst:196 -msgid "sequence" -msgstr "urutan" - -#: ../../reference/simple_stmts.rst:207 -msgid "mapping" -msgstr "pemetaan" - -#: ../../reference/simple_stmts.rst:207 -msgid "dictionary" -msgstr "dictionary" - -#: ../../reference/simple_stmts.rst:220 -msgid "slicing" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "augmented" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "assignment, augmented" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "+=" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "augmented assignment" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "-=" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "*=" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "/=" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "%=" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "&=" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "^=" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "|=" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "**=" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "//=" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid ">>=" -msgstr "" - -#: ../../reference/simple_stmts.rst:263 -msgid "<<=" -msgstr "" - -#: ../../reference/simple_stmts.rst:322 -msgid "annotated" -msgstr "" - -#: ../../reference/simple_stmts.rst:322 -msgid "assignment, annotated" -msgstr "" - -#: ../../reference/simple_stmts.rst:322 -msgid ": (colon)" -msgstr "" - -#: ../../reference/simple_stmts.rst:322 -msgid "annotated variable" -msgstr "" - -#: ../../reference/simple_stmts.rst:384 -msgid "assert" -msgstr "" - -#: ../../reference/simple_stmts.rst:384 -msgid "debugging" -msgstr "" - -#: ../../reference/simple_stmts.rst:384 -msgid "assertions" -msgstr "" - -#: ../../reference/simple_stmts.rst:384 -msgid "expression list" -msgstr "" - -#: ../../reference/simple_stmts.rst:405 -msgid "__debug__" -msgstr "" - -#: ../../reference/simple_stmts.rst:405 ../../reference/simple_stmts.rst:525 -#: ../../reference/simple_stmts.rst:561 ../../reference/simple_stmts.rst:593 -#: ../../reference/simple_stmts.rst:745 -msgid "exception" -msgstr "" - -#: ../../reference/simple_stmts.rst:405 -msgid "AssertionError" -msgstr "" - -#: ../../reference/simple_stmts.rst:427 -msgid "pass" -msgstr "" - -#: ../../reference/simple_stmts.rst:427 -msgid "null" -msgstr "null" - -#: ../../reference/simple_stmts.rst:427 -msgid "operation" -msgstr "" - -#: ../../reference/simple_stmts.rst:449 -msgid "del" -msgstr "" - -#: ../../reference/simple_stmts.rst:449 ../../reference/simple_stmts.rst:471 -msgid "deletion" -msgstr "" - -#: ../../reference/simple_stmts.rst:462 ../../reference/simple_stmts.rst:961 -msgid "global" -msgstr "" - -#: ../../reference/simple_stmts.rst:462 -msgid "unbinding" -msgstr "" - -#: ../../reference/simple_stmts.rst:488 -msgid "return" -msgstr "" - -#: ../../reference/simple_stmts.rst:488 ../../reference/simple_stmts.rst:525 -msgid "function" -msgstr "fungsi" - -#: ../../reference/simple_stmts.rst:488 -msgid "definition" -msgstr "" - -#: ../../reference/simple_stmts.rst:488 -msgid "class" -msgstr "kelas" - -#: ../../reference/simple_stmts.rst:504 ../../reference/simple_stmts.rst:699 -#: ../../reference/simple_stmts.rst:708 ../../reference/simple_stmts.rst:720 -#: ../../reference/simple_stmts.rst:745 -msgid "keyword" -msgstr "" - -#: ../../reference/simple_stmts.rst:504 ../../reference/simple_stmts.rst:708 -#: ../../reference/simple_stmts.rst:720 -msgid "finally" -msgstr "" - -#: ../../reference/simple_stmts.rst:525 -msgid "yield" -msgstr "" - -#: ../../reference/simple_stmts.rst:525 -msgid "generator" -msgstr "pembangkit" - -#: ../../reference/simple_stmts.rst:525 -msgid "iterator" -msgstr "" - -#: ../../reference/simple_stmts.rst:525 -msgid "StopIteration" -msgstr "" - -#: ../../reference/simple_stmts.rst:561 -msgid "raise" -msgstr "" - -#: ../../reference/simple_stmts.rst:561 -msgid "raising" -msgstr "" - -#: ../../reference/simple_stmts.rst:561 -msgid "__traceback__ (exception attribute)" -msgstr "" - -#: ../../reference/simple_stmts.rst:583 -msgid "traceback" -msgstr "" - -#: ../../reference/simple_stmts.rst:593 -msgid "chaining" -msgstr "" - -#: ../../reference/simple_stmts.rst:593 -msgid "__cause__ (exception attribute)" -msgstr "" - -#: ../../reference/simple_stmts.rst:593 -msgid "__context__ (exception attribute)" -msgstr "" - -#: ../../reference/simple_stmts.rst:686 -msgid "break" -msgstr "" - -#: ../../reference/simple_stmts.rst:686 ../../reference/simple_stmts.rst:720 -msgid "for" -msgstr "" - -#: ../../reference/simple_stmts.rst:686 ../../reference/simple_stmts.rst:720 -msgid "while" -msgstr "" - -#: ../../reference/simple_stmts.rst:686 ../../reference/simple_stmts.rst:720 -msgid "loop" -msgstr "" - -#: ../../reference/simple_stmts.rst:699 -msgid "else" -msgstr "" - -#: ../../reference/simple_stmts.rst:699 -msgid "loop control" -msgstr "" - -#: ../../reference/simple_stmts.rst:720 -msgid "continue" -msgstr "" - -#: ../../reference/simple_stmts.rst:745 ../../reference/simple_stmts.rst:848 -msgid "import" -msgstr "" - -#: ../../reference/simple_stmts.rst:745 -msgid "module" -msgstr "modul" - -#: ../../reference/simple_stmts.rst:745 -msgid "importing" -msgstr "" - -#: ../../reference/simple_stmts.rst:745 ../../reference/simple_stmts.rst:800 -msgid "from" -msgstr "dari" - -#: ../../reference/simple_stmts.rst:745 ../../reference/simple_stmts.rst:787 -msgid "as" -msgstr "" - -#: ../../reference/simple_stmts.rst:745 -msgid "ImportError" -msgstr "" - -#: ../../reference/simple_stmts.rst:745 ../../reference/simple_stmts.rst:787 -#: ../../reference/simple_stmts.rst:800 ../../reference/simple_stmts.rst:826 -msgid "import statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:832 -msgid "__all__ (optional module attribute)" -msgstr "" - -#: ../../reference/simple_stmts.rst:848 -msgid "relative" -msgstr "" - -#: ../../reference/simple_stmts.rst:875 -msgid "future" -msgstr "" - -#: ../../reference/simple_stmts.rst:875 -msgid "__future__" -msgstr "__future__" - -#: ../../reference/simple_stmts.rst:875 -msgid "future statement" -msgstr "" - -#: ../../reference/simple_stmts.rst:961 ../../reference/simple_stmts.rst:997 -msgid "identifier list" -msgstr "" - -#: ../../reference/simple_stmts.rst:978 -msgid "exec" -msgstr "" - -#: ../../reference/simple_stmts.rst:978 -msgid "eval" -msgstr "" - -#: ../../reference/simple_stmts.rst:978 -msgid "compile" -msgstr "" - -#: ../../reference/simple_stmts.rst:997 -msgid "nonlocal" -msgstr "" - -#: ../../reference/simple_stmts.rst:1031 -msgid "type" -msgstr "tipe" diff --git a/python-newest.reference--toplevel_components/id.po b/python-newest.reference--toplevel_components/id.po deleted file mode 100644 index c8024c8..0000000 --- a/python-newest.reference--toplevel_components/id.po +++ /dev/null @@ -1,216 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../reference/toplevel_components.rst:6 -msgid "Top-level components" -msgstr "Komponen tingkat atas" - -#: ../../reference/toplevel_components.rst:10 -msgid "" -"The Python interpreter can get its input from a number of sources: from a " -"script passed to it as standard input or as program argument, typed in " -"interactively, from a module source file, etc. This chapter gives the " -"syntax used in these cases." -msgstr "" -"*Interpreter* Python dapat memperoleh masukan dari sejumlah sumber: dari " -"skrip yang diteruskan sebagai masukan standar atau sebagai argumen program, " -"diketikkan secara interaktif, dari berkas sumber modul, dll. Bab ini " -"memberikan sintaks yang digunakan dalam kasus-kasus tersebut." - -#: ../../reference/toplevel_components.rst:19 -msgid "Complete Python programs" -msgstr "Program Python lengkap" - -#: ../../reference/toplevel_components.rst:28 -msgid "" -"While a language specification need not prescribe how the language " -"interpreter is invoked, it is useful to have a notion of a complete Python " -"program. A complete Python program is executed in a minimally initialized " -"environment: all built-in and standard modules are available, but none have " -"been initialized, except for :mod:`sys` (various system services), " -":mod:`builtins` (built-in functions, exceptions and ``None``) and " -":mod:`__main__`. The latter is used to provide the local and global " -"namespace for execution of the complete program." -msgstr "" -"Meskipun spesifikasi bahasa tidak perlu menentukan bagaimana interpreter " -"bahasa digunakan, penting untuk memiliki gagasan tentang program Python yang" -" lengkap. Program Python lengkap dioperasikan dalam lingkungan yang " -"diinisialisasi minimal: semua modul bawaan dan standar tersedia, tetapi " -"tidak ada yang diinisialisasi, kecuali untuk :mod:`sys` (berbagai layanan " -"sistem), :mod:`builtins` (fungsi bawaan, pengecualian dan ``None``) dan " -":mod:`__main__`. Yang terakhir digunakan untuk menyediakan *namespace* lokal" -" dan global untuk eksekusi program lengkap." - -#: ../../reference/toplevel_components.rst:36 -msgid "" -"The syntax for a complete Python program is that for file input, described " -"in the next section." -msgstr "" -"Sintaksis untuk program Python lengkap adalah untuk masukan berkas, " -"dijelaskan pada bagian selanjutnya." - -#: ../../reference/toplevel_components.rst:43 -msgid "" -"The interpreter may also be invoked in interactive mode; in this case, it " -"does not read and execute a complete program but reads and executes one " -"statement (possibly compound) at a time. The initial environment is " -"identical to that of a complete program; each statement is executed in the " -"namespace of :mod:`__main__`." -msgstr "" -"*Interpreter* juga dapat dipanggil dalam mode interaktif; dalam hal ini, ia " -"tidak membaca dan menjalankan program yang lengkap tetapi membaca dan " -"mengeksekusi satu pernyataan (mungkin digabungkan) pada suatu waktu. " -"Lingkungan awal identik dengan program lengkap; setiap pernyataan dieksekusi" -" di *namespace* :mod:`__main__`." - -#: ../../reference/toplevel_components.rst:55 -msgid "" -"A complete program can be passed to the interpreter in three forms: with the" -" :option:`-c` *string* command line option, as a file passed as the first " -"command line argument, or as standard input. If the file or standard input " -"is a tty device, the interpreter enters interactive mode; otherwise, it " -"executes the file as a complete program." -msgstr "" -"Program lengkap dapat diteruskan ke interpreter dalam tiga bentuk: dengan " -"opsi :option:`-c` *string* opsi baris perintah, sebagai file yang diteruskan" -" sebagai argumen baris perintah pertama, atau sebagai masukan standar. Jika " -"berkas atau masukan standar adalah perangkat tty, *interpreter* memasuki " -"mode interaktif; jika tidak, berkas akan dieksekusi sebagai program yang " -"lengkap." - -#: ../../reference/toplevel_components.rst:65 -msgid "File input" -msgstr "Masukan dari Berkas" - -#: ../../reference/toplevel_components.rst:67 -msgid "All input read from non-interactive files has the same form:" -msgstr "" -"Semua input yang dibaca dari berkas non-interaktif memiliki bentuk yang " -"sama:" - -#: ../../reference/toplevel_components.rst:74 -msgid "This syntax is used in the following situations:" -msgstr "Sintaks ini digunakan dalam situasi berikut:" - -#: ../../reference/toplevel_components.rst:76 -msgid "when parsing a complete Python program (from a file or from a string);" -msgstr "saat mengurai program Python lengkap (dari berkas atau dari string);" - -#: ../../reference/toplevel_components.rst:78 -msgid "when parsing a module;" -msgstr "ketika mengurai sebuah modul;" - -#: ../../reference/toplevel_components.rst:80 -msgid "when parsing a string passed to the :func:`exec` function;" -msgstr "saat mengurai sebuah string yang dilewatkan ke fungsi :func:`exec`;" - -#: ../../reference/toplevel_components.rst:86 -msgid "Interactive input" -msgstr "Masukan interaktif" - -#: ../../reference/toplevel_components.rst:88 -msgid "Input in interactive mode is parsed using the following grammar:" -msgstr "" -"Input dalam mode interaktif diuraikan menggunakan tata bahasa berikut:" - -#: ../../reference/toplevel_components.rst:95 -msgid "" -"Note that a (top-level) compound statement must be followed by a blank line " -"in interactive mode; this is needed to help the parser detect the end of the" -" input." -msgstr "" -"Perhatikan bahwa pernyataan gabungan (tingkat atas) harus diikuti oleh baris" -" kosong dalam mode interaktif; ini diperlukan untuk membantu parser " -"mendeteksi akhir masukan." - -#: ../../reference/toplevel_components.rst:102 -msgid "Expression input" -msgstr "Masukan ekspresi" - -#: ../../reference/toplevel_components.rst:107 -msgid "" -":func:`eval` is used for expression input. It ignores leading whitespace. " -"The string argument to :func:`eval` must have the following form:" -msgstr "" -":func:`eval` digunakan untuk masukan ekspresi. Itu mengabaikan spasi " -"*whitespace* sebelumnya. Argumen string ke :func:`eval` harus memiliki " -"bentuk berikut:" - -#: ../../reference/toplevel_components.rst:8 -msgid "interpreter" -msgstr "" - -#: ../../reference/toplevel_components.rst:21 -msgid "program" -msgstr "" - -#: ../../reference/toplevel_components.rst:23 -#: ../../reference/toplevel_components.rst:39 -msgid "module" -msgstr "modul" - -#: ../../reference/toplevel_components.rst:23 -msgid "sys" -msgstr "sys" - -#: ../../reference/toplevel_components.rst:23 -#: ../../reference/toplevel_components.rst:39 -msgid "__main__" -msgstr "" - -#: ../../reference/toplevel_components.rst:23 -msgid "builtins" -msgstr "builtins" - -#: ../../reference/toplevel_components.rst:39 -msgid "interactive mode" -msgstr "" - -#: ../../reference/toplevel_components.rst:49 -msgid "UNIX" -msgstr "" - -#: ../../reference/toplevel_components.rst:49 -msgid "Windows" -msgstr "Windows" - -#: ../../reference/toplevel_components.rst:49 -msgid "command line" -msgstr "" - -#: ../../reference/toplevel_components.rst:49 -msgid "standard input" -msgstr "" - -#: ../../reference/toplevel_components.rst:104 -msgid "input" -msgstr "" - -#: ../../reference/toplevel_components.rst:105 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../reference/toplevel_components.rst:105 -msgid "eval" -msgstr "" diff --git a/python-newest.sphinx/id.po b/python-newest.sphinx/id.po deleted file mode 100644 index 528a060..0000000 --- a/python-newest.sphinx/id.po +++ /dev/null @@ -1,508 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2021 -# oon arfiandwi (OonID) , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: oon arfiandwi (OonID) , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tools/templates/_docs_by_version.html:10 -msgid "Stable" -msgstr "" - -#: ../../tools/templates/_docs_by_version.html:11 -msgid "In development" -msgstr "" - -#: ../../tools/templates/customsourcelink.html:3 -msgid "This Page" -msgstr "Halaman Ini" - -#: ../../tools/templates/customsourcelink.html:5 -msgid "Report a Bug" -msgstr "Laporkan Bug" - -#: ../../tools/templates/customsourcelink.html:8 -msgid "Show Source" -msgstr "Perlihatkan Sumber" - -#: ../../tools/templates/download.html:2 -#: ../../tools/templates/indexsidebar.html:1 -msgid "Download" -msgstr "Unduh" - -#: ../../tools/templates/download.html:30 -msgid "Download Python %(dl_version)s Documentation" -msgstr "" - -#: ../../tools/templates/download.html:32 -msgid "Last updated on: %(last_updated)s." -msgstr "" - -#: ../../tools/templates/download.html:34 -msgid "" -"To download an archive containing all the documents for this version of\n" -"Python in one of various formats, follow one of links in this table." -msgstr "" - -#: ../../tools/templates/download.html:39 -msgid "Format" -msgstr "Format" - -#: ../../tools/templates/download.html:40 -msgid "Packed as .zip" -msgstr "" - -#: ../../tools/templates/download.html:41 -msgid "Packed as .tar.bz2" -msgstr "" - -#: ../../tools/templates/download.html:44 -msgid "PDF" -msgstr "" - -#: ../../tools/templates/download.html:45 -msgid "" -"Download " -"(ca. %(download_size)s MiB)" -msgstr "" - -#: ../../tools/templates/download.html:46 -msgid "" -"Download (ca. %(download_size)s MiB)" -msgstr "" - -#: ../../tools/templates/download.html:49 -msgid "HTML" -msgstr "" - -#: ../../tools/templates/download.html:50 -msgid "" -"Download " -"(ca. %(download_size)s MiB)" -msgstr "" - -#: ../../tools/templates/download.html:51 -msgid "" -"Download" -" (ca. %(download_size)s MiB)" -msgstr "" - -#: ../../tools/templates/download.html:54 -msgid "Plain text" -msgstr "" - -#: ../../tools/templates/download.html:55 -msgid "" -"Download " -"(ca. %(download_size)s MiB)" -msgstr "" - -#: ../../tools/templates/download.html:56 -msgid "" -"Download" -" (ca. %(download_size)s MiB)" -msgstr "" - -#: ../../tools/templates/download.html:59 -msgid "Texinfo" -msgstr "" - -#: ../../tools/templates/download.html:60 -msgid "" -"Download " -"(ca. %(download_size)s MiB)" -msgstr "" - -#: ../../tools/templates/download.html:61 -msgid "" -"Download (ca. %(download_size)s MiB)" -msgstr "" - -#: ../../tools/templates/download.html:64 -msgid "EPUB" -msgstr "" - -#: ../../tools/templates/download.html:65 -msgid "" -"Download (ca. " -"%(download_size)s MiB)" -msgstr "" - -#: ../../tools/templates/download.html:70 -msgid "These archives contain all the content in the documentation." -msgstr "" - -#: ../../tools/templates/download.html:73 -msgid "Unpacking" -msgstr "" - -#: ../../tools/templates/download.html:75 -msgid "" -"Unix users should download the .tar.bz2 archives; these are bzipped tar\n" -"archives and can be handled in the usual way using tar and the bzip2\n" -"program. The Info-ZIP unzip program can be\n" -"used to handle the ZIP archives if desired. The .tar.bz2 archives provide the\n" -"best compression and fastest download times." -msgstr "" - -#: ../../tools/templates/download.html:81 -msgid "" -"Windows users can use the ZIP archives since those are customary on that\n" -"platform. These are created on Unix using the Info-ZIP zip program." -msgstr "" - -#: ../../tools/templates/download.html:85 -msgid "Problems" -msgstr "" - -#: ../../tools/templates/download.html:87 -msgid "" -"If you have comments or suggestions for the Python documentation, please send\n" -"email to docs@python.org." -msgstr "" - -#: ../../tools/templates/dummy.html:6 -msgid "Availability" -msgstr "" - -#: ../../tools/templates/dummy.html:10 -msgid "Part of the" -msgstr "" - -#: ../../tools/templates/dummy.html:11 -msgid "Limited API" -msgstr "" - -#: ../../tools/templates/dummy.html:12 -msgid "Stable ABI" -msgstr "" - -#: ../../tools/templates/dummy.html:13 -msgid "(as an opaque struct)" -msgstr "" - -#: ../../tools/templates/dummy.html:14 -msgid "(including all members)" -msgstr "" - -#: ../../tools/templates/dummy.html:15 -msgid "since version %s" -msgstr "" - -#: ../../tools/templates/dummy.html:16 -msgid "(Only some members are part of the stable ABI.)" -msgstr "" - -#: ../../tools/templates/dummy.html:17 -msgid "This is" -msgstr "" - -#: ../../tools/templates/dummy.html:18 -msgid "Unstable API" -msgstr "" - -#: ../../tools/templates/dummy.html:19 -msgid ". It may change without warning in minor releases." -msgstr "" - -#: ../../tools/templates/dummy.html:20 -msgid "Return value: Always NULL." -msgstr "" - -#: ../../tools/templates/dummy.html:21 -msgid "Return value: New reference." -msgstr "" - -#: ../../tools/templates/dummy.html:22 -msgid "Return value: Borrowed reference." -msgstr "" - -#: ../../tools/templates/dummy.html:26 -msgid "CPython implementation detail:" -msgstr "Detail implementasi CPython:" - -#: ../../tools/templates/dummy.html:30 -msgid "" -"Deprecated since version {deprecated}, will be removed in version {removed}" -msgstr "" -"Tidak digunakan lagi karena versi {deprecated}, akan dihapus dalam versi " -"{removed}" - -#: ../../tools/templates/dummy.html:31 -msgid "Deprecated since version {deprecated}, removed in version {removed}" -msgstr "" -"Tidak digunakan lagi karena versi {deprecated}, akan dihapus dalam versi " -"{removed}" - -#: ../../tools/templates/dummy.html:35 -msgid "in development" -msgstr "" - -#: ../../tools/templates/dummy.html:36 -msgid "pre-release" -msgstr "" - -#: ../../tools/templates/dummy.html:37 -msgid "stable" -msgstr "" - -#: ../../tools/templates/dummy.html:38 -msgid "security-fixes" -msgstr "" - -#: ../../tools/templates/dummy.html:39 -msgid "EOL" -msgstr "" - -#: ../../tools/templates/indexcontent.html:21 -msgid "Welcome! This is the official documentation for Python %(release)s." -msgstr "" - -#: ../../tools/templates/indexcontent.html:23 -msgid "Documentation sections:" -msgstr "" - -#: ../../tools/templates/indexcontent.html:26 -msgid "What's new in Python %(version)s?" -msgstr "Apa yang baru di Python %(version)s?" - -#: ../../tools/templates/indexcontent.html:27 -msgid "" -"Or all \"What's new\" documents since Python " -"2.0" -msgstr "" - -#: ../../tools/templates/indexcontent.html:28 -msgid "Tutorial" -msgstr "Tutorial" - -#: ../../tools/templates/indexcontent.html:29 -msgid "Start here: a tour of Python's syntax and features" -msgstr "" - -#: ../../tools/templates/indexcontent.html:30 -msgid "Library reference" -msgstr "" - -#: ../../tools/templates/indexcontent.html:31 -msgid "Standard library and builtins" -msgstr "" - -#: ../../tools/templates/indexcontent.html:32 -msgid "Language reference" -msgstr "" - -#: ../../tools/templates/indexcontent.html:33 -msgid "Syntax and language elements" -msgstr "" - -#: ../../tools/templates/indexcontent.html:34 -msgid "Python setup and usage" -msgstr "" - -#: ../../tools/templates/indexcontent.html:35 -msgid "How to install, configure, and use Python" -msgstr "" - -#: ../../tools/templates/indexcontent.html:36 -msgid "Python HOWTOs" -msgstr "HOWTOs Python" - -#: ../../tools/templates/indexcontent.html:37 -msgid "In-depth topic manuals" -msgstr "" - -#: ../../tools/templates/indexcontent.html:39 -msgid "Installing Python modules" -msgstr "" - -#: ../../tools/templates/indexcontent.html:40 -msgid "Third-party modules and PyPI.org" -msgstr "" - -#: ../../tools/templates/indexcontent.html:41 -msgid "Distributing Python modules" -msgstr "" - -#: ../../tools/templates/indexcontent.html:42 -msgid "Publishing modules for use by other people" -msgstr "" - -#: ../../tools/templates/indexcontent.html:43 -msgid "Extending and embedding" -msgstr "" - -#: ../../tools/templates/indexcontent.html:44 -msgid "For C/C++ programmers" -msgstr "" - -#: ../../tools/templates/indexcontent.html:45 -msgid "Python's C API" -msgstr "" - -#: ../../tools/templates/indexcontent.html:46 -msgid "C API reference" -msgstr "" - -#: ../../tools/templates/indexcontent.html:47 -msgid "FAQs" -msgstr "FAQs" - -#: ../../tools/templates/indexcontent.html:48 -msgid "Frequently asked questions (with answers!)" -msgstr "" - -#: ../../tools/templates/indexcontent.html:49 -msgid "Deprecations" -msgstr "" - -#: ../../tools/templates/indexcontent.html:50 -msgid "Deprecated functionality" -msgstr "" - -#: ../../tools/templates/indexcontent.html:54 -msgid "Indices, glossary, and search:" -msgstr "" - -#: ../../tools/templates/indexcontent.html:57 -msgid "Global module index" -msgstr "" - -#: ../../tools/templates/indexcontent.html:58 -msgid "All modules and libraries" -msgstr "" - -#: ../../tools/templates/indexcontent.html:59 -msgid "General index" -msgstr "" - -#: ../../tools/templates/indexcontent.html:60 -msgid "All functions, classes, and terms" -msgstr "" - -#: ../../tools/templates/indexcontent.html:61 -msgid "Glossary" -msgstr "Ikhtisar" - -#: ../../tools/templates/indexcontent.html:62 -msgid "Terms explained" -msgstr "" - -#: ../../tools/templates/indexcontent.html:64 -msgid "Search page" -msgstr "Halaman pencarian" - -#: ../../tools/templates/indexcontent.html:65 -msgid "Search this documentation" -msgstr "" - -#: ../../tools/templates/indexcontent.html:66 -msgid "Complete table of contents" -msgstr "" - -#: ../../tools/templates/indexcontent.html:67 -msgid "Lists all sections and subsections" -msgstr "" - -#: ../../tools/templates/indexcontent.html:71 -msgid "Project information:" -msgstr "" - -#: ../../tools/templates/indexcontent.html:74 -msgid "Reporting issues" -msgstr "" - -#: ../../tools/templates/indexcontent.html:75 -msgid "Contributing to Docs" -msgstr "Berkontribusi ke Dokumen" - -#: ../../tools/templates/indexcontent.html:76 -msgid "Download the documentation" -msgstr "" - -#: ../../tools/templates/indexcontent.html:78 -msgid "History and license of Python" -msgstr "" - -#: ../../tools/templates/indexcontent.html:79 -msgid "Copyright" -msgstr "Hak Cipta" - -#: ../../tools/templates/indexcontent.html:80 -msgid "About the documentation" -msgstr "Tentang dokumentasi" - -#: ../../tools/templates/indexsidebar.html:2 -msgid "Download these documents" -msgstr "Unduh dokumen-dokumen ini" - -#: ../../tools/templates/indexsidebar.html:3 -msgid "Docs by version" -msgstr "Dokumen menurut versi" - -#: ../../tools/templates/indexsidebar.html:7 -msgid "All versions" -msgstr "Semua versi" - -#: ../../tools/templates/indexsidebar.html:9 -msgid "Other resources" -msgstr "Sumber daya lain" - -#: ../../tools/templates/indexsidebar.html:12 -msgid "PEP Index" -msgstr "Indeks PEP" - -#: ../../tools/templates/indexsidebar.html:13 -msgid "Beginner's Guide" -msgstr "Panduan Pemula" - -#: ../../tools/templates/indexsidebar.html:14 -msgid "Book List" -msgstr "Daftar Buku" - -#: ../../tools/templates/indexsidebar.html:15 -msgid "Audio/Visual Talks" -msgstr "Perbincangan Audio/Visual" - -#: ../../tools/templates/indexsidebar.html:16 -msgid "Python Developer’s Guide" -msgstr "Pandungan Pengembang Python" - -#: ../../tools/templates/layout.html:6 -msgid "" -"This document is for an old version of Python that is no longer supported.\n" -" You should upgrade, and read the" -msgstr "" - -#: ../../tools/templates/layout.html:8 -msgid "Python documentation for the current stable release" -msgstr "" - -#: ../../tools/templates/layout.html:14 -msgid "" -"This is a deploy preview created from a pull request.\n" -" For authoritative documentation, see" -msgstr "" - -#: ../../tools/templates/layout.html:16 -msgid "the current stable release" -msgstr "" diff --git a/python-newest.tutorial--appendix/id.po b/python-newest.tutorial--appendix/id.po deleted file mode 100644 index 8acd794..0000000 --- a/python-newest.tutorial--appendix/id.po +++ /dev/null @@ -1,261 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/appendix.rst:5 -msgid "Appendix" -msgstr "Lampiran" - -#: ../../tutorial/appendix.rst:11 -msgid "Interactive Mode" -msgstr "Mode Interaktif" - -#: ../../tutorial/appendix.rst:13 -msgid "" -"There are two variants of the interactive :term:`REPL`. The classic basic " -"interpreter is supported on all platforms with minimal line control " -"capabilities." -msgstr "" - -#: ../../tutorial/appendix.rst:17 -msgid "" -"On Windows, or Unix-like systems with :mod:`curses` support, a new " -"interactive shell is used by default. This one supports color, multiline " -"editing, history browsing, and paste mode. To disable color, see " -":ref:`using-on-controlling-color` for details. Function keys provide some " -"additional functionality. :kbd:`F1` enters the interactive help browser " -":mod:`pydoc`. :kbd:`F2` allows for browsing command-line history with " -"neither output nor the :term:`>>>` and :term:`...` prompts. :kbd:`F3` enters" -" \"paste mode\", which makes pasting larger blocks of code easier. Press " -":kbd:`F3` to return to the regular prompt." -msgstr "" - -#: ../../tutorial/appendix.rst:28 -msgid "" -"When using the new interactive shell, exit the shell by typing :kbd:`exit` " -"or :kbd:`quit`. Adding call parentheses after those commands is not " -"required." -msgstr "" - -#: ../../tutorial/appendix.rst:32 -msgid "" -"If the new interactive shell is not desired, it can be disabled via the " -":envvar:`PYTHON_BASIC_REPL` environment variable." -msgstr "" - -#: ../../tutorial/appendix.rst:38 -msgid "Error Handling" -msgstr "Penanganan Kesalahan" - -#: ../../tutorial/appendix.rst:40 -msgid "" -"When an error occurs, the interpreter prints an error message and a stack " -"trace. In interactive mode, it then returns to the primary prompt; when " -"input came from a file, it exits with a nonzero exit status after printing " -"the stack trace. (Exceptions handled by an :keyword:`except` clause in a " -":keyword:`try` statement are not errors in this context.) Some errors are " -"unconditionally fatal and cause an exit with a nonzero exit status; this " -"applies to internal inconsistencies and some cases of running out of memory." -" All error messages are written to the standard error stream; normal output" -" from executed commands is written to standard output." -msgstr "" - -#: ../../tutorial/appendix.rst:50 -msgid "" -"Typing the interrupt character (usually :kbd:`Control-C` or :kbd:`Delete`) " -"to the primary or secondary prompt cancels the input and returns to the " -"primary prompt. [#]_ Typing an interrupt while a command is executing raises" -" the :exc:`KeyboardInterrupt` exception, which may be handled by a " -":keyword:`try` statement." -msgstr "" -"Mengetik karakter interupsi (biasanya :kbd:`Control-C` atau :kbd:`Delete`) " -"ke prompt utama atau sekunder membatalkan masukan dan kembali ke prompt " -"utama. [#]_ Mengetik interupsi saat sebuah perintah dieksekusi memunculkan " -"pengecualian :exc:`KeyboardInterrupt`, yang dapat ditangani oleh pernyataan " -":keyword:` try`." - -#: ../../tutorial/appendix.rst:60 -msgid "Executable Python Scripts" -msgstr "Skrip Python Yang Dapat Dieksekusi" - -#: ../../tutorial/appendix.rst:62 -msgid "" -"On BSD'ish Unix systems, Python scripts can be made directly executable, " -"like shell scripts, by putting the line ::" -msgstr "" -"Pada sistem Unix BSD'ish, skrip Python dapat dibuat langsung dapat " -"dieksekusi, seperti skrip shell, dengan meletakkan baris ::" - -#: ../../tutorial/appendix.rst:65 -msgid "#!/usr/bin/env python3" -msgstr "#!/usr/bin/env python3" - -#: ../../tutorial/appendix.rst:67 -msgid "" -"(assuming that the interpreter is on the user's :envvar:`PATH`) at the " -"beginning of the script and giving the file an executable mode. The ``#!`` " -"must be the first two characters of the file. On some platforms, this first" -" line must end with a Unix-style line ending (``'\\n'``), not a Windows " -"(``'\\r\\n'``) line ending. Note that the hash, or pound, character, " -"``'#'``, is used to start a comment in Python." -msgstr "" -"(dengan asumsi bahwa interpreter ada di :envvar:`PATH` pengguna) di awal " -"skrip dan memberikan mode pada berkas untuk dapat dieksekusi. ``#!`` Harus " -"merupakan dua karakter pertama dari file tersebut. Pada beberapa platform, " -"baris pertama ini harus diakhiri dengan akhiran bergaya Unix (``'\\n'``), " -"bukan akhiran Windows (``'\\r\\n'``). Perhatikan bahwa hash, atau pon, " -"karakter, ``'#'``, digunakan untuk memulai komentar dengan Python." - -#: ../../tutorial/appendix.rst:74 -msgid "" -"The script can be given an executable mode, or permission, using the " -":program:`chmod` command." -msgstr "" -"Skrip bisa diberikan mode yang dapat dieksekusi, atau izin, menggunakan " -"perintah :program:`chmod`." - -#: ../../tutorial/appendix.rst:77 -msgid "$ chmod +x myscript.py" -msgstr "$ chmod +x myscript.py" - -#: ../../tutorial/appendix.rst:81 -msgid "" -"On Windows systems, there is no notion of an \"executable mode\". The " -"Python installer automatically associates ``.py`` files with ``python.exe`` " -"so that a double-click on a Python file will run it as a script. The " -"extension can also be ``.pyw``, in that case, the console window that " -"normally appears is suppressed." -msgstr "" -"Pada sistem Windows, tidak ada gagasan tentang \"mode yang dapat " -"dieksekusi\". Pemasang Python secara otomatis mengaitkan file ``.py`` dengan" -" ``python.exe`` sehingga klik dua kali pada file Python akan menjalankannya " -"sebagai skrip. Ekstensi juga bisa ``.pyw``, dalam hal ini, jendela konsol " -"yang biasanya muncul dihilangkan." - -#: ../../tutorial/appendix.rst:91 -msgid "The Interactive Startup File" -msgstr "Berkas Permulaan Interaktif" - -#: ../../tutorial/appendix.rst:93 -msgid "" -"When you use Python interactively, it is frequently handy to have some " -"standard commands executed every time the interpreter is started. You can " -"do this by setting an environment variable named :envvar:`PYTHONSTARTUP` to " -"the name of a file containing your start-up commands. This is similar to " -"the :file:`.profile` feature of the Unix shells." -msgstr "" -"Ketika Anda menggunakan Python secara interaktif, seringkali berguna untuk " -"menjalankan beberapa perintah standar setiap kali interpreter dimulai. Anda " -"dapat melakukan ini dengan mengatur variabel lingkungan bernama " -":envvar:`PYTHONSTARTUP` ke nama berkas yang berisi perintah permulaan Anda. " -"Ini mirip dengan fitur :file:`.profile` dari shell Unix." - -#: ../../tutorial/appendix.rst:99 -msgid "" -"This file is only read in interactive sessions, not when Python reads " -"commands from a script, and not when :file:`/dev/tty` is given as the " -"explicit source of commands (which otherwise behaves like an interactive " -"session). It is executed in the same namespace where interactive commands " -"are executed, so that objects that it defines or imports can be used without" -" qualification in the interactive session. You can also change the prompts " -"``sys.ps1`` and ``sys.ps2`` in this file." -msgstr "" -"File ini hanya dibaca dalam sesi interaktif, bukan ketika Python membaca " -"perintah dari skrip, dan bukan ketika :file:`/dev/tty` diberikan sebagai " -"sumber perintah eksplisit (yang jika tidak berperilaku seperti sesi " -"interaktif). Itu dieksekusi di namespace yang sama di mana perintah " -"interaktif dieksekusi, sehingga objek yang didefinisikan atau impor dapat " -"digunakan tanpa kualifikasi dalam sesi interaktif. Anda juga dapat mengubah " -"prompt ``sys.ps1`` dan ``sys.ps2`` dalam file ini." - -#: ../../tutorial/appendix.rst:107 -msgid "" -"If you want to read an additional start-up file from the current directory, " -"you can program this in the global start-up file using code like ``if " -"os.path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read())``. If you " -"want to use the startup file in a script, you must do this explicitly in the" -" script::" -msgstr "" -"Jika Anda ingin membaca berkas permulaan tambahan dari direktori saat ini, " -"Anda dapat memrogram ini dalam berkas permulaan global menggunakan kode " -"seperti ``if os.path.isfile('.pythonrc.py'): " -"exec(open('.pythonrc.py').read())``. Jika Anda ingin menggunakan berkas " -"permulaan dalam skrip, Anda harus melakukan ini secara eksplisit dalam " -"skrip::" - -#: ../../tutorial/appendix.rst:113 -msgid "" -"import os\n" -"filename = os.environ.get('PYTHONSTARTUP')\n" -"if filename and os.path.isfile(filename):\n" -" with open(filename) as fobj:\n" -" startup_file = fobj.read()\n" -" exec(startup_file)" -msgstr "" - -#: ../../tutorial/appendix.rst:124 -msgid "The Customization Modules" -msgstr "Modul Ubahsuaian" - -#: ../../tutorial/appendix.rst:126 -msgid "" -"Python provides two hooks to let you customize it: :index:`sitecustomize` " -"and :index:`usercustomize`. To see how it works, you need first to find the" -" location of your user site-packages directory. Start Python and run this " -"code::" -msgstr "" - -#: ../../tutorial/appendix.rst:130 -msgid "" -">>> import site\n" -">>> site.getusersitepackages()\n" -"'/home/user/.local/lib/python3.x/site-packages'" -msgstr "" - -#: ../../tutorial/appendix.rst:134 -msgid "" -"Now you can create a file named :file:`usercustomize.py` in that directory " -"and put anything you want in it. It will affect every invocation of Python," -" unless it is started with the :option:`-s` option to disable the automatic " -"import." -msgstr "" -"Sekarang Anda dapat membuat file bernama :file:`usercustomize.py` di " -"direktori itu dan memasukkan apa pun yang Anda inginkan di dalamnya. Ini " -"akan memengaruhi setiap seruan dari Python, kecuali dimulai dengan opsi " -":option:`-s` untuk menonaktifkan impor otomatis." - -#: ../../tutorial/appendix.rst:138 -msgid "" -":index:`sitecustomize` works in the same way, but is typically created by an" -" administrator of the computer in the global site-packages directory, and is" -" imported before :index:`usercustomize`. See the documentation of the " -":mod:`site` module for more details." -msgstr "" - -#: ../../tutorial/appendix.rst:145 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../tutorial/appendix.rst:146 -msgid "A problem with the GNU Readline package may prevent this." -msgstr "Masalah dengan paket GNU Readline dapat mencegah hal ini." diff --git a/python-newest.tutorial--appetite/id.po b/python-newest.tutorial--appetite/id.po deleted file mode 100644 index 1174a22..0000000 --- a/python-newest.tutorial--appetite/id.po +++ /dev/null @@ -1,229 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/appetite.rst:5 -msgid "Whetting Your Appetite" -msgstr "Membangkitkan Selera Anda" - -#: ../../tutorial/appetite.rst:7 -msgid "" -"If you do much work on computers, eventually you find that there's some task" -" you'd like to automate. For example, you may wish to perform a search-and-" -"replace over a large number of text files, or rename and rearrange a bunch " -"of photo files in a complicated way. Perhaps you'd like to write a small " -"custom database, or a specialized GUI application, or a simple game." -msgstr "" -"Jika Anda melakukan banyak pekerjaan pada komputer, pada akhirnya Anda " -"menemukan bahwa ada beberapa tugas yang ingin Anda lakukan secara otomatis. " -"Misalnya, Anda mungkin ingin melakukan pencarian-dan-ganti dari sejumlah " -"besar berkas teks, atau ganti nama dan atur ulang banyak file foto dengan " -"cara yang rumit. Mungkin Anda ingin menulis basis data khusus kecil, atau " -"aplikasi GUI khusus, atau permainan sederhana." - -#: ../../tutorial/appetite.rst:13 -msgid "" -"If you're a professional software developer, you may have to work with " -"several C/C++/Java libraries but find the usual write/compile/test/re-" -"compile cycle is too slow. Perhaps you're writing a test suite for such a " -"library and find writing the testing code a tedious task. Or maybe you've " -"written a program that could use an extension language, and you don't want " -"to design and implement a whole new language for your application." -msgstr "" -"Jika Anda seorang pengembang perangkat lunak profesional, Anda mungkin harus" -" bekerja dengan beberapa pustaka C/C++ /Java tetapi menemukan siklus " -"penulisan/kompilasi/pengujian/kompilasi ulang yang biasa terlalu lambat. " -"Mungkin Anda sedang menulis serangkaian pengujian untuk pustaka seperti itu " -"dan menemukan menulis kode pengujian tugas yang membosankan. Atau mungkin " -"Anda telah menulis sebuah program yang dapat menggunakan bahasa ekstensi, " -"dan Anda tidak ingin merancang dan mengimplementasikan bahasa yang sama " -"sekali baru untuk aplikasi Anda." - -#: ../../tutorial/appetite.rst:20 -msgid "Python is just the language for you." -msgstr "Python adalah bahasa yang sesuai untuk Anda." - -#: ../../tutorial/appetite.rst:22 -msgid "" -"You could write a Unix shell script or Windows batch files for some of these" -" tasks, but shell scripts are best at moving around files and changing text " -"data, not well-suited for GUI applications or games. You could write a " -"C/C++/Java program, but it can take a lot of development time to get even a " -"first-draft program. Python is simpler to use, available on Windows, macOS," -" and Unix operating systems, and will help you get the job done more " -"quickly." -msgstr "" -"Anda dapat menuliskan skrip Unix shell atau file batch Windows untuk " -"beberapa tugas, tetapi skrip shell paling baik dalam memindahkan file dan " -"mengubah data teks, tidak cocok untuk aplikasi GUI atau game. Anda dapat " -"menulis program C/C++/Java, tetapi membutuhkan waktu pengembangan yang lama " -"untuk mendapatkan program draf pertama. Python lebih sederhana untuk " -"digunakan, tersedia di sistem operasi Windows, macOS, dan Unix, dan akan " -"membantu Anda menyelesaikan pekerjaan dengan lebih cepat." - -#: ../../tutorial/appetite.rst:29 -msgid "" -"Python is simple to use, but it is a real programming language, offering " -"much more structure and support for large programs than shell scripts or " -"batch files can offer. On the other hand, Python also offers much more " -"error checking than C, and, being a *very-high-level language*, it has high-" -"level data types built in, such as flexible arrays and dictionaries. " -"Because of its more general data types Python is applicable to a much larger" -" problem domain than Awk or even Perl, yet many things are at least as easy " -"in Python as in those languages." -msgstr "" -"Python mudah digunakan, tetapi ini adalah bahasa pemrograman nyata, " -"menawarkan lebih banyak struktur dan dukungan untuk program besar daripada " -"skrip *shell* atau berkas *batch* dapat tawarkan. Di sisi lain, Python juga " -"menawarkan pemeriksaan kesalahan jauh lebih banyak daripada C, dan, karena " -"*bahasa tingkat sangat tinggi*, ia memiliki tipe data tingkat tinggi yang " -"tertanam di dalamnya, seperti *arrays* dan *dictionary* yang fleksibel. " -"Karena tipe datanya yang lebih umum, Python dapat diterapkan pada domain " -"masalah yang jauh lebih besar daripada Awk atau bahkan Perl, namun banyak " -"hal yang setidaknya semudah dalam Python seperti pada bahasa-bahasa " -"tersebut." - -#: ../../tutorial/appetite.rst:37 -msgid "" -"Python allows you to split your program into modules that can be reused in " -"other Python programs. It comes with a large collection of standard modules" -" that you can use as the basis of your programs --- or as examples to start " -"learning to program in Python. Some of these modules provide things like " -"file I/O, system calls, sockets, and even interfaces to graphical user " -"interface toolkits like Tk." -msgstr "" -"Python memungkinkan Anda untuk membagi program Anda menjadi modul yang dapat" -" digunakan kembali dalam program Python lainnya. Muncul dengan koleksi besar" -" modul standar yang dapat Anda gunakan sebagai dasar program Anda --- atau " -"sebagai contoh untuk mulai belajar memprogram dengan Python. Beberapa modul " -"ini menyediakan hal-hal seperti berkas I/O, panggilan sistem, soket, dan " -"bahkan antarmuka ke *toolkit* antarmuka pengguna grafis seperti Tk." - -#: ../../tutorial/appetite.rst:44 -msgid "" -"Python is an interpreted language, which can save you considerable time " -"during program development because no compilation and linking is necessary." -" The interpreter can be used interactively, which makes it easy to " -"experiment with features of the language, to write throw-away programs, or " -"to test functions during bottom-up program development. It is also a handy " -"desk calculator." -msgstr "" -"Python adalah bahasa yang ditafsirkan, yang dapat menghemat waktu Anda " -"selama pengembangan program karena tidak diperlukan kompilasi dan penautan. " -"*interpreter* dapat digunakan secara interaktif, yang membuatnya mudah untuk" -" bereksperimen dengan fitur-fitur bahasa, untuk menulis *throw-away " -"programs*, atau untuk menguji fungsi selama pengembangan program *bottom-" -"up*. Ini juga merupakan kalkulator meja yang berguna." - -#: ../../tutorial/appetite.rst:50 -msgid "" -"Python enables programs to be written compactly and readably. Programs " -"written in Python are typically much shorter than equivalent C, C++, or " -"Java programs, for several reasons:" -msgstr "" -"Python memungkinkan program ditulis secara ringkas dan mudah dibaca. Program" -" yang ditulis dengan Python biasanya jauh lebih pendek daripada program C, " -"C++, atau Java yang setara, karena beberapa alasan:" - -#: ../../tutorial/appetite.rst:54 -msgid "" -"the high-level data types allow you to express complex operations in a " -"single statement;" -msgstr "" -"tipe data tingkat tinggi memungkinkan Anda untuk mengekspresikan operasi " -"yang kompleks dalam satu pernyataan;" - -#: ../../tutorial/appetite.rst:57 -msgid "" -"statement grouping is done by indentation instead of beginning and ending " -"brackets;" -msgstr "" -"pengelompokan pernyataan dilakukan dengan indentasi alih-alih tanda kurung " -"kurawal di awal dan akhir;" - -#: ../../tutorial/appetite.rst:60 -msgid "no variable or argument declarations are necessary." -msgstr "tidak ada deklarasi variabel atau argumen yang diperlukan." - -#: ../../tutorial/appetite.rst:62 -msgid "" -"Python is *extensible*: if you know how to program in C it is easy to add a " -"new built-in function or module to the interpreter, either to perform " -"critical operations at maximum speed, or to link Python programs to " -"libraries that may only be available in binary form (such as a vendor-" -"specific graphics library). Once you are really hooked, you can link the " -"Python interpreter into an application written in C and use it as an " -"extension or command language for that application." -msgstr "" -"Python bersifa *extensible*: jika Anda tahu cara memprogram dalam C, mudah " -"untuk menambahkan fungsi atau modul bawaan baru ke *interpreter*, baik untuk" -" melakukan operasi kritis dengan kecepatan maksimum, atau untuk menautkan " -"program Python ke perpustakaan yang mungkin hanya tersedia dalam bentuk " -"biner (seperti pustaka grafik spesifik vendor). Setelah Anda benar-benar " -"ketagihan, Anda dapat menautkan juru bahasa Python ke dalam aplikasi yang " -"ditulis dalam C dan menggunakannya sebagai ekstensi atau bahasa perintah " -"untuk aplikasi itu." - -#: ../../tutorial/appetite.rst:70 -msgid "" -"By the way, the language is named after the BBC show \"Monty Python's Flying" -" Circus\" and has nothing to do with reptiles. Making references to Monty " -"Python skits in documentation is not only allowed, it is encouraged!" -msgstr "" -"Ngomong-ngomong, bahasa tersebut dinamai menurut acara BBC \"Sirkus Terbang " -"Monty Python\" dan tidak ada hubungannya dengan reptil. Membuat referensi ke" -" sandiwara Monty Python dalam dokumentasi tidak hanya diizinkan, tetapi juga" -" dianjurkan!" - -#: ../../tutorial/appetite.rst:74 -msgid "" -"Now that you are all excited about Python, you'll want to examine it in some" -" more detail. Since the best way to learn a language is to use it, the " -"tutorial invites you to play with the Python interpreter as you read." -msgstr "" -"Sekarang Anda semua bersemangat tentang Python, Anda akan ingin memeriksanya" -" lebih terinci. Karena cara terbaik untuk belajar bahasa adalah " -"menggunakannya, tutorial mengundang Anda untuk bermain dengan *interpreter* " -"Python saat Anda membaca." - -#: ../../tutorial/appetite.rst:78 -msgid "" -"In the next chapter, the mechanics of using the interpreter are explained. " -"This is rather mundane information, but essential for trying out the " -"examples shown later." -msgstr "" -"Dalam bab selanjutnya, mekanisme penggunaan *interpreter* dijelaskan. Ini " -"adalah informasi yang biasa saja, tetapi penting untuk mencoba contoh yang " -"ditunjukkan nanti." - -#: ../../tutorial/appetite.rst:82 -msgid "" -"The rest of the tutorial introduces various features of the Python language " -"and system through examples, beginning with simple expressions, statements " -"and data types, through functions and modules, and finally touching upon " -"advanced concepts like exceptions and user-defined classes." -msgstr "" -"Sisa tutorial ini memperkenalkan berbagai fitur bahasa dan sistem Python " -"melalui contoh, dimulai dengan ekspresi sederhana, pernyataan dan tipe data," -" melalui fungsi dan modul, dan akhirnya menyentuh konsep-konsep lanjutan " -"seperti pengecualian dan kelas yang ditentukan pengguna." diff --git a/python-newest.tutorial--classes/id.po b/python-newest.tutorial--classes/id.po deleted file mode 100644 index c8a0ba1..0000000 --- a/python-newest.tutorial--classes/id.po +++ /dev/null @@ -1,1635 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/classes.rst:5 -msgid "Classes" -msgstr "Classes" - -#: ../../tutorial/classes.rst:7 -msgid "" -"Classes provide a means of bundling data and functionality together. " -"Creating a new class creates a new *type* of object, allowing new " -"*instances* of that type to be made. Each class instance can have " -"attributes attached to it for maintaining its state. Class instances can " -"also have methods (defined by its class) for modifying its state." -msgstr "" -"*Classes* atau kelas-kelas menyediakan sarana untuk menggabungkan data dan " -"fungsionalitas bersama. Membuat sebuah *class* baru menghasilkan objek " -"dengan *type* baru, memungkinkan dibuat *instance* baru dari tipe itu. " -"Setiap *instance* dari *class* dapat memiliki atribut yang melekat padanya " -"untuk mempertahankan kondisinya. *Instance* dari sebuah *class* juga dapat " -"memiliki metode (ditentukan oleh *class*) untuk memodifikasi kondisinya." - -#: ../../tutorial/classes.rst:13 -msgid "" -"Compared with other programming languages, Python's class mechanism adds " -"classes with a minimum of new syntax and semantics. It is a mixture of the " -"class mechanisms found in C++ and Modula-3. Python classes provide all the " -"standard features of Object Oriented Programming: the class inheritance " -"mechanism allows multiple base classes, a derived class can override any " -"methods of its base class or classes, and a method can call the method of a " -"base class with the same name. Objects can contain arbitrary amounts and " -"kinds of data. As is true for modules, classes partake of the dynamic " -"nature of Python: they are created at runtime, and can be modified further " -"after creation." -msgstr "" -"Dibandingkan dengan bahasa pemrograman lain, mekanisme kelas Python menambah" -" kelas dengan minimum sintaksis dan semantik baru. Ini adalah campuran dari " -"mekanisme kelas yang ditemukan dalam C++ dan Modula-3. Kelas Python " -"menyediakan semua fitur standar Pemrograman Berorientasi Objek: mekanisme " -"pewarisan kelas memungkinkan beberapa kelas dasar, kelas turunan dapat " -"menimpa metode apa pun dari kelas dasar atau kelasnya, dan metode dapat " -"memanggil metode kelas dasar dengan nama yang sama . Objek dapat berisi " -"jumlah dan jenis data yang berubah-ubah. Seperti halnya untuk modul, kelas " -"mengambil bagian dari sifat dinamis Python: mereka dibuat pada saat runtime," -" dan dapat dimodifikasi lebih lanjut setelah pembuatan." - -#: ../../tutorial/classes.rst:23 -msgid "" -"In C++ terminology, normally class members (including the data members) are " -"*public* (except see below :ref:`tut-private`), and all member functions are" -" *virtual*. As in Modula-3, there are no shorthands for referencing the " -"object's members from its methods: the method function is declared with an " -"explicit first argument representing the object, which is provided " -"implicitly by the call. As in Smalltalk, classes themselves are objects. " -"This provides semantics for importing and renaming. Unlike C++ and " -"Modula-3, built-in types can be used as base classes for extension by the " -"user. Also, like in C++, most built-in operators with special syntax " -"(arithmetic operators, subscripting etc.) can be redefined for class " -"instances." -msgstr "" -"Dalam terminologi C++, biasanya anggota kelas (termasuk anggota data) adalah" -" *public* (kecuali lihat di bawah :ref:`tut-private`), dan semua fungsi " -"anggota adalah *virtual*. Seperti dalam Modula-3, tidak ada singkatan untuk " -"merujuk anggota objek dari metodenya: fungsi metode dideklarasikan dengan " -"argumen pertama eksplisit yang mewakili objek, yang diberikan secara " -"implisit oleh panggilan. Seperti dalam Smalltalk, kelas itu sendiri adalah " -"objek. Ini memberikan semantik untuk mengimpor dan mengganti nama. Tidak " -"seperti C++ dan Modula-3, tipe bawaan dapat digunakan sebagai kelas dasar " -"untuk ekstensi oleh pengguna. Juga, seperti di C++, sebagian besar operator " -"bawaan dengan sintaks khusus (operator aritmatika, *subscripting* dll) dapat" -" didefinisikan ulang untuk *instance* kelas." - -#: ../../tutorial/classes.rst:34 -msgid "" -"(Lacking universally accepted terminology to talk about classes, I will make" -" occasional use of Smalltalk and C++ terms. I would use Modula-3 terms, " -"since its object-oriented semantics are closer to those of Python than C++, " -"but I expect that few readers have heard of it.)" -msgstr "" -"(Kurangnya terminologi yang diterima secara universal untuk berbicara " -"tentang kelas, saya akan sesekali menggunakan istilah Smalltalk dan C++. " -"Saya akan menggunakan istilah Modula-3, karena semantik berorientasi " -"objeknya lebih dekat dengan Python daripada C++, tapi saya berharap bahwa " -"beberapa pembaca pernah mendengarnya.)" - -#: ../../tutorial/classes.rst:43 -msgid "A Word About Names and Objects" -msgstr "Sepatah Kata Tentang Nama dan Objek" - -#: ../../tutorial/classes.rst:45 -msgid "" -"Objects have individuality, and multiple names (in multiple scopes) can be " -"bound to the same object. This is known as aliasing in other languages. " -"This is usually not appreciated on a first glance at Python, and can be " -"safely ignored when dealing with immutable basic types (numbers, strings, " -"tuples). However, aliasing has a possibly surprising effect on the " -"semantics of Python code involving mutable objects such as lists, " -"dictionaries, and most other types. This is usually used to the benefit of " -"the program, since aliases behave like pointers in some respects. For " -"example, passing an object is cheap since only a pointer is passed by the " -"implementation; and if a function modifies an object passed as an argument, " -"the caller will see the change --- this eliminates the need for two " -"different argument passing mechanisms as in Pascal." -msgstr "" -"Objek memiliki individualitas, dan banyak nama (dalam berbagai lingkup) " -"dapat terikat ke objek yang sama. Ini dikenal sebagai *aliasing* dalam " -"bahasa lain. Ini biasanya tidak dihargai pada pandangan pertama pada Python," -" dan dapat diabaikan dengan aman ketika berhadapan dengan tipe dasar yang " -"tidak dapat diubah (angka, string, *tuple*). Namun, *aliasing* memiliki efek" -" yang mungkin mengejutkan pada semantik kode Python yang melibatkan objek " -"yang bisa berubah seperti daftar *list*, kamus *dictionary*, dan sebagian " -"besar jenis lainnya. Ini biasanya digunakan untuk kepentingan program, " -"karena alias berperilaku seperti *pointers* dalam beberapa hal. Sebagai " -"contoh, melewatkan objek adalah murah karena hanya sebuah *pointer* " -"dilewatkan oleh implementasi; dan jika suatu fungsi memodifikasi objek yang " -"dilewatkan sebagai argumen, pemanggil akan melihat perubahan --- ini " -"menghilangkan kebutuhan untuk dua mekanisme yang berbeda melewatkan argumen " -"*argument passing* seperti dalam Pascal." - -#: ../../tutorial/classes.rst:61 -msgid "Python Scopes and Namespaces" -msgstr "Lingkup Python dan *Namespaces*" - -#: ../../tutorial/classes.rst:63 -msgid "" -"Before introducing classes, I first have to tell you something about " -"Python's scope rules. Class definitions play some neat tricks with " -"namespaces, and you need to know how scopes and namespaces work to fully " -"understand what's going on. Incidentally, knowledge about this subject is " -"useful for any advanced Python programmer." -msgstr "" -"Sebelum memperkenalkan kelas, pertama-tama saya harus memberi tahu Anda " -"tentang aturan ruang lingkup *scope* Python. Definisi kelas memainkan " -"beberapa trik rapi dengan ruang nama *namespaces*, dan Anda perlu tahu " -"bagaimana ruang lingkup dan ruang nama *namespaces* bekerja untuk sepenuhnya" -" memahami apa yang terjadi. Kebetulan, pengetahuan tentang subjek ini " -"berguna untuk programmer Python tingkat lanjut." - -#: ../../tutorial/classes.rst:69 -msgid "Let's begin with some definitions." -msgstr "Mari kita mulai dengan beberapa definisi." - -#: ../../tutorial/classes.rst:71 -msgid "" -"A *namespace* is a mapping from names to objects. Most namespaces are " -"currently implemented as Python dictionaries, but that's normally not " -"noticeable in any way (except for performance), and it may change in the " -"future. Examples of namespaces are: the set of built-in names (containing " -"functions such as :func:`abs`, and built-in exception names); the global " -"names in a module; and the local names in a function invocation. In a sense" -" the set of attributes of an object also form a namespace. The important " -"thing to know about namespaces is that there is absolutely no relation " -"between names in different namespaces; for instance, two different modules " -"may both define a function ``maximize`` without confusion --- users of the " -"modules must prefix it with the module name." -msgstr "" -"Sebuah *namespace* adalah pemetaan dari nama ke objek. Sebagian besar ruang " -"nama *namespace* saat ini diimplementasikan sebagai kamus *dictionary* " -"Python, tetapi itu biasanya tidak terlihat dengan cara apa pun (kecuali " -"untuk kinerja), dan itu mungkin berubah di masa depan. Contoh ruang nama " -"*namespace* adalah: himpunan nama bawaan (berisi fungsi seperti :func:`abs`," -" dan nama pengecualian bawaan); nama-nama global dalam sebuah modul; dan " -"nama-nama lokal dalam pemanggilan fungsi. Dalam arti himpunan atribut suatu " -"objek juga membentuk *namespace*. Hal penting yang perlu diketahui tentang " -"ruang nama *namespace* adalah sama sekali tidak ada hubungan antara nama " -"dalam ruang nama *namespace* yang berbeda; misalnya, dua modul yang berbeda " -"dapat mendefinisikan fungsi ``maximize`` tanpa kebingungan --- pengguna " -"modul harus memberikan awalan dengan nama modul." - -#: ../../tutorial/classes.rst:82 -msgid "" -"By the way, I use the word *attribute* for any name following a dot --- for " -"example, in the expression ``z.real``, ``real`` is an attribute of the " -"object ``z``. Strictly speaking, references to names in modules are " -"attribute references: in the expression ``modname.funcname``, ``modname`` is" -" a module object and ``funcname`` is an attribute of it. In this case there" -" happens to be a straightforward mapping between the module's attributes and" -" the global names defined in the module: they share the same namespace! " -"[#]_" -msgstr "" -"Ngomong-ngomong, saya menggunakan kata *attribute* untuk nama apa pun yang " -"mengikuti titik --- misalnya, dalam ekspresi ``z.real``, ``real`` adalah " -"atribut dari objek ``z`` . Sebenarnya, referensi ke nama dalam modul adalah " -"referensi atribut: dalam ekspresi ``modname.funcname``, ``modname`` adalah " -"objek modul dan ``funcname`` adalah atributnya. Dalam kasus ini akan terjadi" -" pemetaan langsung antara atribut modul dan nama global yang didefinisikan " -"dalam modul: mereka berbagi namespace yang sama! [#]_" - -#: ../../tutorial/classes.rst:90 -msgid "" -"Attributes may be read-only or writable. In the latter case, assignment to " -"attributes is possible. Module attributes are writable: you can write " -"``modname.the_answer = 42``. Writable attributes may also be deleted with " -"the :keyword:`del` statement. For example, ``del modname.the_answer`` will " -"remove the attribute :attr:`!the_answer` from the object named by " -"``modname``." -msgstr "" - -#: ../../tutorial/classes.rst:96 -msgid "" -"Namespaces are created at different moments and have different lifetimes. " -"The namespace containing the built-in names is created when the Python " -"interpreter starts up, and is never deleted. The global namespace for a " -"module is created when the module definition is read in; normally, module " -"namespaces also last until the interpreter quits. The statements executed " -"by the top-level invocation of the interpreter, either read from a script " -"file or interactively, are considered part of a module called " -":mod:`__main__`, so they have their own global namespace. (The built-in " -"names actually also live in a module; this is called :mod:`builtins`.)" -msgstr "" -"*Namespace* dibuat pada saat yang berbeda dan memiliki masa hidup yang " -"berbeda. *Namespace* yang berisi nama-nama bawaan dibuat ketika interpreter " -"Python dimulai, dan tidak pernah dihapus. *Namespace* global untuk modul " -"dibuat ketika definisi modul dibaca; biasanya, *namespace* modul juga " -"bertahan hingga *interpreter* berhenti. Pernyataan yang dieksekusi oleh " -"pemanggilan *interpreter* tingkat atas, baik membaca dari file skrip atau " -"secara interaktif, dianggap sebagai bagian dari modul yang disebut " -":mod:`__main__`, sehingga mereka memiliki namespace global sendiri. (Nama " -"bawaan sebenarnya juga hidup dalam modul; ini disebut :mod:`builtins`.)" - -#: ../../tutorial/classes.rst:106 -msgid "" -"The local namespace for a function is created when the function is called, " -"and deleted when the function returns or raises an exception that is not " -"handled within the function. (Actually, forgetting would be a better way to" -" describe what actually happens.) Of course, recursive invocations each " -"have their own local namespace." -msgstr "" -"*Namespace* lokal untuk suatu fungsi dibuat ketika fungsi dipanggil, dan " -"dihapus ketika fungsi kembali *returns* atau memunculkan pengecualian yang " -"tidak ditangani dalam fungsi tersebut. (Sebenarnya, melupakan akan menjadi " -"cara yang lebih baik untuk menggambarkan apa yang sebenarnya terjadi.) Tentu" -" saja, pemanggilan rekursif masing-masing memiliki ruang-nama *namespace* " -"lokal mereka sendiri." - -#: ../../tutorial/classes.rst:112 -msgid "" -"A *scope* is a textual region of a Python program where a namespace is " -"directly accessible. \"Directly accessible\" here means that an unqualified" -" reference to a name attempts to find the name in the namespace." -msgstr "" -"Suatu *scope* adalah wilayah tekstual dari program Python di mana " -"*namespace* dapat diakses secara langsung. \"Directly accessible\" di sini " -"berarti bahwa referensi yang tidak memenuhi syarat untuk suatu nama berusaha" -" menemukan nama tersebut di *namespace*." - -#: ../../tutorial/classes.rst:116 -msgid "" -"Although scopes are determined statically, they are used dynamically. At any" -" time during execution, there are 3 or 4 nested scopes whose namespaces are " -"directly accessible:" -msgstr "" -"Meskipun cakupan *scopes* ditentukan secara statis, mereka digunakan secara " -"dinamis. Setiap saat selama eksekusi, setidaknya ada 3 atau 4 cakupan " -"bersarang yang ruang nama-nya *namespaces* dapat diakses secara langsung:" - -#: ../../tutorial/classes.rst:120 -msgid "the innermost scope, which is searched first, contains the local names" -msgstr "" -"ruang lingkup *scope* terdalam, yang dicari pertama kali, berisi nama-nama " -"lokal" - -#: ../../tutorial/classes.rst:121 -msgid "" -"the scopes of any enclosing functions, which are searched starting with the " -"nearest enclosing scope, contain non-local, but also non-global names" -msgstr "" - -#: ../../tutorial/classes.rst:123 -msgid "the next-to-last scope contains the current module's global names" -msgstr "lingkup berikutnya *next-to-last* berisi nama global modul saat ini" - -#: ../../tutorial/classes.rst:124 -msgid "" -"the outermost scope (searched last) is the namespace containing built-in " -"names" -msgstr "" -"ruang lingkup *scope* terluar (dicari terakhir) adalah *namespace* yang " -"mengandung nama bawaan" - -#: ../../tutorial/classes.rst:126 -msgid "" -"If a name is declared global, then all references and assignments go " -"directly to the next-to-last scope containing the module's global names. To" -" rebind variables found outside of the innermost scope, the " -":keyword:`nonlocal` statement can be used; if not declared nonlocal, those " -"variables are read-only (an attempt to write to such a variable will simply " -"create a *new* local variable in the innermost scope, leaving the " -"identically named outer variable unchanged)." -msgstr "" - -#: ../../tutorial/classes.rst:133 -msgid "" -"Usually, the local scope references the local names of the (textually) " -"current function. Outside functions, the local scope references the same " -"namespace as the global scope: the module's namespace. Class definitions " -"place yet another namespace in the local scope." -msgstr "" -"Biasanya, cakupan lokal merujuk nama lokal dari fungsi (secara tekstual) " -"saat ini. Fungsi luar, lingkup lokal merujuk *namespace* yang sama dengan " -"lingkup global: *namespace* modul. Definisi kelas menempatkan namespace lain" -" dalam lingkup lokal." - -#: ../../tutorial/classes.rst:138 -msgid "" -"It is important to realize that scopes are determined textually: the global " -"scope of a function defined in a module is that module's namespace, no " -"matter from where or by what alias the function is called. On the other " -"hand, the actual search for names is done dynamically, at run time --- " -"however, the language definition is evolving towards static name resolution," -" at \"compile\" time, so don't rely on dynamic name resolution! (In fact, " -"local variables are already determined statically.)" -msgstr "" -"Penting untuk menyadari bahwa cakupan *scope* ditentukan secara tekstual: " -"ruang lingkup global dari suatu fungsi yang didefinisikan dalam modul adalah" -" ruang nama *namespace* modul itu, tidak peduli dari mana atau oleh apa " -"alias fungsi itu dipanggil. Di sisi lain, pencarian nama sebenarnya " -"dilakukan secara dinamis, pada saat *run time* --- namun, definisi bahasa " -"berkembang menuju resolusi nama statis, pada waktu \"compile\", jadi jangan " -"mengandalkan resolusi nama dinamis! (Faktanya, variabel lokal sudah " -"ditentukan secara statis.)" - -#: ../../tutorial/classes.rst:146 -msgid "" -"A special quirk of Python is that -- if no :keyword:`global` or " -":keyword:`nonlocal` statement is in effect -- assignments to names always go" -" into the innermost scope. Assignments do not copy data --- they just bind " -"names to objects. The same is true for deletions: the statement ``del x`` " -"removes the binding of ``x`` from the namespace referenced by the local " -"scope. In fact, all operations that introduce new names use the local " -"scope: in particular, :keyword:`import` statements and function definitions " -"bind the module or function name in the local scope." -msgstr "" -"Sebuah kekhasan khusus dari Python adalah bahwa -- jika tidak ada pernyataan" -" :keyword:`global` atau pernyataan :keyword:`nonlocal` yang berlaku -- " -"pemberian nilai untuk nama selalu masuk ke ruang lingkup terdalam. Pemberian" -" nilai tidak menyalin data --- mereka hanya mengikat nama ke objek. Hal yang" -" sama berlaku untuk penghapusan: pernyataan ``del x`` menghapus pengikatan " -"``x`` dari *namespace* yang dirujuk oleh lingkup *scope* lokal. Bahkan, " -"semua operasi yang memperkenalkan nama-nama baru menggunakan lingkup lokal: " -"khususnya, pernyataan :keyword:`import` dan definisi fungsi mengikat modul " -"atau nama fungsi di lingkup lokal." - -#: ../../tutorial/classes.rst:154 -msgid "" -"The :keyword:`global` statement can be used to indicate that particular " -"variables live in the global scope and should be rebound there; the " -":keyword:`nonlocal` statement indicates that particular variables live in an" -" enclosing scope and should be rebound there." -msgstr "" -"Pernyataan :keyword:`global` dapat digunakan untuk menunjukkan bahwa " -"variabel tertentu hidup dalam lingkup global dan harus kembali ke sana; " -"pernyataan :keyword:`nonlocal` menunjukkan bahwa variabel tertentu hidup " -"dalam cakupan terlampir dan harus dikembalikan ke sana." - -#: ../../tutorial/classes.rst:162 -msgid "Scopes and Namespaces Example" -msgstr "Contoh Lingkup *Scopes* dan Ruang Nama *Namespaces*" - -#: ../../tutorial/classes.rst:164 -msgid "" -"This is an example demonstrating how to reference the different scopes and " -"namespaces, and how :keyword:`global` and :keyword:`nonlocal` affect " -"variable binding::" -msgstr "" -"Ini adalah contoh yang menunjukkan cara mereferensikan lingkup *scopes* dan " -"ruang nama *namespaces* yang berbeda, dan bagaimana :keyword:`global` dan " -":keyword:`nonlocal` memengaruhi pengikatan variabel::" - -#: ../../tutorial/classes.rst:168 -msgid "" -"def scope_test():\n" -" def do_local():\n" -" spam = \"local spam\"\n" -"\n" -" def do_nonlocal():\n" -" nonlocal spam\n" -" spam = \"nonlocal spam\"\n" -"\n" -" def do_global():\n" -" global spam\n" -" spam = \"global spam\"\n" -"\n" -" spam = \"test spam\"\n" -" do_local()\n" -" print(\"After local assignment:\", spam)\n" -" do_nonlocal()\n" -" print(\"After nonlocal assignment:\", spam)\n" -" do_global()\n" -" print(\"After global assignment:\", spam)\n" -"\n" -"scope_test()\n" -"print(\"In global scope:\", spam)" -msgstr "" - -#: ../../tutorial/classes.rst:191 -msgid "The output of the example code is:" -msgstr "Keluaran dari contoh kode adalah:" - -#: ../../tutorial/classes.rst:193 -msgid "" -"After local assignment: test spam\n" -"After nonlocal assignment: nonlocal spam\n" -"After global assignment: nonlocal spam\n" -"In global scope: global spam" -msgstr "" - -#: ../../tutorial/classes.rst:200 -msgid "" -"Note how the *local* assignment (which is default) didn't change " -"*scope_test*\\'s binding of *spam*. The :keyword:`nonlocal` assignment " -"changed *scope_test*\\'s binding of *spam*, and the :keyword:`global` " -"assignment changed the module-level binding." -msgstr "" -"Perhatikan bagaimana pemberian nilai *local* (yang bawaan) tidak mengubah " -"*scope_test*\\s pengikatan *spam*. Pemberian nilai :keyword:`nonlocal` " -"mengubah *scope_test*\\'s pengikatan *spam*, dan pemberian nilai " -":keyword:`global` mengubah pengikatan level modul." - -#: ../../tutorial/classes.rst:205 -msgid "" -"You can also see that there was no previous binding for *spam* before the " -":keyword:`global` assignment." -msgstr "" -"Anda juga dapat melihat bahwa tidak ada pengikatan sebelumnya untuk *spam* " -"sebelum pemberian nilai :keyword:`global`." - -#: ../../tutorial/classes.rst:212 -msgid "A First Look at Classes" -msgstr "Pandangan Pertama tentang Kelas" - -#: ../../tutorial/classes.rst:214 -msgid "" -"Classes introduce a little bit of new syntax, three new object types, and " -"some new semantics." -msgstr "" -"Kelas memperkenalkan sedikit sintaks baru, tiga tipe objek baru, dan " -"beberapa semantik baru." - -#: ../../tutorial/classes.rst:221 -msgid "Class Definition Syntax" -msgstr "Sintaks Definisi Kelas" - -#: ../../tutorial/classes.rst:223 -msgid "The simplest form of class definition looks like this::" -msgstr "Bentuk definisi kelas paling sederhana terlihat seperti ini::" - -#: ../../tutorial/classes.rst:225 -msgid "" -"class ClassName:\n" -" \n" -" .\n" -" .\n" -" .\n" -" " -msgstr "" - -#: ../../tutorial/classes.rst:232 -msgid "" -"Class definitions, like function definitions (:keyword:`def` statements) " -"must be executed before they have any effect. (You could conceivably place " -"a class definition in a branch of an :keyword:`if` statement, or inside a " -"function.)" -msgstr "" -"Definisi kelas, seperti definisi fungsi (pernyataan :keyword:`def`) harus " -"dieksekusi sebelum mereka memiliki efek. (Anda dapat menempatkan definisi " -"kelas di cabang dari pernyataan :keyword:`if`, atau di dalam suatu fungsi.)" - -#: ../../tutorial/classes.rst:236 -msgid "" -"In practice, the statements inside a class definition will usually be " -"function definitions, but other statements are allowed, and sometimes useful" -" --- we'll come back to this later. The function definitions inside a class" -" normally have a peculiar form of argument list, dictated by the calling " -"conventions for methods --- again, this is explained later." -msgstr "" -"Dalam praktiknya, pernyataan di dalam definisi kelas biasanya akan menjadi " -"definisi fungsi, tetapi pernyataan lain diizinkan, dan terkadang berguna ---" -" kami akan kembali ke sini nanti. Definisi fungsi di dalam kelas biasanya " -"memiliki bentuk khusus daftar argumen, didikte oleh konvensi pemanggilan " -"untuk metode --- sekali lagi, ini dijelaskan nanti." - -#: ../../tutorial/classes.rst:242 -msgid "" -"When a class definition is entered, a new namespace is created, and used as " -"the local scope --- thus, all assignments to local variables go into this " -"new namespace. In particular, function definitions bind the name of the new" -" function here." -msgstr "" -"Ketika definisi kelas dimasukkan, *namespace* baru dibuat, dan digunakan " -"sebagai lingkup *scope* lokal --- dengan demikian, semua tugas untuk " -"variabel lokal masuk ke *namespace* baru ini. Secara khusus, definisi fungsi" -" mengikat nama fungsi baru di sini." - -#: ../../tutorial/classes.rst:247 -msgid "" -"When a class definition is left normally (via the end), a *class object* is " -"created. This is basically a wrapper around the contents of the namespace " -"created by the class definition; we'll learn more about class objects in the" -" next section. The original local scope (the one in effect just before the " -"class definition was entered) is reinstated, and the class object is bound " -"here to the class name given in the class definition header " -"(:class:`!ClassName` in the example)." -msgstr "" - -#: ../../tutorial/classes.rst:259 -msgid "Class Objects" -msgstr "Objek Kelas *Class Objects*" - -#: ../../tutorial/classes.rst:261 -msgid "" -"Class objects support two kinds of operations: attribute references and " -"instantiation." -msgstr "" -"Objek kelas mendukung dua jenis operasi: referensi atribut dan instansiasi." - -#: ../../tutorial/classes.rst:264 -msgid "" -"*Attribute references* use the standard syntax used for all attribute " -"references in Python: ``obj.name``. Valid attribute names are all the names" -" that were in the class's namespace when the class object was created. So, " -"if the class definition looked like this::" -msgstr "" -"*Attribute references* menggunakan sintaks standar yang digunakan untuk " -"semua referensi atribut dalam Python: ``obj.name``. Nama atribut yang valid " -"adalah semua nama yang ada di *namespace* kelas saat objek kelas dibuat. " -"Jadi, jika definisi kelas tampak seperti ini::" - -#: ../../tutorial/classes.rst:269 -msgid "" -"class MyClass:\n" -" \"\"\"A simple example class\"\"\"\n" -" i = 12345\n" -"\n" -" def f(self):\n" -" return 'hello world'" -msgstr "" - -#: ../../tutorial/classes.rst:276 -msgid "" -"then ``MyClass.i`` and ``MyClass.f`` are valid attribute references, " -"returning an integer and a function object, respectively. Class attributes " -"can also be assigned to, so you can change the value of ``MyClass.i`` by " -"assignment. :attr:`~type.__doc__` is also a valid attribute, returning the " -"docstring belonging to the class: ``\"A simple example class\"``." -msgstr "" - -#: ../../tutorial/classes.rst:282 -msgid "" -"Class *instantiation* uses function notation. Just pretend that the class " -"object is a parameterless function that returns a new instance of the class." -" For example (assuming the above class)::" -msgstr "" -"*instantiation* kelas menggunakan notasi fungsi. Hanya berpura-pura bahwa " -"objek kelas adalah fungsi tanpa parameter yang mengembalikan instance baru " -"dari kelas. Misalnya (dengan asumsi kelas di atas)::" - -#: ../../tutorial/classes.rst:286 ../../tutorial/classes.rst:303 -msgid "x = MyClass()" -msgstr "" - -#: ../../tutorial/classes.rst:288 -msgid "" -"creates a new *instance* of the class and assigns this object to the local " -"variable ``x``." -msgstr "" -"membuat *instance* baru dari kelas dan menetapkan objek ini ke variabel " -"lokal ``x``." - -#: ../../tutorial/classes.rst:291 -msgid "" -"The instantiation operation (\"calling\" a class object) creates an empty " -"object. Many classes like to create objects with instances customized to a " -"specific initial state. Therefore a class may define a special method named " -":meth:`~object.__init__`, like this::" -msgstr "" - -#: ../../tutorial/classes.rst:296 -msgid "" -"def __init__(self):\n" -" self.data = []" -msgstr "" - -#: ../../tutorial/classes.rst:299 -msgid "" -"When a class defines an :meth:`~object.__init__` method, class instantiation" -" automatically invokes :meth:`!__init__` for the newly created class " -"instance. So in this example, a new, initialized instance can be obtained " -"by::" -msgstr "" - -#: ../../tutorial/classes.rst:305 -msgid "" -"Of course, the :meth:`~object.__init__` method may have arguments for " -"greater flexibility. In that case, arguments given to the class " -"instantiation operator are passed on to :meth:`!__init__`. For example, ::" -msgstr "" - -#: ../../tutorial/classes.rst:309 -msgid "" -">>> class Complex:\n" -"... def __init__(self, realpart, imagpart):\n" -"... self.r = realpart\n" -"... self.i = imagpart\n" -"...\n" -">>> x = Complex(3.0, -4.5)\n" -">>> x.r, x.i\n" -"(3.0, -4.5)" -msgstr "" - -#: ../../tutorial/classes.rst:322 -msgid "Instance Objects" -msgstr "Objek *Instance*" - -#: ../../tutorial/classes.rst:324 -msgid "" -"Now what can we do with instance objects? The only operations understood by" -" instance objects are attribute references. There are two kinds of valid " -"attribute names: data attributes and methods." -msgstr "" -"Sekarang apa yang bisa kita lakukan dengan objek instan? Satu-satunya " -"operasi yang dipahami oleh objek instan adalah referensi atribut. Ada dua " -"jenis nama atribut yang valid: atribut data, dan metode." - -#: ../../tutorial/classes.rst:328 -msgid "" -"*Data attributes* correspond to \"instance variables\" in Smalltalk, and to " -"\"data members\" in C++. Data attributes need not be declared; like local " -"variables, they spring into existence when they are first assigned to. For " -"example, if ``x`` is the instance of :class:`!MyClass` created above, the " -"following piece of code will print the value ``16``, without leaving a " -"trace::" -msgstr "" - -#: ../../tutorial/classes.rst:334 -msgid "" -"x.counter = 1\n" -"while x.counter < 10:\n" -" x.counter = x.counter * 2\n" -"print(x.counter)\n" -"del x.counter" -msgstr "" - -#: ../../tutorial/classes.rst:340 -msgid "" -"The other kind of instance attribute reference is a *method*. A method is a " -"function that \"belongs to\" an object." -msgstr "" - -#: ../../tutorial/classes.rst:345 -msgid "" -"Valid method names of an instance object depend on its class. By " -"definition, all attributes of a class that are function objects define " -"corresponding methods of its instances. So in our example, ``x.f`` is a " -"valid method reference, since ``MyClass.f`` is a function, but ``x.i`` is " -"not, since ``MyClass.i`` is not. But ``x.f`` is not the same thing as " -"``MyClass.f`` --- it is a *method object*, not a function object." -msgstr "" -"Nama metode yang valid dari objek *instance* bergantung pada kelasnya. " -"Menurut definisi, semua atribut dari kelas yang merupakan objek fungsi " -"menentukan metode yang sesuai dari *instance*-nya. Jadi dalam contoh kita, " -"``x.f`` adalah referensi metode yang valid, karena ``MyClass.f`` adalah " -"fungsi, tetapi ``x.i`` tidak, karena ``MyClass.i`` tidak. Tetapi ``x.f`` " -"bukan hal yang sama dengan ``MyClass.f`` --- itu adalah *method object*, " -"bukan objek fungsi." - -#: ../../tutorial/classes.rst:356 -msgid "Method Objects" -msgstr "Metode Objek" - -#: ../../tutorial/classes.rst:358 -msgid "Usually, a method is called right after it is bound::" -msgstr "Biasanya, metode dipanggil tepat setelah itu terikat::" - -#: ../../tutorial/classes.rst:360 -msgid "x.f()" -msgstr "" - -#: ../../tutorial/classes.rst:362 -msgid "" -"In the :class:`!MyClass` example, this will return the string ``'hello " -"world'``. However, it is not necessary to call a method right away: ``x.f`` " -"is a method object, and can be stored away and called at a later time. For " -"example::" -msgstr "" - -#: ../../tutorial/classes.rst:366 -msgid "" -"xf = x.f\n" -"while True:\n" -" print(xf())" -msgstr "" - -#: ../../tutorial/classes.rst:370 -msgid "will continue to print ``hello world`` until the end of time." -msgstr "akan terus mencetak ``hello world`` hingga akhir waktu." - -#: ../../tutorial/classes.rst:372 -msgid "" -"What exactly happens when a method is called? You may have noticed that " -"``x.f()`` was called without an argument above, even though the function " -"definition for :meth:`!f` specified an argument. What happened to the " -"argument? Surely Python raises an exception when a function that requires an" -" argument is called without any --- even if the argument isn't actually " -"used..." -msgstr "" - -#: ../../tutorial/classes.rst:378 -msgid "" -"Actually, you may have guessed the answer: the special thing about methods " -"is that the instance object is passed as the first argument of the function." -" In our example, the call ``x.f()`` is exactly equivalent to " -"``MyClass.f(x)``. In general, calling a method with a list of *n* arguments" -" is equivalent to calling the corresponding function with an argument list " -"that is created by inserting the method's instance object before the first " -"argument." -msgstr "" -"Sebenarnya, Anda mungkin sudah menebak jawabannya: hal khusus tentang metode" -" adalah objek *instance* dilewatkan sebagai argumen pertama dari fungsi. " -"Dalam contoh kita, panggilan ``x.f()`` persis sama dengan ``MyClass.f(x)``. " -"Secara umum, memanggil metode dengan daftar argumen *n* setara dengan " -"memanggil fungsi yang sesuai dengan daftar argumen yang dibuat dengan " -"menyisipkan objek contoh metode sebelum argumen pertama." - -#: ../../tutorial/classes.rst:385 -msgid "" -"In general, methods work as follows. When a non-data attribute of an " -"instance is referenced, the instance's class is searched. If the name " -"denotes a valid class attribute that is a function object, references to " -"both the instance object and the function object are packed into a method " -"object. When the method object is called with an argument list, a new " -"argument list is constructed from the instance object and the argument list," -" and the function object is called with this new argument list." -msgstr "" - -#: ../../tutorial/classes.rst:398 -msgid "Class and Instance Variables" -msgstr "Variabel Kelas dan *Instance*" - -#: ../../tutorial/classes.rst:400 -msgid "" -"Generally speaking, instance variables are for data unique to each instance " -"and class variables are for attributes and methods shared by all instances " -"of the class::" -msgstr "" -"Secara umum, variabel *instance* adalah untuk data unik untuk setiap " -"*instance* dan variabel kelas adalah untuk atribut dan metode yang dibagikan" -" oleh semua *instance* kelas::" - -#: ../../tutorial/classes.rst:404 -msgid "" -"class Dog:\n" -"\n" -" kind = 'canine' # class variable shared by all instances\n" -"\n" -" def __init__(self, name):\n" -" self.name = name # instance variable unique to each instance\n" -"\n" -">>> d = Dog('Fido')\n" -">>> e = Dog('Buddy')\n" -">>> d.kind # shared by all dogs\n" -"'canine'\n" -">>> e.kind # shared by all dogs\n" -"'canine'\n" -">>> d.name # unique to d\n" -"'Fido'\n" -">>> e.name # unique to e\n" -"'Buddy'" -msgstr "" - -#: ../../tutorial/classes.rst:422 -msgid "" -"As discussed in :ref:`tut-object`, shared data can have possibly surprising " -"effects with involving :term:`mutable` objects such as lists and " -"dictionaries. For example, the *tricks* list in the following code should " -"not be used as a class variable because just a single list would be shared " -"by all *Dog* instances::" -msgstr "" -"Seperti yang dibahas dalam :ref:`tut-object`, data bersama dapat memiliki " -"efek yang mengejutkan dengan melibatkan objek :term:`mutable` seperti daftar" -" *lists* dan kamus *dictionaries*. Sebagai contoh, daftar *tricks* dalam " -"kode berikut tidak boleh digunakan sebagai variabel kelas karena hanya satu " -"daftar yang akan dibagikan oleh semua *Dog* instance::" - -#: ../../tutorial/classes.rst:428 -msgid "" -"class Dog:\n" -"\n" -" tricks = [] # mistaken use of a class variable\n" -"\n" -" def __init__(self, name):\n" -" self.name = name\n" -"\n" -" def add_trick(self, trick):\n" -" self.tricks.append(trick)\n" -"\n" -">>> d = Dog('Fido')\n" -">>> e = Dog('Buddy')\n" -">>> d.add_trick('roll over')\n" -">>> e.add_trick('play dead')\n" -">>> d.tricks # unexpectedly shared by all dogs\n" -"['roll over', 'play dead']" -msgstr "" - -#: ../../tutorial/classes.rst:445 -msgid "Correct design of the class should use an instance variable instead::" -msgstr "" -"Desain kelas yang benar harus menggunakan variabel *instance* sebagai " -"gantinya::" - -#: ../../tutorial/classes.rst:447 -msgid "" -"class Dog:\n" -"\n" -" def __init__(self, name):\n" -" self.name = name\n" -" self.tricks = [] # creates a new empty list for each dog\n" -"\n" -" def add_trick(self, trick):\n" -" self.tricks.append(trick)\n" -"\n" -">>> d = Dog('Fido')\n" -">>> e = Dog('Buddy')\n" -">>> d.add_trick('roll over')\n" -">>> e.add_trick('play dead')\n" -">>> d.tricks\n" -"['roll over']\n" -">>> e.tricks\n" -"['play dead']" -msgstr "" - -#: ../../tutorial/classes.rst:469 -msgid "Random Remarks" -msgstr "Keterangan Acak" - -#: ../../tutorial/classes.rst:473 -msgid "" -"If the same attribute name occurs in both an instance and in a class, then " -"attribute lookup prioritizes the instance::" -msgstr "" -"Jika nama atribut yang sama muncul di kedua *instance* dan di kelas, maka " -"pencarian atribut memprioritaskan *instance*::" - -#: ../../tutorial/classes.rst:476 -msgid "" -">>> class Warehouse:\n" -"... purpose = 'storage'\n" -"... region = 'west'\n" -"...\n" -">>> w1 = Warehouse()\n" -">>> print(w1.purpose, w1.region)\n" -"storage west\n" -">>> w2 = Warehouse()\n" -">>> w2.region = 'east'\n" -">>> print(w2.purpose, w2.region)\n" -"storage east" -msgstr "" - -#: ../../tutorial/classes.rst:488 -msgid "" -"Data attributes may be referenced by methods as well as by ordinary users " -"(\"clients\") of an object. In other words, classes are not usable to " -"implement pure abstract data types. In fact, nothing in Python makes it " -"possible to enforce data hiding --- it is all based upon convention. (On " -"the other hand, the Python implementation, written in C, can completely hide" -" implementation details and control access to an object if necessary; this " -"can be used by extensions to Python written in C.)" -msgstr "" -"Atribut data dapat dirujuk oleh metode dan juga oleh pengguna biasa " -"(\"clients\") dari suatu objek. Dengan kata lain, kelas tidak dapat " -"digunakan untuk mengimplementasikan tipe data abstrak murni. Faktanya, tidak" -" ada dalam Python yang memungkinkan untuk menegakkan *enforce* data yang " -"disembunyikan --- semuanya didasarkan pada konvensi. (Di sisi lain, " -"implementasi Python, ditulis dalam C, dapat sepenuhnya menyembunyikan detail" -" implementasi dan mengontrol akses ke objek jika perlu; ini dapat digunakan " -"oleh ekstensi ke Python yang ditulis dalam C.)" - -#: ../../tutorial/classes.rst:496 -msgid "" -"Clients should use data attributes with care --- clients may mess up " -"invariants maintained by the methods by stamping on their data attributes. " -"Note that clients may add data attributes of their own to an instance object" -" without affecting the validity of the methods, as long as name conflicts " -"are avoided --- again, a naming convention can save a lot of headaches here." -msgstr "" -"Klien harus menggunakan atribut data dengan hati-hati --- klien dapat " -"mengacaukan invarian yang dikelola oleh metode dengan menginjak *stamping* " -"atribut data mereka. Perhatikan bahwa klien dapat menambahkan atribut data " -"mereka sendiri ke objek *instance* tanpa memengaruhi validitas metode, " -"asalkan konflik nama dihindari --- sekali lagi, konvensi penamaan dapat " -"menghindarkan dari banyak sakit kepala di sini." - -#: ../../tutorial/classes.rst:502 -msgid "" -"There is no shorthand for referencing data attributes (or other methods!) " -"from within methods. I find that this actually increases the readability of" -" methods: there is no chance of confusing local variables and instance " -"variables when glancing through a method." -msgstr "" -"Tidak ada istilah untuk referensi atribut data (atau metode lain!) dari " -"dalam metode. Saya menemukan bahwa ini sebenarnya meningkatkan keterbacaan " -"metode: tidak ada kemungkinan membingungkan variabel lokal dan variabel " -"*instance* ketika melirik *glancing* melalui metode." - -#: ../../tutorial/classes.rst:507 -msgid "" -"Often, the first argument of a method is called ``self``. This is nothing " -"more than a convention: the name ``self`` has absolutely no special meaning " -"to Python. Note, however, that by not following the convention your code " -"may be less readable to other Python programmers, and it is also conceivable" -" that a *class browser* program might be written that relies upon such a " -"convention." -msgstr "" -"Seringkali, argumen pertama dari suatu metode disebut ``self``. Ini tidak " -"lebih dari sebuah konvensi: nama ``self`` sama sekali tidak memiliki arti " -"khusus untuk Python. Perhatikan, bagaimanapun, bahwa dengan tidak mengikuti " -"konvensi kode Anda mungkin kurang dapat dibaca oleh programmer Python lain, " -"dan juga dapat dibayangkan bahwa program *class browser* dapat ditulis yang " -"bergantung pada konvensi semacam itu." - -#: ../../tutorial/classes.rst:513 -msgid "" -"Any function object that is a class attribute defines a method for instances" -" of that class. It is not necessary that the function definition is " -"textually enclosed in the class definition: assigning a function object to a" -" local variable in the class is also ok. For example::" -msgstr "" -"Objek fungsi apa pun yang merupakan atribut kelas menentukan metode untuk " -"*instance* dari kelas itu. Tidak perlu bahwa definisi fungsi tertutup secara" -" teks dalam definisi kelas: menetapkan objek fungsi ke variabel lokal di " -"kelas juga ok. Sebagai contoh::" - -#: ../../tutorial/classes.rst:518 -msgid "" -"# Function defined outside the class\n" -"def f1(self, x, y):\n" -" return min(x, x+y)\n" -"\n" -"class C:\n" -" f = f1\n" -"\n" -" def g(self):\n" -" return 'hello world'\n" -"\n" -" h = g" -msgstr "" - -#: ../../tutorial/classes.rst:530 -msgid "" -"Now ``f``, ``g`` and ``h`` are all attributes of class :class:`!C` that " -"refer to function objects, and consequently they are all methods of " -"instances of :class:`!C` --- ``h`` being exactly equivalent to ``g``. Note " -"that this practice usually only serves to confuse the reader of a program." -msgstr "" - -#: ../../tutorial/classes.rst:535 -msgid "" -"Methods may call other methods by using method attributes of the ``self`` " -"argument::" -msgstr "" -"Metode dapat memanggil metode lain dengan menggunakan atribut metode dari " -"argumen ``self``::" - -#: ../../tutorial/classes.rst:538 -msgid "" -"class Bag:\n" -" def __init__(self):\n" -" self.data = []\n" -"\n" -" def add(self, x):\n" -" self.data.append(x)\n" -"\n" -" def addtwice(self, x):\n" -" self.add(x)\n" -" self.add(x)" -msgstr "" - -#: ../../tutorial/classes.rst:549 -msgid "" -"Methods may reference global names in the same way as ordinary functions. " -"The global scope associated with a method is the module containing its " -"definition. (A class is never used as a global scope.) While one rarely " -"encounters a good reason for using global data in a method, there are many " -"legitimate uses of the global scope: for one thing, functions and modules " -"imported into the global scope can be used by methods, as well as functions " -"and classes defined in it. Usually, the class containing the method is " -"itself defined in this global scope, and in the next section we'll find some" -" good reasons why a method would want to reference its own class." -msgstr "" -"Metode dapat merujuk nama global dengan cara yang sama seperti fungsi biasa." -" Ruang lingkup *scope* global yang terkait dengan suatu metode adalah modul " -"yang berisi definisinya. (Kelas tidak pernah digunakan sebagai ruang lingkup" -" *scope* global.) Sementara seseorang jarang menemukan alasan yang baik " -"untuk menggunakan data global dalam suatu metode, ada banyak penggunaan sah " -"lingkup global: untuk satu hal, fungsi dan modul yang diimpor ke dalam " -"lingkup global dapat digunakan oleh metode, serta fungsi dan kelas yang " -"didefinisikan di dalamnya. Biasanya, kelas yang berisi metode itu sendiri " -"didefinisikan dalam lingkup global ini, dan di bagian selanjutnya kita akan " -"menemukan beberapa alasan bagus mengapa suatu metode ingin merujuk kelasnya " -"sendiri." - -#: ../../tutorial/classes.rst:559 -msgid "" -"Each value is an object, and therefore has a *class* (also called its " -"*type*). It is stored as ``object.__class__``." -msgstr "" -"Setiap nilai adalah objek, dan karenanya memiliki *kelas* (juga disebut " -"sebagai *type*). Ini disimpan sebagai ``object.__class__``." - -#: ../../tutorial/classes.rst:566 -msgid "Inheritance" -msgstr "Pewarisan" - -#: ../../tutorial/classes.rst:568 -msgid "" -"Of course, a language feature would not be worthy of the name \"class\" " -"without supporting inheritance. The syntax for a derived class definition " -"looks like this::" -msgstr "" -"Tentu saja, fitur bahasa tidak akan layak untuk nama \"class\" tanpa " -"mendukung pewarisan. Sintaks untuk definisi kelas turunan terlihat seperti " -"ini::" - -#: ../../tutorial/classes.rst:572 -msgid "" -"class DerivedClassName(BaseClassName):\n" -" \n" -" .\n" -" .\n" -" .\n" -" " -msgstr "" - -#: ../../tutorial/classes.rst:579 -msgid "" -"The name :class:`!BaseClassName` must be defined in a namespace accessible " -"from the scope containing the derived class definition. In place of a base " -"class name, other arbitrary expressions are also allowed. This can be " -"useful, for example, when the base class is defined in another module::" -msgstr "" - -#: ../../tutorial/classes.rst:585 -msgid "class DerivedClassName(modname.BaseClassName):" -msgstr "" - -#: ../../tutorial/classes.rst:587 -msgid "" -"Execution of a derived class definition proceeds the same as for a base " -"class. When the class object is constructed, the base class is remembered. " -"This is used for resolving attribute references: if a requested attribute is" -" not found in the class, the search proceeds to look in the base class. " -"This rule is applied recursively if the base class itself is derived from " -"some other class." -msgstr "" -"Eksekusi definisi kelas turunan menghasilkan sama seperti untuk kelas dasar." -" Ketika objek kelas dibangun, kelas dasar diingat. Ini digunakan untuk " -"menyelesaikan referensi atribut: jika atribut yang diminta tidak ditemukan " -"di kelas, pencarian dilanjutkan untuk mencari di kelas dasar. Aturan ini " -"diterapkan secara rekursif jika kelas dasar itu sendiri berasal dari " -"beberapa kelas lain." - -#: ../../tutorial/classes.rst:593 -msgid "" -"There's nothing special about instantiation of derived classes: " -"``DerivedClassName()`` creates a new instance of the class. Method " -"references are resolved as follows: the corresponding class attribute is " -"searched, descending down the chain of base classes if necessary, and the " -"method reference is valid if this yields a function object." -msgstr "" -"Tidak ada yang istimewa tentang instance kelas turunan: " -"``DerivedClassName()`` membuat instance baru dari kelas. Referensi metode " -"diselesaikan sebagai berikut: atribut kelas yang sesuai dicari, turun rantai" -" kelas dasar jika perlu, dan referensi metode ini valid jika ini " -"menghasilkan objek fungsi." - -#: ../../tutorial/classes.rst:599 -msgid "" -"Derived classes may override methods of their base classes. Because methods" -" have no special privileges when calling other methods of the same object, a" -" method of a base class that calls another method defined in the same base " -"class may end up calling a method of a derived class that overrides it. " -"(For C++ programmers: all methods in Python are effectively ``virtual``.)" -msgstr "" -"Kelas turunan dapat menimpa metode kelas dasar mereka. Karena metode tidak " -"memiliki hak khusus ketika memanggil metode lain dari objek yang sama, " -"metode kelas dasar yang memanggil metode lain yang didefinisikan dalam kelas" -" dasar yang sama mungkin akhirnya memanggil metode kelas turunan yang " -"menimpanya. (Untuk programmer C++: semua metode dalam Python secara efektif " -"``virtual``.)" - -#: ../../tutorial/classes.rst:605 -msgid "" -"An overriding method in a derived class may in fact want to extend rather " -"than simply replace the base class method of the same name. There is a " -"simple way to call the base class method directly: just call " -"``BaseClassName.methodname(self, arguments)``. This is occasionally useful " -"to clients as well. (Note that this only works if the base class is " -"accessible as ``BaseClassName`` in the global scope.)" -msgstr "" -"Menimpa metode dalam kelas turunan mungkin sebenarnya ingin memperluas " -"daripada hanya mengganti metode kelas dasar dengan nama yang sama. Ada cara " -"sederhana untuk memanggil metode kelas dasar secara langsung: cukup panggil " -"``BaseClassName.methodname(self, arguments)``. Ini kadang-kadang berguna " -"untuk klien juga. (Perhatikan bahwa ini hanya berfungsi jika kelas dasar " -"dapat diakses sebagai ``BaseClassName`` dalam lingkup global.)" - -#: ../../tutorial/classes.rst:612 -msgid "Python has two built-in functions that work with inheritance:" -msgstr "Python memiliki dua fungsi bawaan yang bekerja dengan warisan:" - -#: ../../tutorial/classes.rst:614 -msgid "" -"Use :func:`isinstance` to check an instance's type: ``isinstance(obj, int)``" -" will be ``True`` only if ``obj.__class__`` is :class:`int` or some class " -"derived from :class:`int`." -msgstr "" -"Gunakan :func:`isinstance` untuk memeriksa jenis instance: ``isinstance(obj," -" int)`` akan menjadi ``True`` hanya jika ``obj.__class__`` adalah " -":class:`int` atau beberapa kelas yang diturunkan dari :class:`int`." - -#: ../../tutorial/classes.rst:618 -msgid "" -"Use :func:`issubclass` to check class inheritance: ``issubclass(bool, int)``" -" is ``True`` since :class:`bool` is a subclass of :class:`int`. However, " -"``issubclass(float, int)`` is ``False`` since :class:`float` is not a " -"subclass of :class:`int`." -msgstr "" -"Gunakan :func:`issubclass` untuk memeriksa warisan kelas: ``issubclass(bool," -" int)``adalah ``True`` karena :class:`bool` adalah subkelas dari " -":class:`int`. Namun, ``issubclass(float, int)`` adalah ``False`` karena " -":class:`float` bukan subkelas dari :class:`int`." - -#: ../../tutorial/classes.rst:628 -msgid "Multiple Inheritance" -msgstr "Pewarisan Berganda" - -#: ../../tutorial/classes.rst:630 -msgid "" -"Python supports a form of multiple inheritance as well. A class definition " -"with multiple base classes looks like this::" -msgstr "" -"Python mendukung bentuk pewarisan berganda juga. Definisi kelas dengan " -"beberapa kelas dasar terlihat seperti ini::" - -#: ../../tutorial/classes.rst:633 -msgid "" -"class DerivedClassName(Base1, Base2, Base3):\n" -" \n" -" .\n" -" .\n" -" .\n" -" " -msgstr "" - -#: ../../tutorial/classes.rst:640 -msgid "" -"For most purposes, in the simplest cases, you can think of the search for " -"attributes inherited from a parent class as depth-first, left-to-right, not " -"searching twice in the same class where there is an overlap in the " -"hierarchy. Thus, if an attribute is not found in :class:`!DerivedClassName`," -" it is searched for in :class:`!Base1`, then (recursively) in the base " -"classes of :class:`!Base1`, and if it was not found there, it was searched " -"for in :class:`!Base2`, and so on." -msgstr "" - -#: ../../tutorial/classes.rst:647 -msgid "" -"In fact, it is slightly more complex than that; the method resolution order " -"changes dynamically to support cooperative calls to :func:`super`. This " -"approach is known in some other multiple-inheritance languages as call-next-" -"method and is more powerful than the super call found in single-inheritance " -"languages." -msgstr "" -"Faktanya, ini sedikit lebih kompleks dari itu; urutan resolusi metode " -"berubah secara dinamis untuk mendukung pemanggilan kooperatif ke " -":func:`super`. Pendekatan ini dikenal dalam beberapa bahasa warisan ganda " -"sebagai metode panggilan-berikutnya *call-next-method* dan lebih berdaya " -"daripada panggilan super yang ditemukan dalam bahasa warisan tunggal." - -#: ../../tutorial/classes.rst:653 -msgid "" -"Dynamic ordering is necessary because all cases of multiple inheritance " -"exhibit one or more diamond relationships (where at least one of the parent " -"classes can be accessed through multiple paths from the bottommost class). " -"For example, all classes inherit from :class:`object`, so any case of " -"multiple inheritance provides more than one path to reach :class:`object`. " -"To keep the base classes from being accessed more than once, the dynamic " -"algorithm linearizes the search order in a way that preserves the left-to-" -"right ordering specified in each class, that calls each parent only once, " -"and that is monotonic (meaning that a class can be subclassed without " -"affecting the precedence order of its parents). Taken together, these " -"properties make it possible to design reliable and extensible classes with " -"multiple inheritance. For more detail, see :ref:`python_2.3_mro`." -msgstr "" - -#: ../../tutorial/classes.rst:670 -msgid "Private Variables" -msgstr "Variabel Privat" - -#: ../../tutorial/classes.rst:672 -msgid "" -"\"Private\" instance variables that cannot be accessed except from inside an" -" object don't exist in Python. However, there is a convention that is " -"followed by most Python code: a name prefixed with an underscore (e.g. " -"``_spam``) should be treated as a non-public part of the API (whether it is " -"a function, a method or a data member). It should be considered an " -"implementation detail and subject to change without notice." -msgstr "" -"Variabel instance \"Private\" yang tidak dapat diakses kecuali dari dalam " -"suatu objek tidak ada dalam Python. Namun, ada konvensi yang diikuti oleh " -"sebagian besar kode Python: nama diawali dengan garis bawah (mis. ``_spam``)" -" harus diperlakukan sebagai bagian non-publik dari API (apakah itu fungsi, " -"metode atau anggota data). Ini harus dianggap sebagai detail implementasi " -"dan dapat berubah tanpa pemberitahuan." - -#: ../../tutorial/classes.rst:682 -msgid "" -"Since there is a valid use-case for class-private members (namely to avoid " -"name clashes of names with names defined by subclasses), there is limited " -"support for such a mechanism, called :dfn:`name mangling`. Any identifier " -"of the form ``__spam`` (at least two leading underscores, at most one " -"trailing underscore) is textually replaced with ``_classname__spam``, where " -"``classname`` is the current class name with leading underscore(s) stripped." -" This mangling is done without regard to the syntactic position of the " -"identifier, as long as it occurs within the definition of a class." -msgstr "" -"Karena ada kasus penggunaan yang valid untuk anggota kelas-pribadi (yaitu " -"untuk menghindari bentrokan nama dengan nama yang ditentukan oleh subkelas)," -" ada dukungan terbatas untuk mekanisme semacam itu, yang disebut :dfn:`name " -"mangling`. Setiap pengidentifikasi dari bentuk ``__spam`` (setidaknya dua " -"garis bawah utama, paling banyak satu garis bawah garis bawah) secara teks " -"diganti dengan ``_classname__spam``, di mana ``classname`` adalah nama kelas" -" saat ini dengan garis(-garis) bawah utama dilucuti. *Mangling* ini " -"dilakukan tanpa memperhatikan posisi sintaksis pengidentifikasi, asalkan " -"terjadi dalam definisi kelas." - -#: ../../tutorial/classes.rst:693 -msgid "" -"The :ref:`private name mangling specifications ` for " -"details and special cases." -msgstr "" - -#: ../../tutorial/classes.rst:696 -msgid "" -"Name mangling is helpful for letting subclasses override methods without " -"breaking intraclass method calls. For example::" -msgstr "" -"*Name mangling* sangat membantu untuk membiarkan subclass menimpa metode " -"tanpa memutus panggilan metode *intraclass*. Sebagai contoh::" - -#: ../../tutorial/classes.rst:699 -msgid "" -"class Mapping:\n" -" def __init__(self, iterable):\n" -" self.items_list = []\n" -" self.__update(iterable)\n" -"\n" -" def update(self, iterable):\n" -" for item in iterable:\n" -" self.items_list.append(item)\n" -"\n" -" __update = update # private copy of original update() method\n" -"\n" -"class MappingSubclass(Mapping):\n" -"\n" -" def update(self, keys, values):\n" -" # provides new signature for update()\n" -" # but does not break __init__()\n" -" for item in zip(keys, values):\n" -" self.items_list.append(item)" -msgstr "" - -#: ../../tutorial/classes.rst:718 -msgid "" -"The above example would work even if ``MappingSubclass`` were to introduce a" -" ``__update`` identifier since it is replaced with ``_Mapping__update`` in " -"the ``Mapping`` class and ``_MappingSubclass__update`` in the " -"``MappingSubclass`` class respectively." -msgstr "" -"Contoh di atas akan berfungsi bahkan jika ``MappingSubclass`` akan " -"memperkenalkan sebuah pengidentifikasi ``__update`` karena diganti dengan " -"``_Mapping__update`` di kelas ``Mapping`` dan ``_MappingSubclass__update`` " -"di kelas ``MappingSubclass`` masing-masing." - -#: ../../tutorial/classes.rst:723 -msgid "" -"Note that the mangling rules are designed mostly to avoid accidents; it " -"still is possible to access or modify a variable that is considered private." -" This can even be useful in special circumstances, such as in the debugger." -msgstr "" -"Perhatikan bahwa aturan *mangling* sebagian besar dirancang untuk " -"menghindari kecelakaan; masih dimungkinkan untuk mengakses atau memodifikasi" -" variabel yang dianggap pribadi. Ini bahkan dapat berguna dalam keadaan " -"khusus, seperti di *debugger*." - -#: ../../tutorial/classes.rst:727 -msgid "" -"Notice that code passed to ``exec()`` or ``eval()`` does not consider the " -"classname of the invoking class to be the current class; this is similar to " -"the effect of the ``global`` statement, the effect of which is likewise " -"restricted to code that is byte-compiled together. The same restriction " -"applies to ``getattr()``, ``setattr()`` and ``delattr()``, as well as when " -"referencing ``__dict__`` directly." -msgstr "" -"Perhatikan bahwa kode yang dilewatkan ke ``exec()`` atau ``eval()`` tidak " -"menganggap nama kelas *classname* dari kelas yang dipanggil sebagai kelas " -"saat ini; ini mirip dengan efek pernyataan ``global``, yang efeknya juga " -"terbatas pada kode yang dikompilasi-byte *byte-compiled* bersama. Pembatasan" -" yang sama berlaku untuk ``getattr()``, ``setattr()`` dan ``delattr()``, " -"serta saat mereferensikan ``__dict__`` secara langsung." - -#: ../../tutorial/classes.rst:738 -msgid "Odds and Ends" -msgstr "Barang Sisa *Odds and Ends*" - -#: ../../tutorial/classes.rst:740 -msgid "" -"Sometimes it is useful to have a data type similar to the Pascal \"record\" " -"or C \"struct\", bundling together a few named data items. The idiomatic " -"approach is to use :mod:`dataclasses` for this purpose::" -msgstr "" - -#: ../../tutorial/classes.rst:744 -msgid "" -"from dataclasses import dataclass\n" -"\n" -"@dataclass\n" -"class Employee:\n" -" name: str\n" -" dept: str\n" -" salary: int" -msgstr "" - -#: ../../tutorial/classes.rst:754 -msgid "" -">>> john = Employee('john', 'computer lab', 1000)\n" -">>> john.dept\n" -"'computer lab'\n" -">>> john.salary\n" -"1000" -msgstr "" - -#: ../../tutorial/classes.rst:760 -msgid "" -"A piece of Python code that expects a particular abstract data type can " -"often be passed a class that emulates the methods of that data type instead." -" For instance, if you have a function that formats some data from a file " -"object, you can define a class with methods :meth:`~io.TextIOBase.read` and " -":meth:`~io.TextIOBase.readline` that get the data from a string buffer " -"instead, and pass it as an argument." -msgstr "" - -#: ../../tutorial/classes.rst:772 -msgid "" -":ref:`Instance method objects ` have attributes, too: " -":attr:`m.__self__ ` is the instance object with the method " -":meth:`!m`, and :attr:`m.__func__ ` is the :ref:`function " -"object ` corresponding to the method." -msgstr "" - -#: ../../tutorial/classes.rst:782 -msgid "Iterators" -msgstr "*Iterators*" - -#: ../../tutorial/classes.rst:784 -msgid "" -"By now you have probably noticed that most container objects can be looped " -"over using a :keyword:`for` statement::" -msgstr "" -"Sekarang Anda mungkin telah memperhatikan bahwa sebagian besar objek " -"penampung *container* dapat dibuat perulangan menggunakan pernyataan " -":keyword:`for`::" - -#: ../../tutorial/classes.rst:787 -msgid "" -"for element in [1, 2, 3]:\n" -" print(element)\n" -"for element in (1, 2, 3):\n" -" print(element)\n" -"for key in {'one':1, 'two':2}:\n" -" print(key)\n" -"for char in \"123\":\n" -" print(char)\n" -"for line in open(\"myfile.txt\"):\n" -" print(line, end='')" -msgstr "" - -#: ../../tutorial/classes.rst:798 -msgid "" -"This style of access is clear, concise, and convenient. The use of " -"iterators pervades and unifies Python. Behind the scenes, the " -":keyword:`for` statement calls :func:`iter` on the container object. The " -"function returns an iterator object that defines the method " -":meth:`~iterator.__next__` which accesses elements in the container one at a" -" time. When there are no more elements, :meth:`~iterator.__next__` raises a" -" :exc:`StopIteration` exception which tells the :keyword:`!for` loop to " -"terminate. You can call the :meth:`~iterator.__next__` method using the " -":func:`next` built-in function; this example shows how it all works::" -msgstr "" -"Gaya akses ini jelas, ringkas, dan nyaman. Penggunaan *iterator* meliputi " -"*pervades* dan menyatukan Python. Di belakang layar, pernyataan " -":keyword:`for` memanggil :func:`iter` pada objek penampung *container*. " -"Fungsi mengembalikan objek *iterator* yang mendefinisikan metode " -":meth:`~iterator.__next__` yang mengakses elemen dalam penampung *container*" -" satu per satu. Ketika tidak ada lagi elemen, :meth:`~iterator.__next__` " -"memunculkan pengecualian :exc:`StopIteration` yang memberi tahu perulangan " -":keyword:`!for` untuk mengakhiri. Anda dapat memanggil metode " -":meth:`~iterator.__next__` menggunakan :func:`next` fungsi bawaan; contoh " -"ini menunjukkan cara kerjanya::" - -#: ../../tutorial/classes.rst:807 -msgid "" -">>> s = 'abc'\n" -">>> it = iter(s)\n" -">>> it\n" -"\n" -">>> next(it)\n" -"'a'\n" -">>> next(it)\n" -"'b'\n" -">>> next(it)\n" -"'c'\n" -">>> next(it)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" next(it)\n" -"StopIteration" -msgstr "" - -#: ../../tutorial/classes.rst:823 -msgid "" -"Having seen the mechanics behind the iterator protocol, it is easy to add " -"iterator behavior to your classes. Define an :meth:`~container.__iter__` " -"method which returns an object with a :meth:`~iterator.__next__` method. If" -" the class defines :meth:`!__next__`, then :meth:`!__iter__` can just return" -" ``self``::" -msgstr "" - -#: ../../tutorial/classes.rst:828 -msgid "" -"class Reverse:\n" -" \"\"\"Iterator for looping over a sequence backwards.\"\"\"\n" -" def __init__(self, data):\n" -" self.data = data\n" -" self.index = len(data)\n" -"\n" -" def __iter__(self):\n" -" return self\n" -"\n" -" def __next__(self):\n" -" if self.index == 0:\n" -" raise StopIteration\n" -" self.index = self.index - 1\n" -" return self.data[self.index]" -msgstr "" - -#: ../../tutorial/classes.rst:845 -msgid "" -">>> rev = Reverse('spam')\n" -">>> iter(rev)\n" -"<__main__.Reverse object at 0x00A1DB50>\n" -">>> for char in rev:\n" -"... print(char)\n" -"...\n" -"m\n" -"a\n" -"p\n" -"s" -msgstr "" - -#: ../../tutorial/classes.rst:860 -msgid "Generators" -msgstr "Pembangkit *Generator*" - -#: ../../tutorial/classes.rst:862 -msgid "" -":term:`Generators ` are a simple and powerful tool for creating " -"iterators. They are written like regular functions but use the " -":keyword:`yield` statement whenever they want to return data. Each time " -":func:`next` is called on it, the generator resumes where it left off (it " -"remembers all the data values and which statement was last executed). An " -"example shows that generators can be trivially easy to create::" -msgstr "" -":term:`Generators` adalah sebuah tool yang sederhana dan simpel " -"untuk membuat sebuah iterasi. Itu ditulis seperti fungsi biasa tapi " -"menggunakan pernyataan :keyword:`yield` setiap kali ingin mengembalikan " -"sebuah data. Tiap kali :func:`next` itu dipanggil, generators tersebut akan " -"melanjutkan di mana hal itu berhenti (itu akan mengingat semua nilai dan " -"pernyataan mana yang terakhir dieksekusi). Sebuah contoh menunjukkan bahwa " -"generator sangat mudah dibuat::" - -#: ../../tutorial/classes.rst:869 -msgid "" -"def reverse(data):\n" -" for index in range(len(data)-1, -1, -1):\n" -" yield data[index]" -msgstr "" - -#: ../../tutorial/classes.rst:875 -msgid "" -">>> for char in reverse('golf'):\n" -"... print(char)\n" -"...\n" -"f\n" -"l\n" -"o\n" -"g" -msgstr "" - -#: ../../tutorial/classes.rst:883 -msgid "" -"Anything that can be done with generators can also be done with class-based " -"iterators as described in the previous section. What makes generators so " -"compact is that the :meth:`~iterator.__iter__` and " -":meth:`~generator.__next__` methods are created automatically." -msgstr "" - -#: ../../tutorial/classes.rst:888 -msgid "" -"Another key feature is that the local variables and execution state are " -"automatically saved between calls. This made the function easier to write " -"and much more clear than an approach using instance variables like " -"``self.index`` and ``self.data``." -msgstr "" -"Fitur utama lainnya adalah variabel lokal dan status eksekusi secara " -"otomatis disimpan di antara pemanggilan. Ini membuat fungsi lebih mudah " -"untuk ditulis dan jauh lebih jelas daripada pendekatan menggunakan variabel " -"instan seperti ``self.index`` dan ``self.data``." - -#: ../../tutorial/classes.rst:893 -msgid "" -"In addition to automatic method creation and saving program state, when " -"generators terminate, they automatically raise :exc:`StopIteration`. In " -"combination, these features make it easy to create iterators with no more " -"effort than writing a regular function." -msgstr "" -"Selain pembuatan metode otomatis dan menyimpan status program, ketika " -"pembangkit *generator* berhenti, mereka secara otomatis menimbulkan " -":exc:`StopIteration`. Secara kombinasi, fitur-fitur ini membuatnya mudah " -"untuk membuat *iterator* tanpa lebih dari sekadar menulis fungsi biasa." - -#: ../../tutorial/classes.rst:902 -msgid "Generator Expressions" -msgstr "Ekspresi Pembangkit *Generator*" - -#: ../../tutorial/classes.rst:904 -msgid "" -"Some simple generators can be coded succinctly as expressions using a syntax" -" similar to list comprehensions but with parentheses instead of square " -"brackets. These expressions are designed for situations where the generator " -"is used right away by an enclosing function. Generator expressions are more" -" compact but less versatile than full generator definitions and tend to be " -"more memory friendly than equivalent list comprehensions." -msgstr "" -"Beberapa pembangkit *generators* sederhana dapat dikodekan secara ringkas " -"sebagai ekspresi menggunakan sintaksis yang mirip dengan pemahaman daftar " -"*list comprehensions* tetapi dengan tanda kurung bukan dengan tanda kurung " -"siku. Ungkapan-ungkapan ini dirancang untuk situasi di mana *generator* " -"digunakan segera oleh fungsi penutup. Ekspresi *generator* lebih kompak " -"tetapi kurang fleksibel daripada definisi *generator* penuh dan cenderung " -"lebih ramah memori daripada pemahaman daftar *list comprehensions* setara." - -#: ../../tutorial/classes.rst:911 -msgid "Examples::" -msgstr "Contoh::" - -#: ../../tutorial/classes.rst:913 -msgid "" -">>> sum(i*i for i in range(10)) # sum of squares\n" -"285\n" -"\n" -">>> xvec = [10, 20, 30]\n" -">>> yvec = [7, 5, 3]\n" -">>> sum(x*y for x,y in zip(xvec, yvec)) # dot product\n" -"260\n" -"\n" -">>> unique_words = set(word for line in page for word in line.split())\n" -"\n" -">>> valedictorian = max((student.gpa, student.name) for student in graduates)\n" -"\n" -">>> data = 'golf'\n" -">>> list(data[i] for i in range(len(data)-1, -1, -1))\n" -"['f', 'l', 'o', 'g']" -msgstr "" - -#: ../../tutorial/classes.rst:932 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../tutorial/classes.rst:933 -msgid "" -"Except for one thing. Module objects have a secret read-only attribute " -"called :attr:`~object.__dict__` which returns the dictionary used to " -"implement the module's namespace; the name ``__dict__`` is an attribute but " -"not a global name. Obviously, using this violates the abstraction of " -"namespace implementation, and should be restricted to things like post-" -"mortem debuggers." -msgstr "" - -#: ../../tutorial/classes.rst:343 -msgid "object" -msgstr "objek" - -#: ../../tutorial/classes.rst:343 -msgid "method" -msgstr "" - -#: ../../tutorial/classes.rst:679 -msgid "name" -msgstr "nama" - -#: ../../tutorial/classes.rst:679 -msgid "mangling" -msgstr "" diff --git a/python-newest.tutorial--controlflow/id.po b/python-newest.tutorial--controlflow/id.po deleted file mode 100644 index 3f64d46..0000000 --- a/python-newest.tutorial--controlflow/id.po +++ /dev/null @@ -1,1989 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2021 -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/controlflow.rst:5 -msgid "More Control Flow Tools" -msgstr "Lebih Banyak Alat Pengatur Aliran *Control Flow*" - -#: ../../tutorial/controlflow.rst:7 -msgid "" -"As well as the :keyword:`while` statement just introduced, Python uses a few" -" more that we will encounter in this chapter." -msgstr "" - -#: ../../tutorial/controlflow.rst:14 -msgid ":keyword:`!if` Statements" -msgstr "Pernyataan :keyword:`!if`" - -#: ../../tutorial/controlflow.rst:16 -msgid "" -"Perhaps the most well-known statement type is the :keyword:`if` statement. " -"For example::" -msgstr "" -"Mungkin tipe pernyataan yang paling terkenal adalah pernyataan " -":keyword:`if`. Sebagai contoh::" - -#: ../../tutorial/controlflow.rst:19 -msgid "" -">>> x = int(input(\"Please enter an integer: \"))\n" -"Please enter an integer: 42\n" -">>> if x < 0:\n" -"... x = 0\n" -"... print('Negative changed to zero')\n" -"... elif x == 0:\n" -"... print('Zero')\n" -"... elif x == 1:\n" -"... print('Single')\n" -"... else:\n" -"... print('More')\n" -"...\n" -"More" -msgstr "" - -#: ../../tutorial/controlflow.rst:33 -msgid "" -"There can be zero or more :keyword:`elif` parts, and the :keyword:`else` " -"part is optional. The keyword ':keyword:`!elif`' is short for 'else if', " -"and is useful to avoid excessive indentation. An :keyword:`!if` ... " -":keyword:`!elif` ... :keyword:`!elif` ... sequence is a substitute for the " -"``switch`` or ``case`` statements found in other languages." -msgstr "" -"Mungkin ada nol atau lebih bagian :keyword:`elif`, dan bagian " -":keyword:`else` adalah opsional. Kata kunci ':keyword:`!elif`' adalah " -"kependekan dari 'else if', dan berguna untuk menghindari indentasi yang " -"berlebihan. Sebuah :keyword:`!if` ... :keyword:`!elif` ... :keyword:`!elif` " -"... adalah urutan pengganti untuk pernyataan ``switch`` atau ``case`` yang " -"ditemukan dalam bahasa lain." - -#: ../../tutorial/controlflow.rst:39 -msgid "" -"If you're comparing the same value to several constants, or checking for " -"specific types or attributes, you may also find the :keyword:`!match` " -"statement useful. For more details see :ref:`tut-match`." -msgstr "" - -#: ../../tutorial/controlflow.rst:46 -msgid ":keyword:`!for` Statements" -msgstr "Pernyataan :keyword:`!for`" - -#: ../../tutorial/controlflow.rst:51 -msgid "" -"The :keyword:`for` statement in Python differs a bit from what you may be " -"used to in C or Pascal. Rather than always iterating over an arithmetic " -"progression of numbers (like in Pascal), or giving the user the ability to " -"define both the iteration step and halting condition (as C), Python's " -":keyword:`!for` statement iterates over the items of any sequence (a list or" -" a string), in the order that they appear in the sequence. For example (no " -"pun intended):" -msgstr "" -"Pernyataan :keyword:`for` dalam Python sedikit berbeda dari apa yang mungkin" -" Anda gunakan di C atau Pascal. Alih-alih selalu mengulangi perkembangan " -"angka dalam aritmatika (seperti dalam Pascal), atau memberikan pengguna " -"kemampuan untuk menentukan langkah iterasi dan kondisi berhenti (seperti C)," -" Python pernyataan :keyword:`!for` diulangi pada item-item dari urutan apa " -"pun (daftar *list* atau string), dalam urutan yang muncul dalam urutan. " -"Misalnya (tidak ada permainan kata-kata):" - -#: ../../tutorial/controlflow.rst:63 -msgid "" -">>> # Measure some strings:\n" -">>> words = ['cat', 'window', 'defenestrate']\n" -">>> for w in words:\n" -"... print(w, len(w))\n" -"...\n" -"cat 3\n" -"window 6\n" -"defenestrate 12" -msgstr "" - -#: ../../tutorial/controlflow.rst:72 -msgid "" -"Code that modifies a collection while iterating over that same collection " -"can be tricky to get right. Instead, it is usually more straight-forward to" -" loop over a copy of the collection or to create a new collection::" -msgstr "" -"Kode yang memodifikasi koleksi *collection* sambil mengulangi koleksi yang " -"sama bisa sulit untuk diperbaiki. Sebagai gantinya, biasanya lebih mudah " -"untuk mengulang salinan koleksi atau membuat koleksi baru::" - -#: ../../tutorial/controlflow.rst:76 -msgid "" -"# Create a sample collection\n" -"users = {'Hans': 'active', 'Éléonore': 'inactive', '景太郎': 'active'}\n" -"\n" -"# Strategy: Iterate over a copy\n" -"for user, status in users.copy().items():\n" -" if status == 'inactive':\n" -" del users[user]\n" -"\n" -"# Strategy: Create a new collection\n" -"active_users = {}\n" -"for user, status in users.items():\n" -" if status == 'active':\n" -" active_users[user] = status" -msgstr "" - -#: ../../tutorial/controlflow.rst:94 -msgid "The :func:`range` Function" -msgstr "Fungsi :func:`range`" - -#: ../../tutorial/controlflow.rst:96 -msgid "" -"If you do need to iterate over a sequence of numbers, the built-in function " -":func:`range` comes in handy. It generates arithmetic progressions::" -msgstr "" -"Jika Anda perlu mengulangi urutan angka, fungsi bawaan :func:`range` " -"berguna. Ini menghasilkan urutan *pregressions* aritmatika::" - -#: ../../tutorial/controlflow.rst:99 -msgid "" -">>> for i in range(5):\n" -"... print(i)\n" -"...\n" -"0\n" -"1\n" -"2\n" -"3\n" -"4" -msgstr "" - -#: ../../tutorial/controlflow.rst:108 -msgid "" -"The given end point is never part of the generated sequence; ``range(10)`` " -"generates 10 values, the legal indices for items of a sequence of length 10." -" It is possible to let the range start at another number, or to specify a " -"different increment (even negative; sometimes this is called the 'step')::" -msgstr "" -"Titik akhir yang diberikan tidak pernah menjadi bagian dari urutan yang " -"dihasilkan; ``range(10)`` menghasilkan 10 nilai, indeks sah *legal* untuk " -"item dengan urutan panjang 10. Dimungkinkan untuk membiarkan rentang mulai " -"dari nomor lain, atau untuk menentukan kenaikan yang berbeda (bahkan " -"negatif; kadang-kadang ini disebut 'step')::" - -#: ../../tutorial/controlflow.rst:113 -msgid "" -">>> list(range(5, 10))\n" -"[5, 6, 7, 8, 9]\n" -"\n" -">>> list(range(0, 10, 3))\n" -"[0, 3, 6, 9]\n" -"\n" -">>> list(range(-10, -100, -30))\n" -"[-10, -40, -70]" -msgstr "" - -#: ../../tutorial/controlflow.rst:122 -msgid "" -"To iterate over the indices of a sequence, you can combine :func:`range` and" -" :func:`len` as follows::" -msgstr "" -"Untuk beralih pada indeks urutan, Anda dapat menggabungkan :func:`range` dan" -" :func:`len` sebagai berikut::" - -#: ../../tutorial/controlflow.rst:125 -msgid "" -">>> a = ['Mary', 'had', 'a', 'little', 'lamb']\n" -">>> for i in range(len(a)):\n" -"... print(i, a[i])\n" -"...\n" -"0 Mary\n" -"1 had\n" -"2 a\n" -"3 little\n" -"4 lamb" -msgstr "" - -#: ../../tutorial/controlflow.rst:135 -msgid "" -"In most such cases, however, it is convenient to use the :func:`enumerate` " -"function, see :ref:`tut-loopidioms`." -msgstr "" -"Dalam kebanyakan kasus seperti itu, bagaimanapun, lebih mudah untuk " -"menggunakan fungsi :func:`enumerate`, lihat :ref:`tut-loopidioms`." - -#: ../../tutorial/controlflow.rst:138 -msgid "A strange thing happens if you just print a range::" -msgstr "Hal aneh terjadi jika Anda hanya mencetak rentang *range*::" - -#: ../../tutorial/controlflow.rst:140 -msgid "" -">>> range(10)\n" -"range(0, 10)" -msgstr "" - -#: ../../tutorial/controlflow.rst:143 -msgid "" -"In many ways the object returned by :func:`range` behaves as if it is a " -"list, but in fact it isn't. It is an object which returns the successive " -"items of the desired sequence when you iterate over it, but it doesn't " -"really make the list, thus saving space." -msgstr "" -"Dalam banyak hal objek dikembalikan oleh :func:`range` berperilaku seolah-" -"olah itu adalah daftar *list*, tetapi sebenarnya tidak. Ini adalah objek " -"yang mengembalikan item berurutan dari urutan yang diinginkan ketika Anda " -"mengulanginya, tetapi itu tidak benar-benar membuat daftar *list*, sehingga " -"menghemat ruang." - -#: ../../tutorial/controlflow.rst:148 -msgid "" -"We say such an object is :term:`iterable`, that is, suitable as a target for" -" functions and constructs that expect something from which they can obtain " -"successive items until the supply is exhausted. We have seen that the " -":keyword:`for` statement is such a construct, while an example of a function" -" that takes an iterable is :func:`sum`::" -msgstr "" -"Kami mengatakan bahwa objek seperti itu adalah :term:`iterable`, yaitu, " -"cocok sebagai target untuk fungsi dan konstruksi yang mengharapkan sesuatu " -"dari mana mereka dapat memperoleh item berturut-turut sampai pasokan habis. " -"Kita telah melihat bahwa pernyataan :keyword:`for` adalah konstruksi seperti" -" itu, sedangkan contoh fungsi yang membutuhkan sebuah iterable adalah " -":func:`sum`::" - -#: ../../tutorial/controlflow.rst:154 -msgid "" -">>> sum(range(4)) # 0 + 1 + 2 + 3\n" -"6" -msgstr "" - -#: ../../tutorial/controlflow.rst:157 -msgid "" -"Later we will see more functions that return iterables and take iterables as" -" arguments. In chapter :ref:`tut-structures`, we will discuss in more " -"detail about :func:`list`." -msgstr "" - -#: ../../tutorial/controlflow.rst:164 -msgid ":keyword:`!break` and :keyword:`!continue` Statements" -msgstr "" - -#: ../../tutorial/controlflow.rst:166 -msgid "" -"The :keyword:`break` statement breaks out of the innermost enclosing " -":keyword:`for` or :keyword:`while` loop::" -msgstr "" - -#: ../../tutorial/controlflow.rst:169 -msgid "" -">>> for n in range(2, 10):\n" -"... for x in range(2, n):\n" -"... if n % x == 0:\n" -"... print(f\"{n} equals {x} * {n//x}\")\n" -"... break\n" -"...\n" -"4 equals 2 * 2\n" -"6 equals 2 * 3\n" -"8 equals 2 * 4\n" -"9 equals 3 * 3" -msgstr "" - -#: ../../tutorial/controlflow.rst:180 -msgid "" -"The :keyword:`continue` statement continues with the next iteration of the " -"loop::" -msgstr "" - -#: ../../tutorial/controlflow.rst:183 -msgid "" -">>> for num in range(2, 10):\n" -"... if num % 2 == 0:\n" -"... print(f\"Found an even number {num}\")\n" -"... continue\n" -"... print(f\"Found an odd number {num}\")\n" -"...\n" -"Found an even number 2\n" -"Found an odd number 3\n" -"Found an even number 4\n" -"Found an odd number 5\n" -"Found an even number 6\n" -"Found an odd number 7\n" -"Found an even number 8\n" -"Found an odd number 9" -msgstr "" - -#: ../../tutorial/controlflow.rst:202 -msgid ":keyword:`!else` Clauses on Loops" -msgstr "" - -#: ../../tutorial/controlflow.rst:204 -msgid "" -"In a :keyword:`!for` or :keyword:`!while` loop the :keyword:`!break` " -"statement may be paired with an :keyword:`!else` clause. If the loop " -"finishes without executing the :keyword:`!break`, the :keyword:`!else` " -"clause executes." -msgstr "" - -#: ../../tutorial/controlflow.rst:208 -msgid "" -"In a :keyword:`for` loop, the :keyword:`!else` clause is executed after the " -"loop finishes its final iteration, that is, if no break occurred." -msgstr "" - -#: ../../tutorial/controlflow.rst:211 -msgid "" -"In a :keyword:`while` loop, it's executed after the loop's condition becomes" -" false." -msgstr "" - -#: ../../tutorial/controlflow.rst:213 -msgid "" -"In either kind of loop, the :keyword:`!else` clause is **not** executed if " -"the loop was terminated by a :keyword:`break`. Of course, other ways of " -"ending the loop early, such as a :keyword:`return` or a raised exception, " -"will also skip execution of the :keyword:`else` clause." -msgstr "" - -#: ../../tutorial/controlflow.rst:218 -msgid "" -"This is exemplified in the following :keyword:`!for` loop, which searches " -"for prime numbers::" -msgstr "" - -#: ../../tutorial/controlflow.rst:221 -msgid "" -">>> for n in range(2, 10):\n" -"... for x in range(2, n):\n" -"... if n % x == 0:\n" -"... print(n, 'equals', x, '*', n//x)\n" -"... break\n" -"... else:\n" -"... # loop fell through without finding a factor\n" -"... print(n, 'is a prime number')\n" -"...\n" -"2 is a prime number\n" -"3 is a prime number\n" -"4 equals 2 * 2\n" -"5 is a prime number\n" -"6 equals 2 * 3\n" -"7 is a prime number\n" -"8 equals 2 * 4\n" -"9 equals 3 * 3" -msgstr "" - -#: ../../tutorial/controlflow.rst:239 -msgid "" -"(Yes, this is the correct code. Look closely: the ``else`` clause belongs " -"to the ``for`` loop, **not** the ``if`` statement.)" -msgstr "" - -#: ../../tutorial/controlflow.rst:242 -msgid "" -"One way to think of the else clause is to imagine it paired with the ``if`` " -"inside the loop. As the loop executes, it will run a sequence like " -"if/if/if/else. The ``if`` is inside the loop, encountered a number of times." -" If the condition is ever true, a ``break`` will happen. If the condition is" -" never true, the ``else`` clause outside the loop will execute." -msgstr "" - -#: ../../tutorial/controlflow.rst:248 -msgid "" -"When used with a loop, the ``else`` clause has more in common with the " -"``else`` clause of a :keyword:`try` statement than it does with that of " -"``if`` statements: a ``try`` statement's ``else`` clause runs when no " -"exception occurs, and a loop's ``else`` clause runs when no ``break`` " -"occurs. For more on the ``try`` statement and exceptions, see :ref:`tut-" -"handling`." -msgstr "" - -#: ../../tutorial/controlflow.rst:257 -msgid ":keyword:`!pass` Statements" -msgstr "Pernyataan :keyword:`!pass`" - -#: ../../tutorial/controlflow.rst:259 -msgid "" -"The :keyword:`pass` statement does nothing. It can be used when a statement " -"is required syntactically but the program requires no action. For example::" -msgstr "" -"Pernyataan :keyword:`pass` tidak melakukan apa-apa. Ini dapat digunakan " -"ketika pernyataan diperlukan secara sintaksis tetapi program tidak " -"memerlukan tindakan. Sebagai contoh::" - -#: ../../tutorial/controlflow.rst:262 -msgid "" -">>> while True:\n" -"... pass # Busy-wait for keyboard interrupt (Ctrl+C)\n" -"..." -msgstr "" - -#: ../../tutorial/controlflow.rst:266 -msgid "This is commonly used for creating minimal classes::" -msgstr "Ini biasanya digunakan untuk membuat kelas minimal::" - -#: ../../tutorial/controlflow.rst:268 -msgid "" -">>> class MyEmptyClass:\n" -"... pass\n" -"..." -msgstr "" - -#: ../../tutorial/controlflow.rst:272 -msgid "" -"Another place :keyword:`pass` can be used is as a place-holder for a " -"function or conditional body when you are working on new code, allowing you " -"to keep thinking at a more abstract level. The :keyword:`!pass` is silently" -" ignored::" -msgstr "" -"Tempat lain :keyword:`pass` dapat digunakan adalah sebagai tempat-penampung " -"*place-holder* untuk fungsi atau badan bersyarat *conditional body* saat " -"Anda bekerja pada kode baru, memungkinkan Anda untuk terus berpikir pada " -"tingkat yang lebih abstrak. :keyword:`!pass` diabaikan secara diam-diam::" - -#: ../../tutorial/controlflow.rst:276 -msgid "" -">>> def initlog(*args):\n" -"... pass # Remember to implement this!\n" -"..." -msgstr "" - -#: ../../tutorial/controlflow.rst:284 -msgid ":keyword:`!match` Statements" -msgstr "" - -#: ../../tutorial/controlflow.rst:286 -msgid "" -"A :keyword:`match` statement takes an expression and compares its value to " -"successive patterns given as one or more case blocks. This is superficially" -" similar to a switch statement in C, Java or JavaScript (and many other " -"languages), but it's more similar to pattern matching in languages like Rust" -" or Haskell. Only the first pattern that matches gets executed and it can " -"also extract components (sequence elements or object attributes) from the " -"value into variables. If no case matches, none of the branches is executed." -msgstr "" - -#: ../../tutorial/controlflow.rst:295 -msgid "" -"The simplest form compares a subject value against one or more literals::" -msgstr "" - -#: ../../tutorial/controlflow.rst:297 -msgid "" -"def http_error(status):\n" -" match status:\n" -" case 400:\n" -" return \"Bad request\"\n" -" case 404:\n" -" return \"Not found\"\n" -" case 418:\n" -" return \"I'm a teapot\"\n" -" case _:\n" -" return \"Something's wrong with the internet\"" -msgstr "" - -#: ../../tutorial/controlflow.rst:308 -msgid "" -"Note the last block: the \"variable name\" ``_`` acts as a *wildcard* and " -"never fails to match." -msgstr "" - -#: ../../tutorial/controlflow.rst:311 -msgid "" -"You can combine several literals in a single pattern using ``|`` (\"or\")::" -msgstr "" - -#: ../../tutorial/controlflow.rst:313 -msgid "" -"case 401 | 403 | 404:\n" -" return \"Not allowed\"" -msgstr "" - -#: ../../tutorial/controlflow.rst:316 -msgid "" -"Patterns can look like unpacking assignments, and can be used to bind " -"variables::" -msgstr "" - -#: ../../tutorial/controlflow.rst:319 -msgid "" -"# point is an (x, y) tuple\n" -"match point:\n" -" case (0, 0):\n" -" print(\"Origin\")\n" -" case (0, y):\n" -" print(f\"Y={y}\")\n" -" case (x, 0):\n" -" print(f\"X={x}\")\n" -" case (x, y):\n" -" print(f\"X={x}, Y={y}\")\n" -" case _:\n" -" raise ValueError(\"Not a point\")" -msgstr "" - -#: ../../tutorial/controlflow.rst:332 -msgid "" -"Study that one carefully! The first pattern has two literals, and can be " -"thought of as an extension of the literal pattern shown above. But the next" -" two patterns combine a literal and a variable, and the variable *binds* a " -"value from the subject (``point``). The fourth pattern captures two values," -" which makes it conceptually similar to the unpacking assignment ``(x, y) = " -"point``." -msgstr "" - -#: ../../tutorial/controlflow.rst:339 -msgid "" -"If you are using classes to structure your data you can use the class name " -"followed by an argument list resembling a constructor, but with the ability " -"to capture attributes into variables::" -msgstr "" - -#: ../../tutorial/controlflow.rst:343 -msgid "" -"class Point:\n" -" def __init__(self, x, y):\n" -" self.x = x\n" -" self.y = y\n" -"\n" -"def where_is(point):\n" -" match point:\n" -" case Point(x=0, y=0):\n" -" print(\"Origin\")\n" -" case Point(x=0, y=y):\n" -" print(f\"Y={y}\")\n" -" case Point(x=x, y=0):\n" -" print(f\"X={x}\")\n" -" case Point():\n" -" print(\"Somewhere else\")\n" -" case _:\n" -" print(\"Not a point\")" -msgstr "" - -#: ../../tutorial/controlflow.rst:361 -msgid "" -"You can use positional parameters with some builtin classes that provide an " -"ordering for their attributes (e.g. dataclasses). You can also define a " -"specific position for attributes in patterns by setting the " -"``__match_args__`` special attribute in your classes. If it's set to (\"x\"," -" \"y\"), the following patterns are all equivalent (and all bind the ``y`` " -"attribute to the ``var`` variable)::" -msgstr "" - -#: ../../tutorial/controlflow.rst:367 -msgid "" -"Point(1, var)\n" -"Point(1, y=var)\n" -"Point(x=1, y=var)\n" -"Point(y=var, x=1)" -msgstr "" - -#: ../../tutorial/controlflow.rst:372 -msgid "" -"A recommended way to read patterns is to look at them as an extended form of" -" what you would put on the left of an assignment, to understand which " -"variables would be set to what. Only the standalone names (like ``var`` " -"above) are assigned to by a match statement. Dotted names (like " -"``foo.bar``), attribute names (the ``x=`` and ``y=`` above) or class names " -"(recognized by the \"(...)\" next to them like ``Point`` above) are never " -"assigned to." -msgstr "" - -#: ../../tutorial/controlflow.rst:379 -msgid "" -"Patterns can be arbitrarily nested. For example, if we have a short list of" -" Points, with ``__match_args__`` added, we could match it like this::" -msgstr "" - -#: ../../tutorial/controlflow.rst:382 -msgid "" -"class Point:\n" -" __match_args__ = ('x', 'y')\n" -" def __init__(self, x, y):\n" -" self.x = x\n" -" self.y = y\n" -"\n" -"match points:\n" -" case []:\n" -" print(\"No points\")\n" -" case [Point(0, 0)]:\n" -" print(\"The origin\")\n" -" case [Point(x, y)]:\n" -" print(f\"Single point {x}, {y}\")\n" -" case [Point(0, y1), Point(0, y2)]:\n" -" print(f\"Two on the Y axis at {y1}, {y2}\")\n" -" case _:\n" -" print(\"Something else\")" -msgstr "" - -#: ../../tutorial/controlflow.rst:400 -msgid "" -"We can add an ``if`` clause to a pattern, known as a \"guard\". If the " -"guard is false, ``match`` goes on to try the next case block. Note that " -"value capture happens before the guard is evaluated::" -msgstr "" - -#: ../../tutorial/controlflow.rst:404 -msgid "" -"match point:\n" -" case Point(x, y) if x == y:\n" -" print(f\"Y=X at {x}\")\n" -" case Point(x, y):\n" -" print(f\"Not on the diagonal\")" -msgstr "" - -#: ../../tutorial/controlflow.rst:410 -msgid "Several other key features of this statement:" -msgstr "" - -#: ../../tutorial/controlflow.rst:412 -msgid "" -"Like unpacking assignments, tuple and list patterns have exactly the same " -"meaning and actually match arbitrary sequences. An important exception is " -"that they don't match iterators or strings." -msgstr "" - -#: ../../tutorial/controlflow.rst:416 -msgid "" -"Sequence patterns support extended unpacking: ``[x, y, *rest]`` and ``(x, y," -" *rest)`` work similar to unpacking assignments. The name after ``*`` may " -"also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two items " -"without binding the remaining items." -msgstr "" - -#: ../../tutorial/controlflow.rst:421 -msgid "" -"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the " -"``\"bandwidth\"`` and ``\"latency\"`` values from a dictionary. Unlike " -"sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is " -"also supported. (But ``**_`` would be redundant, so it is not allowed.)" -msgstr "" - -#: ../../tutorial/controlflow.rst:426 -msgid "Subpatterns may be captured using the ``as`` keyword::" -msgstr "" - -#: ../../tutorial/controlflow.rst:428 -msgid "case (Point(x1, y1), Point(x2, y2) as p2): ..." -msgstr "" - -#: ../../tutorial/controlflow.rst:430 -msgid "" -"will capture the second element of the input as ``p2`` (as long as the input" -" is a sequence of two points)" -msgstr "" - -#: ../../tutorial/controlflow.rst:433 -msgid "" -"Most literals are compared by equality, however the singletons ``True``, " -"``False`` and ``None`` are compared by identity." -msgstr "" - -#: ../../tutorial/controlflow.rst:436 -msgid "" -"Patterns may use named constants. These must be dotted names to prevent " -"them from being interpreted as capture variable::" -msgstr "" - -#: ../../tutorial/controlflow.rst:439 -msgid "" -"from enum import Enum\n" -"class Color(Enum):\n" -" RED = 'red'\n" -" GREEN = 'green'\n" -" BLUE = 'blue'\n" -"\n" -"color = Color(input(\"Enter your choice of 'red', 'blue' or 'green': \"))\n" -"\n" -"match color:\n" -" case Color.RED:\n" -" print(\"I see red!\")\n" -" case Color.GREEN:\n" -" print(\"Grass is green\")\n" -" case Color.BLUE:\n" -" print(\"I'm feeling the blues :(\")" -msgstr "" - -#: ../../tutorial/controlflow.rst:455 -msgid "" -"For a more detailed explanation and additional examples, you can look into " -":pep:`636` which is written in a tutorial format." -msgstr "" - -#: ../../tutorial/controlflow.rst:461 -msgid "Defining Functions" -msgstr "Mendefinisikan Fungsi" - -#: ../../tutorial/controlflow.rst:463 -msgid "" -"We can create a function that writes the Fibonacci series to an arbitrary " -"boundary::" -msgstr "" -"Kita dapat membuat fungsi yang menulis seri Fibonacci ke batas acak " -"*arbitrary*::" - -#: ../../tutorial/controlflow.rst:466 -msgid "" -">>> def fib(n): # write Fibonacci series less than n\n" -"... \"\"\"Print a Fibonacci series less than n.\"\"\"\n" -"... a, b = 0, 1\n" -"... while a < n:\n" -"... print(a, end=' ')\n" -"... a, b = b, a+b\n" -"... print()\n" -"...\n" -">>> # Now call the function we just defined:\n" -">>> fib(2000)\n" -"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597" -msgstr "" - -#: ../../tutorial/controlflow.rst:483 -msgid "" -"The keyword :keyword:`def` introduces a function *definition*. It must be " -"followed by the function name and the parenthesized list of formal " -"parameters. The statements that form the body of the function start at the " -"next line, and must be indented." -msgstr "" -"Kata kunci :keyword:`def` memperkenalkan fungsi *definition*. Itu harus " -"diikuti oleh nama fungsi dan daftar parameter formal yang di dalam tanda " -"kurung. Pernyataan yang membentuk tubuh fungsi mulai dari baris berikutnya, " -"dan harus diberi indentasi." - -#: ../../tutorial/controlflow.rst:488 -msgid "" -"The first statement of the function body can optionally be a string literal;" -" this string literal is the function's documentation string, or " -":dfn:`docstring`. (More about docstrings can be found in the section " -":ref:`tut-docstrings`.) There are tools which use docstrings to " -"automatically produce online or printed documentation, or to let the user " -"interactively browse through code; it's good practice to include docstrings " -"in code that you write, so make a habit of it." -msgstr "" -"Pernyataan pertama dari tubuh fungsi secara opsional dapat berupa string " -"literal; string literal ini adalah string dokumentasi fungsi, atau " -":dfn:`docstring`. (Lebih lanjut tentang *docstring* dapat ditemukan di " -"bagian :ref:`tut-docstrings`.) Ada alat yang menggunakan *docstring* untuk " -"secara otomatis menghasilkan dokumentasi online atau cetak, atau untuk " -"membiarkan pengguna menelusuri kode secara interaktif; itu praktik yang baik" -" untuk memasukkan dokumen dalam kode yang Anda tulis, jadi biasakan seperti " -"itu." - -#: ../../tutorial/controlflow.rst:495 -msgid "" -"The *execution* of a function introduces a new symbol table used for the " -"local variables of the function. More precisely, all variable assignments " -"in a function store the value in the local symbol table; whereas variable " -"references first look in the local symbol table, then in the local symbol " -"tables of enclosing functions, then in the global symbol table, and finally " -"in the table of built-in names. Thus, global variables and variables of " -"enclosing functions cannot be directly assigned a value within a function " -"(unless, for global variables, named in a :keyword:`global` statement, or, " -"for variables of enclosing functions, named in a :keyword:`nonlocal` " -"statement), although they may be referenced." -msgstr "" -"*execution* dari suatu fungsi memperkenalkan tabel simbol baru yang " -"digunakan untuk variabel lokal dari fungsi tersebut. Lebih tepatnya, semua " -"tugas variabel dalam suatu fungsi menyimpan nilai dalam tabel simbol lokal; " -"sedangkan referensi variabel pertama-tama terlihat pada tabel simbol lokal, " -"kemudian pada tabel simbol lokal lampiran *enclosing* fungsi, kemudian pada " -"tabel simbol global, dan akhirnya pada tabel nama bawaan. Dengan demikian, " -"variabel global dan variabel lampiran *enclosing* fungsi tidak dapat secara " -"langsung menetapkan nilai dalam suatu fungsi (kecuali, untuk variabel " -"global, disebutkan dalam pernyataan :keyword:`global`, atau, untuk variabel " -"lampiran *enclosing* fungsi, dinamai dalam pernyataan :keyword:`nonlocal`), " -"meskipun mungkin direferensikan." - -#: ../../tutorial/controlflow.rst:506 -msgid "" -"The actual parameters (arguments) to a function call are introduced in the " -"local symbol table of the called function when it is called; thus, arguments" -" are passed using *call by value* (where the *value* is always an object " -"*reference*, not the value of the object). [#]_ When a function calls " -"another function, or calls itself recursively, a new local symbol table is " -"created for that call." -msgstr "" - -#: ../../tutorial/controlflow.rst:513 -msgid "" -"A function definition associates the function name with the function object " -"in the current symbol table. The interpreter recognizes the object pointed " -"to by that name as a user-defined function. Other names can also point to " -"that same function object and can also be used to access the function::" -msgstr "" -"Definisi fungsi mengasosiasikan nama fungsi dengan objek fungsi dalam tabel " -"simbol saat ini. Sebuah interpreter dapat mengenali objek yang ditunjuk " -"dengan nama itu sebagai fungsi yang ditentukan oleh pengguna. Nama lain juga" -" dapat menunjuk ke objek fungsi yang sama dan juga dapat digunakan untuk " -"mengakses fungsi tersebut::" - -#: ../../tutorial/controlflow.rst:518 -msgid "" -">>> fib\n" -"\n" -">>> f = fib\n" -">>> f(100)\n" -"0 1 1 2 3 5 8 13 21 34 55 89" -msgstr "" - -#: ../../tutorial/controlflow.rst:524 -msgid "" -"Coming from other languages, you might object that ``fib`` is not a function" -" but a procedure since it doesn't return a value. In fact, even functions " -"without a :keyword:`return` statement do return a value, albeit a rather " -"boring one. This value is called ``None`` (it's a built-in name). Writing " -"the value ``None`` is normally suppressed by the interpreter if it would be " -"the only value written. You can see it if you really want to using " -":func:`print`::" -msgstr "" -"Berasal dari bahasa lain, Anda mungkin keberatan bahwa ``fib`` bukan fungsi " -"melainkan prosedur karena tidak mengembalikan nilai. Bahkan, fungsi bahkan " -"tanpa pernyataan :keyword:`return` mengembalikan nilai, meskipun yang agak " -"membosankan. Nilai ini disebut ``None`` (ini adalah nama bawaan). Menulis " -"nilai ``None`` biasanya dihilangkan *suppressed* oleh *interpreter* jika itu" -" akan menjadi satu-satunya nilai yang ditulis. Anda dapat melihatnya jika " -"Anda benar-benar ingin menggunakan :func:`print`::" - -#: ../../tutorial/controlflow.rst:531 -msgid "" -">>> fib(0)\n" -">>> print(fib(0))\n" -"None" -msgstr "" - -#: ../../tutorial/controlflow.rst:535 -msgid "" -"It is simple to write a function that returns a list of the numbers of the " -"Fibonacci series, instead of printing it::" -msgstr "" -"Sangat mudah untuk menulis fungsi yang mengembalikan daftar *list* nomor " -"seri Fibonacci, alih-alih mencetaknya::" - -#: ../../tutorial/controlflow.rst:538 -msgid "" -">>> def fib2(n): # return Fibonacci series up to n\n" -"... \"\"\"Return a list containing the Fibonacci series up to n.\"\"\"\n" -"... result = []\n" -"... a, b = 0, 1\n" -"... while a < n:\n" -"... result.append(a) # see below\n" -"... a, b = b, a+b\n" -"... return result\n" -"...\n" -">>> f100 = fib2(100) # call it\n" -">>> f100 # write the result\n" -"[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]" -msgstr "" - -#: ../../tutorial/controlflow.rst:551 -msgid "This example, as usual, demonstrates some new Python features:" -msgstr "Contoh ini, seperti biasa, menunjukkan beberapa fitur Python baru:" - -#: ../../tutorial/controlflow.rst:553 -msgid "" -"The :keyword:`return` statement returns with a value from a function. " -":keyword:`!return` without an expression argument returns ``None``. Falling " -"off the end of a function also returns ``None``." -msgstr "" -"Pernyataan :keyword:`return` kembali dengan nilai dari suatu fungsi. " -":keyword:`!return` tanpa argumen ekspresi mengembalikan ``None``. Keluar " -"dari akhir suatu fungsi juga mengembalikan ``None``." - -#: ../../tutorial/controlflow.rst:557 -msgid "" -"The statement ``result.append(a)`` calls a *method* of the list object " -"``result``. A method is a function that 'belongs' to an object and is named" -" ``obj.methodname``, where ``obj`` is some object (this may be an " -"expression), and ``methodname`` is the name of a method that is defined by " -"the object's type. Different types define different methods. Methods of " -"different types may have the same name without causing ambiguity. (It is " -"possible to define your own object types and methods, using *classes*, see " -":ref:`tut-classes`) The method :meth:`!append` shown in the example is " -"defined for list objects; it adds a new element at the end of the list. In " -"this example it is equivalent to ``result = result + [a]``, but more " -"efficient." -msgstr "" - -#: ../../tutorial/controlflow.rst:572 -msgid "More on Defining Functions" -msgstr "Lebih lanjut tentang Mendefinisikan Fungsi" - -#: ../../tutorial/controlflow.rst:574 -msgid "" -"It is also possible to define functions with a variable number of arguments." -" There are three forms, which can be combined." -msgstr "" -"Dimungkinkan juga untuk mendefinisikan fungsi dengan sejumlah variabel " -"argumen. Ada tiga bentuk, yang bisa digabungkan." - -#: ../../tutorial/controlflow.rst:581 -msgid "Default Argument Values" -msgstr "Nilai Argumen Bawaan" - -#: ../../tutorial/controlflow.rst:583 -msgid "" -"The most useful form is to specify a default value for one or more " -"arguments. This creates a function that can be called with fewer arguments " -"than it is defined to allow. For example::" -msgstr "" -"Bentuk yang paling berguna adalah menentukan nilai bawaan untuk satu atau " -"lebih argumen. Ini menciptakan fungsi yang bisa dipanggil dengan argumen " -"yang lebih sedikit daripada yang didefinisikan untuk diizinkan. Sebagai " -"contoh::" - -#: ../../tutorial/controlflow.rst:587 -msgid "" -"def ask_ok(prompt, retries=4, reminder='Please try again!'):\n" -" while True:\n" -" reply = input(prompt)\n" -" if reply in {'y', 'ye', 'yes'}:\n" -" return True\n" -" if reply in {'n', 'no', 'nop', 'nope'}:\n" -" return False\n" -" retries = retries - 1\n" -" if retries < 0:\n" -" raise ValueError('invalid user response')\n" -" print(reminder)" -msgstr "" - -#: ../../tutorial/controlflow.rst:599 -msgid "This function can be called in several ways:" -msgstr "Fungsi ini dapat dipanggil dengan beberapa cara:" - -#: ../../tutorial/controlflow.rst:601 -msgid "" -"giving only the mandatory argument: ``ask_ok('Do you really want to " -"quit?')``" -msgstr "" -"hanya memberikan argumen wajib: ``ask_ok('Do you really want to quit?')``" - -#: ../../tutorial/controlflow.rst:603 -msgid "" -"giving one of the optional arguments: ``ask_ok('OK to overwrite the file?', " -"2)``" -msgstr "" -"memberikan salah satu argumen opsional: ``ask_ok('OK to overwrite the " -"file?', 2)``" - -#: ../../tutorial/controlflow.rst:605 -msgid "" -"or even giving all arguments: ``ask_ok('OK to overwrite the file?', 2, 'Come" -" on, only yes or no!')``" -msgstr "" -"atau bahkan memberikan semua argumen: ``ask_ok('OK to overwrite the file?', " -"2, 'Come on, only yes or no!')``" - -#: ../../tutorial/controlflow.rst:608 -msgid "" -"This example also introduces the :keyword:`in` keyword. This tests whether " -"or not a sequence contains a certain value." -msgstr "" -"Contoh ini juga memperkenalkan kata kunci :keyword:`in`. Ini menguji apakah " -"suatu urutan berisi nilai tertentu atau tidak." - -#: ../../tutorial/controlflow.rst:611 -msgid "" -"The default values are evaluated at the point of function definition in the " -"*defining* scope, so that ::" -msgstr "" -"Nilai bawaan dievaluasi pada titik definisi fungsi dalam lingkup *defining*," -" sehingga::" - -#: ../../tutorial/controlflow.rst:614 -msgid "" -"i = 5\n" -"\n" -"def f(arg=i):\n" -" print(arg)\n" -"\n" -"i = 6\n" -"f()" -msgstr "" - -#: ../../tutorial/controlflow.rst:622 -msgid "will print ``5``." -msgstr "akan mencetak ``5``." - -#: ../../tutorial/controlflow.rst:624 -msgid "" -"**Important warning:** The default value is evaluated only once. This makes" -" a difference when the default is a mutable object such as a list, " -"dictionary, or instances of most classes. For example, the following " -"function accumulates the arguments passed to it on subsequent calls::" -msgstr "" -"**Peringatan penting:** Nilai bawaan dievaluasi hanya sekali. Ini membuat " -"perbedaan ketika bawaan adalah objek yang dapat diubah seperti daftar " -"*list*, kamus *dictionary*, atau *instances* dari sebagian besar kelas. " -"Misalnya, fungsi berikut mengakumulasi argumen yang diteruskan pada " -"panggilan berikutnya::" - -#: ../../tutorial/controlflow.rst:629 -msgid "" -"def f(a, L=[]):\n" -" L.append(a)\n" -" return L\n" -"\n" -"print(f(1))\n" -"print(f(2))\n" -"print(f(3))" -msgstr "" - -#: ../../tutorial/controlflow.rst:637 -msgid "This will print ::" -msgstr "Ini akan mencetak::" - -#: ../../tutorial/controlflow.rst:639 -msgid "" -"[1]\n" -"[1, 2]\n" -"[1, 2, 3]" -msgstr "" - -#: ../../tutorial/controlflow.rst:643 -msgid "" -"If you don't want the default to be shared between subsequent calls, you can" -" write the function like this instead::" -msgstr "" -"Jika Anda tidak ingin bawaan dibagi dengan panggilan berikutnya, Anda dapat " -"menulis fungsi seperti ini sebagai gantinya:" - -#: ../../tutorial/controlflow.rst:646 -msgid "" -"def f(a, L=None):\n" -" if L is None:\n" -" L = []\n" -" L.append(a)\n" -" return L" -msgstr "" - -#: ../../tutorial/controlflow.rst:656 -msgid "Keyword Arguments" -msgstr "Argumen Kata Kunci *Keyword Arguments*" - -#: ../../tutorial/controlflow.rst:658 -msgid "" -"Functions can also be called using :term:`keyword arguments ` of the form ``kwarg=value``. For instance, the following " -"function::" -msgstr "" -"Fungsi juga dapat dipanggil menggunakan :term:`keyword argument ` dari bentuk ``kwarg=value``. Misalnya, fungsi berikut::" - -#: ../../tutorial/controlflow.rst:661 -msgid "" -"def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):\n" -" print(\"-- This parrot wouldn't\", action, end=' ')\n" -" print(\"if you put\", voltage, \"volts through it.\")\n" -" print(\"-- Lovely plumage, the\", type)\n" -" print(\"-- It's\", state, \"!\")" -msgstr "" - -#: ../../tutorial/controlflow.rst:667 -msgid "" -"accepts one required argument (``voltage``) and three optional arguments " -"(``state``, ``action``, and ``type``). This function can be called in any " -"of the following ways::" -msgstr "" -"menerima satu argumen yang diperlukan (``voltage``) dan tiga argumen " -"opsional (``state``, ``action``, dan ``type``). Fungsi ini dapat dipanggil " -"dengan salah satu cara berikut::" - -#: ../../tutorial/controlflow.rst:671 -msgid "" -"parrot(1000) # 1 positional argument\n" -"parrot(voltage=1000) # 1 keyword argument\n" -"parrot(voltage=1000000, action='VOOOOOM') # 2 keyword arguments\n" -"parrot(action='VOOOOOM', voltage=1000000) # 2 keyword arguments\n" -"parrot('a million', 'bereft of life', 'jump') # 3 positional arguments\n" -"parrot('a thousand', state='pushing up the daisies') # 1 positional, 1 keyword" -msgstr "" - -#: ../../tutorial/controlflow.rst:678 -msgid "but all the following calls would be invalid::" -msgstr "tetapi semua pemanggilan berikut ini tidak valid::" - -#: ../../tutorial/controlflow.rst:680 -msgid "" -"parrot() # required argument missing\n" -"parrot(voltage=5.0, 'dead') # non-keyword argument after a keyword argument\n" -"parrot(110, voltage=220) # duplicate value for the same argument\n" -"parrot(actor='John Cleese') # unknown keyword argument" -msgstr "" - -#: ../../tutorial/controlflow.rst:685 -msgid "" -"In a function call, keyword arguments must follow positional arguments. All " -"the keyword arguments passed must match one of the arguments accepted by the" -" function (e.g. ``actor`` is not a valid argument for the ``parrot`` " -"function), and their order is not important. This also includes non-" -"optional arguments (e.g. ``parrot(voltage=1000)`` is valid too). No argument" -" may receive a value more than once. Here's an example that fails due to " -"this restriction::" -msgstr "" -"Dalam pemanggilan fungsi, argumen kata kunci *keyword argument* harus " -"mengikuti argumen posisi. Semua argumen kata kunci *keyword argument* yang " -"diteruskan harus cocok dengan salah satu argumen yang diterima oleh fungsi " -"(mis. ``actor`` bukan argumen yang valid untuk fungsi ``parrot``), dan " -"urutannya tidak penting. Ini juga termasuk argumen non-opsional (mis. " -"``parrot(voltage=1000)`` juga valid). Tidak ada argumen yang dapat menerima " -"nilai lebih dari sekali. Berikut ini contoh yang gagal karena batasan ini::" - -#: ../../tutorial/controlflow.rst:693 -msgid "" -">>> def function(a):\n" -"... pass\n" -"...\n" -">>> function(0, a=0)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: function() got multiple values for argument 'a'" -msgstr "" - -#: ../../tutorial/controlflow.rst:701 -msgid "" -"When a final formal parameter of the form ``**name`` is present, it receives" -" a dictionary (see :ref:`typesmapping`) containing all keyword arguments " -"except for those corresponding to a formal parameter. This may be combined " -"with a formal parameter of the form ``*name`` (described in the next " -"subsection) which receives a :ref:`tuple ` containing the " -"positional arguments beyond the formal parameter list. (``*name`` must " -"occur before ``**name``.) For example, if we define a function like this::" -msgstr "" -"Ketika parameter formal terakhir dari bentuk ``**name`` ada, ia menerima " -"kamus *dictionary* (lihat :ref:`typesmapping`) yang berisi semua argumen " -"kata kunci *keyword argument* kecuali yang terkait dengan parameter formal. " -"Ini dapat digabungkan dengan parameter formal dari bentuk ``*name`` " -"(dijelaskan dalam subbagian berikutnya) yang menerima :ref:`tuple ` yang berisi argumen posisi di luar daftar parameter formal. " -"(``*name`` harus ada sebelum ``**name``.) Misalnya, jika kita mendefinisikan" -" fungsi seperti ini::" - -#: ../../tutorial/controlflow.rst:709 -msgid "" -"def cheeseshop(kind, *arguments, **keywords):\n" -" print(\"-- Do you have any\", kind, \"?\")\n" -" print(\"-- I'm sorry, we're all out of\", kind)\n" -" for arg in arguments:\n" -" print(arg)\n" -" print(\"-\" * 40)\n" -" for kw in keywords:\n" -" print(kw, \":\", keywords[kw])" -msgstr "" - -#: ../../tutorial/controlflow.rst:718 -msgid "It could be called like this::" -msgstr "Ini bisa disebut seperti ini::" - -#: ../../tutorial/controlflow.rst:720 -msgid "" -"cheeseshop(\"Limburger\", \"It's very runny, sir.\",\n" -" \"It's really very, VERY runny, sir.\",\n" -" shopkeeper=\"Michael Palin\",\n" -" client=\"John Cleese\",\n" -" sketch=\"Cheese Shop Sketch\")" -msgstr "" - -#: ../../tutorial/controlflow.rst:726 -msgid "and of course it would print:" -msgstr "dan tentu saja itu akan mencetak:" - -#: ../../tutorial/controlflow.rst:728 -msgid "" -"-- Do you have any Limburger ?\n" -"-- I'm sorry, we're all out of Limburger\n" -"It's very runny, sir.\n" -"It's really very, VERY runny, sir.\n" -"----------------------------------------\n" -"shopkeeper : Michael Palin\n" -"client : John Cleese\n" -"sketch : Cheese Shop Sketch" -msgstr "" - -#: ../../tutorial/controlflow.rst:739 -msgid "" -"Note that the order in which the keyword arguments are printed is guaranteed" -" to match the order in which they were provided in the function call." -msgstr "" -"Perhatikan bahwa bagaimana urutan argumen kata kunci dicetak telah dijamin " -"sesuai dengan urutan yang disediakan dalam pemanggilan fungsi." - -#: ../../tutorial/controlflow.rst:743 -msgid "Special parameters" -msgstr "Parameter spesial" - -#: ../../tutorial/controlflow.rst:745 -msgid "" -"By default, arguments may be passed to a Python function either by position " -"or explicitly by keyword. For readability and performance, it makes sense to" -" restrict the way arguments can be passed so that a developer need only look" -" at the function definition to determine if items are passed by position, by" -" position or keyword, or by keyword." -msgstr "" -"Secara bawaan, argumen dapat diteruskan ke fungsi Python baik dengan posisi " -"atau secara eksplisit oleh kata kunci. Untuk keterbacaan dan kinerja, masuk " -"akal untuk membatasi cara argumen dapat dilewatkan sehingga pengembang hanya" -" perlu melihat definisi fungsi untuk menentukan apakah item dilewatkan " -"secara posisi saja, posisi atau kata kunci, atau kata kunci saja." - -#: ../../tutorial/controlflow.rst:751 -msgid "A function definition may look like:" -msgstr "Definisi fungsi mungkin terlihat seperti:" - -#: ../../tutorial/controlflow.rst:753 -msgid "" -"def f(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):\n" -" ----------- ---------- ----------\n" -" | | |\n" -" | Positional or keyword |\n" -" | - Keyword only\n" -" -- Positional only" -msgstr "" - -#: ../../tutorial/controlflow.rst:762 -msgid "" -"where ``/`` and ``*`` are optional. If used, these symbols indicate the kind" -" of parameter by how the arguments may be passed to the function: " -"positional-only, positional-or-keyword, and keyword-only. Keyword parameters" -" are also referred to as named parameters." -msgstr "" -"di mana ``/`` dan ``*`` adalah opsional. Jika digunakan, simbol-simbol ini " -"menunjukkan jenis parameter dengan cara argumen dilewatkan ke fungsi: " -"posisi-saja, posisi-atau-kata kunci, dan kata kunci-saja. Parameter kata " -"kunci juga disebut sebagai parameter bernama." - -#: ../../tutorial/controlflow.rst:769 -msgid "Positional-or-Keyword Arguments" -msgstr "Argumen Posisi-atau-Kata Kunci" - -#: ../../tutorial/controlflow.rst:771 -msgid "" -"If ``/`` and ``*`` are not present in the function definition, arguments may" -" be passed to a function by position or by keyword." -msgstr "" -"Jika ``/`` dan ``*`` tidak ada dalam definisi fungsi, argumen dapat " -"diteruskan ke fungsi dengan posisi atau kata kunci." - -#: ../../tutorial/controlflow.rst:776 -msgid "Positional-Only Parameters" -msgstr "Parameter Posisi-saja" - -#: ../../tutorial/controlflow.rst:778 -msgid "" -"Looking at this in a bit more detail, it is possible to mark certain " -"parameters as *positional-only*. If *positional-only*, the parameters' order" -" matters, and the parameters cannot be passed by keyword. Positional-only " -"parameters are placed before a ``/`` (forward-slash). The ``/`` is used to " -"logically separate the positional-only parameters from the rest of the " -"parameters. If there is no ``/`` in the function definition, there are no " -"positional-only parameters." -msgstr "" -"Melihat ini sedikit lebih detail, dimungkinkan untuk menandai parameter " -"tertentu sebagai *positional-only*. Jika *positional-only*, urutan parameter" -" penting, dan parameter tidak dapat dilewatkan dengan kata kunci. Parameter " -"posisi-saja ditempatkan sebelum ``/`` (garis miring). ``/`` Digunakan untuk " -"secara logis memisahkan parameter posisi-saja dari parameter lainnya. Jika " -"tidak ada ``/`` dalam definisi fungsi, tidak ada parameter posisi-saja." - -#: ../../tutorial/controlflow.rst:786 -msgid "" -"Parameters following the ``/`` may be *positional-or-keyword* or *keyword-" -"only*." -msgstr "" -"Parameter yang mengikuti ``/`` dapat berupa *positional-or-keyword* atau " -"*keyword-only*." - -#: ../../tutorial/controlflow.rst:790 -msgid "Keyword-Only Arguments" -msgstr "Argumen Kata Kunci-saja" - -#: ../../tutorial/controlflow.rst:792 -msgid "" -"To mark parameters as *keyword-only*, indicating the parameters must be " -"passed by keyword argument, place an ``*`` in the arguments list just before" -" the first *keyword-only* parameter." -msgstr "" -"Untuk menandai parameter sebagai *keyword-only*, yang menunjukkan parameter " -"harus dilewatkan dengan argumen kata kunci, tempatkan ``*`` dalam daftar " -"argumen tepat sebelum parameter *keyword-only*." - -#: ../../tutorial/controlflow.rst:798 -msgid "Function Examples" -msgstr "Contoh Fungsi" - -#: ../../tutorial/controlflow.rst:800 -msgid "" -"Consider the following example function definitions paying close attention " -"to the markers ``/`` and ``*``::" -msgstr "" -"Perhatikan definisi fungsi contoh berikut dengan memperhatikan marker ``/`` " -"dan ``*``::" - -#: ../../tutorial/controlflow.rst:803 -msgid "" -">>> def standard_arg(arg):\n" -"... print(arg)\n" -"...\n" -">>> def pos_only_arg(arg, /):\n" -"... print(arg)\n" -"...\n" -">>> def kwd_only_arg(*, arg):\n" -"... print(arg)\n" -"...\n" -">>> def combined_example(pos_only, /, standard, *, kwd_only):\n" -"... print(pos_only, standard, kwd_only)" -msgstr "" - -#: ../../tutorial/controlflow.rst:816 -msgid "" -"The first function definition, ``standard_arg``, the most familiar form, " -"places no restrictions on the calling convention and arguments may be passed" -" by position or keyword::" -msgstr "" -"Definisi fungsi pertama, ``standard_arg``, bentuk yang paling akrab, tidak " -"menempatkan batasan pada konvensi pemanggilan dan argumen dapat dilewatkan " -"dengan posisi atau kata kunci::" - -#: ../../tutorial/controlflow.rst:820 -msgid "" -">>> standard_arg(2)\n" -"2\n" -"\n" -">>> standard_arg(arg=2)\n" -"2" -msgstr "" - -#: ../../tutorial/controlflow.rst:826 -msgid "" -"The second function ``pos_only_arg`` is restricted to only use positional " -"parameters as there is a ``/`` in the function definition::" -msgstr "" -"Fungsi kedua ``pos_only_arg`` dibatasi hanya menggunakan parameter posisi " -"karena ada ``/`` dalam definisi fungsi::" - -#: ../../tutorial/controlflow.rst:829 -msgid "" -">>> pos_only_arg(1)\n" -"1\n" -"\n" -">>> pos_only_arg(arg=1)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: pos_only_arg() got some positional-only arguments passed as keyword arguments: 'arg'" -msgstr "" - -#: ../../tutorial/controlflow.rst:837 -msgid "" -"The third function ``kwd_only_arg`` only allows keyword arguments as " -"indicated by a ``*`` in the function definition::" -msgstr "" - -#: ../../tutorial/controlflow.rst:840 -msgid "" -">>> kwd_only_arg(3)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: kwd_only_arg() takes 0 positional arguments but 1 was given\n" -"\n" -">>> kwd_only_arg(arg=3)\n" -"3" -msgstr "" - -#: ../../tutorial/controlflow.rst:848 -msgid "" -"And the last uses all three calling conventions in the same function " -"definition::" -msgstr "" -"Dan yang terakhir menggunakan ketiga konvensi pemanggilan dalam definisi " -"fungsi yang sama::" - -#: ../../tutorial/controlflow.rst:851 -msgid "" -">>> combined_example(1, 2, 3)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: combined_example() takes 2 positional arguments but 3 were given\n" -"\n" -">>> combined_example(1, 2, kwd_only=3)\n" -"1 2 3\n" -"\n" -">>> combined_example(1, standard=2, kwd_only=3)\n" -"1 2 3\n" -"\n" -">>> combined_example(pos_only=1, standard=2, kwd_only=3)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: combined_example() got some positional-only arguments passed as keyword arguments: 'pos_only'" -msgstr "" - -#: ../../tutorial/controlflow.rst:868 -msgid "" -"Finally, consider this function definition which has a potential collision " -"between the positional argument ``name`` and ``**kwds`` which has ``name`` " -"as a key::" -msgstr "" -"Akhirnya, pertimbangkan definisi fungsi ini yang memiliki potensi tabrakan " -"antara argumen posisi ``name`` dan ``**kwds`` yang memiliki ``name`` sebagai" -" kunci::" - -#: ../../tutorial/controlflow.rst:870 -msgid "" -"def foo(name, **kwds):\n" -" return 'name' in kwds" -msgstr "" - -#: ../../tutorial/controlflow.rst:873 -msgid "" -"There is no possible call that will make it return ``True`` as the keyword " -"``'name'`` will always bind to the first parameter. For example::" -msgstr "" -"Tidak ada kemungkinan panggilan yang memungkinkan untuk mengembalikan ke " -"dalam ``True`` karena kata kunci ``'name'`` akan selalu terikat ke " -"parameter pertama. Sebagai contoh::" - -#: ../../tutorial/controlflow.rst:876 -msgid "" -">>> foo(1, **{'name': 2})\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: foo() got multiple values for argument 'name'\n" -">>>" -msgstr "" - -#: ../../tutorial/controlflow.rst:882 -msgid "" -"But using ``/`` (positional only arguments), it is possible since it allows " -"``name`` as a positional argument and ``'name'`` as a key in the keyword " -"arguments::" -msgstr "" -"Tetapi menggunakan ``/`` (argumen posisi saja), ini dimungkinkan karena " -"memungkinkan ``name`` sebagai argumen posisi dan ``'name'`` sebagai kunci " -"dalam argumen kata kunci *keyword argument*::" - -#: ../../tutorial/controlflow.rst:884 -msgid "" -">>> def foo(name, /, **kwds):\n" -"... return 'name' in kwds\n" -"...\n" -">>> foo(1, **{'name': 2})\n" -"True" -msgstr "" - -#: ../../tutorial/controlflow.rst:890 -msgid "" -"In other words, the names of positional-only parameters can be used in " -"``**kwds`` without ambiguity." -msgstr "" -"Dengan kata lain, nama-nama parameter posisi-saja dapat digunakan dalam " -"``**kwds`` tanpa ambiguitas." - -#: ../../tutorial/controlflow.rst:895 -msgid "Recap" -msgstr "Rekap" - -#: ../../tutorial/controlflow.rst:897 -msgid "" -"The use case will determine which parameters to use in the function " -"definition::" -msgstr "" -"Contoh kasus dimana akan menentukan parameter mana yang akan digunakan dalam" -" definisi fungsi::" - -#: ../../tutorial/controlflow.rst:899 -msgid "def f(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):" -msgstr "" - -#: ../../tutorial/controlflow.rst:901 -msgid "As guidance:" -msgstr "Sebagai pedoman:" - -#: ../../tutorial/controlflow.rst:903 -msgid "" -"Use positional-only if you want the name of the parameters to not be " -"available to the user. This is useful when parameter names have no real " -"meaning, if you want to enforce the order of the arguments when the function" -" is called or if you need to take some positional parameters and arbitrary " -"keywords." -msgstr "" -"Gunakan posisi-saja jika Anda ingin nama parameter tidak tersedia bagi " -"pengguna. Ini berguna ketika nama parameter tidak memiliki arti nyata, jika " -"Anda ingin menegakkan urutan argumen ketika fungsi dipanggil atau jika Anda " -"perlu mengambil beberapa parameter posisi dan kata kunci bergantian " -"*arbitrary*." - -#: ../../tutorial/controlflow.rst:908 -msgid "" -"Use keyword-only when names have meaning and the function definition is more" -" understandable by being explicit with names or you want to prevent users " -"relying on the position of the argument being passed." -msgstr "" -"Gunakan kata kunci-saja ketika nama memiliki makna dan definisi fungsi lebih" -" mudah dipahami dengan secara eksplisit menggunakan nama atau Anda ingin " -"mencegah pengguna mengandalkan posisi argumen yang dikirimkan." - -#: ../../tutorial/controlflow.rst:911 -msgid "" -"For an API, use positional-only to prevent breaking API changes if the " -"parameter's name is modified in the future." -msgstr "" -"Untuk API, gunakan posisi-saja untuk mencegah perubahan yang merusak dari " -"API jika nama parameter diubah di masa mendatang." - -#: ../../tutorial/controlflow.rst:917 -msgid "Arbitrary Argument Lists" -msgstr "Daftar Argumen Berubah-ubah *Arbitrary*" - -#: ../../tutorial/controlflow.rst:922 -msgid "" -"Finally, the least frequently used option is to specify that a function can " -"be called with an arbitrary number of arguments. These arguments will be " -"wrapped up in a tuple (see :ref:`tut-tuples`). Before the variable number " -"of arguments, zero or more normal arguments may occur. ::" -msgstr "" -"Akhirnya, opsi yang paling jarang digunakan adalah menentukan bahwa suatu " -"fungsi dapat dipanggil dengan sejumlah argumen acak *arbitrary*. Argumen-" -"argumen ini akan dibungkus dalam sebuah tuple (lihat :ref:`tuttuples`). " -"Sebelum jumlah variabel argumen, nol atau lebih argumen normal dapat muncul." -" ::" - -#: ../../tutorial/controlflow.rst:927 -msgid "" -"def write_multiple_items(file, separator, *args):\n" -" file.write(separator.join(args))" -msgstr "" - -#: ../../tutorial/controlflow.rst:931 -msgid "" -"Normally, these *variadic* arguments will be last in the list of formal " -"parameters, because they scoop up all remaining input arguments that are " -"passed to the function. Any formal parameters which occur after the " -"``*args`` parameter are 'keyword-only' arguments, meaning that they can only" -" be used as keywords rather than positional arguments. ::" -msgstr "" - -#: ../../tutorial/controlflow.rst:937 -msgid "" -">>> def concat(*args, sep=\"/\"):\n" -"... return sep.join(args)\n" -"...\n" -">>> concat(\"earth\", \"mars\", \"venus\")\n" -"'earth/mars/venus'\n" -">>> concat(\"earth\", \"mars\", \"venus\", sep=\".\")\n" -"'earth.mars.venus'" -msgstr "" - -#: ../../tutorial/controlflow.rst:948 -msgid "Unpacking Argument Lists" -msgstr "Pembukaan Paket *Unpacking* Daftar Argumen" - -#: ../../tutorial/controlflow.rst:950 -msgid "" -"The reverse situation occurs when the arguments are already in a list or " -"tuple but need to be unpacked for a function call requiring separate " -"positional arguments. For instance, the built-in :func:`range` function " -"expects separate *start* and *stop* arguments. If they are not available " -"separately, write the function call with the ``*``\\ -operator to unpack " -"the arguments out of a list or tuple::" -msgstr "" -"Situasi sebaliknya terjadi ketika argumen sudah ada dalam daftar *list* atau" -" tuple tetapi perlu dibongkar untuk panggilan fungsi yang membutuhkan " -"argumen posisi terpisah. Sebagai contoh, fungsi bawaan :func:`range` " -"mengharapkan argumen terpisah *start* dan *stop*. Jika tidak tersedia secara" -" terpisah, tulis fungsi panggilan dengan operator\\-``*`` untuk membongkar " -"argumen dari daftar *list* atau tuple::" - -#: ../../tutorial/controlflow.rst:957 -msgid "" -">>> list(range(3, 6)) # normal call with separate arguments\n" -"[3, 4, 5]\n" -">>> args = [3, 6]\n" -">>> list(range(*args)) # call with arguments unpacked from a list\n" -"[3, 4, 5]" -msgstr "" - -#: ../../tutorial/controlflow.rst:966 -msgid "" -"In the same fashion, dictionaries can deliver keyword arguments with the " -"``**``\\ -operator::" -msgstr "" -"Dengan cara yang sama, kamus dapat mengirimkan argumen kata kunci dengan " -"operator\\-``**``::" - -#: ../../tutorial/controlflow.rst:969 -msgid "" -">>> def parrot(voltage, state='a stiff', action='voom'):\n" -"... print(\"-- This parrot wouldn't\", action, end=' ')\n" -"... print(\"if you put\", voltage, \"volts through it.\", end=' ')\n" -"... print(\"E's\", state, \"!\")\n" -"...\n" -">>> d = {\"voltage\": \"four million\", \"state\": \"bleedin' demised\", \"action\": \"VOOM\"}\n" -">>> parrot(**d)\n" -"-- This parrot wouldn't VOOM if you put four million volts through it. E's bleedin' demised !" -msgstr "" - -#: ../../tutorial/controlflow.rst:982 -msgid "Lambda Expressions" -msgstr "Ekspresi Lambda" - -#: ../../tutorial/controlflow.rst:984 -msgid "" -"Small anonymous functions can be created with the :keyword:`lambda` keyword." -" This function returns the sum of its two arguments: ``lambda a, b: a+b``. " -"Lambda functions can be used wherever function objects are required. They " -"are syntactically restricted to a single expression. Semantically, they are" -" just syntactic sugar for a normal function definition. Like nested " -"function definitions, lambda functions can reference variables from the " -"containing scope::" -msgstr "" -"Fungsi kecil anonim dapat dibuat dengan kata kunci :keyword:`lambda`. Fungsi" -" ini mengembalikan jumlah dari dua argumennya: ``lambda a, b: a+b``. Fungsi " -"Lambda dapat digunakan di mana pun objek fungsi diperlukan. Mereka secara " -"sintaksis terbatas pada satu ekspresi. Secara semantik, mereka hanya pemanis" -" sintaksis untuk definisi fungsi normal. Seperti definisi fungsi bersarang, " -"fungsi lambda dapat mereferensikan variabel dari cakupan yang mengandung ::" - -#: ../../tutorial/controlflow.rst:992 -msgid "" -">>> def make_incrementor(n):\n" -"... return lambda x: x + n\n" -"...\n" -">>> f = make_incrementor(42)\n" -">>> f(0)\n" -"42\n" -">>> f(1)\n" -"43" -msgstr "" - -#: ../../tutorial/controlflow.rst:1001 -msgid "" -"The above example uses a lambda expression to return a function. Another " -"use is to pass a small function as an argument::" -msgstr "" -"Contoh di atas menggunakan ekspresi lambda untuk mengembalikan fungsi. " -"Penggunaan lain adalah untuk melewatkan fungsi kecil sebagai argumen::" - -#: ../../tutorial/controlflow.rst:1004 -msgid "" -">>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]\n" -">>> pairs.sort(key=lambda pair: pair[1])\n" -">>> pairs\n" -"[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]" -msgstr "" - -#: ../../tutorial/controlflow.rst:1013 -msgid "Documentation Strings" -msgstr "String Dokumentasi" - -#: ../../tutorial/controlflow.rst:1020 -msgid "" -"Here are some conventions about the content and formatting of documentation " -"strings." -msgstr "" -"Berikut adalah beberapa konvensi tentang konten dan format string " -"dokumentasi." - -#: ../../tutorial/controlflow.rst:1023 -msgid "" -"The first line should always be a short, concise summary of the object's " -"purpose. For brevity, it should not explicitly state the object's name or " -"type, since these are available by other means (except if the name happens " -"to be a verb describing a function's operation). This line should begin " -"with a capital letter and end with a period." -msgstr "" -"Baris pertama harus selalu berupa ringkasan singkat dan ringkas dari tujuan " -"objek. Untuk singkatnya, itu tidak boleh secara eksplisit menyatakan nama " -"atau jenis objek, karena ini tersedia dengan cara lain (kecuali jika nama " -"tersebut merupakan kata kerja yang menggambarkan operasi fungsi). Baris ini " -"harus dimulai dengan huruf kapital dan diakhiri dengan titik." - -#: ../../tutorial/controlflow.rst:1029 -msgid "" -"If there are more lines in the documentation string, the second line should " -"be blank, visually separating the summary from the rest of the description." -" The following lines should be one or more paragraphs describing the " -"object's calling conventions, its side effects, etc." -msgstr "" -"Jika ada lebih banyak baris dalam string dokumentasi, baris kedua harus " -"kosong, memisahkan ringkasan secara visual dari sisa deskripsi. Baris " -"berikut harus satu atau lebih paragraf yang menggambarkan konvensi " -"pemanggilan objek, efek sampingnya, dll." - -#: ../../tutorial/controlflow.rst:1034 -msgid "" -"The Python parser does not strip indentation from multi-line string literals" -" in Python, so tools that process documentation have to strip indentation if" -" desired. This is done using the following convention. The first non-blank " -"line *after* the first line of the string determines the amount of " -"indentation for the entire documentation string. (We can't use the first " -"line since it is generally adjacent to the string's opening quotes so its " -"indentation is not apparent in the string literal.) Whitespace " -"\"equivalent\" to this indentation is then stripped from the start of all " -"lines of the string. Lines that are indented less should not occur, but if " -"they occur all their leading whitespace should be stripped. Equivalence of " -"whitespace should be tested after expansion of tabs (to 8 spaces, normally)." -msgstr "" -"Pengurai Python tidak menghapus lekukan dari string multi-baris literal di " -"Python, jadi alat yang memproses dokumentasi harus menghapus indentasi jika " -"diinginkan. Ini dilakukan dengan menggunakan konvensi berikut. Baris tidak-" -"kosong pertama *setelah* baris pertama string menentukan jumlah indentasi " -"untuk seluruh string dokumentasi. (Kami tidak dapat menggunakan baris " -"pertama karena umumnya berbatasan dengan tanda kutip pembukaan string " -"sehingga indentasinya tidak terlihat dalam string literal.) Spasi " -"\"equivalent\" untuk indentasi ini kemudian dihilangkan dari awal semua " -"baris string. Baris yang indentasi lebih sedikit seharusnya tidak terjadi, " -"tetapi jika terjadi semua spasi *whitespace* utama harus dihilangkan. " -"Kesetaraan spasi harus diuji setelah ekspansi tab (hingga 8 spasi, " -"biasanya)." - -#: ../../tutorial/controlflow.rst:1046 -msgid "Here is an example of a multi-line docstring::" -msgstr "Berikut adalah contoh dari multi-baris *docstring*::" - -#: ../../tutorial/controlflow.rst:1048 -msgid "" -">>> def my_function():\n" -"... \"\"\"Do nothing, but document it.\n" -"...\n" -"... No, really, it doesn't do anything.\n" -"... \"\"\"\n" -"... pass\n" -"...\n" -">>> print(my_function.__doc__)\n" -"Do nothing, but document it.\n" -"\n" -" No, really, it doesn't do anything." -msgstr "" - -#: ../../tutorial/controlflow.rst:1064 -msgid "Function Annotations" -msgstr "Anotasi Fungsi" - -#: ../../tutorial/controlflow.rst:1072 -msgid "" -":ref:`Function annotations ` are completely optional metadata " -"information about the types used by user-defined functions (see :pep:`3107` " -"and :pep:`484` for more information)." -msgstr "" -":ref:`Function annotations ` informasi metadata yang sepenuhnya " -"opsional tentang jenis yang digunakan oleh fungsi yang ditentukan pengguna " -"(lihat :pep:`3107` dan :pep:`484` untuk informasi lebih lanjut)." - -#: ../../tutorial/controlflow.rst:1076 -msgid "" -":term:`Annotations ` are stored in the " -":attr:`!__annotations__` attribute of the function as a dictionary and have " -"no effect on any other part of the function. Parameter annotations are " -"defined by a colon after the parameter name, followed by an expression " -"evaluating to the value of the annotation. Return annotations are defined " -"by a literal ``->``, followed by an expression, between the parameter list " -"and the colon denoting the end of the :keyword:`def` statement. The " -"following example has a required argument, an optional argument, and the " -"return value annotated::" -msgstr "" - -#: ../../tutorial/controlflow.rst:1085 -msgid "" -">>> def f(ham: str, eggs: str = 'eggs') -> str:\n" -"... print(\"Annotations:\", f.__annotations__)\n" -"... print(\"Arguments:\", ham, eggs)\n" -"... return ham + ' and ' + eggs\n" -"...\n" -">>> f('spam')\n" -"Annotations: {'ham': , 'return': , 'eggs': }\n" -"Arguments: spam eggs\n" -"'spam and eggs'" -msgstr "" - -#: ../../tutorial/controlflow.rst:1098 -msgid "Intermezzo: Coding Style" -msgstr "Intermezzo: Gaya *Coding*" - -#: ../../tutorial/controlflow.rst:1103 -msgid "" -"Now that you are about to write longer, more complex pieces of Python, it is" -" a good time to talk about *coding style*. Most languages can be written " -"(or more concise, *formatted*) in different styles; some are more readable " -"than others. Making it easy for others to read your code is always a good " -"idea, and adopting a nice coding style helps tremendously for that." -msgstr "" -"Sekarang Anda akan menulis potongan Python yang lebih panjang dan lebih " -"kompleks, ini adalah saat yang tepat untuk berbicara tentang *coding style*." -" Sebagian besar bahasa dapat ditulis (atau lebih ringkas, *formatted*) dalam" -" gaya yang berbeda; beberapa lebih mudah dibaca daripada yang lain. " -"Memudahkan orang lain untuk membaca kode Anda selalu merupakan ide yang " -"baik, dan mengadopsi gaya pengkodean yang bagus sangat membantu untuk itu." - -#: ../../tutorial/controlflow.rst:1109 -msgid "" -"For Python, :pep:`8` has emerged as the style guide that most projects " -"adhere to; it promotes a very readable and eye-pleasing coding style. Every" -" Python developer should read it at some point; here are the most important " -"points extracted for you:" -msgstr "" -"Untuk Python, :pep:`8` telah muncul sebagai panduan gaya yang dipatuhi " -"sebagian besar proyek; itu mempromosikan gaya pengkodean yang sangat mudah " -"dibaca dan menyenangkan. Setiap pengembang Python harus membacanya di " -"beberapa bagian; di sini adalah poin paling penting yang ditunjukkan untuk " -"Anda:" - -#: ../../tutorial/controlflow.rst:1114 -msgid "Use 4-space indentation, and no tabs." -msgstr "Gunakan lekukan 4-spasi, dan tanpa tab." - -#: ../../tutorial/controlflow.rst:1116 -msgid "" -"4 spaces are a good compromise between small indentation (allows greater " -"nesting depth) and large indentation (easier to read). Tabs introduce " -"confusion, and are best left out." -msgstr "" -"4 spasi adalah kompromi yang baik antara indentasi kecil (memungkinkan " -"kedalaman bersarang lebih besar) dan indentasi besar (lebih mudah dibaca). " -"Tab menimbulkan kebingungan, dan sebaiknya ditinggalkan." - -#: ../../tutorial/controlflow.rst:1120 -msgid "Wrap lines so that they don't exceed 79 characters." -msgstr "Bungkus *wrap* garis agar tidak melebihi 79 karakter." - -#: ../../tutorial/controlflow.rst:1122 -msgid "" -"This helps users with small displays and makes it possible to have several " -"code files side-by-side on larger displays." -msgstr "" -"Ini membantu pengguna dengan tampilan kecil dan memungkinkan untuk memiliki " -"beberapa file kode berdampingan pada tampilan yang lebih besar." - -#: ../../tutorial/controlflow.rst:1125 -msgid "" -"Use blank lines to separate functions and classes, and larger blocks of code" -" inside functions." -msgstr "" -"Gunakan baris kosong untuk memisahkan fungsi dan kelas, dan blok kode yang " -"lebih besar di dalam fungsi." - -#: ../../tutorial/controlflow.rst:1128 -msgid "When possible, put comments on a line of their own." -msgstr "Jika memungkinkan, berikan komentar pada baris terkait." - -#: ../../tutorial/controlflow.rst:1130 -msgid "Use docstrings." -msgstr "Gunakan String Dokumentasi *docstrings*." - -#: ../../tutorial/controlflow.rst:1132 -msgid "" -"Use spaces around operators and after commas, but not directly inside " -"bracketing constructs: ``a = f(1, 2) + g(3, 4)``." -msgstr "" -"Gunakan spasi di sekitar operator dan setelah koma, tetapi tidak secara " -"langsung di dalam konstruksi kurung *bracketing*: ``a = f(1, 2) + g(3, 4)``." - -#: ../../tutorial/controlflow.rst:1135 -msgid "" -"Name your classes and functions consistently; the convention is to use " -"``UpperCamelCase`` for classes and ``lowercase_with_underscores`` for " -"functions and methods. Always use ``self`` as the name for the first method" -" argument (see :ref:`tut-firstclasses` for more on classes and methods)." -msgstr "" -"Beri nama kelas dan fungsi Anda secara konsisten; konvensi ini menggunakan " -"``UpperCamelCase`` untuk kelas dan ``lowercase_with_underscores`` untuk " -"fungsi dan metode. Selalu gunakan ``self`` sebagai nama untuk argumen metode" -" pertama (lihat :ref:`tut-firstclass` untuk lebih lanjut tentang kelas dan " -"metode)." - -#: ../../tutorial/controlflow.rst:1140 -msgid "" -"Don't use fancy encodings if your code is meant to be used in international " -"environments. Python's default, UTF-8, or even plain ASCII work best in any" -" case." -msgstr "" -"Jangan gunakan pengkodean ajaib *fancy encodings* jika kode Anda dimaksudkan" -" untuk digunakan di lingkungan internasional. Default Python, UTF-8, atau " -"bahkan ASCII biasa berfungsi paling baik dalam hal apa pun." - -#: ../../tutorial/controlflow.rst:1144 -msgid "" -"Likewise, don't use non-ASCII characters in identifiers if there is only the" -" slightest chance people speaking a different language will read or maintain" -" the code." -msgstr "" -"Demikian juga, jangan gunakan karakter non-ASCII dalam pengidentifikasi jika" -" hanya ada sedikit kesempatan orang berbicara bahasa yang berbeda akan " -"membaca atau merawat kode." - -#: ../../tutorial/controlflow.rst:1150 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../tutorial/controlflow.rst:1151 -msgid "" -"Actually, *call by object reference* would be a better description, since if" -" a mutable object is passed, the caller will see any changes the callee " -"makes to it (items inserted into a list)." -msgstr "" -"Sebenarnya, *call by object reference* akan menjadi deskripsi yang lebih " -"baik, karena jika objek yang bisa ditransmisikan dilewatkan, pemanggil akan " -"melihat perubahan yang dibuat oleh yang dipanggil *callee* (item dimasukkan " -"ke dalam daftar)." - -#: ../../tutorial/controlflow.rst:48 -msgid "statement" -msgstr "pernyataan" - -#: ../../tutorial/controlflow.rst:48 -msgid "for" -msgstr "" - -#: ../../tutorial/controlflow.rst:478 ../../tutorial/controlflow.rst:1015 -msgid "documentation strings" -msgstr "" - -#: ../../tutorial/controlflow.rst:478 ../../tutorial/controlflow.rst:1015 -msgid "docstrings" -msgstr "" - -#: ../../tutorial/controlflow.rst:478 ../../tutorial/controlflow.rst:1015 -msgid "strings, documentation" -msgstr "" - -#: ../../tutorial/controlflow.rst:919 -msgid "* (asterisk)" -msgstr "" - -#: ../../tutorial/controlflow.rst:919 ../../tutorial/controlflow.rst:963 -msgid "in function calls" -msgstr "" - -#: ../../tutorial/controlflow.rst:963 -msgid "**" -msgstr "" - -#: ../../tutorial/controlflow.rst:1067 -msgid "function" -msgstr "fungsi" - -#: ../../tutorial/controlflow.rst:1067 -msgid "annotations" -msgstr "anotasi" - -#: ../../tutorial/controlflow.rst:1067 -msgid "->" -msgstr "" - -#: ../../tutorial/controlflow.rst:1067 -msgid "function annotations" -msgstr "" - -#: ../../tutorial/controlflow.rst:1067 -msgid ": (colon)" -msgstr "" - -#: ../../tutorial/controlflow.rst:1101 -msgid "coding" -msgstr "" - -#: ../../tutorial/controlflow.rst:1101 -msgid "style" -msgstr "gaya" diff --git a/python-newest.tutorial--datastructures/id.po b/python-newest.tutorial--datastructures/id.po deleted file mode 100644 index a6f855c..0000000 --- a/python-newest.tutorial--datastructures/id.po +++ /dev/null @@ -1,1195 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Imaduddin A Majid , 2021 -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Ryan Febriansyah <15523163@students.uii.ac.id>, 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/datastructures.rst:5 -msgid "Data Structures" -msgstr "Struktur Data" - -#: ../../tutorial/datastructures.rst:7 -msgid "" -"This chapter describes some things you've learned about already in more " -"detail, and adds some new things as well." -msgstr "" -"Bab ini menjelaskan beberapa hal yang telah Anda pelajari secara lebih " -"rinci, dan menambahkan beberapa hal baru juga." - -#: ../../tutorial/datastructures.rst:13 -msgid "More on Lists" -msgstr "Lebih Lanjut tentang Daftar *Lists*" - -#: ../../tutorial/datastructures.rst:15 -msgid "" -"The list data type has some more methods. Here are all of the methods of " -"list objects:" -msgstr "" -"Tipe data daftar *list* memiliki beberapa metode lagi. Berikut ini semua " -"metode dari objek daftar *list*:" - -#: ../../tutorial/datastructures.rst:22 -msgid "Add an item to the end of the list. Similar to ``a[len(a):] = [x]``." -msgstr "" - -#: ../../tutorial/datastructures.rst:28 -msgid "" -"Extend the list by appending all the items from the iterable. Similar to " -"``a[len(a):] = iterable``." -msgstr "" - -#: ../../tutorial/datastructures.rst:35 -msgid "" -"Insert an item at a given position. The first argument is the index of the " -"element before which to insert, so ``a.insert(0, x)`` inserts at the front " -"of the list, and ``a.insert(len(a), x)`` is equivalent to ``a.append(x)``." -msgstr "" -"Masukkan item pada posisi tertentu. Argumen pertama adalah indeks elemen " -"sebelum memasukkan, jadi ``a.insert(0, x)`` memasukkan di bagian depan " -"daftar *list*, dan ``a.insert(len(a), x)`` sama dengan ``a.append(x)``." - -#: ../../tutorial/datastructures.rst:43 -msgid "" -"Remove the first item from the list whose value is equal to *x*. It raises " -"a :exc:`ValueError` if there is no such item." -msgstr "" -"Hapus item pertama dari daftar *list* yang nilainya sama dengan *x*. Ini " -"memunculkan :exc:`ValueError` jika tidak ada item seperti itu." - -#: ../../tutorial/datastructures.rst:50 -msgid "" -"Remove the item at the given position in the list, and return it. If no " -"index is specified, ``a.pop()`` removes and returns the last item in the " -"list. It raises an :exc:`IndexError` if the list is empty or the index is " -"outside the list range." -msgstr "" - -#: ../../tutorial/datastructures.rst:59 -msgid "Remove all items from the list. Similar to ``del a[:]``." -msgstr "" - -#: ../../tutorial/datastructures.rst:65 -msgid "" -"Return zero-based index in the list of the first item whose value is equal " -"to *x*. Raises a :exc:`ValueError` if there is no such item." -msgstr "" -"Kembalikan indeks berbasis nol dalam daftar item pertama yang nilainya sama " -"dengan *x*. Menimbulkan :exc:`ValueError` jika tidak ada item seperti itu." - -#: ../../tutorial/datastructures.rst:68 -msgid "" -"The optional arguments *start* and *end* are interpreted as in the slice " -"notation and are used to limit the search to a particular subsequence of the" -" list. The returned index is computed relative to the beginning of the full" -" sequence rather than the *start* argument." -msgstr "" -"Argumen opsional *start* dan *end* ditafsirkan seperti dalam notasi *slice* " -"dan digunakan untuk membatasi pencarian ke urutan tertentu dari daftar. " -"Indeks yang dikembalikan dihitung relatif terhadap awal urutan penuh " -"daripada argumen *start*." - -#: ../../tutorial/datastructures.rst:77 -msgid "Return the number of times *x* appears in the list." -msgstr "Kembalikan berapa kali *x* muncul dalam daftar." - -#: ../../tutorial/datastructures.rst:83 -msgid "" -"Sort the items of the list in place (the arguments can be used for sort " -"customization, see :func:`sorted` for their explanation)." -msgstr "" -"Urutkan item daftar di tempat (argumen dapat digunakan untuk mengurutkan " -"ubahsuaian *customization*, lihat :func:`sorted` untuk penjelasannya)." - -#: ../../tutorial/datastructures.rst:90 -msgid "Reverse the elements of the list in place." -msgstr "Balikkan elemen daftar *list* di tempatnya." - -#: ../../tutorial/datastructures.rst:96 -msgid "Return a shallow copy of the list. Similar to ``a[:]``." -msgstr "" - -#: ../../tutorial/datastructures.rst:99 -msgid "An example that uses most of the list methods::" -msgstr "Contoh yang menggunakan sebagian besar metode daftar *list*::" - -#: ../../tutorial/datastructures.rst:101 -msgid "" -">>> fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']\n" -">>> fruits.count('apple')\n" -"2\n" -">>> fruits.count('tangerine')\n" -"0\n" -">>> fruits.index('banana')\n" -"3\n" -">>> fruits.index('banana', 4) # Find next banana starting at position 4\n" -"6\n" -">>> fruits.reverse()\n" -">>> fruits\n" -"['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange']\n" -">>> fruits.append('grape')\n" -">>> fruits\n" -"['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange', 'grape']\n" -">>> fruits.sort()\n" -">>> fruits\n" -"['apple', 'apple', 'banana', 'banana', 'grape', 'kiwi', 'orange', 'pear']\n" -">>> fruits.pop()\n" -"'pear'" -msgstr "" - -#: ../../tutorial/datastructures.rst:122 -msgid "" -"You might have noticed that methods like ``insert``, ``remove`` or ``sort`` " -"that only modify the list have no return value printed -- they return the " -"default ``None``. [#]_ This is a design principle for all mutable data " -"structures in Python." -msgstr "" - -#: ../../tutorial/datastructures.rst:127 -msgid "" -"Another thing you might notice is that not all data can be sorted or " -"compared. For instance, ``[None, 'hello', 10]`` doesn't sort because " -"integers can't be compared to strings and ``None`` can't be compared to " -"other types. Also, there are some types that don't have a defined ordering " -"relation. For example, ``3+4j < 5+7j`` isn't a valid comparison." -msgstr "" - -#: ../../tutorial/datastructures.rst:138 -msgid "Using Lists as Stacks" -msgstr "Menggunakan Daftar *Lists* sebagai Tumpukan *Stacks*" - -#: ../../tutorial/datastructures.rst:143 -msgid "" -"The list methods make it very easy to use a list as a stack, where the last " -"element added is the first element retrieved (\"last-in, first-out\"). To " -"add an item to the top of the stack, use :meth:`!append`. To retrieve an " -"item from the top of the stack, use :meth:`!pop` without an explicit index." -" For example::" -msgstr "" - -#: ../../tutorial/datastructures.rst:148 -msgid "" -">>> stack = [3, 4, 5]\n" -">>> stack.append(6)\n" -">>> stack.append(7)\n" -">>> stack\n" -"[3, 4, 5, 6, 7]\n" -">>> stack.pop()\n" -"7\n" -">>> stack\n" -"[3, 4, 5, 6]\n" -">>> stack.pop()\n" -"6\n" -">>> stack.pop()\n" -"5\n" -">>> stack\n" -"[3, 4]" -msgstr "" - -#: ../../tutorial/datastructures.rst:168 -msgid "Using Lists as Queues" -msgstr "Menggunakan Daftar *Lists* sebagai Antrian *Queues*" - -#: ../../tutorial/datastructures.rst:172 -msgid "" -"It is also possible to use a list as a queue, where the first element added " -"is the first element retrieved (\"first-in, first-out\"); however, lists are" -" not efficient for this purpose. While appends and pops from the end of " -"list are fast, doing inserts or pops from the beginning of a list is slow " -"(because all of the other elements have to be shifted by one)." -msgstr "" -"Dimungkinkan juga untuk menggunakan daftar sebagai antrian, di mana elemen " -"pertama yang ditambahkan adalah elemen pertama yang diambil (\"first-in, " -"first-out\"); namun, daftar tidak efisien untuk tujuan ini. Sementara " -"menambahkan dan muncul dari akhir daftar cepat, melakukan memasukkan atau " -"muncul dari awal daftar lambat (karena semua elemen lain harus digeser " -"satu)." - -#: ../../tutorial/datastructures.rst:178 -msgid "" -"To implement a queue, use :class:`collections.deque` which was designed to " -"have fast appends and pops from both ends. For example::" -msgstr "" -"Untuk mengimplementasikan antrian, gunakan :class:`collections.deque` yang " -"dirancang untuk menambahkan dan muncul dengan cepat dari kedua ujungnya. " -"Sebagai contoh::" - -#: ../../tutorial/datastructures.rst:181 -msgid "" -">>> from collections import deque\n" -">>> queue = deque([\"Eric\", \"John\", \"Michael\"])\n" -">>> queue.append(\"Terry\") # Terry arrives\n" -">>> queue.append(\"Graham\") # Graham arrives\n" -">>> queue.popleft() # The first to arrive now leaves\n" -"'Eric'\n" -">>> queue.popleft() # The second to arrive now leaves\n" -"'John'\n" -">>> queue # Remaining queue in order of arrival\n" -"deque(['Michael', 'Terry', 'Graham'])" -msgstr "" - -#: ../../tutorial/datastructures.rst:196 -msgid "List Comprehensions" -msgstr "Daftar *List* *Comprehensions*" - -#: ../../tutorial/datastructures.rst:198 -msgid "" -"List comprehensions provide a concise way to create lists. Common " -"applications are to make new lists where each element is the result of some " -"operations applied to each member of another sequence or iterable, or to " -"create a subsequence of those elements that satisfy a certain condition." -msgstr "" -"Pemahaman daftar *list comprehensions* menyediakan cara singkat untuk " -"membuat daftar. Aplikasi umum adalah membuat daftar baru di mana setiap " -"elemen adalah hasil dari beberapa operasi yang diterapkan pada setiap " -"anggota dari urutan lain atau *iterable*, atau untuk membuat urutan elemen-" -"elemen yang memenuhi kondisi tertentu." - -#: ../../tutorial/datastructures.rst:203 -msgid "For example, assume we want to create a list of squares, like::" -msgstr "Misalnya, anggap kita ingin membuat daftar kotak, seperti::" - -#: ../../tutorial/datastructures.rst:205 -msgid "" -">>> squares = []\n" -">>> for x in range(10):\n" -"... squares.append(x**2)\n" -"...\n" -">>> squares\n" -"[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]" -msgstr "" - -#: ../../tutorial/datastructures.rst:212 -msgid "" -"Note that this creates (or overwrites) a variable named ``x`` that still " -"exists after the loop completes. We can calculate the list of squares " -"without any side effects using::" -msgstr "" -"Perhatikan bahwa ini membuat (atau menimpa) variabel bernama ``x`` yang " -"masih ada setelah loop selesai. Kami dapat menghitung daftar kotak tanpa " -"efek samping menggunakan::" - -#: ../../tutorial/datastructures.rst:216 -msgid "squares = list(map(lambda x: x**2, range(10)))" -msgstr "" - -#: ../../tutorial/datastructures.rst:218 -msgid "or, equivalently::" -msgstr "atau, dengan kata lain::" - -#: ../../tutorial/datastructures.rst:220 -msgid "squares = [x**2 for x in range(10)]" -msgstr "" - -#: ../../tutorial/datastructures.rst:222 -msgid "which is more concise and readable." -msgstr "yang lebih ringkas dan mudah dibaca." - -#: ../../tutorial/datastructures.rst:224 -msgid "" -"A list comprehension consists of brackets containing an expression followed " -"by a :keyword:`!for` clause, then zero or more :keyword:`!for` or " -":keyword:`!if` clauses. The result will be a new list resulting from " -"evaluating the expression in the context of the :keyword:`!for` and " -":keyword:`!if` clauses which follow it. For example, this listcomp combines " -"the elements of two lists if they are not equal::" -msgstr "" -"Pemahaman daftar *list comprehension* terdiri dari tanda kurung yang berisi " -"ekspresi diikuti oleh klausa :keyword:`!for`, lalu nol atau lebih klausa " -":keyword:`!for` atau :keyword:`!if`. Hasilnya akan menjadi daftar baru yang " -"dihasilkan dari mengevaluasi ekspresi dalam konteks dari klausa " -":keyword:`!for` dan :keyword:`!if` yang mengikutinya. Sebagai contoh, " -"*listcomp* ini menggabungkan elemen dari dua daftar jika tidak sama::" - -#: ../../tutorial/datastructures.rst:231 -msgid "" -">>> [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]\n" -"[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]" -msgstr "" - -#: ../../tutorial/datastructures.rst:234 -msgid "and it's equivalent to::" -msgstr "dan itu setara dengan::" - -#: ../../tutorial/datastructures.rst:236 -msgid "" -">>> combs = []\n" -">>> for x in [1,2,3]:\n" -"... for y in [3,1,4]:\n" -"... if x != y:\n" -"... combs.append((x, y))\n" -"...\n" -">>> combs\n" -"[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]" -msgstr "" - -#: ../../tutorial/datastructures.rst:245 -msgid "" -"Note how the order of the :keyword:`for` and :keyword:`if` statements is the" -" same in both these snippets." -msgstr "" -"Perhatikan bagaimana urutan pernyataan :keyword:`for` dan :keyword:`if` " -"adalah sama di kedua cuplikan ini." - -#: ../../tutorial/datastructures.rst:248 -msgid "" -"If the expression is a tuple (e.g. the ``(x, y)`` in the previous example), " -"it must be parenthesized. ::" -msgstr "" -"Jika ekspresi adalah tuple (mis. ``(x, y)`` dalam contoh sebelumnya), " -"ekspresi tersebut harus diberi kurung. ::" - -#: ../../tutorial/datastructures.rst:251 -msgid "" -">>> vec = [-4, -2, 0, 2, 4]\n" -">>> # create a new list with the values doubled\n" -">>> [x*2 for x in vec]\n" -"[-8, -4, 0, 4, 8]\n" -">>> # filter the list to exclude negative numbers\n" -">>> [x for x in vec if x >= 0]\n" -"[0, 2, 4]\n" -">>> # apply a function to all the elements\n" -">>> [abs(x) for x in vec]\n" -"[4, 2, 0, 2, 4]\n" -">>> # call a method on each element\n" -">>> freshfruit = [' banana', ' loganberry ', 'passion fruit ']\n" -">>> [weapon.strip() for weapon in freshfruit]\n" -"['banana', 'loganberry', 'passion fruit']\n" -">>> # create a list of 2-tuples like (number, square)\n" -">>> [(x, x**2) for x in range(6)]\n" -"[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]\n" -">>> # the tuple must be parenthesized, otherwise an error is raised\n" -">>> [x, x**2 for x in range(6)]\n" -" File \"\", line 1\n" -" [x, x**2 for x in range(6)]\n" -" ^^^^^^^\n" -"SyntaxError: did you forget parentheses around the comprehension target?\n" -">>> # flatten a list using a listcomp with two 'for'\n" -">>> vec = [[1,2,3], [4,5,6], [7,8,9]]\n" -">>> [num for elem in vec for num in elem]\n" -"[1, 2, 3, 4, 5, 6, 7, 8, 9]" -msgstr "" - -#: ../../tutorial/datastructures.rst:279 -msgid "" -"List comprehensions can contain complex expressions and nested functions::" -msgstr "" -"Pemahaman daftar *list comprehensions* dapat berisi ekspresi kompleks dan " -"fungsi bersarang::" - -#: ../../tutorial/datastructures.rst:281 -msgid "" -">>> from math import pi\n" -">>> [str(round(pi, i)) for i in range(1, 6)]\n" -"['3.1', '3.14', '3.142', '3.1416', '3.14159']" -msgstr "" - -#: ../../tutorial/datastructures.rst:286 -msgid "Nested List Comprehensions" -msgstr "Pemahaman Daftar *List Comprehensions* Bersarang" - -#: ../../tutorial/datastructures.rst:288 -msgid "" -"The initial expression in a list comprehension can be any arbitrary " -"expression, including another list comprehension." -msgstr "" -"Ekspresi awal dalam pemahaman daftar *list comprehension* dapat berupa " -"ekspresi acak *arbitrary*, termasuk pemahaman daftar *list comprehension* " -"lainnya." - -#: ../../tutorial/datastructures.rst:291 -msgid "" -"Consider the following example of a 3x4 matrix implemented as a list of 3 " -"lists of length 4::" -msgstr "" -"Perhatikan contoh matriks 3x4 berikut yang diimplementasikan sebagai daftar " -"*list* 3 dari daftar *list* panjang 4 ::" - -#: ../../tutorial/datastructures.rst:294 -msgid "" -">>> matrix = [\n" -"... [1, 2, 3, 4],\n" -"... [5, 6, 7, 8],\n" -"... [9, 10, 11, 12],\n" -"... ]" -msgstr "" - -#: ../../tutorial/datastructures.rst:300 -msgid "The following list comprehension will transpose rows and columns::" -msgstr "" -"Pemahaman daftar *list comprehension* berikut akan mengubah baris dan " -"kolom::" - -#: ../../tutorial/datastructures.rst:302 -msgid "" -">>> [[row[i] for row in matrix] for i in range(4)]\n" -"[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]" -msgstr "" - -#: ../../tutorial/datastructures.rst:305 -msgid "" -"As we saw in the previous section, the inner list comprehension is evaluated" -" in the context of the :keyword:`for` that follows it, so this example is " -"equivalent to::" -msgstr "" - -#: ../../tutorial/datastructures.rst:309 -msgid "" -">>> transposed = []\n" -">>> for i in range(4):\n" -"... transposed.append([row[i] for row in matrix])\n" -"...\n" -">>> transposed\n" -"[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]" -msgstr "" - -#: ../../tutorial/datastructures.rst:316 -msgid "which, in turn, is the same as::" -msgstr "yang, pada gilirannya, sama dengan::" - -#: ../../tutorial/datastructures.rst:318 -msgid "" -">>> transposed = []\n" -">>> for i in range(4):\n" -"... # the following 3 lines implement the nested listcomp\n" -"... transposed_row = []\n" -"... for row in matrix:\n" -"... transposed_row.append(row[i])\n" -"... transposed.append(transposed_row)\n" -"...\n" -">>> transposed\n" -"[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]" -msgstr "" - -#: ../../tutorial/datastructures.rst:329 -msgid "" -"In the real world, you should prefer built-in functions to complex flow " -"statements. The :func:`zip` function would do a great job for this use " -"case::" -msgstr "" -"Di dunia nyata, Anda harus memilih fungsi bawaan untuk pernyataan aliran " -"*flow* yang kompleks. Fungsi :func:`zip` akan melakukan pekerjaan yang baik " -"untuk kasus penggunaan ini::" - -#: ../../tutorial/datastructures.rst:332 -msgid "" -">>> list(zip(*matrix))\n" -"[(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]" -msgstr "" - -#: ../../tutorial/datastructures.rst:335 -msgid "" -"See :ref:`tut-unpacking-arguments` for details on the asterisk in this line." -msgstr "" -"Lihat :ref:`tut-unpacking-argumen` untuk detail tentang tanda bintang " -"*asterisk* di baris ini." - -#: ../../tutorial/datastructures.rst:340 -msgid "The :keyword:`!del` statement" -msgstr "Pernyataan :keyword:`!del`" - -#: ../../tutorial/datastructures.rst:342 -msgid "" -"There is a way to remove an item from a list given its index instead of its " -"value: the :keyword:`del` statement. This differs from the :meth:`!pop` " -"method which returns a value. The :keyword:`!del` statement can also be " -"used to remove slices from a list or clear the entire list (which we did " -"earlier by assignment of an empty list to the slice). For example::" -msgstr "" - -#: ../../tutorial/datastructures.rst:348 -msgid "" -">>> a = [-1, 1, 66.25, 333, 333, 1234.5]\n" -">>> del a[0]\n" -">>> a\n" -"[1, 66.25, 333, 333, 1234.5]\n" -">>> del a[2:4]\n" -">>> a\n" -"[1, 66.25, 1234.5]\n" -">>> del a[:]\n" -">>> a\n" -"[]" -msgstr "" - -#: ../../tutorial/datastructures.rst:359 -msgid ":keyword:`del` can also be used to delete entire variables::" -msgstr "" -":keyword:`del` juga dapat digunakan untuk menghapus seluruh variabel::" - -#: ../../tutorial/datastructures.rst:361 -msgid ">>> del a" -msgstr "" - -#: ../../tutorial/datastructures.rst:363 -msgid "" -"Referencing the name ``a`` hereafter is an error (at least until another " -"value is assigned to it). We'll find other uses for :keyword:`del` later." -msgstr "" -"Merujuk nama ``a`` selanjutnya adalah kesalahan (setidaknya sampai nilai " -"lain ditetapkan untuknya). Kita akan menemukan kegunaan lain untuk " -":keyword:`del` nanti." - -#: ../../tutorial/datastructures.rst:370 -msgid "Tuples and Sequences" -msgstr "Tuples and *Urutan* Sequences" - -#: ../../tutorial/datastructures.rst:372 -msgid "" -"We saw that lists and strings have many common properties, such as indexing " -"and slicing operations. They are two examples of *sequence* data types (see" -" :ref:`typesseq`). Since Python is an evolving language, other sequence " -"data types may be added. There is also another standard sequence data type:" -" the *tuple*." -msgstr "" -"Kita melihat bahwa daftar *list* dan string memiliki banyak properti yang " -"sama, seperti operasi pengindeksan dan pemotongan. Mereka adalah dua contoh " -"tipe data *sequence* (lihat :ref:`typesseq`). Karena Python adalah bahasa " -"yang berkembang, tipe data urutan lainnya dapat ditambahkan. Ada juga tipe " -"data urutan standar lain: *tuple*." - -#: ../../tutorial/datastructures.rst:378 -msgid "" -"A tuple consists of a number of values separated by commas, for instance::" -msgstr "" -"Sebuah *tuple* terdiri dari sejumlah nilai yang dipisahkan oleh koma, " -"misalnya::" - -#: ../../tutorial/datastructures.rst:380 -msgid "" -">>> t = 12345, 54321, 'hello!'\n" -">>> t[0]\n" -"12345\n" -">>> t\n" -"(12345, 54321, 'hello!')\n" -">>> # Tuples may be nested:\n" -">>> u = t, (1, 2, 3, 4, 5)\n" -">>> u\n" -"((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))\n" -">>> # Tuples are immutable:\n" -">>> t[0] = 88888\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: 'tuple' object does not support item assignment\n" -">>> # but they can contain mutable objects:\n" -">>> v = ([1, 2, 3], [3, 2, 1])\n" -">>> v\n" -"([1, 2, 3], [3, 2, 1])" -msgstr "" - -#: ../../tutorial/datastructures.rst:400 -msgid "" -"As you see, on output tuples are always enclosed in parentheses, so that " -"nested tuples are interpreted correctly; they may be input with or without " -"surrounding parentheses, although often parentheses are necessary anyway (if" -" the tuple is part of a larger expression). It is not possible to assign to" -" the individual items of a tuple, however it is possible to create tuples " -"which contain mutable objects, such as lists." -msgstr "" -"Seperti yang Anda lihat, pada *tuple* keluaran selalu tertutup dalam tanda " -"kurung, sehingga *tuple* bersarang *nester* ditafsirkan dengan benar; mereka" -" mungkin dimasukkan dengan atau tanpa tanda kurung di sekitarnya, meskipun " -"seringkali tanda kurung diperlukan pula (jika tuple adalah bagian dari " -"ekspresi yang lebih besar). Tidak mungkin untuk memberikan nilai ke masing-" -"masing item *tuple*, namun dimungkinkan untuk membuat tuple yang berisi " -"objek yang bisa berubah *mutable*, seperti daftar." - -#: ../../tutorial/datastructures.rst:407 -msgid "" -"Though tuples may seem similar to lists, they are often used in different " -"situations and for different purposes. Tuples are :term:`immutable`, and " -"usually contain a heterogeneous sequence of elements that are accessed via " -"unpacking (see later in this section) or indexing (or even by attribute in " -"the case of :func:`namedtuples `). Lists are " -":term:`mutable`, and their elements are usually homogeneous and are accessed" -" by iterating over the list." -msgstr "" -"Meskipun *tuple* mungkin mirip dengan daftar, *tuple* sering digunakan dalam" -" situasi yang berbeda dan untuk tujuan yang berbeda. *Tuples* adalah " -":term:`immutable`, dan biasanya berisi urutan elemen yang heterogen yang " -"diakses melalui *unpacking* (lihat nanti di bagian ini) atau pengindeksan " -"(atau bahkan berdasarkan atribut dalam kasus :func:`namedtuples " -" `). Daftar adalah :term:`mutable`, dan elemen-" -"elemennya biasanya homogen dan diakses dengan menyusuri *iterating* daftar " -"*list*." - -#: ../../tutorial/datastructures.rst:415 -msgid "" -"A special problem is the construction of tuples containing 0 or 1 items: the" -" syntax has some extra quirks to accommodate these. Empty tuples are " -"constructed by an empty pair of parentheses; a tuple with one item is " -"constructed by following a value with a comma (it is not sufficient to " -"enclose a single value in parentheses). Ugly, but effective. For example::" -msgstr "" -"Masalah khusus adalah pembangunan *tuple* yang mengandung 0 atau 1 item: " -"sintaksis memiliki beberapa kebiasaan *quirks* tambahan untuk mengakomodasi " -"ini. *Tuple* kosong dibangun oleh sepasang kurung kosong; tupel dengan satu " -"item dikonstruksi dengan mengikuti nilai dengan koma (tidak cukup untuk " -"menyertakan nilai tunggal dalam tanda kurung). Jelek, tapi efektif. Sebagai " -"contoh::" - -#: ../../tutorial/datastructures.rst:421 -msgid "" -">>> empty = ()\n" -">>> singleton = 'hello', # <-- note trailing comma\n" -">>> len(empty)\n" -"0\n" -">>> len(singleton)\n" -"1\n" -">>> singleton\n" -"('hello',)" -msgstr "" - -#: ../../tutorial/datastructures.rst:430 -msgid "" -"The statement ``t = 12345, 54321, 'hello!'`` is an example of *tuple " -"packing*: the values ``12345``, ``54321`` and ``'hello!'`` are packed " -"together in a tuple. The reverse operation is also possible::" -msgstr "" -"Pernyataan ``t = 12345, 54321, 'hello!'`` Adalah contoh dari *tuple " -"packing*: nilainya ``12345``, ``54321`` dan ``'hello!'`` Dikemas bersama-" -"sama dalam *tuple*. Operasi terbalik juga dimungkinkan ::" - -#: ../../tutorial/datastructures.rst:434 -msgid ">>> x, y, z = t" -msgstr "" - -#: ../../tutorial/datastructures.rst:436 -msgid "" -"This is called, appropriately enough, *sequence unpacking* and works for any" -" sequence on the right-hand side. Sequence unpacking requires that there " -"are as many variables on the left side of the equals sign as there are " -"elements in the sequence. Note that multiple assignment is really just a " -"combination of tuple packing and sequence unpacking." -msgstr "" -"Ini disebut, cukup tepat, urutan membongkar *sequence unpacking* dan " -"berfungsi untuk setiap urutan di sisi kanan. Urutan membongkar mensyaratkan " -"bahwa ada banyak variabel di sisi kiri tanda sama dengan ada elemen dalam " -"urutan. Perhatikan bahwa banyak tugas benar-benar hanya kombinasi dari " -"*tuple packing* dan urutan pembongkaran *sequence unpacking*." - -#: ../../tutorial/datastructures.rst:446 -msgid "Sets" -msgstr "Himpunan *Set*" - -#: ../../tutorial/datastructures.rst:448 -msgid "" -"Python also includes a data type for *sets*. A set is an unordered " -"collection with no duplicate elements. Basic uses include membership " -"testing and eliminating duplicate entries. Set objects also support " -"mathematical operations like union, intersection, difference, and symmetric " -"difference." -msgstr "" -"Python juga menyertakan tipe data untuk *sets*. Himpunan atau *Set* adalah " -"koleksi yang tidak terurut tanpa elemen duplikat. Penggunaan dasar termasuk " -"pengujian keanggotaan dan menghilangkan entri duplikat. Atur objek juga " -"mendukung operasi matematika seperti penyatuan *union*, persimpangan " -"*intersection*, perbedaan *difference*, dan perbedaan simetris." - -#: ../../tutorial/datastructures.rst:453 -msgid "" -"Curly braces or the :func:`set` function can be used to create sets. Note: " -"to create an empty set you have to use ``set()``, not ``{}``; the latter " -"creates an empty dictionary, a data structure that we discuss in the next " -"section." -msgstr "" -"Kurung kurawal atau fungsi :func:`set` dapat digunakan untuk membuat " -"himpunan. Catatan: untuk membuat himpunan kosong Anda harus menggunakan " -"``set()``, bukan ``{}``; yang terakhir itu membuat kamus *dictionary* " -"kosong, struktur data yang kita bahas di bagian selanjutnya." - -#: ../../tutorial/datastructures.rst:457 -msgid "Here is a brief demonstration::" -msgstr "Berikut ini adalah demonstrasi singkat::" - -#: ../../tutorial/datastructures.rst:459 -msgid "" -">>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}\n" -">>> print(basket) # show that duplicates have been removed\n" -"{'orange', 'banana', 'pear', 'apple'}\n" -">>> 'orange' in basket # fast membership testing\n" -"True\n" -">>> 'crabgrass' in basket\n" -"False\n" -"\n" -">>> # Demonstrate set operations on unique letters from two words\n" -">>>\n" -">>> a = set('abracadabra')\n" -">>> b = set('alacazam')\n" -">>> a # unique letters in a\n" -"{'a', 'r', 'b', 'c', 'd'}\n" -">>> a - b # letters in a but not in b\n" -"{'r', 'd', 'b'}\n" -">>> a | b # letters in a or b or both\n" -"{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}\n" -">>> a & b # letters in both a and b\n" -"{'a', 'c'}\n" -">>> a ^ b # letters in a or b but not both\n" -"{'r', 'd', 'b', 'm', 'z', 'l'}" -msgstr "" - -#: ../../tutorial/datastructures.rst:482 -msgid "" -"Similarly to :ref:`list comprehensions `, set comprehensions " -"are also supported::" -msgstr "" -"Seperti halnya untuk :ref:`list comprehensions `, *set " -"comprehensions* juga didukung::" - -#: ../../tutorial/datastructures.rst:485 -msgid "" -">>> a = {x for x in 'abracadabra' if x not in 'abc'}\n" -">>> a\n" -"{'r', 'd'}" -msgstr "" - -#: ../../tutorial/datastructures.rst:493 -msgid "Dictionaries" -msgstr "Kamus *Dictionaries*" - -#: ../../tutorial/datastructures.rst:495 -msgid "" -"Another useful data type built into Python is the *dictionary* (see " -":ref:`typesmapping`). Dictionaries are sometimes found in other languages as" -" \"associative memories\" or \"associative arrays\". Unlike sequences, " -"which are indexed by a range of numbers, dictionaries are indexed by *keys*," -" which can be any immutable type; strings and numbers can always be keys. " -"Tuples can be used as keys if they contain only strings, numbers, or tuples;" -" if a tuple contains any mutable object either directly or indirectly, it " -"cannot be used as a key. You can't use lists as keys, since lists can be " -"modified in place using index assignments, slice assignments, or methods " -"like :meth:`!append` and :meth:`!extend`." -msgstr "" - -#: ../../tutorial/datastructures.rst:506 -msgid "" -"It is best to think of a dictionary as a set of *key: value* pairs, with the" -" requirement that the keys are unique (within one dictionary). A pair of " -"braces creates an empty dictionary: ``{}``. Placing a comma-separated list " -"of key:value pairs within the braces adds initial key:value pairs to the " -"dictionary; this is also the way dictionaries are written on output." -msgstr "" -"Sebaiknya pikirkan kamus *dictionary* sebagai satu set *key: value* " -"berpasangan, dengan persyaratan bahwa kunci tersebut unik (dalam satu kamus " -"*dictionary*). Sepasang kurung kurawal membuat kamus *dictionary* kosong: " -"``{}``. Menempatkan daftar pasangan kunci:nilai yang dipisah koma dalam " -"kurung menambahkan pasangan kunci:nilai ke kamus *dictionary*; ini juga cara" -" kamus *dictionary* ditulis pada keluaran." - -#: ../../tutorial/datastructures.rst:512 -msgid "" -"The main operations on a dictionary are storing a value with some key and " -"extracting the value given the key. It is also possible to delete a " -"key:value pair with ``del``. If you store using a key that is already in " -"use, the old value associated with that key is forgotten. It is an error to" -" extract a value using a non-existent key." -msgstr "" -"Operasi utama pada kamus *dictionary* adalah menyimpan nilai dengan beberapa" -" kunci *key* dan mengekstraksi nilai yang diberikan kunci *key*. " -"Dimungkinkan juga untuk menghapus pasangan kunci:nilai dengan ``del``. Jika " -"Anda menyimpan menggunakan kunci yang sudah digunakan, nilai lama yang " -"terkait dengan kunci itu dilupakan. Merupakan kesalahan untuk mengekstraksi " -"nilai menggunakan kunci yang tidak ada." - -#: ../../tutorial/datastructures.rst:518 -msgid "" -"Performing ``list(d)`` on a dictionary returns a list of all the keys used " -"in the dictionary, in insertion order (if you want it sorted, just use " -"``sorted(d)`` instead). To check whether a single key is in the dictionary, " -"use the :keyword:`in` keyword." -msgstr "" -"Melakukan ``list(d)`` pada kamus mengembalikan daftar *list* semua kunci " -"yang digunakan dalam kamus, dalam urutan penyisipan (jika Anda ingin " -"diurutkan, cukup gunakan ``sorted(d)`` sebagai gantinya). Untuk memeriksa " -"apakah ada satu kunci dalam kamus, gunakan kaca kunci :keyword:`in`." - -#: ../../tutorial/datastructures.rst:523 -msgid "Here is a small example using a dictionary::" -msgstr "Ini adalah contoh kecil menggunakan kamus *dictionary*::" - -#: ../../tutorial/datastructures.rst:525 -msgid "" -">>> tel = {'jack': 4098, 'sape': 4139}\n" -">>> tel['guido'] = 4127\n" -">>> tel\n" -"{'jack': 4098, 'sape': 4139, 'guido': 4127}\n" -">>> tel['jack']\n" -"4098\n" -">>> del tel['sape']\n" -">>> tel['irv'] = 4127\n" -">>> tel\n" -"{'jack': 4098, 'guido': 4127, 'irv': 4127}\n" -">>> list(tel)\n" -"['jack', 'guido', 'irv']\n" -">>> sorted(tel)\n" -"['guido', 'irv', 'jack']\n" -">>> 'guido' in tel\n" -"True\n" -">>> 'jack' not in tel\n" -"False" -msgstr "" - -#: ../../tutorial/datastructures.rst:544 -msgid "" -"The :func:`dict` constructor builds dictionaries directly from sequences of " -"key-value pairs::" -msgstr "" -"Pembangun *constructor* :func:`dict` membangun kamus langsung dari urutan " -"pasangan kunci-nilai::" - -#: ../../tutorial/datastructures.rst:547 -msgid "" -">>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])\n" -"{'sape': 4139, 'guido': 4127, 'jack': 4098}" -msgstr "" - -#: ../../tutorial/datastructures.rst:550 -msgid "" -"In addition, dict comprehensions can be used to create dictionaries from " -"arbitrary key and value expressions::" -msgstr "" -"Selain itu, pemahaman kamus *dict comprehensions* dapat digunakan untuk " -"membuat kamus *dictionary* dari ekspresi kunci dan nilai acak *arbitrary*::" - -#: ../../tutorial/datastructures.rst:553 -msgid "" -">>> {x: x**2 for x in (2, 4, 6)}\n" -"{2: 4, 4: 16, 6: 36}" -msgstr "" - -#: ../../tutorial/datastructures.rst:556 -msgid "" -"When the keys are simple strings, it is sometimes easier to specify pairs " -"using keyword arguments::" -msgstr "" -"Ketika kunci adalah string sederhana, kadang-kadang lebih mudah untuk " -"menentukan pasangan menggunakan argumen kata kunci *keyword arguments*::" - -#: ../../tutorial/datastructures.rst:559 -msgid "" -">>> dict(sape=4139, guido=4127, jack=4098)\n" -"{'sape': 4139, 'guido': 4127, 'jack': 4098}" -msgstr "" - -#: ../../tutorial/datastructures.rst:566 -msgid "Looping Techniques" -msgstr "Teknik Perulangan" - -#: ../../tutorial/datastructures.rst:568 -msgid "" -"When looping through dictionaries, the key and corresponding value can be " -"retrieved at the same time using the :meth:`~dict.items` method. ::" -msgstr "" - -#: ../../tutorial/datastructures.rst:571 -msgid "" -">>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}\n" -">>> for k, v in knights.items():\n" -"... print(k, v)\n" -"...\n" -"gallahad the pure\n" -"robin the brave" -msgstr "" - -#: ../../tutorial/datastructures.rst:578 -msgid "" -"When looping through a sequence, the position index and corresponding value " -"can be retrieved at the same time using the :func:`enumerate` function. ::" -msgstr "" -"Saat mengulang melalui urutan, indeks posisi dan nilai terkait dapat diambil" -" pada saat yang sama menggunakan fungsi :func:`enumerate`. ::" - -#: ../../tutorial/datastructures.rst:581 -msgid "" -">>> for i, v in enumerate(['tic', 'tac', 'toe']):\n" -"... print(i, v)\n" -"...\n" -"0 tic\n" -"1 tac\n" -"2 toe" -msgstr "" - -#: ../../tutorial/datastructures.rst:588 -msgid "" -"To loop over two or more sequences at the same time, the entries can be " -"paired with the :func:`zip` function. ::" -msgstr "" -"Untuk mengulang dua urutan atau lebih secara bersamaan, entri dapat " -"dipasangkan dengan fungsi :func:`zip`. ::" - -#: ../../tutorial/datastructures.rst:591 -msgid "" -">>> questions = ['name', 'quest', 'favorite color']\n" -">>> answers = ['lancelot', 'the holy grail', 'blue']\n" -">>> for q, a in zip(questions, answers):\n" -"... print('What is your {0}? It is {1}.'.format(q, a))\n" -"...\n" -"What is your name? It is lancelot.\n" -"What is your quest? It is the holy grail.\n" -"What is your favorite color? It is blue." -msgstr "" - -#: ../../tutorial/datastructures.rst:600 -msgid "" -"To loop over a sequence in reverse, first specify the sequence in a forward " -"direction and then call the :func:`reversed` function. ::" -msgstr "" -"Untuk mengulang urutan secara terbalik, pertama tentukan urutan dalam arah " -"maju dan kemudian panggil fungsi :func:`reversed`. ::" - -#: ../../tutorial/datastructures.rst:603 -msgid "" -">>> for i in reversed(range(1, 10, 2)):\n" -"... print(i)\n" -"...\n" -"9\n" -"7\n" -"5\n" -"3\n" -"1" -msgstr "" - -#: ../../tutorial/datastructures.rst:612 -msgid "" -"To loop over a sequence in sorted order, use the :func:`sorted` function " -"which returns a new sorted list while leaving the source unaltered. ::" -msgstr "" -"Untuk mengulangi sebuah urutan *sequence* dalam susunan yang diurutkan, " -"gunakan fungsi :func:`sort` yang mengembalikan daftar terurut baru dengan " -"membiarkan sumber tidak diubah. ::" - -#: ../../tutorial/datastructures.rst:615 -msgid "" -">>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']\n" -">>> for i in sorted(basket):\n" -"... print(i)\n" -"...\n" -"apple\n" -"apple\n" -"banana\n" -"orange\n" -"orange\n" -"pear" -msgstr "" - -#: ../../tutorial/datastructures.rst:626 -msgid "" -"Using :func:`set` on a sequence eliminates duplicate elements. The use of " -":func:`sorted` in combination with :func:`set` over a sequence is an " -"idiomatic way to loop over unique elements of the sequence in sorted order. " -"::" -msgstr "" -"Menggunakan :func:`set` pada sebuah urutan dapat menghilangkan elemen-elemen" -" yang duplikat. Penggunaan :func:`sorted` yang dikombinasikan dengan " -":func:`set` terhadap sebuah urutan merupakan cara idiomatik untuk *loop* " -"dari elemen-elemen unik dari urutan yang diurutkan. ::" - -#: ../../tutorial/datastructures.rst:630 -msgid "" -">>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']\n" -">>> for f in sorted(set(basket)):\n" -"... print(f)\n" -"...\n" -"apple\n" -"banana\n" -"orange\n" -"pear" -msgstr "" - -#: ../../tutorial/datastructures.rst:639 -msgid "" -"It is sometimes tempting to change a list while you are looping over it; " -"however, it is often simpler and safer to create a new list instead. ::" -msgstr "" -"Terkadang tergoda untuk mengubah daftar *list* saat Anda mengulanginya; " -"namun, seringkali lebih mudah dan aman untuk membuat daftar *list* baru. ::" - -#: ../../tutorial/datastructures.rst:642 -msgid "" -">>> import math\n" -">>> raw_data = [56.2, float('NaN'), 51.7, 55.3, 52.5, float('NaN'), 47.8]\n" -">>> filtered_data = []\n" -">>> for value in raw_data:\n" -"... if not math.isnan(value):\n" -"... filtered_data.append(value)\n" -"...\n" -">>> filtered_data\n" -"[56.2, 51.7, 55.3, 52.5, 47.8]" -msgstr "" - -#: ../../tutorial/datastructures.rst:656 -msgid "More on Conditions" -msgstr "Lebih lanjut tentang Kondisi" - -#: ../../tutorial/datastructures.rst:658 -msgid "" -"The conditions used in ``while`` and ``if`` statements can contain any " -"operators, not just comparisons." -msgstr "" -"Kondisi yang digunakan dalam pernyataan ``while`` dan ``if`` dapat berisi " -"operator apa pun, bukan hanya perbandingan." - -#: ../../tutorial/datastructures.rst:662 -msgid "" -"The comparison operators ``in`` and ``not in`` are membership tests that " -"determine whether a value is in (or not in) a container. The operators " -"``is`` and ``is not`` compare whether two objects are really the same " -"object. All comparison operators have the same priority, which is lower " -"than that of all numerical operators." -msgstr "" - -#: ../../tutorial/datastructures.rst:668 -msgid "" -"Comparisons can be chained. For example, ``a < b == c`` tests whether ``a``" -" is less than ``b`` and moreover ``b`` equals ``c``." -msgstr "" -"Perbandingan bisa dibuat berantai. Sebagai contoh, ``a < b == c`` menguji " -"apakah ``a`` kurang dari ``b`` dan apa ``b`` sama dengan ``c``." - -#: ../../tutorial/datastructures.rst:671 -msgid "" -"Comparisons may be combined using the Boolean operators ``and`` and ``or``, " -"and the outcome of a comparison (or of any other Boolean expression) may be " -"negated with ``not``. These have lower priorities than comparison " -"operators; between them, ``not`` has the highest priority and ``or`` the " -"lowest, so that ``A and not B or C`` is equivalent to ``(A and (not B)) or " -"C``. As always, parentheses can be used to express the desired composition." -msgstr "" -"Perbandingan dapat digabungkan menggunakan operator Boolean ``and`` dan " -"``or``, dan hasil perbandingan (atau ekspresi Boolean lainnya) dapat " -"dinegasikan dengan ``not``. Ini memiliki prioritas lebih rendah daripada " -"operator pembanding; di antara mereka, ``not`` memiliki prioritas tertinggi " -"dan ``or`` terendah, sehingga ``A and not B or C`` setara dengan ``(A and " -"(not B)) or C`` . Seperti biasa, tanda kurung dapat digunakan untuk " -"mengekspresikan komposisi yang diinginkan." - -#: ../../tutorial/datastructures.rst:678 -msgid "" -"The Boolean operators ``and`` and ``or`` are so-called *short-circuit* " -"operators: their arguments are evaluated from left to right, and evaluation " -"stops as soon as the outcome is determined. For example, if ``A`` and ``C``" -" are true but ``B`` is false, ``A and B and C`` does not evaluate the " -"expression ``C``. When used as a general value and not as a Boolean, the " -"return value of a short-circuit operator is the last evaluated argument." -msgstr "" -"Operator Boolean ``and`` dan ``or`` disebut operator *short-circuit*: " -"argumen mereka dievaluasi dari kiri ke kanan, dan evaluasi berhenti segera " -"setelah hasilnya ditentukan. Misalnya, jika ``A`` dan ``C`` bernilai benar " -"tetapi ``B`` salah, ``A and B and C`` tidak mengevaluasi ekspresi ``C``. " -"Ketika digunakan sebagai nilai umum dan bukan sebagai Boolean, nilai " -"kembalian dari operator hubung singkat *short-circuit* adalah argumen " -"terakhir yang dievaluasi." - -#: ../../tutorial/datastructures.rst:685 -msgid "" -"It is possible to assign the result of a comparison or other Boolean " -"expression to a variable. For example, ::" -msgstr "" -"Dimungkinkan untuk menetapkan hasil perbandingan atau ekspresi Boolean " -"lainnya ke variabel. Sebagai contoh, ::" - -#: ../../tutorial/datastructures.rst:688 -msgid "" -">>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'\n" -">>> non_null = string1 or string2 or string3\n" -">>> non_null\n" -"'Trondheim'" -msgstr "" - -#: ../../tutorial/datastructures.rst:693 -msgid "" -"Note that in Python, unlike C, assignment inside expressions must be done " -"explicitly with the :ref:`walrus operator ` ``:=``. This avoids a common class of problems encountered " -"in C programs: typing ``=`` in an expression when ``==`` was intended." -msgstr "" -"Perhatikan bahwa dalam Python, tidak seperti C, penugasan di dalam ekspresi " -"harus dilakukan secara eksplisit dengan operator *walrus* ``:=``. Ini " -"menghindari masalah kelas umum yang dihadapi dalam program C: mengetikkan " -"``=`` dalam ekspresi ketika ``==`` dimaksudkan." - -#: ../../tutorial/datastructures.rst:703 -msgid "Comparing Sequences and Other Types" -msgstr "Membandingkan Urutan *Sequences* dan Jenis Lainnya" - -#: ../../tutorial/datastructures.rst:704 -msgid "" -"Sequence objects typically may be compared to other objects with the same " -"sequence type. The comparison uses *lexicographical* ordering: first the " -"first two items are compared, and if they differ this determines the outcome" -" of the comparison; if they are equal, the next two items are compared, and " -"so on, until either sequence is exhausted. If two items to be compared are " -"themselves sequences of the same type, the lexicographical comparison is " -"carried out recursively. If all items of two sequences compare equal, the " -"sequences are considered equal. If one sequence is an initial sub-sequence " -"of the other, the shorter sequence is the smaller (lesser) one. " -"Lexicographical ordering for strings uses the Unicode code point number to " -"order individual characters. Some examples of comparisons between sequences " -"of the same type::" -msgstr "" -"Objek urutan *sequence* biasanya dapat dibandingkan dengan objek lain dengan" -" jenis urutan yang sama. Perbandingan menggunakan pengurutan " -"*lexicographical*: pertama dua item pertama dibandingkan, dan jika mereka " -"berbeda ini menentukan hasil perbandingan; jika mereka sama, dua item " -"berikutnya dibandingkan, dan seterusnya, sampai urutan mana pun habis. Jika " -"dua item yang akan dibandingkan adalah urutannya sendiri dari jenis yang " -"sama, perbandingan leksikografis dilakukan secara rekursif. Jika semua item " -"dari dua urutan membandingkan hasilnya sama, urutannya dianggap sama. Jika " -"satu urutan adalah sub-urutan awal dari yang lain, urutan yang lebih pendek " -"adalah yang lebih kecil (lebih pendek). Pengurutan leksikografis untuk " -"string menggunakan nomor titik kode Unicode untuk mengurutkan masing-masing " -"karakter. Beberapa contoh perbandingan antara urutan dengan tipe yang sama::" - -#: ../../tutorial/datastructures.rst:716 -msgid "" -"(1, 2, 3) < (1, 2, 4)\n" -"[1, 2, 3] < [1, 2, 4]\n" -"'ABC' < 'C' < 'Pascal' < 'Python'\n" -"(1, 2, 3, 4) < (1, 2, 4)\n" -"(1, 2) < (1, 2, -1)\n" -"(1, 2, 3) == (1.0, 2.0, 3.0)\n" -"(1, 2, ('aa', 'ab')) < (1, 2, ('abc', 'a'), 4)" -msgstr "" - -#: ../../tutorial/datastructures.rst:724 -msgid "" -"Note that comparing objects of different types with ``<`` or ``>`` is legal " -"provided that the objects have appropriate comparison methods. For example," -" mixed numeric types are compared according to their numeric value, so 0 " -"equals 0.0, etc. Otherwise, rather than providing an arbitrary ordering, " -"the interpreter will raise a :exc:`TypeError` exception." -msgstr "" -"Perhatikan bahwa membandingkan objek dari berbagai jenis dengan ``<`` atau " -"``>`` adalah sah asalkan objek memiliki metode perbandingan yang sesuai. " -"Misalnya, tipe numerik campuran dibandingkan menurut nilai numeriknya, " -"sehingga 0 sama dengan 0.0, dll. Jika tidak, alih-alih memberikan penyusunan" -" acak, interpreter akan memunculkan pengecualian :exc:`TypeError`." - -#: ../../tutorial/datastructures.rst:732 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../tutorial/datastructures.rst:733 -msgid "" -"Other languages may return the mutated object, which allows method chaining," -" such as ``d->insert(\"a\")->remove(\"b\")->sort();``." -msgstr "" -"Bahasa lain dapat mengembalikan objek bermutasi, yang memungkinkan metode " -"berantai *chaining*, seperti ``d->insert(\"a\")->remove(\"b\")->sort();``." diff --git a/python-newest.tutorial--errors/id.po b/python-newest.tutorial--errors/id.po deleted file mode 100644 index 585b36a..0000000 --- a/python-newest.tutorial--errors/id.po +++ /dev/null @@ -1,1056 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2021 -# Elmo , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Elmo , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/errors.rst:5 -msgid "Errors and Exceptions" -msgstr "Kesalahan *errors* dan Pengecualian *exceptions*" - -#: ../../tutorial/errors.rst:7 -msgid "" -"Until now error messages haven't been more than mentioned, but if you have " -"tried out the examples you have probably seen some. There are (at least) " -"two distinguishable kinds of errors: *syntax errors* and *exceptions*." -msgstr "" -"Sampai sekarang pesan kesalahan belum lebih dari yang disebutkan, tetapi " -"jika Anda telah mencoba contohnya, Anda mungkin telah melihat beberapa. Ada " -"(setidaknya) dua jenis kesalahan yang dapat dibedakan: *syntax errors* dan " -"*exceptions*." - -#: ../../tutorial/errors.rst:15 -msgid "Syntax Errors" -msgstr "Kesalahan Sintaksis" - -#: ../../tutorial/errors.rst:17 -msgid "" -"Syntax errors, also known as parsing errors, are perhaps the most common " -"kind of complaint you get while you are still learning Python::" -msgstr "" -"Kesalahan sintaksis, juga dikenal sebagai kesalahan penguraian *parsing*, " -"mungkin merupakan jenis keluhan paling umum yang Anda dapatkan saat Anda " -"masih belajar Python::" - -#: ../../tutorial/errors.rst:20 -msgid "" -">>> while True print('Hello world')\n" -" File \"\", line 1\n" -" while True print('Hello world')\n" -" ^^^^^\n" -"SyntaxError: invalid syntax" -msgstr "" - -#: ../../tutorial/errors.rst:26 -msgid "" -"The parser repeats the offending line and displays little arrows pointing at" -" the place where the error was detected. Note that this is not always the " -"place that needs to be fixed. In the example, the error is detected at the " -"function :func:`print`, since a colon (``':'``) is missing just before it." -msgstr "" - -#: ../../tutorial/errors.rst:31 -msgid "" -"The file name (```` in our example) and line number are printed so " -"you know where to look in case the input came from a file." -msgstr "" - -#: ../../tutorial/errors.rst:38 -msgid "Exceptions" -msgstr "Pengecualian" - -#: ../../tutorial/errors.rst:40 -msgid "" -"Even if a statement or expression is syntactically correct, it may cause an " -"error when an attempt is made to execute it. Errors detected during " -"execution are called *exceptions* and are not unconditionally fatal: you " -"will soon learn how to handle them in Python programs. Most exceptions are " -"not handled by programs, however, and result in error messages as shown " -"here::" -msgstr "" -"Bahkan jika suatu pernyataan atau ungkapan secara sintaksis benar, itu dapat" -" menyebabkan kesalahan ketika suatu usaha dilakukan untuk mengeksekusinya. " -"Kesalahan yang terdeteksi selama eksekusi disebut *exceptions* dan tidak " -"fatal tanpa syarat: Anda akan segera belajar cara menanganinya dalam program" -" Python. Namun, sebagian besar pengecualian tidak ditangani oleh program, " -"dan menghasilkan pesan kesalahan seperti yang ditunjukkan di sini::" - -#: ../../tutorial/errors.rst:46 -msgid "" -">>> 10 * (1/0)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" 10 * (1/0)\n" -" ~^~\n" -"ZeroDivisionError: division by zero\n" -">>> 4 + spam*3\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" 4 + spam*3\n" -" ^^^^\n" -"NameError: name 'spam' is not defined\n" -">>> '2' + 2\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" '2' + 2\n" -" ~~~~^~~\n" -"TypeError: can only concatenate str (not \"int\") to str" -msgstr "" - -#: ../../tutorial/errors.rst:65 -msgid "" -"The last line of the error message indicates what happened. Exceptions come " -"in different types, and the type is printed as part of the message: the " -"types in the example are :exc:`ZeroDivisionError`, :exc:`NameError` and " -":exc:`TypeError`. The string printed as the exception type is the name of " -"the built-in exception that occurred. This is true for all built-in " -"exceptions, but need not be true for user-defined exceptions (although it is" -" a useful convention). Standard exception names are built-in identifiers " -"(not reserved keywords)." -msgstr "" -"Baris terakhir dari pesan kesalahan menunjukkan apa yang terjadi. " -"Pengecualian ada berbagai jenis yang berbeda, dan tipe dicetak sebagai " -"bagian dari pesan: tipe dalam contoh adalah :exc:`ZeroDivisionError`, " -":exc:`NameError` dan :exc:`TypeError`. String yang dicetak sebagai jenis " -"pengecualian adalah nama pengecualian bawaan yang terjadi. Ini berlaku untuk" -" semua pengecualian bawaan, tetapi tidak harus sama untuk pengecualian yang " -"dibuat pengguna (meskipun ini adalah konvensi yang bermanfaat). Nama " -"pengecualian standar adalah pengidentifikasi bawaan (bukan kata kunci yang " -"dipesan *reserved keyword*)." - -#: ../../tutorial/errors.rst:73 -msgid "" -"The rest of the line provides detail based on the type of exception and what" -" caused it." -msgstr "" -"Sisa baris menyediakan detail berdasarkan jenis pengecualian dan apa yang " -"menyebabkannya." - -#: ../../tutorial/errors.rst:76 -msgid "" -"The preceding part of the error message shows the context where the " -"exception occurred, in the form of a stack traceback. In general it contains" -" a stack traceback listing source lines; however, it will not display lines " -"read from standard input." -msgstr "" -"Bagian sebelumnya dari pesan kesalahan menunjukkan konteks di mana " -"pengecualian terjadi, dalam bentuk tumpukan *traceback* Secara umum, ini " -"berisi daftar baris sumber tumpukan *traceback*; namun, ini tidak akan " -"menampilkan baris yang dibaca dari masukan standar." - -#: ../../tutorial/errors.rst:81 -msgid "" -":ref:`bltin-exceptions` lists the built-in exceptions and their meanings." -msgstr "" -":ref:`bltin-exceptions` memberikan daftar pengecualian bawaan dan artinya." - -#: ../../tutorial/errors.rst:87 -msgid "Handling Exceptions" -msgstr "Menangani Pengecualian" - -#: ../../tutorial/errors.rst:89 -msgid "" -"It is possible to write programs that handle selected exceptions. Look at " -"the following example, which asks the user for input until a valid integer " -"has been entered, but allows the user to interrupt the program (using " -":kbd:`Control-C` or whatever the operating system supports); note that a " -"user-generated interruption is signalled by raising the " -":exc:`KeyboardInterrupt` exception. ::" -msgstr "" -"Dimungkinkan untuk menulis program yang menangani pengecualian yang dipilih." -" Lihatlah contoh berikut, yang meminta masukan dari pengguna sampai integer " -"yang valid telah dimasukkan, tetapi memungkinkan pengguna untuk menghentikan" -" program (menggunakan :kbd:`Control-C` atau apa pun yang didukung sistem " -"operasi); perhatikan bahwa gangguan yang dibuat pengguna ditandai dengan " -"munculnya pengecualian :exc:`KeyboardInterrupt`. ::" - -#: ../../tutorial/errors.rst:95 -msgid "" -">>> while True:\n" -"... try:\n" -"... x = int(input(\"Please enter a number: \"))\n" -"... break\n" -"... except ValueError:\n" -"... print(\"Oops! That was no valid number. Try again...\")\n" -"..." -msgstr "" - -#: ../../tutorial/errors.rst:103 -msgid "The :keyword:`try` statement works as follows." -msgstr "Pernyataan :keyword:`try` berfungsi sebagai berikut." - -#: ../../tutorial/errors.rst:105 -msgid "" -"First, the *try clause* (the statement(s) between the :keyword:`try` and " -":keyword:`except` keywords) is executed." -msgstr "" -"Pertama, *try clause* (pernyataan(-pernyataan) di antara kata kunci " -":keyword:`try` dan :keyword:`except`) dieksekusi." - -#: ../../tutorial/errors.rst:108 -msgid "" -"If no exception occurs, the *except clause* is skipped and execution of the " -":keyword:`try` statement is finished." -msgstr "" -"Jika tidak ada pengecualian terjadi, *except clause* dilewati dan eksekusi " -"pernyataan :keyword: `try` selesai." - -#: ../../tutorial/errors.rst:111 -msgid "" -"If an exception occurs during execution of the :keyword:`try` clause, the " -"rest of the clause is skipped. Then, if its type matches the exception " -"named after the :keyword:`except` keyword, the *except clause* is executed, " -"and then execution continues after the try/except block." -msgstr "" - -#: ../../tutorial/errors.rst:116 -msgid "" -"If an exception occurs which does not match the exception named in the " -"*except clause*, it is passed on to outer :keyword:`try` statements; if no " -"handler is found, it is an *unhandled exception* and execution stops with an" -" error message." -msgstr "" - -#: ../../tutorial/errors.rst:120 -msgid "" -"A :keyword:`try` statement may have more than one *except clause*, to " -"specify handlers for different exceptions. At most one handler will be " -"executed. Handlers only handle exceptions that occur in the corresponding " -"*try clause*, not in other handlers of the same :keyword:`!try` statement. " -"An *except clause* may name multiple exceptions as a parenthesized tuple, " -"for example::" -msgstr "" - -#: ../../tutorial/errors.rst:126 -msgid "" -"... except (RuntimeError, TypeError, NameError):\n" -"... pass" -msgstr "" - -#: ../../tutorial/errors.rst:129 -msgid "" -"A class in an :keyword:`except` clause matches exceptions which are " -"instances of the class itself or one of its derived classes (but not the " -"other way around --- an *except clause* listing a derived class does not " -"match instances of its base classes). For example, the following code will " -"print B, C, D in that order::" -msgstr "" - -#: ../../tutorial/errors.rst:134 -msgid "" -"class B(Exception):\n" -" pass\n" -"\n" -"class C(B):\n" -" pass\n" -"\n" -"class D(C):\n" -" pass\n" -"\n" -"for cls in [B, C, D]:\n" -" try:\n" -" raise cls()\n" -" except D:\n" -" print(\"D\")\n" -" except C:\n" -" print(\"C\")\n" -" except B:\n" -" print(\"B\")" -msgstr "" - -#: ../../tutorial/errors.rst:153 -msgid "" -"Note that if the *except clauses* were reversed (with ``except B`` first), " -"it would have printed B, B, B --- the first matching *except clause* is " -"triggered." -msgstr "" - -#: ../../tutorial/errors.rst:156 -msgid "" -"When an exception occurs, it may have associated values, also known as the " -"exception's *arguments*. The presence and types of the arguments depend on " -"the exception type." -msgstr "" - -#: ../../tutorial/errors.rst:160 -msgid "" -"The *except clause* may specify a variable after the exception name. The " -"variable is bound to the exception instance which typically has an ``args`` " -"attribute that stores the arguments. For convenience, builtin exception " -"types define :meth:`~object.__str__` to print all the arguments without " -"explicitly accessing ``.args``. ::" -msgstr "" - -#: ../../tutorial/errors.rst:166 -msgid "" -">>> try:\n" -"... raise Exception('spam', 'eggs')\n" -"... except Exception as inst:\n" -"... print(type(inst)) # the exception type\n" -"... print(inst.args) # arguments stored in .args\n" -"... print(inst) # __str__ allows args to be printed directly,\n" -"... # but may be overridden in exception subclasses\n" -"... x, y = inst.args # unpack args\n" -"... print('x =', x)\n" -"... print('y =', y)\n" -"...\n" -"\n" -"('spam', 'eggs')\n" -"('spam', 'eggs')\n" -"x = spam\n" -"y = eggs" -msgstr "" - -#: ../../tutorial/errors.rst:183 -msgid "" -"The exception's :meth:`~object.__str__` output is printed as the last part " -"('detail') of the message for unhandled exceptions." -msgstr "" - -#: ../../tutorial/errors.rst:186 -msgid "" -":exc:`BaseException` is the common base class of all exceptions. One of its " -"subclasses, :exc:`Exception`, is the base class of all the non-fatal " -"exceptions. Exceptions which are not subclasses of :exc:`Exception` are not " -"typically handled, because they are used to indicate that the program should" -" terminate. They include :exc:`SystemExit` which is raised by " -":meth:`sys.exit` and :exc:`KeyboardInterrupt` which is raised when a user " -"wishes to interrupt the program." -msgstr "" - -#: ../../tutorial/errors.rst:194 -msgid "" -":exc:`Exception` can be used as a wildcard that catches (almost) everything." -" However, it is good practice to be as specific as possible with the types " -"of exceptions that we intend to handle, and to allow any unexpected " -"exceptions to propagate on." -msgstr "" - -#: ../../tutorial/errors.rst:199 -msgid "" -"The most common pattern for handling :exc:`Exception` is to print or log the" -" exception and then re-raise it (allowing a caller to handle the exception " -"as well)::" -msgstr "" - -#: ../../tutorial/errors.rst:203 -msgid "" -"import sys\n" -"\n" -"try:\n" -" f = open('myfile.txt')\n" -" s = f.readline()\n" -" i = int(s.strip())\n" -"except OSError as err:\n" -" print(\"OS error:\", err)\n" -"except ValueError:\n" -" print(\"Could not convert data to an integer.\")\n" -"except Exception as err:\n" -" print(f\"Unexpected {err=}, {type(err)=}\")\n" -" raise" -msgstr "" - -#: ../../tutorial/errors.rst:217 -msgid "" -"The :keyword:`try` ... :keyword:`except` statement has an optional *else " -"clause*, which, when present, must follow all *except clauses*. It is " -"useful for code that must be executed if the *try clause* does not raise an " -"exception. For example::" -msgstr "" - -#: ../../tutorial/errors.rst:222 -msgid "" -"for arg in sys.argv[1:]:\n" -" try:\n" -" f = open(arg, 'r')\n" -" except OSError:\n" -" print('cannot open', arg)\n" -" else:\n" -" print(arg, 'has', len(f.readlines()), 'lines')\n" -" f.close()" -msgstr "" - -#: ../../tutorial/errors.rst:231 -msgid "" -"The use of the :keyword:`!else` clause is better than adding additional code" -" to the :keyword:`try` clause because it avoids accidentally catching an " -"exception that wasn't raised by the code being protected by the " -":keyword:`!try` ... :keyword:`!except` statement." -msgstr "" -"Penggunaan klausa :keyword:`!else` lebih baik daripada menambahkan kode " -"tambahan ke klausa :keyword:`try` karena menghindari secara tidak sengaja " -"menangkap pengecualian yang tidak dimunculkan oleh kode yang dilindungi oleh" -" pernyataan :keyword:`!try` ... :keyword: `!except`." - -#: ../../tutorial/errors.rst:236 -msgid "" -"Exception handlers do not handle only exceptions that occur immediately in " -"the *try clause*, but also those that occur inside functions that are called" -" (even indirectly) in the *try clause*. For example::" -msgstr "" - -#: ../../tutorial/errors.rst:240 -msgid "" -">>> def this_fails():\n" -"... x = 1/0\n" -"...\n" -">>> try:\n" -"... this_fails()\n" -"... except ZeroDivisionError as err:\n" -"... print('Handling run-time error:', err)\n" -"...\n" -"Handling run-time error: division by zero" -msgstr "" - -#: ../../tutorial/errors.rst:254 -msgid "Raising Exceptions" -msgstr "Memunculkan Pengecualian" - -#: ../../tutorial/errors.rst:256 -msgid "" -"The :keyword:`raise` statement allows the programmer to force a specified " -"exception to occur. For example::" -msgstr "" -"Pernyataan :keyword:`raise` memungkinkan programmer untuk memaksa " -"pengecualian yang ditentukan terjadi. Sebagai contoh::" - -#: ../../tutorial/errors.rst:259 -msgid "" -">>> raise NameError('HiThere')\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" raise NameError('HiThere')\n" -"NameError: HiThere" -msgstr "" - -#: ../../tutorial/errors.rst:265 -msgid "" -"The sole argument to :keyword:`raise` indicates the exception to be raised. " -"This must be either an exception instance or an exception class (a class " -"that derives from :class:`BaseException`, such as :exc:`Exception` or one of" -" its subclasses). If an exception class is passed, it will be implicitly " -"instantiated by calling its constructor with no arguments::" -msgstr "" - -#: ../../tutorial/errors.rst:271 -msgid "raise ValueError # shorthand for 'raise ValueError()'" -msgstr "" - -#: ../../tutorial/errors.rst:273 -msgid "" -"If you need to determine whether an exception was raised but don't intend to" -" handle it, a simpler form of the :keyword:`raise` statement allows you to " -"re-raise the exception::" -msgstr "" -"Jika Anda perlu menentukan apakah pengecualian muncul tetapi tidak bermaksud" -" menanganinya, bentuk yang lebih sederhana dari pernyataan :keyword:`raise` " -"memungkinkan Anda untuk memunculkan kembali pengecualian::" - -#: ../../tutorial/errors.rst:277 -msgid "" -">>> try:\n" -"... raise NameError('HiThere')\n" -"... except NameError:\n" -"... print('An exception flew by!')\n" -"... raise\n" -"...\n" -"An exception flew by!\n" -"Traceback (most recent call last):\n" -" File \"\", line 2, in \n" -" raise NameError('HiThere')\n" -"NameError: HiThere" -msgstr "" - -#: ../../tutorial/errors.rst:293 -msgid "Exception Chaining" -msgstr "Rantai Pengecualian" - -#: ../../tutorial/errors.rst:295 -msgid "" -"If an unhandled exception occurs inside an :keyword:`except` section, it " -"will have the exception being handled attached to it and included in the " -"error message::" -msgstr "" - -#: ../../tutorial/errors.rst:299 -msgid "" -">>> try:\n" -"... open(\"database.sqlite\")\n" -"... except OSError:\n" -"... raise RuntimeError(\"unable to handle error\")\n" -"...\n" -"Traceback (most recent call last):\n" -" File \"\", line 2, in \n" -" open(\"database.sqlite\")\n" -" ~~~~^^^^^^^^^^^^^^^^^^^\n" -"FileNotFoundError: [Errno 2] No such file or directory: 'database.sqlite'\n" -"\n" -"During handling of the above exception, another exception occurred:\n" -"\n" -"Traceback (most recent call last):\n" -" File \"\", line 4, in \n" -" raise RuntimeError(\"unable to handle error\")\n" -"RuntimeError: unable to handle error" -msgstr "" - -#: ../../tutorial/errors.rst:317 -msgid "" -"To indicate that an exception is a direct consequence of another, the " -":keyword:`raise` statement allows an optional :keyword:`from` " -"clause::" -msgstr "" - -#: ../../tutorial/errors.rst:320 -msgid "" -"# exc must be exception instance or None.\n" -"raise RuntimeError from exc" -msgstr "" - -#: ../../tutorial/errors.rst:323 -msgid "This can be useful when you are transforming exceptions. For example::" -msgstr "Ini dapat berguna saat Anda mengubah pengecualian. Sebagai contoh::" - -#: ../../tutorial/errors.rst:325 -msgid "" -">>> def func():\n" -"... raise ConnectionError\n" -"...\n" -">>> try:\n" -"... func()\n" -"... except ConnectionError as exc:\n" -"... raise RuntimeError('Failed to open database') from exc\n" -"...\n" -"Traceback (most recent call last):\n" -" File \"\", line 2, in \n" -" func()\n" -" ~~~~^^\n" -" File \"\", line 2, in func\n" -"ConnectionError\n" -"\n" -"The above exception was the direct cause of the following exception:\n" -"\n" -"Traceback (most recent call last):\n" -" File \"\", line 4, in \n" -" raise RuntimeError('Failed to open database') from exc\n" -"RuntimeError: Failed to open database" -msgstr "" - -#: ../../tutorial/errors.rst:347 -msgid "" -"It also allows disabling automatic exception chaining using the ``from " -"None`` idiom::" -msgstr "" - -#: ../../tutorial/errors.rst:350 -msgid "" -">>> try:\n" -"... open('database.sqlite')\n" -"... except OSError:\n" -"... raise RuntimeError from None\n" -"...\n" -"Traceback (most recent call last):\n" -" File \"\", line 4, in \n" -" raise RuntimeError from None\n" -"RuntimeError" -msgstr "" - -#: ../../tutorial/errors.rst:360 -msgid "" -"For more information about chaining mechanics, see :ref:`bltin-exceptions`." -msgstr "" -"Untuk informasi lebih lanjut tentang mekanisme rantai, lihat :ref:`bltin-" -"exception`." - -#: ../../tutorial/errors.rst:366 -msgid "User-defined Exceptions" -msgstr "Pengecualian yang Ditentukan Pengguna" - -#: ../../tutorial/errors.rst:368 -msgid "" -"Programs may name their own exceptions by creating a new exception class " -"(see :ref:`tut-classes` for more about Python classes). Exceptions should " -"typically be derived from the :exc:`Exception` class, either directly or " -"indirectly." -msgstr "" -"Program dapat memberi nama pengecualian mereka sendiri dengan membuat kelas " -"pengecualian baru (lihat :ref:`tut-class` untuk informasi lebih lanjut " -"tentang kelas Python). Pengecualian biasanya berasal dari kelas " -":exc:`Exception`, baik secara langsung atau tidak langsung." - -#: ../../tutorial/errors.rst:372 -msgid "" -"Exception classes can be defined which do anything any other class can do, " -"but are usually kept simple, often only offering a number of attributes that" -" allow information about the error to be extracted by handlers for the " -"exception." -msgstr "" - -#: ../../tutorial/errors.rst:376 -msgid "" -"Most exceptions are defined with names that end in \"Error\", similar to the" -" naming of the standard exceptions." -msgstr "" -"Sebagian besar pengecualian didefinisikan dengan nama yang diakhiri dengan " -"\"Error\", mirip dengan penamaan pengecualian standar." - -#: ../../tutorial/errors.rst:379 -msgid "" -"Many standard modules define their own exceptions to report errors that may " -"occur in functions they define." -msgstr "" - -#: ../../tutorial/errors.rst:386 -msgid "Defining Clean-up Actions" -msgstr "Mendefinisikan Tindakan Pembersihan" - -#: ../../tutorial/errors.rst:388 -msgid "" -"The :keyword:`try` statement has another optional clause which is intended " -"to define clean-up actions that must be executed under all circumstances. " -"For example::" -msgstr "" -"Pernyataan :keyword:`try` memiliki klausa opsional lain yang dimaksudkan " -"untuk menentukan tindakan pembersihan yang harus dijalankan dalam semua " -"keadaan. Sebagai contoh::" - -#: ../../tutorial/errors.rst:392 -msgid "" -">>> try:\n" -"... raise KeyboardInterrupt\n" -"... finally:\n" -"... print('Goodbye, world!')\n" -"...\n" -"Goodbye, world!\n" -"Traceback (most recent call last):\n" -" File \"\", line 2, in \n" -" raise KeyboardInterrupt\n" -"KeyboardInterrupt" -msgstr "" - -#: ../../tutorial/errors.rst:403 -msgid "" -"If a :keyword:`finally` clause is present, the :keyword:`!finally` clause " -"will execute as the last task before the :keyword:`try` statement completes." -" The :keyword:`!finally` clause runs whether or not the :keyword:`!try` " -"statement produces an exception. The following points discuss more complex " -"cases when an exception occurs:" -msgstr "" -"Jika ada klausa :keyword:`finally`, klausa untuk :keyword:`!finally` akan " -"dijalankan sebagai tugas terakhir sebelum pernyataan untuk :keyword:`try` " -"selesai. Klausa untuk :keyword:`!finally` dapat berjalan bai atau tidak " -"apabila pernyataan :keyword:`!try` menghasilkan suatu pengecualian. Poin-" -"poin berikut membahas kasus yang lebih kompleks saat pengecualian terjadi:" - -#: ../../tutorial/errors.rst:409 -msgid "" -"If an exception occurs during execution of the :keyword:`!try` clause, the " -"exception may be handled by an :keyword:`except` clause. If the exception is" -" not handled by an :keyword:`!except` clause, the exception is re-raised " -"after the :keyword:`!finally` clause has been executed." -msgstr "" -"Jika pengecualian terjadi selama eksekusi klausa untuk :keyword: `!try`, " -"maka pengecualian tersebut dapat ditangani oleh klausa :keyword:`except`. " -"Jika pengecualian tidak ditangani oleh klausa :keyword: `!except`, maka " -"pengecualian dimunculkan kembali setelah klausa :keyword:`!finally` " -"dieksekusi." - -#: ../../tutorial/errors.rst:415 -msgid "" -"An exception could occur during execution of an :keyword:`!except` or " -":keyword:`!else` clause. Again, the exception is re-raised after the " -":keyword:`!finally` clause has been executed." -msgstr "" -"Pengecualian dapat terjadi selama pelaksanaan klausa :keyword:`!except` atau" -" :keyword:`!else`. Sekali lagi, pengecualian akan muncul kembali setelah " -"klausa :keyword:`!finally` telah dieksekusi." - -#: ../../tutorial/errors.rst:419 -msgid "" -"If the :keyword:`!finally` clause executes a :keyword:`break`, " -":keyword:`continue` or :keyword:`return` statement, exceptions are not re-" -"raised. This can be confusing and is therefore discouraged. From version " -"3.14 the compiler emits a :exc:`SyntaxWarning` for it (see :pep:`765`)." -msgstr "" - -#: ../../tutorial/errors.rst:425 -msgid "" -"If the :keyword:`!try` statement reaches a :keyword:`break`, " -":keyword:`continue` or :keyword:`return` statement, the :keyword:`!finally` " -"clause will execute just prior to the :keyword:`!break`, " -":keyword:`!continue` or :keyword:`!return` statement's execution." -msgstr "" -"Jika pernyataan klausa untuk :keyword:`!try` mencapai klausa " -":keyword:`break`, :keyword:`continue` atau :keyword:` return` maka, " -"pernyataan untuk klausa :keyword:`!finally` akan dieksekusi sebelum " -":keyword:`!break`, :keyword:`!continue` atau :keyword:`!return` dieksekusi." - -#: ../../tutorial/errors.rst:431 -msgid "" -"If a :keyword:`!finally` clause includes a :keyword:`!return` statement, the" -" returned value will be the one from the :keyword:`!finally` clause's " -":keyword:`!return` statement, not the value from the :keyword:`!try` " -"clause's :keyword:`!return` statement. This can be confusing and is " -"therefore discouraged. From version 3.14 the compiler emits a " -":exc:`SyntaxWarning` for it (see :pep:`765`)." -msgstr "" - -#: ../../tutorial/errors.rst:439 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../tutorial/errors.rst:441 -msgid "" -">>> def bool_return():\n" -"... try:\n" -"... return True\n" -"... finally:\n" -"... return False\n" -"...\n" -">>> bool_return()\n" -"False" -msgstr "" - -#: ../../tutorial/errors.rst:450 -msgid "A more complicated example::" -msgstr "Contoh yang lebih rumit::" - -#: ../../tutorial/errors.rst:452 -msgid "" -">>> def divide(x, y):\n" -"... try:\n" -"... result = x / y\n" -"... except ZeroDivisionError:\n" -"... print(\"division by zero!\")\n" -"... else:\n" -"... print(\"result is\", result)\n" -"... finally:\n" -"... print(\"executing finally clause\")\n" -"...\n" -">>> divide(2, 1)\n" -"result is 2.0\n" -"executing finally clause\n" -">>> divide(2, 0)\n" -"division by zero!\n" -"executing finally clause\n" -">>> divide(\"2\", \"1\")\n" -"executing finally clause\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" divide(\"2\", \"1\")\n" -" ~~~~~~^^^^^^^^^^\n" -" File \"\", line 3, in divide\n" -" result = x / y\n" -" ~~^~~\n" -"TypeError: unsupported operand type(s) for /: 'str' and 'str'" -msgstr "" - -#: ../../tutorial/errors.rst:479 -msgid "" -"As you can see, the :keyword:`finally` clause is executed in any event. The" -" :exc:`TypeError` raised by dividing two strings is not handled by the " -":keyword:`except` clause and therefore re-raised after the " -":keyword:`!finally` clause has been executed." -msgstr "" -"Seperti yang Anda lihat, klausa :keyword:`finally` dieksekusi dalam " -"peristiwa apa pun. :exc:`TypeError` yang ditimbulkan dengan membagi dua " -"string tidak ditangani oleh klausa :keyword:`except` dan karenanya kembali " -"muncul setelah klausa :keyword:`!finally` telah dieksekusi." - -#: ../../tutorial/errors.rst:484 -msgid "" -"In real world applications, the :keyword:`finally` clause is useful for " -"releasing external resources (such as files or network connections), " -"regardless of whether the use of the resource was successful." -msgstr "" -"Dalam aplikasi dunia nyata, klausa :keyword:`finally` berguna untuk " -"melepaskan sumber daya eksternal (seperti berkas atau koneksi jaringan), " -"terlepas dari apakah penggunaan sumber daya tersebut berhasil." - -#: ../../tutorial/errors.rst:492 -msgid "Predefined Clean-up Actions" -msgstr "Tindakan Pembersihan yang Sudah Ditentukan" - -#: ../../tutorial/errors.rst:494 -msgid "" -"Some objects define standard clean-up actions to be undertaken when the " -"object is no longer needed, regardless of whether or not the operation using" -" the object succeeded or failed. Look at the following example, which tries " -"to open a file and print its contents to the screen. ::" -msgstr "" -"Beberapa objek mendefinisikan tindakan pembersihan standar yang harus " -"dilakukan ketika objek tidak lagi diperlukan, terlepas dari apakah operasi " -"menggunakan objek berhasil atau gagal. Lihatlah contoh berikut, yang mencoba" -" membuka berkas dan mencetak isinya ke layar. ::" - -#: ../../tutorial/errors.rst:499 -msgid "" -"for line in open(\"myfile.txt\"):\n" -" print(line, end=\"\")" -msgstr "" - -#: ../../tutorial/errors.rst:502 -msgid "" -"The problem with this code is that it leaves the file open for an " -"indeterminate amount of time after this part of the code has finished " -"executing. This is not an issue in simple scripts, but can be a problem for " -"larger applications. The :keyword:`with` statement allows objects like files" -" to be used in a way that ensures they are always cleaned up promptly and " -"correctly. ::" -msgstr "" -"Masalah dengan kode ini adalah bahwa ia membiarkan berkas terbuka untuk " -"jumlah waktu yang tidak ditentukan setelah bagian kode ini selesai " -"dieksekusi. Ini bukan masalah dalam skrip sederhana, tetapi bisa menjadi " -"masalah untuk aplikasi yang lebih besar. Pernyataan :keyword:`with` " -"memungkinkan objek seperti berkas digunakan dengan cara yang memastikan " -"mereka selalu dibersihkan secepatnya dan dengan benar. ::" - -#: ../../tutorial/errors.rst:508 -msgid "" -"with open(\"myfile.txt\") as f:\n" -" for line in f:\n" -" print(line, end=\"\")" -msgstr "" - -#: ../../tutorial/errors.rst:512 -msgid "" -"After the statement is executed, the file *f* is always closed, even if a " -"problem was encountered while processing the lines. Objects which, like " -"files, provide predefined clean-up actions will indicate this in their " -"documentation." -msgstr "" -"Setelah pernyataan dieksekusi, file *f* selalu ditutup, bahkan jika ada " -"masalah saat pemrosesan baris-baris. Objek yang, seperti berkas-berkas, " -"memberikan tindakan pembersihan yang telah ditentukan, akan menunjukkan ini " -"dalam dokumentasinya." - -#: ../../tutorial/errors.rst:520 -msgid "Raising and Handling Multiple Unrelated Exceptions" -msgstr "" - -#: ../../tutorial/errors.rst:522 -msgid "" -"There are situations where it is necessary to report several exceptions that" -" have occurred. This is often the case in concurrency frameworks, when " -"several tasks may have failed in parallel, but there are also other use " -"cases where it is desirable to continue execution and collect multiple " -"errors rather than raise the first exception." -msgstr "" - -#: ../../tutorial/errors.rst:528 -msgid "" -"The builtin :exc:`ExceptionGroup` wraps a list of exception instances so " -"that they can be raised together. It is an exception itself, so it can be " -"caught like any other exception. ::" -msgstr "" - -#: ../../tutorial/errors.rst:532 -msgid "" -">>> def f():\n" -"... excs = [OSError('error 1'), SystemError('error 2')]\n" -"... raise ExceptionGroup('there were problems', excs)\n" -"...\n" -">>> f()\n" -" + Exception Group Traceback (most recent call last):\n" -" | File \"\", line 1, in \n" -" | f()\n" -" | ~^^\n" -" | File \"\", line 3, in f\n" -" | raise ExceptionGroup('there were problems', excs)\n" -" | ExceptionGroup: there were problems (2 sub-exceptions)\n" -" +-+---------------- 1 ----------------\n" -" | OSError: error 1\n" -" +---------------- 2 ----------------\n" -" | SystemError: error 2\n" -" +------------------------------------\n" -">>> try:\n" -"... f()\n" -"... except Exception as e:\n" -"... print(f'caught {type(e)}: e')\n" -"...\n" -"caught : e\n" -">>>" -msgstr "" - -#: ../../tutorial/errors.rst:557 -msgid "" -"By using ``except*`` instead of ``except``, we can selectively handle only " -"the exceptions in the group that match a certain type. In the following " -"example, which shows a nested exception group, each ``except*`` clause " -"extracts from the group exceptions of a certain type while letting all other" -" exceptions propagate to other clauses and eventually to be reraised. ::" -msgstr "" - -#: ../../tutorial/errors.rst:564 -msgid "" -">>> def f():\n" -"... raise ExceptionGroup(\n" -"... \"group1\",\n" -"... [\n" -"... OSError(1),\n" -"... SystemError(2),\n" -"... ExceptionGroup(\n" -"... \"group2\",\n" -"... [\n" -"... OSError(3),\n" -"... RecursionError(4)\n" -"... ]\n" -"... )\n" -"... ]\n" -"... )\n" -"...\n" -">>> try:\n" -"... f()\n" -"... except* OSError as e:\n" -"... print(\"There were OSErrors\")\n" -"... except* SystemError as e:\n" -"... print(\"There were SystemErrors\")\n" -"...\n" -"There were OSErrors\n" -"There were SystemErrors\n" -" + Exception Group Traceback (most recent call last):\n" -" | File \"\", line 2, in \n" -" | f()\n" -" | ~^^\n" -" | File \"\", line 2, in f\n" -" | raise ExceptionGroup(\n" -" | ...<12 lines>...\n" -" | )\n" -" | ExceptionGroup: group1 (1 sub-exception)\n" -" +-+---------------- 1 ----------------\n" -" | ExceptionGroup: group2 (1 sub-exception)\n" -" +-+---------------- 1 ----------------\n" -" | RecursionError: 4\n" -" +------------------------------------\n" -">>>" -msgstr "" - -#: ../../tutorial/errors.rst:605 -msgid "" -"Note that the exceptions nested in an exception group must be instances, not" -" types. This is because in practice the exceptions would typically be ones " -"that have already been raised and caught by the program, along the following" -" pattern::" -msgstr "" - -#: ../../tutorial/errors.rst:610 -msgid "" -">>> excs = []\n" -"... for test in tests:\n" -"... try:\n" -"... test.run()\n" -"... except Exception as e:\n" -"... excs.append(e)\n" -"...\n" -">>> if excs:\n" -"... raise ExceptionGroup(\"Test Failures\", excs)\n" -"..." -msgstr "" - -#: ../../tutorial/errors.rst:625 -msgid "Enriching Exceptions with Notes" -msgstr "" - -#: ../../tutorial/errors.rst:627 -msgid "" -"When an exception is created in order to be raised, it is usually " -"initialized with information that describes the error that has occurred. " -"There are cases where it is useful to add information after the exception " -"was caught. For this purpose, exceptions have a method ``add_note(note)`` " -"that accepts a string and adds it to the exception's notes list. The " -"standard traceback rendering includes all notes, in the order they were " -"added, after the exception. ::" -msgstr "" - -#: ../../tutorial/errors.rst:634 -msgid "" -">>> try:\n" -"... raise TypeError('bad type')\n" -"... except Exception as e:\n" -"... e.add_note('Add some information')\n" -"... e.add_note('Add some more information')\n" -"... raise\n" -"...\n" -"Traceback (most recent call last):\n" -" File \"\", line 2, in \n" -" raise TypeError('bad type')\n" -"TypeError: bad type\n" -"Add some information\n" -"Add some more information\n" -">>>" -msgstr "" - -#: ../../tutorial/errors.rst:649 -msgid "" -"For example, when collecting exceptions into an exception group, we may want" -" to add context information for the individual errors. In the following each" -" exception in the group has a note indicating when this error has occurred. " -"::" -msgstr "" - -#: ../../tutorial/errors.rst:653 -msgid "" -">>> def f():\n" -"... raise OSError('operation failed')\n" -"...\n" -">>> excs = []\n" -">>> for i in range(3):\n" -"... try:\n" -"... f()\n" -"... except Exception as e:\n" -"... e.add_note(f'Happened in Iteration {i+1}')\n" -"... excs.append(e)\n" -"...\n" -">>> raise ExceptionGroup('We have some problems', excs)\n" -" + Exception Group Traceback (most recent call last):\n" -" | File \"\", line 1, in \n" -" | raise ExceptionGroup('We have some problems', excs)\n" -" | ExceptionGroup: We have some problems (3 sub-exceptions)\n" -" +-+---------------- 1 ----------------\n" -" | Traceback (most recent call last):\n" -" | File \"\", line 3, in \n" -" | f()\n" -" | ~^^\n" -" | File \"\", line 2, in f\n" -" | raise OSError('operation failed')\n" -" | OSError: operation failed\n" -" | Happened in Iteration 1\n" -" +---------------- 2 ----------------\n" -" | Traceback (most recent call last):\n" -" | File \"\", line 3, in \n" -" | f()\n" -" | ~^^\n" -" | File \"\", line 2, in f\n" -" | raise OSError('operation failed')\n" -" | OSError: operation failed\n" -" | Happened in Iteration 2\n" -" +---------------- 3 ----------------\n" -" | Traceback (most recent call last):\n" -" | File \"\", line 3, in \n" -" | f()\n" -" | ~^^\n" -" | File \"\", line 2, in f\n" -" | raise OSError('operation failed')\n" -" | OSError: operation failed\n" -" | Happened in Iteration 3\n" -" +------------------------------------\n" -">>>" -msgstr "" diff --git a/python-newest.tutorial--floatingpoint/id.po b/python-newest.tutorial--floatingpoint/id.po deleted file mode 100644 index e1fd5f2..0000000 --- a/python-newest.tutorial--floatingpoint/id.po +++ /dev/null @@ -1,619 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/floatingpoint.rst:10 -msgid "Floating-Point Arithmetic: Issues and Limitations" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:16 -msgid "" -"Floating-point numbers are represented in computer hardware as base 2 " -"(binary) fractions. For example, the **decimal** fraction ``0.625`` has " -"value 6/10 + 2/100 + 5/1000, and in the same way the **binary** fraction " -"``0.101`` has value 1/2 + 0/4 + 1/8. These two fractions have identical " -"values, the only real difference being that the first is written in base 10 " -"fractional notation, and the second in base 2." -msgstr "" - -#: ../../tutorial/floatingpoint.rst:23 -msgid "" -"Unfortunately, most decimal fractions cannot be represented exactly as " -"binary fractions. A consequence is that, in general, the decimal floating-" -"point numbers you enter are only approximated by the binary floating-point " -"numbers actually stored in the machine." -msgstr "" -"Sayangnya, sebagian besar pecahan desimal tidak dapat direpresentasikan " -"persis dengan pecahan biner. Konsekuensinya adalah bahwa, secara umum, angka" -" pecahan *floating-point* desimal yang Anda masukkan hanya didekati oleh " -"angka-angka pecahan *floating-point* biner yang sebenarnya disimpan dalam " -"mesin." - -#: ../../tutorial/floatingpoint.rst:28 -msgid "" -"The problem is easier to understand at first in base 10. Consider the " -"fraction 1/3. You can approximate that as a base 10 fraction::" -msgstr "" -"Masalahnya lebih mudah dipahami pada awalnya di basis 10. Pertimbangkan " -"fraksi 1/3. Anda dapat memperkirakannya sebagai pecahan basis 10::" - -#: ../../tutorial/floatingpoint.rst:31 -msgid "0.3" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:33 ../../tutorial/floatingpoint.rst:37 -msgid "or, better, ::" -msgstr "atau, lebih baik, ::" - -#: ../../tutorial/floatingpoint.rst:35 -msgid "0.33" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:39 -msgid "0.333" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:41 -msgid "" -"and so on. No matter how many digits you're willing to write down, the " -"result will never be exactly 1/3, but will be an increasingly better " -"approximation of 1/3." -msgstr "" -"dan seterusnya. Tidak peduli berapa banyak digit yang Anda ingin tulis, " -"hasilnya tidak akan pernah benar-benar 1/3, tetapi akan menjadi perkiraan " -"yang semakin baik dari 1/3." - -#: ../../tutorial/floatingpoint.rst:45 -msgid "" -"In the same way, no matter how many base 2 digits you're willing to use, the" -" decimal value 0.1 cannot be represented exactly as a base 2 fraction. In " -"base 2, 1/10 is the infinitely repeating fraction ::" -msgstr "" -"Dengan cara yang sama, tidak peduli berapa banyak digit basis 2 yang ingin " -"Anda gunakan, nilai desimal 0.1 tidak dapat direpresentasikan persis sebagai" -" fraksi basis 2. Dalam basis 2, 1/10 adalah percahan berulang yang tak " -"terhingga ::" - -#: ../../tutorial/floatingpoint.rst:49 -msgid "0.0001100110011001100110011001100110011001100110011..." -msgstr "" - -#: ../../tutorial/floatingpoint.rst:51 -msgid "" -"Stop at any finite number of bits, and you get an approximation. On most " -"machines today, floats are approximated using a binary fraction with the " -"numerator using the first 53 bits starting with the most significant bit and" -" with the denominator as a power of two. In the case of 1/10, the binary " -"fraction is ``3602879701896397 / 2 ** 55`` which is close to but not exactly" -" equal to the true value of 1/10." -msgstr "" -"Berhenti pada jumlah bit yang terbatas, dan Anda mendapatkan perkiraan. Pada" -" kebanyakan mesin saat ini, *float* diperkirakan menggunakan percahan biner " -"dengan pembilang menggunakan 53 bit pertama dimulai dengan bit paling " -"signifikan dan dengan penyebut sebagai pangkat dua. Dalam kasus 1/10, fraksi" -" biner adalah ``3602879701896397 / 2 ** 55`` yang dekat dengan tetapi tidak " -"persis sama dengan nilai sebenarnya dari 1/10." - -#: ../../tutorial/floatingpoint.rst:58 -msgid "" -"Many users are not aware of the approximation because of the way values are " -"displayed. Python only prints a decimal approximation to the true decimal " -"value of the binary approximation stored by the machine. On most machines, " -"if Python were to print the true decimal value of the binary approximation " -"stored for 0.1, it would have to display::" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:64 -msgid "" -">>> 0.1\n" -"0.1000000000000000055511151231257827021181583404541015625" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:67 -msgid "" -"That is more digits than most people find useful, so Python keeps the number" -" of digits manageable by displaying a rounded value instead:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:70 -msgid "" -">>> 1 / 10\n" -"0.1" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:75 -msgid "" -"Just remember, even though the printed result looks like the exact value of " -"1/10, the actual stored value is the nearest representable binary fraction." -msgstr "" -"Hanya ingat, meskipun hasil cetakannya terlihat seperti nilai tepat 1/10, " -"nilai sebenarnya yang disimpan adalah pecahan biner terdekat yang dapat " -"direpresentasikan." - -#: ../../tutorial/floatingpoint.rst:78 -msgid "" -"Interestingly, there are many different decimal numbers that share the same " -"nearest approximate binary fraction. For example, the numbers ``0.1`` and " -"``0.10000000000000001`` and " -"``0.1000000000000000055511151231257827021181583404541015625`` are all " -"approximated by ``3602879701896397 / 2 ** 55``. Since all of these decimal " -"values share the same approximation, any one of them could be displayed " -"while still preserving the invariant ``eval(repr(x)) == x``." -msgstr "" -"Menariknya, ada banyak angka desimal berbeda yang memiliki pecahan biner " -"perkiraan terdekat yang sama. Misalnya, angka ``0.1`` dan " -"``0.10000000000000001`` dan " -"``0.1000000000000000055511151231257827021181583404541015625`` semuanya " -"didekati oleh ``3602879701896397 / 2 ** 55``. Karena semua nilai desimal ini" -" memiliki perkiraan yang sama, salah satu dari nilai tersebut dapat " -"ditampilkan sambil tetap mempertahankan invarian lainnya ``eval(repr(x)) == " -"x``." - -#: ../../tutorial/floatingpoint.rst:86 -msgid "" -"Historically, the Python prompt and built-in :func:`repr` function would " -"choose the one with 17 significant digits, ``0.10000000000000001``. " -"Starting with Python 3.1, Python (on most systems) is now able to choose the" -" shortest of these and simply display ``0.1``." -msgstr "" -"Secara historis, Python prompt dan fungsi bawaan :func:`repr` akan memilih " -"satu dengan 17 digit signifikan, ``0.10000000000000001``. Dimulai dengan " -"Python 3.1, Python (pada kebanyakan sistem) sekarang dapat memilih yang " -"paling pendek dan hanya menampilkan ``0.1``." - -#: ../../tutorial/floatingpoint.rst:91 -msgid "" -"Note that this is in the very nature of binary floating point: this is not a" -" bug in Python, and it is not a bug in your code either. You'll see the " -"same kind of thing in all languages that support your hardware's floating-" -"point arithmetic (although some languages may not *display* the difference " -"by default, or in all output modes)." -msgstr "" - -#: ../../tutorial/floatingpoint.rst:97 -msgid "" -"For more pleasant output, you may wish to use string formatting to produce a" -" limited number of significant digits:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:100 -msgid "" -">>> format(math.pi, '.12g') # give 12 significant digits\n" -"'3.14159265359'\n" -"\n" -">>> format(math.pi, '.2f') # give 2 digits after the point\n" -"'3.14'\n" -"\n" -">>> repr(math.pi)\n" -"'3.141592653589793'" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:111 -msgid "" -"It's important to realize that this is, in a real sense, an illusion: you're" -" simply rounding the *display* of the true machine value." -msgstr "" -"Sangat penting untuk menyadari bahwa ini adalah, dalam arti sebenarnya, " -"sebuah ilusi: Anda hanya membulatkan *display* dari nilai mesin yang " -"sebenarnya." - -#: ../../tutorial/floatingpoint.rst:114 -msgid "" -"One illusion may beget another. For example, since 0.1 is not exactly 1/10," -" summing three values of 0.1 may not yield exactly 0.3, either:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:117 -msgid "" -">>> 0.1 + 0.1 + 0.1 == 0.3\n" -"False" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:122 -msgid "" -"Also, since the 0.1 cannot get any closer to the exact value of 1/10 and 0.3" -" cannot get any closer to the exact value of 3/10, then pre-rounding with " -":func:`round` function cannot help:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:126 -msgid "" -">>> round(0.1, 1) + round(0.1, 1) + round(0.1, 1) == round(0.3, 1)\n" -"False" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:131 -msgid "" -"Though the numbers cannot be made closer to their intended exact values, the" -" :func:`math.isclose` function can be useful for comparing inexact values:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:134 -msgid "" -">>> math.isclose(0.1 + 0.1 + 0.1, 0.3)\n" -"True" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:139 -msgid "" -"Alternatively, the :func:`round` function can be used to compare rough " -"approximations:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:142 -msgid "" -">>> round(math.pi, ndigits=2) == round(22 / 7, ndigits=2)\n" -"True" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:147 -msgid "" -"Binary floating-point arithmetic holds many surprises like this. The " -"problem with \"0.1\" is explained in precise detail below, in the " -"\"Representation Error\" section. See `Examples of Floating Point Problems " -"`_ for" -" a pleasant summary of how binary floating point works and the kinds of " -"problems commonly encountered in practice. Also see `The Perils of Floating" -" Point `_ for a more complete " -"account of other common surprises." -msgstr "" - -#: ../../tutorial/floatingpoint.rst:156 -msgid "" -"As that says near the end, \"there are no easy answers.\" Still, don't be " -"unduly wary of floating point! The errors in Python float operations are " -"inherited from the floating-point hardware, and on most machines are on the " -"order of no more than 1 part in 2\\*\\*53 per operation. That's more than " -"adequate for most tasks, but you do need to keep in mind that it's not " -"decimal arithmetic and that every float operation can suffer a new rounding " -"error." -msgstr "" - -#: ../../tutorial/floatingpoint.rst:163 -msgid "" -"While pathological cases do exist, for most casual use of floating-point " -"arithmetic you'll see the result you expect in the end if you simply round " -"the display of your final results to the number of decimal digits you " -"expect. :func:`str` usually suffices, and for finer control see the " -":meth:`str.format` method's format specifiers in :ref:`formatstrings`." -msgstr "" -"Sementara kasus patologis memang ada, untuk sebagian besar penggunaan " -"aritmatika floating-point yang santai Anda akan melihat hasil yang Anda " -"harapkan pada akhirnya jika Anda hanya membulatkan tampilan hasil akhir Anda" -" ke jumlah angka desimal yang Anda harapkan. :func:`str` biasanya mencukupi," -" dan untuk kontrol yang lebih baik lihat format :meth:`str.format` penentu " -"format di :ref:`formatstrings`." - -#: ../../tutorial/floatingpoint.rst:169 -msgid "" -"For use cases which require exact decimal representation, try using the " -":mod:`decimal` module which implements decimal arithmetic suitable for " -"accounting applications and high-precision applications." -msgstr "" -"Untuk kasus penggunaan yang memerlukan representasi desimal yang tepat, coba" -" gunakan modul :mod:`decimal` yang mengimplementasikan aritmatika desimal " -"yang cocok untuk aplikasi akuntansi dan aplikasi presisi tinggi." - -#: ../../tutorial/floatingpoint.rst:173 -msgid "" -"Another form of exact arithmetic is supported by the :mod:`fractions` module" -" which implements arithmetic based on rational numbers (so the numbers like " -"1/3 can be represented exactly)." -msgstr "" -"Bentuk lain dari aritmatika yang tepat didukung oleh modul :mod:`fractions` " -"yang mengimplementasikan aritmatika berdasarkan bilangan rasional (sehingga " -"angka seperti 1/3 dapat direpresentasikan secara tepat)." - -#: ../../tutorial/floatingpoint.rst:177 -msgid "" -"If you are a heavy user of floating-point operations you should take a look " -"at the NumPy package and many other packages for mathematical and " -"statistical operations supplied by the SciPy project. See " -"." -msgstr "" - -#: ../../tutorial/floatingpoint.rst:181 -msgid "" -"Python provides tools that may help on those rare occasions when you really " -"*do* want to know the exact value of a float. The " -":meth:`float.as_integer_ratio` method expresses the value of a float as a " -"fraction:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:186 -msgid "" -">>> x = 3.14159\n" -">>> x.as_integer_ratio()\n" -"(3537115888337719, 1125899906842624)" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:192 -msgid "" -"Since the ratio is exact, it can be used to losslessly recreate the original" -" value:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:195 -msgid "" -">>> x == 3537115888337719 / 1125899906842624\n" -"True" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:200 -msgid "" -"The :meth:`float.hex` method expresses a float in hexadecimal (base 16), " -"again giving the exact value stored by your computer:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:203 -msgid "" -">>> x.hex()\n" -"'0x1.921f9f01b866ep+1'" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:208 -msgid "" -"This precise hexadecimal representation can be used to reconstruct the float" -" value exactly:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:211 -msgid "" -">>> x == float.fromhex('0x1.921f9f01b866ep+1')\n" -"True" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:216 -msgid "" -"Since the representation is exact, it is useful for reliably porting values " -"across different versions of Python (platform independence) and exchanging " -"data with other languages that support the same format (such as Java and " -"C99)." -msgstr "" -"Karena representasinya tepat, maka berguna untuk porting nilai secara andal " -"di berbagai versi Python (platform independensi) dan pertukaran data dengan " -"bahasa lain yang mendukung format yang sama (seperti Java dan C99)." - -#: ../../tutorial/floatingpoint.rst:220 -msgid "" -"Another helpful tool is the :func:`sum` function which helps mitigate loss-" -"of-precision during summation. It uses extended precision for intermediate " -"rounding steps as values are added onto a running total. That can make a " -"difference in overall accuracy so that the errors do not accumulate to the " -"point where they affect the final total:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:226 -msgid "" -">>> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 == 1.0\n" -"False\n" -">>> sum([0.1] * 10) == 1.0\n" -"True" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:233 -msgid "" -"The :func:`math.fsum` goes further and tracks all of the \"lost digits\" as " -"values are added onto a running total so that the result has only a single " -"rounding. This is slower than :func:`sum` but will be more accurate in " -"uncommon cases where large magnitude inputs mostly cancel each other out " -"leaving a final sum near zero:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:239 -msgid "" -">>> arr = [-0.10430216751806065, -266310978.67179024, 143401161448607.16,\n" -"... -143401161400469.7, 266262841.31058735, -0.003244936839808227]\n" -">>> float(sum(map(Fraction, arr))) # Exact summation with single rounding\n" -"8.042173697819788e-13\n" -">>> math.fsum(arr) # Single rounding\n" -"8.042173697819788e-13\n" -">>> sum(arr) # Multiple roundings in extended precision\n" -"8.042178034628478e-13\n" -">>> total = 0.0\n" -">>> for x in arr:\n" -"... total += x # Multiple roundings in standard precision\n" -"...\n" -">>> total # Straight addition has no correct digits!\n" -"-0.0051575902860057365" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:260 -msgid "Representation Error" -msgstr "Kesalahan Representasi" - -#: ../../tutorial/floatingpoint.rst:262 -msgid "" -"This section explains the \"0.1\" example in detail, and shows how you can " -"perform an exact analysis of cases like this yourself. Basic familiarity " -"with binary floating-point representation is assumed." -msgstr "" -"Bagian ini menjelaskan contoh \"0.1\" secara terperinci, dan menunjukkan " -"bagaimana Anda dapat melakukan analisis yang tepat atas kasus-kasus seperti " -"ini sendiri. Diasumsikan terbiasa secara mendasar dengan representasi " -"pecahan *floating point* biner." - -#: ../../tutorial/floatingpoint.rst:266 -msgid "" -":dfn:`Representation error` refers to the fact that some (most, actually) " -"decimal fractions cannot be represented exactly as binary (base 2) " -"fractions. This is the chief reason why Python (or Perl, C, C++, Java, " -"Fortran, and many others) often won't display the exact decimal number you " -"expect." -msgstr "" -":dfn:`Representation error` mengacu pada fakta bahwa beberapa pecahan " -"desimal (sebagian besar, sebenarnya) tidak dapat direpresentasikan persis " -"sebagai pecahan biner (basis 2). Ini adalah alasan utama mengapa Python " -"(atau Perl, C, C++, Java, Fortran, dan banyak lainnya) sering tidak akan " -"menampilkan angka desimal tepat yang Anda harapkan." - -#: ../../tutorial/floatingpoint.rst:271 -msgid "" -"Why is that? 1/10 is not exactly representable as a binary fraction. Since" -" at least 2000, almost all machines use IEEE 754 binary floating-point " -"arithmetic, and almost all platforms map Python floats to IEEE 754 binary64 " -"\"double precision\" values. IEEE 754 binary64 values contain 53 bits of " -"precision, so on input the computer strives to convert 0.1 to the closest " -"fraction it can of the form *J*/2**\\ *N* where *J* is an integer containing" -" exactly 53 bits. Rewriting ::" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:280 -msgid "1 / 10 ~= J / (2**N)" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:282 -msgid "as ::" -msgstr "sebagai ::" - -#: ../../tutorial/floatingpoint.rst:284 -msgid "J ~= 2**N / 10" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:286 -msgid "" -"and recalling that *J* has exactly 53 bits (is ``>= 2**52`` but ``< " -"2**53``), the best value for *N* is 56:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:289 -msgid "" -">>> 2**52 <= 2**56 // 10 < 2**53\n" -"True" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:294 -msgid "" -"That is, 56 is the only value for *N* that leaves *J* with exactly 53 bits." -" The best possible value for *J* is then that quotient rounded:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:297 -msgid "" -">>> q, r = divmod(2**56, 10)\n" -">>> r\n" -"6" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:303 -msgid "" -"Since the remainder is more than half of 10, the best approximation is " -"obtained by rounding up:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:306 -msgid "" -">>> q+1\n" -"7205759403792794" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:313 -msgid "" -"Therefore the best possible approximation to 1/10 in IEEE 754 double " -"precision is::" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:316 -msgid "7205759403792794 / 2 ** 56" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:318 -msgid "" -"Dividing both the numerator and denominator by two reduces the fraction to::" -msgstr "" -"Membagi pembilang dan penyebut dengan dua mengurangi pecahan menjadi::" - -#: ../../tutorial/floatingpoint.rst:320 -msgid "3602879701896397 / 2 ** 55" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:322 -msgid "" -"Note that since we rounded up, this is actually a little bit larger than " -"1/10; if we had not rounded up, the quotient would have been a little bit " -"smaller than 1/10. But in no case can it be *exactly* 1/10!" -msgstr "" -"Perhatikan bahwa sejak kami mengumpulkan, ini sebenarnya sedikit lebih besar" -" dari 1/10; jika kita belum mengumpulkan, hasil bagi akan sedikit lebih " -"kecil dari 1/10. Tetapi tidak dapatkah hal itu *exactly* 1/10!" - -#: ../../tutorial/floatingpoint.rst:326 -msgid "" -"So the computer never \"sees\" 1/10: what it sees is the exact fraction " -"given above, the best IEEE 754 double approximation it can get:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:329 -msgid "" -">>> 0.1 * 2 ** 55\n" -"3602879701896397.0" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:334 -msgid "" -"If we multiply that fraction by 10\\*\\*55, we can see the value out to 55 " -"decimal digits:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:337 -msgid "" -">>> 3602879701896397 * 10 ** 55 // 2 ** 55\n" -"1000000000000000055511151231257827021181583404541015625" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:342 -msgid "" -"meaning that the exact number stored in the computer is equal to the decimal" -" value 0.1000000000000000055511151231257827021181583404541015625. Instead of" -" displaying the full decimal value, many languages (including older versions" -" of Python), round the result to 17 significant digits:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:347 -msgid "" -">>> format(0.1, '.17f')\n" -"'0.10000000000000001'" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:352 -msgid "" -"The :mod:`fractions` and :mod:`decimal` modules make these calculations " -"easy:" -msgstr "" - -#: ../../tutorial/floatingpoint.rst:355 -msgid "" -">>> from decimal import Decimal\n" -">>> from fractions import Fraction\n" -"\n" -">>> Fraction.from_float(0.1)\n" -"Fraction(3602879701896397, 36028797018963968)\n" -"\n" -">>> (0.1).as_integer_ratio()\n" -"(3602879701896397, 36028797018963968)\n" -"\n" -">>> Decimal.from_float(0.1)\n" -"Decimal('0.1000000000000000055511151231257827021181583404541015625')\n" -"\n" -">>> format(Decimal.from_float(0.1), '.17')\n" -"'0.10000000000000001'" -msgstr "" diff --git a/python-newest.tutorial--index/id.po b/python-newest.tutorial--index/id.po deleted file mode 100644 index bf3e169..0000000 --- a/python-newest.tutorial--index/id.po +++ /dev/null @@ -1,113 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi (OonID) , 2021 -# Ismail Sunni, 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-16 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Ismail Sunni, 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/index.rst:5 -msgid "The Python Tutorial" -msgstr "Tutorial Python" - -#: ../../tutorial/index.rst:7 -msgid "" -"Python is an easy to learn, powerful programming language. It has efficient " -"high-level data structures and a simple but effective approach to object-" -"oriented programming. Python's elegant syntax and dynamic typing, together " -"with its interpreted nature, make it an ideal language for scripting and " -"rapid application development in many areas on most platforms." -msgstr "" -"Python adalah bahasa pemrograman yang berdaya dan mudah dipelajari. Python " -"memiliki struktur data tingkat tinggi yang efisien dan pendekatan yang " -"sederhana namun efektif untuk pemrograman berorientasi objek. Sintaksis " -"Python yang elegan dan tipe dinamis, bersama dengan sifatnya yang " -"diinterpretasikan, menjadikannya bahasa yang ideal untuk skrip dan " -"pengembangan aplikasi yang cepat di banyak area di sebagian besar platform." - -#: ../../tutorial/index.rst:13 -msgid "" -"The Python interpreter and the extensive standard library are freely " -"available in source or binary form for all major platforms from the Python " -"web site, https://www.python.org/, and may be freely distributed. The same " -"site also contains distributions of and pointers to many free third party " -"Python modules, programs and tools, and additional documentation." -msgstr "" -"Interpreter Python dan pustaka standar yang luas tersedia secara bebas dalam" -" bentuk kode sumber atau biner untuk semua platform utama dari situs web " -"Python, https://www.python.org/, dan dapat didistribusikan secara bebas. " -"Situs yang sama juga berisi distribusi dan refernsi ke banyak modul Python " -"gratis dari pihak ketiga, program dan alat, serta dokumentasi tambahan." - -#: ../../tutorial/index.rst:19 -msgid "" -"The Python interpreter is easily extended with new functions and data types " -"implemented in C or C++ (or other languages callable from C). Python is also" -" suitable as an extension language for customizable applications." -msgstr "" -"Interpreter Python mudah dikembangkan dengan fungsi dan tipe data baru " -"diimplementasikan dalam C atau C ++ (atau bahasa lain yang bisa dipanggil " -"dari C). Python juga cocok sebagai bahasa tambahan untuk aplikasi yang dapat" -" disesuaikan." - -#: ../../tutorial/index.rst:23 -msgid "" -"This tutorial introduces the reader informally to the basic concepts and " -"features of the Python language and system. It helps to have a Python " -"interpreter handy for hands-on experience, but all examples are self-" -"contained, so the tutorial can be read off-line as well." -msgstr "" -"Tutorial ini memperkenalkan pembaca secara informal ke konsep dan fitur " -"dasar bahasa dan sistem Python. Akan membantu untuk memiliki interpreter " -"Python yang praktis untuk pengalaman mencoba langsung, tetapi semua contoh " -"mandiri, sehingga tutorialnya dapat dibaca secara off-line juga." - -#: ../../tutorial/index.rst:28 -msgid "" -"For a description of standard objects and modules, see :ref:`library-index`." -" :ref:`reference-index` gives a more formal definition of the language. To " -"write extensions in C or C++, read :ref:`extending-index` and :ref:`c-api-" -"index`. There are also several books covering Python in depth." -msgstr "" -"Untuk deskripsi objek dan modul standar, lihat :ref:`library-index`. " -":ref:`reference-index` memberikan definisi bahasa yang lebih formal. Untuk " -"menulis ekstensi dalam C atau C ++, baca :ref:`extending-index` dan " -":ref:`c-api-index`. Ada juga beberapa buku yang membahas Python secara " -"mendalam." - -#: ../../tutorial/index.rst:33 -msgid "" -"This tutorial does not attempt to be comprehensive and cover every single " -"feature, or even every commonly used feature. Instead, it introduces many of" -" Python's most noteworthy features, and will give you a good idea of the " -"language's flavor and style. After reading it, you will be able to read and " -"write Python modules and programs, and you will be ready to learn more about" -" the various Python library modules described in :ref:`library-index`." -msgstr "" -"Tutorial ini tidak mencoba menjadi komprehensif dan mencakup semua fitur, " -"atau bahkan setiap fitur yang umum digunakan. Alih-alih, ini memperkenalkan " -"banyak fitur Python yang paling penting, dan akan memberi Anda ide bagus " -"tentang rasa dan gaya bahasa itu. Setelah membacanya, Anda akan dapat " -"membaca dan menulis modul serta program Python, dan Anda akan siap untuk " -"mempelajari lebih lanjut tentang berbagai modul pustaka Python yang " -"dijelaskan dalam :ref:`library-index`." - -#: ../../tutorial/index.rst:40 -msgid "The :ref:`glossary` is also worth going through." -msgstr ":ref:`glosarium` juga layak untuk dilihat." diff --git a/python-newest.tutorial--inputoutput/id.po b/python-newest.tutorial--inputoutput/id.po deleted file mode 100644 index a732303..0000000 --- a/python-newest.tutorial--inputoutput/id.po +++ /dev/null @@ -1,1005 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Ryan Febriansyah <15523163@students.uii.ac.id>, 2021 -# oon arfiandwi , 2024 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/inputoutput.rst:5 -msgid "Input and Output" -msgstr "Masukan dan Keluaran" - -#: ../../tutorial/inputoutput.rst:7 -msgid "" -"There are several ways to present the output of a program; data can be " -"printed in a human-readable form, or written to a file for future use. This " -"chapter will discuss some of the possibilities." -msgstr "" -"Ada beberapa cara untuk mempresentasikan keluaran suatu program; data dapat " -"dicetak dalam bentuk yang dapat dibaca manusia, atau ditulis ke berkas untuk" -" digunakan di masa mendatang. Bab ini akan membahas beberapa kemungkinan." - -#: ../../tutorial/inputoutput.rst:15 -msgid "Fancier Output Formatting" -msgstr "Pemformatan Keluaran yang Lebih Menarik" - -#: ../../tutorial/inputoutput.rst:17 -msgid "" -"So far we've encountered two ways of writing values: *expression statements*" -" and the :func:`print` function. (A third way is using the " -":meth:`~io.TextIOBase.write` method of file objects; the standard output " -"file can be referenced as ``sys.stdout``. See the Library Reference for more" -" information on this.)" -msgstr "" - -#: ../../tutorial/inputoutput.rst:22 -msgid "" -"Often you'll want more control over the formatting of your output than " -"simply printing space-separated values. There are several ways to format " -"output." -msgstr "" -"Seringkali Anda akan menginginkan lebih banyak kontrol atas pemformatan " -"keluaran Anda daripada sekadar mencetak nilai yang dipisahkan ruang. Ada " -"beberapa cara untuk memformat keluaran." - -#: ../../tutorial/inputoutput.rst:25 -msgid "" -"To use :ref:`formatted string literals `, begin a string with" -" ``f`` or ``F`` before the opening quotation mark or triple quotation mark. " -"Inside this string, you can write a Python expression between ``{`` and " -"``}`` characters that can refer to variables or literal values." -msgstr "" -"Untuk menggunakan :ref:`formatted string literals `, mulailah" -" string dengan ``f`` atau ``F`` sebelum tanda kutip pembuka atau tanda kutip" -" tiga. Di dalam string ini, Anda bisa menulis ekspresi Python antara " -"karakter ``{`` dan ``}`` yang dapat merujuk ke variabel atau nilai literal." - -#: ../../tutorial/inputoutput.rst:32 -msgid "" -">>> year = 2016\n" -">>> event = 'Referendum'\n" -">>> f'Results of the {year} {event}'\n" -"'Results of the 2016 Referendum'" -msgstr "" - -#: ../../tutorial/inputoutput.rst:37 -msgid "" -"The :meth:`str.format` method of strings requires more manual effort. " -"You'll still use ``{`` and ``}`` to mark where a variable will be " -"substituted and can provide detailed formatting directives, but you'll also " -"need to provide the information to be formatted. In the following code block" -" there are two examples of how to format variables:" -msgstr "" - -#: ../../tutorial/inputoutput.rst:46 -msgid "" -">>> yes_votes = 42_572_654\n" -">>> total_votes = 85_705_149\n" -">>> percentage = yes_votes / total_votes\n" -">>> '{:-9} YES votes {:2.2%}'.format(yes_votes, percentage)\n" -"' 42572654 YES votes 49.67%'" -msgstr "" - -#: ../../tutorial/inputoutput.rst:52 -msgid "" -"Notice how the ``yes_votes`` are padded with spaces and a negative sign only" -" for negative numbers. The example also prints ``percentage`` multiplied by " -"100, with 2 decimal places and followed by a percent sign (see " -":ref:`formatspec` for details)." -msgstr "" - -#: ../../tutorial/inputoutput.rst:57 -msgid "" -"Finally, you can do all the string handling yourself by using string slicing" -" and concatenation operations to create any layout you can imagine. The " -"string type has some methods that perform useful operations for padding " -"strings to a given column width." -msgstr "" -"Akhirnya, Anda dapat melakukan semua string yang menangani diri Anda sendiri" -" dengan menggunakan operasi *slicing* string dan *concatenation* untuk " -"membuat tata letak yang dapat Anda bayangkan. Tipe string memiliki beberapa " -"metode yang melakukan operasi yang berguna untuk string *padding* ke lebar " -"kolom yang diberikan." - -#: ../../tutorial/inputoutput.rst:62 -msgid "" -"When you don't need fancy output but just want a quick display of some " -"variables for debugging purposes, you can convert any value to a string with" -" the :func:`repr` or :func:`str` functions." -msgstr "" -"Ketika Anda tidak membutuhkan keluaran yang menarik tetapi hanya ingin " -"tampilan cepat dari beberapa variabel untuk keperluan debugging, Anda dapat " -"mengonversi nilai apa pun menjadi string dengan fungsi :func:`repr` atau " -":func:`str`." - -#: ../../tutorial/inputoutput.rst:66 -msgid "" -"The :func:`str` function is meant to return representations of values which " -"are fairly human-readable, while :func:`repr` is meant to generate " -"representations which can be read by the interpreter (or will force a " -":exc:`SyntaxError` if there is no equivalent syntax). For objects which " -"don't have a particular representation for human consumption, :func:`str` " -"will return the same value as :func:`repr`. Many values, such as numbers or" -" structures like lists and dictionaries, have the same representation using " -"either function. Strings, in particular, have two distinct representations." -msgstr "" -"Fungsi :func:`str` dimaksudkan untuk mengembalikan representasi nilai-nilai " -"yang terbaca oleh manusia, sementara :func:`repr` dimaksudkan untuk " -"menghasilkan representasi yang dapat dibaca oleh penerjemah (atau akan " -"memaksa :exc:`SyntaxError` jika tidak ada sintaks yang setara). Untuk objek " -"yang tidak memiliki representasi khusus untuk konsumsi manusia, :func:`str` " -"akan mengembalikan nilai yang sama dengan :func:`repr`. Banyak nilai, " -"seperti angka atau struktur seperti daftar dan kamus, memiliki representasi " -"yang sama menggunakan kedua fungsi tersebut. String, khususnya, memiliki dua" -" representasi berbeda." - -#: ../../tutorial/inputoutput.rst:75 -msgid "Some examples::" -msgstr "Beberapa contoh::" - -#: ../../tutorial/inputoutput.rst:77 -msgid "" -">>> s = 'Hello, world.'\n" -">>> str(s)\n" -"'Hello, world.'\n" -">>> repr(s)\n" -"\"'Hello, world.'\"\n" -">>> str(1/7)\n" -"'0.14285714285714285'\n" -">>> x = 10 * 3.25\n" -">>> y = 200 * 200\n" -">>> s = 'The value of x is ' + repr(x) + ', and y is ' + repr(y) + '...'\n" -">>> print(s)\n" -"The value of x is 32.5, and y is 40000...\n" -">>> # The repr() of a string adds string quotes and backslashes:\n" -">>> hello = 'hello, world\\n'\n" -">>> hellos = repr(hello)\n" -">>> print(hellos)\n" -"'hello, world\\n'\n" -">>> # The argument to repr() may be any Python object:\n" -">>> repr((x, y, ('spam', 'eggs')))\n" -"\"(32.5, 40000, ('spam', 'eggs'))\"" -msgstr "" - -#: ../../tutorial/inputoutput.rst:98 -msgid "" -"The :mod:`string` module contains a :class:`~string.Template` class that " -"offers yet another way to substitute values into strings, using placeholders" -" like ``$x`` and replacing them with values from a dictionary, but offers " -"much less control of the formatting." -msgstr "" -"Modul :mod:`string` berisi kelas :class:`~string.Template` yang menawarkan " -"cara lain untuk mengganti nilai menjadi string, menggunakan penampung " -"seperti ``$x`` dan menggantinya dengan nilai-nilai dari *dictionary*, tetapi" -" menawarkan kontrol format yang jauh lebih sedikit." - -#: ../../tutorial/inputoutput.rst:114 -msgid "Formatted String Literals" -msgstr "Literal String Terformat" - -#: ../../tutorial/inputoutput.rst:116 -msgid "" -":ref:`Formatted string literals ` (also called f-strings for " -"short) let you include the value of Python expressions inside a string by " -"prefixing the string with ``f`` or ``F`` and writing expressions as " -"``{expression}``." -msgstr "" -":ref:`Formatted string literals ` (juga disebut f-string) " -"memungkinkan Anda menyertakan nilai ekspresi Python di dalam string dengan " -"mengawali string dengan ``f`` atau ``F`` dan menulis ekspresi sebagai " -"``{expression}``." - -#: ../../tutorial/inputoutput.rst:121 -msgid "" -"An optional format specifier can follow the expression. This allows greater " -"control over how the value is formatted. The following example rounds pi to " -"three places after the decimal::" -msgstr "" -"Penentu format opsional dapat mengikuti ekspresi. Ini memungkinkan kontrol " -"yang lebih besar atas bagaimana nilai diformat. Contoh berikut ini " -"pembulatan pi ke tiga tempat setelah desimal::" - -#: ../../tutorial/inputoutput.rst:125 -msgid "" -">>> import math\n" -">>> print(f'The value of pi is approximately {math.pi:.3f}.')\n" -"The value of pi is approximately 3.142." -msgstr "" - -#: ../../tutorial/inputoutput.rst:129 -msgid "" -"Passing an integer after the ``':'`` will cause that field to be a minimum " -"number of characters wide. This is useful for making columns line up. ::" -msgstr "" -"Melewatkan bilangan bulat setelah ``':'`` akan menyebabkan *field* itu " -"menjadi jumlah minimum lebar karakter. Ini berguna untuk membuat kolom " -"berbaris. ::" - -#: ../../tutorial/inputoutput.rst:132 -msgid "" -">>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}\n" -">>> for name, phone in table.items():\n" -"... print(f'{name:10} ==> {phone:10d}')\n" -"...\n" -"Sjoerd ==> 4127\n" -"Jack ==> 4098\n" -"Dcab ==> 7678" -msgstr "" - -#: ../../tutorial/inputoutput.rst:140 -msgid "" -"Other modifiers can be used to convert the value before it is formatted. " -"``'!a'`` applies :func:`ascii`, ``'!s'`` applies :func:`str`, and ``'!r'`` " -"applies :func:`repr`::" -msgstr "" -"Pengubah lain dapat digunakan untuk mengonversi nilai sebelum diformat. " -"``'!a'`` berlaku :func:`ascii`, ``'!s'`` berlaku :func:`str`, dan ``'!r'`` " -"berlaku :func:`repr`::" - -#: ../../tutorial/inputoutput.rst:144 -msgid "" -">>> animals = 'eels'\n" -">>> print(f'My hovercraft is full of {animals}.')\n" -"My hovercraft is full of eels.\n" -">>> print(f'My hovercraft is full of {animals!r}.')\n" -"My hovercraft is full of 'eels'." -msgstr "" - -#: ../../tutorial/inputoutput.rst:150 -msgid "" -"The ``=`` specifier can be used to expand an expression to the text of the " -"expression, an equal sign, then the representation of the evaluated " -"expression:" -msgstr "" - -#: ../../tutorial/inputoutput.rst:159 -msgid "" -"See :ref:`self-documenting expressions ` for more " -"information on the ``=`` specifier. For a reference on these format " -"specifications, see the reference guide for the :ref:`formatspec`." -msgstr "" - -#: ../../tutorial/inputoutput.rst:166 -msgid "The String format() Method" -msgstr "Metode String format()" - -#: ../../tutorial/inputoutput.rst:168 -msgid "Basic usage of the :meth:`str.format` method looks like this::" -msgstr "Penggunaan dasar metode :meth:`str.format` terlihat seperti ini::" - -#: ../../tutorial/inputoutput.rst:170 -msgid "" -">>> print('We are the {} who say \"{}!\"'.format('knights', 'Ni'))\n" -"We are the knights who say \"Ni!\"" -msgstr "" - -#: ../../tutorial/inputoutput.rst:173 -msgid "" -"The brackets and characters within them (called format fields) are replaced " -"with the objects passed into the :meth:`str.format` method. A number in the" -" brackets can be used to refer to the position of the object passed into the" -" :meth:`str.format` method. ::" -msgstr "" -"Tanda kurung dan karakter di dalamnya (disebut *fields* format) diganti " -"dengan objek yang diteruskan ke metode :meth:`str.format`. Angka dalam tanda" -" kurung dapat digunakan untuk merujuk ke posisi objek yang dilewatkan ke " -"dalam metode :meth:`str.format`. ::" - -#: ../../tutorial/inputoutput.rst:178 -msgid "" -">>> print('{0} and {1}'.format('spam', 'eggs'))\n" -"spam and eggs\n" -">>> print('{1} and {0}'.format('spam', 'eggs'))\n" -"eggs and spam" -msgstr "" - -#: ../../tutorial/inputoutput.rst:183 -msgid "" -"If keyword arguments are used in the :meth:`str.format` method, their values" -" are referred to by using the name of the argument. ::" -msgstr "" -"Jika argumen kata kunci *keyword argument* digunakan dalam metode " -":meth:`str.format`, nilainya dirujuk dengan menggunakan nama argumen. ::" - -#: ../../tutorial/inputoutput.rst:186 -msgid "" -">>> print('This {food} is {adjective}.'.format(\n" -"... food='spam', adjective='absolutely horrible'))\n" -"This spam is absolutely horrible." -msgstr "" - -#: ../../tutorial/inputoutput.rst:190 -msgid "Positional and keyword arguments can be arbitrarily combined::" -msgstr "" -"Argumen posisi dan kata kunci dapat dikombinasikan secara bergantian::" - -#: ../../tutorial/inputoutput.rst:192 -msgid "" -">>> print('The story of {0}, {1}, and {other}.'.format('Bill', 'Manfred',\n" -"... other='Georg'))\n" -"The story of Bill, Manfred, and Georg." -msgstr "" - -#: ../../tutorial/inputoutput.rst:196 -msgid "" -"If you have a really long format string that you don't want to split up, it " -"would be nice if you could reference the variables to be formatted by name " -"instead of by position. This can be done by simply passing the dict and " -"using square brackets ``'[]'`` to access the keys. ::" -msgstr "" -"Jika Anda memiliki string format yang sangat panjang yang tidak ingin Anda " -"pisahkan, alangkah baiknya jika Anda bisa mereferensikan variabel yang akan " -"diformat berdasarkan nama alih-alih berdasarkan posisi. Ini dapat dilakukan " -"hanya dengan melewatkan *dict* dan menggunakan tanda kurung siku ``'[]'`` " -"untuk mengakses kunci dari *dict* ::" - -#: ../../tutorial/inputoutput.rst:201 -msgid "" -">>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}\n" -">>> print('Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; '\n" -"... 'Dcab: {0[Dcab]:d}'.format(table))\n" -"Jack: 4098; Sjoerd: 4127; Dcab: 8637678" -msgstr "" - -#: ../../tutorial/inputoutput.rst:206 -msgid "" -"This could also be done by passing the ``table`` dictionary as keyword " -"arguments with the ``**`` notation. ::" -msgstr "" - -#: ../../tutorial/inputoutput.rst:209 -msgid "" -">>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}\n" -">>> print('Jack: {Jack:d}; Sjoerd: {Sjoerd:d}; Dcab: {Dcab:d}'.format(**table))\n" -"Jack: 4098; Sjoerd: 4127; Dcab: 8637678" -msgstr "" - -#: ../../tutorial/inputoutput.rst:213 -msgid "" -"This is particularly useful in combination with the built-in function " -":func:`vars`, which returns a dictionary containing all local variables::" -msgstr "" - -#: ../../tutorial/inputoutput.rst:216 -msgid "" -">>> table = {k: str(v) for k, v in vars().items()}\n" -">>> message = \" \".join([f'{k}: ' + '{' + k +'};' for k in table.keys()])\n" -">>> print(message.format(**table))\n" -"__name__: __main__; __doc__: None; __package__: None; __loader__: ..." -msgstr "" - -#: ../../tutorial/inputoutput.rst:221 -msgid "" -"As an example, the following lines produce a tidily aligned set of columns " -"giving integers and their squares and cubes::" -msgstr "" - -#: ../../tutorial/inputoutput.rst:224 -msgid "" -">>> for x in range(1, 11):\n" -"... print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))\n" -"...\n" -" 1 1 1\n" -" 2 4 8\n" -" 3 9 27\n" -" 4 16 64\n" -" 5 25 125\n" -" 6 36 216\n" -" 7 49 343\n" -" 8 64 512\n" -" 9 81 729\n" -"10 100 1000" -msgstr "" - -#: ../../tutorial/inputoutput.rst:238 -msgid "" -"For a complete overview of string formatting with :meth:`str.format`, see " -":ref:`formatstrings`." -msgstr "" -"Untuk ikhtisar lengkap pemformatan string dengan :meth:`str.format`, lihat " -":ref:`formatstrings`." - -#: ../../tutorial/inputoutput.rst:243 -msgid "Manual String Formatting" -msgstr "Pemformatan String Manual" - -#: ../../tutorial/inputoutput.rst:245 -msgid "Here's the same table of squares and cubes, formatted manually::" -msgstr "Inilah tabel kotak dan kubus yang sama, yang diformat secara manual::" - -#: ../../tutorial/inputoutput.rst:247 -msgid "" -">>> for x in range(1, 11):\n" -"... print(repr(x).rjust(2), repr(x*x).rjust(3), end=' ')\n" -"... # Note use of 'end' on previous line\n" -"... print(repr(x*x*x).rjust(4))\n" -"...\n" -" 1 1 1\n" -" 2 4 8\n" -" 3 9 27\n" -" 4 16 64\n" -" 5 25 125\n" -" 6 36 216\n" -" 7 49 343\n" -" 8 64 512\n" -" 9 81 729\n" -"10 100 1000" -msgstr "" - -#: ../../tutorial/inputoutput.rst:263 -msgid "" -"(Note that the one space between each column was added by the way " -":func:`print` works: it always adds spaces between its arguments.)" -msgstr "" -"(Perhatikan bahwa satu spasi di antara setiap kolom ditambahkan dengan cara " -":func:`print` berfungsi: selalu menambah spasi di antara argumennya.)" - -#: ../../tutorial/inputoutput.rst:266 -msgid "" -"The :meth:`str.rjust` method of string objects right-justifies a string in a" -" field of a given width by padding it with spaces on the left. There are " -"similar methods :meth:`str.ljust` and :meth:`str.center`. These methods do " -"not write anything, they just return a new string. If the input string is " -"too long, they don't truncate it, but return it unchanged; this will mess up" -" your column lay-out but that's usually better than the alternative, which " -"would be lying about a value. (If you really want truncation you can always " -"add a slice operation, as in ``x.ljust(n)[:n]``.)" -msgstr "" -"Metode :meth:`str.rjust` dari objek string merata-kanan-kan sebuah string " -"dalam bidang dengan lebar tertentu dengan menambahkannya dengan spasi di " -"sebelah kiri. Ada metode serupa :meth:`str.ljust` dan :meth:`str.center`. " -"Metode ini tidak menulis apa pun, mereka hanya mengembalikan string baru. " -"Jika string input terlalu panjang, mereka tidak memotongnya, tetapi " -"mengembalikannya tidak berubah; ini akan mengacaukan tata letak kolom Anda, " -"tetapi itu biasanya lebih baik daripada alternatif, yang akan berbohong " -"tentang nilai. (Jika Anda benar-benar menginginkan pemotongan, Anda selalu " -"dapat menambahkan operasi *slice*, seperti pada ``x.ljust(n)[:n]``.)" - -#: ../../tutorial/inputoutput.rst:275 -msgid "" -"There is another method, :meth:`str.zfill`, which pads a numeric string on " -"the left with zeros. It understands about plus and minus signs::" -msgstr "" -"Ada metode lain, :meth:`str.zfill`, yang melapisi string numerik di sebelah " -"kiri dengan nol. Itu mengerti tentang tanda plus dan minus::" - -#: ../../tutorial/inputoutput.rst:278 -msgid "" -">>> '12'.zfill(5)\n" -"'00012'\n" -">>> '-3.14'.zfill(7)\n" -"'-003.14'\n" -">>> '3.14159265359'.zfill(5)\n" -"'3.14159265359'" -msgstr "" - -#: ../../tutorial/inputoutput.rst:287 -msgid "Old string formatting" -msgstr "Pemformatan string lama" - -#: ../../tutorial/inputoutput.rst:289 -msgid "" -"The % operator (modulo) can also be used for string formatting. Given " -"``format % values`` (where *format* is a string), ``%`` conversion " -"specifications in *format* are replaced with zero or more elements of " -"*values*. This operation is commonly known as string interpolation. For " -"example::" -msgstr "" - -#: ../../tutorial/inputoutput.rst:296 -msgid "" -">>> import math\n" -">>> print('The value of pi is approximately %5.3f.' % math.pi)\n" -"The value of pi is approximately 3.142." -msgstr "" - -#: ../../tutorial/inputoutput.rst:300 -msgid "" -"More information can be found in the :ref:`old-string-formatting` section." -msgstr "" -"Informasi lebih lanjut dapat ditemukan di bagian :ref:`old-string-" -"formatting`." - -#: ../../tutorial/inputoutput.rst:306 -msgid "Reading and Writing Files" -msgstr "Membaca dan Menulis Berkas" - -#: ../../tutorial/inputoutput.rst:312 -msgid "" -":func:`open` returns a :term:`file object`, and is most commonly used with " -"two positional arguments and one keyword argument: ``open(filename, mode, " -"encoding=None)``" -msgstr "" - -#: ../../tutorial/inputoutput.rst:318 -msgid ">>> f = open('workfile', 'w', encoding=\"utf-8\")" -msgstr "" - -#: ../../tutorial/inputoutput.rst:325 -msgid "" -"The first argument is a string containing the filename. The second argument" -" is another string containing a few characters describing the way in which " -"the file will be used. *mode* can be ``'r'`` when the file will only be " -"read, ``'w'`` for only writing (an existing file with the same name will be " -"erased), and ``'a'`` opens the file for appending; any data written to the " -"file is automatically added to the end. ``'r+'`` opens the file for both " -"reading and writing. The *mode* argument is optional; ``'r'`` will be " -"assumed if it's omitted." -msgstr "" -"Argumen pertama adalah string yang berisi nama file. Argumen kedua adalah " -"string lain yang berisi beberapa karakter yang menggambarkan cara berkas " -"akan digunakan. *mode* dapat ``'r'`` ketika file hanya akan dibaca, ``'w'`` " -"untuk hanya menulis (berkas yang ada dengan nama yang sama akan dihapus), " -"dan ``'a'`` membuka berkas untuk ditambahkan; setiap data yang ditulis ke " -"file secara otomatis ditambahkan ke bagian akhir. ``'r+'`` membuka berkas " -"untuk membaca dan menulis. Argumen *mode* adalah opsional; ``'r'`` akan " -"diasumsikan jika dihilangkan." - -#: ../../tutorial/inputoutput.rst:334 -msgid "" -"Normally, files are opened in :dfn:`text mode`, that means, you read and " -"write strings from and to the file, which are encoded in a specific " -"*encoding*. If *encoding* is not specified, the default is platform " -"dependent (see :func:`open`). Because UTF-8 is the modern de-facto standard," -" ``encoding=\"utf-8\"`` is recommended unless you know that you need to use " -"a different encoding. Appending a ``'b'`` to the mode opens the file in " -":dfn:`binary mode`. Binary mode data is read and written as :class:`bytes` " -"objects. You can not specify *encoding* when opening file in binary mode." -msgstr "" - -#: ../../tutorial/inputoutput.rst:344 -msgid "" -"In text mode, the default when reading is to convert platform-specific line " -"endings (``\\n`` on Unix, ``\\r\\n`` on Windows) to just ``\\n``. When " -"writing in text mode, the default is to convert occurrences of ``\\n`` back " -"to platform-specific line endings. This behind-the-scenes modification to " -"file data is fine for text files, but will corrupt binary data like that in " -":file:`JPEG` or :file:`EXE` files. Be very careful to use binary mode when " -"reading and writing such files." -msgstr "" -"Dalam mode teks, standar saat membaca adalah mengonversi akhir baris " -"spesifik platform (``\\n`` pada Unix, ``\\r\\n`` pada Windows) menjadi hanya" -" ``\\n``. Saat menulis dalam mode teks, defaultnya adalah mengonversi " -"kemunculan ``\\n`` kembali ke akhir baris spesifik platform. Modifikasi di " -"balik layar ini untuk mengarsipkan data baik untuk file teks, tetapi akan " -"merusak data biner seperti itu di :file:`JPEG` atau berkas :file:`EXE`. " -"Berhati-hatilah untuk menggunakan mode biner saat membaca dan menulis file " -"seperti itu." - -#: ../../tutorial/inputoutput.rst:352 -msgid "" -"It is good practice to use the :keyword:`with` keyword when dealing with " -"file objects. The advantage is that the file is properly closed after its " -"suite finishes, even if an exception is raised at some point. Using " -":keyword:`!with` is also much shorter than writing equivalent " -":keyword:`try`\\ -\\ :keyword:`finally` blocks::" -msgstr "" -"Ini adalah praktik yang baik untuk menggunakan kata kunci :keyword:`with` " -"saat berurusan dengan objek file. Keuntungannya adalah bahwa file ditutup " -"dengan benar setelah rangkaiannya selesai, bahkan jika suatu pengecualian " -"muncul di beberapa titik. Menggunakan :keyword:`!with` juga jauh lebih " -"pendek daripada penulisan yang setara :keyword:`try`\\ -\\ blok " -":keyword:`finally`::" - -#: ../../tutorial/inputoutput.rst:358 -msgid "" -">>> with open('workfile', encoding=\"utf-8\") as f:\n" -"... read_data = f.read()\n" -"\n" -">>> # We can check that the file has been automatically closed.\n" -">>> f.closed\n" -"True" -msgstr "" - -#: ../../tutorial/inputoutput.rst:365 -msgid "" -"If you're not using the :keyword:`with` keyword, then you should call " -"``f.close()`` to close the file and immediately free up any system resources" -" used by it." -msgstr "" -"Jika anda tidak menggunakan kata kunci :keyword:`with`, maka anda harus " -"memanggil ``f.close()`` untuk menutup *file* dan membebaskan sumber daya " -"sistem yang digunakan secara langsung." - -#: ../../tutorial/inputoutput.rst:370 -msgid "" -"Calling ``f.write()`` without using the :keyword:`!with` keyword or calling " -"``f.close()`` **might** result in the arguments of ``f.write()`` not being " -"completely written to the disk, even if the program exits successfully." -msgstr "" -"Memanggil ``f.write()`` tanpa menggunakan kata kunci :keyword:`!with` atau " -"memanggil ``f.close()`` **dapat** menyebabkan argumen-argumen dari " -"``f.write()`` tidak dituliskan ke dalam *disk* secara utuh, meskipun program" -" berhenti dengan sukses." - -#: ../../tutorial/inputoutput.rst:378 -msgid "" -"After a file object is closed, either by a :keyword:`with` statement or by " -"calling ``f.close()``, attempts to use the file object will automatically " -"fail. ::" -msgstr "" -"Setelah objek file ditutup, baik dengan pernyataan :keyword:`with` atau " -"dengan memanggil ``f.close()``, upaya untuk menggunakan objek file akan " -"secara otomatis gagal. ::" - -#: ../../tutorial/inputoutput.rst:382 -msgid "" -">>> f.close()\n" -">>> f.read()\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"ValueError: I/O operation on closed file." -msgstr "" - -#: ../../tutorial/inputoutput.rst:392 -msgid "Methods of File Objects" -msgstr "Metode Objek Berkas" - -#: ../../tutorial/inputoutput.rst:394 -msgid "" -"The rest of the examples in this section will assume that a file object " -"called ``f`` has already been created." -msgstr "" -"Sisa contoh di bagian ini akan menganggap bahwa objek berkas bernama ``f`` " -"telah dibuat." - -#: ../../tutorial/inputoutput.rst:397 -msgid "" -"To read a file's contents, call ``f.read(size)``, which reads some quantity " -"of data and returns it as a string (in text mode) or bytes object (in binary" -" mode). *size* is an optional numeric argument. When *size* is omitted or " -"negative, the entire contents of the file will be read and returned; it's " -"your problem if the file is twice as large as your machine's memory. " -"Otherwise, at most *size* characters (in text mode) or *size* bytes (in " -"binary mode) are read and returned. If the end of the file has been reached," -" ``f.read()`` will return an empty string (``''``). ::" -msgstr "" -"Untuk membaca konten file, panggil ``f.read(size)``, yang membaca sejumlah " -"kuantitas data dan mengembalikannya sebagai string (dalam mode teks) atau " -"objek byte (dalam mode biner). *size* adalah argumen numerik opsional. " -"Ketika *size* dihilangkan atau negatif, seluruh isi file akan dibaca dan " -"dikembalikan; itu masalah Anda jika file tersebut dua kali lebih besar dari " -"memori mesin Anda. Kalau tidak, paling banyak *size* karakter (dalam mode " -"teks) atau *size* byte (dalam mode biner) dibaca dan dikembalikan. Jika " -"akhir file telah tercapai, ``f.read()`` akan mengembalikan string kosong " -"(``''``). ::" - -#: ../../tutorial/inputoutput.rst:406 -msgid "" -">>> f.read()\n" -"'This is the entire file.\\n'\n" -">>> f.read()\n" -"''" -msgstr "" - -#: ../../tutorial/inputoutput.rst:411 -msgid "" -"``f.readline()`` reads a single line from the file; a newline character " -"(``\\n``) is left at the end of the string, and is only omitted on the last " -"line of the file if the file doesn't end in a newline. This makes the " -"return value unambiguous; if ``f.readline()`` returns an empty string, the " -"end of the file has been reached, while a blank line is represented by " -"``'\\n'``, a string containing only a single newline. ::" -msgstr "" -"``f.readline()`` membaca satu baris dari file; karakter baris baru (``\\n``)" -" dibiarkan di akhir string, dan hanya dihapus pada baris terakhir file jika " -"file tidak berakhir pada baris baru. Ini membuat nilai pengembalian tidak " -"ambigu; jika ``f.readline()`` mengembalikan string kosong, akhir file telah " -"tercapai, sementara baris kosong diwakili oleh ``'\\n'``, string yang hanya " -"berisi satu baris baru. ::" - -#: ../../tutorial/inputoutput.rst:418 -msgid "" -">>> f.readline()\n" -"'This is the first line of the file.\\n'\n" -">>> f.readline()\n" -"'Second line of the file\\n'\n" -">>> f.readline()\n" -"''" -msgstr "" - -#: ../../tutorial/inputoutput.rst:425 -msgid "" -"For reading lines from a file, you can loop over the file object. This is " -"memory efficient, fast, and leads to simple code::" -msgstr "" -"Untuk membaca baris dari file, Anda dapat mengulangi objek berkas. Ini hemat" -" memori, cepat, dan mengarah ke kode sederhana ::" - -#: ../../tutorial/inputoutput.rst:428 -msgid "" -">>> for line in f:\n" -"... print(line, end='')\n" -"...\n" -"This is the first line of the file.\n" -"Second line of the file" -msgstr "" - -#: ../../tutorial/inputoutput.rst:434 -msgid "" -"If you want to read all the lines of a file in a list you can also use " -"``list(f)`` or ``f.readlines()``." -msgstr "" -"Jika Anda ingin membaca semua baris file dalam daftar *list*, Anda juga " -"dapat menggunakan ``list(f)`` atau ``f.readlines()``." - -#: ../../tutorial/inputoutput.rst:437 -msgid "" -"``f.write(string)`` writes the contents of *string* to the file, returning " -"the number of characters written. ::" -msgstr "" -"``f.write(string)`` menulis konten *string* ke berkas, mengembalikan jumlah " -"karakter yang ditulis. ::" - -#: ../../tutorial/inputoutput.rst:440 -msgid "" -">>> f.write('This is a test\\n')\n" -"15" -msgstr "" - -#: ../../tutorial/inputoutput.rst:443 -msgid "" -"Other types of objects need to be converted -- either to a string (in text " -"mode) or a bytes object (in binary mode) -- before writing them::" -msgstr "" -"Jenis objek lain perlu dikonversi -- baik menjadi string (dalam mode teks) " -"atau objek byte (dalam mode biner) -- sebelum menulisnya::" - -#: ../../tutorial/inputoutput.rst:446 -msgid "" -">>> value = ('the answer', 42)\n" -">>> s = str(value) # convert the tuple to string\n" -">>> f.write(s)\n" -"18" -msgstr "" - -#: ../../tutorial/inputoutput.rst:451 -msgid "" -"``f.tell()`` returns an integer giving the file object's current position in" -" the file represented as number of bytes from the beginning of the file when" -" in binary mode and an opaque number when in text mode." -msgstr "" -"``f.tell()`` mengembalikan integer yang memberikan posisi objek file saat " -"ini dalam berkas yang direpresentasikan sebagai jumlah byte dari awal berkas" -" ketika dalam mode biner dan angka buram *opaque* ketika dalam mode teks." - -#: ../../tutorial/inputoutput.rst:455 -msgid "" -"To change the file object's position, use ``f.seek(offset, whence)``. The " -"position is computed from adding *offset* to a reference point; the " -"reference point is selected by the *whence* argument. A *whence* value of 0" -" measures from the beginning of the file, 1 uses the current file position, " -"and 2 uses the end of the file as the reference point. *whence* can be " -"omitted and defaults to 0, using the beginning of the file as the reference " -"point. ::" -msgstr "" -"Untuk mengubah posisi objek file, gunakan ``f.seek(offset, whence)``. Posisi" -" dihitung dari menambahkan *offset* ke titik referensi; titik referensi " -"dipilih oleh argumen *whence*. Nilai A *whence* dari 0 mengukur dari awal " -"berkas, 1 menggunakan posisi file saat ini, dan 2 menggunakan akhir file " -"sebagai titik referensi. *whence* dapat dihilangkan dan default ke 0, " -"menggunakan awal file sebagai titik referensi. ::" - -#: ../../tutorial/inputoutput.rst:462 -msgid "" -">>> f = open('workfile', 'rb+')\n" -">>> f.write(b'0123456789abcdef')\n" -"16\n" -">>> f.seek(5) # Go to the 6th byte in the file\n" -"5\n" -">>> f.read(1)\n" -"b'5'\n" -">>> f.seek(-3, 2) # Go to the 3rd byte before the end\n" -"13\n" -">>> f.read(1)\n" -"b'd'" -msgstr "" - -#: ../../tutorial/inputoutput.rst:474 -msgid "" -"In text files (those opened without a ``b`` in the mode string), only seeks " -"relative to the beginning of the file are allowed (the exception being " -"seeking to the very file end with ``seek(0, 2)``) and the only valid " -"*offset* values are those returned from the ``f.tell()``, or zero. Any other" -" *offset* value produces undefined behaviour." -msgstr "" -"Dalam file teks (yang dibuka tanpa ``b`` dalam mode string), hanya mencari " -"relatif ke awal file yang diizinkan (pengecualian sedang mencari sampai " -"akhir file dengan ``seek(0, 2)``) dan satu-satunya nilai *offset* yang valid" -" adalah yang dikembalikan dari ``f.tell()``, atau nol. Nilai *offset* " -"lainnya menghasilkan perilaku tidak terdefinisi." - -#: ../../tutorial/inputoutput.rst:480 -msgid "" -"File objects have some additional methods, such as :meth:`~io.IOBase.isatty`" -" and :meth:`~io.IOBase.truncate` which are less frequently used; consult the" -" Library Reference for a complete guide to file objects." -msgstr "" - -#: ../../tutorial/inputoutput.rst:488 -msgid "Saving structured data with :mod:`json`" -msgstr "Menyimpan data terstruktur dengan :mod:`json`" - -#: ../../tutorial/inputoutput.rst:492 -msgid "" -"Strings can easily be written to and read from a file. Numbers take a bit " -"more effort, since the :meth:`~io.TextIOBase.read` method only returns " -"strings, which will have to be passed to a function like :func:`int`, which " -"takes a string like ``'123'`` and returns its numeric value 123. When you " -"want to save more complex data types like nested lists and dictionaries, " -"parsing and serializing by hand becomes complicated." -msgstr "" - -#: ../../tutorial/inputoutput.rst:499 -msgid "" -"Rather than having users constantly writing and debugging code to save " -"complicated data types to files, Python allows you to use the popular data " -"interchange format called `JSON (JavaScript Object Notation) " -"`_. The standard module called :mod:`json` can take " -"Python data hierarchies, and convert them to string representations; this " -"process is called :dfn:`serializing`. Reconstructing the data from the " -"string representation is called :dfn:`deserializing`. Between serializing " -"and deserializing, the string representing the object may have been stored " -"in a file or data, or sent over a network connection to some distant " -"machine." -msgstr "" - -#: ../../tutorial/inputoutput.rst:510 -msgid "" -"The JSON format is commonly used by modern applications to allow for data " -"exchange. Many programmers are already familiar with it, which makes it a " -"good choice for interoperability." -msgstr "" -"Format JSON umumnya digunakan oleh aplikasi modern untuk memungkinkan " -"pertukaran data. Banyak programmer sudah terbiasa dengannya, yang membuatnya" -" menjadi pilihan yang baik untuk interoperabilitas." - -#: ../../tutorial/inputoutput.rst:514 -msgid "" -"If you have an object ``x``, you can view its JSON string representation " -"with a simple line of code::" -msgstr "" -"Jika Anda memiliki objek ``x``, Anda dapat melihat representasi string JSON " -"dengan baris kode sederhana::" - -#: ../../tutorial/inputoutput.rst:517 -msgid "" -">>> import json\n" -">>> x = [1, 'simple', 'list']\n" -">>> json.dumps(x)\n" -"'[1, \"simple\", \"list\"]'" -msgstr "" - -#: ../../tutorial/inputoutput.rst:522 -msgid "" -"Another variant of the :func:`~json.dumps` function, called " -":func:`~json.dump`, simply serializes the object to a :term:`text file`. So" -" if ``f`` is a :term:`text file` object opened for writing, we can do this::" -msgstr "" -"Varian lain dari fungsi :func:`~json.dumps`, disebut :func:`~json.dump`, " -"dengan mudah membuat serialisasi objek menjadi :term: `text file`. Jadi jika" -" ``f`` adalah objek :term:`text file` dibuka untuk menulis, kita dapat " -"melakukan ini::" - -#: ../../tutorial/inputoutput.rst:526 -msgid "json.dump(x, f)" -msgstr "" - -#: ../../tutorial/inputoutput.rst:528 -msgid "" -"To decode the object again, if ``f`` is a :term:`binary file` or :term:`text" -" file` object which has been opened for reading::" -msgstr "" - -#: ../../tutorial/inputoutput.rst:531 -msgid "x = json.load(f)" -msgstr "" - -#: ../../tutorial/inputoutput.rst:534 -msgid "" -"JSON files must be encoded in UTF-8. Use ``encoding=\"utf-8\"`` when opening" -" JSON file as a :term:`text file` for both of reading and writing." -msgstr "" - -#: ../../tutorial/inputoutput.rst:537 -msgid "" -"This simple serialization technique can handle lists and dictionaries, but " -"serializing arbitrary class instances in JSON requires a bit of extra " -"effort. The reference for the :mod:`json` module contains an explanation of " -"this." -msgstr "" -"Teknik serialisasi sederhana ini dapat menangani daftar *list* dan " -"*dictionary*, tetapi membuat serialisasi *instance* kelas yang berubah-ubah " -"*arbitrary* di JSON membutuhkan sedikit usaha ekstra. Referensi untuk modul " -":mod:`json` berisi penjelasan tentang ini." - -#: ../../tutorial/inputoutput.rst:543 -msgid ":mod:`pickle` - the pickle module" -msgstr ":mod:`Pickle` - modul *pickle*" - -#: ../../tutorial/inputoutput.rst:545 -msgid "" -"Contrary to :ref:`JSON `, *pickle* is a protocol which allows the " -"serialization of arbitrarily complex Python objects. As such, it is " -"specific to Python and cannot be used to communicate with applications " -"written in other languages. It is also insecure by default: deserializing " -"pickle data coming from an untrusted source can execute arbitrary code, if " -"the data was crafted by a skilled attacker." -msgstr "" -"Berlawanan dengan :ref:`JSON `, *pickle* adalah protokol yang " -"memungkinkan serialisasi objek Python yang semena-mena *arbitrarily* " -"kompleks. Dengan demikian, ini khusus untuk Python dan tidak dapat digunakan" -" untuk berkomunikasi dengan aplikasi yang ditulis dalam bahasa lain. Ini " -"juga tidak aman secara bawaan: *deserializing* *pickle* data yang berasal " -"dari sumber yang tidak dipercaya dapat mengeksekusi kode semena-mena " -"*arbitrary*, jika data dibuat oleh penyerang yang terampil." - -#: ../../tutorial/inputoutput.rst:103 -msgid "formatted string literal" -msgstr "" - -#: ../../tutorial/inputoutput.rst:103 -msgid "interpolated string literal" -msgstr "" - -#: ../../tutorial/inputoutput.rst:103 -msgid "string" -msgstr "string" - -#: ../../tutorial/inputoutput.rst:103 -msgid "formatted literal" -msgstr "" - -#: ../../tutorial/inputoutput.rst:103 -msgid "interpolated literal" -msgstr "" - -#: ../../tutorial/inputoutput.rst:103 -msgid "f-string" -msgstr "f-string" - -#: ../../tutorial/inputoutput.rst:103 -msgid "fstring" -msgstr "fstring" - -#: ../../tutorial/inputoutput.rst:308 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../tutorial/inputoutput.rst:308 -msgid "open" -msgstr "buka" - -#: ../../tutorial/inputoutput.rst:308 -msgid "object" -msgstr "objek" - -#: ../../tutorial/inputoutput.rst:308 -msgid "file" -msgstr "" - -#: ../../tutorial/inputoutput.rst:490 -msgid "module" -msgstr "modul" - -#: ../../tutorial/inputoutput.rst:490 -msgid "json" -msgstr "json" diff --git a/python-newest.tutorial--interactive/id.po b/python-newest.tutorial--interactive/id.po deleted file mode 100644 index 7af55ab..0000000 --- a/python-newest.tutorial--interactive/id.po +++ /dev/null @@ -1,87 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/interactive.rst:5 -msgid "Interactive Input Editing and History Substitution" -msgstr "Pengeditan Input Interaktif dan Penggantian Riwayat" - -#: ../../tutorial/interactive.rst:7 -msgid "" -"Some versions of the Python interpreter support editing of the current input" -" line and history substitution, similar to facilities found in the Korn " -"shell and the GNU Bash shell. This is implemented using the `GNU Readline`_" -" library, which supports various styles of editing. This library has its " -"own documentation which we won't duplicate here." -msgstr "" -"Beberapa versi interpreter Python mendukung pengeditan jalur input aktual " -"dan penggantian riwayat, mirip dengan fasilitas yang ditemukan di shell Korn" -" dan shell Bash GNU. Ini diimplementasikan menggunakan pustaka `GNU " -"Readline`_, yang mendukung berbagai gaya pengeditan. Pustaka ini memiliki " -"dokumentasi sendiri yang tidak akan kami duplikat di sini." - -#: ../../tutorial/interactive.rst:17 -msgid "Tab Completion and History Editing" -msgstr "Pelengkapan Tab dan Pengeditan Riwayat" - -#: ../../tutorial/interactive.rst:19 -msgid "" -"Completion of variable and module names is :ref:`automatically enabled " -"` at interpreter startup so that the :kbd:`Tab` key " -"invokes the completion function; it looks at Python statement names, the " -"current local variables, and the available module names. For dotted " -"expressions such as ``string.a``, it will evaluate the expression up to the " -"final ``'.'`` and then suggest completions from the attributes of the " -"resulting object. Note that this may execute application-defined code if an" -" object with a :meth:`~object.__getattr__` method is part of the expression." -" The default configuration also saves your history into a file named " -":file:`.python_history` in your user directory. The history will be " -"available again during the next interactive interpreter session." -msgstr "" - -#: ../../tutorial/interactive.rst:36 -msgid "Alternatives to the Interactive Interpreter" -msgstr "Alternatif untuk Interpreter Interaktif" - -#: ../../tutorial/interactive.rst:38 -msgid "" -"This facility is an enormous step forward compared to earlier versions of " -"the interpreter; however, some wishes are left: It would be nice if the " -"proper indentation were suggested on continuation lines (the parser knows if" -" an :data:`~token.INDENT` token is required next). The completion mechanism" -" might use the interpreter's symbol table. A command to check (or even " -"suggest) matching parentheses, quotes, etc., would also be useful." -msgstr "" - -#: ../../tutorial/interactive.rst:45 -msgid "" -"One alternative enhanced interactive interpreter that has been around for " -"quite some time is IPython_, which features tab completion, object " -"exploration and advanced history management. It can also be thoroughly " -"customized and embedded into other applications. Another similar enhanced " -"interactive environment is bpython_." -msgstr "" -"Salah satu alternatif interpreter interaktif canggih yang telah ada selama " -"beberapa waktu adalah IPython_, yang menampilkan pelengkapan tab, eksplorasi" -" objek, dan manajemen riwayat lanjut. Itu juga dapat sepenuhnya disesuaikan " -"dan tertanam ke dalam aplikasi lain. Lingkungan interaktif ditingkatkan " -"serupa lainnya adalah bpython_." diff --git a/python-newest.tutorial--interpreter/id.po b/python-newest.tutorial--interpreter/id.po deleted file mode 100644 index a2eab29..0000000 --- a/python-newest.tutorial--interpreter/id.po +++ /dev/null @@ -1,319 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2020 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/interpreter.rst:5 -msgid "Using the Python Interpreter" -msgstr "Menggunakan Interpreter Python" - -#: ../../tutorial/interpreter.rst:11 -msgid "Invoking the Interpreter" -msgstr "Memanggil Interpreter" - -#: ../../tutorial/interpreter.rst:13 -msgid "" -"The Python interpreter is usually installed as " -"|usr_local_bin_python_x_dot_y_literal| on those machines where it is " -"available; putting :file:`/usr/local/bin` in your Unix shell's search path " -"makes it possible to start it by typing the command:" -msgstr "" - -#: ../../tutorial/interpreter.rst:17 -msgid "python3.14" -msgstr "" - -#: ../../tutorial/interpreter.rst:21 -msgid "" -"to the shell. [#]_ Since the choice of the directory where the interpreter " -"lives is an installation option, other places are possible; check with your " -"local Python guru or system administrator. (E.g., :file:`/usr/local/python`" -" is a popular alternative location.)" -msgstr "" -"ke shell. [#]_ Karena pilihan direktori tempat interpreter berada adalah " -"opsi instalasi, bisa jadi di tempat lain; tanyakan kepada guru Python Anda " -"di sekitar atau administrator sistem. (Mis., :file:`/usr/local/python` " -"adalah lokasi alternatif yang populer.)" - -#: ../../tutorial/interpreter.rst:26 -msgid "" -"On Windows machines where you have installed Python from the :ref:`Microsoft" -" Store `, the |python_x_dot_y_literal| command will be " -"available. If you have the :ref:`py.exe launcher ` installed, you " -"can use the :file:`py` command. See :ref:`setting-envvars` for other ways to" -" launch Python." -msgstr "" - -#: ../../tutorial/interpreter.rst:31 -msgid "" -"Typing an end-of-file character (:kbd:`Control-D` on Unix, :kbd:`Control-Z` " -"on Windows) at the primary prompt causes the interpreter to exit with a zero" -" exit status. If that doesn't work, you can exit the interpreter by typing " -"the following command: ``quit()``." -msgstr "" -"Mengetik karakter akhir file (:kbd:`Control-D` pada Unix, :kbd:` Control-Z` " -"pada Windows) pada prompt utama menyebabkan interpreter keluar dengan status" -" keluar nol. Jika itu tidak berhasil, Anda dapat keluar dari interpreter " -"dengan mengetikkan perintah berikut: ``quit()``." - -#: ../../tutorial/interpreter.rst:36 -msgid "" -"The interpreter's line-editing features include interactive editing, history" -" substitution and code completion on systems that support the `GNU Readline " -"`_ library. Perhaps " -"the quickest check to see whether command line editing is supported is " -"typing :kbd:`Control-P` to the first Python prompt you get. If it beeps, " -"you have command line editing; see Appendix :ref:`tut-interacting` for an " -"introduction to the keys. If nothing appears to happen, or if ``^P`` is " -"echoed, command line editing isn't available; you'll only be able to use " -"backspace to remove characters from the current line." -msgstr "" -"Fitur pengeditan garis interpreter termasuk pengeditan interaktif, " -"penggantian riwayat dan penyelesaian kode pada sistem yang mendukung pustaka" -" `GNU Readline `_. " -"Mungkin pemeriksaan tercepat untuk melihat apakah pengeditan baris perintah " -"didukung dengan mengetik :kbd:`Control-P` ke prompt Python pertama yang Anda" -" dapatkan. Jika berbunyi bip, Anda memiliki pengeditan baris perintah; lihat" -" Lampiran :ref:`tut-interacting` untuk pengantar tombol. Jika tampaknya " -"tidak ada yang terjadi, atau jika muncul ``^P``, pengeditan baris perintah " -"tidak tersedia; Anda hanya akan dapat menggunakan backspace untuk menghapus " -"karakter dari baris saat ini." - -#: ../../tutorial/interpreter.rst:46 -msgid "" -"The interpreter operates somewhat like the Unix shell: when called with " -"standard input connected to a tty device, it reads and executes commands " -"interactively; when called with a file name argument or with a file as " -"standard input, it reads and executes a *script* from that file." -msgstr "" -"Interpreter beroperasi mirip seperti shell Unix: ketika dipanggil dengan " -"masukan bawaan yang terhubung ke perangkat tty, ia membaca dan mengeksekusi " -"perintah secara interaktif; ketika dipanggil dengan argumen nama berkas atau" -" dengan berkas sebagai masukan bawaan, ia membaca dan mengeksekusi *script* " -"dari berkas itu." - -#: ../../tutorial/interpreter.rst:51 -msgid "" -"A second way of starting the interpreter is ``python -c command [arg] ...``," -" which executes the statement(s) in *command*, analogous to the shell's " -":option:`-c` option. Since Python statements often contain spaces or other " -"characters that are special to the shell, it is usually advised to quote " -"*command* in its entirety." -msgstr "" - -#: ../../tutorial/interpreter.rst:57 -msgid "" -"Some Python modules are also useful as scripts. These can be invoked using " -"``python -m module [arg] ...``, which executes the source file for *module* " -"as if you had spelled out its full name on the command line." -msgstr "" -"Beberapa modul Python juga berguna sebagai skrip. Ini dapat dipanggil " -"menggunakan ``python -m module [arg] ...``, yang mengeksekusi berkas sumber " -"untuk *module* seolah-olah Anda telah menuliskan nama lengkapnya pada baris " -"perintah." - -#: ../../tutorial/interpreter.rst:61 -msgid "" -"When a script file is used, it is sometimes useful to be able to run the " -"script and enter interactive mode afterwards. This can be done by passing " -":option:`-i` before the script." -msgstr "" -"Ketika berkas skrip digunakan, terkadang berguna untuk dapat menjalankan " -"skrip dan masuk ke mode interaktif sesudahnya. Ini dapat dilakukan dengan " -"menuliskan :option:`-i` sebelum skrip." - -#: ../../tutorial/interpreter.rst:65 -msgid "All command line options are described in :ref:`using-on-general`." -msgstr "Semua opsi baris perintah dijelaskan dalam :ref:`using-on-general`." - -#: ../../tutorial/interpreter.rst:71 -msgid "Argument Passing" -msgstr "Melewatkan Argumen" - -#: ../../tutorial/interpreter.rst:73 -msgid "" -"When known to the interpreter, the script name and additional arguments " -"thereafter are turned into a list of strings and assigned to the ``argv`` " -"variable in the ``sys`` module. You can access this list by executing " -"``import sys``. The length of the list is at least one; when no script and " -"no arguments are given, ``sys.argv[0]`` is an empty string. When the script" -" name is given as ``'-'`` (meaning standard input), ``sys.argv[0]`` is set " -"to ``'-'``. When :option:`-c` *command* is used, ``sys.argv[0]`` is set to " -"``'-c'``. When :option:`-m` *module* is used, ``sys.argv[0]`` is set to " -"the full name of the located module. Options found after :option:`-c` " -"*command* or :option:`-m` *module* are not consumed by the Python " -"interpreter's option processing but left in ``sys.argv`` for the command or" -" module to handle." -msgstr "" -"Ketika diketahui oleh interpreter, nama skrip dan argumen tambahan " -"sesudahnya diubah menjadi daftar string dan diberikan nilai ke variabel " -"``argv`` dalam modul ``sys``. Anda dapat mengakses daftar ini dengan " -"menjalankan ``import sys``. Panjang daftar setidaknya satu; ketika tidak ada" -" skrip dan tidak ada argumen yang diberikan, ``sys.argv[0]`` adalah string " -"kosong. Ketika nama skrip diberikan sebagai ``'-'`` (artinya standar " -"masukan), ``sys.argv[0]`` diatur ke ``'-'``. Ketika *command* :option:`-c` " -"digunakan, ``sys.argv[0]`` diatur ke``'-c'``. Ketika *module* :option:`-m` " -"digunakan, ``sys.argv[0]`` diatur ke nama lengkap modul yang digunakan. Opsi" -" ditemukan setelah *command* :option:`-c` atau *module* :option:`-m` tidak " -"dikonsumsi oleh pemrosesan opsi interpreter Python tetapi ditinggalkan di " -"``sys.argv`` untuk perintah atau modul yang akan ditangani ." - -#: ../../tutorial/interpreter.rst:89 -msgid "Interactive Mode" -msgstr "Mode Interaktif" - -#: ../../tutorial/interpreter.rst:91 -msgid "" -"When commands are read from a tty, the interpreter is said to be in " -"*interactive mode*. In this mode it prompts for the next command with the " -"*primary prompt*, usually three greater-than signs (``>>>``); for " -"continuation lines it prompts with the *secondary prompt*, by default three " -"dots (``...``). The interpreter prints a welcome message stating its version" -" number and a copyright notice before printing the first prompt:" -msgstr "" -"Ketika perintah dibaca dari tty, interpreter dikatakan dalam *interactive " -"mode*. Dalam mode ini interpreter meminta perintah berikutnya dengan " -"*primary prompt*, biasanya tiga tanda lebih besar dari (``>>>``); untuk " -"garis lanjutan, interpreter meminta dengan *secondary prompt*, secara bawaan" -" tiga titik (``...``). Interpreter mencetak pesan selamat datang yang " -"menyatakan nomor versinya dan pemberitahuan hak cipta sebelum mencetak " -"prompt pertama:" - -#: ../../tutorial/interpreter.rst:98 -msgid "" -"$ python3.14\n" -"Python 3.14 (default, April 4 2024, 09:25:04)\n" -"[GCC 10.2.0] on linux\n" -"Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n" -">>>" -msgstr "" - -#: ../../tutorial/interpreter.rst:108 -msgid "" -"Continuation lines are needed when entering a multi-line construct. As an " -"example, take a look at this :keyword:`if` statement::" -msgstr "" -"Garis lanjutan diperlukan ketika memasuki konstruksi multi-garis. Sebagai " -"contoh, lihat ini pernyataan :keyword:`if`::" - -#: ../../tutorial/interpreter.rst:111 -msgid "" -">>> the_world_is_flat = True\n" -">>> if the_world_is_flat:\n" -"... print(\"Be careful not to fall off!\")\n" -"...\n" -"Be careful not to fall off!" -msgstr "" - -#: ../../tutorial/interpreter.rst:118 -msgid "For more on interactive mode, see :ref:`tut-interac`." -msgstr "Untuk lebih lanjut tentang mode interaktif, lihat :ref:`tut-interac`." - -#: ../../tutorial/interpreter.rst:124 -msgid "The Interpreter and Its Environment" -msgstr "Interpreter dan Lingkungannya" - -#: ../../tutorial/interpreter.rst:130 -msgid "Source Code Encoding" -msgstr "*Encoding* Penulisan Kode Sumber" - -#: ../../tutorial/interpreter.rst:132 -msgid "" -"By default, Python source files are treated as encoded in UTF-8. In that " -"encoding, characters of most languages in the world can be used " -"simultaneously in string literals, identifiers and comments --- although the" -" standard library only uses ASCII characters for identifiers, a convention " -"that any portable code should follow. To display all these characters " -"properly, your editor must recognize that the file is UTF-8, and it must use" -" a font that supports all the characters in the file." -msgstr "" -"Secara bawaan, berkas sumber Python diperlakukan sebagai tulisan *encoded* " -"dalam UTF-8. Dalam pengkodean itu, sebagian besar karakter bahasa di dunia " -"dapat digunakan secara bersamaan dalam string literal, pengidentifikasi dan " -"komentar --- meskipun pustaka standar hanya menggunakan karakter ASCII untuk" -" pengidentifikasi, sebuah konvensi yang harus diikuti oleh setiap kode " -"portabel. Untuk menampilkan semua karakter ini dengan benar, editor Anda " -"harus mengenali bahwa berkas tersebut adalah UTF-8, dan itu harus " -"menggunakan font yang mendukung semua karakter dalam berkas." - -#: ../../tutorial/interpreter.rst:140 -msgid "" -"To declare an encoding other than the default one, a special comment line " -"should be added as the *first* line of the file. The syntax is as follows::" -msgstr "" -"Untuk mendeklarasikan penyandian *encoding* selain yang bawaan, baris " -"komentar khusus harus ditambahkan sebagai baris *first* pada berkas. " -"Sintaksnya adalah sebagai berikut ::" - -#: ../../tutorial/interpreter.rst:143 -msgid "# -*- coding: encoding -*-" -msgstr "" - -#: ../../tutorial/interpreter.rst:145 -msgid "" -"where *encoding* is one of the valid :mod:`codecs` supported by Python." -msgstr "" -"di mana *encoding* adalah salah satu yang valid :mod:`codec` yang didukung " -"oleh Python." - -#: ../../tutorial/interpreter.rst:147 -msgid "" -"For example, to declare that Windows-1252 encoding is to be used, the first " -"line of your source code file should be::" -msgstr "" -"Misalnya, untuk menyatakan bahwa pengkodean *encoding* Windows-1252 harus " -"digunakan, baris pertama file kode sumber Anda harus::" - -#: ../../tutorial/interpreter.rst:150 -msgid "# -*- coding: cp1252 -*-" -msgstr "" - -#: ../../tutorial/interpreter.rst:152 -msgid "" -"One exception to the *first line* rule is when the source code starts with a" -" :ref:`UNIX \"shebang\" line `. In this case, the encoding " -"declaration should be added as the second line of the file. For example::" -msgstr "" -"Satu pengecualian untuk aturan *baris pertama* adalah ketika kode sumber " -"dimulai dengan :ref:`UNIX \"shebang\" line `. Dalam hal ini, " -"deklarasi penyandian *encoding* harus ditambahkan sebagai baris kedua pada " -"berkas. Sebagai contoh::" - -#: ../../tutorial/interpreter.rst:156 -msgid "" -"#!/usr/bin/env python3\n" -"# -*- coding: cp1252 -*-" -msgstr "" - -#: ../../tutorial/interpreter.rst:160 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../tutorial/interpreter.rst:161 -msgid "" -"On Unix, the Python 3.x interpreter is by default not installed with the " -"executable named ``python``, so that it does not conflict with a " -"simultaneously installed Python 2.x executable." -msgstr "" -"Pada Unix, interpreter Python 3.x secara default tidak diinstal sebagai " -"aplikasi yang dapat dieksekusi dengan nama ``python``, sehingga tidak " -"bertentangan dengan aplikasi Python 2.x yang diinstal secara bersamaan." diff --git a/python-newest.tutorial--introduction/id.po b/python-newest.tutorial--introduction/id.po deleted file mode 100644 index 235fbf5..0000000 --- a/python-newest.tutorial--introduction/id.po +++ /dev/null @@ -1,1048 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/introduction.rst:5 -msgid "An Informal Introduction to Python" -msgstr "Pengantar Informal Tentang Python" - -#: ../../tutorial/introduction.rst:7 -msgid "" -"In the following examples, input and output are distinguished by the " -"presence or absence of prompts (:term:`>>>` and :term:`...`): to repeat the " -"example, you must type everything after the prompt, when the prompt appears;" -" lines that do not begin with a prompt are output from the interpreter. Note" -" that a secondary prompt on a line by itself in an example means you must " -"type a blank line; this is used to end a multi-line command." -msgstr "" -"Dalam contoh berikut, masukan dan keluaran dibedakan dengan ada atau " -"tidaknya prompt (:term:`>>>` dan :term:`...`): untuk mengulangi contoh, Anda" -" harus mengetikkan semuanya setelah prompt, saat prompt muncul; baris yang " -"tidak dimulai dengan prompt adalah output dari interpreter. Perhatikan bahwa" -" baris yang hanya berisi prompt sekunder dalam contoh berarti Anda harus " -"mengetikkan baris kosong; ini digunakan untuk mengakhiri perintah multi-" -"baris." - -#: ../../tutorial/introduction.rst:16 -msgid "" -"You can toggle the display of prompts and output by clicking on ``>>>`` in " -"the upper-right corner of an example box. If you hide the prompts and " -"output for an example, then you can easily copy and paste the input lines " -"into your interpreter." -msgstr "" - -#: ../../tutorial/introduction.rst:23 -msgid "" -"Many of the examples in this manual, even those entered at the interactive " -"prompt, include comments. Comments in Python start with the hash character," -" ``#``, and extend to the end of the physical line. A comment may appear at" -" the start of a line or following whitespace or code, but not within a " -"string literal. A hash character within a string literal is just a hash " -"character. Since comments are to clarify code and are not interpreted by " -"Python, they may be omitted when typing in examples." -msgstr "" -"Banyak contoh dalam manual ini, bahkan yang dimasukkan pada prompt " -"interaktif, termasuk komentar. Komentar dalam Python dimulai dengan karakter" -" hash, ``#``, dan diperluas hingga akhir garis fisik. Sebuah komentar dapat " -"muncul di awal baris atau mengikuti spasi atau kode, tetapi tidak dalam " -"string literal. Karakter hash dalam string literal hanyalah karakter hash. " -"Karena komentar adalah untuk mengklarifikasi kode dan tidak ditafsirkan oleh" -" Python, mereka dapat dihilangkan saat mengetikkan contoh." - -#: ../../tutorial/introduction.rst:31 -msgid "Some examples::" -msgstr "Beberapa contoh::" - -#: ../../tutorial/introduction.rst:33 -msgid "" -"# this is the first comment\n" -"spam = 1 # and this is the second comment\n" -" # ... and now a third!\n" -"text = \"# This is not a comment because it's inside quotes.\"" -msgstr "" - -#: ../../tutorial/introduction.rst:42 -msgid "Using Python as a Calculator" -msgstr "Menggunakan Python sebagai Kalkulator" - -#: ../../tutorial/introduction.rst:44 -msgid "" -"Let's try some simple Python commands. Start the interpreter and wait for " -"the primary prompt, ``>>>``. (It shouldn't take long.)" -msgstr "" -"Mari kita coba beberapa perintah Python sederhana. Mulai interpreter dan " -"tunggu prompt utama, ``>>>``. (Seharusnya tidak butuh waktu lama.)" - -#: ../../tutorial/introduction.rst:51 -msgid "Numbers" -msgstr "Angka" - -#: ../../tutorial/introduction.rst:53 -msgid "" -"The interpreter acts as a simple calculator: you can type an expression at " -"it and it will write the value. Expression syntax is straightforward: the " -"operators ``+``, ``-``, ``*`` and ``/`` can be used to perform arithmetic; " -"parentheses (``()``) can be used for grouping. For example::" -msgstr "" - -#: ../../tutorial/introduction.rst:59 -msgid "" -">>> 2 + 2\n" -"4\n" -">>> 50 - 5*6\n" -"20\n" -">>> (50 - 5*6) / 4\n" -"5.0\n" -">>> 8 / 5 # division always returns a floating-point number\n" -"1.6" -msgstr "" - -#: ../../tutorial/introduction.rst:68 -msgid "" -"The integer numbers (e.g. ``2``, ``4``, ``20``) have type :class:`int`, the " -"ones with a fractional part (e.g. ``5.0``, ``1.6``) have type " -":class:`float`. We will see more about numeric types later in the tutorial." -msgstr "" -"Bilangan bulat (mis. ``2``, ``4``, ``20``) memiliki tipe :class:`int`, yang " -"memiliki bagian pecahan (mis.``5.0``,``1.6``) memiliki tipe :class:`float`. " -"Kita akan melihat lebih banyak tentang tipe bilangan nanti dalam tutorial." - -#: ../../tutorial/introduction.rst:72 -msgid "" -"Division (``/``) always returns a float. To do :term:`floor division` and " -"get an integer result you can use the ``//`` operator; to calculate the " -"remainder you can use ``%``::" -msgstr "" - -#: ../../tutorial/introduction.rst:76 -msgid "" -">>> 17 / 3 # classic division returns a float\n" -"5.666666666666667\n" -">>>\n" -">>> 17 // 3 # floor division discards the fractional part\n" -"5\n" -">>> 17 % 3 # the % operator returns the remainder of the division\n" -"2\n" -">>> 5 * 3 + 2 # floored quotient * divisor + remainder\n" -"17" -msgstr "" - -#: ../../tutorial/introduction.rst:86 -msgid "" -"With Python, it is possible to use the ``**`` operator to calculate powers " -"[#]_::" -msgstr "" -"Dengan Python, dimungkinkan untuk menggunakan operator ``**`` untuk " -"menghitung pemangkatan [#]_::" - -#: ../../tutorial/introduction.rst:88 -msgid "" -">>> 5 ** 2 # 5 squared\n" -"25\n" -">>> 2 ** 7 # 2 to the power of 7\n" -"128" -msgstr "" - -#: ../../tutorial/introduction.rst:93 -msgid "" -"The equal sign (``=``) is used to assign a value to a variable. Afterwards, " -"no result is displayed before the next interactive prompt::" -msgstr "" -"Tanda sama dengan (``=``) digunakan untuk memberikan nilai ke variabel. " -"Setelah itu, tidak ada hasil yang ditampilkan sebelum prompt interaktif " -"berikutnya::" - -#: ../../tutorial/introduction.rst:96 -msgid "" -">>> width = 20\n" -">>> height = 5 * 9\n" -">>> width * height\n" -"900" -msgstr "" - -#: ../../tutorial/introduction.rst:101 -msgid "" -"If a variable is not \"defined\" (assigned a value), trying to use it will " -"give you an error::" -msgstr "" -"Jika variabel tidak \"didefinisikan\" (diberi nilai), mencoba menggunakannya" -" akan menghasilkan kesalahan::" - -#: ../../tutorial/introduction.rst:104 -msgid "" -">>> n # try to access an undefined variable\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"NameError: name 'n' is not defined" -msgstr "" - -#: ../../tutorial/introduction.rst:109 -msgid "" -"There is full support for floating point; operators with mixed type operands" -" convert the integer operand to floating point::" -msgstr "" -"Ada dukungan penuh untuk floating point; operator dengan operan tipe " -"campuran akan mengubah operan integer ke floating point::" - -#: ../../tutorial/introduction.rst:112 -msgid "" -">>> 4 * 3.75 - 1\n" -"14.0" -msgstr "" - -#: ../../tutorial/introduction.rst:115 -msgid "" -"In interactive mode, the last printed expression is assigned to the variable" -" ``_``. This means that when you are using Python as a desk calculator, it " -"is somewhat easier to continue calculations, for example::" -msgstr "" -"Dalam mode interaktif, ekspresi cetak terakhir diberikan ke variabel ``_``. " -"Ini berarti bahwa ketika Anda menggunakan Python sebagai kalkulator meja, " -"agak lebih mudah untuk melanjutkan perhitungan, misalnya::" - -#: ../../tutorial/introduction.rst:119 -msgid "" -">>> tax = 12.5 / 100\n" -">>> price = 100.50\n" -">>> price * tax\n" -"12.5625\n" -">>> price + _\n" -"113.0625\n" -">>> round(_, 2)\n" -"113.06" -msgstr "" - -#: ../../tutorial/introduction.rst:128 -msgid "" -"This variable should be treated as read-only by the user. Don't explicitly " -"assign a value to it --- you would create an independent local variable with" -" the same name masking the built-in variable with its magic behavior." -msgstr "" -"Variabel ini harus diperlakukan sebagai baca-saja oleh pengguna. Jangan " -"secara eksplisit memberikan nilai padanya --- Anda akan membuat variabel " -"lokal independen dengan nama yang sama menutupi variabel bawaan dengan " -"perilaku saktinya." - -#: ../../tutorial/introduction.rst:132 -msgid "" -"In addition to :class:`int` and :class:`float`, Python supports other types " -"of numbers, such as :class:`~decimal.Decimal` and " -":class:`~fractions.Fraction`. Python also has built-in support for " -":ref:`complex numbers `, and uses the ``j`` or ``J`` suffix to" -" indicate the imaginary part (e.g. ``3+5j``)." -msgstr "" -"Selain :class:`int` dan :class:` float`, Python mendukung tipe angka " -"lainnya, seperti :class:`~decimal.Decimal` dan :class:`~fractions.Fraction`." -" Python juga memiliki dukungan bawaan untuk :ref:`complex numbers " -"`, dan menggunakan akhiran ``j`` atau ``J`` untuk menunjukkan " -"bagian imajiner (mis. ``3+5j``)." - -#: ../../tutorial/introduction.rst:142 -msgid "Text" -msgstr "" - -#: ../../tutorial/introduction.rst:144 -msgid "" -"Python can manipulate text (represented by type :class:`str`, so-called " -"\"strings\") as well as numbers. This includes characters \"``!``\", words " -"\"``rabbit``\", names \"``Paris``\", sentences \"``Got your back.``\", etc. " -"\"``Yay! :)``\". They can be enclosed in single quotes (``'...'``) or double" -" quotes (``\"...\"``) with the same result [#]_." -msgstr "" - -#: ../../tutorial/introduction.rst:150 -msgid "" -">>> 'spam eggs' # single quotes\n" -"'spam eggs'\n" -">>> \"Paris rabbit got your back :)! Yay!\" # double quotes\n" -"'Paris rabbit got your back :)! Yay!'\n" -">>> '1975' # digits and numerals enclosed in quotes are also strings\n" -"'1975'" -msgstr "" - -#: ../../tutorial/introduction.rst:159 -msgid "" -"To quote a quote, we need to \"escape\" it, by preceding it with ``\\``. " -"Alternatively, we can use the other type of quotation marks::" -msgstr "" - -#: ../../tutorial/introduction.rst:162 -msgid "" -">>> 'doesn\\'t' # use \\' to escape the single quote...\n" -"\"doesn't\"\n" -">>> \"doesn't\" # ...or use double quotes instead\n" -"\"doesn't\"\n" -">>> '\"Yes,\" they said.'\n" -"'\"Yes,\" they said.'\n" -">>> \"\\\"Yes,\\\" they said.\"\n" -"'\"Yes,\" they said.'\n" -">>> '\"Isn\\'t,\" they said.'\n" -"'\"Isn\\'t,\" they said.'" -msgstr "" - -#: ../../tutorial/introduction.rst:173 -msgid "" -"In the Python shell, the string definition and output string can look " -"different. The :func:`print` function produces a more readable output, by " -"omitting the enclosing quotes and by printing escaped and special " -"characters::" -msgstr "" - -#: ../../tutorial/introduction.rst:177 -msgid "" -">>> s = 'First line.\\nSecond line.' # \\n means newline\n" -">>> s # without print(), special characters are included in the string\n" -"'First line.\\nSecond line.'\n" -">>> print(s) # with print(), special characters are interpreted, so \\n produces new line\n" -"First line.\n" -"Second line." -msgstr "" - -#: ../../tutorial/introduction.rst:184 -msgid "" -"If you don't want characters prefaced by ``\\`` to be interpreted as special" -" characters, you can use *raw strings* by adding an ``r`` before the first " -"quote::" -msgstr "" -"Jika Anda tidak ingin karakter yang diawali dengan ``\\`` ditafsirkan " -"sebagai karakter khusus, Anda dapat menggunakan *raw strings* dengan " -"menambahkan ``r`` sebelum kutipan pertama::" - -#: ../../tutorial/introduction.rst:188 -msgid "" -">>> print('C:\\some\\name') # here \\n means newline!\n" -"C:\\some\n" -"ame\n" -">>> print(r'C:\\some\\name') # note the r before the quote\n" -"C:\\some\\name" -msgstr "" - -#: ../../tutorial/introduction.rst:194 -msgid "" -"There is one subtle aspect to raw strings: a raw string may not end in an " -"odd number of ``\\`` characters; see :ref:`the FAQ entry ` for more information and workarounds." -msgstr "" - -#: ../../tutorial/introduction.rst:199 -msgid "" -"String literals can span multiple lines. One way is using triple-quotes: " -"``\"\"\"...\"\"\"`` or ``'''...'''``. End-of-line characters are " -"automatically included in the string, but it's possible to prevent this by " -"adding a ``\\`` at the end of the line. In the following example, the " -"initial newline is not included::" -msgstr "" - -#: ../../tutorial/introduction.rst:205 -msgid "" -">>> print(\"\"\"\\\n" -"... Usage: thingy [OPTIONS]\n" -"... -h Display this usage message\n" -"... -H hostname Hostname to connect to\n" -"... \"\"\")\n" -"Usage: thingy [OPTIONS]\n" -" -h Display this usage message\n" -" -H hostname Hostname to connect to\n" -"\n" -">>>" -msgstr "" - -#: ../../tutorial/introduction.rst:216 -msgid "" -"Strings can be concatenated (glued together) with the ``+`` operator, and " -"repeated with ``*``::" -msgstr "" -"String dapat digabungkan (direkatkan) dengan operator ``+``, dan diulangi " -"dengan ``*``::" - -#: ../../tutorial/introduction.rst:219 -msgid "" -">>> # 3 times 'un', followed by 'ium'\n" -">>> 3 * 'un' + 'ium'\n" -"'unununium'" -msgstr "" - -#: ../../tutorial/introduction.rst:223 -msgid "" -"Two or more *string literals* (i.e. the ones enclosed between quotes) next " -"to each other are automatically concatenated. ::" -msgstr "" -"Dua atau lebih *string literals* (yaitu yang terlampir di antara tanda " -"kutip) di sebelah satu sama lain secara otomatis digabungkan. ::" - -#: ../../tutorial/introduction.rst:226 -msgid "" -">>> 'Py' 'thon'\n" -"'Python'" -msgstr "" - -#: ../../tutorial/introduction.rst:229 -msgid "" -"This feature is particularly useful when you want to break long strings::" -msgstr "Fitur ini sangat berguna ketika Anda ingin memecah string panjang::" - -#: ../../tutorial/introduction.rst:231 -msgid "" -">>> text = ('Put several strings within parentheses '\n" -"... 'to have them joined together.')\n" -">>> text\n" -"'Put several strings within parentheses to have them joined together.'" -msgstr "" - -#: ../../tutorial/introduction.rst:236 -msgid "" -"This only works with two literals though, not with variables or " -"expressions::" -msgstr "" -"Ini hanya bekerja dengan dua literal, tidak dengan variabel atau ekspresi::" - -#: ../../tutorial/introduction.rst:238 -msgid "" -">>> prefix = 'Py'\n" -">>> prefix 'thon' # can't concatenate a variable and a string literal\n" -" File \"\", line 1\n" -" prefix 'thon'\n" -" ^^^^^^\n" -"SyntaxError: invalid syntax\n" -">>> ('un' * 3) 'ium'\n" -" File \"\", line 1\n" -" ('un' * 3) 'ium'\n" -" ^^^^^\n" -"SyntaxError: invalid syntax" -msgstr "" - -#: ../../tutorial/introduction.rst:250 -msgid "" -"If you want to concatenate variables or a variable and a literal, use " -"``+``::" -msgstr "" -"Jika Anda ingin menggabungkan variabel atau variabel dan literal, gunakan " -"``+``::" - -#: ../../tutorial/introduction.rst:252 -msgid "" -">>> prefix + 'thon'\n" -"'Python'" -msgstr "" - -#: ../../tutorial/introduction.rst:255 -msgid "" -"Strings can be *indexed* (subscripted), with the first character having " -"index 0. There is no separate character type; a character is simply a string" -" of size one::" -msgstr "" -"String dapat diindeks atau *indexed* (disandikan), dengan karakter pertama " -"memiliki indeks 0. Tidak ada tipe karakter yang terpisah; sebuah karakter " -"hanyalah sebuah string berukuran satu::" - -#: ../../tutorial/introduction.rst:259 -msgid "" -">>> word = 'Python'\n" -">>> word[0] # character in position 0\n" -"'P'\n" -">>> word[5] # character in position 5\n" -"'n'" -msgstr "" - -#: ../../tutorial/introduction.rst:265 -msgid "" -"Indices may also be negative numbers, to start counting from the right::" -msgstr "" -"Indeks juga bisa berupa angka negatif, untuk mulai menghitung dari kanan::" - -#: ../../tutorial/introduction.rst:267 -msgid "" -">>> word[-1] # last character\n" -"'n'\n" -">>> word[-2] # second-last character\n" -"'o'\n" -">>> word[-6]\n" -"'P'" -msgstr "" - -#: ../../tutorial/introduction.rst:274 -msgid "Note that since -0 is the same as 0, negative indices start from -1." -msgstr "" -"Perhatikan bahwa karena -0 sama dengan 0, indeks negatif mulai dari -1." - -#: ../../tutorial/introduction.rst:276 -msgid "" -"In addition to indexing, *slicing* is also supported. While indexing is " -"used to obtain individual characters, *slicing* allows you to obtain a " -"substring::" -msgstr "" - -#: ../../tutorial/introduction.rst:279 -msgid "" -">>> word[0:2] # characters from position 0 (included) to 2 (excluded)\n" -"'Py'\n" -">>> word[2:5] # characters from position 2 (included) to 5 (excluded)\n" -"'tho'" -msgstr "" - -#: ../../tutorial/introduction.rst:284 -msgid "" -"Slice indices have useful defaults; an omitted first index defaults to zero," -" an omitted second index defaults to the size of the string being sliced. ::" -msgstr "" -"Indeks irisan memiliki nilai bawaan yang berguna; indeks pertama yang hilang" -" akan digantikan ke nilai nol, indeks kedua yang hilang akan digantikan ke " -"nilai ukuran atau panjang string yang diiris. ::" - -#: ../../tutorial/introduction.rst:287 -msgid "" -">>> word[:2] # character from the beginning to position 2 (excluded)\n" -"'Py'\n" -">>> word[4:] # characters from position 4 (included) to the end\n" -"'on'\n" -">>> word[-2:] # characters from the second-last (included) to the end\n" -"'on'" -msgstr "" - -#: ../../tutorial/introduction.rst:294 -msgid "" -"Note how the start is always included, and the end always excluded. This " -"makes sure that ``s[:i] + s[i:]`` is always equal to ``s``::" -msgstr "" -"Perhatikan bagaimana awal selalu disertakan, dan akhirnya selalu " -"dikecualikan. Ini memastikan bahwa ``s[:i] + s[i:]`` selalu sama dengan " -"``s``::" - -#: ../../tutorial/introduction.rst:297 -msgid "" -">>> word[:2] + word[2:]\n" -"'Python'\n" -">>> word[:4] + word[4:]\n" -"'Python'" -msgstr "" - -#: ../../tutorial/introduction.rst:302 -msgid "" -"One way to remember how slices work is to think of the indices as pointing " -"*between* characters, with the left edge of the first character numbered 0. " -"Then the right edge of the last character of a string of *n* characters has " -"index *n*, for example::" -msgstr "" -"Salah satu cara untuk mengingat bagaimana irisan bekerja adalah dengan " -"menganggap indeks sebagai menunjuk *between* karakter, dengan tepi kiri " -"karakter pertama bernomor 0. Kemudian tepi kanan karakter terakhir dari " -"string *n* karakter memiliki indeks *n*, misalnya::" - -#: ../../tutorial/introduction.rst:307 -msgid "" -" +---+---+---+---+---+---+\n" -" | P | y | t | h | o | n |\n" -" +---+---+---+---+---+---+\n" -" 0 1 2 3 4 5 6\n" -"-6 -5 -4 -3 -2 -1" -msgstr "" - -#: ../../tutorial/introduction.rst:313 -msgid "" -"The first row of numbers gives the position of the indices 0...6 in the " -"string; the second row gives the corresponding negative indices. The slice " -"from *i* to *j* consists of all characters between the edges labeled *i* and" -" *j*, respectively." -msgstr "" -"Baris pertama angka memberikan posisi indeks 0...6 dalam string; baris kedua" -" memberikan indeks negatif yang sesuai. Irisan dari *i* ke *j* terdiri dari " -"semua karakter di antara kedua sisi yang berlabel *i* dan *j*." - -#: ../../tutorial/introduction.rst:318 -msgid "" -"For non-negative indices, the length of a slice is the difference of the " -"indices, if both are within bounds. For example, the length of " -"``word[1:3]`` is 2." -msgstr "" -"Untuk indeks non-negatif, panjang irisan adalah selisih indeks, jika " -"keduanya berada dalam batas. Misalnya, panjang ``word[1:3]`` adalah 2." - -#: ../../tutorial/introduction.rst:322 -msgid "Attempting to use an index that is too large will result in an error::" -msgstr "" -"Mencoba menggunakan indeks yang terlalu besar akan menghasilkan kesalahan::" - -#: ../../tutorial/introduction.rst:324 -msgid "" -">>> word[42] # the word only has 6 characters\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"IndexError: string index out of range" -msgstr "" - -#: ../../tutorial/introduction.rst:329 -msgid "" -"However, out of range slice indexes are handled gracefully when used for " -"slicing::" -msgstr "" -"Namun, indeks irisan di luar jangkauan ditangani dengan anggun ketika " -"digunakan untuk mengiris::" - -#: ../../tutorial/introduction.rst:332 -msgid "" -">>> word[4:42]\n" -"'on'\n" -">>> word[42:]\n" -"''" -msgstr "" - -#: ../../tutorial/introduction.rst:337 -msgid "" -"Python strings cannot be changed --- they are :term:`immutable`. Therefore, " -"assigning to an indexed position in the string results in an error::" -msgstr "" -"String python tidak dapat diubah --- mereka adalah :term:`immutable`. Oleh " -"karena itu, menetapkan ke suatu indeks posisi dalam string menghasilkan " -"kesalahan::" - -#: ../../tutorial/introduction.rst:340 -msgid "" -">>> word[0] = 'J'\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: 'str' object does not support item assignment\n" -">>> word[2:] = 'py'\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: 'str' object does not support item assignment" -msgstr "" - -#: ../../tutorial/introduction.rst:349 -msgid "If you need a different string, you should create a new one::" -msgstr "" -"Jika Anda membutuhkan string yang berbeda, Anda harus membuat yang baru::" - -#: ../../tutorial/introduction.rst:351 -msgid "" -">>> 'J' + word[1:]\n" -"'Jython'\n" -">>> word[:2] + 'py'\n" -"'Pypy'" -msgstr "" - -#: ../../tutorial/introduction.rst:356 -msgid "The built-in function :func:`len` returns the length of a string::" -msgstr "Fungsi bawaan :func:`len` mengembalikan panjang string::" - -#: ../../tutorial/introduction.rst:358 -msgid "" -">>> s = 'supercalifragilisticexpialidocious'\n" -">>> len(s)\n" -"34" -msgstr "" - -#: ../../tutorial/introduction.rst:365 -msgid ":ref:`textseq`" -msgstr ":ref:`textseq`" - -#: ../../tutorial/introduction.rst:366 -msgid "" -"Strings are examples of *sequence types*, and support the common operations " -"supported by such types." -msgstr "" -"String adalah contoh *sequence types* atau jenis urutan, dan mendukung " -"operasi umum yang didukung oleh jenis tersebut." - -#: ../../tutorial/introduction.rst:369 -msgid ":ref:`string-methods`" -msgstr ":ref:`string-methods`" - -#: ../../tutorial/introduction.rst:370 -msgid "" -"Strings support a large number of methods for basic transformations and " -"searching." -msgstr "" -"String mendukung sejumlah besar metode untuk transformasi dasar dan " -"pencarian." - -#: ../../tutorial/introduction.rst:373 -msgid ":ref:`f-strings`" -msgstr ":ref:`f-strings`" - -#: ../../tutorial/introduction.rst:374 -msgid "String literals that have embedded expressions." -msgstr "String literal yang memiliki ekspresi yang tersemat." - -#: ../../tutorial/introduction.rst:376 -msgid ":ref:`formatstrings`" -msgstr ":ref:`formatstrings`" - -#: ../../tutorial/introduction.rst:377 -msgid "Information about string formatting with :meth:`str.format`." -msgstr "Informasi tentang pemformatan string dengan :meth:`str.format`." - -#: ../../tutorial/introduction.rst:379 -msgid ":ref:`old-string-formatting`" -msgstr ":ref:`old-string-formatting`" - -#: ../../tutorial/introduction.rst:380 -msgid "" -"The old formatting operations invoked when strings are the left operand of " -"the ``%`` operator are described in more detail here." -msgstr "" -"Operasi pemformatan lama dipanggil ketika string adalah operan kiri dari " -"operator ``%`` dijelaskan secara lebih rinci di sini." - -#: ../../tutorial/introduction.rst:387 -msgid "Lists" -msgstr "List" - -#: ../../tutorial/introduction.rst:389 -msgid "" -"Python knows a number of *compound* data types, used to group together other" -" values. The most versatile is the *list*, which can be written as a list " -"of comma-separated values (items) between square brackets. Lists might " -"contain items of different types, but usually the items all have the same " -"type. ::" -msgstr "" -"Python mengetahui sejumlah tipe data *compound* atau gabungan, yang " -"digunakan untuk mengelompokkan nilai-nilai lainnya. Yang paling serbaguna " -"adalah *list*, yang dapat ditulis sebagai daftar nilai yang dipisahkan koma " -"(*items*) antara tanda kurung siku. *List* atau daftar mungkin berisi " -"*items* dari tipe yang berbeda, tetapi biasanya semua *items* memiliki tipe " -"yang sama. ::" - -#: ../../tutorial/introduction.rst:394 -msgid "" -">>> squares = [1, 4, 9, 16, 25]\n" -">>> squares\n" -"[1, 4, 9, 16, 25]" -msgstr "" - -#: ../../tutorial/introduction.rst:398 -msgid "" -"Like strings (and all other built-in :term:`sequence` types), lists can be " -"indexed and sliced::" -msgstr "" -"Seperti string (dan semua bawaan lainnya tipe :term:`sequence`), list atau " -"daftar tersebut dapat diindeks dan diiris::" - -#: ../../tutorial/introduction.rst:401 -msgid "" -">>> squares[0] # indexing returns the item\n" -"1\n" -">>> squares[-1]\n" -"25\n" -">>> squares[-3:] # slicing returns a new list\n" -"[9, 16, 25]" -msgstr "" - -#: ../../tutorial/introduction.rst:408 -msgid "Lists also support operations like concatenation::" -msgstr "List atau daftar juga mendukung operasi seperti perangkaian::" - -#: ../../tutorial/introduction.rst:410 -msgid "" -">>> squares + [36, 49, 64, 81, 100]\n" -"[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]" -msgstr "" - -#: ../../tutorial/introduction.rst:413 -msgid "" -"Unlike strings, which are :term:`immutable`, lists are a :term:`mutable` " -"type, i.e. it is possible to change their content::" -msgstr "" -"Tidak seperti string, yang :term:`immutable`, list adalah :term:`mutable`, " -"mis. dimungkinkan untuk mengubah kontennya::" - -#: ../../tutorial/introduction.rst:416 -msgid "" -">>> cubes = [1, 8, 27, 65, 125] # something's wrong here\n" -">>> 4 ** 3 # the cube of 4 is 64, not 65!\n" -"64\n" -">>> cubes[3] = 64 # replace the wrong value\n" -">>> cubes\n" -"[1, 8, 27, 64, 125]" -msgstr "" - -#: ../../tutorial/introduction.rst:423 -msgid "" -"You can also add new items at the end of the list, by using the " -":meth:`!list.append` *method* (we will see more about methods later)::" -msgstr "" - -#: ../../tutorial/introduction.rst:426 -msgid "" -">>> cubes.append(216) # add the cube of 6\n" -">>> cubes.append(7 ** 3) # and the cube of 7\n" -">>> cubes\n" -"[1, 8, 27, 64, 125, 216, 343]" -msgstr "" - -#: ../../tutorial/introduction.rst:431 -msgid "" -"Simple assignment in Python never copies data. When you assign a list to a " -"variable, the variable refers to the *existing list*. Any changes you make " -"to the list through one variable will be seen through all other variables " -"that refer to it.::" -msgstr "" - -#: ../../tutorial/introduction.rst:436 -msgid "" -">>> rgb = [\"Red\", \"Green\", \"Blue\"]\n" -">>> rgba = rgb\n" -">>> id(rgb) == id(rgba) # they reference the same object\n" -"True\n" -">>> rgba.append(\"Alph\")\n" -">>> rgb\n" -"[\"Red\", \"Green\", \"Blue\", \"Alph\"]" -msgstr "" - -#: ../../tutorial/introduction.rst:444 -msgid "" -"All slice operations return a new list containing the requested elements. " -"This means that the following slice returns a :ref:`shallow copy " -"` of the list::" -msgstr "" -"Semua operasi iris mengembalikan list atau daftar baru yang berisi elemen " -"yang diminta. Ini berarti bahwa irisan berikut mengembalikan :ref:`shallow " -"copy ` dari list::" - -#: ../../tutorial/introduction.rst:448 -msgid "" -">>> correct_rgba = rgba[:]\n" -">>> correct_rgba[-1] = \"Alpha\"\n" -">>> correct_rgba\n" -"[\"Red\", \"Green\", \"Blue\", \"Alpha\"]\n" -">>> rgba\n" -"[\"Red\", \"Green\", \"Blue\", \"Alph\"]" -msgstr "" - -#: ../../tutorial/introduction.rst:455 -msgid "" -"Assignment to slices is also possible, and this can even change the size of " -"the list or clear it entirely::" -msgstr "" -"Pemberian nilai untuk irisan juga dimungkinkan, dan ini bahkan dapat " -"mengubah ukuran list atau menghapus seluruhnya::" - -#: ../../tutorial/introduction.rst:458 -msgid "" -">>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']\n" -">>> letters\n" -"['a', 'b', 'c', 'd', 'e', 'f', 'g']\n" -">>> # replace some values\n" -">>> letters[2:5] = ['C', 'D', 'E']\n" -">>> letters\n" -"['a', 'b', 'C', 'D', 'E', 'f', 'g']\n" -">>> # now remove them\n" -">>> letters[2:5] = []\n" -">>> letters\n" -"['a', 'b', 'f', 'g']\n" -">>> # clear the list by replacing all the elements with an empty list\n" -">>> letters[:] = []\n" -">>> letters\n" -"[]" -msgstr "" - -#: ../../tutorial/introduction.rst:474 -msgid "The built-in function :func:`len` also applies to lists::" -msgstr "Fungsi bawaan :func:`len` juga berlaku untuk list::" - -#: ../../tutorial/introduction.rst:476 -msgid "" -">>> letters = ['a', 'b', 'c', 'd']\n" -">>> len(letters)\n" -"4" -msgstr "" - -#: ../../tutorial/introduction.rst:480 -msgid "" -"It is possible to nest lists (create lists containing other lists), for " -"example::" -msgstr "" -"Dimungkinkan untuk membuat list atau daftar bersarang (membuat daftar yang " -"berisi daftar lain), misalnya::" - -#: ../../tutorial/introduction.rst:483 -msgid "" -">>> a = ['a', 'b', 'c']\n" -">>> n = [1, 2, 3]\n" -">>> x = [a, n]\n" -">>> x\n" -"[['a', 'b', 'c'], [1, 2, 3]]\n" -">>> x[0]\n" -"['a', 'b', 'c']\n" -">>> x[0][1]\n" -"'b'" -msgstr "" - -#: ../../tutorial/introduction.rst:496 -msgid "First Steps Towards Programming" -msgstr "Langkah Awal Menuju Pemrograman" - -#: ../../tutorial/introduction.rst:498 -msgid "" -"Of course, we can use Python for more complicated tasks than adding two and " -"two together. For instance, we can write an initial sub-sequence of the " -"`Fibonacci series `_ as " -"follows::" -msgstr "" - -#: ../../tutorial/introduction.rst:503 -msgid "" -">>> # Fibonacci series:\n" -">>> # the sum of two elements defines the next\n" -">>> a, b = 0, 1\n" -">>> while a < 10:\n" -"... print(a)\n" -"... a, b = b, a+b\n" -"...\n" -"0\n" -"1\n" -"1\n" -"2\n" -"3\n" -"5\n" -"8" -msgstr "" - -#: ../../tutorial/introduction.rst:518 -msgid "This example introduces several new features." -msgstr "Contoh ini memperkenalkan beberapa fitur baru." - -#: ../../tutorial/introduction.rst:520 -msgid "" -"The first line contains a *multiple assignment*: the variables ``a`` and " -"``b`` simultaneously get the new values 0 and 1. On the last line this is " -"used again, demonstrating that the expressions on the right-hand side are " -"all evaluated first before any of the assignments take place. The right-" -"hand side expressions are evaluated from the left to the right." -msgstr "" -"Baris pertama berisi *multiple assignment*: variabel ``a`` dan ``b`` secara " -"bersamaan mendapatkan nilai-nilai baru 0 dan 1. Pada baris terakhir ini " -"digunakan lagi, menunjukkan bahwa ekspresi di sisi sebelah kanan, semua " -"dievaluasi terlebih dahulu sebelum salah satu pemberian nilai berlangsung. " -"Ekspresi sisi kanan dievaluasi dari kiri ke kanan." - -#: ../../tutorial/introduction.rst:526 -msgid "" -"The :keyword:`while` loop executes as long as the condition (here: ``a < " -"10``) remains true. In Python, like in C, any non-zero integer value is " -"true; zero is false. The condition may also be a string or list value, in " -"fact any sequence; anything with a non-zero length is true, empty sequences " -"are false. The test used in the example is a simple comparison. The " -"standard comparison operators are written the same as in C: ``<`` (less " -"than), ``>`` (greater than), ``==`` (equal to), ``<=`` (less than or equal " -"to), ``>=`` (greater than or equal to) and ``!=`` (not equal to)." -msgstr "" -"Perulangan :keyword:`while` dieksekusi selama kondisi (di sini: ``a < 10``) " -"masih benar. Dalam Python, seperti dalam C, nilai integer bukan nol bernilai" -" benar; nol itu bernilai salah. Kondisi ini juga bisa berupa nilai string " -"atau daftar, sebenarnya urutan apa pun; apapun dengan panjang yang tidak nol" -" bernilai benar, urutan kosong bernilai salah. Tes yang digunakan dalam " -"contoh adalah perbandingan sederhana. Operator perbandingan standar ditulis " -"sama seperti dalam C: ``<`` (kurang dari), ``>`` (lebih besar dari), ``==`` " -"(sama dengan), ``<=`` ( kurang dari atau sama dengan), ``>=`` (lebih besar " -"atau sama dengan) dan ``!=`` (tidak sama dengan)." - -#: ../../tutorial/introduction.rst:535 -msgid "" -"The *body* of the loop is *indented*: indentation is Python's way of " -"grouping statements. At the interactive prompt, you have to type a tab or " -"space(s) for each indented line. In practice you will prepare more " -"complicated input for Python with a text editor; all decent text editors " -"have an auto-indent facility. When a compound statement is entered " -"interactively, it must be followed by a blank line to indicate completion " -"(since the parser cannot guess when you have typed the last line). Note " -"that each line within a basic block must be indented by the same amount." -msgstr "" -"*body* dari pengulangan adalah *indentasi*: indentasi adalah cara Python " -"untuk pengelompokan pernyataan. Pada prompt interaktif, Anda harus " -"mengetikkan tab atau spasi(-spasi) untuk setiap baris yang diberikan " -"indentasi. Dalam praktiknya Anda akan menyiapkan masukan yang lebih rumit " -"untuk Python dengan editor teks; semua editor teks yang baik memiliki " -"fasilitas indentasi otomatis. Ketika pernyataan majemuk dimasukkan secara " -"interaktif, harus diikuti oleh baris kosong untuk menunjukkan penyelesaian " -"(karena pengurai tidak dapat menebak kapan Anda mengetik baris terakhir). " -"Perhatikan bahwa setiap baris dalam blok dasar harus diindentasi dengan " -"jumlah yang sama." - -#: ../../tutorial/introduction.rst:544 -msgid "" -"The :func:`print` function writes the value of the argument(s) it is given. " -"It differs from just writing the expression you want to write (as we did " -"earlier in the calculator examples) in the way it handles multiple " -"arguments, floating-point quantities, and strings. Strings are printed " -"without quotes, and a space is inserted between items, so you can format " -"things nicely, like this::" -msgstr "" - -#: ../../tutorial/introduction.rst:551 -msgid "" -">>> i = 256*256\n" -">>> print('The value of i is', i)\n" -"The value of i is 65536" -msgstr "" - -#: ../../tutorial/introduction.rst:555 -msgid "" -"The keyword argument *end* can be used to avoid the newline after the " -"output, or end the output with a different string::" -msgstr "" -"Argumen kata kunci *end* dapat digunakan untuk menghindari baris baru " -"setelah keluaran, atau mengakhiri keluaran dengan string yang berbeda::" - -#: ../../tutorial/introduction.rst:558 -msgid "" -">>> a, b = 0, 1\n" -">>> while a < 1000:\n" -"... print(a, end=',')\n" -"... a, b = b, a+b\n" -"...\n" -"0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987," -msgstr "" - -#: ../../tutorial/introduction.rst:567 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../tutorial/introduction.rst:568 -msgid "" -"Since ``**`` has higher precedence than ``-``, ``-3**2`` will be interpreted" -" as ``-(3**2)`` and thus result in ``-9``. To avoid this and get ``9``, you" -" can use ``(-3)**2``." -msgstr "" -"Karena ``**`` memiliki prioritas lebih tinggi dari ``-``, ``-3**2`` akan " -"ditafsirkan sebagai ``-(3**2)`` dan karenanya menghasilkan ``-9``. Untuk " -"menghindari ini dan mendapatkan ``9``, Anda dapat menggunakan ``(-3)**2``." - -#: ../../tutorial/introduction.rst:572 -msgid "" -"Unlike other languages, special characters such as ``\\n`` have the same " -"meaning with both single (``'...'``) and double (``\"...\"``) quotes. The " -"only difference between the two is that within single quotes you don't need " -"to escape ``\"`` (but you have to escape ``\\'``) and vice versa." -msgstr "" -"Tidak seperti bahasa lain, karakter khusus seperti ``\\n`` memiliki arti " -"yang sama dengan kedua tanda kutip tunggal (``'...'``) dan ganda " -"(``\"...\"``). Satu-satunya perbedaan antara keduanya adalah bahwa dalam " -"tanda kutip tunggal Anda tidak perlu memisahkan ``\"`` (tetapi Anda harus " -"memisahkan ``\\'``) dan sebaliknya." - -#: ../../tutorial/introduction.rst:21 -msgid "# (hash)" -msgstr "" - -#: ../../tutorial/introduction.rst:21 -msgid "comment" -msgstr "" diff --git a/python-newest.tutorial--modules/id.po b/python-newest.tutorial--modules/id.po deleted file mode 100644 index 65c2598..0000000 --- a/python-newest.tutorial--modules/id.po +++ /dev/null @@ -1,1090 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2023 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: oon arfiandwi , 2023\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/modules.rst:5 -msgid "Modules" -msgstr "Modul-Modul" - -#: ../../tutorial/modules.rst:7 -msgid "" -"If you quit from the Python interpreter and enter it again, the definitions " -"you have made (functions and variables) are lost. Therefore, if you want to " -"write a somewhat longer program, you are better off using a text editor to " -"prepare the input for the interpreter and running it with that file as input" -" instead. This is known as creating a *script*. As your program gets " -"longer, you may want to split it into several files for easier maintenance." -" You may also want to use a handy function that you've written in several " -"programs without copying its definition into each program." -msgstr "" -"Jika Anda berhenti dari *interpreter* Python dan memasukkannya lagi, " -"definisi yang Anda buat (fungsi dan variabel) akan hilang. Karena itu, jika " -"Anda ingin menulis program yang agak lebih panjang, Anda lebih baik " -"menggunakan editor teks untuk menyiapkan input bagi penerjemah dan " -"menjalankannya dengan file itu sebagai input. Ini dikenal sebagai membuat " -"*script*. Saat program Anda menjadi lebih panjang, Anda mungkin ingin " -"membaginya menjadi beberapa file untuk pengelolaan yang lebih mudah. Anda " -"mungkin juga ingin menggunakan fungsi praktis yang Anda tulis di beberapa " -"program tanpa menyalin definisi ke setiap program." - -#: ../../tutorial/modules.rst:16 -msgid "" -"To support this, Python has a way to put definitions in a file and use them " -"in a script or in an interactive instance of the interpreter. Such a file is" -" called a *module*; definitions from a module can be *imported* into other " -"modules or into the *main* module (the collection of variables that you have" -" access to in a script executed at the top level and in calculator mode)." -msgstr "" -"Untuk mendukung ini, Python memiliki cara untuk meletakkan definisi dalam " -"file dan menggunakannya dalam skrip atau dalam contoh interaktif dari " -"*interpreter*. File seperti itu disebut *module*; definisi dari modul dapat " -"*imported* ke modul lain atau ke modul *main* (kumpulan variabel yang Anda " -"memiliki akses ke dalam skrip yang dieksekusi di tingkat atas dan dalam mode" -" kalkulator)." - -#: ../../tutorial/modules.rst:22 -msgid "" -"A module is a file containing Python definitions and statements. The file " -"name is the module name with the suffix :file:`.py` appended. Within a " -"module, the module's name (as a string) is available as the value of the " -"global variable ``__name__``. For instance, use your favorite text editor " -"to create a file called :file:`fibo.py` in the current directory with the " -"following contents::" -msgstr "" -"Modul adalah file yang berisi definisi dan pernyataan Python. Nama berkas " -"adalah nama modul dengan akhiran :file:`.py` diakhirnya. Dalam sebuah modul," -" nama modul (sebagai string) tersedia sebagai nilai variabel global " -"``__name__``. Misalnya, gunakan editor teks favorit Anda untuk membuat " -"bernama bernama :file:`fibo.py` di direktori saat ini dengan konten berikut " -"::" - -#: ../../tutorial/modules.rst:28 -msgid "" -"# Fibonacci numbers module\n" -"\n" -"def fib(n): # write Fibonacci series up to n\n" -" a, b = 0, 1\n" -" while a < n:\n" -" print(a, end=' ')\n" -" a, b = b, a+b\n" -" print()\n" -"\n" -"def fib2(n): # return Fibonacci series up to n\n" -" result = []\n" -" a, b = 0, 1\n" -" while a < n:\n" -" result.append(a)\n" -" a, b = b, a+b\n" -" return result" -msgstr "" - -#: ../../tutorial/modules.rst:45 -msgid "" -"Now enter the Python interpreter and import this module with the following " -"command::" -msgstr "" -"Sekarang masukkan interpreter Python dan impor modul ini dengan perintah " -"berikut::" - -#: ../../tutorial/modules.rst:48 -msgid ">>> import fibo" -msgstr "" - -#: ../../tutorial/modules.rst:50 -msgid "" -"This does not add the names of the functions defined in ``fibo`` directly " -"to the current :term:`namespace` (see :ref:`tut-scopes` for more details); " -"it only adds the module name ``fibo`` there. Using the module name you can " -"access the functions::" -msgstr "" - -#: ../../tutorial/modules.rst:55 -msgid "" -">>> fibo.fib(1000)\n" -"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987\n" -">>> fibo.fib2(100)\n" -"[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]\n" -">>> fibo.__name__\n" -"'fibo'" -msgstr "" - -#: ../../tutorial/modules.rst:62 -msgid "" -"If you intend to use a function often you can assign it to a local name::" -msgstr "" -"Jika Anda sering ingin menggunakan suatu fungsi, Anda dapat menetapkannya ke" -" nama lokal::" - -#: ../../tutorial/modules.rst:64 -msgid "" -">>> fib = fibo.fib\n" -">>> fib(500)\n" -"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377" -msgstr "" - -#: ../../tutorial/modules.rst:72 -msgid "More on Modules" -msgstr "Lebih lanjut tentang Modul" - -#: ../../tutorial/modules.rst:74 -msgid "" -"A module can contain executable statements as well as function definitions. " -"These statements are intended to initialize the module. They are executed " -"only the *first* time the module name is encountered in an import statement." -" [#]_ (They are also run if the file is executed as a script.)" -msgstr "" -"Modul dapat berisi pernyataan yang dapat dieksekusi serta definisi fungsi. " -"Pernyataan ini dimaksudkan untuk menginisialisasi modul. Mereka dieksekusi " -"hanya *first* kali nama modul ditemui dalam pernyataan impor. [#]_ (Mereka " -"juga dijalankan jika file dieksekusi sebagai skrip.)" - -#: ../../tutorial/modules.rst:79 -msgid "" -"Each module has its own private namespace, which is used as the global " -"namespace by all functions defined in the module. Thus, the author of a " -"module can use global variables in the module without worrying about " -"accidental clashes with a user's global variables. On the other hand, if you" -" know what you are doing you can touch a module's global variables with the " -"same notation used to refer to its functions, ``modname.itemname``." -msgstr "" - -#: ../../tutorial/modules.rst:86 -msgid "" -"Modules can import other modules. It is customary but not required to place" -" all :keyword:`import` statements at the beginning of a module (or script, " -"for that matter). The imported module names, if placed at the top level of " -"a module (outside any functions or classes), are added to the module's " -"global namespace." -msgstr "" - -#: ../../tutorial/modules.rst:91 -msgid "" -"There is a variant of the :keyword:`import` statement that imports names " -"from a module directly into the importing module's namespace. For example::" -msgstr "" - -#: ../../tutorial/modules.rst:94 -msgid "" -">>> from fibo import fib, fib2\n" -">>> fib(500)\n" -"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377" -msgstr "" - -#: ../../tutorial/modules.rst:98 -msgid "" -"This does not introduce the module name from which the imports are taken in " -"the local namespace (so in the example, ``fibo`` is not defined)." -msgstr "" - -#: ../../tutorial/modules.rst:101 -msgid "There is even a variant to import all names that a module defines::" -msgstr "" -"Bahkan ada varian untuk mengimpor semua nama yang didefinisikan oleh modul::" - -#: ../../tutorial/modules.rst:103 -msgid "" -">>> from fibo import *\n" -">>> fib(500)\n" -"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377" -msgstr "" - -#: ../../tutorial/modules.rst:107 -msgid "" -"This imports all names except those beginning with an underscore (``_``). In" -" most cases Python programmers do not use this facility since it introduces " -"an unknown set of names into the interpreter, possibly hiding some things " -"you have already defined." -msgstr "" -"Ini mengimpor semua nama kecuali yang dimulai dengan garis bawah (``_``). " -"Dalam kebanyakan kasus, programmer Python tidak menggunakan fasilitas ini " -"karena ia memperkenalkan sekumpulan nama yang tidak diketahui ke dalam " -"*interpreter*, mungkin menyembunyikan beberapa hal yang sudah Anda " -"definisikan." - -#: ../../tutorial/modules.rst:112 -msgid "" -"Note that in general the practice of importing ``*`` from a module or " -"package is frowned upon, since it often causes poorly readable code. " -"However, it is okay to use it to save typing in interactive sessions." -msgstr "" -"Perhatikan bahwa secara umum praktik mengimpor ``*`` dari modul atau paket " -"tidak disukai, karena sering menyebabkan kode yang kurang dapat dibaca. " -"Namun, boleh saja menggunakannya untuk menghemat pengetikan di sesi " -"interaktif." - -#: ../../tutorial/modules.rst:116 -msgid "" -"If the module name is followed by :keyword:`!as`, then the name following " -":keyword:`!as` is bound directly to the imported module." -msgstr "" -"Jika nama modul diikuti oleh :keyword:`!as`, maka nama setelah " -":keyword:`!as` terikat langsung ke modul yang diimpor." - -#: ../../tutorial/modules.rst:121 -msgid "" -">>> import fibo as fib\n" -">>> fib.fib(500)\n" -"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377" -msgstr "" - -#: ../../tutorial/modules.rst:125 -msgid "" -"This is effectively importing the module in the same way that ``import " -"fibo`` will do, with the only difference of it being available as ``fib``." -msgstr "" -"Ini secara efektif mengimpor modul dengan cara yang sama dengan ``import " -"fibo`` akan dilakukan, dengan satu-satunya perbedaan adalah sebagai ``fib``." - -#: ../../tutorial/modules.rst:128 -msgid "" -"It can also be used when utilising :keyword:`from` with similar effects::" -msgstr "" -"Itu juga dapat digunakan ketika menggunakan :keyword:`from` dengan efek yang" -" sama::" - -#: ../../tutorial/modules.rst:130 -msgid "" -">>> from fibo import fib as fibonacci\n" -">>> fibonacci(500)\n" -"0 1 1 2 3 5 8 13 21 34 55 89 144 233 377" -msgstr "" - -#: ../../tutorial/modules.rst:137 -msgid "" -"For efficiency reasons, each module is only imported once per interpreter " -"session. Therefore, if you change your modules, you must restart the " -"interpreter -- or, if it's just one module you want to test interactively, " -"use :func:`importlib.reload`, e.g. ``import importlib; " -"importlib.reload(modulename)``." -msgstr "" -"Untuk alasan efisiensi, setiap modul hanya diimpor satu kali per sesi " -"*interpreter*. Karenanya, jika Anda mengubah modul, Anda harus memulai ulang" -" *interpreter* -- atau, jika hanya satu modul yang ingin Anda uji secara " -"interaktif, gunakan :func:`importlib.reload`, mis. ``import importlib; " -"importlib.reload(modulename)``." - -#: ../../tutorial/modules.rst:147 -msgid "Executing modules as scripts" -msgstr "Mengoperasikan modul sebagai skrip" - -#: ../../tutorial/modules.rst:149 -msgid "When you run a Python module with ::" -msgstr "Ketika Anda mengoperasikan modul Python dengan ::" - -#: ../../tutorial/modules.rst:151 -msgid "python fibo.py " -msgstr "" - -#: ../../tutorial/modules.rst:153 -msgid "" -"the code in the module will be executed, just as if you imported it, but " -"with the ``__name__`` set to ``\"__main__\"``. That means that by adding " -"this code at the end of your module::" -msgstr "" -"kode dalam modul akan dieksekusi, sama seperti jika Anda mengimpornya, " -"tetapi dengan ``__name__`` diatur ke ``\"__main__\"``. Itu berarti bahwa " -"dengan menambahkan kode ini di akhir modul Anda ::" - -#: ../../tutorial/modules.rst:157 -msgid "" -"if __name__ == \"__main__\":\n" -" import sys\n" -" fib(int(sys.argv[1]))" -msgstr "" - -#: ../../tutorial/modules.rst:161 -msgid "" -"you can make the file usable as a script as well as an importable module, " -"because the code that parses the command line only runs if the module is " -"executed as the \"main\" file:" -msgstr "" -"Anda dapat membuat berkas dapat digunakan sebagai skrip dan juga modul yang " -"dapat diimpor, karena kode yang mengurai *parsing* baris perintah hanya " -"beroperasi jika modul dieksekusi sebagai berkas \"main\":" - -#: ../../tutorial/modules.rst:165 -msgid "" -"$ python fibo.py 50\n" -"0 1 1 2 3 5 8 13 21 34" -msgstr "" - -#: ../../tutorial/modules.rst:170 -msgid "If the module is imported, the code is not run::" -msgstr "Jika modul diimpor, kode ini tidak dioperasikan ::" - -#: ../../tutorial/modules.rst:172 -msgid "" -">>> import fibo\n" -">>>" -msgstr "" - -#: ../../tutorial/modules.rst:175 -msgid "" -"This is often used either to provide a convenient user interface to a " -"module, or for testing purposes (running the module as a script executes a " -"test suite)." -msgstr "" -"Ini sering digunakan baik untuk menyediakan antarmuka pengguna yang nyaman " -"ke modul, atau untuk tujuan pengujian (menjalankan modul sebagai skrip " -"mengeksekusi rangkaian pengujian)." - -#: ../../tutorial/modules.rst:182 -msgid "The Module Search Path" -msgstr "Jalur Pencarian Modul" - -#: ../../tutorial/modules.rst:186 -msgid "" -"When a module named :mod:`!spam` is imported, the interpreter first searches" -" for a built-in module with that name. These module names are listed in " -":data:`sys.builtin_module_names`. If not found, it then searches for a file " -"named :file:`spam.py` in a list of directories given by the variable " -":data:`sys.path`. :data:`sys.path` is initialized from these locations:" -msgstr "" - -#: ../../tutorial/modules.rst:192 -msgid "" -"The directory containing the input script (or the current directory when no " -"file is specified)." -msgstr "" -"Direktori yang berisi skrip masukan (atau direktori saat ini ketika tidak " -"ada file ditentukan)." - -#: ../../tutorial/modules.rst:194 -msgid "" -":envvar:`PYTHONPATH` (a list of directory names, with the same syntax as the" -" shell variable :envvar:`PATH`)." -msgstr "" -":envvar:`PYTHONPATH` (daftar nama direktori, dengan sintaksis yang sama " -"dengan variabel shell :envvar:`PATH`)." - -#: ../../tutorial/modules.rst:196 -msgid "" -"The installation-dependent default (by convention including a ``site-" -"packages`` directory, handled by the :mod:`site` module)." -msgstr "" - -#: ../../tutorial/modules.rst:199 -msgid "More details are at :ref:`sys-path-init`." -msgstr "" - -#: ../../tutorial/modules.rst:202 -msgid "" -"On file systems which support symlinks, the directory containing the input " -"script is calculated after the symlink is followed. In other words the " -"directory containing the symlink is **not** added to the module search path." -msgstr "" -"Pada sistem file yang mendukung symlink, direktori yang berisi skrip masukan" -" dihitung setelah symlink diikuti. Dengan kata lain direktori yang berisi " -"symlink **not** ditambahkan ke jalur pencarian modul." - -#: ../../tutorial/modules.rst:206 -msgid "" -"After initialization, Python programs can modify :data:`sys.path`. The " -"directory containing the script being run is placed at the beginning of the " -"search path, ahead of the standard library path. This means that scripts in " -"that directory will be loaded instead of modules of the same name in the " -"library directory. This is an error unless the replacement is intended. See" -" section :ref:`tut-standardmodules` for more information." -msgstr "" -"Setelah inisialisasi, program Python dapat memodifikasi: data :`sys.path`. " -"Direktori yang berisi skrip yang dijalankan ditempatkan di awal jalur " -"pencarian, di depan jalur pustaka standar. Ini berarti bahwa skrip dalam " -"direktori itu akan dimuat bukan modul dengan nama yang sama di direktori " -"pustaka. Ini adalah kesalahan kecuali penggantian memang diharapkan. Lihat " -"bagian :ref:`tut-standardmodules` untuk informasi lebih lanjut." - -#: ../../tutorial/modules.rst:219 -msgid "\"Compiled\" Python files" -msgstr "Berkas Python \"Compiled\"" - -#: ../../tutorial/modules.rst:221 -msgid "" -"To speed up loading modules, Python caches the compiled version of each " -"module in the ``__pycache__`` directory under the name " -":file:`module.{version}.pyc`, where the version encodes the format of the " -"compiled file; it generally contains the Python version number. For " -"example, in CPython release 3.3 the compiled version of spam.py would be " -"cached as ``__pycache__/spam.cpython-33.pyc``. This naming convention " -"allows compiled modules from different releases and different versions of " -"Python to coexist." -msgstr "" -"Untuk mempercepat memuat modul, Python menyimpan *cache* versi terkompilasi " -"dari setiap modul di direktori ``__pycache__`` dengan nama :file:`module. " -"{version}.pyc`, di mana versi menyandikan format berkas terkompilasi; " -"umumnya berisi nomor versi Python. Misalnya, dalam rilis CPython 3.3 versi " -"yang dikompilasi dari spam.py akan di-*cache* sebagai " -"``__pycache__/spam.cpython-33.pyc``. Konvensi penamaan ini memungkinkan " -"modul yang dikompilasi dari rilis yang beragam dan versi Python yang berbeda" -" untuk hidup berdampingan." - -#: ../../tutorial/modules.rst:229 -msgid "" -"Python checks the modification date of the source against the compiled " -"version to see if it's out of date and needs to be recompiled. This is a " -"completely automatic process. Also, the compiled modules are platform-" -"independent, so the same library can be shared among systems with different " -"architectures." -msgstr "" -"Python memeriksa tanggal modifikasi sumber terhadap versi yang dikompilasi " -"untuk melihat apakah itu kedaluwarsa dan perlu dikompilasi ulang. Ini adalah" -" proses yang sepenuhnya otomatis. Juga, modul yang dikompilasi adalah " -"platform-independen, sehingga perpustakaan yang sama dapat dibagi di antara " -"sistem dengan arsitektur yang berbeda." - -#: ../../tutorial/modules.rst:234 -msgid "" -"Python does not check the cache in two circumstances. First, it always " -"recompiles and does not store the result for the module that's loaded " -"directly from the command line. Second, it does not check the cache if " -"there is no source module. To support a non-source (compiled only) " -"distribution, the compiled module must be in the source directory, and there" -" must not be a source module." -msgstr "" -"Python tidak memeriksa *cache* dalam dua keadaan. Pertama, selalu " -"mengkompilasi ulang dan tidak menyimpan hasil untuk modul yang dimuat " -"langsung dari baris perintah. Kedua, itu tidak memeriksa *cache* jika tidak " -"ada modul sumber. Untuk mendukung distribusi non-sumber (dikompilasi saja), " -"modul yang dikompilasi harus ada di direktori sumber, dan tidak boleh ada " -"modul sumber." - -#: ../../tutorial/modules.rst:241 -msgid "Some tips for experts:" -msgstr "Beberapa tips untuk para ahli:" - -#: ../../tutorial/modules.rst:243 -msgid "" -"You can use the :option:`-O` or :option:`-OO` switches on the Python command" -" to reduce the size of a compiled module. The ``-O`` switch removes assert " -"statements, the ``-OO`` switch removes both assert statements and __doc__ " -"strings. Since some programs may rely on having these available, you should" -" only use this option if you know what you're doing. \"Optimized\" modules " -"have an ``opt-`` tag and are usually smaller. Future releases may change " -"the effects of optimization." -msgstr "" -"Anda dapat menggunakan :option:`-O` atau :option:`-OO` mengaktifkan perintah" -" Python untuk mengurangi ukuran modul yang dikompilasi. Saklar ``-O`` " -"menghapus pernyataan tegas *assert*, saklar ``-OO`` menghapus pernyataan " -"tegas *assert* dan string __doc__. Karena beberapa program bergantung pada " -"ketersediaannya, Anda hanya boleh menggunakan opsi ini jika Anda tahu apa " -"yang Anda lakukan. Modul \"Optimized\" memiliki tag ``opt-`` dan biasanya " -"lebih kecil. Rilis di masa depan dapat mengubah efek pengoptimalan." - -#: ../../tutorial/modules.rst:251 -msgid "" -"A program doesn't run any faster when it is read from a ``.pyc`` file than " -"when it is read from a ``.py`` file; the only thing that's faster about " -"``.pyc`` files is the speed with which they are loaded." -msgstr "" -"Suatu program tidak berjalan lebih cepat ketika itu dibaca dari file " -"``.pyc`` daripada ketika itu dibaca dari file ``.py``; satu-satunya hal yang" -" lebih cepat tentang berkas ``.pyc`` adalah kecepatan memuatnya." - -#: ../../tutorial/modules.rst:255 -msgid "" -"The module :mod:`compileall` can create .pyc files for all modules in a " -"directory." -msgstr "" -"Modul :mod:`compileall` dapat membuat berkas .pyc untuk semua modul dalam " -"direktori." - -#: ../../tutorial/modules.rst:258 -msgid "" -"There is more detail on this process, including a flow chart of the " -"decisions, in :pep:`3147`." -msgstr "" -"Ada detail lebih lanjut tentang proses ini, termasuk bagan alur keputusan, " -"di :pep:`3147`." - -#: ../../tutorial/modules.rst:265 -msgid "Standard Modules" -msgstr "Modul Standar" - -#: ../../tutorial/modules.rst:269 -msgid "" -"Python comes with a library of standard modules, described in a separate " -"document, the Python Library Reference (\"Library Reference\" hereafter). " -"Some modules are built into the interpreter; these provide access to " -"operations that are not part of the core of the language but are " -"nevertheless built in, either for efficiency or to provide access to " -"operating system primitives such as system calls. The set of such modules " -"is a configuration option which also depends on the underlying platform. " -"For example, the :mod:`winreg` module is only provided on Windows systems. " -"One particular module deserves some attention: :mod:`sys`, which is built " -"into every Python interpreter. The variables ``sys.ps1`` and ``sys.ps2`` " -"define the strings used as primary and secondary prompts::" -msgstr "" -"Python dilengkapi dengan pustaka modul standar, yang dijelaskan dalam " -"dokumen terpisah, Referensi Pustaka Python (\"Library Reference\" " -"selanjutnya). Beberapa modul dibangun ke dalam interpreter; ini menyediakan " -"akses ke operasi yang bukan bagian dari inti bahasa tetapi tetap dibangun, " -"baik untuk efisiensi atau untuk menyediakan akses ke sistem operasi primitif" -" seperti pemanggilan sistem. Himpunan modul tersebut adalah opsi konfigurasi" -" yang juga tergantung pada platform yang mendasarinya. Sebagai contoh, modul" -" :mod:`winreg` hanya disediakan pada sistem Windows. Satu modul tertentu " -"patut mendapat perhatian: :mod:`sys`, yang dibangun ke dalam setiap " -"interpreter Python. Variabel ``sys.ps1`` dan ``sys.ps2`` menentukan string " -"yang digunakan sebagai prompt primer dan sekunder ::" - -#: ../../tutorial/modules.rst:281 -msgid "" -">>> import sys\n" -">>> sys.ps1\n" -"'>>> '\n" -">>> sys.ps2\n" -"'... '\n" -">>> sys.ps1 = 'C> '\n" -"C> print('Yuck!')\n" -"Yuck!\n" -"C>" -msgstr "" - -#: ../../tutorial/modules.rst:292 -msgid "" -"These two variables are only defined if the interpreter is in interactive " -"mode." -msgstr "" -"Kedua variabel ini hanya ditentukan jika interpreter dalam mode interaktif." - -#: ../../tutorial/modules.rst:294 -msgid "" -"The variable ``sys.path`` is a list of strings that determines the " -"interpreter's search path for modules. It is initialized to a default path " -"taken from the environment variable :envvar:`PYTHONPATH`, or from a built-in" -" default if :envvar:`PYTHONPATH` is not set. You can modify it using " -"standard list operations::" -msgstr "" -"Variabel ``sys.path`` adalah daftar string yang menentukan jalur pencarian " -"*interpreter* untuk modul. Ini diinisialisasi ke jalur default yang diambil " -"dari variabel lingkungan :envvar:`PYTHONPATH`, atau dari bawaan bawaan jika " -":envvar:`PYTHONPATH` tidak disetel. Anda dapat memodifikasinya menggunakan " -"operasi standar untuk *list*::" - -#: ../../tutorial/modules.rst:300 -msgid "" -">>> import sys\n" -">>> sys.path.append('/ufs/guido/lib/python')" -msgstr "" - -#: ../../tutorial/modules.rst:307 -msgid "The :func:`dir` Function" -msgstr "Fungsi :func:`dir`" - -#: ../../tutorial/modules.rst:309 -msgid "" -"The built-in function :func:`dir` is used to find out which names a module " -"defines. It returns a sorted list of strings::" -msgstr "" -"Fungsi bawaan :func:`dir` digunakan untuk mencari tahu nama-nama yang " -"ditentukan oleh modul. Ia mengembalikan *list* string yang diurutkan::" - -#: ../../tutorial/modules.rst:312 -msgid "" -">>> import fibo, sys\n" -">>> dir(fibo)\n" -"['__name__', 'fib', 'fib2']\n" -">>> dir(sys)\n" -"['__breakpointhook__', '__displayhook__', '__doc__', '__excepthook__',\n" -" '__interactivehook__', '__loader__', '__name__', '__package__', '__spec__',\n" -" '__stderr__', '__stdin__', '__stdout__', '__unraisablehook__',\n" -" '_clear_type_cache', '_current_frames', '_debugmallocstats', '_framework',\n" -" '_getframe', '_git', '_home', '_xoptions', 'abiflags', 'addaudithook',\n" -" 'api_version', 'argv', 'audit', 'base_exec_prefix', 'base_prefix',\n" -" 'breakpointhook', 'builtin_module_names', 'byteorder', 'call_tracing',\n" -" 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_info',\n" -" 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info',\n" -" 'float_repr_style', 'get_asyncgen_hooks', 'get_coroutine_origin_tracking_depth',\n" -" 'getallocatedblocks', 'getdefaultencoding', 'getdlopenflags',\n" -" 'getfilesystemencodeerrors', 'getfilesystemencoding', 'getprofile',\n" -" 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval',\n" -" 'gettrace', 'hash_info', 'hexversion', 'implementation', 'int_info',\n" -" 'intern', 'is_finalizing', 'last_traceback', 'last_type', 'last_value',\n" -" 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks',\n" -" 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'pycache_prefix',\n" -" 'set_asyncgen_hooks', 'set_coroutine_origin_tracking_depth', 'setdlopenflags',\n" -" 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', 'stderr',\n" -" 'stdin', 'stdout', 'thread_info', 'unraisablehook', 'version', 'version_info',\n" -" 'warnoptions']" -msgstr "" - -#: ../../tutorial/modules.rst:338 -msgid "" -"Without arguments, :func:`dir` lists the names you have defined currently::" -msgstr "" -"Tanpa argumen, :func:`dir` mencantumkan nama yang telah Anda tentukan saat " -"ini::" - -#: ../../tutorial/modules.rst:340 -msgid "" -">>> a = [1, 2, 3, 4, 5]\n" -">>> import fibo\n" -">>> fib = fibo.fib\n" -">>> dir()\n" -"['__builtins__', '__name__', 'a', 'fib', 'fibo', 'sys']" -msgstr "" - -#: ../../tutorial/modules.rst:346 -msgid "" -"Note that it lists all types of names: variables, modules, functions, etc." -msgstr "" -"Perhatikan bahwa ini mencantumkan semua jenis nama: variabel, modul, fungsi," -" dll." - -#: ../../tutorial/modules.rst:350 -msgid "" -":func:`dir` does not list the names of built-in functions and variables. If" -" you want a list of those, they are defined in the standard module " -":mod:`builtins`::" -msgstr "" -":func:`dir` tidak mencantumkan nama fungsi dan variabel bawaan. Jika Anda " -"ingin daftar itu, mereka didefinisikan dalam modul standar :mod:`builtins`::" - -#: ../../tutorial/modules.rst:354 -msgid "" -">>> import builtins\n" -">>> dir(builtins)\n" -"['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException',\n" -" 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning',\n" -" 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError',\n" -" 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning',\n" -" 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False',\n" -" 'FileExistsError', 'FileNotFoundError', 'FloatingPointError',\n" -" 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError',\n" -" 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError',\n" -" 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError',\n" -" 'MemoryError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented',\n" -" 'NotImplementedError', 'OSError', 'OverflowError',\n" -" 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError',\n" -" 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning',\n" -" 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError',\n" -" 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError',\n" -" 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError',\n" -" 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning',\n" -" 'ValueError', 'Warning', 'ZeroDivisionError', '_', '__build_class__',\n" -" '__debug__', '__doc__', '__import__', '__name__', '__package__', 'abs',\n" -" 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes', 'callable',\n" -" 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits',\n" -" 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit',\n" -" 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr',\n" -" 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass',\n" -" 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview',\n" -" 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property',\n" -" 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice',\n" -" 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars',\n" -" 'zip']" -msgstr "" - -#: ../../tutorial/modules.rst:389 -msgid "Packages" -msgstr "Paket" - -#: ../../tutorial/modules.rst:391 -msgid "" -"Packages are a way of structuring Python's module namespace by using " -"\"dotted module names\". For example, the module name :mod:`!A.B` " -"designates a submodule named ``B`` in a package named ``A``. Just like the " -"use of modules saves the authors of different modules from having to worry " -"about each other's global variable names, the use of dotted module names " -"saves the authors of multi-module packages like NumPy or Pillow from having " -"to worry about each other's module names." -msgstr "" - -#: ../../tutorial/modules.rst:399 -msgid "" -"Suppose you want to design a collection of modules (a \"package\") for the " -"uniform handling of sound files and sound data. There are many different " -"sound file formats (usually recognized by their extension, for example: " -":file:`.wav`, :file:`.aiff`, :file:`.au`), so you may need to create and " -"maintain a growing collection of modules for the conversion between the " -"various file formats. There are also many different operations you might " -"want to perform on sound data (such as mixing, adding echo, applying an " -"equalizer function, creating an artificial stereo effect), so in addition " -"you will be writing a never-ending stream of modules to perform these " -"operations. Here's a possible structure for your package (expressed in " -"terms of a hierarchical filesystem):" -msgstr "" -"Misalkan Anda ingin merancang koleksi modul (\"paket\") untuk penanganan " -"berkas suara dan data suara yang seragam. Ada banyak format berkas suara " -"yang berbeda (biasanya dikenali oleh ekstensi mereka, misalnya: " -":file:`.wav`, :file:`.aiff`, :file:`.au`), jadi Anda mungkin perlu membuat " -"dan memelihara koleksi modul yang terus bertambah untuk konversi antara " -"berbagai format file. Ada juga banyak operasi berbeda yang mungkin ingin " -"Anda lakukan pada data suara (seperti mencampur, menambahkan gema, " -"menerapkan fungsi equalizer, menciptakan efek stereo buatan), jadi selain " -"itu Anda akan menulis aliran modul tanpa henti untuk melakukan operasi ini. " -"Berikut adalah struktur yang mungkin untuk paket Anda (dinyatakan dalam " -"hierarki sistem file):" - -#: ../../tutorial/modules.rst:410 -msgid "" -"sound/ Top-level package\n" -" __init__.py Initialize the sound package\n" -" formats/ Subpackage for file format conversions\n" -" __init__.py\n" -" wavread.py\n" -" wavwrite.py\n" -" aiffread.py\n" -" aiffwrite.py\n" -" auread.py\n" -" auwrite.py\n" -" ...\n" -" effects/ Subpackage for sound effects\n" -" __init__.py\n" -" echo.py\n" -" surround.py\n" -" reverse.py\n" -" ...\n" -" filters/ Subpackage for filters\n" -" __init__.py\n" -" equalizer.py\n" -" vocoder.py\n" -" karaoke.py\n" -" ..." -msgstr "" - -#: ../../tutorial/modules.rst:436 -msgid "" -"When importing the package, Python searches through the directories on " -"``sys.path`` looking for the package subdirectory." -msgstr "" -"Saat mengimpor paket, Python mencari melalui direktori pada ``sys.path`` " -"mencari subdirektori paket." - -#: ../../tutorial/modules.rst:439 -msgid "" -"The :file:`__init__.py` files are required to make Python treat directories " -"containing the file as packages (unless using a :term:`namespace package`, a" -" relatively advanced feature). This prevents directories with a common name," -" such as ``string``, from unintentionally hiding valid modules that occur " -"later on the module search path. In the simplest case, :file:`__init__.py` " -"can just be an empty file, but it can also execute initialization code for " -"the package or set the ``__all__`` variable, described later." -msgstr "" - -#: ../../tutorial/modules.rst:447 -msgid "" -"Users of the package can import individual modules from the package, for " -"example::" -msgstr "" -"Pengguna paket dapat mengimpor modul individual dari paket, misalnya::" - -#: ../../tutorial/modules.rst:450 -msgid "import sound.effects.echo" -msgstr "" - -#: ../../tutorial/modules.rst:452 -msgid "" -"This loads the submodule :mod:`!sound.effects.echo`. It must be referenced " -"with its full name. ::" -msgstr "" - -#: ../../tutorial/modules.rst:455 -msgid "sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)" -msgstr "" - -#: ../../tutorial/modules.rst:457 -msgid "An alternative way of importing the submodule is::" -msgstr "Cara alternatif mengimpor submodule adalah::" - -#: ../../tutorial/modules.rst:459 -msgid "from sound.effects import echo" -msgstr "" - -#: ../../tutorial/modules.rst:461 -msgid "" -"This also loads the submodule :mod:`!echo`, and makes it available without " -"its package prefix, so it can be used as follows::" -msgstr "" - -#: ../../tutorial/modules.rst:464 -msgid "echo.echofilter(input, output, delay=0.7, atten=4)" -msgstr "" - -#: ../../tutorial/modules.rst:466 -msgid "" -"Yet another variation is to import the desired function or variable " -"directly::" -msgstr "" -"Namun variasi lain adalah mengimpor fungsi atau variabel yang diinginkan " -"secara langsung::" - -#: ../../tutorial/modules.rst:468 -msgid "from sound.effects.echo import echofilter" -msgstr "" - -#: ../../tutorial/modules.rst:470 -msgid "" -"Again, this loads the submodule :mod:`!echo`, but this makes its function " -":func:`!echofilter` directly available::" -msgstr "" - -#: ../../tutorial/modules.rst:473 -msgid "echofilter(input, output, delay=0.7, atten=4)" -msgstr "" - -#: ../../tutorial/modules.rst:475 -msgid "" -"Note that when using ``from package import item``, the item can be either a " -"submodule (or subpackage) of the package, or some other name defined in the" -" package, like a function, class or variable. The ``import`` statement " -"first tests whether the item is defined in the package; if not, it assumes " -"it is a module and attempts to load it. If it fails to find it, an " -":exc:`ImportError` exception is raised." -msgstr "" -"Perhatikan bahwa ketika menggunakan ``from package import item``, item " -"tersebut dapat berupa submodul (atau subpaket) dari paket, atau beberapa " -"nama lain yang ditentukan dalam paket, seperti fungsi, kelas atau variabel. " -"Pernyataan ``import`` pertama menguji apakah item tersebut didefinisikan " -"dalam paket; jika tidak, ini dianggap sebagai modul dan mencoba memuatnya. " -"Jika gagal menemukannya, pengecualian :exc:`ImportError` dimunculkan." - -#: ../../tutorial/modules.rst:482 -msgid "" -"Contrarily, when using syntax like ``import item.subitem.subsubitem``, each " -"item except for the last must be a package; the last item can be a module or" -" a package but can't be a class or function or variable defined in the " -"previous item." -msgstr "" -"Sebaliknya, ketika menggunakan sintaksis seperti ``import " -"item.subitem.subsubitem``, setiap item kecuali yang terakhir harus berupa " -"paket; item terakhir dapat berupa modul atau paket tetapi tidak bisa berupa " -"kelas atau fungsi atau variabel yang didefinisikan dalam item sebelumnya." - -#: ../../tutorial/modules.rst:491 -msgid "Importing \\* From a Package" -msgstr "Mengimpor \\* Dari Paket" - -#: ../../tutorial/modules.rst:495 -msgid "" -"Now what happens when the user writes ``from sound.effects import *``? " -"Ideally, one would hope that this somehow goes out to the filesystem, finds " -"which submodules are present in the package, and imports them all. This " -"could take a long time and importing sub-modules might have unwanted side-" -"effects that should only happen when the sub-module is explicitly imported." -msgstr "" -"Sekarang apa yang terjadi ketika pengguna menulis ``from sound.effects " -"import *``? Idealnya, orang akan berharap bahwa ini entah bagaimana keluar " -"ke sistem file, menemukan submodul mana yang ada dalam paket, dan mengimpor " -"semuanya. Ini bisa memakan waktu lama dan mengimpor submodul mungkin " -"memiliki efek samping yang tidak diinginkan yang seharusnya hanya terjadi " -"ketika submodul diimpor secara eksplisit." - -#: ../../tutorial/modules.rst:501 -msgid "" -"The only solution is for the package author to provide an explicit index of " -"the package. The :keyword:`import` statement uses the following convention:" -" if a package's :file:`__init__.py` code defines a list named ``__all__``, " -"it is taken to be the list of module names that should be imported when " -"``from package import *`` is encountered. It is up to the package author to" -" keep this list up-to-date when a new version of the package is released. " -"Package authors may also decide not to support it, if they don't see a use " -"for importing \\* from their package. For example, the file " -":file:`sound/effects/__init__.py` could contain the following code::" -msgstr "" -"Satu-satunya solusi adalah bagi pembuat paket untuk memberikan indeks paket " -"secara eksplisit. Pernyataan :keyword:`import` menggunakan konvensi berikut:" -" jika suatu paket punya kode :file:`__init __.py` yang mendefinisikan daftar" -" bernama ``__all__``, itu diambil sebagai daftar nama modul yang harus " -"diimpor ketika ``from package import *`` ditemukan. Terserah pembuat paket " -"untuk tetap memperbarui daftar ini ketika versi baru dari paket dirilis. " -"Pembuat paket juga dapat memutuskan untuk tidak mendukungnya, jika mereka " -"tidak melihat penggunaan untuk mengimpor \\* dari paket mereka. Sebagai " -"contoh, berkas :file:`sound/effects/__init__.py` dapat berisi kode berikut::" - -#: ../../tutorial/modules.rst:511 -msgid "__all__ = [\"echo\", \"surround\", \"reverse\"]" -msgstr "" - -#: ../../tutorial/modules.rst:513 -msgid "" -"This would mean that ``from sound.effects import *`` would import the three " -"named submodules of the :mod:`!sound.effects` package." -msgstr "" - -#: ../../tutorial/modules.rst:516 -msgid "" -"Be aware that submodules might become shadowed by locally defined names. For" -" example, if you added a ``reverse`` function to the " -":file:`sound/effects/__init__.py` file, the ``from sound.effects import *`` " -"would only import the two submodules ``echo`` and ``surround``, but *not* " -"the ``reverse`` submodule, because it is shadowed by the locally defined " -"``reverse`` function::" -msgstr "" - -#: ../../tutorial/modules.rst:523 -msgid "" -"__all__ = [\n" -" \"echo\", # refers to the 'echo.py' file\n" -" \"surround\", # refers to the 'surround.py' file\n" -" \"reverse\", # !!! refers to the 'reverse' function now !!!\n" -"]\n" -"\n" -"def reverse(msg: str): # <-- this name shadows the 'reverse.py' submodule\n" -" return msg[::-1] # in the case of a 'from sound.effects import *'" -msgstr "" - -#: ../../tutorial/modules.rst:532 -msgid "" -"If ``__all__`` is not defined, the statement ``from sound.effects import *``" -" does *not* import all submodules from the package :mod:`!sound.effects` " -"into the current namespace; it only ensures that the package " -":mod:`!sound.effects` has been imported (possibly running any initialization" -" code in :file:`__init__.py`) and then imports whatever names are defined in" -" the package. This includes any names defined (and submodules explicitly " -"loaded) by :file:`__init__.py`. It also includes any submodules of the " -"package that were explicitly loaded by previous :keyword:`import` " -"statements. Consider this code::" -msgstr "" - -#: ../../tutorial/modules.rst:541 -msgid "" -"import sound.effects.echo\n" -"import sound.effects.surround\n" -"from sound.effects import *" -msgstr "" - -#: ../../tutorial/modules.rst:545 -msgid "" -"In this example, the :mod:`!echo` and :mod:`!surround` modules are imported " -"in the current namespace because they are defined in the " -":mod:`!sound.effects` package when the ``from...import`` statement is " -"executed. (This also works when ``__all__`` is defined.)" -msgstr "" - -#: ../../tutorial/modules.rst:550 -msgid "" -"Although certain modules are designed to export only names that follow " -"certain patterns when you use ``import *``, it is still considered bad " -"practice in production code." -msgstr "" -"Meskipun modul-modul tertentu dirancang hanya untuk mengekspor nama-nama " -"yang mengikuti pola tertentu ketika Anda menggunakan ``import *``, itu masih" -" dianggap praktik buruk dalam lingkungan kode produksi *production*." - -#: ../../tutorial/modules.rst:554 -msgid "" -"Remember, there is nothing wrong with using ``from package import " -"specific_submodule``! In fact, this is the recommended notation unless the " -"importing module needs to use submodules with the same name from different " -"packages." -msgstr "" -"Ingat, tidak ada yang salah dengan menggunakan ``from package import " -"specific_submodule``! Sebenarnya, ini adalah notasi yang disarankan kecuali " -"modul impor perlu menggunakan submodul dengan nama yang sama dari paket yang" -" berbeda." - -#: ../../tutorial/modules.rst:563 -msgid "Intra-package References" -msgstr "Referensi Intra-paket" - -#: ../../tutorial/modules.rst:565 -msgid "" -"When packages are structured into subpackages (as with the :mod:`!sound` " -"package in the example), you can use absolute imports to refer to submodules" -" of siblings packages. For example, if the module " -":mod:`!sound.filters.vocoder` needs to use the :mod:`!echo` module in the " -":mod:`!sound.effects` package, it can use ``from sound.effects import " -"echo``." -msgstr "" - -#: ../../tutorial/modules.rst:571 -msgid "" -"You can also write relative imports, with the ``from module import name`` " -"form of import statement. These imports use leading dots to indicate the " -"current and parent packages involved in the relative import. From the " -":mod:`!surround` module for example, you might use::" -msgstr "" - -#: ../../tutorial/modules.rst:576 -msgid "" -"from . import echo\n" -"from .. import formats\n" -"from ..filters import equalizer" -msgstr "" - -#: ../../tutorial/modules.rst:580 -msgid "" -"Note that relative imports are based on the name of the current module. " -"Since the name of the main module is always ``\"__main__\"``, modules " -"intended for use as the main module of a Python application must always use " -"absolute imports." -msgstr "" -"Perhatikan bahwa impor relatif didasarkan pada nama modul saat ini. Karena " -"nama modul utama selalu ``\"__main__\"``, modul yang dimaksudkan untuk " -"digunakan sebagai modul utama aplikasi Python harus selalu menggunakan impor" -" absolut." - -#: ../../tutorial/modules.rst:586 -msgid "Packages in Multiple Directories" -msgstr "Paket di Beberapa Direktori" - -#: ../../tutorial/modules.rst:588 -msgid "" -"Packages support one more special attribute, :attr:`~module.__path__`. This" -" is initialized to be a :term:`sequence` of strings containing the name of " -"the directory holding the package's :file:`__init__.py` before the code in " -"that file is executed. This variable can be modified; doing so affects " -"future searches for modules and subpackages contained in the package." -msgstr "" - -#: ../../tutorial/modules.rst:595 -msgid "" -"While this feature is not often needed, it can be used to extend the set of " -"modules found in a package." -msgstr "" -"Meskipun fitur ini tidak sering dibutuhkan, fitur ini dapat digunakan untuk " -"memperluas rangkaian modul yang ditemukan dalam suatu paket." - -#: ../../tutorial/modules.rst:600 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../tutorial/modules.rst:601 -msgid "" -"In fact function definitions are also 'statements' that are 'executed'; the " -"execution of a module-level function definition adds the function name to " -"the module's global namespace." -msgstr "" - -#: ../../tutorial/modules.rst:184 ../../tutorial/modules.rst:267 -#: ../../tutorial/modules.rst:348 -msgid "module" -msgstr "modul" - -#: ../../tutorial/modules.rst:184 -msgid "search" -msgstr "" - -#: ../../tutorial/modules.rst:184 -msgid "path" -msgstr "" - -#: ../../tutorial/modules.rst:267 -msgid "sys" -msgstr "sys" - -#: ../../tutorial/modules.rst:348 -msgid "builtins" -msgstr "builtins" - -#: ../../tutorial/modules.rst:493 -msgid "__all__" -msgstr "" diff --git a/python-newest.tutorial--stdlib/id.po b/python-newest.tutorial--stdlib/id.po deleted file mode 100644 index 4c66deb..0000000 --- a/python-newest.tutorial--stdlib/id.po +++ /dev/null @@ -1,604 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# LIQRGV , 2021 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/stdlib.rst:5 -msgid "Brief Tour of the Standard Library" -msgstr "Tur Singkat Pustaka Standar" - -#: ../../tutorial/stdlib.rst:11 -msgid "Operating System Interface" -msgstr "Antarmuka Sistem Operasi" - -#: ../../tutorial/stdlib.rst:13 -msgid "" -"The :mod:`os` module provides dozens of functions for interacting with the " -"operating system::" -msgstr "" -"Modul :mod:`os` menyediakan puluhan fungsi untuk berinteraksi dengan sistem " -"operasi::" - -#: ../../tutorial/stdlib.rst:16 -msgid "" -">>> import os\n" -">>> os.getcwd() # Return the current working directory\n" -"'C:\\\\Python314'\n" -">>> os.chdir('/server/accesslogs') # Change current working directory\n" -">>> os.system('mkdir today') # Run the command mkdir in the system shell\n" -"0" -msgstr "" - -#: ../../tutorial/stdlib.rst:23 -msgid "" -"Be sure to use the ``import os`` style instead of ``from os import *``. " -"This will keep :func:`os.open` from shadowing the built-in :func:`open` " -"function which operates much differently." -msgstr "" -"Pastikan untuk menggunakan gaya ``import os`` alih-alih ``from os import " -"*``. Ini akan menjaga :func:`os.open` dari membayangi *shadowing* fungsi " -"bawaan :func:`open` yang beroperasi jauh berbeda." - -#: ../../tutorial/stdlib.rst:29 -msgid "" -"The built-in :func:`dir` and :func:`help` functions are useful as " -"interactive aids for working with large modules like :mod:`os`::" -msgstr "" -"Fungsi bawaan :func:`dir` dan :func:`help` berguna sebagai alat bantu " -"interaktif untuk bekerja dengan modul besar seperti :mod:`os`::" - -#: ../../tutorial/stdlib.rst:32 -msgid "" -">>> import os\n" -">>> dir(os)\n" -"\n" -">>> help(os)\n" -"" -msgstr "" - -#: ../../tutorial/stdlib.rst:38 -msgid "" -"For daily file and directory management tasks, the :mod:`shutil` module " -"provides a higher level interface that is easier to use::" -msgstr "" -"Untuk tugas manajemen berkas dan direktori sehari-hari, modul :mod:`shutil` " -"menyediakan antarmuka level yang lebih tinggi yang lebih mudah digunakan::" - -#: ../../tutorial/stdlib.rst:41 -msgid "" -">>> import shutil\n" -">>> shutil.copyfile('data.db', 'archive.db')\n" -"'archive.db'\n" -">>> shutil.move('/build/executables', 'installdir')\n" -"'installdir'" -msgstr "" - -#: ../../tutorial/stdlib.rst:51 -msgid "File Wildcards" -msgstr "Berkas *Wildcard*" - -#: ../../tutorial/stdlib.rst:53 -msgid "" -"The :mod:`glob` module provides a function for making file lists from " -"directory wildcard searches::" -msgstr "" -"Modul :mod:`glob` menyediakan fungsi untuk membuat daftar berkas dari " -"pencarian *wildcard* di direktori::" - -#: ../../tutorial/stdlib.rst:56 -msgid "" -">>> import glob\n" -">>> glob.glob('*.py')\n" -"['primes.py', 'random.py', 'quote.py']" -msgstr "" - -#: ../../tutorial/stdlib.rst:64 -msgid "Command Line Arguments" -msgstr "Baris Perintah Berargumen" - -#: ../../tutorial/stdlib.rst:66 -msgid "" -"Common utility scripts often need to process command line arguments. These " -"arguments are stored in the :mod:`sys` module's *argv* attribute as a list." -" For instance, let's take the following :file:`demo.py` file::" -msgstr "" - -#: ../../tutorial/stdlib.rst:70 -msgid "" -"# File demo.py\n" -"import sys\n" -"print(sys.argv)" -msgstr "" - -#: ../../tutorial/stdlib.rst:74 -msgid "" -"Here is the output from running ``python demo.py one two three`` at the " -"command line::" -msgstr "" - -#: ../../tutorial/stdlib.rst:77 -msgid "['demo.py', 'one', 'two', 'three']" -msgstr "" - -#: ../../tutorial/stdlib.rst:79 -msgid "" -"The :mod:`argparse` module provides a more sophisticated mechanism to " -"process command line arguments. The following script extracts one or more " -"filenames and an optional number of lines to be displayed::" -msgstr "" -"Modul :mod:`argparse` menyediakan mekanisme yang lebih canggih untuk " -"memproses argumen baris perintah. Script berikut mengekstrak satu atau lebih" -" nama file dan sejumlah baris opsional untuk ditampilkan::" - -#: ../../tutorial/stdlib.rst:83 -msgid "" -"import argparse\n" -"\n" -"parser = argparse.ArgumentParser(\n" -" prog='top',\n" -" description='Show top lines from each file')\n" -"parser.add_argument('filenames', nargs='+')\n" -"parser.add_argument('-l', '--lines', type=int, default=10)\n" -"args = parser.parse_args()\n" -"print(args)" -msgstr "" - -#: ../../tutorial/stdlib.rst:93 -msgid "" -"When run at the command line with ``python top.py --lines=5 alpha.txt " -"beta.txt``, the script sets ``args.lines`` to ``5`` and ``args.filenames`` " -"to ``['alpha.txt', 'beta.txt']``." -msgstr "" -"Ketika dijalankan pada baris perintah dengan ``python top.py --lines=5 " -"alpha.txt beta.txt``, skrip mengatur ``args.lines`` menjadi ``5`` dan " -"``args.filenames`` menjadi ``['alpha.txt', 'beta.txt']``." - -#: ../../tutorial/stdlib.rst:101 -msgid "Error Output Redirection and Program Termination" -msgstr "Pengalihan Output Kesalahan dan Pengakhiran Program" - -#: ../../tutorial/stdlib.rst:103 -msgid "" -"The :mod:`sys` module also has attributes for *stdin*, *stdout*, and " -"*stderr*. The latter is useful for emitting warnings and error messages to " -"make them visible even when *stdout* has been redirected::" -msgstr "" -"Modul :mod:`sys` juga memiliki atribut untuk *stdin*, *stdout*, dan " -"*stderr*. Yang terakhir berguna untuk mengirimkan peringatan dan pesan " -"kesalahan untuk membuatnya terlihat bahkan ketika *stdout* telah dialihkan::" - -#: ../../tutorial/stdlib.rst:107 -msgid "" -">>> sys.stderr.write('Warning, log file not found starting a new one\\n')\n" -"Warning, log file not found starting a new one" -msgstr "" - -#: ../../tutorial/stdlib.rst:110 -msgid "The most direct way to terminate a script is to use ``sys.exit()``." -msgstr "" -"Cara paling langsung untuk mengakhiri skrip adalah dengan menggunakan " -"``sys.exit()``." - -#: ../../tutorial/stdlib.rst:116 -msgid "String Pattern Matching" -msgstr "Pencocokan Pola String" - -#: ../../tutorial/stdlib.rst:118 -msgid "" -"The :mod:`re` module provides regular expression tools for advanced string " -"processing. For complex matching and manipulation, regular expressions offer" -" succinct, optimized solutions::" -msgstr "" -"Modul :mod:`re` menyediakan alat ekspresi reguler untuk pemrosesan string " -"lanjutan. Untuk pencocokan dan manipulasi yang kompleks, ekspresi reguler " -"menawarkan solusi yang ringkas dan dioptimalkan::" - -#: ../../tutorial/stdlib.rst:122 -msgid "" -">>> import re\n" -">>> re.findall(r'\\bf[a-z]*', 'which foot or hand fell fastest')\n" -"['foot', 'fell', 'fastest']\n" -">>> re.sub(r'(\\b[a-z]+) \\1', r'\\1', 'cat in the the hat')\n" -"'cat in the hat'" -msgstr "" - -#: ../../tutorial/stdlib.rst:128 -msgid "" -"When only simple capabilities are needed, string methods are preferred " -"because they are easier to read and debug::" -msgstr "" -"Ketika hanya kemampuan sederhana yang diperlukan, metode string lebih " -"disukai karena lebih mudah dibaca dan dilakukan *debug*::" - -#: ../../tutorial/stdlib.rst:131 -msgid "" -">>> 'tea for too'.replace('too', 'two')\n" -"'tea for two'" -msgstr "" - -#: ../../tutorial/stdlib.rst:138 -msgid "Mathematics" -msgstr "Matematika" - -#: ../../tutorial/stdlib.rst:140 -msgid "" -"The :mod:`math` module gives access to the underlying C library functions " -"for floating-point math::" -msgstr "" - -#: ../../tutorial/stdlib.rst:143 -msgid "" -">>> import math\n" -">>> math.cos(math.pi / 4)\n" -"0.70710678118654757\n" -">>> math.log(1024, 2)\n" -"10.0" -msgstr "" - -#: ../../tutorial/stdlib.rst:149 -msgid "The :mod:`random` module provides tools for making random selections::" -msgstr "Modul :mod:`random` menyediakan alat untuk membuat pilihan acak::" - -#: ../../tutorial/stdlib.rst:151 -msgid "" -">>> import random\n" -">>> random.choice(['apple', 'pear', 'banana'])\n" -"'apple'\n" -">>> random.sample(range(100), 10) # sampling without replacement\n" -"[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]\n" -">>> random.random() # random float from the interval [0.0, 1.0)\n" -"0.17970987693706186\n" -">>> random.randrange(6) # random integer chosen from range(6)\n" -"4" -msgstr "" - -#: ../../tutorial/stdlib.rst:161 -msgid "" -"The :mod:`statistics` module calculates basic statistical properties (the " -"mean, median, variance, etc.) of numeric data::" -msgstr "" -"Modul :mod:`statistics` menghitung sifat statistik dasar (rata-rata, median," -" varian, dll.) dari data numerik::" - -#: ../../tutorial/stdlib.rst:164 -msgid "" -">>> import statistics\n" -">>> data = [2.75, 1.75, 1.25, 0.25, 0.5, 1.25, 3.5]\n" -">>> statistics.mean(data)\n" -"1.6071428571428572\n" -">>> statistics.median(data)\n" -"1.25\n" -">>> statistics.variance(data)\n" -"1.3720238095238095" -msgstr "" - -#: ../../tutorial/stdlib.rst:173 -msgid "" -"The SciPy project has many other modules for numerical " -"computations." -msgstr "" -"Proyek SciPy memiliki banyak modul lain untuk " -"perhitungan numerik." - -#: ../../tutorial/stdlib.rst:179 -msgid "Internet Access" -msgstr "Akses internet" - -#: ../../tutorial/stdlib.rst:181 -msgid "" -"There are a number of modules for accessing the internet and processing " -"internet protocols. Two of the simplest are :mod:`urllib.request` for " -"retrieving data from URLs and :mod:`smtplib` for sending mail::" -msgstr "" -"Ada sejumlah modul untuk mengakses internet dan memproses protokol internet." -" Dua yang paling sederhana adalah :mod:`urllib.request` untuk mengambil data" -" dari URL dan :mod:`smtplib` untuk mengirim email::" - -#: ../../tutorial/stdlib.rst:185 -msgid "" -">>> from urllib.request import urlopen\n" -">>> with urlopen('http://worldtimeapi.org/api/timezone/etc/UTC.txt') as response:\n" -"... for line in response:\n" -"... line = line.decode() # Convert bytes to a str\n" -"... if line.startswith('datetime'):\n" -"... print(line.rstrip()) # Remove trailing newline\n" -"...\n" -"datetime: 2022-01-01T01:36:47.689215+00:00\n" -"\n" -">>> import smtplib\n" -">>> server = smtplib.SMTP('localhost')\n" -">>> server.sendmail('soothsayer@example.org', 'jcaesar@example.org',\n" -"... \"\"\"To: jcaesar@example.org\n" -"... From: soothsayer@example.org\n" -"...\n" -"... Beware the Ides of March.\n" -"... \"\"\")\n" -">>> server.quit()" -msgstr "" - -#: ../../tutorial/stdlib.rst:204 -msgid "" -"(Note that the second example needs a mailserver running on localhost.)" -msgstr "" -"(Perhatikan bahwa contoh kedua membutuhkan server mail yang beroperasi di " -"localhost.)" - -#: ../../tutorial/stdlib.rst:210 -msgid "Dates and Times" -msgstr "Tanggal dan Waktu" - -#: ../../tutorial/stdlib.rst:212 -msgid "" -"The :mod:`datetime` module supplies classes for manipulating dates and times" -" in both simple and complex ways. While date and time arithmetic is " -"supported, the focus of the implementation is on efficient member extraction" -" for output formatting and manipulation. The module also supports objects " -"that are timezone aware. ::" -msgstr "" -"Modul :mod:`datetime` menyediakan kelas untuk memanipulasi tanggal dan waktu" -" dengan cara yang sederhana dan kompleks. Sementara aritmatika tanggal dan " -"waktu didukung, fokus implementasi adalah pada ekstraksi anggota yang " -"efisien untuk pemformatan dan manipulasi keluaran. Modul ini juga mendukung " -"objek yang sadar zona waktu. ::" - -#: ../../tutorial/stdlib.rst:218 -msgid "" -">>> # dates are easily constructed and formatted\n" -">>> from datetime import date\n" -">>> now = date.today()\n" -">>> now\n" -"datetime.date(2003, 12, 2)\n" -">>> now.strftime(\"%m-%d-%y. %d %b %Y is a %A on the %d day of %B.\")\n" -"'12-02-03. 02 Dec 2003 is a Tuesday on the 02 day of December.'\n" -"\n" -">>> # dates support calendar arithmetic\n" -">>> birthday = date(1964, 7, 31)\n" -">>> age = now - birthday\n" -">>> age.days\n" -"14368" -msgstr "" - -#: ../../tutorial/stdlib.rst:236 -msgid "Data Compression" -msgstr "Kompresi Data" - -#: ../../tutorial/stdlib.rst:238 -msgid "" -"Common data archiving and compression formats are directly supported by " -"modules including: :mod:`zlib`, :mod:`gzip`, :mod:`bz2`, :mod:`lzma`, " -":mod:`zipfile` and :mod:`tarfile`. ::" -msgstr "" -"Format pengarsipan dan kompresi data umum didukung langsung oleh modul-modul" -" yang ada antara lain: :mod: `zlib`, :mod:`gzip`, :mod:`bz2`, :mod:`lzma`, " -":mod:`zipfile` dan :mod:`tarfile`. ::" - -#: ../../tutorial/stdlib.rst:242 -msgid "" -">>> import zlib\n" -">>> s = b'witch which has which witches wrist watch'\n" -">>> len(s)\n" -"41\n" -">>> t = zlib.compress(s)\n" -">>> len(t)\n" -"37\n" -">>> zlib.decompress(t)\n" -"b'witch which has which witches wrist watch'\n" -">>> zlib.crc32(s)\n" -"226805979" -msgstr "" - -#: ../../tutorial/stdlib.rst:258 -msgid "Performance Measurement" -msgstr "Pengukuran Kinerja" - -#: ../../tutorial/stdlib.rst:260 -msgid "" -"Some Python users develop a deep interest in knowing the relative " -"performance of different approaches to the same problem. Python provides a " -"measurement tool that answers those questions immediately." -msgstr "" -"Beberapa pengguna Python mengembangkan minat yang mendalam untuk mengetahui " -"kinerja relatif dari berbagai pendekatan untuk masalah yang sama. Python " -"menyediakan alat pengukuran yang segera menjawab pertanyaan-pertanyaan itu." - -#: ../../tutorial/stdlib.rst:264 -msgid "" -"For example, it may be tempting to use the tuple packing and unpacking " -"feature instead of the traditional approach to swapping arguments. The " -":mod:`timeit` module quickly demonstrates a modest performance advantage::" -msgstr "" -"Misalnya, mungkin tergoda untuk menggunakan fitur *tuple* *packing* dan " -"*unpacking* daripada pendekatan tradisional untuk bertukar argumen. Modul " -":mod: `timeit` dengan cepat menunjukkan keunggulan kinerja secara " -"sederhana::" - -#: ../../tutorial/stdlib.rst:268 -msgid "" -">>> from timeit import Timer\n" -">>> Timer('t=a; a=b; b=t', 'a=1; b=2').timeit()\n" -"0.57535828626024577\n" -">>> Timer('a,b = b,a', 'a=1; b=2').timeit()\n" -"0.54962537085770791" -msgstr "" - -#: ../../tutorial/stdlib.rst:274 -msgid "" -"In contrast to :mod:`timeit`'s fine level of granularity, the :mod:`profile`" -" and :mod:`pstats` modules provide tools for identifying time critical " -"sections in larger blocks of code." -msgstr "" -"Berbeda dengan granularity tingkat halus :mod:`timeit`, modul :mod:`profile`" -" dan :mod:`pstats` menyediakan alat untuk mengidentifikasi bagian kritis " -"waktu dalam blok kode yang lebih besar." - -#: ../../tutorial/stdlib.rst:282 -msgid "Quality Control" -msgstr "Kontrol kualitas" - -#: ../../tutorial/stdlib.rst:284 -msgid "" -"One approach for developing high quality software is to write tests for each" -" function as it is developed and to run those tests frequently during the " -"development process." -msgstr "" -"Salah satu pendekatan untuk mengembangkan perangkat lunak berkualitas tinggi" -" adalah dengan menulis tes untuk setiap fungsi yang dikembangkan dan untuk " -"sering menjalankan tes tersebut selama proses pengembangan." - -#: ../../tutorial/stdlib.rst:288 -msgid "" -"The :mod:`doctest` module provides a tool for scanning a module and " -"validating tests embedded in a program's docstrings. Test construction is " -"as simple as cutting-and-pasting a typical call along with its results into " -"the docstring. This improves the documentation by providing the user with an" -" example and it allows the doctest module to make sure the code remains true" -" to the documentation::" -msgstr "" -"Modul: mod:`doctest` menyediakan alat untuk memindai modul dan memvalidasi " -"tes yang tertanam dalam dokumen program. Konstruksi pengujian sesederhana " -"memotong dan menempel panggilan khas beserta hasilnya ke dalam docstring. " -"Ini meningkatkan dokumentasi dengan memberikan contoh kepada pengguna dan " -"memungkinkan modul *doctest* untuk memastikan kode tetap benar untuk " -"dokumentasi::" - -#: ../../tutorial/stdlib.rst:295 -msgid "" -"def average(values):\n" -" \"\"\"Computes the arithmetic mean of a list of numbers.\n" -"\n" -" >>> print(average([20, 30, 70]))\n" -" 40.0\n" -" \"\"\"\n" -" return sum(values) / len(values)\n" -"\n" -"import doctest\n" -"doctest.testmod() # automatically validate the embedded tests" -msgstr "" - -#: ../../tutorial/stdlib.rst:306 -msgid "" -"The :mod:`unittest` module is not as effortless as the :mod:`doctest` " -"module, but it allows a more comprehensive set of tests to be maintained in " -"a separate file::" -msgstr "" -"Modul :mod:`unittest` tidak semudah modul :mod:`doctest`, tetapi " -"memungkinkan serangkaian tes yang lebih komprehensif untuk dipertahankan " -"dalam file terpisah::" - -#: ../../tutorial/stdlib.rst:310 -msgid "" -"import unittest\n" -"\n" -"class TestStatisticalFunctions(unittest.TestCase):\n" -"\n" -" def test_average(self):\n" -" self.assertEqual(average([20, 30, 70]), 40.0)\n" -" self.assertEqual(round(average([1, 5, 7]), 1), 4.3)\n" -" with self.assertRaises(ZeroDivisionError):\n" -" average([])\n" -" with self.assertRaises(TypeError):\n" -" average(20, 30, 70)\n" -"\n" -"unittest.main() # Calling from the command line invokes all tests" -msgstr "" - -#: ../../tutorial/stdlib.rst:328 -msgid "Batteries Included" -msgstr "Dilengkapi Baterai" - -#: ../../tutorial/stdlib.rst:330 -msgid "" -"Python has a \"batteries included\" philosophy. This is best seen through " -"the sophisticated and robust capabilities of its larger packages. For " -"example:" -msgstr "" -"Python memiliki filosofi \"dilengkapi baterai\". Ini paling baik dilihat " -"melalui kemampuan yang canggih dan kuat *robust* dengan dukungan paket-paket" -" yang lebih besar. Sebagai contoh:" - -#: ../../tutorial/stdlib.rst:333 -msgid "" -"The :mod:`xmlrpc.client` and :mod:`xmlrpc.server` modules make implementing " -"remote procedure calls into an almost trivial task. Despite the modules' " -"names, no direct knowledge or handling of XML is needed." -msgstr "" - -#: ../../tutorial/stdlib.rst:337 -msgid "" -"The :mod:`email` package is a library for managing email messages, including" -" MIME and other :rfc:`2822`-based message documents. Unlike :mod:`smtplib` " -"and :mod:`poplib` which actually send and receive messages, the email " -"package has a complete toolset for building or decoding complex message " -"structures (including attachments) and for implementing internet encoding " -"and header protocols." -msgstr "" -"Paket :mod:`email` adalah pustaka untuk mengelola pesan email, termasuk MIME" -" dan lainnya :rfc:`2822` dokumen pesan berbasis. Tidak seperti " -":mod:`smtplib` dan :mod:`poplib` yang benar-benar mengirim dan menerima " -"pesan, paket email memiliki toolset lengkap untuk membangun atau " -"mendekodekan struktur pesan kompleks (termasuk lampiran) dan untuk " -"mengimplementasikan pengkodean internet dan protokol header." - -#: ../../tutorial/stdlib.rst:344 -msgid "" -"The :mod:`json` package provides robust support for parsing this popular " -"data interchange format. The :mod:`csv` module supports direct reading and " -"writing of files in Comma-Separated Value format, commonly supported by " -"databases and spreadsheets. XML processing is supported by the " -":mod:`xml.etree.ElementTree`, :mod:`xml.dom` and :mod:`xml.sax` packages. " -"Together, these modules and packages greatly simplify data interchange " -"between Python applications and other tools." -msgstr "" -"Paket :mod:`json` menyediakan dukungan kuat untuk mengurai format pertukaran" -" data populer ini. Modul :mod:`csv` mendukung pembacaan dan penulisan berkas" -" secara langsung dalam format Nilai Terpisah-Koma atau CSV, umumnya didukung" -" oleh database dan spreadsheet. Pemrosesan XML didukung oleh paket " -":mod:`xml.etree.ElementTree`, :mod:`xml.dom` dan :mod:`xml.sax`. Bersama-" -"sama, modul dan paket ini sangat menyederhanakan pertukaran data antara " -"aplikasi Python dan alat lainnya." - -#: ../../tutorial/stdlib.rst:353 -msgid "" -"The :mod:`sqlite3` module is a wrapper for the SQLite database library, " -"providing a persistent database that can be updated and accessed using " -"slightly nonstandard SQL syntax." -msgstr "" -"Modul :mod:`sqlite3` adalah pembungkus untuk pustaka basis data SQLite, " -"menyediakan basis data persisten yang dapat diperbarui dan diakses " -"menggunakan sintaks SQL yang sedikit tidak standar." - -#: ../../tutorial/stdlib.rst:357 -msgid "" -"Internationalization is supported by a number of modules including " -":mod:`gettext`, :mod:`locale`, and the :mod:`codecs` package." -msgstr "" -"Internasionalisasi didukung oleh sejumlah modul termasuk paket " -":mod:`gettext`, :mod:`locale`, dan :mod:`codecs`." - -#: ../../tutorial/stdlib.rst:27 -msgid "built-in function" -msgstr "fungsi bawaan" - -#: ../../tutorial/stdlib.rst:27 -msgid "help" -msgstr "" diff --git a/python-newest.tutorial--stdlib2/id.po b/python-newest.tutorial--stdlib2/id.po deleted file mode 100644 index e89c666..0000000 --- a/python-newest.tutorial--stdlib2/id.po +++ /dev/null @@ -1,702 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/stdlib2.rst:5 -msgid "Brief Tour of the Standard Library --- Part II" -msgstr "Tur Singkat Pustaka Standar --- Bagian II" - -#: ../../tutorial/stdlib2.rst:7 -msgid "" -"This second tour covers more advanced modules that support professional " -"programming needs. These modules rarely occur in small scripts." -msgstr "" -"Tur kedua ini mencakup modul lanjutan yang mendukung kebutuhan pemrograman " -"profesional. Modul-modul ini jarang terjadi dalam skrip kecil." - -#: ../../tutorial/stdlib2.rst:14 -msgid "Output Formatting" -msgstr "Pemformatan Output" - -#: ../../tutorial/stdlib2.rst:16 -msgid "" -"The :mod:`reprlib` module provides a version of :func:`repr` customized for " -"abbreviated displays of large or deeply nested containers::" -msgstr "" -"Modul :mod:`reprlib` menyediakan versi :func:`repr` yang disesuaikan untuk " -"tampilan yang disingkat dari wadah *containers* yang besar atau sangat " -"bersarang ::" - -#: ../../tutorial/stdlib2.rst:19 -msgid "" -">>> import reprlib\n" -">>> reprlib.repr(set('supercalifragilisticexpialidocious'))\n" -"\"{'a', 'c', 'd', 'e', 'f', 'g', ...}\"" -msgstr "" - -#: ../../tutorial/stdlib2.rst:23 -msgid "" -"The :mod:`pprint` module offers more sophisticated control over printing " -"both built-in and user defined objects in a way that is readable by the " -"interpreter. When the result is longer than one line, the \"pretty printer\"" -" adds line breaks and indentation to more clearly reveal data structure::" -msgstr "" -"Modul :mod:`pprint` menawarkan kontrol yang lebih canggih atas pencetakan " -"objek bawaan dan yang ditentukan pengguna dengan cara yang dapat dibaca oleh" -" *interpreter*. Ketika hasilnya lebih dari satu baris, \"pretty printer\" " -"menambahkan jeda baris dan indentasi untuk lebih jelas mengungkapkan " -"struktur data::" - -#: ../../tutorial/stdlib2.rst:28 -msgid "" -">>> import pprint\n" -">>> t = [[[['black', 'cyan'], 'white', ['green', 'red']], [['magenta',\n" -"... 'yellow'], 'blue']]]\n" -"...\n" -">>> pprint.pprint(t, width=30)\n" -"[[[['black', 'cyan'],\n" -" 'white',\n" -" ['green', 'red']],\n" -" [['magenta', 'yellow'],\n" -" 'blue']]]" -msgstr "" - -#: ../../tutorial/stdlib2.rst:39 -msgid "" -"The :mod:`textwrap` module formats paragraphs of text to fit a given screen " -"width::" -msgstr "" -"Modul :mod:`textwrap` memformat paragraf teks agar sesuai dengan lebar layar" -" yang diberikan::" - -#: ../../tutorial/stdlib2.rst:42 -msgid "" -">>> import textwrap\n" -">>> doc = \"\"\"The wrap() method is just like fill() except that it returns\n" -"... a list of strings instead of one big string with newlines to separate\n" -"... the wrapped lines.\"\"\"\n" -"...\n" -">>> print(textwrap.fill(doc, width=40))\n" -"The wrap() method is just like fill()\n" -"except that it returns a list of strings\n" -"instead of one big string with newlines\n" -"to separate the wrapped lines." -msgstr "" - -#: ../../tutorial/stdlib2.rst:53 -msgid "" -"The :mod:`locale` module accesses a database of culture specific data " -"formats. The grouping attribute of locale's format function provides a " -"direct way of formatting numbers with group separators::" -msgstr "" -"Modul :mod:`locale` mengakses basis data format data kultur khusus. Atribut " -"pengelompokan fungsi format lokal *locale* menyediakan cara langsung " -"memformat angka dengan pemisah grup::" - -#: ../../tutorial/stdlib2.rst:57 -msgid "" -">>> import locale\n" -">>> locale.setlocale(locale.LC_ALL, 'English_United States.1252')\n" -"'English_United States.1252'\n" -">>> conv = locale.localeconv() # get a mapping of conventions\n" -">>> x = 1234567.8\n" -">>> locale.format_string(\"%d\", x, grouping=True)\n" -"'1,234,567'\n" -">>> locale.format_string(\"%s%.*f\", (conv['currency_symbol'],\n" -"... conv['frac_digits'], x), grouping=True)\n" -"'$1,234,567.80'" -msgstr "" - -#: ../../tutorial/stdlib2.rst:72 -msgid "Templating" -msgstr "*Templating*" - -#: ../../tutorial/stdlib2.rst:74 -msgid "" -"The :mod:`string` module includes a versatile :class:`~string.Template` " -"class with a simplified syntax suitable for editing by end-users. This " -"allows users to customize their applications without having to alter the " -"application." -msgstr "" -"Modul :mod:`string` menyertakan kelas serbaguna :class:`~string.Template` " -"dengan sintaks yang disederhanakan yang cocok untuk diedit oleh pengguna. " -"Ini memungkinkan pengguna untuk menyesuaikan aplikasi mereka tanpa harus " -"mengubah aplikasi." - -#: ../../tutorial/stdlib2.rst:78 -msgid "" -"The format uses placeholder names formed by ``$`` with valid Python " -"identifiers (alphanumeric characters and underscores). Surrounding the " -"placeholder with braces allows it to be followed by more alphanumeric " -"letters with no intervening spaces. Writing ``$$`` creates a single escaped" -" ``$``::" -msgstr "" -"Format ini menggunakan nama penampung yang dibentuk oleh ``$`` dengan " -"pengidentifikasi Python yang valid (karakter alfanumerik dan garis bawah). " -"Mengitari *placeholder* dengan kurung kurawal memungkinkannya diikuti oleh " -"lebih banyak huruf alfanumerik tanpa spasi. Menulis ``$$`` menciptakan satu " -"yang terpisah ``$`` ::" - -#: ../../tutorial/stdlib2.rst:83 -msgid "" -">>> from string import Template\n" -">>> t = Template('${village}folk send $$10 to $cause.')\n" -">>> t.substitute(village='Nottingham', cause='the ditch fund')\n" -"'Nottinghamfolk send $10 to the ditch fund.'" -msgstr "" - -#: ../../tutorial/stdlib2.rst:88 -msgid "" -"The :meth:`~string.Template.substitute` method raises a :exc:`KeyError` when" -" a placeholder is not supplied in a dictionary or a keyword argument. For " -"mail-merge style applications, user supplied data may be incomplete and the " -":meth:`~string.Template.safe_substitute` method may be more appropriate --- " -"it will leave placeholders unchanged if data is missing::" -msgstr "" -"Metode :meth:`~string.Template.substitute` memunculkan :exc:`KeyError` saat " -"*placeholder* tidak disertakan dalam *dictionary* atau argumen kata kunci " -"*keyword argument*. Untuk aplikasi gaya gabungan-surat *mail-merge*, data " -"yang diberikan pengguna mungkin tidak lengkap dan metode " -":meth:`~string.Template.safe_substitute` mungkin lebih tepat --- itu akan " -"membuat *placeholder* tidak berubah jika data hilang ::" - -#: ../../tutorial/stdlib2.rst:94 -msgid "" -">>> t = Template('Return the $item to $owner.')\n" -">>> d = dict(item='unladen swallow')\n" -">>> t.substitute(d)\n" -"Traceback (most recent call last):\n" -" ...\n" -"KeyError: 'owner'\n" -">>> t.safe_substitute(d)\n" -"'Return the unladen swallow to $owner.'" -msgstr "" - -#: ../../tutorial/stdlib2.rst:103 -msgid "" -"Template subclasses can specify a custom delimiter. For example, a batch " -"renaming utility for a photo browser may elect to use percent signs for " -"placeholders such as the current date, image sequence number, or file " -"format::" -msgstr "" -"Subkelas templat dapat menentukan pembatas khusus. Misalnya, utilitas " -"penggantian nama setumpuk *batch* untuk *browser* foto dapat memilih untuk " -"menggunakan tanda persen untuk penampung seperti tanggal saat ini, nomor " -"urut gambar, atau format berkas::" - -#: ../../tutorial/stdlib2.rst:107 -msgid "" -">>> import time, os.path\n" -">>> photofiles = ['img_1074.jpg', 'img_1076.jpg', 'img_1077.jpg']\n" -">>> class BatchRename(Template):\n" -"... delimiter = '%'\n" -"...\n" -">>> fmt = input('Enter rename style (%d-date %n-seqnum %f-format): ')\n" -"Enter rename style (%d-date %n-seqnum %f-format): Ashley_%n%f\n" -"\n" -">>> t = BatchRename(fmt)\n" -">>> date = time.strftime('%d%b%y')\n" -">>> for i, filename in enumerate(photofiles):\n" -"... base, ext = os.path.splitext(filename)\n" -"... newname = t.substitute(d=date, n=i, f=ext)\n" -"... print('{0} --> {1}'.format(filename, newname))\n" -"\n" -"img_1074.jpg --> Ashley_0.jpg\n" -"img_1076.jpg --> Ashley_1.jpg\n" -"img_1077.jpg --> Ashley_2.jpg" -msgstr "" - -#: ../../tutorial/stdlib2.rst:126 -msgid "" -"Another application for templating is separating program logic from the " -"details of multiple output formats. This makes it possible to substitute " -"custom templates for XML files, plain text reports, and HTML web reports." -msgstr "" -"Aplikasi lain untuk *templating* adalah memisahkan logika program dari " -"detail berbagai format output. Ini memungkinkan untuk mengganti templat " -"khusus untuk file XML, laporan teks biasa, dan laporan web HTML." - -#: ../../tutorial/stdlib2.rst:134 -msgid "Working with Binary Data Record Layouts" -msgstr "Bekerja dengan Tata Letak Rekam Data Biner" - -#: ../../tutorial/stdlib2.rst:136 -msgid "" -"The :mod:`struct` module provides :func:`~struct.pack` and " -":func:`~struct.unpack` functions for working with variable length binary " -"record formats. The following example shows how to loop through header " -"information in a ZIP file without using the :mod:`zipfile` module. Pack " -"codes ``\"H\"`` and ``\"I\"`` represent two and four byte unsigned numbers " -"respectively. The ``\"<\"`` indicates that they are standard size and in " -"little-endian byte order::" -msgstr "" -"Modul :mod:`struct` menyediakan :func:`~struct.pack` dan " -":func:`~struct.unpack` berfungsi untuk bekerja dengan format rekaman biner " -"yang memiliki panjang variabel. Contoh berikut menunjukkan bagaimana cara " -"loop tajuk *header* informasi dalam berkas ZIP tanpa menggunakan modul " -":mod:`zipfile`. Kode paket ``\"H\"`` dan ``\"I\"`` masing-masing mewakili " -"dua dan empat byte angka yang tidak bertanda *unsigned*. ``\"<\"`` " -"Menunjukkan bahwa mereka adalah ukuran standar dan dalam urutan byte " -"*little-endian*::" - -#: ../../tutorial/stdlib2.rst:144 -msgid "" -"import struct\n" -"\n" -"with open('myfile.zip', 'rb') as f:\n" -" data = f.read()\n" -"\n" -"start = 0\n" -"for i in range(3): # show the first 3 file headers\n" -" start += 14\n" -" fields = struct.unpack('>> import weakref, gc\n" -">>> class A:\n" -"... def __init__(self, value):\n" -"... self.value = value\n" -"... def __repr__(self):\n" -"... return str(self.value)\n" -"...\n" -">>> a = A(10) # create a reference\n" -">>> d = weakref.WeakValueDictionary()\n" -">>> d['primary'] = a # does not create a reference\n" -">>> d['primary'] # fetch the object if it is still alive\n" -"10\n" -">>> del a # remove the one reference\n" -">>> gc.collect() # run garbage collection right away\n" -"0\n" -">>> d['primary'] # entry was automatically removed\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" d['primary'] # entry was automatically removed\n" -" File \"C:/python314/lib/weakref.py\", line 46, in __getitem__\n" -" o = self.data[key]()\n" -"KeyError: 'primary'" -msgstr "" - -#: ../../tutorial/stdlib2.rst:290 -msgid "Tools for Working with Lists" -msgstr "Alat untuk Bekerja dengan Daftar *Lists*" - -#: ../../tutorial/stdlib2.rst:292 -msgid "" -"Many data structure needs can be met with the built-in list type. However, " -"sometimes there is a need for alternative implementations with different " -"performance trade-offs." -msgstr "" -"Banyak kebutuhan struktur data dapat dipenuhi dengan tipe daftar *list* " -"bawaan. Namun, kadang-kadang ada kebutuhan untuk implementasi alternatif " -"dengan mengorbankan kinerja yang menurun." - -#: ../../tutorial/stdlib2.rst:296 -msgid "" -"The :mod:`array` module provides an :class:`~array.array` object that is " -"like a list that stores only homogeneous data and stores it more compactly." -" The following example shows an array of numbers stored as two byte " -"unsigned binary numbers (typecode ``\"H\"``) rather than the usual 16 bytes " -"per entry for regular lists of Python int objects::" -msgstr "" - -#: ../../tutorial/stdlib2.rst:302 -msgid "" -">>> from array import array\n" -">>> a = array('H', [4000, 10, 700, 22222])\n" -">>> sum(a)\n" -"26932\n" -">>> a[1:3]\n" -"array('H', [10, 700])" -msgstr "" - -#: ../../tutorial/stdlib2.rst:309 -msgid "" -"The :mod:`collections` module provides a :class:`~collections.deque` object " -"that is like a list with faster appends and pops from the left side but " -"slower lookups in the middle. These objects are well suited for implementing" -" queues and breadth first tree searches::" -msgstr "" - -#: ../../tutorial/stdlib2.rst:314 -msgid "" -">>> from collections import deque\n" -">>> d = deque([\"task1\", \"task2\", \"task3\"])\n" -">>> d.append(\"task4\")\n" -">>> print(\"Handling\", d.popleft())\n" -"Handling task1" -msgstr "" - -#: ../../tutorial/stdlib2.rst:322 -msgid "" -"unsearched = deque([starting_node])\n" -"def breadth_first_search(unsearched):\n" -" node = unsearched.popleft()\n" -" for m in gen_moves(node):\n" -" if is_goal(m):\n" -" return m\n" -" unsearched.append(m)" -msgstr "" - -#: ../../tutorial/stdlib2.rst:330 -msgid "" -"In addition to alternative list implementations, the library also offers " -"other tools such as the :mod:`bisect` module with functions for manipulating" -" sorted lists::" -msgstr "" -"Selain implementasi daftar *list* alternatif, di pustaka juga menawarkan " -"alat-alat lain seperti modul :mod:`bisect` dengan fungsi untuk memanipulasi " -"daftar *list* yang diurutkan::" - -#: ../../tutorial/stdlib2.rst:334 -msgid "" -">>> import bisect\n" -">>> scores = [(100, 'perl'), (200, 'tcl'), (400, 'lua'), (500, 'python')]\n" -">>> bisect.insort(scores, (300, 'ruby'))\n" -">>> scores\n" -"[(100, 'perl'), (200, 'tcl'), (300, 'ruby'), (400, 'lua'), (500, 'python')]" -msgstr "" - -#: ../../tutorial/stdlib2.rst:340 -msgid "" -"The :mod:`heapq` module provides functions for implementing heaps based on " -"regular lists. The lowest valued entry is always kept at position zero. " -"This is useful for applications which repeatedly access the smallest element" -" but do not want to run a full list sort::" -msgstr "" -"Modul :mod:`heapq` menyediakan fungsi untuk mengimplementasikan *heaps* " -"berdasarkan daftar *list* reguler. Entri dengan nilai terendah selalu " -"disimpan di posisi nol. Ini berguna untuk aplikasi yang berulang kali " -"mengakses elemen terkecil tetapi tidak ingin mengoperasikan daftar " -"pengurutan *list* secara penuh::" - -#: ../../tutorial/stdlib2.rst:345 -msgid "" -">>> from heapq import heapify, heappop, heappush\n" -">>> data = [1, 3, 5, 7, 9, 2, 4, 6, 8, 0]\n" -">>> heapify(data) # rearrange the list into heap order\n" -">>> heappush(data, -5) # add a new entry\n" -">>> [heappop(data) for i in range(3)] # fetch the three smallest entries\n" -"[-5, 0, 1]" -msgstr "" - -#: ../../tutorial/stdlib2.rst:356 -msgid "Decimal Floating-Point Arithmetic" -msgstr "" - -#: ../../tutorial/stdlib2.rst:358 -msgid "" -"The :mod:`decimal` module offers a :class:`~decimal.Decimal` datatype for " -"decimal floating-point arithmetic. Compared to the built-in :class:`float` " -"implementation of binary floating point, the class is especially helpful for" -msgstr "" - -#: ../../tutorial/stdlib2.rst:362 -msgid "" -"financial applications and other uses which require exact decimal " -"representation," -msgstr "" -"aplikasi keuangan dan penggunaan lainnya yang membutuhkan representasi " -"desimal yang tepat," - -#: ../../tutorial/stdlib2.rst:364 -msgid "control over precision," -msgstr "kontrol atas presisi," - -#: ../../tutorial/stdlib2.rst:365 -msgid "control over rounding to meet legal or regulatory requirements," -msgstr "" -"kontrol atas pembulatan untuk memenuhi persyaratan sah *legal* atau " -"peraturan," - -#: ../../tutorial/stdlib2.rst:366 -msgid "tracking of significant decimal places, or" -msgstr "pelacakan tempat desimal yang signifikan, atau" - -#: ../../tutorial/stdlib2.rst:367 -msgid "" -"applications where the user expects the results to match calculations done " -"by hand." -msgstr "" -"aplikasi tempat pengguna mengharapkan hasil agar sesuai dengan perhitungan " -"yang dilakukan dengan tangan." - -#: ../../tutorial/stdlib2.rst:370 -msgid "" -"For example, calculating a 5% tax on a 70 cent phone charge gives different " -"results in decimal floating point and binary floating point. The difference " -"becomes significant if the results are rounded to the nearest cent::" -msgstr "" -"Misalnya, menghitung pajak 5% pada biaya telepon 70 sen memberikan hasil " -"berbeda dalam pecahan *floating point* desimal dan pecahan *floating point* " -"biner. Perbedaannya menjadi signifikan jika hasilnya dibulatkan ke sen " -"terdekat::" - -#: ../../tutorial/stdlib2.rst:374 -msgid "" -">>> from decimal import *\n" -">>> round(Decimal('0.70') * Decimal('1.05'), 2)\n" -"Decimal('0.74')\n" -">>> round(.70 * 1.05, 2)\n" -"0.73" -msgstr "" - -#: ../../tutorial/stdlib2.rst:380 -msgid "" -"The :class:`~decimal.Decimal` result keeps a trailing zero, automatically " -"inferring four place significance from multiplicands with two place " -"significance. Decimal reproduces mathematics as done by hand and avoids " -"issues that can arise when binary floating point cannot exactly represent " -"decimal quantities." -msgstr "" -"Hasil :class:`~decimal.Decimal` menjaga akhiran *trailing* nol, secara " -"otomatis menyimpulkan empat tempat signifikansi dari *multiplicands* dengan " -"dua tempat signifikansi. Desimal mereproduksi matematika seperti yang " -"dilakukan dengan tangan dan menghindari masalah yang dapat muncul ketika " -"pecahan *floating point* biner tidak dapat secara tepat mewakili jumlah " -"desimal." - -#: ../../tutorial/stdlib2.rst:386 -msgid "" -"Exact representation enables the :class:`~decimal.Decimal` class to perform " -"modulo calculations and equality tests that are unsuitable for binary " -"floating point::" -msgstr "" -"Representasi yang tepat memungkinkan kelas :class:`~decimal.Decimal` untuk " -"melakukan perhitungan modulo dan tes persamaan yang tidak cocok untuk angka " -"pecahan *floating point* biner::" - -#: ../../tutorial/stdlib2.rst:390 -msgid "" -">>> Decimal('1.00') % Decimal('.10')\n" -"Decimal('0.00')\n" -">>> 1.00 % 0.10\n" -"0.09999999999999995\n" -"\n" -">>> sum([Decimal('0.1')]*10) == Decimal('1.0')\n" -"True\n" -">>> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 == 1.0\n" -"False" -msgstr "" - -#: ../../tutorial/stdlib2.rst:400 -msgid "" -"The :mod:`decimal` module provides arithmetic with as much precision as " -"needed::" -msgstr "" -"Modul :mod:`decimal` menyediakan aritmatika dengan ketelitian sebanyak yang " -"dibutuhkan::" - -#: ../../tutorial/stdlib2.rst:402 -msgid "" -">>> getcontext().prec = 36\n" -">>> Decimal(1) / Decimal(7)\n" -"Decimal('0.142857142857142857142857142857142857')" -msgstr "" diff --git a/python-newest.tutorial--venv/id.po b/python-newest.tutorial--venv/id.po deleted file mode 100644 index 4f48068..0000000 --- a/python-newest.tutorial--venv/id.po +++ /dev/null @@ -1,367 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/venv.rst:6 -msgid "Virtual Environments and Packages" -msgstr "Lingkungan dan Paket Virtual" - -#: ../../tutorial/venv.rst:9 -msgid "Introduction" -msgstr "Pengantar" - -#: ../../tutorial/venv.rst:11 -msgid "" -"Python applications will often use packages and modules that don't come as " -"part of the standard library. Applications will sometimes need a specific " -"version of a library, because the application may require that a particular " -"bug has been fixed or the application may be written using an obsolete " -"version of the library's interface." -msgstr "" -"Aplikasi Python akan sering menggunakan paket dan modul yang tidak datang " -"sebagai bagian dari pustaka standar. Aplikasi kadang-kadang membutuhkan " -"versi pustaka tertentu, karena aplikasi mungkin mensyaratkan bug tertentu " -"telah diperbaiki atau aplikasi dapat ditulis menggunakan versi usang dari " -"antarmuka pustaka." - -#: ../../tutorial/venv.rst:17 -msgid "" -"This means it may not be possible for one Python installation to meet the " -"requirements of every application. If application A needs version 1.0 of a " -"particular module but application B needs version 2.0, then the requirements" -" are in conflict and installing either version 1.0 or 2.0 will leave one " -"application unable to run." -msgstr "" -"Ini berarti tidak mungkin bagi satu instalasi Python untuk memenuhi " -"persyaratan setiap aplikasi. Jika aplikasi A membutuhkan versi 1.0 dari " -"modul tertentu tetapi aplikasi B membutuhkan versi 2.0, maka persyaratannya " -"bertentangan dan menginstal versi 1.0 atau 2.0 akan membuat satu aplikasi " -"tidak dapat berjalan." - -#: ../../tutorial/venv.rst:23 -msgid "" -"The solution for this problem is to create a :term:`virtual environment`, a " -"self-contained directory tree that contains a Python installation for a " -"particular version of Python, plus a number of additional packages." -msgstr "" -"Solusi untuk masalah ini adalah membuat :term:`virtual environment`, sebuah " -"struktur direktori mandiri yang berisi instalasi Python untuk versi tertentu" -" dari Python, serta sejumlah paket tambahan." - -#: ../../tutorial/venv.rst:27 -msgid "" -"Different applications can then use different virtual environments. To " -"resolve the earlier example of conflicting requirements, application A can " -"have its own virtual environment with version 1.0 installed while " -"application B has another virtual environment with version 2.0. If " -"application B requires a library be upgraded to version 3.0, this will not " -"affect application A's environment." -msgstr "" -"Aplikasi yang berbeda kemudian dapat menggunakan lingkungan virtual yang " -"berbeda. Untuk menyelesaikan contoh sebelumnya dari persyaratan yang saling " -"bertentangan, aplikasi A dapat memiliki lingkungan virtual sendiri dengan " -"versi 1.0 yang diinstal sementara aplikasi B memiliki lingkungan virtual " -"lain dengan versi 2.0. Jika aplikasi B membutuhkan pustaka ditingkatkan ke " -"versi 3.0, ini tidak akan mempengaruhi lingkungan aplikasi A." - -#: ../../tutorial/venv.rst:36 -msgid "Creating Virtual Environments" -msgstr "Menciptakan Lingkungan Virtual" - -#: ../../tutorial/venv.rst:38 -msgid "" -"The module used to create and manage virtual environments is called " -":mod:`venv`. :mod:`venv` will install the Python version from which the " -"command was run (as reported by the :option:`--version` option). For " -"instance, executing the command with ``python3.12`` will install version " -"3.12." -msgstr "" - -#: ../../tutorial/venv.rst:44 -msgid "" -"To create a virtual environment, decide upon a directory where you want to " -"place it, and run the :mod:`venv` module as a script with the directory " -"path::" -msgstr "" -"Untuk membuat lingkungan virtual, tentukan direktori tempat Anda ingin " -"meletakkannya, dan jalankan modul :mod:`venv` sebagai skrip dengan jalur " -"direktori::" - -#: ../../tutorial/venv.rst:47 -msgid "python -m venv tutorial-env" -msgstr "" - -#: ../../tutorial/venv.rst:49 -msgid "" -"This will create the ``tutorial-env`` directory if it doesn't exist, and " -"also create directories inside it containing a copy of the Python " -"interpreter and various supporting files." -msgstr "" - -#: ../../tutorial/venv.rst:53 -msgid "" -"A common directory location for a virtual environment is ``.venv``. This " -"name keeps the directory typically hidden in your shell and thus out of the " -"way while giving it a name that explains why the directory exists. It also " -"prevents clashing with ``.env`` environment variable definition files that " -"some tooling supports." -msgstr "" -"Lokasi direktori yang umum dipakai untuk lingkungan virtual adalah " -"``.venv``. Nama ini membuat direktori biasanya tersembunyi di shell Anda dan" -" dengan demikian terpencil sambil memberikan nama yang menjelaskan mengapa " -"direktori itu ada. Ini juga mencegah bentrok dengan berkas definisi variabel" -" lingkungan ``.env`` yang didukung beberapa peralatan." - -#: ../../tutorial/venv.rst:59 -msgid "Once you've created a virtual environment, you may activate it." -msgstr "Setelah Anda membuat lingkungan virtual, Anda dapat mengaktifkannya." - -#: ../../tutorial/venv.rst:61 -msgid "On Windows, run::" -msgstr "Di Windows, operasikan::" - -#: ../../tutorial/venv.rst:63 -msgid "tutorial-env\\Scripts\\activate" -msgstr "" - -#: ../../tutorial/venv.rst:65 -msgid "On Unix or MacOS, run::" -msgstr "Pada Unix atau MacOS, operasikan ::" - -#: ../../tutorial/venv.rst:67 -msgid "source tutorial-env/bin/activate" -msgstr "" - -#: ../../tutorial/venv.rst:69 -msgid "" -"(This script is written for the bash shell. If you use the :program:`csh` " -"or :program:`fish` shells, there are alternate ``activate.csh`` and " -"``activate.fish`` scripts you should use instead.)" -msgstr "" -"(Skrip ini ditulis untuk bash shell. Jika Anda menggunakan :program:`csh` " -"atau :program:`fish` shells, ada pilihan skrip ``activate.csh`` dan " -"``activate.fish`` alternatif yang dapat Anda gunakan.)" - -#: ../../tutorial/venv.rst:74 -msgid "" -"Activating the virtual environment will change your shell's prompt to show " -"what virtual environment you're using, and modify the environment so that " -"running ``python`` will get you that particular version and installation of " -"Python. For example:" -msgstr "" -"Mengaktifkan lingkungan virtual akan mengubah prompt shell Anda untuk " -"menunjukkan lingkungan virtual apa yang Anda gunakan, dan memodifikasi " -"lingkungan sehingga menjalankan ``python`` akan membuat Anda mendapatkan " -"versi dan instalasi Python tertentu. Sebagai contoh:" - -#: ../../tutorial/venv.rst:79 -msgid "" -"$ source ~/envs/tutorial-env/bin/activate\n" -"(tutorial-env) $ python\n" -"Python 3.5.1 (default, May 6 2016, 10:59:36)\n" -" ...\n" -">>> import sys\n" -">>> sys.path\n" -"['', '/usr/local/lib/python35.zip', ...,\n" -"'~/envs/tutorial-env/lib/python3.5/site-packages']\n" -">>>" -msgstr "" - -#: ../../tutorial/venv.rst:91 -msgid "To deactivate a virtual environment, type::" -msgstr "" - -#: ../../tutorial/venv.rst:93 -msgid "deactivate" -msgstr "" - -#: ../../tutorial/venv.rst:95 -msgid "into the terminal." -msgstr "" - -#: ../../tutorial/venv.rst:98 -msgid "Managing Packages with pip" -msgstr "Mengelola Paket dengan pip" - -#: ../../tutorial/venv.rst:100 -msgid "" -"You can install, upgrade, and remove packages using a program called " -":program:`pip`. By default ``pip`` will install packages from the `Python " -"Package Index `_. You can browse the Python Package Index" -" by going to it in your web browser." -msgstr "" - -#: ../../tutorial/venv.rst:105 -msgid "" -"``pip`` has a number of subcommands: \"install\", \"uninstall\", \"freeze\"," -" etc. (Consult the :ref:`installing-index` guide for complete documentation" -" for ``pip``.)" -msgstr "" -"``pip`` memiliki sejumlah sub-perintah: \"install\", \"uninstall\", " -"\"freeze\", dls. (Konsultasikan ke panduan :ref:`installing-index` untuk " -"dokumentasi lengkap dari ``pip``.)" - -#: ../../tutorial/venv.rst:109 -msgid "" -"You can install the latest version of a package by specifying a package's " -"name:" -msgstr "" -"Anda dapat menginstal versi terbaru dari suatu paket dengan menyebutkan nama" -" suatu paket:" - -#: ../../tutorial/venv.rst:111 -msgid "" -"(tutorial-env) $ python -m pip install novas\n" -"Collecting novas\n" -" Downloading novas-3.1.1.3.tar.gz (136kB)\n" -"Installing collected packages: novas\n" -" Running setup.py install for novas\n" -"Successfully installed novas-3.1.1.3" -msgstr "" - -#: ../../tutorial/venv.rst:120 -msgid "" -"You can also install a specific version of a package by giving the package " -"name followed by ``==`` and the version number:" -msgstr "" -"Anda juga dapat menginstal versi spesifik suatu paket dengan memberikan nama" -" paket diikuti dengan ``==`` dan nomor versi:" - -#: ../../tutorial/venv.rst:123 -msgid "" -"(tutorial-env) $ python -m pip install requests==2.6.0\n" -"Collecting requests==2.6.0\n" -" Using cached requests-2.6.0-py2.py3-none-any.whl\n" -"Installing collected packages: requests\n" -"Successfully installed requests-2.6.0" -msgstr "" - -#: ../../tutorial/venv.rst:131 -msgid "" -"If you re-run this command, ``pip`` will notice that the requested version " -"is already installed and do nothing. You can supply a different version " -"number to get that version, or you can run ``python -m pip install " -"--upgrade`` to upgrade the package to the latest version:" -msgstr "" - -#: ../../tutorial/venv.rst:136 -msgid "" -"(tutorial-env) $ python -m pip install --upgrade requests\n" -"Collecting requests\n" -"Installing collected packages: requests\n" -" Found existing installation: requests 2.6.0\n" -" Uninstalling requests-2.6.0:\n" -" Successfully uninstalled requests-2.6.0\n" -"Successfully installed requests-2.7.0" -msgstr "" - -#: ../../tutorial/venv.rst:146 -msgid "" -"``python -m pip uninstall`` followed by one or more package names will " -"remove the packages from the virtual environment." -msgstr "" - -#: ../../tutorial/venv.rst:149 -msgid "" -"``python -m pip show`` will display information about a particular package:" -msgstr "" - -#: ../../tutorial/venv.rst:151 -msgid "" -"(tutorial-env) $ python -m pip show requests\n" -"---\n" -"Metadata-Version: 2.0\n" -"Name: requests\n" -"Version: 2.7.0\n" -"Summary: Python HTTP for Humans.\n" -"Home-page: http://python-requests.org\n" -"Author: Kenneth Reitz\n" -"Author-email: me@kennethreitz.com\n" -"License: Apache 2.0\n" -"Location: /Users/akuchling/envs/tutorial-env/lib/python3.4/site-packages\n" -"Requires:" -msgstr "" - -#: ../../tutorial/venv.rst:166 -msgid "" -"``python -m pip list`` will display all of the packages installed in the " -"virtual environment:" -msgstr "" - -#: ../../tutorial/venv.rst:169 -msgid "" -"(tutorial-env) $ python -m pip list\n" -"novas (3.1.1.3)\n" -"numpy (1.9.2)\n" -"pip (7.0.3)\n" -"requests (2.7.0)\n" -"setuptools (16.0)" -msgstr "" - -#: ../../tutorial/venv.rst:178 -msgid "" -"``python -m pip freeze`` will produce a similar list of the installed " -"packages, but the output uses the format that ``python -m pip install`` " -"expects. A common convention is to put this list in a ``requirements.txt`` " -"file:" -msgstr "" - -#: ../../tutorial/venv.rst:182 -msgid "" -"(tutorial-env) $ python -m pip freeze > requirements.txt\n" -"(tutorial-env) $ cat requirements.txt\n" -"novas==3.1.1.3\n" -"numpy==1.9.2\n" -"requests==2.7.0" -msgstr "" - -#: ../../tutorial/venv.rst:190 -msgid "" -"The ``requirements.txt`` can then be committed to version control and " -"shipped as part of an application. Users can then install all the necessary" -" packages with ``install -r``:" -msgstr "" -"``requirements.txt`` kemudian dapat dikirimkan atau commit ke sistem kontrol" -" versi dan dikirim sebagai bagian dari aplikasi. Pengguna kemudian dapat " -"menginstal semua paket yang diperlukan dengan ``install -r``:" - -#: ../../tutorial/venv.rst:194 -msgid "" -"(tutorial-env) $ python -m pip install -r requirements.txt\n" -"Collecting novas==3.1.1.3 (from -r requirements.txt (line 1))\n" -" ...\n" -"Collecting numpy==1.9.2 (from -r requirements.txt (line 2))\n" -" ...\n" -"Collecting requests==2.7.0 (from -r requirements.txt (line 3))\n" -" ...\n" -"Installing collected packages: novas, numpy, requests\n" -" Running setup.py install for novas\n" -"Successfully installed novas-3.1.1.3 numpy-1.9.2 requests-2.7.0" -msgstr "" - -#: ../../tutorial/venv.rst:207 -msgid "" -"``pip`` has many more options. Consult the :ref:`installing-index` guide " -"for complete documentation for ``pip``. When you've written a package and " -"want to make it available on the Python Package Index, consult the `Python " -"packaging user guide`_." -msgstr "" diff --git a/python-newest.tutorial--whatnow/id.po b/python-newest.tutorial--whatnow/id.po deleted file mode 100644 index 2f0cadb..0000000 --- a/python-newest.tutorial--whatnow/id.po +++ /dev/null @@ -1,178 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../tutorial/whatnow.rst:5 -msgid "What Now?" -msgstr "Lalu apa sekarang?" - -#: ../../tutorial/whatnow.rst:7 -msgid "" -"Reading this tutorial has probably reinforced your interest in using Python " -"--- you should be eager to apply Python to solving your real-world problems." -" Where should you go to learn more?" -msgstr "" -"Membaca tutorial ini mungkin telah menambah minat Anda dalam menggunakan " -"Python --- Anda harus bersemangat untuk menerapkan Python untuk " -"menyelesaikan masalah dunia nyata Anda. Ke mana Anda harus pergi untuk " -"belajar lebih banyak?" - -#: ../../tutorial/whatnow.rst:11 -msgid "" -"This tutorial is part of Python's documentation set. Some other documents " -"in the set are:" -msgstr "" -"Tutorial ini adalah bagian dari kumpulan dokumentasi Python. Beberapa " -"dokumen lain di dalam kumpulan adalah:" - -#: ../../tutorial/whatnow.rst:14 -msgid ":ref:`library-index`:" -msgstr ":ref:`library-index`:" - -#: ../../tutorial/whatnow.rst:16 -msgid "" -"You should browse through this manual, which gives complete (though terse) " -"reference material about types, functions, and the modules in the standard " -"library. The standard Python distribution includes a *lot* of additional " -"code. There are modules to read Unix mailboxes, retrieve documents via HTTP," -" generate random numbers, parse command-line options, compress data, and " -"many other tasks. Skimming through the Library Reference will give you an " -"idea of what's available." -msgstr "" - -#: ../../tutorial/whatnow.rst:24 -msgid "" -":ref:`installing-index` explains how to install additional modules written " -"by other Python users." -msgstr "" -":ref:`install-index` menjelaskan cara memasang modul tambahan yang ditulis " -"oleh pengguna Python lainnya." - -#: ../../tutorial/whatnow.rst:27 -msgid "" -":ref:`reference-index`: A detailed explanation of Python's syntax and " -"semantics. It's heavy reading, but is useful as a complete guide to the " -"language itself." -msgstr "" -":ref:`reference-index`: Penjelasan terperinci tentang sintaksis dan semantik" -" Python. Ini bacaan yang berat, tetapi berguna sebagai panduan lengkap untuk" -" bahasa itu sendiri." - -#: ../../tutorial/whatnow.rst:31 -msgid "More Python resources:" -msgstr "Lebih banyak sumber tentang Python:" - -#: ../../tutorial/whatnow.rst:33 -msgid "" -"https://www.python.org: The major Python web site. It contains code, " -"documentation, and pointers to Python-related pages around the web." -msgstr "" - -#: ../../tutorial/whatnow.rst:36 -msgid "https://docs.python.org: Fast access to Python's documentation." -msgstr "https://docs.python.org: Akses cepat ke dokumentasi Python." - -#: ../../tutorial/whatnow.rst:38 -msgid "" -"https://pypi.org: The Python Package Index, previously also nicknamed the " -"Cheese Shop [#]_, is an index of user-created Python modules that are " -"available for download. Once you begin releasing code, you can register it " -"here so that others can find it." -msgstr "" -"https://pypi.org: *Python Package Index*, sebelumnya juga dijuluki Toko Keju" -" [#]_, adalah indeks modul Python yang dibuat pengguna yang tersedia untuk " -"diunduh. Setelah Anda mulai menghasilkan kode, Anda dapat mendaftarkannya di" -" sini sehingga orang lain dapat menemukannya." - -#: ../../tutorial/whatnow.rst:43 -msgid "" -"https://code.activestate.com/recipes/langs/python/: The Python Cookbook is a" -" sizable collection of code examples, larger modules, and useful scripts. " -"Particularly notable contributions are collected in a book also titled " -"Python Cookbook (O'Reilly & Associates, ISBN 0-596-00797-3.)" -msgstr "" -"https://code.activestate.com/recipes/langs/python/: Python Cookbook adalah " -"kumpulan contoh kode yang cukup besar, modul yang lebih besar, dan skrip " -"yang bermanfaat. Kontribusi yang sangat penting dikumpulkan dalam sebuah " -"buku yang juga berjudul Python Cookbook (O'Reilly & Associates, ISBN " -"0-596-00797-3.)" - -#: ../../tutorial/whatnow.rst:48 -msgid "" -"https://pyvideo.org collects links to Python-related videos from conferences" -" and user-group meetings." -msgstr "" - -#: ../../tutorial/whatnow.rst:51 -msgid "" -"https://scipy.org: The Scientific Python project includes modules for fast " -"array computations and manipulations plus a host of packages for such things" -" as linear algebra, Fourier transforms, non-linear solvers, random number " -"distributions, statistical analysis and the like." -msgstr "" -"https://scipy.org: Proyek Scientific Python mencakup modul untuk perhitungan" -" dan manipulasi array cepat ditambah sejumlah paket untuk hal-hal seperti " -"aljabar linier, transformasi Fourier, pemecah non-linear, distribusi angka " -"acak, distribusi angka acak, analisis statistik, dan sejenisnya." - -#: ../../tutorial/whatnow.rst:56 -msgid "" -"For Python-related questions and problem reports, you can post to the " -"newsgroup :newsgroup:`comp.lang.python`, or send them to the mailing list at" -" python-list@python.org. The newsgroup and mailing list are gatewayed, so " -"messages posted to one will automatically be forwarded to the other. There " -"are hundreds of postings a day, asking (and answering) questions, suggesting" -" new features, and announcing new modules. Mailing list archives are " -"available at https://mail.python.org/pipermail/." -msgstr "" -"Untuk pertanyaan terkait Python dan laporan masalah, Anda dapat memposting " -"ke newsgroup :newsgroup:`comp.lang.python`, atau mengirimnya ke milis di " -"python-list@python.org. Newsgroup dan mailing list adalah gerbang, sehingga " -"pesan yang diposting ke salah satu secara otomatis akan diteruskan ke yang " -"lain. Ada ratusan posting sehari, menanyakan (dan menjawab) pertanyaan, " -"menyarankan fitur baru, dan mengumumkan modul baru. Arsip milis tersedia di " -"https://mail.python.org/pipermail/." - -#: ../../tutorial/whatnow.rst:64 -msgid "" -"Before posting, be sure to check the list of :ref:`Frequently Asked " -"Questions ` (also called the FAQ). The FAQ answers many of the " -"questions that come up again and again, and may already contain the solution" -" for your problem." -msgstr "" -"Sebelum memposting, pastikan untuk memeriksa daftar :ref:`Pertanyaan yang " -"Sering Diajukan `(juga disebut FAQ). FAQ menjawab banyak " -"pertanyaan yang muncul berulang-ulang, dan mungkin sudah mengandung solusi " -"untuk masalah Anda." - -#: ../../tutorial/whatnow.rst:70 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../tutorial/whatnow.rst:71 -msgid "" -"\"Cheese Shop\" is a Monty Python's sketch: a customer enters a cheese shop," -" but whatever cheese he asks for, the clerk says it's missing." -msgstr "" -"\"Cheese Shop\" atau Toko Keju adalah sketsa Monty Python: seorang pelanggan" -" memasuki sebuah toko keju, tetapi keju apa pun yang dia minta, petugas toko" -" mengatakan itu hilang." diff --git a/python-newest.using--android/id.po b/python-newest.using--android/id.po deleted file mode 100644 index fb253b1..0000000 --- a/python-newest.using--android/id.po +++ /dev/null @@ -1,147 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-09-27 14:19+0000\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../using/android.rst:5 -msgid "Using Python on Android" -msgstr "" - -#: ../../using/android.rst:7 -msgid "" -"Python on Android is unlike Python on desktop platforms. On a desktop " -"platform, Python is generally installed as a system resource that can be " -"used by any user of that computer. Users then interact with Python by " -"running a :program:`python` executable and entering commands at an " -"interactive prompt, or by running a Python script." -msgstr "" - -#: ../../using/android.rst:13 -msgid "" -"On Android, there is no concept of installing as a system resource. The only" -" unit of software distribution is an \"app\". There is also no console where" -" you could run a :program:`python` executable, or interact with a Python " -"REPL." -msgstr "" - -#: ../../using/android.rst:17 -msgid "" -"As a result, the only way you can use Python on Android is in embedded mode " -"– that is, by writing a native Android application, embedding a Python " -"interpreter using ``libpython``, and invoking Python code using the " -":ref:`Python embedding API `. The full Python interpreter, the " -"standard library, and all your Python code is then packaged into your app " -"for its own private use." -msgstr "" - -#: ../../using/android.rst:23 -msgid "" -"The Python standard library has some notable omissions and restrictions on " -"Android. See the :ref:`API availability guide ` for " -"details." -msgstr "" - -#: ../../using/android.rst:28 -msgid "Adding Python to an Android app" -msgstr "" - -#: ../../using/android.rst:30 -msgid "" -"Most app developers should use one of the following tools, which will " -"provide a much easier experience:" -msgstr "" - -#: ../../using/android.rst:33 -msgid "" -"`Briefcase `__, from the BeeWare project" -msgstr "" - -#: ../../using/android.rst:34 -msgid "" -"`Buildozer `__, from the Kivy project" -msgstr "" - -#: ../../using/android.rst:35 -msgid "`Chaquopy `__" -msgstr "" - -#: ../../using/android.rst:36 -msgid "" -"`pyqtdeploy `__" -msgstr "" - -#: ../../using/android.rst:37 -msgid "`Termux `__" -msgstr "" - -#: ../../using/android.rst:39 -msgid "" -"If you're sure you want to do all of this manually, read on. You can use the" -" :source:`testbed app ` as a guide; each step below " -"contains a link to the relevant file." -msgstr "" - -#: ../../using/android.rst:43 -msgid "" -"Build Python by following the instructions in :source:`Android/README.md`. " -"This will create the directory ``cross-build/HOST/prefix``." -msgstr "" - -#: ../../using/android.rst:46 -msgid "" -"Add code to your :source:`build.gradle " -"` file to copy the following items " -"into your project. All except your own Python code can be copied from " -"``prefix/lib``:" -msgstr "" - -#: ../../using/android.rst:50 -msgid "In your JNI libraries:" -msgstr "" - -#: ../../using/android.rst:52 -msgid "``libpython*.*.so``" -msgstr "" - -#: ../../using/android.rst:53 -msgid "``lib*_python.so`` (external libraries such as OpenSSL)" -msgstr "" - -#: ../../using/android.rst:55 -msgid "In your assets:" -msgstr "" - -#: ../../using/android.rst:57 -msgid "``python*.*`` (the Python standard library)" -msgstr "" - -#: ../../using/android.rst:58 -msgid "``python*.*/site-packages`` (your own Python code)" -msgstr "" - -#: ../../using/android.rst:60 -msgid "" -"Add code to your app to :source:`extract the assets to the filesystem " -"`." -msgstr "" - -#: ../../using/android.rst:63 -msgid "" -"Add code to your app to :source:`start Python in embedded mode " -"`. This will need to be C " -"code called via JNI." -msgstr "" diff --git a/python-newest.using--cmdline/id.po b/python-newest.using--cmdline/id.po deleted file mode 100644 index 3b31d00..0000000 --- a/python-newest.using--cmdline/id.po +++ /dev/null @@ -1,1679 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../using/cmdline.rst:9 -msgid "Command line and environment" -msgstr "Baris perintah dan lingkungan" - -#: ../../using/cmdline.rst:11 -msgid "" -"The CPython interpreter scans the command line and the environment for " -"various settings." -msgstr "" - -#: ../../using/cmdline.rst:16 -msgid "" -"Other implementations' command line schemes may differ. See " -":ref:`implementations` for further resources." -msgstr "" - -#: ../../using/cmdline.rst:23 -msgid "Command line" -msgstr "Baris perintah" - -#: ../../using/cmdline.rst:25 -msgid "When invoking Python, you may specify any of these options::" -msgstr "" - -#: ../../using/cmdline.rst:27 -msgid "" -"python [-bBdEhiIOPqRsSuvVWx?] [-c command | -m module-name | script | - ] " -"[args]" -msgstr "" - -#: ../../using/cmdline.rst:29 -msgid "" -"The most common use case is, of course, a simple invocation of a script::" -msgstr "" - -#: ../../using/cmdline.rst:31 -msgid "python myscript.py" -msgstr "" - -#: ../../using/cmdline.rst:37 -msgid "Interface options" -msgstr "Opsi antarmuka" - -#: ../../using/cmdline.rst:39 -msgid "" -"The interpreter interface resembles that of the UNIX shell, but provides " -"some additional methods of invocation:" -msgstr "" - -#: ../../using/cmdline.rst:42 -msgid "" -"When called with standard input connected to a tty device, it prompts for " -"commands and executes them until an EOF (an end-of-file character, you can " -"produce that with :kbd:`Ctrl-D` on UNIX or :kbd:`Ctrl-Z, Enter` on Windows) " -"is read. For more on interactive mode, see :ref:`tut-interac`." -msgstr "" - -#: ../../using/cmdline.rst:46 -msgid "" -"When called with a file name argument or with a file as standard input, it " -"reads and executes a script from that file." -msgstr "" - -#: ../../using/cmdline.rst:48 -msgid "" -"When called with a directory name argument, it reads and executes an " -"appropriately named script from that directory." -msgstr "" - -#: ../../using/cmdline.rst:50 -msgid "" -"When called with ``-c command``, it executes the Python statement(s) given " -"as *command*. Here *command* may contain multiple statements separated by " -"newlines. Leading whitespace is significant in Python statements!" -msgstr "" - -#: ../../using/cmdline.rst:53 -msgid "" -"When called with ``-m module-name``, the given module is located on the " -"Python module path and executed as a script." -msgstr "" - -#: ../../using/cmdline.rst:56 -msgid "" -"In non-interactive mode, the entire input is parsed before it is executed." -msgstr "" - -#: ../../using/cmdline.rst:58 -msgid "" -"An interface option terminates the list of options consumed by the " -"interpreter, all consecutive arguments will end up in :data:`sys.argv` -- " -"note that the first element, subscript zero (``sys.argv[0]``), is a string " -"reflecting the program's source." -msgstr "" - -#: ../../using/cmdline.rst:65 -msgid "" -"Execute the Python code in *command*. *command* can be one or more " -"statements separated by newlines, with significant leading whitespace as in " -"normal module code." -msgstr "" - -#: ../../using/cmdline.rst:69 -msgid "" -"If this option is given, the first element of :data:`sys.argv` will be " -"``\"-c\"`` and the current directory will be added to the start of " -":data:`sys.path` (allowing modules in that directory to be imported as top " -"level modules)." -msgstr "" - -#: ../../using/cmdline.rst:74 -msgid "" -"Raises an :ref:`auditing event ` ``cpython.run_command`` with " -"argument ``command``." -msgstr "" - -#: ../../using/cmdline.rst:76 -msgid "*command* is automatically dedented before execution." -msgstr "" - -#: ../../using/cmdline.rst:81 -msgid "" -"Search :data:`sys.path` for the named module and execute its contents as the" -" :mod:`__main__` module." -msgstr "" - -#: ../../using/cmdline.rst:84 -msgid "" -"Since the argument is a *module* name, you must not give a file extension " -"(``.py``). The module name should be a valid absolute Python module name, " -"but the implementation may not always enforce this (e.g. it may allow you to" -" use a name that includes a hyphen)." -msgstr "" - -#: ../../using/cmdline.rst:89 -msgid "" -"Package names (including namespace packages) are also permitted. When a " -"package name is supplied instead of a normal module, the interpreter will " -"execute ``.__main__`` as the main module. This behaviour is " -"deliberately similar to the handling of directories and zipfiles that are " -"passed to the interpreter as the script argument." -msgstr "" - -#: ../../using/cmdline.rst:98 -msgid "" -"This option cannot be used with built-in modules and extension modules " -"written in C, since they do not have Python module files. However, it can " -"still be used for precompiled modules, even if the original source file is " -"not available." -msgstr "" - -#: ../../using/cmdline.rst:103 -msgid "" -"If this option is given, the first element of :data:`sys.argv` will be the " -"full path to the module file (while the module file is being located, the " -"first element will be set to ``\"-m\"``). As with the :option:`-c` option, " -"the current directory will be added to the start of :data:`sys.path`." -msgstr "" - -#: ../../using/cmdline.rst:108 -msgid "" -":option:`-I` option can be used to run the script in isolated mode where " -":data:`sys.path` contains neither the current directory nor the user's site-" -"packages directory. All ``PYTHON*`` environment variables are ignored, too." -msgstr "" - -#: ../../using/cmdline.rst:113 -msgid "" -"Many standard library modules contain code that is invoked on their " -"execution as a script. An example is the :mod:`timeit` module::" -msgstr "" - -#: ../../using/cmdline.rst:116 -msgid "" -"python -m timeit -s \"setup here\" \"benchmarked code here\"\n" -"python -m timeit -h # for details" -msgstr "" - -#: ../../using/cmdline.rst:119 -msgid "" -"Raises an :ref:`auditing event ` ``cpython.run_module`` with " -"argument ``module-name``." -msgstr "" - -#: ../../using/cmdline.rst:122 -msgid ":func:`runpy.run_module`" -msgstr ":func:`runpy.run_module`" - -#: ../../using/cmdline.rst:123 ../../using/cmdline.rst:175 -msgid "Equivalent functionality directly available to Python code" -msgstr "" - -#: ../../using/cmdline.rst:125 -msgid ":pep:`338` -- Executing modules as scripts" -msgstr "" - -#: ../../using/cmdline.rst:127 -msgid "Supply the package name to run a ``__main__`` submodule." -msgstr "" - -#: ../../using/cmdline.rst:130 -msgid "namespace packages are also supported" -msgstr "paket *namespace* juga didukung" - -#: ../../using/cmdline.rst:137 -msgid "" -"Read commands from standard input (:data:`sys.stdin`). If standard input is" -" a terminal, :option:`-i` is implied." -msgstr "" - -#: ../../using/cmdline.rst:140 -msgid "" -"If this option is given, the first element of :data:`sys.argv` will be " -"``\"-\"`` and the current directory will be added to the start of " -":data:`sys.path`." -msgstr "" - -#: ../../using/cmdline.rst:144 ../../using/cmdline.rst:827 -msgid "" -"Raises an :ref:`auditing event ` ``cpython.run_stdin`` with no " -"arguments." -msgstr "" - -#: ../../using/cmdline.rst:150 -msgid "" -"Execute the Python code contained in *script*, which must be a filesystem " -"path (absolute or relative) referring to either a Python file, a directory " -"containing a ``__main__.py`` file, or a zipfile containing a ``__main__.py``" -" file." -msgstr "" - -#: ../../using/cmdline.rst:155 -msgid "" -"If this option is given, the first element of :data:`sys.argv` will be the " -"script name as given on the command line." -msgstr "" - -#: ../../using/cmdline.rst:158 -msgid "" -"If the script name refers directly to a Python file, the directory " -"containing that file is added to the start of :data:`sys.path`, and the file" -" is executed as the :mod:`__main__` module." -msgstr "" - -#: ../../using/cmdline.rst:162 -msgid "" -"If the script name refers to a directory or zipfile, the script name is " -"added to the start of :data:`sys.path` and the ``__main__.py`` file in that " -"location is executed as the :mod:`__main__` module." -msgstr "" - -#: ../../using/cmdline.rst:166 -msgid "" -":option:`-I` option can be used to run the script in isolated mode where " -":data:`sys.path` contains neither the script's directory nor the user's " -"site-packages directory. All ``PYTHON*`` environment variables are ignored, " -"too." -msgstr "" - -#: ../../using/cmdline.rst:171 -msgid "" -"Raises an :ref:`auditing event ` ``cpython.run_file`` with " -"argument ``filename``." -msgstr "" - -#: ../../using/cmdline.rst:174 -msgid ":func:`runpy.run_path`" -msgstr ":func:`runpy.run_path`" - -#: ../../using/cmdline.rst:178 -msgid "" -"If no interface option is given, :option:`-i` is implied, ``sys.argv[0]`` is" -" an empty string (``\"\"``) and the current directory will be added to the " -"start of :data:`sys.path`. Also, tab-completion and history editing is " -"automatically enabled, if available on your platform (see :ref:`rlcompleter-" -"config`)." -msgstr "" - -#: ../../using/cmdline.rst:184 -msgid ":ref:`tut-invoking`" -msgstr ":ref:`tut-invoking`" - -#: ../../using/cmdline.rst:186 -msgid "Automatic enabling of tab-completion and history editing." -msgstr "" - -#: ../../using/cmdline.rst:193 -msgid "Generic options" -msgstr "Opsi umum" - -#: ../../using/cmdline.rst:199 -msgid "" -"Print a short description of all command line options and corresponding " -"environment variables and exit." -msgstr "" - -#: ../../using/cmdline.rst:204 -msgid "" -"Print a short description of Python-specific environment variables and exit." -msgstr "" - -#: ../../using/cmdline.rst:211 -msgid "" -"Print a description of implementation-specific :option:`-X` options and " -"exit." -msgstr "" - -#: ../../using/cmdline.rst:218 -msgid "Print complete usage information and exit." -msgstr "" - -#: ../../using/cmdline.rst:225 -msgid "Print the Python version number and exit. Example output could be:" -msgstr "" - -#: ../../using/cmdline.rst:227 -msgid "Python 3.8.0b2+" -msgstr "" - -#: ../../using/cmdline.rst:231 -msgid "When given twice, print more information about the build, like:" -msgstr "" - -#: ../../using/cmdline.rst:233 -msgid "" -"Python 3.8.0b2+ (3.8:0c076caaa8, Apr 20 2019, 21:55:00)\n" -"[GCC 6.2.0 20161005]" -msgstr "" - -#: ../../using/cmdline.rst:238 -msgid "The ``-VV`` option." -msgstr "Opsi ``-VV``." - -#: ../../using/cmdline.rst:245 -msgid "Miscellaneous options" -msgstr "Opsi lain-lain" - -#: ../../using/cmdline.rst:249 -msgid "" -"Issue a warning when converting :class:`bytes` or :class:`bytearray` to " -":class:`str` without specifying encoding or comparing :class:`!bytes` or " -":class:`!bytearray` with :class:`!str` or :class:`!bytes` with :class:`int`." -" Issue an error when the option is given twice (:option:`!-bb`)." -msgstr "" - -#: ../../using/cmdline.rst:254 -msgid "Affects also comparisons of :class:`bytes` with :class:`int`." -msgstr "" - -#: ../../using/cmdline.rst:259 -msgid "" -"If given, Python won't try to write ``.pyc`` files on the import of source " -"modules. See also :envvar:`PYTHONDONTWRITEBYTECODE`." -msgstr "" - -#: ../../using/cmdline.rst:265 -msgid "" -"Control the validation behavior of hash-based ``.pyc`` files. See :ref:`pyc-" -"invalidation`. When set to ``default``, checked and unchecked hash-based " -"bytecode cache files are validated according to their default semantics. " -"When set to ``always``, all hash-based ``.pyc`` files, whether checked or " -"unchecked, are validated against their corresponding source file. When set " -"to ``never``, hash-based ``.pyc`` files are not validated against their " -"corresponding source files." -msgstr "" - -#: ../../using/cmdline.rst:273 -msgid "" -"The semantics of timestamp-based ``.pyc`` files are unaffected by this " -"option." -msgstr "" - -#: ../../using/cmdline.rst:279 -msgid "" -"Turn on parser debugging output (for expert only). See also the " -":envvar:`PYTHONDEBUG` environment variable." -msgstr "" - -#: ../../using/cmdline.rst:282 -msgid "" -"This option requires a :ref:`debug build of Python `, otherwise" -" it's ignored." -msgstr "" - -#: ../../using/cmdline.rst:288 -msgid "" -"Ignore all ``PYTHON*`` environment variables, e.g. :envvar:`PYTHONPATH` and " -":envvar:`PYTHONHOME`, that might be set." -msgstr "" - -#: ../../using/cmdline.rst:291 -msgid "See also the :option:`-P` and :option:`-I` (isolated) options." -msgstr "" - -#: ../../using/cmdline.rst:296 -msgid "Enter interactive mode after execution." -msgstr "" - -#: ../../using/cmdline.rst:298 -msgid "" -"Using the :option:`-i` option will enter interactive mode in any of the " -"following circumstances\\:" -msgstr "" - -#: ../../using/cmdline.rst:300 -msgid "When a script is passed as first argument" -msgstr "" - -#: ../../using/cmdline.rst:301 -msgid "When the :option:`-c` option is used" -msgstr "" - -#: ../../using/cmdline.rst:302 -msgid "When the :option:`-m` option is used" -msgstr "" - -#: ../../using/cmdline.rst:304 -msgid "" -"Interactive mode will start even when :data:`sys.stdin` does not appear to " -"be a terminal. The :envvar:`PYTHONSTARTUP` file is not read." -msgstr "" - -#: ../../using/cmdline.rst:307 -msgid "" -"This can be useful to inspect global variables or a stack trace when a " -"script raises an exception. See also :envvar:`PYTHONINSPECT`." -msgstr "" - -#: ../../using/cmdline.rst:313 -msgid "" -"Run Python in isolated mode. This also implies :option:`-E`, :option:`-P` " -"and :option:`-s` options." -msgstr "" - -#: ../../using/cmdline.rst:316 -msgid "" -"In isolated mode :data:`sys.path` contains neither the script's directory " -"nor the user's site-packages directory. All ``PYTHON*`` environment " -"variables are ignored, too. Further restrictions may be imposed to prevent " -"the user from injecting malicious code." -msgstr "" - -#: ../../using/cmdline.rst:326 -msgid "" -"Remove assert statements and any code conditional on the value of " -":const:`__debug__`. Augment the filename for compiled (:term:`bytecode`) " -"files by adding ``.opt-1`` before the ``.pyc`` extension (see :pep:`488`). " -"See also :envvar:`PYTHONOPTIMIZE`." -msgstr "" - -#: ../../using/cmdline.rst:331 ../../using/cmdline.rst:341 -msgid "Modify ``.pyc`` filenames according to :pep:`488`." -msgstr "" - -#: ../../using/cmdline.rst:337 -msgid "" -"Do :option:`-O` and also discard docstrings. Augment the filename for " -"compiled (:term:`bytecode`) files by adding ``.opt-2`` before the ``.pyc`` " -"extension (see :pep:`488`)." -msgstr "" - -#: ../../using/cmdline.rst:347 -msgid "Don't prepend a potentially unsafe path to :data:`sys.path`:" -msgstr "" - -#: ../../using/cmdline.rst:349 -msgid "" -"``python -m module`` command line: Don't prepend the current working " -"directory." -msgstr "" - -#: ../../using/cmdline.rst:351 -msgid "" -"``python script.py`` command line: Don't prepend the script's directory. If " -"it's a symbolic link, resolve symbolic links." -msgstr "" - -#: ../../using/cmdline.rst:353 -msgid "" -"``python -c code`` and ``python`` (REPL) command lines: Don't prepend an " -"empty string, which means the current working directory." -msgstr "" - -#: ../../using/cmdline.rst:356 -msgid "" -"See also the :envvar:`PYTHONSAFEPATH` environment variable, and :option:`-E`" -" and :option:`-I` (isolated) options." -msgstr "" - -#: ../../using/cmdline.rst:364 -msgid "" -"Don't display the copyright and version messages even in interactive mode." -msgstr "" - -#: ../../using/cmdline.rst:371 -msgid "" -"Turn on hash randomization. This option only has an effect if the " -":envvar:`PYTHONHASHSEED` environment variable is set to ``0``, since hash " -"randomization is enabled by default." -msgstr "" - -#: ../../using/cmdline.rst:375 -msgid "" -"On previous versions of Python, this option turns on hash randomization, so " -"that the :meth:`~object.__hash__` values of str and bytes objects are " -"\"salted\" with an unpredictable random value. Although they remain " -"constant within an individual Python process, they are not predictable " -"between repeated invocations of Python." -msgstr "" - -#: ../../using/cmdline.rst:381 -msgid "" -"Hash randomization is intended to provide protection against a denial-of-" -"service caused by carefully chosen inputs that exploit the worst case " -"performance of a dict construction, *O*\\ (*n*\\ :sup:`2`) complexity. See " -"http://ocert.org/advisories/ocert-2011-003.html for details." -msgstr "" - -#: ../../using/cmdline.rst:386 -msgid "" -":envvar:`PYTHONHASHSEED` allows you to set a fixed value for the hash seed " -"secret." -msgstr "" - -#: ../../using/cmdline.rst:391 -msgid "The option is no longer ignored." -msgstr "Opsi tidak lagi diabaikan." - -#: ../../using/cmdline.rst:397 -msgid "" -"Don't add the :data:`user site-packages directory ` to " -":data:`sys.path`." -msgstr "" - -#: ../../using/cmdline.rst:400 -msgid "See also :envvar:`PYTHONNOUSERSITE`." -msgstr "" - -#: ../../using/cmdline.rst:404 ../../using/cmdline.rst:924 -#: ../../using/cmdline.rst:936 -msgid ":pep:`370` -- Per user site-packages directory" -msgstr "" - -#: ../../using/cmdline.rst:409 -msgid "" -"Disable the import of the module :mod:`site` and the site-dependent " -"manipulations of :data:`sys.path` that it entails. Also disable these " -"manipulations if :mod:`site` is explicitly imported later (call " -":func:`site.main` if you want them to be triggered)." -msgstr "" - -#: ../../using/cmdline.rst:417 -msgid "" -"Force the stdout and stderr streams to be unbuffered. This option has no " -"effect on the stdin stream." -msgstr "" - -#: ../../using/cmdline.rst:420 -msgid "See also :envvar:`PYTHONUNBUFFERED`." -msgstr "Lihat juga :envvar:`PYTHONUNBUFFERED`." - -#: ../../using/cmdline.rst:422 -msgid "The text layer of the stdout and stderr streams now is unbuffered." -msgstr "" - -#: ../../using/cmdline.rst:428 -msgid "" -"Print a message each time a module is initialized, showing the place " -"(filename or built-in module) from which it is loaded. When given twice " -"(:option:`!-vv`), print a message for each file that is checked for when " -"searching for a module. Also provides information on module cleanup at " -"exit." -msgstr "" - -#: ../../using/cmdline.rst:433 -msgid "" -"The :mod:`site` module reports the site-specific paths and :file:`.pth` " -"files being processed." -msgstr "" - -#: ../../using/cmdline.rst:437 -msgid "See also :envvar:`PYTHONVERBOSE`." -msgstr "" - -#: ../../using/cmdline.rst:443 -msgid "" -"Warning control. Python's warning machinery by default prints warning " -"messages to :data:`sys.stderr`." -msgstr "" - -#: ../../using/cmdline.rst:446 ../../using/cmdline.rst:952 -msgid "" -"The simplest settings apply a particular action unconditionally to all " -"warnings emitted by a process (even those that are otherwise ignored by " -"default)::" -msgstr "" - -#: ../../using/cmdline.rst:450 -msgid "" -"-Wdefault # Warn once per call location\n" -"-Werror # Convert to exceptions\n" -"-Walways # Warn every time\n" -"-Wall # Same as -Walways\n" -"-Wmodule # Warn once per calling module\n" -"-Wonce # Warn once per Python process\n" -"-Wignore # Never warn" -msgstr "" - -#: ../../using/cmdline.rst:458 -msgid "" -"The action names can be abbreviated as desired and the interpreter will " -"resolve them to the appropriate action name. For example, ``-Wi`` is the " -"same as ``-Wignore``." -msgstr "" - -#: ../../using/cmdline.rst:462 -msgid "The full form of argument is::" -msgstr "" - -#: ../../using/cmdline.rst:464 -msgid "action:message:category:module:lineno" -msgstr "" - -#: ../../using/cmdline.rst:466 -msgid "" -"Empty fields match all values; trailing empty fields may be omitted. For " -"example ``-W ignore::DeprecationWarning`` ignores all DeprecationWarning " -"warnings." -msgstr "" - -#: ../../using/cmdline.rst:470 -msgid "" -"The *action* field is as explained above but only applies to warnings that " -"match the remaining fields." -msgstr "" - -#: ../../using/cmdline.rst:473 -msgid "" -"The *message* field must match the whole warning message; this match is " -"case-insensitive." -msgstr "" - -#: ../../using/cmdline.rst:476 -msgid "" -"The *category* field matches the warning category (ex: " -"``DeprecationWarning``). This must be a class name; the match test whether " -"the actual warning category of the message is a subclass of the specified " -"warning category." -msgstr "" - -#: ../../using/cmdline.rst:481 -msgid "" -"The *module* field matches the (fully qualified) module name; this match is " -"case-sensitive." -msgstr "" - -#: ../../using/cmdline.rst:484 -msgid "" -"The *lineno* field matches the line number, where zero matches all line " -"numbers and is thus equivalent to an omitted line number." -msgstr "" - -#: ../../using/cmdline.rst:487 -msgid "" -"Multiple :option:`-W` options can be given; when a warning matches more than" -" one option, the action for the last matching option is performed. Invalid " -":option:`-W` options are ignored (though, a warning message is printed about" -" invalid options when the first warning is issued)." -msgstr "" - -#: ../../using/cmdline.rst:492 -msgid "" -"Warnings can also be controlled using the :envvar:`PYTHONWARNINGS` " -"environment variable and from within a Python program using the " -":mod:`warnings` module. For example, the :func:`warnings.filterwarnings` " -"function can be used to use a regular expression on the warning message." -msgstr "" - -#: ../../using/cmdline.rst:497 ../../using/cmdline.rst:964 -msgid "" -"See :ref:`warning-filter` and :ref:`describing-warning-filters` for more " -"details." -msgstr "" - -#: ../../using/cmdline.rst:503 -msgid "" -"Skip the first line of the source, allowing use of non-Unix forms of " -"``#!cmd``. This is intended for a DOS specific hack only." -msgstr "" - -#: ../../using/cmdline.rst:509 -msgid "" -"Reserved for various implementation-specific options. CPython currently " -"defines the following possible values:" -msgstr "" - -#: ../../using/cmdline.rst:512 -msgid "" -"``-X faulthandler`` to enable :mod:`faulthandler`. See also " -":envvar:`PYTHONFAULTHANDLER`." -msgstr "" - -#: ../../using/cmdline.rst:517 -msgid "" -"``-X showrefcount`` to output the total reference count and number of used " -"memory blocks when the program finishes or after each statement in the " -"interactive interpreter. This only works on :ref:`debug builds `." -msgstr "" - -#: ../../using/cmdline.rst:524 -msgid "" -"``-X tracemalloc`` to start tracing Python memory allocations using the " -":mod:`tracemalloc` module. By default, only the most recent frame is stored " -"in a traceback of a trace. Use ``-X tracemalloc=NFRAME`` to start tracing " -"with a traceback limit of *NFRAME* frames. See :func:`tracemalloc.start` and" -" :envvar:`PYTHONTRACEMALLOC` for more information." -msgstr "" - -#: ../../using/cmdline.rst:533 -msgid "" -"``-X int_max_str_digits`` configures the :ref:`integer string conversion " -"length limitation `. See also " -":envvar:`PYTHONINTMAXSTRDIGITS`." -msgstr "" - -#: ../../using/cmdline.rst:539 -msgid "" -"``-X importtime`` to show how long each import takes. It shows module name, " -"cumulative time (including nested imports) and self time (excluding nested " -"imports). Note that its output may be broken in multi-threaded application." -" Typical usage is ``python -X importtime -c 'import asyncio'``." -msgstr "" - -#: ../../using/cmdline.rst:544 -msgid "" -"``-X importtime=2`` enables additional output that indicates when an " -"imported module has already been loaded. In such cases, the string " -"``cached`` will be printed in both time columns." -msgstr "" - -#: ../../using/cmdline.rst:548 -msgid "See also :envvar:`PYTHONPROFILEIMPORTTIME`." -msgstr "" - -#: ../../using/cmdline.rst:554 -msgid "" -"Added ``-X importtime=2`` to also trace imports of loaded modules, and " -"reserved values other than ``1`` and ``2`` for future use." -msgstr "" - -#: ../../using/cmdline.rst:557 -msgid "" -"``-X dev``: enable :ref:`Python Development Mode `, introducing " -"additional runtime checks that are too expensive to be enabled by default. " -"See also :envvar:`PYTHONDEVMODE`." -msgstr "" - -#: ../../using/cmdline.rst:563 -msgid "" -"``-X utf8`` enables the :ref:`Python UTF-8 Mode `. ``-X utf8=0`` " -"explicitly disables :ref:`Python UTF-8 Mode ` (even when it would" -" otherwise activate automatically). See also :envvar:`PYTHONUTF8`." -msgstr "" - -#: ../../using/cmdline.rst:570 -msgid "" -"``-X pycache_prefix=PATH`` enables writing ``.pyc`` files to a parallel tree" -" rooted at the given directory instead of to the code tree. See also " -":envvar:`PYTHONPYCACHEPREFIX`." -msgstr "" - -#: ../../using/cmdline.rst:576 -msgid "" -"``-X warn_default_encoding`` issues a :class:`EncodingWarning` when the " -"locale-specific default encoding is used for opening files. See also " -":envvar:`PYTHONWARNDEFAULTENCODING`." -msgstr "" - -#: ../../using/cmdline.rst:582 -msgid "" -"``-X no_debug_ranges`` disables the inclusion of the tables mapping extra " -"location information (end line, start column offset and end column offset) " -"to every instruction in code objects. This is useful when smaller code " -"objects and pyc files are desired as well as suppressing the extra visual " -"location indicators when the interpreter displays tracebacks. See also " -":envvar:`PYTHONNODEBUGRANGES`." -msgstr "" - -#: ../../using/cmdline.rst:591 -msgid "" -"``-X frozen_modules`` determines whether or not frozen modules are ignored " -"by the import machinery. A value of ``on`` means they get imported and " -"``off`` means they are ignored. The default is ``on`` if this is an " -"installed Python (the normal case). If it's under development (running from" -" the source tree) then the default is ``off``. Note that the " -":mod:`!importlib_bootstrap` and :mod:`!importlib_bootstrap_external` frozen " -"modules are always used, even if this flag is set to ``off``. See also " -":envvar:`PYTHON_FROZEN_MODULES`." -msgstr "" - -#: ../../using/cmdline.rst:602 -msgid "" -"``-X perf`` enables support for the Linux ``perf`` profiler. When this " -"option is provided, the ``perf`` profiler will be able to report Python " -"calls. This option is only available on some platforms and will do nothing " -"if is not supported on the current system. The default value is \"off\". See" -" also :envvar:`PYTHONPERFSUPPORT` and :ref:`perf_profiling`." -msgstr "" - -#: ../../using/cmdline.rst:610 -msgid "" -"``-X perf_jit`` enables support for the Linux ``perf`` profiler with DWARF " -"support. When this option is provided, the ``perf`` profiler will be able to" -" report Python calls using DWARF information. This option is only available " -"on some platforms and will do nothing if is not supported on the current " -"system. The default value is \"off\". See also " -":envvar:`PYTHON_PERF_JIT_SUPPORT` and :ref:`perf_profiling`." -msgstr "" - -#: ../../using/cmdline.rst:619 -msgid "" -"``-X disable_remote_debug`` disables the remote debugging support as " -"described in :pep:`768`. This includes both the functionality to schedule " -"code for execution in another process and the functionality to receive code " -"for execution in the current process." -msgstr "" - -#: ../../using/cmdline.rst:624 -msgid "" -"This option is only available on some platforms and will do nothing if is " -"not supported on the current system. See also " -":envvar:`PYTHON_DISABLE_REMOTE_DEBUG` and :pep:`768`." -msgstr "" - -#: ../../using/cmdline.rst:630 -msgid "" -":samp:`-X cpu_count={n}` overrides :func:`os.cpu_count`, " -":func:`os.process_cpu_count`, and :func:`multiprocessing.cpu_count`. *n* " -"must be greater than or equal to 1. This option may be useful for users who " -"need to limit CPU resources of a container system. See also " -":envvar:`PYTHON_CPU_COUNT`. If *n* is ``default``, nothing is overridden." -msgstr "" - -#: ../../using/cmdline.rst:639 -msgid "" -":samp:`-X presite={package.module}` specifies a module that should be " -"imported before the :mod:`site` module is executed and before the " -":mod:`__main__` module exists. Therefore, the imported module isn't " -":mod:`__main__`. This can be used to execute code early during Python " -"initialization. Python needs to be :ref:`built in debug mode ` " -"for this option to exist. See also :envvar:`PYTHON_PRESITE`." -msgstr "" - -#: ../../using/cmdline.rst:648 -msgid "" -":samp:`-X gil={0,1}` forces the GIL to be disabled or enabled, respectively." -" Setting to ``0`` is only available in builds configured with " -":option:`--disable-gil`. See also :envvar:`PYTHON_GIL` and " -":ref:`whatsnew313-free-threaded-cpython`." -msgstr "" - -#: ../../using/cmdline.rst:655 -msgid "" -":samp:`-X thread_inherit_context={0,1}` causes :class:`~threading.Thread` " -"to, by default, use a copy of context of of the caller of ``Thread.start()``" -" when starting. Otherwise, threads will start with an empty context. If " -"unset, the value of this option defaults to ``1`` on free-threaded builds " -"and to ``0`` otherwise. See also :envvar:`PYTHON_THREAD_INHERIT_CONTEXT`." -msgstr "" - -#: ../../using/cmdline.rst:664 -msgid "" -":samp:`-X context_aware_warnings={0,1}` causes the " -":class:`warnings.catch_warnings` context manager to use a " -":class:`~contextvars.ContextVar` to store warnings filter state. If unset, " -"the value of this option defaults to ``1`` on free-threaded builds and to " -"``0`` otherwise. See also :envvar:`PYTHON_CONTEXT_AWARE_WARNINGS`." -msgstr "" - -#: ../../using/cmdline.rst:672 -msgid "" -"It also allows passing arbitrary values and retrieving them through the " -":data:`sys._xoptions` dictionary." -msgstr "" - -#: ../../using/cmdline.rst:677 -msgid "Removed the ``-X showalloccount`` option." -msgstr "" - -#: ../../using/cmdline.rst:680 -msgid "Removed the ``-X oldparser`` option." -msgstr "" - -#: ../../using/cmdline.rst:685 -msgid "" -":option:`!-J` is no longer reserved for use by Jython_, and now has no " -"special meaning." -msgstr "" - -#: ../../using/cmdline.rst:693 -msgid "Controlling color" -msgstr "" - -#: ../../using/cmdline.rst:695 -msgid "" -"The Python interpreter is configured by default to use colors to highlight " -"output in certain situations such as when displaying tracebacks. This " -"behavior can be controlled by setting different environment variables." -msgstr "" - -#: ../../using/cmdline.rst:699 -msgid "" -"Setting the environment variable ``TERM`` to ``dumb`` will disable color." -msgstr "" - -#: ../../using/cmdline.rst:701 -msgid "" -"If the |FORCE_COLOR|_ environment variable is set, then color will be " -"enabled regardless of the value of TERM. This is useful on CI systems which " -"aren’t terminals but can still display ANSI escape sequences." -msgstr "" - -#: ../../using/cmdline.rst:705 -msgid "" -"If the |NO_COLOR|_ environment variable is set, Python will disable all " -"color in the output. This takes precedence over ``FORCE_COLOR``." -msgstr "" - -#: ../../using/cmdline.rst:708 -msgid "" -"All these environment variables are used also by other tools to control " -"color output. To control the color output only in the Python interpreter, " -"the :envvar:`PYTHON_COLORS` environment variable can be used. This variable " -"takes precedence over ``NO_COLOR``, which in turn takes precedence over " -"``FORCE_COLOR``." -msgstr "" - -#: ../../using/cmdline.rst:718 -msgid "Environment variables" -msgstr "Variabel lingkungan" - -#: ../../using/cmdline.rst:720 -msgid "" -"These environment variables influence Python's behavior, they are processed " -"before the command-line switches other than -E or -I. It is customary that " -"command-line switches override environmental variables where there is a " -"conflict." -msgstr "" - -#: ../../using/cmdline.rst:727 -msgid "" -"Change the location of the standard Python libraries. By default, the " -"libraries are searched in :file:`{prefix}/lib/python{version}` and " -":file:`{exec_prefix}/lib/python{version}`, where :file:`{prefix}` and " -":file:`{exec_prefix}` are installation-dependent directories, both " -"defaulting to :file:`/usr/local`." -msgstr "" - -#: ../../using/cmdline.rst:733 -msgid "" -"When :envvar:`PYTHONHOME` is set to a single directory, its value replaces " -"both :file:`{prefix}` and :file:`{exec_prefix}`. To specify different " -"values for these, set :envvar:`PYTHONHOME` to " -":file:`{prefix}:{exec_prefix}`." -msgstr "" - -#: ../../using/cmdline.rst:740 -msgid "" -"Augment the default search path for module files. The format is the same as" -" the shell's :envvar:`PATH`: one or more directory pathnames separated by " -":data:`os.pathsep` (e.g. colons on Unix or semicolons on Windows). Non-" -"existent directories are silently ignored." -msgstr "" - -#: ../../using/cmdline.rst:745 -msgid "" -"In addition to normal directories, individual :envvar:`PYTHONPATH` entries " -"may refer to zipfiles containing pure Python modules (in either source or " -"compiled form). Extension modules cannot be imported from zipfiles." -msgstr "" - -#: ../../using/cmdline.rst:749 -msgid "" -"The default search path is installation dependent, but generally begins with" -" :file:`{prefix}/lib/python{version}` (see :envvar:`PYTHONHOME` above). It " -"is *always* appended to :envvar:`PYTHONPATH`." -msgstr "" - -#: ../../using/cmdline.rst:753 -msgid "" -"An additional directory will be inserted in the search path in front of " -":envvar:`PYTHONPATH` as described above under :ref:`using-on-interface-" -"options`. The search path can be manipulated from within a Python program as" -" the variable :data:`sys.path`." -msgstr "" - -#: ../../using/cmdline.rst:761 -msgid "" -"If this is set to a non-empty string, don't prepend a potentially unsafe " -"path to :data:`sys.path`: see the :option:`-P` option for details." -msgstr "" - -#: ../../using/cmdline.rst:769 -msgid "" -"If this is set to a non-empty string, it overrides the " -":data:`sys.platlibdir` value." -msgstr "" - -#: ../../using/cmdline.rst:777 -msgid "" -"If this is the name of a readable file, the Python commands in that file are" -" executed before the first prompt is displayed in interactive mode. The " -"file is executed in the same namespace where interactive commands are " -"executed so that objects defined or imported in it can be used without " -"qualification in the interactive session. You can also change the prompts " -":data:`sys.ps1` and :data:`sys.ps2` and the hook " -":data:`sys.__interactivehook__` in this file." -msgstr "" - -#: ../../using/cmdline.rst:784 ../../using/cmdline.rst:786 -msgid "" -"Raises an :ref:`auditing event ` ``cpython.run_startup`` with the " -"filename as the argument when called on startup." -msgstr "" - -#: ../../using/cmdline.rst:792 -msgid "" -"If this is set to a non-empty string it is equivalent to specifying the " -":option:`-O` option. If set to an integer, it is equivalent to specifying " -":option:`-O` multiple times." -msgstr "" - -#: ../../using/cmdline.rst:799 -msgid "" -"If this is set, it names a callable using dotted-path notation. The module " -"containing the callable will be imported and then the callable will be run " -"by the default implementation of :func:`sys.breakpointhook` which itself is " -"called by built-in :func:`breakpoint`. If not set, or set to the empty " -"string, it is equivalent to the value \"pdb.set_trace\". Setting this to " -"the string \"0\" causes the default implementation of " -":func:`sys.breakpointhook` to do nothing but return immediately." -msgstr "" - -#: ../../using/cmdline.rst:811 -msgid "" -"If this is set to a non-empty string it is equivalent to specifying the " -":option:`-d` option. If set to an integer, it is equivalent to specifying " -":option:`-d` multiple times." -msgstr "" - -#: ../../using/cmdline.rst:815 -msgid "" -"This environment variable requires a :ref:`debug build of Python `, otherwise it's ignored." -msgstr "" - -#: ../../using/cmdline.rst:821 -msgid "" -"If this is set to a non-empty string it is equivalent to specifying the " -":option:`-i` option." -msgstr "" - -#: ../../using/cmdline.rst:824 -msgid "" -"This variable can also be modified by Python code using :data:`os.environ` " -"to force inspect mode on program termination." -msgstr "" - -#: ../../using/cmdline.rst:829 -msgid "(also 3.11.10, 3.10.15, 3.9.20, and 3.8.20) Emits audit events." -msgstr "" - -#: ../../using/cmdline.rst:832 -msgid "" -"Uses PyREPL if possible, in which case :envvar:`PYTHONSTARTUP` is also " -"executed. Emits audit events." -msgstr "" - -#: ../../using/cmdline.rst:839 -msgid "" -"If this is set to a non-empty string it is equivalent to specifying the " -":option:`-u` option." -msgstr "" - -#: ../../using/cmdline.rst:845 -msgid "" -"If this is set to a non-empty string it is equivalent to specifying the " -":option:`-v` option. If set to an integer, it is equivalent to specifying " -":option:`-v` multiple times." -msgstr "" - -#: ../../using/cmdline.rst:852 -msgid "" -"If this is set, Python ignores case in :keyword:`import` statements. This " -"only works on Windows and macOS." -msgstr "" - -#: ../../using/cmdline.rst:858 -msgid "" -"If this is set to a non-empty string, Python won't try to write ``.pyc`` " -"files on the import of source modules. This is equivalent to specifying the" -" :option:`-B` option." -msgstr "" - -#: ../../using/cmdline.rst:865 -msgid "" -"If this is set, Python will write ``.pyc`` files in a mirror directory tree " -"at this path, instead of in ``__pycache__`` directories within the source " -"tree. This is equivalent to specifying the :option:`-X` " -"``pycache_prefix=PATH`` option." -msgstr "" - -#: ../../using/cmdline.rst:875 -msgid "" -"If this variable is not set or set to ``random``, a random value is used to " -"seed the hashes of str and bytes objects." -msgstr "" - -#: ../../using/cmdline.rst:878 -msgid "" -"If :envvar:`PYTHONHASHSEED` is set to an integer value, it is used as a " -"fixed seed for generating the hash() of the types covered by the hash " -"randomization." -msgstr "" - -#: ../../using/cmdline.rst:882 -msgid "" -"Its purpose is to allow repeatable hashing, such as for selftests for the " -"interpreter itself, or to allow a cluster of python processes to share hash " -"values." -msgstr "" - -#: ../../using/cmdline.rst:886 -msgid "" -"The integer must be a decimal number in the range [0,4294967295]. " -"Specifying the value 0 will disable hash randomization." -msgstr "" - -#: ../../using/cmdline.rst:893 -msgid "" -"If this variable is set to an integer, it is used to configure the " -"interpreter's global :ref:`integer string conversion length limitation " -"`." -msgstr "" - -#: ../../using/cmdline.rst:901 -msgid "" -"If this is set before running the interpreter, it overrides the encoding " -"used for stdin/stdout/stderr, in the syntax ``encodingname:errorhandler``. " -"Both the ``encodingname`` and the ``:errorhandler`` parts are optional and " -"have the same meaning as in :func:`str.encode`." -msgstr "" - -#: ../../using/cmdline.rst:906 -msgid "" -"For stderr, the ``:errorhandler`` part is ignored; the handler will always " -"be ``'backslashreplace'``." -msgstr "" - -#: ../../using/cmdline.rst:909 -msgid "The ``encodingname`` part is now optional." -msgstr "" - -#: ../../using/cmdline.rst:912 -msgid "" -"On Windows, the encoding specified by this variable is ignored for " -"interactive console buffers unless :envvar:`PYTHONLEGACYWINDOWSSTDIO` is " -"also specified. Files and pipes redirected through the standard streams are " -"not affected." -msgstr "" - -#: ../../using/cmdline.rst:919 -msgid "" -"If this is set, Python won't add the :data:`user site-packages directory " -"` to :data:`sys.path`." -msgstr "" - -#: ../../using/cmdline.rst:929 -msgid "" -"Defines the :data:`user base directory `, which is used to " -"compute the path of the :data:`user site-packages directory " -"` and :ref:`installation paths ` for " -"``python -m pip install --user``." -msgstr "" - -#: ../../using/cmdline.rst:941 -msgid "" -"If this environment variable is set, ``sys.argv[0]`` will be set to its " -"value instead of the value got through the C runtime. Only works on macOS." -msgstr "" - -#: ../../using/cmdline.rst:947 -msgid "" -"This is equivalent to the :option:`-W` option. If set to a comma separated " -"string, it is equivalent to specifying :option:`-W` multiple times, with " -"filters later in the list taking precedence over those earlier in the list." -msgstr "" - -#: ../../using/cmdline.rst:956 -msgid "" -"PYTHONWARNINGS=default # Warn once per call location\n" -"PYTHONWARNINGS=error # Convert to exceptions\n" -"PYTHONWARNINGS=always # Warn every time\n" -"PYTHONWARNINGS=all # Same as PYTHONWARNINGS=always\n" -"PYTHONWARNINGS=module # Warn once per calling module\n" -"PYTHONWARNINGS=once # Warn once per Python process\n" -"PYTHONWARNINGS=ignore # Never warn" -msgstr "" - -#: ../../using/cmdline.rst:970 -msgid "" -"If this environment variable is set to a non-empty string, " -":func:`faulthandler.enable` is called at startup: install a handler for " -":const:`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, :const:`~signal.SIGABRT`," -" :const:`~signal.SIGBUS` and :const:`~signal.SIGILL` signals to dump the " -"Python traceback. This is equivalent to :option:`-X` ``faulthandler`` " -"option." -msgstr "" - -#: ../../using/cmdline.rst:982 -msgid "" -"If this environment variable is set to a non-empty string, start tracing " -"Python memory allocations using the :mod:`tracemalloc` module. The value of " -"the variable is the maximum number of frames stored in a traceback of a " -"trace. For example, ``PYTHONTRACEMALLOC=1`` stores only the most recent " -"frame. See the :func:`tracemalloc.start` function for more information. This" -" is equivalent to setting the :option:`-X` ``tracemalloc`` option." -msgstr "" - -#: ../../using/cmdline.rst:995 -msgid "" -"If this environment variable is set to ``1``, Python will show how long each" -" import takes. If set to ``2``, Python will include output for imported " -"modules that have already been loaded. This is equivalent to setting the " -":option:`-X` ``importtime`` option." -msgstr "" - -#: ../../using/cmdline.rst:1004 -msgid "" -"Added ``PYTHONPROFILEIMPORTTIME=2`` to also trace imports of loaded modules." -msgstr "" - -#: ../../using/cmdline.rst:1009 -msgid "" -"If this environment variable is set to a non-empty string, enable the " -":ref:`debug mode ` of the :mod:`asyncio` module." -msgstr "" - -#: ../../using/cmdline.rst:1017 -msgid "Set the Python memory allocators and/or install debug hooks." -msgstr "" - -#: ../../using/cmdline.rst:1019 -msgid "Set the family of memory allocators used by Python:" -msgstr "" - -#: ../../using/cmdline.rst:1021 -msgid "" -"``default``: use the :ref:`default memory allocators `." -msgstr "" - -#: ../../using/cmdline.rst:1023 -msgid "" -"``malloc``: use the :c:func:`malloc` function of the C library for all " -"domains (:c:macro:`PYMEM_DOMAIN_RAW`, :c:macro:`PYMEM_DOMAIN_MEM`, " -":c:macro:`PYMEM_DOMAIN_OBJ`)." -msgstr "" - -#: ../../using/cmdline.rst:1026 -msgid "" -"``pymalloc``: use the :ref:`pymalloc allocator ` for " -":c:macro:`PYMEM_DOMAIN_MEM` and :c:macro:`PYMEM_DOMAIN_OBJ` domains and use " -"the :c:func:`malloc` function for the :c:macro:`PYMEM_DOMAIN_RAW` domain." -msgstr "" - -#: ../../using/cmdline.rst:1029 -msgid "" -"``mimalloc``: use the :ref:`mimalloc allocator ` for " -":c:macro:`PYMEM_DOMAIN_MEM` and :c:macro:`PYMEM_DOMAIN_OBJ` domains and use " -"the :c:func:`malloc` function for the :c:macro:`PYMEM_DOMAIN_RAW` domain." -msgstr "" - -#: ../../using/cmdline.rst:1033 -msgid "Install :ref:`debug hooks `:" -msgstr "" - -#: ../../using/cmdline.rst:1035 -msgid "" -"``debug``: install debug hooks on top of the :ref:`default memory allocators" -" `." -msgstr "" - -#: ../../using/cmdline.rst:1037 -msgid "``malloc_debug``: same as ``malloc`` but also install debug hooks." -msgstr "" - -#: ../../using/cmdline.rst:1038 -msgid "``pymalloc_debug``: same as ``pymalloc`` but also install debug hooks." -msgstr "" - -#: ../../using/cmdline.rst:1039 -msgid "``mimalloc_debug``: same as ``mimalloc`` but also install debug hooks." -msgstr "" - -#: ../../using/cmdline.rst:1043 -msgid "Added the ``\"default\"`` allocator." -msgstr "" - -#: ../../using/cmdline.rst:1049 -msgid "" -"If set to a non-empty string, Python will print statistics of the " -":ref:`pymalloc memory allocator ` every time a new pymalloc object" -" arena is created, and on shutdown." -msgstr "" - -#: ../../using/cmdline.rst:1053 -msgid "" -"This variable is ignored if the :envvar:`PYTHONMALLOC` environment variable " -"is used to force the :c:func:`malloc` allocator of the C library, or if " -"Python is configured without ``pymalloc`` support." -msgstr "" - -#: ../../using/cmdline.rst:1057 -msgid "" -"This variable can now also be used on Python compiled in release mode. It " -"now has no effect if set to an empty string." -msgstr "" - -#: ../../using/cmdline.rst:1064 -msgid "" -"If set to a non-empty string, the default :term:`filesystem encoding and " -"error handler` mode will revert to their pre-3.6 values of 'mbcs' and " -"'replace', respectively. Otherwise, the new defaults 'utf-8' and " -"'surrogatepass' are used." -msgstr "" - -#: ../../using/cmdline.rst:1069 -msgid "" -"This may also be enabled at runtime with " -":func:`sys._enablelegacywindowsfsencoding`." -msgstr "" - -#: ../../using/cmdline.rst:1072 ../../using/cmdline.rst:1086 -#: ../../using/cmdline.rst:1137 -msgid "Availability" -msgstr "" - -#: ../../using/cmdline.rst:1074 -msgid "See :pep:`529` for more details." -msgstr "Lihat :pep:`529` untuk lebih detail." - -#: ../../using/cmdline.rst:1079 -msgid "" -"If set to a non-empty string, does not use the new console reader and " -"writer. This means that Unicode characters will be encoded according to the " -"active console code page, rather than using utf-8." -msgstr "" - -#: ../../using/cmdline.rst:1083 -msgid "" -"This variable is ignored if the standard streams are redirected (to files or" -" pipes) rather than referring to console buffers." -msgstr "" - -#: ../../using/cmdline.rst:1093 -msgid "" -"If set to the value ``0``, causes the main Python command line application " -"to skip coercing the legacy ASCII-based C and POSIX locales to a more " -"capable UTF-8 based alternative." -msgstr "" - -#: ../../using/cmdline.rst:1097 -msgid "" -"If this variable is *not* set (or is set to a value other than ``0``), the " -"``LC_ALL`` locale override environment variable is also not set, and the " -"current locale reported for the ``LC_CTYPE`` category is either the default " -"``C`` locale, or else the explicitly ASCII-based ``POSIX`` locale, then the " -"Python CLI will attempt to configure the following locales for the " -"``LC_CTYPE`` category in the order listed before loading the interpreter " -"runtime:" -msgstr "" - -#: ../../using/cmdline.rst:1105 -msgid "``C.UTF-8``" -msgstr "``C.UTF-8``" - -#: ../../using/cmdline.rst:1106 -msgid "``C.utf8``" -msgstr "``C.utf8``" - -#: ../../using/cmdline.rst:1107 -msgid "``UTF-8``" -msgstr "``UTF-8``" - -#: ../../using/cmdline.rst:1109 -msgid "" -"If setting one of these locale categories succeeds, then the ``LC_CTYPE`` " -"environment variable will also be set accordingly in the current process " -"environment before the Python runtime is initialized. This ensures that in " -"addition to being seen by both the interpreter itself and other locale-aware" -" components running in the same process (such as the GNU ``readline`` " -"library), the updated setting is also seen in subprocesses (regardless of " -"whether or not those processes are running a Python interpreter), as well as" -" in operations that query the environment rather than the current C locale " -"(such as Python's own :func:`locale.getdefaultlocale`)." -msgstr "" - -#: ../../using/cmdline.rst:1119 -msgid "" -"Configuring one of these locales (either explicitly or via the above " -"implicit locale coercion) automatically enables the ``surrogateescape`` " -":ref:`error handler ` for :data:`sys.stdin` and " -":data:`sys.stdout` (:data:`sys.stderr` continues to use ``backslashreplace``" -" as it does in any other locale). This stream handling behavior can be " -"overridden using :envvar:`PYTHONIOENCODING` as usual." -msgstr "" - -#: ../../using/cmdline.rst:1126 -msgid "" -"For debugging purposes, setting ``PYTHONCOERCECLOCALE=warn`` will cause " -"Python to emit warning messages on ``stderr`` if either the locale coercion " -"activates, or else if a locale that *would* have triggered coercion is still" -" active when the Python runtime is initialized." -msgstr "" - -#: ../../using/cmdline.rst:1131 -msgid "" -"Also note that even when locale coercion is disabled, or when it fails to " -"find a suitable target locale, :envvar:`PYTHONUTF8` will still activate by " -"default in legacy ASCII-based locales. Both features must be disabled in " -"order to force the interpreter to use ``ASCII`` instead of ``UTF-8`` for " -"system interfaces." -msgstr "" - -#: ../../using/cmdline.rst:1139 -msgid "See :pep:`538` for more details." -msgstr "Lihat :pep:`538` untuk lebih detail." - -#: ../../using/cmdline.rst:1145 -msgid "" -"If this environment variable is set to a non-empty string, enable " -":ref:`Python Development Mode `, introducing additional runtime " -"checks that are too expensive to be enabled by default. This is equivalent " -"to setting the :option:`-X` ``dev`` option." -msgstr "" - -#: ../../using/cmdline.rst:1154 -msgid "If set to ``1``, enable the :ref:`Python UTF-8 Mode `." -msgstr "" - -#: ../../using/cmdline.rst:1156 -msgid "If set to ``0``, disable the :ref:`Python UTF-8 Mode `." -msgstr "" - -#: ../../using/cmdline.rst:1158 -msgid "" -"Setting any other non-empty string causes an error during interpreter " -"initialisation." -msgstr "" - -#: ../../using/cmdline.rst:1165 -msgid "" -"If this environment variable is set to a non-empty string, issue a " -":class:`EncodingWarning` when the locale-specific default encoding is used." -msgstr "" - -#: ../../using/cmdline.rst:1168 -msgid "See :ref:`io-encoding-warning` for details." -msgstr "" - -#: ../../using/cmdline.rst:1174 -msgid "" -"If this variable is set, it disables the inclusion of the tables mapping " -"extra location information (end line, start column offset and end column " -"offset) to every instruction in code objects. This is useful when smaller " -"code objects and pyc files are desired as well as suppressing the extra " -"visual location indicators when the interpreter displays tracebacks." -msgstr "" - -#: ../../using/cmdline.rst:1184 -msgid "" -"If this variable is set to a nonzero value, it enables support for the Linux" -" ``perf`` profiler so Python calls can be detected by it." -msgstr "" - -#: ../../using/cmdline.rst:1187 ../../using/cmdline.rst:1200 -msgid "If set to ``0``, disable Linux ``perf`` profiler support." -msgstr "" - -#: ../../using/cmdline.rst:1189 -msgid "" -"See also the :option:`-X perf <-X>` command-line option and " -":ref:`perf_profiling`." -msgstr "" - -#: ../../using/cmdline.rst:1196 -msgid "" -"If this variable is set to a nonzero value, it enables support for the Linux" -" ``perf`` profiler so Python calls can be detected by it using DWARF " -"information." -msgstr "" - -#: ../../using/cmdline.rst:1202 -msgid "" -"See also the :option:`-X perf_jit <-X>` command-line option and " -":ref:`perf_profiling`." -msgstr "" - -#: ../../using/cmdline.rst:1209 -msgid "" -"If this variable is set to a non-empty string, it disables the remote " -"debugging feature described in :pep:`768`. This includes both the " -"functionality to schedule code for execution in another process and the " -"functionality to receive code for execution in the current process." -msgstr "" - -#: ../../using/cmdline.rst:1214 -msgid "See also the :option:`-X disable_remote_debug` command-line option." -msgstr "" - -#: ../../using/cmdline.rst:1220 -msgid "" -"If this variable is set to a positive integer, it overrides the return " -"values of :func:`os.cpu_count` and :func:`os.process_cpu_count`." -msgstr "" - -#: ../../using/cmdline.rst:1223 -msgid "See also the :option:`-X cpu_count <-X>` command-line option." -msgstr "" - -#: ../../using/cmdline.rst:1229 -msgid "" -"If this variable is set to ``on`` or ``off``, it determines whether or not " -"frozen modules are ignored by the import machinery. A value of ``on`` means" -" they get imported and ``off`` means they are ignored. The default is " -"``on`` for non-debug builds (the normal case) and ``off`` for debug builds. " -"Note that the :mod:`!importlib_bootstrap` and " -":mod:`!importlib_bootstrap_external` frozen modules are always used, even if" -" this flag is set to ``off``." -msgstr "" - -#: ../../using/cmdline.rst:1237 -msgid "See also the :option:`-X frozen_modules <-X>` command-line option." -msgstr "" - -#: ../../using/cmdline.rst:1243 -msgid "" -"If this variable is set to ``1``, the interpreter will colorize various " -"kinds of output. Setting it to ``0`` deactivates this behavior. See also " -":ref:`using-on-controlling-color`." -msgstr "" - -#: ../../using/cmdline.rst:1251 -msgid "" -"If this variable is set to any value, the interpreter will not attempt to " -"load the Python-based :term:`REPL` that requires :mod:`curses` and " -":mod:`readline`, and will instead use the traditional parser-based " -":term:`REPL`." -msgstr "" - -#: ../../using/cmdline.rst:1260 -msgid "" -"This environment variable can be used to set the location of a " -"``.python_history`` file (by default, it is ``.python_history`` in the " -"user's home directory)." -msgstr "" - -#: ../../using/cmdline.rst:1268 -msgid "" -"If this variable is set to ``1``, the global interpreter lock (GIL) will be " -"forced on. Setting it to ``0`` forces the GIL off (needs Python configured " -"with the :option:`--disable-gil` build option)." -msgstr "" - -#: ../../using/cmdline.rst:1272 -msgid "" -"See also the :option:`-X gil <-X>` command-line option, which takes " -"precedence over this variable, and :ref:`whatsnew313-free-threaded-cpython`." -msgstr "" - -#: ../../using/cmdline.rst:1279 -msgid "" -"If this variable is set to ``1`` then :class:`~threading.Thread` will, by " -"default, use a copy of context of of the caller of ``Thread.start()`` when " -"starting. Otherwise, new threads will start with an empty context. If " -"unset, this variable defaults to ``1`` on free-threaded builds and to ``0`` " -"otherwise. See also :option:`-X thread_inherit_context<-X>`." -msgstr "" - -#: ../../using/cmdline.rst:1289 -msgid "" -"If set to ``1`` then the :class:`warnings.catch_warnings` context manager " -"will use a :class:`~contextvars.ContextVar` to store warnings filter state." -" If unset, this variable defaults to ``1`` on free-threaded builds and to " -"``0`` otherwise. See :option:`-X context_aware_warnings<-X>`." -msgstr "" - -#: ../../using/cmdline.rst:1299 -msgid "" -"On builds where experimental just-in-time compilation is available, this " -"variable can force the JIT to be disabled (``0``) or enabled (``1``) at " -"interpreter startup." -msgstr "" - -#: ../../using/cmdline.rst:1306 -msgid "Debug-mode variables" -msgstr "Variabel mode debug" - -#: ../../using/cmdline.rst:1310 -msgid "" -"If set, Python will dump objects and reference counts still alive after " -"shutting down the interpreter." -msgstr "" - -#: ../../using/cmdline.rst:1313 ../../using/cmdline.rst:1321 -msgid "" -"Needs Python configured with the :option:`--with-trace-refs` build option." -msgstr "" - -#: ../../using/cmdline.rst:1317 -msgid "" -"If set, Python will dump objects and reference counts still alive after " -"shutting down the interpreter into a file under the path given as the value " -"to this environment variable." -msgstr "" - -#: ../../using/cmdline.rst:1327 -msgid "" -"If this variable is set to a module, that module will be imported early in " -"the interpreter lifecycle, before the :mod:`site` module is executed, and " -"before the :mod:`__main__` module is created. Therefore, the imported module" -" is not treated as :mod:`__main__`." -msgstr "" - -#: ../../using/cmdline.rst:1332 -msgid "This can be used to execute code early during Python initialization." -msgstr "" - -#: ../../using/cmdline.rst:1334 -msgid "" -"To import a submodule, use ``package.module`` as the value, like in an " -"import statement." -msgstr "" - -#: ../../using/cmdline.rst:1337 -msgid "" -"See also the :option:`-X presite <-X>` command-line option, which takes " -"precedence over this variable." -msgstr "" - -#: ../../using/cmdline.rst:1340 -msgid "" -"Needs Python configured with the :option:`--with-pydebug` build option." -msgstr "" diff --git a/python-newest.using--configure/id.po b/python-newest.using--configure/id.po deleted file mode 100644 index 8de15dd..0000000 --- a/python-newest.using--configure/id.po +++ /dev/null @@ -1,2121 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../using/configure.rst:3 -msgid "Configure Python" -msgstr "" - -#: ../../using/configure.rst:8 -msgid "Build Requirements" -msgstr "" - -#: ../../using/configure.rst:10 -msgid "Features and minimum versions required to build CPython:" -msgstr "" - -#: ../../using/configure.rst:12 -msgid "" -"A `C11 `_ compiler. `Optional C11 " -"features " -"`_" -" are not required." -msgstr "" - -#: ../../using/configure.rst:17 -msgid "On Windows, Microsoft Visual Studio 2017 or later is required." -msgstr "" - -#: ../../using/configure.rst:19 -msgid "" -"Support for `IEEE 754 `_ floating-" -"point numbers and `floating-point Not-a-Number (NaN) " -"`_." -msgstr "" - -#: ../../using/configure.rst:23 -msgid "Support for threads." -msgstr "" - -#: ../../using/configure.rst:25 -msgid "" -"OpenSSL 1.1.1 is the minimum version and OpenSSL 3.0.16 is the recommended " -"minimum version for the :mod:`ssl` and :mod:`hashlib` extension modules." -msgstr "" - -#: ../../using/configure.rst:28 -msgid "SQLite 3.15.2 for the :mod:`sqlite3` extension module." -msgstr "" - -#: ../../using/configure.rst:30 -msgid "Tcl/Tk 8.5.12 for the :mod:`tkinter` module." -msgstr "" - -#: ../../using/configure.rst:32 -msgid "" -"Autoconf 2.72 and aclocal 1.16.5 are required to regenerate the " -":file:`configure` script." -msgstr "" - -#: ../../using/configure.rst:35 -msgid "Tcl/Tk version 8.3.1 is now required." -msgstr "" - -#: ../../using/configure.rst:38 -msgid "" -"On Windows, Visual Studio 2015 or later is now required. Tcl/Tk version 8.4 " -"is now required." -msgstr "" - -#: ../../using/configure.rst:42 -msgid "" -"Selected C99 features are now required, like ```` and ``static " -"inline`` functions." -msgstr "" - -#: ../../using/configure.rst:46 -msgid "Thread support and OpenSSL 1.0.2 are now required." -msgstr "" - -#: ../../using/configure.rst:49 -msgid "OpenSSL 1.1.1 is now required. Require SQLite 3.7.15." -msgstr "" - -#: ../../using/configure.rst:53 -msgid "" -"C11 compiler, IEEE 754 and NaN support are now required. On Windows, Visual " -"Studio 2017 or later is required. Tcl/Tk version 8.5.12 is now required for " -"the :mod:`tkinter` module." -msgstr "" - -#: ../../using/configure.rst:58 -msgid "Autoconf 2.71, aclocal 1.16.5 and SQLite 3.15.2 are now required." -msgstr "" - -#: ../../using/configure.rst:61 -msgid "Autoconf 2.72 is now required." -msgstr "" - -#: ../../using/configure.rst:64 -msgid "" -"See also :pep:`7` \"Style Guide for C Code\" and :pep:`11` \"CPython " -"platform support\"." -msgstr "" - -#: ../../using/configure.rst:69 -msgid "Generated files" -msgstr "" - -#: ../../using/configure.rst:71 -msgid "" -"To reduce build dependencies, Python source code contains multiple generated" -" files. Commands to regenerate all generated files::" -msgstr "" - -#: ../../using/configure.rst:74 -msgid "" -"make regen-all\n" -"make regen-stdlib-module-names\n" -"make regen-limited-abi\n" -"make regen-configure" -msgstr "" - -#: ../../using/configure.rst:79 -msgid "" -"The ``Makefile.pre.in`` file documents generated files, their inputs, and " -"tools used to regenerate them. Search for ``regen-*`` make targets." -msgstr "" - -#: ../../using/configure.rst:83 -msgid "configure script" -msgstr "" - -#: ../../using/configure.rst:85 -msgid "" -"The ``make regen-configure`` command regenerates the ``aclocal.m4`` file and" -" the ``configure`` script using the ``Tools/build/regen-configure.sh`` shell" -" script which uses an Ubuntu container to get the same tools versions and " -"have a reproducible output." -msgstr "" - -#: ../../using/configure.rst:90 -msgid "The container is optional, the following command can be run locally::" -msgstr "" - -#: ../../using/configure.rst:92 -msgid "autoreconf -ivf -Werror" -msgstr "" - -#: ../../using/configure.rst:94 -msgid "" -"The generated files can change depending on the exact ``autoconf-archive``, " -"``aclocal`` and ``pkg-config`` versions." -msgstr "" - -#: ../../using/configure.rst:101 -msgid "Configure Options" -msgstr "" - -#: ../../using/configure.rst:103 -msgid "List all :file:`configure` script options using::" -msgstr "" - -#: ../../using/configure.rst:105 -msgid "./configure --help" -msgstr "" - -#: ../../using/configure.rst:107 -msgid "" -"See also the :file:`Misc/SpecialBuilds.txt` in the Python source " -"distribution." -msgstr "" - -#: ../../using/configure.rst:110 -msgid "General Options" -msgstr "" - -#: ../../using/configure.rst:114 -msgid "" -"Support loadable extensions in the :mod:`!_sqlite` extension module (default" -" is no) of the :mod:`sqlite3` module." -msgstr "" - -#: ../../using/configure.rst:117 -msgid "" -"See the :meth:`sqlite3.Connection.enable_load_extension` method of the " -":mod:`sqlite3` module." -msgstr "" - -#: ../../using/configure.rst:124 -msgid "" -"Disable IPv6 support (enabled by default if supported), see the " -":mod:`socket` module." -msgstr "" - -#: ../../using/configure.rst:129 -msgid "Define the size in bits of Python :class:`int` digits: 15 or 30 bits." -msgstr "" - -#: ../../using/configure.rst:131 -msgid "By default, the digit size is 30." -msgstr "" - -#: ../../using/configure.rst:133 -msgid "Define the ``PYLONG_BITS_IN_DIGIT`` to ``15`` or ``30``." -msgstr "" - -#: ../../using/configure.rst:135 -msgid "See :data:`sys.int_info.bits_per_digit `." -msgstr "" - -#: ../../using/configure.rst:139 -msgid "Set the Python executable suffix to *SUFFIX*." -msgstr "" - -#: ../../using/configure.rst:141 -msgid "" -"The default suffix is ``.exe`` on Windows and macOS (``python.exe`` " -"executable), ``.js`` on Emscripten node, ``.html`` on Emscripten browser, " -"``.wasm`` on WASI, and an empty string on other platforms (``python`` " -"executable)." -msgstr "" - -#: ../../using/configure.rst:146 -msgid "" -"The default suffix on WASM platform is one of ``.js``, ``.html`` or " -"``.wasm``." -msgstr "" - -#: ../../using/configure.rst:152 -msgid "" -"Select the default time zone search path for :const:`zoneinfo.TZPATH`. See " -"the :ref:`Compile-time configuration ` of" -" the :mod:`zoneinfo` module." -msgstr "" - -#: ../../using/configure.rst:156 -msgid "" -"Default: " -"``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo``." -msgstr "" - -#: ../../using/configure.rst:158 -msgid "See :data:`os.pathsep` path separator." -msgstr "" - -#: ../../using/configure.rst:164 -msgid "" -"Build the ``_decimal`` extension module using a thread-local context rather " -"than a coroutine-local context (default), see the :mod:`decimal` module." -msgstr "" - -#: ../../using/configure.rst:167 -msgid "" -"See :const:`decimal.HAVE_CONTEXTVAR` and the :mod:`contextvars` module." -msgstr "" - -#: ../../using/configure.rst:173 -msgid "Override order to check db backends for the :mod:`dbm` module" -msgstr "" - -#: ../../using/configure.rst:175 -msgid "" -"A valid value is a colon (``:``) separated string with the backend names:" -msgstr "" - -#: ../../using/configure.rst:177 -msgid "``ndbm``;" -msgstr "" - -#: ../../using/configure.rst:178 -msgid "``gdbm``;" -msgstr "" - -#: ../../using/configure.rst:179 -msgid "``bdb``." -msgstr "" - -#: ../../using/configure.rst:183 -msgid "" -"Disable C locale coercion to a UTF-8 based locale (enabled by default)." -msgstr "" - -#: ../../using/configure.rst:185 -msgid "Don't define the ``PY_COERCE_C_LOCALE`` macro." -msgstr "" - -#: ../../using/configure.rst:187 -msgid "See :envvar:`PYTHONCOERCECLOCALE` and the :pep:`538`." -msgstr "" - -#: ../../using/configure.rst:191 -msgid "Python library directory name (default is ``lib``)." -msgstr "" - -#: ../../using/configure.rst:193 -msgid "Fedora and SuSE use ``lib64`` on 64-bit platforms." -msgstr "" - -#: ../../using/configure.rst:195 -msgid "See :data:`sys.platlibdir`." -msgstr "" - -#: ../../using/configure.rst:201 -msgid "" -"Directory of wheel packages used by the :mod:`ensurepip` module (none by " -"default)." -msgstr "" - -#: ../../using/configure.rst:204 -msgid "" -"Some Linux distribution packaging policies recommend against bundling " -"dependencies. For example, Fedora installs wheel packages in the " -"``/usr/share/python-wheels/`` directory and don't install the " -":mod:`!ensurepip._bundled` package." -msgstr "" - -#: ../../using/configure.rst:213 -msgid "" -"Whether configure should use :program:`pkg-config` to detect build " -"dependencies." -msgstr "" - -#: ../../using/configure.rst:216 -msgid "``check`` (default): :program:`pkg-config` is optional" -msgstr "" - -#: ../../using/configure.rst:217 -msgid "``yes``: :program:`pkg-config` is mandatory" -msgstr "" - -#: ../../using/configure.rst:218 -msgid "``no``: configure does not use :program:`pkg-config` even when present" -msgstr "" - -#: ../../using/configure.rst:224 -msgid "Turn on internal Python performance statistics gathering." -msgstr "" - -#: ../../using/configure.rst:226 -msgid "" -"By default, statistics gathering is off. Use ``python3 -X pystats`` command " -"or set ``PYTHONSTATS=1`` environment variable to turn on statistics " -"gathering at Python startup." -msgstr "" - -#: ../../using/configure.rst:230 -msgid "" -"At Python exit, dump statistics if statistics gathering was on and not " -"cleared." -msgstr "" - -#: ../../using/configure.rst:233 ../../using/configure.rst:741 -msgid "Effects:" -msgstr "" - -#: ../../using/configure.rst:235 -msgid "Add :option:`-X pystats <-X>` command line option." -msgstr "" - -#: ../../using/configure.rst:236 -msgid "Add :envvar:`!PYTHONSTATS` environment variable." -msgstr "" - -#: ../../using/configure.rst:237 -msgid "Define the ``Py_STATS`` macro." -msgstr "" - -#: ../../using/configure.rst:238 -msgid "Add functions to the :mod:`sys` module:" -msgstr "" - -#: ../../using/configure.rst:240 -msgid ":func:`!sys._stats_on`: Turns on statistics gathering." -msgstr "" - -#: ../../using/configure.rst:241 -msgid ":func:`!sys._stats_off`: Turns off statistics gathering." -msgstr "" - -#: ../../using/configure.rst:242 -msgid ":func:`!sys._stats_clear`: Clears the statistics." -msgstr "" - -#: ../../using/configure.rst:243 -msgid "" -":func:`!sys._stats_dump`: Dump statistics to file, and clears the " -"statistics." -msgstr "" - -#: ../../using/configure.rst:245 -msgid "" -"The statistics will be dumped to a arbitrary (probably unique) file in " -"``/tmp/py_stats/`` (Unix) or ``C:\\temp\\py_stats\\`` (Windows). If that " -"directory does not exist, results will be printed on stderr." -msgstr "" - -#: ../../using/configure.rst:249 -msgid "Use ``Tools/scripts/summarize_stats.py`` to read the stats." -msgstr "" - -#: ../../using/configure.rst:251 -msgid "Statistics:" -msgstr "" - -#: ../../using/configure.rst:253 -msgid "Opcode:" -msgstr "" - -#: ../../using/configure.rst:255 -msgid "" -"Specialization: success, failure, hit, deferred, miss, deopt, failures;" -msgstr "" - -#: ../../using/configure.rst:256 -msgid "Execution count;" -msgstr "" - -#: ../../using/configure.rst:257 -msgid "Pair count." -msgstr "" - -#: ../../using/configure.rst:259 -msgid "Call:" -msgstr "" - -#: ../../using/configure.rst:261 -msgid "Inlined Python calls;" -msgstr "" - -#: ../../using/configure.rst:262 -msgid "PyEval calls;" -msgstr "" - -#: ../../using/configure.rst:263 -msgid "Frames pushed;" -msgstr "" - -#: ../../using/configure.rst:264 -msgid "Frame object created;" -msgstr "" - -#: ../../using/configure.rst:265 -msgid "" -"Eval calls: vector, generator, legacy, function VECTORCALL, build class, " -"slot, function \"ex\", API, method." -msgstr "" - -#: ../../using/configure.rst:268 -msgid "Object:" -msgstr "" - -#: ../../using/configure.rst:270 -msgid "incref and decref;" -msgstr "" - -#: ../../using/configure.rst:271 -msgid "interpreter incref and decref;" -msgstr "" - -#: ../../using/configure.rst:272 -msgid "allocations: all, 512 bytes, 4 kiB, big;" -msgstr "" - -#: ../../using/configure.rst:273 -msgid "free;" -msgstr "" - -#: ../../using/configure.rst:274 -msgid "to/from free lists;" -msgstr "" - -#: ../../using/configure.rst:275 -msgid "dictionary materialized/dematerialized;" -msgstr "" - -#: ../../using/configure.rst:276 -msgid "type cache;" -msgstr "" - -#: ../../using/configure.rst:277 -msgid "optimization attempts;" -msgstr "" - -#: ../../using/configure.rst:278 -msgid "optimization traces created/executed;" -msgstr "" - -#: ../../using/configure.rst:279 -msgid "uops executed." -msgstr "" - -#: ../../using/configure.rst:281 -msgid "Garbage collector:" -msgstr "" - -#: ../../using/configure.rst:283 -msgid "Garbage collections;" -msgstr "" - -#: ../../using/configure.rst:284 -msgid "Objects visited;" -msgstr "" - -#: ../../using/configure.rst:285 -msgid "Objects collected." -msgstr "" - -#: ../../using/configure.rst:293 -msgid "" -"Enables **experimental** support for running Python without the " -":term:`global interpreter lock` (GIL): free threading build." -msgstr "" - -#: ../../using/configure.rst:296 -msgid "" -"Defines the ``Py_GIL_DISABLED`` macro and adds ``\"t\"`` to " -":data:`sys.abiflags`." -msgstr "" - -#: ../../using/configure.rst:299 -msgid "See :ref:`whatsnew313-free-threaded-cpython` for more detail." -msgstr "" - -#: ../../using/configure.rst:305 -msgid "" -"Indicate how to integrate the :ref:`experimental just-in-time compiler " -"`." -msgstr "" - -#: ../../using/configure.rst:307 -msgid "``no``: Don't build the JIT." -msgstr "" - -#: ../../using/configure.rst:308 -msgid "" -"``yes``: Enable the JIT. To disable it at runtime, set the environment " -"variable :envvar:`PYTHON_JIT=0 `." -msgstr "" - -#: ../../using/configure.rst:310 -msgid "" -"``yes-off``: Build the JIT, but disable it by default. To enable it at " -"runtime, set the environment variable :envvar:`PYTHON_JIT=1 `." -msgstr "" - -#: ../../using/configure.rst:312 -msgid "" -"``interpreter``: Enable the \"JIT interpreter\" (only useful for those " -"debugging the JIT itself). To disable it at runtime, set the environment " -"variable :envvar:`PYTHON_JIT=0 `." -msgstr "" - -#: ../../using/configure.rst:316 -msgid "" -"``--enable-experimental-jit=no`` is the default behavior if the option is " -"not provided, and ``--enable-experimental-jit`` is shorthand for ``--enable-" -"experimental-jit=yes``. See :file:`Tools/jit/README.md` for more " -"information, including how to install the necessary build-time dependencies." -msgstr "" - -#: ../../using/configure.rst:323 -msgid "" -"When building CPython with JIT enabled, ensure that your system has Python " -"3.11 or later installed." -msgstr "" - -#: ../../using/configure.rst:329 -msgid "Path to ``pkg-config`` utility." -msgstr "" - -#: ../../using/configure.rst:334 -msgid "``pkg-config`` options." -msgstr "" - -#: ../../using/configure.rst:338 -msgid "C compiler options" -msgstr "" - -#: ../../using/configure.rst:342 ../../using/configure.rst:1308 -msgid "C compiler command." -msgstr "" - -#: ../../using/configure.rst:346 ../../using/configure.rst:1320 -msgid "C compiler flags." -msgstr "" - -#: ../../using/configure.rst:350 -msgid "C preprocessor command." -msgstr "" - -#: ../../using/configure.rst:354 -msgid "C preprocessor flags, e.g. :samp:`-I{include_dir}`." -msgstr "" - -#: ../../using/configure.rst:358 ../../using/configure.rst:812 -msgid "Linker options" -msgstr "" - -#: ../../using/configure.rst:362 -msgid "Linker flags, e.g. :samp:`-L{library_directory}`." -msgstr "" - -#: ../../using/configure.rst:366 -msgid "Libraries to pass to the linker, e.g. :samp:`-l{library}`." -msgstr "" - -#: ../../using/configure.rst:370 -msgid "Name for machine-dependent library files." -msgstr "" - -#: ../../using/configure.rst:374 -msgid "Options for third-party dependencies" -msgstr "" - -#: ../../using/configure.rst:381 -msgid "" -"C compiler and linker flags to link Python to ``libbz2``, used by :mod:`bz2`" -" module, overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:387 -msgid "" -"C compiler and linker flags for ``libncurses`` or ``libncursesw``, used by " -":mod:`curses` module, overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:393 -msgid "C compiler and linker flags for ``gdbm``." -msgstr "" - -#: ../../using/configure.rst:398 -msgid "" -"C compiler and linker flags for ``libb2`` (:ref:`BLAKE2 `), " -"used by :mod:`hashlib` module, overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:404 -msgid "" -"C compiler and linker flags for ``libedit``, used by :mod:`readline` module," -" overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:410 -msgid "" -"C compiler and linker flags for ``libffi``, used by :mod:`ctypes` module, " -"overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:416 -msgid "" -"C compiler and linker flags for ``libmpdec``, used by :mod:`decimal` module," -" overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:421 -msgid "" -"These environment variables have no effect unless :option:`--with-system-" -"libmpdec` is specified." -msgstr "" - -#: ../../using/configure.rst:427 -msgid "" -"C compiler and linker flags for ``liblzma``, used by :mod:`lzma` module, " -"overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:433 -msgid "" -"C compiler and linker flags for ``libreadline``, used by :mod:`readline` " -"module, overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:439 -msgid "" -"C compiler and linker flags for ``libsqlite3``, used by :mod:`sqlite3` " -"module, overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:445 -msgid "" -"C compiler and linker flags for ``libuuid``, used by :mod:`uuid` module, " -"overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:451 -msgid "C compiler and linker flags for PANEL, overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:453 -msgid "" -"C compiler and linker flags for ``libpanel`` or ``libpanelw``, used by " -":mod:`curses.panel` module, overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:459 -msgid "C compiler and linker flags for TCLTK, overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:464 -msgid "" -"C compiler and linker flags for ``libzlib``, used by :mod:`gzip` module, " -"overriding ``pkg-config``." -msgstr "" - -#: ../../using/configure.rst:469 -msgid "WebAssembly Options" -msgstr "" - -#: ../../using/configure.rst:473 -msgid "Turn on dynamic linking support for WASM." -msgstr "" - -#: ../../using/configure.rst:475 -msgid "" -"Dynamic linking enables ``dlopen``. File size of the executable increases " -"due to limited dead code elimination and additional features." -msgstr "" - -#: ../../using/configure.rst:482 -msgid "Turn on pthreads support for WASM." -msgstr "" - -#: ../../using/configure.rst:488 -msgid "Install Options" -msgstr "" - -#: ../../using/configure.rst:492 -msgid "" -"Install architecture-independent files in PREFIX. On Unix, it defaults to " -":file:`/usr/local`." -msgstr "" - -#: ../../using/configure.rst:495 -msgid "This value can be retrieved at runtime using :data:`sys.prefix`." -msgstr "" - -#: ../../using/configure.rst:497 -msgid "" -"As an example, one can use ``--prefix=\"$HOME/.local/\"`` to install a " -"Python in its home directory." -msgstr "" - -#: ../../using/configure.rst:502 -msgid "" -"Install architecture-dependent files in EPREFIX, defaults to " -":option:`--prefix`." -msgstr "" - -#: ../../using/configure.rst:504 -msgid "This value can be retrieved at runtime using :data:`sys.exec_prefix`." -msgstr "" - -#: ../../using/configure.rst:508 -msgid "" -"Don't build nor install test modules, like the :mod:`test` package or the " -":mod:`!_testcapi` extension module (built and installed by default)." -msgstr "" - -#: ../../using/configure.rst:515 -msgid "Select the :mod:`ensurepip` command run on Python installation:" -msgstr "" - -#: ../../using/configure.rst:517 -msgid "" -"``upgrade`` (default): run ``python -m ensurepip --altinstall --upgrade`` " -"command." -msgstr "" - -#: ../../using/configure.rst:519 -msgid "``install``: run ``python -m ensurepip --altinstall`` command;" -msgstr "" - -#: ../../using/configure.rst:520 -msgid "``no``: don't run ensurepip;" -msgstr "" - -#: ../../using/configure.rst:526 -msgid "Performance options" -msgstr "" - -#: ../../using/configure.rst:528 -msgid "" -"Configuring Python using ``--enable-optimizations --with-lto`` (PGO + LTO) " -"is recommended for best performance. The experimental ``--enable-bolt`` flag" -" can also be used to improve performance." -msgstr "" - -#: ../../using/configure.rst:534 -msgid "" -"Enable Profile Guided Optimization (PGO) using :envvar:`PROFILE_TASK` " -"(disabled by default)." -msgstr "" - -#: ../../using/configure.rst:537 -msgid "" -"The C compiler Clang requires ``llvm-profdata`` program for PGO. On macOS, " -"GCC also requires it: GCC is just an alias to Clang on macOS." -msgstr "" - -#: ../../using/configure.rst:540 -msgid "" -"Disable also semantic interposition in libpython if ``--enable-shared`` and " -"GCC is used: add ``-fno-semantic-interposition`` to the compiler and linker " -"flags." -msgstr "" - -#: ../../using/configure.rst:546 -msgid "" -"During the build, you may encounter compiler warnings about profile data not" -" being available for some source files. These warnings are harmless, as only" -" a subset of the code is exercised during profile data acquisition. To " -"disable these warnings on Clang, manually suppress them by adding ``-Wno-" -"profile-instr-unprofiled`` to :envvar:`CFLAGS`." -msgstr "" - -#: ../../using/configure.rst:555 -msgid "Use ``-fno-semantic-interposition`` on GCC." -msgstr "" - -#: ../../using/configure.rst:560 -msgid "" -"Environment variable used in the Makefile: Python command line arguments for" -" the PGO generation task." -msgstr "" - -#: ../../using/configure.rst:563 -msgid "Default: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." -msgstr "" - -#: ../../using/configure.rst:567 -msgid "Task failure is no longer ignored silently." -msgstr "" - -#: ../../using/configure.rst:572 -msgid "" -"Enable Link Time Optimization (LTO) in any build (disabled by default)." -msgstr "" - -#: ../../using/configure.rst:574 -msgid "" -"The C compiler Clang requires ``llvm-ar`` for LTO (``ar`` on macOS), as well" -" as an LTO-aware linker (``ld.gold`` or ``lld``)." -msgstr "" - -#: ../../using/configure.rst:579 -msgid "To use ThinLTO feature, use ``--with-lto=thin`` on Clang." -msgstr "" - -#: ../../using/configure.rst:582 -msgid "" -"Use ThinLTO as the default optimization policy on Clang if the compiler " -"accepts the flag." -msgstr "" - -#: ../../using/configure.rst:587 -msgid "" -"Enable usage of the `BOLT post-link binary optimizer " -"`_ (disabled by " -"default)." -msgstr "" - -#: ../../using/configure.rst:591 -msgid "" -"BOLT is part of the LLVM project but is not always included in their binary " -"distributions. This flag requires that ``llvm-bolt`` and ``merge-fdata`` are" -" available." -msgstr "" - -#: ../../using/configure.rst:595 -msgid "" -"BOLT is still a fairly new project so this flag should be considered " -"experimental for now. Because this tool operates on machine code its success" -" is dependent on a combination of the build environment + the other " -"optimization configure args + the CPU architecture, and not all combinations" -" are supported. BOLT versions before LLVM 16 are known to crash BOLT under " -"some scenarios. Use of LLVM 16 or newer for BOLT optimization is strongly " -"encouraged." -msgstr "" - -#: ../../using/configure.rst:603 -msgid "" -"The :envvar:`!BOLT_INSTRUMENT_FLAGS` and :envvar:`!BOLT_APPLY_FLAGS` " -":program:`configure` variables can be defined to override the default set of" -" arguments for :program:`llvm-bolt` to instrument and apply BOLT data to " -"binaries, respectively." -msgstr "" - -#: ../../using/configure.rst:612 -msgid "" -"Arguments to ``llvm-bolt`` when creating a `BOLT optimized binary " -"`_." -msgstr "" - -#: ../../using/configure.rst:619 -msgid "Arguments to ``llvm-bolt`` when instrumenting binaries." -msgstr "" - -#: ../../using/configure.rst:625 -msgid "" -"Enable computed gotos in evaluation loop (enabled by default on supported " -"compilers)." -msgstr "" - -#: ../../using/configure.rst:630 -msgid "" -"Enable interpreters using tail calls in CPython. If enabled, enabling PGO " -"(:option:`--enable-optimizations`) is highly recommended. This option " -"specifically requires a C compiler with proper tail call support, and the " -"`preserve_none " -"`_ " -"calling convention. For example, Clang 19 and newer supports this feature." -msgstr "" - -#: ../../using/configure.rst:640 -msgid "" -"Disable the fast :ref:`mimalloc ` allocator (enabled by default)." -msgstr "" - -#: ../../using/configure.rst:643 ../../using/configure.rst:650 -msgid "See also :envvar:`PYTHONMALLOC` environment variable." -msgstr "" - -#: ../../using/configure.rst:647 -msgid "" -"Disable the specialized Python memory allocator :ref:`pymalloc ` " -"(enabled by default)." -msgstr "" - -#: ../../using/configure.rst:654 -msgid "" -"Disable static documentation strings to reduce the memory footprint (enabled" -" by default). Documentation strings defined in Python are not affected." -msgstr "" - -#: ../../using/configure.rst:657 -msgid "Don't define the ``WITH_DOC_STRINGS`` macro." -msgstr "" - -#: ../../using/configure.rst:659 -msgid "See the ``PyDoc_STRVAR()`` macro." -msgstr "" - -#: ../../using/configure.rst:663 -msgid "Enable C-level code profiling with ``gprof`` (disabled by default)." -msgstr "" - -#: ../../using/configure.rst:667 -msgid "" -"Add ``-fstrict-overflow`` to the C compiler flags (by default we add ``-fno-" -"strict-overflow`` instead)." -msgstr "" - -#: ../../using/configure.rst:672 -msgid "" -"Deactivate remote debugging support described in :pep:`768` (enabled by " -"default). When this flag is provided the code that allows the interpreter to" -" schedule the execution of a Python file in a separate process as described " -"in :pep:`768` is not compiled. This includes both the functionality to " -"schedule code to be executed and the functionality to receive code to be " -"executed." -msgstr "" - -#: ../../using/configure.rst:685 -msgid "Python Debug Build" -msgstr "" - -#: ../../using/configure.rst:687 -msgid "" -"A debug build is Python built with the :option:`--with-pydebug` configure " -"option." -msgstr "" - -#: ../../using/configure.rst:690 -msgid "Effects of a debug build:" -msgstr "" - -#: ../../using/configure.rst:692 -msgid "" -"Display all warnings by default: the list of default warning filters is " -"empty in the :mod:`warnings` module." -msgstr "" - -#: ../../using/configure.rst:694 -msgid "Add ``d`` to :data:`sys.abiflags`." -msgstr "" - -#: ../../using/configure.rst:695 -msgid "Add :func:`!sys.gettotalrefcount` function." -msgstr "" - -#: ../../using/configure.rst:696 -msgid "Add :option:`-X showrefcount <-X>` command line option." -msgstr "" - -#: ../../using/configure.rst:697 -msgid "" -"Add :option:`-d` command line option and :envvar:`PYTHONDEBUG` environment " -"variable to debug the parser." -msgstr "" - -#: ../../using/configure.rst:699 -msgid "" -"Add support for the ``__lltrace__`` variable: enable low-level tracing in " -"the bytecode evaluation loop if the variable is defined." -msgstr "" - -#: ../../using/configure.rst:701 -msgid "" -"Install :ref:`debug hooks on memory allocators ` " -"to detect buffer overflow and other memory errors." -msgstr "" - -#: ../../using/configure.rst:703 -msgid "Define ``Py_DEBUG`` and ``Py_REF_DEBUG`` macros." -msgstr "" - -#: ../../using/configure.rst:704 -msgid "" -"Add runtime checks: code surrounded by ``#ifdef Py_DEBUG`` and ``#endif``. " -"Enable ``assert(...)`` and ``_PyObject_ASSERT(...)`` assertions: don't set " -"the ``NDEBUG`` macro (see also the :option:`--with-assertions` configure " -"option). Main runtime checks:" -msgstr "" - -#: ../../using/configure.rst:709 -msgid "Add sanity checks on the function arguments." -msgstr "" - -#: ../../using/configure.rst:710 -msgid "" -"Unicode and int objects are created with their memory filled with a pattern " -"to detect usage of uninitialized objects." -msgstr "" - -#: ../../using/configure.rst:712 -msgid "" -"Ensure that functions which can clear or replace the current exception are " -"not called with an exception raised." -msgstr "" - -#: ../../using/configure.rst:714 -msgid "Check that deallocator functions don't change the current exception." -msgstr "" - -#: ../../using/configure.rst:715 -msgid "" -"The garbage collector (:func:`gc.collect` function) runs some basic checks " -"on objects consistency." -msgstr "" - -#: ../../using/configure.rst:717 -msgid "" -"The :c:macro:`!Py_SAFE_DOWNCAST()` macro checks for integer underflow and " -"overflow when downcasting from wide types to narrow types." -msgstr "" - -#: ../../using/configure.rst:720 -msgid "" -"See also the :ref:`Python Development Mode ` and the " -":option:`--with-trace-refs` configure option." -msgstr "" - -#: ../../using/configure.rst:723 -msgid "" -"Release builds and debug builds are now ABI compatible: defining the " -"``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro (see the " -":option:`--with-trace-refs` option)." -msgstr "" - -#: ../../using/configure.rst:730 -msgid "Debug options" -msgstr "" - -#: ../../using/configure.rst:734 -msgid "" -":ref:`Build Python in debug mode `: define the ``Py_DEBUG`` " -"macro (disabled by default)." -msgstr "" - -#: ../../using/configure.rst:739 -msgid "Enable tracing references for debugging purpose (disabled by default)." -msgstr "" - -#: ../../using/configure.rst:743 -msgid "Define the ``Py_TRACE_REFS`` macro." -msgstr "" - -#: ../../using/configure.rst:744 -msgid "Add :func:`sys.getobjects` function." -msgstr "" - -#: ../../using/configure.rst:745 -msgid "Add :envvar:`PYTHONDUMPREFS` environment variable." -msgstr "" - -#: ../../using/configure.rst:747 -msgid "" -"The :envvar:`PYTHONDUMPREFS` environment variable can be used to dump " -"objects and reference counts still alive at Python exit." -msgstr "" - -#: ../../using/configure.rst:750 -msgid ":ref:`Statically allocated objects ` are not traced." -msgstr "" - -#: ../../using/configure.rst:754 -msgid "" -"This build is now ABI compatible with release build and :ref:`debug build " -"`." -msgstr "" - -#: ../../using/configure.rst:760 -msgid "" -"Build with C assertions enabled (default is no): ``assert(...);`` and " -"``_PyObject_ASSERT(...);``." -msgstr "" - -#: ../../using/configure.rst:763 -msgid "" -"If set, the ``NDEBUG`` macro is not defined in the :envvar:`OPT` compiler " -"variable." -msgstr "" - -#: ../../using/configure.rst:766 -msgid "" -"See also the :option:`--with-pydebug` option (:ref:`debug build `) which also enables assertions." -msgstr "" - -#: ../../using/configure.rst:773 -msgid "Enable Valgrind support (default is no)." -msgstr "" - -#: ../../using/configure.rst:777 -msgid "Enable DTrace support (default is no)." -msgstr "" - -#: ../../using/configure.rst:779 -msgid "" -"See :ref:`Instrumenting CPython with DTrace and SystemTap " -"`." -msgstr "" - -#: ../../using/configure.rst:786 -msgid "" -"Enable AddressSanitizer memory error detector, ``asan`` (default is no)." -msgstr "" - -#: ../../using/configure.rst:792 -msgid "" -"Enable MemorySanitizer allocation error detector, ``msan`` (default is no)." -msgstr "" - -#: ../../using/configure.rst:798 -msgid "" -"Enable UndefinedBehaviorSanitizer undefined behaviour detector, ``ubsan`` " -"(default is no)." -msgstr "" - -#: ../../using/configure.rst:805 -msgid "Enable ThreadSanitizer data race detector, ``tsan`` (default is no)." -msgstr "" - -#: ../../using/configure.rst:816 -msgid "" -"Enable building a shared Python library: ``libpython`` (default is no)." -msgstr "" - -#: ../../using/configure.rst:820 -msgid "" -"Do not build ``libpythonMAJOR.MINOR.a`` and do not install ``python.o`` " -"(built and enabled by default)." -msgstr "" - -#: ../../using/configure.rst:827 -msgid "Libraries options" -msgstr "" - -#: ../../using/configure.rst:831 -msgid "Link against additional libraries (default is no)." -msgstr "" - -#: ../../using/configure.rst:835 -msgid "" -"Build the :mod:`!pyexpat` module using an installed ``expat`` library " -"(default is no)." -msgstr "" - -#: ../../using/configure.rst:840 -msgid "" -"Build the ``_decimal`` extension module using an installed ``mpdecimal`` " -"library, see the :mod:`decimal` module (default is yes)." -msgstr "" - -#: ../../using/configure.rst:845 -msgid "Default to using the installed ``mpdecimal`` library." -msgstr "" - -#: ../../using/configure.rst:848 -msgid "" -"A copy of the ``mpdecimal`` library sources will no longer be distributed " -"with Python 3.15." -msgstr "" - -#: ../../using/configure.rst:852 -msgid ":option:`LIBMPDEC_CFLAGS` and :option:`LIBMPDEC_LIBS`." -msgstr "" - -#: ../../using/configure.rst:856 -msgid "Designate a backend library for the :mod:`readline` module." -msgstr "" - -#: ../../using/configure.rst:858 -msgid "readline: Use readline as the backend." -msgstr "" - -#: ../../using/configure.rst:859 -msgid "editline: Use editline as the backend." -msgstr "" - -#: ../../using/configure.rst:865 -msgid "Don't build the :mod:`readline` module (built by default)." -msgstr "" - -#: ../../using/configure.rst:867 -msgid "Don't define the ``HAVE_LIBREADLINE`` macro." -msgstr "" - -#: ../../using/configure.rst:873 -msgid "" -"Override ``libm`` math library to *STRING* (default is system-dependent)." -msgstr "" - -#: ../../using/configure.rst:877 -msgid "Override ``libc`` C library to *STRING* (default is system-dependent)." -msgstr "" - -#: ../../using/configure.rst:881 -msgid "Root of the OpenSSL directory." -msgstr "" - -#: ../../using/configure.rst:887 -msgid "Set runtime library directory (rpath) for OpenSSL libraries:" -msgstr "" - -#: ../../using/configure.rst:889 -msgid "``no`` (default): don't set rpath;" -msgstr "" - -#: ../../using/configure.rst:890 -msgid "" -"``auto``: auto-detect rpath from :option:`--with-openssl` and ``pkg-" -"config``;" -msgstr "" - -#: ../../using/configure.rst:892 -msgid "*DIR*: set an explicit rpath." -msgstr "" - -#: ../../using/configure.rst:898 -msgid "Security Options" -msgstr "" - -#: ../../using/configure.rst:902 -msgid "Select hash algorithm for use in ``Python/pyhash.c``:" -msgstr "" - -#: ../../using/configure.rst:904 -msgid "``siphash13`` (default);" -msgstr "" - -#: ../../using/configure.rst:905 -msgid "``siphash24``;" -msgstr "" - -#: ../../using/configure.rst:906 -msgid "``fnv``." -msgstr "" - -#: ../../using/configure.rst:910 -msgid "``siphash13`` is added and it is the new default." -msgstr "" - -#: ../../using/configure.rst:915 -msgid "Built-in hash modules:" -msgstr "" - -#: ../../using/configure.rst:917 -msgid "``md5``;" -msgstr "" - -#: ../../using/configure.rst:918 -msgid "``sha1``;" -msgstr "" - -#: ../../using/configure.rst:919 -msgid "``sha256``;" -msgstr "" - -#: ../../using/configure.rst:920 -msgid "``sha512``;" -msgstr "" - -#: ../../using/configure.rst:921 -msgid "``sha3`` (with shake);" -msgstr "" - -#: ../../using/configure.rst:922 -msgid "``blake2``." -msgstr "" - -#: ../../using/configure.rst:928 -msgid "Override the OpenSSL default cipher suites string:" -msgstr "" - -#: ../../using/configure.rst:930 -msgid "``python`` (default): use Python's preferred selection;" -msgstr "" - -#: ../../using/configure.rst:931 -msgid "``openssl``: leave OpenSSL's defaults untouched;" -msgstr "" - -#: ../../using/configure.rst:932 -msgid "*STRING*: use a custom string" -msgstr "" - -#: ../../using/configure.rst:934 -msgid "See the :mod:`ssl` module." -msgstr "" - -#: ../../using/configure.rst:940 -msgid "" -"The settings ``python`` and *STRING* also set TLS 1.2 as minimum protocol " -"version." -msgstr "" - -#: ../../using/configure.rst:945 -msgid "" -"Disable compiler options that are `recommended by OpenSSF`_ for security " -"reasons with no performance overhead. If this option is not enabled, CPython" -" will be built based on safety compiler options with no slow down. When this" -" option is enabled, CPython will not be built with the compiler options " -"listed below." -msgstr "" - -#: ../../using/configure.rst:949 -msgid "" -"The following compiler options are disabled with :option:`!--disable-" -"safety`:" -msgstr "" - -#: ../../using/configure.rst:951 -msgid "" -"`-fstack-protector-strong`_: Enable run-time checks for stack-based buffer " -"overflows." -msgstr "" - -#: ../../using/configure.rst:952 -msgid "" -"`-Wtrampolines`_: Enable warnings about trampolines that require executable " -"stacks." -msgstr "" - -#: ../../using/configure.rst:962 -msgid "" -"Enable compiler options that are `recommended by OpenSSF`_ for security " -"reasons which require overhead. If this option is not enabled, CPython will " -"not be built based on safety compiler options which performance impact. When" -" this option is enabled, CPython will be built with the compiler options " -"listed below." -msgstr "" - -#: ../../using/configure.rst:966 -msgid "" -"The following compiler options are enabled with :option:`!--enable-slower-" -"safety`:" -msgstr "" - -#: ../../using/configure.rst:968 -msgid "" -"`-D_FORTIFY_SOURCE=3`_: Fortify sources with compile- and run-time checks " -"for unsafe libc usage and buffer overflows." -msgstr "" - -#: ../../using/configure.rst:976 -msgid "macOS Options" -msgstr "" - -#: ../../using/configure.rst:978 -msgid "See :source:`Mac/README.rst`." -msgstr "" - -#: ../../using/configure.rst:983 -msgid "" -"Create a universal binary build. *SDKDIR* specifies which macOS SDK should " -"be used to perform the build (default is no)." -msgstr "" - -#: ../../using/configure.rst:989 -msgid "" -"Create a Python.framework rather than a traditional Unix install. Optional " -"*INSTALLDIR* specifies the installation path (default is no)." -msgstr "" - -#: ../../using/configure.rst:994 -msgid "" -"Specify the kind of universal binary that should be created. This option is " -"only valid when :option:`--enable-universalsdk` is set." -msgstr "" - -#: ../../using/configure.rst:997 -msgid "Options:" -msgstr "" - -#: ../../using/configure.rst:999 -msgid "``universal2`` (x86-64 and arm64);" -msgstr "" - -#: ../../using/configure.rst:1000 -msgid "``32-bit`` (PPC and i386);" -msgstr "" - -#: ../../using/configure.rst:1001 -msgid "``64-bit`` (PPC64 and x86-64);" -msgstr "" - -#: ../../using/configure.rst:1002 -msgid "``3-way`` (i386, PPC and x86-64);" -msgstr "" - -#: ../../using/configure.rst:1003 -msgid "``intel`` (i386 and x86-64);" -msgstr "" - -#: ../../using/configure.rst:1004 -msgid "``intel-32`` (i386);" -msgstr "" - -#: ../../using/configure.rst:1005 -msgid "``intel-64`` (x86-64);" -msgstr "" - -#: ../../using/configure.rst:1006 -msgid "``all`` (PPC, i386, PPC64 and x86-64)." -msgstr "" - -#: ../../using/configure.rst:1008 -msgid "" -"Note that values for this configuration item are *not* the same as the " -"identifiers used for universal binary wheels on macOS. See the Python " -"Packaging User Guide for details on the `packaging platform compatibility " -"tags used on macOS " -"`_" -msgstr "" - -#: ../../using/configure.rst:1016 -msgid "" -"Specify the name for the python framework on macOS only valid when " -":option:`--enable-framework` is set (default: ``Python``)." -msgstr "" - -#: ../../using/configure.rst:1022 -msgid "" -"The Python standard library contains strings that are known to trigger " -"automated inspection tool errors when submitted for distribution by the " -"macOS and iOS App Stores. If enabled, this option will apply the list of " -"patches that are known to correct app store compliance. A custom patch file " -"can also be specified. This option is disabled by default." -msgstr "" - -#: ../../using/configure.rst:1031 -msgid "iOS Options" -msgstr "" - -#: ../../using/configure.rst:1033 -msgid "See :source:`iOS/README.rst`." -msgstr "" - -#: ../../using/configure.rst:1037 -msgid "" -"Create a Python.framework. Unlike macOS, the *INSTALLDIR* argument " -"specifying the installation path is mandatory." -msgstr "" - -#: ../../using/configure.rst:1042 -msgid "Specify the name for the framework (default: ``Python``)." -msgstr "" - -#: ../../using/configure.rst:1046 -msgid "Cross Compiling Options" -msgstr "" - -#: ../../using/configure.rst:1048 -msgid "" -"Cross compiling, also known as cross building, can be used to build Python " -"for another CPU architecture or platform. Cross compiling requires a Python " -"interpreter for the build platform. The version of the build Python must " -"match the version of the cross compiled host Python." -msgstr "" - -#: ../../using/configure.rst:1055 -msgid "" -"configure for building on BUILD, usually guessed by :program:`config.guess`." -msgstr "" - -#: ../../using/configure.rst:1059 -msgid "cross-compile to build programs to run on HOST (target platform)" -msgstr "" - -#: ../../using/configure.rst:1063 -msgid "path to build ``python`` binary for cross compiling" -msgstr "" - -#: ../../using/configure.rst:1069 -msgid "" -"An environment variable that points to a file with configure overrides." -msgstr "" - -#: ../../using/configure.rst:1071 -msgid "Example *config.site* file:" -msgstr "" - -#: ../../using/configure.rst:1073 -msgid "" -"# config.site-aarch64\n" -"ac_cv_buggy_getaddrinfo=no\n" -"ac_cv_file__dev_ptmx=yes\n" -"ac_cv_file__dev_ptc=no" -msgstr "" - -#: ../../using/configure.rst:1082 -msgid "Program to run CPython for the host platform for cross-compilation." -msgstr "" - -#: ../../using/configure.rst:1087 -msgid "Cross compiling example::" -msgstr "" - -#: ../../using/configure.rst:1089 -msgid "" -"CONFIG_SITE=config.site-aarch64 ../configure \\\n" -" --build=x86_64-pc-linux-gnu \\\n" -" --host=aarch64-unknown-linux-gnu \\\n" -" --with-build-python=../x86_64/python" -msgstr "" - -#: ../../using/configure.rst:1096 -msgid "Python Build System" -msgstr "" - -#: ../../using/configure.rst:1099 -msgid "Main files of the build system" -msgstr "" - -#: ../../using/configure.rst:1101 -msgid ":file:`configure.ac` => :file:`configure`;" -msgstr "" - -#: ../../using/configure.rst:1102 -msgid "" -":file:`Makefile.pre.in` => :file:`Makefile` (created by :file:`configure`);" -msgstr "" - -#: ../../using/configure.rst:1103 -msgid ":file:`pyconfig.h` (created by :file:`configure`);" -msgstr "" - -#: ../../using/configure.rst:1104 -msgid "" -":file:`Modules/Setup`: C extensions built by the Makefile using " -":file:`Module/makesetup` shell script;" -msgstr "" - -#: ../../using/configure.rst:1108 -msgid "Main build steps" -msgstr "" - -#: ../../using/configure.rst:1110 -msgid "C files (``.c``) are built as object files (``.o``)." -msgstr "" - -#: ../../using/configure.rst:1111 -msgid "A static ``libpython`` library (``.a``) is created from objects files." -msgstr "" - -#: ../../using/configure.rst:1112 -msgid "" -"``python.o`` and the static ``libpython`` library are linked into the final " -"``python`` program." -msgstr "" - -#: ../../using/configure.rst:1114 -msgid "C extensions are built by the Makefile (see :file:`Modules/Setup`)." -msgstr "" - -#: ../../using/configure.rst:1117 -msgid "Main Makefile targets" -msgstr "" - -#: ../../using/configure.rst:1120 -msgid "make" -msgstr "" - -#: ../../using/configure.rst:1122 -msgid "" -"For the most part, when rebuilding after editing some code or refreshing " -"your checkout from upstream, all you need to do is execute ``make``, which " -"(per Make's semantics) builds the default target, the first one defined in " -"the Makefile. By tradition (including in the CPython project) this is " -"usually the ``all`` target. The ``configure`` script expands an ``autoconf``" -" variable, ``@DEF_MAKE_ALL_RULE@`` to describe precisely which targets " -"``make all`` will build. The three choices are:" -msgstr "" - -#: ../../using/configure.rst:1131 -msgid "``profile-opt`` (configured with ``--enable-optimizations``)" -msgstr "" - -#: ../../using/configure.rst:1132 -msgid "" -"``build_wasm`` (chosen if the host platform matches ``wasm32-wasi*`` or " -"``wasm32-emscripten``)" -msgstr "" - -#: ../../using/configure.rst:1134 -msgid "" -"``build_all`` (configured without explicitly using either of the others)" -msgstr "" - -#: ../../using/configure.rst:1136 -msgid "" -"Depending on the most recent source file changes, Make will rebuild any " -"targets (object files and executables) deemed out-of-date, including running" -" ``configure`` again if necessary. Source/target dependencies are many and " -"maintained manually however, so Make sometimes doesn't have all the " -"information necessary to correctly detect all targets which need to be " -"rebuilt. Depending on which targets aren't rebuilt, you might experience a " -"number of problems. If you have build or test problems which you can't " -"otherwise explain, ``make clean && make`` should work around most dependency" -" problems, at the expense of longer build times." -msgstr "" - -#: ../../using/configure.rst:1149 -msgid "make platform" -msgstr "" - -#: ../../using/configure.rst:1151 -msgid "" -"Build the ``python`` program, but don't build the standard library extension" -" modules. This generates a file named ``platform`` which contains a single " -"line describing the details of the build platform, e.g., " -"``macosx-14.3-arm64-3.12`` or ``linux-x86_64-3.13``." -msgstr "" - -#: ../../using/configure.rst:1158 -msgid "make profile-opt" -msgstr "" - -#: ../../using/configure.rst:1160 -msgid "" -"Build Python using profile-guided optimization (PGO). You can use the " -"configure :option:`--enable-optimizations` option to make this the default " -"target of the ``make`` command (``make all`` or just ``make``)." -msgstr "" - -#: ../../using/configure.rst:1168 -msgid "make clean" -msgstr "" - -#: ../../using/configure.rst:1170 -msgid "Remove built files." -msgstr "" - -#: ../../using/configure.rst:1174 -msgid "make distclean" -msgstr "" - -#: ../../using/configure.rst:1176 -msgid "" -"In addition to the work done by ``make clean``, remove files created by the " -"configure script. ``configure`` will have to be run before building again. " -"[#]_" -msgstr "" - -#: ../../using/configure.rst:1182 -msgid "make install" -msgstr "" - -#: ../../using/configure.rst:1184 -msgid "Build the ``all`` target and install Python." -msgstr "" - -#: ../../using/configure.rst:1188 -msgid "make test" -msgstr "" - -#: ../../using/configure.rst:1190 -msgid "" -"Build the ``all`` target and run the Python test suite with the ``--fast-" -"ci`` option without GUI tests. Variables:" -msgstr "" - -#: ../../using/configure.rst:1193 -msgid "``TESTOPTS``: additional regrtest command-line options." -msgstr "" - -#: ../../using/configure.rst:1194 -msgid "``TESTPYTHONOPTS``: additional Python command-line options." -msgstr "" - -#: ../../using/configure.rst:1195 -msgid "``TESTTIMEOUT``: timeout in seconds (default: 10 minutes)." -msgstr "" - -#: ../../using/configure.rst:1199 -msgid "make ci" -msgstr "" - -#: ../../using/configure.rst:1201 -msgid "" -"This is similar to ``make test``, but uses the ``-ugui`` to also run GUI " -"tests." -msgstr "" - -#: ../../using/configure.rst:1207 -msgid "make buildbottest" -msgstr "" - -#: ../../using/configure.rst:1209 -msgid "" -"This is similar to ``make test``, but uses the ``--slow-ci`` option and " -"default timeout of 20 minutes, instead of ``--fast-ci`` option." -msgstr "" - -#: ../../using/configure.rst:1214 -msgid "make regen-all" -msgstr "" - -#: ../../using/configure.rst:1216 -msgid "" -"Regenerate (almost) all generated files. These include (but are not limited " -"to) bytecode cases, and parser generator file. ``make regen-stdlib-module-" -"names`` and ``autoconf`` must be run separately for the remaining `generated" -" files <#generated-files>`_." -msgstr "" - -#: ../../using/configure.rst:1223 -msgid "C extensions" -msgstr "" - -#: ../../using/configure.rst:1225 -msgid "" -"Some C extensions are built as built-in modules, like the ``sys`` module. " -"They are built with the ``Py_BUILD_CORE_BUILTIN`` macro defined. Built-in " -"modules have no ``__file__`` attribute:" -msgstr "" - -#: ../../using/configure.rst:1229 -msgid "" -">>> import sys\n" -">>> sys\n" -"\n" -">>> sys.__file__\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"AttributeError: module 'sys' has no attribute '__file__'" -msgstr "" - -#: ../../using/configure.rst:1239 -msgid "" -"Other C extensions are built as dynamic libraries, like the ``_asyncio`` " -"module. They are built with the ``Py_BUILD_CORE_MODULE`` macro defined. " -"Example on Linux x86-64:" -msgstr "" - -#: ../../using/configure.rst:1243 -msgid "" -">>> import _asyncio\n" -">>> _asyncio\n" -"\n" -">>> _asyncio.__file__\n" -"'/usr/lib64/python3.9/lib-dynload/_asyncio.cpython-39-x86_64-linux-gnu.so'" -msgstr "" - -#: ../../using/configure.rst:1251 -msgid "" -":file:`Modules/Setup` is used to generate Makefile targets to build C " -"extensions. At the beginning of the files, C extensions are built as built-" -"in modules. Extensions defined after the ``*shared*`` marker are built as " -"dynamic libraries." -msgstr "" - -#: ../../using/configure.rst:1255 -msgid "" -"The :c:macro:`!PyAPI_FUNC()`, :c:macro:`!PyAPI_DATA()` and " -":c:macro:`PyMODINIT_FUNC` macros of :file:`Include/exports.h` are defined " -"differently depending if the ``Py_BUILD_CORE_MODULE`` macro is defined:" -msgstr "" - -#: ../../using/configure.rst:1259 -msgid "Use ``Py_EXPORTED_SYMBOL`` if the ``Py_BUILD_CORE_MODULE`` is defined" -msgstr "" - -#: ../../using/configure.rst:1260 -msgid "Use ``Py_IMPORTED_SYMBOL`` otherwise." -msgstr "" - -#: ../../using/configure.rst:1262 -msgid "" -"If the ``Py_BUILD_CORE_BUILTIN`` macro is used by mistake on a C extension " -"built as a shared library, its :samp:`PyInit_{xxx}()` function is not " -"exported, causing an :exc:`ImportError` on import." -msgstr "" - -#: ../../using/configure.rst:1268 -msgid "Compiler and linker flags" -msgstr "" - -#: ../../using/configure.rst:1270 -msgid "" -"Options set by the ``./configure`` script and environment variables and used" -" by ``Makefile``." -msgstr "" - -#: ../../using/configure.rst:1274 -msgid "Preprocessor flags" -msgstr "" - -#: ../../using/configure.rst:1278 -msgid "" -"Value of :envvar:`CPPFLAGS` variable passed to the ``./configure`` script." -msgstr "" - -#: ../../using/configure.rst:1284 -msgid "" -"(Objective) C/C++ preprocessor flags, e.g. :samp:`-I{include_dir}` if you " -"have headers in a nonstandard directory *include_dir*." -msgstr "" - -#: ../../using/configure.rst:1287 ../../using/configure.rst:1477 -msgid "" -"Both :envvar:`CPPFLAGS` and :envvar:`LDFLAGS` need to contain the shell's " -"value to be able to build extension modules using the directories specified " -"in the environment variables." -msgstr "" - -#: ../../using/configure.rst:1297 -msgid "" -"Extra preprocessor flags added for building the interpreter object files." -msgstr "" - -#: ../../using/configure.rst:1299 -msgid "" -"Default: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) " -"$(CPPFLAGS)``." -msgstr "" - -#: ../../using/configure.rst:1304 -msgid "Compiler flags" -msgstr "" - -#: ../../using/configure.rst:1310 -msgid "Example: ``gcc -pthread``." -msgstr "" - -#: ../../using/configure.rst:1314 -msgid "C++ compiler command." -msgstr "" - -#: ../../using/configure.rst:1316 -msgid "Example: ``g++ -pthread``." -msgstr "" - -#: ../../using/configure.rst:1324 -msgid "" -":envvar:`CFLAGS_NODIST` is used for building the interpreter and stdlib C " -"extensions. Use it when a compiler flag should *not* be part of " -":envvar:`CFLAGS` once Python is installed (:gh:`65320`)." -msgstr "" - -#: ../../using/configure.rst:1328 -msgid "In particular, :envvar:`CFLAGS` should not contain:" -msgstr "" - -#: ../../using/configure.rst:1330 -msgid "" -"the compiler flag ``-I`` (for setting the search path for include files). " -"The ``-I`` flags are processed from left to right, and any flags in " -":envvar:`CFLAGS` would take precedence over user- and package-supplied " -"``-I`` flags." -msgstr "" - -#: ../../using/configure.rst:1335 -msgid "" -"hardening flags such as ``-Werror`` because distributions cannot control " -"whether packages installed by users conform to such heightened standards." -msgstr "" - -#: ../../using/configure.rst:1343 -msgid "" -"Options passed to the :mod:`compileall` command line when building PYC files" -" in ``make install``. Default: ``-j0``." -msgstr "" - -#: ../../using/configure.rst:1350 -msgid "Extra C compiler flags." -msgstr "" - -#: ../../using/configure.rst:1354 -msgid "" -"Value of :envvar:`CFLAGS` variable passed to the ``./configure`` script." -msgstr "" - -#: ../../using/configure.rst:1361 -msgid "" -"Value of :envvar:`CFLAGS_NODIST` variable passed to the ``./configure`` " -"script." -msgstr "" - -#: ../../using/configure.rst:1368 -msgid "Base compiler flags." -msgstr "" - -#: ../../using/configure.rst:1372 -msgid "Optimization flags." -msgstr "" - -#: ../../using/configure.rst:1376 -msgid "Strict or non-strict aliasing flags used to compile ``Python/dtoa.c``." -msgstr "" - -#: ../../using/configure.rst:1382 -msgid "Compiler flags used to build a shared library." -msgstr "" - -#: ../../using/configure.rst:1384 -msgid "For example, ``-fPIC`` is used on Linux and on BSD." -msgstr "" - -#: ../../using/configure.rst:1388 -msgid "Extra C flags added for building the interpreter object files." -msgstr "" - -#: ../../using/configure.rst:1390 -msgid "" -"Default: ``$(CCSHARED)`` when :option:`--enable-shared` is used, or an empty" -" string otherwise." -msgstr "" - -#: ../../using/configure.rst:1395 -msgid "" -"Default: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) " -"$(EXTRA_CFLAGS)``." -msgstr "" - -#: ../../using/configure.rst:1399 -msgid "" -"Default: ``$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) " -"-I$(srcdir)/Include/internal``." -msgstr "" - -#: ../../using/configure.rst:1405 -msgid "C flags used for building the interpreter object files." -msgstr "" - -#: ../../using/configure.rst:1407 -msgid "" -"Default: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) " -"$(CFLAGSFORSHARED)``." -msgstr "" - -#: ../../using/configure.rst:1413 -msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." -msgstr "" - -#: ../../using/configure.rst:1419 -msgid "" -"Compiler flags to build a standard library extension module as a built-in " -"module, like the :mod:`posix` module." -msgstr "" - -#: ../../using/configure.rst:1422 -msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." -msgstr "" - -#: ../../using/configure.rst:1428 -msgid "Purify command. Purify is a memory debugger program." -msgstr "" - -#: ../../using/configure.rst:1430 -msgid "Default: empty string (not used)." -msgstr "" - -#: ../../using/configure.rst:1434 -msgid "Linker flags" -msgstr "" - -#: ../../using/configure.rst:1438 -msgid "" -"Linker command used to build programs like ``python`` and ``_testembed``." -msgstr "" - -#: ../../using/configure.rst:1440 -msgid "Default: ``$(PURIFY) $(CC)``." -msgstr "" - -#: ../../using/configure.rst:1444 -msgid "" -"Value of :envvar:`LDFLAGS` variable passed to the ``./configure`` script." -msgstr "" - -#: ../../using/configure.rst:1446 -msgid "" -"Avoid assigning :envvar:`CFLAGS`, :envvar:`LDFLAGS`, etc. so users can use " -"them on the command line to append to these values without stomping the pre-" -"set values." -msgstr "" - -#: ../../using/configure.rst:1454 -msgid "" -":envvar:`LDFLAGS_NODIST` is used in the same manner as " -":envvar:`CFLAGS_NODIST`. Use it when a linker flag should *not* be part of " -":envvar:`LDFLAGS` once Python is installed (:gh:`65320`)." -msgstr "" - -#: ../../using/configure.rst:1458 -msgid "In particular, :envvar:`LDFLAGS` should not contain:" -msgstr "" - -#: ../../using/configure.rst:1460 -msgid "" -"the compiler flag ``-L`` (for setting the search path for libraries). The " -"``-L`` flags are processed from left to right, and any flags in " -":envvar:`LDFLAGS` would take precedence over user- and package-supplied " -"``-L`` flags." -msgstr "" - -#: ../../using/configure.rst:1467 -msgid "" -"Value of :envvar:`LDFLAGS_NODIST` variable passed to the ``./configure`` " -"script." -msgstr "" - -#: ../../using/configure.rst:1474 -msgid "" -"Linker flags, e.g. :samp:`-L{lib_dir}` if you have libraries in a " -"nonstandard directory *lib_dir*." -msgstr "" - -#: ../../using/configure.rst:1483 -msgid "" -"Linker flags to pass libraries to the linker when linking the Python " -"executable." -msgstr "" - -#: ../../using/configure.rst:1486 -msgid "Example: ``-lrt``." -msgstr "" - -#: ../../using/configure.rst:1490 -msgid "Command to build a shared library." -msgstr "" - -#: ../../using/configure.rst:1492 -msgid "Default: ``@LDSHARED@ $(PY_LDFLAGS)``." -msgstr "" - -#: ../../using/configure.rst:1496 -msgid "Command to build ``libpython`` shared library." -msgstr "" - -#: ../../using/configure.rst:1498 -msgid "Default: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." -msgstr "" - -#: ../../using/configure.rst:1502 -msgid "Default: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." -msgstr "" - -#: ../../using/configure.rst:1506 -msgid "Default: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." -msgstr "" - -#: ../../using/configure.rst:1512 -msgid "Linker flags used for building the interpreter object files." -msgstr "" - -#: ../../using/configure.rst:1518 -msgid "Footnotes" -msgstr "Catatan kaki" - -#: ../../using/configure.rst:1519 -msgid "" -"``git clean -fdx`` is an even more extreme way to \"clean\" your checkout. " -"It removes all files not known to Git. When bug hunting using ``git " -"bisect``, this is `recommended between probes " -"`_ " -"to guarantee a completely clean build. **Use with care**, as it will delete " -"all files not checked into Git, including your new, uncommitted work." -msgstr "" diff --git a/python-newest.using--editors/id.po b/python-newest.using--editors/id.po deleted file mode 100644 index 05abbdc..0000000 --- a/python-newest.using--editors/id.po +++ /dev/null @@ -1,62 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../using/editors.rst:7 -msgid "Editors and IDEs" -msgstr "Editor dan IDE" - -#: ../../using/editors.rst:9 -msgid "" -"There are a number of IDEs that support Python programming language. Many " -"editors and IDEs provide syntax highlighting, debugging tools, and :pep:`8` " -"checks." -msgstr "" -"Ada banyak IDE yang mendukung bahasa program Python. Banyak editor dan IDE " -"menyediakan *highlight syntax*, alat *debugging*, dan menguji :pep:`8` " - -#: ../../using/editors.rst:14 -msgid "IDLE --- Python editor and shell" -msgstr "" - -#: ../../using/editors.rst:16 -msgid "" -"IDLE is Python’s Integrated Development and Learning Environment and is " -"generally bundled with Python installs. If you are on Linux and do not have " -"IDLE installed see :ref:`Installing IDLE on Linux " -"`. For more information see the :ref:`IDLE docs " -"`." -msgstr "" - -#: ../../using/editors.rst:22 -msgid "Other Editors and IDEs" -msgstr "" - -#: ../../using/editors.rst:24 -msgid "" -"Python's community wiki has information submitted by the community on " -"Editors and IDEs. Please go to `Python Editors " -"`_ and `Integrated Development " -"Environments " -"`_ for a " -"comprehensive list." -msgstr "" diff --git a/python-newest.using--index/id.po b/python-newest.using--index/id.po deleted file mode 100644 index b575d61..0000000 --- a/python-newest.using--index/id.po +++ /dev/null @@ -1,36 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../using/index.rst:5 -msgid "Python Setup and Usage" -msgstr "Pengaturan dan Penggunaan Python" - -#: ../../using/index.rst:8 -msgid "" -"This part of the documentation is devoted to general information on the " -"setup of the Python environment on different platforms, the invocation of " -"the interpreter and things that make working with Python easier." -msgstr "" -"Ini bagian dari dokumentasi yang dikhususkan untuk informasi umum tentang " -"pengaturan lingkungan Python pada platform yang berbeda, pemanggilan dari " -"interpreter dan hal-hal yang membuat bekerja dengan Python jadi lebih mudah." diff --git a/python-newest.using--ios/id.po b/python-newest.using--ios/id.po deleted file mode 100644 index a7aebe8..0000000 --- a/python-newest.using--ios/id.po +++ /dev/null @@ -1,630 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2024-05-11 01:08+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../using/ios.rst:5 -msgid "Using Python on iOS" -msgstr "" - -#: ../../using/ios.rst:0 -msgid "Authors" -msgstr "Penulis" - -#: ../../using/ios.rst:8 -msgid "Russell Keith-Magee (2024-03)" -msgstr "" - -#: ../../using/ios.rst:10 -msgid "" -"Python on iOS is unlike Python on desktop platforms. On a desktop platform, " -"Python is generally installed as a system resource that can be used by any " -"user of that computer. Users then interact with Python by running a " -":program:`python` executable and entering commands at an interactive prompt," -" or by running a Python script." -msgstr "" - -#: ../../using/ios.rst:16 -msgid "" -"On iOS, there is no concept of installing as a system resource. The only " -"unit of software distribution is an \"app\". There is also no console where " -"you could run a :program:`python` executable, or interact with a Python " -"REPL." -msgstr "" - -#: ../../using/ios.rst:20 -msgid "" -"As a result, the only way you can use Python on iOS is in embedded mode - " -"that is, by writing a native iOS application, and embedding a Python " -"interpreter using ``libPython``, and invoking Python code using the " -":ref:`Python embedding API `. The full Python interpreter, the " -"standard library, and all your Python code is then packaged as a standalone " -"bundle that can be distributed via the iOS App Store." -msgstr "" - -#: ../../using/ios.rst:27 -msgid "" -"If you're looking to experiment for the first time with writing an iOS app " -"in Python, projects such as `BeeWare `__ and `Kivy " -"`__ will provide a much more approachable user experience." -" These projects manage the complexities associated with getting an iOS " -"project running, so you only need to deal with the Python code itself." -msgstr "" - -#: ../../using/ios.rst:34 -msgid "Python at runtime on iOS" -msgstr "" - -#: ../../using/ios.rst:37 -msgid "iOS version compatibility" -msgstr "" - -#: ../../using/ios.rst:39 -msgid "" -"The minimum supported iOS version is specified at compile time, using the " -":option:`--host` option to ``configure``. By default, when compiled for iOS," -" Python will be compiled with a minimum supported iOS version of 13.0. To " -"use a different minimum iOS version, provide the version number as part of " -"the :option:`!--host` argument - for example, ``--host=arm64-apple-" -"ios15.4-simulator`` would compile an ARM64 simulator build with a deployment" -" target of 15.4." -msgstr "" - -#: ../../using/ios.rst:48 -msgid "Platform identification" -msgstr "" - -#: ../../using/ios.rst:50 -msgid "" -"When executing on iOS, ``sys.platform`` will report as ``ios``. This value " -"will be returned on an iPhone or iPad, regardless of whether the app is " -"running on the simulator or a physical device." -msgstr "" - -#: ../../using/ios.rst:54 -msgid "" -"Information about the specific runtime environment, including the iOS " -"version, device model, and whether the device is a simulator, can be " -"obtained using :func:`platform.ios_ver`. :func:`platform.system` will report" -" ``iOS`` or ``iPadOS``, depending on the device." -msgstr "" - -#: ../../using/ios.rst:59 -msgid "" -":func:`os.uname` reports kernel-level details; it will report a name of " -"``Darwin``." -msgstr "" - -#: ../../using/ios.rst:63 -msgid "Standard library availability" -msgstr "" - -#: ../../using/ios.rst:65 -msgid "" -"The Python standard library has some notable omissions and restrictions on " -"iOS. See the :ref:`API availability guide for iOS ` for" -" details." -msgstr "" - -#: ../../using/ios.rst:70 -msgid "Binary extension modules" -msgstr "" - -#: ../../using/ios.rst:72 -msgid "" -"One notable difference about iOS as a platform is that App Store " -"distribution imposes hard requirements on the packaging of an application. " -"One of these requirements governs how binary extension modules are " -"distributed." -msgstr "" - -#: ../../using/ios.rst:76 -msgid "" -"The iOS App Store requires that *all* binary modules in an iOS app must be " -"dynamic libraries, contained in a framework with appropriate metadata, " -"stored in the ``Frameworks`` folder of the packaged app. There can be only a" -" single binary per framework, and there can be no executable binary material" -" outside the ``Frameworks`` folder." -msgstr "" - -#: ../../using/ios.rst:82 -msgid "" -"This conflicts with the usual Python approach for distributing binaries, " -"which allows a binary extension module to be loaded from any location on " -"``sys.path``. To ensure compliance with App Store policies, an iOS project " -"must post-process any Python packages, converting ``.so`` binary modules " -"into individual standalone frameworks with appropriate metadata and signing." -" For details on how to perform this post-processing, see the guide for " -":ref:`adding Python to your project `." -msgstr "" - -#: ../../using/ios.rst:90 -msgid "" -"To help Python discover binaries in their new location, the original ``.so``" -" file on ``sys.path`` is replaced with a ``.fwork`` file. This file is a " -"text file containing the location of the framework binary, relative to the " -"app bundle. To allow the framework to resolve back to the original location," -" the framework must contain a ``.origin`` file that contains the location of" -" the ``.fwork`` file, relative to the app bundle." -msgstr "" - -#: ../../using/ios.rst:97 -msgid "" -"For example, consider the case of an import ``from foo.bar import _whiz``, " -"where ``_whiz`` is implemented with the binary module " -"``sources/foo/bar/_whiz.abi3.so``, with ``sources`` being the location " -"registered on ``sys.path``, relative to the application bundle. This module " -"*must* be distributed as " -"``Frameworks/foo.bar._whiz.framework/foo.bar._whiz`` (creating the framework" -" name from the full import path of the module), with an ``Info.plist`` file " -"in the ``.framework`` directory identifying the binary as a framework. The " -"``foo.bar._whiz`` module would be represented in the original location with " -"a ``sources/foo/bar/_whiz.abi3.fwork`` marker file, containing the path " -"``Frameworks/foo.bar._whiz/foo.bar._whiz``. The framework would also contain" -" ``Frameworks/foo.bar._whiz.framework/foo.bar._whiz.origin``, containing the" -" path to the ``.fwork`` file." -msgstr "" - -#: ../../using/ios.rst:110 -msgid "" -"When running on iOS, the Python interpreter will install an " -":class:`~importlib.machinery.AppleFrameworkLoader` that is able to read and " -"import ``.fwork`` files. Once imported, the ``__file__`` attribute of the " -"binary module will report as the location of the ``.fwork`` file. However, " -"the :class:`~importlib.machinery.ModuleSpec` for the loaded module will " -"report the ``origin`` as the location of the binary in the framework folder." -msgstr "" - -#: ../../using/ios.rst:118 -msgid "Compiler stub binaries" -msgstr "" - -#: ../../using/ios.rst:120 -msgid "" -"Xcode doesn't expose explicit compilers for iOS; instead, it uses an " -"``xcrun`` script that resolves to a full compiler path (e.g., ``xcrun --sdk " -"iphoneos clang`` to get the ``clang`` for an iPhone device). However, using " -"this script poses two problems:" -msgstr "" - -#: ../../using/ios.rst:125 -msgid "" -"The output of ``xcrun`` includes paths that are machine specific, resulting " -"in a sysconfig module that cannot be shared between users; and" -msgstr "" - -#: ../../using/ios.rst:128 -msgid "" -"It results in ``CC``/``CPP``/``LD``/``AR`` definitions that include spaces. " -"There is a lot of C ecosystem tooling that assumes that you can split a " -"command line at the first space to get the path to the compiler executable; " -"this isn't the case when using ``xcrun``." -msgstr "" - -#: ../../using/ios.rst:133 -msgid "" -"To avoid these problems, Python provided stubs for these tools. These stubs " -"are shell script wrappers around the underingly ``xcrun`` tools, distributed" -" in a ``bin`` folder distributed alongside the compiled iOS framework. These" -" scripts are relocatable, and will always resolve to the appropriate local " -"system paths. By including these scripts in the bin folder that accompanies " -"a framework, the contents of the ``sysconfig`` module becomes useful for " -"end-users to compile their own modules. When compiling third-party Python " -"modules for iOS, you should ensure these stub binaries are on your path." -msgstr "" - -#: ../../using/ios.rst:143 -msgid "Installing Python on iOS" -msgstr "" - -#: ../../using/ios.rst:146 -msgid "Tools for building iOS apps" -msgstr "" - -#: ../../using/ios.rst:148 -msgid "" -"Building for iOS requires the use of Apple's Xcode tooling. It is strongly " -"recommended that you use the most recent stable release of Xcode. This will " -"require the use of the most (or second-most) recently released macOS " -"version, as Apple does not maintain Xcode for older macOS versions. The " -"Xcode Command Line Tools are not sufficient for iOS development; you need a " -"*full* Xcode install." -msgstr "" - -#: ../../using/ios.rst:155 -msgid "" -"If you want to run your code on the iOS simulator, you'll also need to " -"install an iOS Simulator Platform. You should be prompted to select an iOS " -"Simulator Platform when you first run Xcode. Alternatively, you can add an " -"iOS Simulator Platform by selecting from the Platforms tab of the Xcode " -"Settings panel." -msgstr "" - -#: ../../using/ios.rst:163 -msgid "Adding Python to an iOS project" -msgstr "" - -#: ../../using/ios.rst:165 -msgid "" -"Python can be added to any iOS project, using either Swift or Objective C. " -"The following examples will use Objective C; if you are using Swift, you may" -" find a library like `PythonKit `__ to" -" be helpful." -msgstr "" - -#: ../../using/ios.rst:170 -msgid "To add Python to an iOS Xcode project:" -msgstr "" - -#: ../../using/ios.rst:172 -msgid "" -"Build or obtain a Python ``XCFramework``. See the instructions in " -":source:`iOS/README.rst` (in the CPython source distribution) for details on" -" how to build a Python ``XCFramework``. At a minimum, you will need a build " -"that supports ``arm64-apple-ios``, plus one of either ``arm64-apple-ios-" -"simulator`` or ``x86_64-apple-ios-simulator``." -msgstr "" - -#: ../../using/ios.rst:178 -msgid "" -"Drag the ``XCframework`` into your iOS project. In the following " -"instructions, we'll assume you've dropped the ``XCframework`` into the root " -"of your project; however, you can use any other location that you want by " -"adjusting paths as needed." -msgstr "" - -#: ../../using/ios.rst:183 -msgid "" -"Drag the ``iOS/Resources/dylib-Info-template.plist`` file into your project," -" and ensure it is associated with the app target." -msgstr "" - -#: ../../using/ios.rst:186 -msgid "" -"Add your application code as a folder in your Xcode project. In the " -"following instructions, we'll assume that your user code is in a folder " -"named ``app`` in the root of your project; you can use any other location by" -" adjusting paths as needed. Ensure that this folder is associated with your " -"app target." -msgstr "" - -#: ../../using/ios.rst:192 -msgid "" -"Select the app target by selecting the root node of your Xcode project, then" -" the target name in the sidebar that appears." -msgstr "" - -#: ../../using/ios.rst:195 -msgid "" -"In the \"General\" settings, under \"Frameworks, Libraries and Embedded " -"Content\", add ``Python.xcframework``, with \"Embed & Sign\" selected." -msgstr "" - -#: ../../using/ios.rst:198 -msgid "In the \"Build Settings\" tab, modify the following:" -msgstr "" - -#: ../../using/ios.rst:200 -msgid "Build Options" -msgstr "" - -#: ../../using/ios.rst:202 -msgid "User Script Sandboxing: No" -msgstr "" - -#: ../../using/ios.rst:203 -msgid "Enable Testability: Yes" -msgstr "" - -#: ../../using/ios.rst:205 -msgid "Search Paths" -msgstr "" - -#: ../../using/ios.rst:207 -msgid "Framework Search Paths: ``$(PROJECT_DIR)``" -msgstr "" - -#: ../../using/ios.rst:208 -msgid "" -"Header Search Paths: ``\"$(BUILT_PRODUCTS_DIR)/Python.framework/Headers\"``" -msgstr "" - -#: ../../using/ios.rst:210 -msgid "Apple Clang - Warnings - All languages" -msgstr "" - -#: ../../using/ios.rst:212 -msgid "Quoted Include In Framework Header: No" -msgstr "" - -#: ../../using/ios.rst:214 -msgid "" -"Add a build step that copies the Python standard library into your app. In " -"the \"Build Phases\" tab, add a new \"Run Script\" build step *before* the " -"\"Embed Frameworks\" step, but *after* the \"Copy Bundle Resources\" step. " -"Name the step \"Install Target Specific Python Standard Library\", disable " -"the \"Based on dependency analysis\" checkbox, and set the script content " -"to:" -msgstr "" - -#: ../../using/ios.rst:220 -msgid "" -"set -e\n" -"\n" -"mkdir -p \"$CODESIGNING_FOLDER_PATH/python/lib\"\n" -"if [ \"$EFFECTIVE_PLATFORM_NAME\" = \"-iphonesimulator\" ]; then\n" -" echo \"Installing Python modules for iOS Simulator\"\n" -" rsync -au --delete \"$PROJECT_DIR/Python.xcframework/ios-arm64_x86_64-simulator/lib/\" \"$CODESIGNING_FOLDER_PATH/python/lib/\"\n" -"else\n" -" echo \"Installing Python modules for iOS Device\"\n" -" rsync -au --delete \"$PROJECT_DIR/Python.xcframework/ios-arm64/lib/\" \"$CODESIGNING_FOLDER_PATH/python/lib/\"\n" -"fi" -msgstr "" - -#: ../../using/ios.rst:233 -msgid "" -"Note that the name of the simulator \"slice\" in the XCframework may be " -"different, depending the CPU architectures your ``XCFramework`` supports." -msgstr "" - -#: ../../using/ios.rst:236 -msgid "" -"Add a second build step that processes the binary extension modules in the " -"standard library into \"Framework\" format. Add a \"Run Script\" build step " -"*directly after* the one you added in step 8, named \"Prepare Python Binary " -"Modules\". It should also have \"Based on dependency analysis\" unchecked, " -"with the following script content:" -msgstr "" - -#: ../../using/ios.rst:242 -msgid "" -"set -e\n" -"\n" -"install_dylib () {\n" -" INSTALL_BASE=$1\n" -" FULL_EXT=$2\n" -"\n" -" # The name of the extension file\n" -" EXT=$(basename \"$FULL_EXT\")\n" -" # The location of the extension file, relative to the bundle\n" -" RELATIVE_EXT=${FULL_EXT#$CODESIGNING_FOLDER_PATH/}\n" -" # The path to the extension file, relative to the install base\n" -" PYTHON_EXT=${RELATIVE_EXT/$INSTALL_BASE/}\n" -" # The full dotted name of the extension module, constructed from the file path.\n" -" FULL_MODULE_NAME=$(echo $PYTHON_EXT | cut -d \".\" -f 1 | tr \"/\" \".\");\n" -" # A bundle identifier; not actually used, but required by Xcode framework packaging\n" -" FRAMEWORK_BUNDLE_ID=$(echo $PRODUCT_BUNDLE_IDENTIFIER.$FULL_MODULE_NAME | tr \"_\" \"-\")\n" -" # The name of the framework folder.\n" -" FRAMEWORK_FOLDER=\"Frameworks/$FULL_MODULE_NAME.framework\"\n" -"\n" -" # If the framework folder doesn't exist, create it.\n" -" if [ ! -d \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER\" ]; then\n" -" echo \"Creating framework for $RELATIVE_EXT\"\n" -" mkdir -p \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER\"\n" -" cp \"$CODESIGNING_FOLDER_PATH/dylib-Info-template.plist\" \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/Info.plist\"\n" -" plutil -replace CFBundleExecutable -string \"$FULL_MODULE_NAME\" \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/Info.plist\"\n" -" plutil -replace CFBundleIdentifier -string \"$FRAMEWORK_BUNDLE_ID\" \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/Info.plist\"\n" -" fi\n" -"\n" -" echo \"Installing binary for $FRAMEWORK_FOLDER/$FULL_MODULE_NAME\"\n" -" mv \"$FULL_EXT\" \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/$FULL_MODULE_NAME\"\n" -" # Create a placeholder .fwork file where the .so was\n" -" echo \"$FRAMEWORK_FOLDER/$FULL_MODULE_NAME\" > ${FULL_EXT%.so}.fwork\n" -" # Create a back reference to the .so file location in the framework\n" -" echo \"${RELATIVE_EXT%.so}.fwork\" > \"$CODESIGNING_FOLDER_PATH/$FRAMEWORK_FOLDER/$FULL_MODULE_NAME.origin\"\n" -" }\n" -"\n" -" PYTHON_VER=$(ls -1 \"$CODESIGNING_FOLDER_PATH/python/lib\")\n" -" echo \"Install Python $PYTHON_VER standard library extension modules...\"\n" -" find \"$CODESIGNING_FOLDER_PATH/python/lib/$PYTHON_VER/lib-dynload\" -name \"*.so\" | while read FULL_EXT; do\n" -" install_dylib python/lib/$PYTHON_VER/lib-dynload/ \"$FULL_EXT\"\n" -" done\n" -"\n" -" # Clean up dylib template\n" -" rm -f \"$CODESIGNING_FOLDER_PATH/dylib-Info-template.plist\"\n" -"\n" -" echo \"Signing frameworks as $EXPANDED_CODE_SIGN_IDENTITY_NAME ($EXPANDED_CODE_SIGN_IDENTITY)...\"\n" -" find \"$CODESIGNING_FOLDER_PATH/Frameworks\" -name \"*.framework\" -exec /usr/bin/codesign --force --sign \"$EXPANDED_CODE_SIGN_IDENTITY\" ${OTHER_CODE_SIGN_FLAGS:-} -o runtime --timestamp=none --preserve-metadata=identifier,entitlements,flags --generate-entitlement-der \"{}\" \\;" -msgstr "" - -#: ../../using/ios.rst:292 -msgid "" -"Add Objective C code to initialize and use a Python interpreter in embedded " -"mode. You should ensure that:" -msgstr "" - -#: ../../using/ios.rst:295 -msgid "UTF-8 mode (:c:member:`PyPreConfig.utf8_mode`) is *enabled*;" -msgstr "" - -#: ../../using/ios.rst:296 -msgid "Buffered stdio (:c:member:`PyConfig.buffered_stdio`) is *disabled*;" -msgstr "" - -#: ../../using/ios.rst:297 -msgid "Writing bytecode (:c:member:`PyConfig.write_bytecode`) is *disabled*;" -msgstr "" - -#: ../../using/ios.rst:298 -msgid "" -"Signal handlers (:c:member:`PyConfig.install_signal_handlers`) are " -"*enabled*;" -msgstr "" - -#: ../../using/ios.rst:299 -msgid "" -"System logging (:c:member:`PyConfig.use_system_logger`) is *enabled* " -"(optional, but strongly recommended; this is enabled by default);" -msgstr "" - -#: ../../using/ios.rst:301 -msgid "" -"``PYTHONHOME`` for the interpreter is configured to point at the ``python`` " -"subfolder of your app's bundle; and" -msgstr "" - -#: ../../using/ios.rst:303 -msgid "The ``PYTHONPATH`` for the interpreter includes:" -msgstr "" - -#: ../../using/ios.rst:305 -msgid "the ``python/lib/python3.X`` subfolder of your app's bundle," -msgstr "" - -#: ../../using/ios.rst:306 -msgid "" -"the ``python/lib/python3.X/lib-dynload`` subfolder of your app's bundle, and" -msgstr "" - -#: ../../using/ios.rst:307 -msgid "the ``app`` subfolder of your app's bundle" -msgstr "" - -#: ../../using/ios.rst:309 -msgid "" -"Your app's bundle location can be determined using ``[[NSBundle mainBundle] " -"resourcePath]``." -msgstr "" - -#: ../../using/ios.rst:312 -msgid "" -"Steps 8, 9 and 10 of these instructions assume that you have a single folder" -" of pure Python application code, named ``app``. If you have third-party " -"binary modules in your app, some additional steps will be required:" -msgstr "" - -#: ../../using/ios.rst:316 -msgid "" -"You need to ensure that any folders containing third-party binaries are " -"either associated with the app target, or copied in as part of step 8. Step " -"8 should also purge any binaries that are not appropriate for the platform a" -" specific build is targeting (i.e., delete any device binaries if you're " -"building an app targeting the simulator)." -msgstr "" - -#: ../../using/ios.rst:322 -msgid "" -"Any folders that contain third-party binaries must be processed into " -"framework form by step 9. The invocation of ``install_dylib`` that processes" -" the ``lib-dynload`` folder can be copied and adapted for this purpose." -msgstr "" - -#: ../../using/ios.rst:326 -msgid "" -"If you're using a separate folder for third-party packages, ensure that " -"folder is included as part of the ``PYTHONPATH`` configuration in step 10." -msgstr "" - -#: ../../using/ios.rst:330 -msgid "Testing a Python package" -msgstr "" - -#: ../../using/ios.rst:332 -msgid "" -"The CPython source tree contains :source:`a testbed project ` " -"that is used to run the CPython test suite on the iOS simulator. This " -"testbed can also be used as a testbed project for running your Python " -"library's test suite on iOS." -msgstr "" - -#: ../../using/ios.rst:336 -msgid "" -"After building or obtaining an iOS XCFramework (See :source:`iOS/README.rst`" -" for details), create a clone of the Python iOS testbed project by running:" -msgstr "" - -#: ../../using/ios.rst:339 -msgid "" -"$ python iOS/testbed clone --framework --app " -" --app app-testbed" -msgstr "" - -#: ../../using/ios.rst:343 -msgid "" -"You will need to modify the ``iOS/testbed`` reference to point to that " -"directory in the CPython source tree; any folders specified with the " -"``--app`` flag will be copied into the cloned testbed project. The resulting" -" testbed will be created in the ``app-testbed`` folder. In this example, the" -" ``module1`` and ``module2`` would be importable modules at runtime. If your" -" project has additional dependencies, they can be installed into the ``app-" -"testbed/iOSTestbed/app_packages`` folder (using ``pip install --target app-" -"testbed/iOSTestbed/app_packages`` or similar)." -msgstr "" - -#: ../../using/ios.rst:352 -msgid "" -"You can then use the ``app-testbed`` folder to run the test suite for your " -"app, For example, if ``module1.tests`` was the entry point to your test " -"suite, you could run:" -msgstr "" - -#: ../../using/ios.rst:356 -msgid "$ python app-testbed run -- module1.tests" -msgstr "" - -#: ../../using/ios.rst:360 -msgid "" -"This is the equivalent of running ``python -m module1.tests`` on a desktop " -"Python build. Any arguments after the ``--`` will be passed to the testbed " -"as if they were arguments to ``python -m`` on a desktop machine." -msgstr "" - -#: ../../using/ios.rst:364 -msgid "You can also open the testbed project in Xcode by running:" -msgstr "" - -#: ../../using/ios.rst:366 -msgid "$ open app-testbed/iOSTestbed.xcodeproj" -msgstr "" - -#: ../../using/ios.rst:370 -msgid "" -"This will allow you to use the full Xcode suite of tools for debugging." -msgstr "" - -#: ../../using/ios.rst:373 -msgid "App Store Compliance" -msgstr "" - -#: ../../using/ios.rst:375 -msgid "" -"The only mechanism for distributing apps to third-party iOS devices is to " -"submit the app to the iOS App Store; apps submitted for distribution must " -"pass Apple's app review process. This process includes a set of automated " -"validation rules that inspect the submitted application bundle for " -"problematic code." -msgstr "" - -#: ../../using/ios.rst:380 -msgid "" -"The Python standard library contains some code that is known to violate " -"these automated rules. While these violations appear to be false positives, " -"Apple's review rules cannot be challenged; so, it is necessary to modify the" -" Python standard library for an app to pass App Store review." -msgstr "" - -#: ../../using/ios.rst:385 -msgid "" -"The Python source tree contains :source:`a patch file ` that will remove all code that is known to cause " -"issues with the App Store review process. This patch is applied " -"automatically when building for iOS." -msgstr "" diff --git a/python-newest.using--mac/id.po b/python-newest.using--mac/id.po deleted file mode 100644 index 6007f61..0000000 --- a/python-newest.using--mac/id.po +++ /dev/null @@ -1,689 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2018 -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../using/mac.rst:6 -msgid "Using Python on macOS" -msgstr "" - -#: ../../using/mac.rst:11 -msgid "" -"This document aims to give an overview of macOS-specific behavior you should" -" know about to get started with Python on Mac computers. Python on a Mac " -"running macOS is very similar to Python on other Unix-derived platforms, but" -" there are some differences in installation and some features." -msgstr "" - -#: ../../using/mac.rst:16 -msgid "" -"There are various ways to obtain and install Python for macOS. Pre-built " -"versions of the most recent versions of Python are available from a number " -"of distributors. Much of this document describes use of the Pythons provided" -" by the CPython release team for download from the `python.org website " -"`_. See :ref:`alternative_bundles` for " -"some other options." -msgstr "" - -#: ../../using/mac.rst:34 -msgid "Using Python for macOS from ``python.org``" -msgstr "" - -#: ../../using/mac.rst:37 -msgid "Installation steps" -msgstr "Langkah instalasi" - -#: ../../using/mac.rst:39 -msgid "" -"For `current Python versions `_ (other " -"than those in ``security`` status), the release team produces a **Python for" -" macOS** installer package for each new release. A list of available " -"installers is available `here `_. " -"We recommend using the most recent supported Python version where possible. " -"Current installers provide a `universal2 binary " -"`_ build of Python which " -"runs natively on all Macs (Apple Silicon and Intel) that are supported by a " -"wide range of macOS versions, currently typically from at least **macOS " -"10.13 High Sierra** on." -msgstr "" - -#: ../../using/mac.rst:51 -msgid "" -"The downloaded file is a standard macOS installer package file (``.pkg``). " -"File integrity information (checksum, size, sigstore signature, etc) for " -"each file is included on the release download page. Installer packages and " -"their contents are signed and notarized with ``Python Software Foundation`` " -"Apple Developer ID certificates to meet `macOS Gatekeeper requirements " -"`_." -msgstr "" - -#: ../../using/mac.rst:57 -msgid "" -"For a default installation, double-click on the downloaded installer package" -" file. This should launch the standard macOS Installer app and display the " -"first of several installer windows steps." -msgstr "" - -#: ../../using/mac.rst:63 -msgid "" -"Clicking on the **Continue** button brings up the **Read Me** for this " -"installer. Besides other important information, the **Read Me** documents " -"which Python version is going to be installed and on what versions of macOS " -"it is supported. You may need to scroll through to read the whole file. By " -"default, this **Read Me** will also be installed in " -"|usemac_applications_folder_version| and available to read anytime." -msgstr "" - -#: ../../using/mac.rst:71 -msgid "" -"Clicking on **Continue** proceeds to display the license for Python and for " -"other included software. You will then need to **Agree** to the license " -"terms before proceeding to the next step. This license file will also be " -"installed and available to be read later." -msgstr "" - -#: ../../using/mac.rst:78 -msgid "" -"After the license terms are accepted, the next step is the **Installation " -"Type** display. For most uses, the standard set of installation operations " -"is appropriate." -msgstr "" - -#: ../../using/mac.rst:83 -msgid "" -"By pressing the **Customize** button, you can choose to omit or select " -"certain package components of the installer. Click on each package name to " -"see a description of what it installs. To also install support for the " -"optional experimental free-threaded feature, see :ref:`install-freethreaded-" -"macos`." -msgstr "" - -#: ../../using/mac.rst:91 -msgid "" -"In either case, clicking **Install** will begin the install process by " -"asking permission to install new software. A macOS user name with " -"``Administrator`` privilege is needed as the installed Python will be " -"available to all users of the Mac." -msgstr "" - -#: ../../using/mac.rst:95 -msgid "When the installation is complete, the **Summary** window will appear." -msgstr "" - -#: ../../using/mac.rst:99 -msgid "" -"Double-click on the :command:`Install Certificates.command` icon or file in " -"the |usemac_applications_folder_version| window to complete the " -"installation." -msgstr "" - -#: ../../using/mac.rst:105 -msgid "" -"This will open a temporary :program:`Terminal` shell window that will use " -"the new Python to download and install SSL root certificates for its use." -msgstr "" - -#: ../../using/mac.rst:111 -msgid "" -"If ``Successfully installed certifi`` and ``update complete`` appears in the" -" terminal window, the installation is complete. Close this terminal window " -"and the installer window." -msgstr "" - -#: ../../using/mac.rst:115 -msgid "A default install will include:" -msgstr "" - -#: ../../using/mac.rst:117 -msgid "" -"A |usemac_applications_folder_name| folder in your :file:`Applications` " -"folder. In here you find :program:`IDLE`, the development environment that " -"is a standard part of official Python distributions; and :program:`Python " -"Launcher`, which handles double-clicking Python scripts from the macOS " -"`Finder `_." -msgstr "" - -#: ../../using/mac.rst:122 -msgid "" -"A framework :file:`/Library/Frameworks/Python.framework`, which includes the" -" Python executable and libraries. The installer adds this location to your " -"shell path. To uninstall Python, you can remove these three things. Symlinks" -" to the Python executable are placed in :file:`/usr/local/bin/`." -msgstr "" - -#: ../../using/mac.rst:129 -msgid "" -"Recent versions of macOS include a :command:`python3` command in " -":file:`/usr/bin/python3` that links to a usually older and incomplete " -"version of Python provided by and for use by the Apple development tools, " -":program:`Xcode` or the :program:`Command Line Tools for Xcode`. You should " -"never modify or attempt to delete this installation, as it is Apple-" -"controlled and is used by Apple-provided or third-party software. If you " -"choose to install a newer Python version from ``python.org``, you will have " -"two different but functional Python installations on your computer that can " -"co-exist. The default installer options should ensure that its " -":command:`python3` will be used instead of the system :command:`python3`." -msgstr "" - -#: ../../using/mac.rst:140 -msgid "How to run a Python script" -msgstr "" - -#: ../../using/mac.rst:142 -msgid "" -"There are two ways to invoke the Python interpreter. If you are familiar " -"with using a Unix shell in a terminal window, you can invoke " -"|usemac_python_x_dot_y_literal| or ``python3`` optionally followed by one or" -" more command line options (described in :ref:`using-on-general`). The " -"Python tutorial also has a useful section on :ref:`using Python " -"interactively from a shell `." -msgstr "" - -#: ../../using/mac.rst:149 -msgid "" -"You can also invoke the interpreter through an integrated development " -"environment. :ref:`idle` is a basic editor and interpreter environment which" -" is included with the standard distribution of Python. :program:`IDLE` " -"includes a Help menu that allows you to access Python documentation. If you " -"are completely new to Python, you can read the tutorial introduction in that" -" document." -msgstr "" - -#: ../../using/mac.rst:157 -msgid "" -"There are many other editors and IDEs available, see :ref:`editors` for more" -" information." -msgstr "" - -#: ../../using/mac.rst:160 -msgid "" -"To run a Python script file from the terminal window, you can invoke the " -"interpreter with the name of the script file:" -msgstr "" - -#: ../../using/mac.rst:163 -msgid "|usemac_python_x_dot_y_literal| ``myscript.py``" -msgstr "" - -#: ../../using/mac.rst:165 -msgid "To run your script from the Finder, you can either:" -msgstr "" - -#: ../../using/mac.rst:167 -msgid "Drag it to :program:`Python Launcher`." -msgstr "" - -#: ../../using/mac.rst:169 -msgid "" -"Select :program:`Python Launcher` as the default application to open your " -"script (or any ``.py`` script) through the Finder Info window and double-" -"click it. :program:`Python Launcher` has various preferences to control how " -"your script is launched. Option-dragging allows you to change these for one " -"invocation, or use its ``Preferences`` menu to change things globally." -msgstr "" - -#: ../../using/mac.rst:175 -msgid "" -"Be aware that running the script directly from the macOS Finder might " -"produce different results than when running from a terminal window as the " -"script will not be run in the usual shell environment including any setting " -"of environment variables in shell profiles. And, as with any other script or" -" program, be certain of what you are about to run." -msgstr "" - -#: ../../using/mac.rst:185 -msgid "Alternative Distributions" -msgstr "" - -#: ../../using/mac.rst:187 -msgid "" -"Besides the standard ``python.org`` for macOS installer, there are third-" -"party distributions for macOS that may include additional functionality. " -"Some popular distributions and their key features:" -msgstr "" - -#: ../../using/mac.rst:191 -msgid "`ActivePython `_" -msgstr "" - -#: ../../using/mac.rst:192 -msgid "Installer with multi-platform compatibility, documentation" -msgstr "" - -#: ../../using/mac.rst:194 -msgid "`Anaconda `_" -msgstr "`Anaconda `_" - -#: ../../using/mac.rst:195 -msgid "" -"Popular scientific modules (such as numpy, scipy, and pandas) and the " -"``conda`` package manager." -msgstr "" - -#: ../../using/mac.rst:198 -msgid "`Homebrew `_" -msgstr "" - -#: ../../using/mac.rst:199 -msgid "" -"Package manager for macOS including multiple versions of Python and many " -"third-party Python-based packages (including numpy, scipy, and pandas)." -msgstr "" - -#: ../../using/mac.rst:202 -msgid "`MacPorts `_" -msgstr "" - -#: ../../using/mac.rst:203 -msgid "" -"Another package manager for macOS including multiple versions of Python and " -"many third-party Python-based packages. May include pre-built versions of " -"Python and many packages for older versions of macOS." -msgstr "" - -#: ../../using/mac.rst:207 -msgid "" -"Note that distributions might not include the latest versions of Python or " -"other libraries, and are not maintained or supported by the core Python " -"team." -msgstr "" - -#: ../../using/mac.rst:213 -msgid "Installing Additional Python Packages" -msgstr "" - -#: ../../using/mac.rst:215 -msgid "Refer to the `Python Packaging User Guide`_ for more information." -msgstr "" - -#: ../../using/mac.rst:225 -msgid "GUI Programming" -msgstr "" - -#: ../../using/mac.rst:227 -msgid "" -"There are several options for building GUI applications on the Mac with " -"Python." -msgstr "" - -#: ../../using/mac.rst:229 -msgid "" -"The standard Python GUI toolkit is :mod:`tkinter`, based on the cross-" -"platform Tk toolkit (https://www.tcl.tk). A macOS-native version of Tk is " -"included with the installer." -msgstr "" - -#: ../../using/mac.rst:233 -msgid "" -"*PyObjC* is a Python binding to Apple's Objective-C/Cocoa framework. " -"Information on PyObjC is available from :pypi:`pyobjc`." -msgstr "" - -#: ../../using/mac.rst:236 -msgid "A number of alternative macOS GUI toolkits are available including:" -msgstr "" - -#: ../../using/mac.rst:238 -msgid "" -"`PySide `_: Official Python bindings to the" -" `Qt GUI toolkit `_." -msgstr "" - -#: ../../using/mac.rst:241 -msgid "" -"`PyQt `_: Alternative Python " -"bindings to Qt." -msgstr "" - -#: ../../using/mac.rst:244 -msgid "" -"`Kivy `_: A cross-platform GUI toolkit that supports " -"desktop and mobile platforms." -msgstr "" - -#: ../../using/mac.rst:247 -msgid "" -"`Toga `_: Part of the `BeeWare Project " -"`_; supports desktop, mobile, web and console apps." -msgstr "" - -#: ../../using/mac.rst:250 -msgid "" -"`wxPython `_: A cross-platform toolkit that supports " -"desktop operating systems." -msgstr "" - -#: ../../using/mac.rst:255 -msgid "Advanced Topics" -msgstr "" - -#: ../../using/mac.rst:260 -msgid "Installing Free-threaded Binaries" -msgstr "" - -#: ../../using/mac.rst:262 -msgid "(Experimental)" -msgstr "" - -#: ../../using/mac.rst:266 -msgid "" -"Everything described in this section is considered experimental, and should " -"be expected to change in future releases." -msgstr "" - -#: ../../using/mac.rst:269 -msgid "" -"The ``python.org`` :ref:`Python for macOS ` installer package can optionally install an additional build of " -"Python |usemac_x_dot_y| that supports :pep:`703`, the experimental free-" -"threading feature (running with the :term:`global interpreter lock` " -"disabled). Check the release page on ``python.org`` for possible updated " -"information." -msgstr "" - -#: ../../using/mac.rst:275 -msgid "" -"Because this feature is still considered experimental, the support for it is" -" not installed by default. It is packaged as a separate install option, " -"available by clicking the **Customize** button on the **Installation Type** " -"step of the installer as described above." -msgstr "" - -#: ../../using/mac.rst:282 -msgid "" -"If the box next to the **Free-threaded Python** package name is checked, a " -"separate :file:`PythonT.framework` will also be installed alongside the " -"normal :file:`Python.framework` in :file:`/Library/Frameworks`. This " -"configuration allows a free-threaded Python |usemac_x_dot_y| build to co-" -"exist on your system with a traditional (GIL only) Python |usemac_x_dot_y| " -"build with minimal risk while installing or testing. This installation " -"layout is itself experimental and is subject to change in future releases." -msgstr "" - -#: ../../using/mac.rst:290 -msgid "Known cautions and limitations:" -msgstr "" - -#: ../../using/mac.rst:292 -msgid "" -"The **UNIX command-line tools** package, which is selected by default, will " -"install links in :file:`/usr/local/bin` for " -"|usemac_python_x_dot_y_t_literal|, the free-threaded interpreter, and " -"|usemac_python_x_dot_y_t_literal_config|, a configuration utility which may " -"be useful for package builders. Since :file:`/usr/local/bin` is typically " -"included in your shell ``PATH``, in most cases no changes to your ``PATH`` " -"environment variables should be needed to use " -"|usemac_python_x_dot_y_t_literal|." -msgstr "" - -#: ../../using/mac.rst:300 -msgid "" -"For this release, the **Shell profile updater** package and the " -":file:`Update Shell Profile.command` in |usemac_applications_folder_version|" -" do not support the free-threaded package." -msgstr "" - -#: ../../using/mac.rst:304 -msgid "" -"The free-threaded build and the traditional build have separate search paths" -" and separate :file:`site-packages` directories so, by default, if you need " -"a package available in both builds, it may need to be installed in both. The" -" free-threaded package will install a separate instance of :program:`pip` " -"for use with |usemac_python_x_dot_y_t_literal|." -msgstr "" - -#: ../../using/mac.rst:310 -msgid "To install a package using :command:`pip` without a :command:`venv`:" -msgstr "" - -#: ../../using/mac.rst:312 -msgid "|usemac_python_x_dot_y_t_literal| ``-m pip install ``" -msgstr "" - -#: ../../using/mac.rst:314 -msgid "" -"When working with multiple Python environments, it is usually safest and " -"easiest to :ref:`create and use virtual environments `. This can " -"avoid possible command name conflicts and confusion about which Python is in" -" use:" -msgstr "" - -#: ../../using/mac.rst:318 -msgid "|usemac_python_x_dot_y_t_literal| ``-m venv ``" -msgstr "" - -#: ../../using/mac.rst:320 -msgid "then :command:`activate`." -msgstr "" - -#: ../../using/mac.rst:322 -msgid "To run a free-threaded version of IDLE:" -msgstr "" - -#: ../../using/mac.rst:324 -msgid "|usemac_python_x_dot_y_t_literal| ``-m idlelib``" -msgstr "" - -#: ../../using/mac.rst:326 -msgid "" -"The interpreters in both builds respond to the same :ref:`PYTHON environment" -" variables ` which may have unexpected results, for " -"example, if you have ``PYTHONPATH`` set in a shell profile. If necessary, " -"there are :ref:`command line options ` like " -"``-E`` to ignore these environment variables." -msgstr "" - -#: ../../using/mac.rst:333 -msgid "" -"The free-threaded build links to the third-party shared libraries, such as " -"``OpenSSL`` and ``Tk``, installed in the traditional framework. This means " -"that both builds also share one set of trust certificates as installed by " -"the :command:`Install Certificates.command` script, thus it only needs to be" -" run once." -msgstr "" - -#: ../../using/mac.rst:339 -msgid "" -"If you cannot depend on the link in ``/usr/local/bin`` pointing to the " -"``python.org`` free-threaded |usemac_python_x_dot_y_t_literal| (for example," -" if you want to install your own version there or some other distribution " -"does), you can explicitly set your shell ``PATH`` environment variable to " -"include the ``PythonT`` framework ``bin`` directory:" -msgstr "" - -#: ../../using/mac.rst:345 -msgid "" -"export " -"PATH=\"/Library/Frameworks/PythonT.framework/Versions/3.13/bin\":\"$PATH\"" -msgstr "" - -#: ../../using/mac.rst:349 -msgid "" -"The traditional framework installation by default does something similar, " -"except for :file:`Python.framework`. Be aware that having both framework " -"``bin`` directories in ``PATH`` can lead to confusion if there are duplicate" -" names like ``python3.13`` in both; which one is actually used depends on " -"the order they appear in ``PATH``. The ``which python3.x`` or ``which " -"python3.xt`` commands can show which path is being used. Using virtual " -"environments can help avoid such ambiguities. Another option might be to " -"create a shell :command:`alias` to the desired interpreter, like:" -msgstr "" - -#: ../../using/mac.rst:358 -msgid "" -"alias py3.13=\"/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13\"\n" -"alias py3.13t=\"/Library/Frameworks/PythonT.framework/Versions/3.13/bin/python3.13t\"" -msgstr "" - -#: ../../using/mac.rst:364 -msgid "Installing using the command line" -msgstr "" - -#: ../../using/mac.rst:366 -msgid "" -"If you want to use automation to install the ``python.org`` installer " -"package (rather than by using the familiar macOS :program:`Installer` GUI " -"app), the macOS command line :command:`installer` utility lets you select " -"non-default options, too. If you are not familiar with :command:`installer`," -" it can be somewhat cryptic (see :command:`man installer` for more " -"information). As an example, the following shell snippet shows one way to do" -" it, using the ``3.13.0b2`` release and selecting the free-threaded " -"interpreter option:" -msgstr "" - -#: ../../using/mac.rst:375 -msgid "" -"RELEASE=\"python-3.13.0b2-macos11.pkg\"\n" -"\n" -"# download installer pkg\n" -"curl -O https://www.python.org/ftp/python/3.13.0/${RELEASE}\n" -"\n" -"# create installer choicechanges to customize the install:\n" -"# enable the PythonTFramework-3.13 package\n" -"# while accepting the other defaults (install all other packages)\n" -"cat > ./choicechanges.plist <\n" -"\n" -"\n" -"\n" -" \n" -" attributeSetting\n" -" 1\n" -" choiceAttribute\n" -" selected\n" -" choiceIdentifier\n" -" org.python.Python.PythonTFramework-3.13\n" -" \n" -"\n" -"\n" -"EOF\n" -"\n" -"sudo installer -pkg ./${RELEASE} -applyChoiceChangesXML ./choicechanges.plist -target /" -msgstr "" - -#: ../../using/mac.rst:405 -msgid "" -"You can then test that both installer builds are now available with " -"something like:" -msgstr "" - -#: ../../using/mac.rst:407 -msgid "" -"$ # test that the free-threaded interpreter was installed if the Unix Command Tools package was enabled\n" -"$ /usr/local/bin/python3.13t -VV\n" -"Python 3.13.0b2 experimental free-threading build (v3.13.0b2:3a83b172af, Jun 5 2024, 12:57:31) [Clang 15.0.0 (clang-1500.3.9.4)]\n" -"$ # and the traditional interpreter\n" -"$ /usr/local/bin/python3.13 -VV\n" -"Python 3.13.0b2 (v3.13.0b2:3a83b172af, Jun 5 2024, 12:50:24) [Clang 15.0.0 (clang-1500.3.9.4)]\n" -"$ # test that they are also available without the prefix if /usr/local/bin is on $PATH\n" -"$ python3.13t -VV\n" -"Python 3.13.0b2 experimental free-threading build (v3.13.0b2:3a83b172af, Jun 5 2024, 12:57:31) [Clang 15.0.0 (clang-1500.3.9.4)]\n" -"$ python3.13 -VV\n" -"Python 3.13.0b2 (v3.13.0b2:3a83b172af, Jun 5 2024, 12:50:24) [Clang 15.0.0 (clang-1500.3.9.4)]" -msgstr "" - -#: ../../using/mac.rst:423 -msgid "" -"Current ``python.org`` installers only install to fixed locations like " -":file:`/Library/Frameworks/`, :file:`/Applications`, and " -":file:`/usr/local/bin`. You cannot use the :command:`installer` ``-domain`` " -"option to install to other locations." -msgstr "" - -#: ../../using/mac.rst:431 -msgid "Distributing Python Applications" -msgstr "" - -#: ../../using/mac.rst:433 -msgid "" -"A range of tools exist for converting your Python code into a standalone " -"distributable application:" -msgstr "" - -#: ../../using/mac.rst:436 -msgid "" -":pypi:`py2app`: Supports creating macOS ``.app`` bundles from a Python " -"project." -msgstr "" - -#: ../../using/mac.rst:439 -msgid "" -"`Briefcase `_: Part of the `BeeWare " -"Project `_; a cross-platform packaging tool that " -"supports creation of ``.app`` bundles on macOS, as well as managing signing " -"and notarization." -msgstr "" - -#: ../../using/mac.rst:444 -msgid "" -"`PyInstaller `_: A cross-platform packaging tool " -"that creates a single file or folder as a distributable artifact." -msgstr "" - -#: ../../using/mac.rst:448 -msgid "App Store Compliance" -msgstr "" - -#: ../../using/mac.rst:450 -msgid "" -"Apps submitted for distribution through the macOS App Store must pass " -"Apple's app review process. This process includes a set of automated " -"validation rules that inspect the submitted application bundle for " -"problematic code." -msgstr "" - -#: ../../using/mac.rst:454 -msgid "" -"The Python standard library contains some code that is known to violate " -"these automated rules. While these violations appear to be false positives, " -"Apple's review rules cannot be challenged. Therefore, it is necessary to " -"modify the Python standard library for an app to pass App Store review." -msgstr "" - -#: ../../using/mac.rst:459 -msgid "" -"The Python source tree contains :source:`a patch file ` that will remove all code that is known to cause " -"issues with the App Store review process. This patch is applied " -"automatically when CPython is configured with the :option:`--with-app-store-" -"compliance` option." -msgstr "" - -#: ../../using/mac.rst:465 -msgid "" -"This patch is not normally required to use CPython on a Mac; nor is it " -"required if you are distributing an app *outside* the macOS App Store. It is" -" *only* required if you are using the macOS App Store as a distribution " -"channel." -msgstr "" - -#: ../../using/mac.rst:470 -msgid "Other Resources" -msgstr "" - -#: ../../using/mac.rst:472 -msgid "" -"The `python.org Help page `_ has links " -"to many useful resources. The `Pythonmac-SIG mailing list " -"`_ is another " -"support resource specifically for Python users and developers on the Mac." -msgstr "" diff --git a/python-newest.using--unix/id.po b/python-newest.using--unix/id.po deleted file mode 100644 index 9c5a19a..0000000 --- a/python-newest.using--unix/id.po +++ /dev/null @@ -1,355 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# Ahmad Mustafid, 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Ahmad Mustafid, 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../using/unix.rst:7 -msgid "Using Python on Unix platforms" -msgstr "" - -#: ../../using/unix.rst:13 -msgid "Getting and installing the latest version of Python" -msgstr "" - -#: ../../using/unix.rst:16 -msgid "On Linux" -msgstr "" - -#: ../../using/unix.rst:18 -msgid "" -"Python comes preinstalled on most Linux distributions, and is available as a" -" package on all others. However there are certain features you might want " -"to use that are not available on your distro's package. You can compile the" -" latest version of Python from source." -msgstr "" - -#: ../../using/unix.rst:23 -msgid "" -"In the event that the latest version of Python doesn't come preinstalled and" -" isn't in the repositories as well, you can make packages for your own " -"distro. Have a look at the following links:" -msgstr "" - -#: ../../using/unix.rst:29 -msgid "https://www.debian.org/doc/manuals/maint-guide/first.en.html" -msgstr "" - -#: ../../using/unix.rst:30 -msgid "for Debian users" -msgstr "" - -#: ../../using/unix.rst:31 -msgid "https://en.opensuse.org/Portal:Packaging" -msgstr "" - -#: ../../using/unix.rst:32 -msgid "for OpenSuse users" -msgstr "" - -#: ../../using/unix.rst:33 -msgid "" -"https://docs.fedoraproject.org/en-US/package-" -"maintainers/Packaging_Tutorial_GNU_Hello/" -msgstr "" - -#: ../../using/unix.rst:34 -msgid "for Fedora users" -msgstr "" - -#: ../../using/unix.rst:35 -msgid "https://slackbook.org/html/package-management-making-packages.html" -msgstr "" - -#: ../../using/unix.rst:36 -msgid "for Slackware users" -msgstr "" - -#: ../../using/unix.rst:41 -msgid "Installing IDLE" -msgstr "" - -#: ../../using/unix.rst:43 -msgid "In some cases, IDLE might not be included in your Python installation." -msgstr "" - -#: ../../using/unix.rst:45 -msgid "For Debian and Ubuntu users::" -msgstr "" - -#: ../../using/unix.rst:47 -msgid "" -"sudo apt update\n" -"sudo apt install idle" -msgstr "" - -#: ../../using/unix.rst:50 -msgid "For Fedora, RHEL, and CentOS users::" -msgstr "" - -#: ../../using/unix.rst:52 -msgid "sudo dnf install python3-idle" -msgstr "" - -#: ../../using/unix.rst:54 -msgid "For SUSE and OpenSUSE users::" -msgstr "" - -#: ../../using/unix.rst:56 -msgid "sudo zypper install python3-idle" -msgstr "" - -#: ../../using/unix.rst:58 -msgid "For Alpine Linux users::" -msgstr "" - -#: ../../using/unix.rst:60 -msgid "sudo apk add python3-idle" -msgstr "" - -#: ../../using/unix.rst:65 -msgid "On FreeBSD and OpenBSD" -msgstr "" - -#: ../../using/unix.rst:67 -msgid "FreeBSD users, to add the package use::" -msgstr "" - -#: ../../using/unix.rst:69 -msgid "pkg install python3" -msgstr "" - -#: ../../using/unix.rst:71 -msgid "OpenBSD users, to add the package use::" -msgstr "" - -#: ../../using/unix.rst:73 -msgid "" -"pkg_add -r python\n" -"\n" -"pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages//python-.tgz" -msgstr "" - -#: ../../using/unix.rst:77 -msgid "For example i386 users get the 2.5.1 version of Python using::" -msgstr "" - -#: ../../using/unix.rst:79 -msgid "" -"pkg_add " -"ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz" -msgstr "" - -#: ../../using/unix.rst:85 -msgid "Building Python" -msgstr "" - -#: ../../using/unix.rst:87 -msgid "" -"If you want to compile CPython yourself, first thing you should do is get " -"the `source `_. You can download " -"either the latest release's source or just grab a fresh `clone " -"`_. (If you want to" -" contribute patches, you will need a clone.)" -msgstr "" - -#: ../../using/unix.rst:93 -msgid "The build process consists of the usual commands::" -msgstr "" - -#: ../../using/unix.rst:95 -msgid "" -"./configure\n" -"make\n" -"make install" -msgstr "" - -#: ../../using/unix.rst:99 -msgid "" -":ref:`Configuration options ` and caveats for specific " -"Unix platforms are extensively documented in the :source:`README.rst` file " -"in the root of the Python source tree." -msgstr "" - -#: ../../using/unix.rst:105 -msgid "" -"``make install`` can overwrite or masquerade the :file:`python3` binary. " -"``make altinstall`` is therefore recommended instead of ``make install`` " -"since it only installs :file:`{exec_prefix}/bin/python{version}`." -msgstr "" - -#: ../../using/unix.rst:111 -msgid "Python-related paths and files" -msgstr "" - -#: ../../using/unix.rst:113 -msgid "" -"These are subject to difference depending on local installation conventions;" -" :option:`prefix <--prefix>` and :option:`exec_prefix <--exec-prefix>` are " -"installation-dependent and should be interpreted as for GNU software; they " -"may be the same." -msgstr "" - -#: ../../using/unix.rst:118 -msgid "" -"For example, on most Linux systems, the default for both is :file:`/usr`." -msgstr "" - -#: ../../using/unix.rst:121 -msgid "File/directory" -msgstr "" - -#: ../../using/unix.rst:121 -msgid "Meaning" -msgstr "Artinya" - -#: ../../using/unix.rst:123 -msgid ":file:`{exec_prefix}/bin/python3`" -msgstr "" - -#: ../../using/unix.rst:123 -msgid "Recommended location of the interpreter." -msgstr "" - -#: ../../using/unix.rst:125 -msgid "" -":file:`{prefix}/lib/python{version}`, " -":file:`{exec_prefix}/lib/python{version}`" -msgstr "" - -#: ../../using/unix.rst:125 -msgid "" -"Recommended locations of the directories containing the standard modules." -msgstr "" - -#: ../../using/unix.rst:128 -msgid "" -":file:`{prefix}/include/python{version}`, " -":file:`{exec_prefix}/include/python{version}`" -msgstr "" - -#: ../../using/unix.rst:128 -msgid "" -"Recommended locations of the directories containing the include files needed" -" for developing Python extensions and embedding the interpreter." -msgstr "" - -#: ../../using/unix.rst:136 -msgid "Miscellaneous" -msgstr "" - -#: ../../using/unix.rst:138 -msgid "" -"To easily use Python scripts on Unix, you need to make them executable, e.g." -" with" -msgstr "" - -#: ../../using/unix.rst:141 -msgid "$ chmod +x script" -msgstr "" - -#: ../../using/unix.rst:145 -msgid "" -"and put an appropriate Shebang line at the top of the script. A good choice" -" is usually ::" -msgstr "" - -#: ../../using/unix.rst:148 -msgid "#!/usr/bin/env python3" -msgstr "#!/usr/bin/env python3" - -#: ../../using/unix.rst:150 -msgid "" -"which searches for the Python interpreter in the whole :envvar:`PATH`. " -"However, some Unices may not have the :program:`env` command, so you may " -"need to hardcode ``/usr/bin/python3`` as the interpreter path." -msgstr "" - -#: ../../using/unix.rst:154 -msgid "" -"To use shell commands in your Python scripts, look at the :mod:`subprocess` " -"module." -msgstr "" - -#: ../../using/unix.rst:159 -msgid "Custom OpenSSL" -msgstr "" - -#: ../../using/unix.rst:161 -msgid "" -"To use your vendor's OpenSSL configuration and system trust store, locate " -"the directory with ``openssl.cnf`` file or symlink in ``/etc``. On most " -"distribution the file is either in ``/etc/ssl`` or ``/etc/pki/tls``. The " -"directory should also contain a ``cert.pem`` file and/or a ``certs`` " -"directory." -msgstr "" - -#: ../../using/unix.rst:167 -msgid "" -"$ find /etc/ -name openssl.cnf -printf \"%h\\n\"\n" -"/etc/ssl" -msgstr "" - -#: ../../using/unix.rst:172 -msgid "" -"Download, build, and install OpenSSL. Make sure you use ``install_sw`` and " -"not ``install``. The ``install_sw`` target does not override " -"``openssl.cnf``." -msgstr "" - -#: ../../using/unix.rst:176 -msgid "" -"$ curl -O https://www.openssl.org/source/openssl-VERSION.tar.gz\n" -"$ tar xzf openssl-VERSION\n" -"$ pushd openssl-VERSION\n" -"$ ./config \\\n" -" --prefix=/usr/local/custom-openssl \\\n" -" --libdir=lib \\\n" -" --openssldir=/etc/ssl\n" -"$ make -j1 depend\n" -"$ make -j8\n" -"$ make install_sw\n" -"$ popd" -msgstr "" - -#: ../../using/unix.rst:190 -msgid "" -"Build Python with custom OpenSSL (see the configure ``--with-openssl`` and " -"``--with-openssl-rpath`` options)" -msgstr "" - -#: ../../using/unix.rst:193 -msgid "" -"$ pushd python-3.x.x\n" -"$ ./configure -C \\\n" -" --with-openssl=/usr/local/custom-openssl \\\n" -" --with-openssl-rpath=auto \\\n" -" --prefix=/usr/local/python-3.x.x\n" -"$ make -j8\n" -"$ make altinstall" -msgstr "" - -#: ../../using/unix.rst:205 -msgid "" -"Patch releases of OpenSSL have a backwards compatible ABI. You don't need to" -" recompile Python to update OpenSSL. It's sufficient to replace the custom " -"OpenSSL installation with a newer version." -msgstr "" diff --git a/python-newest.using--windows/id.po b/python-newest.using--windows/id.po deleted file mode 100644 index a4662fa..0000000 --- a/python-newest.using--windows/id.po +++ /dev/null @@ -1,3194 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2022 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: oon arfiandwi , 2022\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../using/windows.rst:11 -msgid "Using Python on Windows" -msgstr "Menggunakan Python di Windows" - -#: ../../using/windows.rst:15 -msgid "" -"This document aims to give an overview of Windows-specific behaviour you " -"should know about when using Python on Microsoft Windows." -msgstr "" - -#: ../../using/windows.rst:18 -msgid "" -"Unlike most Unix systems and services, Windows does not include a system " -"supported installation of Python. Instead, Python can be obtained from a " -"number of distributors, including directly from the CPython team. Each " -"Python distribution will have its own benefits and drawbacks, however, " -"consistency with other tools you are using is generally a worthwhile " -"benefit. Before committing to the process described here, we recommend " -"investigating your existing tools to see if they can provide Python " -"directly." -msgstr "" - -#: ../../using/windows.rst:26 -msgid "" -"To obtain Python from the CPython team, use the Python Install Manager. This" -" is a standalone tool that makes Python available as global commands on your" -" Windows machine, integrates with the system, and supports updates over " -"time. You can download the Python Install Manager from " -"`python.org/downloads`_ or through the `Microsoft Store app`_." -msgstr "" - -#: ../../using/windows.rst:32 -msgid "" -"Once you have installed the Python Install Manager, the global ``python`` " -"command can be used from any terminal to launch your current latest version " -"of Python. This version may change over time as you add or remove different " -"versions, and the ``py list`` command will show which is current." -msgstr "" - -#: ../../using/windows.rst:37 -msgid "" -"In general, we recommend that you create a :ref:`virtual environment ` for each project and run ``\\Scripts\\Activate`` in your " -"terminal to use it. This provides isolation between projects, consistency " -"over time, and ensures that additional commands added by packages are also " -"available in your session. Create a virtual environment using ``python -m " -"venv ``." -msgstr "" - -#: ../../using/windows.rst:43 -msgid "" -"If the ``python`` or ``py`` commands do not seem to be working, please see " -"the :ref:`Troubleshooting ` section below. There are" -" sometimes additional manual steps required to configure your PC." -msgstr "" - -#: ../../using/windows.rst:47 -msgid "" -"Apart from using the Python install manager, Python can also be obtained as " -"NuGet packages. See :ref:`windows-nuget` below for more information on these" -" packages." -msgstr "" - -#: ../../using/windows.rst:51 -msgid "" -"The embeddable distros are minimal packages of Python suitable for embedding" -" into larger applications. They can be installed using the Python install " -"manager. See :ref:`windows-embeddable` below for more information on these " -"packages." -msgstr "" - -#: ../../using/windows.rst:64 -msgid "Python Install Manager" -msgstr "" - -#: ../../using/windows.rst:67 -msgid "Installation" -msgstr "" - -#: ../../using/windows.rst:69 -msgid "" -"The Python install manager can be installed from the `Microsoft Store app`_ " -"or downloaded and installed from `python.org/downloads`_. The two versions " -"are identical." -msgstr "" - -#: ../../using/windows.rst:73 -msgid "" -"To install through the Store, simply click \"Install\". After it has " -"completed, open a terminal and type ``python`` to get started." -msgstr "" - -#: ../../using/windows.rst:76 -msgid "" -"To install the file downloaded from python.org, either double-click and " -"select \"Install\", or run ``Add-AppxPackage `` in Windows " -"Powershell." -msgstr "" - -#: ../../using/windows.rst:79 -msgid "" -"After installation, the ``python``, ``py``, and ``pymanager`` commands " -"should be available. If they are not, click Start and search for \"Manage " -"app execution aliases\". This settings page will let you enable the relevant" -" commands. They will be labelled \"Python (default)\", \"Python (default " -"windowed)\", and \"Python install manager\"." -msgstr "" - -#: ../../using/windows.rst:85 -msgid "" -"If you have existing installations of Python, or you have modified your " -":envvar:`PATH` variable, you may need to remove them or undo the " -"modifications in order for the commands to work. Old versions of Python can " -"be reinstalled using the Python install manager." -msgstr "" - -#: ../../using/windows.rst:90 -msgid "" -"When you first install a runtime, you will likely be prompted to add a " -"directory to your :envvar:`PATH`. This is optional, if you prefer to use the" -" ``py`` command, but is offered for those who prefer the full range of " -"aliases (such as ``python3.14.exe``) to be available. The directory will be " -":file:`%LocalAppData%\\Python\\bin` by default, but may be customized by an " -"administrator. Click Start and search for \"Edit environment variables for " -"your account\" for the system settings page to add the path." -msgstr "" - -#: ../../using/windows.rst:98 -msgid "" -"Each Python runtime you install will have its own directory for scripts. " -"These also need to be added to :envvar:`PATH` if you want to use them." -msgstr "" - -#: ../../using/windows.rst:101 -msgid "" -"The Python install manager will be automatically updated to new releases. " -"This does not affect any installs of Python runtimes. Uninstalling the " -"Python install manager does not uninstall any Python runtimes." -msgstr "" - -#: ../../using/windows.rst:105 -msgid "" -"If you are not able to install an MSIX in your context, for example, you are" -" using automated deployment software that does not support it, please see " -":ref:`pymanager-advancedinstall` below for more information." -msgstr "" - -#: ../../using/windows.rst:111 -msgid "Basic Use" -msgstr "" - -#: ../../using/windows.rst:113 -msgid "" -"The recommended command for launching Python is ``python``, which will " -"either launch the version requested by the script being launched, an active " -"virtual environment, or the default installed version, which will be the " -"latest stable release unless configured otherwise. If no version is " -"specifically requested and no runtimes are installed at all, the current " -"latest release will be installed automatically." -msgstr "" - -#: ../../using/windows.rst:120 -msgid "" -"For all scenarios involving multiple runtime versions, the recommended " -"command is ``py``. This may be used anywhere in place of ``python`` or the " -"older ``py.exe`` launcher. By default, ``py`` matches the behaviour of " -"``python``, but also allows command line options to select a specific " -"version as well as subcommands to manage installations. These are detailed " -"below." -msgstr "" - -#: ../../using/windows.rst:126 -msgid "" -"Because the ``py`` command may already be taken by the previous version, " -"there is also an unambiguous ``pymanager`` command. Scripted installs that " -"are intending to use Python install manager should consider using " -"``pymanager``, due to the lower chance of encountering a conflict with " -"existing installs. The only difference between the two commands is when " -"running without any arguments: ``py`` will install and launch your default " -"interpreter, while ``pymanager`` will display help (``pymanager exec ...`` " -"provides equivalent behaviour to ``py ...``)." -msgstr "" - -#: ../../using/windows.rst:135 -msgid "" -"Each of these commands also has a windowed version that avoids creating a " -"console window. These are ``pyw``, ``pythonw`` and ``pymanagerw``. A " -"``python3`` command is also included that mimics the ``python`` command. It " -"is intended to catch accidental uses of the typical POSIX command on " -"Windows, but is not meant to be widely used or recommended." -msgstr "" - -#: ../../using/windows.rst:141 -msgid "" -"To launch your default runtime, run ``python`` or ``py`` with the arguments " -"you want to be passed to the runtime (such as script files or the module to " -"launch):" -msgstr "" - -#: ../../using/windows.rst:144 -msgid "" -"$> py\n" -"...\n" -"$> python my-script.py\n" -"...\n" -"$> py -m this\n" -"..." -msgstr "" - -#: ../../using/windows.rst:153 -msgid "" -"To launch a specific runtime, the ``py`` command accepts a ``-V:`` " -"option. This option must be specified before any others. The tag is part or " -"all of the identifier for the runtime; for those from the CPython team, it " -"looks like the version, potentially with the platform. For compatibility, " -"the ``V:`` may be omitted in cases where the tag refers to an official " -"release and starts with ``3``." -msgstr "" - -#: ../../using/windows.rst:160 -msgid "" -"$> py -V:3.14 ...\n" -"$> py -V:3-arm64 ..." -msgstr "" - -#: ../../using/windows.rst:165 -msgid "" -"Runtimes from other distributors may require the *company* to be included as" -" well. This should be separated from the tag by a slash, and may be a " -"prefix. Specifying the company is optional when it is ``PythonCore``, and " -"specifying the tag is optional (but not the slash) when you want the latest " -"release from a specific company." -msgstr "" - -#: ../../using/windows.rst:171 -msgid "" -"$> py -V:Distributor\\1.0 ...\n" -"$> py -V:distrib/ ..." -msgstr "" - -#: ../../using/windows.rst:176 -msgid "" -"If no version is specified, but a script file is passed, the script will be " -"inspected for a *shebang line*. This is a special format for the first line " -"in a file that allows overriding the command. See :ref:`pymanager-shebang` " -"for more information. When there is no shebang line, or it cannot be " -"resolved, the script will be launched with the default runtime." -msgstr "" - -#: ../../using/windows.rst:182 -msgid "" -"If you are running in an active virtual environment, have not requested a " -"particular version, and there is no shebang line, the default runtime will " -"be that virtual environment. In this scenario, the ``python`` command was " -"likely already overridden and none of these checks occurred. However, this " -"behaviour ensures that the ``py`` command can be used interchangeably." -msgstr "" - -#: ../../using/windows.rst:188 -msgid "" -"When you launch either ``python`` or ``py`` but do not have any runtimes " -"installed, and the requested version is the default, it will be installed " -"automatically and then launched. Otherwise, the requested version will be " -"installed if automatic installation is configured (most likely by setting " -"``PYTHON_MANAGER_AUTOMATIC_INSTALL`` to ``true``), or if the ``py exec`` or " -"``pymanager exec`` forms of the command were used." -msgstr "" - -#: ../../using/windows.rst:197 -msgid "Command Help" -msgstr "" - -#: ../../using/windows.rst:199 -msgid "" -"The ``py help`` command will display the full list of supported commands, " -"along with their options. Any command may be passed the ``-?`` option to " -"display its help, or its name passed to ``py help``." -msgstr "" - -#: ../../using/windows.rst:203 -msgid "" -"$> py help\n" -"$> py help install\n" -"$> py install /?" -msgstr "" - -#: ../../using/windows.rst:210 -msgid "" -"All commands support some common options, which will be shown by ``py " -"help``. These options must be specified after any subcommand. Specifying " -"``-v`` or ``--verbose`` will increase the amount of output shown, and " -"``-vv`` will increase it further for debugging purposes. Passing ``-q`` or " -"``--quiet`` will reduce output, and ``-qq`` will reduce it further." -msgstr "" - -#: ../../using/windows.rst:216 -msgid "" -"The ``--config=`` option allows specifying a configuration file to " -"override multiple settings at once. See :ref:`pymanager-config` below for " -"more information about these files." -msgstr "" - -#: ../../using/windows.rst:222 -msgid "Listing Runtimes" -msgstr "" - -#: ../../using/windows.rst:224 -msgid "" -"$> py list [-f=|--format=] [-1|--one] [--online|-s=|--source=] " -"[...]" -msgstr "" - -#: ../../using/windows.rst:228 -msgid "" -"The list of installed runtimes can be seen using ``py list``. A filter may " -"be added in the form of one or more tags (with or without company " -"specifier), and each may include a ``<``, ``<=``, ``>=`` or ``>`` prefix to " -"restrict to a range." -msgstr "" - -#: ../../using/windows.rst:232 -msgid "" -"A range of formats are supported, and can be passed as the " -"``--format=`` or ``-f `` option. Formats include ``table`` (a user" -" friendly table view), ``csv`` (comma-separated table), ``json`` (a single " -"JSON blob), ``jsonl`` (one JSON blob per result), ``exe`` (just the " -"executable path), ``prefix`` (just the prefix path)." -msgstr "" - -#: ../../using/windows.rst:238 -msgid "" -"The ``--one`` or ``-1`` option only displays a single result. If the default" -" runtime is included, it will be the one. Otherwise, the \"best\" result is " -"shown (\"best\" is deliberately vaguely defined, but will usually be the " -"most recent version). The result shown by ``py list --one `` will match" -" the runtime that would be launched by ``py -V:``." -msgstr "" - -#: ../../using/windows.rst:244 -msgid "" -"The ``--only-managed`` option excludes results that were not installed by " -"the Python install manager. This is useful when determining which runtimes " -"may be updated or uninstalled through the ``py`` command." -msgstr "" - -#: ../../using/windows.rst:248 -msgid "" -"The ``--online`` option is short for passing ``--source=`` with the " -"default source. Passing either of these options will search the online index" -" for runtimes that can be installed. The result shown by ``py list --online " -"--one `` will match the runtime that would be installed by ``py install" -" ``." -msgstr "" - -#: ../../using/windows.rst:253 -msgid "$> py list --online 3.14" -msgstr "" - -#: ../../using/windows.rst:257 -msgid "" -"For compatibility with the old launcher, the ``--list``, ``--list-paths``, " -"``-0`` and ``-0p`` commands (e.g. ``py -0p``) are retained. They do not " -"allow additional options, and will produce legacy formatted output." -msgstr "" - -#: ../../using/windows.rst:263 -msgid "Installing Runtimes" -msgstr "" - -#: ../../using/windows.rst:265 -msgid "" -"$> py install [-s=|--source=] [-f|--force] [-u|--update] [--dry-run] " -"[...]" -msgstr "" - -#: ../../using/windows.rst:269 -msgid "" -"New runtime versions may be added using ``py install``. One or more tags may" -" be specified, and the special tag ``default`` may be used to select the " -"default. Ranges are not supported for installation." -msgstr "" - -#: ../../using/windows.rst:273 -msgid "" -"The ``--source=`` option allows overriding the online index that is " -"used to obtain runtimes. This may be used with an offline index, as shown in" -" :ref:`pymanager-offline`." -msgstr "" - -#: ../../using/windows.rst:277 -msgid "" -"Passing ``--force`` will ignore any cached files and remove any existing " -"install to replace it with the specified one." -msgstr "" - -#: ../../using/windows.rst:280 -msgid "" -"Passing ``--update`` will replace existing installs if the new version is " -"newer. Otherwise, they will be left. If no tags are provided with " -"``--update``, all installs managed by the Python install manager will be " -"updated if newer versions are available. Updates will remove any " -"modifications made to the install, including globally installed packages, " -"but virtual environments will continue to work." -msgstr "" - -#: ../../using/windows.rst:287 -msgid "" -"Passing ``--dry-run`` will generate output and logs, but will not modify any" -" installs." -msgstr "" - -#: ../../using/windows.rst:290 -msgid "" -"In addition to the above options, the ``--target`` option will extract the " -"runtime to the specified directory instead of doing a normal install. This " -"is useful for embedding runtimes into larger applications." -msgstr "" - -#: ../../using/windows.rst:294 -msgid "$> py install ... [-t=|--target=] " -msgstr "" - -#: ../../using/windows.rst:302 -msgid "Offline Installs" -msgstr "" - -#: ../../using/windows.rst:304 -msgid "" -"To perform offline installs of Python, you will need to first create an " -"offline index on a machine that has network access." -msgstr "" - -#: ../../using/windows.rst:307 -msgid "$> py install --download= ... ..." -msgstr "" - -#: ../../using/windows.rst:311 -msgid "" -"The ``--download=`` option will download the packages for the listed " -"tags and create a directory containing them and an ``index.json`` file " -"suitable for later installation. This entire directory can be moved to the " -"offline machine and used to install one or more of the bundled runtimes:" -msgstr "" - -#: ../../using/windows.rst:316 -msgid "$> py install --source=\"\\index.json\" ..." -msgstr "" - -#: ../../using/windows.rst:320 -msgid "" -"The Python install manager can be installed by downloading its installer and" -" moving it to another machine before installing." -msgstr "" - -#: ../../using/windows.rst:323 -msgid "" -"Alternatively, the ZIP files in an offline index directory can simply be " -"transferred to another machine and extracted. This will not register the " -"install in any way, and so it must be launched by directly referencing the " -"executables in the extracted directory, but it is sometimes a preferable " -"approach in cases where installing the Python install manager is not " -"possible or convenient." -msgstr "" - -#: ../../using/windows.rst:329 -msgid "" -"In this way, Python runtimes can be installed and managed on a machine " -"without access to the internet." -msgstr "" - -#: ../../using/windows.rst:334 -msgid "Uninstalling Runtimes" -msgstr "" - -#: ../../using/windows.rst:336 -msgid "$> py uninstall [-y|--yes] ..." -msgstr "" - -#: ../../using/windows.rst:340 -msgid "" -"Runtimes may be removed using the ``py uninstall`` command. One or more tags" -" must be specified. Ranges are not supported here." -msgstr "" - -#: ../../using/windows.rst:343 -msgid "" -"The ``--yes`` option bypasses the confirmation prompt before uninstalling." -msgstr "" - -#: ../../using/windows.rst:345 -msgid "" -"Instead of passing tags individually, the ``--purge`` option may be " -"specified. This will remove all runtimes managed by the Python install " -"manager, including cleaning up the Start menu, registry, and any download " -"caches. Runtimes that were not installed by the Python install manager will " -"not be impacted, and neither will manually created configuration files." -msgstr "" - -#: ../../using/windows.rst:351 -msgid "$> py uninstall [-y|--yes] --purge" -msgstr "" - -#: ../../using/windows.rst:355 -msgid "" -"The Python install manager can be uninstalled through the Windows " -"\"Installed apps\" settings page. This does not remove any runtimes, and " -"they will still be usable, though the global ``python`` and ``py`` commands " -"will be removed. Reinstalling the Python install manager will allow you to " -"manage these runtimes again. To completely clean up all Python runtimes, run" -" with ``--purge`` before uninstalling the Python install manager." -msgstr "" - -#: ../../using/windows.rst:365 -msgid "Configuration" -msgstr "" - -#: ../../using/windows.rst:367 -msgid "" -"Python install manager is configured with a hierarchy of configuration " -"files, environment variables, command-line options, and registry settings. " -"In general, configuration files have the ability to configure everything, " -"including the location of other configuration files, while registry settings" -" are administrator-only and will override configuration files. Command-line " -"options override all other settings, but not every option is available." -msgstr "" - -#: ../../using/windows.rst:374 -msgid "" -"This section will describe the defaults, but be aware that modified or " -"overridden installs may resolve settings differently." -msgstr "" - -#: ../../using/windows.rst:377 -msgid "" -"A global configuration file may be configured by an administrator, and would" -" be read first. The user configuration file is stored at " -":file:`%AppData%\\\\Python\\\\pymanager.json` (by default) and is read next," -" overwriting any settings from earlier files. An additional configuration " -"file may be specified as the ``PYTHON_MANAGER_CONFIG`` environment variable " -"or the ``--config`` command line option (but not both)." -msgstr "" - -#: ../../using/windows.rst:384 -msgid "" -"The following settings are those that are considered likely to be modified " -"in normal use. Later sections list those that are intended for " -"administrative customization." -msgstr "" - -#: ../../using/windows.rst:388 -msgid "Standard configuration options" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "Config Key" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "Environment Variable" -msgstr "" - -#: ../../using/windows.rst:1 ../../using/windows.rst:1247 -#: ../../using/windows.rst:1267 ../../using/windows.rst:1862 -msgid "Description" -msgstr "Deskripsi" - -#: ../../using/windows.rst:1 -msgid "``default_tag``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``PYTHON_MANAGER_DEFAULT``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"The preferred default version to launch or install. By default, this is " -"interpreted as the most recent non-prerelease version from the CPython team." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``default_platform``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``PYTHON_MANAGER_DEFAULT_PLATFORM``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"The preferred default platform to launch or install. This is treated as a " -"suffix to the specified tag, such that ``py -V:3.14`` would prefer an " -"install for ``3.14-64`` if it exists (and ``default_platform`` is ``-64``), " -"but will use ``3.14`` if no tagged install exists." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``logs_dir``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``PYTHON_MANAGER_LOGS``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "The location where log files are written. By default, :file:`%TEMP%`." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``automatic_install``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``PYTHON_MANAGER_AUTOMATIC_INSTALL``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"True to allow automatic installs when specifying a particular runtime to " -"launch. By default, true." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``include_unmanaged``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``PYTHON_MANAGER_INCLUDE_UNMANAGED``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"True to allow listing and launching runtimes that were not installed by the " -"Python install manager, or false to exclude them. By default, true." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``shebang_can_run_anything``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``PYTHON_MANAGER_SHEBANG_CAN_RUN_ANYTHING``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"True to allow shebangs in ``.py`` files to launch applications other than " -"Python runtimes, or false to prevent it. By default, true." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``log_level``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``PYMANAGER_VERBOSE``, ``PYMANAGER_DEBUG``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Set the default level of output (0-50) By default, 20. Lower values produce " -"more output. The environment variables are boolean, and may produce " -"additional output during startup that is later suppressed by other " -"configuration." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``confirm``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``PYTHON_MANAGER_CONFIRM``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"True to confirm certain actions before taking them (such as uninstall), or " -"false to skip the confirmation. By default, true." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``install.source``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``PYTHON_MANAGER_SOURCE_URL``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "Override the index feed to obtain new installs from." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``list.format``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``PYTHON_MANAGER_LIST_FORMAT``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Specify the default format used by the ``py list`` command. By default, " -"``table``." -msgstr "" - -#: ../../using/windows.rst:433 -msgid "" -"Dotted names should be nested inside JSON objects, for example, " -"``list.format`` would be specified as ``{\"list\": {\"format\": " -"\"table\"}}``." -msgstr "" - -#: ../../using/windows.rst:439 -msgid "Shebang lines" -msgstr "" - -#: ../../using/windows.rst:441 -msgid "" -"If the first line of a script file starts with ``#!``, it is known as a " -"\"shebang\" line. Linux and other Unix like operating systems have native " -"support for such lines and they are commonly used on such systems to " -"indicate how a script should be executed. The ``python`` and ``py`` commands" -" allow the same facilities to be used with Python scripts on Windows." -msgstr "" - -#: ../../using/windows.rst:447 -msgid "" -"To allow shebang lines in Python scripts to be portable between Unix and " -"Windows, a number of 'virtual' commands are supported to specify which " -"interpreter to use. The supported virtual commands are:" -msgstr "" - -#: ../../using/windows.rst:451 -msgid "``/usr/bin/env ``" -msgstr "" - -#: ../../using/windows.rst:452 -msgid "``/usr/bin/env -S ``" -msgstr "" - -#: ../../using/windows.rst:453 -msgid "``/usr/bin/``" -msgstr "" - -#: ../../using/windows.rst:454 -msgid "``/usr/local/bin/``" -msgstr "" - -#: ../../using/windows.rst:455 -msgid "````" -msgstr "" - -#: ../../using/windows.rst:457 ../../using/windows.rst:1636 -msgid "For example, if the first line of your script starts with" -msgstr "" - -#: ../../using/windows.rst:459 ../../using/windows.rst:1638 -msgid "#! /usr/bin/python" -msgstr "" - -#: ../../using/windows.rst:463 ../../using/windows.rst:1642 -msgid "" -"The default Python or an active virtual environment will be located and " -"used. As many Python scripts written to work on Unix will already have this " -"line, you should find these scripts can be used by the launcher without " -"modification. If you are writing a new script on Windows which you hope will" -" be useful on Unix, you should use one of the shebang lines starting with " -"``/usr``." -msgstr "" - -#: ../../using/windows.rst:469 -msgid "" -"Any of the above virtual commands can have ```` replaced by an alias " -"from an installed runtime. That is, any command generated in the global " -"aliases directory (which you may have added to your :envvar:`PATH` " -"environment variable) can be used in a shebang, even if it is not on your " -":envvar:`PATH`. This allows the use of shebangs like ``/usr/bin/python3.12``" -" to select a particular runtime." -msgstr "" - -#: ../../using/windows.rst:475 -msgid "" -"The ``/usr/bin/env`` form of shebang line will also search the " -":envvar:`PATH` environment variable for unrecognized commands. This " -"corresponds to the behaviour of the Unix ``env`` program, which performs the" -" same search, but prefers launching known Python commands. A warning may be " -"displayed when searching for arbitrary executables, and this search may be " -"disabled by the ``shebang_can_run_anything`` configuration option." -msgstr "" - -#: ../../using/windows.rst:482 -msgid "" -"Shebang lines that do not match any of patterns are treated as *Windows* " -"executable paths that are absolute or relative to the directory containing " -"the script file. This is a convenience for Windows-only scripts, such as " -"those generated by an installer, since the behavior is not compatible with " -"Unix-style shells. These paths may be quoted, and may include multiple " -"arguments, after which the path to the script and any additional arguments " -"will be appended. This functionality may be disabled by the " -"``shebang_can_run_anything`` configuration option." -msgstr "" - -#: ../../using/windows.rst:506 -msgid "Advanced Installation" -msgstr "" - -#: ../../using/windows.rst:508 -msgid "" -"For situations where an MSIX cannot be installed, such as some older " -"administrative distribution platforms, there is an MSI available from the " -"python.org downloads page. This MSI has no user interface, and can only " -"perform per-machine installs to its default location in Program Files. It " -"will attempt to modify the system :envvar:`PATH` environment variable to " -"include this install location, but be sure to validate this on your " -"configuration." -msgstr "" - -#: ../../using/windows.rst:515 -msgid "" -"Be aware that the MSI package does not bundle any runtimes, and so is not " -"suitable for installs into offline environments without also creating an " -"offline install index. See :ref:`pymanager-offline` and :ref:`pymanager-" -"admin-config` for information on handling these scenarios." -msgstr "" - -#: ../../using/windows.rst:520 -msgid "" -"Runtimes installed by the MSI are shared with those installed by the MSIX, " -"and are all per-user only. The Python install manager does not support " -"installing runtimes per-machine. To emulate a per-machine install, you can " -"use ``py install --target=`` as administrator and add your " -"own system-wide modifications to :envvar:`PATH`, the registry, or the Start " -"menu." -msgstr "" - -#: ../../using/windows.rst:526 -msgid "" -"When the MSIX is installed, but commands are not available in the " -":envvar:`PATH` environment variable, they can be found under " -":file:`%LocalAppData%\\\\Microsoft\\\\WindowsApps\\\\PythonSoftwareFoundation.PythonManager_3847v3x7pw1km`" -" or " -":file:`%LocalAppData%\\\\Microsoft\\\\WindowsApps\\\\PythonSoftwareFoundation.PythonManager_qbz5n2kfra8p0`," -" depending on whether it was installed from python.org or through the " -"Windows Store. Attempting to run the executable directly from Program Files " -"is not recommended." -msgstr "" - -#: ../../using/windows.rst:535 -msgid "" -"To programmatically install or uninstall the MSIX without using your " -"distribution platform's native support, the `Add-AppxPackage " -"`_ and " -"`Remove-AppxPackage " -"`_ " -"PowerShell cmdlets are simplest to use:" -msgstr "" - -#: ../../using/windows.rst:541 -msgid "" -"$> Add-AppxPackage C:\\Downloads\\python-manager-25.0.msix\n" -"...\n" -"$> Get-AppxPackage PythonSoftwareFoundation.PythonManager | Remove-AppxPackage" -msgstr "" - -#: ../../using/windows.rst:547 -msgid "" -"The native APIs for package management may be found on the Windows " -"`PackageManager " -"`_" -" class. The :func:`!AddPackageAsync` method installs for the current user, " -"or use :func:`!StagePackageAsync` followed by " -":func:`!ProvisionPackageForAllUsersAsync` to install the Python install " -"manager for all users from the MSIX package. Users will still need to " -"install their own copies of Python itself, as there is no way to trigger " -"those installs without being a logged in user." -msgstr "" - -#: ../../using/windows.rst:558 -msgid "Administrative Configuration" -msgstr "" - -#: ../../using/windows.rst:560 -msgid "" -"There are a number of options that may be useful for administrators to " -"override configuration of the Python install manager. These can be used to " -"provide local caching, disable certain shortcut types, override bundled " -"content. All of the above configuration options may be set, as well as those" -" below." -msgstr "" - -#: ../../using/windows.rst:565 -msgid "" -"Configuration options may be overridden in the registry by setting values " -"under " -":file:`HKEY_LOCAL_MACHINE\\\\Software\\\\Policies\\\\Python\\\\PyManager`, " -"where the value name matches the configuration key and the value type is " -"``REG_SZ``. Note that this key can itself be customized, but only by " -"modifying the core config file distributed with the Python install manager. " -"We recommend, however, that registry values are used only to set " -"``base_config`` to a JSON file containing the full set of overrides. " -"Registry key overrides will replace any other configured setting, while " -"``base_config`` allows users to further modify settings they may need." -msgstr "" - -#: ../../using/windows.rst:575 -msgid "" -"Note that most settings with environment variables support those variables " -"because their default setting specifies the variable. If you override them, " -"the environment variable will no longer work, unless you override it with " -"another one. For example, the default value of ``confirm`` is literally " -"``%PYTHON_MANAGER_CONFIRM%``, which will resolve the variable at load time. " -"If you override the value to ``yes``, then the environment variable will no " -"longer be used. If you override the value to ``%CONFIRM%``, then that " -"environment variable will be used instead." -msgstr "" - -#: ../../using/windows.rst:584 -msgid "" -"Configuration settings that are paths are interpreted as relative to the " -"directory containing the configuration file that specified them." -msgstr "" - -#: ../../using/windows.rst:587 -msgid "Administrative configuration options" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``base_config``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"The highest priority configuration file to read. Note that only the built-in" -" configuration file and the registry can modify this setting." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``user_config``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "The second configuration file to read." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``additional_config``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "The third configuration file to read." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``registry_override_key``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Registry location to check for overrides. Note that only the built-in " -"configuration file can modify this setting." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``bundled_dir``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "Read-only directory containing locally cached files." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``install.fallback_source``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Path or URL to an index to consult when the main index cannot be accessed." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``install.enable_shortcut_kinds``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Comma-separated list of shortcut kinds to allow (e.g. ``\"pep514,start\"``)." -" Enabled shortcuts may still be disabled by ``disable_shortcut_kinds``." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``install.disable_shortcut_kinds``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Comma-separated list of shortcut kinds to exclude (e.g. " -"``\"pep514,start\"``). Disabled shortcuts are not reactivated by " -"``enable_shortcut_kinds``." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``pep514_root``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Registry location to read and write PEP 514 entries into. By default, " -":file:`HKEY_CURRENT_USER\\\\Software\\\\Python`." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``start_folder``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Start menu folder to write shortcuts into. By default, ``Python``. This path" -" is relative to the user's Programs folder." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``virtual_env``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Path to the active virtual environment. By default, this is " -"``%VIRTUAL_ENV%``, but may be set empty to disable venv detection." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``shebang_can_run_anything_silently``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"True to suppress visible warnings when a shebang launches an application " -"other than a Python runtime." -msgstr "" - -#: ../../using/windows.rst:631 ../../using/windows.rst:1426 -msgid "Installing Free-threaded Binaries" -msgstr "" - -#: ../../using/windows.rst:633 ../../using/windows.rst:874 -#: ../../using/windows.rst:1428 -msgid "(Experimental)" -msgstr "" - -#: ../../using/windows.rst:637 ../../using/windows.rst:878 -#: ../../using/windows.rst:1432 -msgid "" -"Everything described in this section is considered experimental, and should " -"be expected to change in future releases." -msgstr "" - -#: ../../using/windows.rst:640 -msgid "" -"Pre-built distributions of the experimental free-threaded build are " -"available by installing tags with the ``t`` suffix." -msgstr "" - -#: ../../using/windows.rst:643 -msgid "" -"$> py install 3.14t\n" -"$> py install 3.14t-arm64\n" -"$> py install 3.14t-32" -msgstr "" - -#: ../../using/windows.rst:649 -msgid "" -"This will install and register as normal. If you have no other runtimes " -"installed, then ``python`` will launch this one. Otherwise, you will need to" -" use ``py -V:3.14t ...`` or, if you have added the global aliases directory " -"to your :envvar:`PATH` environment variable, the ``python3.14t.exe`` " -"commands." -msgstr "" - -#: ../../using/windows.rst:657 ../../using/windows.rst:665 -msgid "Troubleshooting" -msgstr "" - -#: ../../using/windows.rst:659 -msgid "" -"If your Python install manager does not seem to be working correctly, please" -" work through these tests and fixes to see if it helps. If not, please " -"report an issue at `our bug tracker " -"`_, including any relevant log " -"files (written to your :file:`%TEMP%` directory by default)." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "Symptom" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "Things to try" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"``python`` gives me a \"command not found\" error or opens the Store app " -"when I type it in my terminal." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "Did you :ref:`install the Python install manager `?" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Click Start, open \"Manage app execution aliases\", and check that the " -"aliases for \"Python (default)\" are enabled. If they already are, try " -"disabling and re-enabling to refresh the command. The \"Python (default " -"windowed)\" and \"Python install manager\" commands may also need " -"refreshing." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "Check that the ``py`` and ``pymanager`` commands work." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"``py`` gives me a \"command not found\" error when I type it in my terminal." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Click Start, open \"Manage app execution aliases\", and check that the " -"aliases for \"Python install manager\" are enabled. If they already are, try" -" disabling and re-enabling to refresh the command. The \"Python (default " -"windowed)\" and \"Python install manager\" commands may also need " -"refreshing." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"``py`` gives me a \"can't open file\" error when I type commands in my " -"terminal." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"This usually means you have the legacy launcher installed and it has " -"priority over the Python install manager. To remove, click Start, open " -"\"Installed apps\", search for \"Python launcher\" and uninstall it." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``python`` doesn't launch the same runtime as ``py``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Click Start, open \"Installed apps\", look for any existing Python runtimes," -" and either remove them or Modify and disable the :envvar:`PATH` options." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Click Start, open \"Manage app execution aliases\", and check that your " -"``python.exe`` alias is set to \"Python (default)\"" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "``python`` and ``py`` don't launch the runtime I expect" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Check your ``PYTHON_MANAGER_DEFAULT`` environment variable or " -"``default_tag`` configuration. The ``py list`` command will show your " -"default based on these settings." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Installs that are managed by the Python install manager will be chosen ahead" -" of unmanaged installs. Use ``py install`` to install the runtime you " -"expect, or configure your default tag." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Prerelease and experimental installs that are not managed by the Python " -"install manager may be chosen ahead of stable releases. Configure your " -"default tag or uninstall the prerelease runtime and reinstall using ``py " -"install``." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"``pythonw`` or ``pyw`` don't launch the same runtime as ``python`` or ``py``" -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Click Start, open \"Manage app execution aliases\", and check that your " -"``pythonw.exe`` and ``pyw.exe`` aliases are consistent with your others." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"``pip`` gives me a \"command not found\" error when I type it in my " -"terminal." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"Have you activated a virtual environment? Run the " -"``.venv\\Scripts\\activate`` script in your terminal to activate." -msgstr "" - -#: ../../using/windows.rst:1 -msgid "" -"The package may be available but missing the generated executable. We " -"recommend using the ``python -m pip`` command instead, or alternatively the " -"``python -m pip install --force pip`` command will recreate the executables " -"and show you the path to add to :envvar:`PATH`. These scripts are separated " -"for each runtime, and so you may need to add multiple paths." -msgstr "" - -#: ../../using/windows.rst:734 -msgid "The embeddable package" -msgstr "" - -#: ../../using/windows.rst:738 -msgid "" -"The embedded distribution is a ZIP file containing a minimal Python " -"environment. It is intended for acting as part of another application, " -"rather than being directly accessed by end-users." -msgstr "" - -#: ../../using/windows.rst:742 -msgid "" -"To install an embedded distribution, we recommend using ``py install`` with " -"the ``--target`` option:" -msgstr "" - -#: ../../using/windows.rst:745 -msgid "$> py install 3.14-embed --target=runtime" -msgstr "" - -#: ../../using/windows.rst:749 -msgid "" -"When extracted, the embedded distribution is (almost) fully isolated from " -"the user's system, including environment variables, system registry " -"settings, and installed packages. The standard library is included as pre-" -"compiled and optimized ``.pyc`` files in a ZIP, and ``python3.dll``, " -"``python313.dll``, ``python.exe`` and ``pythonw.exe`` are all provided. " -"Tcl/tk (including all dependents, such as Idle), pip and the Python " -"documentation are not included." -msgstr "" - -#: ../../using/windows.rst:756 -msgid "" -"A default ``._pth`` file is included, which further restricts the default " -"search paths (as described below in :ref:`windows_finding_modules`). This " -"file is intended for embedders to modify as necessary." -msgstr "" - -#: ../../using/windows.rst:760 -msgid "" -"Third-party packages should be installed by the application installer " -"alongside the embedded distribution. Using pip to manage dependencies as for" -" a regular Python installation is not supported with this distribution, " -"though with some care it may be possible to include and use pip for " -"automatic updates. In general, third-party packages should be treated as " -"part of the application (\"vendoring\") so that the developer can ensure " -"compatibility with newer versions before providing updates to users." -msgstr "" - -#: ../../using/windows.rst:768 -msgid "" -"The two recommended use cases for this distribution are described below." -msgstr "" - -#: ../../using/windows.rst:771 -msgid "Python Application" -msgstr "Aplikasi Python" - -#: ../../using/windows.rst:773 -msgid "" -"An application written in Python does not necessarily require users to be " -"aware of that fact. The embedded distribution may be used in this case to " -"include a private version of Python in an install package. Depending on how " -"transparent it should be (or conversely, how professional it should appear)," -" there are two options." -msgstr "" - -#: ../../using/windows.rst:779 -msgid "" -"Using a specialized executable as a launcher requires some coding, but " -"provides the most transparent experience for users. With a customized " -"launcher, there are no obvious indications that the program is running on " -"Python: icons can be customized, company and version information can be " -"specified, and file associations behave properly. In most cases, a custom " -"launcher should simply be able to call ``Py_Main`` with a hard-coded command" -" line." -msgstr "" - -#: ../../using/windows.rst:786 -msgid "" -"The simpler approach is to provide a batch file or generated shortcut that " -"directly calls the ``python.exe`` or ``pythonw.exe`` with the required " -"command-line arguments. In this case, the application will appear to be " -"Python and not its actual name, and users may have trouble distinguishing it" -" from other running Python processes or file associations." -msgstr "" - -#: ../../using/windows.rst:792 -msgid "" -"With the latter approach, packages should be installed as directories " -"alongside the Python executable to ensure they are available on the path. " -"With the specialized launcher, packages can be located in other locations as" -" there is an opportunity to specify the search path before launching the " -"application." -msgstr "" - -#: ../../using/windows.rst:798 -msgid "Embedding Python" -msgstr "" - -#: ../../using/windows.rst:800 -msgid "" -"Applications written in native code often require some form of scripting " -"language, and the embedded Python distribution can be used for this purpose." -" In general, the majority of the application is in native code, and some " -"part will either invoke ``python.exe`` or directly use ``python3.dll``. For " -"either case, extracting the embedded distribution to a subdirectory of the " -"application installation is sufficient to provide a loadable Python " -"interpreter." -msgstr "" - -#: ../../using/windows.rst:807 -msgid "" -"As with the application use, packages can be installed to any location as " -"there is an opportunity to specify search paths before initializing the " -"interpreter. Otherwise, there is no fundamental differences between using " -"the embedded distribution and a regular installation." -msgstr "" - -#: ../../using/windows.rst:816 -msgid "The nuget.org packages" -msgstr "Paket-paket nuget.org" - -#: ../../using/windows.rst:820 -msgid "" -"The nuget.org package is a reduced size Python environment intended for use " -"on continuous integration and build systems that do not have a system-wide " -"install of Python. While nuget is \"the package manager for .NET\", it also " -"works perfectly fine for packages containing build-time tools." -msgstr "" - -#: ../../using/windows.rst:825 -msgid "" -"Visit `nuget.org `_ for the most up-to-date " -"information on using nuget. What follows is a summary that is sufficient for" -" Python developers." -msgstr "" - -#: ../../using/windows.rst:829 -msgid "" -"The ``nuget.exe`` command line tool may be downloaded directly from " -"``https://aka.ms/nugetclidl``, for example, using curl or PowerShell. With " -"the tool, the latest version of Python for 64-bit or 32-bit machines is " -"installed using::" -msgstr "" - -#: ../../using/windows.rst:834 -msgid "" -"nuget.exe install python -ExcludeVersion -OutputDirectory .\n" -"nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory ." -msgstr "" - -#: ../../using/windows.rst:837 -msgid "" -"To select a particular version, add a ``-Version 3.x.y``. The output " -"directory may be changed from ``.``, and the package will be installed into " -"a subdirectory. By default, the subdirectory is named the same as the " -"package, and without the ``-ExcludeVersion`` option this name will include " -"the specific version installed. Inside the subdirectory is a ``tools`` " -"directory that contains the Python installation:" -msgstr "" - -#: ../../using/windows.rst:844 -msgid "" -"# Without -ExcludeVersion\n" -"> .\\python.3.5.2\\tools\\python.exe -V\n" -"Python 3.5.2\n" -"\n" -"# With -ExcludeVersion\n" -"> .\\python\\tools\\python.exe -V\n" -"Python 3.5.2" -msgstr "" - -#: ../../using/windows.rst:854 -msgid "" -"In general, nuget packages are not upgradeable, and newer versions should be" -" installed side-by-side and referenced using the full path. Alternatively, " -"delete the package directory manually and install it again. Many CI systems " -"will do this automatically if they do not preserve files between builds." -msgstr "" - -#: ../../using/windows.rst:859 -msgid "" -"Alongside the ``tools`` directory is a ``build\\native`` directory. This " -"contains a MSBuild properties file ``python.props`` that can be used in a " -"C++ project to reference the Python install. Including the settings will " -"automatically use the headers and import libraries in your build." -msgstr "" - -#: ../../using/windows.rst:864 -msgid "" -"The package information pages on nuget.org are " -"`www.nuget.org/packages/python `_ for" -" the 64-bit version, `www.nuget.org/packages/pythonx86 " -"`_ for the 32-bit version, and " -"`www.nuget.org/packages/pythonarm64 " -"`_ for the ARM64 version" -msgstr "" - -#: ../../using/windows.rst:872 -msgid "Free-threaded packages" -msgstr "" - -#: ../../using/windows.rst:881 -msgid "" -"Packages containing free-threaded binaries are named `python-freethreaded " -"`_ for the 64-bit " -"version, `pythonx86-freethreaded " -"`_ for the 32-bit " -"version, and `pythonarm64-freethreaded " -"`_ for the ARM64 " -"version. These packages contain both the ``python3.13t.exe`` and " -"``python.exe`` entry points, both of which run free threaded." -msgstr "" - -#: ../../using/windows.rst:892 -msgid "Alternative bundles" -msgstr "" - -#: ../../using/windows.rst:894 -msgid "" -"Besides the standard CPython distribution, there are modified packages " -"including additional functionality. The following is a list of popular " -"versions and their key features:" -msgstr "" - -#: ../../using/windows.rst:898 -msgid "`ActivePython `_" -msgstr "" - -#: ../../using/windows.rst:899 -msgid "Installer with multi-platform compatibility, documentation, PyWin32" -msgstr "" - -#: ../../using/windows.rst:901 -msgid "`Anaconda `_" -msgstr "`Anaconda `_" - -#: ../../using/windows.rst:902 -msgid "" -"Popular scientific modules (such as numpy, scipy and pandas) and the " -"``conda`` package manager." -msgstr "" - -#: ../../using/windows.rst:905 -msgid "" -"`Enthought Deployment Manager " -"`_" -msgstr "" - -#: ../../using/windows.rst:906 -msgid "\"The Next Generation Python Environment and Package Manager\"." -msgstr "" - -#: ../../using/windows.rst:908 -msgid "" -"Previously Enthought provided Canopy, but it `reached end of life in 2016 " -"`_." -msgstr "" - -#: ../../using/windows.rst:911 -msgid "`WinPython `_" -msgstr "`WinPython `_" - -#: ../../using/windows.rst:912 -msgid "" -"Windows-specific distribution with prebuilt scientific packages and tools " -"for building packages." -msgstr "" - -#: ../../using/windows.rst:915 -msgid "" -"Note that these packages may not include the latest versions of Python or " -"other libraries, and are not maintained or supported by the core Python " -"team." -msgstr "" - -#: ../../using/windows.rst:920 -msgid "Supported Windows versions" -msgstr "" - -#: ../../using/windows.rst:922 -msgid "" -"As specified in :pep:`11`, a Python release only supports a Windows platform" -" while Microsoft considers the platform under extended support. This means " -"that Python |version| supports Windows 10 and newer. If you require Windows " -"7 support, please install Python 3.8. If you require Windows 8.1 support, " -"please install Python 3.12." -msgstr "" - -#: ../../using/windows.rst:932 ../../using/windows.rst:1213 -msgid "Removing the MAX_PATH Limitation" -msgstr "Menghapus batasan MAX_PATH" - -#: ../../using/windows.rst:934 ../../using/windows.rst:1215 -msgid "" -"Windows historically has limited path lengths to 260 characters. This meant " -"that paths longer than this would not resolve and errors would result." -msgstr "" - -#: ../../using/windows.rst:937 -msgid "" -"In the latest versions of Windows, this limitation can be expanded to over " -"32,000 characters. Your administrator will need to activate the \"Enable " -"Win32 long paths\" group policy, or set ``LongPathsEnabled`` to ``1`` in the" -" registry key " -"``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." -msgstr "" - -#: ../../using/windows.rst:942 ../../using/windows.rst:1224 -msgid "" -"This allows the :func:`open` function, the :mod:`os` module and most other " -"path functionality to accept and return paths longer than 260 characters." -msgstr "" - -#: ../../using/windows.rst:945 -msgid "" -"After changing the above option and rebooting, no further configuration is " -"required." -msgstr "" - -#: ../../using/windows.rst:952 -msgid "UTF-8 mode" -msgstr "mode UTF-8" - -#: ../../using/windows.rst:956 -msgid "" -"Windows still uses legacy encodings for the system encoding (the ANSI Code " -"Page). Python uses it for the default encoding of text files (e.g. " -":func:`locale.getencoding`)." -msgstr "" - -#: ../../using/windows.rst:960 -msgid "" -"This may cause issues because UTF-8 is widely used on the internet and most " -"Unix systems, including WSL (Windows Subsystem for Linux)." -msgstr "" - -#: ../../using/windows.rst:963 -msgid "" -"You can use the :ref:`Python UTF-8 Mode ` to change the default " -"text encoding to UTF-8. You can enable the :ref:`Python UTF-8 Mode " -"` via the ``-X utf8`` command line option, or the " -"``PYTHONUTF8=1`` environment variable. See :envvar:`PYTHONUTF8` for " -"enabling UTF-8 mode, and :ref:`setting-envvars` for how to modify " -"environment variables." -msgstr "" - -#: ../../using/windows.rst:969 -msgid "" -"When the :ref:`Python UTF-8 Mode ` is enabled, you can still use " -"the system encoding (the ANSI Code Page) via the \"mbcs\" codec." -msgstr "" - -#: ../../using/windows.rst:972 -msgid "" -"Note that adding ``PYTHONUTF8=1`` to the default environment variables will " -"affect all Python 3.7+ applications on your system. If you have any Python " -"3.7+ applications which rely on the legacy system encoding, it is " -"recommended to set the environment variable temporarily or use the ``-X " -"utf8`` command line option." -msgstr "" - -#: ../../using/windows.rst:979 -msgid "" -"Even when UTF-8 mode is disabled, Python uses UTF-8 by default on Windows " -"for:" -msgstr "" - -#: ../../using/windows.rst:982 -msgid "Console I/O including standard I/O (see :pep:`528` for details)." -msgstr "" - -#: ../../using/windows.rst:983 -msgid "" -"The :term:`filesystem encoding ` (see" -" :pep:`529` for details)." -msgstr "" - -#: ../../using/windows.rst:990 -msgid "Finding modules" -msgstr "Mencari modul-modul" - -#: ../../using/windows.rst:992 -msgid "" -"These notes supplement the description at :ref:`sys-path-init` with detailed" -" Windows notes." -msgstr "" - -#: ../../using/windows.rst:995 -msgid "" -"When no ``._pth`` file is found, this is how :data:`sys.path` is populated " -"on Windows:" -msgstr "" - -#: ../../using/windows.rst:998 -msgid "" -"An empty entry is added at the start, which corresponds to the current " -"directory." -msgstr "" - -#: ../../using/windows.rst:1001 -msgid "" -"If the environment variable :envvar:`PYTHONPATH` exists, as described in " -":ref:`using-on-envvars`, its entries are added next. Note that on Windows, " -"paths in this variable must be separated by semicolons, to distinguish them " -"from the colon used in drive identifiers (``C:\\`` etc.)." -msgstr "" - -#: ../../using/windows.rst:1006 -msgid "" -"Additional \"application paths\" can be added in the registry as subkeys of " -":samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` " -"under both the ``HKEY_CURRENT_USER`` and ``HKEY_LOCAL_MACHINE`` hives. " -"Subkeys which have semicolon-delimited path strings as their default value " -"will cause each path to be added to :data:`sys.path`. (Note that all known " -"installers only use HKLM, so HKCU is typically empty.)" -msgstr "" - -#: ../../using/windows.rst:1013 -msgid "" -"If the environment variable :envvar:`PYTHONHOME` is set, it is assumed as " -"\"Python Home\". Otherwise, the path of the main Python executable is used " -"to locate a \"landmark file\" (either ``Lib\\os.py`` or ``pythonXY.zip``) to" -" deduce the \"Python Home\". If a Python home is found, the relevant sub-" -"directories added to :data:`sys.path` (``Lib``, ``plat-win``, etc) are based" -" on that folder. Otherwise, the core Python path is constructed from the " -"PythonPath stored in the registry." -msgstr "" - -#: ../../using/windows.rst:1021 -msgid "" -"If the Python Home cannot be located, no :envvar:`PYTHONPATH` is specified " -"in the environment, and no registry entries can be found, a default path " -"with relative entries is used (e.g. ``.\\Lib;.\\plat-win``, etc)." -msgstr "" - -#: ../../using/windows.rst:1025 -msgid "" -"If a ``pyvenv.cfg`` file is found alongside the main executable or in the " -"directory one level above the executable, the following variations apply:" -msgstr "" - -#: ../../using/windows.rst:1028 -msgid "" -"If ``home`` is an absolute path and :envvar:`PYTHONHOME` is not set, this " -"path is used instead of the path to the main executable when deducing the " -"home location." -msgstr "" - -#: ../../using/windows.rst:1032 -msgid "The end result of all this is:" -msgstr "" - -#: ../../using/windows.rst:1034 -msgid "" -"When running :file:`python.exe`, or any other .exe in the main Python " -"directory (either an installed version, or directly from the PCbuild " -"directory), the core path is deduced, and the core paths in the registry are" -" ignored. Other \"application paths\" in the registry are always read." -msgstr "" - -#: ../../using/windows.rst:1039 -msgid "" -"When Python is hosted in another .exe (different directory, embedded via " -"COM, etc), the \"Python Home\" will not be deduced, so the core path from " -"the registry is used. Other \"application paths\" in the registry are " -"always read." -msgstr "" - -#: ../../using/windows.rst:1043 -msgid "" -"If Python can't find its home and there are no registry value (frozen .exe, " -"some very strange installation setup) you get a path with some default, but " -"relative, paths." -msgstr "" - -#: ../../using/windows.rst:1047 -msgid "" -"For those who want to bundle Python into their application or distribution, " -"the following advice will prevent conflicts with other installations:" -msgstr "" - -#: ../../using/windows.rst:1050 -msgid "" -"Include a ``._pth`` file alongside your executable containing the " -"directories to include. This will ignore paths listed in the registry and " -"environment variables, and also ignore :mod:`site` unless ``import site`` is" -" listed." -msgstr "" - -#: ../../using/windows.rst:1055 -msgid "" -"If you are loading :file:`python3.dll` or :file:`python37.dll` in your own " -"executable, explicitly set :c:member:`PyConfig.module_search_paths` before " -":c:func:`Py_InitializeFromConfig`." -msgstr "" - -#: ../../using/windows.rst:1059 -msgid "" -"Clear and/or overwrite :envvar:`PYTHONPATH` and set :envvar:`PYTHONHOME` " -"before launching :file:`python.exe` from your application." -msgstr "" - -#: ../../using/windows.rst:1062 -msgid "" -"If you cannot use the previous suggestions (for example, you are a " -"distribution that allows people to run :file:`python.exe` directly), ensure " -"that the landmark file (:file:`Lib\\\\os.py`) exists in your install " -"directory. (Note that it will not be detected inside a ZIP file, but a " -"correctly named ZIP file will be detected instead.)" -msgstr "" - -#: ../../using/windows.rst:1068 -msgid "" -"These will ensure that the files in a system-wide installation will not take" -" precedence over the copy of the standard library bundled with your " -"application. Otherwise, your users may experience problems using your " -"application. Note that the first suggestion is the best, as the others may " -"still be susceptible to non-standard paths in the registry and user site-" -"packages." -msgstr "" - -#: ../../using/windows.rst:1076 -msgid "" -"Add ``._pth`` file support and removes ``applocal`` option from " -"``pyvenv.cfg``." -msgstr "" - -#: ../../using/windows.rst:1081 -msgid "" -"Add :file:`python{XX}.zip` as a potential landmark when directly adjacent to" -" the executable." -msgstr "" - -#: ../../using/windows.rst:1086 -msgid "" -"Modules specified in the registry under ``Modules`` (not ``PythonPath``) may" -" be imported by :class:`importlib.machinery.WindowsRegistryFinder`. This " -"finder is enabled on Windows in 3.6.0 and earlier, but may need to be " -"explicitly added to :data:`sys.meta_path` in the future." -msgstr "" - -#: ../../using/windows.rst:1092 -msgid "Additional modules" -msgstr "Modul-modul tambahan" - -#: ../../using/windows.rst:1094 -msgid "" -"Even though Python aims to be portable among all platforms, there are " -"features that are unique to Windows. A couple of modules, both in the " -"standard library and external, and snippets exist to use these features." -msgstr "" - -#: ../../using/windows.rst:1098 -msgid "" -"The Windows-specific standard modules are documented in :ref:`mswin-" -"specific-services`." -msgstr "" - -#: ../../using/windows.rst:1102 -msgid "PyWin32" -msgstr "PyWin32" - -#: ../../using/windows.rst:1104 -msgid "" -"The :pypi:`PyWin32` module by Mark Hammond is a collection of modules for " -"advanced Windows-specific support. This includes utilities for:" -msgstr "" - -#: ../../using/windows.rst:1108 -msgid "" -"`Component Object Model " -"`_ (COM)" -msgstr "" - -#: ../../using/windows.rst:1111 -msgid "Win32 API calls" -msgstr "" - -#: ../../using/windows.rst:1112 -msgid "Registry" -msgstr "Registry" - -#: ../../using/windows.rst:1113 -msgid "Event log" -msgstr "Log peristiwa" - -#: ../../using/windows.rst:1114 -msgid "" -"`Microsoft Foundation Classes `_ (MFC) user interfaces" -msgstr "" - -#: ../../using/windows.rst:1118 -msgid "" -"`PythonWin `_ is a sample MFC application " -"shipped with PyWin32. It is an embeddable IDE with a built-in debugger." -msgstr "" - -#: ../../using/windows.rst:1124 -msgid "" -"`Win32 How Do I...? `_" -msgstr "" - -#: ../../using/windows.rst:1125 -msgid "by Tim Golden" -msgstr "oleh Tim Golden" - -#: ../../using/windows.rst:1127 -msgid "`Python and COM `_" -msgstr "" - -#: ../../using/windows.rst:1128 -msgid "by David and Paul Boddie" -msgstr "oleh David dan Paul Boddie" - -#: ../../using/windows.rst:1132 -msgid "cx_Freeze" -msgstr "cx_Freeze" - -#: ../../using/windows.rst:1134 -msgid "" -"`cx_Freeze `_ wraps Python " -"scripts into executable Windows programs (:file:`{*}.exe` files). When you " -"have done this, you can distribute your application without requiring your " -"users to install Python." -msgstr "" - -#: ../../using/windows.rst:1141 -msgid "Compiling Python on Windows" -msgstr "Kompilasi Python di Windows" - -#: ../../using/windows.rst:1143 -msgid "" -"If you want to compile CPython yourself, first thing you should do is get " -"the `source `_. You can download " -"either the latest release's source or just grab a fresh `checkout " -"`_." -msgstr "" - -#: ../../using/windows.rst:1148 -msgid "" -"The source tree contains a build solution and project files for Microsoft " -"Visual Studio, which is the compiler used to build the official Python " -"releases. These files are in the :file:`PCbuild` directory." -msgstr "" - -#: ../../using/windows.rst:1152 -msgid "" -"Check :file:`PCbuild/readme.txt` for general information on the build " -"process." -msgstr "" - -#: ../../using/windows.rst:1154 -msgid "For extension modules, consult :ref:`building-on-windows`." -msgstr "" - -#: ../../using/windows.rst:1161 -msgid "The full installer (deprecated)" -msgstr "" - -#: ../../using/windows.rst:1165 -msgid "" -"This installer is deprecated since 3.14 and will not be produced for Python " -"3.16 or later. See :ref:`pymanager` for the modern installer." -msgstr "" - -#: ../../using/windows.rst:1170 -msgid "Installation steps" -msgstr "Langkah instalasi" - -#: ../../using/windows.rst:1172 -msgid "" -"Four Python |version| installers are available for download - two each for " -"the 32-bit and 64-bit versions of the interpreter. The *web installer* is a " -"small initial download, and it will automatically download the required " -"components as necessary. The *offline installer* includes the components " -"necessary for a default installation and only requires an internet " -"connection for optional features. See :ref:`install-layout-option` for other" -" ways to avoid downloading during installation." -msgstr "" - -#: ../../using/windows.rst:1180 -msgid "After starting the installer, one of two options may be selected:" -msgstr "" - -#: ../../using/windows.rst:1184 -msgid "If you select \"Install Now\":" -msgstr "Jika anda pilih \"Install Now\":" - -#: ../../using/windows.rst:1186 -msgid "" -"You will *not* need to be an administrator (unless a system update for the C" -" Runtime Library is required or you install the :ref:`launcher` for all " -"users)" -msgstr "" - -#: ../../using/windows.rst:1189 -msgid "Python will be installed into your user directory" -msgstr "Python akan diinstal ke direktori pengguna anda" - -#: ../../using/windows.rst:1190 -msgid "" -"The :ref:`launcher` will be installed according to the option at the bottom " -"of the first page" -msgstr "" - -#: ../../using/windows.rst:1192 -msgid "The standard library, test suite, launcher and pip will be installed" -msgstr "" - -#: ../../using/windows.rst:1193 -msgid "" -"If selected, the install directory will be added to your :envvar:`PATH`" -msgstr "" - -#: ../../using/windows.rst:1194 -msgid "Shortcuts will only be visible for the current user" -msgstr "Pintasan hanya akan muncul untuk pengguna saat ini" - -#: ../../using/windows.rst:1196 -msgid "" -"Selecting \"Customize installation\" will allow you to select the features " -"to install, the installation location and other options or post-install " -"actions. To install debugging symbols or binaries, you will need to use this" -" option." -msgstr "" - -#: ../../using/windows.rst:1200 -msgid "" -"To perform an all-users installation, you should select \"Customize " -"installation\". In this case:" -msgstr "" - -#: ../../using/windows.rst:1203 -msgid "You may be required to provide administrative credentials or approval" -msgstr "" - -#: ../../using/windows.rst:1204 -msgid "Python will be installed into the Program Files directory" -msgstr "" - -#: ../../using/windows.rst:1205 -msgid "The :ref:`launcher` will be installed into the Windows directory" -msgstr "" - -#: ../../using/windows.rst:1206 -msgid "Optional features may be selected during installation" -msgstr "" - -#: ../../using/windows.rst:1207 -msgid "The standard library can be pre-compiled to bytecode" -msgstr "Pustaka standar bisa dikompilasi sebelumnya ke bytecode" - -#: ../../using/windows.rst:1208 -msgid "" -"If selected, the install directory will be added to the system " -":envvar:`PATH`" -msgstr "" - -#: ../../using/windows.rst:1209 -msgid "Shortcuts are available for all users" -msgstr "Pintasan tersedia untuk semua pengguna" - -#: ../../using/windows.rst:1218 -msgid "" -"In the latest versions of Windows, this limitation can be expanded to " -"approximately 32,000 characters. Your administrator will need to activate " -"the \"Enable Win32 long paths\" group policy, or set ``LongPathsEnabled`` to" -" ``1`` in the registry key " -"``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." -msgstr "" - -#: ../../using/windows.rst:1227 -msgid "After changing the above option, no further configuration is required." -msgstr "" - -#: ../../using/windows.rst:1231 -msgid "Support for long paths was enabled in Python." -msgstr "Dukungan untuk *paths* panjang telah diaktifkan di Python." - -#: ../../using/windows.rst:1236 -msgid "Installing Without UI" -msgstr "Melakukan instalasi tanpa UI" - -#: ../../using/windows.rst:1238 -msgid "" -"All of the options available in the installer UI can also be specified from " -"the command line, allowing scripted installers to replicate an installation " -"on many machines without user interaction. These options may also be set " -"without suppressing the UI in order to change some of the defaults." -msgstr "" - -#: ../../using/windows.rst:1243 -msgid "" -"The following options (found by executing the installer with ``/?``) can be " -"passed into the installer:" -msgstr "" - -#: ../../using/windows.rst:1247 ../../using/windows.rst:1267 -#: ../../using/windows.rst:1862 -msgid "Name" -msgstr "Nama" - -#: ../../using/windows.rst:1249 -msgid "/passive" -msgstr "" - -#: ../../using/windows.rst:1249 -msgid "to display progress without requiring user interaction" -msgstr "" - -#: ../../using/windows.rst:1251 -msgid "/quiet" -msgstr "" - -#: ../../using/windows.rst:1251 -msgid "to install/uninstall without displaying any UI" -msgstr "" - -#: ../../using/windows.rst:1253 -msgid "/simple" -msgstr "" - -#: ../../using/windows.rst:1253 -msgid "to prevent user customization" -msgstr "" - -#: ../../using/windows.rst:1255 -msgid "/uninstall" -msgstr "" - -#: ../../using/windows.rst:1255 -msgid "to remove Python (without confirmation)" -msgstr "" - -#: ../../using/windows.rst:1257 -msgid "/layout [directory]" -msgstr "" - -#: ../../using/windows.rst:1257 -msgid "to pre-download all components" -msgstr "" - -#: ../../using/windows.rst:1259 -msgid "/log [filename]" -msgstr "" - -#: ../../using/windows.rst:1259 -msgid "to specify log files location" -msgstr "" - -#: ../../using/windows.rst:1262 -msgid "" -"All other options are passed as ``name=value``, where the value is usually " -"``0`` to disable a feature, ``1`` to enable a feature, or a path. The full " -"list of available options is shown below." -msgstr "" - -#: ../../using/windows.rst:1267 -msgid "Default" -msgstr "Bawaan" - -#: ../../using/windows.rst:1269 -msgid "InstallAllUsers" -msgstr "InstallAllUsers" - -#: ../../using/windows.rst:1269 -msgid "Perform a system-wide installation." -msgstr "Lakukan instalasi di seluruh sistem." - -#: ../../using/windows.rst:1269 ../../using/windows.rst:1295 -#: ../../using/windows.rst:1298 ../../using/windows.rst:1302 -#: ../../using/windows.rst:1311 ../../using/windows.rst:1333 -#: ../../using/windows.rst:1341 ../../using/windows.rst:1344 -msgid "0" -msgstr "0" - -#: ../../using/windows.rst:1271 -msgid "TargetDir" -msgstr "TargetDir" - -#: ../../using/windows.rst:1271 -msgid "The installation directory" -msgstr "Direktori instalasi" - -#: ../../using/windows.rst:1271 -msgid "Selected based on InstallAllUsers" -msgstr "" - -#: ../../using/windows.rst:1274 -msgid "DefaultAllUsersTargetDir" -msgstr "DefaultAllUsersTargetDir" - -#: ../../using/windows.rst:1274 -msgid "The default installation directory for all-user installs" -msgstr "" - -#: ../../using/windows.rst:1274 -msgid "" -":file:`%ProgramFiles%\\\\\\ Python X.Y` or :file:`\\ " -"%ProgramFiles(x86)%\\\\\\ Python X.Y`" -msgstr "" - -#: ../../using/windows.rst:1279 -msgid "DefaultJustForMeTargetDir" -msgstr "DefaultJustForMeTargetDir" - -#: ../../using/windows.rst:1279 -msgid "The default install directory for just-for-me installs" -msgstr "" - -#: ../../using/windows.rst:1279 -msgid "" -":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY` or " -":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` or " -":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`" -msgstr "" - -#: ../../using/windows.rst:1289 -msgid "DefaultCustomTargetDir" -msgstr "DefaultCustomTargetDir" - -#: ../../using/windows.rst:1289 -msgid "The default custom install directory displayed in the UI" -msgstr "" - -#: ../../using/windows.rst:1289 ../../using/windows.rst:1346 -msgid "(empty)" -msgstr "(kosong)" - -#: ../../using/windows.rst:1292 -msgid "AssociateFiles" -msgstr "AssociateFiles" - -#: ../../using/windows.rst:1292 -msgid "Create file associations if the launcher is also installed." -msgstr "" - -#: ../../using/windows.rst:1292 ../../using/windows.rst:1306 -#: ../../using/windows.rst:1309 ../../using/windows.rst:1313 -#: ../../using/windows.rst:1317 ../../using/windows.rst:1321 -#: ../../using/windows.rst:1323 ../../using/windows.rst:1327 -#: ../../using/windows.rst:1331 ../../using/windows.rst:1335 -#: ../../using/windows.rst:1337 ../../using/windows.rst:1339 -msgid "1" -msgstr "1" - -#: ../../using/windows.rst:1295 -msgid "CompileAll" -msgstr "CompileAll" - -#: ../../using/windows.rst:1295 -msgid "Compile all ``.py`` files to ``.pyc``." -msgstr "Kompilasi semua berkas ``.py`` menjadi ``.pyc``." - -#: ../../using/windows.rst:1298 -msgid "PrependPath" -msgstr "PrependPath" - -#: ../../using/windows.rst:1298 -msgid "" -"Prepend install and Scripts directories to :envvar:`PATH` and add ``.PY`` " -"to :envvar:`PATHEXT`" -msgstr "" - -#: ../../using/windows.rst:1302 -msgid "AppendPath" -msgstr "" - -#: ../../using/windows.rst:1302 -msgid "" -"Append install and Scripts directories to :envvar:`PATH` and add ``.PY`` to" -" :envvar:`PATHEXT`" -msgstr "" - -#: ../../using/windows.rst:1306 -msgid "Shortcuts" -msgstr "" - -#: ../../using/windows.rst:1306 -msgid "" -"Create shortcuts for the interpreter, documentation and IDLE if installed." -msgstr "" - -#: ../../using/windows.rst:1309 -msgid "Include_doc" -msgstr "Include_doc" - -#: ../../using/windows.rst:1309 -msgid "Install Python manual" -msgstr "Install manual dari Python" - -#: ../../using/windows.rst:1311 -msgid "Include_debug" -msgstr "Include_debug" - -#: ../../using/windows.rst:1311 -msgid "Install debug binaries" -msgstr "" - -#: ../../using/windows.rst:1313 -msgid "Include_dev" -msgstr "Include_dev" - -#: ../../using/windows.rst:1313 -msgid "" -"Install developer headers and libraries. Omitting this may lead to an " -"unusable installation." -msgstr "" - -#: ../../using/windows.rst:1317 -msgid "Include_exe" -msgstr "Include_exe" - -#: ../../using/windows.rst:1317 -msgid "" -"Install :file:`python.exe` and related files. Omitting this may lead to an " -"unusable installation." -msgstr "" - -#: ../../using/windows.rst:1321 -msgid "Include_launcher" -msgstr "Include_launcher" - -#: ../../using/windows.rst:1321 -msgid "Install :ref:`launcher`." -msgstr "Install :ref:`launcher`." - -#: ../../using/windows.rst:1323 -msgid "InstallLauncherAllUsers" -msgstr "InstallLauncherAllUsers" - -#: ../../using/windows.rst:1323 -msgid "" -"Installs the launcher for all users. Also requires ``Include_launcher`` to " -"be set to 1" -msgstr "" - -#: ../../using/windows.rst:1327 -msgid "Include_lib" -msgstr "Include_lib" - -#: ../../using/windows.rst:1327 -msgid "" -"Install standard library and extension modules. Omitting this may lead to an" -" unusable installation." -msgstr "" - -#: ../../using/windows.rst:1331 -msgid "Include_pip" -msgstr "Include_pip" - -#: ../../using/windows.rst:1331 -msgid "Install bundled pip and setuptools" -msgstr "" - -#: ../../using/windows.rst:1333 -msgid "Include_symbols" -msgstr "Include_symbols" - -#: ../../using/windows.rst:1333 -msgid "Install debugging symbols (``*.pdb``)" -msgstr "" - -#: ../../using/windows.rst:1335 -msgid "Include_tcltk" -msgstr "Include_tcltk" - -#: ../../using/windows.rst:1335 -msgid "Install Tcl/Tk support and IDLE" -msgstr "" - -#: ../../using/windows.rst:1337 -msgid "Include_test" -msgstr "Include_test" - -#: ../../using/windows.rst:1337 -msgid "Install standard library test suite" -msgstr "" - -#: ../../using/windows.rst:1339 -msgid "Include_tools" -msgstr "Include_tools" - -#: ../../using/windows.rst:1339 -msgid "Install utility scripts" -msgstr "" - -#: ../../using/windows.rst:1341 -msgid "LauncherOnly" -msgstr "LauncherOnly" - -#: ../../using/windows.rst:1341 -msgid "Only installs the launcher. This will override most other options." -msgstr "" - -#: ../../using/windows.rst:1344 -msgid "SimpleInstall" -msgstr "SimpleInstall" - -#: ../../using/windows.rst:1344 -msgid "Disable most install UI" -msgstr "" - -#: ../../using/windows.rst:1346 -msgid "SimpleInstallDescription" -msgstr "SimpleInstallDescription" - -#: ../../using/windows.rst:1346 -msgid "A custom message to display when the simplified install UI is used." -msgstr "" - -#: ../../using/windows.rst:1350 -msgid "" -"For example, to silently install a default, system-wide Python installation," -" you could use the following command (from an elevated command prompt)::" -msgstr "" - -#: ../../using/windows.rst:1353 -msgid "python-3.9.0.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0" -msgstr "" - -#: ../../using/windows.rst:1355 -msgid "" -"To allow users to easily install a personal copy of Python without the test " -"suite, you could provide a shortcut with the following command. This will " -"display a simplified initial page and disallow customization::" -msgstr "" - -#: ../../using/windows.rst:1359 -msgid "" -"python-3.9.0.exe InstallAllUsers=0 Include_launcher=0 Include_test=0\n" -" SimpleInstall=1 SimpleInstallDescription=\"Just for me, no test suite.\"" -msgstr "" - -#: ../../using/windows.rst:1362 -msgid "" -"(Note that omitting the launcher also omits file associations, and is only " -"recommended for per-user installs when there is also a system-wide " -"installation that included the launcher.)" -msgstr "" - -#: ../../using/windows.rst:1366 -msgid "" -"The options listed above can also be provided in a file named " -"``unattend.xml`` alongside the executable. This file specifies a list of " -"options and values. When a value is provided as an attribute, it will be " -"converted to a number if possible. Values provided as element text are " -"always left as strings. This example file sets the same options as the " -"previous example:" -msgstr "" - -#: ../../using/windows.rst:1372 -msgid "" -"\n" -" \n" -"" -msgstr "" - -#: ../../using/windows.rst:1385 -msgid "Installing Without Downloading" -msgstr "Instalasi Tanpa Mengunduh" - -#: ../../using/windows.rst:1387 -msgid "" -"As some features of Python are not included in the initial installer " -"download, selecting those features may require an internet connection. To " -"avoid this need, all possible components may be downloaded on-demand to " -"create a complete *layout* that will no longer require an internet " -"connection regardless of the selected features. Note that this download may " -"be bigger than required, but where a large number of installations are going" -" to be performed it is very useful to have a locally cached copy." -msgstr "" - -#: ../../using/windows.rst:1395 -msgid "" -"Execute the following command from Command Prompt to download all possible " -"required files. Remember to substitute ``python-3.9.0.exe`` for the actual " -"name of your installer, and to create layouts in their own directories to " -"avoid collisions between files with the same name." -msgstr "" - -#: ../../using/windows.rst:1402 -msgid "python-3.9.0.exe /layout [optional target directory]" -msgstr "" - -#: ../../using/windows.rst:1404 -msgid "" -"You may also specify the ``/quiet`` option to hide the progress display." -msgstr "" - -#: ../../using/windows.rst:1407 -msgid "Modifying an install" -msgstr "Memodifikasi suatu instalasi" - -#: ../../using/windows.rst:1409 -msgid "" -"Once Python has been installed, you can add or remove features through the " -"Programs and Features tool that is part of Windows. Select the Python entry " -"and choose \"Uninstall/Change\" to open the installer in maintenance mode." -msgstr "" - -#: ../../using/windows.rst:1413 -msgid "" -"\"Modify\" allows you to add or remove features by modifying the checkboxes " -"- unchanged checkboxes will not install or remove anything. Some options " -"cannot be changed in this mode, such as the install directory; to modify " -"these, you will need to remove and then reinstall Python completely." -msgstr "" - -#: ../../using/windows.rst:1418 -msgid "" -"\"Repair\" will verify all the files that should be installed using the " -"current settings and replace any that have been removed or modified." -msgstr "" - -#: ../../using/windows.rst:1421 -msgid "" -"\"Uninstall\" will remove Python entirely, with the exception of the " -":ref:`launcher`, which has its own entry in Programs and Features." -msgstr "" - -#: ../../using/windows.rst:1435 -msgid "" -"To install pre-built binaries with free-threading enabled (see :pep:`703`), " -"you should select \"Customize installation\". The second page of options " -"includes the \"Download free-threaded binaries\" checkbox." -msgstr "" - -#: ../../using/windows.rst:1441 -msgid "" -"Selecting this option will download and install additional binaries to the " -"same location as the main Python install. The main executable is called " -"``python3.13t.exe``, and other binaries either receive a ``t`` suffix or a " -"full ABI suffix. Python source files and bundled third-party dependencies " -"are shared with the main install." -msgstr "" - -#: ../../using/windows.rst:1447 -msgid "" -"The free-threaded version is registered as a regular Python install with the" -" tag ``3.13t`` (with a ``-32`` or ``-arm64`` suffix as normal for those " -"platforms). This allows tools to discover it, and for the :ref:`launcher` to" -" support ``py.exe -3.13t``. Note that the launcher will interpret ``py.exe " -"-3`` (or a ``python3`` shebang) as \"the latest 3.x install\", which will " -"prefer the free-threaded binaries over the regular ones, while ``py.exe " -"-3.13`` will not. If you use the short style of option, you may prefer to " -"not install the free-threaded binaries at this time." -msgstr "" - -#: ../../using/windows.rst:1456 -msgid "" -"To specify the install option at the command line, use " -"``Include_freethreaded=1``. See :ref:`install-layout-option` for " -"instructions on pre-emptively downloading the additional binaries for " -"offline install. The options to include debug symbols and binaries also " -"apply to the free-threaded builds." -msgstr "" - -#: ../../using/windows.rst:1462 -msgid "" -"Free-threaded binaries are also available :ref:`on nuget.org `." -msgstr "" - -#: ../../using/windows.rst:1466 -msgid "Python Launcher for Windows (Deprecated)" -msgstr "" - -#: ../../using/windows.rst:1470 -msgid "" -"The launcher and this documentation have been superseded by the Python " -"Install Manager described above. This is preserved temporarily for " -"historical interest." -msgstr "" - -#: ../../using/windows.rst:1476 -msgid "" -"The Python launcher for Windows is a utility which aids in locating and " -"executing of different Python versions. It allows scripts (or the command-" -"line) to indicate a preference for a specific Python version, and will " -"locate and execute that version." -msgstr "" - -#: ../../using/windows.rst:1481 -msgid "" -"Unlike the :envvar:`PATH` variable, the launcher will correctly select the " -"most appropriate version of Python. It will prefer per-user installations " -"over system-wide ones, and orders by language version rather than using the " -"most recently installed version." -msgstr "" - -#: ../../using/windows.rst:1486 -msgid "The launcher was originally specified in :pep:`397`." -msgstr "" - -#: ../../using/windows.rst:1489 -msgid "Getting started" -msgstr "Memulai" - -#: ../../using/windows.rst:1492 -msgid "From the command-line" -msgstr "Dari baris-perintah" - -#: ../../using/windows.rst:1496 -msgid "" -"System-wide installations of Python 3.3 and later will put the launcher on " -"your :envvar:`PATH`. The launcher is compatible with all available versions " -"of Python, so it does not matter which version is installed. To check that " -"the launcher is available, execute the following command in Command Prompt::" -msgstr "" - -#: ../../using/windows.rst:1501 -msgid "py" -msgstr "" - -#: ../../using/windows.rst:1503 -msgid "" -"You should find that the latest version of Python you have installed is " -"started - it can be exited as normal, and any additional command-line " -"arguments specified will be sent directly to Python." -msgstr "" - -#: ../../using/windows.rst:1507 -msgid "" -"If you have multiple versions of Python installed (e.g., 3.7 and |version|) " -"you will have noticed that Python |version| was started - to launch Python " -"3.7, try the command::" -msgstr "" - -#: ../../using/windows.rst:1511 -msgid "py -3.7" -msgstr "" - -#: ../../using/windows.rst:1513 -msgid "" -"If you want the latest version of Python 2 you have installed, try the " -"command::" -msgstr "" - -#: ../../using/windows.rst:1516 -msgid "py -2" -msgstr "" - -#: ../../using/windows.rst:1518 -msgid "" -"If you see the following error, you do not have the launcher installed::" -msgstr "" - -#: ../../using/windows.rst:1520 -msgid "" -"'py' is not recognized as an internal or external command,\n" -"operable program or batch file." -msgstr "" - -#: ../../using/windows.rst:1523 -msgid "The command::" -msgstr "" - -#: ../../using/windows.rst:1525 -msgid "py --list" -msgstr "" - -#: ../../using/windows.rst:1527 -msgid "displays the currently installed version(s) of Python." -msgstr "" - -#: ../../using/windows.rst:1529 -msgid "" -"The ``-x.y`` argument is the short form of the ``-V:Company/Tag`` argument, " -"which allows selecting a specific Python runtime, including those that may " -"have come from somewhere other than python.org. Any runtime registered by " -"following :pep:`514` will be discoverable. The ``--list`` command lists all " -"available runtimes using the ``-V:`` format." -msgstr "" - -#: ../../using/windows.rst:1535 -msgid "" -"When using the ``-V:`` argument, specifying the Company will limit selection" -" to runtimes from that provider, while specifying only the Tag will select " -"from all providers. Note that omitting the slash implies a tag::" -msgstr "" - -#: ../../using/windows.rst:1539 -msgid "" -"# Select any '3.*' tagged runtime\n" -"py -V:3\n" -"\n" -"# Select any 'PythonCore' released runtime\n" -"py -V:PythonCore/\n" -"\n" -"# Select PythonCore's latest Python 3 runtime\n" -"py -V:PythonCore/3" -msgstr "" - -#: ../../using/windows.rst:1548 -msgid "" -"The short form of the argument (``-3``) only ever selects from core Python " -"releases, and not other distributions. However, the longer form (``-V:3``) " -"will select from any." -msgstr "" - -#: ../../using/windows.rst:1552 -msgid "" -"The Company is matched on the full string, case-insensitive. The Tag is " -"matched on either the full string, or a prefix, provided the next character " -"is a dot or a hyphen. This allows ``-V:3.1`` to match ``3.1-32``, but not " -"``3.10``. Tags are sorted using numerical ordering (``3.10`` is newer than " -"``3.1``), but are compared using text (``-V:3.01`` does not match ``3.1``)." -msgstr "" - -#: ../../using/windows.rst:1560 -msgid "Virtual environments" -msgstr "Lingkungan virtual" - -#: ../../using/windows.rst:1564 -msgid "" -"If the launcher is run with no explicit Python version specification, and a " -"virtual environment (created with the standard library :mod:`venv` module or" -" the external ``virtualenv`` tool) active, the launcher will run the virtual" -" environment's interpreter rather than the global one. To run the global " -"interpreter, either deactivate the virtual environment, or explicitly " -"specify the global Python version." -msgstr "" - -#: ../../using/windows.rst:1572 -msgid "From a script" -msgstr "Dari sebuah skrip" - -#: ../../using/windows.rst:1574 -msgid "" -"Let's create a test Python script - create a file called ``hello.py`` with " -"the following contents" -msgstr "" - -#: ../../using/windows.rst:1577 -msgid "" -"#! python\n" -"import sys\n" -"sys.stdout.write(\"hello from Python %s\\n\" % (sys.version,))" -msgstr "" - -#: ../../using/windows.rst:1583 -msgid "From the directory in which hello.py lives, execute the command::" -msgstr "" - -#: ../../using/windows.rst:1585 -msgid "py hello.py" -msgstr "" - -#: ../../using/windows.rst:1587 -msgid "" -"You should notice the version number of your latest Python 2.x installation " -"is printed. Now try changing the first line to be:" -msgstr "" - -#: ../../using/windows.rst:1590 -msgid "#! python3" -msgstr "" - -#: ../../using/windows.rst:1594 -msgid "" -"Re-executing the command should now print the latest Python 3.x information." -" As with the above command-line examples, you can specify a more explicit " -"version qualifier. Assuming you have Python 3.7 installed, try changing the" -" first line to ``#! python3.7`` and you should find the 3.7 version " -"information printed." -msgstr "" - -#: ../../using/windows.rst:1600 -msgid "" -"Note that unlike interactive use, a bare \"python\" will use the latest " -"version of Python 2.x that you have installed. This is for backward " -"compatibility and for compatibility with Unix, where the command ``python`` " -"typically refers to Python 2." -msgstr "" - -#: ../../using/windows.rst:1606 -msgid "From file associations" -msgstr "" - -#: ../../using/windows.rst:1608 -msgid "" -"The launcher should have been associated with Python files (i.e. ``.py``, " -"``.pyw``, ``.pyc`` files) when it was installed. This means that when you " -"double-click on one of these files from Windows explorer the launcher will " -"be used, and therefore you can use the same facilities described above to " -"have the script specify the version which should be used." -msgstr "" - -#: ../../using/windows.rst:1614 -msgid "" -"The key benefit of this is that a single launcher can support multiple " -"Python versions at the same time depending on the contents of the first " -"line." -msgstr "" - -#: ../../using/windows.rst:1618 -msgid "Shebang Lines" -msgstr "" - -#: ../../using/windows.rst:1620 -msgid "" -"If the first line of a script file starts with ``#!``, it is known as a " -"\"shebang\" line. Linux and other Unix like operating systems have native " -"support for such lines and they are commonly used on such systems to " -"indicate how a script should be executed. This launcher allows the same " -"facilities to be used with Python scripts on Windows and the examples above " -"demonstrate their use." -msgstr "" - -#: ../../using/windows.rst:1627 -msgid "" -"To allow shebang lines in Python scripts to be portable between Unix and " -"Windows, this launcher supports a number of 'virtual' commands to specify " -"which interpreter to use. The supported virtual commands are:" -msgstr "" - -#: ../../using/windows.rst:1631 -msgid "``/usr/bin/env``" -msgstr "" - -#: ../../using/windows.rst:1632 -msgid "``/usr/bin/python``" -msgstr "``/usr/bin/python``" - -#: ../../using/windows.rst:1633 -msgid "``/usr/local/bin/python``" -msgstr "``/usr/local/bin/python``" - -#: ../../using/windows.rst:1634 -msgid "``python``" -msgstr "``python``" - -#: ../../using/windows.rst:1648 -msgid "" -"Any of the above virtual commands can be suffixed with an explicit version " -"(either just the major version, or the major and minor version). Furthermore" -" the 32-bit version can be requested by adding \"-32\" after the minor " -"version. I.e. ``/usr/bin/python3.7-32`` will request usage of the 32-bit " -"Python 3.7. If a virtual environment is active, the version will be ignored " -"and the environment will be used." -msgstr "" - -#: ../../using/windows.rst:1657 -msgid "" -"Beginning with python launcher 3.7 it is possible to request 64-bit version " -"by the \"-64\" suffix. Furthermore it is possible to specify a major and " -"architecture without minor (i.e. ``/usr/bin/python3-64``)." -msgstr "" - -#: ../../using/windows.rst:1663 -msgid "" -"The \"-64\" suffix is deprecated, and now implies \"any architecture that is" -" not provably i386/32-bit\". To request a specific environment, use the new " -":samp:`-V:{TAG}` argument with the complete tag." -msgstr "" - -#: ../../using/windows.rst:1669 -msgid "" -"Virtual commands referencing ``python`` now prefer an active virtual " -"environment rather than searching :envvar:`PATH`. This handles cases where " -"the shebang specifies ``/usr/bin/env python3`` but :file:`python3.exe` is " -"not present in the active environment." -msgstr "" - -#: ../../using/windows.rst:1674 -msgid "" -"The ``/usr/bin/env`` form of shebang line has one further special property. " -"Before looking for installed Python interpreters, this form will search the " -"executable :envvar:`PATH` for a Python executable matching the name provided" -" as the first argument. This corresponds to the behaviour of the Unix " -"``env`` program, which performs a :envvar:`PATH` search. If an executable " -"matching the first argument after the ``env`` command cannot be found, but " -"the argument starts with ``python``, it will be handled as described for the" -" other virtual commands. The environment variable " -":envvar:`PYLAUNCHER_NO_SEARCH_PATH` may be set (to any value) to skip this " -"search of :envvar:`PATH`." -msgstr "" - -#: ../../using/windows.rst:1685 -msgid "" -"Shebang lines that do not match any of these patterns are looked up in the " -"``[commands]`` section of the launcher's :ref:`.INI file `. " -"This may be used to handle certain commands in a way that makes sense for " -"your system. The name of the command must be a single argument (no spaces in" -" the shebang executable), and the value substituted is the full path to the " -"executable (additional arguments specified in the .INI will be quoted as " -"part of the filename)." -msgstr "" - -#: ../../using/windows.rst:1693 -msgid "" -"[commands]\n" -"/bin/xpython=C:\\Program Files\\XPython\\python.exe" -msgstr "" - -#: ../../using/windows.rst:1698 -msgid "" -"Any commands not found in the .INI file are treated as **Windows** " -"executable paths that are absolute or relative to the directory containing " -"the script file. This is a convenience for Windows-only scripts, such as " -"those generated by an installer, since the behavior is not compatible with " -"Unix-style shells. These paths may be quoted, and may include multiple " -"arguments, after which the path to the script and any additional arguments " -"will be appended." -msgstr "" - -#: ../../using/windows.rst:1707 -msgid "Arguments in shebang lines" -msgstr "" - -#: ../../using/windows.rst:1709 -msgid "" -"The shebang lines can also specify additional options to be passed to the " -"Python interpreter. For example, if you have a shebang line:" -msgstr "" - -#: ../../using/windows.rst:1712 -msgid "#! /usr/bin/python -v" -msgstr "" - -#: ../../using/windows.rst:1716 -msgid "Then Python will be started with the ``-v`` option" -msgstr "" - -#: ../../using/windows.rst:1719 -msgid "Customization" -msgstr "Penyesuaian" - -#: ../../using/windows.rst:1724 -msgid "Customization via INI files" -msgstr "" - -#: ../../using/windows.rst:1726 -msgid "" -"Two .ini files will be searched by the launcher - ``py.ini`` in the current " -"user's application data directory (``%LOCALAPPDATA%`` or " -"``$env:LocalAppData``) and ``py.ini`` in the same directory as the launcher." -" The same .ini files are used for both the 'console' version of the launcher" -" (i.e. py.exe) and for the 'windows' version (i.e. pyw.exe)." -msgstr "" - -#: ../../using/windows.rst:1732 -msgid "" -"Customization specified in the \"application directory\" will have " -"precedence over the one next to the executable, so a user, who may not have " -"write access to the .ini file next to the launcher, can override commands in" -" that global .ini file." -msgstr "" - -#: ../../using/windows.rst:1737 -msgid "Customizing default Python versions" -msgstr "" - -#: ../../using/windows.rst:1739 -msgid "" -"In some cases, a version qualifier can be included in a command to dictate " -"which version of Python will be used by the command. A version qualifier " -"starts with a major version number and can optionally be followed by a " -"period ('.') and a minor version specifier. Furthermore it is possible to " -"specify if a 32 or 64 bit implementation shall be requested by adding " -"\"-32\" or \"-64\"." -msgstr "" - -#: ../../using/windows.rst:1745 -msgid "" -"For example, a shebang line of ``#!python`` has no version qualifier, while " -"``#!python3`` has a version qualifier which specifies only a major version." -msgstr "" - -#: ../../using/windows.rst:1748 -msgid "" -"If no version qualifiers are found in a command, the environment variable " -":envvar:`PY_PYTHON` can be set to specify the default version qualifier. If " -"it is not set, the default is \"3\". The variable can specify any value that" -" may be passed on the command line, such as \"3\", \"3.7\", \"3.7-32\" or " -"\"3.7-64\". (Note that the \"-64\" option is only available with the " -"launcher included with Python 3.7 or newer.)" -msgstr "" - -#: ../../using/windows.rst:1755 -msgid "" -"If no minor version qualifiers are found, the environment variable " -"``PY_PYTHON{major}`` (where ``{major}`` is the current major version " -"qualifier as determined above) can be set to specify the full version. If no" -" such option is found, the launcher will enumerate the installed Python " -"versions and use the latest minor release found for the major version, which" -" is likely, although not guaranteed, to be the most recently installed " -"version in that family." -msgstr "" - -#: ../../using/windows.rst:1763 -msgid "" -"On 64-bit Windows with both 32-bit and 64-bit implementations of the same " -"(major.minor) Python version installed, the 64-bit version will always be " -"preferred. This will be true for both 32-bit and 64-bit implementations of " -"the launcher - a 32-bit launcher will prefer to execute a 64-bit Python " -"installation of the specified version if available. This is so the behavior " -"of the launcher can be predicted knowing only what versions are installed on" -" the PC and without regard to the order in which they were installed (i.e., " -"without knowing whether a 32 or 64-bit version of Python and corresponding " -"launcher was installed last). As noted above, an optional \"-32\" or \"-64\"" -" suffix can be used on a version specifier to change this behaviour." -msgstr "" - -#: ../../using/windows.rst:1774 -msgid "Examples:" -msgstr "Contoh-contoh:" - -#: ../../using/windows.rst:1776 -msgid "" -"If no relevant options are set, the commands ``python`` and ``python2`` will" -" use the latest Python 2.x version installed and the command ``python3`` " -"will use the latest Python 3.x installed." -msgstr "" - -#: ../../using/windows.rst:1780 -msgid "" -"The command ``python3.7`` will not consult any options at all as the " -"versions are fully specified." -msgstr "" - -#: ../../using/windows.rst:1783 -msgid "" -"If ``PY_PYTHON=3``, the commands ``python`` and ``python3`` will both use " -"the latest installed Python 3 version." -msgstr "" - -#: ../../using/windows.rst:1786 -msgid "" -"If ``PY_PYTHON=3.7-32``, the command ``python`` will use the 32-bit " -"implementation of 3.7 whereas the command ``python3`` will use the latest " -"installed Python (PY_PYTHON was not considered at all as a major version was" -" specified.)" -msgstr "" - -#: ../../using/windows.rst:1791 -msgid "" -"If ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7``, the commands ``python`` and " -"``python3`` will both use specifically 3.7" -msgstr "" - -#: ../../using/windows.rst:1794 -msgid "" -"In addition to environment variables, the same settings can be configured in" -" the .INI file used by the launcher. The section in the INI file is called " -"``[defaults]`` and the key name will be the same as the environment " -"variables without the leading ``PY_`` prefix (and note that the key names in" -" the INI file are case insensitive.) The contents of an environment " -"variable will override things specified in the INI file." -msgstr "" - -#: ../../using/windows.rst:1801 -msgid "For example:" -msgstr "Sebagai contoh:" - -#: ../../using/windows.rst:1803 -msgid "Setting ``PY_PYTHON=3.7`` is equivalent to the INI file containing:" -msgstr "" - -#: ../../using/windows.rst:1805 -msgid "" -"[defaults]\n" -"python=3.7" -msgstr "" - -#: ../../using/windows.rst:1810 -msgid "" -"Setting ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7`` is equivalent to the INI file" -" containing:" -msgstr "" - -#: ../../using/windows.rst:1813 -msgid "" -"[defaults]\n" -"python=3\n" -"python3=3.7" -msgstr "" - -#: ../../using/windows.rst:1820 -msgid "Diagnostics" -msgstr "Diagnostik" - -#: ../../using/windows.rst:1822 -msgid "" -"If an environment variable :envvar:`PYLAUNCHER_DEBUG` is set (to any value)," -" the launcher will print diagnostic information to stderr (i.e. to the " -"console). While this information manages to be simultaneously verbose *and* " -"terse, it should allow you to see what versions of Python were located, why " -"a particular version was chosen and the exact command-line used to execute " -"the target Python. It is primarily intended for testing and debugging." -msgstr "" - -#: ../../using/windows.rst:1830 -msgid "Dry Run" -msgstr "" - -#: ../../using/windows.rst:1832 -msgid "" -"If an environment variable :envvar:`PYLAUNCHER_DRYRUN` is set (to any " -"value), the launcher will output the command it would have run, but will not" -" actually launch Python. This may be useful for tools that want to use the " -"launcher to detect and then launch Python directly. Note that the command " -"written to standard output is always encoded using UTF-8, and may not render" -" correctly in the console." -msgstr "" - -#: ../../using/windows.rst:1840 -msgid "Install on demand" -msgstr "" - -#: ../../using/windows.rst:1842 -msgid "" -"If an environment variable :envvar:`PYLAUNCHER_ALLOW_INSTALL` is set (to any" -" value), and the requested Python version is not installed but is available " -"on the Microsoft Store, the launcher will attempt to install it. This may " -"require user interaction to complete, and you may need to run the command " -"again." -msgstr "" - -#: ../../using/windows.rst:1847 -msgid "" -"An additional :envvar:`PYLAUNCHER_ALWAYS_INSTALL` variable causes the " -"launcher to always try to install Python, even if it is detected. This is " -"mainly intended for testing (and should be used with " -":envvar:`PYLAUNCHER_DRYRUN`)." -msgstr "" - -#: ../../using/windows.rst:1852 -msgid "Return codes" -msgstr "" - -#: ../../using/windows.rst:1854 -msgid "" -"The following exit codes may be returned by the Python launcher. " -"Unfortunately, there is no way to distinguish these from the exit code of " -"Python itself." -msgstr "" - -#: ../../using/windows.rst:1857 -msgid "" -"The names of codes are as used in the sources, and are only for reference. " -"There is no way to access or resolve them apart from reading this page. " -"Entries are listed in alphabetical order of names." -msgstr "" - -#: ../../using/windows.rst:1862 -msgid "Value" -msgstr "Nilai" - -#: ../../using/windows.rst:1864 -msgid "RC_BAD_VENV_CFG" -msgstr "" - -#: ../../using/windows.rst:1864 -msgid "107" -msgstr "" - -#: ../../using/windows.rst:1864 -msgid "A :file:`pyvenv.cfg` was found but is corrupt." -msgstr "" - -#: ../../using/windows.rst:1866 -msgid "RC_CREATE_PROCESS" -msgstr "" - -#: ../../using/windows.rst:1866 -msgid "101" -msgstr "" - -#: ../../using/windows.rst:1866 -msgid "Failed to launch Python." -msgstr "" - -#: ../../using/windows.rst:1868 -msgid "RC_INSTALLING" -msgstr "" - -#: ../../using/windows.rst:1868 -msgid "111" -msgstr "" - -#: ../../using/windows.rst:1868 -msgid "" -"An install was started, but the command will need to be re-run after it " -"completes." -msgstr "" - -#: ../../using/windows.rst:1871 -msgid "RC_INTERNAL_ERROR" -msgstr "" - -#: ../../using/windows.rst:1871 -msgid "109" -msgstr "" - -#: ../../using/windows.rst:1871 -msgid "Unexpected error. Please report a bug." -msgstr "" - -#: ../../using/windows.rst:1873 -msgid "RC_NO_COMMANDLINE" -msgstr "" - -#: ../../using/windows.rst:1873 -msgid "108" -msgstr "" - -#: ../../using/windows.rst:1873 -msgid "Unable to obtain command line from the operating system." -msgstr "" - -#: ../../using/windows.rst:1876 -msgid "RC_NO_PYTHON" -msgstr "" - -#: ../../using/windows.rst:1876 -msgid "103" -msgstr "" - -#: ../../using/windows.rst:1876 -msgid "Unable to locate the requested version." -msgstr "" - -#: ../../using/windows.rst:1878 -msgid "RC_NO_VENV_CFG" -msgstr "" - -#: ../../using/windows.rst:1878 -msgid "106" -msgstr "" - -#: ../../using/windows.rst:1878 -msgid "A :file:`pyvenv.cfg` was required but not found." -msgstr "" diff --git a/python-newest.whatsnew--2_0/id.po b/python-newest.whatsnew--2_0/id.po deleted file mode 100644 index 4ce81d5..0000000 --- a/python-newest.whatsnew--2_0/id.po +++ /dev/null @@ -1,1757 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Helen Febriani , 2018 -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/2.0.rst:3 -msgid "What's New in Python 2.0" -msgstr "" - -#: ../../whatsnew/2.0.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../whatsnew/2.0.rst:5 -msgid "A.M. Kuchling and Moshe Zadka" -msgstr "" - -#: ../../whatsnew/2.0.rst:13 -msgid "Introduction" -msgstr "Pengantar" - -#: ../../whatsnew/2.0.rst:15 -msgid "" -"A new release of Python, version 2.0, was released on October 16, 2000. This" -" article covers the exciting new features in 2.0, highlights some other " -"useful changes, and points out a few incompatible changes that may require " -"rewriting code." -msgstr "" - -#: ../../whatsnew/2.0.rst:20 -msgid "" -"Python's development never completely stops between releases, and a steady " -"flow of bug fixes and improvements are always being submitted. A host of " -"minor fixes, a few optimizations, additional docstrings, and better error " -"messages went into 2.0; to list them all would be impossible, but they're " -"certainly significant. Consult the publicly available CVS logs if you want " -"to see the full list. This progress is due to the five developers working " -"for PythonLabs are now getting paid to spend their days fixing bugs, and " -"also due to the improved communication resulting from moving to " -"SourceForge." -msgstr "" - -#: ../../whatsnew/2.0.rst:33 -msgid "What About Python 1.6?" -msgstr "" - -#: ../../whatsnew/2.0.rst:35 -msgid "" -"Python 1.6 can be thought of as the Contractual Obligations Python release. " -"After the core development team left CNRI in May 2000, CNRI requested that a" -" 1.6 release be created, containing all the work on Python that had been " -"performed at CNRI. Python 1.6 therefore represents the state of the CVS " -"tree as of May 2000, with the most significant new feature being Unicode " -"support. Development continued after May, of course, so the 1.6 tree " -"received a few fixes to ensure that it's forward-compatible with Python 2.0." -" 1.6 is therefore part of Python's evolution, and not a side branch." -msgstr "" - -#: ../../whatsnew/2.0.rst:44 -msgid "" -"So, should you take much interest in Python 1.6? Probably not. The " -"1.6final and 2.0beta1 releases were made on the same day (September 5, " -"2000), the plan being to finalize Python 2.0 within a month or so. If you " -"have applications to maintain, there seems little point in breaking things " -"by moving to 1.6, fixing them, and then having another round of breakage " -"within a month by moving to 2.0; you're better off just going straight to " -"2.0. Most of the really interesting features described in this document are" -" only in 2.0, because a lot of work was done between May and September." -msgstr "" - -#: ../../whatsnew/2.0.rst:57 -msgid "New Development Process" -msgstr "" - -#: ../../whatsnew/2.0.rst:59 -msgid "" -"The most important change in Python 2.0 may not be to the code at all, but " -"to how Python is developed: in May 2000 the Python developers began using " -"the tools made available by SourceForge for storing source code, tracking " -"bug reports, and managing the queue of patch submissions. To report bugs or" -" submit patches for Python 2.0, use the bug tracking and patch manager tools" -" available from Python's project page, located at " -"https://sourceforge.net/projects/python/." -msgstr "" - -#: ../../whatsnew/2.0.rst:66 -msgid "" -"The most important of the services now hosted at SourceForge is the Python " -"CVS tree, the version-controlled repository containing the source code for " -"Python. Previously, there were roughly 7 or so people who had write access " -"to the CVS tree, and all patches had to be inspected and checked in by one " -"of the people on this short list. Obviously, this wasn't very scalable. By " -"moving the CVS tree to SourceForge, it became possible to grant write access" -" to more people; as of September 2000 there were 27 people able to check in " -"changes, a fourfold increase. This makes possible large-scale changes that " -"wouldn't be attempted if they'd have to be filtered through the small group " -"of core developers. For example, one day Peter Schneider-Kamp took it into " -"his head to drop K&R C compatibility and convert the C source for Python to " -"ANSI C. After getting approval on the python-dev mailing list, he launched " -"into a flurry of checkins that lasted about a week, other developers joined " -"in to help, and the job was done. If there were only 5 people with write " -"access, probably that task would have been viewed as \"nice, but not worth " -"the time and effort needed\" and it would never have gotten done." -msgstr "" - -#: ../../whatsnew/2.0.rst:83 -msgid "" -"The shift to using SourceForge's services has resulted in a remarkable " -"increase in the speed of development. Patches now get submitted, commented " -"on, revised by people other than the original submitter, and bounced back " -"and forth between people until the patch is deemed worth checking in. Bugs " -"are tracked in one central location and can be assigned to a specific person" -" for fixing, and we can count the number of open bugs to measure progress. " -"This didn't come without a cost: developers now have more e-mail to deal " -"with, more mailing lists to follow, and special tools had to be written for " -"the new environment. For example, SourceForge sends default patch and bug " -"notification e-mail messages that are completely unhelpful, so Ka-Ping Yee " -"wrote an HTML screen-scraper that sends more useful messages." -msgstr "" - -#: ../../whatsnew/2.0.rst:95 -msgid "" -"The ease of adding code caused a few initial growing pains, such as code was" -" checked in before it was ready or without getting clear agreement from the " -"developer group. The approval process that has emerged is somewhat similar " -"to that used by the Apache group. Developers can vote +1, +0, -0, or -1 on a" -" patch; +1 and -1 denote acceptance or rejection, while +0 and -0 mean the " -"developer is mostly indifferent to the change, though with a slight positive" -" or negative slant. The most significant change from the Apache model is " -"that the voting is essentially advisory, letting Guido van Rossum, who has " -"Benevolent Dictator For Life status, know what the general opinion is. He " -"can still ignore the result of a vote, and approve or reject a change even " -"if the community disagrees with him." -msgstr "" - -#: ../../whatsnew/2.0.rst:106 -msgid "" -"Producing an actual patch is the last step in adding a new feature, and is " -"usually easy compared to the earlier task of coming up with a good design. " -"Discussions of new features can often explode into lengthy mailing list " -"threads, making the discussion hard to follow, and no one can read every " -"posting to python-dev. Therefore, a relatively formal process has been set " -"up to write Python Enhancement Proposals (PEPs), modelled on the internet " -"RFC process. PEPs are draft documents that describe a proposed new feature," -" and are continually revised until the community reaches a consensus, either" -" accepting or rejecting the proposal. Quoting from the introduction to " -":pep:`1`, \"PEP Purpose and Guidelines\":" -msgstr "" - -#: ../../whatsnew/2.0.rst:120 -msgid "" -"PEP stands for Python Enhancement Proposal. A PEP is a design document " -"providing information to the Python community, or describing a new feature " -"for Python. The PEP should provide a concise technical specification of the" -" feature and a rationale for the feature." -msgstr "" - -#: ../../whatsnew/2.0.rst:125 -msgid "" -"We intend PEPs to be the primary mechanisms for proposing new features, for " -"collecting community input on an issue, and for documenting the design " -"decisions that have gone into Python. The PEP author is responsible for " -"building consensus within the community and documenting dissenting opinions." -msgstr "" - -#: ../../whatsnew/2.0.rst:130 -msgid "" -"Read the rest of :pep:`1` for the details of the PEP editorial process, " -"style, and format. PEPs are kept in the Python CVS tree on SourceForge, " -"though they're not part of the Python 2.0 distribution, and are also " -"available in HTML form from https://peps.python.org/. As of September 2000," -" there are 25 PEPs, ranging from :pep:`201`, \"Lockstep Iteration\", to PEP " -"225, \"Elementwise/Objectwise Operators\"." -msgstr "" - -#: ../../whatsnew/2.0.rst:141 -msgid "Unicode" -msgstr "" - -#: ../../whatsnew/2.0.rst:143 -msgid "" -"The largest new feature in Python 2.0 is a new fundamental data type: " -"Unicode strings. Unicode uses 16-bit numbers to represent characters " -"instead of the 8-bit number used by ASCII, meaning that 65,536 distinct " -"characters can be supported." -msgstr "" - -#: ../../whatsnew/2.0.rst:148 -msgid "" -"The final interface for Unicode support was arrived at through countless " -"often-stormy discussions on the python-dev mailing list, and mostly " -"implemented by Marc-André Lemburg, based on a Unicode string type " -"implementation by Fredrik Lundh. A detailed explanation of the interface " -"was written up as :pep:`100`, \"Python Unicode Integration\". This article " -"will simply cover the most significant points about the Unicode interfaces." -msgstr "" - -#: ../../whatsnew/2.0.rst:155 -msgid "" -"In Python source code, Unicode strings are written as ``u\"string\"``. " -"Arbitrary Unicode characters can be written using a new escape sequence, " -":samp:`\\\\u{HHHH}`, where *HHHH* is a 4-digit hexadecimal number from 0000 " -"to FFFF. The existing :samp:`\\\\x{HH}` escape sequence can also be used, " -"and octal escapes can be used for characters up to U+01FF, which is " -"represented by ``\\777``." -msgstr "" - -#: ../../whatsnew/2.0.rst:161 -msgid "" -"Unicode strings, just like regular strings, are an immutable sequence type. " -"They can be indexed and sliced, but not modified in place. Unicode strings " -"have an ``encode( [encoding] )`` method that returns an 8-bit string in the " -"desired encoding. Encodings are named by strings, such as ``'ascii'``, " -"``'utf-8'``, ``'iso-8859-1'``, or whatever. A codec API is defined for " -"implementing and registering new encodings that are then available " -"throughout a Python program. If an encoding isn't specified, the default " -"encoding is usually 7-bit ASCII, though it can be changed for your Python " -"installation by calling the ``sys.setdefaultencoding(encoding)`` function in" -" a customized version of :file:`site.py`." -msgstr "" - -#: ../../whatsnew/2.0.rst:172 -msgid "" -"Combining 8-bit and Unicode strings always coerces to Unicode, using the " -"default ASCII encoding; the result of ``'a' + u'bc'`` is ``u'abc'``." -msgstr "" - -#: ../../whatsnew/2.0.rst:175 -msgid "" -"New built-in functions have been added, and existing built-ins modified to " -"support Unicode:" -msgstr "" - -#: ../../whatsnew/2.0.rst:178 -msgid "" -"``unichr(ch)`` returns a Unicode string 1 character long, containing the " -"character *ch*." -msgstr "" - -#: ../../whatsnew/2.0.rst:181 -msgid "" -"``ord(u)``, where *u* is a 1-character regular or Unicode string, returns " -"the number of the character as an integer." -msgstr "" - -#: ../../whatsnew/2.0.rst:184 -msgid "" -"``unicode(string [, encoding] [, errors] )`` creates a Unicode string from " -"an 8-bit string. ``encoding`` is a string naming the encoding to use. The " -"``errors`` parameter specifies the treatment of characters that are invalid " -"for the current encoding; passing ``'strict'`` as the value causes an " -"exception to be raised on any encoding error, while ``'ignore'`` causes " -"errors to be silently ignored and ``'replace'`` uses U+FFFD, the official " -"replacement character, in case of any problems." -msgstr "" - -#: ../../whatsnew/2.0.rst:192 -msgid "" -"The ``exec`` statement, and various built-ins such as ``eval()``, " -"``getattr()``, and ``setattr()`` will also accept Unicode strings as well as" -" regular strings. (It's possible that the process of fixing this missed " -"some built-ins; if you find a built-in function that accepts strings but " -"doesn't accept Unicode strings at all, please report it as a bug.)" -msgstr "" - -#: ../../whatsnew/2.0.rst:198 -msgid "" -"A new module, :mod:`unicodedata`, provides an interface to Unicode character" -" properties. For example, ``unicodedata.category(u'A')`` returns the " -"2-character string 'Lu', the 'L' denoting it's a letter, and 'u' meaning " -"that it's uppercase. ``unicodedata.bidirectional(u'\\u0660')`` returns 'AN'," -" meaning that U+0660 is an Arabic number." -msgstr "" - -#: ../../whatsnew/2.0.rst:204 -msgid "" -"The :mod:`codecs` module contains functions to look up existing encodings " -"and register new ones. Unless you want to implement a new encoding, you'll " -"most often use the ``codecs.lookup(encoding)`` function, which returns a " -"4-element tuple: ``(encode_func, decode_func, stream_reader, " -"stream_writer)``." -msgstr "" - -#: ../../whatsnew/2.0.rst:209 -msgid "" -"*encode_func* is a function that takes a Unicode string, and returns a " -"2-tuple ``(string, length)``. *string* is an 8-bit string containing a " -"portion (perhaps all) of the Unicode string converted into the given " -"encoding, and *length* tells you how much of the Unicode string was " -"converted." -msgstr "" - -#: ../../whatsnew/2.0.rst:214 -msgid "" -"*decode_func* is the opposite of *encode_func*, taking an 8-bit string and " -"returning a 2-tuple ``(ustring, length)``, consisting of the resulting " -"Unicode string *ustring* and the integer *length* telling how much of the " -"8-bit string was consumed." -msgstr "" - -#: ../../whatsnew/2.0.rst:219 -msgid "" -"*stream_reader* is a class that supports decoding input from a stream. " -"*stream_reader(file_obj)* returns an object that supports the :meth:`!read`," -" :meth:`!readline`, and :meth:`!readlines` methods. These methods will all " -"translate from the given encoding and return Unicode strings." -msgstr "" - -#: ../../whatsnew/2.0.rst:224 -msgid "" -"*stream_writer*, similarly, is a class that supports encoding output to a " -"stream. *stream_writer(file_obj)* returns an object that supports the " -":meth:`!write` and :meth:`!writelines` methods. These methods expect " -"Unicode strings, translating them to the given encoding on output." -msgstr "" - -#: ../../whatsnew/2.0.rst:229 -msgid "" -"For example, the following code writes a Unicode string into a file, " -"encoding it as UTF-8::" -msgstr "" - -#: ../../whatsnew/2.0.rst:232 -msgid "" -"import codecs\n" -"\n" -"unistr = u'\\u0660\\u2000ab ...'\n" -"\n" -"(UTF8_encode, UTF8_decode,\n" -" UTF8_streamreader, UTF8_streamwriter) = codecs.lookup('UTF-8')\n" -"\n" -"output = UTF8_streamwriter( open( '/tmp/output', 'wb') )\n" -"output.write( unistr )\n" -"output.close()" -msgstr "" - -#: ../../whatsnew/2.0.rst:243 -msgid "The following code would then read UTF-8 input from the file::" -msgstr "" - -#: ../../whatsnew/2.0.rst:245 -msgid "" -"input = UTF8_streamreader( open( '/tmp/output', 'rb') )\n" -"print repr(input.read())\n" -"input.close()" -msgstr "" - -#: ../../whatsnew/2.0.rst:249 -msgid "" -"Unicode-aware regular expressions are available through the :mod:`re` " -"module, which has a new underlying implementation called SRE written by " -"Fredrik Lundh of Secret Labs AB." -msgstr "" - -#: ../../whatsnew/2.0.rst:253 -msgid "" -"A ``-U`` command line option was added which causes the Python compiler to " -"interpret all string literals as Unicode string literals. This is intended " -"to be used in testing and future-proofing your Python code, since some " -"future version of Python may drop support for 8-bit strings and provide only" -" Unicode strings." -msgstr "" - -#: ../../whatsnew/2.0.rst:262 -msgid "List Comprehensions" -msgstr "Daftar *List* *Comprehensions*" - -#: ../../whatsnew/2.0.rst:264 -msgid "" -"Lists are a workhorse data type in Python, and many programs manipulate a " -"list at some point. Two common operations on lists are to loop over them, " -"and either pick out the elements that meet a certain criterion, or apply " -"some function to each element. For example, given a list of strings, you " -"might want to pull out all the strings containing a given substring, or " -"strip off trailing whitespace from each line." -msgstr "" - -#: ../../whatsnew/2.0.rst:271 -msgid "" -"The existing :func:`map` and :func:`filter` functions can be used for this " -"purpose, but they require a function as one of their arguments. This is " -"fine if there's an existing built-in function that can be passed directly, " -"but if there isn't, you have to create a little function to do the required " -"work, and Python's scoping rules make the result ugly if the little function" -" needs additional information. Take the first example in the previous " -"paragraph, finding all the strings in the list containing a given substring." -" You could write the following to do it::" -msgstr "" - -#: ../../whatsnew/2.0.rst:280 -msgid "" -"# Given the list L, make a list of all strings\n" -"# containing the substring S.\n" -"sublist = filter( lambda s, substring=S:\n" -" string.find(s, substring) != -1,\n" -" L)" -msgstr "" - -#: ../../whatsnew/2.0.rst:286 -msgid "" -"Because of Python's scoping rules, a default argument is used so that the " -"anonymous function created by the :keyword:`lambda` expression knows what " -"substring is being searched for. List comprehensions make this cleaner::" -msgstr "" - -#: ../../whatsnew/2.0.rst:290 -msgid "sublist = [ s for s in L if string.find(s, S) != -1 ]" -msgstr "" - -#: ../../whatsnew/2.0.rst:292 -msgid "List comprehensions have the form::" -msgstr "" - -#: ../../whatsnew/2.0.rst:294 -msgid "" -"[ expression for expr in sequence1\n" -" for expr2 in sequence2 ...\n" -" for exprN in sequenceN\n" -" if condition ]" -msgstr "" - -#: ../../whatsnew/2.0.rst:299 -msgid "" -"The :keyword:`!for`...\\ :keyword:`!in` clauses contain the sequences to be " -"iterated over. The sequences do not have to be the same length, because " -"they are *not* iterated over in parallel, but from left to right; this is " -"explained more clearly in the following paragraphs. The elements of the " -"generated list will be the successive values of *expression*. The final " -":keyword:`!if` clause is optional; if present, *expression* is only " -"evaluated and added to the result if *condition* is true." -msgstr "" - -#: ../../whatsnew/2.0.rst:307 -msgid "" -"To make the semantics very clear, a list comprehension is equivalent to the " -"following Python code::" -msgstr "" - -#: ../../whatsnew/2.0.rst:310 -msgid "" -"for expr1 in sequence1:\n" -" for expr2 in sequence2:\n" -" ...\n" -" for exprN in sequenceN:\n" -" if (condition):\n" -" # Append the value of\n" -" # the expression to the\n" -" # resulting list." -msgstr "" - -#: ../../whatsnew/2.0.rst:319 -msgid "" -"This means that when there are multiple :keyword:`!for`...\\ :keyword:`!in` " -"clauses, the resulting list will be equal to the product of the lengths of " -"all the sequences. If you have two lists of length 3, the output list is 9 " -"elements long::" -msgstr "" - -#: ../../whatsnew/2.0.rst:324 -msgid "" -"seq1 = 'abc'\n" -"seq2 = (1,2,3)\n" -">>> [ (x,y) for x in seq1 for y in seq2]\n" -"[('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3), ('c', 1),\n" -"('c', 2), ('c', 3)]" -msgstr "" - -#: ../../whatsnew/2.0.rst:330 -msgid "" -"To avoid introducing an ambiguity into Python's grammar, if *expression* is " -"creating a tuple, it must be surrounded with parentheses. The first list " -"comprehension below is a syntax error, while the second one is correct::" -msgstr "" - -#: ../../whatsnew/2.0.rst:334 -msgid "" -"# Syntax error\n" -"[ x,y for x in seq1 for y in seq2]\n" -"# Correct\n" -"[ (x,y) for x in seq1 for y in seq2]" -msgstr "" - -#: ../../whatsnew/2.0.rst:339 -msgid "" -"The idea of list comprehensions originally comes from the functional " -"programming language Haskell (https://www.haskell.org). Greg Ewing argued " -"most effectively for adding them to Python and wrote the initial list " -"comprehension patch, which was then discussed for a seemingly endless time " -"on the python-dev mailing list and kept up-to-date by Skip Montanaro." -msgstr "" - -#: ../../whatsnew/2.0.rst:349 -msgid "Augmented Assignment" -msgstr "" - -#: ../../whatsnew/2.0.rst:351 -msgid "" -"Augmented assignment operators, another long-requested feature, have been " -"added to Python 2.0. Augmented assignment operators include ``+=``, ``-=``," -" ``*=``, and so forth. For example, the statement ``a += 2`` increments the" -" value of the variable ``a`` by 2, equivalent to the slightly lengthier ``a" -" = a + 2``." -msgstr "" - -#: ../../whatsnew/2.0.rst:356 -msgid "" -"The full list of supported assignment operators is ``+=``, ``-=``, ``*=``, " -"``/=``, ``%=``, ``**=``, ``&=``, ``|=``, ``^=``, ``>>=``, and ``<<=``. " -"Python classes can override the augmented assignment operators by defining " -"methods named :meth:`!__iadd__`, :meth:`!__isub__`, etc. For example, the " -"following :class:`!Number` class stores a number and supports using += to " -"create a new instance with an incremented value." -msgstr "" - -#: ../../whatsnew/2.0.rst:367 -msgid "" -"class Number:\n" -" def __init__(self, value):\n" -" self.value = value\n" -" def __iadd__(self, increment):\n" -" return Number( self.value + increment)\n" -"\n" -"n = Number(5)\n" -"n += 3\n" -"print n.value" -msgstr "" - -#: ../../whatsnew/2.0.rst:377 -msgid "" -"The :meth:`!__iadd__` special method is called with the value of the " -"increment, and should return a new instance with an appropriately modified " -"value; this return value is bound as the new value of the variable on the " -"left-hand side." -msgstr "" - -#: ../../whatsnew/2.0.rst:381 -msgid "" -"Augmented assignment operators were first introduced in the C programming " -"language, and most C-derived languages, such as :program:`awk`, C++, Java, " -"Perl, and PHP also support them. The augmented assignment patch was " -"implemented by Thomas Wouters." -msgstr "" - -#: ../../whatsnew/2.0.rst:390 -msgid "String Methods" -msgstr "" - -#: ../../whatsnew/2.0.rst:392 -msgid "" -"Until now string-manipulation functionality was in the :mod:`string` module," -" which was usually a front-end for the :mod:`!strop` module written in C. " -"The addition of Unicode posed a difficulty for the :mod:`!strop` module, " -"because the functions would all need to be rewritten in order to accept " -"either 8-bit or Unicode strings. For functions such as " -":func:`!string.replace`, which takes 3 string arguments, that means eight " -"possible permutations, and correspondingly complicated code." -msgstr "" - -#: ../../whatsnew/2.0.rst:400 -msgid "" -"Instead, Python 2.0 pushes the problem onto the string type, making string " -"manipulation functionality available through methods on both 8-bit strings " -"and Unicode strings. ::" -msgstr "" - -#: ../../whatsnew/2.0.rst:404 -msgid "" -">>> 'andrew'.capitalize()\n" -"'Andrew'\n" -">>> 'hostname'.replace('os', 'linux')\n" -"'hlinuxtname'\n" -">>> 'moshe'.find('sh')\n" -"2" -msgstr "" - -#: ../../whatsnew/2.0.rst:411 -msgid "" -"One thing that hasn't changed, a noteworthy April Fools' joke " -"notwithstanding, is that Python strings are immutable. Thus, the string " -"methods return new strings, and do not modify the string on which they " -"operate." -msgstr "" - -#: ../../whatsnew/2.0.rst:415 -msgid "" -"The old :mod:`string` module is still around for backwards compatibility, " -"but it mostly acts as a front-end to the new string methods." -msgstr "" - -#: ../../whatsnew/2.0.rst:418 -msgid "" -"Two methods which have no parallel in pre-2.0 versions, although they did " -"exist in JPython for quite some time, are :meth:`!startswith` and " -":meth:`!endswith`. ``s.startswith(t)`` is equivalent to ``s[:len(t)] == t``," -" while ``s.endswith(t)`` is equivalent to ``s[-len(t):] == t``." -msgstr "" - -#: ../../whatsnew/2.0.rst:423 -msgid "" -"One other method which deserves special mention is :meth:`!join`. The " -":meth:`!join` method of a string receives one parameter, a sequence of " -"strings, and is equivalent to the :func:`!string.join` function from the old" -" :mod:`string` module, with the arguments reversed. In other words, " -"``s.join(seq)`` is equivalent to the old ``string.join(seq, s)``." -msgstr "" - -#: ../../whatsnew/2.0.rst:433 -msgid "Garbage Collection of Cycles" -msgstr "" - -#: ../../whatsnew/2.0.rst:435 -msgid "" -"The C implementation of Python uses reference counting to implement garbage " -"collection. Every Python object maintains a count of the number of " -"references pointing to itself, and adjusts the count as references are " -"created or destroyed. Once the reference count reaches zero, the object is " -"no longer accessible, since you need to have a reference to an object to " -"access it, and if the count is zero, no references exist any longer." -msgstr "" - -#: ../../whatsnew/2.0.rst:442 -msgid "" -"Reference counting has some pleasant properties: it's easy to understand and" -" implement, and the resulting implementation is portable, fairly fast, and " -"reacts well with other libraries that implement their own memory handling " -"schemes. The major problem with reference counting is that it sometimes " -"doesn't realise that objects are no longer accessible, resulting in a memory" -" leak. This happens when there are cycles of references." -msgstr "" - -#: ../../whatsnew/2.0.rst:449 -msgid "" -"Consider the simplest possible cycle, a class instance which has a " -"reference to itself::" -msgstr "" - -#: ../../whatsnew/2.0.rst:452 -msgid "" -"instance = SomeClass()\n" -"instance.myself = instance" -msgstr "" - -#: ../../whatsnew/2.0.rst:455 -msgid "" -"After the above two lines of code have been executed, the reference count of" -" ``instance`` is 2; one reference is from the variable named ``'instance'``," -" and the other is from the ``myself`` attribute of the instance." -msgstr "" - -#: ../../whatsnew/2.0.rst:459 -msgid "" -"If the next line of code is ``del instance``, what happens? The reference " -"count of ``instance`` is decreased by 1, so it has a reference count of 1; " -"the reference in the ``myself`` attribute still exists. Yet the instance is" -" no longer accessible through Python code, and it could be deleted. Several" -" objects can participate in a cycle if they have references to each other, " -"causing all of the objects to be leaked." -msgstr "" - -#: ../../whatsnew/2.0.rst:466 -msgid "" -"Python 2.0 fixes this problem by periodically executing a cycle detection " -"algorithm which looks for inaccessible cycles and deletes the objects " -"involved. A new :mod:`gc` module provides functions to perform a garbage " -"collection, obtain debugging statistics, and tuning the collector's " -"parameters." -msgstr "" - -#: ../../whatsnew/2.0.rst:471 -msgid "" -"Running the cycle detection algorithm takes some time, and therefore will " -"result in some additional overhead. It is hoped that after we've gotten " -"experience with the cycle collection from using 2.0, Python 2.1 will be able" -" to minimize the overhead with careful tuning. It's not yet obvious how " -"much performance is lost, because benchmarking this is tricky and depends " -"crucially on how often the program creates and destroys objects. The " -"detection of cycles can be disabled when Python is compiled, if you can't " -"afford even a tiny speed penalty or suspect that the cycle collection is " -"buggy, by specifying the :option:`!--without-cycle-gc` switch when running " -"the :program:`configure` script." -msgstr "" - -#: ../../whatsnew/2.0.rst:482 -msgid "" -"Several people tackled this problem and contributed to a solution. An early" -" implementation of the cycle detection approach was written by Toby Kelsey." -" The current algorithm was suggested by Eric Tiedemann during a visit to " -"CNRI, and Guido van Rossum and Neil Schemenauer wrote two different " -"implementations, which were later integrated by Neil. Lots of other people " -"offered suggestions along the way; the March 2000 archives of the python-dev" -" mailing list contain most of the relevant discussion, especially in the " -"threads titled \"Reference cycle collection for Python\" and \"Finalization " -"again\"." -msgstr "" - -#: ../../whatsnew/2.0.rst:495 -msgid "Other Core Changes" -msgstr "" - -#: ../../whatsnew/2.0.rst:497 -msgid "" -"Various minor changes have been made to Python's syntax and built-in " -"functions. None of the changes are very far-reaching, but they're handy " -"conveniences." -msgstr "" - -#: ../../whatsnew/2.0.rst:502 -msgid "Minor Language Changes" -msgstr "" - -#: ../../whatsnew/2.0.rst:504 -msgid "" -"A new syntax makes it more convenient to call a given function with a tuple " -"of arguments and/or a dictionary of keyword arguments. In Python 1.5 and " -"earlier, you'd use the :func:`!apply` built-in function: ``apply(f, args, " -"kw)`` calls the function :func:`!f` with the argument tuple *args* and the " -"keyword arguments in the dictionary *kw*. :func:`!apply` is the same in " -"2.0, but thanks to a patch from Greg Ewing, ``f(*args, **kw)`` is a shorter " -"and clearer way to achieve the same effect. This syntax is symmetrical with" -" the syntax for defining functions::" -msgstr "" - -#: ../../whatsnew/2.0.rst:513 -msgid "" -"def f(*args, **kw):\n" -" # args is a tuple of positional args,\n" -" # kw is a dictionary of keyword args\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.0.rst:518 -msgid "" -"The ``print`` statement can now have its output directed to a file-like " -"object by following the ``print`` with ``>> file``, similar to the " -"redirection operator in Unix shells. Previously you'd either have to use the" -" :meth:`!write` method of the file-like object, which lacks the convenience " -"and simplicity of ``print``, or you could assign a new value to " -"``sys.stdout`` and then restore the old value. For sending output to " -"standard error, it's much easier to write this::" -msgstr "" - -#: ../../whatsnew/2.0.rst:526 -msgid "print >> sys.stderr, \"Warning: action field not supplied\"" -msgstr "" - -#: ../../whatsnew/2.0.rst:528 -msgid "" -"Modules can now be renamed on importing them, using the syntax ``import " -"module as name`` or ``from module import name as othername``. The patch was" -" submitted by Thomas Wouters." -msgstr "" - -#: ../../whatsnew/2.0.rst:532 -msgid "" -"A new format style is available when using the ``%`` operator; '%r' will " -"insert the :func:`repr` of its argument. This was also added from symmetry " -"considerations, this time for symmetry with the existing '%s' format style, " -"which inserts the :func:`str` of its argument. For example, ``'%r %s' % " -"('abc', 'abc')`` returns a string containing ``'abc' abc``." -msgstr "" - -#: ../../whatsnew/2.0.rst:538 -msgid "" -"Previously there was no way to implement a class that overrode Python's " -"built-in :keyword:`in` operator and implemented a custom version. ``obj in " -"seq`` returns true if *obj* is present in the sequence *seq*; Python " -"computes this by simply trying every index of the sequence until either " -"*obj* is found or an :exc:`IndexError` is encountered. Moshe Zadka " -"contributed a patch which adds a :meth:`!__contains__` magic method for " -"providing a custom implementation for :keyword:`!in`. Additionally, new " -"built-in objects written in C can define what :keyword:`!in` means for them " -"via a new slot in the sequence protocol." -msgstr "" - -#: ../../whatsnew/2.0.rst:547 -msgid "" -"Earlier versions of Python used a recursive algorithm for deleting objects. " -"Deeply nested data structures could cause the interpreter to fill up the C " -"stack and crash; Christian Tismer rewrote the deletion logic to fix this " -"problem. On a related note, comparing recursive objects recursed infinitely" -" and crashed; Jeremy Hylton rewrote the code to no longer crash, producing a" -" useful result instead. For example, after this code::" -msgstr "" - -#: ../../whatsnew/2.0.rst:554 -msgid "" -"a = []\n" -"b = []\n" -"a.append(a)\n" -"b.append(b)" -msgstr "" - -#: ../../whatsnew/2.0.rst:559 -msgid "" -"The comparison ``a==b`` returns true, because the two recursive data " -"structures are isomorphic. See the thread \"trashcan and PR#7\" in the April" -" 2000 archives of the python-dev mailing list for the discussion leading up " -"to this implementation, and some useful relevant links. Note that " -"comparisons can now also raise exceptions. In earlier versions of Python, a " -"comparison operation such as ``cmp(a,b)`` would always produce an answer, " -"even if a user-defined :meth:`!__cmp__` method encountered an error, since " -"the resulting exception would simply be silently swallowed." -msgstr "" - -#: ../../whatsnew/2.0.rst:571 -msgid "" -"Work has been done on porting Python to 64-bit Windows on the Itanium " -"processor, mostly by Trent Mick of ActiveState. (Confusingly, " -"``sys.platform`` is still ``'win32'`` on Win64 because it seems that for " -"ease of porting, MS Visual C++ treats code as 32 bit on Itanium.) PythonWin " -"also supports Windows CE; see the Python CE page at " -"https://pythonce.sourceforge.net/ for more information." -msgstr "" - -#: ../../whatsnew/2.0.rst:577 -msgid "" -"Another new platform is Darwin/MacOS X; initial support for it is in Python " -"2.0. Dynamic loading works, if you specify \"configure --with-dyld --with-" -"suffix=.x\". Consult the README in the Python source distribution for more " -"instructions." -msgstr "" - -#: ../../whatsnew/2.0.rst:581 -msgid "" -"An attempt has been made to alleviate one of Python's warts, the often-" -"confusing :exc:`NameError` exception when code refers to a local variable " -"before the variable has been assigned a value. For example, the following " -"code raises an exception on the ``print`` statement in both 1.5.2 and 2.0; " -"in 1.5.2 a :exc:`NameError` exception is raised, while 2.0 raises a new " -":exc:`UnboundLocalError` exception. :exc:`UnboundLocalError` is a subclass " -"of :exc:`NameError`, so any existing code that expects :exc:`NameError` to " -"be raised should still work. ::" -msgstr "" - -#: ../../whatsnew/2.0.rst:590 -msgid "" -"def f():\n" -" print \"i=\",i\n" -" i = i + 1\n" -"f()" -msgstr "" - -#: ../../whatsnew/2.0.rst:595 -msgid "" -"Two new exceptions, :exc:`TabError` and :exc:`IndentationError`, have been " -"introduced. They're both subclasses of :exc:`SyntaxError`, and are raised " -"when Python code is found to be improperly indented." -msgstr "" - -#: ../../whatsnew/2.0.rst:601 -msgid "Changes to Built-in Functions" -msgstr "" - -#: ../../whatsnew/2.0.rst:603 -msgid "" -"A new built-in, ``zip(seq1, seq2, ...)``, has been added. :func:`zip` " -"returns a list of tuples where each tuple contains the i-th element from " -"each of the argument sequences. The difference between :func:`zip` and " -"``map(None, seq1, seq2)`` is that :func:`map` pads the sequences with " -"``None`` if the sequences aren't all of the same length, while :func:`zip` " -"truncates the returned list to the length of the shortest argument sequence." -msgstr "" - -#: ../../whatsnew/2.0.rst:610 -msgid "" -"The :func:`int` and :func:`!long` functions now accept an optional \"base\" " -"parameter when the first argument is a string. ``int('123', 10)`` returns " -"123, while ``int('123', 16)`` returns 291. ``int(123, 16)`` raises a " -":exc:`TypeError` exception with the message \"can't convert non-string with " -"explicit base\"." -msgstr "" - -#: ../../whatsnew/2.0.rst:616 -msgid "" -"A new variable holding more detailed version information has been added to " -"the :mod:`sys` module. ``sys.version_info`` is a tuple ``(major, minor, " -"micro, level, serial)`` For example, in a hypothetical 2.0.1beta1, " -"``sys.version_info`` would be ``(2, 0, 1, 'beta', 1)``. *level* is a string " -"such as ``\"alpha\"``, ``\"beta\"``, or ``\"final\"`` for a final release." -msgstr "" - -#: ../../whatsnew/2.0.rst:622 -msgid "" -"Dictionaries have an odd new method, ``setdefault(key, default)``, which " -"behaves similarly to the existing :meth:`!get` method. However, if the key " -"is missing, :meth:`!setdefault` both returns the value of *default* as " -":meth:`!get` would do, and also inserts it into the dictionary as the value " -"for *key*. Thus, the following lines of code::" -msgstr "" - -#: ../../whatsnew/2.0.rst:628 -msgid "" -"if dict.has_key( key ): return dict[key]\n" -"else:\n" -" dict[key] = []\n" -" return dict[key]" -msgstr "" - -#: ../../whatsnew/2.0.rst:633 -msgid "" -"can be reduced to a single ``return dict.setdefault(key, [])`` statement." -msgstr "" - -#: ../../whatsnew/2.0.rst:635 -msgid "" -"The interpreter sets a maximum recursion depth in order to catch runaway " -"recursion before filling the C stack and causing a core dump or GPF.. " -"Previously this limit was fixed when you compiled Python, but in 2.0 the " -"maximum recursion depth can be read and modified using " -":func:`sys.getrecursionlimit` and :func:`sys.setrecursionlimit`. The default" -" value is 1000, and a rough maximum value for a given platform can be found " -"by running a new script, :file:`Misc/find_recursionlimit.py`." -msgstr "" - -#: ../../whatsnew/2.0.rst:647 -msgid "Porting to 2.0" -msgstr "" - -#: ../../whatsnew/2.0.rst:649 -msgid "" -"New Python releases try hard to be compatible with previous releases, and " -"the record has been pretty good. However, some changes are considered " -"useful enough, usually because they fix initial design decisions that turned" -" out to be actively mistaken, that breaking backward compatibility can't " -"always be avoided. This section lists the changes in Python 2.0 that may " -"cause old Python code to break." -msgstr "" - -#: ../../whatsnew/2.0.rst:656 -msgid "" -"The change which will probably break the most code is tightening up the " -"arguments accepted by some methods. Some methods would take multiple " -"arguments and treat them as a tuple, particularly various list methods such " -"as :meth:`!append` and :meth:`!insert`. In earlier versions of Python, if " -"``L`` is a list, ``L.append( 1,2 )`` appends the tuple ``(1,2)`` to the " -"list. In Python 2.0 this causes a :exc:`TypeError` exception to be raised, " -"with the message: 'append requires exactly 1 argument; 2 given'. The fix is" -" to simply add an extra set of parentheses to pass both values as a tuple: " -"``L.append( (1,2) )``." -msgstr "" - -#: ../../whatsnew/2.0.rst:665 -msgid "" -"The earlier versions of these methods were more forgiving because they used " -"an old function in Python's C interface to parse their arguments; 2.0 " -"modernizes them to use :c:func:`PyArg_ParseTuple`, the current argument " -"parsing function, which provides more helpful error messages and treats " -"multi-argument calls as errors. If you absolutely must use 2.0 but can't " -"fix your code, you can edit :file:`Objects/listobject.c` and define the " -"preprocessor symbol ``NO_STRICT_LIST_APPEND`` to preserve the old behaviour;" -" this isn't recommended." -msgstr "" - -#: ../../whatsnew/2.0.rst:673 -msgid "" -"Some of the functions in the :mod:`socket` module are still forgiving in " -"this way. For example, ``socket.connect( ('hostname', 25) )`` is the " -"correct form, passing a tuple representing an IP address, but " -"``socket.connect('hostname', 25)`` also works. :meth:`socket.connect_ex " -"` and :meth:`socket.bind ` are" -" similarly easy-going. 2.0alpha1 tightened these functions up, but because " -"the documentation actually used the erroneous multiple argument form, many " -"people wrote code which would break with the stricter checking. GvR backed " -"out the changes in the face of public reaction, so for the :mod:`socket` " -"module, the documentation was fixed and the multiple argument form is simply" -" marked as deprecated; it *will* be tightened up again in a future Python " -"version." -msgstr "" - -#: ../../whatsnew/2.0.rst:684 -msgid "" -"The ``\\x`` escape in string literals now takes exactly 2 hex digits. " -"Previously it would consume all the hex digits following the 'x' and take " -"the lowest 8 bits of the result, so ``\\x123456`` was equivalent to " -"``\\x56``." -msgstr "" - -#: ../../whatsnew/2.0.rst:688 -msgid "" -"The :exc:`AttributeError` and :exc:`NameError` exceptions have a more " -"friendly error message, whose text will be something like ``'Spam' instance " -"has no attribute 'eggs'`` or ``name 'eggs' is not defined``. Previously the" -" error message was just the missing attribute name ``eggs``, and code " -"written to take advantage of this fact will break in 2.0." -msgstr "" - -#: ../../whatsnew/2.0.rst:694 -msgid "" -"Some work has been done to make integers and long integers a bit more " -"interchangeable. In 1.5.2, large-file support was added for Solaris, to " -"allow reading files larger than 2 GiB; this made the :meth:`!tell` method of" -" file objects return a long integer instead of a regular integer. Some code" -" would subtract two file offsets and attempt to use the result to multiply a" -" sequence or slice a string, but this raised a :exc:`TypeError`. In 2.0, " -"long integers can be used to multiply or slice a sequence, and it'll behave " -"as you'd intuitively expect it to; ``3L * 'abc'`` produces 'abcabcabc', and " -"``(0,1,2,3)[2L:4L]`` produces (2,3). Long integers can also be used in " -"various contexts where previously only integers were accepted, such as in " -"the :meth:`!seek` method of file objects, and in the formats supported by " -"the ``%`` operator (``%d``, ``%i``, ``%x``, etc.). For example, ``\"%d\" % " -"2L**64`` will produce the string ``18446744073709551616``." -msgstr "" - -#: ../../whatsnew/2.0.rst:708 -msgid "" -"The subtlest long integer change of all is that the :func:`str` of a long " -"integer no longer has a trailing 'L' character, though :func:`repr` still " -"includes it. The 'L' annoyed many people who wanted to print long integers " -"that looked just like regular integers, since they had to go out of their " -"way to chop off the character. This is no longer a problem in 2.0, but code" -" which does ``str(longval)[:-1]`` and assumes the 'L' is there, will now " -"lose the final digit." -msgstr "" - -#: ../../whatsnew/2.0.rst:716 -msgid "" -"Taking the :func:`repr` of a float now uses a different formatting precision" -" than :func:`str`. :func:`repr` uses ``%.17g`` format string for C's " -":func:`!sprintf`, while :func:`str` uses ``%.12g`` as before. The effect is" -" that :func:`repr` may occasionally show more decimal places than " -":func:`str`, for certain numbers. For example, the number 8.1 can't be " -"represented exactly in binary, so ``repr(8.1)`` is ``'8.0999999999999996'``," -" while str(8.1) is ``'8.1'``." -msgstr "" - -#: ../../whatsnew/2.0.rst:724 -msgid "" -"The ``-X`` command-line option, which turned all standard exceptions into " -"strings instead of classes, has been removed; the standard exceptions will " -"now always be classes. The :mod:`!exceptions` module containing the " -"standard exceptions was translated from Python to a built-in C module, " -"written by Barry Warsaw and Fredrik Lundh." -msgstr "" - -#: ../../whatsnew/2.0.rst:740 -msgid "Extending/Embedding Changes" -msgstr "" - -#: ../../whatsnew/2.0.rst:742 -msgid "" -"Some of the changes are under the covers, and will only be apparent to " -"people writing C extension modules or embedding a Python interpreter in a " -"larger application. If you aren't dealing with Python's C API, you can " -"safely skip this section." -msgstr "" - -#: ../../whatsnew/2.0.rst:747 -msgid "" -"The version number of the Python C API was incremented, so C extensions " -"compiled for 1.5.2 must be recompiled in order to work with 2.0. On " -"Windows, it's not possible for Python 2.0 to import a third party extension " -"built for Python 1.5.x due to how Windows DLLs work, so Python will raise an" -" exception and the import will fail." -msgstr "" - -#: ../../whatsnew/2.0.rst:753 -msgid "" -"Users of Jim Fulton's ExtensionClass module will be pleased to find out that" -" hooks have been added so that ExtensionClasses are now supported by " -":func:`isinstance` and :func:`issubclass`. This means you no longer have to " -"remember to write code such as ``if type(obj) == myExtensionClass``, but can" -" use the more natural ``if isinstance(obj, myExtensionClass)``." -msgstr "" - -#: ../../whatsnew/2.0.rst:759 -msgid "" -"The :file:`Python/importdl.c` file, which was a mass of #ifdefs to support " -"dynamic loading on many different platforms, was cleaned up and reorganised " -"by Greg Stein. :file:`importdl.c` is now quite small, and platform-specific" -" code has been moved into a bunch of :file:`Python/dynload_\\*.c` files. " -"Another cleanup: there were also a number of :file:`my\\*.h` files in the " -"Include/ directory that held various portability hacks; they've been merged " -"into a single file, :file:`Include/pyport.h`." -msgstr "" - -#: ../../whatsnew/2.0.rst:767 -msgid "" -"Vladimir Marangozov's long-awaited malloc restructuring was completed, to " -"make it easy to have the Python interpreter use a custom allocator instead " -"of C's standard :c:func:`malloc`. For documentation, read the comments in " -":file:`Include/pymem.h` and :file:`Include/objimpl.h`. For the lengthy " -"discussions during which the interface was hammered out, see the web " -"archives of the 'patches' and 'python-dev' lists at python.org." -msgstr "" - -#: ../../whatsnew/2.0.rst:774 -msgid "" -"Recent versions of the GUSI development environment for MacOS support POSIX " -"threads. Therefore, Python's POSIX threading support now works on the " -"Macintosh. Threading support using the user-space GNU ``pth`` library was " -"also contributed." -msgstr "" - -#: ../../whatsnew/2.0.rst:779 -msgid "" -"Threading support on Windows was enhanced, too. Windows supports thread " -"locks that use kernel objects only in case of contention; in the common case" -" when there's no contention, they use simpler functions which are an order " -"of magnitude faster. A threaded version of Python 1.5.2 on NT is twice as " -"slow as an unthreaded version; with the 2.0 changes, the difference is only " -"10%. These improvements were contributed by Yakov Markovitch." -msgstr "" - -#: ../../whatsnew/2.0.rst:786 -msgid "" -"Python 2.0's source now uses only ANSI C prototypes, so compiling Python now" -" requires an ANSI C compiler, and can no longer be done using a compiler " -"that only supports K&R C." -msgstr "" - -#: ../../whatsnew/2.0.rst:790 -msgid "" -"Previously the Python virtual machine used 16-bit numbers in its bytecode, " -"limiting the size of source files. In particular, this affected the maximum" -" size of literal lists and dictionaries in Python source; occasionally " -"people who are generating Python code would run into this limit. A patch by" -" Charles G. Waldman raises the limit from ``2**16`` to ``2**32``." -msgstr "" - -#: ../../whatsnew/2.0.rst:796 -msgid "" -"Three new convenience functions intended for adding constants to a module's " -"dictionary at module initialization time were added: " -":c:func:`PyModule_AddObject`, :c:func:`PyModule_AddIntConstant`, and " -":c:func:`PyModule_AddStringConstant`. Each of these functions takes a " -"module object, a null-terminated C string containing the name to be added, " -"and a third argument for the value to be assigned to the name. This third " -"argument is, respectively, a Python object, a C long, or a C string." -msgstr "" - -#: ../../whatsnew/2.0.rst:804 -msgid "" -"A wrapper API was added for Unix-style signal handlers. " -":c:func:`PyOS_getsig` gets a signal handler and :c:func:`PyOS_setsig` will " -"set a new handler." -msgstr "" - -#: ../../whatsnew/2.0.rst:811 -msgid "Distutils: Making Modules Easy to Install" -msgstr "" - -#: ../../whatsnew/2.0.rst:813 -msgid "" -"Before Python 2.0, installing modules was a tedious affair -- there was no " -"way to figure out automatically where Python is installed, or what compiler " -"options to use for extension modules. Software authors had to go through an" -" arduous ritual of editing Makefiles and configuration files, which only " -"really work on Unix and leave Windows and MacOS unsupported. Python users " -"faced wildly differing installation instructions which varied between " -"different extension packages, which made administering a Python installation" -" something of a chore." -msgstr "" - -#: ../../whatsnew/2.0.rst:821 -msgid "" -"The SIG for distribution utilities, shepherded by Greg Ward, has created the" -" Distutils, a system to make package installation much easier. They form " -"the ``distutils`` package, a new part of Python's standard library. In the " -"best case, installing a Python module from source will require the same " -"steps: first you simply mean unpack the tarball or zip archive, and the run " -"\"``python setup.py install``\". The platform will be automatically " -"detected, the compiler will be recognized, C extension modules will be " -"compiled, and the distribution installed into the proper directory. " -"Optional command-line arguments provide more control over the installation " -"process, the distutils package offers many places to override defaults -- " -"separating the build from the install, building or installing in non-default" -" directories, and more." -msgstr "" - -#: ../../whatsnew/2.0.rst:833 -msgid "" -"In order to use the Distutils, you need to write a :file:`setup.py` script." -" For the simple case, when the software contains only .py files, a minimal " -":file:`setup.py` can be just a few lines long::" -msgstr "" - -#: ../../whatsnew/2.0.rst:837 -msgid "" -"from distutils.core import setup\n" -"setup (name = \"foo\", version = \"1.0\",\n" -" py_modules = [\"module1\", \"module2\"])" -msgstr "" - -#: ../../whatsnew/2.0.rst:841 -msgid "" -"The :file:`setup.py` file isn't much more complicated if the software " -"consists of a few packages::" -msgstr "" - -#: ../../whatsnew/2.0.rst:844 -msgid "" -"from distutils.core import setup\n" -"setup (name = \"foo\", version = \"1.0\",\n" -" packages = [\"package\", \"package.subpackage\"])" -msgstr "" - -#: ../../whatsnew/2.0.rst:848 -msgid "" -"A C extension can be the most complicated case; here's an example taken from" -" the PyXML package::" -msgstr "" - -#: ../../whatsnew/2.0.rst:851 -msgid "" -"from distutils.core import setup, Extension\n" -"\n" -"expat_extension = Extension('xml.parsers.pyexpat',\n" -" define_macros = [('XML_NS', None)],\n" -" include_dirs = [ 'extensions/expat/xmltok',\n" -" 'extensions/expat/xmlparse' ],\n" -" sources = [ 'extensions/pyexpat.c',\n" -" 'extensions/expat/xmltok/xmltok.c',\n" -" 'extensions/expat/xmltok/xmlrole.c', ]\n" -" )\n" -"setup (name = \"PyXML\", version = \"0.5.4\",\n" -" ext_modules =[ expat_extension ] )" -msgstr "" - -#: ../../whatsnew/2.0.rst:864 -msgid "" -"The Distutils can also take care of creating source and binary " -"distributions. The \"sdist\" command, run by \"``python setup.py sdist``', " -"builds a source distribution such as :file:`foo-1.0.tar.gz`. Adding new " -"commands isn't difficult, \"bdist_rpm\" and \"bdist_wininst\" commands have " -"already been contributed to create an RPM distribution and a Windows " -"installer for the software, respectively. Commands to create other " -"distribution formats such as Debian packages and Solaris :file:`.pkg` files " -"are in various stages of development." -msgstr "" - -#: ../../whatsnew/2.0.rst:873 -msgid "" -"All this is documented in a new manual, *Distributing Python Modules*, that " -"joins the basic set of Python documentation." -msgstr "" - -#: ../../whatsnew/2.0.rst:880 -msgid "XML Modules" -msgstr "" - -#: ../../whatsnew/2.0.rst:882 -msgid "" -"Python 1.5.2 included a simple XML parser in the form of the :mod:`!xmllib` " -"module, contributed by Sjoerd Mullender. Since 1.5.2's release, two " -"different interfaces for processing XML have become common: SAX2 (version 2 " -"of the Simple API for XML) provides an event-driven interface with some " -"similarities to :mod:`!xmllib`, and the DOM (Document Object Model) provides" -" a tree-based interface, transforming an XML document into a tree of nodes " -"that can be traversed and modified. Python 2.0 includes a SAX2 interface " -"and a stripped-down DOM interface as part of the :mod:`xml` package. Here we" -" will give a brief overview of these new interfaces; consult the Python " -"documentation or the source code for complete details. The Python XML SIG is" -" also working on improved documentation." -msgstr "" - -#: ../../whatsnew/2.0.rst:896 -msgid "SAX2 Support" -msgstr "" - -#: ../../whatsnew/2.0.rst:898 -msgid "" -"SAX defines an event-driven interface for parsing XML. To use SAX, you must" -" write a SAX handler class. Handler classes inherit from various classes " -"provided by SAX, and override various methods that will then be called by " -"the XML parser. For example, the " -":meth:`~xml.sax.handler.ContentHandler.startElement` and " -":meth:`~xml.sax.handler.ContentHandler.endElement` methods are called for " -"every starting and end tag encountered by the parser, the " -":meth:`~xml.sax.handler.ContentHandler.characters` method is called for " -"every chunk of character data, and so forth." -msgstr "" - -#: ../../whatsnew/2.0.rst:906 -msgid "" -"The advantage of the event-driven approach is that the whole document " -"doesn't have to be resident in memory at any one time, which matters if you " -"are processing really huge documents. However, writing the SAX handler " -"class can get very complicated if you're trying to modify the document " -"structure in some elaborate way." -msgstr "" - -#: ../../whatsnew/2.0.rst:912 -msgid "" -"For example, this little example program defines a handler that prints a " -"message for every starting and ending tag, and then parses the file " -":file:`hamlet.xml` using it::" -msgstr "" - -#: ../../whatsnew/2.0.rst:916 -msgid "" -"from xml import sax\n" -"\n" -"class SimpleHandler(sax.ContentHandler):\n" -" def startElement(self, name, attrs):\n" -" print 'Start of element:', name, attrs.keys()\n" -"\n" -" def endElement(self, name):\n" -" print 'End of element:', name\n" -"\n" -"# Create a parser object\n" -"parser = sax.make_parser()\n" -"\n" -"# Tell it what handler to use\n" -"handler = SimpleHandler()\n" -"parser.setContentHandler( handler )\n" -"\n" -"# Parse a file!\n" -"parser.parse( 'hamlet.xml' )" -msgstr "" - -#: ../../whatsnew/2.0.rst:935 -msgid "" -"For more information, consult the Python documentation, or the XML HOWTO at " -"https://pyxml.sourceforge.net/topics/howto/xml-howto.html." -msgstr "" - -#: ../../whatsnew/2.0.rst:940 -msgid "DOM Support" -msgstr "" - -#: ../../whatsnew/2.0.rst:942 -msgid "" -"The Document Object Model is a tree-based representation for an XML " -"document. A top-level :class:`!Document` instance is the root of the tree, " -"and has a single child which is the top-level :class:`!Element` instance. " -"This :class:`!Element` has children nodes representing character data and " -"any sub-elements, which may have further children of their own, and so " -"forth. Using the DOM you can traverse the resulting tree any way you like, " -"access element and attribute values, insert and delete nodes, and convert " -"the tree back into XML." -msgstr "" - -#: ../../whatsnew/2.0.rst:950 -msgid "" -"The DOM is useful for modifying XML documents, because you can create a DOM " -"tree, modify it by adding new nodes or rearranging subtrees, and then " -"produce a new XML document as output. You can also construct a DOM tree " -"manually and convert it to XML, which can be a more flexible way of " -"producing XML output than simply writing ````...\\ ```` to a " -"file." -msgstr "" - -#: ../../whatsnew/2.0.rst:956 -msgid "" -"The DOM implementation included with Python lives in the " -":mod:`xml.dom.minidom` module. It's a lightweight implementation of the " -"Level 1 DOM with support for XML namespaces. The :func:`!parse` and " -":func:`!parseString` convenience functions are provided for generating a DOM" -" tree::" -msgstr "" - -#: ../../whatsnew/2.0.rst:961 -msgid "" -"from xml.dom import minidom\n" -"doc = minidom.parse('hamlet.xml')" -msgstr "" - -#: ../../whatsnew/2.0.rst:964 -msgid "" -"``doc`` is a :class:`!Document` instance. :class:`!Document`, like all the " -"other DOM classes such as :class:`!Element` and :class:`Text`, is a subclass" -" of the :class:`!Node` base class. All the nodes in a DOM tree therefore " -"support certain common methods, such as :meth:`!toxml` which returns a " -"string containing the XML representation of the node and its children. Each" -" class also has special methods of its own; for example, :class:`!Element` " -"and :class:`!Document` instances have a method to find all child elements " -"with a given tag name. Continuing from the previous 2-line example::" -msgstr "" - -#: ../../whatsnew/2.0.rst:973 -msgid "" -"perslist = doc.getElementsByTagName( 'PERSONA' )\n" -"print perslist[0].toxml()\n" -"print perslist[1].toxml()" -msgstr "" - -#: ../../whatsnew/2.0.rst:977 -msgid "For the *Hamlet* XML file, the above few lines output::" -msgstr "" - -#: ../../whatsnew/2.0.rst:979 -msgid "" -"CLAUDIUS, king of Denmark. \n" -"HAMLET, son to the late, and nephew to the present king." -msgstr "" - -#: ../../whatsnew/2.0.rst:982 -msgid "" -"The root element of the document is available as ``doc.documentElement``, " -"and its children can be easily modified by deleting, adding, or removing " -"nodes::" -msgstr "" - -#: ../../whatsnew/2.0.rst:985 -msgid "" -"root = doc.documentElement\n" -"\n" -"# Remove the first child\n" -"root.removeChild( root.childNodes[0] )\n" -"\n" -"# Move the new first child to the end\n" -"root.appendChild( root.childNodes[0] )\n" -"\n" -"# Insert the new first child (originally,\n" -"# the third child) before the 20th child.\n" -"root.insertBefore( root.childNodes[0], root.childNodes[20] )" -msgstr "" - -#: ../../whatsnew/2.0.rst:997 -msgid "" -"Again, I will refer you to the Python documentation for a complete listing " -"of the different :class:`!Node` classes and their various methods." -msgstr "" - -#: ../../whatsnew/2.0.rst:1002 -msgid "Relationship to PyXML" -msgstr "" - -#: ../../whatsnew/2.0.rst:1004 -msgid "" -"The XML Special Interest Group has been working on XML-related Python code " -"for a while. Its code distribution, called PyXML, is available from the " -"SIG's web pages at https://www.python.org/community/sigs/current/xml-sig. " -"The PyXML distribution also used the package name ``xml``. If you've " -"written programs that used PyXML, you're probably wondering about its " -"compatibility with the 2.0 :mod:`xml` package." -msgstr "" - -#: ../../whatsnew/2.0.rst:1010 -msgid "" -"The answer is that Python 2.0's :mod:`xml` package isn't compatible with " -"PyXML, but can be made compatible by installing a recent version PyXML. " -"Many applications can get by with the XML support that is included with " -"Python 2.0, but more complicated applications will require that the full " -"PyXML package will be installed. When installed, PyXML versions 0.6.0 or " -"greater will replace the :mod:`xml` package shipped with Python, and will be" -" a strict superset of the standard package, adding a bunch of additional " -"features. Some of the additional features in PyXML include:" -msgstr "" - -#: ../../whatsnew/2.0.rst:1019 -msgid "4DOM, a full DOM implementation from FourThought, Inc." -msgstr "" - -#: ../../whatsnew/2.0.rst:1021 -msgid "The xmlproc validating parser, written by Lars Marius Garshol." -msgstr "" - -#: ../../whatsnew/2.0.rst:1023 -msgid "" -"The :mod:`!sgmlop` parser accelerator module, written by Fredrik Lundh." -msgstr "" - -#: ../../whatsnew/2.0.rst:1029 -msgid "Module changes" -msgstr "" - -#: ../../whatsnew/2.0.rst:1031 -msgid "" -"Lots of improvements and bugfixes were made to Python's extensive standard " -"library; some of the affected modules include :mod:`readline`, " -":mod:`ConfigParser `, :mod:`!cgi`, :mod:`calendar`, " -":mod:`posix`, :mod:`readline`, :mod:`!xmllib`, :mod:`!aifc`, :mod:`!chunk`, " -":mod:`wave`, :mod:`random`, :mod:`shelve`, and :mod:`!nntplib`. Consult the" -" CVS logs for the exact patch-by-patch details." -msgstr "" - -#: ../../whatsnew/2.0.rst:1037 -msgid "" -"Brian Gallew contributed OpenSSL support for the :mod:`socket` module. " -"OpenSSL is an implementation of the Secure Socket Layer, which encrypts the " -"data being sent over a socket. When compiling Python, you can edit " -":file:`Modules/Setup` to include SSL support, which adds an additional " -"function to the :mod:`socket` module: ``socket.ssl(socket, keyfile, " -"certfile)``, which takes a socket object and returns an SSL socket. The " -":mod:`httplib ` and :mod:`urllib` modules were also changed to support" -" ``https://`` URLs, though no one has implemented FTP or SMTP over SSL." -msgstr "" - -#: ../../whatsnew/2.0.rst:1046 -msgid "" -"The :mod:`httplib ` module has been rewritten by Greg Stein to support" -" HTTP/1.1." -msgstr "" - -#: ../../whatsnew/2.0.rst:1048 -msgid "" -"Backward compatibility with the 1.5 version of :mod:`!httplib` is provided, " -"though using HTTP/1.1 features such as pipelining will require rewriting " -"code to use a different set of interfaces." -msgstr "" - -#: ../../whatsnew/2.0.rst:1052 -msgid "" -"The :mod:`!Tkinter` module now supports Tcl/Tk version 8.1, 8.2, or 8.3, and" -" support for the older 7.x versions has been dropped. The Tkinter module " -"now supports displaying Unicode strings in Tk widgets. Also, Fredrik Lundh " -"contributed an optimization which makes operations like ``create_line`` and " -"``create_polygon`` much faster, especially when using lots of coordinates." -msgstr "" - -#: ../../whatsnew/2.0.rst:1058 -msgid "" -"The :mod:`curses` module has been greatly extended, starting from Oliver " -"Andrich's enhanced version, to provide many additional functions from " -"ncurses and SYSV curses, such as colour, alternative character set support, " -"pads, and mouse support. This means the module is no longer compatible with" -" operating systems that only have BSD curses, but there don't seem to be any" -" currently maintained OSes that fall into this category." -msgstr "" - -#: ../../whatsnew/2.0.rst:1065 -msgid "" -"As mentioned in the earlier discussion of 2.0's Unicode support, the " -"underlying implementation of the regular expressions provided by the " -":mod:`re` module has been changed. SRE, a new regular expression engine " -"written by Fredrik Lundh and partially funded by Hewlett Packard, supports " -"matching against both 8-bit strings and Unicode strings." -msgstr "" - -#: ../../whatsnew/2.0.rst:1075 -msgid "New modules" -msgstr "" - -#: ../../whatsnew/2.0.rst:1077 -msgid "" -"A number of new modules were added. We'll simply list them with brief " -"descriptions; consult the 2.0 documentation for the details of a particular " -"module." -msgstr "" - -#: ../../whatsnew/2.0.rst:1081 -msgid "" -":mod:`atexit`: For registering functions to be called before the Python " -"interpreter exits. Code that currently sets ``sys.exitfunc`` directly should" -" be changed to use the :mod:`atexit` module instead, importing " -":mod:`atexit` and calling :func:`atexit.register` with the function to be " -"called on exit. (Contributed by Skip Montanaro.)" -msgstr "" - -#: ../../whatsnew/2.0.rst:1087 -msgid "" -":mod:`codecs`, :mod:`!encodings`, :mod:`unicodedata`: Added as part of the " -"new Unicode support." -msgstr "" - -#: ../../whatsnew/2.0.rst:1090 -msgid "" -":mod:`filecmp`: Supersedes the old :mod:`!cmp`, :mod:`!cmpcache` and " -":mod:`!dircmp` modules, which have now become deprecated. (Contributed by " -"Gordon MacMillan and Moshe Zadka.)" -msgstr "" - -#: ../../whatsnew/2.0.rst:1094 -msgid "" -":mod:`gettext`: This module provides internationalization (I18N) and " -"localization (L10N) support for Python programs by providing an interface to" -" the GNU gettext message catalog library. (Integrated by Barry Warsaw, from " -"separate contributions by Martin von Löwis, Peter Funk, and James " -"Henstridge.)" -msgstr "" - -#: ../../whatsnew/2.0.rst:1099 -msgid "" -":mod:`!linuxaudiodev`: Support for the :file:`/dev/audio` device on Linux, a" -" twin to the existing :mod:`!sunaudiodev` module. (Contributed by Peter " -"Bosch, with fixes by Jeremy Hylton.)" -msgstr "" - -#: ../../whatsnew/2.0.rst:1103 -msgid "" -":mod:`mmap`: An interface to memory-mapped files on both Windows and Unix. " -"A file's contents can be mapped directly into memory, at which point it " -"behaves like a mutable string, so its contents can be read and modified. " -"They can even be passed to functions that expect ordinary strings, such as " -"the :mod:`re` module. (Contributed by Sam Rushing, with some extensions by " -"A.M. Kuchling.)" -msgstr "" - -#: ../../whatsnew/2.0.rst:1109 -msgid "" -":mod:`!pyexpat`: An interface to the Expat XML parser. (Contributed by Paul " -"Prescod.)" -msgstr "" - -#: ../../whatsnew/2.0.rst:1112 -msgid "" -":mod:`robotparser `: Parse a :file:`robots.txt` file, " -"which is used for writing web spiders that politely avoid certain areas of a" -" web site. The parser accepts the contents of a :file:`robots.txt` file, " -"builds a set of rules from it, and can then answer questions about the " -"fetchability of a given URL. (Contributed by Skip Montanaro.)" -msgstr "" - -#: ../../whatsnew/2.0.rst:1118 -msgid "" -":mod:`tabnanny`: A module/script to check Python source code for ambiguous " -"indentation. (Contributed by Tim Peters.)" -msgstr "" - -#: ../../whatsnew/2.0.rst:1121 -msgid "" -":mod:`!UserString`: A base class useful for deriving objects that behave " -"like strings." -msgstr "" - -#: ../../whatsnew/2.0.rst:1124 -msgid "" -":mod:`webbrowser`: A module that provides a platform independent way to " -"launch a web browser on a specific URL. For each platform, various browsers " -"are tried in a specific order. The user can alter which browser is launched " -"by setting the *BROWSER* environment variable. (Originally inspired by Eric" -" S. Raymond's patch to :mod:`urllib` which added similar functionality, but " -"the final module comes from code originally implemented by Fred Drake as " -":file:`Tools/idle/BrowserControl.py`, and adapted for the standard library " -"by Fred.)" -msgstr "" - -#: ../../whatsnew/2.0.rst:1133 -msgid "" -":mod:`_winreg `: An interface to the Windows registry. " -":mod:`!_winreg` is an adaptation of functions that have been part of " -"PythonWin since 1995, but has now been added to the core distribution, and " -"enhanced to support Unicode. :mod:`!_winreg` was written by Bill Tutt and " -"Mark Hammond." -msgstr "" - -#: ../../whatsnew/2.0.rst:1138 -msgid "" -":mod:`zipfile`: A module for reading and writing ZIP-format archives. These" -" are archives produced by :program:`PKZIP` on DOS/Windows or :program:`zip` " -"on Unix, not to be confused with :program:`gzip`\\ -format files (which are " -"supported by the :mod:`gzip` module) (Contributed by James C. Ahlstrom.)" -msgstr "" - -#: ../../whatsnew/2.0.rst:1143 -msgid "" -":mod:`!imputil`: A module that provides a simpler way for writing customized" -" import hooks, in comparison to the existing :mod:`!ihooks` module. " -"(Implemented by Greg Stein, with much discussion on python-dev along the " -"way.)" -msgstr "" - -#: ../../whatsnew/2.0.rst:1151 -msgid "IDLE Improvements" -msgstr "" - -#: ../../whatsnew/2.0.rst:1153 -msgid "" -"IDLE is the official Python cross-platform IDE, written using Tkinter. " -"Python 2.0 includes IDLE 0.6, which adds a number of new features and " -"improvements. A partial list:" -msgstr "" - -#: ../../whatsnew/2.0.rst:1157 -msgid "" -"UI improvements and optimizations, especially in the area of syntax " -"highlighting and auto-indentation." -msgstr "" - -#: ../../whatsnew/2.0.rst:1160 -msgid "" -"The class browser now shows more information, such as the top level " -"functions in a module." -msgstr "" - -#: ../../whatsnew/2.0.rst:1163 -msgid "" -"Tab width is now a user settable option. When opening an existing Python " -"file, IDLE automatically detects the indentation conventions, and adapts." -msgstr "" - -#: ../../whatsnew/2.0.rst:1166 -msgid "" -"There is now support for calling browsers on various platforms, used to open" -" the Python documentation in a browser." -msgstr "" - -#: ../../whatsnew/2.0.rst:1169 -msgid "" -"IDLE now has a command line, which is largely similar to the vanilla Python" -" interpreter." -msgstr "" - -#: ../../whatsnew/2.0.rst:1172 -msgid "Call tips were added in many places." -msgstr "" - -#: ../../whatsnew/2.0.rst:1174 -msgid "IDLE can now be installed as a package." -msgstr "" - -#: ../../whatsnew/2.0.rst:1176 -msgid "In the editor window, there is now a line/column bar at the bottom." -msgstr "" - -#: ../../whatsnew/2.0.rst:1178 -msgid "" -"Three new keystroke commands: Check module (:kbd:`Alt-F5`), Import module " -"(:kbd:`F5`) and Run script (:kbd:`Ctrl-F5`)." -msgstr "" - -#: ../../whatsnew/2.0.rst:1185 -msgid "Deleted and Deprecated Modules" -msgstr "" - -#: ../../whatsnew/2.0.rst:1187 -msgid "" -"A few modules have been dropped because they're obsolete, or because there " -"are now better ways to do the same thing. The :mod:`!stdwin` module is " -"gone; it was for a platform-independent windowing toolkit that's no longer " -"developed." -msgstr "" - -#: ../../whatsnew/2.0.rst:1191 -msgid "" -"A number of modules have been moved to the :file:`lib-old` subdirectory: " -":mod:`!cmp`, :mod:`!cmpcache`, :mod:`!dircmp`, :mod:`!dump`, :mod:`!find`, " -":mod:`!grep`, :mod:`!packmail`, :mod:`!poly`, :mod:`!util`, " -":mod:`!whatsound`, :mod:`!zmod`. If you have code which relies on a module" -" that's been moved to :file:`lib-old`, you can simply add that directory to" -" ``sys.path`` to get them back, but you're encouraged to update any code " -"that uses these modules." -msgstr "" - -#: ../../whatsnew/2.0.rst:1200 -msgid "Acknowledgements" -msgstr "Ucapan Terima Kasih" - -#: ../../whatsnew/2.0.rst:1202 -msgid "" -"The authors would like to thank the following people for offering " -"suggestions on various drafts of this article: David Bolen, Mark Hammond, " -"Gregg Hauser, Jeremy Hylton, Fredrik Lundh, Detlef Lannert, Aahz Maruch, " -"Skip Montanaro, Vladimir Marangozov, Tobias Polzin, Guido van Rossum, Neil " -"Schemenauer, and Russ Schmidt." -msgstr "" diff --git a/python-newest.whatsnew--2_1/id.po b/python-newest.whatsnew--2_1/id.po deleted file mode 100644 index 8638c95..0000000 --- a/python-newest.whatsnew--2_1/id.po +++ /dev/null @@ -1,1184 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Helen Febriani , 2018 -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/2.1.rst:3 -msgid "What's New in Python 2.1" -msgstr "Apa yang Baru di Python 2.1" - -#: ../../whatsnew/2.1.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../whatsnew/2.1.rst:5 -msgid "A.M. Kuchling" -msgstr "A.M. Kuchling" - -#: ../../whatsnew/2.1.rst:13 -msgid "Introduction" -msgstr "Pengantar" - -#: ../../whatsnew/2.1.rst:15 -msgid "" -"This article explains the new features in Python 2.1. While there aren't as" -" many changes in 2.1 as there were in Python 2.0, there are still some " -"pleasant surprises in store. 2.1 is the first release to be steered through" -" the use of Python Enhancement Proposals, or PEPs, so most of the sizable " -"changes have accompanying PEPs that provide more complete documentation and " -"a design rationale for the change. This article doesn't attempt to document" -" the new features completely, but simply provides an overview of the new " -"features for Python programmers. Refer to the Python 2.1 documentation, or " -"to the specific PEP, for more details about any new feature that " -"particularly interests you." -msgstr "" - -#: ../../whatsnew/2.1.rst:25 -msgid "" -"One recent goal of the Python development team has been to accelerate the " -"pace of new releases, with a new release coming every 6 to 9 months. 2.1 is " -"the first release to come out at this faster pace, with the first alpha " -"appearing in January, 3 months after the final version of 2.0 was released." -msgstr "" - -#: ../../whatsnew/2.1.rst:30 -msgid "The final release of Python 2.1 was made on April 17, 2001." -msgstr "" - -#: ../../whatsnew/2.1.rst:36 -msgid "PEP 227: Nested Scopes" -msgstr "" - -#: ../../whatsnew/2.1.rst:38 -msgid "" -"The largest change in Python 2.1 is to Python's scoping rules. In Python " -"2.0, at any given time there are at most three namespaces used to look up " -"variable names: local, module-level, and the built-in namespace. This often" -" surprised people because it didn't match their intuitive expectations. For" -" example, a nested recursive function definition doesn't work::" -msgstr "" - -#: ../../whatsnew/2.1.rst:44 -msgid "" -"def f():\n" -" ...\n" -" def g(value):\n" -" ...\n" -" return g(value-1) + 1\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.1.rst:51 -msgid "" -"The function :func:`!g` will always raise a :exc:`NameError` exception, " -"because the binding of the name ``g`` isn't in either its local namespace or" -" in the module-level namespace. This isn't much of a problem in practice " -"(how often do you recursively define interior functions like this?), but " -"this also made using the :keyword:`lambda` expression clumsier, and this was" -" a problem in practice. In code which uses :keyword:`lambda` you can often " -"find local variables being copied by passing them as the default values of " -"arguments. ::" -msgstr "" - -#: ../../whatsnew/2.1.rst:59 -msgid "" -"def find(self, name):\n" -" \"Return list of any entries equal to 'name'\"\n" -" L = filter(lambda x, name=name: x == name,\n" -" self.list_attribute)\n" -" return L" -msgstr "" - -#: ../../whatsnew/2.1.rst:65 -msgid "" -"The readability of Python code written in a strongly functional style " -"suffers greatly as a result." -msgstr "" - -#: ../../whatsnew/2.1.rst:68 -msgid "" -"The most significant change to Python 2.1 is that static scoping has been " -"added to the language to fix this problem. As a first effect, the " -"``name=name`` default argument is now unnecessary in the above example. Put" -" simply, when a given variable name is not assigned a value within a " -"function (by an assignment, or the :keyword:`def`, :keyword:`class`, or " -":keyword:`import` statements), references to the variable will be looked up " -"in the local namespace of the enclosing scope. A more detailed explanation " -"of the rules, and a dissection of the implementation, can be found in the " -"PEP." -msgstr "" - -#: ../../whatsnew/2.1.rst:77 -msgid "" -"This change may cause some compatibility problems for code where the same " -"variable name is used both at the module level and as a local variable " -"within a function that contains further function definitions. This seems " -"rather unlikely though, since such code would have been pretty confusing to " -"read in the first place." -msgstr "" - -#: ../../whatsnew/2.1.rst:83 -msgid "" -"One side effect of the change is that the ``from module import *`` and " -"``exec`` statements have been made illegal inside a function scope under " -"certain conditions. The Python reference manual has said all along that " -"``from module import *`` is only legal at the top level of a module, but the" -" CPython interpreter has never enforced this before. As part of the " -"implementation of nested scopes, the compiler which turns Python source into" -" bytecodes has to generate different code to access variables in a " -"containing scope. ``from module import *`` and ``exec`` make it impossible " -"for the compiler to figure this out, because they add names to the local " -"namespace that are unknowable at compile time. Therefore, if a function " -"contains function definitions or :keyword:`lambda` expressions with free " -"variables, the compiler will flag this by raising a :exc:`SyntaxError` " -"exception." -msgstr "" - -#: ../../whatsnew/2.1.rst:96 -msgid "To make the preceding explanation a bit clearer, here's an example::" -msgstr "" - -#: ../../whatsnew/2.1.rst:98 -msgid "" -"x = 1\n" -"def f():\n" -" # The next line is a syntax error\n" -" exec 'x=2'\n" -" def g():\n" -" return x" -msgstr "" - -#: ../../whatsnew/2.1.rst:105 -msgid "" -"Line 4 containing the ``exec`` statement is a syntax error, since ``exec`` " -"would define a new local variable named ``x`` whose value should be accessed" -" by :func:`!g`." -msgstr "" - -#: ../../whatsnew/2.1.rst:109 -msgid "" -"This shouldn't be much of a limitation, since ``exec`` is rarely used in " -"most Python code (and when it is used, it's often a sign of a poor design " -"anyway)." -msgstr "" - -#: ../../whatsnew/2.1.rst:113 -msgid "" -"Compatibility concerns have led to nested scopes being introduced gradually;" -" in Python 2.1, they aren't enabled by default, but can be turned on within " -"a module by using a future statement as described in :pep:`236`. (See the " -"following section for further discussion of :pep:`236`.) In Python 2.2, " -"nested scopes will become the default and there will be no way to turn them " -"off, but users will have had all of 2.1's lifetime to fix any breakage " -"resulting from their introduction." -msgstr "" - -#: ../../whatsnew/2.1.rst:123 -msgid ":pep:`227` - Statically Nested Scopes" -msgstr "" - -#: ../../whatsnew/2.1.rst:124 -msgid "Written and implemented by Jeremy Hylton." -msgstr "" - -#: ../../whatsnew/2.1.rst:130 -msgid "PEP 236: __future__ Directives" -msgstr "" - -#: ../../whatsnew/2.1.rst:132 -msgid "" -"The reaction to nested scopes was widespread concern about the dangers of " -"breaking code with the 2.1 release, and it was strong enough to make the " -"Pythoneers take a more conservative approach. This approach consists of " -"introducing a convention for enabling optional functionality in release N " -"that will become compulsory in release N+1." -msgstr "" - -#: ../../whatsnew/2.1.rst:138 -msgid "" -"The syntax uses a ``from...import`` statement using the reserved module name" -" :mod:`__future__`. Nested scopes can be enabled by the following " -"statement::" -msgstr "" - -#: ../../whatsnew/2.1.rst:141 -msgid "from __future__ import nested_scopes" -msgstr "" - -#: ../../whatsnew/2.1.rst:143 -msgid "" -"While it looks like a normal :keyword:`import` statement, it's not; there " -"are strict rules on where such a future statement can be put. They can only " -"be at the top of a module, and must precede any Python code or regular " -":keyword:`!import` statements. This is because such statements can affect " -"how the Python bytecode compiler parses code and generates bytecode, so they" -" must precede any statement that will result in bytecodes being produced." -msgstr "" - -#: ../../whatsnew/2.1.rst:153 -msgid ":pep:`236` - Back to the :mod:`__future__`" -msgstr "" - -#: ../../whatsnew/2.1.rst:154 -msgid "Written by Tim Peters, and primarily implemented by Jeremy Hylton." -msgstr "" - -#: ../../whatsnew/2.1.rst:160 -msgid "PEP 207: Rich Comparisons" -msgstr "" - -#: ../../whatsnew/2.1.rst:162 -msgid "" -"In earlier versions, Python's support for implementing comparisons on user-" -"defined classes and extension types was quite simple. Classes could " -"implement a :meth:`!__cmp__` method that was given two instances of a class," -" and could only return 0 if they were equal or +1 or -1 if they weren't; the" -" method couldn't raise an exception or return anything other than a Boolean " -"value. Users of Numeric Python often found this model too weak and " -"restrictive, because in the number-crunching programs that numeric Python is" -" used for, it would be more useful to be able to perform elementwise " -"comparisons of two matrices, returning a matrix containing the results of a " -"given comparison for each element. If the two matrices are of different " -"sizes, then the compare has to be able to raise an exception to signal the " -"error." -msgstr "" - -#: ../../whatsnew/2.1.rst:174 -msgid "" -"In Python 2.1, rich comparisons were added in order to support this need. " -"Python classes can now individually overload each of the ``<``, ``<=``, " -"``>``, ``>=``, ``==``, and ``!=`` operations. The new magic method names " -"are:" -msgstr "" - -#: ../../whatsnew/2.1.rst:179 -msgid "Operation" -msgstr "Operasi" - -#: ../../whatsnew/2.1.rst:179 -msgid "Method name" -msgstr "Nama Metode" - -#: ../../whatsnew/2.1.rst:181 -msgid "``<``" -msgstr "``<``" - -#: ../../whatsnew/2.1.rst:181 -msgid ":meth:`~object.__lt__`" -msgstr "" - -#: ../../whatsnew/2.1.rst:183 -msgid "``<=``" -msgstr "``<=``" - -#: ../../whatsnew/2.1.rst:183 -msgid ":meth:`~object.__le__`" -msgstr "" - -#: ../../whatsnew/2.1.rst:185 -msgid "``>``" -msgstr "``>``" - -#: ../../whatsnew/2.1.rst:185 -msgid ":meth:`~object.__gt__`" -msgstr "" - -#: ../../whatsnew/2.1.rst:187 -msgid "``>=``" -msgstr "``>=``" - -#: ../../whatsnew/2.1.rst:187 -msgid ":meth:`~object.__ge__`" -msgstr "" - -#: ../../whatsnew/2.1.rst:189 -msgid "``==``" -msgstr "``==``" - -#: ../../whatsnew/2.1.rst:189 -msgid ":meth:`~object.__eq__`" -msgstr "" - -#: ../../whatsnew/2.1.rst:191 -msgid "``!=``" -msgstr "``!=``" - -#: ../../whatsnew/2.1.rst:191 -msgid ":meth:`~object.__ne__`" -msgstr "" - -#: ../../whatsnew/2.1.rst:194 -msgid "" -"(The magic methods are named after the corresponding Fortran operators " -"``.LT.``. ``.LE.``, &c. Numeric programmers are almost certainly quite " -"familiar with these names and will find them easy to remember.)" -msgstr "" - -#: ../../whatsnew/2.1.rst:198 -msgid "" -"Each of these magic methods is of the form ``method(self, other)``, where " -"``self`` will be the object on the left-hand side of the operator, while " -"``other`` will be the object on the right-hand side. For example, the " -"expression ``A < B`` will cause ``A.__lt__(B)`` to be called." -msgstr "" - -#: ../../whatsnew/2.1.rst:203 -msgid "" -"Each of these magic methods can return anything at all: a Boolean, a matrix," -" a list, or any other Python object. Alternatively they can raise an " -"exception if the comparison is impossible, inconsistent, or otherwise " -"meaningless." -msgstr "" - -#: ../../whatsnew/2.1.rst:207 -msgid "" -"The built-in ``cmp(A,B)`` function can use the rich comparison machinery, " -"and now accepts an optional argument specifying which comparison operation " -"to use; this is given as one of the strings ``\"<\"``, ``\"<=\"``, " -"``\">\"``, ``\">=\"``, ``\"==\"``, or ``\"!=\"``. If called without the " -"optional third argument, :func:`!cmp` will only return -1, 0, or +1 as in " -"previous versions of Python; otherwise it will call the appropriate method " -"and can return any Python object." -msgstr "" - -#: ../../whatsnew/2.1.rst:214 -msgid "" -"There are also corresponding changes of interest to C programmers; there's a" -" new slot ``tp_richcmp`` in type objects and an API for performing a given " -"rich comparison. I won't cover the C API here, but will refer you to " -":pep:`207`, or to 2.1's C API documentation, for the full list of related " -"functions." -msgstr "" - -#: ../../whatsnew/2.1.rst:222 -msgid ":pep:`207` - Rich Comparisons" -msgstr "" - -#: ../../whatsnew/2.1.rst:223 -msgid "" -"Written by Guido van Rossum, heavily based on earlier work by David Ascher, " -"and implemented by Guido van Rossum." -msgstr "" - -#: ../../whatsnew/2.1.rst:230 -msgid "PEP 230: Warning Framework" -msgstr "" - -#: ../../whatsnew/2.1.rst:232 -msgid "" -"Over its 10 years of existence, Python has accumulated a certain number of " -"obsolete modules and features along the way. It's difficult to know when a " -"feature is safe to remove, since there's no way of knowing how much code " -"uses it --- perhaps no programs depend on the feature, or perhaps many do. " -"To enable removing old features in a more structured way, a warning " -"framework was added. When the Python developers want to get rid of a " -"feature, it will first trigger a warning in the next version of Python. The" -" following Python version can then drop the feature, and users will have had" -" a full release cycle to remove uses of the old feature." -msgstr "" - -#: ../../whatsnew/2.1.rst:242 -msgid "" -"Python 2.1 adds the warning framework to be used in this scheme. It adds a " -":mod:`warnings` module that provide functions to issue warnings, and to " -"filter out warnings that you don't want to be displayed. Third-party modules" -" can also use this framework to deprecate old features that they no longer " -"wish to support." -msgstr "" - -#: ../../whatsnew/2.1.rst:248 -msgid "" -"For example, in Python 2.1 the :mod:`!regex` module is deprecated, so " -"importing it causes a warning to be printed::" -msgstr "" - -#: ../../whatsnew/2.1.rst:251 -msgid "" -">>> import regex\n" -"__main__:1: DeprecationWarning: the regex module\n" -" is deprecated; please use the re module\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.1.rst:256 -msgid "Warnings can be issued by calling the :func:`warnings.warn` function::" -msgstr "" - -#: ../../whatsnew/2.1.rst:258 -msgid "warnings.warn(\"feature X no longer supported\")" -msgstr "" - -#: ../../whatsnew/2.1.rst:260 -msgid "" -"The first parameter is the warning message; an additional optional " -"parameters can be used to specify a particular warning category." -msgstr "" - -#: ../../whatsnew/2.1.rst:263 -msgid "" -"Filters can be added to disable certain warnings; a regular expression " -"pattern can be applied to the message or to the module name in order to " -"suppress a warning. For example, you may have a program that uses the " -":mod:`!regex` module and not want to spare the time to convert it to use the" -" :mod:`re` module right now. The warning can be suppressed by calling ::" -msgstr "" - -#: ../../whatsnew/2.1.rst:269 -msgid "" -"import warnings\n" -"warnings.filterwarnings(action = 'ignore',\n" -" message='.*regex module is deprecated',\n" -" category=DeprecationWarning,\n" -" module = '__main__')" -msgstr "" - -#: ../../whatsnew/2.1.rst:275 -msgid "" -"This adds a filter that will apply only to warnings of the class " -":class:`DeprecationWarning` triggered in the :mod:`__main__` module, and " -"applies a regular expression to only match the message about the " -":mod:`!regex` module being deprecated, and will cause such warnings to be " -"ignored. Warnings can also be printed only once, printed every time the " -"offending code is executed, or turned into exceptions that will cause the " -"program to stop (unless the exceptions are caught in the usual way, of " -"course)." -msgstr "" - -#: ../../whatsnew/2.1.rst:283 -msgid "" -"Functions were also added to Python's C API for issuing warnings; refer to " -"PEP 230 or to Python's API documentation for the details." -msgstr "" - -#: ../../whatsnew/2.1.rst:289 -msgid ":pep:`5` - Guidelines for Language Evolution" -msgstr "" - -#: ../../whatsnew/2.1.rst:290 -msgid "" -"Written by Paul Prescod, to specify procedures to be followed when removing " -"old features from Python. The policy described in this PEP hasn't been " -"officially adopted, but the eventual policy probably won't be too different " -"from Prescod's proposal." -msgstr "" - -#: ../../whatsnew/2.1.rst:295 -msgid ":pep:`230` - Warning Framework" -msgstr "" - -#: ../../whatsnew/2.1.rst:296 -msgid "Written and implemented by Guido van Rossum." -msgstr "" - -#: ../../whatsnew/2.1.rst:302 -msgid "PEP 229: New Build System" -msgstr "" - -#: ../../whatsnew/2.1.rst:304 -msgid "" -"When compiling Python, the user had to go in and edit the " -":file:`Modules/Setup` file in order to enable various additional modules; " -"the default set is relatively small and limited to modules that compile on " -"most Unix platforms. This means that on Unix platforms with many more " -"features, most notably Linux, Python installations often don't contain all " -"useful modules they could." -msgstr "" - -#: ../../whatsnew/2.1.rst:310 -msgid "" -"Python 2.0 added the Distutils, a set of modules for distributing and " -"installing extensions. In Python 2.1, the Distutils are used to compile " -"much of the standard library of extension modules, autodetecting which ones " -"are supported on the current machine. It's hoped that this will make Python" -" installations easier and more featureful." -msgstr "" - -#: ../../whatsnew/2.1.rst:316 -msgid "" -"Instead of having to edit the :file:`Modules/Setup` file in order to enable " -"modules, a :file:`setup.py` script in the top directory of the Python source" -" distribution is run at build time, and attempts to discover which modules " -"can be enabled by examining the modules and header files on the system. If " -"a module is configured in :file:`Modules/Setup`, the :file:`setup.py` script" -" won't attempt to compile that module and will defer to the " -":file:`Modules/Setup` file's contents. This provides a way to specific any " -"strange command-line flags or libraries that are required for a specific " -"platform." -msgstr "" - -#: ../../whatsnew/2.1.rst:325 -msgid "" -"In another far-reaching change to the build mechanism, Neil Schemenauer " -"restructured things so Python now uses a single makefile that isn't " -"recursive, instead of makefiles in the top directory and in each of the " -":file:`Python/`, :file:`Parser/`, :file:`Objects/`, and :file:`Modules/` " -"subdirectories. This makes building Python faster and also makes hacking " -"the Makefiles clearer and simpler." -msgstr "" - -#: ../../whatsnew/2.1.rst:335 -msgid ":pep:`229` - Using Distutils to Build Python" -msgstr "" - -#: ../../whatsnew/2.1.rst:336 ../../whatsnew/2.1.rst:575 -msgid "Written and implemented by A.M. Kuchling." -msgstr "" - -#: ../../whatsnew/2.1.rst:342 -msgid "PEP 205: Weak References" -msgstr "" - -#: ../../whatsnew/2.1.rst:344 -msgid "" -"Weak references, available through the :mod:`weakref` module, are a minor " -"but useful new data type in the Python programmer's toolbox." -msgstr "" - -#: ../../whatsnew/2.1.rst:347 -msgid "" -"Storing a reference to an object (say, in a dictionary or a list) has the " -"side effect of keeping that object alive forever. There are a few specific " -"cases where this behaviour is undesirable, object caches being the most " -"common one, and another being circular references in data structures such as" -" trees." -msgstr "" - -#: ../../whatsnew/2.1.rst:352 -msgid "" -"For example, consider a memoizing function that caches the results of " -"another function ``f(x)`` by storing the function's argument and its result " -"in a dictionary::" -msgstr "" - -#: ../../whatsnew/2.1.rst:356 -msgid "" -"_cache = {}\n" -"def memoize(x):\n" -" if _cache.has_key(x):\n" -" return _cache[x]\n" -"\n" -" retval = f(x)\n" -"\n" -" # Cache the returned object\n" -" _cache[x] = retval\n" -"\n" -" return retval" -msgstr "" - -#: ../../whatsnew/2.1.rst:368 -msgid "" -"This version works for simple things such as integers, but it has a side " -"effect; the ``_cache`` dictionary holds a reference to the return values, so" -" they'll never be deallocated until the Python process exits and cleans up. " -"This isn't very noticeable for integers, but if :func:`!f` returns an " -"object, or a data structure that takes up a lot of memory, this can be a " -"problem." -msgstr "" - -#: ../../whatsnew/2.1.rst:374 -msgid "" -"Weak references provide a way to implement a cache that won't keep objects " -"alive beyond their time. If an object is only accessible through weak " -"references, the object will be deallocated and the weak references will now " -"indicate that the object it referred to no longer exists. A weak reference " -"to an object *obj* is created by calling ``wr = weakref.ref(obj)``. The " -"object being referred to is returned by calling the weak reference as if it " -"were a function: ``wr()``. It will return the referenced object, or " -"``None`` if the object no longer exists." -msgstr "" - -#: ../../whatsnew/2.1.rst:382 -msgid "" -"This makes it possible to write a :func:`!memoize` function whose cache " -"doesn't keep objects alive, by storing weak references in the cache. ::" -msgstr "" - -#: ../../whatsnew/2.1.rst:385 -msgid "" -"_cache = {}\n" -"def memoize(x):\n" -" if _cache.has_key(x):\n" -" obj = _cache[x]()\n" -" # If weak reference object still exists,\n" -" # return it\n" -" if obj is not None: return obj\n" -"\n" -" retval = f(x)\n" -"\n" -" # Cache a weak reference\n" -" _cache[x] = weakref.ref(retval)\n" -"\n" -" return retval" -msgstr "" - -#: ../../whatsnew/2.1.rst:400 -msgid "" -"The :mod:`weakref` module also allows creating proxy objects which behave " -"like weak references --- an object referenced only by proxy objects is " -"deallocated -- but instead of requiring an explicit call to retrieve the " -"object, the proxy transparently forwards all operations to the object as " -"long as the object still exists. If the object is deallocated, attempting " -"to use a proxy will cause a :exc:`!weakref.ReferenceError` exception to be " -"raised. ::" -msgstr "" - -#: ../../whatsnew/2.1.rst:407 -msgid "" -"proxy = weakref.proxy(obj)\n" -"proxy.attr # Equivalent to obj.attr\n" -"proxy.meth() # Equivalent to obj.meth()\n" -"del obj\n" -"proxy.attr # raises weakref.ReferenceError" -msgstr "" - -#: ../../whatsnew/2.1.rst:416 -msgid ":pep:`205` - Weak References" -msgstr "" - -#: ../../whatsnew/2.1.rst:417 -msgid "Written and implemented by Fred L. Drake, Jr." -msgstr "" - -#: ../../whatsnew/2.1.rst:423 -msgid "PEP 232: Function Attributes" -msgstr "" - -#: ../../whatsnew/2.1.rst:425 -msgid "" -"In Python 2.1, functions can now have arbitrary information attached to " -"them. People were often using docstrings to hold information about functions" -" and methods, because the :attr:`~function.__doc__` attribute was the only " -"way of attaching any information to a function. For example, in the Zope " -"web application server, functions are marked as safe for public access by " -"having a docstring, and in John Aycock's SPARK parsing framework, docstrings" -" hold parts of the BNF grammar to be parsed. This overloading is " -"unfortunate, since docstrings are really intended to hold a function's " -"documentation; for example, it means you can't properly document functions " -"intended for private use in Zope." -msgstr "" - -#: ../../whatsnew/2.1.rst:436 -msgid "" -"Arbitrary attributes can now be set and retrieved on functions using the " -"regular Python syntax::" -msgstr "" - -#: ../../whatsnew/2.1.rst:439 -msgid "" -"def f(): pass\n" -"\n" -"f.publish = 1\n" -"f.secure = 1\n" -"f.grammar = \"A ::= B (C D)*\"" -msgstr "" - -#: ../../whatsnew/2.1.rst:445 -msgid "" -"The dictionary containing attributes can be accessed as the function's " -":attr:`~function.__dict__`. Unlike the :attr:`~type.__dict__` attribute of " -"class instances, in functions you can actually assign a new dictionary to " -":attr:`~function.__dict__`, though the new value is restricted to a regular " -"Python dictionary; you *can't* be tricky and set it to a :class:`!UserDict` " -"instance, or any other random object that behaves like a mapping." -msgstr "" - -#: ../../whatsnew/2.1.rst:455 -msgid ":pep:`232` - Function Attributes" -msgstr "" - -#: ../../whatsnew/2.1.rst:456 -msgid "Written and implemented by Barry Warsaw." -msgstr "" - -#: ../../whatsnew/2.1.rst:462 -msgid "PEP 235: Importing Modules on Case-Insensitive Platforms" -msgstr "" - -#: ../../whatsnew/2.1.rst:464 -msgid "" -"Some operating systems have filesystems that are case-insensitive, MacOS and" -" Windows being the primary examples; on these systems, it's impossible to " -"distinguish the filenames ``FILE.PY`` and ``file.py``, even though they do " -"store the file's name in its original case (they're case-preserving, too)." -msgstr "" - -#: ../../whatsnew/2.1.rst:469 -msgid "" -"In Python 2.1, the :keyword:`import` statement will work to simulate case-" -"sensitivity on case-insensitive platforms. Python will now search for the " -"first case-sensitive match by default, raising an :exc:`ImportError` if no " -"such file is found, so ``import file`` will not import a module named " -"``FILE.PY``. Case-insensitive matching can be requested by setting the " -":envvar:`PYTHONCASEOK` environment variable before starting the Python " -"interpreter." -msgstr "" - -#: ../../whatsnew/2.1.rst:480 -msgid "PEP 217: Interactive Display Hook" -msgstr "" - -#: ../../whatsnew/2.1.rst:482 -msgid "" -"When using the Python interpreter interactively, the output of commands is " -"displayed using the built-in :func:`repr` function. In Python 2.1, the " -"variable :func:`sys.displayhook` can be set to a callable object which will " -"be called instead of :func:`repr`. For example, you can set it to a special " -"pretty-printing function::" -msgstr "" - -#: ../../whatsnew/2.1.rst:488 -msgid "" -">>> # Create a recursive data structure\n" -"... L = [1,2,3]\n" -">>> L.append(L)\n" -">>> L # Show Python's default output\n" -"[1, 2, 3, [...]]\n" -">>> # Use pprint.pprint() as the display function\n" -"... import sys, pprint\n" -">>> sys.displayhook = pprint.pprint\n" -">>> L\n" -"[1, 2, 3, ]\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.1.rst:503 -msgid ":pep:`217` - Display Hook for Interactive Use" -msgstr "" - -#: ../../whatsnew/2.1.rst:504 -msgid "Written and implemented by Moshe Zadka." -msgstr "" - -#: ../../whatsnew/2.1.rst:510 -msgid "PEP 208: New Coercion Model" -msgstr "" - -#: ../../whatsnew/2.1.rst:512 -msgid "" -"How numeric coercion is done at the C level was significantly modified. " -"This will only affect the authors of C extensions to Python, allowing them " -"more flexibility in writing extension types that support numeric operations." -msgstr "" - -#: ../../whatsnew/2.1.rst:516 -msgid "" -"Extension types can now set the type flag ``Py_TPFLAGS_CHECKTYPES`` in their" -" ``PyTypeObject`` structure to indicate that they support the new coercion " -"model. In such extension types, the numeric slot functions can no longer " -"assume that they'll be passed two arguments of the same type; instead they " -"may be passed two arguments of differing types, and can then perform their " -"own internal coercion. If the slot function is passed a type it can't " -"handle, it can indicate the failure by returning a reference to the " -"``Py_NotImplemented`` singleton value. The numeric functions of the other " -"type will then be tried, and perhaps they can handle the operation; if the " -"other type also returns ``Py_NotImplemented``, then a :exc:`TypeError` will " -"be raised. Numeric methods written in Python can also return " -"``Py_NotImplemented``, causing the interpreter to act as if the method did " -"not exist (perhaps raising a :exc:`TypeError`, perhaps trying another " -"object's numeric methods)." -msgstr "" - -#: ../../whatsnew/2.1.rst:533 -msgid ":pep:`208` - Reworking the Coercion Model" -msgstr "" - -#: ../../whatsnew/2.1.rst:534 -msgid "" -"Written and implemented by Neil Schemenauer, heavily based upon earlier work" -" by Marc-André Lemburg. Read this to understand the fine points of how " -"numeric operations will now be processed at the C level." -msgstr "" - -#: ../../whatsnew/2.1.rst:542 -msgid "PEP 241: Metadata in Python Packages" -msgstr "" - -#: ../../whatsnew/2.1.rst:544 -msgid "" -"A common complaint from Python users is that there's no single catalog of " -"all the Python modules in existence. T. Middleton's Vaults of Parnassus at " -"``www.vex.net/parnassus/`` (retired in February 2009, `available in the " -"Internet Archive Wayback Machine " -"`_)" -" was the largest catalog of Python modules, but registering software at the " -"Vaults is optional, and many people did not bother." -msgstr "" - -#: ../../whatsnew/2.1.rst:552 -msgid "" -"As a first small step toward fixing the problem, Python software packaged " -"using the Distutils :command:`sdist` command will include a file named " -":file:`PKG-INFO` containing information about the package such as its name, " -"version, and author (metadata, in cataloguing terminology). :pep:`241` " -"contains the full list of fields that can be present in the :file:`PKG-INFO`" -" file. As people began to package their software using Python 2.1, more and" -" more packages will include metadata, making it possible to build automated " -"cataloguing systems and experiment with them. With the result experience, " -"perhaps it'll be possible to design a really good catalog and then build " -"support for it into Python 2.2. For example, the Distutils :command:`sdist` " -"and :command:`bdist_\\*` commands could support an ``upload`` option that " -"would automatically upload your package to a catalog server." -msgstr "" - -#: ../../whatsnew/2.1.rst:565 -msgid "" -"You can start creating packages containing :file:`PKG-INFO` even if you're " -"not using Python 2.1, since a new release of the Distutils will be made for " -"users of earlier Python versions. Version 1.0.2 of the Distutils includes " -"the changes described in :pep:`241`, as well as various bugfixes and " -"enhancements. It will be available from the Distutils SIG at " -"https://www.python.org/community/sigs/current/distutils-sig/." -msgstr "" - -#: ../../whatsnew/2.1.rst:574 -msgid ":pep:`241` - Metadata for Python Software Packages" -msgstr "" - -#: ../../whatsnew/2.1.rst:577 -msgid ":pep:`243` - Module Repository Upload Mechanism" -msgstr "" - -#: ../../whatsnew/2.1.rst:578 -msgid "" -"Written by Sean Reifschneider, this draft PEP describes a proposed mechanism" -" for uploading Python packages to a central server." -msgstr "" - -#: ../../whatsnew/2.1.rst:585 -msgid "New and Improved Modules" -msgstr "Modul Baru dan Ditingkatkan" - -#: ../../whatsnew/2.1.rst:587 -msgid "" -"Ka-Ping Yee contributed two new modules: :mod:`!inspect.py`, a module for " -"getting information about live Python code, and :mod:`!pydoc.py`, a module " -"for interactively converting docstrings to HTML or text. As a bonus, " -":file:`Tools/scripts/pydoc`, which is now automatically installed, uses " -":mod:`!pydoc.py` to display documentation given a Python module, package, or" -" class name. For example, ``pydoc xml.dom`` displays the following::" -msgstr "" - -#: ../../whatsnew/2.1.rst:594 -msgid "" -"Python Library Documentation: package xml.dom in xml\n" -"\n" -"NAME\n" -" xml.dom - W3C Document Object Model implementation for Python.\n" -"\n" -"FILE\n" -" /usr/local/lib/python2.1/xml/dom/__init__.pyc\n" -"\n" -"DESCRIPTION\n" -" The Python mapping of the Document Object Model is documented in the\n" -" Python Library Reference in the section on the xml.dom package.\n" -"\n" -" This package contains the following modules:\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.1.rst:609 -msgid "" -":file:`pydoc` also includes a Tk-based interactive help browser. " -":file:`pydoc` quickly becomes addictive; try it out!" -msgstr "" - -#: ../../whatsnew/2.1.rst:612 -msgid "" -"Two different modules for unit testing were added to the standard library. " -"The :mod:`doctest` module, contributed by Tim Peters, provides a testing " -"framework based on running embedded examples in docstrings and comparing the" -" results against the expected output. PyUnit, contributed by Steve Purcell," -" is a unit testing framework inspired by JUnit, which was in turn an " -"adaptation of Kent Beck's Smalltalk testing framework. See " -"https://pyunit.sourceforge.net/ for more information about PyUnit." -msgstr "" - -#: ../../whatsnew/2.1.rst:620 -msgid "" -"The :mod:`difflib` module contains a class, " -":class:`~difflib.SequenceMatcher`, which compares two sequences and computes" -" the changes required to transform one sequence into the other. For " -"example, this module can be used to write a tool similar to the Unix " -":program:`diff` program, and in fact the sample program " -":file:`Tools/scripts/ndiff.py` demonstrates how to write such a script." -msgstr "" - -#: ../../whatsnew/2.1.rst:626 -msgid "" -":mod:`curses.panel`, a wrapper for the panel library, part of ncurses and of" -" SYSV curses, was contributed by Thomas Gellekum. The panel library " -"provides windows with the additional feature of depth. Windows can be moved " -"higher or lower in the depth ordering, and the panel library figures out " -"where panels overlap and which sections are visible." -msgstr "" - -#: ../../whatsnew/2.1.rst:632 -msgid "" -"The PyXML package has gone through a few releases since Python 2.0, and " -"Python 2.1 includes an updated version of the :mod:`xml` package. Some of " -"the noteworthy changes include support for Expat 1.2 and later versions, the" -" ability for Expat parsers to handle files in any encoding supported by " -"Python, and various bugfixes for SAX, DOM, and the :mod:`!minidom` module." -msgstr "" - -#: ../../whatsnew/2.1.rst:638 -msgid "" -"Ping also contributed another hook for handling uncaught exceptions. " -":func:`sys.excepthook` can be set to a callable object. When an exception " -"isn't caught by any :keyword:`try`...\\ :keyword:`except` blocks, the " -"exception will be passed to :func:`sys.excepthook`, which can then do " -"whatever it likes. At the Ninth Python Conference, Ping demonstrated an " -"application for this hook: printing an extended traceback that not only " -"lists the stack frames, but also lists the function arguments and the local " -"variables for each frame." -msgstr "" - -#: ../../whatsnew/2.1.rst:646 -msgid "" -"Various functions in the :mod:`time` module, such as :func:`~time.asctime` " -"and :func:`~time.localtime`, require a floating-point argument containing " -"the time in seconds since the epoch. The most common use of these functions" -" is to work with the current time, so the floating-point argument has been " -"made optional; when a value isn't provided, the current time will be used. " -"For example, log file entries usually need a string containing the current " -"time; in Python 2.1, ``time.asctime()`` can be used, instead of the " -"lengthier ``time.asctime(time.localtime(time.time()))`` that was previously " -"required." -msgstr "" - -#: ../../whatsnew/2.1.rst:655 -msgid "This change was proposed and implemented by Thomas Wouters." -msgstr "" - -#: ../../whatsnew/2.1.rst:657 -msgid "" -"The :mod:`ftplib` module now defaults to retrieving files in passive mode, " -"because passive mode is more likely to work from behind a firewall. This " -"request came from the Debian bug tracking system, since other Debian " -"packages use :mod:`ftplib` to retrieve files and then don't work from behind" -" a firewall. It's deemed unlikely that this will cause problems for anyone, " -"because Netscape defaults to passive mode and few people complain, but if " -"passive mode is unsuitable for your application or network setup, call " -"``set_pasv(0)`` on FTP objects to disable passive mode." -msgstr "" - -#: ../../whatsnew/2.1.rst:666 -msgid "" -"Support for raw socket access has been added to the :mod:`socket` module, " -"contributed by Grant Edwards." -msgstr "" - -#: ../../whatsnew/2.1.rst:669 -msgid "" -"The :mod:`pstats` module now contains a simple interactive statistics " -"browser for displaying timing profiles for Python programs, invoked when the" -" module is run as a script. Contributed by Eric S. Raymond." -msgstr "" - -#: ../../whatsnew/2.1.rst:673 -msgid "" -"A new implementation-dependent function, ``sys._getframe([depth])``, has " -"been added to return a given frame object from the current call stack. " -":func:`sys._getframe` returns the frame at the top of the call stack; if " -"the optional integer argument *depth* is supplied, the function returns the " -"frame that is *depth* calls below the top of the stack. For example, " -"``sys._getframe(1)`` returns the caller's frame object." -msgstr "" - -#: ../../whatsnew/2.1.rst:680 -msgid "" -"This function is only present in CPython, not in Jython or the .NET " -"implementation. Use it for debugging, and resist the temptation to put it " -"into production code." -msgstr "" - -#: ../../whatsnew/2.1.rst:688 -msgid "Other Changes and Fixes" -msgstr "Perubahan dan Perbaikan Lain" - -#: ../../whatsnew/2.1.rst:690 -msgid "" -"There were relatively few smaller changes made in Python 2.1 due to the " -"shorter release cycle. A search through the CVS change logs turns up 117 " -"patches applied, and 136 bugs fixed; both figures are likely to be " -"underestimates. Some of the more notable changes are:" -msgstr "" - -#: ../../whatsnew/2.1.rst:695 -msgid "" -"A specialized object allocator is now optionally available, that should be " -"faster than the system :c:func:`malloc` and have less memory overhead. The " -"allocator uses C's :c:func:`!malloc` function to get large pools of memory, " -"and then fulfills smaller memory requests from these pools. It can be " -"enabled by providing the :option:`!--with-pymalloc` option to the " -":program:`configure` script; see :file:`Objects/obmalloc.c` for the " -"implementation details." -msgstr "" - -#: ../../whatsnew/2.1.rst:702 -msgid "" -"Authors of C extension modules should test their code with the object " -"allocator enabled, because some incorrect code may break, causing core dumps" -" at runtime. There are a bunch of memory allocation functions in Python's C " -"API that have previously been just aliases for the C library's " -":c:func:`malloc` and :c:func:`free`, meaning that if you accidentally called" -" mismatched functions, the error wouldn't be noticeable. When the object " -"allocator is enabled, these functions aren't aliases of :c:func:`!malloc` " -"and :c:func:`!free` any more, and calling the wrong function to free memory " -"will get you a core dump. For example, if memory was allocated using " -":c:macro:`PyMem_New`, it has to be freed using :c:func:`PyMem_Del`, not " -":c:func:`!free`. A few modules included with Python fell afoul of this and " -"had to be fixed; doubtless there are more third-party modules that will have" -" the same problem." -msgstr "" - -#: ../../whatsnew/2.1.rst:715 -msgid "The object allocator was contributed by Vladimir Marangozov." -msgstr "" - -#: ../../whatsnew/2.1.rst:717 -msgid "" -"The speed of line-oriented file I/O has been improved because people often " -"complain about its lack of speed, and because it's often been used as a " -"naïve benchmark. The :meth:`readline` method of file objects has therefore " -"been rewritten to be much faster. The exact amount of the speedup will vary" -" from platform to platform depending on how slow the C library's " -":c:func:`!getc` was, but is around 66%, and potentially much faster on some " -"particular operating systems. Tim Peters did much of the benchmarking and " -"coding for this change, motivated by a discussion in comp.lang.python." -msgstr "" - -#: ../../whatsnew/2.1.rst:726 -msgid "" -"A new module and method for file objects was also added, contributed by Jeff" -" Epler. The new method, :meth:`!xreadlines`, is similar to the existing " -":func:`!xrange` built-in. :func:`!xreadlines` returns an opaque sequence " -"object that only supports being iterated over, reading a line on every " -"iteration but not reading the entire file into memory as the existing " -":meth:`!readlines` method does. You'd use it like this::" -msgstr "" - -#: ../../whatsnew/2.1.rst:733 -msgid "" -"for line in sys.stdin.xreadlines():\n" -" # ... do something for each line ...\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.1.rst:737 -msgid "" -"For a fuller discussion of the line I/O changes, see the python-dev summary " -"for January 1--15, 2001 at https://mail.python.org/pipermail/python-" -"dev/2001-January/." -msgstr "" - -#: ../../whatsnew/2.1.rst:740 -msgid "" -"A new method, :meth:`~dict.popitem`, was added to dictionaries to enable " -"destructively iterating through the contents of a dictionary; this can be " -"faster for large dictionaries because there's no need to construct a list " -"containing all the keys or values. ``D.popitem()`` removes a random ``(key, " -"value)`` pair from the dictionary ``D`` and returns it as a 2-tuple. This " -"was implemented mostly by Tim Peters and Guido van Rossum, after a " -"suggestion and preliminary patch by Moshe Zadka." -msgstr "" - -#: ../../whatsnew/2.1.rst:748 -msgid "" -"Modules can now control which names are imported when ``from module import " -"*`` is used, by defining an ``__all__`` attribute containing a list of names" -" that will be imported. One common complaint is that if the module imports " -"other modules such as :mod:`sys` or :mod:`string`, ``from module import *`` " -"will add them to the importing module's namespace. To fix this, simply list" -" the public names in ``__all__``::" -msgstr "" - -#: ../../whatsnew/2.1.rst:755 -msgid "" -"# List public names\n" -"__all__ = ['Database', 'open']" -msgstr "" - -#: ../../whatsnew/2.1.rst:758 -msgid "" -"A stricter version of this patch was first suggested and implemented by Ben " -"Wolfson, but after some python-dev discussion, a weaker final version was " -"checked in." -msgstr "" - -#: ../../whatsnew/2.1.rst:762 -msgid "" -"Applying :func:`repr` to strings previously used octal escapes for non-" -"printable characters; for example, a newline was ``'\\012'``. This was a " -"vestigial trace of Python's C ancestry, but today octal is of very little " -"practical use. Ka-Ping Yee suggested using hex escapes instead of octal " -"ones, and using the ``\\n``, ``\\t``, ``\\r`` escapes for the appropriate " -"characters, and implemented this new formatting." -msgstr "" - -#: ../../whatsnew/2.1.rst:769 -msgid "" -"Syntax errors detected at compile-time can now raise exceptions containing " -"the filename and line number of the error, a pleasant side effect of the " -"compiler reorganization done by Jeremy Hylton." -msgstr "" - -#: ../../whatsnew/2.1.rst:773 -msgid "" -"C extensions which import other modules have been changed to use " -":c:func:`PyImport_ImportModule`, which means that they will use any import " -"hooks that have been installed. This is also encouraged for third-party " -"extensions that need to import some other module from C code." -msgstr "" - -#: ../../whatsnew/2.1.rst:778 -msgid "" -"The size of the Unicode character database was shrunk by another 340K thanks" -" to Fredrik Lundh." -msgstr "" - -#: ../../whatsnew/2.1.rst:781 -msgid "" -"Some new ports were contributed: MacOS X (by Steven Majewski), Cygwin (by " -"Jason Tishler); RISCOS (by Dietmar Schwertberger); Unixware 7 (by Billy G. " -"Allie)." -msgstr "" - -#: ../../whatsnew/2.1.rst:785 -msgid "" -"And there's the usual list of minor bugfixes, minor memory leaks, docstring " -"edits, and other tweaks, too lengthy to be worth itemizing; see the CVS logs" -" for the full details if you want them." -msgstr "" - -#: ../../whatsnew/2.1.rst:793 -msgid "Acknowledgements" -msgstr "Ucapan Terima Kasih" - -#: ../../whatsnew/2.1.rst:795 -msgid "" -"The author would like to thank the following people for offering suggestions" -" on various drafts of this article: Graeme Cross, David Goodger, Jay Graves," -" Michael Hudson, Marc-André Lemburg, Fredrik Lundh, Neil Schemenauer, Thomas" -" Wouters." -msgstr "" diff --git a/python-newest.whatsnew--2_2/id.po b/python-newest.whatsnew--2_2/id.po deleted file mode 100644 index 2f5793e..0000000 --- a/python-newest.whatsnew--2_2/id.po +++ /dev/null @@ -1,1855 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Helen Febriani , 2018 -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/2.2.rst:3 -msgid "What's New in Python 2.2" -msgstr "" - -#: ../../whatsnew/2.2.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../whatsnew/2.2.rst:5 -msgid "A.M. Kuchling" -msgstr "A.M. Kuchling" - -#: ../../whatsnew/2.2.rst:13 -msgid "Introduction" -msgstr "Pengantar" - -#: ../../whatsnew/2.2.rst:15 -msgid "" -"This article explains the new features in Python 2.2.2, released on October " -"14, 2002. Python 2.2.2 is a bugfix release of Python 2.2, originally " -"released on December 21, 2001." -msgstr "" - -#: ../../whatsnew/2.2.rst:19 -msgid "" -"Python 2.2 can be thought of as the \"cleanup release\". There are some " -"features such as generators and iterators that are completely new, but most " -"of the changes, significant and far-reaching though they may be, are aimed " -"at cleaning up irregularities and dark corners of the language design." -msgstr "" - -#: ../../whatsnew/2.2.rst:24 -msgid "" -"This article doesn't attempt to provide a complete specification of the new " -"features, but instead provides a convenient overview. For full details, you" -" should refer to the documentation for Python 2.2, such as the `Python " -"Library Reference `_ and the " -"`Python Reference Manual `_. If " -"you want to understand the complete implementation and design rationale for " -"a change, refer to the PEP for a particular new feature." -msgstr "" - -#: ../../whatsnew/2.2.rst:43 -msgid "PEPs 252 and 253: Type and Class Changes" -msgstr "" - -#: ../../whatsnew/2.2.rst:45 -msgid "" -"The largest and most far-reaching changes in Python 2.2 are to Python's " -"model of objects and classes. The changes should be backward compatible, so" -" it's likely that your code will continue to run unchanged, but the changes " -"provide some amazing new capabilities. Before beginning this, the longest " -"and most complicated section of this article, I'll provide an overview of " -"the changes and offer some comments." -msgstr "" - -#: ../../whatsnew/2.2.rst:52 -msgid "" -"A long time ago I wrote a web page listing flaws in Python's design. One of" -" the most significant flaws was that it's impossible to subclass Python " -"types implemented in C. In particular, it's not possible to subclass built-" -"in types, so you can't just subclass, say, lists in order to add a single " -"useful method to them. The :mod:`!UserList` module provides a class that " -"supports all of the methods of lists and that can be subclassed further, but" -" there's lots of C code that expects a regular Python list and won't accept " -"a :class:`~collections.UserList` instance." -msgstr "" - -#: ../../whatsnew/2.2.rst:61 -msgid "" -"Python 2.2 fixes this, and in the process adds some exciting new " -"capabilities. A brief summary:" -msgstr "" - -#: ../../whatsnew/2.2.rst:64 -msgid "" -"You can subclass built-in types such as lists and even integers, and your " -"subclasses should work in every place that requires the original type." -msgstr "" - -#: ../../whatsnew/2.2.rst:67 -msgid "" -"It's now possible to define static and class methods, in addition to the " -"instance methods available in previous versions of Python." -msgstr "" - -#: ../../whatsnew/2.2.rst:70 -msgid "" -"It's also possible to automatically call methods on accessing or setting an " -"instance attribute by using a new mechanism called :dfn:`properties`. Many " -"uses of :meth:`~object.__getattr__` can be rewritten to use properties " -"instead, making the resulting code simpler and faster. As a small side " -"benefit, attributes can now have docstrings, too." -msgstr "" - -#: ../../whatsnew/2.2.rst:76 -msgid "" -"The list of legal attributes for an instance can be limited to a particular " -"set using :dfn:`slots`, making it possible to safeguard against typos and " -"perhaps make more optimizations possible in future versions of Python." -msgstr "" - -#: ../../whatsnew/2.2.rst:80 -msgid "" -"Some users have voiced concern about all these changes. Sure, they say, the" -" new features are neat and lend themselves to all sorts of tricks that " -"weren't possible in previous versions of Python, but they also make the " -"language more complicated. Some people have said that they've always " -"recommended Python for its simplicity, and feel that its simplicity is being" -" lost." -msgstr "" - -#: ../../whatsnew/2.2.rst:86 -msgid "" -"Personally, I think there's no need to worry. Many of the new features are " -"quite esoteric, and you can write a lot of Python code without ever needed " -"to be aware of them. Writing a simple class is no more difficult than it " -"ever was, so you don't need to bother learning or teaching them unless " -"they're actually needed. Some very complicated tasks that were previously " -"only possible from C will now be possible in pure Python, and to my mind " -"that's all for the better." -msgstr "" - -#: ../../whatsnew/2.2.rst:93 -msgid "" -"I'm not going to attempt to cover every single corner case and small change " -"that were required to make the new features work. Instead this section will" -" paint only the broad strokes. See section :ref:`sect-rellinks`, \"Related " -"Links\", for further sources of information about Python 2.2's new object " -"model." -msgstr "" - -#: ../../whatsnew/2.2.rst:100 -msgid "Old and New Classes" -msgstr "" - -#: ../../whatsnew/2.2.rst:102 -msgid "" -"First, you should know that Python 2.2 really has two kinds of classes: " -"classic or old-style classes, and new-style classes. The old-style class " -"model is exactly the same as the class model in earlier versions of Python." -" All the new features described in this section apply only to new-style " -"classes. This divergence isn't intended to last forever; eventually old-" -"style classes will be dropped, possibly in Python 3.0." -msgstr "" - -#: ../../whatsnew/2.2.rst:109 -msgid "" -"So how do you define a new-style class? You do it by subclassing an " -"existing new-style class. Most of Python's built-in types, such as " -"integers, lists, dictionaries, and even files, are new-style classes now. A" -" new-style class named :class:`object`, the base class for all built-in " -"types, has also been added so if no built-in type is suitable, you can just " -"subclass :class:`object`::" -msgstr "" - -#: ../../whatsnew/2.2.rst:116 -msgid "" -"class C(object):\n" -" def __init__ (self):\n" -" ...\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.2.rst:121 -msgid "" -"This means that :keyword:`class` statements that don't have any base classes" -" are always classic classes in Python 2.2. (Actually you can also change " -"this by setting a module-level variable named :attr:`!__metaclass__` --- see" -" :pep:`253` for the details --- but it's easier to just subclass " -":class:`object`.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:126 -msgid "" -"The type objects for the built-in types are available as built-ins, named " -"using a clever trick. Python has always had built-in functions named " -":func:`int`, :func:`float`, and :func:`str`. In 2.2, they aren't functions " -"any more, but type objects that behave as factories when called. ::" -msgstr "" - -#: ../../whatsnew/2.2.rst:131 -msgid "" -">>> int\n" -"\n" -">>> int('123')\n" -"123" -msgstr "" - -#: ../../whatsnew/2.2.rst:136 -msgid "" -"To make the set of types complete, new type objects such as :func:`dict` and" -" :func:`!file` have been added. Here's a more interesting example, adding a" -" :meth:`!lock` method to file objects::" -msgstr "" - -#: ../../whatsnew/2.2.rst:140 -msgid "" -"class LockableFile(file):\n" -" def lock (self, operation, length=0, start=0, whence=0):\n" -" import fcntl\n" -" return fcntl.lockf(self.fileno(), operation,\n" -" length, start, whence)" -msgstr "" - -#: ../../whatsnew/2.2.rst:146 -msgid "" -"The now-obsolete :mod:`!posixfile` module contained a class that emulated " -"all of a file object's methods and also added a :meth:`!lock` method, but " -"this class couldn't be passed to internal functions that expected a built-in" -" file, something which is possible with our new :class:`!LockableFile`." -msgstr "" - -#: ../../whatsnew/2.2.rst:153 -msgid "Descriptors" -msgstr "" - -#: ../../whatsnew/2.2.rst:155 -msgid "" -"In previous versions of Python, there was no consistent way to discover what" -" attributes and methods were supported by an object. There were some " -"informal conventions, such as defining :attr:`!__members__` and " -":attr:`!__methods__` attributes that were lists of names, but often the " -"author of an extension type or a class wouldn't bother to define them. You " -"could fall back on inspecting the :attr:`~object.__dict__` of an object, but" -" when class inheritance or an arbitrary :meth:`!__getattr__` hook were in " -"use this could still be inaccurate." -msgstr "" - -#: ../../whatsnew/2.2.rst:163 -msgid "" -"The one big idea underlying the new class model is that an API for " -"describing the attributes of an object using :dfn:`descriptors` has been " -"formalized. Descriptors specify the value of an attribute, stating whether " -"it's a method or a field. With the descriptor API, static methods and class" -" methods become possible, as well as more exotic constructs." -msgstr "" - -#: ../../whatsnew/2.2.rst:169 -msgid "" -"Attribute descriptors are objects that live inside class objects, and have a" -" few attributes of their own:" -msgstr "" - -#: ../../whatsnew/2.2.rst:172 -msgid ":attr:`~definition.__name__` is the attribute's name." -msgstr "" - -#: ../../whatsnew/2.2.rst:174 -msgid ":attr:`~definition.__doc__` is the attribute's docstring." -msgstr "" - -#: ../../whatsnew/2.2.rst:176 -msgid "" -"``__get__(object)`` is a method that retrieves the attribute value from " -"*object*." -msgstr "" - -#: ../../whatsnew/2.2.rst:179 -msgid "``__set__(object, value)`` sets the attribute on *object* to *value*." -msgstr "" - -#: ../../whatsnew/2.2.rst:181 -msgid "" -"``__delete__(object, value)`` deletes the *value* attribute of *object*." -msgstr "" - -#: ../../whatsnew/2.2.rst:183 -msgid "" -"For example, when you write ``obj.x``, the steps that Python actually " -"performs are::" -msgstr "" - -#: ../../whatsnew/2.2.rst:186 -msgid "" -"descriptor = obj.__class__.x\n" -"descriptor.__get__(obj)" -msgstr "" - -#: ../../whatsnew/2.2.rst:189 -msgid "" -"For methods, :meth:`descriptor.__get__ ` returns a temporary" -" object that's callable, and wraps up the instance and the method to be " -"called on it. This is also why static methods and class methods are now " -"possible; they have descriptors that wrap up just the method, or the method " -"and the class. As a brief explanation of these new kinds of methods, static" -" methods aren't passed the instance, and therefore resemble regular " -"functions. Class methods are passed the class of the object, but not the " -"object itself. Static and class methods are defined like this::" -msgstr "" - -#: ../../whatsnew/2.2.rst:199 -msgid "" -"class C(object):\n" -" def f(arg1, arg2):\n" -" ...\n" -" f = staticmethod(f)\n" -"\n" -" def g(cls, arg1, arg2):\n" -" ...\n" -" g = classmethod(g)" -msgstr "" - -#: ../../whatsnew/2.2.rst:208 -msgid "" -"The :func:`staticmethod` function takes the function :func:`!f`, and returns" -" it wrapped up in a descriptor so it can be stored in the class object. You" -" might expect there to be special syntax for creating such methods (``def " -"static f``, ``defstatic f()``, or something like that) but no such syntax " -"has been defined yet; that's been left for future versions of Python." -msgstr "" - -#: ../../whatsnew/2.2.rst:214 -msgid "" -"More new features, such as slots and properties, are also implemented as new" -" kinds of descriptors, and it's not difficult to write a descriptor class " -"that does something novel. For example, it would be possible to write a " -"descriptor class that made it possible to write Eiffel-style preconditions " -"and postconditions for a method. A class that used this feature might be " -"defined like this::" -msgstr "" - -#: ../../whatsnew/2.2.rst:221 -msgid "" -"from eiffel import eiffelmethod\n" -"\n" -"class C(object):\n" -" def f(self, arg1, arg2):\n" -" # The actual function\n" -" ...\n" -" def pre_f(self):\n" -" # Check preconditions\n" -" ...\n" -" def post_f(self):\n" -" # Check postconditions\n" -" ...\n" -"\n" -" f = eiffelmethod(f, pre_f, post_f)" -msgstr "" - -#: ../../whatsnew/2.2.rst:236 -msgid "" -"Note that a person using the new :func:`!eiffelmethod` doesn't have to " -"understand anything about descriptors. This is why I think the new features" -" don't increase the basic complexity of the language. There will be a few " -"wizards who need to know about it in order to write :func:`!eiffelmethod` or" -" the ZODB or whatever, but most users will just write code on top of the " -"resulting libraries and ignore the implementation details." -msgstr "" - -#: ../../whatsnew/2.2.rst:245 -msgid "Multiple Inheritance: The Diamond Rule" -msgstr "" - -#: ../../whatsnew/2.2.rst:247 -msgid "" -"Multiple inheritance has also been made more useful through changing the " -"rules under which names are resolved. Consider this set of classes (diagram" -" taken from :pep:`253` by Guido van Rossum)::" -msgstr "" - -#: ../../whatsnew/2.2.rst:251 -msgid "" -" class A:\n" -" ^ ^ def save(self): ...\n" -" / \\\n" -" / \\\n" -" / \\\n" -" / \\\n" -"class B class C:\n" -" ^ ^ def save(self): ...\n" -" \\ /\n" -" \\ /\n" -" \\ /\n" -" \\ /\n" -" class D" -msgstr "" - -#: ../../whatsnew/2.2.rst:265 -msgid "" -"The lookup rule for classic classes is simple but not very smart; the base " -"classes are searched depth-first, going from left to right. A reference to " -":meth:`!D.save` will search the classes :class:`!D`, :class:`!B`, and then " -":class:`!A`, where :meth:`!save` would be found and returned. " -":meth:`!C.save` would never be found at all. This is bad, because if " -":class:`!C`'s :meth:`!save` method is saving some internal state specific to" -" :class:`!C`, not calling it will result in that state never getting saved." -msgstr "" - -#: ../../whatsnew/2.2.rst:273 -msgid "" -"New-style classes follow a different algorithm that's a bit more complicated" -" to explain, but does the right thing in this situation. (Note that Python " -"2.3 changes this algorithm to one that produces the same results in most " -"cases, but produces more useful results for really complicated inheritance " -"graphs.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:278 -msgid "" -"List all the base classes, following the classic lookup rule and include a " -"class multiple times if it's visited repeatedly. In the above example, the " -"list of visited classes is [:class:`!D`, :class:`!B`, :class:`!A`, " -":class:`!C`, :class:`!A`]." -msgstr "" - -#: ../../whatsnew/2.2.rst:283 -msgid "" -"Scan the list for duplicated classes. If any are found, remove all but one " -"occurrence, leaving the *last* one in the list. In the above example, the " -"list becomes [:class:`!D`, :class:`!B`, :class:`!C`, :class:`!A`] after " -"dropping duplicates." -msgstr "" - -#: ../../whatsnew/2.2.rst:288 -msgid "" -"Following this rule, referring to :meth:`!D.save` will return " -":meth:`!C.save`, which is the behaviour we're after. This lookup rule is " -"the same as the one followed by Common Lisp. A new built-in function, " -":func:`super`, provides a way to get at a class's superclasses without " -"having to reimplement Python's algorithm. The most commonly used form will " -"be ``super(class, obj)``, which returns a bound superclass object (not the" -" actual class object). This form will be used in methods to call a method " -"in the superclass; for example, :class:`!D`'s :meth:`!save` method would " -"look like this::" -msgstr "" - -#: ../../whatsnew/2.2.rst:297 -msgid "" -"class D (B,C):\n" -" def save (self):\n" -" # Call superclass .save()\n" -" super(D, self).save()\n" -" # Save D's private information here\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.2.rst:304 -msgid "" -":func:`super` can also return unbound superclass objects when called as " -"``super(class)`` or ``super(class1, class2)``, but this probably won't often" -" be useful." -msgstr "" - -#: ../../whatsnew/2.2.rst:310 -msgid "Attribute Access" -msgstr "" - -#: ../../whatsnew/2.2.rst:312 -msgid "" -"A fair number of sophisticated Python classes define hooks for attribute " -"access using :meth:`~object.__getattr__`; most commonly this is done for " -"convenience, to make code more readable by automatically mapping an " -"attribute access such as ``obj.parent`` into a method call such as " -"``obj.get_parent``. Python 2.2 adds some new ways of controlling attribute " -"access." -msgstr "" - -#: ../../whatsnew/2.2.rst:318 -msgid "" -"First, ``__getattr__(attr_name)`` is still supported by new-style classes, " -"and nothing about it has changed. As before, it will be called when an " -"attempt is made to access ``obj.foo`` and no attribute named ``foo`` is " -"found in the instance's dictionary." -msgstr "" - -#: ../../whatsnew/2.2.rst:323 -msgid "" -"New-style classes also support a new method, " -"``__getattribute__(attr_name)``. The difference between the two methods is " -"that :meth:`~object.__getattribute__` is *always* called whenever any " -"attribute is accessed, while the old :meth:`~object.__getattr__` is only " -"called if ``foo`` isn't found in the instance's dictionary." -msgstr "" - -#: ../../whatsnew/2.2.rst:329 -msgid "" -"However, Python 2.2's support for :dfn:`properties` will often be a simpler " -"way to trap attribute references. Writing a :meth:`!__getattr__` method is " -"complicated because to avoid recursion you can't use regular attribute " -"accesses inside them, and instead have to mess around with the contents of " -":attr:`~object.__dict__`. :meth:`~object.__getattr__` methods also end up " -"being called by Python when it checks for other methods such as " -":meth:`~object.__repr__` or :meth:`!__coerce__`, and so have to be written " -"with this in mind. Finally, calling a function on every attribute access " -"results in a sizable performance loss." -msgstr "" - -#: ../../whatsnew/2.2.rst:338 -msgid "" -":class:`property` is a new built-in type that packages up three functions " -"that get, set, or delete an attribute, and a docstring. For example, if you" -" want to define a :attr:`!size` attribute that's computed, but also " -"settable, you could write::" -msgstr "" - -#: ../../whatsnew/2.2.rst:343 -msgid "" -"class C(object):\n" -" def get_size (self):\n" -" result = ... computation ...\n" -" return result\n" -" def set_size (self, size):\n" -" ... compute something based on the size\n" -" and set internal state appropriately ...\n" -"\n" -" # Define a property. The 'delete this attribute'\n" -" # method is defined as None, so the attribute\n" -" # can't be deleted.\n" -" size = property(get_size, set_size,\n" -" None,\n" -" \"Storage size of this instance\")" -msgstr "" - -#: ../../whatsnew/2.2.rst:358 -msgid "" -"That is certainly clearer and easier to write than a pair of " -":meth:`!__getattr__`/:meth:`!__setattr__` methods that check for the " -":attr:`!size` attribute and handle it specially while retrieving all other " -"attributes from the instance's :attr:`~object.__dict__`. Accesses to " -":attr:`!size` are also the only ones which have to perform the work of " -"calling a function, so references to other attributes run at their usual " -"speed." -msgstr "" - -#: ../../whatsnew/2.2.rst:365 -msgid "" -"Finally, it's possible to constrain the list of attributes that can be " -"referenced on an object using the new :attr:`~object.__slots__` class " -"attribute. Python objects are usually very dynamic; at any time it's " -"possible to define a new attribute on an instance by just doing " -"``obj.new_attr=1``. A new-style class can define a class attribute named " -":attr:`~object.__slots__` to limit the legal attributes to a particular set" -" of names. An example will make this clear::" -msgstr "" - -#: ../../whatsnew/2.2.rst:372 -msgid "" -">>> class C(object):\n" -"... __slots__ = ('template', 'name')\n" -"...\n" -">>> obj = C()\n" -">>> print obj.template\n" -"None\n" -">>> obj.template = 'Test'\n" -">>> print obj.template\n" -"Test\n" -">>> obj.newattr = None\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in ?\n" -"AttributeError: 'C' object has no attribute 'newattr'" -msgstr "" - -#: ../../whatsnew/2.2.rst:386 -msgid "" -"Note how you get an :exc:`AttributeError` on the attempt to assign to an " -"attribute not listed in :attr:`~object.__slots__`." -msgstr "" - -#: ../../whatsnew/2.2.rst:393 -msgid "Related Links" -msgstr "" - -#: ../../whatsnew/2.2.rst:395 -msgid "" -"This section has just been a quick overview of the new features, giving " -"enough of an explanation to start you programming, but many details have " -"been simplified or ignored. Where should you go to get a more complete " -"picture?" -msgstr "" - -#: ../../whatsnew/2.2.rst:399 -msgid "" -"The :ref:`descriptorhowto` is a lengthy tutorial introduction to the " -"descriptor features, written by Guido van Rossum. If my description has " -"whetted your appetite, go read this tutorial next, because it goes into much" -" more detail about the new features while still remaining quite easy to " -"read." -msgstr "" - -#: ../../whatsnew/2.2.rst:404 -msgid "" -"Next, there are two relevant PEPs, :pep:`252` and :pep:`253`. :pep:`252` is" -" titled \"Making Types Look More Like Classes\", and covers the descriptor " -"API. :pep:`253` is titled \"Subtyping Built-in Types\", and describes the " -"changes to type objects that make it possible to subtype built-in objects. " -":pep:`253` is the more complicated PEP of the two, and at a few points the " -"necessary explanations of types and meta-types may cause your head to " -"explode. Both PEPs were written and implemented by Guido van Rossum, with " -"substantial assistance from the rest of the Zope Corp. team." -msgstr "" - -#: ../../whatsnew/2.2.rst:413 -msgid "" -"Finally, there's the ultimate authority: the source code. Most of the " -"machinery for the type handling is in :file:`Objects/typeobject.c`, but you " -"should only resort to it after all other avenues have been exhausted, " -"including posting a question to python-list or python-dev." -msgstr "" - -#: ../../whatsnew/2.2.rst:422 -msgid "PEP 234: Iterators" -msgstr "" - -#: ../../whatsnew/2.2.rst:424 -msgid "" -"Another significant addition to 2.2 is an iteration interface at both the C " -"and Python levels. Objects can define how they can be looped over by " -"callers." -msgstr "" - -#: ../../whatsnew/2.2.rst:427 -msgid "" -"In Python versions up to 2.1, the usual way to make ``for item in obj`` work" -" is to define a :meth:`~object.__getitem__` method that looks something like" -" this::" -msgstr "" - -#: ../../whatsnew/2.2.rst:430 -msgid "" -"def __getitem__(self, index):\n" -" return " -msgstr "" - -#: ../../whatsnew/2.2.rst:433 -msgid "" -":meth:`~object.__getitem__` is more properly used to define an indexing " -"operation on an object so that you can write ``obj[5]`` to retrieve the " -"sixth element. It's a bit misleading when you're using this only to support" -" :keyword:`for` loops. Consider some file-like object that wants to be " -"looped over; the *index* parameter is essentially meaningless, as the class " -"probably assumes that a series of :meth:`~object.__getitem__` calls will be " -"made with *index* incrementing by one each time. In other words, the " -"presence of the :meth:`~object.__getitem__` method doesn't mean that using " -"``file[5]`` to randomly access the sixth element will work, though it " -"really should." -msgstr "" - -#: ../../whatsnew/2.2.rst:443 -msgid "" -"In Python 2.2, iteration can be implemented separately, and " -":meth:`~object.__getitem__` methods can be limited to classes that really do" -" support random access. The basic idea of iterators is simple. A new " -"built-in function, ``iter(obj)`` or ``iter(C, sentinel)``, is used to get an" -" iterator. ``iter(obj)`` returns an iterator for the object *obj*, while " -"``iter(C, sentinel)`` returns an iterator that will invoke the callable " -"object *C* until it returns *sentinel* to signal that the iterator is done." -msgstr "" - -#: ../../whatsnew/2.2.rst:451 -msgid "" -"Python classes can define an :meth:`!__iter__` method, which should create " -"and return a new iterator for the object; if the object is its own iterator," -" this method can just return ``self``. In particular, iterators will " -"usually be their own iterators. Extension types implemented in C can " -"implement a :c:member:`~PyTypeObject.tp_iter` function in order to return an" -" iterator, and extension types that want to behave as iterators can define a" -" :c:member:`~PyTypeObject.tp_iternext` function." -msgstr "" - -#: ../../whatsnew/2.2.rst:458 -msgid "" -"So, after all this, what do iterators actually do? They have one required " -"method, :meth:`next`, which takes no arguments and returns the next value. " -"When there are no more values to be returned, calling :meth:`next` should " -"raise the :exc:`StopIteration` exception. ::" -msgstr "" - -#: ../../whatsnew/2.2.rst:463 -msgid "" -">>> L = [1,2,3]\n" -">>> i = iter(L)\n" -">>> print i\n" -"\n" -">>> i.next()\n" -"1\n" -">>> i.next()\n" -"2\n" -">>> i.next()\n" -"3\n" -">>> i.next()\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in ?\n" -"StopIteration\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.2.rst:479 -msgid "" -"In 2.2, Python's :keyword:`for` statement no longer expects a sequence; it " -"expects something for which :func:`iter` will return an iterator. For " -"backward compatibility and convenience, an iterator is automatically " -"constructed for sequences that don't implement :meth:`!__iter__` or a " -":c:member:`~PyTypeObject.tp_iter` slot, so ``for i in [1,2,3]`` will still " -"work. Wherever the Python interpreter loops over a sequence, it's been " -"changed to use the iterator protocol. This means you can do things like " -"this::" -msgstr "" - -#: ../../whatsnew/2.2.rst:487 -msgid "" -">>> L = [1,2,3]\n" -">>> i = iter(L)\n" -">>> a,b,c = i\n" -">>> a,b,c\n" -"(1, 2, 3)" -msgstr "" - -#: ../../whatsnew/2.2.rst:493 -msgid "" -"Iterator support has been added to some of Python's basic types. Calling " -":func:`iter` on a dictionary will return an iterator which loops over its " -"keys::" -msgstr "" - -#: ../../whatsnew/2.2.rst:496 -msgid "" -">>> m = {'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4, 'May': 5, 'Jun': 6,\n" -"... 'Jul': 7, 'Aug': 8, 'Sep': 9, 'Oct': 10, 'Nov': 11, 'Dec': 12}\n" -">>> for key in m: print key, m[key]\n" -"...\n" -"Mar 3\n" -"Feb 2\n" -"Aug 8\n" -"Sep 9\n" -"May 5\n" -"Jun 6\n" -"Jul 7\n" -"Jan 1\n" -"Apr 4\n" -"Nov 11\n" -"Dec 12\n" -"Oct 10" -msgstr "" - -#: ../../whatsnew/2.2.rst:513 -msgid "" -"That's just the default behaviour. If you want to iterate over keys, " -"values, or key/value pairs, you can explicitly call the :meth:`!iterkeys`, " -":meth:`!itervalues`, or :meth:`!iteritems` methods to get an appropriate " -"iterator. In a minor related change, the :keyword:`in` operator now works on" -" dictionaries, so ``key in dict`` is now equivalent to " -"``dict.has_key(key)``." -msgstr "" - -#: ../../whatsnew/2.2.rst:519 -msgid "" -"Files also provide an iterator, which calls the :meth:`readline` method " -"until there are no more lines in the file. This means you can now read each" -" line of a file using code like this::" -msgstr "" - -#: ../../whatsnew/2.2.rst:523 -msgid "" -"for line in file:\n" -" # do something for each line\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.2.rst:527 -msgid "" -"Note that you can only go forward in an iterator; there's no way to get the " -"previous element, reset the iterator, or make a copy of it. An iterator " -"object could provide such additional capabilities, but the iterator protocol" -" only requires a :meth:`next` method." -msgstr "" - -#: ../../whatsnew/2.2.rst:535 -msgid ":pep:`234` - Iterators" -msgstr "" - -#: ../../whatsnew/2.2.rst:536 -msgid "" -"Written by Ka-Ping Yee and GvR; implemented by the Python Labs crew, mostly" -" by GvR and Tim Peters." -msgstr "" - -#: ../../whatsnew/2.2.rst:543 -msgid "PEP 255: Simple Generators" -msgstr "" - -#: ../../whatsnew/2.2.rst:545 -msgid "" -"Generators are another new feature, one that interacts with the introduction" -" of iterators." -msgstr "" - -#: ../../whatsnew/2.2.rst:548 -msgid "" -"You're doubtless familiar with how function calls work in Python or C. When" -" you call a function, it gets a private namespace where its local variables " -"are created. When the function reaches a :keyword:`return` statement, the " -"local variables are destroyed and the resulting value is returned to the " -"caller. A later call to the same function will get a fresh new set of local" -" variables. But, what if the local variables weren't thrown away on exiting " -"a function? What if you could later resume the function where it left off? " -"This is what generators provide; they can be thought of as resumable " -"functions." -msgstr "" - -#: ../../whatsnew/2.2.rst:557 -msgid "Here's the simplest example of a generator function::" -msgstr "" - -#: ../../whatsnew/2.2.rst:559 -msgid "" -"def generate_ints(N):\n" -" for i in range(N):\n" -" yield i" -msgstr "" - -#: ../../whatsnew/2.2.rst:563 -msgid "" -"A new keyword, :keyword:`yield`, was introduced for generators. Any " -"function containing a :keyword:`!yield` statement is a generator function; " -"this is detected by Python's bytecode compiler which compiles the function " -"specially as a result. Because a new keyword was introduced, generators " -"must be explicitly enabled in a module by including a ``from __future__ " -"import generators`` statement near the top of the module's source code. In " -"Python 2.3 this statement will become unnecessary." -msgstr "" - -#: ../../whatsnew/2.2.rst:571 -msgid "" -"When you call a generator function, it doesn't return a single value; " -"instead it returns a generator object that supports the iterator protocol. " -"On executing the :keyword:`yield` statement, the generator outputs the value" -" of ``i``, similar to a :keyword:`return` statement. The big difference " -"between :keyword:`!yield` and a :keyword:`!return` statement is that on " -"reaching a :keyword:`!yield` the generator's state of execution is suspended" -" and local variables are preserved. On the next call to the generator's " -"``next()`` method, the function will resume executing immediately after the " -":keyword:`!yield` statement. (For complicated reasons, the " -":keyword:`!yield` statement isn't allowed inside the :keyword:`!try` block " -"of a :keyword:`try`...\\ :keyword:`finally` statement; read :pep:`255` for a" -" full explanation of the interaction between :keyword:`!yield` and " -"exceptions.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:584 -msgid "Here's a sample usage of the :func:`!generate_ints` generator::" -msgstr "" - -#: ../../whatsnew/2.2.rst:586 -msgid "" -">>> gen = generate_ints(3)\n" -">>> gen\n" -"\n" -">>> gen.next()\n" -"0\n" -">>> gen.next()\n" -"1\n" -">>> gen.next()\n" -"2\n" -">>> gen.next()\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in ?\n" -" File \"\", line 2, in generate_ints\n" -"StopIteration" -msgstr "" - -#: ../../whatsnew/2.2.rst:601 -msgid "" -"You could equally write ``for i in generate_ints(5)``, or ``a,b,c = " -"generate_ints(3)``." -msgstr "" - -#: ../../whatsnew/2.2.rst:604 -msgid "" -"Inside a generator function, the :keyword:`return` statement can only be " -"used without a value, and signals the end of the procession of values; " -"afterwards the generator cannot return any further values. " -":keyword:`!return` with a value, such as ``return 5``, is a syntax error " -"inside a generator function. The end of the generator's results can also be" -" indicated by raising :exc:`StopIteration` manually, or by just letting the " -"flow of execution fall off the bottom of the function." -msgstr "" - -#: ../../whatsnew/2.2.rst:612 -msgid "" -"You could achieve the effect of generators manually by writing your own " -"class and storing all the local variables of the generator as instance " -"variables. For example, returning a list of integers could be done by " -"setting ``self.count`` to 0, and having the :meth:`next` method increment " -"``self.count`` and return it. However, for a moderately complicated " -"generator, writing a corresponding class would be much messier. " -":file:`Lib/test/test_generators.py` contains a number of more interesting " -"examples. The simplest one implements an in-order traversal of a tree using" -" generators recursively. ::" -msgstr "" - -#: ../../whatsnew/2.2.rst:621 -msgid "" -"# A recursive generator that generates Tree leaves in in-order.\n" -"def inorder(t):\n" -" if t:\n" -" for x in inorder(t.left):\n" -" yield x\n" -" yield t.label\n" -" for x in inorder(t.right):\n" -" yield x" -msgstr "" - -#: ../../whatsnew/2.2.rst:630 -msgid "" -"Two other examples in :file:`Lib/test/test_generators.py` produce solutions " -"for the N-Queens problem (placing $N$ queens on an $NxN$ chess board so that" -" no queen threatens another) and the Knight's Tour (a route that takes a " -"knight to every square of an $NxN$ chessboard without visiting any square " -"twice)." -msgstr "" - -#: ../../whatsnew/2.2.rst:635 -msgid "" -"The idea of generators comes from other programming languages, especially " -"Icon (https://www2.cs.arizona.edu/icon/), where the idea of generators is " -"central. In Icon, every expression and function call behaves like a " -"generator. One example from \"An Overview of the Icon Programming " -"Language\" at https://www2.cs.arizona.edu/icon/docs/ipd266.htm gives an idea" -" of what this looks like::" -msgstr "" - -#: ../../whatsnew/2.2.rst:642 -msgid "" -"sentence := \"Store it in the neighboring harbor\"\n" -"if (i := find(\"or\", sentence)) > 5 then write(i)" -msgstr "" - -#: ../../whatsnew/2.2.rst:645 -msgid "" -"In Icon the :func:`!find` function returns the indexes at which the " -"substring \"or\" is found: 3, 23, 33. In the :keyword:`if` statement, ``i``" -" is first assigned a value of 3, but 3 is less than 5, so the comparison " -"fails, and Icon retries it with the second value of 23. 23 is greater than " -"5, so the comparison now succeeds, and the code prints the value 23 to the " -"screen." -msgstr "" - -#: ../../whatsnew/2.2.rst:651 -msgid "" -"Python doesn't go nearly as far as Icon in adopting generators as a central " -"concept. Generators are considered a new part of the core Python language, " -"but learning or using them isn't compulsory; if they don't solve any " -"problems that you have, feel free to ignore them. One novel feature of " -"Python's interface as compared to Icon's is that a generator's state is " -"represented as a concrete object (the iterator) that can be passed around to" -" other functions or stored in a data structure." -msgstr "" - -#: ../../whatsnew/2.2.rst:662 -msgid ":pep:`255` - Simple Generators" -msgstr "" - -#: ../../whatsnew/2.2.rst:663 -msgid "" -"Written by Neil Schemenauer, Tim Peters, Magnus Lie Hetland. Implemented " -"mostly by Neil Schemenauer and Tim Peters, with other fixes from the Python " -"Labs crew." -msgstr "" - -#: ../../whatsnew/2.2.rst:670 -msgid "PEP 237: Unifying Long Integers and Integers" -msgstr "" - -#: ../../whatsnew/2.2.rst:672 -msgid "" -"In recent versions, the distinction between regular integers, which are " -"32-bit values on most machines, and long integers, which can be of arbitrary" -" size, was becoming an annoyance. For example, on platforms that support " -"files larger than ``2**32`` bytes, the :meth:`!tell` method of file objects " -"has to return a long integer. However, there were various bits of Python " -"that expected plain integers and would raise an error if a long integer was " -"provided instead. For example, in Python 1.5, only regular integers could " -"be used as a slice index, and ``'abc'[1L:]`` would raise a :exc:`TypeError` " -"exception with the message 'slice index must be int'." -msgstr "" - -#: ../../whatsnew/2.2.rst:682 -msgid "" -"Python 2.2 will shift values from short to long integers as required. The " -"'L' suffix is no longer needed to indicate a long integer literal, as now " -"the compiler will choose the appropriate type. (Using the 'L' suffix will " -"be discouraged in future 2.x versions of Python, triggering a warning in " -"Python 2.4, and probably dropped in Python 3.0.) Many operations that used " -"to raise an :exc:`OverflowError` will now return a long integer as their " -"result. For example::" -msgstr "" - -#: ../../whatsnew/2.2.rst:690 -msgid "" -">>> 1234567890123\n" -"1234567890123L\n" -">>> 2 ** 64\n" -"18446744073709551616L" -msgstr "" - -#: ../../whatsnew/2.2.rst:695 -msgid "" -"In most cases, integers and long integers will now be treated identically. " -"You can still distinguish them with the :func:`type` built-in function, but " -"that's rarely needed." -msgstr "" - -#: ../../whatsnew/2.2.rst:702 -msgid ":pep:`237` - Unifying Long Integers and Integers" -msgstr "" - -#: ../../whatsnew/2.2.rst:703 -msgid "" -"Written by Moshe Zadka and Guido van Rossum. Implemented mostly by Guido " -"van Rossum." -msgstr "" - -#: ../../whatsnew/2.2.rst:710 -msgid "PEP 238: Changing the Division Operator" -msgstr "" - -#: ../../whatsnew/2.2.rst:712 -msgid "" -"The most controversial change in Python 2.2 heralds the start of an effort " -"to fix an old design flaw that's been in Python from the beginning. " -"Currently Python's division operator, ``/``, behaves like C's division " -"operator when presented with two integer arguments: it returns an integer " -"result that's truncated down when there would be a fractional part. For " -"example, ``3/2`` is 1, not 1.5, and ``(-1)/2`` is -1, not -0.5. This means " -"that the results of division can vary unexpectedly depending on the type of " -"the two operands and because Python is dynamically typed, it can be " -"difficult to determine the possible types of the operands." -msgstr "" - -#: ../../whatsnew/2.2.rst:722 -msgid "" -"(The controversy is over whether this is *really* a design flaw, and whether" -" it's worth breaking existing code to fix this. It's caused endless " -"discussions on python-dev, and in July 2001 erupted into a storm of acidly " -"sarcastic postings on :newsgroup:`comp.lang.python`. I won't argue for " -"either side here and will stick to describing what's implemented in 2.2. " -"Read :pep:`238` for a summary of arguments and counter-arguments.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:729 -msgid "" -"Because this change might break code, it's being introduced very gradually. " -"Python 2.2 begins the transition, but the switch won't be complete until " -"Python 3.0." -msgstr "" - -#: ../../whatsnew/2.2.rst:733 -msgid "" -"First, I'll borrow some terminology from :pep:`238`. \"True division\" is " -"the division that most non-programmers are familiar with: 3/2 is 1.5, 1/4 is" -" 0.25, and so forth. \"Floor division\" is what Python's ``/`` operator " -"currently does when given integer operands; the result is the floor of the " -"value returned by true division. \"Classic division\" is the current mixed " -"behaviour of ``/``; it returns the result of floor division when the " -"operands are integers, and returns the result of true division when one of " -"the operands is a floating-point number." -msgstr "" - -#: ../../whatsnew/2.2.rst:741 -msgid "Here are the changes 2.2 introduces:" -msgstr "" - -#: ../../whatsnew/2.2.rst:743 -msgid "" -"A new operator, ``//``, is the floor division operator. (Yes, we know it " -"looks like C++'s comment symbol.) ``//`` *always* performs floor division " -"no matter what the types of its operands are, so ``1 // 2`` is 0 and ``1.0 " -"// 2.0`` is also 0.0." -msgstr "" - -#: ../../whatsnew/2.2.rst:748 -msgid "" -"``//`` is always available in Python 2.2; you don't need to enable it using " -"a ``__future__`` statement." -msgstr "" - -#: ../../whatsnew/2.2.rst:751 -msgid "" -"By including a ``from __future__ import division`` in a module, the ``/`` " -"operator will be changed to return the result of true division, so ``1/2`` " -"is 0.5. Without the ``__future__`` statement, ``/`` still means classic " -"division. The default meaning of ``/`` will not change until Python 3.0." -msgstr "" - -#: ../../whatsnew/2.2.rst:756 -msgid "" -"Classes can define methods called :meth:`~object.__truediv__` and " -":meth:`~object.__floordiv__` to overload the two division operators. At the" -" C level, there are also slots in the :c:type:`PyNumberMethods` structure so" -" extension types can define the two operators." -msgstr "" - -#: ../../whatsnew/2.2.rst:761 -msgid "" -"Python 2.2 supports some command-line arguments for testing whether code " -"will work with the changed division semantics. Running python with " -":option:`!-Q warn` will cause a warning to be issued whenever division is " -"applied to two integers. You can use this to find code that's affected by " -"the change and fix it. By default, Python 2.2 will simply perform classic " -"division without a warning; the warning will be turned on by default in " -"Python 2.3." -msgstr "" - -#: ../../whatsnew/2.2.rst:771 -msgid ":pep:`238` - Changing the Division Operator" -msgstr "" - -#: ../../whatsnew/2.2.rst:772 -msgid "" -"Written by Moshe Zadka and Guido van Rossum. Implemented by Guido van " -"Rossum.." -msgstr "" - -#: ../../whatsnew/2.2.rst:778 -msgid "Unicode Changes" -msgstr "" - -#: ../../whatsnew/2.2.rst:780 -msgid "" -"Python's Unicode support has been enhanced a bit in 2.2. Unicode strings " -"are usually stored as UCS-2, as 16-bit unsigned integers. Python 2.2 can " -"also be compiled to use UCS-4, 32-bit unsigned integers, as its internal " -"encoding by supplying :option:`!--enable-unicode=ucs4` to the configure " -"script. (It's also possible to specify :option:`!--disable-unicode` to " -"completely disable Unicode support.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:787 -msgid "" -"When built to use UCS-4 (a \"wide Python\"), the interpreter can natively " -"handle Unicode characters from U+000000 to U+110000, so the range of legal " -"values for the :func:`!unichr` function is expanded accordingly. Using an " -"interpreter compiled to use UCS-2 (a \"narrow Python\"), values greater than" -" 65535 will still cause :func:`!unichr` to raise a :exc:`ValueError` " -"exception. This is all described in :pep:`261`, \"Support for 'wide' Unicode" -" characters\"; consult it for further details." -msgstr "" - -#: ../../whatsnew/2.2.rst:795 -msgid "" -"Another change is simpler to explain. Since their introduction, Unicode " -"strings have supported an :meth:`!encode` method to convert the string to a " -"selected encoding such as UTF-8 or Latin-1. A symmetric " -"``decode([*encoding*])`` method has been added to 8-bit strings (though not " -"to Unicode strings) in 2.2. :meth:`!decode` assumes that the string is in " -"the specified encoding and decodes it, returning whatever is returned by the" -" codec." -msgstr "" - -#: ../../whatsnew/2.2.rst:802 -msgid "" -"Using this new feature, codecs have been added for tasks not directly " -"related to Unicode. For example, codecs have been added for uu-encoding, " -"MIME's base64 encoding, and compression with the :mod:`zlib` module::" -msgstr "" - -#: ../../whatsnew/2.2.rst:806 -msgid "" -">>> s = \"\"\"Here is a lengthy piece of redundant, overly verbose,\n" -"... and repetitive text.\n" -"... \"\"\"\n" -">>> data = s.encode('zlib')\n" -">>> data\n" -"'x\\x9c\\r\\xc9\\xc1\\r\\x80 \\x10\\x04\\xc0?Ul...'\n" -">>> data.decode('zlib')\n" -"'Here is a lengthy piece of redundant, overly verbose,\\nand repetitive text.\\n'\n" -">>> print s.encode('uu')\n" -"begin 666 \n" -"M2&5R92!I=F5R8F]S92P*86YD(')E<&5T:71I=F4@=&5X=\"X*\n" -"\n" -"end\n" -">>> \"sheesh\".encode('rot-13')\n" -"'furrfu'" -msgstr "" - -#: ../../whatsnew/2.2.rst:823 -msgid "" -"To convert a class instance to Unicode, a :meth:`!__unicode__` method can be" -" defined by a class, analogous to :meth:`!__str__`." -msgstr "" - -#: ../../whatsnew/2.2.rst:826 -msgid "" -":meth:`!encode`, :meth:`!decode`, and :meth:`!__unicode__` were implemented " -"by Marc-André Lemburg. The changes to support using UCS-4 internally were " -"implemented by Fredrik Lundh and Martin von Löwis." -msgstr "" - -#: ../../whatsnew/2.2.rst:833 -msgid ":pep:`261` - Support for 'wide' Unicode characters" -msgstr "" - -#: ../../whatsnew/2.2.rst:834 -msgid "Written by Paul Prescod." -msgstr "" - -#: ../../whatsnew/2.2.rst:840 -msgid "PEP 227: Nested Scopes" -msgstr "" - -#: ../../whatsnew/2.2.rst:842 -msgid "" -"In Python 2.1, statically nested scopes were added as an optional feature, " -"to be enabled by a ``from __future__ import nested_scopes`` directive. In " -"2.2 nested scopes no longer need to be specially enabled, and are now always" -" present. The rest of this section is a copy of the description of nested " -"scopes from my \"What's New in Python 2.1\" document; if you read it when " -"2.1 came out, you can skip the rest of this section." -msgstr "" - -#: ../../whatsnew/2.2.rst:849 -msgid "" -"The largest change introduced in Python 2.1, and made complete in 2.2, is to" -" Python's scoping rules. In Python 2.0, at any given time there are at most" -" three namespaces used to look up variable names: local, module-level, and " -"the built-in namespace. This often surprised people because it didn't match" -" their intuitive expectations. For example, a nested recursive function " -"definition doesn't work::" -msgstr "" - -#: ../../whatsnew/2.2.rst:856 -msgid "" -"def f():\n" -" ...\n" -" def g(value):\n" -" ...\n" -" return g(value-1) + 1\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.2.rst:863 -msgid "" -"The function :func:`!g` will always raise a :exc:`NameError` exception, " -"because the binding of the name ``g`` isn't in either its local namespace or" -" in the module-level namespace. This isn't much of a problem in practice " -"(how often do you recursively define interior functions like this?), but " -"this also made using the :keyword:`lambda` expression clumsier, and this was" -" a problem in practice. In code which uses :keyword:`!lambda` you can often " -"find local variables being copied by passing them as the default values of " -"arguments. ::" -msgstr "" - -#: ../../whatsnew/2.2.rst:871 -msgid "" -"def find(self, name):\n" -" \"Return list of any entries equal to 'name'\"\n" -" L = filter(lambda x, name=name: x == name,\n" -" self.list_attribute)\n" -" return L" -msgstr "" - -#: ../../whatsnew/2.2.rst:877 -msgid "" -"The readability of Python code written in a strongly functional style " -"suffers greatly as a result." -msgstr "" - -#: ../../whatsnew/2.2.rst:880 -msgid "" -"The most significant change to Python 2.2 is that static scoping has been " -"added to the language to fix this problem. As a first effect, the " -"``name=name`` default argument is now unnecessary in the above example. Put" -" simply, when a given variable name is not assigned a value within a " -"function (by an assignment, or the :keyword:`def`, :keyword:`class`, or " -":keyword:`import` statements), references to the variable will be looked up " -"in the local namespace of the enclosing scope. A more detailed explanation " -"of the rules, and a dissection of the implementation, can be found in the " -"PEP." -msgstr "" - -#: ../../whatsnew/2.2.rst:889 -msgid "" -"This change may cause some compatibility problems for code where the same " -"variable name is used both at the module level and as a local variable " -"within a function that contains further function definitions. This seems " -"rather unlikely though, since such code would have been pretty confusing to " -"read in the first place." -msgstr "" - -#: ../../whatsnew/2.2.rst:895 -msgid "" -"One side effect of the change is that the ``from module import *`` and " -"``exec`` statements have been made illegal inside a function scope under " -"certain conditions. The Python reference manual has said all along that " -"``from module import *`` is only legal at the top level of a module, but the" -" CPython interpreter has never enforced this before. As part of the " -"implementation of nested scopes, the compiler which turns Python source into" -" bytecodes has to generate different code to access variables in a " -"containing scope. ``from module import *`` and ``exec`` make it impossible " -"for the compiler to figure this out, because they add names to the local " -"namespace that are unknowable at compile time. Therefore, if a function " -"contains function definitions or :keyword:`lambda` expressions with free " -"variables, the compiler will flag this by raising a :exc:`SyntaxError` " -"exception." -msgstr "" - -#: ../../whatsnew/2.2.rst:908 -msgid "To make the preceding explanation a bit clearer, here's an example::" -msgstr "" - -#: ../../whatsnew/2.2.rst:910 -msgid "" -"x = 1\n" -"def f():\n" -" # The next line is a syntax error\n" -" exec 'x=2'\n" -" def g():\n" -" return x" -msgstr "" - -#: ../../whatsnew/2.2.rst:917 -msgid "" -"Line 4 containing the ``exec`` statement is a syntax error, since ``exec`` " -"would define a new local variable named ``x`` whose value should be accessed" -" by :func:`!g`." -msgstr "" - -#: ../../whatsnew/2.2.rst:921 -msgid "" -"This shouldn't be much of a limitation, since ``exec`` is rarely used in " -"most Python code (and when it is used, it's often a sign of a poor design " -"anyway)." -msgstr "" - -#: ../../whatsnew/2.2.rst:928 -msgid ":pep:`227` - Statically Nested Scopes" -msgstr "" - -#: ../../whatsnew/2.2.rst:929 -msgid "Written and implemented by Jeremy Hylton." -msgstr "" - -#: ../../whatsnew/2.2.rst:935 -msgid "New and Improved Modules" -msgstr "Modul Baru dan Ditingkatkan" - -#: ../../whatsnew/2.2.rst:937 -msgid "" -"The :mod:`xmlrpclib ` module was contributed to the standard " -"library by Fredrik Lundh, providing support for writing XML-RPC clients. " -"XML-RPC is a simple remote procedure call protocol built on top of HTTP and " -"XML. For example, the following snippet retrieves a list of RSS channels " -"from the O'Reilly Network, and then lists the recent headlines for one " -"channel::" -msgstr "" - -#: ../../whatsnew/2.2.rst:943 -msgid "" -"import xmlrpclib\n" -"s = xmlrpclib.Server(\n" -" 'http://www.oreillynet.com/meerkat/xml-rpc/server.php')\n" -"channels = s.meerkat.getChannels()\n" -"# channels is a list of dictionaries, like this:\n" -"# [{'id': 4, 'title': 'Freshmeat Daily News'}\n" -"# {'id': 190, 'title': '32Bits Online'},\n" -"# {'id': 4549, 'title': '3DGamers'}, ... ]\n" -"\n" -"# Get the items for one channel\n" -"items = s.meerkat.getItems( {'channel': 4} )\n" -"\n" -"# 'items' is another list of dictionaries, like this:\n" -"# [{'link': 'http://freshmeat.net/releases/52719/',\n" -"# 'description': 'A utility which converts HTML to XSL FO.',\n" -"# 'title': 'html2fo 0.3 (Default)'}, ... ]" -msgstr "" - -#: ../../whatsnew/2.2.rst:960 -msgid "" -"The :mod:`SimpleXMLRPCServer ` module makes it easy to create" -" straightforward XML-RPC servers. See http://xmlrpc.scripting.com/ for more" -" information about XML-RPC." -msgstr "" - -#: ../../whatsnew/2.2.rst:963 -msgid "" -"The new :mod:`hmac` module implements the HMAC algorithm described by " -":rfc:`2104`. (Contributed by Gerhard Häring.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:966 -msgid "" -"Several functions that originally returned lengthy tuples now return pseudo-" -"sequences that still behave like tuples but also have mnemonic attributes " -"such as :attr:`!memberst_mtime` or :attr:`~time.struct_time.tm_year`. The " -"enhanced functions include :func:`~os.stat`, :func:`~os.fstat`, " -":func:`~os.statvfs`, and :func:`~os.fstatvfs` in the :mod:`os` module, and " -":func:`~time.localtime`, :func:`~time.gmtime`, and :func:`~time.strptime` in" -" the :mod:`time` module." -msgstr "" - -#: ../../whatsnew/2.2.rst:973 -msgid "" -"For example, to obtain a file's size using the old tuples, you'd end up " -"writing something like ``file_size = os.stat(filename)[stat.ST_SIZE]``, but " -"now this can be written more clearly as ``file_size = " -"os.stat(filename).st_size``." -msgstr "" - -#: ../../whatsnew/2.2.rst:977 -msgid "The original patch for this feature was contributed by Nick Mathewson." -msgstr "" - -#: ../../whatsnew/2.2.rst:979 -msgid "" -"The Python profiler has been extensively reworked and various errors in its " -"output have been corrected. (Contributed by Fred L. Drake, Jr. and Tim " -"Peters.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:982 -msgid "" -"The :mod:`socket` module can be compiled to support IPv6; specify the " -":option:`!--enable-ipv6` option to Python's configure script. (Contributed " -"by Jun-ichiro \"itojun\" Hagino.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:986 -msgid "" -"Two new format characters were added to the :mod:`struct` module for 64-bit " -"integers on platforms that support the C :c:expr:`long long` type. ``q`` is" -" for a signed 64-bit integer, and ``Q`` is for an unsigned one. The value " -"is returned in Python's long integer type. (Contributed by Tim Peters.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:991 -msgid "" -"In the interpreter's interactive mode, there's a new built-in function " -":func:`help` that uses the :mod:`pydoc` module introduced in Python 2.1 to " -"provide interactive help. ``help(object)`` displays any available help text " -"about *object*. :func:`help` with no argument puts you in an online help " -"utility, where you can enter the names of functions, classes, or modules to " -"read their help text. (Contributed by Guido van Rossum, using Ka-Ping Yee's " -":mod:`pydoc` module.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:999 -msgid "" -"Various bugfixes and performance improvements have been made to the SRE " -"engine underlying the :mod:`re` module. For example, the :func:`re.sub` and" -" :func:`re.split` functions have been rewritten in C. Another contributed " -"patch speeds up certain Unicode character ranges by a factor of two, and a " -"new :meth:`~re.finditer` method that returns an iterator over all the non-" -"overlapping matches in a given string. (SRE is maintained by Fredrik " -"Lundh. The BIGCHARSET patch was contributed by Martin von Löwis.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1007 -msgid "" -"The :mod:`smtplib` module now supports :rfc:`2487`, \"Secure SMTP over " -"TLS\", so it's now possible to encrypt the SMTP traffic between a Python " -"program and the mail transport agent being handed a message. :mod:`smtplib`" -" also supports SMTP authentication. (Contributed by Gerhard Häring.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1012 -msgid "" -"The :mod:`imaplib` module, maintained by Piers Lauder, has support for " -"several new extensions: the NAMESPACE extension defined in :rfc:`2342`, " -"SORT, GETACL and SETACL. (Contributed by Anthony Baxter and Michel " -"Pelletier.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1016 -msgid "" -"The :mod:`!rfc822` module's parsing of email addresses is now compliant with" -" :rfc:`2822`, an update to :rfc:`822`. (The module's name is *not* going to" -" be changed to ``rfc2822``.) A new package, :mod:`email`, has also been " -"added for parsing and generating e-mail messages. (Contributed by Barry " -"Warsaw, and arising out of his work on Mailman.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1022 -msgid "" -"The :mod:`difflib` module now contains a new :class:`!Differ` class for " -"producing human-readable lists of changes (a \"delta\") between two " -"sequences of lines of text. There are also two generator functions, " -":func:`!ndiff` and :func:`!restore`, which respectively return a delta from " -"two sequences, or one of the original sequences from a delta. (Grunt work " -"contributed by David Goodger, from ndiff.py code by Tim Peters who then did " -"the generatorization.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1029 -msgid "" -"New constants :const:`!ascii_letters`, :const:`!ascii_lowercase`, and " -":const:`!ascii_uppercase` were added to the :mod:`string` module. There " -"were several modules in the standard library that used " -":const:`!string.letters` to mean the ranges A-Za-z, but that assumption is " -"incorrect when locales are in use, because :const:`!string.letters` varies " -"depending on the set of legal characters defined by the current locale. The" -" buggy modules have all been fixed to use :const:`!ascii_letters` instead. " -"(Reported by an unknown person; fixed by Fred L. Drake, Jr.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1038 -msgid "" -"The :mod:`mimetypes` module now makes it easier to use alternative MIME-type" -" databases by the addition of a :class:`~mimetypes.MimeTypes` class, which " -"takes a list of filenames to be parsed. (Contributed by Fred L. Drake, Jr.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1042 -msgid "" -"A :class:`~threading.Timer` class was added to the :mod:`threading` module " -"that allows scheduling an activity to happen at some future time. " -"(Contributed by Itamar Shtull-Trauring.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1050 -msgid "Interpreter Changes and Fixes" -msgstr "" - -#: ../../whatsnew/2.2.rst:1052 -msgid "" -"Some of the changes only affect people who deal with the Python interpreter " -"at the C level because they're writing Python extension modules, embedding " -"the interpreter, or just hacking on the interpreter itself. If you only " -"write Python code, none of the changes described here will affect you very " -"much." -msgstr "" - -#: ../../whatsnew/2.2.rst:1057 -msgid "" -"Profiling and tracing functions can now be implemented in C, which can " -"operate at much higher speeds than Python-based functions and should reduce " -"the overhead of profiling and tracing. This will be of interest to authors" -" of development environments for Python. Two new C functions were added to " -"Python's API, :c:func:`PyEval_SetProfile` and :c:func:`PyEval_SetTrace`. The" -" existing :func:`sys.setprofile` and :func:`sys.settrace` functions still " -"exist, and have simply been changed to use the new C-level interface. " -"(Contributed by Fred L. Drake, Jr.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1066 -msgid "" -"Another low-level API, primarily of interest to implementers of Python " -"debuggers and development tools, was added. " -":c:func:`PyInterpreterState_Head` and :c:func:`PyInterpreterState_Next` let " -"a caller walk through all the existing interpreter objects; " -":c:func:`PyInterpreterState_ThreadHead` and :c:func:`PyThreadState_Next` " -"allow looping over all the thread states for a given interpreter. " -"(Contributed by David Beazley.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1073 -msgid "" -"The C-level interface to the garbage collector has been changed to make it " -"easier to write extension types that support garbage collection and to debug" -" misuses of the functions. Various functions have slightly different " -"semantics, so a bunch of functions had to be renamed. Extensions that use " -"the old API will still compile but will *not* participate in garbage " -"collection, so updating them for 2.2 should be considered fairly high " -"priority." -msgstr "" - -#: ../../whatsnew/2.2.rst:1080 -msgid "" -"To upgrade an extension module to the new API, perform the following steps:" -msgstr "" - -#: ../../whatsnew/2.2.rst:1082 -msgid "Rename :c:macro:`!Py_TPFLAGS_GC` to :c:macro:`Py_TPFLAGS_HAVE_GC`." -msgstr "" - -#: ../../whatsnew/2.2.rst:1084 -msgid "" -"Use :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar` to allocate" -msgstr "" - -#: ../../whatsnew/2.2.rst:1085 -msgid "objects, and :c:func:`PyObject_GC_Del` to deallocate them." -msgstr "" - -#: ../../whatsnew/2.2.rst:1087 -msgid "" -"Rename :c:func:`!PyObject_GC_Init` to :c:func:`PyObject_GC_Track` and " -":c:func:`!PyObject_GC_Fini` to :c:func:`PyObject_GC_UnTrack`." -msgstr "" - -#: ../../whatsnew/2.2.rst:1090 -msgid "Remove :c:macro:`!PyGC_HEAD_SIZE` from object size calculations." -msgstr "" - -#: ../../whatsnew/2.2.rst:1092 -msgid "" -"Remove calls to :c:func:`!PyObject_AS_GC` and :c:func:`!PyObject_FROM_GC`." -msgstr "" - -#: ../../whatsnew/2.2.rst:1094 -msgid "" -"A new ``et`` format sequence was added to :c:func:`PyArg_ParseTuple`; ``et``" -" takes both a parameter and an encoding name, and converts the parameter to " -"the given encoding if the parameter turns out to be a Unicode string, or " -"leaves it alone if it's an 8-bit string, assuming it to already be in the " -"desired encoding. This differs from the ``es`` format character, which " -"assumes that 8-bit strings are in Python's default ASCII encoding and " -"converts them to the specified new encoding. (Contributed by M.-A. Lemburg, " -"and used for the MBCS support on Windows described in the following " -"section.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1103 -msgid "" -"A different argument parsing function, :c:func:`PyArg_UnpackTuple`, has been" -" added that's simpler and presumably faster. Instead of specifying a format" -" string, the caller simply gives the minimum and maximum number of arguments" -" expected, and a set of pointers to :c:expr:`PyObject*` variables that will " -"be filled in with argument values." -msgstr "" - -#: ../../whatsnew/2.2.rst:1109 -msgid "" -"Two new flags :c:macro:`METH_NOARGS` and :c:macro:`METH_O` are available in " -"method definition tables to simplify implementation of methods with no " -"arguments or a single untyped argument. Calling such methods is more " -"efficient than calling a corresponding method that uses " -":c:macro:`METH_VARARGS`. Also, the old :c:macro:`!METH_OLDARGS` style of " -"writing C methods is now officially deprecated." -msgstr "" - -#: ../../whatsnew/2.2.rst:1115 -msgid "" -"Two new wrapper functions, :c:func:`PyOS_snprintf` and " -":c:func:`PyOS_vsnprintf` were added to provide cross-platform " -"implementations for the relatively new :c:func:`snprintf` and " -":c:func:`vsnprintf` C lib APIs. In contrast to the standard " -":c:func:`sprintf` and :c:func:`!vsprintf` functions, the Python versions " -"check the bounds of the buffer used to protect against buffer overruns. " -"(Contributed by M.-A. Lemburg.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1122 -msgid "" -"The :c:func:`_PyTuple_Resize` function has lost an unused parameter, so now " -"it takes 2 parameters instead of 3. The third argument was never used, and " -"can simply be discarded when porting code from earlier versions to Python " -"2.2." -msgstr "" - -#: ../../whatsnew/2.2.rst:1130 -msgid "Other Changes and Fixes" -msgstr "Perubahan dan Perbaikan Lain" - -#: ../../whatsnew/2.2.rst:1132 -msgid "" -"As usual there were a bunch of other improvements and bugfixes scattered " -"throughout the source tree. A search through the CVS change logs finds " -"there were 527 patches applied and 683 bugs fixed between Python 2.1 and " -"2.2; 2.2.1 applied 139 patches and fixed 143 bugs; 2.2.2 applied 106 patches" -" and fixed 82 bugs. These figures are likely to be underestimates." -msgstr "" - -#: ../../whatsnew/2.2.rst:1138 -msgid "Some of the more notable changes are:" -msgstr "" - -#: ../../whatsnew/2.2.rst:1140 -msgid "" -"The code for the MacOS port for Python, maintained by Jack Jansen, is now " -"kept in the main Python CVS tree, and many changes have been made to support" -" MacOS X." -msgstr "" - -#: ../../whatsnew/2.2.rst:1143 -msgid "" -"The most significant change is the ability to build Python as a framework, " -"enabled by supplying the :option:`!--enable-framework` option to the " -"configure script when compiling Python. According to Jack Jansen, \"This " -"installs a self-contained Python installation plus the OS X framework " -"\"glue\" into :file:`/Library/Frameworks/Python.framework` (or another " -"location of choice). For now there is little immediate added benefit to this" -" (actually, there is the disadvantage that you have to change your PATH to " -"be able to find Python), but it is the basis for creating a full-blown " -"Python application, porting the MacPython IDE, possibly using Python as a " -"standard OSA scripting language and much more.\"" -msgstr "" - -#: ../../whatsnew/2.2.rst:1154 -msgid "" -"Most of the MacPython toolbox modules, which interface to MacOS APIs such as" -" windowing, QuickTime, scripting, etc. have been ported to OS X, but they've" -" been left commented out in :file:`setup.py`. People who want to experiment" -" with these modules can uncomment them manually." -msgstr "" - -#: ../../whatsnew/2.2.rst:1177 -msgid "" -"Keyword arguments passed to built-in functions that don't take them now " -"cause a :exc:`TypeError` exception to be raised, with the message " -"\"*function* takes no keyword arguments\"." -msgstr "" - -#: ../../whatsnew/2.2.rst:1181 -msgid "" -"Weak references, added in Python 2.1 as an extension module, are now part of" -" the core because they're used in the implementation of new-style classes. " -"The :exc:`ReferenceError` exception has therefore moved from the " -":mod:`weakref` module to become a built-in exception." -msgstr "" - -#: ../../whatsnew/2.2.rst:1186 -msgid "" -"A new script, :file:`Tools/scripts/cleanfuture.py` by Tim Peters, " -"automatically removes obsolete ``__future__`` statements from Python source " -"code." -msgstr "" - -#: ../../whatsnew/2.2.rst:1190 -msgid "" -"An additional *flags* argument has been added to the built-in function " -":func:`compile`, so the behaviour of ``__future__`` statements can now be " -"correctly observed in simulated shells, such as those presented by IDLE and " -"other development environments. This is described in :pep:`264`. " -"(Contributed by Michael Hudson.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1196 -msgid "" -"The new license introduced with Python 1.6 wasn't GPL-compatible. This is " -"fixed by some minor textual changes to the 2.2 license, so it's now legal to" -" embed Python inside a GPLed program again. Note that Python itself is not " -"GPLed, but instead is under a license that's essentially equivalent to the " -"BSD license, same as it always was. The license changes were also applied " -"to the Python 2.0.1 and 2.1.1 releases." -msgstr "" - -#: ../../whatsnew/2.2.rst:1203 -msgid "" -"When presented with a Unicode filename on Windows, Python will now convert " -"it to an MBCS encoded string, as used by the Microsoft file APIs. As MBCS " -"is explicitly used by the file APIs, Python's choice of ASCII as the default" -" encoding turns out to be an annoyance. On Unix, the locale's character set" -" is used if ``locale.nl_langinfo(CODESET)`` is available. (Windows support " -"was contributed by Mark Hammond with assistance from Marc-André Lemburg. " -"Unix support was added by Martin von Löwis.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1211 -msgid "" -"Large file support is now enabled on Windows. (Contributed by Tim Peters.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1213 -msgid "" -"The :file:`Tools/scripts/ftpmirror.py` script now parses a :file:`.netrc` " -"file, if you have one. (Contributed by Mike Romberg.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1216 -msgid "" -"Some features of the object returned by the :func:`!xrange` function are now" -" deprecated, and trigger warnings when they're accessed; they'll disappear " -"in Python 2.3. :class:`!xrange` objects tried to pretend they were full " -"sequence types by supporting slicing, sequence multiplication, and the " -":keyword:`in` operator, but these features were rarely used and therefore " -"buggy. The :meth:`!tolist` method and the :attr:`!start`, :attr:`!stop`, " -"and :attr:`!step` attributes are also being deprecated. At the C level, the" -" fourth argument to the :c:func:`!PyRange_New` function, ``repeat``, has " -"also been deprecated." -msgstr "" - -#: ../../whatsnew/2.2.rst:1225 -msgid "" -"There were a bunch of patches to the dictionary implementation, mostly to " -"fix potential core dumps if a dictionary contains objects that sneakily " -"changed their hash value, or mutated the dictionary they were contained in. " -"For a while python-dev fell into a gentle rhythm of Michael Hudson finding a" -" case that dumped core, Tim Peters fixing the bug, Michael finding another " -"case, and round and round it went." -msgstr "" - -#: ../../whatsnew/2.2.rst:1232 -msgid "" -"On Windows, Python can now be compiled with Borland C thanks to a number of " -"patches contributed by Stephen Hansen, though the result isn't fully " -"functional yet. (But this *is* progress...)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1236 -msgid "" -"Another Windows enhancement: Wise Solutions generously offered PythonLabs " -"use of their InstallerMaster 8.1 system. Earlier PythonLabs Windows " -"installers used Wise 5.0a, which was beginning to show its age. (Packaged " -"up by Tim Peters.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1240 -msgid "" -"Files ending in ``.pyw`` can now be imported on Windows. ``.pyw`` is a " -"Windows-only thing, used to indicate that a script needs to be run using " -"PYTHONW.EXE instead of PYTHON.EXE in order to prevent a DOS console from " -"popping up to display the output. This patch makes it possible to import " -"such scripts, in case they're also usable as modules. (Implemented by David" -" Bolen.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1246 -msgid "" -"On platforms where Python uses the C :c:func:`dlopen` function to load " -"extension modules, it's now possible to set the flags used by " -":c:func:`dlopen` using the :func:`sys.getdlopenflags` and " -":func:`sys.setdlopenflags` functions. (Contributed by Bram Stolk.)" -msgstr "" - -#: ../../whatsnew/2.2.rst:1251 -msgid "" -"The :func:`pow` built-in function no longer supports 3 arguments when " -"floating-point numbers are supplied. ``pow(x, y, z)`` returns ``(x**y) % " -"z``, but this is never useful for floating-point numbers, and the final " -"result varies unpredictably depending on the platform. A call such as " -"``pow(2.0, 8.0, 7.0)`` will now raise a :exc:`TypeError` exception." -msgstr "" - -#: ../../whatsnew/2.2.rst:1261 -msgid "Acknowledgements" -msgstr "Ucapan Terima Kasih" - -#: ../../whatsnew/2.2.rst:1263 -msgid "" -"The author would like to thank the following people for offering " -"suggestions, corrections and assistance with various drafts of this article:" -" Fred Bremmer, Keith Briggs, Andrew Dalke, Fred L. Drake, Jr., Carel " -"Fellinger, David Goodger, Mark Hammond, Stephen Hansen, Michael Hudson, Jack" -" Jansen, Marc-André Lemburg, Martin von Löwis, Fredrik Lundh, Michael McLay," -" Nick Mathewson, Paul Moore, Gustavo Niemeyer, Don O'Donnell, Joonas " -"Paalasma, Tim Peters, Jens Quade, Tom Reinhardt, Neil Schemenauer, Guido van" -" Rossum, Greg Ward, Edward Welbourne." -msgstr "" diff --git a/python-newest.whatsnew--2_3/id.po b/python-newest.whatsnew--2_3/id.po deleted file mode 100644 index 56befd4..0000000 --- a/python-newest.whatsnew--2_3/id.po +++ /dev/null @@ -1,3084 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# Faiq Zakki <221709674@stis.ac.id>, 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-02 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: oon arfiandwi (OonID) , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/2.3.rst:3 -msgid "What's New in Python 2.3" -msgstr "" - -#: ../../whatsnew/2.3.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../whatsnew/2.3.rst:5 -msgid "A.M. Kuchling" -msgstr "A.M. Kuchling" - -#: ../../whatsnew/2.3.rst:11 -msgid "" -"This article explains the new features in Python 2.3. Python 2.3 was " -"released on July 29, 2003." -msgstr "" - -#: ../../whatsnew/2.3.rst:14 -msgid "" -"The main themes for Python 2.3 are polishing some of the features added in " -"2.2, adding various small but useful enhancements to the core language, and " -"expanding the standard library. The new object model introduced in the " -"previous version has benefited from 18 months of bugfixes and from " -"optimization efforts that have improved the performance of new-style " -"classes. A few new built-in functions have been added such as :func:`sum` " -"and :func:`enumerate`. The :keyword:`in` operator can now be used for " -"substring searches (e.g. ``\"ab\" in \"abc\"`` returns :const:`True`)." -msgstr "" - -#: ../../whatsnew/2.3.rst:23 -msgid "" -"Some of the many new library features include Boolean, set, heap, and " -"date/time data types, the ability to import modules from ZIP-format " -"archives, metadata support for the long-awaited Python catalog, an updated " -"version of IDLE, and modules for logging messages, wrapping text, parsing " -"CSV files, processing command-line options, using BerkeleyDB databases... " -"the list of new and enhanced modules is lengthy." -msgstr "" - -#: ../../whatsnew/2.3.rst:30 -msgid "" -"This article doesn't attempt to provide a complete specification of the new " -"features, but instead provides a convenient overview. For full details, you" -" should refer to the documentation for Python 2.3, such as the Python " -"Library Reference and the Python Reference Manual. If you want to " -"understand the complete implementation and design rationale, refer to the " -"PEP for a particular new feature." -msgstr "" - -#: ../../whatsnew/2.3.rst:41 -msgid "PEP 218: A Standard Set Datatype" -msgstr "" - -#: ../../whatsnew/2.3.rst:43 -msgid "" -"The new :mod:`!sets` module contains an implementation of a set datatype. " -"The :class:`Set` class is for mutable sets, sets that can have members added" -" and removed. The :class:`!ImmutableSet` class is for sets that can't be " -"modified, and instances of :class:`!ImmutableSet` can therefore be used as " -"dictionary keys. Sets are built on top of dictionaries, so the elements " -"within a set must be hashable." -msgstr "" - -#: ../../whatsnew/2.3.rst:50 -msgid "Here's a simple example::" -msgstr "" - -#: ../../whatsnew/2.3.rst:52 -msgid "" -">>> import sets\n" -">>> S = sets.Set([1,2,3])\n" -">>> S\n" -"Set([1, 2, 3])\n" -">>> 1 in S\n" -"True\n" -">>> 0 in S\n" -"False\n" -">>> S.add(5)\n" -">>> S.remove(3)\n" -">>> S\n" -"Set([1, 2, 5])\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.3.rst:66 -msgid "" -"The union and intersection of sets can be computed with the " -":meth:`~frozenset.union` and :meth:`~frozenset.intersection` methods; an " -"alternative notation uses the bitwise operators ``&`` and ``|``. Mutable " -"sets also have in-place versions of these methods, :meth:`!union_update` and" -" :meth:`~frozenset.intersection_update`. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:71 -msgid "" -">>> S1 = sets.Set([1,2,3])\n" -">>> S2 = sets.Set([4,5,6])\n" -">>> S1.union(S2)\n" -"Set([1, 2, 3, 4, 5, 6])\n" -">>> S1 | S2 # Alternative notation\n" -"Set([1, 2, 3, 4, 5, 6])\n" -">>> S1.intersection(S2)\n" -"Set([])\n" -">>> S1 & S2 # Alternative notation\n" -"Set([])\n" -">>> S1.union_update(S2)\n" -">>> S1\n" -"Set([1, 2, 3, 4, 5, 6])\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.3.rst:86 -msgid "" -"It's also possible to take the symmetric difference of two sets. This is " -"the set of all elements in the union that aren't in the intersection. " -"Another way of putting it is that the symmetric difference contains all " -"elements that are in exactly one set. Again, there's an alternative " -"notation (``^``), and an in-place version with the ungainly name " -":meth:`~frozenset.symmetric_difference_update`. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:92 -msgid "" -">>> S1 = sets.Set([1,2,3,4])\n" -">>> S2 = sets.Set([3,4,5,6])\n" -">>> S1.symmetric_difference(S2)\n" -"Set([1, 2, 5, 6])\n" -">>> S1 ^ S2\n" -"Set([1, 2, 5, 6])\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.3.rst:100 -msgid "" -"There are also :meth:`!issubset` and :meth:`!issuperset` methods for " -"checking whether one set is a subset or superset of another::" -msgstr "" - -#: ../../whatsnew/2.3.rst:103 -msgid "" -">>> S1 = sets.Set([1,2,3])\n" -">>> S2 = sets.Set([2,3])\n" -">>> S2.issubset(S1)\n" -"True\n" -">>> S1.issubset(S2)\n" -"False\n" -">>> S1.issuperset(S2)\n" -"True\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.3.rst:116 -msgid ":pep:`218` - Adding a Built-In Set Object Type" -msgstr "" - -#: ../../whatsnew/2.3.rst:117 -msgid "" -"PEP written by Greg V. Wilson. Implemented by Greg V. Wilson, Alex Martelli," -" and GvR." -msgstr "" - -#: ../../whatsnew/2.3.rst:126 -msgid "PEP 255: Simple Generators" -msgstr "" - -#: ../../whatsnew/2.3.rst:128 -msgid "" -"In Python 2.2, generators were added as an optional feature, to be enabled " -"by a ``from __future__ import generators`` directive. In 2.3 generators no " -"longer need to be specially enabled, and are now always present; this means " -"that :keyword:`yield` is now always a keyword. The rest of this section is " -"a copy of the description of generators from the \"What's New in Python " -"2.2\" document; if you read it back when Python 2.2 came out, you can skip " -"the rest of this section." -msgstr "" - -#: ../../whatsnew/2.3.rst:136 -msgid "" -"You're doubtless familiar with how function calls work in Python or C. When " -"you call a function, it gets a private namespace where its local variables " -"are created. When the function reaches a :keyword:`return` statement, the " -"local variables are destroyed and the resulting value is returned to the " -"caller. A later call to the same function will get a fresh new set of local" -" variables. But, what if the local variables weren't thrown away on exiting " -"a function? What if you could later resume the function where it left off? " -"This is what generators provide; they can be thought of as resumable " -"functions." -msgstr "" - -#: ../../whatsnew/2.3.rst:145 -msgid "Here's the simplest example of a generator function::" -msgstr "" - -#: ../../whatsnew/2.3.rst:147 -msgid "" -"def generate_ints(N):\n" -" for i in range(N):\n" -" yield i" -msgstr "" - -#: ../../whatsnew/2.3.rst:151 -msgid "" -"A new keyword, :keyword:`yield`, was introduced for generators. Any " -"function containing a :keyword:`!yield` statement is a generator function; " -"this is detected by Python's bytecode compiler which compiles the function " -"specially as a result." -msgstr "" - -#: ../../whatsnew/2.3.rst:156 -msgid "" -"When you call a generator function, it doesn't return a single value; " -"instead it returns a generator object that supports the iterator protocol. " -"On executing the :keyword:`yield` statement, the generator outputs the value" -" of ``i``, similar to a :keyword:`return` statement. The big difference " -"between :keyword:`!yield` and a :keyword:`!return` statement is that on " -"reaching a :keyword:`!yield` the generator's state of execution is suspended" -" and local variables are preserved. On the next call to the generator's " -"``.next()`` method, the function will resume executing immediately after the" -" :keyword:`!yield` statement. (For complicated reasons, the " -":keyword:`!yield` statement isn't allowed inside the :keyword:`try` block of" -" a :keyword:`!try`...\\ :keyword:`!finally` statement; read :pep:`255` for a" -" full explanation of the interaction between :keyword:`!yield` and " -"exceptions.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:169 -msgid "Here's a sample usage of the :func:`!generate_ints` generator::" -msgstr "" - -#: ../../whatsnew/2.3.rst:171 -msgid "" -">>> gen = generate_ints(3)\n" -">>> gen\n" -"\n" -">>> gen.next()\n" -"0\n" -">>> gen.next()\n" -"1\n" -">>> gen.next()\n" -"2\n" -">>> gen.next()\n" -"Traceback (most recent call last):\n" -" File \"stdin\", line 1, in ?\n" -" File \"stdin\", line 2, in generate_ints\n" -"StopIteration" -msgstr "" - -#: ../../whatsnew/2.3.rst:186 -msgid "" -"You could equally write ``for i in generate_ints(5)``, or ``a,b,c = " -"generate_ints(3)``." -msgstr "" - -#: ../../whatsnew/2.3.rst:189 -msgid "" -"Inside a generator function, the :keyword:`return` statement can only be " -"used without a value, and signals the end of the procession of values; " -"afterwards the generator cannot return any further values. " -":keyword:`!return` with a value, such as ``return 5``, is a syntax error " -"inside a generator function. The end of the generator's results can also be" -" indicated by raising :exc:`StopIteration` manually, or by just letting the " -"flow of execution fall off the bottom of the function." -msgstr "" - -#: ../../whatsnew/2.3.rst:197 -msgid "" -"You could achieve the effect of generators manually by writing your own " -"class and storing all the local variables of the generator as instance " -"variables. For example, returning a list of integers could be done by " -"setting ``self.count`` to 0, and having the :meth:`next` method increment " -"``self.count`` and return it. However, for a moderately complicated " -"generator, writing a corresponding class would be much messier. " -":file:`Lib/test/test_generators.py` contains a number of more interesting " -"examples. The simplest one implements an in-order traversal of a tree using" -" generators recursively. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:206 -msgid "" -"# A recursive generator that generates Tree leaves in in-order.\n" -"def inorder(t):\n" -" if t:\n" -" for x in inorder(t.left):\n" -" yield x\n" -" yield t.label\n" -" for x in inorder(t.right):\n" -" yield x" -msgstr "" - -#: ../../whatsnew/2.3.rst:215 -msgid "" -"Two other examples in :file:`Lib/test/test_generators.py` produce solutions " -"for the N-Queens problem (placing $N$ queens on an $NxN$ chess board so that" -" no queen threatens another) and the Knight's Tour (a route that takes a " -"knight to every square of an $NxN$ chessboard without visiting any square " -"twice)." -msgstr "" - -#: ../../whatsnew/2.3.rst:220 -msgid "" -"The idea of generators comes from other programming languages, especially " -"Icon (https://www2.cs.arizona.edu/icon/), where the idea of generators is " -"central. In Icon, every expression and function call behaves like a " -"generator. One example from \"An Overview of the Icon Programming " -"Language\" at https://www2.cs.arizona.edu/icon/docs/ipd266.htm gives an idea" -" of what this looks like::" -msgstr "" - -#: ../../whatsnew/2.3.rst:227 -msgid "" -"sentence := \"Store it in the neighboring harbor\"\n" -"if (i := find(\"or\", sentence)) > 5 then write(i)" -msgstr "" - -#: ../../whatsnew/2.3.rst:230 -msgid "" -"In Icon the :func:`!find` function returns the indexes at which the " -"substring \"or\" is found: 3, 23, 33. In the :keyword:`if` statement, ``i``" -" is first assigned a value of 3, but 3 is less than 5, so the comparison " -"fails, and Icon retries it with the second value of 23. 23 is greater than " -"5, so the comparison now succeeds, and the code prints the value 23 to the " -"screen." -msgstr "" - -#: ../../whatsnew/2.3.rst:236 -msgid "" -"Python doesn't go nearly as far as Icon in adopting generators as a central " -"concept. Generators are considered part of the core Python language, but " -"learning or using them isn't compulsory; if they don't solve any problems " -"that you have, feel free to ignore them. One novel feature of Python's " -"interface as compared to Icon's is that a generator's state is represented " -"as a concrete object (the iterator) that can be passed around to other " -"functions or stored in a data structure." -msgstr "" - -#: ../../whatsnew/2.3.rst:247 -msgid ":pep:`255` - Simple Generators" -msgstr "" - -#: ../../whatsnew/2.3.rst:248 -msgid "" -"Written by Neil Schemenauer, Tim Peters, Magnus Lie Hetland. Implemented " -"mostly by Neil Schemenauer and Tim Peters, with other fixes from the Python " -"Labs crew." -msgstr "" - -#: ../../whatsnew/2.3.rst:257 -msgid "PEP 263: Source Code Encodings" -msgstr "" - -#: ../../whatsnew/2.3.rst:259 -msgid "" -"Python source files can now be declared as being in different character set " -"encodings. Encodings are declared by including a specially formatted " -"comment in the first or second line of the source file. For example, a " -"UTF-8 file can be declared with::" -msgstr "" - -#: ../../whatsnew/2.3.rst:264 -msgid "" -"#!/usr/bin/env python\n" -"# -*- coding: UTF-8 -*-" -msgstr "" - -#: ../../whatsnew/2.3.rst:267 -msgid "" -"Without such an encoding declaration, the default encoding used is 7-bit " -"ASCII. Executing or importing modules that contain string literals with " -"8-bit characters and have no encoding declaration will result in a " -":exc:`DeprecationWarning` being signalled by Python 2.3; in 2.4 this will be" -" a syntax error." -msgstr "" - -#: ../../whatsnew/2.3.rst:273 -msgid "" -"The encoding declaration only affects Unicode string literals, which will be" -" converted to Unicode using the specified encoding. Note that Python " -"identifiers are still restricted to ASCII characters, so you can't have " -"variable names that use characters outside of the usual alphanumerics." -msgstr "" - -#: ../../whatsnew/2.3.rst:281 -msgid ":pep:`263` - Defining Python Source Code Encodings" -msgstr "" - -#: ../../whatsnew/2.3.rst:282 -msgid "" -"Written by Marc-André Lemburg and Martin von Löwis; implemented by Suzuki " -"Hisao and Martin von Löwis." -msgstr "" - -#: ../../whatsnew/2.3.rst:289 -msgid "PEP 273: Importing Modules from ZIP Archives" -msgstr "" - -#: ../../whatsnew/2.3.rst:291 -msgid "" -"The new :mod:`zipimport` module adds support for importing modules from a " -"ZIP-format archive. You don't need to import the module explicitly; it will" -" be automatically imported if a ZIP archive's filename is added to " -"``sys.path``. For example:" -msgstr "" - -#: ../../whatsnew/2.3.rst:296 -msgid "" -"amk@nyman:~/src/python$ unzip -l /tmp/example.zip\n" -"Archive: /tmp/example.zip\n" -" Length Date Time Name\n" -" -------- ---- ---- ----\n" -" 8467 11-26-02 22:30 jwzthreading.py\n" -" -------- -------\n" -" 8467 1 file\n" -"amk@nyman:~/src/python$ ./python\n" -"Python 2.3 (#1, Aug 1 2003, 19:54:32)\n" -">>> import sys\n" -">>> sys.path.insert(0, '/tmp/example.zip') # Add .zip file to front of path\n" -">>> import jwzthreading\n" -">>> jwzthreading.__file__\n" -"'/tmp/example.zip/jwzthreading.py'\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.3.rst:314 -msgid "" -"An entry in ``sys.path`` can now be the filename of a ZIP archive. The ZIP " -"archive can contain any kind of files, but only files named :file:`\\*.py`, " -":file:`\\*.pyc`, or :file:`\\*.pyo` can be imported. If an archive only " -"contains :file:`\\*.py` files, Python will not attempt to modify the archive" -" by adding the corresponding :file:`\\*.pyc` file, meaning that if a ZIP " -"archive doesn't contain :file:`\\*.pyc` files, importing may be rather slow." -msgstr "" - -#: ../../whatsnew/2.3.rst:321 -msgid "" -"A path within the archive can also be specified to only import from a " -"subdirectory; for example, the path :file:`/tmp/example.zip/lib/` would only" -" import from the :file:`lib/` subdirectory within the archive." -msgstr "" - -#: ../../whatsnew/2.3.rst:328 -msgid ":pep:`273` - Import Modules from Zip Archives" -msgstr "" - -#: ../../whatsnew/2.3.rst:329 -msgid "" -"Written by James C. Ahlstrom, who also provided an implementation. Python " -"2.3 follows the specification in :pep:`273`, but uses an implementation " -"written by Just van Rossum that uses the import hooks described in " -":pep:`302`. See section :ref:`section-pep302` for a description of the new " -"import hooks." -msgstr "" - -#: ../../whatsnew/2.3.rst:338 -msgid "PEP 277: Unicode file name support for Windows NT" -msgstr "" - -#: ../../whatsnew/2.3.rst:340 -msgid "" -"On Windows NT, 2000, and XP, the system stores file names as Unicode " -"strings. Traditionally, Python has represented file names as byte strings, " -"which is inadequate because it renders some file names inaccessible." -msgstr "" - -#: ../../whatsnew/2.3.rst:344 -msgid "" -"Python now allows using arbitrary Unicode strings (within the limitations of" -" the file system) for all functions that expect file names, most notably the" -" :func:`open` built-in function. If a Unicode string is passed to " -":func:`os.listdir`, Python now returns a list of Unicode strings. A new " -"function, :func:`!os.getcwdu`, returns the current directory as a Unicode " -"string." -msgstr "" - -#: ../../whatsnew/2.3.rst:350 -msgid "" -"Byte strings still work as file names, and on Windows Python will " -"transparently convert them to Unicode using the ``mbcs`` encoding." -msgstr "" - -#: ../../whatsnew/2.3.rst:353 -msgid "" -"Other systems also allow Unicode strings as file names but convert them to " -"byte strings before passing them to the system, which can cause a " -":exc:`UnicodeError` to be raised. Applications can test whether arbitrary " -"Unicode strings are supported as file names by checking " -":const:`os.path.supports_unicode_filenames`, a Boolean value." -msgstr "" - -#: ../../whatsnew/2.3.rst:359 -msgid "Under MacOS, :func:`os.listdir` may now return Unicode filenames." -msgstr "" - -#: ../../whatsnew/2.3.rst:364 -msgid ":pep:`277` - Unicode file name support for Windows NT" -msgstr "" - -#: ../../whatsnew/2.3.rst:365 -msgid "" -"Written by Neil Hodgson; implemented by Neil Hodgson, Martin von Löwis, and " -"Mark Hammond." -msgstr "" - -#: ../../whatsnew/2.3.rst:375 -msgid "PEP 278: Universal Newline Support" -msgstr "" - -#: ../../whatsnew/2.3.rst:377 -msgid "" -"The three major operating systems used today are Microsoft Windows, Apple's " -"Macintosh OS, and the various Unix derivatives. A minor irritation of " -"cross-platform work is that these three platforms all use different " -"characters to mark the ends of lines in text files. Unix uses the linefeed " -"(ASCII character 10), MacOS uses the carriage return (ASCII character 13), " -"and Windows uses a two-character sequence of a carriage return plus a " -"newline." -msgstr "" - -#: ../../whatsnew/2.3.rst:384 -msgid "" -"Python's file objects can now support end of line conventions other than the" -" one followed by the platform on which Python is running. Opening a file " -"with the mode ``'U'`` or ``'rU'`` will open a file for reading in " -":term:`universal newlines` mode. All three line ending conventions will be " -"translated to a ``'\\n'`` in the strings returned by the various file " -"methods such as :meth:`!read` and :meth:`!readline`." -msgstr "" - -#: ../../whatsnew/2.3.rst:391 -msgid "" -"Universal newline support is also used when importing modules and when " -"executing a file with the :func:`!execfile` function. This means that " -"Python modules can be shared between all three operating systems without " -"needing to convert the line-endings." -msgstr "" - -#: ../../whatsnew/2.3.rst:396 -msgid "" -"This feature can be disabled when compiling Python by specifying the " -":option:`!--without-universal-newlines` switch when running Python's " -":program:`configure` script." -msgstr "" - -#: ../../whatsnew/2.3.rst:403 -msgid ":pep:`278` - Universal Newline Support" -msgstr "" - -#: ../../whatsnew/2.3.rst:404 -msgid "Written and implemented by Jack Jansen." -msgstr "" - -#: ../../whatsnew/2.3.rst:412 -msgid "PEP 279: enumerate()" -msgstr "" - -#: ../../whatsnew/2.3.rst:414 -msgid "" -"A new built-in function, :func:`enumerate`, will make certain loops a bit " -"clearer. ``enumerate(thing)``, where *thing* is either an iterator or a " -"sequence, returns an iterator that will return ``(0, thing[0])``, ``(1, " -"thing[1])``, ``(2, thing[2])``, and so forth." -msgstr "" - -#: ../../whatsnew/2.3.rst:419 -msgid "A common idiom to change every element of a list looks like this::" -msgstr "" - -#: ../../whatsnew/2.3.rst:421 -msgid "" -"for i in range(len(L)):\n" -" item = L[i]\n" -" # ... compute some result based on item ...\n" -" L[i] = result" -msgstr "" - -#: ../../whatsnew/2.3.rst:426 -msgid "This can be rewritten using :func:`enumerate` as::" -msgstr "" - -#: ../../whatsnew/2.3.rst:428 -msgid "" -"for i, item in enumerate(L):\n" -" # ... compute some result based on item ...\n" -" L[i] = result" -msgstr "" - -#: ../../whatsnew/2.3.rst:435 -msgid ":pep:`279` - The enumerate() built-in function" -msgstr "" - -#: ../../whatsnew/2.3.rst:436 -msgid "Written and implemented by Raymond D. Hettinger." -msgstr "" - -#: ../../whatsnew/2.3.rst:442 -msgid "PEP 282: The logging Package" -msgstr "" - -#: ../../whatsnew/2.3.rst:444 -msgid "" -"A standard package for writing logs, :mod:`logging`, has been added to " -"Python 2.3. It provides a powerful and flexible mechanism for generating " -"logging output which can then be filtered and processed in various ways. A " -"configuration file written in a standard format can be used to control the " -"logging behavior of a program. Python includes handlers that will write log" -" records to standard error or to a file or socket, send them to the system " -"log, or even e-mail them to a particular address; of course, it's also " -"possible to write your own handler classes." -msgstr "" - -#: ../../whatsnew/2.3.rst:453 -msgid "" -"The :class:`~logging.Logger` class is the primary class. Most application " -"code will deal with one or more :class:`~logging.Logger` objects, each one " -"used by a particular subsystem of the application. Each " -":class:`~logging.Logger` is identified by a name, and names are organized " -"into a hierarchy using ``.`` as the component separator. For example, you " -"might have :class:`~logging.Logger` instances named ``server``, " -"``server.auth`` and ``server.network``. The latter two instances are below " -"``server`` in the hierarchy. This means that if you turn up the verbosity " -"for ``server`` or direct ``server`` messages to a different handler, the " -"changes will also apply to records logged to ``server.auth`` and " -"``server.network``. There's also a root :class:`~logging.Logger` that's the " -"parent of all other loggers." -msgstr "" - -#: ../../whatsnew/2.3.rst:464 -msgid "" -"For simple uses, the :mod:`logging` package contains some convenience " -"functions that always use the root log::" -msgstr "" - -#: ../../whatsnew/2.3.rst:467 -msgid "" -"import logging\n" -"\n" -"logging.debug('Debugging information')\n" -"logging.info('Informational message')\n" -"logging.warning('Warning:config file %s not found', 'server.conf')\n" -"logging.error('Error occurred')\n" -"logging.critical('Critical error -- shutting down')" -msgstr "" - -#: ../../whatsnew/2.3.rst:475 ../../whatsnew/2.3.rst:500 -msgid "This produces the following output::" -msgstr "" - -#: ../../whatsnew/2.3.rst:477 -msgid "" -"WARNING:root:Warning:config file server.conf not found\n" -"ERROR:root:Error occurred\n" -"CRITICAL:root:Critical error -- shutting down" -msgstr "" - -#: ../../whatsnew/2.3.rst:481 -msgid "" -"In the default configuration, informational and debugging messages are " -"suppressed and the output is sent to standard error. You can enable the " -"display of informational and debugging messages by calling the " -":meth:`~logging.Logger.setLevel` method on the root logger." -msgstr "" - -#: ../../whatsnew/2.3.rst:486 -msgid "" -"Notice the :func:`~logging.warning` call's use of string formatting " -"operators; all of the functions for logging messages take the arguments " -"``(msg, arg1, arg2, ...)`` and log the string resulting from ``msg % (arg1, " -"arg2, ...)``." -msgstr "" - -#: ../../whatsnew/2.3.rst:490 -msgid "" -"There's also an :func:`~logging.exception` function that records the most " -"recent traceback. Any of the other functions will also record the traceback" -" if you specify a true value for the keyword argument *exc_info*. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:494 -msgid "" -"def f():\n" -" try: 1/0\n" -" except: logging.exception('Problem recorded')\n" -"\n" -"f()" -msgstr "" - -#: ../../whatsnew/2.3.rst:502 -msgid "" -"ERROR:root:Problem recorded\n" -"Traceback (most recent call last):\n" -" File \"t.py\", line 6, in f\n" -" 1/0\n" -"ZeroDivisionError: integer division or modulo by zero" -msgstr "" - -#: ../../whatsnew/2.3.rst:508 -msgid "" -"Slightly more advanced programs will use a logger other than the root " -"logger. The ``getLogger(name)`` function is used to get a particular log, " -"creating it if it doesn't exist yet. ``getLogger(None)`` returns the root " -"logger. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:512 -msgid "" -"log = logging.getLogger('server')\n" -" ...\n" -"log.info('Listening on port %i', port)\n" -" ...\n" -"log.critical('Disk full')\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.3.rst:519 -msgid "" -"Log records are usually propagated up the hierarchy, so a message logged to " -"``server.auth`` is also seen by ``server`` and ``root``, but a " -":class:`~logging.Logger` can prevent this by setting its " -":attr:`~logging.Logger.propagate` attribute to :const:`False`." -msgstr "" - -#: ../../whatsnew/2.3.rst:523 -msgid "" -"There are more classes provided by the :mod:`logging` package that can be " -"customized. When a :class:`~logging.Logger` instance is told to log a " -"message, it creates a :class:`~logging.LogRecord` instance that is sent to " -"any number of different :class:`~logging.Handler` instances. Loggers and " -"handlers can also have an attached list of filters, and each filter can " -"cause the :class:`~logging.LogRecord` to be ignored or can modify the record" -" before passing it along. When they're finally output, " -":class:`~logging.LogRecord` instances are converted to text by a " -":class:`~logging.Formatter` class. All of these classes can be replaced by " -"your own specially written classes." -msgstr "" - -#: ../../whatsnew/2.3.rst:533 -msgid "" -"With all of these features the :mod:`logging` package should provide enough " -"flexibility for even the most complicated applications. This is only an " -"incomplete overview of its features, so please see the package's reference " -"documentation for all of the details. Reading :pep:`282` will also be " -"helpful." -msgstr "" - -#: ../../whatsnew/2.3.rst:541 -msgid ":pep:`282` - A Logging System" -msgstr "" - -#: ../../whatsnew/2.3.rst:542 -msgid "Written by Vinay Sajip and Trent Mick; implemented by Vinay Sajip." -msgstr "" - -#: ../../whatsnew/2.3.rst:550 -msgid "PEP 285: A Boolean Type" -msgstr "" - -#: ../../whatsnew/2.3.rst:552 -msgid "" -"A Boolean type was added to Python 2.3. Two new constants were added to the" -" :mod:`!__builtin__` module, :const:`True` and :const:`False`. " -"(:const:`True` and :const:`False` constants were added to the built-ins in " -"Python 2.2.1, but the 2.2.1 versions are simply set to integer values of 1 " -"and 0 and aren't a different type.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:558 -msgid "" -"The type object for this new type is named :class:`bool`; the constructor " -"for it takes any Python value and converts it to :const:`True` or " -":const:`False`. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:561 -msgid "" -">>> bool(1)\n" -"True\n" -">>> bool(0)\n" -"False\n" -">>> bool([])\n" -"False\n" -">>> bool( (1,) )\n" -"True" -msgstr "" - -#: ../../whatsnew/2.3.rst:570 -msgid "" -"Most of the standard library modules and built-in functions have been " -"changed to return Booleans. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:573 -msgid "" -">>> obj = []\n" -">>> hasattr(obj, 'append')\n" -"True\n" -">>> isinstance(obj, list)\n" -"True\n" -">>> isinstance(obj, tuple)\n" -"False" -msgstr "" - -#: ../../whatsnew/2.3.rst:581 -msgid "" -"Python's Booleans were added with the primary goal of making code clearer. " -"For example, if you're reading a function and encounter the statement " -"``return 1``, you might wonder whether the ``1`` represents a Boolean truth " -"value, an index, or a coefficient that multiplies some other quantity. If " -"the statement is ``return True``, however, the meaning of the return value " -"is quite clear." -msgstr "" - -#: ../../whatsnew/2.3.rst:587 -msgid "" -"Python's Booleans were *not* added for the sake of strict type-checking. A " -"very strict language such as Pascal would also prevent you performing " -"arithmetic with Booleans, and would require that the expression in an " -":keyword:`if` statement always evaluate to a Boolean result. Python is not " -"this strict and never will be, as :pep:`285` explicitly says. This means " -"you can still use any expression in an :keyword:`!if` statement, even ones " -"that evaluate to a list or tuple or some random object. The Boolean type is" -" a subclass of the :class:`int` class so that arithmetic using a Boolean " -"still works. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:596 -msgid "" -">>> True + 1\n" -"2\n" -">>> False + 1\n" -"1\n" -">>> False * 75\n" -"0\n" -">>> True * 75\n" -"75" -msgstr "" - -#: ../../whatsnew/2.3.rst:605 -msgid "" -"To sum up :const:`True` and :const:`False` in a sentence: they're " -"alternative ways to spell the integer values 1 and 0, with the single " -"difference that :func:`str` and :func:`repr` return the strings ``'True'`` " -"and ``'False'`` instead of ``'1'`` and ``'0'``." -msgstr "" - -#: ../../whatsnew/2.3.rst:613 -msgid ":pep:`285` - Adding a bool type" -msgstr "" - -#: ../../whatsnew/2.3.rst:614 -msgid "Written and implemented by GvR." -msgstr "" - -#: ../../whatsnew/2.3.rst:620 -msgid "PEP 293: Codec Error Handling Callbacks" -msgstr "" - -#: ../../whatsnew/2.3.rst:622 -msgid "" -"When encoding a Unicode string into a byte string, unencodable characters " -"may be encountered. So far, Python has allowed specifying the error " -"processing as either \"strict\" (raising :exc:`UnicodeError`), \"ignore\" " -"(skipping the character), or \"replace\" (using a question mark in the " -"output string), with \"strict\" being the default behavior. It may be " -"desirable to specify alternative processing of such errors, such as " -"inserting an XML character reference or HTML entity reference into the " -"converted string." -msgstr "" - -#: ../../whatsnew/2.3.rst:630 -msgid "" -"Python now has a flexible framework to add different processing strategies." -" New error handlers can be added with :func:`codecs.register_error`, and " -"codecs then can access the error handler with :func:`codecs.lookup_error`. " -"An equivalent C API has been added for codecs written in C. The error " -"handler gets the necessary state information such as the string being " -"converted, the position in the string where the error was detected, and the " -"target encoding. The handler can then either raise an exception or return a" -" replacement string." -msgstr "" - -#: ../../whatsnew/2.3.rst:638 -msgid "" -"Two additional error handlers have been implemented using this framework: " -"\"backslashreplace\" uses Python backslash quoting to represent unencodable " -"characters and \"xmlcharrefreplace\" emits XML character references." -msgstr "" - -#: ../../whatsnew/2.3.rst:645 -msgid ":pep:`293` - Codec Error Handling Callbacks" -msgstr "" - -#: ../../whatsnew/2.3.rst:646 -msgid "Written and implemented by Walter Dörwald." -msgstr "" - -#: ../../whatsnew/2.3.rst:654 -msgid "PEP 301: Package Index and Metadata for Distutils" -msgstr "" - -#: ../../whatsnew/2.3.rst:656 -msgid "" -"Support for the long-requested Python catalog makes its first appearance in " -"2.3." -msgstr "" - -#: ../../whatsnew/2.3.rst:658 -msgid "" -"The heart of the catalog is the new Distutils :command:`register` command. " -"Running ``python setup.py register`` will collect the metadata describing a " -"package, such as its name, version, maintainer, description, &c., and send " -"it to a central catalog server. The resulting catalog is available from " -"https://pypi.org." -msgstr "" - -#: ../../whatsnew/2.3.rst:664 -msgid "" -"To make the catalog a bit more useful, a new optional *classifiers* keyword " -"argument has been added to the Distutils :func:`!setup` function. A list of" -" `Trove `_-style strings can be supplied to " -"help classify the software." -msgstr "" - -#: ../../whatsnew/2.3.rst:669 -msgid "" -"Here's an example :file:`setup.py` with classifiers, written to be " -"compatible with older versions of the Distutils::" -msgstr "" - -#: ../../whatsnew/2.3.rst:672 -msgid "" -"from distutils import core\n" -"kw = {'name': \"Quixote\",\n" -" 'version': \"0.5.1\",\n" -" 'description': \"A highly Pythonic Web application framework\",\n" -" # ...\n" -" }\n" -"\n" -"if (hasattr(core, 'setup_keywords') and\n" -" 'classifiers' in core.setup_keywords):\n" -" kw['classifiers'] = \\\n" -" ['Topic :: Internet :: WWW/HTTP :: Dynamic Content',\n" -" 'Environment :: No Input/Output (Daemon)',\n" -" 'Intended Audience :: Developers'],\n" -"\n" -"core.setup(**kw)" -msgstr "" - -#: ../../whatsnew/2.3.rst:688 -msgid "" -"The full list of classifiers can be obtained by running ``python setup.py " -"register --list-classifiers``." -msgstr "" - -#: ../../whatsnew/2.3.rst:694 -msgid ":pep:`301` - Package Index and Metadata for Distutils" -msgstr "" - -#: ../../whatsnew/2.3.rst:695 -msgid "Written and implemented by Richard Jones." -msgstr "" - -#: ../../whatsnew/2.3.rst:703 -msgid "PEP 302: New Import Hooks" -msgstr "" - -#: ../../whatsnew/2.3.rst:705 -msgid "" -"While it's been possible to write custom import hooks ever since the " -":mod:`!ihooks` module was introduced in Python 1.3, no one has ever been " -"really happy with it because writing new import hooks is difficult and " -"messy. There have been various proposed alternatives such as the " -":mod:`!imputil` and :mod:`!iu` modules, but none of them has ever gained " -"much acceptance, and none of them were easily usable from C code." -msgstr "" - -#: ../../whatsnew/2.3.rst:712 -msgid "" -":pep:`302` borrows ideas from its predecessors, especially from Gordon " -"McMillan's :mod:`!iu` module. Three new items are added to the :mod:`sys` " -"module:" -msgstr "" - -#: ../../whatsnew/2.3.rst:716 -msgid "" -"``sys.path_hooks`` is a list of callable objects; most often they'll be " -"classes. Each callable takes a string containing a path and either returns " -"an importer object that will handle imports from this path or raises an " -":exc:`ImportError` exception if it can't handle this path." -msgstr "" - -#: ../../whatsnew/2.3.rst:721 -msgid "" -"``sys.path_importer_cache`` caches importer objects for each path, so " -"``sys.path_hooks`` will only need to be traversed once for each path." -msgstr "" - -#: ../../whatsnew/2.3.rst:724 -msgid "" -"``sys.meta_path`` is a list of importer objects that will be traversed " -"before ``sys.path`` is checked. This list is initially empty, but user code" -" can add objects to it. Additional built-in and frozen modules can be " -"imported by an object added to this list." -msgstr "" - -#: ../../whatsnew/2.3.rst:729 -msgid "" -"Importer objects must have a single method, ``find_module(fullname, " -"path=None)``. *fullname* will be a module or package name, e.g. ``string`` " -"or ``distutils.core``. :meth:`!find_module` must return a loader object " -"that has a single method, ``load_module(fullname)``, that creates and " -"returns the corresponding module object." -msgstr "" - -#: ../../whatsnew/2.3.rst:735 -msgid "" -"Pseudo-code for Python's new import logic, therefore, looks something like " -"this (simplified a bit; see :pep:`302` for the full details)::" -msgstr "" - -#: ../../whatsnew/2.3.rst:738 -msgid "" -"for mp in sys.meta_path:\n" -" loader = mp(fullname)\n" -" if loader is not None:\n" -" = loader.load_module(fullname)\n" -"\n" -"for path in sys.path:\n" -" for hook in sys.path_hooks:\n" -" try:\n" -" importer = hook(path)\n" -" except ImportError:\n" -" # ImportError, so try the other path hooks\n" -" pass\n" -" else:\n" -" loader = importer.find_module(fullname)\n" -" = loader.load_module(fullname)\n" -"\n" -"# Not found!\n" -"raise ImportError" -msgstr "" - -#: ../../whatsnew/2.3.rst:760 -msgid ":pep:`302` - New Import Hooks" -msgstr "" - -#: ../../whatsnew/2.3.rst:761 -msgid "" -"Written by Just van Rossum and Paul Moore. Implemented by Just van Rossum." -msgstr "" - -#: ../../whatsnew/2.3.rst:769 -msgid "PEP 305: Comma-separated Files" -msgstr "" - -#: ../../whatsnew/2.3.rst:771 -msgid "" -"Comma-separated files are a format frequently used for exporting data from " -"databases and spreadsheets. Python 2.3 adds a parser for comma-separated " -"files." -msgstr "" - -#: ../../whatsnew/2.3.rst:774 -msgid "Comma-separated format is deceptively simple at first glance::" -msgstr "" - -#: ../../whatsnew/2.3.rst:776 -msgid "Costs,150,200,3.95" -msgstr "" - -#: ../../whatsnew/2.3.rst:778 -msgid "" -"Read a line and call ``line.split(',')``: what could be simpler? But toss in" -" string data that can contain commas, and things get more complicated::" -msgstr "" - -#: ../../whatsnew/2.3.rst:781 -msgid "\"Costs\",150,200,3.95,\"Includes taxes, shipping, and sundry items\"" -msgstr "" - -#: ../../whatsnew/2.3.rst:783 -msgid "" -"A big ugly regular expression can parse this, but using the new :mod:`csv` " -"package is much simpler::" -msgstr "" - -#: ../../whatsnew/2.3.rst:786 -msgid "" -"import csv\n" -"\n" -"input = open('datafile', 'rb')\n" -"reader = csv.reader(input)\n" -"for line in reader:\n" -" print line" -msgstr "" - -#: ../../whatsnew/2.3.rst:793 -msgid "" -"The :func:`~csv.reader` function takes a number of different options. The " -"field separator isn't limited to the comma and can be changed to any " -"character, and so can the quoting and line-ending characters." -msgstr "" - -#: ../../whatsnew/2.3.rst:797 -msgid "" -"Different dialects of comma-separated files can be defined and registered; " -"currently there are two dialects, both used by Microsoft Excel. A separate " -":class:`csv.writer` class will generate comma-separated files from a " -"succession of tuples or lists, quoting strings that contain the delimiter." -msgstr "" - -#: ../../whatsnew/2.3.rst:805 -msgid ":pep:`305` - CSV File API" -msgstr ":pep:`305` - API File CSV" - -#: ../../whatsnew/2.3.rst:806 -msgid "" -"Written and implemented by Kevin Altis, Dave Cole, Andrew McNamara, Skip " -"Montanaro, Cliff Wells." -msgstr "" - -#: ../../whatsnew/2.3.rst:815 -msgid "PEP 307: Pickle Enhancements" -msgstr "" - -#: ../../whatsnew/2.3.rst:817 -msgid "" -"The :mod:`pickle` and :mod:`!cPickle` modules received some attention during" -" the 2.3 development cycle. In 2.2, new-style classes could be pickled " -"without difficulty, but they weren't pickled very compactly; :pep:`307` " -"quotes a trivial example where a new-style class results in a pickled string" -" three times longer than that for a classic class." -msgstr "" - -#: ../../whatsnew/2.3.rst:823 -msgid "" -"The solution was to invent a new pickle protocol. The :func:`pickle.dumps` " -"function has supported a text-or-binary flag for a long time. In 2.3, this" -" flag is redefined from a Boolean to an integer: 0 is the old text-mode " -"pickle format, 1 is the old binary format, and now 2 is a new 2.3-specific " -"format. A new constant, :const:`pickle.HIGHEST_PROTOCOL`, can be used to " -"select the fanciest protocol available." -msgstr "" - -#: ../../whatsnew/2.3.rst:830 -msgid "" -"Unpickling is no longer considered a safe operation. 2.2's :mod:`pickle` " -"provided hooks for trying to prevent unsafe classes from being unpickled " -"(specifically, a :attr:`!__safe_for_unpickling__` attribute), but none of " -"this code was ever audited and therefore it's all been ripped out in 2.3. " -"You should not unpickle untrusted data in any version of Python." -msgstr "" - -#: ../../whatsnew/2.3.rst:836 -msgid "" -"To reduce the pickling overhead for new-style classes, a new interface for " -"customizing pickling was added using three special methods: " -":meth:`~object.__getstate__`, :meth:`~object.__setstate__`, and " -":meth:`~object.__getnewargs__`. Consult :pep:`307` for the full semantics " -"of these methods." -msgstr "" - -#: ../../whatsnew/2.3.rst:841 -msgid "" -"As a way to compress pickles yet further, it's now possible to use integer " -"codes instead of long strings to identify pickled classes. The Python " -"Software Foundation will maintain a list of standardized codes; there's also" -" a range of codes for private use. Currently no codes have been specified." -msgstr "" - -#: ../../whatsnew/2.3.rst:849 -msgid ":pep:`307` - Extensions to the pickle protocol" -msgstr "" - -#: ../../whatsnew/2.3.rst:850 -msgid "Written and implemented by Guido van Rossum and Tim Peters." -msgstr "" - -#: ../../whatsnew/2.3.rst:858 -msgid "Extended Slices" -msgstr "" - -#: ../../whatsnew/2.3.rst:860 -msgid "" -"Ever since Python 1.4, the slicing syntax has supported an optional third " -"\"step\" or \"stride\" argument. For example, these are all legal Python " -"syntax: ``L[1:10:2]``, ``L[:-1:1]``, ``L[::-1]``. This was added to Python " -"at the request of the developers of Numerical Python, which uses the third " -"argument extensively. However, Python's built-in list, tuple, and string " -"sequence types have never supported this feature, raising a :exc:`TypeError`" -" if you tried it. Michael Hudson contributed a patch to fix this " -"shortcoming." -msgstr "" - -#: ../../whatsnew/2.3.rst:868 -msgid "" -"For example, you can now easily extract the elements of a list that have " -"even indexes::" -msgstr "" - -#: ../../whatsnew/2.3.rst:871 -msgid "" -">>> L = range(10)\n" -">>> L[::2]\n" -"[0, 2, 4, 6, 8]" -msgstr "" - -#: ../../whatsnew/2.3.rst:875 -msgid "" -"Negative values also work to make a copy of the same list in reverse order::" -msgstr "" - -#: ../../whatsnew/2.3.rst:877 -msgid "" -">>> L[::-1]\n" -"[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]" -msgstr "" - -#: ../../whatsnew/2.3.rst:880 -msgid "This also works for tuples, arrays, and strings::" -msgstr "" - -#: ../../whatsnew/2.3.rst:882 -msgid "" -">>> s='abcd'\n" -">>> s[::2]\n" -"'ac'\n" -">>> s[::-1]\n" -"'dcba'" -msgstr "" - -#: ../../whatsnew/2.3.rst:888 -msgid "" -"If you have a mutable sequence such as a list or an array you can assign to " -"or delete an extended slice, but there are some differences between " -"assignment to extended and regular slices. Assignment to a regular slice " -"can be used to change the length of the sequence::" -msgstr "" - -#: ../../whatsnew/2.3.rst:893 -msgid "" -">>> a = range(3)\n" -">>> a\n" -"[0, 1, 2]\n" -">>> a[1:3] = [4, 5, 6]\n" -">>> a\n" -"[0, 4, 5, 6]" -msgstr "" - -#: ../../whatsnew/2.3.rst:900 -msgid "" -"Extended slices aren't this flexible. When assigning to an extended slice, " -"the list on the right hand side of the statement must contain the same " -"number of items as the slice it is replacing::" -msgstr "" - -#: ../../whatsnew/2.3.rst:904 -msgid "" -">>> a = range(4)\n" -">>> a\n" -"[0, 1, 2, 3]\n" -">>> a[::2]\n" -"[0, 2]\n" -">>> a[::2] = [0, -1]\n" -">>> a\n" -"[0, 1, -1, 3]\n" -">>> a[::2] = [0,1,2]\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in ?\n" -"ValueError: attempt to assign sequence of size 3 to extended slice of size 2" -msgstr "" - -#: ../../whatsnew/2.3.rst:917 -msgid "Deletion is more straightforward::" -msgstr "" - -#: ../../whatsnew/2.3.rst:919 -msgid "" -">>> a = range(4)\n" -">>> a\n" -"[0, 1, 2, 3]\n" -">>> a[::2]\n" -"[0, 2]\n" -">>> del a[::2]\n" -">>> a\n" -"[1, 3]" -msgstr "" - -#: ../../whatsnew/2.3.rst:928 -msgid "" -"One can also now pass slice objects to the :meth:`~object.__getitem__` " -"methods of the built-in sequences::" -msgstr "" - -#: ../../whatsnew/2.3.rst:931 -msgid "" -">>> range(10).__getitem__(slice(0, 5, 2))\n" -"[0, 2, 4]" -msgstr "" - -#: ../../whatsnew/2.3.rst:934 -msgid "Or use slice objects directly in subscripts::" -msgstr "" - -#: ../../whatsnew/2.3.rst:936 -msgid "" -">>> range(10)[slice(0, 5, 2)]\n" -"[0, 2, 4]" -msgstr "" - -#: ../../whatsnew/2.3.rst:939 -msgid "" -"To simplify implementing sequences that support extended slicing, slice " -"objects now have a method ``indices(length)`` which, given the length of a " -"sequence, returns a ``(start, stop, step)`` tuple that can be passed " -"directly to :func:`range`. :meth:`!indices` handles omitted and out-of-" -"bounds indices in a manner consistent with regular slices (and this " -"innocuous phrase hides a welter of confusing details!). The method is " -"intended to be used like this::" -msgstr "" - -#: ../../whatsnew/2.3.rst:946 -msgid "" -"class FakeSeq:\n" -" ...\n" -" def calc_item(self, i):\n" -" ...\n" -" def __getitem__(self, item):\n" -" if isinstance(item, slice):\n" -" indices = item.indices(len(self))\n" -" return FakeSeq([self.calc_item(i) for i in range(*indices)])\n" -" else:\n" -" return self.calc_item(i)" -msgstr "" - -#: ../../whatsnew/2.3.rst:957 -msgid "" -"From this example you can also see that the built-in :class:`slice` object " -"is now the type object for the slice type, and is no longer a function. " -"This is consistent with Python 2.2, where :class:`int`, :class:`str`, etc., " -"underwent the same change." -msgstr "" - -#: ../../whatsnew/2.3.rst:966 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/2.3.rst:968 -msgid "" -"Here are all of the changes that Python 2.3 makes to the core Python " -"language." -msgstr "" - -#: ../../whatsnew/2.3.rst:970 -msgid "" -"The :keyword:`yield` statement is now always a keyword, as described in " -"section :ref:`section-generators` of this document." -msgstr "" - -#: ../../whatsnew/2.3.rst:973 -msgid "" -"A new built-in function :func:`enumerate` was added, as described in section" -" :ref:`section-enumerate` of this document." -msgstr "" - -#: ../../whatsnew/2.3.rst:976 -msgid "" -"Two new constants, :const:`True` and :const:`False` were added along with " -"the built-in :class:`bool` type, as described in section :ref:`section-bool`" -" of this document." -msgstr "" - -#: ../../whatsnew/2.3.rst:980 -msgid "" -"The :func:`int` type constructor will now return a long integer instead of " -"raising an :exc:`OverflowError` when a string or floating-point number is " -"too large to fit into an integer. This can lead to the paradoxical result " -"that ``isinstance(int(expression), int)`` is false, but that seems unlikely " -"to cause problems in practice." -msgstr "" - -#: ../../whatsnew/2.3.rst:986 -msgid "" -"Built-in types now support the extended slicing syntax, as described in " -"section :ref:`section-slices` of this document." -msgstr "" - -#: ../../whatsnew/2.3.rst:989 -msgid "" -"A new built-in function, ``sum(iterable, start=0)``, adds up the numeric " -"items in the iterable object and returns their sum. :func:`sum` only " -"accepts numbers, meaning that you can't use it to concatenate a bunch of " -"strings. (Contributed by Alex Martelli.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:994 -msgid "" -"``list.insert(pos, value)`` used to insert *value* at the front of the list" -" when *pos* was negative. The behaviour has now been changed to be " -"consistent with slice indexing, so when *pos* is -1 the value will be " -"inserted before the last element, and so forth." -msgstr "" - -#: ../../whatsnew/2.3.rst:999 -msgid "" -"``list.index(value)``, which searches for *value* within the list and " -"returns its index, now takes optional *start* and *stop* arguments to limit" -" the search to only part of the list." -msgstr "" - -#: ../../whatsnew/2.3.rst:1003 -msgid "" -"Dictionaries have a new method, ``pop(key[, *default*])``, that returns the " -"value corresponding to *key* and removes that key/value pair from the " -"dictionary. If the requested key isn't present in the dictionary, *default*" -" is returned if it's specified and :exc:`KeyError` raised if it isn't. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1008 -msgid "" -">>> d = {1:2}\n" -">>> d\n" -"{1: 2}\n" -">>> d.pop(4)\n" -"Traceback (most recent call last):\n" -" File \"stdin\", line 1, in ?\n" -"KeyError: 4\n" -">>> d.pop(1)\n" -"2\n" -">>> d.pop(1)\n" -"Traceback (most recent call last):\n" -" File \"stdin\", line 1, in ?\n" -"KeyError: 'pop(): dictionary is empty'\n" -">>> d\n" -"{}\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.3.rst:1025 -msgid "" -"There's also a new class method, ``dict.fromkeys(iterable, value)``, that " -"creates a dictionary with keys taken from the supplied iterator *iterable* " -"and all values set to *value*, defaulting to ``None``." -msgstr "" - -#: ../../whatsnew/2.3.rst:1029 -msgid "(Patches contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1031 -msgid "" -"Also, the :func:`dict` constructor now accepts keyword arguments to simplify" -" creating small dictionaries::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1034 -msgid "" -">>> dict(red=1, blue=2, green=3, black=4)\n" -"{'blue': 2, 'black': 4, 'green': 3, 'red': 1}" -msgstr "" - -#: ../../whatsnew/2.3.rst:1037 -msgid "(Contributed by Just van Rossum.)" -msgstr "(Kontribusi dari Just van Rossum.)" - -#: ../../whatsnew/2.3.rst:1039 -msgid "" -"The :keyword:`assert` statement no longer checks the ``__debug__`` flag, so " -"you can no longer disable assertions by assigning to ``__debug__``. Running " -"Python with the :option:`-O` switch will still generate code that doesn't " -"execute any assertions." -msgstr "" - -#: ../../whatsnew/2.3.rst:1044 -msgid "" -"Most type objects are now callable, so you can use them to create new " -"objects such as functions, classes, and modules. (This means that the " -":mod:`!new` module can be deprecated in a future Python version, because you" -" can now use the type objects available in the :mod:`types` module.) For " -"example, you can create a new module object with the following code:" -msgstr "" - -#: ../../whatsnew/2.3.rst:1052 -msgid "" -">>> import types\n" -">>> m = types.ModuleType('abc','docstring')\n" -">>> m\n" -"\n" -">>> m.__doc__\n" -"'docstring'" -msgstr "" - -#: ../../whatsnew/2.3.rst:1059 -msgid "" -"A new warning, :exc:`PendingDeprecationWarning` was added to indicate " -"features which are in the process of being deprecated. The warning will " -"*not* be printed by default. To check for use of features that will be " -"deprecated in the future, supply " -":option:`-Walways::PendingDeprecationWarning:: <-W>` on the command line or " -"use :func:`warnings.filterwarnings`." -msgstr "" - -#: ../../whatsnew/2.3.rst:1065 -msgid "" -"The process of deprecating string-based exceptions, as in ``raise \"Error " -"occurred\"``, has begun. Raising a string will now trigger " -":exc:`PendingDeprecationWarning`." -msgstr "" - -#: ../../whatsnew/2.3.rst:1069 -msgid "" -"Using ``None`` as a variable name will now result in a :exc:`SyntaxWarning` " -"warning. In a future version of Python, ``None`` may finally become a " -"keyword." -msgstr "" - -#: ../../whatsnew/2.3.rst:1072 -msgid "" -"The :meth:`!xreadlines` method of file objects, introduced in Python 2.1, is" -" no longer necessary because files now behave as their own iterator. " -":meth:`!xreadlines` was originally introduced as a faster way to loop over " -"all the lines in a file, but now you can simply write ``for line in " -"file_obj``. File objects also have a new read-only :attr:`!encoding` " -"attribute that gives the encoding used by the file; Unicode strings written " -"to the file will be automatically converted to bytes using the given " -"encoding." -msgstr "" - -#: ../../whatsnew/2.3.rst:1080 -msgid "" -"The method resolution order used by new-style classes has changed, though " -"you'll only notice the difference if you have a really complicated " -"inheritance hierarchy. Classic classes are unaffected by this change. " -"Python 2.2 originally used a topological sort of a class's ancestors, but " -"2.3 now uses the C3 algorithm as described in the paper `\"A Monotonic " -"Superclass Linearization for Dylan\" " -"`_. To " -"understand the motivation for this change, read Michele Simionato's article" -" :ref:`python_2.3_mro`, or read the thread on python-dev starting with the " -"message at https://mail.python.org/pipermail/python-" -"dev/2002-October/029035.html. Samuele Pedroni first pointed out the problem " -"and also implemented the fix by coding the C3 algorithm." -msgstr "" - -#: ../../whatsnew/2.3.rst:1093 -msgid "" -"Python runs multithreaded programs by switching between threads after " -"executing N bytecodes. The default value for N has been increased from 10 " -"to 100 bytecodes, speeding up single-threaded applications by reducing the " -"switching overhead. Some multithreaded applications may suffer slower " -"response time, but that's easily fixed by setting the limit back to a lower " -"number using ``sys.setcheckinterval(N)``. The limit can be retrieved with " -"the new :func:`!sys.getcheckinterval` function." -msgstr "" - -#: ../../whatsnew/2.3.rst:1101 -msgid "" -"One minor but far-reaching change is that the names of extension types " -"defined by the modules included with Python now contain the module and a " -"``'.'`` in front of the type name. For example, in Python 2.2, if you " -"created a socket and printed its :attr:`!__class__`, you'd get this output::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1106 -msgid "" -">>> s = socket.socket()\n" -">>> s.__class__\n" -"" -msgstr "" - -#: ../../whatsnew/2.3.rst:1110 -msgid "In 2.3, you get this::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1112 -msgid "" -">>> s.__class__\n" -"" -msgstr "" - -#: ../../whatsnew/2.3.rst:1115 -msgid "" -"One of the noted incompatibilities between old- and new-style classes has " -"been removed: you can now assign to the :attr:`~type.__name__` and " -":attr:`~type.__bases__` attributes of new-style classes. There are some " -"restrictions on what can be assigned to :attr:`!__bases__` along the lines " -"of those relating to assigning to an instance's :attr:`~object.__class__` " -"attribute." -msgstr "" - -#: ../../whatsnew/2.3.rst:1125 -msgid "String Changes" -msgstr "" - -#: ../../whatsnew/2.3.rst:1127 -msgid "" -"The :keyword:`in` operator now works differently for strings. Previously, " -"when evaluating ``X in Y`` where *X* and *Y* are strings, *X* could only be " -"a single character. That's now changed; *X* can be a string of any length, " -"and ``X in Y`` will return :const:`True` if *X* is a substring of *Y*. If " -"*X* is the empty string, the result is always :const:`True`. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1133 -msgid "" -">>> 'ab' in 'abcd'\n" -"True\n" -">>> 'ad' in 'abcd'\n" -"False\n" -">>> '' in 'abcd'\n" -"True" -msgstr "" - -#: ../../whatsnew/2.3.rst:1140 -msgid "" -"Note that this doesn't tell you where the substring starts; if you need that" -" information, use the :meth:`~str.find` string method." -msgstr "" - -#: ../../whatsnew/2.3.rst:1143 -msgid "" -"The :meth:`~str.strip`, :meth:`~str.lstrip`, and :meth:`~str.rstrip` string " -"methods now have an optional argument for specifying the characters to " -"strip. The default is still to remove all whitespace characters::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1147 -msgid "" -">>> ' abc '.strip()\n" -"'abc'\n" -">>> '><><><>'.strip('<>')\n" -"'abc'\n" -">>> '><><><>\\n'.strip('<>')\n" -"'abc<><><>\\n'\n" -">>> u'\\u4000\\u4001abc\\u4000'.strip(u'\\u4000')\n" -"u'\\u4001abc'\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.3.rst:1157 -msgid "(Suggested by Simon Brunning and implemented by Walter Dörwald.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1159 -msgid "" -"The :meth:`~str.startswith` and :meth:`~str.endswith` string methods now " -"accept negative numbers for the *start* and *end* parameters." -msgstr "" - -#: ../../whatsnew/2.3.rst:1162 -msgid "" -"Another new string method is :meth:`~str.zfill`, originally a function in " -"the :mod:`string` module. :meth:`~str.zfill` pads a numeric string with " -"zeros on the left until it's the specified width. Note that the ``%`` " -"operator is still more flexible and powerful than :meth:`~str.zfill`. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1167 -msgid "" -">>> '45'.zfill(4)\n" -"'0045'\n" -">>> '12345'.zfill(4)\n" -"'12345'\n" -">>> 'goofy'.zfill(6)\n" -"'0goofy'" -msgstr "" - -#: ../../whatsnew/2.3.rst:1174 -msgid "(Contributed by Walter Dörwald.)" -msgstr "(Kontribusi dari Walter Dörwald.)" - -#: ../../whatsnew/2.3.rst:1176 -msgid "" -"A new type object, :class:`!basestring`, has been added. Both 8-bit strings " -"and Unicode strings inherit from this type, so ``isinstance(obj, " -"basestring)`` will return :const:`True` for either kind of string. It's a " -"completely abstract type, so you can't create :class:`!basestring` " -"instances." -msgstr "" - -#: ../../whatsnew/2.3.rst:1181 -msgid "" -"Interned strings are no longer immortal and will now be garbage-collected in" -" the usual way when the only reference to them is from the internal " -"dictionary of interned strings. (Implemented by Oren Tirosh.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1189 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/2.3.rst:1191 -msgid "" -"The creation of new-style class instances has been made much faster; they're" -" now faster than classic classes!" -msgstr "" - -#: ../../whatsnew/2.3.rst:1194 -msgid "" -"The :meth:`~list.sort` method of list objects has been extensively rewritten" -" by Tim Peters, and the implementation is significantly faster." -msgstr "" - -#: ../../whatsnew/2.3.rst:1197 -msgid "" -"Multiplication of large long integers is now much faster thanks to an " -"implementation of Karatsuba multiplication, an algorithm that scales better " -"than the *O*\\ (*n*\\ :sup:`2`) required for the grade-school multiplication" -" algorithm. (Original patch by Christopher A. Craig, and significantly " -"reworked by Tim Peters.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1202 -msgid "" -"The ``SET_LINENO`` opcode is now gone. This may provide a small speed " -"increase, depending on your compiler's idiosyncrasies. See section " -":ref:`23section-other` for a longer explanation. (Removed by Michael " -"Hudson.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1206 -msgid "" -":func:`!xrange` objects now have their own iterator, making ``for i in " -"xrange(n)`` slightly faster than ``for i in range(n)``. (Patch by Raymond " -"Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1210 -msgid "" -"A number of small rearrangements have been made in various hotspots to " -"improve performance, such as inlining a function or removing some code. " -"(Implemented mostly by GvR, but lots of people have contributed single " -"changes.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1214 -msgid "" -"The net result of the 2.3 optimizations is that Python 2.3 runs the pystone" -" benchmark around 25% faster than Python 2.2." -msgstr "" - -#: ../../whatsnew/2.3.rst:1221 -msgid "New, Improved, and Deprecated Modules" -msgstr "" - -#: ../../whatsnew/2.3.rst:1223 -msgid "" -"As usual, Python's standard library received a number of enhancements and " -"bug fixes. Here's a partial list of the most notable changes, sorted " -"alphabetically by module name. Consult the :file:`Misc/NEWS` file in the " -"source tree for a more complete list of changes, or look through the CVS " -"logs for all the details." -msgstr "" - -#: ../../whatsnew/2.3.rst:1228 -msgid "" -"The :mod:`array` module now supports arrays of Unicode characters using the " -"``'u'`` format character. Arrays also now support using the ``+=`` " -"assignment operator to add another array's contents, and the ``*=`` " -"assignment operator to repeat an array. (Contributed by Jason Orendorff.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1233 -msgid "" -"The :mod:`!bsddb` module has been replaced by version 4.1.6 of the `PyBSDDB " -"`_ package, providing a more complete " -"interface to the transactional features of the BerkeleyDB library." -msgstr "" - -#: ../../whatsnew/2.3.rst:1237 -msgid "" -"The old version of the module has been renamed to :mod:`!bsddb185` and is " -"no longer built automatically; you'll have to edit :file:`Modules/Setup` to" -" enable it. Note that the new :mod:`!bsddb` package is intended to be " -"compatible with the old module, so be sure to file bugs if you discover any" -" incompatibilities. When upgrading to Python 2.3, if the new interpreter is " -"compiled with a new version of the underlying BerkeleyDB library, you will " -"almost certainly have to convert your database files to the new version. " -"You can do this fairly easily with the new scripts :file:`db2pickle.py` and " -":file:`pickle2db.py` which you will find in the distribution's " -":file:`Tools/scripts` directory. If you've already been using the PyBSDDB " -"package and importing it as :mod:`!bsddb3`, you will have to change your " -"``import`` statements to import it as :mod:`!bsddb`." -msgstr "" - -#: ../../whatsnew/2.3.rst:1249 -msgid "" -"The new :mod:`bz2` module is an interface to the bz2 data compression " -"library. bz2-compressed data is usually smaller than corresponding " -":mod:`zlib`\\ -compressed data. (Contributed by Gustavo Niemeyer.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1253 -msgid "" -"A set of standard date/time types has been added in the new :mod:`datetime` " -"module. See the following section for more details." -msgstr "" - -#: ../../whatsnew/2.3.rst:1256 -msgid "" -"The Distutils :class:`!Extension` class now supports an extra constructor " -"argument named *depends* for listing additional source files that an " -"extension depends on. This lets Distutils recompile the module if any of " -"the dependency files are modified. For example, if :file:`sampmodule.c` " -"includes the header file :file:`sample.h`, you would create the " -":class:`!Extension` object like this::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1263 -msgid "" -"ext = Extension(\"samp\",\n" -" sources=[\"sampmodule.c\"],\n" -" depends=[\"sample.h\"])" -msgstr "" - -#: ../../whatsnew/2.3.rst:1267 -msgid "" -"Modifying :file:`sample.h` would then cause the module to be recompiled. " -"(Contributed by Jeremy Hylton.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1270 -msgid "" -"Other minor changes to Distutils: it now checks for the :envvar:`CC`, " -":envvar:`CFLAGS`, :envvar:`!CPP`, :envvar:`LDFLAGS`, and :envvar:`CPPFLAGS` " -"environment variables, using them to override the settings in Python's " -"configuration (contributed by Robert Weber)." -msgstr "" - -#: ../../whatsnew/2.3.rst:1275 -msgid "" -"Previously the :mod:`doctest` module would only search the docstrings of " -"public methods and functions for test cases, but it now also examines " -"private ones as well. The :func:`~doctest.DocTestSuite` function creates a " -":class:`unittest.TestSuite` object from a set of :mod:`doctest` tests." -msgstr "" - -#: ../../whatsnew/2.3.rst:1280 -msgid "" -"The new ``gc.get_referents(object)`` function returns a list of all the " -"objects referenced by *object*." -msgstr "" - -#: ../../whatsnew/2.3.rst:1283 -msgid "" -"The :mod:`getopt` module gained a new function, :func:`~getopt.gnu_getopt`, " -"that supports the same arguments as the existing :func:`~getopt.getopt` " -"function but uses GNU-style scanning mode. The existing " -":func:`~getopt.getopt` stops processing options as soon as a non-option " -"argument is encountered, but in GNU-style mode processing continues, meaning" -" that options and arguments can be mixed. For example::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1289 -msgid "" -">>> getopt.getopt(['-f', 'filename', 'output', '-v'], 'f:v')\n" -"([('-f', 'filename')], ['output', '-v'])\n" -">>> getopt.gnu_getopt(['-f', 'filename', 'output', '-v'], 'f:v')\n" -"([('-f', 'filename'), ('-v', '')], ['output'])" -msgstr "" - -#: ../../whatsnew/2.3.rst:1294 -msgid "(Contributed by Peter Åstrand.)" -msgstr "(Kontribusi dari Peter Åstrand.)" - -#: ../../whatsnew/2.3.rst:1296 -msgid "" -"The :mod:`grp`, :mod:`pwd`, and :mod:`resource` modules now return enhanced " -"tuples::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1299 -msgid "" -">>> import grp\n" -">>> g = grp.getgrnam('amk')\n" -">>> g.gr_name, g.gr_gid\n" -"('amk', 500)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1304 -msgid "The :mod:`gzip` module can now handle files exceeding 2 GiB." -msgstr "" - -#: ../../whatsnew/2.3.rst:1306 -msgid "" -"The new :mod:`heapq` module contains an implementation of a heap queue " -"algorithm. A heap is an array-like data structure that keeps items in a " -"partially sorted order such that, for every index *k*, ``heap[k] <= " -"heap[2*k+1]`` and ``heap[k] <= heap[2*k+2]``. This makes it quick to remove" -" the smallest item, and inserting a new item while maintaining the heap " -"property is *O*\\ (log *n*). (See " -"https://xlinux.nist.gov/dads//HTML/priorityque.html for more information " -"about the priority queue data structure.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1314 -msgid "" -"The :mod:`heapq` module provides :func:`~heapq.heappush` and " -":func:`~heapq.heappop` functions for adding and removing items while " -"maintaining the heap property on top of some other mutable Python sequence " -"type. Here's an example that uses a Python list::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1318 -msgid "" -">>> import heapq\n" -">>> heap = []\n" -">>> for item in [3, 7, 5, 11, 1]:\n" -"... heapq.heappush(heap, item)\n" -"...\n" -">>> heap\n" -"[1, 3, 5, 11, 7]\n" -">>> heapq.heappop(heap)\n" -"1\n" -">>> heapq.heappop(heap)\n" -"3\n" -">>> heap\n" -"[5, 7, 11]" -msgstr "" - -#: ../../whatsnew/2.3.rst:1332 -msgid "(Contributed by Kevin O'Connor.)" -msgstr "(Kontribusi dari Kevin O'Connor.)" - -#: ../../whatsnew/2.3.rst:1334 -msgid "" -"The IDLE integrated development environment has been updated using the code " -"from the IDLEfork project (https://idlefork.sourceforge.net). The most " -"notable feature is that the code being developed is now executed in a " -"subprocess, meaning that there's no longer any need for manual ``reload()`` " -"operations. IDLE's core code has been incorporated into the standard library" -" as the :mod:`idlelib` package." -msgstr "" - -#: ../../whatsnew/2.3.rst:1340 -msgid "" -"The :mod:`imaplib` module now supports IMAP over SSL. (Contributed by Piers " -"Lauder and Tino Lange.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1343 -msgid "" -"The :mod:`itertools` contains a number of useful functions for use with " -"iterators, inspired by various functions provided by the ML and Haskell " -"languages. For example, ``itertools.ifilter(predicate, iterator)`` returns " -"all elements in the iterator for which the function :func:`!predicate` " -"returns :const:`True`, and ``itertools.repeat(obj, N)`` returns ``obj`` *N* " -"times. There are a number of other functions in the module; see the " -"package's reference documentation for details. (Contributed by Raymond " -"Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1352 -msgid "" -"Two new functions in the :mod:`math` module, ``degrees(rads)`` and " -"``radians(degs)``, convert between radians and degrees. Other functions in " -"the :mod:`math` module such as :func:`math.sin` and :func:`math.cos` have " -"always required input values measured in radians. Also, an optional *base* " -"argument was added to :func:`math.log` to make it easier to compute " -"logarithms for bases other than ``e`` and ``10``. (Contributed by Raymond " -"Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1359 -msgid "" -"Several new POSIX functions (:func:`!getpgid`, :func:`!killpg`, " -":func:`!lchown`, :func:`!loadavg`, :func:`!major`, :func:`!makedev`, " -":func:`!minor`, and :func:`!mknod`) were added to the :mod:`posix` module " -"that underlies the :mod:`os` module. (Contributed by Gustavo Niemeyer, Geert" -" Jansen, and Denis S. Otkidach.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1365 -msgid "" -"In the :mod:`os` module, the :func:`!\\*stat` family of functions can now " -"report fractions of a second in a timestamp. Such time stamps are " -"represented as floats, similar to the value returned by :func:`time.time`." -msgstr "" - -#: ../../whatsnew/2.3.rst:1369 -msgid "" -"During testing, it was found that some applications will break if time " -"stamps are floats. For compatibility, when using the tuple interface of the" -" :class:`~os.stat_result` time stamps will be represented as integers. When " -"using named fields (a feature first introduced in Python 2.2), time stamps " -"are still represented as integers, unless :func:`!os.stat_float_times` is " -"invoked to enable float return values::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1376 -msgid "" -">>> os.stat(\"/tmp\").st_mtime\n" -"1034791200\n" -">>> os.stat_float_times(True)\n" -">>> os.stat(\"/tmp\").st_mtime\n" -"1034791200.6335014" -msgstr "" - -#: ../../whatsnew/2.3.rst:1382 -msgid "In Python 2.4, the default will change to always returning floats." -msgstr "" - -#: ../../whatsnew/2.3.rst:1384 -msgid "" -"Application developers should enable this feature only if all their " -"libraries work properly when confronted with floating-point time stamps, or " -"if they use the tuple API. If used, the feature should be activated on an " -"application level instead of trying to enable it on a per-use basis." -msgstr "" - -#: ../../whatsnew/2.3.rst:1389 -msgid "" -"The :mod:`optparse` module contains a new parser for command-line arguments " -"that can convert option values to a particular Python type and will " -"automatically generate a usage message. See the following section for more" -" details." -msgstr "" - -#: ../../whatsnew/2.3.rst:1394 -msgid "" -"The old and never-documented :mod:`!linuxaudiodev` module has been " -"deprecated, and a new version named :mod:`!ossaudiodev` has been added. The" -" module was renamed because the OSS sound drivers can be used on platforms " -"other than Linux, and the interface has also been tidied and brought up to " -"date in various ways. (Contributed by Greg Ward and Nicholas FitzRoy-Dale.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1400 -msgid "" -"The new :mod:`platform` module contains a number of functions that try to " -"determine various properties of the platform you're running on. There are " -"functions for getting the architecture, CPU type, the Windows OS version, " -"and even the Linux distribution version. (Contributed by Marc-André " -"Lemburg.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1405 -msgid "" -"The parser objects provided by the :mod:`pyexpat ` module" -" can now optionally buffer character data, resulting in fewer calls to your " -"character data handler and therefore faster performance. Setting the parser" -" object's :attr:`~xml.parsers.expat.xmlparser.buffer_text` attribute to " -":const:`True` will enable buffering." -msgstr "" - -#: ../../whatsnew/2.3.rst:1410 -msgid "" -"The ``sample(population, k)`` function was added to the :mod:`random` " -"module. *population* is a sequence or :class:`!xrange` object containing " -"the elements of a population, and :func:`~random.sample` chooses *k* " -"elements from the population without replacing chosen elements. *k* can be " -"any value up to ``len(population)``. For example::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1416 -msgid "" -">>> days = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'St', 'Sn']\n" -">>> random.sample(days, 3) # Choose 3 elements\n" -"['St', 'Sn', 'Th']\n" -">>> random.sample(days, 7) # Choose 7 elements\n" -"['Tu', 'Th', 'Mo', 'We', 'St', 'Fr', 'Sn']\n" -">>> random.sample(days, 7) # Choose 7 again\n" -"['We', 'Mo', 'Sn', 'Fr', 'Tu', 'St', 'Th']\n" -">>> random.sample(days, 8) # Can't choose eight\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in ?\n" -" File \"random.py\", line 414, in sample\n" -" raise ValueError, \"sample larger than population\"\n" -"ValueError: sample larger than population\n" -">>> random.sample(xrange(1,10000,2), 10) # Choose ten odd nos. under 10000\n" -"[3407, 3805, 1505, 7023, 2401, 2267, 9733, 3151, 8083, 9195]" -msgstr "" - -#: ../../whatsnew/2.3.rst:1432 -msgid "" -"The :mod:`random` module now uses a new algorithm, the Mersenne Twister, " -"implemented in C. It's faster and more extensively studied than the " -"previous algorithm." -msgstr "" - -#: ../../whatsnew/2.3.rst:1436 -msgid "(All changes contributed by Raymond Hettinger.)" -msgstr "(Semua perubahan kontribusi dari Raymond Hettinger.)" - -#: ../../whatsnew/2.3.rst:1438 -msgid "" -"The :mod:`readline` module also gained a number of new functions: " -":func:`~readline.get_history_item`, " -":func:`~readline.get_current_history_length`, and " -":func:`~readline.redisplay`." -msgstr "" - -#: ../../whatsnew/2.3.rst:1442 -msgid "" -"The :mod:`!rexec` and :mod:`!Bastion` modules have been declared dead, and " -"attempts to import them will fail with a :exc:`RuntimeError`. New-style " -"classes provide new ways to break out of the restricted execution " -"environment provided by :mod:`!rexec`, and no one has interest in fixing " -"them or time to do so. If you have applications using :mod:`!rexec`, " -"rewrite them to use something else." -msgstr "" - -#: ../../whatsnew/2.3.rst:1448 -msgid "" -"(Sticking with Python 2.2 or 2.1 will not make your applications any safer " -"because there are known bugs in the :mod:`!rexec` module in those versions." -" To repeat: if you're using :mod:`!rexec`, stop using it immediately.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1452 -msgid "" -"The :mod:`!rotor` module has been deprecated because the algorithm it uses " -"for encryption is not believed to be secure. If you need encryption, use " -"one of the several AES Python modules that are available separately." -msgstr "" - -#: ../../whatsnew/2.3.rst:1456 -msgid "" -"The :mod:`shutil` module gained a ``move(src, dest)`` function that " -"recursively moves a file or directory to a new location." -msgstr "" - -#: ../../whatsnew/2.3.rst:1459 -msgid "" -"Support for more advanced POSIX signal handling was added to the " -":mod:`signal` but then removed again as it proved impossible to make it work" -" reliably across platforms." -msgstr "" - -#: ../../whatsnew/2.3.rst:1463 -msgid "" -"The :mod:`socket` module now supports timeouts. You can call the " -"``settimeout(t)`` method on a socket object to set a timeout of *t* seconds." -" Subsequent socket operations that take longer than *t* seconds to complete " -"will abort and raise a :exc:`socket.timeout` exception." -msgstr "" - -#: ../../whatsnew/2.3.rst:1468 -msgid "" -"The original timeout implementation was by Tim O'Malley. Michael Gilfix " -"integrated it into the Python :mod:`socket` module and shepherded it through" -" a lengthy review. After the code was checked in, Guido van Rossum rewrote " -"parts of it. (This is a good example of a collaborative development process" -" in action.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1474 -msgid "" -"On Windows, the :mod:`socket` module now ships with Secure Sockets Layer " -"(SSL) support." -msgstr "" - -#: ../../whatsnew/2.3.rst:1477 -msgid "" -"The value of the C :c:macro:`!PYTHON_API_VERSION` macro is now exposed at " -"the Python level as ``sys.api_version``. The current exception can be " -"cleared by calling the new :func:`!sys.exc_clear` function." -msgstr "" - -#: ../../whatsnew/2.3.rst:1481 -msgid "" -"The new :mod:`tarfile` module allows reading from and writing to " -":program:`tar`\\ -format archive files. (Contributed by Lars Gustäbel.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1484 -msgid "" -"The new :mod:`textwrap` module contains functions for wrapping strings " -"containing paragraphs of text. The ``wrap(text, width)`` function takes a " -"string and returns a list containing the text split into lines of no more " -"than the chosen width. The ``fill(text, width)`` function returns a single " -"string, reformatted to fit into lines no longer than the chosen width. (As " -"you can guess, :func:`~textwrap.fill` is built on top of " -":func:`~textwrap.wrap`. For example::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1491 -msgid "" -">>> import textwrap\n" -">>> paragraph = \"Not a whit, we defy augury: ... more text ...\"\n" -">>> textwrap.wrap(paragraph, 60)\n" -"[\"Not a whit, we defy augury: there's a special providence in\",\n" -" \"the fall of a sparrow. If it be now, 'tis not to come; if it\",\n" -" ...]\n" -">>> print textwrap.fill(paragraph, 35)\n" -"Not a whit, we defy augury: there's\n" -"a special providence in the fall of\n" -"a sparrow. If it be now, 'tis not\n" -"to come; if it be not to come, it\n" -"will be now; if it be not now, yet\n" -"it will come: the readiness is all.\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.3.rst:1506 -msgid "" -"The module also contains a :class:`~textwrap.TextWrapper` class that " -"actually implements the text wrapping strategy. Both the " -":class:`~textwrap.TextWrapper` class and the :func:`~textwrap.wrap` and " -":func:`~textwrap.fill` functions support a number of additional keyword " -"arguments for fine-tuning the formatting; consult the module's documentation" -" for details. (Contributed by Greg Ward.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1512 -msgid "" -"The :mod:`!thread` and :mod:`threading` modules now have companion modules, " -":mod:`!dummy_thread` and :mod:`!dummy_threading`, that provide a do-nothing " -"implementation of the :mod:`!thread` module's interface for platforms where " -"threads are not supported. The intention is to simplify thread-aware " -"modules (ones that *don't* rely on threads to run) by putting the following " -"code at the top::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1519 -msgid "" -"try:\n" -" import threading as _threading\n" -"except ImportError:\n" -" import dummy_threading as _threading" -msgstr "" - -#: ../../whatsnew/2.3.rst:1524 -msgid "" -"In this example, :mod:`!_threading` is used as the module name to make it " -"clear that the module being used is not necessarily the actual " -":mod:`threading` module. Code can call functions and use classes in " -":mod:`!_threading` whether or not threads are supported, avoiding an " -":keyword:`if` statement and making the code slightly clearer. This module " -"will not magically make multithreaded code run without threads; code that " -"waits for another thread to return or to do something will simply hang " -"forever." -msgstr "" - -#: ../../whatsnew/2.3.rst:1532 -msgid "" -"The :mod:`time` module's :func:`~time.strptime` function has long been an " -"annoyance because it uses the platform C library's :func:`~time.strptime` " -"implementation, and different platforms sometimes have odd bugs. Brett " -"Cannon contributed a portable implementation that's written in pure Python " -"and should behave identically on all platforms." -msgstr "" - -#: ../../whatsnew/2.3.rst:1538 -msgid "" -"The new :mod:`timeit` module helps measure how long snippets of Python code " -"take to execute. The :file:`timeit.py` file can be run directly from the " -"command line, or the module's :class:`~timeit.Timer` class can be imported " -"and used directly. Here's a short example that figures out whether it's " -"faster to convert an 8-bit string to Unicode by appending an empty Unicode " -"string to it or by using the :func:`!unicode` function::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1545 -msgid "" -"import timeit\n" -"\n" -"timer1 = timeit.Timer('unicode(\"abc\")')\n" -"timer2 = timeit.Timer('\"abc\" + u\"\"')\n" -"\n" -"# Run three trials\n" -"print timer1.repeat(repeat=3, number=100000)\n" -"print timer2.repeat(repeat=3, number=100000)\n" -"\n" -"# On my laptop this outputs:\n" -"# [0.36831796169281006, 0.37441694736480713, 0.35304892063140869]\n" -"# [0.17574405670166016, 0.18193507194519043, 0.17565798759460449]" -msgstr "" - -#: ../../whatsnew/2.3.rst:1558 -msgid "" -"The :mod:`!Tix` module has received various bug fixes and updates for the " -"current version of the Tix package." -msgstr "" - -#: ../../whatsnew/2.3.rst:1561 -msgid "" -"The :mod:`!Tkinter` module now works with a thread-enabled version of Tcl. " -"Tcl's threading model requires that widgets only be accessed from the thread" -" in which they're created; accesses from another thread can cause Tcl to " -"panic. For certain Tcl interfaces, :mod:`!Tkinter` will now automatically " -"avoid this when a widget is accessed from a different thread by marshalling" -" a command, passing it to the correct thread, and waiting for the results. " -"Other interfaces can't be handled automatically but :mod:`!Tkinter` will now" -" raise an exception on such an access so that you can at least find out " -"about the problem. See https://mail.python.org/pipermail/python-" -"dev/2002-December/031107.html for a more detailed explanation of this " -"change. (Implemented by Martin von Löwis.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1572 -msgid "" -"Calling Tcl methods through :mod:`!_tkinter` no longer returns only " -"strings. Instead, if Tcl returns other objects those objects are converted " -"to their Python equivalent, if one exists, or wrapped with a " -":class:`!_tkinter.Tcl_Obj` object if no Python equivalent exists. This " -"behavior can be controlled through the :meth:`!wantobjects` method of " -":class:`!tkapp` objects." -msgstr "" - -#: ../../whatsnew/2.3.rst:1578 -msgid "" -"When using :mod:`!_tkinter` through the :mod:`!Tkinter` module (as most " -"Tkinter applications will), this feature is always activated. It should not " -"cause compatibility problems, since Tkinter would always convert string " -"results to Python types where possible." -msgstr "" - -#: ../../whatsnew/2.3.rst:1583 -msgid "" -"If any incompatibilities are found, the old behavior can be restored by " -"setting the :attr:`!wantobjects` variable in the :mod:`!Tkinter` module to " -"false before creating the first :class:`!tkapp` object. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1587 -msgid "" -"import Tkinter\n" -"Tkinter.wantobjects = 0" -msgstr "" - -#: ../../whatsnew/2.3.rst:1590 -msgid "Any breakage caused by this change should be reported as a bug." -msgstr "" - -#: ../../whatsnew/2.3.rst:1592 -msgid "" -"The :mod:`!UserDict` module has a new :class:`!DictMixin` class which " -"defines all dictionary methods for classes that already have a minimum " -"mapping interface. This greatly simplifies writing classes that need to be " -"substitutable for dictionaries, such as the classes in the :mod:`shelve` " -"module." -msgstr "" - -#: ../../whatsnew/2.3.rst:1598 -msgid "" -"Adding the mix-in as a superclass provides the full dictionary interface " -"whenever the class defines :meth:`~object.__getitem__`, " -":meth:`~object.__setitem__`, :meth:`~object.__delitem__`, and :meth:`!keys`." -" For example::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1602 -msgid "" -">>> import UserDict\n" -">>> class SeqDict(UserDict.DictMixin):\n" -"... \"\"\"Dictionary lookalike implemented with lists.\"\"\"\n" -"... def __init__(self):\n" -"... self.keylist = []\n" -"... self.valuelist = []\n" -"... def __getitem__(self, key):\n" -"... try:\n" -"... i = self.keylist.index(key)\n" -"... except ValueError:\n" -"... raise KeyError\n" -"... return self.valuelist[i]\n" -"... def __setitem__(self, key, value):\n" -"... try:\n" -"... i = self.keylist.index(key)\n" -"... self.valuelist[i] = value\n" -"... except ValueError:\n" -"... self.keylist.append(key)\n" -"... self.valuelist.append(value)\n" -"... def __delitem__(self, key):\n" -"... try:\n" -"... i = self.keylist.index(key)\n" -"... except ValueError:\n" -"... raise KeyError\n" -"... self.keylist.pop(i)\n" -"... self.valuelist.pop(i)\n" -"... def keys(self):\n" -"... return list(self.keylist)\n" -"...\n" -">>> s = SeqDict()\n" -">>> dir(s) # See that other dictionary methods are implemented\n" -"['__cmp__', '__contains__', '__delitem__', '__doc__', '__getitem__',\n" -" '__init__', '__iter__', '__len__', '__module__', '__repr__',\n" -" '__setitem__', 'clear', 'get', 'has_key', 'items', 'iteritems',\n" -" 'iterkeys', 'itervalues', 'keylist', 'keys', 'pop', 'popitem',\n" -" 'setdefault', 'update', 'valuelist', 'values']" -msgstr "" - -#: ../../whatsnew/2.3.rst:1639 -msgid "(Contributed by Raymond Hettinger.)" -msgstr "(Kontribusi dari Raymond Hettinger.)" - -#: ../../whatsnew/2.3.rst:1641 -msgid "" -"The DOM implementation in :mod:`xml.dom.minidom` can now generate XML output" -" in a particular encoding by providing an optional encoding argument to the " -":meth:`~xml.dom.minidom.Node.toxml` and " -":meth:`~xml.dom.minidom.Node.toprettyxml` methods of DOM nodes." -msgstr "" - -#: ../../whatsnew/2.3.rst:1645 -msgid "" -"The :mod:`!xmlrpclib` module now supports an XML-RPC extension for handling " -"nil data values such as Python's ``None``. Nil values are always supported " -"on unmarshalling an XML-RPC response. To generate requests containing " -"``None``, you must supply a true value for the *allow_none* parameter when " -"creating a :class:`!Marshaller` instance." -msgstr "" - -#: ../../whatsnew/2.3.rst:1651 -msgid "" -"The new :mod:`!DocXMLRPCServer` module allows writing self-documenting XML-" -"RPC servers. Run it in demo mode (as a program) to see it in action. " -"Pointing the web browser to the RPC server produces pydoc-style " -"documentation; pointing xmlrpclib to the server allows invoking the actual " -"methods. (Contributed by Brian Quinlan.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1657 -msgid "" -"Support for internationalized domain names (RFCs 3454, 3490, 3491, and 3492)" -" has been added. The \"idna\" encoding can be used to convert between a " -"Unicode domain name and the ASCII-compatible encoding (ACE) of that name. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1661 -msgid "" -">{}>{}> u\"www.Alliancefrançaise.nu\".encode(\"idna\")\n" -"'www.xn--alliancefranaise-npb.nu'" -msgstr "" - -#: ../../whatsnew/2.3.rst:1664 -msgid "" -"The :mod:`socket` module has also been extended to transparently convert " -"Unicode hostnames to the ACE version before passing them to the C library. " -"Modules that deal with hostnames such as :mod:`!httplib` and :mod:`ftplib`) " -"also support Unicode host names; :mod:`!httplib` also sends HTTP ``Host`` " -"headers using the ACE version of the domain name. :mod:`urllib` supports " -"Unicode URLs with non-ASCII host names as long as the ``path`` part of the " -"URL is ASCII only." -msgstr "" - -#: ../../whatsnew/2.3.rst:1672 -msgid "" -"To implement this change, the :mod:`stringprep` module, the " -"``mkstringprep`` tool and the ``punycode`` encoding have been added." -msgstr "" - -#: ../../whatsnew/2.3.rst:1679 -msgid "Date/Time Type" -msgstr "" - -#: ../../whatsnew/2.3.rst:1681 -msgid "" -"Date and time types suitable for expressing timestamps were added as the " -":mod:`datetime` module. The types don't support different calendars or many" -" fancy features, and just stick to the basics of representing time." -msgstr "" - -#: ../../whatsnew/2.3.rst:1685 -msgid "" -"The three primary types are: :class:`~datetime.date`, representing a day, " -"month, and year; :class:`~datetime.time`, consisting of hour, minute, and " -"second; and :class:`~datetime.datetime`, which contains all the attributes " -"of both :class:`~datetime.date` and :class:`~datetime.time`. There's also a " -":class:`~datetime.timedelta` class representing differences between two " -"points in time, and time zone logic is implemented by classes inheriting " -"from the abstract :class:`~datetime.tzinfo` class." -msgstr "" - -#: ../../whatsnew/2.3.rst:1692 -msgid "" -"You can create instances of :class:`~datetime.date` and " -":class:`~datetime.time` by either supplying keyword arguments to the " -"appropriate constructor, e.g. ``datetime.date(year=1972, month=10, " -"day=15)``, or by using one of a number of class methods. For example, the " -":meth:`~datetime.date.today` class method returns the current local date." -msgstr "" - -#: ../../whatsnew/2.3.rst:1698 -msgid "" -"Once created, instances of the date/time classes are all immutable. There " -"are a number of methods for producing formatted strings from objects::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1701 -msgid "" -">>> import datetime\n" -">>> now = datetime.datetime.now()\n" -">>> now.isoformat()\n" -"'2002-12-30T21:27:03.994956'\n" -">>> now.ctime() # Only available on date, datetime\n" -"'Mon Dec 30 21:27:03 2002'\n" -">>> now.strftime('%Y %d %b')\n" -"'2002 30 Dec'" -msgstr "" - -#: ../../whatsnew/2.3.rst:1710 -msgid "" -"The :meth:`~datetime.datetime.replace` method allows modifying one or more " -"fields of a :class:`~datetime.date` or :class:`~datetime.datetime` " -"instance, returning a new instance::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1713 -msgid "" -">>> d = datetime.datetime.now()\n" -">>> d\n" -"datetime.datetime(2002, 12, 30, 22, 15, 38, 827738)\n" -">>> d.replace(year=2001, hour = 12)\n" -"datetime.datetime(2001, 12, 30, 12, 15, 38, 827738)\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.3.rst:1720 -msgid "" -"Instances can be compared, hashed, and converted to strings (the result is " -"the same as that of :meth:`~datetime.datetime.isoformat`). " -":class:`~datetime.date` and :class:`~datetime.datetime` instances can be " -"subtracted from each other, and added to :class:`~datetime.timedelta` " -"instances. The largest missing feature is that there's no standard library " -"support for parsing strings and getting back a :class:`~datetime.date` or " -":class:`~datetime.datetime`." -msgstr "" - -#: ../../whatsnew/2.3.rst:1727 -msgid "" -"For more information, refer to the module's reference documentation. " -"(Contributed by Tim Peters.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1734 -msgid "The optparse Module" -msgstr "" - -#: ../../whatsnew/2.3.rst:1736 -msgid "" -"The :mod:`getopt` module provides simple parsing of command-line arguments." -" The new :mod:`optparse` module (originally named Optik) provides more " -"elaborate command-line parsing that follows the Unix conventions, " -"automatically creates the output for :option:`!--help`, and can perform " -"different actions for different options." -msgstr "" - -#: ../../whatsnew/2.3.rst:1742 -msgid "" -"You start by creating an instance of :class:`~optparse.OptionParser` and " -"telling it what your program's options are. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1745 -msgid "" -"import sys\n" -"from optparse import OptionParser\n" -"\n" -"op = OptionParser()\n" -"op.add_option('-i', '--input',\n" -" action='store', type='string', dest='input',\n" -" help='set input filename')\n" -"op.add_option('-l', '--length',\n" -" action='store', type='int', dest='length',\n" -" help='set maximum length of output')" -msgstr "" - -#: ../../whatsnew/2.3.rst:1756 -msgid "" -"Parsing a command line is then done by calling the " -":meth:`~optparse.OptionParser.parse_args` method. ::" -msgstr "" - -#: ../../whatsnew/2.3.rst:1758 -msgid "" -"options, args = op.parse_args(sys.argv[1:])\n" -"print options\n" -"print args" -msgstr "" - -#: ../../whatsnew/2.3.rst:1762 -msgid "" -"This returns an object containing all of the option values, and a list of " -"strings containing the remaining arguments." -msgstr "" - -#: ../../whatsnew/2.3.rst:1765 -msgid "" -"Invoking the script with the various arguments now works as you'd expect it " -"to. Note that the length argument is automatically converted to an integer." -msgstr "" - -#: ../../whatsnew/2.3.rst:1768 -msgid "" -"$ ./python opt.py -i data arg1\n" -"\n" -"['arg1']\n" -"$ ./python opt.py --input=data --length=4\n" -"\n" -"[]\n" -"$" -msgstr "" - -#: ../../whatsnew/2.3.rst:1778 -msgid "The help message is automatically generated for you:" -msgstr "" - -#: ../../whatsnew/2.3.rst:1780 -msgid "" -"$ ./python opt.py --help\n" -"usage: opt.py [options]\n" -"\n" -"options:\n" -" -h, --help show this help message and exit\n" -" -iINPUT, --input=INPUT\n" -" set input filename\n" -" -lLENGTH, --length=LENGTH\n" -" set maximum length of output\n" -"$" -msgstr "" - -#: ../../whatsnew/2.3.rst:1793 -msgid "See the module's documentation for more details." -msgstr "" - -#: ../../whatsnew/2.3.rst:1796 -msgid "" -"Optik was written by Greg Ward, with suggestions from the readers of the " -"Getopt SIG." -msgstr "" - -#: ../../whatsnew/2.3.rst:1805 -msgid "Pymalloc: A Specialized Object Allocator" -msgstr "" - -#: ../../whatsnew/2.3.rst:1807 -msgid "" -"Pymalloc, a specialized object allocator written by Vladimir Marangozov, was" -" a feature added to Python 2.1. Pymalloc is intended to be faster than the " -"system :c:func:`malloc` and to have less memory overhead for allocation " -"patterns typical of Python programs. The allocator uses C's :c:func:`malloc`" -" function to get large pools of memory and then fulfills smaller memory " -"requests from these pools." -msgstr "" - -#: ../../whatsnew/2.3.rst:1813 -msgid "" -"In 2.1 and 2.2, pymalloc was an experimental feature and wasn't enabled by " -"default; you had to explicitly enable it when compiling Python by providing " -"the :option:`!--with-pymalloc` option to the :program:`configure` script. " -"In 2.3, pymalloc has had further enhancements and is now enabled by default;" -" you'll have to supply :option:`!--without-pymalloc` to disable it." -msgstr "" - -#: ../../whatsnew/2.3.rst:1819 -msgid "" -"This change is transparent to code written in Python; however, pymalloc may " -"expose bugs in C extensions. Authors of C extension modules should test " -"their code with pymalloc enabled, because some incorrect code may cause core" -" dumps at runtime." -msgstr "" - -#: ../../whatsnew/2.3.rst:1824 -msgid "" -"There's one particularly common error that causes problems. There are a " -"number of memory allocation functions in Python's C API that have previously" -" just been aliases for the C library's :c:func:`malloc` and :c:func:`free`, " -"meaning that if you accidentally called mismatched functions the error " -"wouldn't be noticeable. When the object allocator is enabled, these " -"functions aren't aliases of :c:func:`malloc` and :c:func:`free` any more, " -"and calling the wrong function to free memory may get you a core dump. For " -"example, if memory was allocated using :c:func:`PyObject_Malloc`, it has to " -"be freed using :c:func:`PyObject_Free`, not :c:func:`free`. A few modules " -"included with Python fell afoul of this and had to be fixed; doubtless there" -" are more third-party modules that will have the same problem." -msgstr "" - -#: ../../whatsnew/2.3.rst:1836 -msgid "" -"As part of this change, the confusing multiple interfaces for allocating " -"memory have been consolidated down into two API families. Memory allocated " -"with one family must not be manipulated with functions from the other " -"family. There is one family for allocating chunks of memory and another " -"family of functions specifically for allocating Python objects." -msgstr "" - -#: ../../whatsnew/2.3.rst:1842 -msgid "" -"To allocate and free an undistinguished chunk of memory use the \"raw " -"memory\" family: :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc`, and " -":c:func:`PyMem_Free`." -msgstr "" - -#: ../../whatsnew/2.3.rst:1845 -msgid "" -"The \"object memory\" family is the interface to the pymalloc facility " -"described above and is biased towards a large number of \"small\" " -"allocations: :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc`, and " -":c:func:`PyObject_Free`." -msgstr "" - -#: ../../whatsnew/2.3.rst:1849 -msgid "" -"To allocate and free Python objects, use the \"object\" family " -":c:macro:`PyObject_New`, :c:macro:`PyObject_NewVar`, and " -":c:func:`PyObject_Del`." -msgstr "" - -#: ../../whatsnew/2.3.rst:1852 -msgid "" -"Thanks to lots of work by Tim Peters, pymalloc in 2.3 also provides " -"debugging features to catch memory overwrites and doubled frees in both " -"extension modules and in the interpreter itself. To enable this support, " -"compile a debugging version of the Python interpreter by running " -":program:`configure` with :option:`!--with-pydebug`." -msgstr "" - -#: ../../whatsnew/2.3.rst:1858 -msgid "" -"To aid extension writers, a header file :file:`Misc/pymemcompat.h` is " -"distributed with the source to Python 2.3 that allows Python extensions to " -"use the 2.3 interfaces to memory allocation while compiling against any " -"version of Python since 1.5.2. You would copy the file from Python's source" -" distribution and bundle it with the source of your extension." -msgstr "" - -#: ../../whatsnew/2.3.rst:1867 -msgid "https://hg.python.org/cpython/file/default/Objects/obmalloc.c" -msgstr "" - -#: ../../whatsnew/2.3.rst:1868 -msgid "" -"For the full details of the pymalloc implementation, see the comments at the" -" top of the file :file:`Objects/obmalloc.c` in the Python source code. The " -"above link points to the file within the python.org SVN browser." -msgstr "" - -#: ../../whatsnew/2.3.rst:1876 -msgid "Build and C API Changes" -msgstr "Perubahan Pembangunan *Build* dan API C" - -#: ../../whatsnew/2.3.rst:1878 -msgid "Changes to Python's build process and to the C API include:" -msgstr "" - -#: ../../whatsnew/2.3.rst:1880 -msgid "" -"The cycle detection implementation used by the garbage collection has proven" -" to be stable, so it's now been made mandatory. You can no longer compile " -"Python without it, and the :option:`!--with-cycle-gc` switch to " -":program:`configure` has been removed." -msgstr "" - -#: ../../whatsnew/2.3.rst:1885 -msgid "" -"Python can now optionally be built as a shared library " -"(:file:`libpython2.3.so`) by supplying :option:`!--enable-shared` when " -"running Python's :program:`configure` script. (Contributed by Ondrej " -"Palkovsky.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1889 -msgid "" -"The :c:macro:`!DL_EXPORT` and :c:macro:`!DL_IMPORT` macros are now " -"deprecated. Initialization functions for Python extension modules should now" -" be declared using the new macro :c:macro:`PyMODINIT_FUNC`, while the Python" -" core will generally use the :c:macro:`!PyAPI_FUNC` and " -":c:macro:`!PyAPI_DATA` macros." -msgstr "" - -#: ../../whatsnew/2.3.rst:1894 -msgid "" -"The interpreter can be compiled without any docstrings for the built-in " -"functions and modules by supplying :option:`!--without-doc-strings` to the " -":program:`configure` script. This makes the Python executable about 10% " -"smaller, but will also mean that you can't get help for Python's built-ins." -" (Contributed by Gustavo Niemeyer.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1900 -msgid "" -"The :c:func:`!PyArg_NoArgs` macro is now deprecated, and code that uses it " -"should be changed. For Python 2.2 and later, the method definition table " -"can specify the :c:macro:`METH_NOARGS` flag, signalling that there are no " -"arguments, and the argument checking can then be removed. If compatibility " -"with pre-2.2 versions of Python is important, the code could use " -"``PyArg_ParseTuple(args, \"\")`` instead, but this will be slower than using" -" :c:macro:`METH_NOARGS`." -msgstr "" - -#: ../../whatsnew/2.3.rst:1907 -msgid "" -":c:func:`PyArg_ParseTuple` accepts new format characters for various sizes " -"of unsigned integers: ``B`` for :c:expr:`unsigned char`, ``H`` for " -":c:expr:`unsigned short int`, ``I`` for :c:expr:`unsigned int`, and ``K`` " -"for :c:expr:`unsigned long long`." -msgstr "" - -#: ../../whatsnew/2.3.rst:1912 -msgid "" -"A new function, ``PyObject_DelItemString(mapping, char *key)`` was added as " -"shorthand for ``PyObject_DelItem(mapping, PyString_New(key))``." -msgstr "" - -#: ../../whatsnew/2.3.rst:1915 -msgid "" -"File objects now manage their internal string buffer differently, increasing" -" it exponentially when needed. This results in the benchmark tests in " -":file:`Lib/test/test_bufio.py` speeding up considerably (from 57 seconds to " -"1.7 seconds, according to one measurement)." -msgstr "" - -#: ../../whatsnew/2.3.rst:1920 -msgid "" -"It's now possible to define class and static methods for a C extension type " -"by setting either the :c:macro:`METH_CLASS` or :c:macro:`METH_STATIC` flags " -"in a method's :c:type:`PyMethodDef` structure." -msgstr "" - -#: ../../whatsnew/2.3.rst:1924 -msgid "" -"Python now includes a copy of the Expat XML parser's source code, removing " -"any dependence on a system version or local installation of Expat." -msgstr "" - -#: ../../whatsnew/2.3.rst:1927 -msgid "" -"If you dynamically allocate type objects in your extension, you should be " -"aware of a change in the rules relating to the :attr:`~type.__module__` and " -":attr:`~type.__name__` attributes. In summary, you will want to ensure the " -"type's dictionary contains a ``'__module__'`` key; making the module name " -"the part of the type name leading up to the final period will no longer have" -" the desired effect. For more detail, read the API reference documentation " -"or the source." -msgstr "" - -#: ../../whatsnew/2.3.rst:1938 -msgid "Port-Specific Changes" -msgstr "" - -#: ../../whatsnew/2.3.rst:1940 -msgid "" -"Support for a port to IBM's OS/2 using the EMX runtime environment was " -"merged into the main Python source tree. EMX is a POSIX emulation layer " -"over the OS/2 system APIs. The Python port for EMX tries to support all the" -" POSIX-like capability exposed by the EMX runtime, and mostly succeeds; " -":func:`!fork` and :func:`fcntl` are restricted by the limitations of the " -"underlying emulation layer. The standard OS/2 port, which uses IBM's Visual" -" Age compiler, also gained support for case-sensitive import semantics as " -"part of the integration of the EMX port into CVS. (Contributed by Andrew " -"MacIntyre.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1949 -msgid "" -"On MacOS, most toolbox modules have been weaklinked to improve backward " -"compatibility. This means that modules will no longer fail to load if a " -"single routine is missing on the current OS version. Instead calling the " -"missing routine will raise an exception. (Contributed by Jack Jansen.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1954 -msgid "" -"The RPM spec files, found in the :file:`Misc/RPM/` directory in the Python " -"source distribution, were updated for 2.3. (Contributed by Sean " -"Reifschneider.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:1957 -msgid "" -"Other new platforms now supported by Python include AtheOS " -"(http://www.atheos.cx/), GNU/Hurd, and OpenVMS." -msgstr "" - -#: ../../whatsnew/2.3.rst:1966 -msgid "Other Changes and Fixes" -msgstr "Perubahan dan Perbaikan Lain" - -#: ../../whatsnew/2.3.rst:1968 -msgid "" -"As usual, there were a bunch of other improvements and bugfixes scattered " -"throughout the source tree. A search through the CVS change logs finds " -"there were 523 patches applied and 514 bugs fixed between Python 2.2 and " -"2.3. Both figures are likely to be underestimates." -msgstr "" - -#: ../../whatsnew/2.3.rst:1973 -msgid "Some of the more notable changes are:" -msgstr "" - -#: ../../whatsnew/2.3.rst:1975 -msgid "" -"If the :envvar:`PYTHONINSPECT` environment variable is set, the Python " -"interpreter will enter the interactive prompt after running a Python " -"program, as if Python had been invoked with the :option:`-i` option. The " -"environment variable can be set before running the Python interpreter, or it" -" can be set by the Python program as part of its execution." -msgstr "" - -#: ../../whatsnew/2.3.rst:1981 -msgid "" -"The :file:`regrtest.py` script now provides a way to allow \"all resources " -"except *foo*.\" A resource name passed to the :option:`!-u` option can now " -"be prefixed with a hyphen (``'-'``) to mean \"remove this resource.\" For " -"example, the option '``-uall,-bsddb``' could be used to enable the use of " -"all resources except ``bsddb``." -msgstr "" - -#: ../../whatsnew/2.3.rst:1987 -msgid "" -"The tools used to build the documentation now work under Cygwin as well as " -"Unix." -msgstr "" - -#: ../../whatsnew/2.3.rst:1990 -msgid "" -"The ``SET_LINENO`` opcode has been removed. Back in the mists of time, this" -" opcode was needed to produce line numbers in tracebacks and support trace " -"functions (for, e.g., :mod:`pdb`). Since Python 1.5, the line numbers in " -"tracebacks have been computed using a different mechanism that works with " -"\"python -O\". For Python 2.3 Michael Hudson implemented a similar scheme " -"to determine when to call the trace function, removing the need for " -"``SET_LINENO`` entirely." -msgstr "" - -#: ../../whatsnew/2.3.rst:1998 -msgid "" -"It would be difficult to detect any resulting difference from Python code, " -"apart from a slight speed up when Python is run without :option:`-O`." -msgstr "" - -#: ../../whatsnew/2.3.rst:2001 -msgid "" -"C extensions that access the :attr:`~frame.f_lineno` field of frame objects " -"should instead call ``PyCode_Addr2Line(f->f_code, f->f_lasti)``. This will " -"have the added effect of making the code work as desired under \"python -O\"" -" in earlier versions of Python." -msgstr "" - -#: ../../whatsnew/2.3.rst:2006 -msgid "" -"A nifty new feature is that trace functions can now assign to the " -":attr:`~frame.f_lineno` attribute of frame objects, changing the line that " -"will be executed next. A ``jump`` command has been added to the :mod:`pdb` " -"debugger taking advantage of this new feature. (Implemented by Richie " -"Hindle.)" -msgstr "" - -#: ../../whatsnew/2.3.rst:2015 -msgid "Porting to Python 2.3" -msgstr "" - -#: ../../whatsnew/2.3.rst:2017 -msgid "" -"This section lists previously described changes that may require changes to " -"your code:" -msgstr "" - -#: ../../whatsnew/2.3.rst:2020 -msgid "" -":keyword:`yield` is now always a keyword; if it's used as a variable name in" -" your code, a different name must be chosen." -msgstr "" - -#: ../../whatsnew/2.3.rst:2023 -msgid "" -"For strings *X* and *Y*, ``X in Y`` now works if *X* is more than one " -"character long." -msgstr "" - -#: ../../whatsnew/2.3.rst:2026 -msgid "" -"The :func:`int` type constructor will now return a long integer instead of " -"raising an :exc:`OverflowError` when a string or floating-point number is " -"too large to fit into an integer." -msgstr "" - -#: ../../whatsnew/2.3.rst:2030 -msgid "" -"If you have Unicode strings that contain 8-bit characters, you must declare " -"the file's encoding (UTF-8, Latin-1, or whatever) by adding a comment to the" -" top of the file. See section :ref:`section-encodings` for more " -"information." -msgstr "" - -#: ../../whatsnew/2.3.rst:2034 -msgid "" -"Calling Tcl methods through :mod:`!_tkinter` no longer returns only " -"strings. Instead, if Tcl returns other objects those objects are converted " -"to their Python equivalent, if one exists, or wrapped with a " -":class:`!_tkinter.Tcl_Obj` object if no Python equivalent exists." -msgstr "" - -#: ../../whatsnew/2.3.rst:2039 -msgid "" -"Large octal and hex literals such as ``0xffffffff`` now trigger a " -":exc:`FutureWarning`. Currently they're stored as 32-bit numbers and result " -"in a negative value, but in Python 2.4 they'll become positive long " -"integers." -msgstr "" - -#: ../../whatsnew/2.3.rst:2043 -msgid "" -"There are a few ways to fix this warning. If you really need a positive " -"number, just add an ``L`` to the end of the literal. If you're trying to " -"get a 32-bit integer with low bits set and have previously used an " -"expression such as ``~(1 << 31)``, it's probably clearest to start with all " -"bits set and clear the desired upper bits. For example, to clear just the " -"top bit (bit 31), you could write ``0xffffffffL &~(1L<<31)``." -msgstr "" - -#: ../../whatsnew/2.3.rst:2050 -msgid "You can no longer disable assertions by assigning to ``__debug__``." -msgstr "" - -#: ../../whatsnew/2.3.rst:2052 -msgid "" -"The Distutils :func:`!setup` function has gained various new keyword " -"arguments such as *depends*. Old versions of the Distutils will abort if " -"passed unknown keywords. A solution is to check for the presence of the new" -" :func:`!get_distutil_options` function in your :file:`setup.py` and only " -"uses the new keywords with a version of the Distutils that supports them::" -msgstr "" - -#: ../../whatsnew/2.3.rst:2058 -msgid "" -"from distutils import core\n" -"\n" -"kw = {'sources': 'foo.c', ...}\n" -"if hasattr(core, 'get_distutil_options'):\n" -" kw['depends'] = ['foo.h']\n" -"ext = Extension(**kw)" -msgstr "" - -#: ../../whatsnew/2.3.rst:2065 -msgid "" -"Using ``None`` as a variable name will now result in a :exc:`SyntaxWarning` " -"warning." -msgstr "" - -#: ../../whatsnew/2.3.rst:2068 -msgid "" -"Names of extension types defined by the modules included with Python now " -"contain the module and a ``'.'`` in front of the type name." -msgstr "" - -#: ../../whatsnew/2.3.rst:2077 -msgid "Acknowledgements" -msgstr "Ucapan Terima Kasih" - -#: ../../whatsnew/2.3.rst:2079 -msgid "" -"The author would like to thank the following people for offering " -"suggestions, corrections and assistance with various drafts of this article:" -" Jeff Bauer, Simon Brunning, Brett Cannon, Michael Chermside, Andrew Dalke, " -"Scott David Daniels, Fred L. Drake, Jr., David Fraser, Kelly Gerber, " -"Raymond Hettinger, Michael Hudson, Chris Lambert, Detlef Lannert, Martin von" -" Löwis, Andrew MacIntyre, Lalo Martins, Chad Netzer, Gustavo Niemeyer, Neal " -"Norwitz, Hans Nowak, Chris Reedy, Francesco Ricciardi, Vinay Sajip, Neil " -"Schemenauer, Roman Suzi, Jason Tishler, Just van Rossum." -msgstr "" - -#: ../../whatsnew/2.3.rst:371 -msgid "universal newlines" -msgstr "" - -#: ../../whatsnew/2.3.rst:371 -msgid "What's new" -msgstr "" diff --git a/python-newest.whatsnew--2_4/id.po b/python-newest.whatsnew--2_4/id.po deleted file mode 100644 index d64102c..0000000 --- a/python-newest.whatsnew--2_4/id.po +++ /dev/null @@ -1,2381 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/2.4.rst:3 -msgid "What's New in Python 2.4" -msgstr "" - -#: ../../whatsnew/2.4.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../whatsnew/2.4.rst:5 -msgid "A.M. Kuchling" -msgstr "A.M. Kuchling" - -#: ../../whatsnew/2.4.rst:14 -msgid "" -"This article explains the new features in Python 2.4.1, released on March " -"30, 2005." -msgstr "" - -#: ../../whatsnew/2.4.rst:17 -msgid "" -"Python 2.4 is a medium-sized release. It doesn't introduce as many changes " -"as the radical Python 2.2, but introduces more features than the " -"conservative 2.3 release. The most significant new language features are " -"function decorators and generator expressions; most other changes are to the" -" standard library." -msgstr "" - -#: ../../whatsnew/2.4.rst:22 -msgid "" -"According to the CVS change logs, there were 481 patches applied and 502 " -"bugs fixed between Python 2.3 and 2.4. Both figures are likely to be " -"underestimates." -msgstr "" - -#: ../../whatsnew/2.4.rst:25 -msgid "" -"This article doesn't attempt to provide a complete specification of every " -"single new feature, but instead provides a brief introduction to each " -"feature. For full details, you should refer to the documentation for Python" -" 2.4, such as the Python Library Reference and the Python Reference Manual." -" Often you will be referred to the PEP for a particular new feature for " -"explanations of the implementation and design rationale." -msgstr "" - -#: ../../whatsnew/2.4.rst:36 -msgid "PEP 218: Built-In Set Objects" -msgstr "" - -#: ../../whatsnew/2.4.rst:38 -msgid "" -"Python 2.3 introduced the :mod:`sets` module. C implementations of set data" -" types have now been added to the Python core as two new built-in types, " -"``set(iterable)`` and ``frozenset(iterable)``. They provide high speed " -"operations for membership testing, for eliminating duplicates from " -"sequences, and for mathematical operations like unions, intersections, " -"differences, and symmetric differences. ::" -msgstr "" - -#: ../../whatsnew/2.4.rst:45 -msgid "" -">>> a = set('abracadabra') # form a set from a string\n" -">>> 'z' in a # fast membership testing\n" -"False\n" -">>> a # unique letters in a\n" -"set(['a', 'r', 'b', 'c', 'd'])\n" -">>> ''.join(a) # convert back into a string\n" -"'arbcd'\n" -"\n" -">>> b = set('alacazam') # form a second set\n" -">>> a - b # letters in a but not in b\n" -"set(['r', 'd', 'b'])\n" -">>> a | b # letters in either a or b\n" -"set(['a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'])\n" -">>> a & b # letters in both a and b\n" -"set(['a', 'c'])\n" -">>> a ^ b # letters in a or b but not both\n" -"set(['r', 'd', 'b', 'm', 'z', 'l'])\n" -"\n" -">>> a.add('z') # add a new element\n" -">>> a.update('wxy') # add multiple new elements\n" -">>> a\n" -"set(['a', 'c', 'b', 'd', 'r', 'w', 'y', 'x', 'z'])\n" -">>> a.remove('x') # take one element out\n" -">>> a\n" -"set(['a', 'c', 'b', 'd', 'r', 'w', 'y', 'z'])" -msgstr "" - -#: ../../whatsnew/2.4.rst:71 -msgid "" -"The :func:`frozenset` type is an immutable version of :func:`set`. Since it " -"is immutable and hashable, it may be used as a dictionary key or as a member" -" of another set." -msgstr "" - -#: ../../whatsnew/2.4.rst:75 -msgid "" -"The :mod:`sets` module remains in the standard library, and may be useful if" -" you wish to subclass the :class:`Set` or :class:`ImmutableSet` classes. " -"There are currently no plans to deprecate the module." -msgstr "" - -#: ../../whatsnew/2.4.rst:82 -msgid ":pep:`218` - Adding a Built-In Set Object Type" -msgstr "" - -#: ../../whatsnew/2.4.rst:83 -msgid "" -"Originally proposed by Greg Wilson and ultimately implemented by Raymond " -"Hettinger." -msgstr "" - -#: ../../whatsnew/2.4.rst:90 -msgid "PEP 237: Unifying Long Integers and Integers" -msgstr "" - -#: ../../whatsnew/2.4.rst:92 -msgid "" -"The lengthy transition process for this PEP, begun in Python 2.2, takes " -"another step forward in Python 2.4. In 2.3, certain integer operations that" -" would behave differently after int/long unification triggered " -":exc:`FutureWarning` warnings and returned values limited to 32 or 64 bits " -"(depending on your platform). In 2.4, these expressions no longer produce a" -" warning and instead produce a different result that's usually a long " -"integer." -msgstr "" - -#: ../../whatsnew/2.4.rst:99 -msgid "" -"The problematic expressions are primarily left shifts and lengthy " -"hexadecimal and octal constants. For example, ``2 << 32`` results in a " -"warning in 2.3, evaluating to 0 on 32-bit platforms. In Python 2.4, this " -"expression now returns the correct answer, 8589934592." -msgstr "" - -#: ../../whatsnew/2.4.rst:107 -msgid ":pep:`237` - Unifying Long Integers and Integers" -msgstr "" - -#: ../../whatsnew/2.4.rst:108 -msgid "" -"Original PEP written by Moshe Zadka and GvR. The changes for 2.4 were " -"implemented by Kalle Svensson." -msgstr "" - -#: ../../whatsnew/2.4.rst:115 -msgid "PEP 289: Generator Expressions" -msgstr "" - -#: ../../whatsnew/2.4.rst:117 -msgid "" -"The iterator feature introduced in Python 2.2 and the :mod:`itertools` " -"module make it easier to write programs that loop through large data sets " -"without having the entire data set in memory at one time. List " -"comprehensions don't fit into this picture very well because they produce a " -"Python list object containing all of the items. This unavoidably pulls all " -"of the objects into memory, which can be a problem if your data set is very " -"large. When trying to write a functionally styled program, it would be " -"natural to write something like::" -msgstr "" - -#: ../../whatsnew/2.4.rst:125 -msgid "" -"links = [link for link in get_all_links() if not link.followed]\n" -"for link in links:\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.4.rst:129 -msgid "instead of ::" -msgstr "" - -#: ../../whatsnew/2.4.rst:131 -msgid "" -"for link in get_all_links():\n" -" if link.followed:\n" -" continue\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.4.rst:136 -msgid "" -"The first form is more concise and perhaps more readable, but if you're " -"dealing with a large number of link objects you'd have to write the second " -"form to avoid having all link objects in memory at the same time." -msgstr "" - -#: ../../whatsnew/2.4.rst:140 -msgid "" -"Generator expressions work similarly to list comprehensions but don't " -"materialize the entire list; instead they create a generator that will " -"return elements one by one. The above example could be written as::" -msgstr "" - -#: ../../whatsnew/2.4.rst:144 -msgid "" -"links = (link for link in get_all_links() if not link.followed)\n" -"for link in links:\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.4.rst:148 -msgid "" -"Generator expressions always have to be written inside parentheses, as in " -"the above example. The parentheses signalling a function call also count, " -"so if you want to create an iterator that will be immediately passed to a " -"function you could write::" -msgstr "" - -#: ../../whatsnew/2.4.rst:153 -msgid "print sum(obj.count for obj in list_all_objects())" -msgstr "" - -#: ../../whatsnew/2.4.rst:155 -msgid "" -"Generator expressions differ from list comprehensions in various small ways." -" Most notably, the loop variable (*obj* in the above example) is not " -"accessible outside of the generator expression. List comprehensions leave " -"the variable assigned to its last value; future versions of Python will " -"change this, making list comprehensions match generator expressions in this " -"respect." -msgstr "" - -#: ../../whatsnew/2.4.rst:164 -msgid ":pep:`289` - Generator Expressions" -msgstr "" - -#: ../../whatsnew/2.4.rst:165 -msgid "" -"Proposed by Raymond Hettinger and implemented by Jiwon Seo with early " -"efforts steered by Hye-Shik Chang." -msgstr "" - -#: ../../whatsnew/2.4.rst:172 -msgid "PEP 292: Simpler String Substitutions" -msgstr "" - -#: ../../whatsnew/2.4.rst:174 -msgid "" -"Some new classes in the standard library provide an alternative mechanism " -"for substituting variables into strings; this style of substitution may be " -"better for applications where untrained users need to edit templates." -msgstr "" - -#: ../../whatsnew/2.4.rst:178 -msgid "" -"The usual way of substituting variables by name is the ``%`` operator::" -msgstr "" - -#: ../../whatsnew/2.4.rst:180 -msgid "" -">>> '%(page)i: %(title)s' % {'page':2, 'title': 'The Best of Times'}\n" -"'2: The Best of Times'" -msgstr "" - -#: ../../whatsnew/2.4.rst:183 -msgid "" -"When writing the template string, it can be easy to forget the ``i`` or " -"``s`` after the closing parenthesis. This isn't a big problem if the " -"template is in a Python module, because you run the code, get an " -"\"Unsupported format character\" :exc:`ValueError`, and fix the problem. " -"However, consider an application such as Mailman where template strings or " -"translations are being edited by users who aren't aware of the Python " -"language. The format string's syntax is complicated to explain to such " -"users, and if they make a mistake, it's difficult to provide helpful " -"feedback to them." -msgstr "" - -#: ../../whatsnew/2.4.rst:192 -msgid "" -"PEP 292 adds a :class:`Template` class to the :mod:`string` module that uses" -" ``$`` to indicate a substitution::" -msgstr "" - -#: ../../whatsnew/2.4.rst:195 -msgid "" -">>> import string\n" -">>> t = string.Template('$page: $title')\n" -">>> t.substitute({'page':2, 'title': 'The Best of Times'})\n" -"'2: The Best of Times'" -msgstr "" - -#: ../../whatsnew/2.4.rst:200 -msgid "" -"If a key is missing from the dictionary, the :meth:`substitute` method will " -"raise a :exc:`KeyError`. There's also a :meth:`safe_substitute` method that" -" ignores missing keys::" -msgstr "" - -#: ../../whatsnew/2.4.rst:204 -msgid "" -">>> t = string.Template('$page: $title')\n" -">>> t.safe_substitute({'page':3})\n" -"'3: $title'" -msgstr "" - -#: ../../whatsnew/2.4.rst:211 -msgid ":pep:`292` - Simpler String Substitutions" -msgstr "" - -#: ../../whatsnew/2.4.rst:212 -msgid "Written and implemented by Barry Warsaw." -msgstr "" - -#: ../../whatsnew/2.4.rst:218 -msgid "PEP 318: Decorators for Functions and Methods" -msgstr "" - -#: ../../whatsnew/2.4.rst:220 -msgid "" -"Python 2.2 extended Python's object model by adding static methods and class" -" methods, but it didn't extend Python's syntax to provide any new way of " -"defining static or class methods. Instead, you had to write a " -":keyword:`def` statement in the usual way, and pass the resulting method to " -"a :func:`staticmethod` or :func:`classmethod` function that would wrap up " -"the function as a method of the new type. Your code would look like this::" -msgstr "" - -#: ../../whatsnew/2.4.rst:227 -msgid "" -"class C:\n" -" def meth (cls):\n" -" ...\n" -"\n" -" meth = classmethod(meth) # Rebind name to wrapped-up class method" -msgstr "" - -#: ../../whatsnew/2.4.rst:233 -msgid "" -"If the method was very long, it would be easy to miss or forget the " -":func:`classmethod` invocation after the function body." -msgstr "" - -#: ../../whatsnew/2.4.rst:236 -msgid "" -"The intention was always to add some syntax to make such definitions more " -"readable, but at the time of 2.2's release a good syntax was not obvious. " -"Today a good syntax *still* isn't obvious but users are asking for easier " -"access to the feature; a new syntactic feature has been added to meet this " -"need." -msgstr "" - -#: ../../whatsnew/2.4.rst:241 -msgid "" -"The new feature is called \"function decorators\". The name comes from the " -"idea that :func:`classmethod`, :func:`staticmethod`, and friends are storing" -" additional information on a function object; they're *decorating* functions" -" with more details." -msgstr "" - -#: ../../whatsnew/2.4.rst:246 -msgid "" -"The notation borrows from Java and uses the ``'@'`` character as an " -"indicator. Using the new syntax, the example above would be written::" -msgstr "" - -#: ../../whatsnew/2.4.rst:249 -msgid "" -"class C:\n" -"\n" -" @classmethod\n" -" def meth (cls):\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.4.rst:256 -msgid "" -"The ``@classmethod`` is shorthand for the ``meth=classmethod(meth)`` " -"assignment. More generally, if you have the following::" -msgstr "" - -#: ../../whatsnew/2.4.rst:259 -msgid "" -"@A\n" -"@B\n" -"@C\n" -"def f ():\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.4.rst:265 -msgid "It's equivalent to the following pre-decorator code::" -msgstr "" - -#: ../../whatsnew/2.4.rst:267 -msgid "" -"def f(): ...\n" -"f = A(B(C(f)))" -msgstr "" - -#: ../../whatsnew/2.4.rst:270 -msgid "" -"Decorators must come on the line before a function definition, one decorator" -" per line, and can't be on the same line as the def statement, meaning that " -"``@A def f(): ...`` is illegal. You can only decorate function definitions," -" either at the module level or inside a class; you can't decorate class " -"definitions." -msgstr "" - -#: ../../whatsnew/2.4.rst:275 -msgid "" -"A decorator is just a function that takes the function to be decorated as an" -" argument and returns either the same function or some new object. The " -"return value of the decorator need not be callable (though it typically is)," -" unless further decorators will be applied to the result. It's easy to " -"write your own decorators. The following simple example just sets an " -"attribute on the function object::" -msgstr "" - -#: ../../whatsnew/2.4.rst:282 -msgid "" -">>> def deco(func):\n" -"... func.attr = 'decorated'\n" -"... return func\n" -"...\n" -">>> @deco\n" -"... def f(): pass\n" -"...\n" -">>> f\n" -"\n" -">>> f.attr\n" -"'decorated'\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.4.rst:295 -msgid "" -"As a slightly more realistic example, the following decorator checks that " -"the supplied argument is an integer::" -msgstr "" - -#: ../../whatsnew/2.4.rst:298 -msgid "" -"def require_int (func):\n" -" def wrapper (arg):\n" -" assert isinstance(arg, int)\n" -" return func(arg)\n" -"\n" -" return wrapper\n" -"\n" -"@require_int\n" -"def p1 (arg):\n" -" print arg\n" -"\n" -"@require_int\n" -"def p2(arg):\n" -" print arg*2" -msgstr "" - -#: ../../whatsnew/2.4.rst:313 -msgid "" -"An example in :pep:`318` contains a fancier version of this idea that lets " -"you both specify the required type and check the returned type." -msgstr "" - -#: ../../whatsnew/2.4.rst:316 -msgid "" -"Decorator functions can take arguments. If arguments are supplied, your " -"decorator function is called with only those arguments and must return a new" -" decorator function; this function must take a single function and return a " -"function, as previously described. In other words, ``@A @B @C(args)`` " -"becomes::" -msgstr "" - -#: ../../whatsnew/2.4.rst:321 -msgid "" -"def f(): ...\n" -"_deco = C(args)\n" -"f = A(B(_deco(f)))" -msgstr "" - -#: ../../whatsnew/2.4.rst:325 -msgid "" -"Getting this right can be slightly brain-bending, but it's not too " -"difficult." -msgstr "" - -#: ../../whatsnew/2.4.rst:327 -msgid "" -"A small related change makes the :attr:`func_name ` " -"attribute of functions writable. This attribute is used to display function" -" names in tracebacks, so decorators should change the name of any new " -"function that's constructed and returned." -msgstr "" - -#: ../../whatsnew/2.4.rst:336 -msgid ":pep:`318` - Decorators for Functions, Methods and Classes" -msgstr "" - -#: ../../whatsnew/2.4.rst:337 -msgid "" -"Written by Kevin D. Smith, Jim Jewett, and Skip Montanaro. Several people " -"wrote patches implementing function decorators, but the one that was " -"actually checked in was patch #979728, written by Mark Russell." -msgstr "" - -#: ../../whatsnew/2.4.rst:341 -msgid "https://wiki.python.org/moin/PythonDecoratorLibrary" -msgstr "" - -#: ../../whatsnew/2.4.rst:342 -msgid "This Wiki page contains several examples of decorators." -msgstr "" - -#: ../../whatsnew/2.4.rst:348 -msgid "PEP 322: Reverse Iteration" -msgstr "" - -#: ../../whatsnew/2.4.rst:350 -msgid "" -"A new built-in function, ``reversed(seq)``, takes a sequence and returns an " -"iterator that loops over the elements of the sequence in reverse order. " -"::" -msgstr "" - -#: ../../whatsnew/2.4.rst:353 -msgid "" -">>> for i in reversed(xrange(1,4)):\n" -"... print i\n" -"...\n" -"3\n" -"2\n" -"1" -msgstr "" - -#: ../../whatsnew/2.4.rst:360 -msgid "" -"Compared to extended slicing, such as ``range(1,4)[::-1]``, :func:`reversed`" -" is easier to read, runs faster, and uses substantially less memory." -msgstr "" - -#: ../../whatsnew/2.4.rst:363 -msgid "" -"Note that :func:`reversed` only accepts sequences, not arbitrary iterators." -" If you want to reverse an iterator, first convert it to a list with " -":func:`list`. ::" -msgstr "" - -#: ../../whatsnew/2.4.rst:367 -msgid "" -">>> input = open('/etc/passwd', 'r')\n" -">>> for line in reversed(list(input)):\n" -"... print line\n" -"...\n" -"root:*:0:0:System Administrator:/var/root:/bin/tcsh\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.4.rst:377 -msgid ":pep:`322` - Reverse Iteration" -msgstr "" - -#: ../../whatsnew/2.4.rst:378 -msgid "Written and implemented by Raymond Hettinger." -msgstr "" - -#: ../../whatsnew/2.4.rst:384 -msgid "PEP 324: New subprocess Module" -msgstr "" - -#: ../../whatsnew/2.4.rst:386 -msgid "" -"The standard library provides a number of ways to execute a subprocess, " -"offering different features and different levels of complexity. " -"``os.system(command)`` is easy to use, but slow (it runs a shell process " -"which executes the command) and dangerous (you have to be careful about " -"escaping the shell's metacharacters). The :mod:`!popen2` module offers " -"classes that can capture standard output and standard error from the " -"subprocess, but the naming is confusing. The :mod:`subprocess` module " -"cleans this up, providing a unified interface that offers all the features " -"you might need." -msgstr "" - -#: ../../whatsnew/2.4.rst:395 -msgid "" -"Instead of :mod:`!popen2`'s collection of classes, :mod:`subprocess` " -"contains a single class called :class:`subprocess.Popen` whose constructor " -"supports a number of different keyword arguments. ::" -msgstr "" - -#: ../../whatsnew/2.4.rst:399 -msgid "" -"class Popen(args, bufsize=0, executable=None,\n" -" stdin=None, stdout=None, stderr=None,\n" -" preexec_fn=None, close_fds=False, shell=False,\n" -" cwd=None, env=None, universal_newlines=False,\n" -" startupinfo=None, creationflags=0):" -msgstr "" - -#: ../../whatsnew/2.4.rst:405 -msgid "" -"*args* is commonly a sequence of strings that will be the arguments to the " -"program executed as the subprocess. (If the *shell* argument is true, " -"*args* can be a string which will then be passed on to the shell for " -"interpretation, just as :func:`os.system` does.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:410 -msgid "" -"*stdin*, *stdout*, and *stderr* specify what the subprocess's input, output," -" and error streams will be. You can provide a file object or a file " -"descriptor, or you can use the constant ``subprocess.PIPE`` to create a pipe" -" between the subprocess and the parent." -msgstr "" - -#: ../../whatsnew/2.4.rst:418 -msgid "The constructor has a number of handy options:" -msgstr "" - -#: ../../whatsnew/2.4.rst:420 -msgid "" -"*close_fds* requests that all file descriptors be closed before running the " -"subprocess." -msgstr "" - -#: ../../whatsnew/2.4.rst:423 -msgid "" -"*cwd* specifies the working directory in which the subprocess will be " -"executed (defaulting to whatever the parent's working directory is)." -msgstr "" - -#: ../../whatsnew/2.4.rst:426 -msgid "*env* is a dictionary specifying environment variables." -msgstr "" - -#: ../../whatsnew/2.4.rst:428 -msgid "" -"*preexec_fn* is a function that gets called before the child is started." -msgstr "" - -#: ../../whatsnew/2.4.rst:430 -msgid "" -"*universal_newlines* opens the child's input and output using Python's " -":term:`universal newlines` feature." -msgstr "" - -#: ../../whatsnew/2.4.rst:433 -msgid "" -"Once you've created the :class:`Popen` instance, you can call its " -":meth:`wait` method to pause until the subprocess has exited, :meth:`poll` " -"to check if it's exited without pausing, or ``communicate(data)`` to send " -"the string *data* to the subprocess's standard input. " -"``communicate(data)`` then reads any data that the subprocess has sent to " -"its standard output or standard error, returning a tuple ``(stdout_data, " -"stderr_data)``." -msgstr "" - -#: ../../whatsnew/2.4.rst:440 -msgid "" -":func:`call` is a shortcut that passes its arguments along to the " -":class:`Popen` constructor, waits for the command to complete, and returns " -"the status code of the subprocess. It can serve as a safer analog to " -":func:`os.system`::" -msgstr "" - -#: ../../whatsnew/2.4.rst:444 -msgid "" -"sts = subprocess.call(['dpkg', '-i', '/tmp/new-package.deb'])\n" -"if sts == 0:\n" -" # Success\n" -" ...\n" -"else:\n" -" # dpkg returned an error\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.4.rst:452 -msgid "" -"The command is invoked without use of the shell. If you really do want to " -"use the shell, you can add ``shell=True`` as a keyword argument and provide " -"a string instead of a sequence::" -msgstr "" - -#: ../../whatsnew/2.4.rst:456 -msgid "sts = subprocess.call('dpkg -i /tmp/new-package.deb', shell=True)" -msgstr "" - -#: ../../whatsnew/2.4.rst:458 -msgid "" -"The PEP takes various examples of shell and Python code and shows how they'd" -" be translated into Python code that uses :mod:`subprocess`. Reading this " -"section of the PEP is highly recommended." -msgstr "" - -#: ../../whatsnew/2.4.rst:465 -msgid ":pep:`324` - subprocess - New process module" -msgstr "" - -#: ../../whatsnew/2.4.rst:466 -msgid "" -"Written and implemented by Peter Åstrand, with assistance from Fredrik Lundh" -" and others." -msgstr "" - -#: ../../whatsnew/2.4.rst:473 -msgid "PEP 327: Decimal Data Type" -msgstr "" - -#: ../../whatsnew/2.4.rst:475 -msgid "" -"Python has always supported floating-point (FP) numbers, based on the " -"underlying C :c:expr:`double` type, as a data type. However, while most " -"programming languages provide a floating-point type, many people (even " -"programmers) are unaware that floating-point numbers don't represent certain" -" decimal fractions accurately. The new :class:`Decimal` type can represent " -"these fractions accurately, up to a user-specified precision limit." -msgstr "" - -#: ../../whatsnew/2.4.rst:484 -msgid "Why is Decimal needed?" -msgstr "" - -#: ../../whatsnew/2.4.rst:486 -msgid "" -"The limitations arise from the representation used for floating-point " -"numbers. FP numbers are made up of three components:" -msgstr "" - -#: ../../whatsnew/2.4.rst:489 -msgid "The sign, which is positive or negative." -msgstr "" - -#: ../../whatsnew/2.4.rst:491 -msgid "" -"The mantissa, which is a single-digit binary number followed by a " -"fractional part. For example, ``1.01`` in base-2 notation is ``1 + 0/2 + " -"1/4``, or 1.25 in decimal notation." -msgstr "" - -#: ../../whatsnew/2.4.rst:495 -msgid "" -"The exponent, which tells where the decimal point is located in the number " -"represented." -msgstr "" - -#: ../../whatsnew/2.4.rst:498 -msgid "" -"For example, the number 1.25 has positive sign, a mantissa value of 1.01 (in" -" binary), and an exponent of 0 (the decimal point doesn't need to be " -"shifted). The number 5 has the same sign and mantissa, but the exponent is 2" -" because the mantissa is multiplied by 4 (2 to the power of the exponent 2);" -" 1.25 \\* 4 equals 5." -msgstr "" - -#: ../../whatsnew/2.4.rst:504 -msgid "" -"Modern systems usually provide floating-point support that conforms to a " -"standard called IEEE 754. C's :c:expr:`double` type is usually implemented " -"as a 64-bit IEEE 754 number, which uses 52 bits of space for the mantissa. " -"This means that numbers can only be specified to 52 bits of precision. If " -"you're trying to represent numbers whose expansion repeats endlessly, the " -"expansion is cut off after 52 bits. Unfortunately, most software needs to " -"produce output in base 10, and common fractions in base 10 are often " -"repeating decimals in binary. For example, 1.1 decimal is binary " -"``1.0001100110011 ...``; .1 = 1/16 + 1/32 + 1/256 plus an infinite number of" -" additional terms. IEEE 754 has to chop off that infinitely repeated " -"decimal after 52 digits, so the representation is slightly inaccurate." -msgstr "" - -#: ../../whatsnew/2.4.rst:516 -msgid "Sometimes you can see this inaccuracy when the number is printed::" -msgstr "" - -#: ../../whatsnew/2.4.rst:518 -msgid "" -">>> 1.1\n" -"1.1000000000000001" -msgstr "" - -#: ../../whatsnew/2.4.rst:521 -msgid "" -"The inaccuracy isn't always visible when you print the number because the " -"FP-to-decimal-string conversion is provided by the C library, and most C " -"libraries try to produce sensible output. Even if it's not displayed, " -"however, the inaccuracy is still there and subsequent operations can magnify" -" the error." -msgstr "" - -#: ../../whatsnew/2.4.rst:526 -msgid "" -"For many applications this doesn't matter. If I'm plotting points and " -"displaying them on my monitor, the difference between 1.1 and " -"1.1000000000000001 is too small to be visible. Reports often limit output " -"to a certain number of decimal places, and if you round the number to two or" -" three or even eight decimal places, the error is never apparent. However, " -"for applications where it does matter, it's a lot of work to implement your" -" own custom arithmetic routines." -msgstr "" - -#: ../../whatsnew/2.4.rst:534 -msgid "Hence, the :class:`Decimal` type was created." -msgstr "" - -#: ../../whatsnew/2.4.rst:538 -msgid "The :class:`Decimal` type" -msgstr "" - -#: ../../whatsnew/2.4.rst:540 -msgid "" -"A new module, :mod:`decimal`, was added to Python's standard library. It " -"contains two classes, :class:`Decimal` and :class:`Context`. " -":class:`Decimal` instances represent numbers, and :class:`Context` instances" -" are used to wrap up various settings such as the precision and default " -"rounding mode." -msgstr "" - -#: ../../whatsnew/2.4.rst:545 -msgid "" -":class:`Decimal` instances are immutable, like regular Python integers and " -"FP numbers; once it's been created, you can't change the value an instance " -"represents. :class:`Decimal` instances can be created from integers or " -"strings::" -msgstr "" - -#: ../../whatsnew/2.4.rst:550 -msgid "" -">>> import decimal\n" -">>> decimal.Decimal(1972)\n" -"Decimal(\"1972\")\n" -">>> decimal.Decimal(\"1.1\")\n" -"Decimal(\"1.1\")" -msgstr "" - -#: ../../whatsnew/2.4.rst:556 -msgid "" -"You can also provide tuples containing the sign, the mantissa represented " -"as a tuple of decimal digits, and the exponent::" -msgstr "" - -#: ../../whatsnew/2.4.rst:559 -msgid "" -">>> decimal.Decimal((1, (1, 4, 7, 5), -2))\n" -"Decimal(\"-14.75\")" -msgstr "" - -#: ../../whatsnew/2.4.rst:562 -msgid "" -"Cautionary note: the sign bit is a Boolean value, so 0 is positive and 1 is " -"negative." -msgstr "" - -#: ../../whatsnew/2.4.rst:565 -msgid "" -"Converting from floating-point numbers poses a bit of a problem: should the " -"FP number representing 1.1 turn into the decimal number for exactly 1.1, or " -"for 1.1 plus whatever inaccuracies are introduced? The decision was to dodge" -" the issue and leave such a conversion out of the API. Instead, you should " -"convert the floating-point number into a string using the desired precision " -"and pass the string to the :class:`Decimal` constructor::" -msgstr "" - -#: ../../whatsnew/2.4.rst:572 -msgid "" -">>> f = 1.1\n" -">>> decimal.Decimal(str(f))\n" -"Decimal(\"1.1\")\n" -">>> decimal.Decimal('%.12f' % f)\n" -"Decimal(\"1.100000000000\")" -msgstr "" - -#: ../../whatsnew/2.4.rst:578 -msgid "" -"Once you have :class:`Decimal` instances, you can perform the usual " -"mathematical operations on them. One limitation: exponentiation requires an" -" integer exponent::" -msgstr "" - -#: ../../whatsnew/2.4.rst:582 -msgid "" -">>> a = decimal.Decimal('35.72')\n" -">>> b = decimal.Decimal('1.73')\n" -">>> a+b\n" -"Decimal(\"37.45\")\n" -">>> a-b\n" -"Decimal(\"33.99\")\n" -">>> a*b\n" -"Decimal(\"61.7956\")\n" -">>> a/b\n" -"Decimal(\"20.64739884393063583815028902\")\n" -">>> a ** 2\n" -"Decimal(\"1275.9184\")\n" -">>> a**b\n" -"Traceback (most recent call last):\n" -" ...\n" -"decimal.InvalidOperation: x ** (non-integer)" -msgstr "" - -#: ../../whatsnew/2.4.rst:599 -msgid "" -"You can combine :class:`Decimal` instances with integers, but not with " -"floating-point numbers::" -msgstr "" - -#: ../../whatsnew/2.4.rst:602 -msgid "" -">>> a + 4\n" -"Decimal(\"39.72\")\n" -">>> a + 4.5\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: You can interact Decimal only with int, long or Decimal data types.\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.4.rst:610 -msgid "" -":class:`Decimal` numbers can be used with the :mod:`math` and :mod:`cmath` " -"modules, but note that they'll be immediately converted to floating-point " -"numbers before the operation is performed, resulting in a possible loss of " -"precision and accuracy. You'll also get back a regular floating-point " -"number and not a :class:`Decimal`. ::" -msgstr "" - -#: ../../whatsnew/2.4.rst:616 -msgid "" -">>> import math, cmath\n" -">>> d = decimal.Decimal('123456789012.345')\n" -">>> math.sqrt(d)\n" -"351364.18288201344\n" -">>> cmath.sqrt(-d)\n" -"351364.18288201344j" -msgstr "" - -#: ../../whatsnew/2.4.rst:623 -msgid "" -":class:`Decimal` instances have a :meth:`sqrt` method that returns a " -":class:`Decimal`, but if you need other things such as trigonometric " -"functions you'll have to implement them. ::" -msgstr "" - -#: ../../whatsnew/2.4.rst:627 -msgid "" -">>> d.sqrt()\n" -"Decimal(\"351364.1828820134592177245001\")" -msgstr "" - -#: ../../whatsnew/2.4.rst:632 -msgid "The :class:`Context` type" -msgstr "" - -#: ../../whatsnew/2.4.rst:634 -msgid "" -"Instances of the :class:`Context` class encapsulate several settings for " -"decimal operations:" -msgstr "" - -#: ../../whatsnew/2.4.rst:637 -msgid ":attr:`prec` is the precision, the number of decimal places." -msgstr "" - -#: ../../whatsnew/2.4.rst:639 -msgid "" -":attr:`rounding` specifies the rounding mode. The :mod:`decimal` module has" -" constants for the various possibilities: :const:`ROUND_DOWN`, " -":const:`ROUND_CEILING`, :const:`ROUND_HALF_EVEN`, and various others." -msgstr "" - -#: ../../whatsnew/2.4.rst:643 -msgid "" -":attr:`traps` is a dictionary specifying what happens on encountering " -"certain error conditions: either an exception is raised or a value is " -"returned. Some examples of error conditions are division by zero, loss of " -"precision, and overflow." -msgstr "" - -#: ../../whatsnew/2.4.rst:648 -msgid "" -"There's a thread-local default context available by calling " -":func:`getcontext`; you can change the properties of this context to alter " -"the default precision, rounding, or trap handling. The following example " -"shows the effect of changing the precision of the default context::" -msgstr "" - -#: ../../whatsnew/2.4.rst:653 -msgid "" -">>> decimal.getcontext().prec\n" -"28\n" -">>> decimal.Decimal(1) / decimal.Decimal(7)\n" -"Decimal(\"0.1428571428571428571428571429\")\n" -">>> decimal.getcontext().prec = 9\n" -">>> decimal.Decimal(1) / decimal.Decimal(7)\n" -"Decimal(\"0.142857143\")" -msgstr "" - -#: ../../whatsnew/2.4.rst:661 -msgid "" -"The default action for error conditions is selectable; the module can either" -" return a special value such as infinity or not-a-number, or exceptions can " -"be raised::" -msgstr "" - -#: ../../whatsnew/2.4.rst:665 -msgid "" -">>> decimal.Decimal(1) / decimal.Decimal(0)\n" -"Traceback (most recent call last):\n" -" ...\n" -"decimal.DivisionByZero: x / 0\n" -">>> decimal.getcontext().traps[decimal.DivisionByZero] = False\n" -">>> decimal.Decimal(1) / decimal.Decimal(0)\n" -"Decimal(\"Infinity\")\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.4.rst:674 -msgid "" -"The :class:`Context` instance also has various methods for formatting " -"numbers such as :meth:`to_eng_string` and :meth:`to_sci_string`." -msgstr "" - -#: ../../whatsnew/2.4.rst:677 -msgid "" -"For more information, see the documentation for the :mod:`decimal` module, " -"which includes a quick-start tutorial and a reference." -msgstr "" - -#: ../../whatsnew/2.4.rst:683 -msgid ":pep:`327` - Decimal Data Type" -msgstr "" - -#: ../../whatsnew/2.4.rst:684 -msgid "" -"Written by Facundo Batista and implemented by Facundo Batista, Eric Price, " -"Raymond Hettinger, Aahz, and Tim Peters." -msgstr "" - -#: ../../whatsnew/2.4.rst:687 -msgid "" -"`http://www.lahey.com/float.htm " -"`__" -msgstr "" - -#: ../../whatsnew/2.4.rst:688 -msgid "" -"The article uses Fortran code to illustrate many of the problems that " -"floating-point inaccuracy can cause." -msgstr "" - -#: ../../whatsnew/2.4.rst:691 -msgid "https://speleotrove.com/decimal/" -msgstr "" - -#: ../../whatsnew/2.4.rst:692 -msgid "" -"A description of a decimal-based representation. This representation is " -"being proposed as a standard, and underlies the new Python decimal type. " -"Much of this material was written by Mike Cowlishaw, designer of the Rexx " -"language." -msgstr "" - -#: ../../whatsnew/2.4.rst:700 -msgid "PEP 328: Multi-line Imports" -msgstr "" - -#: ../../whatsnew/2.4.rst:702 -msgid "" -"One language change is a small syntactic tweak aimed at making it easier to " -"import many names from a module. In a ``from module import names`` " -"statement, *names* is a sequence of names separated by commas. If the " -"sequence is very long, you can either write multiple imports from the same " -"module, or you can use backslashes to escape the line endings like this::" -msgstr "" - -#: ../../whatsnew/2.4.rst:708 -msgid "" -"from SimpleXMLRPCServer import SimpleXMLRPCServer,\\\n" -" SimpleXMLRPCRequestHandler,\\\n" -" CGIXMLRPCRequestHandler,\\\n" -" resolve_dotted_attribute" -msgstr "" - -#: ../../whatsnew/2.4.rst:713 -msgid "" -"The syntactic change in Python 2.4 simply allows putting the names within " -"parentheses. Python ignores newlines within a parenthesized expression, so " -"the backslashes are no longer needed::" -msgstr "" - -#: ../../whatsnew/2.4.rst:717 -msgid "" -"from SimpleXMLRPCServer import (SimpleXMLRPCServer,\n" -" SimpleXMLRPCRequestHandler,\n" -" CGIXMLRPCRequestHandler,\n" -" resolve_dotted_attribute)" -msgstr "" - -#: ../../whatsnew/2.4.rst:722 -msgid "" -"The PEP also proposes that all :keyword:`import` statements be absolute " -"imports, with a leading ``.`` character to indicate a relative import. This" -" part of the PEP was not implemented for Python 2.4, but was completed for " -"Python 2.5." -msgstr "" - -#: ../../whatsnew/2.4.rst:729 -msgid ":pep:`328` - Imports: Multi-Line and Absolute/Relative" -msgstr "" - -#: ../../whatsnew/2.4.rst:730 -msgid "Written by Aahz. Multi-line imports were implemented by Dima Dorfman." -msgstr "" - -#: ../../whatsnew/2.4.rst:736 -msgid "PEP 331: Locale-Independent Float/String Conversions" -msgstr "" - -#: ../../whatsnew/2.4.rst:738 -msgid "" -"The :mod:`locale` modules lets Python software select various conversions " -"and display conventions that are localized to a particular country or " -"language. However, the module was careful to not change the numeric locale " -"because various functions in Python's implementation required that the " -"numeric locale remain set to the ``'C'`` locale. Often this was because the" -" code was using the C library's :c:func:`atof` function." -msgstr "" - -#: ../../whatsnew/2.4.rst:745 -msgid "" -"Not setting the numeric locale caused trouble for extensions that used " -"third-party C libraries, however, because they wouldn't have the correct " -"locale set. The motivating example was GTK+, whose user interface widgets " -"weren't displaying numbers in the current locale." -msgstr "" - -#: ../../whatsnew/2.4.rst:750 -msgid "" -"The solution described in the PEP is to add three new functions to the " -"Python API that perform ASCII-only conversions, ignoring the locale setting:" -msgstr "" - -#: ../../whatsnew/2.4.rst:753 -msgid "" -"``PyOS_ascii_strtod(str, ptr)`` and ``PyOS_ascii_atof(str, ptr)`` both " -"convert a string to a C :c:expr:`double`." -msgstr "" - -#: ../../whatsnew/2.4.rst:756 -msgid "" -"``PyOS_ascii_formatd(buffer, buf_len, format, d)`` converts a " -":c:expr:`double` to an ASCII string." -msgstr "" - -#: ../../whatsnew/2.4.rst:759 -msgid "" -"The code for these functions came from the GLib library (`https://developer-" -"old.gnome.org/glib/2.26/ " -"`__)," -" whose developers kindly relicensed the relevant functions and donated them " -"to the Python Software Foundation. The :mod:`locale` module can now change" -" the numeric locale, letting extensions such as GTK+ produce the correct " -"results." -msgstr "" - -#: ../../whatsnew/2.4.rst:768 -msgid ":pep:`331` - Locale-Independent Float/String Conversions" -msgstr "" - -#: ../../whatsnew/2.4.rst:769 -msgid "Written by Christian R. Reis, and implemented by Gustavo Carneiro." -msgstr "" - -#: ../../whatsnew/2.4.rst:775 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/2.4.rst:777 -msgid "" -"Here are all of the changes that Python 2.4 makes to the core Python " -"language." -msgstr "" - -#: ../../whatsnew/2.4.rst:779 -msgid "Decorators for functions and methods were added (:pep:`318`)." -msgstr "" - -#: ../../whatsnew/2.4.rst:781 -msgid "" -"Built-in :func:`set` and :func:`frozenset` types were added (:pep:`218`). " -"Other new built-ins include the ``reversed(seq)`` function (:pep:`322`)." -msgstr "" - -#: ../../whatsnew/2.4.rst:784 -msgid "Generator expressions were added (:pep:`289`)." -msgstr "" - -#: ../../whatsnew/2.4.rst:786 -msgid "" -"Certain numeric expressions no longer return values restricted to 32 or 64 " -"bits (:pep:`237`)." -msgstr "" - -#: ../../whatsnew/2.4.rst:789 -msgid "" -"You can now put parentheses around the list of names in a ``from module " -"import names`` statement (:pep:`328`)." -msgstr "" - -#: ../../whatsnew/2.4.rst:792 -msgid "" -"The :meth:`dict.update` method now accepts the same argument forms as the " -":class:`dict` constructor. This includes any mapping, any iterable of " -"key/value pairs, and keyword arguments. (Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:796 -msgid "" -"The string methods :meth:`ljust`, :meth:`rjust`, and :meth:`center` now take" -" an optional argument for specifying a fill character other than a space. " -"(Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:800 -msgid "" -"Strings also gained an :meth:`rsplit` method that works like the " -":meth:`split` method but splits from the end of the string. (Contributed " -"by Sean Reifschneider.) ::" -msgstr "" - -#: ../../whatsnew/2.4.rst:804 -msgid "" -">>> 'www.python.org'.split('.', 1)\n" -"['www', 'python.org']\n" -"'www.python.org'.rsplit('.', 1)\n" -"['www.python', 'org']" -msgstr "" - -#: ../../whatsnew/2.4.rst:809 -msgid "" -"Three keyword parameters, *cmp*, *key*, and *reverse*, were added to the " -":meth:`sort` method of lists. These parameters make some common usages of " -":meth:`sort` simpler. All of these parameters are optional." -msgstr "" - -#: ../../whatsnew/2.4.rst:813 -msgid "" -"For the *cmp* parameter, the value should be a comparison function that " -"takes two parameters and returns -1, 0, or +1 depending on how the " -"parameters compare. This function will then be used to sort the list. " -"Previously this was the only parameter that could be provided to " -":meth:`sort`." -msgstr "" - -#: ../../whatsnew/2.4.rst:818 -msgid "" -"*key* should be a single-parameter function that takes a list element and " -"returns a comparison key for the element. The list is then sorted using the" -" comparison keys. The following example sorts a list case-insensitively::" -msgstr "" - -#: ../../whatsnew/2.4.rst:822 -msgid "" -">>> L = ['A', 'b', 'c', 'D']\n" -">>> L.sort() # Case-sensitive sort\n" -">>> L\n" -"['A', 'D', 'b', 'c']\n" -">>> # Using 'key' parameter to sort list\n" -">>> L.sort(key=lambda x: x.lower())\n" -">>> L\n" -"['A', 'b', 'c', 'D']\n" -">>> # Old-fashioned way\n" -">>> L.sort(cmp=lambda x,y: cmp(x.lower(), y.lower()))\n" -">>> L\n" -"['A', 'b', 'c', 'D']" -msgstr "" - -#: ../../whatsnew/2.4.rst:835 -msgid "" -"The last example, which uses the *cmp* parameter, is the old way to perform " -"a case-insensitive sort. It works but is slower than using a *key* " -"parameter. Using *key* calls :meth:`lower` method once for each element in " -"the list while using *cmp* will call it twice for each comparison, so using " -"*key* saves on invocations of the :meth:`lower` method." -msgstr "" - -#: ../../whatsnew/2.4.rst:841 -msgid "" -"For simple key functions and comparison functions, it is often possible to " -"avoid a :keyword:`lambda` expression by using an unbound method instead. " -"For example, the above case-insensitive sort is best written as::" -msgstr "" - -#: ../../whatsnew/2.4.rst:845 -msgid "" -">>> L.sort(key=str.lower)\n" -">>> L\n" -"['A', 'b', 'c', 'D']" -msgstr "" - -#: ../../whatsnew/2.4.rst:849 -msgid "" -"Finally, the *reverse* parameter takes a Boolean value. If the value is " -"true, the list will be sorted into reverse order. Instead of ``L.sort(); " -"L.reverse()``, you can now write ``L.sort(reverse=True)``." -msgstr "" - -#: ../../whatsnew/2.4.rst:853 -msgid "" -"The results of sorting are now guaranteed to be stable. This means that two" -" entries with equal keys will be returned in the same order as they were " -"input. For example, you can sort a list of people by name, and then sort the" -" list by age, resulting in a list sorted by age where people with the same " -"age are in name-sorted order." -msgstr "" - -#: ../../whatsnew/2.4.rst:859 -msgid "(All changes to :meth:`sort` contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:861 -msgid "" -"There is a new built-in function ``sorted(iterable)`` that works like the " -"in-place :meth:`list.sort` method but can be used in expressions. The " -"differences are:" -msgstr "" - -#: ../../whatsnew/2.4.rst:865 -msgid "the input may be any iterable;" -msgstr "" - -#: ../../whatsnew/2.4.rst:867 -msgid "a newly formed copy is sorted, leaving the original intact; and" -msgstr "" - -#: ../../whatsnew/2.4.rst:869 -msgid "the expression returns the new sorted copy" -msgstr "" - -#: ../../whatsnew/2.4.rst:873 -msgid "" -">>> L = [9,7,8,3,2,4,1,6,5]\n" -">>> [10+i for i in sorted(L)] # usable in a list comprehension\n" -"[11, 12, 13, 14, 15, 16, 17, 18, 19]\n" -">>> L # original is left unchanged\n" -"[9,7,8,3,2,4,1,6,5]\n" -">>> sorted('Monty Python') # any iterable may be an input\n" -"[' ', 'M', 'P', 'h', 'n', 'n', 'o', 'o', 't', 't', 'y', 'y']\n" -"\n" -">>> # List the contents of a dict sorted by key values\n" -">>> colormap = dict(red=1, blue=2, green=3, black=4, yellow=5)\n" -">>> for k, v in sorted(colormap.iteritems()):\n" -"... print k, v\n" -"...\n" -"black 4\n" -"blue 2\n" -"green 3\n" -"red 1\n" -"yellow 5" -msgstr "" - -#: ../../whatsnew/2.4.rst:892 ../../whatsnew/2.4.rst:920 -#: ../../whatsnew/2.4.rst:1213 -msgid "(Contributed by Raymond Hettinger.)" -msgstr "(Kontribusi dari Raymond Hettinger.)" - -#: ../../whatsnew/2.4.rst:894 ../../whatsnew/2.4.rst:1520 -msgid "" -"Integer operations will no longer trigger an :exc:`OverflowWarning`. The " -":exc:`OverflowWarning` warning will disappear in Python 2.5." -msgstr "" - -#: ../../whatsnew/2.4.rst:897 -msgid "" -"The interpreter gained a new switch, :option:`-m`, that takes a name, " -"searches for the corresponding module on ``sys.path``, and runs the module " -"as a script. For example, you can now run the Python profiler with ``python" -" -m profile``. (Contributed by Nick Coghlan.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:902 -msgid "" -"The ``eval(expr, globals, locals)`` and ``execfile(filename, globals, " -"locals)`` functions and the ``exec`` statement now accept any mapping type " -"for the *locals* parameter. Previously this had to be a regular Python " -"dictionary. (Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:907 -msgid "" -"The :func:`zip` built-in function and :func:`itertools.izip` now return an " -"empty list if called with no arguments. Previously they raised a " -":exc:`TypeError` exception. This makes them more suitable for use with " -"variable length argument lists::" -msgstr "" - -#: ../../whatsnew/2.4.rst:912 -msgid "" -">>> def transpose(array):\n" -"... return zip(*array)\n" -"...\n" -">>> transpose([(1,2,3), (4,5,6)])\n" -"[(1, 4), (2, 5), (3, 6)]\n" -">>> transpose([])\n" -"[]" -msgstr "" - -#: ../../whatsnew/2.4.rst:922 -msgid "" -"Encountering a failure while importing a module no longer leaves a partially" -" initialized module object in ``sys.modules``. The incomplete module object" -" left behind would fool further imports of the same module into succeeding, " -"leading to confusing errors. (Fixed by Tim Peters.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:927 -msgid "" -":const:`None` is now a constant; code that binds a new value to the name " -"``None`` is now a syntax error. (Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:934 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/2.4.rst:936 -msgid "" -"The inner loops for list and tuple slicing were optimized and now run about " -"one-third faster. The inner loops for dictionaries were also optimized, " -"resulting in performance boosts for :meth:`keys`, :meth:`values`, " -":meth:`items`, :meth:`iterkeys`, :meth:`itervalues`, and :meth:`iteritems`. " -"(Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:942 -msgid "" -"The machinery for growing and shrinking lists was optimized for speed and " -"for space efficiency. Appending and popping from lists now runs faster due " -"to more efficient code paths and less frequent use of the underlying system " -":c:func:`realloc`. List comprehensions also benefit. :meth:`list.extend` " -"was also optimized and no longer converts its argument into a temporary list" -" before extending the base list. (Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:949 -msgid "" -":func:`list`, :func:`tuple`, :func:`map`, :func:`filter`, and :func:`zip` " -"now run several times faster with non-sequence arguments that supply a " -":meth:`__len__` method. (Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:953 -msgid "" -"The methods :meth:`list.__getitem__`, :meth:`dict.__getitem__`, and " -":meth:`dict.__contains__` are now implemented as :class:`method_descriptor` " -"objects rather than :class:`wrapper_descriptor` objects. This form of " -"access doubles their performance and makes them more suitable for use as " -"arguments to functionals: ``map(mydict.__getitem__, keylist)``. (Contributed" -" by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:960 -msgid "" -"Added a new opcode, ``LIST_APPEND``, that simplifies the generated bytecode " -"for list comprehensions and speeds them up by about a third. (Contributed " -"by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:964 -msgid "" -"The peephole bytecode optimizer has been improved to produce shorter, " -"faster bytecode; remarkably, the resulting bytecode is more readable. " -"(Enhanced by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:968 -msgid "" -"String concatenations in statements of the form ``s = s + \"abc\"`` and ``s " -"+= \"abc\"`` are now performed more efficiently in certain circumstances. " -"This optimization won't be present in other Python implementations such as " -"Jython, so you shouldn't rely on it; using the :meth:`join` method of " -"strings is still recommended when you want to efficiently glue a large " -"number of strings together. (Contributed by Armin Rigo.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:975 -msgid "" -"The net result of the 2.4 optimizations is that Python 2.4 runs the pystone " -"benchmark around 5% faster than Python 2.3 and 35% faster than Python 2.2. " -"(pystone is not a particularly good benchmark, but it's the most commonly " -"used measurement of Python's performance. Your own applications may show " -"greater or smaller benefits from Python 2.4.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:991 -msgid "New, Improved, and Deprecated Modules" -msgstr "" - -#: ../../whatsnew/2.4.rst:993 -msgid "" -"As usual, Python's standard library received a number of enhancements and " -"bug fixes. Here's a partial list of the most notable changes, sorted " -"alphabetically by module name. Consult the :file:`Misc/NEWS` file in the " -"source tree for a more complete list of changes, or look through the CVS " -"logs for all the details." -msgstr "" - -#: ../../whatsnew/2.4.rst:998 -msgid "" -"The :mod:`!asyncore` module's :func:`!loop` function now has a *count* " -"parameter that lets you perform a limited number of passes through the " -"polling loop. The default is still to loop forever." -msgstr "" - -#: ../../whatsnew/2.4.rst:1002 -msgid "" -"The :mod:`base64` module now has more complete :rfc:`3548` support for " -"Base64, Base32, and Base16 encoding and decoding, including optional case " -"folding and optional alternative alphabets. (Contributed by Barry Warsaw.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1006 -msgid "" -"The :mod:`bisect` module now has an underlying C implementation for improved" -" performance. (Contributed by Dmitry Vasiliev.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1009 -msgid "" -"The CJKCodecs collections of East Asian codecs, maintained by Hye-Shik " -"Chang, was integrated into 2.4. The new encodings are:" -msgstr "" - -#: ../../whatsnew/2.4.rst:1012 -msgid "Chinese (PRC): gb2312, gbk, gb18030, big5hkscs, hz" -msgstr "" - -#: ../../whatsnew/2.4.rst:1014 -msgid "Chinese (ROC): big5, cp950" -msgstr "" - -#: ../../whatsnew/2.4.rst:1016 -msgid "Japanese: cp932, euc-jis-2004, euc-jp, euc-jisx0213, iso-2022-jp," -msgstr "" - -#: ../../whatsnew/2.4.rst:1017 -msgid "" -"iso-2022-jp-1, iso-2022-jp-2, iso-2022-jp-3, iso-2022-jp-ext, " -"iso-2022-jp-2004, shift-jis, shift-jisx0213, shift-jis-2004" -msgstr "" - -#: ../../whatsnew/2.4.rst:1020 -msgid "Korean: cp949, euc-kr, johab, iso-2022-kr" -msgstr "" - -#: ../../whatsnew/2.4.rst:1022 -msgid "" -"Some other new encodings were added: HP Roman8, ISO_8859-11, ISO_8859-16, " -"PCTP-154, and TIS-620." -msgstr "" - -#: ../../whatsnew/2.4.rst:1025 -msgid "" -"The UTF-8 and UTF-16 codecs now cope better with receiving partial input. " -"Previously the :class:`StreamReader` class would try to read more data, " -"making it impossible to resume decoding from the stream. The :meth:`read` " -"method will now return as much data as it can and future calls will resume " -"decoding where previous ones left off. (Implemented by Walter Dörwald.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1031 -msgid "" -"There is a new :mod:`collections` module for various specialized collection" -" datatypes. Currently it contains just one type, :class:`deque`, a double-" -"ended queue that supports efficiently adding and removing elements from " -"either end::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1036 -msgid "" -">>> from collections import deque\n" -">>> d = deque('ghi') # make a new deque with three items\n" -">>> d.append('j') # add a new entry to the right side\n" -">>> d.appendleft('f') # add a new entry to the left side\n" -">>> d # show the representation of the deque\n" -"deque(['f', 'g', 'h', 'i', 'j'])\n" -">>> d.pop() # return and remove the rightmost item\n" -"'j'\n" -">>> d.popleft() # return and remove the leftmost item\n" -"'f'\n" -">>> list(d) # list the contents of the deque\n" -"['g', 'h', 'i']\n" -">>> 'h' in d # search the deque\n" -"True" -msgstr "" - -#: ../../whatsnew/2.4.rst:1051 -msgid "" -"Several modules, such as the :mod:`Queue` and :mod:`threading` modules, now " -"take advantage of :class:`collections.deque` for improved performance. " -"(Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1055 -msgid "" -"The :mod:`ConfigParser ` classes have been enhanced slightly. " -"The :meth:`~configparser.ConfigParser.read` method now returns a list of the" -" files that were successfully parsed, and the " -":meth:`~configparser.ConfigParser.set` method raises :exc:`TypeError` if " -"passed a *value* argument that isn't a string. (Contributed by John " -"Belmonte and David Goodger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1060 -msgid "" -"The :mod:`curses` module now supports the ncurses extension " -":func:`use_default_colors`. On platforms where the terminal supports " -"transparency, this makes it possible to use a transparent background. " -"(Contributed by Jörg Lehmann.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1065 -msgid "" -"The :mod:`difflib` module now includes an :class:`HtmlDiff` class that " -"creates an HTML table showing a side by side comparison of two versions of a" -" text. (Contributed by Dan Gass.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1069 -msgid "" -"The :mod:`email` package was updated to version 3.0, which dropped various " -"deprecated APIs and removes support for Python versions earlier than 2.3. " -"The 3.0 version of the package uses a new incremental parser for MIME " -"messages, available in the :mod:`email.FeedParser` module. The new parser " -"doesn't require reading the entire message into memory, and doesn't raise " -"exceptions if a message is malformed; instead it records any problems in the" -" :attr:`defect` attribute of the message. (Developed by Anthony Baxter, " -"Barry Warsaw, Thomas Wouters, and others.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1078 -msgid "" -"The :mod:`heapq` module has been converted to C. The resulting tenfold " -"improvement in speed makes the module suitable for handling high volumes of " -"data. In addition, the module has two new functions :func:`nlargest` and " -":func:`nsmallest` that use heaps to find the N largest or smallest values in" -" a dataset without the expense of a full sort. (Contributed by Raymond " -"Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1084 -msgid "" -"The :mod:`httplib ` module now contains constants for HTTP status " -"codes defined in various HTTP-related RFC documents. Constants have names " -"such as :const:`OK`, :const:`CREATED`, :const:`CONTINUE`, and " -":const:`MOVED_PERMANENTLY`; use pydoc to get a full list. (Contributed by " -"Andrew Eland.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1090 -msgid "" -"The :mod:`imaplib` module now supports IMAP's THREAD command (contributed by" -" Yves Dionne) and new :meth:`deleteacl` and :meth:`myrights` methods " -"(contributed by Arnaud Mazin)." -msgstr "" - -#: ../../whatsnew/2.4.rst:1094 -msgid "" -"The :mod:`itertools` module gained a ``groupby(iterable[, *func*])`` " -"function. *iterable* is something that can be iterated over to return a " -"stream of elements, and the optional *func* parameter is a function that " -"takes an element and returns a key value; if omitted, the key is simply the " -"element itself. :func:`groupby` then groups the elements into subsequences " -"which have matching values of the key, and returns a series of 2-tuples " -"containing the key value and an iterator over the subsequence." -msgstr "" - -#: ../../whatsnew/2.4.rst:1102 -msgid "" -"Here's an example to make this clearer. The *key* function simply returns " -"whether a number is even or odd, so the result of :func:`groupby` is to " -"return consecutive runs of odd or even numbers. ::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1106 -msgid "" -">>> import itertools\n" -">>> L = [2, 4, 6, 7, 8, 9, 11, 12, 14]\n" -">>> for key_val, it in itertools.groupby(L, lambda x: x % 2):\n" -"... print key_val, list(it)\n" -"...\n" -"0 [2, 4, 6]\n" -"1 [7]\n" -"0 [8]\n" -"1 [9, 11]\n" -"0 [12, 14]\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.4.rst:1118 -msgid "" -":func:`groupby` is typically used with sorted input. The logic for " -":func:`groupby` is similar to the Unix ``uniq`` filter which makes it handy " -"for eliminating, counting, or identifying duplicate elements::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1122 -msgid "" -">>> word = 'abracadabra'\n" -">>> letters = sorted(word) # Turn string into a sorted list of letters\n" -">>> letters\n" -"['a', 'a', 'a', 'a', 'a', 'b', 'b', 'c', 'd', 'r', 'r']\n" -">>> for k, g in itertools.groupby(letters):\n" -"... print k, list(g)\n" -"...\n" -"a ['a', 'a', 'a', 'a', 'a']\n" -"b ['b', 'b']\n" -"c ['c']\n" -"d ['d']\n" -"r ['r', 'r']\n" -">>> # List unique letters\n" -">>> [k for k, g in groupby(letters)]\n" -"['a', 'b', 'c', 'd', 'r']\n" -">>> # Count letter occurrences\n" -">>> [(k, len(list(g))) for k, g in groupby(letters)]\n" -"[('a', 5), ('b', 2), ('c', 1), ('d', 1), ('r', 2)]" -msgstr "" - -#: ../../whatsnew/2.4.rst:1141 -msgid "(Contributed by Hye-Shik Chang.)" -msgstr "(Kontribusi dari Hye-Shik Chang.)" - -#: ../../whatsnew/2.4.rst:1143 -msgid "" -":mod:`itertools` also gained a function named ``tee(iterator, N)`` that " -"returns *N* independent iterators that replicate *iterator*. If *N* is " -"omitted, the default is 2. ::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1147 -msgid "" -">>> L = [1,2,3]\n" -">>> i1, i2 = itertools.tee(L)\n" -">>> i1,i2\n" -"(, )\n" -">>> list(i1) # Run the first iterator to exhaustion\n" -"[1, 2, 3]\n" -">>> list(i2) # Run the second iterator to exhaustion\n" -"[1, 2, 3]" -msgstr "" - -#: ../../whatsnew/2.4.rst:1156 -msgid "" -"Note that :func:`tee` has to keep copies of the values returned by the " -"iterator; in the worst case, it may need to keep all of them. This should " -"therefore be used carefully if the leading iterator can run far ahead of the" -" trailing iterator in a long stream of inputs. If the separation is large, " -"then you might as well use :func:`list` instead. When the iterators track " -"closely with one another, :func:`tee` is ideal. Possible applications " -"include bookmarking, windowing, or lookahead iterators. (Contributed by " -"Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1165 -msgid "" -"A number of functions were added to the :mod:`locale` module, such as " -":func:`bind_textdomain_codeset` to specify a particular encoding and a " -"family of :func:`!l\\*gettext` functions that return messages in the chosen " -"encoding. (Contributed by Gustavo Niemeyer.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1170 -msgid "" -"Some keyword arguments were added to the :mod:`logging` package's " -":func:`basicConfig` function to simplify log configuration. The default " -"behavior is to log messages to standard error, but various keyword arguments" -" can be specified to log to a particular file, change the logging format, or" -" set the logging level. For example::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1176 -msgid "" -"import logging\n" -"logging.basicConfig(filename='/var/log/application.log',\n" -" level=0, # Log all messages\n" -" format='%(levelname):%(process):%(thread):%(message)')" -msgstr "" - -#: ../../whatsnew/2.4.rst:1181 -msgid "" -"Other additions to the :mod:`logging` package include a ``log(level, msg)`` " -"convenience method, as well as a :class:`TimedRotatingFileHandler` class " -"that rotates its log files at a timed interval. The module already had " -":class:`RotatingFileHandler`, which rotated logs once the file exceeded a " -"certain size. Both classes derive from a new :class:`BaseRotatingHandler` " -"class that can be used to implement other rotating handlers." -msgstr "" - -#: ../../whatsnew/2.4.rst:1188 -msgid "(Changes implemented by Vinay Sajip.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1190 -msgid "" -"The :mod:`marshal` module now shares interned strings on unpacking a data " -"structure. This may shrink the size of certain pickle strings, but the " -"primary effect is to make :file:`.pyc` files significantly smaller. " -"(Contributed by Martin von Löwis.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1195 -msgid "" -"The :mod:`!nntplib` module's :class:`NNTP` class gained :meth:`description` " -"and :meth:`descriptions` methods to retrieve newsgroup descriptions for a " -"single group or for a range of groups. (Contributed by Jürgen A. Erhard.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1199 -msgid "" -"Two new functions were added to the :mod:`operator` module, " -"``attrgetter(attr)`` and ``itemgetter(index)``. Both functions return " -"callables that take a single argument and return the corresponding attribute" -" or item; these callables make excellent data extractors when used with " -":func:`map` or :func:`sorted`. For example::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1205 -msgid "" -">>> L = [('c', 2), ('d', 1), ('a', 4), ('b', 3)]\n" -">>> map(operator.itemgetter(0), L)\n" -"['c', 'd', 'a', 'b']\n" -">>> map(operator.itemgetter(1), L)\n" -"[2, 1, 4, 3]\n" -">>> sorted(L, key=operator.itemgetter(1)) # Sort list by second tuple item\n" -"[('d', 1), ('c', 2), ('b', 3), ('a', 4)]" -msgstr "" - -#: ../../whatsnew/2.4.rst:1215 -msgid "" -"The :mod:`optparse` module was updated in various ways. The module now " -"passes its messages through :func:`gettext.gettext`, making it possible to " -"internationalize Optik's help and error messages. Help messages for options" -" can now include the string ``'%default'``, which will be replaced by the " -"option's default value. (Contributed by Greg Ward.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1221 -msgid "" -"The long-term plan is to deprecate the :mod:`!rfc822` module in some future " -"Python release in favor of the :mod:`email` package. To this end, the " -":func:`email.Utils.formatdate ` function has been " -"changed to make it usable as a replacement for :func:`!rfc822.formatdate`. " -"You may want to write new e-mail processing code with this in mind. (Change" -" implemented by Anthony Baxter.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1227 -msgid "" -"A new ``urandom(n)`` function was added to the :mod:`os` module, returning a" -" string containing *n* bytes of random data. This function provides access " -"to platform-specific sources of randomness such as :file:`/dev/urandom` on " -"Linux or the Windows CryptoAPI. (Contributed by Trevor Perrin.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1232 -msgid "" -"Another new function: ``os.path.lexists(path)`` returns true if the file " -"specified by *path* exists, whether or not it's a symbolic link. This " -"differs from the existing ``os.path.exists(path)`` function, which returns " -"false if *path* is a symlink that points to a destination that doesn't " -"exist. (Contributed by Beni Cherniavsky.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1238 -msgid "" -"A new :func:`getsid` function was added to the :mod:`posix` module that " -"underlies the :mod:`os` module. (Contributed by J. Raynor.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1241 -msgid "" -"The :mod:`poplib` module now supports POP over SSL. (Contributed by Hector " -"Urtubia.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1244 -msgid "" -"The :mod:`profile` module can now profile C extension functions. " -"(Contributed by Nick Bastin.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1247 -msgid "" -"The :mod:`random` module has a new method called ``getrandbits(N)`` that " -"returns a long integer *N* bits in length. The existing :meth:`randrange` " -"method now uses :meth:`getrandbits` where appropriate, making generation of " -"arbitrarily large random numbers more efficient. (Contributed by Raymond " -"Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1253 -msgid "" -"The regular expression language accepted by the :mod:`re` module was " -"extended with simple conditional expressions, written as ``(?(group)A|B)``." -" *group* is either a numeric group ID or a group name defined with " -"``(?P...)`` earlier in the expression. If the specified group " -"matched, the regular expression pattern *A* will be tested against the " -"string; if the group didn't match, the pattern *B* will be used instead. " -"(Contributed by Gustavo Niemeyer.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1260 -msgid "" -"The :mod:`re` module is also no longer recursive, thanks to a massive amount" -" of work by Gustavo Niemeyer. In a recursive regular expression engine, " -"certain patterns result in a large amount of C stack space being consumed, " -"and it was possible to overflow the stack. For example, if you matched a " -"30000-byte string of ``a`` characters against the expression ``(a|b)+``, one" -" stack frame was consumed per character. Python 2.3 tried to check for " -"stack overflow and raise a :exc:`RuntimeError` exception, but certain " -"patterns could sidestep the checking and if you were unlucky Python could " -"segfault. Python 2.4's regular expression engine can match this pattern " -"without problems." -msgstr "" - -#: ../../whatsnew/2.4.rst:1270 -msgid "" -"The :mod:`signal` module now performs tighter error-checking on the " -"parameters to the :func:`signal.signal` function. For example, you can't " -"set a handler on the :const:`SIGKILL` signal; previous versions of Python " -"would quietly accept this, but 2.4 will raise a :exc:`RuntimeError` " -"exception." -msgstr "" - -#: ../../whatsnew/2.4.rst:1275 -msgid "" -"Two new functions were added to the :mod:`socket` module. :func:`socketpair`" -" returns a pair of connected sockets and ``getservbyport(port)`` looks up " -"the service name for a given port number. (Contributed by Dave Cole and " -"Barry Warsaw.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1280 -msgid "" -"The :func:`sys.exitfunc` function has been deprecated. Code should be using" -" the existing :mod:`atexit` module, which correctly handles calling multiple" -" exit functions. Eventually :func:`sys.exitfunc` will become a purely " -"internal interface, accessed only by :mod:`atexit`." -msgstr "" - -#: ../../whatsnew/2.4.rst:1285 -msgid "" -"The :mod:`tarfile` module now generates GNU-format tar files by default. " -"(Contributed by Lars Gustäbel.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1288 -msgid "" -"The :mod:`threading` module now has an elegantly simple way to support " -"thread-local data. The module contains a :class:`local` class whose " -"attribute values are local to different threads. ::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1292 -msgid "" -"import threading\n" -"\n" -"data = threading.local()\n" -"data.number = 42\n" -"data.url = ('www.python.org', 80)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1298 -msgid "" -"Other threads can assign and retrieve their own values for the " -":attr:`number` and :attr:`url` attributes. You can subclass :class:`local` " -"to initialize attributes or to add methods. (Contributed by Jim Fulton.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1302 -msgid "" -"The :mod:`timeit` module now automatically disables periodic garbage " -"collection during the timing loop. This change makes consecutive timings " -"more comparable. (Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1306 -msgid "" -"The :mod:`weakref` module now supports a wider variety of objects including " -"Python functions, class instances, sets, frozensets, deques, arrays, files, " -"sockets, and regular expression pattern objects. (Contributed by Raymond " -"Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1311 -msgid "" -"The :mod:`xmlrpclib ` module now supports a multi-call " -"extension for transmitting multiple XML-RPC calls in a single HTTP " -"operation. (Contributed by Brian Quinlan.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1315 -msgid "" -"The :mod:`mpz`, :mod:`rotor`, and :mod:`xreadlines` modules have been " -"removed." -msgstr "" - -#: ../../whatsnew/2.4.rst:1324 -msgid "cookielib" -msgstr "" - -#: ../../whatsnew/2.4.rst:1326 -msgid "" -"The :mod:`cookielib ` library supports client-side handling " -"for HTTP cookies, mirroring the :mod:`Cookie ` module's " -"server-side cookie support. Cookies are stored in cookie jars; the library " -"transparently stores cookies offered by the web server in the cookie jar, " -"and fetches the cookie from the jar when connecting to the server. As in web" -" browsers, policy objects control whether cookies are accepted or not." -msgstr "" - -#: ../../whatsnew/2.4.rst:1333 -msgid "" -"In order to store cookies across sessions, two implementations of cookie " -"jars are provided: one that stores cookies in the Netscape format so " -"applications can use the Mozilla or Lynx cookie files, and one that stores " -"cookies in the same format as the Perl libwww library." -msgstr "" - -#: ../../whatsnew/2.4.rst:1338 -msgid "" -":mod:`urllib2 ` has been changed to interact with " -":mod:`cookielib `: :class:`HTTPCookieProcessor` manages a " -"cookie jar that is used when accessing URLs." -msgstr "" - -#: ../../whatsnew/2.4.rst:1342 -msgid "This module was contributed by John J. Lee." -msgstr "Modul ini kontribusi dari John J. Lee." - -#: ../../whatsnew/2.4.rst:1348 -msgid "doctest" -msgstr "" - -#: ../../whatsnew/2.4.rst:1350 -msgid "" -"The :mod:`doctest` module underwent considerable refactoring thanks to " -"Edward Loper and Tim Peters. Testing can still be as simple as running " -":func:`doctest.testmod`, but the refactorings allow customizing the module's" -" operation in various ways" -msgstr "" - -#: ../../whatsnew/2.4.rst:1355 -msgid "" -"The new :class:`DocTestFinder` class extracts the tests from a given " -"object's docstrings::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1358 -msgid "" -"def f (x, y):\n" -" \"\"\">>> f(2,2)\n" -"4\n" -">>> f(3,2)\n" -"6\n" -" \"\"\"\n" -" return x*y\n" -"\n" -"finder = doctest.DocTestFinder()\n" -"\n" -"# Get list of DocTest instances\n" -"tests = finder.find(f)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1371 -msgid "" -"The new :class:`DocTestRunner` class then runs individual tests and can " -"produce a summary of the results::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1374 -msgid "" -"runner = doctest.DocTestRunner()\n" -"for t in tests:\n" -" tried, failed = runner.run(t)\n" -"\n" -"runner.summarize(verbose=1)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1380 -msgid "The above example produces the following output::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1382 -msgid "" -"1 items passed all tests:\n" -" 2 tests in f\n" -"2 tests in 1 items.\n" -"2 passed and 0 failed.\n" -"Test passed." -msgstr "" - -#: ../../whatsnew/2.4.rst:1388 -msgid "" -":class:`DocTestRunner` uses an instance of the :class:`OutputChecker` class " -"to compare the expected output with the actual output. This class takes a " -"number of different flags that customize its behaviour; ambitious users can " -"also write a completely new subclass of :class:`OutputChecker`." -msgstr "" - -#: ../../whatsnew/2.4.rst:1393 -msgid "" -"The default output checker provides a number of handy features. For example," -" with the :const:`doctest.ELLIPSIS` option flag, an ellipsis (``...``) in " -"the expected output matches any substring, making it easier to accommodate " -"outputs that vary in minor ways::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1398 -msgid "" -"def o (n):\n" -" \"\"\">>> o(1)\n" -"<__main__.C instance at 0x...>\n" -">>>\n" -"\"\"\"" -msgstr "" - -#: ../../whatsnew/2.4.rst:1404 -msgid "Another special string, ````, matches a blank line::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1406 -msgid "" -"def p (n):\n" -" \"\"\">>> p(1)\n" -"\n" -">>>\n" -"\"\"\"" -msgstr "" - -#: ../../whatsnew/2.4.rst:1412 -msgid "" -"Another new capability is producing a diff-style display of the output by " -"specifying the :const:`doctest.REPORT_UDIFF` (unified diffs), " -":const:`doctest.REPORT_CDIFF` (context diffs), or " -":const:`doctest.REPORT_NDIFF` (delta-style) option flags. For example::" -msgstr "" - -#: ../../whatsnew/2.4.rst:1417 -msgid "" -"def g (n):\n" -" \"\"\">>> g(4)\n" -"here\n" -"is\n" -"a\n" -"lengthy\n" -">>>\"\"\"\n" -" L = 'here is a rather lengthy list of words'.split()\n" -" for word in L[:n]:\n" -" print word" -msgstr "" - -#: ../../whatsnew/2.4.rst:1428 -msgid "" -"Running the above function's tests with :const:`doctest.REPORT_UDIFF` " -"specified, you get the following output:" -msgstr "" - -#: ../../whatsnew/2.4.rst:1431 -msgid "" -"**********************************************************************\n" -"File \"t.py\", line 15, in g\n" -"Failed example:\n" -" g(4)\n" -"Differences (unified diff with -expected +actual):\n" -" @@ -2,3 +2,3 @@\n" -" is\n" -" a\n" -" -lengthy\n" -" +rather\n" -"**********************************************************************" -msgstr "" - -#: ../../whatsnew/2.4.rst:1449 -msgid "Build and C API Changes" -msgstr "Perubahan Pembangunan *Build* dan API C" - -#: ../../whatsnew/2.4.rst:1451 -msgid "Some of the changes to Python's build process and to the C API are:" -msgstr "" - -#: ../../whatsnew/2.4.rst:1453 -msgid "" -"Three new convenience macros were added for common return values from " -"extension functions: :c:macro:`Py_RETURN_NONE`, :c:macro:`Py_RETURN_TRUE`, " -"and :c:macro:`Py_RETURN_FALSE`. (Contributed by Brett Cannon.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1457 -msgid "" -"Another new macro, :c:macro:`Py_CLEAR`, decreases the reference count of " -"*obj* and sets *obj* to the null pointer. (Contributed by Jim Fulton.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1460 -msgid "" -"A new function, ``PyTuple_Pack(N, obj1, obj2, ..., objN)``, constructs " -"tuples from a variable length argument list of Python objects. (Contributed" -" by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1464 -msgid "" -"A new function, ``PyDict_Contains(d, k)``, implements fast dictionary " -"lookups without masking exceptions raised during the look-up process. " -"(Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1468 -msgid "" -"The :c:expr:`Py_IS_NAN(X)` macro returns 1 if its float or double argument " -"*X* is a NaN. (Contributed by Tim Peters.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1471 -msgid "" -"C code can avoid unnecessary locking by using the new " -":c:func:`!PyEval_ThreadsInitialized` function to tell if any thread " -"operations have been performed. If this function returns false, no lock " -"operations are needed. (Contributed by Nick Coghlan.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1476 -msgid "" -"A new function, :c:func:`PyArg_VaParseTupleAndKeywords`, is the same as " -":c:func:`PyArg_ParseTupleAndKeywords` but takes a :c:type:`va_list` instead" -" of a number of arguments. (Contributed by Greg Chapman.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1480 -msgid "" -"A new method flag, :c:macro:`METH_COEXIST`, allows a function defined in " -"slots to co-exist with a :c:type:`PyCFunction` having the same name. This " -"can halve the access time for a method such as :meth:`set.__contains__`. " -"(Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1485 -msgid "" -"Python can now be built with additional profiling for the interpreter " -"itself, intended as an aid to people developing the Python core. Providing " -":option:`!--enable-profiling` to the :program:`configure` script will let " -"you profile the interpreter with :program:`gprof`, and providing the " -":option:`!--with-tsc` switch enables profiling using the Pentium's Time-" -"Stamp-Counter register. Note that the :option:`!--with-tsc` switch is " -"slightly misnamed, because the profiling feature also works on the PowerPC " -"platform, though that processor architecture doesn't call that register " -"\"the TSC register\". (Contributed by Jeremy Hylton.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1495 -msgid "" -"The :c:type:`!tracebackobject` type has been renamed to " -":c:type:`PyTracebackObject`." -msgstr "" - -#: ../../whatsnew/2.4.rst:1502 -msgid "Port-Specific Changes" -msgstr "" - -#: ../../whatsnew/2.4.rst:1504 -msgid "" -"The Windows port now builds under MSVC++ 7.1 as well as version 6. " -"(Contributed by Martin von Löwis.)" -msgstr "" - -#: ../../whatsnew/2.4.rst:1511 -msgid "Porting to Python 2.4" -msgstr "" - -#: ../../whatsnew/2.4.rst:1513 -msgid "" -"This section lists previously described changes that may require changes to " -"your code:" -msgstr "" - -#: ../../whatsnew/2.4.rst:1516 -msgid "" -"Left shifts and hexadecimal/octal constants that are too large no longer " -"trigger a :exc:`FutureWarning` and return a value limited to 32 or 64 bits;" -" instead they return a long integer." -msgstr "" - -#: ../../whatsnew/2.4.rst:1523 -msgid "" -"The :func:`zip` built-in function and :func:`itertools.izip` now return an " -"empty list instead of raising a :exc:`TypeError` exception if called with no" -" arguments." -msgstr "" - -#: ../../whatsnew/2.4.rst:1527 -msgid "" -"You can no longer compare the :class:`date` and :class:`~datetime.datetime` " -"instances provided by the :mod:`datetime` module. Two instances of " -"different classes will now always be unequal, and relative comparisons " -"(``<``, ``>``) will raise a :exc:`TypeError`." -msgstr "" - -#: ../../whatsnew/2.4.rst:1532 -msgid "" -":func:`!dircache.listdir` now passes exceptions to the caller instead of " -"returning empty lists." -msgstr "" - -#: ../../whatsnew/2.4.rst:1535 -msgid "" -":func:`LexicalHandler.startDTD` used to receive the public and system IDs in" -" the wrong order. This has been corrected; applications relying on the " -"wrong order need to be fixed." -msgstr "" - -#: ../../whatsnew/2.4.rst:1539 -msgid "" -":func:`fcntl.ioctl` now warns if the *mutate* argument is omitted and " -"relevant." -msgstr "" - -#: ../../whatsnew/2.4.rst:1542 -msgid "" -"The :mod:`tarfile` module now generates GNU-format tar files by default." -msgstr "" - -#: ../../whatsnew/2.4.rst:1544 -msgid "" -"Encountering a failure while importing a module no longer leaves a partially" -" initialized module object in ``sys.modules``." -msgstr "" - -#: ../../whatsnew/2.4.rst:1547 -msgid "" -":const:`None` is now a constant; code that binds a new value to the name " -"``None`` is now a syntax error." -msgstr "" - -#: ../../whatsnew/2.4.rst:1550 -msgid "" -"The :func:`signals.signal` function now raises a :exc:`RuntimeError` " -"exception for certain illegal values; previously these errors would pass " -"silently. For example, you can no longer set a handler on the " -":const:`SIGKILL` signal." -msgstr "" - -#: ../../whatsnew/2.4.rst:1560 -msgid "Acknowledgements" -msgstr "Ucapan Terima Kasih" - -#: ../../whatsnew/2.4.rst:1562 -msgid "" -"The author would like to thank the following people for offering " -"suggestions, corrections and assistance with various drafts of this article:" -" Koray Can, Hye-Shik Chang, Michael Dyck, Raymond Hettinger, Brian Hurt, " -"Hamish Lawson, Fredrik Lundh, Sean Reifschneider, Sadruddin Rejeb." -msgstr "" - -#: ../../whatsnew/2.4.rst:415 -msgid "universal newlines" -msgstr "" - -#: ../../whatsnew/2.4.rst:415 -msgid "What's new" -msgstr "" diff --git a/python-newest.whatsnew--2_5/id.po b/python-newest.whatsnew--2_5/id.po deleted file mode 100644 index cc9b50e..0000000 --- a/python-newest.whatsnew--2_5/id.po +++ /dev/null @@ -1,3403 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/2.5.rst:3 -msgid "What's New in Python 2.5" -msgstr "" - -#: ../../whatsnew/2.5.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../whatsnew/2.5.rst:5 -msgid "A.M. Kuchling" -msgstr "A.M. Kuchling" - -#: ../../whatsnew/2.5.rst:12 -msgid "" -"This article explains the new features in Python 2.5. The final release of " -"Python 2.5 is scheduled for August 2006; :pep:`356` describes the planned " -"release schedule. Python 2.5 was released on September 19, 2006." -msgstr "" - -#: ../../whatsnew/2.5.rst:16 -msgid "" -"The changes in Python 2.5 are an interesting mix of language and library " -"improvements. The library enhancements will be more important to Python's " -"user community, I think, because several widely useful packages were added." -" New modules include ElementTree for XML processing (:mod:`xml.etree`), the" -" SQLite database module (:mod:`sqlite`), and the :mod:`ctypes` module for " -"calling C functions." -msgstr "" - -#: ../../whatsnew/2.5.rst:23 -msgid "" -"The language changes are of middling significance. Some pleasant new " -"features were added, but most of them aren't features that you'll use every " -"day. Conditional expressions were finally added to the language using a " -"novel syntax; see section :ref:`pep-308`. The new ':keyword:`with`' " -"statement will make writing cleanup code easier (section :ref:`pep-343`). " -"Values can now be passed into generators (section :ref:`pep-342`). Imports " -"are now visible as either absolute or relative (section :ref:`pep-328`). " -"Some corner cases of exception handling are handled better (section " -":ref:`pep-341`). All these improvements are worthwhile, but they're " -"improvements to one specific language feature or another; none of them are " -"broad modifications to Python's semantics." -msgstr "" - -#: ../../whatsnew/2.5.rst:34 -msgid "" -"As well as the language and library additions, other improvements and " -"bugfixes were made throughout the source tree. A search through the SVN " -"change logs finds there were 353 patches applied and 458 bugs fixed between " -"Python 2.4 and 2.5. (Both figures are likely to be underestimates.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:39 -msgid "" -"This article doesn't try to be a complete specification of the new features;" -" instead changes are briefly introduced using helpful examples. For full " -"details, you should always refer to the documentation for Python 2.5 at " -"https://docs.python.org. If you want to understand the complete " -"implementation and design rationale, refer to the PEP for a particular new " -"feature." -msgstr "" - -#: ../../whatsnew/2.5.rst:45 -msgid "" -"Comments, suggestions, and error reports for this document are welcome; " -"please e-mail them to the author or open a bug in the Python bug tracker." -msgstr "" - -#: ../../whatsnew/2.5.rst:54 -msgid "PEP 308: Conditional Expressions" -msgstr "" - -#: ../../whatsnew/2.5.rst:56 -msgid "" -"For a long time, people have been requesting a way to write conditional " -"expressions, which are expressions that return value A or value B depending " -"on whether a Boolean value is true or false. A conditional expression lets " -"you write a single assignment statement that has the same effect as the " -"following::" -msgstr "" - -#: ../../whatsnew/2.5.rst:61 -msgid "" -"if condition:\n" -" x = true_value\n" -"else:\n" -" x = false_value" -msgstr "" - -#: ../../whatsnew/2.5.rst:66 -msgid "" -"There have been endless tedious discussions of syntax on both python-dev and" -" comp.lang.python. A vote was even held that found the majority of voters " -"wanted conditional expressions in some form, but there was no syntax that " -"was preferred by a clear majority. Candidates included C's ``cond ? true_v :" -" false_v``, ``if cond then true_v else false_v``, and 16 other variations." -msgstr "" - -#: ../../whatsnew/2.5.rst:72 -msgid "Guido van Rossum eventually chose a surprising syntax::" -msgstr "" - -#: ../../whatsnew/2.5.rst:74 -msgid "x = true_value if condition else false_value" -msgstr "" - -#: ../../whatsnew/2.5.rst:76 -msgid "" -"Evaluation is still lazy as in existing Boolean expressions, so the order of" -" evaluation jumps around a bit. The *condition* expression in the middle is" -" evaluated first, and the *true_value* expression is evaluated only if the " -"condition was true. Similarly, the *false_value* expression is only " -"evaluated when the condition is false." -msgstr "" - -#: ../../whatsnew/2.5.rst:82 -msgid "" -"This syntax may seem strange and backwards; why does the condition go in the" -" *middle* of the expression, and not in the front as in C's ``c ? x : y``? " -"The decision was checked by applying the new syntax to the modules in the " -"standard library and seeing how the resulting code read. In many cases " -"where a conditional expression is used, one value seems to be the 'common " -"case' and one value is an 'exceptional case', used only on rarer occasions " -"when the condition isn't met. The conditional syntax makes this pattern a " -"bit more obvious::" -msgstr "" - -#: ../../whatsnew/2.5.rst:90 -msgid "contents = ((doc + '\\n') if doc else '')" -msgstr "" - -#: ../../whatsnew/2.5.rst:92 -msgid "" -"I read the above statement as meaning \"here *contents* is usually assigned" -" a value of ``doc+'\\n'``; sometimes *doc* is empty, in which special case " -"an empty string is returned.\" I doubt I will use conditional expressions " -"very often where there isn't a clear common and uncommon case." -msgstr "" - -#: ../../whatsnew/2.5.rst:97 -msgid "" -"There was some discussion of whether the language should require surrounding" -" conditional expressions with parentheses. The decision was made to *not* " -"require parentheses in the Python language's grammar, but as a matter of " -"style I think you should always use them. Consider these two statements::" -msgstr "" - -#: ../../whatsnew/2.5.rst:102 -msgid "" -"# First version -- no parens\n" -"level = 1 if logging else 0\n" -"\n" -"# Second version -- with parens\n" -"level = (1 if logging else 0)" -msgstr "" - -#: ../../whatsnew/2.5.rst:108 -msgid "" -"In the first version, I think a reader's eye might group the statement into " -"'level = 1', 'if logging', 'else 0', and think that the condition decides " -"whether the assignment to *level* is performed. The second version reads " -"better, in my opinion, because it makes it clear that the assignment is " -"always performed and the choice is being made between two values." -msgstr "" - -#: ../../whatsnew/2.5.rst:114 -msgid "" -"Another reason for including the brackets: a few odd combinations of list " -"comprehensions and lambdas could look like incorrect conditional " -"expressions. See :pep:`308` for some examples. If you put parentheses " -"around your conditional expressions, you won't run into this case." -msgstr "" - -#: ../../whatsnew/2.5.rst:122 -msgid ":pep:`308` - Conditional Expressions" -msgstr "" - -#: ../../whatsnew/2.5.rst:123 -msgid "" -"PEP written by Guido van Rossum and Raymond D. Hettinger; implemented by " -"Thomas Wouters." -msgstr "" - -#: ../../whatsnew/2.5.rst:132 -msgid "PEP 309: Partial Function Application" -msgstr "" - -#: ../../whatsnew/2.5.rst:134 -msgid "" -"The :mod:`functools` module is intended to contain tools for functional-" -"style programming." -msgstr "" - -#: ../../whatsnew/2.5.rst:137 -msgid "" -"One useful tool in this module is the :func:`partial` function. For programs" -" written in a functional style, you'll sometimes want to construct variants " -"of existing functions that have some of the parameters filled in. Consider " -"a Python function ``f(a, b, c)``; you could create a new function ``g(b, " -"c)`` that was equivalent to ``f(1, b, c)``. This is called \"partial " -"function application\"." -msgstr "" - -#: ../../whatsnew/2.5.rst:144 -msgid "" -":func:`partial` takes the arguments ``(function, arg1, arg2, ... " -"kwarg1=value1, kwarg2=value2)``. The resulting object is callable, so you " -"can just call it to invoke *function* with the filled-in arguments." -msgstr "" - -#: ../../whatsnew/2.5.rst:148 -msgid "Here's a small but realistic example::" -msgstr "" - -#: ../../whatsnew/2.5.rst:150 -msgid "" -"import functools\n" -"\n" -"def log (message, subsystem):\n" -" \"Write the contents of 'message' to the specified subsystem.\"\n" -" print '%s: %s' % (subsystem, message)\n" -" ...\n" -"\n" -"server_log = functools.partial(log, subsystem='server')\n" -"server_log('Unable to open socket')" -msgstr "" - -#: ../../whatsnew/2.5.rst:160 -msgid "" -"Here's another example, from a program that uses PyGTK. Here a context-" -"sensitive pop-up menu is being constructed dynamically. The callback " -"provided for the menu option is a partially applied version of the " -":meth:`open_item` method, where the first argument has been provided. ::" -msgstr "" - -#: ../../whatsnew/2.5.rst:165 -msgid "" -"...\n" -"class Application:\n" -" def open_item(self, path):\n" -" ...\n" -" def init (self):\n" -" open_func = functools.partial(self.open_item, item_path)\n" -" popup_menu.append( (\"Open\", open_func, 1) )" -msgstr "" - -#: ../../whatsnew/2.5.rst:173 -msgid "" -"Another function in the :mod:`functools` module is the " -"``update_wrapper(wrapper, wrapped)`` function that helps you write well-" -"behaved decorators. :func:`update_wrapper` copies the name, module, and " -"docstring attribute to a wrapper function so that tracebacks inside the " -"wrapped function are easier to understand. For example, you might write::" -msgstr "" - -#: ../../whatsnew/2.5.rst:179 -msgid "" -"def my_decorator(f):\n" -" def wrapper(*args, **kwds):\n" -" print 'Calling decorated function'\n" -" return f(*args, **kwds)\n" -" functools.update_wrapper(wrapper, f)\n" -" return wrapper" -msgstr "" - -#: ../../whatsnew/2.5.rst:186 -msgid "" -":func:`wraps` is a decorator that can be used inside your own decorators to " -"copy the wrapped function's information. An alternate version of the " -"previous example would be::" -msgstr "" - -#: ../../whatsnew/2.5.rst:190 -msgid "" -"def my_decorator(f):\n" -" @functools.wraps(f)\n" -" def wrapper(*args, **kwds):\n" -" print 'Calling decorated function'\n" -" return f(*args, **kwds)\n" -" return wrapper" -msgstr "" - -#: ../../whatsnew/2.5.rst:200 -msgid ":pep:`309` - Partial Function Application" -msgstr "" - -#: ../../whatsnew/2.5.rst:201 -msgid "" -"PEP proposed and written by Peter Harris; implemented by Hye-Shik Chang and " -"Nick Coghlan, with adaptations by Raymond Hettinger." -msgstr "" - -#: ../../whatsnew/2.5.rst:210 -msgid "PEP 314: Metadata for Python Software Packages v1.1" -msgstr "" - -#: ../../whatsnew/2.5.rst:212 -msgid "" -"Some simple dependency support was added to Distutils. The :func:`setup` " -"function now has ``requires``, ``provides``, and ``obsoletes`` keyword " -"parameters. When you build a source distribution using the ``sdist`` " -"command, the dependency information will be recorded in the :file:`PKG-INFO`" -" file." -msgstr "" - -#: ../../whatsnew/2.5.rst:217 -msgid "" -"Another new keyword parameter is ``download_url``, which should be set to a " -"URL for the package's source code. This means it's now possible to look up " -"an entry in the package index, determine the dependencies for a package, and" -" download the required packages. ::" -msgstr "" - -#: ../../whatsnew/2.5.rst:222 -msgid "" -"VERSION = '1.0'\n" -"setup(name='PyPackage',\n" -" version=VERSION,\n" -" requires=['numarray', 'zlib (>=1.1.4)'],\n" -" obsoletes=['OldPackage']\n" -" download_url=('http://www.example.com/pypackage/dist/pkg-%s.tar.gz'\n" -" % VERSION),\n" -" )" -msgstr "" - -#: ../../whatsnew/2.5.rst:231 -msgid "" -"Another new enhancement to the Python package index at https://pypi.org is " -"storing source and binary archives for a package. The new :command:`upload`" -" Distutils command will upload a package to the repository." -msgstr "" - -#: ../../whatsnew/2.5.rst:236 -msgid "" -"Before a package can be uploaded, you must be able to build a distribution " -"using the :command:`sdist` Distutils command. Once that works, you can run " -"``python setup.py upload`` to add your package to the PyPI archive. " -"Optionally you can GPG-sign the package by supplying the :option:`!--sign` " -"and :option:`!--identity` options." -msgstr "" - -#: ../../whatsnew/2.5.rst:242 -msgid "" -"Package uploading was implemented by Martin von Löwis and Richard Jones." -msgstr "" - -#: ../../whatsnew/2.5.rst:247 -msgid ":pep:`314` - Metadata for Python Software Packages v1.1" -msgstr "" - -#: ../../whatsnew/2.5.rst:248 -msgid "" -"PEP proposed and written by A.M. Kuchling, Richard Jones, and Fred Drake; " -"implemented by Richard Jones and Fred Drake." -msgstr "" - -#: ../../whatsnew/2.5.rst:257 -msgid "PEP 328: Absolute and Relative Imports" -msgstr "" - -#: ../../whatsnew/2.5.rst:259 -msgid "" -"The simpler part of :pep:`328` was implemented in Python 2.4: parentheses " -"could now be used to enclose the names imported from a module using the " -"``from ... import ...`` statement, making it easier to import many different" -" names." -msgstr "" - -#: ../../whatsnew/2.5.rst:263 -msgid "" -"The more complicated part has been implemented in Python 2.5: importing a " -"module can be specified to use absolute or package-relative imports. The " -"plan is to move toward making absolute imports the default in future " -"versions of Python." -msgstr "" - -#: ../../whatsnew/2.5.rst:267 -msgid "Let's say you have a package directory like this::" -msgstr "" - -#: ../../whatsnew/2.5.rst:269 -msgid "" -"pkg/\n" -"pkg/__init__.py\n" -"pkg/main.py\n" -"pkg/string.py" -msgstr "" - -#: ../../whatsnew/2.5.rst:274 -msgid "" -"This defines a package named :mod:`pkg` containing the :mod:`pkg.main` and " -":mod:`pkg.string` submodules." -msgstr "" - -#: ../../whatsnew/2.5.rst:277 -msgid "" -"Consider the code in the :file:`main.py` module. What happens if it " -"executes the statement ``import string``? In Python 2.4 and earlier, it " -"will first look in the package's directory to perform a relative import, " -"finds :file:`pkg/string.py`, imports the contents of that file as the " -":mod:`pkg.string` module, and that module is bound to the name ``string`` in" -" the :mod:`pkg.main` module's namespace." -msgstr "" - -#: ../../whatsnew/2.5.rst:284 -msgid "" -"That's fine if :mod:`pkg.string` was what you wanted. But what if you " -"wanted Python's standard :mod:`string` module? There's no clean way to " -"ignore :mod:`pkg.string` and look for the standard module; generally you had" -" to look at the contents of ``sys.modules``, which is slightly unclean. " -"Holger Krekel's :mod:`py.std` package provides a tidier way to perform " -"imports from the standard library, ``import py; py.std.string.join()``, but " -"that package isn't available on all Python installations." -msgstr "" - -#: ../../whatsnew/2.5.rst:292 -msgid "" -"Reading code which relies on relative imports is also less clear, because a " -"reader may be confused about which module, :mod:`string` or " -":mod:`pkg.string`, is intended to be used. Python users soon learned not to" -" duplicate the names of standard library modules in the names of their " -"packages' submodules, but you can't protect against having your submodule's " -"name being used for a new module added in a future version of Python." -msgstr "" - -#: ../../whatsnew/2.5.rst:299 -msgid "" -"In Python 2.5, you can switch :keyword:`import`'s behaviour to absolute " -"imports using a ``from __future__ import absolute_import`` directive. This " -"absolute-import behaviour will become the default in a future version " -"(probably Python 2.7). Once absolute imports are the default, ``import " -"string`` will always find the standard library's version. It's suggested " -"that users should begin using absolute imports as much as possible, so it's " -"preferable to begin writing ``from pkg import string`` in your code." -msgstr "" - -#: ../../whatsnew/2.5.rst:307 -msgid "" -"Relative imports are still possible by adding a leading period to the " -"module name when using the ``from ... import`` form::" -msgstr "" - -#: ../../whatsnew/2.5.rst:310 -msgid "" -"# Import names from pkg.string\n" -"from .string import name1, name2\n" -"# Import pkg.string\n" -"from . import string" -msgstr "" - -#: ../../whatsnew/2.5.rst:315 -msgid "" -"This imports the :mod:`string` module relative to the current package, so in" -" :mod:`pkg.main` this will import *name1* and *name2* from " -":mod:`pkg.string`. Additional leading periods perform the relative import " -"starting from the parent of the current package. For example, code in the " -":mod:`A.B.C` module can do::" -msgstr "" - -#: ../../whatsnew/2.5.rst:320 -msgid "" -"from . import D # Imports A.B.D\n" -"from .. import E # Imports A.E\n" -"from ..F import G # Imports A.F.G" -msgstr "" - -#: ../../whatsnew/2.5.rst:324 -msgid "" -"Leading periods cannot be used with the ``import modname`` form of the " -"import statement, only the ``from ... import`` form." -msgstr "" - -#: ../../whatsnew/2.5.rst:330 -msgid ":pep:`328` - Imports: Multi-Line and Absolute/Relative" -msgstr "" - -#: ../../whatsnew/2.5.rst:331 -msgid "PEP written by Aahz; implemented by Thomas Wouters." -msgstr "" - -#: ../../whatsnew/2.5.rst:333 -msgid "https://pylib.readthedocs.io/" -msgstr "" - -#: ../../whatsnew/2.5.rst:334 -msgid "" -"The py library by Holger Krekel, which contains the :mod:`py.std` package." -msgstr "" - -#: ../../whatsnew/2.5.rst:342 -msgid "PEP 338: Executing Modules as Scripts" -msgstr "" - -#: ../../whatsnew/2.5.rst:344 -msgid "" -"The :option:`-m` switch added in Python 2.4 to execute a module as a script " -"gained a few more abilities. Instead of being implemented in C code inside " -"the Python interpreter, the switch now uses an implementation in a new " -"module, :mod:`runpy`." -msgstr "" - -#: ../../whatsnew/2.5.rst:349 -msgid "" -"The :mod:`runpy` module implements a more sophisticated import mechanism so " -"that it's now possible to run modules in a package such as " -":mod:`pychecker.checker`. The module also supports alternative import " -"mechanisms such as the :mod:`zipimport` module. This means you can add a " -".zip archive's path to ``sys.path`` and then use the :option:`-m` switch to " -"execute code from the archive." -msgstr "" - -#: ../../whatsnew/2.5.rst:359 -msgid ":pep:`338` - Executing modules as scripts" -msgstr "" - -#: ../../whatsnew/2.5.rst:360 -msgid "PEP written and implemented by Nick Coghlan." -msgstr "" - -#: ../../whatsnew/2.5.rst:368 -msgid "PEP 341: Unified try/except/finally" -msgstr "" - -#: ../../whatsnew/2.5.rst:370 -msgid "" -"Until Python 2.5, the :keyword:`try` statement came in two flavours. You " -"could use a :keyword:`finally` block to ensure that code is always executed," -" or one or more :keyword:`except` blocks to catch specific exceptions. You" -" couldn't combine both :keyword:`!except` blocks and a :keyword:`!finally` " -"block, because generating the right bytecode for the combined version was " -"complicated and it wasn't clear what the semantics of the combined statement" -" should be." -msgstr "" - -#: ../../whatsnew/2.5.rst:377 -msgid "" -"Guido van Rossum spent some time working with Java, which does support the " -"equivalent of combining :keyword:`except` blocks and a :keyword:`finally` " -"block, and this clarified what the statement should mean. In Python 2.5, " -"you can now write::" -msgstr "" - -#: ../../whatsnew/2.5.rst:382 -msgid "" -"try:\n" -" block-1 ...\n" -"except Exception1:\n" -" handler-1 ...\n" -"except Exception2:\n" -" handler-2 ...\n" -"else:\n" -" else-block\n" -"finally:\n" -" final-block" -msgstr "" - -#: ../../whatsnew/2.5.rst:393 -msgid "" -"The code in *block-1* is executed. If the code raises an exception, the " -"various :keyword:`except` blocks are tested: if the exception is of class " -":class:`Exception1`, *handler-1* is executed; otherwise if it's of class " -":class:`Exception2`, *handler-2* is executed, and so forth. If no exception" -" is raised, the *else-block* is executed." -msgstr "" - -#: ../../whatsnew/2.5.rst:399 -msgid "" -"No matter what happened previously, the *final-block* is executed once the " -"code block is complete and any raised exceptions handled. Even if there's an" -" error in an exception handler or the *else-block* and a new exception is " -"raised, the code in the *final-block* is still run." -msgstr "" - -#: ../../whatsnew/2.5.rst:407 -msgid ":pep:`341` - Unifying try-except and try-finally" -msgstr "" - -#: ../../whatsnew/2.5.rst:408 -msgid "PEP written by Georg Brandl; implementation by Thomas Lee." -msgstr "" - -#: ../../whatsnew/2.5.rst:416 -msgid "PEP 342: New Generator Features" -msgstr "" - -#: ../../whatsnew/2.5.rst:418 -msgid "" -"Python 2.5 adds a simple way to pass values *into* a generator. As " -"introduced in Python 2.3, generators only produce output; once a generator's" -" code was invoked to create an iterator, there was no way to pass any new " -"information into the function when its execution is resumed. Sometimes the " -"ability to pass in some information would be useful. Hackish solutions to " -"this include making the generator's code look at a global variable and then " -"changing the global variable's value, or passing in some mutable object that" -" callers then modify." -msgstr "" - -#: ../../whatsnew/2.5.rst:426 -msgid "To refresh your memory of basic generators, here's a simple example::" -msgstr "" - -#: ../../whatsnew/2.5.rst:428 -msgid "" -"def counter (maximum):\n" -" i = 0\n" -" while i < maximum:\n" -" yield i\n" -" i += 1" -msgstr "" - -#: ../../whatsnew/2.5.rst:434 -msgid "" -"When you call ``counter(10)``, the result is an iterator that returns the " -"values from 0 up to 9. On encountering the :keyword:`yield` statement, the " -"iterator returns the provided value and suspends the function's execution, " -"preserving the local variables. Execution resumes on the following call to " -"the iterator's :meth:`next` method, picking up after the :keyword:`!yield` " -"statement." -msgstr "" - -#: ../../whatsnew/2.5.rst:440 -msgid "" -"In Python 2.3, :keyword:`yield` was a statement; it didn't return any value." -" In 2.5, :keyword:`!yield` is now an expression, returning a value that can" -" be assigned to a variable or otherwise operated on::" -msgstr "" - -#: ../../whatsnew/2.5.rst:444 -msgid "val = (yield i)" -msgstr "" - -#: ../../whatsnew/2.5.rst:446 -msgid "" -"I recommend that you always put parentheses around a :keyword:`yield` " -"expression when you're doing something with the returned value, as in the " -"above example. The parentheses aren't always necessary, but it's easier to " -"always add them instead of having to remember when they're needed." -msgstr "" - -#: ../../whatsnew/2.5.rst:451 -msgid "" -"(:pep:`342` explains the exact rules, which are that a :keyword:`yield`\\ " -"-expression must always be parenthesized except when it occurs at the top-" -"level expression on the right-hand side of an assignment. This means you " -"can write ``val = yield i`` but have to use parentheses when there's an " -"operation, as in ``val = (yield i) + 12``.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:458 -msgid "" -"Values are sent into a generator by calling its ``send(value)`` method. The" -" generator's code is then resumed and the :keyword:`yield` expression " -"returns the specified *value*. If the regular :meth:`next` method is " -"called, the :keyword:`!yield` returns :const:`None`." -msgstr "" - -#: ../../whatsnew/2.5.rst:463 -msgid "" -"Here's the previous example, modified to allow changing the value of the " -"internal counter. ::" -msgstr "" - -#: ../../whatsnew/2.5.rst:466 -msgid "" -"def counter (maximum):\n" -" i = 0\n" -" while i < maximum:\n" -" val = (yield i)\n" -" # If value provided, change counter\n" -" if val is not None:\n" -" i = val\n" -" else:\n" -" i += 1" -msgstr "" - -#: ../../whatsnew/2.5.rst:476 -msgid "And here's an example of changing the counter::" -msgstr "" - -#: ../../whatsnew/2.5.rst:478 -msgid "" -">>> it = counter(10)\n" -">>> print it.next()\n" -"0\n" -">>> print it.next()\n" -"1\n" -">>> print it.send(8)\n" -"8\n" -">>> print it.next()\n" -"9\n" -">>> print it.next()\n" -"Traceback (most recent call last):\n" -" File \"t.py\", line 15, in ?\n" -" print it.next()\n" -"StopIteration" -msgstr "" - -#: ../../whatsnew/2.5.rst:493 -msgid "" -":keyword:`yield` will usually return :const:`None`, so you should always " -"check for this case. Don't just use its value in expressions unless you're " -"sure that the :meth:`send` method will be the only method used to resume " -"your generator function." -msgstr "" - -#: ../../whatsnew/2.5.rst:498 -msgid "" -"In addition to :meth:`send`, there are two other new methods on generators:" -msgstr "" - -#: ../../whatsnew/2.5.rst:500 -msgid "" -"``throw(type, value=None, traceback=None)`` is used to raise an exception " -"inside the generator; the exception is raised by the :keyword:`yield` " -"expression where the generator's execution is paused." -msgstr "" - -#: ../../whatsnew/2.5.rst:504 -msgid "" -":meth:`close` raises a new :exc:`GeneratorExit` exception inside the " -"generator to terminate the iteration. On receiving this exception, the " -"generator's code must either raise :exc:`GeneratorExit` or " -":exc:`StopIteration`. Catching the :exc:`GeneratorExit` exception and " -"returning a value is illegal and will trigger a :exc:`RuntimeError`; if the " -"function raises some other exception, that exception is propagated to the " -"caller. :meth:`close` will also be called by Python's garbage collector " -"when the generator is garbage-collected." -msgstr "" - -#: ../../whatsnew/2.5.rst:512 -msgid "" -"If you need to run cleanup code when a :exc:`GeneratorExit` occurs, I " -"suggest using a ``try: ... finally:`` suite instead of catching " -":exc:`GeneratorExit`." -msgstr "" - -#: ../../whatsnew/2.5.rst:515 -msgid "" -"The cumulative effect of these changes is to turn generators from one-way " -"producers of information into both producers and consumers." -msgstr "" - -#: ../../whatsnew/2.5.rst:518 -msgid "" -"Generators also become *coroutines*, a more generalized form of subroutines." -" Subroutines are entered at one point and exited at another point (the top " -"of the function, and a :keyword:`return` statement), but coroutines can be " -"entered, exited, and resumed at many different points (the :keyword:`yield` " -"statements). We'll have to figure out patterns for using coroutines " -"effectively in Python." -msgstr "" - -#: ../../whatsnew/2.5.rst:524 -msgid "" -"The addition of the :meth:`close` method has one side effect that isn't " -"obvious. :meth:`close` is called when a generator is garbage-collected, so " -"this means the generator's code gets one last chance to run before the " -"generator is destroyed. This last chance means that ``try...finally`` " -"statements in generators can now be guaranteed to work; the " -":keyword:`finally` clause will now always get a chance to run. The " -"syntactic restriction that you couldn't mix :keyword:`yield` statements with" -" a ``try...finally`` suite has therefore been removed. This seems like a " -"minor bit of language trivia, but using generators and ``try...finally`` is " -"actually necessary in order to implement the :keyword:`with` statement " -"described by :pep:`343`. I'll look at this new statement in the following " -"section." -msgstr "" - -#: ../../whatsnew/2.5.rst:536 -msgid "" -"Another even more esoteric effect of this change: previously, the " -":attr:`gi_frame` attribute of a generator was always a frame object. It's " -"now possible for :attr:`gi_frame` to be ``None`` once the generator has been" -" exhausted." -msgstr "" - -#: ../../whatsnew/2.5.rst:544 -msgid ":pep:`342` - Coroutines via Enhanced Generators" -msgstr "" - -#: ../../whatsnew/2.5.rst:545 -msgid "" -"PEP written by Guido van Rossum and Phillip J. Eby; implemented by Phillip " -"J. Eby. Includes examples of some fancier uses of generators as " -"coroutines." -msgstr "" - -#: ../../whatsnew/2.5.rst:548 -msgid "" -"Earlier versions of these features were proposed in :pep:`288` by Raymond " -"Hettinger and :pep:`325` by Samuele Pedroni." -msgstr "" - -#: ../../whatsnew/2.5.rst:551 -msgid "https://en.wikipedia.org/wiki/Coroutine" -msgstr "" - -#: ../../whatsnew/2.5.rst:552 -msgid "The Wikipedia entry for coroutines." -msgstr "" - -#: ../../whatsnew/2.5.rst:554 -msgid "" -"https://web.archive.org/web/20160321211320/http://www.sidhe.org/~dan/blog/archives/000178.html" -msgstr "" - -#: ../../whatsnew/2.5.rst:555 -msgid "" -"An explanation of coroutines from a Perl point of view, written by Dan " -"Sugalski." -msgstr "" - -#: ../../whatsnew/2.5.rst:563 -msgid "PEP 343: The 'with' statement" -msgstr "" - -#: ../../whatsnew/2.5.rst:565 -msgid "" -"The ':keyword:`with`' statement clarifies code that previously would use " -"``try...finally`` blocks to ensure that clean-up code is executed. In this " -"section, I'll discuss the statement as it will commonly be used. In the " -"next section, I'll examine the implementation details and show how to write " -"objects for use with this statement." -msgstr "" - -#: ../../whatsnew/2.5.rst:571 -msgid "" -"The ':keyword:`with`' statement is a new control-flow structure whose basic " -"structure is::" -msgstr "" - -#: ../../whatsnew/2.5.rst:574 -msgid "" -"with expression [as variable]:\n" -" with-block" -msgstr "" - -#: ../../whatsnew/2.5.rst:577 -msgid "" -"The expression is evaluated, and it should result in an object that supports" -" the context management protocol (that is, has :meth:`~object.__enter__` and" -" :meth:`~object.__exit__` methods." -msgstr "" - -#: ../../whatsnew/2.5.rst:581 -msgid "" -"The object's :meth:`~object.__enter__` is called before *with-block* is " -"executed and therefore can run set-up code. It also may return a value that " -"is bound to the name *variable*, if given. (Note carefully that *variable* " -"is *not* assigned the result of *expression*.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:586 -msgid "" -"After execution of the *with-block* is finished, the object's " -":meth:`~object.__exit__` method is called, even if the block raised an " -"exception, and can therefore run clean-up code." -msgstr "" - -#: ../../whatsnew/2.5.rst:590 -msgid "" -"To enable the statement in Python 2.5, you need to add the following " -"directive to your module::" -msgstr "" - -#: ../../whatsnew/2.5.rst:593 -msgid "from __future__ import with_statement" -msgstr "" - -#: ../../whatsnew/2.5.rst:595 -msgid "The statement will always be enabled in Python 2.6." -msgstr "" - -#: ../../whatsnew/2.5.rst:597 -msgid "" -"Some standard Python objects now support the context management protocol and" -" can be used with the ':keyword:`with`' statement. File objects are one " -"example::" -msgstr "" - -#: ../../whatsnew/2.5.rst:600 -msgid "" -"with open('/etc/passwd', 'r') as f:\n" -" for line in f:\n" -" print line\n" -" ... more processing code ..." -msgstr "" - -#: ../../whatsnew/2.5.rst:605 -msgid "" -"After this statement has executed, the file object in *f* will have been " -"automatically closed, even if the :keyword:`for` loop raised an exception " -"part-way through the block." -msgstr "" - -#: ../../whatsnew/2.5.rst:611 -msgid "" -"In this case, *f* is the same object created by :func:`open`, because " -":meth:`~object.__enter__` returns *self*." -msgstr "" - -#: ../../whatsnew/2.5.rst:614 -msgid "" -"The :mod:`threading` module's locks and condition variables also support " -"the ':keyword:`with`' statement::" -msgstr "" - -#: ../../whatsnew/2.5.rst:617 -msgid "" -"lock = threading.Lock()\n" -"with lock:\n" -" # Critical section of code\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.5.rst:622 -msgid "" -"The lock is acquired before the block is executed and always released once " -"the block is complete." -msgstr "" - -#: ../../whatsnew/2.5.rst:625 -msgid "" -"The new :func:`localcontext` function in the :mod:`decimal` module makes it " -"easy to save and restore the current decimal context, which encapsulates the" -" desired precision and rounding characteristics for computations::" -msgstr "" - -#: ../../whatsnew/2.5.rst:629 -msgid "" -"from decimal import Decimal, Context, localcontext\n" -"\n" -"# Displays with default precision of 28 digits\n" -"v = Decimal('578')\n" -"print v.sqrt()\n" -"\n" -"with localcontext(Context(prec=16)):\n" -" # All code in this block uses a precision of 16 digits.\n" -" # The original context is restored on exiting the block.\n" -" print v.sqrt()" -msgstr "" - -#: ../../whatsnew/2.5.rst:644 -msgid "Writing Context Managers" -msgstr "" - -#: ../../whatsnew/2.5.rst:646 -msgid "" -"Under the hood, the ':keyword:`with`' statement is fairly complicated. Most " -"people will only use ':keyword:`!with`' in company with existing objects and" -" don't need to know these details, so you can skip the rest of this section " -"if you like. Authors of new objects will need to understand the details of " -"the underlying implementation and should keep reading." -msgstr "" - -#: ../../whatsnew/2.5.rst:652 -msgid "A high-level explanation of the context management protocol is:" -msgstr "" - -#: ../../whatsnew/2.5.rst:654 -msgid "" -"The expression is evaluated and should result in an object called a " -"\"context manager\". The context manager must have " -":meth:`~object.__enter__` and :meth:`~object.__exit__` methods." -msgstr "" - -#: ../../whatsnew/2.5.rst:658 -msgid "" -"The context manager's :meth:`~object.__enter__` method is called. The value" -" returned is assigned to *VAR*. If no ``'as VAR'`` clause is present, the " -"value is simply discarded." -msgstr "" - -#: ../../whatsnew/2.5.rst:662 -msgid "The code in *BLOCK* is executed." -msgstr "" - -#: ../../whatsnew/2.5.rst:664 -msgid "" -"If *BLOCK* raises an exception, the ``__exit__(type, value, traceback)`` is " -"called with the exception details, the same values returned by " -":func:`sys.exc_info`. The method's return value controls whether the " -"exception is re-raised: any false value re-raises the exception, and " -"``True`` will result in suppressing it. You'll only rarely want to suppress" -" the exception, because if you do the author of the code containing the " -"':keyword:`with`' statement will never realize anything went wrong." -msgstr "" - -#: ../../whatsnew/2.5.rst:672 -msgid "" -"If *BLOCK* didn't raise an exception, the :meth:`~object.__exit__` method " -"is still called, but *type*, *value*, and *traceback* are all ``None``." -msgstr "" - -#: ../../whatsnew/2.5.rst:675 -msgid "" -"Let's think through an example. I won't present detailed code but will only" -" sketch the methods necessary for a database that supports transactions." -msgstr "" - -#: ../../whatsnew/2.5.rst:678 -msgid "" -"(For people unfamiliar with database terminology: a set of changes to the " -"database are grouped into a transaction. Transactions can be either " -"committed, meaning that all the changes are written into the database, or " -"rolled back, meaning that the changes are all discarded and the database is " -"unchanged. See any database textbook for more information.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:684 -msgid "" -"Let's assume there's an object representing a database connection. Our goal " -"will be to let the user write code like this::" -msgstr "" - -#: ../../whatsnew/2.5.rst:687 -msgid "" -"db_connection = DatabaseConnection()\n" -"with db_connection as cursor:\n" -" cursor.execute('insert into ...')\n" -" cursor.execute('delete from ...')\n" -" # ... more operations ..." -msgstr "" - -#: ../../whatsnew/2.5.rst:693 -msgid "" -"The transaction should be committed if the code in the block runs flawlessly" -" or rolled back if there's an exception. Here's the basic interface for " -":class:`DatabaseConnection` that I'll assume::" -msgstr "" - -#: ../../whatsnew/2.5.rst:697 -msgid "" -"class DatabaseConnection:\n" -" # Database interface\n" -" def cursor (self):\n" -" \"Returns a cursor object and starts a new transaction\"\n" -" def commit (self):\n" -" \"Commits current transaction\"\n" -" def rollback (self):\n" -" \"Rolls back current transaction\"" -msgstr "" - -#: ../../whatsnew/2.5.rst:706 -msgid "" -"The :meth:`~object.__enter__` method is pretty easy, having only to start a " -"new transaction. For this application the resulting cursor object would be " -"a useful result, so the method will return it. The user can then add ``as " -"cursor`` to their ':keyword:`with`' statement to bind the cursor to a " -"variable name. ::" -msgstr "" - -#: ../../whatsnew/2.5.rst:711 -msgid "" -"class DatabaseConnection:\n" -" ...\n" -" def __enter__ (self):\n" -" # Code to start a new transaction\n" -" cursor = self.cursor()\n" -" return cursor" -msgstr "" - -#: ../../whatsnew/2.5.rst:718 -msgid "" -"The :meth:`~object.__exit__` method is the most complicated because it's " -"where most of the work has to be done. The method has to check if an " -"exception occurred. If there was no exception, the transaction is " -"committed. The transaction is rolled back if there was an exception." -msgstr "" - -#: ../../whatsnew/2.5.rst:723 -msgid "" -"In the code below, execution will just fall off the end of the function, " -"returning the default value of ``None``. ``None`` is false, so the " -"exception will be re-raised automatically. If you wished, you could be more" -" explicit and add a :keyword:`return` statement at the marked location. ::" -msgstr "" - -#: ../../whatsnew/2.5.rst:728 -msgid "" -"class DatabaseConnection:\n" -" ...\n" -" def __exit__ (self, type, value, tb):\n" -" if tb is None:\n" -" # No exception, so commit\n" -" self.commit()\n" -" else:\n" -" # Exception occurred, so rollback.\n" -" self.rollback()\n" -" # return False" -msgstr "" - -#: ../../whatsnew/2.5.rst:743 -msgid "The contextlib module" -msgstr "" - -#: ../../whatsnew/2.5.rst:745 -msgid "" -"The new :mod:`contextlib` module provides some functions and a decorator " -"that are useful for writing objects for use with the ':keyword:`with`' " -"statement." -msgstr "" - -#: ../../whatsnew/2.5.rst:748 -msgid "" -"The decorator is called :func:`contextmanager`, and lets you write a single " -"generator function instead of defining a new class. The generator should " -"yield exactly one value. The code up to the :keyword:`yield` will be " -"executed as the :meth:`~object.__enter__` method, and the value yielded will" -" be the method's return value that will get bound to the variable in the " -"':keyword:`with`' statement's :keyword:`!as` clause, if any. The code after" -" the :keyword:`yield` will be executed in the :meth:`~object.__exit__` " -"method. Any exception raised in the block will be raised by the " -":keyword:`!yield` statement." -msgstr "" - -#: ../../whatsnew/2.5.rst:757 -msgid "" -"Our database example from the previous section could be written using this " -"decorator as::" -msgstr "" - -#: ../../whatsnew/2.5.rst:760 -msgid "" -"from contextlib import contextmanager\n" -"\n" -"@contextmanager\n" -"def db_transaction (connection):\n" -" cursor = connection.cursor()\n" -" try:\n" -" yield cursor\n" -" except:\n" -" connection.rollback()\n" -" raise\n" -" else:\n" -" connection.commit()\n" -"\n" -"db = DatabaseConnection()\n" -"with db_transaction(db) as cursor:\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.5.rst:777 -msgid "" -"The :mod:`contextlib` module also has a ``nested(mgr1, mgr2, ...)`` function" -" that combines a number of context managers so you don't need to write " -"nested ':keyword:`with`' statements. In this example, the single " -"':keyword:`!with`' statement both starts a database transaction and acquires" -" a thread lock::" -msgstr "" - -#: ../../whatsnew/2.5.rst:782 -msgid "" -"lock = threading.Lock()\n" -"with nested (db_transaction(db), lock) as (cursor, locked):\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.5.rst:786 -msgid "" -"Finally, the ``closing(object)`` function returns *object* so that it can be" -" bound to a variable, and calls ``object.close`` at the end of the block. ::" -msgstr "" - -#: ../../whatsnew/2.5.rst:789 -msgid "" -"import urllib, sys\n" -"from contextlib import closing\n" -"\n" -"with closing(urllib.urlopen('http://www.yahoo.com')) as f:\n" -" for line in f:\n" -" sys.stdout.write(line)" -msgstr "" - -#: ../../whatsnew/2.5.rst:799 -msgid ":pep:`343` - The \"with\" statement" -msgstr "" - -#: ../../whatsnew/2.5.rst:800 -msgid "" -"PEP written by Guido van Rossum and Nick Coghlan; implemented by Mike Bland," -" Guido van Rossum, and Neal Norwitz. The PEP shows the code generated for a" -" ':keyword:`with`' statement, which can be helpful in learning how the " -"statement works." -msgstr "" - -#: ../../whatsnew/2.5.rst:805 -msgid "The documentation for the :mod:`contextlib` module." -msgstr "" - -#: ../../whatsnew/2.5.rst:813 -msgid "PEP 352: Exceptions as New-Style Classes" -msgstr "" - -#: ../../whatsnew/2.5.rst:815 -msgid "" -"Exception classes can now be new-style classes, not just classic classes, " -"and the built-in :exc:`Exception` class and all the standard built-in " -"exceptions (:exc:`NameError`, :exc:`ValueError`, etc.) are now new-style " -"classes." -msgstr "" - -#: ../../whatsnew/2.5.rst:819 -msgid "" -"The inheritance hierarchy for exceptions has been rearranged a bit. In 2.5, " -"the inheritance relationships are::" -msgstr "" - -#: ../../whatsnew/2.5.rst:822 -msgid "" -"BaseException # New in Python 2.5\n" -"|- KeyboardInterrupt\n" -"|- SystemExit\n" -"|- Exception\n" -" |- (all other current built-in exceptions)" -msgstr "" - -#: ../../whatsnew/2.5.rst:828 -msgid "" -"This rearrangement was done because people often want to catch all " -"exceptions that indicate program errors. :exc:`KeyboardInterrupt` and " -":exc:`SystemExit` aren't errors, though, and usually represent an explicit " -"action such as the user hitting :kbd:`Control-C` or code calling " -":func:`sys.exit`. A bare ``except:`` will catch all exceptions, so you " -"commonly need to list :exc:`KeyboardInterrupt` and :exc:`SystemExit` in " -"order to re-raise them. The usual pattern is::" -msgstr "" - -#: ../../whatsnew/2.5.rst:835 -msgid "" -"try:\n" -" ...\n" -"except (KeyboardInterrupt, SystemExit):\n" -" raise\n" -"except:\n" -" # Log error...\n" -" # Continue running program..." -msgstr "" - -#: ../../whatsnew/2.5.rst:843 -msgid "" -"In Python 2.5, you can now write ``except Exception`` to achieve the same " -"result, catching all the exceptions that usually indicate errors but " -"leaving :exc:`KeyboardInterrupt` and :exc:`SystemExit` alone. As in " -"previous versions, a bare ``except:`` still catches all exceptions." -msgstr "" - -#: ../../whatsnew/2.5.rst:848 -msgid "" -"The goal for Python 3.0 is to require any class raised as an exception to " -"derive from :exc:`BaseException` or some descendant of :exc:`BaseException`," -" and future releases in the Python 2.x series may begin to enforce this " -"constraint. Therefore, I suggest you begin making all your exception classes" -" derive from :exc:`Exception` now. It's been suggested that the bare " -"``except:`` form should be removed in Python 3.0, but Guido van Rossum " -"hasn't decided whether to do this or not." -msgstr "" - -#: ../../whatsnew/2.5.rst:856 -msgid "" -"Raising of strings as exceptions, as in the statement ``raise \"Error " -"occurred\"``, is deprecated in Python 2.5 and will trigger a warning. The " -"aim is to be able to remove the string-exception feature in a few releases." -msgstr "" - -#: ../../whatsnew/2.5.rst:863 -msgid ":pep:`352` - Required Superclass for Exceptions" -msgstr "" - -#: ../../whatsnew/2.5.rst:864 -msgid "" -"PEP written by Brett Cannon and Guido van Rossum; implemented by Brett " -"Cannon." -msgstr "" - -#: ../../whatsnew/2.5.rst:872 -msgid "PEP 353: Using ssize_t as the index type" -msgstr "" - -#: ../../whatsnew/2.5.rst:874 -msgid "" -"A wide-ranging change to Python's C API, using a new :c:type:`Py_ssize_t` " -"type definition instead of :c:expr:`int`, will permit the interpreter to " -"handle more data on 64-bit platforms. This change doesn't affect Python's " -"capacity on 32-bit platforms." -msgstr "" - -#: ../../whatsnew/2.5.rst:879 -msgid "" -"Various pieces of the Python interpreter used C's :c:expr:`int` type to " -"store sizes or counts; for example, the number of items in a list or tuple " -"were stored in an :c:expr:`int`. The C compilers for most 64-bit platforms " -"still define :c:expr:`int` as a 32-bit type, so that meant that lists could " -"only hold up to ``2**31 - 1`` = 2147483647 items. (There are actually a few " -"different programming models that 64-bit C compilers can use -- see " -"https://unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the " -"most commonly available model leaves :c:expr:`int` as 32 bits.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:888 -msgid "" -"A limit of 2147483647 items doesn't really matter on a 32-bit platform " -"because you'll run out of memory before hitting the length limit. Each list " -"item requires space for a pointer, which is 4 bytes, plus space for a " -":c:type:`PyObject` representing the item. 2147483647\\*4 is already more " -"bytes than a 32-bit address space can contain." -msgstr "" - -#: ../../whatsnew/2.5.rst:894 -msgid "" -"It's possible to address that much memory on a 64-bit platform, however. " -"The pointers for a list that size would only require 16 GiB of space, so " -"it's not unreasonable that Python programmers might construct lists that " -"large. Therefore, the Python interpreter had to be changed to use some type " -"other than :c:expr:`int`, and this will be a 64-bit type on 64-bit " -"platforms. The change will cause incompatibilities on 64-bit machines, so " -"it was deemed worth making the transition now, while the number of 64-bit " -"users is still relatively small. (In 5 or 10 years, we may *all* be on " -"64-bit machines, and the transition would be more painful then.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:904 -msgid "" -"This change most strongly affects authors of C extension modules. Python " -"strings and container types such as lists and tuples now use " -":c:type:`Py_ssize_t` to store their size. Functions such as " -":c:func:`PyList_Size` now return :c:type:`Py_ssize_t`. Code in extension " -"modules may therefore need to have some variables changed to " -":c:type:`Py_ssize_t`." -msgstr "" - -#: ../../whatsnew/2.5.rst:910 -msgid "" -"The :c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue` functions have a " -"new conversion code, ``n``, for :c:type:`Py_ssize_t`. " -":c:func:`PyArg_ParseTuple`'s ``s#`` and ``t#`` still output :c:expr:`int` by" -" default, but you can define the macro :c:macro:`PY_SSIZE_T_CLEAN` before " -"including :file:`Python.h` to make them return :c:type:`Py_ssize_t`." -msgstr "" - -#: ../../whatsnew/2.5.rst:916 -msgid "" -":pep:`353` has a section on conversion guidelines that extension authors " -"should read to learn about supporting 64-bit platforms." -msgstr "" - -#: ../../whatsnew/2.5.rst:922 -msgid ":pep:`353` - Using ssize_t as the index type" -msgstr "" - -#: ../../whatsnew/2.5.rst:923 -msgid "PEP written and implemented by Martin von Löwis." -msgstr "" - -#: ../../whatsnew/2.5.rst:931 -msgid "PEP 357: The '__index__' method" -msgstr "" - -#: ../../whatsnew/2.5.rst:933 -msgid "" -"The NumPy developers had a problem that could only be solved by adding a new" -" special method, :meth:`__index__`. When using slice notation, as in " -"``[start:stop:step]``, the values of the *start*, *stop*, and *step* indexes" -" must all be either integers or long integers. NumPy defines a variety of " -"specialized integer types corresponding to unsigned and signed integers of " -"8, 16, 32, and 64 bits, but there was no way to signal that these types " -"could be used as slice indexes." -msgstr "" - -#: ../../whatsnew/2.5.rst:941 -msgid "" -"Slicing can't just use the existing :meth:`__int__` method because that " -"method is also used to implement coercion to integers. If slicing used " -":meth:`__int__`, floating-point numbers would also become legal slice " -"indexes and that's clearly an undesirable behaviour." -msgstr "" - -#: ../../whatsnew/2.5.rst:946 -msgid "" -"Instead, a new special method called :meth:`__index__` was added. It takes " -"no arguments and returns an integer giving the slice index to use. For " -"example::" -msgstr "" - -#: ../../whatsnew/2.5.rst:949 -msgid "" -"class C:\n" -" def __index__ (self):\n" -" return self.value" -msgstr "" - -#: ../../whatsnew/2.5.rst:953 -msgid "" -"The return value must be either a Python integer or long integer. The " -"interpreter will check that the type returned is correct, and raises a " -":exc:`TypeError` if this requirement isn't met." -msgstr "" - -#: ../../whatsnew/2.5.rst:957 -msgid "" -"A corresponding :c:member:`~PyNumberMethods.nb_index` slot was added to the " -"C-level :c:type:`PyNumberMethods` structure to let C extensions implement " -"this protocol. ``PyNumber_Index(obj)`` can be used in extension code to call" -" the :meth:`__index__` function and retrieve its result." -msgstr "" - -#: ../../whatsnew/2.5.rst:965 -msgid ":pep:`357` - Allowing Any Object to be Used for Slicing" -msgstr "" - -#: ../../whatsnew/2.5.rst:966 -msgid "PEP written and implemented by Travis Oliphant." -msgstr "" - -#: ../../whatsnew/2.5.rst:974 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/2.5.rst:976 -msgid "" -"Here are all of the changes that Python 2.5 makes to the core Python " -"language." -msgstr "" - -#: ../../whatsnew/2.5.rst:978 -msgid "" -"The :class:`dict` type has a new hook for letting subclasses provide a " -"default value when a key isn't contained in the dictionary. When a key isn't" -" found, the dictionary's ``__missing__(key)`` method will be called. This " -"hook is used to implement the new :class:`defaultdict` class in the " -":mod:`collections` module. The following example defines a dictionary that" -" returns zero for any missing key::" -msgstr "" - -#: ../../whatsnew/2.5.rst:985 -msgid "" -"class zerodict (dict):\n" -" def __missing__ (self, key):\n" -" return 0\n" -"\n" -"d = zerodict({1:1, 2:2})\n" -"print d[1], d[2] # Prints 1, 2\n" -"print d[3], d[4] # Prints 0, 0" -msgstr "" - -#: ../../whatsnew/2.5.rst:993 -msgid "" -"Both 8-bit and Unicode strings have new ``partition(sep)`` and " -"``rpartition(sep)`` methods that simplify a common use case." -msgstr "" - -#: ../../whatsnew/2.5.rst:996 -msgid "" -"The ``find(S)`` method is often used to get an index which is then used to " -"slice the string and obtain the pieces that are before and after the " -"separator. ``partition(sep)`` condenses this pattern into a single method " -"call that returns a 3-tuple containing the substring before the separator, " -"the separator itself, and the substring after the separator. If the " -"separator isn't found, the first element of the tuple is the entire string " -"and the other two elements are empty. ``rpartition(sep)`` also returns a " -"3-tuple but starts searching from the end of the string; the ``r`` stands " -"for 'reverse'." -msgstr "" - -#: ../../whatsnew/2.5.rst:1005 -msgid "Some examples::" -msgstr "Beberapa contoh::" - -#: ../../whatsnew/2.5.rst:1007 -msgid "" -">>> ('http://www.python.org').partition('://')\n" -"('http', '://', 'www.python.org')\n" -">>> ('file:/usr/share/doc/index.html').partition('://')\n" -"('file:/usr/share/doc/index.html', '', '')\n" -">>> (u'Subject: a quick question').partition(':')\n" -"(u'Subject', u':', u' a quick question')\n" -">>> 'www.python.org'.rpartition('.')\n" -"('www.python', '.', 'org')\n" -">>> 'www.python.org'.rpartition(':')\n" -"('', '', 'www.python.org')" -msgstr "" - -#: ../../whatsnew/2.5.rst:1018 -msgid "" -"(Implemented by Fredrik Lundh following a suggestion by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1020 -msgid "" -"The :meth:`startswith` and :meth:`endswith` methods of string types now " -"accept tuples of strings to check for. ::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1023 -msgid "" -"def is_image_file (filename):\n" -" return filename.endswith(('.gif', '.jpg', '.tiff'))" -msgstr "" - -#: ../../whatsnew/2.5.rst:1026 -msgid "(Implemented by Georg Brandl following a suggestion by Tom Lynn.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1030 -msgid "" -"The :func:`min` and :func:`max` built-in functions gained a ``key`` keyword " -"parameter analogous to the ``key`` argument for :meth:`sort`. This " -"parameter supplies a function that takes a single argument and is called for" -" every value in the list; :func:`min`/:func:`max` will return the element " -"with the smallest/largest return value from this function. For example, to " -"find the longest string in a list, you can do::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1037 -msgid "" -"L = ['medium', 'longest', 'short']\n" -"# Prints 'longest'\n" -"print max(L, key=len)\n" -"# Prints 'short', because lexicographically 'short' has the largest value\n" -"print max(L)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1043 -msgid "(Contributed by Steven Bethard and Raymond Hettinger.)" -msgstr "(Kontribusi dari Steven Bethard dan Raymond Hettinger.)" - -#: ../../whatsnew/2.5.rst:1045 -msgid "" -"Two new built-in functions, :func:`any` and :func:`all`, evaluate whether an" -" iterator contains any true or false values. :func:`any` returns " -":const:`True` if any value returned by the iterator is true; otherwise it " -"will return :const:`False`. :func:`all` returns :const:`True` only if all " -"of the values returned by the iterator evaluate as true. (Suggested by Guido" -" van Rossum, and implemented by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1052 -msgid "" -"The result of a class's :meth:`__hash__` method can now be either a long " -"integer or a regular integer. If a long integer is returned, the hash of " -"that value is taken. In earlier versions the hash value was required to be " -"a regular integer, but in 2.5 the :func:`id` built-in was changed to always " -"return non-negative numbers, and users often seem to use ``id(self)`` in " -":meth:`__hash__` methods (though this is discouraged)." -msgstr "" - -#: ../../whatsnew/2.5.rst:1061 -msgid "" -"ASCII is now the default encoding for modules. It's now a syntax error if " -"a module contains string literals with 8-bit characters but doesn't have an " -"encoding declaration. In Python 2.4 this triggered a warning, not a syntax " -"error. See :pep:`263` for how to declare a module's encoding; for example," -" you might add a line like this near the top of the source file::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1067 -msgid "# -*- coding: latin1 -*-" -msgstr "" - -#: ../../whatsnew/2.5.rst:1069 -msgid "" -"A new warning, :class:`UnicodeWarning`, is triggered when you attempt to " -"compare a Unicode string and an 8-bit string that can't be converted to " -"Unicode using the default ASCII encoding. The result of the comparison is " -"false::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1073 -msgid "" -">>> chr(128) == unichr(128) # Can't convert chr(128) to Unicode\n" -"__main__:1: UnicodeWarning: Unicode equal comparison failed\n" -" to convert both arguments to Unicode - interpreting them\n" -" as being unequal\n" -"False\n" -">>> chr(127) == unichr(127) # chr(127) can be converted\n" -"True" -msgstr "" - -#: ../../whatsnew/2.5.rst:1081 -msgid "" -"Previously this would raise a :class:`UnicodeDecodeError` exception, but in " -"2.5 this could result in puzzling problems when accessing a dictionary. If " -"you looked up ``unichr(128)`` and ``chr(128)`` was being used as a key, " -"you'd get a :class:`UnicodeDecodeError` exception. Other changes in 2.5 " -"resulted in this exception being raised instead of suppressed by the code in" -" :file:`dictobject.c` that implements dictionaries." -msgstr "" - -#: ../../whatsnew/2.5.rst:1088 -msgid "" -"Raising an exception for such a comparison is strictly correct, but the " -"change might have broken code, so instead :class:`UnicodeWarning` was " -"introduced." -msgstr "" - -#: ../../whatsnew/2.5.rst:1091 -msgid "(Implemented by Marc-André Lemburg.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1093 -msgid "" -"One error that Python programmers sometimes make is forgetting to include an" -" :file:`__init__.py` module in a package directory. Debugging this mistake " -"can be confusing, and usually requires running Python with the :option:`-v` " -"switch to log all the paths searched. In Python 2.5, a new " -":exc:`ImportWarning` warning is triggered when an import would have picked " -"up a directory as a package but no :file:`__init__.py` was found. This " -"warning is silently ignored by default; provide the :option:`-Wd <-W>` " -"option when running the Python executable to display the warning message. " -"(Implemented by Thomas Wouters.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1102 -msgid "" -"The list of base classes in a class definition can now be empty. As an " -"example, this is now legal::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1105 -msgid "" -"class C():\n" -" pass" -msgstr "" - -#: ../../whatsnew/2.5.rst:1108 -msgid "(Implemented by Brett Cannon.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1116 -msgid "Interactive Interpreter Changes" -msgstr "" - -#: ../../whatsnew/2.5.rst:1118 -msgid "" -"In the interactive interpreter, ``quit`` and ``exit`` have long been " -"strings so that new users get a somewhat helpful message when they try to " -"quit::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1121 -msgid "" -">>> quit\n" -"'Use Ctrl-D (i.e. EOF) to exit.'" -msgstr "" - -#: ../../whatsnew/2.5.rst:1124 -msgid "" -"In Python 2.5, ``quit`` and ``exit`` are now objects that still produce " -"string representations of themselves, but are also callable. Newbies who try" -" ``quit()`` or ``exit()`` will now exit the interpreter as they expect. " -"(Implemented by Georg Brandl.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1129 -msgid "" -"The Python executable now accepts the standard long options " -":option:`--help` and :option:`--version`; on Windows, it also accepts the " -":option:`/? <-?>` option for displaying a help message. (Implemented by " -"Georg Brandl.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1139 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/2.5.rst:1141 -msgid "" -"Several of the optimizations were developed at the NeedForSpeed sprint, an " -"event held in Reykjavik, Iceland, from May 21--28 2006. The sprint focused " -"on speed enhancements to the CPython implementation and was funded by EWT " -"LLC with local support from CCP Games. Those optimizations added at this " -"sprint are specially marked in the following list." -msgstr "" - -#: ../../whatsnew/2.5.rst:1147 -msgid "" -"When they were introduced in Python 2.4, the built-in :class:`set` and " -":class:`frozenset` types were built on top of Python's dictionary type. In" -" 2.5 the internal data structure has been customized for implementing sets, " -"and as a result sets will use a third less memory and are somewhat faster. " -"(Implemented by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1153 -msgid "" -"The speed of some Unicode operations, such as finding substrings, string " -"splitting, and character map encoding and decoding, has been improved. " -"(Substring search and splitting improvements were added by Fredrik Lundh and" -" Andrew Dalke at the NeedForSpeed sprint. Character maps were improved by " -"Walter Dörwald and Martin von Löwis.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1161 -msgid "" -"The ``long(str, base)`` function is now faster on long digit strings because" -" fewer intermediate results are calculated. The peak is for strings of " -"around 800--1000 digits where the function is 6 times faster. (Contributed " -"by Alan McIntyre and committed at the NeedForSpeed sprint.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1168 -msgid "" -"It's now illegal to mix iterating over a file with ``for line in file`` and" -" calling the file object's :meth:`read`/:meth:`readline`/:meth:`readlines` " -"methods. Iteration uses an internal buffer and the :meth:`!read\\*` " -"methods don't use that buffer. Instead they would return the data " -"following the buffer, causing the data to appear out of order. Mixing " -"iteration and these methods will now trigger a :exc:`ValueError` from the " -":meth:`!read\\*` method. (Implemented by Thomas Wouters.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1178 -msgid "" -"The :mod:`struct` module now compiles structure format strings into an " -"internal representation and caches this representation, yielding a 20% " -"speedup. (Contributed by Bob Ippolito at the NeedForSpeed sprint.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1182 -msgid "" -"The :mod:`re` module got a 1 or 2% speedup by switching to Python's " -"allocator functions instead of the system's :c:func:`malloc` and " -":c:func:`free`. (Contributed by Jack Diederich at the NeedForSpeed sprint.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1186 -msgid "" -"The code generator's peephole optimizer now performs simple constant folding" -" in expressions. If you write something like ``a = 2+3``, the code " -"generator will do the arithmetic and produce code corresponding to ``a = " -"5``. (Proposed and implemented by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1191 -msgid "" -"Function calls are now faster because code objects now keep the most " -"recently finished frame (a \"zombie frame\") in an internal field of the " -"code object, reusing it the next time the code object is invoked. (Original" -" patch by Michael Hudson, modified by Armin Rigo and Richard Jones; " -"committed at the NeedForSpeed sprint.) Frame objects are also slightly " -"smaller, which may improve cache locality and reduce memory usage a bit. " -"(Contributed by Neal Norwitz.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1201 -msgid "" -"Python's built-in exceptions are now new-style classes, a change that speeds" -" up instantiation considerably. Exception handling in Python 2.5 is " -"therefore about 30% faster than in 2.4. (Contributed by Richard Jones, Georg" -" Brandl and Sean Reifschneider at the NeedForSpeed sprint.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1206 -msgid "" -"Importing now caches the paths tried, recording whether they exist or not " -"so that the interpreter makes fewer :c:func:`open` and :c:func:`stat` calls" -" on startup. (Contributed by Martin von Löwis and Georg Brandl.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1218 -msgid "New, Improved, and Removed Modules" -msgstr "" - -#: ../../whatsnew/2.5.rst:1220 -msgid "" -"The standard library received many enhancements and bug fixes in Python 2.5." -" Here's a partial list of the most notable changes, sorted alphabetically by" -" module name. Consult the :file:`Misc/NEWS` file in the source tree for a " -"more complete list of changes, or look through the SVN logs for all the " -"details." -msgstr "" - -#: ../../whatsnew/2.5.rst:1225 -msgid "" -"The :mod:`!audioop` module now supports the a-LAW encoding, and the code for" -" u-LAW encoding has been improved. (Contributed by Lars Immisch.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1228 -msgid "" -"The :mod:`codecs` module gained support for incremental codecs. The " -":func:`codec.lookup` function now returns a :class:`CodecInfo` instance " -"instead of a tuple. :class:`CodecInfo` instances behave like a 4-tuple to " -"preserve backward compatibility but also have the attributes :attr:`encode`," -" :attr:`decode`, :attr:`incrementalencoder`, :attr:`incrementaldecoder`, " -":attr:`streamwriter`, and :attr:`streamreader`. Incremental codecs can " -"receive input and produce output in multiple chunks; the output is the same " -"as if the entire input was fed to the non-incremental codec. See the " -":mod:`codecs` module documentation for details. (Designed and implemented by" -" Walter Dörwald.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1240 -msgid "" -"The :mod:`collections` module gained a new type, :class:`defaultdict`, that " -"subclasses the standard :class:`dict` type. The new type mostly behaves " -"like a dictionary but constructs a default value when a key isn't present, " -"automatically adding it to the dictionary for the requested key value." -msgstr "" - -#: ../../whatsnew/2.5.rst:1245 -msgid "" -"The first argument to :class:`defaultdict`'s constructor is a factory " -"function that gets called whenever a key is requested but not found. This " -"factory function receives no arguments, so you can use built-in type " -"constructors such as :func:`list` or :func:`int`. For example, you can " -"make an index of words based on their initial letter like this::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1251 -msgid "" -"words = \"\"\"Nel mezzo del cammin di nostra vita\n" -"mi ritrovai per una selva oscura\n" -"che la diritta via era smarrita\"\"\".lower().split()\n" -"\n" -"index = defaultdict(list)\n" -"\n" -"for w in words:\n" -" init_letter = w[0]\n" -" index[init_letter].append(w)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1261 -msgid "Printing ``index`` results in the following output::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1263 -msgid "" -"defaultdict(, {'c': ['cammin', 'che'], 'e': ['era'],\n" -" 'd': ['del', 'di', 'diritta'], 'm': ['mezzo', 'mi'],\n" -" 'l': ['la'], 'o': ['oscura'], 'n': ['nel', 'nostra'],\n" -" 'p': ['per'], 's': ['selva', 'smarrita'],\n" -" 'r': ['ritrovai'], 'u': ['una'], 'v': ['vita', 'via']}" -msgstr "" - -#: ../../whatsnew/2.5.rst:1269 -msgid "(Contributed by Guido van Rossum.)" -msgstr "(Kontribusi dari Guido van Rossum.)" - -#: ../../whatsnew/2.5.rst:1271 -msgid "" -"The :class:`deque` double-ended queue type supplied by the " -":mod:`collections` module now has a ``remove(value)`` method that removes " -"the first occurrence of *value* in the queue, raising :exc:`ValueError` if " -"the value isn't found. (Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1276 -msgid "" -"New module: The :mod:`contextlib` module contains helper functions for use " -"with the new ':keyword:`with`' statement. See section :ref:`contextlibmod` " -"for more about this module." -msgstr "" - -#: ../../whatsnew/2.5.rst:1280 -msgid "" -"New module: The :mod:`cProfile` module is a C implementation of the " -"existing :mod:`profile` module that has much lower overhead. The module's " -"interface is the same as :mod:`profile`: you run ``cProfile.run('main()')`` " -"to profile a function, can save profile data to a file, etc. It's not yet " -"known if the Hotshot profiler, which is also written in C but doesn't match " -"the :mod:`profile` module's interface, will continue to be maintained in " -"future versions of Python. (Contributed by Armin Rigo.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1288 -msgid "" -"Also, the :mod:`pstats` module for analyzing the data measured by the " -"profiler now supports directing the output to any file object by supplying a" -" *stream* argument to the :class:`Stats` constructor. (Contributed by Skip " -"Montanaro.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1292 -msgid "" -"The :mod:`csv` module, which parses files in comma-separated value format, " -"received several enhancements and a number of bugfixes. You can now set the" -" maximum size in bytes of a field by calling the " -"``csv.field_size_limit(new_limit)`` function; omitting the *new_limit* " -"argument will return the currently set limit. The :class:`reader` class now" -" has a :attr:`line_num` attribute that counts the number of physical lines " -"read from the source; records can span multiple physical lines, so " -":attr:`line_num` is not the same as the number of records read." -msgstr "" - -#: ../../whatsnew/2.5.rst:1301 -msgid "" -"The CSV parser is now stricter about multi-line quoted fields. Previously, " -"if a line ended within a quoted field without a terminating newline " -"character, a newline would be inserted into the returned field. This " -"behavior caused problems when reading files that contained carriage return " -"characters within fields, so the code was changed to return the field " -"without inserting newlines. As a consequence, if newlines embedded within " -"fields are important, the input should be split into lines in a manner that " -"preserves the newline characters." -msgstr "" - -#: ../../whatsnew/2.5.rst:1309 -msgid "(Contributed by Skip Montanaro and Andrew McNamara.)" -msgstr "(Kontribusi dari Skip Montanaro dan Andrew McNamara.)" - -#: ../../whatsnew/2.5.rst:1311 -msgid "" -"The :class:`~datetime.datetime` class in the :mod:`datetime` module now has" -" a ``strptime(string, format)`` method for parsing date strings, " -"contributed by Josh Spoerri. It uses the same format characters as " -":func:`time.strptime` and :func:`time.strftime`::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1316 -msgid "" -"from datetime import datetime\n" -"\n" -"ts = datetime.strptime('10:13:15 2006-03-07',\n" -" '%H:%M:%S %Y-%m-%d')" -msgstr "" - -#: ../../whatsnew/2.5.rst:1321 -msgid "" -"The :meth:`SequenceMatcher.get_matching_blocks` method in the :mod:`difflib`" -" module now guarantees to return a minimal list of blocks describing " -"matching subsequences. Previously, the algorithm would occasionally break a" -" block of matching elements into two list entries. (Enhancement by Tim " -"Peters.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1326 -msgid "" -"The :mod:`doctest` module gained a ``SKIP`` option that keeps an example " -"from being executed at all. This is intended for code snippets that are " -"usage examples intended for the reader and aren't actually test cases." -msgstr "" - -#: ../../whatsnew/2.5.rst:1330 -msgid "" -"An *encoding* parameter was added to the :func:`testfile` function and the " -":class:`DocFileSuite` class to specify the file's encoding. This makes it " -"easier to use non-ASCII characters in tests contained within a docstring. " -"(Contributed by Bjorn Tillenius.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1337 -msgid "" -"The :mod:`email` package has been updated to version 4.0. (Contributed by " -"Barry Warsaw.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1345 -msgid "" -"The :mod:`fileinput` module was made more flexible. Unicode filenames are " -"now supported, and a *mode* parameter that defaults to ``\"r\"`` was added " -"to the :func:`input` function to allow opening files in binary or " -":term:`universal newlines` mode. Another new parameter, *openhook*, lets " -"you use a function other than :func:`open` to open the input files. Once " -"you're iterating over the set of files, the :class:`FileInput` object's new " -":meth:`~fileinput.fileno` returns the file descriptor for the currently " -"opened file. (Contributed by Georg Brandl.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1354 -msgid "" -"In the :mod:`gc` module, the new :func:`get_count` function returns a " -"3-tuple containing the current collection counts for the three GC " -"generations. This is accounting information for the garbage collector; when" -" these counts reach a specified threshold, a garbage collection sweep will " -"be made. The existing :func:`gc.collect` function now takes an optional " -"*generation* argument of 0, 1, or 2 to specify which generation to collect. " -"(Contributed by Barry Warsaw.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1361 -msgid "" -"The :func:`nsmallest` and :func:`nlargest` functions in the :mod:`heapq` " -"module now support a ``key`` keyword parameter similar to the one provided " -"by the :func:`min`/:func:`max` functions and the :meth:`sort` methods. For " -"example::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1366 -msgid "" -">>> import heapq\n" -">>> L = [\"short\", 'medium', 'longest', 'longer still']\n" -">>> heapq.nsmallest(2, L) # Return two lowest elements, lexicographically\n" -"['longer still', 'longest']\n" -">>> heapq.nsmallest(2, L, key=len) # Return two shortest elements\n" -"['short', 'medium']" -msgstr "" - -#: ../../whatsnew/2.5.rst:1373 ../../whatsnew/2.5.rst:1382 -msgid "(Contributed by Raymond Hettinger.)" -msgstr "(Kontribusi dari Raymond Hettinger.)" - -#: ../../whatsnew/2.5.rst:1375 -msgid "" -"The :func:`itertools.islice` function now accepts ``None`` for the start and" -" step arguments. This makes it more compatible with the attributes of slice" -" objects, so that you can now write the following::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1379 -msgid "" -"s = slice(5) # Create slice object\n" -"itertools.islice(iterable, s.start, s.stop, s.step)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1384 -msgid "" -"The :func:`format` function in the :mod:`locale` module has been modified " -"and two new functions were added, :func:`format_string` and " -":func:`currency`." -msgstr "" - -#: ../../whatsnew/2.5.rst:1387 -msgid "" -"The :func:`format` function's *val* parameter could previously be a string " -"as long as no more than one %char specifier appeared; now the parameter must" -" be exactly one %char specifier with no surrounding text. An optional " -"*monetary* parameter was also added which, if ``True``, will use the " -"locale's rules for formatting currency in placing a separator between groups" -" of three digits." -msgstr "" - -#: ../../whatsnew/2.5.rst:1393 -msgid "" -"To format strings with multiple %char specifiers, use the new " -":func:`format_string` function that works like :func:`format` but also " -"supports mixing %char specifiers with arbitrary text." -msgstr "" - -#: ../../whatsnew/2.5.rst:1397 -msgid "" -"A new :func:`currency` function was also added that formats a number " -"according to the current locale's settings." -msgstr "" - -#: ../../whatsnew/2.5.rst:1400 -msgid "(Contributed by Georg Brandl.)" -msgstr "(Kontribusi dari Georg Brandl.)" - -#: ../../whatsnew/2.5.rst:1404 -msgid "" -"The :mod:`mailbox` module underwent a massive rewrite to add the capability " -"to modify mailboxes in addition to reading them. A new set of classes that " -"include :class:`mbox`, :class:`MH`, and :class:`Maildir` are used to read " -"mailboxes, and have an ``add(message)`` method to add messages, " -"``remove(key)`` to remove messages, and :meth:`lock`/:meth:`unlock` to " -"lock/unlock the mailbox. The following example converts a maildir-format " -"mailbox into an mbox-format one::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1412 -msgid "" -"import mailbox\n" -"\n" -"# 'factory=None' uses email.Message.Message as the class representing\n" -"# individual messages.\n" -"src = mailbox.Maildir('maildir', factory=None)\n" -"dest = mailbox.mbox('/tmp/mbox')\n" -"\n" -"for msg in src:\n" -" dest.add(msg)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1422 -msgid "" -"(Contributed by Gregory K. Johnson. Funding was provided by Google's 2005 " -"Summer of Code.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1425 -msgid "" -"New module: the :mod:`!msilib` module allows creating Microsoft Installer " -":file:`.msi` files and CAB files. Some support for reading the :file:`.msi`" -" database is also included. (Contributed by Martin von Löwis.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1429 -msgid "" -"The :mod:`!nis` module now supports accessing domains other than the system " -"default domain by supplying a *domain* argument to the :func:`!nis.match` " -"and :func:`!nis.maps` functions. (Contributed by Ben Bell.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1433 -msgid "" -"The :mod:`operator` module's :func:`itemgetter` and :func:`attrgetter` " -"functions now support multiple fields. A call such as " -"``operator.attrgetter('a', 'b')`` will return a function that retrieves the" -" :attr:`a` and :attr:`b` attributes. Combining this new feature with the " -":meth:`sort` method's ``key`` parameter lets you easily sort lists using " -"multiple fields. (Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1440 -msgid "" -"The :mod:`optparse` module was updated to version 1.5.1 of the Optik " -"library. The :class:`OptionParser` class gained an :attr:`epilog` attribute," -" a string that will be printed after the help message, and a :meth:`destroy`" -" method to break reference cycles created by the object. (Contributed by " -"Greg Ward.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1445 -msgid "" -"The :mod:`os` module underwent several changes. The " -":attr:`stat_float_times` variable now defaults to true, meaning that " -":func:`os.stat` will now return time values as floats. (This doesn't " -"necessarily mean that :func:`os.stat` will return times that are precise to " -"fractions of a second; not all systems support such precision.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1451 -msgid "" -"Constants named :const:`os.SEEK_SET`, :const:`os.SEEK_CUR`, and " -":const:`os.SEEK_END` have been added; these are the parameters to the " -":func:`os.lseek` function. Two new constants for locking are " -":const:`os.O_SHLOCK` and :const:`os.O_EXLOCK`." -msgstr "" - -#: ../../whatsnew/2.5.rst:1456 -msgid "" -"Two new functions, :func:`wait3` and :func:`wait4`, were added. They're " -"similar the :func:`waitpid` function which waits for a child process to exit" -" and returns a tuple of the process ID and its exit status, but " -":func:`wait3` and :func:`wait4` return additional information. " -":func:`wait3` doesn't take a process ID as input, so it waits for any child " -"process to exit and returns a 3-tuple of *process-id*, *exit-status*, " -"*resource-usage* as returned from the :func:`resource.getrusage` function. " -"``wait4(pid)`` does take a process ID. (Contributed by Chad J. Schroeder.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1465 -msgid "" -"On FreeBSD, the :func:`os.stat` function now returns times with nanosecond " -"resolution, and the returned object now has :attr:`st_gen` and " -":attr:`st_birthtime`. The :attr:`st_flags` attribute is also available, if " -"the platform supports it. (Contributed by Antti Louko and Diego Pettenò.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1472 -msgid "" -"The Python debugger provided by the :mod:`pdb` module can now store lists of" -" commands to execute when a breakpoint is reached and execution stops. Once" -" breakpoint #1 has been created, enter ``commands 1`` and enter a series of " -"commands to be executed, finishing the list with ``end``. The command list " -"can include commands that resume execution, such as ``continue`` or " -"``next``. (Contributed by Grégoire Dooms.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1481 -msgid "" -"The :mod:`pickle` and :mod:`!cPickle` modules no longer accept a return " -"value of ``None`` from the :meth:`~object.__reduce__` method; the method " -"must return a tuple of arguments instead. The ability to return ``None`` " -"was deprecated in Python 2.4, so this completes the removal of the feature." -msgstr "" - -#: ../../whatsnew/2.5.rst:1486 -msgid "" -"The :mod:`pkgutil` module, containing various utility functions for finding " -"packages, was enhanced to support :pep:`302`'s import hooks and now also " -"works for packages stored in ZIP-format archives. (Contributed by Phillip J." -" Eby.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1490 -msgid "" -"The pybench benchmark suite by Marc-André Lemburg is now included in the " -":file:`Tools/pybench` directory. The pybench suite is an improvement on the" -" commonly used :file:`pystone.py` program because pybench provides a more " -"detailed measurement of the interpreter's speed. It times particular " -"operations such as function calls, tuple slicing, method lookups, and " -"numeric operations, instead of performing many different operations and " -"reducing the result to a single number as :file:`pystone.py` does." -msgstr "" - -#: ../../whatsnew/2.5.rst:1498 -msgid "" -"The :mod:`pyexpat` module now uses version 2.0 of the Expat parser. " -"(Contributed by Trent Mick.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1501 -msgid "" -"The :class:`~queue.Queue` class provided by the :mod:`Queue` module gained " -"two new methods. :meth:`join` blocks until all items in the queue have been" -" retrieved and all processing work on the items have been completed. " -"Worker threads call the other new method, :meth:`task_done`, to signal that" -" processing for an item has been completed. (Contributed by Raymond " -"Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1507 -msgid "" -"The old :mod:`regex` and :mod:`regsub` modules, which have been deprecated " -"ever since Python 2.0, have finally been deleted. Other deleted modules: " -":mod:`statcache`, :mod:`tzparse`, :mod:`whrandom`." -msgstr "" - -#: ../../whatsnew/2.5.rst:1511 -msgid "" -"Also deleted: the :file:`lib-old` directory, which includes ancient modules " -"such as :mod:`dircmp` and :mod:`ni`, was removed. :file:`lib-old` wasn't on" -" the default ``sys.path``, so unless your programs explicitly added the " -"directory to ``sys.path``, this removal shouldn't affect your code." -msgstr "" - -#: ../../whatsnew/2.5.rst:1516 -msgid "" -"The :mod:`rlcompleter` module is no longer dependent on importing the " -":mod:`readline` module and therefore now works on non-Unix platforms. (Patch" -" from Robert Kiendl.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1522 -msgid "" -"The :mod:`SimpleXMLRPCServer ` and :mod:`DocXMLRPCServer " -"` classes now have a :attr:`rpc_paths` attribute that " -"constrains XML-RPC operations to a limited set of URL paths; the default is " -"to allow only ``'/'`` and ``'/RPC2'``. Setting :attr:`rpc_paths` to " -"``None`` or an empty tuple disables this path checking." -msgstr "" - -#: ../../whatsnew/2.5.rst:1529 -msgid "" -"The :mod:`socket` module now supports :const:`AF_NETLINK` sockets on Linux, " -"thanks to a patch from Philippe Biondi. Netlink sockets are a Linux-" -"specific mechanism for communications between a user-space process and " -"kernel code; an introductory article about them is at " -"https://www.linuxjournal.com/article/7356. In Python code, netlink addresses" -" are represented as a tuple of 2 integers, ``(pid, group_mask)``." -msgstr "" - -#: ../../whatsnew/2.5.rst:1536 -msgid "" -"Two new methods on socket objects, ``recv_into(buffer)`` and " -"``recvfrom_into(buffer)``, store the received data in an object that " -"supports the buffer protocol instead of returning the data as a string. " -"This means you can put the data directly into an array or a memory-mapped " -"file." -msgstr "" - -#: ../../whatsnew/2.5.rst:1541 -msgid "" -"Socket objects also gained :meth:`getfamily`, :meth:`gettype`, and " -":meth:`getproto` accessor methods to retrieve the family, type, and protocol" -" values for the socket." -msgstr "" - -#: ../../whatsnew/2.5.rst:1545 -msgid "" -"New module: the :mod:`!spwd` module provides functions for accessing the " -"shadow password database on systems that support shadow passwords." -msgstr "" - -#: ../../whatsnew/2.5.rst:1548 -msgid "" -"The :mod:`struct` is now faster because it compiles format strings into " -":class:`Struct` objects with :meth:`pack` and :meth:`unpack` methods. This " -"is similar to how the :mod:`re` module lets you create compiled regular " -"expression objects. You can still use the module-level :func:`pack` and " -":func:`unpack` functions; they'll create :class:`Struct` objects and cache " -"them. Or you can use :class:`Struct` instances directly::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1555 -msgid "" -"s = struct.Struct('ih3s')\n" -"\n" -"data = s.pack(1972, 187, 'abc')\n" -"year, number, name = s.unpack(data)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1560 -msgid "" -"You can also pack and unpack data to and from buffer objects directly using " -"the ``pack_into(buffer, offset, v1, v2, ...)`` and ``unpack_from(buffer, " -"offset)`` methods. This lets you store data directly into an array or a " -"memory-mapped file." -msgstr "" - -#: ../../whatsnew/2.5.rst:1565 -msgid "" -"(:class:`Struct` objects were implemented by Bob Ippolito at the " -"NeedForSpeed sprint. Support for buffer objects was added by Martin Blais, " -"also at the NeedForSpeed sprint.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1569 -msgid "" -"The Python developers switched from CVS to Subversion during the 2.5 " -"development process. Information about the exact build version is available" -" as the ``sys.subversion`` variable, a 3-tuple of ``(interpreter-name, " -"branch-name, revision-range)``. For example, at the time of writing my copy" -" of 2.5 was reporting ``('CPython', 'trunk', '45313:45315')``." -msgstr "" - -#: ../../whatsnew/2.5.rst:1575 -msgid "" -"This information is also available to C extensions via the " -":c:func:`Py_GetBuildInfo` function that returns a string of build " -"information like this: ``\"trunk:45355:45356M, Apr 13 2006, 07:42:19\"``. " -"(Contributed by Barry Warsaw.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1580 -msgid "" -"Another new function, :func:`sys._current_frames`, returns the current stack" -" frames for all running threads as a dictionary mapping thread identifiers " -"to the topmost stack frame currently active in that thread at the time the " -"function is called. (Contributed by Tim Peters.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1585 -msgid "" -"The :class:`TarFile` class in the :mod:`tarfile` module now has an " -":meth:`extractall` method that extracts all members from the archive into " -"the current working directory. It's also possible to set a different " -"directory as the extraction target, and to unpack only a subset of the " -"archive's members." -msgstr "" - -#: ../../whatsnew/2.5.rst:1590 -msgid "" -"The compression used for a tarfile opened in stream mode can now be " -"autodetected using the mode ``'r|*'``. (Contributed by Lars Gustäbel.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1595 -msgid "" -"The :mod:`threading` module now lets you set the stack size used when new " -"threads are created. The ``stack_size([*size*])`` function returns the " -"currently configured stack size, and supplying the optional *size* parameter" -" sets a new value. Not all platforms support changing the stack size, but " -"Windows, POSIX threading, and OS/2 all do. (Contributed by Andrew " -"MacIntyre.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1603 -msgid "" -"The :mod:`unicodedata` module has been updated to use version 4.1.0 of the " -"Unicode character database. Version 3.2.0 is required by some " -"specifications, so it's still available as :data:`unicodedata.ucd_3_2_0`." -msgstr "" - -#: ../../whatsnew/2.5.rst:1607 -msgid "" -"New module: the :mod:`uuid` module generates universally unique " -"identifiers (UUIDs) according to :rfc:`4122`. The RFC defines several " -"different UUID versions that are generated from a starting string, from " -"system properties, or purely randomly. This module contains a :class:`UUID`" -" class and functions named :func:`uuid1`, :func:`uuid3`, :func:`uuid4`, " -"and :func:`uuid5` to generate different versions of UUID. (Version 2 UUIDs" -" are not specified in :rfc:`4122` and are not supported by this module.) ::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1615 -msgid "" -">>> import uuid\n" -">>> # make a UUID based on the host ID and current time\n" -">>> uuid.uuid1()\n" -"UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')\n" -"\n" -">>> # make a UUID using an MD5 hash of a namespace UUID and a name\n" -">>> uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org')\n" -"UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')\n" -"\n" -">>> # make a random UUID\n" -">>> uuid.uuid4()\n" -"UUID('16fd2706-8baf-433b-82eb-8c7fada847da')\n" -"\n" -">>> # make a UUID using a SHA-1 hash of a namespace UUID and a name\n" -">>> uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org')\n" -"UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d')" -msgstr "" - -#: ../../whatsnew/2.5.rst:1632 -msgid "(Contributed by Ka-Ping Yee.)" -msgstr "(Kontribusi dari Ka-Ping Yee.)" - -#: ../../whatsnew/2.5.rst:1634 -msgid "" -"The :mod:`weakref` module's :class:`WeakKeyDictionary` and " -":class:`WeakValueDictionary` types gained new methods for iterating over the" -" weak references contained in the dictionary. :meth:`iterkeyrefs` and " -":meth:`keyrefs` methods were added to :class:`WeakKeyDictionary`, and " -":meth:`itervaluerefs` and :meth:`valuerefs` were added to " -":class:`WeakValueDictionary`. (Contributed by Fred L. Drake, Jr.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1641 -msgid "" -"The :mod:`webbrowser` module received a number of enhancements. It's now " -"usable as a script with ``python -m webbrowser``, taking a URL as the " -"argument; there are a number of switches to control the behaviour " -"(:option:`!-n` for a new browser window, :option:`!-t` for a new tab). New" -" module-level functions, :func:`open_new` and :func:`open_new_tab`, were " -"added to support this. The module's :func:`open` function supports an " -"additional feature, an *autoraise* parameter that signals whether to raise " -"the open window when possible. A number of additional browsers were added to" -" the supported list such as Firefox, Opera, Konqueror, and elinks. " -"(Contributed by Oleg Broytmann and Georg Brandl.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1653 -msgid "" -"The :mod:`xmlrpclib ` module now supports returning " -":class:`~datetime.datetime` objects for the XML-RPC date type. Supply " -"``use_datetime=True`` to the :func:`~xmlrpc.client.loads` function or the " -":class:`!Unmarshaller` class to enable this feature. (Contributed by Skip " -"Montanaro.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1660 -msgid "" -"The :mod:`zipfile` module now supports the ZIP64 version of the format, " -"meaning that a .zip archive can now be larger than 4 GiB and can contain " -"individual files larger than 4 GiB. (Contributed by Ronald Oussoren.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1666 -msgid "" -"The :mod:`zlib` module's :class:`Compress` and :class:`Decompress` objects " -"now support a :meth:`copy` method that makes a copy of the object's " -"internal state and returns a new :class:`Compress` or :class:`Decompress` " -"object. (Contributed by Chris AtLee.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1679 -msgid "The ctypes package" -msgstr "" - -#: ../../whatsnew/2.5.rst:1681 -msgid "" -"The :mod:`ctypes` package, written by Thomas Heller, has been added to the " -"standard library. :mod:`ctypes` lets you call arbitrary functions in " -"shared libraries or DLLs. Long-time users may remember the :mod:`!dl` " -"module, which provides functions for loading shared libraries and calling " -"functions in them. The :mod:`ctypes` package is much fancier." -msgstr "" - -#: ../../whatsnew/2.5.rst:1687 -msgid "" -"To load a shared library or DLL, you must create an instance of the " -":class:`CDLL` class and provide the name or path of the shared library or " -"DLL. Once that's done, you can call arbitrary functions by accessing them as" -" attributes of the :class:`CDLL` object. ::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1692 -msgid "" -"import ctypes\n" -"\n" -"libc = ctypes.CDLL('libc.so.6')\n" -"result = libc.printf(\"Line of output\\n\")" -msgstr "" - -#: ../../whatsnew/2.5.rst:1697 -msgid "" -"Type constructors for the various C types are provided: :func:`c_int`, " -":func:`c_float`, :func:`c_double`, :func:`c_char_p` (equivalent to " -":c:expr:`char \\*`), and so forth. Unlike Python's types, the C versions " -"are all mutable; you can assign to their :attr:`value` attribute to change " -"the wrapped value. Python integers and strings will be automatically " -"converted to the corresponding C types, but for other types you must call " -"the correct type constructor. (And I mean *must*; getting it wrong will " -"often result in the interpreter crashing with a segmentation fault.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1706 -msgid "" -"You shouldn't use :func:`c_char_p` with a Python string when the C function " -"will be modifying the memory area, because Python strings are supposed to " -"be immutable; breaking this rule will cause puzzling bugs. When you need a " -"modifiable memory area, use :func:`create_string_buffer`::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1711 -msgid "" -"s = \"this is a string\"\n" -"buf = ctypes.create_string_buffer(s)\n" -"libc.strfry(buf)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1715 -msgid "" -"C functions are assumed to return integers, but you can set the " -":attr:`restype` attribute of the function object to change this::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1718 -msgid "" -">>> libc.atof('2.71828')\n" -"-1783957616\n" -">>> libc.atof.restype = ctypes.c_double\n" -">>> libc.atof('2.71828')\n" -"2.71828" -msgstr "" - -#: ../../whatsnew/2.5.rst:1724 -msgid "" -":mod:`ctypes` also provides a wrapper for Python's C API as the " -"``ctypes.pythonapi`` object. This object does *not* release the global " -"interpreter lock before calling a function, because the lock must be held " -"when calling into the interpreter's code. There's a " -":class:`~ctypes.py_object` type constructor that will create a " -":c:expr:`PyObject *` pointer. A simple usage::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1730 -msgid "" -"import ctypes\n" -"\n" -"d = {}\n" -"ctypes.pythonapi.PyObject_SetItem(ctypes.py_object(d),\n" -" ctypes.py_object(\"abc\"), ctypes.py_object(1))\n" -"# d is now {'abc', 1}." -msgstr "" - -#: ../../whatsnew/2.5.rst:1737 -msgid "" -"Don't forget to use :func:`~ctypes.py_object`; if it's omitted you end up " -"with a segmentation fault." -msgstr "" - -#: ../../whatsnew/2.5.rst:1740 -msgid "" -":mod:`ctypes` has been around for a while, but people still write and " -"distribution hand-coded extension modules because you can't rely on " -":mod:`ctypes` being present. Perhaps developers will begin to write Python " -"wrappers atop a library accessed through :mod:`ctypes` instead of extension " -"modules, now that :mod:`ctypes` is included with core Python." -msgstr "" - -#: ../../whatsnew/2.5.rst:1749 -msgid "" -"https://web.archive.org/web/20180410025338/http://starship.python.net/crew/theller/ctypes/" -msgstr "" - -#: ../../whatsnew/2.5.rst:1750 -msgid "The pre-stdlib ctypes web page, with a tutorial, reference, and FAQ." -msgstr "" - -#: ../../whatsnew/2.5.rst:1752 -msgid "The documentation for the :mod:`ctypes` module." -msgstr "" - -#: ../../whatsnew/2.5.rst:1760 -msgid "The ElementTree package" -msgstr "" - -#: ../../whatsnew/2.5.rst:1762 -msgid "" -"A subset of Fredrik Lundh's ElementTree library for processing XML has been " -"added to the standard library as :mod:`xml.etree`. The available modules " -"are :mod:`ElementTree`, :mod:`ElementPath`, and :mod:`ElementInclude` from " -"ElementTree 1.2.6. The :mod:`cElementTree` accelerator module is also " -"included." -msgstr "" - -#: ../../whatsnew/2.5.rst:1768 -msgid "" -"The rest of this section will provide a brief overview of using ElementTree." -" Full documentation for ElementTree is available at " -"https://web.archive.org/web/20201124024954/http://effbot.org/zone/element-" -"index.htm." -msgstr "" - -#: ../../whatsnew/2.5.rst:1772 -msgid "" -"ElementTree represents an XML document as a tree of element nodes. The text " -"content of the document is stored as the :attr:`text` and :attr:`tail` " -"attributes of (This is one of the major differences between ElementTree and" -" the Document Object Model; in the DOM there are many different types of " -"node, including :class:`TextNode`.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1778 -msgid "" -"The most commonly used parsing function is :func:`parse`, that takes either " -"a string (assumed to contain a filename) or a file-like object and returns " -"an :class:`ElementTree` instance::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1782 -msgid "" -"from xml.etree import ElementTree as ET\n" -"\n" -"tree = ET.parse('ex-1.xml')\n" -"\n" -"feed = urllib.urlopen(\n" -" 'http://planet.python.org/rss10.xml')\n" -"tree = ET.parse(feed)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1790 -msgid "" -"Once you have an :class:`ElementTree` instance, you can call its " -":meth:`getroot` method to get the root :class:`Element` node." -msgstr "" - -#: ../../whatsnew/2.5.rst:1793 -msgid "" -"There's also an :func:`XML` function that takes a string literal and returns" -" an :class:`Element` node (not an :class:`ElementTree`). This function " -"provides a tidy way to incorporate XML fragments, approaching the " -"convenience of an XML literal::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1798 -msgid "" -"svg = ET.XML(\"\"\"\n" -" \"\"\")\n" -"svg.set('height', '320px')\n" -"svg.append(elem1)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1803 -msgid "" -"Each XML element supports some dictionary-like and some list-like access " -"methods. Dictionary-like operations are used to access attribute values, " -"and list-like operations are used to access child nodes." -msgstr "" - -#: ../../whatsnew/2.5.rst:1808 -msgid "Operation" -msgstr "Operasi" - -#: ../../whatsnew/2.5.rst:1808 -msgid "Result" -msgstr "Hasil" - -#: ../../whatsnew/2.5.rst:1810 -msgid "``elem[n]``" -msgstr "" - -#: ../../whatsnew/2.5.rst:1810 -msgid "Returns n'th child element." -msgstr "" - -#: ../../whatsnew/2.5.rst:1812 -msgid "``elem[m:n]``" -msgstr "" - -#: ../../whatsnew/2.5.rst:1812 -msgid "Returns list of m'th through n'th child elements." -msgstr "" - -#: ../../whatsnew/2.5.rst:1815 -msgid "``len(elem)``" -msgstr "" - -#: ../../whatsnew/2.5.rst:1815 -msgid "Returns number of child elements." -msgstr "" - -#: ../../whatsnew/2.5.rst:1817 -msgid "``list(elem)``" -msgstr "" - -#: ../../whatsnew/2.5.rst:1817 -msgid "Returns list of child elements." -msgstr "" - -#: ../../whatsnew/2.5.rst:1819 -msgid "``elem.append(elem2)``" -msgstr "" - -#: ../../whatsnew/2.5.rst:1819 -msgid "Adds *elem2* as a child." -msgstr "" - -#: ../../whatsnew/2.5.rst:1821 -msgid "``elem.insert(index, elem2)``" -msgstr "" - -#: ../../whatsnew/2.5.rst:1821 -msgid "Inserts *elem2* at the specified location." -msgstr "" - -#: ../../whatsnew/2.5.rst:1823 -msgid "``del elem[n]``" -msgstr "" - -#: ../../whatsnew/2.5.rst:1823 -msgid "Deletes n'th child element." -msgstr "" - -#: ../../whatsnew/2.5.rst:1825 -msgid "``elem.keys()``" -msgstr "" - -#: ../../whatsnew/2.5.rst:1825 -msgid "Returns list of attribute names." -msgstr "" - -#: ../../whatsnew/2.5.rst:1827 -msgid "``elem.get(name)``" -msgstr "" - -#: ../../whatsnew/2.5.rst:1827 -msgid "Returns value of attribute *name*." -msgstr "" - -#: ../../whatsnew/2.5.rst:1829 -msgid "``elem.set(name, value)``" -msgstr "" - -#: ../../whatsnew/2.5.rst:1829 -msgid "Sets new value for attribute *name*." -msgstr "" - -#: ../../whatsnew/2.5.rst:1831 -msgid "``elem.attrib``" -msgstr "" - -#: ../../whatsnew/2.5.rst:1831 -msgid "Retrieves the dictionary containing attributes." -msgstr "" - -#: ../../whatsnew/2.5.rst:1834 -msgid "``del elem.attrib[name]``" -msgstr "" - -#: ../../whatsnew/2.5.rst:1834 -msgid "Deletes attribute *name*." -msgstr "" - -#: ../../whatsnew/2.5.rst:1837 -msgid "" -"Comments and processing instructions are also represented as " -":class:`Element` nodes. To check if a node is a comment or processing " -"instructions::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1840 -msgid "" -"if elem.tag is ET.Comment:\n" -" ...\n" -"elif elem.tag is ET.ProcessingInstruction:\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.5.rst:1845 -msgid "" -"To generate XML output, you should call the :meth:`ElementTree.write` " -"method. Like :func:`parse`, it can take either a string or a file-like " -"object::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1848 -msgid "" -"# Encoding is US-ASCII\n" -"tree.write('output.xml')\n" -"\n" -"# Encoding is UTF-8\n" -"f = open('output.xml', 'w')\n" -"tree.write(f, encoding='utf-8')" -msgstr "" - -#: ../../whatsnew/2.5.rst:1855 -msgid "" -"(Caution: the default encoding used for output is ASCII. For general XML " -"work, where an element's name may contain arbitrary Unicode characters, " -"ASCII isn't a very useful encoding because it will raise an exception if an " -"element's name contains any characters with values greater than 127. " -"Therefore, it's best to specify a different encoding such as UTF-8 that can " -"handle any Unicode character.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1862 -msgid "" -"This section is only a partial description of the ElementTree interfaces. " -"Please read the package's official documentation for more details." -msgstr "" - -#: ../../whatsnew/2.5.rst:1868 -msgid "" -"https://web.archive.org/web/20201124024954/http://effbot.org/zone/element-" -"index.htm" -msgstr "" - -#: ../../whatsnew/2.5.rst:1869 -msgid "Official documentation for ElementTree." -msgstr "" - -#: ../../whatsnew/2.5.rst:1877 -msgid "The hashlib package" -msgstr "" - -#: ../../whatsnew/2.5.rst:1879 -msgid "" -"A new :mod:`hashlib` module, written by Gregory P. Smith, has been added to" -" replace the :mod:`!md5` and :mod:`!sha` modules. :mod:`hashlib` adds " -"support for additional secure hashes (SHA-224, SHA-256, SHA-384, and " -"SHA-512). When available, the module uses OpenSSL for fast platform " -"optimized implementations of algorithms." -msgstr "" - -#: ../../whatsnew/2.5.rst:1885 -msgid "" -"The old :mod:`!md5` and :mod:`!sha` modules still exist as wrappers around " -"hashlib to preserve backwards compatibility. The new module's interface is " -"very close to that of the old modules, but not identical. The most " -"significant difference is that the constructor functions for creating new " -"hashing objects are named differently. ::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1891 -msgid "" -"# Old versions\n" -"h = md5.md5()\n" -"h = md5.new()\n" -"\n" -"# New version\n" -"h = hashlib.md5()\n" -"\n" -"# Old versions\n" -"h = sha.sha()\n" -"h = sha.new()\n" -"\n" -"# New version\n" -"h = hashlib.sha1()\n" -"\n" -"# Hash that weren't previously available\n" -"h = hashlib.sha224()\n" -"h = hashlib.sha256()\n" -"h = hashlib.sha384()\n" -"h = hashlib.sha512()\n" -"\n" -"# Alternative form\n" -"h = hashlib.new('md5') # Provide algorithm as a string" -msgstr "" - -#: ../../whatsnew/2.5.rst:1914 -msgid "" -"Once a hash object has been created, its methods are the same as before: " -"``update(string)`` hashes the specified string into the current digest " -"state, :meth:`digest` and :meth:`hexdigest` return the digest value as a " -"binary string or a string of hex digits, and :meth:`copy` returns a new " -"hashing object with the same digest state." -msgstr "" - -#: ../../whatsnew/2.5.rst:1923 -msgid "The documentation for the :mod:`hashlib` module." -msgstr "" - -#: ../../whatsnew/2.5.rst:1931 -msgid "The sqlite3 package" -msgstr "" - -#: ../../whatsnew/2.5.rst:1933 -msgid "" -"The pysqlite module (https://www.pysqlite.org), a wrapper for the SQLite " -"embedded database, has been added to the standard library under the package " -"name :mod:`sqlite3`." -msgstr "" - -#: ../../whatsnew/2.5.rst:1937 -msgid "" -"SQLite is a C library that provides a lightweight disk-based database that " -"doesn't require a separate server process and allows accessing the database " -"using a nonstandard variant of the SQL query language. Some applications can" -" use SQLite for internal data storage. It's also possible to prototype an " -"application using SQLite and then port the code to a larger database such as" -" PostgreSQL or Oracle." -msgstr "" - -#: ../../whatsnew/2.5.rst:1944 -msgid "" -"pysqlite was written by Gerhard Häring and provides a SQL interface " -"compliant with the DB-API 2.0 specification described by :pep:`249`." -msgstr "" - -#: ../../whatsnew/2.5.rst:1947 -msgid "" -"If you're compiling the Python source yourself, note that the source tree " -"doesn't include the SQLite code, only the wrapper module. You'll need to " -"have the SQLite libraries and headers installed before compiling Python, and" -" the build process will compile the module when the necessary headers are " -"available." -msgstr "" - -#: ../../whatsnew/2.5.rst:1952 -msgid "" -"To use the module, you must first create a :class:`Connection` object that " -"represents the database. Here the data will be stored in the " -":file:`/tmp/example` file::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1956 -msgid "conn = sqlite3.connect('/tmp/example')" -msgstr "" - -#: ../../whatsnew/2.5.rst:1958 -msgid "" -"You can also supply the special name ``:memory:`` to create a database in " -"RAM." -msgstr "" - -#: ../../whatsnew/2.5.rst:1960 -msgid "" -"Once you have a :class:`Connection`, you can create a :class:`Cursor` " -"object and call its :meth:`execute` method to perform SQL commands::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1963 -msgid "" -"c = conn.cursor()\n" -"\n" -"# Create table\n" -"c.execute('''create table stocks\n" -"(date text, trans text, symbol text,\n" -" qty real, price real)''')\n" -"\n" -"# Insert a row of data\n" -"c.execute(\"\"\"insert into stocks\n" -" values ('2006-01-05','BUY','RHAT',100,35.14)\"\"\")" -msgstr "" - -#: ../../whatsnew/2.5.rst:1974 -msgid "" -"Usually your SQL operations will need to use values from Python variables. " -"You shouldn't assemble your query using Python's string operations because " -"doing so is insecure; it makes your program vulnerable to an SQL injection " -"attack." -msgstr "" - -#: ../../whatsnew/2.5.rst:1978 -msgid "" -"Instead, use the DB-API's parameter substitution. Put ``?`` as a " -"placeholder wherever you want to use a value, and then provide a tuple of " -"values as the second argument to the cursor's :meth:`execute` method. " -"(Other database modules may use a different placeholder, such as ``%s`` or " -"``:1``.) For example::" -msgstr "" - -#: ../../whatsnew/2.5.rst:1983 -msgid "" -"# Never do this -- insecure!\n" -"symbol = 'IBM'\n" -"c.execute(\"... where symbol = '%s'\" % symbol)\n" -"\n" -"# Do this instead\n" -"t = (symbol,)\n" -"c.execute('select * from stocks where symbol=?', t)\n" -"\n" -"# Larger example\n" -"for t in (('2006-03-28', 'BUY', 'IBM', 1000, 45.00),\n" -" ('2006-04-05', 'BUY', 'MSOFT', 1000, 72.00),\n" -" ('2006-04-06', 'SELL', 'IBM', 500, 53.00),\n" -" ):\n" -" c.execute('insert into stocks values (?,?,?,?,?)', t)" -msgstr "" - -#: ../../whatsnew/2.5.rst:1998 -msgid "" -"To retrieve data after executing a SELECT statement, you can either treat " -"the cursor as an iterator, call the cursor's :meth:`fetchone` method to " -"retrieve a single matching row, or call :meth:`fetchall` to get a list of " -"the matching rows." -msgstr "" - -#: ../../whatsnew/2.5.rst:2003 -msgid "This example uses the iterator form::" -msgstr "Contoh ini menggunakan bentuk iterator::" - -#: ../../whatsnew/2.5.rst:2005 -msgid "" -">>> c = conn.cursor()\n" -">>> c.execute('select * from stocks order by price')\n" -">>> for row in c:\n" -"... print row\n" -"...\n" -"(u'2006-01-05', u'BUY', u'RHAT', 100, 35.140000000000001)\n" -"(u'2006-03-28', u'BUY', u'IBM', 1000, 45.0)\n" -"(u'2006-04-06', u'SELL', u'IBM', 500, 53.0)\n" -"(u'2006-04-05', u'BUY', u'MSOFT', 1000, 72.0)\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.5.rst:2016 -msgid "" -"For more information about the SQL dialect supported by SQLite, see " -"https://www.sqlite.org." -msgstr "" - -#: ../../whatsnew/2.5.rst:2022 -msgid "https://www.pysqlite.org" -msgstr "" - -#: ../../whatsnew/2.5.rst:2023 -msgid "The pysqlite web page." -msgstr "" - -#: ../../whatsnew/2.5.rst:2025 -msgid "https://www.sqlite.org" -msgstr "https://www.sqlite.org" - -#: ../../whatsnew/2.5.rst:2026 -msgid "" -"The SQLite web page; the documentation describes the syntax and the " -"available data types for the supported SQL dialect." -msgstr "" -"Halaman web SQLite; dokumentasi menjelaskan sintaks dan tipe data yang " -"tersedia untuk dialek SQL yang didukung." - -#: ../../whatsnew/2.5.rst:2029 -msgid "The documentation for the :mod:`sqlite3` module." -msgstr "" - -#: ../../whatsnew/2.5.rst:2031 -msgid ":pep:`249` - Database API Specification 2.0" -msgstr ":pep:`249` - Spesifikasi API Basisdata 2.0" - -#: ../../whatsnew/2.5.rst:2032 -msgid "PEP written by Marc-André Lemburg." -msgstr "PEP ditulis oleh Marc-André Lemburg." - -#: ../../whatsnew/2.5.rst:2040 -msgid "The wsgiref package" -msgstr "" - -#: ../../whatsnew/2.5.rst:2042 -msgid "" -"The Web Server Gateway Interface (WSGI) v1.0 defines a standard interface " -"between web servers and Python web applications and is described in " -":pep:`333`. The :mod:`wsgiref` package is a reference implementation of the " -"WSGI specification." -msgstr "" - -#: ../../whatsnew/2.5.rst:2049 -msgid "" -"The package includes a basic HTTP server that will run a WSGI application; " -"this server is useful for debugging but isn't intended for production use." -" Setting up a server takes only a few lines of code::" -msgstr "" - -#: ../../whatsnew/2.5.rst:2053 -msgid "" -"from wsgiref import simple_server\n" -"\n" -"wsgi_app = ...\n" -"\n" -"host = ''\n" -"port = 8000\n" -"httpd = simple_server.make_server(host, port, wsgi_app)\n" -"httpd.serve_forever()" -msgstr "" - -#: ../../whatsnew/2.5.rst:2068 -msgid "" -"https://web.archive.org/web/20160331090247/http://wsgi.readthedocs.org/en/latest/" -msgstr "" - -#: ../../whatsnew/2.5.rst:2069 -msgid "A central web site for WSGI-related resources." -msgstr "" - -#: ../../whatsnew/2.5.rst:2071 -msgid ":pep:`333` - Python Web Server Gateway Interface v1.0" -msgstr "" - -#: ../../whatsnew/2.5.rst:2072 -msgid "PEP written by Phillip J. Eby." -msgstr "" - -#: ../../whatsnew/2.5.rst:2080 -msgid "Build and C API Changes" -msgstr "Perubahan Pembangunan *Build* dan API C" - -#: ../../whatsnew/2.5.rst:2082 -msgid "Changes to Python's build process and to the C API include:" -msgstr "" - -#: ../../whatsnew/2.5.rst:2084 -msgid "" -"The Python source tree was converted from CVS to Subversion, in a complex " -"migration procedure that was supervised and flawlessly carried out by Martin" -" von Löwis. The procedure was developed as :pep:`347`." -msgstr "" - -#: ../../whatsnew/2.5.rst:2088 -msgid "" -"Coverity, a company that markets a source code analysis tool called Prevent," -" provided the results of their examination of the Python source code. The " -"analysis found about 60 bugs that were quickly fixed. Many of the bugs " -"were refcounting problems, often occurring in error-handling code. See " -"https://scan.coverity.com for the statistics." -msgstr "" - -#: ../../whatsnew/2.5.rst:2094 -msgid "" -"The largest change to the C API came from :pep:`353`, which modifies the " -"interpreter to use a :c:type:`Py_ssize_t` type definition instead of " -":c:expr:`int`. See the earlier section :ref:`pep-353` for a discussion of " -"this change." -msgstr "" - -#: ../../whatsnew/2.5.rst:2099 -msgid "" -"The design of the bytecode compiler has changed a great deal, no longer " -"generating bytecode by traversing the parse tree. Instead the parse tree is" -" converted to an abstract syntax tree (or AST), and it is the abstract " -"syntax tree that's traversed to produce the bytecode." -msgstr "" - -#: ../../whatsnew/2.5.rst:2104 -msgid "" -"It's possible for Python code to obtain AST objects by using the " -":func:`compile` built-in and specifying ``_ast.PyCF_ONLY_AST`` as the value " -"of the *flags* parameter::" -msgstr "" - -#: ../../whatsnew/2.5.rst:2108 -msgid "" -"from _ast import PyCF_ONLY_AST\n" -"ast = compile(\"\"\"a=0\n" -"for i in range(10):\n" -" a += i\n" -"\"\"\", \"\", 'exec', PyCF_ONLY_AST)\n" -"\n" -"assignment = ast.body[0]\n" -"for_loop = ast.body[1]" -msgstr "" - -#: ../../whatsnew/2.5.rst:2117 -msgid "" -"No official documentation has been written for the AST code yet, but " -":pep:`339` discusses the design. To start learning about the code, read the" -" definition of the various AST nodes in :file:`Parser/Python.asdl`. A " -"Python script reads this file and generates a set of C structure definitions" -" in :file:`Include/Python-ast.h`. The :c:func:`PyParser_ASTFromString` and " -":c:func:`!PyParser_ASTFromFile`, defined in :file:`Include/pythonrun.h`, " -"take Python source as input and return the root of an AST representing the " -"contents. This AST can then be turned into a code object by " -":c:func:`!PyAST_Compile`. For more information, read the source code, and " -"then ask questions on python-dev." -msgstr "" - -#: ../../whatsnew/2.5.rst:2127 -msgid "" -"The AST code was developed under Jeremy Hylton's management, and implemented" -" by (in alphabetical order) Brett Cannon, Nick Coghlan, Grant Edwards, John " -"Ehresman, Kurt Kaiser, Neal Norwitz, Tim Peters, Armin Rigo, and Neil " -"Schemenauer, plus the participants in a number of AST sprints at conferences" -" such as PyCon." -msgstr "" - -#: ../../whatsnew/2.5.rst:2136 -msgid "" -"Evan Jones's patch to obmalloc, first described in a talk at PyCon DC 2005, " -"was applied. Python 2.4 allocated small objects in 256K-sized arenas, but " -"never freed arenas. With this patch, Python will free arenas when they're " -"empty. The net effect is that on some platforms, when you allocate many " -"objects, Python's memory usage may actually drop when you delete them and " -"the memory may be returned to the operating system. (Implemented by Evan " -"Jones, and reworked by Tim Peters.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:2144 -msgid "" -"Note that this change means extension modules must be more careful when " -"allocating memory. Python's API has many different functions for allocating" -" memory that are grouped into families. For example, " -":c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc`, and :c:func:`PyMem_Free` " -"are one family that allocates raw memory, while :c:func:`PyObject_Malloc`, " -":c:func:`PyObject_Realloc`, and :c:func:`PyObject_Free` are another family " -"that's supposed to be used for creating Python objects." -msgstr "" - -#: ../../whatsnew/2.5.rst:2152 -msgid "" -"Previously these different families all reduced to the platform's " -":c:func:`malloc` and :c:func:`free` functions. This meant it didn't matter" -" if you got things wrong and allocated memory with the ``PyMem`` function " -"but freed it with the ``PyObject`` function. With 2.5's changes to " -"obmalloc, these families now do different things and mismatches will " -"probably result in a segfault. You should carefully test your C extension " -"modules with Python 2.5." -msgstr "" - -#: ../../whatsnew/2.5.rst:2159 -msgid "" -"The built-in set types now have an official C API. Call :c:func:`PySet_New`" -" and :c:func:`PyFrozenSet_New` to create a new set, :c:func:`PySet_Add` and " -":c:func:`PySet_Discard` to add and remove elements, and " -":c:func:`PySet_Contains` and :c:func:`PySet_Size` to examine the set's " -"state. (Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:2165 -msgid "" -"C code can now obtain information about the exact revision of the Python " -"interpreter by calling the :c:func:`Py_GetBuildInfo` function that returns " -"a string of build information like this: ``\"trunk:45355:45356M, Apr 13 " -"2006, 07:42:19\"``. (Contributed by Barry Warsaw.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:2170 -msgid "" -"Two new macros can be used to indicate C functions that are local to the " -"current file so that a faster calling convention can be used. " -"``Py_LOCAL(type)`` declares the function as returning a value of the " -"specified *type* and uses a fast-calling qualifier. " -"``Py_LOCAL_INLINE(type)`` does the same thing and also requests the function" -" be inlined. If macro :c:macro:`!PY_LOCAL_AGGRESSIVE` is defined before " -":file:`python.h` is included, a set of more aggressive optimizations are " -"enabled for the module; you should benchmark the results to find out if " -"these optimizations actually make the code faster. (Contributed by Fredrik " -"Lundh at the NeedForSpeed sprint.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:2181 -msgid "" -"``PyErr_NewException(name, base, dict)`` can now accept a tuple of base " -"classes as its *base* argument. (Contributed by Georg Brandl.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:2184 -msgid "" -"The :c:func:`!PyErr_Warn` function for issuing warnings is now deprecated in" -" favour of ``PyErr_WarnEx(category, message, stacklevel)`` which lets you " -"specify the number of stack frames separating this function and the caller." -" A *stacklevel* of 1 is the function calling :c:func:`PyErr_WarnEx`, 2 is " -"the function above that, and so forth. (Added by Neal Norwitz.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:2190 -msgid "" -"The CPython interpreter is still written in C, but the code can now be " -"compiled with a C++ compiler without errors. (Implemented by Anthony " -"Baxter, Martin von Löwis, Skip Montanaro.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:2194 -msgid "" -"The :c:func:`!PyRange_New` function was removed. It was never documented, " -"never used in the core code, and had dangerously lax error checking. In the" -" unlikely case that your extensions were using it, you can replace it by " -"something like the following::" -msgstr "" - -#: ../../whatsnew/2.5.rst:2199 -msgid "" -"range = PyObject_CallFunction((PyObject*) &PyRange_Type, \"lll\",\n" -" start, stop, step);" -msgstr "" - -#: ../../whatsnew/2.5.rst:2208 -msgid "Port-Specific Changes" -msgstr "" - -#: ../../whatsnew/2.5.rst:2210 -msgid "" -"MacOS X (10.3 and higher): dynamic loading of modules now uses the " -":c:func:`dlopen` function instead of MacOS-specific functions." -msgstr "" - -#: ../../whatsnew/2.5.rst:2213 -msgid "" -"MacOS X: an :option:`!--enable-universalsdk` switch was added to the " -":program:`configure` script that compiles the interpreter as a universal " -"binary able to run on both PowerPC and Intel processors. (Contributed by " -"Ronald Oussoren; :issue:`2573`.)" -msgstr "" - -#: ../../whatsnew/2.5.rst:2218 -msgid "" -"Windows: :file:`.dll` is no longer supported as a filename extension for " -"extension modules. :file:`.pyd` is now the only filename extension that " -"will be searched for." -msgstr "" - -#: ../../whatsnew/2.5.rst:2228 -msgid "Porting to Python 2.5" -msgstr "" - -#: ../../whatsnew/2.5.rst:2230 -msgid "" -"This section lists previously described changes that may require changes to " -"your code:" -msgstr "" - -#: ../../whatsnew/2.5.rst:2233 -msgid "" -"ASCII is now the default encoding for modules. It's now a syntax error if " -"a module contains string literals with 8-bit characters but doesn't have an " -"encoding declaration. In Python 2.4 this triggered a warning, not a syntax " -"error." -msgstr "" - -#: ../../whatsnew/2.5.rst:2238 -msgid "" -"Previously, the :attr:`gi_frame` attribute of a generator was always a frame" -" object. Because of the :pep:`342` changes described in section " -":ref:`pep-342`, it's now possible for :attr:`gi_frame` to be ``None``." -msgstr "" - -#: ../../whatsnew/2.5.rst:2242 -msgid "" -"A new warning, :class:`UnicodeWarning`, is triggered when you attempt to " -"compare a Unicode string and an 8-bit string that can't be converted to " -"Unicode using the default ASCII encoding. Previously such comparisons would" -" raise a :class:`UnicodeDecodeError` exception." -msgstr "" - -#: ../../whatsnew/2.5.rst:2247 -msgid "" -"Library: the :mod:`csv` module is now stricter about multi-line quoted " -"fields. If your files contain newlines embedded within fields, the input " -"should be split into lines in a manner which preserves the newline " -"characters." -msgstr "" - -#: ../../whatsnew/2.5.rst:2251 -msgid "" -"Library: the :mod:`locale` module's :func:`format` function's would " -"previously accept any string as long as no more than one %char specifier " -"appeared. In Python 2.5, the argument must be exactly one %char specifier " -"with no surrounding text." -msgstr "" - -#: ../../whatsnew/2.5.rst:2256 -msgid "" -"Library: The :mod:`pickle` and :mod:`!cPickle` modules no longer accept a " -"return value of ``None`` from the :meth:`~object.__reduce__` method; the " -"method must return a tuple of arguments instead. The modules also no longer" -" accept the deprecated *bin* keyword parameter." -msgstr "" - -#: ../../whatsnew/2.5.rst:2261 -msgid "" -"Library: The :mod:`SimpleXMLRPCServer ` and " -":mod:`DocXMLRPCServer ` classes now have a :attr:`rpc_paths`" -" attribute that constrains XML-RPC operations to a limited set of URL paths;" -" the default is to allow only ``'/'`` and ``'/RPC2'``. Setting " -":attr:`rpc_paths` to ``None`` or an empty tuple disables this path " -"checking." -msgstr "" - -#: ../../whatsnew/2.5.rst:2267 -msgid "" -"C API: Many functions now use :c:type:`Py_ssize_t` instead of :c:expr:`int`" -" to allow processing more data on 64-bit machines. Extension code may need " -"to make the same change to avoid warnings and to support 64-bit machines. " -"See the earlier section :ref:`pep-353` for a discussion of this change." -msgstr "" - -#: ../../whatsnew/2.5.rst:2272 -msgid "" -"C API: The obmalloc changes mean that you must be careful to not mix usage" -" of the ``PyMem_*`` and ``PyObject_*`` families of functions. Memory " -"allocated with one family's ``*_Malloc`` must be freed with the " -"corresponding family's ``*_Free`` function." -msgstr "" - -#: ../../whatsnew/2.5.rst:2281 -msgid "Acknowledgements" -msgstr "Ucapan Terima Kasih" - -#: ../../whatsnew/2.5.rst:2283 -msgid "" -"The author would like to thank the following people for offering " -"suggestions, corrections and assistance with various drafts of this article:" -" Georg Brandl, Nick Coghlan, Phillip J. Eby, Lars Gustäbel, Raymond " -"Hettinger, Ralf W. Grosse-Kunstleve, Kent Johnson, Iain Lowe, Martin von " -"Löwis, Fredrik Lundh, Andrew McNamara, Skip Montanaro, Gustavo Niemeyer, " -"Paul Prescod, James Pryor, Mike Rovner, Scott Weikart, Barry Warsaw, Thomas " -"Wouters." -msgstr "" - -#: ../../whatsnew/2.5.rst:1342 -msgid "universal newlines" -msgstr "" - -#: ../../whatsnew/2.5.rst:1342 -msgid "What's new" -msgstr "" diff --git a/python-newest.whatsnew--2_6/id.po b/python-newest.whatsnew--2_6/id.po deleted file mode 100644 index f45403a..0000000 --- a/python-newest.whatsnew--2_6/id.po +++ /dev/null @@ -1,4682 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/2.6.rst:5 -msgid "What's New in Python 2.6" -msgstr "Apa yang Baru di Python 2.6" - -#: ../../whatsnew/2.6.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../whatsnew/2.6.rst:7 -msgid "A.M. Kuchling (amk at amk.ca)" -msgstr "A.M. Kuchling (amk at amk.ca)" - -#: ../../whatsnew/2.6.rst:50 -msgid "" -"This article explains the new features in Python 2.6, released on October 1," -" 2008. The release schedule is described in :pep:`361`." -msgstr "" - -#: ../../whatsnew/2.6.rst:53 -msgid "" -"The major theme of Python 2.6 is preparing the migration path to Python 3.0," -" a major redesign of the language. Whenever possible, Python 2.6 " -"incorporates new features and syntax from 3.0 while remaining compatible " -"with existing code by not removing older features or syntax. When it's not " -"possible to do that, Python 2.6 tries to do what it can, adding " -"compatibility functions in a :mod:`future_builtins` module and a " -":option:`!-3` switch to warn about usages that will become unsupported in " -"3.0." -msgstr "" - -#: ../../whatsnew/2.6.rst:62 -msgid "" -"Some significant new packages have been added to the standard library, such " -"as the :mod:`multiprocessing` and :mod:`json` modules, but there aren't many" -" new features that aren't related to Python 3.0 in some way." -msgstr "" - -#: ../../whatsnew/2.6.rst:67 -msgid "" -"Python 2.6 also sees a number of improvements and bugfixes throughout the " -"source. A search through the change logs finds there were 259 patches " -"applied and 612 bugs fixed between Python 2.5 and 2.6. Both figures are " -"likely to be underestimates." -msgstr "" - -#: ../../whatsnew/2.6.rst:72 -msgid "" -"This article doesn't attempt to provide a complete specification of the new " -"features, but instead provides a convenient overview. For full details, you" -" should refer to the documentation for Python 2.6. If you want to understand" -" the rationale for the design and implementation, refer to the PEP for a " -"particular new feature. Whenever possible, \"What's New in Python\" links to" -" the bug/patch item for each change." -msgstr "" - -#: ../../whatsnew/2.6.rst:88 -msgid "Python 3.0" -msgstr "Python 3.0" - -#: ../../whatsnew/2.6.rst:90 -msgid "" -"The development cycle for Python versions 2.6 and 3.0 was synchronized, with" -" the alpha and beta releases for both versions being made on the same days." -" The development of 3.0 has influenced many features in 2.6." -msgstr "" - -#: ../../whatsnew/2.6.rst:95 -msgid "" -"Python 3.0 is a far-ranging redesign of Python that breaks compatibility " -"with the 2.x series. This means that existing Python code will need some " -"conversion in order to run on Python 3.0. However, not all the changes in " -"3.0 necessarily break compatibility. In cases where new features won't " -"cause existing code to break, they've been backported to 2.6 and are " -"described in this document in the appropriate place. Some of the " -"3.0-derived features are:" -msgstr "" - -#: ../../whatsnew/2.6.rst:104 -msgid "" -"A :meth:`__complex__` method for converting objects to a complex number." -msgstr "" - -#: ../../whatsnew/2.6.rst:105 -msgid "Alternate syntax for catching exceptions: ``except TypeError as exc``." -msgstr "" - -#: ../../whatsnew/2.6.rst:106 -msgid "" -"The addition of :func:`functools.reduce` as a synonym for the built-in " -":func:`reduce` function." -msgstr "" - -#: ../../whatsnew/2.6.rst:109 -msgid "" -"Python 3.0 adds several new built-in functions and changes the semantics of " -"some existing builtins. Functions that are new in 3.0 such as :func:`bin` " -"have simply been added to Python 2.6, but existing builtins haven't been " -"changed; instead, the :mod:`future_builtins` module has versions with the " -"new 3.0 semantics. Code written to be compatible with 3.0 can do ``from " -"future_builtins import hex, map`` as necessary." -msgstr "" - -#: ../../whatsnew/2.6.rst:117 -msgid "" -"A new command-line switch, :option:`!-3`, enables warnings about features " -"that will be removed in Python 3.0. You can run code with this switch to " -"see how much work will be necessary to port code to 3.0. The value of this " -"switch is available to Python code as the boolean variable " -":data:`sys.py3kwarning`, and to C extension code as " -":c:data:`!Py_Py3kWarningFlag`." -msgstr "" - -#: ../../whatsnew/2.6.rst:126 -msgid "" -"The 3\\ *xxx* series of PEPs, which contains proposals for Python 3.0. " -":pep:`3000` describes the development process for Python 3.0. Start with " -":pep:`3100` that describes the general goals for Python 3.0, and then " -"explore the higher-numbered PEPs that propose specific features." -msgstr "" - -#: ../../whatsnew/2.6.rst:134 -msgid "Changes to the Development Process" -msgstr "" - -#: ../../whatsnew/2.6.rst:136 -msgid "" -"While 2.6 was being developed, the Python development process underwent two " -"significant changes: we switched from SourceForge's issue tracker to a " -"customized Roundup installation, and the documentation was converted from " -"LaTeX to reStructuredText." -msgstr "" - -#: ../../whatsnew/2.6.rst:143 -msgid "New Issue Tracker: Roundup" -msgstr "" - -#: ../../whatsnew/2.6.rst:145 -msgid "" -"For a long time, the Python developers had been growing increasingly annoyed" -" by SourceForge's bug tracker. SourceForge's hosted solution doesn't permit" -" much customization; for example, it wasn't possible to customize the life " -"cycle of issues." -msgstr "" - -#: ../../whatsnew/2.6.rst:150 -msgid "" -"The infrastructure committee of the Python Software Foundation therefore " -"posted a call for issue trackers, asking volunteers to set up different " -"products and import some of the bugs and patches from SourceForge. Four " -"different trackers were examined: `Jira " -"`__, `Launchpad " -"`__, `Roundup `__, " -"and `Trac `__. The committee eventually settled " -"on Jira and Roundup as the two candidates. Jira is a commercial product " -"that offers no-cost hosted instances to free-software projects; Roundup is " -"an open-source project that requires volunteers to administer it and a " -"server to host it." -msgstr "" - -#: ../../whatsnew/2.6.rst:164 -msgid "" -"After posting a call for volunteers, a new Roundup installation was set up " -"at https://bugs.python.org. One installation of Roundup can host multiple " -"trackers, and this server now also hosts issue trackers for Jython and for " -"the Python web site. It will surely find other uses in the future. Where " -"possible, this edition of \"What's New in Python\" links to the bug/patch " -"item for each change." -msgstr "" - -#: ../../whatsnew/2.6.rst:172 -msgid "" -"Hosting of the Python bug tracker is kindly provided by `Upfront Systems " -"`__ of Stellenbosch, South Africa. Martin " -"von Löwis put a lot of effort into importing existing bugs and patches from " -"SourceForge; his scripts for this import operation are at " -"``https://svn.python.org/view/tracker/importer/`` and may be useful to other" -" projects wishing to move from SourceForge to Roundup." -msgstr "" - -#: ../../whatsnew/2.6.rst:182 -msgid "https://bugs.python.org" -msgstr "https://bugs.python.org" - -#: ../../whatsnew/2.6.rst:183 -msgid "The Python bug tracker." -msgstr "" - -#: ../../whatsnew/2.6.rst:185 -msgid "https://bugs.jython.org:" -msgstr "" - -#: ../../whatsnew/2.6.rst:186 -msgid "The Jython bug tracker." -msgstr "" - -#: ../../whatsnew/2.6.rst:188 -msgid "https://roundup.sourceforge.io/" -msgstr "" - -#: ../../whatsnew/2.6.rst:189 -msgid "Roundup downloads and documentation." -msgstr "" - -#: ../../whatsnew/2.6.rst:191 -msgid "https://svn.python.org/view/tracker/importer/" -msgstr "" - -#: ../../whatsnew/2.6.rst:192 -msgid "Martin von Löwis's conversion scripts." -msgstr "" - -#: ../../whatsnew/2.6.rst:195 -msgid "New Documentation Format: reStructuredText Using Sphinx" -msgstr "" - -#: ../../whatsnew/2.6.rst:197 -msgid "" -"The Python documentation was written using LaTeX since the project started " -"around 1989. In the 1980s and early 1990s, most documentation was printed " -"out for later study, not viewed online. LaTeX was widely used because it " -"provided attractive printed output while remaining straightforward to write " -"once the basic rules of the markup were learned." -msgstr "" - -#: ../../whatsnew/2.6.rst:204 -msgid "" -"Today LaTeX is still used for writing publications destined for printing, " -"but the landscape for programming tools has shifted. We no longer print out" -" reams of documentation; instead, we browse through it online and HTML has " -"become the most important format to support. Unfortunately, converting LaTeX" -" to HTML is fairly complicated and Fred L. Drake Jr., the long-time Python " -"documentation editor, spent a lot of time maintaining the conversion " -"process. Occasionally people would suggest converting the documentation " -"into SGML and later XML, but performing a good conversion is a major task " -"and no one ever committed the time required to finish the job." -msgstr "" - -#: ../../whatsnew/2.6.rst:215 -msgid "" -"During the 2.6 development cycle, Georg Brandl put a lot of effort into " -"building a new toolchain for processing the documentation. The resulting " -"package is called Sphinx, and is available from https://www.sphinx-doc.org/." -msgstr "" - -#: ../../whatsnew/2.6.rst:220 -msgid "" -"Sphinx concentrates on HTML output, producing attractively styled and modern" -" HTML; printed output is still supported through conversion to LaTeX. The " -"input format is reStructuredText, a markup syntax supporting custom " -"extensions and directives that is commonly used in the Python community." -msgstr "" - -#: ../../whatsnew/2.6.rst:226 -msgid "" -"Sphinx is a standalone package that can be used for writing, and almost two " -"dozen other projects (`listed on the Sphinx web site `__) have adopted Sphinx as their " -"documentation tool." -msgstr "" - -#: ../../whatsnew/2.6.rst:233 -msgid "`Documenting Python `__" -msgstr "`Documenting Python `__" - -#: ../../whatsnew/2.6.rst:234 -msgid "Describes how to write for Python's documentation." -msgstr "" - -#: ../../whatsnew/2.6.rst:236 -msgid "`Sphinx `__" -msgstr "" - -#: ../../whatsnew/2.6.rst:237 -msgid "Documentation and code for the Sphinx toolchain." -msgstr "" - -#: ../../whatsnew/2.6.rst:239 -msgid "`Docutils `__" -msgstr "" - -#: ../../whatsnew/2.6.rst:240 -msgid "The underlying reStructuredText parser and toolset." -msgstr "" - -#: ../../whatsnew/2.6.rst:246 -msgid "PEP 343: The 'with' statement" -msgstr "" - -#: ../../whatsnew/2.6.rst:248 -msgid "" -"The previous version, Python 2.5, added the ':keyword:`with`' statement as " -"an optional feature, to be enabled by a ``from __future__ import " -"with_statement`` directive. In 2.6 the statement no longer needs to be " -"specially enabled; this means that :keyword:`!with` is now always a keyword." -" The rest of this section is a copy of the corresponding section from the " -"\"What's New in Python 2.5\" document; if you're familiar with the " -"':keyword:`!with`' statement from Python 2.5, you can skip this section." -msgstr "" - -#: ../../whatsnew/2.6.rst:257 -msgid "" -"The ':keyword:`with`' statement clarifies code that previously would use " -"``try...finally`` blocks to ensure that clean-up code is executed. In this " -"section, I'll discuss the statement as it will commonly be used. In the " -"next section, I'll examine the implementation details and show how to write " -"objects for use with this statement." -msgstr "" - -#: ../../whatsnew/2.6.rst:263 -msgid "" -"The ':keyword:`with`' statement is a control-flow structure whose basic " -"structure is::" -msgstr "" - -#: ../../whatsnew/2.6.rst:266 -msgid "" -"with expression [as variable]:\n" -" with-block" -msgstr "" - -#: ../../whatsnew/2.6.rst:269 -msgid "" -"The expression is evaluated, and it should result in an object that supports" -" the context management protocol (that is, has :meth:`~object.__enter__` and" -" :meth:`~object.__exit__` methods)." -msgstr "" - -#: ../../whatsnew/2.6.rst:273 -msgid "" -"The object's :meth:`~object.__enter__` is called before *with-block* is " -"executed and therefore can run set-up code. It also may return a value that " -"is bound to the name *variable*, if given. (Note carefully that *variable* " -"is *not* assigned the result of *expression*.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:278 -msgid "" -"After execution of the *with-block* is finished, the object's " -":meth:`~object.__exit__` method is called, even if the block raised an " -"exception, and can therefore run clean-up code." -msgstr "" - -#: ../../whatsnew/2.6.rst:282 -msgid "" -"Some standard Python objects now support the context management protocol and" -" can be used with the ':keyword:`with`' statement. File objects are one " -"example::" -msgstr "" - -#: ../../whatsnew/2.6.rst:285 -msgid "" -"with open('/etc/passwd', 'r') as f:\n" -" for line in f:\n" -" print line\n" -" ... more processing code ..." -msgstr "" - -#: ../../whatsnew/2.6.rst:290 -msgid "" -"After this statement has executed, the file object in *f* will have been " -"automatically closed, even if the :keyword:`for` loop raised an exception " -"part-way through the block." -msgstr "" - -#: ../../whatsnew/2.6.rst:296 -msgid "" -"In this case, *f* is the same object created by :func:`open`, because " -":meth:`~object.__enter__` returns *self*." -msgstr "" - -#: ../../whatsnew/2.6.rst:299 -msgid "" -"The :mod:`threading` module's locks and condition variables also support " -"the ':keyword:`with`' statement::" -msgstr "" - -#: ../../whatsnew/2.6.rst:302 -msgid "" -"lock = threading.Lock()\n" -"with lock:\n" -" # Critical section of code\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.6.rst:307 -msgid "" -"The lock is acquired before the block is executed and always released once " -"the block is complete." -msgstr "" - -#: ../../whatsnew/2.6.rst:310 -msgid "" -"The :func:`localcontext` function in the :mod:`decimal` module makes it easy" -" to save and restore the current decimal context, which encapsulates the " -"desired precision and rounding characteristics for computations::" -msgstr "" - -#: ../../whatsnew/2.6.rst:314 -msgid "" -"from decimal import Decimal, Context, localcontext\n" -"\n" -"# Displays with default precision of 28 digits\n" -"v = Decimal('578')\n" -"print v.sqrt()\n" -"\n" -"with localcontext(Context(prec=16)):\n" -" # All code in this block uses a precision of 16 digits.\n" -" # The original context is restored on exiting the block.\n" -" print v.sqrt()" -msgstr "" - -#: ../../whatsnew/2.6.rst:329 -msgid "Writing Context Managers" -msgstr "" - -#: ../../whatsnew/2.6.rst:331 -msgid "" -"Under the hood, the ':keyword:`with`' statement is fairly complicated. Most " -"people will only use ':keyword:`!with`' in company with existing objects and" -" don't need to know these details, so you can skip the rest of this section " -"if you like. Authors of new objects will need to understand the details of " -"the underlying implementation and should keep reading." -msgstr "" - -#: ../../whatsnew/2.6.rst:337 -msgid "A high-level explanation of the context management protocol is:" -msgstr "" - -#: ../../whatsnew/2.6.rst:339 -msgid "" -"The expression is evaluated and should result in an object called a " -"\"context manager\". The context manager must have " -":meth:`~object.__enter__` and :meth:`~object.__exit__` methods." -msgstr "" - -#: ../../whatsnew/2.6.rst:343 -msgid "" -"The context manager's :meth:`~object.__enter__` method is called. The value" -" returned is assigned to *VAR*. If no ``as VAR`` clause is present, the " -"value is simply discarded." -msgstr "" - -#: ../../whatsnew/2.6.rst:347 -msgid "The code in *BLOCK* is executed." -msgstr "" - -#: ../../whatsnew/2.6.rst:349 -msgid "" -"If *BLOCK* raises an exception, the context manager's " -":meth:`~object.__exit__` method is called with three arguments, the " -"exception details (``type, value, traceback``, the same values returned by " -":func:`sys.exc_info`, which can also be ``None`` if no exception occurred)." -" The method's return value controls whether an exception is re-raised: any " -"false value re-raises the exception, and ``True`` will result in suppressing" -" it. You'll only rarely want to suppress the exception, because if you do " -"the author of the code containing the ':keyword:`with`' statement will never" -" realize anything went wrong." -msgstr "" - -#: ../../whatsnew/2.6.rst:358 -msgid "" -"If *BLOCK* didn't raise an exception, the :meth:`~object.__exit__` method " -"is still called, but *type*, *value*, and *traceback* are all ``None``." -msgstr "" - -#: ../../whatsnew/2.6.rst:361 -msgid "" -"Let's think through an example. I won't present detailed code but will only" -" sketch the methods necessary for a database that supports transactions." -msgstr "" - -#: ../../whatsnew/2.6.rst:364 -msgid "" -"(For people unfamiliar with database terminology: a set of changes to the " -"database are grouped into a transaction. Transactions can be either " -"committed, meaning that all the changes are written into the database, or " -"rolled back, meaning that the changes are all discarded and the database is " -"unchanged. See any database textbook for more information.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:370 -msgid "" -"Let's assume there's an object representing a database connection. Our goal " -"will be to let the user write code like this::" -msgstr "" - -#: ../../whatsnew/2.6.rst:373 -msgid "" -"db_connection = DatabaseConnection()\n" -"with db_connection as cursor:\n" -" cursor.execute('insert into ...')\n" -" cursor.execute('delete from ...')\n" -" # ... more operations ..." -msgstr "" - -#: ../../whatsnew/2.6.rst:379 -msgid "" -"The transaction should be committed if the code in the block runs flawlessly" -" or rolled back if there's an exception. Here's the basic interface for " -":class:`DatabaseConnection` that I'll assume::" -msgstr "" - -#: ../../whatsnew/2.6.rst:383 -msgid "" -"class DatabaseConnection:\n" -" # Database interface\n" -" def cursor(self):\n" -" \"Returns a cursor object and starts a new transaction\"\n" -" def commit(self):\n" -" \"Commits current transaction\"\n" -" def rollback(self):\n" -" \"Rolls back current transaction\"" -msgstr "" - -#: ../../whatsnew/2.6.rst:392 -msgid "" -"The :meth:`~object.__enter__` method is pretty easy, having only to start a " -"new transaction. For this application the resulting cursor object would be " -"a useful result, so the method will return it. The user can then add ``as " -"cursor`` to their ':keyword:`with`' statement to bind the cursor to a " -"variable name. ::" -msgstr "" - -#: ../../whatsnew/2.6.rst:397 -msgid "" -"class DatabaseConnection:\n" -" ...\n" -" def __enter__(self):\n" -" # Code to start a new transaction\n" -" cursor = self.cursor()\n" -" return cursor" -msgstr "" - -#: ../../whatsnew/2.6.rst:404 -msgid "" -"The :meth:`~object.__exit__` method is the most complicated because it's " -"where most of the work has to be done. The method has to check if an " -"exception occurred. If there was no exception, the transaction is " -"committed. The transaction is rolled back if there was an exception." -msgstr "" - -#: ../../whatsnew/2.6.rst:409 -msgid "" -"In the code below, execution will just fall off the end of the function, " -"returning the default value of ``None``. ``None`` is false, so the " -"exception will be re-raised automatically. If you wished, you could be more" -" explicit and add a :keyword:`return` statement at the marked location. ::" -msgstr "" - -#: ../../whatsnew/2.6.rst:414 -msgid "" -"class DatabaseConnection:\n" -" ...\n" -" def __exit__(self, type, value, tb):\n" -" if tb is None:\n" -" # No exception, so commit\n" -" self.commit()\n" -" else:\n" -" # Exception occurred, so rollback.\n" -" self.rollback()\n" -" # return False" -msgstr "" - -#: ../../whatsnew/2.6.rst:429 -msgid "The contextlib module" -msgstr "" - -#: ../../whatsnew/2.6.rst:431 -msgid "" -"The :mod:`contextlib` module provides some functions and a decorator that " -"are useful when writing objects for use with the ':keyword:`with`' " -"statement." -msgstr "" - -#: ../../whatsnew/2.6.rst:434 -msgid "" -"The decorator is called :func:`contextmanager`, and lets you write a single " -"generator function instead of defining a new class. The generator should " -"yield exactly one value. The code up to the :keyword:`yield` will be " -"executed as the :meth:`~object.__enter__` method, and the value yielded will" -" be the method's return value that will get bound to the variable in the " -"':keyword:`with`' statement's :keyword:`!as` clause, if any. The code after" -" the :keyword:`!yield` will be executed in the :meth:`~object.__exit__` " -"method. Any exception raised in the block will be raised by the " -":keyword:`!yield` statement." -msgstr "" - -#: ../../whatsnew/2.6.rst:443 -msgid "" -"Using this decorator, our database example from the previous section could " -"be written as::" -msgstr "" - -#: ../../whatsnew/2.6.rst:446 -msgid "" -"from contextlib import contextmanager\n" -"\n" -"@contextmanager\n" -"def db_transaction(connection):\n" -" cursor = connection.cursor()\n" -" try:\n" -" yield cursor\n" -" except:\n" -" connection.rollback()\n" -" raise\n" -" else:\n" -" connection.commit()\n" -"\n" -"db = DatabaseConnection()\n" -"with db_transaction(db) as cursor:\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.6.rst:463 -msgid "" -"The :mod:`contextlib` module also has a ``nested(mgr1, mgr2, ...)`` function" -" that combines a number of context managers so you don't need to write " -"nested ':keyword:`with`' statements. In this example, the single " -"':keyword:`!with`' statement both starts a database transaction and acquires" -" a thread lock::" -msgstr "" - -#: ../../whatsnew/2.6.rst:468 -msgid "" -"lock = threading.Lock()\n" -"with nested (db_transaction(db), lock) as (cursor, locked):\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.6.rst:472 -msgid "" -"Finally, the :func:`closing` function returns its argument so that it can be" -" bound to a variable, and calls the argument's ``.close()`` method at the " -"end of the block. ::" -msgstr "" - -#: ../../whatsnew/2.6.rst:476 -msgid "" -"import urllib, sys\n" -"from contextlib import closing\n" -"\n" -"with closing(urllib.urlopen('http://www.yahoo.com')) as f:\n" -" for line in f:\n" -" sys.stdout.write(line)" -msgstr "" - -#: ../../whatsnew/2.6.rst:486 -msgid ":pep:`343` - The \"with\" statement" -msgstr "" - -#: ../../whatsnew/2.6.rst:487 -msgid "" -"PEP written by Guido van Rossum and Nick Coghlan; implemented by Mike Bland," -" Guido van Rossum, and Neal Norwitz. The PEP shows the code generated for a" -" ':keyword:`with`' statement, which can be helpful in learning how the " -"statement works." -msgstr "" - -#: ../../whatsnew/2.6.rst:492 -msgid "The documentation for the :mod:`contextlib` module." -msgstr "" - -#: ../../whatsnew/2.6.rst:499 -msgid "PEP 366: Explicit Relative Imports From a Main Module" -msgstr "" - -#: ../../whatsnew/2.6.rst:501 -msgid "" -"Python's :option:`-m` switch allows running a module as a script. When you " -"ran a module that was located inside a package, relative imports didn't work" -" correctly." -msgstr "" - -#: ../../whatsnew/2.6.rst:505 -msgid "" -"The fix for Python 2.6 adds a :attr:`module.__package__` attribute. When " -"this attribute is present, relative imports will be relative to the value of" -" this attribute instead of the :attr:`~module.__name__` attribute." -msgstr "" - -#: ../../whatsnew/2.6.rst:510 -msgid "" -"PEP 302-style importers can then set :attr:`~module.__package__` as " -"necessary. The :mod:`runpy` module that implements the :option:`-m` switch " -"now does this, so relative imports will now work correctly in scripts " -"running from inside a package." -msgstr "" - -#: ../../whatsnew/2.6.rst:520 -msgid "PEP 370: Per-user ``site-packages`` Directory" -msgstr "" - -#: ../../whatsnew/2.6.rst:522 -msgid "" -"When you run Python, the module search path ``sys.path`` usually includes a " -"directory whose path ends in ``\"site-packages\"``. This directory is " -"intended to hold locally installed packages available to all users using a " -"machine or a particular site installation." -msgstr "" - -#: ../../whatsnew/2.6.rst:527 -msgid "" -"Python 2.6 introduces a convention for user-specific site directories. The " -"directory varies depending on the platform:" -msgstr "" - -#: ../../whatsnew/2.6.rst:530 -msgid "Unix and Mac OS X: :file:`~/.local/`" -msgstr "" - -#: ../../whatsnew/2.6.rst:531 -msgid "Windows: :file:`%APPDATA%/Python`" -msgstr "Windows: :file:`%APPDATA%/Python`" - -#: ../../whatsnew/2.6.rst:533 -msgid "" -"Within this directory, there will be version-specific subdirectories, such " -"as :file:`lib/python2.6/site-packages` on Unix/Mac OS and " -":file:`Python26/site-packages` on Windows." -msgstr "" - -#: ../../whatsnew/2.6.rst:537 -msgid "" -"If you don't like the default directory, it can be overridden by an " -"environment variable. :envvar:`PYTHONUSERBASE` sets the root directory used" -" for all Python versions supporting this feature. On Windows, the directory" -" for application-specific data can be changed by setting the " -":envvar:`APPDATA` environment variable. You can also modify the " -":file:`site.py` file for your Python installation." -msgstr "" - -#: ../../whatsnew/2.6.rst:544 -msgid "" -"The feature can be disabled entirely by running Python with the :option:`-s`" -" option or setting the :envvar:`PYTHONNOUSERSITE` environment variable." -msgstr "" - -#: ../../whatsnew/2.6.rst:550 -msgid ":pep:`370` - Per-user ``site-packages`` Directory" -msgstr "" - -#: ../../whatsnew/2.6.rst:551 -msgid "PEP written and implemented by Christian Heimes." -msgstr "" - -#: ../../whatsnew/2.6.rst:559 -msgid "PEP 371: The ``multiprocessing`` Package" -msgstr "" - -#: ../../whatsnew/2.6.rst:561 -msgid "" -"The new :mod:`multiprocessing` package lets Python programs create new " -"processes that will perform a computation and return a result to the parent." -" The parent and child processes can communicate using queues and pipes, " -"synchronize their operations using locks and semaphores, and can share " -"simple arrays of data." -msgstr "" - -#: ../../whatsnew/2.6.rst:567 -msgid "" -"The :mod:`multiprocessing` module started out as an exact emulation of the " -":mod:`threading` module using processes instead of threads. That goal was " -"discarded along the path to Python 2.6, but the general approach of the " -"module is still similar. The fundamental class is the :class:`Process`, " -"which is passed a callable object and a collection of arguments. The " -":meth:`start` method sets the callable running in a subprocess, after which " -"you can call the :meth:`is_alive` method to check whether the subprocess is " -"still running and the :meth:`join` method to wait for the process to exit." -msgstr "" - -#: ../../whatsnew/2.6.rst:577 -msgid "" -"Here's a simple example where the subprocess will calculate a factorial. " -"The function doing the calculation is written strangely so that it takes " -"significantly longer when the input argument is a multiple of 4." -msgstr "" - -#: ../../whatsnew/2.6.rst:584 -msgid "" -"import time\n" -"from multiprocessing import Process, Queue\n" -"\n" -"\n" -"def factorial(queue, N):\n" -" \"Compute a factorial.\"\n" -" # If N is a multiple of 4, this function will take much longer.\n" -" if (N % 4) == 0:\n" -" time.sleep(.05 * N/4)\n" -"\n" -" # Calculate the result\n" -" fact = 1L\n" -" for i in range(1, N+1):\n" -" fact = fact * i\n" -"\n" -" # Put the result on the queue\n" -" queue.put(fact)\n" -"\n" -"if __name__ == '__main__':\n" -" queue = Queue()\n" -"\n" -" N = 5\n" -"\n" -" p = Process(target=factorial, args=(queue, N))\n" -" p.start()\n" -" p.join()\n" -"\n" -" result = queue.get()\n" -" print 'Factorial', N, '=', result" -msgstr "" - -#: ../../whatsnew/2.6.rst:614 -msgid "" -"A :class:`~queue.Queue` is used to communicate the result of the factorial. " -"The :class:`~queue.Queue` object is stored in a global variable. The child " -"process will use the value of the variable when the child was created; " -"because it's a :class:`~queue.Queue`, parent and child can use the object to" -" communicate. (If the parent were to change the value of the global " -"variable, the child's value would be unaffected, and vice versa.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:622 -msgid "" -"Two other classes, :class:`Pool` and :class:`Manager`, provide higher-level " -"interfaces. :class:`Pool` will create a fixed number of worker processes, " -"and requests can then be distributed to the workers by calling :meth:`apply`" -" or :meth:`apply_async` to add a single request, and :meth:`map` or " -":meth:`map_async` to add a number of requests. The following code uses a " -":class:`Pool` to spread requests across 5 worker processes and retrieve a " -"list of results::" -msgstr "" - -#: ../../whatsnew/2.6.rst:630 -msgid "" -"from multiprocessing import Pool\n" -"\n" -"def factorial(N, dictionary):\n" -" \"Compute a factorial.\"\n" -" ...\n" -"p = Pool(5)\n" -"result = p.map(factorial, range(1, 1000, 10))\n" -"for v in result:\n" -" print v" -msgstr "" - -#: ../../whatsnew/2.6.rst:640 -msgid "This produces the following output::" -msgstr "" - -#: ../../whatsnew/2.6.rst:642 -msgid "" -"1\n" -"39916800\n" -"51090942171709440000\n" -"8222838654177922817725562880000000\n" -"33452526613163807108170062053440751665152000000000\n" -"..." -msgstr "" - -#: ../../whatsnew/2.6.rst:649 -msgid "" -"The other high-level interface, the :class:`Manager` class, creates a " -"separate server process that can hold master copies of Python data " -"structures. Other processes can then access and modify these data " -"structures using proxy objects. The following example creates a shared " -"dictionary by calling the :meth:`dict` method; the worker processes then " -"insert values into the dictionary. (Locking is not done for you " -"automatically, which doesn't matter in this example. :class:`Manager`'s " -"methods also include :meth:`Lock`, :meth:`RLock`, and :meth:`Semaphore` to " -"create shared locks.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:661 -msgid "" -"import time\n" -"from multiprocessing import Pool, Manager\n" -"\n" -"def factorial(N, dictionary):\n" -" \"Compute a factorial.\"\n" -" # Calculate the result\n" -" fact = 1L\n" -" for i in range(1, N+1):\n" -" fact = fact * i\n" -"\n" -" # Store result in dictionary\n" -" dictionary[N] = fact\n" -"\n" -"if __name__ == '__main__':\n" -" p = Pool(5)\n" -" mgr = Manager()\n" -" d = mgr.dict() # Create shared dictionary\n" -"\n" -" # Run tasks using the pool\n" -" for N in range(1, 1000, 10):\n" -" p.apply_async(factorial, (N, d))\n" -"\n" -" # Mark pool as closed -- no more tasks can be added.\n" -" p.close()\n" -"\n" -" # Wait for tasks to exit\n" -" p.join()\n" -"\n" -" # Output results\n" -" for k, v in sorted(d.items()):\n" -" print k, v" -msgstr "" - -#: ../../whatsnew/2.6.rst:693 -msgid "This will produce the output::" -msgstr "" - -#: ../../whatsnew/2.6.rst:695 -msgid "" -"1 1\n" -"11 39916800\n" -"21 51090942171709440000\n" -"31 8222838654177922817725562880000000\n" -"41 33452526613163807108170062053440751665152000000000\n" -"51 15511187532873822802242430164693032110632597200169861120000..." -msgstr "" - -#: ../../whatsnew/2.6.rst:704 -msgid "The documentation for the :mod:`multiprocessing` module." -msgstr "" - -#: ../../whatsnew/2.6.rst:706 -msgid ":pep:`371` - Addition of the multiprocessing package" -msgstr "" - -#: ../../whatsnew/2.6.rst:707 -msgid "" -"PEP written by Jesse Noller and Richard Oudkerk; implemented by Richard " -"Oudkerk and Jesse Noller." -msgstr "" - -#: ../../whatsnew/2.6.rst:716 -msgid "PEP 3101: Advanced String Formatting" -msgstr "" - -#: ../../whatsnew/2.6.rst:718 -msgid "" -"In Python 3.0, the ``%`` operator is supplemented by a more powerful string " -"formatting method, :meth:`format`. Support for the :meth:`str.format` " -"method has been backported to Python 2.6." -msgstr "" - -#: ../../whatsnew/2.6.rst:722 -msgid "" -"In 2.6, both 8-bit and Unicode strings have a ``.format()`` method that " -"treats the string as a template and takes the arguments to be formatted. The" -" formatting template uses curly brackets (``{``, ``}``) as special " -"characters::" -msgstr "" - -#: ../../whatsnew/2.6.rst:726 -msgid "" -">>> # Substitute positional argument 0 into the string.\n" -">>> \"User ID: {0}\".format(\"root\")\n" -"'User ID: root'\n" -">>> # Use the named keyword arguments\n" -">>> \"User ID: {uid} Last seen: {last_login}\".format(\n" -"... uid=\"root\",\n" -"... last_login = \"5 Mar 2008 07:20\")\n" -"'User ID: root Last seen: 5 Mar 2008 07:20'" -msgstr "" - -#: ../../whatsnew/2.6.rst:735 -msgid "Curly brackets can be escaped by doubling them::" -msgstr "" - -#: ../../whatsnew/2.6.rst:737 -msgid "" -">>> \"Empty dict: {{}}\".format()\n" -"\"Empty dict: {}\"" -msgstr "" - -#: ../../whatsnew/2.6.rst:740 -msgid "" -"Field names can be integers indicating positional arguments, such as " -"``{0}``, ``{1}``, etc. or names of keyword arguments. You can also supply " -"compound field names that read attributes or access dictionary keys::" -msgstr "" - -#: ../../whatsnew/2.6.rst:744 -msgid "" -">>> import sys\n" -">>> print 'Platform: {0.platform}\\nPython version: {0.version}'.format(sys)\n" -"Platform: darwin\n" -"Python version: 2.6a1+ (trunk:61261M, Mar 5 2008, 20:29:41)\n" -"[GCC 4.0.1 (Apple Computer, Inc. build 5367)]'\n" -"\n" -">>> import mimetypes\n" -">>> 'Content-type: {0[.mp4]}'.format(mimetypes.types_map)\n" -"'Content-type: video/mp4'" -msgstr "" - -#: ../../whatsnew/2.6.rst:754 -msgid "" -"Note that when using dictionary-style notation such as ``[.mp4]``, you don't" -" need to put any quotation marks around the string; it will look up the " -"value using ``.mp4`` as the key. Strings beginning with a number will be " -"converted to an integer. You can't write more complicated expressions " -"inside a format string." -msgstr "" - -#: ../../whatsnew/2.6.rst:760 -msgid "" -"So far we've shown how to specify which field to substitute into the " -"resulting string. The precise formatting used is also controllable by " -"adding a colon followed by a format specifier. For example::" -msgstr "" - -#: ../../whatsnew/2.6.rst:764 -msgid "" -">>> # Field 0: left justify, pad to 15 characters\n" -">>> # Field 1: right justify, pad to 6 characters\n" -">>> fmt = '{0:15} ${1:>6}'\n" -">>> fmt.format('Registration', 35)\n" -"'Registration $ 35'\n" -">>> fmt.format('Tutorial', 50)\n" -"'Tutorial $ 50'\n" -">>> fmt.format('Banquet', 125)\n" -"'Banquet $ 125'" -msgstr "" - -#: ../../whatsnew/2.6.rst:774 -msgid "Format specifiers can reference other fields through nesting::" -msgstr "" - -#: ../../whatsnew/2.6.rst:776 -msgid "" -">>> fmt = '{0:{1}}'\n" -">>> width = 15\n" -">>> fmt.format('Invoice #1234', width)\n" -"'Invoice #1234 '\n" -">>> width = 35\n" -">>> fmt.format('Invoice #1234', width)\n" -"'Invoice #1234 '" -msgstr "" - -#: ../../whatsnew/2.6.rst:784 -msgid "The alignment of a field within the desired width can be specified:" -msgstr "" - -#: ../../whatsnew/2.6.rst:787 -msgid "Character" -msgstr "Karakter" - -#: ../../whatsnew/2.6.rst:787 -msgid "Effect" -msgstr "" - -#: ../../whatsnew/2.6.rst:789 -msgid "< (default)" -msgstr "< (default)" - -#: ../../whatsnew/2.6.rst:789 -msgid "Left-align" -msgstr "Rata-kiri" - -#: ../../whatsnew/2.6.rst:790 -msgid ">" -msgstr ">" - -#: ../../whatsnew/2.6.rst:790 -msgid "Right-align" -msgstr "Rata-kanan" - -#: ../../whatsnew/2.6.rst:791 -msgid "^" -msgstr "^" - -#: ../../whatsnew/2.6.rst:791 -msgid "Center" -msgstr "Tengah" - -#: ../../whatsnew/2.6.rst:792 -msgid "=" -msgstr "=" - -#: ../../whatsnew/2.6.rst:792 -msgid "(For numeric types only) Pad after the sign." -msgstr "" - -#: ../../whatsnew/2.6.rst:795 -msgid "" -"Format specifiers can also include a presentation type, which controls how " -"the value is formatted. For example, floating-point numbers can be " -"formatted as a general number or in exponential notation::" -msgstr "" - -#: ../../whatsnew/2.6.rst:799 -msgid "" -">>> '{0:g}'.format(3.75)\n" -"'3.75'\n" -">>> '{0:e}'.format(3.75)\n" -"'3.750000e+00'" -msgstr "" - -#: ../../whatsnew/2.6.rst:804 -msgid "" -"A variety of presentation types are available. Consult the 2.6 " -"documentation for a :ref:`complete list `; here's a sample:" -msgstr "" - -#: ../../whatsnew/2.6.rst:808 -msgid "``b``" -msgstr "``b``" - -#: ../../whatsnew/2.6.rst:808 -msgid "Binary. Outputs the number in base 2." -msgstr "" - -#: ../../whatsnew/2.6.rst:809 -msgid "``c``" -msgstr "``c``" - -#: ../../whatsnew/2.6.rst:809 -msgid "" -"Character. Converts the integer to the corresponding Unicode character " -"before printing." -msgstr "" - -#: ../../whatsnew/2.6.rst:811 -msgid "``d``" -msgstr "``d``" - -#: ../../whatsnew/2.6.rst:811 -msgid "Decimal Integer. Outputs the number in base 10." -msgstr "" - -#: ../../whatsnew/2.6.rst:812 -msgid "``o``" -msgstr "``o``" - -#: ../../whatsnew/2.6.rst:812 -msgid "Octal format. Outputs the number in base 8." -msgstr "" - -#: ../../whatsnew/2.6.rst:813 -msgid "``x``" -msgstr "``x``" - -#: ../../whatsnew/2.6.rst:813 -msgid "" -"Hex format. Outputs the number in base 16, using lower-case letters for the " -"digits above 9." -msgstr "" - -#: ../../whatsnew/2.6.rst:815 -msgid "``e``" -msgstr "``e``" - -#: ../../whatsnew/2.6.rst:815 -msgid "" -"Exponent notation. Prints the number in scientific notation using the letter" -" 'e' to indicate the exponent." -msgstr "" - -#: ../../whatsnew/2.6.rst:817 -msgid "``g``" -msgstr "``g``" - -#: ../../whatsnew/2.6.rst:817 -msgid "" -"General format. This prints the number as a fixed-point number, unless the " -"number is too large, in which case it switches to 'e' exponent notation." -msgstr "" - -#: ../../whatsnew/2.6.rst:820 -msgid "``n``" -msgstr "``n``" - -#: ../../whatsnew/2.6.rst:820 -msgid "" -"Number. This is the same as 'g' (for floats) or 'd' (for integers), except " -"that it uses the current locale setting to insert the appropriate number " -"separator characters." -msgstr "" - -#: ../../whatsnew/2.6.rst:823 -msgid "``%``" -msgstr "``%``" - -#: ../../whatsnew/2.6.rst:823 -msgid "" -"Percentage. Multiplies the number by 100 and displays in fixed ('f') format," -" followed by a percent sign." -msgstr "" - -#: ../../whatsnew/2.6.rst:827 -msgid "" -"Classes and types can define a :meth:`__format__` method to control how " -"they're formatted. It receives a single argument, the format specifier::" -msgstr "" - -#: ../../whatsnew/2.6.rst:830 -msgid "" -"def __format__(self, format_spec):\n" -" if isinstance(format_spec, unicode):\n" -" return unicode(str(self))\n" -" else:\n" -" return str(self)" -msgstr "" - -#: ../../whatsnew/2.6.rst:836 -msgid "" -"There's also a :func:`format` builtin that will format a single value. It " -"calls the type's :meth:`__format__` method with the provided specifier::" -msgstr "" - -#: ../../whatsnew/2.6.rst:840 -msgid "" -">>> format(75.6564, '.2f')\n" -"'75.66'" -msgstr "" - -#: ../../whatsnew/2.6.rst:846 -msgid ":ref:`formatstrings`" -msgstr ":ref:`formatstrings`" - -#: ../../whatsnew/2.6.rst:847 -msgid "The reference documentation for format fields." -msgstr "" - -#: ../../whatsnew/2.6.rst:849 -msgid ":pep:`3101` - Advanced String Formatting" -msgstr "" - -#: ../../whatsnew/2.6.rst:850 -msgid "PEP written by Talin. Implemented by Eric Smith." -msgstr "" - -#: ../../whatsnew/2.6.rst:857 -msgid "PEP 3105: ``print`` As a Function" -msgstr "" - -#: ../../whatsnew/2.6.rst:859 -msgid "" -"The ``print`` statement becomes the :func:`print` function in Python 3.0. " -"Making :func:`print` a function makes it possible to replace the function by" -" doing ``def print(...)`` or importing a new function from somewhere else." -msgstr "" - -#: ../../whatsnew/2.6.rst:863 -msgid "" -"Python 2.6 has a ``__future__`` import that removes ``print`` as language " -"syntax, letting you use the functional form instead. For example::" -msgstr "" - -#: ../../whatsnew/2.6.rst:866 -msgid "" -">>> from __future__ import print_function\n" -">>> print('# of entries', len(dictionary), file=sys.stderr)" -msgstr "" - -#: ../../whatsnew/2.6.rst:869 -msgid "The signature of the new function is::" -msgstr "" - -#: ../../whatsnew/2.6.rst:871 -msgid "def print(*args, sep=' ', end='\\n', file=None)" -msgstr "" - -#: ../../whatsnew/2.6.rst:874 -msgid "The parameters are:" -msgstr "" - -#: ../../whatsnew/2.6.rst:876 -msgid "*args*: positional arguments whose values will be printed out." -msgstr "" - -#: ../../whatsnew/2.6.rst:877 -msgid "*sep*: the separator, which will be printed between arguments." -msgstr "" - -#: ../../whatsnew/2.6.rst:878 -msgid "" -"*end*: the ending text, which will be printed after all of the arguments " -"have been output." -msgstr "" - -#: ../../whatsnew/2.6.rst:880 -msgid "*file*: the file object to which the output will be sent." -msgstr "" - -#: ../../whatsnew/2.6.rst:884 -msgid ":pep:`3105` - Make print a function" -msgstr "" - -#: ../../whatsnew/2.6.rst:885 -msgid "PEP written by Georg Brandl." -msgstr "" - -#: ../../whatsnew/2.6.rst:892 -msgid "PEP 3110: Exception-Handling Changes" -msgstr "" - -#: ../../whatsnew/2.6.rst:894 -msgid "" -"One error that Python programmers occasionally make is writing the following" -" code::" -msgstr "" - -#: ../../whatsnew/2.6.rst:897 -msgid "" -"try:\n" -" ...\n" -"except TypeError, ValueError: # Wrong!\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.6.rst:902 -msgid "" -"The author is probably trying to catch both :exc:`TypeError` and " -":exc:`ValueError` exceptions, but this code actually does something " -"different: it will catch :exc:`TypeError` and bind the resulting exception " -"object to the local name ``\"ValueError\"``. The :exc:`ValueError` " -"exception will not be caught at all. The correct code specifies a tuple of " -"exceptions::" -msgstr "" - -#: ../../whatsnew/2.6.rst:909 -msgid "" -"try:\n" -" ...\n" -"except (TypeError, ValueError):\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.6.rst:914 -msgid "" -"This error happens because the use of the comma here is ambiguous: does it " -"indicate two different nodes in the parse tree, or a single node that's a " -"tuple?" -msgstr "" - -#: ../../whatsnew/2.6.rst:918 -msgid "" -"Python 3.0 makes this unambiguous by replacing the comma with the word " -"\"as\". To catch an exception and store the exception object in the " -"variable ``exc``, you must write::" -msgstr "" - -#: ../../whatsnew/2.6.rst:922 -msgid "" -"try:\n" -" ...\n" -"except TypeError as exc:\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.6.rst:927 -msgid "" -"Python 3.0 will only support the use of \"as\", and therefore interprets the" -" first example as catching two different exceptions. Python 2.6 supports " -"both the comma and \"as\", so existing code will continue to work. We " -"therefore suggest using \"as\" when writing new Python code that will only " -"be executed with 2.6." -msgstr "" - -#: ../../whatsnew/2.6.rst:935 -msgid ":pep:`3110` - Catching Exceptions in Python 3000" -msgstr "" - -#: ../../whatsnew/2.6.rst:936 -msgid "PEP written and implemented by Collin Winter." -msgstr "" - -#: ../../whatsnew/2.6.rst:943 -msgid "PEP 3112: Byte Literals" -msgstr "" - -#: ../../whatsnew/2.6.rst:945 -msgid "" -"Python 3.0 adopts Unicode as the language's fundamental string type and " -"denotes 8-bit literals differently, either as ``b'string'`` or using a " -":class:`bytes` constructor. For future compatibility, Python 2.6 adds " -":class:`bytes` as a synonym for the :class:`str` type, and it also supports " -"the ``b''`` notation." -msgstr "" - -#: ../../whatsnew/2.6.rst:952 -msgid "" -"The 2.6 :class:`str` differs from 3.0's :class:`bytes` type in various ways;" -" most notably, the constructor is completely different. In 3.0, " -"``bytes([65, 66, 67])`` is 3 elements long, containing the bytes " -"representing ``ABC``; in 2.6, ``bytes([65, 66, 67])`` returns the 12-byte " -"string representing the :func:`str` of the list." -msgstr "" - -#: ../../whatsnew/2.6.rst:958 -msgid "" -"The primary use of :class:`bytes` in 2.6 will be to write tests of object " -"type such as ``isinstance(x, bytes)``. This will help the 2to3 converter, " -"which can't tell whether 2.x code intends strings to contain either " -"characters or 8-bit bytes; you can now use either :class:`bytes` or " -":class:`str` to represent your intention exactly, and the resulting code " -"will also be correct in Python 3.0." -msgstr "" - -#: ../../whatsnew/2.6.rst:965 -msgid "" -"There's also a ``__future__`` import that causes all string literals to " -"become Unicode strings. This means that ``\\u`` escape sequences can be " -"used to include Unicode characters::" -msgstr "" - -#: ../../whatsnew/2.6.rst:970 -msgid "" -"from __future__ import unicode_literals\n" -"\n" -"s = ('\\u751f\\u3080\\u304e\\u3000\\u751f\\u3054'\n" -" '\\u3081\\u3000\\u751f\\u305f\\u307e\\u3054')\n" -"\n" -"print len(s) # 12 Unicode characters" -msgstr "" - -#: ../../whatsnew/2.6.rst:977 -msgid "" -"At the C level, Python 3.0 will rename the existing 8-bit string type, " -"called :c:type:`!PyStringObject` in Python 2.x, to :c:type:`PyBytesObject`." -" Python 2.6 uses ``#define`` to support using the names " -":c:func:`PyBytesObject`, :c:func:`PyBytes_Check`, " -":c:func:`PyBytes_FromStringAndSize`, and all the other functions and macros " -"used with strings." -msgstr "" - -#: ../../whatsnew/2.6.rst:984 -msgid "" -"Instances of the :class:`bytes` type are immutable just as strings are. A " -"new :class:`bytearray` type stores a mutable sequence of bytes::" -msgstr "" - -#: ../../whatsnew/2.6.rst:988 -msgid "" -">>> bytearray([65, 66, 67])\n" -"bytearray(b'ABC')\n" -">>> b = bytearray(u'\\u21ef\\u3244', 'utf-8')\n" -">>> b\n" -"bytearray(b'\\xe2\\x87\\xaf\\xe3\\x89\\x84')\n" -">>> b[0] = '\\xe3'\n" -">>> b\n" -"bytearray(b'\\xe3\\x87\\xaf\\xe3\\x89\\x84')\n" -">>> unicode(str(b), 'utf-8')\n" -"u'\\u31ef \\u3244'" -msgstr "" - -#: ../../whatsnew/2.6.rst:999 -msgid "" -"Byte arrays support most of the methods of string types, such as " -":meth:`startswith`/:meth:`endswith`, :meth:`find`/:meth:`rfind`, and some of" -" the methods of lists, such as :meth:`append`, :meth:`pop`, and " -":meth:`reverse`." -msgstr "" - -#: ../../whatsnew/2.6.rst:1006 -msgid "" -">>> b = bytearray('ABC')\n" -">>> b.append('d')\n" -">>> b.append(ord('e'))\n" -">>> b\n" -"bytearray(b'ABCde')" -msgstr "" - -#: ../../whatsnew/2.6.rst:1012 -msgid "" -"There's also a corresponding C API, with :c:func:`PyByteArray_FromObject`, " -":c:func:`PyByteArray_FromStringAndSize`, and various other functions." -msgstr "" - -#: ../../whatsnew/2.6.rst:1019 -msgid ":pep:`3112` - Bytes literals in Python 3000" -msgstr "" - -#: ../../whatsnew/2.6.rst:1020 -msgid "PEP written by Jason Orendorff; backported to 2.6 by Christian Heimes." -msgstr "" - -#: ../../whatsnew/2.6.rst:1027 -msgid "PEP 3116: New I/O Library" -msgstr "" - -#: ../../whatsnew/2.6.rst:1029 -msgid "" -"Python's built-in file objects support a number of methods, but file-like " -"objects don't necessarily support all of them. Objects that imitate files " -"usually support :meth:`read` and :meth:`write`, but they may not support " -":meth:`readline`, for example. Python 3.0 introduces a layered I/O library " -"in the :mod:`io` module that separates buffering and text-handling features " -"from the fundamental read and write operations." -msgstr "" - -#: ../../whatsnew/2.6.rst:1037 -msgid "" -"There are three levels of abstract base classes provided by the :mod:`io` " -"module:" -msgstr "" - -#: ../../whatsnew/2.6.rst:1040 -msgid "" -":class:`RawIOBase` defines raw I/O operations: :meth:`read`, " -":meth:`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, " -":meth:`truncate`, and :meth:`close`. Most of the methods of this class will " -"often map to a single system call. There are also :meth:`readable`, " -":meth:`writable`, and :meth:`seekable` methods for determining what " -"operations a given object will allow." -msgstr "" - -#: ../../whatsnew/2.6.rst:1048 -msgid "" -"Python 3.0 has concrete implementations of this class for files and sockets," -" but Python 2.6 hasn't restructured its file and socket objects in this way." -msgstr "" - -#: ../../whatsnew/2.6.rst:1052 -msgid "" -":class:`BufferedIOBase` is an abstract base class that buffers data in " -"memory to reduce the number of system calls used, making I/O processing more" -" efficient. It supports all of the methods of :class:`RawIOBase`, and adds a" -" :attr:`raw` attribute holding the underlying raw object." -msgstr "" - -#: ../../whatsnew/2.6.rst:1058 -msgid "" -"There are five concrete classes implementing this ABC. " -":class:`BufferedWriter` and :class:`BufferedReader` are for objects that " -"support write-only or read-only usage that have a :meth:`seek` method for " -"random access. :class:`BufferedRandom` objects support read and write " -"access upon the same underlying stream, and :class:`BufferedRWPair` is for " -"objects such as TTYs that have both read and write operations acting upon " -"unconnected streams of data. The :class:`BytesIO` class supports reading, " -"writing, and seeking over an in-memory buffer." -msgstr "" - -#: ../../whatsnew/2.6.rst:1071 -msgid "" -":class:`TextIOBase`: Provides functions for reading and writing strings " -"(remember, strings will be Unicode in Python 3.0), and supporting " -":term:`universal newlines`. :class:`TextIOBase` defines the " -":meth:`readline` method and supports iteration upon objects." -msgstr "" - -#: ../../whatsnew/2.6.rst:1077 -msgid "" -"There are two concrete implementations. :class:`TextIOWrapper` wraps a " -"buffered I/O object, supporting all of the methods for text I/O and adding a" -" :attr:`buffer` attribute for access to the underlying object. " -":class:`StringIO` simply buffers everything in memory without ever writing " -"anything to disk." -msgstr "" - -#: ../../whatsnew/2.6.rst:1083 -msgid "" -"(In Python 2.6, :class:`io.StringIO` is implemented in pure Python, so it's " -"pretty slow. You should therefore stick with the existing :mod:`!StringIO`" -" module or :mod:`!cStringIO` for now. At some point Python 3.0's :mod:`io` " -"module will be rewritten into C for speed, and perhaps the C implementation " -"will be backported to the 2.x releases.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1089 -msgid "" -"In Python 2.6, the underlying implementations haven't been restructured to " -"build on top of the :mod:`io` module's classes. The module is being " -"provided to make it easier to write code that's forward-compatible with 3.0," -" and to save developers the effort of writing their own implementations of " -"buffering and text I/O." -msgstr "" - -#: ../../whatsnew/2.6.rst:1097 -msgid ":pep:`3116` - New I/O" -msgstr "" - -#: ../../whatsnew/2.6.rst:1098 -msgid "" -"PEP written by Daniel Stutzbach, Mike Verdone, and Guido van Rossum. Code by" -" Guido van Rossum, Georg Brandl, Walter Doerwald, Jeremy Hylton, Martin von " -"Löwis, Tony Lownds, and others." -msgstr "" - -#: ../../whatsnew/2.6.rst:1107 -msgid "PEP 3118: Revised Buffer Protocol" -msgstr "" - -#: ../../whatsnew/2.6.rst:1109 -msgid "" -"The buffer protocol is a C-level API that lets Python types exchange " -"pointers into their internal representations. A memory-mapped file can be " -"viewed as a buffer of characters, for example, and this lets another module " -"such as :mod:`re` treat memory-mapped files as a string of characters to be " -"searched." -msgstr "" - -#: ../../whatsnew/2.6.rst:1115 -msgid "" -"The primary users of the buffer protocol are numeric-processing packages " -"such as NumPy, which expose the internal representation of arrays so that " -"callers can write data directly into an array instead of going through a " -"slower API. This PEP updates the buffer protocol in light of experience " -"from NumPy development, adding a number of new features such as indicating " -"the shape of an array or locking a memory region." -msgstr "" - -#: ../../whatsnew/2.6.rst:1122 -msgid "" -"The most important new C API function is ``PyObject_GetBuffer(PyObject *obj," -" Py_buffer *view, int flags)``, which takes an object and a set of flags, " -"and fills in the ``Py_buffer`` structure with information about the object's" -" memory representation. Objects can use this operation to lock memory in " -"place while an external caller could be modifying the contents, so there's a" -" corresponding ``PyBuffer_Release(Py_buffer *view)`` to indicate that the " -"external caller is done." -msgstr "" - -#: ../../whatsnew/2.6.rst:1132 -msgid "" -"The *flags* argument to :c:func:`PyObject_GetBuffer` specifies constraints " -"upon the memory returned. Some examples are:" -msgstr "" - -#: ../../whatsnew/2.6.rst:1135 -msgid ":c:macro:`PyBUF_WRITABLE` indicates that the memory must be writable." -msgstr "" - -#: ../../whatsnew/2.6.rst:1137 -msgid "" -":c:macro:`PyBUF_LOCK` requests a read-only or exclusive lock on the memory." -msgstr "" - -#: ../../whatsnew/2.6.rst:1139 -msgid "" -":c:macro:`PyBUF_C_CONTIGUOUS` and :c:macro:`PyBUF_F_CONTIGUOUS` requests a " -"C-contiguous (last dimension varies the fastest) or Fortran-contiguous " -"(first dimension varies the fastest) array layout." -msgstr "" - -#: ../../whatsnew/2.6.rst:1143 -msgid "" -"Two new argument codes for :c:func:`PyArg_ParseTuple`, ``s*`` and ``z*``, " -"return locked buffer objects for a parameter." -msgstr "" - -#: ../../whatsnew/2.6.rst:1148 -msgid ":pep:`3118` - Revising the buffer protocol" -msgstr "" - -#: ../../whatsnew/2.6.rst:1149 -msgid "" -"PEP written by Travis Oliphant and Carl Banks; implemented by Travis " -"Oliphant." -msgstr "" - -#: ../../whatsnew/2.6.rst:1158 -msgid "PEP 3119: Abstract Base Classes" -msgstr "" - -#: ../../whatsnew/2.6.rst:1160 -msgid "" -"Some object-oriented languages such as Java support interfaces, declaring " -"that a class has a given set of methods or supports a given access protocol." -" Abstract Base Classes (or ABCs) are an equivalent feature for Python. The " -"ABC support consists of an :mod:`abc` module containing a metaclass called " -":class:`ABCMeta`, special handling of this metaclass by the " -":func:`isinstance` and :func:`issubclass` builtins, and a collection of " -"basic ABCs that the Python developers think will be widely useful. Future " -"versions of Python will probably add more ABCs." -msgstr "" - -#: ../../whatsnew/2.6.rst:1170 -msgid "" -"Let's say you have a particular class and wish to know whether it supports " -"dictionary-style access. The phrase \"dictionary-style\" is vague, however." -" It probably means that accessing items with ``obj[1]`` works. Does it imply" -" that setting items with ``obj[2] = value`` works? Or that the object will " -"have :meth:`keys`, :meth:`values`, and :meth:`items` methods? What about " -"the iterative variants such as :meth:`iterkeys`? :meth:`copy` and " -":meth:`update`? Iterating over the object with :func:`iter`?" -msgstr "" - -#: ../../whatsnew/2.6.rst:1178 -msgid "" -"The Python 2.6 :mod:`collections` module includes a number of different ABCs" -" that represent these distinctions. :class:`Iterable` indicates that a " -"class defines :meth:`__iter__`, and :class:`Container` means the class " -"defines a :meth:`__contains__` method and therefore supports ``x in y`` " -"expressions. The basic dictionary interface of getting items, setting " -"items, and :meth:`keys`, :meth:`values`, and :meth:`items`, is defined by " -"the :class:`MutableMapping` ABC." -msgstr "" - -#: ../../whatsnew/2.6.rst:1187 -msgid "" -"You can derive your own classes from a particular ABC to indicate they " -"support that ABC's interface::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1190 -msgid "" -"import collections\n" -"\n" -"class Storage(collections.MutableMapping):\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.6.rst:1196 -msgid "" -"Alternatively, you could write the class without deriving from the desired " -"ABC and instead register the class by calling the ABC's :meth:`register` " -"method::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1200 -msgid "" -"import collections\n" -"\n" -"class Storage:\n" -" ...\n" -"\n" -"collections.MutableMapping.register(Storage)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1207 -msgid "" -"For classes that you write, deriving from the ABC is probably clearer. The " -":meth:`register` method is useful when you've written a new ABC that can " -"describe an existing type or class, or if you want to declare that some " -"third-party class implements an ABC. For example, if you defined a " -":class:`PrintableType` ABC, it's legal to do::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1214 -msgid "" -"# Register Python's types\n" -"PrintableType.register(int)\n" -"PrintableType.register(float)\n" -"PrintableType.register(str)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1219 -msgid "" -"Classes should obey the semantics specified by an ABC, but Python can't " -"check this; it's up to the class author to understand the ABC's requirements" -" and to implement the code accordingly." -msgstr "" - -#: ../../whatsnew/2.6.rst:1223 -msgid "" -"To check whether an object supports a particular interface, you can now " -"write::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1226 -msgid "" -"def func(d):\n" -" if not isinstance(d, collections.MutableMapping):\n" -" raise ValueError(\"Mapping object expected, not %r\" % d)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1230 -msgid "" -"Don't feel that you must now begin writing lots of checks as in the above " -"example. Python has a strong tradition of duck-typing, where explicit type-" -"checking is never done and code simply calls methods on an object, trusting " -"that those methods will be there and raising an exception if they aren't. " -"Be judicious in checking for ABCs and only do it where it's absolutely " -"necessary." -msgstr "" - -#: ../../whatsnew/2.6.rst:1237 -msgid "" -"You can write your own ABCs by using ``abc.ABCMeta`` as the metaclass in a " -"class definition::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1240 -msgid "" -"from abc import ABCMeta, abstractmethod\n" -"\n" -"class Drawable():\n" -" __metaclass__ = ABCMeta\n" -"\n" -" @abstractmethod\n" -" def draw(self, x, y, scale=1.0):\n" -" pass\n" -"\n" -" def draw_doubled(self, x, y):\n" -" self.draw(x, y, scale=2.0)\n" -"\n" -"\n" -"class Square(Drawable):\n" -" def draw(self, x, y, scale):\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.6.rst:1258 -msgid "" -"In the :class:`Drawable` ABC above, the :meth:`draw_doubled` method renders " -"the object at twice its size and can be implemented in terms of other " -"methods described in :class:`Drawable`. Classes implementing this ABC " -"therefore don't need to provide their own implementation of " -":meth:`draw_doubled`, though they can do so. An implementation of " -":meth:`draw` is necessary, though; the ABC can't provide a useful generic " -"implementation." -msgstr "" - -#: ../../whatsnew/2.6.rst:1266 -msgid "" -"You can apply the ``@abstractmethod`` decorator to methods such as " -":meth:`draw` that must be implemented; Python will then raise an exception " -"for classes that don't define the method. Note that the exception is only " -"raised when you actually try to create an instance of a subclass lacking the" -" method::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1272 -msgid "" -">>> class Circle(Drawable):\n" -"... pass\n" -"...\n" -">>> c = Circle()\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: Can't instantiate abstract class Circle with abstract methods draw\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.6.rst:1281 -msgid "" -"Abstract data attributes can be declared using the ``@abstractproperty`` " -"decorator::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1284 -msgid "" -"from abc import abstractproperty\n" -"...\n" -"\n" -"@abstractproperty\n" -"def readonly(self):\n" -" return self._x" -msgstr "" - -#: ../../whatsnew/2.6.rst:1291 -msgid "Subclasses must then define a :meth:`readonly` property." -msgstr "" - -#: ../../whatsnew/2.6.rst:1295 -msgid ":pep:`3119` - Introducing Abstract Base Classes" -msgstr "" - -#: ../../whatsnew/2.6.rst:1296 -msgid "" -"PEP written by Guido van Rossum and Talin. Implemented by Guido van Rossum. " -"Backported to 2.6 by Benjamin Aranguren, with Alex Martelli." -msgstr "" - -#: ../../whatsnew/2.6.rst:1305 -msgid "PEP 3127: Integer Literal Support and Syntax" -msgstr "" - -#: ../../whatsnew/2.6.rst:1307 -msgid "" -"Python 3.0 changes the syntax for octal (base-8) integer literals, prefixing" -" them with \"0o\" or \"0O\" instead of a leading zero, and adds support for " -"binary (base-2) integer literals, signalled by a \"0b\" or \"0B\" prefix." -msgstr "" - -#: ../../whatsnew/2.6.rst:1312 -msgid "" -"Python 2.6 doesn't drop support for a leading 0 signalling an octal number, " -"but it does add support for \"0o\" and \"0b\"::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1315 -msgid "" -">>> 0o21, 2*8 + 1\n" -"(17, 17)\n" -">>> 0b101111\n" -"47" -msgstr "" - -#: ../../whatsnew/2.6.rst:1320 -msgid "" -"The :func:`oct` builtin still returns numbers prefixed with a leading zero, " -"and a new :func:`bin` builtin returns the binary representation for a " -"number::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1324 -msgid "" -">>> oct(42)\n" -"'052'\n" -">>> future_builtins.oct(42)\n" -"'0o52'\n" -">>> bin(173)\n" -"'0b10101101'" -msgstr "" - -#: ../../whatsnew/2.6.rst:1331 -msgid "" -"The :func:`int` and :func:`long` builtins will now accept the \"0o\" and " -"\"0b\" prefixes when base-8 or base-2 are requested, or when the *base* " -"argument is zero (signalling that the base used should be determined from " -"the string)::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1336 -msgid "" -">>> int ('0o52', 0)\n" -"42\n" -">>> int('1101', 2)\n" -"13\n" -">>> int('0b1101', 2)\n" -"13\n" -">>> int('0b1101', 0)\n" -"13" -msgstr "" - -#: ../../whatsnew/2.6.rst:1348 -msgid ":pep:`3127` - Integer Literal Support and Syntax" -msgstr "" - -#: ../../whatsnew/2.6.rst:1349 -msgid "PEP written by Patrick Maupin; backported to 2.6 by Eric Smith." -msgstr "" - -#: ../../whatsnew/2.6.rst:1357 -msgid "PEP 3129: Class Decorators" -msgstr "" - -#: ../../whatsnew/2.6.rst:1359 -msgid "" -"Decorators have been extended from functions to classes. It's now legal to " -"write::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1362 -msgid "" -"@foo\n" -"@bar\n" -"class A:\n" -" pass" -msgstr "" - -#: ../../whatsnew/2.6.rst:1367 -msgid "This is equivalent to::" -msgstr "Ini setara dengan::" - -#: ../../whatsnew/2.6.rst:1369 -msgid "" -"class A:\n" -" pass\n" -"\n" -"A = foo(bar(A))" -msgstr "" - -#: ../../whatsnew/2.6.rst:1376 -msgid ":pep:`3129` - Class Decorators" -msgstr "" - -#: ../../whatsnew/2.6.rst:1377 -msgid "PEP written by Collin Winter." -msgstr "" - -#: ../../whatsnew/2.6.rst:1384 -msgid "PEP 3141: A Type Hierarchy for Numbers" -msgstr "" - -#: ../../whatsnew/2.6.rst:1386 -msgid "" -"Python 3.0 adds several abstract base classes for numeric types inspired by " -"Scheme's numeric tower. These classes were backported to 2.6 as the " -":mod:`numbers` module." -msgstr "" - -#: ../../whatsnew/2.6.rst:1390 -msgid "" -"The most general ABC is :class:`Number`. It defines no operations at all, " -"and only exists to allow checking if an object is a number by doing " -"``isinstance(obj, Number)``." -msgstr "" - -#: ../../whatsnew/2.6.rst:1394 -msgid "" -":class:`Complex` is a subclass of :class:`Number`. Complex numbers can " -"undergo the basic operations of addition, subtraction, multiplication, " -"division, and exponentiation, and you can retrieve the real and imaginary " -"parts and obtain a number's conjugate. Python's built-in complex type is an" -" implementation of :class:`Complex`." -msgstr "" - -#: ../../whatsnew/2.6.rst:1400 -msgid "" -":class:`Real` further derives from :class:`Complex`, and adds operations " -"that only work on real numbers: :func:`floor`, :func:`trunc`, rounding, " -"taking the remainder mod N, floor division, and comparisons." -msgstr "" - -#: ../../whatsnew/2.6.rst:1405 -msgid "" -":class:`Rational` numbers derive from :class:`Real`, have :attr:`numerator` " -"and :attr:`denominator` properties, and can be converted to floats. Python " -"2.6 adds a simple rational-number class, :class:`Fraction`, in the " -":mod:`fractions` module. (It's called :class:`Fraction` instead of " -":class:`Rational` to avoid a name clash with :class:`numbers.Rational`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1412 -msgid "" -":class:`Integral` numbers derive from :class:`Rational`, and can be shifted " -"left and right with ``<<`` and ``>>``, combined using bitwise operations " -"such as ``&`` and ``|``, and can be used as array indexes and slice " -"boundaries." -msgstr "" - -#: ../../whatsnew/2.6.rst:1417 -msgid "" -"In Python 3.0, the PEP slightly redefines the existing builtins " -":func:`round`, :func:`math.floor`, :func:`math.ceil`, and adds a new one, " -":func:`math.trunc`, that's been backported to Python 2.6. :func:`math.trunc`" -" rounds toward zero, returning the closest :class:`Integral` that's between " -"the function's argument and zero." -msgstr "" - -#: ../../whatsnew/2.6.rst:1425 -msgid ":pep:`3141` - A Type Hierarchy for Numbers" -msgstr "" - -#: ../../whatsnew/2.6.rst:1426 -msgid "PEP written by Jeffrey Yasskin." -msgstr "" - -#: ../../whatsnew/2.6.rst:1428 -msgid "" -"`Scheme's numerical tower " -"`__, from the Guile manual." -msgstr "" - -#: ../../whatsnew/2.6.rst:1430 -msgid "" -"`Scheme's number datatypes " -"`__ from the R5RS Scheme specification." -msgstr "" - -#: ../../whatsnew/2.6.rst:1434 -msgid "The :mod:`fractions` Module" -msgstr "" - -#: ../../whatsnew/2.6.rst:1436 -msgid "" -"To fill out the hierarchy of numeric types, the :mod:`fractions` module " -"provides a rational-number class. Rational numbers store their values as a " -"numerator and denominator forming a fraction, and can exactly represent " -"numbers such as ``2/3`` that floating-point numbers can only approximate." -msgstr "" - -#: ../../whatsnew/2.6.rst:1442 -msgid "" -"The :class:`Fraction` constructor takes two :class:`Integral` values that " -"will be the numerator and denominator of the resulting fraction. ::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1445 -msgid "" -">>> from fractions import Fraction\n" -">>> a = Fraction(2, 3)\n" -">>> b = Fraction(2, 5)\n" -">>> float(a), float(b)\n" -"(0.66666666666666663, 0.40000000000000002)\n" -">>> a+b\n" -"Fraction(16, 15)\n" -">>> a/b\n" -"Fraction(5, 3)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1455 -msgid "" -"For converting floating-point numbers to rationals, the float type now has " -"an :meth:`as_integer_ratio` method that returns the numerator and " -"denominator for a fraction that evaluates to the same floating-point value::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1460 -msgid "" -">>> (2.5) .as_integer_ratio()\n" -"(5, 2)\n" -">>> (3.1415) .as_integer_ratio()\n" -"(7074029114692207L, 2251799813685248L)\n" -">>> (1./3) .as_integer_ratio()\n" -"(6004799503160661L, 18014398509481984L)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1467 -msgid "" -"Note that values that can only be approximated by floating-point numbers, " -"such as 1./3, are not simplified to the number being approximated; the " -"fraction attempts to match the floating-point value **exactly**." -msgstr "" - -#: ../../whatsnew/2.6.rst:1472 -msgid "" -"The :mod:`fractions` module is based upon an implementation by Sjoerd " -"Mullender that was in Python's :file:`Demo/classes/` directory for a long " -"time. This implementation was significantly updated by Jeffrey Yasskin." -msgstr "" - -#: ../../whatsnew/2.6.rst:1479 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/2.6.rst:1481 -msgid "Some smaller changes made to the core Python language are:" -msgstr "" - -#: ../../whatsnew/2.6.rst:1483 -msgid "" -"Directories and zip archives containing a :file:`__main__.py` file can now " -"be executed directly by passing their name to the interpreter. The directory" -" or zip archive is automatically inserted as the first entry in sys.path. " -"(Suggestion and initial patch by Andy Chu, subsequently revised by Phillip " -"J. Eby and Nick Coghlan; :issue:`1739468`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1490 -msgid "" -"The :func:`hasattr` function was catching and ignoring all errors, under the" -" assumption that they meant a :meth:`__getattr__` method was failing somehow" -" and the return value of :func:`hasattr` would therefore be ``False``. This" -" logic shouldn't be applied to :exc:`KeyboardInterrupt` and " -":exc:`SystemExit`, however; Python 2.6 will no longer discard such " -"exceptions when :func:`hasattr` encounters them. (Fixed by Benjamin " -"Peterson; :issue:`2196`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1498 -msgid "" -"When calling a function using the ``**`` syntax to provide keyword " -"arguments, you are no longer required to use a Python dictionary; any " -"mapping will now work::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1502 -msgid "" -">>> def f(**kw):\n" -"... print sorted(kw)\n" -"...\n" -">>> ud=UserDict.UserDict()\n" -">>> ud['a'] = 1\n" -">>> ud['b'] = 'string'\n" -">>> f(**ud)\n" -"['a', 'b']" -msgstr "" - -#: ../../whatsnew/2.6.rst:1511 -msgid "(Contributed by Alexander Belopolsky; :issue:`1686487`.)" -msgstr "(Kontribusi dari Alexander Belopolsky; :issue:`1686487`.)" - -#: ../../whatsnew/2.6.rst:1513 -msgid "" -"It's also become legal to provide keyword arguments after a ``*args`` " -"argument to a function call. ::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1516 -msgid "" -">>> def f(*args, **kw):\n" -"... print args, kw\n" -"...\n" -">>> f(1,2,3, *(4,5,6), keyword=13)\n" -"(1, 2, 3, 4, 5, 6) {'keyword': 13}" -msgstr "" - -#: ../../whatsnew/2.6.rst:1522 -msgid "" -"Previously this would have been a syntax error. (Contributed by Amaury " -"Forgeot d'Arc; :issue:`3473`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1525 -msgid "" -"A new builtin, ``next(iterator, [default])`` returns the next item from the " -"specified iterator. If the *default* argument is supplied, it will be " -"returned if *iterator* has been exhausted; otherwise, the " -":exc:`StopIteration` exception will be raised. (Backported in " -":issue:`2719`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1531 -msgid "" -"Tuples now have :meth:`index` and :meth:`count` methods matching the list " -"type's :meth:`index` and :meth:`count` methods::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1534 -msgid "" -">>> t = (0,1,2,3,4,0,1,2)\n" -">>> t.index(3)\n" -"3\n" -">>> t.count(0)\n" -"2" -msgstr "" - -#: ../../whatsnew/2.6.rst:1540 -msgid "(Contributed by Raymond Hettinger)" -msgstr "(Kontribusi dari Raymond Hettinger)" - -#: ../../whatsnew/2.6.rst:1542 -msgid "" -"The built-in types now have improved support for extended slicing syntax, " -"accepting various combinations of ``(start, stop, step)``. Previously, the " -"support was partial and certain corner cases wouldn't work. (Implemented by " -"Thomas Wouters.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1549 -msgid "" -"Properties now have three attributes, :attr:`getter`, :attr:`setter` and " -":attr:`deleter`, that are decorators providing useful shortcuts for adding a" -" getter, setter or deleter function to an existing property. You would use " -"them like this::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1554 -msgid "" -"class C(object):\n" -" @property\n" -" def x(self):\n" -" return self._x\n" -"\n" -" @x.setter\n" -" def x(self, value):\n" -" self._x = value\n" -"\n" -" @x.deleter\n" -" def x(self):\n" -" del self._x\n" -"\n" -"class D(C):\n" -" @C.x.getter\n" -" def x(self):\n" -" return self._x * 2\n" -"\n" -" @x.setter\n" -" def x(self, value):\n" -" self._x = value / 2" -msgstr "" - -#: ../../whatsnew/2.6.rst:1576 -msgid "" -"Several methods of the built-in set types now accept multiple iterables: " -":meth:`intersection`, :meth:`intersection_update`, :meth:`union`, " -":meth:`update`, :meth:`difference` and :meth:`difference_update`." -msgstr "" - -#: ../../whatsnew/2.6.rst:1584 -msgid "" -">>> s=set('1234567890')\n" -">>> s.intersection('abc123', 'cdf246') # Intersection between all inputs\n" -"set(['2'])\n" -">>> s.difference('246', '789')\n" -"set(['1', '0', '3', '5'])" -msgstr "" - -#: ../../whatsnew/2.6.rst:1590 ../../whatsnew/2.6.rst:1875 -#: ../../whatsnew/2.6.rst:1896 -msgid "(Contributed by Raymond Hettinger.)" -msgstr "(Kontribusi dari Raymond Hettinger.)" - -#: ../../whatsnew/2.6.rst:1592 -msgid "" -"Many floating-point features were added. The :func:`float` function will " -"now turn the string ``nan`` into an IEEE 754 Not A Number value, and " -"``+inf`` and ``-inf`` into positive or negative infinity. This works on any" -" platform with IEEE 754 semantics. (Contributed by Christian Heimes; " -":issue:`1635`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1598 -msgid "" -"Other functions in the :mod:`math` module, :func:`isinf` and :func:`isnan`, " -"return true if their floating-point argument is infinite or Not A Number. " -"(:issue:`1640`)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1602 -msgid "" -"Conversion functions were added to convert floating-point numbers into " -"hexadecimal strings (:issue:`3008`). These functions convert floats to and " -"from a string representation without introducing rounding errors from the " -"conversion between decimal and binary. Floats have a :meth:`hex` method " -"that returns a string representation, and the ``float.fromhex()`` method " -"converts a string back into a number::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1610 -msgid "" -">>> a = 3.75\n" -">>> a.hex()\n" -"'0x1.e000000000000p+1'\n" -">>> float.fromhex('0x1.e000000000000p+1')\n" -"3.75\n" -">>> b=1./3\n" -">>> b.hex()\n" -"'0x1.5555555555555p-2'" -msgstr "" - -#: ../../whatsnew/2.6.rst:1619 -msgid "" -"A numerical nicety: when creating a complex number from two floats on " -"systems that support signed zeros (-0 and +0), the :func:`complex` " -"constructor will now preserve the sign of the zero. (Fixed by Mark T. " -"Dickinson; :issue:`1507`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1624 -msgid "" -"Classes that inherit a :meth:`__hash__` method from a parent class can set " -"``__hash__ = None`` to indicate that the class isn't hashable. This will " -"make ``hash(obj)`` raise a :exc:`TypeError` and the class will not be " -"indicated as implementing the :class:`Hashable` ABC." -msgstr "" - -#: ../../whatsnew/2.6.rst:1630 -msgid "" -"You should do this when you've defined a :meth:`__cmp__` or :meth:`__eq__` " -"method that compares objects by their value rather than by identity. All " -"objects have a default hash method that uses ``id(obj)`` as the hash value." -" There's no tidy way to remove the :meth:`__hash__` method inherited from a" -" parent class, so assigning ``None`` was implemented as an override. At the" -" C level, extensions can set ``tp_hash`` to " -":c:func:`PyObject_HashNotImplemented`. (Fixed by Nick Coghlan and Amaury " -"Forgeot d'Arc; :issue:`2235`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1640 -msgid "" -"The :exc:`GeneratorExit` exception now subclasses :exc:`BaseException` " -"instead of :exc:`Exception`. This means that an exception handler that does" -" ``except Exception:`` will not inadvertently catch :exc:`GeneratorExit`. " -"(Contributed by Chad Austin; :issue:`1537`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1646 -msgid "" -"Generator objects now have a :attr:`gi_code` attribute that refers to the " -"original code object backing the generator. (Contributed by Collin Winter; " -":issue:`1473257`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1650 -msgid "" -"The :func:`compile` built-in function now accepts keyword arguments as well " -"as positional parameters. (Contributed by Thomas Wouters; " -":issue:`1444529`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1654 -msgid "" -"The :func:`complex` constructor now accepts strings containing parenthesized" -" complex numbers, meaning that ``complex(repr(cplx))`` will now round-trip " -"values. For example, ``complex('(3+4j)')`` now returns the value (3+4j). " -"(:issue:`1491866`)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1659 -msgid "" -"The string :meth:`translate` method now accepts ``None`` as the translation " -"table parameter, which is treated as the identity transformation. This " -"makes it easier to carry out operations that only delete characters. " -"(Contributed by Bengt Richter and implemented by Raymond Hettinger; " -":issue:`1193128`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1665 -msgid "" -"The built-in :func:`dir` function now checks for a :meth:`__dir__` method on" -" the objects it receives. This method must return a list of strings " -"containing the names of valid attributes for the object, and lets the object" -" control the value that :func:`dir` produces. Objects that have " -":meth:`__getattr__` or :meth:`__getattribute__` methods can use this to " -"advertise pseudo-attributes they will honor. (:issue:`1591665`)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1673 -msgid "" -"Instance method objects have new attributes for the object and function " -"comprising the method; the new synonym for :attr:`!im_self` is " -":attr:`~method.__self__`, and :attr:`!im_func` is also available as " -":attr:`~method.__func__`. The old names are still supported in Python 2.6, " -"but are gone in 3.0." -msgstr "" - -#: ../../whatsnew/2.6.rst:1679 -msgid "" -"An obscure change: when you use the :func:`locals` function inside a " -":keyword:`class` statement, the resulting dictionary no longer returns free " -"variables. (Free variables, in this case, are variables referenced in the " -":keyword:`!class` statement that aren't attributes of the class.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1688 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/2.6.rst:1690 -msgid "" -"The :mod:`warnings` module has been rewritten in C. This makes it possible " -"to invoke warnings from the parser, and may also make the interpreter's " -"startup faster. (Contributed by Neal Norwitz and Brett Cannon; " -":issue:`1631171`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1695 -msgid "" -"Type objects now have a cache of methods that can reduce the work required " -"to find the correct method implementation for a particular class; once " -"cached, the interpreter doesn't need to traverse base classes to figure out " -"the right method to call. The cache is cleared if a base class or the class " -"itself is modified, so the cache should remain correct even in the face of " -"Python's dynamic nature. (Original optimization implemented by Armin Rigo, " -"updated for Python 2.6 by Kevin Jacobs; :issue:`1700288`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1705 -msgid "" -"By default, this change is only applied to types that are included with the " -"Python core. Extension modules may not necessarily be compatible with this " -"cache, so they must explicitly add :c:macro:`Py_TPFLAGS_HAVE_VERSION_TAG` to" -" the module's ``tp_flags`` field to enable the method cache. (To be " -"compatible with the method cache, the extension module's code must not " -"directly access and modify the ``tp_dict`` member of any of the types it " -"implements. Most modules don't do this, but it's impossible for the Python " -"interpreter to determine that. See :issue:`1878` for some discussion.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1716 -msgid "" -"Function calls that use keyword arguments are significantly faster by doing " -"a quick pointer comparison, usually saving the time of a full string " -"comparison. (Contributed by Raymond Hettinger, after an initial " -"implementation by Antoine Pitrou; :issue:`1819`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1721 -msgid "" -"All of the functions in the :mod:`struct` module have been rewritten in C, " -"thanks to work at the Need For Speed sprint. (Contributed by Raymond " -"Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1725 -msgid "" -"Some of the standard built-in types now set a bit in their type objects. " -"This speeds up checking whether an object is a subclass of one of these " -"types. (Contributed by Neal Norwitz.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1729 -msgid "" -"Unicode strings now use faster code for detecting whitespace and line " -"breaks; this speeds up the :meth:`split` method by about 25% and " -":meth:`splitlines` by 35%. (Contributed by Antoine Pitrou.) Memory usage is" -" reduced by using pymalloc for the Unicode string's data." -msgstr "" - -#: ../../whatsnew/2.6.rst:1735 -msgid "" -"The ``with`` statement now stores the :meth:`~object.__exit__` method on the" -" stack, producing a small speedup. (Implemented by Jeffrey Yasskin.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1738 -msgid "" -"To reduce memory usage, the garbage collector will now clear internal free " -"lists when garbage-collecting the highest generation of objects. This may " -"return memory to the operating system sooner." -msgstr "" - -#: ../../whatsnew/2.6.rst:1747 -msgid "Interpreter Changes" -msgstr "Perubahan Interpreter" - -#: ../../whatsnew/2.6.rst:1749 -msgid "" -"Two command-line options have been reserved for use by other Python " -"implementations. The :option:`!-J` switch has been reserved for use by " -"Jython for Jython-specific options, such as switches that are passed to the " -"underlying JVM. :option:`-X` has been reserved for options specific to a " -"particular implementation of Python such as CPython, Jython, or IronPython." -" If either option is used with Python 2.6, the interpreter will report that" -" the option isn't currently used." -msgstr "" - -#: ../../whatsnew/2.6.rst:1757 -msgid "" -"Python can now be prevented from writing :file:`.pyc` or :file:`.pyo` files " -"by supplying the :option:`-B` switch to the Python interpreter, or by " -"setting the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable before " -"running the interpreter. This setting is available to Python programs as " -"the ``sys.dont_write_bytecode`` variable, and Python code can change the " -"value to modify the interpreter's behaviour. (Contributed by Neal Norwitz " -"and Georg Brandl.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1765 -msgid "" -"The encoding used for standard input, output, and standard error can be " -"specified by setting the :envvar:`PYTHONIOENCODING` environment variable " -"before running the interpreter. The value should be a string in the form " -"```` or ``:``. The *encoding* part " -"specifies the encoding's name, e.g. ``utf-8`` or ``latin-1``; the optional " -"*errorhandler* part specifies what to do with characters that can't be " -"handled by the encoding, and should be one of \"error\", \"ignore\", or " -"\"replace\". (Contributed by Martin von Löwis.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1778 -msgid "New and Improved Modules" -msgstr "Modul Baru dan Ditingkatkan" - -#: ../../whatsnew/2.6.rst:1780 -msgid "" -"As in every release, Python's standard library received a number of " -"enhancements and bug fixes. Here's a partial list of the most notable " -"changes, sorted alphabetically by module name. Consult the :file:`Misc/NEWS`" -" file in the source tree for a more complete list of changes, or look " -"through the Subversion logs for all the details." -msgstr "" - -#: ../../whatsnew/2.6.rst:1786 -msgid "" -"The :mod:`!asyncore` and :mod:`!asynchat` modules are being actively " -"maintained again, and a number of patches and bugfixes were applied. " -"(Maintained by Josiah Carlson; see :issue:`1736190` for one patch.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1791 -msgid "" -"The :mod:`bsddb` module also has a new maintainer, Jesús Cea Avión, and the " -"package is now available as a standalone package. The web page for the " -"package is `www.jcea.es/programacion/pybsddb.htm " -"`__. The plan is to remove the" -" package from the standard library in Python 3.0, because its pace of " -"releases is much more frequent than Python's." -msgstr "" - -#: ../../whatsnew/2.6.rst:1799 -msgid "" -"The :mod:`bsddb.dbshelve` module now uses the highest pickling protocol " -"available, instead of restricting itself to protocol 1. (Contributed by W. " -"Barnes.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1803 -msgid "" -"The :mod:`!cgi` module will now read variables from the query string of an " -"HTTP POST request. This makes it possible to use form actions with URLs " -"that include query strings such as \"/cgi-bin/add.py?category=1\". " -"(Contributed by Alexandre Fiori and Nubis; :issue:`1817`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1809 -msgid "" -"The :func:`parse_qs` and :func:`parse_qsl` functions have been relocated " -"from the :mod:`!cgi` module to the :mod:`urlparse ` module. " -"The versions still available in the :mod:`!cgi` module will trigger " -":exc:`PendingDeprecationWarning` messages in 2.6 (:issue:`600362`)." -msgstr "" - -#: ../../whatsnew/2.6.rst:1815 -msgid "" -"The :mod:`cmath` module underwent extensive revision, contributed by Mark " -"Dickinson and Christian Heimes. Five new functions were added:" -msgstr "" - -#: ../../whatsnew/2.6.rst:1819 -msgid "" -":func:`polar` converts a complex number to polar form, returning the modulus" -" and argument of the complex number." -msgstr "" - -#: ../../whatsnew/2.6.rst:1822 -msgid "" -":func:`rect` does the opposite, turning a modulus, argument pair back into " -"the corresponding complex number." -msgstr "" - -#: ../../whatsnew/2.6.rst:1825 -msgid "" -":func:`phase` returns the argument (also called the angle) of a complex " -"number." -msgstr "" - -#: ../../whatsnew/2.6.rst:1828 -msgid "" -":func:`isnan` returns True if either the real or imaginary part of its " -"argument is a NaN." -msgstr "" - -#: ../../whatsnew/2.6.rst:1831 -msgid "" -":func:`isinf` returns True if either the real or imaginary part of its " -"argument is infinite." -msgstr "" - -#: ../../whatsnew/2.6.rst:1834 -msgid "" -"The revisions also improved the numerical soundness of the :mod:`cmath` " -"module. For all functions, the real and imaginary parts of the results are " -"accurate to within a few units of least precision (ulps) whenever possible." -" See :issue:`1381` for the details. The branch cuts for :func:`asinh`, " -":func:`atanh`: and :func:`atan` have also been corrected." -msgstr "" - -#: ../../whatsnew/2.6.rst:1841 -msgid "" -"The tests for the module have been greatly expanded; nearly 2000 new test " -"cases exercise the algebraic functions." -msgstr "" - -#: ../../whatsnew/2.6.rst:1844 -msgid "" -"On IEEE 754 platforms, the :mod:`cmath` module now handles IEEE 754 special " -"values and floating-point exceptions in a manner consistent with Annex 'G' " -"of the C99 standard." -msgstr "" - -#: ../../whatsnew/2.6.rst:1848 -msgid "" -"A new data type in the :mod:`collections` module: ``namedtuple(typename, " -"fieldnames)`` is a factory function that creates subclasses of the standard " -"tuple whose fields are accessible by name as well as index. For example::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1852 -msgid "" -">>> var_type = collections.namedtuple('variable',\n" -"... 'id name type size')\n" -">>> # Names are separated by spaces or commas.\n" -">>> # 'id, name, type, size' would also work.\n" -">>> var_type._fields\n" -"('id', 'name', 'type', 'size')\n" -"\n" -">>> var = var_type(1, 'frequency', 'int', 4)\n" -">>> print var[0], var.id # Equivalent\n" -"1 1\n" -">>> print var[2], var.type # Equivalent\n" -"int int\n" -">>> var._asdict()\n" -"{'size': 4, 'type': 'int', 'id': 1, 'name': 'frequency'}\n" -">>> v2 = var._replace(name='amplitude')\n" -">>> v2\n" -"variable(id=1, name='amplitude', type='int', size=4)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1870 -msgid "" -"Several places in the standard library that returned tuples have been " -"modified to return :func:`namedtuple` instances. For example, the " -":meth:`Decimal.as_tuple` method now returns a named tuple with :attr:`sign`," -" :attr:`digits`, and :attr:`exponent` fields." -msgstr "" - -#: ../../whatsnew/2.6.rst:1877 -msgid "" -"Another change to the :mod:`collections` module is that the :class:`deque` " -"type now supports an optional *maxlen* parameter; if supplied, the deque's " -"size will be restricted to no more than *maxlen* items. Adding more items " -"to a full deque causes old items to be discarded." -msgstr "" - -#: ../../whatsnew/2.6.rst:1885 -msgid "" -">>> from collections import deque\n" -">>> dq=deque(maxlen=3)\n" -">>> dq\n" -"deque([], maxlen=3)\n" -">>> dq.append(1); dq.append(2); dq.append(3)\n" -">>> dq\n" -"deque([1, 2, 3], maxlen=3)\n" -">>> dq.append(4)\n" -">>> dq\n" -"deque([2, 3, 4], maxlen=3)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1898 -msgid "" -"The :mod:`Cookie ` module's :class:`~http.cookies.Morsel` " -"objects now support an :attr:`~http.cookies.Morsel.httponly` attribute. In " -"some browsers. cookies with this attribute set cannot be accessed or " -"manipulated by JavaScript code. (Contributed by Arvin Schnell; " -":issue:`1638033`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1903 -msgid "" -"A new window method in the :mod:`curses` module, :meth:`chgat`, changes the " -"display attributes for a certain number of characters on a single line. " -"(Contributed by Fabian Kreutz.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1909 -msgid "" -"# Boldface text starting at y=0,x=21\n" -"# and affecting the rest of the line.\n" -"stdscr.chgat(0, 21, curses.A_BOLD)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1913 -msgid "" -"The :class:`Textbox` class in the :mod:`curses.textpad` module now supports " -"editing in insert mode as well as overwrite mode. Insert mode is enabled by " -"supplying a true value for the *insert_mode* parameter when creating the " -":class:`Textbox` instance." -msgstr "" - -#: ../../whatsnew/2.6.rst:1918 -msgid "" -"The :mod:`datetime` module's :meth:`strftime` methods now support a ``%f`` " -"format code that expands to the number of microseconds in the object, zero-" -"padded on the left to six places. (Contributed by Skip Montanaro; " -":issue:`1158`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1923 -msgid "" -"The :mod:`decimal` module was updated to version 1.66 of `the General " -"Decimal Specification `__. " -"New features include some methods for some basic mathematical functions such" -" as :meth:`exp` and :meth:`log10`::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1928 -msgid "" -">>> Decimal(1).exp()\n" -"Decimal(\"2.718281828459045235360287471\")\n" -">>> Decimal(\"2.7182818\").ln()\n" -"Decimal(\"0.9999999895305022877376682436\")\n" -">>> Decimal(1000).log10()\n" -"Decimal(\"3\")" -msgstr "" - -#: ../../whatsnew/2.6.rst:1935 -msgid "" -"The :meth:`as_tuple` method of :class:`Decimal` objects now returns a named " -"tuple with :attr:`sign`, :attr:`digits`, and :attr:`exponent` fields." -msgstr "" - -#: ../../whatsnew/2.6.rst:1938 -msgid "" -"(Implemented by Facundo Batista and Mark Dickinson. Named tuple support " -"added by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1941 -msgid "" -"The :mod:`difflib` module's :class:`SequenceMatcher` class now returns named" -" tuples representing matches, with :attr:`a`, :attr:`b`, and :attr:`size` " -"attributes. (Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1946 -msgid "" -"An optional ``timeout`` parameter, specifying a timeout measured in seconds," -" was added to the :class:`ftplib.FTP` class constructor as well as the " -":meth:`connect` method. (Added by Facundo Batista.) Also, the :class:`FTP` " -"class's :meth:`storbinary` and :meth:`storlines` now take an optional " -"*callback* parameter that will be called with each block of data after the " -"data has been sent. (Contributed by Phil Schwartz; :issue:`1221598`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1954 -msgid "" -"The :func:`reduce` built-in function is also available in the " -":mod:`functools` module. In Python 3.0, the builtin has been dropped and " -":func:`reduce` is only available from :mod:`functools`; currently there are " -"no plans to drop the builtin in the 2.x series. (Patched by Christian " -"Heimes; :issue:`1739906`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1960 -msgid "" -"When possible, the :mod:`getpass` module will now use :file:`/dev/tty` to " -"print a prompt message and read the password, falling back to standard error" -" and standard input. If the password may be echoed to the terminal, a " -"warning is printed before the prompt is displayed. (Contributed by Gregory " -"P. Smith.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1966 -msgid "" -"The :func:`glob.glob` function can now return Unicode filenames if a Unicode" -" path was used and Unicode filenames are matched within the directory. " -"(:issue:`1001604`)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1970 -msgid "" -"A new function in the :mod:`heapq` module, ``merge(iter1, iter2, ...)``, " -"takes any number of iterables returning data in sorted order, and returns a " -"new generator that returns the contents of all the iterators, also in sorted" -" order. For example::" -msgstr "" - -#: ../../whatsnew/2.6.rst:1975 -msgid "" -">>> list(heapq.merge([1, 3, 5, 9], [2, 8, 16]))\n" -"[1, 2, 3, 5, 8, 9, 16]" -msgstr "" - -#: ../../whatsnew/2.6.rst:1978 -msgid "" -"Another new function, ``heappushpop(heap, item)``, pushes *item* onto " -"*heap*, then pops off and returns the smallest item. This is more efficient " -"than making a call to :func:`heappush` and then :func:`heappop`." -msgstr "" - -#: ../../whatsnew/2.6.rst:1983 -msgid "" -":mod:`heapq` is now implemented to only use less-than comparison, instead of" -" the less-than-or-equal comparison it previously used. This makes " -":mod:`heapq`'s usage of a type match the :meth:`list.sort` method. " -"(Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1989 -msgid "" -"An optional ``timeout`` parameter, specifying a timeout measured in seconds," -" was added to the :class:`httplib.HTTPConnection " -"` and :class:`HTTPSConnection " -"` class constructors. (Added by Facundo " -"Batista.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:1994 -msgid "" -"Most of the :mod:`inspect` module's functions, such as :func:`getmoduleinfo`" -" and :func:`getargs`, now return named tuples. In addition to behaving like " -"tuples, the elements of the return value can also be accessed as " -"attributes. (Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2000 -msgid "" -"Some new functions in the module include :func:`isgenerator`, " -":func:`isgeneratorfunction`, and :func:`isabstract`." -msgstr "" - -#: ../../whatsnew/2.6.rst:2004 -msgid "The :mod:`itertools` module gained several new functions." -msgstr "" - -#: ../../whatsnew/2.6.rst:2006 -msgid "" -"``izip_longest(iter1, iter2, ...[, fillvalue])`` makes tuples from each of " -"the elements; if some of the iterables are shorter than others, the missing " -"values are set to *fillvalue*. For example::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2010 -msgid "" -">>> tuple(itertools.izip_longest([1,2,3], [1,2,3,4,5]))\n" -"((1, 1), (2, 2), (3, 3), (None, 4), (None, 5))" -msgstr "" - -#: ../../whatsnew/2.6.rst:2013 -msgid "" -"``product(iter1, iter2, ..., [repeat=N])`` returns the Cartesian product of " -"the supplied iterables, a set of tuples containing every possible " -"combination of the elements returned from each iterable. ::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2017 -msgid "" -">>> list(itertools.product([1,2,3], [4,5,6]))\n" -"[(1, 4), (1, 5), (1, 6),\n" -" (2, 4), (2, 5), (2, 6),\n" -" (3, 4), (3, 5), (3, 6)]" -msgstr "" - -#: ../../whatsnew/2.6.rst:2022 -msgid "" -"The optional *repeat* keyword argument is used for taking the product of an " -"iterable or a set of iterables with themselves, repeated *N* times. With a " -"single iterable argument, *N*-tuples are returned::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2027 -msgid "" -">>> list(itertools.product([1,2], repeat=3))\n" -"[(1, 1, 1), (1, 1, 2), (1, 2, 1), (1, 2, 2),\n" -" (2, 1, 1), (2, 1, 2), (2, 2, 1), (2, 2, 2)]" -msgstr "" - -#: ../../whatsnew/2.6.rst:2031 -msgid "With two iterables, *2N*-tuples are returned. ::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2033 -msgid "" -">>> list(itertools.product([1,2], [3,4], repeat=2))\n" -"[(1, 3, 1, 3), (1, 3, 1, 4), (1, 3, 2, 3), (1, 3, 2, 4),\n" -" (1, 4, 1, 3), (1, 4, 1, 4), (1, 4, 2, 3), (1, 4, 2, 4),\n" -" (2, 3, 1, 3), (2, 3, 1, 4), (2, 3, 2, 3), (2, 3, 2, 4),\n" -" (2, 4, 1, 3), (2, 4, 1, 4), (2, 4, 2, 3), (2, 4, 2, 4)]" -msgstr "" - -#: ../../whatsnew/2.6.rst:2039 -msgid "" -"``combinations(iterable, r)`` returns sub-sequences of length *r* from the " -"elements of *iterable*. ::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2042 -msgid "" -">>> list(itertools.combinations('123', 2))\n" -"[('1', '2'), ('1', '3'), ('2', '3')]\n" -">>> list(itertools.combinations('123', 3))\n" -"[('1', '2', '3')]\n" -">>> list(itertools.combinations('1234', 3))\n" -"[('1', '2', '3'), ('1', '2', '4'),\n" -" ('1', '3', '4'), ('2', '3', '4')]" -msgstr "" - -#: ../../whatsnew/2.6.rst:2050 -msgid "" -"``permutations(iter[, r])`` returns all the permutations of length *r* of " -"the iterable's elements. If *r* is not specified, it will default to the " -"number of elements produced by the iterable. ::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2054 -msgid "" -">>> list(itertools.permutations([1,2,3,4], 2))\n" -"[(1, 2), (1, 3), (1, 4),\n" -" (2, 1), (2, 3), (2, 4),\n" -" (3, 1), (3, 2), (3, 4),\n" -" (4, 1), (4, 2), (4, 3)]" -msgstr "" - -#: ../../whatsnew/2.6.rst:2060 -msgid "" -"``itertools.chain(*iterables)`` is an existing function in :mod:`itertools` " -"that gained a new constructor in Python 2.6. " -"``itertools.chain.from_iterable(iterable)`` takes a single iterable that " -"should return other iterables. :func:`chain` will then return all the " -"elements of the first iterable, then all the elements of the second, and so " -"on. ::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2067 -msgid "" -">>> list(itertools.chain.from_iterable([[1,2,3], [4,5,6]]))\n" -"[1, 2, 3, 4, 5, 6]" -msgstr "" - -#: ../../whatsnew/2.6.rst:2070 -msgid "(All contributed by Raymond Hettinger.)" -msgstr "(semua kontribusi dari Raymond Hettinger.)" - -#: ../../whatsnew/2.6.rst:2072 -msgid "" -"The :mod:`logging` module's :class:`FileHandler` class and its subclasses " -":class:`WatchedFileHandler`, :class:`RotatingFileHandler`, and " -":class:`TimedRotatingFileHandler` now have an optional *delay* parameter to " -"their constructors. If *delay* is true, opening of the log file is deferred" -" until the first :meth:`emit` call is made. (Contributed by Vinay Sajip.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2079 -msgid "" -":class:`TimedRotatingFileHandler` also has a *utc* constructor parameter. " -"If the argument is true, UTC time will be used in determining when midnight " -"occurs and in generating filenames; otherwise local time will be used." -msgstr "" - -#: ../../whatsnew/2.6.rst:2084 -msgid "Several new functions were added to the :mod:`math` module:" -msgstr "" - -#: ../../whatsnew/2.6.rst:2086 -msgid "" -":func:`~math.isinf` and :func:`~math.isnan` determine whether a given float " -"is a (positive or negative) infinity or a NaN (Not a Number), respectively." -msgstr "" - -#: ../../whatsnew/2.6.rst:2089 -msgid "" -":func:`~math.copysign` copies the sign bit of an IEEE 754 number, returning " -"the absolute value of *x* combined with the sign bit of *y*. For example, " -"``math.copysign(1, -0.0)`` returns -1.0. (Contributed by Christian Heimes.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2094 -msgid "" -":func:`~math.factorial` computes the factorial of a number. (Contributed by " -"Raymond Hettinger; :issue:`2138`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2097 -msgid "" -":func:`~math.fsum` adds up the stream of numbers from an iterable, and is " -"careful to avoid loss of precision through using partial sums. (Contributed " -"by Jean Brouwers, Raymond Hettinger, and Mark Dickinson; :issue:`2819`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2102 -msgid "" -":func:`~math.acosh`, :func:`~math.asinh` and :func:`~math.atanh` compute the" -" inverse hyperbolic functions." -msgstr "" - -#: ../../whatsnew/2.6.rst:2105 -msgid ":func:`~math.log1p` returns the natural logarithm of *1+x* (base *e*)." -msgstr "" - -#: ../../whatsnew/2.6.rst:2108 -msgid "" -":func:`trunc` rounds a number toward zero, returning the closest " -":class:`Integral` that's between the function's argument and zero. Added as " -"part of the backport of `PEP 3141's type hierarchy for numbers " -"<#pep-3141>`__." -msgstr "" - -#: ../../whatsnew/2.6.rst:2113 -msgid "" -"The :mod:`math` module has been improved to give more consistent behaviour " -"across platforms, especially with respect to handling of floating-point " -"exceptions and IEEE 754 special values." -msgstr "" - -#: ../../whatsnew/2.6.rst:2117 -msgid "" -"Whenever possible, the module follows the recommendations of the C99 " -"standard about 754's special values. For example, ``sqrt(-1.)`` should now " -"give a :exc:`ValueError` across almost all platforms, while " -"``sqrt(float('NaN'))`` should return a NaN on all IEEE 754 platforms. Where" -" Annex 'F' of the C99 standard recommends signaling 'divide-by-zero' or " -"'invalid', Python will raise :exc:`ValueError`. Where Annex 'F' of the C99 " -"standard recommends signaling 'overflow', Python will raise " -":exc:`OverflowError`. (See :issue:`711019` and :issue:`1640`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2127 -msgid "(Contributed by Christian Heimes and Mark Dickinson.)" -msgstr "(Kontribusi dari Christian Heimes dan Mark Dickinson.)" - -#: ../../whatsnew/2.6.rst:2129 -msgid "" -":class:`~mmap.mmap` objects now have a :meth:`rfind` method that searches " -"for a substring beginning at the end of the string and searching backwards." -" The :meth:`find` method also gained an *end* parameter giving an index at " -"which to stop searching. (Contributed by John Lenton.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2135 -msgid "" -"The :mod:`operator` module gained a :func:`methodcaller` function that takes" -" a name and an optional set of arguments, returning a callable that will " -"call the named function on any arguments passed to it. For example::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2140 -msgid "" -">>> # Equivalent to lambda s: s.replace('old', 'new')\n" -">>> replacer = operator.methodcaller('replace', 'old', 'new')\n" -">>> replacer('old wine in old bottles')\n" -"'new wine in new bottles'" -msgstr "" - -#: ../../whatsnew/2.6.rst:2145 -msgid "" -"(Contributed by Georg Brandl, after a suggestion by Gregory Petrosyan.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2147 -msgid "" -"The :func:`attrgetter` function now accepts dotted names and performs the " -"corresponding attribute lookups::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2150 -msgid "" -">>> inst_name = operator.attrgetter(\n" -"... '__class__.__name__')\n" -">>> inst_name('')\n" -"'str'\n" -">>> inst_name(help)\n" -"'_Helper'" -msgstr "" - -#: ../../whatsnew/2.6.rst:2157 -msgid "(Contributed by Georg Brandl, after a suggestion by Barry Warsaw.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2159 -msgid "" -"The :mod:`os` module now wraps several new system calls. ``fchmod(fd, " -"mode)`` and ``fchown(fd, uid, gid)`` change the mode and ownership of an " -"opened file, and ``lchmod(path, mode)`` changes the mode of a symlink. " -"(Contributed by Georg Brandl and Christian Heimes.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2165 -msgid "" -":func:`chflags` and :func:`lchflags` are wrappers for the corresponding " -"system calls (where they're available), changing the flags set on a file. " -"Constants for the flag values are defined in the :mod:`stat` module; some " -"possible values include :const:`UF_IMMUTABLE` to signal the file may not be " -"changed and :const:`UF_APPEND` to indicate that data can only be appended to" -" the file. (Contributed by M. Levinson.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2173 -msgid "" -"``os.closerange(low, high)`` efficiently closes all file descriptors from " -"*low* to *high*, ignoring any errors and not including *high* itself. This " -"function is now used by the :mod:`subprocess` module to make starting " -"processes faster. (Contributed by Georg Brandl; :issue:`1663329`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2178 -msgid "" -"The ``os.environ`` object's :meth:`clear` method will now unset the " -"environment variables using :func:`os.unsetenv` in addition to clearing the " -"object's keys. (Contributed by Martin Horcicka; :issue:`1181`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2182 -msgid "" -"The :func:`os.walk` function now has a ``followlinks`` parameter. If set to " -"True, it will follow symlinks pointing to directories and visit the " -"directory's contents. For backward compatibility, the parameter's default " -"value is false. Note that the function can fall into an infinite recursion " -"if there's a symlink that points to a parent directory. (:issue:`1273829`)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2189 -msgid "" -"In the :mod:`os.path` module, the :func:`splitext` function has been changed" -" to not split on leading period characters. This produces better results " -"when operating on Unix's dot-files. For example, " -"``os.path.splitext('.ipython')`` now returns ``('.ipython', '')`` instead of" -" ``('', '.ipython')``. (:issue:`1115886`)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2196 -msgid "" -"A new function, ``os.path.relpath(path, start='.')``, returns a relative " -"path from the ``start`` path, if it's supplied, or from the current working " -"directory to the destination ``path``. (Contributed by Richard Barran; " -":issue:`1339796`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2201 -msgid "" -"On Windows, :func:`os.path.expandvars` will now expand environment variables" -" given in the form \"%var%\", and \"~user\" will be expanded into the user's" -" home directory path. (Contributed by Josiah Carlson; :issue:`957650`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2206 -msgid "" -"The Python debugger provided by the :mod:`pdb` module gained a new command: " -"\"run\" restarts the Python program being debugged and can optionally take " -"new command-line arguments for the program. (Contributed by Rocky Bernstein;" -" :issue:`1393667`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2211 -msgid "" -"The :func:`pdb.post_mortem` function, used to begin debugging a traceback, " -"will now use the traceback returned by :func:`sys.exc_info` if no traceback " -"is supplied. (Contributed by Facundo Batista; :issue:`1106316`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2216 -msgid "" -"The :mod:`pickletools` module now has an :func:`optimize` function that " -"takes a string containing a pickle and removes some unused opcodes, " -"returning a shorter pickle that contains the same data structure. " -"(Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2221 -msgid "" -"A :func:`get_data` function was added to the :mod:`pkgutil` module that " -"returns the contents of resource files included with an installed Python " -"package. For example::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2225 -msgid "" -">>> import pkgutil\n" -">>> print pkgutil.get_data('test', 'exception_hierarchy.txt')\n" -"BaseException\n" -" +-- SystemExit\n" -" +-- KeyboardInterrupt\n" -" +-- GeneratorExit\n" -" +-- Exception\n" -" +-- StopIteration\n" -" +-- StandardError\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.6.rst:2236 -msgid "(Contributed by Paul Moore; :issue:`2439`.)" -msgstr "(Kontribusi dari Paul Moore; :issue:`2439`.)" - -#: ../../whatsnew/2.6.rst:2238 -msgid "" -"The :mod:`pyexpat` module's :class:`Parser` objects now allow setting their " -":attr:`buffer_size` attribute to change the size of the buffer used to hold " -"character data. (Contributed by Achim Gaedke; :issue:`1137`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2243 -msgid "" -"The :mod:`Queue` module now provides queue variants that retrieve entries in" -" different orders. The :class:`PriorityQueue` class stores queued items in " -"a heap and retrieves them in priority order, and :class:`LifoQueue` " -"retrieves the most recently added entries first, meaning that it behaves " -"like a stack. (Contributed by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2250 -msgid "" -"The :mod:`random` module's :class:`Random` objects can now be pickled on a " -"32-bit system and unpickled on a 64-bit system, and vice versa. " -"Unfortunately, this change also means that Python 2.6's :class:`Random` " -"objects can't be unpickled correctly on earlier versions of Python. " -"(Contributed by Shawn Ligocki; :issue:`1727780`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2257 -msgid "" -"The new ``triangular(low, high, mode)`` function returns random numbers " -"following a triangular distribution. The returned values are between *low*" -" and *high*, not including *high* itself, and with *mode* as the most " -"frequently occurring value in the distribution. (Contributed by Wladmir van" -" der Laan and Raymond Hettinger; :issue:`1681432`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2264 -msgid "" -"Long regular expression searches carried out by the :mod:`re` module will " -"check for signals being delivered, so time-consuming searches can now be " -"interrupted. (Contributed by Josh Hoyt and Ralf Schmitt; :issue:`846388`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2269 -msgid "" -"The regular expression module is implemented by compiling bytecodes for a " -"tiny regex-specific virtual machine. Untrusted code could create malicious " -"strings of bytecode directly and cause crashes, so Python 2.6 includes a " -"verifier for the regex bytecode. (Contributed by Guido van Rossum from work " -"for Google App Engine; :issue:`3487`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2276 -msgid "" -"The :mod:`rlcompleter` module's :meth:`Completer.complete` method will now " -"ignore exceptions triggered while evaluating a name. (Fixed by Lorenz Quack;" -" :issue:`2250`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2280 -msgid "" -"The :mod:`sched` module's :class:`scheduler` instances now have a read-only " -":attr:`queue` attribute that returns the contents of the scheduler's queue, " -"represented as a list of named tuples with the fields ``(time, priority, " -"action, argument)``. (Contributed by Raymond Hettinger; :issue:`1861`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2286 -msgid "" -"The :mod:`select` module now has wrapper functions for the Linux " -":c:func:`!epoll` and BSD :c:func:`!kqueue` system calls. :meth:`modify` " -"method was added to the existing :class:`poll` objects; ``pollobj.modify(fd," -" eventmask)`` takes a file descriptor or file object and an event mask, " -"modifying the recorded event mask for that file. (Contributed by Christian " -"Heimes; :issue:`1657`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2294 -msgid "" -"The :func:`shutil.copytree` function now has an optional *ignore* argument " -"that takes a callable object. This callable will receive each directory " -"path and a list of the directory's contents, and returns a list of names " -"that will be ignored, not copied." -msgstr "" - -#: ../../whatsnew/2.6.rst:2299 -msgid "" -"The :mod:`shutil` module also provides an :func:`ignore_patterns` function " -"for use with this new parameter. :func:`ignore_patterns` takes an arbitrary" -" number of glob-style patterns and returns a callable that will ignore any " -"files and directories that match any of these patterns. The following " -"example copies a directory tree, but skips both :file:`.svn` directories and" -" Emacs backup files, which have names ending with '~'::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2307 -msgid "" -"shutil.copytree('Doc/library', '/tmp/library',\n" -" ignore=shutil.ignore_patterns('*~', '.svn'))" -msgstr "" - -#: ../../whatsnew/2.6.rst:2310 -msgid "(Contributed by Tarek Ziadé; :issue:`2663`.)" -msgstr "(Kontribusi dari Tarek Ziadé; :issue:`2663`.)" - -#: ../../whatsnew/2.6.rst:2312 -msgid "" -"Integrating signal handling with GUI handling event loops like those used by" -" Tkinter or GTk+ has long been a problem; most software ends up polling, " -"waking up every fraction of a second to check if any GUI events have " -"occurred. The :mod:`signal` module can now make this more efficient. Calling" -" ``signal.set_wakeup_fd(fd)`` sets a file descriptor to be used; when a " -"signal is received, a byte is written to that file descriptor. There's also" -" a C-level function, :c:func:`PySignal_SetWakeupFd`, for setting the " -"descriptor." -msgstr "" - -#: ../../whatsnew/2.6.rst:2322 -msgid "" -"Event loops will use this by opening a pipe to create two descriptors, one " -"for reading and one for writing. The writable descriptor will be passed to " -":func:`set_wakeup_fd`, and the readable descriptor will be added to the list" -" of descriptors monitored by the event loop via :c:func:`!select` or " -":c:func:`!poll`. On receiving a signal, a byte will be written and the main " -"event loop will be woken up, avoiding the need to poll." -msgstr "" - -#: ../../whatsnew/2.6.rst:2330 -msgid "(Contributed by Adam Olsen; :issue:`1583`.)" -msgstr "(Kontribusi dari Adam Olsen; :issue:`1583`.)" - -#: ../../whatsnew/2.6.rst:2332 -msgid "" -"The :func:`siginterrupt` function is now available from Python code, and " -"allows changing whether signals can interrupt system calls or not. " -"(Contributed by Ralf Schmitt.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2336 -msgid "" -"The :func:`setitimer` and :func:`getitimer` functions have also been added " -"(where they're available). :func:`setitimer` allows setting interval timers" -" that will cause a signal to be delivered to the process after a specified " -"time, measured in wall-clock time, consumed process time, or combined " -"process+system time. (Contributed by Guilherme Polo; :issue:`2240`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2343 -msgid "" -"The :mod:`smtplib` module now supports SMTP over SSL thanks to the addition " -"of the :class:`SMTP_SSL` class. This class supports an interface identical " -"to the existing :class:`SMTP` class. (Contributed by Monty Taylor.) Both " -"class constructors also have an optional ``timeout`` parameter that " -"specifies a timeout for the initial connection attempt, measured in seconds." -" (Contributed by Facundo Batista.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2351 -msgid "" -"An implementation of the LMTP protocol (:rfc:`2033`) was also added to the " -"module. LMTP is used in place of SMTP when transferring e-mail between " -"agents that don't manage a mail queue. (LMTP implemented by Leif Hedstrom; " -":issue:`957003`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2356 -msgid "" -":meth:`SMTP.starttls` now complies with :rfc:`3207` and forgets any " -"knowledge obtained from the server not obtained from the TLS negotiation " -"itself. (Patch contributed by Bill Fenner; :issue:`829951`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2361 -msgid "" -"The :mod:`socket` module now supports TIPC (https://tipc.sourceforge.net/), " -"a high-performance non-IP-based protocol designed for use in clustered " -"environments. TIPC addresses are 4- or 5-tuples. (Contributed by Alberto " -"Bertogli; :issue:`1646`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2366 -msgid "" -"A new function, :func:`create_connection`, takes an address and connects to " -"it using an optional timeout value, returning the connected socket object. " -"This function also looks up the address's type and connects to it using IPv4" -" or IPv6 as appropriate. Changing your code to use " -":func:`create_connection` instead of ``socket(socket.AF_INET, ...)`` may be " -"all that's required to make your code work with IPv6." -msgstr "" - -#: ../../whatsnew/2.6.rst:2374 -msgid "" -"The base classes in the :mod:`SocketServer ` module now " -"support calling a :meth:`~socketserver.BaseServer.handle_timeout` method " -"after a span of inactivity specified by the server's " -":attr:`~socketserver.BaseServer.timeout` attribute. (Contributed by Michael" -" Pomraning.) The :meth:`~socketserver.BaseServer.serve_forever` method now " -"takes an optional poll interval measured in seconds, controlling how often " -"the server will check for a shutdown request. (Contributed by Pedro Werneck " -"and Jeffrey Yasskin; :issue:`742598`, :issue:`1193577`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2383 -msgid "" -"The :mod:`sqlite3` module, maintained by Gerhard Häring, has been updated " -"from version 2.3.2 in Python 2.5 to version 2.4.1." -msgstr "" - -#: ../../whatsnew/2.6.rst:2387 -msgid "" -"The :mod:`struct` module now supports the C99 :c:expr:`_Bool` type, using " -"the format character ``'?'``. (Contributed by David Remahl.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2391 -msgid "" -"The :class:`~subprocess.Popen` objects provided by the :mod:`subprocess` " -"module now have :meth:`~subprocess.Popen.terminate`, " -":meth:`~subprocess.Popen.kill`, and :meth:`~subprocess.Popen.send_signal` " -"methods. On Windows, :meth:`!send_signal` only supports the " -":py:const:`~signal.SIGTERM` signal, and all these methods are aliases for " -"the Win32 API function :c:func:`!TerminateProcess`. (Contributed by " -"Christian Heimes.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2398 -msgid "" -"A new variable in the :mod:`sys` module, :attr:`float_info`, is an object " -"containing information derived from the :file:`float.h` file about the " -"platform's floating-point support. Attributes of this object include " -":attr:`mant_dig` (number of digits in the mantissa), :attr:`epsilon` " -"(smallest difference between 1.0 and the next largest value representable), " -"and several others. (Contributed by Christian Heimes; :issue:`1534`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2406 -msgid "" -"Another new variable, :attr:`dont_write_bytecode`, controls whether Python " -"writes any :file:`.pyc` or :file:`.pyo` files on importing a module. If this" -" variable is true, the compiled files are not written. The variable is " -"initially set on start-up by supplying the :option:`-B` switch to the Python" -" interpreter, or by setting the :envvar:`PYTHONDONTWRITEBYTECODE` " -"environment variable before running the interpreter. Python code can " -"subsequently change the value of this variable to control whether bytecode " -"files are written or not. (Contributed by Neal Norwitz and Georg Brandl.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2417 -msgid "" -"Information about the command-line arguments supplied to the Python " -"interpreter is available by reading attributes of a named tuple available as" -" ``sys.flags``. For example, the :attr:`verbose` attribute is true if " -"Python was executed in verbose mode, :attr:`debug` is true in debugging " -"mode, etc. These attributes are all read-only. (Contributed by Christian " -"Heimes.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2425 -msgid "" -"A new function, :func:`getsizeof`, takes a Python object and returns the " -"amount of memory used by the object, measured in bytes. Built-in objects " -"return correct results; third-party extensions may not, but can define a " -":meth:`__sizeof__` method to return the object's size. (Contributed by " -"Robert Schuppenies; :issue:`2898`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2432 -msgid "" -"It's now possible to determine the current profiler and tracer functions by " -"calling :func:`sys.getprofile` and :func:`sys.gettrace`. (Contributed by " -"Georg Brandl; :issue:`1648`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2436 -msgid "" -"The :mod:`tarfile` module now supports POSIX.1-2001 (pax) tarfiles in " -"addition to the POSIX.1-1988 (ustar) and GNU tar formats that were already " -"supported. The default format is GNU tar; specify the ``format`` parameter " -"to open a file using a different format::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2441 -msgid "" -"tar = tarfile.open(\"output.tar\", \"w\",\n" -" format=tarfile.PAX_FORMAT)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2444 -msgid "" -"The new ``encoding`` and ``errors`` parameters specify an encoding and an " -"error handling scheme for character conversions. ``'strict'``, " -"``'ignore'``, and ``'replace'`` are the three standard ways Python can " -"handle errors,; ``'utf-8'`` is a special value that replaces bad characters " -"with their UTF-8 representation. (Character conversions occur because the " -"PAX format supports Unicode filenames, defaulting to UTF-8 encoding.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2452 -msgid "" -"The :meth:`TarFile.add` method now accepts an ``exclude`` argument that's a " -"function that can be used to exclude certain filenames from an archive. The " -"function must take a filename and return true if the file should be excluded" -" or false if it should be archived. The function is applied to both the name" -" initially passed to :meth:`add` and to the names of files in recursively " -"added directories." -msgstr "" - -#: ../../whatsnew/2.6.rst:2460 -msgid "(All changes contributed by Lars Gustäbel)." -msgstr "(Semua perubahan kontribusi dari Lars Gustäbel)." - -#: ../../whatsnew/2.6.rst:2462 -msgid "" -"An optional ``timeout`` parameter was added to the " -":class:`!telnetlib.Telnet` class constructor, specifying a timeout measured " -"in seconds. (Added by Facundo Batista.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2466 -msgid "" -"The :class:`tempfile.NamedTemporaryFile` class usually deletes the temporary" -" file it created when the file is closed. This behaviour can now be changed" -" by passing ``delete=False`` to the constructor. (Contributed by Damien " -"Miller; :issue:`1537850`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2471 -msgid "" -"A new class, :class:`SpooledTemporaryFile`, behaves like a temporary file " -"but stores its data in memory until a maximum size is exceeded. On reaching" -" that limit, the contents will be written to an on-disk temporary file. " -"(Contributed by Dustin J. Mitchell.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2476 -msgid "" -"The :class:`NamedTemporaryFile` and :class:`SpooledTemporaryFile` classes " -"both work as context managers, so you can write ``with " -"tempfile.NamedTemporaryFile() as tmp: ...``. (Contributed by Alexander " -"Belopolsky; :issue:`2021`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2481 -msgid "" -"The :mod:`test.test_support ` module gained a number of " -"context managers useful for writing tests. " -":func:`~test.support.os_helper.EnvironmentVarGuard` is a context manager " -"that temporarily changes environment variables and automatically restores " -"them to their old values." -msgstr "" - -#: ../../whatsnew/2.6.rst:2487 -msgid "" -"Another context manager, :class:`TransientResource`, can surround calls to " -"resources that may or may not be available; it will catch and ignore a " -"specified list of exceptions. For example, a network test may ignore " -"certain failures when connecting to an external web site::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2493 -msgid "" -"with test_support.TransientResource(IOError,\n" -" errno=errno.ETIMEDOUT):\n" -" f = urllib.urlopen('https://sf.net')\n" -" ..." -msgstr "" - -#: ../../whatsnew/2.6.rst:2498 -msgid "" -"Finally, :func:`check_warnings` resets the :mod:`warning` module's warning " -"filters and returns an object that will record all warning messages " -"triggered (:issue:`3781`)::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2502 -msgid "" -"with test_support.check_warnings() as wrec:\n" -" warnings.simplefilter(\"always\")\n" -" # ... code that triggers a warning ...\n" -" assert str(wrec.message) == \"function is outdated\"\n" -" assert len(wrec.warnings) == 1, \"Multiple warnings raised\"" -msgstr "" - -#: ../../whatsnew/2.6.rst:2508 -msgid "(Contributed by Brett Cannon.)" -msgstr "(Kontribusi dari Brett Cannon.)" - -#: ../../whatsnew/2.6.rst:2510 -msgid "" -"The :mod:`textwrap` module can now preserve existing whitespace at the " -"beginnings and ends of the newly created lines by specifying " -"``drop_whitespace=False`` as an argument::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2515 -msgid "" -">>> S = \"\"\"This sentence has a bunch of\n" -"... extra whitespace.\"\"\"\n" -">>> print textwrap.fill(S, width=15)\n" -"This sentence\n" -"has a bunch\n" -"of extra\n" -"whitespace.\n" -">>> print textwrap.fill(S, drop_whitespace=False, width=15)\n" -"This sentence\n" -" has a bunch\n" -" of extra\n" -" whitespace.\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.6.rst:2529 -msgid "(Contributed by Dwayne Bailey; :issue:`1581073`.)" -msgstr "(Kontribusi dari Dwayne Bailey; :issue:`1581073`.)" - -#: ../../whatsnew/2.6.rst:2531 -msgid "" -"The :mod:`threading` module API is being changed to use properties such as " -":attr:`daemon` instead of :meth:`setDaemon` and :meth:`isDaemon` methods, " -"and some methods have been renamed to use underscores instead of camel-case;" -" for example, the :meth:`activeCount` method is renamed to " -":meth:`active_count`. Both the 2.6 and 3.0 versions of the module support " -"the same properties and renamed methods, but don't remove the old methods. " -"No date has been set for the deprecation of the old APIs in Python 3.x; the " -"old APIs won't be removed in any 2.x version. (Carried out by several " -"people, most notably Benjamin Peterson.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2542 -msgid "" -"The :mod:`threading` module's :class:`Thread` objects gained an " -":attr:`ident` property that returns the thread's identifier, a nonzero " -"integer. (Contributed by Gregory P. Smith; :issue:`2871`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2547 -msgid "" -"The :mod:`timeit` module now accepts callables as well as strings for the " -"statement being timed and for the setup code. Two convenience functions were" -" added for creating :class:`Timer` instances: ``repeat(stmt, setup, time, " -"repeat, number)`` and ``timeit(stmt, setup, time, number)`` create an " -"instance and call the corresponding method. (Contributed by Erik Demaine; " -":issue:`1533909`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2556 -msgid "" -"The :mod:`Tkinter` module now accepts lists and tuples for options, " -"separating the elements by spaces before passing the resulting value to " -"Tcl/Tk. (Contributed by Guilherme Polo; :issue:`2906`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2561 -msgid "" -"The :mod:`turtle` module for turtle graphics was greatly enhanced by Gregor " -"Lingl. New features in the module include:" -msgstr "" - -#: ../../whatsnew/2.6.rst:2564 -msgid "Better animation of turtle movement and rotation." -msgstr "" - -#: ../../whatsnew/2.6.rst:2565 -msgid "" -"Control over turtle movement using the new :meth:`delay`, :meth:`tracer`, " -"and :meth:`speed` methods." -msgstr "" - -#: ../../whatsnew/2.6.rst:2567 -msgid "" -"The ability to set new shapes for the turtle, and to define a new coordinate" -" system." -msgstr "" - -#: ../../whatsnew/2.6.rst:2569 -msgid "Turtles now have an :meth:`undo` method that can roll back actions." -msgstr "" - -#: ../../whatsnew/2.6.rst:2570 -msgid "" -"Simple support for reacting to input events such as mouse and keyboard " -"activity, making it possible to write simple games." -msgstr "" - -#: ../../whatsnew/2.6.rst:2572 -msgid "" -"A :file:`turtle.cfg` file can be used to customize the starting appearance " -"of the turtle's screen." -msgstr "" - -#: ../../whatsnew/2.6.rst:2574 -msgid "" -"The module's docstrings can be replaced by new docstrings that have been " -"translated into another language." -msgstr "" - -#: ../../whatsnew/2.6.rst:2577 -msgid "(:issue:`1513695`)" -msgstr "(:issue:`1513695`)" - -#: ../../whatsnew/2.6.rst:2579 -msgid "" -"An optional ``timeout`` parameter was added to the :func:`urllib.urlopen " -"` function and the :class:`urllib.ftpwrapper` class " -"constructor, as well as the :func:`urllib2.urlopen `" -" function. The parameter specifies a timeout measured in seconds. For " -"example::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2585 -msgid "" -">>> u = urllib2.urlopen(\"http://slow.example.com\",\n" -" timeout=3)\n" -"Traceback (most recent call last):\n" -" ...\n" -"urllib2.URLError: \n" -">>>" -msgstr "" - -#: ../../whatsnew/2.6.rst:2592 -msgid "(Added by Facundo Batista.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2594 -msgid "" -"The Unicode database provided by the :mod:`unicodedata` module has been " -"updated to version 5.1.0. (Updated by Martin von Löwis; :issue:`3811`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2598 -msgid "" -"The :mod:`warnings` module's :func:`formatwarning` and :func:`showwarning` " -"gained an optional *line* argument that can be used to supply the line of " -"source code. (Added as part of :issue:`1631171`, which re-implemented part " -"of the :mod:`warnings` module in C code.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2603 -msgid "" -"A new function, :func:`catch_warnings`, is a context manager intended for " -"testing purposes that lets you temporarily modify the warning filters and " -"then restore their original values (:issue:`3781`)." -msgstr "" - -#: ../../whatsnew/2.6.rst:2607 -msgid "" -"The XML-RPC :class:`SimpleXMLRPCServer ` and " -":class:`DocXMLRPCServer ` classes can now be prevented from " -"immediately opening and binding to their socket by passing ``False`` as the " -"*bind_and_activate* constructor parameter. This can be used to modify the " -"instance's :attr:`allow_reuse_address` attribute before calling the " -":meth:`server_bind` and :meth:`server_activate` methods to open the socket " -"and begin listening for connections. (Contributed by Peter Parente; " -":issue:`1599845`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2616 -msgid "" -":class:`SimpleXMLRPCServer` also has a :attr:`_send_traceback_header` " -"attribute; if true, the exception and formatted traceback are returned as " -"HTTP headers \"X-Exception\" and \"X-Traceback\". This feature is for " -"debugging purposes only and should not be used on production servers because" -" the tracebacks might reveal passwords or other sensitive information. " -"(Contributed by Alan McIntyre as part of his project for Google's Summer of " -"Code 2007.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2624 -msgid "" -"The :mod:`xmlrpclib ` module no longer automatically converts" -" :class:`datetime.date` and :class:`datetime.time` to the " -":class:`xmlrpclib.DateTime ` type; the conversion " -"semantics were not necessarily correct for all applications. Code using " -":mod:`!xmlrpclib` should convert :class:`date` and :class:`~datetime.time` " -"instances. (:issue:`1330538`) The code can also handle dates before 1900 " -"(contributed by Ralf Schmitt; :issue:`2014`) and 64-bit integers represented" -" by using ```` in XML-RPC responses (contributed by Riku Lindblad; " -":issue:`2985`)." -msgstr "" - -#: ../../whatsnew/2.6.rst:2634 -msgid "" -"The :mod:`zipfile` module's :class:`ZipFile` class now has :meth:`extract` " -"and :meth:`extractall` methods that will unpack a single file or all the " -"files in the archive to the current directory, or to a specified directory::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2639 -msgid "" -"z = zipfile.ZipFile('python-251.zip')\n" -"\n" -"# Unpack a single file, writing it relative\n" -"# to the /tmp directory.\n" -"z.extract('Python/sysmodule.c', '/tmp')\n" -"\n" -"# Unpack all the files in the archive.\n" -"z.extractall()" -msgstr "" - -#: ../../whatsnew/2.6.rst:2648 -msgid "(Contributed by Alan McIntyre; :issue:`467924`.)" -msgstr "(Kontribusi dari Alan McIntyre; :issue:`467924`.)" - -#: ../../whatsnew/2.6.rst:2650 -msgid "" -"The :meth:`open`, :meth:`read` and :meth:`extract` methods can now take " -"either a filename or a :class:`ZipInfo` object. This is useful when an " -"archive accidentally contains a duplicated filename. (Contributed by Graham " -"Horler; :issue:`1775025`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2655 -msgid "" -"Finally, :mod:`zipfile` now supports using Unicode filenames for archived " -"files. (Contributed by Alexey Borzenkov; :issue:`1734346`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2662 -msgid "The :mod:`ast` module" -msgstr "" - -#: ../../whatsnew/2.6.rst:2664 -msgid "" -"The :mod:`ast` module provides an Abstract Syntax Tree representation of " -"Python code, and Armin Ronacher contributed a set of helper functions that " -"perform a variety of common tasks. These will be useful for HTML templating" -" packages, code analyzers, and similar tools that process Python code." -msgstr "" - -#: ../../whatsnew/2.6.rst:2671 -msgid "" -"The :func:`parse` function takes an expression and returns an AST. The " -":func:`dump` function outputs a representation of a tree, suitable for " -"debugging::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2675 -msgid "" -"import ast\n" -"\n" -"t = ast.parse(\"\"\"\n" -"d = {}\n" -"for i in 'abcdefghijklm':\n" -" d[i + i] = ord(i) - ord('a') + 1\n" -"print d\n" -"\"\"\")\n" -"print ast.dump(t)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2685 -msgid "This outputs a deeply nested tree::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2687 -msgid "" -"Module(body=[\n" -" Assign(targets=[\n" -" Name(id='d', ctx=Store())\n" -" ], value=Dict(keys=[], values=[]))\n" -" For(target=Name(id='i', ctx=Store()),\n" -" iter=Str(s='abcdefghijklm'), body=[\n" -" Assign(targets=[\n" -" Subscript(value=\n" -" Name(id='d', ctx=Load()),\n" -" slice=\n" -" Index(value=\n" -" BinOp(left=Name(id='i', ctx=Load()), op=Add(),\n" -" right=Name(id='i', ctx=Load()))), ctx=Store())\n" -" ], value=\n" -" BinOp(left=\n" -" BinOp(left=\n" -" Call(func=\n" -" Name(id='ord', ctx=Load()), args=[\n" -" Name(id='i', ctx=Load())\n" -" ], keywords=[], starargs=None, kwargs=None),\n" -" op=Sub(), right=Call(func=\n" -" Name(id='ord', ctx=Load()), args=[\n" -" Str(s='a')\n" -" ], keywords=[], starargs=None, kwargs=None)),\n" -" op=Add(), right=Num(n=1)))\n" -" ], orelse=[])\n" -" Print(dest=None, values=[\n" -" Name(id='d', ctx=Load())\n" -" ], nl=True)\n" -" ])" -msgstr "" - -#: ../../whatsnew/2.6.rst:2718 -msgid "" -"The :func:`literal_eval` method takes a string or an AST representing a " -"literal expression, parses and evaluates it, and returns the resulting " -"value. A literal expression is a Python expression containing only strings," -" numbers, dictionaries, etc. but no statements or function calls. If you " -"need to evaluate an expression but cannot accept the security risk of using " -"an :func:`eval` call, :func:`literal_eval` will handle it safely::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2726 -msgid "" -">>> literal = '(\"a\", \"b\", {2:4, 3:8, 1:2})'\n" -">>> print ast.literal_eval(literal)\n" -"('a', 'b', {1: 2, 2: 4, 3: 8})\n" -">>> print ast.literal_eval('\"a\" + \"b\"')\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError: malformed string" -msgstr "" - -#: ../../whatsnew/2.6.rst:2734 -msgid "" -"The module also includes :class:`NodeVisitor` and :class:`NodeTransformer` " -"classes for traversing and modifying an AST, and functions for common " -"transformations such as changing line numbers." -msgstr "" - -#: ../../whatsnew/2.6.rst:2742 -msgid "The :mod:`future_builtins` module" -msgstr "" - -#: ../../whatsnew/2.6.rst:2744 -msgid "" -"Python 3.0 makes many changes to the repertoire of built-in functions, and " -"most of the changes can't be introduced in the Python 2.x series because " -"they would break compatibility. The :mod:`future_builtins` module provides " -"versions of these built-in functions that can be imported when writing " -"3.0-compatible code." -msgstr "" - -#: ../../whatsnew/2.6.rst:2751 -msgid "The functions in this module currently include:" -msgstr "" - -#: ../../whatsnew/2.6.rst:2753 -msgid "" -"``ascii(obj)``: equivalent to :func:`repr`. In Python 3.0, :func:`repr` " -"will return a Unicode string, while :func:`ascii` will return a pure ASCII " -"bytestring." -msgstr "" - -#: ../../whatsnew/2.6.rst:2757 -msgid "" -"``filter(predicate, iterable)``, ``map(func, iterable1, ...)``: the 3.0 " -"versions return iterators, unlike the 2.x builtins which return lists." -msgstr "" - -#: ../../whatsnew/2.6.rst:2761 -msgid "" -"``hex(value)``, ``oct(value)``: instead of calling the :meth:`__hex__` or " -":meth:`__oct__` methods, these versions will call the :meth:`__index__` " -"method and convert the result to hexadecimal or octal. :func:`oct` will use" -" the new ``0o`` notation for its result." -msgstr "" - -#: ../../whatsnew/2.6.rst:2770 -msgid "The :mod:`json` module: JavaScript Object Notation" -msgstr "" - -#: ../../whatsnew/2.6.rst:2772 -msgid "" -"The new :mod:`json` module supports the encoding and decoding of Python " -"types in JSON (Javascript Object Notation). JSON is a lightweight " -"interchange format often used in web applications. For more information " -"about JSON, see http://www.json.org." -msgstr "" - -#: ../../whatsnew/2.6.rst:2777 -msgid "" -":mod:`json` comes with support for decoding and encoding most built-in " -"Python types. The following example encodes and decodes a dictionary::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2780 -msgid "" -">>> import json\n" -">>> data = {\"spam\": \"foo\", \"parrot\": 42}\n" -">>> in_json = json.dumps(data) # Encode the data\n" -">>> in_json\n" -"'{\"parrot\": 42, \"spam\": \"foo\"}'\n" -">>> json.loads(in_json) # Decode into a Python object\n" -"{\"spam\": \"foo\", \"parrot\": 42}" -msgstr "" - -#: ../../whatsnew/2.6.rst:2788 -msgid "" -"It's also possible to write your own decoders and encoders to support more " -"types. Pretty-printing of the JSON strings is also supported." -msgstr "" - -#: ../../whatsnew/2.6.rst:2791 -msgid "" -":mod:`json` (originally called simplejson) was written by Bob Ippolito." -msgstr "" - -#: ../../whatsnew/2.6.rst:2798 -msgid "The :mod:`plistlib` module: A Property-List Parser" -msgstr "" - -#: ../../whatsnew/2.6.rst:2800 -msgid "" -"The ``.plist`` format is commonly used on Mac OS X to store basic data types" -" (numbers, strings, lists, and dictionaries) by serializing them into an " -"XML-based format. It resembles the XML-RPC serialization of data types." -msgstr "" - -#: ../../whatsnew/2.6.rst:2805 -msgid "" -"Despite being primarily used on Mac OS X, the format has nothing Mac-" -"specific about it and the Python implementation works on any platform that " -"Python supports, so the :mod:`plistlib` module has been promoted to the " -"standard library." -msgstr "" - -#: ../../whatsnew/2.6.rst:2810 -msgid "Using the module is simple::" -msgstr "" - -#: ../../whatsnew/2.6.rst:2812 -msgid "" -"import sys\n" -"import plistlib\n" -"import datetime\n" -"\n" -"# Create data structure\n" -"data_struct = dict(lastAccessed=datetime.datetime.now(),\n" -" version=1,\n" -" categories=('Personal','Shared','Private'))\n" -"\n" -"# Create string containing XML.\n" -"plist_str = plistlib.writePlistToString(data_struct)\n" -"new_struct = plistlib.readPlistFromString(plist_str)\n" -"print data_struct\n" -"print new_struct\n" -"\n" -"# Write data structure to a file and read it back.\n" -"plistlib.writePlist(data_struct, '/tmp/customizations.plist')\n" -"new_struct = plistlib.readPlist('/tmp/customizations.plist')\n" -"\n" -"# read/writePlist accepts file-like objects as well as paths.\n" -"plistlib.writePlist(data_struct, sys.stdout)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2837 -msgid "ctypes Enhancements" -msgstr "" - -#: ../../whatsnew/2.6.rst:2839 -msgid "" -"Thomas Heller continued to maintain and enhance the :mod:`ctypes` module." -msgstr "" - -#: ../../whatsnew/2.6.rst:2842 -msgid "" -":mod:`ctypes` now supports a :class:`c_bool` datatype that represents the " -"C99 ``bool`` type. (Contributed by David Remahl; :issue:`1649190`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2846 -msgid "" -"The :mod:`ctypes` string, buffer and array types have improved support for " -"extended slicing syntax, where various combinations of ``(start, stop, " -"step)`` are supplied. (Implemented by Thomas Wouters.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2853 -msgid "" -"All :mod:`ctypes` data types now support :meth:`from_buffer` and " -":meth:`from_buffer_copy` methods that create a ctypes instance based on a " -"provided buffer object. :meth:`from_buffer_copy` copies the contents of the" -" object, while :meth:`from_buffer` will share the same memory area." -msgstr "" - -#: ../../whatsnew/2.6.rst:2860 -msgid "" -"A new calling convention tells :mod:`ctypes` to clear the ``errno`` or Win32" -" LastError variables at the outset of each wrapped call. (Implemented by " -"Thomas Heller; :issue:`1798`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2864 -msgid "" -"You can now retrieve the Unix ``errno`` variable after a function call. " -"When creating a wrapped function, you can supply ``use_errno=True`` as a " -"keyword parameter to the :func:`DLL` function and then call the module-level" -" methods :meth:`set_errno` and :meth:`get_errno` to set and retrieve the " -"error value." -msgstr "" - -#: ../../whatsnew/2.6.rst:2870 -msgid "" -"The Win32 LastError variable is similarly supported by the :func:`DLL`, " -":func:`OleDLL`, and :func:`WinDLL` functions. You supply " -"``use_last_error=True`` as a keyword parameter and then call the module-" -"level methods :meth:`set_last_error` and :meth:`get_last_error`." -msgstr "" - -#: ../../whatsnew/2.6.rst:2876 -msgid "" -"The :func:`byref` function, used to retrieve a pointer to a ctypes instance," -" now has an optional *offset* parameter that is a byte count that will be " -"added to the returned pointer." -msgstr "" - -#: ../../whatsnew/2.6.rst:2883 -msgid "Improved SSL Support" -msgstr "" - -#: ../../whatsnew/2.6.rst:2885 -msgid "" -"Bill Janssen made extensive improvements to Python 2.6's support for the " -"Secure Sockets Layer by adding a new module, :mod:`ssl`, that's built atop " -"the `OpenSSL `__ library. This new module provides" -" more control over the protocol negotiated, the X.509 certificates used, and" -" has better support for writing SSL servers (as opposed to clients) in " -"Python. The existing SSL support in the :mod:`socket` module hasn't been " -"removed and continues to work, though it will be removed in Python 3.0." -msgstr "" - -#: ../../whatsnew/2.6.rst:2894 -msgid "" -"To use the new module, you must first create a TCP connection in the usual " -"way and then pass it to the :func:`ssl.wrap_socket` function. It's possible " -"to specify whether a certificate is required, and to obtain certificate info" -" by calling the :meth:`getpeercert` method." -msgstr "" - -#: ../../whatsnew/2.6.rst:2901 -msgid "The documentation for the :mod:`ssl` module." -msgstr "" - -#: ../../whatsnew/2.6.rst:2906 -msgid "Deprecations and Removals" -msgstr "" - -#: ../../whatsnew/2.6.rst:2908 ../../whatsnew/2.6.rst:3262 -msgid "" -"String exceptions have been removed. Attempting to use them raises a " -":exc:`TypeError`." -msgstr "" - -#: ../../whatsnew/2.6.rst:2911 -msgid "" -"Changes to the :class:`Exception` interface as dictated by :pep:`352` " -"continue to be made. For 2.6, the :attr:`!message` attribute is being " -"deprecated in favor of the :attr:`~BaseException.args` attribute." -msgstr "" - -#: ../../whatsnew/2.6.rst:2916 -msgid "" -"(3.0-warning mode) Python 3.0 will feature a reorganized standard library " -"that will drop many outdated modules and rename others. Python 2.6 running " -"in 3.0-warning mode will warn about these modules when they are imported." -msgstr "" - -#: ../../whatsnew/2.6.rst:2921 -msgid "" -"The list of deprecated modules is: :mod:`!audiodev`, :mod:`!bgenlocations`, " -":mod:`!buildtools`, :mod:`!bundlebuilder`, :mod:`!Canvas`, :mod:`!compiler`," -" :mod:`!dircache`, :mod:`!dl`, :mod:`!fpformat`, :mod:`!gensuitemodule`, " -":mod:`!ihooks`, :mod:`!imageop`, :mod:`!imgfile`, :mod:`!linuxaudiodev`, " -":mod:`!mhlib`, :mod:`!mimetools`, :mod:`!multifile`, :mod:`!new`, " -":mod:`!pure`, :mod:`!statvfs`, :mod:`!sunaudiodev`, :mod:`!test.testall`, " -"and :mod:`!toaiff`." -msgstr "" - -#: ../../whatsnew/2.6.rst:2946 -msgid "The :mod:`!gopherlib` module has been removed." -msgstr "" - -#: ../../whatsnew/2.6.rst:2948 -msgid "" -"The :mod:`!MimeWriter` module and :mod:`!mimify` module have been " -"deprecated; use the :mod:`email` package instead." -msgstr "" - -#: ../../whatsnew/2.6.rst:2952 -msgid "" -"The :mod:`!md5` module has been deprecated; use the :mod:`hashlib` module " -"instead." -msgstr "" - -#: ../../whatsnew/2.6.rst:2955 -msgid "" -"The :mod:`!posixfile` module has been deprecated; :func:`fcntl.lockf` " -"provides better locking." -msgstr "" - -#: ../../whatsnew/2.6.rst:2958 -msgid "" -"The :mod:`!popen2` module has been deprecated; use the :mod:`subprocess` " -"module." -msgstr "" - -#: ../../whatsnew/2.6.rst:2961 -msgid "The :mod:`!rgbimg` module has been removed." -msgstr "" - -#: ../../whatsnew/2.6.rst:2963 -msgid "" -"The :mod:`!sets` module has been deprecated; it's better to use the built-in" -" :class:`set` and :class:`frozenset` types." -msgstr "" - -#: ../../whatsnew/2.6.rst:2966 -msgid "" -"The :mod:`!sha` module has been deprecated; use the :mod:`hashlib` module " -"instead." -msgstr "" - -#: ../../whatsnew/2.6.rst:2974 -msgid "Build and C API Changes" -msgstr "Perubahan Pembangunan *Build* dan API C" - -#: ../../whatsnew/2.6.rst:2976 -msgid "Changes to Python's build process and to the C API include:" -msgstr "" - -#: ../../whatsnew/2.6.rst:2978 -msgid "" -"Python now must be compiled with C89 compilers (after 19 years!). This " -"means that the Python source tree has dropped its own implementations of " -":c:func:`!memmove` and :c:func:`!strerror`, which are in the C89 standard " -"library." -msgstr "" - -#: ../../whatsnew/2.6.rst:2983 -msgid "" -"Python 2.6 can be built with Microsoft Visual Studio 2008 (version 9.0), and" -" this is the new default compiler. See the :file:`PCbuild` directory for " -"the build files. (Implemented by Christian Heimes.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2988 -msgid "" -"On Mac OS X, Python 2.6 can be compiled as a 4-way universal build. The " -":program:`configure` script can take a :option:`!--with-universal-" -"archs=[32-bit|64-bit|all]` switch, controlling whether the binaries are " -"built for 32-bit architectures (x86, PowerPC), 64-bit (x86-64 and PPC-64), " -"or both. (Contributed by Ronald Oussoren.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:2995 -msgid "" -"A new function added in Python 2.6.6, :c:func:`!PySys_SetArgvEx`, sets the " -"value of ``sys.argv`` and can optionally update ``sys.path`` to include the " -"directory containing the script named by ``sys.argv[0]`` depending on the " -"value of an *updatepath* parameter." -msgstr "" - -#: ../../whatsnew/2.6.rst:3000 -msgid "" -"This function was added to close a security hole for applications that embed" -" Python. The old function, :c:func:`!PySys_SetArgv`, would always update " -"``sys.path``, and sometimes it would add the current directory. This meant " -"that, if you ran an application embedding Python in a directory controlled " -"by someone else, attackers could put a Trojan-horse module in the directory " -"(say, a file named :file:`os.py`) that your application would then import " -"and run." -msgstr "" - -#: ../../whatsnew/2.6.rst:3008 -msgid "" -"If you maintain a C/C++ application that embeds Python, check whether you're" -" calling :c:func:`!PySys_SetArgv` and carefully consider whether the " -"application should be using :c:func:`!PySys_SetArgvEx` with *updatepath* set" -" to false. Note that using this function will break compatibility with " -"Python versions 2.6.5 and earlier; if you have to continue working with " -"earlier versions, you can leave the call to :c:func:`!PySys_SetArgv` alone " -"and call ``PyRun_SimpleString(\"sys.path.pop(0)\\n\")`` afterwards to " -"discard the first ``sys.path`` component." -msgstr "" - -#: ../../whatsnew/2.6.rst:3018 -msgid "" -"Security issue reported as :cve:`2008-5983`; discussed in :gh:`50003`, and " -"fixed by Antoine Pitrou." -msgstr "" - -#: ../../whatsnew/2.6.rst:3021 -msgid "" -"The BerkeleyDB module now has a C API object, available as ``bsddb.db.api``." -" This object can be used by other C extensions that wish to use the " -":mod:`bsddb` module for their own purposes. (Contributed by Duncan Grisby.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3026 -msgid "" -"The new buffer interface, previously described in `the PEP 3118 section " -"<#pep-3118-revised-buffer-protocol>`__, adds :c:func:`PyObject_GetBuffer` " -"and :c:func:`PyBuffer_Release`, as well as a few other functions." -msgstr "" - -#: ../../whatsnew/2.6.rst:3031 -msgid "" -"Python's use of the C stdio library is now thread-safe, or at least as " -"thread-safe as the underlying library is. A long-standing potential bug " -"occurred if one thread closed a file object while another thread was reading" -" from or writing to the object. In 2.6 file objects have a reference count," -" manipulated by the :c:func:`!PyFile_IncUseCount` and " -":c:func:`!PyFile_DecUseCount` functions. File objects can't be closed " -"unless the reference count is zero. :c:func:`!PyFile_IncUseCount` should be" -" called while the GIL is still held, before carrying out an I/O operation " -"using the ``FILE *`` pointer, and :c:func:`!PyFile_DecUseCount` should be " -"called immediately after the GIL is re-acquired. (Contributed by Antoine " -"Pitrou and Gregory P. Smith.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3044 -msgid "" -"Importing modules simultaneously in two different threads no longer " -"deadlocks; it will now raise an :exc:`ImportError`. A new API function, " -":c:func:`PyImport_ImportModuleNoBlock`, will look for a module in " -"``sys.modules`` first, then try to import it after acquiring an import lock." -" If the import lock is held by another thread, an :exc:`ImportError` is " -"raised. (Contributed by Christian Heimes.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3052 -msgid "" -"Several functions return information about the platform's floating-point " -"support. :c:func:`PyFloat_GetMax` returns the maximum representable " -"floating-point value, and :c:func:`PyFloat_GetMin` returns the minimum " -"positive value. :c:func:`PyFloat_GetInfo` returns an object containing more" -" information from the :file:`float.h` file, such as ``\"mant_dig\"`` (number" -" of digits in the mantissa), ``\"epsilon\"`` (smallest difference between " -"1.0 and the next largest value representable), and several others. " -"(Contributed by Christian Heimes; :issue:`1534`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3063 -msgid "" -"C functions and methods that use :c:func:`PyComplex_AsCComplex` will now " -"accept arguments that have a :meth:`__complex__` method. In particular, the" -" functions in the :mod:`cmath` module will now accept objects with this " -"method. This is a backport of a Python 3.0 change. (Contributed by Mark " -"Dickinson; :issue:`1675423`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3070 -msgid "" -"Python's C API now includes two functions for case-insensitive string " -"comparisons, ``PyOS_stricmp(char*, char*)`` and ``PyOS_strnicmp(char*, " -"char*, Py_ssize_t)``. (Contributed by Christian Heimes; :issue:`1635`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3075 -msgid "" -"Many C extensions define their own little macro for adding integers and " -"strings to the module's dictionary in the ``init*`` function. Python 2.6 " -"finally defines standard macros for adding values to a module, " -":c:macro:`PyModule_AddStringMacro` and :c:macro:`PyModule_AddIntMacro()`. " -"(Contributed by Christian Heimes.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3082 -msgid "" -"Some macros were renamed in both 3.0 and 2.6 to make it clearer that they " -"are macros, not functions. :c:macro:`!Py_Size()` became " -":c:macro:`Py_SIZE()`, :c:macro:`!Py_Type()` became :c:macro:`Py_TYPE()`, and" -" :c:macro:`!Py_Refcnt()` became :c:macro:`Py_REFCNT()`. The mixed-case " -"macros are still available in Python 2.6 for backward compatibility. " -"(:issue:`1629`)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3091 -msgid "" -"Distutils now places C extensions it builds in a different directory when " -"running on a debug version of Python. (Contributed by Collin Winter; " -":issue:`1530959`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3095 -msgid "" -"Several basic data types, such as integers and strings, maintain internal " -"free lists of objects that can be re-used. The data structures for these " -"free lists now follow a naming convention: the variable is always named " -"``free_list``, the counter is always named ``numfree``, and a macro " -"``Py_MAXFREELIST`` is always defined." -msgstr "" - -#: ../../whatsnew/2.6.rst:3102 -msgid "" -"A new Makefile target, \"make patchcheck\", prepares the Python source tree " -"for making a patch: it fixes trailing whitespace in all modified ``.py`` " -"files, checks whether the documentation has been changed, and reports " -"whether the :file:`Misc/ACKS` and :file:`Misc/NEWS` files have been updated." -" (Contributed by Brett Cannon.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3109 -msgid "" -"Another new target, \"make profile-opt\", compiles a Python binary using " -"GCC's profile-guided optimization. It compiles Python with profiling " -"enabled, runs the test suite to obtain a set of profiling results, and then " -"compiles using these results for optimization. (Contributed by Gregory P. " -"Smith.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3118 -msgid "Port-Specific Changes: Windows" -msgstr "" - -#: ../../whatsnew/2.6.rst:3120 -msgid "" -"The support for Windows 95, 98, ME and NT4 has been dropped. Python 2.6 " -"requires at least Windows 2000 SP4." -msgstr "" - -#: ../../whatsnew/2.6.rst:3123 -msgid "" -"The new default compiler on Windows is Visual Studio 2008 (version 9.0). The" -" build directories for Visual Studio 2003 (version 7.1) and 2005 (version " -"8.0) were moved into the PC/ directory. The new :file:`PCbuild` directory " -"supports cross compilation for X64, debug builds and Profile Guided " -"Optimization (PGO). PGO builds are roughly 10% faster than normal builds. " -"(Contributed by Christian Heimes with help from Amaury Forgeot d'Arc and " -"Martin von Löwis.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3131 -msgid "" -"The :mod:`msvcrt` module now supports both the normal and wide char variants" -" of the console I/O API. The :func:`~msvcrt.getwch` function reads a " -"keypress and returns a Unicode value, as does the :func:`~msvcrt.getwche` " -"function. The :func:`~msvcrt.putwch` function takes a Unicode character and" -" writes it to the console. (Contributed by Christian Heimes.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3138 -msgid "" -":func:`os.path.expandvars` will now expand environment variables in the form" -" \"%var%\", and \"~user\" will be expanded into the user's home directory " -"path. (Contributed by Josiah Carlson; :issue:`957650`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3142 -msgid "" -"The :mod:`socket` module's socket objects now have an " -":meth:`~socket.socket.ioctl` method that provides a limited interface to the" -" :c:func:`WSAIoctl` system interface." -msgstr "" - -#: ../../whatsnew/2.6.rst:3146 -msgid "" -"The :mod:`_winreg ` module now has a function, " -":func:`~winreg.ExpandEnvironmentStrings`, that expands environment variable " -"references such as ``%NAME%`` in an input string. The handle objects " -"provided by this module now support the context protocol, so they can be " -"used in :keyword:`with` statements. (Contributed by Christian Heimes.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3153 -msgid "" -":mod:`_winreg ` also has better support for x64 systems, exposing " -"the :func:`~winreg.DisableReflectionKey`, " -":func:`~winreg.EnableReflectionKey`, and :func:`~winreg.QueryReflectionKey` " -"functions, which enable and disable registry reflection for 32-bit processes" -" running on 64-bit systems. (:issue:`1753245`)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3159 -msgid "" -"The :mod:`!msilib` module's :class:`!Record` object gained " -":meth:`!GetInteger` and :meth:`!GetString` methods that return field values " -"as an integer or a string. (Contributed by Floris Bruynooghe; " -":issue:`2125`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3167 -msgid "Port-Specific Changes: Mac OS X" -msgstr "" - -#: ../../whatsnew/2.6.rst:3169 -msgid "" -"When compiling a framework build of Python, you can now specify the " -"framework name to be used by providing the :option:`!--with-framework-name=`" -" option to the :program:`configure` script." -msgstr "" - -#: ../../whatsnew/2.6.rst:3174 -msgid "" -"The :mod:`!macfs` module has been removed. This in turn required the " -":func:`!macostools.touched` function to be removed because it depended on " -"the :mod:`!macfs` module. (:issue:`1490190`)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3178 -msgid "" -"Many other Mac OS modules have been deprecated and will be removed in Python" -" 3.0: :mod:`!_builtinSuites`, :mod:`!aepack`, :mod:`!aetools`, " -":mod:`!aetypes`, :mod:`!applesingle`, :mod:`!appletrawmain`, " -":mod:`!appletrunner`, :mod:`!argvemulator`, :mod:`!Audio_mac`, " -":mod:`!autoGIL`, :mod:`!Carbon`, :mod:`!cfmfile`, :mod:`!CodeWarrior`, " -":mod:`!ColorPicker`, :mod:`!EasyDialogs`, :mod:`!Explorer`, :mod:`!Finder`, " -":mod:`!FrameWork`, :mod:`!findertools`, :mod:`!ic`, :mod:`!icglue`, " -":mod:`!icopen`, :mod:`!macerrors`, :mod:`!MacOS`, :mod:`!macfs`, " -":mod:`!macostools`, :mod:`!macresource`, :mod:`!MiniAEFrame`, :mod:`!Nav`, " -":mod:`!Netscape`, :mod:`!OSATerminology`, :mod:`!pimp`, " -":mod:`!PixMapWrapper`, :mod:`!StdSuites`, :mod:`!SystemEvents`, " -":mod:`!Terminal`, and :mod:`!terminalcommand`." -msgstr "" - -#: ../../whatsnew/2.6.rst:3221 -msgid "Port-Specific Changes: IRIX" -msgstr "" - -#: ../../whatsnew/2.6.rst:3223 -msgid "" -"A number of old IRIX-specific modules were deprecated and will be removed in" -" Python 3.0: :mod:`!al` and :mod:`!AL`, :mod:`!cd`, :mod:`!cddb`, " -":mod:`!cdplayer`, :mod:`!CL` and :mod:`!cl`, :mod:`!DEVICE`, :mod:`!ERRNO`, " -":mod:`!FILE`, :mod:`!FL` and :mod:`!fl`, :mod:`!flp`, :mod:`!fm`, " -":mod:`!GET`, :mod:`!GLWS`, :mod:`!GL` and :mod:`!gl`, :mod:`!IN`, " -":mod:`!IOCTL`, :mod:`!jpeg`, :mod:`!panelparser`, :mod:`!readcd`, :mod:`!SV`" -" and :mod:`!sv`, :mod:`!torgb`, :mod:`!videoreader`, and :mod:`!WAIT`." -msgstr "" - -#: ../../whatsnew/2.6.rst:3253 -msgid "Porting to Python 2.6" -msgstr "" - -#: ../../whatsnew/2.6.rst:3255 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code:" -msgstr "" - -#: ../../whatsnew/2.6.rst:3258 -msgid "" -"Classes that aren't supposed to be hashable should set ``__hash__ = None`` " -"in their definitions to indicate the fact." -msgstr "" - -#: ../../whatsnew/2.6.rst:3265 -msgid "" -"The :meth:`__init__` method of :class:`collections.deque` now clears any " -"existing contents of the deque before adding elements from the iterable. " -"This change makes the behavior match ``list.__init__()``." -msgstr "" - -#: ../../whatsnew/2.6.rst:3270 -msgid "" -":meth:`object.__init__` previously accepted arbitrary arguments and keyword " -"arguments, ignoring them. In Python 2.6, this is no longer allowed and will" -" result in a :exc:`TypeError`. This will affect :meth:`__init__` methods " -"that end up calling the corresponding method on :class:`object` (perhaps " -"through using :func:`super`). See :issue:`1683368` for discussion." -msgstr "" - -#: ../../whatsnew/2.6.rst:3277 -msgid "" -"The :class:`Decimal` constructor now accepts leading and trailing whitespace" -" when passed a string. Previously it would raise an :exc:`InvalidOperation`" -" exception. On the other hand, the :meth:`create_decimal` method of " -":class:`Context` objects now explicitly disallows extra whitespace, raising " -"a :exc:`ConversionSyntax` exception." -msgstr "" - -#: ../../whatsnew/2.6.rst:3284 -msgid "" -"Due to an implementation accident, if you passed a file path to the built-in" -" :func:`__import__` function, it would actually import the specified file." -" This was never intended to work, however, and the implementation now " -"explicitly checks for this case and raises an :exc:`ImportError`." -msgstr "" - -#: ../../whatsnew/2.6.rst:3290 -msgid "" -"C API: the :c:func:`PyImport_Import` and :c:func:`PyImport_ImportModule` " -"functions now default to absolute imports, not relative imports. This will " -"affect C extensions that import other modules." -msgstr "" - -#: ../../whatsnew/2.6.rst:3294 -msgid "" -"C API: extension data types that shouldn't be hashable should define their " -"``tp_hash`` slot to :c:func:`PyObject_HashNotImplemented`." -msgstr "" - -#: ../../whatsnew/2.6.rst:3298 -msgid "" -"The :mod:`socket` module exception :exc:`socket.error` now inherits from " -":exc:`IOError`. Previously it wasn't a subclass of :exc:`StandardError` but" -" now it is, through :exc:`IOError`. (Implemented by Gregory P. Smith; " -":issue:`1706815`.)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3303 -msgid "" -"The :mod:`xmlrpclib ` module no longer automatically converts" -" :class:`datetime.date` and :class:`datetime.time` to the " -":class:`xmlrpclib.DateTime ` type; the conversion " -"semantics were not necessarily correct for all applications. Code using " -":mod:`!xmlrpclib` should convert :class:`date` and :class:`~datetime.time` " -"instances. (:issue:`1330538`)" -msgstr "" - -#: ../../whatsnew/2.6.rst:3310 -msgid "" -"(3.0-warning mode) The :class:`Exception` class now warns when accessed " -"using slicing or index access; having :class:`Exception` behave like a tuple" -" is being phased out." -msgstr "" - -#: ../../whatsnew/2.6.rst:3314 -msgid "" -"(3.0-warning mode) inequality comparisons between two dictionaries or two " -"objects that don't implement comparison methods are reported as warnings. " -"``dict1 == dict2`` still works, but ``dict1 < dict2`` is being phased out." -msgstr "" - -#: ../../whatsnew/2.6.rst:3319 -msgid "" -"Comparisons between cells, which are an implementation detail of Python's " -"scoping rules, also cause warnings because such comparisons are forbidden " -"entirely in 3.0." -msgstr "" - -#: ../../whatsnew/2.6.rst:3323 -msgid "For applications that embed Python:" -msgstr "" - -#: ../../whatsnew/2.6.rst:3325 -msgid "" -"The :c:func:`!PySys_SetArgvEx` function was added in Python 2.6.6, letting " -"applications close a security hole when the existing " -":c:func:`!PySys_SetArgv` function was used. Check whether you're calling " -":c:func:`!PySys_SetArgv` and carefully consider whether the application " -"should be using :c:func:`!PySys_SetArgvEx` with *updatepath* set to false." -msgstr "" - -#: ../../whatsnew/2.6.rst:3338 -msgid "Acknowledgements" -msgstr "Ucapan Terima Kasih" - -#: ../../whatsnew/2.6.rst:3340 -msgid "" -"The author would like to thank the following people for offering " -"suggestions, corrections and assistance with various drafts of this article:" -" Georg Brandl, Steve Brown, Nick Coghlan, Ralph Corderoy, Jim Jewett, Kent " -"Johnson, Chris Lambacher, Martin Michlmayr, Antoine Pitrou, Brian Warner." -msgstr "" - -#: ../../whatsnew/2.6.rst:1068 -msgid "universal newlines" -msgstr "" - -#: ../../whatsnew/2.6.rst:1068 -msgid "What's new" -msgstr "" diff --git a/python-newest.whatsnew--2_7/id.po b/python-newest.whatsnew--2_7/id.po deleted file mode 100644 index c8d6239..0000000 --- a/python-newest.whatsnew--2_7/id.po +++ /dev/null @@ -1,3879 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/2.7.rst:3 -msgid "What's New in Python 2.7" -msgstr "Apa yang Baru di Python 2.7" - -#: ../../whatsnew/2.7.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../whatsnew/2.7.rst:5 -msgid "A.M. Kuchling (amk at amk.ca)" -msgstr "A.M. Kuchling (amk at amk.ca)" - -#: ../../whatsnew/2.7.rst:52 -msgid "" -"This article explains the new features in Python 2.7. Python 2.7 was " -"released on July 3, 2010." -msgstr "" -"Artikel ini menjelaskan fitur-fitur baru dalam Python 2.7. Python 2.7 " -"dirilis pada 3 Juli 2010." - -#: ../../whatsnew/2.7.rst:55 -msgid "" -"Numeric handling has been improved in many ways, for both floating-point " -"numbers and for the :class:`~decimal.Decimal` class. There are some useful " -"additions to the standard library, such as a greatly enhanced " -":mod:`unittest` module, the :mod:`argparse` module for parsing command-line " -"options, convenient :class:`~collections.OrderedDict` and " -":class:`~collections.Counter` classes in the :mod:`collections` module, and " -"many other improvements." -msgstr "" - -#: ../../whatsnew/2.7.rst:63 -msgid "" -"Python 2.7 is planned to be the last of the 2.x releases, so we worked on " -"making it a good release for the long term. To help with porting to Python " -"3, several new features from the Python 3.x series have been included in " -"2.7." -msgstr "" - -#: ../../whatsnew/2.7.rst:68 -msgid "" -"This article doesn't attempt to provide a complete specification of the new " -"features, but instead provides a convenient overview. For full details, you" -" should refer to the documentation for Python 2.7 at " -"https://docs.python.org. If you want to understand the rationale for the " -"design and implementation, refer to the PEP for a particular new feature or " -"the issue on https://bugs.python.org in which a change was discussed. " -"Whenever possible, \"What's New in Python\" links to the bug/patch item for " -"each change." -msgstr "" - -#: ../../whatsnew/2.7.rst:80 -msgid "The Future for Python 2.x" -msgstr "Masa Depan untuk Python 2.x" - -#: ../../whatsnew/2.7.rst:82 -msgid "" -"Python 2.7 is the last major release in the 2.x series, as the Python " -"maintainers have shifted the focus of their new feature development efforts " -"to the Python 3.x series. This means that while Python 2 continues to " -"receive bug fixes, and to be updated to build correctly on new hardware and " -"versions of supported operated systems, there will be no new full feature " -"releases for the language or standard library." -msgstr "" - -#: ../../whatsnew/2.7.rst:89 -msgid "" -"However, while there is a large common subset between Python 2.7 and Python " -"3, and many of the changes involved in migrating to that common subset, or " -"directly to Python 3, can be safely automated, some other changes (notably " -"those associated with Unicode handling) may require careful consideration, " -"and preferably robust automated regression test suites, to migrate " -"effectively." -msgstr "" - -#: ../../whatsnew/2.7.rst:96 -msgid "" -"This means that Python 2.7 will remain in place for a long time, providing a" -" stable and supported base platform for production systems that have not yet" -" been ported to Python 3. The full expected lifecycle of the Python 2.7 " -"series is detailed in :pep:`373`." -msgstr "" - -#: ../../whatsnew/2.7.rst:101 -msgid "Some key consequences of the long-term significance of 2.7 are:" -msgstr "" - -#: ../../whatsnew/2.7.rst:103 -msgid "" -"As noted above, the 2.7 release has a much longer period of maintenance when" -" compared to earlier 2.x versions. Python 2.7 is currently expected to " -"remain supported by the core development team (receiving security updates " -"and other bug fixes) until at least 2020 (10 years after its initial " -"release, compared to the more typical support period of 18--24 months)." -msgstr "" - -#: ../../whatsnew/2.7.rst:109 -msgid "" -"As the Python 2.7 standard library ages, making effective use of the Python " -"Package Index (either directly or via a redistributor) becomes more " -"important for Python 2 users. In addition to a wide variety of third party " -"packages for various tasks, the available packages include backports of new " -"modules and features from the Python 3 standard library that are compatible " -"with Python 2, as well as various tools and libraries that can make it " -"easier to migrate to Python 3. The `Python Packaging User Guide " -"`__ provides guidance on downloading and " -"installing software from the Python Package Index." -msgstr "" - -#: ../../whatsnew/2.7.rst:119 -msgid "" -"While the preferred approach to enhancing Python 2 is now the publication of" -" new packages on the Python Package Index, this approach doesn't necessarily" -" work in all cases, especially those related to network security. In " -"exceptional cases that cannot be handled adequately by publishing new or " -"updated packages on PyPI, the Python Enhancement Proposal process may be " -"used to make the case for adding new features directly to the Python 2 " -"standard library. Any such additions, and the maintenance releases where " -"they were added, will be noted in the :ref:`py27-maintenance-enhancements` " -"section below." -msgstr "" - -#: ../../whatsnew/2.7.rst:129 -msgid "" -"For projects wishing to migrate from Python 2 to Python 3, or for library " -"and framework developers wishing to support users on both Python 2 and " -"Python 3, there are a variety of tools and guides available to help decide " -"on a suitable approach and manage some of the technical details involved. " -"The recommended starting point is the :ref:`pyporting-howto` HOWTO guide." -msgstr "" - -#: ../../whatsnew/2.7.rst:137 -msgid "Changes to the Handling of Deprecation Warnings" -msgstr "" - -#: ../../whatsnew/2.7.rst:139 -msgid "" -"For Python 2.7, a policy decision was made to silence warnings only of " -"interest to developers by default. :exc:`DeprecationWarning` and its " -"descendants are now ignored unless otherwise requested, preventing users " -"from seeing warnings triggered by an application. This change was also made" -" in the branch that became Python 3.2. (Discussed on stdlib-sig and carried " -"out in :issue:`7319`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:146 -msgid "" -"In previous releases, :exc:`DeprecationWarning` messages were enabled by " -"default, providing Python developers with a clear indication of where their " -"code may break in a future major version of Python." -msgstr "" - -#: ../../whatsnew/2.7.rst:151 -msgid "" -"However, there are increasingly many users of Python-based applications who " -"are not directly involved in the development of those applications. " -":exc:`DeprecationWarning` messages are irrelevant to such users, making them" -" worry about an application that's actually working correctly and burdening " -"application developers with responding to these concerns." -msgstr "" - -#: ../../whatsnew/2.7.rst:158 -msgid "" -"You can re-enable display of :exc:`DeprecationWarning` messages by running " -"Python with the :option:`-Wdefault <-W>` (short form: :option:`-Wd <-W>`) " -"switch, or by setting the :envvar:`PYTHONWARNINGS` environment variable to " -"``\"default\"`` (or ``\"d\"``) before running Python. Python code can also " -"re-enable them by calling ``warnings.simplefilter('default')``." -msgstr "" - -#: ../../whatsnew/2.7.rst:165 -msgid "" -"The ``unittest`` module also automatically reenables deprecation warnings " -"when running tests." -msgstr "" - -#: ../../whatsnew/2.7.rst:170 -msgid "Python 3.1 Features" -msgstr "Fitur-fitur Python 3.1" - -#: ../../whatsnew/2.7.rst:172 -msgid "" -"Much as Python 2.6 incorporated features from Python 3.0, version 2.7 " -"incorporates some of the new features in Python 3.1. The 2.x series " -"continues to provide tools for migrating to the 3.x series." -msgstr "" - -#: ../../whatsnew/2.7.rst:177 -msgid "A partial list of 3.1 features that were backported to 2.7:" -msgstr "" - -#: ../../whatsnew/2.7.rst:179 -msgid "The syntax for set literals (``{1,2,3}`` is a mutable set)." -msgstr "" - -#: ../../whatsnew/2.7.rst:180 -msgid "Dictionary and set comprehensions (``{i: i*2 for i in range(3)}``)." -msgstr "" - -#: ../../whatsnew/2.7.rst:181 -msgid "Multiple context managers in a single :keyword:`with` statement." -msgstr "" - -#: ../../whatsnew/2.7.rst:182 -msgid "" -"A new version of the :mod:`io` library, rewritten in C for performance." -msgstr "" - -#: ../../whatsnew/2.7.rst:183 -msgid "The ordered-dictionary type described in :ref:`pep-0372`." -msgstr "" - -#: ../../whatsnew/2.7.rst:184 -msgid "The new ``\",\"`` format specifier described in :ref:`pep-0378`." -msgstr "" - -#: ../../whatsnew/2.7.rst:185 -msgid "The :class:`memoryview` object." -msgstr "" - -#: ../../whatsnew/2.7.rst:186 -msgid "" -"A small subset of the :mod:`importlib` module, `described below <#importlib-" -"section>`__." -msgstr "" - -#: ../../whatsnew/2.7.rst:188 -msgid "" -"The :func:`repr` of a float ``x`` is shorter in many cases: it's now based " -"on the shortest decimal string that's guaranteed to round back to ``x``. As" -" in previous versions of Python, it's guaranteed that ``float(repr(x))`` " -"recovers ``x``." -msgstr "" - -#: ../../whatsnew/2.7.rst:192 -msgid "" -"Float-to-string and string-to-float conversions are correctly rounded. The " -":func:`round` function is also now correctly rounded." -msgstr "" - -#: ../../whatsnew/2.7.rst:194 -msgid "" -"The :c:type:`PyCapsule` type, used to provide a C API for extension modules." -msgstr "" - -#: ../../whatsnew/2.7.rst:195 -msgid "The :c:func:`PyLong_AsLongAndOverflow` C API function." -msgstr "" - -#: ../../whatsnew/2.7.rst:197 -msgid "Other new Python3-mode warnings include:" -msgstr "" - -#: ../../whatsnew/2.7.rst:199 -msgid "" -":func:`!operator.isCallable` and :func:`!operator.sequenceIncludes`, which " -"are not supported in 3.x, now trigger warnings." -msgstr "" - -#: ../../whatsnew/2.7.rst:201 -msgid "" -"The :option:`!-3` switch now automatically enables the :option:`!-Qwarn` " -"switch that causes warnings about using classic division with integers and " -"long integers." -msgstr "" - -#: ../../whatsnew/2.7.rst:214 -msgid "PEP 372: Adding an Ordered Dictionary to collections" -msgstr "" - -#: ../../whatsnew/2.7.rst:216 -msgid "" -"Regular Python dictionaries iterate over key/value pairs in arbitrary order." -" Over the years, a number of authors have written alternative " -"implementations that remember the order that the keys were originally " -"inserted. Based on the experiences from those implementations, 2.7 " -"introduces a new :class:`~collections.OrderedDict` class in the " -":mod:`collections` module." -msgstr "" - -#: ../../whatsnew/2.7.rst:222 -msgid "" -"The :class:`~collections.OrderedDict` API provides the same interface as " -"regular dictionaries but iterates over keys and values in a guaranteed order" -" depending on when a key was first inserted::" -msgstr "" - -#: ../../whatsnew/2.7.rst:226 -msgid "" -">>> from collections import OrderedDict\n" -">>> d = OrderedDict([('first', 1),\n" -"... ('second', 2),\n" -"... ('third', 3)])\n" -">>> d.items()\n" -"[('first', 1), ('second', 2), ('third', 3)]" -msgstr "" - -#: ../../whatsnew/2.7.rst:233 -msgid "" -"If a new entry overwrites an existing entry, the original insertion position" -" is left unchanged::" -msgstr "" - -#: ../../whatsnew/2.7.rst:236 -msgid "" -">>> d['second'] = 4\n" -">>> d.items()\n" -"[('first', 1), ('second', 4), ('third', 3)]" -msgstr "" - -#: ../../whatsnew/2.7.rst:240 -msgid "Deleting an entry and reinserting it will move it to the end::" -msgstr "" - -#: ../../whatsnew/2.7.rst:242 -msgid "" -">>> del d['second']\n" -">>> d['second'] = 5\n" -">>> d.items()\n" -"[('first', 1), ('third', 3), ('second', 5)]" -msgstr "" - -#: ../../whatsnew/2.7.rst:247 -msgid "" -"The :meth:`~collections.OrderedDict.popitem` method has an optional *last* " -"argument that defaults to ``True``. If *last* is true, the most recently " -"added key is returned and removed; if it's false, the oldest key is " -"selected::" -msgstr "" - -#: ../../whatsnew/2.7.rst:252 -msgid "" -">>> od = OrderedDict([(x,0) for x in range(20)])\n" -">>> od.popitem()\n" -"(19, 0)\n" -">>> od.popitem()\n" -"(18, 0)\n" -">>> od.popitem(last=False)\n" -"(0, 0)\n" -">>> od.popitem(last=False)\n" -"(1, 0)" -msgstr "" - -#: ../../whatsnew/2.7.rst:262 -msgid "" -"Comparing two ordered dictionaries checks both the keys and values, and " -"requires that the insertion order was the same::" -msgstr "" - -#: ../../whatsnew/2.7.rst:265 -msgid "" -">>> od1 = OrderedDict([('first', 1),\n" -"... ('second', 2),\n" -"... ('third', 3)])\n" -">>> od2 = OrderedDict([('third', 3),\n" -"... ('first', 1),\n" -"... ('second', 2)])\n" -">>> od1 == od2\n" -"False\n" -">>> # Move 'third' key to the end\n" -">>> del od2['third']; od2['third'] = 3\n" -">>> od1 == od2\n" -"True" -msgstr "" - -#: ../../whatsnew/2.7.rst:278 -msgid "" -"Comparing an :class:`~collections.OrderedDict` with a regular dictionary " -"ignores the insertion order and just compares the keys and values." -msgstr "" - -#: ../../whatsnew/2.7.rst:281 -msgid "" -"How does the :class:`~collections.OrderedDict` work? It maintains a doubly " -"linked list of keys, appending new keys to the list as they're inserted. A " -"secondary dictionary maps keys to their corresponding list node, so deletion" -" doesn't have to traverse the entire linked list and therefore remains *O*\\" -" (1)." -msgstr "" - -#: ../../whatsnew/2.7.rst:287 -msgid "" -"The standard library now supports use of ordered dictionaries in several " -"modules." -msgstr "" - -#: ../../whatsnew/2.7.rst:290 -msgid "" -"The :mod:`ConfigParser ` module uses them by default, meaning " -"that configuration files can now be read, modified, and then written back in" -" their original order." -msgstr "" - -#: ../../whatsnew/2.7.rst:294 -msgid "" -"The :meth:`~collections.somenamedtuple._asdict` method for " -":func:`collections.namedtuple` now returns an ordered dictionary with the " -"values appearing in the same order as the underlying tuple indices." -msgstr "" - -#: ../../whatsnew/2.7.rst:298 -msgid "" -"The :mod:`json` module's :class:`~json.JSONDecoder` class constructor was " -"extended with an *object_pairs_hook* parameter to allow :class:`OrderedDict`" -" instances to be built by the decoder. Support was also added for third-" -"party tools like `PyYAML `_." -msgstr "" - -#: ../../whatsnew/2.7.rst:306 -msgid ":pep:`372` - Adding an ordered dictionary to collections" -msgstr "" - -#: ../../whatsnew/2.7.rst:307 -msgid "" -"PEP written by Armin Ronacher and Raymond Hettinger; implemented by Raymond " -"Hettinger." -msgstr "" - -#: ../../whatsnew/2.7.rst:313 -msgid "PEP 378: Format Specifier for Thousands Separator" -msgstr "" - -#: ../../whatsnew/2.7.rst:315 -msgid "" -"To make program output more readable, it can be useful to add separators to " -"large numbers, rendering them as 18,446,744,073,709,551,616 instead of " -"18446744073709551616." -msgstr "" - -#: ../../whatsnew/2.7.rst:319 -msgid "" -"The fully general solution for doing this is the :mod:`locale` module, which" -" can use different separators (\",\" in North America, \".\" in Europe) and " -"different grouping sizes, but :mod:`locale` is complicated to use and " -"unsuitable for multi-threaded applications where different threads are " -"producing output for different locales." -msgstr "" - -#: ../../whatsnew/2.7.rst:325 -msgid "" -"Therefore, a simple comma-grouping mechanism has been added to the mini-" -"language used by the :meth:`str.format` method. When formatting a floating-" -"point number, simply include a comma between the width and the precision::" -msgstr "" - -#: ../../whatsnew/2.7.rst:330 -msgid "" -">>> '{:20,.2f}'.format(18446744073709551616.0)\n" -"'18,446,744,073,709,551,616.00'" -msgstr "" - -#: ../../whatsnew/2.7.rst:333 -msgid "When formatting an integer, include the comma after the width:" -msgstr "" - -#: ../../whatsnew/2.7.rst:338 -msgid "" -"This mechanism is not adaptable at all; commas are always used as the " -"separator and the grouping is always into three-digit groups. The comma-" -"formatting mechanism isn't as general as the :mod:`locale` module, but it's " -"easier to use." -msgstr "" - -#: ../../whatsnew/2.7.rst:345 -msgid ":pep:`378` - Format Specifier for Thousands Separator" -msgstr "" - -#: ../../whatsnew/2.7.rst:346 -msgid "PEP written by Raymond Hettinger; implemented by Eric Smith." -msgstr "" - -#: ../../whatsnew/2.7.rst:349 -msgid "PEP 389: The argparse Module for Parsing Command Lines" -msgstr "" - -#: ../../whatsnew/2.7.rst:351 -msgid "" -"The :mod:`argparse` module for parsing command-line arguments was added as a" -" more powerful replacement for the :mod:`optparse` module." -msgstr "" - -#: ../../whatsnew/2.7.rst:355 -msgid "" -"This means Python now supports three different modules for parsing command-" -"line arguments: :mod:`getopt`, :mod:`optparse`, and :mod:`argparse`. The " -":mod:`getopt` module closely resembles the C library's :c:func:`!getopt` " -"function, so it remains useful if you're writing a Python prototype that " -"will eventually be rewritten in C. :mod:`optparse` becomes redundant, but " -"there are no plans to remove it because there are many scripts still using " -"it, and there's no automated way to update these scripts. (Making the " -":mod:`argparse` API consistent with :mod:`optparse`'s interface was " -"discussed but rejected as too messy and difficult.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:366 -msgid "" -"In short, if you're writing a new script and don't need to worry about " -"compatibility with earlier versions of Python, use :mod:`argparse` instead " -"of :mod:`optparse`." -msgstr "" - -#: ../../whatsnew/2.7.rst:370 -msgid "Here's an example::" -msgstr "" - -#: ../../whatsnew/2.7.rst:372 -msgid "" -"import argparse\n" -"\n" -"parser = argparse.ArgumentParser(description='Command-line example.')\n" -"\n" -"# Add optional switches\n" -"parser.add_argument('-v', action='store_true', dest='is_verbose',\n" -" help='produce verbose output')\n" -"parser.add_argument('-o', action='store', dest='output',\n" -" metavar='FILE',\n" -" help='direct output to FILE instead of stdout')\n" -"parser.add_argument('-C', action='store', type=int, dest='context',\n" -" metavar='NUM', default=0,\n" -" help='display NUM lines of added context')\n" -"\n" -"# Allow any number of additional arguments.\n" -"parser.add_argument(nargs='*', action='store', dest='inputs',\n" -" help='input filenames (default is stdin)')\n" -"\n" -"args = parser.parse_args()\n" -"print args.__dict__" -msgstr "" - -#: ../../whatsnew/2.7.rst:393 -msgid "" -"Unless you override it, :option:`!-h` and :option:`!--help` switches are " -"automatically added, and produce neatly formatted output::" -msgstr "" - -#: ../../whatsnew/2.7.rst:396 -msgid "" -"-> ./python.exe argparse-example.py --help\n" -"usage: argparse-example.py [-h] [-v] [-o FILE] [-C NUM] [inputs [inputs ...]]\n" -"\n" -"Command-line example.\n" -"\n" -"positional arguments:\n" -" inputs input filenames (default is stdin)\n" -"\n" -"optional arguments:\n" -" -h, --help show this help message and exit\n" -" -v produce verbose output\n" -" -o FILE direct output to FILE instead of stdout\n" -" -C NUM display NUM lines of added context" -msgstr "" - -#: ../../whatsnew/2.7.rst:410 -msgid "" -"As with :mod:`optparse`, the command-line switches and arguments are " -"returned as an object with attributes named by the *dest* parameters::" -msgstr "" - -#: ../../whatsnew/2.7.rst:413 -msgid "" -"-> ./python.exe argparse-example.py -v\n" -"{'output': None,\n" -" 'is_verbose': True,\n" -" 'context': 0,\n" -" 'inputs': []}\n" -"\n" -"-> ./python.exe argparse-example.py -v -o /tmp/output -C 4 file1 file2\n" -"{'output': '/tmp/output',\n" -" 'is_verbose': True,\n" -" 'context': 4,\n" -" 'inputs': ['file1', 'file2']}" -msgstr "" - -#: ../../whatsnew/2.7.rst:425 -msgid "" -":mod:`argparse` has much fancier validation than :mod:`optparse`; you can " -"specify an exact number of arguments as an integer, 0 or more arguments by " -"passing ``'*'``, 1 or more by passing ``'+'``, or an optional argument with " -"``'?'``. A top-level parser can contain sub-parsers to define subcommands " -"that have different sets of switches, as in ``svn commit``, ``svn " -"checkout``, etc. You can specify an argument's type as " -":class:`~argparse.FileType`, which will automatically open files for you and" -" understands that ``'-'`` means standard input or output." -msgstr "" - -#: ../../whatsnew/2.7.rst:437 -msgid ":mod:`argparse` documentation" -msgstr "" - -#: ../../whatsnew/2.7.rst:438 -msgid "The documentation page of the argparse module." -msgstr "" - -#: ../../whatsnew/2.7.rst:440 -msgid ":ref:`upgrading-optparse-code`" -msgstr "" - -#: ../../whatsnew/2.7.rst:441 -msgid "" -"Part of the Python documentation, describing how to convert code that uses " -":mod:`optparse`." -msgstr "" - -#: ../../whatsnew/2.7.rst:444 -msgid ":pep:`389` - argparse - New Command Line Parsing Module" -msgstr "" - -#: ../../whatsnew/2.7.rst:445 -msgid "PEP written and implemented by Steven Bethard." -msgstr "" - -#: ../../whatsnew/2.7.rst:448 -msgid "PEP 391: Dictionary-Based Configuration For Logging" -msgstr "" - -#: ../../whatsnew/2.7.rst:450 -msgid "" -"The :mod:`logging` module is very flexible; applications can define a tree " -"of logging subsystems, and each logger in this tree can filter out certain " -"messages, format them differently, and direct messages to a varying number " -"of handlers." -msgstr "" - -#: ../../whatsnew/2.7.rst:455 -msgid "" -"All this flexibility can require a lot of configuration. You can write " -"Python statements to create objects and set their properties, but a complex " -"set-up requires verbose but boring code. :mod:`logging` also supports a " -":func:`~logging.config.fileConfig` function that parses a file, but the file" -" format doesn't support configuring filters, and it's messier to generate " -"programmatically." -msgstr "" - -#: ../../whatsnew/2.7.rst:462 -msgid "" -"Python 2.7 adds a :func:`~logging.config.dictConfig` function that uses a " -"dictionary to configure logging. There are many ways to produce a " -"dictionary from different sources: construct one with code; parse a file " -"containing JSON; or use a YAML parsing library if one is installed. For " -"more information see :ref:`logging-config-api`." -msgstr "" - -#: ../../whatsnew/2.7.rst:468 -msgid "" -"The following example configures two loggers, the root logger and a logger " -"named \"network\". Messages sent to the root logger will be sent to the " -"system log using the syslog protocol, and messages to the \"network\" logger" -" will be written to a :file:`network.log` file that will be rotated once the" -" log reaches 1MB." -msgstr "" - -#: ../../whatsnew/2.7.rst:476 -msgid "" -"import logging\n" -"import logging.config\n" -"\n" -"configdict = {\n" -" 'version': 1, # Configuration schema in use; must be 1 for now\n" -" 'formatters': {\n" -" 'standard': {\n" -" 'format': ('%(asctime)s %(name)-15s '\n" -" '%(levelname)-8s %(message)s')}},\n" -"\n" -" 'handlers': {'netlog': {'backupCount': 10,\n" -" 'class': 'logging.handlers.RotatingFileHandler',\n" -" 'filename': '/logs/network.log',\n" -" 'formatter': 'standard',\n" -" 'level': 'INFO',\n" -" 'maxBytes': 1000000},\n" -" 'syslog': {'class': 'logging.handlers.SysLogHandler',\n" -" 'formatter': 'standard',\n" -" 'level': 'ERROR'}},\n" -"\n" -" # Specify all the subordinate loggers\n" -" 'loggers': {\n" -" 'network': {\n" -" 'handlers': ['netlog']\n" -" }\n" -" },\n" -" # Specify properties of the root logger\n" -" 'root': {\n" -" 'handlers': ['syslog']\n" -" },\n" -"}\n" -"\n" -"# Set up configuration\n" -"logging.config.dictConfig(configdict)\n" -"\n" -"# As an example, log two error messages\n" -"logger = logging.getLogger('/')\n" -"logger.error('Database not found')\n" -"\n" -"netlogger = logging.getLogger('network')\n" -"netlogger.error('Connection failed')" -msgstr "" - -#: ../../whatsnew/2.7.rst:518 -msgid "" -"Three smaller enhancements to the :mod:`logging` module, all implemented by " -"Vinay Sajip, are:" -msgstr "" - -#: ../../whatsnew/2.7.rst:523 -msgid "" -"The :class:`~logging.handlers.SysLogHandler` class now supports syslogging " -"over TCP. The constructor has a *socktype* parameter giving the type of " -"socket to use, either :const:`socket.SOCK_DGRAM` for UDP or " -":const:`socket.SOCK_STREAM` for TCP. The default protocol remains UDP." -msgstr "" - -#: ../../whatsnew/2.7.rst:529 -msgid "" -":class:`~logging.Logger` instances gained a :meth:`~logging.Logger.getChild`" -" method that retrieves a descendant logger using a relative path. For " -"example, once you retrieve a logger by doing ``log = getLogger('app')``, " -"calling ``log.getChild('network.listen')`` is equivalent to " -"``getLogger('app.network.listen')``." -msgstr "" - -#: ../../whatsnew/2.7.rst:535 -msgid "" -"The :class:`~logging.LoggerAdapter` class gained an " -":meth:`~logging.Logger.isEnabledFor` method that takes a *level* and returns" -" whether the underlying logger would process a message of that level of " -"importance." -msgstr "" - -#: ../../whatsnew/2.7.rst:544 -msgid ":pep:`391` - Dictionary-Based Configuration For Logging" -msgstr "" - -#: ../../whatsnew/2.7.rst:545 -msgid "PEP written and implemented by Vinay Sajip." -msgstr "" - -#: ../../whatsnew/2.7.rst:548 -msgid "PEP 3106: Dictionary Views" -msgstr "" - -#: ../../whatsnew/2.7.rst:550 -msgid "" -"The dictionary methods :meth:`~dict.keys`, :meth:`~dict.values`, and " -":meth:`~dict.items` are different in Python 3.x. They return an object " -"called a :dfn:`view` instead of a fully materialized list." -msgstr "" - -#: ../../whatsnew/2.7.rst:554 -msgid "" -"It's not possible to change the return values of :meth:`~dict.keys`, " -":meth:`~dict.values`, and :meth:`~dict.items` in Python 2.7 because too much" -" code would break. Instead the 3.x versions were added under the new names " -":meth:`!viewkeys`, :meth:`!viewvalues`, and :meth:`!viewitems`." -msgstr "" - -#: ../../whatsnew/2.7.rst:562 -msgid "" -">>> d = dict((i*10, chr(65+i)) for i in range(26))\n" -">>> d\n" -"{0: 'A', 130: 'N', 10: 'B', 140: 'O', 20: ..., 250: 'Z'}\n" -">>> d.viewkeys()\n" -"dict_keys([0, 130, 10, 140, 20, 150, 30, ..., 250])" -msgstr "" - -#: ../../whatsnew/2.7.rst:568 -msgid "" -"Views can be iterated over, but the key and item views also behave like " -"sets. The ``&`` operator performs intersection, and ``|`` performs a " -"union::" -msgstr "" - -#: ../../whatsnew/2.7.rst:572 -msgid "" -">>> d1 = dict((i*10, chr(65+i)) for i in range(26))\n" -">>> d2 = dict((i**.5, i) for i in range(1000))\n" -">>> d1.viewkeys() & d2.viewkeys()\n" -"set([0.0, 10.0, 20.0, 30.0])\n" -">>> d1.viewkeys() | range(0, 30)\n" -"set([0, 1, 130, 3, 4, 5, 6, ..., 120, 250])" -msgstr "" - -#: ../../whatsnew/2.7.rst:579 -msgid "" -"The view keeps track of the dictionary and its contents change as the " -"dictionary is modified::" -msgstr "" - -#: ../../whatsnew/2.7.rst:582 -msgid "" -">>> vk = d.viewkeys()\n" -">>> vk\n" -"dict_keys([0, 130, 10, ..., 250])\n" -">>> d[260] = '&'\n" -">>> vk\n" -"dict_keys([0, 130, 260, 10, ..., 250])" -msgstr "" - -#: ../../whatsnew/2.7.rst:589 -msgid "" -"However, note that you can't add or remove keys while you're iterating over " -"the view::" -msgstr "" - -#: ../../whatsnew/2.7.rst:592 -msgid "" -">>> for k in vk:\n" -"... d[k*2] = k\n" -"...\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"RuntimeError: dictionary changed size during iteration" -msgstr "" - -#: ../../whatsnew/2.7.rst:599 -msgid "" -"You can use the view methods in Python 2.x code, and the 2to3 converter will" -" change them to the standard :meth:`~dict.keys`, :meth:`~dict.values`, and " -":meth:`~dict.items` methods." -msgstr "" - -#: ../../whatsnew/2.7.rst:605 -msgid ":pep:`3106` - Revamping dict.keys(), .values() and .items()" -msgstr "" - -#: ../../whatsnew/2.7.rst:606 -msgid "" -"PEP written by Guido van Rossum. Backported to 2.7 by Alexandre Vassalotti; " -":issue:`1967`." -msgstr "" - -#: ../../whatsnew/2.7.rst:611 -msgid "PEP 3137: The memoryview Object" -msgstr "" - -#: ../../whatsnew/2.7.rst:613 -msgid "" -"The :class:`memoryview` object provides a view of another object's memory " -"content that matches the :class:`bytes` type's interface." -msgstr "" - -#: ../../whatsnew/2.7.rst:616 -msgid "" -">>> import string\n" -">>> m = memoryview(string.letters)\n" -">>> m\n" -"\n" -">>> len(m) # Returns length of underlying object\n" -"52\n" -">>> m[0], m[25], m[26] # Indexing returns one byte\n" -"('a', 'z', 'A')\n" -">>> m2 = m[0:26] # Slicing returns another memoryview\n" -">>> m2\n" -"" -msgstr "" - -#: ../../whatsnew/2.7.rst:631 -msgid "" -"The content of the view can be converted to a string of bytes or a list of " -"integers:" -msgstr "" - -#: ../../whatsnew/2.7.rst:634 -msgid "" -">>> m2.tobytes()\n" -"'abcdefghijklmnopqrstuvwxyz'\n" -">>> m2.tolist()\n" -"[97, 98, 99, 100, 101, 102, 103, ... 121, 122]\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.7.rst:643 -msgid "" -":class:`memoryview` objects allow modifying the underlying object if it's a " -"mutable object." -msgstr "" - -#: ../../whatsnew/2.7.rst:646 -msgid "" -">>> m2[0] = 75\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: cannot modify read-only memory\n" -">>> b = bytearray(string.letters) # Creating a mutable object\n" -">>> b\n" -"bytearray(b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')\n" -">>> mb = memoryview(b)\n" -">>> mb[0] = '*' # Assign to view, changing the bytearray.\n" -">>> b[0:5] # The bytearray has been changed.\n" -"bytearray(b'*bcde')\n" -">>>" -msgstr "" - -#: ../../whatsnew/2.7.rst:664 -msgid ":pep:`3137` - Immutable Bytes and Mutable Buffer" -msgstr "" - -#: ../../whatsnew/2.7.rst:665 -msgid "" -"PEP written by Guido van Rossum. Implemented by Travis Oliphant, Antoine " -"Pitrou and others. Backported to 2.7 by Antoine Pitrou; :issue:`2396`." -msgstr "" - -#: ../../whatsnew/2.7.rst:672 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/2.7.rst:674 -msgid "Some smaller changes made to the core Python language are:" -msgstr "" - -#: ../../whatsnew/2.7.rst:676 -msgid "" -"The syntax for set literals has been backported from Python 3.x. Curly " -"brackets are used to surround the contents of the resulting mutable set; set" -" literals are distinguished from dictionaries by not containing colons and " -"values. ``{}`` continues to represent an empty dictionary; use ``set()`` for" -" an empty set." -msgstr "" - -#: ../../whatsnew/2.7.rst:683 -msgid "" -">>> {1, 2, 3, 4, 5}\n" -"set([1, 2, 3, 4, 5])\n" -">>> set() # empty set\n" -"set([])\n" -">>> {} # empty dict\n" -"{}" -msgstr "" - -#: ../../whatsnew/2.7.rst:693 -msgid "Backported by Alexandre Vassalotti; :issue:`2335`." -msgstr "" - -#: ../../whatsnew/2.7.rst:695 -msgid "" -"Dictionary and set comprehensions are another feature backported from 3.x, " -"generalizing list/generator comprehensions to use the literal syntax for " -"sets and dictionaries." -msgstr "" - -#: ../../whatsnew/2.7.rst:699 -msgid "" -">>> {x: x*x for x in range(6)}\n" -"{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}\n" -">>> {('a'*x) for x in range(6)}\n" -"set(['', 'a', 'aa', 'aaa', 'aaaa', 'aaaaa'])" -msgstr "" - -#: ../../whatsnew/2.7.rst:707 -msgid "Backported by Alexandre Vassalotti; :issue:`2333`." -msgstr "" - -#: ../../whatsnew/2.7.rst:709 -msgid "" -"The :keyword:`with` statement can now use multiple context managers in one " -"statement. Context managers are processed from left to right and each one " -"is treated as beginning a new :keyword:`!with` statement. This means that::" -msgstr "" - -#: ../../whatsnew/2.7.rst:714 -msgid "" -"with A() as a, B() as b:\n" -" ... suite of statements ..." -msgstr "" - -#: ../../whatsnew/2.7.rst:717 -msgid "is equivalent to::" -msgstr "setara dengan::" - -#: ../../whatsnew/2.7.rst:719 -msgid "" -"with A() as a:\n" -" with B() as b:\n" -" ... suite of statements ..." -msgstr "" - -#: ../../whatsnew/2.7.rst:723 -msgid "" -"The :func:`!contextlib.nested` function provides a very similar function, so" -" it's no longer necessary and has been deprecated." -msgstr "" - -#: ../../whatsnew/2.7.rst:726 -msgid "" -"(Proposed in https://codereview.appspot.com/53094; implemented by Georg " -"Brandl.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:729 -msgid "" -"Conversions between floating-point numbers and strings are now correctly " -"rounded on most platforms. These conversions occur in many different " -"places: :func:`str` on floats and complex numbers; the :class:`float` and " -":class:`complex` constructors; numeric formatting; serializing and " -"deserializing floats and complex numbers using the :mod:`marshal`, " -":mod:`pickle` and :mod:`json` modules; parsing of float and imaginary " -"literals in Python code; and :class:`~decimal.Decimal`-to-float conversion." -msgstr "" - -#: ../../whatsnew/2.7.rst:741 -msgid "" -"Related to this, the :func:`repr` of a floating-point number *x* now returns" -" a result based on the shortest decimal string that's guaranteed to round " -"back to *x* under correct rounding (with round-half-to-even rounding mode)." -" Previously it gave a string based on rounding x to 17 decimal digits." -msgstr "" - -#: ../../whatsnew/2.7.rst:749 -msgid "" -"The rounding library responsible for this improvement works on Windows and " -"on Unix platforms using the gcc, icc, or suncc compilers. There may be a " -"small number of platforms where correct operation of this code cannot be " -"guaranteed, so the code is not used on such systems. You can find out which" -" code is being used by checking :data:`sys.float_repr_style`, which will be" -" ``short`` if the new code is in use and ``legacy`` if it isn't." -msgstr "" - -#: ../../whatsnew/2.7.rst:757 -msgid "" -"Implemented by Eric Smith and Mark Dickinson, using David Gay's " -":file:`dtoa.c` library; :issue:`7117`." -msgstr "" - -#: ../../whatsnew/2.7.rst:760 -msgid "" -"Conversions from long integers and regular integers to floating point now " -"round differently, returning the floating-point number closest to the " -"number. This doesn't matter for small integers that can be converted " -"exactly, but for large numbers that will unavoidably lose precision, Python " -"2.7 now approximates more closely. For example, Python 2.6 computed the " -"following::" -msgstr "" - -#: ../../whatsnew/2.7.rst:767 -msgid "" -">>> n = 295147905179352891391\n" -">>> float(n)\n" -"2.9514790517935283e+20\n" -">>> n - long(float(n))\n" -"65535L" -msgstr "" - -#: ../../whatsnew/2.7.rst:773 -msgid "" -"Python 2.7's floating-point result is larger, but much closer to the true " -"value::" -msgstr "" - -#: ../../whatsnew/2.7.rst:776 -msgid "" -">>> n = 295147905179352891391\n" -">>> float(n)\n" -"2.9514790517935289e+20\n" -">>> n - long(float(n))\n" -"-1L" -msgstr "" - -#: ../../whatsnew/2.7.rst:782 -msgid "(Implemented by Mark Dickinson; :issue:`3166`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:784 -msgid "" -"Integer division is also more accurate in its rounding behaviours. (Also " -"implemented by Mark Dickinson; :issue:`1811`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:787 -msgid "" -"Implicit coercion for complex numbers has been removed; the interpreter will" -" no longer ever attempt to call a :meth:`!__coerce__` method on complex " -"objects. (Removed by Meador Inge and Mark Dickinson; :issue:`5211`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:791 -msgid "" -"The :meth:`str.format` method now supports automatic numbering of the " -"replacement fields. This makes using :meth:`str.format` more closely " -"resemble using ``%s`` formatting::" -msgstr "" - -#: ../../whatsnew/2.7.rst:795 -msgid "" -">>> '{}:{}:{}'.format(2009, 04, 'Sunday')\n" -"'2009:4:Sunday'\n" -">>> '{}:{}:{day}'.format(2009, 4, day='Sunday')\n" -"'2009:4:Sunday'" -msgstr "" - -#: ../../whatsnew/2.7.rst:800 -msgid "" -"The auto-numbering takes the fields from left to right, so the first " -"``{...}`` specifier will use the first argument to :meth:`str.format`, the " -"next specifier will use the next argument, and so on. You can't mix auto-" -"numbering and explicit numbering -- either number all of your specifier " -"fields or none of them -- but you can mix auto-numbering and named fields, " -"as in the second example above. (Contributed by Eric Smith; :issue:`5237`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:807 -msgid "" -"Complex numbers now correctly support usage with :func:`format`, and default" -" to being right-aligned. Specifying a precision or comma-separation applies " -"to both the real and imaginary parts of the number, but a specified field " -"width and alignment is applied to the whole of the resulting ``1.5+3j`` " -"output. (Contributed by Eric Smith; :issue:`1588` and :issue:`7988`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:814 -msgid "" -"The 'F' format code now always formats its output using uppercase " -"characters, so it will now produce 'INF' and 'NAN'. (Contributed by Eric " -"Smith; :issue:`3382`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:818 -msgid "" -"A low-level change: the :meth:`object.__format__` method now triggers a " -":exc:`PendingDeprecationWarning` if it's passed a format string, because the" -" :meth:`!__format__` method for :class:`object` converts the object to a " -"string representation and formats that. Previously the method silently " -"applied the format string to the string representation, but that could hide " -"mistakes in Python code. If you're supplying formatting information such as" -" an alignment or precision, presumably you're expecting the formatting to be" -" applied in some object-specific way. (Fixed by Eric Smith; :issue:`7994`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:828 -msgid "" -"The :func:`int` and :func:`!long` types gained a ``bit_length`` method that " -"returns the number of bits necessary to represent its argument in binary::" -msgstr "" - -#: ../../whatsnew/2.7.rst:832 -msgid "" -">>> n = 37\n" -">>> bin(n)\n" -"'0b100101'\n" -">>> n.bit_length()\n" -"6\n" -">>> n = 2**123-1\n" -">>> n.bit_length()\n" -"123\n" -">>> (n+1).bit_length()\n" -"124" -msgstr "" - -#: ../../whatsnew/2.7.rst:843 -msgid "(Contributed by Fredrik Johansson and Victor Stinner; :issue:`3439`.)" -msgstr "" -"(Kontribusi dari Fredrik Johansson dan Victor Stinner; :issue:`3439`.)" - -#: ../../whatsnew/2.7.rst:845 -msgid "" -"The :keyword:`import` statement will no longer try an absolute import if a " -"relative import (e.g. ``from .os import sep``) fails. This fixes a bug, but" -" could possibly break certain :keyword:`!import` statements that were only " -"working by accident. (Fixed by Meador Inge; :issue:`7902`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:851 -msgid "" -"It's now possible for a subclass of the built-in :class:`!unicode` type to " -"override the :meth:`!__unicode__` method. (Implemented by Victor Stinner; " -":issue:`1583863`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:855 -msgid "" -"The :class:`bytearray` type's :meth:`~bytearray.translate` method now " -"accepts ``None`` as its first argument. (Fixed by Georg Brandl; " -":issue:`4759`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:861 -msgid "" -"When using :class:`@classmethod ` and :class:`@staticmethod " -"` to wrap methods as class or static methods, the wrapper " -"object now exposes the wrapped function as their :attr:`~method.__func__` " -"attribute. (Contributed by Amaury Forgeot d'Arc, after a suggestion by " -"George Sakkis; :issue:`5982`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:869 ../../whatsnew/2.7.rst:2466 -msgid "" -"When a restricted set of attributes were set using ``__slots__``, deleting " -"an unset attribute would not raise :exc:`AttributeError` as you would " -"expect. Fixed by Benjamin Peterson; :issue:`7604`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:873 -msgid "" -"Two new encodings are now supported: \"cp720\", used primarily for Arabic " -"text; and \"cp858\", a variant of CP 850 that adds the euro symbol. (CP720 " -"contributed by Alexander Belchenko and Amaury Forgeot d'Arc in " -":issue:`1616979`; CP858 contributed by Tim Hatch in :issue:`8016`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:879 -msgid "" -"The :class:`!file` object will now set the :attr:`!filename` attribute on " -"the :exc:`IOError` exception when trying to open a directory on POSIX " -"platforms (noted by Jan Kaliszewski; :issue:`4764`), and now explicitly " -"checks for and forbids writing to read-only file objects instead of trusting" -" the C library to catch and report the error (fixed by Stefan Krah; " -":issue:`5677`)." -msgstr "" - -#: ../../whatsnew/2.7.rst:886 -msgid "" -"The Python tokenizer now translates line endings itself, so the " -":func:`compile` built-in function now accepts code using any line-ending " -"convention. Additionally, it no longer requires that the code end in a " -"newline." -msgstr "" - -#: ../../whatsnew/2.7.rst:891 -msgid "" -"Extra parentheses in function definitions are illegal in Python 3.x, meaning" -" that you get a syntax error from ``def f((x)): pass``. In Python3-warning " -"mode, Python 2.7 will now warn about this odd usage. (Noted by James " -"Lingard; :issue:`7362`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:896 -msgid "" -"It's now possible to create weak references to old-style class objects. " -"New-style classes were always weak-referenceable. (Fixed by Antoine Pitrou;" -" :issue:`8268`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:900 -msgid "" -"When a module object is garbage-collected, the module's dictionary is now " -"only cleared if no one else is holding a reference to the dictionary " -"(:issue:`7140`)." -msgstr "" - -#: ../../whatsnew/2.7.rst:909 -msgid "Interpreter Changes" -msgstr "Perubahan Interpreter" - -#: ../../whatsnew/2.7.rst:911 -msgid "" -"A new environment variable, :envvar:`PYTHONWARNINGS`, allows controlling " -"warnings. It should be set to a string containing warning settings, " -"equivalent to those used with the :option:`-W` switch, separated by commas. " -"(Contributed by Brian Curtin; :issue:`7301`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:917 -msgid "" -"For example, the following setting will print warnings every time they " -"occur, but turn warnings from the :mod:`Cookie ` module into " -"an error. (The exact syntax for setting an environment variable varies " -"across operating systems and shells.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:924 -msgid "export PYTHONWARNINGS=all,error:::Cookie:0" -msgstr "" - -#: ../../whatsnew/2.7.rst:930 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/2.7.rst:932 -msgid "Several performance enhancements have been added:" -msgstr "" - -#: ../../whatsnew/2.7.rst:934 -msgid "" -"A new opcode was added to perform the initial setup for :keyword:`with` " -"statements, looking up the :meth:`~object.__enter__` and " -":meth:`~object.__exit__` methods. (Contributed by Benjamin Peterson.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:938 -msgid "" -"The garbage collector now performs better for one common usage pattern: when" -" many objects are being allocated without deallocating any of them. This " -"would previously take quadratic time for garbage collection, but now the " -"number of full garbage collections is reduced as the number of objects on " -"the heap grows. The new logic only performs a full garbage collection pass " -"when the middle generation has been collected 10 times and when the number " -"of survivor objects from the middle generation exceeds 10% of the number of " -"objects in the oldest generation. (Suggested by Martin von Löwis and " -"implemented by Antoine Pitrou; :issue:`4074`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:949 -msgid "" -"The garbage collector tries to avoid tracking simple containers which can't " -"be part of a cycle. In Python 2.7, this is now true for tuples and dicts " -"containing atomic types (such as ints, strings, etc.). Transitively, a dict " -"containing tuples of atomic types won't be tracked either. This helps reduce" -" the cost of each garbage collection by decreasing the number of objects to " -"be considered and traversed by the collector. (Contributed by Antoine " -"Pitrou; :issue:`4688`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:958 -msgid "" -"Long integers are now stored internally either in base ``2**15`` or in base " -"``2**30``, the base being determined at build time. Previously, they were " -"always stored in base ``2**15``. Using base ``2**30`` gives significant " -"performance improvements on 64-bit machines, but benchmark results on 32-bit" -" machines have been mixed. Therefore, the default is to use base ``2**30`` " -"on 64-bit machines and base ``2**15`` on 32-bit machines; on Unix, there's a" -" new configure option :option:`!--enable-big-digits` that can be used to " -"override this default." -msgstr "" - -#: ../../whatsnew/2.7.rst:967 -msgid "" -"Apart from the performance improvements this change should be invisible to " -"end users, with one exception: for testing and debugging purposes there's a " -"new structseq :data:`!sys.long_info` that provides information about the " -"internal format, giving the number of bits per digit and the size in bytes " -"of the C type used to store each digit::" -msgstr "" - -#: ../../whatsnew/2.7.rst:974 -msgid "" -">>> import sys\n" -">>> sys.long_info\n" -"sys.long_info(bits_per_digit=30, sizeof_digit=4)" -msgstr "" - -#: ../../whatsnew/2.7.rst:978 -msgid "(Contributed by Mark Dickinson; :issue:`4258`.)" -msgstr "(Kontribusi dari Mark Dickinson; :issue:`4258`.)" - -#: ../../whatsnew/2.7.rst:980 -msgid "" -"Another set of changes made long objects a few bytes smaller: 2 bytes " -"smaller on 32-bit systems and 6 bytes on 64-bit. (Contributed by Mark " -"Dickinson; :issue:`5260`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:984 -msgid "" -"The division algorithm for long integers has been made faster by tightening " -"the inner loop, doing shifts instead of multiplications, and fixing an " -"unnecessary extra iteration. Various benchmarks show speedups of between 50%" -" and 150% for long integer divisions and modulo operations. (Contributed by " -"Mark Dickinson; :issue:`5512`.) Bitwise operations are also significantly " -"faster (initial patch by Gregory Smith; :issue:`1087418`)." -msgstr "" - -#: ../../whatsnew/2.7.rst:993 -msgid "" -"The implementation of ``%`` checks for the left-side operand being a Python " -"string and special-cases it; this results in a 1--3% performance increase " -"for applications that frequently use ``%`` with strings, such as templating " -"libraries. (Implemented by Collin Winter; :issue:`5176`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:999 -msgid "" -"List comprehensions with an ``if`` condition are compiled into faster " -"bytecode. (Patch by Antoine Pitrou, back-ported to 2.7 by Jeffrey Yasskin; " -":issue:`4715`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1003 -msgid "" -"Converting an integer or long integer to a decimal string was made faster by" -" special-casing base 10 instead of using a generalized conversion function " -"that supports arbitrary bases. (Patch by Gawain Bolton; :issue:`6713`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1008 -msgid "" -"The :meth:`!split`, :meth:`!replace`, :meth:`!rindex`, :meth:`!rpartition`, " -"and :meth:`!rsplit` methods of string-like types (strings, Unicode strings, " -"and :class:`bytearray` objects) now use a fast reverse-search algorithm " -"instead of a character-by-character scan. This is sometimes faster by a " -"factor of 10. (Added by Florent Xicluna; :issue:`7462` and :issue:`7622`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1015 -msgid "" -"The :mod:`pickle` and :mod:`!cPickle` modules now automatically intern the " -"strings used for attribute names, reducing memory usage of the objects " -"resulting from unpickling. (Contributed by Jake McGuire; :issue:`5084`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1020 -msgid "" -"The :mod:`!cPickle` module now special-cases dictionaries, nearly halving " -"the time required to pickle them. (Contributed by Collin Winter; " -":issue:`5670`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1027 -msgid "New and Improved Modules" -msgstr "Modul Baru dan Ditingkatkan" - -#: ../../whatsnew/2.7.rst:1029 -msgid "" -"As in every release, Python's standard library received a number of " -"enhancements and bug fixes. Here's a partial list of the most notable " -"changes, sorted alphabetically by module name. Consult the :file:`Misc/NEWS`" -" file in the source tree for a more complete list of changes, or look " -"through the Subversion logs for all the details." -msgstr "" - -#: ../../whatsnew/2.7.rst:1035 -msgid "" -"The :mod:`bdb` module's base debugging class :class:`~bdb.Bdb` gained a " -"feature for skipping modules. The constructor now takes an iterable " -"containing glob-style patterns such as ``django.*``; the debugger will not " -"step into stack frames from a module that matches one of these patterns. " -"(Contributed by Maru Newby after a suggestion by Senthil Kumaran; " -":issue:`5142`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1043 -msgid "" -"The :mod:`binascii` module now supports the buffer API, so it can be used " -"with :class:`memoryview` instances and other similar buffer objects. " -"(Backported from 3.x by Florent Xicluna; :issue:`7703`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1047 -msgid "" -"Updated module: the :mod:`!bsddb` module has been updated from 4.7.2devel9 " -"to version 4.8.4 of `the pybsddb package " -"`__. The new version features " -"better Python 3.x compatibility, various bug fixes, and adds several new " -"BerkeleyDB flags and methods. (Updated by Jesús Cea Avión; :issue:`8156`. " -"The pybsddb changelog can be read at " -"https://hg.jcea.es/pybsddb/file/tip/ChangeLog.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1055 -msgid "" -"The :mod:`bz2` module's :class:`~bz2.BZ2File` now supports the context " -"management protocol, so you can write ``with bz2.BZ2File(...) as f:``. " -"(Contributed by Hagen Fürstenau; :issue:`3860`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1059 -msgid "" -"New class: the :class:`~collections.Counter` class in the :mod:`collections`" -" module is useful for tallying data. :class:`~collections.Counter` " -"instances behave mostly like dictionaries but return zero for missing keys " -"instead of raising a :exc:`KeyError`:" -msgstr "" - -#: ../../whatsnew/2.7.rst:1064 -msgid "" -">>> from collections import Counter\n" -">>> c = Counter()\n" -">>> for letter in 'here is a sample of english text':\n" -"... c[letter] += 1\n" -"...\n" -">>> c\n" -"Counter({' ': 6, 'e': 5, 's': 3, 'a': 2, 'i': 2, 'h': 2,\n" -"'l': 2, 't': 2, 'g': 1, 'f': 1, 'm': 1, 'o': 1, 'n': 1,\n" -"'p': 1, 'r': 1, 'x': 1})\n" -">>> c['e']\n" -"5\n" -">>> c['z']\n" -"0" -msgstr "" - -#: ../../whatsnew/2.7.rst:1081 -msgid "" -"There are three additional :class:`~collections.Counter` methods. " -":meth:`~collections.Counter.most_common` returns the N most common elements " -"and their counts. :meth:`~collections.Counter.elements` returns an iterator" -" over the contained elements, repeating each element as many times as its " -"count. :meth:`~collections.Counter.subtract` takes an iterable and subtracts" -" one for each element instead of adding; if the argument is a dictionary or " -"another :class:`Counter`, the counts are subtracted. ::" -msgstr "" - -#: ../../whatsnew/2.7.rst:1091 -msgid "" -">>> c.most_common(5)\n" -"[(' ', 6), ('e', 5), ('s', 3), ('a', 2), ('i', 2)]\n" -">>> c.elements() ->\n" -" 'a', 'a', ' ', ' ', ' ', ' ', ' ', ' ',\n" -" 'e', 'e', 'e', 'e', 'e', 'g', 'f', 'i', 'i',\n" -" 'h', 'h', 'm', 'l', 'l', 'o', 'n', 'p', 's',\n" -" 's', 's', 'r', 't', 't', 'x'\n" -">>> c['e']\n" -"5\n" -">>> c.subtract('very heavy on the letter e')\n" -">>> c['e'] # Count is now lower\n" -"-1" -msgstr "" - -#: ../../whatsnew/2.7.rst:1104 -msgid "Contributed by Raymond Hettinger; :issue:`1696199`." -msgstr "Kontribusi dari Raymond Hettinger; :issue:`1696199`." - -#: ../../whatsnew/2.7.rst:1108 -msgid "" -"New class: :class:`~collections.OrderedDict` is described in the earlier " -"section :ref:`pep-0372`." -msgstr "" - -#: ../../whatsnew/2.7.rst:1111 -msgid "" -"New method: The :class:`~collections.deque` data type now has a " -":meth:`~collections.deque.count` method that returns the number of contained" -" elements equal to the supplied argument *x*, and a " -":meth:`~collections.deque.reverse` method that reverses the elements of the " -"deque in-place. :class:`~collections.deque` also exposes its maximum length" -" as the read-only :attr:`~collections.deque.maxlen` attribute. (Both " -"features added by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1119 -msgid "" -"The :class:`~collections.namedtuple` class now has an optional *rename* " -"parameter. If *rename* is true, field names that are invalid because they've" -" been repeated or aren't legal Python identifiers will be renamed to legal " -"names that are derived from the field's position within the list of fields:" -msgstr "" - -#: ../../whatsnew/2.7.rst:1130 -msgid "(Added by Raymond Hettinger; :issue:`1818`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1132 -msgid "" -"Finally, the :class:`~collections.abc.Mapping` abstract base class now " -"returns :data:`NotImplemented` if a mapping is compared to another type that" -" isn't a :class:`Mapping`. (Fixed by Daniel Stutzbach; :issue:`8729`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1137 -msgid "" -"Constructors for the parsing classes in the :mod:`ConfigParser " -"` module now take an *allow_no_value* parameter, defaulting to" -" false; if true, options without values will be allowed. For example::" -msgstr "" - -#: ../../whatsnew/2.7.rst:1141 -msgid "" -">>> import ConfigParser, StringIO\n" -">>> sample_config = \"\"\"\n" -"... [mysqld]\n" -"... user = mysql\n" -"... pid-file = /var/run/mysqld/mysqld.pid\n" -"... skip-bdb\n" -"... \"\"\"\n" -">>> config = ConfigParser.RawConfigParser(allow_no_value=True)\n" -">>> config.readfp(StringIO.StringIO(sample_config))\n" -">>> config.get('mysqld', 'user')\n" -"'mysql'\n" -">>> print config.get('mysqld', 'skip-bdb')\n" -"None\n" -">>> print config.get('mysqld', 'unknown')\n" -"Traceback (most recent call last):\n" -" ...\n" -"NoOptionError: No option 'unknown' in section: 'mysqld'" -msgstr "" - -#: ../../whatsnew/2.7.rst:1159 -msgid "(Contributed by Mats Kindahl; :issue:`7005`.)" -msgstr "(Kontribusi dari Mats Kindahl; :issue:`7005`.)" - -#: ../../whatsnew/2.7.rst:1161 -msgid "" -"Deprecated function: :func:`!contextlib.nested`, which allows handling more " -"than one context manager with a single :keyword:`with` statement, has been " -"deprecated, because the :keyword:`!with` statement now supports multiple " -"context managers." -msgstr "" - -#: ../../whatsnew/2.7.rst:1166 -msgid "" -"The :mod:`cookielib ` module now ignores cookies that have " -"an invalid version field, one that doesn't contain an integer value. (Fixed" -" by John J. Lee; :issue:`3924`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1170 -msgid "" -"The :mod:`copy` module's :func:`~copy.deepcopy` function will now correctly " -"copy bound instance methods. (Implemented by Robert Collins; " -":issue:`1515`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1174 -msgid "" -"The :mod:`ctypes` module now always converts ``None`` to a C ``NULL`` " -"pointer for arguments declared as pointers. (Changed by Thomas Heller; " -":issue:`4606`.) The underlying `libffi library " -"`__ has been updated to version 3.0.9, " -"containing various fixes for different platforms. (Updated by Matthias " -"Klose; :issue:`8142`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1181 -msgid "" -"New method: the :mod:`datetime` module's :class:`~datetime.timedelta` class " -"gained a :meth:`~datetime.timedelta.total_seconds` method that returns the " -"number of seconds in the duration. (Contributed by Brian Quinlan; " -":issue:`5788`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1185 -msgid "" -"New method: the :class:`~decimal.Decimal` class gained a " -":meth:`~decimal.Decimal.from_float` class method that performs an exact " -"conversion of a floating-point number to a :class:`!Decimal`. This exact " -"conversion strives for the closest decimal approximation to the floating-" -"point representation's value; the resulting decimal value will therefore " -"still include the inaccuracy, if any. For example, " -"``Decimal.from_float(0.1)`` returns " -"``Decimal('0.1000000000000000055511151231257827021181583404541015625')``. " -"(Implemented by Raymond Hettinger; :issue:`4796`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1196 -msgid "" -"Comparing instances of :class:`~decimal.Decimal` with floating-point numbers" -" now produces sensible results based on the numeric values of the operands." -" Previously such comparisons would fall back to Python's default rules for " -"comparing objects, which produced arbitrary results based on their type. " -"Note that you still cannot combine :class:`!Decimal` and floating point in " -"other operations such as addition, since you should be explicitly choosing " -"how to convert between float and :class:`!Decimal`. (Fixed by Mark " -"Dickinson; :issue:`2531`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1205 -msgid "" -"The constructor for :class:`~decimal.Decimal` now accepts floating-point " -"numbers (added by Raymond Hettinger; :issue:`8257`) and non-European Unicode" -" characters such as Arabic-Indic digits (contributed by Mark Dickinson; " -":issue:`6595`)." -msgstr "" - -#: ../../whatsnew/2.7.rst:1210 -msgid "" -"Most of the methods of the :class:`~decimal.Context` class now accept " -"integers as well as :class:`~decimal.Decimal` instances; the only exceptions" -" are the :meth:`~decimal.Context.canonical` and " -":meth:`~decimal.Context.is_canonical` methods. (Patch by Juan José Conti; " -":issue:`7633`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1215 -msgid "" -"When using :class:`~decimal.Decimal` instances with a string's " -":meth:`~str.format` method, the default alignment was previously left-" -"alignment. This has been changed to right-alignment, which is more sensible" -" for numeric types. (Changed by Mark Dickinson; :issue:`6857`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1220 ../../whatsnew/2.7.rst:2484 -msgid "" -"Comparisons involving a signaling NaN value (or ``sNAN``) now signal " -":const:`~decimal.InvalidOperation` instead of silently returning a true or " -"false value depending on the comparison operator. Quiet NaN values (or " -"``NaN``) are now hashable. (Fixed by Mark Dickinson; :issue:`7279`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1226 -msgid "" -"The :mod:`difflib` module now produces output that is more compatible with " -"modern :command:`diff`/:command:`patch` tools through one small change, " -"using a tab character instead of spaces as a separator in the header giving " -"the filename. (Fixed by Anatoly Techtonik; :issue:`7585`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1232 -msgid "" -"The Distutils ``sdist`` command now always regenerates the :file:`MANIFEST` " -"file, since even if the :file:`MANIFEST.in` or :file:`setup.py` files " -"haven't been modified, the user might have created some new files that " -"should be included. (Fixed by Tarek Ziadé; :issue:`8688`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1238 -msgid "" -"The :mod:`doctest` module's :const:`~doctest.IGNORE_EXCEPTION_DETAIL` flag " -"will now ignore the name of the module containing the exception being " -"tested. (Patch by Lennart Regebro; :issue:`7490`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1242 -msgid "" -"The :mod:`email` module's :class:`~email.message.Message` class will now " -"accept a Unicode-valued payload, automatically converting the payload to the" -" encoding specified by :attr:`!output_charset`. (Added by R. David Murray; " -":issue:`1368247`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1247 -msgid "" -"The :class:`~fractions.Fraction` class now accepts a single float or " -":class:`~decimal.Decimal` instance, or two rational numbers, as arguments to" -" its constructor. (Implemented by Mark Dickinson; rationals added in " -":issue:`5812`, and float/decimal in :issue:`8294`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1253 -msgid "" -"Ordering comparisons (``<``, ``<=``, ``>``, ``>=``) between fractions and " -"complex numbers now raise a :exc:`TypeError`. This fixes an oversight, " -"making the :class:`~fractions.Fraction` match the other numeric types." -msgstr "" - -#: ../../whatsnew/2.7.rst:1260 -msgid "" -"New class: :class:`~ftplib.FTP_TLS` in the :mod:`ftplib` module provides " -"secure FTP connections using TLS encapsulation of authentication as well as " -"subsequent control and data transfers. (Contributed by Giampaolo Rodola; " -":issue:`2054`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1266 -msgid "" -"The :meth:`~ftplib.FTP.storbinary` method for binary uploads can now restart" -" uploads thanks to an added *rest* parameter (patch by Pablo Mouzo; " -":issue:`6845`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1270 -msgid "" -"New class decorator: :func:`~functools.total_ordering` in the " -":mod:`functools` module takes a class that defines an :meth:`~object.__eq__`" -" method and one of :meth:`~object.__lt__`, :meth:`~object.__le__`, " -":meth:`~object.__gt__`, or :meth:`~object.__ge__`, and generates the missing" -" comparison methods. Since the :meth:`!__cmp__` method is being deprecated " -"in Python 3.x, this decorator makes it easier to define ordered classes. " -"(Added by Raymond Hettinger; :issue:`5479`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1278 -msgid "" -"New function: :func:`~functools.cmp_to_key` will take an old-style " -"comparison function that expects two arguments and return a new callable " -"that can be used as the *key* parameter to functions such as :func:`sorted`," -" :func:`min` and :func:`max`, etc. The primary intended use is to help with" -" making code compatible with Python 3.x. (Added by Raymond Hettinger.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1285 -msgid "" -"New function: the :mod:`gc` module's :func:`~gc.is_tracked` returns true if " -"a given instance is tracked by the garbage collector, false otherwise. " -"(Contributed by Antoine Pitrou; :issue:`4688`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1289 -msgid "" -"The :mod:`gzip` module's :class:`~gzip.GzipFile` now supports the context " -"management protocol, so you can write ``with gzip.GzipFile(...) as f:`` " -"(contributed by Hagen Fürstenau; :issue:`3860`), and it now implements the " -":class:`io.BufferedIOBase` ABC, so you can wrap it with " -":class:`io.BufferedReader` for faster processing (contributed by Nir Aides; " -":issue:`7471`). It's also now possible to override the modification time " -"recorded in a gzipped file by providing an optional timestamp to the " -"constructor. (Contributed by Jacques Frechet; :issue:`4272`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1299 -msgid "" -"Files in gzip format can be padded with trailing zero bytes; the :mod:`gzip`" -" module will now consume these trailing bytes. (Fixed by Tadek Pietraszek " -"and Brian Curtin; :issue:`2846`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1303 -msgid "" -"New attribute: the :mod:`hashlib` module now has an :attr:`!algorithms` " -"attribute containing a tuple naming the supported algorithms. In Python 2.7," -" ``hashlib.algorithms`` contains ``('md5', 'sha1', 'sha224', 'sha256', " -"'sha384', 'sha512')``. (Contributed by Carl Chenet; :issue:`7418`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1309 -msgid "" -"The default :class:`~http.client.HTTPResponse` class used by the " -":mod:`httplib ` module now supports buffering, resulting in much " -"faster reading of HTTP responses. (Contributed by Kristján Valur Jónsson; " -":issue:`4879`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1313 -msgid "" -"The :class:`~http.client.HTTPConnection` and " -":class:`~http.client.HTTPSConnection` classes now support a *source_address*" -" parameter, a ``(host, port)`` 2-tuple giving the source address that will " -"be used for the connection. (Contributed by Eldon Ziegler; :issue:`3972`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1318 -msgid "" -"The :mod:`!ihooks` module now supports relative imports. Note that " -":mod:`!ihooks` is an older module for customizing imports, superseded by the" -" :mod:`!imputil` module added in Python 2.0. (Relative import support added " -"by Neil Schemenauer.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1325 -msgid "" -"The :mod:`imaplib` module now supports IPv6 addresses. (Contributed by Derek" -" Morr; :issue:`1655`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1328 -msgid "" -"New function: the :mod:`inspect` module's :func:`~inspect.getcallargs` takes" -" a callable and its positional and keyword arguments, and figures out which " -"of the callable's parameters will receive each argument, returning a " -"dictionary mapping argument names to their values. For example::" -msgstr "" - -#: ../../whatsnew/2.7.rst:1333 -msgid "" -">>> from inspect import getcallargs\n" -">>> def f(a, b=1, *pos, **named):\n" -"... pass\n" -"...\n" -">>> getcallargs(f, 1, 2, 3)\n" -"{'a': 1, 'b': 2, 'pos': (3,), 'named': {}}\n" -">>> getcallargs(f, a=2, x=4)\n" -"{'a': 2, 'b': 1, 'pos': (), 'named': {'x': 4}}\n" -">>> getcallargs(f)\n" -"Traceback (most recent call last):\n" -"...\n" -"TypeError: f() takes at least 1 argument (0 given)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1346 -msgid "Contributed by George Sakkis; :issue:`3135`." -msgstr "Kontribusi dari George Sakkis; :issue:`3135`." - -#: ../../whatsnew/2.7.rst:1348 -msgid "" -"Updated module: The :mod:`io` library has been upgraded to the version " -"shipped with Python 3.1. For 3.1, the I/O library was entirely rewritten in" -" C and is 2 to 20 times faster depending on the task being performed. The " -"original Python version was renamed to the :mod:`!_pyio` module." -msgstr "" - -#: ../../whatsnew/2.7.rst:1353 -msgid "" -"One minor resulting change: the :class:`io.TextIOBase` class now has an " -":attr:`~io.TextIOBase.errors` attribute giving the error setting used for " -"encoding and decoding errors (one of ``'strict'``, ``'replace'``, " -"``'ignore'``)." -msgstr "" - -#: ../../whatsnew/2.7.rst:1358 -msgid "" -"The :class:`io.FileIO` class now raises an :exc:`OSError` when passed an " -"invalid file descriptor. (Implemented by Benjamin Peterson; :issue:`4991`.)" -" The :meth:`~io.IOBase.truncate` method now preserves the file position; " -"previously it would change the file position to the end of the new file. " -"(Fixed by Pascal Chambon; :issue:`6939`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1364 -msgid "" -"New function: ``itertools.compress(data, selectors)`` takes two iterators. " -"Elements of *data* are returned if the corresponding value in *selectors* is" -" true::" -msgstr "" - -#: ../../whatsnew/2.7.rst:1368 -msgid "" -"itertools.compress('ABCDEF', [1,0,1,0,1,1]) =>\n" -" A, C, E, F" -msgstr "" - -#: ../../whatsnew/2.7.rst:1373 -msgid "" -"New function: ``itertools.combinations_with_replacement(iter, r)`` returns " -"all the possible *r*-length combinations of elements from the iterable " -"*iter*. Unlike :func:`~itertools.combinations`, individual elements can be " -"repeated in the generated combinations::" -msgstr "" - -#: ../../whatsnew/2.7.rst:1378 -msgid "" -"itertools.combinations_with_replacement('abc', 2) =>\n" -" ('a', 'a'), ('a', 'b'), ('a', 'c'),\n" -" ('b', 'b'), ('b', 'c'), ('c', 'c')" -msgstr "" - -#: ../../whatsnew/2.7.rst:1382 -msgid "" -"Note that elements are treated as unique depending on their position in the " -"input, not their actual values." -msgstr "" - -#: ../../whatsnew/2.7.rst:1385 -msgid "" -"The :func:`itertools.count` function now has a *step* argument that allows " -"incrementing by values other than 1. :func:`~itertools.count` also now " -"allows keyword arguments, and using non-integer values such as floats or " -":class:`~decimal.Decimal` instances. (Implemented by Raymond Hettinger; " -":issue:`5032`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1391 -msgid "" -":func:`itertools.combinations` and :func:`itertools.product` previously " -"raised :exc:`ValueError` for values of *r* larger than the input iterable. " -"This was deemed a specification error, so they now return an empty iterator." -" (Fixed by Raymond Hettinger; :issue:`4816`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1396 -msgid "" -"Updated module: The :mod:`json` module was upgraded to version 2.0.9 of the " -"simplejson package, which includes a C extension that makes encoding and " -"decoding faster. (Contributed by Bob Ippolito; :issue:`4136`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1401 -msgid "" -"To support the new :class:`collections.OrderedDict` type, :func:`json.load` " -"now has an optional *object_pairs_hook* parameter that will be called with " -"any object literal that decodes to a list of pairs. (Contributed by Raymond " -"Hettinger; :issue:`5381`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1406 -msgid "" -"The :mod:`mailbox` module's :class:`~mailbox.Maildir` class now records the " -"timestamp on the directories it reads, and only re-reads them if the " -"modification time has subsequently changed. This improves performance by " -"avoiding unneeded directory scans. (Fixed by A.M. Kuchling and Antoine " -"Pitrou; :issue:`1607951`, :issue:`6896`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1412 -msgid "" -"New functions: the :mod:`math` module gained :func:`~math.erf` and " -":func:`~math.erfc` for the error function and the complementary error " -"function, :func:`~math.expm1` which computes ``e**x - 1`` with more " -"precision than using :func:`~math.exp` and subtracting 1, " -":func:`~math.gamma` for the Gamma function, and :func:`~math.lgamma` for the" -" natural log of the Gamma function. (Contributed by Mark Dickinson and " -"nirinA raseliarison; :issue:`3366`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1420 -msgid "" -"The :mod:`multiprocessing` module's :class:`!Manager*` classes can now be " -"passed a callable that will be called whenever a subprocess is started, " -"along with a set of arguments that will be passed to the callable. " -"(Contributed by lekma; :issue:`5585`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1426 -msgid "" -"The :class:`~multiprocessing.pool.Pool` class, which controls a pool of " -"worker processes, now has an optional *maxtasksperchild* parameter. Worker " -"processes will perform the specified number of tasks and then exit, causing " -"the :class:`!Pool` to start a new worker. This is useful if tasks may leak " -"memory or other resources, or if some tasks will cause the worker to become " -"very large. (Contributed by Charles Cazabon; :issue:`6963`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1434 -msgid "" -"The :mod:`!nntplib` module now supports IPv6 addresses. (Contributed by " -"Derek Morr; :issue:`1664`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1437 -msgid "" -"New functions: the :mod:`os` module wraps the following POSIX system calls: " -":func:`~os.getresgid` and :func:`~os.getresuid`, which return the real, " -"effective, and saved GIDs and UIDs; :func:`~os.setresgid` and " -":func:`~os.setresuid`, which set real, effective, and saved GIDs and UIDs to" -" new values; :func:`~os.initgroups`, which initialize the group access list " -"for the current process. (GID/UID functions contributed by Travis H.; " -":issue:`6508`. Support for initgroups added by Jean-Paul Calderone; " -":issue:`7333`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1447 -msgid "" -"The :func:`os.fork` function now re-initializes the import lock in the child" -" process; this fixes problems on Solaris when :func:`~os.fork` is called " -"from a thread. (Fixed by Zsolt Cserna; :issue:`7242`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1451 -msgid "" -"In the :mod:`os.path` module, the :func:`~os.path.normpath` and " -":func:`~os.path.abspath` functions now preserve Unicode; if their input path" -" is a Unicode string, the return value is also a Unicode string. " -"(:meth:`~os.path.normpath` fixed by Matt Giuca in :issue:`5827`; " -":meth:`~os.path.abspath` fixed by Ezio Melotti in :issue:`3426`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1457 -msgid "" -"The :mod:`pydoc` module now has help for the various symbols that Python " -"uses. You can now do ``help('<<')`` or ``help('@')``, for example. " -"(Contributed by David Laban; :issue:`4739`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1461 -msgid "" -"The :mod:`re` module's :func:`~re.split`, :func:`~re.sub`, and " -":func:`~re.subn` now accept an optional *flags* argument, for consistency " -"with the other functions in the module. (Added by Gregory P. Smith.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1465 -msgid "" -"New function: :func:`~runpy.run_path` in the :mod:`runpy` module will " -"execute the code at a provided *path* argument. *path* can be the path of a" -" Python source file (:file:`example.py`), a compiled bytecode file " -"(:file:`example.pyc`), a directory (:file:`./package/`), or a zip archive " -"(:file:`example.zip`). If a directory or zip path is provided, it will be " -"added to the front of ``sys.path`` and the module :mod:`__main__` will be " -"imported. It's expected that the directory or zip contains a " -":file:`__main__.py`; if it doesn't, some other :file:`__main__.py` might be " -"imported from a location later in ``sys.path``. This makes more of the " -"machinery of :mod:`runpy` available to scripts that want to mimic the way " -"Python's command line processes an explicit path name. (Added by Nick " -"Coghlan; :issue:`6816`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1479 -msgid "" -"New function: in the :mod:`shutil` module, :func:`~shutil.make_archive` " -"takes a filename, archive type (zip or tar-format), and a directory path, " -"and creates an archive containing the directory's contents. (Added by Tarek " -"Ziadé.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1484 -msgid "" -":mod:`shutil`'s :func:`~shutil.copyfile` and :func:`~shutil.copytree` " -"functions now raise a :exc:`~shutil.SpecialFileError` exception when asked " -"to copy a named pipe. Previously the code would treat named pipes like a " -"regular file by opening them for reading, and this would block indefinitely." -" (Fixed by Antoine Pitrou; :issue:`3002`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1490 -msgid "" -"The :mod:`signal` module no longer re-installs the signal handler unless " -"this is truly necessary, which fixes a bug that could make it impossible to " -"catch the EINTR signal robustly. (Fixed by Charles-Francois Natali; " -":issue:`8354`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1495 -msgid "" -"New functions: in the :mod:`site` module, three new functions return various" -" site- and user-specific paths. :func:`~site.getsitepackages` returns a list" -" containing all global site-packages directories, " -":func:`~site.getusersitepackages` returns the path of the user's site-" -"packages directory, and :func:`~site.getuserbase` returns the value of the " -":data:`~site.USER_BASE` environment variable, giving the path to a directory" -" that can be used to store data. (Contributed by Tarek Ziadé; " -":issue:`6693`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1506 -msgid "" -"The :mod:`site` module now reports exceptions occurring when the " -":mod:`sitecustomize` module is imported, and will no longer catch and " -"swallow the :exc:`KeyboardInterrupt` exception. (Fixed by Victor Stinner; " -":issue:`3137`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1511 -msgid "" -"The :func:`~socket.create_connection` function gained a *source_address* " -"parameter, a ``(host, port)`` 2-tuple giving the source address that will be" -" used for the connection. (Contributed by Eldon Ziegler; :issue:`3972`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1516 -msgid "" -"The :meth:`~socket.socket.recv_into` and " -":meth:`~socket.socket.recvfrom_into` methods will now write into objects " -"that support the buffer API, most usefully the :class:`bytearray` and " -":class:`memoryview` objects. (Implemented by Antoine Pitrou; " -":issue:`8104`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1521 -msgid "" -"The :mod:`SocketServer ` module's " -":class:`~socketserver.TCPServer` class now supports socket timeouts and " -"disabling the Nagle algorithm. The :attr:`!disable_nagle_algorithm` class " -"attribute defaults to ``False``; if overridden to be true, new request " -"connections will have the TCP_NODELAY option set to prevent buffering many " -"small sends into a single TCP packet. The " -":attr:`~socketserver.BaseServer.timeout` class attribute can hold a timeout " -"in seconds that will be applied to the request socket; if no request is " -"received within that time, :meth:`~socketserver.BaseServer.handle_timeout` " -"will be called and :meth:`~socketserver.BaseServer.handle_request` will " -"return. (Contributed by Kristján Valur Jónsson; :issue:`6192` and " -":issue:`6267`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1533 -msgid "" -"Updated module: the :mod:`sqlite3` module has been updated to version 2.6.0 " -"of the `pysqlite package `__. Version " -"2.6.0 includes a number of bugfixes, and adds the ability to load SQLite " -"extensions from shared libraries. Call the ``enable_load_extension(True)`` " -"method to enable extensions, and then call " -":meth:`~sqlite3.Connection.load_extension` to load a particular shared " -"library. (Updated by Gerhard Häring.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1540 -msgid "" -"The :mod:`ssl` module's :class:`~ssl.SSLSocket` objects now support the " -"buffer API, which fixed a test suite failure (fix by Antoine Pitrou; " -":issue:`7133`) and automatically set OpenSSL's " -":c:macro:`!SSL_MODE_AUTO_RETRY`, which will prevent an error code being " -"returned from :meth:`recv` operations that trigger an SSL renegotiation (fix" -" by Antoine Pitrou; :issue:`8222`)." -msgstr "" - -#: ../../whatsnew/2.7.rst:1547 -msgid "" -"The :func:`~ssl.SSLContext.wrap_socket` constructor function now takes a " -"*ciphers* argument that's a string listing the encryption algorithms to be " -"allowed; the format of the string is described `in the OpenSSL documentation" -" `__. (Added by Antoine " -"Pitrou; :issue:`8322`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1554 -msgid "" -"Another change makes the extension load all of OpenSSL's ciphers and digest " -"algorithms so that they're all available. Some SSL certificates couldn't be" -" verified, reporting an \"unknown algorithm\" error. (Reported by Beda " -"Kosata, and fixed by Antoine Pitrou; :issue:`8484`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1560 -msgid "" -"The version of OpenSSL being used is now available as the module attributes " -":const:`ssl.OPENSSL_VERSION` (a string), :const:`ssl.OPENSSL_VERSION_INFO` " -"(a 5-tuple), and :const:`ssl.OPENSSL_VERSION_NUMBER` (an integer). (Added " -"by Antoine Pitrou; :issue:`8321`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1566 -msgid "" -"The :mod:`struct` module will no longer silently ignore overflow errors when" -" a value is too large for a particular integer format code (one of " -"``bBhHiIlLqQ``); it now always raises a :exc:`struct.error` exception. " -"(Changed by Mark Dickinson; :issue:`1523`.) The :func:`~struct.pack` " -"function will also attempt to use :meth:`~object.__index__` to convert and " -"pack non-integers before trying the :meth:`~object.__int__` method or " -"reporting an error. (Changed by Mark Dickinson; :issue:`8300`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1575 -msgid "" -"New function: the :mod:`subprocess` module's " -":func:`~subprocess.check_output` runs a command with a specified set of " -"arguments and returns the command's output as a string when the command runs" -" without error, or raises a :exc:`~subprocess.CalledProcessError` exception " -"otherwise." -msgstr "" - -#: ../../whatsnew/2.7.rst:1582 -msgid "" -">>> subprocess.check_output(['df', '-h', '.'])\n" -"'Filesystem Size Used Avail Capacity Mounted on\\n\n" -"/dev/disk0s2 52G 49G 3.0G 94% /\\n'\n" -"\n" -">>> subprocess.check_output(['df', '-h', '/bogus'])\n" -" ...\n" -"subprocess.CalledProcessError: Command '['df', '-h', '/bogus']' returned non-zero exit status 1" -msgstr "" - -#: ../../whatsnew/2.7.rst:1590 -msgid "(Contributed by Gregory P. Smith.)" -msgstr "(Kontribusi dari Gregory P. Smith.)" - -#: ../../whatsnew/2.7.rst:1592 -msgid "" -"The :mod:`subprocess` module will now retry its internal system calls on " -"receiving an :const:`~errno.EINTR` signal. (Reported by several people; " -"final patch by Gregory P. Smith in :issue:`1068268`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1596 -msgid "" -"New function: :func:`~symtable.Symbol.is_declared_global` in the " -":mod:`symtable` module returns true for variables that are explicitly " -"declared to be global, false for ones that are implicitly global. " -"(Contributed by Jeremy Hylton.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1601 ../../whatsnew/2.7.rst:2500 -msgid "" -"The :mod:`syslog` module will now use the value of ``sys.argv[0]`` as the " -"identifier instead of the previous default value of ``'python'``. (Changed " -"by Sean Reifschneider; :issue:`8451`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1605 -msgid "" -"The :data:`sys.version_info` value is now a named tuple, with attributes " -"named :attr:`!major`, :attr:`!minor`, :attr:`!micro`, :attr:`!releaselevel`," -" and :attr:`!serial`. (Contributed by Ross Light; :issue:`4285`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1610 -msgid "" -":func:`sys.getwindowsversion` also returns a named tuple, with attributes " -"named :attr:`!major`, :attr:`!minor`, :attr:`!build`, :attr:`!platform`, " -":attr:`!service_pack`, :attr:`!service_pack_major`, " -":attr:`!service_pack_minor`, :attr:`!suite_mask`, and :attr:`!product_type`." -" (Contributed by Brian Curtin; :issue:`7766`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1616 ../../whatsnew/2.7.rst:2504 -msgid "" -"The :mod:`tarfile` module's default error handling has changed, to no longer" -" suppress fatal errors. The default error level was previously 0, which " -"meant that errors would only result in a message being written to the debug " -"log, but because the debug log is not activated by default, these errors go " -"unnoticed. The default error level is now 1, which raises an exception if " -"there's an error. (Changed by Lars Gustäbel; :issue:`7357`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1624 -msgid "" -":mod:`tarfile` now supports filtering the :class:`~tarfile.TarInfo` objects " -"being added to a tar file. When you call :meth:`~tarfile.TarFile.add`, you " -"may supply an optional *filter* argument that's a callable. The *filter* " -"callable will be passed the :class:`~tarfile.TarInfo` for every file being " -"added, and can modify and return it. If the callable returns ``None``, the " -"file will be excluded from the resulting archive. This is more powerful " -"than the existing *exclude* argument, which has therefore been deprecated. " -"(Added by Lars Gustäbel; :issue:`6856`.) The :class:`~tarfile.TarFile` class" -" also now supports the context management protocol. (Added by Lars Gustäbel;" -" :issue:`7232`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1636 -msgid "" -"The :meth:`~threading.Event.wait` method of the :class:`threading.Event` " -"class now returns the internal flag on exit. This means the method will " -"usually return true because :meth:`~threading.Event.wait` is supposed to " -"block until the internal flag becomes true. The return value will only be " -"false if a timeout was provided and the operation timed out. (Contributed by" -" Tim Lesher; :issue:`1674032`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1643 -msgid "" -"The Unicode database provided by the :mod:`unicodedata` module is now used " -"internally to determine which characters are numeric, whitespace, or " -"represent line breaks. The database also includes information from the " -":file:`Unihan.txt` data file (patch by Anders Chrigström and Amaury Forgeot " -"d'Arc; :issue:`1571184`) and has been updated to version 5.2.0 (updated by " -"Florent Xicluna; :issue:`8024`)." -msgstr "" - -#: ../../whatsnew/2.7.rst:1651 ../../whatsnew/2.7.rst:2512 -msgid "" -"The :mod:`urlparse ` module's :func:`~urllib.parse.urlsplit` " -"now handles unknown URL schemes in a fashion compliant with :rfc:`3986`: if " -"the URL is of the form ``\"://...\"``, the text before the " -"``://`` is treated as the scheme, even if it's a made-up scheme that the " -"module doesn't know about. This change may break code that worked around " -"the old behaviour. For example, Python 2.6.4 or 2.5 will return the " -"following:" -msgstr "" - -#: ../../whatsnew/2.7.rst:1659 ../../whatsnew/2.7.rst:2520 -msgid "" -">>> import urlparse\n" -">>> urlparse.urlsplit('invented://host/filename?query')\n" -"('invented', '', '//host/filename?query', '', '')" -msgstr "" - -#: ../../whatsnew/2.7.rst:1666 ../../whatsnew/2.7.rst:2527 -msgid "Python 2.7 (and Python 2.6.5) will return:" -msgstr "Python 2.7 (dan Python 2.6.5) akan mengembalikan:" - -#: ../../whatsnew/2.7.rst:1668 ../../whatsnew/2.7.rst:2529 -msgid "" -">>> import urlparse\n" -">>> urlparse.urlsplit('invented://host/filename?query')\n" -"('invented', 'host', '/filename?query', '', '')" -msgstr "" - -#: ../../whatsnew/2.7.rst:1675 ../../whatsnew/2.7.rst:2536 -msgid "" -"(Python 2.7 actually produces slightly different output, since it returns a " -"named tuple instead of a standard tuple.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1678 -msgid "" -"The :mod:`urlparse ` module also supports IPv6 literal " -"addresses as defined by :rfc:`2732` (contributed by Senthil Kumaran; " -":issue:`2987`)." -msgstr "" - -#: ../../whatsnew/2.7.rst:1681 -msgid "" -">>> urlparse.urlparse('http://[1080::8:800:200C:417A]/foo')\n" -"ParseResult(scheme='http', netloc='[1080::8:800:200C:417A]',\n" -" path='/foo', params='', query='', fragment='')" -msgstr "" - -#: ../../whatsnew/2.7.rst:1688 -msgid "" -"New class: the :class:`~weakref.WeakSet` class in the :mod:`weakref` module " -"is a set that only holds weak references to its elements; elements will be " -"removed once there are no references pointing to them. (Originally " -"implemented in Python 3.x by Raymond Hettinger, and backported to 2.7 by " -"Michael Foord.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1694 -msgid "" -"The :mod:`xml.etree.ElementTree` library, no longer escapes ampersands and " -"angle brackets when outputting an XML processing instruction (which looks " -"like ````) or comment (which looks like " -"````). (Patch by Neil Muller; :issue:`2746`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1700 -msgid "" -"The XML-RPC client and server, provided by the :mod:`xmlrpclib " -"` and :mod:`SimpleXMLRPCServer ` modules, have" -" improved performance by supporting HTTP/1.1 keep-alive and by optionally " -"using gzip encoding to compress the XML being exchanged. The gzip " -"compression is controlled by the :attr:`!encode_threshold` attribute of " -":class:`~xmlrpc.server.SimpleXMLRPCRequestHandler`, which contains a size in" -" bytes; responses larger than this will be compressed. (Contributed by " -"Kristján Valur Jónsson; :issue:`6267`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1709 -msgid "" -"The :mod:`zipfile` module's :class:`~zipfile.ZipFile` now supports the " -"context management protocol, so you can write ``with zipfile.ZipFile(...) as" -" f:``. (Contributed by Brian Curtin; :issue:`5511`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1713 -msgid "" -":mod:`zipfile` now also supports archiving empty directories and extracts " -"them correctly. (Fixed by Kuba Wieczorek; :issue:`4710`.) Reading files out" -" of an archive is faster, and interleaving :meth:`read() " -"` and :meth:`readline() ` now " -"works correctly. (Contributed by Nir Aides; :issue:`7610`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1720 -msgid "" -"The :func:`~zipfile.is_zipfile` function now accepts a file object, in " -"addition to the path names accepted in earlier versions. (Contributed by " -"Gabriel Genellina; :issue:`4756`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1724 -msgid "" -"The :meth:`~zipfile.ZipFile.writestr` method now has an optional " -"*compress_type* parameter that lets you override the default compression " -"method specified in the :class:`~zipfile.ZipFile` constructor. (Contributed" -" by Ronald Oussoren; :issue:`6003`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1737 -msgid "New module: importlib" -msgstr "Modul baru: importlib" - -#: ../../whatsnew/2.7.rst:1739 -msgid "" -"Python 3.1 includes the :mod:`importlib` package, a re-implementation of the" -" logic underlying Python's :keyword:`import` statement. :mod:`importlib` is " -"useful for implementers of Python interpreters and to users who wish to " -"write new importers that can participate in the import process. Python 2.7 " -"doesn't contain the complete :mod:`importlib` package, but instead has a " -"tiny subset that contains a single function, " -":func:`~importlib.import_module`." -msgstr "" - -#: ../../whatsnew/2.7.rst:1747 -msgid "" -"``import_module(name, package=None)`` imports a module. *name* is a string " -"containing the module or package's name. It's possible to do relative " -"imports by providing a string that begins with a ``.`` character, such as " -"``..utils.errors``. For relative imports, the *package* argument must be " -"provided and is the name of the package that will be used as the anchor for " -"the relative import. :func:`~importlib.import_module` both inserts the " -"imported module into ``sys.modules`` and returns the module object." -msgstr "" - -#: ../../whatsnew/2.7.rst:1756 -msgid "Here are some examples::" -msgstr "Berikut beberapa contoh::" - -#: ../../whatsnew/2.7.rst:1758 -msgid "" -">>> from importlib import import_module\n" -">>> anydbm = import_module('anydbm') # Standard absolute import\n" -">>> anydbm\n" -"\n" -">>> # Relative import\n" -">>> file_util = import_module('..file_util', 'distutils.command')\n" -">>> file_util\n" -"" -msgstr "" - -#: ../../whatsnew/2.7.rst:1767 -msgid "" -":mod:`importlib` was implemented by Brett Cannon and introduced in Python " -"3.1." -msgstr "" - -#: ../../whatsnew/2.7.rst:1772 -msgid "New module: sysconfig" -msgstr "Modul baru: sysconfig" - -#: ../../whatsnew/2.7.rst:1774 -msgid "" -"The :mod:`sysconfig` module has been pulled out of the Distutils package, " -"becoming a new top-level module in its own right. :mod:`sysconfig` provides " -"functions for getting information about Python's build process: compiler " -"switches, installation paths, the platform name, and whether Python is " -"running from its source directory." -msgstr "" - -#: ../../whatsnew/2.7.rst:1781 -msgid "Some of the functions in the module are:" -msgstr "" - -#: ../../whatsnew/2.7.rst:1783 -msgid "" -":func:`~sysconfig.get_config_var` returns variables from Python's Makefile " -"and the :file:`pyconfig.h` file." -msgstr "" - -#: ../../whatsnew/2.7.rst:1785 -msgid "" -":func:`~sysconfig.get_config_vars` returns a dictionary containing all of " -"the configuration variables." -msgstr "" - -#: ../../whatsnew/2.7.rst:1787 -msgid "" -":func:`~sysconfig.get_path` returns the configured path for a particular " -"type of module: the standard library, site-specific modules, platform-" -"specific modules, etc." -msgstr "" - -#: ../../whatsnew/2.7.rst:1790 -msgid "" -":func:`~sysconfig.is_python_build` returns true if you're running a binary " -"from a Python source tree, and false otherwise." -msgstr "" - -#: ../../whatsnew/2.7.rst:1793 -msgid "" -"Consult the :mod:`sysconfig` documentation for more details and for a " -"complete list of functions." -msgstr "" - -#: ../../whatsnew/2.7.rst:1796 -msgid "" -"The Distutils package and :mod:`sysconfig` are now maintained by Tarek " -"Ziadé, who has also started a Distutils2 package (source repository at " -"https://hg.python.org/distutils2/) for developing a next-generation version " -"of Distutils." -msgstr "" - -#: ../../whatsnew/2.7.rst:1803 -msgid "ttk: Themed Widgets for Tk" -msgstr "" - -#: ../../whatsnew/2.7.rst:1805 -msgid "" -"Tcl/Tk 8.5 includes a set of themed widgets that re-implement basic Tk " -"widgets but have a more customizable appearance and can therefore more " -"closely resemble the native platform's widgets. This widget set was " -"originally called Tile, but was renamed to Ttk (for \"themed Tk\") on being " -"added to Tcl/Tck release 8.5." -msgstr "" - -#: ../../whatsnew/2.7.rst:1811 -msgid "" -"To learn more, read the :mod:`~tkinter.ttk` module documentation. You may " -"also wish to read the Tcl/Tk manual page describing the Ttk theme engine, " -"available at https://www.tcl.tk/man/tcl8.5/TkCmd/ttk_intro.html. Some " -"screenshots of the Python/Ttk code in use are at " -"https://code.google.com/archive/p/python-ttk/wikis/Screenshots.wiki." -msgstr "" - -#: ../../whatsnew/2.7.rst:1818 -msgid "" -"The :mod:`tkinter.ttk` module was written by Guilherme Polo and added in " -":issue:`2983`. An alternate version called ``Tile.py``, written by Martin " -"Franklin and maintained by Kevin Walzer, was proposed for inclusion in " -":issue:`2618`, but the authors argued that Guilherme Polo's work was more " -"comprehensive." -msgstr "" - -#: ../../whatsnew/2.7.rst:1828 -msgid "Updated module: unittest" -msgstr "Modul diperbarui: unittest" - -#: ../../whatsnew/2.7.rst:1830 -msgid "" -"The :mod:`unittest` module was greatly enhanced; many new features were " -"added. Most of these features were implemented by Michael Foord, unless " -"otherwise noted. The enhanced version of the module is downloadable " -"separately for use with Python versions 2.4 to 2.6, packaged as the " -":mod:`!unittest2` package, from :pypi:`unittest2`." -msgstr "" - -#: ../../whatsnew/2.7.rst:1836 -msgid "" -"When used from the command line, the module can automatically discover " -"tests. It's not as fancy as `py.test `__ or `nose " -"`__, but provides a simple way to run tests " -"kept within a set of package directories. For example, the following " -"command will search the :file:`test/` subdirectory for any importable test " -"files named ``test*.py``::" -msgstr "" - -#: ../../whatsnew/2.7.rst:1843 -msgid "python -m unittest discover -s test" -msgstr "" - -#: ../../whatsnew/2.7.rst:1845 -msgid "" -"Consult the :mod:`unittest` module documentation for more details. " -"(Developed in :issue:`6001`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1848 -msgid "The :func:`~unittest.main` function supports some other new options:" -msgstr "" - -#: ../../whatsnew/2.7.rst:1850 -msgid "" -":option:`-b ` or :option:`!--buffer` will buffer the standard " -"output and standard error streams during each test. If the test passes, any" -" resulting output will be discarded; on failure, the buffered output will be" -" displayed." -msgstr "" - -#: ../../whatsnew/2.7.rst:1855 -msgid "" -":option:`-c ` or :option:`!--catch` will cause the control-C " -"interrupt to be handled more gracefully. Instead of interrupting the test " -"process immediately, the currently running test will be completed and then " -"the partial results up to the interruption will be reported. If you're " -"impatient, a second press of control-C will cause an immediate interruption." -msgstr "" - -#: ../../whatsnew/2.7.rst:1862 -msgid "" -"This control-C handler tries to avoid causing problems when the code being " -"tested or the tests being run have defined a signal handler of their own, by" -" noticing that a signal handler was already set and calling it. If this " -"doesn't work for you, there's a :func:`~unittest.removeHandler` decorator " -"that can be used to mark tests that should have the control-C handling " -"disabled." -msgstr "" - -#: ../../whatsnew/2.7.rst:1869 -msgid "" -":option:`-f ` or :option:`!--failfast` makes test execution " -"stop immediately when a test fails instead of continuing to execute further " -"tests. (Suggested by Cliff Dyer and implemented by Michael Foord; " -":issue:`8074`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1874 -msgid "" -"The progress messages now show 'x' for expected failures and 'u' for " -"unexpected successes when run in verbose mode. (Contributed by Benjamin " -"Peterson.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1878 -msgid "" -"Test cases can raise the :exc:`~unittest.SkipTest` exception to skip a test " -"(:issue:`1034053`)." -msgstr "" - -#: ../../whatsnew/2.7.rst:1881 -msgid "" -"The error messages for :meth:`~unittest.TestCase.assertEqual`, " -":meth:`~unittest.TestCase.assertTrue`, and " -":meth:`~unittest.TestCase.assertFalse` failures now provide more " -"information. If you set the :attr:`~unittest.TestCase.longMessage` " -"attribute of your :class:`~unittest.TestCase` classes to true, both the " -"standard error message and any additional message you provide will be " -"printed for failures. (Added by Michael Foord; :issue:`5663`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1888 -msgid "" -"The :meth:`~unittest.TestCase.assertRaises` method now returns a context " -"handler when called without providing a callable object to run. For " -"example, you can write this::" -msgstr "" - -#: ../../whatsnew/2.7.rst:1892 -msgid "" -"with self.assertRaises(KeyError):\n" -" {}['foo']" -msgstr "" - -#: ../../whatsnew/2.7.rst:1895 -msgid "(Implemented by Antoine Pitrou; :issue:`4444`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1899 -msgid "" -"Module- and class-level setup and teardown fixtures are now supported. " -"Modules can contain :func:`~unittest.setUpModule` and " -":func:`~unittest.tearDownModule` functions. Classes can have " -":meth:`~unittest.TestCase.setUpClass` and " -":meth:`~unittest.TestCase.tearDownClass` methods that must be defined as " -"class methods (using ``@classmethod`` or equivalent). These functions and " -"methods are invoked when the test runner switches to a test case in a " -"different module or class." -msgstr "" - -#: ../../whatsnew/2.7.rst:1907 -msgid "" -"The methods :meth:`~unittest.TestCase.addCleanup` and " -":meth:`~unittest.TestCase.doCleanups` were added. " -":meth:`~unittest.TestCase.addCleanup` lets you add cleanup functions that " -"will be called unconditionally (after :meth:`~unittest.TestCase.setUp` if " -":meth:`~unittest.TestCase.setUp` fails, otherwise after " -":meth:`~unittest.TestCase.tearDown`). This allows for much simpler resource " -"allocation and deallocation during tests (:issue:`5679`)." -msgstr "" - -#: ../../whatsnew/2.7.rst:1915 -msgid "" -"A number of new methods were added that provide more specialized tests. " -"Many of these methods were written by Google engineers for use in their test" -" suites; Gregory P. Smith, Michael Foord, and GvR worked on merging them " -"into Python's version of :mod:`unittest`." -msgstr "" - -#: ../../whatsnew/2.7.rst:1920 -msgid "" -":meth:`~unittest.TestCase.assertIsNone` and " -":meth:`~unittest.TestCase.assertIsNotNone` take one expression and verify " -"that the result is or is not ``None``." -msgstr "" - -#: ../../whatsnew/2.7.rst:1923 -msgid "" -":meth:`~unittest.TestCase.assertIs` and " -":meth:`~unittest.TestCase.assertIsNot` take two values and check whether the" -" two values evaluate to the same object or not. (Added by Michael Foord; " -":issue:`2578`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1927 -msgid "" -":meth:`~unittest.TestCase.assertIsInstance` and " -":meth:`~unittest.TestCase.assertNotIsInstance` check whether the resulting " -"object is an instance of a particular class, or of one of a tuple of " -"classes. (Added by Georg Brandl; :issue:`7031`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1932 -msgid "" -":meth:`~unittest.TestCase.assertGreater`, " -":meth:`~unittest.TestCase.assertGreaterEqual`, " -":meth:`~unittest.TestCase.assertLess`, and " -":meth:`~unittest.TestCase.assertLessEqual` compare two quantities." -msgstr "" - -#: ../../whatsnew/2.7.rst:1936 -msgid "" -":meth:`~unittest.TestCase.assertMultiLineEqual` compares two strings, and if" -" they're not equal, displays a helpful comparison that highlights the " -"differences in the two strings. This comparison is now used by default when" -" Unicode strings are compared with :meth:`~unittest.TestCase.assertEqual`." -msgstr "" - -#: ../../whatsnew/2.7.rst:1941 -msgid "" -":meth:`assertRegexpMatches() ` and " -":meth:`assertNotRegexpMatches() ` checks " -"whether the first argument is a string matching or not matching the regular " -"expression provided as the second argument (:issue:`8038`)." -msgstr "" - -#: ../../whatsnew/2.7.rst:1946 -msgid "" -":meth:`assertRaisesRegexp() ` checks " -"whether a particular exception is raised, and then also checks that the " -"string representation of the exception matches the provided regular " -"expression." -msgstr "" - -#: ../../whatsnew/2.7.rst:1951 -msgid "" -":meth:`~unittest.TestCase.assertIn` and " -":meth:`~unittest.TestCase.assertNotIn` tests whether *first* is or is not in" -" *second*." -msgstr "" - -#: ../../whatsnew/2.7.rst:1954 -msgid "" -":meth:`assertItemsEqual() ` tests " -"whether two provided sequences contain the same elements." -msgstr "" - -#: ../../whatsnew/2.7.rst:1957 -msgid "" -":meth:`~unittest.TestCase.assertSetEqual` compares whether two sets are " -"equal, and only reports the differences between the sets in case of error." -msgstr "" - -#: ../../whatsnew/2.7.rst:1960 -msgid "" -"Similarly, :meth:`~unittest.TestCase.assertListEqual` and " -":meth:`~unittest.TestCase.assertTupleEqual` compare the specified types and " -"explain any differences without necessarily printing their full values; " -"these methods are now used by default when comparing lists and tuples using " -":meth:`~unittest.TestCase.assertEqual`. More generally, " -":meth:`~unittest.TestCase.assertSequenceEqual` compares two sequences and " -"can optionally check whether both sequences are of a particular type." -msgstr "" - -#: ../../whatsnew/2.7.rst:1968 -msgid "" -":meth:`~unittest.TestCase.assertDictEqual` compares two dictionaries and " -"reports the differences; it's now used by default when you compare two " -"dictionaries using :meth:`~unittest.TestCase.assertEqual`. " -":meth:`!assertDictContainsSubset` checks whether all of the key/value pairs " -"in *first* are found in *second*." -msgstr "" - -#: ../../whatsnew/2.7.rst:1973 -msgid "" -":meth:`~unittest.TestCase.assertAlmostEqual` and " -":meth:`~unittest.TestCase.assertNotAlmostEqual` test whether *first* and " -"*second* are approximately equal. This method can either round their " -"difference to an optionally specified number of *places* (the default is 7) " -"and compare it to zero, or require the difference to be smaller than a " -"supplied *delta* value." -msgstr "" - -#: ../../whatsnew/2.7.rst:1979 -msgid "" -":meth:`~unittest.TestLoader.loadTestsFromName` properly honors the " -":attr:`~unittest.TestLoader.suiteClass` attribute of the " -":class:`~unittest.TestLoader`. (Fixed by Mark Roddy; :issue:`6866`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1983 -msgid "" -"A new hook lets you extend the :meth:`~unittest.TestCase.assertEqual` method" -" to handle new data types. The " -":meth:`~unittest.TestCase.addTypeEqualityFunc` method takes a type object " -"and a function. The function will be used when both of the objects being " -"compared are of the specified type. This function should compare the two " -"objects and raise an exception if they don't match; it's a good idea for the" -" function to provide additional information about why the two objects aren't" -" matching, much as the new sequence comparison methods do." -msgstr "" - -#: ../../whatsnew/2.7.rst:1992 -msgid "" -":func:`unittest.main` now takes an optional ``exit`` argument. If false, " -":func:`~unittest.main` doesn't call :func:`sys.exit`, allowing " -":func:`~unittest.main` to be used from the interactive interpreter. " -"(Contributed by J. Pablo Fernández; :issue:`3379`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1997 -msgid "" -":class:`~unittest.TestResult` has new " -":meth:`~unittest.TestResult.startTestRun` and " -":meth:`~unittest.TestResult.stopTestRun` methods that are called immediately" -" before and after a test run. (Contributed by Robert Collins; " -":issue:`5728`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2001 -msgid "" -"With all these changes, the :file:`unittest.py` was becoming awkwardly " -"large, so the module was turned into a package and the code split into " -"several files (by Benjamin Peterson). This doesn't affect how the module is" -" imported or used." -msgstr "" - -#: ../../whatsnew/2.7.rst:2008 -msgid "" -"https://web.archive.org/web/20210619163128/http://www.voidspace.org.uk/python/articles/unittest2.shtml" -msgstr "" - -#: ../../whatsnew/2.7.rst:2009 -msgid "" -"Describes the new features, how to use them, and the rationale for various " -"design decisions. (By Michael Foord.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2015 -msgid "Updated module: ElementTree 1.3" -msgstr "Modul diperbarui: ElementTree 1.3" - -#: ../../whatsnew/2.7.rst:2017 -msgid "" -"The version of the ElementTree library included with Python was updated to " -"version 1.3. Some of the new features are:" -msgstr "" - -#: ../../whatsnew/2.7.rst:2020 -msgid "" -"The various parsing functions now take a *parser* keyword argument giving an" -" :class:`~xml.etree.ElementTree.XMLParser` instance that will be used. This" -" makes it possible to override the file's internal encoding::" -msgstr "" - -#: ../../whatsnew/2.7.rst:2024 -msgid "" -"p = ET.XMLParser(encoding='utf-8')\n" -"t = ET.XML(\"\"\"\"\"\", parser=p)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2027 -msgid "" -"Errors in parsing XML now raise a :exc:`~xml.etree.ElementTree.ParseError` " -"exception, whose instances have a :attr:`!position` attribute containing a " -"(*line*, *column*) tuple giving the location of the problem." -msgstr "" - -#: ../../whatsnew/2.7.rst:2031 -msgid "" -"ElementTree's code for converting trees to a string has been significantly " -"reworked, making it roughly twice as fast in many cases. The " -":meth:`ElementTree.write() ` and " -":meth:`Element.write` methods now have a *method* parameter that can be " -"\"xml\" (the default), \"html\", or \"text\". HTML mode will output empty " -"elements as ```` instead of ````, and text mode will " -"skip over elements and only output the text chunks. If you set the " -":attr:`~xml.etree.ElementTree.Element.tag` attribute of an element to " -"``None`` but leave its children in place, the element will be omitted when " -"the tree is written out, so you don't need to do more extensive " -"rearrangement to remove a single element." -msgstr "" - -#: ../../whatsnew/2.7.rst:2044 -msgid "" -"Namespace handling has also been improved. All ``xmlns:`` " -"declarations are now output on the root element, not scattered throughout " -"the resulting XML. You can set the default namespace for a tree by setting " -"the :attr:`default_namespace` attribute and can register new prefixes with " -":meth:`~xml.etree.ElementTree.register_namespace`. In XML mode, you can use" -" the true/false *xml_declaration* parameter to suppress the XML declaration." -msgstr "" - -#: ../../whatsnew/2.7.rst:2052 -msgid "" -"New :class:`~xml.etree.ElementTree.Element` method: " -":meth:`~xml.etree.ElementTree.Element.extend` appends the items from a " -"sequence to the element's children. Elements themselves behave like " -"sequences, so it's easy to move children from one element to another::" -msgstr "" - -#: ../../whatsnew/2.7.rst:2058 -msgid "" -"from xml.etree import ElementTree as ET\n" -"\n" -"t = ET.XML(\"\"\"\n" -" 1 2 3\n" -"\"\"\")\n" -"new = ET.XML('')\n" -"new.extend(t)\n" -"\n" -"# Outputs 1...\n" -"print ET.tostring(new)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2069 -msgid "" -"New :class:`~xml.etree.ElementTree.Element` method: " -":meth:`~xml.etree.ElementTree.Element.iter` yields the children of the " -"element as a generator. It's also possible to write ``for child in elem:`` " -"to loop over an element's children. The existing method " -":meth:`!getiterator` is now deprecated, as is :meth:`!getchildren` which " -"constructs and returns a list of children." -msgstr "" - -#: ../../whatsnew/2.7.rst:2076 -msgid "" -"New :class:`~xml.etree.ElementTree.Element` method: " -":meth:`~xml.etree.ElementTree.Element.itertext` yields all chunks of text " -"that are descendants of the element. For example::" -msgstr "" - -#: ../../whatsnew/2.7.rst:2080 -msgid "" -"t = ET.XML(\"\"\"\n" -" 1 2 3\n" -"\"\"\")\n" -"\n" -"# Outputs ['\\n ', '1', ' ', '2', ' ', '3', '\\n']\n" -"print list(t.itertext())" -msgstr "" - -#: ../../whatsnew/2.7.rst:2087 -msgid "" -"Deprecated: using an element as a Boolean (i.e., ``if elem:``) would return " -"true if the element had any children, or false if there were no children. " -"This behaviour is confusing -- ``None`` is false, but so is a childless " -"element? -- so it will now trigger a :exc:`FutureWarning`. In your code, " -"you should be explicit: write ``len(elem) != 0`` if you're interested in the" -" number of children, or ``elem is not None``." -msgstr "" - -#: ../../whatsnew/2.7.rst:2095 -msgid "" -"Fredrik Lundh develops ElementTree and produced the 1.3 version; you can " -"read his article describing 1.3 at " -"https://web.archive.org/web/20200703234532/http://effbot.org/zone/elementtree-13-intro.htm." -" Florent Xicluna updated the version included with Python, after discussions" -" on python-dev and in :issue:`6472`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2105 -msgid "Build and C API Changes" -msgstr "Perubahan Pembangunan *Build* dan API C" - -#: ../../whatsnew/2.7.rst:2107 -msgid "Changes to Python's build process and to the C API include:" -msgstr "" - -#: ../../whatsnew/2.7.rst:2109 -msgid "" -"The latest release of the GNU Debugger, GDB 7, can be `scripted using Python" -" " -"`__." -" When you begin debugging an executable program P, GDB will look for a file " -"named ``P-gdb.py`` and automatically read it. Dave Malcolm contributed a " -":file:`python-gdb.py` that adds a number of commands useful when debugging " -"Python itself. For example, ``py-up`` and ``py-down`` go up or down one " -"Python stack frame, which usually corresponds to several C stack frames. " -"``py-print`` prints the value of a Python variable, and ``py-bt`` prints the" -" Python stack trace. (Added as a result of :issue:`8032`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2121 -msgid "" -"If you use the :file:`.gdbinit` file provided with Python, the \"pyo\" macro" -" in the 2.7 version now works correctly when the thread being debugged " -"doesn't hold the GIL; the macro now acquires it before printing. " -"(Contributed by Victor Stinner; :issue:`3632`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2126 -msgid "" -":c:func:`Py_AddPendingCall` is now thread-safe, letting any worker thread " -"submit notifications to the main Python thread. This is particularly useful" -" for asynchronous IO operations. (Contributed by Kristján Valur Jónsson; " -":issue:`4293`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2131 -msgid "" -"New function: :c:func:`PyCode_NewEmpty` creates an empty code object; only " -"the filename, function name, and first line number are required. This is " -"useful for extension modules that are attempting to construct a more useful " -"traceback stack. Previously such extensions needed to call " -":c:func:`!PyCode_New`, which had many more arguments. (Added by Jeffrey " -"Yasskin.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2138 -msgid "" -"New function: :c:func:`PyErr_NewExceptionWithDoc` creates a new exception " -"class, just as the existing :c:func:`PyErr_NewException` does, but takes an " -"extra ``char *`` argument containing the docstring for the new exception " -"class. (Added by 'lekma' on the Python bug tracker; :issue:`7033`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2144 -msgid "" -"New function: :c:func:`PyFrame_GetLineNumber` takes a frame object and " -"returns the line number that the frame is currently executing. Previously " -"code would need to get the index of the bytecode instruction currently " -"executing, and then look up the line number corresponding to that address. " -"(Added by Jeffrey Yasskin.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2150 -msgid "" -"New functions: :c:func:`PyLong_AsLongAndOverflow` and " -":c:func:`PyLong_AsLongLongAndOverflow` approximates a Python long integer " -"as a C :c:expr:`long` or :c:expr:`long long`. If the number is too large to " -"fit into the output type, an *overflow* flag is set and returned to the " -"caller. (Contributed by Case Van Horsen; :issue:`7528` and :issue:`7767`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2157 -msgid "" -"New function: stemming from the rewrite of string-to-float conversion, a new" -" :c:func:`PyOS_string_to_double` function was added. The old " -":c:func:`!PyOS_ascii_strtod` and :c:func:`!PyOS_ascii_atof` functions are " -"now deprecated." -msgstr "" - -#: ../../whatsnew/2.7.rst:2162 -msgid "" -"New function: :c:func:`!PySys_SetArgvEx` sets the value of ``sys.argv`` and " -"can optionally update ``sys.path`` to include the directory containing the " -"script named by ``sys.argv[0]`` depending on the value of an *updatepath* " -"parameter." -msgstr "" - -#: ../../whatsnew/2.7.rst:2167 -msgid "" -"This function was added to close a security hole for applications that embed" -" Python. The old function, :c:func:`!PySys_SetArgv`, would always update " -"``sys.path``, and sometimes it would add the current directory. This meant " -"that, if you ran an application embedding Python in a directory controlled " -"by someone else, attackers could put a Trojan-horse module in the directory " -"(say, a file named :file:`os.py`) that your application would then import " -"and run." -msgstr "" - -#: ../../whatsnew/2.7.rst:2175 -msgid "" -"If you maintain a C/C++ application that embeds Python, check whether you're" -" calling :c:func:`!PySys_SetArgv` and carefully consider whether the " -"application should be using :c:func:`!PySys_SetArgvEx` with *updatepath* set" -" to false." -msgstr "" - -#: ../../whatsnew/2.7.rst:2180 -msgid "" -"Security issue reported as :cve:`2008-5983`; discussed in :issue:`5753`, and" -" fixed by Antoine Pitrou." -msgstr "" - -#: ../../whatsnew/2.7.rst:2183 -msgid "" -"New macros: the Python header files now define the following macros: " -":c:macro:`Py_ISALNUM`, :c:macro:`Py_ISALPHA`, :c:macro:`Py_ISDIGIT`, " -":c:macro:`Py_ISLOWER`, :c:macro:`Py_ISSPACE`, :c:macro:`Py_ISUPPER`, " -":c:macro:`Py_ISXDIGIT`, :c:macro:`Py_TOLOWER`, and :c:macro:`Py_TOUPPER`. " -"All of these functions are analogous to the C standard macros for " -"classifying characters, but ignore the current locale setting, because in " -"several places Python needs to analyze characters in a locale-independent " -"way. (Added by Eric Smith; :issue:`5793`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2201 -msgid "" -"Removed function: :c:func:`!PyEval_CallObject` is now only available as a " -"macro. A function version was being kept around to preserve ABI linking " -"compatibility, but that was in 1997; it can certainly be deleted by now. " -"(Removed by Antoine Pitrou; :issue:`8276`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2206 -msgid "" -"New format codes: the :c:func:`!PyString_FromFormat`, " -":c:func:`!PyString_FromFormatV`, and :c:func:`PyErr_Format` functions now " -"accept ``%lld`` and ``%llu`` format codes for displaying C's :c:expr:`long " -"long` types. (Contributed by Mark Dickinson; :issue:`7228`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2212 -msgid "" -"The complicated interaction between threads and process forking has been " -"changed. Previously, the child process created by :func:`os.fork` might " -"fail because the child is created with only a single thread running, the " -"thread performing the :func:`os.fork`. If other threads were holding a lock," -" such as Python's import lock, when the fork was performed, the lock would " -"still be marked as \"held\" in the new process. But in the child process " -"nothing would ever release the lock, since the other threads weren't " -"replicated, and the child process would no longer be able to perform " -"imports." -msgstr "" - -#: ../../whatsnew/2.7.rst:2222 -msgid "" -"Python 2.7 acquires the import lock before performing an :func:`os.fork`, " -"and will also clean up any locks created using the :mod:`threading` module." -" C extension modules that have internal locks, or that call " -":c:func:`fork()` themselves, will not benefit from this clean-up." -msgstr "" - -#: ../../whatsnew/2.7.rst:2228 -msgid "(Fixed by Thomas Wouters; :issue:`1590864`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2230 -msgid "" -"The :c:func:`Py_Finalize` function now calls the internal " -":func:`!threading._shutdown` function; this prevents some exceptions from " -"being raised when an interpreter shuts down. (Patch by Adam Olsen; " -":issue:`1722344`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2235 -msgid "" -"When using the :c:type:`PyMemberDef` structure to define attributes of a " -"type, Python will no longer let you try to delete or set a " -":c:macro:`T_STRING_INPLACE` attribute." -msgstr "" - -#: ../../whatsnew/2.7.rst:2241 -msgid "" -"Global symbols defined by the :mod:`ctypes` module are now prefixed with " -"``Py``, or with ``_ctypes``. (Implemented by Thomas Heller; :issue:`3102`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2245 -msgid "" -"New configure option: the :option:`!--with-system-expat` switch allows " -"building the :mod:`pyexpat ` module to use the system " -"Expat library. (Contributed by Arfrever Frehtes Taifersar Arahesis; " -":issue:`7609`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2249 -msgid "" -"New configure option: the :option:`!--with-valgrind` option will now disable" -" the pymalloc allocator, which is difficult for the Valgrind memory-error " -"detector to analyze correctly. Valgrind will therefore be better at " -"detecting memory leaks and overruns. (Contributed by James Henstridge; " -":issue:`2422`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2256 -msgid "" -"New configure option: you can now supply an empty string to :option:`!--" -"with-dbmliborder=` in order to disable all of the various DBM modules. " -"(Added by Arfrever Frehtes Taifersar Arahesis; :issue:`6491`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2261 -msgid "" -"The :program:`configure` script now checks for floating-point rounding bugs " -"on certain 32-bit Intel chips and defines a :c:macro:`X87_DOUBLE_ROUNDING` " -"preprocessor definition. No code currently uses this definition, but it's " -"available if anyone wishes to use it. (Added by Mark Dickinson; " -":issue:`2937`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2267 -msgid "" -":program:`configure` also now sets a :envvar:`LDCXXSHARED` Makefile variable" -" for supporting C++ linking. (Contributed by Arfrever Frehtes Taifersar " -"Arahesis; :issue:`1222585`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2271 -msgid "" -"The build process now creates the necessary files for pkg-config support. " -"(Contributed by Clinton Roy; :issue:`3585`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2274 -msgid "" -"The build process now supports Subversion 1.7. (Contributed by Arfrever " -"Frehtes Taifersar Arahesis; :issue:`6094`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2281 -msgid "Capsules" -msgstr "Kapsul" - -#: ../../whatsnew/2.7.rst:2283 -msgid "" -"Python 3.1 adds a new C datatype, :c:type:`PyCapsule`, for providing a C API" -" to an extension module. A capsule is essentially the holder of a C ``void " -"*`` pointer, and is made available as a module attribute; for example, the " -":mod:`socket` module's API is exposed as ``socket.CAPI``, and " -":mod:`unicodedata` exposes ``ucnhash_CAPI``. Other extensions can import " -"the module, access its dictionary to get the capsule object, and then get " -"the ``void *`` pointer, which will usually point to an array of pointers to " -"the module's various API functions." -msgstr "" - -#: ../../whatsnew/2.7.rst:2292 -msgid "" -"There is an existing data type already used for this, :c:type:`!PyCObject`, " -"but it doesn't provide type safety. Evil code written in pure Python could " -"cause a segmentation fault by taking a :c:type:`!PyCObject` from module A " -"and somehow substituting it for the :c:type:`!PyCObject` in module B. " -"Capsules know their own name, and getting the pointer requires providing the" -" name:" -msgstr "" - -#: ../../whatsnew/2.7.rst:2299 -msgid "" -"void *vtable;\n" -"\n" -"if (!PyCapsule_IsValid(capsule, \"mymodule.CAPI\") {\n" -" PyErr_SetString(PyExc_ValueError, \"argument type invalid\");\n" -" return NULL;\n" -"}\n" -"\n" -"vtable = PyCapsule_GetPointer(capsule, \"mymodule.CAPI\");" -msgstr "" - -#: ../../whatsnew/2.7.rst:2310 -msgid "" -"You are assured that ``vtable`` points to whatever you're expecting. If a " -"different capsule was passed in, :c:func:`PyCapsule_IsValid` would detect " -"the mismatched name and return false. Refer to :ref:`using-capsules` for " -"more information on using these objects." -msgstr "" - -#: ../../whatsnew/2.7.rst:2315 -msgid "" -"Python 2.7 now uses capsules internally to provide various extension-module " -"APIs, but the :c:func:`!PyCObject_AsVoidPtr` was modified to handle " -"capsules, preserving compile-time compatibility with the " -":c:type:`!PyCObject` interface. Use of :c:func:`!PyCObject_AsVoidPtr` will " -"signal a :exc:`PendingDeprecationWarning`, which is silent by default." -msgstr "" - -#: ../../whatsnew/2.7.rst:2322 -msgid "" -"Implemented in Python 3.1 and backported to 2.7 by Larry Hastings; discussed" -" in :issue:`5630`." -msgstr "" - -#: ../../whatsnew/2.7.rst:2329 -msgid "Port-Specific Changes: Windows" -msgstr "" - -#: ../../whatsnew/2.7.rst:2331 -msgid "" -"The :mod:`msvcrt` module now contains some constants from the " -":file:`crtassem.h` header file: :data:`~msvcrt.CRT_ASSEMBLY_VERSION`, " -":data:`~msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN`, and " -":data:`~msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX`. (Contributed by David " -"Cournapeau; :issue:`4365`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2338 -msgid "" -"The :mod:`_winreg ` module for accessing the registry now implements" -" the :func:`~winreg.CreateKeyEx` and :func:`~winreg.DeleteKeyEx` functions, " -"extended versions of previously supported functions that take several extra " -"arguments. The :func:`~winreg.DisableReflectionKey`, " -":func:`~winreg.EnableReflectionKey`, and :func:`~winreg.QueryReflectionKey` " -"were also tested and documented. (Implemented by Brian Curtin: " -":issue:`7347`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2346 -msgid "" -"The new :c:func:`!_beginthreadex` API is used to start threads, and the " -"native thread-local storage functions are now used. (Contributed by Kristján" -" Valur Jónsson; :issue:`3582`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2350 -msgid "" -"The :func:`os.kill` function now works on Windows. The signal value can be " -"the constants :const:`~signal.CTRL_C_EVENT`, " -":const:`~signal.CTRL_BREAK_EVENT`, or any integer. The first two constants " -"will send :kbd:`Control-C` and :kbd:`Control-Break` keystroke events to " -"subprocesses; any other value will use the :c:func:`!TerminateProcess` API." -" (Contributed by Miki Tebeka; :issue:`1220212`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2357 -msgid "" -"The :func:`os.listdir` function now correctly fails for an empty path. " -"(Fixed by Hirokazu Yamamoto; :issue:`5913`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2360 -msgid "" -"The :mod:`mimetypes` module will now read the MIME database from the Windows" -" registry when initializing. (Patch by Gabriel Genellina; :issue:`4969`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2367 -msgid "Port-Specific Changes: Mac OS X" -msgstr "" - -#: ../../whatsnew/2.7.rst:2369 -msgid "" -"The path ``/Library/Python/2.7/site-packages`` is now appended to " -"``sys.path``, in order to share added packages between the system " -"installation and a user-installed copy of the same version. (Changed by " -"Ronald Oussoren; :issue:`4865`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2376 -msgid "" -"As of 2.7.13, this change was removed. ``/Library/Python/2.7/site-" -"packages``, the site-packages directory used by the Apple-supplied system " -"Python 2.7 is no longer appended to ``sys.path`` for user-installed Pythons " -"such as from the python.org installers. As of macOS 10.12, Apple changed " -"how the system site-packages directory is configured, which could cause " -"installation of pip components, like setuptools, to fail. Packages " -"installed for the system Python will no longer be shared with user-installed" -" Pythons. (:issue:`28440`)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2387 -msgid "Port-Specific Changes: FreeBSD" -msgstr "" - -#: ../../whatsnew/2.7.rst:2389 -msgid "" -"FreeBSD 7.1's :const:`!SO_SETFIB` constant, used with the " -":func:`~socket.socket` methods " -":func:`~socket.socket.getsockopt`/:func:`~socket.socket.setsockopt` to " -"select an alternate routing table, is now available in the :mod:`socket` " -"module. (Added by Kyle VanderBeek; :issue:`8235`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2395 -msgid "Other Changes and Fixes" -msgstr "Perubahan dan Perbaikan Lain" - -#: ../../whatsnew/2.7.rst:2397 -msgid "" -"Two benchmark scripts, :file:`iobench` and :file:`ccbench`, were added to " -"the :file:`Tools` directory. :file:`iobench` measures the speed of the " -"built-in file I/O objects returned by :func:`open` while performing various " -"operations, and :file:`ccbench` is a concurrency benchmark that tries to " -"measure computing throughput, thread switching latency, and IO processing " -"bandwidth when performing several tasks using a varying number of threads." -msgstr "" - -#: ../../whatsnew/2.7.rst:2405 -msgid "" -"The :file:`Tools/i18n/msgfmt.py` script now understands plural forms in " -":file:`.po` files. (Fixed by Martin von Löwis; :issue:`5464`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2409 -msgid "" -"When importing a module from a :file:`.pyc` or :file:`.pyo` file with an " -"existing :file:`.py` counterpart, the :attr:`~codeobject.co_filename` " -"attributes of the resulting code objects are overwritten when the original " -"filename is obsolete. This can happen if the file has been renamed, moved, " -"or is accessed through different paths. (Patch by Ziga Seilnacht and Jean-" -"Paul Calderone; :issue:`1180193`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2416 -msgid "" -"The :file:`regrtest.py` script now takes a :option:`!--randseed=` switch " -"that takes an integer that will be used as the random seed for the " -":option:`!-r` option that executes tests in random order. The :option:`!-r` " -"option also reports the seed that was used (Added by Collin Winter.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2422 -msgid "" -"Another :file:`regrtest.py` switch is :option:`!-j`, which takes an integer " -"specifying how many tests run in parallel. This allows reducing the total " -"runtime on multi-core machines. This option is compatible with several other" -" options, including the :option:`!-R` switch which is known to produce long " -"runtimes. (Added by Antoine Pitrou, :issue:`6152`.) This can also be used " -"with a new :option:`!-F` switch that runs selected tests in a loop until " -"they fail. (Added by Antoine Pitrou; :issue:`7312`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2431 -msgid "" -"When executed as a script, the :file:`py_compile.py` module now accepts " -"``'-'`` as an argument, which will read standard input for the list of " -"filenames to be compiled. (Contributed by Piotr Ożarowski; :issue:`8233`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2439 -msgid "Porting to Python 2.7" -msgstr "Penyesuaian *Porting* ke Python 2.7" - -#: ../../whatsnew/2.7.rst:2441 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code:" -msgstr "" - -#: ../../whatsnew/2.7.rst:2444 -msgid "" -"The :func:`range` function processes its arguments more consistently; it " -"will now call :meth:`~object.__int__` on non-float, non-integer arguments " -"that are supplied to it. (Fixed by Alexander Belopolsky; :issue:`1533`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2449 -msgid "" -"The string :meth:`format` method changed the default precision used for " -"floating-point and complex numbers from 6 decimal places to 12, which " -"matches the precision used by :func:`str`. (Changed by Eric Smith; " -":issue:`5920`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2454 -msgid "" -"Because of an optimization for the :keyword:`with` statement, the special " -"methods :meth:`~object.__enter__` and :meth:`~object.__exit__` must belong " -"to the object's type, and cannot be directly attached to the object's " -"instance. This affects new-style classes (derived from :class:`object`) and" -" C extension types. (:issue:`6101`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2460 -msgid "" -"Due to a bug in Python 2.6, the *exc_value* parameter to " -":meth:`~object.__exit__` methods was often the string representation of the " -"exception, not an instance. This was fixed in 2.7, so *exc_value* will be " -"an instance as expected. (Fixed by Florent Xicluna; :issue:`7853`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2470 -msgid "In the standard library:" -msgstr "Di pustaka standar:" - -#: ../../whatsnew/2.7.rst:2472 -msgid "" -"Operations with :class:`~datetime.datetime` instances that resulted in a " -"year falling outside the supported range didn't always raise " -":exc:`OverflowError`. Such errors are now checked more carefully and will " -"now raise the exception. (Reported by Mark Leander, patch by Anand B. Pillai" -" and Alexander Belopolsky; :issue:`7150`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2478 -msgid "" -"When using :class:`~decimal.Decimal` instances with a string's " -":meth:`format` method, the default alignment was previously left-alignment." -" This has been changed to right-alignment, which might change the output of" -" your programs. (Changed by Mark Dickinson; :issue:`6857`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2490 -msgid "" -"The :mod:`xml.etree.ElementTree` library no longer escapes ampersands and " -"angle brackets when outputting an XML processing instruction (which looks " -"like ````) or comment (which looks like " -"````). (Patch by Neil Muller; :issue:`2746`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2496 -msgid "" -"The :meth:`!readline` method of :class:`~io.StringIO` objects now does " -"nothing when a negative length is requested, as other file-like objects do." -" (:issue:`7348`)." -msgstr "" - -#: ../../whatsnew/2.7.rst:2539 -msgid "For C extensions:" -msgstr "Untuk ekstensi C:" - -#: ../../whatsnew/2.7.rst:2541 -msgid "" -"C extensions that use integer format codes with the ``PyArg_Parse*`` family " -"of functions will now raise a :exc:`TypeError` exception instead of " -"triggering a :exc:`DeprecationWarning` (:issue:`5080`)." -msgstr "" - -#: ../../whatsnew/2.7.rst:2545 -msgid "" -"Use the new :c:func:`PyOS_string_to_double` function instead of the old " -":c:func:`!PyOS_ascii_strtod` and :c:func:`!PyOS_ascii_atof` functions, which" -" are now deprecated." -msgstr "" - -#: ../../whatsnew/2.7.rst:2549 -msgid "For applications that embed Python:" -msgstr "" - -#: ../../whatsnew/2.7.rst:2551 -msgid "" -"The :c:func:`!PySys_SetArgvEx` function was added, letting applications " -"close a security hole when the existing :c:func:`!PySys_SetArgv` function " -"was used. Check whether you're calling :c:func:`!PySys_SetArgv` and " -"carefully consider whether the application should be using " -":c:func:`!PySys_SetArgvEx` with *updatepath* set to false." -msgstr "" - -#: ../../whatsnew/2.7.rst:2564 -msgid "New Features Added to Python 2.7 Maintenance Releases" -msgstr "" - -#: ../../whatsnew/2.7.rst:2566 -msgid "" -"New features may be added to Python 2.7 maintenance releases when the " -"situation genuinely calls for it. Any such additions must go through the " -"Python Enhancement Proposal process, and make a compelling case for why they" -" can't be adequately addressed by either adding the new feature solely to " -"Python 3, or else by publishing it on the Python Package Index." -msgstr "" - -#: ../../whatsnew/2.7.rst:2572 -msgid "" -"In addition to the specific proposals listed below, there is a general " -"exemption allowing new ``-3`` warnings to be added in any Python 2.7 " -"maintenance release." -msgstr "" - -#: ../../whatsnew/2.7.rst:2578 -msgid "Two new environment variables for debug mode" -msgstr "" - -#: ../../whatsnew/2.7.rst:2580 -msgid "" -"In debug mode, the ``[xxx refs]`` statistic is not written by default, the " -":envvar:`!PYTHONSHOWREFCOUNT` environment variable now must also be set. " -"(Contributed by Victor Stinner; :issue:`31733`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2584 -msgid "" -"When Python is compiled with ``COUNT_ALLOC`` defined, allocation counts are " -"no longer dumped by default anymore: the :envvar:`!PYTHONSHOWALLOCCOUNT` " -"environment variable must now also be set. Moreover, allocation counts are " -"now dumped into stderr, rather than stdout. (Contributed by Victor Stinner; " -":issue:`31692`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2593 -msgid "PEP 434: IDLE Enhancement Exception for All Branches" -msgstr "" - -#: ../../whatsnew/2.7.rst:2595 -msgid "" -":pep:`434` describes a general exemption for changes made to the IDLE " -"development environment shipped along with Python. This exemption makes it " -"possible for the IDLE developers to provide a more consistent user " -"experience across all supported versions of Python 2 and 3." -msgstr "" - -#: ../../whatsnew/2.7.rst:2600 -msgid "" -"For details of any IDLE changes, refer to the NEWS file for the specific " -"release." -msgstr "" - -#: ../../whatsnew/2.7.rst:2605 -msgid "PEP 466: Network Security Enhancements for Python 2.7" -msgstr "" - -#: ../../whatsnew/2.7.rst:2607 -msgid "" -":pep:`466` describes a number of network security enhancement proposals that" -" have been approved for inclusion in Python 2.7 maintenance releases, with " -"the first of those changes appearing in the Python 2.7.7 release." -msgstr "" - -#: ../../whatsnew/2.7.rst:2611 -msgid ":pep:`466` related features added in Python 2.7.7:" -msgstr "" - -#: ../../whatsnew/2.7.rst:2613 -msgid "" -":func:`hmac.compare_digest` was backported from Python 3 to make a timing " -"attack resistant comparison operation available to Python 2 applications. " -"(Contributed by Alex Gaynor; :issue:`21306`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2617 -msgid "" -"OpenSSL 1.0.1g was upgraded in the official Windows installers published on " -"python.org. (Contributed by Zachary Ware; :issue:`21462`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2620 -msgid ":pep:`466` related features added in Python 2.7.8:" -msgstr "" - -#: ../../whatsnew/2.7.rst:2622 -msgid "" -":func:`hashlib.pbkdf2_hmac` was backported from Python 3 to make a hashing " -"algorithm suitable for secure password storage broadly available to Python 2" -" applications. (Contributed by Alex Gaynor; :issue:`21304`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2626 -msgid "" -"OpenSSL 1.0.1h was upgraded for the official Windows installers published on" -" python.org. (Contributed by Zachary Ware in :issue:`21671` for " -":cve:`2014-0224`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2629 -msgid ":pep:`466` related features added in Python 2.7.9:" -msgstr "" - -#: ../../whatsnew/2.7.rst:2631 -msgid "" -"Most of Python 3.4's :mod:`ssl` module was backported. This means :mod:`ssl`" -" now supports Server Name Indication, TLS1.x settings, access to the " -"platform certificate store, the :class:`~ssl.SSLContext` class, and other " -"features. (Contributed by Alex Gaynor and David Reid; :issue:`21308`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2636 -msgid "" -"Refer to the \"Version added: 2.7.9\" notes in the module documentation for " -"specific details." -msgstr "" - -#: ../../whatsnew/2.7.rst:2639 -msgid "" -":func:`os.urandom` was changed to cache a file descriptor to " -"``/dev/urandom`` instead of reopening ``/dev/urandom`` on every call. " -"(Contributed by Alex Gaynor; :issue:`21305`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2643 -msgid "" -":data:`hashlib.algorithms_guaranteed` and " -":data:`hashlib.algorithms_available` were backported from Python 3 to make " -"it easier for Python 2 applications to select the strongest available hash " -"algorithm. (Contributed by Alex Gaynor in :issue:`21307`)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2650 -msgid "PEP 477: Backport ensurepip (PEP 453) to Python 2.7" -msgstr "" - -#: ../../whatsnew/2.7.rst:2652 -msgid "" -":pep:`477` approves the inclusion of the :pep:`453` ensurepip module and the" -" improved documentation that was enabled by it in the Python 2.7 maintenance" -" releases, appearing first in the Python 2.7.9 release." -msgstr "" - -#: ../../whatsnew/2.7.rst:2658 -msgid "Bootstrapping pip By Default" -msgstr "" - -#: ../../whatsnew/2.7.rst:2660 -msgid "" -"The new :mod:`ensurepip` module (defined in :pep:`453`) provides a standard " -"cross-platform mechanism to bootstrap the pip installer into Python " -"installations. The version of ``pip`` included with Python 2.7.9 is ``pip`` " -"1.5.6, and future 2.7.x maintenance releases will update the bundled version" -" to the latest version of ``pip`` that is available at the time of creating " -"the release candidate." -msgstr "" - -#: ../../whatsnew/2.7.rst:2667 -msgid "" -"By default, the commands ``pip``, ``pipX`` and ``pipX.Y`` will be installed " -"on all platforms (where X.Y stands for the version of the Python " -"installation), along with the ``pip`` Python package and its dependencies." -msgstr "" - -#: ../../whatsnew/2.7.rst:2671 -msgid "" -"For CPython :ref:`source builds on POSIX systems `," -" the ``make install`` and ``make altinstall`` commands do not bootstrap " -"``pip`` by default. This behaviour can be controlled through configure " -"options, and overridden through Makefile options." -msgstr "" - -#: ../../whatsnew/2.7.rst:2676 -msgid "" -"On Windows and Mac OS X, the CPython installers now default to installing " -"``pip`` along with CPython itself (users may opt out of installing it during" -" the installation process). Window users will need to opt in to the " -"automatic ``PATH`` modifications to have ``pip`` available from the command " -"line by default, otherwise it can still be accessed through the Python " -"launcher for Windows as ``py -m pip``." -msgstr "" - -#: ../../whatsnew/2.7.rst:2683 -msgid "" -"As :pep:`discussed in the PEP <0477#disabling-ensurepip-by-downstream-" -"distributors>`, platform packagers may choose not to install these commands " -"by default, as long as, when invoked, they provide clear and simple " -"directions on how to install them on that platform (usually using the system" -" package manager)." -msgstr "" - -#: ../../whatsnew/2.7.rst:2690 -msgid "Documentation Changes" -msgstr "Perubahan Dokumentasi" - -#: ../../whatsnew/2.7.rst:2692 -msgid "" -"As part of this change, the :ref:`installing-index` and :ref:`distributing-" -"index` sections of the documentation have been completely redesigned as " -"short getting started and FAQ documents. Most packaging documentation has " -"now been moved out to the Python Packaging Authority maintained `Python " -"Packaging User Guide `__ and the documentation" -" of the individual projects." -msgstr "" - -#: ../../whatsnew/2.7.rst:2700 -msgid "" -"However, as this migration is currently still incomplete, the legacy " -"versions of those guides remaining available as :ref:`install-index` and " -":ref:`setuptools-index`." -msgstr "" - -#: ../../whatsnew/2.7.rst:2706 -msgid ":pep:`453` -- Explicit bootstrapping of pip in Python installations" -msgstr "" - -#: ../../whatsnew/2.7.rst:2707 -msgid "" -"PEP written by Donald Stufft and Nick Coghlan, implemented by Donald Stufft," -" Nick Coghlan, Martin von Löwis and Ned Deily." -msgstr "" - -#: ../../whatsnew/2.7.rst:2711 -msgid "" -"PEP 476: Enabling certificate verification by default for stdlib http " -"clients" -msgstr "" - -#: ../../whatsnew/2.7.rst:2713 -msgid "" -":pep:`476` updated :mod:`httplib ` and modules which use it, such as " -":mod:`urllib2 ` and :mod:`xmlrpclib `, to now" -" verify that the server presents a certificate which is signed by a " -"Certificate Authority in the platform trust store and whose hostname matches" -" the hostname being requested by default, significantly improving security " -"for many applications. This change was made in the Python 2.7.9 release." -msgstr "" - -#: ../../whatsnew/2.7.rst:2721 -msgid "" -"For applications which require the old previous behavior, they can pass an " -"alternate context::" -msgstr "" - -#: ../../whatsnew/2.7.rst:2724 -msgid "" -"import urllib2\n" -"import ssl\n" -"\n" -"# This disables all verification\n" -"context = ssl._create_unverified_context()\n" -"\n" -"# This allows using a specific certificate for the host, which doesn't need\n" -"# to be in the trust store\n" -"context = ssl.create_default_context(cafile=\"/path/to/file.crt\")\n" -"\n" -"urllib2.urlopen(\"https://invalid-cert\", context=context)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2738 -msgid "PEP 493: HTTPS verification migration tools for Python 2.7" -msgstr "" - -#: ../../whatsnew/2.7.rst:2740 -msgid "" -":pep:`493` provides additional migration tools to support a more incremental" -" infrastructure upgrade process for environments containing applications and" -" services relying on the historically permissive processing of server " -"certificates when establishing client HTTPS connections. These additions " -"were made in the Python 2.7.12 release." -msgstr "" - -#: ../../whatsnew/2.7.rst:2746 -msgid "" -"These tools are intended for use in cases where affected applications and " -"services can't be modified to explicitly pass a more permissive SSL context " -"when establishing the connection." -msgstr "" - -#: ../../whatsnew/2.7.rst:2750 -msgid "" -"For applications and services which can't be modified at all, the new " -"``PYTHONHTTPSVERIFY`` environment variable may be set to ``0`` to revert an " -"entire Python process back to the default permissive behaviour of Python " -"2.7.8 and earlier." -msgstr "" - -#: ../../whatsnew/2.7.rst:2755 -msgid "" -"For cases where the connection establishment code can't be modified, but the" -" overall application can be, the new :func:`!ssl._https_verify_certificates`" -" function can be used to adjust the default behaviour at runtime." -msgstr "" - -#: ../../whatsnew/2.7.rst:2761 -msgid "New ``make regen-all`` build target" -msgstr "" - -#: ../../whatsnew/2.7.rst:2763 -msgid "" -"To simplify cross-compilation, and to ensure that CPython can reliably be " -"compiled without requiring an existing version of Python to already be " -"available, the autotools-based build system no longer attempts to implicitly" -" recompile generated files based on file modification times." -msgstr "" - -#: ../../whatsnew/2.7.rst:2768 -msgid "" -"Instead, a new ``make regen-all`` command has been added to force " -"regeneration of these files when desired (e.g. after an initial version of " -"Python has already been built based on the pregenerated versions)." -msgstr "" - -#: ../../whatsnew/2.7.rst:2772 -msgid "" -"More selective regeneration targets are also defined - see " -":source:`Makefile.pre.in` for details." -msgstr "" - -#: ../../whatsnew/2.7.rst:2775 ../../whatsnew/2.7.rst:2788 -msgid "(Contributed by Victor Stinner in :issue:`23404`.)" -msgstr "(Kontribusi dari Victor Stinner di :issue:`23404`.)" - -#: ../../whatsnew/2.7.rst:2781 -msgid "Removal of ``make touch`` build target" -msgstr "" - -#: ../../whatsnew/2.7.rst:2783 -msgid "" -"The ``make touch`` build target previously used to request implicit " -"regeneration of generated files by updating their modification times has " -"been removed." -msgstr "" - -#: ../../whatsnew/2.7.rst:2786 -msgid "It has been replaced by the new ``make regen-all`` target." -msgstr "" - -#: ../../whatsnew/2.7.rst:2797 -msgid "Acknowledgements" -msgstr "Ucapan Terima Kasih" - -#: ../../whatsnew/2.7.rst:2799 -msgid "" -"The author would like to thank the following people for offering " -"suggestions, corrections and assistance with various drafts of this article:" -" Nick Coghlan, Philip Jenvey, Ryan Lovett, R. David Murray, Hugh Secker-" -"Walker." -msgstr "" -"Penulis ingin mengucapkan terima kasih kepada orang-orang berikut untuk " -"menawarkan saran, koreksi dan bantuan dengan berbagai konsep artikel ini: " -"Nick Coghlan, Philip Jenvey, Ryan Lovett, R. David Murray, Hugh Secker-" -"Walker." diff --git a/python-newest.whatsnew--3_0/id.po b/python-newest.whatsnew--3_0/id.po deleted file mode 100644 index da383e8..0000000 --- a/python-newest.whatsnew--3_0/id.po +++ /dev/null @@ -1,1391 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.0.rst:3 -msgid "What's New In Python 3.0" -msgstr "Apa yang Baru Di Python 3.0" - -#: ../../whatsnew/3.0.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../whatsnew/3.0.rst:7 -msgid "Guido van Rossum" -msgstr "Guido van Rossum" - -#: ../../whatsnew/3.0.rst:54 -msgid "" -"This article explains the new features in Python 3.0, compared to 2.6. " -"Python 3.0, also known as \"Python 3000\" or \"Py3K\", is the first ever " -"*intentionally backwards incompatible* Python release. Python 3.0 was " -"released on December 3, 2008. There are more changes than in a typical " -"release, and more that are important for all Python users. Nevertheless, " -"after digesting the changes, you'll find that Python really hasn't changed " -"all that much -- by and large, we're mostly fixing well-known annoyances and" -" warts, and removing a lot of old cruft." -msgstr "" - -#: ../../whatsnew/3.0.rst:63 -msgid "" -"This article doesn't attempt to provide a complete specification of all new " -"features, but instead tries to give a convenient overview. For full details," -" you should refer to the documentation for Python 3.0, and/or the many PEPs " -"referenced in the text. If you want to understand the complete " -"implementation and design rationale for a particular feature, PEPs usually " -"have more details than the regular documentation; but note that PEPs usually" -" are not kept up-to-date once a feature has been fully implemented." -msgstr "" - -#: ../../whatsnew/3.0.rst:72 -msgid "" -"Due to time constraints this document is not as complete as it should have " -"been. As always for a new release, the ``Misc/NEWS`` file in the source " -"distribution contains a wealth of detailed information about every small " -"thing that was changed." -msgstr "" - -#: ../../whatsnew/3.0.rst:89 -msgid "Common Stumbling Blocks" -msgstr "" - -#: ../../whatsnew/3.0.rst:91 -msgid "" -"This section lists those few changes that are most likely to trip you up if " -"you're used to Python 2.5." -msgstr "" - -#: ../../whatsnew/3.0.rst:95 -msgid "Print Is A Function" -msgstr "" - -#: ../../whatsnew/3.0.rst:97 -msgid "" -"The ``print`` statement has been replaced with a :func:`print` function, " -"with keyword arguments to replace most of the special syntax of the old " -"``print`` statement (:pep:`3105`). Examples::" -msgstr "" - -#: ../../whatsnew/3.0.rst:101 -msgid "" -"Old: print \"The answer is\", 2*2\n" -"New: print(\"The answer is\", 2*2)\n" -"\n" -"Old: print x, # Trailing comma suppresses newline\n" -"New: print(x, end=\" \") # Appends a space instead of a newline\n" -"\n" -"Old: print # Prints a newline\n" -"New: print() # You must call the function!\n" -"\n" -"Old: print >>sys.stderr, \"fatal error\"\n" -"New: print(\"fatal error\", file=sys.stderr)\n" -"\n" -"Old: print (x, y) # prints repr((x, y))\n" -"New: print((x, y)) # Not the same as print(x, y)!" -msgstr "" - -#: ../../whatsnew/3.0.rst:116 -msgid "You can also customize the separator between items, e.g.::" -msgstr "" - -#: ../../whatsnew/3.0.rst:118 -msgid "print(\"There are <\", 2**32, \"> possibilities!\", sep=\"\")" -msgstr "" - -#: ../../whatsnew/3.0.rst:120 -msgid "which produces:" -msgstr "" - -#: ../../whatsnew/3.0.rst:122 -msgid "There are <4294967296> possibilities!" -msgstr "" - -#: ../../whatsnew/3.0.rst:126 -msgid "Note:" -msgstr "" - -#: ../../whatsnew/3.0.rst:128 -msgid "" -"The :func:`print` function doesn't support the \"softspace\" feature of the " -"old ``print`` statement. For example, in Python 2.x, ``print \"A\\n\", " -"\"B\"`` would write ``\"A\\nB\\n\"``; but in Python 3.0, ``print(\"A\\n\", " -"\"B\")`` writes ``\"A\\n B\\n\"``." -msgstr "" - -#: ../../whatsnew/3.0.rst:133 -msgid "" -"Initially, you'll be finding yourself typing the old ``print x`` a lot in " -"interactive mode. Time to retrain your fingers to type ``print(x)`` " -"instead!" -msgstr "" - -#: ../../whatsnew/3.0.rst:137 -msgid "" -"When using the ``2to3`` source-to-source conversion tool, all ``print`` " -"statements are automatically converted to :func:`print` function calls, so " -"this is mostly a non-issue for larger projects." -msgstr "" - -#: ../../whatsnew/3.0.rst:143 -msgid "Views And Iterators Instead Of Lists" -msgstr "" - -#: ../../whatsnew/3.0.rst:145 -msgid "Some well-known APIs no longer return lists:" -msgstr "" - -#: ../../whatsnew/3.0.rst:147 -msgid "" -":class:`dict` methods :meth:`dict.keys`, :meth:`dict.items` and " -":meth:`dict.values` return \"views\" instead of lists. For example, this no" -" longer works: ``k = d.keys(); k.sort()``. Use ``k = sorted(d)`` instead " -"(this works in Python 2.5 too and is just as efficient)." -msgstr "" - -#: ../../whatsnew/3.0.rst:153 -msgid "" -"Also, the :meth:`!dict.iterkeys`, :meth:`!dict.iteritems` and " -":meth:`!dict.itervalues` methods are no longer supported." -msgstr "" - -#: ../../whatsnew/3.0.rst:156 -msgid "" -":func:`map` and :func:`filter` return iterators. If you really need a list " -"and the input sequences are all of equal length, a quick fix is to wrap " -":func:`map` in :func:`list`, e.g. ``list(map(...))``, but a better fix is " -"often to use a list comprehension (especially when the original code uses " -":keyword:`lambda`), or rewriting the code so it doesn't need a list at all." -" Particularly tricky is :func:`map` invoked for the side effects of the " -"function; the correct transformation is to use a regular :keyword:`for` loop" -" (since creating a list would just be wasteful)." -msgstr "" - -#: ../../whatsnew/3.0.rst:167 -msgid "" -"If the input sequences are not of equal length, :func:`map` will stop at the" -" termination of the shortest of the sequences. For full compatibility with " -":func:`map` from Python 2.x, also wrap the sequences in " -":func:`itertools.zip_longest`, e.g. ``map(func, *sequences)`` becomes " -"``list(map(func, itertools.zip_longest(*sequences)))``." -msgstr "" - -#: ../../whatsnew/3.0.rst:173 -msgid "" -":func:`range` now behaves like :func:`!xrange` used to behave, except it " -"works with values of arbitrary size. The latter no longer exists." -msgstr "" - -#: ../../whatsnew/3.0.rst:177 -msgid ":func:`zip` now returns an iterator." -msgstr "" - -#: ../../whatsnew/3.0.rst:180 -msgid "Ordering Comparisons" -msgstr "" - -#: ../../whatsnew/3.0.rst:182 -msgid "Python 3.0 has simplified the rules for ordering comparisons:" -msgstr "" - -#: ../../whatsnew/3.0.rst:184 -msgid "" -"The ordering comparison operators (``<``, ``<=``, ``>=``, ``>``) raise a " -"TypeError exception when the operands don't have a meaningful natural " -"ordering. Thus, expressions like ``1 < ''``, ``0 > None`` or ``len <= len``" -" are no longer valid, and e.g. ``None < None`` raises :exc:`TypeError` " -"instead of returning ``False``. A corollary is that sorting a heterogeneous" -" list no longer makes sense -- all the elements must be comparable to each " -"other. Note that this does not apply to the ``==`` and ``!=`` operators: " -"objects of different incomparable types always compare unequal to each " -"other." -msgstr "" - -#: ../../whatsnew/3.0.rst:195 -msgid "" -":meth:`sorted` and :meth:`list.sort` no longer accept the *cmp* argument " -"providing a comparison function. Use the *key* argument instead. N.B. the " -"*key* and *reverse* arguments are now \"keyword-only\"." -msgstr "" - -#: ../../whatsnew/3.0.rst:200 -msgid "" -"The :func:`!cmp` function should be treated as gone, and the " -":meth:`!__cmp__` special method is no longer supported. Use " -":meth:`~object.__lt__` for sorting, :meth:`~object.__eq__` with " -":meth:`~object.__hash__`, and other rich comparisons as needed. (If you " -"really need the :func:`!cmp` functionality, you could use the expression " -"``(a > b) - (a < b)`` as the equivalent for ``cmp(a, b)``.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:207 -msgid "Integers" -msgstr "" - -#: ../../whatsnew/3.0.rst:209 -msgid "" -":pep:`237`: Essentially, :class:`!long` renamed to :class:`int`. That is, " -"there is only one built-in integral type, named :class:`int`; but it behaves" -" mostly like the old :class:`!long` type." -msgstr "" - -#: ../../whatsnew/3.0.rst:213 -msgid "" -":pep:`238`: An expression like ``1/2`` returns a float. Use ``1//2`` to get" -" the truncating behavior. (The latter syntax has existed for years, at " -"least since Python 2.2.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:217 -msgid "" -"The :data:`!sys.maxint` constant was removed, since there is no longer a " -"limit to the value of integers. However, :data:`sys.maxsize` can be used as" -" an integer larger than any practical list or string index. It conforms to " -"the implementation's \"natural\" integer size and is typically the same as " -":data:`!sys.maxint` in previous releases on the same platform (assuming the " -"same build options)." -msgstr "" - -#: ../../whatsnew/3.0.rst:224 -msgid "" -"The :func:`repr` of a long integer doesn't include the trailing ``L`` " -"anymore, so code that unconditionally strips that character will chop off " -"the last digit instead. (Use :func:`str` instead.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:228 -msgid "" -"Octal literals are no longer of the form ``0720``; use ``0o720`` instead." -msgstr "" - -#: ../../whatsnew/3.0.rst:232 -msgid "Text Vs. Data Instead Of Unicode Vs. 8-bit" -msgstr "" - -#: ../../whatsnew/3.0.rst:234 -msgid "" -"Everything you thought you knew about binary data and Unicode has changed." -msgstr "" - -#: ../../whatsnew/3.0.rst:237 -msgid "" -"Python 3.0 uses the concepts of *text* and (binary) *data* instead of " -"Unicode strings and 8-bit strings. All text is Unicode; however *encoded* " -"Unicode is represented as binary data. The type used to hold text is " -":class:`str`, the type used to hold data is :class:`bytes`. The biggest " -"difference with the 2.x situation is that any attempt to mix text and data " -"in Python 3.0 raises :exc:`TypeError`, whereas if you were to mix Unicode " -"and 8-bit strings in Python 2.x, it would work if the 8-bit string happened " -"to contain only 7-bit (ASCII) bytes, but you would get " -":exc:`UnicodeDecodeError` if it contained non-ASCII values. This value-" -"specific behavior has caused numerous sad faces over the years." -msgstr "" - -#: ../../whatsnew/3.0.rst:250 -msgid "" -"As a consequence of this change in philosophy, pretty much all code that " -"uses Unicode, encodings or binary data most likely has to change. The " -"change is for the better, as in the 2.x world there were numerous bugs " -"having to do with mixing encoded and unencoded text. To be prepared in " -"Python 2.x, start using :class:`!unicode` for all unencoded text, and " -":class:`str` for binary or encoded data only. Then the ``2to3`` tool will " -"do most of the work for you." -msgstr "" - -#: ../../whatsnew/3.0.rst:258 -msgid "" -"You can no longer use ``u\"...\"`` literals for Unicode text. However, you " -"must use ``b\"...\"`` literals for binary data." -msgstr "" - -#: ../../whatsnew/3.0.rst:261 -msgid "" -"As the :class:`str` and :class:`bytes` types cannot be mixed, you must " -"always explicitly convert between them. Use :meth:`str.encode` to go from " -":class:`str` to :class:`bytes`, and :meth:`bytes.decode` to go from " -":class:`bytes` to :class:`str`. You can also use ``bytes(s, encoding=...)``" -" and ``str(b, encoding=...)``, respectively." -msgstr "" - -#: ../../whatsnew/3.0.rst:268 -msgid "" -"Like :class:`str`, the :class:`bytes` type is immutable. There is a " -"separate *mutable* type to hold buffered binary data, :class:`bytearray`. " -"Nearly all APIs that accept :class:`bytes` also accept :class:`bytearray`. " -"The mutable API is based on :class:`collections.MutableSequence " -"`." -msgstr "" - -#: ../../whatsnew/3.0.rst:274 -msgid "" -"All backslashes in raw string literals are interpreted literally. This means" -" that ``'\\U'`` and ``'\\u'`` escapes in raw strings are not treated " -"specially. For example, ``r'\\u20ac'`` is a string of 6 characters in " -"Python 3.0, whereas in 2.6, ``ur'\\u20ac'`` was the single \"euro\" " -"character. (Of course, this change only affects raw string literals; the " -"euro character is ``'\\u20ac'`` in Python 3.0.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:281 -msgid "" -"The built-in :class:`!basestring` abstract type was removed. Use " -":class:`str` instead. The :class:`str` and :class:`bytes` types don't have " -"functionality enough in common to warrant a shared base class. The ``2to3``" -" tool (see below) replaces every occurrence of :class:`!basestring` with " -":class:`str`." -msgstr "" - -#: ../../whatsnew/3.0.rst:287 -msgid "" -"Files opened as text files (still the default mode for :func:`open`) always " -"use an encoding to map between strings (in memory) and bytes (on disk). " -"Binary files (opened with a ``b`` in the mode argument) always use bytes in " -"memory. This means that if a file is opened using an incorrect mode or " -"encoding, I/O will likely fail loudly, instead of silently producing " -"incorrect data. It also means that even Unix users will have to specify the" -" correct mode (text or binary) when opening a file. There is a platform-" -"dependent default encoding, which on Unixy platforms can be set with the " -"``LANG`` environment variable (and sometimes also with some other platform-" -"specific locale-related environment variables). In many cases, but not all," -" the system default is UTF-8; you should never count on this default. Any " -"application reading or writing more than pure ASCII text should probably " -"have a way to override the encoding. There is no longer any need for using " -"the encoding-aware streams in the :mod:`codecs` module." -msgstr "" - -#: ../../whatsnew/3.0.rst:304 -msgid "" -"The initial values of :data:`sys.stdin`, :data:`sys.stdout` and " -":data:`sys.stderr` are now unicode-only text files (i.e., they are instances" -" of :class:`io.TextIOBase`). To read and write bytes data with these " -"streams, you need to use their :data:`io.TextIOBase.buffer` attribute." -msgstr "" - -#: ../../whatsnew/3.0.rst:310 -msgid "" -"Filenames are passed to and returned from APIs as (Unicode) strings. This " -"can present platform-specific problems because on some platforms filenames " -"are arbitrary byte strings. (On the other hand, on Windows filenames are " -"natively stored as Unicode.) As a work-around, most APIs (e.g. :func:`open`" -" and many functions in the :mod:`os` module) that take filenames accept " -":class:`bytes` objects as well as strings, and a few APIs have a way to ask " -"for a :class:`bytes` return value. Thus, :func:`os.listdir` returns a list " -"of :class:`bytes` instances if the argument is a :class:`bytes` instance, " -"and :func:`os.getcwdb` returns the current working directory as a " -":class:`bytes` instance. Note that when :func:`os.listdir` returns a list " -"of strings, filenames that cannot be decoded properly are omitted rather " -"than raising :exc:`UnicodeError`." -msgstr "" - -#: ../../whatsnew/3.0.rst:325 -msgid "" -"Some system APIs like :data:`os.environ` and :data:`sys.argv` can also " -"present problems when the bytes made available by the system is not " -"interpretable using the default encoding. Setting the ``LANG`` variable and" -" rerunning the program is probably the best approach." -msgstr "" - -#: ../../whatsnew/3.0.rst:330 -msgid "" -":pep:`3138`: The :func:`repr` of a string no longer escapes non-ASCII " -"characters. It still escapes control characters and code points with non-" -"printable status in the Unicode standard, however." -msgstr "" - -#: ../../whatsnew/3.0.rst:334 -msgid ":pep:`3120`: The default source encoding is now UTF-8." -msgstr "" - -#: ../../whatsnew/3.0.rst:336 -msgid "" -":pep:`3131`: Non-ASCII letters are now allowed in identifiers. (However, the" -" standard library remains ASCII-only with the exception of contributor names" -" in comments.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:340 -msgid "" -"The :mod:`!StringIO` and :mod:`!cStringIO` modules are gone. Instead, " -"import the :mod:`io` module and use :class:`io.StringIO` or " -":class:`io.BytesIO` for text and data respectively." -msgstr "" - -#: ../../whatsnew/3.0.rst:344 -msgid "See also the :ref:`unicode-howto`, which was updated for Python 3.0." -msgstr "" - -#: ../../whatsnew/3.0.rst:348 -msgid "Overview Of Syntax Changes" -msgstr "" - -#: ../../whatsnew/3.0.rst:350 -msgid "" -"This section gives a brief overview of every *syntactic* change in Python " -"3.0." -msgstr "" - -#: ../../whatsnew/3.0.rst:354 -msgid "New Syntax" -msgstr "" - -#: ../../whatsnew/3.0.rst:356 -msgid "" -":pep:`3107`: Function argument and return value annotations. This provides " -"a standardized way of annotating a function's parameters and return value. " -"There are no semantics attached to such annotations except that they can be " -"introspected at runtime using the :attr:`~object.__annotations__` attribute." -" The intent is to encourage experimentation through metaclasses, decorators" -" or frameworks." -msgstr "" - -#: ../../whatsnew/3.0.rst:363 -msgid "" -":pep:`3102`: Keyword-only arguments. Named parameters occurring after " -"``*args`` in the parameter list *must* be specified using keyword syntax in " -"the call. You can also use a bare ``*`` in the parameter list to indicate " -"that you don't accept a variable-length argument list, but you do have " -"keyword-only arguments." -msgstr "" - -#: ../../whatsnew/3.0.rst:369 -msgid "" -"Keyword arguments are allowed after the list of base classes in a class " -"definition. This is used by the new convention for specifying a metaclass " -"(see next section), but can be used for other purposes as well, as long as " -"the metaclass supports it." -msgstr "" - -#: ../../whatsnew/3.0.rst:374 -msgid "" -":pep:`3104`: :keyword:`nonlocal` statement. Using ``nonlocal x`` you can " -"now assign directly to a variable in an outer (but non-global) scope. " -":keyword:`!nonlocal` is a new reserved word." -msgstr "" - -#: ../../whatsnew/3.0.rst:378 -msgid "" -":pep:`3132`: Extended Iterable Unpacking. You can now write things like " -"``a, b, *rest = some_sequence``. And even ``*rest, a = stuff``. The " -"``rest`` object is always a (possibly empty) list; the right-hand side may " -"be any iterable. Example::" -msgstr "" - -#: ../../whatsnew/3.0.rst:383 -msgid "(a, *rest, b) = range(5)" -msgstr "" - -#: ../../whatsnew/3.0.rst:385 -msgid "This sets *a* to ``0``, *b* to ``4``, and *rest* to ``[1, 2, 3]``." -msgstr "" - -#: ../../whatsnew/3.0.rst:387 -msgid "" -"Dictionary comprehensions: ``{k: v for k, v in stuff}`` means the same thing" -" as ``dict(stuff)`` but is more flexible. (This is :pep:`274` vindicated. " -":-)" -msgstr "" - -#: ../../whatsnew/3.0.rst:391 -msgid "" -"Set literals, e.g. ``{1, 2}``. Note that ``{}`` is an empty dictionary; use" -" ``set()`` for an empty set. Set comprehensions are also supported; e.g., " -"``{x for x in stuff}`` means the same thing as ``set(stuff)`` but is more " -"flexible." -msgstr "" - -#: ../../whatsnew/3.0.rst:396 -msgid "" -"New octal literals, e.g. ``0o720`` (already in 2.6). The old octal literals" -" (``0720``) are gone." -msgstr "" - -#: ../../whatsnew/3.0.rst:399 -msgid "" -"New binary literals, e.g. ``0b1010`` (already in 2.6), and there is a new " -"corresponding built-in function, :func:`bin`." -msgstr "" - -#: ../../whatsnew/3.0.rst:402 -msgid "" -"Bytes literals are introduced with a leading ``b`` or ``B``, and there is a " -"new corresponding built-in function, :func:`bytes`." -msgstr "" - -#: ../../whatsnew/3.0.rst:406 -msgid "Changed Syntax" -msgstr "" - -#: ../../whatsnew/3.0.rst:408 -msgid "" -":pep:`3109` and :pep:`3134`: new :keyword:`raise` statement syntax: " -":samp:`raise [{expr} [from {expr}]]`. See below." -msgstr "" - -#: ../../whatsnew/3.0.rst:411 -msgid "" -":keyword:`!as` and :keyword:`with` are now reserved words. (Since 2.6, " -"actually.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:414 -msgid "" -"``True``, ``False``, and ``None`` are reserved words. (2.6 partially " -"enforced the restrictions on ``None`` already.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:417 -msgid "" -"Change from :keyword:`except` *exc*, *var* to :keyword:`!except` *exc* " -":keyword:`!as` *var*. See :pep:`3110`." -msgstr "" - -#: ../../whatsnew/3.0.rst:420 -msgid ":pep:`3115`: New Metaclass Syntax. Instead of::" -msgstr "" - -#: ../../whatsnew/3.0.rst:422 -msgid "" -"class C:\n" -" __metaclass__ = M\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.0.rst:426 -msgid "you must now use::" -msgstr "" - -#: ../../whatsnew/3.0.rst:428 -msgid "" -"class C(metaclass=M):\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.0.rst:431 -msgid "" -"The module-global :data:`!__metaclass__` variable is no longer supported. " -"(It was a crutch to make it easier to default to new-style classes without " -"deriving every class from :class:`object`.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:436 -msgid "" -"List comprehensions no longer support the syntactic form :samp:`[... for " -"{var} in {item1}, {item2}, ...]`. Use :samp:`[... for {var} in ({item1}, " -"{item2}, ...)]` instead. Also note that list comprehensions have different " -"semantics: they are closer to syntactic sugar for a generator expression " -"inside a :func:`list` constructor, and in particular the loop control " -"variables are no longer leaked into the surrounding scope." -msgstr "" - -#: ../../whatsnew/3.0.rst:444 -msgid "" -"The *ellipsis* (``...``) can be used as an atomic expression anywhere. " -"(Previously it was only allowed in slices.) Also, it *must* now be spelled " -"as ``...``. (Previously it could also be spelled as ``. . .``, by a mere " -"accident of the grammar.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:450 -msgid "Removed Syntax" -msgstr "" - -#: ../../whatsnew/3.0.rst:452 -msgid "" -":pep:`3113`: Tuple parameter unpacking removed. You can no longer write " -"``def foo(a, (b, c)): ...``. Use ``def foo(a, b_c): b, c = b_c`` instead." -msgstr "" - -#: ../../whatsnew/3.0.rst:456 -msgid "Removed backticks (use :func:`repr` instead)." -msgstr "" - -#: ../../whatsnew/3.0.rst:458 -msgid "Removed ``<>`` (use ``!=`` instead)." -msgstr "" - -#: ../../whatsnew/3.0.rst:460 -msgid "" -"Removed keyword: :func:`exec` is no longer a keyword; it remains as a " -"function. (Fortunately the function syntax was also accepted in 2.x.) Also" -" note that :func:`exec` no longer takes a stream argument; instead of " -"``exec(f)`` you can use ``exec(f.read())``." -msgstr "" - -#: ../../whatsnew/3.0.rst:465 -msgid "Integer literals no longer support a trailing ``l`` or ``L``." -msgstr "" - -#: ../../whatsnew/3.0.rst:467 -msgid "String literals no longer support a leading ``u`` or ``U``." -msgstr "" - -#: ../../whatsnew/3.0.rst:469 -msgid "" -"The :keyword:`from` *module* :keyword:`import` ``*`` syntax is only allowed " -"at the module level, no longer inside functions." -msgstr "" - -#: ../../whatsnew/3.0.rst:472 -msgid "" -"The only acceptable syntax for relative imports is :samp:`from .[{module}] " -"import {name}`. All :keyword:`import` forms not starting with ``.`` are " -"interpreted as absolute imports. (:pep:`328`)" -msgstr "" - -#: ../../whatsnew/3.0.rst:476 -msgid "Classic classes are gone." -msgstr "" - -#: ../../whatsnew/3.0.rst:480 -msgid "Changes Already Present In Python 2.6" -msgstr "" - -#: ../../whatsnew/3.0.rst:482 -msgid "" -"Since many users presumably make the jump straight from Python 2.5 to Python" -" 3.0, this section reminds the reader of new features that were originally " -"designed for Python 3.0 but that were back-ported to Python 2.6. The " -"corresponding sections in :ref:`whats-new-in-2.6` should be consulted for " -"longer descriptions." -msgstr "" - -#: ../../whatsnew/3.0.rst:488 -msgid "" -":ref:`pep-0343`. The :keyword:`with` statement is now a standard feature " -"and no longer needs to be imported from the :mod:`__future__`. Also check " -"out :ref:`new-26-context-managers` and :ref:`new-module-contextlib`." -msgstr "" - -#: ../../whatsnew/3.0.rst:493 -msgid "" -":ref:`pep-0366`. This enhances the usefulness of the :option:`-m` option " -"when the referenced module lives in a package." -msgstr "" - -#: ../../whatsnew/3.0.rst:496 -msgid ":ref:`pep-0370`." -msgstr ":ref:`pep-0370`." - -#: ../../whatsnew/3.0.rst:498 -msgid ":ref:`pep-0371`." -msgstr ":ref:`pep-0371`." - -#: ../../whatsnew/3.0.rst:500 -msgid "" -":ref:`pep-3101`. Note: the 2.6 description mentions the :meth:`format` " -"method for both 8-bit and Unicode strings. In 3.0, only the :class:`str` " -"type (text strings with Unicode support) supports this method; the " -":class:`bytes` type does not. The plan is to eventually make this the only " -"API for string formatting, and to start deprecating the ``%`` operator in " -"Python 3.1." -msgstr "" - -#: ../../whatsnew/3.0.rst:507 -msgid "" -":ref:`pep-3105`. This is now a standard feature and no longer needs to be " -"imported from :mod:`__future__`. More details were given above." -msgstr "" - -#: ../../whatsnew/3.0.rst:510 -msgid "" -":ref:`pep-3110`. The :keyword:`except` *exc* :keyword:`!as` *var* syntax is" -" now standard and :keyword:`!except` *exc*, *var* is no longer supported. " -"(Of course, the :keyword:`!as` *var* part is still optional.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:515 -msgid "" -":ref:`pep-3112`. The ``b\"...\"`` string literal notation (and its variants" -" like ``b'...'``, ``b\"\"\"...\"\"\"``, and ``br\"...\"``) now produces a " -"literal of type :class:`bytes`." -msgstr "" - -#: ../../whatsnew/3.0.rst:519 -msgid "" -":ref:`pep-3116`. The :mod:`io` module is now the standard way of doing file" -" I/O. The built-in :func:`open` function is now an alias for " -":func:`io.open` and has additional keyword arguments *encoding*, *errors*, " -"*newline* and *closefd*. Also note that an invalid *mode* argument now " -"raises :exc:`ValueError`, not :exc:`IOError`. The binary file object " -"underlying a text file object can be accessed as :attr:`!f.buffer` (but " -"beware that the text object maintains a buffer of itself in order to speed " -"up the encoding and decoding operations)." -msgstr "" - -#: ../../whatsnew/3.0.rst:529 -msgid "" -":ref:`pep-3118`. The old builtin :func:`!buffer` is now really gone; the " -"new builtin :func:`memoryview` provides (mostly) similar functionality." -msgstr "" - -#: ../../whatsnew/3.0.rst:533 -msgid "" -":ref:`pep-3119`. The :mod:`abc` module and the ABCs defined in the " -":mod:`collections` module plays a somewhat more prominent role in the " -"language now, and built-in collection types like :class:`dict` and " -":class:`list` conform to the :class:`collections.MutableMapping " -"` and :class:`collections.MutableSequence " -"` ABCs, respectively." -msgstr "" - -#: ../../whatsnew/3.0.rst:539 -msgid "" -":ref:`pep-3127`. As mentioned above, the new octal literal notation is the " -"only one supported, and binary literals have been added." -msgstr "" - -#: ../../whatsnew/3.0.rst:543 -msgid ":ref:`pep-3129`." -msgstr ":ref:`pep-3129`." - -#: ../../whatsnew/3.0.rst:545 -msgid "" -":ref:`pep-3141`. The :mod:`numbers` module is another new use of ABCs, " -"defining Python's \"numeric tower\". Also note the new :mod:`fractions` " -"module which implements :class:`numbers.Rational`." -msgstr "" - -#: ../../whatsnew/3.0.rst:551 -msgid "Library Changes" -msgstr "" - -#: ../../whatsnew/3.0.rst:553 -msgid "" -"Due to time constraints, this document does not exhaustively cover the very " -"extensive changes to the standard library. :pep:`3108` is the reference for" -" the major changes to the library. Here's a capsule review:" -msgstr "" - -#: ../../whatsnew/3.0.rst:558 -msgid "" -"Many old modules were removed. Some, like :mod:`!gopherlib` (no longer " -"used) and :mod:`!md5` (replaced by :mod:`hashlib`), were already deprecated " -"by :pep:`4`. Others were removed as a result of the removal of support for " -"various platforms such as Irix, BeOS and Mac OS 9 (see :pep:`11`). Some " -"modules were also selected for removal in Python 3.0 due to lack of use or " -"because a better replacement exists. See :pep:`3108` for an exhaustive " -"list." -msgstr "" - -#: ../../whatsnew/3.0.rst:566 -msgid "" -"The :mod:`!bsddb3` package was removed because its presence in the core " -"standard library has proved over time to be a particular burden for the core" -" developers due to testing instability and Berkeley DB's release schedule. " -"However, the package is alive and well, externally maintained at " -"https://www.jcea.es/programacion/pybsddb.htm." -msgstr "" - -#: ../../whatsnew/3.0.rst:572 -msgid "" -"Some modules were renamed because their old name disobeyed :pep:`8`, or for " -"various other reasons. Here's the list:" -msgstr "" - -#: ../../whatsnew/3.0.rst:576 -msgid "Old Name" -msgstr "" - -#: ../../whatsnew/3.0.rst:576 -msgid "New Name" -msgstr "" - -#: ../../whatsnew/3.0.rst:578 -msgid "_winreg" -msgstr "" - -#: ../../whatsnew/3.0.rst:578 -msgid "winreg" -msgstr "" - -#: ../../whatsnew/3.0.rst:579 -msgid "ConfigParser" -msgstr "" - -#: ../../whatsnew/3.0.rst:579 -msgid "configparser" -msgstr "" - -#: ../../whatsnew/3.0.rst:580 -msgid "copy_reg" -msgstr "" - -#: ../../whatsnew/3.0.rst:580 -msgid "copyreg" -msgstr "" - -#: ../../whatsnew/3.0.rst:581 -msgid "Queue" -msgstr "" - -#: ../../whatsnew/3.0.rst:581 -msgid "queue" -msgstr "queue" - -#: ../../whatsnew/3.0.rst:582 -msgid "SocketServer" -msgstr "" - -#: ../../whatsnew/3.0.rst:582 -msgid "socketserver" -msgstr "socketserver" - -#: ../../whatsnew/3.0.rst:583 -msgid "markupbase" -msgstr "" - -#: ../../whatsnew/3.0.rst:583 -msgid "_markupbase" -msgstr "" - -#: ../../whatsnew/3.0.rst:584 -msgid "repr" -msgstr "repr" - -#: ../../whatsnew/3.0.rst:584 -msgid "reprlib" -msgstr "reprlib" - -#: ../../whatsnew/3.0.rst:585 -msgid "test.test_support" -msgstr "" - -#: ../../whatsnew/3.0.rst:585 -msgid "test.support" -msgstr "" - -#: ../../whatsnew/3.0.rst:588 -msgid "" -"A common pattern in Python 2.x is to have one version of a module " -"implemented in pure Python, with an optional accelerated version implemented" -" as a C extension; for example, :mod:`pickle` and :mod:`!cPickle`. This " -"places the burden of importing the accelerated version and falling back on " -"the pure Python version on each user of these modules. In Python 3.0, the " -"accelerated versions are considered implementation details of the pure " -"Python versions. Users should always import the standard version, which " -"attempts to import the accelerated version and falls back to the pure Python" -" version. The :mod:`pickle` / :mod:`!cPickle` pair received this treatment." -" The :mod:`profile` module is on the list for 3.1. The :mod:`!StringIO` " -"module has been turned into a class in the :mod:`io` module." -msgstr "" - -#: ../../whatsnew/3.0.rst:602 -msgid "" -"Some related modules have been grouped into packages, and usually the " -"submodule names have been simplified. The resulting new packages are:" -msgstr "" - -#: ../../whatsnew/3.0.rst:606 -msgid "" -":mod:`dbm` (:mod:`!anydbm`, :mod:`!dbhash`, :mod:`!dbm`, :mod:`!dumbdbm`, " -":mod:`!gdbm`, :mod:`!whichdb`)." -msgstr "" - -#: ../../whatsnew/3.0.rst:609 -msgid ":mod:`html` (:mod:`!HTMLParser`, :mod:`!htmlentitydefs`)." -msgstr "" - -#: ../../whatsnew/3.0.rst:611 -msgid "" -":mod:`http` (:mod:`!httplib`, :mod:`!BaseHTTPServer`, :mod:`!CGIHTTPServer`," -" :mod:`!SimpleHTTPServer`, :mod:`!Cookie`, :mod:`!cookielib`)." -msgstr "" - -#: ../../whatsnew/3.0.rst:615 -msgid "" -":mod:`tkinter` (all ``Tkinter``-related modules except :mod:`turtle`). The " -"target audience of :mod:`turtle` doesn't really care about :mod:`tkinter`. " -"Also note that as of Python 2.6, the functionality of :mod:`turtle` has been" -" greatly enhanced." -msgstr "" - -#: ../../whatsnew/3.0.rst:620 -msgid "" -":mod:`urllib` (:mod:`!urllib`, :mod:`!urllib2`, :mod:`!urlparse`, " -":mod:`!robotparse`)." -msgstr "" - -#: ../../whatsnew/3.0.rst:623 -msgid "" -":mod:`xmlrpc` (:mod:`!xmlrpclib`, :mod:`!DocXMLRPCServer`, " -":mod:`!SimpleXMLRPCServer`)." -msgstr "" - -#: ../../whatsnew/3.0.rst:626 -msgid "" -"Some other changes to standard library modules, not covered by :pep:`3108`:" -msgstr "" - -#: ../../whatsnew/3.0.rst:629 -msgid "Killed :mod:`!sets`. Use the built-in :func:`set` class." -msgstr "" - -#: ../../whatsnew/3.0.rst:631 -msgid "" -"Cleanup of the :mod:`sys` module: removed :func:`!sys.exitfunc`, " -":func:`!sys.exc_clear`, :data:`!sys.exc_type`, :data:`!sys.exc_value`, " -":data:`!sys.exc_traceback`. (Note that :data:`sys.last_type` etc. remain.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:636 -msgid "" -"Cleanup of the :class:`array.array` type: the :meth:`!read` and " -":meth:`!write` methods are gone; use :meth:`~array.array.fromfile` and " -":meth:`~array.array.tofile` instead. Also, the ``'c'`` typecode for array " -"is gone -- use either ``'b'`` for bytes or ``'u'`` for Unicode characters." -msgstr "" - -#: ../../whatsnew/3.0.rst:642 -msgid "" -"Cleanup of the :mod:`operator` module: removed :func:`!sequenceIncludes` and" -" :func:`!isCallable`." -msgstr "" - -#: ../../whatsnew/3.0.rst:645 -msgid "" -"Cleanup of the :mod:`!thread` module: :func:`!acquire_lock` and " -":func:`!release_lock` are gone; use :meth:`~threading.Lock.acquire` and " -":meth:`~threading.Lock.release` instead." -msgstr "" - -#: ../../whatsnew/3.0.rst:649 -msgid "" -"Cleanup of the :mod:`random` module: removed the :func:`!jumpahead` API." -msgstr "" - -#: ../../whatsnew/3.0.rst:651 -msgid "The :mod:`!new` module is gone." -msgstr "" - -#: ../../whatsnew/3.0.rst:653 -msgid "" -"The functions :func:`!os.tmpnam`, :func:`!os.tempnam` and " -":func:`!os.tmpfile` have been removed in favor of the :mod:`tempfile` " -"module." -msgstr "" - -#: ../../whatsnew/3.0.rst:657 -msgid "" -"The :mod:`tokenize` module has been changed to work with bytes. The main " -"entry point is now :func:`tokenize.tokenize`, instead of generate_tokens." -msgstr "" - -#: ../../whatsnew/3.0.rst:661 -msgid "" -":data:`!string.letters` and its friends (:data:`!string.lowercase` and " -":data:`!string.uppercase`) are gone. Use :data:`string.ascii_letters` etc. " -"instead. (The reason for the removal is that :data:`!string.letters` and " -"friends had locale-specific behavior, which is a bad idea for such " -"attractively named global \"constants\".)" -msgstr "" - -#: ../../whatsnew/3.0.rst:668 -msgid "" -"Renamed module :mod:`!__builtin__` to :mod:`builtins` (removing the " -"underscores, adding an 's'). The :data:`!__builtins__` variable found in " -"most global namespaces is unchanged. To modify a builtin, you should use " -":mod:`builtins`, not :data:`!__builtins__`!" -msgstr "" - -#: ../../whatsnew/3.0.rst:675 -msgid ":pep:`3101`: A New Approach To String Formatting" -msgstr "" - -#: ../../whatsnew/3.0.rst:677 -msgid "" -"A new system for built-in string formatting operations replaces the ``%`` " -"string formatting operator. (However, the ``%`` operator is still " -"supported; it will be deprecated in Python 3.1 and removed from the " -"language at some later time.) Read :pep:`3101` for the full scoop." -msgstr "" - -#: ../../whatsnew/3.0.rst:685 -msgid "Changes To Exceptions" -msgstr "" - -#: ../../whatsnew/3.0.rst:687 -msgid "" -"The APIs for raising and catching exception have been cleaned up and new " -"powerful features added:" -msgstr "" - -#: ../../whatsnew/3.0.rst:690 -msgid "" -":pep:`352`: All exceptions must be derived (directly or indirectly) from " -":exc:`BaseException`. This is the root of the exception hierarchy. This is" -" not new as a recommendation, but the *requirement* to inherit from " -":exc:`BaseException` is new. (Python 2.6 still allowed classic classes to " -"be raised, and placed no restriction on what you can catch.) As a " -"consequence, string exceptions are finally truly and utterly dead." -msgstr "" - -#: ../../whatsnew/3.0.rst:698 -msgid "" -"Almost all exceptions should actually derive from :exc:`Exception`; " -":exc:`BaseException` should only be used as a base class for exceptions that" -" should only be handled at the top level, such as :exc:`SystemExit` or " -":exc:`KeyboardInterrupt`. The recommended idiom for handling all exceptions" -" except for this latter category is to use :keyword:`except` " -":exc:`Exception`." -msgstr "" - -#: ../../whatsnew/3.0.rst:705 -msgid ":exc:`!StandardError` was removed." -msgstr "" - -#: ../../whatsnew/3.0.rst:707 -msgid "" -"Exceptions no longer behave as sequences. Use the " -":attr:`~BaseException.args` attribute instead." -msgstr "" - -#: ../../whatsnew/3.0.rst:710 -msgid "" -":pep:`3109`: Raising exceptions. You must now use :samp:`raise " -"{Exception}({args})` instead of :samp:`raise {Exception}, {args}`. " -"Additionally, you can no longer explicitly specify a traceback; instead, if " -"you *have* to do this, you can assign directly to the " -":attr:`~BaseException.__traceback__` attribute (see below)." -msgstr "" - -#: ../../whatsnew/3.0.rst:716 -msgid "" -":pep:`3110`: Catching exceptions. You must now use :samp:`except " -"{SomeException} as {variable}` instead of :samp:`except {SomeException}, " -"{variable}`. Moreover, the *variable* is explicitly deleted when the " -":keyword:`except` block is left." -msgstr "" - -#: ../../whatsnew/3.0.rst:722 -msgid "" -":pep:`3134`: Exception chaining. There are two cases: implicit chaining and" -" explicit chaining. Implicit chaining happens when an exception is raised " -"in an :keyword:`except` or :keyword:`finally` handler block. This usually " -"happens due to a bug in the handler block; we call this a *secondary* " -"exception. In this case, the original exception (that was being handled) is" -" saved as the :attr:`~BaseException.__context__` attribute of the secondary " -"exception. Explicit chaining is invoked with this syntax::" -msgstr "" - -#: ../../whatsnew/3.0.rst:731 -msgid "raise SecondaryException() from primary_exception" -msgstr "" - -#: ../../whatsnew/3.0.rst:733 -msgid "" -"(where *primary_exception* is any expression that produces an exception " -"object, probably an exception that was previously caught). In this case, the" -" primary exception is stored on the :attr:`~BaseException.__cause__` " -"attribute of the secondary exception. The traceback printed when an " -"unhandled exception occurs walks the chain of :attr:`!__cause__` and " -":attr:`~BaseException.__context__` attributes and prints a separate " -"traceback for each component of the chain, with the primary exception at the" -" top. (Java users may recognize this behavior.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:743 -msgid "" -":pep:`3134`: Exception objects now store their traceback as the " -":attr:`~BaseException.__traceback__` attribute. This means that an " -"exception object now contains all the information pertaining to an " -"exception, and there are fewer reasons to use :func:`sys.exc_info` (though " -"the latter is not removed)." -msgstr "" - -#: ../../whatsnew/3.0.rst:749 -msgid "" -"A few exception messages are improved when Windows fails to load an " -"extension module. For example, ``error code 193`` is now ``%1 is not a " -"valid Win32 application``. Strings now deal with non-English locales." -msgstr "" - -#: ../../whatsnew/3.0.rst:756 -msgid "Miscellaneous Other Changes" -msgstr "" - -#: ../../whatsnew/3.0.rst:759 -msgid "Operators And Special Methods" -msgstr "" - -#: ../../whatsnew/3.0.rst:761 -msgid "" -"``!=`` now returns the opposite of ``==``, unless ``==`` returns " -":data:`NotImplemented`." -msgstr "" - -#: ../../whatsnew/3.0.rst:764 -msgid "" -"The concept of \"unbound methods\" has been removed from the language. When " -"referencing a method as a class attribute, you now get a plain function " -"object." -msgstr "" - -#: ../../whatsnew/3.0.rst:768 -msgid "" -":meth:`!__getslice__`, :meth:`!__setslice__` and :meth:`!__delslice__` were " -"killed. The syntax ``a[i:j]`` now translates to ``a.__getitem__(slice(i, " -"j))`` (or :meth:`~object.__setitem__` or :meth:`~object.__delitem__`, when " -"used as an assignment or deletion target, respectively)." -msgstr "" - -#: ../../whatsnew/3.0.rst:774 -msgid "" -":pep:`3114`: the standard :meth:`next` method has been renamed to " -":meth:`~iterator.__next__`." -msgstr "" - -#: ../../whatsnew/3.0.rst:777 -msgid "" -"The :meth:`!__oct__` and :meth:`!__hex__` special methods are removed -- " -":func:`oct` and :func:`hex` use :meth:`~object.__index__` now to convert the" -" argument to an integer." -msgstr "" - -#: ../../whatsnew/3.0.rst:781 -msgid "Removed support for :attr:`!__members__` and :attr:`!__methods__`." -msgstr "" - -#: ../../whatsnew/3.0.rst:783 -msgid "" -"The function attributes named :attr:`!func_X` have been renamed to use the " -":attr:`!__X__` form, freeing up these names in the function attribute " -"namespace for user-defined attributes. To wit, :attr:`!func_closure`, " -":attr:`!func_code`, :attr:`!func_defaults`, :attr:`!func_dict`, " -":attr:`!func_doc`, :attr:`!func_globals`, :attr:`!func_name` were renamed to" -" :attr:`~function.__closure__`, :attr:`~function.__code__`, " -":attr:`~function.__defaults__`, :attr:`~function.__dict__`, " -":attr:`~function.__doc__`, :attr:`~function.__globals__`, " -":attr:`~function.__name__`, respectively." -msgstr "" - -#: ../../whatsnew/3.0.rst:794 -msgid ":meth:`!__nonzero__` is now :meth:`~object.__bool__`." -msgstr "" - -#: ../../whatsnew/3.0.rst:797 -msgid "Builtins" -msgstr "" - -#: ../../whatsnew/3.0.rst:799 -msgid "" -":pep:`3135`: New :func:`super`. You can now invoke :func:`super` without " -"arguments and (assuming this is in a regular instance method defined inside " -"a :keyword:`class` statement) the right class and instance will " -"automatically be chosen. With arguments, the behavior of :func:`super` is " -"unchanged." -msgstr "" - -#: ../../whatsnew/3.0.rst:805 -msgid "" -":pep:`3111`: :func:`!raw_input` was renamed to :func:`input`. That is, the " -"new :func:`input` function reads a line from :data:`sys.stdin` and returns " -"it with the trailing newline stripped. It raises :exc:`EOFError` if the " -"input is terminated prematurely. To get the old behavior of :func:`input`, " -"use ``eval(input())``." -msgstr "" - -#: ../../whatsnew/3.0.rst:811 -msgid "" -"A new built-in function :func:`next` was added to call the " -":meth:`~iterator.__next__` method on an object." -msgstr "" - -#: ../../whatsnew/3.0.rst:814 -msgid "" -"The :func:`round` function rounding strategy and return type have changed. " -"Exact halfway cases are now rounded to the nearest even result instead of " -"away from zero. (For example, ``round(2.5)`` now returns ``2`` rather than " -"``3``.) ``round(x[, n])`` now delegates to ``x.__round__([n])`` instead of " -"always returning a float. It generally returns an integer when called with " -"a single argument and a value of the same type as ``x`` when called with two" -" arguments." -msgstr "" - -#: ../../whatsnew/3.0.rst:823 -msgid "Moved :func:`!intern` to :func:`sys.intern`." -msgstr "" - -#: ../../whatsnew/3.0.rst:825 -msgid "" -"Removed: :func:`!apply`. Instead of ``apply(f, args)`` use ``f(*args)``." -msgstr "" - -#: ../../whatsnew/3.0.rst:828 -msgid "" -"Removed :func:`callable`. Instead of ``callable(f)`` you can use " -"``isinstance(f, collections.Callable)``. The :func:`!operator.isCallable` " -"function is also gone." -msgstr "" - -#: ../../whatsnew/3.0.rst:832 -msgid "" -"Removed :func:`!coerce`. This function no longer serves a purpose now that " -"classic classes are gone." -msgstr "" - -#: ../../whatsnew/3.0.rst:835 -msgid "" -"Removed :func:`!execfile`. Instead of ``execfile(fn)`` use " -"``exec(open(fn).read())``." -msgstr "" - -#: ../../whatsnew/3.0.rst:838 -msgid "" -"Removed the :class:`!file` type. Use :func:`open`. There are now several " -"different kinds of streams that open can return in the :mod:`io` module." -msgstr "" - -#: ../../whatsnew/3.0.rst:841 -msgid "" -"Removed :func:`!reduce`. Use :func:`functools.reduce` if you really need " -"it; however, 99 percent of the time an explicit :keyword:`for` loop is more " -"readable." -msgstr "" - -#: ../../whatsnew/3.0.rst:845 -msgid "Removed :func:`!reload`. Use :func:`!imp.reload`." -msgstr "" - -#: ../../whatsnew/3.0.rst:847 -msgid "" -"Removed. :meth:`!dict.has_key` -- use the :keyword:`in` operator instead." -msgstr "" - -#: ../../whatsnew/3.0.rst:854 -msgid "Build and C API Changes" -msgstr "Perubahan Pembangunan *Build* dan API C" - -#: ../../whatsnew/3.0.rst:856 -msgid "" -"Due to time constraints, here is a *very* incomplete list of changes to the " -"C API." -msgstr "" - -#: ../../whatsnew/3.0.rst:859 -msgid "" -"Support for several platforms was dropped, including but not limited to Mac " -"OS 9, BeOS, RISCOS, Irix, and Tru64." -msgstr "" - -#: ../../whatsnew/3.0.rst:862 -msgid ":pep:`3118`: New Buffer API." -msgstr "" - -#: ../../whatsnew/3.0.rst:864 -msgid ":pep:`3121`: Extension Module Initialization & Finalization." -msgstr "" - -#: ../../whatsnew/3.0.rst:866 -msgid ":pep:`3123`: Making :c:macro:`PyObject_HEAD` conform to standard C." -msgstr "" - -#: ../../whatsnew/3.0.rst:868 -msgid "No more C API support for restricted execution." -msgstr "" - -#: ../../whatsnew/3.0.rst:870 -msgid "" -":c:func:`!PyNumber_Coerce`, :c:func:`!PyNumber_CoerceEx`, " -":c:func:`!PyMember_Get`, and :c:func:`!PyMember_Set` C APIs are removed." -msgstr "" - -#: ../../whatsnew/3.0.rst:873 -msgid "" -"New C API :c:func:`PyImport_ImportModuleNoBlock`, works like " -":c:func:`PyImport_ImportModule` but won't block on the import lock " -"(returning an error instead)." -msgstr "" - -#: ../../whatsnew/3.0.rst:877 -msgid "" -"Renamed the boolean conversion C-level slot and method: ``nb_nonzero`` is " -"now ``nb_bool``." -msgstr "" - -#: ../../whatsnew/3.0.rst:880 -msgid "" -"Removed :c:macro:`!METH_OLDARGS` and :c:macro:`!WITH_CYCLE_GC` from the C " -"API." -msgstr "" - -#: ../../whatsnew/3.0.rst:886 -msgid "Performance" -msgstr "Performa" - -#: ../../whatsnew/3.0.rst:888 -msgid "" -"The net result of the 3.0 generalizations is that Python 3.0 runs the " -"pystone benchmark around 10% slower than Python 2.5. Most likely the " -"biggest cause is the removal of special-casing for small integers. There's " -"room for improvement, but it will happen after 3.0 is released!" -msgstr "" - -#: ../../whatsnew/3.0.rst:898 -msgid "Porting To Python 3.0" -msgstr "" - -#: ../../whatsnew/3.0.rst:900 -msgid "" -"For porting existing Python 2.5 or 2.6 source code to Python 3.0, the best " -"strategy is the following:" -msgstr "" - -#: ../../whatsnew/3.0.rst:903 -msgid "(Prerequisite:) Start with excellent test coverage." -msgstr "" - -#: ../../whatsnew/3.0.rst:905 -msgid "" -"Port to Python 2.6. This should be no more work than the average port from " -"Python 2.x to Python 2.(x+1). Make sure all your tests pass." -msgstr "" - -#: ../../whatsnew/3.0.rst:909 -msgid "" -"(Still using 2.6:) Turn on the :option:`!-3` command line switch. This " -"enables warnings about features that will be removed (or change) in 3.0. " -"Run your test suite again, and fix code that you get warnings about until " -"there are no warnings left, and all your tests still pass." -msgstr "" - -#: ../../whatsnew/3.0.rst:915 -msgid "" -"Run the ``2to3`` source-to-source translator over your source code tree. " -"Run the result of the translation under Python 3.0. Manually fix up any " -"remaining issues, fixing problems until all tests pass again." -msgstr "" - -#: ../../whatsnew/3.0.rst:920 -msgid "" -"It is not recommended to try to write source code that runs unchanged under " -"both Python 2.6 and 3.0; you'd have to use a very contorted coding style, " -"e.g. avoiding ``print`` statements, metaclasses, and much more. If you are " -"maintaining a library that needs to support both Python 2.6 and Python 3.0, " -"the best approach is to modify step 3 above by editing the 2.6 version of " -"the source code and running the ``2to3`` translator again, rather than " -"editing the 3.0 version of the source code." -msgstr "" - -#: ../../whatsnew/3.0.rst:929 -msgid "" -"For porting C extensions to Python 3.0, please see :ref:`cporting-howto`." -msgstr "" diff --git a/python-newest.whatsnew--3_1/id.po b/python-newest.whatsnew--3_1/id.po deleted file mode 100644 index 8b5537e..0000000 --- a/python-newest.whatsnew--3_1/id.po +++ /dev/null @@ -1,905 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.1.rst:3 -msgid "What's New In Python 3.1" -msgstr "" - -#: ../../whatsnew/3.1.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../whatsnew/3.1.rst:5 -msgid "Raymond Hettinger" -msgstr "Raymond Hettinger" - -#: ../../whatsnew/3.1.rst:49 -msgid "" -"This article explains the new features in Python 3.1, compared to 3.0. " -"Python 3.1 was released on June 27, 2009." -msgstr "" - -#: ../../whatsnew/3.1.rst:54 -msgid "PEP 372: Ordered Dictionaries" -msgstr "" - -#: ../../whatsnew/3.1.rst:56 -msgid "" -"Regular Python dictionaries iterate over key/value pairs in arbitrary order." -" Over the years, a number of authors have written alternative " -"implementations that remember the order that the keys were originally " -"inserted. Based on the experiences from those implementations, a new " -":class:`collections.OrderedDict` class has been introduced." -msgstr "" - -#: ../../whatsnew/3.1.rst:62 -msgid "" -"The OrderedDict API is substantially the same as regular dictionaries but " -"will iterate over keys and values in a guaranteed order depending on when a " -"key was first inserted. If a new entry overwrites an existing entry, the " -"original insertion position is left unchanged. Deleting an entry and " -"reinserting it will move it to the end." -msgstr "" - -#: ../../whatsnew/3.1.rst:68 -msgid "" -"The standard library now supports use of ordered dictionaries in several " -"modules. The :mod:`configparser` module uses them by default. This lets " -"configuration files be read, modified, and then written back in their " -"original order. The *_asdict()* method for :func:`collections.namedtuple` " -"now returns an ordered dictionary with the values appearing in the same " -"order as the underlying tuple indices. The :mod:`json` module is being " -"built-out with an *object_pairs_hook* to allow OrderedDicts to be built by " -"the decoder. Support was also added for third-party tools like `PyYAML " -"`_." -msgstr "" - -#: ../../whatsnew/3.1.rst:79 -msgid ":pep:`372` - Ordered Dictionaries" -msgstr "" - -#: ../../whatsnew/3.1.rst:80 -msgid "" -"PEP written by Armin Ronacher and Raymond Hettinger. Implementation written" -" by Raymond Hettinger." -msgstr "" - -#: ../../whatsnew/3.1.rst:83 -msgid "" -"Since an ordered dictionary remembers its insertion order, it can be used in" -" conjunction with sorting to make a sorted dictionary::" -msgstr "" - -#: ../../whatsnew/3.1.rst:86 -msgid "" -">>> # regular unsorted dictionary\n" -">>> d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}\n" -"\n" -">>> # dictionary sorted by key\n" -">>> OrderedDict(sorted(d.items(), key=lambda t: t[0]))\n" -"OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])\n" -"\n" -">>> # dictionary sorted by value\n" -">>> OrderedDict(sorted(d.items(), key=lambda t: t[1]))\n" -"OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])\n" -"\n" -">>> # dictionary sorted by length of the key string\n" -">>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))\n" -"OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])" -msgstr "" - -#: ../../whatsnew/3.1.rst:101 -msgid "" -"The new sorted dictionaries maintain their sort order when entries are " -"deleted. But when new keys are added, the keys are appended to the end and " -"the sort is not maintained." -msgstr "" - -#: ../../whatsnew/3.1.rst:107 -msgid "PEP 378: Format Specifier for Thousands Separator" -msgstr "" - -#: ../../whatsnew/3.1.rst:109 -msgid "" -"The built-in :func:`format` function and the :meth:`str.format` method use a" -" mini-language that now includes a simple, non-locale aware way to format a " -"number with a thousands separator. That provides a way to humanize a " -"program's output, improving its professional appearance and readability::" -msgstr "" - -#: ../../whatsnew/3.1.rst:114 -msgid "" -">>> format(1234567, ',d')\n" -"'1,234,567'\n" -">>> format(1234567.89, ',.2f')\n" -"'1,234,567.89'\n" -">>> format(12345.6 + 8901234.12j, ',f')\n" -"'12,345.600000+8,901,234.120000j'\n" -">>> format(Decimal('1234567.89'), ',f')\n" -"'1,234,567.89'" -msgstr "" - -#: ../../whatsnew/3.1.rst:123 -msgid "" -"The supported types are :class:`int`, :class:`float`, :class:`complex` and " -":class:`decimal.Decimal`." -msgstr "" - -#: ../../whatsnew/3.1.rst:126 -msgid "" -"Discussions are underway about how to specify alternative separators like " -"dots, spaces, apostrophes, or underscores. Locale-aware applications should" -" use the existing *n* format specifier which already has some support for " -"thousands separators." -msgstr "" - -#: ../../whatsnew/3.1.rst:133 -msgid ":pep:`378` - Format Specifier for Thousands Separator" -msgstr "" - -#: ../../whatsnew/3.1.rst:134 -msgid "" -"PEP written by Raymond Hettinger and implemented by Eric Smith and Mark " -"Dickinson." -msgstr "" - -#: ../../whatsnew/3.1.rst:139 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.1.rst:141 -msgid "Some smaller changes made to the core Python language are:" -msgstr "" - -#: ../../whatsnew/3.1.rst:143 -msgid "" -"Directories and zip archives containing a :file:`__main__.py` file can now " -"be executed directly by passing their name to the interpreter. The " -"directory/zipfile is automatically inserted as the first entry in sys.path." -" (Suggestion and initial patch by Andy Chu; revised patch by Phillip J. Eby" -" and Nick Coghlan; :issue:`1739468`.)" -msgstr "" - -#: ../../whatsnew/3.1.rst:149 -msgid "" -"The :func:`int` type gained a ``bit_length`` method that returns the number " -"of bits necessary to represent its argument in binary::" -msgstr "" - -#: ../../whatsnew/3.1.rst:152 -msgid "" -">>> n = 37\n" -">>> bin(37)\n" -"'0b100101'\n" -">>> n.bit_length()\n" -"6\n" -">>> n = 2**123-1\n" -">>> n.bit_length()\n" -"123\n" -">>> (n+1).bit_length()\n" -"124" -msgstr "" - -#: ../../whatsnew/3.1.rst:163 -msgid "" -"(Contributed by Fredrik Johansson, Victor Stinner, Raymond Hettinger, and " -"Mark Dickinson; :issue:`3439`.)" -msgstr "" -"(Kontribusi dari Fredrik Johansson, Victor Stinner, Raymond Hettinger, dan " -"Mark Dickinson; :issue:`3439`.)" - -#: ../../whatsnew/3.1.rst:166 -msgid "" -"The fields in :func:`format` strings can now be automatically numbered::" -msgstr "" - -#: ../../whatsnew/3.1.rst:169 -msgid "" -">>> 'Sir {} of {}'.format('Gallahad', 'Camelot')\n" -"'Sir Gallahad of Camelot'" -msgstr "" - -#: ../../whatsnew/3.1.rst:172 -msgid "" -"Formerly, the string would have required numbered fields such as: ``'Sir {0}" -" of {1}'``." -msgstr "" - -#: ../../whatsnew/3.1.rst:175 -msgid "(Contributed by Eric Smith; :issue:`5237`.)" -msgstr "(Kontribusi dari Eric Smith; :issue:`5237`.)" - -#: ../../whatsnew/3.1.rst:177 -msgid "" -"The :func:`!string.maketrans` function is deprecated and is replaced by new " -"static methods, :meth:`bytes.maketrans` and :meth:`bytearray.maketrans`. " -"This change solves the confusion around which types were supported by the " -":mod:`string` module. Now, :class:`str`, :class:`bytes`, and " -":class:`bytearray` each have their own **maketrans** and **translate** " -"methods with intermediate translation tables of the appropriate type." -msgstr "" - -#: ../../whatsnew/3.1.rst:184 -msgid "(Contributed by Georg Brandl; :issue:`5675`.)" -msgstr "(Kontribusi dari Georg Brandl; :issue:`5675`.)" - -#: ../../whatsnew/3.1.rst:186 -msgid "" -"The syntax of the :keyword:`with` statement now allows multiple context " -"managers in a single statement::" -msgstr "" - -#: ../../whatsnew/3.1.rst:189 -msgid "" -">>> with open('mylog.txt') as infile, open('a.out', 'w') as outfile:\n" -"... for line in infile:\n" -"... if '' in line:\n" -"... outfile.write(line)" -msgstr "" - -#: ../../whatsnew/3.1.rst:194 -msgid "" -"With the new syntax, the :func:`!contextlib.nested` function is no longer " -"needed and is now deprecated." -msgstr "" - -#: ../../whatsnew/3.1.rst:197 -msgid "" -"(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " -"`_.)" -msgstr "" -"(Kontribusi dari Georg Brandl dan Mattias Brändström; `appspot issue 53094 " -"`_.)" - -#: ../../whatsnew/3.1.rst:200 -msgid "" -"``round(x, n)`` now returns an integer if *x* is an integer. Previously it " -"returned a float::" -msgstr "" - -#: ../../whatsnew/3.1.rst:203 -msgid "" -">>> round(1123, -2)\n" -"1100" -msgstr "" - -#: ../../whatsnew/3.1.rst:206 -msgid "(Contributed by Mark Dickinson; :issue:`4707`.)" -msgstr "(Kontribusi dari Mark Dickinson; :issue:`4707`.)" - -#: ../../whatsnew/3.1.rst:208 -msgid "" -"Python now uses David Gay's algorithm for finding the shortest floating-" -"point representation that doesn't change its value. This should help " -"mitigate some of the confusion surrounding binary floating-point numbers." -msgstr "" - -#: ../../whatsnew/3.1.rst:213 -msgid "" -"The significance is easily seen with a number like ``1.1`` which does not " -"have an exact equivalent in binary floating point. Since there is no exact " -"equivalent, an expression like ``float('1.1')`` evaluates to the nearest " -"representable value which is ``0x1.199999999999ap+0`` in hex or " -"``1.100000000000000088817841970012523233890533447265625`` in decimal. That " -"nearest value was and still is used in subsequent floating-point " -"calculations." -msgstr "" - -#: ../../whatsnew/3.1.rst:221 -msgid "" -"What is new is how the number gets displayed. Formerly, Python used a " -"simple approach. The value of ``repr(1.1)`` was computed as ``format(1.1, " -"'.17g')`` which evaluated to ``'1.1000000000000001'``. The advantage of " -"using 17 digits was that it relied on IEEE-754 guarantees to assure that " -"``eval(repr(1.1))`` would round-trip exactly to its original value. The " -"disadvantage is that many people found the output to be confusing (mistaking" -" intrinsic limitations of binary floating-point representation as being a " -"problem with Python itself)." -msgstr "" - -#: ../../whatsnew/3.1.rst:230 -msgid "" -"The new algorithm for ``repr(1.1)`` is smarter and returns ``'1.1'``. " -"Effectively, it searches all equivalent string representations (ones that " -"get stored with the same underlying float value) and returns the shortest " -"representation." -msgstr "" - -#: ../../whatsnew/3.1.rst:235 -msgid "" -"The new algorithm tends to emit cleaner representations when possible, but " -"it does not change the underlying values. So, it is still the case that " -"``1.1 + 2.2 != 3.3`` even though the representations may suggest otherwise." -msgstr "" - -#: ../../whatsnew/3.1.rst:239 -msgid "" -"The new algorithm depends on certain features in the underlying floating-" -"point implementation. If the required features are not found, the old " -"algorithm will continue to be used. Also, the text pickle protocols assure " -"cross-platform portability by using the old algorithm." -msgstr "" - -#: ../../whatsnew/3.1.rst:244 -msgid "(Contributed by Eric Smith and Mark Dickinson; :issue:`1580`)" -msgstr "(Kontribusi dari Eric Smith dan Mark Dickinson; :issue:`1580`)" - -#: ../../whatsnew/3.1.rst:247 -msgid "New, Improved, and Deprecated Modules" -msgstr "" - -#: ../../whatsnew/3.1.rst:249 -msgid "" -"Added a :class:`collections.Counter` class to support convenient counting of" -" unique items in a sequence or iterable::" -msgstr "" - -#: ../../whatsnew/3.1.rst:252 -msgid "" -">>> Counter(['red', 'blue', 'red', 'green', 'blue', 'blue'])\n" -"Counter({'blue': 3, 'red': 2, 'green': 1})" -msgstr "" - -#: ../../whatsnew/3.1.rst:255 -msgid "(Contributed by Raymond Hettinger; :issue:`1696199`.)" -msgstr "(Kontribusi dari Raymond Hettinger; :issue:`1696199`.)" - -#: ../../whatsnew/3.1.rst:257 -msgid "" -"Added a new module, :mod:`tkinter.ttk` for access to the Tk themed widget " -"set. The basic idea of ttk is to separate, to the extent possible, the code " -"implementing a widget's behavior from the code implementing its appearance." -msgstr "" - -#: ../../whatsnew/3.1.rst:261 -msgid "(Contributed by Guilherme Polo; :issue:`2983`.)" -msgstr "(Kontribusi dari Guilherme Polo; :issue:`2983`.)" - -#: ../../whatsnew/3.1.rst:263 -msgid "" -"The :class:`gzip.GzipFile` and :class:`bz2.BZ2File` classes now support the " -"context management protocol::" -msgstr "" - -#: ../../whatsnew/3.1.rst:266 -msgid "" -">>> # Automatically close file after writing\n" -">>> with gzip.GzipFile(filename, \"wb\") as f:\n" -"... f.write(b\"xxx\")" -msgstr "" - -#: ../../whatsnew/3.1.rst:270 -msgid "(Contributed by Antoine Pitrou.)" -msgstr "(Kontribusi dari Antoine Pitrou.)" - -#: ../../whatsnew/3.1.rst:272 -msgid "" -"The :mod:`decimal` module now supports methods for creating a decimal object" -" from a binary :class:`float`. The conversion is exact but can sometimes be" -" surprising::" -msgstr "" - -#: ../../whatsnew/3.1.rst:276 -msgid "" -">>> Decimal.from_float(1.1)\n" -"Decimal('1.100000000000000088817841970012523233890533447265625')" -msgstr "" - -#: ../../whatsnew/3.1.rst:279 -msgid "" -"The long decimal result shows the actual binary fraction being stored for " -"*1.1*. The fraction has many digits because *1.1* cannot be exactly " -"represented in binary." -msgstr "" - -#: ../../whatsnew/3.1.rst:283 -msgid "(Contributed by Raymond Hettinger and Mark Dickinson.)" -msgstr "(Kontribusi dari Raymond Hettinger dan Mark Dickinson.)" - -#: ../../whatsnew/3.1.rst:285 -msgid "" -"The :mod:`itertools` module grew two new functions. The " -":func:`itertools.combinations_with_replacement` function is one of four for " -"generating combinatorics including permutations and Cartesian products. The" -" :func:`itertools.compress` function mimics its namesake from APL. Also, " -"the existing :func:`itertools.count` function now has an optional *step* " -"argument and can accept any type of counting sequence including " -":class:`fractions.Fraction` and :class:`decimal.Decimal`::" -msgstr "" - -#: ../../whatsnew/3.1.rst:294 -msgid "" -">>> [p+q for p,q in combinations_with_replacement('LOVE', 2)]\n" -"['LL', 'LO', 'LV', 'LE', 'OO', 'OV', 'OE', 'VV', 'VE', 'EE']\n" -"\n" -">>> list(compress(data=range(10), selectors=[0,0,1,1,0,1,0,1,0,0]))\n" -"[2, 3, 5, 7]\n" -"\n" -">>> c = count(start=Fraction(1,2), step=Fraction(1,6))\n" -">>> [next(c), next(c), next(c), next(c)]\n" -"[Fraction(1, 2), Fraction(2, 3), Fraction(5, 6), Fraction(1, 1)]" -msgstr "" - -#: ../../whatsnew/3.1.rst:304 -msgid "(Contributed by Raymond Hettinger.)" -msgstr "(Kontribusi dari Raymond Hettinger.)" - -#: ../../whatsnew/3.1.rst:306 -msgid "" -":func:`collections.namedtuple` now supports a keyword argument *rename* " -"which lets invalid fieldnames be automatically converted to positional names" -" in the form _0, _1, etc. This is useful when the field names are being " -"created by an external source such as a CSV header, SQL field list, or user " -"input::" -msgstr "" - -#: ../../whatsnew/3.1.rst:312 -msgid "" -">>> query = input()\n" -"SELECT region, dept, count(*) FROM main GROUPBY region, dept\n" -"\n" -">>> cursor.execute(query)\n" -">>> query_fields = [desc[0] for desc in cursor.description]\n" -">>> UserQuery = namedtuple('UserQuery', query_fields, rename=True)\n" -">>> pprint.pprint([UserQuery(*row) for row in cursor])\n" -"[UserQuery(region='South', dept='Shipping', _2=185),\n" -" UserQuery(region='North', dept='Accounting', _2=37),\n" -" UserQuery(region='West', dept='Sales', _2=419)]" -msgstr "" - -#: ../../whatsnew/3.1.rst:323 -msgid "(Contributed by Raymond Hettinger; :issue:`1818`.)" -msgstr "(Kontribusi dari Raymond Hettinger; :issue:`1818`.)" - -#: ../../whatsnew/3.1.rst:325 -msgid "" -"The :func:`re.sub`, :func:`re.subn` and :func:`re.split` functions now " -"accept a flags parameter." -msgstr "" - -#: ../../whatsnew/3.1.rst:328 -msgid "(Contributed by Gregory Smith.)" -msgstr "(Kontribusi dari Gregory Smith.)" - -#: ../../whatsnew/3.1.rst:330 -msgid "" -"The :mod:`logging` module now implements a simple " -":class:`logging.NullHandler` class for applications that are not using " -"logging but are calling library code that does. Setting-up a null handler " -"will suppress spurious warnings such as \"No handlers could be found for " -"logger foo\"::" -msgstr "" - -#: ../../whatsnew/3.1.rst:335 -msgid "" -">>> h = logging.NullHandler()\n" -">>> logging.getLogger(\"foo\").addHandler(h)" -msgstr "" - -#: ../../whatsnew/3.1.rst:338 -msgid "(Contributed by Vinay Sajip; :issue:`4384`)." -msgstr "(Kontribusi dari Vinay Sajip; :issue:`4384`)." - -#: ../../whatsnew/3.1.rst:340 -msgid "" -"The :mod:`runpy` module which supports the ``-m`` command line switch now " -"supports the execution of packages by looking for and executing a " -"``__main__`` submodule when a package name is supplied." -msgstr "" - -#: ../../whatsnew/3.1.rst:344 -msgid "(Contributed by Andi Vajda; :issue:`4195`.)" -msgstr "(Kontribusi dari Andi Vajda; :issue:`4195`.)" - -#: ../../whatsnew/3.1.rst:346 -msgid "" -"The :mod:`pdb` module can now access and display source code loaded via " -":mod:`zipimport` (or any other conformant :pep:`302` loader)." -msgstr "" - -#: ../../whatsnew/3.1.rst:349 -msgid "(Contributed by Alexander Belopolsky; :issue:`4201`.)" -msgstr "(Kontribusi dari Alexander Belopolsky; :issue:`4201`.)" - -#: ../../whatsnew/3.1.rst:351 -msgid ":class:`functools.partial` objects can now be pickled." -msgstr "" - -#: ../../whatsnew/3.1.rst:353 -msgid "" -"(Suggested by Antoine Pitrou and Jesse Noller. Implemented by Jack " -"Diederich; :issue:`5228`.)" -msgstr "" - -#: ../../whatsnew/3.1.rst:356 -msgid "" -"Add :mod:`pydoc` help topics for symbols so that ``help('@')`` works as " -"expected in the interactive environment." -msgstr "" - -#: ../../whatsnew/3.1.rst:359 -msgid "(Contributed by David Laban; :issue:`4739`.)" -msgstr "(Kontribusi dari David Laban; :issue:`4739`.)" - -#: ../../whatsnew/3.1.rst:361 -msgid "" -"The :mod:`unittest` module now supports skipping individual tests or classes" -" of tests. And it supports marking a test as an expected failure, a test " -"that is known to be broken, but shouldn't be counted as a failure on a " -"TestResult::" -msgstr "" - -#: ../../whatsnew/3.1.rst:366 -msgid "" -"class TestGizmo(unittest.TestCase):\n" -"\n" -" @unittest.skipUnless(sys.platform.startswith(\"win\"), \"requires Windows\")\n" -" def test_gizmo_on_windows(self):\n" -" ...\n" -"\n" -" @unittest.expectedFailure\n" -" def test_gimzo_without_required_library(self):\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.1.rst:376 -msgid "" -"Also, tests for exceptions have been builtout to work with context managers " -"using the :keyword:`with` statement::" -msgstr "" - -#: ../../whatsnew/3.1.rst:379 -msgid "" -"def test_division_by_zero(self):\n" -" with self.assertRaises(ZeroDivisionError):\n" -" x / 0" -msgstr "" - -#: ../../whatsnew/3.1.rst:383 -msgid "" -"In addition, several new assertion methods were added including " -":meth:`~unittest.TestCase.assertSetEqual`, " -":meth:`~unittest.TestCase.assertDictEqual`, " -":meth:`!assertDictContainsSubset`, " -":meth:`~unittest.TestCase.assertListEqual`, " -":meth:`~unittest.TestCase.assertTupleEqual`, " -":meth:`~unittest.TestCase.assertSequenceEqual`, :meth:`assertRaisesRegexp() " -"`, " -":meth:`~unittest.TestCase.assertIsNone`, and " -":meth:`~unittest.TestCase.assertIsNotNone`." -msgstr "" - -#: ../../whatsnew/3.1.rst:394 -msgid "(Contributed by Benjamin Peterson and Antoine Pitrou.)" -msgstr "(Kontribusi dari Benjamin Peterson dan Antoine Pitrou.)" - -#: ../../whatsnew/3.1.rst:396 -msgid "" -"The :mod:`io` module has three new constants for the :meth:`~io.IOBase.seek`" -" method: :data:`~os.SEEK_SET`, :data:`~os.SEEK_CUR`, and " -":data:`~os.SEEK_END`." -msgstr "" - -#: ../../whatsnew/3.1.rst:399 -msgid "The :data:`sys.version_info` tuple is now a named tuple::" -msgstr "" - -#: ../../whatsnew/3.1.rst:401 -msgid "" -">>> sys.version_info\n" -"sys.version_info(major=3, minor=1, micro=0, releaselevel='alpha', serial=2)" -msgstr "" - -#: ../../whatsnew/3.1.rst:404 -msgid "(Contributed by Ross Light; :issue:`4285`.)" -msgstr "(Kontribusi dari Ross Light; :issue:`4285`.)" - -#: ../../whatsnew/3.1.rst:406 -msgid "The :mod:`!nntplib` and :mod:`imaplib` modules now support IPv6." -msgstr "" - -#: ../../whatsnew/3.1.rst:408 -msgid "(Contributed by Derek Morr; :issue:`1655` and :issue:`1664`.)" -msgstr "(Kontribusi dari Derek Morr; :issue:`1655` dan :issue:`1664`.)" - -#: ../../whatsnew/3.1.rst:410 -msgid "" -"The :mod:`pickle` module has been adapted for better interoperability with " -"Python 2.x when used with protocol 2 or lower. The reorganization of the " -"standard library changed the formal reference for many objects. For " -"example, ``__builtin__.set`` in Python 2 is called ``builtins.set`` in " -"Python 3. This change confounded efforts to share data between different " -"versions of Python. But now when protocol 2 or lower is selected, the " -"pickler will automatically use the old Python 2 names for both loading and " -"dumping. This remapping is turned-on by default but can be disabled with the" -" *fix_imports* option::" -msgstr "" - -#: ../../whatsnew/3.1.rst:420 -msgid "" -">>> s = {1, 2, 3}\n" -">>> pickle.dumps(s, protocol=0)\n" -"b'c__builtin__\\nset\\np0\\n((lp1\\nL1L\\naL2L\\naL3L\\natp2\\nRp3\\n.'\n" -">>> pickle.dumps(s, protocol=0, fix_imports=False)\n" -"b'cbuiltins\\nset\\np0\\n((lp1\\nL1L\\naL2L\\naL3L\\natp2\\nRp3\\n.'" -msgstr "" - -#: ../../whatsnew/3.1.rst:426 -msgid "" -"An unfortunate but unavoidable side-effect of this change is that protocol 2" -" pickles produced by Python 3.1 won't be readable with Python 3.0. The " -"latest pickle protocol, protocol 3, should be used when migrating data " -"between Python 3.x implementations, as it doesn't attempt to remain " -"compatible with Python 2.x." -msgstr "" - -#: ../../whatsnew/3.1.rst:432 -msgid "" -"(Contributed by Alexandre Vassalotti and Antoine Pitrou, :issue:`6137`.)" -msgstr "" -"(Kontribusi dari Alexandre Vassalotti dan Antoine Pitrou, :issue:`6137`.)" - -#: ../../whatsnew/3.1.rst:434 -msgid "" -"A new module, :mod:`importlib` was added. It provides a complete, portable," -" pure Python reference implementation of the :keyword:`import` statement and" -" its counterpart, the :func:`__import__` function. It represents a " -"substantial step forward in documenting and defining the actions that take " -"place during imports." -msgstr "" - -#: ../../whatsnew/3.1.rst:440 -msgid "(Contributed by Brett Cannon.)" -msgstr "(Kontribusi dari Brett Cannon.)" - -#: ../../whatsnew/3.1.rst:443 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.1.rst:445 -msgid "Major performance enhancements have been added:" -msgstr "" - -#: ../../whatsnew/3.1.rst:447 -msgid "" -"The new I/O library (as defined in :pep:`3116`) was mostly written in Python" -" and quickly proved to be a problematic bottleneck in Python 3.0. In Python " -"3.1, the I/O library has been entirely rewritten in C and is 2 to 20 times " -"faster depending on the task at hand. The pure Python version is still " -"available for experimentation purposes through the ``_pyio`` module." -msgstr "" - -#: ../../whatsnew/3.1.rst:454 -msgid "(Contributed by Amaury Forgeot d'Arc and Antoine Pitrou.)" -msgstr "(Kontribusi dari Amaury Forgeot d'Arc dan Antoine Pitrou.)" - -#: ../../whatsnew/3.1.rst:456 -msgid "" -"Added a heuristic so that tuples and dicts containing only untrackable " -"objects are not tracked by the garbage collector. This can reduce the size " -"of collections and therefore the garbage collection overhead on long-running" -" programs, depending on their particular use of datatypes." -msgstr "" - -#: ../../whatsnew/3.1.rst:461 -msgid "(Contributed by Antoine Pitrou, :issue:`4688`.)" -msgstr "(Kontribusi dari Antoine Pitrou, :issue:`4688`.)" - -#: ../../whatsnew/3.1.rst:463 -msgid "" -"Enabling a configure option named ``--with-computed-gotos`` on compilers " -"that support it (notably: gcc, SunPro, icc), the bytecode evaluation loop is" -" compiled with a new dispatch mechanism which gives speedups of up to 20%, " -"depending on the system, the compiler, and the benchmark." -msgstr "" - -#: ../../whatsnew/3.1.rst:469 -msgid "" -"(Contributed by Antoine Pitrou along with a number of other participants, " -":issue:`4753`)." -msgstr "" -"(Kontribusi dari Antoine Pitrou bersama sejumlah peserta lainnya, " -":issue:`4753`)." - -#: ../../whatsnew/3.1.rst:472 -msgid "" -"The decoding of UTF-8, UTF-16 and LATIN-1 is now two to four times faster." -msgstr "" - -#: ../../whatsnew/3.1.rst:475 -msgid "" -"(Contributed by Antoine Pitrou and Amaury Forgeot d'Arc, :issue:`4868`.)" -msgstr "" -"(Kontribusi dari Antoine Pitrou dan Amaury Forgeot d'Arc, :issue:`4868`.)" - -#: ../../whatsnew/3.1.rst:477 -msgid "" -"The :mod:`json` module now has a C extension to substantially improve its " -"performance. In addition, the API was modified so that json works only with" -" :class:`str`, not with :class:`bytes`. That change makes the module " -"closely match the `JSON specification `_ which is defined" -" in terms of Unicode." -msgstr "" - -#: ../../whatsnew/3.1.rst:483 -msgid "" -"(Contributed by Bob Ippolito and converted to Py3.1 by Antoine Pitrou and " -"Benjamin Peterson; :issue:`4136`.)" -msgstr "" -"(Kontribusi dari Bob Ippolito dan diubah ke Py3.1 oleh Antoine Pitrou dan " -"Benjamin Peterson; :issue:`4136`.)" - -#: ../../whatsnew/3.1.rst:486 -msgid "" -"Unpickling now interns the attribute names of pickled objects. This saves " -"memory and allows pickles to be smaller." -msgstr "" - -#: ../../whatsnew/3.1.rst:489 -msgid "(Contributed by Jake McGuire and Antoine Pitrou; :issue:`5084`.)" -msgstr "(Kontribusi dari Jake McGuire dan Antoine Pitrou; :issue:`5084`.)" - -#: ../../whatsnew/3.1.rst:492 -msgid "IDLE" -msgstr "IDLE" - -#: ../../whatsnew/3.1.rst:494 -msgid "" -"IDLE's format menu now provides an option to strip trailing whitespace from " -"a source file." -msgstr "" - -#: ../../whatsnew/3.1.rst:497 -msgid "(Contributed by Roger D. Serwy; :issue:`5150`.)" -msgstr "(Kontribusi dari Roger D. Serwy; :issue:`5150`.)" - -#: ../../whatsnew/3.1.rst:500 -msgid "Build and C API Changes" -msgstr "Perubahan Pembangunan *Build* dan API C" - -#: ../../whatsnew/3.1.rst:502 -msgid "Changes to Python's build process and to the C API include:" -msgstr "" - -#: ../../whatsnew/3.1.rst:504 -msgid "" -"Integers are now stored internally either in base ``2**15`` or in base " -"``2**30``, the base being determined at build time. Previously, they were " -"always stored in base ``2**15``. Using base ``2**30`` gives significant " -"performance improvements on 64-bit machines, but benchmark results on 32-bit" -" machines have been mixed. Therefore, the default is to use base ``2**30`` " -"on 64-bit machines and base ``2**15`` on 32-bit machines; on Unix, there's a" -" new configure option ``--enable-big-digits`` that can be used to override " -"this default." -msgstr "" - -#: ../../whatsnew/3.1.rst:513 -msgid "" -"Apart from the performance improvements this change should be invisible to " -"end users, with one exception: for testing and debugging purposes there's a " -"new :data:`sys.int_info` that provides information about the internal " -"format, giving the number of bits per digit and the size in bytes of the C " -"type used to store each digit::" -msgstr "" - -#: ../../whatsnew/3.1.rst:519 -msgid "" -">>> import sys\n" -">>> sys.int_info\n" -"sys.int_info(bits_per_digit=30, sizeof_digit=4)" -msgstr "" - -#: ../../whatsnew/3.1.rst:523 -msgid "(Contributed by Mark Dickinson; :issue:`4258`.)" -msgstr "(Kontribusi dari Mark Dickinson; :issue:`4258`.)" - -#: ../../whatsnew/3.1.rst:525 -msgid "" -"The :c:func:`PyLong_AsUnsignedLongLong()` function now handles a negative " -"*pylong* by raising :exc:`OverflowError` instead of :exc:`TypeError`." -msgstr "" - -#: ../../whatsnew/3.1.rst:528 -msgid "(Contributed by Mark Dickinson and Lisandro Dalcrin; :issue:`5175`.)" -msgstr "(Kontribusi dari Mark Dickinson dan Lisandro Dalcrin; :issue:`5175`.)" - -#: ../../whatsnew/3.1.rst:530 -msgid "" -"Deprecated :c:func:`!PyNumber_Int`. Use :c:func:`PyNumber_Long` instead." -msgstr "" - -#: ../../whatsnew/3.1.rst:532 -msgid "(Contributed by Mark Dickinson; :issue:`4910`.)" -msgstr "(Kontribusi dari Mark Dickinson; :issue:`4910`.)" - -#: ../../whatsnew/3.1.rst:534 -msgid "" -"Added a new :c:func:`PyOS_string_to_double` function to replace the " -"deprecated functions :c:func:`!PyOS_ascii_strtod` and " -":c:func:`!PyOS_ascii_atof`." -msgstr "" - -#: ../../whatsnew/3.1.rst:537 -msgid "(Contributed by Mark Dickinson; :issue:`5914`.)" -msgstr "(Kontribusi dari Mark Dickinson; :issue:`5914`.)" - -#: ../../whatsnew/3.1.rst:539 -msgid "" -"Added :c:type:`PyCapsule` as a replacement for the :c:type:`!PyCObject` API." -" The principal difference is that the new type has a well defined interface " -"for passing typing safety information and a less complicated signature for " -"calling a destructor. The old type had a problematic API and is now " -"deprecated." -msgstr "" - -#: ../../whatsnew/3.1.rst:545 -msgid "(Contributed by Larry Hastings; :issue:`5630`.)" -msgstr "(Kontribusi dari Larry Hastings; :issue:`5630`.)" - -#: ../../whatsnew/3.1.rst:548 -msgid "Porting to Python 3.1" -msgstr "" - -#: ../../whatsnew/3.1.rst:550 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code:" -msgstr "" - -#: ../../whatsnew/3.1.rst:553 -msgid "" -"The new floating-point string representations can break existing doctests. " -"For example::" -msgstr "" - -#: ../../whatsnew/3.1.rst:556 -msgid "" -"def e():\n" -" '''Compute the base of natural logarithms.\n" -"\n" -" >>> e()\n" -" 2.7182818284590451\n" -"\n" -" '''\n" -" return sum(1/math.factorial(x) for x in reversed(range(30)))\n" -"\n" -"doctest.testmod()\n" -"\n" -"**********************************************************************\n" -"Failed example:\n" -" e()\n" -"Expected:\n" -" 2.7182818284590451\n" -"Got:\n" -" 2.718281828459045\n" -"**********************************************************************" -msgstr "" - -#: ../../whatsnew/3.1.rst:576 -msgid "" -"The automatic name remapping in the pickle module for protocol 2 or lower " -"can make Python 3.1 pickles unreadable in Python 3.0. One solution is to " -"use protocol 3. Another solution is to set the *fix_imports* option to " -"``False``. See the discussion above for more details." -msgstr "" diff --git a/python-newest.whatsnew--3_10/id.po b/python-newest.whatsnew--3_10/id.po deleted file mode 100644 index 3f32a89..0000000 --- a/python-newest.whatsnew--3_10/id.po +++ /dev/null @@ -1,3620 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2021 -# Elmo , 2021 -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.10.rst:3 -msgid "What's New In Python 3.10" -msgstr "" - -#: ../../whatsnew/3.10.rst:0 -msgid "Editor" -msgstr "Editor" - -#: ../../whatsnew/3.10.rst:5 -msgid "Pablo Galindo Salgado" -msgstr "" - -#: ../../whatsnew/3.10.rst:47 -msgid "" -"This article explains the new features in Python 3.10, compared to 3.9. " -"Python 3.10 was released on October 4, 2021. For full details, see the " -":ref:`changelog `." -msgstr "" - -#: ../../whatsnew/3.10.rst:52 -msgid "Summary -- Release highlights" -msgstr "Ringkasan -- Sorotan Rilis" - -#: ../../whatsnew/3.10.rst:60 -msgid "New syntax features:" -msgstr "Fitur sintaks baru:" - -#: ../../whatsnew/3.10.rst:62 -msgid ":pep:`634`, Structural Pattern Matching: Specification" -msgstr "" - -#: ../../whatsnew/3.10.rst:63 -msgid ":pep:`635`, Structural Pattern Matching: Motivation and Rationale" -msgstr "" - -#: ../../whatsnew/3.10.rst:64 -msgid ":pep:`636`, Structural Pattern Matching: Tutorial" -msgstr "" - -#: ../../whatsnew/3.10.rst:65 -msgid "" -":issue:`12782`, Parenthesized context managers are now officially allowed." -msgstr "" - -#: ../../whatsnew/3.10.rst:67 -msgid "New features in the standard library:" -msgstr "Fitur baru di pustaka standar:" - -#: ../../whatsnew/3.10.rst:69 -msgid ":pep:`618`, Add Optional Length-Checking To zip." -msgstr "" - -#: ../../whatsnew/3.10.rst:71 -msgid "Interpreter improvements:" -msgstr "Peningkatan Interpreter:" - -#: ../../whatsnew/3.10.rst:73 -msgid ":pep:`626`, Precise line numbers for debugging and other tools." -msgstr "" - -#: ../../whatsnew/3.10.rst:75 -msgid "New typing features:" -msgstr "" - -#: ../../whatsnew/3.10.rst:77 -msgid ":pep:`604`, Allow writing union types as X | Y" -msgstr "" - -#: ../../whatsnew/3.10.rst:78 -msgid ":pep:`612`, Parameter Specification Variables" -msgstr "" - -#: ../../whatsnew/3.10.rst:79 -msgid ":pep:`613`, Explicit Type Aliases" -msgstr "" - -#: ../../whatsnew/3.10.rst:80 -msgid ":pep:`647`, User-Defined Type Guards" -msgstr "" - -#: ../../whatsnew/3.10.rst:82 -msgid "Important deprecations, removals or restrictions:" -msgstr "" - -#: ../../whatsnew/3.10.rst:84 -msgid ":pep:`644`, Require OpenSSL 1.1.1 or newer" -msgstr "" - -#: ../../whatsnew/3.10.rst:85 -msgid ":pep:`632`, Deprecate distutils module." -msgstr "" - -#: ../../whatsnew/3.10.rst:86 -msgid "" -":pep:`623`, Deprecate and prepare for the removal of the wstr member in " -"PyUnicodeObject." -msgstr "" - -#: ../../whatsnew/3.10.rst:87 -msgid ":pep:`624`, Remove Py_UNICODE encoder APIs" -msgstr "" - -#: ../../whatsnew/3.10.rst:88 -msgid ":pep:`597`, Add optional EncodingWarning" -msgstr "" - -#: ../../whatsnew/3.10.rst:92 ../../whatsnew/3.10.rst:2053 -msgid "New Features" -msgstr "Fitur-fitur Baru" - -#: ../../whatsnew/3.10.rst:97 -msgid "Parenthesized context managers" -msgstr "" - -#: ../../whatsnew/3.10.rst:99 -msgid "" -"Using enclosing parentheses for continuation across multiple lines in " -"context managers is now supported. This allows formatting a long collection " -"of context managers in multiple lines in a similar way as it was previously " -"possible with import statements. For instance, all these examples are now " -"valid:" -msgstr "" - -#: ../../whatsnew/3.10.rst:105 -msgid "" -"with (CtxManager() as example):\n" -" ...\n" -"\n" -"with (\n" -" CtxManager1(),\n" -" CtxManager2()\n" -"):\n" -" ...\n" -"\n" -"with (CtxManager1() as example,\n" -" CtxManager2()):\n" -" ...\n" -"\n" -"with (CtxManager1(),\n" -" CtxManager2() as example):\n" -" ...\n" -"\n" -"with (\n" -" CtxManager1() as example1,\n" -" CtxManager2() as example2\n" -"):\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.10.rst:130 -msgid "" -"it is also possible to use a trailing comma at the end of the enclosed " -"group:" -msgstr "" - -#: ../../whatsnew/3.10.rst:133 -msgid "" -"with (\n" -" CtxManager1() as example1,\n" -" CtxManager2() as example2,\n" -" CtxManager3() as example3,\n" -"):\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.10.rst:142 -msgid "" -"This new syntax uses the non LL(1) capacities of the new parser. Check " -":pep:`617` for more details." -msgstr "" - -#: ../../whatsnew/3.10.rst:145 -msgid "" -"(Contributed by Guido van Rossum, Pablo Galindo and Lysandros Nikolaou in " -":issue:`12782` and :issue:`40334`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:150 -msgid "Better error messages" -msgstr "" - -#: ../../whatsnew/3.10.rst:153 -msgid "SyntaxErrors" -msgstr "" - -#: ../../whatsnew/3.10.rst:155 -msgid "" -"When parsing code that contains unclosed parentheses or brackets the " -"interpreter now includes the location of the unclosed bracket of parentheses" -" instead of displaying *SyntaxError: unexpected EOF while parsing* or " -"pointing to some incorrect location. For instance, consider the following " -"code (notice the unclosed '{'):" -msgstr "" - -#: ../../whatsnew/3.10.rst:160 -msgid "" -"expected = {9: 1, 18: 2, 19: 2, 27: 3, 28: 3, 29: 3, 36: 4, 37: 4,\n" -" 38: 4, 39: 4, 45: 5, 46: 5, 47: 5, 48: 5, 49: 5, 54: 6,\n" -"some_other_code = foo()" -msgstr "" - -#: ../../whatsnew/3.10.rst:166 -msgid "" -"Previous versions of the interpreter reported confusing places as the " -"location of the syntax error:" -msgstr "" - -#: ../../whatsnew/3.10.rst:169 -msgid "" -"File \"example.py\", line 3\n" -" some_other_code = foo()\n" -" ^\n" -"SyntaxError: invalid syntax" -msgstr "" - -#: ../../whatsnew/3.10.rst:176 -msgid "but in Python 3.10 a more informative error is emitted:" -msgstr "" - -#: ../../whatsnew/3.10.rst:178 -msgid "" -"File \"example.py\", line 1\n" -" expected = {9: 1, 18: 2, 19: 2, 27: 3, 28: 3, 29: 3, 36: 4, 37: 4,\n" -" ^\n" -"SyntaxError: '{' was never closed" -msgstr "" - -#: ../../whatsnew/3.10.rst:186 -msgid "" -"In a similar way, errors involving unclosed string literals (single and " -"triple quoted) now point to the start of the string instead of reporting " -"EOF/EOL." -msgstr "" - -#: ../../whatsnew/3.10.rst:189 -msgid "" -"These improvements are inspired by previous work in the PyPy interpreter." -msgstr "" - -#: ../../whatsnew/3.10.rst:191 -msgid "" -"(Contributed by Pablo Galindo in :issue:`42864` and Batuhan Taskaya in " -":issue:`40176`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:194 -msgid "" -":exc:`SyntaxError` exceptions raised by the interpreter will now highlight " -"the full error range of the expression that constitutes the syntax error " -"itself, instead of just where the problem is detected. In this way, instead " -"of displaying (before Python 3.10):" -msgstr "" - -#: ../../whatsnew/3.10.rst:199 -msgid "" -">>> foo(x, z for z in range(10), t, w)\n" -" File \"\", line 1\n" -" foo(x, z for z in range(10), t, w)\n" -" ^\n" -"SyntaxError: Generator expression must be parenthesized" -msgstr "" - -#: ../../whatsnew/3.10.rst:207 -msgid "now Python 3.10 will display the exception as:" -msgstr "" - -#: ../../whatsnew/3.10.rst:209 -msgid "" -">>> foo(x, z for z in range(10), t, w)\n" -" File \"\", line 1\n" -" foo(x, z for z in range(10), t, w)\n" -" ^^^^^^^^^^^^^^^^^^^^\n" -"SyntaxError: Generator expression must be parenthesized" -msgstr "" - -#: ../../whatsnew/3.10.rst:217 -msgid "This improvement was contributed by Pablo Galindo in :issue:`43914`." -msgstr "" - -#: ../../whatsnew/3.10.rst:219 -msgid "" -"A considerable amount of new specialized messages for :exc:`SyntaxError` " -"exceptions have been incorporated. Some of the most notable ones are as " -"follows:" -msgstr "" - -#: ../../whatsnew/3.10.rst:222 -msgid "Missing ``:`` before blocks:" -msgstr "" - -#: ../../whatsnew/3.10.rst:224 -msgid "" -">>> if rocket.position > event_horizon\n" -" File \"\", line 1\n" -" if rocket.position > event_horizon\n" -" ^\n" -"SyntaxError: expected ':'" -msgstr "" - -#: ../../whatsnew/3.10.rst:232 -msgid "(Contributed by Pablo Galindo in :issue:`42997`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:234 -msgid "Unparenthesised tuples in comprehensions targets:" -msgstr "" - -#: ../../whatsnew/3.10.rst:236 -msgid "" -">>> {x,y for x,y in zip('abcd', '1234')}\n" -" File \"\", line 1\n" -" {x,y for x,y in zip('abcd', '1234')}\n" -" ^\n" -"SyntaxError: did you forget parentheses around the comprehension target?" -msgstr "" - -#: ../../whatsnew/3.10.rst:244 -msgid "(Contributed by Pablo Galindo in :issue:`43017`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:246 -msgid "Missing commas in collection literals and between expressions:" -msgstr "" - -#: ../../whatsnew/3.10.rst:248 -msgid "" -">>> items = {\n" -"... x: 1,\n" -"... y: 2\n" -"... z: 3,\n" -" File \"\", line 3\n" -" y: 2\n" -" ^\n" -"SyntaxError: invalid syntax. Perhaps you forgot a comma?" -msgstr "" - -#: ../../whatsnew/3.10.rst:259 -msgid "(Contributed by Pablo Galindo in :issue:`43822`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:261 -msgid "Multiple Exception types without parentheses:" -msgstr "" - -#: ../../whatsnew/3.10.rst:263 -msgid "" -">>> try:\n" -"... build_dyson_sphere()\n" -"... except NotEnoughScienceError, NotEnoughResourcesError:\n" -" File \"\", line 3\n" -" except NotEnoughScienceError, NotEnoughResourcesError:\n" -" ^\n" -"SyntaxError: multiple exception types must be parenthesized" -msgstr "" - -#: ../../whatsnew/3.10.rst:273 -msgid "(Contributed by Pablo Galindo in :issue:`43149`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:275 -msgid "Missing ``:`` and values in dictionary literals:" -msgstr "" - -#: ../../whatsnew/3.10.rst:277 -msgid "" -">>> values = {\n" -"... x: 1,\n" -"... y: 2,\n" -"... z:\n" -"... }\n" -" File \"\", line 4\n" -" z:\n" -" ^\n" -"SyntaxError: expression expected after dictionary key and ':'\n" -"\n" -">>> values = {x:1, y:2, z w:3}\n" -" File \"\", line 1\n" -" values = {x:1, y:2, z w:3}\n" -" ^\n" -"SyntaxError: ':' expected after dictionary key" -msgstr "" - -#: ../../whatsnew/3.10.rst:295 -msgid "(Contributed by Pablo Galindo in :issue:`43823`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:297 -msgid "``try`` blocks without ``except`` or ``finally`` blocks:" -msgstr "" - -#: ../../whatsnew/3.10.rst:299 -msgid "" -">>> try:\n" -"... x = 2\n" -"... something = 3\n" -" File \"\", line 3\n" -" something = 3\n" -" ^^^^^^^^^\n" -"SyntaxError: expected 'except' or 'finally' block" -msgstr "" - -#: ../../whatsnew/3.10.rst:309 -msgid "(Contributed by Pablo Galindo in :issue:`44305`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:311 -msgid "Usage of ``=`` instead of ``==`` in comparisons:" -msgstr "" - -#: ../../whatsnew/3.10.rst:313 -msgid "" -">>> if rocket.position = event_horizon:\n" -" File \"\", line 1\n" -" if rocket.position = event_horizon:\n" -" ^\n" -"SyntaxError: cannot assign to attribute here. Maybe you meant '==' instead of '='?" -msgstr "" - -#: ../../whatsnew/3.10.rst:321 -msgid "(Contributed by Pablo Galindo in :issue:`43797`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:323 -msgid "Usage of ``*`` in f-strings:" -msgstr "" - -#: ../../whatsnew/3.10.rst:325 -msgid "" -">>> f\"Black holes {*all_black_holes} and revelations\"\n" -" File \"\", line 1\n" -" (*all_black_holes)\n" -" ^\n" -"SyntaxError: f-string: cannot use starred expression here" -msgstr "" - -#: ../../whatsnew/3.10.rst:333 -msgid "(Contributed by Pablo Galindo in :issue:`41064`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:336 -msgid "IndentationErrors" -msgstr "" - -#: ../../whatsnew/3.10.rst:338 -msgid "" -"Many :exc:`IndentationError` exceptions now have more context regarding what" -" kind of block was expecting an indentation, including the location of the " -"statement:" -msgstr "" - -#: ../../whatsnew/3.10.rst:341 -msgid "" -">>> def foo():\n" -"... if lel:\n" -"... x = 2\n" -" File \"\", line 3\n" -" x = 2\n" -" ^\n" -"IndentationError: expected an indented block after 'if' statement in line 2" -msgstr "" - -#: ../../whatsnew/3.10.rst:353 -msgid "AttributeErrors" -msgstr "" - -#: ../../whatsnew/3.10.rst:355 -msgid "" -"When printing :exc:`AttributeError`, :c:func:`!PyErr_Display` will offer " -"suggestions of similar attribute names in the object that the exception was " -"raised from:" -msgstr "" - -#: ../../whatsnew/3.10.rst:359 -msgid "" -">>> collections.namedtoplo\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"AttributeError: module 'collections' has no attribute 'namedtoplo'. Did you mean: namedtuple?" -msgstr "" - -#: ../../whatsnew/3.10.rst:366 ../../whatsnew/3.10.rst:388 -msgid "(Contributed by Pablo Galindo in :issue:`38530`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:369 -msgid "" -"Notice this won't work if :c:func:`!PyErr_Display` is not called to display " -"the error which can happen if some other custom error display function is " -"used. This is a common scenario in some REPLs like IPython." -msgstr "" - -#: ../../whatsnew/3.10.rst:374 -msgid "NameErrors" -msgstr "" - -#: ../../whatsnew/3.10.rst:376 -msgid "" -"When printing :exc:`NameError` raised by the interpreter, " -":c:func:`!PyErr_Display` will offer suggestions of similar variable names in" -" the function that the exception was raised from:" -msgstr "" - -#: ../../whatsnew/3.10.rst:380 -msgid "" -">>> schwarzschild_black_hole = None\n" -">>> schwarschild_black_hole\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"NameError: name 'schwarschild_black_hole' is not defined. Did you mean: schwarzschild_black_hole?" -msgstr "" - -#: ../../whatsnew/3.10.rst:391 -msgid "" -"Notice this won't work if :c:func:`!PyErr_Display` is not called to display " -"the error, which can happen if some other custom error display function is " -"used. This is a common scenario in some REPLs like IPython." -msgstr "" - -#: ../../whatsnew/3.10.rst:397 -msgid "PEP 626: Precise line numbers for debugging and other tools" -msgstr "" - -#: ../../whatsnew/3.10.rst:399 -msgid "" -"PEP 626 brings more precise and reliable line numbers for debugging, " -"profiling and coverage tools. Tracing events, with the correct line number, " -"are generated for all lines of code executed and only for lines of code that" -" are executed." -msgstr "" - -#: ../../whatsnew/3.10.rst:402 -msgid "" -"The :attr:`~frame.f_lineno` attribute of frame objects will always contain " -"the expected line number." -msgstr "" - -#: ../../whatsnew/3.10.rst:405 -msgid "" -"The :attr:`~codeobject.co_lnotab` attribute of :ref:`code objects ` is deprecated and will be removed in 3.12. Code that needs to " -"convert from offset to line number should use the new " -":meth:`~codeobject.co_lines` method instead." -msgstr "" - -#: ../../whatsnew/3.10.rst:412 -msgid "PEP 634: Structural Pattern Matching" -msgstr "" - -#: ../../whatsnew/3.10.rst:414 -msgid "" -"Structural pattern matching has been added in the form of a *match " -"statement* and *case statements* of patterns with associated actions. " -"Patterns consist of sequences, mappings, primitive data types as well as " -"class instances. Pattern matching enables programs to extract information " -"from complex data types, branch on the structure of data, and apply specific" -" actions based on different forms of data." -msgstr "" - -#: ../../whatsnew/3.10.rst:422 -msgid "Syntax and operations" -msgstr "" - -#: ../../whatsnew/3.10.rst:424 -msgid "The generic syntax of pattern matching is::" -msgstr "" - -#: ../../whatsnew/3.10.rst:426 -msgid "" -"match subject:\n" -" case :\n" -" \n" -" case :\n" -" \n" -" case :\n" -" \n" -" case _:\n" -" " -msgstr "" - -#: ../../whatsnew/3.10.rst:436 -msgid "" -"A match statement takes an expression and compares its value to successive " -"patterns given as one or more case blocks. Specifically, pattern matching " -"operates by:" -msgstr "" - -#: ../../whatsnew/3.10.rst:440 -msgid "using data with type and shape (the ``subject``)" -msgstr "" - -#: ../../whatsnew/3.10.rst:441 -msgid "evaluating the ``subject`` in the ``match`` statement" -msgstr "" - -#: ../../whatsnew/3.10.rst:442 -msgid "" -"comparing the subject with each pattern in a ``case`` statement from top to " -"bottom until a match is confirmed." -msgstr "" - -#: ../../whatsnew/3.10.rst:444 -msgid "" -"executing the action associated with the pattern of the confirmed match" -msgstr "" - -#: ../../whatsnew/3.10.rst:446 -msgid "" -"If an exact match is not confirmed, the last case, a wildcard ``_``, if " -"provided, will be used as the matching case. If an exact match is not " -"confirmed and a wildcard case does not exist, the entire match block is a " -"no-op." -msgstr "" - -#: ../../whatsnew/3.10.rst:452 -msgid "Declarative approach" -msgstr "" - -#: ../../whatsnew/3.10.rst:454 -msgid "" -"Readers may be aware of pattern matching through the simple example of " -"matching a subject (data object) to a literal (pattern) with the switch " -"statement found in C, Java or JavaScript (and many other languages). Often " -"the switch statement is used for comparison of an object/expression with " -"case statements containing literals." -msgstr "" - -#: ../../whatsnew/3.10.rst:460 -msgid "" -"More powerful examples of pattern matching can be found in languages such as" -" Scala and Elixir. With structural pattern matching, the approach is " -"\"declarative\" and explicitly states the conditions (the patterns) for data" -" to match." -msgstr "" - -#: ../../whatsnew/3.10.rst:464 -msgid "" -"While an \"imperative\" series of instructions using nested \"if\" " -"statements could be used to accomplish something similar to structural " -"pattern matching, it is less clear than the \"declarative\" approach. " -"Instead the \"declarative\" approach states the conditions to meet for a " -"match and is more readable through its explicit patterns. While structural " -"pattern matching can be used in its simplest form comparing a variable to a " -"literal in a case statement, its true value for Python lies in its handling " -"of the subject's type and shape." -msgstr "" - -#: ../../whatsnew/3.10.rst:473 -msgid "Simple pattern: match to a literal" -msgstr "" - -#: ../../whatsnew/3.10.rst:475 -msgid "" -"Let's look at this example as pattern matching in its simplest form: a " -"value, the subject, being matched to several literals, the patterns. In the " -"example below, ``status`` is the subject of the match statement. The " -"patterns are each of the case statements, where literals represent request " -"status codes. The associated action to the case is executed after a match::" -msgstr "" - -#: ../../whatsnew/3.10.rst:481 -msgid "" -"def http_error(status):\n" -" match status:\n" -" case 400:\n" -" return \"Bad request\"\n" -" case 404:\n" -" return \"Not found\"\n" -" case 418:\n" -" return \"I'm a teapot\"\n" -" case _:\n" -" return \"Something's wrong with the internet\"" -msgstr "" - -#: ../../whatsnew/3.10.rst:492 -msgid "" -"If the above function is passed a ``status`` of 418, \"I'm a teapot\" is " -"returned. If the above function is passed a ``status`` of 500, the case " -"statement with ``_`` will match as a wildcard, and \"Something's wrong with " -"the internet\" is returned. Note the last block: the variable name, ``_``, " -"acts as a *wildcard* and insures the subject will always match. The use of " -"``_`` is optional." -msgstr "" - -#: ../../whatsnew/3.10.rst:499 -msgid "" -"You can combine several literals in a single pattern using ``|`` (\"or\")::" -msgstr "" - -#: ../../whatsnew/3.10.rst:501 -msgid "" -"case 401 | 403 | 404:\n" -" return \"Not allowed\"" -msgstr "" - -#: ../../whatsnew/3.10.rst:505 -msgid "Behavior without the wildcard" -msgstr "" - -#: ../../whatsnew/3.10.rst:507 -msgid "" -"If we modify the above example by removing the last case block, the example " -"becomes::" -msgstr "" - -#: ../../whatsnew/3.10.rst:510 -msgid "" -"def http_error(status):\n" -" match status:\n" -" case 400:\n" -" return \"Bad request\"\n" -" case 404:\n" -" return \"Not found\"\n" -" case 418:\n" -" return \"I'm a teapot\"" -msgstr "" - -#: ../../whatsnew/3.10.rst:519 -msgid "" -"Without the use of ``_`` in a case statement, a match may not exist. If no " -"match exists, the behavior is a no-op. For example, if ``status`` of 500 is " -"passed, a no-op occurs." -msgstr "" - -#: ../../whatsnew/3.10.rst:524 -msgid "Patterns with a literal and variable" -msgstr "" - -#: ../../whatsnew/3.10.rst:526 -msgid "" -"Patterns can look like unpacking assignments, and a pattern may be used to " -"bind variables. In this example, a data point can be unpacked to its " -"x-coordinate and y-coordinate::" -msgstr "" - -#: ../../whatsnew/3.10.rst:530 -msgid "" -"# point is an (x, y) tuple\n" -"match point:\n" -" case (0, 0):\n" -" print(\"Origin\")\n" -" case (0, y):\n" -" print(f\"Y={y}\")\n" -" case (x, 0):\n" -" print(f\"X={x}\")\n" -" case (x, y):\n" -" print(f\"X={x}, Y={y}\")\n" -" case _:\n" -" raise ValueError(\"Not a point\")" -msgstr "" - -#: ../../whatsnew/3.10.rst:543 -msgid "" -"The first pattern has two literals, ``(0, 0)``, and may be thought of as an " -"extension of the literal pattern shown above. The next two patterns combine " -"a literal and a variable, and the variable *binds* a value from the subject " -"(``point``). The fourth pattern captures two values, which makes it " -"conceptually similar to the unpacking assignment ``(x, y) = point``." -msgstr "" - -#: ../../whatsnew/3.10.rst:550 -msgid "Patterns and classes" -msgstr "" - -#: ../../whatsnew/3.10.rst:552 -msgid "" -"If you are using classes to structure your data, you can use as a pattern " -"the class name followed by an argument list resembling a constructor. This " -"pattern has the ability to capture class attributes into variables::" -msgstr "" - -#: ../../whatsnew/3.10.rst:556 -msgid "" -"class Point:\n" -" x: int\n" -" y: int\n" -"\n" -"def location(point):\n" -" match point:\n" -" case Point(x=0, y=0):\n" -" print(\"Origin is the point's location.\")\n" -" case Point(x=0, y=y):\n" -" print(f\"Y={y} and the point is on the y-axis.\")\n" -" case Point(x=x, y=0):\n" -" print(f\"X={x} and the point is on the x-axis.\")\n" -" case Point():\n" -" print(\"The point is located somewhere else on the plane.\")\n" -" case _:\n" -" print(\"Not a point\")" -msgstr "" - -#: ../../whatsnew/3.10.rst:574 -msgid "Patterns with positional parameters" -msgstr "" - -#: ../../whatsnew/3.10.rst:576 -msgid "" -"You can use positional parameters with some builtin classes that provide an " -"ordering for their attributes (e.g. dataclasses). You can also define a " -"specific position for attributes in patterns by setting the " -"``__match_args__`` special attribute in your classes. If it's set to (\"x\"," -" \"y\"), the following patterns are all equivalent (and all bind the ``y`` " -"attribute to the ``var`` variable)::" -msgstr "" - -#: ../../whatsnew/3.10.rst:582 -msgid "" -"Point(1, var)\n" -"Point(1, y=var)\n" -"Point(x=1, y=var)\n" -"Point(y=var, x=1)" -msgstr "" - -#: ../../whatsnew/3.10.rst:588 -msgid "Nested patterns" -msgstr "" - -#: ../../whatsnew/3.10.rst:590 -msgid "" -"Patterns can be arbitrarily nested. For example, if our data is a short " -"list of points, it could be matched like this::" -msgstr "" - -#: ../../whatsnew/3.10.rst:593 -msgid "" -"match points:\n" -" case []:\n" -" print(\"No points in the list.\")\n" -" case [Point(0, 0)]:\n" -" print(\"The origin is the only point in the list.\")\n" -" case [Point(x, y)]:\n" -" print(f\"A single point {x}, {y} is in the list.\")\n" -" case [Point(0, y1), Point(0, y2)]:\n" -" print(f\"Two points on the Y axis at {y1}, {y2} are in the list.\")\n" -" case _:\n" -" print(\"Something else is found in the list.\")" -msgstr "" - -#: ../../whatsnew/3.10.rst:606 -msgid "Complex patterns and the wildcard" -msgstr "" - -#: ../../whatsnew/3.10.rst:608 -msgid "" -"To this point, the examples have used ``_`` alone in the last case " -"statement. A wildcard can be used in more complex patterns, such as " -"``('error', code, _)``. For example::" -msgstr "" - -#: ../../whatsnew/3.10.rst:612 -msgid "" -"match test_variable:\n" -" case ('warning', code, 40):\n" -" print(\"A warning has been received.\")\n" -" case ('error', code, _):\n" -" print(f\"An error {code} occurred.\")" -msgstr "" - -#: ../../whatsnew/3.10.rst:618 -msgid "" -"In the above case, ``test_variable`` will match for ('error', code, 100) and" -" ('error', code, 800)." -msgstr "" - -#: ../../whatsnew/3.10.rst:622 -msgid "Guard" -msgstr "" - -#: ../../whatsnew/3.10.rst:624 -msgid "" -"We can add an ``if`` clause to a pattern, known as a \"guard\". If the " -"guard is false, ``match`` goes on to try the next case block. Note that " -"value capture happens before the guard is evaluated::" -msgstr "" - -#: ../../whatsnew/3.10.rst:628 -msgid "" -"match point:\n" -" case Point(x, y) if x == y:\n" -" print(f\"The point is located on the diagonal Y=X at {x}.\")\n" -" case Point(x, y):\n" -" print(f\"Point is not on the diagonal.\")" -msgstr "" - -#: ../../whatsnew/3.10.rst:635 -msgid "Other Key Features" -msgstr "" - -#: ../../whatsnew/3.10.rst:637 -msgid "Several other key features:" -msgstr "" - -#: ../../whatsnew/3.10.rst:639 -msgid "" -"Like unpacking assignments, tuple and list patterns have exactly the same " -"meaning and actually match arbitrary sequences. Technically, the subject " -"must be a sequence. Therefore, an important exception is that patterns don't" -" match iterators. Also, to prevent a common mistake, sequence patterns don't" -" match strings." -msgstr "" - -#: ../../whatsnew/3.10.rst:645 -msgid "" -"Sequence patterns support wildcards: ``[x, y, *rest]`` and ``(x, y, *rest)``" -" work similar to wildcards in unpacking assignments. The name after ``*`` " -"may also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two " -"items without binding the remaining items." -msgstr "" - -#: ../../whatsnew/3.10.rst:650 -msgid "" -"Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the " -"``\"bandwidth\"`` and ``\"latency\"`` values from a dict. Unlike sequence " -"patterns, extra keys are ignored. A wildcard ``**rest`` is also supported." -" (But ``**_`` would be redundant, so is not allowed.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:655 -msgid "Subpatterns may be captured using the ``as`` keyword::" -msgstr "" - -#: ../../whatsnew/3.10.rst:657 -msgid "case (Point(x1, y1), Point(x2, y2) as p2): ..." -msgstr "" - -#: ../../whatsnew/3.10.rst:659 -msgid "" -"This binds x1, y1, x2, y2 like you would expect without the ``as`` clause, " -"and p2 to the entire second item of the subject." -msgstr "" - -#: ../../whatsnew/3.10.rst:662 -msgid "" -"Most literals are compared by equality. However, the singletons ``True``, " -"``False`` and ``None`` are compared by identity." -msgstr "" - -#: ../../whatsnew/3.10.rst:665 -msgid "" -"Named constants may be used in patterns. These named constants must be " -"dotted names to prevent the constant from being interpreted as a capture " -"variable::" -msgstr "" - -#: ../../whatsnew/3.10.rst:669 -msgid "" -"from enum import Enum\n" -"class Color(Enum):\n" -" RED = 0\n" -" GREEN = 1\n" -" BLUE = 2\n" -"\n" -"color = Color.GREEN\n" -"match color:\n" -" case Color.RED:\n" -" print(\"I see red!\")\n" -" case Color.GREEN:\n" -" print(\"Grass is green\")\n" -" case Color.BLUE:\n" -" print(\"I'm feeling the blues :(\")" -msgstr "" - -#: ../../whatsnew/3.10.rst:684 -msgid "" -"For the full specification see :pep:`634`. Motivation and rationale are in " -":pep:`635`, and a longer tutorial is in :pep:`636`." -msgstr "" - -#: ../../whatsnew/3.10.rst:691 -msgid "Optional ``EncodingWarning`` and ``encoding=\"locale\"`` option" -msgstr "" - -#: ../../whatsnew/3.10.rst:693 -msgid "" -"The default encoding of :class:`~io.TextIOWrapper` and :func:`open` is " -"platform and locale dependent. Since UTF-8 is used on most Unix platforms, " -"omitting ``encoding`` option when opening UTF-8 files (e.g. JSON, YAML, " -"TOML, Markdown) is a very common bug. For example::" -msgstr "" - -#: ../../whatsnew/3.10.rst:698 -msgid "" -"# BUG: \"rb\" mode or encoding=\"utf-8\" should be used.\n" -"with open(\"data.json\") as f:\n" -" data = json.load(f)" -msgstr "" - -#: ../../whatsnew/3.10.rst:702 -msgid "" -"To find this type of bug, an optional ``EncodingWarning`` is added. It is " -"emitted when :data:`sys.flags.warn_default_encoding ` is true and" -" locale-specific default encoding is used." -msgstr "" - -#: ../../whatsnew/3.10.rst:706 -msgid "" -"``-X warn_default_encoding`` option and :envvar:`PYTHONWARNDEFAULTENCODING` " -"are added to enable the warning." -msgstr "" - -#: ../../whatsnew/3.10.rst:709 -msgid "See :ref:`io-text-encoding` for more information." -msgstr "" - -#: ../../whatsnew/3.10.rst:714 -msgid "New Features Related to Type Hints" -msgstr "" - -#: ../../whatsnew/3.10.rst:716 -msgid "" -"This section covers major changes affecting :pep:`484` type hints and the " -":mod:`typing` module." -msgstr "" - -#: ../../whatsnew/3.10.rst:721 -msgid "PEP 604: New Type Union Operator" -msgstr "" - -#: ../../whatsnew/3.10.rst:723 -msgid "" -"A new type union operator was introduced which enables the syntax ``X | Y``." -" This provides a cleaner way of expressing 'either type X or type Y' instead" -" of using :class:`typing.Union`, especially in type hints." -msgstr "" - -#: ../../whatsnew/3.10.rst:727 -msgid "" -"In previous versions of Python, to apply a type hint for functions accepting" -" arguments of multiple types, :class:`typing.Union` was used::" -msgstr "" - -#: ../../whatsnew/3.10.rst:730 -msgid "" -"def square(number: Union[int, float]) -> Union[int, float]:\n" -" return number ** 2" -msgstr "" - -#: ../../whatsnew/3.10.rst:734 -msgid "Type hints can now be written in a more succinct manner::" -msgstr "" - -#: ../../whatsnew/3.10.rst:736 -msgid "" -"def square(number: int | float) -> int | float:\n" -" return number ** 2" -msgstr "" - -#: ../../whatsnew/3.10.rst:740 -msgid "" -"This new syntax is also accepted as the second argument to " -":func:`isinstance` and :func:`issubclass`::" -msgstr "" - -#: ../../whatsnew/3.10.rst:743 -msgid "" -">>> isinstance(1, int | str)\n" -"True" -msgstr "" - -#: ../../whatsnew/3.10.rst:746 -msgid "See :ref:`types-union` and :pep:`604` for more details." -msgstr "" - -#: ../../whatsnew/3.10.rst:748 -msgid "" -"(Contributed by Maggie Moss and Philippe Prados in :issue:`41428`, with " -"additions by Yurii Karabas and Serhiy Storchaka in :issue:`44490`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:753 -msgid "PEP 612: Parameter Specification Variables" -msgstr "" - -#: ../../whatsnew/3.10.rst:755 -msgid "" -"Two new options to improve the information provided to static type checkers " -"for :pep:`484`\\ 's ``Callable`` have been added to the :mod:`typing` " -"module." -msgstr "" - -#: ../../whatsnew/3.10.rst:758 -msgid "" -"The first is the parameter specification variable. They are used to forward" -" the parameter types of one callable to another callable -- a pattern " -"commonly found in higher order functions and decorators. Examples of usage " -"can be found in :class:`typing.ParamSpec`. Previously, there was no easy way" -" to type annotate dependency of parameter types in such a precise manner." -msgstr "" - -#: ../../whatsnew/3.10.rst:764 -msgid "" -"The second option is the new ``Concatenate`` operator. It's used in " -"conjunction with parameter specification variables to type annotate a higher" -" order callable which adds or removes parameters of another callable. " -"Examples of usage can be found in :class:`typing.Concatenate`." -msgstr "" - -#: ../../whatsnew/3.10.rst:769 -msgid "" -"See :class:`typing.Callable`, :class:`typing.ParamSpec`, " -":class:`typing.Concatenate`, :class:`typing.ParamSpecArgs`, " -":class:`typing.ParamSpecKwargs`, and :pep:`612` for more details." -msgstr "" - -#: ../../whatsnew/3.10.rst:773 -msgid "" -"(Contributed by Ken Jin in :issue:`41559`, with minor enhancements by Jelle " -"Zijlstra in :issue:`43783`. PEP written by Mark Mendoza.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:778 -msgid "PEP 613: TypeAlias" -msgstr "" - -#: ../../whatsnew/3.10.rst:780 -msgid "" -":pep:`484` introduced the concept of type aliases, only requiring them to be" -" top-level unannotated assignments. This simplicity sometimes made it " -"difficult for type checkers to distinguish between type aliases and ordinary" -" assignments, especially when forward references or invalid types were " -"involved. Compare::" -msgstr "" - -#: ../../whatsnew/3.10.rst:785 -msgid "" -"StrCache = 'Cache[str]' # a type alias\n" -"LOG_PREFIX = 'LOG[DEBUG]' # a module constant" -msgstr "" - -#: ../../whatsnew/3.10.rst:788 -msgid "" -"Now the :mod:`typing` module has a special value :data:`~typing.TypeAlias` " -"which lets you declare type aliases more explicitly::" -msgstr "" - -#: ../../whatsnew/3.10.rst:791 -msgid "" -"StrCache: TypeAlias = 'Cache[str]' # a type alias\n" -"LOG_PREFIX = 'LOG[DEBUG]' # a module constant" -msgstr "" - -#: ../../whatsnew/3.10.rst:794 -msgid "See :pep:`613` for more details." -msgstr "" - -#: ../../whatsnew/3.10.rst:796 -msgid "(Contributed by Mikhail Golubev in :issue:`41923`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:799 -msgid "PEP 647: User-Defined Type Guards" -msgstr "" - -#: ../../whatsnew/3.10.rst:801 -msgid "" -":data:`~typing.TypeGuard` has been added to the :mod:`typing` module to " -"annotate type guard functions and improve information provided to static " -"type checkers during type narrowing. For more information, please see " -":data:`~typing.TypeGuard`\\ 's documentation, and :pep:`647`." -msgstr "" - -#: ../../whatsnew/3.10.rst:806 -msgid "" -"(Contributed by Ken Jin and Guido van Rossum in :issue:`43766`. PEP written " -"by Eric Traut.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:810 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.10.rst:812 -msgid "" -"The :class:`int` type has a new method :meth:`int.bit_count`, returning the " -"number of ones in the binary expansion of a given integer, also known as the" -" population count. (Contributed by Niklas Fiekas in :issue:`29882`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:816 -msgid "" -"The views returned by :meth:`dict.keys`, :meth:`dict.values` and " -":meth:`dict.items` now all have a ``mapping`` attribute that gives a " -":class:`types.MappingProxyType` object wrapping the original dictionary. " -"(Contributed by Dennis Sweeney in :issue:`40890`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:821 -msgid "" -":pep:`618`: The :func:`zip` function now has an optional ``strict`` flag, " -"used to require that all the iterables have an equal length." -msgstr "" - -#: ../../whatsnew/3.10.rst:824 -msgid "" -"Builtin and extension functions that take integer arguments no longer accept" -" :class:`~decimal.Decimal`\\ s, :class:`~fractions.Fraction`\\ s and other " -"objects that can be converted to integers only with a loss (e.g. that have " -"the :meth:`~object.__int__` method but do not have the " -":meth:`~object.__index__` method). (Contributed by Serhiy Storchaka in " -":issue:`37999`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:831 -msgid "" -"If :func:`object.__ipow__` returns :data:`NotImplemented`, the operator will" -" correctly fall back to :func:`object.__pow__` and :func:`object.__rpow__` " -"as expected. (Contributed by Alex Shkop in :issue:`38302`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:835 -msgid "" -"Assignment expressions can now be used unparenthesized within set literals " -"and set comprehensions, as well as in sequence indexes (but not slices)." -msgstr "" - -#: ../../whatsnew/3.10.rst:838 -msgid "" -"Functions have a new ``__builtins__`` attribute which is used to look for " -"builtin symbols when a function is executed, instead of looking into " -"``__globals__['__builtins__']``. The attribute is initialized from " -"``__globals__[\"__builtins__\"]`` if it exists, else from the current " -"builtins. (Contributed by Mark Shannon in :issue:`42990`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:844 -msgid "" -"Two new builtin functions -- :func:`aiter` and :func:`anext` have been added" -" to provide asynchronous counterparts to :func:`iter` and :func:`next`, " -"respectively. (Contributed by Joshua Bronson, Daniel Pope, and Justin Wang " -"in :issue:`31861`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:849 -msgid "" -"Static methods (:func:`@staticmethod `) and class methods " -"(:func:`@classmethod `) now inherit the method attributes " -"(``__module__``, ``__name__``, ``__qualname__``, ``__doc__``, " -"``__annotations__``) and have a new ``__wrapped__`` attribute. Moreover, " -"static methods are now callable as regular functions. (Contributed by Victor" -" Stinner in :issue:`43682`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:856 -msgid "" -"Annotations for complex targets (everything beside ``simple name`` targets " -"defined by :pep:`526`) no longer cause any runtime effects with ``from " -"__future__ import annotations``. (Contributed by Batuhan Taskaya in " -":issue:`42737`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:860 -msgid "" -"Class and module objects now lazy-create empty annotations dicts on demand. " -"The annotations dicts are stored in the object’s ``__dict__`` for backwards " -"compatibility. This improves the best practices for working with " -"``__annotations__``; for more information, please see :ref:`annotations-" -"howto`. (Contributed by Larry Hastings in :issue:`43901`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:867 -msgid "" -"Annotations consist of ``yield``, ``yield from``, ``await`` or named " -"expressions are now forbidden under ``from __future__ import annotations`` " -"due to their side effects. (Contributed by Batuhan Taskaya in " -":issue:`42725`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:872 -msgid "" -"Usage of unbound variables, ``super()`` and other expressions that might " -"alter the processing of symbol table as annotations are now rendered " -"effectless under ``from __future__ import annotations``. (Contributed by " -"Batuhan Taskaya in :issue:`42725`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:877 -msgid "" -"Hashes of NaN values of both :class:`float` type and " -":class:`decimal.Decimal` type now depend on object identity. Formerly, they " -"always hashed to ``0`` even though NaN values are not equal to one another. " -"This caused potentially quadratic runtime behavior due to excessive hash " -"collisions when creating dictionaries and sets containing multiple NaNs. " -"(Contributed by Raymond Hettinger in :issue:`43475`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:884 -msgid "" -"A :exc:`SyntaxError` (instead of a :exc:`NameError`) will be raised when " -"deleting the :const:`__debug__` constant. (Contributed by Donghee Na in " -":issue:`45000`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:887 -msgid "" -":exc:`SyntaxError` exceptions now have ``end_lineno`` and ``end_offset`` " -"attributes. They will be ``None`` if not determined. (Contributed by Pablo " -"Galindo in :issue:`43914`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:892 -msgid "New Modules" -msgstr "Modul-Modul Baru" - -#: ../../whatsnew/3.10.rst:894 -msgid "None." -msgstr "" - -#: ../../whatsnew/3.10.rst:898 -msgid "Improved Modules" -msgstr "Modul yang Ditingkatkan" - -#: ../../whatsnew/3.10.rst:901 -msgid "asyncio" -msgstr "asyncio" - -#: ../../whatsnew/3.10.rst:903 -msgid "" -"Add missing " -":meth:`~asyncio.events.AbstractEventLoop.connect_accepted_socket` method. " -"(Contributed by Alex Grönholm in :issue:`41332`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:908 -msgid "argparse" -msgstr "argparse" - -#: ../../whatsnew/3.10.rst:910 -msgid "" -"Misleading phrase \"optional arguments\" was replaced with \"options\" in " -"argparse help. Some tests might require adaptation if they rely on exact " -"output match. (Contributed by Raymond Hettinger in :issue:`9694`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:914 -msgid "array" -msgstr "array" - -#: ../../whatsnew/3.10.rst:916 -msgid "" -"The :meth:`~array.array.index` method of :class:`array.array` now has " -"optional *start* and *stop* parameters. (Contributed by Anders Lorentsen and" -" Zackery Spytz in :issue:`31956`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:921 -msgid "asynchat, asyncore, smtpd" -msgstr "" - -#: ../../whatsnew/3.10.rst:922 -msgid "" -"These modules have been marked as deprecated in their module documentation " -"since Python 3.6. An import-time :class:`DeprecationWarning` has now been " -"added to all three of these modules." -msgstr "" - -#: ../../whatsnew/3.10.rst:927 -msgid "base64" -msgstr "" - -#: ../../whatsnew/3.10.rst:929 -msgid "" -"Add :func:`base64.b32hexencode` and :func:`base64.b32hexdecode` to support " -"the Base32 Encoding with Extended Hex Alphabet." -msgstr "" - -#: ../../whatsnew/3.10.rst:933 -msgid "bdb" -msgstr "" - -#: ../../whatsnew/3.10.rst:935 -msgid "" -"Add :meth:`~bdb.Breakpoint.clearBreakpoints` to reset all set breakpoints. " -"(Contributed by Irit Katriel in :issue:`24160`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:939 -msgid "bisect" -msgstr "" - -#: ../../whatsnew/3.10.rst:941 -msgid "" -"Added the possibility of providing a *key* function to the APIs in the " -":mod:`bisect` module. (Contributed by Raymond Hettinger in :issue:`4356`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:945 -msgid "codecs" -msgstr "" - -#: ../../whatsnew/3.10.rst:947 -msgid "" -"Add a :func:`codecs.unregister` function to unregister a codec search " -"function. (Contributed by Hai Shi in :issue:`41842`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:951 -msgid "collections.abc" -msgstr "" - -#: ../../whatsnew/3.10.rst:953 -msgid "" -"The ``__args__`` of the :ref:`parameterized generic ` " -"for :class:`collections.abc.Callable` are now consistent with " -":data:`typing.Callable`. :class:`collections.abc.Callable` generic now " -"flattens type parameters, similar to what :data:`typing.Callable` currently " -"does. This means that ``collections.abc.Callable[[int, str], str]`` will " -"have ``__args__`` of ``(int, str, str)``; previously this was ``([int, str]," -" str)``. To allow this change, :class:`types.GenericAlias` can now be " -"subclassed, and a subclass will be returned when subscripting the " -":class:`collections.abc.Callable` type. Note that a :exc:`TypeError` may be" -" raised for invalid forms of parameterizing " -":class:`collections.abc.Callable` which may have passed silently in Python " -"3.9. (Contributed by Ken Jin in :issue:`42195`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:966 -msgid "contextlib" -msgstr "contextlib" - -#: ../../whatsnew/3.10.rst:968 -msgid "" -"Add a :func:`contextlib.aclosing` context manager to safely close async " -"generators and objects representing asynchronously released resources. " -"(Contributed by Joongi Kim and John Belmonte in :issue:`41229`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:972 -msgid "" -"Add asynchronous context manager support to :func:`contextlib.nullcontext`. " -"(Contributed by Tom Gringauz in :issue:`41543`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:975 -msgid "" -"Add :class:`~contextlib.AsyncContextDecorator`, for supporting usage of " -"async context managers as decorators." -msgstr "" - -#: ../../whatsnew/3.10.rst:979 -msgid "curses" -msgstr "" - -#: ../../whatsnew/3.10.rst:981 -msgid "" -"The extended color functions added in ncurses 6.1 will be used transparently" -" by :func:`curses.color_content`, :func:`curses.init_color`, " -":func:`curses.init_pair`, and :func:`curses.pair_content`. A new function, " -":func:`curses.has_extended_color_support`, indicates whether extended color " -"support is provided by the underlying ncurses library. (Contributed by " -"Jeffrey Kintscher and Hans Petter Jansson in :issue:`36982`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:988 -msgid "" -"The ``BUTTON5_*`` constants are now exposed in the :mod:`curses` module if " -"they are provided by the underlying curses library. (Contributed by Zackery " -"Spytz in :issue:`39273`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:993 -msgid "dataclasses" -msgstr "dataclasses" - -#: ../../whatsnew/3.10.rst:996 -msgid "__slots__" -msgstr "" - -#: ../../whatsnew/3.10.rst:998 -msgid "" -"Added ``slots`` parameter in :func:`dataclasses.dataclass` decorator. " -"(Contributed by Yurii Karabas in :issue:`42269`)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1002 -msgid "Keyword-only fields" -msgstr "" - -#: ../../whatsnew/3.10.rst:1004 -msgid "" -"dataclasses now supports fields that are keyword-only in the generated " -"__init__ method. There are a number of ways of specifying keyword-only " -"fields." -msgstr "" - -#: ../../whatsnew/3.10.rst:1008 -msgid "You can say that every field is keyword-only:" -msgstr "" - -#: ../../whatsnew/3.10.rst:1010 -msgid "" -"from dataclasses import dataclass\n" -"\n" -"@dataclass(kw_only=True)\n" -"class Birthday:\n" -" name: str\n" -" birthday: datetime.date" -msgstr "" - -#: ../../whatsnew/3.10.rst:1019 -msgid "" -"Both ``name`` and ``birthday`` are keyword-only parameters to the generated " -"__init__ method." -msgstr "" - -#: ../../whatsnew/3.10.rst:1022 -msgid "You can specify keyword-only on a per-field basis:" -msgstr "" - -#: ../../whatsnew/3.10.rst:1024 -msgid "" -"from dataclasses import dataclass, field\n" -"\n" -"@dataclass\n" -"class Birthday:\n" -" name: str\n" -" birthday: datetime.date = field(kw_only=True)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1033 -msgid "" -"Here only ``birthday`` is keyword-only. If you set ``kw_only`` on " -"individual fields, be aware that there are rules about re-ordering fields " -"due to keyword-only fields needing to follow non-keyword-only fields. See " -"the full dataclasses documentation for details." -msgstr "" - -#: ../../whatsnew/3.10.rst:1038 -msgid "" -"You can also specify that all fields following a KW_ONLY marker are keyword-" -"only. This will probably be the most common usage:" -msgstr "" - -#: ../../whatsnew/3.10.rst:1041 -msgid "" -"from dataclasses import dataclass, KW_ONLY\n" -"\n" -"@dataclass\n" -"class Point:\n" -" x: float\n" -" y: float\n" -" _: KW_ONLY\n" -" z: float = 0.0\n" -" t: float = 0.0" -msgstr "" - -#: ../../whatsnew/3.10.rst:1053 -msgid "" -"Here, ``z`` and ``t`` are keyword-only parameters, while ``x`` and ``y`` are" -" not. (Contributed by Eric V. Smith in :issue:`43532`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1060 -msgid "distutils" -msgstr "distutils" - -#: ../../whatsnew/3.10.rst:1062 -msgid "" -"The entire ``distutils`` package is deprecated, to be removed in Python " -"3.12. Its functionality for specifying package builds has already been " -"completely replaced by third-party packages ``setuptools`` and " -"``packaging``, and most other commonly used APIs are available elsewhere in " -"the standard library (such as :mod:`platform`, :mod:`shutil`, " -":mod:`subprocess` or :mod:`sysconfig`). There are no plans to migrate any " -"other functionality from ``distutils``, and applications that are using " -"other functions should plan to make private copies of the code. Refer to " -":pep:`632` for discussion." -msgstr "" - -#: ../../whatsnew/3.10.rst:1072 -msgid "" -"The ``bdist_wininst`` command deprecated in Python 3.8 has been removed. The" -" ``bdist_wheel`` command is now recommended to distribute binary packages on" -" Windows. (Contributed by Victor Stinner in :issue:`42802`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1078 -msgid "doctest" -msgstr "" - -#: ../../whatsnew/3.10.rst:1080 ../../whatsnew/3.10.rst:1215 -#: ../../whatsnew/3.10.rst:1242 ../../whatsnew/3.10.rst:1341 -msgid "" -"When a module does not define ``__loader__``, fall back to " -"``__spec__.loader``. (Contributed by Brett Cannon in :issue:`42133`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1084 -msgid "encodings" -msgstr "" - -#: ../../whatsnew/3.10.rst:1086 -msgid "" -":func:`encodings.normalize_encoding` now ignores non-ASCII characters. " -"(Contributed by Hai Shi in :issue:`39337`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1090 -msgid "enum" -msgstr "enum" - -#: ../../whatsnew/3.10.rst:1092 -msgid "" -":class:`~enum.Enum` :func:`~object.__repr__` now returns " -"``enum_name.member_name`` and :func:`~object.__str__` now returns " -"``member_name``. Stdlib enums available as module constants have a " -":func:`repr` of ``module_name.member_name``. (Contributed by Ethan Furman in" -" :issue:`40066`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1097 -msgid "" -"Add :class:`enum.StrEnum` for enums where all members are strings. " -"(Contributed by Ethan Furman in :issue:`41816`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1101 -msgid "fileinput" -msgstr "" - -#: ../../whatsnew/3.10.rst:1103 -msgid "" -"Add *encoding* and *errors* parameters in :func:`fileinput.input` and " -":class:`fileinput.FileInput`. (Contributed by Inada Naoki in " -":issue:`43712`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1107 -msgid "" -":func:`fileinput.hook_compressed` now returns :class:`~io.TextIOWrapper` " -"object when *mode* is \"r\" and file is compressed, like uncompressed files." -" (Contributed by Inada Naoki in :issue:`5758`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1112 -msgid "faulthandler" -msgstr "" - -#: ../../whatsnew/3.10.rst:1114 -msgid "" -"The :mod:`faulthandler` module now detects if a fatal error occurs during a " -"garbage collector collection. (Contributed by Victor Stinner in " -":issue:`44466`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1119 -msgid "gc" -msgstr "gc" - -#: ../../whatsnew/3.10.rst:1121 -msgid "" -"Add audit hooks for :func:`gc.get_objects`, :func:`gc.get_referrers` and " -":func:`gc.get_referents`. (Contributed by Pablo Galindo in :issue:`43439`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1125 -msgid "glob" -msgstr "glob" - -#: ../../whatsnew/3.10.rst:1127 -msgid "" -"Add the *root_dir* and *dir_fd* parameters in :func:`~glob.glob` and " -":func:`~glob.iglob` which allow to specify the root directory for searching." -" (Contributed by Serhiy Storchaka in :issue:`38144`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1132 -msgid "hashlib" -msgstr "" - -#: ../../whatsnew/3.10.rst:1134 -msgid "" -"The hashlib module requires OpenSSL 1.1.1 or newer. (Contributed by " -"Christian Heimes in :pep:`644` and :issue:`43669`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1137 -msgid "" -"The hashlib module has preliminary support for OpenSSL 3.0.0. (Contributed " -"by Christian Heimes in :issue:`38820` and other issues.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1140 -msgid "" -"The pure-Python fallback of :func:`~hashlib.pbkdf2_hmac` is deprecated. In " -"the future PBKDF2-HMAC will only be available when Python has been built " -"with OpenSSL support. (Contributed by Christian Heimes in :issue:`43880`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1146 -msgid "hmac" -msgstr "hmac" - -#: ../../whatsnew/3.10.rst:1148 -msgid "" -"The hmac module now uses OpenSSL's HMAC implementation internally. " -"(Contributed by Christian Heimes in :issue:`40645`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1152 -msgid "IDLE and idlelib" -msgstr "" - -#: ../../whatsnew/3.10.rst:1154 -msgid "" -"Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " -"hooks were previously ignored. (Contributed by Ken Hilton in " -":issue:`43008`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1158 -msgid "" -"Rearrange the settings dialog. Split the General tab into Windows and " -"Shell/Ed tabs. Move help sources, which extend the Help menu, to the " -"Extensions tab. Make space for new options and shorten the dialog. The " -"latter makes the dialog better fit small screens. (Contributed by Terry Jan" -" Reedy in :issue:`40468`.) Move the indent space setting from the Font tab " -"to the new Windows tab. (Contributed by Mark Roseman and Terry Jan Reedy in" -" :issue:`33962`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1166 -msgid "The changes above were backported to a 3.9 maintenance release." -msgstr "" - -#: ../../whatsnew/3.10.rst:1168 -msgid "" -"Add a Shell sidebar. Move the primary prompt ('>>>') to the sidebar. Add " -"secondary prompts ('...') to the sidebar. Left click and optional drag " -"selects one or more lines of text, as with the editor line number sidebar. " -"Right click after selecting text lines displays a context menu with 'copy " -"with prompts'. This zips together prompts from the sidebar with lines from " -"the selected text. This option also appears on the context menu for the " -"text. (Contributed by Tal Einat in :issue:`37903`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1177 -msgid "" -"Use spaces instead of tabs to indent interactive code. This makes " -"interactive code entries 'look right'. Making this feasible was a major " -"motivation for adding the shell sidebar. (Contributed by Terry Jan Reedy in" -" :issue:`37892`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1182 -msgid "" -"Highlight the new :ref:`soft keywords ` :keyword:`match`, " -":keyword:`case `, and :keyword:`_ ` in pattern-" -"matching statements. However, this highlighting is not perfect and will be " -"incorrect in some rare cases, including some ``_``-s in ``case`` patterns. " -"(Contributed by Tal Einat in :issue:`44010`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1188 -msgid "New in 3.10 maintenance releases." -msgstr "" - -#: ../../whatsnew/3.10.rst:1190 -msgid "" -"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " -"and Terry Jan Reedy in :issue:`45447`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1193 -msgid "" -"Include prompts when saving Shell with inputs and outputs. (Contributed by " -"Terry Jan Reedy in :gh:`95191`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1197 -msgid "importlib.metadata" -msgstr "" - -#: ../../whatsnew/3.10.rst:1199 -msgid "" -"Feature parity with ``importlib_metadata`` 4.6 (`history `_)." -msgstr "" - -#: ../../whatsnew/3.10.rst:1202 -msgid "" -":ref:`importlib.metadata entry points ` now provide a nicer " -"experience for selecting entry points by group and name through a new " -":ref:`importlib.metadata.EntryPoints ` class. See the " -"Compatibility Note in the docs for more info on the deprecation and usage." -msgstr "" - -#: ../../whatsnew/3.10.rst:1208 -msgid "" -"Added :ref:`importlib.metadata.packages_distributions() ` for resolving top-level Python modules and packages to their" -" :ref:`importlib.metadata.Distribution `." -msgstr "" - -#: ../../whatsnew/3.10.rst:1213 -msgid "inspect" -msgstr "inspect" - -#: ../../whatsnew/3.10.rst:1218 -msgid "" -"Add :func:`inspect.get_annotations`, which safely computes the annotations " -"defined on an object. It works around the quirks of accessing the " -"annotations on various types of objects, and makes very few assumptions " -"about the object it examines. :func:`inspect.get_annotations` can also " -"correctly un-stringize stringized annotations. " -":func:`inspect.get_annotations` is now considered best practice for " -"accessing the annotations dict defined on any Python object; for more " -"information on best practices for working with annotations, please see " -":ref:`annotations-howto`. Relatedly, :func:`inspect.signature`, " -":func:`inspect.Signature.from_callable`, and " -":func:`!inspect.Signature.from_function` now call " -":func:`inspect.get_annotations` to retrieve annotations. This means " -":func:`inspect.signature` and :func:`inspect.Signature.from_callable` can " -"also now un-stringize stringized annotations. (Contributed by Larry Hastings" -" in :issue:`43817`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1234 -msgid "itertools" -msgstr "itertools" - -#: ../../whatsnew/3.10.rst:1236 -msgid "" -"Add :func:`itertools.pairwise`. (Contributed by Raymond Hettinger in " -":issue:`38200`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1240 -msgid "linecache" -msgstr "" - -#: ../../whatsnew/3.10.rst:1246 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.10.rst:1248 -msgid "" -"Add :func:`os.cpu_count` support for VxWorks RTOS. (Contributed by Peixing " -"Xin in :issue:`41440`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1251 -msgid "" -"Add a new function :func:`os.eventfd` and related helpers to wrap the " -"``eventfd2`` syscall on Linux. (Contributed by Christian Heimes in " -":issue:`41001`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1255 -msgid "" -"Add :func:`os.splice` that allows to move data between two file descriptors " -"without copying between kernel address space and user address space, where " -"one of the file descriptors must refer to a pipe. (Contributed by Pablo " -"Galindo in :issue:`41625`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1260 -msgid "" -"Add :const:`~os.O_EVTONLY`, :const:`~os.O_FSYNC`, :const:`~os.O_SYMLINK` and" -" :const:`~os.O_NOFOLLOW_ANY` for macOS. (Contributed by Donghee Na in " -":issue:`43106`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1265 -msgid "os.path" -msgstr "os.path" - -#: ../../whatsnew/3.10.rst:1267 -msgid "" -":func:`os.path.realpath` now accepts a *strict* keyword-only argument. When " -"set to ``True``, :exc:`OSError` is raised if a path doesn't exist or a " -"symlink loop is encountered. (Contributed by Barney Gale in :issue:`43757`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1273 -msgid "pathlib" -msgstr "pathlib" - -#: ../../whatsnew/3.10.rst:1275 -msgid "" -"Add slice support to :attr:`PurePath.parents `. " -"(Contributed by Joshua Cannon in :issue:`35498`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1278 -msgid "" -"Add negative indexing support to :attr:`PurePath.parents " -"`. (Contributed by Yaroslav Pankovych in " -":issue:`21041`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1282 -msgid "" -"Add :meth:`Path.hardlink_to ` method that " -"supersedes :meth:`!link_to`. The new method has the same argument order as " -":meth:`~pathlib.Path.symlink_to`. (Contributed by Barney Gale in " -":issue:`39950`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1287 -msgid "" -":meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a " -"*follow_symlinks* keyword-only argument for consistency with corresponding " -"functions in the :mod:`os` module. (Contributed by Barney Gale in " -":issue:`39906`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1293 -msgid "platform" -msgstr "" - -#: ../../whatsnew/3.10.rst:1295 -msgid "" -"Add :func:`platform.freedesktop_os_release` to retrieve operation system " -"identification from `freedesktop.org os-release " -"`_ " -"standard file. (Contributed by Christian Heimes in :issue:`28468`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1301 -msgid "pprint" -msgstr "" - -#: ../../whatsnew/3.10.rst:1303 -msgid "" -":func:`pprint.pprint` now accepts a new ``underscore_numbers`` keyword " -"argument. (Contributed by sblondon in :issue:`42914`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1306 -msgid "" -":mod:`pprint` can now pretty-print :class:`dataclasses.dataclass` instances." -" (Contributed by Lewis Gaul in :issue:`43080`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1310 -msgid "py_compile" -msgstr "py_compile" - -#: ../../whatsnew/3.10.rst:1312 -msgid "" -"Add ``--quiet`` option to command-line interface of :mod:`py_compile`. " -"(Contributed by Gregory Schevchenko in :issue:`38731`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1316 -msgid "pyclbr" -msgstr "" - -#: ../../whatsnew/3.10.rst:1318 -msgid "" -"Add an ``end_lineno`` attribute to the ``Function`` and ``Class`` objects in" -" the tree returned by :func:`pyclbr.readmodule` and " -":func:`pyclbr.readmodule_ex`. It matches the existing (start) ``lineno``. " -"(Contributed by Aviral Srivastava in :issue:`38307`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1324 -msgid "shelve" -msgstr "" - -#: ../../whatsnew/3.10.rst:1326 -msgid "" -"The :mod:`shelve` module now uses :const:`pickle.DEFAULT_PROTOCOL` by " -"default instead of :mod:`pickle` protocol ``3`` when creating shelves. " -"(Contributed by Zackery Spytz in :issue:`34204`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1331 -msgid "statistics" -msgstr "statistics" - -#: ../../whatsnew/3.10.rst:1333 -msgid "" -"Add :func:`~statistics.covariance`, Pearson's " -":func:`~statistics.correlation`, and simple " -":func:`~statistics.linear_regression` functions. (Contributed by Tymoteusz " -"Wołodźko in :issue:`38490`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1339 -msgid "site" -msgstr "site" - -#: ../../whatsnew/3.10.rst:1345 -msgid "socket" -msgstr "socket" - -#: ../../whatsnew/3.10.rst:1347 -msgid "" -"The exception :exc:`socket.timeout` is now an alias of :exc:`TimeoutError`. " -"(Contributed by Christian Heimes in :issue:`42413`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1350 -msgid "" -"Add option to create MPTCP sockets with ``IPPROTO_MPTCP`` (Contributed by " -"Rui Cunha in :issue:`43571`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1353 -msgid "" -"Add ``IP_RECVTOS`` option to receive the type of service (ToS) or DSCP/ECN " -"fields (Contributed by Georg Sauthoff in :issue:`44077`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1357 -msgid "ssl" -msgstr "ssl" - -#: ../../whatsnew/3.10.rst:1359 -msgid "" -"The ssl module requires OpenSSL 1.1.1 or newer. (Contributed by Christian " -"Heimes in :pep:`644` and :issue:`43669`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1362 -msgid "" -"The ssl module has preliminary support for OpenSSL 3.0.0 and new option " -":const:`~ssl.OP_IGNORE_UNEXPECTED_EOF`. (Contributed by Christian Heimes in " -":issue:`38820`, :issue:`43794`, :issue:`43788`, :issue:`43791`, " -":issue:`43799`, :issue:`43920`, :issue:`43789`, and :issue:`43811`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1368 -msgid "" -"Deprecated function and use of deprecated constants now result in a " -":exc:`DeprecationWarning`. :attr:`ssl.SSLContext.options` has " -":data:`~ssl.OP_NO_SSLv2` and :data:`~ssl.OP_NO_SSLv3` set by default and " -"therefore cannot warn about setting the flag again. The :ref:`deprecation " -"section ` has a list of deprecated features. " -"(Contributed by Christian Heimes in :issue:`43880`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1376 -msgid "" -"The ssl module now has more secure default settings. Ciphers without forward" -" secrecy or SHA-1 MAC are disabled by default. Security level 2 prohibits " -"weak RSA, DH, and ECC keys with less than 112 bits of security. " -":class:`~ssl.SSLContext` defaults to minimum protocol version TLS 1.2. " -"Settings are based on Hynek Schlawack's research. (Contributed by Christian " -"Heimes in :issue:`43998`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1383 -msgid "" -"The deprecated protocols SSL 3.0, TLS 1.0, and TLS 1.1 are no longer " -"officially supported. Python does not block them actively. However OpenSSL " -"build options, distro configurations, vendor patches, and cipher suites may " -"prevent a successful handshake." -msgstr "" - -#: ../../whatsnew/3.10.rst:1388 -msgid "" -"Add a *timeout* parameter to the :func:`ssl.get_server_certificate` " -"function. (Contributed by Zackery Spytz in :issue:`31870`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1391 -msgid "" -"The ssl module uses heap-types and multi-phase initialization. (Contributed " -"by Christian Heimes in :issue:`42333`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1394 -msgid "" -"A new verify flag :const:`~ssl.VERIFY_X509_PARTIAL_CHAIN` has been added. " -"(Contributed by l0x in :issue:`40849`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1398 -msgid "sqlite3" -msgstr "sqlite3" - -#: ../../whatsnew/3.10.rst:1400 -msgid "" -"Add audit events for :func:`~sqlite3.connect/handle`, " -":meth:`~sqlite3.Connection.enable_load_extension`, and " -":meth:`~sqlite3.Connection.load_extension`. (Contributed by Erlend E. " -"Aasland in :issue:`43762`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1406 -msgid "sys" -msgstr "sys" - -#: ../../whatsnew/3.10.rst:1408 -msgid "" -"Add :data:`sys.orig_argv` attribute: the list of the original command line " -"arguments passed to the Python executable. (Contributed by Victor Stinner in" -" :issue:`23427`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1412 -msgid "" -"Add :data:`sys.stdlib_module_names`, containing the list of the standard " -"library module names. (Contributed by Victor Stinner in :issue:`42955`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1417 -msgid "_thread" -msgstr "" - -#: ../../whatsnew/3.10.rst:1419 -msgid "" -":func:`_thread.interrupt_main` now takes an optional signal number to " -"simulate (the default is still :const:`signal.SIGINT`). (Contributed by " -"Antoine Pitrou in :issue:`43356`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1424 -msgid "threading" -msgstr "threading" - -#: ../../whatsnew/3.10.rst:1426 -msgid "" -"Add :func:`threading.gettrace` and :func:`threading.getprofile` to retrieve " -"the functions set by :func:`threading.settrace` and " -":func:`threading.setprofile` respectively. (Contributed by Mario Corchero in" -" :issue:`42251`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1431 -msgid "" -"Add :data:`threading.__excepthook__` to allow retrieving the original value " -"of :func:`threading.excepthook` in case it is set to a broken or a different" -" value. (Contributed by Mario Corchero in :issue:`42308`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1437 -msgid "traceback" -msgstr "" - -#: ../../whatsnew/3.10.rst:1439 -msgid "" -"The :func:`~traceback.format_exception`, " -":func:`~traceback.format_exception_only`, and " -":func:`~traceback.print_exception` functions can now take an exception " -"object as a positional-only argument. (Contributed by Zackery Spytz and " -"Matthias Bussonnier in :issue:`26389`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1446 -msgid "types" -msgstr "types" - -#: ../../whatsnew/3.10.rst:1448 -msgid "" -"Reintroduce the :data:`types.EllipsisType`, :data:`types.NoneType` and " -":data:`types.NotImplementedType` classes, providing a new set of types " -"readily interpretable by type checkers. (Contributed by Bas van Beek in " -":issue:`41810`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1454 -msgid "typing" -msgstr "typing" - -#: ../../whatsnew/3.10.rst:1456 -msgid "For major changes, see :ref:`new-feat-related-type-hints`." -msgstr "" - -#: ../../whatsnew/3.10.rst:1458 -msgid "" -"The behavior of :class:`typing.Literal` was changed to conform with " -":pep:`586` and to match the behavior of static type checkers specified in " -"the PEP." -msgstr "" - -#: ../../whatsnew/3.10.rst:1461 -msgid "``Literal`` now de-duplicates parameters." -msgstr "" - -#: ../../whatsnew/3.10.rst:1462 -msgid "" -"Equality comparisons between ``Literal`` objects are now order independent." -msgstr "" - -#: ../../whatsnew/3.10.rst:1463 -msgid "" -"``Literal`` comparisons now respect types. For example, ``Literal[0] == " -"Literal[False]`` previously evaluated to ``True``. It is now ``False``. To" -" support this change, the internally used type cache now supports " -"differentiating types." -msgstr "" - -#: ../../whatsnew/3.10.rst:1467 -msgid "" -"``Literal`` objects will now raise a :exc:`TypeError` exception during " -"equality comparisons if any of their parameters are not :term:`hashable`. " -"Note that declaring ``Literal`` with unhashable parameters will not throw an" -" error::" -msgstr "" - -#: ../../whatsnew/3.10.rst:1472 -msgid "" -">>> from typing import Literal\n" -">>> Literal[{0}]\n" -">>> Literal[{0}] == Literal[{False}]\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: unhashable type: 'set'" -msgstr "" - -#: ../../whatsnew/3.10.rst:1479 -msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1481 -msgid "" -"Add new function :func:`typing.is_typeddict` to introspect if an annotation " -"is a :class:`typing.TypedDict`. (Contributed by Patrick Reader in " -":issue:`41792`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1485 -msgid "" -"Subclasses of ``typing.Protocol`` which only have data variables declared " -"will now raise a ``TypeError`` when checked with ``isinstance`` unless they " -"are decorated with :func:`~typing.runtime_checkable`. Previously, these " -"checks passed silently. Users should decorate their subclasses with the " -":func:`!runtime_checkable` decorator if they want runtime protocols. " -"(Contributed by Yurii Karabas in :issue:`38908`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1493 -msgid "" -"Importing from the ``typing.io`` and ``typing.re`` submodules will now emit " -":exc:`DeprecationWarning`. These submodules have been deprecated since " -"Python 3.8 and will be removed in a future version of Python. Anything " -"belonging to those submodules should be imported directly from :mod:`typing`" -" instead. (Contributed by Sebastian Rittau in :issue:`38291`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1501 -msgid "unittest" -msgstr "unittest" - -#: ../../whatsnew/3.10.rst:1503 -msgid "" -"Add new method :meth:`~unittest.TestCase.assertNoLogs` to complement the " -"existing :meth:`~unittest.TestCase.assertLogs`. (Contributed by Kit Yan Choi" -" in :issue:`39385`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1508 -msgid "urllib.parse" -msgstr "urllib.parse" - -#: ../../whatsnew/3.10.rst:1510 -msgid "" -"Python versions earlier than Python 3.10 allowed using both ``;`` and ``&`` " -"as query parameter separators in :func:`urllib.parse.parse_qs` and " -":func:`urllib.parse.parse_qsl`. Due to security concerns, and to conform " -"with newer W3C recommendations, this has been changed to allow only a single" -" separator key, with ``&`` as the default. This change also affects " -":func:`!cgi.parse` and :func:`!cgi.parse_multipart` as they use the affected" -" functions internally. For more details, please see their respective " -"documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin" -" in :issue:`42967`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1520 -msgid "" -"The presence of newline or tab characters in parts of a URL allows for some " -"forms of attacks. Following the WHATWG specification that updates " -":rfc:`3986`, ASCII newline ``\\n``, ``\\r`` and tab ``\\t`` characters are " -"stripped from the URL by the parser in :mod:`urllib.parse` preventing such " -"attacks. The removal characters are controlled by a new module level " -"variable ``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. (See :gh:`88048`)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1528 -msgid "xml" -msgstr "xml" - -#: ../../whatsnew/3.10.rst:1530 -msgid "" -"Add a :class:`~xml.sax.handler.LexicalHandler` class to the " -":mod:`xml.sax.handler` module. (Contributed by Jonathan Gossage and Zackery " -"Spytz in :issue:`35018`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1535 -msgid "zipimport" -msgstr "" - -#: ../../whatsnew/3.10.rst:1536 -msgid "" -"Add methods related to :pep:`451`: :meth:`~zipimport.zipimporter.find_spec`," -" :meth:`zipimport.zipimporter.create_module`, and " -":meth:`zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon in " -":issue:`42131`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1541 -msgid "" -"Add :meth:`~zipimport.zipimporter.invalidate_caches` method. (Contributed by" -" Desmond Cheong in :issue:`14678`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1546 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.10.rst:1548 -msgid "" -"Constructors :func:`str`, :func:`bytes` and :func:`bytearray` are now faster" -" (around 30--40% for small objects). (Contributed by Serhiy Storchaka in " -":issue:`41334`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1552 -msgid "" -"The :mod:`runpy` module now imports fewer modules. The ``python3 -m module-" -"name`` command startup time is 1.4x faster in average. On Linux, ``python3 " -"-I -m module-name`` imports 69 modules on Python 3.9, whereas it only " -"imports 51 modules (-18) on Python 3.10. (Contributed by Victor Stinner in " -":issue:`41006` and :issue:`41718`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1558 -msgid "" -"The ``LOAD_ATTR`` instruction now uses new \"per opcode cache\" mechanism. " -"It is about 36% faster now for regular attributes and 44% faster for slots. " -"(Contributed by Pablo Galindo and Yury Selivanov in :issue:`42093` and Guido" -" van Rossum in :issue:`42927`, based on ideas implemented originally in PyPy" -" and MicroPython.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1564 -msgid "" -"When building Python with :option:`--enable-optimizations` now ``-fno-" -"semantic-interposition`` is added to both the compile and link line. This " -"speeds builds of the Python interpreter created with :option:`--enable-" -"shared` with ``gcc`` by up to 30%. See `this article " -"`_ for more details. " -"(Contributed by Victor Stinner and Pablo Galindo in :issue:`38980`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1572 -msgid "" -"Use a new output buffer management code for :mod:`bz2` / :mod:`lzma` / " -":mod:`zlib` modules, and add ``.readall()`` function to " -"``_compression.DecompressReader`` class. bz2 decompression is now 1.09x ~ " -"1.17x faster, lzma decompression 1.20x ~ 1.32x faster, ``GzipFile.read(-1)``" -" 1.11x ~ 1.18x faster. (Contributed by Ma Lin, reviewed by Gregory P. Smith," -" in :issue:`41486`)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1578 -msgid "" -"When using stringized annotations, annotations dicts for functions are no " -"longer created when the function is created. Instead, they are stored as a " -"tuple of strings, and the function object lazily converts this into the " -"annotations dict on demand. This optimization cuts the CPU time needed to " -"define an annotated function by half. (Contributed by Yurii Karabas and " -"Inada Naoki in :issue:`42202`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1585 -msgid "" -"Substring search functions such as ``str1 in str2`` and ``str2.find(str1)`` " -"now sometimes use Crochemore & Perrin's \"Two-Way\" string searching " -"algorithm to avoid quadratic behavior on long strings. (Contributed by " -"Dennis Sweeney in :issue:`41972`)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1590 -msgid "" -"Add micro-optimizations to ``_PyType_Lookup()`` to improve type attribute " -"cache lookup performance in the common case of cache hits. This makes the " -"interpreter 1.04 times faster on average. (Contributed by Dino Viehland in " -":issue:`43452`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1594 -msgid "" -"The following built-in functions now support the faster :pep:`590` " -"vectorcall calling convention: :func:`map`, :func:`filter`, " -":func:`reversed`, :func:`bool` and :func:`float`. (Contributed by Donghee Na" -" and Jeroen Demeyer in :issue:`43575`, :issue:`43287`, :issue:`41922`, " -":issue:`41873` and :issue:`41870`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1598 -msgid "" -":class:`~bz2.BZ2File` performance is improved by removing internal " -"``RLock``. This makes :class:`!BZ2File` thread unsafe in the face of " -"multiple simultaneous readers or writers, just like its equivalent classes " -"in :mod:`gzip` and :mod:`lzma` have always been. (Contributed by Inada " -"Naoki in :issue:`43785`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1606 ../../whatsnew/3.10.rst:2212 -msgid "Deprecated" -msgstr "Usang" - -#: ../../whatsnew/3.10.rst:1608 -msgid "" -"Currently Python accepts numeric literals immediately followed by keywords, " -"for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and " -"ambiguous expressions like ``[0x1for x in y]`` (which can be interpreted as " -"``[0x1 for x in y]`` or ``[0x1f or x in y]``). Starting in this release, a " -"deprecation warning is raised if the numeric literal is immediately followed" -" by one of keywords :keyword:`and`, :keyword:`else`, :keyword:`for`, " -":keyword:`if`, :keyword:`in`, :keyword:`is` and :keyword:`or`. In future " -"releases it will be changed to syntax warning, and finally to syntax error. " -"(Contributed by Serhiy Storchaka in :issue:`43833`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1619 -msgid "" -"Starting in this release, there will be a concerted effort to begin cleaning" -" up old import semantics that were kept for Python 2.7 compatibility. " -"Specifically, :meth:`!find_loader`/:meth:`!find_module` (superseded by " -":meth:`~importlib.abc.MetaPathFinder.find_spec`), " -":meth:`~importlib.abc.Loader.load_module` (superseded by " -":meth:`~importlib.abc.Loader.exec_module`), :meth:`!module_repr` (which the " -"import system takes care of for you), the ``__package__`` attribute " -"(superseded by ``__spec__.parent``), the ``__loader__`` attribute " -"(superseded by ``__spec__.loader``), and the ``__cached__`` attribute " -"(superseded by ``__spec__.cached``) will slowly be removed (as well as other" -" classes and methods in :mod:`importlib`). :exc:`ImportWarning` and/or " -":exc:`DeprecationWarning` will be raised as appropriate to help identify " -"code which needs updating during this transition." -msgstr "" - -#: ../../whatsnew/3.10.rst:1636 -msgid "" -"The entire ``distutils`` namespace is deprecated, to be removed in Python " -"3.12. Refer to the :ref:`module changes ` section for " -"more information." -msgstr "" - -#: ../../whatsnew/3.10.rst:1640 -msgid "" -"Non-integer arguments to :func:`random.randrange` are deprecated. The " -":exc:`ValueError` is deprecated in favor of a :exc:`TypeError`. (Contributed" -" by Serhiy Storchaka and Raymond Hettinger in :issue:`37319`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1644 -msgid "" -"The various ``load_module()`` methods of :mod:`importlib` have been " -"documented as deprecated since Python 3.6, but will now also trigger a " -":exc:`DeprecationWarning`. Use :meth:`~importlib.abc.Loader.exec_module` " -"instead. (Contributed by Brett Cannon in :issue:`26131`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1650 -msgid "" -":meth:`!zimport.zipimporter.load_module` has been deprecated in preference " -"for :meth:`~zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon" -" in :issue:`26131`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1654 -msgid "" -"The use of :meth:`~importlib.abc.Loader.load_module` by the import system " -"now triggers an :exc:`ImportWarning` as " -":meth:`~importlib.abc.Loader.exec_module` is preferred. (Contributed by " -"Brett Cannon in :issue:`26131`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1659 -msgid "" -"The use of :meth:`!importlib.abc.MetaPathFinder.find_module` and " -":meth:`!importlib.abc.PathEntryFinder.find_module` by the import system now " -"trigger an :exc:`ImportWarning` as " -":meth:`importlib.abc.MetaPathFinder.find_spec` and " -":meth:`importlib.abc.PathEntryFinder.find_spec` are preferred, respectively." -" You can use :func:`importlib.util.spec_from_loader` to help in porting. " -"(Contributed by Brett Cannon in :issue:`42134`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1668 -msgid "" -"The use of :meth:`!importlib.abc.PathEntryFinder.find_loader` by the import " -"system now triggers an :exc:`ImportWarning` as " -":meth:`importlib.abc.PathEntryFinder.find_spec` is preferred. You can use " -":func:`importlib.util.spec_from_loader` to help in porting. (Contributed by " -"Brett Cannon in :issue:`43672`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1674 -msgid "" -"The various implementations of " -":meth:`!importlib.abc.MetaPathFinder.find_module` ( " -":meth:`!importlib.machinery.BuiltinImporter.find_module`, " -":meth:`!importlib.machinery.FrozenImporter.find_module`, " -":meth:`!importlib.machinery.WindowsRegistryFinder.find_module`, " -":meth:`!importlib.machinery.PathFinder.find_module`, " -":meth:`!importlib.abc.MetaPathFinder.find_module` ), " -":meth:`!importlib.abc.PathEntryFinder.find_module` ( " -":meth:`!importlib.machinery.FileFinder.find_module` ), and " -":meth:`!importlib.abc.PathEntryFinder.find_loader` ( " -":meth:`!importlib.machinery.FileFinder.find_loader` ) now raise " -":exc:`DeprecationWarning` and are slated for removal in Python 3.12 " -"(previously they were documented as deprecated in Python 3.4). (Contributed " -"by Brett Cannon in :issue:`42135`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1689 -msgid "" -":class:`!importlib.abc.Finder` is deprecated (including its sole method, " -":meth:`!find_module`). Both :class:`importlib.abc.MetaPathFinder` and " -":class:`importlib.abc.PathEntryFinder` no longer inherit from the class. " -"Users should inherit from one of these two classes as appropriate instead. " -"(Contributed by Brett Cannon in :issue:`42135`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1696 -msgid "" -"The deprecations of :mod:`!imp`, :func:`!importlib.find_loader`, " -":func:`!importlib.util.set_package_wrapper`, " -":func:`!importlib.util.set_loader_wrapper`, " -":func:`!importlib.util.module_for_loader`, :class:`!pkgutil.ImpImporter`, " -"and :class:`!pkgutil.ImpLoader` have all been updated to list Python 3.12 as" -" the slated version of removal (they began raising :exc:`DeprecationWarning`" -" in previous versions of Python). (Contributed by Brett Cannon in " -":issue:`43720`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1706 -msgid "" -"The import system now uses the ``__spec__`` attribute on modules before " -"falling back on :meth:`!module_repr` for a module's ``__repr__()`` method. " -"Removal of the use of ``module_repr()`` is scheduled for Python 3.12. " -"(Contributed by Brett Cannon in :issue:`42137`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1712 -msgid "" -":meth:`!importlib.abc.Loader.module_repr`, " -":meth:`!importlib.machinery.FrozenLoader.module_repr`, and " -":meth:`!importlib.machinery.BuiltinLoader.module_repr` are deprecated and " -"slated for removal in Python 3.12. (Contributed by Brett Cannon in " -":issue:`42136`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1718 -msgid "" -"``sqlite3.OptimizedUnicode`` has been undocumented and obsolete since Python" -" 3.3, when it was made an alias to :class:`str`. It is now deprecated, " -"scheduled for removal in Python 3.12. (Contributed by Erlend E. Aasland in " -":issue:`42264`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1723 -msgid "" -"The undocumented built-in function ``sqlite3.enable_shared_cache`` is now " -"deprecated, scheduled for removal in Python 3.12. Its use is strongly " -"discouraged by the SQLite3 documentation. See `the SQLite3 docs " -"`_ for more details. If a" -" shared cache must be used, open the database in URI mode using the " -"``cache=shared`` query parameter. (Contributed by Erlend E. Aasland in " -":issue:`24464`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1731 -msgid "The following ``threading`` methods are now deprecated:" -msgstr "" - -#: ../../whatsnew/3.10.rst:1733 -msgid "``threading.currentThread`` => :func:`threading.current_thread`" -msgstr "" - -#: ../../whatsnew/3.10.rst:1735 -msgid "``threading.activeCount`` => :func:`threading.active_count`" -msgstr "" - -#: ../../whatsnew/3.10.rst:1737 -msgid "" -"``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" -msgstr "" - -#: ../../whatsnew/3.10.rst:1740 -msgid "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" -msgstr "" - -#: ../../whatsnew/3.10.rst:1742 -msgid "``threading.Thread.setName`` => :attr:`threading.Thread.name`" -msgstr "" - -#: ../../whatsnew/3.10.rst:1744 -msgid "``threading.thread.getName`` => :attr:`threading.Thread.name`" -msgstr "" - -#: ../../whatsnew/3.10.rst:1746 -msgid "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" -msgstr "" - -#: ../../whatsnew/3.10.rst:1748 -msgid "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" -msgstr "" - -#: ../../whatsnew/3.10.rst:1750 -msgid "(Contributed by Jelle Zijlstra in :gh:`87889`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1752 -msgid "" -":meth:`!pathlib.Path.link_to` is deprecated and slated for removal in Python" -" 3.12. Use :meth:`pathlib.Path.hardlink_to` instead. (Contributed by Barney " -"Gale in :issue:`39950`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1756 -msgid "" -"``cgi.log()`` is deprecated and slated for removal in Python 3.12. " -"(Contributed by Inada Naoki in :issue:`41139`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1759 -msgid "" -"The following :mod:`ssl` features have been deprecated since Python 3.6, " -"Python 3.7, or OpenSSL 1.1.0 and will be removed in 3.11:" -msgstr "" - -#: ../../whatsnew/3.10.rst:1762 -msgid "" -":data:`!OP_NO_SSLv2`, :data:`!OP_NO_SSLv3`, :data:`!OP_NO_TLSv1`, " -":data:`!OP_NO_TLSv1_1`, :data:`!OP_NO_TLSv1_2`, and :data:`!OP_NO_TLSv1_3` " -"are replaced by :attr:`~ssl.SSLContext.minimum_version` and " -":attr:`~ssl.SSLContext.maximum_version`." -msgstr "" - -#: ../../whatsnew/3.10.rst:1768 -msgid "" -":data:`!PROTOCOL_SSLv2`, :data:`!PROTOCOL_SSLv3`, :data:`!PROTOCOL_SSLv23`, " -":data:`!PROTOCOL_TLSv1`, :data:`!PROTOCOL_TLSv1_1`, " -":data:`!PROTOCOL_TLSv1_2`, and :const:`!PROTOCOL_TLS` are deprecated in " -"favor of :const:`~ssl.PROTOCOL_TLS_CLIENT` and " -":const:`~ssl.PROTOCOL_TLS_SERVER`" -msgstr "" - -#: ../../whatsnew/3.10.rst:1774 -msgid ":func:`!wrap_socket` is replaced by :meth:`ssl.SSLContext.wrap_socket`" -msgstr "" - -#: ../../whatsnew/3.10.rst:1776 -msgid ":func:`!match_hostname`" -msgstr "" - -#: ../../whatsnew/3.10.rst:1778 -msgid ":func:`!RAND_pseudo_bytes`, :func:`!RAND_egd`" -msgstr "" - -#: ../../whatsnew/3.10.rst:1780 -msgid "" -"NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` and " -":meth:`ssl.SSLContext.set_npn_protocols` are replaced by ALPN." -msgstr "" - -#: ../../whatsnew/3.10.rst:1783 -msgid "" -"The threading debug (:envvar:`!PYTHONTHREADDEBUG` environment variable) is " -"deprecated in Python 3.10 and will be removed in Python 3.12. This feature " -"requires a :ref:`debug build of Python `. (Contributed by " -"Victor Stinner in :issue:`44584`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1788 -msgid "" -"Importing from the ``typing.io`` and ``typing.re`` submodules will now emit " -":exc:`DeprecationWarning`. These submodules will be removed in a future " -"version of Python. Anything belonging to these submodules should be " -"imported directly from :mod:`typing` instead. (Contributed by Sebastian " -"Rittau in :issue:`38291`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1797 ../../whatsnew/3.10.rst:2220 -msgid "Removed" -msgstr "" - -#: ../../whatsnew/3.10.rst:1799 -msgid "" -"Removed special methods ``__int__``, ``__float__``, ``__floordiv__``, " -"``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and " -"``__rdivmod__`` of the :class:`complex` class. They always raised a " -":exc:`TypeError`. (Contributed by Serhiy Storchaka in :issue:`41974`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1805 -msgid "" -"The ``ParserBase.error()`` method from the private and undocumented " -"``_markupbase`` module has been removed. :class:`html.parser.HTMLParser` is" -" the only subclass of ``ParserBase`` and its ``error()`` implementation was " -"already removed in Python 3.5. (Contributed by Berker Peksag in " -":issue:`31844`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1811 -msgid "" -"Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal " -"PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was" -" moved to the internal C API. (Contributed by Victor Stinner in " -":issue:`42157`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1816 -msgid "" -"Removed the ``parser`` module, which was deprecated in 3.9 due to the switch" -" to the new PEG parser, as well as all the C source and header files that " -"were only being used by the old parser, including ``node.h``, ``parser.h``, " -"``graminit.h`` and ``grammar.h``." -msgstr "" - -#: ../../whatsnew/3.10.rst:1821 -msgid "" -"Removed the Public C API functions ``PyParser_SimpleParseStringFlags``, " -"``PyParser_SimpleParseStringFlagsFilename``, " -"``PyParser_SimpleParseFileFlags`` and ``PyNode_Compile`` that were " -"deprecated in 3.9 due to the switch to the new PEG parser." -msgstr "" - -#: ../../whatsnew/3.10.rst:1826 -msgid "" -"Removed the ``formatter`` module, which was deprecated in Python 3.4. It is " -"somewhat obsolete, little used, and not tested. It was originally scheduled " -"to be removed in Python 3.6, but such removals were delayed until after " -"Python 2.7 EOL. Existing users should copy whatever classes they use into " -"their code. (Contributed by Donghee Na and Terry J. Reedy in " -":issue:`42299`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1833 -msgid "" -"Removed the :c:func:`!PyModule_GetWarningsModule` function that was useless " -"now due to the :mod:`!_warnings` module was converted to a builtin module in" -" 2.6. (Contributed by Hai Shi in :issue:`42599`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1837 -msgid "" -"Remove deprecated aliases to :ref:`collections-abstract-base-classes` from " -"the :mod:`collections` module. (Contributed by Victor Stinner in " -":issue:`37324`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1841 -msgid "" -"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's " -":doc:`high-level API <../library/asyncio-api-index>` following deprecation " -"in Python 3.8. The motivation behind this change is multifold:" -msgstr "" - -#: ../../whatsnew/3.10.rst:1845 -msgid "This simplifies the high-level API." -msgstr "" - -#: ../../whatsnew/3.10.rst:1846 -msgid "" -"The functions in the high-level API have been implicitly getting the current" -" thread's running event loop since Python 3.7. There isn't a need to pass " -"the event loop to the API in most normal use cases." -msgstr "" - -#: ../../whatsnew/3.10.rst:1849 -msgid "" -"Event loop passing is error-prone especially when dealing with loops running" -" in different threads." -msgstr "" - -#: ../../whatsnew/3.10.rst:1852 -msgid "" -"Note that the low-level API will still accept ``loop``. See :ref:`changes-" -"python-api` for examples of how to replace existing code." -msgstr "" - -#: ../../whatsnew/3.10.rst:1855 ../../whatsnew/3.10.rst:1927 -msgid "" -"(Contributed by Yurii Karabas, Andrew Svetlov, Yury Selivanov and Kyle " -"Stanley in :issue:`42392`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1860 ../../whatsnew/3.10.rst:2147 -msgid "Porting to Python 3.10" -msgstr "" - -#: ../../whatsnew/3.10.rst:1862 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code." -msgstr "" - -#: ../../whatsnew/3.10.rst:1867 -msgid "Changes in the Python syntax" -msgstr "" - -#: ../../whatsnew/3.10.rst:1869 -msgid "" -"Deprecation warning is now emitted when compiling previously valid syntax if" -" the numeric literal is immediately followed by a keyword (like in ``0in " -"x``). In future releases it will be changed to syntax warning, and finally " -"to a syntax error. To get rid of the warning and make the code compatible " -"with future releases just add a space between the numeric literal and the " -"following keyword. (Contributed by Serhiy Storchaka in :issue:`43833`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1880 -msgid "Changes in the Python API" -msgstr "Perubahan pada API Python" - -#: ../../whatsnew/3.10.rst:1882 -msgid "" -"The *etype* parameters of the :func:`~traceback.format_exception`, " -":func:`~traceback.format_exception_only`, and " -":func:`~traceback.print_exception` functions in the :mod:`traceback` module " -"have been renamed to *exc*. (Contributed by Zackery Spytz and Matthias " -"Bussonnier in :issue:`26389`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1888 -msgid "" -":mod:`atexit`: At Python exit, if a callback registered with " -":func:`atexit.register` fails, its exception is now logged. Previously, only" -" some exceptions were logged, and the last exception was always silently " -"ignored. (Contributed by Victor Stinner in :issue:`42639`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1894 -msgid "" -":class:`collections.abc.Callable` generic now flattens type parameters, " -"similar to what :data:`typing.Callable` currently does. This means that " -"``collections.abc.Callable[[int, str], str]`` will have ``__args__`` of " -"``(int, str, str)``; previously this was ``([int, str], str)``. Code which " -"accesses the arguments via :func:`typing.get_args` or ``__args__`` need to " -"account for this change. Furthermore, :exc:`TypeError` may be raised for " -"invalid forms of parameterizing :class:`collections.abc.Callable` which may " -"have passed silently in Python 3.9. (Contributed by Ken Jin in " -":issue:`42195`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1904 -msgid "" -":meth:`socket.htons` and :meth:`socket.ntohs` now raise :exc:`OverflowError`" -" instead of :exc:`DeprecationWarning` if the given parameter will not fit in" -" a 16-bit unsigned integer. (Contributed by Erlend E. Aasland in " -":issue:`42393`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1909 -msgid "" -"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's " -":doc:`high-level API <../library/asyncio-api-index>` following deprecation " -"in Python 3.8." -msgstr "" - -#: ../../whatsnew/3.10.rst:1913 -msgid "A coroutine that currently looks like this::" -msgstr "" - -#: ../../whatsnew/3.10.rst:1915 -msgid "" -"async def foo(loop):\n" -" await asyncio.sleep(1, loop=loop)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1918 -msgid "Should be replaced with this::" -msgstr "" - -#: ../../whatsnew/3.10.rst:1920 -msgid "" -"async def foo():\n" -" await asyncio.sleep(1)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1923 -msgid "" -"If ``foo()`` was specifically designed *not* to run in the current thread's " -"running event loop (e.g. running in another thread's event loop), consider " -"using :func:`asyncio.run_coroutine_threadsafe` instead." -msgstr "" - -#: ../../whatsnew/3.10.rst:1930 -msgid "" -"The :data:`types.FunctionType` constructor now inherits the current builtins" -" if the *globals* dictionary has no ``\"__builtins__\"`` key, rather than " -"using ``{\"None\": None}`` as builtins: same behavior as :func:`eval` and " -":func:`exec` functions. Defining a function with ``def function(...): ...``" -" in Python is not affected, globals cannot be overridden with this syntax: " -"it also inherits the current builtins. (Contributed by Victor Stinner in " -":issue:`42990`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1939 -msgid "Changes in the C API" -msgstr "Perubahan dalam API C" - -#: ../../whatsnew/3.10.rst:1941 -msgid "" -"The C API functions ``PyParser_SimpleParseStringFlags``, " -"``PyParser_SimpleParseStringFlagsFilename``, " -"``PyParser_SimpleParseFileFlags``, ``PyNode_Compile`` and the type used by " -"these functions, ``struct _node``, were removed due to the switch to the new" -" PEG parser." -msgstr "" - -#: ../../whatsnew/3.10.rst:1947 -msgid "" -"Source should be now be compiled directly to a code object using, for " -"example, :c:func:`Py_CompileString`. The resulting code object can then be " -"evaluated using, for example, :c:func:`PyEval_EvalCode`." -msgstr "" - -#: ../../whatsnew/3.10.rst:1951 -msgid "Specifically:" -msgstr "" - -#: ../../whatsnew/3.10.rst:1953 -msgid "" -"A call to ``PyParser_SimpleParseStringFlags`` followed by ``PyNode_Compile``" -" can be replaced by calling :c:func:`Py_CompileString`." -msgstr "" - -#: ../../whatsnew/3.10.rst:1956 -msgid "" -"There is no direct replacement for ``PyParser_SimpleParseFileFlags``. To " -"compile code from a ``FILE *`` argument, you will need to read the file in C" -" and pass the resulting buffer to :c:func:`Py_CompileString`." -msgstr "" - -#: ../../whatsnew/3.10.rst:1960 -msgid "" -"To compile a file given a ``char *`` filename, explicitly open the file, " -"read it and compile the result. One way to do this is using the :py:mod:`io`" -" module with :c:func:`PyImport_ImportModule`, :c:func:`PyObject_CallMethod`," -" :c:func:`PyBytes_AsString` and :c:func:`Py_CompileString`, as sketched " -"below. (Declarations and error handling are omitted.) ::" -msgstr "" - -#: ../../whatsnew/3.10.rst:1966 -msgid "" -"io_module = Import_ImportModule(\"io\");\n" -"fileobject = PyObject_CallMethod(io_module, \"open\", \"ss\", filename, \"rb\");\n" -"source_bytes_object = PyObject_CallMethod(fileobject, \"read\", \"\");\n" -"result = PyObject_CallMethod(fileobject, \"close\", \"\");\n" -"source_buf = PyBytes_AsString(source_bytes_object);\n" -"code = Py_CompileString(source_buf, filename, Py_file_input);" -msgstr "" - -#: ../../whatsnew/3.10.rst:1973 -msgid "" -"For ``FrameObject`` objects, the :attr:`~frame.f_lasti` member now " -"represents a wordcode offset instead of a simple offset into the bytecode " -"string. This means that this number needs to be multiplied by 2 to be used " -"with APIs that expect a byte offset instead (like :c:func:`PyCode_Addr2Line`" -" for example). Notice as well that the :attr:`!f_lasti` member of " -"``FrameObject`` objects is not considered stable: please use " -":c:func:`PyFrame_GetLineNumber` instead." -msgstr "" - -#: ../../whatsnew/3.10.rst:1981 -msgid "CPython bytecode changes" -msgstr "Perubahan bytecode CPython" - -#: ../../whatsnew/3.10.rst:1983 -msgid "" -"The ``MAKE_FUNCTION`` instruction now accepts either a dict or a tuple of " -"strings as the function's annotations. (Contributed by Yurii Karabas and " -"Inada Naoki in :issue:`42202`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1988 -msgid "Build Changes" -msgstr "" - -#: ../../whatsnew/3.10.rst:1990 -msgid "" -":pep:`644`: Python now requires OpenSSL 1.1.1 or newer. OpenSSL 1.0.2 is no " -"longer supported. (Contributed by Christian Heimes in :issue:`43669`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1994 -msgid "" -"The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now " -"required to build Python. (Contributed by Victor Stinner in :issue:`36020`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:1998 -msgid "" -":mod:`sqlite3` requires SQLite 3.7.15 or higher. (Contributed by Sergey " -"Fedoseev and Erlend E. Aasland in :issue:`40744` and :issue:`40810`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2001 -msgid "" -"The :mod:`atexit` module must now always be built as a built-in module. " -"(Contributed by Victor Stinner in :issue:`42639`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2004 -msgid "" -"Add :option:`--disable-test-modules` option to the ``configure`` script: " -"don't build nor install test modules. (Contributed by Xavier de Gaye, Thomas" -" Petazzoni and Peixing Xin in :issue:`27640`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2008 -msgid "" -"Add :option:`--with-wheel-pkg-dir=PATH option <--with-wheel-pkg-dir>` to the" -" ``./configure`` script. If specified, the :mod:`ensurepip` module looks for" -" ``setuptools`` and ``pip`` wheel packages in this directory: if both are " -"present, these wheel packages are used instead of ensurepip bundled wheel " -"packages." -msgstr "" - -#: ../../whatsnew/3.10.rst:2014 -msgid "" -"Some Linux distribution packaging policies recommend against bundling " -"dependencies. For example, Fedora installs wheel packages in the " -"``/usr/share/python-wheels/`` directory and don't install the " -"``ensurepip._bundled`` package." -msgstr "" - -#: ../../whatsnew/3.10.rst:2019 -msgid "(Contributed by Victor Stinner in :issue:`42856`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2021 -msgid "" -"Add a new :option:`configure --without-static-libpython option <--without-" -"static-libpython>` to not build the ``libpythonMAJOR.MINOR.a`` static " -"library and not install the ``python.o`` object file." -msgstr "" - -#: ../../whatsnew/3.10.rst:2025 -msgid "(Contributed by Victor Stinner in :issue:`43103`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2027 -msgid "" -"The ``configure`` script now uses the ``pkg-config`` utility, if available, " -"to detect the location of Tcl/Tk headers and libraries. As before, those " -"locations can be explicitly specified with the ``--with-tcltk-includes`` and" -" ``--with-tcltk-libs`` configuration options. (Contributed by Manolis " -"Stamatogiannakis in :issue:`42603`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2033 -msgid "" -"Add :option:`--with-openssl-rpath` option to ``configure`` script. The " -"option simplifies building Python with a custom OpenSSL installation, e.g. " -"``./configure --with-openssl=/path/to/openssl --with-openssl-rpath=auto``. " -"(Contributed by Christian Heimes in :issue:`43466`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2040 -msgid "C API Changes" -msgstr "" - -#: ../../whatsnew/3.10.rst:2043 -msgid "PEP 652: Maintaining the Stable ABI" -msgstr "" - -#: ../../whatsnew/3.10.rst:2045 -msgid "" -"The Stable ABI (Application Binary Interface) for extension modules or " -"embedding Python is now explicitly defined. :ref:`stable` describes C API " -"and ABI stability guarantees along with best practices for using the Stable " -"ABI." -msgstr "" - -#: ../../whatsnew/3.10.rst:2050 -msgid "(Contributed by Petr Viktorin in :pep:`652` and :issue:`43795`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2055 -msgid "" -"The result of :c:func:`PyNumber_Index` now always has exact type " -":class:`int`. Previously, the result could have been an instance of a " -"subclass of ``int``. (Contributed by Serhiy Storchaka in :issue:`40792`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2059 -msgid "" -"Add a new :c:member:`~PyConfig.orig_argv` member to the :c:type:`PyConfig` " -"structure: the list of the original command line arguments passed to the " -"Python executable. (Contributed by Victor Stinner in :issue:`23427`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2064 -msgid "" -"The :c:func:`PyDateTime_DATE_GET_TZINFO` and " -":c:func:`PyDateTime_TIME_GET_TZINFO` macros have been added for accessing " -"the ``tzinfo`` attributes of :class:`datetime.datetime` and " -":class:`datetime.time` objects. (Contributed by Zackery Spytz in " -":issue:`30155`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2070 -msgid "" -"Add a :c:func:`PyCodec_Unregister` function to unregister a codec search " -"function. (Contributed by Hai Shi in :issue:`41842`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2074 -msgid "" -"The :c:func:`PyIter_Send` function was added to allow sending value into " -"iterator without raising ``StopIteration`` exception. (Contributed by " -"Vladimir Matveev in :issue:`41756`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2078 -msgid "" -"Add :c:func:`PyUnicode_AsUTF8AndSize` to the limited C API. (Contributed by " -"Alex Gaynor in :issue:`41784`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2081 -msgid "" -"Add :c:func:`PyModule_AddObjectRef` function: similar to " -":c:func:`PyModule_AddObject` but don't steal a reference to the value on " -"success. (Contributed by Victor Stinner in :issue:`1635741`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2086 -msgid "" -"Add :c:func:`Py_NewRef` and :c:func:`Py_XNewRef` functions to increment the " -"reference count of an object and return the object. (Contributed by Victor " -"Stinner in :issue:`42262`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2090 -msgid "" -"The :c:func:`PyType_FromSpecWithBases` and " -":c:func:`PyType_FromModuleAndSpec` functions now accept a single class as " -"the *bases* argument. (Contributed by Serhiy Storchaka in :issue:`42423`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2094 -msgid "" -"The :c:func:`PyType_FromModuleAndSpec` function now accepts NULL ``tp_doc`` " -"slot. (Contributed by Hai Shi in :issue:`41832`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2098 -msgid "" -"The :c:func:`PyType_GetSlot` function can accept :ref:`static types `. (Contributed by Hai Shi and Petr Viktorin in :issue:`41073`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2102 -msgid "" -"Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an " -"object is an instance of :class:`set` but not an instance of a subtype. " -"(Contributed by Pablo Galindo in :issue:`43277`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2106 -msgid "" -"Add :c:func:`PyErr_SetInterruptEx` which allows passing a signal number to " -"simulate. (Contributed by Antoine Pitrou in :issue:`43356`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2110 -msgid "" -"The limited C API is now supported if :ref:`Python is built in debug mode " -"` (if the ``Py_DEBUG`` macro is defined). In the limited C API," -" the :c:func:`Py_INCREF` and :c:func:`Py_DECREF` functions are now " -"implemented as opaque function calls, rather than accessing directly the " -":c:member:`PyObject.ob_refcnt` member, if Python is built in debug mode and " -"the ``Py_LIMITED_API`` macro targets Python 3.10 or newer. It became " -"possible to support the limited C API in debug mode because the " -":c:type:`PyObject` structure is the same in release and debug mode since " -"Python 3.8 (see :issue:`36465`)." -msgstr "" - -#: ../../whatsnew/3.10.rst:2120 -msgid "" -"The limited C API is still not supported in the :option:`--with-trace-refs` " -"special build (``Py_TRACE_REFS`` macro). (Contributed by Victor Stinner in " -":issue:`43688`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2124 -msgid "" -"Add the :c:func:`Py_Is(x, y) ` function to test if the *x* object is " -"the *y* object, the same as ``x is y`` in Python. Add also the " -":c:func:`Py_IsNone`, :c:func:`Py_IsTrue`, :c:func:`Py_IsFalse` functions to " -"test if an object is, respectively, the ``None`` singleton, the ``True`` " -"singleton or the ``False`` singleton. (Contributed by Victor Stinner in " -":issue:`43753`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2131 -msgid "" -"Add new functions to control the garbage collector from C code: " -":c:func:`PyGC_Enable()`, :c:func:`PyGC_Disable()`, " -":c:func:`PyGC_IsEnabled()`. These functions allow to activate, deactivate " -"and query the state of the garbage collector from C code without having to " -"import the :mod:`gc` module." -msgstr "" - -#: ../../whatsnew/3.10.rst:2138 -msgid "" -"Add a new :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow" -" creating type instances. (Contributed by Victor Stinner in :issue:`43916`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2142 -msgid "" -"Add a new :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` type flag for creating " -"immutable type objects: type attributes cannot be set nor deleted. " -"(Contributed by Victor Stinner and Erlend E. Aasland in :issue:`43908`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2149 -msgid "" -"The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use " -":c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use " -"``#``: ``es#``, ``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` and ``Z#``. " -"See :ref:`arg-parsing` and :pep:`353`. (Contributed by Victor Stinner in " -":issue:`40943`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2155 -msgid "" -"Since :c:func:`Py_REFCNT()` is changed to the inline static function, " -"``Py_REFCNT(obj) = new_refcnt`` must be replaced with ``Py_SET_REFCNT(obj, " -"new_refcnt)``: see :c:func:`Py_SET_REFCNT()` (available since Python 3.9). " -"For backward compatibility, this macro can be used::" -msgstr "" - -#: ../../whatsnew/3.10.rst:2160 -msgid "" -"#if PY_VERSION_HEX < 0x030900A4\n" -"# define Py_SET_REFCNT(obj, refcnt) ((Py_REFCNT(obj) = (refcnt)), (void)0)\n" -"#endif" -msgstr "" - -#: ../../whatsnew/3.10.rst:2164 -msgid "(Contributed by Victor Stinner in :issue:`39573`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2166 -msgid "" -"Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had been allowed " -"for historical reason. It is no longer allowed. (Contributed by Victor " -"Stinner in :issue:`40839`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2170 -msgid "" -"``PyUnicode_FromUnicode(NULL, size)`` and " -"``PyUnicode_FromStringAndSize(NULL, size)`` raise ``DeprecationWarning`` " -"now. Use :c:func:`PyUnicode_New` to allocate Unicode object without initial" -" data. (Contributed by Inada Naoki in :issue:`36346`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2175 -msgid "" -"The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API " -"``unicodedata.ucnhash_CAPI`` has been moved to the internal C API. " -"(Contributed by Victor Stinner in :issue:`42157`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2179 -msgid "" -":c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, " -":c:func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome` and " -":c:func:`Py_GetProgramName` functions now return ``NULL`` if called before " -":c:func:`Py_Initialize` (before Python is initialized). Use the new " -":ref:`init-config` API to get the :ref:`init-path-config`. (Contributed by " -"Victor Stinner in :issue:`42260`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2186 -msgid "" -":c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` and " -":c:func:`PyCell_SET` macros can no longer be used as l-value or r-value. For" -" example, ``x = PyList_SET_ITEM(a, b, c)`` and ``PyList_SET_ITEM(a, b, c) = " -"x`` now fail with a compiler error. It prevents bugs like ``if " -"(PyList_SET_ITEM (a, b, c) < 0) ...`` test. (Contributed by Zackery Spytz " -"and Victor Stinner in :issue:`30459`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2193 -msgid "" -"The non-limited API files ``odictobject.h``, ``parser_interface.h``, " -"``picklebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug.h``, " -"``pyfpe.h``, and ``pytime.h`` have been moved to the ``Include/cpython`` " -"directory. These files must not be included directly, as they are already " -"included in ``Python.h``; see :ref:`api-includes`. If they have been " -"included directly, consider including ``Python.h`` instead. (Contributed by " -"Nicholas Sim in :issue:`35134`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2201 -msgid "" -"Use the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` type flag to create immutable " -"type objects. Do not rely on :c:macro:`Py_TPFLAGS_HEAPTYPE` to decide if a " -"type object is mutable or not; check if :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` " -"is set instead. (Contributed by Victor Stinner and Erlend E. Aasland in " -":issue:`43908`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2207 -msgid "" -"The undocumented function ``Py_FrozenMain`` has been removed from the " -"limited API. The function is mainly useful for custom builds of Python. " -"(Contributed by Petr Viktorin in :issue:`26241`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2214 -msgid "" -"The ``PyUnicode_InternImmortal()`` function is now deprecated and will be " -"removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead. " -"(Contributed by Victor Stinner in :issue:`41692`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2222 -msgid "" -"Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings. " -"(Contributed by Inada Naoki in :issue:`41123`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2225 -msgid "" -"``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` or " -":c:macro:`PyUnicode_GET_LENGTH`" -msgstr "" - -#: ../../whatsnew/3.10.rst:2227 -msgid "" -"``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` or " -":c:func:`PyUnicode_FromFormat`" -msgstr "" - -#: ../../whatsnew/3.10.rst:2229 -msgid "" -"``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: use " -":c:func:`PyUnicode_CopyCharacters` or :c:func:`PyUnicode_Substring`" -msgstr "" - -#: ../../whatsnew/3.10.rst:2231 -msgid "``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`" -msgstr "" - -#: ../../whatsnew/3.10.rst:2232 -msgid "``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`" -msgstr "" - -#: ../../whatsnew/3.10.rst:2233 -msgid "" -"``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use " -":c:func:`PyUnicode_FindChar`" -msgstr "" - -#: ../../whatsnew/3.10.rst:2236 -msgid "" -"Removed ``PyUnicode_GetMax()``. Please migrate to new (:pep:`393`) APIs. " -"(Contributed by Inada Naoki in :issue:`41103`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2239 -msgid "" -"Removed ``PyLong_FromUnicode()``. Please migrate to " -":c:func:`PyLong_FromUnicodeObject`. (Contributed by Inada Naoki in " -":issue:`41103`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2242 -msgid "" -"Removed ``PyUnicode_AsUnicodeCopy()``. Please use " -":c:func:`PyUnicode_AsUCS4Copy` or :c:func:`PyUnicode_AsWideCharString` " -"(Contributed by Inada Naoki in :issue:`41103`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2246 -msgid "" -"Removed ``_Py_CheckRecursionLimit`` variable: it has been replaced by " -"``ceval.recursion_limit`` of the :c:type:`PyInterpreterState` structure. " -"(Contributed by Victor Stinner in :issue:`41834`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2250 -msgid "" -"Removed undocumented macros ``Py_ALLOW_RECURSION`` and " -"``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of the " -":c:type:`PyInterpreterState` structure. (Contributed by Serhiy Storchaka in " -":issue:`41936`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2255 -msgid "" -"Removed the undocumented ``PyOS_InitInterrupts()`` function. Initializing " -"Python already implicitly installs signal handlers: see " -":c:member:`PyConfig.install_signal_handlers`. (Contributed by Victor Stinner" -" in :issue:`41713`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2260 -msgid "" -"Remove the ``PyAST_Validate()`` function. It is no longer possible to build " -"a AST object (``mod_ty`` type) with the public C API. The function was " -"already excluded from the limited C API (:pep:`384`). (Contributed by Victor" -" Stinner in :issue:`43244`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2265 -msgid "Remove the ``symtable.h`` header file and the undocumented functions:" -msgstr "" - -#: ../../whatsnew/3.10.rst:2267 -msgid "``PyST_GetScope()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2268 -msgid "``PySymtable_Build()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2269 -msgid "``PySymtable_BuildObject()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2270 -msgid "``PySymtable_Free()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2271 -msgid "``Py_SymtableString()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2272 -msgid "``Py_SymtableStringObject()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2274 -msgid "" -"The ``Py_SymtableString()`` function was part the stable ABI by mistake but " -"it could not be used, because the ``symtable.h`` header file was excluded " -"from the limited C API." -msgstr "" - -#: ../../whatsnew/3.10.rst:2278 -msgid "" -"Use Python :mod:`symtable` module instead. (Contributed by Victor Stinner in" -" :issue:`43244`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2281 -msgid "" -"Remove :c:func:`PyOS_ReadlineFunctionPointer` from the limited C API headers" -" and from ``python3.dll``, the library that provides the stable ABI on " -"Windows. Since the function takes a ``FILE*`` argument, its ABI stability " -"cannot be guaranteed. (Contributed by Petr Viktorin in :issue:`43868`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2287 -msgid "" -"Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files. These " -"functions were undocumented and excluded from the limited C API. Most names " -"defined by these header files were not prefixed by ``Py`` and so could " -"create names conflicts. For example, ``Python-ast.h`` defined a ``Yield`` " -"macro which was conflict with the ``Yield`` name used by the Windows " -"```` header. Use the Python :mod:`ast` module instead. " -"(Contributed by Victor Stinner in :issue:`43244`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2295 -msgid "" -"Remove the compiler and parser functions using ``struct _mod`` type, because" -" the public AST C API was removed:" -msgstr "" - -#: ../../whatsnew/3.10.rst:2298 -msgid "``PyAST_Compile()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2299 -msgid "``PyAST_CompileEx()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2300 -msgid "``PyAST_CompileObject()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2301 -msgid "``PyFuture_FromAST()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2302 -msgid "``PyFuture_FromASTObject()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2303 -msgid "``PyParser_ASTFromFile()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2304 -msgid "``PyParser_ASTFromFileObject()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2305 -msgid "``PyParser_ASTFromFilename()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2306 -msgid "``PyParser_ASTFromString()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2307 -msgid "``PyParser_ASTFromStringObject()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2309 -msgid "" -"These functions were undocumented and excluded from the limited C API. " -"(Contributed by Victor Stinner in :issue:`43244`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2312 -msgid "Remove the ``pyarena.h`` header file with functions:" -msgstr "" - -#: ../../whatsnew/3.10.rst:2314 -msgid "``PyArena_New()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2315 -msgid "``PyArena_Free()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2316 -msgid "``PyArena_Malloc()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2317 -msgid "``PyArena_AddPyObject()``" -msgstr "" - -#: ../../whatsnew/3.10.rst:2319 -msgid "" -"These functions were undocumented, excluded from the limited C API, and were" -" only used internally by the compiler. (Contributed by Victor Stinner in " -":issue:`43244`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2323 -msgid "" -"The ``PyThreadState.use_tracing`` member has been removed to optimize " -"Python. (Contributed by Mark Shannon in :issue:`43760`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2328 -msgid "Notable security feature in 3.10.7" -msgstr "" - -#: ../../whatsnew/3.10.rst:2330 -msgid "" -"Converting between :class:`int` and :class:`str` in bases other than 2 " -"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " -"now raises a :exc:`ValueError` if the number of digits in string form is " -"above a limit to avoid potential denial of service attacks due to the " -"algorithmic complexity. This is a mitigation for :cve:`2020-10735`. This " -"limit can be configured or disabled by environment variable, command line " -"flag, or :mod:`sys` APIs. See the :ref:`integer string conversion length " -"limitation ` documentation. The default limit is 4300 " -"digits in string form." -msgstr "" - -#: ../../whatsnew/3.10.rst:2341 -msgid "Notable security feature in 3.10.8" -msgstr "" - -#: ../../whatsnew/3.10.rst:2343 -msgid "" -"The deprecated :mod:`!mailcap` module now refuses to inject unsafe text " -"(filenames, MIME types, parameters) into shell commands. Instead of using " -"such text, it will warn and act as if a match was not found (or for test " -"commands, as if the test failed). (Contributed by Petr Viktorin in " -":gh:`98966`.)" -msgstr "" - -#: ../../whatsnew/3.10.rst:2350 -msgid "Notable changes in 3.10.12" -msgstr "" - -#: ../../whatsnew/3.10.rst:2353 -msgid "tarfile" -msgstr "tarfile" - -#: ../../whatsnew/3.10.rst:2355 -msgid "" -"The extraction methods in :mod:`tarfile`, and :func:`shutil.unpack_archive`," -" have a new a *filter* argument that allows limiting tar features than may " -"be surprising or dangerous, such as creating files outside the destination " -"directory. See :ref:`tarfile-extraction-filter` for details. In Python 3.12," -" use without the *filter* argument will show a :exc:`DeprecationWarning`. In" -" Python 3.14, the default will switch to ``'data'``. (Contributed by Petr " -"Viktorin in :pep:`706`.)" -msgstr "" diff --git a/python-newest.whatsnew--3_11/id.po b/python-newest.whatsnew--3_11/id.po deleted file mode 100644 index 4a98576..0000000 --- a/python-newest.whatsnew--3_11/id.po +++ /dev/null @@ -1,4511 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2022 -# oon arfiandwi , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 14:21+0000\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: oon arfiandwi , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.11.rst:3 -msgid "What's New In Python 3.11" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid "Editor" -msgstr "Editor" - -#: ../../whatsnew/3.11.rst:5 -msgid "Pablo Galindo Salgado" -msgstr "" - -#: ../../whatsnew/3.11.rst:47 -msgid "" -"This article explains the new features in Python 3.11, compared to 3.10. " -"Python 3.11 was released on October 24, 2022. For full details, see the " -":ref:`changelog `." -msgstr "" - -#: ../../whatsnew/3.11.rst:55 -msgid "Summary -- Release highlights" -msgstr "Ringkasan -- Sorotan Rilis" - -#: ../../whatsnew/3.11.rst:60 -msgid "" -"Python 3.11 is between 10-60% faster than Python 3.10. On average, we " -"measured a 1.25x speedup on the standard benchmark suite. See " -":ref:`whatsnew311-faster-cpython` for details." -msgstr "" - -#: ../../whatsnew/3.11.rst:66 -msgid "New syntax features:" -msgstr "Fitur sintaks baru:" - -#: ../../whatsnew/3.11.rst:68 -msgid ":ref:`whatsnew311-pep654`" -msgstr "" - -#: ../../whatsnew/3.11.rst:70 -msgid "New built-in features:" -msgstr "Fitur bawaan baru:" - -#: ../../whatsnew/3.11.rst:72 -msgid ":ref:`whatsnew311-pep678`" -msgstr "" - -#: ../../whatsnew/3.11.rst:74 -msgid "New standard library modules:" -msgstr "" - -#: ../../whatsnew/3.11.rst:76 -msgid "" -":pep:`680`: :mod:`tomllib` — Support for parsing `TOML `_ " -"in the Standard Library" -msgstr "" - -#: ../../whatsnew/3.11.rst:79 -msgid "Interpreter improvements:" -msgstr "Peningkatan Interpreter:" - -#: ../../whatsnew/3.11.rst:81 -msgid ":ref:`whatsnew311-pep657`" -msgstr "" - -#: ../../whatsnew/3.11.rst:82 -msgid "" -"New :option:`-P` command line option and :envvar:`PYTHONSAFEPATH` " -"environment variable to :ref:`disable automatically prepending potentially " -"unsafe paths ` to :data:`sys.path`" -msgstr "" - -#: ../../whatsnew/3.11.rst:86 -msgid "New typing features:" -msgstr "" - -#: ../../whatsnew/3.11.rst:88 -msgid ":ref:`whatsnew311-pep646`" -msgstr "" - -#: ../../whatsnew/3.11.rst:89 -msgid ":ref:`whatsnew311-pep655`" -msgstr "" - -#: ../../whatsnew/3.11.rst:90 -msgid ":ref:`whatsnew311-pep673`" -msgstr "" - -#: ../../whatsnew/3.11.rst:91 -msgid ":ref:`whatsnew311-pep675`" -msgstr "" - -#: ../../whatsnew/3.11.rst:92 -msgid ":ref:`whatsnew311-pep681`" -msgstr "" - -#: ../../whatsnew/3.11.rst:94 -msgid "Important deprecations, removals and restrictions:" -msgstr "" - -#: ../../whatsnew/3.11.rst:96 -msgid "" -":pep:`594`: :ref:`Many legacy standard library modules have been deprecated " -"` and will be removed in Python 3.13" -msgstr "" - -#: ../../whatsnew/3.11.rst:99 -msgid "" -":pep:`624`: :ref:`Py_UNICODE encoder APIs have been removed " -"`" -msgstr "" - -#: ../../whatsnew/3.11.rst:101 -msgid "" -":pep:`670`: :ref:`Macros converted to static inline functions " -"`" -msgstr "" - -#: ../../whatsnew/3.11.rst:108 ../../whatsnew/3.11.rst:2211 -msgid "New Features" -msgstr "Fitur-fitur Baru" - -#: ../../whatsnew/3.11.rst:113 -msgid "PEP 657: Fine-grained error locations in tracebacks" -msgstr "" - -#: ../../whatsnew/3.11.rst:115 -msgid "" -"When printing tracebacks, the interpreter will now point to the exact " -"expression that caused the error, instead of just the line. For example:" -msgstr "" - -#: ../../whatsnew/3.11.rst:118 -msgid "" -"Traceback (most recent call last):\n" -" File \"distance.py\", line 11, in \n" -" print(manhattan_distance(p1, p2))\n" -" ^^^^^^^^^^^^^^^^^^^^^^^^^^\n" -" File \"distance.py\", line 6, in manhattan_distance\n" -" return abs(point_1.x - point_2.x) + abs(point_1.y - point_2.y)\n" -" ^^^^^^^^^\n" -"AttributeError: 'NoneType' object has no attribute 'x'" -msgstr "" - -#: ../../whatsnew/3.11.rst:129 -msgid "" -"Previous versions of the interpreter would point to just the line, making it" -" ambiguous which object was ``None``. These enhanced errors can also be " -"helpful when dealing with deeply nested :class:`dict` objects and multiple " -"function calls:" -msgstr "" - -#: ../../whatsnew/3.11.rst:133 -msgid "" -"Traceback (most recent call last):\n" -" File \"query.py\", line 37, in \n" -" magic_arithmetic('foo')\n" -" File \"query.py\", line 18, in magic_arithmetic\n" -" return add_counts(x) / 25\n" -" ^^^^^^^^^^^^^\n" -" File \"query.py\", line 24, in add_counts\n" -" return 25 + query_user(user1) + query_user(user2)\n" -" ^^^^^^^^^^^^^^^^^\n" -" File \"query.py\", line 32, in query_user\n" -" return 1 + query_count(db, response['a']['b']['c']['user'], retry=True)\n" -" ~~~~~~~~~~~~~~~~~~^^^^^\n" -"TypeError: 'NoneType' object is not subscriptable" -msgstr "" - -#: ../../whatsnew/3.11.rst:149 -msgid "As well as complex arithmetic expressions:" -msgstr "" - -#: ../../whatsnew/3.11.rst:151 -msgid "" -"Traceback (most recent call last):\n" -" File \"calculation.py\", line 54, in \n" -" result = (x / y / z) * (a / b / c)\n" -" ~~~~~~^~~\n" -"ZeroDivisionError: division by zero" -msgstr "" - -#: ../../whatsnew/3.11.rst:159 -msgid "" -"Additionally, the information used by the enhanced traceback feature is made" -" available via a general API, that can be used to correlate :term:`bytecode`" -" :ref:`instructions ` with source code location. This information" -" can be retrieved using:" -msgstr "" - -#: ../../whatsnew/3.11.rst:164 -msgid "The :meth:`codeobject.co_positions` method in Python." -msgstr "" - -#: ../../whatsnew/3.11.rst:165 -msgid "The :c:func:`PyCode_Addr2Location` function in the C API." -msgstr "" - -#: ../../whatsnew/3.11.rst:167 -msgid "" -"See :pep:`657` for more details. (Contributed by Pablo Galindo, Batuhan " -"Taskaya and Ammar Askar in :issue:`43950`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:171 -msgid "" -"This feature requires storing column positions in :ref:`codeobjects`, which " -"may result in a small increase in interpreter memory usage and disk usage " -"for compiled Python files. To avoid storing the extra information and " -"deactivate printing the extra traceback information, use the :option:`-X " -"no_debug_ranges <-X>` command line option or the " -":envvar:`PYTHONNODEBUGRANGES` environment variable." -msgstr "" - -#: ../../whatsnew/3.11.rst:183 -msgid "PEP 654: Exception Groups and ``except*``" -msgstr "" - -#: ../../whatsnew/3.11.rst:185 -msgid "" -":pep:`654` introduces language features that enable a program to raise and " -"handle multiple unrelated exceptions simultaneously. The builtin types " -":exc:`ExceptionGroup` and :exc:`BaseExceptionGroup` make it possible to " -"group exceptions and raise them together, and the new :keyword:`except* " -"` syntax generalizes :keyword:`except` to match subgroups of " -"exception groups." -msgstr "" - -#: ../../whatsnew/3.11.rst:192 -msgid "See :pep:`654` for more details." -msgstr "" - -#: ../../whatsnew/3.11.rst:194 -msgid "" -"(Contributed by Irit Katriel in :issue:`45292`. PEP written by Irit Katriel," -" Yury Selivanov and Guido van Rossum.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:201 -msgid "PEP 678: Exceptions can be enriched with notes" -msgstr "" - -#: ../../whatsnew/3.11.rst:203 -msgid "" -"The :meth:`~BaseException.add_note` method is added to :exc:`BaseException`." -" It can be used to enrich exceptions with context information that is not " -"available at the time when the exception is raised. The added notes appear " -"in the default traceback." -msgstr "" - -#: ../../whatsnew/3.11.rst:208 -msgid "See :pep:`678` for more details." -msgstr "" - -#: ../../whatsnew/3.11.rst:210 -msgid "" -"(Contributed by Irit Katriel in :issue:`45607`. PEP written by Zac Hatfield-" -"Dodds.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:217 -msgid "Windows ``py.exe`` launcher improvements" -msgstr "" - -#: ../../whatsnew/3.11.rst:219 -msgid "" -"The copy of the :ref:`launcher` included with Python 3.11 has been " -"significantly updated. It now supports company/tag syntax as defined in " -":pep:`514` using the :samp:`-V:{}/{}` argument instead of the " -"limited :samp:`-{}.{}`. This allows launching distributions " -"other than ``PythonCore``, the one hosted on `python.org " -"`_." -msgstr "" - -#: ../../whatsnew/3.11.rst:225 -msgid "" -"When using ``-V:`` selectors, either company or tag can be omitted, but all " -"installs will be searched. For example, ``-V:OtherPython/`` will select the " -"\"best\" tag registered for ``OtherPython``, while ``-V:3.11`` or " -"``-V:/3.11`` will select the \"best\" distribution with tag ``3.11``." -msgstr "" - -#: ../../whatsnew/3.11.rst:230 -msgid "" -"When using the legacy :samp:`-{}`, :samp:`-{}.{}`, " -":samp:`-{}-{}` or :samp:`-{}.{}-{}` " -"arguments, all existing behaviour should be preserved from past versions, " -"and only releases from ``PythonCore`` will be selected. However, the ``-64``" -" suffix now implies \"not 32-bit\" (not necessarily x86-64), as there are " -"multiple supported 64-bit platforms. 32-bit runtimes are detected by " -"checking the runtime's tag for a ``-32`` suffix. All releases of Python " -"since 3.5 have included this in their 32-bit builds." -msgstr "" - -#: ../../whatsnew/3.11.rst:244 -msgid "New Features Related to Type Hints" -msgstr "" - -#: ../../whatsnew/3.11.rst:246 -msgid "" -"This section covers major changes affecting :pep:`484` type hints and the " -":mod:`typing` module." -msgstr "" - -#: ../../whatsnew/3.11.rst:253 -msgid "PEP 646: Variadic generics" -msgstr "" - -#: ../../whatsnew/3.11.rst:255 -msgid "" -":pep:`484` previously introduced :data:`~typing.TypeVar`, enabling creation " -"of generics parameterised with a single type. :pep:`646` adds " -":data:`~typing.TypeVarTuple`, enabling parameterisation with an *arbitrary* " -"number of types. In other words, a :data:`~typing.TypeVarTuple` is a " -"*variadic* type variable, enabling *variadic* generics." -msgstr "" - -#: ../../whatsnew/3.11.rst:262 -msgid "" -"This enables a wide variety of use cases. In particular, it allows the type " -"of array-like structures in numerical computing libraries such as NumPy and " -"TensorFlow to be parameterised with the array *shape*. Static type checkers " -"will now be able to catch shape-related bugs in code that uses these " -"libraries." -msgstr "" - -#: ../../whatsnew/3.11.rst:268 -msgid "See :pep:`646` for more details." -msgstr "" - -#: ../../whatsnew/3.11.rst:270 -msgid "" -"(Contributed by Matthew Rahtz in :issue:`43224`, with contributions by " -"Serhiy Storchaka and Jelle Zijlstra. PEP written by Mark Mendoza, Matthew " -"Rahtz, Pradeep Kumar Srinivasan, and Vincent Siles.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:278 -msgid "" -"PEP 655: Marking individual ``TypedDict`` items as required or not-required" -msgstr "" - -#: ../../whatsnew/3.11.rst:280 -msgid "" -":data:`~typing.Required` and :data:`~typing.NotRequired` provide a " -"straightforward way to mark whether individual items in a " -":class:`~typing.TypedDict` must be present. Previously, this was only " -"possible using inheritance." -msgstr "" - -#: ../../whatsnew/3.11.rst:285 -msgid "" -"All fields are still required by default, unless the *total* parameter is " -"set to ``False``, in which case all fields are still not-required by " -"default. For example, the following specifies a :class:`!TypedDict` with one" -" required and one not-required key::" -msgstr "" - -#: ../../whatsnew/3.11.rst:291 -msgid "" -"class Movie(TypedDict):\n" -" title: str\n" -" year: NotRequired[int]\n" -"\n" -"m1: Movie = {\"title\": \"Black Panther\", \"year\": 2018} # OK\n" -"m2: Movie = {\"title\": \"Star Wars\"} # OK (year is not required)\n" -"m3: Movie = {\"year\": 2022} # ERROR (missing required field title)" -msgstr "" - -#: ../../whatsnew/3.11.rst:299 -msgid "The following definition is equivalent::" -msgstr "" - -#: ../../whatsnew/3.11.rst:301 -msgid "" -"class Movie(TypedDict, total=False):\n" -" title: Required[str]\n" -" year: int" -msgstr "" - -#: ../../whatsnew/3.11.rst:305 -msgid "See :pep:`655` for more details." -msgstr "" - -#: ../../whatsnew/3.11.rst:307 -msgid "" -"(Contributed by David Foster and Jelle Zijlstra in :issue:`47087`. PEP " -"written by David Foster.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:314 -msgid "PEP 673: ``Self`` type" -msgstr "" - -#: ../../whatsnew/3.11.rst:316 -msgid "" -"The new :data:`~typing.Self` annotation provides a simple and intuitive way " -"to annotate methods that return an instance of their class. This behaves the" -" same as the :class:`~typing.TypeVar`-based approach :pep:`specified in PEP " -"484 <484#annotating-instance-and-class-methods>`, but is more concise and " -"easier to follow." -msgstr "" - -#: ../../whatsnew/3.11.rst:322 -msgid "" -"Common use cases include alternative constructors provided as " -":func:`classmethod `\\s, and :meth:`~object.__enter__` methods " -"that return ``self``::" -msgstr "" - -#: ../../whatsnew/3.11.rst:326 -msgid "" -"class MyLock:\n" -" def __enter__(self) -> Self:\n" -" self.lock()\n" -" return self\n" -"\n" -" ...\n" -"\n" -"class MyInt:\n" -" @classmethod\n" -" def fromhex(cls, s: str) -> Self:\n" -" return cls(int(s, 16))\n" -"\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.11.rst:340 -msgid "" -":data:`~typing.Self` can also be used to annotate method parameters or " -"attributes of the same type as their enclosing class." -msgstr "" - -#: ../../whatsnew/3.11.rst:343 -msgid "See :pep:`673` for more details." -msgstr "" - -#: ../../whatsnew/3.11.rst:345 -msgid "" -"(Contributed by James Hilton-Balfe in :issue:`46534`. PEP written by Pradeep" -" Kumar Srinivasan and James Hilton-Balfe.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:352 -msgid "PEP 675: Arbitrary literal string type" -msgstr "" - -#: ../../whatsnew/3.11.rst:354 -msgid "" -"The new :data:`~typing.LiteralString` annotation may be used to indicate " -"that a function parameter can be of any literal string type. This allows a " -"function to accept arbitrary literal string types, as well as strings " -"created from other literal strings. Type checkers can then enforce that " -"sensitive functions, such as those that execute SQL statements or shell " -"commands, are called only with static arguments, providing protection " -"against injection attacks." -msgstr "" - -#: ../../whatsnew/3.11.rst:362 -msgid "For example, a SQL query function could be annotated as follows::" -msgstr "" - -#: ../../whatsnew/3.11.rst:364 -msgid "" -"def run_query(sql: LiteralString) -> ...\n" -" ...\n" -"\n" -"def caller(\n" -" arbitrary_string: str,\n" -" query_string: LiteralString,\n" -" table_name: LiteralString,\n" -") -> None:\n" -" run_query(\"SELECT * FROM students\") # ok\n" -" run_query(query_string) # ok\n" -" run_query(\"SELECT * FROM \" + table_name) # ok\n" -" run_query(arbitrary_string) # type checker error\n" -" run_query( # type checker error\n" -" f\"SELECT * FROM students WHERE name = {arbitrary_string}\"\n" -" )" -msgstr "" - -#: ../../whatsnew/3.11.rst:380 -msgid "See :pep:`675` for more details." -msgstr "" - -#: ../../whatsnew/3.11.rst:382 -msgid "" -"(Contributed by Jelle Zijlstra in :issue:`47088`. PEP written by Pradeep " -"Kumar Srinivasan and Graham Bleaney.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:389 -msgid "PEP 681: Data class transforms" -msgstr "" - -#: ../../whatsnew/3.11.rst:391 -msgid "" -":data:`~typing.dataclass_transform` may be used to decorate a class, " -"metaclass, or a function that is itself a decorator. The presence of " -"``@dataclass_transform()`` tells a static type checker that the decorated " -"object performs runtime \"magic\" that transforms a class, giving it " -":func:`dataclass `-like behaviors." -msgstr "" - -#: ../../whatsnew/3.11.rst:397 -msgid "For example::" -msgstr "Sebagai contoh::" - -#: ../../whatsnew/3.11.rst:399 -msgid "" -"# The create_model decorator is defined by a library.\n" -"@typing.dataclass_transform()\n" -"def create_model(cls: Type[T]) -> Type[T]:\n" -" cls.__init__ = ...\n" -" cls.__eq__ = ...\n" -" cls.__ne__ = ...\n" -" return cls\n" -"\n" -"# The create_model decorator can now be used to create new model classes:\n" -"@create_model\n" -"class CustomerModel:\n" -" id: int\n" -" name: str\n" -"\n" -"c = CustomerModel(id=327, name=\"Eric Idle\")" -msgstr "" - -#: ../../whatsnew/3.11.rst:415 -msgid "See :pep:`681` for more details." -msgstr "" - -#: ../../whatsnew/3.11.rst:417 -msgid "" -"(Contributed by Jelle Zijlstra in :gh:`91860`. PEP written by Erik De Bonte " -"and Eric Traut.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:424 -msgid "PEP 563 may not be the future" -msgstr "" - -#: ../../whatsnew/3.11.rst:426 -msgid "" -":pep:`563` Postponed Evaluation of Annotations (the ``from __future__ import" -" annotations`` :ref:`future statement `) that was originally planned" -" for release in Python 3.10 has been put on hold indefinitely. See `this " -"message from the Steering Council " -"`__ for more " -"information." -msgstr "" - -#: ../../whatsnew/3.11.rst:437 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.11.rst:439 -msgid "" -"Starred unpacking expressions can now be used in :keyword:`for` statements. " -"(See :issue:`46725` for more details.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:442 -msgid "" -"Asynchronous :ref:`comprehensions ` are now allowed inside " -"comprehensions in :ref:`asynchronous functions `. Outer " -"comprehensions implicitly become asynchronous in this case. (Contributed by " -"Serhiy Storchaka in :issue:`33346`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:447 -msgid "" -"A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in " -":keyword:`with` statements and :meth:`contextlib.ExitStack.enter_context` " -"for objects that do not support the :term:`context manager` protocol, and in" -" :keyword:`async with` statements and " -":meth:`contextlib.AsyncExitStack.enter_async_context` for objects not " -"supporting the :term:`asynchronous context manager` protocol. (Contributed " -"by Serhiy Storchaka in :issue:`12022` and :issue:`44471`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:455 -msgid "" -"Added :meth:`object.__getstate__`, which provides the default implementation" -" of the :meth:`!__getstate__` method. :mod:`copy`\\ing and " -":mod:`pickle`\\ing instances of subclasses of builtin types " -":class:`bytearray`, :class:`set`, :class:`frozenset`, " -":class:`collections.OrderedDict`, :class:`collections.deque`, " -":class:`weakref.WeakSet`, and :class:`datetime.tzinfo` now copies and " -"pickles instance attributes implemented as :term:`slots <__slots__>`. This " -"change has an unintended side effect: It trips up a small minority of " -"existing Python projects not expecting :meth:`object.__getstate__` to exist." -" See the later comments on :gh:`70766` for discussions of what workarounds " -"such code may need. (Contributed by Serhiy Storchaka in :issue:`26579`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:470 -msgid "" -"Added a :option:`-P` command line option and a :envvar:`PYTHONSAFEPATH` " -"environment variable, which disable the automatic prepending to " -":data:`sys.path` of the script's directory when running a script, or the " -"current directory when using :option:`-c` and :option:`-m`. This ensures " -"only stdlib and installed modules are picked up by :keyword:`import`, and " -"avoids unintentionally or maliciously shadowing modules with those in a " -"local (and typically user-writable) directory. (Contributed by Victor " -"Stinner in :gh:`57684`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:481 -msgid "" -"A ``\"z\"`` option was added to the :ref:`formatspec` that coerces negative " -"to positive zero after rounding to the format precision. See :pep:`682` for " -"more details. (Contributed by John Belmonte in :gh:`90153`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:486 -msgid "" -"Bytes are no longer accepted on :data:`sys.path`. Support broke sometime " -"between Python 3.2 and 3.6, with no one noticing until after Python 3.10.0 " -"was released. In addition, bringing back support would be problematic due to" -" interactions between :option:`-b` and :data:`sys.path_importer_cache` when " -"there is a mixture of :class:`str` and :class:`bytes` keys. (Contributed by " -"Thomas Grainger in :gh:`91181`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:497 -msgid "Other CPython Implementation Changes" -msgstr "" - -#: ../../whatsnew/3.11.rst:499 -msgid "" -"The special methods :meth:`~object.__complex__` for :class:`complex` and " -":meth:`~object.__bytes__` for :class:`bytes` are implemented to support the " -":class:`typing.SupportsComplex` and :class:`typing.SupportsBytes` protocols." -" (Contributed by Mark Dickinson and Donghee Na in :issue:`24234`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:504 -msgid "" -"``siphash13`` is added as a new internal hashing algorithm. It has similar " -"security properties as ``siphash24``, but it is slightly faster for long " -"inputs. :class:`str`, :class:`bytes`, and some other types now use it as the" -" default algorithm for :func:`hash`. :pep:`552` :ref:`hash-based .pyc files " -"` now use ``siphash13`` too. (Contributed by Inada Naoki " -"in :issue:`29410`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:513 -msgid "" -"When an active exception is re-raised by a :keyword:`raise` statement with " -"no parameters, the traceback attached to this exception is now always " -"``sys.exc_info()[1].__traceback__``. This means that changes made to the " -"traceback in the current :keyword:`except` clause are reflected in the re-" -"raised exception. (Contributed by Irit Katriel in :issue:`45711`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:519 -msgid "" -"The interpreter state's representation of handled exceptions (aka " -"``exc_info`` or ``_PyErr_StackItem``) now only has the ``exc_value`` field; " -"``exc_type`` and ``exc_traceback`` have been removed, as they can be derived" -" from ``exc_value``. (Contributed by Irit Katriel in :issue:`45711`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:525 -msgid "" -"A new :ref:`command line option `, ``AppendPath``, has" -" been added for the Windows installer. It behaves similarly to " -"``PrependPath``, but appends the install and scripts directories instead of " -"prepending them. (Contributed by Bastian Neuburger in :issue:`44934`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:531 -msgid "" -"The :c:member:`PyConfig.module_search_paths_set` field must now be set to " -"``1`` for initialization to use :c:member:`PyConfig.module_search_paths` to " -"initialize :data:`sys.path`. Otherwise, initialization will recalculate the " -"path and replace any values added to ``module_search_paths``." -msgstr "" - -#: ../../whatsnew/3.11.rst:536 -msgid "" -"The output of the :option:`--help` option now fits in 50 lines/80 columns. " -"Information about :ref:`Python environment variables ` and" -" :option:`-X` options is now available using the respective :option:`--help-" -"env` and :option:`--help-xoptions` flags, and with the new :option:`--help-" -"all`. (Contributed by Éric Araujo in :issue:`46142`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:543 -msgid "" -"Converting between :class:`int` and :class:`str` in bases other than 2 " -"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " -"now raises a :exc:`ValueError` if the number of digits in string form is " -"above a limit to avoid potential denial of service attacks due to the " -"algorithmic complexity. This is a mitigation for :cve:`2020-10735`. This " -"limit can be configured or disabled by environment variable, command line " -"flag, or :mod:`sys` APIs. See the :ref:`integer string conversion length " -"limitation ` documentation. The default limit is 4300 " -"digits in string form." -msgstr "" - -#: ../../whatsnew/3.11.rst:557 -msgid "New Modules" -msgstr "Modul-Modul Baru" - -#: ../../whatsnew/3.11.rst:559 -msgid "" -":mod:`tomllib`: For parsing `TOML `_. See :pep:`680` for " -"more details. (Contributed by Taneli Hukkinen in :issue:`40059`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:563 -msgid "" -":mod:`wsgiref.types`: :pep:`WSGI <3333>`-specific types for static type " -"checking. (Contributed by Sebastian Rittau in :issue:`42012`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:571 -msgid "Improved Modules" -msgstr "Modul yang Ditingkatkan" - -#: ../../whatsnew/3.11.rst:576 -msgid "asyncio" -msgstr "asyncio" - -#: ../../whatsnew/3.11.rst:578 -msgid "" -"Added the :class:`~asyncio.TaskGroup` class, an :ref:`asynchronous context " -"manager ` holding a group of tasks that will wait " -"for all of them upon exit. For new code this is recommended over using " -":func:`~asyncio.create_task` and :func:`~asyncio.gather` directly. " -"(Contributed by Yury Selivanov and others in :gh:`90908`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:585 -msgid "" -"Added :func:`~asyncio.timeout`, an asynchronous context manager for setting " -"a timeout on asynchronous operations. For new code this is recommended over " -"using :func:`~asyncio.wait_for` directly. (Contributed by Andrew Svetlov in " -":gh:`90927`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:590 -msgid "" -"Added the :class:`~asyncio.Runner` class, which exposes the machinery used " -"by :func:`~asyncio.run`. (Contributed by Andrew Svetlov in :gh:`91218`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:594 -msgid "" -"Added the :class:`~asyncio.Barrier` class to the synchronization primitives " -"in the asyncio library, and the related :exc:`~asyncio.BrokenBarrierError` " -"exception. (Contributed by Yves Duprat and Andrew Svetlov in :gh:`87518`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:599 -msgid "" -"Added keyword argument *all_errors* to " -":meth:`asyncio.loop.create_connection` so that multiple connection errors " -"can be raised as an :exc:`ExceptionGroup`." -msgstr "" - -#: ../../whatsnew/3.11.rst:602 -msgid "" -"Added the :meth:`asyncio.StreamWriter.start_tls` method for upgrading " -"existing stream-based connections to TLS. (Contributed by Ian Good in " -":issue:`34975`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:606 -msgid "" -"Added raw datagram socket functions to the event loop: " -":meth:`~asyncio.loop.sock_sendto`, :meth:`~asyncio.loop.sock_recvfrom` and " -":meth:`~asyncio.loop.sock_recvfrom_into`. These have implementations in " -":class:`~asyncio.SelectorEventLoop` and :class:`~asyncio.ProactorEventLoop`." -" (Contributed by Alex Grönholm in :issue:`46805`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:614 -msgid "" -"Added :meth:`~asyncio.Task.cancelling` and :meth:`~asyncio.Task.uncancel` " -"methods to :class:`~asyncio.Task`. These are primarily intended for internal" -" use, notably by :class:`~asyncio.TaskGroup`." -msgstr "" - -#: ../../whatsnew/3.11.rst:623 -msgid "contextlib" -msgstr "contextlib" - -#: ../../whatsnew/3.11.rst:625 -msgid "" -"Added non parallel-safe :func:`~contextlib.chdir` context manager to change " -"the current working directory and then restore it on exit. Simple wrapper " -"around :func:`~os.chdir`. (Contributed by Filipe Laíns in :issue:`25625`)" -msgstr "" - -#: ../../whatsnew/3.11.rst:633 -msgid "dataclasses" -msgstr "dataclasses" - -#: ../../whatsnew/3.11.rst:635 -msgid "" -"Change field default mutability check, allowing only defaults which are " -":term:`hashable` instead of any object which is not an instance of " -":class:`dict`, :class:`list` or :class:`set`. (Contributed by Eric V. Smith " -"in :issue:`44674`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:644 -msgid "datetime" -msgstr "datetime" - -#: ../../whatsnew/3.11.rst:646 -msgid "" -"Add :const:`datetime.UTC`, a convenience alias for " -":attr:`datetime.timezone.utc`. (Contributed by Kabir Kwatra in :gh:`91973`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:649 -msgid "" -":meth:`datetime.date.fromisoformat`, :meth:`datetime.time.fromisoformat` and" -" :meth:`datetime.datetime.fromisoformat` can now be used to parse most ISO " -"8601 formats (barring only those that support fractional hours and minutes)." -" (Contributed by Paul Ganssle in :gh:`80010`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:658 -msgid "enum" -msgstr "enum" - -#: ../../whatsnew/3.11.rst:660 -msgid "" -"Renamed :class:`!EnumMeta` to :class:`~enum.EnumType` (:class:`!EnumMeta` " -"kept as an alias)." -msgstr "" - -#: ../../whatsnew/3.11.rst:663 -msgid "" -"Added :class:`~enum.StrEnum`, with members that can be used as (and must be)" -" strings." -msgstr "" - -#: ../../whatsnew/3.11.rst:666 -msgid "" -"Added :class:`~enum.ReprEnum`, which only modifies the " -":meth:`~object.__repr__` of members while returning their literal values " -"(rather than names) for :meth:`~object.__str__` and " -":meth:`~object.__format__` (used by :func:`str`, :func:`format` and " -":term:`f-string`\\s)." -msgstr "" - -#: ../../whatsnew/3.11.rst:672 -msgid "" -"Changed :meth:`Enum.__format__() ` (the default for " -":func:`format`, :meth:`str.format` and :term:`f-string`\\s) to always " -"produce the same result as :meth:`Enum.__str__() `: for " -"enums inheriting from :class:`~enum.ReprEnum` it will be the member's value;" -" for all other enums it will be the enum and member name (e.g. " -"``Color.RED``)." -msgstr "" - -#: ../../whatsnew/3.11.rst:678 -msgid "" -"Added a new *boundary* class parameter to :class:`~enum.Flag` enums and the " -":class:`~enum.FlagBoundary` enum with its options, to control how to handle " -"out-of-range flag values." -msgstr "" - -#: ../../whatsnew/3.11.rst:682 -msgid "" -"Added the :func:`~enum.verify` enum decorator and the " -":class:`~enum.EnumCheck` enum with its options, to check enum classes " -"against several specific constraints." -msgstr "" - -#: ../../whatsnew/3.11.rst:686 -msgid "" -"Added the :func:`~enum.member` and :func:`~enum.nonmember` decorators, to " -"ensure the decorated object is/is not converted to an enum member." -msgstr "" - -#: ../../whatsnew/3.11.rst:689 -msgid "" -"Added the :func:`~enum.property` decorator, which works like " -":func:`property` except for enums. Use this instead of " -":func:`types.DynamicClassAttribute`." -msgstr "" - -#: ../../whatsnew/3.11.rst:693 -msgid "" -"Added the :func:`~enum.global_enum` enum decorator, which adjusts " -":meth:`~object.__repr__` and :meth:`~object.__str__` to show values as " -"members of their module rather than the enum class. For example, " -"``'re.ASCII'`` for the :const:`~re.ASCII` member of :class:`re.RegexFlag` " -"rather than ``'RegexFlag.ASCII'``." -msgstr "" - -#: ../../whatsnew/3.11.rst:699 -msgid "" -"Enhanced :class:`~enum.Flag` to support :func:`len`, iteration and " -":keyword:`in`/:keyword:`not in` on its members. For example, the following " -"now works: ``len(AFlag(3)) == 2 and list(AFlag(3)) == (AFlag.ONE, " -"AFlag.TWO)``" -msgstr "" - -#: ../../whatsnew/3.11.rst:704 -msgid "" -"Changed :class:`~enum.Enum` and :class:`~enum.Flag` so that members are now " -"defined before :meth:`~object.__init_subclass__` is called; :func:`dir` now " -"includes methods, etc., from mixed-in data types." -msgstr "" - -#: ../../whatsnew/3.11.rst:709 -msgid "" -"Changed :class:`~enum.Flag` to only consider primary values (power of two) " -"canonical while composite values (``3``, ``6``, ``10``, etc.) are considered" -" aliases; inverted flags are coerced to their positive equivalent." -msgstr "" - -#: ../../whatsnew/3.11.rst:718 -msgid "fcntl" -msgstr "" - -#: ../../whatsnew/3.11.rst:720 -msgid "" -"On FreeBSD, the :data:`!F_DUP2FD` and :data:`!F_DUP2FD_CLOEXEC` flags " -"respectively are supported, the former equals to ``dup2`` usage while the " -"latter set the ``FD_CLOEXEC`` flag in addition." -msgstr "" - -#: ../../whatsnew/3.11.rst:728 -msgid "fractions" -msgstr "" - -#: ../../whatsnew/3.11.rst:730 -msgid "" -"Support :PEP:`515`-style initialization of :class:`~fractions.Fraction` from" -" string. (Contributed by Sergey B Kirpichev in :issue:`44258`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:733 -msgid "" -":class:`~fractions.Fraction` now implements an ``__int__`` method, so that " -"an ``isinstance(some_fraction, typing.SupportsInt)`` check passes. " -"(Contributed by Mark Dickinson in :issue:`44547`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:741 -msgid "functools" -msgstr "functools" - -#: ../../whatsnew/3.11.rst:743 -msgid "" -":func:`functools.singledispatch` now supports :class:`types.UnionType` and " -":class:`typing.Union` as annotations to the dispatch argument.::" -msgstr "" - -#: ../../whatsnew/3.11.rst:746 -msgid "" -">>> from functools import singledispatch\n" -">>> @singledispatch\n" -"... def fun(arg, verbose=False):\n" -"... if verbose:\n" -"... print(\"Let me just say,\", end=\" \")\n" -"... print(arg)\n" -"...\n" -">>> @fun.register\n" -"... def _(arg: int | float, verbose=False):\n" -"... if verbose:\n" -"... print(\"Strength in numbers, eh?\", end=\" \")\n" -"... print(arg)\n" -"...\n" -">>> from typing import Union\n" -">>> @fun.register\n" -"... def _(arg: Union[list, set], verbose=False):\n" -"... if verbose:\n" -"... print(\"Enumerate this:\")\n" -"... for i, elem in enumerate(arg):\n" -"... print(i, elem)\n" -"..." -msgstr "" - -#: ../../whatsnew/3.11.rst:768 -msgid "(Contributed by Yurii Karabas in :issue:`46014`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:774 -msgid "gzip" -msgstr "gzip" - -#: ../../whatsnew/3.11.rst:776 -msgid "" -"The :func:`gzip.compress` function is now faster when used with the " -"**mtime=0** argument as it delegates the compression entirely to a single " -":func:`zlib.compress` operation. There is one side effect of this change: " -"The gzip file header contains an \"OS\" byte in its header. That was " -"traditionally always set to a value of 255 representing \"unknown\" by the " -":mod:`gzip` module. Now, when using :func:`~gzip.compress` with **mtime=0**," -" it may be set to a different value by the underlying zlib C library Python " -"was linked against. (See :gh:`112346` for details on the side effect.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:789 -msgid "hashlib" -msgstr "" - -#: ../../whatsnew/3.11.rst:791 -msgid "" -":func:`hashlib.blake2b` and :func:`hashlib.blake2s` now prefer `libb2`_ over" -" Python's vendored copy. (Contributed by Christian Heimes in " -":issue:`47095`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:795 -msgid "" -"The internal ``_sha3`` module with SHA3 and SHAKE algorithms now uses " -"*tiny_sha3* instead of the *Keccak Code Package* to reduce code and binary " -"size. The :mod:`hashlib` module prefers optimized SHA3 and SHAKE " -"implementations from OpenSSL. The change affects only installations without " -"OpenSSL support. (Contributed by Christian Heimes in :issue:`47098`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:802 -msgid "" -"Add :func:`hashlib.file_digest`, a helper function for efficient hashing of " -"files or file-like objects. (Contributed by Christian Heimes in " -":gh:`89313`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:810 -msgid "IDLE and idlelib" -msgstr "" - -#: ../../whatsnew/3.11.rst:812 -msgid "" -"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " -"and Terry Jan Reedy in :issue:`45447`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:815 -msgid "" -"Include prompts when saving Shell with inputs and outputs. (Contributed by " -"Terry Jan Reedy in :gh:`95191`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:822 -msgid "inspect" -msgstr "inspect" - -#: ../../whatsnew/3.11.rst:824 -msgid "" -"Add :func:`~inspect.getmembers_static` to return all members without " -"triggering dynamic lookup via the descriptor protocol. (Contributed by " -"Weipeng Hong in :issue:`30533`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:828 -msgid "" -"Add :func:`~inspect.ismethodwrapper` for checking if the type of an object " -"is a :class:`~types.MethodWrapperType`. (Contributed by Hakan Çelik in " -":issue:`29418`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:832 -msgid "" -"Change the frame-related functions in the :mod:`inspect` module to return " -"new :class:`~inspect.FrameInfo` and :class:`~inspect.Traceback` class " -"instances (backwards compatible with the previous :term:`named tuple`-like " -"interfaces) that includes the extended :pep:`657` position information (end " -"line number, column and end column). The affected functions are:" -msgstr "" - -#: ../../whatsnew/3.11.rst:838 -msgid ":func:`inspect.getframeinfo`" -msgstr "" - -#: ../../whatsnew/3.11.rst:839 -msgid ":func:`inspect.getouterframes`" -msgstr "" - -#: ../../whatsnew/3.11.rst:840 -msgid ":func:`inspect.getinnerframes`," -msgstr "" - -#: ../../whatsnew/3.11.rst:841 -msgid ":func:`inspect.stack`" -msgstr "" - -#: ../../whatsnew/3.11.rst:842 -msgid ":func:`inspect.trace`" -msgstr "" - -#: ../../whatsnew/3.11.rst:844 -msgid "(Contributed by Pablo Galindo in :gh:`88116`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:850 -msgid "locale" -msgstr "locale" - -#: ../../whatsnew/3.11.rst:852 -msgid "" -"Add :func:`locale.getencoding` to get the current locale encoding. It is " -"similar to ``locale.getpreferredencoding(False)`` but ignores the " -":ref:`Python UTF-8 Mode `." -msgstr "" - -#: ../../whatsnew/3.11.rst:860 -msgid "logging" -msgstr "logging" - -#: ../../whatsnew/3.11.rst:862 -msgid "" -"Added :func:`~logging.getLevelNamesMapping` to return a mapping from logging" -" level names (e.g. ``'CRITICAL'``) to the values of their corresponding " -":ref:`levels` (e.g. ``50``, by default). (Contributed by Andrei Kulakovin in" -" :gh:`88024`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:867 -msgid "" -"Added a :meth:`~logging.handlers.SysLogHandler.createSocket` method to " -":class:`~logging.handlers.SysLogHandler`, to match " -":meth:`SocketHandler.createSocket() " -"`. It is called automatically " -"during handler initialization and when emitting an event, if there is no " -"active socket. (Contributed by Kirill Pinchuk in :gh:`88457`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:879 -msgid "math" -msgstr "math" - -#: ../../whatsnew/3.11.rst:881 -msgid "" -"Add :func:`math.exp2`: return 2 raised to the power of x. (Contributed by " -"Gideon Mitchell in :issue:`45917`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:884 -msgid "" -"Add :func:`math.cbrt`: return the cube root of x. (Contributed by Ajith " -"Ramachandran in :issue:`44357`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:887 -msgid "" -"The behaviour of two :func:`math.pow` corner cases was changed, for " -"consistency with the IEEE 754 specification. The operations ``math.pow(0.0, " -"-math.inf)`` and ``math.pow(-0.0, -math.inf)`` now return ``inf``. " -"Previously they raised :exc:`ValueError`. (Contributed by Mark Dickinson in " -":issue:`44339`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:893 -msgid "" -"The :data:`math.nan` value is now always available. (Contributed by Victor " -"Stinner in :issue:`46917`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:900 -msgid "operator" -msgstr "" - -#: ../../whatsnew/3.11.rst:902 -msgid "" -"A new function ``operator.call`` has been added, such that " -"``operator.call(obj, *args, **kwargs) == obj(*args, **kwargs)``. " -"(Contributed by Antony Lee in :issue:`44019`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:910 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.11.rst:912 -msgid "" -"On Windows, :func:`os.urandom` now uses ``BCryptGenRandom()``, instead of " -"``CryptGenRandom()`` which is deprecated. (Contributed by Donghee Na in " -":issue:`44611`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:920 -msgid "pathlib" -msgstr "pathlib" - -#: ../../whatsnew/3.11.rst:922 -msgid "" -":meth:`~pathlib.Path.glob` and :meth:`~pathlib.Path.rglob` return only " -"directories if *pattern* ends with a pathname components separator: " -":data:`~os.sep` or :data:`~os.altsep`. (Contributed by Eisuke Kawasima in " -":issue:`22276` and :issue:`33392`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:931 -msgid "re" -msgstr "re" - -#: ../../whatsnew/3.11.rst:933 -msgid "" -"Atomic grouping (``(?>...)``) and possessive quantifiers (``*+``, ``++``, " -"``?+``, ``{m,n}+``) are now supported in regular expressions. (Contributed " -"by Jeffrey C. Jacobs and Serhiy Storchaka in :issue:`433030`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:941 -msgid "shutil" -msgstr "shutil" - -#: ../../whatsnew/3.11.rst:943 -msgid "" -"Add optional parameter *dir_fd* in :func:`shutil.rmtree`. (Contributed by " -"Serhiy Storchaka in :issue:`46245`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:950 -msgid "socket" -msgstr "socket" - -#: ../../whatsnew/3.11.rst:952 -msgid "" -"Add CAN Socket support for NetBSD. (Contributed by Thomas Klausner in " -":issue:`30512`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:955 -msgid "" -":meth:`~socket.create_connection` has an option to raise, in case of failure" -" to connect, an :exc:`ExceptionGroup` containing all errors instead of only " -"raising the last error. (Contributed by Irit Katriel in :issue:`29980`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:964 -msgid "sqlite3" -msgstr "sqlite3" - -#: ../../whatsnew/3.11.rst:966 -msgid "" -"You can now disable the authorizer by passing :const:`None` to " -":meth:`~sqlite3.Connection.set_authorizer`. (Contributed by Erlend E. " -"Aasland in :issue:`44491`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:970 -msgid "" -"Collation name :meth:`~sqlite3.Connection.create_collation` can now contain " -"any Unicode character. Collation names with invalid characters now raise " -":exc:`UnicodeEncodeError` instead of :exc:`sqlite3.ProgrammingError`. " -"(Contributed by Erlend E. Aasland in :issue:`44688`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:975 -msgid "" -":mod:`sqlite3` exceptions now include the SQLite extended error code as " -":attr:`~sqlite3.Error.sqlite_errorcode` and the SQLite error name as " -":attr:`~sqlite3.Error.sqlite_errorname`. (Contributed by Aviv Palivoda, " -"Daniel Shahaf, and Erlend E. Aasland in :issue:`16379` and :issue:`24139`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:981 -msgid "" -"Add :meth:`~sqlite3.Connection.setlimit` and " -":meth:`~sqlite3.Connection.getlimit` to :class:`sqlite3.Connection` for " -"setting and getting SQLite limits by connection basis. (Contributed by " -"Erlend E. Aasland in :issue:`45243`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:986 -msgid "" -":mod:`sqlite3` now sets :attr:`sqlite3.threadsafety` based on the default " -"threading mode the underlying SQLite library has been compiled with. " -"(Contributed by Erlend E. Aasland in :issue:`45613`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:990 -msgid "" -":mod:`sqlite3` C callbacks now use unraisable exceptions if callback " -"tracebacks are enabled. Users can now register an :func:`unraisable hook " -"handler ` to improve their debug experience. " -"(Contributed by Erlend E. Aasland in :issue:`45828`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:996 -msgid "" -"Fetch across rollback no longer raises :exc:`~sqlite3.InterfaceError`. " -"Instead we leave it to the SQLite library to handle these cases. " -"(Contributed by Erlend E. Aasland in :issue:`44092`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1000 -msgid "" -"Add :meth:`~sqlite3.Connection.serialize` and " -":meth:`~sqlite3.Connection.deserialize` to :class:`sqlite3.Connection` for " -"serializing and deserializing databases. (Contributed by Erlend E. Aasland " -"in :issue:`41930`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1005 -msgid "" -"Add :meth:`~sqlite3.Connection.create_window_function` to " -":class:`sqlite3.Connection` for creating aggregate window functions. " -"(Contributed by Erlend E. Aasland in :issue:`34916`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1009 -msgid "" -"Add :meth:`~sqlite3.Connection.blobopen` to :class:`sqlite3.Connection`. " -":class:`sqlite3.Blob` allows incremental I/O operations on blobs. " -"(Contributed by Aviv Palivoda and Erlend E. Aasland in :issue:`24905`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1017 -msgid "string" -msgstr "string" - -#: ../../whatsnew/3.11.rst:1019 -msgid "" -"Add :meth:`~string.Template.get_identifiers` and " -":meth:`~string.Template.is_valid` to :class:`string.Template`, which " -"respectively return all valid placeholders, and whether any invalid " -"placeholders are present. (Contributed by Ben Kehoe in :gh:`90465`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1029 -msgid "sys" -msgstr "sys" - -#: ../../whatsnew/3.11.rst:1031 -msgid "" -":func:`sys.exc_info` now derives the ``type`` and ``traceback`` fields from " -"the ``value`` (the exception instance), so when an exception is modified " -"while it is being handled, the changes are reflected in the results of " -"subsequent calls to :func:`!exc_info`. (Contributed by Irit Katriel in " -":issue:`45711`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1037 -msgid "" -"Add :func:`sys.exception` which returns the active exception instance " -"(equivalent to ``sys.exc_info()[1]``). (Contributed by Irit Katriel in " -":issue:`46328`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1041 -msgid "" -"Add the :data:`sys.flags.safe_path ` flag. (Contributed by Victor" -" Stinner in :gh:`57684`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1048 -msgid "sysconfig" -msgstr "" - -#: ../../whatsnew/3.11.rst:1050 -msgid "" -"Three new :ref:`installation schemes ` (*posix_venv*, " -"*nt_venv* and *venv*) were added and are used when Python creates new " -"virtual environments or when it is running from a virtual environment. The " -"first two schemes (*posix_venv* and *nt_venv*) are OS-specific for non-" -"Windows and Windows, the *venv* is essentially an alias to one of them " -"according to the OS Python runs on. This is useful for downstream " -"distributors who modify :func:`sysconfig.get_preferred_scheme`. Third party " -"code that creates new virtual environments should use the new *venv* " -"installation scheme to determine the paths, as does :mod:`venv`. " -"(Contributed by Miro Hrončok in :issue:`45413`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1067 -msgid "tempfile" -msgstr "" - -#: ../../whatsnew/3.11.rst:1069 -msgid "" -":class:`~tempfile.SpooledTemporaryFile` objects now fully implement the " -"methods of :class:`io.BufferedIOBase` or :class:`io.TextIOBase` (depending " -"on file mode). This lets them work correctly with APIs that expect file-like" -" objects, such as compression modules. (Contributed by Carey Metcalfe in " -":gh:`70363`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1080 -msgid "threading" -msgstr "threading" - -#: ../../whatsnew/3.11.rst:1082 -msgid "" -"On Unix, if the ``sem_clockwait()`` function is available in the C library " -"(glibc 2.30 and newer), the :meth:`threading.Lock.acquire` method now uses " -"the monotonic clock (:const:`time.CLOCK_MONOTONIC`) for the timeout, rather " -"than using the system clock (:const:`time.CLOCK_REALTIME`), to not be " -"affected by system clock changes. (Contributed by Victor Stinner in " -":issue:`41710`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1093 -msgid "time" -msgstr "time" - -#: ../../whatsnew/3.11.rst:1095 -msgid "" -"On Unix, :func:`time.sleep` now uses the ``clock_nanosleep()`` or " -"``nanosleep()`` function, if available, which has a resolution of 1 " -"nanosecond (10\\ :sup:`-9` seconds), rather than using ``select()`` which " -"has a resolution of 1 microsecond (10\\ :sup:`-6` seconds). (Contributed by " -"Benjamin Szőke and Victor Stinner in :issue:`21302`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1101 -msgid "" -"On Windows 8.1 and newer, :func:`time.sleep` now uses a waitable timer based" -" on `high-resolution timers `_ which has a resolution of " -"100 nanoseconds (10\\ :sup:`-7` seconds). Previously, it had a resolution of" -" 1 millisecond (10\\ :sup:`-3` seconds). (Contributed by Benjamin Szőke, " -"Donghee Na, Eryk Sun and Victor Stinner in :issue:`21302` and " -":issue:`45429`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1112 -msgid "tkinter" -msgstr "tkinter" - -#: ../../whatsnew/3.11.rst:1114 -msgid "" -"Added method ``info_patchlevel()`` which returns the exact version of the " -"Tcl library as a named tuple similar to :data:`sys.version_info`. " -"(Contributed by Serhiy Storchaka in :gh:`91827`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1122 -msgid "traceback" -msgstr "" - -#: ../../whatsnew/3.11.rst:1124 -msgid "" -"Add :func:`traceback.StackSummary.format_frame_summary` to allow users to " -"override which frames appear in the traceback, and how they are formatted. " -"(Contributed by Ammar Askar in :issue:`44569`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1129 -msgid "" -"Add :func:`traceback.TracebackException.print`, which prints the formatted " -":exc:`~traceback.TracebackException` instance to a file. (Contributed by " -"Irit Katriel in :issue:`33809`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1137 -msgid "typing" -msgstr "typing" - -#: ../../whatsnew/3.11.rst:1139 -msgid "For major changes, see :ref:`new-feat-related-type-hints-311`." -msgstr "" - -#: ../../whatsnew/3.11.rst:1141 -msgid "" -"Add :func:`typing.assert_never` and :class:`typing.Never`. " -":func:`typing.assert_never` is useful for asking a type checker to confirm " -"that a line of code is not reachable. At runtime, it raises an " -":exc:`AssertionError`. (Contributed by Jelle Zijlstra in :gh:`90633`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1147 -msgid "" -"Add :func:`typing.reveal_type`. This is useful for asking a type checker " -"what type it has inferred for a given expression. At runtime it prints the " -"type of the received value. (Contributed by Jelle Zijlstra in :gh:`90572`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1152 -msgid "" -"Add :func:`typing.assert_type`. This is useful for asking a type checker to " -"confirm that the type it has inferred for a given expression matches the " -"given type. At runtime it simply returns the received value. (Contributed by" -" Jelle Zijlstra in :gh:`90638`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1157 -msgid "" -":data:`typing.TypedDict` types can now be generic. (Contributed by Samodya " -"Abeysiriwardane in :gh:`89026`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1160 -msgid "" -":class:`~typing.NamedTuple` types can now be generic. (Contributed by Serhiy" -" Storchaka in :issue:`43923`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1163 -msgid "" -"Allow subclassing of :class:`typing.Any`. This is useful for avoiding type " -"checker errors related to highly dynamic class, such as mocks. (Contributed " -"by Shantanu Jain in :gh:`91154`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1167 -msgid "" -"The :func:`typing.final` decorator now sets the ``__final__`` attributed on " -"the decorated object. (Contributed by Jelle Zijlstra in :gh:`90500`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1171 -msgid "" -"The :func:`typing.get_overloads` function can be used for introspecting the " -"overloads of a function. :func:`typing.clear_overloads` can be used to clear" -" all registered overloads of a function. (Contributed by Jelle Zijlstra in " -":gh:`89263`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1176 -msgid "" -"The :meth:`~object.__init__` method of :class:`~typing.Protocol` subclasses " -"is now preserved. (Contributed by Adrian Garcia Badarasco in :gh:`88970`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1179 -msgid "" -"The representation of empty tuple types (``Tuple[()]``) is simplified. This " -"affects introspection, e.g. ``get_args(Tuple[()])`` now evaluates to ``()`` " -"instead of ``((),)``. (Contributed by Serhiy Storchaka in :gh:`91137`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1184 -msgid "" -"Loosen runtime requirements for type annotations by removing the callable " -"check in the private ``typing._type_check`` function. (Contributed by " -"Gregory Beauregard in :gh:`90802`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1188 -msgid "" -":func:`typing.get_type_hints` now supports evaluating strings as forward " -"references in :ref:`PEP 585 generic aliases `. " -"(Contributed by Niklas Rosenstein in :gh:`85542`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1192 -msgid "" -":func:`typing.get_type_hints` no longer adds :data:`~typing.Optional` to " -"parameters with ``None`` as a default. (Contributed by Nikita Sobolev in " -":gh:`90353`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1196 -msgid "" -":func:`typing.get_type_hints` now supports evaluating bare stringified " -":data:`~typing.ClassVar` annotations. (Contributed by Gregory Beauregard in " -":gh:`90711`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1200 -msgid "" -":func:`typing.no_type_check` no longer modifies external classes and " -"functions. It also now correctly marks classmethods as not to be type " -"checked. (Contributed by Nikita Sobolev in :gh:`90729`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1208 -msgid "unicodedata" -msgstr "unicodedata" - -#: ../../whatsnew/3.11.rst:1210 -msgid "" -"The Unicode database has been updated to version 14.0.0. (Contributed by " -"Benjamin Peterson in :issue:`45190`)." -msgstr "" - -#: ../../whatsnew/3.11.rst:1217 -msgid "unittest" -msgstr "unittest" - -#: ../../whatsnew/3.11.rst:1219 -msgid "" -"Added methods :meth:`~unittest.TestCase.enterContext` and " -":meth:`~unittest.TestCase.enterClassContext` of class " -":class:`~unittest.TestCase`, method " -":meth:`~unittest.IsolatedAsyncioTestCase.enterAsyncContext` of class " -":class:`~unittest.IsolatedAsyncioTestCase` and function " -":func:`unittest.enterModuleContext`. (Contributed by Serhiy Storchaka in " -":issue:`45046`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1231 -msgid "venv" -msgstr "venv" - -#: ../../whatsnew/3.11.rst:1233 -msgid "" -"When new Python virtual environments are created, the *venv* :ref:`sysconfig" -" installation scheme ` is used to determine the paths " -"inside the environment. When Python runs in a virtual environment, the same " -"installation scheme is the default. That means that downstream distributors " -"can change the default sysconfig install scheme without changing behavior of" -" virtual environments. Third party code that also creates new virtual " -"environments should do the same. (Contributed by Miro Hrončok in " -":issue:`45413`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1247 -msgid "warnings" -msgstr "warnings" - -#: ../../whatsnew/3.11.rst:1249 -msgid "" -":func:`warnings.catch_warnings` now accepts arguments for " -":func:`warnings.simplefilter`, providing a more concise way to locally " -"ignore warnings or convert them to errors. (Contributed by Zac Hatfield-" -"Dodds in :issue:`47074`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1257 -msgid "zipfile" -msgstr "zipfile" - -#: ../../whatsnew/3.11.rst:1259 -msgid "" -"Added support for specifying member name encoding for reading metadata in a " -":class:`~zipfile.ZipFile`'s directory and file headers. (Contributed by " -"Stephen J. Turnbull and Serhiy Storchaka in :issue:`28080`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1263 -msgid "" -"Added :meth:`ZipFile.mkdir() ` for creating new " -"directories inside ZIP archives. (Contributed by Sam Ezeh in :gh:`49083`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1267 -msgid "" -"Added :attr:`~zipfile.Path.stem`, :attr:`~zipfile.Path.suffix` and " -":attr:`~zipfile.Path.suffixes` to :class:`zipfile.Path`. (Contributed by " -"Miguel Brito in :gh:`88261`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1275 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.11.rst:1277 -msgid "" -"This section covers specific optimizations independent of the " -":ref:`whatsnew311-faster-cpython` project, which is covered in its own " -"section." -msgstr "" - -#: ../../whatsnew/3.11.rst:1280 -msgid "" -"The compiler now optimizes simple :ref:`printf-style % formatting ` on string literals containing only the format codes " -"``%s``, ``%r`` and ``%a`` and makes it as fast as a corresponding " -":term:`f-string` expression. (Contributed by Serhiy Storchaka in " -":issue:`28307`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1286 -msgid "" -"Integer division (``//``) is better tuned for optimization by compilers. It " -"is now around 20% faster on x86-64 when dividing an :class:`int` by a value " -"smaller than ``2**30``. (Contributed by Gregory P. Smith and Tim Peters in " -":gh:`90564`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1291 -msgid "" -":func:`sum` is now nearly 30% faster for integers smaller than ``2**30``. " -"(Contributed by Stefan Behnel in :gh:`68264`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1294 -msgid "" -"Resizing lists is streamlined for the common case, speeding up " -":meth:`list.append` by ≈15% and simple :term:`list comprehension`\\s by up " -"to 20-30% (Contributed by Dennis Sweeney in :gh:`91165`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1299 -msgid "" -"Dictionaries don't store hash values when all keys are Unicode objects, " -"decreasing :class:`dict` size. For example, " -"``sys.getsizeof(dict.fromkeys(\"abcdefg\"))`` is reduced from 352 bytes to " -"272 bytes (23% smaller) on 64-bit platforms. (Contributed by Inada Naoki in " -":issue:`46845`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1305 -msgid "" -"Using :class:`asyncio.DatagramProtocol` is now orders of magnitude faster " -"when transferring large files over UDP, with speeds over 100 times higher " -"for a ≈60 MiB file. (Contributed by msoxzw in :gh:`91487`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1310 -msgid "" -":mod:`math` functions :func:`~math.comb` and :func:`~math.perm` are now ≈10 " -"times faster for large arguments (with a larger speedup for larger *k*). " -"(Contributed by Serhiy Storchaka in :issue:`37295`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1314 -msgid "" -"The :mod:`statistics` functions :func:`~statistics.mean`, " -":func:`~statistics.variance` and :func:`~statistics.stdev` now consume " -"iterators in one pass rather than converting them to a :class:`list` first. " -"This is twice as fast and can save substantial memory. (Contributed by " -"Raymond Hettinger in :gh:`90415`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1320 -msgid "" -":func:`unicodedata.normalize` now normalizes pure-ASCII strings in constant " -"time. (Contributed by Donghee Na in :issue:`44987`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1328 -msgid "Faster CPython" -msgstr "" - -#: ../../whatsnew/3.11.rst:1330 -msgid "" -"CPython 3.11 is an average of `25% faster `_ than CPython 3.10 as measured with the " -"`pyperformance `_ benchmark suite, " -"when compiled with GCC on Ubuntu Linux. Depending on your workload, the " -"overall speedup could be 10-60%." -msgstr "" - -#: ../../whatsnew/3.11.rst:1337 -msgid "" -"This project focuses on two major areas in Python: :ref:`whatsnew311-faster-" -"startup` and :ref:`whatsnew311-faster-runtime`. Optimizations not covered by" -" this project are listed separately under :ref:`whatsnew311-optimizations`." -msgstr "" - -#: ../../whatsnew/3.11.rst:1346 -msgid "Faster Startup" -msgstr "" - -#: ../../whatsnew/3.11.rst:1351 -msgid "Frozen imports / Static code objects" -msgstr "" - -#: ../../whatsnew/3.11.rst:1353 -msgid "" -"Python caches :term:`bytecode` in the :ref:`__pycache__ ` " -"directory to speed up module loading." -msgstr "" - -#: ../../whatsnew/3.11.rst:1356 -msgid "Previously in 3.10, Python module execution looked like this:" -msgstr "" - -#: ../../whatsnew/3.11.rst:1358 -msgid "" -"Read __pycache__ -> Unmarshal -> Heap allocated code object -> Evaluate" -msgstr "" - -#: ../../whatsnew/3.11.rst:1362 -msgid "" -"In Python 3.11, the core modules essential for Python startup are " -"\"frozen\". This means that their :ref:`codeobjects` (and bytecode) are " -"statically allocated by the interpreter. This reduces the steps in module " -"execution process to:" -msgstr "" - -#: ../../whatsnew/3.11.rst:1367 -msgid "Statically allocated code object -> Evaluate" -msgstr "" - -#: ../../whatsnew/3.11.rst:1371 -msgid "" -"Interpreter startup is now 10-15% faster in Python 3.11. This has a big " -"impact for short-running programs using Python." -msgstr "" - -#: ../../whatsnew/3.11.rst:1374 -msgid "" -"(Contributed by Eric Snow, Guido van Rossum and Kumar Aditya in many " -"issues.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1380 -msgid "Faster Runtime" -msgstr "" - -#: ../../whatsnew/3.11.rst:1385 -msgid "Cheaper, lazy Python frames" -msgstr "" - -#: ../../whatsnew/3.11.rst:1387 -msgid "" -"Python frames, holding execution information, are created whenever Python " -"calls a Python function. The following are new frame optimizations:" -msgstr "" - -#: ../../whatsnew/3.11.rst:1391 -msgid "Streamlined the frame creation process." -msgstr "" - -#: ../../whatsnew/3.11.rst:1392 -msgid "" -"Avoided memory allocation by generously re-using frame space on the C stack." -msgstr "" - -#: ../../whatsnew/3.11.rst:1393 -msgid "" -"Streamlined the internal frame struct to contain only essential information." -" Frames previously held extra debugging and memory management information." -msgstr "" - -#: ../../whatsnew/3.11.rst:1396 -msgid "" -"Old-style :ref:`frame objects ` are now created only when " -"requested by debuggers or by Python introspection functions such as " -":func:`sys._getframe` and :func:`inspect.currentframe`. For most user code, " -"no frame objects are created at all. As a result, nearly all Python " -"functions calls have sped up significantly. We measured a 3-7% speedup in " -"pyperformance." -msgstr "" - -#: ../../whatsnew/3.11.rst:1403 -msgid "(Contributed by Mark Shannon in :issue:`44590`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1410 -msgid "Inlined Python function calls" -msgstr "" - -#: ../../whatsnew/3.11.rst:1412 -msgid "" -"During a Python function call, Python will call an evaluating C function to " -"interpret that function's code. This effectively limits pure Python " -"recursion to what's safe for the C stack." -msgstr "" - -#: ../../whatsnew/3.11.rst:1416 -msgid "" -"In 3.11, when CPython detects Python code calling another Python function, " -"it sets up a new frame, and \"jumps\" to the new code inside the new frame. " -"This avoids calling the C interpreting function altogether." -msgstr "" - -#: ../../whatsnew/3.11.rst:1420 -msgid "" -"Most Python function calls now consume no C stack space, speeding them up. " -"In simple recursive functions like fibonacci or factorial, we observed a " -"1.7x speedup. This also means recursive functions can recurse significantly " -"deeper (if the user increases the recursion limit with " -":func:`sys.setrecursionlimit`). We measured a 1-3% improvement in " -"pyperformance." -msgstr "" - -#: ../../whatsnew/3.11.rst:1427 -msgid "(Contributed by Pablo Galindo and Mark Shannon in :issue:`45256`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1433 -msgid "PEP 659: Specializing Adaptive Interpreter" -msgstr "" - -#: ../../whatsnew/3.11.rst:1435 -msgid "" -":pep:`659` is one of the key parts of the Faster CPython project. The " -"general idea is that while Python is a dynamic language, most code has " -"regions where objects and types rarely change. This concept is known as " -"*type stability*." -msgstr "" - -#: ../../whatsnew/3.11.rst:1439 -msgid "" -"At runtime, Python will try to look for common patterns and type stability " -"in the executing code. Python will then replace the current operation with a" -" more specialized one. This specialized operation uses fast paths available " -"only to those use cases/types, which generally outperform their generic " -"counterparts. This also brings in another concept called *inline caching*, " -"where Python caches the results of expensive operations directly in the " -":term:`bytecode`." -msgstr "" - -#: ../../whatsnew/3.11.rst:1447 -msgid "" -"The specializer will also combine certain common instruction pairs into one " -"superinstruction, reducing the overhead during execution." -msgstr "" - -#: ../../whatsnew/3.11.rst:1450 -msgid "" -"Python will only specialize when it sees code that is \"hot\" (executed " -"multiple times). This prevents Python from wasting time on run-once code. " -"Python can also de-specialize when code is too dynamic or when the use " -"changes. Specialization is attempted periodically, and specialization " -"attempts are not too expensive, allowing specialization to adapt to new " -"circumstances." -msgstr "" - -#: ../../whatsnew/3.11.rst:1457 -msgid "" -"(PEP written by Mark Shannon, with ideas inspired by Stefan Brunthaler. See " -":pep:`659` for more information. Implementation by Mark Shannon and Brandt " -"Bucher, with additional help from Irit Katriel and Dennis Sweeney.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1465 -msgid "Operation" -msgstr "Operasi" - -#: ../../whatsnew/3.11.rst:1465 -msgid "Form" -msgstr "Bentuk" - -#: ../../whatsnew/3.11.rst:1465 -msgid "Specialization" -msgstr "" - -#: ../../whatsnew/3.11.rst:1465 -msgid "Operation speedup (up to)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1465 -msgid "Contributor(s)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1468 -msgid "Binary operations" -msgstr "" - -#: ../../whatsnew/3.11.rst:1468 -msgid "``x + x``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1470 -msgid "``x - x``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1472 -msgid "``x * x``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1468 -msgid "" -"Binary add, multiply and subtract for common types such as :class:`int`, " -":class:`float` and :class:`str` take custom fast paths for their underlying " -"types." -msgstr "" - -#: ../../whatsnew/3.11.rst:1468 -msgid "10%" -msgstr "" - -#: ../../whatsnew/3.11.rst:1468 -msgid "Mark Shannon, Donghee Na, Brandt Bucher, Dennis Sweeney" -msgstr "" - -#: ../../whatsnew/3.11.rst:1474 -msgid "Subscript" -msgstr "" - -#: ../../whatsnew/3.11.rst:1474 -msgid "``a[i]``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1474 -msgid "" -"Subscripting container types such as :class:`list`, :class:`tuple` and " -":class:`dict` directly index the underlying data structures." -msgstr "" - -#: ../../whatsnew/3.11.rst:1478 -msgid "" -"Subscripting custom :meth:`~object.__getitem__` is also inlined similar to " -":ref:`inline-calls`." -msgstr "" - -#: ../../whatsnew/3.11.rst:1474 ../../whatsnew/3.11.rst:1481 -msgid "10-25%" -msgstr "" - -#: ../../whatsnew/3.11.rst:1474 -msgid "Irit Katriel, Mark Shannon" -msgstr "" - -#: ../../whatsnew/3.11.rst:1481 -msgid "Store subscript" -msgstr "" - -#: ../../whatsnew/3.11.rst:1481 -msgid "``a[i] = z``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1481 -msgid "Similar to subscripting specialization above." -msgstr "" - -#: ../../whatsnew/3.11.rst:1481 -msgid "Dennis Sweeney" -msgstr "" - -#: ../../whatsnew/3.11.rst:1484 -msgid "Calls" -msgstr "" - -#: ../../whatsnew/3.11.rst:1484 -msgid "``f(arg)``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1486 -msgid "``C(arg)``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1484 -msgid "" -"Calls to common builtin (C) functions and types such as :func:`len` and " -":class:`str` directly call their underlying C version. This avoids going " -"through the internal calling convention." -msgstr "" - -#: ../../whatsnew/3.11.rst:1484 -msgid "20%" -msgstr "" - -#: ../../whatsnew/3.11.rst:1484 -msgid "Mark Shannon, Ken Jin" -msgstr "" - -#: ../../whatsnew/3.11.rst:1489 -msgid "Load global variable" -msgstr "" - -#: ../../whatsnew/3.11.rst:1489 -msgid "``print``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1491 -msgid "``len``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1489 -msgid "" -"The object's index in the globals/builtins namespace is cached. Loading " -"globals and builtins require zero namespace lookups." -msgstr "" - -#: ../../whatsnew/3.11.rst:1489 -msgid "[#load-global]_" -msgstr "" - -#: ../../whatsnew/3.11.rst:1489 ../../whatsnew/3.11.rst:1493 -#: ../../whatsnew/3.11.rst:1502 -msgid "Mark Shannon" -msgstr "" - -#: ../../whatsnew/3.11.rst:1493 -msgid "Load attribute" -msgstr "" - -#: ../../whatsnew/3.11.rst:1493 -msgid "``o.attr``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1493 -msgid "" -"Similar to loading global variables. The attribute's index inside the " -"class/object's namespace is cached. In most cases, attribute loading will " -"require zero namespace lookups." -msgstr "" - -#: ../../whatsnew/3.11.rst:1493 -msgid "[#load-attr]_" -msgstr "" - -#: ../../whatsnew/3.11.rst:1498 -msgid "Load methods for call" -msgstr "" - -#: ../../whatsnew/3.11.rst:1498 -msgid "``o.meth()``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1498 -msgid "" -"The actual address of the method is cached. Method loading now has no " -"namespace lookups -- even for classes with long inheritance chains." -msgstr "" - -#: ../../whatsnew/3.11.rst:1498 -msgid "10-20%" -msgstr "" - -#: ../../whatsnew/3.11.rst:1498 -msgid "Ken Jin, Mark Shannon" -msgstr "" - -#: ../../whatsnew/3.11.rst:1502 -msgid "Store attribute" -msgstr "" - -#: ../../whatsnew/3.11.rst:1502 -msgid "``o.attr = z``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1502 -msgid "Similar to load attribute optimization." -msgstr "" - -#: ../../whatsnew/3.11.rst:1502 -msgid "2% in pyperformance" -msgstr "" - -#: ../../whatsnew/3.11.rst:1505 -msgid "Unpack Sequence" -msgstr "" - -#: ../../whatsnew/3.11.rst:1505 -msgid "``*seq``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1505 -msgid "" -"Specialized for common containers such as :class:`list` and :class:`tuple`. " -"Avoids internal calling convention." -msgstr "" - -#: ../../whatsnew/3.11.rst:1505 -msgid "8%" -msgstr "" - -#: ../../whatsnew/3.11.rst:1505 -msgid "Brandt Bucher" -msgstr "" - -#: ../../whatsnew/3.11.rst:1510 -msgid "" -"A similar optimization already existed since Python 3.8. 3.11 specializes " -"for more forms and reduces some overhead." -msgstr "" - -#: ../../whatsnew/3.11.rst:1513 -msgid "" -"A similar optimization already existed since Python 3.10. 3.11 specializes " -"for more forms. Furthermore, all attribute loads should be sped up by " -":issue:`45947`." -msgstr "" - -#: ../../whatsnew/3.11.rst:1521 -msgid "Misc" -msgstr "" - -#: ../../whatsnew/3.11.rst:1523 -msgid "" -"Objects now require less memory due to lazily created object namespaces. " -"Their namespace dictionaries now also share keys more freely. (Contributed " -"Mark Shannon in :issue:`45340` and :issue:`40116`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1527 -msgid "" -"\"Zero-cost\" exceptions are implemented, eliminating the cost of " -":keyword:`try` statements when no exception is raised. (Contributed by Mark " -"Shannon in :issue:`40222`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1531 -msgid "" -"A more concise representation of exceptions in the interpreter reduced the " -"time required for catching an exception by about 10%. (Contributed by Irit " -"Katriel in :issue:`45711`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1535 -msgid "" -":mod:`re`'s regular expression matching engine has been partially " -"refactored, and now uses computed gotos (or \"threaded code\") on supported " -"platforms. As a result, Python 3.11 executes the `pyperformance regular " -"expression benchmarks " -"`_ up to 10%" -" faster than Python 3.10. (Contributed by Brandt Bucher in :gh:`91404`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1546 -msgid "FAQ" -msgstr "" - -#: ../../whatsnew/3.11.rst:1551 -msgid "How should I write my code to utilize these speedups?" -msgstr "" - -#: ../../whatsnew/3.11.rst:1553 -msgid "" -"Write Pythonic code that follows common best practices; you don't have to " -"change your code. The Faster CPython project optimizes for common code " -"patterns we observe." -msgstr "" - -#: ../../whatsnew/3.11.rst:1561 -msgid "Will CPython 3.11 use more memory?" -msgstr "" - -#: ../../whatsnew/3.11.rst:1563 -msgid "" -"Maybe not; we don't expect memory use to exceed 20% higher than 3.10. This " -"is offset by memory optimizations for frame objects and object dictionaries " -"as mentioned above." -msgstr "" - -#: ../../whatsnew/3.11.rst:1571 -msgid "I don't see any speedups in my workload. Why?" -msgstr "" - -#: ../../whatsnew/3.11.rst:1573 -msgid "" -"Certain code won't have noticeable benefits. If your code spends most of its" -" time on I/O operations, or already does most of its computation in a C " -"extension library like NumPy, there won't be significant speedups. This " -"project currently benefits pure-Python workloads the most." -msgstr "" - -#: ../../whatsnew/3.11.rst:1578 -msgid "" -"Furthermore, the pyperformance figures are a geometric mean. Even within the" -" pyperformance benchmarks, certain benchmarks have slowed down slightly, " -"while others have sped up by nearly 2x!" -msgstr "" - -#: ../../whatsnew/3.11.rst:1586 -msgid "Is there a JIT compiler?" -msgstr "" - -#: ../../whatsnew/3.11.rst:1588 -msgid "No. We're still exploring other optimizations." -msgstr "" - -#: ../../whatsnew/3.11.rst:1594 -msgid "About" -msgstr "" - -#: ../../whatsnew/3.11.rst:1596 -msgid "" -"Faster CPython explores optimizations for :term:`CPython`. The main team is " -"funded by Microsoft to work on this full-time. Pablo Galindo Salgado is also" -" funded by Bloomberg LP to work on the project part-time. Finally, many " -"contributors are volunteers from the community." -msgstr "" - -#: ../../whatsnew/3.11.rst:1605 -msgid "CPython bytecode changes" -msgstr "Perubahan bytecode CPython" - -#: ../../whatsnew/3.11.rst:1607 -msgid "" -"The bytecode now contains inline cache entries, which take the form of the " -"newly-added :opcode:`CACHE` instructions. Many opcodes expect to be followed" -" by an exact number of caches, and instruct the interpreter to skip over " -"them at runtime. Populated caches can look like arbitrary instructions, so " -"great care should be taken when reading or modifying raw, adaptive bytecode " -"containing quickened data." -msgstr "" - -#: ../../whatsnew/3.11.rst:1619 -msgid "New opcodes" -msgstr "" - -#: ../../whatsnew/3.11.rst:1621 -msgid "" -":opcode:`!ASYNC_GEN_WRAP`, :opcode:`RETURN_GENERATOR` and :opcode:`SEND`, " -"used in generators and co-routines." -msgstr "" - -#: ../../whatsnew/3.11.rst:1624 -msgid "" -":opcode:`COPY_FREE_VARS`, which avoids needing special caller-side code for " -"closures." -msgstr "" - -#: ../../whatsnew/3.11.rst:1627 -msgid "" -":opcode:`JUMP_BACKWARD_NO_INTERRUPT`, for use in certain loops where " -"handling interrupts is undesirable." -msgstr "" - -#: ../../whatsnew/3.11.rst:1630 -msgid ":opcode:`MAKE_CELL`, to create :ref:`cell-objects`." -msgstr "" - -#: ../../whatsnew/3.11.rst:1632 -msgid "" -":opcode:`CHECK_EG_MATCH` and :opcode:`!PREP_RERAISE_STAR`, to handle the " -":ref:`new exception groups and except* ` added in " -":pep:`654`." -msgstr "" - -#: ../../whatsnew/3.11.rst:1636 -msgid ":opcode:`PUSH_EXC_INFO`, for use in exception handlers." -msgstr "" - -#: ../../whatsnew/3.11.rst:1638 -msgid "" -":opcode:`RESUME`, a no-op, for internal tracing, debugging and optimization " -"checks." -msgstr "" - -#: ../../whatsnew/3.11.rst:1645 -msgid "Replaced opcodes" -msgstr "" - -#: ../../whatsnew/3.11.rst:1648 -msgid "Replaced Opcode(s)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1648 -msgid "New Opcode(s)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1648 -msgid "Notes" -msgstr "Catatan" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!BINARY_*`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!INPLACE_*`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1650 -msgid ":opcode:`BINARY_OP`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1650 -msgid "Replaced all numeric binary/in-place opcodes with a single opcode" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!CALL_FUNCTION`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!CALL_FUNCTION_KW`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!CALL_METHOD`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`CALL`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!KW_NAMES`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!PRECALL`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`PUSH_NULL`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1653 -msgid "" -"Decouples argument shifting for methods from handling of keyword arguments; " -"allows better specialization of calls" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!DUP_TOP`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!DUP_TOP_TWO`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!ROT_TWO`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!ROT_THREE`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!ROT_FOUR`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!ROT_N`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`COPY`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`SWAP`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1658 -msgid "Stack manipulation instructions" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!JUMP_IF_NOT_EXC_MATCH`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`CHECK_EXC_MATCH`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1665 -msgid "Now performs check but doesn't jump" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!JUMP_ABSOLUTE`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!POP_JUMP_IF_FALSE`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!POP_JUMP_IF_TRUE`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`JUMP_BACKWARD`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!POP_JUMP_BACKWARD_IF_*`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!POP_JUMP_FORWARD_IF_*`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1667 -msgid "" -"See [#bytecode-jump]_; ``TRUE``, ``FALSE``, ``NONE`` and ``NOT_NONE`` " -"variants for each direction" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!SETUP_WITH`" -msgstr "" - -#: ../../whatsnew/3.11.rst:0 -msgid ":opcode:`!SETUP_ASYNC_WITH`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1673 -msgid ":opcode:`!BEFORE_WITH`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1673 -msgid ":keyword:`with` block setup" -msgstr "" - -#: ../../whatsnew/3.11.rst:1677 -msgid "" -"All jump opcodes are now relative, including the existing " -":opcode:`!JUMP_IF_TRUE_OR_POP` and :opcode:`!JUMP_IF_FALSE_OR_POP`. The " -"argument is now an offset from the current instruction rather than an " -"absolute location." -msgstr "" - -#: ../../whatsnew/3.11.rst:1688 -msgid "Changed/removed opcodes" -msgstr "" - -#: ../../whatsnew/3.11.rst:1690 -msgid "" -"Changed :opcode:`MATCH_CLASS` and :opcode:`MATCH_KEYS` to no longer push an " -"additional boolean value to indicate success/failure. Instead, ``None`` is " -"pushed on failure in place of the tuple of extracted values." -msgstr "" - -#: ../../whatsnew/3.11.rst:1695 -msgid "" -"Changed opcodes that work with exceptions to reflect them now being " -"represented as one item on the stack instead of three (see :gh:`89874`)." -msgstr "" - -#: ../../whatsnew/3.11.rst:1699 -msgid "" -"Removed :opcode:`!COPY_DICT_WITHOUT_KEYS`, :opcode:`!GEN_START`, " -":opcode:`!POP_BLOCK`, :opcode:`!SETUP_FINALLY` and :opcode:`!YIELD_FROM`." -msgstr "" - -#: ../../whatsnew/3.11.rst:1707 ../../whatsnew/3.11.rst:2580 -msgid "Deprecated" -msgstr "Usang" - -#: ../../whatsnew/3.11.rst:1709 -msgid "" -"This section lists Python APIs that have been deprecated in Python 3.11." -msgstr "" - -#: ../../whatsnew/3.11.rst:1711 -msgid "" -"Deprecated C APIs are :ref:`listed separately `." -msgstr "" - -#: ../../whatsnew/3.11.rst:1718 -msgid "Language/Builtins" -msgstr "" - -#: ../../whatsnew/3.11.rst:1720 -msgid "" -"Chaining :class:`classmethod` descriptors (introduced in :issue:`19072`) is " -"now deprecated. It can no longer be used to wrap other descriptors such as " -":class:`property`. The core design of this feature was flawed and caused a " -"number of downstream problems. To \"pass-through\" a :class:`classmethod`, " -"consider using the :attr:`!__wrapped__` attribute that was added in Python " -"3.10. (Contributed by Raymond Hettinger in :gh:`89519`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1728 -msgid "" -"Octal escapes in string and bytes literals with values larger than ``0o377``" -" (255 in decimal) now produce a :exc:`DeprecationWarning`. In a future " -"Python version, they will raise a :exc:`SyntaxWarning` and eventually a " -":exc:`SyntaxError`. (Contributed by Serhiy Storchaka in :gh:`81548`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1734 -msgid "" -"The delegation of :func:`int` to :meth:`~object.__trunc__` is now " -"deprecated. Calling ``int(a)`` when ``type(a)`` implements " -":meth:`!__trunc__` but not :meth:`~object.__int__` or " -":meth:`~object.__index__` now raises a :exc:`DeprecationWarning`. " -"(Contributed by Zackery Spytz in :issue:`44977`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1744 -msgid "Modules" -msgstr "Modul-Modul" - -#: ../../whatsnew/3.11.rst:1748 -msgid "" -":pep:`594` led to the deprecations of the following modules slated for " -"removal in Python 3.13:" -msgstr "" - -#: ../../whatsnew/3.11.rst:1752 -msgid ":mod:`!aifc`" -msgstr ":mod:`!aifc`" - -#: ../../whatsnew/3.11.rst:1752 -msgid ":mod:`!chunk`" -msgstr ":mod:`!chunk`" - -#: ../../whatsnew/3.11.rst:1752 -msgid ":mod:`!msilib`" -msgstr ":mod:`!msilib`" - -#: ../../whatsnew/3.11.rst:1752 -msgid ":mod:`!pipes`" -msgstr ":mod:`!pipes`" - -#: ../../whatsnew/3.11.rst:1752 -msgid ":mod:`!telnetlib`" -msgstr ":mod:`!telnetlib`" - -#: ../../whatsnew/3.11.rst:1754 -msgid ":mod:`!audioop`" -msgstr ":mod:`!audioop`" - -#: ../../whatsnew/3.11.rst:1754 -msgid ":mod:`!crypt`" -msgstr ":mod:`!crypt`" - -#: ../../whatsnew/3.11.rst:1754 -msgid ":mod:`!nis`" -msgstr ":mod:`!nis`" - -#: ../../whatsnew/3.11.rst:1754 -msgid ":mod:`!sndhdr`" -msgstr ":mod:`!sndhdr`" - -#: ../../whatsnew/3.11.rst:1754 -msgid ":mod:`!uu`" -msgstr ":mod:`!uu`" - -#: ../../whatsnew/3.11.rst:1756 -msgid ":mod:`!cgi`" -msgstr ":mod:`!cgi`" - -#: ../../whatsnew/3.11.rst:1756 -msgid ":mod:`!imghdr`" -msgstr ":mod:`!imghdr`" - -#: ../../whatsnew/3.11.rst:1756 -msgid ":mod:`!nntplib`" -msgstr ":mod:`!nntplib`" - -#: ../../whatsnew/3.11.rst:1756 -msgid ":mod:`!spwd`" -msgstr ":mod:`!spwd`" - -#: ../../whatsnew/3.11.rst:1756 -msgid ":mod:`!xdrlib`" -msgstr ":mod:`!xdrlib`" - -#: ../../whatsnew/3.11.rst:1758 -msgid ":mod:`!cgitb`" -msgstr ":mod:`!cgitb`" - -#: ../../whatsnew/3.11.rst:1758 -msgid ":mod:`!mailcap`" -msgstr ":mod:`!mailcap`" - -#: ../../whatsnew/3.11.rst:1758 -msgid ":mod:`!ossaudiodev`" -msgstr ":mod:`!ossaudiodev`" - -#: ../../whatsnew/3.11.rst:1758 -msgid ":mod:`!sunau`" -msgstr ":mod:`!sunau`" - -#: ../../whatsnew/3.11.rst:1761 -msgid "" -"(Contributed by Brett Cannon in :issue:`47061` and Victor Stinner in " -":gh:`68966`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1764 -msgid "" -"The :mod:`!asynchat`, :mod:`!asyncore` and :mod:`!smtpd` modules have been " -"deprecated since at least Python 3.6. Their documentation and deprecation " -"warnings have now been updated to note they will be removed in Python 3.12. " -"(Contributed by Hugo van Kemenade in :issue:`47022`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1769 -msgid "" -"The :mod:`!lib2to3` package and ``2to3`` tool are now deprecated and may not" -" be able to parse Python 3.10 or newer. See :pep:`617`, introducing the new " -"PEG parser, for details. (Contributed by Victor Stinner in :issue:`40360`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1774 -msgid "" -"Undocumented modules :mod:`!sre_compile`, :mod:`!sre_constants` and " -":mod:`!sre_parse` are now deprecated. (Contributed by Serhiy Storchaka in " -":issue:`47152`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1782 -msgid "Standard Library" -msgstr "" - -#: ../../whatsnew/3.11.rst:1784 -msgid "" -"The following have been deprecated in :mod:`configparser` since Python 3.2. " -"Their deprecation warnings have now been updated to note they will be " -"removed in Python 3.12:" -msgstr "" - -#: ../../whatsnew/3.11.rst:1788 -msgid "the :class:`!configparser.SafeConfigParser` class" -msgstr "" - -#: ../../whatsnew/3.11.rst:1789 -msgid "the :attr:`!configparser.ParsingError.filename` property" -msgstr "" - -#: ../../whatsnew/3.11.rst:1790 -msgid "the :meth:`!configparser.RawConfigParser.readfp` method" -msgstr "" - -#: ../../whatsnew/3.11.rst:1792 -msgid "(Contributed by Hugo van Kemenade in :issue:`45173`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1794 -msgid "" -":class:`!configparser.LegacyInterpolation` has been deprecated in the " -"docstring since Python 3.2, and is not listed in the :mod:`configparser` " -"documentation. It now emits a :exc:`DeprecationWarning` and will be removed " -"in Python 3.13. Use :class:`configparser.BasicInterpolation` or " -":class:`configparser.ExtendedInterpolation` instead. (Contributed by Hugo " -"van Kemenade in :issue:`46607`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1801 -msgid "" -"The older set of :mod:`importlib.resources` functions were deprecated in " -"favor of the replacements added in Python 3.9 and will be removed in a " -"future Python version, due to not supporting resources located within " -"package subdirectories:" -msgstr "" - -#: ../../whatsnew/3.11.rst:1806 -msgid ":func:`!importlib.resources.contents`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1807 -msgid ":func:`!importlib.resources.is_resource`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1808 -msgid ":func:`!importlib.resources.open_binary`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1809 -msgid ":func:`!importlib.resources.open_text`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1810 -msgid ":func:`!importlib.resources.read_binary`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1811 -msgid ":func:`!importlib.resources.read_text`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1812 -msgid ":func:`!importlib.resources.path`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1814 -msgid "" -"The :func:`locale.getdefaultlocale` function is deprecated and will be " -"removed in Python 3.15. Use :func:`locale.setlocale`, " -":func:`locale.getpreferredencoding(False) ` and" -" :func:`locale.getlocale` functions instead. (Contributed by Victor Stinner " -"in :gh:`90817`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1820 -msgid "" -"The :func:`!locale.resetlocale` function is deprecated and will be removed " -"in Python 3.13. Use ``locale.setlocale(locale.LC_ALL, \"\")`` instead. " -"(Contributed by Victor Stinner in :gh:`90817`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1824 -msgid "" -"Stricter rules will now be applied for numerical group references and group " -"names in :ref:`regular expressions `. Only sequences of ASCII " -"digits will now be accepted as a numerical reference, and the group name in " -":class:`bytes` patterns and replacement strings can only contain ASCII " -"letters, digits and underscores. For now, a deprecation warning is raised " -"for syntax violating these rules. (Contributed by Serhiy Storchaka in " -":gh:`91760`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1832 -msgid "" -"In the :mod:`re` module, the :func:`!re.template` function and the " -"corresponding :const:`!re.TEMPLATE` and :const:`!re.T` flags are deprecated," -" as they were undocumented and lacked an obvious purpose. They will be " -"removed in Python 3.13. (Contributed by Serhiy Storchaka and Miro Hrončok in" -" :gh:`92728`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1838 -msgid "" -":func:`!turtle.settiltangle` has been deprecated since Python 3.1; it now " -"emits a deprecation warning and will be removed in Python 3.13. Use " -":func:`turtle.tiltangle` instead (it was earlier incorrectly marked as " -"deprecated, and its docstring is now corrected). (Contributed by Hugo van " -"Kemenade in :issue:`45837`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1844 -msgid "" -":class:`typing.Text`, which exists solely to provide compatibility support " -"between Python 2 and Python 3 code, is now deprecated. Its removal is " -"currently unplanned, but users are encouraged to use :class:`str` instead " -"wherever possible. (Contributed by Alex Waygood in :gh:`92332`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1850 -msgid "" -"The keyword argument syntax for constructing :data:`typing.TypedDict` types " -"is now deprecated. Support will be removed in Python 3.13. (Contributed by " -"Jingchen Ye in :gh:`90224`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1854 -msgid "" -":class:`!webbrowser.MacOSX` is deprecated and will be removed in Python " -"3.13. It is untested, undocumented, and not used by :mod:`webbrowser` " -"itself. (Contributed by Donghee Na in :issue:`42255`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1858 -msgid "" -"The behavior of returning a value from a :class:`~unittest.TestCase` and " -":class:`~unittest.IsolatedAsyncioTestCase` test methods (other than the " -"default ``None`` value) is now deprecated." -msgstr "" - -#: ../../whatsnew/3.11.rst:1862 -msgid "" -"Deprecated the following not-formally-documented :mod:`unittest` functions, " -"scheduled for removal in Python 3.13:" -msgstr "" - -#: ../../whatsnew/3.11.rst:1865 -msgid ":func:`!unittest.findTestCases`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1866 -msgid ":func:`!unittest.makeSuite`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1867 -msgid ":func:`!unittest.getTestCaseNames`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1869 -msgid "Use :class:`~unittest.TestLoader` methods instead:" -msgstr "" - -#: ../../whatsnew/3.11.rst:1871 -msgid ":meth:`unittest.TestLoader.loadTestsFromModule`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1872 -msgid ":meth:`unittest.TestLoader.loadTestsFromTestCase`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1873 -msgid ":meth:`unittest.TestLoader.getTestCaseNames`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1875 -msgid "(Contributed by Erlend E. Aasland in :issue:`5846`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1877 -msgid "" -":meth:`!unittest.TestProgram.usageExit` is marked deprecated, to be removed " -"in 3.13. (Contributed by Carlos Damázio in :gh:`67048`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1886 ../../whatsnew/3.11.rst:2608 -msgid "Pending Removal in Python 3.12" -msgstr "" - -#: ../../whatsnew/3.11.rst:1888 -msgid "" -"The following Python APIs have been deprecated in earlier Python releases, " -"and will be removed in Python 3.12." -msgstr "" - -#: ../../whatsnew/3.11.rst:1891 -msgid "" -"C APIs pending removal are :ref:`listed separately `." -msgstr "" - -#: ../../whatsnew/3.11.rst:1894 -msgid "The :mod:`!asynchat` module" -msgstr "" - -#: ../../whatsnew/3.11.rst:1895 -msgid "The :mod:`!asyncore` module" -msgstr "" - -#: ../../whatsnew/3.11.rst:1896 -msgid "The :ref:`entire distutils package `" -msgstr "" - -#: ../../whatsnew/3.11.rst:1897 -msgid "The :mod:`!imp` module" -msgstr "" - -#: ../../whatsnew/3.11.rst:1898 -msgid "The :class:`typing.io ` namespace" -msgstr "" - -#: ../../whatsnew/3.11.rst:1899 -msgid "The :class:`typing.re ` namespace" -msgstr "" - -#: ../../whatsnew/3.11.rst:1900 -msgid ":func:`!cgi.log`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1901 -msgid ":func:`!importlib.find_loader`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1902 -msgid ":meth:`!importlib.abc.Loader.module_repr`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1903 -msgid ":meth:`!importlib.abc.MetaPathFinder.find_module`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1904 -msgid ":meth:`!importlib.abc.PathEntryFinder.find_loader`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1905 -msgid ":meth:`!importlib.abc.PathEntryFinder.find_module`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1906 -msgid ":meth:`!importlib.machinery.BuiltinImporter.find_module`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1907 -msgid ":meth:`!importlib.machinery.BuiltinLoader.module_repr`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1908 -msgid ":meth:`!importlib.machinery.FileFinder.find_loader`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1909 -msgid ":meth:`!importlib.machinery.FileFinder.find_module`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1910 -msgid ":meth:`!importlib.machinery.FrozenImporter.find_module`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1911 -msgid ":meth:`!importlib.machinery.FrozenLoader.module_repr`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1912 -msgid ":meth:`!importlib.machinery.PathFinder.find_module`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1913 -msgid ":meth:`!importlib.machinery.WindowsRegistryFinder.find_module`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1914 -msgid ":func:`!importlib.util.module_for_loader`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1915 -msgid ":func:`!importlib.util.set_loader_wrapper`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1916 -msgid ":func:`!importlib.util.set_package_wrapper`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1917 -msgid ":class:`!pkgutil.ImpImporter`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1918 -msgid ":class:`!pkgutil.ImpLoader`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1919 -msgid ":meth:`!pathlib.Path.link_to`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1920 -msgid ":func:`!sqlite3.enable_shared_cache`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1921 -msgid ":func:`!sqlite3.OptimizedUnicode`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1922 -msgid ":envvar:`!PYTHONTHREADDEBUG` environment variable" -msgstr "" - -#: ../../whatsnew/3.11.rst:1923 -msgid "The following deprecated aliases in :mod:`unittest`:" -msgstr "" - -#: ../../whatsnew/3.11.rst:1926 -msgid "Deprecated alias" -msgstr "" - -#: ../../whatsnew/3.11.rst:1926 -msgid "Method Name" -msgstr "Nama Metode" - -#: ../../whatsnew/3.11.rst:1926 -msgid "Deprecated in" -msgstr "" - -#: ../../whatsnew/3.11.rst:1928 -msgid "``failUnless``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1928 ../../whatsnew/3.11.rst:1935 -msgid ":meth:`.assertTrue`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1928 ../../whatsnew/3.11.rst:1929 -#: ../../whatsnew/3.11.rst:1930 ../../whatsnew/3.11.rst:1931 -#: ../../whatsnew/3.11.rst:1932 ../../whatsnew/3.11.rst:1933 -#: ../../whatsnew/3.11.rst:1934 -msgid "3.1" -msgstr "3.1" - -#: ../../whatsnew/3.11.rst:1929 -msgid "``failIf``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1929 -msgid ":meth:`.assertFalse`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1930 -msgid "``failUnlessEqual``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1930 ../../whatsnew/3.11.rst:1936 -msgid ":meth:`.assertEqual`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1931 -msgid "``failIfEqual``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1931 ../../whatsnew/3.11.rst:1937 -msgid ":meth:`.assertNotEqual`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1932 -msgid "``failUnlessAlmostEqual``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1932 ../../whatsnew/3.11.rst:1938 -msgid ":meth:`.assertAlmostEqual`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1933 -msgid "``failIfAlmostEqual``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1933 ../../whatsnew/3.11.rst:1939 -msgid ":meth:`.assertNotAlmostEqual`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1934 -msgid "``failUnlessRaises``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1934 -msgid ":meth:`.assertRaises`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1935 -msgid "``assert_``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1935 ../../whatsnew/3.11.rst:1936 -#: ../../whatsnew/3.11.rst:1937 ../../whatsnew/3.11.rst:1938 -#: ../../whatsnew/3.11.rst:1939 ../../whatsnew/3.11.rst:1940 -#: ../../whatsnew/3.11.rst:1941 -msgid "3.2" -msgstr "3.2" - -#: ../../whatsnew/3.11.rst:1936 -msgid "``assertEquals``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1937 -msgid "``assertNotEquals``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1938 -msgid "``assertAlmostEquals``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1939 -msgid "``assertNotAlmostEquals``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1940 -msgid "``assertRegexpMatches``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1940 -msgid ":meth:`.assertRegex`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1941 -msgid "``assertRaisesRegexp``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1941 -msgid ":meth:`.assertRaisesRegex`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1942 -msgid "``assertNotRegexpMatches``" -msgstr "" - -#: ../../whatsnew/3.11.rst:1942 -msgid ":meth:`.assertNotRegex`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1942 -msgid "3.5" -msgstr "" - -#: ../../whatsnew/3.11.rst:1949 ../../whatsnew/3.11.rst:2634 -msgid "Removed" -msgstr "" - -#: ../../whatsnew/3.11.rst:1951 -msgid "This section lists Python APIs that have been removed in Python 3.11." -msgstr "" - -#: ../../whatsnew/3.11.rst:1953 -msgid "" -"Removed C APIs are :ref:`listed separately `." -msgstr "" - -#: ../../whatsnew/3.11.rst:1955 -msgid "" -"Removed the :func:`!@asyncio.coroutine` :term:`decorator` enabling legacy " -"generator-based coroutines to be compatible with :keyword:`async` / " -":keyword:`await` code. The function has been deprecated since Python 3.8 and" -" the removal was initially scheduled for Python 3.10. Use :keyword:`async " -"def` instead. (Contributed by Illia Volochii in :issue:`43216`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1962 -msgid "" -"Removed :class:`!asyncio.coroutines.CoroWrapper` used for wrapping legacy " -"generator-based coroutine objects in the debug mode. (Contributed by Illia " -"Volochii in :issue:`43216`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1966 -msgid "" -"Due to significant security concerns, the *reuse_address* parameter of " -":meth:`asyncio.loop.create_datagram_endpoint`, disabled in Python 3.9, is " -"now entirely removed. This is because of the behavior of the socket option " -"``SO_REUSEADDR`` in UDP. (Contributed by Hugo van Kemenade in " -":issue:`45129`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1972 -msgid "" -"Removed the :mod:`!binhex` module, deprecated in Python 3.9. Also removed " -"the related, similarly-deprecated :mod:`binascii` functions:" -msgstr "" - -#: ../../whatsnew/3.11.rst:1975 -msgid ":func:`!binascii.a2b_hqx`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1976 -msgid ":func:`!binascii.b2a_hqx`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1977 -msgid ":func:`!binascii.rlecode_hqx`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1978 -msgid ":func:`!binascii.rldecode_hqx`" -msgstr "" - -#: ../../whatsnew/3.11.rst:1980 -msgid "The :func:`binascii.crc_hqx` function remains available." -msgstr "" - -#: ../../whatsnew/3.11.rst:1982 -msgid "(Contributed by Victor Stinner in :issue:`45085`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1984 -msgid "" -"Removed the :mod:`!distutils` ``bdist_msi`` command deprecated in Python " -"3.9. Use ``bdist_wheel`` (wheel packages) instead. (Contributed by Hugo van " -"Kemenade in :issue:`45124`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1988 -msgid "" -"Removed the :meth:`~object.__getitem__` methods of " -":class:`xml.dom.pulldom.DOMEventStream`, :class:`wsgiref.util.FileWrapper` " -"and :class:`fileinput.FileInput`, deprecated since Python 3.9. (Contributed " -"by Hugo van Kemenade in :issue:`45132`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:1993 -msgid "" -"Removed the deprecated :mod:`gettext` functions :func:`!lgettext`, " -":func:`!ldgettext`, :func:`!lngettext` and :func:`!ldngettext`. Also removed" -" the :func:`!bind_textdomain_codeset` function, the " -":meth:`!NullTranslations.output_charset` and " -":meth:`!NullTranslations.set_output_charset` methods, and the *codeset* " -"parameter of :func:`!translation` and :func:`!install`, since they are only " -"used for the :func:`!l*gettext` functions. (Contributed by Donghee Na and " -"Serhiy Storchaka in :issue:`44235`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2003 -msgid "Removed from the :mod:`inspect` module:" -msgstr "" - -#: ../../whatsnew/3.11.rst:2005 -msgid "" -"The :func:`!getargspec` function, deprecated since Python 3.0; use " -":func:`inspect.signature` or :func:`inspect.getfullargspec` instead." -msgstr "" - -#: ../../whatsnew/3.11.rst:2008 -msgid "" -"The :func:`!formatargspec` function, deprecated since Python 3.5; use the " -":func:`inspect.signature` function or the :class:`inspect.Signature` object " -"directly." -msgstr "" - -#: ../../whatsnew/3.11.rst:2012 -msgid "" -"The undocumented :meth:`!Signature.from_builtin` and " -":meth:`!Signature.from_function` methods, deprecated since Python 3.5; use " -"the :meth:`Signature.from_callable() ` " -"method instead." -msgstr "" - -#: ../../whatsnew/3.11.rst:2017 -msgid "(Contributed by Hugo van Kemenade in :issue:`45320`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2019 -msgid "" -"Removed the :meth:`~object.__class_getitem__` method from " -":class:`pathlib.PurePath`, because it was not used and added by mistake in " -"previous versions. (Contributed by Nikita Sobolev in :issue:`46483`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2024 -msgid "" -"Removed the :class:`!MailmanProxy` class in the :mod:`!smtpd` module, as it " -"is unusable without the external :mod:`!mailman` package. (Contributed by " -"Donghee Na in :issue:`35800`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2028 -msgid "" -"Removed the deprecated :meth:`!split` method of " -":class:`!_tkinter.TkappType`. (Contributed by Erlend E. Aasland in " -":issue:`38371`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2031 -msgid "" -"Removed namespace package support from :mod:`unittest` discovery. It was " -"introduced in Python 3.4 but has been broken since Python 3.7. (Contributed " -"by Inada Naoki in :issue:`23882`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2035 -msgid "" -"Removed the undocumented private :meth:`!float.__set_format__` method, " -"previously known as :meth:`!float.__setformat__` in Python 3.7. Its " -"docstring said: \"You probably don't want to use this function. It exists " -"mainly to be used in Python's test suite.\" (Contributed by Victor Stinner " -"in :issue:`46852`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2041 -msgid "" -"The :option:`!--experimental-isolated-subinterpreters` configure flag (and " -"corresponding :c:macro:`!EXPERIMENTAL_ISOLATED_SUBINTERPRETERS` macro) have " -"been removed." -msgstr "" - -#: ../../whatsnew/3.11.rst:2045 -msgid "" -":pypi:`Pynche` --- The Pythonically Natural Color and Hue Editor --- has " -"been moved out of ``Tools/scripts`` and is `being developed independently " -"`_ from the Python source " -"tree." -msgstr "" - -#: ../../whatsnew/3.11.rst:2055 ../../whatsnew/3.11.rst:2277 -msgid "Porting to Python 3.11" -msgstr "" - -#: ../../whatsnew/3.11.rst:2057 -msgid "" -"This section lists previously described changes and other bugfixes in the " -"Python API that may require changes to your Python code." -msgstr "" - -#: ../../whatsnew/3.11.rst:2060 -msgid "" -"Porting notes for the C API are :ref:`listed separately `." -msgstr "" - -#: ../../whatsnew/3.11.rst:2063 -msgid "" -":func:`open`, :func:`io.open`, :func:`codecs.open` and " -":class:`fileinput.FileInput` no longer accept ``'U'`` (\"universal " -"newline\") in the file mode. In Python 3, \"universal newline\" mode is used" -" by default whenever a file is opened in text mode, and the ``'U'`` flag has" -" been deprecated since Python 3.3. The :ref:`newline parameter ` to these functions controls how universal newlines work." -" (Contributed by Victor Stinner in :issue:`37330`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2072 -msgid "" -":class:`ast.AST` node positions are now validated when provided to " -":func:`compile` and other related functions. If invalid positions are " -"detected, a :exc:`ValueError` will be raised. (Contributed by Pablo Galindo " -"in :gh:`93351`)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2076 -msgid "" -"Prohibited passing non-:class:`concurrent.futures.ThreadPoolExecutor` " -"executors to :meth:`asyncio.loop.set_default_executor` following a " -"deprecation in Python 3.8. (Contributed by Illia Volochii in " -":issue:`43234`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2081 -msgid "" -":mod:`calendar`: The :class:`calendar.LocaleTextCalendar` and " -":class:`calendar.LocaleHTMLCalendar` classes now use " -":func:`locale.getlocale`, instead of using :func:`locale.getdefaultlocale`, " -"if no locale is specified. (Contributed by Victor Stinner in " -":issue:`46659`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2087 -msgid "" -"The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with " -"the ``'UTF-8'`` encoding. (Contributed by Srinivas Reddy Thatiparthy " -"(శ్రీనివాస్ రెడ్డి తాటిపర్తి) in :issue:`41137`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2091 -msgid "" -"The *population* parameter of :func:`random.sample` must be a sequence, and " -"automatic conversion of :class:`set`\\s to :class:`list`\\s is no longer " -"supported. Also, if the sample size is larger than the population size, a " -":exc:`ValueError` is raised. (Contributed by Raymond Hettinger in " -":issue:`40465`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2097 -msgid "" -"The *random* optional parameter of :func:`random.shuffle` was removed. It " -"was previously an arbitrary random function to use for the shuffle; now, " -":func:`random.random` (its previous default) will always be used." -msgstr "" - -#: ../../whatsnew/3.11.rst:2101 -msgid "" -"In :mod:`re` :ref:`re-syntax`, global inline flags (e.g. ``(?i)``) can now " -"only be used at the start of regular expressions. Using them elsewhere has " -"been deprecated since Python 3.6. (Contributed by Serhiy Storchaka in " -":issue:`47066`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2106 -msgid "" -"In the :mod:`re` module, several long-standing bugs where fixed that, in " -"rare cases, could cause capture groups to get the wrong result. Therefore, " -"this could change the captured output in these cases. (Contributed by Ma Lin" -" in :issue:`35859`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2115 -msgid "Build Changes" -msgstr "" - -#: ../../whatsnew/3.11.rst:2117 -msgid "" -"CPython now has :pep:`11` :pep:`Tier 3 support <11#tier-3>` for cross " -"compiling to the `WebAssembly `_ platforms " -"`Emscripten `_ (``wasm32-unknown-emscripten``, i.e." -" Python in the browser) and `WebAssembly System Interface (WASI) " -"`_ (``wasm32-unknown-wasi``). The effort is inspired by " -"previous work like `Pyodide `_. These platforms " -"provide a limited subset of POSIX APIs; Python standard libraries features " -"and modules related to networking, processes, threading, signals, mmap, and " -"users/groups are not available or don't work. (Emscripten contributed by " -"Christian Heimes and Ethan Smith in :gh:`84461` and WASI contributed by " -"Christian Heimes in :gh:`90473`; platforms promoted in :gh:`95085`)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2131 -msgid "Building CPython now requires:" -msgstr "" - -#: ../../whatsnew/3.11.rst:2133 -msgid "" -"A `C11 `_ compiler and standard library." -" `Optional C11 features " -"`_" -" are not required. (Contributed by Victor Stinner in :issue:`46656`, " -":issue:`45440` and :issue:`46640`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2140 -msgid "" -"Support for `IEEE 754 `_ floating-" -"point numbers. (Contributed by Victor Stinner in :issue:`46917`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2144 -msgid "" -"The :c:macro:`!Py_NO_NAN` macro has been removed. Since CPython now requires" -" IEEE 754 floats, NaN values are always available. (Contributed by Victor " -"Stinner in :issue:`46656`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2148 -msgid "" -"The :mod:`tkinter` package now requires `Tcl/Tk `_ " -"version 8.5.12 or newer. (Contributed by Serhiy Storchaka in " -":issue:`46996`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2152 -msgid "" -"Build dependencies, compiler flags, and linker flags for most stdlib " -"extension modules are now detected by :program:`configure`. libffi, libnsl, " -"libsqlite3, zlib, bzip2, liblzma, libcrypt, Tcl/Tk, and uuid flags are " -"detected by `pkg-config `_ (when available). :mod:`tkinter` now requires a pkg-config " -"command to detect development settings for `Tcl/Tk`_ headers and libraries. " -"(Contributed by Christian Heimes and Erlend Egeberg Aasland in " -":issue:`45847`, :issue:`45747`, and :issue:`45763`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2162 -msgid "" -"libpython is no longer linked against libcrypt. (Contributed by Mike Gilbert" -" in :issue:`45433`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2165 -msgid "" -"CPython can now be built with the `ThinLTO " -"`_ option via passing ``thin`` to " -":option:`--with-lto`, i.e. ``--with-lto=thin``. (Contributed by Donghee Na " -"and Brett Holman in :issue:`44340`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2170 -msgid "" -"Freelists for object structs can now be disabled. A new :program:`configure`" -" option ``--without-freelists`` can be used to disable all freelists except " -"empty tuple singleton. (Contributed by Christian Heimes in :issue:`45522`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2175 -msgid "" -"``Modules/Setup`` and ``Modules/makesetup`` have been improved and tied up. " -"Extension modules can now be built through ``makesetup``. All except some " -"test modules can be linked statically into a main binary or library. " -"(Contributed by Brett Cannon and Christian Heimes in :issue:`45548`, " -":issue:`45570`, :issue:`45571`, and :issue:`43974`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2182 -msgid "" -"Use the environment variables :envvar:`!TCLTK_CFLAGS` and " -":envvar:`!TCLTK_LIBS` to manually specify the location of Tcl/Tk headers and" -" libraries. The :program:`configure` options :option:`!--with-tcltk-" -"includes` and :option:`!--with-tcltk-libs` have been removed." -msgstr "" - -#: ../../whatsnew/3.11.rst:2188 -msgid "" -"On RHEL 7 and CentOS 7 the development packages do not provide ``tcl.pc`` " -"and ``tk.pc``; use ``TCLTK_LIBS=\"-ltk8.5 -ltkstub8.5 -ltcl8.5\"``. The " -"directory ``Misc/rhel7`` contains ``.pc`` files and instructions on how to " -"build Python with RHEL 7's and CentOS 7's Tcl/Tk and OpenSSL." -msgstr "" - -#: ../../whatsnew/3.11.rst:2193 -msgid "" -"CPython will now use 30-bit digits by default for the Python :class:`int` " -"implementation. Previously, the default was to use 30-bit digits on " -"platforms with ``SIZEOF_VOID_P >= 8``, and 15-bit digits otherwise. It's " -"still possible to explicitly request use of 15-bit digits via either the " -":option:`--enable-big-digits` option to the configure script or (for " -"Windows) the ``PYLONG_BITS_IN_DIGIT`` variable in ``PC/pyconfig.h``, but " -"this option may be removed at some point in the future. (Contributed by Mark" -" Dickinson in :issue:`45569`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2206 -msgid "C API Changes" -msgstr "" - -#: ../../whatsnew/3.11.rst:2213 -msgid "" -"Add a new :c:func:`PyType_GetName` function to get type's short name. " -"(Contributed by Hai Shi in :issue:`42035`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2216 -msgid "" -"Add a new :c:func:`PyType_GetQualName` function to get type's qualified " -"name. (Contributed by Hai Shi in :issue:`42035`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2219 -msgid "" -"Add new :c:func:`PyThreadState_EnterTracing` and " -":c:func:`PyThreadState_LeaveTracing` functions to the limited C API to " -"suspend and resume tracing and profiling. (Contributed by Victor Stinner in " -":issue:`43760`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2224 -msgid "" -"Added the :c:data:`Py_Version` constant which bears the same value as " -":c:macro:`PY_VERSION_HEX`. (Contributed by Gabriele N. Tornetta in " -":issue:`43931`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2228 -msgid "" -":c:type:`Py_buffer` and APIs are now part of the limited API and the stable " -"ABI:" -msgstr "" - -#: ../../whatsnew/3.11.rst:2231 -msgid ":c:func:`PyObject_CheckBuffer`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2232 -msgid ":c:func:`PyObject_GetBuffer`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2233 -msgid ":c:func:`PyBuffer_GetPointer`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2234 -msgid ":c:func:`PyBuffer_SizeFromFormat`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2235 -msgid ":c:func:`PyBuffer_ToContiguous`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2236 -msgid ":c:func:`PyBuffer_FromContiguous`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2237 -msgid ":c:func:`PyObject_CopyData`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2238 -msgid ":c:func:`PyBuffer_IsContiguous`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2239 -msgid ":c:func:`PyBuffer_FillContiguousStrides`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2240 -msgid ":c:func:`PyBuffer_FillInfo`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2241 -msgid ":c:func:`PyBuffer_Release`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2242 -msgid ":c:func:`PyMemoryView_FromBuffer`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2243 -msgid "" -":c:member:`~PyBufferProcs.bf_getbuffer` and " -":c:member:`~PyBufferProcs.bf_releasebuffer` type slots" -msgstr "" - -#: ../../whatsnew/3.11.rst:2246 -msgid "(Contributed by Christian Heimes in :issue:`45459`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2248 -msgid "" -"Added the :c:func:`PyType_GetModuleByDef` function, used to get the module " -"in which a method was defined, in cases where this information is not " -"available directly (via :c:type:`PyCMethod`). (Contributed by Petr Viktorin " -"in :issue:`46613`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2253 -msgid "" -"Add new functions to pack and unpack C double (serialize and deserialize): " -":c:func:`PyFloat_Pack2`, :c:func:`PyFloat_Pack4`, :c:func:`PyFloat_Pack8`, " -":c:func:`PyFloat_Unpack2`, :c:func:`PyFloat_Unpack4` and " -":c:func:`PyFloat_Unpack8`. (Contributed by Victor Stinner in " -":issue:`46906`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2259 -msgid "" -"Add new functions to get frame object attributes: " -":c:func:`PyFrame_GetBuiltins`, :c:func:`PyFrame_GetGenerator`, " -":c:func:`PyFrame_GetGlobals`, :c:func:`PyFrame_GetLasti`." -msgstr "" - -#: ../../whatsnew/3.11.rst:2263 -msgid "" -"Added two new functions to get and set the active exception instance: " -":c:func:`PyErr_GetHandledException` and :c:func:`PyErr_SetHandledException`." -" These are alternatives to :c:func:`PyErr_SetExcInfo()` and " -":c:func:`PyErr_GetExcInfo()` which work with the legacy 3-tuple " -"representation of exceptions. (Contributed by Irit Katriel in " -":issue:`46343`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2270 -msgid "" -"Added the :c:member:`PyConfig.safe_path` member. (Contributed by Victor " -"Stinner in :gh:`57684`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2281 -msgid "" -"Some macros have been converted to static inline functions to avoid `macro " -"pitfalls `_. The " -"change should be mostly transparent to users, as the replacement functions " -"will cast their arguments to the expected types to avoid compiler warnings " -"due to static type checks. However, when the limited C API is set to >=3.11," -" these casts are not done, and callers will need to cast arguments to their " -"expected types. See :pep:`670` for more details. (Contributed by Victor " -"Stinner and Erlend E. Aasland in :gh:`89653`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2292 -msgid "" -":c:func:`PyErr_SetExcInfo()` no longer uses the ``type`` and ``traceback`` " -"arguments, the interpreter now derives those values from the exception " -"instance (the ``value`` argument). The function still steals references of " -"all three arguments. (Contributed by Irit Katriel in :issue:`45711`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2298 -msgid "" -":c:func:`PyErr_GetExcInfo()` now derives the ``type`` and ``traceback`` " -"fields of the result from the exception instance (the ``value`` field). " -"(Contributed by Irit Katriel in :issue:`45711`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2302 -msgid "" -":c:struct:`_frozen` has a new ``is_package`` field to indicate whether or " -"not the frozen module is a package. Previously, a negative value in the " -"``size`` field was the indicator. Now only non-negative values be used for " -"``size``. (Contributed by Kumar Aditya in :issue:`46608`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2308 -msgid "" -":c:func:`_PyFrameEvalFunction` now takes ``_PyInterpreterFrame*`` as its " -"second parameter, instead of ``PyFrameObject*``. See :pep:`523` for more " -"details of how to use this function pointer type." -msgstr "" - -#: ../../whatsnew/3.11.rst:2312 -msgid "" -":c:func:`!PyCode_New` and :c:func:`!PyCode_NewWithPosOnlyArgs` now take an " -"additional ``exception_table`` argument. Using these functions should be " -"avoided, if at all possible. To get a custom code object: create a code " -"object using the compiler, then get a modified version with the ``replace`` " -"method." -msgstr "" - -#: ../../whatsnew/3.11.rst:2318 -msgid "" -":c:type:`PyCodeObject` no longer has the ``co_code``, ``co_varnames``, " -"``co_cellvars`` and ``co_freevars`` fields. Instead, use " -":c:func:`PyCode_GetCode`, :c:func:`PyCode_GetVarnames`, " -":c:func:`PyCode_GetCellvars` and :c:func:`PyCode_GetFreevars` respectively " -"to access them via the C API. (Contributed by Brandt Bucher in " -":issue:`46841` and Ken Jin in :gh:`92154` and :gh:`94936`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2326 -msgid "" -"The old trashcan macros " -"(``Py_TRASHCAN_SAFE_BEGIN``/``Py_TRASHCAN_SAFE_END``) are now deprecated. " -"They should be replaced by the new macros ``Py_TRASHCAN_BEGIN`` and " -"``Py_TRASHCAN_END``." -msgstr "" - -#: ../../whatsnew/3.11.rst:2330 -msgid "A tp_dealloc function that has the old macros, such as::" -msgstr "" - -#: ../../whatsnew/3.11.rst:2332 -msgid "" -"static void\n" -"mytype_dealloc(mytype *p)\n" -"{\n" -" PyObject_GC_UnTrack(p);\n" -" Py_TRASHCAN_SAFE_BEGIN(p);\n" -" ...\n" -" Py_TRASHCAN_SAFE_END\n" -"}" -msgstr "" - -#: ../../whatsnew/3.11.rst:2341 -msgid "should migrate to the new macros as follows::" -msgstr "" - -#: ../../whatsnew/3.11.rst:2343 -msgid "" -"static void\n" -"mytype_dealloc(mytype *p)\n" -"{\n" -" PyObject_GC_UnTrack(p);\n" -" Py_TRASHCAN_BEGIN(p, mytype_dealloc)\n" -" ...\n" -" Py_TRASHCAN_END\n" -"}" -msgstr "" - -#: ../../whatsnew/3.11.rst:2352 -msgid "" -"Note that ``Py_TRASHCAN_BEGIN`` has a second argument which should be the " -"deallocation function it is in." -msgstr "" - -#: ../../whatsnew/3.11.rst:2355 -msgid "" -"To support older Python versions in the same codebase, you can define the " -"following macros and use them throughout the code (credit: these were copied" -" from the ``mypy`` codebase)::" -msgstr "" - -#: ../../whatsnew/3.11.rst:2359 -msgid "" -"#if PY_VERSION_HEX >= 0x03080000\n" -"# define CPy_TRASHCAN_BEGIN(op, dealloc) Py_TRASHCAN_BEGIN(op, dealloc)\n" -"# define CPy_TRASHCAN_END(op) Py_TRASHCAN_END\n" -"#else\n" -"# define CPy_TRASHCAN_BEGIN(op, dealloc) Py_TRASHCAN_SAFE_BEGIN(op)\n" -"# define CPy_TRASHCAN_END(op) Py_TRASHCAN_SAFE_END(op)\n" -"#endif" -msgstr "" - -#: ../../whatsnew/3.11.rst:2367 -msgid "" -"The :c:func:`PyType_Ready` function now raises an error if a type is defined" -" with the :c:macro:`Py_TPFLAGS_HAVE_GC` flag set but has no traverse " -"function (:c:member:`PyTypeObject.tp_traverse`). (Contributed by Victor " -"Stinner in :issue:`44263`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2372 -msgid "" -"Heap types with the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` flag can now inherit" -" the :pep:`590` vectorcall protocol. Previously, this was only possible for" -" :ref:`static types `. (Contributed by Erlend E. Aasland in " -":issue:`43908`)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2377 -msgid "" -"Since :c:func:`Py_TYPE()` is changed to a inline static function, " -"``Py_TYPE(obj) = new_type`` must be replaced with ``Py_SET_TYPE(obj, " -"new_type)``: see the :c:func:`Py_SET_TYPE()` function (available since " -"Python 3.9). For backward compatibility, this macro can be used::" -msgstr "" - -#: ../../whatsnew/3.11.rst:2383 -msgid "" -"#if PY_VERSION_HEX < 0x030900A4 && !defined(Py_SET_TYPE)\n" -"static inline void _Py_SET_TYPE(PyObject *ob, PyTypeObject *type)\n" -"{ ob->ob_type = type; }\n" -"#define Py_SET_TYPE(ob, type) _Py_SET_TYPE((PyObject*)(ob), type)\n" -"#endif" -msgstr "" - -#: ../../whatsnew/3.11.rst:2389 ../../whatsnew/3.11.rst:2403 -msgid "(Contributed by Victor Stinner in :issue:`39573`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2391 -msgid "" -"Since :c:func:`Py_SIZE()` is changed to a inline static function, " -"``Py_SIZE(obj) = new_size`` must be replaced with ``Py_SET_SIZE(obj, " -"new_size)``: see the :c:func:`Py_SET_SIZE()` function (available since " -"Python 3.9). For backward compatibility, this macro can be used::" -msgstr "" - -#: ../../whatsnew/3.11.rst:2397 -msgid "" -"#if PY_VERSION_HEX < 0x030900A4 && !defined(Py_SET_SIZE)\n" -"static inline void _Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size)\n" -"{ ob->ob_size = size; }\n" -"#define Py_SET_SIZE(ob, size) _Py_SET_SIZE((PyVarObject*)(ob), size)\n" -"#endif" -msgstr "" - -#: ../../whatsnew/3.11.rst:2405 -msgid "" -"```` no longer includes the header files ````, " -"````, ```` and ```` when the ``Py_LIMITED_API`` " -"macro is set to ``0x030b0000`` (Python 3.11) or higher. C extensions should " -"explicitly include the header files after ``#include ``. " -"(Contributed by Victor Stinner in :issue:`45434`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2411 -msgid "" -"The non-limited API files ``cellobject.h``, ``classobject.h``, ``code.h``, " -"``context.h``, ``funcobject.h``, ``genobject.h`` and ``longintrepr.h`` have " -"been moved to the ``Include/cpython`` directory. Moreover, the ``eval.h`` " -"header file was removed. These files must not be included directly, as they " -"are already included in ``Python.h``: :ref:`Include Files `. " -"If they have been included directly, consider including ``Python.h`` " -"instead. (Contributed by Victor Stinner in :issue:`35134`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2419 -msgid "" -"The :c:func:`!PyUnicode_CHECK_INTERNED` macro has been excluded from the " -"limited C API. It was never usable there, because it used internal " -"structures which are not available in the limited C API. (Contributed by " -"Victor Stinner in :issue:`46007`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2424 -msgid "" -"The following frame functions and type are now directly available with " -"``#include ``, it's no longer needed to add ``#include " -"``:" -msgstr "" - -#: ../../whatsnew/3.11.rst:2428 -msgid ":c:func:`PyFrame_Check`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2429 -msgid ":c:func:`PyFrame_GetBack`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2430 -msgid ":c:func:`PyFrame_GetBuiltins`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2431 -msgid ":c:func:`PyFrame_GetGenerator`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2432 -msgid ":c:func:`PyFrame_GetGlobals`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2433 -msgid ":c:func:`PyFrame_GetLasti`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2434 -msgid ":c:func:`PyFrame_GetLocals`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2435 -msgid ":c:type:`PyFrame_Type`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2437 -msgid "(Contributed by Victor Stinner in :gh:`93937`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2441 -msgid "" -"The :c:type:`PyFrameObject` structure members have been removed from the " -"public C API." -msgstr "" - -#: ../../whatsnew/3.11.rst:2444 -msgid "" -"While the documentation notes that the :c:type:`PyFrameObject` fields are " -"subject to change at any time, they have been stable for a long time and " -"were used in several popular extensions." -msgstr "" - -#: ../../whatsnew/3.11.rst:2448 -msgid "" -"In Python 3.11, the frame struct was reorganized to allow performance " -"optimizations. Some fields were removed entirely, as they were details of " -"the old implementation." -msgstr "" - -#: ../../whatsnew/3.11.rst:2452 -msgid ":c:type:`PyFrameObject` fields:" -msgstr "" - -#: ../../whatsnew/3.11.rst:2454 -msgid "``f_back``: use :c:func:`PyFrame_GetBack`." -msgstr "" - -#: ../../whatsnew/3.11.rst:2455 -msgid "``f_blockstack``: removed." -msgstr "" - -#: ../../whatsnew/3.11.rst:2456 -msgid "``f_builtins``: use :c:func:`PyFrame_GetBuiltins`." -msgstr "" - -#: ../../whatsnew/3.11.rst:2457 -msgid "``f_code``: use :c:func:`PyFrame_GetCode`." -msgstr "" - -#: ../../whatsnew/3.11.rst:2458 -msgid "``f_gen``: use :c:func:`PyFrame_GetGenerator`." -msgstr "" - -#: ../../whatsnew/3.11.rst:2459 -msgid "``f_globals``: use :c:func:`PyFrame_GetGlobals`." -msgstr "" - -#: ../../whatsnew/3.11.rst:2460 -msgid "``f_iblock``: removed." -msgstr "" - -#: ../../whatsnew/3.11.rst:2461 -msgid "" -"``f_lasti``: use :c:func:`PyFrame_GetLasti`. Code using ``f_lasti`` with " -"``PyCode_Addr2Line()`` should use :c:func:`PyFrame_GetLineNumber` instead; " -"it may be faster." -msgstr "" - -#: ../../whatsnew/3.11.rst:2464 -msgid "``f_lineno``: use :c:func:`PyFrame_GetLineNumber`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2465 -msgid "``f_locals``: use :c:func:`PyFrame_GetLocals`." -msgstr "" - -#: ../../whatsnew/3.11.rst:2466 -msgid "``f_stackdepth``: removed." -msgstr "" - -#: ../../whatsnew/3.11.rst:2467 -msgid "``f_state``: no public API (renamed to ``f_frame.f_state``)." -msgstr "" - -#: ../../whatsnew/3.11.rst:2468 -msgid "``f_trace``: no public API." -msgstr "" - -#: ../../whatsnew/3.11.rst:2469 -msgid "" -"``f_trace_lines``: use ``PyObject_GetAttrString((PyObject*)frame, " -"\"f_trace_lines\")``." -msgstr "" - -#: ../../whatsnew/3.11.rst:2470 -msgid "" -"``f_trace_opcodes``: use ``PyObject_GetAttrString((PyObject*)frame, " -"\"f_trace_opcodes\")``." -msgstr "" - -#: ../../whatsnew/3.11.rst:2471 -msgid "``f_localsplus``: no public API (renamed to ``f_frame.localsplus``)." -msgstr "" - -#: ../../whatsnew/3.11.rst:2472 -msgid "``f_valuestack``: removed." -msgstr "" - -#: ../../whatsnew/3.11.rst:2474 -msgid "" -"The Python frame object is now created lazily. A side effect is that the " -":attr:`~frame.f_back` member must not be accessed directly, since its value " -"is now also computed lazily. The :c:func:`PyFrame_GetBack` function must be " -"called instead." -msgstr "" - -#: ../../whatsnew/3.11.rst:2480 -msgid "" -"Debuggers that accessed the :attr:`~frame.f_locals` directly *must* call " -":c:func:`PyFrame_GetLocals` instead. They no longer need to call " -":c:func:`!PyFrame_FastToLocalsWithError` or :c:func:`!PyFrame_LocalsToFast`," -" in fact they should not call those functions. The necessary updating of the" -" frame is now managed by the virtual machine." -msgstr "" - -#: ../../whatsnew/3.11.rst:2486 -msgid "Code defining ``PyFrame_GetCode()`` on Python 3.8 and older::" -msgstr "" - -#: ../../whatsnew/3.11.rst:2488 -msgid "" -"#if PY_VERSION_HEX < 0x030900B1\n" -"static inline PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)\n" -"{\n" -" Py_INCREF(frame->f_code);\n" -" return frame->f_code;\n" -"}\n" -"#endif" -msgstr "" - -#: ../../whatsnew/3.11.rst:2496 -msgid "Code defining ``PyFrame_GetBack()`` on Python 3.8 and older::" -msgstr "" - -#: ../../whatsnew/3.11.rst:2498 -msgid "" -"#if PY_VERSION_HEX < 0x030900B1\n" -"static inline PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)\n" -"{\n" -" Py_XINCREF(frame->f_back);\n" -" return frame->f_back;\n" -"}\n" -"#endif" -msgstr "" - -#: ../../whatsnew/3.11.rst:2506 -msgid "" -"Or use the `pythoncapi_compat project `__ to get these two functions on older Python versions." -msgstr "" - -#: ../../whatsnew/3.11.rst:2510 -msgid "Changes of the :c:type:`PyThreadState` structure members:" -msgstr "" - -#: ../../whatsnew/3.11.rst:2512 -msgid "" -"``frame``: removed, use :c:func:`PyThreadState_GetFrame` (function added to " -"Python 3.9 by :issue:`40429`). Warning: the function returns a :term:`strong" -" reference`, need to call :c:func:`Py_XDECREF`." -msgstr "" - -#: ../../whatsnew/3.11.rst:2516 -msgid "" -"``tracing``: changed, use :c:func:`PyThreadState_EnterTracing` and " -":c:func:`PyThreadState_LeaveTracing` (functions added to Python 3.11 by " -":issue:`43760`)." -msgstr "" - -#: ../../whatsnew/3.11.rst:2519 -msgid "" -"``recursion_depth``: removed, use ``(tstate->recursion_limit - " -"tstate->recursion_remaining)`` instead." -msgstr "" - -#: ../../whatsnew/3.11.rst:2521 -msgid "``stackcheck_counter``: removed." -msgstr "" - -#: ../../whatsnew/3.11.rst:2523 -msgid "Code defining ``PyThreadState_GetFrame()`` on Python 3.8 and older::" -msgstr "" - -#: ../../whatsnew/3.11.rst:2525 -msgid "" -"#if PY_VERSION_HEX < 0x030900B1\n" -"static inline PyFrameObject* PyThreadState_GetFrame(PyThreadState *tstate)\n" -"{\n" -" Py_XINCREF(tstate->frame);\n" -" return tstate->frame;\n" -"}\n" -"#endif" -msgstr "" - -#: ../../whatsnew/3.11.rst:2533 -msgid "" -"Code defining ``PyThreadState_EnterTracing()`` and " -"``PyThreadState_LeaveTracing()`` on Python 3.10 and older::" -msgstr "" - -#: ../../whatsnew/3.11.rst:2536 -msgid "" -"#if PY_VERSION_HEX < 0x030B00A2\n" -"static inline void PyThreadState_EnterTracing(PyThreadState *tstate)\n" -"{\n" -" tstate->tracing++;\n" -"#if PY_VERSION_HEX >= 0x030A00A1\n" -" tstate->cframe->use_tracing = 0;\n" -"#else\n" -" tstate->use_tracing = 0;\n" -"#endif\n" -"}\n" -"\n" -"static inline void PyThreadState_LeaveTracing(PyThreadState *tstate)\n" -"{\n" -" int use_tracing = (tstate->c_tracefunc != NULL || tstate->c_profilefunc != NULL);\n" -" tstate->tracing--;\n" -"#if PY_VERSION_HEX >= 0x030A00A1\n" -" tstate->cframe->use_tracing = use_tracing;\n" -"#else\n" -" tstate->use_tracing = use_tracing;\n" -"#endif\n" -"}\n" -"#endif" -msgstr "" - -#: ../../whatsnew/3.11.rst:2559 -msgid "" -"Or use `the pythoncapi-compat project `__ to get these functions on old Python functions." -msgstr "" - -#: ../../whatsnew/3.11.rst:2563 -msgid "" -"Distributors are encouraged to build Python with the optimized Blake2 " -"library `libb2`_." -msgstr "" - -#: ../../whatsnew/3.11.rst:2566 -msgid "" -"The :c:member:`PyConfig.module_search_paths_set` field must now be set to 1 " -"for initialization to use :c:member:`PyConfig.module_search_paths` to " -"initialize :data:`sys.path`. Otherwise, initialization will recalculate the " -"path and replace any values added to ``module_search_paths``." -msgstr "" - -#: ../../whatsnew/3.11.rst:2571 -msgid "" -":c:func:`PyConfig_Read` no longer calculates the initial search path, and " -"will not fill any values into :c:member:`PyConfig.module_search_paths`. To " -"calculate default paths and then modify them, finish initialization and use " -":c:func:`PySys_GetObject` to retrieve :data:`sys.path` as a Python list " -"object and modify it directly." -msgstr "" - -#: ../../whatsnew/3.11.rst:2582 -msgid "" -"Deprecate the following functions to configure the Python initialization:" -msgstr "" - -#: ../../whatsnew/3.11.rst:2584 -msgid ":c:func:`!PySys_AddWarnOptionUnicode`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2585 -msgid ":c:func:`!PySys_AddWarnOption`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2586 -msgid ":c:func:`!PySys_AddXOption`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2587 -msgid ":c:func:`!PySys_HasWarnOptions`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2588 -msgid ":c:func:`!PySys_SetArgvEx`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2589 -msgid ":c:func:`!PySys_SetArgv`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2590 -msgid ":c:func:`!PySys_SetPath`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2591 -msgid ":c:func:`!Py_SetPath`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2592 -msgid ":c:func:`!Py_SetProgramName`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2593 -msgid ":c:func:`!Py_SetPythonHome`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2594 -msgid ":c:func:`!Py_SetStandardStreamEncoding`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2595 -msgid ":c:func:`!_Py_SetProgramFullPath`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2597 -msgid "" -"Use the new :c:type:`PyConfig` API of the :ref:`Python Initialization " -"Configuration ` instead (:pep:`587`). (Contributed by Victor " -"Stinner in :gh:`88279`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2601 -msgid "" -"Deprecate the ``ob_shash`` member of the :c:type:`PyBytesObject`. Use " -":c:func:`PyObject_Hash` instead. (Contributed by Inada Naoki in " -":issue:`46864`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2610 -msgid "" -"The following C APIs have been deprecated in earlier Python releases, and " -"will be removed in Python 3.12." -msgstr "" - -#: ../../whatsnew/3.11.rst:2613 -msgid ":c:func:`!PyUnicode_AS_DATA`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2614 -msgid ":c:func:`!PyUnicode_AS_UNICODE`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2615 -msgid ":c:func:`!PyUnicode_AsUnicodeAndSize`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2616 -msgid ":c:func:`!PyUnicode_AsUnicode`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2617 -msgid ":c:func:`!PyUnicode_FromUnicode`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2618 -msgid ":c:func:`!PyUnicode_GET_DATA_SIZE`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2619 -msgid ":c:func:`!PyUnicode_GET_SIZE`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2620 -msgid ":c:func:`!PyUnicode_GetSize`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2621 -msgid ":c:func:`!PyUnicode_IS_COMPACT`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2622 -msgid ":c:func:`!PyUnicode_IS_READY`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2623 -msgid ":c:func:`PyUnicode_READY`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2624 -msgid ":c:func:`!PyUnicode_WSTR_LENGTH`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2625 -msgid ":c:func:`!_PyUnicode_AsUnicode`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2626 -msgid ":c:macro:`!PyUnicode_WCHAR_KIND`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2627 -msgid ":c:type:`PyUnicodeObject`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2628 -msgid ":c:func:`!PyUnicode_InternImmortal`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2636 -msgid "" -":c:func:`!PyFrame_BlockSetup` and :c:func:`!PyFrame_BlockPop` have been " -"removed. (Contributed by Mark Shannon in :issue:`40222`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2640 -msgid "Remove the following math macros using the ``errno`` variable:" -msgstr "" - -#: ../../whatsnew/3.11.rst:2642 -msgid "``Py_ADJUST_ERANGE1()``" -msgstr "" - -#: ../../whatsnew/3.11.rst:2643 -msgid "``Py_ADJUST_ERANGE2()``" -msgstr "" - -#: ../../whatsnew/3.11.rst:2644 -msgid "``Py_OVERFLOWED()``" -msgstr "" - -#: ../../whatsnew/3.11.rst:2645 -msgid "``Py_SET_ERANGE_IF_OVERFLOW()``" -msgstr "" - -#: ../../whatsnew/3.11.rst:2646 -msgid "``Py_SET_ERRNO_ON_MATH_ERROR()``" -msgstr "" - -#: ../../whatsnew/3.11.rst:2648 -msgid "(Contributed by Victor Stinner in :issue:`45412`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2650 -msgid "" -"Remove ``Py_UNICODE_COPY()`` and ``Py_UNICODE_FILL()`` macros, deprecated " -"since Python 3.3. Use ``PyUnicode_CopyCharacters()`` or ``memcpy()`` " -"(``wchar_t*`` string), and ``PyUnicode_Fill()`` functions instead. " -"(Contributed by Victor Stinner in :issue:`41123`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2655 -msgid "" -"Remove the ``pystrhex.h`` header file. It only contains private functions. C" -" extensions should only include the main ```` header file. " -"(Contributed by Victor Stinner in :issue:`45434`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2659 -msgid "" -"Remove the ``Py_FORCE_DOUBLE()`` macro. It was used by the " -"``Py_IS_INFINITY()`` macro. (Contributed by Victor Stinner in " -":issue:`45440`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2663 -msgid "" -"The following items are no longer available when :c:macro:`Py_LIMITED_API` " -"is defined:" -msgstr "" - -#: ../../whatsnew/3.11.rst:2666 -msgid ":c:func:`PyMarshal_WriteLongToFile`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2667 -msgid ":c:func:`PyMarshal_WriteObjectToFile`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2668 -msgid ":c:func:`PyMarshal_ReadObjectFromString`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2669 -msgid ":c:func:`PyMarshal_WriteObjectToString`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2670 -msgid "the ``Py_MARSHAL_VERSION`` macro" -msgstr "" - -#: ../../whatsnew/3.11.rst:2672 -msgid "These are not part of the :ref:`limited API `." -msgstr "" - -#: ../../whatsnew/3.11.rst:2674 -msgid "(Contributed by Victor Stinner in :issue:`45474`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2676 -msgid "" -"Exclude :c:func:`PyWeakref_GET_OBJECT` from the limited C API. It never " -"worked since the :c:type:`!PyWeakReference` structure is opaque in the " -"limited C API. (Contributed by Victor Stinner in :issue:`35134`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2681 -msgid "" -"Remove the ``PyHeapType_GET_MEMBERS()`` macro. It was exposed in the public " -"C API by mistake, it must only be used by Python internally. Use the " -"``PyTypeObject.tp_members`` member instead. (Contributed by Victor Stinner " -"in :issue:`40170`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2686 -msgid "" -"Remove the ``HAVE_PY_SET_53BIT_PRECISION`` macro (moved to the internal C " -"API). (Contributed by Victor Stinner in :issue:`45412`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2692 -msgid "" -"Remove the :c:type:`Py_UNICODE` encoder APIs, as they have been deprecated " -"since Python 3.3, are little used and are inefficient relative to the " -"recommended alternatives." -msgstr "" - -#: ../../whatsnew/3.11.rst:2697 -msgid "The removed functions are:" -msgstr "" - -#: ../../whatsnew/3.11.rst:2699 -msgid ":func:`!PyUnicode_Encode`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2700 -msgid ":func:`!PyUnicode_EncodeASCII`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2701 -msgid ":func:`!PyUnicode_EncodeLatin1`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2702 -msgid ":func:`!PyUnicode_EncodeUTF7`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2703 -msgid ":func:`!PyUnicode_EncodeUTF8`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2704 -msgid ":func:`!PyUnicode_EncodeUTF16`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2705 -msgid ":func:`!PyUnicode_EncodeUTF32`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2706 -msgid ":func:`!PyUnicode_EncodeUnicodeEscape`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2707 -msgid ":func:`!PyUnicode_EncodeRawUnicodeEscape`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2708 -msgid ":func:`!PyUnicode_EncodeCharmap`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2709 -msgid ":func:`!PyUnicode_TranslateCharmap`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2710 -msgid ":func:`!PyUnicode_EncodeDecimal`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2711 -msgid ":func:`!PyUnicode_TransformDecimalToASCII`" -msgstr "" - -#: ../../whatsnew/3.11.rst:2713 -msgid "" -"See :pep:`624` for details and :pep:`migration guidance <624#alternative-" -"apis>`. (Contributed by Inada Naoki in :issue:`44029`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2719 -msgid "Notable changes in 3.11.4" -msgstr "" - -#: ../../whatsnew/3.11.rst:2722 -msgid "tarfile" -msgstr "tarfile" - -#: ../../whatsnew/3.11.rst:2724 -msgid "" -"The extraction methods in :mod:`tarfile`, and :func:`shutil.unpack_archive`," -" have a new a *filter* argument that allows limiting tar features than may " -"be surprising or dangerous, such as creating files outside the destination " -"directory. See :ref:`tarfile-extraction-filter` for details. In Python 3.12," -" use without the *filter* argument will show a :exc:`DeprecationWarning`. In" -" Python 3.14, the default will switch to ``'data'``. (Contributed by Petr " -"Viktorin in :pep:`706`.)" -msgstr "" - -#: ../../whatsnew/3.11.rst:2736 -msgid "Notable changes in 3.11.5" -msgstr "" - -#: ../../whatsnew/3.11.rst:2739 -msgid "OpenSSL" -msgstr "OpenSSL" - -#: ../../whatsnew/3.11.rst:2741 -msgid "" -"Windows builds and macOS installers from python.org now use OpenSSL 3.0." -msgstr "" diff --git a/python-newest.whatsnew--3_12/id.po b/python-newest.whatsnew--3_12/id.po deleted file mode 100644 index 0941e68..0000000 --- a/python-newest.whatsnew--3_12/id.po +++ /dev/null @@ -1,5149 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2023 -# Elmo , 2023 -# Rafael Fontenelle , 2023 -# oon arfiandwi , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 14:21+0000\n" -"PO-Revision-Date: 2023-05-24 13:08+0000\n" -"Last-Translator: oon arfiandwi , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.12.rst:4 -msgid "What's New In Python 3.12" -msgstr "" - -#: ../../whatsnew/3.12.rst:0 -msgid "Editor" -msgstr "Editor" - -#: ../../whatsnew/3.12.rst:6 -msgid "Adam Turner" -msgstr "" - -#: ../../whatsnew/3.12.rst:48 -msgid "" -"This article explains the new features in Python 3.12, compared to 3.11. " -"Python 3.12 was released on October 2, 2023. For full details, see the " -":ref:`changelog `." -msgstr "" - -#: ../../whatsnew/3.12.rst:54 -msgid ":pep:`693` -- Python 3.12 Release Schedule" -msgstr "" - -#: ../../whatsnew/3.12.rst:57 -msgid "Summary -- Release highlights" -msgstr "Ringkasan -- Sorotan Rilis" - -#: ../../whatsnew/3.12.rst:62 -msgid "" -"Python 3.12 is a stable release of the Python programming language, with a " -"mix of changes to the language and the standard library. The library changes" -" focus on cleaning up deprecated APIs, usability, and correctness. Of note, " -"the :mod:`!distutils` package has been removed from the standard library. " -"Filesystem support in :mod:`os` and :mod:`pathlib` has seen a number of " -"improvements, and several modules have better performance." -msgstr "" - -#: ../../whatsnew/3.12.rst:69 -msgid "" -"The language changes focus on usability, as :term:`f-strings ` " -"have had many limitations removed and 'Did you mean ...' suggestions " -"continue to improve. The new :ref:`type parameter syntax " -"` and :keyword:`type` statement improve ergonomics for " -"using :term:`generic types ` and :term:`type aliases ` with static type checkers." -msgstr "" - -#: ../../whatsnew/3.12.rst:76 -msgid "" -"This article doesn't attempt to provide a complete specification of all new " -"features, but instead gives a convenient overview. For full details, you " -"should refer to the documentation, such as the :ref:`Library Reference " -"` and :ref:`Language Reference `. If you " -"want to understand the complete implementation and design rationale for a " -"change, refer to the PEP for a particular new feature; but note that PEPs " -"usually are not kept up-to-date once a feature has been fully implemented." -msgstr "" - -#: ../../whatsnew/3.12.rst:90 -msgid "New syntax features:" -msgstr "Fitur sintaks baru:" - -#: ../../whatsnew/3.12.rst:92 -msgid "" -":ref:`PEP 695 `, type parameter syntax and the " -":keyword:`type` statement" -msgstr "" - -#: ../../whatsnew/3.12.rst:94 -msgid "New grammar features:" -msgstr "" - -#: ../../whatsnew/3.12.rst:96 -msgid "" -":ref:`PEP 701 `, :term:`f-strings ` in the " -"grammar" -msgstr "" - -#: ../../whatsnew/3.12.rst:98 -msgid "Interpreter improvements:" -msgstr "Peningkatan Interpreter:" - -#: ../../whatsnew/3.12.rst:100 -msgid "" -":ref:`PEP 684 `, a unique per-interpreter :term:`GIL " -"`" -msgstr "" - -#: ../../whatsnew/3.12.rst:102 -msgid ":ref:`PEP 669 `, low impact monitoring" -msgstr "" - -#: ../../whatsnew/3.12.rst:103 -msgid "" -"`Improved 'Did you mean ...' suggestions `_ for " -":exc:`NameError`, :exc:`ImportError`, and :exc:`SyntaxError` exceptions" -msgstr "" - -#: ../../whatsnew/3.12.rst:106 -msgid "Python data model improvements:" -msgstr "Perbaikan model data Python:" - -#: ../../whatsnew/3.12.rst:108 -msgid "" -":ref:`PEP 688 `, using the :ref:`buffer protocol " -"` from Python" -msgstr "" - -#: ../../whatsnew/3.12.rst:111 -msgid "Significant improvements in the standard library:" -msgstr "Peningkatan yang signifikan dalam pustaka standar:" - -#: ../../whatsnew/3.12.rst:113 -msgid "The :class:`pathlib.Path` class now supports subclassing" -msgstr "" - -#: ../../whatsnew/3.12.rst:114 -msgid "The :mod:`os` module received several improvements for Windows support" -msgstr "" - -#: ../../whatsnew/3.12.rst:115 -msgid "" -"A :ref:`command-line interface ` has been added to the " -":mod:`sqlite3` module" -msgstr "" - -#: ../../whatsnew/3.12.rst:117 -msgid "" -":func:`isinstance` checks against :func:`runtime-checkable protocols " -"` enjoy a speed up of between two and 20 times" -msgstr "" - -#: ../../whatsnew/3.12.rst:119 -msgid "" -"The :mod:`asyncio` package has had a number of performance improvements, " -"with some benchmarks showing a 75% speed up." -msgstr "" - -#: ../../whatsnew/3.12.rst:121 -msgid "" -"A :ref:`command-line interface ` has been added to the :mod:`uuid`" -" module" -msgstr "" - -#: ../../whatsnew/3.12.rst:123 -msgid "" -"Due to the changes in :ref:`PEP 701 `, producing tokens " -"via the :mod:`tokenize` module is up to 64% faster." -msgstr "" - -#: ../../whatsnew/3.12.rst:126 -msgid "Security improvements:" -msgstr "" - -#: ../../whatsnew/3.12.rst:128 -msgid "" -"Replace the builtin :mod:`hashlib` implementations of SHA1, SHA3, SHA2-384, " -"SHA2-512, and MD5 with formally verified code from the `HACL* " -"`__ project. These builtin " -"implementations remain as fallbacks that are only used when OpenSSL does not" -" provide them." -msgstr "" - -#: ../../whatsnew/3.12.rst:134 -msgid "C API improvements:" -msgstr "Peningkatan API C:" - -#: ../../whatsnew/3.12.rst:136 -msgid ":ref:`PEP 697 `, unstable C API tier" -msgstr "" - -#: ../../whatsnew/3.12.rst:137 -msgid ":ref:`PEP 683 `, immortal objects" -msgstr "" - -#: ../../whatsnew/3.12.rst:139 -msgid "CPython implementation improvements:" -msgstr "Peningkatan implementasi CPython:" - -#: ../../whatsnew/3.12.rst:141 -msgid ":ref:`PEP 709 `, comprehension inlining" -msgstr "" - -#: ../../whatsnew/3.12.rst:142 -msgid "" -":ref:`CPython support ` for the Linux ``perf`` profiler" -msgstr "" - -#: ../../whatsnew/3.12.rst:143 -msgid "Implement stack overflow protection on supported platforms" -msgstr "" - -#: ../../whatsnew/3.12.rst:145 -msgid "New typing features:" -msgstr "" - -#: ../../whatsnew/3.12.rst:147 -msgid "" -":ref:`PEP 692 `, using :class:`~typing.TypedDict` to " -"annotate :term:`**kwargs `" -msgstr "" - -#: ../../whatsnew/3.12.rst:149 -msgid ":ref:`PEP 698 `, :func:`typing.override` decorator" -msgstr "" - -#: ../../whatsnew/3.12.rst:151 -msgid "Important deprecations, removals or restrictions:" -msgstr "" - -#: ../../whatsnew/3.12.rst:153 -msgid "" -":pep:`623`: Remove ``wstr`` from Unicode objects in Python's C API, reducing" -" the size of every :class:`str` object by at least 8 bytes." -msgstr "" - -#: ../../whatsnew/3.12.rst:156 -msgid "" -":pep:`632`: Remove the :mod:`!distutils` package. See :pep:`the migration " -"guide <0632#migration-advice>` for advice replacing the APIs it provided. " -"The third-party `Setuptools " -"`__ " -"package continues to provide :mod:`!distutils`, if you still require it in " -"Python 3.12 and beyond." -msgstr "" - -#: ../../whatsnew/3.12.rst:163 -msgid "" -":gh:`95299`: Do not pre-install ``setuptools`` in virtual environments " -"created with :mod:`venv`. This means that ``distutils``, ``setuptools``, " -"``pkg_resources``, and ``easy_install`` will no longer available by default;" -" to access these run ``pip install setuptools`` in the :ref:`activated " -"` virtual environment." -msgstr "" - -#: ../../whatsnew/3.12.rst:170 -msgid "" -"The :mod:`!asynchat`, :mod:`!asyncore`, and :mod:`!imp` modules have been " -"removed, along with several :class:`unittest.TestCase` `method aliases " -"`_." -msgstr "" - -#: ../../whatsnew/3.12.rst:176 ../../whatsnew/3.12.rst:1842 -msgid "New Features" -msgstr "Fitur-fitur Baru" - -#: ../../whatsnew/3.12.rst:181 -msgid "PEP 695: Type Parameter Syntax" -msgstr "" - -#: ../../whatsnew/3.12.rst:183 -msgid "" -"Generic classes and functions under :pep:`484` were declared using a verbose" -" syntax that left the scope of type parameters unclear and required explicit" -" declarations of variance." -msgstr "" - -#: ../../whatsnew/3.12.rst:187 -msgid "" -":pep:`695` introduces a new, more compact and explicit way to create " -":ref:`generic classes ` and :ref:`functions `::" -msgstr "" - -#: ../../whatsnew/3.12.rst:190 -msgid "" -"def max[T](args: Iterable[T]) -> T:\n" -" ...\n" -"\n" -"class list[T]:\n" -" def __getitem__(self, index: int, /) -> T:\n" -" ...\n" -"\n" -" def append(self, element: T) -> None:\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.12.rst:200 -msgid "" -"In addition, the PEP introduces a new way to declare :ref:`type aliases " -"` using the :keyword:`type` statement, which creates an " -"instance of :class:`~typing.TypeAliasType`::" -msgstr "" - -#: ../../whatsnew/3.12.rst:204 -msgid "type Point = tuple[float, float]" -msgstr "" - -#: ../../whatsnew/3.12.rst:206 -msgid "Type aliases can also be :ref:`generic `::" -msgstr "" - -#: ../../whatsnew/3.12.rst:208 -msgid "type Point[T] = tuple[T, T]" -msgstr "" - -#: ../../whatsnew/3.12.rst:210 -msgid "" -"The new syntax allows declaring :class:`~typing.TypeVarTuple` and " -":class:`~typing.ParamSpec` parameters, as well as :class:`~typing.TypeVar` " -"parameters with bounds or constraints::" -msgstr "" - -#: ../../whatsnew/3.12.rst:214 -msgid "" -"type IntFunc[**P] = Callable[P, int] # ParamSpec\n" -"type LabeledTuple[*Ts] = tuple[str, *Ts] # TypeVarTuple\n" -"type HashableSequence[T: Hashable] = Sequence[T] # TypeVar with bound\n" -"type IntOrStrSequence[T: (int, str)] = Sequence[T] # TypeVar with constraints" -msgstr "" - -#: ../../whatsnew/3.12.rst:219 -msgid "" -"The value of type aliases and the bound and constraints of type variables " -"created through this syntax are evaluated only on demand (see :ref:`lazy " -"evaluation `). This means type aliases are able to refer to" -" other types defined later in the file." -msgstr "" - -#: ../../whatsnew/3.12.rst:224 -msgid "" -"Type parameters declared through a type parameter list are visible within " -"the scope of the declaration and any nested scopes, but not in the outer " -"scope. For example, they can be used in the type annotations for the methods" -" of a generic class or in the class body. However, they cannot be used in " -"the module scope after the class is defined. See :ref:`type-params` for a " -"detailed description of the runtime semantics of type parameters." -msgstr "" - -#: ../../whatsnew/3.12.rst:231 -msgid "" -"In order to support these scoping semantics, a new kind of scope is " -"introduced, the :ref:`annotation scope `. Annotation " -"scopes behave for the most part like function scopes, but interact " -"differently with enclosing class scopes. In Python 3.13, :term:`annotations " -"` will also be evaluated in annotation scopes." -msgstr "" - -#: ../../whatsnew/3.12.rst:237 -msgid "See :pep:`695` for more details." -msgstr "" - -#: ../../whatsnew/3.12.rst:239 -msgid "" -"(PEP written by Eric Traut. Implementation by Jelle Zijlstra, Eric Traut, " -"and others in :gh:`103764`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:245 -msgid "PEP 701: Syntactic formalization of f-strings" -msgstr "" - -#: ../../whatsnew/3.12.rst:247 -msgid "" -":pep:`701` lifts some restrictions on the usage of :term:`f-strings " -"`. Expression components inside f-strings can now be any valid " -"Python expression, including strings reusing the same quote as the " -"containing f-string, multi-line expressions, comments, backslashes, and " -"unicode escape sequences. Let's cover these in detail:" -msgstr "" - -#: ../../whatsnew/3.12.rst:253 -msgid "" -"Quote reuse: in Python 3.11, reusing the same quotes as the enclosing " -"f-string raises a :exc:`SyntaxError`, forcing the user to either use other " -"available quotes (like using double quotes or triple quotes if the f-string " -"uses single quotes). In Python 3.12, you can now do things like this:" -msgstr "" - -#: ../../whatsnew/3.12.rst:262 -msgid "" -"Note that before this change there was no explicit limit in how f-strings " -"can be nested, but the fact that string quotes cannot be reused inside the " -"expression component of f-strings made it impossible to nest f-strings " -"arbitrarily. In fact, this is the most nested f-string that could be " -"written:" -msgstr "" - -#: ../../whatsnew/3.12.rst:270 -msgid "" -"As now f-strings can contain any valid Python expression inside expression " -"components, it is now possible to nest f-strings arbitrarily:" -msgstr "" - -#: ../../whatsnew/3.12.rst:276 -msgid "" -"Multi-line expressions and comments: In Python 3.11, f-string expressions " -"must be defined in a single line, even if the expression within the f-string" -" could normally span multiple lines (like literal lists being defined over " -"multiple lines), making them harder to read. In Python 3.12 you can now " -"define f-strings spanning multiple lines, and add inline comments:" -msgstr "" - -#: ../../whatsnew/3.12.rst:290 -msgid "" -"Backslashes and unicode characters: before Python 3.12 f-string expressions " -"couldn't contain any ``\\`` character. This also affected unicode " -":ref:`escape sequences ` (such as ``\\N{snowman}``) as " -"these contain the ``\\N`` part that previously could not be part of " -"expression components of f-strings. Now, you can define expressions like " -"this:" -msgstr "" - -#: ../../whatsnew/3.12.rst:303 -msgid "See :pep:`701` for more details." -msgstr "" - -#: ../../whatsnew/3.12.rst:305 -msgid "" -"As a positive side-effect of how this feature has been implemented (by " -"parsing f-strings with :pep:`the PEG parser <617>`), now error messages for " -"f-strings are more precise and include the exact location of the error. For " -"example, in Python 3.11, the following f-string raises a :exc:`SyntaxError`:" -msgstr "" - -#: ../../whatsnew/3.12.rst:310 -msgid "" -">>> my_string = f\"{x z y}\" + f\"{1 + 1}\"\n" -" File \"\", line 1\n" -" (x z y)\n" -" ^^^\n" -"SyntaxError: f-string: invalid syntax. Perhaps you forgot a comma?" -msgstr "" - -#: ../../whatsnew/3.12.rst:318 -msgid "" -"but the error message doesn't include the exact location of the error within" -" the line and also has the expression artificially surrounded by " -"parentheses. In Python 3.12, as f-strings are parsed with the PEG parser, " -"error messages can be more precise and show the entire line:" -msgstr "" - -#: ../../whatsnew/3.12.rst:322 -msgid "" -">>> my_string = f\"{x z y}\" + f\"{1 + 1}\"\n" -" File \"\", line 1\n" -" my_string = f\"{x z y}\" + f\"{1 + 1}\"\n" -" ^^^\n" -"SyntaxError: invalid syntax. Perhaps you forgot a comma?" -msgstr "" - -#: ../../whatsnew/3.12.rst:330 -msgid "" -"(Contributed by Pablo Galindo, Batuhan Taskaya, Lysandros Nikolaou, Cristián" -" Maureira-Fredes and Marta Gómez in :gh:`102856`. PEP written by Pablo " -"Galindo, Batuhan Taskaya, Lysandros Nikolaou and Marta Gómez)." -msgstr "" - -#: ../../whatsnew/3.12.rst:337 -msgid "PEP 684: A Per-Interpreter GIL" -msgstr "" - -#: ../../whatsnew/3.12.rst:339 -msgid "" -":pep:`684` introduces a per-interpreter :term:`GIL `, so that sub-interpreters may now be created with a unique GIL per " -"interpreter. This allows Python programs to take full advantage of multiple " -"CPU cores. This is currently only available through the C-API, though a " -"Python API is :pep:`anticipated for 3.13 <554>`." -msgstr "" - -#: ../../whatsnew/3.12.rst:345 -msgid "" -"Use the new :c:func:`Py_NewInterpreterFromConfig` function to create an " -"interpreter with its own GIL:" -msgstr "" - -#: ../../whatsnew/3.12.rst:348 -msgid "" -"PyInterpreterConfig config = {\n" -" .check_multi_interp_extensions = 1,\n" -" .gil = PyInterpreterConfig_OWN_GIL,\n" -"};\n" -"PyThreadState *tstate = NULL;\n" -"PyStatus status = Py_NewInterpreterFromConfig(&tstate, &config);\n" -"if (PyStatus_Exception(status)) {\n" -" return -1;\n" -"}\n" -"/* The new interpreter is now active in the current thread. */" -msgstr "" - -#: ../../whatsnew/3.12.rst:361 -msgid "" -"For further examples how to use the C-API for sub-interpreters with a per-" -"interpreter GIL, see ``Modules/_xxsubinterpretersmodule.c``." -msgstr "" - -#: ../../whatsnew/3.12.rst:364 -msgid "(Contributed by Eric Snow in :gh:`104210`, etc.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:369 -msgid "PEP 669: Low impact monitoring for CPython" -msgstr "" - -#: ../../whatsnew/3.12.rst:371 -msgid "" -":pep:`669` defines a new :mod:`API ` for profilers, " -"debuggers, and other tools to monitor events in CPython. It covers a wide " -"range of events, including calls, returns, lines, exceptions, jumps, and " -"more. This means that you only pay for what you use, providing support for " -"near-zero overhead debuggers and coverage tools. See :mod:`sys.monitoring` " -"for details." -msgstr "" - -#: ../../whatsnew/3.12.rst:379 -msgid "(Contributed by Mark Shannon in :gh:`103082`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:384 -msgid "PEP 688: Making the buffer protocol accessible in Python" -msgstr "" - -#: ../../whatsnew/3.12.rst:386 -msgid "" -":pep:`688` introduces a way to use the :ref:`buffer protocol " -"` from Python code. Classes that implement the " -":meth:`~object.__buffer__` method are now usable as buffer types." -msgstr "" - -#: ../../whatsnew/3.12.rst:390 -msgid "" -"The new :class:`collections.abc.Buffer` ABC provides a standard way to " -"represent buffer objects, for example in type annotations. The new " -":class:`inspect.BufferFlags` enum represents the flags that can be used to " -"customize buffer creation. (Contributed by Jelle Zijlstra in :gh:`102500`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:399 -msgid "PEP 709: Comprehension inlining" -msgstr "" - -#: ../../whatsnew/3.12.rst:401 -msgid "" -"Dictionary, list, and set comprehensions are now inlined, rather than " -"creating a new single-use function object for each execution of the " -"comprehension. This speeds up execution of a comprehension by up to two " -"times. See :pep:`709` for further details." -msgstr "" - -#: ../../whatsnew/3.12.rst:406 -msgid "" -"Comprehension iteration variables remain isolated and don't overwrite a " -"variable of the same name in the outer scope, nor are they visible after the" -" comprehension. Inlining does result in a few visible behavior changes:" -msgstr "" - -#: ../../whatsnew/3.12.rst:410 -msgid "" -"There is no longer a separate frame for the comprehension in tracebacks, and" -" tracing/profiling no longer shows the comprehension as a function call." -msgstr "" - -#: ../../whatsnew/3.12.rst:412 -msgid "" -"The :mod:`symtable` module will no longer produce child symbol tables for " -"each comprehension; instead, the comprehension's locals will be included in " -"the parent function's symbol table." -msgstr "" - -#: ../../whatsnew/3.12.rst:415 -msgid "" -"Calling :func:`locals` inside a comprehension now includes variables from " -"outside the comprehension, and no longer includes the synthetic ``.0`` " -"variable for the comprehension \"argument\"." -msgstr "" - -#: ../../whatsnew/3.12.rst:418 -msgid "" -"A comprehension iterating directly over ``locals()`` (e.g. ``[k for k in " -"locals()]``) may see \"RuntimeError: dictionary changed size during " -"iteration\" when run under tracing (e.g. code coverage measurement). This is" -" the same behavior already seen in e.g. ``for k in locals():``. To avoid the" -" error, first create a list of keys to iterate over: ``keys = " -"list(locals()); [k for k in keys]``." -msgstr "" - -#: ../../whatsnew/3.12.rst:425 -msgid "(Contributed by Carl Meyer and Vladimir Matveev in :pep:`709`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:428 -msgid "Improved Error Messages" -msgstr "" - -#: ../../whatsnew/3.12.rst:430 -msgid "" -"Modules from the standard library are now potentially suggested as part of " -"the error messages displayed by the interpreter when a :exc:`NameError` is " -"raised to the top level. (Contributed by Pablo Galindo in :gh:`98254`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:439 -msgid "" -"Improve the error suggestion for :exc:`NameError` exceptions for instances. " -"Now if a :exc:`NameError` is raised in a method and the instance has an " -"attribute that's exactly equal to the name in the exception, the suggestion " -"will include ``self.`` instead of the closest match in the method " -"scope. (Contributed by Pablo Galindo in :gh:`99139`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:459 -msgid "" -"Improve the :exc:`SyntaxError` error message when the user types ``import x " -"from y`` instead of ``from y import x``. (Contributed by Pablo Galindo in " -":gh:`98931`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:469 -msgid "" -":exc:`ImportError` exceptions raised from failed ``from import " -"`` statements now include suggestions for the value of ```` " -"based on the available names in ````. (Contributed by Pablo Galindo " -"in :gh:`91058`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:480 -msgid "New Features Related to Type Hints" -msgstr "" - -#: ../../whatsnew/3.12.rst:482 -msgid "" -"This section covers major changes affecting :pep:`type hints <484>` and the " -":mod:`typing` module." -msgstr "" - -#: ../../whatsnew/3.12.rst:488 -msgid "PEP 692: Using ``TypedDict`` for more precise ``**kwargs`` typing" -msgstr "" - -#: ../../whatsnew/3.12.rst:490 -msgid "" -"Typing ``**kwargs`` in a function signature as introduced by :pep:`484` " -"allowed for valid annotations only in cases where all of the ``**kwargs`` " -"were of the same type." -msgstr "" - -#: ../../whatsnew/3.12.rst:494 -msgid "" -":pep:`692` specifies a more precise way of typing ``**kwargs`` by relying on" -" typed dictionaries::" -msgstr "" - -#: ../../whatsnew/3.12.rst:497 -msgid "" -"from typing import TypedDict, Unpack\n" -"\n" -"class Movie(TypedDict):\n" -" name: str\n" -" year: int\n" -"\n" -"def foo(**kwargs: Unpack[Movie]): ..." -msgstr "" - -#: ../../whatsnew/3.12.rst:505 -msgid "See :pep:`692` for more details." -msgstr "" - -#: ../../whatsnew/3.12.rst:507 -msgid "(Contributed by Franek Magiera in :gh:`103629`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:512 -msgid "PEP 698: Override Decorator for Static Typing" -msgstr "" - -#: ../../whatsnew/3.12.rst:514 -msgid "" -"A new decorator :func:`typing.override` has been added to the :mod:`typing` " -"module. It indicates to type checkers that the method is intended to " -"override a method in a superclass. This allows type checkers to catch " -"mistakes where a method that is intended to override something in a base " -"class does not in fact do so." -msgstr "" - -#: ../../whatsnew/3.12.rst:520 -msgid "Example::" -msgstr "Contoh::" - -#: ../../whatsnew/3.12.rst:522 -msgid "" -"from typing import override\n" -"\n" -"class Base:\n" -" def get_color(self) -> str:\n" -" return \"blue\"\n" -"\n" -"class GoodChild(Base):\n" -" @override # ok: overrides Base.get_color\n" -" def get_color(self) -> str:\n" -" return \"yellow\"\n" -"\n" -"class BadChild(Base):\n" -" @override # type checker error: does not override Base.get_color\n" -" def get_colour(self) -> str:\n" -" return \"red\"" -msgstr "" - -#: ../../whatsnew/3.12.rst:538 -msgid "See :pep:`698` for more details." -msgstr "" - -#: ../../whatsnew/3.12.rst:540 -msgid "(Contributed by Steven Troxler in :gh:`101561`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:543 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.12.rst:545 -msgid "" -"The parser now raises :exc:`SyntaxError` when parsing source code containing" -" null bytes. (Contributed by Pablo Galindo in :gh:`96670`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:548 -msgid "" -"A backslash-character pair that is not a valid escape sequence now generates" -" a :exc:`SyntaxWarning`, instead of :exc:`DeprecationWarning`. For example, " -"``re.compile(\"\\d+\\.\\d+\")`` now emits a :exc:`SyntaxWarning` " -"(``\"\\d\"`` is an invalid escape sequence, use raw strings for regular " -"expression: ``re.compile(r\"\\d+\\.\\d+\")``). In a future Python version, " -":exc:`SyntaxError` will eventually be raised, instead of " -":exc:`SyntaxWarning`. (Contributed by Victor Stinner in :gh:`98401`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:557 -msgid "" -"Octal escapes with value larger than ``0o377`` (ex: ``\"\\477\"``), " -"deprecated in Python 3.11, now produce a :exc:`SyntaxWarning`, instead of " -":exc:`DeprecationWarning`. In a future Python version they will be " -"eventually a :exc:`SyntaxError`. (Contributed by Victor Stinner in " -":gh:`98401`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:563 -msgid "" -"Variables used in the target part of comprehensions that are not stored to " -"can now be used in assignment expressions (``:=``). For example, in ``[(b :=" -" 1) for a, b.prop in some_iter]``, the assignment to ``b`` is now allowed. " -"Note that assigning to variables stored to in the target part of " -"comprehensions (like ``a``) is still disallowed, as per :pep:`572`. " -"(Contributed by Nikita Sobolev in :gh:`100581`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:570 -msgid "" -"Exceptions raised in a class or type's ``__set_name__`` method are no longer" -" wrapped by a :exc:`RuntimeError`. Context information is added to the " -"exception as a :pep:`678` note. (Contributed by Irit Katriel in " -":gh:`77757`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:574 -msgid "" -"When a ``try-except*`` construct handles the entire :exc:`ExceptionGroup` " -"and raises one other exception, that exception is no longer wrapped in an " -":exc:`ExceptionGroup`. Also changed in version 3.11.4. (Contributed by Irit " -"Katriel in :gh:`103590`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:579 -msgid "" -"The Garbage Collector now runs only on the eval breaker mechanism of the " -"Python bytecode evaluation loop instead of object allocations. The GC can " -"also run when :c:func:`PyErr_CheckSignals` is called so C extensions that " -"need to run for a long time without executing any Python code also have a " -"chance to execute the GC periodically. (Contributed by Pablo Galindo in " -":gh:`97922`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:586 -msgid "" -"All builtin and extension callables expecting boolean parameters now accept " -"arguments of any type instead of just :class:`bool` and :class:`int`. " -"(Contributed by Serhiy Storchaka in :gh:`60203`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:590 -msgid "" -":class:`memoryview` now supports the half-float type (the \"e\" format " -"code). (Contributed by Donghee Na and Antoine Pitrou in :gh:`90751`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:593 -msgid "" -":class:`slice` objects are now hashable, allowing them to be used as dict " -"keys and set items. (Contributed by Will Bradshaw, Furkan Onder, and Raymond" -" Hettinger in :gh:`101264`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:596 -msgid "" -":func:`sum` now uses Neumaier summation to improve accuracy and " -"commutativity when summing floats or mixed ints and floats. (Contributed by " -"Raymond Hettinger in :gh:`100425`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:600 -msgid "" -":func:`ast.parse` now raises :exc:`SyntaxError` instead of :exc:`ValueError`" -" when parsing source code containing null bytes. (Contributed by Pablo " -"Galindo in :gh:`96670`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:604 -msgid "" -"The extraction methods in :mod:`tarfile`, and :func:`shutil.unpack_archive`," -" have a new a *filter* argument that allows limiting tar features than may " -"be surprising or dangerous, such as creating files outside the destination " -"directory. See :ref:`tarfile extraction filters `" -" for details. In Python 3.14, the default will switch to ``'data'``. " -"(Contributed by Petr Viktorin in :pep:`706`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:612 -msgid "" -":class:`types.MappingProxyType` instances are now hashable if the underlying" -" mapping is hashable. (Contributed by Serhiy Storchaka in :gh:`87995`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:616 -msgid "" -"Add :ref:`support for the perf profiler ` through the new " -"environment variable :envvar:`PYTHONPERFSUPPORT` and command-line option " -":option:`-X perf <-X>`, as well as the new " -":func:`sys.activate_stack_trampoline`, " -":func:`sys.deactivate_stack_trampoline`, and " -":func:`sys.is_stack_trampoline_active` functions. (Design by Pablo Galindo. " -"Contributed by Pablo Galindo and Christian Heimes with contributions from " -"Gregory P. Smith [Google] and Mark Shannon in :gh:`96123`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:628 -msgid "New Modules" -msgstr "Modul-Modul Baru" - -#: ../../whatsnew/3.12.rst:630 -msgid "None." -msgstr "" - -#: ../../whatsnew/3.12.rst:634 -msgid "Improved Modules" -msgstr "Modul yang Ditingkatkan" - -#: ../../whatsnew/3.12.rst:637 -msgid "array" -msgstr "array" - -#: ../../whatsnew/3.12.rst:639 -msgid "" -"The :class:`array.array` class now supports subscripting, making it a " -":term:`generic type`. (Contributed by Jelle Zijlstra in :gh:`98658`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:643 -msgid "asyncio" -msgstr "asyncio" - -#: ../../whatsnew/3.12.rst:645 -msgid "" -"The performance of writing to sockets in :mod:`asyncio` has been " -"significantly improved. ``asyncio`` now avoids unnecessary copying when " -"writing to sockets and uses :meth:`~socket.socket.sendmsg` if the platform " -"supports it. (Contributed by Kumar Aditya in :gh:`91166`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:650 -msgid "" -"Add :func:`asyncio.eager_task_factory` and " -":func:`asyncio.create_eager_task_factory` functions to allow opting an event" -" loop in to eager task execution, making some use-cases 2x to 5x faster. " -"(Contributed by Jacob Bower & Itamar Oren in :gh:`102853`, :gh:`104140`, and" -" :gh:`104138`)" -msgstr "" - -#: ../../whatsnew/3.12.rst:655 -msgid "" -"On Linux, :mod:`asyncio` uses :class:`!asyncio.PidfdChildWatcher` by default" -" if :func:`os.pidfd_open` is available and functional instead of " -":class:`!asyncio.ThreadedChildWatcher`. (Contributed by Kumar Aditya in " -":gh:`98024`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:660 -msgid "" -"The event loop now uses the best available child watcher for each platform " -"(:class:`!asyncio.PidfdChildWatcher` if supported and " -":class:`!asyncio.ThreadedChildWatcher` otherwise), so manually configuring a" -" child watcher is not recommended. (Contributed by Kumar Aditya in " -":gh:`94597`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:666 -msgid "" -"Add *loop_factory* parameter to :func:`asyncio.run` to allow specifying a " -"custom event loop factory. (Contributed by Kumar Aditya in :gh:`99388`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:670 -msgid "" -"Add C implementation of :func:`asyncio.current_task` for 4x-6x speedup. " -"(Contributed by Itamar Oren and Pranav Thulasiram Bhat in :gh:`100344`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:673 -msgid "" -":func:`asyncio.iscoroutine` now returns ``False`` for generators as " -":mod:`asyncio` does not support legacy generator-based coroutines. " -"(Contributed by Kumar Aditya in :gh:`102748`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:677 -msgid "" -":func:`asyncio.wait` and :func:`asyncio.as_completed` now accepts generators" -" yielding tasks. (Contributed by Kumar Aditya in :gh:`78530`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:682 -msgid "calendar" -msgstr "calendar" - -#: ../../whatsnew/3.12.rst:684 -msgid "" -"Add enums :data:`calendar.Month` and :data:`calendar.Day` defining months of" -" the year and days of the week. (Contributed by Prince Roshan in " -":gh:`103636`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:689 -msgid "csv" -msgstr "csv" - -#: ../../whatsnew/3.12.rst:691 -msgid "" -"Add :const:`csv.QUOTE_NOTNULL` and :const:`csv.QUOTE_STRINGS` flags to " -"provide finer grained control of ``None`` and empty strings by " -":class:`~csv.reader` and :class:`~csv.writer` objects." -msgstr "" - -#: ../../whatsnew/3.12.rst:696 -msgid "dis" -msgstr "dis" - -#: ../../whatsnew/3.12.rst:698 -msgid "" -"Pseudo instruction opcodes (which are used by the compiler but do not appear" -" in executable bytecode) are now exposed in the :mod:`dis` module. " -":opcode:`HAVE_ARGUMENT` is still relevant to real opcodes, but it is not " -"useful for pseudo instructions. Use the new :data:`dis.hasarg` collection " -"instead. (Contributed by Irit Katriel in :gh:`94216`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:706 -msgid "" -"Add the :data:`dis.hasexc` collection to signify instructions that set an " -"exception handler. (Contributed by Irit Katriel in :gh:`94216`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:710 -msgid "fractions" -msgstr "" - -#: ../../whatsnew/3.12.rst:712 -msgid "" -"Objects of type :class:`fractions.Fraction` now support float-style " -"formatting. (Contributed by Mark Dickinson in :gh:`100161`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:716 -msgid "importlib.resources" -msgstr "importlib.resources" - -#: ../../whatsnew/3.12.rst:718 -msgid "" -":func:`importlib.resources.as_file` now supports resource directories. " -"(Contributed by Jason R. Coombs in :gh:`97930`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:721 -msgid "" -"Rename first parameter of :func:`importlib.resources.files` to *anchor*. " -"(Contributed by Jason R. Coombs in :gh:`100598`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:725 -msgid "inspect" -msgstr "inspect" - -#: ../../whatsnew/3.12.rst:727 -msgid "" -"Add :func:`inspect.markcoroutinefunction` to mark sync functions that return" -" a :term:`coroutine` for use with :func:`inspect.iscoroutinefunction`. " -"(Contributed by Carlton Gibson in :gh:`99247`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:731 -msgid "" -"Add :func:`inspect.getasyncgenstate` and :func:`inspect.getasyncgenlocals` " -"for determining the current state of asynchronous generators. (Contributed " -"by Thomas Krennwallner in :gh:`79940`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:735 -msgid "" -"The performance of :func:`inspect.getattr_static` has been considerably " -"improved. Most calls to the function should be at least 2x faster than they " -"were in Python 3.11. (Contributed by Alex Waygood in :gh:`103193`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:740 -msgid "itertools" -msgstr "itertools" - -#: ../../whatsnew/3.12.rst:742 -msgid "" -"Add :func:`itertools.batched` for collecting into even-sized tuples where " -"the last batch may be shorter than the rest. (Contributed by Raymond " -"Hettinger in :gh:`98363`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:747 -msgid "math" -msgstr "math" - -#: ../../whatsnew/3.12.rst:749 -msgid "" -"Add :func:`math.sumprod` for computing a sum of products. (Contributed by " -"Raymond Hettinger in :gh:`100485`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:752 -msgid "" -"Extend :func:`math.nextafter` to include a *steps* argument for moving up or" -" down multiple steps at a time. (Contributed by Matthias Goergens, Mark " -"Dickinson, and Raymond Hettinger in :gh:`94906`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:757 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.12.rst:759 -msgid "" -"Add :const:`os.PIDFD_NONBLOCK` to open a file descriptor for a process with " -":func:`os.pidfd_open` in non-blocking mode. (Contributed by Kumar Aditya in " -":gh:`93312`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:763 -msgid "" -":class:`os.DirEntry` now includes an :meth:`os.DirEntry.is_junction` method " -"to check if the entry is a junction. (Contributed by Charles Machalow in " -":gh:`99547`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:767 -msgid "" -"Add :func:`os.listdrives`, :func:`os.listvolumes` and :func:`os.listmounts` " -"functions on Windows for enumerating drives, volumes and mount points. " -"(Contributed by Steve Dower in :gh:`102519`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:771 -msgid "" -":func:`os.stat` and :func:`os.lstat` are now more accurate on Windows. The " -"``st_birthtime`` field will now be filled with the creation time of the " -"file, and ``st_ctime`` is deprecated but still contains the creation time " -"(but in the future will return the last metadata change, for consistency " -"with other platforms). ``st_dev`` may be up to 64 bits and ``st_ino`` up to " -"128 bits depending on your file system, and ``st_rdev`` is always set to " -"zero rather than incorrect values. Both functions may be significantly " -"faster on newer releases of Windows. (Contributed by Steve Dower in " -":gh:`99726`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:782 -msgid "os.path" -msgstr "os.path" - -#: ../../whatsnew/3.12.rst:784 -msgid "" -"Add :func:`os.path.isjunction` to check if a given path is a junction. " -"(Contributed by Charles Machalow in :gh:`99547`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:787 -msgid "" -"Add :func:`os.path.splitroot` to split a path into a triad ``(drive, root, " -"tail)``. (Contributed by Barney Gale in :gh:`101000`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:791 -msgid "pathlib" -msgstr "pathlib" - -#: ../../whatsnew/3.12.rst:793 -msgid "" -"Add support for subclassing :class:`pathlib.PurePath` and " -":class:`pathlib.Path`, plus their Posix- and Windows-specific variants. " -"Subclasses may override the :meth:`pathlib.PurePath.with_segments` method to" -" pass information between path instances." -msgstr "" - -#: ../../whatsnew/3.12.rst:798 -msgid "" -"Add :meth:`pathlib.Path.walk` for walking the directory trees and generating" -" all file or directory names within them, similar to :func:`os.walk`. " -"(Contributed by Stanislav Zmiev in :gh:`90385`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:802 -msgid "" -"Add *walk_up* optional parameter to :meth:`pathlib.PurePath.relative_to` to " -"allow the insertion of ``..`` entries in the result; this behavior is more " -"consistent with :func:`os.path.relpath`. (Contributed by Domenico Ragusa in " -":gh:`84538`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:807 -msgid "" -"Add :meth:`pathlib.Path.is_junction` as a proxy to " -":func:`os.path.isjunction`. (Contributed by Charles Machalow in " -":gh:`99547`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:810 -msgid "" -"Add *case_sensitive* optional parameter to :meth:`pathlib.Path.glob`, " -":meth:`pathlib.Path.rglob` and :meth:`pathlib.PurePath.match` for matching " -"the path's case sensitivity, allowing for more precise control over the " -"matching process." -msgstr "" - -#: ../../whatsnew/3.12.rst:815 -msgid "platform" -msgstr "" - -#: ../../whatsnew/3.12.rst:817 -msgid "" -"Add support for detecting Windows 11 and Windows Server releases past 2012. " -"Previously, lookups on Windows Server platforms newer than Windows Server " -"2012 and on Windows 11 would return ``Windows-10``. (Contributed by Steve " -"Dower in :gh:`89545`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:823 -msgid "pdb" -msgstr "pdb" - -#: ../../whatsnew/3.12.rst:825 -msgid "" -"Add convenience variables to hold values temporarily for debug session and " -"provide quick access to values like the current frame or the return value. " -"(Contributed by Tian Gao in :gh:`103693`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:831 -msgid "random" -msgstr "" - -#: ../../whatsnew/3.12.rst:833 -msgid "" -"Add :func:`random.binomialvariate`. (Contributed by Raymond Hettinger in " -":gh:`81620`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:836 -msgid "" -"Add a default of ``lambd=1.0`` to :func:`random.expovariate`. (Contributed " -"by Raymond Hettinger in :gh:`100234`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:840 -msgid "shutil" -msgstr "shutil" - -#: ../../whatsnew/3.12.rst:842 -msgid "" -":func:`shutil.make_archive` now passes the *root_dir* argument to custom " -"archivers which support it. In this case it no longer temporarily changes " -"the current working directory of the process to *root_dir* to perform " -"archiving. (Contributed by Serhiy Storchaka in :gh:`74696`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:848 -msgid "" -":func:`shutil.rmtree` now accepts a new argument *onexc* which is an error " -"handler like *onerror* but which expects an exception instance rather than a" -" *(typ, val, tb)* triplet. *onerror* is deprecated. (Contributed by Irit " -"Katriel in :gh:`102828`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:853 -msgid "" -":func:`shutil.which` now consults the *PATHEXT* environment variable to find" -" matches within *PATH* on Windows even when the given *cmd* includes a " -"directory component. (Contributed by Charles Machalow in :gh:`103179`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:858 -msgid "" -":func:`shutil.which` will call ``NeedCurrentDirectoryForExePathW`` when " -"querying for executables on Windows to determine if the current working " -"directory should be prepended to the search path. (Contributed by Charles " -"Machalow in :gh:`103179`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:863 -msgid "" -":func:`shutil.which` will return a path matching the *cmd* with a component " -"from ``PATHEXT`` prior to a direct match elsewhere in the search path on " -"Windows. (Contributed by Charles Machalow in :gh:`103179`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:869 ../../whatsnew/3.12.rst:1546 -msgid "sqlite3" -msgstr "sqlite3" - -#: ../../whatsnew/3.12.rst:871 -msgid "" -"Add a :ref:`command-line interface `. (Contributed by Erlend E." -" Aasland in :gh:`77617`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:874 -msgid "" -"Add the :attr:`sqlite3.Connection.autocommit` attribute to " -":class:`sqlite3.Connection` and the *autocommit* parameter to " -":func:`sqlite3.connect` to control :pep:`249`-compliant :ref:`transaction " -"handling `. (Contributed by Erlend " -"E. Aasland in :gh:`83638`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:881 -msgid "" -"Add *entrypoint* keyword-only parameter to " -":meth:`sqlite3.Connection.load_extension`, for overriding the SQLite " -"extension entry point. (Contributed by Erlend E. Aasland in :gh:`103015`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:886 -msgid "" -"Add :meth:`sqlite3.Connection.getconfig` and " -":meth:`sqlite3.Connection.setconfig` to :class:`sqlite3.Connection` to make " -"configuration changes to a database connection. (Contributed by Erlend E. " -"Aasland in :gh:`103489`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:892 -msgid "statistics" -msgstr "statistics" - -#: ../../whatsnew/3.12.rst:894 -msgid "" -"Extend :func:`statistics.correlation` to include as a ``ranked`` method for " -"computing the Spearman correlation of ranked data. (Contributed by Raymond " -"Hettinger in :gh:`95861`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:899 -msgid "sys" -msgstr "sys" - -#: ../../whatsnew/3.12.rst:901 -msgid "" -"Add the :mod:`sys.monitoring` namespace to expose the new :ref:`PEP 669 " -"` monitoring API. (Contributed by Mark Shannon in " -":gh:`103082`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:905 -msgid "" -"Add :func:`sys.activate_stack_trampoline` and " -":func:`sys.deactivate_stack_trampoline` for activating and deactivating " -"stack profiler trampolines, and :func:`sys.is_stack_trampoline_active` for " -"querying if stack profiler trampolines are active. (Contributed by Pablo " -"Galindo and Christian Heimes with contributions from Gregory P. Smith " -"[Google] and Mark Shannon in :gh:`96123`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:914 -msgid "" -"Add :data:`sys.last_exc` which holds the last unhandled exception that was " -"raised (for post-mortem debugging use cases). Deprecate the three fields " -"that have the same information in its legacy form: :data:`sys.last_type`, " -":data:`sys.last_value` and :data:`sys.last_traceback`. (Contributed by Irit " -"Katriel in :gh:`102778`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:920 ../../whatsnew/3.12.rst:1741 -msgid "" -":func:`sys._current_exceptions` now returns a mapping from thread-id to an " -"exception instance, rather than to a ``(typ, exc, tb)`` tuple. (Contributed " -"by Irit Katriel in :gh:`103176`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:924 -msgid "" -":func:`sys.setrecursionlimit` and :func:`sys.getrecursionlimit`. The " -"recursion limit now applies only to Python code. Builtin functions do not " -"use the recursion limit, but are protected by a different mechanism that " -"prevents recursion from causing a virtual machine crash." -msgstr "" - -#: ../../whatsnew/3.12.rst:930 -msgid "tempfile" -msgstr "" - -#: ../../whatsnew/3.12.rst:932 -msgid "" -"The :class:`tempfile.NamedTemporaryFile` function has a new optional " -"parameter *delete_on_close* (Contributed by Evgeny Zorin in :gh:`58451`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:934 -msgid "" -":func:`tempfile.mkdtemp` now always returns an absolute path, even if the " -"argument provided to the *dir* parameter is a relative path." -msgstr "" - -#: ../../whatsnew/3.12.rst:938 -msgid "threading" -msgstr "threading" - -#: ../../whatsnew/3.12.rst:940 -msgid "" -"Add :func:`threading.settrace_all_threads` and " -":func:`threading.setprofile_all_threads` that allow to set tracing and " -"profiling functions in all running threads in addition to the calling one. " -"(Contributed by Pablo Galindo in :gh:`93503`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:946 -msgid "tkinter" -msgstr "tkinter" - -#: ../../whatsnew/3.12.rst:948 -msgid "" -"``tkinter.Canvas.coords()`` now flattens its arguments. It now accepts not " -"only coordinates as separate arguments (``x1, y1, x2, y2, ...``) and a " -"sequence of coordinates (``[x1, y1, x2, y2, ...]``), but also coordinates " -"grouped in pairs (``(x1, y1), (x2, y2), ...`` and ``[(x1, y1), (x2, y2), " -"...]``), like ``create_*()`` methods. (Contributed by Serhiy Storchaka in " -":gh:`94473`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:957 -msgid "tokenize" -msgstr "tokenize" - -#: ../../whatsnew/3.12.rst:959 -msgid "" -"The :mod:`tokenize` module includes the changes introduced in :pep:`701`. " -"(Contributed by Marta Gómez Macías and Pablo Galindo in :gh:`102856`.) See " -":ref:`whatsnew312-porting-to-python312` for more information on the changes " -"to the :mod:`tokenize` module." -msgstr "" - -#: ../../whatsnew/3.12.rst:965 -msgid "types" -msgstr "types" - -#: ../../whatsnew/3.12.rst:967 -msgid "" -"Add :func:`types.get_original_bases` to allow for further introspection of " -":ref:`user-defined-generics` when subclassed. (Contributed by James Hilton-" -"Balfe and Alex Waygood in :gh:`101827`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:974 -msgid "typing" -msgstr "typing" - -#: ../../whatsnew/3.12.rst:976 -msgid "" -":func:`isinstance` checks against :func:`runtime-checkable protocols " -"` now use :func:`inspect.getattr_static` rather " -"than :func:`hasattr` to lookup whether attributes exist. This means that " -"descriptors and :meth:`~object.__getattr__` methods are no longer " -"unexpectedly evaluated during ``isinstance()`` checks against runtime-" -"checkable protocols. However, it may also mean that some objects which used " -"to be considered instances of a runtime-checkable protocol may no longer be " -"considered instances of that protocol on Python 3.12+, and vice versa. Most " -"users are unlikely to be affected by this change. (Contributed by Alex " -"Waygood in :gh:`102433`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:987 -msgid "" -"The members of a runtime-checkable protocol are now considered \"frozen\" at" -" runtime as soon as the class has been created. Monkey-patching attributes " -"onto a runtime-checkable protocol will still work, but will have no impact " -"on :func:`isinstance` checks comparing objects to the protocol. For " -"example::" -msgstr "" - -#: ../../whatsnew/3.12.rst:992 -msgid "" -">>> from typing import Protocol, runtime_checkable\n" -">>> @runtime_checkable\n" -"... class HasX(Protocol):\n" -"... x = 1\n" -"...\n" -">>> class Foo: ...\n" -"...\n" -">>> f = Foo()\n" -">>> isinstance(f, HasX)\n" -"False\n" -">>> f.x = 1\n" -">>> isinstance(f, HasX)\n" -"True\n" -">>> HasX.y = 2\n" -">>> isinstance(f, HasX) # unchanged, even though HasX now also has a \"y\" attribute\n" -"True" -msgstr "" - -#: ../../whatsnew/3.12.rst:1009 -msgid "" -"This change was made in order to speed up ``isinstance()`` checks against " -"runtime-checkable protocols." -msgstr "" - -#: ../../whatsnew/3.12.rst:1012 -msgid "" -"The performance profile of :func:`isinstance` checks against :func:`runtime-" -"checkable protocols ` has changed significantly. " -"Most ``isinstance()`` checks against protocols with only a few members " -"should be at least 2x faster than in 3.11, and some may be 20x faster or " -"more. However, ``isinstance()`` checks against protocols with many members " -"may be slower than in Python 3.11. (Contributed by Alex Waygood in " -":gh:`74690` and :gh:`103193`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1020 -msgid "" -"All :data:`typing.TypedDict` and :data:`typing.NamedTuple` classes now have " -"the ``__orig_bases__`` attribute. (Contributed by Adrian Garcia Badaracco in" -" :gh:`103699`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1024 -msgid "" -"Add ``frozen_default`` parameter to :func:`typing.dataclass_transform`. " -"(Contributed by Erik De Bonte in :gh:`99957`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1028 -msgid "unicodedata" -msgstr "unicodedata" - -#: ../../whatsnew/3.12.rst:1030 -msgid "" -"The Unicode database has been updated to version 15.0.0. (Contributed by " -"Benjamin Peterson in :gh:`96734`)." -msgstr "" - -#: ../../whatsnew/3.12.rst:1034 ../../whatsnew/3.12.rst:1586 -msgid "unittest" -msgstr "unittest" - -#: ../../whatsnew/3.12.rst:1036 -msgid "" -"Add a ``--durations`` command line option, showing the N slowest test " -"cases::" -msgstr "" - -#: ../../whatsnew/3.12.rst:1038 -msgid "" -"python3 -m unittest --durations=3 lib.tests.test_threading\n" -".....\n" -"Slowest test durations\n" -"----------------------------------------------------------------------\n" -"1.210s test_timeout (Lib.test.test_threading.BarrierTests)\n" -"1.003s test_default_timeout (Lib.test.test_threading.BarrierTests)\n" -"0.518s test_timeout (Lib.test.test_threading.EventTests)\n" -"\n" -"(0.000 durations hidden. Use -v to show these durations.)\n" -"----------------------------------------------------------------------\n" -"Ran 158 tests in 9.869s\n" -"\n" -"OK (skipped=3)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1052 -msgid "(Contributed by Giampaolo Rodola in :gh:`48330`)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1055 -msgid "uuid" -msgstr "uuid" - -#: ../../whatsnew/3.12.rst:1057 -msgid "" -"Add a :ref:`command-line interface `. (Contributed by Adam Chhina " -"in :gh:`88597`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1062 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.12.rst:1064 -msgid "" -"Remove ``wstr`` and ``wstr_length`` members from Unicode objects. It reduces" -" object size by 8 or 16 bytes on 64bit platform. (:pep:`623`) (Contributed " -"by Inada Naoki in :gh:`92536`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1068 -msgid "" -"Add experimental support for using the BOLT binary optimizer in the build " -"process, which improves performance by 1-5%. (Contributed by Kevin " -"Modzelewski in :gh:`90536` and tuned by Donghee Na in :gh:`101525`)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1072 -msgid "" -"Speed up the regular expression substitution (functions :func:`re.sub` and " -":func:`re.subn` and corresponding :class:`!re.Pattern` methods) for " -"replacement strings containing group references by 2--3 times. (Contributed " -"by Serhiy Storchaka in :gh:`91524`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1077 -msgid "" -"Speed up :class:`asyncio.Task` creation by deferring expensive string " -"formatting. (Contributed by Itamar Oren in :gh:`103793`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1080 -msgid "" -"The :func:`tokenize.tokenize` and :func:`tokenize.generate_tokens` functions" -" are up to 64% faster as a side effect of the changes required to cover " -":pep:`701` in the :mod:`tokenize` module. (Contributed by Marta Gómez Macías" -" and Pablo Galindo in :gh:`102856`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1085 -msgid "" -"Speed up :func:`super` method calls and attribute loads via the new " -":opcode:`LOAD_SUPER_ATTR` instruction. (Contributed by Carl Meyer and " -"Vladimir Matveev in :gh:`103497`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1091 -msgid "CPython bytecode changes" -msgstr "Perubahan bytecode CPython" - -#: ../../whatsnew/3.12.rst:1093 -msgid "" -"Remove the :opcode:`!LOAD_METHOD` instruction. It has been merged into " -":opcode:`LOAD_ATTR`. :opcode:`LOAD_ATTR` will now behave like the old " -":opcode:`!LOAD_METHOD` instruction if the low bit of its oparg is set. " -"(Contributed by Ken Jin in :gh:`93429`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1098 -msgid "" -"Remove the :opcode:`!JUMP_IF_FALSE_OR_POP` and " -":opcode:`!JUMP_IF_TRUE_OR_POP` instructions. (Contributed by Irit Katriel in" -" :gh:`102859`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1101 -msgid "" -"Remove the :opcode:`!PRECALL` instruction. (Contributed by Mark Shannon in " -":gh:`92925`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1104 -msgid "" -"Add the :opcode:`BINARY_SLICE` and :opcode:`STORE_SLICE` instructions. " -"(Contributed by Mark Shannon in :gh:`94163`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1107 -msgid "" -"Add the :opcode:`CALL_INTRINSIC_1` instructions. (Contributed by Mark " -"Shannon in :gh:`99005`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1110 -msgid "" -"Add the :opcode:`CALL_INTRINSIC_2` instruction. (Contributed by Irit Katriel" -" in :gh:`101799`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1113 -msgid "" -"Add the :opcode:`CLEANUP_THROW` instruction. (Contributed by Brandt Bucher " -"in :gh:`90997`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1116 -msgid "" -"Add the :opcode:`!END_SEND` instruction. (Contributed by Mark Shannon in " -":gh:`103082`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1119 -msgid "" -"Add the :opcode:`LOAD_FAST_AND_CLEAR` instruction as part of the " -"implementation of :pep:`709`. (Contributed by Carl Meyer in :gh:`101441`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1122 -msgid "" -"Add the :opcode:`LOAD_FAST_CHECK` instruction. (Contributed by Dennis " -"Sweeney in :gh:`93143`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1125 -msgid "" -"Add the :opcode:`LOAD_FROM_DICT_OR_DEREF`, " -":opcode:`LOAD_FROM_DICT_OR_GLOBALS`, and :opcode:`LOAD_LOCALS` opcodes as " -"part of the implementation of :pep:`695`. Remove the " -":opcode:`!LOAD_CLASSDEREF` opcode, which can be replaced with " -":opcode:`LOAD_LOCALS` plus :opcode:`LOAD_FROM_DICT_OR_DEREF`. (Contributed " -"by Jelle Zijlstra in :gh:`103764`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1131 -msgid "" -"Add the :opcode:`LOAD_SUPER_ATTR` instruction. (Contributed by Carl Meyer " -"and Vladimir Matveev in :gh:`103497`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1134 -msgid "" -"Add the ``RETURN_CONST`` instruction. (Contributed by Wenyang Wang in " -":gh:`101632`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1137 -msgid "Demos and Tools" -msgstr "Demo dan Alat" - -#: ../../whatsnew/3.12.rst:1139 -msgid "" -"Remove the ``Tools/demo/`` directory which contained old demo scripts. A " -"copy can be found in the `old-demos project " -"`_. (Contributed by Victor Stinner " -"in :gh:`97681`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1144 -msgid "" -"Remove outdated example scripts of the ``Tools/scripts/`` directory. A copy " -"can be found in the `old-demos project `_. (Contributed by Victor Stinner in :gh:`97669`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1151 ../../whatsnew/3.12.rst:2144 -msgid "Deprecated" -msgstr "Usang" - -#: ../../whatsnew/3.12.rst:1153 -#: ../../deprecations/pending-removal-in-3.14.rst:4 -msgid "" -":mod:`argparse`: The *type*, *choices*, and *metavar* parameters of " -":class:`!argparse.BooleanOptionalAction` are deprecated and will be removed " -"in 3.14. (Contributed by Nikita Sobolev in :gh:`92248`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1158 -msgid "" -":mod:`ast`: The following :mod:`ast` features have been deprecated in " -"documentation since Python 3.8, now cause a :exc:`DeprecationWarning` to be " -"emitted at runtime when they are accessed or used, and will be removed in " -"Python 3.14:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1162 -#: ../../deprecations/pending-removal-in-3.14.rst:13 -msgid ":class:`!ast.Num`" -msgstr ":class:`!ast.Num`" - -#: ../../whatsnew/3.12.rst:1163 -#: ../../deprecations/pending-removal-in-3.14.rst:14 -msgid ":class:`!ast.Str`" -msgstr ":class:`!ast.Str`" - -#: ../../whatsnew/3.12.rst:1164 -#: ../../deprecations/pending-removal-in-3.14.rst:15 -msgid ":class:`!ast.Bytes`" -msgstr ":class:`!ast.Bytes`" - -#: ../../whatsnew/3.12.rst:1165 -#: ../../deprecations/pending-removal-in-3.14.rst:16 -msgid ":class:`!ast.NameConstant`" -msgstr ":class:`!ast.NameConstant`" - -#: ../../whatsnew/3.12.rst:1166 -#: ../../deprecations/pending-removal-in-3.14.rst:17 -msgid ":class:`!ast.Ellipsis`" -msgstr ":class:`!ast.Ellipsis`" - -#: ../../whatsnew/3.12.rst:1168 -#: ../../deprecations/pending-removal-in-3.14.rst:19 -msgid "" -"Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka in " -":gh:`90953`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1171 -#: ../../deprecations/pending-removal-in-3.14.rst:22 -#: ../../deprecations/pending-removal-in-3.16.rst:19 -msgid ":mod:`asyncio`:" -msgstr ":mod:`asyncio`:" - -#: ../../whatsnew/3.12.rst:1173 -#: ../../deprecations/pending-removal-in-3.14.rst:24 -msgid "" -"The child watcher classes :class:`!asyncio.MultiLoopChildWatcher`, " -":class:`!asyncio.FastChildWatcher`, :class:`!asyncio.AbstractChildWatcher` " -"and :class:`!asyncio.SafeChildWatcher` are deprecated and will be removed in" -" Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1179 -#: ../../deprecations/pending-removal-in-3.14.rst:30 -msgid "" -":func:`!asyncio.set_child_watcher`, :func:`!asyncio.get_child_watcher`, " -":meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher` and " -":meth:`!asyncio.AbstractEventLoopPolicy.get_child_watcher` are deprecated " -"and will be removed in Python 3.14. (Contributed by Kumar Aditya in " -":gh:`94597`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1185 -#: ../../deprecations/pending-removal-in-3.14.rst:36 -msgid "" -"The :meth:`~asyncio.get_event_loop` method of the default event loop policy " -"now emits a :exc:`DeprecationWarning` if there is no current event loop set " -"and it decides to create one. (Contributed by Serhiy Storchaka and Guido van" -" Rossum in :gh:`100160`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1190 -#: ../../deprecations/pending-removal-in-future.rst:45 -msgid "" -":mod:`calendar`: ``calendar.January`` and ``calendar.February`` constants " -"are deprecated and replaced by :data:`calendar.JANUARY` and " -":data:`calendar.FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1194 -msgid "" -":mod:`collections.abc`: Deprecated :class:`!collections.abc.ByteString`. " -"Prefer :class:`Sequence` or :class:`collections.abc.Buffer`. For use in " -"typing, prefer a union, like ``bytes | bytearray``, or " -":class:`collections.abc.Buffer`. (Contributed by Shantanu Jain in " -":gh:`91896`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1199 -msgid "" -":mod:`datetime`: :class:`datetime.datetime`'s " -":meth:`~datetime.datetime.utcnow` and " -":meth:`~datetime.datetime.utcfromtimestamp` are deprecated and will be " -"removed in a future version. Instead, use timezone-aware objects to " -"represent datetimes in UTC: respectively, call " -":meth:`~datetime.datetime.now` and :meth:`~datetime.datetime.fromtimestamp`" -" with the *tz* parameter set to :const:`datetime.UTC`. (Contributed by Paul" -" Ganssle in :gh:`103857`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1207 -msgid "" -":mod:`email`: Deprecate the *isdst* parameter in " -":func:`email.utils.localtime`. (Contributed by Alan Williams in " -":gh:`72346`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1210 -msgid "" -":mod:`importlib.abc`: Deprecated the following classes, scheduled for " -"removal in Python 3.14:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1213 -#: ../../deprecations/pending-removal-in-3.14.rst:52 -msgid ":class:`!importlib.abc.ResourceReader`" -msgstr ":class:`!importlib.abc.ResourceReader`" - -#: ../../whatsnew/3.12.rst:1214 -#: ../../deprecations/pending-removal-in-3.14.rst:53 -msgid ":class:`!importlib.abc.Traversable`" -msgstr ":class:`!importlib.abc.Traversable`" - -#: ../../whatsnew/3.12.rst:1215 -#: ../../deprecations/pending-removal-in-3.14.rst:54 -msgid ":class:`!importlib.abc.TraversableResources`" -msgstr ":class:`!importlib.abc.TraversableResources`" - -#: ../../whatsnew/3.12.rst:1217 -#: ../../deprecations/pending-removal-in-3.14.rst:56 -msgid "Use :mod:`importlib.resources.abc` classes instead:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1219 -#: ../../deprecations/pending-removal-in-3.14.rst:58 -msgid ":class:`importlib.resources.abc.Traversable`" -msgstr ":class:`importlib.resources.abc.Traversable`" - -#: ../../whatsnew/3.12.rst:1220 -#: ../../deprecations/pending-removal-in-3.14.rst:59 -msgid ":class:`importlib.resources.abc.TraversableResources`" -msgstr ":class:`importlib.resources.abc.TraversableResources`" - -#: ../../whatsnew/3.12.rst:1222 -#: ../../deprecations/pending-removal-in-3.14.rst:61 -msgid "(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1224 -msgid "" -":mod:`itertools`: Deprecate the support for copy, deepcopy, and pickle " -"operations, which is undocumented, inefficient, historically buggy, and " -"inconsistent. This will be removed in 3.14 for a significant reduction in " -"code volume and maintenance burden. (Contributed by Raymond Hettinger in " -":gh:`101588`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1230 -msgid "" -":mod:`multiprocessing`: In Python 3.14, the default :mod:`multiprocessing` " -"start method will change to a safer one on Linux, BSDs, and other non-macOS " -"POSIX platforms where ``'fork'`` is currently the default (:gh:`84559`). " -"Adding a runtime warning about this was deemed too disruptive as the " -"majority of code is not expected to care. Use the " -":func:`~multiprocessing.get_context` or " -":func:`~multiprocessing.set_start_method` APIs to explicitly specify when " -"your code *requires* ``'fork'``. See :ref:`contexts and start methods " -"`." -msgstr "" - -#: ../../whatsnew/3.12.rst:1240 -msgid "" -":mod:`pkgutil`: :func:`!pkgutil.find_loader` and :func:`!pkgutil.get_loader`" -" are deprecated and will be removed in Python 3.14; use " -":func:`importlib.util.find_spec` instead. (Contributed by Nikita Sobolev in " -":gh:`97850`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1245 -msgid "" -":mod:`pty`: The module has two undocumented ``master_open()`` and " -"``slave_open()`` functions that have been deprecated since Python 2 but only" -" gained a proper :exc:`DeprecationWarning` in 3.12. Remove them in 3.14. " -"(Contributed by Soumendra Ganguly and Gregory P. Smith in :gh:`85984`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1250 -msgid ":mod:`os`:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1252 -msgid "" -"The ``st_ctime`` fields return by :func:`os.stat` and :func:`os.lstat` on " -"Windows are deprecated. In a future release, they will contain the last " -"metadata change time, consistent with other platforms. For now, they still " -"contain the creation time, which is also available in the new " -"``st_birthtime`` field. (Contributed by Steve Dower in :gh:`99726`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1258 -msgid "" -"On POSIX platforms, :func:`os.fork` can now raise a " -":exc:`DeprecationWarning` when it can detect being called from a " -"multithreaded process. There has always been a fundamental incompatibility " -"with the POSIX platform when doing so. Even if such code *appeared* to work." -" We added the warning to raise awareness as issues encountered by code doing" -" this are becoming more frequent. See the :func:`os.fork` documentation for " -"more details along with `this discussion on fork being incompatible with " -"threads `_ for *why* we're now surfacing this " -"longstanding platform compatibility problem to developers." -msgstr "" - -#: ../../whatsnew/3.12.rst:1268 -msgid "" -"When this warning appears due to usage of :mod:`multiprocessing` or " -":mod:`concurrent.futures` the fix is to use a different " -":mod:`multiprocessing` start method such as ``\"spawn\"`` or " -"``\"forkserver\"``." -msgstr "" - -#: ../../whatsnew/3.12.rst:1272 -msgid "" -":mod:`shutil`: The *onerror* argument of :func:`shutil.rmtree` is " -"deprecated; use *onexc* instead. (Contributed by Irit Katriel in " -":gh:`102828`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1275 -#: ../../deprecations/pending-removal-in-3.14.rst:91 -msgid ":mod:`sqlite3`:" -msgstr ":mod:`sqlite3`:" - -#: ../../whatsnew/3.12.rst:1277 -msgid "" -":ref:`default adapters and converters ` are now " -"deprecated. Instead, use the :ref:`sqlite3-adapter-converter-recipes` and " -"tailor them to your needs. (Contributed by Erlend E. Aasland in " -":gh:`90016`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1283 -msgid "" -"In :meth:`~sqlite3.Cursor.execute`, :exc:`DeprecationWarning` is now emitted" -" when :ref:`named placeholders ` are used together " -"with parameters supplied as a :term:`sequence` instead of as a " -":class:`dict`. Starting from Python 3.14, using named placeholders with " -"parameters supplied as a sequence will raise a " -":exc:`~sqlite3.ProgrammingError`. (Contributed by Erlend E. Aasland in " -":gh:`101698`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1290 -msgid "" -":mod:`sys`: The :data:`sys.last_type`, :data:`sys.last_value` and " -":data:`sys.last_traceback` fields are deprecated. Use :data:`sys.last_exc` " -"instead. (Contributed by Irit Katriel in :gh:`102778`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1294 -msgid "" -":mod:`tarfile`: Extracting tar archives without specifying *filter* is " -"deprecated until Python 3.14, when ``'data'`` filter will become the " -"default. See :ref:`tarfile-extraction-filter` for details." -msgstr "" - -#: ../../whatsnew/3.12.rst:1298 -#: ../../deprecations/pending-removal-in-3.15.rst:80 -#: ../../deprecations/pending-removal-in-3.17.rst:4 -msgid ":mod:`typing`:" -msgstr ":mod:`typing`:" - -#: ../../whatsnew/3.12.rst:1300 -msgid "" -":class:`typing.Hashable` and :class:`typing.Sized`, aliases for " -":class:`collections.abc.Hashable` and :class:`collections.abc.Sized` " -"respectively, are deprecated. (:gh:`94309`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1304 -msgid "" -":class:`!typing.ByteString`, deprecated since Python 3.9, now causes a " -":exc:`DeprecationWarning` to be emitted when it is used. (Contributed by " -"Alex Waygood in :gh:`91896`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1308 -msgid "" -":mod:`xml.etree.ElementTree`: The module now emits :exc:`DeprecationWarning`" -" when testing the truth value of an :class:`xml.etree.ElementTree.Element`. " -"Before, the Python implementation emitted :exc:`FutureWarning`, and the C " -"implementation emitted nothing. (Contributed by Jacob Walls in :gh:`83122`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1314 -msgid "" -"The 3-arg signatures (type, value, traceback) of :meth:`coroutine throw() " -"`, :meth:`generator throw() ` and " -":meth:`async generator throw() ` are deprecated and may be " -"removed in a future version of Python. Use the single-arg versions of these " -"functions instead. (Contributed by Ofey Chan in :gh:`89874`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1320 -msgid "" -":exc:`DeprecationWarning` is now raised when :attr:`~module.__package__` on " -"a module differs from :attr:`__spec__.parent " -"` (previously it was " -":exc:`ImportWarning`). (Contributed by Brett Cannon in :gh:`65961`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1326 -msgid "" -"Setting :attr:`~module.__package__` or :attr:`~module.__cached__` on a " -"module is deprecated, and will cease to be set or taken into consideration " -"by the import system in Python 3.14. (Contributed by Brett Cannon in " -":gh:`65961`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1330 -msgid "" -"The bitwise inversion operator (``~``) on bool is deprecated. It will throw " -"an error in Python 3.16. Use ``not`` for logical negation of bools instead. " -"In the rare case that you really need the bitwise inversion of the " -"underlying ``int``, convert to int explicitly: ``~int(x)``. (Contributed by " -"Tim Hoffmann in :gh:`103487`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1336 -msgid "" -"Accessing :attr:`~codeobject.co_lnotab` on code objects was deprecated in " -"Python 3.10 via :pep:`626`, but it only got a proper " -":exc:`DeprecationWarning` in 3.12. May be removed in 3.15. (Contributed by " -"Nikita Sobolev in :gh:`101866`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.13.rst:2 -msgid "Pending removal in Python 3.13" -msgstr "Penghapusan yang tertunda di Python 3.13" - -#: ../../deprecations/pending-removal-in-3.13.rst:4 -msgid "Modules (see :pep:`594`):" -msgstr "Modul (lihat :pep:`594`):" - -#: ../../deprecations/pending-removal-in-3.13.rst:6 -msgid ":mod:`!aifc`" -msgstr ":mod:`!aifc`" - -#: ../../deprecations/pending-removal-in-3.13.rst:7 -msgid ":mod:`!audioop`" -msgstr ":mod:`!audioop`" - -#: ../../deprecations/pending-removal-in-3.13.rst:8 -msgid ":mod:`!cgi`" -msgstr ":mod:`!cgi`" - -#: ../../deprecations/pending-removal-in-3.13.rst:9 -msgid ":mod:`!cgitb`" -msgstr ":mod:`!cgitb`" - -#: ../../deprecations/pending-removal-in-3.13.rst:10 -msgid ":mod:`!chunk`" -msgstr ":mod:`!chunk`" - -#: ../../deprecations/pending-removal-in-3.13.rst:11 -msgid ":mod:`!crypt`" -msgstr ":mod:`!crypt`" - -#: ../../deprecations/pending-removal-in-3.13.rst:12 -msgid ":mod:`!imghdr`" -msgstr ":mod:`!imghdr`" - -#: ../../deprecations/pending-removal-in-3.13.rst:13 -msgid ":mod:`!mailcap`" -msgstr ":mod:`!mailcap`" - -#: ../../deprecations/pending-removal-in-3.13.rst:14 -msgid ":mod:`!msilib`" -msgstr ":mod:`!msilib`" - -#: ../../deprecations/pending-removal-in-3.13.rst:15 -msgid ":mod:`!nis`" -msgstr ":mod:`!nis`" - -#: ../../deprecations/pending-removal-in-3.13.rst:16 -msgid ":mod:`!nntplib`" -msgstr ":mod:`!nntplib`" - -#: ../../deprecations/pending-removal-in-3.13.rst:17 -msgid ":mod:`!ossaudiodev`" -msgstr ":mod:`!ossaudiodev`" - -#: ../../deprecations/pending-removal-in-3.13.rst:18 -msgid ":mod:`!pipes`" -msgstr ":mod:`!pipes`" - -#: ../../deprecations/pending-removal-in-3.13.rst:19 -msgid ":mod:`!sndhdr`" -msgstr ":mod:`!sndhdr`" - -#: ../../deprecations/pending-removal-in-3.13.rst:20 -msgid ":mod:`!spwd`" -msgstr ":mod:`!spwd`" - -#: ../../deprecations/pending-removal-in-3.13.rst:21 -msgid ":mod:`!sunau`" -msgstr ":mod:`!sunau`" - -#: ../../deprecations/pending-removal-in-3.13.rst:22 -msgid ":mod:`!telnetlib`" -msgstr ":mod:`!telnetlib`" - -#: ../../deprecations/pending-removal-in-3.13.rst:23 -msgid ":mod:`!uu`" -msgstr ":mod:`!uu`" - -#: ../../deprecations/pending-removal-in-3.13.rst:24 -msgid ":mod:`!xdrlib`" -msgstr ":mod:`!xdrlib`" - -#: ../../deprecations/pending-removal-in-3.13.rst:26 -msgid "Other modules:" -msgstr "Modul lainnya:" - -#: ../../deprecations/pending-removal-in-3.13.rst:28 -msgid ":mod:`!lib2to3`, and the :program:`2to3` program (:gh:`84540`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.13.rst:30 -msgid "APIs:" -msgstr "APIs:" - -#: ../../deprecations/pending-removal-in-3.13.rst:32 -msgid ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)" -msgstr ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:33 -msgid "``locale.resetlocale()`` (:gh:`90817`)" -msgstr "``locale.resetlocale()`` (:gh:`90817`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:34 -msgid ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)" -msgstr ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:35 -msgid ":func:`!unittest.findTestCases` (:gh:`50096`)" -msgstr ":func:`!unittest.findTestCases` (:gh:`50096`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:36 -msgid ":func:`!unittest.getTestCaseNames` (:gh:`50096`)" -msgstr ":func:`!unittest.getTestCaseNames` (:gh:`50096`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:37 -msgid ":func:`!unittest.makeSuite` (:gh:`50096`)" -msgstr ":func:`!unittest.makeSuite` (:gh:`50096`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:38 -msgid ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)" -msgstr ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:39 -msgid ":class:`!webbrowser.MacOSX` (:gh:`86421`)" -msgstr ":class:`!webbrowser.MacOSX` (:gh:`86421`)" - -#: ../../deprecations/pending-removal-in-3.13.rst:40 -msgid ":class:`classmethod` descriptor chaining (:gh:`89519`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.13.rst:41 -msgid ":mod:`importlib.resources` deprecated methods:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.13.rst:43 -msgid "``contents()``" -msgstr "``contents()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:44 -msgid "``is_resource()``" -msgstr "``is_resource()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:45 -msgid "``open_binary()``" -msgstr "``open_binary()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:46 -msgid "``open_text()``" -msgstr "``open_text()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:47 -msgid "``path()``" -msgstr "``path()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:48 -msgid "``read_binary()``" -msgstr "``read_binary()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:49 -msgid "``read_text()``" -msgstr "``read_text()``" - -#: ../../deprecations/pending-removal-in-3.13.rst:51 -msgid "" -"Use :func:`importlib.resources.files` instead. Refer to `importlib-" -"resources: Migrating from Legacy `_ " -"(:gh:`106531`)" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.14.rst:2 -#: ../../deprecations/pending-removal-in-3.14.rst:2 -msgid "Pending removal in Python 3.14" -msgstr "Penghapusan yang tertunda di Python 3.14" - -#: ../../deprecations/pending-removal-in-3.14.rst:9 -msgid "" -":mod:`ast`: The following features have been deprecated in documentation " -"since Python 3.8, now cause a :exc:`DeprecationWarning` to be emitted at " -"runtime when they are accessed or used, and will be removed in Python 3.14:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:41 -msgid "" -":mod:`collections.abc`: Deprecated :class:`!collections.abc.ByteString`. " -"Prefer :class:`!Sequence` or :class:`~collections.abc.Buffer`. For use in " -"typing, prefer a union, like ``bytes | bytearray``, or " -":class:`collections.abc.Buffer`. (Contributed by Shantanu Jain in " -":gh:`91896`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:47 -msgid "" -":mod:`email`: Deprecated the *isdst* parameter in " -":func:`email.utils.localtime`. (Contributed by Alan Williams in " -":gh:`72346`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:50 -msgid ":mod:`importlib.abc` deprecated classes:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:63 -msgid "" -":mod:`itertools` had undocumented, inefficient, historically buggy, and " -"inconsistent support for copy, deepcopy, and pickle operations. This will be" -" removed in 3.14 for a significant reduction in code volume and maintenance " -"burden. (Contributed by Raymond Hettinger in :gh:`101588`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:69 -msgid "" -":mod:`multiprocessing`: The default start method will change to a safer one " -"on Linux, BSDs, and other non-macOS POSIX platforms where ``'fork'`` is " -"currently the default (:gh:`84559`). Adding a runtime warning about this was" -" deemed too disruptive as the majority of code is not expected to care. Use " -"the :func:`~multiprocessing.get_context` or " -":func:`~multiprocessing.set_start_method` APIs to explicitly specify when " -"your code *requires* ``'fork'``. See :ref:`multiprocessing-start-methods`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:77 -msgid "" -":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` and " -":meth:`~pathlib.PurePath.relative_to`: passing additional arguments is " -"deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:81 -msgid "" -":mod:`pkgutil`: :func:`!pkgutil.find_loader` and :func:`!pkgutil.get_loader`" -" now raise :exc:`DeprecationWarning`; use :func:`importlib.util.find_spec` " -"instead. (Contributed by Nikita Sobolev in :gh:`97850`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:86 -msgid ":mod:`pty`:" -msgstr ":mod:`pty`:" - -#: ../../deprecations/pending-removal-in-3.14.rst:88 -msgid "``master_open()``: use :func:`pty.openpty`." -msgstr "``master_open()``: gunakan :func:`pty.openpty`." - -#: ../../deprecations/pending-removal-in-3.14.rst:89 -msgid "``slave_open()``: use :func:`pty.openpty`." -msgstr "``slave_open()``: gunakan :func:`pty.openpty`." - -#: ../../deprecations/pending-removal-in-3.14.rst:93 -msgid ":data:`!version` and :data:`!version_info`." -msgstr ":data:`!version` dan :data:`!version_info`." - -#: ../../deprecations/pending-removal-in-3.14.rst:95 -msgid "" -":meth:`~sqlite3.Cursor.execute` and :meth:`~sqlite3.Cursor.executemany` if " -":ref:`named placeholders ` are used and *parameters* " -"is a sequence instead of a :class:`dict`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:99 -msgid "" -":mod:`typing`: :class:`!typing.ByteString`, deprecated since Python 3.9, now" -" causes a :exc:`DeprecationWarning` to be emitted when it is used." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:102 -msgid "" -":mod:`urllib`: :class:`!urllib.parse.Quoter` is deprecated: it was not " -"intended to be a public API. (Contributed by Gregory P. Smith in " -":gh:`88168`.)" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:2 -#: ../../deprecations/pending-removal-in-3.15.rst:2 -msgid "Pending removal in Python 3.15" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:4 -#: ../../deprecations/pending-removal-in-3.16.rst:4 -msgid "The import system:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:6 -msgid "" -"Setting :attr:`~module.__cached__` on a module while failing to set " -":attr:`__spec__.cached ` is " -"deprecated. In Python 3.15, :attr:`!__cached__` will cease to be set or take" -" into consideration by the import system or standard library. (:gh:`97879`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:11 -msgid "" -"Setting :attr:`~module.__package__` on a module while failing to set " -":attr:`__spec__.parent ` is " -"deprecated. In Python 3.15, :attr:`!__package__` will cease to be set or " -"take into consideration by the import system or standard library. " -"(:gh:`97879`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:16 -msgid ":mod:`ctypes`:" -msgstr ":mod:`ctypes`:" - -#: ../../deprecations/pending-removal-in-3.15.rst:18 -msgid "" -"The undocumented :func:`!ctypes.SetPointerType` function has been deprecated" -" since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:21 -msgid ":mod:`http.server`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:23 -msgid "" -"The obsolete and rarely used :class:`~http.server.CGIHTTPRequestHandler` has" -" been deprecated since Python 3.13. No direct replacement exists. *Anything*" -" is better than CGI to interface a web server with a request handler." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:29 -msgid "" -"The :option:`!--cgi` flag to the :program:`python -m http.server` command-" -"line interface has been deprecated since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:32 -#: ../../deprecations/pending-removal-in-future.rst:64 -msgid ":mod:`importlib`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:34 -msgid "``load_module()`` method: use ``exec_module()`` instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:36 -msgid ":class:`locale`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:38 -msgid "" -"The :func:`~locale.getdefaultlocale` function has been deprecated since " -"Python 3.11. Its removal was originally planned for Python 3.13 " -"(:gh:`90817`), but has been postponed to Python 3.15. Use " -":func:`~locale.getlocale`, :func:`~locale.setlocale`, and " -":func:`~locale.getencoding` instead. (Contributed by Hugo van Kemenade in " -":gh:`111187`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:46 -msgid ":mod:`pathlib`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:48 -msgid "" -":meth:`.PurePath.is_reserved` has been deprecated since Python 3.13. Use " -":func:`os.path.isreserved` to detect reserved paths on Windows." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:52 -msgid ":mod:`platform`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:54 -msgid "" -":func:`~platform.java_ver` has been deprecated since Python 3.13. This " -"function is only useful for Jython support, has a confusing API, and is " -"largely untested." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:58 -#: ../../deprecations/pending-removal-in-3.16.rst:96 -msgid ":mod:`sysconfig`:" -msgstr ":mod:`sysconfig`:" - -#: ../../deprecations/pending-removal-in-3.15.rst:60 -msgid "" -"The *check_home* argument of :func:`sysconfig.is_python_build` has been " -"deprecated since Python 3.12." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:63 -msgid ":mod:`threading`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:65 -msgid "" -":func:`~threading.RLock` will take no arguments in Python 3.15. Passing any " -"arguments has been deprecated since Python 3.14, as the Python version does" -" not permit any arguments, but the C version allows any number of positional" -" or keyword arguments, ignoring every argument." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:71 -msgid ":mod:`types`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:73 -msgid "" -":class:`types.CodeType`: Accessing :attr:`~codeobject.co_lnotab` was " -"deprecated in :pep:`626` since 3.10 and was planned to be removed in 3.12, " -"but it only got a proper :exc:`DeprecationWarning` in 3.12. May be removed " -"in 3.15. (Contributed by Nikita Sobolev in :gh:`101866`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:82 -msgid "" -"The undocumented keyword argument syntax for creating " -":class:`~typing.NamedTuple` classes (for example, ``Point = " -"NamedTuple(\"Point\", x=int, y=int)``) has been deprecated since Python " -"3.13. Use the class-based syntax or the functional syntax instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:88 -msgid "" -"When using the functional syntax of :class:`~typing.TypedDict`\\s, failing " -"to pass a value to the *fields* parameter (``TD = TypedDict(\"TD\")``) or " -"passing ``None`` (``TD = TypedDict(\"TD\", None)``) has been deprecated " -"since Python 3.13. Use ``class TD(TypedDict): pass`` or ``TD = " -"TypedDict(\"TD\", {})`` to create a TypedDict with zero field." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:95 -msgid "" -"The :func:`typing.no_type_check_decorator` decorator function has been " -"deprecated since Python 3.13. After eight years in the :mod:`typing` module," -" it has yet to be supported by any major type checker." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:100 -msgid ":mod:`wave`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:102 -msgid "" -"The :meth:`~wave.Wave_read.getmark`, :meth:`!setmark`, and " -":meth:`~wave.Wave_read.getmarkers` methods of the :class:`~wave.Wave_read` " -"and :class:`~wave.Wave_write` classes have been deprecated since Python " -"3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:107 -msgid ":mod:`zipimport`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:109 -msgid "" -":meth:`~zipimport.zipimporter.load_module` has been deprecated since Python " -"3.10. Use :meth:`~zipimport.zipimporter.exec_module` instead. (Contributed " -"by Jiahao Li in :gh:`125746`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:2 -msgid "Pending removal in Python 3.16" -msgstr "Penghapusan yang tertunda di Python 3.16" - -#: ../../deprecations/pending-removal-in-3.16.rst:6 -msgid "" -"Setting :attr:`~module.__loader__` on a module while failing to set " -":attr:`__spec__.loader ` is " -"deprecated. In Python 3.16, :attr:`!__loader__` will cease to be set or " -"taken into consideration by the import system or the standard library." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:11 -msgid ":mod:`array`:" -msgstr ":mod:`array`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:13 -msgid "" -"The ``'u'`` format code (:c:type:`wchar_t`) has been deprecated in " -"documentation since Python 3.3 and at runtime since Python 3.13. Use the " -"``'w'`` format code (:c:type:`Py_UCS4`) for Unicode characters instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:21 -msgid "" -":func:`!asyncio.iscoroutinefunction` is deprecated and will be removed in " -"Python 3.16; use :func:`inspect.iscoroutinefunction` instead. (Contributed " -"by Jiahao Li and Kumar Aditya in :gh:`122875`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:26 -msgid "" -":mod:`asyncio` policy system is deprecated and will be removed in Python " -"3.16. In particular, the following classes and functions are deprecated:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:29 -msgid ":class:`asyncio.AbstractEventLoopPolicy`" -msgstr ":class:`asyncio.AbstractEventLoopPolicy`" - -#: ../../deprecations/pending-removal-in-3.16.rst:30 -msgid ":class:`asyncio.DefaultEventLoopPolicy`" -msgstr ":class:`asyncio.DefaultEventLoopPolicy`" - -#: ../../deprecations/pending-removal-in-3.16.rst:31 -msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`" -msgstr ":class:`asyncio.WindowsSelectorEventLoopPolicy`" - -#: ../../deprecations/pending-removal-in-3.16.rst:32 -msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`" -msgstr ":class:`asyncio.WindowsProactorEventLoopPolicy`" - -#: ../../deprecations/pending-removal-in-3.16.rst:33 -msgid ":func:`asyncio.get_event_loop_policy`" -msgstr ":func:`asyncio.get_event_loop_policy`" - -#: ../../deprecations/pending-removal-in-3.16.rst:34 -msgid ":func:`asyncio.set_event_loop_policy`" -msgstr ":func:`asyncio.set_event_loop_policy`" - -#: ../../deprecations/pending-removal-in-3.16.rst:36 -msgid "" -"Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with " -"*loop_factory* to use the desired event loop implementation." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:39 -msgid "For example, to use :class:`asyncio.SelectorEventLoop` on Windows::" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:41 -msgid "" -"import asyncio\n" -"\n" -"async def main():\n" -" ...\n" -"\n" -"asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:48 -msgid "(Contributed by Kumar Aditya in :gh:`127949`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:50 -#: ../../deprecations/pending-removal-in-future.rst:16 -msgid ":mod:`builtins`:" -msgstr ":mod:`builtins`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:52 -msgid "" -"Bitwise inversion on boolean types, ``~True`` or ``~False`` has been " -"deprecated since Python 3.12, as it produces surprising and unintuitive " -"results (``-2`` and ``-1``). Use ``not x`` instead for the logical negation " -"of a Boolean. In the rare case that you need the bitwise inversion of the " -"underlying integer, convert to ``int`` explicitly (``~int(x)``)." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:59 -msgid ":mod:`functools`:" -msgstr ":mod:`functools`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:61 -msgid "" -"Calling the Python implementation of :func:`functools.reduce` with " -"*function* or *sequence* as keyword arguments has been deprecated since " -"Python 3.14." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:64 -msgid ":mod:`logging`:" -msgstr ":mod:`logging`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:66 -msgid "" -"Support for custom logging handlers with the *strm* argument is deprecated " -"and scheduled for removal in Python 3.16. Define handlers with the *stream* " -"argument instead. (Contributed by Mariusz Felisiak in :gh:`115032`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:70 -msgid ":mod:`mimetypes`:" -msgstr ":mod:`mimetypes`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:72 -msgid "" -"Valid extensions start with a '.' or are empty for " -":meth:`mimetypes.MimeTypes.add_type`. Undotted extensions are deprecated and" -" will raise a :exc:`ValueError` in Python 3.16. (Contributed by Hugo van " -"Kemenade in :gh:`75223`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:78 -msgid ":mod:`shutil`:" -msgstr ":mod:`shutil`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:80 -msgid "" -"The :class:`!ExecError` exception has been deprecated since Python 3.14. It " -"has not been used by any function in :mod:`!shutil` since Python 3.4, and is" -" now an alias of :exc:`RuntimeError`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:85 -msgid ":mod:`symtable`:" -msgstr ":mod:`symtable`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:87 -msgid "" -"The :meth:`Class.get_methods ` method has been " -"deprecated since Python 3.14." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:90 -msgid ":mod:`sys`:" -msgstr ":mod:`sys`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:92 -msgid "" -"The :func:`~sys._enablelegacywindowsfsencoding` function has been deprecated" -" since Python 3.13. Use the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " -"environment variable instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:98 -msgid "" -"The :func:`!sysconfig.expand_makefile_vars` function has been deprecated " -"since Python 3.14. Use the ``vars`` argument of :func:`sysconfig.get_paths` " -"instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:102 -msgid ":mod:`tarfile`:" -msgstr ":mod:`tarfile`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:104 -msgid "" -"The undocumented and unused :attr:`!TarFile.tarfile` attribute has been " -"deprecated since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.17.rst:2 -msgid "Pending removal in Python 3.17" -msgstr "Penghapusan yang tertunda di Python 3.17" - -#: ../../deprecations/pending-removal-in-3.17.rst:6 -msgid "" -"Before Python 3.14, old-style unions were implemented using the private " -"class ``typing._UnionGenericAlias``. This class is no longer needed for the " -"implementation, but it has been retained for backward compatibility, with " -"removal scheduled for Python 3.17. Users should use documented introspection" -" helpers like :func:`typing.get_origin` and :func:`typing.get_args` instead " -"of relying on private implementation details." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:2 -#: ../../deprecations/pending-removal-in-future.rst:2 -msgid "Pending removal in future versions" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:4 -msgid "" -"The following APIs will be removed in the future, although there is " -"currently no date scheduled for their removal." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:7 -msgid ":mod:`argparse`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:9 -msgid "" -"Nesting argument groups and nesting mutually exclusive groups are " -"deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:11 -msgid "" -"Passing the undocumented keyword argument *prefix_chars* to " -":meth:`~argparse.ArgumentParser.add_argument_group` is now deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:14 -msgid "The :class:`argparse.FileType` type converter is deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:18 -msgid "``bool(NotImplemented)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:19 -msgid "" -"Generators: ``throw(type, exc, tb)`` and ``athrow(type, exc, tb)`` signature" -" is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " -"argument signature." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:22 -msgid "" -"Currently Python accepts numeric literals immediately followed by keywords, " -"for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and " -"ambiguous expressions like ``[0x1for x in y]`` (which can be interpreted as " -"``[0x1 for x in y]`` or ``[0x1f or x in y]``). A syntax warning is raised " -"if the numeric literal is immediately followed by one of keywords " -":keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, " -":keyword:`in`, :keyword:`is` and :keyword:`or`. In a future release it will" -" be changed to a syntax error. (:gh:`87999`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:30 -msgid "" -"Support for ``__index__()`` and ``__int__()`` method returning non-int type:" -" these methods will be required to return an instance of a strict subclass " -"of :class:`int`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:33 -msgid "" -"Support for ``__float__()`` method returning a strict subclass of " -":class:`float`: these methods will be required to return an instance of " -":class:`float`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:36 -msgid "" -"Support for ``__complex__()`` method returning a strict subclass of " -":class:`complex`: these methods will be required to return an instance of " -":class:`complex`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:39 -msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:40 -msgid "" -"Passing a complex number as the *real* or *imag* argument in the " -":func:`complex` constructor is now deprecated; it should only be passed as a" -" single positional argument. (Contributed by Serhiy Storchaka in " -":gh:`109218`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:50 -msgid "" -":mod:`codecs`: use :func:`open` instead of :func:`codecs.open`. " -"(:gh:`133038`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:52 -msgid "" -":attr:`codeobject.co_lnotab`: use the :meth:`codeobject.co_lines` method " -"instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:55 -msgid ":mod:`datetime`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:57 -msgid "" -":meth:`~datetime.datetime.utcnow`: use " -"``datetime.datetime.now(tz=datetime.UTC)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:59 -msgid "" -":meth:`~datetime.datetime.utcfromtimestamp`: use " -"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:62 -msgid ":mod:`gettext`: Plural value must be an integer." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:66 -msgid "" -":func:`~importlib.util.cache_from_source` *debug_override* parameter is " -"deprecated: use the *optimization* parameter instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:69 -msgid ":mod:`importlib.metadata`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:71 -msgid "``EntryPoints`` tuple interface." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:72 -msgid "Implicit ``None`` on return values." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:74 -msgid "" -":mod:`logging`: the ``warn()`` method has been deprecated since Python 3.3, " -"use :meth:`~logging.warning` instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:77 -msgid "" -":mod:`mailbox`: Use of StringIO input and text mode is deprecated, use " -"BytesIO and binary mode instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:80 -msgid "" -":mod:`os`: Calling :func:`os.register_at_fork` in multi-threaded process." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:82 -msgid "" -":class:`!pydoc.ErrorDuringImport`: A tuple value for *exc_info* parameter is" -" deprecated, use an exception instance." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:85 -msgid "" -":mod:`re`: More strict rules are now applied for numerical group references " -"and group names in regular expressions. Only sequence of ASCII digits is " -"now accepted as a numerical reference. The group name in bytes patterns and" -" replacement strings can now only contain ASCII letters and digits and " -"underscore. (Contributed by Serhiy Storchaka in :gh:`91760`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:92 -msgid "" -":mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse` modules." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:94 -msgid "" -":mod:`shutil`: :func:`~shutil.rmtree`'s *onerror* parameter is deprecated in" -" Python 3.12; use the *onexc* parameter instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:97 -msgid ":mod:`ssl` options and protocols:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:99 -msgid ":class:`ssl.SSLContext` without protocol argument is deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:100 -msgid "" -":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` and " -":meth:`!selected_npn_protocol` are deprecated: use ALPN instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:103 -msgid "``ssl.OP_NO_SSL*`` options" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:104 -msgid "``ssl.OP_NO_TLS*`` options" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:105 -msgid "``ssl.PROTOCOL_SSLv3``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:106 -msgid "``ssl.PROTOCOL_TLS``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:107 -msgid "``ssl.PROTOCOL_TLSv1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:108 -msgid "``ssl.PROTOCOL_TLSv1_1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:109 -msgid "``ssl.PROTOCOL_TLSv1_2``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:110 -msgid "``ssl.TLSVersion.SSLv3``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:111 -msgid "``ssl.TLSVersion.TLSv1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:112 -msgid "``ssl.TLSVersion.TLSv1_1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:114 -msgid ":mod:`threading` methods:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:116 -msgid "" -":meth:`!threading.Condition.notifyAll`: use " -":meth:`~threading.Condition.notify_all`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:117 -msgid ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:118 -msgid "" -":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use " -":attr:`threading.Thread.daemon` attribute." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:120 -msgid "" -":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use " -":attr:`threading.Thread.name` attribute." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:122 -msgid "" -":meth:`!threading.currentThread`: use :meth:`threading.current_thread`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:123 -msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:125 -msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:127 -msgid "" -"The internal class ``typing._UnionGenericAlias`` is no longer used to " -"implement :class:`typing.Union`. To preserve compatibility with users using " -"this private class, a compatibility shim will be provided until at least " -"Python 3.17. (Contributed by Jelle Zijlstra in :gh:`105499`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:132 -msgid "" -":class:`unittest.IsolatedAsyncioTestCase`: it is deprecated to return a " -"value that is not ``None`` from a test case." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:135 -msgid "" -":mod:`urllib.parse` deprecated functions: :func:`~urllib.parse.urlparse` " -"instead" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:137 -msgid "``splitattr()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:138 -msgid "``splithost()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:139 -msgid "``splitnport()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:140 -msgid "``splitpasswd()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:141 -msgid "``splitport()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:142 -msgid "``splitquery()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:143 -msgid "``splittag()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:144 -msgid "``splittype()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:145 -msgid "``splituser()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:146 -msgid "``splitvalue()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:147 -msgid "``to_bytes()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:149 -msgid "" -":mod:`wsgiref`: ``SimpleHandler.stdout.write()`` should not do partial " -"writes." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:152 -msgid "" -":mod:`xml.etree.ElementTree`: Testing the truth value of an " -":class:`~xml.etree.ElementTree.Element` is deprecated. In a future release " -"it will always return ``True``. Prefer explicit ``len(elem)`` or ``elem is " -"not None`` tests instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:157 -msgid "" -":func:`sys._clear_type_cache` is deprecated: use " -":func:`sys._clear_internal_caches` instead." -msgstr "" - -#: ../../whatsnew/3.12.rst:1357 ../../whatsnew/3.12.rst:2239 -msgid "Removed" -msgstr "" - -#: ../../whatsnew/3.12.rst:1360 -msgid "asynchat and asyncore" -msgstr "" - -#: ../../whatsnew/3.12.rst:1362 -msgid "" -"These two modules have been removed according to the schedule in :pep:`594`," -" having been deprecated in Python 3.6. Use :mod:`asyncio` instead. " -"(Contributed by Nikita Sobolev in :gh:`96580`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1369 -msgid "configparser" -msgstr "" - -#: ../../whatsnew/3.12.rst:1371 -msgid "" -"Several names deprecated in the :mod:`configparser` way back in 3.2 have " -"been removed per :gh:`89336`:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1374 -msgid "" -":class:`configparser.ParsingError` no longer has a ``filename`` attribute or" -" argument. Use the ``source`` attribute and argument instead." -msgstr "" - -#: ../../whatsnew/3.12.rst:1376 -msgid "" -":mod:`configparser` no longer has a ``SafeConfigParser`` class. Use the " -"shorter :class:`~configparser.ConfigParser` name instead." -msgstr "" - -#: ../../whatsnew/3.12.rst:1378 -msgid "" -":class:`configparser.ConfigParser` no longer has a ``readfp`` method. Use " -":meth:`~configparser.ConfigParser.read_file` instead." -msgstr "" - -#: ../../whatsnew/3.12.rst:1384 -msgid "distutils" -msgstr "distutils" - -#: ../../whatsnew/3.12.rst:1386 -msgid "" -"Remove the :py:mod:`!distutils` package. It was deprecated in Python 3.10 by" -" :pep:`632` \"Deprecate distutils module\". For projects still using " -"``distutils`` and cannot be updated to something else, the ``setuptools`` " -"project can be installed: it still provides ``distutils``. (Contributed by " -"Victor Stinner in :gh:`92584`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1393 -msgid "ensurepip" -msgstr "" - -#: ../../whatsnew/3.12.rst:1395 -msgid "" -"Remove the bundled setuptools wheel from :mod:`ensurepip`, and stop " -"installing setuptools in environments created by :mod:`venv`." -msgstr "" - -#: ../../whatsnew/3.12.rst:1398 -msgid "" -"``pip (>= 22.1)`` does not require setuptools to be installed in the " -"environment. ``setuptools``-based (and ``distutils``-based) packages can " -"still be used with ``pip install``, since pip will provide ``setuptools`` in" -" the build environment it uses for building a package." -msgstr "" - -#: ../../whatsnew/3.12.rst:1404 -msgid "" -"``easy_install``, ``pkg_resources``, ``setuptools`` and ``distutils`` are no" -" longer provided by default in environments created with ``venv`` or " -"bootstrapped with ``ensurepip``, since they are part of the ``setuptools`` " -"package. For projects relying on these at runtime, the ``setuptools`` " -"project should be declared as a dependency and installed separately " -"(typically, using pip)." -msgstr "" - -#: ../../whatsnew/3.12.rst:1411 -msgid "(Contributed by Pradyun Gedam in :gh:`95299`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1414 -msgid "enum" -msgstr "enum" - -#: ../../whatsnew/3.12.rst:1416 -msgid "" -"Remove :mod:`enum`'s ``EnumMeta.__getattr__``, which is no longer needed for" -" enum attribute access. (Contributed by Ethan Furman in :gh:`95083`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1421 -msgid "ftplib" -msgstr "" - -#: ../../whatsnew/3.12.rst:1423 -msgid "" -"Remove :mod:`ftplib`'s ``FTP_TLS.ssl_version`` class attribute: use the " -"*context* parameter instead. (Contributed by Victor Stinner in :gh:`94172`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1428 -msgid "gzip" -msgstr "gzip" - -#: ../../whatsnew/3.12.rst:1430 -msgid "" -"Remove the ``filename`` attribute of :mod:`gzip`'s :class:`gzip.GzipFile`, " -"deprecated since Python 2.6, use the :attr:`~gzip.GzipFile.name` attribute " -"instead. In write mode, the ``filename`` attribute added ``'.gz'`` file " -"extension if it was not present. (Contributed by Victor Stinner in " -":gh:`94196`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1437 -msgid "hashlib" -msgstr "" - -#: ../../whatsnew/3.12.rst:1439 -msgid "" -"Remove the pure Python implementation of :mod:`hashlib`'s " -":func:`hashlib.pbkdf2_hmac`, deprecated in Python 3.10. Python 3.10 and " -"newer requires OpenSSL 1.1.1 (:pep:`644`): this OpenSSL version provides a C" -" implementation of :func:`~hashlib.pbkdf2_hmac` which is faster. " -"(Contributed by Victor Stinner in :gh:`94199`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1446 ../../whatsnew/3.12.rst:1475 -msgid "importlib" -msgstr "importlib" - -#: ../../whatsnew/3.12.rst:1448 -msgid "" -"Many previously deprecated cleanups in :mod:`importlib` have now been " -"completed:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1451 -msgid "" -"References to, and support for :meth:`!module_repr` has been removed. " -"(Contributed by Barry Warsaw in :gh:`97850`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1454 -msgid "" -"``importlib.util.set_package``, ``importlib.util.set_loader`` and " -"``importlib.util.module_for_loader`` have all been removed. (Contributed by " -"Brett Cannon and Nikita Sobolev in :gh:`65961` and :gh:`97850`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1458 -msgid "" -"Support for ``find_loader()`` and ``find_module()`` APIs have been removed." -" (Contributed by Barry Warsaw in :gh:`98040`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1461 -msgid "" -"``importlib.abc.Finder``, ``pkgutil.ImpImporter``, and ``pkgutil.ImpLoader``" -" have been removed. (Contributed by Barry Warsaw in :gh:`98040`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1467 ../../whatsnew/3.12.rst:1475 -msgid "imp" -msgstr "" - -#: ../../whatsnew/3.12.rst:1469 -msgid "" -"The :mod:`!imp` module has been removed. (Contributed by Barry Warsaw in " -":gh:`98040`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1472 -msgid "To migrate, consult the following correspondence table:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1477 -msgid "``imp.NullImporter``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1477 -msgid "Insert ``None`` into ``sys.path_importer_cache``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1478 -msgid "``imp.cache_from_source()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1478 -msgid ":func:`importlib.util.cache_from_source`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1479 -msgid "``imp.find_module()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1479 -msgid ":func:`importlib.util.find_spec`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1480 -msgid "``imp.get_magic()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1480 -msgid ":const:`importlib.util.MAGIC_NUMBER`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1481 -msgid "``imp.get_suffixes()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1481 -msgid "" -":const:`importlib.machinery.SOURCE_SUFFIXES`, " -":const:`importlib.machinery.EXTENSION_SUFFIXES`, and " -":const:`importlib.machinery.BYTECODE_SUFFIXES`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1482 -msgid "``imp.get_tag()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1482 -msgid ":attr:`sys.implementation.cache_tag `" -msgstr "" - -#: ../../whatsnew/3.12.rst:1483 -msgid "``imp.load_module()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1483 -msgid ":func:`importlib.import_module`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1484 -msgid "``imp.new_module(name)``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1484 -msgid "``types.ModuleType(name)``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1485 -msgid "``imp.reload()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1485 -msgid ":func:`importlib.reload`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1486 -msgid "``imp.source_from_cache()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1486 -msgid ":func:`importlib.util.source_from_cache`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1487 -msgid "``imp.load_source()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1487 -msgid "*See below*" -msgstr "" - -#: ../../whatsnew/3.12.rst:1490 -msgid "Replace ``imp.load_source()`` with::" -msgstr "" - -#: ../../whatsnew/3.12.rst:1492 -msgid "" -"import importlib.util\n" -"import importlib.machinery\n" -"\n" -"def load_source(modname, filename):\n" -" loader = importlib.machinery.SourceFileLoader(modname, filename)\n" -" spec = importlib.util.spec_from_file_location(modname, filename, loader=loader)\n" -" module = importlib.util.module_from_spec(spec)\n" -" # The module is always executed and not cached in sys.modules.\n" -" # Uncomment the following line to cache the module.\n" -" # sys.modules[module.__name__] = module\n" -" loader.exec_module(module)\n" -" return module" -msgstr "" - -#: ../../whatsnew/3.12.rst:1505 -msgid "Remove :mod:`!imp` functions and attributes with no replacements:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1507 -msgid "Undocumented functions:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1509 -msgid "``imp.init_builtin()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1510 -msgid "``imp.load_compiled()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1511 -msgid "``imp.load_dynamic()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1512 -msgid "``imp.load_package()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1514 -msgid "" -"``imp.lock_held()``, ``imp.acquire_lock()``, ``imp.release_lock()``: the " -"locking scheme has changed in Python 3.3 to per-module locks." -msgstr "" - -#: ../../whatsnew/3.12.rst:1516 -msgid "" -"``imp.find_module()`` constants: ``SEARCH_ERROR``, ``PY_SOURCE``, " -"``PY_COMPILED``, ``C_EXTENSION``, ``PY_RESOURCE``, ``PKG_DIRECTORY``, " -"``C_BUILTIN``, ``PY_FROZEN``, ``PY_CODERESOURCE``, ``IMP_HOOK``." -msgstr "" - -#: ../../whatsnew/3.12.rst:1521 -msgid "io" -msgstr "io" - -#: ../../whatsnew/3.12.rst:1523 -msgid "" -"Remove :mod:`io`'s ``io.OpenWrapper`` and ``_pyio.OpenWrapper``, deprecated " -"in Python 3.10: just use :func:`open` instead. The :func:`open` " -"(:func:`io.open`) function is a built-in function. Since Python 3.10, " -":func:`!_pyio.open` is also a static method. (Contributed by Victor Stinner " -"in :gh:`94169`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1530 -msgid "locale" -msgstr "locale" - -#: ../../whatsnew/3.12.rst:1532 -msgid "" -"Remove :mod:`locale`'s :func:`!locale.format` function, deprecated in Python" -" 3.7: use :func:`locale.format_string` instead. (Contributed by Victor " -"Stinner in :gh:`94226`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1537 -msgid "smtpd" -msgstr "" - -#: ../../whatsnew/3.12.rst:1539 -msgid "" -"The ``smtpd`` module has been removed according to the schedule in " -":pep:`594`, having been deprecated in Python 3.4.7 and 3.5.4. Use the " -":pypi:`aiosmtpd` PyPI module or any other :mod:`asyncio`-based server " -"instead. (Contributed by Oleg Iarygin in :gh:`93243`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1548 -msgid "" -"The following undocumented :mod:`sqlite3` features, deprecated in Python " -"3.10, are now removed:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1551 -msgid "``sqlite3.enable_shared_cache()``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1552 -msgid "``sqlite3.OptimizedUnicode``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1554 -msgid "" -"If a shared cache must be used, open the database in URI mode using the " -"``cache=shared`` query parameter." -msgstr "" - -#: ../../whatsnew/3.12.rst:1557 -msgid "" -"The ``sqlite3.OptimizedUnicode`` text factory has been an alias for " -":class:`str` since Python 3.3. Code that previously set the text factory to " -"``OptimizedUnicode`` can either use ``str`` explicitly, or rely on the " -"default value which is also ``str``." -msgstr "" - -#: ../../whatsnew/3.12.rst:1562 -msgid "(Contributed by Erlend E. Aasland in :gh:`92548`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1565 -msgid "ssl" -msgstr "ssl" - -#: ../../whatsnew/3.12.rst:1567 -msgid "" -"Remove :mod:`ssl`'s :func:`!ssl.RAND_pseudo_bytes` function, deprecated in " -"Python 3.6: use :func:`os.urandom` or :func:`ssl.RAND_bytes` instead. " -"(Contributed by Victor Stinner in :gh:`94199`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1571 -msgid "" -"Remove the :func:`!ssl.match_hostname` function. It was deprecated in Python" -" 3.7. OpenSSL performs hostname matching since Python 3.7, Python no longer " -"uses the :func:`!ssl.match_hostname` function. (Contributed by Victor " -"Stinner in :gh:`94199`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1577 -msgid "" -"Remove the :func:`!ssl.wrap_socket` function, deprecated in Python 3.7: " -"instead, create a :class:`ssl.SSLContext` object and call its " -":class:`ssl.SSLContext.wrap_socket` method. Any package that still uses " -":func:`!ssl.wrap_socket` is broken and insecure. The function neither sends " -"a SNI TLS extension nor validates the server hostname. Code is subject to " -":cwe:`295` (Improper Certificate Validation). (Contributed by Victor Stinner" -" in :gh:`94199`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1588 -msgid "Remove many long-deprecated :mod:`unittest` features:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1592 -msgid "A number of :class:`~unittest.TestCase` method aliases:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1595 -msgid "Deprecated alias" -msgstr "" - -#: ../../whatsnew/3.12.rst:1595 -msgid "Method Name" -msgstr "Nama Metode" - -#: ../../whatsnew/3.12.rst:1595 -msgid "Deprecated in" -msgstr "" - -#: ../../whatsnew/3.12.rst:1597 -msgid "``failUnless``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1597 ../../whatsnew/3.12.rst:1604 -msgid ":meth:`.assertTrue`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1597 ../../whatsnew/3.12.rst:1598 -#: ../../whatsnew/3.12.rst:1599 ../../whatsnew/3.12.rst:1600 -#: ../../whatsnew/3.12.rst:1601 ../../whatsnew/3.12.rst:1602 -#: ../../whatsnew/3.12.rst:1603 -msgid "3.1" -msgstr "3.1" - -#: ../../whatsnew/3.12.rst:1598 -msgid "``failIf``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1598 -msgid ":meth:`.assertFalse`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1599 -msgid "``failUnlessEqual``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1599 ../../whatsnew/3.12.rst:1605 -msgid ":meth:`.assertEqual`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1600 -msgid "``failIfEqual``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1600 ../../whatsnew/3.12.rst:1606 -msgid ":meth:`.assertNotEqual`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1601 -msgid "``failUnlessAlmostEqual``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1601 ../../whatsnew/3.12.rst:1607 -msgid ":meth:`.assertAlmostEqual`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1602 -msgid "``failIfAlmostEqual``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1602 ../../whatsnew/3.12.rst:1608 -msgid ":meth:`.assertNotAlmostEqual`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1603 -msgid "``failUnlessRaises``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1603 -msgid ":meth:`.assertRaises`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1604 -msgid "``assert_``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1604 ../../whatsnew/3.12.rst:1605 -#: ../../whatsnew/3.12.rst:1606 ../../whatsnew/3.12.rst:1607 -#: ../../whatsnew/3.12.rst:1608 ../../whatsnew/3.12.rst:1609 -#: ../../whatsnew/3.12.rst:1610 -msgid "3.2" -msgstr "3.2" - -#: ../../whatsnew/3.12.rst:1605 -msgid "``assertEquals``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1606 -msgid "``assertNotEquals``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1607 -msgid "``assertAlmostEquals``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1608 -msgid "``assertNotAlmostEquals``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1609 -msgid "``assertRegexpMatches``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1609 -msgid ":meth:`.assertRegex`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1610 -msgid "``assertRaisesRegexp``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1610 -msgid ":meth:`.assertRaisesRegex`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1611 -msgid "``assertNotRegexpMatches``" -msgstr "" - -#: ../../whatsnew/3.12.rst:1611 -msgid ":meth:`.assertNotRegex`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1611 -msgid "3.5" -msgstr "" - -#: ../../whatsnew/3.12.rst:1614 -msgid "" -"You can use https://github.com/isidentical/teyit to automatically modernise " -"your unit tests." -msgstr "" - -#: ../../whatsnew/3.12.rst:1617 -msgid "" -"Undocumented and broken :class:`~unittest.TestCase` method " -"``assertDictContainsSubset`` (deprecated in Python 3.2)." -msgstr "" - -#: ../../whatsnew/3.12.rst:1620 -msgid "" -"Undocumented :meth:`TestLoader.loadTestsFromModule " -"` parameter *use_load_tests* " -"(deprecated and ignored since Python 3.5)." -msgstr "" - -#: ../../whatsnew/3.12.rst:1624 -msgid "" -"An alias of the :class:`~unittest.TextTestResult` class: ``_TextTestResult``" -" (deprecated in Python 3.2)." -msgstr "" - -#: ../../whatsnew/3.12.rst:1627 -msgid "(Contributed by Serhiy Storchaka in :gh:`89325`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1630 -msgid "webbrowser" -msgstr "" - -#: ../../whatsnew/3.12.rst:1632 -msgid "" -"Remove support for obsolete browsers from :mod:`webbrowser`. The removed " -"browsers include: Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, " -"Firebird, and Firefox versions 35 and below (:gh:`102871`)." -msgstr "" - -#: ../../whatsnew/3.12.rst:1637 -msgid "xml.etree.ElementTree" -msgstr "" - -#: ../../whatsnew/3.12.rst:1639 -msgid "" -"Remove the ``ElementTree.Element.copy()`` method of the pure Python " -"implementation, deprecated in Python 3.10, use the :func:`copy.copy` " -"function instead. The C implementation of :mod:`xml.etree.ElementTree` has " -"no ``copy()`` method, only a ``__copy__()`` method. (Contributed by Victor " -"Stinner in :gh:`94383`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1646 -msgid "zipimport" -msgstr "" - -#: ../../whatsnew/3.12.rst:1648 -msgid "" -"Remove :mod:`zipimport`'s ``find_loader()`` and ``find_module()`` methods, " -"deprecated in Python 3.10: use the ``find_spec()`` method instead. See " -":pep:`451` for the rationale. (Contributed by Victor Stinner in " -":gh:`94379`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1654 -msgid "Others" -msgstr "" - -#: ../../whatsnew/3.12.rst:1656 -msgid "" -"Remove the ``suspicious`` rule from the documentation :file:`Makefile` and " -":file:`Doc/tools/rstlint.py`, both in favor of `sphinx-lint " -"`_. (Contributed by Julien " -"Palard in :gh:`98179`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1661 -msgid "" -"Remove the *keyfile* and *certfile* parameters from the :mod:`ftplib`, " -":mod:`imaplib`, :mod:`poplib` and :mod:`smtplib` modules, and the " -"*key_file*, *cert_file* and *check_hostname* parameters from the " -":mod:`http.client` module, all deprecated since Python 3.6. Use the " -"*context* parameter (*ssl_context* in :mod:`imaplib`) instead. (Contributed " -"by Victor Stinner in :gh:`94172`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1669 -msgid "" -"Remove ``Jython`` compatibility hacks from several stdlib modules and tests." -" (Contributed by Nikita Sobolev in :gh:`99482`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1672 -msgid "" -"Remove ``_use_broken_old_ctypes_structure_semantics_`` flag from " -":mod:`ctypes` module. (Contributed by Nikita Sobolev in :gh:`99285`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1680 ../../whatsnew/3.12.rst:2004 -msgid "Porting to Python 3.12" -msgstr "" - -#: ../../whatsnew/3.12.rst:1682 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code." -msgstr "" - -#: ../../whatsnew/3.12.rst:1686 -msgid "Changes in the Python API" -msgstr "Perubahan pada API Python" - -#: ../../whatsnew/3.12.rst:1688 -msgid "" -"More strict rules are now applied for numerical group references and group " -"names in regular expressions. Only sequence of ASCII digits is now accepted " -"as a numerical reference. The group name in bytes patterns and replacement " -"strings can now only contain ASCII letters and digits and underscore. " -"(Contributed by Serhiy Storchaka in :gh:`91760`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1695 -msgid "" -"Remove ``randrange()`` functionality deprecated since Python 3.10. " -"Formerly, ``randrange(10.0)`` losslessly converted to ``randrange(10)``. " -"Now, it raises a :exc:`TypeError`. Also, the exception raised for non-" -"integer values such as ``randrange(10.5)`` or ``randrange('10')`` has been " -"changed from :exc:`ValueError` to :exc:`TypeError`. This also prevents bugs" -" where ``randrange(1e25)`` would silently select from a larger range than " -"``randrange(10**25)``. (Originally suggested by Serhiy Storchaka " -":gh:`86388`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1703 -msgid "" -":class:`argparse.ArgumentParser` changed encoding and error handler for " -"reading arguments from file (e.g. ``fromfile_prefix_chars`` option) from " -"default text encoding (e.g. :func:`locale.getpreferredencoding(False) " -"`) to :term:`filesystem encoding and error " -"handler`. Argument files should be encoded in UTF-8 instead of ANSI Codepage" -" on Windows." -msgstr "" - -#: ../../whatsnew/3.12.rst:1709 -msgid "" -"Remove the ``asyncore``-based ``smtpd`` module deprecated in Python 3.4.7 " -"and 3.5.4. A recommended replacement is the :mod:`asyncio`-based " -":pypi:`aiosmtpd` PyPI module." -msgstr "" - -#: ../../whatsnew/3.12.rst:1713 -msgid "" -":func:`shlex.split`: Passing ``None`` for *s* argument now raises an " -"exception, rather than reading :data:`sys.stdin`. The feature was deprecated" -" in Python 3.9. (Contributed by Victor Stinner in :gh:`94352`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1718 -msgid "" -"The :mod:`os` module no longer accepts bytes-like paths, like " -":class:`bytearray` and :class:`memoryview` types: only the exact " -":class:`bytes` type is accepted for bytes strings. (Contributed by Victor " -"Stinner in :gh:`98393`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1723 -msgid "" -":func:`syslog.openlog` and :func:`syslog.closelog` now fail if used in " -"subinterpreters. :func:`syslog.syslog` may still be used in subinterpreters," -" but now only if :func:`syslog.openlog` has already been called in the main " -"interpreter. These new restrictions do not apply to the main interpreter, so" -" only a very small set of users might be affected. This change helps with " -"interpreter isolation. Furthermore, :mod:`syslog` is a wrapper around " -"process-global resources, which are best managed from the main interpreter. " -"(Contributed by Donghee Na in :gh:`99127`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1732 -msgid "" -"The undocumented locking behavior of :func:`~functools.cached_property` is " -"removed, because it locked across all instances of the class, leading to " -"high lock contention. This means that a cached property getter function " -"could now run more than once for a single instance, if two threads race. For" -" most simple cached properties (e.g. those that are idempotent and simply " -"calculate a value based on other attributes of the instance) this will be " -"fine. If synchronization is needed, implement locking within the cached " -"property getter function or around multi-threaded access points." -msgstr "" - -#: ../../whatsnew/3.12.rst:1745 -msgid "" -"When extracting tar files using :mod:`tarfile` or " -":func:`shutil.unpack_archive`, pass the *filter* argument to limit features " -"that may be surprising or dangerous. See :ref:`tarfile-extraction-filter` " -"for details." -msgstr "" - -#: ../../whatsnew/3.12.rst:1750 -msgid "" -"The output of the :func:`tokenize.tokenize` and " -":func:`tokenize.generate_tokens` functions is now changed due to the changes" -" introduced in :pep:`701`. This means that ``STRING`` tokens are not emitted" -" any more for f-strings and the tokens described in :pep:`701` are now " -"produced instead: ``FSTRING_START``, ``FSTRING_MIDDLE`` and ``FSTRING_END`` " -"are now emitted for f-string \"string\" parts in addition to the appropriate" -" tokens for the tokenization in the expression components. For example for " -"the f-string ``f\"start {1+1} end\"`` the old version of the tokenizer " -"emitted::" -msgstr "" - -#: ../../whatsnew/3.12.rst:1759 -msgid "1,0-1,18: STRING 'f\"start {1+1} end\"'" -msgstr "" - -#: ../../whatsnew/3.12.rst:1761 -msgid "while the new version emits::" -msgstr "" - -#: ../../whatsnew/3.12.rst:1763 -msgid "" -"1,0-1,2: FSTRING_START 'f\"'\n" -"1,2-1,8: FSTRING_MIDDLE 'start '\n" -"1,8-1,9: OP '{'\n" -"1,9-1,10: NUMBER '1'\n" -"1,10-1,11: OP '+'\n" -"1,11-1,12: NUMBER '1'\n" -"1,12-1,13: OP '}'\n" -"1,13-1,17: FSTRING_MIDDLE ' end'\n" -"1,17-1,18: FSTRING_END '\"'" -msgstr "" - -#: ../../whatsnew/3.12.rst:1773 -msgid "" -"Additionally, there may be some minor behavioral changes as a consequence of" -" the changes required to support :pep:`701`. Some of these changes include:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1776 -msgid "" -"The ``type`` attribute of the tokens emitted when tokenizing some invalid " -"Python characters such as ``!`` has changed from ``ERRORTOKEN`` to ``OP``." -msgstr "" - -#: ../../whatsnew/3.12.rst:1779 -msgid "" -"Incomplete single-line strings now also raise :exc:`tokenize.TokenError` as " -"incomplete multiline strings do." -msgstr "" - -#: ../../whatsnew/3.12.rst:1782 -msgid "" -"Some incomplete or invalid Python code now raises :exc:`tokenize.TokenError`" -" instead of returning arbitrary ``ERRORTOKEN`` tokens when tokenizing it." -msgstr "" - -#: ../../whatsnew/3.12.rst:1785 -msgid "" -"Mixing tabs and spaces as indentation in the same file is not supported " -"anymore and will raise a :exc:`TabError`." -msgstr "" - -#: ../../whatsnew/3.12.rst:1788 -msgid "" -"The :mod:`threading` module now expects the :mod:`!_thread` module to have " -"an ``_is_main_interpreter`` attribute. It is a function with no arguments " -"that returns ``True`` if the current interpreter is the main interpreter." -msgstr "" - -#: ../../whatsnew/3.12.rst:1793 -msgid "" -"Any library or application that provides a custom ``_thread`` module should " -"provide ``_is_main_interpreter()``. (See :gh:`112826`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1798 -msgid "Build Changes" -msgstr "" - -#: ../../whatsnew/3.12.rst:1800 -msgid "" -"Python no longer uses :file:`setup.py` to build shared C extension modules. " -"Build parameters like headers and libraries are detected in ``configure`` " -"script. Extensions are built by :file:`Makefile`. Most extensions use ``pkg-" -"config`` and fall back to manual detection. (Contributed by Christian Heimes" -" in :gh:`93939`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1806 -msgid "" -"``va_start()`` with two parameters, like ``va_start(args, format),`` is now " -"required to build Python. ``va_start()`` is no longer called with a single " -"parameter. (Contributed by Kumar Aditya in :gh:`93207`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1811 -msgid "" -"CPython now uses the ThinLTO option as the default link time optimization " -"policy if the Clang compiler accepts the flag. (Contributed by Donghee Na in" -" :gh:`89536`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1815 -msgid "" -"Add ``COMPILEALL_OPTS`` variable in :file:`Makefile` to override " -":mod:`compileall` options (default: ``-j0``) in ``make install``. Also " -"merged the 3 ``compileall`` commands into a single command to build .pyc " -"files for all optimization levels (0, 1, 2) at once. (Contributed by Victor " -"Stinner in :gh:`99289`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1821 -msgid "Add platform triplets for 64-bit LoongArch:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1823 -msgid "loongarch64-linux-gnusf" -msgstr "" - -#: ../../whatsnew/3.12.rst:1824 -msgid "loongarch64-linux-gnuf32" -msgstr "" - -#: ../../whatsnew/3.12.rst:1825 -msgid "loongarch64-linux-gnu" -msgstr "" - -#: ../../whatsnew/3.12.rst:1827 -msgid "(Contributed by Zhang Na in :gh:`90656`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1829 -msgid "``PYTHON_FOR_REGEN`` now require Python 3.10 or newer." -msgstr "" - -#: ../../whatsnew/3.12.rst:1831 -msgid "" -"Autoconf 2.71 and aclocal 1.16.4 is now required to regenerate " -":file:`configure`. (Contributed by Christian Heimes in :gh:`89886`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1835 -msgid "" -"Windows builds and macOS installers from python.org now use OpenSSL 3.0." -msgstr "" - -#: ../../whatsnew/3.12.rst:1839 -msgid "C API Changes" -msgstr "" - -#: ../../whatsnew/3.12.rst:1846 -msgid "" -":pep:`697`: Introduce the :ref:`Unstable C API tier `, " -"intended for low-level tools like debuggers and JIT compilers. This API may " -"change in each minor release of CPython without deprecation warnings. Its " -"contents are marked by the ``PyUnstable_`` prefix in names." -msgstr "" - -#: ../../whatsnew/3.12.rst:1852 -msgid "Code object constructors:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1854 -msgid "``PyUnstable_Code_New()`` (renamed from ``PyCode_New``)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1855 -msgid "" -"``PyUnstable_Code_NewWithPosOnlyArgs()`` (renamed from " -"``PyCode_NewWithPosOnlyArgs``)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1857 -msgid "Extra storage for code objects (:pep:`523`):" -msgstr "" - -#: ../../whatsnew/3.12.rst:1859 -msgid "" -"``PyUnstable_Eval_RequestCodeExtraIndex()`` (renamed from " -"``_PyEval_RequestCodeExtraIndex``)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1860 -msgid "``PyUnstable_Code_GetExtra()`` (renamed from ``_PyCode_GetExtra``)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1861 -msgid "``PyUnstable_Code_SetExtra()`` (renamed from ``_PyCode_SetExtra``)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1863 -msgid "" -"The original names will continue to be available until the respective API " -"changes." -msgstr "" - -#: ../../whatsnew/3.12.rst:1866 -msgid "(Contributed by Petr Viktorin in :gh:`101101`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1868 -msgid "" -":pep:`697`: Add an API for extending types whose instance memory layout is " -"opaque:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1871 -msgid "" -":c:member:`PyType_Spec.basicsize` can be zero or negative to specify " -"inheriting or extending the base class size." -msgstr "" - -#: ../../whatsnew/3.12.rst:1873 -msgid "" -":c:func:`PyObject_GetTypeData` and :c:func:`PyType_GetTypeDataSize` added to" -" allow access to subclass-specific instance data." -msgstr "" - -#: ../../whatsnew/3.12.rst:1875 -msgid "" -":c:macro:`Py_TPFLAGS_ITEMS_AT_END` and :c:func:`PyObject_GetItemData` added " -"to allow safely extending certain variable-sized types, including " -":c:var:`PyType_Type`." -msgstr "" - -#: ../../whatsnew/3.12.rst:1878 -msgid "" -":c:macro:`Py_RELATIVE_OFFSET` added to allow defining :c:type:`members " -"` in terms of a subclass-specific struct." -msgstr "" - -#: ../../whatsnew/3.12.rst:1881 -msgid "(Contributed by Petr Viktorin in :gh:`103509`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1883 -msgid "" -"Add the new :ref:`limited C API ` function " -":c:func:`PyType_FromMetaclass`, which generalizes the existing " -":c:func:`PyType_FromModuleAndSpec` using an additional metaclass argument. " -"(Contributed by Wenzel Jakob in :gh:`93012`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1888 -msgid "" -"API for creating objects that can be called using :ref:`the vectorcall " -"protocol ` was added to the :ref:`Limited API `:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1892 -msgid ":c:macro:`Py_TPFLAGS_HAVE_VECTORCALL`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1893 -msgid ":c:func:`PyVectorcall_NARGS`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1894 -msgid ":c:func:`PyVectorcall_Call`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1895 -msgid ":c:type:`vectorcallfunc`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1897 -msgid "" -"The :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` flag is now removed from a class " -"when the class's :py:meth:`~object.__call__` method is reassigned. This " -"makes vectorcall safe to use with mutable types (i.e. heap types without the" -" immutable flag, :c:macro:`Py_TPFLAGS_IMMUTABLETYPE`). Mutable types that do" -" not override :c:member:`~PyTypeObject.tp_call` now inherit the " -"``Py_TPFLAGS_HAVE_VECTORCALL`` flag. (Contributed by Petr Viktorin in " -":gh:`93274`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1905 -msgid "" -"The :c:macro:`Py_TPFLAGS_MANAGED_DICT` and " -":c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` flags have been added. This allows " -"extensions classes to support object :attr:`~object.__dict__` and weakrefs " -"with less bookkeeping, using less memory and with faster access." -msgstr "" - -#: ../../whatsnew/3.12.rst:1910 -msgid "" -"API for performing calls using :ref:`the vectorcall protocol ` " -"was added to the :ref:`Limited API `:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1914 -msgid ":c:func:`PyObject_Vectorcall`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1915 -msgid ":c:func:`PyObject_VectorcallMethod`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1916 -msgid ":c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`" -msgstr "" - -#: ../../whatsnew/3.12.rst:1918 -msgid "" -"This means that both the incoming and outgoing ends of the vector call " -"protocol are now available in the :ref:`Limited API `. (Contributed " -"by Wenzel Jakob in :gh:`98586`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1922 -msgid "" -"Add two new public functions, :c:func:`PyEval_SetProfileAllThreads` and " -":c:func:`PyEval_SetTraceAllThreads`, that allow to set tracing and profiling" -" functions in all running threads in addition to the calling one. " -"(Contributed by Pablo Galindo in :gh:`93503`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1928 -msgid "" -"Add new function :c:func:`PyFunction_SetVectorcall` to the C API which sets " -"the vectorcall field of a given :c:type:`PyFunctionObject`. (Contributed by " -"Andrew Frost in :gh:`92257`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1932 -msgid "" -"The C API now permits registering callbacks via :c:func:`PyDict_AddWatcher`," -" :c:func:`PyDict_Watch` and related APIs to be called whenever a dictionary " -"is modified. This is intended for use by optimizing interpreters, JIT " -"compilers, or debuggers. (Contributed by Carl Meyer in :gh:`91052`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1938 -msgid "" -"Add :c:func:`PyType_AddWatcher` and :c:func:`PyType_Watch` API to register " -"callbacks to receive notification on changes to a type. (Contributed by Carl" -" Meyer in :gh:`91051`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1942 -msgid "" -"Add :c:func:`PyCode_AddWatcher` and :c:func:`PyCode_ClearWatcher` APIs to " -"register callbacks to receive notification on creation and destruction of " -"code objects. (Contributed by Itamar Oren in :gh:`91054`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1947 -msgid "" -"Add :c:func:`PyFrame_GetVar` and :c:func:`PyFrame_GetVarString` functions to" -" get a frame variable by its name. (Contributed by Victor Stinner in " -":gh:`91248`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1951 -msgid "" -"Add :c:func:`PyErr_GetRaisedException` and " -":c:func:`PyErr_SetRaisedException` for saving and restoring the current " -"exception. These functions return and accept a single exception object, " -"rather than the triple arguments of the now-deprecated :c:func:`PyErr_Fetch`" -" and :c:func:`PyErr_Restore`. This is less error prone and a bit more " -"efficient. (Contributed by Mark Shannon in :gh:`101578`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1959 -msgid "" -"Add ``_PyErr_ChainExceptions1``, which takes an exception instance, to " -"replace the legacy-API ``_PyErr_ChainExceptions``, which is now deprecated. " -"(Contributed by Mark Shannon in :gh:`101578`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1963 -msgid "" -"Add :c:func:`PyException_GetArgs` and :c:func:`PyException_SetArgs` as " -"convenience functions for retrieving and modifying the " -":attr:`~BaseException.args` passed to the exception's constructor. " -"(Contributed by Mark Shannon in :gh:`101578`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1968 -msgid "" -"Add :c:func:`PyErr_DisplayException`, which takes an exception instance, to " -"replace the legacy-api :c:func:`!PyErr_Display`. (Contributed by Irit " -"Katriel in :gh:`102755`)." -msgstr "" - -#: ../../whatsnew/3.12.rst:1974 -msgid "" -":pep:`683`: Introduce *Immortal Objects*, which allows objects to bypass " -"reference counts, and related changes to the C-API:" -msgstr "" - -#: ../../whatsnew/3.12.rst:1977 -msgid "``_Py_IMMORTAL_REFCNT``: The reference count that defines an object" -msgstr "" - -#: ../../whatsnew/3.12.rst:1978 -msgid "as immortal." -msgstr "" - -#: ../../whatsnew/3.12.rst:1979 -msgid "" -"``_Py_IsImmortal`` Checks if an object has the immortal reference count." -msgstr "" - -#: ../../whatsnew/3.12.rst:1980 -msgid "``PyObject_HEAD_INIT`` This will now initialize reference count to" -msgstr "" - -#: ../../whatsnew/3.12.rst:1981 -msgid "``_Py_IMMORTAL_REFCNT`` when used with ``Py_BUILD_CORE``." -msgstr "" - -#: ../../whatsnew/3.12.rst:1982 -msgid "" -"``SSTATE_INTERNED_IMMORTAL`` An identifier for interned unicode objects" -msgstr "" - -#: ../../whatsnew/3.12.rst:1983 -msgid "that are immortal." -msgstr "" - -#: ../../whatsnew/3.12.rst:1984 -msgid "``SSTATE_INTERNED_IMMORTAL_STATIC`` An identifier for interned unicode" -msgstr "" - -#: ../../whatsnew/3.12.rst:1985 -msgid "objects that are immortal and static" -msgstr "" - -#: ../../whatsnew/3.12.rst:1986 -msgid "" -"``sys.getunicodeinternedsize`` This returns the total number of unicode" -msgstr "" - -#: ../../whatsnew/3.12.rst:1987 -msgid "" -"objects that have been interned. This is now needed for :file:`refleak.py` " -"to correctly track reference counts and allocated blocks" -msgstr "" - -#: ../../whatsnew/3.12.rst:1990 -msgid "(Contributed by Eddie Elizondo in :gh:`84436`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1992 -msgid "" -":pep:`684`: Add the new :c:func:`Py_NewInterpreterFromConfig` function and " -":c:type:`PyInterpreterConfig`, which may be used to create sub-interpreters " -"with their own GILs. (See :ref:`whatsnew312-pep684` for more info.) " -"(Contributed by Eric Snow in :gh:`104110`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:1998 -msgid "" -"In the limited C API version 3.12, :c:func:`Py_INCREF` and " -":c:func:`Py_DECREF` functions are now implemented as opaque function calls " -"to hide implementation details. (Contributed by Victor Stinner in " -":gh:`105387`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2006 -msgid "" -"Legacy Unicode APIs based on ``Py_UNICODE*`` representation has been " -"removed. Please migrate to APIs based on UTF-8 or ``wchar_t*``." -msgstr "" - -#: ../../whatsnew/3.12.rst:2009 -msgid "" -"Argument parsing functions like :c:func:`PyArg_ParseTuple` doesn't support " -"``Py_UNICODE*`` based format (e.g. ``u``, ``Z``) anymore. Please migrate to " -"other formats for Unicode like ``s``, ``z``, ``es``, and ``U``." -msgstr "" - -#: ../../whatsnew/3.12.rst:2013 -msgid "" -"``tp_weaklist`` for all static builtin types is always ``NULL``. This is an " -"internal-only field on ``PyTypeObject`` but we're pointing out the change in" -" case someone happens to be accessing the field directly anyway. To avoid " -"breakage, consider using the existing public C-API instead, or, if " -"necessary, the (internal-only) ``_PyObject_GET_WEAKREFS_LISTPTR()`` macro." -msgstr "" - -#: ../../whatsnew/3.12.rst:2020 -msgid "" -"This internal-only :c:member:`PyTypeObject.tp_subclasses` may now not be a " -"valid object pointer. Its type was changed to :c:expr:`void *` to reflect " -"this. We mention this in case someone happens to be accessing the internal-" -"only field directly." -msgstr "" - -#: ../../whatsnew/3.12.rst:2025 -msgid "" -"To get a list of subclasses, call the Python method " -":py:meth:`~type.__subclasses__` (using :c:func:`PyObject_CallMethod`, for " -"example)." -msgstr "" - -#: ../../whatsnew/3.12.rst:2029 -msgid "" -"Add support of more formatting options (left aligning, octals, uppercase " -"hexadecimals, :c:type:`intmax_t`, :c:type:`ptrdiff_t`, :c:type:`wchar_t` C " -"strings, variable width and precision) in :c:func:`PyUnicode_FromFormat` and" -" :c:func:`PyUnicode_FromFormatV`. (Contributed by Serhiy Storchaka in " -":gh:`98836`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2035 -msgid "" -"An unrecognized format character in :c:func:`PyUnicode_FromFormat` and " -":c:func:`PyUnicode_FromFormatV` now sets a :exc:`SystemError`. In previous " -"versions it caused all the rest of the format string to be copied as-is to " -"the result string, and any extra arguments discarded. (Contributed by Serhiy" -" Storchaka in :gh:`95781`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2041 -msgid "" -"Fix wrong sign placement in :c:func:`PyUnicode_FromFormat` and " -":c:func:`PyUnicode_FromFormatV`. (Contributed by Philip Georgi in " -":gh:`95504`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2045 -msgid "" -"Extension classes wanting to add a :attr:`~object.__dict__` or weak " -"reference slot should use :c:macro:`Py_TPFLAGS_MANAGED_DICT` and " -":c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` instead of ``tp_dictoffset`` and " -"``tp_weaklistoffset``, respectively. The use of ``tp_dictoffset`` and " -"``tp_weaklistoffset`` is still supported, but does not fully support " -"multiple inheritance (:gh:`95589`), and performance may be worse. Classes " -"declaring :c:macro:`Py_TPFLAGS_MANAGED_DICT` must call " -":c:func:`!_PyObject_VisitManagedDict` and " -":c:func:`!_PyObject_ClearManagedDict` to traverse and clear their instance's" -" dictionaries. To clear weakrefs, call :c:func:`PyObject_ClearWeakRefs`, as " -"before." -msgstr "" - -#: ../../whatsnew/3.12.rst:2057 -msgid "" -"The :c:func:`PyUnicode_FSDecoder` function no longer accepts bytes-like " -"paths, like :class:`bytearray` and :class:`memoryview` types: only the exact" -" :class:`bytes` type is accepted for bytes strings. (Contributed by Victor " -"Stinner in :gh:`98393`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2062 -msgid "" -"The :c:macro:`Py_CLEAR`, :c:macro:`Py_SETREF` and :c:macro:`Py_XSETREF` " -"macros now only evaluate their arguments once. If an argument has side " -"effects, these side effects are no longer duplicated. (Contributed by Victor" -" Stinner in :gh:`98724`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2067 -msgid "" -"The interpreter's error indicator is now always normalized. This means that " -":c:func:`PyErr_SetObject`, :c:func:`PyErr_SetString` and the other functions" -" that set the error indicator now normalize the exception before storing it." -" (Contributed by Mark Shannon in :gh:`101578`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2072 -msgid "" -"``_Py_RefTotal`` is no longer authoritative and only kept around for ABI " -"compatibility. Note that it is an internal global and only available on " -"debug builds. If you happen to be using it then you'll need to start using " -"``_Py_GetGlobalRefTotal()``." -msgstr "" - -#: ../../whatsnew/3.12.rst:2077 -msgid "" -"The following functions now select an appropriate metaclass for the newly " -"created type:" -msgstr "" - -#: ../../whatsnew/3.12.rst:2080 -msgid ":c:func:`PyType_FromSpec`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2081 -msgid ":c:func:`PyType_FromSpecWithBases`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2082 -msgid ":c:func:`PyType_FromModuleAndSpec`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2084 -msgid "" -"Creating classes whose metaclass overrides :c:member:`~PyTypeObject.tp_new` " -"is deprecated, and in Python 3.14+ it will be disallowed. Note that these " -"functions ignore ``tp_new`` of the metaclass, possibly allowing incomplete " -"initialization." -msgstr "" - -#: ../../whatsnew/3.12.rst:2089 -msgid "" -"Note that :c:func:`PyType_FromMetaclass` (added in Python 3.12) already " -"disallows creating classes whose metaclass overrides ``tp_new`` " -"(:meth:`~object.__new__` in Python)." -msgstr "" - -#: ../../whatsnew/3.12.rst:2093 -msgid "" -"Since ``tp_new`` overrides almost everything ``PyType_From*`` functions do, " -"the two are incompatible with each other. The existing behavior -- ignoring " -"the metaclass for several steps of type creation -- is unsafe in general, " -"since (meta)classes assume that ``tp_new`` was called. There is no simple " -"general workaround. One of the following may work for you:" -msgstr "" - -#: ../../whatsnew/3.12.rst:2100 -msgid "If you control the metaclass, avoid using ``tp_new`` in it:" -msgstr "" - -#: ../../whatsnew/3.12.rst:2102 -msgid "" -"If initialization can be skipped, it can be done in " -":c:member:`~PyTypeObject.tp_init` instead." -msgstr "" - -#: ../../whatsnew/3.12.rst:2104 -msgid "" -"If the metaclass doesn't need to be instantiated from Python, set its " -"``tp_new`` to ``NULL`` using the " -":c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag. This makes it acceptable " -"for ``PyType_From*`` functions." -msgstr "" - -#: ../../whatsnew/3.12.rst:2109 -msgid "" -"Avoid ``PyType_From*`` functions: if you don't need C-specific features " -"(slots or setting the instance size), create types by :ref:`calling ` " -"the metaclass." -msgstr "" - -#: ../../whatsnew/3.12.rst:2113 -msgid "" -"If you *know* the ``tp_new`` can be skipped safely, filter the deprecation " -"warning out using :func:`warnings.catch_warnings` from Python." -msgstr "" - -#: ../../whatsnew/3.12.rst:2116 -msgid "" -":c:var:`PyOS_InputHook` and :c:var:`PyOS_ReadlineFunctionPointer` are no " -"longer called in :ref:`subinterpreters `. This is " -"because clients generally rely on process-wide global state (since these " -"callbacks have no way of recovering extension module state)." -msgstr "" - -#: ../../whatsnew/3.12.rst:2121 -msgid "" -"This also avoids situations where extensions may find themselves running in " -"a subinterpreter that they don't support (or haven't yet been loaded in). " -"See :gh:`104668` for more info." -msgstr "" - -#: ../../whatsnew/3.12.rst:2125 -msgid "" -":c:struct:`PyLongObject` has had its internals changed for better " -"performance. Although the internals of :c:struct:`PyLongObject` are private," -" they are used by some extension modules. The internal fields should no " -"longer be accessed directly, instead the API functions beginning " -"``PyLong_...`` should be used instead. Two new *unstable* API functions are " -"provided for efficient access to the value of :c:struct:`PyLongObject`\\s " -"which fit into a single machine word:" -msgstr "" - -#: ../../whatsnew/3.12.rst:2133 -msgid ":c:func:`PyUnstable_Long_IsCompact`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2134 -msgid ":c:func:`PyUnstable_Long_CompactValue`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2136 -msgid "" -"Custom allocators, set via :c:func:`PyMem_SetAllocator`, are now required to" -" be thread-safe, regardless of memory domain. Allocators that don't have " -"their own state, including \"hooks\", are not affected. If your custom " -"allocator is not already thread-safe and you need guidance then please " -"create a new GitHub issue and CC ``@ericsnowcurrently``." -msgstr "" - -#: ../../whatsnew/3.12.rst:2146 -msgid "" -"In accordance with :pep:`699`, the ``ma_version_tag`` field in " -":c:type:`PyDictObject` is deprecated for extension modules. Accessing this " -"field will generate a compiler warning at compile time. This field will be " -"removed in Python 3.14. (Contributed by Ramvikrams and Kumar Aditya in " -":gh:`101193`. PEP by Ken Jin.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2151 -msgid "Deprecate global configuration variable:" -msgstr "" - -#: ../../whatsnew/3.12.rst:2153 -msgid ":c:var:`Py_DebugFlag`: use :c:member:`PyConfig.parser_debug`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2154 -msgid ":c:var:`Py_VerboseFlag`: use :c:member:`PyConfig.verbose`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2155 -msgid ":c:var:`Py_QuietFlag`: use :c:member:`PyConfig.quiet`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2156 -msgid ":c:var:`Py_InteractiveFlag`: use :c:member:`PyConfig.interactive`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2157 -msgid ":c:var:`Py_InspectFlag`: use :c:member:`PyConfig.inspect`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2158 -msgid ":c:var:`Py_OptimizeFlag`: use :c:member:`PyConfig.optimization_level`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2159 -msgid ":c:var:`Py_NoSiteFlag`: use :c:member:`PyConfig.site_import`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2160 -msgid ":c:var:`Py_BytesWarningFlag`: use :c:member:`PyConfig.bytes_warning`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2161 -msgid ":c:var:`Py_FrozenFlag`: use :c:member:`PyConfig.pathconfig_warnings`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2162 -msgid "" -":c:var:`Py_IgnoreEnvironmentFlag`: use :c:member:`PyConfig.use_environment`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2163 -msgid "" -":c:var:`Py_DontWriteBytecodeFlag`: use :c:member:`PyConfig.write_bytecode`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2164 -msgid "" -":c:var:`Py_NoUserSiteDirectory`: use " -":c:member:`PyConfig.user_site_directory`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2165 -msgid "" -":c:var:`Py_UnbufferedStdioFlag`: use :c:member:`PyConfig.buffered_stdio`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2166 -msgid "" -":c:var:`Py_HashRandomizationFlag`: use :c:member:`PyConfig.use_hash_seed` " -"and :c:member:`PyConfig.hash_seed`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2168 -msgid ":c:var:`Py_IsolatedFlag`: use :c:member:`PyConfig.isolated`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2169 -msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: use " -":c:member:`PyPreConfig.legacy_windows_fs_encoding`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2170 -msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: use " -":c:member:`PyConfig.legacy_windows_stdio`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2171 -msgid "" -":c:var:`!Py_FileSystemDefaultEncoding`: use " -":c:member:`PyConfig.filesystem_encoding`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2172 -msgid "" -":c:var:`!Py_HasFileSystemDefaultEncoding`: use " -":c:member:`PyConfig.filesystem_encoding`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2173 -msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: use " -":c:member:`PyConfig.filesystem_errors`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2174 -msgid "" -":c:var:`!Py_UTF8Mode`: use :c:member:`PyPreConfig.utf8_mode` (see " -":c:func:`Py_PreInitialize`)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2176 -msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with " -":c:type:`PyConfig` instead. (Contributed by Victor Stinner in :gh:`77782`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2180 -msgid "" -"Creating :c:data:`immutable types ` with mutable " -"bases is deprecated and will be disabled in Python 3.14. (:gh:`95388`)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2183 -msgid "" -"The :file:`structmember.h` header is deprecated, though it continues to be " -"available and there are no plans to remove it." -msgstr "" - -#: ../../whatsnew/3.12.rst:2186 -msgid "" -"Its contents are now available just by including :file:`Python.h`, with a " -"``Py`` prefix added if it was missing:" -msgstr "" - -#: ../../whatsnew/3.12.rst:2189 -msgid "" -":c:struct:`PyMemberDef`, :c:func:`PyMember_GetOne` and " -":c:func:`PyMember_SetOne`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2191 -msgid "" -"Type macros like :c:macro:`Py_T_INT`, :c:macro:`Py_T_DOUBLE`, etc. " -"(previously ``T_INT``, ``T_DOUBLE``, etc.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2193 -msgid "" -"The flags :c:macro:`Py_READONLY` (previously ``READONLY``) and " -":c:macro:`Py_AUDIT_READ` (previously all uppercase)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2196 -msgid "Several items are not exposed from :file:`Python.h`:" -msgstr "" - -#: ../../whatsnew/3.12.rst:2198 -msgid ":c:macro:`T_OBJECT` (use :c:macro:`Py_T_OBJECT_EX`)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2199 -msgid ":c:macro:`T_NONE` (previously undocumented, and pretty quirky)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2200 -msgid "The macro ``WRITE_RESTRICTED`` which does nothing." -msgstr "" - -#: ../../whatsnew/3.12.rst:2201 -msgid "" -"The macros ``RESTRICTED`` and ``READ_RESTRICTED``, equivalents of " -":c:macro:`Py_AUDIT_READ`." -msgstr "" - -#: ../../whatsnew/3.12.rst:2203 -msgid "" -"In some configurations, ```` is not included from " -":file:`Python.h`. It should be included manually when using ``offsetof()``." -msgstr "" - -#: ../../whatsnew/3.12.rst:2206 -msgid "" -"The deprecated header continues to provide its original contents under the " -"original names. Your old code can stay unchanged, unless the extra include " -"and non-namespaced macros bother you greatly." -msgstr "" - -#: ../../whatsnew/3.12.rst:2211 -msgid "" -"(Contributed in :gh:`47146` by Petr Viktorin, based on earlier work by " -"Alexander Belopolsky and Matthias Braun.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2214 -msgid "" -":c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` are deprecated. Use " -":c:func:`PyErr_GetRaisedException` and :c:func:`PyErr_SetRaisedException` " -"instead. (Contributed by Mark Shannon in :gh:`101578`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2219 -msgid "" -":c:func:`!PyErr_Display` is deprecated. Use :c:func:`PyErr_DisplayException`" -" instead. (Contributed by Irit Katriel in :gh:`102755`)." -msgstr "" - -#: ../../whatsnew/3.12.rst:2222 -msgid "" -"``_PyErr_ChainExceptions`` is deprecated. Use ``_PyErr_ChainExceptions1`` " -"instead. (Contributed by Irit Katriel in :gh:`102192`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2225 -msgid "" -"Using :c:func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` or " -":c:func:`PyType_FromModuleAndSpec` to create a class whose metaclass " -"overrides :c:member:`~PyTypeObject.tp_new` is deprecated. Call the metaclass" -" instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.14.rst:4 -msgid "" -"The ``ma_version_tag`` field in :c:type:`PyDictObject` for extension modules" -" (:pep:`699`; :gh:`101193`)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.14.rst:7 -msgid "" -"Creating :c:data:`immutable types ` with mutable " -"bases (:gh:`95388`)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:4 -msgid "The bundled copy of ``libmpdecimal``." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:5 -msgid "" -"The :c:func:`PyImport_ImportModuleNoBlock`: Use " -":c:func:`PyImport_ImportModule` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:7 -msgid "" -":c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`: Use " -":c:func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project " -"`__ can be used to get " -":c:func:`PyWeakref_GetRef` on Python 3.12 and older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:11 -msgid "" -":c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: Use " -":c:type:`wchar_t` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:13 -msgid "" -":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:15 -msgid "" -":c:func:`!PyUnicode_AsDecodedUnicode`: Use :c:func:`PyCodec_Decode` instead;" -" Note that some codecs (for example, \"base64\") may return a type other " -"than :class:`str`, such as :class:`bytes`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:18 -msgid "" -":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:20 -msgid "" -":c:func:`!PyUnicode_AsEncodedUnicode`: Use :c:func:`PyCodec_Encode` instead;" -" Note that some codecs (for example, \"base64\") may return a type other " -"than :class:`bytes`, such as :class:`str`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:23 -msgid "Python initialization functions, deprecated in Python 3.13:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:25 -msgid "" -":c:func:`Py_GetPath`: Use :c:func:`PyConfig_Get(\"module_search_paths\") " -"` (:data:`sys.path`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:28 -msgid "" -":c:func:`Py_GetPrefix`: Use :c:func:`PyConfig_Get(\"base_prefix\") " -"` (:data:`sys.base_prefix`) instead. Use " -":c:func:`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) if " -":ref:`virtual environments ` need to be handled." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:33 -msgid "" -":c:func:`Py_GetExecPrefix`: Use :c:func:`PyConfig_Get(\"base_exec_prefix\") " -"` (:data:`sys.base_exec_prefix`) instead. Use " -":c:func:`PyConfig_Get(\"exec_prefix\") ` " -"(:data:`sys.exec_prefix`) if :ref:`virtual environments ` need to " -"be handled." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:39 -msgid "" -":c:func:`Py_GetProgramFullPath`: Use :c:func:`PyConfig_Get(\"executable\") " -"` (:data:`sys.executable`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:42 -msgid "" -":c:func:`Py_GetProgramName`: Use :c:func:`PyConfig_Get(\"executable\") " -"` (:data:`sys.executable`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:45 -msgid "" -":c:func:`Py_GetPythonHome`: Use :c:func:`PyConfig_Get(\"home\") " -"` or the :envvar:`PYTHONHOME` environment variable instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:49 -msgid "" -"The `pythoncapi-compat project `__ can be used to get :c:func:`PyConfig_Get` on Python 3.13 and " -"older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:53 -msgid "" -"Functions to configure Python's initialization, deprecated in Python 3.11:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:55 -msgid ":c:func:`!PySys_SetArgvEx()`: Set :c:member:`PyConfig.argv` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:57 -msgid ":c:func:`!PySys_SetArgv()`: Set :c:member:`PyConfig.argv` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:59 -msgid "" -":c:func:`!Py_SetProgramName()`: Set :c:member:`PyConfig.program_name` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:61 -msgid ":c:func:`!Py_SetPythonHome()`: Set :c:member:`PyConfig.home` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:63 -msgid "" -":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and " -":data:`!warnings.filters` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:66 -msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with " -":c:type:`PyConfig` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:69 -msgid "Global configuration variables:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:71 -msgid "" -":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` or " -":c:func:`PyConfig_Get(\"parser_debug\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:74 -msgid "" -":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` or " -":c:func:`PyConfig_Get(\"verbose\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:77 -msgid "" -":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` or " -":c:func:`PyConfig_Get(\"quiet\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:80 -msgid "" -":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` or " -":c:func:`PyConfig_Get(\"interactive\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:83 -msgid "" -":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` or " -":c:func:`PyConfig_Get(\"inspect\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:86 -msgid "" -":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` or " -":c:func:`PyConfig_Get(\"optimization_level\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:89 -msgid "" -":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` or " -":c:func:`PyConfig_Get(\"site_import\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:92 -msgid "" -":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` or " -":c:func:`PyConfig_Get(\"bytes_warning\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:95 -msgid "" -":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` or " -":c:func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:98 -msgid "" -":c:var:`Py_IgnoreEnvironmentFlag`: Use :c:member:`PyConfig.use_environment` " -"or :c:func:`PyConfig_Get(\"use_environment\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:101 -msgid "" -":c:var:`Py_DontWriteBytecodeFlag`: Use :c:member:`PyConfig.write_bytecode` " -"or :c:func:`PyConfig_Get(\"write_bytecode\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:104 -msgid "" -":c:var:`Py_NoUserSiteDirectory`: Use " -":c:member:`PyConfig.user_site_directory` or " -":c:func:`PyConfig_Get(\"user_site_directory\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:107 -msgid "" -":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` or " -":c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:110 -msgid "" -":c:var:`Py_HashRandomizationFlag`: Use :c:member:`PyConfig.use_hash_seed` " -"and :c:member:`PyConfig.hash_seed` or :c:func:`PyConfig_Get(\"hash_seed\") " -"` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:114 -msgid "" -":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` or " -":c:func:`PyConfig_Get(\"isolated\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:117 -msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use " -":c:member:`PyPreConfig.legacy_windows_fs_encoding` or " -":c:func:`PyConfig_Get(\"legacy_windows_fs_encoding\") ` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:120 -msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: Use " -":c:member:`PyConfig.legacy_windows_stdio` or " -":c:func:`PyConfig_Get(\"legacy_windows_stdio\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:123 -msgid "" -":c:var:`!Py_FileSystemDefaultEncoding`, " -":c:var:`!Py_HasFileSystemDefaultEncoding`: Use " -":c:member:`PyConfig.filesystem_encoding` or " -":c:func:`PyConfig_Get(\"filesystem_encoding\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:126 -msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use " -":c:member:`PyConfig.filesystem_errors` or " -":c:func:`PyConfig_Get(\"filesystem_errors\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:129 -msgid "" -":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` or " -":c:func:`PyConfig_Get(\"utf8_mode\") ` instead. (see " -":c:func:`Py_PreInitialize`)" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:134 -msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with " -":c:type:`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can be " -"used to get these options at runtime." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:4 -msgid "" -"The following APIs are deprecated and will be removed, although there is " -"currently no date scheduled for their removal." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:7 -msgid ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: Unneeded since Python 3.8." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:9 -msgid ":c:func:`PyErr_Fetch`: Use :c:func:`PyErr_GetRaisedException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:11 -msgid "" -":c:func:`PyErr_NormalizeException`: Use :c:func:`PyErr_GetRaisedException` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:13 -msgid "" -":c:func:`PyErr_Restore`: Use :c:func:`PyErr_SetRaisedException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:15 -msgid "" -":c:func:`PyModule_GetFilename`: Use :c:func:`PyModule_GetFilenameObject` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:17 -msgid ":c:func:`PyOS_AfterFork`: Use :c:func:`PyOS_AfterFork_Child` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:19 -msgid "" -":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and " -":c:func:`PySlice_AdjustIndices` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:21 -msgid ":c:func:`PyUnicode_READY`: Unneeded since Python 3.12" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:23 -msgid "" -":c:func:`!PyErr_Display`: Use :c:func:`PyErr_DisplayException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:25 -msgid "" -":c:func:`!_PyErr_ChainExceptions`: Use :c:func:`!_PyErr_ChainExceptions1` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:27 -msgid "" -":c:member:`!PyBytesObject.ob_shash` member: call :c:func:`PyObject_Hash` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:29 -msgid "Thread Local Storage (TLS) API:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:31 -msgid "" -":c:func:`PyThread_create_key`: Use :c:func:`PyThread_tss_alloc` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:33 -msgid "" -":c:func:`PyThread_delete_key`: Use :c:func:`PyThread_tss_free` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:35 -msgid "" -":c:func:`PyThread_set_key_value`: Use :c:func:`PyThread_tss_set` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:37 -msgid "" -":c:func:`PyThread_get_key_value`: Use :c:func:`PyThread_tss_get` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:39 -msgid "" -":c:func:`PyThread_delete_key_value`: Use :c:func:`PyThread_tss_delete` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:41 -msgid ":c:func:`PyThread_ReInitTLS`: Unneeded since Python 3.7." -msgstr "" - -#: ../../whatsnew/3.12.rst:2241 -msgid "" -"Remove the :file:`token.h` header file. There was never any public tokenizer" -" C API. The :file:`token.h` header file was only designed to be used by " -"Python internals. (Contributed by Victor Stinner in :gh:`92651`.)" -msgstr "" - -#: ../../whatsnew/3.12.rst:2246 -msgid "Legacy Unicode APIs have been removed. See :pep:`623` for detail." -msgstr "" - -#: ../../whatsnew/3.12.rst:2248 -msgid ":c:macro:`!PyUnicode_WCHAR_KIND`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2249 -msgid ":c:func:`!PyUnicode_AS_UNICODE`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2250 -msgid ":c:func:`!PyUnicode_AsUnicode`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2251 -msgid ":c:func:`!PyUnicode_AsUnicodeAndSize`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2252 -msgid ":c:func:`!PyUnicode_AS_DATA`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2253 -msgid ":c:func:`!PyUnicode_FromUnicode`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2254 -msgid ":c:func:`!PyUnicode_GET_SIZE`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2255 -msgid ":c:func:`!PyUnicode_GetSize`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2256 -msgid ":c:func:`!PyUnicode_GET_DATA_SIZE`" -msgstr "" - -#: ../../whatsnew/3.12.rst:2258 -msgid "" -"Remove the ``PyUnicode_InternImmortal()`` function macro. (Contributed by " -"Victor Stinner in :gh:`85858`.)" -msgstr "" diff --git a/python-newest.whatsnew--3_13/id.po b/python-newest.whatsnew--3_13/id.po deleted file mode 100644 index ad5411e..0000000 --- a/python-newest.whatsnew--3_13/id.po +++ /dev/null @@ -1,5685 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2024 -# Elmo , 2024 -# Rafael Fontenelle , 2024 -# oon arfiandwi , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 14:21+0000\n" -"PO-Revision-Date: 2024-05-11 01:09+0000\n" -"Last-Translator: oon arfiandwi , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.13.rst:4 -msgid "What's New In Python 3.13" -msgstr "" - -#: ../../whatsnew/3.13.rst:0 -msgid "Editors" -msgstr "Editor" - -#: ../../whatsnew/3.13.rst:6 -msgid "Adam Turner and Thomas Wouters" -msgstr "" - -#: ../../whatsnew/3.13.rst:48 -msgid "" -"This article explains the new features in Python 3.13, compared to 3.12. " -"Python 3.13 was released on October 7, 2024. For full details, see the " -":ref:`changelog `." -msgstr "" - -#: ../../whatsnew/3.13.rst:54 -msgid ":pep:`719` -- Python 3.13 Release Schedule" -msgstr "" - -#: ../../whatsnew/3.13.rst:58 -msgid "Summary -- Release Highlights" -msgstr "Ringkasan -- Sorotan Rilis" - -#: ../../whatsnew/3.13.rst:63 -msgid "" -"Python 3.13 is the latest stable release of the Python programming language," -" with a mix of changes to the language, the implementation and the standard " -"library. The biggest changes include a new `interactive interpreter " -"`_, experimental support for " -"running in a `free-threaded mode `_ " -"(:pep:`703`), and a `Just-In-Time compiler `_ " -"(:pep:`744`)." -msgstr "" - -#: ../../whatsnew/3.13.rst:72 -msgid "" -"Error messages continue to improve, with tracebacks now highlighted in color" -" by default. The :func:`locals` builtin now has :ref:`defined semantics " -"` for changing the returned mapping, and type " -"parameters now support default values." -msgstr "" - -#: ../../whatsnew/3.13.rst:77 -msgid "" -"The library changes contain removal of deprecated APIs and modules, as well " -"as the usual improvements in user-friendliness and correctness. Several " -"legacy standard library modules have now `been removed " -"`_ following their deprecation in Python 3.11 " -"(:pep:`594`)." -msgstr "" - -#: ../../whatsnew/3.13.rst:82 -msgid "" -"This article doesn't attempt to provide a complete specification of all new " -"features, but instead gives a convenient overview. For full details refer to" -" the documentation, such as the :ref:`Library Reference ` and" -" :ref:`Language Reference `. To understand the complete " -"implementation and design rationale for a change, refer to the PEP for a " -"particular new feature; but note that PEPs usually are not kept up-to-date " -"once a feature has been fully implemented. See `Porting to Python 3.13`_ for" -" guidance on upgrading from earlier versions of Python." -msgstr "" - -#: ../../whatsnew/3.13.rst:98 -msgid "Interpreter improvements:" -msgstr "Peningkatan Interpreter:" - -#: ../../whatsnew/3.13.rst:100 -msgid "" -"A greatly improved :ref:`interactive interpreter ` and :ref:`improved error messages " -"`." -msgstr "" - -#: ../../whatsnew/3.13.rst:103 -msgid "" -":pep:`667`: The :func:`locals` builtin now has :ref:`defined semantics " -"` when mutating the returned mapping. Python " -"debuggers and similar tools may now more reliably update local variables in " -"optimized scopes even during concurrent code execution." -msgstr "" - -#: ../../whatsnew/3.13.rst:108 -msgid "" -":pep:`703`: CPython 3.13 has experimental support for running with the " -":term:`global interpreter lock` disabled. See :ref:`Free-threaded CPython " -"` for more details." -msgstr "" - -#: ../../whatsnew/3.13.rst:111 -msgid "" -":pep:`744`: A basic :ref:`JIT compiler ` was " -"added. It is currently disabled by default (though we may turn it on later)." -" Performance improvements are modest -- we expect to improve this over the " -"next few releases." -msgstr "" - -#: ../../whatsnew/3.13.rst:115 -msgid "" -"Color support in the new :ref:`interactive interpreter `, as well as in :ref:`tracebacks " -"` and :ref:`doctest " -"` output. This can be disabled through the " -":envvar:`PYTHON_COLORS` and |NO_COLOR|_ environment variables." -msgstr "" - -#: ../../whatsnew/3.13.rst:122 -msgid "Python data model improvements:" -msgstr "Perbaikan model data Python:" - -#: ../../whatsnew/3.13.rst:124 -msgid "" -":attr:`~type.__static_attributes__` stores the names of attributes accessed " -"through ``self.X`` in any function in a class body." -msgstr "" - -#: ../../whatsnew/3.13.rst:126 -msgid "" -":attr:`~type.__firstlineno__` records the first line number of a class " -"definition." -msgstr "" - -#: ../../whatsnew/3.13.rst:129 -msgid "Significant improvements in the standard library:" -msgstr "Peningkatan yang signifikan dalam pustaka standar:" - -#: ../../whatsnew/3.13.rst:131 -msgid "" -"Add a new :exc:`PythonFinalizationError` exception, raised when an operation" -" is blocked during :term:`finalization `." -msgstr "" - -#: ../../whatsnew/3.13.rst:133 -msgid "" -"The :mod:`argparse` module now supports deprecating command-line options, " -"positional arguments, and subcommands." -msgstr "" - -#: ../../whatsnew/3.13.rst:135 -msgid "" -"The new functions :func:`base64.z85encode` and :func:`base64.z85decode` " -"support encoding and decoding `Z85 data`_." -msgstr "" - -#: ../../whatsnew/3.13.rst:137 -msgid "" -"The :mod:`copy` module now has a :func:`copy.replace` function, with support" -" for many builtin types and any class defining the " -":func:`~object.__replace__` method." -msgstr "" - -#: ../../whatsnew/3.13.rst:140 -msgid "" -"The new :mod:`dbm.sqlite3` module is now the default :mod:`dbm` backend." -msgstr "" - -#: ../../whatsnew/3.13.rst:141 -msgid "" -"The :mod:`os` module has a :ref:`suite of new functions ` for " -"working with Linux's timer notification file descriptors." -msgstr "" - -#: ../../whatsnew/3.13.rst:143 -msgid "" -"The :mod:`random` module now has a :ref:`command-line interface `." -msgstr "" - -#: ../../whatsnew/3.13.rst:145 -msgid "Security improvements:" -msgstr "" - -#: ../../whatsnew/3.13.rst:147 -msgid "" -":func:`ssl.create_default_context` sets " -":data:`ssl.VERIFY_X509_PARTIAL_CHAIN` and :data:`ssl.VERIFY_X509_STRICT` as " -"default flags." -msgstr "" - -#: ../../whatsnew/3.13.rst:150 -msgid "C API improvements:" -msgstr "Peningkatan API C:" - -#: ../../whatsnew/3.13.rst:152 -msgid "" -"The :c:data:`Py_mod_gil` slot is now used to indicate that an extension " -"module supports running with the :term:`GIL` disabled." -msgstr "" - -#: ../../whatsnew/3.13.rst:154 -msgid "" -"The :doc:`PyTime C API ` has been added, providing access to " -"system clocks." -msgstr "" - -#: ../../whatsnew/3.13.rst:156 -msgid "" -":c:type:`PyMutex` is a new lightweight mutex that occupies a single byte." -msgstr "" - -#: ../../whatsnew/3.13.rst:157 -msgid "" -"There is a new :ref:`suite of functions ` for generating " -":pep:`669` monitoring events in the C API." -msgstr "" - -#: ../../whatsnew/3.13.rst:160 -msgid "New typing features:" -msgstr "" - -#: ../../whatsnew/3.13.rst:162 -msgid "" -":pep:`696`: Type parameters (:data:`typing.TypeVar`, " -":data:`typing.ParamSpec`, and :data:`typing.TypeVarTuple`) now support " -"defaults." -msgstr "" - -#: ../../whatsnew/3.13.rst:164 -msgid "" -":pep:`702`: The new :func:`warnings.deprecated` decorator adds support for " -"marking deprecations in the type system and at runtime." -msgstr "" - -#: ../../whatsnew/3.13.rst:166 -msgid "" -":pep:`705`: :data:`typing.ReadOnly` can be used to mark an item of a " -":class:`typing.TypedDict` as read-only for type checkers." -msgstr "" - -#: ../../whatsnew/3.13.rst:168 -msgid "" -":pep:`742`: :data:`typing.TypeIs` provides more intuitive type narrowing " -"behavior, as an alternative to :data:`typing.TypeGuard`." -msgstr "" - -#: ../../whatsnew/3.13.rst:171 -msgid "Platform support:" -msgstr "" - -#: ../../whatsnew/3.13.rst:173 -msgid "" -":pep:`730`: Apple's iOS is now an :ref:`officially supported platform " -"`, at :pep:`tier 3 <11#tier-3>`." -msgstr "" - -#: ../../whatsnew/3.13.rst:175 -msgid "" -":pep:`738`: Android is now an :ref:`officially supported platform " -"`, at :pep:`tier 3 <11#tier-3>`." -msgstr "" - -#: ../../whatsnew/3.13.rst:177 -msgid "" -"``wasm32-wasi`` is now supported as a :pep:`tier 2 <11#tier-2>` platform." -msgstr "" - -#: ../../whatsnew/3.13.rst:178 -msgid "``wasm32-emscripten`` is no longer an officially supported platform." -msgstr "" - -#: ../../whatsnew/3.13.rst:180 -msgid "Important removals:" -msgstr "" - -#: ../../whatsnew/3.13.rst:182 -msgid "" -":ref:`PEP 594 `: The remaining 19 \"dead batteries\" " -"(legacy stdlib modules) have been removed from the standard library: " -":mod:`!aifc`, :mod:`!audioop`, :mod:`!cgi`, :mod:`!cgitb`, :mod:`!chunk`, " -":mod:`!crypt`, :mod:`!imghdr`, :mod:`!mailcap`, :mod:`!msilib`, :mod:`!nis`," -" :mod:`!nntplib`, :mod:`!ossaudiodev`, :mod:`!pipes`, :mod:`!sndhdr`, " -":mod:`!spwd`, :mod:`!sunau`, :mod:`!telnetlib`, :mod:`!uu` and " -":mod:`!xdrlib`." -msgstr "" - -#: ../../whatsnew/3.13.rst:188 -msgid "" -"Remove the :program:`2to3` tool and :mod:`!lib2to3` module (deprecated in " -"Python 3.11)." -msgstr "" - -#: ../../whatsnew/3.13.rst:190 -msgid "Remove the :mod:`!tkinter.tix` module (deprecated in Python 3.6)." -msgstr "" - -#: ../../whatsnew/3.13.rst:191 -msgid "Remove the :func:`!locale.resetlocale` function." -msgstr "" - -#: ../../whatsnew/3.13.rst:192 -msgid "Remove the :mod:`!typing.io` and :mod:`!typing.re` namespaces." -msgstr "" - -#: ../../whatsnew/3.13.rst:193 -msgid "Remove chained :class:`classmethod` descriptors." -msgstr "" - -#: ../../whatsnew/3.13.rst:195 -msgid "Release schedule changes:" -msgstr "" - -#: ../../whatsnew/3.13.rst:197 -msgid "" -":pep:`602` (\"Annual Release Cycle for Python\") has been updated to extend " -"the full support ('bugfix') period for new releases to two years. This " -"updated policy means that:" -msgstr "" - -#: ../../whatsnew/3.13.rst:201 -msgid "" -"Python 3.9--3.12 have one and a half years of full support, followed by " -"three and a half years of security fixes." -msgstr "" - -#: ../../whatsnew/3.13.rst:203 -msgid "" -"Python 3.13 and later have two years of full support, followed by three " -"years of security fixes." -msgstr "" - -#: ../../whatsnew/3.13.rst:208 ../../whatsnew/3.13.rst:2046 -msgid "New Features" -msgstr "Fitur-fitur Baru" - -#: ../../whatsnew/3.13.rst:214 -msgid "A better interactive interpreter" -msgstr "" - -#: ../../whatsnew/3.13.rst:216 -msgid "" -"Python now uses a new :term:`interactive` shell by default, based on code " -"from the `PyPy project`_. When the user starts the :term:`REPL` from an " -"interactive terminal, the following new features are now supported:" -msgstr "" - -#: ../../whatsnew/3.13.rst:221 -msgid "Multiline editing with history preservation." -msgstr "" - -#: ../../whatsnew/3.13.rst:222 -msgid "" -"Direct support for REPL-specific commands like :kbd:`help`, :kbd:`exit`, and" -" :kbd:`quit`, without the need to call them as functions." -msgstr "" - -#: ../../whatsnew/3.13.rst:224 -msgid "" -"Prompts and tracebacks with :ref:`color enabled by default `." -msgstr "" - -#: ../../whatsnew/3.13.rst:226 -msgid "" -"Interactive help browsing using :kbd:`F1` with a separate command history." -msgstr "" - -#: ../../whatsnew/3.13.rst:228 -msgid "" -"History browsing using :kbd:`F2` that skips output as well as the " -":term:`>>>` and :term:`...` prompts." -msgstr "" - -#: ../../whatsnew/3.13.rst:230 -msgid "" -"\"Paste mode\" with :kbd:`F3` that makes pasting larger blocks of code " -"easier (press :kbd:`F3` again to return to the regular prompt)." -msgstr "" - -#: ../../whatsnew/3.13.rst:233 -msgid "" -"To disable the new interactive shell, set the :envvar:`PYTHON_BASIC_REPL` " -"environment variable. For more on interactive mode, see :ref:`tut-interac`." -msgstr "" - -#: ../../whatsnew/3.13.rst:237 -msgid "" -"(Contributed by Pablo Galindo Salgado, Łukasz Langa, and Lysandros Nikolaou " -"in :gh:`111201` based on code from the PyPy project. Windows support " -"contributed by Dino Viehland and Anthony Shaw.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:247 -msgid "Improved error messages" -msgstr "" - -#: ../../whatsnew/3.13.rst:249 -msgid "" -"The interpreter now uses color by default when displaying tracebacks in the " -"terminal. This feature :ref:`can be controlled `" -" via the new :envvar:`PYTHON_COLORS` environment variable as well as the " -"canonical |NO_COLOR|_ and |FORCE_COLOR|_ environment variables. (Contributed" -" by Pablo Galindo Salgado in :gh:`112730`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:255 -msgid "" -"A common mistake is to write a script with the same name as a standard " -"library module. When this results in errors, we now display a more helpful " -"error message:" -msgstr "" - -#: ../../whatsnew/3.13.rst:259 -msgid "" -"$ python random.py\n" -"Traceback (most recent call last):\n" -" File \"/home/me/random.py\", line 1, in \n" -" import random\n" -" File \"/home/me/random.py\", line 3, in \n" -" print(random.randint(5))\n" -" ^^^^^^^^^^^^^^\n" -"AttributeError: module 'random' has no attribute 'randint' (consider renaming '/home/me/random.py' since it has the same name as the standard library module named 'random' and prevents importing that standard library module)" -msgstr "" - -#: ../../whatsnew/3.13.rst:270 -msgid "" -"Similarly, if a script has the same name as a third-party module that it " -"attempts to import and this results in errors, we also display a more " -"helpful error message:" -msgstr "" - -#: ../../whatsnew/3.13.rst:274 -msgid "" -"$ python numpy.py\n" -"Traceback (most recent call last):\n" -" File \"/home/me/numpy.py\", line 1, in \n" -" import numpy as np\n" -" File \"/home/me/numpy.py\", line 3, in \n" -" np.array([1, 2, 3])\n" -" ^^^^^^^^\n" -"AttributeError: module 'numpy' has no attribute 'array' (consider renaming '/home/me/numpy.py' if it has the same name as a library you intended to import)" -msgstr "" - -#: ../../whatsnew/3.13.rst:285 -msgid "(Contributed by Shantanu Jain in :gh:`95754`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:287 -msgid "" -"The error message now tries to suggest the correct keyword argument when an " -"incorrect keyword argument is passed to a function." -msgstr "" - -#: ../../whatsnew/3.13.rst:290 -msgid "" -">>> \"Better error messages!\".split(max_split=1)\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" \"Better error messages!\".split(max_split=1)\n" -" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^\n" -"TypeError: split() got an unexpected keyword argument 'max_split'. Did you mean 'maxsplit'?" -msgstr "" - -#: ../../whatsnew/3.13.rst:299 -msgid "" -"(Contributed by Pablo Galindo Salgado and Shantanu Jain in :gh:`107944`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:305 -msgid "Free-threaded CPython" -msgstr "" - -#: ../../whatsnew/3.13.rst:307 -msgid "" -"CPython now has experimental support for running in a free-threaded mode, " -"with the :term:`global interpreter lock` (GIL) disabled. This is an " -"experimental feature and therefore is not enabled by default. The free-" -"threaded mode requires a different executable, usually called " -"``python3.13t`` or ``python3.13t.exe``. Pre-built binaries marked as *free-" -"threaded* can be installed as part of the official :ref:`Windows ` and :ref:`macOS ` " -"installers, or CPython can be built from source with the :option:`--disable-" -"gil` option." -msgstr "" - -#: ../../whatsnew/3.13.rst:317 -msgid "" -"Free-threaded execution allows for full utilization of the available " -"processing power by running threads in parallel on available CPU cores. " -"While not all software will benefit from this automatically, programs " -"designed with threading in mind will run faster on multi-core hardware. " -"**The free-threaded mode is experimental** and work is ongoing to improve " -"it: expect some bugs and a substantial single-threaded performance hit. " -"Free-threaded builds of CPython support optionally running with the GIL " -"enabled at runtime using the environment variable :envvar:`PYTHON_GIL` or " -"the command-line option :option:`-X gil=1`." -msgstr "" - -#: ../../whatsnew/3.13.rst:327 -msgid "" -"To check if the current interpreter supports free-threading, :option:`python" -" -VV <-V>` and :data:`sys.version` contain \"experimental free-threading " -"build\". The new :func:`!sys._is_gil_enabled` function can be used to check " -"whether the GIL is actually disabled in the running process." -msgstr "" - -#: ../../whatsnew/3.13.rst:332 -msgid "" -"C-API extension modules need to be built specifically for the free-threaded " -"build. Extensions that support running with the :term:`GIL` disabled should " -"use the :c:data:`Py_mod_gil` slot. Extensions using single-phase init should" -" use :c:func:`PyUnstable_Module_SetGIL` to indicate whether they support " -"running with the GIL disabled. Importing C extensions that don't use these " -"mechanisms will cause the GIL to be enabled, unless the GIL was explicitly " -"disabled with the :envvar:`PYTHON_GIL` environment variable or the " -":option:`-X gil=0` option. pip 24.1 or newer is required to install packages" -" with C extensions in the free-threaded build." -msgstr "" - -#: ../../whatsnew/3.13.rst:343 -msgid "" -"This work was made possible thanks to many individuals and organizations, " -"including the large community of contributors to Python and third-party " -"projects to test and enable free-threading support. Notable contributors " -"include: Sam Gross, Ken Jin, Donghee Na, Itamar Oren, Matt Page, Brett " -"Simmers, Dino Viehland, Carl Meyer, Nathan Goldbaum, Ralf Gommers, Lysandros" -" Nikolaou, and many others. Many of these contributors are employed by Meta," -" which has provided significant engineering resources to support this " -"project." -msgstr "" - -#: ../../whatsnew/3.13.rst:355 -msgid "" -":pep:`703` \"Making the Global Interpreter Lock Optional in CPython\" " -"contains rationale and information surrounding this work." -msgstr "" - -#: ../../whatsnew/3.13.rst:358 -msgid "" -"`Porting Extension Modules to Support Free-Threading `_: A community-maintained porting guide for " -"extension authors." -msgstr "" - -#: ../../whatsnew/3.13.rst:366 -msgid "An experimental just-in-time (JIT) compiler" -msgstr "" - -#: ../../whatsnew/3.13.rst:368 -msgid "" -"When CPython is configured and built using the :option:`!--enable-" -"experimental-jit` option, a just-in-time (JIT) compiler is added which may " -"speed up some Python programs. On Windows, use ``PCbuild/build.bat " -"--experimental-jit`` to enable the JIT or ``--experimental-jit-interpreter``" -" to enable the Tier 2 interpreter. Build requirements and further supporting" -" information `are contained at`__ :file:`Tools/jit/README.md`." -msgstr "" - -#: ../../whatsnew/3.13.rst:378 -msgid "" -"The :option:`!--enable-experimental-jit` option takes these (optional) " -"values, defaulting to ``yes`` if :option:`!--enable-experimental-jit` is " -"present without the optional value." -msgstr "" - -#: ../../whatsnew/3.13.rst:382 -msgid "``no``: Disable the entire Tier 2 and JIT pipeline." -msgstr "" - -#: ../../whatsnew/3.13.rst:383 -msgid "" -"``yes``: Enable the JIT. To disable the JIT at runtime, pass the environment" -" variable ``PYTHON_JIT=0``." -msgstr "" - -#: ../../whatsnew/3.13.rst:385 -msgid "" -"``yes-off``: Build the JIT but disable it by default. To enable the JIT at " -"runtime, pass the environment variable ``PYTHON_JIT=1``." -msgstr "" - -#: ../../whatsnew/3.13.rst:387 -msgid "" -"``interpreter``: Enable the Tier 2 interpreter but disable the JIT. The " -"interpreter can be disabled by running with ``PYTHON_JIT=0``." -msgstr "" - -#: ../../whatsnew/3.13.rst:390 -msgid "The internal architecture is roughly as follows:" -msgstr "" - -#: ../../whatsnew/3.13.rst:392 -msgid "" -"We start with specialized *Tier 1 bytecode*. See :ref:`What's new in 3.11 " -"` for details." -msgstr "" - -#: ../../whatsnew/3.13.rst:394 -msgid "" -"When the Tier 1 bytecode gets hot enough, it gets translated to a new purely" -" internal intermediate representation (IR), called the *Tier 2 IR*, and " -"sometimes referred to as micro-ops (\"uops\")." -msgstr "" - -#: ../../whatsnew/3.13.rst:397 -msgid "" -"The Tier 2 IR uses the same stack-based virtual machine as Tier 1, but the " -"instruction format is better suited to translation to machine code." -msgstr "" - -#: ../../whatsnew/3.13.rst:399 -msgid "" -"We have several optimization passes for Tier 2 IR, which are applied before " -"it is interpreted or translated to machine code." -msgstr "" - -#: ../../whatsnew/3.13.rst:401 -msgid "" -"There is a Tier 2 interpreter, but it is mostly intended for debugging the " -"earlier stages of the optimization pipeline. The Tier 2 interpreter can be " -"enabled by configuring Python with ``--enable-experimental-" -"jit=interpreter``." -msgstr "" - -#: ../../whatsnew/3.13.rst:405 -msgid "" -"When the JIT is enabled, the optimized Tier 2 IR is translated to machine " -"code, which is then executed." -msgstr "" - -#: ../../whatsnew/3.13.rst:407 -msgid "" -"The machine code translation process uses a technique called *copy-and-" -"patch*. It has no runtime dependencies, but there is a new build-time " -"dependency on LLVM." -msgstr "" - -#: ../../whatsnew/3.13.rst:411 -msgid ":pep:`744`" -msgstr "" - -#: ../../whatsnew/3.13.rst:413 -msgid "" -"(JIT by Brandt Bucher, inspired by a paper by Haoran Xu and Fredrik " -"Kjolstad. Tier 2 IR by Mark Shannon and Guido van Rossum. Tier 2 optimizer " -"by Ken Jin.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:421 -msgid "Defined mutation semantics for :py:func:`locals`" -msgstr "" - -#: ../../whatsnew/3.13.rst:423 -msgid "" -"Historically, the expected result of mutating the return value of " -":func:`locals` has been left to individual Python implementations to define." -" Starting from Python 3.13, :pep:`667` standardises the historical behavior " -"of CPython for most code execution scopes, but changes :term:`optimized " -"scopes ` (functions, generators, coroutines, " -"comprehensions, and generator expressions) to explicitly return independent " -"snapshots of the currently assigned local variables, including locally " -"referenced nonlocal variables captured in closures." -msgstr "" - -#: ../../whatsnew/3.13.rst:432 -msgid "" -"This change to the semantics of :func:`locals` in optimized scopes also " -"affects the default behavior of code execution functions that implicitly " -"target :func:`!locals` if no explicit namespace is provided (such as " -":func:`exec` and :func:`eval`). In previous versions, whether or not changes" -" could be accessed by calling :func:`!locals` after calling the code " -"execution function was implementation-dependent. In CPython specifically, " -"such code would typically appear to work as desired, but could sometimes " -"fail in optimized scopes based on other code (including debuggers and code " -"execution tracing tools) potentially resetting the shared snapshot in that " -"scope. Now, the code will always run against an independent snapshot of the " -"local variables in optimized scopes, and hence the changes will never be " -"visible in subsequent calls to :func:`!locals`. To access the changes made " -"in these cases, an explicit namespace reference must now be passed to the " -"relevant function. Alternatively, it may make sense to update affected code " -"to use a higher level code execution API that returns the resulting code " -"execution namespace (e.g. :func:`runpy.run_path` when executing Python files" -" from disk)." -msgstr "" - -#: ../../whatsnew/3.13.rst:451 -msgid "" -"To ensure debuggers and similar tools can reliably update local variables in" -" scopes affected by this change, :attr:`FrameType.f_locals `" -" now returns a write-through proxy to the frame's local and locally " -"referenced nonlocal variables in these scopes, rather than returning an " -"inconsistently updated shared ``dict`` instance with undefined runtime " -"semantics." -msgstr "" - -#: ../../whatsnew/3.13.rst:457 -msgid "" -"See :pep:`667` for more details, including related C API changes and " -"deprecations. Porting notes are also provided below for the affected " -":ref:`Python APIs ` and :ref:`C APIs " -"`." -msgstr "" - -#: ../../whatsnew/3.13.rst:462 -msgid "" -"(PEP and implementation contributed by Mark Shannon and Tian Gao in " -":gh:`74929`. Documentation updates provided by Guido van Rossum and Alyssa " -"Coghlan.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:470 -msgid "Support for mobile platforms" -msgstr "" - -#: ../../whatsnew/3.13.rst:472 -msgid "" -":pep:`730`: iOS is now a :pep:`11` supported platform, with the " -"``arm64-apple-ios`` and ``arm64-apple-ios-simulator`` targets at tier 3 " -"(iPhone and iPad devices released after 2013 and the Xcode iOS simulator " -"running on Apple silicon hardware, respectively). ``x86_64-apple-ios-" -"simulator`` (the Xcode iOS simulator running on older ``x86_64`` hardware) " -"is not a tier 3 supported platform, but will have best-effort support. (PEP " -"written and implementation contributed by Russell Keith-Magee in " -":gh:`114099`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:482 -msgid "" -":pep:`738`: Android is now a :pep:`11` supported platform, with the " -"``aarch64-linux-android`` and ``x86_64-linux-android`` targets at tier 3. " -"The 32-bit targets ``arm-linux-androideabi`` and ``i686-linux-android`` are " -"not tier 3 supported platforms, but will have best-effort support. (PEP " -"written and implementation contributed by Malcolm Smith in :gh:`116622`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:489 -msgid ":pep:`730`, :pep:`738`" -msgstr "" - -#: ../../whatsnew/3.13.rst:493 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.13.rst:495 -msgid "" -"The compiler now strips common leading whitespace from every line in a " -"docstring. This reduces the size of the :term:`bytecode cache ` " -"(such as ``.pyc`` files), with reductions in file size of around 5%, for " -"example in :mod:`!sqlalchemy.orm.session` from SQLAlchemy 2.0. This change " -"affects tools that use docstrings, such as :mod:`doctest`." -msgstr "" - -#: ../../whatsnew/3.13.rst:502 -msgid "" -">>> def spam():\n" -"... \"\"\"\n" -"... This is a docstring with\n" -"... leading whitespace.\n" -"...\n" -"... It even has multiple paragraphs!\n" -"... \"\"\"\n" -"...\n" -">>> spam.__doc__\n" -"'\\nThis is a docstring with\\n leading whitespace.\\n\\nIt even has multiple paragraphs!\\n'" -msgstr "" - -#: ../../whatsnew/3.13.rst:515 -msgid "(Contributed by Inada Naoki in :gh:`81283`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:517 -msgid "" -":ref:`Annotation scopes ` within class scopes can now " -"contain lambdas and comprehensions. Comprehensions that are located within " -"class scopes are not inlined into their parent scope." -msgstr "" - -#: ../../whatsnew/3.13.rst:522 -msgid "" -"class C[T]:\n" -" type Alias = lambda: T" -msgstr "" - -#: ../../whatsnew/3.13.rst:527 -msgid "(Contributed by Jelle Zijlstra in :gh:`109118` and :gh:`118160`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:529 -msgid "" -":ref:`Future statements ` are no longer triggered by relative " -"imports of the :mod:`__future__` module, meaning that statements of the form" -" ``from .__future__ import ...`` are now simply standard relative imports, " -"with no special features activated. (Contributed by Jeremiah Gabriel Pascual" -" in :gh:`118216`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:535 -msgid "" -":keyword:`global` declarations are now permitted in :keyword:`except` blocks" -" when that global is used in the :keyword:`else` block. Previously this " -"raised an erroneous :exc:`SyntaxError`. (Contributed by Irit Katriel in " -":gh:`111123`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:540 -msgid "" -"Add :envvar:`PYTHON_FROZEN_MODULES`, a new environment variable that " -"determines whether frozen modules are ignored by the import machinery, " -"equivalent to the :option:`-X frozen_modules <-X>` command-line option. " -"(Contributed by Yilei Yang in :gh:`111374`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:545 -msgid "" -"Add :ref:`support for the perf profiler ` working without " -"`frame pointers `_ through the new" -" environment variable :envvar:`PYTHON_PERF_JIT_SUPPORT` and command-line " -"option :option:`-X perf_jit <-X>`. (Contributed by Pablo Galindo in " -":gh:`118518`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:551 -msgid "" -"The location of a :file:`.python_history` file can be changed via the new " -":envvar:`PYTHON_HISTORY` environment variable. (Contributed by Levi Sabah, " -"Zackery Spytz and Hugo van Kemenade in :gh:`73965`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:556 -msgid "" -"Classes have a new :attr:`~type.__static_attributes__` attribute. This is " -"populated by the compiler with a tuple of the class's attribute names which " -"are assigned through ``self.`` from any function in its body. " -"(Contributed by Irit Katriel in :gh:`115775`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:561 -msgid "" -"The compiler now creates a :attr:`!__firstlineno__` attribute on classes " -"with the line number of the first line of the class definition. (Contributed" -" by Serhiy Storchaka in :gh:`118465`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:565 -msgid "" -"The :func:`exec` and :func:`eval` builtins now accept the *globals* and " -"*locals* arguments as keywords. (Contributed by Raphael Gaschignard in " -":gh:`105879`)" -msgstr "" - -#: ../../whatsnew/3.13.rst:569 -msgid "" -"The :func:`compile` builtin now accepts a new flag, " -"``ast.PyCF_OPTIMIZED_AST``, which is similar to ``ast.PyCF_ONLY_AST`` except" -" that the returned AST is optimized according to the value of the *optimize*" -" argument. (Contributed by Irit Katriel in :gh:`108113`)." -msgstr "" - -#: ../../whatsnew/3.13.rst:575 -msgid "" -"Add a :attr:`~property.__name__` attribute on :class:`property` objects. " -"(Contributed by Eugene Toder in :gh:`101860`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:578 -msgid "" -"Add :exc:`PythonFinalizationError`, a new exception derived from " -":exc:`RuntimeError` and used to signal when operations are blocked during " -":term:`finalization `. The following callables now " -"raise :exc:`!PythonFinalizationError`, instead of :exc:`RuntimeError`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:584 -msgid ":func:`_thread.start_new_thread`" -msgstr "" - -#: ../../whatsnew/3.13.rst:585 -msgid ":func:`os.fork`" -msgstr "" - -#: ../../whatsnew/3.13.rst:586 -msgid ":func:`os.forkpty`" -msgstr "" - -#: ../../whatsnew/3.13.rst:587 -msgid ":class:`subprocess.Popen`" -msgstr "" - -#: ../../whatsnew/3.13.rst:589 -msgid "(Contributed by Victor Stinner in :gh:`114570`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:591 -msgid "" -"Allow the *count* argument of :meth:`str.replace` to be a keyword. " -"(Contributed by Hugo van Kemenade in :gh:`106487`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:594 -msgid "" -"Many functions now emit a warning if a boolean value is passed as a file " -"descriptor argument. This can help catch some errors earlier. (Contributed " -"by Serhiy Storchaka in :gh:`82626`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:599 -msgid "" -"Added :attr:`!name` and :attr:`!mode` attributes for compressed and archived" -" file-like objects in the :mod:`bz2`, :mod:`lzma`, :mod:`tarfile`, and " -":mod:`zipfile` modules. (Contributed by Serhiy Storchaka in :gh:`115961`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:606 -msgid "New Modules" -msgstr "Modul-Modul Baru" - -#: ../../whatsnew/3.13.rst:608 -msgid "" -":mod:`dbm.sqlite3`: An SQLite backend for :mod:`dbm`. (Contributed by " -"Raymond Hettinger and Erlend E. Aasland in :gh:`100414`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:613 -msgid "Improved Modules" -msgstr "Modul yang Ditingkatkan" - -#: ../../whatsnew/3.13.rst:617 -msgid "argparse" -msgstr "argparse" - -#: ../../whatsnew/3.13.rst:619 -msgid "" -"Add the *deprecated* parameter to the " -":meth:`~argparse.ArgumentParser.add_argument` and :meth:`!add_parser` " -"methods, to enable deprecating command-line options, positional arguments, " -"and subcommands. (Contributed by Serhiy Storchaka in :gh:`83648`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:627 -msgid "array" -msgstr "array" - -#: ../../whatsnew/3.13.rst:629 -msgid "" -"Add the ``'w'`` type code (``Py_UCS4``) for Unicode characters. It should be" -" used instead of the deprecated ``'u'`` type code. (Contributed by Inada " -"Naoki in :gh:`80480`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:633 -msgid "" -"Register :class:`array.array` as a :class:`~collections.abc.MutableSequence`" -" by implementing the :meth:`~array.array.clear` method. (Contributed by Mike" -" Zimin in :gh:`114894`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:639 -msgid "ast" -msgstr "ast" - -#: ../../whatsnew/3.13.rst:641 -msgid "" -"The constructors of node types in the :mod:`ast` module are now stricter in " -"the arguments they accept, with more intuitive behavior when arguments are " -"omitted." -msgstr "" - -#: ../../whatsnew/3.13.rst:645 -msgid "" -"If an optional field on an AST node is not included as an argument when " -"constructing an instance, the field will now be set to ``None``. Similarly, " -"if a list field is omitted, that field will now be set to an empty list, and" -" if an :class:`!expr_context` field is omitted, it defaults to " -":class:`Load() `. (Previously, in all cases, the attribute would " -"be missing on the newly constructed AST node instance.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:653 -msgid "" -"In all other cases, where a required argument is omitted, the node " -"constructor will emit a :exc:`DeprecationWarning`. This will raise an " -"exception in Python 3.15. Similarly, passing a keyword argument to the " -"constructor that does not map to a field on the AST node is now deprecated, " -"and will raise an exception in Python 3.15." -msgstr "" - -#: ../../whatsnew/3.13.rst:660 -msgid "" -"These changes do not apply to user-defined subclasses of :class:`ast.AST` " -"unless the class opts in to the new behavior by defining the " -":attr:`.AST._field_types` mapping." -msgstr "" - -#: ../../whatsnew/3.13.rst:664 -msgid "" -"(Contributed by Jelle Zijlstra in :gh:`105858`, :gh:`117486`, and " -":gh:`118851`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:666 -msgid "" -":func:`ast.parse` now accepts an optional argument *optimize* which is " -"passed on to :func:`compile`. This makes it possible to obtain an optimized " -"AST. (Contributed by Irit Katriel in :gh:`108113`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:673 -msgid "asyncio" -msgstr "asyncio" - -#: ../../whatsnew/3.13.rst:675 -msgid "" -":func:`asyncio.as_completed` now returns an object that is both an " -":term:`asynchronous iterator` and a plain :term:`iterator` of " -":term:`awaitables `. The awaitables yielded by asynchronous " -"iteration include original task or future objects that were passed in, " -"making it easier to associate results with the tasks being completed. " -"(Contributed by Justin Arthur in :gh:`77714`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:683 -msgid "" -":meth:`asyncio.loop.create_unix_server` will now automatically remove the " -"Unix socket when the server is closed. (Contributed by Pierre Ossman in " -":gh:`111246`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:687 -msgid "" -":meth:`.DatagramTransport.sendto` will now send zero-length datagrams if " -"called with an empty bytes object. The transport flow control also now " -"accounts for the datagram header when calculating the buffer size. " -"(Contributed by Jamie Phan in :gh:`115199`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:693 -msgid "" -"Add :meth:`Queue.shutdown ` and " -":exc:`~asyncio.QueueShutDown` to manage queue termination. (Contributed by " -"Laurie Opperman and Yves Duprat in :gh:`104228`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:697 -msgid "" -"Add the :meth:`.Server.close_clients` and :meth:`.Server.abort_clients` " -"methods, which more forcefully close an asyncio server. (Contributed by " -"Pierre Ossman in :gh:`113538`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:701 -msgid "" -"Accept a tuple of separators in :meth:`.StreamReader.readuntil`, stopping " -"when any one of them is encountered. (Contributed by Bruce Merry in " -":gh:`81322`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:705 -msgid "" -"Improve the behavior of :class:`~asyncio.TaskGroup` when an external " -"cancellation collides with an internal cancellation. For example, when two " -"task groups are nested and both experience an exception in a child task " -"simultaneously, it was possible that the outer task group would hang, " -"because its internal cancellation was swallowed by the inner task group." -msgstr "" - -#: ../../whatsnew/3.13.rst:712 -msgid "" -"In the case where a task group is cancelled externally and also must raise " -"an :exc:`ExceptionGroup`, it will now call the parent task's " -":meth:`~asyncio.Task.cancel` method. This ensures that a " -":exc:`~asyncio.CancelledError` will be raised at the next :keyword:`await`, " -"so the cancellation is not lost." -msgstr "" - -#: ../../whatsnew/3.13.rst:718 -msgid "" -"An added benefit of these changes is that task groups now preserve the " -"cancellation count (:meth:`~asyncio.Task.cancelling`)." -msgstr "" - -#: ../../whatsnew/3.13.rst:721 -msgid "" -"In order to handle some corner cases, :meth:`~asyncio.Task.uncancel` may now" -" reset the undocumented ``_must_cancel`` flag when the cancellation count " -"reaches zero." -msgstr "" - -#: ../../whatsnew/3.13.rst:725 -msgid "(Inspired by an issue reported by Arthur Tacca in :gh:`116720`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:727 -msgid "" -"When :meth:`.TaskGroup.create_task` is called on an inactive " -":class:`~asyncio.TaskGroup`, the given coroutine will be closed (which " -"prevents a :exc:`RuntimeWarning` about the given coroutine being never " -"awaited). (Contributed by Arthur Tacca and Jason Zhang in :gh:`115957`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:733 -msgid "" -"The function and methods named ``create_task`` have received a new " -"``**kwargs`` argument that is passed through to the task constructor. This " -"change was accidentally added in 3.13.3, and broke the API contract for " -"custom task factories. Several third-party task factories implemented " -"workarounds for this. In 3.13.4 and later releases the old factory contract " -"is honored once again (until 3.14). To keep the workarounds working, the " -"extra ``**kwargs`` argument still allows passing additional keyword " -"arguments to :class:`~asyncio.Task` and to custom task factories." -msgstr "" - -#: ../../whatsnew/3.13.rst:744 -msgid "" -"This affects the following function and methods: " -":meth:`asyncio.create_task`, :meth:`asyncio.loop.create_task`, " -":meth:`asyncio.TaskGroup.create_task`. (Contributed by Thomas Grainger in " -":gh:`128307`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:751 -msgid "base64" -msgstr "" - -#: ../../whatsnew/3.13.rst:753 -msgid "" -"Add :func:`~base64.z85encode` and :func:`~base64.z85decode` functions for " -"encoding :class:`bytes` as `Z85 data`_ and decoding Z85-encoded data to " -":class:`!bytes`. (Contributed by Matan Perelman in :gh:`75299`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:762 -msgid "compileall" -msgstr "compileall" - -#: ../../whatsnew/3.13.rst:764 ../../whatsnew/3.13.rst:772 -#: ../../whatsnew/3.13.rst:1031 -msgid "" -"The default number of worker threads and processes is now selected using " -":func:`os.process_cpu_count` instead of :func:`os.cpu_count`. (Contributed " -"by Victor Stinner in :gh:`109649`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:770 -msgid "concurrent.futures" -msgstr "concurrent.futures" - -#: ../../whatsnew/3.13.rst:778 ../../whatsnew/3.13.rst:1680 -msgid "configparser" -msgstr "" - -#: ../../whatsnew/3.13.rst:780 -msgid "" -":class:`~configparser.ConfigParser` now has support for unnamed sections, " -"which allows for top-level key-value pairs. This can be enabled with the new" -" *allow_unnamed_section* parameter. (Contributed by Pedro Sousa Lacerda in " -":gh:`66449`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:787 -msgid "copy" -msgstr "" - -#: ../../whatsnew/3.13.rst:789 -msgid "" -"The new :func:`~copy.replace` function and the :meth:`replace protocol " -"` make creating modified copies of objects much simpler." -" This is especially useful when working with immutable objects. The " -"following types support the :func:`~copy.replace` function and implement the" -" replace protocol:" -msgstr "" - -#: ../../whatsnew/3.13.rst:795 -msgid ":func:`collections.namedtuple`" -msgstr "" - -#: ../../whatsnew/3.13.rst:796 -msgid ":class:`dataclasses.dataclass`" -msgstr "" - -#: ../../whatsnew/3.13.rst:797 -msgid "" -":class:`datetime.datetime`, :class:`datetime.date`, :class:`datetime.time`" -msgstr "" - -#: ../../whatsnew/3.13.rst:798 -msgid ":class:`inspect.Signature`, :class:`inspect.Parameter`" -msgstr "" - -#: ../../whatsnew/3.13.rst:799 -msgid ":class:`types.SimpleNamespace`" -msgstr "" - -#: ../../whatsnew/3.13.rst:800 -msgid ":ref:`code objects `" -msgstr "" - -#: ../../whatsnew/3.13.rst:802 -msgid "" -"Any user-defined class can also support :func:`copy.replace` by defining the" -" :meth:`~object.__replace__` method. (Contributed by Serhiy Storchaka in " -":gh:`108751`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:808 -msgid "ctypes" -msgstr "ctypes" - -#: ../../whatsnew/3.13.rst:810 -msgid "" -"As a consequence of necessary internal refactoring, initialization of " -"internal metaclasses now happens in ``__init__`` rather than in ``__new__``." -" This affects projects that subclass these internal metaclasses to provide " -"custom initialization. Generally:" -msgstr "" - -#: ../../whatsnew/3.13.rst:816 -msgid "" -"Custom logic that was done in ``__new__`` after calling ``super().__new__`` " -"should be moved to ``__init__``." -msgstr "" - -#: ../../whatsnew/3.13.rst:818 -msgid "" -"To create a class, call the metaclass, not only the metaclass's ``__new__`` " -"method." -msgstr "" - -#: ../../whatsnew/3.13.rst:821 -msgid "" -"See :gh:`124520` for discussion and links to changes in some affected " -"projects." -msgstr "" - -#: ../../whatsnew/3.13.rst:824 -msgid "" -":class:`ctypes.Structure` objects have a new " -":attr:`~ctypes.Structure._align_` attribute which allows the alignment of " -"the structure being packed to/from memory to be specified explicitly. " -"(Contributed by Matt Sanderson in :gh:`112433`)" -msgstr "" - -#: ../../whatsnew/3.13.rst:830 -msgid "dbm" -msgstr "dbm" - -#: ../../whatsnew/3.13.rst:832 -msgid "" -"Add :mod:`dbm.sqlite3`, a new module which implements an SQLite backend, and" -" make it the default :mod:`!dbm` backend. (Contributed by Raymond Hettinger " -"and Erlend E. Aasland in :gh:`100414`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:836 -msgid "" -"Allow removing all items from the database through the new " -":meth:`.gdbm.clear` and :meth:`.ndbm.clear` methods. (Contributed by Donghee" -" Na in :gh:`107122`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:842 -msgid "dis" -msgstr "dis" - -#: ../../whatsnew/3.13.rst:844 -msgid "" -"Change the output of :mod:`dis` module functions to show logical labels for " -"jump targets and exception handlers, rather than offsets. The offsets can be" -" added with the new :option:`-O ` command-line option or" -" the *show_offsets* argument. (Contributed by Irit Katriel in :gh:`112137`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:851 -msgid "" -":meth:`~dis.get_instructions` no longer represents cache entries as separate" -" instructions. Instead, it returns them as part of the " -":class:`~dis.Instruction`, in the new *cache_info* field. The *show_caches* " -"argument to :meth:`~dis.get_instructions` is deprecated and no longer has " -"any effect. (Contributed by Irit Katriel in :gh:`112962`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:863 -msgid "doctest" -msgstr "" - -#: ../../whatsnew/3.13.rst:865 -msgid "" -":mod:`doctest` output is now colored by default. This can be controlled via " -"the new :envvar:`PYTHON_COLORS` environment variable as well as the " -"canonical |NO_COLOR|_ and |FORCE_COLOR|_ environment variables. See also " -":ref:`using-on-controlling-color`. (Contributed by Hugo van Kemenade in " -":gh:`117225`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:872 -msgid "" -"The :meth:`.DocTestRunner.run` method now counts the number of skipped " -"tests. Add the :attr:`.DocTestRunner.skips` and :attr:`.TestResults.skipped`" -" attributes. (Contributed by Victor Stinner in :gh:`108794`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:878 -msgid "email" -msgstr "" - -#: ../../whatsnew/3.13.rst:880 -msgid "" -"Headers with embedded newlines are now quoted on output. The " -":mod:`~email.generator` will now refuse to serialize (write) headers that " -"are improperly folded or delimited, such that they would be parsed as " -"multiple headers or joined with adjacent data. If you need to turn this " -"safety feature off, set " -":attr:`~email.policy.Policy.verify_generated_headers`. (Contributed by Bas " -"Bloemsaat and Petr Viktorin in :gh:`121650`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:888 -msgid "" -":func:`~email.utils.getaddresses` and :func:`~email.utils.parseaddr` now " -"return ``('', '')`` pairs in more situations where invalid email addresses " -"are encountered instead of potentially inaccurate values. The two functions " -"have a new optional *strict* parameter (default ``True``). To get the old " -"behavior (accepting malformed input), use ``strict=False``. " -"``getattr(email.utils, 'supports_strict_parsing', False)`` can be used to " -"check if the *strict* parameter is available. (Contributed by Thomas Dwyer " -"and Victor Stinner for :gh:`102988` to improve the :cve:`2023-27043` fix.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:900 -msgid "enum" -msgstr "enum" - -#: ../../whatsnew/3.13.rst:902 -msgid "" -":class:`~enum.EnumDict` has been made public to better support subclassing " -":class:`~enum.EnumType`." -msgstr "" - -#: ../../whatsnew/3.13.rst:907 -msgid "fractions" -msgstr "" - -#: ../../whatsnew/3.13.rst:909 -msgid "" -":class:`~fractions.Fraction` objects now support the standard :ref:`format " -"specification mini-language ` rules for fill, alignment, sign " -"handling, minimum width, and grouping. (Contributed by Mark Dickinson in " -":gh:`111320`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:916 -msgid "glob" -msgstr "glob" - -#: ../../whatsnew/3.13.rst:918 -msgid "" -"Add :func:`~glob.translate`, a function to convert a path specification with" -" shell-style wildcards to a regular expression. (Contributed by Barney Gale " -"in :gh:`72904`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:924 -msgid "importlib" -msgstr "importlib" - -#: ../../whatsnew/3.13.rst:926 -msgid "" -"The following functions in :mod:`importlib.resources` now allow accessing a " -"directory (or tree) of resources, using multiple positional arguments (the " -"*encoding* and *errors* arguments in the text-reading functions are now " -"keyword-only):" -msgstr "" - -#: ../../whatsnew/3.13.rst:931 -msgid ":func:`~importlib.resources.is_resource`" -msgstr "" - -#: ../../whatsnew/3.13.rst:932 -msgid ":func:`~importlib.resources.open_binary`" -msgstr "" - -#: ../../whatsnew/3.13.rst:933 -msgid ":func:`~importlib.resources.open_text`" -msgstr "" - -#: ../../whatsnew/3.13.rst:934 -msgid ":func:`~importlib.resources.path`" -msgstr "" - -#: ../../whatsnew/3.13.rst:935 -msgid ":func:`~importlib.resources.read_binary`" -msgstr "" - -#: ../../whatsnew/3.13.rst:936 -msgid ":func:`~importlib.resources.read_text`" -msgstr "" - -#: ../../whatsnew/3.13.rst:938 -msgid "" -"These functions are no longer deprecated and are not scheduled for removal. " -"(Contributed by Petr Viktorin in :gh:`116608`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:941 -msgid "" -":func:`~importlib.resources.contents` remains deprecated in favor of the " -"fully-featured :class:`~importlib.resources.abc.Traversable` API. However, " -"there is now no plan to remove it. (Contributed by Petr Viktorin in " -":gh:`116608`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:948 -msgid "io" -msgstr "io" - -#: ../../whatsnew/3.13.rst:950 -msgid "" -"The :class:`~io.IOBase` finalizer now logs any errors raised by the " -":meth:`~io.IOBase.close` method with :data:`sys.unraisablehook`. Previously," -" errors were ignored silently by default, and only logged in :ref:`Python " -"Development Mode ` or when using a :ref:`Python debug build `. (Contributed by Victor Stinner in :gh:`62948`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:959 -msgid "ipaddress" -msgstr "ipaddress" - -#: ../../whatsnew/3.13.rst:961 -msgid "" -"Add the :attr:`.IPv4Address.ipv6_mapped` property, which returns the " -"IPv4-mapped IPv6 address. (Contributed by Charles Machalow in :gh:`109466`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:965 -msgid "" -"Fix ``is_global`` and ``is_private`` behavior in " -":class:`~ipaddress.IPv4Address`, :class:`~ipaddress.IPv6Address`, " -":class:`~ipaddress.IPv4Network`, and :class:`~ipaddress.IPv6Network`. " -"(Contributed by Jakub Stasiak in :gh:`113171`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:972 -msgid "itertools" -msgstr "itertools" - -#: ../../whatsnew/3.13.rst:974 -msgid "" -":func:`~itertools.batched` has a new *strict* parameter, which raises a " -":exc:`ValueError` if the final batch is shorter than the specified batch " -"size. (Contributed by Raymond Hettinger in :gh:`113202`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:981 -msgid "marshal" -msgstr "" - -#: ../../whatsnew/3.13.rst:983 -msgid "" -"Add the *allow_code* parameter in module functions. Passing " -"``allow_code=False`` prevents serialization and de-serialization of code " -"objects which are incompatible between Python versions. (Contributed by " -"Serhiy Storchaka in :gh:`113626`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:990 -msgid "math" -msgstr "math" - -#: ../../whatsnew/3.13.rst:992 -msgid "" -"The new function :func:`~math.fma` performs fused multiply-add operations. " -"This computes ``x * y + z`` with only a single round, and so avoids any " -"intermediate loss of precision. It wraps the ``fma()`` function provided by " -"C99, and follows the specification of the IEEE 754 \"fusedMultiplyAdd\" " -"operation for special cases. (Contributed by Mark Dickinson and Victor " -"Stinner in :gh:`73468`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1002 -msgid "mimetypes" -msgstr "mimetypes" - -#: ../../whatsnew/3.13.rst:1004 -msgid "" -"Add the :func:`~mimetypes.guess_file_type` function to guess a MIME type " -"from a filesystem path. Using paths with :func:`~mimetypes.guess_type` is " -"now :term:`soft deprecated`. (Contributed by Serhiy Storchaka in " -":gh:`66543`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1011 -msgid "mmap" -msgstr "mmap" - -#: ../../whatsnew/3.13.rst:1013 -msgid "" -":class:`~mmap.mmap` is now protected from crashing on Windows when the " -"mapped memory is inaccessible due to file system errors or access " -"violations. (Contributed by Jannis Weigend in :gh:`118209`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1017 -msgid "" -":class:`~mmap.mmap` has a new :meth:`~mmap.mmap.seekable` method that can be" -" used when a seekable file-like object is required. The " -":meth:`~mmap.mmap.seek` method now returns the new absolute position. " -"(Contributed by Donghee Na and Sylvie Liberman in :gh:`111835`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1022 -msgid "" -"The new UNIX-only *trackfd* parameter for :class:`~mmap.mmap` controls file " -"descriptor duplication; if false, the file descriptor specified by *fileno* " -"will not be duplicated. (Contributed by Zackery Spytz and Petr Viktorin in " -":gh:`78502`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1029 -msgid "multiprocessing" -msgstr "multiprocessing" - -#: ../../whatsnew/3.13.rst:1037 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.13.rst:1039 -msgid "" -"Add :func:`~os.process_cpu_count` function to get the number of logical CPU " -"cores usable by the calling thread of the current process. (Contributed by " -"Victor Stinner in :gh:`109649`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1043 -msgid "" -":func:`~os.cpu_count` and :func:`~os.process_cpu_count` can be overridden " -"through the new environment variable :envvar:`PYTHON_CPU_COUNT` or the new " -"command-line option :option:`-X cpu_count <-X>`. This option is useful for " -"users who need to limit CPU resources of a container system without having " -"to modify application code or the container itself. (Contributed by Donghee " -"Na in :gh:`109595`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1051 -msgid "" -"Add a :ref:`low level interface ` to Linux's :manpage:`timer " -"file descriptors ` via :func:`~os.timerfd_create`, " -":func:`~os.timerfd_settime`, :func:`~os.timerfd_settime_ns`, " -":func:`~os.timerfd_gettime`, :func:`~os.timerfd_gettime_ns`, " -":const:`~os.TFD_NONBLOCK`, :const:`~os.TFD_CLOEXEC`, " -":const:`~os.TFD_TIMER_ABSTIME`, and :const:`~os.TFD_TIMER_CANCEL_ON_SET` " -"(Contributed by Masaru Tsuchiyama in :gh:`108277`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1060 -msgid "" -":func:`~os.lchmod` and the *follow_symlinks* argument of :func:`~os.chmod` " -"are both now available on Windows. Note that the default value of " -"*follow_symlinks* in :func:`!lchmod` is ``False`` on Windows. (Contributed " -"by Serhiy Storchaka in :gh:`59616`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1066 -msgid "" -":func:`~os.fchmod` and support for file descriptors in :func:`~os.chmod` are" -" both now available on Windows. (Contributed by Serhiy Storchaka in " -":gh:`113191`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1070 -msgid "" -"On Windows, :func:`~os.mkdir` and :func:`~os.makedirs` now support passing a" -" *mode* value of ``0o700`` to apply access control to the new directory. " -"This implicitly affects :func:`tempfile.mkdtemp` and is a mitigation for " -":cve:`2024-4030`. Other values for *mode* continue to be ignored. " -"(Contributed by Steve Dower in :gh:`118486`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1077 -msgid "" -":func:`~os.posix_spawn` now accepts ``None`` for the *env* argument, which " -"makes the newly spawned process use the current process environment. " -"(Contributed by Jakub Kulik in :gh:`113119`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1081 -msgid "" -":func:`~os.posix_spawn` can now use the :const:`~os.POSIX_SPAWN_CLOSEFROM` " -"attribute in the *file_actions* parameter on platforms that support " -":c:func:`!posix_spawn_file_actions_addclosefrom_np`. (Contributed by Jakub " -"Kulik in :gh:`113117`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1088 -msgid "os.path" -msgstr "os.path" - -#: ../../whatsnew/3.13.rst:1090 -msgid "" -"Add :func:`~os.path.isreserved` to check if a path is reserved on the " -"current system. This function is only available on Windows. (Contributed by " -"Barney Gale in :gh:`88569`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1095 -msgid "" -"On Windows, :func:`~os.path.isabs` no longer considers paths starting with " -"exactly one slash (``\\`` or ``/``) to be absolute. (Contributed by Barney " -"Gale and Jon Foster in :gh:`44626`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1099 -msgid "" -":func:`~os.path.realpath` now resolves MS-DOS style file names even if the " -"file is not accessible. (Contributed by Moonsik Park in :gh:`82367`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1105 ../../whatsnew/3.13.rst:1736 -msgid "pathlib" -msgstr "pathlib" - -#: ../../whatsnew/3.13.rst:1107 -msgid "" -"Add :exc:`~pathlib.UnsupportedOperation`, which is raised instead of " -":exc:`NotImplementedError` when a path operation isn't supported. " -"(Contributed by Barney Gale in :gh:`89812`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1111 -msgid "" -"Add a new constructor for creating :class:`~pathlib.Path` objects from " -"'file' URIs (``file:///``), :meth:`.Path.from_uri`. (Contributed by Barney " -"Gale in :gh:`107465`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1115 -msgid "" -"Add :meth:`.PurePath.full_match` for matching paths with shell-style " -"wildcards, including the recursive wildcard \"``**``\". (Contributed by " -"Barney Gale in :gh:`73435`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1119 -msgid "" -"Add the :attr:`.PurePath.parser` class attribute to store the implementation" -" of :mod:`os.path` used for low-level path parsing and joining. This will be" -" either :mod:`!posixpath` or :mod:`!ntpath`." -msgstr "" - -#: ../../whatsnew/3.13.rst:1124 -msgid "" -"Add *recurse_symlinks* keyword-only argument to :meth:`.Path.glob` and " -":meth:`~pathlib.Path.rglob`. (Contributed by Barney Gale in :gh:`77609`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1128 -msgid "" -":meth:`.Path.glob` and :meth:`~pathlib.Path.rglob` now return files and " -"directories when given a pattern that ends with \"``**``\". Previously, only" -" directories were returned. (Contributed by Barney Gale in :gh:`70303`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1133 -msgid "" -"Add the *follow_symlinks* keyword-only argument to :meth:`Path.is_file " -"`, :meth:`Path.is_dir `, " -":meth:`.Path.owner`, and :meth:`.Path.group`. (Contributed by Barney Gale in" -" :gh:`105793` and Kamil Turek in :gh:`107962`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1141 -msgid "pdb" -msgstr "pdb" - -#: ../../whatsnew/3.13.rst:1143 -msgid "" -":func:`breakpoint` and :func:`~pdb.set_trace` now enter the debugger " -"immediately rather than on the next line of code to be executed. This change" -" prevents the debugger from breaking outside of the context when " -":func:`!breakpoint` is positioned at the end of the context. (Contributed by" -" Tian Gao in :gh:`118579`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1149 -msgid "" -"``sys.path[0]`` is no longer replaced by the directory of the script being " -"debugged when :attr:`sys.flags.safe_path` is set. (Contributed by Tian Gao " -"and Christian Walther in :gh:`111762`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1153 -msgid "" -":mod:`zipapp` is now supported as a debugging target. (Contributed by Tian " -"Gao in :gh:`118501`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1156 -msgid "" -"Add ability to move between chained exceptions during post-mortem debugging " -"in :func:`~pdb.pm` using the new :pdbcmd:`exceptions [exc_number] " -"` command for Pdb. (Contributed by Matthias Bussonnier in " -":gh:`106676`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1161 -msgid "" -"Expressions and statements whose prefix is a pdb command are now correctly " -"identified and executed. (Contributed by Tian Gao in :gh:`108464`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1167 -msgid "queue" -msgstr "queue" - -#: ../../whatsnew/3.13.rst:1169 -msgid "" -"Add :meth:`Queue.shutdown ` and :exc:`~queue.ShutDown`" -" to manage queue termination. (Contributed by Laurie Opperman and Yves " -"Duprat in :gh:`104750`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1175 -msgid "random" -msgstr "" - -#: ../../whatsnew/3.13.rst:1177 -msgid "" -"Add a :ref:`command-line interface `. (Contributed by Hugo van " -"Kemenade in :gh:`118131`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1182 ../../whatsnew/3.13.rst:1744 -msgid "re" -msgstr "re" - -#: ../../whatsnew/3.13.rst:1184 -msgid "" -"Rename :exc:`!re.error` to :exc:`~re.PatternError` for improved clarity. " -":exc:`!re.error` is kept for backward compatibility." -msgstr "" - -#: ../../whatsnew/3.13.rst:1189 -msgid "shutil" -msgstr "shutil" - -#: ../../whatsnew/3.13.rst:1191 -msgid "" -"Support the *dir_fd* and *follow_symlinks* keyword arguments in " -":func:`~shutil.chown`. (Contributed by Berker Peksag and Tahia K in " -":gh:`62308`)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1197 -msgid "site" -msgstr "site" - -#: ../../whatsnew/3.13.rst:1199 -msgid "" -":file:`.pth` files are now decoded using UTF-8 first, and then with the " -":term:`locale encoding` if UTF-8 decoding fails. (Contributed by Inada Naoki" -" in :gh:`117802`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1205 -msgid "sqlite3" -msgstr "sqlite3" - -#: ../../whatsnew/3.13.rst:1207 -msgid "" -"A :exc:`ResourceWarning` is now emitted if a :class:`~sqlite3.Connection` " -"object is not :meth:`closed ` explicitly. " -"(Contributed by Erlend E. Aasland in :gh:`105539`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1211 -msgid "" -"Add the *filter* keyword-only parameter to :meth:`.Connection.iterdump` for " -"filtering database objects to dump. (Contributed by Mariusz Felisiak in " -":gh:`91602`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1217 -msgid "ssl" -msgstr "ssl" - -#: ../../whatsnew/3.13.rst:1219 -msgid "" -"The :func:`~ssl.create_default_context` API now includes " -":data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` and :data:`~ssl.VERIFY_X509_STRICT` " -"in its default flags." -msgstr "" - -#: ../../whatsnew/3.13.rst:1225 -msgid "" -":data:`~ssl.VERIFY_X509_STRICT` may reject pre-:rfc:`5280` or malformed " -"certificates that the underlying OpenSSL implementation might otherwise " -"accept. Whilst disabling this is not recommended, you can do so using:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1230 -msgid "" -"import ssl\n" -"\n" -"ctx = ssl.create_default_context()\n" -"ctx.verify_flags &= ~ssl.VERIFY_X509_STRICT" -msgstr "" - -#: ../../whatsnew/3.13.rst:1237 -msgid "(Contributed by William Woodruff in :gh:`112389`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1241 -msgid "statistics" -msgstr "statistics" - -#: ../../whatsnew/3.13.rst:1243 -msgid "" -"Add :func:`~statistics.kde` for kernel density estimation. This makes it " -"possible to estimate a continuous probability density function from a fixed " -"number of discrete samples. (Contributed by Raymond Hettinger in " -":gh:`115863`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1248 -msgid "" -"Add :func:`~statistics.kde_random` for sampling from an estimated " -"probability density function created by :func:`~statistics.kde`. " -"(Contributed by Raymond Hettinger in :gh:`115863`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1256 -msgid "subprocess" -msgstr "subprocess" - -#: ../../whatsnew/3.13.rst:1258 -msgid "" -"The :mod:`subprocess` module now uses the :func:`~os.posix_spawn` function " -"in more situations." -msgstr "" - -#: ../../whatsnew/3.13.rst:1261 -msgid "" -"Notably, when *close_fds* is ``True`` (the default), :func:`~os.posix_spawn`" -" will be used when the C library provides " -":c:func:`!posix_spawn_file_actions_addclosefrom_np`, which includes recent " -"versions of Linux, FreeBSD, and Solaris. On Linux, this should perform " -"similarly to the existing Linux :c:func:`!vfork` based code." -msgstr "" - -#: ../../whatsnew/3.13.rst:1268 -msgid "" -"A private control knob :attr:`!subprocess._USE_POSIX_SPAWN` can be set to " -"``False`` if you need to force :mod:`subprocess` to never use " -":func:`~os.posix_spawn`. Please report your reason and platform details in " -"the :ref:`issue tracker ` if you set this so that we can " -"improve our API selection logic for everyone. (Contributed by Jakub Kulik in" -" :gh:`113117`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1278 -msgid "sys" -msgstr "sys" - -#: ../../whatsnew/3.13.rst:1280 -msgid "" -"Add the :func:`~sys._is_interned` function to test if a string was interned." -" This function is not guaranteed to exist in all implementations of Python. " -"(Contributed by Serhiy Storchaka in :gh:`78573`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1286 -msgid "tempfile" -msgstr "" - -#: ../../whatsnew/3.13.rst:1288 -msgid "" -"On Windows, the default mode ``0o700`` used by :func:`tempfile.mkdtemp` now " -"limits access to the new directory due to changes to :func:`os.mkdir`. This " -"is a mitigation for :cve:`2024-4030`. (Contributed by Steve Dower in " -":gh:`118486`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1295 -msgid "time" -msgstr "time" - -#: ../../whatsnew/3.13.rst:1297 -msgid "" -"On Windows, :func:`~time.monotonic` now uses the " -"``QueryPerformanceCounter()`` clock for a resolution of 1 microsecond, " -"instead of the ``GetTickCount64()`` clock which has a resolution of 15.6 " -"milliseconds. (Contributed by Victor Stinner in :gh:`88494`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1303 -msgid "" -"On Windows, :func:`~time.time` now uses the " -"``GetSystemTimePreciseAsFileTime()`` clock for a resolution of 1 " -"microsecond, instead of the ``GetSystemTimeAsFileTime()`` clock which has a " -"resolution of 15.6 milliseconds. (Contributed by Victor Stinner in " -":gh:`63207`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1311 -msgid "tkinter" -msgstr "tkinter" - -#: ../../whatsnew/3.13.rst:1313 -msgid "" -"Add :mod:`tkinter` widget methods: :meth:`!tk_busy_hold`, " -":meth:`!tk_busy_configure`, :meth:`!tk_busy_cget`, :meth:`!tk_busy_forget`, " -":meth:`!tk_busy_current`, and :meth:`!tk_busy_status`. (Contributed by " -"Miguel, klappnase and Serhiy Storchaka in :gh:`72684`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1319 -msgid "" -"The :mod:`tkinter` widget method :meth:`!wm_attributes` now accepts the " -"attribute name without the minus prefix to get window attributes, for " -"example ``w.wm_attributes('alpha')`` and allows specifying attributes and " -"values to set as keyword arguments, for example " -"``w.wm_attributes(alpha=0.5)``. (Contributed by Serhiy Storchaka in " -":gh:`43457`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1326 -msgid "" -":meth:`!wm_attributes` can now return attributes as a :class:`dict`, by " -"using the new optional keyword-only parameter *return_python_dict*. " -"(Contributed by Serhiy Storchaka in :gh:`43457`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1330 -msgid "" -":meth:`!Text.count` can now return a simple :class:`int` when the new " -"optional keyword-only parameter *return_ints* is used. Otherwise, the single" -" count is returned as a 1-tuple or ``None``. (Contributed by Serhiy " -"Storchaka in :gh:`97928`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1335 -msgid "" -"Support the \"vsapi\" element type in the " -":meth:`~tkinter.ttk.Style.element_create` method of " -":class:`tkinter.ttk.Style`. (Contributed by Serhiy Storchaka in " -":gh:`68166`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1340 -msgid "" -"Add the :meth:`!after_info` method for Tkinter widgets. (Contributed by " -"Cheryl Sabella in :gh:`77020`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1343 -msgid "" -"Add a new :meth:`!copy_replace` method to :class:`!PhotoImage` to copy a " -"region from one image to another, possibly with pixel zooming, subsampling, " -"or both. (Contributed by Serhiy Storchaka in :gh:`118225`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1348 -msgid "" -"Add *from_coords* parameter to the :class:`!PhotoImage` methods " -":meth:`!copy`, :meth:`!zoom` and :meth:`!subsample`. Add *zoom* and " -"*subsample* parameters to the :class:`!PhotoImage` method :meth:`!copy`. " -"(Contributed by Serhiy Storchaka in :gh:`118225`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1354 -msgid "" -"Add the :class:`!PhotoImage` methods :meth:`!read` to read an image from a " -"file and :meth:`!data` to get the image data. Add *background* and " -"*grayscale* parameters to the :meth:`!write` method. (Contributed by Serhiy " -"Storchaka in :gh:`118271`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1362 -msgid "traceback" -msgstr "" - -#: ../../whatsnew/3.13.rst:1364 -msgid "" -"Add the :attr:`~traceback.TracebackException.exc_type_str` attribute to " -":class:`~traceback.TracebackException`, which holds a string display of the " -"*exc_type*. Deprecate the :attr:`~traceback.TracebackException.exc_type` " -"attribute, which holds the type object itself. Add parameter *save_exc_type*" -" (default ``True``) to indicate whether ``exc_type`` should be saved. " -"(Contributed by Irit Katriel in :gh:`112332`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1373 -msgid "" -"Add a new *show_group* keyword-only parameter to " -":meth:`.TracebackException.format_exception_only` to (recursively) format " -"the nested exceptions of a :exc:`BaseExceptionGroup` instance. (Contributed " -"by Irit Katriel in :gh:`105292`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1380 -msgid "types" -msgstr "types" - -#: ../../whatsnew/3.13.rst:1382 -msgid "" -":class:`~types.SimpleNamespace` can now take a single positional argument to" -" initialise the namespace's arguments. This argument must either be a " -"mapping or an iterable of key-value pairs. (Contributed by Serhiy Storchaka " -"in :gh:`108191`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1389 ../../whatsnew/3.13.rst:1769 -msgid "typing" -msgstr "typing" - -#: ../../whatsnew/3.13.rst:1391 -msgid "" -":pep:`705`: Add :data:`~typing.ReadOnly`, a special typing construct to mark" -" a :class:`~typing.TypedDict` item as read-only for type checkers." -msgstr "" - -#: ../../whatsnew/3.13.rst:1394 -msgid "" -":pep:`742`: Add :data:`~typing.TypeIs`, a typing construct that can be used " -"to instruct a type checker how to narrow a type." -msgstr "" - -#: ../../whatsnew/3.13.rst:1397 -msgid "" -"Add :data:`~typing.NoDefault`, a sentinel object used to represent the " -"defaults of some parameters in the :mod:`typing` module. (Contributed by " -"Jelle Zijlstra in :gh:`116126`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1401 -msgid "" -"Add :func:`~typing.get_protocol_members` to return the set of members " -"defining a :class:`typing.Protocol`. (Contributed by Jelle Zijlstra in " -":gh:`104873`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1405 -msgid "" -"Add :func:`~typing.is_protocol` to check whether a class is a " -":class:`~typing.Protocol`. (Contributed by Jelle Zijlstra in :gh:`104873`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1409 -msgid "" -":data:`~typing.ClassVar` can now be nested in :data:`~typing.Final`, and " -"vice versa. (Contributed by Mehdi Drissi in :gh:`89547`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1415 -msgid "unicodedata" -msgstr "unicodedata" - -#: ../../whatsnew/3.13.rst:1417 -msgid "" -"Update the Unicode database to `version 15.1.0`__. (Contributed by James " -"Gerity in :gh:`109559`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1424 -msgid "venv" -msgstr "venv" - -#: ../../whatsnew/3.13.rst:1426 -msgid "" -"Add support for creating source control management (SCM) ignore files in a " -"virtual environment's directory. By default, Git is supported. This is " -"implemented as opt-in via the API, which can be extended to support other " -"SCMs (:class:`~venv.EnvBuilder` and :func:`~venv.create`), and opt-out via " -"the CLI, using :option:`!--without-scm-ignore-files`. (Contributed by Brett " -"Cannon in :gh:`108125`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1437 -msgid "warnings" -msgstr "warnings" - -#: ../../whatsnew/3.13.rst:1439 -msgid "" -":pep:`702`: The new :func:`warnings.deprecated` decorator provides a way to " -"communicate deprecations to a :term:`static type checker` and to warn on " -"usage of deprecated classes and functions. A :exc:`DeprecationWarning` may " -"also be emitted when a decorated function or class is used at runtime. " -"(Contributed by Jelle Zijlstra in :gh:`104003`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1448 -msgid "xml" -msgstr "xml" - -#: ../../whatsnew/3.13.rst:1450 -msgid "" -"Allow controlling Expat >=2.6.0 reparse deferral (:cve:`2023-52425`) by " -"adding five new methods:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1453 -msgid ":meth:`xml.etree.ElementTree.XMLParser.flush`" -msgstr "" - -#: ../../whatsnew/3.13.rst:1454 -msgid ":meth:`xml.etree.ElementTree.XMLPullParser.flush`" -msgstr "" - -#: ../../whatsnew/3.13.rst:1455 -msgid ":meth:`xml.parsers.expat.xmlparser.GetReparseDeferralEnabled`" -msgstr "" - -#: ../../whatsnew/3.13.rst:1456 -msgid ":meth:`xml.parsers.expat.xmlparser.SetReparseDeferralEnabled`" -msgstr "" - -#: ../../whatsnew/3.13.rst:1457 -msgid ":meth:`!xml.sax.expatreader.ExpatParser.flush`" -msgstr "" - -#: ../../whatsnew/3.13.rst:1459 -msgid "(Contributed by Sebastian Pipping in :gh:`115623`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1461 -msgid "" -"Add the :meth:`!close` method for the iterator returned by " -":func:`~xml.etree.ElementTree.iterparse` for explicit cleanup. (Contributed " -"by Serhiy Storchaka in :gh:`69893`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1467 -msgid "zipimport" -msgstr "" - -#: ../../whatsnew/3.13.rst:1469 -msgid "" -"Add support for ZIP64_ format files. Everybody loves huge data, right? " -"(Contributed by Tim Hatch in :gh:`94146`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1477 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.13.rst:1479 -msgid "" -"Several standard library modules have had their import times significantly " -"improved. For example, the import time of the :mod:`typing` module has been " -"reduced by around a third by removing dependencies on :mod:`re` and " -":mod:`contextlib`. Other modules to enjoy import-time speedups include " -":mod:`email.utils`, :mod:`enum`, :mod:`functools`, " -":mod:`importlib.metadata`, and :mod:`threading`. (Contributed by Alex " -"Waygood, Shantanu Jain, Adam Turner, Daniel Hollas, and others in " -":gh:`109653`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1490 -msgid "" -":func:`textwrap.indent` is now around 30% faster than before for large " -"input. (Contributed by Inada Naoki in :gh:`107369`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1493 -msgid "" -"The :mod:`subprocess` module now uses the :func:`~os.posix_spawn` function " -"in more situations, including when *close_fds* is ``True`` (the default) on " -"many modern platforms. This should provide a notable performance increase " -"when launching processes on FreeBSD and Solaris. See the :ref:`subprocess " -"` section above for details. (Contributed by Jakub " -"Kulik in :gh:`113117`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1503 -msgid "Removed Modules And APIs" -msgstr "" - -#: ../../whatsnew/3.13.rst:1509 -msgid "PEP 594: Remove \"dead batteries\" from the standard library" -msgstr "" - -#: ../../whatsnew/3.13.rst:1511 -msgid "" -":pep:`594` proposed removing 19 modules from the standard library, " -"colloquially referred to as 'dead batteries' due to their historic, " -"obsolete, or insecure status. All of the following modules were deprecated " -"in Python 3.11, and are now removed:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1517 -msgid ":mod:`!aifc`" -msgstr ":mod:`!aifc`" - -#: ../../whatsnew/3.13.rst:1519 -msgid "" -":pypi:`standard-aifc`: Use the redistribution of ``aifc`` library from PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1522 -msgid ":mod:`!audioop`" -msgstr ":mod:`!audioop`" - -#: ../../whatsnew/3.13.rst:1524 -msgid ":pypi:`audioop-lts`: Use ``audioop-lts`` library from PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1527 -msgid ":mod:`!chunk`" -msgstr ":mod:`!chunk`" - -#: ../../whatsnew/3.13.rst:1529 -msgid "" -":pypi:`standard-chunk`: Use the redistribution of ``chunk`` library from " -"PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1532 -msgid ":mod:`!cgi` and :mod:`!cgitb`" -msgstr "" - -#: ../../whatsnew/3.13.rst:1534 -msgid "" -":class:`!cgi.FieldStorage` can typically be replaced with " -":func:`urllib.parse.parse_qsl` for ``GET`` and ``HEAD`` requests, and the " -":mod:`email.message` module or the :pypi:`multipart` library for ``POST`` " -"and ``PUT`` requests." -msgstr "" - -#: ../../whatsnew/3.13.rst:1539 -msgid "" -":func:`!cgi.parse` can be replaced by calling :func:`urllib.parse.parse_qs` " -"directly on the desired query string, unless the input is ``multipart/form-" -"data``, which should be replaced as described below for " -":func:`!cgi.parse_multipart`." -msgstr "" - -#: ../../whatsnew/3.13.rst:1544 -msgid "" -":func:`!cgi.parse_header` can be replaced with the functionality in the " -":mod:`email` package, which implements the same MIME RFCs. For example, with" -" :class:`email.message.EmailMessage`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1548 -msgid "" -"from email.message import EmailMessage\n" -"\n" -"msg = EmailMessage()\n" -"msg['content-type'] = 'application/json; charset=\"utf8\"'\n" -"main, params = msg.get_content_type(), msg['content-type'].params" -msgstr "" - -#: ../../whatsnew/3.13.rst:1556 -msgid "" -":func:`!cgi.parse_multipart` can be replaced with the functionality in the " -":mod:`email` package, which implements the same MIME RFCs, or with the " -":pypi:`multipart` library. For example, the " -":class:`email.message.EmailMessage` and :class:`email.message.Message` " -"classes." -msgstr "" - -#: ../../whatsnew/3.13.rst:1562 -msgid "" -":pypi:`standard-cgi`: and :pypi:`standard-cgitb`: Use the redistribution of " -"``cgi`` and ``cgitb`` library from PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1565 -msgid "" -":mod:`!crypt` and the private :mod:`!_crypt` extension. The :mod:`hashlib` " -"module may be an appropriate replacement when simply hashing a value is " -"required. Otherwise, various third-party libraries on PyPI are available:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1570 -msgid "" -":pypi:`bcrypt`: Modern password hashing for your software and your servers." -msgstr "" - -#: ../../whatsnew/3.13.rst:1572 -msgid "" -":pypi:`passlib`: Comprehensive password hashing framework supporting over 30" -" schemes." -msgstr "" - -#: ../../whatsnew/3.13.rst:1574 -msgid ":pypi:`argon2-cffi`: The secure Argon2 password hashing algorithm." -msgstr "" - -#: ../../whatsnew/3.13.rst:1576 -msgid "" -":pypi:`legacycrypt`: :mod:`ctypes` wrapper to the POSIX crypt library call " -"and associated functionality." -msgstr "" - -#: ../../whatsnew/3.13.rst:1579 -msgid "" -":pypi:`crypt_r`: Fork of the :mod:`!crypt` module, wrapper to the " -":manpage:`crypt_r(3)` library call and associated functionality." -msgstr "" - -#: ../../whatsnew/3.13.rst:1583 -msgid "" -":pypi:`standard-crypt` and :pypi:`deprecated-crypt-alternative`: Use the " -"redistribution of ``crypt`` and reimplementation of ``_crypt`` libraries " -"from PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1586 -msgid "" -":mod:`!imghdr`: The :pypi:`filetype`, :pypi:`puremagic`, or :pypi:`python-" -"magic` libraries should be used as replacements. For example, the " -":func:`!puremagic.what` function can be used to replace the " -":func:`!imghdr.what` function for all file formats that were supported by " -":mod:`!imghdr`." -msgstr "" - -#: ../../whatsnew/3.13.rst:1593 -msgid "" -":pypi:`standard-imghdr`: Use the redistribution of ``imghdr`` library from " -"PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1596 -msgid ":mod:`!mailcap`: Use the :mod:`mimetypes` module instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:1599 -msgid "" -":pypi:`standard-mailcap`: Use the redistribution of ``mailcap`` library from" -" PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1602 -msgid ":mod:`!msilib`" -msgstr ":mod:`!msilib`" - -#: ../../whatsnew/3.13.rst:1603 -msgid ":mod:`!nis`" -msgstr ":mod:`!nis`" - -#: ../../whatsnew/3.13.rst:1604 -msgid ":mod:`!nntplib`: Use the :pypi:`pynntp` library from PyPI instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:1607 -msgid "" -":pypi:`standard-nntplib`: Use the redistribution of ``nntplib`` library from" -" PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1610 -msgid "" -":mod:`!ossaudiodev`: For audio playback, use the :pypi:`pygame` library from" -" PyPI instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:1612 -msgid "" -":mod:`!pipes`: Use the :mod:`subprocess` module instead. Use " -":func:`shlex.quote` to replace the undocumented ``pipes.quote`` function." -msgstr "" - -#: ../../whatsnew/3.13.rst:1617 -msgid "" -":pypi:`standard-pipes`: Use the redistribution of ``pipes`` library from " -"PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1620 -msgid "" -":mod:`!sndhdr`: The :pypi:`filetype`, :pypi:`puremagic`, or :pypi:`python-" -"magic` libraries should be used as replacements." -msgstr "" - -#: ../../whatsnew/3.13.rst:1624 -msgid "" -":pypi:`standard-sndhdr`: Use the redistribution of ``sndhdr`` library from " -"PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1627 -msgid ":mod:`!spwd`: Use the :pypi:`python-pam` library from PyPI instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:1629 -msgid ":mod:`!sunau`" -msgstr ":mod:`!sunau`" - -#: ../../whatsnew/3.13.rst:1631 -msgid "" -":pypi:`standard-sunau`: Use the redistribution of ``sunau`` library from " -"PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1634 -msgid "" -":mod:`!telnetlib`, Use the :pypi:`telnetlib3` or :pypi:`Exscript` libraries " -"from PyPI instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:1637 -msgid "" -":pypi:`standard-telnetlib`: Use the redistribution of ``telnetlib`` library " -"from PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1640 -msgid "" -":mod:`!uu`: Use the :mod:`base64` module instead, as a modern alternative." -msgstr "" - -#: ../../whatsnew/3.13.rst:1643 -msgid "" -":pypi:`standard-uu`: Use the redistribution of ``uu`` library from PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1646 -msgid ":mod:`!xdrlib`" -msgstr ":mod:`!xdrlib`" - -#: ../../whatsnew/3.13.rst:1648 -msgid "" -":pypi:`standard-xdrlib`: Use the redistribution of ``xdrlib`` library from " -"PyPI." -msgstr "" - -#: ../../whatsnew/3.13.rst:1651 -msgid "" -"(Contributed by Victor Stinner and Zachary Ware in :gh:`104773` and " -":gh:`104780`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1655 -msgid "2to3" -msgstr "2ke3" - -#: ../../whatsnew/3.13.rst:1657 -msgid "" -"Remove the :program:`2to3` program and the :mod:`!lib2to3` module, " -"previously deprecated in Python 3.11. (Contributed by Victor Stinner in " -":gh:`104780`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1663 -msgid "builtins" -msgstr "builtins" - -#: ../../whatsnew/3.13.rst:1665 -msgid "" -"Remove support for chained :class:`classmethod` descriptors (introduced in " -":gh:`63272`). These can no longer be used to wrap other descriptors, such as" -" :class:`property`. The core design of this feature was flawed and led to " -"several problems. To \"pass-through\" a :class:`classmethod`, consider using" -" the :attr:`!__wrapped__` attribute that was added in Python 3.10. " -"(Contributed by Raymond Hettinger in :gh:`89519`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1674 -msgid "" -"Raise a :exc:`RuntimeError` when calling :meth:`frame.clear` on a suspended " -"frame (as has always been the case for an executing frame). (Contributed by " -"Irit Katriel in :gh:`79932`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1682 -msgid "" -"Remove the undocumented :class:`!LegacyInterpolation` class, deprecated in " -"the docstring since Python 3.2, and at runtime since Python 3.11. " -"(Contributed by Hugo van Kemenade in :gh:`104886`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1689 -msgid "importlib.metadata" -msgstr "" - -#: ../../whatsnew/3.13.rst:1691 -msgid "" -"Remove deprecated subscript (:meth:`~object.__getitem__`) access for " -":ref:`EntryPoint ` objects. (Contributed by Jason R. Coombs in" -" :gh:`113175`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1697 -msgid "locale" -msgstr "locale" - -#: ../../whatsnew/3.13.rst:1699 -msgid "" -"Remove the :func:`!locale.resetlocale` function, deprecated in Python 3.11. " -"Use ``locale.setlocale(locale.LC_ALL, \"\")`` instead. (Contributed by " -"Victor Stinner in :gh:`104783`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1705 -msgid "opcode" -msgstr "" - -#: ../../whatsnew/3.13.rst:1707 -msgid "" -"Move :attr:`!opcode.ENABLE_SPECIALIZATION` to " -":attr:`!_opcode.ENABLE_SPECIALIZATION`. This field was added in 3.12, it was" -" never documented, and is not intended for external use. (Contributed by " -"Irit Katriel in :gh:`105481`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1712 -msgid "" -"Remove :func:`!opcode.is_pseudo`, :attr:`!opcode.MIN_PSEUDO_OPCODE`, and " -":attr:`!opcode.MAX_PSEUDO_OPCODE`, which were added in Python 3.12, but were" -" neither documented nor exposed through :mod:`dis`, and were not intended to" -" be used externally. (Contributed by Irit Katriel in :gh:`105481`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1720 -msgid "optparse" -msgstr "" - -#: ../../whatsnew/3.13.rst:1722 -msgid "" -"This module is no longer considered :term:`soft deprecated`. While " -":mod:`argparse` remains preferred for new projects that aren't using a third" -" party command line argument processing library, there are aspects of the " -"way ``argparse`` works that mean the lower level ``optparse`` module may " -"provide a better foundation for *writing* argument processing libraries, and" -" for implementing command line applications which adhere more strictly than " -"``argparse`` does to various Unix command line processing conventions that " -"originate in the behaviour of the C :c:func:`!getopt` function . " -"(Contributed by Alyssa Coghlan and Serhiy Storchaka in :gh:`126180`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1738 -msgid "" -"Remove the ability to use :class:`~pathlib.Path` objects as context " -"managers. This functionality was deprecated and has had no effect since " -"Python 3.9. (Contributed by Barney Gale in :gh:`83863`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1746 -msgid "" -"Remove the undocumented, deprecated, and broken :func:`!re.template` " -"function and :attr:`!re.TEMPLATE` / :attr:`!re.T` flag. (Contributed by " -"Serhiy Storchaka and Nikita Sobolev in :gh:`105687`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1752 -msgid "tkinter.tix" -msgstr "" - -#: ../../whatsnew/3.13.rst:1754 -msgid "" -"Remove the :mod:`!tkinter.tix` module, deprecated in Python 3.6. The third-" -"party Tix library which the module wrapped is unmaintained. (Contributed by " -"Zachary Ware in :gh:`75552`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1760 -msgid "turtle" -msgstr "" - -#: ../../whatsnew/3.13.rst:1762 -msgid "" -"Remove the :meth:`!RawTurtle.settiltangle` method, deprecated in the " -"documentation since Python 3.1 and at runtime since Python 3.11. " -"(Contributed by Hugo van Kemenade in :gh:`104876`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1771 -msgid "" -"Remove the :mod:`!typing.io` and :mod:`!typing.re` namespaces, deprecated " -"since Python 3.8. The items in those namespaces can be imported directly " -"from the :mod:`typing` module. (Contributed by Sebastian Rittau in " -":gh:`92871`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1777 -msgid "" -"Remove the keyword-argument method of creating :class:`~typing.TypedDict` " -"types, deprecated in Python 3.11. (Contributed by Tomas Roun in " -":gh:`104786`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1783 -msgid "unittest" -msgstr "unittest" - -#: ../../whatsnew/3.13.rst:1785 -msgid "" -"Remove the following :mod:`unittest` functions, deprecated in Python 3.11:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1787 -msgid ":func:`!unittest.findTestCases`" -msgstr "" - -#: ../../whatsnew/3.13.rst:1788 -msgid ":func:`!unittest.makeSuite`" -msgstr "" - -#: ../../whatsnew/3.13.rst:1789 -msgid ":func:`!unittest.getTestCaseNames`" -msgstr "" - -#: ../../whatsnew/3.13.rst:1791 -msgid "Use :class:`~unittest.TestLoader` methods instead:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1793 -msgid ":meth:`~unittest.TestLoader.loadTestsFromModule`" -msgstr "" - -#: ../../whatsnew/3.13.rst:1794 -msgid ":meth:`~unittest.TestLoader.loadTestsFromTestCase`" -msgstr "" - -#: ../../whatsnew/3.13.rst:1795 -msgid ":meth:`~unittest.TestLoader.getTestCaseNames`" -msgstr "" - -#: ../../whatsnew/3.13.rst:1797 -msgid "(Contributed by Hugo van Kemenade in :gh:`104835`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1799 -msgid "" -"Remove the untested and undocumented :meth:`!TestProgram.usageExit` method, " -"deprecated in Python 3.11. (Contributed by Hugo van Kemenade in " -":gh:`104992`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1805 -msgid "urllib" -msgstr "" - -#: ../../whatsnew/3.13.rst:1807 -msgid "" -"Remove the *cafile*, *capath*, and *cadefault* parameters of the " -":func:`urllib.request.urlopen` function, deprecated in Python 3.6. Use the " -"*context* parameter instead with an :class:`~ssl.SSLContext` instance. The " -":meth:`ssl.SSLContext.load_cert_chain` function can be used to load specific" -" certificates, or let :func:`ssl.create_default_context` select the " -"operating system's trusted certificate authority (CA) certificates. " -"(Contributed by Victor Stinner in :gh:`105382`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1818 -msgid "webbrowser" -msgstr "" - -#: ../../whatsnew/3.13.rst:1820 -msgid "" -"Remove the untested and undocumented :class:`!MacOSX` class, deprecated in " -"Python 3.11. Use the :class:`!MacOSXOSAScript` class (introduced in Python " -"3.2) instead. (Contributed by Hugo van Kemenade in :gh:`104804`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1825 -msgid "" -"Remove the deprecated :attr:`!MacOSXOSAScript._name` attribute. Use the " -":attr:`MacOSXOSAScript.name ` attribute instead." -" (Contributed by Nikita Sobolev in :gh:`105546`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1832 -msgid "New Deprecations" -msgstr "" - -#: ../../whatsnew/3.13.rst:1834 -msgid ":ref:`User-defined functions `:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1836 -msgid "" -"Deprecate assignment to a function's :attr:`~function.__code__` attribute, " -"where the new code object's type does not match the function's type. The " -"different types are: plain function, generator, async generator, and " -"coroutine. (Contributed by Irit Katriel in :gh:`81137`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1842 -#: ../../deprecations/pending-removal-in-3.16.rst:11 -msgid ":mod:`array`:" -msgstr ":mod:`array`:" - -#: ../../whatsnew/3.13.rst:1844 -msgid "" -"Deprecate the ``'u'`` format code (:c:type:`wchar_t`) at runtime. This " -"format code has been deprecated in documentation since Python 3.3, and will " -"be removed in Python 3.16. Use the ``'w'`` format code (:c:type:`Py_UCS4`) " -"for Unicode characters instead. (Contributed by Hugo van Kemenade in " -":gh:`80480`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1851 -#: ../../deprecations/pending-removal-in-3.15.rst:16 -msgid ":mod:`ctypes`:" -msgstr ":mod:`ctypes`:" - -#: ../../whatsnew/3.13.rst:1853 -msgid "" -"Deprecate the undocumented :func:`!SetPointerType` function, to be removed " -"in Python 3.15. (Contributed by Victor Stinner in :gh:`105733`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1857 -msgid "" -":term:`Soft-deprecate ` the :func:`~ctypes.ARRAY` function " -"in favour of ``type * length`` multiplication. (Contributed by Victor " -"Stinner in :gh:`105733`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1861 -msgid ":mod:`decimal`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1863 -msgid "" -"Deprecate the non-standard and undocumented :class:`~decimal.Decimal` format" -" specifier ``'N'``, which is only supported in the :mod:`!decimal` module's " -"C implementation. (Contributed by Serhiy Storchaka in :gh:`89902`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1868 -msgid ":mod:`dis`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1870 -msgid "" -"Deprecate the :attr:`!HAVE_ARGUMENT` separator. Check membership in " -":data:`~dis.hasarg` instead. (Contributed by Irit Katriel in :gh:`109319`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1874 -msgid ":mod:`gettext`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1876 -msgid "" -"Deprecate non-integer numbers as arguments to functions and methods that " -"consider plural forms in the :mod:`!gettext` module, even if no translation " -"was found. (Contributed by Serhiy Storchaka in :gh:`88434`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1881 -msgid ":mod:`glob`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1883 -msgid "" -"Deprecate the undocumented :func:`!glob0` and :func:`!glob1` functions. Use " -":func:`~glob.glob` and pass a :term:`path-like object` specifying the root " -"directory to the *root_dir* parameter instead. (Contributed by Barney Gale " -"in :gh:`117337`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1888 -#: ../../deprecations/pending-removal-in-3.15.rst:21 -msgid ":mod:`http.server`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1890 -msgid "" -"Deprecate :class:`~http.server.CGIHTTPRequestHandler`, to be removed in " -"Python 3.15. Process-based CGI HTTP servers have been out of favor for a " -"very long time. This code was outdated, unmaintained, and rarely used. It " -"has a high potential for both security and functionality bugs. (Contributed " -"by Gregory P. Smith in :gh:`109096`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1897 -msgid "" -"Deprecate the :option:`!--cgi` flag to the :program:`python -m http.server` " -"command-line interface, to be removed in Python 3.15. (Contributed by " -"Gregory P. Smith in :gh:`109096`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1902 -#: ../../deprecations/pending-removal-in-3.16.rst:70 -msgid ":mod:`mimetypes`:" -msgstr ":mod:`mimetypes`:" - -#: ../../whatsnew/3.13.rst:1904 -msgid "" -":term:`Soft-deprecate ` file path arguments to " -":func:`~mimetypes.guess_type`, use :func:`~mimetypes.guess_file_type` " -"instead. (Contributed by Serhiy Storchaka in :gh:`66543`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1909 -msgid ":mod:`re`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1911 -msgid "" -"Deprecate passing the optional *maxsplit*, *count*, or *flags* arguments as " -"positional arguments to the module-level :func:`~re.split`, :func:`~re.sub`," -" and :func:`~re.subn` functions. These parameters will become :ref:`keyword-" -"only ` in a future version of Python. (Contributed " -"by Serhiy Storchaka in :gh:`56166`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1918 -#: ../../deprecations/pending-removal-in-3.15.rst:46 -msgid ":mod:`pathlib`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1920 -msgid "" -"Deprecate :meth:`.PurePath.is_reserved`, to be removed in Python 3.15. Use " -":func:`os.path.isreserved` to detect reserved paths on Windows. (Contributed" -" by Barney Gale in :gh:`88569`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1925 -#: ../../deprecations/pending-removal-in-3.15.rst:52 -msgid ":mod:`platform`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1927 -msgid "" -"Deprecate :func:`~platform.java_ver`, to be removed in Python 3.15. This " -"function is only useful for Jython support, has a confusing API, and is " -"largely untested. (Contributed by Nikita Sobolev in :gh:`116349`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1933 -msgid ":mod:`pydoc`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1935 -msgid "" -"Deprecate the undocumented :func:`!ispackage` function. (Contributed by " -"Zackery Spytz in :gh:`64020`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1938 -#: ../../deprecations/pending-removal-in-3.14.rst:91 -msgid ":mod:`sqlite3`:" -msgstr ":mod:`sqlite3`:" - -#: ../../whatsnew/3.13.rst:1940 -msgid "" -"Deprecate passing more than one positional argument to the " -":func:`~sqlite3.connect` function and the :class:`~sqlite3.Connection` " -"constructor. The remaining parameters will become keyword-only in Python " -"3.15. (Contributed by Erlend E. Aasland in :gh:`107948`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1946 -msgid "" -"Deprecate passing name, number of arguments, and the callable as keyword " -"arguments for :meth:`.Connection.create_function` and " -":meth:`.Connection.create_aggregate` These parameters will become " -"positional-only in Python 3.15. (Contributed by Erlend E. Aasland in " -":gh:`108278`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1952 -msgid "" -"Deprecate passing the callback callable by keyword for the " -":meth:`~sqlite3.Connection.set_authorizer`, " -":meth:`~sqlite3.Connection.set_progress_handler`, and " -":meth:`~sqlite3.Connection.set_trace_callback` :class:`~sqlite3.Connection` " -"methods. The callback callables will become positional-only in Python 3.15. " -"(Contributed by Erlend E. Aasland in :gh:`108278`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1960 -#: ../../deprecations/pending-removal-in-3.16.rst:90 -msgid ":mod:`sys`:" -msgstr ":mod:`sys`:" - -#: ../../whatsnew/3.13.rst:1962 -msgid "" -"Deprecate the :func:`~sys._enablelegacywindowsfsencoding` function, to be " -"removed in Python 3.16. Use the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " -"environment variable instead. (Contributed by Inada Naoki in :gh:`73427`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1967 -#: ../../deprecations/pending-removal-in-3.16.rst:102 -msgid ":mod:`tarfile`:" -msgstr ":mod:`tarfile`:" - -#: ../../whatsnew/3.13.rst:1969 -msgid "" -"Deprecate the undocumented and unused :attr:`!TarFile.tarfile` attribute, to" -" be removed in Python 3.16. (Contributed in :gh:`115256`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1973 -msgid ":mod:`traceback`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:1975 -msgid "" -"Deprecate the :attr:`.TracebackException.exc_type` attribute. Use " -":attr:`.TracebackException.exc_type_str` instead. (Contributed by Irit " -"Katriel in :gh:`112332`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1979 -#: ../../deprecations/pending-removal-in-3.15.rst:80 -#: ../../deprecations/pending-removal-in-3.17.rst:4 -msgid ":mod:`typing`:" -msgstr ":mod:`typing`:" - -#: ../../whatsnew/3.13.rst:1981 -msgid "" -"Deprecate the undocumented keyword argument syntax for creating " -":class:`~typing.NamedTuple` classes (e.g. ``Point = NamedTuple(\"Point\", " -"x=int, y=int)``), to be removed in Python 3.15. Use the class-based syntax " -"or the functional syntax instead. (Contributed by Alex Waygood in " -":gh:`105566`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1988 -msgid "" -"Deprecate omitting the *fields* parameter when creating a " -":class:`~typing.NamedTuple` or :class:`typing.TypedDict` class, and " -"deprecate passing ``None`` to the *fields* parameter of both types. Python " -"3.15 will require a valid sequence for the *fields* parameter. To create a " -"NamedTuple class with zero fields, use ``class NT(NamedTuple): pass`` or " -"``NT = NamedTuple(\"NT\", ())``. To create a TypedDict class with zero " -"fields, use ``class TD(TypedDict): pass`` or ``TD = TypedDict(\"TD\", {})``." -" (Contributed by Alex Waygood in :gh:`105566` and :gh:`105570`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:1998 -msgid "" -"Deprecate the :func:`typing.no_type_check_decorator` decorator function, to " -"be removed in in Python 3.15. After eight years in the :mod:`typing` module," -" it has yet to be supported by any major type checker. (Contributed by Alex " -"Waygood in :gh:`106309`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2004 -msgid "" -"Deprecate :data:`typing.AnyStr`. In Python 3.16, it will be removed from " -"``typing.__all__``, and a :exc:`DeprecationWarning` will be emitted at " -"runtime when it is imported or accessed. It will be removed entirely in " -"Python 3.18. Use the new :ref:`type parameter syntax ` instead." -" (Contributed by Michael The in :gh:`107116`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2012 -#: ../../deprecations/pending-removal-in-3.15.rst:100 -msgid ":mod:`wave`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2014 -msgid "" -"Deprecate the :meth:`~wave.Wave_read.getmark`, :meth:`!setmark`, and " -":meth:`~wave.Wave_read.getmarkers` methods of the :class:`~wave.Wave_read` " -"and :class:`~wave.Wave_write` classes, to be removed in Python 3.15. " -"(Contributed by Victor Stinner in :gh:`105096`.)" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.14.rst:2 -#: ../../deprecations/pending-removal-in-3.14.rst:2 -msgid "Pending removal in Python 3.14" -msgstr "Penghapusan yang tertunda di Python 3.14" - -#: ../../deprecations/pending-removal-in-3.14.rst:4 -msgid "" -":mod:`argparse`: The *type*, *choices*, and *metavar* parameters of " -":class:`!argparse.BooleanOptionalAction` are deprecated and will be removed " -"in 3.14. (Contributed by Nikita Sobolev in :gh:`92248`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:9 -msgid "" -":mod:`ast`: The following features have been deprecated in documentation " -"since Python 3.8, now cause a :exc:`DeprecationWarning` to be emitted at " -"runtime when they are accessed or used, and will be removed in Python 3.14:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:13 -msgid ":class:`!ast.Num`" -msgstr ":class:`!ast.Num`" - -#: ../../deprecations/pending-removal-in-3.14.rst:14 -msgid ":class:`!ast.Str`" -msgstr ":class:`!ast.Str`" - -#: ../../deprecations/pending-removal-in-3.14.rst:15 -msgid ":class:`!ast.Bytes`" -msgstr ":class:`!ast.Bytes`" - -#: ../../deprecations/pending-removal-in-3.14.rst:16 -msgid ":class:`!ast.NameConstant`" -msgstr ":class:`!ast.NameConstant`" - -#: ../../deprecations/pending-removal-in-3.14.rst:17 -msgid ":class:`!ast.Ellipsis`" -msgstr ":class:`!ast.Ellipsis`" - -#: ../../deprecations/pending-removal-in-3.14.rst:19 -msgid "" -"Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka in " -":gh:`90953`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:22 -#: ../../deprecations/pending-removal-in-3.16.rst:19 -msgid ":mod:`asyncio`:" -msgstr ":mod:`asyncio`:" - -#: ../../deprecations/pending-removal-in-3.14.rst:24 -msgid "" -"The child watcher classes :class:`!asyncio.MultiLoopChildWatcher`, " -":class:`!asyncio.FastChildWatcher`, :class:`!asyncio.AbstractChildWatcher` " -"and :class:`!asyncio.SafeChildWatcher` are deprecated and will be removed in" -" Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:30 -msgid "" -":func:`!asyncio.set_child_watcher`, :func:`!asyncio.get_child_watcher`, " -":meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher` and " -":meth:`!asyncio.AbstractEventLoopPolicy.get_child_watcher` are deprecated " -"and will be removed in Python 3.14. (Contributed by Kumar Aditya in " -":gh:`94597`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:36 -msgid "" -"The :meth:`~asyncio.get_event_loop` method of the default event loop policy " -"now emits a :exc:`DeprecationWarning` if there is no current event loop set " -"and it decides to create one. (Contributed by Serhiy Storchaka and Guido van" -" Rossum in :gh:`100160`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:41 -msgid "" -":mod:`collections.abc`: Deprecated :class:`!collections.abc.ByteString`. " -"Prefer :class:`!Sequence` or :class:`~collections.abc.Buffer`. For use in " -"typing, prefer a union, like ``bytes | bytearray``, or " -":class:`collections.abc.Buffer`. (Contributed by Shantanu Jain in " -":gh:`91896`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:47 -msgid "" -":mod:`email`: Deprecated the *isdst* parameter in " -":func:`email.utils.localtime`. (Contributed by Alan Williams in " -":gh:`72346`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:50 -msgid ":mod:`importlib.abc` deprecated classes:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:52 -msgid ":class:`!importlib.abc.ResourceReader`" -msgstr ":class:`!importlib.abc.ResourceReader`" - -#: ../../deprecations/pending-removal-in-3.14.rst:53 -msgid ":class:`!importlib.abc.Traversable`" -msgstr ":class:`!importlib.abc.Traversable`" - -#: ../../deprecations/pending-removal-in-3.14.rst:54 -msgid ":class:`!importlib.abc.TraversableResources`" -msgstr ":class:`!importlib.abc.TraversableResources`" - -#: ../../deprecations/pending-removal-in-3.14.rst:56 -msgid "Use :mod:`importlib.resources.abc` classes instead:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:58 -msgid ":class:`importlib.resources.abc.Traversable`" -msgstr ":class:`importlib.resources.abc.Traversable`" - -#: ../../deprecations/pending-removal-in-3.14.rst:59 -msgid ":class:`importlib.resources.abc.TraversableResources`" -msgstr ":class:`importlib.resources.abc.TraversableResources`" - -#: ../../deprecations/pending-removal-in-3.14.rst:61 -msgid "(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:63 -msgid "" -":mod:`itertools` had undocumented, inefficient, historically buggy, and " -"inconsistent support for copy, deepcopy, and pickle operations. This will be" -" removed in 3.14 for a significant reduction in code volume and maintenance " -"burden. (Contributed by Raymond Hettinger in :gh:`101588`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:69 -msgid "" -":mod:`multiprocessing`: The default start method will change to a safer one " -"on Linux, BSDs, and other non-macOS POSIX platforms where ``'fork'`` is " -"currently the default (:gh:`84559`). Adding a runtime warning about this was" -" deemed too disruptive as the majority of code is not expected to care. Use " -"the :func:`~multiprocessing.get_context` or " -":func:`~multiprocessing.set_start_method` APIs to explicitly specify when " -"your code *requires* ``'fork'``. See :ref:`multiprocessing-start-methods`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:77 -msgid "" -":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` and " -":meth:`~pathlib.PurePath.relative_to`: passing additional arguments is " -"deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:81 -msgid "" -":mod:`pkgutil`: :func:`!pkgutil.find_loader` and :func:`!pkgutil.get_loader`" -" now raise :exc:`DeprecationWarning`; use :func:`importlib.util.find_spec` " -"instead. (Contributed by Nikita Sobolev in :gh:`97850`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:86 -msgid ":mod:`pty`:" -msgstr ":mod:`pty`:" - -#: ../../deprecations/pending-removal-in-3.14.rst:88 -msgid "``master_open()``: use :func:`pty.openpty`." -msgstr "``master_open()``: gunakan :func:`pty.openpty`." - -#: ../../deprecations/pending-removal-in-3.14.rst:89 -msgid "``slave_open()``: use :func:`pty.openpty`." -msgstr "``slave_open()``: gunakan :func:`pty.openpty`." - -#: ../../deprecations/pending-removal-in-3.14.rst:93 -msgid ":data:`!version` and :data:`!version_info`." -msgstr ":data:`!version` dan :data:`!version_info`." - -#: ../../deprecations/pending-removal-in-3.14.rst:95 -msgid "" -":meth:`~sqlite3.Cursor.execute` and :meth:`~sqlite3.Cursor.executemany` if " -":ref:`named placeholders ` are used and *parameters* " -"is a sequence instead of a :class:`dict`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:99 -msgid "" -":mod:`typing`: :class:`!typing.ByteString`, deprecated since Python 3.9, now" -" causes a :exc:`DeprecationWarning` to be emitted when it is used." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.14.rst:102 -msgid "" -":mod:`urllib`: :class:`!urllib.parse.Quoter` is deprecated: it was not " -"intended to be a public API. (Contributed by Gregory P. Smith in " -":gh:`88168`.)" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:2 -#: ../../deprecations/pending-removal-in-3.15.rst:2 -msgid "Pending removal in Python 3.15" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:4 -#: ../../deprecations/pending-removal-in-3.16.rst:4 -msgid "The import system:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:6 -msgid "" -"Setting :attr:`~module.__cached__` on a module while failing to set " -":attr:`__spec__.cached ` is " -"deprecated. In Python 3.15, :attr:`!__cached__` will cease to be set or take" -" into consideration by the import system or standard library. (:gh:`97879`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:11 -msgid "" -"Setting :attr:`~module.__package__` on a module while failing to set " -":attr:`__spec__.parent ` is " -"deprecated. In Python 3.15, :attr:`!__package__` will cease to be set or " -"take into consideration by the import system or standard library. " -"(:gh:`97879`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:18 -msgid "" -"The undocumented :func:`!ctypes.SetPointerType` function has been deprecated" -" since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:23 -msgid "" -"The obsolete and rarely used :class:`~http.server.CGIHTTPRequestHandler` has" -" been deprecated since Python 3.13. No direct replacement exists. *Anything*" -" is better than CGI to interface a web server with a request handler." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:29 -msgid "" -"The :option:`!--cgi` flag to the :program:`python -m http.server` command-" -"line interface has been deprecated since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:32 -#: ../../deprecations/pending-removal-in-future.rst:64 -msgid ":mod:`importlib`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:34 -msgid "``load_module()`` method: use ``exec_module()`` instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:36 -msgid ":class:`locale`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:38 -msgid "" -"The :func:`~locale.getdefaultlocale` function has been deprecated since " -"Python 3.11. Its removal was originally planned for Python 3.13 " -"(:gh:`90817`), but has been postponed to Python 3.15. Use " -":func:`~locale.getlocale`, :func:`~locale.setlocale`, and " -":func:`~locale.getencoding` instead. (Contributed by Hugo van Kemenade in " -":gh:`111187`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:48 -msgid "" -":meth:`.PurePath.is_reserved` has been deprecated since Python 3.13. Use " -":func:`os.path.isreserved` to detect reserved paths on Windows." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:54 -msgid "" -":func:`~platform.java_ver` has been deprecated since Python 3.13. This " -"function is only useful for Jython support, has a confusing API, and is " -"largely untested." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:58 -#: ../../deprecations/pending-removal-in-3.16.rst:96 -msgid ":mod:`sysconfig`:" -msgstr ":mod:`sysconfig`:" - -#: ../../deprecations/pending-removal-in-3.15.rst:60 -msgid "" -"The *check_home* argument of :func:`sysconfig.is_python_build` has been " -"deprecated since Python 3.12." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:63 -msgid ":mod:`threading`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:65 -msgid "" -":func:`~threading.RLock` will take no arguments in Python 3.15. Passing any " -"arguments has been deprecated since Python 3.14, as the Python version does" -" not permit any arguments, but the C version allows any number of positional" -" or keyword arguments, ignoring every argument." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:71 -msgid ":mod:`types`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:73 -msgid "" -":class:`types.CodeType`: Accessing :attr:`~codeobject.co_lnotab` was " -"deprecated in :pep:`626` since 3.10 and was planned to be removed in 3.12, " -"but it only got a proper :exc:`DeprecationWarning` in 3.12. May be removed " -"in 3.15. (Contributed by Nikita Sobolev in :gh:`101866`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:82 -msgid "" -"The undocumented keyword argument syntax for creating " -":class:`~typing.NamedTuple` classes (for example, ``Point = " -"NamedTuple(\"Point\", x=int, y=int)``) has been deprecated since Python " -"3.13. Use the class-based syntax or the functional syntax instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:88 -msgid "" -"When using the functional syntax of :class:`~typing.TypedDict`\\s, failing " -"to pass a value to the *fields* parameter (``TD = TypedDict(\"TD\")``) or " -"passing ``None`` (``TD = TypedDict(\"TD\", None)``) has been deprecated " -"since Python 3.13. Use ``class TD(TypedDict): pass`` or ``TD = " -"TypedDict(\"TD\", {})`` to create a TypedDict with zero field." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:95 -msgid "" -"The :func:`typing.no_type_check_decorator` decorator function has been " -"deprecated since Python 3.13. After eight years in the :mod:`typing` module," -" it has yet to be supported by any major type checker." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:102 -msgid "" -"The :meth:`~wave.Wave_read.getmark`, :meth:`!setmark`, and " -":meth:`~wave.Wave_read.getmarkers` methods of the :class:`~wave.Wave_read` " -"and :class:`~wave.Wave_write` classes have been deprecated since Python " -"3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:107 -msgid ":mod:`zipimport`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:109 -msgid "" -":meth:`~zipimport.zipimporter.load_module` has been deprecated since Python " -"3.10. Use :meth:`~zipimport.zipimporter.exec_module` instead. (Contributed " -"by Jiahao Li in :gh:`125746`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:2 -msgid "Pending removal in Python 3.16" -msgstr "Penghapusan yang tertunda di Python 3.16" - -#: ../../deprecations/pending-removal-in-3.16.rst:6 -msgid "" -"Setting :attr:`~module.__loader__` on a module while failing to set " -":attr:`__spec__.loader ` is " -"deprecated. In Python 3.16, :attr:`!__loader__` will cease to be set or " -"taken into consideration by the import system or the standard library." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:13 -msgid "" -"The ``'u'`` format code (:c:type:`wchar_t`) has been deprecated in " -"documentation since Python 3.3 and at runtime since Python 3.13. Use the " -"``'w'`` format code (:c:type:`Py_UCS4`) for Unicode characters instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:21 -msgid "" -":func:`!asyncio.iscoroutinefunction` is deprecated and will be removed in " -"Python 3.16; use :func:`inspect.iscoroutinefunction` instead. (Contributed " -"by Jiahao Li and Kumar Aditya in :gh:`122875`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:26 -msgid "" -":mod:`asyncio` policy system is deprecated and will be removed in Python " -"3.16. In particular, the following classes and functions are deprecated:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:29 -msgid ":class:`asyncio.AbstractEventLoopPolicy`" -msgstr ":class:`asyncio.AbstractEventLoopPolicy`" - -#: ../../deprecations/pending-removal-in-3.16.rst:30 -msgid ":class:`asyncio.DefaultEventLoopPolicy`" -msgstr ":class:`asyncio.DefaultEventLoopPolicy`" - -#: ../../deprecations/pending-removal-in-3.16.rst:31 -msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`" -msgstr ":class:`asyncio.WindowsSelectorEventLoopPolicy`" - -#: ../../deprecations/pending-removal-in-3.16.rst:32 -msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`" -msgstr ":class:`asyncio.WindowsProactorEventLoopPolicy`" - -#: ../../deprecations/pending-removal-in-3.16.rst:33 -msgid ":func:`asyncio.get_event_loop_policy`" -msgstr ":func:`asyncio.get_event_loop_policy`" - -#: ../../deprecations/pending-removal-in-3.16.rst:34 -msgid ":func:`asyncio.set_event_loop_policy`" -msgstr ":func:`asyncio.set_event_loop_policy`" - -#: ../../deprecations/pending-removal-in-3.16.rst:36 -msgid "" -"Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with " -"*loop_factory* to use the desired event loop implementation." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:39 -msgid "For example, to use :class:`asyncio.SelectorEventLoop` on Windows::" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:41 -msgid "" -"import asyncio\n" -"\n" -"async def main():\n" -" ...\n" -"\n" -"asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:48 -msgid "(Contributed by Kumar Aditya in :gh:`127949`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:50 -#: ../../deprecations/pending-removal-in-future.rst:16 -msgid ":mod:`builtins`:" -msgstr ":mod:`builtins`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:52 -msgid "" -"Bitwise inversion on boolean types, ``~True`` or ``~False`` has been " -"deprecated since Python 3.12, as it produces surprising and unintuitive " -"results (``-2`` and ``-1``). Use ``not x`` instead for the logical negation " -"of a Boolean. In the rare case that you need the bitwise inversion of the " -"underlying integer, convert to ``int`` explicitly (``~int(x)``)." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:59 -msgid ":mod:`functools`:" -msgstr ":mod:`functools`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:61 -msgid "" -"Calling the Python implementation of :func:`functools.reduce` with " -"*function* or *sequence* as keyword arguments has been deprecated since " -"Python 3.14." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:64 -msgid ":mod:`logging`:" -msgstr ":mod:`logging`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:66 -msgid "" -"Support for custom logging handlers with the *strm* argument is deprecated " -"and scheduled for removal in Python 3.16. Define handlers with the *stream* " -"argument instead. (Contributed by Mariusz Felisiak in :gh:`115032`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:72 -msgid "" -"Valid extensions start with a '.' or are empty for " -":meth:`mimetypes.MimeTypes.add_type`. Undotted extensions are deprecated and" -" will raise a :exc:`ValueError` in Python 3.16. (Contributed by Hugo van " -"Kemenade in :gh:`75223`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:78 -msgid ":mod:`shutil`:" -msgstr ":mod:`shutil`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:80 -msgid "" -"The :class:`!ExecError` exception has been deprecated since Python 3.14. It " -"has not been used by any function in :mod:`!shutil` since Python 3.4, and is" -" now an alias of :exc:`RuntimeError`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:85 -msgid ":mod:`symtable`:" -msgstr ":mod:`symtable`:" - -#: ../../deprecations/pending-removal-in-3.16.rst:87 -msgid "" -"The :meth:`Class.get_methods ` method has been " -"deprecated since Python 3.14." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:92 -msgid "" -"The :func:`~sys._enablelegacywindowsfsencoding` function has been deprecated" -" since Python 3.13. Use the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " -"environment variable instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:98 -msgid "" -"The :func:`!sysconfig.expand_makefile_vars` function has been deprecated " -"since Python 3.14. Use the ``vars`` argument of :func:`sysconfig.get_paths` " -"instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:104 -msgid "" -"The undocumented and unused :attr:`!TarFile.tarfile` attribute has been " -"deprecated since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.17.rst:2 -msgid "Pending removal in Python 3.17" -msgstr "Penghapusan yang tertunda di Python 3.17" - -#: ../../deprecations/pending-removal-in-3.17.rst:6 -msgid "" -"Before Python 3.14, old-style unions were implemented using the private " -"class ``typing._UnionGenericAlias``. This class is no longer needed for the " -"implementation, but it has been retained for backward compatibility, with " -"removal scheduled for Python 3.17. Users should use documented introspection" -" helpers like :func:`typing.get_origin` and :func:`typing.get_args` instead " -"of relying on private implementation details." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:2 -#: ../../deprecations/pending-removal-in-future.rst:2 -msgid "Pending removal in future versions" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:4 -msgid "" -"The following APIs will be removed in the future, although there is " -"currently no date scheduled for their removal." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:7 -msgid ":mod:`argparse`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:9 -msgid "" -"Nesting argument groups and nesting mutually exclusive groups are " -"deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:11 -msgid "" -"Passing the undocumented keyword argument *prefix_chars* to " -":meth:`~argparse.ArgumentParser.add_argument_group` is now deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:14 -msgid "The :class:`argparse.FileType` type converter is deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:18 -msgid "``bool(NotImplemented)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:19 -msgid "" -"Generators: ``throw(type, exc, tb)`` and ``athrow(type, exc, tb)`` signature" -" is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " -"argument signature." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:22 -msgid "" -"Currently Python accepts numeric literals immediately followed by keywords, " -"for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and " -"ambiguous expressions like ``[0x1for x in y]`` (which can be interpreted as " -"``[0x1 for x in y]`` or ``[0x1f or x in y]``). A syntax warning is raised " -"if the numeric literal is immediately followed by one of keywords " -":keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, " -":keyword:`in`, :keyword:`is` and :keyword:`or`. In a future release it will" -" be changed to a syntax error. (:gh:`87999`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:30 -msgid "" -"Support for ``__index__()`` and ``__int__()`` method returning non-int type:" -" these methods will be required to return an instance of a strict subclass " -"of :class:`int`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:33 -msgid "" -"Support for ``__float__()`` method returning a strict subclass of " -":class:`float`: these methods will be required to return an instance of " -":class:`float`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:36 -msgid "" -"Support for ``__complex__()`` method returning a strict subclass of " -":class:`complex`: these methods will be required to return an instance of " -":class:`complex`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:39 -msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:40 -msgid "" -"Passing a complex number as the *real* or *imag* argument in the " -":func:`complex` constructor is now deprecated; it should only be passed as a" -" single positional argument. (Contributed by Serhiy Storchaka in " -":gh:`109218`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:45 -msgid "" -":mod:`calendar`: ``calendar.January`` and ``calendar.February`` constants " -"are deprecated and replaced by :data:`calendar.JANUARY` and " -":data:`calendar.FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:50 -msgid "" -":mod:`codecs`: use :func:`open` instead of :func:`codecs.open`. " -"(:gh:`133038`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:52 -msgid "" -":attr:`codeobject.co_lnotab`: use the :meth:`codeobject.co_lines` method " -"instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:55 -msgid ":mod:`datetime`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:57 -msgid "" -":meth:`~datetime.datetime.utcnow`: use " -"``datetime.datetime.now(tz=datetime.UTC)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:59 -msgid "" -":meth:`~datetime.datetime.utcfromtimestamp`: use " -"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:62 -msgid ":mod:`gettext`: Plural value must be an integer." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:66 -msgid "" -":func:`~importlib.util.cache_from_source` *debug_override* parameter is " -"deprecated: use the *optimization* parameter instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:69 -msgid ":mod:`importlib.metadata`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:71 -msgid "``EntryPoints`` tuple interface." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:72 -msgid "Implicit ``None`` on return values." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:74 -msgid "" -":mod:`logging`: the ``warn()`` method has been deprecated since Python 3.3, " -"use :meth:`~logging.warning` instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:77 -msgid "" -":mod:`mailbox`: Use of StringIO input and text mode is deprecated, use " -"BytesIO and binary mode instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:80 -msgid "" -":mod:`os`: Calling :func:`os.register_at_fork` in multi-threaded process." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:82 -msgid "" -":class:`!pydoc.ErrorDuringImport`: A tuple value for *exc_info* parameter is" -" deprecated, use an exception instance." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:85 -msgid "" -":mod:`re`: More strict rules are now applied for numerical group references " -"and group names in regular expressions. Only sequence of ASCII digits is " -"now accepted as a numerical reference. The group name in bytes patterns and" -" replacement strings can now only contain ASCII letters and digits and " -"underscore. (Contributed by Serhiy Storchaka in :gh:`91760`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:92 -msgid "" -":mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse` modules." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:94 -msgid "" -":mod:`shutil`: :func:`~shutil.rmtree`'s *onerror* parameter is deprecated in" -" Python 3.12; use the *onexc* parameter instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:97 -msgid ":mod:`ssl` options and protocols:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:99 -msgid ":class:`ssl.SSLContext` without protocol argument is deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:100 -msgid "" -":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` and " -":meth:`!selected_npn_protocol` are deprecated: use ALPN instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:103 -msgid "``ssl.OP_NO_SSL*`` options" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:104 -msgid "``ssl.OP_NO_TLS*`` options" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:105 -msgid "``ssl.PROTOCOL_SSLv3``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:106 -msgid "``ssl.PROTOCOL_TLS``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:107 -msgid "``ssl.PROTOCOL_TLSv1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:108 -msgid "``ssl.PROTOCOL_TLSv1_1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:109 -msgid "``ssl.PROTOCOL_TLSv1_2``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:110 -msgid "``ssl.TLSVersion.SSLv3``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:111 -msgid "``ssl.TLSVersion.TLSv1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:112 -msgid "``ssl.TLSVersion.TLSv1_1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:114 -msgid ":mod:`threading` methods:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:116 -msgid "" -":meth:`!threading.Condition.notifyAll`: use " -":meth:`~threading.Condition.notify_all`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:117 -msgid ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:118 -msgid "" -":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use " -":attr:`threading.Thread.daemon` attribute." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:120 -msgid "" -":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use " -":attr:`threading.Thread.name` attribute." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:122 -msgid "" -":meth:`!threading.currentThread`: use :meth:`threading.current_thread`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:123 -msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:125 -msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:127 -msgid "" -"The internal class ``typing._UnionGenericAlias`` is no longer used to " -"implement :class:`typing.Union`. To preserve compatibility with users using " -"this private class, a compatibility shim will be provided until at least " -"Python 3.17. (Contributed by Jelle Zijlstra in :gh:`105499`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:132 -msgid "" -":class:`unittest.IsolatedAsyncioTestCase`: it is deprecated to return a " -"value that is not ``None`` from a test case." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:135 -msgid "" -":mod:`urllib.parse` deprecated functions: :func:`~urllib.parse.urlparse` " -"instead" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:137 -msgid "``splitattr()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:138 -msgid "``splithost()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:139 -msgid "``splitnport()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:140 -msgid "``splitpasswd()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:141 -msgid "``splitport()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:142 -msgid "``splitquery()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:143 -msgid "``splittag()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:144 -msgid "``splittype()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:145 -msgid "``splituser()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:146 -msgid "``splitvalue()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:147 -msgid "``to_bytes()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:149 -msgid "" -":mod:`wsgiref`: ``SimpleHandler.stdout.write()`` should not do partial " -"writes." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:152 -msgid "" -":mod:`xml.etree.ElementTree`: Testing the truth value of an " -":class:`~xml.etree.ElementTree.Element` is deprecated. In a future release " -"it will always return ``True``. Prefer explicit ``len(elem)`` or ``elem is " -"not None`` tests instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:157 -msgid "" -":func:`sys._clear_type_cache` is deprecated: use " -":func:`sys._clear_internal_caches` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2033 -msgid "CPython Bytecode Changes" -msgstr "" - -#: ../../whatsnew/3.13.rst:2035 -msgid "" -"The oparg of :opcode:`YIELD_VALUE` is now ``1`` if the yield is part of a " -"yield-from or await, and ``0`` otherwise. The oparg of :opcode:`RESUME` was " -"changed to add a bit indicating if the except-depth is 1, which is needed to" -" optimize closing of generators. (Contributed by Irit Katriel in " -":gh:`111354`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2043 -msgid "C API Changes" -msgstr "" - -#: ../../whatsnew/3.13.rst:2048 -msgid "" -"Add the :ref:`PyMonitoring C API ` for generating " -":pep:`669` monitoring events:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2051 -msgid ":c:type:`PyMonitoringState`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2052 -msgid ":c:func:`PyMonitoring_FirePyStartEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2053 -msgid ":c:func:`PyMonitoring_FirePyResumeEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2054 -msgid ":c:func:`PyMonitoring_FirePyReturnEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2055 -msgid ":c:func:`PyMonitoring_FirePyYieldEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2056 -msgid ":c:func:`PyMonitoring_FireCallEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2057 -msgid ":c:func:`PyMonitoring_FireLineEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2058 -msgid ":c:func:`PyMonitoring_FireJumpEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2059 -msgid "``PyMonitoring_FireBranchEvent``" -msgstr "" - -#: ../../whatsnew/3.13.rst:2060 -msgid ":c:func:`PyMonitoring_FireCReturnEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2061 -msgid ":c:func:`PyMonitoring_FirePyThrowEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2062 -msgid ":c:func:`PyMonitoring_FireRaiseEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2063 -msgid ":c:func:`PyMonitoring_FireCRaiseEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2064 -msgid ":c:func:`PyMonitoring_FireReraiseEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2065 -msgid ":c:func:`PyMonitoring_FireExceptionHandledEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2066 -msgid ":c:func:`PyMonitoring_FirePyUnwindEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2067 -msgid ":c:func:`PyMonitoring_FireStopIterationEvent`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2068 -msgid ":c:func:`PyMonitoring_EnterScope`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2069 -msgid ":c:func:`PyMonitoring_ExitScope`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2071 -msgid "(Contributed by Irit Katriel in :gh:`111997`)." -msgstr "" - -#: ../../whatsnew/3.13.rst:2073 -msgid "" -"Add :c:type:`PyMutex`, a lightweight mutex that occupies a single byte, and " -"the new :c:func:`PyMutex_Lock` and :c:func:`PyMutex_Unlock` functions. " -":c:func:`!PyMutex_Lock` will release the :term:`GIL` (if currently held) if " -"the operation needs to block. (Contributed by Sam Gross in :gh:`108724`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2079 -msgid "" -"Add the :ref:`PyTime C API ` to provide access to system clocks:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2081 -msgid ":c:type:`PyTime_t`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2082 -msgid ":c:var:`PyTime_MIN` and :c:var:`PyTime_MAX`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2083 -msgid ":c:func:`PyTime_AsSecondsDouble`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2084 -msgid ":c:func:`PyTime_Monotonic`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2085 -msgid ":c:func:`PyTime_MonotonicRaw`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2086 -msgid ":c:func:`PyTime_PerfCounter`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2087 -msgid ":c:func:`PyTime_PerfCounterRaw`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2088 -msgid ":c:func:`PyTime_Time`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2089 -msgid ":c:func:`PyTime_TimeRaw`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2091 -msgid "(Contributed by Victor Stinner and Petr Viktorin in :gh:`110850`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2093 -msgid "" -"Add the :c:func:`PyDict_ContainsString` function with the same behavior as " -":c:func:`PyDict_Contains`, but *key* is specified as a :c:expr:`const char*`" -" UTF-8 encoded bytes string, rather than a :c:expr:`PyObject*`. (Contributed" -" by Victor Stinner in :gh:`108314`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2099 -msgid "" -"Add the :c:func:`PyDict_GetItemRef` and :c:func:`PyDict_GetItemStringRef` " -"functions, which behave similarly to :c:func:`PyDict_GetItemWithError`, but " -"return a :term:`strong reference` instead of a :term:`borrowed reference`. " -"Moreover, these functions return ``-1`` on error, removing the need to check" -" :c:func:`!PyErr_Occurred`. (Contributed by Victor Stinner in :gh:`106004`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2107 -msgid "" -"Add the :c:func:`PyDict_SetDefaultRef` function, which behaves similarly to " -":c:func:`PyDict_SetDefault`, but returns a :term:`strong reference` instead " -"of a :term:`borrowed reference`. This function returns ``-1`` on error, " -"``0`` on insertion, and ``1`` if the key was already present in the " -"dictionary. (Contributed by Sam Gross in :gh:`112066`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2115 -msgid "" -"Add the :c:func:`PyDict_Pop` and :c:func:`PyDict_PopString` functions to " -"remove a key from a dictionary and optionally return the removed value. This" -" is similar to :meth:`dict.pop`, though there is no default value, and " -":exc:`KeyError` is not raised for missing keys. (Contributed by Stefan " -"Behnel and Victor Stinner in :gh:`111262`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2122 -msgid "" -"Add the :c:func:`PyMapping_GetOptionalItem` and " -":c:func:`PyMapping_GetOptionalItemString` functions as alternatives to " -":c:func:`PyObject_GetItem` and :c:func:`PyMapping_GetItemString` " -"respectively. The new functions do not raise :exc:`KeyError` if the " -"requested key is missing from the mapping. These variants are more " -"convenient and faster if a missing key should not be treated as a failure. " -"(Contributed by Serhiy Storchaka in :gh:`106307`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2132 -msgid "" -"Add the :c:func:`PyObject_GetOptionalAttr` and " -":c:func:`PyObject_GetOptionalAttrString` functions as alternatives to " -":c:func:`PyObject_GetAttr` and :c:func:`PyObject_GetAttrString` " -"respectively. The new functions do not raise :exc:`AttributeError` if the " -"requested attribute is not found on the object. These variants are more " -"convenient and faster if the missing attribute should not be treated as a " -"failure. (Contributed by Serhiy Storchaka in :gh:`106521`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2142 -msgid "" -"Add the :c:func:`PyErr_FormatUnraisable` function as an extension to " -":c:func:`PyErr_WriteUnraisable` that allows customizing the warning message." -" (Contributed by Serhiy Storchaka in :gh:`108082`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2147 -msgid "" -"Add new functions that return a :term:`strong reference` instead of a " -":term:`borrowed reference` for frame locals, globals, and builtins, as part " -"of :ref:`PEP 667 `:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2151 -msgid "" -":c:func:`PyEval_GetFrameBuiltins` replaces :c:func:`PyEval_GetBuiltins`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2152 -msgid ":c:func:`PyEval_GetFrameGlobals` replaces :c:func:`PyEval_GetGlobals`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2153 -msgid ":c:func:`PyEval_GetFrameLocals` replaces :c:func:`PyEval_GetLocals`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2155 -msgid "(Contributed by Mark Shannon and Tian Gao in :gh:`74929`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2157 -msgid "" -"Add the :c:func:`Py_GetConstant` and :c:func:`Py_GetConstantBorrowed` " -"functions to get :term:`strong ` or :term:`borrowed " -"` references to constants. For example, " -"``Py_GetConstant(Py_CONSTANT_ZERO)`` returns a strong reference to the " -"constant zero. (Contributed by Victor Stinner in :gh:`115754`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2164 -msgid "" -"Add the :c:func:`PyImport_AddModuleRef` function as a replacement for " -":c:func:`PyImport_AddModule` that returns a :term:`strong reference` instead" -" of a :term:`borrowed reference`. (Contributed by Victor Stinner in " -":gh:`105922`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2169 -msgid "" -"Add the :c:func:`Py_IsFinalizing` function to check whether the main Python " -"interpreter is :term:`shutting down `. (Contributed by" -" Victor Stinner in :gh:`108014`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2174 -msgid "" -"Add the :c:func:`PyList_GetItemRef` function as a replacement for " -":c:func:`PyList_GetItem` that returns a :term:`strong reference` instead of " -"a :term:`borrowed reference`. (Contributed by Sam Gross in :gh:`114329`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2179 -msgid "" -"Add the :c:func:`PyList_Extend` and :c:func:`PyList_Clear` functions, " -"mirroring the Python :meth:`!list.extend` and :meth:`!list.clear` methods. " -"(Contributed by Victor Stinner in :gh:`111138`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2183 -msgid "" -"Add the :c:func:`PyLong_AsInt` function. It behaves similarly to " -":c:func:`PyLong_AsLong`, but stores the result in a C :c:expr:`int` instead " -"of a C :c:expr:`long`. (Contributed by Victor Stinner in :gh:`108014`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2188 -msgid "" -"Add the :c:func:`PyLong_AsNativeBytes`, :c:func:`PyLong_FromNativeBytes`, " -"and :c:func:`PyLong_FromUnsignedNativeBytes` functions to simplify " -"converting between native integer types and Python :class:`int` objects. " -"(Contributed by Steve Dower in :gh:`111140`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2194 -msgid "" -"Add :c:func:`PyModule_Add` function, which is similar to " -":c:func:`PyModule_AddObjectRef` and :c:func:`PyModule_AddObject`, but always" -" steals a reference to the value. (Contributed by Serhiy Storchaka in " -":gh:`86493`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2199 -msgid "" -"Add the :c:func:`PyObject_GenericHash` function that implements the default " -"hashing function of a Python object. (Contributed by Serhiy Storchaka in " -":gh:`113024`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2203 -msgid "" -"Add the :c:func:`Py_HashPointer` function to hash a raw pointer. " -"(Contributed by Victor Stinner in :gh:`111545`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2206 -msgid "" -"Add the :c:func:`PyObject_VisitManagedDict` and " -":c:func:`PyObject_ClearManagedDict` functions. which must be called by the " -"traverse and clear functions of a type using the " -":c:macro:`Py_TPFLAGS_MANAGED_DICT` flag. The `pythoncapi-compat project`_ " -"can be used to use these functions with Python 3.11 and 3.12. (Contributed " -"by Victor Stinner in :gh:`107073`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2214 -msgid "" -"Add the :c:func:`PyRefTracer_SetTracer` and :c:func:`PyRefTracer_GetTracer` " -"functions, which enable tracking object creation and destruction in the same" -" way that the :mod:`tracemalloc` module does. (Contributed by Pablo Galindo " -"in :gh:`93502`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2220 -msgid "" -"Add the :c:func:`PySys_AuditTuple` function as an alternative to " -":c:func:`PySys_Audit` that takes event arguments as a Python :class:`tuple` " -"object. (Contributed by Victor Stinner in :gh:`85283`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2225 -msgid "" -"Add the :c:func:`PyThreadState_GetUnchecked()` function as an alternative to" -" :c:func:`PyThreadState_Get()` that doesn't kill the process with a fatal " -"error if it is ``NULL``. The caller is responsible for checking if the " -"result is ``NULL``. (Contributed by Victor Stinner in :gh:`108867`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2231 -msgid "" -"Add the :c:func:`PyType_GetFullyQualifiedName` function to get the type's " -"fully qualified name. The module name is prepended if " -":attr:`type.__module__` is a string and is not equal to either " -"``'builtins'`` or ``'__main__'``. (Contributed by Victor Stinner in " -":gh:`111696`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2237 -msgid "" -"Add the :c:func:`PyType_GetModuleName` function to get the type's module " -"name. This is equivalent to getting the :attr:`type.__module__` attribute. " -"(Contributed by Eric Snow and Victor Stinner in :gh:`111696`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2242 -msgid "" -"Add the :c:func:`PyUnicode_EqualToUTF8AndSize` and " -":c:func:`PyUnicode_EqualToUTF8` functions to compare a Unicode object with a" -" :c:expr:`const char*` UTF-8 encoded string and ``1`` if they are equal or " -"``0`` otherwise. These functions do not raise exceptions. (Contributed by " -"Serhiy Storchaka in :gh:`110289`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2249 -msgid "" -"Add the :c:func:`PyWeakref_GetRef` function as an alternative to " -":c:func:`PyWeakref_GetObject` that returns a :term:`strong reference` or " -"``NULL`` if the referent is no longer live. (Contributed by Victor Stinner " -"in :gh:`105927`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2255 -msgid "Add fixed variants of functions which silently ignore errors:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2257 -msgid "" -":c:func:`PyObject_HasAttrWithError` replaces :c:func:`PyObject_HasAttr`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2258 -msgid "" -":c:func:`PyObject_HasAttrStringWithError` replaces " -":c:func:`PyObject_HasAttrString`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2260 -msgid "" -":c:func:`PyMapping_HasKeyWithError` replaces :c:func:`PyMapping_HasKey`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2261 -msgid "" -":c:func:`PyMapping_HasKeyStringWithError` replaces " -":c:func:`PyMapping_HasKeyString`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2264 -msgid "" -"The new functions return ``-1`` for errors and the standard ``1`` for true " -"and ``0`` for false." -msgstr "" - -#: ../../whatsnew/3.13.rst:2267 -msgid "(Contributed by Serhiy Storchaka in :gh:`108511`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2271 -msgid "Changed C APIs" -msgstr "" - -#: ../../whatsnew/3.13.rst:2273 -msgid "" -"The *keywords* parameter of :c:func:`PyArg_ParseTupleAndKeywords` and " -":c:func:`PyArg_VaParseTupleAndKeywords` now has type :c:expr:`char * const " -"*` in C and :c:expr:`const char * const *` in C++, instead of :c:expr:`char " -"**`. In C++, this makes these functions compatible with arguments of type " -":c:expr:`const char * const *`, :c:expr:`const char **`, or :c:expr:`char * " -"const *` without an explicit type cast. In C, the functions only support " -"arguments of type :c:expr:`char * const *`. This can be overridden with the " -":c:macro:`PY_CXX_CONST` macro. (Contributed by Serhiy Storchaka in " -":gh:`65210`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2285 -msgid "" -":c:func:`PyArg_ParseTupleAndKeywords` now supports non-ASCII keyword " -"parameter names. (Contributed by Serhiy Storchaka in :gh:`110815`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2289 -msgid "" -"The :c:func:`!PyCode_GetFirstFree` function is now unstable API and is now " -"named :c:func:`PyUnstable_Code_GetFirstFree`. (Contributed by Bogdan " -"Romanyuk in :gh:`115781`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2293 -msgid "" -"The :c:func:`PyDict_GetItem`, :c:func:`PyDict_GetItemString`, " -":c:func:`PyMapping_HasKey`, :c:func:`PyMapping_HasKeyString`, " -":c:func:`PyObject_HasAttr`, :c:func:`PyObject_HasAttrString`, and " -":c:func:`PySys_GetObject` functions, each of which clears all errors which " -"occurred when calling them now reports these errors using " -":func:`sys.unraisablehook`. You may replace them with other functions as " -"recommended in the documentation. (Contributed by Serhiy Storchaka in " -":gh:`106672`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2302 -msgid "" -"Add support for the ``%T``, ``%#T``, ``%N`` and ``%#N`` formats to " -":c:func:`PyUnicode_FromFormat`:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2305 -msgid "``%T``: Get the fully qualified name of an object type" -msgstr "" - -#: ../../whatsnew/3.13.rst:2306 -msgid "``%#T``: As above, but use a colon as the separator" -msgstr "" - -#: ../../whatsnew/3.13.rst:2307 -msgid "``%N``: Get the fully qualified name of a type" -msgstr "" - -#: ../../whatsnew/3.13.rst:2308 -msgid "``%#N``: As above, but use a colon as the separator" -msgstr "" - -#: ../../whatsnew/3.13.rst:2310 -msgid "" -"See :pep:`737` for more information. (Contributed by Victor Stinner in " -":gh:`111696`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2313 -msgid "" -"You no longer have to define the ``PY_SSIZE_T_CLEAN`` macro before including" -" :file:`Python.h` when using ``#`` formats in :ref:`format codes `. APIs accepting the format codes always use " -"``Py_ssize_t`` for ``#`` formats. (Contributed by Inada Naoki in " -":gh:`104922`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2319 -msgid "" -"If Python is built in :ref:`debug mode ` or :option:`with " -"assertions <--with-assertions>`, :c:func:`PyTuple_SET_ITEM` and " -":c:func:`PyList_SET_ITEM` now check the index argument with an assertion. " -"(Contributed by Victor Stinner in :gh:`106168`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2327 -msgid "Limited C API Changes" -msgstr "" - -#: ../../whatsnew/3.13.rst:2329 -msgid "The following functions are now included in the Limited C API:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2331 -msgid ":c:func:`PyMem_RawMalloc`" -msgstr ":c:func:`PyMem_RawMalloc`" - -#: ../../whatsnew/3.13.rst:2332 -msgid ":c:func:`PyMem_RawCalloc`" -msgstr ":c:func:`PyMem_RawCalloc`" - -#: ../../whatsnew/3.13.rst:2333 -msgid ":c:func:`PyMem_RawRealloc`" -msgstr ":c:func:`PyMem_RawRealloc`" - -#: ../../whatsnew/3.13.rst:2334 -msgid ":c:func:`PyMem_RawFree`" -msgstr ":c:func:`PyMem_RawFree`" - -#: ../../whatsnew/3.13.rst:2335 -msgid ":c:func:`PySys_Audit`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2336 -msgid ":c:func:`PySys_AuditTuple`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2337 -msgid ":c:func:`PyType_GetModuleByDef`" -msgstr "" - -#: ../../whatsnew/3.13.rst:2339 -msgid "" -"(Contributed by Victor Stinner in :gh:`85283`, :gh:`85283`, and " -":gh:`116936`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2341 -msgid "" -"Python built with :option:`--with-trace-refs` (tracing references) now " -"supports the :ref:`Limited API `. (Contributed by Victor " -"Stinner in :gh:`108634`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2347 -msgid "Removed C APIs" -msgstr "" - -#: ../../whatsnew/3.13.rst:2349 -msgid "" -"Remove several functions, macros, variables, etc with names prefixed by " -"``_Py`` or ``_PY`` (which are considered private). If your project is " -"affected by one of these removals and you believe that the removed API " -"should remain available, please :ref:`open a new issue ` " -"to request a public C API and add ``cc: @vstinner`` to the issue to notify " -"Victor Stinner. (Contributed by Victor Stinner in :gh:`106320`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2357 -msgid "" -"Remove old buffer protocols deprecated in Python 3.0. Use " -":ref:`bufferobjects` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2360 -msgid "" -":c:func:`!PyObject_CheckReadBuffer`: Use :c:func:`PyObject_CheckBuffer` to " -"test whether the object supports the buffer protocol. Note that " -":c:func:`PyObject_CheckBuffer` doesn't guarantee that " -":c:func:`PyObject_GetBuffer` will succeed. To test if the object is actually" -" readable, see the next example of :c:func:`PyObject_GetBuffer`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2368 -msgid "" -":c:func:`!PyObject_AsCharBuffer`, :c:func:`!PyObject_AsReadBuffer`: Use " -":c:func:`PyObject_GetBuffer` and :c:func:`PyBuffer_Release` instead:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2371 -msgid "" -"Py_buffer view;\n" -"if (PyObject_GetBuffer(obj, &view, PyBUF_SIMPLE) < 0) {\n" -" return NULL;\n" -"}\n" -"// Use `view.buf` and `view.len` to read from the buffer.\n" -"// You may need to cast buf as `(const char*)view.buf`.\n" -"PyBuffer_Release(&view);" -msgstr "" - -#: ../../whatsnew/3.13.rst:2381 -msgid "" -":c:func:`!PyObject_AsWriteBuffer`: Use :c:func:`PyObject_GetBuffer` and " -":c:func:`PyBuffer_Release` instead:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2384 -msgid "" -"Py_buffer view;\n" -"if (PyObject_GetBuffer(obj, &view, PyBUF_WRITABLE) < 0) {\n" -" return NULL;\n" -"}\n" -"// Use `view.buf` and `view.len` to write to the buffer.\n" -"PyBuffer_Release(&view);" -msgstr "" - -#: ../../whatsnew/3.13.rst:2393 -msgid "(Contributed by Inada Naoki in :gh:`85275`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2395 -msgid "Remove various functions deprecated in Python 3.9:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2397 -msgid "" -":c:func:`!PyEval_CallObject`, :c:func:`!PyEval_CallObjectWithKeywords`: Use " -":c:func:`PyObject_CallNoArgs` or :c:func:`PyObject_Call` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2402 -msgid "" -"In :c:func:`PyObject_Call`, positional arguments must be a :class:`tuple` " -"and must not be ``NULL``, and keyword arguments must be a :class:`dict` or " -"``NULL``, whereas the removed functions checked argument types and accepted " -"``NULL`` positional and keyword arguments. To replace " -"``PyEval_CallObjectWithKeywords(func, NULL, kwargs)`` with " -":c:func:`PyObject_Call`, pass an empty tuple as positional arguments using " -":c:func:`PyTuple_New(0) `." -msgstr "" - -#: ../../whatsnew/3.13.rst:2412 -msgid "" -":c:func:`!PyEval_CallFunction`: Use :c:func:`PyObject_CallFunction` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2414 -msgid "" -":c:func:`!PyEval_CallMethod`: Use :c:func:`PyObject_CallMethod` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2416 -msgid ":c:func:`!PyCFunction_Call`: Use :c:func:`PyObject_Call` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2419 -msgid "(Contributed by Victor Stinner in :gh:`105107`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2421 -msgid "" -"Remove the following old functions to configure the Python initialization, " -"deprecated in Python 3.11:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2424 -msgid "" -":c:func:`!PySys_AddWarnOptionUnicode`: Use :c:member:`PyConfig.warnoptions` " -"instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2426 -msgid "" -":c:func:`!PySys_AddWarnOption`: Use :c:member:`PyConfig.warnoptions` " -"instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2428 -msgid "" -":c:func:`!PySys_AddXOption`: Use :c:member:`PyConfig.xoptions` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2430 -msgid "" -":c:func:`!PySys_HasWarnOptions`: Use :c:member:`PyConfig.xoptions` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2432 -msgid "" -":c:func:`!PySys_SetPath`: Set :c:member:`PyConfig.module_search_paths` " -"instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2434 -msgid "" -":c:func:`!Py_SetPath`: Set :c:member:`PyConfig.module_search_paths` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2436 -msgid "" -":c:func:`!Py_SetStandardStreamEncoding`: Set " -":c:member:`PyConfig.stdio_encoding` instead, and set also maybe " -":c:member:`PyConfig.legacy_windows_stdio` (on Windows)." -msgstr "" - -#: ../../whatsnew/3.13.rst:2439 -msgid "" -":c:func:`!_Py_SetProgramFullPath`: Set :c:member:`PyConfig.executable` " -"instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2442 -msgid "" -"Use the new :c:type:`PyConfig` API of the :ref:`Python Initialization " -"Configuration ` instead (:pep:`587`), added to Python 3.8. " -"(Contributed by Victor Stinner in :gh:`105145`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2446 -msgid "" -"Remove :c:func:`!PyEval_AcquireLock` and :c:func:`!PyEval_ReleaseLock` " -"functions, deprecated in Python 3.2. They didn't update the current thread " -"state. They can be replaced with:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2451 -msgid ":c:func:`PyEval_SaveThread` and :c:func:`PyEval_RestoreThread`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2452 -msgid "" -"low-level :c:func:`PyEval_AcquireThread` and :c:func:`PyEval_RestoreThread`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2453 -msgid "or :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2455 -msgid "(Contributed by Victor Stinner in :gh:`105182`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2457 -msgid "" -"Remove the :c:func:`!PyEval_ThreadsInitialized` function, deprecated in " -"Python 3.9. Since Python 3.7, :c:func:`!Py_Initialize` always creates the " -"GIL: calling :c:func:`!PyEval_InitThreads` does nothing and " -":c:func:`!PyEval_ThreadsInitialized` always returns non-zero. (Contributed " -"by Victor Stinner in :gh:`105182`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2464 -msgid "" -"Remove the :c:func:`!_PyInterpreterState_Get` alias to " -":c:func:`PyInterpreterState_Get()` which was kept for backward compatibility" -" with Python 3.8. The `pythoncapi-compat project`_ can be used to get " -":c:func:`PyInterpreterState_Get()` on Python 3.8 and older. (Contributed by " -"Victor Stinner in :gh:`106320`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2471 -msgid "" -"Remove the private :c:func:`!_PyObject_FastCall` function: use " -":c:func:`!PyObject_Vectorcall` which is available since Python 3.8 " -"(:pep:`590`). (Contributed by Victor Stinner in :gh:`106023`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2476 -msgid "" -"Remove the ``cpython/pytime.h`` header file, which only contained private " -"functions. (Contributed by Victor Stinner in :gh:`106316`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2480 -msgid "" -"Remove the undocumented ``PY_TIMEOUT_MAX`` constant from the limited C API. " -"(Contributed by Victor Stinner in :gh:`110014`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2483 -msgid "" -"Remove the old trashcan macros ``Py_TRASHCAN_SAFE_BEGIN`` and " -"``Py_TRASHCAN_SAFE_END``. Replace both with the new macros " -"``Py_TRASHCAN_BEGIN`` and ``Py_TRASHCAN_END``. (Contributed by Irit Katriel " -"in :gh:`105111`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2490 -msgid "Deprecated C APIs" -msgstr "" - -#: ../../whatsnew/3.13.rst:2492 -msgid "Deprecate old Python initialization functions:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2494 -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:63 -msgid "" -":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and " -":data:`!warnings.filters` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2496 -msgid ":c:func:`Py_GetExecPrefix`: Get :data:`sys.exec_prefix` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2498 -msgid ":c:func:`Py_GetPath`: Get :data:`sys.path` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2500 -msgid ":c:func:`Py_GetPrefix`: Get :data:`sys.prefix` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2502 -msgid ":c:func:`Py_GetProgramFullPath`: Get :data:`sys.executable` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2504 -msgid ":c:func:`Py_GetProgramName`: Get :data:`sys.executable` instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2506 -msgid "" -":c:func:`Py_GetPythonHome`: Get :c:member:`PyConfig.home` or the " -":envvar:`PYTHONHOME` environment variable instead." -msgstr "" - -#: ../../whatsnew/3.13.rst:2510 -msgid "(Contributed by Victor Stinner in :gh:`105145`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2512 -msgid "" -":term:`Soft deprecate ` the :c:func:`PyEval_GetBuiltins`, " -":c:func:`PyEval_GetGlobals`, and :c:func:`PyEval_GetLocals` functions, which" -" return a :term:`borrowed reference`. (Soft deprecated as part of " -":pep:`667`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2518 -msgid "" -"Deprecate the :c:func:`PyImport_ImportModuleNoBlock` function, which is just" -" an alias to :c:func:`PyImport_ImportModule` since Python 3.3. (Contributed " -"by Victor Stinner in :gh:`105396`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2522 -msgid "" -":term:`Soft deprecate ` the :c:func:`PyModule_AddObject` " -"function. It should be replaced with :c:func:`PyModule_Add` or " -":c:func:`PyModule_AddObjectRef`. (Contributed by Serhiy Storchaka in " -":gh:`86493`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2528 -msgid "" -"Deprecate the old ``Py_UNICODE`` and ``PY_UNICODE_TYPE`` types and the " -":c:macro:`!Py_UNICODE_WIDE` define. Use the :c:type:`wchar_t` type directly " -"instead. Since Python 3.3, ``Py_UNICODE`` and ``PY_UNICODE_TYPE`` are just " -"aliases to :c:type:`!wchar_t`. (Contributed by Victor Stinner in " -":gh:`105156`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2535 -msgid "" -"Deprecate the :c:func:`PyWeakref_GetObject` and " -":c:func:`PyWeakref_GET_OBJECT` functions, which return a :term:`borrowed " -"reference`. Replace them with the new :c:func:`PyWeakref_GetRef` function, " -"which returns a :term:`strong reference`. The `pythoncapi-compat project`_ " -"can be used to get :c:func:`PyWeakref_GetRef` on Python 3.12 and older. " -"(Contributed by Victor Stinner in :gh:`105927`.)" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.14.rst:4 -msgid "" -"The ``ma_version_tag`` field in :c:type:`PyDictObject` for extension modules" -" (:pep:`699`; :gh:`101193`)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.14.rst:7 -msgid "" -"Creating :c:data:`immutable types ` with mutable " -"bases (:gh:`95388`)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:4 -msgid "The bundled copy of ``libmpdecimal``." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:5 -msgid "" -"The :c:func:`PyImport_ImportModuleNoBlock`: Use " -":c:func:`PyImport_ImportModule` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:7 -msgid "" -":c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`: Use " -":c:func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project " -"`__ can be used to get " -":c:func:`PyWeakref_GetRef` on Python 3.12 and older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:11 -msgid "" -":c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: Use " -":c:type:`wchar_t` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:13 -msgid "" -":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:15 -msgid "" -":c:func:`!PyUnicode_AsDecodedUnicode`: Use :c:func:`PyCodec_Decode` instead;" -" Note that some codecs (for example, \"base64\") may return a type other " -"than :class:`str`, such as :class:`bytes`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:18 -msgid "" -":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:20 -msgid "" -":c:func:`!PyUnicode_AsEncodedUnicode`: Use :c:func:`PyCodec_Encode` instead;" -" Note that some codecs (for example, \"base64\") may return a type other " -"than :class:`bytes`, such as :class:`str`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:23 -msgid "Python initialization functions, deprecated in Python 3.13:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:25 -msgid "" -":c:func:`Py_GetPath`: Use :c:func:`PyConfig_Get(\"module_search_paths\") " -"` (:data:`sys.path`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:28 -msgid "" -":c:func:`Py_GetPrefix`: Use :c:func:`PyConfig_Get(\"base_prefix\") " -"` (:data:`sys.base_prefix`) instead. Use " -":c:func:`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) if " -":ref:`virtual environments ` need to be handled." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:33 -msgid "" -":c:func:`Py_GetExecPrefix`: Use :c:func:`PyConfig_Get(\"base_exec_prefix\") " -"` (:data:`sys.base_exec_prefix`) instead. Use " -":c:func:`PyConfig_Get(\"exec_prefix\") ` " -"(:data:`sys.exec_prefix`) if :ref:`virtual environments ` need to " -"be handled." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:39 -msgid "" -":c:func:`Py_GetProgramFullPath`: Use :c:func:`PyConfig_Get(\"executable\") " -"` (:data:`sys.executable`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:42 -msgid "" -":c:func:`Py_GetProgramName`: Use :c:func:`PyConfig_Get(\"executable\") " -"` (:data:`sys.executable`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:45 -msgid "" -":c:func:`Py_GetPythonHome`: Use :c:func:`PyConfig_Get(\"home\") " -"` or the :envvar:`PYTHONHOME` environment variable instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:49 -msgid "" -"The `pythoncapi-compat project `__ can be used to get :c:func:`PyConfig_Get` on Python 3.13 and " -"older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:53 -msgid "" -"Functions to configure Python's initialization, deprecated in Python 3.11:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:55 -msgid ":c:func:`!PySys_SetArgvEx()`: Set :c:member:`PyConfig.argv` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:57 -msgid ":c:func:`!PySys_SetArgv()`: Set :c:member:`PyConfig.argv` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:59 -msgid "" -":c:func:`!Py_SetProgramName()`: Set :c:member:`PyConfig.program_name` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:61 -msgid ":c:func:`!Py_SetPythonHome()`: Set :c:member:`PyConfig.home` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:66 -msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with " -":c:type:`PyConfig` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:69 -msgid "Global configuration variables:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:71 -msgid "" -":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` or " -":c:func:`PyConfig_Get(\"parser_debug\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:74 -msgid "" -":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` or " -":c:func:`PyConfig_Get(\"verbose\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:77 -msgid "" -":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` or " -":c:func:`PyConfig_Get(\"quiet\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:80 -msgid "" -":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` or " -":c:func:`PyConfig_Get(\"interactive\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:83 -msgid "" -":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` or " -":c:func:`PyConfig_Get(\"inspect\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:86 -msgid "" -":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` or " -":c:func:`PyConfig_Get(\"optimization_level\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:89 -msgid "" -":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` or " -":c:func:`PyConfig_Get(\"site_import\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:92 -msgid "" -":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` or " -":c:func:`PyConfig_Get(\"bytes_warning\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:95 -msgid "" -":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` or " -":c:func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:98 -msgid "" -":c:var:`Py_IgnoreEnvironmentFlag`: Use :c:member:`PyConfig.use_environment` " -"or :c:func:`PyConfig_Get(\"use_environment\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:101 -msgid "" -":c:var:`Py_DontWriteBytecodeFlag`: Use :c:member:`PyConfig.write_bytecode` " -"or :c:func:`PyConfig_Get(\"write_bytecode\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:104 -msgid "" -":c:var:`Py_NoUserSiteDirectory`: Use " -":c:member:`PyConfig.user_site_directory` or " -":c:func:`PyConfig_Get(\"user_site_directory\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:107 -msgid "" -":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` or " -":c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:110 -msgid "" -":c:var:`Py_HashRandomizationFlag`: Use :c:member:`PyConfig.use_hash_seed` " -"and :c:member:`PyConfig.hash_seed` or :c:func:`PyConfig_Get(\"hash_seed\") " -"` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:114 -msgid "" -":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` or " -":c:func:`PyConfig_Get(\"isolated\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:117 -msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use " -":c:member:`PyPreConfig.legacy_windows_fs_encoding` or " -":c:func:`PyConfig_Get(\"legacy_windows_fs_encoding\") ` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:120 -msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: Use " -":c:member:`PyConfig.legacy_windows_stdio` or " -":c:func:`PyConfig_Get(\"legacy_windows_stdio\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:123 -msgid "" -":c:var:`!Py_FileSystemDefaultEncoding`, " -":c:var:`!Py_HasFileSystemDefaultEncoding`: Use " -":c:member:`PyConfig.filesystem_encoding` or " -":c:func:`PyConfig_Get(\"filesystem_encoding\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:126 -msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use " -":c:member:`PyConfig.filesystem_errors` or " -":c:func:`PyConfig_Get(\"filesystem_errors\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:129 -msgid "" -":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` or " -":c:func:`PyConfig_Get(\"utf8_mode\") ` instead. (see " -":c:func:`Py_PreInitialize`)" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:134 -msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with " -":c:type:`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can be " -"used to get these options at runtime." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:2 -msgid "Pending removal in Python 3.18" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:4 -msgid "Deprecated private functions (:gh:`128863`):" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:6 -msgid ":c:func:`!_PyBytes_Join`: use :c:func:`PyBytes_Join`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:7 -msgid "" -":c:func:`!_PyDict_GetItemStringWithError`: use " -":c:func:`PyDict_GetItemStringRef`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:8 -msgid ":c:func:`!_PyDict_Pop()`: :c:func:`PyDict_Pop`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:9 -msgid ":c:func:`!_PyLong_Sign()`: use :c:func:`PyLong_GetSign`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:10 -msgid "" -":c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: use " -":c:func:`PyLongWriter_Create`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:12 -msgid "" -":c:func:`!_PyThreadState_UncheckedGet`: use " -":c:func:`PyThreadState_GetUnchecked`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:13 -msgid ":c:func:`!_PyUnicode_AsString`: use :c:func:`PyUnicode_AsUTF8`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:14 -msgid "" -":c:func:`!_PyUnicodeWriter_Init`: replace ``_PyUnicodeWriter_Init(&writer)``" -" with :c:func:`writer = PyUnicodeWriter_Create(0) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:17 -msgid "" -":c:func:`!_PyUnicodeWriter_Finish`: replace " -"``_PyUnicodeWriter_Finish(&writer)`` with " -":c:func:`PyUnicodeWriter_Finish(writer) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:20 -msgid "" -":c:func:`!_PyUnicodeWriter_Dealloc`: replace " -"``_PyUnicodeWriter_Dealloc(&writer)`` with " -":c:func:`PyUnicodeWriter_Discard(writer) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:23 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteChar`: replace " -"``_PyUnicodeWriter_WriteChar(&writer, ch)`` with " -":c:func:`PyUnicodeWriter_WriteChar(writer, ch) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:26 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteStr`: replace " -"``_PyUnicodeWriter_WriteStr(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteStr(writer, str) `." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:29 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteSubstring`: replace " -"``_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)`` with " -":c:func:`PyUnicodeWriter_WriteSubstring(writer, str, start, end) " -"`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:32 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteASCIIString`: replace " -"``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteUTF8(writer, str) " -"`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:35 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteLatin1String`: replace " -"``_PyUnicodeWriter_WriteLatin1String(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteUTF8(writer, str) " -"`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:38 -msgid ":c:func:`!_PyUnicodeWriter_Prepare`: (no replacement)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:39 -msgid ":c:func:`!_PyUnicodeWriter_PrepareKind`: (no replacement)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:40 -msgid ":c:func:`!_Py_HashPointer`: use :c:func:`Py_HashPointer`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:41 -msgid ":c:func:`!_Py_fopen_obj`: use :c:func:`Py_fopen`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:43 -msgid "" -"The `pythoncapi-compat project `__ can be used to get these new public functions on Python 3.13 and" -" older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:4 -msgid "" -"The following APIs are deprecated and will be removed, although there is " -"currently no date scheduled for their removal." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:7 -msgid ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: Unneeded since Python 3.8." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:9 -msgid ":c:func:`PyErr_Fetch`: Use :c:func:`PyErr_GetRaisedException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:11 -msgid "" -":c:func:`PyErr_NormalizeException`: Use :c:func:`PyErr_GetRaisedException` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:13 -msgid "" -":c:func:`PyErr_Restore`: Use :c:func:`PyErr_SetRaisedException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:15 -msgid "" -":c:func:`PyModule_GetFilename`: Use :c:func:`PyModule_GetFilenameObject` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:17 -msgid ":c:func:`PyOS_AfterFork`: Use :c:func:`PyOS_AfterFork_Child` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:19 -msgid "" -":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and " -":c:func:`PySlice_AdjustIndices` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:21 -msgid ":c:func:`PyUnicode_READY`: Unneeded since Python 3.12" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:23 -msgid "" -":c:func:`!PyErr_Display`: Use :c:func:`PyErr_DisplayException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:25 -msgid "" -":c:func:`!_PyErr_ChainExceptions`: Use :c:func:`!_PyErr_ChainExceptions1` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:27 -msgid "" -":c:member:`!PyBytesObject.ob_shash` member: call :c:func:`PyObject_Hash` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:29 -msgid "Thread Local Storage (TLS) API:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:31 -msgid "" -":c:func:`PyThread_create_key`: Use :c:func:`PyThread_tss_alloc` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:33 -msgid "" -":c:func:`PyThread_delete_key`: Use :c:func:`PyThread_tss_free` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:35 -msgid "" -":c:func:`PyThread_set_key_value`: Use :c:func:`PyThread_tss_set` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:37 -msgid "" -":c:func:`PyThread_get_key_value`: Use :c:func:`PyThread_tss_get` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:39 -msgid "" -":c:func:`PyThread_delete_key_value`: Use :c:func:`PyThread_tss_delete` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:41 -msgid ":c:func:`PyThread_ReInitTLS`: Unneeded since Python 3.7." -msgstr "" - -#: ../../whatsnew/3.13.rst:2557 -msgid "Build Changes" -msgstr "" - -#: ../../whatsnew/3.13.rst:2559 -msgid "" -"``arm64-apple-ios`` and ``arm64-apple-ios-simulator`` are both now :pep:`11`" -" tier 3 platforms. (:ref:`PEP 730 ` written " -"and implementation contributed by Russell Keith-Magee in :gh:`114099`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2564 -msgid "" -"``aarch64-linux-android`` and ``x86_64-linux-android`` are both now " -":pep:`11` tier 3 platforms. (:ref:`PEP 738 ` " -"written and implementation contributed by Malcolm Smith in :gh:`116622`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2569 -msgid "" -"``wasm32-wasi`` is now a :pep:`11` tier 2 platform. (Contributed by Brett " -"Cannon in :gh:`115192`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2572 -msgid "" -"``wasm32-emscripten`` is no longer a :pep:`11` supported platform. " -"(Contributed by Brett Cannon in :gh:`115192`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2575 -msgid "" -"Building CPython now requires a compiler with support for the C11 atomic " -"library, GCC built-in atomic functions, or MSVC interlocked intrinsics." -msgstr "" - -#: ../../whatsnew/3.13.rst:2578 -msgid "" -"Autoconf 2.71 and aclocal 1.16.5 are now required to regenerate the " -":file:`configure` script. (Contributed by Christian Heimes in :gh:`89886` " -"and by Victor Stinner in :gh:`112090`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2582 -msgid "" -"SQLite 3.15.2 or newer is required to build the :mod:`sqlite3` extension " -"module. (Contributed by Erlend Aasland in :gh:`105875`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2586 -msgid "" -"CPython now bundles the `mimalloc library`_ by default. It is licensed under" -" the MIT license; see :ref:`mimalloc license `. The " -"bundled mimalloc has custom changes, see :gh:`113141` for details. " -"(Contributed by Dino Viehland in :gh:`109914`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2594 -msgid "" -"The :file:`configure` option :option:`--with-system-libmpdec` now defaults " -"to ``yes``. The bundled copy of ``libmpdecimal`` will be removed in Python " -"3.15." -msgstr "" - -#: ../../whatsnew/3.13.rst:2598 -msgid "" -"Python built with :file:`configure` :option:`--with-trace-refs` (tracing " -"references) is now ABI compatible with the Python release build and " -":ref:`debug build `. (Contributed by Victor Stinner in " -":gh:`108634`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2603 -msgid "" -"On POSIX systems, the pkg-config (``.pc``) filenames now include the ABI " -"flags. For example, the free-threaded build generates ``python-3.13t.pc`` " -"and the debug build generates ``python-3.13d.pc``." -msgstr "" - -#: ../../whatsnew/3.13.rst:2607 -msgid "" -"The ``errno``, ``fcntl``, ``grp``, ``md5``, ``pwd``, ``resource``, " -"``termios``, ``winsound``, ``_ctypes_test``, " -"``_multiprocessing.posixshmem``, ``_scproxy``, ``_stat``, ``_statistics``, " -"``_testconsole``, ``_testimportmultiple`` and ``_uuid`` C extensions are now" -" built with the :ref:`limited C API `. (Contributed by Victor" -" Stinner in :gh:`85283`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2616 -msgid "Porting to Python 3.13" -msgstr "" - -#: ../../whatsnew/3.13.rst:2618 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code." -msgstr "" - -#: ../../whatsnew/3.13.rst:2622 -msgid "Changes in the Python API" -msgstr "Perubahan pada API Python" - -#: ../../whatsnew/3.13.rst:2626 -msgid "" -":ref:`PEP 667 ` introduces several changes to " -"the semantics of :func:`locals` and :attr:`f_locals `:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2629 -msgid "" -"Calling :func:`locals` in an :term:`optimized scope` now produces an " -"independent snapshot on each call, and hence no longer implicitly updates " -"previously returned references. Obtaining the legacy CPython behavior now " -"requires explicit calls to update the initially returned dictionary with the" -" results of subsequent calls to :func:`!locals`. Code execution functions " -"that implicitly target :func:`!locals` (such as ``exec`` and ``eval``) must " -"be passed an explicit namespace to access their results in an optimized " -"scope. (Changed as part of :pep:`667`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2638 -msgid "" -"Calling :func:`locals` from a comprehension at module or class scope " -"(including via ``exec`` or ``eval``) once more behaves as if the " -"comprehension were running as an independent nested function (i.e. the local" -" variables from the containing scope are not included). In Python 3.12, this" -" had changed to include the local variables from the containing scope when " -"implementing :pep:`709`. (Changed as part of :pep:`667`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2645 -msgid "" -"Accessing :attr:`FrameType.f_locals ` in an :term:`optimized" -" scope` now returns a write-through proxy rather than a snapshot that gets " -"updated at ill-specified times. If a snapshot is desired, it must be created" -" explicitly with ``dict`` or the proxy's ``.copy()`` method. (Changed as " -"part of :pep:`667`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2651 -msgid "" -":class:`functools.partial` now emits a :exc:`FutureWarning` when used as a " -"method. The behavior will change in future Python versions. Wrap it in " -":func:`staticmethod` if you want to preserve the old behavior. (Contributed " -"by Serhiy Storchaka in :gh:`121027`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2657 -msgid "" -"An :exc:`OSError` is now raised by :func:`getpass.getuser` for any failure " -"to retrieve a username, instead of :exc:`ImportError` on non-Unix platforms " -"or :exc:`KeyError` on Unix platforms where the password database is empty." -msgstr "" - -#: ../../whatsnew/3.13.rst:2662 -msgid "" -"The value of the :attr:`!mode` attribute of :class:`gzip.GzipFile` is now a " -"string (``'rb'`` or ``'wb'``) instead of an integer (``1`` or ``2``). The " -"value of the :attr:`!mode` attribute of the readable file-like object " -"returned by :meth:`zipfile.ZipFile.open` is now ``'rb'`` instead of ``'r'``." -" (Contributed by Serhiy Storchaka in :gh:`115961`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2668 -msgid "" -":class:`mailbox.Maildir` now ignores files with a leading dot (``.``). " -"(Contributed by Zackery Spytz in :gh:`65559`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2671 -msgid "" -":meth:`pathlib.Path.glob` and :meth:`~pathlib.Path.rglob` now return both " -"files and directories if a pattern that ends with \"``**``\" is given, " -"rather than directories only. Add a trailing slash to keep the previous " -"behavior and only match directories." -msgstr "" - -#: ../../whatsnew/3.13.rst:2676 -msgid "" -"The :mod:`threading` module now expects the :mod:`!_thread` module to have " -"an :func:`!_is_main_interpreter` function. This function takes no arguments " -"and returns ``True`` if the current interpreter is the main interpreter." -msgstr "" - -#: ../../whatsnew/3.13.rst:2681 -msgid "" -"Any library or application that provides a custom :mod:`!_thread` module " -"must provide :func:`!_is_main_interpreter`, just like the module's other " -"\"private\" attributes. (:gh:`112826`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2688 -msgid "Changes in the C API" -msgstr "Perubahan dalam API C" - -#: ../../whatsnew/3.13.rst:2690 -msgid "" -"``Python.h`` no longer includes the ```` standard header. It was " -"included for the :c:func:`!finite` function which is now provided by the " -"```` header. It should now be included explicitly if needed. Remove " -"also the ``HAVE_IEEEFP_H`` macro. (Contributed by Victor Stinner in " -":gh:`108765`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2696 -msgid "" -"``Python.h`` no longer includes these standard header files: ````, " -"```` and ````. If needed, they should now be " -"included explicitly. For example, ```` provides the :c:func:`!clock`" -" and :c:func:`!gmtime` functions, ```` provides the " -":c:func:`!select` function, and ```` provides the " -":c:func:`!futimes`, :c:func:`!gettimeofday` and :c:func:`!setitimer` " -"functions. (Contributed by Victor Stinner in :gh:`108765`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2704 -msgid "" -"On Windows, ``Python.h`` no longer includes the ```` standard " -"header file. If needed, it should now be included explicitly. For example, " -"it provides :c:func:`!offsetof` function, and ``size_t`` and ``ptrdiff_t`` " -"types. Including ```` explicitly was already needed by all other " -"platforms, the ``HAVE_STDDEF_H`` macro is only defined on Windows. " -"(Contributed by Victor Stinner in :gh:`108765`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2711 -msgid "" -"If the :c:macro:`Py_LIMITED_API` macro is defined, " -":c:macro:`!Py_BUILD_CORE`, :c:macro:`!Py_BUILD_CORE_BUILTIN` and " -":c:macro:`!Py_BUILD_CORE_MODULE` macros are now undefined by ````." -" (Contributed by Victor Stinner in :gh:`85283`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2716 -msgid "" -"The old trashcan macros ``Py_TRASHCAN_SAFE_BEGIN`` and " -"``Py_TRASHCAN_SAFE_END`` were removed. They should be replaced by the new " -"macros ``Py_TRASHCAN_BEGIN`` and ``Py_TRASHCAN_END``." -msgstr "" - -#: ../../whatsnew/3.13.rst:2720 -msgid "A ``tp_dealloc`` function that has the old macros, such as::" -msgstr "" - -#: ../../whatsnew/3.13.rst:2722 -msgid "" -"static void\n" -"mytype_dealloc(mytype *p)\n" -"{\n" -" PyObject_GC_UnTrack(p);\n" -" Py_TRASHCAN_SAFE_BEGIN(p);\n" -" ...\n" -" Py_TRASHCAN_SAFE_END\n" -"}" -msgstr "" - -#: ../../whatsnew/3.13.rst:2731 -msgid "should migrate to the new macros as follows::" -msgstr "" - -#: ../../whatsnew/3.13.rst:2733 -msgid "" -"static void\n" -"mytype_dealloc(mytype *p)\n" -"{\n" -" PyObject_GC_UnTrack(p);\n" -" Py_TRASHCAN_BEGIN(p, mytype_dealloc)\n" -" ...\n" -" Py_TRASHCAN_END\n" -"}" -msgstr "" - -#: ../../whatsnew/3.13.rst:2742 -msgid "" -"Note that ``Py_TRASHCAN_BEGIN`` has a second argument which should be the " -"deallocation function it is in. The new macros were added in Python 3.8 and " -"the old macros were deprecated in Python 3.11. (Contributed by Irit Katriel " -"in :gh:`105111`.)" -msgstr "" - -#: ../../whatsnew/3.13.rst:2749 -msgid "" -":ref:`PEP 667 ` introduces several changes to " -"frame-related functions:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2752 -msgid "" -"The effects of mutating the dictionary returned from " -":c:func:`PyEval_GetLocals` in an :term:`optimized scope` have changed. New " -"dict entries added this way will now *only* be visible to subsequent " -":c:func:`PyEval_GetLocals` calls in that frame, as " -":c:func:`PyFrame_GetLocals`, :func:`locals`, and :attr:`FrameType.f_locals " -"` no longer access the same underlying cached dictionary. " -"Changes made to entries for actual variable names and names added via the " -"write-through proxy interfaces will be overwritten on subsequent calls to " -":c:func:`PyEval_GetLocals` in that frame. The recommended code update " -"depends on how the function was being used, so refer to the deprecation " -"notice on the function for details." -msgstr "" - -#: ../../whatsnew/3.13.rst:2765 -msgid "" -"Calling :c:func:`PyFrame_GetLocals` in an :term:`optimized scope` now " -"returns a write-through proxy rather than a snapshot that gets updated at " -"ill-specified times. If a snapshot is desired, it must be created explicitly" -" (e.g. with :c:func:`PyDict_Copy`), or by calling the new " -":c:func:`PyEval_GetFrameLocals` API." -msgstr "" - -#: ../../whatsnew/3.13.rst:2772 -msgid "" -":c:func:`!PyFrame_FastToLocals` and :c:func:`!PyFrame_FastToLocalsWithError`" -" no longer have any effect. Calling these functions has been redundant since" -" Python 3.11, when :c:func:`PyFrame_GetLocals` was first introduced." -msgstr "" - -#: ../../whatsnew/3.13.rst:2777 -msgid "" -":c:func:`!PyFrame_LocalsToFast` no longer has any effect. Calling this " -"function is redundant now that :c:func:`PyFrame_GetLocals` returns a write-" -"through proxy for :term:`optimized scopes `." -msgstr "" - -#: ../../whatsnew/3.13.rst:2781 -msgid "" -"Python 3.13 removed many private functions. Some of them can be replaced " -"using these alternatives:" -msgstr "" - -#: ../../whatsnew/3.13.rst:2784 -msgid "``_PyDict_Pop()``: :c:func:`PyDict_Pop` or :c:func:`PyDict_PopString`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2785 -msgid "``_PyDict_GetItemWithError()``: :c:func:`PyDict_GetItemRef`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2786 -msgid "``_PyErr_WriteUnraisableMsg()``: :c:func:`PyErr_FormatUnraisable`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2787 -msgid "" -"``_PyEval_SetTrace()``: :c:func:`PyEval_SetTrace` or " -":c:func:`PyEval_SetTraceAllThreads`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2788 -msgid "``_PyList_Extend()``: :c:func:`PyList_Extend`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2789 -msgid "``_PyLong_AsInt()``: :c:func:`PyLong_AsInt`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2790 -msgid "``_PyMem_RawStrdup()``: ``strdup()``;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2791 -msgid "``_PyMem_Strdup()``: ``strdup()``;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2792 -msgid "``_PyObject_ClearManagedDict()``: :c:func:`PyObject_ClearManagedDict`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2793 -msgid "``_PyObject_VisitManagedDict()``: :c:func:`PyObject_VisitManagedDict`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2794 -msgid "" -"``_PyThreadState_UncheckedGet()``: :c:func:`PyThreadState_GetUnchecked()`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2795 -msgid "``_PyTime_AsSecondsDouble()``: :c:func:`PyTime_AsSecondsDouble`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2796 -msgid "" -"``_PyTime_GetMonotonicClock()``: :c:func:`PyTime_Monotonic` or " -":c:func:`PyTime_MonotonicRaw`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2797 -msgid "" -"``_PyTime_GetPerfCounter()``: :c:func:`PyTime_PerfCounter` or " -":c:func:`PyTime_PerfCounterRaw`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2798 -msgid "" -"``_PyTime_GetSystemClock()``: :c:func:`PyTime_Time` or " -":c:func:`PyTime_TimeRaw`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2799 -msgid "``_PyTime_MAX``: :c:var:`PyTime_MAX`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2800 -msgid "``_PyTime_MIN``: :c:var:`PyTime_MIN`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2801 -msgid "``_PyTime_t``: :c:type:`PyTime_t`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2802 -msgid "``_Py_HashPointer()``: :c:func:`Py_HashPointer`;" -msgstr "" - -#: ../../whatsnew/3.13.rst:2803 -msgid "``_Py_IsFinalizing()``: :c:func:`Py_IsFinalizing`." -msgstr "" - -#: ../../whatsnew/3.13.rst:2805 -msgid "" -"The `pythoncapi-compat project`_ can be used to get most of these new " -"functions on Python 3.12 and older." -msgstr "" - -#: ../../whatsnew/3.13.rst:2809 -msgid "Regression Test Changes" -msgstr "" - -#: ../../whatsnew/3.13.rst:2811 -msgid "" -"Python built with :file:`configure` :option:`--with-pydebug` now supports a " -":option:`-X presite=package.module <-X>` command-line option. If used, it " -"specifies a module that should be imported early in the lifecycle of the " -"interpreter, before ``site.py`` is executed. (Contributed by Łukasz Langa in" -" :gh:`110769`.)" -msgstr "" diff --git a/python-newest.whatsnew--3_14/id.po b/python-newest.whatsnew--3_14/id.po deleted file mode 100644 index 0c09920..0000000 --- a/python-newest.whatsnew--3_14/id.po +++ /dev/null @@ -1,5457 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2025 -# oon arfiandwi , 2025 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2025-05-08 06:05+0000\n" -"Last-Translator: oon arfiandwi , 2025\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.14.rst:3 -msgid "What's new in Python 3.14" -msgstr "" - -#: ../../whatsnew/3.14.rst:0 -msgid "Editor" -msgstr "Editor" - -#: ../../whatsnew/3.14.rst:5 -msgid "Hugo van Kemenade" -msgstr "" - -#: ../../whatsnew/3.14.rst:47 -msgid "" -"This article explains the new features in Python 3.14, compared to 3.13." -msgstr "" - -#: ../../whatsnew/3.14.rst:49 -msgid "For full details, see the :ref:`changelog `." -msgstr "Untuk detail lengkap, lihat :ref:`changelog `." - -#: ../../whatsnew/3.14.rst:53 -msgid ":pep:`745` -- Python 3.14 release schedule" -msgstr "" - -#: ../../whatsnew/3.14.rst:57 -msgid "" -"Prerelease users should be aware that this document is currently in draft " -"form. It will be updated substantially as Python 3.14 moves towards release," -" so it's worth checking back even after reading earlier versions." -msgstr "" - -#: ../../whatsnew/3.14.rst:63 -msgid "Summary -- release highlights" -msgstr "" - -#: ../../whatsnew/3.14.rst:68 -msgid "" -"Python 3.14 beta is the pre-release of the next version of the Python " -"programming language, with a mix of changes to the language, the " -"implementation and the standard library." -msgstr "" - -#: ../../whatsnew/3.14.rst:72 -msgid "" -"The biggest changes to the implementation include template strings " -"(:pep:`750`), deferred evaluation of annotations (:pep:`649`), and a new " -"type of interpreter that uses tail calls." -msgstr "" - -#: ../../whatsnew/3.14.rst:76 -msgid "" -"The library changes include the addition of a new :mod:`!annotationlib` " -"module for introspecting and wrapping annotations (:pep:`649`), a new " -":mod:`!compression.zstd` module for Zstandard support (:pep:`784`), plus " -"syntax highlighting in the REPL, as well as the usual deprecations and " -"removals, and improvements in user-friendliness and correctness." -msgstr "" - -#: ../../whatsnew/3.14.rst:85 -msgid "" -":ref:`PEP 649: deferred evaluation of annotations `" -msgstr "" - -#: ../../whatsnew/3.14.rst:86 -msgid ":ref:`PEP 741: Python Configuration C API `" -msgstr "" - -#: ../../whatsnew/3.14.rst:87 -msgid ":ref:`PEP 750: Template strings `" -msgstr "" - -#: ../../whatsnew/3.14.rst:88 -msgid "" -":ref:`PEP 758: Allow except and except* expressions without parentheses " -"`" -msgstr "" - -#: ../../whatsnew/3.14.rst:89 -msgid ":ref:`PEP 761: Discontinuation of PGP signatures `" -msgstr "" - -#: ../../whatsnew/3.14.rst:90 -msgid "" -":ref:`PEP 765: Disallow return/break/continue that exit a finally block " -"`" -msgstr "" - -#: ../../whatsnew/3.14.rst:91 -msgid "" -":ref:`PEP 768: Safe external debugger interface for CPython " -"`" -msgstr "" - -#: ../../whatsnew/3.14.rst:92 -msgid "" -":ref:`PEP 784: Adding Zstandard to the standard library " -"`" -msgstr "" - -#: ../../whatsnew/3.14.rst:93 -msgid ":ref:`A new type of interpreter `" -msgstr "" - -#: ../../whatsnew/3.14.rst:94 -msgid "" -":ref:`Syntax highlighting in PyREPL `, and " -"color output in :ref:`unittest `, :ref:`argparse" -" `, :ref:`json ` and " -":ref:`calendar ` CLIs" -msgstr "" - -#: ../../whatsnew/3.14.rst:99 -msgid "" -":ref:`Binary releases for the experimental just-in-time compiler " -"`" -msgstr "" - -#: ../../whatsnew/3.14.rst:103 -msgid "Incompatible changes" -msgstr "" - -#: ../../whatsnew/3.14.rst:105 -msgid "" -"On platforms other than macOS and Windows, the default :ref:`start method " -"` for :mod:`multiprocessing` and " -":class:`~concurrent.futures.ProcessPoolExecutor` switches from *fork* to " -"*forkserver*." -msgstr "" - -#: ../../whatsnew/3.14.rst:110 -msgid "" -"See :ref:`(1) ` and :ref:`(2) " -"` for details." -msgstr "" - -#: ../../whatsnew/3.14.rst:113 -msgid "" -"If you encounter :exc:`NameError`\\s or pickling errors coming out of " -":mod:`multiprocessing` or :mod:`concurrent.futures`, see the " -":ref:`forkserver restrictions `." -msgstr "" - -#: ../../whatsnew/3.14.rst:117 -msgid "" -"The interpreter avoids some reference count modifications internally when " -"it's safe to do so. This can lead to different values returned from " -":func:`sys.getrefcount` and :c:func:`Py_REFCNT` compared to previous " -"versions of Python. See :ref:`below ` for details." -msgstr "" - -#: ../../whatsnew/3.14.rst:123 ../../whatsnew/3.14.rst:2441 -msgid "New features" -msgstr "" - -#: ../../whatsnew/3.14.rst:128 -msgid "PEP 750: Template strings" -msgstr "" - -#: ../../whatsnew/3.14.rst:130 -msgid "" -"Template string literals (t-strings) are a generalization of f-strings, " -"using a ``t`` in place of the ``f`` prefix. Instead of evaluating to " -":class:`str`, t-strings evaluate to a new " -":class:`!string.templatelib.Template` type:" -msgstr "" - -#: ../../whatsnew/3.14.rst:134 -msgid "" -"from string.templatelib import Template\n" -"\n" -"name = \"World\"\n" -"template: Template = t\"Hello {name}\"" -msgstr "" - -#: ../../whatsnew/3.14.rst:141 -msgid "" -"The template can then be combined with functions that operate on the " -"template's structure to produce a :class:`str` or a string-like result. For " -"example, sanitizing input:" -msgstr "" - -#: ../../whatsnew/3.14.rst:145 -msgid "" -"evil = \"\"\n" -"template = t\"

{evil}

\"\n" -"assert html(template) == \"

<script>alert('evil')</script>

\"" -msgstr "" - -#: ../../whatsnew/3.14.rst:151 -msgid "As another example, generating HTML attributes from data:" -msgstr "" - -#: ../../whatsnew/3.14.rst:153 -msgid "" -"attributes = {\"src\": \"shrubbery.jpg\", \"alt\": \"looks nice\"}\n" -"template = t\"\"\n" -"assert html(template) == '\"looks'" -msgstr "" - -#: ../../whatsnew/3.14.rst:159 -msgid "" -"Unlike f-strings, the ``html`` function has access to template attributes " -"containing the original information: static strings, interpolations, and " -"values from the original scope. Unlike existing templating approaches, " -"t-strings build from the well-known f-string syntax and rules. Template " -"systems thus benefit from Python tooling as they are much closer to the " -"Python language, syntax, scoping, and more." -msgstr "" - -#: ../../whatsnew/3.14.rst:166 -msgid "Writing template handlers is straightforward:" -msgstr "" - -#: ../../whatsnew/3.14.rst:168 -msgid "" -"from string.templatelib import Template, Interpolation\n" -"\n" -"def lower_upper(template: Template) -> str:\n" -" \"\"\"Render static parts lowercased and interpolations uppercased.\"\"\"\n" -" parts: list[str] = []\n" -" for item in template:\n" -" if isinstance(item, Interpolation):\n" -" parts.append(str(item.value).upper())\n" -" else:\n" -" parts.append(item.lower())\n" -" return \"\".join(parts)\n" -"\n" -"name = \"world\"\n" -"assert lower_upper(t\"HELLO {name}\") == \"hello WORLD\"" -msgstr "" - -#: ../../whatsnew/3.14.rst:185 -msgid "" -"With this in place, developers can write template systems to sanitize SQL, " -"make safe shell operations, improve logging, tackle modern ideas in web " -"development (HTML, CSS, and so on), and implement lightweight, custom " -"business DSLs." -msgstr "" - -#: ../../whatsnew/3.14.rst:189 -msgid "" -"(Contributed by Jim Baker, Guido van Rossum, Paul Everitt, Koudai Aono, " -"Lysandros Nikolaou, Dave Peck, Adam Turner, Jelle Zijlstra, Bénédikt Tran, " -"and Pablo Galindo Salgado in :gh:`132661`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:194 -msgid ":pep:`750`." -msgstr "" - -#: ../../whatsnew/3.14.rst:200 -msgid "PEP 768: Safe external debugger interface for CPython" -msgstr "" - -#: ../../whatsnew/3.14.rst:202 -msgid "" -":pep:`768` introduces a zero-overhead debugging interface that allows " -"debuggers and profilers to safely attach to running Python processes. This " -"is a significant enhancement to Python's debugging capabilities allowing " -"debuggers to forego unsafe alternatives. See :ref:`below " -"` for how this feature is leveraged to implement the" -" new :mod:`pdb` module's remote attaching capabilities." -msgstr "" - -#: ../../whatsnew/3.14.rst:208 -msgid "" -"The new interface provides safe execution points for attaching debugger code" -" without modifying the interpreter's normal execution path or adding runtime" -" overhead. This enables tools to inspect and interact with Python " -"applications in real-time without stopping or restarting them — a crucial " -"capability for high-availability systems and production environments." -msgstr "" - -#: ../../whatsnew/3.14.rst:213 -msgid "" -"For convenience, CPython implements this interface through the :mod:`sys` " -"module with a :func:`sys.remote_exec` function::" -msgstr "" - -#: ../../whatsnew/3.14.rst:216 -msgid "sys.remote_exec(pid, script_path)" -msgstr "" - -#: ../../whatsnew/3.14.rst:218 -msgid "" -"This function allows sending Python code to be executed in a target process " -"at the next safe execution point. However, tool authors can also implement " -"the protocol directly as described in the PEP, which details the underlying " -"mechanisms used to safely attach to running processes." -msgstr "" - -#: ../../whatsnew/3.14.rst:222 -msgid "" -"Here's a simple example that inspects object types in a running Python " -"process:" -msgstr "" - -#: ../../whatsnew/3.14.rst:224 -msgid "" -"import os\n" -"import sys\n" -"import tempfile\n" -"\n" -"# Create a temporary script\n" -"with tempfile.NamedTemporaryFile(mode='w', suffix='.py', delete=False) as f:\n" -" script_path = f.name\n" -" f.write(f\"import my_debugger; my_debugger.connect({os.getpid()})\")\n" -"try:\n" -" # Execute in process with PID 1234\n" -" print(\"Behold! An offering:\")\n" -" sys.remote_exec(1234, script_path)\n" -"finally:\n" -" os.unlink(script_path)" -msgstr "" - -#: ../../whatsnew/3.14.rst:241 -msgid "" -"The debugging interface has been carefully designed with security in mind " -"and includes several mechanisms to control access:" -msgstr "" - -#: ../../whatsnew/3.14.rst:244 -msgid "A :envvar:`PYTHON_DISABLE_REMOTE_DEBUG` environment variable." -msgstr "" - -#: ../../whatsnew/3.14.rst:245 -msgid "A :option:`-X disable-remote-debug` command-line option." -msgstr "" - -#: ../../whatsnew/3.14.rst:246 -msgid "" -"A :option:`--without-remote-debug` configure flag to completely disable the " -"feature at build time." -msgstr "" - -#: ../../whatsnew/3.14.rst:248 -msgid "" -"A key implementation detail is that the interface piggybacks on the " -"interpreter's existing evaluation loop and safe points, ensuring zero " -"overhead during normal execution while providing a reliable way for external" -" processes to coordinate debugging operations." -msgstr "" - -#: ../../whatsnew/3.14.rst:252 -msgid "" -"(Contributed by Pablo Galindo Salgado, Matt Wozniski, and Ivona Stojanovic " -"in :gh:`131591`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:255 ../../whatsnew/3.14.rst:329 -msgid ":pep:`768`." -msgstr "" - -#: ../../whatsnew/3.14.rst:261 -msgid "PEP 784: Adding Zstandard to the standard library" -msgstr "" - -#: ../../whatsnew/3.14.rst:263 -msgid "" -"The new ``compression`` package contains modules :mod:`!compression.lzma`, " -":mod:`!compression.bz2`, :mod:`!compression.gzip` and " -":mod:`!compression.zlib` which re-export the :mod:`lzma`, :mod:`bz2`, " -":mod:`gzip` and :mod:`zlib` modules respectively. The new import names under" -" ``compression`` are the canonical names for importing these compression " -"modules going forward. However, the existing modules names have not been " -"deprecated. Any deprecation or removal of the existing compression modules " -"will occur no sooner than five years after the release of 3.14." -msgstr "" - -#: ../../whatsnew/3.14.rst:272 -msgid "" -"The new :mod:`!compression.zstd` module provides compression and " -"decompression APIs for the Zstandard format via bindings to `Meta's zstd " -"library `__. Zstandard is a widely " -"adopted, highly efficient, and fast compression format. In addition to the " -"APIs introduced in :mod:`!compression.zstd`, support for reading and writing" -" Zstandard compressed archives has been added to the :mod:`tarfile`, " -":mod:`zipfile`, and :mod:`shutil` modules." -msgstr "" - -#: ../../whatsnew/3.14.rst:280 -msgid "Here's an example of using the new module to compress some data:" -msgstr "" - -#: ../../whatsnew/3.14.rst:282 -msgid "" -"from compression import zstd\n" -"import math\n" -"\n" -"data = str(math.pi).encode() * 20\n" -"\n" -"compressed = zstd.compress(data)\n" -"\n" -"ratio = len(compressed) / len(data)\n" -"print(f\"Achieved compression ratio of {ratio}\")" -msgstr "" - -#: ../../whatsnew/3.14.rst:294 -msgid "" -"As can be seen, the API is similar to the APIs of the :mod:`!lzma` and " -":mod:`!bz2` modules." -msgstr "" - -#: ../../whatsnew/3.14.rst:297 -msgid "" -"(Contributed by Emma Harper Smith, Adam Turner, Gregory P. Smith, Tomas " -"Roun, Victor Stinner, and Rogdham in :gh:`132983`)" -msgstr "" - -#: ../../whatsnew/3.14.rst:301 -msgid ":pep:`784`." -msgstr "" - -#: ../../whatsnew/3.14.rst:307 -msgid "Remote attaching to a running Python process with PDB" -msgstr "" - -#: ../../whatsnew/3.14.rst:309 -msgid "" -"The :mod:`pdb` module now supports remote attaching to a running Python " -"process using a new ``-p PID`` command-line option:" -msgstr "" - -#: ../../whatsnew/3.14.rst:312 -msgid "python -m pdb -p 1234" -msgstr "" - -#: ../../whatsnew/3.14.rst:316 -msgid "" -"This will connect to the Python process with the given PID and allow you to " -"debug it interactively. Notice that due to how the Python interpreter works " -"attaching to a remote process that is blocked in a system call or waiting " -"for I/O will only work once the next bytecode instruction is executed or " -"when the process receives a signal." -msgstr "" - -#: ../../whatsnew/3.14.rst:322 -msgid "" -"This feature uses :pep:`768` and the :func:`sys.remote_exec` function to " -"attach to the remote process and send the PDB commands to it." -msgstr "" - -#: ../../whatsnew/3.14.rst:326 -msgid "(Contributed by Matt Wozniski and Pablo Galindo in :gh:`131591`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:335 -msgid "PEP 758 – Allow except and except* expressions without parentheses" -msgstr "" - -#: ../../whatsnew/3.14.rst:337 -msgid "" -"The :keyword:`except` and :keyword:`except* ` expressions now " -"allow parentheses to be omitted when there are multiple exception types and " -"the ``as`` clause is not used. For example the following expressions are now" -" valid:" -msgstr "" - -#: ../../whatsnew/3.14.rst:341 -msgid "" -"try:\n" -" release_new_sleep_token_album()\n" -"except AlbumNotFound, SongsTooGoodToBeReleased:\n" -" print(\"Sorry, no new album this year.\")\n" -"\n" -" # The same applies to except* (for exception groups):\n" -"try:\n" -" release_new_sleep_token_album()\n" -"except* AlbumNotFound, SongsTooGoodToBeReleased:\n" -" print(\"Sorry, no new album this year.\")" -msgstr "" - -#: ../../whatsnew/3.14.rst:354 -msgid "Check :pep:`758` for more details." -msgstr "" - -#: ../../whatsnew/3.14.rst:356 -msgid "(Contributed by Pablo Galindo and Brett Cannon in :gh:`131831`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:359 -msgid ":pep:`758`." -msgstr "" - -#: ../../whatsnew/3.14.rst:365 -msgid "PEP 649: deferred evaluation of annotations" -msgstr "" - -#: ../../whatsnew/3.14.rst:367 -msgid "" -"The :term:`annotations ` on functions, classes, and modules are " -"no longer evaluated eagerly. Instead, annotations are stored in special-" -"purpose :term:`annotate functions ` and evaluated only " -"when necessary. This is specified in :pep:`649` and :pep:`749`." -msgstr "" - -#: ../../whatsnew/3.14.rst:372 -msgid "" -"This change is designed to make annotations in Python more performant and " -"more usable in most circumstances. The runtime cost for defining annotations" -" is minimized, but it remains possible to introspect annotations at runtime." -" It is usually no longer necessary to enclose annotations in strings if they" -" contain forward references." -msgstr "" - -#: ../../whatsnew/3.14.rst:378 -msgid "" -"The new :mod:`annotationlib` module provides tools for inspecting deferred " -"annotations. Annotations may be evaluated in the " -":attr:`~annotationlib.Format.VALUE` format (which evaluates annotations to " -"runtime values, similar to the behavior in earlier Python versions), the " -":attr:`~annotationlib.Format.FORWARDREF` format (which replaces undefined " -"names with special markers), and the :attr:`~annotationlib.Format.STRING` " -"format (which returns annotations as strings)." -msgstr "" - -#: ../../whatsnew/3.14.rst:385 -msgid "This example shows how these formats behave:" -msgstr "" - -#: ../../whatsnew/3.14.rst:387 -msgid "" -">>> from annotationlib import get_annotations, Format\n" -">>> def func(arg: Undefined):\n" -"... pass\n" -">>> get_annotations(func, format=Format.VALUE)\n" -"Traceback (most recent call last):\n" -" ...\n" -"NameError: name 'Undefined' is not defined\n" -">>> get_annotations(func, format=Format.FORWARDREF)\n" -"{'arg': ForwardRef('Undefined', owner=)}\n" -">>> get_annotations(func, format=Format.STRING)\n" -"{'arg': 'Undefined'}" -msgstr "" - -#: ../../whatsnew/3.14.rst:402 -msgid "Implications for annotated code" -msgstr "" - -#: ../../whatsnew/3.14.rst:404 -msgid "" -"If you define annotations in your code (for example, for use with a static " -"type checker), then this change probably does not affect you: you can keep " -"writing annotations the same way you did with previous versions of Python." -msgstr "" - -#: ../../whatsnew/3.14.rst:408 -msgid "" -"You will likely be able to remove quoted strings in annotations, which are " -"frequently used for forward references. Similarly, if you use ``from " -"__future__ import annotations`` to avoid having to write strings in " -"annotations, you may well be able to remove that import. However, if you " -"rely on third-party libraries that read annotations, those libraries may " -"need changes to support unquoted annotations before they work as expected." -msgstr "" - -#: ../../whatsnew/3.14.rst:416 -msgid "Implications for readers of ``__annotations__``" -msgstr "" - -#: ../../whatsnew/3.14.rst:418 -msgid "" -"If your code reads the ``__annotations__`` attribute on objects, you may " -"want to make changes in order to support code that relies on deferred " -"evaluation of annotations. For example, you may want to use " -":func:`annotationlib.get_annotations` with the " -":attr:`~annotationlib.Format.FORWARDREF` format, as the :mod:`dataclasses` " -"module now does." -msgstr "" - -#: ../../whatsnew/3.14.rst:425 -msgid "Related changes" -msgstr "" - -#: ../../whatsnew/3.14.rst:427 -msgid "" -"The changes in Python 3.14 are designed to rework how ``__annotations__`` " -"works at runtime while minimizing breakage to code that contains annotations" -" in source code and to code that reads ``__annotations__``. However, if you " -"rely on undocumented details of the annotation behavior or on private " -"functions in the standard library, there are many ways in which your code " -"may not work in Python 3.14. To safeguard your code against future changes, " -"use only the documented functionality of the :mod:`annotationlib` module." -msgstr "" - -#: ../../whatsnew/3.14.rst:436 -msgid "``from __future__ import annotations``" -msgstr "" - -#: ../../whatsnew/3.14.rst:438 -msgid "" -"In Python 3.7, :pep:`563` introduced the ``from __future__ import " -"annotations`` directive, which turns all annotations into strings. This " -"directive is now considered deprecated and it is expected to be removed in a" -" future version of Python. However, this removal will not happen until after" -" Python 3.13, the last version of Python without deferred evaluation of " -"annotations, reaches its end of life in 2029. In Python 3.14, the behavior " -"of code using ``from __future__ import annotations`` is unchanged." -msgstr "" - -#: ../../whatsnew/3.14.rst:448 -msgid "Improved error messages" -msgstr "" - -#: ../../whatsnew/3.14.rst:450 -msgid "" -"The interpreter now provides helpful suggestions when it detects typos in " -"Python keywords. When a word that closely resembles a Python keyword is " -"encountered, the interpreter will suggest the correct keyword in the error " -"message. This feature helps programmers quickly identify and fix common " -"typing mistakes. For example:" -msgstr "" - -#: ../../whatsnew/3.14.rst:456 -msgid "" -">>> whille True:\n" -"... pass\n" -"Traceback (most recent call last):\n" -" File \"\", line 1\n" -" whille True:\n" -" ^^^^^^\n" -"SyntaxError: invalid syntax. Did you mean 'while'?\n" -"\n" -">>> asynch def fetch_data():\n" -"... pass\n" -"Traceback (most recent call last):\n" -" File \"\", line 1\n" -" asynch def fetch_data():\n" -" ^^^^^^\n" -"SyntaxError: invalid syntax. Did you mean 'async'?\n" -"\n" -">>> async def foo():\n" -"... awaid fetch_data()\n" -"Traceback (most recent call last):\n" -" File \"\", line 2\n" -" awaid fetch_data()\n" -" ^^^^^\n" -"SyntaxError: invalid syntax. Did you mean 'await'?\n" -"\n" -">>> raisee ValueError(\"Error\")\n" -"Traceback (most recent call last):\n" -" File \"\", line 1\n" -" raisee ValueError(\"Error\")\n" -" ^^^^^^\n" -"SyntaxError: invalid syntax. Did you mean 'raise'?" -msgstr "" - -#: ../../whatsnew/3.14.rst:489 -msgid "" -"While the feature focuses on the most common cases, some variations of " -"misspellings may still result in regular syntax errors. (Contributed by " -"Pablo Galindo in :gh:`132449`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:493 -msgid "" -"When unpacking assignment fails due to incorrect number of variables, the " -"error message prints the received number of values in more cases than " -"before. (Contributed by Tushar Sadhwani in :gh:`122239`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:497 -msgid "" -">>> x, y, z = 1, 2, 3, 4\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" x, y, z = 1, 2, 3, 4\n" -" ^^^^^^^\n" -"ValueError: too many values to unpack (expected 3, got 4)" -msgstr "" - -#: ../../whatsnew/3.14.rst:506 -msgid "" -":keyword:`elif` statements that follow an :keyword:`else` block now have a " -"specific error message. (Contributed by Steele Farnsworth in :gh:`129902`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:509 -msgid "" -">>> if who == \"me\":\n" -"... print(\"It's me!\")\n" -"... else:\n" -"... print(\"It's not me!\")\n" -"... elif who is None:\n" -"... print(\"Who is it?\")\n" -"File \"\", line 5\n" -" elif who is None:\n" -" ^^^^\n" -"SyntaxError: 'elif' block follows an 'else' block" -msgstr "" - -#: ../../whatsnew/3.14.rst:522 -msgid "" -"If a statement (:keyword:`pass`, :keyword:`del`, :keyword:`return`, " -":keyword:`yield`, :keyword:`raise`, :keyword:`break`, :keyword:`continue`, " -":keyword:`assert`, :keyword:`import`, :keyword:`from`) is passed to the " -":ref:`if_expr` after :keyword:`else`, or one of :keyword:`pass`, " -":keyword:`break`, or :keyword:`continue` is passed before :keyword:`if`, " -"then the error message highlights where the :token:`~python-" -"grammar:expression` is required. (Contributed by Sergey Miryanov in " -":gh:`129515`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:530 -msgid "" -">>> x = 1 if True else pass\n" -"Traceback (most recent call last):\n" -" File \"\", line 1\n" -" x = 1 if True else pass\n" -" ^^^^\n" -"SyntaxError: expected expression after 'else', but statement is given\n" -"\n" -">>> x = continue if True else break\n" -"Traceback (most recent call last):\n" -" File \"\", line 1\n" -" x = continue if True else break\n" -" ^^^^^^^^\n" -"SyntaxError: expected expression before 'if', but statement is given" -msgstr "" - -#: ../../whatsnew/3.14.rst:547 -msgid "" -"When incorrectly closed strings are detected, the error message suggests " -"that the string may be intended to be part of the string. (Contributed by " -"Pablo Galindo in :gh:`88535`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:551 -msgid "" -">>> \"The interesting object \"The important object\" is very important\"\n" -"Traceback (most recent call last):\n" -"SyntaxError: invalid syntax. Is this intended to be part of the string?" -msgstr "" - -#: ../../whatsnew/3.14.rst:557 -msgid "" -"When strings have incompatible prefixes, the error now shows which prefixes " -"are incompatible. (Contributed by Nikita Sobolev in :gh:`133197`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:561 -msgid "" -">>> ub'abc'\n" -" File \"\", line 1\n" -" ub'abc'\n" -" ^^\n" -"SyntaxError: 'u' and 'b' prefixes are incompatible" -msgstr "" - -#: ../../whatsnew/3.14.rst:569 -msgid "" -"Improved error messages when using ``as`` with incompatible targets in:" -msgstr "" - -#: ../../whatsnew/3.14.rst:571 -msgid "Imports: ``import ... as ...``" -msgstr "" - -#: ../../whatsnew/3.14.rst:572 -msgid "From imports: ``from ... import ... as ...``" -msgstr "" - -#: ../../whatsnew/3.14.rst:573 -msgid "Except handlers: ``except ... as ...``" -msgstr "" - -#: ../../whatsnew/3.14.rst:574 -msgid "Pattern-match cases: ``case ... as ...``" -msgstr "" - -#: ../../whatsnew/3.14.rst:576 -msgid "" -"(Contributed by Nikita Sobolev in :gh:`123539`, :gh:`123562`, and " -":gh:`123440`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:579 -msgid "" -">>> import ast as arr[0]\n" -" File \"\", line 1\n" -" import ast as arr[0]\n" -" ^^^^^^\n" -"SyntaxError: cannot use subscript as import target" -msgstr "" - -#: ../../whatsnew/3.14.rst:588 -msgid ":pep:`649`." -msgstr "" - -#: ../../whatsnew/3.14.rst:594 -msgid "PEP 741: Python Configuration C API" -msgstr "" - -#: ../../whatsnew/3.14.rst:596 -msgid "" -"Add a :ref:`PyInitConfig C API ` to configure the Python " -"initialization without relying on C structures and the ability to make ABI-" -"compatible changes in the future." -msgstr "" - -#: ../../whatsnew/3.14.rst:600 -msgid "" -"Complete the :pep:`587` :ref:`PyConfig C API ` by adding " -":c:func:`PyInitConfig_AddModule` which can be used to add a built-in " -"extension module; feature previously referred to as the “inittab”." -msgstr "" - -#: ../../whatsnew/3.14.rst:604 -msgid "" -"Add :c:func:`PyConfig_Get` and :c:func:`PyConfig_Set` functions to get and " -"set the current runtime configuration." -msgstr "" - -#: ../../whatsnew/3.14.rst:607 -msgid "" -"PEP 587 “Python Initialization Configuration” unified all the ways to " -"configure the Python initialization. This PEP unifies also the configuration" -" of the Python preinitialization and the Python initialization in a single " -"API. Moreover, this PEP only provides a single choice to embed Python, " -"instead of having two “Python” and “Isolated” choices (PEP 587), to simplify" -" the API further." -msgstr "" - -#: ../../whatsnew/3.14.rst:614 -msgid "" -"The lower level PEP 587 PyConfig API remains available for use cases with an" -" intentionally higher level of coupling to CPython implementation details " -"(such as emulating the full functionality of CPython’s CLI, including its " -"configuration mechanisms)." -msgstr "" - -#: ../../whatsnew/3.14.rst:619 ../../whatsnew/3.14.rst:2502 -#: ../../whatsnew/3.14.rst:2521 -msgid "(Contributed by Victor Stinner in :gh:`107954`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:622 -msgid ":pep:`741`." -msgstr "" - -#: ../../whatsnew/3.14.rst:627 -msgid "Asyncio introspection capabilities" -msgstr "" - -#: ../../whatsnew/3.14.rst:629 -msgid "" -"Added a new command-line interface to inspect running Python processes using" -" asynchronous tasks, available via:" -msgstr "" - -#: ../../whatsnew/3.14.rst:632 -msgid "python -m asyncio ps PID" -msgstr "" - -#: ../../whatsnew/3.14.rst:636 -msgid "" -"This tool inspects the given process ID (PID) and displays information about" -" currently running asyncio tasks. It outputs a task table: a flat listing " -"of all tasks, their names, their coroutine stacks, and which tasks are " -"awaiting them." -msgstr "" - -#: ../../whatsnew/3.14.rst:641 -msgid "python -m asyncio pstree PID" -msgstr "" - -#: ../../whatsnew/3.14.rst:645 -msgid "" -"This tool fetches the same information, but renders a visual async call " -"tree, showing coroutine relationships in a hierarchical format. This " -"command is particularly useful for debugging long-running or stuck " -"asynchronous programs. It can help developers quickly identify where a " -"program is blocked, what tasks are pending, and how coroutines are chained " -"together." -msgstr "" - -#: ../../whatsnew/3.14.rst:651 -msgid "For example given this code:" -msgstr "" - -#: ../../whatsnew/3.14.rst:653 -msgid "" -"import asyncio\n" -"\n" -"async def play(track):\n" -" await asyncio.sleep(5)\n" -" print(f\"🎵 Finished: {track}\")\n" -"\n" -"async def album(name, tracks):\n" -" async with asyncio.TaskGroup() as tg:\n" -" for track in tracks:\n" -" tg.create_task(play(track), name=track)\n" -"\n" -"async def main():\n" -" async with asyncio.TaskGroup() as tg:\n" -" tg.create_task(\n" -" album(\"Sundowning\", [\"TNDNBTG\", \"Levitate\"]), name=\"Sundowning\")\n" -" tg.create_task(\n" -" album(\"TMBTE\", [\"DYWTYLM\", \"Aqua Regia\"]), name=\"TMBTE\")\n" -"\n" -"if __name__ == \"__main__\":\n" -" asyncio.run(main())" -msgstr "" - -#: ../../whatsnew/3.14.rst:676 -msgid "" -"Executing the new tool on the running process will yield a table like this:" -msgstr "" - -#: ../../whatsnew/3.14.rst:678 -msgid "" -"python -m asyncio ps 12345\n" -"\n" -"tid task id task name coroutine chain awaiter name awaiter id\n" -"---------------------------------------------------------------------------------------------------------------------------------------\n" -"8138752 0x564bd3d0210 Task-1 0x0\n" -"8138752 0x564bd3d0410 Sundowning _aexit -> __aexit__ -> main Task-1 0x564bd3d0210\n" -"8138752 0x564bd3d0610 TMBTE _aexit -> __aexit__ -> main Task-1 0x564bd3d0210\n" -"8138752 0x564bd3d0810 TNDNBTG _aexit -> __aexit__ -> album Sundowning 0x564bd3d0410\n" -"8138752 0x564bd3d0a10 Levitate _aexit -> __aexit__ -> album Sundowning 0x564bd3d0410\n" -"8138752 0x564bd3e0550 DYWTYLM _aexit -> __aexit__ -> album TMBTE 0x564bd3d0610\n" -"8138752 0x564bd3e0710 Aqua Regia _aexit -> __aexit__ -> album TMBTE 0x564bd3d0610" -msgstr "" - -#: ../../whatsnew/3.14.rst:693 -msgid "or:" -msgstr "" - -#: ../../whatsnew/3.14.rst:695 -msgid "" -"python -m asyncio pstree 12345\n" -"\n" -"└── (T) Task-1\n" -" └── main\n" -" └── __aexit__\n" -" └── _aexit\n" -" ├── (T) Sundowning\n" -" │ └── album\n" -" │ └── __aexit__\n" -" │ └── _aexit\n" -" │ ├── (T) TNDNBTG\n" -" │ └── (T) Levitate\n" -" └── (T) TMBTE\n" -" └── album\n" -" └── __aexit__\n" -" └── _aexit\n" -" ├── (T) DYWTYLM\n" -" └── (T) Aqua Regia" -msgstr "" - -#: ../../whatsnew/3.14.rst:716 -msgid "" -"If a cycle is detected in the async await graph (which could indicate a " -"programming issue), the tool raises an error and lists the cycle paths that " -"prevent tree construction." -msgstr "" - -#: ../../whatsnew/3.14.rst:720 -msgid "" -"(Contributed by Pablo Galindo, Łukasz Langa, Yury Selivanov, and Marta Gomez" -" Macias in :gh:`91048`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:726 -msgid "A new type of interpreter" -msgstr "" - -#: ../../whatsnew/3.14.rst:728 -msgid "" -"A new type of interpreter has been added to CPython. It uses tail calls " -"between small C functions that implement individual Python opcodes, rather " -"than one large C case statement. For certain newer compilers, this " -"interpreter provides significantly better performance. Preliminary numbers " -"on our machines suggest anywhere up to 30% faster Python code, and a " -"geometric mean of 3-5% faster on ``pyperformance`` depending on platform and" -" architecture. The baseline is Python 3.14 built with Clang 19 without this " -"new interpreter." -msgstr "" - -#: ../../whatsnew/3.14.rst:737 -msgid "" -"This interpreter currently only works with Clang 19 and newer on x86-64 and " -"AArch64 architectures. However, we expect that a future release of GCC will " -"support this as well." -msgstr "" - -#: ../../whatsnew/3.14.rst:741 -msgid "" -"This feature is opt-in for now. We highly recommend enabling profile-guided " -"optimization with the new interpreter as it is the only configuration we " -"have tested and can validate its improved performance. For further " -"information on how to build Python, see :option:`--with-tail-call-interp`." -msgstr "" - -#: ../../whatsnew/3.14.rst:749 -msgid "" -"This is not to be confused with `tail call optimization`__ of Python " -"functions, which is currently not implemented in CPython." -msgstr "" - -#: ../../whatsnew/3.14.rst:752 -msgid "" -"This new interpreter type is an internal implementation detail of the " -"CPython interpreter. It doesn't change the visible behavior of Python " -"programs at all. It can improve their performance, but doesn't change " -"anything else." -msgstr "" - -#: ../../whatsnew/3.14.rst:760 -msgid "" -"This section previously reported a 9-15% geometric mean speedup. This number" -" has since been cautiously revised down to 3-5%. While we expect performance" -" results to be better than what we report, our estimates are more " -"conservative due to a `compiler bug `_ found in Clang/LLVM 19, which causes the normal " -"interpreter to be slower. We were unaware of this bug, resulting in " -"inaccurate results. We sincerely apologize for communicating results that " -"were only accurate for LLVM v19.1.x and v20.1.0. In the meantime, the bug " -"has been fixed in LLVM v20.1.1 and for the upcoming v21.1, but it will " -"remain unfixed for LLVM v19.1.x and v20.1.0. Thus any benchmarks with those " -"versions of LLVM may produce inaccurate numbers. (Thanks to Nelson Elhage " -"for bringing this to light.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:772 -msgid "" -"(Contributed by Ken Jin in :gh:`128563`, with ideas on how to implement this" -" in CPython by Mark Shannon, Garrett Gu, Haoran Xu, and Josh Haberman.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:779 -msgid "Syntax highlighting in PyREPL" -msgstr "" - -#: ../../whatsnew/3.14.rst:781 -msgid "" -"The default :term:`interactive` shell now highlights Python syntax as you " -"type. The feature is enabled by default unless the " -":envvar:`PYTHON_BASIC_REPL` environment is set or any color-disabling " -"environment variables are used. See :ref:`using-on-controlling-color` for " -"details." -msgstr "" - -#: ../../whatsnew/3.14.rst:787 -msgid "" -"The default color theme for syntax highlighting strives for good contrast " -"and uses exclusively the 4-bit VGA standard ANSI color codes for maximum " -"compatibility. The theme can be customized using an experimental API " -"``_colorize.set_theme()``. This can be called interactively, as well as in " -"the :envvar:`PYTHONSTARTUP` script." -msgstr "" - -#: ../../whatsnew/3.14.rst:793 -msgid "(Contributed by Łukasz Langa in :gh:`131507`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:799 -msgid "Binary releases for the experimental just-in-time compiler" -msgstr "" - -#: ../../whatsnew/3.14.rst:801 -msgid "" -"The official macOS and Windows release binaries now include an " -"*experimental* just-in-time (JIT) compiler. Although it is **not** " -"recommended for production use, it can be tested by setting " -":envvar:`PYTHON_JIT=1 ` as an environment variable. Downstream " -"source builds and redistributors can use the :option:`--enable-experimental-" -"jit=yes-off` configuration option for similar behavior." -msgstr "" - -#: ../../whatsnew/3.14.rst:808 -msgid "" -"The JIT is at an early stage and still in active development. As such, the " -"typical performance impact of enabling it can range from 10% slower to 20% " -"faster, depending on workload. To aid in testing and evaluation, a set of " -"introspection functions has been provided in the :data:`sys._jit` namespace." -" :func:`sys._jit.is_available` can be used to determine if the current " -"executable supports JIT compilation, while :func:`sys._jit.is_enabled` can " -"be used to tell if JIT compilation has been enabled for the current process." -msgstr "" - -#: ../../whatsnew/3.14.rst:816 -msgid "" -"Currently, the most significant missing functionality is that native " -"debuggers and profilers like ``gdb`` and ``perf`` are unable to unwind " -"through JIT frames (Python debuggers and profilers, like :mod:`pdb` or " -":mod:`profile`, continue to work without modification). Free-threaded builds" -" do not support JIT compilation." -msgstr "" - -#: ../../whatsnew/3.14.rst:821 -msgid "" -"Please report any bugs or major performance regressions that you encounter!" -msgstr "" - -#: ../../whatsnew/3.14.rst:823 -msgid ":pep:`744`" -msgstr "" - -#: ../../whatsnew/3.14.rst:827 -msgid "Other language changes" -msgstr "" - -#: ../../whatsnew/3.14.rst:829 -msgid "" -"The default :term:`interactive` shell now supports import autocompletion. " -"This means that typing ``import foo`` and pressing ```` will suggest " -"modules starting with ``foo``. Similarly, typing ``from foo import b`` will " -"suggest submodules of ``foo`` starting with ``b``. Note that autocompletion " -"of module attributes is not currently supported. (Contributed by Tomas Roun " -"in :gh:`69605`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:836 -msgid "" -"The :func:`map` built-in now has an optional keyword-only *strict* flag like" -" :func:`zip` to check that all the iterables are of equal length. " -"(Contributed by Wannes Boeykens in :gh:`119793`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:840 -msgid "" -"Incorrect usage of :keyword:`await` and asynchronous comprehensions is now " -"detected even if the code is optimized away by the :option:`-O` command-line" -" option. For example, ``python -O -c 'assert await 1'`` now produces a " -":exc:`SyntaxError`. (Contributed by Jelle Zijlstra in :gh:`121637`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:845 -msgid "" -"Writes to ``__debug__`` are now detected even if the code is optimized away " -"by the :option:`-O` command-line option. For example, ``python -O -c 'assert" -" (__debug__ := 1)'`` now produces a :exc:`SyntaxError`. (Contributed by Irit" -" Katriel in :gh:`122245`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:850 -msgid "" -"Add class methods :meth:`float.from_number` and :meth:`complex.from_number` " -"to convert a number to :class:`float` or :class:`complex` type " -"correspondingly. They raise an error if the argument is a string. " -"(Contributed by Serhiy Storchaka in :gh:`84978`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:855 -msgid "" -"Implement mixed-mode arithmetic rules combining real and complex numbers as " -"specified by C standards since C99. (Contributed by Sergey B Kirpichev in " -":gh:`69639`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:859 -msgid "" -"All Windows code pages are now supported as \"cpXXX\" codecs on Windows. " -"(Contributed by Serhiy Storchaka in :gh:`123803`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:862 -msgid "" -":class:`super` objects are now :mod:`pickleable ` and :mod:`copyable" -" `. (Contributed by Serhiy Storchaka in :gh:`125767`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:866 -msgid "" -"The :class:`memoryview` type now supports subscription, making it a " -":term:`generic type`. (Contributed by Brian Schubert in :gh:`126012`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:870 -msgid "" -"Support underscore and comma as thousands separators in the fractional part " -"for floating-point presentation types of the new-style string formatting " -"(with :func:`format` or :ref:`f-strings`). (Contributed by Sergey B " -"Kirpichev in :gh:`87790`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:875 -msgid "" -"The :func:`bytes.fromhex` and :func:`bytearray.fromhex` methods now accept " -"ASCII :class:`bytes` and :term:`bytes-like objects `. " -"(Contributed by Daniel Pope in :gh:`129349`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:879 -msgid "" -"Support ``\\z`` as a synonym for ``\\Z`` in :mod:`regular expressions `." -" It is interpreted unambiguously in many other regular expression engines, " -"unlike ``\\Z``, which has subtly different behavior. (Contributed by Serhiy " -"Storchaka in :gh:`133306`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:884 -msgid "" -"``\\B`` in :mod:`regular expression ` now matches empty input string. " -"Now it is always the opposite of ``\\b``. (Contributed by Serhiy Storchaka " -"in :gh:`124130`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:888 -msgid "" -"iOS and macOS apps can now be configured to redirect ``stdout`` and " -"``stderr`` content to the system log. (Contributed by Russell Keith-Magee in" -" :gh:`127592`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:892 -msgid "" -"The iOS testbed is now able to stream test output while the test is running." -" The testbed can also be used to run the test suite of projects other than " -"CPython itself. (Contributed by Russell Keith-Magee in :gh:`127592`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:896 -msgid "" -"Three-argument :func:`pow` now tries calling :meth:`~object.__rpow__` if " -"necessary. Previously it was only called in two-argument :func:`!pow` and " -"the binary power operator. (Contributed by Serhiy Storchaka in " -":gh:`130104`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:901 -msgid "" -"Add a built-in implementation for HMAC (:rfc:`2104`) using formally verified" -" code from the `HACL* `__ project. " -"This implementation is used as a fallback when the OpenSSL implementation of" -" HMAC is not available. (Contributed by Bénédikt Tran in :gh:`99108`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:907 -msgid "" -"The import time flag can now track modules that are already loaded " -"('cached'), via the new :option:`-X importtime=2 <-X>`. When such a module " -"is imported, the ``self`` and ``cumulative`` times are replaced by the " -"string ``cached``. Values above ``2`` for ``-X importtime`` are now reserved" -" for future use. (Contributed by Noah Kim and Adam Turner in :gh:`118655`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:914 -msgid "" -"When subclassing from a pure C type, the C slots for the new type are no " -"longer replaced with a wrapped version on class creation if they are not " -"explicitly overridden in the subclass. (Contributed by Tomasz Pytel in " -":gh:`132329`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:919 -msgid "" -"The command-line option :option:`-c` now automatically dedents its code " -"argument before execution. The auto-dedentation behavior mirrors " -":func:`textwrap.dedent`. (Contributed by Jon Crall and Steven Sun in " -":gh:`103998`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:924 -msgid "" -"Improve error message when an object supporting the synchronous context " -"manager protocol is entered using :keyword:`async with` instead of " -":keyword:`with`. And vice versa with the asynchronous context manager " -"protocol. (Contributed by Bénédikt Tran in :gh:`128398`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:930 -msgid "" -":option:`!-J` is no longer a reserved flag for Jython_, and now has no " -"special meaning. (Contributed by Adam Turner in :gh:`133336`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:939 -msgid "" -"PEP 765: Disallow ``return``/``break``/``continue`` that exit a ``finally`` " -"block" -msgstr "" - -#: ../../whatsnew/3.14.rst:941 -msgid "" -"The compiler emits a :exc:`SyntaxWarning` when a :keyword:`return`, " -":keyword:`break` or :keyword:`continue` statements appears where it exits a " -":keyword:`finally` block. This change is specified in :pep:`765`." -msgstr "" - -#: ../../whatsnew/3.14.rst:947 -msgid "New modules" -msgstr "" - -#: ../../whatsnew/3.14.rst:949 -msgid "" -":mod:`annotationlib`: For introspecting :term:`annotations `. " -"See :pep:`749` for more details. (Contributed by Jelle Zijlstra in " -":gh:`119180`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:955 -msgid "Improved modules" -msgstr "" - -#: ../../whatsnew/3.14.rst:958 ../../whatsnew/3.14.rst:2119 -msgid "argparse" -msgstr "argparse" - -#: ../../whatsnew/3.14.rst:960 -msgid "" -"The default value of the :ref:`program name ` for " -":class:`argparse.ArgumentParser` now reflects the way the Python interpreter" -" was instructed to find the ``__main__`` module code. (Contributed by Serhiy" -" Storchaka and Alyssa Coghlan in :gh:`66436`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:965 -msgid "" -"Introduced the optional *suggest_on_error* parameter to " -":class:`argparse.ArgumentParser`, enabling suggestions for argument choices " -"and subparser names if mistyped by the user. (Contributed by Savannah " -"Ostrowski in :gh:`124456`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:972 -msgid "" -"Introduced the optional *color* parameter to " -":class:`argparse.ArgumentParser`, enabling color for help text. This can be " -"controlled by :ref:`environment variables `. " -"Color has also been enabled for help in the :ref:`stdlib CLIs ` which use :mod:`!argparse`. (Contributed by Hugo van Kemenade in " -":gh:`130645`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:981 ../../whatsnew/3.14.rst:2134 -msgid "ast" -msgstr "ast" - -#: ../../whatsnew/3.14.rst:983 -msgid "" -"Add :func:`ast.compare` for comparing two ASTs. (Contributed by Batuhan " -"Taskaya and Jeremy Hylton in :gh:`60191`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:986 -msgid "" -"Add support for :func:`copy.replace` for AST nodes. (Contributed by Bénédikt" -" Tran in :gh:`121141`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:989 -msgid "" -"Docstrings are now removed from an optimized AST in optimization level 2. " -"(Contributed by Irit Katriel in :gh:`123958`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:992 -msgid "" -"The ``repr()`` output for AST nodes now includes more information. " -"(Contributed by Tomas Roun in :gh:`116022`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:995 -msgid "" -":func:`ast.parse`, when called with an AST as input, now always verifies " -"that the root node type is appropriate. (Contributed by Irit Katriel in " -":gh:`130139`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:999 -msgid "" -"Add new ``--feature-version``, ``--optimize``, ``--show-empty`` options to " -"command-line interface. (Contributed by Semyon Moroz in :gh:`133367`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1005 -msgid "bdb" -msgstr "" - -#: ../../whatsnew/3.14.rst:1007 -msgid "" -"The :mod:`bdb` module now supports the :mod:`sys.monitoring` backend. " -"(Contributed by Tian Gao in :gh:`124533`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1014 -msgid "calendar" -msgstr "calendar" - -#: ../../whatsnew/3.14.rst:1016 -msgid "" -"By default, today's date is highlighted in color in :mod:`calendar`'s " -":ref:`command-line ` text output. This can be controlled by " -":ref:`environment variables `. (Contributed by " -"Hugo van Kemenade in :gh:`128317`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1024 -msgid "concurrent.futures" -msgstr "concurrent.futures" - -#: ../../whatsnew/3.14.rst:1026 -msgid "" -"Add :class:`~concurrent.futures.InterpreterPoolExecutor`, which exposes " -"\"subinterpreters\" (multiple Python interpreters in the same process) to " -"Python code. This is separate from the proposed API in :pep:`734`. " -"(Contributed by Eric Snow in :gh:`124548`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1034 -msgid "" -"The default :class:`~concurrent.futures.ProcessPoolExecutor` :ref:`start " -"method ` changed from :ref:`fork " -"` to :ref:`forkserver ` on platforms other than macOS and Windows where it" -" was already :ref:`spawn `." -msgstr "" - -#: ../../whatsnew/3.14.rst:1040 -msgid "" -"If the threading incompatible *fork* method is required, you must explicitly" -" request it by supplying a multiprocessing context *mp_context* to " -":class:`~concurrent.futures.ProcessPoolExecutor`." -msgstr "" - -#: ../../whatsnew/3.14.rst:1044 ../../whatsnew/3.14.rst:1463 -msgid "" -"See :ref:`forkserver restrictions ` " -"for information and differences with the *fork* method and how this change " -"may affect existing code with mutable global shared variables and/or shared " -"objects that can not be automatically :mod:`pickled `." -msgstr "" - -#: ../../whatsnew/3.14.rst:1049 ../../whatsnew/3.14.rst:1468 -msgid "(Contributed by Gregory P. Smith in :gh:`84559`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1051 -msgid "" -"Add :meth:`concurrent.futures.ProcessPoolExecutor.terminate_workers` and " -":meth:`concurrent.futures.ProcessPoolExecutor.kill_workers` as ways to " -"terminate or kill all living worker processes in the given pool. " -"(Contributed by Charles Machalow in :gh:`130849`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1056 -msgid "" -"Add the optional ``buffersize`` parameter to " -":meth:`concurrent.futures.Executor.map` to limit the number of submitted " -"tasks whose results have not yet been yielded. If the buffer is full, " -"iteration over the *iterables* pauses until a result is yielded from the " -"buffer. (Contributed by Enzo Bonnal and Josh Rosenberg in :gh:`74028`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1065 -msgid "contextvars" -msgstr "contextvars" - -#: ../../whatsnew/3.14.rst:1067 -msgid "" -"Support context manager protocol by :class:`contextvars.Token`. (Contributed" -" by Andrew Svetlov in :gh:`129889`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1072 -msgid "ctypes" -msgstr "ctypes" - -#: ../../whatsnew/3.14.rst:1074 -msgid "" -"The layout of :ref:`bit fields ` in " -":class:`~ctypes.Structure` and :class:`~ctypes.Union` now matches platform " -"defaults (GCC/Clang or MSVC) more closely. In particular, fields no longer " -"overlap. (Contributed by Matthias Görgens in :gh:`97702`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1080 -msgid "" -"The :attr:`.Structure._layout_` class attribute can now be set to help match" -" a non-default ABI. (Contributed by Petr Viktorin in :gh:`97702`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1084 -msgid "" -"The class of :class:`~ctypes.Structure`/:class:`~ctypes.Union` field " -"descriptors is now available as :class:`~ctypes.CField`, and has new " -"attributes to aid debugging and introspection. (Contributed by Petr Viktorin" -" in :gh:`128715`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1089 -msgid "" -"On Windows, the :exc:`~ctypes.COMError` exception is now public. " -"(Contributed by Jun Komoda in :gh:`126686`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1092 -msgid "" -"On Windows, the :func:`~ctypes.CopyComPointer` function is now public. " -"(Contributed by Jun Komoda in :gh:`127275`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1095 -msgid "" -":func:`ctypes.memoryview_at` now exists to create a :class:`memoryview` " -"object that refers to the supplied pointer and length. This works like " -":func:`ctypes.string_at` except it avoids a buffer copy, and is typically " -"useful when implementing pure Python callback functions that are passed " -"dynamically-sized buffers. (Contributed by Rian Hunter in :gh:`112018`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1102 -msgid "" -"Complex types, :class:`~ctypes.c_float_complex`, " -":class:`~ctypes.c_double_complex` and :class:`~ctypes.c_longdouble_complex`," -" are now available if both the compiler and the ``libffi`` library support " -"complex C types. (Contributed by Sergey B Kirpichev in :gh:`61103`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1108 -msgid "" -"Add :func:`ctypes.util.dllist` for listing the shared libraries loaded by " -"the current process. (Contributed by Brian Ward in :gh:`119349`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1112 -msgid "" -"Move :func:`ctypes.POINTER` types cache from a global internal cache " -"(``_pointer_type_cache``) to the :attr:`ctypes._CData.__pointer_type__` " -"attribute of the corresponding :mod:`ctypes` types. This will stop the cache" -" from growing without limits in some situations. (Contributed by Sergey " -"Miryanov in :gh:`100926`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1118 -msgid "" -"The :class:`ctypes.py_object` type now supports subscription, making it a " -":term:`generic type`. (Contributed by Brian Schubert in :gh:`132168`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1123 -msgid "curses" -msgstr "" - -#: ../../whatsnew/3.14.rst:1125 -msgid "" -"Add the :func:`~curses.assume_default_colors` function, a refinement of the " -":func:`~curses.use_default_colors` function which allows to change the color" -" pair ``0``. (Contributed by Serhiy Storchaka in :gh:`133139`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1131 -msgid "datetime" -msgstr "datetime" - -#: ../../whatsnew/3.14.rst:1133 -msgid "" -"Add :meth:`datetime.time.strptime` and :meth:`datetime.date.strptime`. " -"(Contributed by Wannes Boeykens in :gh:`41431`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1137 -msgid "decimal" -msgstr "decimal" - -#: ../../whatsnew/3.14.rst:1139 -msgid "" -"Add alternative :class:`~decimal.Decimal` constructor " -":meth:`Decimal.from_number() `. (Contributed by" -" Serhiy Storchaka in :gh:`121798`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1143 -msgid "" -"Expose :func:`decimal.IEEEContext` to support creation of contexts " -"corresponding to the IEEE 754 (2008) decimal interchange formats. " -"(Contributed by Sergey B Kirpichev in :gh:`53032`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1148 -msgid "difflib" -msgstr "" - -#: ../../whatsnew/3.14.rst:1150 -msgid "" -"Comparison pages with highlighted changes generated by the " -":class:`difflib.HtmlDiff` class now support dark mode. (Contributed by " -"Jiahao Li in :gh:`129939`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1155 -msgid "dis" -msgstr "dis" - -#: ../../whatsnew/3.14.rst:1157 -msgid "" -"Add support for rendering full source location information of " -":class:`instructions `, rather than only the line number. " -"This feature is added to the following interfaces via the *show_positions* " -"keyword argument:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1162 -msgid ":class:`dis.Bytecode`" -msgstr "" - -#: ../../whatsnew/3.14.rst:1163 -msgid ":func:`dis.dis`" -msgstr "" - -#: ../../whatsnew/3.14.rst:1164 -msgid ":func:`dis.distb`" -msgstr "" - -#: ../../whatsnew/3.14.rst:1165 -msgid ":func:`dis.disassemble`" -msgstr "" - -#: ../../whatsnew/3.14.rst:1167 -msgid "" -"This feature is also exposed via :option:`dis --show-positions`. " -"(Contributed by Bénédikt Tran in :gh:`123165`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1170 -msgid "" -"Add the :option:`dis --specialized` command-line option to show specialized " -"bytecode. (Contributed by Bénédikt Tran in :gh:`127413`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1176 -msgid "errno" -msgstr "" - -#: ../../whatsnew/3.14.rst:1178 -msgid "" -"Add :data:`errno.EHWPOISON` error code. (Contributed by James Roy in " -":gh:`126585`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1183 -msgid "faulthandler" -msgstr "" - -#: ../../whatsnew/3.14.rst:1185 -msgid "" -"Add support for printing the C stack trace on systems that :ref:`support it " -"` via :func:`faulthandler.dump_c_stack` or via the " -"*c_stack* argument in :func:`faulthandler.enable`. (Contributed by Peter " -"Bierma in :gh:`127604`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1192 -msgid "fnmatch" -msgstr "" - -#: ../../whatsnew/3.14.rst:1194 -msgid "" -"Added :func:`fnmatch.filterfalse` for excluding names matching a pattern. " -"(Contributed by Bénédikt Tran in :gh:`74598`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1199 -msgid "fractions" -msgstr "" - -#: ../../whatsnew/3.14.rst:1201 -msgid "" -"Add support for converting any objects that have the " -":meth:`!as_integer_ratio` method to a :class:`~fractions.Fraction`. " -"(Contributed by Serhiy Storchaka in :gh:`82017`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1205 -msgid "" -"Add alternative :class:`~fractions.Fraction` constructor " -":meth:`Fraction.from_number() `. " -"(Contributed by Serhiy Storchaka in :gh:`121797`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1211 -msgid "functools" -msgstr "functools" - -#: ../../whatsnew/3.14.rst:1213 -msgid "" -"Add support to :func:`functools.partial` and :func:`functools.partialmethod`" -" for :data:`functools.Placeholder` sentinels to reserve a place for " -"positional arguments. (Contributed by Dominykas Grigonis in :gh:`119127`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1218 -msgid "" -"Allow the *initial* parameter of :func:`functools.reduce` to be passed as a " -"keyword argument. (Contributed by Sayandip Dutta in :gh:`125916`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1224 -msgid "getopt" -msgstr "" - -#: ../../whatsnew/3.14.rst:1226 -msgid "" -"Add support for options with optional arguments. (Contributed by Serhiy " -"Storchaka in :gh:`126374`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1229 -msgid "" -"Add support for returning intermixed options and non-option arguments in " -"order. (Contributed by Serhiy Storchaka in :gh:`126390`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1234 -msgid "getpass" -msgstr "" - -#: ../../whatsnew/3.14.rst:1236 -msgid "" -"Support keyboard feedback by :func:`getpass.getpass` via the keyword-only " -"optional argument ``echo_char``. Placeholder characters are rendered " -"whenever a character is entered, and removed when a character is deleted. " -"(Contributed by Semyon Moroz in :gh:`77065`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1243 -msgid "graphlib" -msgstr "" - -#: ../../whatsnew/3.14.rst:1245 -msgid "" -"Allow :meth:`graphlib.TopologicalSorter.prepare` to be called more than once" -" as long as sorting has not started. (Contributed by Daniel Pope in " -":gh:`130914`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1251 -msgid "heapq" -msgstr "" - -#: ../../whatsnew/3.14.rst:1253 -msgid "Add functions for working with max-heaps:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1255 -msgid ":func:`heapq.heapify_max`," -msgstr "" - -#: ../../whatsnew/3.14.rst:1256 -msgid ":func:`heapq.heappush_max`," -msgstr "" - -#: ../../whatsnew/3.14.rst:1257 -msgid ":func:`heapq.heappop_max`," -msgstr "" - -#: ../../whatsnew/3.14.rst:1258 -msgid ":func:`heapq.heapreplace_max`" -msgstr "" - -#: ../../whatsnew/3.14.rst:1259 -msgid ":func:`heapq.heappushpop_max`" -msgstr "" - -#: ../../whatsnew/3.14.rst:1263 -msgid "hmac" -msgstr "hmac" - -#: ../../whatsnew/3.14.rst:1265 -msgid "" -"Add a built-in implementation for HMAC (:rfc:`2104`) using formally verified" -" code from the `HACL* `__ project. " -"(Contributed by Bénédikt Tran in :gh:`99108`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1271 -msgid "http" -msgstr "http" - -#: ../../whatsnew/3.14.rst:1273 -msgid "" -"Directory lists and error pages generated by the :mod:`http.server` module " -"allow the browser to apply its default dark mode. (Contributed by Yorik " -"Hansen in :gh:`123430`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1277 -msgid "" -"The :mod:`http.server` module now supports serving over HTTPS using the " -":class:`http.server.HTTPSServer` class. This functionality is exposed by the" -" command-line interface (``python -m http.server``) through the following " -"options:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1282 -msgid "``--tls-cert ``: Path to the TLS certificate file." -msgstr "" - -#: ../../whatsnew/3.14.rst:1283 -msgid "``--tls-key ``: Optional path to the private key file." -msgstr "" - -#: ../../whatsnew/3.14.rst:1284 -msgid "" -"``--tls-password-file ``: Optional path to the password file for the " -"private key." -msgstr "" - -#: ../../whatsnew/3.14.rst:1286 -msgid "(Contributed by Semyon Moroz in :gh:`85162`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1290 -msgid "imaplib" -msgstr "" - -#: ../../whatsnew/3.14.rst:1292 -msgid "" -"Add :meth:`IMAP4.idle() `, implementing the IMAP4 " -"``IDLE`` command as defined in :rfc:`2177`. (Contributed by Forest in " -":gh:`55454`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1298 -msgid "inspect" -msgstr "inspect" - -#: ../../whatsnew/3.14.rst:1300 -msgid "" -":func:`inspect.signature` takes a new argument *annotation_format* to " -"control the :class:`annotationlib.Format` used for representing annotations." -" (Contributed by Jelle Zijlstra in :gh:`101552`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1304 -msgid "" -":meth:`inspect.Signature.format` takes a new argument *unquote_annotations*." -" If true, string :term:`annotations ` are displayed without " -"surrounding quotes. (Contributed by Jelle Zijlstra in :gh:`101552`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1308 -msgid "" -"Add function :func:`inspect.ispackage` to determine whether an object is a " -":term:`package` or not. (Contributed by Zhikang Yan in :gh:`125634`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1314 ../../whatsnew/3.14.rst:1939 -msgid "io" -msgstr "io" - -#: ../../whatsnew/3.14.rst:1316 -msgid "" -"Reading text from a non-blocking stream with ``read`` may now raise a " -":exc:`BlockingIOError` if the operation cannot immediately return bytes. " -"(Contributed by Giovanni Siragusa in :gh:`109523`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1320 -msgid "" -"Add protocols :class:`io.Reader` and :class:`io.Writer` as a simpler " -"alternatives to the pseudo-protocols :class:`typing.IO`, " -":class:`typing.TextIO`, and :class:`typing.BinaryIO`. (Contributed by " -"Sebastian Rittau in :gh:`127648`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1327 -msgid "json" -msgstr "json" - -#: ../../whatsnew/3.14.rst:1329 -msgid "" -"Add notes for JSON serialization errors that allow to identify the source of" -" the error. (Contributed by Serhiy Storchaka in :gh:`122163`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1333 -msgid "" -"Enable the :mod:`json` module to work as a script using the :option:`-m` " -"switch: :program:`python -m json`. See the :ref:`JSON command-line interface" -" ` documentation. (Contributed by Trey Hunner in " -":gh:`122873`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1340 -msgid "" -"By default, the output of the :ref:`JSON command-line interface ` is highlighted in color. This can be controlled by " -":ref:`environment variables `. (Contributed by " -"Tomas Roun in :gh:`131952`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1347 -msgid "linecache" -msgstr "" - -#: ../../whatsnew/3.14.rst:1349 -msgid "" -":func:`linecache.getline` can retrieve source code for frozen modules. " -"(Contributed by Tian Gao in :gh:`131638`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1354 -msgid "logging.handlers" -msgstr "" - -#: ../../whatsnew/3.14.rst:1356 -msgid "" -":class:`logging.handlers.QueueListener` now implements the context manager " -"protocol, allowing it to be used in a :keyword:`with` statement. " -"(Contributed by Charles Machalow in :gh:`132106`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1360 -msgid "" -":meth:`QueueListener.start ` now " -"raises a :exc:`RuntimeError` if the listener is already started. " -"(Contributed by Charles Machalow in :gh:`132106`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1366 -msgid "math" -msgstr "math" - -#: ../../whatsnew/3.14.rst:1368 -msgid "" -"Added more detailed error messages for domain errors in the module. " -"(Contributed by by Charlie Zhao and Sergey B Kirpichev in :gh:`101410`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1373 -msgid "mimetypes" -msgstr "mimetypes" - -#: ../../whatsnew/3.14.rst:1375 -msgid "" -"Document the command-line for :mod:`mimetypes`. It now exits with ``1`` on " -"failure instead of ``0`` and ``2`` on incorrect command-line parameters " -"instead of ``1``. Also, errors are printed to stderr instead of stdout and " -"their text is made tighter. (Contributed by Oleg Iarygin and Hugo van " -"Kemenade in :gh:`93096`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1382 -msgid "Add MS and :rfc:`8081` MIME types for fonts:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1384 -msgid "Embedded OpenType: ``application/vnd.ms-fontobject``" -msgstr "" - -#: ../../whatsnew/3.14.rst:1385 -msgid "OpenType Layout (OTF) ``font/otf``" -msgstr "" - -#: ../../whatsnew/3.14.rst:1386 -msgid "TrueType: ``font/ttf``" -msgstr "" - -#: ../../whatsnew/3.14.rst:1387 -msgid "WOFF 1.0 ``font/woff``" -msgstr "" - -#: ../../whatsnew/3.14.rst:1388 -msgid "WOFF 2.0 ``font/woff2``" -msgstr "" - -#: ../../whatsnew/3.14.rst:1390 -msgid "(Contributed by Sahil Prajapati and Hugo van Kemenade in :gh:`84852`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1392 -msgid "" -"Add :rfc:`9559` MIME types for Matroska audiovisual data container " -"structures, containing:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1395 -msgid "audio with no video: ``audio/matroska`` (``.mka``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1396 -msgid "video: ``video/matroska`` (``.mkv``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1397 -msgid "stereoscopic video: ``video/matroska-3d`` (``.mk3d``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1399 -msgid "(Contributed by Hugo van Kemenade in :gh:`89416`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1401 -msgid "Add MIME types for images with RFCs:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1403 -msgid ":rfc:`1494`: CCITT Group 3 (``.g3``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1404 -msgid ":rfc:`3362`: Real-time Facsimile, T.38 (``.t38``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1405 -msgid "" -":rfc:`3745`: JPEG 2000 (``.jp2``), extension (``.jpx``) and compound " -"(``.jpm``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1406 -msgid ":rfc:`3950`: Tag Image File Format Fax eXtended, TIFF-FX (``.tfx``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1407 -msgid ":rfc:`4047`: Flexible Image Transport System (``.fits``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1408 -msgid "" -":rfc:`7903`: Enhanced Metafile (``.emf``) and Windows Metafile (``.wmf``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1410 -msgid "(Contributed by Hugo van Kemenade in :gh:`85957`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1412 -msgid "More MIME type changes:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1414 -msgid "" -":rfc:`2361`: Change type for ``.avi`` to ``video/vnd.avi`` and for ``.wav`` " -"to ``audio/vnd.wave``" -msgstr "" - -#: ../../whatsnew/3.14.rst:1416 -msgid ":rfc:`4337`: Add MPEG-4 ``audio/mp4`` (``.m4a``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1417 -msgid ":rfc:`5334`: Add Ogg media (``.oga``, ``.ogg`` and ``.ogx``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1418 -msgid ":rfc:`6713`: Add gzip ``application/gzip`` (``.gz``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1419 -msgid ":rfc:`9639`: Add FLAC ``audio/flac`` (``.flac``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1420 -msgid "Add 7z ``application/x-7z-compressed`` (``.7z``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1421 -msgid "" -"Add Android Package ``application/vnd.android.package-archive`` (``.apk``) " -"when not strict" -msgstr "" - -#: ../../whatsnew/3.14.rst:1423 -msgid "Add deb ``application/x-debian-package`` (``.deb``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1424 -msgid "Add glTF binary ``model/gltf-binary`` (``.glb``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1425 -msgid "Add glTF JSON/ASCII ``model/gltf+json`` (``.gltf``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1426 -msgid "Add M4V ``video/x-m4v`` (``.m4v``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1427 -msgid "Add PHP ``application/x-httpd-php`` (``.php``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1428 -msgid "Add RAR ``application/vnd.rar`` (``.rar``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1429 -msgid "Add RPM ``application/x-rpm`` (``.rpm``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1430 -msgid "Add STL ``model/stl`` (``.stl``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1431 -msgid "Add Windows Media Video ``video/x-ms-wmv`` (``.wmv``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1432 -msgid "De facto: Add WebM ``audio/webm`` (``.weba``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1433 -msgid "" -"`ECMA-376 `__: Add ``.docx``, ``.pptx`` and ``.xlsx`` " -"types" -msgstr "" - -#: ../../whatsnew/3.14.rst:1436 -msgid "" -"`OASIS `__: " -"Add OpenDocument ``.odg``, ``.odp``, ``.ods`` and ``.odt`` types" -msgstr "" - -#: ../../whatsnew/3.14.rst:1439 -msgid "" -"`W3C `__: Add EPUB " -"``application/epub+zip`` (``.epub``)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1442 -msgid "(Contributed by Hugo van Kemenade in :gh:`129965`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1444 -msgid "" -"Add :rfc:`9512` ``application/yaml`` MIME type for YAML files (``.yaml`` and" -" ``.yml``). (Contributed by Sasha \"Nelie\" Chernykh and Hugo van Kemenade " -"in :gh:`132056`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1450 -msgid "multiprocessing" -msgstr "multiprocessing" - -#: ../../whatsnew/3.14.rst:1454 -msgid "" -"The default :ref:`start method ` changed from" -" :ref:`fork ` to :ref:`forkserver " -"` on platforms other than macOS and" -" Windows where it was already :ref:`spawn `." -msgstr "" - -#: ../../whatsnew/3.14.rst:1459 -msgid "" -"If the threading incompatible *fork* method is required, you must explicitly" -" request it via a context from :func:`multiprocessing.get_context` " -"(preferred) or change the default via " -":func:`multiprocessing.set_start_method`." -msgstr "" - -#: ../../whatsnew/3.14.rst:1470 -msgid "" -":mod:`multiprocessing`'s ``\"forkserver\"`` start method now authenticates " -"its control socket to avoid solely relying on filesystem permissions to " -"restrict what other processes could cause the forkserver to spawn workers " -"and run code. (Contributed by Gregory P. Smith for :gh:`97514`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1476 -msgid "" -"The :ref:`multiprocessing proxy objects ` for" -" *list* and *dict* types gain previously overlooked missing methods:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1479 -msgid ":meth:`!clear` and :meth:`!copy` for proxies of :class:`list`" -msgstr "" - -#: ../../whatsnew/3.14.rst:1480 -msgid "" -":meth:`~dict.fromkeys`, ``reversed(d)``, ``d | {}``, ``{} | d``, ``d |= " -"{'b': 2}`` for proxies of :class:`dict`" -msgstr "" - -#: ../../whatsnew/3.14.rst:1483 -msgid "(Contributed by Roy Hyunjin Han for :gh:`103134`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1485 -msgid "" -"Add support for shared :class:`set` objects via :meth:`SyncManager.set() " -"`. The :func:`set` in " -":func:`multiprocessing.Manager` method is now available. (Contributed by " -"Mingyu Park in :gh:`129949`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1490 -msgid "" -"Add :func:`multiprocessing.Process.interrupt` which terminates the child " -"process by sending :py:const:`~signal.SIGINT`. This enables " -":keyword:`finally` clauses to print a stack trace for the terminated " -"process. (Contributed by Artem Pulkin in :gh:`131913`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1496 -msgid "operator" -msgstr "" - -#: ../../whatsnew/3.14.rst:1498 -msgid "" -"Two new functions :func:`operator.is_none` and :func:`operator.is_not_none` " -"have been added, such that ``operator.is_none(obj)`` is equivalent to ``obj " -"is None`` and ``operator.is_not_none(obj)`` is equivalent to ``obj is not " -"None``. (Contributed by Raymond Hettinger and Nico Mexis in :gh:`115808`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1506 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.14.rst:1508 -msgid "" -"Add the :func:`os.reload_environ` function to update :data:`os.environ` and " -":data:`os.environb` with changes to the environment made by " -":func:`os.putenv`, by :func:`os.unsetenv`, or made outside Python in the " -"same process. (Contributed by Victor Stinner in :gh:`120057`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1514 -msgid "" -"Add the :data:`~os.SCHED_DEADLINE` and :data:`~os.SCHED_NORMAL` constants to" -" the :mod:`os` module. (Contributed by James Roy in :gh:`127688`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1518 -msgid "" -"Add the :func:`os.readinto` function to read into a :ref:`buffer object " -"` from a file descriptor. (Contributed by Cody Maloney in " -":gh:`129205`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1524 ../../whatsnew/3.14.rst:2311 -msgid "pathlib" -msgstr "pathlib" - -#: ../../whatsnew/3.14.rst:1526 -msgid "" -"Add methods to :class:`pathlib.Path` to recursively copy or move files and " -"directories:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1529 -msgid "" -":meth:`~pathlib.Path.copy` copies a file or directory tree to a destination." -msgstr "" - -#: ../../whatsnew/3.14.rst:1530 -msgid ":meth:`~pathlib.Path.copy_into` copies *into* a destination directory." -msgstr "" - -#: ../../whatsnew/3.14.rst:1531 -msgid "" -":meth:`~pathlib.Path.move` moves a file or directory tree to a destination." -msgstr "" - -#: ../../whatsnew/3.14.rst:1532 -msgid ":meth:`~pathlib.Path.move_into` moves *into* a destination directory." -msgstr "" - -#: ../../whatsnew/3.14.rst:1534 -msgid "(Contributed by Barney Gale in :gh:`73991`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1536 -msgid "" -"Add :attr:`pathlib.Path.info` attribute, which stores an object implementing" -" the :class:`pathlib.types.PathInfo` protocol (also new). The object " -"supports querying the file type and internally caching :func:`~os.stat` " -"results. Path objects generated by :meth:`~pathlib.Path.iterdir` are " -"initialized with file type information gleaned from scanning the parent " -"directory. (Contributed by Barney Gale in :gh:`125413`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1546 -msgid "pdb" -msgstr "pdb" - -#: ../../whatsnew/3.14.rst:1548 -msgid "" -"Hardcoded breakpoints (:func:`breakpoint` and :func:`pdb.set_trace`) now " -"reuse the most recent :class:`~pdb.Pdb` instance that calls " -":meth:`~pdb.Pdb.set_trace`, instead of creating a new one each time. As a " -"result, all the instance specific data like :pdbcmd:`display` and " -":pdbcmd:`commands` are preserved across hardcoded breakpoints. (Contributed " -"by Tian Gao in :gh:`121450`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1555 -msgid "" -"Add a new argument *mode* to :class:`pdb.Pdb`. Disable the ``restart`` " -"command when :mod:`pdb` is in ``inline`` mode. (Contributed by Tian Gao in " -":gh:`123757`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1559 -msgid "" -"A confirmation prompt will be shown when the user tries to quit :mod:`pdb` " -"in ``inline`` mode. ``y``, ``Y``, ```` or ``EOF`` will confirm the " -"quit and call :func:`sys.exit`, instead of raising :exc:`bdb.BdbQuit`. " -"(Contributed by Tian Gao in :gh:`124704`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1564 -msgid "" -"Inline breakpoints like :func:`breakpoint` or :func:`pdb.set_trace` will " -"always stop the program at calling frame, ignoring the ``skip`` pattern (if " -"any). (Contributed by Tian Gao in :gh:`130493`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1569 -msgid "" -"```` at the beginning of the line in :mod:`pdb` multi-line input will " -"fill in a 4-space indentation now, instead of inserting a ``\\t`` character." -" (Contributed by Tian Gao in :gh:`130471`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1573 -msgid "" -"Auto-indent is introduced in :mod:`pdb` multi-line input. It will either " -"keep the indentation of the last line or insert a 4-space indentation when " -"it detects a new code block. (Contributed by Tian Gao in :gh:`133350`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1578 -msgid "" -"``$_asynctask`` is added to access the current asyncio task if applicable. " -"(Contributed by Tian Gao in :gh:`124367`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1581 -msgid "" -":mod:`pdb` now supports two backends: :func:`sys.settrace` and " -":mod:`sys.monitoring`. Using :mod:`pdb` CLI or :func:`breakpoint` will " -"always use the :mod:`sys.monitoring` backend. Explicitly instantiating " -":class:`pdb.Pdb` and its derived classes will use the :func:`sys.settrace` " -"backend by default, which is configurable. (Contributed by Tian Gao in " -":gh:`124533`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1588 -msgid "" -":func:`pdb.set_trace_async` is added to support debugging asyncio " -"coroutines. :keyword:`await` statements are supported with this function. " -"(Contributed by Tian Gao in :gh:`132576`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1593 -msgid "" -"Source code displayed in :mod:`pdb` will be syntax-highlighted. This feature" -" can be controlled using the same methods as PyREPL, in addition to the " -"newly added ``colorize`` argument of :class:`pdb.Pdb`. (Contributed by Tian " -"Gao and Łukasz Langa in :gh:`133355`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1600 -msgid "pickle" -msgstr "pickle" - -#: ../../whatsnew/3.14.rst:1602 -msgid "" -"Set the default protocol version on the :mod:`pickle` module to 5. For more " -"details, see :ref:`pickle protocols `." -msgstr "" - -#: ../../whatsnew/3.14.rst:1605 -msgid "" -"Add notes for pickle serialization errors that allow to identify the source " -"of the error. (Contributed by Serhiy Storchaka in :gh:`122213`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1611 -msgid "platform" -msgstr "" - -#: ../../whatsnew/3.14.rst:1613 -msgid "" -"Add :func:`platform.invalidate_caches` to invalidate the cached results. " -"(Contributed by Bénédikt Tran in :gh:`122549`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1618 -msgid "pydoc" -msgstr "pydoc" - -#: ../../whatsnew/3.14.rst:1620 -msgid "" -":term:`Annotations ` in help output are now usually displayed in" -" a format closer to that in the original source. (Contributed by Jelle " -"Zijlstra in :gh:`101552`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1626 -msgid "socket" -msgstr "socket" - -#: ../../whatsnew/3.14.rst:1628 -msgid "Improve and fix support for Bluetooth sockets." -msgstr "" - -#: ../../whatsnew/3.14.rst:1630 -msgid "" -"Fix support of Bluetooth sockets on NetBSD and DragonFly BSD. (Contributed " -"by Serhiy Storchaka in :gh:`132429`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1632 -msgid "" -"Fix support for :const:`~socket.BTPROTO_HCI` on FreeBSD. (Contributed by " -"Victor Stinner in :gh:`111178`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1634 -msgid "" -"Add support for :const:`~socket.BTPROTO_SCO` on FreeBSD. (Contributed by " -"Serhiy Storchaka in :gh:`85302`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1636 -msgid "" -"Add support for *cid* and *bdaddr_type* in the address for " -":const:`~socket.BTPROTO_L2CAP` on FreeBSD. (Contributed by Serhiy Storchaka " -"in :gh:`132429`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1639 -msgid "" -"Add support for *channel* in the address for :const:`~socket.BTPROTO_HCI` on" -" Linux. (Contributed by Serhiy Storchaka in :gh:`70145`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1642 -msgid "" -"Accept an integer as the address for :const:`~socket.BTPROTO_HCI` on Linux. " -"(Contributed by Serhiy Storchaka in :gh:`132099`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1645 -msgid "" -"Return *cid* in :meth:`~socket.socket.getsockname` for " -":const:`~socket.BTPROTO_L2CAP`. (Contributed by Serhiy Storchaka in " -":gh:`132429`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1648 -msgid "" -"Add many new constants. (Contributed by Serhiy Storchaka in :gh:`132734`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1652 -msgid "ssl" -msgstr "ssl" - -#: ../../whatsnew/3.14.rst:1654 -msgid "" -"Indicate through :data:`ssl.HAS_PHA` whether the :mod:`ssl` module supports " -"TLSv1.3 post-handshake client authentication (PHA). (Contributed by Will " -"Childs-Klein in :gh:`128036`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1660 -msgid "struct" -msgstr "" - -#: ../../whatsnew/3.14.rst:1662 -msgid "" -"Support the :c:expr:`float complex` and :c:expr:`double complex` C types in " -"the :mod:`struct` module (formatting characters ``'F'`` and ``'D'`` " -"respectively). (Contributed by Sergey B Kirpichev in :gh:`121249`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1669 -msgid "symtable" -msgstr "" - -#: ../../whatsnew/3.14.rst:1671 -msgid "Expose the following :class:`symtable.Symbol` methods:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1673 -msgid ":meth:`~symtable.Symbol.is_comp_cell`" -msgstr "" - -#: ../../whatsnew/3.14.rst:1674 -msgid ":meth:`~symtable.Symbol.is_comp_iter`" -msgstr "" - -#: ../../whatsnew/3.14.rst:1675 -msgid ":meth:`~symtable.Symbol.is_free_class`" -msgstr "" - -#: ../../whatsnew/3.14.rst:1677 -msgid "(Contributed by Bénédikt Tran in :gh:`120029`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1681 -msgid "sys" -msgstr "sys" - -#: ../../whatsnew/3.14.rst:1683 -msgid "" -"The previously undocumented special function :func:`sys.getobjects`, which " -"only exists in specialized builds of Python, may now return objects from " -"other interpreters than the one it's called in." -msgstr "" - -#: ../../whatsnew/3.14.rst:1687 -msgid "" -"Add :func:`sys._is_immortal` for determining if an object is " -":term:`immortal`. (Contributed by Peter Bierma in :gh:`128509`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1690 -msgid "" -"On FreeBSD, :data:`sys.platform` doesn't contain the major version anymore. " -"It is always ``'freebsd'``, instead of ``'freebsd13'`` or ``'freebsd14'``." -msgstr "" - -#: ../../whatsnew/3.14.rst:1693 -msgid "" -"Raise :exc:`DeprecationWarning` for :func:`sys._clear_type_cache`. This " -"function was deprecated in Python 3.13 but it didn't raise a runtime " -"warning." -msgstr "" - -#: ../../whatsnew/3.14.rst:1698 -msgid "sys.monitoring" -msgstr "" - -#: ../../whatsnew/3.14.rst:1700 -msgid "" -"Two new events are added: :monitoring-event:`BRANCH_LEFT` and :monitoring-" -"event:`BRANCH_RIGHT`. The ``BRANCH`` event is deprecated." -msgstr "" - -#: ../../whatsnew/3.14.rst:1705 -msgid "sysconfig" -msgstr "" - -#: ../../whatsnew/3.14.rst:1707 -msgid "" -"Add ``ABIFLAGS`` key to :func:`sysconfig.get_config_vars` on Windows. " -"(Contributed by Xuehai Pan in :gh:`131799`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1712 -msgid "threading" -msgstr "threading" - -#: ../../whatsnew/3.14.rst:1714 -msgid "" -":meth:`threading.Thread.start` now sets the operating system thread name to " -":attr:`threading.Thread.name`. (Contributed by Victor Stinner in " -":gh:`59705`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1720 -msgid "tkinter" -msgstr "tkinter" - -#: ../../whatsnew/3.14.rst:1722 -msgid "" -"Make :mod:`tkinter` widget methods :meth:`!after` and :meth:`!after_idle` " -"accept arguments passed by keyword. (Contributed by Zhikang Yan in " -":gh:`126899`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1726 -msgid "" -"Add ability to specify name for :class:`!tkinter.OptionMenu` and " -":class:`!tkinter.ttk.OptionMenu`. (Contributed by Zhikang Yan in " -":gh:`130482`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1731 -msgid "turtle" -msgstr "" - -#: ../../whatsnew/3.14.rst:1733 -msgid "" -"Add context managers for :func:`turtle.fill`, :func:`turtle.poly` and " -":func:`turtle.no_animation`. (Contributed by Marie Roald and Yngve Mardal " -"Moe in :gh:`126350`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1739 -msgid "types" -msgstr "types" - -#: ../../whatsnew/3.14.rst:1741 -msgid "" -":class:`types.UnionType` is now an alias for :class:`typing.Union`. See " -":ref:`below ` for more details. (Contributed by " -"Jelle Zijlstra in :gh:`105499`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1747 ../../whatsnew/3.14.rst:2347 -msgid "typing" -msgstr "typing" - -#: ../../whatsnew/3.14.rst:1751 -msgid "" -":class:`types.UnionType` and :class:`typing.Union` are now aliases for each " -"other, meaning that both old-style unions (created with ``Union[int, str]``)" -" and new-style unions (``int | str``) now create instances of the same " -"runtime type. This unifies the behavior between the two syntaxes, but leads " -"to some differences in behavior that may affect users who introspect types " -"at runtime:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1757 -msgid "" -"Both syntaxes for creating a union now produce the same string " -"representation in ``repr()``. For example, ``repr(Union[int, str])`` is now " -"``\"int | str\"`` instead of ``\"typing.Union[int, str]\"``." -msgstr "" - -#: ../../whatsnew/3.14.rst:1760 -msgid "" -"Unions created using the old syntax are no longer cached. Previously, " -"running ``Union[int, str]`` multiple times would return the same object " -"(``Union[int, str] is Union[int, str]`` would be ``True``), but now it will " -"return two different objects. Users should use ``==`` to compare unions for " -"equality, not ``is``. New-style unions have never been cached this way. This" -" change could increase memory usage for some programs that use a large " -"number of unions created by subscripting ``typing.Union``. However, several " -"factors offset this cost: unions used in annotations are no longer evaluated" -" by default in Python 3.14 because of :pep:`649`; an instance of " -":class:`types.UnionType` is itself much smaller than the object returned by " -"``Union[]`` was on prior Python versions; and removing the cache also saves " -"some space. It is therefore unlikely that this change will cause a " -"significant increase in memory usage for most users." -msgstr "" - -#: ../../whatsnew/3.14.rst:1773 -msgid "" -"Previously, old-style unions were implemented using the private class " -"``typing._UnionGenericAlias``. This class is no longer needed for the " -"implementation, but it has been retained for backward compatibility, with " -"removal scheduled for Python 3.17. Users should use documented introspection" -" helpers like :func:`typing.get_origin` and :func:`typing.get_args` instead " -"of relying on private implementation details." -msgstr "" - -#: ../../whatsnew/3.14.rst:1778 -msgid "" -"It is now possible to use :class:`typing.Union` itself in :func:`isinstance`" -" checks. For example, ``isinstance(int | str, typing.Union)`` will return " -"``True``; previously this raised :exc:`TypeError`." -msgstr "" - -#: ../../whatsnew/3.14.rst:1781 -msgid "" -"The ``__args__`` attribute of :class:`typing.Union` objects is no longer " -"writable." -msgstr "" - -#: ../../whatsnew/3.14.rst:1782 -msgid "" -"It is no longer possible to set any attributes on :class:`typing.Union` " -"objects. This only ever worked for dunder attributes on previous versions, " -"was never documented to work, and was subtly broken in many cases." -msgstr "" - -#: ../../whatsnew/3.14.rst:1786 -msgid "(Contributed by Jelle Zijlstra in :gh:`105499`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1790 -msgid "unicodedata" -msgstr "unicodedata" - -#: ../../whatsnew/3.14.rst:1792 -msgid "The Unicode database has been updated to Unicode 16.0.0." -msgstr "" - -#: ../../whatsnew/3.14.rst:1798 -msgid "unittest" -msgstr "unittest" - -#: ../../whatsnew/3.14.rst:1800 -msgid "" -":mod:`unittest` output is now colored by default. This can be controlled by " -":ref:`environment variables `. (Contributed by " -"Hugo van Kemenade in :gh:`127221`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1805 -msgid "" -"unittest discovery supports :term:`namespace package` as start directory " -"again. It was removed in Python 3.11. (Contributed by Jacob Walls in " -":gh:`80958`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1809 -msgid "" -"A number of new methods were added in the :class:`~unittest.TestCase` class " -"that provide more specialized tests." -msgstr "" - -#: ../../whatsnew/3.14.rst:1812 -msgid "" -":meth:`~unittest.TestCase.assertHasAttr` and " -":meth:`~unittest.TestCase.assertNotHasAttr` check whether the object has a " -"particular attribute." -msgstr "" - -#: ../../whatsnew/3.14.rst:1815 -msgid "" -":meth:`~unittest.TestCase.assertIsSubclass` and " -":meth:`~unittest.TestCase.assertNotIsSubclass` check whether the object is a" -" subclass of a particular class, or of one of a tuple of classes." -msgstr "" - -#: ../../whatsnew/3.14.rst:1818 -msgid "" -":meth:`~unittest.TestCase.assertStartsWith`, " -":meth:`~unittest.TestCase.assertNotStartsWith`, " -":meth:`~unittest.TestCase.assertEndsWith` and " -":meth:`~unittest.TestCase.assertNotEndsWith` check whether the Unicode or " -"byte string starts or ends with particular string(s)." -msgstr "" - -#: ../../whatsnew/3.14.rst:1824 -msgid "(Contributed by Serhiy Storchaka in :gh:`71339`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1828 ../../whatsnew/3.14.rst:2355 -msgid "urllib" -msgstr "" - -#: ../../whatsnew/3.14.rst:1830 -msgid "" -"Upgrade HTTP digest authentication algorithm for :mod:`urllib.request` by " -"supporting SHA-256 digest authentication as specified in :rfc:`7616`. " -"(Contributed by Calvin Bui in :gh:`128193`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1834 -msgid "" -"Improve ergonomics and standards compliance when parsing and emitting " -"``file:`` URLs." -msgstr "" - -#: ../../whatsnew/3.14.rst:1837 -msgid "In :func:`urllib.request.url2pathname`:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1839 -msgid "" -"Accept a complete URL when the new *require_scheme* argument is set to true." -msgstr "" - -#: ../../whatsnew/3.14.rst:1841 -msgid "Discard URL authority if it matches the local hostname." -msgstr "" - -#: ../../whatsnew/3.14.rst:1842 -msgid "" -"Discard URL authority if it resolves to a local IP address when the new " -"*resolve_host* argument is set to true." -msgstr "" - -#: ../../whatsnew/3.14.rst:1844 -msgid "" -"Raise :exc:`~urllib.error.URLError` if a URL authority isn't local, except " -"on Windows where we return a UNC path as before." -msgstr "" - -#: ../../whatsnew/3.14.rst:1847 -msgid "In :func:`urllib.request.pathname2url`:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1849 -msgid "" -"Return a complete URL when the new *add_scheme* argument is set to true." -msgstr "" - -#: ../../whatsnew/3.14.rst:1850 -msgid "" -"Include an empty URL authority when a path begins with a slash. For example," -" the path ``/etc/hosts`` is converted to the URL ``///etc/hosts``." -msgstr "" - -#: ../../whatsnew/3.14.rst:1853 -msgid "" -"On Windows, drive letters are no longer converted to uppercase, and ``:`` " -"characters not following a drive letter no longer cause an :exc:`OSError` " -"exception to be raised." -msgstr "" - -#: ../../whatsnew/3.14.rst:1857 -msgid "(Contributed by Barney Gale in :gh:`125866`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1861 ../../whatsnew/3.14.rst:1949 -msgid "uuid" -msgstr "uuid" - -#: ../../whatsnew/3.14.rst:1863 -msgid "" -"Add support for UUID versions 6, 7, and 8 via :func:`uuid.uuid6`, " -":func:`uuid.uuid7`, and :func:`uuid.uuid8` respectively, as specified in " -":rfc:`9562`. (Contributed by Bénédikt Tran in :gh:`89083`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1868 -msgid "" -":const:`uuid.NIL` and :const:`uuid.MAX` are now available to represent the " -"Nil and Max UUID formats as defined by :rfc:`9562`. (Contributed by Nick " -"Pope in :gh:`128427`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1872 -msgid "" -"Allow to generate multiple UUIDs at once via :option:`python -m uuid --count" -" `. (Contributed by Simon Legner in :gh:`131236`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1877 -msgid "webbrowser" -msgstr "" - -#: ../../whatsnew/3.14.rst:1879 -msgid "" -"Names in the :envvar:`BROWSER` environment variable can now refer to already" -" registered browsers for the :mod:`webbrowser` module, instead of always " -"generating a new browser command." -msgstr "" - -#: ../../whatsnew/3.14.rst:1883 -msgid "" -"This makes it possible to set :envvar:`BROWSER` to the value of one of the " -"supported browsers on macOS." -msgstr "" - -#: ../../whatsnew/3.14.rst:1888 -msgid "zipinfo" -msgstr "" - -#: ../../whatsnew/3.14.rst:1890 -msgid "" -"Added :func:`ZipInfo._for_archive ` to resolve" -" suitable defaults for a :class:`~zipfile.ZipInfo` object as used by " -":func:`ZipFile.writestr `. (Contributed by " -"Bénédikt Tran in :gh:`123424`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1895 -msgid "" -":meth:`zipfile.ZipFile.writestr` now respect ``SOURCE_DATE_EPOCH`` that " -"distributions can set centrally and have build tools consume this in order " -"to produce reproducible output. (Contributed by Jiahao Li in :gh:`91279`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1904 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.14.rst:1906 -msgid "" -"The import time for several standard library modules has been improved, " -"including :mod:`ast`, :mod:`asyncio`, :mod:`base64`, :mod:`cmd`, :mod:`csv`," -" :mod:`gettext`, :mod:`importlib.util`, :mod:`locale`, :mod:`mimetypes`, " -":mod:`optparse`, :mod:`pickle`, :mod:`pprint`, :mod:`pstats`, :mod:`socket`," -" :mod:`subprocess`, :mod:`threading`, :mod:`tomllib`, and :mod:`zipfile`." -msgstr "" - -#: ../../whatsnew/3.14.rst:1912 -msgid "" -"(Contributed by Adam Turner, Bénédikt Tran, Chris Markiewicz, Eli Schwartz, " -"Hugo van Kemenade, Jelle Zijlstra, and others in :gh:`118761`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1917 ../../whatsnew/3.14.rst:2162 -msgid "asyncio" -msgstr "asyncio" - -#: ../../whatsnew/3.14.rst:1919 -msgid "" -":mod:`asyncio` now uses double linked list implementation for native tasks " -"which speeds up execution by 10% on standard pyperformance benchmarks and " -"reduces memory usage. (Contributed by Kumar Aditya in :gh:`107803`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1924 -msgid "" -":mod:`asyncio` has new utility functions for introspecting and printing the " -"program's call graph: :func:`asyncio.capture_call_graph` and " -":func:`asyncio.print_call_graph`. (Contributed by Yury Selivanov, Pablo " -"Galindo Salgado, and Łukasz Langa in :gh:`91048`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1931 -msgid "base64" -msgstr "" - -#: ../../whatsnew/3.14.rst:1933 -msgid "" -"Improve the performance of :func:`base64.b16decode` by up to ten times, and " -"reduce the import time of :mod:`base64` by up to six times. (Contributed by " -"Bénédikt Tran, Chris Markiewicz, and Adam Turner in :gh:`118761`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1940 -msgid "" -":mod:`io` which provides the built-in :func:`open` makes less system calls " -"when opening regular files as well as reading whole files. Reading a small " -"operating system cached file in full is up to 15% faster. " -":func:`pathlib.Path.read_bytes` has the most optimizations for reading a " -"file's bytes in full. (Contributed by Cody Maloney and Victor Stinner in " -":gh:`120754` and :gh:`90102`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1951 -msgid "" -"Improve generation of :class:`~uuid.UUID` objects via their dedicated " -"functions:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1954 -msgid "" -":func:`~uuid.uuid3` and :func:`~uuid.uuid5` are both roughly 40% faster for " -"16-byte names and 20% faster for 1024-byte names. Performance for longer " -"names remains unchanged." -msgstr "" - -#: ../../whatsnew/3.14.rst:1957 -msgid "" -":func:`~uuid.uuid4` and :func:`~uuid.uuid8` are 30% and 40% faster " -"respectively." -msgstr "" - -#: ../../whatsnew/3.14.rst:1960 -msgid "(Contributed by Bénédikt Tran in :gh:`128150`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1964 -msgid "zlib" -msgstr "zlib" - -#: ../../whatsnew/3.14.rst:1966 -msgid "" -"On Windows, ``zlib-ng`` is now used as the implementation of the :mod:`zlib`" -" module. This should produce compatible and comparable results with better " -"performance, though it is worth noting that ``zlib.Z_BEST_SPEED`` (1) may " -"result in significantly less compression than the previous implementation " -"(while also significantly reducing the time taken to compress). (Contributed" -" by Steve Dower in :gh:`91349`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1976 ../../whatsnew/3.14.rst:2670 -msgid "Deprecated" -msgstr "Usang" - -#: ../../whatsnew/3.14.rst:1978 -#: ../../deprecations/pending-removal-in-future.rst:7 -msgid ":mod:`argparse`:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1980 -msgid "" -"Passing the undocumented keyword argument *prefix_chars* to " -":meth:`~argparse.ArgumentParser.add_argument_group` is now deprecated. " -"(Contributed by Savannah Ostrowski in :gh:`125563`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1984 -msgid "" -"Deprecated the :class:`argparse.FileType` type converter. Anything with " -"resource management should be done downstream after the arguments are " -"parsed. (Contributed by Serhiy Storchaka in :gh:`58032`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1989 -#: ../../deprecations/pending-removal-in-3.16.rst:19 -msgid ":mod:`asyncio`:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1991 -#: ../../deprecations/pending-removal-in-3.16.rst:21 -msgid "" -":func:`!asyncio.iscoroutinefunction` is deprecated and will be removed in " -"Python 3.16; use :func:`inspect.iscoroutinefunction` instead. (Contributed " -"by Jiahao Li and Kumar Aditya in :gh:`122875`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:1996 -#: ../../deprecations/pending-removal-in-3.16.rst:26 -msgid "" -":mod:`asyncio` policy system is deprecated and will be removed in Python " -"3.16. In particular, the following classes and functions are deprecated:" -msgstr "" - -#: ../../whatsnew/3.14.rst:1999 -#: ../../deprecations/pending-removal-in-3.16.rst:29 -msgid ":class:`asyncio.AbstractEventLoopPolicy`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2000 -#: ../../deprecations/pending-removal-in-3.16.rst:30 -msgid ":class:`asyncio.DefaultEventLoopPolicy`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2001 -#: ../../deprecations/pending-removal-in-3.16.rst:31 -msgid ":class:`asyncio.WindowsSelectorEventLoopPolicy`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2002 -#: ../../deprecations/pending-removal-in-3.16.rst:32 -msgid ":class:`asyncio.WindowsProactorEventLoopPolicy`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2003 -#: ../../deprecations/pending-removal-in-3.16.rst:33 -msgid ":func:`asyncio.get_event_loop_policy`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2004 -#: ../../deprecations/pending-removal-in-3.16.rst:34 -msgid ":func:`asyncio.set_event_loop_policy`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2005 -msgid ":func:`asyncio.set_event_loop`" -msgstr ":func:`asyncio.set_event_loop`" - -#: ../../whatsnew/3.14.rst:2007 -#: ../../deprecations/pending-removal-in-3.16.rst:36 -msgid "" -"Users should use :func:`asyncio.run` or :class:`asyncio.Runner` with " -"*loop_factory* to use the desired event loop implementation." -msgstr "" - -#: ../../whatsnew/3.14.rst:2010 -#: ../../deprecations/pending-removal-in-3.16.rst:39 -msgid "For example, to use :class:`asyncio.SelectorEventLoop` on Windows::" -msgstr "" - -#: ../../whatsnew/3.14.rst:2012 -#: ../../deprecations/pending-removal-in-3.16.rst:41 -msgid "" -"import asyncio\n" -"\n" -"async def main():\n" -" ...\n" -"\n" -"asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2019 -#: ../../deprecations/pending-removal-in-3.16.rst:48 -msgid "(Contributed by Kumar Aditya in :gh:`127949`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2021 -msgid "" -":mod:`builtins`: Passing a complex number as the *real* or *imag* argument " -"in the :func:`complex` constructor is now deprecated; it should only be " -"passed as a single positional argument. (Contributed by Serhiy Storchaka in " -":gh:`109218`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2027 -msgid "" -":mod:`codecs`: :func:`codecs.open` is now deprecated. Use :func:`open` " -"instead. (Contributed by Inada Naoki in :gh:`133036`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2031 -#: ../../deprecations/pending-removal-in-3.15.rst:16 -#: ../../deprecations/pending-removal-in-3.19.rst:4 -msgid ":mod:`ctypes`:" -msgstr "" - -#: ../../whatsnew/3.14.rst:2033 -msgid "" -"On non-Windows platforms, setting :attr:`.Structure._pack_` to use a MSVC-" -"compatible default memory layout is deprecated in favor of setting " -":attr:`.Structure._layout_` to ``'ms'``. (Contributed by Petr Viktorin in " -":gh:`131747`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2038 -msgid "" -"Calling :func:`ctypes.POINTER` on a string is deprecated. Use :ref:`ctypes-" -"incomplete-types` for self-referential structures. Also, the internal " -"``ctypes._pointer_type_cache`` is deprecated. See :func:`ctypes.POINTER` for" -" updated implementation details. (Contributed by Sergey Myrianov in " -":gh:`100926`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2044 -msgid "" -":mod:`functools`: Calling the Python implementation of " -":func:`functools.reduce` with *function* or *sequence* as keyword arguments " -"is now deprecated. (Contributed by Kirill Podoprigora in :gh:`121676`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2049 -msgid "" -":mod:`logging`: Support for custom logging handlers with the *strm* argument" -" is deprecated and scheduled for removal in Python 3.16. Define handlers " -"with the *stream* argument instead. (Contributed by Mariusz Felisiak in " -":gh:`115032`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2054 -msgid "" -":mod:`mimetypes`: Valid extensions start with a '.' or are empty for " -":meth:`mimetypes.MimeTypes.add_type`. Undotted extensions are deprecated and" -" will raise a :exc:`ValueError` in Python 3.16. (Contributed by Hugo van " -"Kemenade in :gh:`75223`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2061 -msgid "" -":mod:`!nturl2path`: This module is now deprecated. Call " -":func:`urllib.request.url2pathname` and :func:`~urllib.request.pathname2url`" -" instead. (Contributed by Barney Gale in :gh:`125866`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2066 -msgid "" -":mod:`os`: :term:`Soft deprecate ` :func:`os.popen` and " -":func:`os.spawn* ` functions. They should no longer be used to " -"write new code. The :mod:`subprocess` module is recommended instead. " -"(Contributed by Victor Stinner in :gh:`120743`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2072 -msgid "" -":mod:`pathlib`: :meth:`!pathlib.PurePath.as_uri` is deprecated and will be " -"removed in Python 3.19. Use :meth:`pathlib.Path.as_uri` instead. " -"(Contributed by Barney Gale in :gh:`123599`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2077 -msgid "" -":mod:`pdb`: The undocumented ``pdb.Pdb.curframe_locals`` attribute is now a " -"deprecated read-only property. The low overhead dynamic frame locals access " -"added in Python 3.13 by PEP 667 means the frame locals cache reference " -"previously stored in this attribute is no longer needed. Derived debuggers " -"should access ``pdb.Pdb.curframe.f_locals`` directly in Python 3.13 and " -"later versions. (Contributed by Tian Gao in :gh:`124369` and :gh:`125951`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2085 -msgid "" -":mod:`symtable`: Deprecate :meth:`symtable.Class.get_methods` due to the " -"lack of interest. (Contributed by Bénédikt Tran in :gh:`119698`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2089 -msgid "" -":mod:`tkinter`: The :class:`!tkinter.Variable` methods " -":meth:`!trace_variable`, :meth:`!trace_vdelete` and :meth:`!trace_vinfo` are" -" now deprecated. Use :meth:`!trace_add`, :meth:`!trace_remove` and " -":meth:`!trace_info` instead. (Contributed by Serhiy Storchaka in " -":gh:`120220`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2096 -msgid "" -":mod:`urllib.parse`: Accepting objects with false values (like ``0`` and " -"``[]``) except empty strings, byte-like objects and ``None`` in " -":mod:`urllib.parse` functions :func:`~urllib.parse.parse_qsl` and " -":func:`~urllib.parse.parse_qs` is now deprecated. (Contributed by Serhiy " -"Storchaka in :gh:`116897`.)" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:2 -#: ../../deprecations/pending-removal-in-3.15.rst:2 -msgid "Pending removal in Python 3.15" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:4 -#: ../../deprecations/pending-removal-in-3.16.rst:4 -msgid "The import system:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:6 -msgid "" -"Setting :attr:`~module.__cached__` on a module while failing to set " -":attr:`__spec__.cached ` is " -"deprecated. In Python 3.15, :attr:`!__cached__` will cease to be set or take" -" into consideration by the import system or standard library. (:gh:`97879`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:11 -msgid "" -"Setting :attr:`~module.__package__` on a module while failing to set " -":attr:`__spec__.parent ` is " -"deprecated. In Python 3.15, :attr:`!__package__` will cease to be set or " -"take into consideration by the import system or standard library. " -"(:gh:`97879`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:18 -msgid "" -"The undocumented :func:`!ctypes.SetPointerType` function has been deprecated" -" since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:21 -msgid ":mod:`http.server`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:23 -msgid "" -"The obsolete and rarely used :class:`~http.server.CGIHTTPRequestHandler` has" -" been deprecated since Python 3.13. No direct replacement exists. *Anything*" -" is better than CGI to interface a web server with a request handler." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:29 -msgid "" -"The :option:`!--cgi` flag to the :program:`python -m http.server` command-" -"line interface has been deprecated since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:32 -#: ../../deprecations/pending-removal-in-future.rst:64 -msgid ":mod:`importlib`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:34 -msgid "``load_module()`` method: use ``exec_module()`` instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:36 -msgid ":class:`locale`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:38 -msgid "" -"The :func:`~locale.getdefaultlocale` function has been deprecated since " -"Python 3.11. Its removal was originally planned for Python 3.13 " -"(:gh:`90817`), but has been postponed to Python 3.15. Use " -":func:`~locale.getlocale`, :func:`~locale.setlocale`, and " -":func:`~locale.getencoding` instead. (Contributed by Hugo van Kemenade in " -":gh:`111187`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:46 -msgid ":mod:`pathlib`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:48 -msgid "" -":meth:`.PurePath.is_reserved` has been deprecated since Python 3.13. Use " -":func:`os.path.isreserved` to detect reserved paths on Windows." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:52 -msgid ":mod:`platform`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:54 -msgid "" -":func:`~platform.java_ver` has been deprecated since Python 3.13. This " -"function is only useful for Jython support, has a confusing API, and is " -"largely untested." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:58 -#: ../../deprecations/pending-removal-in-3.16.rst:96 -msgid ":mod:`sysconfig`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:60 -msgid "" -"The *check_home* argument of :func:`sysconfig.is_python_build` has been " -"deprecated since Python 3.12." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:63 -msgid ":mod:`threading`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:65 -msgid "" -":func:`~threading.RLock` will take no arguments in Python 3.15. Passing any " -"arguments has been deprecated since Python 3.14, as the Python version does" -" not permit any arguments, but the C version allows any number of positional" -" or keyword arguments, ignoring every argument." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:71 -msgid ":mod:`types`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:73 -msgid "" -":class:`types.CodeType`: Accessing :attr:`~codeobject.co_lnotab` was " -"deprecated in :pep:`626` since 3.10 and was planned to be removed in 3.12, " -"but it only got a proper :exc:`DeprecationWarning` in 3.12. May be removed " -"in 3.15. (Contributed by Nikita Sobolev in :gh:`101866`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:80 -#: ../../deprecations/pending-removal-in-3.17.rst:4 -msgid ":mod:`typing`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:82 -msgid "" -"The undocumented keyword argument syntax for creating " -":class:`~typing.NamedTuple` classes (for example, ``Point = " -"NamedTuple(\"Point\", x=int, y=int)``) has been deprecated since Python " -"3.13. Use the class-based syntax or the functional syntax instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:88 -msgid "" -"The :func:`typing.no_type_check_decorator` decorator function has been " -"deprecated since Python 3.13. After eight years in the :mod:`typing` module," -" it has yet to be supported by any major type checker." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:93 -msgid ":mod:`wave`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:95 -msgid "" -"The :meth:`~wave.Wave_read.getmark`, :meth:`!setmark`, and " -":meth:`~wave.Wave_read.getmarkers` methods of the :class:`~wave.Wave_read` " -"and :class:`~wave.Wave_write` classes have been deprecated since Python " -"3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:100 -msgid ":mod:`zipimport`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.15.rst:102 -msgid "" -":meth:`~zipimport.zipimporter.load_module` has been deprecated since Python " -"3.10. Use :meth:`~zipimport.zipimporter.exec_module` instead. (Contributed " -"by Jiahao Li in :gh:`125746`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:2 -msgid "Pending removal in Python 3.16" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:6 -msgid "" -"Setting :attr:`~module.__loader__` on a module while failing to set " -":attr:`__spec__.loader ` is " -"deprecated. In Python 3.16, :attr:`!__loader__` will cease to be set or " -"taken into consideration by the import system or the standard library." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:11 -msgid ":mod:`array`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:13 -msgid "" -"The ``'u'`` format code (:c:type:`wchar_t`) has been deprecated in " -"documentation since Python 3.3 and at runtime since Python 3.13. Use the " -"``'w'`` format code (:c:type:`Py_UCS4`) for Unicode characters instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:50 -#: ../../deprecations/pending-removal-in-future.rst:16 -msgid ":mod:`builtins`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:52 -msgid "" -"Bitwise inversion on boolean types, ``~True`` or ``~False`` has been " -"deprecated since Python 3.12, as it produces surprising and unintuitive " -"results (``-2`` and ``-1``). Use ``not x`` instead for the logical negation " -"of a Boolean. In the rare case that you need the bitwise inversion of the " -"underlying integer, convert to ``int`` explicitly (``~int(x)``)." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:59 -msgid ":mod:`functools`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:61 -msgid "" -"Calling the Python implementation of :func:`functools.reduce` with " -"*function* or *sequence* as keyword arguments has been deprecated since " -"Python 3.14." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:64 -msgid ":mod:`logging`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:66 -msgid "" -"Support for custom logging handlers with the *strm* argument is deprecated " -"and scheduled for removal in Python 3.16. Define handlers with the *stream* " -"argument instead. (Contributed by Mariusz Felisiak in :gh:`115032`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:70 -msgid ":mod:`mimetypes`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:72 -msgid "" -"Valid extensions start with a '.' or are empty for " -":meth:`mimetypes.MimeTypes.add_type`. Undotted extensions are deprecated and" -" will raise a :exc:`ValueError` in Python 3.16. (Contributed by Hugo van " -"Kemenade in :gh:`75223`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:78 -msgid ":mod:`shutil`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:80 -msgid "" -"The :class:`!ExecError` exception has been deprecated since Python 3.14. It " -"has not been used by any function in :mod:`!shutil` since Python 3.4, and is" -" now an alias of :exc:`RuntimeError`." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:85 -msgid ":mod:`symtable`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:87 -msgid "" -"The :meth:`Class.get_methods ` method has been " -"deprecated since Python 3.14." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:90 -msgid ":mod:`sys`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:92 -msgid "" -"The :func:`~sys._enablelegacywindowsfsencoding` function has been deprecated" -" since Python 3.13. Use the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " -"environment variable instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:98 -msgid "" -"The :func:`!sysconfig.expand_makefile_vars` function has been deprecated " -"since Python 3.14. Use the ``vars`` argument of :func:`sysconfig.get_paths` " -"instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:102 -msgid ":mod:`tarfile`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.16.rst:104 -msgid "" -"The undocumented and unused :attr:`!TarFile.tarfile` attribute has been " -"deprecated since Python 3.13." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.17.rst:2 -msgid "Pending removal in Python 3.17" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.17.rst:6 -msgid "" -"Before Python 3.14, old-style unions were implemented using the private " -"class ``typing._UnionGenericAlias``. This class is no longer needed for the " -"implementation, but it has been retained for backward compatibility, with " -"removal scheduled for Python 3.17. Users should use documented introspection" -" helpers like :func:`typing.get_origin` and :func:`typing.get_args` instead " -"of relying on private implementation details." -msgstr "" - -#: ../../deprecations/pending-removal-in-3.19.rst:2 -msgid "Pending removal in Python 3.19" -msgstr "" - -#: ../../deprecations/pending-removal-in-3.19.rst:6 -msgid "" -"Implicitly switching to the MSVC-compatible struct layout by setting " -":attr:`~ctypes.Structure._pack_` but not :attr:`~ctypes.Structure._layout_` " -"on non-Windows platforms." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:2 -#: ../../deprecations/pending-removal-in-future.rst:2 -msgid "Pending removal in future versions" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:4 -msgid "" -"The following APIs will be removed in the future, although there is " -"currently no date scheduled for their removal." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:9 -msgid "" -"Nesting argument groups and nesting mutually exclusive groups are " -"deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:11 -msgid "" -"Passing the undocumented keyword argument *prefix_chars* to " -":meth:`~argparse.ArgumentParser.add_argument_group` is now deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:14 -msgid "The :class:`argparse.FileType` type converter is deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:18 -msgid "``bool(NotImplemented)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:19 -msgid "" -"Generators: ``throw(type, exc, tb)`` and ``athrow(type, exc, tb)`` signature" -" is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " -"argument signature." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:22 -msgid "" -"Currently Python accepts numeric literals immediately followed by keywords, " -"for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and " -"ambiguous expressions like ``[0x1for x in y]`` (which can be interpreted as " -"``[0x1 for x in y]`` or ``[0x1f or x in y]``). A syntax warning is raised " -"if the numeric literal is immediately followed by one of keywords " -":keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, " -":keyword:`in`, :keyword:`is` and :keyword:`or`. In a future release it will" -" be changed to a syntax error. (:gh:`87999`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:30 -msgid "" -"Support for ``__index__()`` and ``__int__()`` method returning non-int type:" -" these methods will be required to return an instance of a strict subclass " -"of :class:`int`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:33 -msgid "" -"Support for ``__float__()`` method returning a strict subclass of " -":class:`float`: these methods will be required to return an instance of " -":class:`float`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:36 -msgid "" -"Support for ``__complex__()`` method returning a strict subclass of " -":class:`complex`: these methods will be required to return an instance of " -":class:`complex`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:39 -msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:40 -msgid "" -"Passing a complex number as the *real* or *imag* argument in the " -":func:`complex` constructor is now deprecated; it should only be passed as a" -" single positional argument. (Contributed by Serhiy Storchaka in " -":gh:`109218`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:45 -msgid "" -":mod:`calendar`: ``calendar.January`` and ``calendar.February`` constants " -"are deprecated and replaced by :data:`calendar.JANUARY` and " -":data:`calendar.FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:50 -msgid "" -":mod:`codecs`: use :func:`open` instead of :func:`codecs.open`. " -"(:gh:`133038`)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:52 -msgid "" -":attr:`codeobject.co_lnotab`: use the :meth:`codeobject.co_lines` method " -"instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:55 -msgid ":mod:`datetime`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:57 -msgid "" -":meth:`~datetime.datetime.utcnow`: use " -"``datetime.datetime.now(tz=datetime.UTC)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:59 -msgid "" -":meth:`~datetime.datetime.utcfromtimestamp`: use " -"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:62 -msgid ":mod:`gettext`: Plural value must be an integer." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:66 -msgid "" -":func:`~importlib.util.cache_from_source` *debug_override* parameter is " -"deprecated: use the *optimization* parameter instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:69 -msgid ":mod:`importlib.metadata`:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:71 -msgid "``EntryPoints`` tuple interface." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:72 -msgid "Implicit ``None`` on return values." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:74 -msgid "" -":mod:`logging`: the ``warn()`` method has been deprecated since Python 3.3, " -"use :meth:`~logging.warning` instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:77 -msgid "" -":mod:`mailbox`: Use of StringIO input and text mode is deprecated, use " -"BytesIO and binary mode instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:80 -msgid "" -":mod:`os`: Calling :func:`os.register_at_fork` in multi-threaded process." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:82 -msgid "" -":class:`!pydoc.ErrorDuringImport`: A tuple value for *exc_info* parameter is" -" deprecated, use an exception instance." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:85 -msgid "" -":mod:`re`: More strict rules are now applied for numerical group references " -"and group names in regular expressions. Only sequence of ASCII digits is " -"now accepted as a numerical reference. The group name in bytes patterns and" -" replacement strings can now only contain ASCII letters and digits and " -"underscore. (Contributed by Serhiy Storchaka in :gh:`91760`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:92 -msgid "" -":mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse` modules." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:94 -msgid "" -":mod:`shutil`: :func:`~shutil.rmtree`'s *onerror* parameter is deprecated in" -" Python 3.12; use the *onexc* parameter instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:97 -msgid ":mod:`ssl` options and protocols:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:99 -msgid ":class:`ssl.SSLContext` without protocol argument is deprecated." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:100 -msgid "" -":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` and " -":meth:`!selected_npn_protocol` are deprecated: use ALPN instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:103 -msgid "``ssl.OP_NO_SSL*`` options" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:104 -msgid "``ssl.OP_NO_TLS*`` options" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:105 -msgid "``ssl.PROTOCOL_SSLv3``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:106 -msgid "``ssl.PROTOCOL_TLS``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:107 -msgid "``ssl.PROTOCOL_TLSv1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:108 -msgid "``ssl.PROTOCOL_TLSv1_1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:109 -msgid "``ssl.PROTOCOL_TLSv1_2``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:110 -msgid "``ssl.TLSVersion.SSLv3``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:111 -msgid "``ssl.TLSVersion.TLSv1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:112 -msgid "``ssl.TLSVersion.TLSv1_1``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:114 -msgid ":mod:`threading` methods:" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:116 -msgid "" -":meth:`!threading.Condition.notifyAll`: use " -":meth:`~threading.Condition.notify_all`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:117 -msgid ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:118 -msgid "" -":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use " -":attr:`threading.Thread.daemon` attribute." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:120 -msgid "" -":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use " -":attr:`threading.Thread.name` attribute." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:122 -msgid "" -":meth:`!threading.currentThread`: use :meth:`threading.current_thread`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:123 -msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:125 -msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:127 -msgid "" -"The internal class ``typing._UnionGenericAlias`` is no longer used to " -"implement :class:`typing.Union`. To preserve compatibility with users using " -"this private class, a compatibility shim will be provided until at least " -"Python 3.17. (Contributed by Jelle Zijlstra in :gh:`105499`.)" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:132 -msgid "" -":class:`unittest.IsolatedAsyncioTestCase`: it is deprecated to return a " -"value that is not ``None`` from a test case." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:135 -msgid "" -":mod:`urllib.parse` deprecated functions: :func:`~urllib.parse.urlparse` " -"instead" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:137 -msgid "``splitattr()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:138 -msgid "``splithost()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:139 -msgid "``splitnport()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:140 -msgid "``splitpasswd()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:141 -msgid "``splitport()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:142 -msgid "``splitquery()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:143 -msgid "``splittag()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:144 -msgid "``splittype()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:145 -msgid "``splituser()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:146 -msgid "``splitvalue()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:147 -msgid "``to_bytes()``" -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:149 -msgid "" -":mod:`wsgiref`: ``SimpleHandler.stdout.write()`` should not do partial " -"writes." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:152 -msgid "" -":mod:`xml.etree.ElementTree`: Testing the truth value of an " -":class:`~xml.etree.ElementTree.Element` is deprecated. In a future release " -"it will always return ``True``. Prefer explicit ``len(elem)`` or ``elem is " -"not None`` tests instead." -msgstr "" - -#: ../../deprecations/pending-removal-in-future.rst:157 -msgid "" -":func:`sys._clear_type_cache` is deprecated: use " -":func:`sys._clear_internal_caches` instead." -msgstr "" - -#: ../../whatsnew/3.14.rst:2116 ../../whatsnew/3.14.rst:2751 -msgid "Removed" -msgstr "" - -#: ../../whatsnew/3.14.rst:2121 -msgid "" -"Remove the *type*, *choices*, and *metavar* parameters of " -":class:`!argparse.BooleanOptionalAction`. They were deprecated since 3.12." -msgstr "" - -#: ../../whatsnew/3.14.rst:2125 -msgid "" -"Calling :meth:`~argparse.ArgumentParser.add_argument_group` on an argument " -"group, and calling :meth:`~argparse.ArgumentParser.add_argument_group` or " -":meth:`~argparse.ArgumentParser.add_mutually_exclusive_group` on a mutually " -"exclusive group now raise exceptions. This nesting was never supported, " -"often failed to work correctly, and was unintentionally exposed through " -"inheritance. This functionality has been deprecated since Python 3.11. " -"(Contributed by Savannah Ostrowski in :gh:`127186`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2136 -msgid "" -"Remove the following classes. They were all deprecated since Python 3.8, and" -" have emitted deprecation warnings since Python 3.12:" -msgstr "" - -#: ../../whatsnew/3.14.rst:2139 -msgid ":class:`!ast.Bytes`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2140 -msgid ":class:`!ast.Ellipsis`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2141 -msgid ":class:`!ast.NameConstant`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2142 -msgid ":class:`!ast.Num`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2143 -msgid ":class:`!ast.Str`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2145 -msgid "" -"Use :class:`ast.Constant` instead. As a consequence of these removals, user-" -"defined ``visit_Num``, ``visit_Str``, ``visit_Bytes``, " -"``visit_NameConstant`` and ``visit_Ellipsis`` methods on custom " -":class:`ast.NodeVisitor` subclasses will no longer be called when the " -":class:`!NodeVisitor` subclass is visiting an AST. Define a " -"``visit_Constant`` method instead." -msgstr "" - -#: ../../whatsnew/3.14.rst:2152 -msgid "" -"Also, remove the following deprecated properties on :class:`ast.Constant`, " -"which were present for compatibility with the now-removed AST classes:" -msgstr "" - -#: ../../whatsnew/3.14.rst:2155 -msgid ":attr:`!ast.Constant.n`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2156 -msgid ":attr:`!ast.Constant.s`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2158 -msgid "" -"Use :attr:`!ast.Constant.value` instead. (Contributed by Alex Waygood in " -":gh:`119562`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2164 -msgid "" -"Remove the following classes and functions. They were all deprecated and " -"emitted deprecation warnings since Python 3.12:" -msgstr "" - -#: ../../whatsnew/3.14.rst:2167 -msgid ":func:`!asyncio.get_child_watcher`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2168 -msgid ":func:`!asyncio.set_child_watcher`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2169 -msgid ":meth:`!asyncio.AbstractEventLoopPolicy.get_child_watcher`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2170 -msgid ":meth:`!asyncio.AbstractEventLoopPolicy.set_child_watcher`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2171 -msgid ":class:`!asyncio.AbstractChildWatcher`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2172 -msgid ":class:`!asyncio.FastChildWatcher`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2173 -msgid ":class:`!asyncio.MultiLoopChildWatcher`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2174 -msgid ":class:`!asyncio.PidfdChildWatcher`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2175 -msgid ":class:`!asyncio.SafeChildWatcher`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2176 -msgid ":class:`!asyncio.ThreadedChildWatcher`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2178 -msgid "(Contributed by Kumar Aditya in :gh:`120804`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2180 -msgid "" -"Removed implicit creation of event loop by :func:`asyncio.get_event_loop`. " -"It now raises a :exc:`RuntimeError` if there is no current event loop. " -"(Contributed by Kumar Aditya in :gh:`126353`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2184 -msgid "" -"There's a few patterns that use :func:`asyncio.get_event_loop`, most of them" -" can be replaced with :func:`asyncio.run`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2187 -msgid "If you're running an async function, simply use :func:`asyncio.run`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2189 ../../whatsnew/3.14.rst:2212 -#: ../../whatsnew/3.14.rst:2238 -msgid "Before::" -msgstr "" - -#: ../../whatsnew/3.14.rst:2191 -msgid "" -"async def main():\n" -" ...\n" -"\n" -"\n" -"loop = asyncio.get_event_loop()\n" -"try:\n" -" loop.run_until_complete(main())\n" -"finally:\n" -" loop.close()" -msgstr "" - -#: ../../whatsnew/3.14.rst:2201 ../../whatsnew/3.14.rst:2224 -#: ../../whatsnew/3.14.rst:2257 -msgid "After::" -msgstr "" - -#: ../../whatsnew/3.14.rst:2203 -msgid "" -"async def main():\n" -" ...\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../whatsnew/3.14.rst:2208 -msgid "" -"If you need to start something, for example, a server listening on a socket " -"and then run forever, use :func:`asyncio.run` and an :class:`asyncio.Event`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2214 -msgid "" -"def start_server(loop):\n" -" ...\n" -"\n" -"loop = asyncio.get_event_loop()\n" -"try:\n" -" start_server(loop)\n" -" loop.run_forever()\n" -"finally:\n" -" loop.close()" -msgstr "" - -#: ../../whatsnew/3.14.rst:2226 -msgid "" -"def start_server(loop):\n" -" ...\n" -"\n" -"async def main():\n" -" start_server(asyncio.get_running_loop())\n" -" await asyncio.Event().wait()\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../whatsnew/3.14.rst:2235 -msgid "" -"If you need to run something in an event loop, then run some blocking code " -"around it, use :class:`asyncio.Runner`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2240 -msgid "" -"async def operation_one():\n" -" ...\n" -"\n" -"def blocking_code():\n" -" ...\n" -"\n" -"async def operation_two():\n" -" ...\n" -"\n" -"loop = asyncio.get_event_loop()\n" -"try:\n" -" loop.run_until_complete(operation_one())\n" -" blocking_code()\n" -" loop.run_until_complete(operation_two())\n" -"finally:\n" -" loop.close()" -msgstr "" - -#: ../../whatsnew/3.14.rst:2259 -msgid "" -"async def operation_one():\n" -" ...\n" -"\n" -"def blocking_code():\n" -" ...\n" -"\n" -"async def operation_two():\n" -" ...\n" -"\n" -"with asyncio.Runner() as runner:\n" -" runner.run(operation_one())\n" -" blocking_code()\n" -" runner.run(operation_two())" -msgstr "" - -#: ../../whatsnew/3.14.rst:2276 -msgid "collections.abc" -msgstr "" - -#: ../../whatsnew/3.14.rst:2278 -msgid "" -"Remove :class:`!collections.abc.ByteString`. It had previously raised a " -":exc:`DeprecationWarning` since Python 3.12." -msgstr "" - -#: ../../whatsnew/3.14.rst:2282 -msgid "email" -msgstr "" - -#: ../../whatsnew/3.14.rst:2284 -msgid "" -"Remove the *isdst* parameter from :func:`email.utils.localtime`. " -"(Contributed by Hugo van Kemenade in :gh:`118798`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2288 -msgid "importlib" -msgstr "importlib" - -#: ../../whatsnew/3.14.rst:2290 -msgid "Remove deprecated :mod:`importlib.abc` classes:" -msgstr "" - -#: ../../whatsnew/3.14.rst:2292 -msgid ":class:`!importlib.abc.ResourceReader`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2293 -msgid ":class:`!importlib.abc.Traversable`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2294 -msgid ":class:`!importlib.abc.TraversableResources`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2296 -msgid "Use :mod:`importlib.resources.abc` classes instead:" -msgstr "" - -#: ../../whatsnew/3.14.rst:2298 -msgid ":class:`importlib.resources.abc.Traversable`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2299 -msgid ":class:`importlib.resources.abc.TraversableResources`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2301 -msgid "(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2304 -msgid "itertools" -msgstr "itertools" - -#: ../../whatsnew/3.14.rst:2306 -msgid "" -"Remove :mod:`itertools` support for copy, deepcopy, and pickle operations. " -"These had previously raised a :exc:`DeprecationWarning` since Python 3.12. " -"(Contributed by Raymond Hettinger in :gh:`101588`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2313 -msgid "" -"Remove support for passing additional keyword arguments to " -":class:`pathlib.Path`. In previous versions, any such arguments are ignored." -msgstr "" - -#: ../../whatsnew/3.14.rst:2315 -msgid "" -"Remove support for passing additional positional arguments to " -":meth:`pathlib.PurePath.relative_to` and " -":meth:`~pathlib.PurePath.is_relative_to`. In previous versions, any such " -"arguments are joined onto *other*." -msgstr "" - -#: ../../whatsnew/3.14.rst:2321 -msgid "pkgutil" -msgstr "" - -#: ../../whatsnew/3.14.rst:2323 -msgid "" -"Remove deprecated :func:`!pkgutil.get_loader` and " -":func:`!pkgutil.find_loader`. These had previously raised a " -":exc:`DeprecationWarning` since Python 3.12. (Contributed by Bénédikt Tran " -"in :gh:`97850`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2328 -msgid "pty" -msgstr "pty" - -#: ../../whatsnew/3.14.rst:2330 -msgid "" -"Remove deprecated :func:`!pty.master_open` and :func:`!pty.slave_open`. They" -" had previously raised a :exc:`DeprecationWarning` since Python 3.12. Use " -":func:`pty.openpty` instead. (Contributed by Nikita Sobolev in " -":gh:`118824`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2336 -msgid "sqlite3" -msgstr "sqlite3" - -#: ../../whatsnew/3.14.rst:2338 -msgid "" -"Remove :data:`!version` and :data:`!version_info` from :mod:`sqlite3`. " -"(Contributed by Hugo van Kemenade in :gh:`118924`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2341 -msgid "" -"Disallow using a sequence of parameters with named placeholders. This had " -"previously raised a :exc:`DeprecationWarning` since Python 3.12; it will now" -" raise a :exc:`sqlite3.ProgrammingError`. (Contributed by Erlend E. Aasland " -"in :gh:`118928` and :gh:`101693`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2349 -msgid "" -"Remove :class:`!typing.ByteString`. It had previously raised a " -":exc:`DeprecationWarning` since Python 3.12." -msgstr "" - -#: ../../whatsnew/3.14.rst:2352 -msgid ":class:`typing.TypeAliasType` now supports star unpacking." -msgstr "" - -#: ../../whatsnew/3.14.rst:2357 -msgid "" -"Remove deprecated :class:`!Quoter` class from :mod:`urllib.parse`. It had " -"previously raised a :exc:`DeprecationWarning` since Python 3.11. " -"(Contributed by Nikita Sobolev in :gh:`118827`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2360 -msgid "" -"Remove deprecated :class:`!URLopener` and :class:`!FancyURLopener` classes " -"from :mod:`urllib.request`. They had previously raised a " -":exc:`DeprecationWarning` since Python 3.3." -msgstr "" - -#: ../../whatsnew/3.14.rst:2364 -msgid "" -"``myopener.open()`` can be replaced with :func:`~urllib.request.urlopen`, " -"and ``myopener.retrieve()`` can be replaced with " -":func:`~urllib.request.urlretrieve`. Customizations to the opener classes " -"can be replaced by passing customized handlers to " -":func:`~urllib.request.build_opener`. (Contributed by Barney Gale in " -":gh:`84850`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2372 -msgid "Others" -msgstr "" - -#: ../../whatsnew/3.14.rst:2374 -msgid "" -"Using :data:`NotImplemented` in a boolean context will now raise a " -":exc:`TypeError`. It had previously raised a :exc:`DeprecationWarning` since" -" Python 3.9. (Contributed by Jelle Zijlstra in :gh:`118767`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2378 -msgid "" -"The :func:`int` built-in no longer delegates to :meth:`~object.__trunc__`. " -"Classes that want to support conversion to integer must implement either " -":meth:`~object.__int__` or :meth:`~object.__index__`. (Contributed by Mark " -"Dickinson in :gh:`119743`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2385 -msgid "CPython bytecode changes" -msgstr "Perubahan bytecode CPython" - -#: ../../whatsnew/3.14.rst:2387 -msgid "" -"Replaced the opcode ``BINARY_SUBSCR`` by :opcode:`BINARY_OP` with oparg " -"``NB_SUBSCR``. (Contributed by Irit Katriel in :gh:`100239`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2391 ../../whatsnew/3.14.rst:2612 -msgid "Porting to Python 3.14" -msgstr "" - -#: ../../whatsnew/3.14.rst:2393 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code." -msgstr "" - -#: ../../whatsnew/3.14.rst:2397 -msgid "Changes in the Python API" -msgstr "Perubahan pada API Python" - -#: ../../whatsnew/3.14.rst:2399 -msgid "" -":class:`functools.partial` is now a method descriptor. Wrap it in " -":func:`staticmethod` if you want to preserve the old behavior. (Contributed " -"by Serhiy Storchaka and Dominykas Grigonis in :gh:`121027`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2403 -msgid "" -"The :func:`locale.nl_langinfo` function now sets temporarily the " -"``LC_CTYPE`` locale in some cases. This temporary change affects other " -"threads. (Contributed by Serhiy Storchaka in :gh:`69998`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2408 -msgid "" -":class:`types.UnionType` is now an alias for :class:`typing.Union`, causing " -"changes in some behaviors. See :ref:`above ` for " -"more details. (Contributed by Jelle Zijlstra in :gh:`105499`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2415 -msgid "Build changes" -msgstr "" - -#: ../../whatsnew/3.14.rst:2417 -msgid "" -"GNU Autoconf 2.72 is now required to generate :file:`configure`. " -"(Contributed by Erlend Aasland in :gh:`115765`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2420 -msgid "" -"``#pragma``-based linking with ``python3*.lib`` can now be switched off with" -" :c:expr:`Py_NO_LINK_LIB`. (Contributed by Jean-Christophe Fillion-Robin in " -":gh:`82909`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2427 -msgid "PEP 761: Discontinuation of PGP signatures" -msgstr "" - -#: ../../whatsnew/3.14.rst:2429 -msgid "" -"PGP signatures will not be available for CPython 3.14 and onwards. Users " -"verifying artifacts must use `Sigstore verification materials`_ for " -"verifying CPython artifacts. This change in release process is specified in " -":pep:`761`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2438 -msgid "C API changes" -msgstr "" - -#: ../../whatsnew/3.14.rst:2443 -msgid "" -"Add :c:func:`PyLong_GetSign` function to get the sign of :class:`int` " -"objects. (Contributed by Sergey B Kirpichev in :gh:`116560`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2446 -msgid "" -"Add a new :c:type:`PyUnicodeWriter` API to create a Python :class:`str` " -"object:" -msgstr "" - -#: ../../whatsnew/3.14.rst:2449 -msgid ":c:func:`PyUnicodeWriter_Create`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2450 -msgid ":c:func:`PyUnicodeWriter_DecodeUTF8Stateful`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2451 -msgid ":c:func:`PyUnicodeWriter_Discard`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2452 -msgid ":c:func:`PyUnicodeWriter_Finish`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2453 -msgid ":c:func:`PyUnicodeWriter_Format`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2454 -msgid ":c:func:`PyUnicodeWriter_WriteChar`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2455 -msgid ":c:func:`PyUnicodeWriter_WriteRepr`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2456 -msgid ":c:func:`PyUnicodeWriter_WriteStr`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2457 -msgid ":c:func:`PyUnicodeWriter_WriteSubstring`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2458 -msgid ":c:func:`PyUnicodeWriter_WriteUCS4`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2459 -msgid ":c:func:`PyUnicodeWriter_WriteUTF8`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2460 -msgid ":c:func:`PyUnicodeWriter_WriteWideChar`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2462 -msgid "(Contributed by Victor Stinner in :gh:`119182`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2464 -msgid "" -"Add :c:func:`PyIter_NextItem` to replace :c:func:`PyIter_Next`, which has an" -" ambiguous return value. (Contributed by Irit Katriel and Erlend Aasland in " -":gh:`105201`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2468 -msgid "" -"Add :c:func:`PyLong_IsPositive`, :c:func:`PyLong_IsNegative` and " -":c:func:`PyLong_IsZero` for checking if :c:type:`PyLongObject` is positive, " -"negative, or zero, respectively. (Contributed by James Roy and Sergey B " -"Kirpichev in :gh:`126061`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2473 -msgid "" -"Add new functions to convert C ```` numbers from/to Python " -":class:`int`:" -msgstr "" - -#: ../../whatsnew/3.14.rst:2476 -msgid ":c:func:`PyLong_AsInt32`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2477 -msgid ":c:func:`PyLong_AsInt64`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2478 -msgid ":c:func:`PyLong_AsUInt32`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2479 -msgid ":c:func:`PyLong_AsUInt64`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2480 -msgid ":c:func:`PyLong_FromInt32`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2481 -msgid ":c:func:`PyLong_FromInt64`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2482 -msgid ":c:func:`PyLong_FromUInt32`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2483 -msgid ":c:func:`PyLong_FromUInt64`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2485 -msgid "(Contributed by Victor Stinner in :gh:`120389`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2487 -msgid "" -"Add :c:func:`PyBytes_Join(sep, iterable) ` function, similar " -"to ``sep.join(iterable)`` in Python. (Contributed by Victor Stinner in " -":gh:`121645`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2491 -msgid "" -"Add :c:func:`Py_HashBuffer` to compute and return the hash value of a " -"buffer. (Contributed by Antoine Pitrou and Victor Stinner in :gh:`122854`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2494 -msgid "" -"Add functions to get and set the current runtime Python configuration " -"(:pep:`741`):" -msgstr "" - -#: ../../whatsnew/3.14.rst:2497 -msgid ":c:func:`PyConfig_Get`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2498 -msgid ":c:func:`PyConfig_GetInt`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2499 -msgid ":c:func:`PyConfig_Set`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2500 -msgid ":c:func:`PyConfig_Names`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2504 -msgid "Add functions to configure the Python initialization (:pep:`741`):" -msgstr "" - -#: ../../whatsnew/3.14.rst:2506 -msgid ":c:func:`Py_InitializeFromInitConfig`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2507 -msgid ":c:func:`PyInitConfig_AddModule`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2508 -msgid ":c:func:`PyInitConfig_Create`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2509 -msgid ":c:func:`PyInitConfig_Free`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2510 -msgid ":c:func:`PyInitConfig_FreeStrList`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2511 -msgid ":c:func:`PyInitConfig_GetError`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2512 -msgid ":c:func:`PyInitConfig_GetExitCode`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2513 -msgid ":c:func:`PyInitConfig_GetInt`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2514 -msgid ":c:func:`PyInitConfig_GetStr`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2515 -msgid ":c:func:`PyInitConfig_GetStrList`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2516 -msgid ":c:func:`PyInitConfig_HasOption`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2517 -msgid ":c:func:`PyInitConfig_SetInt`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2518 -msgid ":c:func:`PyInitConfig_SetStr`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2519 -msgid ":c:func:`PyInitConfig_SetStrList`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2523 -msgid "" -"Add a new import and export API for Python :class:`int` objects " -"(:pep:`757`):" -msgstr "" - -#: ../../whatsnew/3.14.rst:2525 -msgid ":c:func:`PyLong_GetNativeLayout`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2526 -msgid ":c:func:`PyLong_Export`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2527 -msgid ":c:func:`PyLong_FreeExport`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2528 -msgid ":c:func:`PyLongWriter_Create`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2529 -msgid ":c:func:`PyLongWriter_Finish`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2530 -msgid ":c:func:`PyLongWriter_Discard`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2532 -msgid "" -"(Contributed by Sergey B Kirpichev and Victor Stinner in :gh:`102471`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2534 -msgid "" -"Add :c:func:`PyType_GetBaseByToken` and :c:data:`Py_tp_token` slot for " -"easier superclass identification, which attempts to resolve the `type " -"checking issue `__ " -"mentioned in :pep:`630` (:gh:`124153`)." -msgstr "" - -#: ../../whatsnew/3.14.rst:2539 -msgid "" -"Add :c:func:`PyUnicode_Equal` function to the limited C API: test if two " -"strings are equal. (Contributed by Victor Stinner in :gh:`124502`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2543 -msgid "" -"Add :c:func:`PyType_Freeze` function to make a type immutable. (Contributed " -"by Victor Stinner in :gh:`121654`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2546 -msgid "" -"Add :c:func:`PyUnstable_Object_EnableDeferredRefcount` for enabling deferred" -" reference counting, as outlined in :pep:`703`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2549 -msgid "" -"Add :c:func:`PyMonitoring_FireBranchLeftEvent` and " -":c:func:`PyMonitoring_FireBranchRightEvent` for generating :monitoring-" -"event:`BRANCH_LEFT` and :monitoring-event:`BRANCH_RIGHT` events, " -"respectively." -msgstr "" - -#: ../../whatsnew/3.14.rst:2554 -msgid "" -"Add :c:func:`Py_fopen` function to open a file. Similar to the " -":c:func:`!fopen` function, but the *path* parameter is a Python object and " -"an exception is set on error. Add also :c:func:`Py_fclose` function to close" -" a file. (Contributed by Victor Stinner in :gh:`127350`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2560 -msgid "" -"Add support of nullable arguments in :c:func:`PyArg_ParseTuple` and similar " -"functions. Adding ``?`` after any format unit makes ``None`` be accepted as " -"a value. (Contributed by Serhiy Storchaka in :gh:`112068`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2565 -msgid "" -"The ``k`` and ``K`` formats in :c:func:`PyArg_ParseTuple` and similar " -"functions now use :meth:`~object.__index__` if available, like all other " -"integer formats. (Contributed by Serhiy Storchaka in :gh:`112068`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2570 -msgid "" -"Add macros :c:func:`Py_PACK_VERSION` and :c:func:`Py_PACK_FULL_VERSION` for " -"bit-packing Python version numbers. (Contributed by Petr Viktorin in " -":gh:`128629`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2574 -msgid "" -"Add :c:func:`PyUnstable_IsImmortal` for determining whether an object is " -":term:`immortal`, for debugging purposes." -msgstr "" - -#: ../../whatsnew/3.14.rst:2577 -msgid "" -"Add :c:func:`PyImport_ImportModuleAttr` and " -":c:func:`PyImport_ImportModuleAttrString` helper functions to import a " -"module and get an attribute of the module. (Contributed by Victor Stinner in" -" :gh:`128911`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2582 -msgid "" -"Add support for a new ``p`` format unit in :c:func:`Py_BuildValue` that " -"allows to take a C integer and produce a Python :class:`bool` object. " -"(Contributed by Pablo Galindo in :issue:`45325`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2586 -msgid "" -"Add :c:func:`PyUnstable_Object_IsUniqueReferencedTemporary` to determine if " -"an object is a unique temporary object on the interpreter's operand stack. " -"This can be used in some cases as a replacement for checking if " -":c:func:`Py_REFCNT` is ``1`` for Python objects passed as arguments to C API" -" functions." -msgstr "" - -#: ../../whatsnew/3.14.rst:2591 -msgid "" -"Add :c:func:`PyUnstable_Object_IsUniquelyReferenced` as a replacement for " -"``Py_REFCNT(op) == 1`` on :term:`free threaded ` builds. " -"(Contributed by Peter Bierma in :gh:`133140`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2597 -msgid "Limited C API changes" -msgstr "" - -#: ../../whatsnew/3.14.rst:2599 -msgid "" -"In the limited C API 3.14 and newer, :c:func:`Py_TYPE` and " -":c:func:`Py_REFCNT` are now implemented as an opaque function call to hide " -"implementation details. (Contributed by Victor Stinner in :gh:`120600` and " -":gh:`124127`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2604 -msgid "" -"Remove the :c:macro:`PySequence_Fast_GET_SIZE`, " -":c:macro:`PySequence_Fast_GET_ITEM` and :c:macro:`PySequence_Fast_ITEMS` " -"macros from the limited C API, since these macros never worked in the " -"limited C API. Keep :c:func:`PySequence_Fast` in the limited C API. " -"(Contributed by Victor Stinner in :gh:`91417`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2614 -msgid "" -":c:func:`Py_Finalize` now deletes all interned strings. This is backwards " -"incompatible to any C-Extension that holds onto an interned string after a " -"call to :c:func:`Py_Finalize` and is then reused after a call to " -":c:func:`Py_Initialize`. Any issues arising from this behavior will " -"normally result in crashes during the execution of the subsequent call to " -":c:func:`Py_Initialize` from accessing uninitialized memory. To fix, use an " -"address sanitizer to identify any use-after-free coming from an interned " -"string and deallocate it during module shutdown. (Contributed by Eddie " -"Elizondo in :gh:`113601`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2624 -msgid "" -"The :ref:`Unicode Exception Objects ` C API now raises a " -":exc:`TypeError` if its exception argument is not a :exc:`UnicodeError` " -"object. (Contributed by Bénédikt Tran in :gh:`127691`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2631 -msgid "" -"The interpreter internally avoids some reference count modifications when " -"loading objects onto the operands stack by :term:`borrowing ` references when possible. This can lead to smaller reference " -"count values compared to previous Python versions. C API extensions that " -"checked :c:func:`Py_REFCNT` of ``1`` to determine if an function argument is" -" not referenced by any other code should instead use " -":c:func:`PyUnstable_Object_IsUniqueReferencedTemporary` as a safer " -"replacement." -msgstr "" - -#: ../../whatsnew/3.14.rst:2640 -msgid "Private functions promoted to public C APIs:" -msgstr "" - -#: ../../whatsnew/3.14.rst:2642 -msgid "``_PyBytes_Join()``: :c:func:`PyBytes_Join`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2643 -msgid "``_PyLong_IsNegative()``: :c:func:`PyLong_IsNegative`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2644 -msgid "``_PyLong_IsPositive()``: :c:func:`PyLong_IsPositive`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2645 -msgid "``_PyLong_IsZero()``: :c:func:`PyLong_IsZero`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2646 -msgid "``_PyLong_Sign()``: :c:func:`PyLong_GetSign`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2647 -msgid "``_PyUnicodeWriter_Dealloc()``: :c:func:`PyUnicodeWriter_Discard`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2648 -msgid "``_PyUnicodeWriter_Finish()``: :c:func:`PyUnicodeWriter_Finish`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2649 -msgid "``_PyUnicodeWriter_Init()``: use :c:func:`PyUnicodeWriter_Create`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2650 -msgid "``_PyUnicodeWriter_Prepare()``: (no replacement)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2651 -msgid "``_PyUnicodeWriter_PrepareKind()``: (no replacement)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2652 -msgid "``_PyUnicodeWriter_WriteChar()``: :c:func:`PyUnicodeWriter_WriteChar`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2653 -msgid "``_PyUnicodeWriter_WriteStr()``: :c:func:`PyUnicodeWriter_WriteStr`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2654 -msgid "" -"``_PyUnicodeWriter_WriteSubstring()``: " -":c:func:`PyUnicodeWriter_WriteSubstring`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2655 -msgid "``_PyUnicode_EQ()``: :c:func:`PyUnicode_Equal`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2656 -msgid "``_PyUnicode_Equal()``: :c:func:`PyUnicode_Equal`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2657 -msgid "" -"``_Py_GetConfig()``: :c:func:`PyConfig_Get` and :c:func:`PyConfig_GetInt`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2658 -msgid "``_Py_HashBytes()``: :c:func:`Py_HashBuffer`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2659 -msgid "``_Py_fopen_obj()``: :c:func:`Py_fopen`" -msgstr "" - -#: ../../whatsnew/3.14.rst:2661 -msgid "" -"The `pythoncapi-compat project`_ can be used to get most of these new " -"functions on Python 3.13 and older." -msgstr "" - -#: ../../whatsnew/3.14.rst:2672 -msgid "" -"The :c:macro:`!Py_HUGE_VAL` macro is :term:`soft deprecated`, use " -":c:macro:`!Py_INFINITY` instead. (Contributed by Sergey B Kirpichev in " -":gh:`120026`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2676 -msgid "" -"Macros :c:macro:`!Py_IS_NAN`, :c:macro:`!Py_IS_INFINITY` and " -":c:macro:`!Py_IS_FINITE` are :term:`soft deprecated`, use instead " -":c:macro:`!isnan`, :c:macro:`!isinf` and :c:macro:`!isfinite` available from" -" :file:`math.h` since C99. (Contributed by Sergey B Kirpichev in " -":gh:`119613`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2682 -msgid "" -"Non-tuple sequences are deprecated as argument for the ``(items)`` format " -"unit in :c:func:`PyArg_ParseTuple` and other :ref:`argument parsing ` functions if *items* contains format units which store a " -":ref:`borrowed buffer ` or a :term:`borrowed " -"reference`. (Contributed by Serhiy Storchaka in :gh:`50333`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2689 -msgid "" -"The previously undocumented function :c:func:`PySequence_In` is :term:`soft " -"deprecated`. Use :c:func:`PySequence_Contains` instead. (Contributed by Yuki" -" Kobayashi in :gh:`127896`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2695 -msgid "" -"The ``PyMonitoring_FireBranchEvent`` function is deprecated and should be " -"replaced with calls to :c:func:`PyMonitoring_FireBranchLeftEvent` and " -":c:func:`PyMonitoring_FireBranchRightEvent`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2699 -msgid "" -"The following private functions are deprecated and planned for removal in " -"Python 3.18:" -msgstr "" - -#: ../../whatsnew/3.14.rst:2702 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:6 -msgid ":c:func:`!_PyBytes_Join`: use :c:func:`PyBytes_Join`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2703 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:7 -msgid "" -":c:func:`!_PyDict_GetItemStringWithError`: use " -":c:func:`PyDict_GetItemStringRef`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2704 -msgid ":c:func:`!_PyDict_Pop()`: use :c:func:`PyDict_Pop`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2705 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:9 -msgid ":c:func:`!_PyLong_Sign()`: use :c:func:`PyLong_GetSign`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2706 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:10 -msgid "" -":c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: use " -":c:func:`PyLongWriter_Create`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2708 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:12 -msgid "" -":c:func:`!_PyThreadState_UncheckedGet`: use " -":c:func:`PyThreadState_GetUnchecked`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2709 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:13 -msgid ":c:func:`!_PyUnicode_AsString`: use :c:func:`PyUnicode_AsUTF8`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2710 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:14 -msgid "" -":c:func:`!_PyUnicodeWriter_Init`: replace ``_PyUnicodeWriter_Init(&writer)``" -" with :c:func:`writer = PyUnicodeWriter_Create(0) `." -msgstr "" - -#: ../../whatsnew/3.14.rst:2713 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:17 -msgid "" -":c:func:`!_PyUnicodeWriter_Finish`: replace " -"``_PyUnicodeWriter_Finish(&writer)`` with " -":c:func:`PyUnicodeWriter_Finish(writer) `." -msgstr "" - -#: ../../whatsnew/3.14.rst:2716 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:20 -msgid "" -":c:func:`!_PyUnicodeWriter_Dealloc`: replace " -"``_PyUnicodeWriter_Dealloc(&writer)`` with " -":c:func:`PyUnicodeWriter_Discard(writer) `." -msgstr "" - -#: ../../whatsnew/3.14.rst:2719 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:23 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteChar`: replace " -"``_PyUnicodeWriter_WriteChar(&writer, ch)`` with " -":c:func:`PyUnicodeWriter_WriteChar(writer, ch) `." -msgstr "" - -#: ../../whatsnew/3.14.rst:2722 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:26 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteStr`: replace " -"``_PyUnicodeWriter_WriteStr(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteStr(writer, str) `." -msgstr "" - -#: ../../whatsnew/3.14.rst:2725 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:29 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteSubstring`: replace " -"``_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)`` with " -":c:func:`PyUnicodeWriter_WriteSubstring(writer, str, start, end) " -"`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2728 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:32 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteASCIIString`: replace " -"``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteUTF8(writer, str) " -"`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2731 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:35 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteLatin1String`: replace " -"``_PyUnicodeWriter_WriteLatin1String(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteUTF8(writer, str) " -"`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2734 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:40 -msgid ":c:func:`!_Py_HashPointer`: use :c:func:`Py_HashPointer`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2735 -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:41 -msgid ":c:func:`!_Py_fopen_obj`: use :c:func:`Py_fopen`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2737 -msgid "" -"The `pythoncapi-compat project`_ can be used to get these new public " -"functions on Python 3.13 and older. (Contributed by Victor Stinner in " -":gh:`128863`.)" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:4 -msgid "The bundled copy of ``libmpdecimal``." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:5 -msgid "" -"The :c:func:`PyImport_ImportModuleNoBlock`: Use " -":c:func:`PyImport_ImportModule` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:7 -msgid "" -":c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`: Use " -":c:func:`PyWeakref_GetRef` instead. The `pythoncapi-compat project " -"`__ can be used to get " -":c:func:`PyWeakref_GetRef` on Python 3.12 and older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:11 -msgid "" -":c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: Use " -":c:type:`wchar_t` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:13 -msgid "" -":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:15 -msgid "" -":c:func:`!PyUnicode_AsDecodedUnicode`: Use :c:func:`PyCodec_Decode` instead;" -" Note that some codecs (for example, \"base64\") may return a type other " -"than :class:`str`, such as :class:`bytes`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:18 -msgid "" -":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:20 -msgid "" -":c:func:`!PyUnicode_AsEncodedUnicode`: Use :c:func:`PyCodec_Encode` instead;" -" Note that some codecs (for example, \"base64\") may return a type other " -"than :class:`bytes`, such as :class:`str`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:23 -msgid "Python initialization functions, deprecated in Python 3.13:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:25 -msgid "" -":c:func:`Py_GetPath`: Use :c:func:`PyConfig_Get(\"module_search_paths\") " -"` (:data:`sys.path`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:28 -msgid "" -":c:func:`Py_GetPrefix`: Use :c:func:`PyConfig_Get(\"base_prefix\") " -"` (:data:`sys.base_prefix`) instead. Use " -":c:func:`PyConfig_Get(\"prefix\") ` (:data:`sys.prefix`) if " -":ref:`virtual environments ` need to be handled." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:33 -msgid "" -":c:func:`Py_GetExecPrefix`: Use :c:func:`PyConfig_Get(\"base_exec_prefix\") " -"` (:data:`sys.base_exec_prefix`) instead. Use " -":c:func:`PyConfig_Get(\"exec_prefix\") ` " -"(:data:`sys.exec_prefix`) if :ref:`virtual environments ` need to " -"be handled." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:39 -msgid "" -":c:func:`Py_GetProgramFullPath`: Use :c:func:`PyConfig_Get(\"executable\") " -"` (:data:`sys.executable`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:42 -msgid "" -":c:func:`Py_GetProgramName`: Use :c:func:`PyConfig_Get(\"executable\") " -"` (:data:`sys.executable`) instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:45 -msgid "" -":c:func:`Py_GetPythonHome`: Use :c:func:`PyConfig_Get(\"home\") " -"` or the :envvar:`PYTHONHOME` environment variable instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:49 -msgid "" -"The `pythoncapi-compat project `__ can be used to get :c:func:`PyConfig_Get` on Python 3.13 and " -"older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:53 -msgid "" -"Functions to configure Python's initialization, deprecated in Python 3.11:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:55 -msgid ":c:func:`!PySys_SetArgvEx()`: Set :c:member:`PyConfig.argv` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:57 -msgid ":c:func:`!PySys_SetArgv()`: Set :c:member:`PyConfig.argv` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:59 -msgid "" -":c:func:`!Py_SetProgramName()`: Set :c:member:`PyConfig.program_name` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:61 -msgid ":c:func:`!Py_SetPythonHome()`: Set :c:member:`PyConfig.home` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:63 -msgid "" -":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and " -":data:`!warnings.filters` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:66 -msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with " -":c:type:`PyConfig` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:69 -msgid "Global configuration variables:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:71 -msgid "" -":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` or " -":c:func:`PyConfig_Get(\"parser_debug\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:74 -msgid "" -":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` or " -":c:func:`PyConfig_Get(\"verbose\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:77 -msgid "" -":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` or " -":c:func:`PyConfig_Get(\"quiet\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:80 -msgid "" -":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` or " -":c:func:`PyConfig_Get(\"interactive\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:83 -msgid "" -":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` or " -":c:func:`PyConfig_Get(\"inspect\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:86 -msgid "" -":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` or " -":c:func:`PyConfig_Get(\"optimization_level\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:89 -msgid "" -":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` or " -":c:func:`PyConfig_Get(\"site_import\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:92 -msgid "" -":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` or " -":c:func:`PyConfig_Get(\"bytes_warning\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:95 -msgid "" -":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` or " -":c:func:`PyConfig_Get(\"pathconfig_warnings\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:98 -msgid "" -":c:var:`Py_IgnoreEnvironmentFlag`: Use :c:member:`PyConfig.use_environment` " -"or :c:func:`PyConfig_Get(\"use_environment\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:101 -msgid "" -":c:var:`Py_DontWriteBytecodeFlag`: Use :c:member:`PyConfig.write_bytecode` " -"or :c:func:`PyConfig_Get(\"write_bytecode\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:104 -msgid "" -":c:var:`Py_NoUserSiteDirectory`: Use " -":c:member:`PyConfig.user_site_directory` or " -":c:func:`PyConfig_Get(\"user_site_directory\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:107 -msgid "" -":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` or " -":c:func:`PyConfig_Get(\"buffered_stdio\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:110 -msgid "" -":c:var:`Py_HashRandomizationFlag`: Use :c:member:`PyConfig.use_hash_seed` " -"and :c:member:`PyConfig.hash_seed` or :c:func:`PyConfig_Get(\"hash_seed\") " -"` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:114 -msgid "" -":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` or " -":c:func:`PyConfig_Get(\"isolated\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:117 -msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use " -":c:member:`PyPreConfig.legacy_windows_fs_encoding` or " -":c:func:`PyConfig_Get(\"legacy_windows_fs_encoding\") ` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:120 -msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: Use " -":c:member:`PyConfig.legacy_windows_stdio` or " -":c:func:`PyConfig_Get(\"legacy_windows_stdio\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:123 -msgid "" -":c:var:`!Py_FileSystemDefaultEncoding`, " -":c:var:`!Py_HasFileSystemDefaultEncoding`: Use " -":c:member:`PyConfig.filesystem_encoding` or " -":c:func:`PyConfig_Get(\"filesystem_encoding\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:126 -msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use " -":c:member:`PyConfig.filesystem_errors` or " -":c:func:`PyConfig_Get(\"filesystem_errors\") ` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:129 -msgid "" -":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` or " -":c:func:`PyConfig_Get(\"utf8_mode\") ` instead. (see " -":c:func:`Py_PreInitialize`)" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.15.rst:134 -msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with " -":c:type:`PyConfig` to set these options. Or :c:func:`PyConfig_Get` can be " -"used to get these options at runtime." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:2 -msgid "Pending removal in Python 3.18" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:4 -msgid "Deprecated private functions (:gh:`128863`):" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:8 -msgid ":c:func:`!_PyDict_Pop()`: :c:func:`PyDict_Pop`." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:38 -msgid ":c:func:`!_PyUnicodeWriter_Prepare`: (no replacement)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:39 -msgid ":c:func:`!_PyUnicodeWriter_PrepareKind`: (no replacement)." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-3.18.rst:43 -msgid "" -"The `pythoncapi-compat project `__ can be used to get these new public functions on Python 3.13 and" -" older." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:4 -msgid "" -"The following APIs are deprecated and will be removed, although there is " -"currently no date scheduled for their removal." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:7 -msgid ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: Unneeded since Python 3.8." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:9 -msgid ":c:func:`PyErr_Fetch`: Use :c:func:`PyErr_GetRaisedException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:11 -msgid "" -":c:func:`PyErr_NormalizeException`: Use :c:func:`PyErr_GetRaisedException` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:13 -msgid "" -":c:func:`PyErr_Restore`: Use :c:func:`PyErr_SetRaisedException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:15 -msgid "" -":c:func:`PyModule_GetFilename`: Use :c:func:`PyModule_GetFilenameObject` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:17 -msgid ":c:func:`PyOS_AfterFork`: Use :c:func:`PyOS_AfterFork_Child` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:19 -msgid "" -":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and " -":c:func:`PySlice_AdjustIndices` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:21 -msgid ":c:func:`PyUnicode_READY`: Unneeded since Python 3.12" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:23 -msgid "" -":c:func:`!PyErr_Display`: Use :c:func:`PyErr_DisplayException` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:25 -msgid "" -":c:func:`!_PyErr_ChainExceptions`: Use :c:func:`!_PyErr_ChainExceptions1` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:27 -msgid "" -":c:member:`!PyBytesObject.ob_shash` member: call :c:func:`PyObject_Hash` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:29 -msgid "Thread Local Storage (TLS) API:" -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:31 -msgid "" -":c:func:`PyThread_create_key`: Use :c:func:`PyThread_tss_alloc` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:33 -msgid "" -":c:func:`PyThread_delete_key`: Use :c:func:`PyThread_tss_free` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:35 -msgid "" -":c:func:`PyThread_set_key_value`: Use :c:func:`PyThread_tss_set` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:37 -msgid "" -":c:func:`PyThread_get_key_value`: Use :c:func:`PyThread_tss_get` instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:39 -msgid "" -":c:func:`PyThread_delete_key_value`: Use :c:func:`PyThread_tss_delete` " -"instead." -msgstr "" - -#: ../../deprecations/c-api-pending-removal-in-future.rst:41 -msgid ":c:func:`PyThread_ReInitTLS`: Unneeded since Python 3.7." -msgstr "" - -#: ../../whatsnew/3.14.rst:2753 -msgid "" -"Creating :c:data:`immutable types ` with mutable " -"bases was deprecated since 3.12 and now raises a :exc:`TypeError`." -msgstr "" - -#: ../../whatsnew/3.14.rst:2756 -msgid "" -"Remove ``PyDictObject.ma_version_tag`` member which was deprecated since " -"Python 3.12. Use the :c:func:`PyDict_AddWatcher` API instead. (Contributed " -"by Sam Gross in :gh:`124296`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2760 -msgid "" -"Remove the private ``_Py_InitializeMain()`` function. It was a " -":term:`provisional API` added to Python 3.8 by :pep:`587`. (Contributed by " -"Victor Stinner in :gh:`129033`.)" -msgstr "" - -#: ../../whatsnew/3.14.rst:2764 -msgid "" -"The undocumented APIs :c:macro:`!Py_C_RECURSION_LIMIT` and " -":c:member:`!PyThreadState.c_recursion_remaining`, added in 3.13, are removed" -" without a deprecation period. Please use :c:func:`Py_EnterRecursiveCall` to" -" guard against runaway recursion in C code. (Removed in :gh:`133079`, see " -"also :gh:`130396`.)" -msgstr "" diff --git a/python-newest.whatsnew--3_2/id.po b/python-newest.whatsnew--3_2/id.po deleted file mode 100644 index 06c2974..0000000 --- a/python-newest.whatsnew--3_2/id.po +++ /dev/null @@ -1,4084 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.2.rst:3 -msgid "What's New In Python 3.2" -msgstr "" - -#: ../../whatsnew/3.2.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../whatsnew/3.2.rst:5 -msgid "Raymond Hettinger" -msgstr "Raymond Hettinger" - -#: ../../whatsnew/3.2.rst:51 -msgid "" -"This article explains the new features in Python 3.2 as compared to 3.1. " -"Python 3.2 was released on February 20, 2011. It focuses on a few highlights" -" and gives a few examples. For full details, see the `Misc/NEWS " -"`__" -" file." -msgstr "" - -#: ../../whatsnew/3.2.rst:60 -msgid ":pep:`392` - Python 3.2 Release Schedule" -msgstr "" - -#: ../../whatsnew/3.2.rst:64 -msgid "PEP 384: Defining a Stable ABI" -msgstr "" - -#: ../../whatsnew/3.2.rst:66 -msgid "" -"In the past, extension modules built for one Python version were often not " -"usable with other Python versions. Particularly on Windows, every feature " -"release of Python required rebuilding all extension modules that one wanted " -"to use. This requirement was the result of the free access to Python " -"interpreter internals that extension modules could use." -msgstr "" - -#: ../../whatsnew/3.2.rst:72 -msgid "" -"With Python 3.2, an alternative approach becomes available: extension " -"modules which restrict themselves to a limited API (by defining " -"Py_LIMITED_API) cannot use many of the internals, but are constrained to a " -"set of API functions that are promised to be stable for several releases. As" -" a consequence, extension modules built for 3.2 in that mode will also work " -"with 3.3, 3.4, and so on. Extension modules that make use of details of " -"memory structures can still be built, but will need to be recompiled for " -"every feature release." -msgstr "" - -#: ../../whatsnew/3.2.rst:83 -msgid ":pep:`384` - Defining a Stable ABI" -msgstr "" - -#: ../../whatsnew/3.2.rst:84 -msgid "PEP written by Martin von Löwis." -msgstr "" - -#: ../../whatsnew/3.2.rst:88 -msgid "PEP 389: Argparse Command Line Parsing Module" -msgstr "" - -#: ../../whatsnew/3.2.rst:90 -msgid "" -"A new module for command line parsing, :mod:`argparse`, was introduced to " -"overcome the limitations of :mod:`optparse` which did not provide support " -"for positional arguments (not just options), subcommands, required options " -"and other common patterns of specifying and validating options." -msgstr "" - -#: ../../whatsnew/3.2.rst:95 -msgid "" -"This module has already had widespread success in the community as a third-" -"party module. Being more fully featured than its predecessor, the " -":mod:`argparse` module is now the preferred module for command-line " -"processing. The older module is still being kept available because of the " -"substantial amount of legacy code that depends on it." -msgstr "" - -#: ../../whatsnew/3.2.rst:101 -msgid "" -"Here's an annotated example parser showing features like limiting results to" -" a set of choices, specifying a *metavar* in the help screen, validating " -"that one or more positional arguments is present, and making a required " -"option::" -msgstr "" - -#: ../../whatsnew/3.2.rst:105 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser(\n" -" description = 'Manage servers', # main description for help\n" -" epilog = 'Tested on Solaris and Linux') # displayed after help\n" -"parser.add_argument('action', # argument name\n" -" choices = ['deploy', 'start', 'stop'], # three allowed values\n" -" help = 'action on each target') # help msg\n" -"parser.add_argument('targets',\n" -" metavar = 'HOSTNAME', # var name used in help msg\n" -" nargs = '+', # require one or more targets\n" -" help = 'url for target machines') # help msg explanation\n" -"parser.add_argument('-u', '--user', # -u or --user option\n" -" required = True, # make it a required argument\n" -" help = 'login as user')" -msgstr "" - -#: ../../whatsnew/3.2.rst:120 -msgid "Example of calling the parser on a command string::" -msgstr "" - -#: ../../whatsnew/3.2.rst:122 -msgid "" -">>> cmd = 'deploy sneezy.example.com sleepy.example.com -u skycaptain'\n" -">>> result = parser.parse_args(cmd.split())\n" -">>> result.action\n" -"'deploy'\n" -">>> result.targets\n" -"['sneezy.example.com', 'sleepy.example.com']\n" -">>> result.user\n" -"'skycaptain'" -msgstr "" - -#: ../../whatsnew/3.2.rst:131 -msgid "Example of the parser's automatically generated help::" -msgstr "" - -#: ../../whatsnew/3.2.rst:133 -msgid "" -">>> parser.parse_args('-h'.split())\n" -"\n" -"usage: manage_cloud.py [-h] -u USER\n" -" {deploy,start,stop} HOSTNAME [HOSTNAME ...]\n" -"\n" -"Manage servers\n" -"\n" -"positional arguments:\n" -" {deploy,start,stop} action on each target\n" -" HOSTNAME url for target machines\n" -"\n" -"optional arguments:\n" -" -h, --help show this help message and exit\n" -" -u USER, --user USER login as user\n" -"\n" -"Tested on Solaris and Linux" -msgstr "" - -#: ../../whatsnew/3.2.rst:150 -msgid "" -"An especially nice :mod:`argparse` feature is the ability to define " -"subparsers, each with their own argument patterns and help displays::" -msgstr "" - -#: ../../whatsnew/3.2.rst:153 -msgid "" -"import argparse\n" -"parser = argparse.ArgumentParser(prog='HELM')\n" -"subparsers = parser.add_subparsers()\n" -"\n" -"parser_l = subparsers.add_parser('launch', help='Launch Control') # first subgroup\n" -"parser_l.add_argument('-m', '--missiles', action='store_true')\n" -"parser_l.add_argument('-t', '--torpedos', action='store_true')\n" -"\n" -"parser_m = subparsers.add_parser('move', help='Move Vessel', # second subgroup\n" -" aliases=('steer', 'turn')) # equivalent names\n" -"parser_m.add_argument('-c', '--course', type=int, required=True)\n" -"parser_m.add_argument('-s', '--speed', type=int, default=0)" -msgstr "" - -#: ../../whatsnew/3.2.rst:166 -msgid "" -"$ ./helm.py --help # top level help (launch and move)\n" -"$ ./helm.py launch --help # help for launch options\n" -"$ ./helm.py launch --missiles # set missiles=True and torpedos=False\n" -"$ ./helm.py steer --course 180 --speed 5 # set movement parameters" -msgstr "" - -#: ../../whatsnew/3.2.rst:175 -msgid ":pep:`389` - New Command Line Parsing Module" -msgstr "" - -#: ../../whatsnew/3.2.rst:176 -msgid "PEP written by Steven Bethard." -msgstr "" - -#: ../../whatsnew/3.2.rst:178 -msgid "" -":ref:`upgrading-optparse-code` for details on the differences from " -":mod:`optparse`." -msgstr "" - -#: ../../whatsnew/3.2.rst:182 -msgid "PEP 391: Dictionary Based Configuration for Logging" -msgstr "" - -#: ../../whatsnew/3.2.rst:184 -msgid "" -"The :mod:`logging` module provided two kinds of configuration, one style " -"with function calls for each option or another style driven by an external " -"file saved in a :mod:`configparser` format. Those options did not provide " -"the flexibility to create configurations from JSON or YAML files, nor did " -"they support incremental configuration, which is needed for specifying " -"logger options from a command line." -msgstr "" - -#: ../../whatsnew/3.2.rst:191 -msgid "" -"To support a more flexible style, the module now offers " -":func:`logging.config.dictConfig` for specifying logging configuration with " -"plain Python dictionaries. The configuration options include formatters, " -"handlers, filters, and loggers. Here's a working example of a configuration" -" dictionary::" -msgstr "" - -#: ../../whatsnew/3.2.rst:197 -msgid "" -"{\"version\": 1,\n" -" \"formatters\": {\"brief\": {\"format\": \"%(levelname)-8s: %(name)-15s: %(message)s\"},\n" -" \"full\": {\"format\": \"%(asctime)s %(name)-15s %(levelname)-8s %(message)s\"}\n" -" },\n" -" \"handlers\": {\"console\": {\n" -" \"class\": \"logging.StreamHandler\",\n" -" \"formatter\": \"brief\",\n" -" \"level\": \"INFO\",\n" -" \"stream\": \"ext://sys.stdout\"},\n" -" \"console_priority\": {\n" -" \"class\": \"logging.StreamHandler\",\n" -" \"formatter\": \"full\",\n" -" \"level\": \"ERROR\",\n" -" \"stream\": \"ext://sys.stderr\"}\n" -" },\n" -" \"root\": {\"level\": \"DEBUG\", \"handlers\": [\"console\", \"console_priority\"]}}" -msgstr "" - -#: ../../whatsnew/3.2.rst:215 -msgid "" -"If that dictionary is stored in a file called :file:`conf.json`, it can be " -"loaded and called with code like this::" -msgstr "" - -#: ../../whatsnew/3.2.rst:218 -msgid "" -">>> import json, logging.config\n" -">>> with open('conf.json') as f:\n" -"... conf = json.load(f)\n" -"...\n" -">>> logging.config.dictConfig(conf)\n" -">>> logging.info(\"Transaction completed normally\")\n" -"INFO : root : Transaction completed normally\n" -">>> logging.critical(\"Abnormal termination\")\n" -"2011-02-17 11:14:36,694 root CRITICAL Abnormal termination" -msgstr "" - -#: ../../whatsnew/3.2.rst:230 -msgid ":pep:`391` - Dictionary Based Configuration for Logging" -msgstr "" - -#: ../../whatsnew/3.2.rst:231 -msgid "PEP written by Vinay Sajip." -msgstr "" - -#: ../../whatsnew/3.2.rst:235 -msgid "PEP 3148: The ``concurrent.futures`` module" -msgstr "" - -#: ../../whatsnew/3.2.rst:237 -msgid "" -"Code for creating and managing concurrency is being collected in a new top-" -"level namespace, *concurrent*. Its first member is a *futures* package " -"which provides a uniform high-level interface for managing threads and " -"processes." -msgstr "" - -#: ../../whatsnew/3.2.rst:241 -msgid "" -"The design for :mod:`concurrent.futures` was inspired by the " -"*java.util.concurrent* package. In that model, a running call and its " -"result are represented by a :class:`~concurrent.futures.Future` object that " -"abstracts features common to threads, processes, and remote procedure calls." -" That object supports status checks (running or done), timeouts, " -"cancellations, adding callbacks, and access to results or exceptions." -msgstr "" - -#: ../../whatsnew/3.2.rst:248 -msgid "" -"The primary offering of the new module is a pair of executor classes for " -"launching and managing calls. The goal of the executors is to make it " -"easier to use existing tools for making parallel calls. They save the effort" -" needed to setup a pool of resources, launch the calls, create a results " -"queue, add time-out handling, and limit the total number of threads, " -"processes, or remote procedure calls." -msgstr "" - -#: ../../whatsnew/3.2.rst:255 -msgid "" -"Ideally, each application should share a single executor across multiple " -"components so that process and thread limits can be centrally managed. This" -" solves the design challenge that arises when each component has its own " -"competing strategy for resource management." -msgstr "" - -#: ../../whatsnew/3.2.rst:260 -msgid "" -"Both classes share a common interface with three methods: " -":meth:`~concurrent.futures.Executor.submit` for scheduling a callable and " -"returning a :class:`~concurrent.futures.Future` object; " -":meth:`~concurrent.futures.Executor.map` for scheduling many asynchronous " -"calls at a time, and :meth:`~concurrent.futures.Executor.shutdown` for " -"freeing resources. The class is a :term:`context manager` and can be used " -"in a :keyword:`with` statement to assure that resources are automatically " -"released when currently pending futures are done executing." -msgstr "" - -#: ../../whatsnew/3.2.rst:269 -msgid "" -"A simple of example of :class:`~concurrent.futures.ThreadPoolExecutor` is a " -"launch of four parallel threads for copying files::" -msgstr "" - -#: ../../whatsnew/3.2.rst:272 -msgid "" -"import concurrent.futures, shutil\n" -"with concurrent.futures.ThreadPoolExecutor(max_workers=4) as e:\n" -" e.submit(shutil.copy, 'src1.txt', 'dest1.txt')\n" -" e.submit(shutil.copy, 'src2.txt', 'dest2.txt')\n" -" e.submit(shutil.copy, 'src3.txt', 'dest3.txt')\n" -" e.submit(shutil.copy, 'src3.txt', 'dest4.txt')" -msgstr "" - -#: ../../whatsnew/3.2.rst:281 -msgid ":pep:`3148` - Futures -- Execute Computations Asynchronously" -msgstr "" - -#: ../../whatsnew/3.2.rst:282 -msgid "PEP written by Brian Quinlan." -msgstr "" - -#: ../../whatsnew/3.2.rst:284 -msgid "" -":ref:`Code for Threaded Parallel URL reads`, an " -"example using threads to fetch multiple web pages in parallel." -msgstr "" - -#: ../../whatsnew/3.2.rst:287 -msgid "" -":ref:`Code for computing prime numbers in parallel`, an example demonstrating " -":class:`~concurrent.futures.ProcessPoolExecutor`." -msgstr "" - -#: ../../whatsnew/3.2.rst:293 -msgid "PEP 3147: PYC Repository Directories" -msgstr "" - -#: ../../whatsnew/3.2.rst:295 -msgid "" -"Python's scheme for caching bytecode in *.pyc* files did not work well in " -"environments with multiple Python interpreters. If one interpreter " -"encountered a cached file created by another interpreter, it would recompile" -" the source and overwrite the cached file, thus losing the benefits of " -"caching." -msgstr "" - -#: ../../whatsnew/3.2.rst:300 -msgid "" -"The issue of \"pyc fights\" has become more pronounced as it has become " -"commonplace for Linux distributions to ship with multiple versions of " -"Python. These conflicts also arise with CPython alternatives such as Unladen" -" Swallow." -msgstr "" - -#: ../../whatsnew/3.2.rst:304 -msgid "" -"To solve this problem, Python's import machinery has been extended to use " -"distinct filenames for each interpreter. Instead of Python 3.2 and Python " -"3.3 and Unladen Swallow each competing for a file called \"mymodule.pyc\", " -"they will now look for \"mymodule.cpython-32.pyc\", " -"\"mymodule.cpython-33.pyc\", and \"mymodule.unladen10.pyc\". And to prevent" -" all of these new files from cluttering source directories, the *pyc* files " -"are now collected in a \"__pycache__\" directory stored under the package " -"directory." -msgstr "" - -#: ../../whatsnew/3.2.rst:312 -msgid "" -"Aside from the filenames and target directories, the new scheme has a few " -"aspects that are visible to the programmer:" -msgstr "" - -#: ../../whatsnew/3.2.rst:315 -msgid "" -"Imported modules now have a :attr:`~module.__cached__` attribute which " -"stores the name of the actual file that was imported:" -msgstr "" - -#: ../../whatsnew/3.2.rst:322 -msgid "" -"The tag that is unique to each interpreter is accessible from the " -":mod:`!imp` module:" -msgstr "" - -#: ../../whatsnew/3.2.rst:329 -msgid "" -"Scripts that try to deduce source filename from the imported file now need " -"to be smarter. It is no longer sufficient to simply strip the \"c\" from a " -"\".pyc\" filename. Instead, use the new functions in the :mod:`!imp` " -"module:" -msgstr "" - -#: ../../whatsnew/3.2.rst:338 -msgid "" -"The :mod:`py_compile` and :mod:`compileall` modules have been updated to " -"reflect the new naming convention and target directory. The command-line " -"invocation of *compileall* has new options: ``-i`` for specifying a list of " -"files and directories to compile and ``-b`` which causes bytecode files to " -"be written to their legacy location rather than *__pycache__*." -msgstr "" - -#: ../../whatsnew/3.2.rst:345 -msgid "" -"The :mod:`importlib.abc` module has been updated with new :term:`abstract " -"base classes ` for loading bytecode files. The " -"obsolete ABCs, :class:`!PyLoader` and :class:`!PyPycLoader`, have been " -"deprecated (instructions on how to stay Python 3.1 compatible are included " -"with the documentation)." -msgstr "" - -#: ../../whatsnew/3.2.rst:353 -msgid ":pep:`3147` - PYC Repository Directories" -msgstr "" - -#: ../../whatsnew/3.2.rst:354 ../../whatsnew/3.2.rst:385 -msgid "PEP written by Barry Warsaw." -msgstr "" - -#: ../../whatsnew/3.2.rst:358 -msgid "PEP 3149: ABI Version Tagged .so Files" -msgstr "" - -#: ../../whatsnew/3.2.rst:360 -msgid "" -"The PYC repository directory allows multiple bytecode cache files to be co-" -"located. This PEP implements a similar mechanism for shared object files by" -" giving them a common directory and distinct names for each version." -msgstr "" - -#: ../../whatsnew/3.2.rst:364 -msgid "" -"The common directory is \"pyshared\" and the file names are made distinct by" -" identifying the Python implementation (such as CPython, PyPy, Jython, " -"etc.), the major and minor version numbers, and optional build flags (such " -"as \"d\" for debug, \"m\" for pymalloc, \"u\" for wide-unicode). For an " -"arbitrary package \"foo\", you may see these files when the distribution " -"package is installed::" -msgstr "" - -#: ../../whatsnew/3.2.rst:370 -msgid "" -"/usr/share/pyshared/foo.cpython-32m.so\n" -"/usr/share/pyshared/foo.cpython-33md.so" -msgstr "" - -#: ../../whatsnew/3.2.rst:373 -msgid "" -"In Python itself, the tags are accessible from functions in the " -":mod:`sysconfig` module::" -msgstr "" - -#: ../../whatsnew/3.2.rst:376 -msgid "" -">>> import sysconfig\n" -">>> sysconfig.get_config_var('SOABI') # find the version tag\n" -"'cpython-32mu'\n" -">>> sysconfig.get_config_var('EXT_SUFFIX') # find the full filename extension\n" -"'.cpython-32mu.so'" -msgstr "" - -#: ../../whatsnew/3.2.rst:384 -msgid ":pep:`3149` - ABI Version Tagged .so Files" -msgstr "" - -#: ../../whatsnew/3.2.rst:389 -msgid "PEP 3333: Python Web Server Gateway Interface v1.0.1" -msgstr "" - -#: ../../whatsnew/3.2.rst:391 -msgid "" -"This informational PEP clarifies how bytes/text issues are to be handled by " -"the WSGI protocol. The challenge is that string handling in Python 3 is " -"most conveniently handled with the :class:`str` type even though the HTTP " -"protocol is itself bytes oriented." -msgstr "" - -#: ../../whatsnew/3.2.rst:396 -msgid "" -"The PEP differentiates so-called *native strings* that are used for " -"request/response headers and metadata versus *byte strings* which are used " -"for the bodies of requests and responses." -msgstr "" - -#: ../../whatsnew/3.2.rst:400 -msgid "" -"The *native strings* are always of type :class:`str` but are restricted to " -"code points between *U+0000* through *U+00FF* which are translatable to " -"bytes using *Latin-1* encoding. These strings are used for the keys and " -"values in the environment dictionary and for response headers and statuses " -"in the :func:`!start_response` function. They must follow :rfc:`2616` with " -"respect to encoding. That is, they must either be *ISO-8859-1* characters or" -" use :rfc:`2047` MIME encoding." -msgstr "" - -#: ../../whatsnew/3.2.rst:408 -msgid "" -"For developers porting WSGI applications from Python 2, here are the salient" -" points:" -msgstr "" - -#: ../../whatsnew/3.2.rst:411 -msgid "" -"If the app already used strings for headers in Python 2, no change is " -"needed." -msgstr "" - -#: ../../whatsnew/3.2.rst:413 -msgid "" -"If instead, the app encoded output headers or decoded input headers, then " -"the headers will need to be re-encoded to Latin-1. For example, an output " -"header encoded in utf-8 was using ``h.encode('utf-8')`` now needs to convert" -" from bytes to native strings using ``h.encode('utf-8').decode('latin-1')``." -msgstr "" - -#: ../../whatsnew/3.2.rst:418 -msgid "" -"Values yielded by an application or sent using the :meth:`!write` method " -"must be byte strings. The :func:`!start_response` function and environ must" -" use native strings. The two cannot be mixed." -msgstr "" - -#: ../../whatsnew/3.2.rst:422 -msgid "" -"For server implementers writing CGI-to-WSGI pathways or other CGI-style " -"protocols, the users must to be able access the environment using native " -"strings even though the underlying platform may have a different convention." -" To bridge this gap, the :mod:`wsgiref` module has a new function, " -":func:`wsgiref.handlers.read_environ` for transcoding CGI variables from " -":data:`os.environ` into native strings and returning a new dictionary." -msgstr "" - -#: ../../whatsnew/3.2.rst:431 -msgid ":pep:`3333` - Python Web Server Gateway Interface v1.0.1" -msgstr "" - -#: ../../whatsnew/3.2.rst:432 -msgid "PEP written by Phillip Eby." -msgstr "" - -#: ../../whatsnew/3.2.rst:436 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.2.rst:438 -msgid "Some smaller changes made to the core Python language are:" -msgstr "" - -#: ../../whatsnew/3.2.rst:440 -msgid "" -"String formatting for :func:`format` and :meth:`str.format` gained new " -"capabilities for the format character **#**. Previously, for integers in " -"binary, octal, or hexadecimal, it caused the output to be prefixed with " -"'0b', '0o', or '0x' respectively. Now it can also handle floats, complex, " -"and Decimal, causing the output to always have a decimal point even when no " -"digits follow it." -msgstr "" - -#: ../../whatsnew/3.2.rst:452 -msgid "" -"(Suggested by Mark Dickinson and implemented by Eric Smith in " -":issue:`7094`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:454 -msgid "" -"There is also a new :meth:`str.format_map` method that extends the " -"capabilities of the existing :meth:`str.format` method by accepting " -"arbitrary :term:`mapping` objects. This new method makes it possible to use" -" string formatting with any of Python's many dictionary-like objects such as" -" :class:`~collections.defaultdict`, :class:`~shelve.Shelf`, " -":class:`~configparser.ConfigParser`, or :mod:`dbm`. It is also useful with " -"custom :class:`dict` subclasses that normalize keys before look-up or that " -"supply a :meth:`__missing__` method for unknown keys::" -msgstr "" - -#: ../../whatsnew/3.2.rst:463 -msgid "" -">>> import shelve\n" -">>> d = shelve.open('tmp.shl')\n" -">>> 'The {project_name} status is {status} as of {date}'.format_map(d)\n" -"'The testing project status is green as of February 15, 2011'\n" -"\n" -">>> class LowerCasedDict(dict):\n" -"... def __getitem__(self, key):\n" -"... return dict.__getitem__(self, key.lower())\n" -"...\n" -">>> lcd = LowerCasedDict(part='widgets', quantity=10)\n" -">>> 'There are {QUANTITY} {Part} in stock'.format_map(lcd)\n" -"'There are 10 widgets in stock'\n" -"\n" -">>> class PlaceholderDict(dict):\n" -"... def __missing__(self, key):\n" -"... return '<{}>'.format(key)\n" -"...\n" -">>> 'Hello {name}, welcome to {location}'.format_map(PlaceholderDict())\n" -"'Hello , welcome to '" -msgstr "" - -#: ../../whatsnew/3.2.rst:483 -msgid "" -"(Suggested by Raymond Hettinger and implemented by Eric Smith in " -":issue:`6081`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:486 -msgid "" -"The interpreter can now be started with a quiet option, ``-q``, to prevent " -"the copyright and version information from being displayed in the " -"interactive mode. The option can be introspected using the " -":data:`sys.flags` attribute:" -msgstr "" - -#: ../../whatsnew/3.2.rst:490 -msgid "" -"$ python -q\n" -">>> sys.flags\n" -"sys.flags(debug=0, division_warning=0, inspect=0, interactive=0,\n" -"optimize=0, dont_write_bytecode=0, no_user_site=0, no_site=0,\n" -"ignore_environment=0, verbose=0, bytes_warning=0, quiet=1)" -msgstr "" - -#: ../../whatsnew/3.2.rst:498 -msgid "(Contributed by Marcin Wojdyr in :issue:`1772833`)." -msgstr "(Kontribusi dari Marcin Wojdyr di :issue:`1772833`)." - -#: ../../whatsnew/3.2.rst:500 -msgid "" -"The :func:`hasattr` function works by calling :func:`getattr` and detecting " -"whether an exception is raised. This technique allows it to detect methods " -"created dynamically by :meth:`~object.__getattr__` or " -":meth:`~object.__getattribute__` which would otherwise be absent from the " -"class dictionary. Formerly, *hasattr* would catch any exception, possibly " -"masking genuine errors. Now, *hasattr* has been tightened to only catch " -":exc:`AttributeError` and let other exceptions pass through::" -msgstr "" - -#: ../../whatsnew/3.2.rst:508 -msgid "" -">>> class A:\n" -"... @property\n" -"... def f(self):\n" -"... return 1 // 0\n" -"...\n" -">>> a = A()\n" -">>> hasattr(a, 'f')\n" -"Traceback (most recent call last):\n" -" ...\n" -"ZeroDivisionError: integer division or modulo by zero" -msgstr "" - -#: ../../whatsnew/3.2.rst:519 -msgid "" -"(Discovered by Yury Selivanov and fixed by Benjamin Peterson; " -":issue:`9666`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:521 -msgid "" -"The :func:`str` of a float or complex number is now the same as its " -":func:`repr`. Previously, the :func:`str` form was shorter but that just " -"caused confusion and is no longer needed now that the shortest possible " -":func:`repr` is displayed by default:" -msgstr "" - -#: ../../whatsnew/3.2.rst:532 -msgid "(Proposed and implemented by Mark Dickinson; :issue:`9337`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:534 -msgid "" -":class:`memoryview` objects now have a :meth:`~memoryview.release` method " -"and they also now support the context management protocol. This allows " -"timely release of any resources that were acquired when requesting a buffer " -"from the original object." -msgstr "" - -#: ../../whatsnew/3.2.rst:543 -msgid "(Added by Antoine Pitrou; :issue:`9757`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:545 -msgid "" -"Previously it was illegal to delete a name from the local namespace if it " -"occurs as a free variable in a nested block::" -msgstr "" - -#: ../../whatsnew/3.2.rst:548 -msgid "" -"def outer(x):\n" -" def inner():\n" -" return x\n" -" inner()\n" -" del x" -msgstr "" - -#: ../../whatsnew/3.2.rst:554 -msgid "" -"This is now allowed. Remember that the target of an :keyword:`except` " -"clause is cleared, so this code which used to work with Python 2.6, raised a" -" :exc:`SyntaxError` with Python 3.1 and now works again::" -msgstr "" - -#: ../../whatsnew/3.2.rst:558 -msgid "" -"def f():\n" -" def print_error():\n" -" print(e)\n" -" try:\n" -" something\n" -" except Exception as e:\n" -" print_error()\n" -" # implicit \"del e\" here" -msgstr "" - -#: ../../whatsnew/3.2.rst:567 -msgid "(See :issue:`4617`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:569 -msgid "" -":ref:`Struct sequence types ` are now subclasses of" -" tuple. This means that C structures like those returned by :func:`os.stat`," -" :func:`time.gmtime`, and :data:`sys.version_info` now work like a " -":term:`named tuple` and now work with functions and methods that expect a " -"tuple as an argument. This is a big step forward in making the C structures" -" as flexible as their pure Python counterparts:" -msgstr "" - -#: ../../whatsnew/3.2.rst:582 -msgid "" -"(Suggested by Arfrever Frehtes Taifersar Arahesis and implemented by " -"Benjamin Peterson in :issue:`8413`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:585 -msgid "" -"Warnings are now easier to control using the :envvar:`PYTHONWARNINGS` " -"environment variable as an alternative to using ``-W`` at the command line:" -msgstr "" - -#: ../../whatsnew/3.2.rst:588 -msgid "" -"$ export PYTHONWARNINGS='ignore::RuntimeWarning::,once::UnicodeWarning::'" -msgstr "" - -#: ../../whatsnew/3.2.rst:592 -msgid "" -"(Suggested by Barry Warsaw and implemented by Philip Jenvey in " -":issue:`7301`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:594 -msgid "" -"A new warning category, :exc:`ResourceWarning`, has been added. It is " -"emitted when potential issues with resource consumption or cleanup are " -"detected. It is silenced by default in normal release builds but can be " -"enabled through the means provided by the :mod:`warnings` module, or on the " -"command line." -msgstr "" - -#: ../../whatsnew/3.2.rst:600 -msgid "" -"A :exc:`ResourceWarning` is issued at interpreter shutdown if the " -":data:`gc.garbage` list isn't empty, and if :const:`gc.DEBUG_UNCOLLECTABLE` " -"is set, all uncollectable objects are printed. This is meant to make the " -"programmer aware that their code contains object finalization issues." -msgstr "" - -#: ../../whatsnew/3.2.rst:605 -msgid "" -"A :exc:`ResourceWarning` is also issued when a :term:`file object` is " -"destroyed without having been explicitly closed. While the deallocator for " -"such object ensures it closes the underlying operating system resource " -"(usually, a file descriptor), the delay in deallocating the object could " -"produce various issues, especially under Windows. Here is an example of " -"enabling the warning from the command line:" -msgstr "" - -#: ../../whatsnew/3.2.rst:612 -msgid "" -"$ python -q -Wdefault\n" -">>> f = open(\"foo\", \"wb\")\n" -">>> del f\n" -"__main__:1: ResourceWarning: unclosed file <_io.BufferedWriter name='foo'>" -msgstr "" - -#: ../../whatsnew/3.2.rst:619 -msgid "" -"(Added by Antoine Pitrou and Georg Brandl in :issue:`10093` and " -":issue:`477863`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:621 -msgid "" -":class:`range` objects now support *index* and *count* methods. This is part" -" of an effort to make more objects fully implement the " -":class:`collections.Sequence ` :term:`abstract " -"base class`. As a result, the language will have a more uniform API. In " -"addition, :class:`range` objects now support slicing and negative indices, " -"even with values larger than :data:`sys.maxsize`. This makes *range* more " -"interoperable with lists::" -msgstr "" - -#: ../../whatsnew/3.2.rst:628 -msgid "" -">>> range(0, 100, 2).count(10)\n" -"1\n" -">>> range(0, 100, 2).index(10)\n" -"5\n" -">>> range(0, 100, 2)[5]\n" -"10\n" -">>> range(0, 100, 2)[0:5]\n" -"range(0, 10, 2)" -msgstr "" - -#: ../../whatsnew/3.2.rst:637 -msgid "" -"(Contributed by Daniel Stutzbach in :issue:`9213`, by Alexander Belopolsky " -"in :issue:`2690`, and by Nick Coghlan in :issue:`10889`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:640 -msgid "" -"The :func:`callable` builtin function from Py2.x was resurrected. It " -"provides a concise, readable alternative to using an :term:`abstract base " -"class` in an expression like ``isinstance(x, collections.Callable)``:" -msgstr "" - -#: ../../whatsnew/3.2.rst:649 -msgid "(See :issue:`10518`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:651 -msgid "" -"Python's import mechanism can now load modules installed in directories with" -" non-ASCII characters in the path name. This solved an aggravating problem " -"with home directories for users with non-ASCII characters in their " -"usernames." -msgstr "" - -#: ../../whatsnew/3.2.rst:655 -msgid "(Required extensive work by Victor Stinner in :issue:`9425`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:659 -msgid "New, Improved, and Deprecated Modules" -msgstr "" - -#: ../../whatsnew/3.2.rst:661 -msgid "" -"Python's standard library has undergone significant maintenance efforts and " -"quality improvements." -msgstr "" - -#: ../../whatsnew/3.2.rst:664 -msgid "" -"The biggest news for Python 3.2 is that the :mod:`email` package, " -":mod:`mailbox` module, and :mod:`!nntplib` modules now work correctly with " -"the bytes/text model in Python 3. For the first time, there is correct " -"handling of messages with mixed encodings." -msgstr "" - -#: ../../whatsnew/3.2.rst:669 -msgid "" -"Throughout the standard library, there has been more careful attention to " -"encodings and text versus bytes issues. In particular, interactions with " -"the operating system are now better able to exchange non-ASCII data using " -"the Windows MBCS encoding, locale-aware encodings, or UTF-8." -msgstr "" - -#: ../../whatsnew/3.2.rst:674 -msgid "" -"Another significant win is the addition of substantially better support for " -"*SSL* connections and security certificates." -msgstr "" - -#: ../../whatsnew/3.2.rst:677 -msgid "" -"In addition, more classes now implement a :term:`context manager` to support" -" convenient and reliable resource clean-up using a :keyword:`with` " -"statement." -msgstr "" - -#: ../../whatsnew/3.2.rst:681 -msgid "email" -msgstr "" - -#: ../../whatsnew/3.2.rst:683 -msgid "" -"The usability of the :mod:`email` package in Python 3 has been mostly fixed " -"by the extensive efforts of R. David Murray. The problem was that emails " -"are typically read and stored in the form of :class:`bytes` rather than " -":class:`str` text, and they may contain multiple encodings within a single " -"email. So, the email package had to be extended to parse and generate email" -" messages in bytes format." -msgstr "" - -#: ../../whatsnew/3.2.rst:690 -msgid "" -"New functions :func:`~email.message_from_bytes` and " -":func:`~email.message_from_binary_file`, and new classes " -":class:`~email.parser.BytesFeedParser` and " -":class:`~email.parser.BytesParser` allow binary message data to be parsed " -"into model objects." -msgstr "" - -#: ../../whatsnew/3.2.rst:695 -msgid "" -"Given bytes input to the model, :meth:`~email.message.Message.get_payload` " -"will by default decode a message body that has a :mailheader:`Content-" -"Transfer-Encoding` of *8bit* using the charset specified in the MIME headers" -" and return the resulting string." -msgstr "" - -#: ../../whatsnew/3.2.rst:700 -msgid "" -"Given bytes input to the model, :class:`~email.generator.Generator` will " -"convert message bodies that have a :mailheader:`Content-Transfer-Encoding` " -"of *8bit* to instead have a *7bit* :mailheader:`Content-Transfer-Encoding`." -msgstr "" - -#: ../../whatsnew/3.2.rst:704 -msgid "" -"Headers with unencoded non-ASCII bytes are deemed to be :rfc:`2047`\\ " -"-encoded using the *unknown-8bit* character set." -msgstr "" - -#: ../../whatsnew/3.2.rst:707 -msgid "" -"A new class :class:`~email.generator.BytesGenerator` produces bytes as " -"output, preserving any unchanged non-ASCII data that was present in the " -"input used to build the model, including message bodies with a " -":mailheader:`Content-Transfer-Encoding` of *8bit*." -msgstr "" - -#: ../../whatsnew/3.2.rst:712 -msgid "" -"The :mod:`smtplib` :class:`~smtplib.SMTP` class now accepts a byte string " -"for the *msg* argument to the :meth:`~smtplib.SMTP.sendmail` method, and a " -"new method, :meth:`~smtplib.SMTP.send_message` accepts a " -":class:`~email.message.Message` object and can optionally obtain the " -"*from_addr* and *to_addrs* addresses directly from the object." -msgstr "" - -#: ../../whatsnew/3.2.rst:718 -msgid "" -"(Proposed and implemented by R. David Murray, :issue:`4661` and " -":issue:`10321`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:721 -msgid "elementtree" -msgstr "" - -#: ../../whatsnew/3.2.rst:723 -msgid "" -"The :mod:`xml.etree.ElementTree` package and its " -":mod:`!xml.etree.cElementTree` counterpart have been updated to version 1.3." -msgstr "" - -#: ../../whatsnew/3.2.rst:726 -msgid "Several new and useful functions and methods have been added:" -msgstr "" - -#: ../../whatsnew/3.2.rst:728 -msgid "" -":func:`xml.etree.ElementTree.fromstringlist` which builds an XML document " -"from a sequence of fragments" -msgstr "" - -#: ../../whatsnew/3.2.rst:730 -msgid "" -":func:`xml.etree.ElementTree.register_namespace` for registering a global " -"namespace prefix" -msgstr "" - -#: ../../whatsnew/3.2.rst:732 -msgid "" -":func:`xml.etree.ElementTree.tostringlist` for string representation " -"including all sublists" -msgstr "" - -#: ../../whatsnew/3.2.rst:734 -msgid "" -":meth:`xml.etree.ElementTree.Element.extend` for appending a sequence of " -"zero or more elements" -msgstr "" - -#: ../../whatsnew/3.2.rst:736 -msgid "" -":meth:`xml.etree.ElementTree.Element.iterfind` searches an element and " -"subelements" -msgstr "" - -#: ../../whatsnew/3.2.rst:738 -msgid "" -":meth:`xml.etree.ElementTree.Element.itertext` creates a text iterator over " -"an element and its subelements" -msgstr "" - -#: ../../whatsnew/3.2.rst:740 -msgid "" -":meth:`xml.etree.ElementTree.TreeBuilder.end` closes the current element" -msgstr "" - -#: ../../whatsnew/3.2.rst:741 -msgid "" -":meth:`xml.etree.ElementTree.TreeBuilder.doctype` handles a doctype " -"declaration" -msgstr "" - -#: ../../whatsnew/3.2.rst:744 -msgid "Two methods have been deprecated:" -msgstr "" - -#: ../../whatsnew/3.2.rst:746 -msgid ":meth:`!xml.etree.ElementTree.getchildren` use ``list(elem)`` instead." -msgstr "" - -#: ../../whatsnew/3.2.rst:747 -msgid "" -":meth:`!xml.etree.ElementTree.getiterator` use ``Element.iter`` instead." -msgstr "" - -#: ../../whatsnew/3.2.rst:749 -msgid "" -"For details of the update, see `Introducing ElementTree " -"`_" -" on Fredrik Lundh's website." -msgstr "" - -#: ../../whatsnew/3.2.rst:753 -msgid "(Contributed by Florent Xicluna and Fredrik Lundh, :issue:`6472`.)" -msgstr "(Kontribusi dari Florent Xicluna dan Fredrik Lundh, :issue:`6472`.)" - -#: ../../whatsnew/3.2.rst:756 -msgid "functools" -msgstr "functools" - -#: ../../whatsnew/3.2.rst:758 -msgid "" -"The :mod:`functools` module includes a new decorator for caching function " -"calls. :func:`functools.lru_cache` can save repeated queries to an external" -" resource whenever the results are expected to be the same." -msgstr "" - -#: ../../whatsnew/3.2.rst:762 -msgid "" -"For example, adding a caching decorator to a database query function can " -"save database accesses for popular searches:" -msgstr "" - -#: ../../whatsnew/3.2.rst:775 -msgid "" -"To help with choosing an effective cache size, the wrapped function is " -"instrumented for tracking cache statistics:" -msgstr "" - -#: ../../whatsnew/3.2.rst:781 -msgid "" -"If the phonelist table gets updated, the outdated contents of the cache can " -"be cleared with:" -msgstr "" - -#: ../../whatsnew/3.2.rst:786 -msgid "" -"(Contributed by Raymond Hettinger and incorporating design ideas from Jim " -"Baker, Miki Tebeka, and Nick Coghlan; see `recipe 498245 " -"`_\\, `recipe 577479 " -"`_\\," -" :issue:`10586`, and :issue:`10593`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:792 -msgid "" -"The :func:`functools.wraps` decorator now adds a :attr:`__wrapped__` " -"attribute pointing to the original callable function. This allows wrapped " -"functions to be introspected. It also copies " -":attr:`~function.__annotations__` if defined. And now it also gracefully " -"skips over missing attributes such as :attr:`~function.__doc__` which might " -"not be defined for the wrapped callable." -msgstr "" - -#: ../../whatsnew/3.2.rst:799 -msgid "" -"In the above example, the cache can be removed by recovering the original " -"function:" -msgstr "" - -#: ../../whatsnew/3.2.rst:804 -msgid "" -"(By Nick Coghlan and Terrence Cole; :issue:`9567`, :issue:`3445`, and " -":issue:`8814`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:807 -msgid "" -"To help write classes with rich comparison methods, a new decorator " -":func:`functools.total_ordering` will use existing equality and inequality " -"methods to fill in the remaining methods." -msgstr "" - -#: ../../whatsnew/3.2.rst:811 -msgid "" -"For example, supplying *__eq__* and *__lt__* will enable " -":func:`~functools.total_ordering` to fill-in *__le__*, *__gt__* and " -"*__ge__*::" -msgstr "" - -#: ../../whatsnew/3.2.rst:814 -msgid "" -"@total_ordering\n" -"class Student:\n" -" def __eq__(self, other):\n" -" return ((self.lastname.lower(), self.firstname.lower()) ==\n" -" (other.lastname.lower(), other.firstname.lower()))\n" -"\n" -" def __lt__(self, other):\n" -" return ((self.lastname.lower(), self.firstname.lower()) <\n" -" (other.lastname.lower(), other.firstname.lower()))" -msgstr "" - -#: ../../whatsnew/3.2.rst:824 -msgid "" -"With the *total_ordering* decorator, the remaining comparison methods are " -"filled in automatically." -msgstr "" - -#: ../../whatsnew/3.2.rst:827 ../../whatsnew/3.2.rst:839 -#: ../../whatsnew/3.2.rst:883 ../../whatsnew/3.2.rst:904 -#: ../../whatsnew/3.2.rst:918 ../../whatsnew/3.2.rst:1788 -#: ../../whatsnew/3.2.rst:1832 -msgid "(Contributed by Raymond Hettinger.)" -msgstr "(Kontribusi dari Raymond Hettinger.)" - -#: ../../whatsnew/3.2.rst:829 -msgid "" -"To aid in porting programs from Python 2, the :func:`functools.cmp_to_key` " -"function converts an old-style comparison function to modern :term:`key " -"function`:" -msgstr "" - -#: ../../whatsnew/3.2.rst:836 -msgid "" -"For sorting examples and a brief sorting tutorial, see the `Sorting HowTo " -"`_ tutorial." -msgstr "" - -#: ../../whatsnew/3.2.rst:842 -msgid "itertools" -msgstr "itertools" - -#: ../../whatsnew/3.2.rst:844 -msgid "" -"The :mod:`itertools` module has a new :func:`~itertools.accumulate` function" -" modeled on APL's *scan* operator and Numpy's *accumulate* function:" -msgstr "" - -#: ../../whatsnew/3.2.rst:855 -msgid "" -"For an example using :func:`~itertools.accumulate`, see the :ref:`examples " -"for the random module `." -msgstr "" - -#: ../../whatsnew/3.2.rst:858 -msgid "" -"(Contributed by Raymond Hettinger and incorporating design suggestions from " -"Mark Dickinson.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:862 -msgid "collections" -msgstr "collections" - -#: ../../whatsnew/3.2.rst:864 -msgid "" -"The :class:`collections.Counter` class now has two forms of in-place " -"subtraction, the existing *-=* operator for `saturating subtraction " -"`_ and the new " -":meth:`~collections.Counter.subtract` method for regular subtraction. The " -"former is suitable for `multisets `_" -" which only have positive counts, and the latter is more suitable for use " -"cases that allow negative counts:" -msgstr "" - -#: ../../whatsnew/3.2.rst:885 -msgid "" -"The :class:`collections.OrderedDict` class has a new method " -":meth:`~collections.OrderedDict.move_to_end` which takes an existing key and" -" moves it to either the first or last position in the ordered sequence." -msgstr "" - -#: ../../whatsnew/3.2.rst:889 -msgid "" -"The default is to move an item to the last position. This is equivalent of " -"renewing an entry with ``od[k] = od.pop(k)``." -msgstr "" - -#: ../../whatsnew/3.2.rst:892 -msgid "" -"A fast move-to-end operation is useful for resequencing entries. For " -"example, an ordered dictionary can be used to track order of access by aging" -" entries from the oldest to the most recently accessed." -msgstr "" - -#: ../../whatsnew/3.2.rst:906 -msgid "" -"The :class:`collections.deque` class grew two new methods " -":meth:`~collections.deque.count` and :meth:`~collections.deque.reverse` that" -" make them more substitutable for :class:`list` objects:" -msgstr "" - -#: ../../whatsnew/3.2.rst:921 -msgid "threading" -msgstr "threading" - -#: ../../whatsnew/3.2.rst:923 -msgid "" -"The :mod:`threading` module has a new :class:`~threading.Barrier` " -"synchronization class for making multiple threads wait until all of them " -"have reached a common barrier point. Barriers are useful for making sure " -"that a task with multiple preconditions does not run until all of the " -"predecessor tasks are complete." -msgstr "" - -#: ../../whatsnew/3.2.rst:929 -msgid "" -"Barriers can work with an arbitrary number of threads. This is a " -"generalization of a `Rendezvous " -"`_ which is defined " -"for only two threads." -msgstr "" - -#: ../../whatsnew/3.2.rst:933 -msgid "" -"Implemented as a two-phase cyclic barrier, :class:`~threading.Barrier` " -"objects are suitable for use in loops. The separate *filling* and " -"*draining* phases assure that all threads get released (drained) before any " -"one of them can loop back and re-enter the barrier. The barrier fully " -"resets after each cycle." -msgstr "" - -#: ../../whatsnew/3.2.rst:938 -msgid "Example of using barriers::" -msgstr "" - -#: ../../whatsnew/3.2.rst:940 -msgid "" -"from threading import Barrier, Thread\n" -"\n" -"def get_votes(site):\n" -" ballots = conduct_election(site)\n" -" all_polls_closed.wait() # do not count until all polls are closed\n" -" totals = summarize(ballots)\n" -" publish(site, totals)\n" -"\n" -"all_polls_closed = Barrier(len(sites))\n" -"for site in sites:\n" -" Thread(target=get_votes, args=(site,)).start()" -msgstr "" - -#: ../../whatsnew/3.2.rst:952 -msgid "" -"In this example, the barrier enforces a rule that votes cannot be counted at" -" any polling site until all polls are closed. Notice how a solution with a " -"barrier is similar to one with :meth:`threading.Thread.join`, but the " -"threads stay alive and continue to do work (summarizing ballots) after the " -"barrier point is crossed." -msgstr "" - -#: ../../whatsnew/3.2.rst:958 -msgid "" -"If any of the predecessor tasks can hang or be delayed, a barrier can be " -"created with an optional *timeout* parameter. Then if the timeout period " -"elapses before all the predecessor tasks reach the barrier point, all " -"waiting threads are released and a :exc:`~threading.BrokenBarrierError` " -"exception is raised::" -msgstr "" - -#: ../../whatsnew/3.2.rst:963 -msgid "" -"def get_votes(site):\n" -" ballots = conduct_election(site)\n" -" try:\n" -" all_polls_closed.wait(timeout=midnight - time.now())\n" -" except BrokenBarrierError:\n" -" lockbox = seal_ballots(ballots)\n" -" queue.put(lockbox)\n" -" else:\n" -" totals = summarize(ballots)\n" -" publish(site, totals)" -msgstr "" - -#: ../../whatsnew/3.2.rst:974 -msgid "" -"In this example, the barrier enforces a more robust rule. If some election " -"sites do not finish before midnight, the barrier times-out and the ballots " -"are sealed and deposited in a queue for later handling." -msgstr "" - -#: ../../whatsnew/3.2.rst:978 -msgid "" -"See `Barrier Synchronization Patterns " -"`_" -" for more examples of how barriers can be used in parallel computing. Also," -" there is a simple but thorough explanation of barriers in `The Little Book " -"of Semaphores " -"`_, " -"*section 3.6*." -msgstr "" - -#: ../../whatsnew/3.2.rst:984 -msgid "" -"(Contributed by Kristján Valur Jónsson with an API review by Jeffrey Yasskin" -" in :issue:`8777`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:988 -msgid "datetime and time" -msgstr "" - -#: ../../whatsnew/3.2.rst:990 -msgid "" -"The :mod:`datetime` module has a new type :class:`~datetime.timezone` that " -"implements the :class:`~datetime.tzinfo` interface by returning a fixed UTC " -"offset and timezone name. This makes it easier to create timezone-aware " -"datetime objects::" -msgstr "" - -#: ../../whatsnew/3.2.rst:995 -msgid "" -">>> from datetime import datetime, timezone\n" -"\n" -">>> datetime.now(timezone.utc)\n" -"datetime.datetime(2010, 12, 8, 21, 4, 2, 923754, tzinfo=datetime.timezone.utc)\n" -"\n" -">>> datetime.strptime(\"01/01/2000 12:00 +0000\", \"%m/%d/%Y %H:%M %z\")\n" -"datetime.datetime(2000, 1, 1, 12, 0, tzinfo=datetime.timezone.utc)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1003 -msgid "" -"Also, :class:`~datetime.timedelta` objects can now be multiplied by " -":class:`float` and divided by :class:`float` and :class:`int` objects. And " -":class:`~datetime.timedelta` objects can now divide one another." -msgstr "" - -#: ../../whatsnew/3.2.rst:1007 -msgid "" -"The :meth:`datetime.date.strftime` method is no longer restricted to years " -"after 1900. The new supported year range is from 1000 to 9999 inclusive." -msgstr "" - -#: ../../whatsnew/3.2.rst:1010 -msgid "" -"Whenever a two-digit year is used in a time tuple, the interpretation has " -"been governed by :data:`!time.accept2dyear`. The default is ``True`` which " -"means that for a two-digit year, the century is guessed according to the " -"POSIX rules governing the ``%y`` strptime format." -msgstr "" - -#: ../../whatsnew/3.2.rst:1015 -msgid "" -"Starting with Py3.2, use of the century guessing heuristic will emit a " -":exc:`DeprecationWarning`. Instead, it is recommended that " -":data:`!time.accept2dyear` be set to ``False`` so that large date ranges can" -" be used without guesswork::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1020 -msgid "" -">>> import time, warnings\n" -">>> warnings.resetwarnings() # remove the default warning filters\n" -"\n" -">>> time.accept2dyear = True # guess whether 11 means 11 or 2011\n" -">>> time.asctime((11, 1, 1, 12, 34, 56, 4, 1, 0))\n" -"Warning (from warnings module):\n" -" ...\n" -"DeprecationWarning: Century info guessed for a 2-digit year.\n" -"'Fri Jan 1 12:34:56 2011'\n" -"\n" -">>> time.accept2dyear = False # use the full range of allowable dates\n" -">>> time.asctime((11, 1, 1, 12, 34, 56, 4, 1, 0))\n" -"'Fri Jan 1 12:34:56 11'" -msgstr "" - -#: ../../whatsnew/3.2.rst:1034 -msgid "" -"Several functions now have significantly expanded date ranges. When " -":data:`!time.accept2dyear` is false, the :func:`time.asctime` function will " -"accept any year that fits in a C int, while the :func:`time.mktime` and " -":func:`time.strftime` functions will accept the full range supported by the " -"corresponding operating system functions." -msgstr "" - -#: ../../whatsnew/3.2.rst:1040 -msgid "" -"(Contributed by Alexander Belopolsky and Victor Stinner in :issue:`1289118`," -" :issue:`5094`, :issue:`6641`, :issue:`2706`, :issue:`1777412`, " -":issue:`8013`, and :issue:`10827`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1047 -msgid "math" -msgstr "math" - -#: ../../whatsnew/3.2.rst:1049 -msgid "" -"The :mod:`math` module has been updated with six new functions inspired by " -"the C99 standard." -msgstr "" - -#: ../../whatsnew/3.2.rst:1052 -msgid "" -"The :func:`~math.isfinite` function provides a reliable and fast way to " -"detect special values. It returns ``True`` for regular numbers and " -"``False`` for *Nan* or *Infinity*:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1060 -msgid "" -"The :func:`~math.expm1` function computes ``e**x-1`` for small values of *x*" -" without incurring the loss of precision that usually accompanies the " -"subtraction of nearly equal quantities:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1068 -msgid "" -"The :func:`~math.erf` function computes a probability integral or `Gaussian " -"error function `_. The " -"complementary error function, :func:`~math.erfc`, is ``1 - erf(x)``:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1072 -msgid "" -">>> from math import erf, erfc, sqrt\n" -">>> erf(1.0/sqrt(2.0)) # portion of normal distribution within 1 standard deviation\n" -"0.682689492137086\n" -">>> erfc(1.0/sqrt(2.0)) # portion of normal distribution outside 1 standard deviation\n" -"0.31731050786291404\n" -">>> erf(1.0/sqrt(2.0)) + erfc(1.0/sqrt(2.0))\n" -"1.0" -msgstr "" - -#: ../../whatsnew/3.2.rst:1083 -msgid "" -"The :func:`~math.gamma` function is a continuous extension of the factorial " -"function. See https://en.wikipedia.org/wiki/Gamma_function for details. " -"Because the function is related to factorials, it grows large even for small" -" values of *x*, so there is also a :func:`~math.lgamma` function for " -"computing the natural logarithm of the gamma function:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1095 -msgid "(Contributed by Mark Dickinson.)" -msgstr "(Kontribusi dari Mark Dickinson.)" - -#: ../../whatsnew/3.2.rst:1098 -msgid "abc" -msgstr "abc" - -#: ../../whatsnew/3.2.rst:1100 -msgid "" -"The :mod:`abc` module now supports :func:`~abc.abstractclassmethod` and " -":func:`~abc.abstractstaticmethod`." -msgstr "" - -#: ../../whatsnew/3.2.rst:1103 -msgid "" -"These tools make it possible to define an :term:`abstract base class` that " -"requires a particular :func:`classmethod` or :func:`staticmethod` to be " -"implemented::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1107 -msgid "" -"class Temperature(metaclass=abc.ABCMeta):\n" -" @abc.abstractclassmethod\n" -" def from_fahrenheit(cls, t):\n" -" ...\n" -" @abc.abstractclassmethod\n" -" def from_celsius(cls, t):\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.2.rst:1115 -msgid "(Patch submitted by Daniel Urban; :issue:`5867`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1118 -msgid "io" -msgstr "io" - -#: ../../whatsnew/3.2.rst:1120 -msgid "" -"The :class:`io.BytesIO` has a new method, :meth:`~io.BytesIO.getbuffer`, " -"which provides functionality similar to :func:`memoryview`. It creates an " -"editable view of the data without making a copy. The buffer's random access" -" and support for slice notation are well-suited to in-place editing::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1125 -msgid "" -">>> REC_LEN, LOC_START, LOC_LEN = 34, 7, 11\n" -"\n" -">>> def change_location(buffer, record_number, location):\n" -"... start = record_number * REC_LEN + LOC_START\n" -"... buffer[start: start+LOC_LEN] = location\n" -"\n" -">>> import io\n" -"\n" -">>> byte_stream = io.BytesIO(\n" -"... b'G3805 storeroom Main chassis '\n" -"... b'X7899 shipping Reserve cog '\n" -"... b'L6988 receiving Primary sprocket'\n" -"... )\n" -">>> buffer = byte_stream.getbuffer()\n" -">>> change_location(buffer, 1, b'warehouse ')\n" -">>> change_location(buffer, 0, b'showroom ')\n" -">>> print(byte_stream.getvalue())\n" -"b'G3805 showroom Main chassis '\n" -"b'X7899 warehouse Reserve cog '\n" -"b'L6988 receiving Primary sprocket'" -msgstr "" - -#: ../../whatsnew/3.2.rst:1146 -msgid "(Contributed by Antoine Pitrou in :issue:`5506`.)" -msgstr "(Kontribusi dari Antoine Pitrou di :issue:`5506`.)" - -#: ../../whatsnew/3.2.rst:1149 -msgid "reprlib" -msgstr "reprlib" - -#: ../../whatsnew/3.2.rst:1151 -msgid "" -"When writing a :meth:`~object.__repr__` method for a custom container, it is" -" easy to forget to handle the case where a member refers back to the " -"container itself. Python's builtin objects such as :class:`list` and " -":class:`set` handle self-reference by displaying \"...\" in the recursive " -"part of the representation string." -msgstr "" - -#: ../../whatsnew/3.2.rst:1157 -msgid "" -"To help write such :meth:`~object.__repr__` methods, the :mod:`reprlib` " -"module has a new decorator, :func:`~reprlib.recursive_repr`, for detecting " -"recursive calls to :meth:`!__repr__` and substituting a placeholder string " -"instead::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1161 -msgid "" -">>> class MyList(list):\n" -"... @recursive_repr()\n" -"... def __repr__(self):\n" -"... return '<' + '|'.join(map(repr, self)) + '>'\n" -"...\n" -">>> m = MyList('abc')\n" -">>> m.append(m)\n" -">>> m.append('x')\n" -">>> print(m)\n" -"<'a'|'b'|'c'|...|'x'>" -msgstr "" - -#: ../../whatsnew/3.2.rst:1172 -msgid "(Contributed by Raymond Hettinger in :issue:`9826` and :issue:`9840`.)" -msgstr "" -"(Kontribusi dari Raymond Hettinger di :issue:`9826` and :issue:`9840`.)" - -#: ../../whatsnew/3.2.rst:1175 -msgid "logging" -msgstr "logging" - -#: ../../whatsnew/3.2.rst:1177 -msgid "" -"In addition to dictionary-based configuration described above, the " -":mod:`logging` package has many other improvements." -msgstr "" - -#: ../../whatsnew/3.2.rst:1180 -msgid "" -"The logging documentation has been augmented by a :ref:`basic tutorial " -"`\\, an :ref:`advanced tutorial `\\, and a :ref:`cookbook ` of logging recipes. " -"These documents are the fastest way to learn about logging." -msgstr "" - -#: ../../whatsnew/3.2.rst:1185 -msgid "" -"The :func:`logging.basicConfig` set-up function gained a *style* argument to" -" support three different types of string formatting. It defaults to \"%\" " -"for traditional %-formatting, can be set to \"{\" for the new " -":meth:`str.format` style, or can be set to \"$\" for the shell-style " -"formatting provided by :class:`string.Template`. The following three " -"configurations are equivalent::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1191 -msgid "" -">>> from logging import basicConfig\n" -">>> basicConfig(style='%', format=\"%(name)s -> %(levelname)s: %(message)s\")\n" -">>> basicConfig(style='{', format=\"{name} -> {levelname} {message}\")\n" -">>> basicConfig(style='$', format=\"$name -> $levelname: $message\")" -msgstr "" - -#: ../../whatsnew/3.2.rst:1196 -msgid "" -"If no configuration is set-up before a logging event occurs, there is now a " -"default configuration using a :class:`~logging.StreamHandler` directed to " -":data:`sys.stderr` for events of ``WARNING`` level or higher. Formerly, an " -"event occurring before a configuration was set-up would either raise an " -"exception or silently drop the event depending on the value of " -":data:`logging.raiseExceptions`. The new default handler is stored in " -":data:`logging.lastResort`." -msgstr "" - -#: ../../whatsnew/3.2.rst:1204 -msgid "" -"The use of filters has been simplified. Instead of creating a " -":class:`~logging.Filter` object, the predicate can be any Python callable " -"that returns ``True`` or ``False``." -msgstr "" - -#: ../../whatsnew/3.2.rst:1208 -msgid "" -"There were a number of other improvements that add flexibility and simplify " -"configuration. See the module documentation for a full listing of changes " -"in Python 3.2." -msgstr "" - -#: ../../whatsnew/3.2.rst:1213 -msgid "csv" -msgstr "csv" - -#: ../../whatsnew/3.2.rst:1215 -msgid "" -"The :mod:`csv` module now supports a new dialect, " -":class:`~csv.unix_dialect`, which applies quoting for all fields and a " -"traditional Unix style with ``'\\n'`` as the line terminator. The " -"registered dialect name is ``unix``." -msgstr "" - -#: ../../whatsnew/3.2.rst:1219 -msgid "" -"The :class:`csv.DictWriter` has a new method, " -":meth:`~csv.DictWriter.writeheader` for writing-out an initial row to " -"document the field names::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1223 -msgid "" -">>> import csv, sys\n" -">>> w = csv.DictWriter(sys.stdout, ['name', 'dept'], dialect='unix')\n" -">>> w.writeheader()\n" -"\"name\",\"dept\"\n" -">>> w.writerows([\n" -"... {'name': 'tom', 'dept': 'accounting'},\n" -"... {'name': 'susan', 'dept': 'Salesl'}])\n" -"\"tom\",\"accounting\"\n" -"\"susan\",\"sales\"" -msgstr "" - -#: ../../whatsnew/3.2.rst:1233 -msgid "" -"(New dialect suggested by Jay Talbot in :issue:`5975`, and the new method " -"suggested by Ed Abraham in :issue:`1537721`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1237 -msgid "contextlib" -msgstr "contextlib" - -#: ../../whatsnew/3.2.rst:1239 -msgid "" -"There is a new and slightly mind-blowing tool " -":class:`~contextlib.ContextDecorator` that is helpful for creating a " -":term:`context manager` that does double duty as a function decorator." -msgstr "" - -#: ../../whatsnew/3.2.rst:1243 -msgid "" -"As a convenience, this new functionality is used by " -":func:`~contextlib.contextmanager` so that no extra effort is needed to " -"support both roles." -msgstr "" - -#: ../../whatsnew/3.2.rst:1247 -msgid "" -"The basic idea is that both context managers and function decorators can be " -"used for pre-action and post-action wrappers. Context managers wrap a group" -" of statements using a :keyword:`with` statement, and function decorators " -"wrap a group of statements enclosed in a function. So, occasionally there " -"is a need to write a pre-action or post-action wrapper that can be used in " -"either role." -msgstr "" - -#: ../../whatsnew/3.2.rst:1253 -msgid "" -"For example, it is sometimes useful to wrap functions or groups of " -"statements with a logger that can track the time of entry and time of exit." -" Rather than writing both a function decorator and a context manager for " -"the task, the :func:`~contextlib.contextmanager` provides both capabilities " -"in a single definition::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1259 -msgid "" -"from contextlib import contextmanager\n" -"import logging\n" -"\n" -"logging.basicConfig(level=logging.INFO)\n" -"\n" -"@contextmanager\n" -"def track_entry_and_exit(name):\n" -" logging.info('Entering: %s', name)\n" -" yield\n" -" logging.info('Exiting: %s', name)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1270 -msgid "Formerly, this would have only been usable as a context manager::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1272 -msgid "" -"with track_entry_and_exit('widget loader'):\n" -" print('Some time consuming activity goes here')\n" -" load_widget()" -msgstr "" - -#: ../../whatsnew/3.2.rst:1276 -msgid "Now, it can be used as a decorator as well::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1278 -msgid "" -"@track_entry_and_exit('widget loader')\n" -"def activity():\n" -" print('Some time consuming activity goes here')\n" -" load_widget()" -msgstr "" - -#: ../../whatsnew/3.2.rst:1283 -msgid "" -"Trying to fulfill two roles at once places some limitations on the " -"technique. Context managers normally have the flexibility to return an " -"argument usable by a :keyword:`with` statement, but there is no parallel for" -" function decorators." -msgstr "" - -#: ../../whatsnew/3.2.rst:1287 -msgid "" -"In the above example, there is not a clean way for the " -"*track_entry_and_exit* context manager to return a logging instance for use " -"in the body of enclosed statements." -msgstr "" - -#: ../../whatsnew/3.2.rst:1291 -msgid "(Contributed by Michael Foord in :issue:`9110`.)" -msgstr "(Kontribusi dari Michael Foord di :issue:`9110`.)" - -#: ../../whatsnew/3.2.rst:1294 -msgid "decimal and fractions" -msgstr "" - -#: ../../whatsnew/3.2.rst:1296 -msgid "" -"Mark Dickinson crafted an elegant and efficient scheme for assuring that " -"different numeric datatypes will have the same hash value whenever their " -"actual values are equal (:issue:`8188`)::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1300 -msgid "" -"assert hash(Fraction(3, 2)) == hash(1.5) == \\\n" -" hash(Decimal(\"1.5\")) == hash(complex(1.5, 0))" -msgstr "" - -#: ../../whatsnew/3.2.rst:1303 -msgid "" -"Some of the hashing details are exposed through a new attribute, " -":data:`sys.hash_info`, which describes the bit width of the hash value, the " -"prime modulus, the hash values for *infinity* and *nan*, and the multiplier " -"used for the imaginary part of a number:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1311 -msgid "" -"An early decision to limit the interoperability of various numeric types has" -" been relaxed. It is still unsupported (and ill-advised) to have implicit " -"mixing in arithmetic expressions such as ``Decimal('1.1') + float('1.1')`` " -"because the latter loses information in the process of constructing the " -"binary float. However, since existing floating-point value can be converted" -" losslessly to either a decimal or rational representation, it makes sense " -"to add them to the constructor and to support mixed-type comparisons." -msgstr "" - -#: ../../whatsnew/3.2.rst:1319 -msgid "" -"The :class:`decimal.Decimal` constructor now accepts :class:`float` objects " -"directly so there in no longer a need to use the " -":meth:`~decimal.Decimal.from_float` method (:issue:`8257`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:1323 -msgid "" -"Mixed type comparisons are now fully supported so that " -":class:`~decimal.Decimal` objects can be directly compared with " -":class:`float` and :class:`fractions.Fraction` (:issue:`2531` and " -":issue:`8188`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:1327 -msgid "" -"Similar changes were made to :class:`fractions.Fraction` so that the " -":meth:`~fractions.Fraction.from_float` and " -":meth:`~fractions.Fraction.from_decimal` methods are no longer needed " -"(:issue:`8294`):" -msgstr "" - -#: ../../whatsnew/3.2.rst:1338 -msgid "" -"Another useful change for the :mod:`decimal` module is that the " -":attr:`Context.clamp ` attribute is now public. This" -" is useful in creating contexts that correspond to the decimal interchange " -"formats specified in IEEE 754 (see :issue:`8540`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:1343 -msgid "(Contributed by Mark Dickinson and Raymond Hettinger.)" -msgstr "(Kontribusi dari Mark Dickinson dan Raymond Hettinger.)" - -#: ../../whatsnew/3.2.rst:1346 -msgid "ftp" -msgstr "ftp" - -#: ../../whatsnew/3.2.rst:1348 -msgid "" -"The :class:`ftplib.FTP` class now supports the context management protocol " -"to unconditionally consume :exc:`socket.error` exceptions and to close the " -"FTP connection when done::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1352 -msgid "" -">>> from ftplib import FTP\n" -">>> with FTP(\"ftp1.at.proftpd.org\") as ftp:\n" -" ftp.login()\n" -" ftp.dir()\n" -"\n" -"'230 Anonymous login ok, restrictions apply.'\n" -"dr-xr-xr-x 9 ftp ftp 154 May 6 10:43 .\n" -"dr-xr-xr-x 9 ftp ftp 154 May 6 10:43 ..\n" -"dr-xr-xr-x 5 ftp ftp 4096 May 6 10:43 CentOS\n" -"dr-xr-xr-x 3 ftp ftp 18 Jul 10 2008 Fedora" -msgstr "" - -#: ../../whatsnew/3.2.rst:1363 -msgid "" -"Other file-like objects such as :class:`mmap.mmap` and " -":func:`fileinput.input` also grew auto-closing context managers::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1366 -msgid "" -"with fileinput.input(files=('log1.txt', 'log2.txt')) as f:\n" -" for line in f:\n" -" process(line)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1370 -msgid "" -"(Contributed by Tarek Ziadé and Giampaolo Rodolà in :issue:`4972`, and by " -"Georg Brandl in :issue:`8046` and :issue:`1286`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1373 -msgid "" -"The :class:`~ftplib.FTP_TLS` class now accepts a *context* parameter, which " -"is a :class:`ssl.SSLContext` object allowing bundling SSL configuration " -"options, certificates and private keys into a single (potentially long-" -"lived) structure." -msgstr "" - -#: ../../whatsnew/3.2.rst:1377 -msgid "(Contributed by Giampaolo Rodolà; :issue:`8806`.)" -msgstr "(Kontribusi dari Giampaolo Rodolà; :issue:`8806`.)" - -#: ../../whatsnew/3.2.rst:1380 -msgid "popen" -msgstr "" - -#: ../../whatsnew/3.2.rst:1382 -msgid "" -"The :func:`os.popen` and :func:`subprocess.Popen` functions now support " -":keyword:`with` statements for auto-closing of the file descriptors." -msgstr "" - -#: ../../whatsnew/3.2.rst:1385 -msgid "" -"(Contributed by Antoine Pitrou and Brian Curtin in :issue:`7461` and " -":issue:`10554`.)" -msgstr "" -"(Kontribusi dari Antoine Pitrou dan Brian Curtin di :issue:`7461` dan " -":issue:`10554`.)" - -#: ../../whatsnew/3.2.rst:1389 -msgid "select" -msgstr "" - -#: ../../whatsnew/3.2.rst:1391 -msgid "" -"The :mod:`select` module now exposes a new, constant attribute, " -":const:`~select.PIPE_BUF`, which gives the minimum number of bytes which are" -" guaranteed not to block when :func:`select.select` says a pipe is ready for" -" writing." -msgstr "" - -#: ../../whatsnew/3.2.rst:1400 -msgid "(Available on Unix systems. Patch by Sébastien Sablé in :issue:`9862`)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1403 -msgid "gzip and zipfile" -msgstr "" - -#: ../../whatsnew/3.2.rst:1405 -msgid "" -":class:`gzip.GzipFile` now implements the :class:`io.BufferedIOBase` " -":term:`abstract base class` (except for ``truncate()``). It also has a " -":meth:`~gzip.GzipFile.peek` method and supports unseekable as well as zero-" -"padded file objects." -msgstr "" - -#: ../../whatsnew/3.2.rst:1410 -msgid "" -"The :mod:`gzip` module also gains the :func:`~gzip.compress` and " -":func:`~gzip.decompress` functions for easier in-memory compression and " -"decompression. Keep in mind that text needs to be encoded as :class:`bytes`" -" before compressing and decompressing:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1427 -msgid "" -"(Contributed by Anand B. Pillai in :issue:`3488`; and by Antoine Pitrou, Nir" -" Aides and Brian Curtin in :issue:`9962`, :issue:`1675951`, :issue:`7471` " -"and :issue:`2846`.)" -msgstr "" -"(Kontribusi dari Anand B. Pillai di :issue:`3488`; dan dari Antoine Pitrou, " -"Nir Aides dan Brian Curtin di :issue:`9962`, :issue:`1675951`, :issue:`7471`" -" dan :issue:`2846`.)" - -#: ../../whatsnew/3.2.rst:1431 -msgid "" -"Also, the :class:`zipfile.ZipExtFile ` class was " -"reworked internally to represent files stored inside an archive. The new " -"implementation is significantly faster and can be wrapped in an " -":class:`io.BufferedReader` object for more speedups. It also solves an " -"issue where interleaved calls to *read* and *readline* gave the wrong " -"results." -msgstr "" - -#: ../../whatsnew/3.2.rst:1437 -msgid "(Patch submitted by Nir Aides in :issue:`7610`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1440 -msgid "tarfile" -msgstr "tarfile" - -#: ../../whatsnew/3.2.rst:1442 -msgid "" -"The :class:`~tarfile.TarFile` class can now be used as a context manager. " -"In addition, its :meth:`~tarfile.TarFile.add` method has a new option, " -"*filter*, that controls which files are added to the archive and allows the " -"file metadata to be edited." -msgstr "" - -#: ../../whatsnew/3.2.rst:1447 -msgid "" -"The new *filter* option replaces the older, less flexible *exclude* " -"parameter which is now deprecated. If specified, the optional *filter* " -"parameter needs to be a :term:`keyword argument`. The user-supplied filter " -"function accepts a :class:`~tarfile.TarInfo` object and returns an updated " -":class:`~tarfile.TarInfo` object, or if it wants the file to be excluded, " -"the function can return ``None``::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1454 -msgid "" -">>> import tarfile, glob\n" -"\n" -">>> def myfilter(tarinfo):\n" -"... if tarinfo.isfile(): # only save real files\n" -"... tarinfo.uname = 'monty' # redact the user name\n" -"... return tarinfo\n" -"\n" -">>> with tarfile.open(name='myarchive.tar.gz', mode='w:gz') as tf:\n" -"... for filename in glob.glob('*.txt'):\n" -"... tf.add(filename, filter=myfilter)\n" -"... tf.list()\n" -"-rw-r--r-- monty/501 902 2011-01-26 17:59:11 annotations.txt\n" -"-rw-r--r-- monty/501 123 2011-01-26 17:59:11 general_questions.txt\n" -"-rw-r--r-- monty/501 3514 2011-01-26 17:59:11 prion.txt\n" -"-rw-r--r-- monty/501 124 2011-01-26 17:59:11 py_todo.txt\n" -"-rw-r--r-- monty/501 1399 2011-01-26 17:59:11 semaphore_notes.txt" -msgstr "" - -#: ../../whatsnew/3.2.rst:1471 -msgid "" -"(Proposed by Tarek Ziadé and implemented by Lars Gustäbel in :issue:`6856`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1474 -msgid "hashlib" -msgstr "" - -#: ../../whatsnew/3.2.rst:1476 -msgid "" -"The :mod:`hashlib` module has two new constant attributes listing the " -"hashing algorithms guaranteed to be present in all implementations and those" -" available on the current implementation::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1480 -msgid "" -">>> import hashlib\n" -"\n" -">>> hashlib.algorithms_guaranteed\n" -"{'sha1', 'sha224', 'sha384', 'sha256', 'sha512', 'md5'}\n" -"\n" -">>> hashlib.algorithms_available\n" -"{'md2', 'SHA256', 'SHA512', 'dsaWithSHA', 'mdc2', 'SHA224', 'MD4', 'sha256',\n" -"'sha512', 'ripemd160', 'SHA1', 'MDC2', 'SHA', 'SHA384', 'MD2',\n" -"'ecdsa-with-SHA1','md4', 'md5', 'sha1', 'DSA-SHA', 'sha224',\n" -"'dsaEncryption', 'DSA', 'RIPEMD160', 'sha', 'MD5', 'sha384'}" -msgstr "" - -#: ../../whatsnew/3.2.rst:1491 -msgid "(Suggested by Carl Chenet in :issue:`7418`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1494 -msgid "ast" -msgstr "ast" - -#: ../../whatsnew/3.2.rst:1496 -msgid "" -"The :mod:`ast` module has a wonderful a general-purpose tool for safely " -"evaluating expression strings using the Python literal syntax. The " -":func:`ast.literal_eval` function serves as a secure alternative to the " -"builtin :func:`eval` function which is easily abused. Python 3.2 adds " -":class:`bytes` and :class:`set` literals to the list of supported types: " -"strings, bytes, numbers, tuples, lists, dicts, sets, booleans, and ``None``." -msgstr "" - -#: ../../whatsnew/3.2.rst:1505 -msgid "" -">>> from ast import literal_eval\n" -"\n" -">>> request = \"{'req': 3, 'func': 'pow', 'args': (2, 0.5)}\"\n" -">>> literal_eval(request)\n" -"{'args': (2, 0.5), 'req': 3, 'func': 'pow'}\n" -"\n" -">>> request = \"os.system('do something harmful')\"\n" -">>> literal_eval(request)\n" -"Traceback (most recent call last):\n" -" ...\n" -"ValueError: malformed node or string: <_ast.Call object at 0x101739a10>" -msgstr "" - -#: ../../whatsnew/3.2.rst:1517 -msgid "(Implemented by Benjamin Peterson and Georg Brandl.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1520 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.2.rst:1522 -msgid "" -"Different operating systems use various encodings for filenames and " -"environment variables. The :mod:`os` module provides two new functions, " -":func:`~os.fsencode` and :func:`~os.fsdecode`, for encoding and decoding " -"filenames:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1532 -msgid "" -"Some operating systems allow direct access to encoded bytes in the " -"environment. If so, the :const:`os.supports_bytes_environ` constant will be" -" true." -msgstr "" - -#: ../../whatsnew/3.2.rst:1536 -msgid "" -"For direct access to encoded environment variables (if available), use the " -"new :func:`os.getenvb` function or use :data:`os.environb` which is a bytes " -"version of :data:`os.environ`." -msgstr "" - -#: ../../whatsnew/3.2.rst:1540 -msgid "(Contributed by Victor Stinner.)" -msgstr "(Kontribusi dari Victor Stinner.)" - -#: ../../whatsnew/3.2.rst:1543 -msgid "shutil" -msgstr "shutil" - -#: ../../whatsnew/3.2.rst:1545 -msgid "The :func:`shutil.copytree` function has two new options:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1547 -msgid "" -"*ignore_dangling_symlinks*: when ``symlinks=False`` so that the function " -"copies a file pointed to by a symlink, not the symlink itself. This option " -"will silence the error raised if the file doesn't exist." -msgstr "" - -#: ../../whatsnew/3.2.rst:1551 -msgid "" -"*copy_function*: is a callable that will be used to copy files. " -":func:`shutil.copy2` is used by default." -msgstr "" - -#: ../../whatsnew/3.2.rst:1554 ../../whatsnew/3.2.rst:1592 -msgid "(Contributed by Tarek Ziadé.)" -msgstr "(Kontribusi dari Tarek Ziadé.)" - -#: ../../whatsnew/3.2.rst:1556 -msgid "" -"In addition, the :mod:`shutil` module now supports :ref:`archiving " -"operations ` for zipfiles, uncompressed tarfiles, " -"gzipped tarfiles, and bzipped tarfiles. And there are functions for " -"registering additional archiving file formats (such as xz compressed " -"tarfiles or custom formats)." -msgstr "" - -#: ../../whatsnew/3.2.rst:1561 -msgid "" -"The principal functions are :func:`~shutil.make_archive` and " -":func:`~shutil.unpack_archive`. By default, both operate on the current " -"directory (which can be set by :func:`os.chdir`) and on any sub-directories." -" The archive filename needs to be specified with a full pathname. The " -"archiving step is non-destructive (the original files are left unchanged)." -msgstr "" - -#: ../../whatsnew/3.2.rst:1569 -msgid "" -">>> import shutil, pprint\n" -"\n" -">>> os.chdir('mydata') # change to the source directory\n" -">>> f = shutil.make_archive('/var/backup/mydata',\n" -"... 'zip') # archive the current directory\n" -">>> f # show the name of archive\n" -"'/var/backup/mydata.zip'\n" -">>> os.chdir('tmp') # change to an unpacking\n" -">>> shutil.unpack_archive('/var/backup/mydata.zip') # recover the data\n" -"\n" -">>> pprint.pprint(shutil.get_archive_formats()) # display known formats\n" -"[('bztar', \"bzip2'ed tar-file\"),\n" -" ('gztar', \"gzip'ed tar-file\"),\n" -" ('tar', 'uncompressed tar file'),\n" -" ('zip', 'ZIP file')]\n" -"\n" -">>> shutil.register_archive_format( # register a new archive format\n" -"... name='xz',\n" -"... function=xz.compress, # callable archiving function\n" -"... extra_args=[('level', 8)], # arguments to the function\n" -"... description='xz compression'\n" -"... )" -msgstr "" - -#: ../../whatsnew/3.2.rst:1595 -msgid "sqlite3" -msgstr "sqlite3" - -#: ../../whatsnew/3.2.rst:1597 -msgid "" -"The :mod:`sqlite3` module was updated to pysqlite version 2.6.0. It has two" -" new capabilities." -msgstr "" - -#: ../../whatsnew/3.2.rst:1599 -msgid "" -"The :attr:`!sqlite3.Connection.in_transit` attribute is true if there is an " -"active transaction for uncommitted changes." -msgstr "" - -#: ../../whatsnew/3.2.rst:1602 -msgid "" -"The :meth:`sqlite3.Connection.enable_load_extension` and " -":meth:`sqlite3.Connection.load_extension` methods allows you to load SQLite " -"extensions from \".so\" files. One well-known extension is the fulltext-" -"search extension distributed with SQLite." -msgstr "" - -#: ../../whatsnew/3.2.rst:1607 -msgid "(Contributed by R. David Murray and Shashwat Anand; :issue:`8845`.)" -msgstr "(Kontribusi dari R. David Murray dan Shashwat Anand; :issue:`8845`.)" - -#: ../../whatsnew/3.2.rst:1610 -msgid "html" -msgstr "html" - -#: ../../whatsnew/3.2.rst:1612 -msgid "" -"A new :mod:`html` module was introduced with only a single function, " -":func:`~html.escape`, which is used for escaping reserved characters from " -"HTML markup:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1621 -msgid "socket" -msgstr "socket" - -#: ../../whatsnew/3.2.rst:1623 -msgid "The :mod:`socket` module has two new improvements." -msgstr "" - -#: ../../whatsnew/3.2.rst:1625 -msgid "" -"Socket objects now have a :meth:`~socket.socket.detach` method which puts " -"the socket into closed state without actually closing the underlying file " -"descriptor. The latter can then be reused for other purposes. (Added by " -"Antoine Pitrou; :issue:`8524`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1630 -msgid "" -":func:`socket.create_connection` now supports the context management " -"protocol to unconditionally consume :exc:`socket.error` exceptions and to " -"close the socket when done. (Contributed by Giampaolo Rodolà; " -":issue:`9794`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1636 -msgid "ssl" -msgstr "ssl" - -#: ../../whatsnew/3.2.rst:1638 -msgid "" -"The :mod:`ssl` module added a number of features to satisfy common " -"requirements for secure (encrypted, authenticated) internet connections:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1641 -msgid "" -"A new class, :class:`~ssl.SSLContext`, serves as a container for persistent " -"SSL data, such as protocol settings, certificates, private keys, and various" -" other options. It includes a :meth:`~ssl.SSLContext.wrap_socket` for " -"creating an SSL socket from an SSL context." -msgstr "" - -#: ../../whatsnew/3.2.rst:1646 -msgid "" -"A new function, :func:`!ssl.match_hostname`, supports server identity " -"verification for higher-level protocols by implementing the rules of HTTPS " -"(from :rfc:`2818`) which are also suitable for other protocols." -msgstr "" - -#: ../../whatsnew/3.2.rst:1650 -msgid "" -"The :func:`ssl.wrap_socket() ` constructor " -"function now takes a *ciphers* argument. The *ciphers* string lists the " -"allowed encryption algorithms using the format described in the `OpenSSL " -"documentation `__." -msgstr "" - -#: ../../whatsnew/3.2.rst:1655 -msgid "" -"When linked against recent versions of OpenSSL, the :mod:`ssl` module now " -"supports the Server Name Indication extension to the TLS protocol, allowing " -"multiple \"virtual hosts\" using different certificates on a single IP port." -" This extension is only supported in client mode, and is activated by " -"passing the *server_hostname* argument to " -":meth:`ssl.SSLContext.wrap_socket`." -msgstr "" - -#: ../../whatsnew/3.2.rst:1661 -msgid "" -"Various options have been added to the :mod:`ssl` module, such as " -":data:`~ssl.OP_NO_SSLv2` which disables the insecure and obsolete SSLv2 " -"protocol." -msgstr "" - -#: ../../whatsnew/3.2.rst:1665 -msgid "" -"The extension now loads all the OpenSSL ciphers and digest algorithms. If " -"some SSL certificates cannot be verified, they are reported as an \"unknown " -"algorithm\" error." -msgstr "" - -#: ../../whatsnew/3.2.rst:1669 -msgid "" -"The version of OpenSSL being used is now accessible using the module " -"attributes :const:`ssl.OPENSSL_VERSION` (a string), " -":const:`ssl.OPENSSL_VERSION_INFO` (a 5-tuple), and " -":const:`ssl.OPENSSL_VERSION_NUMBER` (an integer)." -msgstr "" - -#: ../../whatsnew/3.2.rst:1674 -msgid "" -"(Contributed by Antoine Pitrou in :issue:`8850`, :issue:`1589`, " -":issue:`8322`, :issue:`5639`, :issue:`4870`, :issue:`8484`, and " -":issue:`8321`.)" -msgstr "" -"(Kontribusi dari Antoine Pitrou di :issue:`8850`, :issue:`1589`, " -":issue:`8322`, :issue:`5639`, :issue:`4870`, :issue:`8484`, dan " -":issue:`8321`.)" - -#: ../../whatsnew/3.2.rst:1678 -msgid "nntp" -msgstr "nntp" - -#: ../../whatsnew/3.2.rst:1680 -msgid "" -"The :mod:`!nntplib` module has a revamped implementation with better bytes " -"and text semantics as well as more practical APIs. These improvements break" -" compatibility with the nntplib version in Python 3.1, which was partly " -"dysfunctional in itself." -msgstr "" - -#: ../../whatsnew/3.2.rst:1685 -msgid "" -"Support for secure connections through both implicit (using " -":class:`!nntplib.NNTP_SSL`) and explicit (using " -":meth:`!nntplib.NNTP.starttls`) TLS has also been added." -msgstr "" - -#: ../../whatsnew/3.2.rst:1689 -msgid "" -"(Contributed by Antoine Pitrou in :issue:`9360` and Andrew Vant in " -":issue:`1926`.)" -msgstr "" -"(Kontribusi dari Antoine Pitrou di :issue:`9360` dan Andrew Vant di " -":issue:`1926`.)" - -#: ../../whatsnew/3.2.rst:1692 -msgid "certificates" -msgstr "" - -#: ../../whatsnew/3.2.rst:1694 -msgid "" -":class:`http.client.HTTPSConnection`, :class:`urllib.request.HTTPSHandler` " -"and :func:`urllib.request.urlopen` now take optional arguments to allow for " -"server certificate checking against a set of Certificate Authorities, as " -"recommended in public uses of HTTPS." -msgstr "" - -#: ../../whatsnew/3.2.rst:1699 -msgid "(Added by Antoine Pitrou, :issue:`9003`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1702 -msgid "imaplib" -msgstr "" - -#: ../../whatsnew/3.2.rst:1704 -msgid "" -"Support for explicit TLS on standard IMAP4 connections has been added " -"through the new :mod:`imaplib.IMAP4.starttls` method." -msgstr "" - -#: ../../whatsnew/3.2.rst:1707 -msgid "(Contributed by Lorenzo M. Catucci and Antoine Pitrou, :issue:`4471`.)" -msgstr "" -"(Kontribusi dari Lorenzo M. Catucci dan Antoine Pitrou, :issue:`4471`.)" - -#: ../../whatsnew/3.2.rst:1710 -msgid "http.client" -msgstr "http.client" - -#: ../../whatsnew/3.2.rst:1712 -msgid "" -"There were a number of small API improvements in the :mod:`http.client` " -"module. The old-style HTTP 0.9 simple responses are no longer supported and " -"the *strict* parameter is deprecated in all classes." -msgstr "" - -#: ../../whatsnew/3.2.rst:1716 -msgid "" -"The :class:`~http.client.HTTPConnection` and " -":class:`~http.client.HTTPSConnection` classes now have a *source_address* " -"parameter for a (host, port) tuple indicating where the HTTP connection is " -"made from." -msgstr "" - -#: ../../whatsnew/3.2.rst:1721 -msgid "" -"Support for certificate checking and HTTPS virtual hosts were added to " -":class:`~http.client.HTTPSConnection`." -msgstr "" - -#: ../../whatsnew/3.2.rst:1724 -msgid "" -"The :meth:`~http.client.HTTPConnection.request` method on connection objects" -" allowed an optional *body* argument so that a :term:`file object` could be " -"used to supply the content of the request. Conveniently, the *body* " -"argument now also accepts an :term:`iterable` object so long as it includes " -"an explicit ``Content-Length`` header. This extended interface is much more" -" flexible than before." -msgstr "" - -#: ../../whatsnew/3.2.rst:1731 -msgid "" -"To establish an HTTPS connection through a proxy server, there is a new " -":meth:`~http.client.HTTPConnection.set_tunnel` method that sets the host and" -" port for HTTP Connect tunneling." -msgstr "" - -#: ../../whatsnew/3.2.rst:1735 -msgid "" -"To match the behavior of :mod:`http.server`, the HTTP client library now " -"also encodes headers with ISO-8859-1 (Latin-1) encoding. It was already " -"doing that for incoming headers, so now the behavior is consistent for both " -"incoming and outgoing traffic. (See work by Armin Ronacher in " -":issue:`10980`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1741 -msgid "unittest" -msgstr "unittest" - -#: ../../whatsnew/3.2.rst:1743 -msgid "" -"The unittest module has a number of improvements supporting test discovery " -"for packages, easier experimentation at the interactive prompt, new testcase" -" methods, improved diagnostic messages for test failures, and better method " -"names." -msgstr "" - -#: ../../whatsnew/3.2.rst:1748 -msgid "" -"The command-line call ``python -m unittest`` can now accept file paths " -"instead of module names for running specific tests (:issue:`10620`). The " -"new test discovery can find tests within packages, locating any test " -"importable from the top-level directory. The top-level directory can be " -"specified with the ``-t`` option, a pattern for matching files with ``-p``, " -"and a directory to start discovery with ``-s``:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1755 -msgid "$ python -m unittest discover -s my_proj_dir -p _test.py" -msgstr "" - -#: ../../whatsnew/3.2.rst:1759 ../../whatsnew/3.2.rst:1768 -#: ../../whatsnew/3.2.rst:1924 -msgid "(Contributed by Michael Foord.)" -msgstr "(Kontribusi dari Michael Foord.)" - -#: ../../whatsnew/3.2.rst:1761 -msgid "" -"Experimentation at the interactive prompt is now easier because the " -":class:`unittest.TestCase` class can now be instantiated without arguments:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1770 -msgid "" -"The :mod:`unittest` module has two new methods, " -":meth:`~unittest.TestCase.assertWarns` and " -":meth:`~unittest.TestCase.assertWarnsRegex` to verify that a given warning " -"type is triggered by the code under test::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1775 -msgid "" -"with self.assertWarns(DeprecationWarning):\n" -" legacy_function('XYZ')" -msgstr "" - -#: ../../whatsnew/3.2.rst:1778 -msgid "(Contributed by Antoine Pitrou, :issue:`9754`.)" -msgstr "(Kontribusi dari Antoine Pitrou, :issue:`9754`.)" - -#: ../../whatsnew/3.2.rst:1780 -msgid "" -"Another new method, :meth:`~unittest.TestCase.assertCountEqual` is used to " -"compare two iterables to determine if their element counts are equal " -"(whether the same elements are present with the same number of occurrences " -"regardless of order)::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1785 -msgid "" -"def test_anagram(self):\n" -" self.assertCountEqual('algorithm', 'logarithm')" -msgstr "" - -#: ../../whatsnew/3.2.rst:1790 -msgid "" -"A principal feature of the unittest module is an effort to produce " -"meaningful diagnostics when a test fails. When possible, the failure is " -"recorded along with a diff of the output. This is especially helpful for " -"analyzing log files of failed test runs. However, since diffs can sometime " -"be voluminous, there is a new :attr:`~unittest.TestCase.maxDiff` attribute " -"that sets maximum length of diffs displayed." -msgstr "" - -#: ../../whatsnew/3.2.rst:1797 -msgid "" -"In addition, the method names in the module have undergone a number of " -"clean-ups." -msgstr "" - -#: ../../whatsnew/3.2.rst:1799 -msgid "" -"For example, :meth:`~unittest.TestCase.assertRegex` is the new name for " -":meth:`!assertRegexpMatches` which was misnamed because the test uses " -":func:`re.search`, not :func:`re.match`. Other methods using regular " -"expressions are now named using short form \"Regex\" in preference to " -"\"Regexp\" -- this matches the names used in other unittest implementations," -" matches Python's old name for the :mod:`re` module, and it has unambiguous " -"camel-casing." -msgstr "" - -#: ../../whatsnew/3.2.rst:1807 -msgid "(Contributed by Raymond Hettinger and implemented by Ezio Melotti.)" -msgstr "" -"(Kontribusi dari Raymond Hettinger dan implementasi oleh Ezio Melotti.)" - -#: ../../whatsnew/3.2.rst:1809 -msgid "" -"To improve consistency, some long-standing method aliases are being " -"deprecated in favor of the preferred names:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1813 -msgid "Old Name" -msgstr "" - -#: ../../whatsnew/3.2.rst:1813 -msgid "Preferred Name" -msgstr "" - -#: ../../whatsnew/3.2.rst:1815 -msgid ":meth:`!assert_`" -msgstr "" - -#: ../../whatsnew/3.2.rst:1815 -msgid ":meth:`.assertTrue`" -msgstr "" - -#: ../../whatsnew/3.2.rst:1816 -msgid ":meth:`!assertEquals`" -msgstr "" - -#: ../../whatsnew/3.2.rst:1816 -msgid ":meth:`.assertEqual`" -msgstr "" - -#: ../../whatsnew/3.2.rst:1817 -msgid ":meth:`!assertNotEquals`" -msgstr "" - -#: ../../whatsnew/3.2.rst:1817 -msgid ":meth:`.assertNotEqual`" -msgstr "" - -#: ../../whatsnew/3.2.rst:1818 -msgid ":meth:`!assertAlmostEquals`" -msgstr "" - -#: ../../whatsnew/3.2.rst:1818 -msgid ":meth:`.assertAlmostEqual`" -msgstr "" - -#: ../../whatsnew/3.2.rst:1819 -msgid ":meth:`!assertNotAlmostEquals`" -msgstr "" - -#: ../../whatsnew/3.2.rst:1819 -msgid ":meth:`.assertNotAlmostEqual`" -msgstr "" - -#: ../../whatsnew/3.2.rst:1822 -msgid "" -"Likewise, the ``TestCase.fail*`` methods deprecated in Python 3.1 are " -"expected to be removed in Python 3.3." -msgstr "" - -#: ../../whatsnew/3.2.rst:1825 -msgid "(Contributed by Ezio Melotti; :issue:`9424`.)" -msgstr "(Kontribusi dari Ezio Melotti; :issue:`9424`.)" - -#: ../../whatsnew/3.2.rst:1827 -msgid "" -"The :meth:`!assertDictContainsSubset` method was deprecated because it was " -"misimplemented with the arguments in the wrong order. This created hard-to-" -"debug optical illusions where tests like " -"``TestCase().assertDictContainsSubset({'a':1, 'b':2}, {'a':1})`` would fail." -msgstr "" - -#: ../../whatsnew/3.2.rst:1835 -msgid "random" -msgstr "" - -#: ../../whatsnew/3.2.rst:1837 -msgid "" -"The integer methods in the :mod:`random` module now do a better job of " -"producing uniform distributions. Previously, they computed selections with " -"``int(n*random())`` which had a slight bias whenever *n* was not a power of " -"two. Now, multiple selections are made from a range up to the next power of " -"two and a selection is kept only when it falls within the range ``0 <= x < " -"n``. The functions and methods affected are :func:`~random.randrange`, " -":func:`~random.randint`, :func:`~random.choice`, :func:`~random.shuffle` and" -" :func:`~random.sample`." -msgstr "" - -#: ../../whatsnew/3.2.rst:1846 -msgid "(Contributed by Raymond Hettinger; :issue:`9025`.)" -msgstr "(Kontribusi dari Raymond Hettinger; :issue:`9025`.)" - -#: ../../whatsnew/3.2.rst:1849 -msgid "poplib" -msgstr "" - -#: ../../whatsnew/3.2.rst:1851 -msgid "" -":class:`~poplib.POP3_SSL` class now accepts a *context* parameter, which is " -"a :class:`ssl.SSLContext` object allowing bundling SSL configuration " -"options, certificates and private keys into a single (potentially long-" -"lived) structure." -msgstr "" - -#: ../../whatsnew/3.2.rst:1856 -msgid "(Contributed by Giampaolo Rodolà; :issue:`8807`.)" -msgstr "(Kontribusi dari Giampaolo Rodolà; :issue:`8807`.)" - -#: ../../whatsnew/3.2.rst:1859 -msgid "asyncore" -msgstr "" - -#: ../../whatsnew/3.2.rst:1861 -msgid "" -":class:`!asyncore.dispatcher` now provides a :meth:`!handle_accepted` method" -" returning a ``(sock, addr)`` pair which is called when a connection has " -"actually been established with a new remote endpoint. This is supposed to be" -" used as a replacement for old :meth:`!handle_accept` and avoids the user " -"to call :meth:`!accept` directly." -msgstr "" - -#: ../../whatsnew/3.2.rst:1868 -msgid "(Contributed by Giampaolo Rodolà; :issue:`6706`.)" -msgstr "(Kontribusi dari Giampaolo Rodolà; :issue:`6706`.)" - -#: ../../whatsnew/3.2.rst:1871 -msgid "tempfile" -msgstr "" - -#: ../../whatsnew/3.2.rst:1873 -msgid "" -"The :mod:`tempfile` module has a new context manager, " -":class:`~tempfile.TemporaryDirectory` which provides easy deterministic " -"cleanup of temporary directories::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1877 -msgid "" -"with tempfile.TemporaryDirectory() as tmpdirname:\n" -" print('created temporary dir:', tmpdirname)" -msgstr "" - -#: ../../whatsnew/3.2.rst:1880 -msgid "(Contributed by Neil Schemenauer and Nick Coghlan; :issue:`5178`.)" -msgstr "(Kontribusi dari Neil Schemenauer dan Nick Coghlan; :issue:`5178`.)" - -#: ../../whatsnew/3.2.rst:1883 -msgid "inspect" -msgstr "inspect" - -#: ../../whatsnew/3.2.rst:1885 -msgid "" -"The :mod:`inspect` module has a new function " -":func:`~inspect.getgeneratorstate` to easily identify the current state of a" -" generator-iterator::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1889 -msgid "" -">>> from inspect import getgeneratorstate\n" -">>> def gen():\n" -"... yield 'demo'\n" -"...\n" -">>> g = gen()\n" -">>> getgeneratorstate(g)\n" -"'GEN_CREATED'\n" -">>> next(g)\n" -"'demo'\n" -">>> getgeneratorstate(g)\n" -"'GEN_SUSPENDED'\n" -">>> next(g, None)\n" -">>> getgeneratorstate(g)\n" -"'GEN_CLOSED'" -msgstr "" - -#: ../../whatsnew/3.2.rst:1904 -msgid "(Contributed by Rodolpho Eckhardt and Nick Coghlan, :issue:`10220`.)" -msgstr "(Kontribusi dari Rodolpho Eckhardt dan Nick Coghlan, :issue:`10220`.)" - -#: ../../whatsnew/3.2.rst:1906 -msgid "" -"To support lookups without the possibility of activating a dynamic " -"attribute, the :mod:`inspect` module has a new function, " -":func:`~inspect.getattr_static`. Unlike :func:`hasattr`, this is a true " -"read-only search, guaranteed not to change state while it is searching::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1911 -msgid "" -">>> class A:\n" -"... @property\n" -"... def f(self):\n" -"... print('Running')\n" -"... return 10\n" -"...\n" -">>> a = A()\n" -">>> getattr(a, 'f')\n" -"Running\n" -"10\n" -">>> inspect.getattr_static(a, 'f')\n" -"" -msgstr "" - -#: ../../whatsnew/3.2.rst:1927 -msgid "pydoc" -msgstr "pydoc" - -#: ../../whatsnew/3.2.rst:1929 -msgid "" -"The :mod:`pydoc` module now provides a much-improved web server interface, " -"as well as a new command-line option ``-b`` to automatically open a browser " -"window to display that server:" -msgstr "" - -#: ../../whatsnew/3.2.rst:1933 -msgid "$ pydoc3.2 -b" -msgstr "" - -#: ../../whatsnew/3.2.rst:1937 -msgid "(Contributed by Ron Adam; :issue:`2001`.)" -msgstr "(Kontribusi dari Ron Adam; :issue:`2001`.)" - -#: ../../whatsnew/3.2.rst:1940 -msgid "dis" -msgstr "dis" - -#: ../../whatsnew/3.2.rst:1942 -msgid "" -"The :mod:`dis` module gained two new functions for inspecting code, " -":func:`~dis.code_info` and :func:`~dis.show_code`. Both provide detailed " -"code object information for the supplied function, method, source code " -"string or code object. The former returns a string and the latter prints " -"it::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1947 -msgid "" -">>> import dis, random\n" -">>> dis.show_code(random.choice)\n" -"Name: choice\n" -"Filename: /Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/random.py\n" -"Argument count: 2\n" -"Kw-only arguments: 0\n" -"Number of locals: 3\n" -"Stack size: 11\n" -"Flags: OPTIMIZED, NEWLOCALS, NOFREE\n" -"Constants:\n" -" 0: 'Choose a random element from a non-empty sequence.'\n" -" 1: 'Cannot choose from an empty sequence'\n" -"Names:\n" -" 0: _randbelow\n" -" 1: len\n" -" 2: ValueError\n" -" 3: IndexError\n" -"Variable names:\n" -" 0: self\n" -" 1: seq\n" -" 2: i" -msgstr "" - -#: ../../whatsnew/3.2.rst:1969 -msgid "" -"In addition, the :func:`~dis.dis` function now accepts string arguments so " -"that the common idiom ``dis(compile(s, '', 'eval'))`` can be shortened to " -"``dis(s)``::" -msgstr "" - -#: ../../whatsnew/3.2.rst:1973 -msgid "" -">>> dis('3*x+1 if x%2==1 else x//2')\n" -" 1 0 LOAD_NAME 0 (x)\n" -" 3 LOAD_CONST 0 (2)\n" -" 6 BINARY_MODULO\n" -" 7 LOAD_CONST 1 (1)\n" -" 10 COMPARE_OP 2 (==)\n" -" 13 POP_JUMP_IF_FALSE 28\n" -" 16 LOAD_CONST 2 (3)\n" -" 19 LOAD_NAME 0 (x)\n" -" 22 BINARY_MULTIPLY\n" -" 23 LOAD_CONST 1 (1)\n" -" 26 BINARY_ADD\n" -" 27 RETURN_VALUE\n" -" >> 28 LOAD_NAME 0 (x)\n" -" 31 LOAD_CONST 0 (2)\n" -" 34 BINARY_FLOOR_DIVIDE\n" -" 35 RETURN_VALUE" -msgstr "" - -#: ../../whatsnew/3.2.rst:1991 -msgid "" -"Taken together, these improvements make it easier to explore how CPython is " -"implemented and to see for yourself what the language syntax does under-the-" -"hood." -msgstr "" - -#: ../../whatsnew/3.2.rst:1995 -msgid "(Contributed by Nick Coghlan in :issue:`9147`.)" -msgstr "(Kontribusi dari Nick Coghlan di :issue:`9147`.)" - -#: ../../whatsnew/3.2.rst:1998 -msgid "dbm" -msgstr "dbm" - -#: ../../whatsnew/3.2.rst:2000 -msgid "" -"All database modules now support the :meth:`!get` and :meth:`!setdefault` " -"methods." -msgstr "" - -#: ../../whatsnew/3.2.rst:2002 -msgid "(Suggested by Ray Allen in :issue:`9523`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2005 -msgid "ctypes" -msgstr "ctypes" - -#: ../../whatsnew/3.2.rst:2007 -msgid "" -"A new type, :class:`ctypes.c_ssize_t` represents the C :c:type:`ssize_t` " -"datatype." -msgstr "" - -#: ../../whatsnew/3.2.rst:2010 -msgid "site" -msgstr "site" - -#: ../../whatsnew/3.2.rst:2012 -msgid "" -"The :mod:`site` module has three new functions useful for reporting on the " -"details of a given Python installation." -msgstr "" - -#: ../../whatsnew/3.2.rst:2015 -msgid "" -":func:`~site.getsitepackages` lists all global site-packages directories." -msgstr "" - -#: ../../whatsnew/3.2.rst:2017 -msgid "" -":func:`~site.getuserbase` reports on the user's base directory where data " -"can be stored." -msgstr "" - -#: ../../whatsnew/3.2.rst:2020 -msgid "" -":func:`~site.getusersitepackages` reveals the user-specific site-packages " -"directory path." -msgstr "" - -#: ../../whatsnew/3.2.rst:2025 -msgid "" -">>> import site\n" -">>> site.getsitepackages()\n" -"['/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages',\n" -" '/Library/Frameworks/Python.framework/Versions/3.2/lib/site-python',\n" -" '/Library/Python/3.2/site-packages']\n" -">>> site.getuserbase()\n" -"'/Users/raymondhettinger/Library/Python/3.2'\n" -">>> site.getusersitepackages()\n" -"'/Users/raymondhettinger/Library/Python/3.2/lib/python/site-packages'" -msgstr "" - -#: ../../whatsnew/3.2.rst:2035 -msgid "" -"Conveniently, some of site's functionality is accessible directly from the " -"command-line:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2038 -msgid "" -"$ python -m site --user-base\n" -"/Users/raymondhettinger/.local\n" -"$ python -m site --user-site\n" -"/Users/raymondhettinger/.local/lib/python3.2/site-packages" -msgstr "" - -#: ../../whatsnew/3.2.rst:2045 -msgid "(Contributed by Tarek Ziadé in :issue:`6693`.)" -msgstr "(Kontribusi dari Tarek Ziadé di :issue:`6693`.)" - -#: ../../whatsnew/3.2.rst:2048 -msgid "sysconfig" -msgstr "" - -#: ../../whatsnew/3.2.rst:2050 -msgid "" -"The new :mod:`sysconfig` module makes it straightforward to discover " -"installation paths and configuration variables that vary across platforms " -"and installations." -msgstr "" - -#: ../../whatsnew/3.2.rst:2054 -msgid "" -"The module offers access simple access functions for platform and version " -"information:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2057 -msgid "" -":func:`~sysconfig.get_platform` returning values like *linux-i586* or " -"*macosx-10.6-ppc*." -msgstr "" - -#: ../../whatsnew/3.2.rst:2059 -msgid "" -":func:`~sysconfig.get_python_version` returns a Python version string such " -"as \"3.2\"." -msgstr "" - -#: ../../whatsnew/3.2.rst:2062 -msgid "" -"It also provides access to the paths and variables corresponding to one of " -"seven named schemes used by ``distutils``. Those include *posix_prefix*, " -"*posix_home*, *posix_user*, *nt*, *nt_user*, *os2*, *os2_home*:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2066 -msgid "" -":func:`~sysconfig.get_paths` makes a dictionary containing installation " -"paths for the current installation scheme." -msgstr "" - -#: ../../whatsnew/3.2.rst:2068 -msgid "" -":func:`~sysconfig.get_config_vars` returns a dictionary of platform specific" -" variables." -msgstr "" - -#: ../../whatsnew/3.2.rst:2071 -msgid "There is also a convenient command-line interface:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2073 -msgid "" -"C:\\Python32>python -m sysconfig\n" -"Platform: \"win32\"\n" -"Python version: \"3.2\"\n" -"Current installation scheme: \"nt\"\n" -"\n" -"Paths:\n" -" data = \"C:\\Python32\"\n" -" include = \"C:\\Python32\\Include\"\n" -" platinclude = \"C:\\Python32\\Include\"\n" -" platlib = \"C:\\Python32\\Lib\\site-packages\"\n" -" platstdlib = \"C:\\Python32\\Lib\"\n" -" purelib = \"C:\\Python32\\Lib\\site-packages\"\n" -" scripts = \"C:\\Python32\\Scripts\"\n" -" stdlib = \"C:\\Python32\\Lib\"\n" -"\n" -"Variables:\n" -" BINDIR = \"C:\\Python32\"\n" -" BINLIBDEST = \"C:\\Python32\\Lib\"\n" -" EXE = \".exe\"\n" -" INCLUDEPY = \"C:\\Python32\\Include\"\n" -" LIBDEST = \"C:\\Python32\\Lib\"\n" -" SO = \".pyd\"\n" -" VERSION = \"32\"\n" -" abiflags = \"\"\n" -" base = \"C:\\Python32\"\n" -" exec_prefix = \"C:\\Python32\"\n" -" platbase = \"C:\\Python32\"\n" -" prefix = \"C:\\Python32\"\n" -" projectbase = \"C:\\Python32\"\n" -" py_version = \"3.2\"\n" -" py_version_nodot = \"32\"\n" -" py_version_short = \"3.2\"\n" -" srcdir = \"C:\\Python32\"\n" -" userbase = \"C:\\Documents and Settings\\Raymond\\Application Data\\Python\"" -msgstr "" - -#: ../../whatsnew/3.2.rst:2110 -msgid "(Moved out of Distutils by Tarek Ziadé.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2113 -msgid "pdb" -msgstr "pdb" - -#: ../../whatsnew/3.2.rst:2115 -msgid "" -"The :mod:`pdb` debugger module gained a number of usability improvements:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2117 -msgid "" -":file:`pdb.py` now has a ``-c`` option that executes commands as given in a " -":file:`.pdbrc` script file." -msgstr "" - -#: ../../whatsnew/3.2.rst:2119 -msgid "" -"A :file:`.pdbrc` script file can contain ``continue`` and ``next`` commands " -"that continue debugging." -msgstr "" - -#: ../../whatsnew/3.2.rst:2121 -msgid "" -"The :class:`~pdb.Pdb` class constructor now accepts a *nosigint* argument." -msgstr "" - -#: ../../whatsnew/3.2.rst:2122 -msgid "" -"New commands: ``l(list)``, ``ll(long list)`` and ``source`` for listing " -"source code." -msgstr "" - -#: ../../whatsnew/3.2.rst:2124 -msgid "" -"New commands: ``display`` and ``undisplay`` for showing or hiding the value " -"of an expression if it has changed." -msgstr "" - -#: ../../whatsnew/3.2.rst:2126 -msgid "" -"New command: ``interact`` for starting an interactive interpreter containing" -" the global and local names found in the current scope." -msgstr "" - -#: ../../whatsnew/3.2.rst:2128 -msgid "Breakpoints can be cleared by breakpoint number." -msgstr "" - -#: ../../whatsnew/3.2.rst:2130 -msgid "(Contributed by Georg Brandl, Antonio Cuni and Ilya Sandler.)" -msgstr "(Kontribusi dari Georg Brandl, Antonio Cuni dan Ilya Sandler.)" - -#: ../../whatsnew/3.2.rst:2133 -msgid "configparser" -msgstr "" - -#: ../../whatsnew/3.2.rst:2135 -msgid "" -"The :mod:`configparser` module was modified to improve usability and " -"predictability of the default parser and its supported INI syntax. The old " -":class:`!ConfigParser` class was removed in favor of " -":class:`!SafeConfigParser` which has in turn been renamed to " -":class:`~configparser.ConfigParser`. Support for inline comments is now " -"turned off by default and section or option duplicates are not allowed in a " -"single configuration source." -msgstr "" - -#: ../../whatsnew/3.2.rst:2142 -msgid "Config parsers gained a new API based on the mapping protocol::" -msgstr "" - -#: ../../whatsnew/3.2.rst:2144 -msgid "" -">>> parser = ConfigParser()\n" -">>> parser.read_string(\"\"\"\n" -"... [DEFAULT]\n" -"... location = upper left\n" -"... visible = yes\n" -"... editable = no\n" -"... color = blue\n" -"...\n" -"... [main]\n" -"... title = Main Menu\n" -"... color = green\n" -"...\n" -"... [options]\n" -"... title = Options\n" -"... \"\"\")\n" -">>> parser['main']['color']\n" -"'green'\n" -">>> parser['main']['editable']\n" -"'no'\n" -">>> section = parser['options']\n" -">>> section['title']\n" -"'Options'\n" -">>> section['title'] = 'Options (editable: %(editable)s)'\n" -">>> section['title']\n" -"'Options (editable: no)'" -msgstr "" - -#: ../../whatsnew/3.2.rst:2170 -msgid "" -"The new API is implemented on top of the classical API, so custom parser " -"subclasses should be able to use it without modifications." -msgstr "" - -#: ../../whatsnew/3.2.rst:2173 -msgid "" -"The INI file structure accepted by config parsers can now be customized. " -"Users can specify alternative option/value delimiters and comment prefixes, " -"change the name of the *DEFAULT* section or switch the interpolation syntax." -msgstr "" - -#: ../../whatsnew/3.2.rst:2177 -msgid "" -"There is support for pluggable interpolation including an additional " -"interpolation handler :class:`~configparser.ExtendedInterpolation`::" -msgstr "" - -#: ../../whatsnew/3.2.rst:2180 -msgid "" -">>> parser = ConfigParser(interpolation=ExtendedInterpolation())\n" -">>> parser.read_dict({'buildout': {'directory': '/home/ambv/zope9'},\n" -"... 'custom': {'prefix': '/usr/local'}})\n" -">>> parser.read_string(\"\"\"\n" -"... [buildout]\n" -"... parts =\n" -"... zope9\n" -"... instance\n" -"... find-links =\n" -"... ${buildout:directory}/downloads/dist\n" -"...\n" -"... [zope9]\n" -"... recipe = plone.recipe.zope9install\n" -"... location = /opt/zope\n" -"...\n" -"... [instance]\n" -"... recipe = plone.recipe.zope9instance\n" -"... zope9-location = ${zope9:location}\n" -"... zope-conf = ${custom:prefix}/etc/zope.conf\n" -"... \"\"\")\n" -">>> parser['buildout']['find-links']\n" -"'\\n/home/ambv/zope9/downloads/dist'\n" -">>> parser['instance']['zope-conf']\n" -"'/usr/local/etc/zope.conf'\n" -">>> instance = parser['instance']\n" -">>> instance['zope-conf']\n" -"'/usr/local/etc/zope.conf'\n" -">>> instance['zope9-location']\n" -"'/opt/zope'" -msgstr "" - -#: ../../whatsnew/3.2.rst:2210 -msgid "" -"A number of smaller features were also introduced, like support for " -"specifying encoding in read operations, specifying fallback values for get-" -"functions, or reading directly from dictionaries and strings." -msgstr "" - -#: ../../whatsnew/3.2.rst:2214 -msgid "(All changes contributed by Łukasz Langa.)" -msgstr "(Semua perubahan kontribusi dari Łukasz Langa.)" - -#: ../../whatsnew/3.2.rst:2219 -msgid "urllib.parse" -msgstr "urllib.parse" - -#: ../../whatsnew/3.2.rst:2221 -msgid "" -"A number of usability improvements were made for the :mod:`urllib.parse` " -"module." -msgstr "" - -#: ../../whatsnew/3.2.rst:2223 -msgid "" -"The :func:`~urllib.parse.urlparse` function now supports `IPv6 " -"`_ addresses as described in " -":rfc:`2732`:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2235 -msgid "" -"The :func:`~urllib.parse.urldefrag` function now returns a :term:`named " -"tuple`::" -msgstr "" - -#: ../../whatsnew/3.2.rst:2237 -msgid "" -">>> r = urllib.parse.urldefrag('http://python.org/about/#target')\n" -">>> r\n" -"DefragResult(url='http://python.org/about/', fragment='target')\n" -">>> r[0]\n" -"'http://python.org/about/'\n" -">>> r.fragment\n" -"'target'" -msgstr "" - -#: ../../whatsnew/3.2.rst:2245 -msgid "" -"And, the :func:`~urllib.parse.urlencode` function is now much more flexible," -" accepting either a string or bytes type for the *query* argument. If it is" -" a string, then the *safe*, *encoding*, and *error* parameters are sent to " -":func:`~urllib.parse.quote_plus` for encoding::" -msgstr "" - -#: ../../whatsnew/3.2.rst:2250 -msgid "" -">>> urllib.parse.urlencode([\n" -"... ('type', 'telenovela'),\n" -"... ('name', '¿Dónde Está Elisa?')],\n" -"... encoding='latin-1')\n" -"'type=telenovela&name=%BFD%F3nde+Est%E1+Elisa%3F'" -msgstr "" - -#: ../../whatsnew/3.2.rst:2256 -msgid "" -"As detailed in :ref:`parsing-ascii-encoded-bytes`, all the " -":mod:`urllib.parse` functions now accept ASCII-encoded byte strings as " -"input, so long as they are not mixed with regular strings. If ASCII-encoded" -" byte strings are given as parameters, the return types will also be an " -"ASCII-encoded byte strings:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2265 -msgid "" -"(Work by Nick Coghlan, Dan Mahn, and Senthil Kumaran in :issue:`2987`, " -":issue:`5468`, and :issue:`9873`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2269 -msgid "mailbox" -msgstr "" - -#: ../../whatsnew/3.2.rst:2271 -msgid "" -"Thanks to a concerted effort by R. David Murray, the :mod:`mailbox` module " -"has been fixed for Python 3.2. The challenge was that mailbox had been " -"originally designed with a text interface, but email messages are best " -"represented with :class:`bytes` because various parts of a message may have " -"different encodings." -msgstr "" - -#: ../../whatsnew/3.2.rst:2276 -msgid "" -"The solution harnessed the :mod:`email` package's binary support for parsing" -" arbitrary email messages. In addition, the solution required a number of " -"API changes." -msgstr "" - -#: ../../whatsnew/3.2.rst:2280 -msgid "" -"As expected, the :meth:`~mailbox.Mailbox.add` method for " -":class:`mailbox.Mailbox` objects now accepts binary input." -msgstr "" - -#: ../../whatsnew/3.2.rst:2283 -msgid "" -":class:`~io.StringIO` and text file input are deprecated. Also, string " -"input will fail early if non-ASCII characters are used. Previously it would" -" fail when the email was processed in a later step." -msgstr "" - -#: ../../whatsnew/3.2.rst:2287 -msgid "" -"There is also support for binary output. The " -":meth:`~mailbox.Mailbox.get_file` method now returns a file in the binary " -"mode (where it used to incorrectly set the file to text-mode). There is " -"also a new :meth:`~mailbox.Mailbox.get_bytes` method that returns a " -":class:`bytes` representation of a message corresponding to a given *key*." -msgstr "" - -#: ../../whatsnew/3.2.rst:2293 -msgid "" -"It is still possible to get non-binary output using the old API's " -":meth:`~mailbox.Mailbox.get_string` method, but that approach is not very " -"useful. Instead, it is best to extract messages from a " -":class:`~mailbox.Message` object or to load them from binary input." -msgstr "" - -#: ../../whatsnew/3.2.rst:2298 -msgid "" -"(Contributed by R. David Murray, with efforts from Steffen Daode Nurpmeso " -"and an initial patch by Victor Stinner in :issue:`9124`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2302 -msgid "turtledemo" -msgstr "" - -#: ../../whatsnew/3.2.rst:2304 -msgid "" -"The demonstration code for the :mod:`turtle` module was moved from the " -"*Demo* directory to main library. It includes over a dozen sample scripts " -"with lively displays. Being on :data:`sys.path`, it can now be run directly" -" from the command-line:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2309 -msgid "$ python -m turtledemo" -msgstr "" - -#: ../../whatsnew/3.2.rst:2313 -msgid "" -"(Moved from the Demo directory by Alexander Belopolsky in :issue:`10199`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2316 -msgid "Multi-threading" -msgstr "*Multi-threading*" - -#: ../../whatsnew/3.2.rst:2318 -msgid "" -"The mechanism for serializing execution of concurrently running Python " -"threads (generally known as the :term:`GIL` or Global Interpreter Lock) has " -"been rewritten. Among the objectives were more predictable switching " -"intervals and reduced overhead due to lock contention and the number of " -"ensuing system calls. The notion of a \"check interval\" to allow thread " -"switches has been abandoned and replaced by an absolute duration expressed " -"in seconds. This parameter is tunable through " -":func:`sys.setswitchinterval`. It currently defaults to 5 milliseconds." -msgstr "" - -#: ../../whatsnew/3.2.rst:2327 -msgid "" -"Additional details about the implementation can be read from a `python-dev " -"mailing-list message `_ (however, \"priority requests\" as exposed " -"in this message have not been kept for inclusion)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2333 -msgid "(Contributed by Antoine Pitrou.)" -msgstr "(Kontribusi dari Antoine Pitrou.)" - -#: ../../whatsnew/3.2.rst:2335 -msgid "" -"Regular and recursive locks now accept an optional *timeout* argument to " -"their :meth:`~threading.Lock.acquire` method. (Contributed by Antoine " -"Pitrou; :issue:`7316`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2339 -msgid "" -"Similarly, :meth:`threading.Semaphore.acquire` also gained a *timeout* " -"argument. (Contributed by Torsten Landschoff; :issue:`850728`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2342 -msgid "" -"Regular and recursive lock acquisitions can now be interrupted by signals on" -" platforms using Pthreads. This means that Python programs that deadlock " -"while acquiring locks can be successfully killed by repeatedly sending " -"SIGINT to the process (by pressing :kbd:`Ctrl+C` in most shells). " -"(Contributed by Reid Kleckner; :issue:`8844`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2350 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.2.rst:2352 -msgid "A number of small performance enhancements have been added:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2354 -msgid "" -"Python's peephole optimizer now recognizes patterns such ``x in {1, 2, 3}`` " -"as being a test for membership in a set of constants. The optimizer recasts" -" the :class:`set` as a :class:`frozenset` and stores the pre-built constant." -msgstr "" - -#: ../../whatsnew/3.2.rst:2358 -msgid "" -"Now that the speed penalty is gone, it is practical to start writing " -"membership tests using set-notation. This style is both semantically clear " -"and operationally fast::" -msgstr "" - -#: ../../whatsnew/3.2.rst:2362 -msgid "" -"extension = name.rpartition('.')[2]\n" -"if extension in {'xml', 'html', 'xhtml', 'css'}:\n" -" handle(name)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2366 -msgid "" -"(Patch and additional tests contributed by Dave Malcolm; :issue:`6690`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2368 -msgid "" -"Serializing and unserializing data using the :mod:`pickle` module is now " -"several times faster." -msgstr "" - -#: ../../whatsnew/3.2.rst:2371 -msgid "" -"(Contributed by Alexandre Vassalotti, Antoine Pitrou and the Unladen Swallow" -" team in :issue:`9410` and :issue:`3873`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2374 -msgid "" -"The `Timsort algorithm `_ used in " -":meth:`list.sort` and :func:`sorted` now runs faster and uses less memory " -"when called with a :term:`key function`. Previously, every element of a " -"list was wrapped with a temporary object that remembered the key value " -"associated with each element. Now, two arrays of keys and values are sorted" -" in parallel. This saves the memory consumed by the sort wrappers, and it " -"saves time lost to delegating comparisons." -msgstr "" - -#: ../../whatsnew/3.2.rst:2382 -msgid "(Patch by Daniel Stutzbach in :issue:`9915`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2384 -msgid "" -"JSON decoding performance is improved and memory consumption is reduced " -"whenever the same string is repeated for multiple keys. Also, JSON encoding" -" now uses the C speedups when the ``sort_keys`` argument is true." -msgstr "" - -#: ../../whatsnew/3.2.rst:2388 -msgid "" -"(Contributed by Antoine Pitrou in :issue:`7451` and by Raymond Hettinger and" -" Antoine Pitrou in :issue:`10314`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2391 -msgid "" -"Recursive locks (created with the :func:`threading.RLock` API) now benefit " -"from a C implementation which makes them as fast as regular locks, and " -"between 10x and 15x faster than their previous pure Python implementation." -msgstr "" - -#: ../../whatsnew/3.2.rst:2395 -msgid "(Contributed by Antoine Pitrou; :issue:`3001`.)" -msgstr "(Kontribusi dari Antoine Pitrou; :issue:`3001`.)" - -#: ../../whatsnew/3.2.rst:2397 -msgid "" -"The fast-search algorithm in stringlib is now used by the " -":meth:`~str.split`, :meth:`~str.rsplit`, :meth:`~str.splitlines` and " -":meth:`~str.replace` methods on :class:`bytes`, :class:`bytearray` and " -":class:`str` objects. Likewise, the algorithm is also used by " -":meth:`~str.rfind`, :meth:`~str.rindex`, :meth:`~str.rsplit` and " -":meth:`~str.rpartition`." -msgstr "" - -#: ../../whatsnew/3.2.rst:2403 -msgid "(Patch by Florent Xicluna in :issue:`7622` and :issue:`7462`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2406 -msgid "" -"Integer to string conversions now work two \"digits\" at a time, reducing " -"the number of division and modulo operations." -msgstr "" - -#: ../../whatsnew/3.2.rst:2409 -msgid "(:issue:`6713` by Gawain Bolton, Mark Dickinson, and Victor Stinner.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2411 -msgid "" -"There were several other minor optimizations. Set differencing now runs " -"faster when one operand is much larger than the other (patch by Andress " -"Bennetts in :issue:`8685`). The :meth:`!array.repeat` method has a faster " -"implementation (:issue:`1569291` by Alexander Belopolsky). The " -":class:`~http.server.BaseHTTPRequestHandler` has more efficient buffering " -"(:issue:`3709` by Andrew Schaaf). The :func:`operator.attrgetter` function " -"has been sped-up (:issue:`10160` by Christos Georgiou). And " -":class:`~configparser.ConfigParser` loads multi-line arguments a bit faster " -"(:issue:`7113` by Łukasz Langa)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2422 -msgid "Unicode" -msgstr "" - -#: ../../whatsnew/3.2.rst:2424 -msgid "" -"Python has been updated to `Unicode 6.0.0 " -"`_. The update to the standard " -"adds over 2,000 new characters including `emoji " -"`_ symbols which are important for " -"mobile phones." -msgstr "" - -#: ../../whatsnew/3.2.rst:2429 -msgid "" -"In addition, the updated standard has altered the character properties for " -"two Kannada characters (U+0CF1, U+0CF2) and one New Tai Lue numeric " -"character (U+19DA), making the former eligible for use in identifiers while " -"disqualifying the latter. For more information, see `Unicode Character " -"Database Changes " -"`_." -msgstr "" - -#: ../../whatsnew/3.2.rst:2437 -msgid "Codecs" -msgstr "*Codecs*" - -#: ../../whatsnew/3.2.rst:2439 -msgid "Support was added for *cp720* Arabic DOS encoding (:issue:`1616979`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2441 -msgid "" -"MBCS encoding no longer ignores the error handler argument. In the default " -"strict mode, it raises an :exc:`UnicodeDecodeError` when it encounters an " -"undecodable byte sequence and an :exc:`UnicodeEncodeError` for an " -"unencodable character." -msgstr "" - -#: ../../whatsnew/3.2.rst:2446 -msgid "" -"The MBCS codec supports ``'strict'`` and ``'ignore'`` error handlers for " -"decoding, and ``'strict'`` and ``'replace'`` for encoding." -msgstr "" - -#: ../../whatsnew/3.2.rst:2449 -msgid "" -"To emulate Python3.1 MBCS encoding, select the ``'ignore'`` handler for " -"decoding and the ``'replace'`` handler for encoding." -msgstr "" - -#: ../../whatsnew/3.2.rst:2452 -msgid "" -"On Mac OS X, Python decodes command line arguments with ``'utf-8'`` rather " -"than the locale encoding." -msgstr "" - -#: ../../whatsnew/3.2.rst:2455 -msgid "" -"By default, :mod:`tarfile` uses ``'utf-8'`` encoding on Windows (instead of " -"``'mbcs'``) and the ``'surrogateescape'`` error handler on all operating " -"systems." -msgstr "" - -#: ../../whatsnew/3.2.rst:2461 -msgid "Documentation" -msgstr "Dokumentasi" - -#: ../../whatsnew/3.2.rst:2463 -msgid "The documentation continues to be improved." -msgstr "" - -#: ../../whatsnew/3.2.rst:2465 -msgid "" -"A table of quick links has been added to the top of lengthy sections such as" -" :ref:`built-in-funcs`. In the case of :mod:`itertools`, the links are " -"accompanied by tables of cheatsheet-style summaries to provide an overview " -"and memory jog without having to read all of the docs." -msgstr "" - -#: ../../whatsnew/3.2.rst:2470 -msgid "" -"In some cases, the pure Python source code can be a helpful adjunct to the " -"documentation, so now many modules now feature quick links to the latest " -"version of the source code. For example, the :mod:`functools` module " -"documentation has a quick link at the top labeled:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2475 -msgid "**Source code** :source:`Lib/functools.py`." -msgstr "" - -#: ../../whatsnew/3.2.rst:2477 -msgid "" -"(Contributed by Raymond Hettinger; see `rationale " -"`_.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2480 -msgid "" -"The docs now contain more examples and recipes. In particular, :mod:`re` " -"module has an extensive section, :ref:`re-examples`. Likewise, the " -":mod:`itertools` module continues to be updated with new :ref:`itertools-" -"recipes`." -msgstr "" - -#: ../../whatsnew/3.2.rst:2485 -msgid "" -"The :mod:`datetime` module now has an auxiliary implementation in pure " -"Python. No functionality was changed. This just provides an easier-to-read " -"alternate implementation." -msgstr "" - -#: ../../whatsnew/3.2.rst:2489 -msgid "(Contributed by Alexander Belopolsky in :issue:`9528`.)" -msgstr "(Kontribusi dari Alexander Belopolsky di :issue:`9528`.)" - -#: ../../whatsnew/3.2.rst:2491 -msgid "" -"The unmaintained :file:`Demo` directory has been removed. Some demos were " -"integrated into the documentation, some were moved to the :file:`Tools/demo`" -" directory, and others were removed altogether." -msgstr "" - -#: ../../whatsnew/3.2.rst:2495 -msgid "(Contributed by Georg Brandl in :issue:`7962`.)" -msgstr "(Kontribusi dari Georg Brandl di :issue:`7962`.)" - -#: ../../whatsnew/3.2.rst:2499 -msgid "IDLE" -msgstr "IDLE" - -#: ../../whatsnew/3.2.rst:2501 -msgid "" -"The format menu now has an option to clean source files by stripping " -"trailing whitespace." -msgstr "" - -#: ../../whatsnew/3.2.rst:2504 -msgid "(Contributed by Raymond Hettinger; :issue:`5150`.)" -msgstr "(Kontribusi dari Raymond Hettinger; :issue:`5150`.)" - -#: ../../whatsnew/3.2.rst:2506 -msgid "IDLE on Mac OS X now works with both Carbon AquaTk and Cocoa AquaTk." -msgstr "" - -#: ../../whatsnew/3.2.rst:2508 -msgid "" -"(Contributed by Kevin Walzer, Ned Deily, and Ronald Oussoren; " -":issue:`6075`.)" -msgstr "" -"(Kontribusi dari Kevin Walzer, Ned Deily, dan Ronald Oussoren; " -":issue:`6075`.)" - -#: ../../whatsnew/3.2.rst:2511 -msgid "Code Repository" -msgstr "" - -#: ../../whatsnew/3.2.rst:2513 -msgid "" -"In addition to the existing Subversion code repository at " -"https://svn.python.org there is now a `Mercurial `_ repository at https://hg.python.org/\\ ." -msgstr "" - -#: ../../whatsnew/3.2.rst:2517 -msgid "" -"After the 3.2 release, there are plans to switch to Mercurial as the primary" -" repository. This distributed version control system should make it easier " -"for members of the community to create and share external changesets. See " -":pep:`385` for details." -msgstr "" - -#: ../../whatsnew/3.2.rst:2522 -msgid "" -"To learn to use the new version control system, see the `Quick Start " -"`_ or the `Guide to Mercurial" -" Workflows `_." -msgstr "" - -#: ../../whatsnew/3.2.rst:2528 -msgid "Build and C API Changes" -msgstr "Perubahan Pembangunan *Build* dan API C" - -#: ../../whatsnew/3.2.rst:2530 -msgid "Changes to Python's build process and to the C API include:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2532 -msgid "" -"The *idle*, *pydoc* and *2to3* scripts are now installed with a version-" -"specific suffix on ``make altinstall`` (:issue:`10679`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2535 -msgid "" -"The C functions that access the Unicode Database now accept and return " -"characters from the full Unicode range, even on narrow unicode builds " -"(Py_UNICODE_TOLOWER, Py_UNICODE_ISDECIMAL, and others). A visible " -"difference in Python is that :func:`unicodedata.numeric` now returns the " -"correct value for large code points, and :func:`repr` may consider more " -"characters as printable." -msgstr "" - -#: ../../whatsnew/3.2.rst:2542 -msgid "" -"(Reported by Bupjoe Lee and fixed by Amaury Forgeot D'Arc; :issue:`5127`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2544 -msgid "" -"Computed gotos are now enabled by default on supported compilers (which are " -"detected by the configure script). They can still be disabled selectively " -"by specifying ``--without-computed-gotos``." -msgstr "" - -#: ../../whatsnew/3.2.rst:2548 -msgid "(Contributed by Antoine Pitrou; :issue:`9203`.)" -msgstr "(Kontribusi dari Antoine Pitrou; :issue:`9203`.)" - -#: ../../whatsnew/3.2.rst:2550 -msgid "" -"The option ``--with-wctype-functions`` was removed. The built-in unicode " -"database is now used for all functions." -msgstr "" - -#: ../../whatsnew/3.2.rst:2553 -msgid "(Contributed by Amaury Forgeot D'Arc; :issue:`9210`.)" -msgstr "(Kontribusi dari Amaury Forgeot D'Arc; :issue:`9210`.)" - -#: ../../whatsnew/3.2.rst:2555 -msgid "" -"Hash values are now values of a new type, :c:type:`Py_hash_t`, which is " -"defined to be the same size as a pointer. Previously they were of type " -"long, which on some 64-bit operating systems is still only 32 bits long. As" -" a result of this fix, :class:`set` and :class:`dict` can now hold more than" -" ``2**32`` entries on builds with 64-bit pointers (previously, they could " -"grow to that size but their performance degraded catastrophically)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2562 -msgid "" -"(Suggested by Raymond Hettinger and implemented by Benjamin Peterson; " -":issue:`9778`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2565 -msgid "" -"A new macro :c:macro:`!Py_VA_COPY` copies the state of the variable argument" -" list. It is equivalent to C99 *va_copy* but available on all Python " -"platforms (:issue:`2443`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2569 -msgid "" -"A new C API function :c:func:`!PySys_SetArgvEx` allows an embedded " -"interpreter to set :data:`sys.argv` without also modifying :data:`sys.path` " -"(:issue:`5753`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2573 -msgid "" -":c:func:`!PyEval_CallObject` is now only available in macro form. The " -"function declaration, which was kept for backwards compatibility reasons, is" -" now removed -- the macro was introduced in 1997 (:issue:`8276`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2577 -msgid "" -"There is a new function :c:func:`PyLong_AsLongLongAndOverflow` which is " -"analogous to :c:func:`PyLong_AsLongAndOverflow`. They both serve to convert" -" Python :class:`int` into a native fixed-width type while providing " -"detection of cases where the conversion won't fit (:issue:`7767`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2582 -msgid "" -"The :c:func:`PyUnicode_CompareWithASCIIString` function now returns *not " -"equal* if the Python string is *NUL* terminated." -msgstr "" - -#: ../../whatsnew/3.2.rst:2585 -msgid "" -"There is a new function :c:func:`PyErr_NewExceptionWithDoc` that is like " -":c:func:`PyErr_NewException` but allows a docstring to be specified. This " -"lets C exceptions have the same self-documenting capabilities as their pure " -"Python counterparts (:issue:`7033`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2590 -msgid "" -"When compiled with the ``--with-valgrind`` option, the pymalloc allocator " -"will be automatically disabled when running under Valgrind. This gives " -"improved memory leak detection when running under Valgrind, while taking " -"advantage of pymalloc at other times (:issue:`2422`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2595 -msgid "" -"Removed the ``O?`` format from the *PyArg_Parse* functions. The format is " -"no longer used and it had never been documented (:issue:`8837`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2598 -msgid "" -"There were a number of other small changes to the C-API. See the `Misc/NEWS" -" `__ file for a " -"complete list." -msgstr "" - -#: ../../whatsnew/3.2.rst:2602 -msgid "" -"Also, there were a number of updates to the Mac OS X build, see " -"`Mac/BuildScript/README.txt " -"`_" -" for details. For users running a 32/64-bit build, there is a known problem" -" with the default Tcl/Tk on Mac OS X 10.6. Accordingly, we recommend " -"installing an updated alternative such as `ActiveState Tcl/Tk 8.5.9 " -"`_\\." -" See https://www.python.org/download/mac/tcltk/ for additional details." -msgstr "" - -#: ../../whatsnew/3.2.rst:2611 -msgid "Porting to Python 3.2" -msgstr "" - -#: ../../whatsnew/3.2.rst:2613 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2616 -msgid "" -"The :mod:`configparser` module has a number of clean-ups. The major change " -"is to replace the old :class:`!ConfigParser` class with long-standing " -"preferred alternative :class:`!SafeConfigParser`. In addition there are a " -"number of smaller incompatibilities:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2621 -msgid "" -"The interpolation syntax is now validated on " -":meth:`~configparser.ConfigParser.get` and " -":meth:`~configparser.ConfigParser.set` operations. In the default " -"interpolation scheme, only two tokens with percent signs are valid: " -"``%(name)s`` and ``%%``, the latter being an escaped percent sign." -msgstr "" - -#: ../../whatsnew/3.2.rst:2627 -msgid "" -"The :meth:`~configparser.ConfigParser.set` and " -":meth:`~configparser.ConfigParser.add_section` methods now verify that " -"values are actual strings. Formerly, unsupported types could be introduced " -"unintentionally." -msgstr "" - -#: ../../whatsnew/3.2.rst:2632 -msgid "" -"Duplicate sections or options from a single source now raise either " -":exc:`~configparser.DuplicateSectionError` or " -":exc:`~configparser.DuplicateOptionError`. Formerly, duplicates would " -"silently overwrite a previous entry." -msgstr "" - -#: ../../whatsnew/3.2.rst:2637 -msgid "" -"Inline comments are now disabled by default so now the **;** character can " -"be safely used in values." -msgstr "" - -#: ../../whatsnew/3.2.rst:2640 -msgid "" -"Comments now can be indented. Consequently, for **;** or **#** to appear at" -" the start of a line in multiline values, it has to be interpolated. This " -"keeps comment prefix characters in values from being mistaken as comments." -msgstr "" - -#: ../../whatsnew/3.2.rst:2644 -msgid "" -"``\"\"`` is now a valid value and is no longer automatically converted to an" -" empty string. For empty strings, use ``\"option =\"`` in a line." -msgstr "" - -#: ../../whatsnew/3.2.rst:2647 -msgid "" -"The :mod:`!nntplib` module was reworked extensively, meaning that its APIs " -"are often incompatible with the 3.1 APIs." -msgstr "" - -#: ../../whatsnew/3.2.rst:2650 -msgid "" -":class:`bytearray` objects can no longer be used as filenames; instead, they" -" should be converted to :class:`bytes`." -msgstr "" - -#: ../../whatsnew/3.2.rst:2653 -msgid "" -"The :meth:`!array.tostring` and :meth:`!array.fromstring` have been renamed " -"to :meth:`array.tobytes() ` and " -":meth:`array.frombytes() ` for clarity. The old " -"names have been deprecated. (See :issue:`8990`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2658 -msgid "``PyArg_Parse*()`` functions:" -msgstr "" - -#: ../../whatsnew/3.2.rst:2660 -msgid "\"t#\" format has been removed: use \"s#\" or \"s*\" instead" -msgstr "" - -#: ../../whatsnew/3.2.rst:2661 -msgid "\"w\" and \"w#\" formats has been removed: use \"w*\" instead" -msgstr "" - -#: ../../whatsnew/3.2.rst:2663 -msgid "" -"The :c:type:`!PyCObject` type, deprecated in 3.1, has been removed. To wrap" -" opaque C pointers in Python objects, the :c:type:`PyCapsule` API should be " -"used instead; the new type has a well-defined interface for passing typing " -"safety information and a less complicated signature for calling a " -"destructor." -msgstr "" - -#: ../../whatsnew/3.2.rst:2668 -msgid "" -"The :func:`!sys.setfilesystemencoding` function was removed because it had a" -" flawed design." -msgstr "" - -#: ../../whatsnew/3.2.rst:2671 -msgid "" -"The :func:`random.seed` function and method now salt string seeds with an " -"sha512 hash function. To access the previous version of *seed* in order to " -"reproduce Python 3.1 sequences, set the *version* argument to *1*, " -"``random.seed(s, version=1)``." -msgstr "" - -#: ../../whatsnew/3.2.rst:2676 -msgid "" -"The previously deprecated :func:`!string.maketrans` function has been " -"removed in favor of the static methods :meth:`bytes.maketrans` and " -":meth:`bytearray.maketrans`. This change solves the confusion around which " -"types were supported by the :mod:`string` module. Now, :class:`str`, " -":class:`bytes`, and :class:`bytearray` each have their own **maketrans** and" -" **translate** methods with intermediate translation tables of the " -"appropriate type." -msgstr "" - -#: ../../whatsnew/3.2.rst:2684 -msgid "(Contributed by Georg Brandl; :issue:`5675`.)" -msgstr "(Kontribusi dari Georg Brandl; :issue:`5675`.)" - -#: ../../whatsnew/3.2.rst:2686 -msgid "" -"The previously deprecated :func:`!contextlib.nested` function has been " -"removed in favor of a plain :keyword:`with` statement which can accept " -"multiple context managers. The latter technique is faster (because it is " -"built-in), and it does a better job finalizing multiple context managers " -"when one of them raises an exception::" -msgstr "" - -#: ../../whatsnew/3.2.rst:2692 -msgid "" -"with open('mylog.txt') as infile, open('a.out', 'w') as outfile:\n" -" for line in infile:\n" -" if '' in line:\n" -" outfile.write(line)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2697 -msgid "" -"(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " -"`_.)" -msgstr "" -"(Kontribusi dari Georg Brandl dan Mattias Brändström; `appspot issue 53094 " -"`_.)" - -#: ../../whatsnew/3.2.rst:2700 -msgid "" -":func:`struct.pack` now only allows bytes for the ``s`` string pack code. " -"Formerly, it would accept text arguments and implicitly encode them to bytes" -" using UTF-8. This was problematic because it made assumptions about the " -"correct encoding and because a variable-length encoding can fail when " -"writing to fixed length segment of a structure." -msgstr "" - -#: ../../whatsnew/3.2.rst:2706 -msgid "" -"Code such as ``struct.pack('<6sHHBBB', 'GIF87a', x, y)`` should be rewritten" -" with to use bytes instead of text, ``struct.pack('<6sHHBBB', b'GIF87a', x, " -"y)``." -msgstr "" - -#: ../../whatsnew/3.2.rst:2709 -msgid "" -"(Discovered by David Beazley and fixed by Victor Stinner; :issue:`10783`.)" -msgstr "" - -#: ../../whatsnew/3.2.rst:2711 -msgid "" -"The :class:`xml.etree.ElementTree` class now raises an " -":exc:`xml.etree.ElementTree.ParseError` when a parse fails. Previously it " -"raised an :exc:`xml.parsers.expat.ExpatError`." -msgstr "" - -#: ../../whatsnew/3.2.rst:2715 -msgid "" -"The new, longer :func:`str` value on floats may break doctests which rely on" -" the old output format." -msgstr "" - -#: ../../whatsnew/3.2.rst:2718 -msgid "" -"In :class:`subprocess.Popen`, the default value for *close_fds* is now " -"``True`` under Unix; under Windows, it is ``True`` if the three standard " -"streams are set to ``None``, ``False`` otherwise. Previously, *close_fds* " -"was always ``False`` by default, which produced difficult to solve bugs or " -"race conditions when open file descriptors would leak into the child " -"process." -msgstr "" - -#: ../../whatsnew/3.2.rst:2725 -msgid "" -"Support for legacy HTTP 0.9 has been removed from :mod:`urllib.request` and " -":mod:`http.client`. Such support is still present on the server side (in " -":mod:`http.server`)." -msgstr "" - -#: ../../whatsnew/3.2.rst:2729 -msgid "(Contributed by Antoine Pitrou, :issue:`10711`.)" -msgstr "(Kontribusi dari Antoine Pitrou, :issue:`10711`.)" - -#: ../../whatsnew/3.2.rst:2731 -msgid "" -"SSL sockets in timeout mode now raise :exc:`socket.timeout` when a timeout " -"occurs, rather than a generic :exc:`~ssl.SSLError`." -msgstr "" - -#: ../../whatsnew/3.2.rst:2734 -msgid "(Contributed by Antoine Pitrou, :issue:`10272`.)" -msgstr "(Kontribusi dari Antoine Pitrou, :issue:`10272`.)" - -#: ../../whatsnew/3.2.rst:2736 -msgid "" -"The misleading functions :c:func:`!PyEval_AcquireLock` and " -":c:func:`!PyEval_ReleaseLock` have been officially deprecated. The thread-" -"state aware APIs (such as :c:func:`PyEval_SaveThread` and " -":c:func:`PyEval_RestoreThread`) should be used instead." -msgstr "" - -#: ../../whatsnew/3.2.rst:2741 -msgid "" -"Due to security risks, :func:`!asyncore.handle_accept` has been deprecated, " -"and a new function, :func:`!asyncore.handle_accepted`, was added to replace " -"it." -msgstr "" - -#: ../../whatsnew/3.2.rst:2744 -msgid "(Contributed by Giampaolo Rodola in :issue:`6706`.)" -msgstr "(Kontribusi dari Giampaolo Rodola di :issue:`6706`.)" - -#: ../../whatsnew/3.2.rst:2746 -msgid "" -"Due to the new :term:`GIL` implementation, :c:func:`!PyEval_InitThreads` " -"cannot be called before :c:func:`Py_Initialize` anymore." -msgstr "" diff --git a/python-newest.whatsnew--3_3/id.po b/python-newest.whatsnew--3_3/id.po deleted file mode 100644 index 0ebfbaf..0000000 --- a/python-newest.whatsnew--3_3/id.po +++ /dev/null @@ -1,4137 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.3.rst:3 -msgid "What's New In Python 3.3" -msgstr "" - -#: ../../whatsnew/3.3.rst:45 -msgid "" -"This article explains the new features in Python 3.3, compared to 3.2. " -"Python 3.3 was released on September 29, 2012. For full details, see the " -"`changelog `_." -msgstr "" - -#: ../../whatsnew/3.3.rst:51 -msgid ":pep:`398` - Python 3.3 Release Schedule" -msgstr "" - -#: ../../whatsnew/3.3.rst:55 -msgid "Summary -- Release highlights" -msgstr "Ringkasan -- Sorotan Rilis" - -#: ../../whatsnew/3.3.rst:60 -msgid "New syntax features:" -msgstr "Fitur sintaks baru:" - -#: ../../whatsnew/3.3.rst:62 -msgid "" -"New ``yield from`` expression for :ref:`generator delegation `." -msgstr "" - -#: ../../whatsnew/3.3.rst:63 -msgid "The ``u'unicode'`` syntax is accepted again for :class:`str` objects." -msgstr "" - -#: ../../whatsnew/3.3.rst:65 -msgid "New library modules:" -msgstr "Modul pustaka baru:" - -#: ../../whatsnew/3.3.rst:67 -msgid ":mod:`faulthandler` (helps debugging low-level crashes)" -msgstr "" - -#: ../../whatsnew/3.3.rst:68 -msgid "" -":mod:`ipaddress` (high-level objects representing IP addresses and masks)" -msgstr "" - -#: ../../whatsnew/3.3.rst:69 -msgid ":mod:`lzma` (compress data using the XZ / LZMA algorithm)" -msgstr "" - -#: ../../whatsnew/3.3.rst:70 -msgid "" -":mod:`unittest.mock` (replace parts of your system under test with mock " -"objects)" -msgstr "" - -#: ../../whatsnew/3.3.rst:71 -msgid "" -":mod:`venv` (Python :ref:`virtual environments `, as in the popular" -" ``virtualenv`` package)" -msgstr "" - -#: ../../whatsnew/3.3.rst:74 -msgid "New built-in features:" -msgstr "Fitur bawaan baru:" - -#: ../../whatsnew/3.3.rst:76 -msgid "Reworked :ref:`I/O exception hierarchy `." -msgstr "" - -#: ../../whatsnew/3.3.rst:78 -msgid "Implementation improvements:" -msgstr "" - -#: ../../whatsnew/3.3.rst:80 -msgid "" -"Rewritten :ref:`import machinery ` based on :mod:`importlib`." -msgstr "" - -#: ../../whatsnew/3.3.rst:81 -msgid "More compact :ref:`unicode strings `." -msgstr "" - -#: ../../whatsnew/3.3.rst:82 -msgid "More compact :ref:`attribute dictionaries `." -msgstr "" - -#: ../../whatsnew/3.3.rst:84 -msgid "Significantly Improved Library Modules:" -msgstr "" - -#: ../../whatsnew/3.3.rst:86 -msgid "C Accelerator for the :ref:`decimal ` module." -msgstr "" - -#: ../../whatsnew/3.3.rst:87 -msgid "" -"Better unicode handling in the :ref:`email ` module " -"(:term:`provisional `)." -msgstr "" - -#: ../../whatsnew/3.3.rst:90 -msgid "Security improvements:" -msgstr "" - -#: ../../whatsnew/3.3.rst:92 -msgid "Hash randomization is switched on by default." -msgstr "" - -#: ../../whatsnew/3.3.rst:94 -msgid "Please read on for a comprehensive list of user-facing changes." -msgstr "" - -#: ../../whatsnew/3.3.rst:100 -msgid "PEP 405: Virtual Environments" -msgstr "" - -#: ../../whatsnew/3.3.rst:102 -msgid "" -"Virtual environments help create separate Python setups while sharing a " -"system-wide base install, for ease of maintenance. Virtual environments " -"have their own set of private site packages (i.e. locally installed " -"libraries), and are optionally segregated from the system-wide site " -"packages. Their concept and implementation are inspired by the popular " -"``virtualenv`` third-party package, but benefit from tighter integration " -"with the interpreter core." -msgstr "" - -#: ../../whatsnew/3.3.rst:110 -msgid "" -"This PEP adds the :mod:`venv` module for programmatic access, and the " -"``pyvenv`` script for command-line access and administration. The Python " -"interpreter checks for a ``pyvenv.cfg``, file whose existence signals the " -"base of a virtual environment's directory tree." -msgstr "" - -#: ../../whatsnew/3.3.rst:118 -msgid ":pep:`405` - Python Virtual Environments" -msgstr "" - -#: ../../whatsnew/3.3.rst:119 -msgid "" -"PEP written by Carl Meyer; implementation by Carl Meyer and Vinay Sajip" -msgstr "" - -#: ../../whatsnew/3.3.rst:123 -msgid "PEP 420: Implicit Namespace Packages" -msgstr "" - -#: ../../whatsnew/3.3.rst:125 -msgid "" -"Native support for package directories that don't require ``__init__.py`` " -"marker files and can automatically span multiple path segments (inspired by " -"various third party approaches to namespace packages, as described in " -":pep:`420`)" -msgstr "" - -#: ../../whatsnew/3.3.rst:132 -msgid ":pep:`420` - Implicit Namespace Packages" -msgstr "" - -#: ../../whatsnew/3.3.rst:133 -msgid "" -"PEP written by Eric V. Smith; implementation by Eric V. Smith and Barry " -"Warsaw" -msgstr "" - -#: ../../whatsnew/3.3.rst:140 -msgid "" -"PEP 3118: New memoryview implementation and buffer protocol documentation" -msgstr "" - -#: ../../whatsnew/3.3.rst:142 -msgid "The implementation of :pep:`3118` has been significantly improved." -msgstr "" - -#: ../../whatsnew/3.3.rst:144 -msgid "" -"The new memoryview implementation comprehensively fixes all ownership and " -"lifetime issues of dynamically allocated fields in the Py_buffer struct that" -" led to multiple crash reports. Additionally, several functions that crashed" -" or returned incorrect results for non-contiguous or multi-dimensional input" -" have been fixed." -msgstr "" - -#: ../../whatsnew/3.3.rst:150 -msgid "" -"The memoryview object now has a PEP-3118 compliant getbufferproc() that " -"checks the consumer's request type. Many new features have been added, most " -"of them work in full generality for non-contiguous arrays and arrays with " -"suboffsets." -msgstr "" - -#: ../../whatsnew/3.3.rst:155 -msgid "" -"The documentation has been updated, clearly spelling out responsibilities " -"for both exporters and consumers. Buffer request flags are grouped into " -"basic and compound flags. The memory layout of non-contiguous and multi-" -"dimensional NumPy-style arrays is explained." -msgstr "" - -#: ../../whatsnew/3.3.rst:161 ../../whatsnew/3.3.rst:1125 -msgid "Features" -msgstr "" - -#: ../../whatsnew/3.3.rst:163 -msgid "" -"All native single character format specifiers in struct module syntax " -"(optionally prefixed with '@') are now supported." -msgstr "" - -#: ../../whatsnew/3.3.rst:166 -msgid "" -"With some restrictions, the cast() method allows changing of format and " -"shape of C-contiguous arrays." -msgstr "" - -#: ../../whatsnew/3.3.rst:169 -msgid "" -"Multi-dimensional list representations are supported for any array type." -msgstr "" - -#: ../../whatsnew/3.3.rst:171 -msgid "Multi-dimensional comparisons are supported for any array type." -msgstr "" - -#: ../../whatsnew/3.3.rst:173 -msgid "" -"One-dimensional memoryviews of hashable (read-only) types with formats B, b " -"or c are now hashable. (Contributed by Antoine Pitrou in :issue:`13411`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:176 -msgid "" -"Arbitrary slicing of any 1-D arrays type is supported. For example, it is " -"now possible to reverse a memoryview in *O*\\ (1) by using a negative step." -msgstr "" - -#: ../../whatsnew/3.3.rst:180 ../../whatsnew/3.3.rst:1135 -msgid "API changes" -msgstr "Perubahan API" - -#: ../../whatsnew/3.3.rst:182 -msgid "The maximum number of dimensions is officially limited to 64." -msgstr "" - -#: ../../whatsnew/3.3.rst:184 -msgid "" -"The representation of empty shape, strides and suboffsets is now an empty " -"tuple instead of ``None``." -msgstr "" - -#: ../../whatsnew/3.3.rst:187 -msgid "" -"Accessing a memoryview element with format 'B' (unsigned bytes) now returns " -"an integer (in accordance with the struct module syntax). For returning a " -"bytes object the view must be cast to 'c' first." -msgstr "" - -#: ../../whatsnew/3.3.rst:191 -msgid "" -"memoryview comparisons now use the logical structure of the operands and " -"compare all array elements by value. All format strings in struct module " -"syntax are supported. Views with unrecognised format strings are still " -"permitted, but will always compare as unequal, regardless of view contents." -msgstr "" - -#: ../../whatsnew/3.3.rst:197 -msgid "" -"For further changes see `Build and C API Changes`_ and `Porting C code`_." -msgstr "" - -#: ../../whatsnew/3.3.rst:199 -msgid "(Contributed by Stefan Krah in :issue:`10181`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:203 -msgid ":pep:`3118` - Revising the Buffer Protocol" -msgstr "" - -#: ../../whatsnew/3.3.rst:209 -msgid "PEP 393: Flexible String Representation" -msgstr "" - -#: ../../whatsnew/3.3.rst:211 -msgid "" -"The Unicode string type is changed to support multiple internal " -"representations, depending on the character with the largest Unicode ordinal" -" (1, 2, or 4 bytes) in the represented string. This allows a space-" -"efficient representation in common cases, but gives access to full UCS-4 on " -"all systems. For compatibility with existing APIs, several representations " -"may exist in parallel; over time, this compatibility should be phased out." -msgstr "" - -#: ../../whatsnew/3.3.rst:218 -msgid "On the Python side, there should be no downside to this change." -msgstr "" - -#: ../../whatsnew/3.3.rst:220 -msgid "" -"On the C API side, :pep:`393` is fully backward compatible. The legacy API " -"should remain available at least five years. Applications using the legacy " -"API will not fully benefit of the memory reduction, or - worse - may use a " -"bit more memory, because Python may have to maintain two versions of each " -"string (in the legacy format and in the new efficient storage)." -msgstr "" - -#: ../../whatsnew/3.3.rst:227 -msgid "Functionality" -msgstr "" - -#: ../../whatsnew/3.3.rst:229 -msgid "Changes introduced by :pep:`393` are the following:" -msgstr "" - -#: ../../whatsnew/3.3.rst:231 -msgid "" -"Python now always supports the full range of Unicode code points, including " -"non-BMP ones (i.e. from ``U+0000`` to ``U+10FFFF``). The distinction " -"between narrow and wide builds no longer exists and Python now behaves like " -"a wide build, even under Windows." -msgstr "" - -#: ../../whatsnew/3.3.rst:236 -msgid "" -"With the death of narrow builds, the problems specific to narrow builds have" -" also been fixed, for example:" -msgstr "" - -#: ../../whatsnew/3.3.rst:239 -msgid "" -":func:`len` now always returns 1 for non-BMP characters, so " -"``len('\\U0010FFFF') == 1``;" -msgstr "" - -#: ../../whatsnew/3.3.rst:242 -msgid "" -"surrogate pairs are not recombined in string literals, so ``'\\uDBFF\\uDFFF'" -" != '\\U0010FFFF'``;" -msgstr "" - -#: ../../whatsnew/3.3.rst:245 -msgid "" -"indexing or slicing non-BMP characters returns the expected value, so " -"``'\\U0010FFFF'[0]`` now returns ``'\\U0010FFFF'`` and not ``'\\uDBFF'``;" -msgstr "" - -#: ../../whatsnew/3.3.rst:248 -msgid "" -"all other functions in the standard library now correctly handle non-BMP " -"code points." -msgstr "" - -#: ../../whatsnew/3.3.rst:251 -msgid "" -"The value of :data:`sys.maxunicode` is now always ``1114111`` (``0x10FFFF`` " -"in hexadecimal). The :c:func:`!PyUnicode_GetMax` function still returns " -"either ``0xFFFF`` or ``0x10FFFF`` for backward compatibility, and it should " -"not be used with the new Unicode API (see :issue:`13054`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:256 -msgid "The :file:`./configure` flag ``--with-wide-unicode`` has been removed." -msgstr "" - -#: ../../whatsnew/3.3.rst:259 -msgid "Performance and resource usage" -msgstr "" - -#: ../../whatsnew/3.3.rst:261 -msgid "" -"The storage of Unicode strings now depends on the highest code point in the " -"string:" -msgstr "" - -#: ../../whatsnew/3.3.rst:263 -msgid "" -"pure ASCII and Latin1 strings (``U+0000-U+00FF``) use 1 byte per code point;" -msgstr "" - -#: ../../whatsnew/3.3.rst:265 -msgid "BMP strings (``U+0000-U+FFFF``) use 2 bytes per code point;" -msgstr "" - -#: ../../whatsnew/3.3.rst:267 -msgid "non-BMP strings (``U+10000-U+10FFFF``) use 4 bytes per code point." -msgstr "" - -#: ../../whatsnew/3.3.rst:269 -msgid "" -"The net effect is that for most applications, memory usage of string storage" -" should decrease significantly - especially compared to former wide unicode " -"builds - as, in many cases, strings will be pure ASCII even in international" -" contexts (because many strings store non-human language data, such as XML " -"fragments, HTTP headers, JSON-encoded data, etc.). We also hope that it " -"will, for the same reasons, increase CPU cache efficiency on non-trivial " -"applications. The memory usage of Python 3.3 is two to three times smaller " -"than Python 3.2, and a little bit better than Python 2.7, on a Django " -"benchmark (see the PEP for details)." -msgstr "" - -#: ../../whatsnew/3.3.rst:282 -msgid ":pep:`393` - Flexible String Representation" -msgstr "" - -#: ../../whatsnew/3.3.rst:283 -msgid "" -"PEP written by Martin von Löwis; implementation by Torsten Becker and Martin" -" von Löwis." -msgstr "" - -#: ../../whatsnew/3.3.rst:290 -msgid "PEP 397: Python Launcher for Windows" -msgstr "" - -#: ../../whatsnew/3.3.rst:292 -msgid "" -"The Python 3.3 Windows installer now includes a ``py`` launcher application " -"that can be used to launch Python applications in a version independent " -"fashion." -msgstr "" - -#: ../../whatsnew/3.3.rst:296 -msgid "" -"This launcher is invoked implicitly when double-clicking ``*.py`` files. If " -"only a single Python version is installed on the system, that version will " -"be used to run the file. If multiple versions are installed, the most recent" -" version is used by default, but this can be overridden by including a Unix-" -"style \"shebang line\" in the Python script." -msgstr "" - -#: ../../whatsnew/3.3.rst:302 -msgid "" -"The launcher can also be used explicitly from the command line as the ``py``" -" application. Running ``py`` follows the same version selection rules as " -"implicitly launching scripts, but a more specific version can be selected by" -" passing appropriate arguments (such as ``-3`` to request Python 3 when " -"Python 2 is also installed, or ``-2.6`` to specifically request an earlier " -"Python version when a more recent version is installed)." -msgstr "" - -#: ../../whatsnew/3.3.rst:309 -msgid "" -"In addition to the launcher, the Windows installer now includes an option to" -" add the newly installed Python to the system PATH. (Contributed by Brian " -"Curtin in :issue:`3561`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:315 -msgid ":pep:`397` - Python Launcher for Windows" -msgstr "" - -#: ../../whatsnew/3.3.rst:316 -msgid "" -"PEP written by Mark Hammond and Martin v. Löwis; implementation by Vinay " -"Sajip." -msgstr "" - -#: ../../whatsnew/3.3.rst:319 -msgid "Launcher documentation: :ref:`launcher`" -msgstr "" - -#: ../../whatsnew/3.3.rst:321 -msgid "Installer PATH modification: :ref:`windows-path-mod`" -msgstr "" - -#: ../../whatsnew/3.3.rst:327 -msgid "PEP 3151: Reworking the OS and IO exception hierarchy" -msgstr "" - -#: ../../whatsnew/3.3.rst:329 -msgid "" -"The hierarchy of exceptions raised by operating system errors is now both " -"simplified and finer-grained." -msgstr "" - -#: ../../whatsnew/3.3.rst:332 -msgid "" -"You don't have to worry anymore about choosing the appropriate exception " -"type between :exc:`OSError`, :exc:`IOError`, :exc:`EnvironmentError`, " -":exc:`WindowsError`, :exc:`mmap.error`, :exc:`socket.error` or " -":exc:`select.error`. All these exception types are now only one: " -":exc:`OSError`. The other names are kept as aliases for compatibility " -"reasons." -msgstr "" - -#: ../../whatsnew/3.3.rst:339 -msgid "" -"Also, it is now easier to catch a specific error condition. Instead of " -"inspecting the ``errno`` attribute (or ``args[0]``) for a particular " -"constant from the :mod:`errno` module, you can catch the adequate " -":exc:`OSError` subclass. The available subclasses are the following:" -msgstr "" - -#: ../../whatsnew/3.3.rst:344 -msgid ":exc:`BlockingIOError`" -msgstr ":exc:`BlockingIOError`" - -#: ../../whatsnew/3.3.rst:345 -msgid ":exc:`ChildProcessError`" -msgstr ":exc:`ChildProcessError`" - -#: ../../whatsnew/3.3.rst:346 -msgid ":exc:`ConnectionError`" -msgstr ":exc:`ConnectionError`" - -#: ../../whatsnew/3.3.rst:347 -msgid ":exc:`FileExistsError`" -msgstr ":exc:`FileExistsError`" - -#: ../../whatsnew/3.3.rst:348 -msgid ":exc:`FileNotFoundError`" -msgstr ":exc:`FileNotFoundError`" - -#: ../../whatsnew/3.3.rst:349 -msgid ":exc:`InterruptedError`" -msgstr ":exc:`InterruptedError`" - -#: ../../whatsnew/3.3.rst:350 -msgid ":exc:`IsADirectoryError`" -msgstr ":exc:`IsADirectoryError`" - -#: ../../whatsnew/3.3.rst:351 -msgid ":exc:`NotADirectoryError`" -msgstr ":exc:`NotADirectoryError`" - -#: ../../whatsnew/3.3.rst:352 -msgid ":exc:`PermissionError`" -msgstr ":exc:`PermissionError`" - -#: ../../whatsnew/3.3.rst:353 -msgid ":exc:`ProcessLookupError`" -msgstr ":exc:`ProcessLookupError`" - -#: ../../whatsnew/3.3.rst:354 -msgid ":exc:`TimeoutError`" -msgstr ":exc:`TimeoutError`" - -#: ../../whatsnew/3.3.rst:356 -msgid "And the :exc:`ConnectionError` itself has finer-grained subclasses:" -msgstr "" - -#: ../../whatsnew/3.3.rst:358 -msgid ":exc:`BrokenPipeError`" -msgstr ":exc:`BrokenPipeError`" - -#: ../../whatsnew/3.3.rst:359 -msgid ":exc:`ConnectionAbortedError`" -msgstr ":exc:`ConnectionAbortedError`" - -#: ../../whatsnew/3.3.rst:360 -msgid ":exc:`ConnectionRefusedError`" -msgstr ":exc:`ConnectionRefusedError`" - -#: ../../whatsnew/3.3.rst:361 -msgid ":exc:`ConnectionResetError`" -msgstr ":exc:`ConnectionResetError`" - -#: ../../whatsnew/3.3.rst:363 -msgid "" -"Thanks to the new exceptions, common usages of the :mod:`errno` can now be " -"avoided. For example, the following code written for Python 3.2::" -msgstr "" - -#: ../../whatsnew/3.3.rst:366 -msgid "" -"from errno import ENOENT, EACCES, EPERM\n" -"\n" -"try:\n" -" with open(\"document.txt\") as f:\n" -" content = f.read()\n" -"except IOError as err:\n" -" if err.errno == ENOENT:\n" -" print(\"document.txt file is missing\")\n" -" elif err.errno in (EACCES, EPERM):\n" -" print(\"You are not allowed to read document.txt\")\n" -" else:\n" -" raise" -msgstr "" - -#: ../../whatsnew/3.3.rst:379 -msgid "" -"can now be written without the :mod:`errno` import and without manual " -"inspection of exception attributes::" -msgstr "" - -#: ../../whatsnew/3.3.rst:382 -msgid "" -"try:\n" -" with open(\"document.txt\") as f:\n" -" content = f.read()\n" -"except FileNotFoundError:\n" -" print(\"document.txt file is missing\")\n" -"except PermissionError:\n" -" print(\"You are not allowed to read document.txt\")" -msgstr "" - -#: ../../whatsnew/3.3.rst:392 -msgid ":pep:`3151` - Reworking the OS and IO Exception Hierarchy" -msgstr "" - -#: ../../whatsnew/3.3.rst:393 -msgid "PEP written and implemented by Antoine Pitrou" -msgstr "" - -#: ../../whatsnew/3.3.rst:402 -msgid "PEP 380: Syntax for Delegating to a Subgenerator" -msgstr "" - -#: ../../whatsnew/3.3.rst:404 -msgid "" -"PEP 380 adds the ``yield from`` expression, allowing a :term:`generator` to " -"delegate part of its operations to another generator. This allows a section " -"of code containing :keyword:`yield` to be factored out and placed in another" -" generator. Additionally, the subgenerator is allowed to return with a " -"value, and the value is made available to the delegating generator." -msgstr "" - -#: ../../whatsnew/3.3.rst:411 -msgid "" -"While designed primarily for use in delegating to a subgenerator, the " -"``yield from`` expression actually allows delegation to arbitrary " -"subiterators." -msgstr "" - -#: ../../whatsnew/3.3.rst:414 -msgid "" -"For simple iterators, ``yield from iterable`` is essentially just a " -"shortened form of ``for item in iterable: yield item``::" -msgstr "" - -#: ../../whatsnew/3.3.rst:417 -msgid "" -">>> def g(x):\n" -"... yield from range(x, 0, -1)\n" -"... yield from range(x)\n" -"...\n" -">>> list(g(5))\n" -"[5, 4, 3, 2, 1, 0, 1, 2, 3, 4]" -msgstr "" - -#: ../../whatsnew/3.3.rst:424 -msgid "" -"However, unlike an ordinary loop, ``yield from`` allows subgenerators to " -"receive sent and thrown values directly from the calling scope, and return a" -" final value to the outer generator::" -msgstr "" - -#: ../../whatsnew/3.3.rst:428 -msgid "" -">>> def accumulate():\n" -"... tally = 0\n" -"... while 1:\n" -"... next = yield\n" -"... if next is None:\n" -"... return tally\n" -"... tally += next\n" -"...\n" -">>> def gather_tallies(tallies):\n" -"... while 1:\n" -"... tally = yield from accumulate()\n" -"... tallies.append(tally)\n" -"...\n" -">>> tallies = []\n" -">>> acc = gather_tallies(tallies)\n" -">>> next(acc) # Ensure the accumulator is ready to accept values\n" -">>> for i in range(4):\n" -"... acc.send(i)\n" -"...\n" -">>> acc.send(None) # Finish the first tally\n" -">>> for i in range(5):\n" -"... acc.send(i)\n" -"...\n" -">>> acc.send(None) # Finish the second tally\n" -">>> tallies\n" -"[6, 10]" -msgstr "" - -#: ../../whatsnew/3.3.rst:455 -msgid "" -"The main principle driving this change is to allow even generators that are " -"designed to be used with the ``send`` and ``throw`` methods to be split into" -" multiple subgenerators as easily as a single large function can be split " -"into multiple subfunctions." -msgstr "" - -#: ../../whatsnew/3.3.rst:462 -msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" -msgstr "" - -#: ../../whatsnew/3.3.rst:463 -msgid "" -"PEP written by Greg Ewing; implementation by Greg Ewing, integrated into 3.3" -" by Renaud Blanch, Ryan Kelly and Nick Coghlan; documentation by Zbigniew " -"Jędrzejewski-Szmek and Nick Coghlan" -msgstr "" - -#: ../../whatsnew/3.3.rst:469 -msgid "PEP 409: Suppressing exception context" -msgstr "" - -#: ../../whatsnew/3.3.rst:471 -msgid "" -"PEP 409 introduces new syntax that allows the display of the chained " -"exception context to be disabled. This allows cleaner error messages in " -"applications that convert between exception types::" -msgstr "" - -#: ../../whatsnew/3.3.rst:475 -msgid "" -">>> class D:\n" -"... def __init__(self, extra):\n" -"... self._extra_attributes = extra\n" -"... def __getattr__(self, attr):\n" -"... try:\n" -"... return self._extra_attributes[attr]\n" -"... except KeyError:\n" -"... raise AttributeError(attr) from None\n" -"...\n" -">>> D({}).x\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" File \"\", line 8, in __getattr__\n" -"AttributeError: x" -msgstr "" - -#: ../../whatsnew/3.3.rst:490 -msgid "" -"Without the ``from None`` suffix to suppress the cause, the original " -"exception would be displayed by default::" -msgstr "" - -#: ../../whatsnew/3.3.rst:493 -msgid "" -">>> class C:\n" -"... def __init__(self, extra):\n" -"... self._extra_attributes = extra\n" -"... def __getattr__(self, attr):\n" -"... try:\n" -"... return self._extra_attributes[attr]\n" -"... except KeyError:\n" -"... raise AttributeError(attr)\n" -"...\n" -">>> C({}).x\n" -"Traceback (most recent call last):\n" -" File \"\", line 6, in __getattr__\n" -"KeyError: 'x'\n" -"\n" -"During handling of the above exception, another exception occurred:\n" -"\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" File \"\", line 8, in __getattr__\n" -"AttributeError: x" -msgstr "" - -#: ../../whatsnew/3.3.rst:514 -msgid "" -"No debugging capability is lost, as the original exception context remains " -"available if needed (for example, if an intervening library has incorrectly " -"suppressed valuable underlying details)::" -msgstr "" - -#: ../../whatsnew/3.3.rst:518 -msgid "" -">>> try:\n" -"... D({}).x\n" -"... except AttributeError as exc:\n" -"... print(repr(exc.__context__))\n" -"...\n" -"KeyError('x',)" -msgstr "" - -#: ../../whatsnew/3.3.rst:527 -msgid ":pep:`409` - Suppressing exception context" -msgstr "" - -#: ../../whatsnew/3.3.rst:528 -msgid "" -"PEP written by Ethan Furman; implemented by Ethan Furman and Nick Coghlan." -msgstr "" - -#: ../../whatsnew/3.3.rst:533 -msgid "PEP 414: Explicit Unicode literals" -msgstr "" - -#: ../../whatsnew/3.3.rst:535 -msgid "" -"To ease the transition from Python 2 for Unicode aware Python applications " -"that make heavy use of Unicode literals, Python 3.3 once again supports the " -"\"``u``\" prefix for string literals. This prefix has no semantic " -"significance in Python 3, it is provided solely to reduce the number of " -"purely mechanical changes in migrating to Python 3, making it easier for " -"developers to focus on the more significant semantic changes (such as the " -"stricter default separation of binary and text data)." -msgstr "" - -#: ../../whatsnew/3.3.rst:545 -msgid ":pep:`414` - Explicit Unicode literals" -msgstr "" - -#: ../../whatsnew/3.3.rst:546 -msgid "PEP written by Armin Ronacher." -msgstr "" - -#: ../../whatsnew/3.3.rst:550 -msgid "PEP 3155: Qualified name for classes and functions" -msgstr "" - -#: ../../whatsnew/3.3.rst:552 -msgid "" -"Functions and class objects have a new :attr:`~definition.__qualname__` " -"attribute representing the \"path\" from the module top-level to their " -"definition. For global functions and classes, this is the same as " -":attr:`~definition.__name__`. For other functions and classes, it provides " -"better information about where they were actually defined, and how they " -"might be accessible from the global scope." -msgstr "" - -#: ../../whatsnew/3.3.rst:560 -msgid "Example with (non-bound) methods::" -msgstr "" - -#: ../../whatsnew/3.3.rst:562 -msgid "" -">>> class C:\n" -"... def meth(self):\n" -"... pass\n" -"...\n" -">>> C.meth.__name__\n" -"'meth'\n" -">>> C.meth.__qualname__\n" -"'C.meth'" -msgstr "" - -#: ../../whatsnew/3.3.rst:571 -msgid "Example with nested classes::" -msgstr "" - -#: ../../whatsnew/3.3.rst:573 -msgid "" -">>> class C:\n" -"... class D:\n" -"... def meth(self):\n" -"... pass\n" -"...\n" -">>> C.D.__name__\n" -"'D'\n" -">>> C.D.__qualname__\n" -"'C.D'\n" -">>> C.D.meth.__name__\n" -"'meth'\n" -">>> C.D.meth.__qualname__\n" -"'C.D.meth'" -msgstr "" - -#: ../../whatsnew/3.3.rst:587 -msgid "Example with nested functions::" -msgstr "" - -#: ../../whatsnew/3.3.rst:589 -msgid "" -">>> def outer():\n" -"... def inner():\n" -"... pass\n" -"... return inner\n" -"...\n" -">>> outer().__name__\n" -"'inner'\n" -">>> outer().__qualname__\n" -"'outer..inner'" -msgstr "" - -#: ../../whatsnew/3.3.rst:599 -msgid "" -"The string representation of those objects is also changed to include the " -"new, more precise information::" -msgstr "" - -#: ../../whatsnew/3.3.rst:602 -msgid "" -">>> str(C.D)\n" -"\"\"\n" -">>> str(C.D.meth)\n" -"''" -msgstr "" - -#: ../../whatsnew/3.3.rst:609 -msgid ":pep:`3155` - Qualified name for classes and functions" -msgstr "" - -#: ../../whatsnew/3.3.rst:610 -msgid "PEP written and implemented by Antoine Pitrou." -msgstr "" - -#: ../../whatsnew/3.3.rst:616 -msgid "PEP 412: Key-Sharing Dictionary" -msgstr "" - -#: ../../whatsnew/3.3.rst:618 -msgid "" -"Dictionaries used for the storage of objects' attributes are now able to " -"share part of their internal storage between each other (namely, the part " -"which stores the keys and their respective hashes). This reduces the memory" -" consumption of programs creating many instances of non-builtin types." -msgstr "" - -#: ../../whatsnew/3.3.rst:625 -msgid ":pep:`412` - Key-Sharing Dictionary" -msgstr "" - -#: ../../whatsnew/3.3.rst:626 -msgid "PEP written and implemented by Mark Shannon." -msgstr "" - -#: ../../whatsnew/3.3.rst:630 -msgid "PEP 362: Function Signature Object" -msgstr "" - -#: ../../whatsnew/3.3.rst:632 -msgid "" -"A new function :func:`inspect.signature` makes introspection of python " -"callables easy and straightforward. A broad range of callables is " -"supported: python functions, decorated or not, classes, and " -":func:`functools.partial` objects. New classes :class:`inspect.Signature`, " -":class:`inspect.Parameter` and :class:`inspect.BoundArguments` hold " -"information about the call signatures, such as, annotations, default values," -" parameters kinds, and bound arguments, which considerably simplifies " -"writing decorators and any code that validates or amends calling signatures " -"or arguments." -msgstr "" - -#: ../../whatsnew/3.3.rst:643 -msgid ":pep:`362`: - Function Signature Object" -msgstr "" - -#: ../../whatsnew/3.3.rst:644 -msgid "" -"PEP written by Brett Cannon, Yury Selivanov, Larry Hastings, Jiwon Seo; " -"implemented by Yury Selivanov." -msgstr "" - -#: ../../whatsnew/3.3.rst:649 -msgid "PEP 421: Adding sys.implementation" -msgstr "" - -#: ../../whatsnew/3.3.rst:651 -msgid "" -"A new attribute on the :mod:`sys` module exposes details specific to the " -"implementation of the currently running interpreter. The initial set of " -"attributes on :data:`sys.implementation` are ``name``, ``version``, " -"``hexversion``, and ``cache_tag``." -msgstr "" - -#: ../../whatsnew/3.3.rst:656 -msgid "" -"The intention of ``sys.implementation`` is to consolidate into one namespace" -" the implementation-specific data used by the standard library. This allows" -" different Python implementations to share a single standard library code " -"base much more easily. In its initial state, ``sys.implementation`` holds " -"only a small portion of the implementation-specific data. Over time that " -"ratio will shift in order to make the standard library more portable." -msgstr "" - -#: ../../whatsnew/3.3.rst:663 -msgid "" -"One example of improved standard library portability is ``cache_tag``. As " -"of Python 3.3, ``sys.implementation.cache_tag`` is used by :mod:`importlib` " -"to support :pep:`3147` compliance. Any Python implementation that uses " -"``importlib`` for its built-in import system may use ``cache_tag`` to " -"control the caching behavior for modules." -msgstr "" - -#: ../../whatsnew/3.3.rst:670 -msgid "SimpleNamespace" -msgstr "" - -#: ../../whatsnew/3.3.rst:672 -msgid "" -"The implementation of ``sys.implementation`` also introduces a new type to " -"Python: :class:`types.SimpleNamespace`. In contrast to a mapping-based " -"namespace, like :class:`dict`, ``SimpleNamespace`` is attribute-based, like " -":class:`object`. However, unlike ``object``, ``SimpleNamespace`` instances " -"are writable. This means that you can add, remove, and modify the namespace" -" through normal attribute access." -msgstr "" - -#: ../../whatsnew/3.3.rst:681 -msgid ":pep:`421` - Adding sys.implementation" -msgstr "" - -#: ../../whatsnew/3.3.rst:682 -msgid "PEP written and implemented by Eric Snow." -msgstr "" - -#: ../../whatsnew/3.3.rst:688 -msgid "Using importlib as the Implementation of Import" -msgstr "" - -#: ../../whatsnew/3.3.rst:689 -msgid "" -":issue:`2377` - Replace __import__ w/ importlib.__import__ :issue:`13959` - " -"Re-implement parts of :mod:`!imp` in pure Python :issue:`14605` - Make " -"import machinery explicit :issue:`14646` - Require loaders set __loader__ " -"and __package__" -msgstr "" - -#: ../../whatsnew/3.3.rst:694 -msgid "" -"The :func:`__import__` function is now powered by " -":func:`importlib.__import__`. This work leads to the completion of \"phase " -"2\" of :pep:`302`. There are multiple benefits to this change. First, it has" -" allowed for more of the machinery powering import to be exposed instead of " -"being implicit and hidden within the C code. It also provides a single " -"implementation for all Python VMs supporting Python 3.3 to use, helping to " -"end any VM-specific deviations in import semantics. And finally it eases the" -" maintenance of import, allowing for future growth to occur." -msgstr "" - -#: ../../whatsnew/3.3.rst:703 -msgid "" -"For the common user, there should be no visible change in semantics. For " -"those whose code currently manipulates import or calls import " -"programmatically, the code changes that might possibly be required are " -"covered in the `Porting Python code`_ section of this document." -msgstr "" - -#: ../../whatsnew/3.3.rst:709 -msgid "New APIs" -msgstr "API Baru" - -#: ../../whatsnew/3.3.rst:710 -msgid "" -"One of the large benefits of this work is the exposure of what goes into " -"making the import statement work. That means the various importers that were" -" once implicit are now fully exposed as part of the :mod:`importlib` " -"package." -msgstr "" - -#: ../../whatsnew/3.3.rst:714 -msgid "" -"The abstract base classes defined in :mod:`importlib.abc` have been expanded" -" to properly delineate between :term:`meta path finders ` " -"and :term:`path entry finders ` by introducing " -":class:`importlib.abc.MetaPathFinder` and " -":class:`importlib.abc.PathEntryFinder`, respectively. The old ABC of " -":class:`!importlib.abc.Finder` is now only provided for backwards-" -"compatibility and does not enforce any method requirements." -msgstr "" - -#: ../../whatsnew/3.3.rst:722 -msgid "" -"In terms of finders, :class:`importlib.machinery.FileFinder` exposes the " -"mechanism used to search for source and bytecode files of a module. " -"Previously this class was an implicit member of :data:`sys.path_hooks`." -msgstr "" - -#: ../../whatsnew/3.3.rst:726 -msgid "" -"For loaders, the new abstract base class :class:`importlib.abc.FileLoader` " -"helps write a loader that uses the file system as the storage mechanism for " -"a module's code. The loader for source files " -"(:class:`importlib.machinery.SourceFileLoader`), sourceless bytecode files " -"(:class:`importlib.machinery.SourcelessFileLoader`), and extension modules " -"(:class:`importlib.machinery.ExtensionFileLoader`) are now available for " -"direct use." -msgstr "" - -#: ../../whatsnew/3.3.rst:734 -msgid "" -":exc:`ImportError` now has ``name`` and ``path`` attributes which are set " -"when there is relevant data to provide. The message for failed imports will " -"also provide the full name of the module now instead of just the tail end of" -" the module's name." -msgstr "" - -#: ../../whatsnew/3.3.rst:739 -msgid "" -"The :func:`importlib.invalidate_caches` function will now call the method " -"with the same name on all finders cached in :data:`sys.path_importer_cache` " -"to help clean up any stored state as necessary." -msgstr "" - -#: ../../whatsnew/3.3.rst:744 -msgid "Visible Changes" -msgstr "" - -#: ../../whatsnew/3.3.rst:746 -msgid "" -"For potential required changes to code, see the `Porting Python code`_ " -"section." -msgstr "" - -#: ../../whatsnew/3.3.rst:749 -msgid "" -"Beyond the expanse of what :mod:`importlib` now exposes, there are other " -"visible changes to import. The biggest is that :data:`sys.meta_path` and " -":data:`sys.path_hooks` now store all of the meta path finders and path entry" -" hooks used by import. Previously the finders were implicit and hidden " -"within the C code of import instead of being directly exposed. This means " -"that one can now easily remove or change the order of the various finders to" -" fit one's needs." -msgstr "" - -#: ../../whatsnew/3.3.rst:756 -msgid "" -"Another change is that all modules have a ``__loader__`` attribute, storing " -"the loader used to create the module. :pep:`302` has been updated to make " -"this attribute mandatory for loaders to implement, so in the future once " -"3rd-party loaders have been updated people will be able to rely on the " -"existence of the attribute. Until such time, though, import is setting the " -"module post-load." -msgstr "" - -#: ../../whatsnew/3.3.rst:762 -msgid "" -"Loaders are also now expected to set the ``__package__`` attribute from " -":pep:`366`. Once again, import itself is already setting this on all loaders" -" from :mod:`importlib` and import itself is setting the attribute post-load." -msgstr "" - -#: ../../whatsnew/3.3.rst:766 -msgid "" -"``None`` is now inserted into :data:`sys.path_importer_cache` when no finder" -" can be found on :data:`sys.path_hooks`. Since :class:`!imp.NullImporter` is" -" not directly exposed on :data:`sys.path_hooks` it could no longer be relied" -" upon to always be available to use as a value representing no finder found." -msgstr "" - -#: ../../whatsnew/3.3.rst:771 -msgid "" -"All other changes relate to semantic changes which should be taken into " -"consideration when updating code for Python 3.3, and thus should be read " -"about in the `Porting Python code`_ section of this document." -msgstr "" - -#: ../../whatsnew/3.3.rst:775 -msgid "(Implementation by Brett Cannon)" -msgstr "" - -#: ../../whatsnew/3.3.rst:779 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.3.rst:781 -msgid "Some smaller changes made to the core Python language are:" -msgstr "" - -#: ../../whatsnew/3.3.rst:783 -msgid "" -"Added support for Unicode name aliases and named sequences. Both " -":func:`unicodedata.lookup` and ``'\\N{...}'`` now resolve name aliases, and " -":func:`unicodedata.lookup` resolves named sequences too." -msgstr "" - -#: ../../whatsnew/3.3.rst:787 -msgid "(Contributed by Ezio Melotti in :issue:`12753`.)" -msgstr "(Kontribusi dari Ezio Melotti di :issue:`12753`.)" - -#: ../../whatsnew/3.3.rst:789 -msgid "Unicode database updated to UCD version 6.1.0" -msgstr "" - -#: ../../whatsnew/3.3.rst:791 -msgid "" -"Equality comparisons on :func:`range` objects now return a result reflecting" -" the equality of the underlying sequences generated by those range objects. " -"(:issue:`13201`)" -msgstr "" - -#: ../../whatsnew/3.3.rst:795 -msgid "" -"The ``count()``, ``find()``, ``rfind()``, ``index()`` and ``rindex()`` " -"methods of :class:`bytes` and :class:`bytearray` objects now accept an " -"integer between 0 and 255 as their first argument." -msgstr "" - -#: ../../whatsnew/3.3.rst:799 -msgid "(Contributed by Petri Lehtinen in :issue:`12170`.)" -msgstr "(Kontribusi dari Petri Lehtinen di :issue:`12170`.)" - -#: ../../whatsnew/3.3.rst:801 -msgid "" -"The ``rjust()``, ``ljust()``, and ``center()`` methods of :class:`bytes` and" -" :class:`bytearray` now accept a :class:`bytearray` for the ``fill`` " -"argument. (Contributed by Petri Lehtinen in :issue:`12380`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:805 -msgid "" -"New methods have been added to :class:`list` and :class:`bytearray`: " -"``copy()`` and ``clear()`` (:issue:`10516`). Consequently, " -":class:`~collections.abc.MutableSequence` now also defines a " -":meth:`~collections.abc.MutableSequence.clear` method (:issue:`11388`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:810 -msgid "Raw bytes literals can now be written ``rb\"...\"`` as well as ``br\"...\"``." -msgstr "" - -#: ../../whatsnew/3.3.rst:812 -msgid "(Contributed by Antoine Pitrou in :issue:`13748`.)" -msgstr "(Kontribusi dari Antoine Pitrou di :issue:`13748`.)" - -#: ../../whatsnew/3.3.rst:814 -msgid "" -":meth:`dict.setdefault` now does only one lookup for the given key, making " -"it atomic when used with built-in types." -msgstr "" - -#: ../../whatsnew/3.3.rst:817 -msgid "(Contributed by Filip Gruszczyński in :issue:`13521`.)" -msgstr "(Kontribusi dari Filip Gruszczyński di :issue:`13521`.)" - -#: ../../whatsnew/3.3.rst:819 -msgid "" -"The error messages produced when a function call does not match the function" -" signature have been significantly improved." -msgstr "" - -#: ../../whatsnew/3.3.rst:822 -msgid "(Contributed by Benjamin Peterson.)" -msgstr "(Kontribusi dari Benjamin Peterson.)" - -#: ../../whatsnew/3.3.rst:826 -msgid "A Finer-Grained Import Lock" -msgstr "" - -#: ../../whatsnew/3.3.rst:828 -msgid "" -"Previous versions of CPython have always relied on a global import lock. " -"This led to unexpected annoyances, such as deadlocks when importing a module" -" would trigger code execution in a different thread as a side-effect. Clumsy" -" workarounds were sometimes employed, such as the " -":c:func:`PyImport_ImportModuleNoBlock` C API function." -msgstr "" - -#: ../../whatsnew/3.3.rst:834 -msgid "" -"In Python 3.3, importing a module takes a per-module lock. This correctly " -"serializes importation of a given module from multiple threads (preventing " -"the exposure of incompletely initialized modules), while eliminating the " -"aforementioned annoyances." -msgstr "" - -#: ../../whatsnew/3.3.rst:839 -msgid "(Contributed by Antoine Pitrou in :issue:`9260`.)" -msgstr "(Kontribusi dari Antoine Pitrou di :issue:`9260`.)" - -#: ../../whatsnew/3.3.rst:843 -msgid "Builtin functions and types" -msgstr "" - -#: ../../whatsnew/3.3.rst:845 -msgid "" -":func:`open` gets a new *opener* parameter: the underlying file descriptor " -"for the file object is then obtained by calling *opener* with (*file*, " -"*flags*). It can be used to use custom flags like :const:`os.O_CLOEXEC` for " -"example. The ``'x'`` mode was added: open for exclusive creation, failing if" -" the file already exists." -msgstr "" - -#: ../../whatsnew/3.3.rst:850 -msgid "" -":func:`print`: added the *flush* keyword argument. If the *flush* keyword " -"argument is true, the stream is forcibly flushed." -msgstr "" - -#: ../../whatsnew/3.3.rst:852 -msgid "" -":func:`hash`: hash randomization is enabled by default, see " -":meth:`object.__hash__` and :envvar:`PYTHONHASHSEED`." -msgstr "" - -#: ../../whatsnew/3.3.rst:854 -msgid "" -"The :class:`str` type gets a new :meth:`~str.casefold` method: return a " -"casefolded copy of the string, casefolded strings may be used for caseless " -"matching. For example, ``'ß'.casefold()`` returns ``'ss'``." -msgstr "" - -#: ../../whatsnew/3.3.rst:857 -msgid "" -"The sequence documentation has been substantially rewritten to better " -"explain the binary/text sequence distinction and to provide specific " -"documentation sections for the individual builtin sequence types " -"(:issue:`4966`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:864 -msgid "New Modules" -msgstr "Modul-Modul Baru" - -#: ../../whatsnew/3.3.rst:867 -msgid "faulthandler" -msgstr "" - -#: ../../whatsnew/3.3.rst:869 -msgid "" -"This new debug module :mod:`faulthandler` contains functions to dump Python " -"tracebacks explicitly, on a fault (a crash like a segmentation fault), after" -" a timeout, or on a user signal. Call :func:`faulthandler.enable` to install" -" fault handlers for the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`," -" :const:`SIGBUS`, and :const:`SIGILL` signals. You can also enable them at " -"startup by setting the :envvar:`PYTHONFAULTHANDLER` environment variable or " -"by using :option:`-X` ``faulthandler`` command line option." -msgstr "" - -#: ../../whatsnew/3.3.rst:877 -msgid "Example of a segmentation fault on Linux:" -msgstr "" - -#: ../../whatsnew/3.3.rst:879 -msgid "" -"$ python -q -X faulthandler\n" -">>> import ctypes\n" -">>> ctypes.string_at(0)\n" -"Fatal Python error: Segmentation fault\n" -"\n" -"Current thread 0x00007fb899f39700:\n" -" File \"/home/python/cpython/Lib/ctypes/__init__.py\", line 486 in string_at\n" -" File \"\", line 1 in \n" -"Segmentation fault" -msgstr "" - -#: ../../whatsnew/3.3.rst:893 -msgid "ipaddress" -msgstr "ipaddress" - -#: ../../whatsnew/3.3.rst:895 -msgid "" -"The new :mod:`ipaddress` module provides tools for creating and manipulating" -" objects representing IPv4 and IPv6 addresses, networks and interfaces (i.e." -" an IP address associated with a specific IP subnet)." -msgstr "" - -#: ../../whatsnew/3.3.rst:899 -msgid "(Contributed by Google and Peter Moody in :pep:`3144`.)" -msgstr "(Kontribusi dari Google dan Peter Moody di :pep:`3144`.)" - -#: ../../whatsnew/3.3.rst:902 -msgid "lzma" -msgstr "lzma" - -#: ../../whatsnew/3.3.rst:904 -msgid "" -"The newly added :mod:`lzma` module provides data compression and " -"decompression using the LZMA algorithm, including support for the ``.xz`` " -"and ``.lzma`` file formats." -msgstr "" - -#: ../../whatsnew/3.3.rst:908 -msgid "(Contributed by Nadeem Vawda and Per Øyvind Karlsen in :issue:`6715`.)" -msgstr "" -"(Kontribusi dari Nadeem Vawda dan Per Øyvind Karlsen di :issue:`6715`.)" - -#: ../../whatsnew/3.3.rst:912 -msgid "Improved Modules" -msgstr "Modul yang Ditingkatkan" - -#: ../../whatsnew/3.3.rst:915 -msgid "abc" -msgstr "abc" - -#: ../../whatsnew/3.3.rst:917 -msgid "" -"Improved support for abstract base classes containing descriptors composed " -"with abstract methods. The recommended approach to declaring abstract " -"descriptors is now to provide :attr:`__isabstractmethod__` as a dynamically " -"updated property. The built-in descriptors have been updated accordingly." -msgstr "" - -#: ../../whatsnew/3.3.rst:922 ../../whatsnew/3.3.rst:2248 -msgid "" -":class:`abc.abstractproperty` has been deprecated, use :class:`property` " -"with :func:`abc.abstractmethod` instead." -msgstr "" - -#: ../../whatsnew/3.3.rst:924 ../../whatsnew/3.3.rst:2250 -msgid "" -":class:`abc.abstractclassmethod` has been deprecated, use " -":class:`classmethod` with :func:`abc.abstractmethod` instead." -msgstr "" - -#: ../../whatsnew/3.3.rst:926 ../../whatsnew/3.3.rst:2252 -msgid "" -":class:`abc.abstractstaticmethod` has been deprecated, use " -":class:`staticmethod` with :func:`abc.abstractmethod` instead." -msgstr "" - -#: ../../whatsnew/3.3.rst:929 -msgid "(Contributed by Darren Dale in :issue:`11610`.)" -msgstr "(Kontribusi dari Darren Dale di :issue:`11610`.)" - -#: ../../whatsnew/3.3.rst:931 -msgid "" -":meth:`abc.ABCMeta.register` now returns the registered subclass, which " -"means it can now be used as a class decorator (:issue:`10868`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:936 -msgid "array" -msgstr "array" - -#: ../../whatsnew/3.3.rst:938 -msgid "" -"The :mod:`array` module supports the :c:expr:`long long` type using ``q`` " -"and ``Q`` type codes." -msgstr "" - -#: ../../whatsnew/3.3.rst:941 -msgid "" -"(Contributed by Oren Tirosh and Hirokazu Yamamoto in :issue:`1172711`.)" -msgstr "" -"(Kontribusi dari Oren Tirosh dan Hirokazu Yamamoto di :issue:`1172711`.)" - -#: ../../whatsnew/3.3.rst:945 -msgid "base64" -msgstr "" - -#: ../../whatsnew/3.3.rst:947 -msgid "" -"ASCII-only Unicode strings are now accepted by the decoding functions of the" -" :mod:`base64` modern interface. For example, ``base64.b64decode('YWJj')`` " -"returns ``b'abc'``. (Contributed by Catalin Iacob in :issue:`13641`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:953 -msgid "binascii" -msgstr "binascii" - -#: ../../whatsnew/3.3.rst:955 -msgid "" -"In addition to the binary objects they normally accept, the ``a2b_`` " -"functions now all also accept ASCII-only strings as input. (Contributed by " -"Antoine Pitrou in :issue:`13637`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:961 -msgid "bz2" -msgstr "bz2" - -#: ../../whatsnew/3.3.rst:963 -msgid "" -"The :mod:`bz2` module has been rewritten from scratch. In the process, " -"several new features have been added:" -msgstr "" - -#: ../../whatsnew/3.3.rst:966 -msgid "" -"New :func:`bz2.open` function: open a bzip2-compressed file in binary or " -"text mode." -msgstr "" - -#: ../../whatsnew/3.3.rst:969 -msgid "" -":class:`bz2.BZ2File` can now read from and write to arbitrary file-like " -"objects, by means of its constructor's *fileobj* argument." -msgstr "" - -#: ../../whatsnew/3.3.rst:972 -msgid "(Contributed by Nadeem Vawda in :issue:`5863`.)" -msgstr "(Kontribusi dari Nadeem Vawda di :issue:`5863`.)" - -#: ../../whatsnew/3.3.rst:974 -msgid "" -":class:`bz2.BZ2File` and :func:`bz2.decompress` can now decompress multi-" -"stream inputs (such as those produced by the :program:`pbzip2` tool). " -":class:`bz2.BZ2File` can now also be used to create this type of file, using" -" the ``'a'`` (append) mode." -msgstr "" - -#: ../../whatsnew/3.3.rst:979 -msgid "(Contributed by Nir Aides in :issue:`1625`.)" -msgstr "(Kontribusi dari Nir Aides di :issue:`1625`.)" - -#: ../../whatsnew/3.3.rst:981 -msgid "" -":class:`bz2.BZ2File` now implements all of the :class:`io.BufferedIOBase` " -"API, except for the :meth:`detach` and :meth:`truncate` methods." -msgstr "" - -#: ../../whatsnew/3.3.rst:986 -msgid "codecs" -msgstr "" - -#: ../../whatsnew/3.3.rst:988 -msgid "" -"The :mod:`~encodings.mbcs` codec has been rewritten to handle correctly " -"``replace`` and ``ignore`` error handlers on all Windows versions. The " -":mod:`~encodings.mbcs` codec now supports all error handlers, instead of " -"only ``replace`` to encode and ``ignore`` to decode." -msgstr "" - -#: ../../whatsnew/3.3.rst:993 -msgid "" -"A new Windows-only codec has been added: ``cp65001`` (:issue:`13216`). It is" -" the Windows code page 65001 (Windows UTF-8, ``CP_UTF8``). For example, it " -"is used by ``sys.stdout`` if the console output code page is set to cp65001 " -"(e.g., using ``chcp 65001`` command)." -msgstr "" - -#: ../../whatsnew/3.3.rst:998 -msgid "" -"Multibyte CJK decoders now resynchronize faster. They only ignore the first" -" byte of an invalid byte sequence. For example, " -"``b'\\xff\\n'.decode('gb2312', 'replace')`` now returns a ``\\n`` after the " -"replacement character." -msgstr "" - -#: ../../whatsnew/3.3.rst:1002 -msgid "(:issue:`12016`)" -msgstr "(:issue:`12016`)" - -#: ../../whatsnew/3.3.rst:1004 -msgid "" -"Incremental CJK codec encoders are no longer reset at each call to their " -"encode() methods. For example::" -msgstr "" - -#: ../../whatsnew/3.3.rst:1007 -msgid "" -">>> import codecs\n" -">>> encoder = codecs.getincrementalencoder('hz')('strict')\n" -">>> b''.join(encoder.encode(x) for x in '\\u52ff\\u65bd\\u65bc\\u4eba\\u3002 Bye.')\n" -"b'~{NpJ)l6HK!#~} Bye.'" -msgstr "" - -#: ../../whatsnew/3.3.rst:1012 -msgid "" -"This example gives ``b'~{Np~}~{J)~}~{l6~}~{HK~}~{!#~} Bye.'`` with older " -"Python versions." -msgstr "" - -#: ../../whatsnew/3.3.rst:1015 -msgid "(:issue:`12100`)" -msgstr "(:issue:`12100`)" - -#: ../../whatsnew/3.3.rst:1017 -msgid "The ``unicode_internal`` codec has been deprecated." -msgstr "" - -#: ../../whatsnew/3.3.rst:1021 -msgid "collections" -msgstr "collections" - -#: ../../whatsnew/3.3.rst:1023 -msgid "" -"Addition of a new :class:`~collections.ChainMap` class to allow treating a " -"number of mappings as a single unit. (Written by Raymond Hettinger for " -":issue:`11089`, made public in :issue:`11297`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1027 -msgid "" -"The abstract base classes have been moved in a new :mod:`collections.abc` " -"module, to better differentiate between the abstract and the concrete " -"collections classes. Aliases for ABCs are still present in the " -":mod:`collections` module to preserve existing imports. (:issue:`11085`)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1034 -msgid "" -"The :class:`~collections.Counter` class now supports the unary ``+`` and " -"``-`` operators, as well as the in-place operators ``+=``, ``-=``, ``|=``, " -"and ``&=``. (Contributed by Raymond Hettinger in :issue:`13121`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1040 -msgid "contextlib" -msgstr "contextlib" - -#: ../../whatsnew/3.3.rst:1042 -msgid "" -":class:`~contextlib.ExitStack` now provides a solid foundation for " -"programmatic manipulation of context managers and similar cleanup " -"functionality. Unlike the previous ``contextlib.nested`` API (which was " -"deprecated and removed), the new API is designed to work correctly " -"regardless of whether context managers acquire their resources in their " -"``__init__`` method (for example, file objects) or in their ``__enter__`` " -"method (for example, synchronisation objects from the :mod:`threading` " -"module)." -msgstr "" - -#: ../../whatsnew/3.3.rst:1051 -msgid "(:issue:`13585`)" -msgstr "(:issue:`13585`)" - -#: ../../whatsnew/3.3.rst:1055 -msgid "crypt" -msgstr "crypt" - -#: ../../whatsnew/3.3.rst:1057 -msgid "" -"Addition of salt and modular crypt format (hashing method) and the " -":func:`!mksalt` function to the :mod:`!crypt` module." -msgstr "" - -#: ../../whatsnew/3.3.rst:1060 -msgid "(:issue:`10924`)" -msgstr "(:issue:`10924`)" - -#: ../../whatsnew/3.3.rst:1063 -msgid "curses" -msgstr "" - -#: ../../whatsnew/3.3.rst:1065 -msgid "" -"If the :mod:`curses` module is linked to the ncursesw library, use Unicode " -"functions when Unicode strings or characters are passed (e.g. " -":c:func:`waddwstr`), and bytes functions otherwise (e.g. :c:func:`waddstr`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:1068 -msgid "" -"Use the locale encoding instead of ``utf-8`` to encode Unicode strings." -msgstr "" - -#: ../../whatsnew/3.3.rst:1069 -msgid "" -":class:`curses.window` has a new :attr:`curses.window.encoding` attribute." -msgstr "" - -#: ../../whatsnew/3.3.rst:1070 -msgid "" -"The :class:`curses.window` class has a new :meth:`~curses.window.get_wch` " -"method to get a wide character" -msgstr "" - -#: ../../whatsnew/3.3.rst:1072 -msgid "" -"The :mod:`curses` module has a new :meth:`~curses.unget_wch` function to " -"push a wide character so the next :meth:`~curses.window.get_wch` will return" -" it" -msgstr "" - -#: ../../whatsnew/3.3.rst:1076 -msgid "(Contributed by Iñigo Serna in :issue:`6755`.)" -msgstr "(Kontribusi dari Iñigo Serna di :issue:`6755`.)" - -#: ../../whatsnew/3.3.rst:1079 -msgid "datetime" -msgstr "datetime" - -#: ../../whatsnew/3.3.rst:1081 -msgid "" -"Equality comparisons between naive and aware :class:`~datetime.datetime` " -"instances now return :const:`False` instead of raising :exc:`TypeError` " -"(:issue:`15006`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:1084 -msgid "" -"New :meth:`datetime.datetime.timestamp` method: Return POSIX timestamp " -"corresponding to the :class:`~datetime.datetime` instance." -msgstr "" - -#: ../../whatsnew/3.3.rst:1086 -msgid "" -"The :meth:`datetime.datetime.strftime` method supports formatting years " -"older than 1000." -msgstr "" - -#: ../../whatsnew/3.3.rst:1088 -msgid "" -"The :meth:`datetime.datetime.astimezone` method can now be called without " -"arguments to convert datetime instance to the system timezone." -msgstr "" - -#: ../../whatsnew/3.3.rst:1096 -msgid "decimal" -msgstr "decimal" - -#: ../../whatsnew/3.3.rst:1098 -msgid ":issue:`7652` - integrate fast native decimal arithmetic." -msgstr "" - -#: ../../whatsnew/3.3.rst:1099 -msgid "C-module and libmpdec written by Stefan Krah." -msgstr "" - -#: ../../whatsnew/3.3.rst:1101 -msgid "" -"The new C version of the decimal module integrates the high speed libmpdec " -"library for arbitrary precision correctly rounded decimal floating-point " -"arithmetic. libmpdec conforms to IBM's General Decimal Arithmetic " -"Specification." -msgstr "" - -#: ../../whatsnew/3.3.rst:1105 -msgid "" -"Performance gains range from 10x for database applications to 100x for " -"numerically intensive applications. These numbers are expected gains for " -"standard precisions used in decimal floating-point arithmetic. Since the " -"precision is user configurable, the exact figures may vary. For example, in " -"integer bignum arithmetic the differences can be significantly higher." -msgstr "" - -#: ../../whatsnew/3.3.rst:1111 -msgid "" -"The following table is meant as an illustration. Benchmarks are available at" -" https://www.bytereef.org/mpdecimal/quickstart.html." -msgstr "" - -#: ../../whatsnew/3.3.rst:1115 -msgid "decimal.py" -msgstr "" - -#: ../../whatsnew/3.3.rst:1115 -msgid "_decimal" -msgstr "" - -#: ../../whatsnew/3.3.rst:1115 -msgid "speedup" -msgstr "" - -#: ../../whatsnew/3.3.rst:1117 -msgid "pi" -msgstr "pi" - -#: ../../whatsnew/3.3.rst:1117 -msgid "42.02s" -msgstr "" - -#: ../../whatsnew/3.3.rst:1117 -msgid "0.345s" -msgstr "" - -#: ../../whatsnew/3.3.rst:1117 -msgid "120x" -msgstr "120x" - -#: ../../whatsnew/3.3.rst:1119 -msgid "telco" -msgstr "" - -#: ../../whatsnew/3.3.rst:1119 -msgid "172.19s" -msgstr "" - -#: ../../whatsnew/3.3.rst:1119 -msgid "5.68s" -msgstr "" - -#: ../../whatsnew/3.3.rst:1119 -msgid "30x" -msgstr "30x" - -#: ../../whatsnew/3.3.rst:1121 -msgid "psycopg" -msgstr "" - -#: ../../whatsnew/3.3.rst:1121 -msgid "3.57s" -msgstr "" - -#: ../../whatsnew/3.3.rst:1121 -msgid "0.29s" -msgstr "" - -#: ../../whatsnew/3.3.rst:1121 -msgid "12x" -msgstr "12x" - -#: ../../whatsnew/3.3.rst:1127 -msgid "" -"The :exc:`~decimal.FloatOperation` signal optionally enables stricter " -"semantics for mixing floats and Decimals." -msgstr "" - -#: ../../whatsnew/3.3.rst:1130 -msgid "" -"If Python is compiled without threads, the C version automatically disables " -"the expensive thread local context machinery. In this case, the variable " -":const:`~decimal.HAVE_THREADS` is set to ``False``." -msgstr "" - -#: ../../whatsnew/3.3.rst:1137 -msgid "" -"The C module has the following context limits, depending on the machine " -"architecture:" -msgstr "" - -#: ../../whatsnew/3.3.rst:1141 -msgid "32-bit" -msgstr "" - -#: ../../whatsnew/3.3.rst:1141 -msgid "64-bit" -msgstr "" - -#: ../../whatsnew/3.3.rst:1143 -msgid ":const:`MAX_PREC`" -msgstr "" - -#: ../../whatsnew/3.3.rst:1143 ../../whatsnew/3.3.rst:1145 -msgid "``425000000``" -msgstr "" - -#: ../../whatsnew/3.3.rst:1143 ../../whatsnew/3.3.rst:1145 -msgid "``999999999999999999``" -msgstr "" - -#: ../../whatsnew/3.3.rst:1145 -msgid ":const:`MAX_EMAX`" -msgstr "" - -#: ../../whatsnew/3.3.rst:1147 -msgid ":const:`MIN_EMIN`" -msgstr "" - -#: ../../whatsnew/3.3.rst:1147 -msgid "``-425000000``" -msgstr "" - -#: ../../whatsnew/3.3.rst:1147 -msgid "``-999999999999999999``" -msgstr "" - -#: ../../whatsnew/3.3.rst:1150 -msgid "" -"In the context templates (:const:`~decimal.DefaultContext`, " -":const:`~decimal.BasicContext` and :const:`~decimal.ExtendedContext`) the " -"magnitude of :attr:`~decimal.Context.Emax` and :attr:`~decimal.Context.Emin`" -" has changed to ``999999``." -msgstr "" - -#: ../../whatsnew/3.3.rst:1155 -msgid "" -"The :class:`~decimal.Decimal` constructor in decimal.py does not observe the" -" context limits and converts values with arbitrary exponents or precision " -"exactly. Since the C version has internal limits, the following scheme is " -"used: If possible, values are converted exactly, otherwise " -":exc:`~decimal.InvalidOperation` is raised and the result is NaN. In the " -"latter case it is always possible to use " -":meth:`~decimal.Context.create_decimal` in order to obtain a rounded or " -"inexact value." -msgstr "" - -#: ../../whatsnew/3.3.rst:1164 -msgid "" -"The power function in decimal.py is always correctly rounded. In the C " -"version, it is defined in terms of the correctly rounded " -":meth:`~decimal.Decimal.exp` and :meth:`~decimal.Decimal.ln` functions, but " -"the final result is only \"almost always correctly rounded\"." -msgstr "" - -#: ../../whatsnew/3.3.rst:1170 -msgid "" -"In the C version, the context dictionary containing the signals is a " -":class:`~collections.abc.MutableMapping`. For speed reasons, " -":attr:`~decimal.Context.flags` and :attr:`~decimal.Context.traps` always " -"refer to the same :class:`~collections.abc.MutableMapping` that the context " -"was initialized with. If a new signal dictionary is assigned, " -":attr:`~decimal.Context.flags` and :attr:`~decimal.Context.traps` are " -"updated with the new values, but they do not reference the RHS dictionary." -msgstr "" - -#: ../../whatsnew/3.3.rst:1180 -msgid "" -"Pickling a :class:`~decimal.Context` produces a different output in order to" -" have a common interchange format for the Python and C versions." -msgstr "" - -#: ../../whatsnew/3.3.rst:1184 -msgid "" -"The order of arguments in the :class:`~decimal.Context` constructor has been" -" changed to match the order displayed by :func:`repr`." -msgstr "" - -#: ../../whatsnew/3.3.rst:1188 -msgid "" -"The ``watchexp`` parameter in the :meth:`~decimal.Decimal.quantize` method " -"is deprecated." -msgstr "" - -#: ../../whatsnew/3.3.rst:1195 -msgid "email" -msgstr "" - -#: ../../whatsnew/3.3.rst:1198 -msgid "Policy Framework" -msgstr "" - -#: ../../whatsnew/3.3.rst:1200 -msgid "" -"The email package now has a :mod:`~email.policy` framework. A " -":class:`~email.policy.Policy` is an object with several methods and " -"properties that control how the email package behaves. The primary policy " -"for Python 3.3 is the :class:`~email.policy.Compat32` policy, which provides" -" backward compatibility with the email package in Python 3.2. A ``policy`` " -"can be specified when an email message is parsed by a :mod:`~email.parser`, " -"or when a :class:`~email.message.Message` object is created, or when an " -"email is serialized using a :mod:`~email.generator`. Unless overridden, a " -"policy passed to a ``parser`` is inherited by all the ``Message`` object and" -" sub-objects created by the ``parser``. By default a ``generator`` will use" -" the policy of the ``Message`` object it is serializing. The default policy" -" is :data:`~email.policy.compat32`." -msgstr "" - -#: ../../whatsnew/3.3.rst:1213 -msgid "The minimum set of controls implemented by all ``policy`` objects are:" -msgstr "" - -#: ../../whatsnew/3.3.rst:1218 -msgid "max_line_length" -msgstr "" - -#: ../../whatsnew/3.3.rst:1218 -msgid "" -"The maximum length, excluding the linesep character(s), individual lines may" -" have when a ``Message`` is serialized. Defaults to 78." -msgstr "" - -#: ../../whatsnew/3.3.rst:1222 -msgid "linesep" -msgstr "" - -#: ../../whatsnew/3.3.rst:1222 -msgid "" -"The character used to separate individual lines when a ``Message`` is " -"serialized. Defaults to ``\\n``." -msgstr "" - -#: ../../whatsnew/3.3.rst:1225 -msgid "cte_type" -msgstr "" - -#: ../../whatsnew/3.3.rst:1225 -msgid "" -"``7bit`` or ``8bit``. ``8bit`` applies only to a ``Bytes`` ``generator``, " -"and means that non-ASCII may be used where allowed by the protocol (or where" -" it exists in the original input)." -msgstr "" - -#: ../../whatsnew/3.3.rst:1230 -msgid "raise_on_defect" -msgstr "" - -#: ../../whatsnew/3.3.rst:1230 -msgid "" -"Causes a ``parser`` to raise error when defects are encountered instead of " -"adding them to the ``Message`` object's ``defects`` list." -msgstr "" - -#: ../../whatsnew/3.3.rst:1235 -msgid "" -"A new policy instance, with new settings, is created using the " -":meth:`~email.policy.Policy.clone` method of policy objects. ``clone`` " -"takes any of the above controls as keyword arguments. Any control not " -"specified in the call retains its default value. Thus you can create a " -"policy that uses ``\\r\\n`` linesep characters like this::" -msgstr "" - -#: ../../whatsnew/3.3.rst:1241 -msgid "mypolicy = compat32.clone(linesep='\\r\\n')" -msgstr "" - -#: ../../whatsnew/3.3.rst:1243 -msgid "" -"Policies can be used to make the generation of messages in the format needed" -" by your application simpler. Instead of having to remember to specify " -"``linesep='\\r\\n'`` in all the places you call a ``generator``, you can " -"specify it once, when you set the policy used by the ``parser`` or the " -"``Message``, whichever your program uses to create ``Message`` objects. On " -"the other hand, if you need to generate messages in multiple forms, you can " -"still specify the parameters in the appropriate ``generator`` call. Or you " -"can have custom policy instances for your different cases, and pass those in" -" when you create the ``generator``." -msgstr "" - -#: ../../whatsnew/3.3.rst:1255 -msgid "Provisional Policy with New Header API" -msgstr "" - -#: ../../whatsnew/3.3.rst:1257 -msgid "" -"While the policy framework is worthwhile all by itself, the main motivation " -"for introducing it is to allow the creation of new policies that implement " -"new features for the email package in a way that maintains backward " -"compatibility for those who do not use the new policies. Because the new " -"policies introduce a new API, we are releasing them in Python 3.3 as a " -":term:`provisional policy `. Backwards incompatible " -"changes (up to and including removal of the code) may occur if deemed " -"necessary by the core developers." -msgstr "" - -#: ../../whatsnew/3.3.rst:1265 -msgid "" -"The new policies are instances of :class:`~email.policy.EmailPolicy`, and " -"add the following additional controls:" -msgstr "" - -#: ../../whatsnew/3.3.rst:1271 -msgid "refold_source" -msgstr "" - -#: ../../whatsnew/3.3.rst:1271 -msgid "" -"Controls whether or not headers parsed by a :mod:`~email.parser` are " -"refolded by the :mod:`~email.generator`. It can be ``none``, ``long``, or " -"``all``. The default is ``long``, which means that source headers with a " -"line longer than ``max_line_length`` get refolded. ``none`` means no line " -"get refolded, and ``all`` means that all lines get refolded." -msgstr "" - -#: ../../whatsnew/3.3.rst:1280 -msgid "header_factory" -msgstr "" - -#: ../../whatsnew/3.3.rst:1280 -msgid "" -"A callable that take a ``name`` and ``value`` and produces a custom header " -"object." -msgstr "" - -#: ../../whatsnew/3.3.rst:1284 -msgid "" -"The ``header_factory`` is the key to the new features provided by the new " -"policies. When one of the new policies is used, any header retrieved from a" -" ``Message`` object is an object produced by the ``header_factory``, and any" -" time you set a header on a ``Message`` it becomes an object produced by " -"``header_factory``. All such header objects have a ``name`` attribute equal" -" to the header name. Address and Date headers have additional attributes " -"that give you access to the parsed data of the header. This means you can " -"now do things like this::" -msgstr "" - -#: ../../whatsnew/3.3.rst:1293 -msgid "" -">>> m = Message(policy=SMTP)\n" -">>> m['To'] = 'Éric '\n" -">>> m['to']\n" -"'Éric '\n" -">>> m['to'].addresses\n" -"(Address(display_name='Éric', username='foo', domain='example.com'),)\n" -">>> m['to'].addresses[0].username\n" -"'foo'\n" -">>> m['to'].addresses[0].display_name\n" -"'Éric'\n" -">>> m['Date'] = email.utils.localtime()\n" -">>> m['Date'].datetime\n" -"datetime.datetime(2012, 5, 25, 21, 39, 24, 465484, tzinfo=datetime.timezone(datetime.timedelta(-1, 72000), 'EDT'))\n" -">>> m['Date']\n" -"'Fri, 25 May 2012 21:44:27 -0400'\n" -">>> print(m)\n" -"To: =?utf-8?q?=C3=89ric?= \n" -"Date: Fri, 25 May 2012 21:44:27 -0400" -msgstr "" - -#: ../../whatsnew/3.3.rst:1312 -msgid "" -"You will note that the unicode display name is automatically encoded as " -"``utf-8`` when the message is serialized, but that when the header is " -"accessed directly, you get the unicode version. This eliminates any need to" -" deal with the :mod:`email.header` :meth:`~email.header.decode_header` or " -":meth:`~email.header.make_header` functions." -msgstr "" - -#: ../../whatsnew/3.3.rst:1318 -msgid "You can also create addresses from parts::" -msgstr "" - -#: ../../whatsnew/3.3.rst:1320 -msgid "" -">>> m['cc'] = [Group('pals', [Address('Bob', 'bob', 'example.com'),\n" -"... Address('Sally', 'sally', 'example.com')]),\n" -"... Address('Bonzo', addr_spec='bonz@laugh.com')]\n" -">>> print(m)\n" -"To: =?utf-8?q?=C3=89ric?= \n" -"Date: Fri, 25 May 2012 21:44:27 -0400\n" -"cc: pals: Bob , Sally ;, Bonzo " -msgstr "" - -#: ../../whatsnew/3.3.rst:1328 -msgid "Decoding to unicode is done automatically::" -msgstr "" - -#: ../../whatsnew/3.3.rst:1330 -msgid "" -">>> m2 = message_from_string(str(m))\n" -">>> m2['to']\n" -"'Éric '" -msgstr "" - -#: ../../whatsnew/3.3.rst:1334 -msgid "" -"When you parse a message, you can use the ``addresses`` and ``groups`` " -"attributes of the header objects to access the groups and individual " -"addresses::" -msgstr "" - -#: ../../whatsnew/3.3.rst:1338 -msgid "" -">>> m2['cc'].addresses\n" -"(Address(display_name='Bob', username='bob', domain='example.com'), Address(display_name='Sally', username='sally', domain='example.com'), Address(display_name='Bonzo', username='bonz', domain='laugh.com'))\n" -">>> m2['cc'].groups\n" -"(Group(display_name='pals', addresses=(Address(display_name='Bob', username='bob', domain='example.com'), Address(display_name='Sally', username='sally', domain='example.com')), Group(display_name=None, addresses=(Address(display_name='Bonzo', username='bonz', domain='laugh.com'),))" -msgstr "" - -#: ../../whatsnew/3.3.rst:1343 -msgid "" -"In summary, if you use one of the new policies, header manipulation works " -"the way it ought to: your application works with unicode strings, and the " -"email package transparently encodes and decodes the unicode to and from the " -"RFC standard Content Transfer Encodings." -msgstr "" - -#: ../../whatsnew/3.3.rst:1349 -msgid "Other API Changes" -msgstr "Perubahan API Lainnya" - -#: ../../whatsnew/3.3.rst:1351 -msgid "" -"New :class:`~email.parser.BytesHeaderParser`, added to the " -":mod:`~email.parser` module to complement " -":class:`~email.parser.HeaderParser` and complete the Bytes API." -msgstr "" - -#: ../../whatsnew/3.3.rst:1355 -msgid "New utility functions:" -msgstr "" - -#: ../../whatsnew/3.3.rst:1357 -msgid "" -":func:`~email.utils.format_datetime`: given a :class:`~datetime.datetime`, " -"produce a string formatted for use in an email header." -msgstr "" - -#: ../../whatsnew/3.3.rst:1360 -msgid "" -":func:`~email.utils.parsedate_to_datetime`: given a date string from an " -"email header, convert it into an aware :class:`~datetime.datetime`, or a " -"naive :class:`~datetime.datetime` if the offset is ``-0000``." -msgstr "" - -#: ../../whatsnew/3.3.rst:1364 -msgid "" -":func:`~email.utils.localtime`: With no argument, returns the current local " -"time as an aware :class:`~datetime.datetime` using the local " -":class:`~datetime.timezone`. Given an aware :class:`~datetime.datetime`, " -"converts it into an aware :class:`~datetime.datetime` using the local " -":class:`~datetime.timezone`." -msgstr "" - -#: ../../whatsnew/3.3.rst:1372 -msgid "ftplib" -msgstr "" - -#: ../../whatsnew/3.3.rst:1374 -msgid "" -":class:`ftplib.FTP` now accepts a ``source_address`` keyword argument to " -"specify the ``(host, port)`` to use as the source address in the bind call " -"when creating the outgoing socket. (Contributed by Giampaolo Rodolà in " -":issue:`8594`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1379 -msgid "" -"The :class:`~ftplib.FTP_TLS` class now provides a new " -":func:`~ftplib.FTP_TLS.ccc` function to revert control channel back to " -"plaintext. This can be useful to take advantage of firewalls that know how " -"to handle NAT with non-secure FTP without opening fixed ports. (Contributed" -" by Giampaolo Rodolà in :issue:`12139`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1385 -msgid "" -"Added :meth:`ftplib.FTP.mlsd` method which provides a parsable directory " -"listing format and deprecates :meth:`ftplib.FTP.nlst` and " -":meth:`ftplib.FTP.dir`. (Contributed by Giampaolo Rodolà in " -":issue:`11072`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1391 -msgid "functools" -msgstr "functools" - -#: ../../whatsnew/3.3.rst:1393 -msgid "" -"The :func:`functools.lru_cache` decorator now accepts a ``typed`` keyword " -"argument (that defaults to ``False`` to ensure that it caches values of " -"different types that compare equal in separate cache slots. (Contributed by" -" Raymond Hettinger in :issue:`13227`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1400 -msgid "gc" -msgstr "gc" - -#: ../../whatsnew/3.3.rst:1402 -msgid "" -"It is now possible to register callbacks invoked by the garbage collector " -"before and after collection using the new :data:`~gc.callbacks` list." -msgstr "" - -#: ../../whatsnew/3.3.rst:1407 -msgid "hmac" -msgstr "hmac" - -#: ../../whatsnew/3.3.rst:1409 -msgid "" -"A new :func:`~hmac.compare_digest` function has been added to prevent side " -"channel attacks on digests through timing analysis. (Contributed by Nick " -"Coghlan and Christian Heimes in :issue:`15061`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1415 -msgid "http" -msgstr "http" - -#: ../../whatsnew/3.3.rst:1417 -msgid "" -":class:`http.server.BaseHTTPRequestHandler` now buffers the headers and " -"writes them all at once when " -":meth:`~http.server.BaseHTTPRequestHandler.end_headers` is called. A new " -"method :meth:`~http.server.BaseHTTPRequestHandler.flush_headers` can be used" -" to directly manage when the accumulated headers are sent. (Contributed by " -"Andrew Schaaf in :issue:`3709`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1423 -msgid "" -":class:`http.server` now produces valid ``HTML 4.01 strict`` output. " -"(Contributed by Ezio Melotti in :issue:`13295`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1426 -msgid "" -":class:`http.client.HTTPResponse` now has a " -":meth:`~http.client.HTTPResponse.readinto` method, which means it can be " -"used as an :class:`io.RawIOBase` class. (Contributed by John Kuhn in " -":issue:`13464`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1433 -msgid "html" -msgstr "html" - -#: ../../whatsnew/3.3.rst:1435 -msgid "" -":class:`html.parser.HTMLParser` is now able to parse broken markup without " -"raising errors, therefore the *strict* argument of the constructor and the " -":exc:`~html.parser.HTMLParseError` exception are now deprecated. The ability" -" to parse broken markup is the result of a number of bug fixes that are also" -" available on the latest bug fix releases of Python 2.7/3.2. (Contributed by" -" Ezio Melotti in :issue:`15114`, and :issue:`14538`, :issue:`13993`, " -":issue:`13960`, :issue:`13358`, :issue:`1745761`, :issue:`755670`, " -":issue:`13357`, :issue:`12629`, :issue:`1200313`, :issue:`670664`, " -":issue:`13273`, :issue:`12888`, :issue:`7311`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1445 -msgid "" -"A new :data:`~html.entities.html5` dictionary that maps HTML5 named " -"character references to the equivalent Unicode character(s) (e.g. " -"``html5['gt;'] == '>'``) has been added to the :mod:`html.entities` module." -" The dictionary is now also used by :class:`~html.parser.HTMLParser`. " -"(Contributed by Ezio Melotti in :issue:`11113` and :issue:`15156`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1453 -msgid "imaplib" -msgstr "" - -#: ../../whatsnew/3.3.rst:1455 -msgid "" -"The :class:`~imaplib.IMAP4_SSL` constructor now accepts an SSLContext " -"parameter to control parameters of the secure channel." -msgstr "" - -#: ../../whatsnew/3.3.rst:1458 -msgid "(Contributed by Sijin Joseph in :issue:`8808`.)" -msgstr "(Kontribusi dari Sijin Joseph di :issue:`8808`.)" - -#: ../../whatsnew/3.3.rst:1462 -msgid "inspect" -msgstr "inspect" - -#: ../../whatsnew/3.3.rst:1464 -msgid "" -"A new :func:`~inspect.getclosurevars` function has been added. This function" -" reports the current binding of all names referenced from the function body " -"and where those names were resolved, making it easier to verify correct " -"internal state when testing code that relies on stateful closures." -msgstr "" - -#: ../../whatsnew/3.3.rst:1469 -msgid "(Contributed by Meador Inge and Nick Coghlan in :issue:`13062`.)" -msgstr "(Kontribusi dari Meador Inge dan Nick Coghlan di :issue:`13062`.)" - -#: ../../whatsnew/3.3.rst:1471 -msgid "" -"A new :func:`~inspect.getgeneratorlocals` function has been added. This " -"function reports the current binding of local variables in the generator's " -"stack frame, making it easier to verify correct internal state when testing " -"generators." -msgstr "" - -#: ../../whatsnew/3.3.rst:1476 -msgid "(Contributed by Meador Inge in :issue:`15153`.)" -msgstr "(Kontribusi dari Meador Inge di :issue:`15153`.)" - -#: ../../whatsnew/3.3.rst:1479 -msgid "io" -msgstr "io" - -#: ../../whatsnew/3.3.rst:1481 -msgid "" -"The :func:`~io.open` function has a new ``'x'`` mode that can be used to " -"exclusively create a new file, and raise a :exc:`FileExistsError` if the " -"file already exists. It is based on the C11 'x' mode to fopen()." -msgstr "" - -#: ../../whatsnew/3.3.rst:1485 -msgid "(Contributed by David Townshend in :issue:`12760`.)" -msgstr "(Kontribusi dari David Townshend di :issue:`12760`.)" - -#: ../../whatsnew/3.3.rst:1487 -msgid "" -"The constructor of the :class:`~io.TextIOWrapper` class has a new " -"*write_through* optional argument. If *write_through* is ``True``, calls to " -":meth:`~io.TextIOWrapper.write` are guaranteed not to be buffered: any data " -"written on the :class:`~io.TextIOWrapper` object is immediately handled to " -"its underlying binary buffer." -msgstr "" - -#: ../../whatsnew/3.3.rst:1495 -msgid "itertools" -msgstr "itertools" - -#: ../../whatsnew/3.3.rst:1497 -msgid "" -":func:`~itertools.accumulate` now takes an optional ``func`` argument for " -"providing a user-supplied binary function." -msgstr "" - -#: ../../whatsnew/3.3.rst:1502 -msgid "logging" -msgstr "logging" - -#: ../../whatsnew/3.3.rst:1504 -msgid "" -"The :func:`~logging.basicConfig` function now supports an optional " -"``handlers`` argument taking an iterable of handlers to be added to the root" -" logger." -msgstr "" - -#: ../../whatsnew/3.3.rst:1507 -msgid "" -"A class level attribute :attr:`~logging.handlers.SysLogHandler.append_nul` " -"has been added to :class:`~logging.handlers.SysLogHandler` to allow control " -"of the appending of the ``NUL`` (``\\000``) byte to syslog records, since " -"for some daemons it is required while for others it is passed through to the" -" log." -msgstr "" - -#: ../../whatsnew/3.3.rst:1515 -msgid "math" -msgstr "math" - -#: ../../whatsnew/3.3.rst:1517 -msgid "" -"The :mod:`math` module has a new function, :func:`~math.log2`, which " -"returns the base-2 logarithm of *x*." -msgstr "" - -#: ../../whatsnew/3.3.rst:1520 -msgid "(Written by Mark Dickinson in :issue:`11888`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1524 -msgid "mmap" -msgstr "mmap" - -#: ../../whatsnew/3.3.rst:1526 -msgid "" -"The :meth:`~mmap.mmap.read` method is now more compatible with other file-" -"like objects: if the argument is omitted or specified as ``None``, it " -"returns the bytes from the current file position to the end of the mapping." -" (Contributed by Petri Lehtinen in :issue:`12021`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1533 -msgid "multiprocessing" -msgstr "multiprocessing" - -#: ../../whatsnew/3.3.rst:1535 -msgid "" -"The new :func:`multiprocessing.connection.wait` function allows polling " -"multiple objects (such as connections, sockets and pipes) with a timeout. " -"(Contributed by Richard Oudkerk in :issue:`12328`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1539 -msgid "" -":class:`multiprocessing.Connection` objects can now be transferred over " -"multiprocessing connections. (Contributed by Richard Oudkerk in " -":issue:`4892`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1543 -msgid "" -":class:`multiprocessing.Process` now accepts a ``daemon`` keyword argument " -"to override the default behavior of inheriting the ``daemon`` flag from the " -"parent process (:issue:`6064`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:1547 -msgid "" -"New attribute :data:`multiprocessing.Process.sentinel` allows a program to " -"wait on multiple :class:`~multiprocessing.Process` objects at one time using" -" the appropriate OS primitives (for example, :mod:`select` on posix " -"systems)." -msgstr "" - -#: ../../whatsnew/3.3.rst:1552 -msgid "" -"New methods :meth:`multiprocessing.pool.Pool.starmap` and " -":meth:`~multiprocessing.pool.Pool.starmap_async` provide " -":func:`itertools.starmap` equivalents to the existing " -":meth:`multiprocessing.pool.Pool.map` and " -":meth:`~multiprocessing.pool.Pool.map_async` functions. (Contributed by " -"Hynek Schlawack in :issue:`12708`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1561 -msgid "nntplib" -msgstr "" - -#: ../../whatsnew/3.3.rst:1563 -msgid "" -"The :class:`!nntplib.NNTP` class now supports the context management " -"protocol to unconditionally consume :exc:`socket.error` exceptions and to " -"close the NNTP connection when done::" -msgstr "" - -#: ../../whatsnew/3.3.rst:1567 -msgid "" -">>> from nntplib import NNTP\n" -">>> with NNTP('news.gmane.org') as n:\n" -"... n.group('gmane.comp.python.committers')\n" -"...\n" -"('211 1755 1 1755 gmane.comp.python.committers', 1755, 1, 1755, 'gmane.comp.python.committers')\n" -">>>" -msgstr "" - -#: ../../whatsnew/3.3.rst:1574 -msgid "(Contributed by Giampaolo Rodolà in :issue:`9795`.)" -msgstr "(Kontribusi dari Giampaolo Rodolà di :issue:`9795`.)" - -#: ../../whatsnew/3.3.rst:1578 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.3.rst:1580 -msgid "" -"The :mod:`os` module has a new :func:`~os.pipe2` function that makes it " -"possible to create a pipe with :const:`~os.O_CLOEXEC` or " -":const:`~os.O_NONBLOCK` flags set atomically. This is especially useful to " -"avoid race conditions in multi-threaded programs." -msgstr "" - -#: ../../whatsnew/3.3.rst:1585 -msgid "" -"The :mod:`os` module has a new :func:`~os.sendfile` function which provides " -"an efficient \"zero-copy\" way for copying data from one file (or socket) " -"descriptor to another. The phrase \"zero-copy\" refers to the fact that all " -"of the copying of data between the two descriptors is done entirely by the " -"kernel, with no copying of data into userspace buffers. :func:`~os.sendfile`" -" can be used to efficiently copy data from a file on disk to a network " -"socket, e.g. for downloading a file." -msgstr "" - -#: ../../whatsnew/3.3.rst:1593 -msgid "" -"(Patch submitted by Ross Lagerwall and Giampaolo Rodolà in :issue:`10882`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1595 -msgid "" -"To avoid race conditions like symlink attacks and issues with temporary " -"files and directories, it is more reliable (and also faster) to manipulate " -"file descriptors instead of file names. Python 3.3 enhances existing " -"functions and introduces new functions to work on file descriptors " -"(:issue:`4761`, :issue:`10755` and :issue:`14626`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:1601 -msgid "" -"The :mod:`os` module has a new :func:`~os.fwalk` function similar to " -":func:`~os.walk` except that it also yields file descriptors referring to " -"the directories visited. This is especially useful to avoid symlink races." -msgstr "" - -#: ../../whatsnew/3.3.rst:1605 -msgid "" -"The following functions get new optional *dir_fd* (:ref:`paths relative to " -"directory descriptors `) and/or *follow_symlinks* (:ref:`not " -"following symlinks `): :func:`~os.access`, " -":func:`~os.chflags`, :func:`~os.chmod`, :func:`~os.chown`, :func:`~os.link`," -" :func:`~os.lstat`, :func:`~os.mkdir`, :func:`~os.mkfifo`, " -":func:`~os.mknod`, :func:`~os.open`, :func:`~os.readlink`, " -":func:`~os.remove`, :func:`~os.rename`, :func:`~os.replace`, " -":func:`~os.rmdir`, :func:`~os.stat`, :func:`~os.symlink`, " -":func:`~os.unlink`, :func:`~os.utime`. Platform support for using these " -"parameters can be checked via the sets :data:`os.supports_dir_fd` and " -":data:`os.supports_follows_symlinks`." -msgstr "" - -#: ../../whatsnew/3.3.rst:1616 -msgid "" -"The following functions now support a file descriptor for their path " -"argument: :func:`~os.chdir`, :func:`~os.chmod`, :func:`~os.chown`, " -":func:`~os.execve`, :func:`~os.listdir`, :func:`~os.pathconf`, " -":func:`~os.path.exists`, :func:`~os.stat`, :func:`~os.statvfs`, " -":func:`~os.utime`. Platform support for this can be checked via the " -":data:`os.supports_fd` set." -msgstr "" - -#: ../../whatsnew/3.3.rst:1622 -msgid "" -":func:`~os.access` accepts an ``effective_ids`` keyword argument to turn on " -"using the effective uid/gid rather than the real uid/gid in the access " -"check. Platform support for this can be checked via the " -":data:`~os.supports_effective_ids` set." -msgstr "" - -#: ../../whatsnew/3.3.rst:1627 -msgid "" -"The :mod:`os` module has two new functions: :func:`~os.getpriority` and " -":func:`~os.setpriority`. They can be used to get or set process " -"niceness/priority in a fashion similar to :func:`os.nice` but extended to " -"all processes instead of just the current one." -msgstr "" - -#: ../../whatsnew/3.3.rst:1632 -msgid "(Patch submitted by Giampaolo Rodolà in :issue:`10784`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1634 -msgid "" -"The new :func:`os.replace` function allows cross-platform renaming of a file" -" with overwriting the destination. With :func:`os.rename`, an existing " -"destination file is overwritten under POSIX, but raises an error under " -"Windows. (Contributed by Antoine Pitrou in :issue:`8828`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1640 -msgid "" -"The stat family of functions (:func:`~os.stat`, :func:`~os.fstat`, and " -":func:`~os.lstat`) now support reading a file's timestamps with nanosecond " -"precision. Symmetrically, :func:`~os.utime` can now write file timestamps " -"with nanosecond precision. (Contributed by Larry Hastings in " -":issue:`14127`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1646 -msgid "" -"The new :func:`os.get_terminal_size` function queries the size of the " -"terminal attached to a file descriptor. See also " -":func:`shutil.get_terminal_size`. (Contributed by Zbigniew Jędrzejewski-" -"Szmek in :issue:`13609`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1653 -msgid "" -"New functions to support Linux extended attributes (:issue:`12720`): " -":func:`~os.getxattr`, :func:`~os.listxattr`, :func:`~os.removexattr`, " -":func:`~os.setxattr`." -msgstr "" - -#: ../../whatsnew/3.3.rst:1657 -msgid "" -"New interface to the scheduler. These functions control how a process is " -"allocated CPU time by the operating system. New functions: " -":func:`~os.sched_get_priority_max`, :func:`~os.sched_get_priority_min`, " -":func:`~os.sched_getaffinity`, :func:`~os.sched_getparam`, " -":func:`~os.sched_getscheduler`, :func:`~os.sched_rr_get_interval`, " -":func:`~os.sched_setaffinity`, :func:`~os.sched_setparam`, " -":func:`~os.sched_setscheduler`, :func:`~os.sched_yield`," -msgstr "" - -#: ../../whatsnew/3.3.rst:1666 -msgid "New functions to control the file system:" -msgstr "" - -#: ../../whatsnew/3.3.rst:1668 -msgid "" -":func:`~os.posix_fadvise`: Announces an intention to access data in a " -"specific pattern thus allowing the kernel to make optimizations." -msgstr "" - -#: ../../whatsnew/3.3.rst:1670 -msgid "" -":func:`~os.posix_fallocate`: Ensures that enough disk space is allocated for" -" a file." -msgstr "" - -#: ../../whatsnew/3.3.rst:1672 -msgid ":func:`~os.sync`: Force write of everything to disk." -msgstr "" - -#: ../../whatsnew/3.3.rst:1674 -msgid "Additional new posix functions:" -msgstr "" - -#: ../../whatsnew/3.3.rst:1676 -msgid "" -":func:`~os.lockf`: Apply, test or remove a POSIX lock on an open file " -"descriptor." -msgstr "" - -#: ../../whatsnew/3.3.rst:1677 -msgid "" -":func:`~os.pread`: Read from a file descriptor at an offset, the file offset" -" remains unchanged." -msgstr "" - -#: ../../whatsnew/3.3.rst:1679 -msgid "" -":func:`~os.pwrite`: Write to a file descriptor from an offset, leaving the " -"file offset unchanged." -msgstr "" - -#: ../../whatsnew/3.3.rst:1681 -msgid "" -":func:`~os.readv`: Read from a file descriptor into a number of writable " -"buffers." -msgstr "" - -#: ../../whatsnew/3.3.rst:1682 -msgid "" -":func:`~os.truncate`: Truncate the file corresponding to *path*, so that it " -"is at most *length* bytes in size." -msgstr "" - -#: ../../whatsnew/3.3.rst:1684 -msgid "" -":func:`~os.waitid`: Wait for the completion of one or more child processes." -msgstr "" - -#: ../../whatsnew/3.3.rst:1685 -msgid "" -":func:`~os.writev`: Write the contents of *buffers* to a file descriptor, " -"where *buffers* is an arbitrary sequence of buffers." -msgstr "" - -#: ../../whatsnew/3.3.rst:1687 -msgid "" -":func:`~os.getgrouplist` (:issue:`9344`): Return list of group ids that " -"specified user belongs to." -msgstr "" - -#: ../../whatsnew/3.3.rst:1690 -msgid "" -":func:`~os.times` and :func:`~os.uname`: Return type changed from a tuple to" -" a tuple-like object with named attributes." -msgstr "" - -#: ../../whatsnew/3.3.rst:1693 -msgid "" -"Some platforms now support additional constants for the :func:`~os.lseek` " -"function, such as ``os.SEEK_HOLE`` and ``os.SEEK_DATA``." -msgstr "" - -#: ../../whatsnew/3.3.rst:1696 -msgid "" -"New constants :const:`~os.RTLD_LAZY`, :const:`~os.RTLD_NOW`, " -":const:`~os.RTLD_GLOBAL`, :const:`~os.RTLD_LOCAL`, " -":const:`~os.RTLD_NODELETE`, :const:`~os.RTLD_NOLOAD`, and " -":const:`~os.RTLD_DEEPBIND` are available on platforms that support them. " -"These are for use with the :func:`sys.setdlopenflags` function, and " -"supersede the similar constants defined in :mod:`ctypes` and :mod:`DLFCN`. " -"(Contributed by Victor Stinner in :issue:`13226`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1704 -msgid "" -":func:`os.symlink` now accepts (and ignores) the ``target_is_directory`` " -"keyword argument on non-Windows platforms, to ease cross-platform support." -msgstr "" - -#: ../../whatsnew/3.3.rst:1709 -msgid "pdb" -msgstr "pdb" - -#: ../../whatsnew/3.3.rst:1711 -msgid "" -"Tab-completion is now available not only for command names, but also their " -"arguments. For example, for the ``break`` command, function and file names " -"are completed." -msgstr "" - -#: ../../whatsnew/3.3.rst:1715 -msgid "(Contributed by Georg Brandl in :issue:`14210`)" -msgstr "(Kontribusi dari Georg Brandl di :issue:`14210`)" - -#: ../../whatsnew/3.3.rst:1719 -msgid "pickle" -msgstr "pickle" - -#: ../../whatsnew/3.3.rst:1721 -msgid "" -":class:`pickle.Pickler` objects now have an optional " -":attr:`~pickle.Pickler.dispatch_table` attribute allowing per-pickler " -"reduction functions to be set." -msgstr "" - -#: ../../whatsnew/3.3.rst:1725 -msgid "(Contributed by Richard Oudkerk in :issue:`14166`.)" -msgstr "(Kontribusi dari Richard Oudkerk di :issue:`14166`.)" - -#: ../../whatsnew/3.3.rst:1729 -msgid "pydoc" -msgstr "pydoc" - -#: ../../whatsnew/3.3.rst:1731 -msgid "" -"The Tk GUI and the :func:`~pydoc.serve` function have been removed from the " -":mod:`pydoc` module: ``pydoc -g`` and :func:`~pydoc.serve` have been " -"deprecated in Python 3.2." -msgstr "" - -#: ../../whatsnew/3.3.rst:1737 -msgid "re" -msgstr "re" - -#: ../../whatsnew/3.3.rst:1739 -msgid ":class:`str` regular expressions now support ``\\u`` and ``\\U`` escapes." -msgstr "" - -#: ../../whatsnew/3.3.rst:1741 -msgid "(Contributed by Serhiy Storchaka in :issue:`3665`.)" -msgstr "(Kontribusi dari Serhiy Storchaka di :issue:`3665`.)" - -#: ../../whatsnew/3.3.rst:1745 -msgid "sched" -msgstr "" - -#: ../../whatsnew/3.3.rst:1747 -msgid "" -":meth:`~sched.scheduler.run` now accepts a *blocking* parameter which when " -"set to false makes the method execute the scheduled events due to expire " -"soonest (if any) and then return immediately. This is useful in case you " -"want to use the :class:`~sched.scheduler` in non-blocking applications. " -"(Contributed by Giampaolo Rodolà in :issue:`13449`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1753 -msgid "" -":class:`~sched.scheduler` class can now be safely used in multi-threaded " -"environments. (Contributed by Josiah Carlson and Giampaolo Rodolà in " -":issue:`8684`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1757 -msgid "" -"*timefunc* and *delayfunct* parameters of :class:`~sched.scheduler` class " -"constructor are now optional and defaults to :func:`time.time` and " -":func:`time.sleep` respectively. (Contributed by Chris Clark in " -":issue:`13245`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1762 -msgid "" -":meth:`~sched.scheduler.enter` and :meth:`~sched.scheduler.enterabs` " -"*argument* parameter is now optional. (Contributed by Chris Clark in " -":issue:`13245`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1766 -msgid "" -":meth:`~sched.scheduler.enter` and :meth:`~sched.scheduler.enterabs` now " -"accept a *kwargs* parameter. (Contributed by Chris Clark in " -":issue:`13245`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1772 -msgid "select" -msgstr "" - -#: ../../whatsnew/3.3.rst:1774 -msgid "" -"Solaris and derivative platforms have a new class :class:`select.devpoll` " -"for high performance asynchronous sockets via :file:`/dev/poll`. " -"(Contributed by Jesús Cea Avión in :issue:`6397`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1780 -msgid "shlex" -msgstr "shlex" - -#: ../../whatsnew/3.3.rst:1782 -msgid "" -"The previously undocumented helper function ``quote`` from the :mod:`!pipes`" -" modules has been moved to the :mod:`shlex` module and documented. " -":func:`~shlex.quote` properly escapes all characters in a string that might " -"be otherwise given special meaning by the shell." -msgstr "" - -#: ../../whatsnew/3.3.rst:1789 -msgid "shutil" -msgstr "shutil" - -#: ../../whatsnew/3.3.rst:1791 -msgid "New functions:" -msgstr "Fungsi baru:" - -#: ../../whatsnew/3.3.rst:1793 -msgid "" -":func:`~shutil.disk_usage`: provides total, used and free disk space " -"statistics. (Contributed by Giampaolo Rodolà in :issue:`12442`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1795 -msgid "" -":func:`~shutil.chown`: allows one to change user and/or group of the given " -"path also specifying the user/group names and not only their numeric ids. " -"(Contributed by Sandro Tosi in :issue:`12191`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1798 -msgid "" -":func:`shutil.get_terminal_size`: returns the size of the terminal window to" -" which the interpreter is attached. (Contributed by Zbigniew Jędrzejewski-" -"Szmek in :issue:`13609`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1802 -msgid "" -":func:`~shutil.copy2` and :func:`~shutil.copystat` now preserve file " -"timestamps with nanosecond precision on platforms that support it. They also" -" preserve file \"extended attributes\" on Linux. (Contributed by Larry " -"Hastings in :issue:`14127` and :issue:`15238`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1807 -msgid "" -"Several functions now take an optional ``symlinks`` argument: when that " -"parameter is true, symlinks aren't dereferenced and the operation instead " -"acts on the symlink itself (or creates one, if relevant). (Contributed by " -"Hynek Schlawack in :issue:`12715`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1812 -msgid "" -"When copying files to a different file system, :func:`~shutil.move` now " -"handles symlinks the way the posix ``mv`` command does, recreating the " -"symlink rather than copying the target file contents. (Contributed by " -"Jonathan Niehof in :issue:`9993`.) :func:`~shutil.move` now also returns " -"the ``dst`` argument as its result." -msgstr "" - -#: ../../whatsnew/3.3.rst:1818 -msgid "" -":func:`~shutil.rmtree` is now resistant to symlink attacks on platforms " -"which support the new ``dir_fd`` parameter in :func:`os.open` and " -":func:`os.unlink`. (Contributed by Martin von Löwis and Hynek Schlawack in " -":issue:`4489`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1825 -msgid "signal" -msgstr "signal" - -#: ../../whatsnew/3.3.rst:1827 -msgid "The :mod:`signal` module has new functions:" -msgstr "" - -#: ../../whatsnew/3.3.rst:1829 -msgid "" -":func:`~signal.pthread_sigmask`: fetch and/or change the signal mask of the " -"calling thread (Contributed by Jean-Paul Calderone in :issue:`8407`);" -msgstr "" - -#: ../../whatsnew/3.3.rst:1831 -msgid ":func:`~signal.pthread_kill`: send a signal to a thread;" -msgstr "" - -#: ../../whatsnew/3.3.rst:1832 -msgid ":func:`~signal.sigpending`: examine pending functions;" -msgstr "" - -#: ../../whatsnew/3.3.rst:1833 -msgid ":func:`~signal.sigwait`: wait a signal;" -msgstr "" - -#: ../../whatsnew/3.3.rst:1834 -msgid "" -":func:`~signal.sigwaitinfo`: wait for a signal, returning detailed " -"information about it;" -msgstr "" - -#: ../../whatsnew/3.3.rst:1836 -msgid "" -":func:`~signal.sigtimedwait`: like :func:`~signal.sigwaitinfo` but with a " -"timeout." -msgstr "" - -#: ../../whatsnew/3.3.rst:1839 -msgid "" -"The signal handler writes the signal number as a single byte instead of a " -"nul byte into the wakeup file descriptor. So it is possible to wait more " -"than one signal and know which signals were raised." -msgstr "" - -#: ../../whatsnew/3.3.rst:1843 -msgid "" -":func:`signal.signal` and :func:`signal.siginterrupt` raise an OSError, " -"instead of a RuntimeError: OSError has an errno attribute." -msgstr "" - -#: ../../whatsnew/3.3.rst:1848 -msgid "smtpd" -msgstr "" - -#: ../../whatsnew/3.3.rst:1850 -msgid "" -"The :mod:`!smtpd` module now supports :rfc:`5321` (extended SMTP) and " -":rfc:`1870` (size extension). Per the standard, these extensions are " -"enabled if and only if the client initiates the session with an ``EHLO`` " -"command." -msgstr "" - -#: ../../whatsnew/3.3.rst:1854 -msgid "" -"(Initial ``ELHO`` support by Alberto Trevino. Size extension by Juhana " -"Jauhiainen. Substantial additional work on the patch contributed by Michele" -" Orrù and Dan Boswell. :issue:`8739`)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1860 -msgid "smtplib" -msgstr "" - -#: ../../whatsnew/3.3.rst:1862 -msgid "" -"The :class:`~smtplib.SMTP`, :class:`~smtplib.SMTP_SSL`, and " -":class:`~smtplib.LMTP` classes now accept a ``source_address`` keyword " -"argument to specify the ``(host, port)`` to use as the source address in the" -" bind call when creating the outgoing socket. (Contributed by Paulo " -"Scardine in :issue:`11281`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1868 -msgid "" -":class:`~smtplib.SMTP` now supports the context management protocol, " -"allowing an ``SMTP`` instance to be used in a ``with`` statement. " -"(Contributed by Giampaolo Rodolà in :issue:`11289`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1872 -msgid "" -"The :class:`~smtplib.SMTP_SSL` constructor and the " -":meth:`~smtplib.SMTP.starttls` method now accept an SSLContext parameter to " -"control parameters of the secure channel. (Contributed by Kasun Herath in " -":issue:`8809`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1878 -msgid "socket" -msgstr "socket" - -#: ../../whatsnew/3.3.rst:1880 -msgid "" -"The :class:`~socket.socket` class now exposes additional methods to process " -"ancillary data when supported by the underlying platform:" -msgstr "" - -#: ../../whatsnew/3.3.rst:1883 -msgid ":func:`~socket.socket.sendmsg`" -msgstr "" - -#: ../../whatsnew/3.3.rst:1884 -msgid ":func:`~socket.socket.recvmsg`" -msgstr "" - -#: ../../whatsnew/3.3.rst:1885 -msgid ":func:`~socket.socket.recvmsg_into`" -msgstr "" - -#: ../../whatsnew/3.3.rst:1887 -msgid "" -"(Contributed by David Watson in :issue:`6560`, based on an earlier patch by " -"Heiko Wundram)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1890 -msgid "" -"The :class:`~socket.socket` class now supports the PF_CAN protocol family " -"(https://en.wikipedia.org/wiki/Socketcan), on Linux " -"(https://lwn.net/Articles/253425)." -msgstr "" - -#: ../../whatsnew/3.3.rst:1894 -msgid "" -"(Contributed by Matthias Fuchs, updated by Tiago Gonçalves in " -":issue:`10141`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1896 -msgid "" -"The :class:`~socket.socket` class now supports the PF_RDS protocol family " -"(https://en.wikipedia.org/wiki/Reliable_Datagram_Sockets and " -"`https://oss.oracle.com/projects/rds " -"`__)." -msgstr "" - -#: ../../whatsnew/3.3.rst:1900 -msgid "" -"The :class:`~socket.socket` class now supports the ``PF_SYSTEM`` protocol " -"family on OS X. (Contributed by Michael Goderbauer in :issue:`13777`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1903 -msgid "" -"New function :func:`~socket.sethostname` allows the hostname to be set on " -"Unix systems if the calling process has sufficient privileges. (Contributed " -"by Ross Lagerwall in :issue:`10866`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1909 -msgid "socketserver" -msgstr "socketserver" - -#: ../../whatsnew/3.3.rst:1911 -msgid "" -":class:`~socketserver.BaseServer` now has an overridable method " -":meth:`~socketserver.BaseServer.service_actions` that is called by the " -":meth:`~socketserver.BaseServer.serve_forever` method in the service loop. " -":class:`~socketserver.ForkingMixIn` now uses this to clean up zombie child " -"processes. (Contributed by Justin Warkentin in :issue:`11109`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1919 -msgid "sqlite3" -msgstr "sqlite3" - -#: ../../whatsnew/3.3.rst:1921 -msgid "" -"New :class:`sqlite3.Connection` method " -":meth:`~sqlite3.Connection.set_trace_callback` can be used to capture a " -"trace of all sql commands processed by sqlite. (Contributed by Torsten " -"Landschoff in :issue:`11688`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1928 -msgid "ssl" -msgstr "ssl" - -#: ../../whatsnew/3.3.rst:1930 -msgid "The :mod:`ssl` module has two new random generation functions:" -msgstr "" - -#: ../../whatsnew/3.3.rst:1932 -msgid "" -":func:`~ssl.RAND_bytes`: generate cryptographically strong pseudo-random " -"bytes." -msgstr "" - -#: ../../whatsnew/3.3.rst:1934 -msgid ":func:`~ssl.RAND_pseudo_bytes`: generate pseudo-random bytes." -msgstr "" - -#: ../../whatsnew/3.3.rst:1936 -msgid "(Contributed by Victor Stinner in :issue:`12049`.)" -msgstr "(Kontribusi dari Victor Stinner di :issue:`12049`.)" - -#: ../../whatsnew/3.3.rst:1938 -msgid "" -"The :mod:`ssl` module now exposes a finer-grained exception hierarchy in " -"order to make it easier to inspect the various kinds of errors. (Contributed" -" by Antoine Pitrou in :issue:`11183`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1942 -msgid "" -":meth:`~ssl.SSLContext.load_cert_chain` now accepts a *password* argument to" -" be used if the private key is encrypted. (Contributed by Adam Simpkins in " -":issue:`12803`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1946 -msgid "" -"Diffie-Hellman key exchange, both regular and Elliptic Curve-based, is now " -"supported through the :meth:`~ssl.SSLContext.load_dh_params` and " -":meth:`~ssl.SSLContext.set_ecdh_curve` methods. (Contributed by Antoine " -"Pitrou in :issue:`13626` and :issue:`13627`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1951 -msgid "" -"SSL sockets have a new :meth:`~ssl.SSLSocket.get_channel_binding` method " -"allowing the implementation of certain authentication mechanisms such as " -"SCRAM-SHA-1-PLUS. (Contributed by Jacek Konieczny in :issue:`12551`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1955 -msgid "" -"You can query the SSL compression algorithm used by an SSL socket, thanks to" -" its new :meth:`~ssl.SSLSocket.compression` method. The new attribute " -":const:`~ssl.OP_NO_COMPRESSION` can be used to disable compression. " -"(Contributed by Antoine Pitrou in :issue:`13634`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1960 -msgid "" -"Support has been added for the Next Protocol Negotiation extension using the" -" :meth:`ssl.SSLContext.set_npn_protocols` method. (Contributed by Colin Marc" -" in :issue:`14204`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1964 -msgid "" -"SSL errors can now be introspected more easily thanks to " -":attr:`~ssl.SSLError.library` and :attr:`~ssl.SSLError.reason` attributes. " -"(Contributed by Antoine Pitrou in :issue:`14837`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1968 -msgid "" -"The :func:`~ssl.get_server_certificate` function now supports IPv6. " -"(Contributed by Charles-François Natali in :issue:`11811`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1971 -msgid "" -"New attribute :const:`~ssl.OP_CIPHER_SERVER_PREFERENCE` allows setting SSLv3" -" server sockets to use the server's cipher ordering preference rather than " -"the client's (:issue:`13635`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:1977 -msgid "stat" -msgstr "stat" - -#: ../../whatsnew/3.3.rst:1979 -msgid "" -"The undocumented tarfile.filemode function has been moved to " -":func:`stat.filemode`. It can be used to convert a file's mode to a string " -"of the form '-rwxrwxrwx'." -msgstr "" - -#: ../../whatsnew/3.3.rst:1983 -msgid "(Contributed by Giampaolo Rodolà in :issue:`14807`.)" -msgstr "(Kontribusi dari Giampaolo Rodolà di :issue:`14807`.)" - -#: ../../whatsnew/3.3.rst:1987 -msgid "struct" -msgstr "" - -#: ../../whatsnew/3.3.rst:1989 -msgid "" -"The :mod:`struct` module now supports :c:type:`ssize_t` and :c:type:`size_t`" -" via the new codes ``n`` and ``N``, respectively. (Contributed by Antoine " -"Pitrou in :issue:`3163`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:1995 -msgid "subprocess" -msgstr "subprocess" - -#: ../../whatsnew/3.3.rst:1997 -msgid "" -"Command strings can now be bytes objects on posix platforms. (Contributed " -"by Victor Stinner in :issue:`8513`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2000 -msgid "" -"A new constant :const:`~subprocess.DEVNULL` allows suppressing output in a " -"platform-independent fashion. (Contributed by Ross Lagerwall in " -":issue:`5870`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2006 -msgid "sys" -msgstr "sys" - -#: ../../whatsnew/3.3.rst:2008 -msgid "" -"The :mod:`sys` module has a new :data:`~sys.thread_info` :term:`named tuple`" -" holding information about the thread implementation (:issue:`11223`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:2014 -msgid "tarfile" -msgstr "tarfile" - -#: ../../whatsnew/3.3.rst:2016 -msgid "" -":mod:`tarfile` now supports ``lzma`` encoding via the :mod:`lzma` module. " -"(Contributed by Lars Gustäbel in :issue:`5689`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2021 -msgid "tempfile" -msgstr "" - -#: ../../whatsnew/3.3.rst:2023 -msgid "" -":class:`tempfile.SpooledTemporaryFile`\\'s " -":meth:`~tempfile.SpooledTemporaryFile.truncate` method now accepts a " -"``size`` parameter. (Contributed by Ryan Kelly in :issue:`9957`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2029 -msgid "textwrap" -msgstr "" - -#: ../../whatsnew/3.3.rst:2031 -msgid "" -"The :mod:`textwrap` module has a new :func:`~textwrap.indent` that makes it " -"straightforward to add a common prefix to selected lines in a block of text" -" (:issue:`13857`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:2037 -msgid "threading" -msgstr "threading" - -#: ../../whatsnew/3.3.rst:2039 -msgid "" -":class:`threading.Condition`, :class:`threading.Semaphore`, " -":class:`threading.BoundedSemaphore`, :class:`threading.Event`, and " -":class:`threading.Timer`, all of which used to be factory functions " -"returning a class instance, are now classes and may be subclassed. " -"(Contributed by Éric Araujo in :issue:`10968`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2045 -msgid "" -"The :class:`threading.Thread` constructor now accepts a ``daemon`` keyword " -"argument to override the default behavior of inheriting the ``daemon`` flag " -"value from the parent thread (:issue:`6064`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:2049 -msgid "" -"The formerly private function ``_thread.get_ident`` is now available as the " -"public function :func:`threading.get_ident`. This eliminates several cases " -"of direct access to the ``_thread`` module in the stdlib. Third party code " -"that used ``_thread.get_ident`` should likewise be changed to use the new " -"public interface." -msgstr "" - -#: ../../whatsnew/3.3.rst:2057 -msgid "time" -msgstr "time" - -#: ../../whatsnew/3.3.rst:2059 -msgid "The :pep:`418` added new functions to the :mod:`time` module:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2061 -msgid ":func:`~time.get_clock_info`: Get information on a clock." -msgstr "" - -#: ../../whatsnew/3.3.rst:2062 -msgid "" -":func:`~time.monotonic`: Monotonic clock (cannot go backward), not affected " -"by system clock updates." -msgstr "" - -#: ../../whatsnew/3.3.rst:2064 -msgid "" -":func:`~time.perf_counter`: Performance counter with the highest available " -"resolution to measure a short duration." -msgstr "" - -#: ../../whatsnew/3.3.rst:2066 -msgid "" -":func:`~time.process_time`: Sum of the system and user CPU time of the " -"current process." -msgstr "" - -#: ../../whatsnew/3.3.rst:2069 -msgid "Other new functions:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2071 -msgid "" -":func:`~time.clock_getres`, :func:`~time.clock_gettime` and " -":func:`~time.clock_settime` functions with :samp:`CLOCK_{xxx}` constants. " -"(Contributed by Victor Stinner in :issue:`10278`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2075 -msgid "" -"To improve cross platform consistency, :func:`~time.sleep` now raises a " -":exc:`ValueError` when passed a negative sleep value. Previously this was " -"an error on posix, but produced an infinite sleep on Windows." -msgstr "" - -#: ../../whatsnew/3.3.rst:2081 -msgid "types" -msgstr "types" - -#: ../../whatsnew/3.3.rst:2083 -msgid "" -"Add a new :class:`types.MappingProxyType` class: Read-only proxy of a " -"mapping. (:issue:`14386`)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2087 -msgid "" -"The new functions :func:`types.new_class` and :func:`types.prepare_class` " -"provide support for :pep:`3115` compliant dynamic type creation. " -"(:issue:`14588`)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2092 -msgid "unittest" -msgstr "unittest" - -#: ../../whatsnew/3.3.rst:2094 -msgid "" -":meth:`.assertRaises`, :meth:`.assertRaisesRegex`, :meth:`.assertWarns`, and" -" :meth:`.assertWarnsRegex` now accept a keyword argument *msg* when used as " -"context managers. (Contributed by Ezio Melotti and Winston Ewert in " -":issue:`10775`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2099 -msgid "" -":meth:`unittest.TestCase.run` now returns the :class:`~unittest.TestResult` " -"object." -msgstr "" - -#: ../../whatsnew/3.3.rst:2104 -msgid "urllib" -msgstr "" - -#: ../../whatsnew/3.3.rst:2106 -msgid "" -"The :class:`~urllib.request.Request` class, now accepts a *method* argument " -"used by :meth:`~urllib.request.Request.get_method` to determine what HTTP " -"method should be used. For example, this will send a ``'HEAD'`` request::" -msgstr "" - -#: ../../whatsnew/3.3.rst:2110 -msgid ">>> urlopen(Request('https://www.python.org', method='HEAD'))" -msgstr "" - -#: ../../whatsnew/3.3.rst:2112 -msgid "(:issue:`1673007`)" -msgstr "(:issue:`1673007`)" - -#: ../../whatsnew/3.3.rst:2116 -msgid "webbrowser" -msgstr "" - -#: ../../whatsnew/3.3.rst:2118 -msgid "" -"The :mod:`webbrowser` module supports more \"browsers\": Google Chrome " -"(named :program:`chrome`, :program:`chromium`, :program:`chrome-browser` or " -":program:`chromium-browser` depending on the version and operating system), " -"and the generic launchers :program:`xdg-open`, from the FreeDesktop.org " -"project, and :program:`gvfs-open`, which is the default URI handler for " -"GNOME 3. (The former contributed by Arnaud Calmettes in :issue:`13620`, the" -" latter by Matthias Klose in :issue:`14493`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2128 -msgid "xml.etree.ElementTree" -msgstr "" - -#: ../../whatsnew/3.3.rst:2130 -msgid "" -"The :mod:`xml.etree.ElementTree` module now imports its C accelerator by " -"default; there is no longer a need to explicitly import " -":mod:`xml.etree.cElementTree` (this module stays for backwards " -"compatibility, but is now deprecated). In addition, the ``iter`` family of" -" methods of :class:`~xml.etree.ElementTree.Element` has been optimized " -"(rewritten in C). The module's documentation has also been greatly improved " -"with added examples and a more detailed reference." -msgstr "" - -#: ../../whatsnew/3.3.rst:2140 -msgid "zlib" -msgstr "zlib" - -#: ../../whatsnew/3.3.rst:2142 -msgid "" -"New attribute :attr:`zlib.Decompress.eof` makes it possible to distinguish " -"between a properly formed compressed stream and an incomplete or truncated " -"one. (Contributed by Nadeem Vawda in :issue:`12646`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2146 -msgid "" -"New attribute :const:`zlib.ZLIB_RUNTIME_VERSION` reports the version string " -"of the underlying ``zlib`` library that is loaded at runtime. (Contributed " -"by Torsten Landschoff in :issue:`12306`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2152 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.3.rst:2154 -msgid "Major performance enhancements have been added:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2156 -msgid "" -"Thanks to :pep:`393`, some operations on Unicode strings have been " -"optimized:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2158 -msgid "the memory footprint is divided by 2 to 4 depending on the text" -msgstr "" - -#: ../../whatsnew/3.3.rst:2159 -msgid "" -"encode an ASCII string to UTF-8 doesn't need to encode characters anymore, " -"the UTF-8 representation is shared with the ASCII representation" -msgstr "" - -#: ../../whatsnew/3.3.rst:2161 -msgid "the UTF-8 encoder has been optimized" -msgstr "" - -#: ../../whatsnew/3.3.rst:2162 -msgid "" -"repeating a single ASCII letter and getting a substring of an ASCII string " -"is 4 times faster" -msgstr "" - -#: ../../whatsnew/3.3.rst:2165 -msgid "" -"UTF-8 is now 2x to 4x faster. UTF-16 encoding is now up to 10x faster." -msgstr "" - -#: ../../whatsnew/3.3.rst:2167 -msgid "" -"(Contributed by Serhiy Storchaka, :issue:`14624`, :issue:`14738` and " -":issue:`15026`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2172 -msgid "Build and C API Changes" -msgstr "Perubahan Pembangunan *Build* dan API C" - -#: ../../whatsnew/3.3.rst:2174 -msgid "Changes to Python's build process and to the C API include:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2176 -msgid "New :pep:`3118` related function:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2178 -msgid ":c:func:`PyMemoryView_FromMemory`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2180 -msgid ":pep:`393` added new Unicode types, macros and functions:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2182 -msgid "High-level API:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2184 -msgid ":c:func:`PyUnicode_CopyCharacters`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2185 -msgid ":c:func:`PyUnicode_FindChar`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2186 -msgid ":c:func:`PyUnicode_GetLength`, :c:macro:`PyUnicode_GET_LENGTH`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2187 -msgid ":c:func:`PyUnicode_New`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2188 -msgid ":c:func:`PyUnicode_Substring`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2189 -msgid ":c:func:`PyUnicode_ReadChar`, :c:func:`PyUnicode_WriteChar`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2191 -msgid "Low-level API:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2193 -msgid ":c:type:`Py_UCS1`, :c:type:`Py_UCS2`, :c:type:`Py_UCS4` types" -msgstr "" - -#: ../../whatsnew/3.3.rst:2194 -msgid "" -":c:type:`PyASCIIObject` and :c:type:`PyCompactUnicodeObject` structures" -msgstr "" - -#: ../../whatsnew/3.3.rst:2195 -msgid ":c:macro:`PyUnicode_READY`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2196 -msgid ":c:func:`PyUnicode_FromKindAndData`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2197 -msgid ":c:func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsUCS4Copy`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2198 -msgid "" -":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, " -":c:macro:`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2200 -msgid "" -":c:macro:`PyUnicode_KIND` with :c:enum:`PyUnicode_Kind` enum: " -":c:data:`!PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`, " -":c:data:`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2203 -msgid "" -":c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, " -":c:macro:`PyUnicode_WRITE`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2204 -msgid ":c:macro:`PyUnicode_MAX_CHAR_VALUE`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2206 -msgid "" -":c:macro:`PyArg_ParseTuple` now accepts a :class:`bytearray` for the ``c`` " -"format (:issue:`12380`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:2212 -msgid "Deprecated" -msgstr "Usang" - -#: ../../whatsnew/3.3.rst:2215 -msgid "Unsupported Operating Systems" -msgstr "" - -#: ../../whatsnew/3.3.rst:2217 -msgid "OS/2 and VMS are no longer supported due to the lack of a maintainer." -msgstr "" - -#: ../../whatsnew/3.3.rst:2219 -msgid "" -"Windows 2000 and Windows platforms which set ``COMSPEC`` to ``command.com`` " -"are no longer supported due to maintenance burden." -msgstr "" - -#: ../../whatsnew/3.3.rst:2222 -msgid "OSF support, which was deprecated in 3.2, has been completely removed." -msgstr "" - -#: ../../whatsnew/3.3.rst:2226 -msgid "Deprecated Python modules, functions and methods" -msgstr "" - -#: ../../whatsnew/3.3.rst:2228 -msgid "" -"Passing a non-empty string to ``object.__format__()`` is deprecated, and " -"will produce a :exc:`TypeError` in Python 3.4 (:issue:`9856`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:2230 -msgid "" -"The ``unicode_internal`` codec has been deprecated because of the " -":pep:`393`, use UTF-8, UTF-16 (``utf-16-le`` or ``utf-16-be``), or UTF-32 " -"(``utf-32-le`` or ``utf-32-be``)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2233 -msgid "" -":meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP.dir`: use " -":meth:`ftplib.FTP.mlsd`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2235 -msgid "" -":func:`platform.popen`: use the :mod:`subprocess` module. Check especially " -"the :ref:`subprocess-replacements` section (:issue:`11377`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:2237 -msgid "" -":issue:`13374`: The Windows bytes API has been deprecated in the :mod:`os` " -"module. Use Unicode filenames, instead of bytes filenames, to not depend on " -"the ANSI code page anymore and to support any filename." -msgstr "" - -#: ../../whatsnew/3.3.rst:2240 -msgid "" -":issue:`13988`: The :mod:`xml.etree.cElementTree` module is deprecated. The" -" accelerator is used automatically whenever available." -msgstr "" - -#: ../../whatsnew/3.3.rst:2242 -msgid "" -"The behaviour of :func:`time.clock` depends on the platform: use the new " -":func:`time.perf_counter` or :func:`time.process_time` function instead, " -"depending on your requirements, to have a well defined behaviour." -msgstr "" - -#: ../../whatsnew/3.3.rst:2245 -msgid "The :func:`os.stat_float_times` function is deprecated." -msgstr "" - -#: ../../whatsnew/3.3.rst:2246 -msgid ":mod:`abc` module:" -msgstr ":mod:`abc` module:" - -#: ../../whatsnew/3.3.rst:2255 -msgid ":mod:`importlib` package:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2257 -msgid "" -":meth:`importlib.abc.SourceLoader.path_mtime` is now deprecated in favour of" -" :meth:`importlib.abc.SourceLoader.path_stats` as bytecode files now store " -"both the modification time and size of the source file the bytecode file was" -" compiled from." -msgstr "" - -#: ../../whatsnew/3.3.rst:2267 -msgid "Deprecated functions and types of the C API" -msgstr "" - -#: ../../whatsnew/3.3.rst:2269 -msgid "" -"The :c:type:`Py_UNICODE` has been deprecated by :pep:`393` and will be " -"removed in Python 4. All functions using this type are deprecated:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2272 -msgid "" -"Unicode functions and methods using :c:type:`Py_UNICODE` and " -":c:expr:`Py_UNICODE*` types:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2275 -msgid "" -":c:macro:`!PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` or " -":c:func:`PyUnicode_FromKindAndData`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2277 -msgid "" -":c:macro:`!PyUnicode_AS_UNICODE`, :c:func:`!PyUnicode_AsUnicode`, " -":c:func:`!PyUnicode_AsUnicodeAndSize`: use " -":c:func:`PyUnicode_AsWideCharString`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2279 -msgid "" -":c:macro:`!PyUnicode_AS_DATA`: use :c:macro:`PyUnicode_DATA` with " -":c:macro:`PyUnicode_READ` and :c:macro:`PyUnicode_WRITE`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2281 -msgid "" -":c:macro:`!PyUnicode_GET_SIZE`, :c:func:`!PyUnicode_GetSize`: use " -":c:macro:`PyUnicode_GET_LENGTH` or :c:func:`PyUnicode_GetLength`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2283 -msgid "" -":c:macro:`!PyUnicode_GET_DATA_SIZE`: use ``PyUnicode_GET_LENGTH(str) * " -"PyUnicode_KIND(str)`` (only work on ready strings)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2286 -msgid "" -":c:func:`!PyUnicode_AsUnicodeCopy`: use :c:func:`PyUnicode_AsUCS4Copy` or " -":c:func:`PyUnicode_AsWideCharString`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2288 -msgid ":c:func:`!PyUnicode_GetMax`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2291 -msgid "Functions and macros manipulating Py_UNICODE* strings:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2293 -msgid "" -":c:macro:`!Py_UNICODE_strlen()`: use :c:func:`PyUnicode_GetLength` or " -":c:macro:`PyUnicode_GET_LENGTH`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2295 -msgid "" -":c:macro:`!Py_UNICODE_strcat()`: use :c:func:`PyUnicode_CopyCharacters` or " -":c:func:`PyUnicode_FromFormat`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2297 -msgid "" -":c:macro:`!Py_UNICODE_strcpy()`, :c:macro:`!Py_UNICODE_strncpy()`, " -":c:macro:`!Py_UNICODE_COPY()`: use :c:func:`PyUnicode_CopyCharacters` or " -":c:func:`PyUnicode_Substring`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2300 -msgid ":c:macro:`!Py_UNICODE_strcmp()`: use :c:func:`PyUnicode_Compare`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2301 -msgid ":c:macro:`!Py_UNICODE_strncmp()`: use :c:func:`PyUnicode_Tailmatch`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2302 -msgid "" -":c:macro:`!Py_UNICODE_strchr()`, :c:macro:`!Py_UNICODE_strrchr()`: use " -":c:func:`PyUnicode_FindChar`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2304 -msgid ":c:macro:`!Py_UNICODE_FILL()`: use :c:func:`PyUnicode_Fill`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2305 -msgid ":c:macro:`!Py_UNICODE_MATCH`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2307 -msgid "Encoders:" -msgstr "" - -#: ../../whatsnew/3.3.rst:2309 -msgid ":c:func:`!PyUnicode_Encode`: use :c:func:`!PyUnicode_AsEncodedObject`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2310 -msgid ":c:func:`!PyUnicode_EncodeUTF7`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2311 -msgid "" -":c:func:`!PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` or " -":c:func:`PyUnicode_AsUTF8String`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2313 -msgid ":c:func:`!PyUnicode_EncodeUTF32`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2314 -msgid ":c:func:`!PyUnicode_EncodeUTF16`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2315 -msgid "" -":c:func:`!PyUnicode_EncodeUnicodeEscape` use " -":c:func:`PyUnicode_AsUnicodeEscapeString`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2317 -msgid "" -":c:func:`!PyUnicode_EncodeRawUnicodeEscape` use " -":c:func:`PyUnicode_AsRawUnicodeEscapeString`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2319 -msgid "" -":c:func:`!PyUnicode_EncodeLatin1`: use :c:func:`PyUnicode_AsLatin1String`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2320 -msgid "" -":c:func:`!PyUnicode_EncodeASCII`: use :c:func:`PyUnicode_AsASCIIString`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2321 -msgid ":c:func:`!PyUnicode_EncodeCharmap`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2322 -msgid ":c:func:`!PyUnicode_TranslateCharmap`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2323 -msgid "" -":c:func:`!PyUnicode_EncodeMBCS`: use :c:func:`PyUnicode_AsMBCSString` or " -":c:func:`PyUnicode_EncodeCodePage` (with ``CP_ACP`` code_page)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2325 -msgid "" -":c:func:`!PyUnicode_EncodeDecimal`, " -":c:func:`!PyUnicode_TransformDecimalToASCII`" -msgstr "" - -#: ../../whatsnew/3.3.rst:2330 -msgid "Deprecated features" -msgstr "" - -#: ../../whatsnew/3.3.rst:2332 -msgid "" -"The :mod:`array` module's ``'u'`` format code is now deprecated and will be " -"removed in Python 4 together with the rest of the (:c:type:`Py_UNICODE`) " -"API." -msgstr "" - -#: ../../whatsnew/3.3.rst:2337 -msgid "Porting to Python 3.3" -msgstr "" - -#: ../../whatsnew/3.3.rst:2339 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code." -msgstr "" - -#: ../../whatsnew/3.3.rst:2345 -msgid "Porting Python code" -msgstr "" - -#: ../../whatsnew/3.3.rst:2347 -msgid "" -"Hash randomization is enabled by default. Set the :envvar:`PYTHONHASHSEED` " -"environment variable to ``0`` to disable hash randomization. See also the " -":meth:`object.__hash__` method." -msgstr "" - -#: ../../whatsnew/3.3.rst:2351 -msgid "" -":issue:`12326`: On Linux, sys.platform doesn't contain the major version " -"anymore. It is now always 'linux', instead of 'linux2' or 'linux3' depending" -" on the Linux version used to build Python. Replace sys.platform == 'linux2'" -" with sys.platform.startswith('linux'), or directly sys.platform == 'linux' " -"if you don't need to support older Python versions." -msgstr "" - -#: ../../whatsnew/3.3.rst:2357 -msgid "" -":issue:`13847`, :issue:`14180`: :mod:`time` and :mod:`datetime`: " -":exc:`OverflowError` is now raised instead of :exc:`ValueError` if a " -"timestamp is out of range. :exc:`OSError` is now raised if C functions " -":c:func:`gmtime` or :c:func:`localtime` failed." -msgstr "" - -#: ../../whatsnew/3.3.rst:2362 -msgid "" -"The default finders used by import now utilize a cache of what is contained " -"within a specific directory. If you create a Python source file or " -"sourceless bytecode file, make sure to call " -":func:`importlib.invalidate_caches` to clear out the cache for the finders " -"to notice the new file." -msgstr "" - -#: ../../whatsnew/3.3.rst:2367 -msgid "" -":exc:`ImportError` now uses the full name of the module that was attempted " -"to be imported. Doctests that check ImportErrors' message will need to be " -"updated to use the full name of the module instead of just the tail of the " -"name." -msgstr "" - -#: ../../whatsnew/3.3.rst:2372 -msgid "" -"The *index* argument to :func:`__import__` now defaults to 0 instead of -1 " -"and no longer support negative values. It was an oversight when :pep:`328` " -"was implemented that the default value remained -1. If you need to continue " -"to perform a relative import followed by an absolute import, then perform " -"the relative import using an index of 1, followed by another import using an" -" index of 0. It is preferred, though, that you use " -":func:`importlib.import_module` rather than call :func:`__import__` " -"directly." -msgstr "" - -#: ../../whatsnew/3.3.rst:2380 -msgid "" -":func:`__import__` no longer allows one to use an index value other than 0 " -"for top-level modules. E.g. ``__import__('sys', level=1)`` is now an error." -msgstr "" - -#: ../../whatsnew/3.3.rst:2383 -msgid "" -"Because :data:`sys.meta_path` and :data:`sys.path_hooks` now have finders on" -" them by default, you will most likely want to use :meth:`list.insert` " -"instead of :meth:`list.append` to add to those lists." -msgstr "" - -#: ../../whatsnew/3.3.rst:2387 -msgid "" -"Because ``None`` is now inserted into :data:`sys.path_importer_cache`, if " -"you are clearing out entries in the dictionary of paths that do not have a " -"finder, you will need to remove keys paired with values of ``None`` **and** " -":class:`!imp.NullImporter` to be backwards-compatible. This will lead to " -"extra overhead on older versions of Python that re-insert ``None`` into " -":data:`sys.path_importer_cache` where it represents the use of implicit " -"finders, but semantically it should not change anything." -msgstr "" - -#: ../../whatsnew/3.3.rst:2395 -msgid "" -":class:`!importlib.abc.Finder` no longer specifies a ``find_module()`` " -"abstract method that must be implemented. If you were relying on subclasses " -"to implement that method, make sure to check for the method's existence " -"first. You will probably want to check for ``find_loader()`` first, though, " -"in the case of working with :term:`path entry finders `." -msgstr "" - -#: ../../whatsnew/3.3.rst:2401 -msgid "" -":mod:`pkgutil` has been converted to use :mod:`importlib` internally. This " -"eliminates many edge cases where the old behaviour of the :pep:`302` import " -"emulation failed to match the behaviour of the real import system. The " -"import emulation itself is still present, but is now deprecated. The " -":func:`pkgutil.iter_importers` and :func:`pkgutil.walk_packages` functions " -"special case the standard import hooks so they are still supported even " -"though they do not provide the non-standard ``iter_modules()`` method." -msgstr "" - -#: ../../whatsnew/3.3.rst:2409 -msgid "" -"A longstanding RFC-compliance bug (:issue:`1079`) in the parsing done by " -":func:`email.header.decode_header` has been fixed. Code that uses the " -"standard idiom to convert encoded headers into unicode " -"(``str(make_header(decode_header(h))``) will see no change, but code that " -"looks at the individual tuples returned by decode_header will see that " -"whitespace that precedes or follows ``ASCII`` sections is now included in " -"the ``ASCII`` section. Code that builds headers using ``make_header`` " -"should also continue to work without change, since ``make_header`` continues" -" to add whitespace between ``ASCII`` and non-``ASCII`` sections if it is not" -" already present in the input strings." -msgstr "" - -#: ../../whatsnew/3.3.rst:2420 -msgid "" -":func:`email.utils.formataddr` now does the correct content transfer " -"encoding when passed non-``ASCII`` display names. Any code that depended on" -" the previous buggy behavior that preserved the non-``ASCII`` unicode in the" -" formatted output string will need to be changed (:issue:`1690608`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:2425 -msgid "" -":meth:`poplib.POP3.quit` may now raise protocol errors like all other " -"``poplib`` methods. Code that assumes ``quit`` does not raise " -":exc:`poplib.error_proto` errors may need to be changed if errors on " -"``quit`` are encountered by a particular application (:issue:`11291`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:2430 -msgid "" -"The ``strict`` argument to :class:`email.parser.Parser`, deprecated since " -"Python 2.4, has finally been removed." -msgstr "" - -#: ../../whatsnew/3.3.rst:2433 -msgid "" -"The deprecated method ``unittest.TestCase.assertSameElements`` has been " -"removed." -msgstr "" - -#: ../../whatsnew/3.3.rst:2436 -msgid "The deprecated variable ``time.accept2dyear`` has been removed." -msgstr "" - -#: ../../whatsnew/3.3.rst:2438 -msgid "" -"The deprecated ``Context._clamp`` attribute has been removed from the " -":mod:`decimal` module. It was previously replaced by the public attribute " -":attr:`~decimal.Context.clamp`. (See :issue:`8540`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2442 -msgid "" -"The undocumented internal helper class ``SSLFakeFile`` has been removed from" -" :mod:`smtplib`, since its functionality has long been provided directly by " -":meth:`socket.socket.makefile`." -msgstr "" - -#: ../../whatsnew/3.3.rst:2446 -msgid "" -"Passing a negative value to :func:`time.sleep` on Windows now raises an " -"error instead of sleeping forever. It has always raised an error on posix." -msgstr "" - -#: ../../whatsnew/3.3.rst:2449 -msgid "" -"The ``ast.__version__`` constant has been removed. If you need to make " -"decisions affected by the AST version, use :data:`sys.version_info` to make " -"the decision." -msgstr "" - -#: ../../whatsnew/3.3.rst:2453 -msgid "" -"Code that used to work around the fact that the :mod:`threading` module used" -" factory functions by subclassing the private classes will need to change to" -" subclass the now-public classes." -msgstr "" - -#: ../../whatsnew/3.3.rst:2457 -msgid "" -"The undocumented debugging machinery in the threading module has been " -"removed, simplifying the code. This should have no effect on production " -"code, but is mentioned here in case any application debug frameworks were " -"interacting with it (:issue:`13550`)." -msgstr "" - -#: ../../whatsnew/3.3.rst:2464 -msgid "Porting C code" -msgstr "" - -#: ../../whatsnew/3.3.rst:2466 -msgid "" -"In the course of changes to the buffer API the undocumented " -":c:member:`!smalltable` member of the :c:type:`Py_buffer` structure has been" -" removed and the layout of the :c:type:`PyMemoryViewObject` has changed." -msgstr "" - -#: ../../whatsnew/3.3.rst:2471 -msgid "" -"All extensions relying on the relevant parts in ``memoryobject.h`` or " -"``object.h`` must be rebuilt." -msgstr "" - -#: ../../whatsnew/3.3.rst:2474 -msgid "" -"Due to :ref:`PEP 393 `, the :c:type:`Py_UNICODE` type and all " -"functions using this type are deprecated (but will stay available for at " -"least five years). If you were using low-level Unicode APIs to construct " -"and access unicode objects and you want to benefit of the memory footprint " -"reduction provided by :pep:`393`, you have to convert your code to the new " -":doc:`Unicode API <../c-api/unicode>`." -msgstr "" - -#: ../../whatsnew/3.3.rst:2481 -msgid "" -"However, if you only have been using high-level functions such as " -":c:func:`PyUnicode_Concat()`, :c:func:`PyUnicode_Join` or " -":c:func:`PyUnicode_FromFormat()`, your code will automatically take " -"advantage of the new unicode representations." -msgstr "" - -#: ../../whatsnew/3.3.rst:2486 -msgid ":c:func:`PyImport_GetMagicNumber` now returns ``-1`` upon failure." -msgstr "" - -#: ../../whatsnew/3.3.rst:2488 -msgid "" -"As a negative value for the *level* argument to :func:`__import__` is no " -"longer valid, the same now holds for :c:func:`PyImport_ImportModuleLevel`. " -"This also means that the value of *level* used by " -":c:func:`PyImport_ImportModuleEx` is now ``0`` instead of ``-1``." -msgstr "" - -#: ../../whatsnew/3.3.rst:2495 -msgid "Building C extensions" -msgstr "" - -#: ../../whatsnew/3.3.rst:2497 -msgid "" -"The range of possible file names for C extensions has been narrowed. Very " -"rarely used spellings have been suppressed: under POSIX, files named " -"``xxxmodule.so``, ``xxxmodule.abi3.so`` and ``xxxmodule.cpython-*.so`` are " -"no longer recognized as implementing the ``xxx`` module. If you had been " -"generating such files, you have to switch to the other spellings (i.e., " -"remove the ``module`` string from the file names)." -msgstr "" - -#: ../../whatsnew/3.3.rst:2505 -msgid "(implemented in :issue:`14040`.)" -msgstr "" - -#: ../../whatsnew/3.3.rst:2509 -msgid "Command Line Switch Changes" -msgstr "" - -#: ../../whatsnew/3.3.rst:2511 -msgid "" -"The -Q command-line flag and related artifacts have been removed. Code " -"checking sys.flags.division_warning will need updating." -msgstr "" - -#: ../../whatsnew/3.3.rst:2514 -msgid "(:issue:`10998`, contributed by Éric Araujo.)" -msgstr "(:issue:`10998`, kontribusi dari Éric Araujo.)" - -#: ../../whatsnew/3.3.rst:2516 -msgid "" -"When :program:`python` is started with :option:`-S`, ``import site`` will no" -" longer add site-specific paths to the module search paths. In previous " -"versions, it did." -msgstr "" - -#: ../../whatsnew/3.3.rst:2520 -msgid "" -"(:issue:`11591`, contributed by Carl Meyer with editions by Éric Araujo.)" -msgstr "" -"(:issue:`11591`, kontribusi dari Carl Meyer dengan edisi oleh Éric Araujo.)" - -#: ../../whatsnew/3.3.rst:396 -msgid "yield" -msgstr "" - -#: ../../whatsnew/3.3.rst:396 -msgid "yield from (in What's New)" -msgstr "" diff --git a/python-newest.whatsnew--3_4/id.po b/python-newest.whatsnew--3_4/id.po deleted file mode 100644 index 798608c..0000000 --- a/python-newest.whatsnew--3_4/id.po +++ /dev/null @@ -1,3674 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Iwan Setiawan , 2021 -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.4.rst:3 -msgid "What's New In Python 3.4" -msgstr "" - -#: ../../whatsnew/3.4.rst:0 -msgid "Author" -msgstr "Penulis" - -#: ../../whatsnew/3.4.rst:5 -msgid "R. David Murray (Editor)" -msgstr "" - -#: ../../whatsnew/3.4.rst:63 -msgid "" -"This article explains the new features in Python 3.4, compared to 3.3. " -"Python 3.4 was released on March 16, 2014. For full details, see the " -"`changelog `_." -msgstr "" - -#: ../../whatsnew/3.4.rst:70 -msgid ":pep:`429` -- Python 3.4 Release Schedule" -msgstr "" - -#: ../../whatsnew/3.4.rst:75 -msgid "Summary -- Release Highlights" -msgstr "Ringkasan -- Sorotan Rilis" - -#: ../../whatsnew/3.4.rst:80 -msgid "New syntax features:" -msgstr "Fitur sintaks baru:" - -#: ../../whatsnew/3.4.rst:82 -msgid "No new syntax features were added in Python 3.4." -msgstr "" - -#: ../../whatsnew/3.4.rst:84 -msgid "Other new features:" -msgstr "" - -#: ../../whatsnew/3.4.rst:86 -msgid ":ref:`pip should always be available ` (:pep:`453`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:87 -msgid "" -":ref:`Newly created file descriptors are non-inheritable `" -" (:pep:`446`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:89 -msgid "" -"command line option for :ref:`isolated mode ` " -"(:issue:`16499`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:91 -msgid "" -":ref:`improvements in the handling of codecs ` " -"that are not text encodings (multiple issues)." -msgstr "" - -#: ../../whatsnew/3.4.rst:93 -msgid "" -":ref:`A ModuleSpec Type ` for the Import System " -"(:pep:`451`). (Affects importer authors.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:95 -msgid "" -"The :mod:`marshal` format has been made :ref:`more compact and efficient " -"` (:issue:`16475`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:98 -msgid "New library modules:" -msgstr "Modul pustaka baru:" - -#: ../../whatsnew/3.4.rst:100 -msgid "" -":mod:`asyncio`: :ref:`New provisional API for asynchronous IO ` (:pep:`3156`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:102 -msgid "" -":mod:`ensurepip`: :ref:`Bootstrapping the pip installer ` (:pep:`453`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:104 -msgid "" -":mod:`enum`: :ref:`Support for enumeration types ` " -"(:pep:`435`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:106 -msgid "" -":mod:`pathlib`: :ref:`Object-oriented filesystem paths ` " -"(:pep:`428`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:108 -msgid "" -":mod:`selectors`: :ref:`High-level and efficient I/O multiplexing `, built upon the :mod:`select` module primitives (part of " -":pep:`3156`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:111 -msgid "" -":mod:`statistics`: A basic :ref:`numerically stable statistics library " -"` (:pep:`450`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:113 -msgid "" -":mod:`tracemalloc`: :ref:`Trace Python memory allocations ` (:pep:`454`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:116 -msgid "Significantly improved library modules:" -msgstr "" - -#: ../../whatsnew/3.4.rst:118 -msgid "" -":ref:`Single-dispatch generic functions ` in " -":mod:`functools` (:pep:`443`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:120 -msgid "" -"New :mod:`pickle` :ref:`protocol 4 ` (:pep:`3154`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:121 -msgid "" -":mod:`multiprocessing` now has :ref:`an option to avoid using os.fork on " -"Unix ` (:issue:`8713`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:123 -msgid "" -":mod:`email` has a new submodule, :mod:`~email.contentmanager`, and a new " -":mod:`~email.message.Message` subclass " -"(:class:`~email.contentmanager.EmailMessage`) that :ref:`simplify MIME " -"handling ` (:issue:`18891`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:127 -msgid "" -"The :mod:`inspect` and :mod:`pydoc` modules are now capable of correct " -"introspection of a much wider variety of callable objects, which improves " -"the output of the Python :func:`help` system." -msgstr "" - -#: ../../whatsnew/3.4.rst:130 -msgid "The :mod:`ipaddress` module API has been declared stable" -msgstr "" - -#: ../../whatsnew/3.4.rst:132 -msgid "Security improvements:" -msgstr "" - -#: ../../whatsnew/3.4.rst:134 -msgid "" -":ref:`Secure and interchangeable hash algorithm ` " -"(:pep:`456`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:136 -msgid "" -":ref:`Make newly created file descriptors non-inheritable ` (:pep:`446`) to avoid leaking file descriptors to child processes." -msgstr "" - -#: ../../whatsnew/3.4.rst:138 -msgid "" -"New command line option for :ref:`isolated mode `, " -"(:issue:`16499`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:140 -msgid "" -":mod:`multiprocessing` now has :ref:`an option to avoid using os.fork on " -"Unix `. *spawn* and *forkserver* are more" -" secure because they avoid sharing data with child processes." -msgstr "" - -#: ../../whatsnew/3.4.rst:143 -msgid "" -":mod:`multiprocessing` child processes on Windows no longer inherit all of " -"the parent's inheritable handles, only the necessary ones." -msgstr "" - -#: ../../whatsnew/3.4.rst:145 -msgid "" -"A new :func:`hashlib.pbkdf2_hmac` function provides the `PKCS#5 password-" -"based key derivation function 2 `_." -msgstr "" - -#: ../../whatsnew/3.4.rst:148 -msgid "" -":ref:`TLSv1.1 and TLSv1.2 support ` for :mod:`ssl`." -msgstr "" - -#: ../../whatsnew/3.4.rst:149 -msgid "" -":ref:`Retrieving certificates from the Windows system cert store support " -"` for :mod:`ssl`." -msgstr "" - -#: ../../whatsnew/3.4.rst:151 -msgid "" -":ref:`Server-side SNI (Server Name Indication) support ` for" -" :mod:`ssl`." -msgstr "" - -#: ../../whatsnew/3.4.rst:153 -msgid "" -"The :class:`ssl.SSLContext` class has a :ref:`lot of improvements " -"`." -msgstr "" - -#: ../../whatsnew/3.4.rst:155 -msgid "" -"All modules in the standard library that support SSL now support server " -"certificate verification, including hostname matching " -"(:func:`ssl.match_hostname`) and CRLs (Certificate Revocation lists, see " -":func:`ssl.SSLContext.load_verify_locations`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:160 -msgid "CPython implementation improvements:" -msgstr "Peningkatan implementasi CPython:" - -#: ../../whatsnew/3.4.rst:162 -msgid ":ref:`Safe object finalization ` (:pep:`442`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:163 -msgid "" -"Leveraging :pep:`442`, in most cases :ref:`module globals are no longer set " -"to None during finalization ` (:issue:`18214`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:165 -msgid ":ref:`Configurable memory allocators ` (:pep:`445`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:166 -msgid ":ref:`Argument Clinic ` (:pep:`436`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:168 -msgid "" -"Please read on for a comprehensive list of user-facing changes, including " -"many other smaller improvements, CPython optimizations, deprecations, and " -"potential porting issues." -msgstr "" - -#: ../../whatsnew/3.4.rst:175 -msgid "New Features" -msgstr "Fitur-fitur Baru" - -#: ../../whatsnew/3.4.rst:180 -msgid "PEP 453: Explicit Bootstrapping of PIP in Python Installations" -msgstr "" - -#: ../../whatsnew/3.4.rst:183 -msgid "Bootstrapping pip By Default" -msgstr "" - -#: ../../whatsnew/3.4.rst:185 -msgid "" -"The new :mod:`ensurepip` module (defined in :pep:`453`) provides a standard " -"cross-platform mechanism to bootstrap the pip installer into Python " -"installations and virtual environments. The version of ``pip`` included with" -" Python 3.4.0 is ``pip`` 1.5.4, and future 3.4.x maintenance releases will " -"update the bundled version to the latest version of ``pip`` that is " -"available at the time of creating the release candidate." -msgstr "" - -#: ../../whatsnew/3.4.rst:192 -msgid "" -"By default, the commands ``pipX`` and ``pipX.Y`` will be installed on all " -"platforms (where X.Y stands for the version of the Python installation), " -"along with the ``pip`` Python package and its dependencies. On Windows and " -"in virtual environments on all platforms, the unversioned ``pip`` command " -"will also be installed. On other platforms, the system wide unversioned " -"``pip`` command typically refers to the separately installed Python 2 " -"version." -msgstr "" - -#: ../../whatsnew/3.4.rst:200 -msgid "" -"The ``pyvenv`` command line utility and the :mod:`venv` module make use of " -"the :mod:`ensurepip` module to make ``pip`` readily available in virtual " -"environments. When using the command line utility, ``pip`` is installed by " -"default, while when using the :mod:`venv` module :ref:`venv-api` " -"installation of ``pip`` must be requested explicitly." -msgstr "" - -#: ../../whatsnew/3.4.rst:206 -msgid "" -"For CPython :ref:`source builds on POSIX systems `," -" the ``make install`` and ``make altinstall`` commands bootstrap ``pip`` by " -"default. This behaviour can be controlled through configure options, and " -"overridden through Makefile options." -msgstr "" - -#: ../../whatsnew/3.4.rst:211 -msgid "" -"On Windows and Mac OS X, the CPython installers now default to installing " -"``pip`` along with CPython itself (users may opt out of installing it during" -" the installation process). Window users will need to opt in to the " -"automatic ``PATH`` modifications to have ``pip`` available from the command " -"line by default, otherwise it can still be accessed through the Python " -"launcher for Windows as ``py -m pip``." -msgstr "" - -#: ../../whatsnew/3.4.rst:218 -msgid "" -"As :pep:`discussed in the PEP <0453#recommendations-for-downstream-" -"distributors>` platform packagers may choose not to install these commands " -"by default, as long as, when invoked, they provide clear and simple " -"directions on how to install them on that platform (usually using the system" -" package manager)." -msgstr "" - -#: ../../whatsnew/3.4.rst:226 -msgid "" -"To avoid conflicts between parallel Python 2 and Python 3 installations, " -"only the versioned ``pip3`` and ``pip3.4`` commands are bootstrapped by " -"default when ``ensurepip`` is invoked directly - the ``--default-pip`` " -"option is needed to also request the unversioned ``pip`` command. ``pyvenv``" -" and the Windows installer ensure that the unqualified ``pip`` command is " -"made available in those environments, and ``pip`` can always be invoked via " -"the ``-m`` switch rather than directly to avoid ambiguity on systems with " -"multiple Python installations." -msgstr "" - -#: ../../whatsnew/3.4.rst:237 -msgid "Documentation Changes" -msgstr "Perubahan Dokumentasi" - -#: ../../whatsnew/3.4.rst:239 -msgid "" -"As part of this change, the :ref:`installing-index` and :ref:`distributing-" -"index` sections of the documentation have been completely redesigned as " -"short getting started and FAQ documents. Most packaging documentation has " -"now been moved out to the Python Packaging Authority maintained `Python " -"Packaging User Guide `__ and the documentation" -" of the individual projects." -msgstr "" - -#: ../../whatsnew/3.4.rst:247 -msgid "" -"However, as this migration is currently still incomplete, the legacy " -"versions of those guides remaining available as :ref:`install-index` and " -":ref:`setuptools-index`." -msgstr "" - -#: ../../whatsnew/3.4.rst:253 -msgid ":pep:`453` -- Explicit bootstrapping of pip in Python installations" -msgstr "" - -#: ../../whatsnew/3.4.rst:254 -msgid "" -"PEP written by Donald Stufft and Nick Coghlan, implemented by Donald Stufft," -" Nick Coghlan, Martin von Löwis and Ned Deily." -msgstr "" - -#: ../../whatsnew/3.4.rst:261 -msgid "PEP 446: Newly Created File Descriptors Are Non-Inheritable" -msgstr "" - -#: ../../whatsnew/3.4.rst:263 -msgid "" -":pep:`446` makes newly created file descriptors :ref:`non-inheritable " -"`. In general, this is the behavior an application will " -"want: when launching a new process, having currently open files also open in" -" the new process can lead to all sorts of hard to find bugs, and potentially" -" to security issues." -msgstr "" - -#: ../../whatsnew/3.4.rst:269 -msgid "" -"However, there are occasions when inheritance is desired. To support these " -"cases, the following new functions and methods are available:" -msgstr "" - -#: ../../whatsnew/3.4.rst:272 -msgid ":func:`os.get_inheritable`, :func:`os.set_inheritable`" -msgstr "" - -#: ../../whatsnew/3.4.rst:273 -msgid ":func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`" -msgstr "" - -#: ../../whatsnew/3.4.rst:274 -msgid "" -":meth:`socket.socket.get_inheritable`, :meth:`socket.socket.set_inheritable`" -msgstr "" - -#: ../../whatsnew/3.4.rst:278 -msgid ":pep:`446` -- Make newly created file descriptors non-inheritable" -msgstr "" - -#: ../../whatsnew/3.4.rst:279 ../../whatsnew/3.4.rst:1811 -msgid "PEP written and implemented by Victor Stinner." -msgstr "" - -#: ../../whatsnew/3.4.rst:285 -msgid "Improvements to Codec Handling" -msgstr "" - -#: ../../whatsnew/3.4.rst:287 -msgid "" -"Since it was first introduced, the :mod:`codecs` module has always been " -"intended to operate as a type-neutral dynamic encoding and decoding system. " -"However, its close coupling with the Python text model, especially the type " -"restricted convenience methods on the builtin :class:`str`, :class:`bytes` " -"and :class:`bytearray` types, has historically obscured that fact." -msgstr "" - -#: ../../whatsnew/3.4.rst:294 -msgid "" -"As a key step in clarifying the situation, the :meth:`codecs.encode` and " -":meth:`codecs.decode` convenience functions are now properly documented in " -"Python 2.7, 3.3 and 3.4. These functions have existed in the :mod:`codecs` " -"module (and have been covered by the regression test suite) since Python " -"2.4, but were previously only discoverable through runtime introspection." -msgstr "" - -#: ../../whatsnew/3.4.rst:300 -msgid "" -"Unlike the convenience methods on :class:`str`, :class:`bytes` and " -":class:`bytearray`, the :mod:`codecs` convenience functions support " -"arbitrary codecs in both Python 2 and Python 3, rather than being limited to" -" Unicode text encodings (in Python 3) or ``basestring`` <-> ``basestring`` " -"conversions (in Python 2)." -msgstr "" - -#: ../../whatsnew/3.4.rst:306 -msgid "" -"In Python 3.4, the interpreter is able to identify the known non-text " -"encodings provided in the standard library and direct users towards these " -"general purpose convenience functions when appropriate::" -msgstr "" - -#: ../../whatsnew/3.4.rst:310 -msgid "" -">>> b\"abcdef\".decode(\"hex\")\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"LookupError: 'hex' is not a text encoding; use codecs.decode() to handle arbitrary codecs\n" -"\n" -">>> \"hello\".encode(\"rot13\")\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"LookupError: 'rot13' is not a text encoding; use codecs.encode() to handle arbitrary codecs\n" -"\n" -">>> open(\"foo.txt\", encoding=\"hex\")\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"LookupError: 'hex' is not a text encoding; use codecs.open() to handle arbitrary codecs" -msgstr "" - -#: ../../whatsnew/3.4.rst:325 -msgid "" -"In a related change, whenever it is feasible without breaking backwards " -"compatibility, exceptions raised during encoding and decoding operations are" -" wrapped in a chained exception of the same type that mentions the name of " -"the codec responsible for producing the error::" -msgstr "" - -#: ../../whatsnew/3.4.rst:330 -msgid "" -">>> import codecs\n" -"\n" -">>> codecs.decode(b\"abcdefgh\", \"hex\")\n" -"Traceback (most recent call last):\n" -" File \"/usr/lib/python3.4/encodings/hex_codec.py\", line 20, in hex_decode\n" -" return (binascii.a2b_hex(input), len(input))\n" -"binascii.Error: Non-hexadecimal digit found\n" -"\n" -"The above exception was the direct cause of the following exception:\n" -"\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"binascii.Error: decoding with 'hex' codec failed (Error: Non-hexadecimal digit found)\n" -"\n" -">>> codecs.encode(\"hello\", \"bz2\")\n" -"Traceback (most recent call last):\n" -" File \"/usr/lib/python3.4/encodings/bz2_codec.py\", line 17, in bz2_encode\n" -" return (bz2.compress(input), len(input))\n" -" File \"/usr/lib/python3.4/bz2.py\", line 498, in compress\n" -" return comp.compress(data) + comp.flush()\n" -"TypeError: 'str' does not support the buffer interface\n" -"\n" -"The above exception was the direct cause of the following exception:\n" -"\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: encoding with 'bz2' codec failed (TypeError: 'str' does not support the buffer interface)" -msgstr "" - -#: ../../whatsnew/3.4.rst:358 -msgid "" -"Finally, as the examples above show, these improvements have permitted the " -"restoration of the convenience aliases for the non-Unicode codecs that were " -"themselves restored in Python 3.2. This means that encoding binary data to " -"and from its hexadecimal representation (for example) can now be written " -"as::" -msgstr "" - -#: ../../whatsnew/3.4.rst:364 -msgid "" -">>> from codecs import encode, decode\n" -">>> encode(b\"hello\", \"hex\")\n" -"b'68656c6c6f'\n" -">>> decode(b\"68656c6c6f\", \"hex\")\n" -"b'hello'" -msgstr "" - -#: ../../whatsnew/3.4.rst:370 -msgid "" -"The binary and text transforms provided in the standard library are detailed" -" in :ref:`binary-transforms` and :ref:`text-transforms`." -msgstr "" - -#: ../../whatsnew/3.4.rst:373 -msgid "" -"(Contributed by Nick Coghlan in :issue:`7475`, :issue:`17827`, " -":issue:`17828` and :issue:`19619`.)" -msgstr "" -"(Kontribusi dari Nick Coghlan di :issue:`7475`, :issue:`17827`, " -":issue:`17828` dan :issue:`19619`.)" - -#: ../../whatsnew/3.4.rst:380 -msgid "PEP 451: A ModuleSpec Type for the Import System" -msgstr "" - -#: ../../whatsnew/3.4.rst:382 -msgid "" -":pep:`451` provides an encapsulation of the information about a module that " -"the import machinery will use to load it (that is, a module specification)." -" This helps simplify both the import implementation and several import-" -"related APIs. The change is also a stepping stone for `several future " -"import-related improvements`__." -msgstr "" - -#: ../../whatsnew/3.4.rst:390 -msgid "" -"The public-facing changes from the PEP are entirely backward-compatible. " -"Furthermore, they should be transparent to everyone but importer authors. " -"Key finder and loader methods have been deprecated, but they will continue " -"working. New importers should use the new methods described in the PEP. " -"Existing importers should be updated to implement the new methods. See the " -":ref:`deprecated-3.4` section for a list of methods that should be replaced " -"and their replacements." -msgstr "" - -#: ../../whatsnew/3.4.rst:400 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.4.rst:402 -msgid "Some smaller changes made to the core Python language are:" -msgstr "" - -#: ../../whatsnew/3.4.rst:404 -msgid "Unicode database updated to UCD version 6.3." -msgstr "" - -#: ../../whatsnew/3.4.rst:406 -msgid "" -":func:`min` and :func:`max` now accept a *default* keyword-only argument " -"that can be used to specify the value they return if the iterable they are " -"evaluating has no elements. (Contributed by Julian Berman in " -":issue:`18111`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:411 -msgid "Module objects are now :ref:`weakly referenceable `." -msgstr "" - -#: ../../whatsnew/3.4.rst:413 -msgid "" -"Module ``__file__`` attributes (and related values) should now always " -"contain absolute paths by default, with the sole exception of " -"``__main__.__file__`` when a script has been executed directly using a " -"relative path. (Contributed by Brett Cannon in :issue:`18416`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:418 -msgid "" -"All the UTF-\\* codecs (except UTF-7) now reject surrogates during both " -"encoding and decoding unless the ``surrogatepass`` error handler is used, " -"with the exception of the UTF-16 decoder (which accepts valid surrogate " -"pairs) and the UTF-16 encoder (which produces them while encoding non-BMP " -"characters). (Contributed by Victor Stinner, Kang-Hao (Kenny) Lu and Serhiy " -"Storchaka in :issue:`12892`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:425 -msgid "" -"New German EBCDIC :ref:`codec ` ``cp273``. (Contributed" -" by Michael Bierenfeld and Andrew Kuchling in :issue:`1097797`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:428 -msgid "" -"New Ukrainian :ref:`codec ` ``cp1125``. (Contributed by" -" Serhiy Storchaka in :issue:`19668`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:431 -msgid "" -":class:`bytes`.join() and :class:`bytearray`.join() now accept arbitrary " -"buffer objects as arguments. (Contributed by Antoine Pitrou in " -":issue:`15958`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:435 -msgid "" -"The :class:`int` constructor now accepts any object that has an " -"``__index__`` method for its *base* argument. (Contributed by Mark " -"Dickinson in :issue:`16772`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:439 -msgid "" -"Frame objects now have a :func:`~frame.clear` method that clears all " -"references to local variables from the frame. (Contributed by Antoine " -"Pitrou in :issue:`17934`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:443 -msgid "" -":class:`memoryview` is now registered as a :class:`Sequence " -"`, and supports the :func:`reversed` builtin. (Contributed" -" by Nick Coghlan and Claudiu Popa in :issue:`18690` and :issue:`19078`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:447 -msgid "" -"Signatures reported by :func:`help` have been modified and improved in " -"several cases as a result of the introduction of Argument Clinic and other " -"changes to the :mod:`inspect` and :mod:`pydoc` modules." -msgstr "" - -#: ../../whatsnew/3.4.rst:451 -msgid "" -":meth:`~object.__length_hint__` is now part of the formal language " -"specification (see :pep:`424`). (Contributed by Armin Ronacher in " -":issue:`16148`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:457 -msgid "New Modules" -msgstr "Modul-Modul Baru" - -#: ../../whatsnew/3.4.rst:463 -msgid "asyncio" -msgstr "asyncio" - -#: ../../whatsnew/3.4.rst:465 -msgid "" -"The new :mod:`asyncio` module (defined in :pep:`3156`) provides a standard " -"pluggable event loop model for Python, providing solid asynchronous IO " -"support in the standard library, and making it easier for other event loop " -"implementations to interoperate with the standard library and each other." -msgstr "" - -#: ../../whatsnew/3.4.rst:470 ../../whatsnew/3.4.rst:533 -msgid "For Python 3.4, this module is considered a :term:`provisional API`." -msgstr "" - -#: ../../whatsnew/3.4.rst:474 -msgid ":pep:`3156` -- Asynchronous IO Support Rebooted: the \"asyncio\" Module" -msgstr "" - -#: ../../whatsnew/3.4.rst:475 -msgid "PEP written and implementation led by Guido van Rossum." -msgstr "" - -#: ../../whatsnew/3.4.rst:481 -msgid "ensurepip" -msgstr "" - -#: ../../whatsnew/3.4.rst:483 -msgid "" -"The new :mod:`ensurepip` module is the primary infrastructure for the " -":pep:`453` implementation. In the normal course of events end users will " -"not need to interact with this module, but it can be used to manually " -"bootstrap ``pip`` if the automated bootstrapping into an installation or " -"virtual environment was declined." -msgstr "" - -#: ../../whatsnew/3.4.rst:489 -msgid "" -":mod:`ensurepip` includes a bundled copy of ``pip``, up-to-date as of the " -"first release candidate of the release of CPython with which it ships (this " -"applies to both maintenance releases and feature releases). ``ensurepip`` " -"does not access the internet. If the installation has internet access, " -"after ``ensurepip`` is run the bundled ``pip`` can be used to upgrade " -"``pip`` to a more recent release than the bundled one. (Note that such an " -"upgraded version of ``pip`` is considered to be a separately installed " -"package and will not be removed if Python is uninstalled.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:498 -msgid "" -"The module is named *ensure*\\ pip because if called when ``pip`` is already" -" installed, it does nothing. It also has an ``--upgrade`` option that will " -"cause it to install the bundled copy of ``pip`` if the existing installed " -"version of ``pip`` is older than the bundled copy." -msgstr "" - -#: ../../whatsnew/3.4.rst:507 -msgid "enum" -msgstr "enum" - -#: ../../whatsnew/3.4.rst:509 -msgid "" -"The new :mod:`enum` module (defined in :pep:`435`) provides a standard " -"implementation of enumeration types, allowing other modules (such as " -":mod:`socket`) to provide more informative error messages and better " -"debugging support by replacing opaque integer constants with backwards " -"compatible enumeration values." -msgstr "" - -#: ../../whatsnew/3.4.rst:517 -msgid ":pep:`435` -- Adding an Enum type to the Python standard library" -msgstr "" - -#: ../../whatsnew/3.4.rst:518 -msgid "" -"PEP written by Barry Warsaw, Eli Bendersky and Ethan Furman, implemented by " -"Ethan Furman." -msgstr "" - -#: ../../whatsnew/3.4.rst:525 -msgid "pathlib" -msgstr "pathlib" - -#: ../../whatsnew/3.4.rst:527 -msgid "" -"The new :mod:`pathlib` module offers classes representing filesystem paths " -"with semantics appropriate for different operating systems. Path classes " -"are divided between *pure paths*, which provide purely computational " -"operations without I/O, and *concrete paths*, which inherit from pure paths " -"but also provide I/O operations." -msgstr "" - -#: ../../whatsnew/3.4.rst:537 -msgid ":pep:`428` -- The pathlib module -- object-oriented filesystem paths" -msgstr "" - -#: ../../whatsnew/3.4.rst:538 ../../whatsnew/3.4.rst:1834 -msgid "PEP written and implemented by Antoine Pitrou." -msgstr "" - -#: ../../whatsnew/3.4.rst:544 -msgid "selectors" -msgstr "" - -#: ../../whatsnew/3.4.rst:546 -msgid "" -"The new :mod:`selectors` module (created as part of implementing " -":pep:`3156`) allows high-level and efficient I/O multiplexing, built upon " -"the :mod:`select` module primitives." -msgstr "" - -#: ../../whatsnew/3.4.rst:554 -msgid "statistics" -msgstr "statistics" - -#: ../../whatsnew/3.4.rst:556 -msgid "" -"The new :mod:`statistics` module (defined in :pep:`450`) offers some core " -"statistics functionality directly in the standard library. This module " -"supports calculation of the mean, median, mode, variance and standard " -"deviation of a data series." -msgstr "" - -#: ../../whatsnew/3.4.rst:563 -msgid ":pep:`450` -- Adding A Statistics Module To The Standard Library" -msgstr "" - -#: ../../whatsnew/3.4.rst:564 -msgid "PEP written and implemented by Steven D'Aprano" -msgstr "" - -#: ../../whatsnew/3.4.rst:570 -msgid "tracemalloc" -msgstr "tracemalloc" - -#: ../../whatsnew/3.4.rst:572 -msgid "" -"The new :mod:`tracemalloc` module (defined in :pep:`454`) is a debug tool to" -" trace memory blocks allocated by Python. It provides the following " -"information:" -msgstr "" - -#: ../../whatsnew/3.4.rst:575 -msgid "Trace where an object was allocated" -msgstr "" - -#: ../../whatsnew/3.4.rst:576 -msgid "" -"Statistics on allocated memory blocks per filename and per line number: " -"total size, number and average size of allocated memory blocks" -msgstr "" - -#: ../../whatsnew/3.4.rst:578 -msgid "Compute the differences between two snapshots to detect memory leaks" -msgstr "" - -#: ../../whatsnew/3.4.rst:582 -msgid "" -":pep:`454` -- Add a new tracemalloc module to trace Python memory " -"allocations" -msgstr "" - -#: ../../whatsnew/3.4.rst:583 -msgid "PEP written and implemented by Victor Stinner" -msgstr "" - -#: ../../whatsnew/3.4.rst:588 -msgid "Improved Modules" -msgstr "Modul yang Ditingkatkan" - -#: ../../whatsnew/3.4.rst:592 -msgid "abc" -msgstr "abc" - -#: ../../whatsnew/3.4.rst:594 -msgid "" -"New function :func:`abc.get_cache_token` can be used to know when to " -"invalidate caches that are affected by changes in the object graph. " -"(Contributed by Łukasz Langa in :issue:`16832`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:598 -msgid "" -"New class :class:`~abc.ABC` has :class:`~abc.ABCMeta` as its meta class. " -"Using ``ABC`` as a base class has essentially the same effect as specifying " -"``metaclass=abc.ABCMeta``, but is simpler to type and easier to read. " -"(Contributed by Bruno Dupuis in :issue:`16049`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:605 -msgid "aifc" -msgstr "aifc" - -#: ../../whatsnew/3.4.rst:607 -msgid "" -"The :meth:`!getparams` method now returns a namedtuple rather than a plain " -"tuple. (Contributed by Claudiu Popa in :issue:`17818`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:610 -msgid "" -":func:`!aifc.open` now supports the context management protocol: when used " -"in a :keyword:`with` block, the :meth:`!close` method of the returned object" -" will be called automatically at the end of the block. (Contributed by " -"Serhiy Storchacha in :issue:`16486`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:615 ../../whatsnew/3.4.rst:1542 -msgid "" -"The :meth:`!writeframesraw` and :meth:`!writeframes` methods now accept any " -":term:`bytes-like object`. (Contributed by Serhiy Storchaka in " -":issue:`8311`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:621 -msgid "argparse" -msgstr "argparse" - -#: ../../whatsnew/3.4.rst:623 -msgid "" -"The :class:`~argparse.FileType` class now accepts *encoding* and *errors* " -"arguments, which are passed through to :func:`open`. (Contributed by Lucas " -"Maystre in :issue:`11175`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:629 -msgid "audioop" -msgstr "" - -#: ../../whatsnew/3.4.rst:631 -msgid "" -":mod:`!audioop` now supports 24-bit samples. (Contributed by Serhiy " -"Storchaka in :issue:`12866`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:634 -msgid "" -"New :func:`!byteswap` function converts big-endian samples to little-endian " -"and vice versa. (Contributed by Serhiy Storchaka in :issue:`19641`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:638 -msgid "" -"All :mod:`!audioop` functions now accept any :term:`bytes-like object`. " -"Strings are not accepted: they didn't work before, now they raise an error " -"right away. (Contributed by Serhiy Storchaka in :issue:`16685`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:644 -msgid "base64" -msgstr "" - -#: ../../whatsnew/3.4.rst:646 -msgid "" -"The encoding and decoding functions in :mod:`base64` now accept any " -":term:`bytes-like object` in cases where it previously required a " -":class:`bytes` or :class:`bytearray` instance. (Contributed by Nick Coghlan" -" in :issue:`17839`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:651 -msgid "" -"New functions :func:`~base64.a85encode`, :func:`~base64.a85decode`, " -":func:`~base64.b85encode`, and :func:`~base64.b85decode` provide the ability" -" to encode and decode binary data from and to ``Ascii85`` and the " -"git/mercurial ``Base85`` formats, respectively. The ``a85`` functions have " -"options that can be used to make them compatible with the variants of the " -"``Ascii85`` encoding, including the Adobe variant. (Contributed by Martin " -"Morrison, the Mercurial project, Serhiy Storchaka, and Antoine Pitrou in " -":issue:`17618`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:661 -msgid "collections" -msgstr "collections" - -#: ../../whatsnew/3.4.rst:663 -msgid "" -"The :meth:`.ChainMap.new_child` method now accepts an *m* argument " -"specifying the child map to add to the chain. This allows an existing " -"mapping and/or a custom mapping type to be used for the child. (Contributed" -" by Vinay Sajip in :issue:`16613`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:670 -msgid "colorsys" -msgstr "" - -#: ../../whatsnew/3.4.rst:672 -msgid "" -"The number of digits in the coefficients for the RGB --- YIQ conversions " -"have been expanded so that they match the FCC NTSC versions. The change in " -"results should be less than 1% and may better match results found elsewhere." -" (Contributed by Brian Landers and Serhiy Storchaka in :issue:`14323`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:679 -msgid "contextlib" -msgstr "contextlib" - -#: ../../whatsnew/3.4.rst:681 -msgid "" -"The new :class:`contextlib.suppress` context manager helps to clarify the " -"intent of code that deliberately suppresses exceptions from a single " -"statement. (Contributed by Raymond Hettinger in :issue:`15806` and Zero " -"Piraeus in :issue:`19266`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:686 -msgid "" -"The new :func:`contextlib.redirect_stdout` context manager makes it easier " -"for utility scripts to handle inflexible APIs that write their output to " -":data:`sys.stdout` and don't provide any options to redirect it. Using the " -"context manager, the :data:`sys.stdout` output can be redirected to any " -"other stream or, in conjunction with :class:`io.StringIO`, to a string. The " -"latter can be especially useful, for example, to capture output from a " -"function that was written to implement a command line interface. It is " -"recommended only for utility scripts because it affects the global state of " -":data:`sys.stdout`. (Contributed by Raymond Hettinger in :issue:`15805`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:697 -msgid "" -"The :mod:`contextlib` documentation has also been updated to include a " -":ref:`discussion ` of the differences" -" between single use, reusable and reentrant context managers." -msgstr "" - -#: ../../whatsnew/3.4.rst:703 -msgid "dbm" -msgstr "dbm" - -#: ../../whatsnew/3.4.rst:705 -msgid "" -":func:`dbm.open` objects now support the context management protocol. When " -"used in a :keyword:`with` statement, the ``close`` method of the database " -"object will be called automatically at the end of the block. (Contributed " -"by Claudiu Popa and Nick Coghlan in :issue:`19282`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:712 -msgid "dis" -msgstr "dis" - -#: ../../whatsnew/3.4.rst:714 -msgid "" -"Functions :func:`~dis.show_code`, :func:`~dis.dis`, :func:`~dis.distb`, and " -":func:`~dis.disassemble` now accept a keyword-only *file* argument that " -"controls where they write their output." -msgstr "" - -#: ../../whatsnew/3.4.rst:718 -msgid "" -"The :mod:`dis` module is now built around an :class:`~dis.Instruction` class" -" that provides object oriented access to the details of each individual " -"bytecode operation." -msgstr "" - -#: ../../whatsnew/3.4.rst:722 -msgid "" -"A new method, :func:`~dis.get_instructions`, provides an iterator that emits" -" the Instruction stream for a given piece of Python code. Thus it is now " -"possible to write a program that inspects and manipulates a bytecode object " -"in ways different from those provided by the :mod:`~dis` module itself. For" -" example::" -msgstr "" - -#: ../../whatsnew/3.4.rst:728 -msgid "" -">>> import dis\n" -">>> for instr in dis.get_instructions(lambda x: x + 1):\n" -"... print(instr.opname)\n" -"LOAD_FAST\n" -"LOAD_CONST\n" -"BINARY_ADD\n" -"RETURN_VALUE" -msgstr "" - -#: ../../whatsnew/3.4.rst:736 -msgid "" -"The various display tools in the :mod:`dis` module have been rewritten to " -"use these new components." -msgstr "" - -#: ../../whatsnew/3.4.rst:739 -msgid "" -"In addition, a new application-friendly class :class:`~dis.Bytecode` " -"provides an object-oriented API for inspecting bytecode in both in human-" -"readable form and for iterating over instructions. The " -":class:`~dis.Bytecode` constructor takes the same arguments that " -":func:`~dis.get_instruction` does (plus an optional *current_offset*), and " -"the resulting object can be iterated to produce :class:`~dis.Instruction` " -"objects. But it also has a :mod:`~dis.Bytecode.dis` method, equivalent to " -"calling :mod:`~dis.dis` on the constructor argument, but returned as a " -"multi-line string::" -msgstr "" - -#: ../../whatsnew/3.4.rst:748 -msgid "" -">>> bytecode = dis.Bytecode(lambda x: x + 1, current_offset=3)\n" -">>> for instr in bytecode:\n" -"... print('{} ({})'.format(instr.opname, instr.opcode))\n" -"LOAD_FAST (124)\n" -"LOAD_CONST (100)\n" -"BINARY_ADD (23)\n" -"RETURN_VALUE (83)\n" -">>> bytecode.dis().splitlines()\n" -"[' 1 0 LOAD_FAST 0 (x)',\n" -" ' --> 3 LOAD_CONST 1 (1)',\n" -" ' 6 BINARY_ADD',\n" -" ' 7 RETURN_VALUE']" -msgstr "" - -#: ../../whatsnew/3.4.rst:761 -msgid "" -":class:`~dis.Bytecode` also has a class method, " -":meth:`~dis.Bytecode.from_traceback`, that provides the ability to " -"manipulate a traceback (that is, " -"``print(Bytecode.from_traceback(tb).dis())`` is equivalent to " -"``distb(tb)``)." -msgstr "" - -#: ../../whatsnew/3.4.rst:766 -msgid "" -"(Contributed by Nick Coghlan, Ryan Kelly and Thomas Kluyver in " -":issue:`11816` and Claudiu Popa in :issue:`17916`.)" -msgstr "" -"(Kontribusi dari Nick Coghlan, Ryan Kelly dan Thomas Kluyver di " -":issue:`11816` dan Claudiu Popa di :issue:`17916`.)" - -#: ../../whatsnew/3.4.rst:769 -msgid "" -"New function :func:`~dis.stack_effect` computes the effect on the Python " -"stack of a given opcode and argument, information that is not otherwise " -"available. (Contributed by Larry Hastings in :issue:`19722`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:775 -msgid "doctest" -msgstr "" - -#: ../../whatsnew/3.4.rst:777 -msgid "" -"A new :ref:`option flag `, :const:`~doctest.FAIL_FAST`, " -"halts test running as soon as the first failure is detected. (Contributed " -"by R. David Murray and Daniel Urban in :issue:`16522`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:781 -msgid "" -"The :mod:`doctest` command line interface now uses :mod:`argparse`, and has " -"two new options, ``-o`` and ``-f``. ``-o`` allows :ref:`doctest options " -"` to be specified on the command line, and ``-f`` is a " -"shorthand for ``-o FAIL_FAST`` (to parallel the similar option supported by " -"the :mod:`unittest` CLI). (Contributed by R. David Murray in " -":issue:`11390`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:787 -msgid "" -":mod:`doctest` will now find doctests in extension module ``__doc__`` " -"strings. (Contributed by Zachary Ware in :issue:`3158`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:792 -msgid "email" -msgstr "" - -#: ../../whatsnew/3.4.rst:794 -msgid "" -":meth:`~email.message.Message.as_string` now accepts a *policy* argument to " -"override the default policy of the message when generating a string " -"representation of it. This means that ``as_string`` can now be used in more" -" circumstances, instead of having to create and use a " -":mod:`~email.generator` in order to pass formatting parameters to its " -"``flatten`` method. (Contributed by R. David Murray in :issue:`18600`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:801 -msgid "" -"New method :meth:`~email.message.Message.as_bytes` added to produce a bytes " -"representation of the message in a fashion similar to how ``as_string`` " -"produces a string representation. It does not accept the *maxheaderlen* " -"argument, but does accept the *unixfrom* and *policy* arguments. The " -":class:`~email.message.Message` :meth:`~email.message.Message.__bytes__` " -"method calls it, meaning that ``bytes(mymsg)`` will now produce the " -"intuitive result: a bytes object containing the fully formatted message. " -"(Contributed by R. David Murray in :issue:`18600`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:810 -msgid "" -"The :meth:`.Message.set_param` message now accepts a *replace* keyword " -"argument. When specified, the associated header will be updated without " -"changing its location in the list of headers. For backward compatibility, " -"the default is ``False``. (Contributed by R. David Murray in " -":issue:`18891`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:818 -msgid "" -"A pair of new subclasses of :class:`~email.message.Message` have been added " -"(:class:`.EmailMessage` and :class:`.MIMEPart`), along with a new sub-" -"module, :mod:`~email.contentmanager` and a new :mod:`~email.policy` " -"attribute :attr:`~email.policy.EmailPolicy.content_manager`. All " -"documentation is currently in the new module, which is being added as part " -"of email's new :term:`provisional API`. These classes provide a number of " -"new methods that make extracting content from and inserting content into " -"email messages much easier. For details, see the " -":mod:`~email.contentmanager` documentation and the :ref:`email-examples`. " -"These API additions complete the bulk of the work that was planned as part " -"of the email6 project. The currently provisional API is scheduled to become" -" final in Python 3.5 (possibly with a few minor additions in the area of " -"error handling). (Contributed by R. David Murray in :issue:`18891`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:834 -msgid "filecmp" -msgstr "" - -#: ../../whatsnew/3.4.rst:836 -msgid "" -"A new :func:`~filecmp.clear_cache` function provides the ability to clear " -"the :mod:`filecmp` comparison cache, which uses :func:`os.stat` information " -"to determine if the file has changed since the last compare. This can be " -"used, for example, if the file might have been changed and re-checked in " -"less time than the resolution of a particular filesystem's file modification" -" time field. (Contributed by Mark Levitt in :issue:`18149`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:843 -msgid "" -"New module attribute :const:`~filecmp.DEFAULT_IGNORES` provides the list of " -"directories that are used as the default value for the *ignore* parameter of" -" the :func:`~filecmp.dircmp` function. (Contributed by Eli Bendersky in " -":issue:`15442`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:850 -msgid "functools" -msgstr "functools" - -#: ../../whatsnew/3.4.rst:852 -msgid "" -"The new :func:`~functools.partialmethod` descriptor brings partial argument " -"application to descriptors, just as :func:`~functools.partial` provides for " -"normal callables. The new descriptor also makes it easier to get arbitrary " -"callables (including :func:`~functools.partial` instances) to behave like " -"normal instance methods when included in a class definition. (Contributed by" -" Alon Horev and Nick Coghlan in :issue:`4331`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:861 -msgid "" -"The new :func:`~functools.singledispatch` decorator brings support for " -"single-dispatch generic functions to the Python standard library. Where " -"object oriented programming focuses on grouping multiple operations on a " -"common set of data into a class, a generic function focuses on grouping " -"multiple implementations of an operation that allows it to work with " -"*different* kinds of data." -msgstr "" - -#: ../../whatsnew/3.4.rst:870 -msgid ":pep:`443` -- Single-dispatch generic functions" -msgstr "" - -#: ../../whatsnew/3.4.rst:871 -msgid "PEP written and implemented by Łukasz Langa." -msgstr "PEP ditulis dan diimplementasikan oleh Łukasz Langa." - -#: ../../whatsnew/3.4.rst:873 -msgid "" -":func:`~functools.total_ordering` now supports a return value of " -":data:`NotImplemented` from the underlying comparison function. " -"(Contributed by Katie Miller in :issue:`10042`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:877 -msgid "" -"A pure-python version of the :func:`~functools.partial` function is now in " -"the stdlib; in CPython it is overridden by the C accelerated version, but it" -" is available for other implementations to use. (Contributed by Brian " -"Thorne in :issue:`12428`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:884 -msgid "gc" -msgstr "gc" - -#: ../../whatsnew/3.4.rst:886 -msgid "" -"New function :func:`~gc.get_stats` returns a list of three per-generation " -"dictionaries containing the collections statistics since interpreter " -"startup. (Contributed by Antoine Pitrou in :issue:`16351`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:892 -msgid "glob" -msgstr "glob" - -#: ../../whatsnew/3.4.rst:894 -msgid "" -"A new function :func:`~glob.escape` provides a way to escape special " -"characters in a filename so that they do not become part of the globbing " -"expansion but are instead matched literally. (Contributed by Serhiy " -"Storchaka in :issue:`8402`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:900 -msgid "hashlib" -msgstr "" - -#: ../../whatsnew/3.4.rst:902 -msgid "" -"A new :func:`hashlib.pbkdf2_hmac` function provides the `PKCS#5 password-" -"based key derivation function 2 `_. " -"(Contributed by Christian Heimes in :issue:`18582`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:907 -msgid "" -"The :attr:`~hashlib.hash.name` attribute of :mod:`hashlib` hash objects is " -"now a formally supported interface. It has always existed in CPython's " -":mod:`hashlib` (although it did not return lower case names for all " -"supported hashes), but it was not a public interface and so some other " -"Python implementations have not previously supported it. (Contributed by " -"Jason R. Coombs in :issue:`18532`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:916 -msgid "hmac" -msgstr "hmac" - -#: ../../whatsnew/3.4.rst:918 -msgid "" -":mod:`hmac` now accepts ``bytearray`` as well as ``bytes`` for the *key* " -"argument to the :func:`~hmac.new` function, and the *msg* parameter to both " -"the :func:`~hmac.new` function and the :meth:`~hmac.HMAC.update` method now " -"accepts any type supported by the :mod:`hashlib` module. (Contributed by " -"Jonas Borgström in :issue:`18240`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:924 -msgid "" -"The *digestmod* argument to the :func:`hmac.new` function may now be any " -"hash digest name recognized by :mod:`hashlib`. In addition, the current " -"behavior in which the value of *digestmod* defaults to ``MD5`` is " -"deprecated: in a future version of Python there will be no default value. " -"(Contributed by Christian Heimes in :issue:`17276`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:930 -msgid "" -"With the addition of :attr:`~hmac.HMAC.block_size` and " -":attr:`~hmac.HMAC.name` attributes (and the formal documentation of the " -":attr:`~hmac.HMAC.digest_size` attribute), the :mod:`hmac` module now " -"conforms fully to the :pep:`247` API. (Contributed by Christian Heimes in " -":issue:`18775`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:937 -msgid "html" -msgstr "html" - -#: ../../whatsnew/3.4.rst:939 -msgid "" -"New function :func:`~html.unescape` function converts HTML5 character " -"references to the corresponding Unicode characters. (Contributed by Ezio " -"Melotti in :issue:`2927`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:943 -msgid "" -":class:`~html.parser.HTMLParser` accepts a new keyword argument " -"*convert_charrefs* that, when ``True``, automatically converts all character" -" references. For backward-compatibility, its value defaults to ``False``, " -"but it will change to ``True`` in a future version of Python, so you are " -"invited to set it explicitly and update your code to use this new feature. " -"(Contributed by Ezio Melotti in :issue:`13633`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:950 -msgid "" -"The *strict* argument of :class:`~html.parser.HTMLParser` is now deprecated." -" (Contributed by Ezio Melotti in :issue:`15114`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:955 -msgid "http" -msgstr "http" - -#: ../../whatsnew/3.4.rst:957 -msgid "" -":meth:`~http.server.BaseHTTPRequestHandler.send_error` now accepts an " -"optional additional *explain* parameter which can be used to provide an " -"extended error description, overriding the hardcoded default if there is " -"one. This extended error description will be formatted using the " -":attr:`~http.server.HTTP.error_message_format` attribute and sent as the " -"body of the error response. (Contributed by Karl Cow in :issue:`12921`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:964 -msgid "" -"The :mod:`http.server` :ref:`command line interface ` now " -"has a ``-b/--bind`` option that causes the server to listen on a specific " -"address. (Contributed by Malte Swart in :issue:`17764`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:970 -msgid "idlelib and IDLE" -msgstr "idlelib and IDLE" - -#: ../../whatsnew/3.4.rst:972 -msgid "" -"Since idlelib implements the IDLE shell and editor and is not intended for " -"import by other programs, it gets improvements with every release. See " -":file:`Lib/idlelib/NEWS.txt` for a cumulative list of changes since 3.3.0, " -"as well as changes made in future 3.4.x releases. This file is also " -"available from the IDLE :menuselection:`Help --> About IDLE` dialog." -msgstr "" - -#: ../../whatsnew/3.4.rst:980 -msgid "importlib" -msgstr "importlib" - -#: ../../whatsnew/3.4.rst:982 -msgid "" -"The :class:`~importlib.abc.InspectLoader` ABC defines a new method, " -":meth:`~importlib.abc.InspectLoader.source_to_code` that accepts source data" -" and a path and returns a code object. The default implementation is " -"equivalent to ``compile(data, path, 'exec', dont_inherit=True)``. " -"(Contributed by Eric Snow and Brett Cannon in :issue:`15627`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:988 -msgid "" -":class:`~importlib.abc.InspectLoader` also now has a default implementation " -"for the :meth:`~importlib.abc.InspectLoader.get_code` method. However, it " -"will normally be desirable to override the default implementation for " -"performance reasons. (Contributed by Brett Cannon in :issue:`18072`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:993 -msgid "" -"The :func:`~importlib.reload` function has been moved from :mod:`!imp` to " -":mod:`importlib` as part of the :mod:`!imp` module deprecation. " -"(Contributed by Berker Peksag in :issue:`18193`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:997 -msgid "" -":mod:`importlib.util` now has a :const:`~importlib.util.MAGIC_NUMBER` " -"attribute providing access to the bytecode version number. This replaces " -"the :func:`!get_magic` function in the deprecated :mod:`!imp` module. " -"(Contributed by Brett Cannon in :issue:`18192`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1002 -msgid "" -"New :mod:`importlib.util` functions " -":func:`~importlib.util.cache_from_source` and " -":func:`~importlib.util.source_from_cache` replace the same-named functions " -"in the deprecated :mod:`!imp` module. (Contributed by Brett Cannon in " -":issue:`18194`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1007 -msgid "" -"The :mod:`importlib` bootstrap :class:`.NamespaceLoader` now conforms to the" -" :class:`.InspectLoader` ABC, which means that ``runpy`` and ``python -m`` " -"can now be used with namespace packages. (Contributed by Brett Cannon in " -":issue:`18058`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1012 -msgid "" -":mod:`importlib.util` has a new function " -":func:`~importlib.util.decode_source` that decodes source from bytes using " -"universal newline processing. This is useful for implementing " -":meth:`.InspectLoader.get_source` methods." -msgstr "" - -#: ../../whatsnew/3.4.rst:1016 -msgid "" -":class:`importlib.machinery.ExtensionFileLoader` now has a " -":meth:`~importlib.machinery.ExtensionFileLoader.get_filename` method. This " -"was inadvertently omitted in the original implementation. (Contributed by " -"Eric Snow in :issue:`19152`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1023 -msgid "inspect" -msgstr "inspect" - -#: ../../whatsnew/3.4.rst:1025 -msgid "" -"The :mod:`inspect` module now offers a basic :ref:`command line interface " -"` to quickly display source code and other information " -"for modules, classes and functions. (Contributed by Claudiu Popa and Nick " -"Coghlan in :issue:`18626`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1030 -msgid "" -":func:`~inspect.unwrap` makes it easy to unravel wrapper function chains " -"created by :func:`functools.wraps` (and any other API that sets the " -"``__wrapped__`` attribute on a wrapper function). (Contributed by Daniel " -"Urban, Aaron Iles and Nick Coghlan in :issue:`13266`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1035 -msgid "" -"As part of the implementation of the new :mod:`enum` module, the " -":mod:`inspect` module now has substantially better support for custom " -"``__dir__`` methods and dynamic class attributes provided through " -"metaclasses. (Contributed by Ethan Furman in :issue:`18929` and " -":issue:`19030`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1041 -msgid "" -":func:`~inspect.getfullargspec` and :func:`~inspect.getargspec` now use the " -":func:`~inspect.signature` API. This allows them to support a much broader " -"range of callables, including those with ``__signature__`` attributes, those" -" with metadata provided by argument clinic, :func:`functools.partial` " -"objects and more. Note that, unlike :func:`~inspect.signature`, these " -"functions still ignore ``__wrapped__`` attributes, and report the already " -"bound first argument for bound methods, so it is still necessary to update " -"your code to use :func:`~inspect.signature` directly if those features are " -"desired. (Contributed by Yury Selivanov in :issue:`17481`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1052 -msgid "" -":func:`~inspect.signature` now supports duck types of CPython functions, " -"which adds support for functions compiled with Cython. (Contributed by " -"Stefan Behnel and Yury Selivanov in :issue:`17159`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1058 -msgid "ipaddress" -msgstr "ipaddress" - -#: ../../whatsnew/3.4.rst:1060 -msgid "" -":mod:`ipaddress` was added to the standard library in Python 3.3 as a " -":term:`provisional API`. With the release of Python 3.4, this qualification " -"has been removed: :mod:`ipaddress` is now considered a stable API, covered " -"by the normal standard library requirements to maintain backwards " -"compatibility." -msgstr "" - -#: ../../whatsnew/3.4.rst:1066 -msgid "" -"A new :attr:`~ipaddress.IPv4Address.is_global` property is ``True`` if an " -"address is globally routeable. (Contributed by Peter Moody in " -":issue:`17400`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1072 -msgid "logging" -msgstr "logging" - -#: ../../whatsnew/3.4.rst:1074 -msgid "" -"The :class:`~logging.handlers.TimedRotatingFileHandler` has a new *atTime* " -"parameter that can be used to specify the time of day when rollover should " -"happen. (Contributed by Ronald Oussoren in :issue:`9556`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1078 -msgid "" -":class:`~logging.handlers.SocketHandler` and " -":class:`~logging.handlers.DatagramHandler` now support Unix domain sockets " -"(by setting *port* to ``None``). (Contributed by Vinay Sajip in commit " -"ce46195b56a9.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1083 -msgid "" -":func:`~logging.config.fileConfig` now accepts a " -":class:`configparser.RawConfigParser` subclass instance for the *fname* " -"parameter. This facilitates using a configuration file when logging " -"configuration is just a part of the overall application configuration, or " -"where the application modifies the configuration before passing it to " -":func:`~logging.config.fileConfig`. (Contributed by Vinay Sajip in " -":issue:`16110`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1091 -msgid "" -"Logging configuration data received from a socket via the " -":func:`logging.config.listen` function can now be validated before being " -"processed by supplying a verification function as the argument to the new " -"*verify* keyword argument. (Contributed by Vinay Sajip in :issue:`15452`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1100 -msgid "marshal" -msgstr "" - -#: ../../whatsnew/3.4.rst:1102 -msgid "" -"The default :mod:`marshal` version has been bumped to 3. The code " -"implementing the new version restores the Python2 behavior of recording only" -" one copy of interned strings and preserving the interning on " -"deserialization, and extends this \"one copy\" ability to any object type " -"(including handling recursive references). This reduces both the size of " -"``.pyc`` files and the amount of memory a module occupies in memory when it " -"is loaded from a ``.pyc`` (or ``.pyo``) file. (Contributed by Kristján " -"Valur Jónsson in :issue:`16475`, with additional speedups by Antoine Pitrou " -"in :issue:`19219`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1113 -msgid "mmap" -msgstr "mmap" - -#: ../../whatsnew/3.4.rst:1115 -msgid "" -"mmap objects are now :ref:`weakly referenceable `. (Contributed" -" by Valerie Lambert in :issue:`4885`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1120 -msgid "multiprocessing" -msgstr "multiprocessing" - -#: ../../whatsnew/3.4.rst:1124 -msgid "" -"On Unix two new :ref:`start methods `, " -"``spawn`` and ``forkserver``, have been added for starting processes using " -":mod:`multiprocessing`. These make the mixing of processes with threads " -"more robust, and the ``spawn`` method matches the semantics that " -"multiprocessing has always used on Windows. New function " -":func:`~multiprocessing.get_all_start_methods` reports all start methods " -"available on the platform, :func:`~multiprocessing.get_start_method` reports" -" the current start method, and :func:`~multiprocessing.set_start_method` " -"sets the start method. (Contributed by Richard Oudkerk in :issue:`8713`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1134 -msgid "" -":mod:`multiprocessing` also now has the concept of a ``context``, which " -"determines how child processes are created. New function " -":func:`~multiprocessing.get_context` returns a context that uses a specified" -" start method. It has the same API as the :mod:`multiprocessing` module " -"itself, so you can use it to create :class:`~multiprocessing.pool.Pool`\\ s " -"and other objects that will operate within that context. This allows a " -"framework and an application or different parts of the same application to " -"use multiprocessing without interfering with each other. (Contributed by " -"Richard Oudkerk in :issue:`18999`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1144 -msgid "" -"Except when using the old *fork* start method, child processes no longer " -"inherit unneeded handles/file descriptors from their parents (part of " -":issue:`8713`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:1148 -msgid "" -":mod:`multiprocessing` now relies on :mod:`runpy` (which implements the " -"``-m`` switch) to initialise ``__main__`` appropriately in child processes " -"when using the ``spawn`` or ``forkserver`` start methods. This resolves some" -" edge cases where combining multiprocessing, the ``-m`` command line switch," -" and explicit relative imports could cause obscure failures in child " -"processes. (Contributed by Nick Coghlan in :issue:`19946`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1157 -msgid "operator" -msgstr "" - -#: ../../whatsnew/3.4.rst:1159 -msgid "" -"New function :func:`~operator.length_hint` provides an implementation of the" -" specification for how the :meth:`~object.__length_hint__` special method " -"should be used, as part of the :pep:`424` formal specification of this " -"language feature. (Contributed by Armin Ronacher in :issue:`16148`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1164 -msgid "" -"There is now a pure-python version of the :mod:`operator` module available " -"for reference and for use by alternate implementations of Python. " -"(Contributed by Zachary Ware in :issue:`16694`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1170 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.4.rst:1172 -msgid "" -"There are new functions to get and set the :ref:`inheritable flag " -"` of a file descriptor (:func:`os.get_inheritable`, " -":func:`os.set_inheritable`) or a Windows handle " -"(:func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:1177 -msgid "" -"New function :func:`~os.cpu_count` reports the number of CPUs available on " -"the platform on which Python is running (or ``None`` if the count can't be " -"determined). The :func:`multiprocessing.cpu_count` function is now " -"implemented in terms of this function). (Contributed by Trent Nelson, " -"Yogesh Chaudhari, Victor Stinner, and Charles-François Natali in " -":issue:`17914`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1183 -msgid "" -":func:`os.path.samestat` is now available on the Windows platform (and the " -":func:`os.path.samefile` implementation is now shared between Unix and " -"Windows). (Contributed by Brian Curtin in :issue:`11939`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1187 -msgid "" -":func:`os.path.ismount` now recognizes volumes mounted below a drive root on" -" Windows. (Contributed by Tim Golden in :issue:`9035`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1190 -msgid "" -":func:`os.open` supports two new flags on platforms that provide them, " -":const:`~os.O_PATH` (un-opened file descriptor), and :const:`~os.O_TMPFILE` " -"(unnamed temporary file; as of 3.4.0 release available only on Linux systems" -" with a kernel version of 3.11 or newer that have uapi headers). " -"(Contributed by Christian Heimes in :issue:`18673` and Benjamin Peterson, " -"respectively.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1198 -msgid "pdb" -msgstr "pdb" - -#: ../../whatsnew/3.4.rst:1200 -msgid "" -":mod:`pdb` has been enhanced to handle generators, :keyword:`yield`, and " -"``yield from`` in a more useful fashion. This is especially helpful when " -"debugging :mod:`asyncio` based programs. (Contributed by Andrew Svetlov and" -" Xavier de Gaye in :issue:`16596`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1205 -msgid "" -"The ``print`` command has been removed from :mod:`pdb`, restoring access to " -"the Python :func:`print` function from the pdb command line. Python2's " -"``pdb`` did not have a ``print`` command; instead, entering ``print`` " -"executed the ``print`` statement. In Python3 ``print`` was mistakenly made " -"an alias for the pdb :pdbcmd:`p` command. ``p``, however, prints the " -"``repr`` of its argument, not the ``str`` like the Python2 ``print`` command" -" did. Worse, the Python3 ``pdb print`` command shadowed the Python3 " -"``print`` function, making it inaccessible at the ``pdb`` prompt. " -"(Contributed by Connor Osborn in :issue:`18764`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1219 -msgid "pickle" -msgstr "pickle" - -#: ../../whatsnew/3.4.rst:1221 -msgid "" -":mod:`pickle` now supports (but does not use by default) a new pickle " -"protocol, protocol 4. This new protocol addresses a number of issues that " -"were present in previous protocols, such as the serialization of nested " -"classes, very large strings and containers, and classes whose " -":meth:`__new__` method takes keyword-only arguments. It also provides some " -"efficiency improvements." -msgstr "" - -#: ../../whatsnew/3.4.rst:1229 -msgid ":pep:`3154` -- Pickle protocol 4" -msgstr "" - -#: ../../whatsnew/3.4.rst:1230 -msgid "PEP written by Antoine Pitrou and implemented by Alexandre Vassalotti." -msgstr "" - -#: ../../whatsnew/3.4.rst:1234 -msgid "plistlib" -msgstr "plistlib" - -#: ../../whatsnew/3.4.rst:1236 -msgid "" -":mod:`plistlib` now has an API that is similar to the standard pattern for " -"stdlib serialization protocols, with new :func:`~plistlib.load`, " -":func:`~plistlib.dump`, :func:`~plistlib.loads`, and :func:`~plistlib.dumps`" -" functions. (The older API is now deprecated.) In addition to the already " -"supported XML plist format (:const:`~plistlib.FMT_XML`), it also now " -"supports the binary plist format (:const:`~plistlib.FMT_BINARY`). " -"(Contributed by Ronald Oussoren and others in :issue:`14455`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1246 -msgid "poplib" -msgstr "" - -#: ../../whatsnew/3.4.rst:1248 -msgid "" -"Two new methods have been added to :mod:`poplib`: :meth:`~poplib.POP3.capa`," -" which returns the list of capabilities advertised by the POP server, and " -":meth:`~poplib.POP3.stls`, which switches a clear-text POP3 session into an " -"encrypted POP3 session if the POP server supports it. (Contributed by " -"Lorenzo Catucci in :issue:`4473`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1256 -msgid "pprint" -msgstr "" - -#: ../../whatsnew/3.4.rst:1258 -msgid "" -"The :mod:`pprint` module's :class:`~pprint.PrettyPrinter` class and its " -":func:`~pprint.pformat`, and :func:`~pprint.pprint` functions have a new " -"option, *compact*, that controls how the output is formatted. Currently " -"setting *compact* to ``True`` means that sequences will be printed with as " -"many sequence elements as will fit within *width* on each (indented) line. " -"(Contributed by Serhiy Storchaka in :issue:`19132`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1265 -msgid "" -"Long strings are now wrapped using Python's normal line continuation syntax." -" (Contributed by Antoine Pitrou in :issue:`17150`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1270 -msgid "pty" -msgstr "pty" - -#: ../../whatsnew/3.4.rst:1272 -msgid "" -":func:`pty.spawn` now returns the status value from :func:`os.waitpid` on " -"the child process, instead of ``None``. (Contributed by Gregory P. Smith.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1277 -msgid "pydoc" -msgstr "pydoc" - -#: ../../whatsnew/3.4.rst:1279 -msgid "" -"The :mod:`pydoc` module is now based directly on the " -":func:`inspect.signature` introspection API, allowing it to provide " -"signature information for a wider variety of callable objects. This change " -"also means that ``__wrapped__`` attributes are now taken into account when " -"displaying help information. (Contributed by Larry Hastings in " -":issue:`19674`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1285 -msgid "" -"The :mod:`pydoc` module no longer displays the ``self`` parameter for " -"already bound methods. Instead, it aims to always display the exact current " -"signature of the supplied callable. (Contributed by Larry Hastings in " -":issue:`20710`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1290 -msgid "" -"In addition to the changes that have been made to :mod:`pydoc` directly, its" -" handling of custom ``__dir__`` methods and various descriptor behaviours " -"has also been improved substantially by the underlying changes in the " -":mod:`inspect` module." -msgstr "" - -#: ../../whatsnew/3.4.rst:1295 -msgid "" -"As the :func:`help` builtin is based on :mod:`pydoc`, the above changes also" -" affect the behaviour of :func:`help`." -msgstr "" - -#: ../../whatsnew/3.4.rst:1300 -msgid "re" -msgstr "re" - -#: ../../whatsnew/3.4.rst:1302 -msgid "" -"New :func:`~re.fullmatch` function and :meth:`.regex.fullmatch` method " -"anchor the pattern at both ends of the string to match. This provides a way" -" to be explicit about the goal of the match, which avoids a class of subtle " -"bugs where ``$`` characters get lost during code changes or the addition of " -"alternatives to an existing regular expression. (Contributed by Matthew " -"Barnett in :issue:`16203`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1309 -msgid "" -"The repr of :ref:`regex objects ` now includes the pattern and " -"the flags; the repr of :ref:`match objects ` now includes the" -" start, end, and the part of the string that matched. (Contributed by Hugo " -"Lopes Tavares and Serhiy Storchaka in :issue:`13592` and :issue:`17087`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1317 -msgid "resource" -msgstr "" - -#: ../../whatsnew/3.4.rst:1319 -msgid "" -"New :func:`~resource.prlimit` function, available on Linux platforms with a " -"kernel version of 2.6.36 or later and glibc of 2.13 or later, provides the " -"ability to query or set the resource limits for processes other than the one" -" making the call. (Contributed by Christian Heimes in :issue:`16595`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1324 -msgid "" -"On Linux kernel version 2.6.36 or later, there are also some new Linux " -"specific constants: :const:`~resource.RLIMIT_MSGQUEUE`, " -":const:`~resource.RLIMIT_NICE`, :const:`~resource.RLIMIT_RTPRIO`, " -":const:`~resource.RLIMIT_RTTIME`, and :const:`~resource.RLIMIT_SIGPENDING`. " -"(Contributed by Christian Heimes in :issue:`19324`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1330 -msgid "" -"On FreeBSD version 9 and later, there some new FreeBSD specific constants: " -":const:`~resource.RLIMIT_SBSIZE`, :const:`~resource.RLIMIT_SWAP`, and " -":const:`~resource.RLIMIT_NPTS`. (Contributed by Claudiu Popa in " -":issue:`19343`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1337 -msgid "select" -msgstr "" - -#: ../../whatsnew/3.4.rst:1339 -msgid "" -":class:`~select.epoll` objects now support the context management protocol. " -"When used in a :keyword:`with` statement, the :meth:`~select.epoll.close` " -"method will be called automatically at the end of the block. (Contributed " -"by Serhiy Storchaka in :issue:`16488`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1344 -msgid "" -":class:`~select.devpoll` objects now have :meth:`~select.devpoll.fileno` and" -" :meth:`~select.devpoll.close` methods, as well as a new attribute " -":attr:`~select.devpoll.closed`. (Contributed by Victor Stinner in " -":issue:`18794`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1351 -msgid "shelve" -msgstr "" - -#: ../../whatsnew/3.4.rst:1353 -msgid "" -":class:`~shelve.Shelf` instances may now be used in :keyword:`with` " -"statements, and will be automatically closed at the end of the " -":keyword:`!with` block. (Contributed by Filip Gruszczyński in " -":issue:`13896`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1359 -msgid "shutil" -msgstr "shutil" - -#: ../../whatsnew/3.4.rst:1361 -msgid "" -":func:`~shutil.copyfile` now raises a specific :exc:`~shutil.Error` " -"subclass, :exc:`~shutil.SameFileError`, when the source and destination are " -"the same file, which allows an application to take appropriate action on " -"this specific error. (Contributed by Atsuo Ishimoto and Hynek Schlawack in " -":issue:`1492704`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1369 -msgid "smtpd" -msgstr "" - -#: ../../whatsnew/3.4.rst:1371 -msgid "" -"The :class:`!SMTPServer` and :class:`!SMTPChannel` classes now accept a " -"*map* keyword argument which, if specified, is passed in to " -":class:`!asynchat.async_chat` as its *map* argument. This allows an " -"application to avoid affecting the global socket map. (Contributed by Vinay" -" Sajip in :issue:`11959`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1379 -msgid "smtplib" -msgstr "" - -#: ../../whatsnew/3.4.rst:1381 -msgid "" -":exc:`~smtplib.SMTPException` is now a subclass of :exc:`OSError`, which " -"allows both socket level errors and SMTP protocol level errors to be caught " -"in one try/except statement by code that only cares whether or not an error " -"occurred. (Contributed by Ned Jackson Lovely in :issue:`2118`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1388 -msgid "socket" -msgstr "socket" - -#: ../../whatsnew/3.4.rst:1390 -msgid "" -"The socket module now supports the :const:`~socket.CAN_BCM` protocol on " -"platforms that support it. (Contributed by Brian Thorne in :issue:`15359`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1393 -msgid "" -"Socket objects have new methods to get or set their :ref:`inheritable flag " -"`, :meth:`~socket.socket.get_inheritable` and " -":meth:`~socket.socket.set_inheritable`." -msgstr "" - -#: ../../whatsnew/3.4.rst:1397 -msgid "" -"The ``socket.AF_*`` and ``socket.SOCK_*`` constants are now enumeration " -"values using the new :mod:`enum` module. This allows meaningful names to be" -" printed during debugging, instead of integer \"magic numbers\"." -msgstr "" - -#: ../../whatsnew/3.4.rst:1401 -msgid "The :const:`~socket.AF_LINK` constant is now available on BSD and OSX." -msgstr "" - -#: ../../whatsnew/3.4.rst:1403 -msgid "" -":func:`~socket.inet_pton` and :func:`~socket.inet_ntop` are now supported on" -" Windows. (Contributed by Atsuo Ishimoto in :issue:`7171`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1408 -msgid "sqlite3" -msgstr "sqlite3" - -#: ../../whatsnew/3.4.rst:1410 -msgid "" -"A new boolean parameter to the :func:`~sqlite3.connect` function, *uri*, can" -" be used to indicate that the *database* parameter is a ``uri`` (see the " -"`SQLite URI documentation `_). " -"(Contributed by poq in :issue:`13773`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1417 -msgid "ssl" -msgstr "ssl" - -#: ../../whatsnew/3.4.rst:1421 -msgid "" -":data:`~ssl.PROTOCOL_TLSv1_1` and :data:`~ssl.PROTOCOL_TLSv1_2` (TLSv1.1 and" -" TLSv1.2 support) have been added; support for these protocols is only " -"available if Python is linked with OpenSSL 1.0.1 or later. (Contributed by " -"Michele Orrù and Antoine Pitrou in :issue:`16692`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1428 -msgid "" -"New function :func:`~ssl.create_default_context` provides a standard way to " -"obtain an :class:`~ssl.SSLContext` whose settings are intended to be a " -"reasonable balance between compatibility and security. These settings are " -"more stringent than the defaults provided by the :class:`~ssl.SSLContext` " -"constructor, and may be adjusted in the future, without prior deprecation, " -"if best-practice security requirements change. The new recommended best " -"practice for using stdlib libraries that support SSL is to use " -":func:`~ssl.create_default_context` to obtain an :class:`~ssl.SSLContext` " -"object, modify it if needed, and then pass it as the *context* argument of " -"the appropriate stdlib API. (Contributed by Christian Heimes in " -":issue:`19689`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1440 -msgid "" -":class:`~ssl.SSLContext` method " -":meth:`~ssl.SSLContext.load_verify_locations` accepts a new optional " -"argument *cadata*, which can be used to provide PEM or DER encoded " -"certificates directly via strings or bytes, respectively. (Contributed by " -"Christian Heimes in :issue:`18138`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1445 -msgid "" -"New function :func:`~ssl.get_default_verify_paths` returns a named tuple of " -"the paths and environment variables that the " -":meth:`~ssl.SSLContext.set_default_verify_paths` method uses to set " -"OpenSSL's default ``cafile`` and ``capath``. This can be an aid in " -"debugging default verification issues. (Contributed by Christian Heimes in " -":issue:`18143`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1452 -msgid "" -":class:`~ssl.SSLContext` has a new method, " -":meth:`~ssl.SSLContext.cert_store_stats`, that reports the number of loaded " -"``X.509`` certs, ``X.509 CA`` certs, and certificate revocation lists " -"(``crl``\\ s), as well as a :meth:`~ssl.SSLContext.get_ca_certs` method that" -" returns a list of the loaded ``CA`` certificates. (Contributed by " -"Christian Heimes in :issue:`18147`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1459 -msgid "" -"If OpenSSL 0.9.8 or later is available, :class:`~ssl.SSLContext` has a new " -"attribute :attr:`~ssl.SSLContext.verify_flags` that can be used to control " -"the certificate verification process by setting it to some combination of " -"the new constants :const:`~ssl.VERIFY_DEFAULT`, " -":const:`~ssl.VERIFY_CRL_CHECK_LEAF`, :const:`~ssl.VERIFY_CRL_CHECK_CHAIN`, " -"or :const:`~ssl.VERIFY_X509_STRICT`. OpenSSL does not do any CRL " -"verification by default. (Contributed by Christien Heimes in " -":issue:`8813`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1467 -msgid "" -"New :class:`~ssl.SSLContext` method " -":meth:`~ssl.SSLContext.load_default_certs` loads a set of default " -"\"certificate authority\" (CA) certificates from default locations, which " -"vary according to the platform. It can be used to load both TLS web server " -"authentication certificates (``purpose=``:data:`~ssl.Purpose.SERVER_AUTH`) " -"for a client to use to verify a server, and certificates for a server to use" -" in verifying client certificates " -"(``purpose=``:data:`~ssl.Purpose.CLIENT_AUTH`). (Contributed by Christian " -"Heimes in :issue:`19292`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1478 -msgid "" -"Two new windows-only functions, :func:`~ssl.enum_certificates` and " -":func:`~ssl.enum_crls` provide the ability to retrieve certificates, " -"certificate information, and CRLs from the Windows cert store. (Contributed" -" by Christian Heimes in :issue:`17134`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1485 -msgid "" -"Support for server-side SNI (Server Name Indication) using the new " -":meth:`ssl.SSLContext.set_servername_callback` method. (Contributed by " -"Daniel Black in :issue:`8109`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1489 -msgid "" -"The dictionary returned by :meth:`.SSLSocket.getpeercert` contains " -"additional ``X509v3`` extension items: ``crlDistributionPoints``, " -"``calIssuers``, and ``OCSP`` URIs. (Contributed by Christian Heimes in " -":issue:`18379`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1495 -msgid "stat" -msgstr "stat" - -#: ../../whatsnew/3.4.rst:1497 -msgid "" -"The :mod:`stat` module is now backed by a C implementation in :mod:`!_stat`." -" A C implementation is required as most of the values aren't standardized " -"and are platform-dependent. (Contributed by Christian Heimes in " -":issue:`11016`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1501 -msgid "" -"The module supports new :mod:`~stat.ST_MODE` flags, :mod:`~stat.S_IFDOOR`, " -":const:`~stat.S_IFPORT`, and :const:`~stat.S_IFWHT`. (Contributed by " -"Christian Hiemes in :issue:`11016`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1507 -msgid "struct" -msgstr "" - -#: ../../whatsnew/3.4.rst:1509 -msgid "" -"New function :mod:`~struct.iter_unpack` and a new " -":meth:`struct.Struct.iter_unpack` method on compiled formats provide " -"streamed unpacking of a buffer containing repeated instances of a given " -"format of data. (Contributed by Antoine Pitrou in :issue:`17804`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1516 -msgid "subprocess" -msgstr "subprocess" - -#: ../../whatsnew/3.4.rst:1518 -msgid "" -":func:`~subprocess.check_output` now accepts an *input* argument that can be" -" used to provide the contents of ``stdin`` for the command that is run. " -"(Contributed by Zack Weinberg in :issue:`16624`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1522 -msgid "" -":func:`~subprocess.getstatus` and :func:`~subprocess.getstatusoutput` now " -"work on Windows. This change was actually inadvertently made in 3.3.4. " -"(Contributed by Tim Golden in :issue:`10197`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1528 -msgid "sunau" -msgstr "sunau" - -#: ../../whatsnew/3.4.rst:1530 -msgid "" -"The :meth:`!getparams` method now returns a namedtuple rather than a plain " -"tuple. (Contributed by Claudiu Popa in :issue:`18901`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1533 -msgid "" -":meth:`!sunau.open` now supports the context management protocol: when used " -"in a :keyword:`with` block, the ``close`` method of the returned object will" -" be called automatically at the end of the block. (Contributed by Serhiy " -"Storchaka in :issue:`18878`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1538 -msgid "" -":meth:`.AU_write.setsampwidth` now supports 24 bit samples, thus adding " -"support for writing 24 sample using the module. (Contributed by Serhiy " -"Storchaka in :issue:`19261`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1548 -msgid "sys" -msgstr "sys" - -#: ../../whatsnew/3.4.rst:1550 -msgid "" -"New function :func:`sys.getallocatedblocks` returns the current number of " -"blocks allocated by the interpreter. (In CPython with the default ``--with-" -"pymalloc`` setting, this is allocations made through the " -":c:func:`PyObject_Malloc` API.) This can be useful for tracking memory " -"leaks, especially if automated via a test suite. (Contributed by Antoine " -"Pitrou in :issue:`13390`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1557 -msgid "" -"When the Python interpreter starts in :ref:`interactive mode `, it checks for an :data:`~sys.__interactivehook__` attribute " -"on the :mod:`sys` module. If the attribute exists, its value is called with" -" no arguments just before interactive mode is started. The check is made " -"after the :envvar:`PYTHONSTARTUP` file is read, so it can be set there. The" -" :mod:`site` module :ref:`sets it ` to a function that " -"enables tab completion and history saving (in :file:`~/.python-history`) if " -"the platform supports :mod:`readline`. If you do not want this (new) " -"behavior, you can override it in :envvar:`PYTHONSTARTUP`, " -":mod:`sitecustomize`, or :mod:`usercustomize` by deleting this attribute " -"from :mod:`sys` (or setting it to some other callable). (Contributed by " -"Éric Araujo and Antoine Pitrou in :issue:`5845`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1572 -msgid "tarfile" -msgstr "tarfile" - -#: ../../whatsnew/3.4.rst:1574 -msgid "" -"The :mod:`tarfile` module now supports a simple :ref:`tarfile-commandline` " -"when called as a script directly or via ``-m``. This can be used to create " -"and extract tarfile archives. (Contributed by Berker Peksag in " -":issue:`13477`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1580 -msgid "textwrap" -msgstr "" - -#: ../../whatsnew/3.4.rst:1582 -msgid "" -"The :class:`~textwrap.TextWrapper` class has two new attributes/constructor " -"arguments: :attr:`~textwrap.TextWrapper.max_lines`, which limits the number " -"of lines in the output, and :attr:`~textwrap.TextWrapper.placeholder`, which" -" is a string that will appear at the end of the output if it has been " -"truncated because of *max_lines*. Building on these capabilities, a new " -"convenience function :func:`~textwrap.shorten` collapses all of the " -"whitespace in the input to single spaces and produces a single line of a " -"given *width* that ends with the *placeholder* (by default, ``[...]``). " -"(Contributed by Antoine Pitrou and Serhiy Storchaka in :issue:`18585` and " -":issue:`18725`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1594 -msgid "threading" -msgstr "threading" - -#: ../../whatsnew/3.4.rst:1596 -msgid "" -"The :class:`~threading.Thread` object representing the main thread can be " -"obtained from the new :func:`~threading.main_thread` function. In normal " -"conditions this will be the thread from which the Python interpreter was " -"started. (Contributed by Andrew Svetlov in :issue:`18882`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1603 -msgid "traceback" -msgstr "" - -#: ../../whatsnew/3.4.rst:1605 -msgid "" -"A new :func:`traceback.clear_frames` function takes a traceback object and " -"clears the local variables in all of the frames it references, reducing the " -"amount of memory consumed. (Contributed by Andrew Kuchling in " -":issue:`1565525`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1612 -msgid "types" -msgstr "types" - -#: ../../whatsnew/3.4.rst:1614 -msgid "" -"A new :func:`~types.DynamicClassAttribute` descriptor provides a way to " -"define an attribute that acts normally when looked up through an instance " -"object, but which is routed to the *class* ``__getattr__`` when looked up " -"through the class. This allows one to have properties active on a class, " -"and have virtual attributes on the class with the same name (see :mod:`Enum`" -" for an example). (Contributed by Ethan Furman in :issue:`19030`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1623 -msgid "urllib" -msgstr "" - -#: ../../whatsnew/3.4.rst:1625 -msgid "" -":mod:`urllib.request` now supports ``data:`` URLs via the " -":class:`~urllib.request.DataHandler` class. (Contributed by Mathias " -"Panzenböck in :issue:`16423`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1629 -msgid "" -"The http method that will be used by a :class:`~urllib.request.Request` " -"class can now be specified by setting a " -":class:`~urllib.request.Request.method` class attribute on the subclass. " -"(Contributed by Jason R Coombs in :issue:`18978`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1634 -msgid "" -":class:`~urllib.request.Request` objects are now reusable: if the " -":attr:`~urllib.request.Request.full_url` or " -":attr:`~urllib.request.Request.data` attributes are modified, all relevant " -"internal properties are updated. This means, for example, that it is now " -"possible to use the same :class:`~urllib.request.Request` object in more " -"than one :meth:`.OpenerDirector.open` call with different *data* arguments, " -"or to modify a :class:`~urllib.request.Request`\\ 's ``url`` rather than " -"recomputing it from scratch. There is also a new " -":meth:`~urllib.request.Request.remove_header` method that can be used to " -"remove headers from a :class:`~urllib.request.Request`. (Contributed by " -"Alexey Kachayev in :issue:`16464`, Daniel Wozniak in :issue:`17485`, and " -"Damien Brecht and Senthil Kumaran in :issue:`17272`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1647 -msgid "" -":class:`~urllib.error.HTTPError` objects now have a " -":attr:`~urllib.error.HTTPError.headers` attribute that provides access to " -"the HTTP response headers associated with the error. (Contributed by Berker" -" Peksag in :issue:`15701`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1654 -msgid "unittest" -msgstr "unittest" - -#: ../../whatsnew/3.4.rst:1656 -msgid "" -"The :class:`~unittest.TestCase` class has a new method, " -":meth:`~unittest.TestCase.subTest`, that produces a context manager whose " -":keyword:`with` block becomes a \"sub-test\". This context manager allows a" -" test method to dynamically generate subtests by, say, calling the " -"``subTest`` context manager inside a loop. A single test method can thereby" -" produce an indefinite number of separately identified and separately " -"counted tests, all of which will run even if one or more of them fail. For " -"example::" -msgstr "" - -#: ../../whatsnew/3.4.rst:1664 -msgid "" -"class NumbersTest(unittest.TestCase):\n" -" def test_even(self):\n" -" for i in range(6):\n" -" with self.subTest(i=i):\n" -" self.assertEqual(i % 2, 0)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1670 -msgid "" -"will result in six subtests, each identified in the unittest verbose output " -"with a label consisting of the variable name ``i`` and a particular value " -"for that variable (``i=0``, ``i=1``, etc). See :ref:`subtests` for the full" -" version of this example. (Contributed by Antoine Pitrou in " -":issue:`16997`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1675 -msgid "" -":func:`unittest.main` now accepts an iterable of test names for " -"*defaultTest*, where previously it only accepted a single test name as a " -"string. (Contributed by Jyrki Pulliainen in :issue:`15132`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1679 -msgid "" -"If :class:`~unittest.SkipTest` is raised during test discovery (that is, at " -"the module level in the test file), it is now reported as a skip instead of " -"an error. (Contributed by Zach Ware in :issue:`16935`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1683 -msgid "" -":meth:`~unittest.TestLoader.discover` now sorts the discovered files to " -"provide consistent test ordering. (Contributed by Martin Melin and Jeff " -"Ramnani in :issue:`16709`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1687 -msgid "" -":class:`~unittest.TestSuite` now drops references to tests as soon as the " -"test has been run, if the test is successful. On Python interpreters that " -"do garbage collection, this allows the tests to be garbage collected if " -"nothing else is holding a reference to the test. It is possible to override" -" this behavior by creating a :class:`~unittest.TestSuite` subclass that " -"defines a custom ``_removeTestAtIndex`` method. (Contributed by Tom " -"Wardill, Matt McClure, and Andrew Svetlov in :issue:`11798`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1695 -msgid "" -"A new test assertion context-manager, :meth:`~unittest.TestCase.assertLogs`," -" will ensure that a given block of code emits a log message using the " -":mod:`logging` module. By default the message can come from any logger and " -"have a priority of ``INFO`` or higher, but both the logger name and an " -"alternative minimum logging level may be specified. The object returned by " -"the context manager can be queried for the :class:`~logging.LogRecord`\\ s " -"and/or formatted messages that were logged. (Contributed by Antoine Pitrou " -"in :issue:`18937`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1704 -msgid "" -"Test discovery now works with namespace packages (Contributed by Claudiu " -"Popa in :issue:`17457`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1707 -msgid "" -":mod:`unittest.mock` objects now inspect their specification signatures when" -" matching calls, which means an argument can now be matched by either " -"position or name, instead of only by position. (Contributed by Antoine " -"Pitrou in :issue:`17015`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1712 -msgid "" -":func:`~mock.mock_open` objects now have ``readline`` and ``readlines`` " -"methods. (Contributed by Toshio Kuratomi in :issue:`17467`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1717 -msgid "venv" -msgstr "venv" - -#: ../../whatsnew/3.4.rst:1719 -msgid "" -":mod:`venv` now includes activation scripts for the ``csh`` and ``fish`` " -"shells. (Contributed by Andrew Svetlov in :issue:`15417`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1722 -msgid "" -":class:`~venv.EnvBuilder` and the :func:`~venv.create` convenience function " -"take a new keyword argument *with_pip*, which defaults to ``False``, that " -"controls whether or not :class:`~venv.EnvBuilder` ensures that ``pip`` is " -"installed in the virtual environment. (Contributed by Nick Coghlan in " -":issue:`19552` as part of the :pep:`453` implementation.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1730 -msgid "wave" -msgstr "wave" - -#: ../../whatsnew/3.4.rst:1732 -msgid "" -"The :meth:`~wave.getparams` method now returns a namedtuple rather than a " -"plain tuple. (Contributed by Claudiu Popa in :issue:`17487`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1735 -msgid "" -":meth:`wave.open` now supports the context management protocol. " -"(Contributed by Claudiu Popa in :issue:`17616`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1738 -msgid "" -":mod:`wave` can now :ref:`write output to unseekable files `. (Contributed by David Jones, Guilherme Polo, and Serhiy " -"Storchaka in :issue:`5202`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1742 -msgid "" -"The :meth:`~wave.Wave_write.writeframesraw` and " -":meth:`~wave.Wave_write.writeframes` methods now accept any :term:`bytes-" -"like object`. (Contributed by Serhiy Storchaka in :issue:`8311`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1748 -msgid "weakref" -msgstr "weakref" - -#: ../../whatsnew/3.4.rst:1750 -msgid "" -"New :class:`~weakref.WeakMethod` class simulates weak references to bound " -"methods. (Contributed by Antoine Pitrou in :issue:`14631`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1753 -msgid "" -"New :class:`~weakref.finalize` class makes it possible to register a " -"callback to be invoked when an object is garbage collected, without needing " -"to carefully manage the lifecycle of the weak reference itself. " -"(Contributed by Richard Oudkerk in :issue:`15528`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1758 -msgid "" -"The callback, if any, associated with a :class:`~weakref.ref` is now exposed" -" via the :attr:`~weakref.ref.__callback__` attribute. (Contributed by Mark " -"Dickinson in :issue:`17643`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1764 -msgid "xml.etree" -msgstr "xml.etree" - -#: ../../whatsnew/3.4.rst:1766 -msgid "" -"A new parser, :class:`~xml.etree.ElementTree.XMLPullParser`, allows a non-" -"blocking applications to parse XML documents. An example can be seen at " -":ref:`elementtree-pull-parsing`. (Contributed by Antoine Pitrou in " -":issue:`17741`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1771 -msgid "" -"The :mod:`xml.etree.ElementTree` :func:`~xml.etree.ElementTree.tostring` and" -" :func:`~xml.etree.ElementTree.tostringlist` functions, and the " -":class:`~xml.etree.ElementTree.ElementTree` " -":meth:`~xml.etree.ElementTree.ElementTree.write` method, now have a " -"*short_empty_elements* :ref:`keyword-only parameter ` providing control over whether elements with no content are" -" written in abbreviated (````) or expanded (````) form. " -"(Contributed by Ariel Poliak and Serhiy Storchaka in :issue:`14377`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1782 -msgid "zipfile" -msgstr "zipfile" - -#: ../../whatsnew/3.4.rst:1784 -msgid "" -"The :meth:`~zipfile.PyZipFile.writepy` method of the " -":class:`~zipfile.PyZipFile` class has a new *filterfunc* option that can be " -"used to control which directories and files are added to the archive. For " -"example, this could be used to exclude test files from the archive. " -"(Contributed by Christian Tismer in :issue:`19274`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1790 -msgid "" -"The *allowZip64* parameter to :class:`~zipfile.ZipFile` and " -":class:`~zipfile.PyZipfile` is now ``True`` by default. (Contributed by " -"William Mallard in :issue:`17201`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1797 -msgid "CPython Implementation Changes" -msgstr "" - -#: ../../whatsnew/3.4.rst:1803 -msgid "PEP 445: Customization of CPython Memory Allocators" -msgstr "" - -#: ../../whatsnew/3.4.rst:1805 -msgid "" -":pep:`445` adds new C level interfaces to customize memory allocation in the" -" CPython interpreter." -msgstr "" - -#: ../../whatsnew/3.4.rst:1810 -msgid ":pep:`445` -- Add new APIs to customize Python memory allocators" -msgstr "" - -#: ../../whatsnew/3.4.rst:1817 -msgid "PEP 442: Safe Object Finalization" -msgstr "" - -#: ../../whatsnew/3.4.rst:1819 -msgid "" -":pep:`442` removes the current limitations and quirks of object finalization" -" in CPython. With it, objects with :meth:`__del__` methods, as well as " -"generators with :keyword:`finally` clauses, can be finalized when they are " -"part of a reference cycle." -msgstr "" - -#: ../../whatsnew/3.4.rst:1824 -msgid "" -"As part of this change, module globals are no longer forcibly set to " -":const:`None` during interpreter shutdown in most cases, instead relying on " -"the normal operation of the cyclic garbage collector. This avoids a whole " -"class of interpreter-shutdown-time errors, usually involving ``__del__`` " -"methods, that have plagued Python since the cyclic GC was first introduced." -msgstr "" - -#: ../../whatsnew/3.4.rst:1833 -msgid ":pep:`442` -- Safe object finalization" -msgstr "" - -#: ../../whatsnew/3.4.rst:1840 -msgid "PEP 456: Secure and Interchangeable Hash Algorithm" -msgstr "" - -#: ../../whatsnew/3.4.rst:1842 -msgid "" -":pep:`456` follows up on earlier security fix work done on Python's hash " -"algorithm to address certain DOS attacks to which public facing APIs backed " -"by dictionary lookups may be subject. (See :issue:`14621` for the start of " -"the current round of improvements.) The PEP unifies CPython's hash code to " -"make it easier for a packager to substitute a different hash algorithm, and " -"switches Python's default implementation to a SipHash implementation on " -"platforms that have a 64 bit data type. Any performance differences in " -"comparison with the older FNV algorithm are trivial." -msgstr "" - -#: ../../whatsnew/3.4.rst:1851 -msgid "" -"The PEP adds additional fields to the :data:`sys.hash_info` named tuple to " -"describe the hash algorithm in use by the currently executing binary. " -"Otherwise, the PEP does not alter any existing CPython APIs." -msgstr "" - -#: ../../whatsnew/3.4.rst:1859 -msgid "PEP 436: Argument Clinic" -msgstr "" - -#: ../../whatsnew/3.4.rst:1861 -msgid "" -"\"Argument Clinic\" (:pep:`436`) is now part of the CPython build process " -"and can be used to simplify the process of defining and maintaining accurate" -" signatures for builtins and standard library extension modules implemented " -"in C." -msgstr "" - -#: ../../whatsnew/3.4.rst:1866 -msgid "" -"Some standard library extension modules have been converted to use Argument " -"Clinic in Python 3.4, and :mod:`pydoc` and :mod:`inspect` have been updated " -"accordingly." -msgstr "" - -#: ../../whatsnew/3.4.rst:1870 -msgid "" -"It is expected that signature metadata for programmatic introspection will " -"be added to additional callables implemented in C as part of Python 3.4 " -"maintenance releases." -msgstr "" - -#: ../../whatsnew/3.4.rst:1875 -msgid "" -"The Argument Clinic PEP is not fully up to date with the state of the " -"implementation. This has been deemed acceptable by the release manager and " -"core development team in this case, as Argument Clinic will not be made " -"available as a public API for third party use in Python 3.4." -msgstr "" - -#: ../../whatsnew/3.4.rst:1882 -msgid ":pep:`436` -- The Argument Clinic DSL" -msgstr "" - -#: ../../whatsnew/3.4.rst:1883 -msgid "PEP written and implemented by Larry Hastings." -msgstr "" - -#: ../../whatsnew/3.4.rst:1887 -msgid "Other Build and C API Changes" -msgstr "" - -#: ../../whatsnew/3.4.rst:1889 -msgid "" -"The new :c:func:`PyType_GetSlot` function has been added to the stable ABI, " -"allowing retrieval of function pointers from named type slots when using the" -" limited API. (Contributed by Martin von Löwis in :issue:`17162`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1893 -msgid "" -"The new :c:func:`!Py_SetStandardStreamEncoding` pre-initialization API " -"allows applications embedding the CPython interpreter to reliably force a " -"particular encoding and error handler for the standard streams. (Contributed" -" by Bastien Montagne and Nick Coghlan in :issue:`16129`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1898 -msgid "" -"Most Python C APIs that don't mutate string arguments are now correctly " -"marked as accepting ``const char *`` rather than ``char *``. (Contributed " -"by Serhiy Storchaka in :issue:`1772673`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1902 -msgid "" -"A new shell version of ``python-config`` can be used even when a python " -"interpreter is not available (for example, in cross compilation scenarios)." -msgstr "" - -#: ../../whatsnew/3.4.rst:1905 -msgid "" -":c:func:`PyUnicode_FromFormat` now supports width and precision " -"specifications for ``%s``, ``%A``, ``%U``, ``%V``, ``%S``, and ``%R``. " -"(Contributed by Ysj Ray and Victor Stinner in :issue:`7330`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1909 -msgid "" -"New function :c:func:`PyStructSequence_InitType2` supplements the existing " -":c:func:`PyStructSequence_InitType` function. The difference is that it " -"returns ``0`` on success and ``-1`` on failure." -msgstr "" - -#: ../../whatsnew/3.4.rst:1913 -msgid "" -"The CPython source can now be compiled using the address sanity checking " -"features of recent versions of GCC and clang: the false alarms in the small" -" object allocator have been silenced. (Contributed by Dhiru Kholia in " -":issue:`18596`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1918 -msgid "" -"The Windows build now uses `Address Space Layout Randomization " -"`_ and " -"`Data Execution Prevention " -"`_. (Contributed " -"by Christian Heimes in :issue:`16632`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1923 -msgid "" -"New function :c:func:`PyObject_LengthHint` is the C API equivalent of " -":func:`operator.length_hint`. (Contributed by Armin Ronacher in " -":issue:`16148`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1931 -msgid "Other Improvements" -msgstr "" - -#: ../../whatsnew/3.4.rst:1935 -msgid "" -"The :ref:`python ` command has a new :ref:`option `, ``-I``, which causes it to run in \"isolated mode\", " -"which means that :data:`sys.path` contains neither the script's directory " -"nor the user's ``site-packages`` directory, and all :envvar:`!PYTHON*` " -"environment variables are ignored (it implies both ``-s`` and ``-E``). " -"Other restrictions may also be applied in the future, with the goal being to" -" isolate the execution of a script from the user's environment. This is " -"appropriate, for example, when Python is used to run a system script. On " -"most POSIX systems it can and should be used in the ``#!`` line of system " -"scripts. (Contributed by Christian Heimes in :issue:`16499`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1946 -msgid "" -"Tab-completion is now enabled by default in the interactive interpreter on " -"systems that support :mod:`readline`. History is also enabled by default, " -"and is written to (and read from) the file :file:`~/.python-history`. " -"(Contributed by Antoine Pitrou and Éric Araujo in :issue:`5845`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1951 -msgid "" -"Invoking the Python interpreter with ``--version`` now outputs the version " -"to standard output instead of standard error (:issue:`18338`). Similar " -"changes were made to :mod:`argparse` (:issue:`18920`) and other modules that" -" have script-like invocation capabilities (:issue:`18922`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:1956 -msgid "" -"The CPython Windows installer now adds ``.py`` to the :envvar:`PATHEXT` " -"variable when extensions are registered, allowing users to run a python " -"script at the windows command prompt by just typing its name without the " -"``.py`` extension. (Contributed by Paul Moore in :issue:`18569`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1961 -msgid "" -"A new ``make`` target `coverage-report " -"`_ will build python, run the test suite, and generate an HTML" -" coverage report for the C codebase using ``gcov`` and `lcov " -"`_." -msgstr "" - -#: ../../whatsnew/3.4.rst:1967 -msgid "" -"The ``-R`` option to the :ref:`python regression test suite ` now " -"also checks for memory allocation leaks, using " -":func:`sys.getallocatedblocks`. (Contributed by Antoine Pitrou in " -":issue:`13390`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1972 -msgid "``python -m`` now works with namespace packages." -msgstr "" - -#: ../../whatsnew/3.4.rst:1974 -msgid "" -"The :mod:`stat` module is now implemented in C, which means it gets the " -"values for its constants from the C header files, instead of having the " -"values hard-coded in the python module as was previously the case." -msgstr "" - -#: ../../whatsnew/3.4.rst:1978 -msgid "" -"Loading multiple python modules from a single OS module (``.so``, ``.dll``) " -"now works correctly (previously it silently returned the first python module" -" in the file). (Contributed by Václav Šmilauer in :issue:`16421`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1982 -msgid "" -"A new opcode, :opcode:`!LOAD_CLASSDEREF`, has been added to fix a bug in the" -" loading of free variables in class bodies that could be triggered by " -"certain uses of :ref:`__prepare__ `. (Contributed by Benjamin " -"Peterson in :issue:`17853`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1987 -msgid "" -"A number of MemoryError-related crashes were identified and fixed by Victor " -"Stinner using his :pep:`445`-based ``pyfailmalloc`` tool (:issue:`18408`, " -":issue:`18520`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:1991 -msgid "" -"The ``pyvenv`` command now accepts a ``--copies`` option to use copies " -"rather than symlinks even on systems where symlinks are the default. " -"(Contributed by Vinay Sajip in :issue:`18807`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:1995 -msgid "" -"The ``pyvenv`` command also accepts a ``--without-pip`` option to suppress " -"the otherwise-automatic bootstrapping of pip into the virtual environment. " -"(Contributed by Nick Coghlan in :issue:`19552` as part of the :pep:`453` " -"implementation.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2000 -msgid "" -"The encoding name is now optional in the value set for the " -":envvar:`PYTHONIOENCODING` environment variable. This makes it possible to " -"set just the error handler, without changing the default encoding. " -"(Contributed by Serhiy Storchaka in :issue:`18818`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2005 -msgid "" -"The :mod:`bz2`, :mod:`lzma`, and :mod:`gzip` module ``open`` functions now " -"support ``x`` (exclusive creation) mode. (Contributed by Tim Heaney and " -"Vajrasky Kok in :issue:`19201`, :issue:`19222`, and :issue:`19223`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2011 -msgid "Significant Optimizations" -msgstr "" - -#: ../../whatsnew/3.4.rst:2013 -msgid "" -"The UTF-32 decoder is now 3x to 4x faster. (Contributed by Serhiy Storchaka" -" in :issue:`14625`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2016 -msgid "" -"The cost of hash collisions for sets is now reduced. Each hash table probe " -"now checks a series of consecutive, adjacent key/hash pairs before " -"continuing to make random probes through the hash table. This exploits " -"cache locality to make collision resolution less expensive. The collision " -"resolution scheme can be described as a hybrid of linear probing and open " -"addressing. The number of additional linear probes defaults to nine. This " -"can be changed at compile-time by defining LINEAR_PROBES to be any value. " -"Set LINEAR_PROBES=0 to turn-off linear probing entirely. (Contributed by " -"Raymond Hettinger in :issue:`18771`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2027 -msgid "" -"The interpreter starts about 30% faster. A couple of measures lead to the " -"speedup. The interpreter loads fewer modules on startup, e.g. the :mod:`re`," -" :mod:`collections` and :mod:`locale` modules and their dependencies are no " -"longer imported by default. The marshal module has been improved to load " -"compiled Python code faster. (Contributed by Antoine Pitrou, Christian " -"Heimes and Victor Stinner in :issue:`19219`, :issue:`19218`, :issue:`19209`," -" :issue:`19205` and :issue:`9548`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2035 -msgid "" -":class:`bz2.BZ2File` is now as fast or faster than the Python2 version for " -"most cases. :class:`lzma.LZMAFile` has also been optimized. (Contributed " -"by Serhiy Storchaka and Nadeem Vawda in :issue:`16034`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2039 -msgid "" -":func:`random.getrandbits` is 20%-40% faster for small integers (the most " -"common use case). (Contributed by Serhiy Storchaka in :issue:`16674`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2042 -msgid "" -"By taking advantage of the new storage format for strings, pickling of " -"strings is now significantly faster. (Contributed by Victor Stinner and " -"Antoine Pitrou in :issue:`15596`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2046 -msgid "" -"A performance issue in :meth:`io.FileIO.readall` has been solved. This " -"particularly affects Windows, and significantly speeds up the case of piping" -" significant amounts of data through :mod:`subprocess`. (Contributed by " -"Richard Oudkerk in :issue:`15758`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2051 -msgid "" -":func:`html.escape` is now 10x faster. (Contributed by Matt Bryant in " -":issue:`18020`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2054 -msgid "" -"On Windows, the native ``VirtualAlloc`` is now used instead of the CRT " -"``malloc`` in ``obmalloc``. Artificial benchmarks show about a 3% memory " -"savings." -msgstr "" - -#: ../../whatsnew/3.4.rst:2058 -msgid "" -":func:`os.urandom` now uses a lazily opened persistent file descriptor so as" -" to avoid using many file descriptors when run in parallel from multiple " -"threads. (Contributed by Antoine Pitrou in :issue:`18756`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2066 -msgid "Deprecated" -msgstr "Usang" - -#: ../../whatsnew/3.4.rst:2068 -msgid "" -"This section covers various APIs and other features that have been " -"deprecated in Python 3.4, and will be removed in Python 3.5 or later. In " -"most (but not all) cases, using the deprecated APIs will produce a " -":exc:`DeprecationWarning` when the interpreter is run with deprecation " -"warnings enabled (for example, by using ``-Wd``)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2076 -msgid "Deprecations in the Python API" -msgstr "" - -#: ../../whatsnew/3.4.rst:2078 -msgid "" -"As mentioned in :ref:`whatsnew-pep-451`, a number of :mod:`importlib` " -"methods and functions are deprecated: :meth:`!importlib.find_loader` is " -"replaced by :func:`importlib.util.find_spec`; " -":meth:`!importlib.machinery.PathFinder.find_module` is replaced by " -":meth:`importlib.machinery.PathFinder.find_spec`; " -":meth:`!importlib.abc.MetaPathFinder.find_module` is replaced by " -":meth:`importlib.abc.MetaPathFinder.find_spec`; " -":meth:`!importlib.abc.PathEntryFinder.find_loader` and :meth:`!find_module` " -"are replaced by :meth:`importlib.abc.PathEntryFinder.find_spec`; all of the " -":samp:`{xxx}Loader` ABC ``load_module`` methods " -"(:meth:`!importlib.abc.Loader.load_module`, " -":meth:`!importlib.abc.InspectLoader.load_module`, " -":meth:`!importlib.abc.FileLoader.load_module`, " -":meth:`!importlib.abc.SourceLoader.load_module`) should no longer be " -"implemented, instead loaders should implement an ``exec_module`` method " -"(:meth:`importlib.abc.Loader.exec_module`, " -":meth:`importlib.abc.InspectLoader.exec_module` " -":meth:`importlib.abc.SourceLoader.exec_module`) and let the import system " -"take care of the rest; and :meth:`!importlib.abc.Loader.module_repr`, " -":meth:`!importlib.util.module_for_loader`, " -":meth:`!importlib.util.set_loader`, and :meth:`!importlib.util.set_package` " -"are no longer needed because their functions are now handled automatically " -"by the import system." -msgstr "" - -#: ../../whatsnew/3.4.rst:2103 -msgid "" -"The :mod:`!imp` module is pending deprecation. To keep compatibility with " -"Python 2/3 code bases, the module's removal is currently not scheduled." -msgstr "" - -#: ../../whatsnew/3.4.rst:2106 -msgid "" -"The :mod:`formatter` module is pending deprecation and is slated for removal" -" in Python 3.6." -msgstr "" - -#: ../../whatsnew/3.4.rst:2109 -msgid "" -"``MD5`` as the default *digestmod* for the :func:`hmac.new` function is " -"deprecated. Python 3.6 will require an explicit digest name or constructor " -"as *digestmod* argument." -msgstr "" - -#: ../../whatsnew/3.4.rst:2113 -msgid "" -"The internal ``Netrc`` class in the :mod:`ftplib` module has been documented" -" as deprecated in its docstring for quite some time. It now emits a " -":exc:`DeprecationWarning` and will be removed completely in Python 3.5." -msgstr "" - -#: ../../whatsnew/3.4.rst:2117 -msgid "" -"The undocumented *endtime* argument to :meth:`subprocess.Popen.wait` should " -"not have been exposed and is hopefully not in use; it is deprecated and will" -" mostly likely be removed in Python 3.5." -msgstr "" - -#: ../../whatsnew/3.4.rst:2121 -msgid "" -"The *strict* argument of :class:`~html.parser.HTMLParser` is deprecated." -msgstr "" - -#: ../../whatsnew/3.4.rst:2123 -msgid "" -"The :mod:`plistlib` :func:`~plistlib.readPlist`, " -":func:`~plistlib.writePlist`, :func:`~plistlib.readPlistFromBytes`, and " -":func:`~plistlib.writePlistToBytes` functions are deprecated in favor of the" -" corresponding new functions :func:`~plistlib.load`, :func:`~plistlib.dump`," -" :func:`~plistlib.loads`, and :func:`~plistlib.dumps`. " -":func:`~plistlib.Data` is deprecated in favor of just using the " -":class:`bytes` constructor." -msgstr "" - -#: ../../whatsnew/3.4.rst:2130 -msgid "" -"The :mod:`sysconfig` key ``SO`` is deprecated, it has been replaced by " -"``EXT_SUFFIX``." -msgstr "" - -#: ../../whatsnew/3.4.rst:2133 -msgid "" -"The ``U`` mode accepted by various ``open`` functions is deprecated. In " -"Python3 it does not do anything useful, and should be replaced by " -"appropriate uses of :class:`io.TextIOWrapper` (if needed) and its *newline* " -"argument." -msgstr "" - -#: ../../whatsnew/3.4.rst:2138 -msgid "" -"The *parser* argument of :func:`xml.etree.ElementTree.iterparse` has been " -"deprecated, as has the *html* argument of " -":func:`~xml.etree.ElementTree.XMLParser`. To prepare for the removal of the" -" latter, all arguments to ``XMLParser`` should be passed by keyword." -msgstr "" - -#: ../../whatsnew/3.4.rst:2145 -msgid "Deprecated Features" -msgstr "" - -#: ../../whatsnew/3.4.rst:2147 -msgid "" -"Running :ref:`idle` with the ``-n`` flag (no subprocess) is deprecated. " -"However, the feature will not be removed until :issue:`18823` is resolved." -msgstr "" - -#: ../../whatsnew/3.4.rst:2150 -msgid "" -"The site module adding a \"site-python\" directory to sys.path, if it " -"exists, is deprecated (:issue:`19375`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2156 -msgid "Removed" -msgstr "" - -#: ../../whatsnew/3.4.rst:2160 -msgid "Operating Systems No Longer Supported" -msgstr "" - -#: ../../whatsnew/3.4.rst:2162 -msgid "" -"Support for the following operating systems has been removed from the source" -" and build tools:" -msgstr "" - -#: ../../whatsnew/3.4.rst:2165 -msgid "OS/2 (:issue:`16135`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2166 -msgid "Windows 2000 (changeset e52df05b496a)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2167 -msgid "" -"Windows systems where ``COMSPEC`` points to ``command.com`` " -"(:issue:`14470`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2168 -msgid "VMS (:issue:`16136`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2172 -msgid "API and Feature Removals" -msgstr "API dan Penghapusan Fitur" - -#: ../../whatsnew/3.4.rst:2174 -msgid "" -"The following obsolete and previously deprecated APIs and features have been" -" removed:" -msgstr "" - -#: ../../whatsnew/3.4.rst:2177 -msgid "" -"The unmaintained ``Misc/TextMate`` and ``Misc/vim`` directories have been " -"removed (see the `devguide `_ for suggestions " -"on what to use instead)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2181 -msgid "" -"The ``SO`` makefile macro is removed (it was replaced by the " -"``SHLIB_SUFFIX`` and ``EXT_SUFFIX`` macros) (:issue:`16754`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2184 -msgid "" -"The ``PyThreadState.tick_counter`` field has been removed; its value has " -"been meaningless since Python 3.2, when the \"new GIL\" was introduced " -"(:issue:`19199`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2188 -msgid "" -"``PyLoader`` and ``PyPycLoader`` have been removed from :mod:`importlib`. " -"(Contributed by Taras Lyapun in :issue:`15641`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2191 -msgid "" -"The *strict* argument to :class:`~http.client.HTTPConnection` and " -":class:`~http.client.HTTPSConnection` has been removed. HTTP 0.9-style " -"\"Simple Responses\" are no longer supported." -msgstr "" - -#: ../../whatsnew/3.4.rst:2195 -msgid "" -"The deprecated :mod:`urllib.request.Request` getter and setter methods " -"``add_data``, ``has_data``, ``get_data``, ``get_type``, ``get_host``, " -"``get_selector``, ``set_proxy``, ``get_origin_req_host``, and " -"``is_unverifiable`` have been removed (use direct attribute access instead)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2200 -msgid "" -"Support for loading the deprecated ``TYPE_INT64`` has been removed from " -":mod:`marshal`. (Contributed by Dan Riti in :issue:`15480`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2203 -msgid "" -":class:`inspect.Signature`: positional-only parameters are now required to " -"have a valid name." -msgstr "" - -#: ../../whatsnew/3.4.rst:2206 -msgid "" -":meth:`object.__format__` no longer accepts non-empty format strings, it now" -" raises a :exc:`TypeError` instead. Using a non-empty string has been " -"deprecated since Python 3.2. This change has been made to prevent a " -"situation where previously working (but incorrect) code would start failing " -"if an object gained a __format__ method, which means that your code may now " -"raise a :exc:`TypeError` if you are using an ``'s'`` format code with " -"objects that do not have a __format__ method that handles it. See " -":issue:`7994` for background." -msgstr "" - -#: ../../whatsnew/3.4.rst:2215 -msgid "" -":meth:`difflib.SequenceMatcher.isbjunk` and " -":meth:`difflib.SequenceMatcher.isbpopular` were deprecated in 3.2, and have " -"now been removed: use ``x in sm.bjunk`` and ``x in sm.bpopular``, where *sm*" -" is a :class:`~difflib.SequenceMatcher` object (:issue:`13248`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2223 -msgid "Code Cleanups" -msgstr "" - -#: ../../whatsnew/3.4.rst:2225 -msgid "" -"The unused and undocumented internal ``Scanner`` class has been removed from" -" the :mod:`pydoc` module." -msgstr "" - -#: ../../whatsnew/3.4.rst:2228 -msgid "" -"The private and effectively unused ``_gestalt`` module has been removed, " -"along with the private :mod:`platform` functions ``_mac_ver_lookup``, " -"``_mac_ver_gstalt``, and ``_bcd2str``, which would only have ever been " -"called on badly broken OSX systems (see :issue:`18393`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2233 -msgid "" -"The hardcoded copies of certain :mod:`stat` constants that were included in " -"the :mod:`tarfile` module namespace have been removed." -msgstr "" - -#: ../../whatsnew/3.4.rst:2239 -msgid "Porting to Python 3.4" -msgstr "" - -#: ../../whatsnew/3.4.rst:2241 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code." -msgstr "" - -#: ../../whatsnew/3.4.rst:2246 -msgid "Changes in 'python' Command Behavior" -msgstr "" - -#: ../../whatsnew/3.4.rst:2248 -msgid "" -"In a posix shell, setting the :envvar:`PATH` environment variable to an " -"empty value is equivalent to not setting it at all. However, setting " -":envvar:`PYTHONPATH` to an empty value was *not* equivalent to not setting " -"it at all: setting :envvar:`PYTHONPATH` to an empty value was equivalent to " -"setting it to ``.``, which leads to confusion when reasoning by analogy to " -"how :envvar:`PATH` works. The behavior now conforms to the posix convention" -" for :envvar:`PATH`." -msgstr "" - -#: ../../whatsnew/3.4.rst:2256 -msgid "" -"The [X refs, Y blocks] output of a debug (``--with-pydebug``) build of the " -"CPython interpreter is now off by default. It can be re-enabled using the " -"``-X showrefcount`` option. (Contributed by Ezio Melotti in " -":issue:`17323`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2260 -msgid "" -"The python command and most stdlib scripts (as well as :mod:`argparse`) now " -"output ``--version`` information to ``stdout`` instead of ``stderr`` (for " -"issue list see :ref:`other-improvements-3.4` above)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2266 -msgid "Changes in the Python API" -msgstr "Perubahan pada API Python" - -#: ../../whatsnew/3.4.rst:2268 -msgid "" -"The ABCs defined in :mod:`importlib.abc` now either raise the appropriate " -"exception or return a default value instead of raising " -":exc:`NotImplementedError` blindly. This will only affect code calling " -":func:`super` and falling through all the way to the ABCs. For " -"compatibility, catch both :exc:`NotImplementedError` or the appropriate " -"exception as needed." -msgstr "" - -#: ../../whatsnew/3.4.rst:2274 -msgid "" -"The module type now initializes the :attr:`~module.__package__` and " -":attr:`~module.__loader__` attributes to ``None`` by default. To determine " -"if these attributes were set in a backwards-compatible fashion, use e.g. " -"``getattr(module, '__loader__', None) is not None``. (:issue:`17115`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2280 -msgid "" -":meth:`!importlib.util.module_for_loader` now sets ``__loader__`` and " -"``__package__`` unconditionally to properly support reloading. If this is " -"not desired then you will need to set these attributes manually. You can use" -" :func:`importlib.util.module_to_load` for module management." -msgstr "" - -#: ../../whatsnew/3.4.rst:2285 -msgid "" -"Import now resets relevant attributes (e.g. ``__name__``, ``__loader__``, " -"``__package__``, ``__file__``, ``__cached__``) unconditionally when " -"reloading. Note that this restores a pre-3.3 behavior in that it means a " -"module is re-found when re-loaded (:issue:`19413`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2290 -msgid "" -"Frozen packages no longer set ``__path__`` to a list containing the package " -"name, they now set it to an empty list. The previous behavior could cause " -"the import system to do the wrong thing on submodule imports if there was " -"also a directory with the same name as the frozen package. The correct way " -"to determine if a module is a package or not is to use ``hasattr(module, " -"'__path__')`` (:issue:`18065`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2297 -msgid "" -"Frozen modules no longer define a ``__file__`` attribute. It's semantically " -"incorrect for frozen modules to set the attribute as they are not loaded " -"from any explicit location. If you must know that a module comes from frozen" -" code then you can see if the module's ``__spec__.location`` is set to " -"``'frozen'``, check if the loader is a subclass of " -":class:`importlib.machinery.FrozenImporter`, or if Python 2 compatibility is" -" necessary you can use :func:`!imp.is_frozen`." -msgstr "" - -#: ../../whatsnew/3.4.rst:2305 -msgid "" -":func:`py_compile.compile` now raises :exc:`FileExistsError` if the file " -"path it would write to is a symlink or a non-regular file. This is to act as" -" a warning that import will overwrite those files with a regular file " -"regardless of what type of file path they were originally." -msgstr "" - -#: ../../whatsnew/3.4.rst:2310 -msgid "" -":meth:`importlib.abc.SourceLoader.get_source` no longer raises " -":exc:`ImportError` when the source code being loaded triggers a " -":exc:`SyntaxError` or :exc:`UnicodeDecodeError`. As :exc:`ImportError` is " -"meant to be raised only when source code cannot be found but it should, it " -"was felt to be over-reaching/overloading of that meaning when the source " -"code is found but improperly structured. If you were catching ImportError " -"before and wish to continue to ignore syntax or decoding issues, catch all " -"three exceptions now." -msgstr "" - -#: ../../whatsnew/3.4.rst:2319 -msgid "" -":func:`functools.update_wrapper` and :func:`functools.wraps` now correctly " -"set the ``__wrapped__`` attribute to the function being wrapped, even if " -"that function also had its ``__wrapped__`` attribute set. This means " -"``__wrapped__`` attributes now correctly link a stack of decorated functions" -" rather than every ``__wrapped__`` attribute in the chain referring to the " -"innermost function. Introspection libraries that assumed the previous " -"behaviour was intentional can use :func:`inspect.unwrap` to access the first" -" function in the chain that has no ``__wrapped__`` attribute." -msgstr "" - -#: ../../whatsnew/3.4.rst:2329 -msgid "" -":func:`inspect.getfullargspec` has been reimplemented on top of " -":func:`inspect.signature` and hence handles a much wider variety of callable" -" objects than it did in the past. It is expected that additional builtin and" -" extension module callables will gain signature metadata over the course of " -"the Python 3.4 series. Code that assumes that :func:`inspect.getfullargspec`" -" will fail on non-Python callables may need to be adjusted accordingly." -msgstr "" - -#: ../../whatsnew/3.4.rst:2337 -msgid "" -":class:`importlib.machinery.PathFinder` now passes on the current working " -"directory to objects in :data:`sys.path_hooks` for the empty string. This " -"results in :data:`sys.path_importer_cache` never containing ``''``, thus " -"iterating through :data:`sys.path_importer_cache` based on :data:`sys.path` " -"will not find all keys. A module's ``__file__`` when imported in the current" -" working directory will also now have an absolute path, including when using" -" ``-m`` with the interpreter (except for ``__main__.__file__`` when a script" -" has been executed directly using a relative path) (Contributed by Brett " -"Cannon in :issue:`18416`). is specified on the command-line) " -"(:issue:`18416`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2348 -msgid "" -"The removal of the *strict* argument to :class:`~http.client.HTTPConnection`" -" and :class:`~http.client.HTTPSConnection` changes the meaning of the " -"remaining arguments if you are specifying them positionally rather than by " -"keyword. If you've been paying attention to deprecation warnings your code " -"should already be specifying any additional arguments via keywords." -msgstr "" - -#: ../../whatsnew/3.4.rst:2354 -msgid "" -"Strings between ``from __future__ import ...`` statements now *always* raise" -" a :exc:`SyntaxError`. Previously if there was no leading docstring, an " -"interstitial string would sometimes be ignored. This brings CPython into " -"compliance with the language spec; Jython and PyPy already were. " -"(:issue:`17434`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2360 -msgid "" -":meth:`ssl.SSLSocket.getpeercert` and :meth:`ssl.SSLSocket.do_handshake` now" -" raise an :exc:`OSError` with ``ENOTCONN`` when the ``SSLSocket`` is not " -"connected, instead of the previous behavior of raising an " -":exc:`AttributeError`. In addition, :meth:`~ssl.SSLSocket.getpeercert` will" -" raise a :exc:`ValueError` if the handshake has not yet been done." -msgstr "" - -#: ../../whatsnew/3.4.rst:2366 -msgid "" -":func:`base64.b32decode` now raises a :exc:`binascii.Error` when the input " -"string contains non-b32-alphabet characters, instead of a :exc:`TypeError`." -" This particular :exc:`TypeError` was missed when the other " -":exc:`TypeError`\\ s were converted. (Contributed by Serhiy Storchaka in " -":issue:`18011`.) Note: this change was also inadvertently applied in Python" -" 3.3.3." -msgstr "" - -#: ../../whatsnew/3.4.rst:2373 -msgid "" -"The :attr:`!file` attribute is now automatically closed when the creating " -":class:`!cgi.FieldStorage` instance is garbage collected. If you were " -"pulling the file object out separately from the :class:`!cgi.FieldStorage` " -"instance and not keeping the instance alive, then you should either store " -"the entire :class:`!cgi.FieldStorage` instance or read the contents of the " -"file before the :class:`!cgi.FieldStorage` instance is garbage collected." -msgstr "" - -#: ../../whatsnew/3.4.rst:2380 -msgid "" -"Calling ``read`` or ``write`` on a closed SSL socket now raises an " -"informative :exc:`ValueError` rather than the previous more mysterious " -":exc:`AttributeError` (:issue:`9177`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2384 -msgid "" -":meth:`slice.indices` no longer produces an :exc:`OverflowError` for huge " -"values. As a consequence of this fix, :meth:`slice.indices` now raises a " -":exc:`ValueError` if given a negative length; previously it returned " -"nonsense values (:issue:`14794`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2389 -msgid "" -"The :class:`complex` constructor, unlike the :mod:`cmath` functions, was " -"incorrectly accepting :class:`float` values if an object's ``__complex__`` " -"special method returned one. This now raises a :exc:`TypeError`. " -"(:issue:`16290`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2394 -msgid "" -"The :class:`int` constructor in 3.2 and 3.3 erroneously accepts " -":class:`float` values for the *base* parameter. It is unlikely anyone was " -"doing this, but if so, it will now raise a :exc:`TypeError` " -"(:issue:`16772`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2398 -msgid "" -"Defaults for keyword-only arguments are now evaluated *after* defaults for " -"regular keyword arguments, instead of before. Hopefully no one wrote any " -"code that depends on the previous buggy behavior (:issue:`16967`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2402 -msgid "" -"Stale thread states are now cleared after :func:`~os.fork`. This may cause " -"some system resources to be released that previously were incorrectly kept " -"perpetually alive (for example, database connections kept in thread-local " -"storage). (:issue:`17094`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2407 -msgid "" -"Parameter names in ``__annotations__`` dicts are now mangled properly, " -"similarly to :attr:`~function.__kwdefaults__`. (Contributed by Yury " -"Selivanov in :issue:`20625`.)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2411 -msgid "" -":attr:`hashlib.hash.name` now always returns the identifier in lower case. " -"Previously some builtin hashes had uppercase names, but now that it is a " -"formal public interface the naming has been made consistent " -"(:issue:`18532`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2415 -msgid "" -"Because :mod:`unittest.TestSuite` now drops references to tests after they " -"are run, test harnesses that reuse a :class:`~unittest.TestSuite` to re-run " -"a set of tests may fail. Test suites should not be re-used in this fashion" -" since it means state is retained between test runs, breaking the test " -"isolation that :mod:`unittest` is designed to provide. However, if the lack" -" of isolation is considered acceptable, the old behavior can be restored by " -"creating a :mod:`~unittest.TestSuite` subclass that defines a " -"``_removeTestAtIndex`` method that does nothing (see " -":meth:`.TestSuite.__iter__`) (:issue:`11798`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2425 -msgid "" -":mod:`unittest` now uses :mod:`argparse` for command line parsing. There " -"are certain invalid command forms that used to work that are no longer " -"allowed; in theory this should not cause backward compatibility issues since" -" the disallowed command forms didn't make any sense and are unlikely to be " -"in use." -msgstr "" - -#: ../../whatsnew/3.4.rst:2430 -msgid "" -"The :func:`re.split`, :func:`re.findall`, and :func:`re.sub` functions, and " -"the :meth:`~re.match.group` and :meth:`~re.match.groups` methods of " -"``match`` objects now always return a *bytes* object when the string to be " -"matched is a :term:`bytes-like object`. Previously the return type matched " -"the input type, so if your code was depending on the return value being, " -"say, a ``bytearray``, you will need to change your code." -msgstr "" - -#: ../../whatsnew/3.4.rst:2437 -msgid "" -":mod:`!audioop` functions now raise an error immediately if passed string " -"input, instead of failing randomly later on (:issue:`16685`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2440 -msgid "" -"The new *convert_charrefs* argument to :class:`~html.parser.HTMLParser` " -"currently defaults to ``False`` for backward compatibility, but will " -"eventually be changed to default to ``True``. It is recommended that you " -"add this keyword, with the appropriate value, to any " -":class:`~html.parser.HTMLParser` calls in your code (:issue:`13633`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2446 -msgid "" -"Since the *digestmod* argument to the :func:`hmac.new` function will in the " -"future have no default, all calls to :func:`hmac.new` should be changed to " -"explicitly specify a *digestmod* (:issue:`17276`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2450 -msgid "" -"Calling :func:`sysconfig.get_config_var` with the ``SO`` key, or looking " -"``SO`` up in the results of a call to :func:`sysconfig.get_config_vars` is " -"deprecated. This key should be replaced by ``EXT_SUFFIX`` or " -"``SHLIB_SUFFIX``, depending on the context (:issue:`19555`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2455 -msgid "" -"Any calls to ``open`` functions that specify ``U`` should be modified. ``U``" -" is ineffective in Python3 and will eventually raise an error if used. " -"Depending on the function, the equivalent of its old Python2 behavior can be" -" achieved using either a *newline* argument, or if necessary by wrapping the" -" stream in :mod:`~io.TextIOWrapper` to use its *newline* argument " -"(:issue:`15204`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2462 -msgid "" -"If you use ``pyvenv`` in a script and desire that pip *not* be installed, " -"you must add ``--without-pip`` to your command invocation." -msgstr "" - -#: ../../whatsnew/3.4.rst:2466 -msgid "" -"The default behavior of :func:`json.dump` and :func:`json.dumps` when an " -"indent is specified has changed: it no longer produces trailing spaces after" -" the item separating commas at the ends of lines. This will matter only if " -"you have tests that are doing white-space-sensitive comparisons of such " -"output (:issue:`16333`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2472 -msgid "" -":mod:`doctest` now looks for doctests in extension module ``__doc__`` " -"strings, so if your doctest test discovery includes extension modules that " -"have things that look like doctests in them you may see test failures you've" -" never seen before when running your tests (:issue:`3158`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2477 -msgid "" -"The :mod:`collections.abc` module has been slightly refactored as part of " -"the Python startup improvements. As a consequence of this, it is no longer " -"the case that importing :mod:`collections` automatically imports " -":mod:`collections.abc`. If your program depended on the (undocumented) " -"implicit import, you will need to add an explicit ``import collections.abc``" -" (:issue:`20784`)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2486 -msgid "Changes in the C API" -msgstr "Perubahan dalam API C" - -#: ../../whatsnew/3.4.rst:2488 -msgid "" -":c:func:`PyEval_EvalFrameEx`, :c:func:`PyObject_Repr`, and " -":c:func:`PyObject_Str`, along with some other internal C APIs, now include a" -" debugging assertion that ensures they are not used in situations where they" -" may silently discard a currently active exception. In cases where " -"discarding the active exception is expected and desired (for example, " -"because it has already been saved locally with :c:func:`PyErr_Fetch` or is " -"being deliberately replaced with a different exception), an explicit " -":c:func:`PyErr_Clear` call will be needed to avoid triggering the assertion " -"when invoking these operations (directly or indirectly) and running against " -"a version of Python that is compiled with assertions enabled." -msgstr "" - -#: ../../whatsnew/3.4.rst:2500 -msgid "" -":c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg** " -"argument is not set. Previously only ``NULL`` was returned with no exception" -" set." -msgstr "" - -#: ../../whatsnew/3.4.rst:2504 -msgid "" -"The result of the :c:data:`PyOS_ReadlineFunctionPointer` callback must now " -"be a string allocated by :c:func:`PyMem_RawMalloc` or " -":c:func:`PyMem_RawRealloc`, or ``NULL`` if an error occurred, instead of a " -"string allocated by :c:func:`PyMem_Malloc` or :c:func:`PyMem_Realloc` " -"(:issue:`16742`)" -msgstr "" - -#: ../../whatsnew/3.4.rst:2510 -msgid "" -":c:func:`PyThread_set_key_value` now always set the value. In Python 3.3, " -"the function did nothing if the key already exists (if the current value is " -"a non-``NULL`` pointer)." -msgstr "" - -#: ../../whatsnew/3.4.rst:2514 -msgid "" -"The ``f_tstate`` (thread state) field of the :c:type:`PyFrameObject` " -"structure has been removed to fix a bug: see :issue:`14432` for the " -"rationale." -msgstr "" - -#: ../../whatsnew/3.4.rst:2519 -msgid "Changed in 3.4.3" -msgstr "" - -#: ../../whatsnew/3.4.rst:2524 -msgid "" -"PEP 476: Enabling certificate verification by default for stdlib http " -"clients" -msgstr "" - -#: ../../whatsnew/3.4.rst:2526 -msgid "" -":mod:`http.client` and modules which use it, such as :mod:`urllib.request` " -"and :mod:`xmlrpc.client`, will now verify that the server presents a " -"certificate which is signed by a CA in the platform trust store and whose " -"hostname matches the hostname being requested by default, significantly " -"improving security for many applications." -msgstr "" - -#: ../../whatsnew/3.4.rst:2532 -msgid "" -"For applications which require the old previous behavior, they can pass an " -"alternate context::" -msgstr "" - -#: ../../whatsnew/3.4.rst:2535 -msgid "" -"import urllib.request\n" -"import ssl\n" -"\n" -"# This disables all verification\n" -"context = ssl._create_unverified_context()\n" -"\n" -"# This allows using a specific certificate for the host, which doesn't need\n" -"# to be in the trust store\n" -"context = ssl.create_default_context(cafile=\"/path/to/file.crt\")\n" -"\n" -"urllib.request.urlopen(\"https://invalid-cert\", context=context)" -msgstr "" diff --git a/python-newest.whatsnew--3_5/id.po b/python-newest.whatsnew--3_5/id.po deleted file mode 100644 index 2801885..0000000 --- a/python-newest.whatsnew--3_5/id.po +++ /dev/null @@ -1,3792 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: oon arfiandwi , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.5.rst:3 -msgid "What's New In Python 3.5" -msgstr "" - -#: ../../whatsnew/3.5.rst:0 -msgid "Editors" -msgstr "Editor" - -#: ../../whatsnew/3.5.rst:5 -msgid "Elvis Pranskevichus , Yury Selivanov " -msgstr "Elvis Pranskevichus , Yury Selivanov " - -#: ../../whatsnew/3.5.rst:47 -msgid "" -"This article explains the new features in Python 3.5, compared to 3.4. " -"Python 3.5 was released on September 13, 2015. See the `changelog " -"`_ for a full list of " -"changes." -msgstr "" - -#: ../../whatsnew/3.5.rst:54 -msgid ":pep:`478` - Python 3.5 Release Schedule" -msgstr "" - -#: ../../whatsnew/3.5.rst:58 -msgid "Summary -- Release highlights" -msgstr "Ringkasan -- Sorotan Rilis" - -#: ../../whatsnew/3.5.rst:60 -msgid "New syntax features:" -msgstr "Fitur sintaks baru:" - -#: ../../whatsnew/3.5.rst:62 -msgid "" -":ref:`PEP 492 `, coroutines with async and await syntax." -msgstr "" - -#: ../../whatsnew/3.5.rst:63 -msgid "" -":ref:`PEP 465 `, a new matrix multiplication operator: ``a" -" @ b``." -msgstr "" - -#: ../../whatsnew/3.5.rst:64 -msgid "" -":ref:`PEP 448 `, additional unpacking generalizations." -msgstr "" - -#: ../../whatsnew/3.5.rst:67 -msgid "New library modules:" -msgstr "Modul pustaka baru:" - -#: ../../whatsnew/3.5.rst:69 -msgid ":mod:`typing`: :ref:`PEP 484 -- Type Hints `." -msgstr "" - -#: ../../whatsnew/3.5.rst:70 -msgid "" -":mod:`zipapp`: :ref:`PEP 441 Improving Python ZIP Application Support " -"`." -msgstr "" - -#: ../../whatsnew/3.5.rst:74 -msgid "New built-in features:" -msgstr "Fitur bawaan baru:" - -#: ../../whatsnew/3.5.rst:76 -msgid "" -"``bytes % args``, ``bytearray % args``: :ref:`PEP 461 ` --" -" Adding ``%`` formatting to bytes and bytearray." -msgstr "" - -#: ../../whatsnew/3.5.rst:79 -msgid "" -"New :meth:`bytes.hex`, :meth:`bytearray.hex` and :meth:`memoryview.hex` " -"methods. (Contributed by Arnon Yaari in :issue:`9951`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:82 -msgid "" -":class:`memoryview` now supports tuple indexing (including multi-" -"dimensional). (Contributed by Antoine Pitrou in :issue:`23632`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:85 -msgid "" -"Generators have a new ``gi_yieldfrom`` attribute, which returns the object " -"being iterated by ``yield from`` expressions. (Contributed by Benno Leslie " -"and Yury Selivanov in :issue:`24450`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:89 -msgid "" -"A new :exc:`RecursionError` exception is now raised when maximum recursion " -"depth is reached. (Contributed by Georg Brandl in :issue:`19235`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:94 -msgid "CPython implementation improvements:" -msgstr "Peningkatan implementasi CPython:" - -#: ../../whatsnew/3.5.rst:96 -msgid "" -"When the ``LC_TYPE`` locale is the POSIX locale (``C`` locale), " -":py:data:`sys.stdin` and :py:data:`sys.stdout` now use the " -"``surrogateescape`` error handler, instead of the ``strict`` error handler. " -"(Contributed by Victor Stinner in :issue:`19977`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:101 -msgid "" -"``.pyo`` files are no longer used and have been replaced by a more flexible " -"scheme that includes the optimization level explicitly in ``.pyc`` name. " -"(See :ref:`PEP 488 overview `.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:105 -msgid "" -"Builtin and extension modules are now initialized in a multi-phase process, " -"which is similar to how Python modules are loaded. (See :ref:`PEP 489 " -"overview `.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:110 -msgid "Significant improvements in the standard library:" -msgstr "Peningkatan yang signifikan dalam pustaka standar:" - -#: ../../whatsnew/3.5.rst:112 -msgid "" -":class:`collections.OrderedDict` is now :ref:`implemented in C `, which makes it 4 to 100 times faster." -msgstr "" - -#: ../../whatsnew/3.5.rst:116 -msgid "" -"The :mod:`ssl` module gained :ref:`support for Memory BIO `, which decouples SSL protocol handling from network IO." -msgstr "" - -#: ../../whatsnew/3.5.rst:120 -msgid "" -"The new :func:`os.scandir` function provides a :ref:`better and " -"significantly faster way ` of directory traversal." -msgstr "" - -#: ../../whatsnew/3.5.rst:124 -msgid "" -":func:`functools.lru_cache` has been mostly :ref:`reimplemented in C " -"`, yielding much better performance." -msgstr "" - -#: ../../whatsnew/3.5.rst:128 -msgid "" -"The new :func:`subprocess.run` function provides a :ref:`streamlined way to " -"run subprocesses `." -msgstr "" - -#: ../../whatsnew/3.5.rst:131 -msgid "" -"The :mod:`traceback` module has been significantly :ref:`enhanced ` for improved performance and developer convenience." -msgstr "" - -#: ../../whatsnew/3.5.rst:136 -msgid "Security improvements:" -msgstr "" - -#: ../../whatsnew/3.5.rst:138 -msgid "" -"SSLv3 is now disabled throughout the standard library. It can still be " -"enabled by instantiating a :class:`ssl.SSLContext` manually. (See " -":issue:`22638` for more details; this change was backported to CPython 3.4 " -"and 2.7.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:143 -msgid "" -"HTTP cookie parsing is now stricter, in order to protect against potential " -"injection attacks. (Contributed by Antoine Pitrou in :issue:`22796`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:148 -msgid "Windows improvements:" -msgstr "" - -#: ../../whatsnew/3.5.rst:150 -msgid "" -"A new installer for Windows has replaced the old MSI. See :ref:`using-on-" -"windows` for more information." -msgstr "" - -#: ../../whatsnew/3.5.rst:153 -msgid "" -"Windows builds now use Microsoft Visual C++ 14.0, and extension modules " -"should use the same." -msgstr "" - -#: ../../whatsnew/3.5.rst:157 -msgid "" -"Please read on for a comprehensive list of user-facing changes, including " -"many other smaller improvements, CPython optimizations, deprecations, and " -"potential porting issues." -msgstr "" - -#: ../../whatsnew/3.5.rst:163 -msgid "New Features" -msgstr "Fitur-fitur Baru" - -#: ../../whatsnew/3.5.rst:168 -msgid "PEP 492 - Coroutines with async and await syntax" -msgstr "" - -#: ../../whatsnew/3.5.rst:170 -msgid "" -":pep:`492` greatly improves support for asynchronous programming in Python " -"by adding :term:`awaitable objects `, :term:`coroutine functions " -"`, :term:`asynchronous iteration `, and :term:`asynchronous context managers `." -msgstr "" - -#: ../../whatsnew/3.5.rst:176 -msgid "" -"Coroutine functions are declared using the new :keyword:`async def` syntax::" -msgstr "" - -#: ../../whatsnew/3.5.rst:178 -msgid "" -">>> async def coro():\n" -"... return 'spam'" -msgstr "" - -#: ../../whatsnew/3.5.rst:181 -msgid "" -"Inside a coroutine function, the new :keyword:`await` expression can be used" -" to suspend coroutine execution until the result is available. Any object " -"can be *awaited*, as long as it implements the :term:`awaitable` protocol by" -" defining the :meth:`__await__` method." -msgstr "" - -#: ../../whatsnew/3.5.rst:186 -msgid "" -"PEP 492 also adds :keyword:`async for` statement for convenient iteration " -"over asynchronous iterables." -msgstr "" - -#: ../../whatsnew/3.5.rst:189 -msgid "An example of a rudimentary HTTP client written using the new syntax::" -msgstr "" - -#: ../../whatsnew/3.5.rst:191 -msgid "" -"import asyncio\n" -"\n" -"async def http_get(domain):\n" -" reader, writer = await asyncio.open_connection(domain, 80)\n" -"\n" -" writer.write(b'\\r\\n'.join([\n" -" b'GET / HTTP/1.1',\n" -" b'Host: %b' % domain.encode('latin-1'),\n" -" b'Connection: close',\n" -" b'', b''\n" -" ]))\n" -"\n" -" async for line in reader:\n" -" print('>>>', line)\n" -"\n" -" writer.close()\n" -"\n" -"loop = asyncio.get_event_loop()\n" -"try:\n" -" loop.run_until_complete(http_get('example.com'))\n" -"finally:\n" -" loop.close()" -msgstr "" - -#: ../../whatsnew/3.5.rst:215 -msgid "" -"Similarly to asynchronous iteration, there is a new syntax for asynchronous " -"context managers. The following script::" -msgstr "" - -#: ../../whatsnew/3.5.rst:218 -msgid "" -"import asyncio\n" -"\n" -"async def coro(name, lock):\n" -" print('coro {}: waiting for lock'.format(name))\n" -" async with lock:\n" -" print('coro {}: holding the lock'.format(name))\n" -" await asyncio.sleep(1)\n" -" print('coro {}: releasing the lock'.format(name))\n" -"\n" -"loop = asyncio.get_event_loop()\n" -"lock = asyncio.Lock()\n" -"coros = asyncio.gather(coro(1, lock), coro(2, lock))\n" -"try:\n" -" loop.run_until_complete(coros)\n" -"finally:\n" -" loop.close()" -msgstr "" - -#: ../../whatsnew/3.5.rst:235 -msgid "will output::" -msgstr "" - -#: ../../whatsnew/3.5.rst:237 -msgid "" -"coro 2: waiting for lock\n" -"coro 2: holding the lock\n" -"coro 1: waiting for lock\n" -"coro 2: releasing the lock\n" -"coro 1: holding the lock\n" -"coro 1: releasing the lock" -msgstr "" - -#: ../../whatsnew/3.5.rst:244 -msgid "" -"Note that both :keyword:`async for` and :keyword:`async with` can only be " -"used inside a coroutine function declared with :keyword:`async def`." -msgstr "" - -#: ../../whatsnew/3.5.rst:247 -msgid "" -"Coroutine functions are intended to be run inside a compatible event loop, " -"such as the :ref:`asyncio loop `." -msgstr "" - -#: ../../whatsnew/3.5.rst:253 -msgid "" -"Starting with CPython 3.5.2, ``__aiter__`` can directly return " -":term:`asynchronous iterators `. Returning an " -":term:`awaitable` object will result in a :exc:`PendingDeprecationWarning`." -msgstr "" - -#: ../../whatsnew/3.5.rst:259 -msgid "See more details in the :ref:`async-iterators` documentation section." -msgstr "" - -#: ../../whatsnew/3.5.rst:265 -msgid ":pep:`492` -- Coroutines with async and await syntax" -msgstr "" - -#: ../../whatsnew/3.5.rst:266 -msgid "PEP written and implemented by Yury Selivanov." -msgstr "" - -#: ../../whatsnew/3.5.rst:272 -msgid "PEP 465 - A dedicated infix operator for matrix multiplication" -msgstr "" - -#: ../../whatsnew/3.5.rst:274 -msgid "" -":pep:`465` adds the ``@`` infix operator for matrix multiplication. " -"Currently, no builtin Python types implement the new operator, however, it " -"can be implemented by defining :meth:`__matmul__`, :meth:`__rmatmul__`, and " -":meth:`__imatmul__` for regular, reflected, and in-place matrix " -"multiplication. The semantics of these methods is similar to that of " -"methods defining other infix arithmetic operators." -msgstr "" - -#: ../../whatsnew/3.5.rst:281 -msgid "" -"Matrix multiplication is a notably common operation in many fields of " -"mathematics, science, engineering, and the addition of ``@`` allows writing " -"cleaner code::" -msgstr "" - -#: ../../whatsnew/3.5.rst:285 -msgid "S = (H @ beta - r).T @ inv(H @ V @ H.T) @ (H @ beta - r)" -msgstr "" - -#: ../../whatsnew/3.5.rst:287 -msgid "instead of::" -msgstr "" - -#: ../../whatsnew/3.5.rst:289 -msgid "" -"S = dot((dot(H, beta) - r).T,\n" -" dot(inv(dot(dot(H, V), H.T)), dot(H, beta) - r))" -msgstr "" - -#: ../../whatsnew/3.5.rst:292 -msgid "NumPy 1.10 has support for the new operator::" -msgstr "" - -#: ../../whatsnew/3.5.rst:294 -msgid "" -">>> import numpy\n" -"\n" -">>> x = numpy.ones(3)\n" -">>> x\n" -"array([ 1., 1., 1.])\n" -"\n" -">>> m = numpy.eye(3)\n" -">>> m\n" -"array([[ 1., 0., 0.],\n" -" [ 0., 1., 0.],\n" -" [ 0., 0., 1.]])\n" -"\n" -">>> x @ m\n" -"array([ 1., 1., 1.])" -msgstr "" - -#: ../../whatsnew/3.5.rst:312 -msgid ":pep:`465` -- A dedicated infix operator for matrix multiplication" -msgstr "" - -#: ../../whatsnew/3.5.rst:313 -msgid "PEP written by Nathaniel J. Smith; implemented by Benjamin Peterson." -msgstr "" - -#: ../../whatsnew/3.5.rst:319 -msgid "PEP 448 - Additional Unpacking Generalizations" -msgstr "" - -#: ../../whatsnew/3.5.rst:321 -msgid "" -":pep:`448` extends the allowed uses of the ``*`` iterable unpacking operator" -" and ``**`` dictionary unpacking operator. It is now possible to use an " -"arbitrary number of unpackings in :ref:`function calls `::" -msgstr "" - -#: ../../whatsnew/3.5.rst:325 -msgid "" -">>> print(*[1], *[2], 3, *[4, 5])\n" -"1 2 3 4 5\n" -"\n" -">>> def fn(a, b, c, d):\n" -"... print(a, b, c, d)\n" -"...\n" -"\n" -">>> fn(**{'a': 1, 'c': 3}, **{'b': 2, 'd': 4})\n" -"1 2 3 4" -msgstr "" - -#: ../../whatsnew/3.5.rst:335 -msgid "" -"Similarly, tuple, list, set, and dictionary displays allow multiple " -"unpackings (see :ref:`exprlists` and :ref:`dict`)::" -msgstr "" - -#: ../../whatsnew/3.5.rst:338 -msgid "" -">>> *range(4), 4\n" -"(0, 1, 2, 3, 4)\n" -"\n" -">>> [*range(4), 4]\n" -"[0, 1, 2, 3, 4]\n" -"\n" -">>> {*range(4), 4, *(5, 6, 7)}\n" -"{0, 1, 2, 3, 4, 5, 6, 7}\n" -"\n" -">>> {'x': 1, **{'y': 2}}\n" -"{'x': 1, 'y': 2}" -msgstr "" - -#: ../../whatsnew/3.5.rst:352 -msgid ":pep:`448` -- Additional Unpacking Generalizations" -msgstr "" - -#: ../../whatsnew/3.5.rst:353 -msgid "" -"PEP written by Joshua Landau; implemented by Neil Girdhar, Thomas Wouters, " -"and Joshua Landau." -msgstr "" - -#: ../../whatsnew/3.5.rst:360 -msgid "PEP 461 - percent formatting support for bytes and bytearray" -msgstr "" - -#: ../../whatsnew/3.5.rst:362 -msgid "" -":pep:`461` adds support for the ``%`` :ref:`interpolation operator ` to :class:`bytes` and :class:`bytearray`." -msgstr "" - -#: ../../whatsnew/3.5.rst:366 -msgid "" -"While interpolation is usually thought of as a string operation, there are " -"cases where interpolation on ``bytes`` or ``bytearrays`` makes sense, and " -"the work needed to make up for this missing functionality detracts from the " -"overall readability of the code. This issue is particularly important when " -"dealing with wire format protocols, which are often a mixture of binary and " -"ASCII compatible text." -msgstr "" - -#: ../../whatsnew/3.5.rst:373 ../../whatsnew/3.5.rst:1848 -msgid "Examples::" -msgstr "Contoh::" - -#: ../../whatsnew/3.5.rst:375 -msgid "" -">>> b'Hello %b!' % b'World'\n" -"b'Hello World!'\n" -"\n" -">>> b'x=%i y=%f' % (1, 2.5)\n" -"b'x=1 y=2.500000'" -msgstr "" - -#: ../../whatsnew/3.5.rst:381 -msgid "" -"Unicode is not allowed for ``%b``, but it is accepted by ``%a`` (equivalent " -"of ``repr(obj).encode('ascii', 'backslashreplace')``)::" -msgstr "" - -#: ../../whatsnew/3.5.rst:384 -msgid "" -">>> b'Hello %b!' % 'World'\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: %b requires bytes, or an object that implements __bytes__, not 'str'\n" -"\n" -">>> b'price: %a' % '10€'\n" -"b\"price: '10\\\\u20ac'\"" -msgstr "" - -#: ../../whatsnew/3.5.rst:392 -msgid "" -"Note that ``%s`` and ``%r`` conversion types, although supported, should " -"only be used in codebases that need compatibility with Python 2." -msgstr "" - -#: ../../whatsnew/3.5.rst:397 -msgid ":pep:`461` -- Adding % formatting to bytes and bytearray" -msgstr "" - -#: ../../whatsnew/3.5.rst:398 -msgid "" -"PEP written by Ethan Furman; implemented by Neil Schemenauer and Ethan " -"Furman." -msgstr "" - -#: ../../whatsnew/3.5.rst:405 -msgid "PEP 484 - Type Hints" -msgstr "" - -#: ../../whatsnew/3.5.rst:407 -msgid "" -"Function annotation syntax has been a Python feature since version 3.0 " -"(:pep:`3107`), however the semantics of annotations has been left undefined." -msgstr "" - -#: ../../whatsnew/3.5.rst:410 -msgid "" -"Experience has shown that the majority of function annotation uses were to " -"provide type hints to function parameters and return values. It became " -"evident that it would be beneficial for Python users, if the standard " -"library included the base definitions and tools for type annotations." -msgstr "" - -#: ../../whatsnew/3.5.rst:415 -msgid "" -":pep:`484` introduces a :term:`provisional module ` to " -"provide these standard definitions and tools, along with some conventions " -"for situations where annotations are not available." -msgstr "" - -#: ../../whatsnew/3.5.rst:419 -msgid "" -"For example, here is a simple function whose argument and return type are " -"declared in the annotations::" -msgstr "" - -#: ../../whatsnew/3.5.rst:422 -msgid "" -"def greeting(name: str) -> str:\n" -" return 'Hello ' + name" -msgstr "" - -#: ../../whatsnew/3.5.rst:425 -msgid "" -"While these annotations are available at runtime through the usual " -":attr:`~object.__annotations__` attribute, *no automatic type checking " -"happens at runtime*. Instead, it is assumed that a separate off-line type " -"checker (e.g. `mypy `_) will be used for on-demand " -"source code analysis." -msgstr "" - -#: ../../whatsnew/3.5.rst:431 -msgid "" -"The type system supports unions, generic types, and a special type named " -":class:`~typing.Any` which is consistent with (i.e. assignable to and from) " -"all types." -msgstr "" - -#: ../../whatsnew/3.5.rst:437 -msgid ":mod:`typing` module documentation" -msgstr "" - -#: ../../whatsnew/3.5.rst:438 -msgid ":pep:`484` -- Type Hints" -msgstr "" - -#: ../../whatsnew/3.5.rst:439 -msgid "" -"PEP written by Guido van Rossum, Jukka Lehtosalo, and Łukasz Langa; " -"implemented by Guido van Rossum." -msgstr "" - -#: ../../whatsnew/3.5.rst:441 -msgid ":pep:`483` -- The Theory of Type Hints" -msgstr "" - -#: ../../whatsnew/3.5.rst:442 -msgid "PEP written by Guido van Rossum" -msgstr "" - -#: ../../whatsnew/3.5.rst:448 -msgid "" -"PEP 471 - os.scandir() function -- a better and faster directory iterator" -msgstr "" - -#: ../../whatsnew/3.5.rst:450 -msgid "" -":pep:`471` adds a new directory iteration function, :func:`os.scandir`, to " -"the standard library. Additionally, :func:`os.walk` is now implemented " -"using ``scandir``, which makes it 3 to 5 times faster on POSIX systems and 7" -" to 20 times faster on Windows systems. This is largely achieved by greatly" -" reducing the number of calls to :func:`os.stat` required to walk a " -"directory tree." -msgstr "" - -#: ../../whatsnew/3.5.rst:457 -msgid "" -"Additionally, ``scandir`` returns an iterator, as opposed to returning a " -"list of file names, which improves memory efficiency when iterating over " -"very large directories." -msgstr "" - -#: ../../whatsnew/3.5.rst:461 -msgid "" -"The following example shows a simple use of :func:`os.scandir` to display " -"all the files (excluding directories) in the given *path* that don't start " -"with ``'.'``. The :meth:`entry.is_file() ` call will " -"generally not make an additional system call::" -msgstr "" - -#: ../../whatsnew/3.5.rst:466 -msgid "" -"for entry in os.scandir(path):\n" -" if not entry.name.startswith('.') and entry.is_file():\n" -" print(entry.name)" -msgstr "" - -#: ../../whatsnew/3.5.rst:472 -msgid "" -":pep:`471` -- os.scandir() function -- a better and faster directory " -"iterator" -msgstr "" - -#: ../../whatsnew/3.5.rst:473 -msgid "" -"PEP written and implemented by Ben Hoyt with the help of Victor Stinner." -msgstr "" - -#: ../../whatsnew/3.5.rst:479 -msgid "PEP 475: Retry system calls failing with EINTR" -msgstr "" - -#: ../../whatsnew/3.5.rst:481 -msgid "" -"An :py:const:`errno.EINTR` error code is returned whenever a system call, " -"that is waiting for I/O, is interrupted by a signal. Previously, Python " -"would raise :exc:`InterruptedError` in such cases. This meant that, when " -"writing a Python application, the developer had two choices:" -msgstr "" - -#: ../../whatsnew/3.5.rst:486 -msgid "Ignore the ``InterruptedError``." -msgstr "" - -#: ../../whatsnew/3.5.rst:487 -msgid "" -"Handle the ``InterruptedError`` and attempt to restart the interrupted " -"system call at every call site." -msgstr "" - -#: ../../whatsnew/3.5.rst:490 -msgid "" -"The first option makes an application fail intermittently. The second option" -" adds a large amount of boilerplate that makes the code nearly unreadable. " -"Compare::" -msgstr "" - -#: ../../whatsnew/3.5.rst:494 -msgid "print(\"Hello World\")" -msgstr "" - -#: ../../whatsnew/3.5.rst:496 -msgid "and::" -msgstr "dan::" - -#: ../../whatsnew/3.5.rst:498 -msgid "" -"while True:\n" -" try:\n" -" print(\"Hello World\")\n" -" break\n" -" except InterruptedError:\n" -" continue" -msgstr "" - -#: ../../whatsnew/3.5.rst:505 -msgid "" -":pep:`475` implements automatic retry of system calls on ``EINTR``. This " -"removes the burden of dealing with ``EINTR`` or :exc:`InterruptedError` in " -"user code in most situations and makes Python programs, including the " -"standard library, more robust. Note that the system call is only retried if" -" the signal handler does not raise an exception." -msgstr "" - -#: ../../whatsnew/3.5.rst:512 -msgid "" -"Below is a list of functions which are now retried when interrupted by a " -"signal:" -msgstr "" - -#: ../../whatsnew/3.5.rst:515 -msgid ":func:`open` and :func:`io.open`;" -msgstr "" - -#: ../../whatsnew/3.5.rst:517 -msgid "functions of the :mod:`faulthandler` module;" -msgstr "" - -#: ../../whatsnew/3.5.rst:519 -msgid "" -":mod:`os` functions: :func:`~os.fchdir`, :func:`~os.fchmod`, " -":func:`~os.fchown`, :func:`~os.fdatasync`, :func:`~os.fstat`, " -":func:`~os.fstatvfs`, :func:`~os.fsync`, :func:`~os.ftruncate`, " -":func:`~os.mkfifo`, :func:`~os.mknod`, :func:`~os.open`, " -":func:`~os.posix_fadvise`, :func:`~os.posix_fallocate`, :func:`~os.pread`, " -":func:`~os.pwrite`, :func:`~os.read`, :func:`~os.readv`, " -":func:`~os.sendfile`, :func:`~os.wait3`, :func:`~os.wait4`, " -":func:`~os.wait`, :func:`~os.waitid`, :func:`~os.waitpid`, " -":func:`~os.write`, :func:`~os.writev`;" -msgstr "" - -#: ../../whatsnew/3.5.rst:529 -msgid "" -"special cases: :func:`os.close` and :func:`os.dup2` now ignore " -":py:const:`~errno.EINTR` errors; the syscall is not retried (see the PEP for" -" the rationale);" -msgstr "" - -#: ../../whatsnew/3.5.rst:533 -msgid "" -":mod:`select` functions: :func:`devpoll.poll() `, " -":func:`epoll.poll() `, :func:`kqueue.control() " -"`, :func:`poll.poll() `, " -":func:`~select.select`;" -msgstr "" - -#: ../../whatsnew/3.5.rst:538 -msgid "" -"methods of the :class:`~socket.socket` class: :meth:`~socket.socket.accept`," -" :meth:`~socket.socket.connect` (except for non-blocking sockets), " -":meth:`~socket.socket.recv`, :meth:`~socket.socket.recvfrom`, " -":meth:`~socket.socket.recvmsg`, :meth:`~socket.socket.send`, " -":meth:`~socket.socket.sendall`, :meth:`~socket.socket.sendmsg`, " -":meth:`~socket.socket.sendto`;" -msgstr "" - -#: ../../whatsnew/3.5.rst:545 -msgid ":func:`signal.sigtimedwait` and :func:`signal.sigwaitinfo`;" -msgstr "" - -#: ../../whatsnew/3.5.rst:547 -msgid ":func:`time.sleep`." -msgstr "" - -#: ../../whatsnew/3.5.rst:551 -msgid ":pep:`475` -- Retry system calls failing with EINTR" -msgstr "" - -#: ../../whatsnew/3.5.rst:552 -msgid "" -"PEP and implementation written by Charles-François Natali and Victor " -"Stinner, with the help of Antoine Pitrou (the French connection)." -msgstr "" - -#: ../../whatsnew/3.5.rst:559 -msgid "PEP 479: Change StopIteration handling inside generators" -msgstr "" - -#: ../../whatsnew/3.5.rst:561 -msgid "" -"The interaction of generators and :exc:`StopIteration` in Python 3.4 and " -"earlier was sometimes surprising, and could conceal obscure bugs. " -"Previously, ``StopIteration`` raised accidentally inside a generator " -"function was interpreted as the end of the iteration by the loop construct " -"driving the generator." -msgstr "" - -#: ../../whatsnew/3.5.rst:567 -msgid "" -":pep:`479` changes the behavior of generators: when a ``StopIteration`` " -"exception is raised inside a generator, it is replaced with a " -":exc:`RuntimeError` before it exits the generator frame. The main goal of " -"this change is to ease debugging in the situation where an unguarded " -":func:`next` call raises ``StopIteration`` and causes the iteration " -"controlled by the generator to terminate silently. This is particularly " -"pernicious in combination with the ``yield from`` construct." -msgstr "" - -#: ../../whatsnew/3.5.rst:575 -msgid "" -"This is a backwards incompatible change, so to enable the new behavior, a " -":term:`__future__` import is necessary::" -msgstr "" - -#: ../../whatsnew/3.5.rst:578 -msgid "" -">>> from __future__ import generator_stop\n" -"\n" -">>> def gen():\n" -"... next(iter([]))\n" -"... yield\n" -"...\n" -">>> next(gen())\n" -"Traceback (most recent call last):\n" -" File \"\", line 2, in gen\n" -"StopIteration\n" -"\n" -"The above exception was the direct cause of the following exception:\n" -"\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"RuntimeError: generator raised StopIteration" -msgstr "" - -#: ../../whatsnew/3.5.rst:595 -msgid "" -"Without a ``__future__`` import, a :exc:`PendingDeprecationWarning` will be " -"raised whenever a :exc:`StopIteration` exception is raised inside a " -"generator." -msgstr "" - -#: ../../whatsnew/3.5.rst:600 -msgid ":pep:`479` -- Change StopIteration handling inside generators" -msgstr "" - -#: ../../whatsnew/3.5.rst:601 -msgid "" -"PEP written by Chris Angelico and Guido van Rossum. Implemented by Chris " -"Angelico, Yury Selivanov and Nick Coghlan." -msgstr "" - -#: ../../whatsnew/3.5.rst:608 -msgid "PEP 485: A function for testing approximate equality" -msgstr "" - -#: ../../whatsnew/3.5.rst:610 -msgid "" -":pep:`485` adds the :func:`math.isclose` and :func:`cmath.isclose` functions" -" which tell whether two values are approximately equal or \"close\" to each " -"other. Whether or not two values are considered close is determined " -"according to given absolute and relative tolerances. Relative tolerance is " -"the maximum allowed difference between ``isclose`` arguments, relative to " -"the larger absolute value::" -msgstr "" - -#: ../../whatsnew/3.5.rst:617 -msgid "" -">>> import math\n" -">>> a = 5.0\n" -">>> b = 4.99998\n" -">>> math.isclose(a, b, rel_tol=1e-5)\n" -"True\n" -">>> math.isclose(a, b, rel_tol=1e-6)\n" -"False" -msgstr "" - -#: ../../whatsnew/3.5.rst:625 -msgid "" -"It is also possible to compare two values using absolute tolerance, which " -"must be a non-negative value::" -msgstr "" - -#: ../../whatsnew/3.5.rst:628 -msgid "" -">>> import math\n" -">>> a = 5.0\n" -">>> b = 4.99998\n" -">>> math.isclose(a, b, abs_tol=0.00003)\n" -"True\n" -">>> math.isclose(a, b, abs_tol=0.00001)\n" -"False" -msgstr "" - -#: ../../whatsnew/3.5.rst:638 -msgid ":pep:`485` -- A function for testing approximate equality" -msgstr "" - -#: ../../whatsnew/3.5.rst:639 -msgid "" -"PEP written by Christopher Barker; implemented by Chris Barker and Tal " -"Einat." -msgstr "" - -#: ../../whatsnew/3.5.rst:646 -msgid "PEP 486: Make the Python Launcher aware of virtual environments" -msgstr "" - -#: ../../whatsnew/3.5.rst:648 -msgid "" -":pep:`486` makes the Windows launcher (see :pep:`397`) aware of an active " -"virtual environment. When the default interpreter would be used and the " -"``VIRTUAL_ENV`` environment variable is set, the interpreter in the virtual " -"environment will be used." -msgstr "" - -#: ../../whatsnew/3.5.rst:655 -msgid ":pep:`486` -- Make the Python Launcher aware of virtual environments" -msgstr "" - -#: ../../whatsnew/3.5.rst:656 -msgid "PEP written and implemented by Paul Moore." -msgstr "" - -#: ../../whatsnew/3.5.rst:662 -msgid "PEP 488: Elimination of PYO files" -msgstr "" - -#: ../../whatsnew/3.5.rst:664 -msgid "" -":pep:`488` does away with the concept of ``.pyo`` files. This means that " -"``.pyc`` files represent both unoptimized and optimized bytecode. To prevent" -" the need to constantly regenerate bytecode files, ``.pyc`` files now have " -"an optional ``opt-`` tag in their name when the bytecode is optimized. This " -"has the side-effect of no more bytecode file name clashes when running under" -" either :option:`-O` or :option:`-OO`. Consequently, bytecode files " -"generated from :option:`-O`, and :option:`-OO` may now exist simultaneously." -" :func:`importlib.util.cache_from_source` has an updated API to help with " -"this change." -msgstr "" - -#: ../../whatsnew/3.5.rst:676 -msgid ":pep:`488` -- Elimination of PYO files" -msgstr "" - -#: ../../whatsnew/3.5.rst:677 -msgid "PEP written and implemented by Brett Cannon." -msgstr "" - -#: ../../whatsnew/3.5.rst:683 -msgid "PEP 489: Multi-phase extension module initialization" -msgstr "" - -#: ../../whatsnew/3.5.rst:685 -msgid "" -":pep:`489` updates extension module initialization to take advantage of the " -"two step module loading mechanism introduced by :pep:`451` in Python 3.4." -msgstr "" - -#: ../../whatsnew/3.5.rst:688 -msgid "" -"This change brings the import semantics of extension modules that opt-in to " -"using the new mechanism much closer to those of Python source and bytecode " -"modules, including the ability to use any valid identifier as a module name," -" rather than being restricted to ASCII." -msgstr "" - -#: ../../whatsnew/3.5.rst:695 -msgid ":pep:`489` -- Multi-phase extension module initialization" -msgstr "" - -#: ../../whatsnew/3.5.rst:696 -msgid "" -"PEP written by Petr Viktorin, Stefan Behnel, and Nick Coghlan; implemented " -"by Petr Viktorin." -msgstr "" - -#: ../../whatsnew/3.5.rst:701 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.5.rst:703 -msgid "Some smaller changes made to the core Python language are:" -msgstr "" - -#: ../../whatsnew/3.5.rst:705 -msgid "" -"Added the ``\"namereplace\"`` error handlers. The ``\"backslashreplace\"`` " -"error handlers now work with decoding and translating. (Contributed by " -"Serhiy Storchaka in :issue:`19676` and :issue:`22286`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:709 -msgid "" -"The :option:`-b` option now affects comparisons of :class:`bytes` with " -":class:`int`. (Contributed by Serhiy Storchaka in :issue:`23681`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:712 -msgid "" -"New Kazakh ``kz1048`` and Tajik ``koi8_t`` :ref:`codecs `. (Contributed by Serhiy Storchaka in :issue:`22682` and " -":issue:`22681`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:715 -msgid "" -"Property docstrings are now writable. This is especially useful for " -":func:`collections.namedtuple` docstrings. (Contributed by Berker Peksag in " -":issue:`24064`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:719 -msgid "" -"Circular imports involving relative imports are now supported. (Contributed " -"by Brett Cannon and Antoine Pitrou in :issue:`17636`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:724 -msgid "New Modules" -msgstr "Modul-Modul Baru" - -#: ../../whatsnew/3.5.rst:727 -msgid "typing" -msgstr "typing" - -#: ../../whatsnew/3.5.rst:729 -msgid "" -"The new :mod:`typing` :term:`provisional ` module provides " -"standard definitions and tools for function type annotations. See :ref:`Type" -" Hints ` for more information." -msgstr "" - -#: ../../whatsnew/3.5.rst:736 -msgid "zipapp" -msgstr "zipapp" - -#: ../../whatsnew/3.5.rst:738 -msgid "" -"The new :mod:`zipapp` module (specified in :pep:`441`) provides an API and " -"command line tool for creating executable Python Zip Applications, which " -"were introduced in Python 2.6 in :issue:`1739468`, but which were not well " -"publicized, either at the time or since." -msgstr "" - -#: ../../whatsnew/3.5.rst:743 -msgid "" -"With the new module, bundling your application is as simple as putting all " -"the files, including a ``__main__.py`` file, into a directory ``myapp`` and " -"running:" -msgstr "" - -#: ../../whatsnew/3.5.rst:747 -msgid "" -"$ python -m zipapp myapp\n" -"$ python myapp.pyz" -msgstr "" - -#: ../../whatsnew/3.5.rst:752 -msgid "" -"The module implementation has been contributed by Paul Moore in " -":issue:`23491`." -msgstr "" - -#: ../../whatsnew/3.5.rst:757 -msgid ":pep:`441` -- Improving Python ZIP Application Support" -msgstr "" - -#: ../../whatsnew/3.5.rst:761 -msgid "Improved Modules" -msgstr "Modul yang Ditingkatkan" - -#: ../../whatsnew/3.5.rst:764 -msgid "argparse" -msgstr "argparse" - -#: ../../whatsnew/3.5.rst:766 -msgid "" -"The :class:`~argparse.ArgumentParser` class now allows disabling " -":ref:`abbreviated usage ` of long options by setting " -":ref:`allow_abbrev` to ``False``. (Contributed by Jonathan Paugh, Steven " -"Bethard, paul j3 and Daniel Eriksson in :issue:`14910`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:773 -msgid "asyncio" -msgstr "asyncio" - -#: ../../whatsnew/3.5.rst:775 -msgid "" -"Since the :mod:`asyncio` module is :term:`provisional `, " -"all changes introduced in Python 3.5 have also been backported to Python " -"3.4.x." -msgstr "" - -#: ../../whatsnew/3.5.rst:778 -msgid "Notable changes in the :mod:`asyncio` module since Python 3.4.0:" -msgstr "" - -#: ../../whatsnew/3.5.rst:780 -msgid "" -"New debugging APIs: :meth:`loop.set_debug() ` and " -":meth:`loop.get_debug() ` methods. (Contributed by " -"Victor Stinner.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:784 -msgid "" -"The proactor event loop now supports SSL. (Contributed by Antoine Pitrou and" -" Victor Stinner in :issue:`22560`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:787 -msgid "" -"A new :meth:`loop.is_closed() ` method to check if " -"the event loop is closed. (Contributed by Victor Stinner in :issue:`21326`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:791 -msgid "" -"A new :meth:`loop.create_task() ` to conveniently " -"create and schedule a new :class:`~asyncio.Task` for a coroutine. The " -"``create_task`` method is also used by all asyncio functions that wrap " -"coroutines into tasks, such as :func:`asyncio.wait`, :func:`asyncio.gather`," -" etc. (Contributed by Victor Stinner.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:798 -msgid "" -"A new :meth:`transport.get_write_buffer_limits() " -"` method to inquire for " -"*high-* and *low-* water limits of the flow control. (Contributed by Victor " -"Stinner.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:803 -msgid "" -"The :func:`~asyncio.async` function is deprecated in favor of " -":func:`~asyncio.ensure_future`. (Contributed by Yury Selivanov.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:807 -msgid "" -"New :meth:`loop.set_task_factory() ` and " -":meth:`loop.get_task_factory() ` methods to " -"customize the task factory that :meth:`loop.create_task() " -"` method uses. (Contributed by Yury Selivanov.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:814 -msgid "" -"New :meth:`Queue.join() ` and :meth:`Queue.task_done() " -"` queue methods. (Contributed by Victor Stinner.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:818 -msgid "" -"The ``JoinableQueue`` class was removed, in favor of the " -":class:`asyncio.Queue` class. (Contributed by Victor Stinner.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:822 -msgid "Updates in 3.5.1:" -msgstr "" - -#: ../../whatsnew/3.5.rst:824 -msgid "" -"The :func:`~asyncio.ensure_future` function and all functions that use it, " -"such as :meth:`loop.run_until_complete() `," -" now accept all kinds of :term:`awaitable objects `. (Contributed" -" by Yury Selivanov.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:829 -msgid "" -"New :func:`~asyncio.run_coroutine_threadsafe` function to submit coroutines " -"to event loops from other threads. (Contributed by Vincent Michel.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:833 -msgid "" -"New :meth:`Transport.is_closing() ` method" -" to check if the transport is closing or closed. (Contributed by Yury " -"Selivanov.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:837 -msgid "" -"The :meth:`loop.create_server() ` method can now" -" accept a list of hosts. (Contributed by Yann Sionneau.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:841 -msgid "Updates in 3.5.2:" -msgstr "" - -#: ../../whatsnew/3.5.rst:843 -msgid "" -"New :meth:`loop.create_future() ` method to " -"create Future objects. This allows alternative event loop implementations, " -"such as `uvloop `_, to provide a " -"faster :class:`asyncio.Future` implementation. (Contributed by Yury " -"Selivanov.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:850 -msgid "" -"New :meth:`loop.get_exception_handler() " -"` method to get the current exception " -"handler. (Contributed by Yury Selivanov.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:854 -msgid "" -"New :meth:`StreamReader.readuntil() ` method" -" to read data from the stream until a separator bytes sequence appears. " -"(Contributed by Mark Korenberg.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:859 -msgid "" -"The :meth:`loop.create_connection() ` and " -":meth:`loop.create_server() ` methods are " -"optimized to avoid calling the system ``getaddrinfo`` function if the " -"address is already resolved. (Contributed by A. Jesse Jiryu Davis.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:865 -msgid "" -"The :meth:`loop.sock_connect(sock, address) ` no " -"longer requires the *address* to be resolved prior to the call. (Contributed" -" by A. Jesse Jiryu Davis.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:871 -msgid "bz2" -msgstr "bz2" - -#: ../../whatsnew/3.5.rst:873 -msgid "" -"The :meth:`BZ2Decompressor.decompress ` " -"method now accepts an optional *max_length* argument to limit the maximum " -"size of decompressed data. (Contributed by Nikolaus Rath in :issue:`15955`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:879 -msgid "cgi" -msgstr "cgi" - -#: ../../whatsnew/3.5.rst:881 -msgid "" -"The :class:`!FieldStorage` class now supports the :term:`context manager` " -"protocol. (Contributed by Berker Peksag in :issue:`20289`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:886 -msgid "cmath" -msgstr "" - -#: ../../whatsnew/3.5.rst:888 -msgid "" -"A new function :func:`~cmath.isclose` provides a way to test for approximate" -" equality. (Contributed by Chris Barker and Tal Einat in :issue:`24270`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:893 -msgid "code" -msgstr "code" - -#: ../../whatsnew/3.5.rst:895 -msgid "" -"The :func:`InteractiveInterpreter.showtraceback() " -"` method now prints the full " -"chained traceback, just like the interactive interpreter. (Contributed by " -"Claudiu Popa in :issue:`17442`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:901 -msgid "collections" -msgstr "collections" - -#: ../../whatsnew/3.5.rst:905 -msgid "" -"The :class:`~collections.OrderedDict` class is now implemented in C, which " -"makes it 4 to 100 times faster. (Contributed by Eric Snow in " -":issue:`16991`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:908 -msgid "" -":meth:`OrderedDict.items() `, " -":meth:`OrderedDict.keys() `, " -":meth:`OrderedDict.values() ` views now " -"support :func:`reversed` iteration. (Contributed by Serhiy Storchaka in " -":issue:`19505`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:914 -msgid "" -"The :class:`~collections.deque` class now defines " -":meth:`~collections.deque.index`, :meth:`~collections.deque.insert`, and " -":meth:`~collections.deque.copy`, and supports the ``+`` and ``*`` operators." -" This allows deques to be recognized as a " -":class:`~collections.abc.MutableSequence` and improves their " -"substitutability for lists. (Contributed by Raymond Hettinger in " -":issue:`23704`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:921 -msgid "" -"Docstrings produced by :func:`~collections.namedtuple` can now be updated::" -msgstr "" - -#: ../../whatsnew/3.5.rst:923 -msgid "" -"Point = namedtuple('Point', ['x', 'y'])\n" -"Point.__doc__ += ': Cartesian coordinate'\n" -"Point.x.__doc__ = 'abscissa'\n" -"Point.y.__doc__ = 'ordinate'" -msgstr "" - -#: ../../whatsnew/3.5.rst:928 -msgid "(Contributed by Berker Peksag in :issue:`24064`.)" -msgstr "(Kontribusi dari Berker Peksag di :issue:`24064`.)" - -#: ../../whatsnew/3.5.rst:930 -msgid "" -"The :class:`~collections.UserString` class now implements the " -":meth:`__getnewargs__`, :meth:`__rmod__`, :meth:`~str.casefold`, " -":meth:`~str.format_map`, :meth:`~str.isprintable`, and " -":meth:`~str.maketrans` methods to match the corresponding methods of " -":class:`str`. (Contributed by Joe Jevnik in :issue:`22189`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:938 -msgid "collections.abc" -msgstr "" - -#: ../../whatsnew/3.5.rst:940 -msgid "" -"The :meth:`Sequence.index() ` method now " -"accepts *start* and *stop* arguments to match the corresponding methods of " -":class:`tuple`, :class:`list`, etc. (Contributed by Devin Jeanpierre in " -":issue:`23086`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:945 -msgid "" -"A new :class:`~collections.abc.Generator` abstract base class. (Contributed " -"by Stefan Behnel in :issue:`24018`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:948 -msgid "" -"New :class:`~collections.abc.Awaitable`, " -":class:`~collections.abc.Coroutine`, " -":class:`~collections.abc.AsyncIterator`, and " -":class:`~collections.abc.AsyncIterable` abstract base classes. (Contributed " -"by Yury Selivanov in :issue:`24184`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:953 -msgid "" -"For earlier Python versions, a backport of the new ABCs is available in an " -"external :pypi:`PyPI package `." -msgstr "" - -#: ../../whatsnew/3.5.rst:958 -msgid "compileall" -msgstr "compileall" - -#: ../../whatsnew/3.5.rst:960 -msgid "" -"A new :mod:`compileall` option, :samp:`-j {N}`, allows running *N* workers " -"simultaneously to perform parallel bytecode compilation. The " -":func:`~compileall.compile_dir` function has a corresponding ``workers`` " -"parameter. (Contributed by Claudiu Popa in :issue:`16104`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:965 -msgid "" -"Another new option, ``-r``, allows controlling the maximum recursion level " -"for subdirectories. (Contributed by Claudiu Popa in :issue:`19628`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:968 -msgid "" -"The ``-q`` command line option can now be specified more than once, in which" -" case all output, including errors, will be suppressed. The corresponding " -"``quiet`` parameter in :func:`~compileall.compile_dir`, " -":func:`~compileall.compile_file`, and :func:`~compileall.compile_path` can " -"now accept an integer value indicating the level of output suppression. " -"(Contributed by Thomas Kluyver in :issue:`21338`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:977 -msgid "concurrent.futures" -msgstr "concurrent.futures" - -#: ../../whatsnew/3.5.rst:979 -msgid "" -"The :meth:`Executor.map() ` method now " -"accepts a *chunksize* argument to allow batching of tasks to improve " -"performance when :meth:`~concurrent.futures.ProcessPoolExecutor` is used. " -"(Contributed by Dan O'Reilly in :issue:`11271`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:984 -msgid "" -"The number of workers in the :class:`~concurrent.futures.ThreadPoolExecutor`" -" constructor is optional now. The default value is 5 times the number of " -"CPUs. (Contributed by Claudiu Popa in :issue:`21527`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:990 -msgid "configparser" -msgstr "" - -#: ../../whatsnew/3.5.rst:992 -msgid "" -":mod:`configparser` now provides a way to customize the conversion of values" -" by specifying a dictionary of converters in the " -":class:`~configparser.ConfigParser` constructor, or by defining them as " -"methods in ``ConfigParser`` subclasses. Converters defined in a parser " -"instance are inherited by its section proxies." -msgstr "" - -#: ../../whatsnew/3.5.rst:998 -msgid "Example::" -msgstr "Contoh::" - -#: ../../whatsnew/3.5.rst:1000 -msgid "" -">>> import configparser\n" -">>> conv = {}\n" -">>> conv['list'] = lambda v: [e.strip() for e in v.split() if e.strip()]\n" -">>> cfg = configparser.ConfigParser(converters=conv)\n" -">>> cfg.read_string(\"\"\"\n" -"... [s]\n" -"... list = a b c d e f g\n" -"... \"\"\")\n" -">>> cfg.get('s', 'list')\n" -"'a b c d e f g'\n" -">>> cfg.getlist('s', 'list')\n" -"['a', 'b', 'c', 'd', 'e', 'f', 'g']\n" -">>> section = cfg['s']\n" -">>> section.getlist('list')\n" -"['a', 'b', 'c', 'd', 'e', 'f', 'g']" -msgstr "" - -#: ../../whatsnew/3.5.rst:1016 -msgid "(Contributed by Łukasz Langa in :issue:`18159`.)" -msgstr "(Kontribusi dari Łukasz Langa di :issue:`18159`.)" - -#: ../../whatsnew/3.5.rst:1020 -msgid "contextlib" -msgstr "contextlib" - -#: ../../whatsnew/3.5.rst:1022 -msgid "" -"The new :func:`~contextlib.redirect_stderr` :term:`context manager` (similar" -" to :func:`~contextlib.redirect_stdout`) makes it easier for utility scripts" -" to handle inflexible APIs that write their output to :data:`sys.stderr` and" -" don't provide any options to redirect it::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1027 -msgid "" -">>> import contextlib, io, logging\n" -">>> f = io.StringIO()\n" -">>> with contextlib.redirect_stderr(f):\n" -"... logging.warning('warning')\n" -"...\n" -">>> f.getvalue()\n" -"'WARNING:root:warning\\n'" -msgstr "" - -#: ../../whatsnew/3.5.rst:1035 -msgid "(Contributed by Berker Peksag in :issue:`22389`.)" -msgstr "(Kontribusi dari Berker Peksag di :issue:`22389`.)" - -#: ../../whatsnew/3.5.rst:1039 -msgid "csv" -msgstr "csv" - -#: ../../whatsnew/3.5.rst:1041 -msgid "" -"The :meth:`~csv.csvwriter.writerow` method now supports arbitrary iterables," -" not just sequences. (Contributed by Serhiy Storchaka in :issue:`23171`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1046 -msgid "curses" -msgstr "" - -#: ../../whatsnew/3.5.rst:1048 -msgid "" -"The new :func:`~curses.update_lines_cols` function updates the :data:`LINES`" -" and :data:`COLS` module variables. This is useful for detecting manual " -"screen resizing. (Contributed by Arnon Yaari in :issue:`4254`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1054 -msgid "dbm" -msgstr "dbm" - -#: ../../whatsnew/3.5.rst:1056 -msgid "" -":func:`dumb.open ` always creates a new database when the " -"flag has the value ``\"n\"``. (Contributed by Claudiu Popa in " -":issue:`18039`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1061 -msgid "difflib" -msgstr "" - -#: ../../whatsnew/3.5.rst:1063 -msgid "" -"The charset of HTML documents generated by :meth:`HtmlDiff.make_file() " -"` can now be customized by using a new *charset*" -" keyword-only argument. The default charset of HTML document changed from " -"``\"ISO-8859-1\"`` to ``\"utf-8\"``. (Contributed by Berker Peksag in " -":issue:`2052`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1070 -msgid "" -"The :func:`~difflib.diff_bytes` function can now compare lists of byte " -"strings. This fixes a regression from Python 2. (Contributed by Terry J. " -"Reedy and Greg Ward in :issue:`17445`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1076 -msgid "distutils" -msgstr "distutils" - -#: ../../whatsnew/3.5.rst:1078 -msgid "" -"Both the ``build`` and ``build_ext`` commands now accept a ``-j`` option to " -"enable parallel building of extension modules. (Contributed by Antoine " -"Pitrou in :issue:`5309`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1082 -msgid "" -"The ``distutils`` module now supports ``xz`` compression, and can be enabled" -" by passing ``xztar`` as an argument to ``bdist --format``. (Contributed by " -"Serhiy Storchaka in :issue:`16314`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1088 -msgid "doctest" -msgstr "" - -#: ../../whatsnew/3.5.rst:1090 -msgid "" -"The :func:`~doctest.DocTestSuite` function returns an empty " -":class:`unittest.TestSuite` if *module* contains no docstrings, instead of " -"raising :exc:`ValueError`. (Contributed by Glenn Jones in :issue:`15916`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1096 -msgid "email" -msgstr "" - -#: ../../whatsnew/3.5.rst:1098 -msgid "" -"A new policy option :attr:`Policy.mangle_from_ " -"` controls whether or not lines that start" -" with ``\"From \"`` in email bodies are prefixed with a ``\">\"`` character " -"by generators. The default is ``True`` for :attr:`~email.policy.compat32` " -"and ``False`` for all other policies. (Contributed by Milan Oberkirch in " -":issue:`20098`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1104 -msgid "" -"A new :meth:`Message.get_content_disposition() " -"` method provides easy access" -" to a canonical value for the :mailheader:`Content-Disposition` header. " -"(Contributed by Abhilash Raj in :issue:`21083`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1110 -msgid "" -"A new policy option :attr:`EmailPolicy.utf8 `" -" can be set to ``True`` to encode email headers using the UTF-8 charset " -"instead of using encoded words. This allows ``Messages`` to be formatted " -"according to :rfc:`6532` and used with an SMTP server that supports the " -":rfc:`6531` ``SMTPUTF8`` extension. (Contributed by R. David Murray in " -":issue:`24211`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1117 -msgid "" -"The :class:`mime.text.MIMEText ` constructor now " -"accepts a :class:`charset.Charset ` instance. " -"(Contributed by Claude Paroz and Berker Peksag in :issue:`16324`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1123 -msgid "enum" -msgstr "enum" - -#: ../../whatsnew/3.5.rst:1125 -msgid "" -"The :class:`~enum.Enum` callable has a new parameter *start* to specify the " -"initial number of enum values if only *names* are provided::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1128 -msgid "" -">>> Animal = enum.Enum('Animal', 'cat dog', start=10)\n" -">>> Animal.cat\n" -"\n" -">>> Animal.dog\n" -"" -msgstr "" - -#: ../../whatsnew/3.5.rst:1134 -msgid "(Contributed by Ethan Furman in :issue:`21706`.)" -msgstr "(Kontribusi dari Ethan Furman di :issue:`21706`.)" - -#: ../../whatsnew/3.5.rst:1138 -msgid "faulthandler" -msgstr "" - -#: ../../whatsnew/3.5.rst:1140 -msgid "" -"The :func:`~faulthandler.enable`, :func:`~faulthandler.register`, " -":func:`~faulthandler.dump_traceback` and " -":func:`~faulthandler.dump_traceback_later` functions now accept file " -"descriptors in addition to file-like objects. (Contributed by Wei Wu in " -":issue:`23566`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1148 -msgid "functools" -msgstr "functools" - -#: ../../whatsnew/3.5.rst:1152 -msgid "" -"Most of the :func:`~functools.lru_cache` machinery is now implemented in C, " -"making it significantly faster. (Contributed by Matt Joiner, Alexey " -"Kachayev, and Serhiy Storchaka in :issue:`14373`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1158 -msgid "glob" -msgstr "glob" - -#: ../../whatsnew/3.5.rst:1160 -msgid "" -"The :func:`~glob.iglob` and :func:`~glob.glob` functions now support " -"recursive search in subdirectories, using the ``\"**\"`` pattern. " -"(Contributed by Serhiy Storchaka in :issue:`13968`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1166 -msgid "gzip" -msgstr "gzip" - -#: ../../whatsnew/3.5.rst:1168 -msgid "" -"The *mode* argument of the :class:`~gzip.GzipFile` constructor now accepts " -"``\"x\"`` to request exclusive creation. (Contributed by Tim Heaney in " -":issue:`19222`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1174 -msgid "heapq" -msgstr "" - -#: ../../whatsnew/3.5.rst:1176 -msgid "" -"Element comparison in :func:`~heapq.merge` can now be customized by passing " -"a :term:`key function` in a new optional *key* keyword argument, and a new " -"optional *reverse* keyword argument can be used to reverse element " -"comparison::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1181 -msgid "" -">>> import heapq\n" -">>> a = ['9', '777', '55555']\n" -">>> b = ['88', '6666']\n" -">>> list(heapq.merge(a, b, key=len))\n" -"['9', '88', '777', '6666', '55555']\n" -">>> list(heapq.merge(reversed(a), reversed(b), key=len, reverse=True))\n" -"['55555', '6666', '777', '88', '9']" -msgstr "" - -#: ../../whatsnew/3.5.rst:1189 -msgid "(Contributed by Raymond Hettinger in :issue:`13742`.)" -msgstr "(Kontribusi dari Raymond Hettinger di :issue:`13742`.)" - -#: ../../whatsnew/3.5.rst:1193 -msgid "http" -msgstr "http" - -#: ../../whatsnew/3.5.rst:1195 -msgid "" -"A new :class:`HTTPStatus ` enum that defines a set of HTTP " -"status codes, reason phrases and long descriptions written in English. " -"(Contributed by Demian Brecht in :issue:`21793`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1201 -msgid "http.client" -msgstr "http.client" - -#: ../../whatsnew/3.5.rst:1203 -msgid "" -":meth:`HTTPConnection.getresponse() " -"` now raises a " -":exc:`~http.client.RemoteDisconnected` exception when a remote server " -"connection is closed unexpectedly. Additionally, if a " -":exc:`ConnectionError` (of which ``RemoteDisconnected`` is a subclass) is " -"raised, the client socket is now closed automatically, and will reconnect on" -" the next request::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1210 -msgid "" -"import http.client\n" -"conn = http.client.HTTPConnection('www.python.org')\n" -"for retries in range(3):\n" -" try:\n" -" conn.request('GET', '/')\n" -" resp = conn.getresponse()\n" -" except http.client.RemoteDisconnected:\n" -" pass" -msgstr "" - -#: ../../whatsnew/3.5.rst:1219 -msgid "(Contributed by Martin Panter in :issue:`3566`.)" -msgstr "(Kontribusi dari Martin Panter di :issue:`3566`.)" - -#: ../../whatsnew/3.5.rst:1223 -msgid "idlelib and IDLE" -msgstr "idlelib and IDLE" - -#: ../../whatsnew/3.5.rst:1225 -msgid "" -"Since idlelib implements the IDLE shell and editor and is not intended for " -"import by other programs, it gets improvements with every release. See " -":file:`Lib/idlelib/NEWS.txt` for a cumulative list of changes since 3.4.0, " -"as well as changes made in future 3.5.x releases. This file is also " -"available from the IDLE :menuselection:`Help --> About IDLE` dialog." -msgstr "" - -#: ../../whatsnew/3.5.rst:1233 -msgid "imaplib" -msgstr "" - -#: ../../whatsnew/3.5.rst:1235 -msgid "" -"The :class:`~imaplib.IMAP4` class now supports the :term:`context manager` " -"protocol. When used in a :keyword:`with` statement, the IMAP4 ``LOGOUT`` " -"command will be called automatically at the end of the block. (Contributed " -"by Tarek Ziadé and Serhiy Storchaka in :issue:`4972`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1240 -msgid "" -"The :mod:`imaplib` module now supports :rfc:`5161` (ENABLE Extension) and " -":rfc:`6855` (UTF-8 Support) via the :meth:`IMAP4.enable() " -"` method. A new :attr:`IMAP4.utf8_enabled " -"` attribute tracks whether or not :rfc:`6855` " -"support is enabled. (Contributed by Milan Oberkirch, R. David Murray, and " -"Maciej Szulik in :issue:`21800`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1247 -msgid "" -"The :mod:`imaplib` module now automatically encodes non-ASCII string " -"usernames and passwords using UTF-8, as recommended by the RFCs. " -"(Contributed by Milan Oberkirch in :issue:`21800`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1253 -msgid "imghdr" -msgstr "" - -#: ../../whatsnew/3.5.rst:1255 -msgid "" -"The :func:`!what` function now recognizes the `OpenEXR " -"`_ format (contributed by Martin Vignali and " -"Claudiu Popa in :issue:`20295`), and the `WebP " -"`_ format (contributed by Fabrice Aneche" -" and Claudiu Popa in :issue:`20197`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1263 -msgid "importlib" -msgstr "importlib" - -#: ../../whatsnew/3.5.rst:1265 -msgid "" -"The :class:`util.LazyLoader ` class allows for " -"lazy loading of modules in applications where startup time is important. " -"(Contributed by Brett Cannon in :issue:`17621`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1269 -msgid "" -"The :func:`abc.InspectLoader.source_to_code() " -"` method is now a static method." -" This makes it easier to initialize a module object with code compiled from" -" a string by running ``exec(code, module.__dict__)``. (Contributed by Brett " -"Cannon in :issue:`21156`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1275 -msgid "" -"The new :func:`util.module_from_spec() ` " -"function is now the preferred way to create a new module. As opposed to " -"creating a :class:`types.ModuleType` instance directly, this new function " -"will set the various import-controlled attributes based on the passed-in " -"spec object. (Contributed by Brett Cannon in :issue:`20383`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1283 -msgid "inspect" -msgstr "inspect" - -#: ../../whatsnew/3.5.rst:1285 -msgid "" -"Both the :class:`~inspect.Signature` and :class:`~inspect.Parameter` classes" -" are now picklable and hashable. (Contributed by Yury Selivanov in " -":issue:`20726` and :issue:`20334`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1289 -msgid "" -"A new :meth:`BoundArguments.apply_defaults() " -"` method provides a way to set " -"default values for missing arguments::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1293 -msgid "" -">>> def foo(a, b='ham', *args): pass\n" -">>> ba = inspect.signature(foo).bind('spam')\n" -">>> ba.apply_defaults()\n" -">>> ba.arguments\n" -"OrderedDict([('a', 'spam'), ('b', 'ham'), ('args', ())])" -msgstr "" - -#: ../../whatsnew/3.5.rst:1299 -msgid "(Contributed by Yury Selivanov in :issue:`24190`.)" -msgstr "(Kontribusi dari Yury Selivanov di :issue:`24190`.)" - -#: ../../whatsnew/3.5.rst:1301 -msgid "" -"A new class method :meth:`Signature.from_callable() " -"` makes subclassing of " -":class:`~inspect.Signature` easier. (Contributed by Yury Selivanov and Eric" -" Snow in :issue:`17373`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1306 -msgid "" -"The :func:`~inspect.signature` function now accepts a *follow_wrapped* " -"optional keyword argument, which, when set to ``False``, disables automatic " -"following of ``__wrapped__`` links. (Contributed by Yury Selivanov in " -":issue:`20691`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1311 -msgid "" -"A set of new functions to inspect :term:`coroutine functions ` and :term:`coroutine objects ` has been added: " -":func:`~inspect.iscoroutine`, :func:`~inspect.iscoroutinefunction`, " -":func:`~inspect.isawaitable`, :func:`~inspect.getcoroutinelocals`, and " -":func:`~inspect.getcoroutinestate`. (Contributed by Yury Selivanov in " -":issue:`24017` and :issue:`24400`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1319 -msgid "" -"The :func:`~inspect.stack`, :func:`~inspect.trace`, " -":func:`~inspect.getouterframes`, and :func:`~inspect.getinnerframes` " -"functions now return a list of named tuples. (Contributed by Daniel Shahaf " -"in :issue:`16808`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1326 -msgid "io" -msgstr "io" - -#: ../../whatsnew/3.5.rst:1328 -msgid "" -"A new :meth:`BufferedIOBase.readinto1() ` " -"method, that uses at most one call to the underlying raw stream's " -":meth:`RawIOBase.read() ` or :meth:`RawIOBase.readinto() " -"` methods. (Contributed by Nikolaus Rath in " -":issue:`20578`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1336 -msgid "ipaddress" -msgstr "ipaddress" - -#: ../../whatsnew/3.5.rst:1338 -msgid "" -"Both the :class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network`" -" classes now accept an ``(address, netmask)`` tuple argument, so as to " -"easily construct network objects from existing addresses::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1342 -msgid "" -">>> import ipaddress\n" -">>> ipaddress.IPv4Network(('127.0.0.0', 8))\n" -"IPv4Network('127.0.0.0/8')\n" -">>> ipaddress.IPv4Network(('127.0.0.0', '255.0.0.0'))\n" -"IPv4Network('127.0.0.0/8')" -msgstr "" - -#: ../../whatsnew/3.5.rst:1348 -msgid "(Contributed by Peter Moody and Antoine Pitrou in :issue:`16531`.)" -msgstr "(Kontribusi dari Peter Moody dan Antoine Pitrou di :issue:`16531`.)" - -#: ../../whatsnew/3.5.rst:1350 -msgid "" -"A new :attr:`~ipaddress.IPv4Network.reverse_pointer` attribute for the " -":class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` classes " -"returns the name of the reverse DNS PTR record::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1354 -msgid "" -">>> import ipaddress\n" -">>> addr = ipaddress.IPv4Address('127.0.0.1')\n" -">>> addr.reverse_pointer\n" -"'1.0.0.127.in-addr.arpa'\n" -">>> addr6 = ipaddress.IPv6Address('::1')\n" -">>> addr6.reverse_pointer\n" -"'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa'" -msgstr "" - -#: ../../whatsnew/3.5.rst:1362 -msgid "(Contributed by Leon Weber in :issue:`20480`.)" -msgstr "(Kontribusi dari Leon Weber di :issue:`20480`.)" - -#: ../../whatsnew/3.5.rst:1366 -msgid "json" -msgstr "json" - -#: ../../whatsnew/3.5.rst:1368 -msgid "" -"The :mod:`json.tool` command line interface now preserves the order of keys " -"in JSON objects passed in input. The new ``--sort-keys`` option can be used" -" to sort the keys alphabetically. (Contributed by Berker Peksag in " -":issue:`21650`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1373 -msgid "" -"JSON decoder now raises :exc:`~json.JSONDecodeError` instead of " -":exc:`ValueError` to provide better context information about the error. " -"(Contributed by Serhiy Storchaka in :issue:`19361`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1379 -msgid "linecache" -msgstr "" - -#: ../../whatsnew/3.5.rst:1381 -msgid "" -"A new :func:`~linecache.lazycache` function can be used to capture " -"information about a non-file-based module to permit getting its lines later " -"via :func:`~linecache.getline`. This avoids doing I/O until a line is " -"actually needed, without having to carry the module globals around " -"indefinitely. (Contributed by Robert Collins in :issue:`17911`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1389 -msgid "locale" -msgstr "locale" - -#: ../../whatsnew/3.5.rst:1391 -msgid "" -"A new :func:`~locale.delocalize` function can be used to convert a string " -"into a normalized number string, taking the ``LC_NUMERIC`` settings into " -"account::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1394 -msgid "" -">>> import locale\n" -">>> locale.setlocale(locale.LC_NUMERIC, 'de_DE.UTF-8')\n" -"'de_DE.UTF-8'\n" -">>> locale.delocalize('1.234,56')\n" -"'1234.56'\n" -">>> locale.setlocale(locale.LC_NUMERIC, 'en_US.UTF-8')\n" -"'en_US.UTF-8'\n" -">>> locale.delocalize('1,234.56')\n" -"'1234.56'" -msgstr "" - -#: ../../whatsnew/3.5.rst:1404 -msgid "(Contributed by Cédric Krier in :issue:`13918`.)" -msgstr "(Kontribusi dari Cédric Krier di :issue:`13918`.)" - -#: ../../whatsnew/3.5.rst:1408 -msgid "logging" -msgstr "logging" - -#: ../../whatsnew/3.5.rst:1410 -msgid "" -"All logging methods (:class:`~logging.Logger` :meth:`~logging.Logger.log`, " -":meth:`~logging.Logger.exception`, :meth:`~logging.Logger.critical`, " -":meth:`~logging.Logger.debug`, etc.), now accept exception instances as an " -"*exc_info* argument, in addition to boolean values and exception tuples::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1416 -msgid "" -">>> import logging\n" -">>> try:\n" -"... 1/0\n" -"... except ZeroDivisionError as ex:\n" -"... logging.error('exception', exc_info=ex)\n" -"ERROR:root:exception" -msgstr "" - -#: ../../whatsnew/3.5.rst:1423 -msgid "(Contributed by Yury Selivanov in :issue:`20537`.)" -msgstr "(Kontribusi dari Yury Selivanov di :issue:`20537`.)" - -#: ../../whatsnew/3.5.rst:1425 -msgid "" -"The :class:`handlers.HTTPHandler ` class now " -"accepts an optional :class:`ssl.SSLContext` instance to configure SSL " -"settings used in an HTTP connection. (Contributed by Alex Gaynor in " -":issue:`22788`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1430 -msgid "" -"The :class:`handlers.QueueListener ` class " -"now takes a *respect_handler_level* keyword argument which, if set to " -"``True``, will pass messages to handlers taking handler levels into account." -" (Contributed by Vinay Sajip.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1437 -msgid "lzma" -msgstr "lzma" - -#: ../../whatsnew/3.5.rst:1439 -msgid "" -"The :meth:`LZMADecompressor.decompress() `" -" method now accepts an optional *max_length* argument to limit the maximum " -"size of decompressed data. (Contributed by Martin Panter in :issue:`15955`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1446 -msgid "math" -msgstr "math" - -#: ../../whatsnew/3.5.rst:1448 -msgid "" -"Two new constants have been added to the :mod:`math` module: " -":data:`~math.inf` and :data:`~math.nan`. (Contributed by Mark Dickinson in " -":issue:`23185`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1451 -msgid "" -"A new function :func:`~math.isclose` provides a way to test for approximate " -"equality. (Contributed by Chris Barker and Tal Einat in :issue:`24270`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1454 -msgid "" -"A new :func:`~math.gcd` function has been added. The :func:`fractions.gcd` " -"function is now deprecated. (Contributed by Mark Dickinson and Serhiy " -"Storchaka in :issue:`22486`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1460 -msgid "multiprocessing" -msgstr "multiprocessing" - -#: ../../whatsnew/3.5.rst:1462 -msgid "" -":func:`sharedctypes.synchronized() " -"` objects now support the " -":term:`context manager` protocol. (Contributed by Charles-François Natali in" -" :issue:`21565`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1468 -msgid "operator" -msgstr "" - -#: ../../whatsnew/3.5.rst:1470 -msgid "" -":func:`~operator.attrgetter`, :func:`~operator.itemgetter`, and " -":func:`~operator.methodcaller` objects now support pickling. (Contributed by" -" Josh Rosenberg and Serhiy Storchaka in :issue:`22955`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1474 -msgid "" -"New :func:`~operator.matmul` and :func:`~operator.imatmul` functions to " -"perform matrix multiplication. (Contributed by Benjamin Peterson in " -":issue:`21176`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1480 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.5.rst:1482 -msgid "" -"The new :func:`~os.scandir` function returning an iterator of " -":class:`~os.DirEntry` objects has been added. If possible, " -":func:`~os.scandir` extracts file attributes while scanning a directory, " -"removing the need to perform subsequent system calls to determine file type " -"or attributes, which may significantly improve performance. (Contributed by" -" Ben Hoyt with the help of Victor Stinner in :issue:`22524`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1489 -msgid "" -"On Windows, a new :attr:`stat_result.st_file_attributes " -"` attribute is now available. It " -"corresponds to the ``dwFileAttributes`` member of the " -"``BY_HANDLE_FILE_INFORMATION`` structure returned by " -"``GetFileInformationByHandle()``. (Contributed by Ben Hoyt in " -":issue:`21719`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1495 -msgid "" -"The :func:`~os.urandom` function now uses the ``getrandom()`` syscall on " -"Linux 3.17 or newer, and ``getentropy()`` on OpenBSD 5.6 and newer, removing" -" the need to use ``/dev/urandom`` and avoiding failures due to potential " -"file descriptor exhaustion. (Contributed by Victor Stinner in " -":issue:`22181`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1500 -msgid "" -"New :func:`~os.get_blocking` and :func:`~os.set_blocking` functions allow " -"getting and setting a file descriptor's blocking mode " -"(:const:`~os.O_NONBLOCK`.) (Contributed by Victor Stinner in " -":issue:`22054`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1504 -msgid "" -"The :func:`~os.truncate` and :func:`~os.ftruncate` functions are now " -"supported on Windows. (Contributed by Steve Dower in :issue:`23668`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1507 -msgid "" -"There is a new :func:`os.path.commonpath` function returning the longest " -"common sub-path of each passed pathname. Unlike the " -":func:`os.path.commonprefix` function, it always returns a valid path::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1512 -msgid "" -">>> os.path.commonprefix(['/usr/lib', '/usr/local/lib'])\n" -"'/usr/l'\n" -"\n" -">>> os.path.commonpath(['/usr/lib', '/usr/local/lib'])\n" -"'/usr'" -msgstr "" - -#: ../../whatsnew/3.5.rst:1518 -msgid "(Contributed by Rafik Draoui and Serhiy Storchaka in :issue:`10395`.)" -msgstr "(Kontribusi dariRafik Draoui dan Serhiy Storchaka di :issue:`10395`.)" - -#: ../../whatsnew/3.5.rst:1522 -msgid "pathlib" -msgstr "pathlib" - -#: ../../whatsnew/3.5.rst:1524 -msgid "" -"The new :meth:`Path.samefile() ` method can be used " -"to check whether the path points to the same file as another path, which can" -" be either another :class:`~pathlib.Path` object, or a string::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1528 -msgid "" -">>> import pathlib\n" -">>> p1 = pathlib.Path('/etc/hosts')\n" -">>> p2 = pathlib.Path('/etc/../etc/hosts')\n" -">>> p1.samefile(p2)\n" -"True" -msgstr "" - -#: ../../whatsnew/3.5.rst:1534 -msgid "(Contributed by Vajrasky Kok and Antoine Pitrou in :issue:`19775`.)" -msgstr "(Kontribusi dari Vajrasky Kok dan Antoine Pitrou di :issue:`19775`.)" - -#: ../../whatsnew/3.5.rst:1536 -msgid "" -"The :meth:`Path.mkdir() ` method now accepts a new " -"optional *exist_ok* argument to match ``mkdir -p`` and :func:`os.makedirs` " -"functionality. (Contributed by Berker Peksag in :issue:`21539`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1540 -msgid "" -"There is a new :meth:`Path.expanduser() ` method to" -" expand ``~`` and ``~user`` prefixes. (Contributed by Serhiy Storchaka and " -"Claudiu Popa in :issue:`19776`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1544 -msgid "" -"A new :meth:`Path.home() ` class method can be used to " -"get a :class:`~pathlib.Path` instance representing the user’s home " -"directory. (Contributed by Victor Salgado and Mayank Tripathi in " -":issue:`19777`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1549 -msgid "" -"New :meth:`Path.write_text() `, " -":meth:`Path.read_text() `, :meth:`Path.write_bytes()" -" `, :meth:`Path.read_bytes() " -"` methods to simplify read/write operations on " -"files." -msgstr "" - -#: ../../whatsnew/3.5.rst:1555 -msgid "" -"The following code snippet will create or rewrite existing file " -"``~/spam42``::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1558 -msgid "" -">>> import pathlib\n" -">>> p = pathlib.Path('~/spam42')\n" -">>> p.expanduser().write_text('ham')\n" -"3" -msgstr "" - -#: ../../whatsnew/3.5.rst:1563 -msgid "(Contributed by Christopher Welborn in :issue:`20218`.)" -msgstr "(Kontribusi dari Christopher Welborn di :issue:`20218`.)" - -#: ../../whatsnew/3.5.rst:1567 -msgid "pickle" -msgstr "pickle" - -#: ../../whatsnew/3.5.rst:1569 -msgid "" -"Nested objects, such as unbound methods or nested classes, can now be " -"pickled using :ref:`pickle protocols ` older than protocol" -" version 4. Protocol version 4 already supports these cases. (Contributed " -"by Serhiy Storchaka in :issue:`23611`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1576 -msgid "poplib" -msgstr "" - -#: ../../whatsnew/3.5.rst:1578 -msgid "" -"A new :meth:`POP3.utf8() ` command enables :rfc:`6856` " -"(Internationalized Email) support, if a POP server supports it. (Contributed" -" by Milan OberKirch in :issue:`21804`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1584 -msgid "re" -msgstr "re" - -#: ../../whatsnew/3.5.rst:1586 -msgid "" -"References and conditional references to groups with fixed length are now " -"allowed in lookbehind assertions::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1589 -msgid "" -">>> import re\n" -">>> pat = re.compile(r'(a|b).(?<=\\1)c')\n" -">>> pat.match('aac')\n" -"<_sre.SRE_Match object; span=(0, 3), match='aac'>\n" -">>> pat.match('bbc')\n" -"<_sre.SRE_Match object; span=(0, 3), match='bbc'>" -msgstr "" - -#: ../../whatsnew/3.5.rst:1596 -msgid "(Contributed by Serhiy Storchaka in :issue:`9179`.)" -msgstr "(Kontribusi dari Serhiy Storchaka di :issue:`9179`.)" - -#: ../../whatsnew/3.5.rst:1598 -msgid "" -"The number of capturing groups in regular expressions is no longer limited " -"to 100. (Contributed by Serhiy Storchaka in :issue:`22437`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1601 -msgid "" -"The :func:`~re.sub` and :func:`~re.subn` functions now replace unmatched " -"groups with empty strings instead of raising an exception. (Contributed by " -"Serhiy Storchaka in :issue:`1519638`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1605 -msgid "" -"The :class:`re.error` exceptions have new attributes, :attr:`~re.error.msg`," -" :attr:`~re.error.pattern`, :attr:`~re.error.pos`, :attr:`~re.error.lineno`," -" and :attr:`~re.error.colno`, that provide better context information about " -"the error::" -msgstr "" - -#: ../../whatsnew/3.5.rst:1611 -msgid "" -">>> re.compile(\"\"\"\n" -"... (?x)\n" -"... .++\n" -"... \"\"\")\n" -"Traceback (most recent call last):\n" -" ...\n" -"sre_constants.error: multiple repeat at position 16 (line 3, column 7)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1619 -msgid "(Contributed by Serhiy Storchaka in :issue:`22578`.)" -msgstr "(Kontribusi dari Serhiy Storchaka di :issue:`22578`.)" - -#: ../../whatsnew/3.5.rst:1623 -msgid "readline" -msgstr "" - -#: ../../whatsnew/3.5.rst:1625 -msgid "" -"A new :func:`~readline.append_history_file` function can be used to append " -"the specified number of trailing elements in history to the given file. " -"(Contributed by Bruno Cauet in :issue:`22940`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1631 -msgid "selectors" -msgstr "" - -#: ../../whatsnew/3.5.rst:1633 -msgid "" -"The new :class:`~selectors.DevpollSelector` supports efficient ``/dev/poll``" -" polling on Solaris. (Contributed by Giampaolo Rodola' in :issue:`18931`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1639 -msgid "shutil" -msgstr "shutil" - -#: ../../whatsnew/3.5.rst:1641 -msgid "" -"The :func:`~shutil.move` function now accepts a *copy_function* argument, " -"allowing, for example, the :func:`~shutil.copy` function to be used instead " -"of the default :func:`~shutil.copy2` if there is a need to ignore file " -"metadata when moving. (Contributed by Claudiu Popa in :issue:`19840`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1647 -msgid "" -"The :func:`~shutil.make_archive` function now supports the *xztar* format. " -"(Contributed by Serhiy Storchaka in :issue:`5411`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1652 -msgid "signal" -msgstr "signal" - -#: ../../whatsnew/3.5.rst:1654 -msgid "" -"On Windows, the :func:`~signal.set_wakeup_fd` function now also supports " -"socket handles. (Contributed by Victor Stinner in :issue:`22018`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1657 -msgid "" -"Various ``SIG*`` constants in the :mod:`signal` module have been converted " -"into :mod:`Enums `. This allows meaningful names to be printed during" -" debugging, instead of integer \"magic numbers\". (Contributed by Giampaolo " -"Rodola' in :issue:`21076`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1664 -msgid "smtpd" -msgstr "" - -#: ../../whatsnew/3.5.rst:1666 -msgid "" -"Both the :class:`!SMTPServer` and :class:`!SMTPChannel` classes now accept a" -" *decode_data* keyword argument to determine if the ``DATA`` portion of the " -"SMTP transaction is decoded using the ``\"utf-8\"`` codec or is instead " -"provided to the :meth:`!SMTPServer.process_message` method as a byte string." -" The default is ``True`` for backward compatibility reasons, but will " -"change to ``False`` in Python 3.6. If *decode_data* is set to ``False``, " -"the ``process_message`` method must be prepared to accept keyword arguments." -" (Contributed by Maciej Szulik in :issue:`19662`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1677 -msgid "" -"The :class:`!SMTPServer` class now advertises the ``8BITMIME`` extension " -"(:rfc:`6152`) if *decode_data* has been set ``True``. If the client " -"specifies ``BODY=8BITMIME`` on the ``MAIL`` command, it is passed to " -":meth:`!SMTPServer.process_message` via the *mail_options* keyword. " -"(Contributed by Milan Oberkirch and R. David Murray in :issue:`21795`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1684 -msgid "" -"The :class:`!SMTPServer` class now also supports the ``SMTPUTF8`` extension " -"(:rfc:`6531`: Internationalized Email). If the client specified ``SMTPUTF8 " -"BODY=8BITMIME`` on the ``MAIL`` command, they are passed to " -":meth:`!SMTPServer.process_message` via the *mail_options* keyword. It is " -"the responsibility of the ``process_message`` method to correctly handle the" -" ``SMTPUTF8`` data. (Contributed by Milan Oberkirch in :issue:`21725`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1692 -msgid "" -"It is now possible to provide, directly or via name resolution, IPv6 " -"addresses in the :class:`!SMTPServer` constructor, and have it successfully " -"connect. (Contributed by Milan Oberkirch in :issue:`14758`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1698 -msgid "smtplib" -msgstr "" - -#: ../../whatsnew/3.5.rst:1700 -msgid "" -"A new :meth:`SMTP.auth() ` method provides a convenient " -"way to implement custom authentication mechanisms. (Contributed by Milan " -"Oberkirch in :issue:`15014`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1704 -msgid "" -"The :meth:`SMTP.set_debuglevel() ` method now " -"accepts an additional debuglevel (2), which enables timestamps in debug " -"messages. (Contributed by Gavin Chappell and Maciej Szulik in " -":issue:`16914`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1708 -msgid "" -"Both the :meth:`SMTP.sendmail() ` and " -":meth:`SMTP.send_message() ` methods now support " -":rfc:`6531` (SMTPUTF8). (Contributed by Milan Oberkirch and R. David Murray " -"in :issue:`22027`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1715 -msgid "sndhdr" -msgstr "" - -#: ../../whatsnew/3.5.rst:1717 -msgid "" -"The :func:`!what` and :func:`!whathdr` functions now return a " -":func:`~collections.namedtuple`. (Contributed by Claudiu Popa in " -":issue:`18615`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1723 -msgid "socket" -msgstr "socket" - -#: ../../whatsnew/3.5.rst:1725 -msgid "" -"Functions with timeouts now use a monotonic clock, instead of a system " -"clock. (Contributed by Victor Stinner in :issue:`22043`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1728 -msgid "" -"A new :meth:`socket.sendfile() ` method allows " -"sending a file over a socket by using the high-performance " -":func:`os.sendfile` function on UNIX, resulting in uploads being from 2 to 3" -" times faster than when using plain :meth:`socket.send() " -"`. (Contributed by Giampaolo Rodola' in :issue:`17552`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1734 -msgid "" -"The :meth:`socket.sendall() ` method no longer resets" -" the socket timeout every time bytes are received or sent. The socket " -"timeout is now the maximum total duration to send all data. (Contributed by " -"Victor Stinner in :issue:`23853`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1739 -msgid "" -"The *backlog* argument of the :meth:`socket.listen() `" -" method is now optional. By default it is set to :data:`SOMAXCONN " -"` or to ``128``, whichever is less. (Contributed by " -"Charles-François Natali in :issue:`21455`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1746 -msgid "ssl" -msgstr "ssl" - -#: ../../whatsnew/3.5.rst:1751 -msgid "Memory BIO Support" -msgstr "" - -#: ../../whatsnew/3.5.rst:1753 -msgid "(Contributed by Geert Jansen in :issue:`21965`.)" -msgstr "(Kontribusi dari Geert Jansen di :issue:`21965`.)" - -#: ../../whatsnew/3.5.rst:1755 -msgid "" -"The new :class:`~ssl.SSLObject` class has been added to provide SSL protocol" -" support for cases when the network I/O capabilities of " -":class:`~ssl.SSLSocket` are not necessary or are suboptimal. ``SSLObject`` " -"represents an SSL protocol instance, but does not implement any network I/O " -"methods, and instead provides a memory buffer interface. The new " -":class:`~ssl.MemoryBIO` class can be used to pass data between Python and an" -" SSL protocol instance." -msgstr "" - -#: ../../whatsnew/3.5.rst:1762 -msgid "" -"The memory BIO SSL support is primarily intended to be used in frameworks " -"implementing asynchronous I/O for which :class:`~ssl.SSLSocket`'s readiness " -"model (\"select/poll\") is inefficient." -msgstr "" - -#: ../../whatsnew/3.5.rst:1766 -msgid "" -"A new :meth:`SSLContext.wrap_bio() ` method can be " -"used to create a new ``SSLObject`` instance." -msgstr "" - -#: ../../whatsnew/3.5.rst:1771 -msgid "Application-Layer Protocol Negotiation Support" -msgstr "" - -#: ../../whatsnew/3.5.rst:1773 -msgid "(Contributed by Benjamin Peterson in :issue:`20188`.)" -msgstr "(Kontribusi dari Benjamin Peterson di :issue:`20188`.)" - -#: ../../whatsnew/3.5.rst:1775 -msgid "" -"Where OpenSSL support is present, the :mod:`ssl` module now implements the " -"*Application-Layer Protocol Negotiation* TLS extension as described in " -":rfc:`7301`." -msgstr "" - -#: ../../whatsnew/3.5.rst:1779 -msgid "" -"The new :meth:`SSLContext.set_alpn_protocols() " -"` can be used to specify which protocols " -"a socket should advertise during the TLS handshake." -msgstr "" - -#: ../../whatsnew/3.5.rst:1783 -msgid "" -"The new :meth:`SSLSocket.selected_alpn_protocol() " -"` returns the protocol that was " -"selected during the TLS handshake. The :const:`~ssl.HAS_ALPN` flag indicates" -" whether ALPN support is present." -msgstr "" - -#: ../../whatsnew/3.5.rst:1790 -msgid "Other Changes" -msgstr "" - -#: ../../whatsnew/3.5.rst:1792 -msgid "" -"There is a new :meth:`SSLSocket.version() ` method to" -" query the actual protocol version in use. (Contributed by Antoine Pitrou in" -" :issue:`20421`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1796 -msgid "" -"The :class:`~ssl.SSLSocket` class now implements a " -":meth:`SSLSocket.sendfile() ` method. (Contributed " -"by Giampaolo Rodola' in :issue:`17552`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1800 -msgid "" -"The :meth:`SSLSocket.send() ` method now raises either " -"the :exc:`ssl.SSLWantReadError` or :exc:`ssl.SSLWantWriteError` exception on" -" a non-blocking socket if the operation would block. Previously, it would " -"return ``0``. (Contributed by Nikolaus Rath in :issue:`20951`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1805 -msgid "" -"The :func:`~ssl.cert_time_to_seconds` function now interprets the input time" -" as UTC and not as local time, per :rfc:`5280`. Additionally, the return " -"value is always an :class:`int`. (Contributed by Akira Li in " -":issue:`19940`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1809 -msgid "" -"New :meth:`SSLObject.shared_ciphers() ` and " -":meth:`SSLSocket.shared_ciphers() ` methods " -"return the list of ciphers sent by the client during the handshake. " -"(Contributed by Benjamin Peterson in :issue:`23186`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1814 -msgid "" -"The :meth:`SSLSocket.do_handshake() `, " -":meth:`SSLSocket.read() `, :meth:`SSLSocket.shutdown() " -"`, and :meth:`SSLSocket.write() " -"` methods of the :class:`~ssl.SSLSocket` class no " -"longer reset the socket timeout every time bytes are received or sent. The " -"socket timeout is now the maximum total duration of the method. (Contributed" -" by Victor Stinner in :issue:`23853`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1822 -msgid "" -"The :func:`~ssl.match_hostname` function now supports matching of IP " -"addresses. (Contributed by Antoine Pitrou in :issue:`23239`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1827 -msgid "sqlite3" -msgstr "sqlite3" - -#: ../../whatsnew/3.5.rst:1829 -msgid "" -"The :class:`~sqlite3.Row` class now fully supports the sequence protocol, in" -" particular :func:`reversed` iteration and slice indexing. (Contributed by " -"Claudiu Popa in :issue:`10203`; by Lucas Sinclair, Jessica McKellar, and " -"Serhiy Storchaka in :issue:`13583`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1838 -msgid "subprocess" -msgstr "subprocess" - -#: ../../whatsnew/3.5.rst:1840 -msgid "" -"The new :func:`~subprocess.run` function has been added. It runs the " -"specified command and returns a :class:`~subprocess.CompletedProcess` " -"object, which describes a finished process. The new API is more consistent " -"and is the recommended approach to invoking subprocesses in Python code that" -" does not need to maintain compatibility with earlier Python versions. " -"(Contributed by Thomas Kluyver in :issue:`23342`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1850 -msgid "" -">>> subprocess.run([\"ls\", \"-l\"]) # doesn't capture output\n" -"CompletedProcess(args=['ls', '-l'], returncode=0)\n" -"\n" -">>> subprocess.run(\"exit 1\", shell=True, check=True)\n" -"Traceback (most recent call last):\n" -" ...\n" -"subprocess.CalledProcessError: Command 'exit 1' returned non-zero exit status 1\n" -"\n" -">>> subprocess.run([\"ls\", \"-l\", \"/dev/null\"], stdout=subprocess.PIPE)\n" -"CompletedProcess(args=['ls', '-l', '/dev/null'], returncode=0,\n" -"stdout=b'crw-rw-rw- 1 root root 1, 3 Jan 23 16:23 /dev/null\\n')" -msgstr "" - -#: ../../whatsnew/3.5.rst:1864 -msgid "sys" -msgstr "sys" - -#: ../../whatsnew/3.5.rst:1866 -msgid "" -"A new :func:`~sys.set_coroutine_wrapper` function allows setting a global " -"hook that will be called whenever a :term:`coroutine object ` is " -"created by an :keyword:`async def` function. A corresponding " -":func:`~sys.get_coroutine_wrapper` can be used to obtain a currently set " -"wrapper. Both functions are :term:`provisional `, and are " -"intended for debugging purposes only. (Contributed by Yury Selivanov in " -":issue:`24017`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1874 -msgid "" -"A new :func:`~sys.is_finalizing` function can be used to check if the Python" -" interpreter is :term:`shutting down `. (Contributed " -"by Antoine Pitrou in :issue:`22696`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1880 -msgid "sysconfig" -msgstr "" - -#: ../../whatsnew/3.5.rst:1882 -msgid "" -"The name of the user scripts directory on Windows now includes the first two" -" components of the Python version. (Contributed by Paul Moore in " -":issue:`23437`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1888 -msgid "tarfile" -msgstr "tarfile" - -#: ../../whatsnew/3.5.rst:1890 -msgid "" -"The *mode* argument of the :func:`~tarfile.open` function now accepts " -"``\"x\"`` to request exclusive creation. (Contributed by Berker Peksag in " -":issue:`21717`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1893 -msgid "" -"The :meth:`TarFile.extractall() ` and " -":meth:`TarFile.extract() ` methods now take a " -"keyword argument *numeric_owner*. If set to ``True``, the extracted files " -"and directories will be owned by the numeric ``uid`` and ``gid`` from the " -"tarfile. If set to ``False`` (the default, and the behavior in versions " -"prior to 3.5), they will be owned by the named user and group in the " -"tarfile. (Contributed by Michael Vogt and Eric Smith in :issue:`23193`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1901 -msgid "" -"The :meth:`TarFile.list() ` now accepts an optional " -"*members* keyword argument that can be set to a subset of the list returned " -"by :meth:`TarFile.getmembers() `. (Contributed " -"by Serhiy Storchaka in :issue:`21549`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1908 -msgid "threading" -msgstr "threading" - -#: ../../whatsnew/3.5.rst:1910 -msgid "" -"Both the :meth:`Lock.acquire() ` and " -":meth:`RLock.acquire() ` methods now use a " -"monotonic clock for timeout management. (Contributed by Victor Stinner in " -":issue:`22043`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1917 -msgid "time" -msgstr "time" - -#: ../../whatsnew/3.5.rst:1919 -msgid "" -"The :func:`~time.monotonic` function is now always available. (Contributed " -"by Victor Stinner in :issue:`22043`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1924 -msgid "timeit" -msgstr "" - -#: ../../whatsnew/3.5.rst:1926 -msgid "" -"A new command line option ``-u`` or :samp:`--unit={U}` can be used to " -"specify the time unit for the timer output. Supported options are ``usec``," -" ``msec``, or ``sec``. (Contributed by Julian Gindi in :issue:`18983`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1930 -msgid "" -"The :func:`~timeit.timeit` function has a new *globals* parameter for " -"specifying the namespace in which the code will be running. (Contributed by " -"Ben Roberts in :issue:`2527`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1936 -msgid "tkinter" -msgstr "tkinter" - -#: ../../whatsnew/3.5.rst:1938 -msgid "" -"The :mod:`!tkinter._fix` module used for setting up the Tcl/Tk environment " -"on Windows has been replaced by a private function in the :mod:`!_tkinter` " -"module which makes no permanent changes to environment variables. " -"(Contributed by Zachary Ware in :issue:`20035`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1947 -msgid "traceback" -msgstr "" - -#: ../../whatsnew/3.5.rst:1949 -msgid "" -"New :func:`~traceback.walk_stack` and :func:`~traceback.walk_tb` functions " -"to conveniently traverse frame and :ref:`traceback objects `. (Contributed by Robert Collins in :issue:`17911`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1954 -msgid "" -"New lightweight classes: :class:`~traceback.TracebackException`, " -":class:`~traceback.StackSummary`, and :class:`~traceback.FrameSummary`. " -"(Contributed by Robert Collins in :issue:`17911`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1958 -msgid "" -"Both the :func:`~traceback.print_tb` and :func:`~traceback.print_stack` " -"functions now support negative values for the *limit* argument. (Contributed" -" by Dmitry Kazakov in :issue:`22619`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1964 -msgid "types" -msgstr "types" - -#: ../../whatsnew/3.5.rst:1966 -msgid "" -"A new :func:`~types.coroutine` function to transform :term:`generator " -"` and :class:`generator-like " -"` objects into :term:`awaitables `. " -"(Contributed by Yury Selivanov in :issue:`24017`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1972 -msgid "" -"A new type called :class:`~types.CoroutineType`, which is used for " -":term:`coroutine` objects created by :keyword:`async def` functions. " -"(Contributed by Yury Selivanov in :issue:`24400`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1978 -msgid "unicodedata" -msgstr "unicodedata" - -#: ../../whatsnew/3.5.rst:1980 -msgid "" -"The :mod:`unicodedata` module now uses data from `Unicode 8.0.0 " -"`_." -msgstr "" - -#: ../../whatsnew/3.5.rst:1985 -msgid "unittest" -msgstr "unittest" - -#: ../../whatsnew/3.5.rst:1987 -msgid "" -"The :meth:`TestLoader.loadTestsFromModule() " -"` method now accepts a keyword-only" -" argument *pattern* which is passed to ``load_tests`` as the third argument." -" Found packages are now checked for ``load_tests`` regardless of whether " -"their path matches *pattern*, because it is impossible for a package name to" -" match the default pattern. (Contributed by Robert Collins and Barry A. " -"Warsaw in :issue:`16662`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1994 -msgid "" -"Unittest discovery errors now are exposed in the :data:`TestLoader.errors " -"` attribute of the :class:`~unittest.TestLoader`" -" instance. (Contributed by Robert Collins in :issue:`19746`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:1999 -msgid "" -"A new command line option ``--locals`` to show local variables in " -"tracebacks. (Contributed by Robert Collins in :issue:`22936`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2004 -msgid "unittest.mock" -msgstr "unittest.mock" - -#: ../../whatsnew/3.5.rst:2006 -msgid "The :class:`~unittest.mock.Mock` class has the following improvements:" -msgstr "" - -#: ../../whatsnew/3.5.rst:2008 -msgid "" -"The class constructor has a new *unsafe* parameter, which causes mock " -"objects to raise :exc:`AttributeError` on attribute names starting with " -"``\"assert\"``. (Contributed by Kushal Das in :issue:`21238`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2013 -msgid "" -"A new :meth:`Mock.assert_not_called() " -"` method to check if the mock object " -"was called. (Contributed by Kushal Das in :issue:`21262`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2017 -msgid "" -"The :class:`~unittest.mock.MagicMock` class now supports " -":meth:`__truediv__`, :meth:`__divmod__` and :meth:`__matmul__` operators. " -"(Contributed by Johannes Baiter in :issue:`20968`, and Håkan Lövdahl in " -":issue:`23581` and :issue:`23568`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2022 -msgid "" -"It is no longer necessary to explicitly pass ``create=True`` to the " -":func:`~unittest.mock.patch` function when patching builtin names. " -"(Contributed by Kushal Das in :issue:`17660`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2028 -msgid "urllib" -msgstr "" - -#: ../../whatsnew/3.5.rst:2030 -msgid "" -"A new :class:`request.HTTPPasswordMgrWithPriorAuth " -"` class allows HTTP Basic " -"Authentication credentials to be managed so as to eliminate unnecessary " -"``401`` response handling, or to unconditionally send credentials on the " -"first request in order to communicate with servers that return a ``404`` " -"response instead of a ``401`` if the ``Authorization`` header is not sent. " -"(Contributed by Matej Cepl in :issue:`19494` and Akshit Khurana in " -":issue:`7159`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2039 -msgid "" -"A new *quote_via* argument for the :func:`parse.urlencode() " -"` function provides a way to control the encoding of" -" query parts if needed. (Contributed by Samwyse and Arnon Yaari in " -":issue:`13866`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2044 -msgid "" -"The :func:`request.urlopen() ` function accepts an " -":class:`ssl.SSLContext` object as a *context* argument, which will be used " -"for the HTTPS connection. (Contributed by Alex Gaynor in :issue:`22366`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2048 -msgid "" -"The :func:`parse.urljoin() ` was updated to use the " -":rfc:`3986` semantics for the resolution of relative URLs, rather than " -":rfc:`1808` and :rfc:`2396`. (Contributed by Demian Brecht and Senthil " -"Kumaran in :issue:`22118`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2055 -msgid "wsgiref" -msgstr "" - -#: ../../whatsnew/3.5.rst:2057 -msgid "" -"The *headers* argument of the :class:`headers.Headers " -"` class constructor is now optional. (Contributed " -"by Pablo Torres Navarrete and SilentGhost in :issue:`5800`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2063 -msgid "xmlrpc" -msgstr "" - -#: ../../whatsnew/3.5.rst:2065 -msgid "" -"The :class:`client.ServerProxy ` class now " -"supports the :term:`context manager` protocol. (Contributed by Claudiu Popa " -"in :issue:`20627`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2069 -msgid "" -"The :class:`client.ServerProxy ` constructor now " -"accepts an optional :class:`ssl.SSLContext` instance. (Contributed by Alex " -"Gaynor in :issue:`22960`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2075 -msgid "xml.sax" -msgstr "" - -#: ../../whatsnew/3.5.rst:2077 -msgid "" -"SAX parsers now support a character stream of the " -":class:`xmlreader.InputSource ` object. " -"(Contributed by Serhiy Storchaka in :issue:`2175`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2081 -msgid "" -":func:`~xml.sax.parseString` now accepts a :class:`str` instance. " -"(Contributed by Serhiy Storchaka in :issue:`10590`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2086 -msgid "zipfile" -msgstr "zipfile" - -#: ../../whatsnew/3.5.rst:2088 -msgid "" -"ZIP output can now be written to unseekable streams. (Contributed by Serhiy " -"Storchaka in :issue:`23252`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2091 -msgid "" -"The *mode* argument of :meth:`ZipFile.open() ` method " -"now accepts ``\"x\"`` to request exclusive creation. (Contributed by Serhiy " -"Storchaka in :issue:`21717`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2097 -msgid "Other module-level changes" -msgstr "" - -#: ../../whatsnew/3.5.rst:2099 -msgid "" -"Many functions in the :mod:`mmap`, :mod:`!ossaudiodev`, :mod:`socket`, " -":mod:`ssl`, and :mod:`codecs` modules now accept writable :term:`bytes-like " -"objects `. (Contributed by Serhiy Storchaka in " -":issue:`23001`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2106 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.5.rst:2108 -msgid "" -"The :func:`os.walk` function has been sped up by 3 to 5 times on POSIX " -"systems, and by 7 to 20 times on Windows. This was done using the new " -":func:`os.scandir` function, which exposes file information from the " -"underlying ``readdir`` or ``FindFirstFile``/``FindNextFile`` system calls. " -"(Contributed by Ben Hoyt with help from Victor Stinner in :issue:`23605`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2114 -msgid "" -"Construction of ``bytes(int)`` (filled by zero bytes) is faster and uses " -"less memory for large objects. ``calloc()`` is used instead of ``malloc()`` " -"to allocate memory for these objects. (Contributed by Victor Stinner in " -":issue:`21233`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2119 -msgid "" -"Some operations on :mod:`ipaddress` :class:`~ipaddress.IPv4Network` and " -":class:`~ipaddress.IPv6Network` have been massively sped up, such as " -":meth:`~ipaddress.IPv4Network.subnets`, " -":meth:`~ipaddress.IPv4Network.supernet`, " -":func:`~ipaddress.summarize_address_range`, " -":func:`~ipaddress.collapse_addresses`. The speed up can range from 3 to 15 " -"times. (Contributed by Antoine Pitrou, Michel Albert, and Markus in " -":issue:`21486`, :issue:`21487`, :issue:`20826`, :issue:`23266`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2127 -msgid "" -"Pickling of :mod:`ipaddress` objects was optimized to produce significantly " -"smaller output. (Contributed by Serhiy Storchaka in :issue:`23133`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2130 -msgid "" -"Many operations on :class:`io.BytesIO` are now 50% to 100% faster. " -"(Contributed by Serhiy Storchaka in :issue:`15381` and David Wilson in " -":issue:`22003`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2134 -msgid "" -"The :func:`marshal.dumps` function is now faster: 65--85% with versions 3 " -"and 4, 20--25% with versions 0 to 2 on typical data, and up to 5 times in " -"best cases. (Contributed by Serhiy Storchaka in :issue:`20416` and " -":issue:`23344`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2139 -msgid "" -"The UTF-32 encoder is now 3 to 7 times faster. (Contributed by Serhiy " -"Storchaka in :issue:`15027`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2142 -msgid "" -"Regular expressions are now parsed up to 10% faster. (Contributed by Serhiy " -"Storchaka in :issue:`19380`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2145 -msgid "" -"The :func:`json.dumps` function was optimized to run with " -"``ensure_ascii=False`` as fast as with ``ensure_ascii=True``. (Contributed " -"by Naoki Inada in :issue:`23206`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2149 -msgid "" -"The :c:func:`PyObject_IsInstance` and :c:func:`PyObject_IsSubclass` " -"functions have been sped up in the common case that the second argument has " -":class:`type` as its metaclass. (Contributed Georg Brandl by in " -":issue:`22540`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2154 -msgid "" -"Method caching was slightly improved, yielding up to 5% performance " -"improvement in some benchmarks. (Contributed by Antoine Pitrou in " -":issue:`22847`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2158 -msgid "" -"Objects from the :mod:`random` module now use 50% less memory on 64-bit " -"builds. (Contributed by Serhiy Storchaka in :issue:`23488`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2161 -msgid "" -"The :func:`property` getter calls are up to 25% faster. (Contributed by Joe " -"Jevnik in :issue:`23910`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2164 -msgid "" -"Instantiation of :class:`fractions.Fraction` is now up to 30% faster. " -"(Contributed by Stefan Behnel in :issue:`22464`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2167 -msgid "" -"String methods :meth:`~str.find`, :meth:`~str.rfind`, :meth:`~str.split`, " -":meth:`~str.partition` and the :keyword:`in` string operator are now " -"significantly faster for searching 1-character substrings. (Contributed by " -"Serhiy Storchaka in :issue:`23573`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2174 -msgid "Build and C API Changes" -msgstr "Perubahan Pembangunan *Build* dan API C" - -#: ../../whatsnew/3.5.rst:2176 -msgid "New ``calloc`` functions were added:" -msgstr "" - -#: ../../whatsnew/3.5.rst:2178 -msgid ":c:func:`PyMem_RawCalloc`," -msgstr "" - -#: ../../whatsnew/3.5.rst:2179 -msgid ":c:func:`PyMem_Calloc`," -msgstr "" - -#: ../../whatsnew/3.5.rst:2180 -msgid ":c:func:`PyObject_Calloc`." -msgstr "" - -#: ../../whatsnew/3.5.rst:2182 -msgid "(Contributed by Victor Stinner in :issue:`21233`.)" -msgstr "(Kontribusi dari Victor Stinner di :issue:`21233`.)" - -#: ../../whatsnew/3.5.rst:2184 -msgid "New encoding/decoding helper functions:" -msgstr "" - -#: ../../whatsnew/3.5.rst:2186 -msgid ":c:func:`Py_DecodeLocale` (replaced ``_Py_char2wchar()``)," -msgstr "" - -#: ../../whatsnew/3.5.rst:2187 -msgid ":c:func:`Py_EncodeLocale` (replaced ``_Py_wchar2char()``)." -msgstr "" - -#: ../../whatsnew/3.5.rst:2189 -msgid "(Contributed by Victor Stinner in :issue:`18395`.)" -msgstr "(Kontribusi dari Victor Stinner di :issue:`18395`.)" - -#: ../../whatsnew/3.5.rst:2191 -msgid "" -"A new :c:func:`PyCodec_NameReplaceErrors` function to replace the unicode " -"encode error with ``\\N{...}`` escapes. (Contributed by Serhiy Storchaka in " -":issue:`19676`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2195 -msgid "" -"A new :c:func:`PyErr_FormatV` function similar to :c:func:`PyErr_Format`, " -"but accepts a :c:type:`va_list` argument. (Contributed by Antoine Pitrou in " -":issue:`18711`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2199 -msgid "" -"A new :c:data:`PyExc_RecursionError` exception. (Contributed by Georg Brandl" -" in :issue:`19235`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2202 -msgid "" -"New :c:func:`PyModule_FromDefAndSpec`, :c:func:`PyModule_FromDefAndSpec2`, " -"and :c:func:`PyModule_ExecDef` functions introduced by :pep:`489` -- multi-" -"phase extension module initialization. (Contributed by Petr Viktorin in " -":issue:`24268`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2207 -msgid "" -"New :c:func:`PyNumber_MatrixMultiply` and " -":c:func:`PyNumber_InPlaceMatrixMultiply` functions to perform matrix " -"multiplication. (Contributed by Benjamin Peterson in :issue:`21176`. See " -"also :pep:`465` for details.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2213 -msgid "" -"The :c:member:`PyTypeObject.tp_finalize` slot is now part of the stable ABI." -msgstr "" - -#: ../../whatsnew/3.5.rst:2215 -msgid "" -"Windows builds now require Microsoft Visual C++ 14.0, which is available as " -"part of `Visual Studio 2015 `_." -msgstr "" - -#: ../../whatsnew/3.5.rst:2218 -msgid "" -"Extension modules now include a platform information tag in their filename " -"on some platforms (the tag is optional, and CPython will import extensions " -"without it, although if the tag is present and mismatched, the extension " -"won't be loaded):" -msgstr "" - -#: ../../whatsnew/3.5.rst:2223 -msgid "" -"On Linux, extension module filenames end with " -"``.cpython-m--.pyd``:" -msgstr "" - -#: ../../whatsnew/3.5.rst:2226 ../../whatsnew/3.5.rst:2243 -msgid "" -"```` is the major number of the Python version; for Python 3.5 this " -"is ``3``." -msgstr "" - -#: ../../whatsnew/3.5.rst:2229 ../../whatsnew/3.5.rst:2246 -msgid "" -"```` is the minor number of the Python version; for Python 3.5 this " -"is ``5``." -msgstr "" - -#: ../../whatsnew/3.5.rst:2232 -msgid "" -"```` is the hardware architecture the extension module was " -"built to run on. It's most commonly either ``i386`` for 32-bit Intel " -"platforms or ``x86_64`` for 64-bit Intel (and AMD) platforms." -msgstr "" - -#: ../../whatsnew/3.5.rst:2236 -msgid "" -"```` is always ``linux-gnu``, except for extensions built to talk to the" -" 32-bit ABI on 64-bit platforms, in which case it is ``linux-gnu32`` (and " -"```` will be ``x86_64``)." -msgstr "" - -#: ../../whatsnew/3.5.rst:2240 -msgid "" -"On Windows, extension module filenames end with " -"``.cp-.pyd``:" -msgstr "" - -#: ../../whatsnew/3.5.rst:2249 -msgid "" -"```` is the platform the extension module was built for, either " -"``win32`` for Win32, ``win_amd64`` for Win64, ``win_ia64`` for Windows " -"Itanium 64, and ``win_arm`` for Windows on ARM." -msgstr "" - -#: ../../whatsnew/3.5.rst:2253 -msgid "" -"If built in debug mode, ```` will be ``_d``, otherwise it will be " -"blank." -msgstr "" - -#: ../../whatsnew/3.5.rst:2256 -msgid "" -"On OS X platforms, extension module filenames now end with ``-darwin.so``." -msgstr "" - -#: ../../whatsnew/3.5.rst:2258 -msgid "" -"On all other platforms, extension module filenames are the same as they were" -" with Python 3.4." -msgstr "" - -#: ../../whatsnew/3.5.rst:2263 -msgid "Deprecated" -msgstr "Usang" - -#: ../../whatsnew/3.5.rst:2266 -msgid "New Keywords" -msgstr "" - -#: ../../whatsnew/3.5.rst:2268 -msgid "" -"``async`` and ``await`` are not recommended to be used as variable, class, " -"function or module names. Introduced by :pep:`492` in Python 3.5, they will" -" become proper keywords in Python 3.7." -msgstr "" - -#: ../../whatsnew/3.5.rst:2274 -msgid "Deprecated Python Behavior" -msgstr "Perilaku Python yang Usang" - -#: ../../whatsnew/3.5.rst:2276 -msgid "" -"Raising the :exc:`StopIteration` exception inside a generator will now " -"generate a silent :exc:`PendingDeprecationWarning`, which will become a non-" -"silent deprecation warning in Python 3.6 and will trigger a " -":exc:`RuntimeError` in Python 3.7. See :ref:`PEP 479: Change StopIteration " -"handling inside generators ` for details." -msgstr "" - -#: ../../whatsnew/3.5.rst:2284 -msgid "Unsupported Operating Systems" -msgstr "" - -#: ../../whatsnew/3.5.rst:2286 -msgid "" -"Windows XP is no longer supported by Microsoft, thus, per :PEP:`11`, CPython" -" 3.5 is no longer officially supported on this OS." -msgstr "" - -#: ../../whatsnew/3.5.rst:2291 -msgid "Deprecated Python modules, functions and methods" -msgstr "" - -#: ../../whatsnew/3.5.rst:2293 -msgid "" -"The :mod:`formatter` module has now graduated to full deprecation and is " -"still slated for removal in Python 3.6." -msgstr "" - -#: ../../whatsnew/3.5.rst:2296 -msgid "" -"The :func:`asyncio.async` function is deprecated in favor of " -":func:`~asyncio.ensure_future`." -msgstr "" - -#: ../../whatsnew/3.5.rst:2299 -msgid "" -"The :mod:`!smtpd` module has in the past always decoded the DATA portion of " -"email messages using the ``utf-8`` codec. This can now be controlled by the" -" new *decode_data* keyword to :class:`!SMTPServer`. The default value is " -"``True``, but this default is deprecated. Specify the *decode_data* keyword" -" with an appropriate value to avoid the deprecation warning." -msgstr "" - -#: ../../whatsnew/3.5.rst:2305 -msgid "" -"Directly assigning values to the :attr:`~http.cookies.Morsel.key`, " -":attr:`~http.cookies.Morsel.value` and " -":attr:`~http.cookies.Morsel.coded_value` of :class:`http.cookies.Morsel` " -"objects is deprecated. Use the :meth:`~http.cookies.Morsel.set` method " -"instead. In addition, the undocumented *LegalChars* parameter of " -":meth:`~http.cookies.Morsel.set` is deprecated, and is now ignored." -msgstr "" - -#: ../../whatsnew/3.5.rst:2312 -msgid "" -"Passing a format string as keyword argument *format_string* to the " -":meth:`~string.Formatter.format` method of the :class:`string.Formatter` " -"class has been deprecated. (Contributed by Serhiy Storchaka in " -":issue:`23671`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2317 -msgid "" -"The :func:`platform.dist` and :func:`platform.linux_distribution` functions " -"are now deprecated. Linux distributions use too many different ways of " -"describing themselves, so the functionality is left to a package. " -"(Contributed by Vajrasky Kok and Berker Peksag in :issue:`1322`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2322 -msgid "" -"The previously undocumented ``from_function`` and ``from_builtin`` methods " -"of :class:`inspect.Signature` are deprecated. Use the new " -":meth:`Signature.from_callable() ` method " -"instead. (Contributed by Yury Selivanov in :issue:`24248`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2327 -msgid "" -"The :func:`inspect.getargspec` function is deprecated and scheduled to be " -"removed in Python 3.6. (See :issue:`20438` for details.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2330 -msgid "" -"The :mod:`inspect` :func:`~inspect.getfullargspec`, " -":func:`~inspect.getcallargs`, and :func:`~inspect.formatargspec` functions " -"are deprecated in favor of the :func:`inspect.signature` API. (Contributed " -"by Yury Selivanov in :issue:`20438`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2335 -msgid "" -":func:`~inspect.getargvalues` and :func:`~inspect.formatargvalues` functions" -" were inadvertently marked as deprecated with the release of Python 3.5.0." -msgstr "" - -#: ../../whatsnew/3.5.rst:2338 -msgid "" -"Use of :const:`re.LOCALE` flag with str patterns or :const:`re.ASCII` is now" -" deprecated. (Contributed by Serhiy Storchaka in :issue:`22407`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2341 -msgid "" -"Use of unrecognized special sequences consisting of ``'\\'`` and an ASCII " -"letter in regular expression patterns and replacement patterns now raises a " -"deprecation warning and will be forbidden in Python 3.6. (Contributed by " -"Serhiy Storchaka in :issue:`23622`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2346 -msgid "" -"The undocumented and unofficial *use_load_tests* default argument of the " -":meth:`unittest.TestLoader.loadTestsFromModule` method now is deprecated and" -" ignored. (Contributed by Robert Collins and Barry A. Warsaw in " -":issue:`16662`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2353 -msgid "Removed" -msgstr "" - -#: ../../whatsnew/3.5.rst:2356 -msgid "API and Feature Removals" -msgstr "API dan Penghapusan Fitur" - -#: ../../whatsnew/3.5.rst:2358 -msgid "" -"The following obsolete and previously deprecated APIs and features have been" -" removed:" -msgstr "" - -#: ../../whatsnew/3.5.rst:2361 -msgid "" -"The ``__version__`` attribute has been dropped from the email package. The " -"email code hasn't been shipped separately from the stdlib for a long time, " -"and the ``__version__`` string was not updated in the last few releases." -msgstr "" - -#: ../../whatsnew/3.5.rst:2365 -msgid "" -"The internal ``Netrc`` class in the :mod:`ftplib` module was deprecated in " -"3.4, and has now been removed. (Contributed by Matt Chaput in " -":issue:`6623`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2369 -msgid "The concept of ``.pyo`` files has been removed." -msgstr "" - -#: ../../whatsnew/3.5.rst:2371 -msgid "" -"The JoinableQueue class in the provisional :mod:`asyncio` module was " -"deprecated in 3.4.4 and is now removed. (Contributed by A. Jesse Jiryu Davis" -" in :issue:`23464`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2377 -msgid "Porting to Python 3.5" -msgstr "" - -#: ../../whatsnew/3.5.rst:2379 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code." -msgstr "" - -#: ../../whatsnew/3.5.rst:2384 -msgid "Changes in Python behavior" -msgstr "Perubahan perilaku Python" - -#: ../../whatsnew/3.5.rst:2386 -msgid "" -"Due to an oversight, earlier Python versions erroneously accepted the " -"following syntax::" -msgstr "" - -#: ../../whatsnew/3.5.rst:2389 -msgid "" -"f(1 for x in [1], *args)\n" -"f(1 for x in [1], **kwargs)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2392 -msgid "" -"Python 3.5 now correctly raises a :exc:`SyntaxError`, as generator " -"expressions must be put in parentheses if not a sole argument to a function." -msgstr "" - -#: ../../whatsnew/3.5.rst:2397 -msgid "Changes in the Python API" -msgstr "Perubahan pada API Python" - -#: ../../whatsnew/3.5.rst:2399 -msgid "" -":pep:`475`: System calls are now retried when interrupted by a signal " -"instead of raising :exc:`InterruptedError` if the Python signal handler does" -" not raise an exception." -msgstr "" - -#: ../../whatsnew/3.5.rst:2403 -msgid "" -"Before Python 3.5, a :class:`datetime.time` object was considered to be " -"false if it represented midnight in UTC. This behavior was considered " -"obscure and error-prone and has been removed in Python 3.5. See " -":issue:`13936` for full details." -msgstr "" - -#: ../../whatsnew/3.5.rst:2408 -msgid "" -"The :meth:`ssl.SSLSocket.send` method now raises either " -":exc:`ssl.SSLWantReadError` or :exc:`ssl.SSLWantWriteError` on a non-" -"blocking socket if the operation would block. Previously, it would return " -"``0``. (Contributed by Nikolaus Rath in :issue:`20951`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2413 -msgid "" -"The ``__name__`` attribute of generators is now set from the function name, " -"instead of being set from the code name. Use ``gen.gi_code.co_name`` to " -"retrieve the code name. Generators also have a new ``__qualname__`` " -"attribute, the qualified name, which is now used for the representation of a" -" generator (``repr(gen)``). (Contributed by Victor Stinner in " -":issue:`21205`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2420 -msgid "" -"The deprecated \"strict\" mode and argument of " -":class:`~html.parser.HTMLParser`, :meth:`!HTMLParser.error`, and the " -":exc:`!HTMLParserError` exception have been removed. (Contributed by Ezio " -"Melotti in :issue:`15114`.) The *convert_charrefs* argument of " -":class:`~html.parser.HTMLParser` is now ``True`` by default. (Contributed " -"by Berker Peksag in :issue:`21047`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2426 -msgid "" -"Although it is not formally part of the API, it is worth noting for porting " -"purposes (ie: fixing tests) that error messages that were previously of the " -"form \"'sometype' does not support the buffer protocol\" are now of the form" -" \"a :term:`bytes-like object` is required, not 'sometype'\". (Contributed " -"by Ezio Melotti in :issue:`16518`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2432 -msgid "" -"If the current directory is set to a directory that no longer exists then " -":exc:`FileNotFoundError` will no longer be raised and instead " -":meth:`~importlib.machinery.FileFinder.find_spec` will return ``None`` " -"**without** caching ``None`` in :data:`sys.path_importer_cache`, which is " -"different than the typical case (:issue:`22834`)." -msgstr "" - -#: ../../whatsnew/3.5.rst:2438 -msgid "" -"HTTP status code and messages from :mod:`http.client` and :mod:`http.server`" -" were refactored into a common :class:`~http.HTTPStatus` enum. The values " -"in :mod:`http.client` and :mod:`http.server` remain available for backwards " -"compatibility. (Contributed by Demian Brecht in :issue:`21793`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2443 -msgid "" -"When an import loader defines :meth:`importlib.machinery.Loader.exec_module`" -" it is now expected to also define " -":meth:`~importlib.machinery.Loader.create_module` (raises a " -":exc:`DeprecationWarning` now, will be an error in Python 3.6). If the " -"loader inherits from :class:`importlib.abc.Loader` then there is nothing to " -"do, else simply define :meth:`~importlib.machinery.Loader.create_module` to " -"return ``None``. (Contributed by Brett Cannon in :issue:`23014`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2451 -msgid "" -"The :func:`re.split` function always ignored empty pattern matches, so the " -"``\"x*\"`` pattern worked the same as ``\"x+\"``, and the ``\"\\b\"`` " -"pattern never worked. Now :func:`re.split` raises a warning if the pattern " -"could match an empty string. For compatibility, use patterns that never " -"match an empty string (e.g. ``\"x+\"`` instead of ``\"x*\"``). Patterns " -"that could only match an empty string (such as ``\"\\b\"``) now raise an " -"error. (Contributed by Serhiy Storchaka in :issue:`22818`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2459 -msgid "" -"The :class:`http.cookies.Morsel` dict-like interface has been made self " -"consistent: morsel comparison now takes the " -":attr:`~http.cookies.Morsel.key` and :attr:`~http.cookies.Morsel.value` into" -" account, :meth:`~http.cookies.Morsel.copy` now results in a " -":class:`~http.cookies.Morsel` instance rather than a :class:`dict`, and " -":meth:`~http.cookies.Morsel.update` will now raise an exception if any of " -"the keys in the update dictionary are invalid. In addition, the " -"undocumented *LegalChars* parameter of :func:`~http.cookies.Morsel.set` is " -"deprecated and is now ignored. (Contributed by Demian Brecht in " -":issue:`2211`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2469 -msgid "" -":pep:`488` has removed ``.pyo`` files from Python and introduced the " -"optional ``opt-`` tag in ``.pyc`` file names. The " -":func:`importlib.util.cache_from_source` has gained an *optimization* " -"parameter to help control the ``opt-`` tag. Because of this, the " -"*debug_override* parameter of the function is now deprecated. ``.pyo`` files" -" are also no longer supported as a file argument to the Python interpreter " -"and thus serve no purpose when distributed on their own (i.e. sourceless " -"code distribution). Due to the fact that the magic number for bytecode has " -"changed in Python 3.5, all old ``.pyo`` files from previous versions of " -"Python are invalid regardless of this PEP." -msgstr "" - -#: ../../whatsnew/3.5.rst:2480 -msgid "" -"The :mod:`socket` module now exports the :const:`~socket.CAN_RAW_FD_FRAMES` " -"constant on linux 3.6 and greater." -msgstr "" - -#: ../../whatsnew/3.5.rst:2483 -msgid "" -"The :func:`ssl.cert_time_to_seconds` function now interprets the input time " -"as UTC and not as local time, per :rfc:`5280`. Additionally, the return " -"value is always an :class:`int`. (Contributed by Akira Li in " -":issue:`19940`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2487 -msgid "" -"The ``pygettext.py`` Tool now uses the standard +NNNN format for timezones " -"in the POT-Creation-Date header." -msgstr "" - -#: ../../whatsnew/3.5.rst:2490 -msgid "" -"The :mod:`smtplib` module now uses :data:`sys.stderr` instead of the " -"previous module-level :data:`stderr` variable for debug output. If your " -"(test) program depends on patching the module-level variable to capture the " -"debug output, you will need to update it to capture sys.stderr instead." -msgstr "" - -#: ../../whatsnew/3.5.rst:2495 -msgid "" -"The :meth:`str.startswith` and :meth:`str.endswith` methods no longer return" -" ``True`` when finding the empty string and the indexes are completely out " -"of range. (Contributed by Serhiy Storchaka in :issue:`24284`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2499 -msgid "" -"The :func:`inspect.getdoc` function now returns documentation strings " -"inherited from base classes. Documentation strings no longer need to be " -"duplicated if the inherited documentation is appropriate. To suppress an " -"inherited string, an empty string must be specified (or the documentation " -"may be filled in). This change affects the output of the :mod:`pydoc` " -"module and the :func:`help` function. (Contributed by Serhiy Storchaka in " -":issue:`15582`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2507 -msgid "" -"Nested :func:`functools.partial` calls are now flattened. If you were " -"relying on the previous behavior, you can now either add an attribute to a " -":func:`functools.partial` object or you can create a subclass of " -":func:`functools.partial`. (Contributed by Alexander Belopolsky in " -":issue:`7830`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2514 -msgid "Changes in the C API" -msgstr "Perubahan dalam API C" - -#: ../../whatsnew/3.5.rst:2516 -msgid "" -"The undocumented :c:member:`!format` member of the (non-public) " -":c:type:`PyMemoryViewObject` structure has been removed. All extensions " -"relying on the relevant parts in ``memoryobject.h`` must be rebuilt." -msgstr "" - -#: ../../whatsnew/3.5.rst:2521 -msgid "" -"The :c:type:`PyMemAllocator` structure was renamed to " -":c:type:`PyMemAllocatorEx` and a new ``calloc`` field was added." -msgstr "" - -#: ../../whatsnew/3.5.rst:2524 -msgid "" -"Removed non-documented macro :c:macro:`!PyObject_REPR()` which leaked " -"references. Use format character ``%R`` in " -":c:func:`PyUnicode_FromFormat`-like functions to format the :func:`repr` of " -"the object. (Contributed by Serhiy Storchaka in :issue:`22453`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2529 -msgid "" -"Because the lack of the :attr:`~type.__module__` attribute breaks pickling " -"and introspection, a deprecation warning is now raised for builtin types " -"without the :attr:`~type.__module__` attribute. This will be an " -":exc:`AttributeError` in the future. (Contributed by Serhiy Storchaka in " -":issue:`20204`.)" -msgstr "" - -#: ../../whatsnew/3.5.rst:2535 -msgid "" -"As part of the :pep:`492` implementation, the ``tp_reserved`` slot of " -":c:type:`PyTypeObject` was replaced with a " -":c:member:`~PyTypeObject.tp_as_async` slot. Refer to :ref:`coro-objects` " -"for new types, structures and functions." -msgstr "" - -#: ../../whatsnew/3.5.rst:2542 -msgid "Notable changes in Python 3.5.4" -msgstr "" - -#: ../../whatsnew/3.5.rst:2545 -msgid "New ``make regen-all`` build target" -msgstr "" - -#: ../../whatsnew/3.5.rst:2547 -msgid "" -"To simplify cross-compilation, and to ensure that CPython can reliably be " -"compiled without requiring an existing version of Python to already be " -"available, the autotools-based build system no longer attempts to implicitly" -" recompile generated files based on file modification times." -msgstr "" - -#: ../../whatsnew/3.5.rst:2552 -msgid "" -"Instead, a new ``make regen-all`` command has been added to force " -"regeneration of these files when desired (e.g. after an initial version of " -"Python has already been built based on the pregenerated versions)." -msgstr "" - -#: ../../whatsnew/3.5.rst:2556 -msgid "" -"More selective regeneration targets are also defined - see " -":source:`Makefile.pre.in` for details." -msgstr "" - -#: ../../whatsnew/3.5.rst:2559 ../../whatsnew/3.5.rst:2572 -msgid "(Contributed by Victor Stinner in :issue:`23404`.)" -msgstr "(Kontribusi dari Victor Stinner di :issue:`23404`.)" - -#: ../../whatsnew/3.5.rst:2565 -msgid "Removal of ``make touch`` build target" -msgstr "" - -#: ../../whatsnew/3.5.rst:2567 -msgid "" -"The ``make touch`` build target previously used to request implicit " -"regeneration of generated files by updating their modification times has " -"been removed." -msgstr "" - -#: ../../whatsnew/3.5.rst:2570 -msgid "It has been replaced by the new ``make regen-all`` target." -msgstr "" diff --git a/python-newest.whatsnew--3_6/id.po b/python-newest.whatsnew--3_6/id.po deleted file mode 100644 index cd4349f..0000000 --- a/python-newest.whatsnew--3_6/id.po +++ /dev/null @@ -1,3547 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Imaduddin A Majid , 2021 -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.6.rst:3 -msgid "What's New In Python 3.6" -msgstr "Apa yang Baru di Python 3.6" - -#: ../../whatsnew/3.6.rst:0 -msgid "Editors" -msgstr "Editor" - -#: ../../whatsnew/3.6.rst:5 -msgid "Elvis Pranskevichus , Yury Selivanov " -msgstr "Elvis Pranskevichus , Yury Selivanov " - -#: ../../whatsnew/3.6.rst:47 -msgid "" -"This article explains the new features in Python 3.6, compared to 3.5. " -"Python 3.6 was released on December 23, 2016. See the `changelog " -"`_ for a full list of " -"changes." -msgstr "" - -#: ../../whatsnew/3.6.rst:54 -msgid ":pep:`494` - Python 3.6 Release Schedule" -msgstr "" - -#: ../../whatsnew/3.6.rst:58 -msgid "Summary -- Release highlights" -msgstr "Ringkasan -- Sorotan Rilis" - -#: ../../whatsnew/3.6.rst:60 -msgid "New syntax features:" -msgstr "Fitur sintaks baru:" - -#: ../../whatsnew/3.6.rst:62 -msgid ":ref:`PEP 498 `, formatted string literals." -msgstr "" - -#: ../../whatsnew/3.6.rst:64 -msgid ":ref:`PEP 515 `, underscores in numeric literals." -msgstr "" - -#: ../../whatsnew/3.6.rst:66 -msgid ":ref:`PEP 526 `, syntax for variable annotations." -msgstr "" - -#: ../../whatsnew/3.6.rst:68 -msgid ":ref:`PEP 525 `, asynchronous generators." -msgstr "" - -#: ../../whatsnew/3.6.rst:70 -msgid ":ref:`PEP 530 `: asynchronous comprehensions." -msgstr "" - -#: ../../whatsnew/3.6.rst:73 -msgid "New library modules:" -msgstr "Modul pustaka baru:" - -#: ../../whatsnew/3.6.rst:75 -msgid "" -":mod:`secrets`: :ref:`PEP 506 -- Adding A Secrets Module To The Standard " -"Library `." -msgstr "" - -#: ../../whatsnew/3.6.rst:78 -msgid "CPython implementation improvements:" -msgstr "Peningkatan implementasi CPython:" - -#: ../../whatsnew/3.6.rst:80 -msgid "" -"The :ref:`dict ` type has been reimplemented to use a " -":ref:`more compact representation ` based on `a " -"proposal by Raymond Hettinger `_ and similar to the `PyPy dict " -"implementation`_. This resulted in dictionaries using 20% to 25% less " -"memory when compared to Python 3.5." -msgstr "" - -#: ../../whatsnew/3.6.rst:87 -msgid "" -"Customization of class creation has been simplified with the :ref:`new " -"protocol `." -msgstr "" - -#: ../../whatsnew/3.6.rst:90 -msgid "" -"The class attribute definition order is :ref:`now preserved " -"`." -msgstr "" - -#: ../../whatsnew/3.6.rst:93 -msgid "" -"The order of elements in ``**kwargs`` now :ref:`corresponds to the order " -"` in which keyword arguments were passed to the function." -msgstr "" - -#: ../../whatsnew/3.6.rst:97 -msgid "" -"DTrace and SystemTap :ref:`probing support ` has been " -"added." -msgstr "" - -#: ../../whatsnew/3.6.rst:100 -msgid "" -"The new :ref:`PYTHONMALLOC ` environment variable " -"can now be used to debug the interpreter memory allocation and access " -"errors." -msgstr "" - -#: ../../whatsnew/3.6.rst:105 -msgid "Significant improvements in the standard library:" -msgstr "Peningkatan yang signifikan dalam pustaka standar:" - -#: ../../whatsnew/3.6.rst:107 -msgid "" -"The :mod:`asyncio` module has received new features, significant usability " -"and performance improvements, and a fair amount of bug fixes. Starting with " -"Python 3.6 the ``asyncio`` module is no longer provisional and its API is " -"considered stable." -msgstr "" - -#: ../../whatsnew/3.6.rst:112 -msgid "" -"A new :ref:`file system path protocol ` has been " -"implemented to support :term:`path-like objects `. All " -"standard library functions operating on paths have been updated to work with" -" the new protocol." -msgstr "" - -#: ../../whatsnew/3.6.rst:117 -msgid "" -"The :mod:`datetime` module has gained support for :ref:`Local Time " -"Disambiguation `." -msgstr "" - -#: ../../whatsnew/3.6.rst:120 -msgid "" -"The :mod:`typing` module received a number of :ref:`improvements " -"`." -msgstr "" - -#: ../../whatsnew/3.6.rst:123 -msgid "" -"The :mod:`tracemalloc` module has been significantly reworked and is now " -"used to provide better output for :exc:`ResourceWarning` as well as provide " -"better diagnostics for memory allocation errors. See the :ref:`PYTHONMALLOC " -"section ` for more information." -msgstr "" - -#: ../../whatsnew/3.6.rst:130 -msgid "Security improvements:" -msgstr "" - -#: ../../whatsnew/3.6.rst:132 -msgid "" -"The new :mod:`secrets` module has been added to simplify the generation of " -"cryptographically strong pseudo-random numbers suitable for managing secrets" -" such as account authentication, tokens, and similar." -msgstr "" - -#: ../../whatsnew/3.6.rst:136 ../../whatsnew/3.6.rst:1283 -msgid "" -"On Linux, :func:`os.urandom` now blocks until the system urandom entropy " -"pool is initialized to increase the security. See the :pep:`524` for the " -"rationale." -msgstr "" - -#: ../../whatsnew/3.6.rst:140 -msgid "The :mod:`hashlib` and :mod:`ssl` modules now support OpenSSL 1.1.0." -msgstr "" - -#: ../../whatsnew/3.6.rst:142 -msgid "" -"The default settings and feature set of the :mod:`ssl` module have been " -"improved." -msgstr "" - -#: ../../whatsnew/3.6.rst:145 -msgid "" -"The :mod:`hashlib` module received support for the BLAKE2, SHA-3 and SHAKE " -"hash algorithms and the :func:`~hashlib.scrypt` key derivation function." -msgstr "" - -#: ../../whatsnew/3.6.rst:149 -msgid "Windows improvements:" -msgstr "" - -#: ../../whatsnew/3.6.rst:151 -msgid "" -":ref:`PEP 528 ` and :ref:`PEP 529 `, " -"Windows filesystem and console encoding changed to UTF-8." -msgstr "" - -#: ../../whatsnew/3.6.rst:154 -msgid "" -"The ``py.exe`` launcher, when used interactively, no longer prefers Python 2" -" over Python 3 when the user doesn't specify a version (via command line " -"arguments or a config file). Handling of shebang lines remains unchanged - " -"\"python\" refers to Python 2 in that case." -msgstr "" - -#: ../../whatsnew/3.6.rst:159 -msgid "" -"``python.exe`` and ``pythonw.exe`` have been marked as long-path aware, " -"which means that the 260 character path limit may no longer apply. See " -":ref:`removing the MAX_PATH limitation ` for details." -msgstr "" - -#: ../../whatsnew/3.6.rst:163 -msgid "" -"A ``._pth`` file can be added to force isolated mode and fully specify all " -"search paths to avoid registry and environment lookup. See :ref:`the " -"documentation ` for more information." -msgstr "" - -#: ../../whatsnew/3.6.rst:167 -msgid "" -"A ``python36.zip`` file now works as a landmark to infer " -":envvar:`PYTHONHOME`. See :ref:`the documentation `" -" for more information." -msgstr "" - -#: ../../whatsnew/3.6.rst:176 -msgid "New Features" -msgstr "Fitur-fitur Baru" - -#: ../../whatsnew/3.6.rst:181 -msgid "PEP 498: Formatted string literals" -msgstr "" - -#: ../../whatsnew/3.6.rst:183 -msgid "" -":pep:`498` introduces a new kind of string literals: *f-strings*, or " -":ref:`formatted string literals `." -msgstr "" - -#: ../../whatsnew/3.6.rst:186 -msgid "" -"Formatted string literals are prefixed with ``'f'`` and are similar to the " -"format strings accepted by :meth:`str.format`. They contain replacement " -"fields surrounded by curly braces. The replacement fields are expressions, " -"which are evaluated at run time, and then formatted using the :func:`format`" -" protocol::" -msgstr "" - -#: ../../whatsnew/3.6.rst:192 -msgid "" -">>> name = \"Fred\"\n" -">>> f\"He said his name is {name}.\"\n" -"'He said his name is Fred.'\n" -">>> width = 10\n" -">>> precision = 4\n" -">>> value = decimal.Decimal(\"12.34567\")\n" -">>> f\"result: {value:{width}.{precision}}\" # nested fields\n" -"'result: 12.35'" -msgstr "" - -#: ../../whatsnew/3.6.rst:203 -msgid ":pep:`498` -- Literal String Interpolation." -msgstr "" - -#: ../../whatsnew/3.6.rst:204 -msgid "PEP written and implemented by Eric V. Smith." -msgstr "" - -#: ../../whatsnew/3.6.rst:206 -msgid ":ref:`Feature documentation `." -msgstr "" - -#: ../../whatsnew/3.6.rst:212 -msgid "PEP 526: Syntax for variable annotations" -msgstr "" - -#: ../../whatsnew/3.6.rst:214 -msgid "" -":pep:`484` introduced the standard for type annotations of function " -"parameters, a.k.a. type hints. This PEP adds syntax to Python for annotating" -" the types of variables including class variables and instance variables::" -msgstr "" - -#: ../../whatsnew/3.6.rst:218 -msgid "" -"primes: List[int] = []\n" -"\n" -"captain: str # Note: no initial value!\n" -"\n" -"class Starship:\n" -" stats: Dict[str, int] = {}" -msgstr "" - -#: ../../whatsnew/3.6.rst:225 -msgid "" -"Just as for function annotations, the Python interpreter does not attach any" -" particular meaning to variable annotations and only stores them in the " -"``__annotations__`` attribute of a class or module." -msgstr "" - -#: ../../whatsnew/3.6.rst:229 -msgid "" -"In contrast to variable declarations in statically typed languages, the goal" -" of annotation syntax is to provide an easy way to specify structured type " -"metadata for third party tools and libraries via the abstract syntax tree " -"and the ``__annotations__`` attribute." -msgstr "" - -#: ../../whatsnew/3.6.rst:236 -msgid ":pep:`526` -- Syntax for variable annotations." -msgstr "" - -#: ../../whatsnew/3.6.rst:237 -msgid "" -"PEP written by Ryan Gonzalez, Philip House, Ivan Levkivskyi, Lisa Roach, and" -" Guido van Rossum. Implemented by Ivan Levkivskyi." -msgstr "" - -#: ../../whatsnew/3.6.rst:240 -msgid "" -"Tools that use or will use the new syntax: `mypy `_, `pytype `_, PyCharm, etc." -msgstr "" - -#: ../../whatsnew/3.6.rst:248 -msgid "PEP 515: Underscores in Numeric Literals" -msgstr "" - -#: ../../whatsnew/3.6.rst:250 -msgid "" -":pep:`515` adds the ability to use underscores in numeric literals for " -"improved readability. For example::" -msgstr "" - -#: ../../whatsnew/3.6.rst:253 -msgid "" -">>> 1_000_000_000_000_000\n" -"1000000000000000\n" -">>> 0x_FF_FF_FF_FF\n" -"4294967295" -msgstr "" - -#: ../../whatsnew/3.6.rst:258 -msgid "" -"Single underscores are allowed between digits and after any base specifier." -" Leading, trailing, or multiple underscores in a row are not allowed." -msgstr "" - -#: ../../whatsnew/3.6.rst:262 -msgid "" -"The :ref:`string formatting ` language also now has support for " -"the ``'_'`` option to signal the use of an underscore for a thousands " -"separator for floating-point presentation types and for integer presentation" -" type ``'d'``. For integer presentation types ``'b'``, ``'o'``, ``'x'``, " -"and ``'X'``, underscores will be inserted every 4 digits::" -msgstr "" - -#: ../../whatsnew/3.6.rst:269 -msgid "" -">>> '{:_}'.format(1000000)\n" -"'1_000_000'\n" -">>> '{:_x}'.format(0xFFFFFFFF)\n" -"'ffff_ffff'" -msgstr "" - -#: ../../whatsnew/3.6.rst:276 -msgid ":pep:`515` -- Underscores in Numeric Literals" -msgstr "" - -#: ../../whatsnew/3.6.rst:277 -msgid "PEP written by Georg Brandl and Serhiy Storchaka." -msgstr "" - -#: ../../whatsnew/3.6.rst:283 -msgid "PEP 525: Asynchronous Generators" -msgstr "" - -#: ../../whatsnew/3.6.rst:285 -msgid "" -":pep:`492` introduced support for native coroutines and ``async`` / " -"``await`` syntax to Python 3.5. A notable limitation of the Python 3.5 " -"implementation is that it was not possible to use ``await`` and ``yield`` in" -" the same function body. In Python 3.6 this restriction has been lifted, " -"making it possible to define *asynchronous generators*::" -msgstr "" - -#: ../../whatsnew/3.6.rst:291 -msgid "" -"async def ticker(delay, to):\n" -" \"\"\"Yield numbers from 0 to *to* every *delay* seconds.\"\"\"\n" -" for i in range(to):\n" -" yield i\n" -" await asyncio.sleep(delay)" -msgstr "" - -#: ../../whatsnew/3.6.rst:297 -msgid "The new syntax allows for faster and more concise code." -msgstr "" - -#: ../../whatsnew/3.6.rst:301 -msgid ":pep:`525` -- Asynchronous Generators" -msgstr "" - -#: ../../whatsnew/3.6.rst:302 ../../whatsnew/3.6.rst:323 -msgid "PEP written and implemented by Yury Selivanov." -msgstr "" - -#: ../../whatsnew/3.6.rst:308 -msgid "PEP 530: Asynchronous Comprehensions" -msgstr "" - -#: ../../whatsnew/3.6.rst:310 -msgid "" -":pep:`530` adds support for using ``async for`` in list, set, dict " -"comprehensions and generator expressions::" -msgstr "" - -#: ../../whatsnew/3.6.rst:313 -msgid "result = [i async for i in aiter() if i % 2]" -msgstr "" - -#: ../../whatsnew/3.6.rst:315 -msgid "" -"Additionally, ``await`` expressions are supported in all kinds of " -"comprehensions::" -msgstr "" - -#: ../../whatsnew/3.6.rst:318 -msgid "result = [await fun() for fun in funcs if await condition()]" -msgstr "" - -#: ../../whatsnew/3.6.rst:322 -msgid ":pep:`530` -- Asynchronous Comprehensions" -msgstr "" - -#: ../../whatsnew/3.6.rst:329 -msgid "PEP 487: Simpler customization of class creation" -msgstr "" - -#: ../../whatsnew/3.6.rst:331 -msgid "" -"It is now possible to customize subclass creation without using a metaclass." -" The new ``__init_subclass__`` classmethod will be called on the base class " -"whenever a new subclass is created::" -msgstr "" - -#: ../../whatsnew/3.6.rst:335 -msgid "" -"class PluginBase:\n" -" subclasses = []\n" -"\n" -" def __init_subclass__(cls, **kwargs):\n" -" super().__init_subclass__(**kwargs)\n" -" cls.subclasses.append(cls)\n" -"\n" -"class Plugin1(PluginBase):\n" -" pass\n" -"\n" -"class Plugin2(PluginBase):\n" -" pass" -msgstr "" - -#: ../../whatsnew/3.6.rst:348 -msgid "" -"In order to allow zero-argument :func:`super` calls to work correctly from " -":meth:`~object.__init_subclass__` implementations, custom metaclasses must " -"ensure that the new ``__classcell__`` namespace entry is propagated to " -"``type.__new__`` (as described in :ref:`class-object-creation`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:355 ../../whatsnew/3.6.rst:393 -msgid ":pep:`487` -- Simpler customization of class creation" -msgstr "" - -#: ../../whatsnew/3.6.rst:356 ../../whatsnew/3.6.rst:394 -msgid "PEP written and implemented by Martin Teichmann." -msgstr "" - -#: ../../whatsnew/3.6.rst:358 -msgid ":ref:`Feature documentation `" -msgstr "" - -#: ../../whatsnew/3.6.rst:364 -msgid "PEP 487: Descriptor Protocol Enhancements" -msgstr "" - -#: ../../whatsnew/3.6.rst:366 -msgid "" -":pep:`487` extends the descriptor protocol to include the new optional " -":meth:`~object.__set_name__` method. Whenever a new class is defined, the " -"new method will be called on all descriptors included in the definition, " -"providing them with a reference to the class being defined and the name " -"given to the descriptor within the class namespace. In other words, " -"instances of descriptors can now know the attribute name of the descriptor " -"in the owner class::" -msgstr "" - -#: ../../whatsnew/3.6.rst:374 -msgid "" -"class IntField:\n" -" def __get__(self, instance, owner):\n" -" return instance.__dict__[self.name]\n" -"\n" -" def __set__(self, instance, value):\n" -" if not isinstance(value, int):\n" -" raise ValueError(f'expecting integer in {self.name}')\n" -" instance.__dict__[self.name] = value\n" -"\n" -" # this is the new initializer:\n" -" def __set_name__(self, owner, name):\n" -" self.name = name\n" -"\n" -"class Model:\n" -" int_field = IntField()" -msgstr "" - -#: ../../whatsnew/3.6.rst:396 -msgid ":ref:`Feature documentation `" -msgstr "" - -#: ../../whatsnew/3.6.rst:402 -msgid "PEP 519: Adding a file system path protocol" -msgstr "" - -#: ../../whatsnew/3.6.rst:404 -msgid "" -"File system paths have historically been represented as :class:`str` or " -":class:`bytes` objects. This has led to people who write code which operate " -"on file system paths to assume that such objects are only one of those two " -"types (an :class:`int` representing a file descriptor does not count as that" -" is not a file path). Unfortunately that assumption prevents alternative " -"object representations of file system paths like :mod:`pathlib` from working" -" with pre-existing code, including Python's standard library." -msgstr "" - -#: ../../whatsnew/3.6.rst:413 -msgid "" -"To fix this situation, a new interface represented by :class:`os.PathLike` " -"has been defined. By implementing the :meth:`~os.PathLike.__fspath__` " -"method, an object signals that it represents a path. An object can then " -"provide a low-level representation of a file system path as a :class:`str` " -"or :class:`bytes` object. This means an object is considered :term:`path-" -"like ` if it implements :class:`os.PathLike` or is a " -":class:`str` or :class:`bytes` object which represents a file system path. " -"Code can use :func:`os.fspath`, :func:`os.fsdecode`, or :func:`os.fsencode` " -"to explicitly get a :class:`str` and/or :class:`bytes` representation of a " -"path-like object." -msgstr "" - -#: ../../whatsnew/3.6.rst:426 -msgid "" -"The built-in :func:`open` function has been updated to accept " -":class:`os.PathLike` objects, as have all relevant functions in the " -":mod:`os` and :mod:`os.path` modules, and most other functions and classes " -"in the standard library. The :class:`os.DirEntry` class and relevant " -"classes in :mod:`pathlib` have also been updated to implement " -":class:`os.PathLike`." -msgstr "" - -#: ../../whatsnew/3.6.rst:433 -msgid "" -"The hope is that updating the fundamental functions for operating on file " -"system paths will lead to third-party code to implicitly support all " -":term:`path-like objects ` without any code changes, or at" -" least very minimal ones (e.g. calling :func:`os.fspath` at the beginning of" -" code before operating on a path-like object)." -msgstr "" - -#: ../../whatsnew/3.6.rst:440 -msgid "" -"Here are some examples of how the new interface allows for " -":class:`pathlib.Path` to be used more easily and transparently with pre-" -"existing code::" -msgstr "" - -#: ../../whatsnew/3.6.rst:444 -msgid "" -">>> import pathlib\n" -">>> with open(pathlib.Path(\"README\")) as f:\n" -"... contents = f.read()\n" -"...\n" -">>> import os.path\n" -">>> os.path.splitext(pathlib.Path(\"some_file.txt\"))\n" -"('some_file', '.txt')\n" -">>> os.path.join(\"/a/b\", pathlib.Path(\"c\"))\n" -"'/a/b/c'\n" -">>> import os\n" -">>> os.fspath(pathlib.Path(\"some_file.txt\"))\n" -"'some_file.txt'" -msgstr "" - -#: ../../whatsnew/3.6.rst:457 -msgid "" -"(Implemented by Brett Cannon, Ethan Furman, Dusty Phillips, and Jelle " -"Zijlstra.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:461 -msgid ":pep:`519` -- Adding a file system path protocol" -msgstr "" - -#: ../../whatsnew/3.6.rst:462 -msgid "PEP written by Brett Cannon and Koos Zevenhoven." -msgstr "" - -#: ../../whatsnew/3.6.rst:468 -msgid "PEP 495: Local Time Disambiguation" -msgstr "" - -#: ../../whatsnew/3.6.rst:470 -msgid "" -"In most world locations, there have been and will be times when local clocks" -" are moved back. In those times, intervals are introduced in which local " -"clocks show the same time twice in the same day. In these situations, the " -"information displayed on a local clock (or stored in a Python datetime " -"instance) is insufficient to identify a particular moment in time." -msgstr "" - -#: ../../whatsnew/3.6.rst:476 -msgid "" -":pep:`495` adds the new *fold* attribute to instances of " -":class:`datetime.datetime` and :class:`datetime.time` classes to " -"differentiate between two moments in time for which local times are the " -"same::" -msgstr "" - -#: ../../whatsnew/3.6.rst:480 -msgid "" -">>> u0 = datetime(2016, 11, 6, 4, tzinfo=timezone.utc)\n" -">>> for i in range(4):\n" -"... u = u0 + i*HOUR\n" -"... t = u.astimezone(Eastern)\n" -"... print(u.time(), 'UTC =', t.time(), t.tzname(), t.fold)\n" -"...\n" -"04:00:00 UTC = 00:00:00 EDT 0\n" -"05:00:00 UTC = 01:00:00 EDT 0\n" -"06:00:00 UTC = 01:00:00 EST 1\n" -"07:00:00 UTC = 02:00:00 EST 0" -msgstr "" - -#: ../../whatsnew/3.6.rst:491 -msgid "" -"The values of the :attr:`fold ` attribute have the " -"value ``0`` for all instances except those that represent the second " -"(chronologically) moment in time in an ambiguous case." -msgstr "" - -#: ../../whatsnew/3.6.rst:497 -msgid ":pep:`495` -- Local Time Disambiguation" -msgstr "" - -#: ../../whatsnew/3.6.rst:498 -msgid "" -"PEP written by Alexander Belopolsky and Tim Peters, implementation by " -"Alexander Belopolsky." -msgstr "" - -#: ../../whatsnew/3.6.rst:505 -msgid "PEP 529: Change Windows filesystem encoding to UTF-8" -msgstr "" - -#: ../../whatsnew/3.6.rst:507 -msgid "" -"Representing filesystem paths is best performed with str (Unicode) rather " -"than bytes. However, there are some situations where using bytes is " -"sufficient and correct." -msgstr "" - -#: ../../whatsnew/3.6.rst:511 -msgid "" -"Prior to Python 3.6, data loss could result when using bytes paths on " -"Windows. With this change, using bytes to represent paths is now supported " -"on Windows, provided those bytes are encoded with the encoding returned by " -":func:`sys.getfilesystemencoding`, which now defaults to ``'utf-8'``." -msgstr "" - -#: ../../whatsnew/3.6.rst:516 -msgid "" -"Applications that do not use str to represent paths should use " -":func:`os.fsencode` and :func:`os.fsdecode` to ensure their bytes are " -"correctly encoded. To revert to the previous behaviour, set " -":envvar:`PYTHONLEGACYWINDOWSFSENCODING` or call " -":func:`sys._enablelegacywindowsfsencoding`." -msgstr "" - -#: ../../whatsnew/3.6.rst:522 -msgid "" -"See :pep:`529` for more information and discussion of code modifications " -"that may be required." -msgstr "" - -#: ../../whatsnew/3.6.rst:529 -msgid "PEP 528: Change Windows console encoding to UTF-8" -msgstr "" - -#: ../../whatsnew/3.6.rst:531 -msgid "" -"The default console on Windows will now accept all Unicode characters and " -"provide correctly read str objects to Python code. ``sys.stdin``, " -"``sys.stdout`` and ``sys.stderr`` now default to utf-8 encoding." -msgstr "" - -#: ../../whatsnew/3.6.rst:535 -msgid "" -"This change only applies when using an interactive console, and not when " -"redirecting files or pipes. To revert to the previous behaviour for " -"interactive console use, set :envvar:`PYTHONLEGACYWINDOWSSTDIO`." -msgstr "" - -#: ../../whatsnew/3.6.rst:541 -msgid ":pep:`528` -- Change Windows console encoding to UTF-8" -msgstr "" - -#: ../../whatsnew/3.6.rst:542 -msgid "PEP written and implemented by Steve Dower." -msgstr "" - -#: ../../whatsnew/3.6.rst:548 -msgid "PEP 520: Preserving Class Attribute Definition Order" -msgstr "" - -#: ../../whatsnew/3.6.rst:550 -msgid "" -"Attributes in a class definition body have a natural ordering: the same " -"order in which the names appear in the source. This order is now preserved " -"in the new class's :attr:`~type.__dict__` attribute." -msgstr "" - -#: ../../whatsnew/3.6.rst:554 -msgid "" -"Also, the effective default class *execution* namespace (returned from " -":ref:`type.__prepare__() `) is now an insertion-order-preserving " -"mapping." -msgstr "" - -#: ../../whatsnew/3.6.rst:560 -msgid ":pep:`520` -- Preserving Class Attribute Definition Order" -msgstr "" - -#: ../../whatsnew/3.6.rst:561 ../../whatsnew/3.6.rst:575 -msgid "PEP written and implemented by Eric Snow." -msgstr "" - -#: ../../whatsnew/3.6.rst:567 -msgid "PEP 468: Preserving Keyword Argument Order" -msgstr "" - -#: ../../whatsnew/3.6.rst:569 -msgid "" -"``**kwargs`` in a function signature is now guaranteed to be an insertion-" -"order-preserving mapping." -msgstr "" - -#: ../../whatsnew/3.6.rst:574 -msgid ":pep:`468` -- Preserving Keyword Argument Order" -msgstr "" - -#: ../../whatsnew/3.6.rst:581 -msgid "New :ref:`dict ` implementation" -msgstr "" - -#: ../../whatsnew/3.6.rst:583 -msgid "" -"The :ref:`dict ` type now uses a \"compact\" representation " -"based on `a proposal by Raymond Hettinger " -"`_ " -"which was `first implemented by PyPy " -"`_. The memory usage of the new :func:`dict` is between 20% and " -"25% smaller compared to Python 3.5." -msgstr "" - -#: ../../whatsnew/3.6.rst:591 -msgid "" -"The order-preserving aspect of this new implementation is considered an " -"implementation detail and should not be relied upon (this may change in the " -"future, but it is desired to have this new dict implementation in the " -"language for a few releases before changing the language spec to mandate " -"order-preserving semantics for all current and future Python " -"implementations; this also helps preserve backwards-compatibility with older" -" versions of the language where random iteration order is still in effect, " -"e.g. Python 3.5)." -msgstr "" - -#: ../../whatsnew/3.6.rst:600 -msgid "" -"(Contributed by INADA Naoki in :issue:`27350`. Idea `originally suggested by" -" Raymond Hettinger `_.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:608 -msgid "PEP 523: Adding a frame evaluation API to CPython" -msgstr "" - -#: ../../whatsnew/3.6.rst:610 -msgid "" -"While Python provides extensive support to customize how code executes, one " -"place it has not done so is in the evaluation of frame objects. If you " -"wanted some way to intercept frame evaluation in Python there really wasn't " -"any way without directly manipulating function pointers for defined " -"functions." -msgstr "" - -#: ../../whatsnew/3.6.rst:616 -msgid "" -":pep:`523` changes this by providing an API to make frame evaluation " -"pluggable at the C level. This will allow for tools such as debuggers and " -"JITs to intercept frame evaluation before the execution of Python code " -"begins. This enables the use of alternative evaluation implementations for " -"Python code, tracking frame evaluation, etc." -msgstr "" - -#: ../../whatsnew/3.6.rst:623 -msgid "" -"This API is not part of the limited C API and is marked as private to signal" -" that usage of this API is expected to be limited and only applicable to " -"very select, low-level use-cases. Semantics of the API will change with " -"Python as necessary." -msgstr "" - -#: ../../whatsnew/3.6.rst:630 -msgid ":pep:`523` -- Adding a frame evaluation API to CPython" -msgstr "" - -#: ../../whatsnew/3.6.rst:631 -msgid "PEP written by Brett Cannon and Dino Viehland." -msgstr "" - -#: ../../whatsnew/3.6.rst:637 -msgid "PYTHONMALLOC environment variable" -msgstr "" - -#: ../../whatsnew/3.6.rst:639 -msgid "" -"The new :envvar:`PYTHONMALLOC` environment variable allows setting the " -"Python memory allocators and installing debug hooks." -msgstr "" - -#: ../../whatsnew/3.6.rst:642 -msgid "" -"It is now possible to install debug hooks on Python memory allocators on " -"Python compiled in release mode using ``PYTHONMALLOC=debug``. Effects of " -"debug hooks:" -msgstr "" - -#: ../../whatsnew/3.6.rst:645 -msgid "Newly allocated memory is filled with the byte ``0xCB``" -msgstr "" - -#: ../../whatsnew/3.6.rst:646 -msgid "Freed memory is filled with the byte ``0xDB``" -msgstr "" - -#: ../../whatsnew/3.6.rst:647 -msgid "" -"Detect violations of the Python memory allocator API. For example, " -":c:func:`PyObject_Free` called on a memory block allocated by " -":c:func:`PyMem_Malloc`." -msgstr "" - -#: ../../whatsnew/3.6.rst:650 -msgid "Detect writes before the start of a buffer (buffer underflows)" -msgstr "" - -#: ../../whatsnew/3.6.rst:651 -msgid "Detect writes after the end of a buffer (buffer overflows)" -msgstr "" - -#: ../../whatsnew/3.6.rst:652 -msgid "" -"Check that the :term:`GIL ` is held when allocator " -"functions of :c:macro:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and" -" :c:macro:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are " -"called." -msgstr "" - -#: ../../whatsnew/3.6.rst:656 -msgid "Checking if the GIL is held is also a new feature of Python 3.6." -msgstr "" - -#: ../../whatsnew/3.6.rst:658 -msgid "" -"See the :c:func:`PyMem_SetupDebugHooks` function for debug hooks on Python " -"memory allocators." -msgstr "" - -#: ../../whatsnew/3.6.rst:661 -msgid "" -"It is now also possible to force the usage of the :c:func:`malloc` allocator" -" of the C library for all Python memory allocations using " -"``PYTHONMALLOC=malloc``. This is helpful when using external memory " -"debuggers like Valgrind on a Python compiled in release mode." -msgstr "" - -#: ../../whatsnew/3.6.rst:666 -msgid "" -"On error, the debug hooks on Python memory allocators now use the " -":mod:`tracemalloc` module to get the traceback where a memory block was " -"allocated." -msgstr "" - -#: ../../whatsnew/3.6.rst:670 -msgid "" -"Example of fatal error on buffer overflow using ``python3.6 -X " -"tracemalloc=5`` (store 5 frames in traces)::" -msgstr "" - -#: ../../whatsnew/3.6.rst:673 -msgid "" -"Debug memory block at address p=0x7fbcd41666f8: API 'o'\n" -" 4 bytes originally requested\n" -" The 7 pad bytes at p-7 are FORBIDDENBYTE, as expected.\n" -" The 8 pad bytes at tail=0x7fbcd41666fc are not all FORBIDDENBYTE (0xfb):\n" -" at tail+0: 0x02 *** OUCH\n" -" at tail+1: 0xfb\n" -" at tail+2: 0xfb\n" -" at tail+3: 0xfb\n" -" at tail+4: 0xfb\n" -" at tail+5: 0xfb\n" -" at tail+6: 0xfb\n" -" at tail+7: 0xfb\n" -" The block was made by call #1233329 to debug malloc/realloc.\n" -" Data at p: 1a 2b 30 00\n" -"\n" -"Memory block allocated at (most recent call first):\n" -" File \"test/test_bytes.py\", line 323\n" -" File \"unittest/case.py\", line 600\n" -" File \"unittest/case.py\", line 648\n" -" File \"unittest/suite.py\", line 122\n" -" File \"unittest/suite.py\", line 84\n" -"\n" -"Fatal Python error: bad trailing pad byte\n" -"\n" -"Current thread 0x00007fbcdbd32700 (most recent call first):\n" -" File \"test/test_bytes.py\", line 323 in test_hex\n" -" File \"unittest/case.py\", line 600 in run\n" -" File \"unittest/case.py\", line 648 in __call__\n" -" File \"unittest/suite.py\", line 122 in run\n" -" File \"unittest/suite.py\", line 84 in __call__\n" -" File \"unittest/suite.py\", line 122 in run\n" -" File \"unittest/suite.py\", line 84 in __call__\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.6.rst:707 -msgid "(Contributed by Victor Stinner in :issue:`26516` and :issue:`26564`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:713 -msgid "DTrace and SystemTap probing support" -msgstr "" - -#: ../../whatsnew/3.6.rst:715 -msgid "" -"Python can now be built ``--with-dtrace`` which enables static markers for " -"the following events in the interpreter:" -msgstr "" - -#: ../../whatsnew/3.6.rst:718 -msgid "function call/return" -msgstr "" - -#: ../../whatsnew/3.6.rst:720 -msgid "garbage collection started/finished" -msgstr "" - -#: ../../whatsnew/3.6.rst:722 -msgid "line of code executed." -msgstr "" - -#: ../../whatsnew/3.6.rst:724 -msgid "" -"This can be used to instrument running interpreters in production, without " -"the need to recompile specific :ref:`debug builds ` or " -"providing application-specific profiling/debugging code." -msgstr "" - -#: ../../whatsnew/3.6.rst:728 -msgid "More details in :ref:`instrumentation`." -msgstr "" - -#: ../../whatsnew/3.6.rst:730 -msgid "" -"The current implementation is tested on Linux and macOS. Additional markers" -" may be added in the future." -msgstr "" - -#: ../../whatsnew/3.6.rst:733 -msgid "" -"(Contributed by Łukasz Langa in :issue:`21590`, based on patches by Jesús " -"Cea Avión, David Malcolm, and Nikhil Benesch.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:738 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.6.rst:740 -msgid "Some smaller changes made to the core Python language are:" -msgstr "" - -#: ../../whatsnew/3.6.rst:742 -msgid "" -"A ``global`` or ``nonlocal`` statement must now textually appear before the " -"first use of the affected name in the same scope. Previously this was a " -":exc:`SyntaxWarning`." -msgstr "" - -#: ../../whatsnew/3.6.rst:746 -msgid "" -"It is now possible to set a :ref:`special method ` to ``None``" -" to indicate that the corresponding operation is not available. For example," -" if a class sets :meth:`__iter__` to ``None``, the class is not iterable. " -"(Contributed by Andrew Barnert and Ivan Levkivskyi in :issue:`25958`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:752 -msgid "" -"Long sequences of repeated traceback lines are now abbreviated as " -"``\"[Previous line repeated {count} more times]\"`` (see " -":ref:`whatsnew36-traceback` for an example). (Contributed by Emanuel Barry " -"in :issue:`26823`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:757 -msgid "" -"Import now raises the new exception :exc:`ModuleNotFoundError` (subclass of " -":exc:`ImportError`) when it cannot find a module. Code that currently " -"checks for ImportError (in try-except) will still work. (Contributed by Eric" -" Snow in :issue:`15767`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:762 -msgid "" -"Class methods relying on zero-argument ``super()`` will now work correctly " -"when called from metaclass methods during class creation. (Contributed by " -"Martin Teichmann in :issue:`23722`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:768 -msgid "New Modules" -msgstr "Modul-Modul Baru" - -#: ../../whatsnew/3.6.rst:773 -msgid "secrets" -msgstr "" - -#: ../../whatsnew/3.6.rst:775 -msgid "" -"The main purpose of the new :mod:`secrets` module is to provide an obvious " -"way to reliably generate cryptographically strong pseudo-random values " -"suitable for managing secrets, such as account authentication, tokens, and " -"similar." -msgstr "" - -#: ../../whatsnew/3.6.rst:781 -msgid "" -"Note that the pseudo-random generators in the :mod:`random` module should " -"*NOT* be used for security purposes. Use :mod:`secrets` on Python 3.6+ and " -":func:`os.urandom` on Python 3.5 and earlier." -msgstr "" - -#: ../../whatsnew/3.6.rst:787 -msgid ":pep:`506` -- Adding A Secrets Module To The Standard Library" -msgstr "" - -#: ../../whatsnew/3.6.rst:788 -msgid "PEP written and implemented by Steven D'Aprano." -msgstr "" - -#: ../../whatsnew/3.6.rst:792 -msgid "Improved Modules" -msgstr "Modul yang Ditingkatkan" - -#: ../../whatsnew/3.6.rst:795 -msgid "array" -msgstr "array" - -#: ../../whatsnew/3.6.rst:797 -msgid "" -"Exhausted iterators of :class:`array.array` will now stay exhausted even if " -"the iterated array is extended. This is consistent with the behavior of " -"other mutable sequences." -msgstr "" - -#: ../../whatsnew/3.6.rst:801 -msgid "Contributed by Serhiy Storchaka in :issue:`26492`." -msgstr "Kontribusi dari Serhiy Storchaka di :issue:`26492`." - -#: ../../whatsnew/3.6.rst:804 -msgid "ast" -msgstr "ast" - -#: ../../whatsnew/3.6.rst:806 -msgid "" -"The new :class:`ast.Constant` AST node has been added. It can be used by " -"external AST optimizers for the purposes of constant folding." -msgstr "" - -#: ../../whatsnew/3.6.rst:809 -msgid "Contributed by Victor Stinner in :issue:`26146`." -msgstr "Kontribusi dari Victor Stinner di :issue:`26146`." - -#: ../../whatsnew/3.6.rst:813 -msgid "asyncio" -msgstr "asyncio" - -#: ../../whatsnew/3.6.rst:815 -msgid "" -"Starting with Python 3.6 the ``asyncio`` module is no longer provisional and" -" its API is considered stable." -msgstr "" - -#: ../../whatsnew/3.6.rst:818 -msgid "" -"Notable changes in the :mod:`asyncio` module since Python 3.5.0 (all " -"backported to 3.5.x due to the provisional status):" -msgstr "" - -#: ../../whatsnew/3.6.rst:821 -msgid "" -"The :func:`~asyncio.get_event_loop` function has been changed to always " -"return the currently running loop when called from coroutines and callbacks." -" (Contributed by Yury Selivanov in :issue:`28613`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:826 -msgid "" -"The :func:`~asyncio.ensure_future` function and all functions that use it, " -"such as :meth:`loop.run_until_complete() `," -" now accept all kinds of :term:`awaitable objects `. (Contributed" -" by Yury Selivanov.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:831 -msgid "" -"New :func:`~asyncio.run_coroutine_threadsafe` function to submit coroutines " -"to event loops from other threads. (Contributed by Vincent Michel.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:835 -msgid "" -"New :meth:`Transport.is_closing() ` method" -" to check if the transport is closing or closed. (Contributed by Yury " -"Selivanov.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:839 -msgid "" -"The :meth:`loop.create_server() ` method can now" -" accept a list of hosts. (Contributed by Yann Sionneau.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:843 -msgid "" -"New :meth:`loop.create_future() ` method to " -"create Future objects. This allows alternative event loop implementations, " -"such as `uvloop `_, to provide a " -"faster :class:`asyncio.Future` implementation. (Contributed by Yury " -"Selivanov in :issue:`27041`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:850 -msgid "" -"New :meth:`loop.get_exception_handler() " -"` method to get the current exception " -"handler. (Contributed by Yury Selivanov in :issue:`27040`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:854 -msgid "" -"New :meth:`StreamReader.readuntil() ` method" -" to read data from the stream until a separator bytes sequence appears. " -"(Contributed by Mark Korenberg.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:859 -msgid "" -"The performance of :meth:`StreamReader.readexactly() " -"` has been improved. (Contributed by Mark " -"Korenberg in :issue:`28370`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:863 -msgid "" -"The :meth:`loop.getaddrinfo() ` method is " -"optimized to avoid calling the system ``getaddrinfo`` function if the " -"address is already resolved. (Contributed by A. Jesse Jiryu Davis.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:868 -msgid "" -"The :meth:`loop.stop() ` method has been changed to stop " -"the loop immediately after the current iteration. Any new callbacks " -"scheduled as a result of the last iteration will be discarded. (Contributed " -"by Guido van Rossum in :issue:`25593`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:874 -msgid "" -":meth:`Future.set_exception ` will now" -" raise :exc:`TypeError` when passed an instance of the :exc:`StopIteration` " -"exception. (Contributed by Chris Angelico in :issue:`26221`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:879 -msgid "" -"New :meth:`loop.connect_accepted_socket() " -"` method to be used by servers that " -"accept connections outside of asyncio, but that use asyncio to handle them. " -"(Contributed by Jim Fulton in :issue:`27392`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:884 -msgid "" -"``TCP_NODELAY`` flag is now set for all TCP transports by default. " -"(Contributed by Yury Selivanov in :issue:`27456`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:887 -msgid "" -"New :meth:`loop.shutdown_asyncgens() ` to " -"properly close pending asynchronous generators before closing the loop. " -"(Contributed by Yury Selivanov in :issue:`28003`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:892 -msgid "" -":class:`Future ` and :class:`Task ` classes " -"now have an optimized C implementation which makes asyncio code up to 30% " -"faster. (Contributed by Yury Selivanov and INADA Naoki in :issue:`26081` and" -" :issue:`28544`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:900 -msgid "binascii" -msgstr "binascii" - -#: ../../whatsnew/3.6.rst:902 -msgid "" -"The :func:`~binascii.b2a_base64` function now accepts an optional *newline* " -"keyword argument to control whether the newline character is appended to the" -" return value. (Contributed by Victor Stinner in :issue:`25357`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:909 -msgid "cmath" -msgstr "" - -#: ../../whatsnew/3.6.rst:911 -msgid "" -"The new :const:`cmath.tau` (*τ*) constant has been added. (Contributed by " -"Lisa Roach in :issue:`12345`, see :pep:`628` for details.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:914 -msgid "" -"New constants: :const:`cmath.inf` and :const:`cmath.nan` to match " -":const:`math.inf` and :const:`math.nan`, and also :const:`cmath.infj` and " -":const:`cmath.nanj` to match the format used by complex repr. (Contributed " -"by Mark Dickinson in :issue:`23229`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:921 -msgid "collections" -msgstr "collections" - -#: ../../whatsnew/3.6.rst:923 -msgid "" -"The new :class:`~collections.abc.Collection` abstract base class has been " -"added to represent sized iterable container classes. (Contributed by Ivan " -"Levkivskyi, docs by Neil Girdhar in :issue:`27598`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:927 -msgid "" -"The new :class:`~collections.abc.Reversible` abstract base class represents " -"iterable classes that also provide the :meth:`__reversed__` method. " -"(Contributed by Ivan Levkivskyi in :issue:`25987`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:931 -msgid "" -"The new :class:`~collections.abc.AsyncGenerator` abstract base class " -"represents asynchronous generators. (Contributed by Yury Selivanov in " -":issue:`28720`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:935 -msgid "" -"The :func:`~collections.namedtuple` function now accepts an optional keyword" -" argument *module*, which, when specified, is used for the " -":attr:`~type.__module__` attribute of the returned named tuple class. " -"(Contributed by Raymond Hettinger in :issue:`17941`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:940 ../../whatsnew/3.6.rst:2295 -msgid "" -"The *verbose* and *rename* arguments for :func:`~collections.namedtuple` are" -" now keyword-only. (Contributed by Raymond Hettinger in :issue:`25628`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:944 -msgid "" -"Recursive :class:`collections.deque` instances can now be pickled. " -"(Contributed by Serhiy Storchaka in :issue:`26482`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:949 -msgid "concurrent.futures" -msgstr "concurrent.futures" - -#: ../../whatsnew/3.6.rst:951 -msgid "" -"The :class:`ThreadPoolExecutor ` " -"class constructor now accepts an optional *thread_name_prefix* argument to " -"make it possible to customize the names of the threads created by the pool. " -"(Contributed by Gregory P. Smith in :issue:`27664`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:959 -msgid "contextlib" -msgstr "contextlib" - -#: ../../whatsnew/3.6.rst:961 -msgid "" -"The :class:`contextlib.AbstractContextManager` class has been added to " -"provide an abstract base class for context managers. It provides a sensible" -" default implementation for ``__enter__()`` which returns ``self`` and " -"leaves ``__exit__()`` an abstract method. A matching class has been added " -"to the :mod:`typing` module as :class:`typing.ContextManager`. (Contributed " -"by Brett Cannon in :issue:`25609`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:971 -msgid "datetime" -msgstr "datetime" - -#: ../../whatsnew/3.6.rst:973 -msgid "" -"The :class:`~datetime.datetime` and :class:`~datetime.time` classes have the" -" new :attr:`~time.fold` attribute used to disambiguate local time when " -"necessary. Many functions in the :mod:`datetime` have been updated to " -"support local time disambiguation. See :ref:`Local Time Disambiguation " -"` section for more information. (Contributed by Alexander" -" Belopolsky in :issue:`24773`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:981 -msgid "" -"The :meth:`datetime.strftime() ` and " -":meth:`date.strftime() ` methods now support ISO " -"8601 date directives ``%G``, ``%u`` and ``%V``. (Contributed by Ashley " -"Anderson in :issue:`12006`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:986 -msgid "" -"The :func:`datetime.isoformat() ` function now " -"accepts an optional *timespec* argument that specifies the number of " -"additional components of the time value to include. (Contributed by " -"Alessandro Cucci and Alexander Belopolsky in :issue:`19475`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:991 -msgid "" -"The :meth:`datetime.combine() ` now accepts an " -"optional *tzinfo* argument. (Contributed by Alexander Belopolsky in " -":issue:`27661`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:997 -msgid "decimal" -msgstr "decimal" - -#: ../../whatsnew/3.6.rst:999 -msgid "" -"New :meth:`Decimal.as_integer_ratio() ` " -"method that returns a pair ``(n, d)`` of integers that represent the given " -":class:`~decimal.Decimal` instance as a fraction, in lowest terms and with a" -" positive denominator::" -msgstr "" - -#: ../../whatsnew/3.6.rst:1004 -msgid "" -">>> Decimal('-3.14').as_integer_ratio()\n" -"(-157, 50)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1007 -msgid "(Contributed by Stefan Krah amd Mark Dickinson in :issue:`25928`.)" -msgstr "(Kontribusi dari Stefan Krah amd Mark Dickinson di :issue:`25928`.)" - -#: ../../whatsnew/3.6.rst:1012 ../../whatsnew/3.6.rst:1990 -msgid "distutils" -msgstr "distutils" - -#: ../../whatsnew/3.6.rst:1014 -msgid "" -"The ``default_format`` attribute has been removed from " -"``distutils.command.sdist.sdist`` and the ``formats`` attribute defaults to " -"``['gztar']``. Although not anticipated, any code relying on the presence of" -" ``default_format`` may need to be adapted. See :issue:`27819` for more " -"details." -msgstr "" - -#: ../../whatsnew/3.6.rst:1022 -msgid "email" -msgstr "" - -#: ../../whatsnew/3.6.rst:1024 -msgid "" -"The new email API, enabled via the *policy* keyword to various constructors," -" is no longer provisional. The :mod:`email` documentation has been " -"reorganized and rewritten to focus on the new API, while retaining the old " -"documentation for the legacy API. (Contributed by R. David Murray in " -":issue:`24277`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1029 -msgid "" -"The :mod:`email.mime` classes now all accept an optional *policy* keyword. " -"(Contributed by Berker Peksag in :issue:`27331`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1032 -msgid "" -"The :class:`~email.generator.DecodedGenerator` now supports the *policy* " -"keyword." -msgstr "" - -#: ../../whatsnew/3.6.rst:1035 -msgid "" -"There is a new :mod:`~email.policy` attribute, " -":attr:`~email.policy.Policy.message_factory`, that controls what class is " -"used by default when the parser creates new message objects. For the " -":attr:`email.policy.compat32` policy this is " -":class:`~email.message.Message`, for the new policies it is " -":class:`~email.message.EmailMessage`. (Contributed by R. David Murray in " -":issue:`20476`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1044 -msgid "encodings" -msgstr "" - -#: ../../whatsnew/3.6.rst:1046 -msgid "" -"On Windows, added the ``'oem'`` encoding to use ``CP_OEMCP``, and the " -"``'ansi'`` alias for the existing ``'mbcs'`` encoding, which uses the " -"``CP_ACP`` code page. (Contributed by Steve Dower in :issue:`27959`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1052 -msgid "enum" -msgstr "enum" - -#: ../../whatsnew/3.6.rst:1054 -msgid "" -"Two new enumeration base classes have been added to the :mod:`enum` module: " -":class:`~enum.Flag` and :class:`~enum.IntFlags`. Both are used to define " -"constants that can be combined using the bitwise operators. (Contributed by " -"Ethan Furman in :issue:`23591`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1059 -msgid "" -"Many standard library modules have been updated to use the " -":class:`~enum.IntFlags` class for their constants." -msgstr "" - -#: ../../whatsnew/3.6.rst:1062 -msgid "" -"The new :class:`enum.auto` value can be used to assign values to enum " -"members automatically::" -msgstr "" - -#: ../../whatsnew/3.6.rst:1065 -msgid "" -">>> from enum import Enum, auto\n" -">>> class Color(Enum):\n" -"... red = auto()\n" -"... blue = auto()\n" -"... green = auto()\n" -"...\n" -">>> list(Color)\n" -"[, , ]" -msgstr "" - -#: ../../whatsnew/3.6.rst:1076 -msgid "faulthandler" -msgstr "" - -#: ../../whatsnew/3.6.rst:1078 -msgid "" -"On Windows, the :mod:`faulthandler` module now installs a handler for " -"Windows exceptions: see :func:`faulthandler.enable`. (Contributed by Victor " -"Stinner in :issue:`23848`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1084 -msgid "fileinput" -msgstr "" - -#: ../../whatsnew/3.6.rst:1086 -msgid "" -":func:`~fileinput.hook_encoded` now supports the *errors* argument. " -"(Contributed by Joseph Hackman in :issue:`25788`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1091 -msgid "hashlib" -msgstr "" - -#: ../../whatsnew/3.6.rst:1093 -msgid "" -":mod:`hashlib` supports OpenSSL 1.1.0. The minimum recommend version is " -"1.0.2. (Contributed by Christian Heimes in :issue:`26470`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1096 -msgid "" -"BLAKE2 hash functions were added to the module. :func:`~hashlib.blake2b` and" -" :func:`~hashlib.blake2s` are always available and support the full feature " -"set of BLAKE2. (Contributed by Christian Heimes in :issue:`26798` based on " -"code by Dmitry Chestnykh and Samuel Neves. Documentation written by Dmitry " -"Chestnykh.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1102 -msgid "" -"The SHA-3 hash functions :func:`~hashlib.sha3_224`, " -":func:`~hashlib.sha3_256`, :func:`~hashlib.sha3_384`, " -":func:`~hashlib.sha3_512`, and SHAKE hash functions " -":func:`~hashlib.shake_128` and :func:`~hashlib.shake_256` were added. " -"(Contributed by Christian Heimes in :issue:`16113`. Keccak Code Package by " -"Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche, and Ronny " -"Van Keer.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1109 -msgid "" -"The password-based key derivation function :func:`~hashlib.scrypt` is now " -"available with OpenSSL 1.1.0 and newer. (Contributed by Christian Heimes in " -":issue:`27928`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1114 -msgid "http.client" -msgstr "http.client" - -#: ../../whatsnew/3.6.rst:1116 -msgid "" -":meth:`HTTPConnection.request() ` and " -":meth:`~http.client.HTTPConnection.endheaders` both now support chunked " -"encoding request bodies. (Contributed by Demian Brecht and Rolf Krahl in " -":issue:`12319`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1123 -msgid "idlelib and IDLE" -msgstr "idlelib and IDLE" - -#: ../../whatsnew/3.6.rst:1125 -msgid "" -"The idlelib package is being modernized and refactored to make IDLE look and" -" work better and to make the code easier to understand, test, and improve. " -"Part of making IDLE look better, especially on Linux and Mac, is using ttk " -"widgets, mostly in the dialogs. As a result, IDLE no longer runs with " -"tcl/tk 8.4. It now requires tcl/tk 8.5 or 8.6. We recommend running the " -"latest release of either." -msgstr "" - -#: ../../whatsnew/3.6.rst:1132 -msgid "" -"'Modernizing' includes renaming and consolidation of idlelib modules. The " -"renaming of files with partial uppercase names is similar to the renaming " -"of, for instance, Tkinter and TkFont to tkinter and tkinter.font in 3.0. As" -" a result, imports of idlelib files that worked in 3.5 will usually not work" -" in 3.6. At least a module name change will be needed (see " -"idlelib/README.txt), sometimes more. (Name changes contributed by Al " -"Swiegart and Terry Reedy in :issue:`24225`. Most idlelib patches since have" -" been and will be part of the process.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1141 -msgid "" -"In compensation, the eventual result with be that some idlelib classes will " -"be easier to use, with better APIs and docstrings explaining them. " -"Additional useful information will be added to idlelib when available." -msgstr "" - -#: ../../whatsnew/3.6.rst:1145 -msgid "New in 3.6.2:" -msgstr "Baru di 3.6.2:" - -#: ../../whatsnew/3.6.rst:1147 -msgid "" -"Multiple fixes for autocompletion. (Contributed by Louie Lu in " -":issue:`15786`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1149 -msgid "New in 3.6.3:" -msgstr "Baru di 3.6.3:" - -#: ../../whatsnew/3.6.rst:1151 -msgid "" -"Module Browser (on the File menu, formerly called Class Browser), now " -"displays nested functions and classes in addition to top-level functions and" -" classes. (Contributed by Guilherme Polo, Cheryl Sabella, and Terry Jan " -"Reedy in :issue:`1612262`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1157 -msgid "" -"The IDLE features formerly implemented as extensions have been reimplemented" -" as normal features. Their settings have been moved from the Extensions tab" -" to other dialog tabs. (Contributed by Charles Wohlganger and Terry Jan " -"Reedy in :issue:`27099`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1162 -msgid "" -"The Settings dialog (Options, Configure IDLE) has been partly rewritten to " -"improve both appearance and function. (Contributed by Cheryl Sabella and " -"Terry Jan Reedy in multiple issues.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1166 -msgid "New in 3.6.4:" -msgstr "Baru di 3.6.4:" - -#: ../../whatsnew/3.6.rst:1168 -msgid "" -"The font sample now includes a selection of non-Latin characters so that " -"users can better see the effect of selecting a particular font. (Contributed" -" by Terry Jan Reedy in :issue:`13802`.) The sample can be edited to include " -"other characters. (Contributed by Serhiy Storchaka in :issue:`31860`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1174 -msgid "New in 3.6.6:" -msgstr "Baru di 3.6.6:" - -#: ../../whatsnew/3.6.rst:1176 -msgid "" -"Editor code context option revised. Box displays all context lines up to " -"maxlines. Clicking on a context line jumps the editor to that line. " -"Context colors for custom themes is added to Highlights tab of Settings " -"dialog. (Contributed by Cheryl Sabella and Terry Jan Reedy in " -":issue:`33642`, :issue:`33768`, and :issue:`33679`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1182 -msgid "" -"On Windows, a new API call tells Windows that tk scales for DPI. On Windows " -"8.1+ or 10, with DPI compatibility properties of the Python binary " -"unchanged, and a monitor resolution greater than 96 DPI, this should make " -"text and lines sharper. It should otherwise have no effect. (Contributed by" -" Terry Jan Reedy in :issue:`33656`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1188 -msgid "New in 3.6.7:" -msgstr "Baru di 3.6.7:" - -#: ../../whatsnew/3.6.rst:1190 -msgid "" -"Output over N lines (50 by default) is squeezed down to a button. N can be " -"changed in the PyShell section of the General page of the Settings dialog. " -"Fewer, but possibly extra long, lines can be squeezed by right clicking on " -"the output. Squeezed output can be expanded in place by double-clicking the" -" button or into the clipboard or a separate window by right-clicking the " -"button. (Contributed by Tal Einat in :issue:`1529353`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1199 ../../whatsnew/3.6.rst:2007 -msgid "importlib" -msgstr "importlib" - -#: ../../whatsnew/3.6.rst:1201 -msgid "" -"Import now raises the new exception :exc:`ModuleNotFoundError` (subclass of " -":exc:`ImportError`) when it cannot find a module. Code that current checks " -"for ``ImportError`` (in try-except) will still work. (Contributed by Eric " -"Snow in :issue:`15767`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1206 -msgid "" -":class:`importlib.util.LazyLoader` now calls " -":meth:`~importlib.abc.Loader.create_module` on the wrapped loader, removing " -"the restriction that :class:`importlib.machinery.BuiltinImporter` and " -":class:`importlib.machinery.ExtensionFileLoader` couldn't be used with " -":class:`importlib.util.LazyLoader`." -msgstr "" - -#: ../../whatsnew/3.6.rst:1212 -msgid "" -":func:`importlib.util.cache_from_source`, " -":func:`importlib.util.source_from_cache`, and " -":func:`importlib.util.spec_from_file_location` now accept a :term:`path-like" -" object`." -msgstr "" - -#: ../../whatsnew/3.6.rst:1219 -msgid "inspect" -msgstr "inspect" - -#: ../../whatsnew/3.6.rst:1221 -msgid "" -"The :func:`inspect.signature() ` function now reports the" -" implicit ``.0`` parameters generated by the compiler for comprehension and " -"generator expression scopes as if they were positional-only parameters " -"called ``implicit0``. (Contributed by Jelle Zijlstra in :issue:`19611`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1226 -msgid "" -"To reduce code churn when upgrading from Python 2.7 and the legacy " -":func:`inspect.getargspec` API, the previously documented deprecation of " -":func:`inspect.getfullargspec` has been reversed. While this function is " -"convenient for single/source Python 2/3 code bases, the richer " -":func:`inspect.signature` interface remains the recommended approach for new" -" code. (Contributed by Nick Coghlan in :issue:`27172`)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1235 -msgid "json" -msgstr "json" - -#: ../../whatsnew/3.6.rst:1237 -msgid "" -":func:`json.load` and :func:`json.loads` now support binary input. Encoded " -"JSON should be represented using either UTF-8, UTF-16, or UTF-32. " -"(Contributed by Serhiy Storchaka in :issue:`17909`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1243 -msgid "logging" -msgstr "logging" - -#: ../../whatsnew/3.6.rst:1245 -msgid "" -"The new :meth:`WatchedFileHandler.reopenIfNeeded() " -"` method has been added " -"to add the ability to check if the log file needs to be reopened. " -"(Contributed by Marian Horban in :issue:`24884`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1252 -msgid "math" -msgstr "math" - -#: ../../whatsnew/3.6.rst:1254 -msgid "" -"The tau (*τ*) constant has been added to the :mod:`math` and :mod:`cmath` " -"modules. (Contributed by Lisa Roach in :issue:`12345`, see :pep:`628` for " -"details.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1260 -msgid "multiprocessing" -msgstr "multiprocessing" - -#: ../../whatsnew/3.6.rst:1262 -msgid "" -":ref:`Proxy Objects ` returned by " -":func:`multiprocessing.Manager` can now be nested. (Contributed by Davin " -"Potts in :issue:`6766`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1268 ../../whatsnew/3.6.rst:2021 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.6.rst:1270 -msgid "" -"See the summary of :ref:`PEP 519 ` for details on how the" -" :mod:`os` and :mod:`os.path` modules now support :term:`path-like objects " -"`." -msgstr "" - -#: ../../whatsnew/3.6.rst:1274 -msgid ":func:`~os.scandir` now supports :class:`bytes` paths on Windows." -msgstr "" - -#: ../../whatsnew/3.6.rst:1276 -msgid "" -"A new :meth:`~os.scandir.close` method allows explicitly closing a " -":func:`~os.scandir` iterator. The :func:`~os.scandir` iterator now supports" -" the :term:`context manager` protocol. If a :func:`scandir` iterator is " -"neither exhausted nor explicitly closed a :exc:`ResourceWarning` will be " -"emitted in its destructor. (Contributed by Serhiy Storchaka in " -":issue:`25994`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1286 -msgid "" -"The Linux ``getrandom()`` syscall (get random bytes) is now exposed as the " -"new :func:`os.getrandom` function. (Contributed by Victor Stinner, part of " -"the :pep:`524`)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1292 -msgid "pathlib" -msgstr "pathlib" - -#: ../../whatsnew/3.6.rst:1294 -msgid "" -":mod:`pathlib` now supports :term:`path-like objects `. " -"(Contributed by Brett Cannon in :issue:`27186`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1297 -msgid "See the summary of :ref:`PEP 519 ` for details." -msgstr "" - -#: ../../whatsnew/3.6.rst:1301 -msgid "pdb" -msgstr "pdb" - -#: ../../whatsnew/3.6.rst:1303 -msgid "" -"The :class:`~pdb.Pdb` class constructor has a new optional *readrc* argument" -" to control whether ``.pdbrc`` files should be read." -msgstr "" - -#: ../../whatsnew/3.6.rst:1308 -msgid "pickle" -msgstr "pickle" - -#: ../../whatsnew/3.6.rst:1310 -msgid "" -"Objects that need ``__new__`` called with keyword arguments can now be " -"pickled using :ref:`pickle protocols ` older than protocol" -" version 4. Protocol version 4 already supports this case. (Contributed by " -"Serhiy Storchaka in :issue:`24164`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1317 -msgid "pickletools" -msgstr "" - -#: ../../whatsnew/3.6.rst:1319 -msgid "" -":func:`pickletools.dis` now outputs the implicit memo index for the " -"``MEMOIZE`` opcode. (Contributed by Serhiy Storchaka in :issue:`25382`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1325 -msgid "pydoc" -msgstr "pydoc" - -#: ../../whatsnew/3.6.rst:1327 -msgid "" -"The :mod:`pydoc` module has learned to respect the ``MANPAGER`` environment " -"variable. (Contributed by Matthias Klose in :issue:`8637`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1331 -msgid "" -":func:`help` and :mod:`pydoc` can now list named tuple fields in the order " -"they were defined rather than alphabetically. (Contributed by Raymond " -"Hettinger in :issue:`24879`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1337 -msgid "random" -msgstr "" - -#: ../../whatsnew/3.6.rst:1339 -msgid "" -"The new :func:`~random.choices` function returns a list of elements of " -"specified size from the given population with optional weights. (Contributed" -" by Raymond Hettinger in :issue:`18844`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1345 ../../whatsnew/3.6.rst:2029 -msgid "re" -msgstr "re" - -#: ../../whatsnew/3.6.rst:1347 -msgid "" -"Added support of modifier spans in regular expressions. Examples: " -"``'(?i:p)ython'`` matches ``'python'`` and ``'Python'``, but not " -"``'PYTHON'``; ``'(?i)g(?-i:v)r'`` matches ``'GvR'`` and ``'gvr'``, but not " -"``'GVR'``. (Contributed by Serhiy Storchaka in :issue:`433028`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1352 -msgid "" -"Match object groups can be accessed by ``__getitem__``, which is equivalent " -"to ``group()``. So ``mo['name']`` is now equivalent to " -"``mo.group('name')``. (Contributed by Eric Smith in :issue:`24454`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1356 -msgid "" -":class:`~re.Match` objects now support :meth:`index-like objects " -"` as group indices. (Contributed by Jeroen Demeyer and " -"Xiang Zhang in :issue:`27177`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1363 -msgid "readline" -msgstr "" - -#: ../../whatsnew/3.6.rst:1365 -msgid "" -"Added :func:`~readline.set_auto_history` to enable or disable automatic " -"addition of input to the history list. (Contributed by Tyler Crompton in " -":issue:`26870`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1371 -msgid "rlcompleter" -msgstr "" - -#: ../../whatsnew/3.6.rst:1373 -msgid "" -"Private and special attribute names now are omitted unless the prefix starts" -" with underscores. A space or a colon is added after some completed " -"keywords. (Contributed by Serhiy Storchaka in :issue:`25011` and " -":issue:`25209`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1379 -msgid "shlex" -msgstr "shlex" - -#: ../../whatsnew/3.6.rst:1381 -msgid "" -"The :class:`~shlex.shlex` has much :ref:`improved shell compatibility " -"` through the new *punctuation_chars* argument" -" to control which characters are treated as punctuation. (Contributed by " -"Vinay Sajip in :issue:`1521950`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1389 -msgid "site" -msgstr "site" - -#: ../../whatsnew/3.6.rst:1391 -msgid "" -"When specifying paths to add to :data:`sys.path` in a ``.pth`` file, you may" -" now specify file paths on top of directories (e.g. zip files). (Contributed" -" by Wolfgang Langner in :issue:`26587`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1397 -msgid "sqlite3" -msgstr "sqlite3" - -#: ../../whatsnew/3.6.rst:1399 -msgid "" -":attr:`sqlite3.Cursor.lastrowid` now supports the ``REPLACE`` statement. " -"(Contributed by Alex LordThorsen in :issue:`16864`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1404 -msgid "socket" -msgstr "socket" - -#: ../../whatsnew/3.6.rst:1406 -msgid "" -"The :func:`~socket.socket.ioctl` function now supports the " -":const:`~socket.SIO_LOOPBACK_FAST_PATH` control code. (Contributed by Daniel" -" Stokes in :issue:`26536`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1410 -msgid "" -"The :meth:`~socket.socket.getsockopt` constants ``SO_DOMAIN``, " -"``SO_PROTOCOL``, ``SO_PEERSEC``, and ``SO_PASSSEC`` are now supported. " -"(Contributed by Christian Heimes in :issue:`26907`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1414 -msgid "" -"The :meth:`~socket.socket.setsockopt` now supports the ``setsockopt(level, " -"optname, None, optlen: int)`` form. (Contributed by Christian Heimes in " -":issue:`27744`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1418 -msgid "" -"The socket module now supports the address family :const:`~socket.AF_ALG` to" -" interface with Linux Kernel crypto API. ``ALG_*``, ``SOL_ALG`` and " -":meth:`~socket.socket.sendmsg_afalg` were added. (Contributed by Christian " -"Heimes in :issue:`27744` with support from Victor Stinner.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1424 -msgid "" -"New Linux constants ``TCP_USER_TIMEOUT`` and ``TCP_CONGESTION`` were added. " -"(Contributed by Omar Sandoval, :issue:`26273`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1429 -msgid "socketserver" -msgstr "socketserver" - -#: ../../whatsnew/3.6.rst:1431 -msgid "" -"Servers based on the :mod:`socketserver` module, including those defined in " -":mod:`http.server`, :mod:`xmlrpc.server` and :mod:`wsgiref.simple_server`, " -"now support the :term:`context manager` protocol. (Contributed by Aviv " -"Palivoda in :issue:`26404`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1437 -msgid "" -"The :attr:`~socketserver.StreamRequestHandler.wfile` attribute of " -":class:`~socketserver.StreamRequestHandler` classes now implements the " -":class:`io.BufferedIOBase` writable interface. In particular, calling " -":meth:`~io.BufferedIOBase.write` is now guaranteed to send the data in full." -" (Contributed by Martin Panter in :issue:`26721`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1445 ../../whatsnew/3.6.rst:2037 -msgid "ssl" -msgstr "ssl" - -#: ../../whatsnew/3.6.rst:1447 -msgid "" -":mod:`ssl` supports OpenSSL 1.1.0. The minimum recommend version is 1.0.2. " -"(Contributed by Christian Heimes in :issue:`26470`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1450 -msgid "" -"3DES has been removed from the default cipher suites and ChaCha20 Poly1305 " -"cipher suites have been added. (Contributed by Christian Heimes in " -":issue:`27850` and :issue:`27766`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1454 -msgid "" -":class:`~ssl.SSLContext` has better default configuration for options and " -"ciphers. (Contributed by Christian Heimes in :issue:`28043`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1458 -msgid "" -"SSL session can be copied from one client-side connection to another with " -"the new :class:`~ssl.SSLSession` class. TLS session resumption can speed up" -" the initial handshake, reduce latency and improve performance (Contributed " -"by Christian Heimes in :issue:`19500` based on a draft by Alex Warhawk.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1464 -msgid "" -"The new :meth:`~ssl.SSLContext.get_ciphers` method can be used to get a list" -" of enabled ciphers in order of cipher priority." -msgstr "" - -#: ../../whatsnew/3.6.rst:1467 -msgid "" -"All constants and flags have been converted to :class:`~enum.IntEnum` and " -":class:`~enum.IntFlags`. (Contributed by Christian Heimes in " -":issue:`28025`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1471 -msgid "" -"Server and client-side specific TLS protocols for :class:`~ssl.SSLContext` " -"were added. (Contributed by Christian Heimes in :issue:`28085`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1475 -msgid "" -"Added :attr:`ssl.SSLContext.post_handshake_auth` to enable and " -":meth:`ssl.SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 post-" -"handshake authentication. (Contributed by Christian Heimes in :gh:`78851`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1481 -msgid "statistics" -msgstr "statistics" - -#: ../../whatsnew/3.6.rst:1483 -msgid "" -"A new :func:`~statistics.harmonic_mean` function has been added. " -"(Contributed by Steven D'Aprano in :issue:`27181`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1488 -msgid "struct" -msgstr "" - -#: ../../whatsnew/3.6.rst:1490 -msgid "" -":mod:`struct` now supports IEEE 754 half-precision floats via the ``'e'`` " -"format specifier. (Contributed by Eli Stevens, Mark Dickinson in " -":issue:`11734`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1496 -msgid "subprocess" -msgstr "subprocess" - -#: ../../whatsnew/3.6.rst:1498 -msgid "" -":class:`subprocess.Popen` destructor now emits a :exc:`ResourceWarning` " -"warning if the child process is still running. Use the context manager " -"protocol (``with proc: ...``) or explicitly call the " -":meth:`~subprocess.Popen.wait` method to read the exit status of the child " -"process. (Contributed by Victor Stinner in :issue:`26741`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1504 -msgid "" -"The :class:`subprocess.Popen` constructor and all functions that pass " -"arguments through to it now accept *encoding* and *errors* arguments. " -"Specifying either of these will enable text mode for the *stdin*, *stdout* " -"and *stderr* streams. (Contributed by Steve Dower in :issue:`6135`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1511 -msgid "sys" -msgstr "sys" - -#: ../../whatsnew/3.6.rst:1513 -msgid "" -"The new :func:`~sys.getfilesystemencodeerrors` function returns the name of " -"the error mode used to convert between Unicode filenames and bytes " -"filenames. (Contributed by Steve Dower in :issue:`27781`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1517 -msgid "" -"On Windows the return value of the :func:`~sys.getwindowsversion` function " -"now includes the *platform_version* field which contains the accurate major " -"version, minor version and build number of the current operating system, " -"rather than the version that is being emulated for the process (Contributed " -"by Steve Dower in :issue:`27932`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1525 -msgid "telnetlib" -msgstr "" - -#: ../../whatsnew/3.6.rst:1527 -msgid "" -":class:`!telnetlib.Telnet` is now a context manager (contributed by Stéphane" -" Wirtel in :issue:`25485`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1532 -msgid "time" -msgstr "time" - -#: ../../whatsnew/3.6.rst:1534 -msgid "" -"The :class:`~time.struct_time` attributes :attr:`tm_gmtoff` and " -":attr:`tm_zone` are now available on all platforms." -msgstr "" - -#: ../../whatsnew/3.6.rst:1539 -msgid "timeit" -msgstr "" - -#: ../../whatsnew/3.6.rst:1541 -msgid "" -"The new :meth:`Timer.autorange() ` convenience " -"method has been added to call :meth:`Timer.timeit() ` " -"repeatedly so that the total run time is greater or equal to 200 " -"milliseconds. (Contributed by Steven D'Aprano in :issue:`6422`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1546 -msgid "" -":mod:`timeit` now warns when there is substantial (4x) variance between best" -" and worst times. (Contributed by Serhiy Storchaka in :issue:`23552`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1552 ../../whatsnew/3.6.rst:2054 -msgid "tkinter" -msgstr "tkinter" - -#: ../../whatsnew/3.6.rst:1554 -msgid "" -"Added methods :meth:`~tkinter.Variable.trace_add`, " -":meth:`~tkinter.Variable.trace_remove` and " -":meth:`~tkinter.Variable.trace_info` in the :class:`tkinter.Variable` class." -" They replace old methods :meth:`~tkinter.Variable.trace_variable`, " -":meth:`~tkinter.Variable.trace`, :meth:`~tkinter.Variable.trace_vdelete` and" -" :meth:`~tkinter.Variable.trace_vinfo` that use obsolete Tcl commands and " -"might not work in future versions of Tcl. (Contributed by Serhiy Storchaka " -"in :issue:`22115`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1567 -msgid "traceback" -msgstr "" - -#: ../../whatsnew/3.6.rst:1569 -msgid "" -"Both the traceback module and the interpreter's builtin exception display " -"now abbreviate long sequences of repeated lines in tracebacks as shown in " -"the following example::" -msgstr "" - -#: ../../whatsnew/3.6.rst:1573 -msgid "" -">>> def f(): f()\n" -"...\n" -">>> f()\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -" File \"\", line 1, in f\n" -" File \"\", line 1, in f\n" -" File \"\", line 1, in f\n" -" [Previous line repeated 995 more times]\n" -"RecursionError: maximum recursion depth exceeded" -msgstr "" - -#: ../../whatsnew/3.6.rst:1584 -msgid "(Contributed by Emanuel Barry in :issue:`26823`.)" -msgstr "(Kontribusi dari Emanuel Barry di :issue:`26823`.)" - -#: ../../whatsnew/3.6.rst:1588 -msgid "tracemalloc" -msgstr "tracemalloc" - -#: ../../whatsnew/3.6.rst:1590 -msgid "" -"The :mod:`tracemalloc` module now supports tracing memory allocations in " -"multiple different address spaces." -msgstr "" - -#: ../../whatsnew/3.6.rst:1593 -msgid "" -"The new :class:`~tracemalloc.DomainFilter` filter class has been added to " -"filter block traces by their address space (domain)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1596 -msgid "(Contributed by Victor Stinner in :issue:`26588`.)" -msgstr "(Kontribusi dari Victor Stinner di :issue:`26588`.)" - -#: ../../whatsnew/3.6.rst:1602 -msgid "typing" -msgstr "typing" - -#: ../../whatsnew/3.6.rst:1604 -msgid "" -"Since the :mod:`typing` module is :term:`provisional `, all" -" changes introduced in Python 3.6 have also been backported to Python 3.5.x." -msgstr "" - -#: ../../whatsnew/3.6.rst:1608 -msgid "" -"The :mod:`typing` module has a much improved support for generic type " -"aliases. For example ``Dict[str, Tuple[S, T]]`` is now a valid type " -"annotation. (Contributed by Guido van Rossum in `Github #195 " -"`_.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1614 -msgid "" -"The :class:`typing.ContextManager` class has been added for representing " -":class:`contextlib.AbstractContextManager`. (Contributed by Brett Cannon in " -":issue:`25609`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1618 -msgid "" -"The :class:`typing.Collection` class has been added for representing " -":class:`collections.abc.Collection`. (Contributed by Ivan Levkivskyi in " -":issue:`27598`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1622 -msgid "" -"The :const:`typing.ClassVar` type construct has been added to mark class " -"variables. As introduced in :pep:`526`, a variable annotation wrapped in " -"ClassVar indicates that a given attribute is intended to be used as a class " -"variable and should not be set on instances of that class. (Contributed by " -"Ivan Levkivskyi in `Github #280 " -"`_.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1629 -msgid "" -"A new :const:`~typing.TYPE_CHECKING` constant that is assumed to be ``True``" -" by the static type checkers, but is ``False`` at runtime. (Contributed by " -"Guido van Rossum in `Github #230 " -"`_.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1634 -msgid "" -"A new :func:`~typing.NewType` helper function has been added to create " -"lightweight distinct types for annotations::" -msgstr "" - -#: ../../whatsnew/3.6.rst:1637 -msgid "" -"from typing import NewType\n" -"\n" -"UserId = NewType('UserId', int)\n" -"some_id = UserId(524313)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1642 -msgid "" -"The static type checker will treat the new type as if it were a subclass of " -"the original type. (Contributed by Ivan Levkivskyi in `Github #189 " -"`_.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1648 -msgid "unicodedata" -msgstr "unicodedata" - -#: ../../whatsnew/3.6.rst:1650 -msgid "" -"The :mod:`unicodedata` module now uses data from `Unicode 9.0.0 " -"`_. (Contributed by Benjamin " -"Peterson.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1656 -msgid "unittest.mock" -msgstr "unittest.mock" - -#: ../../whatsnew/3.6.rst:1658 -msgid "The :class:`~unittest.mock.Mock` class has the following improvements:" -msgstr "" - -#: ../../whatsnew/3.6.rst:1660 -msgid "" -"Two new methods, :meth:`Mock.assert_called() " -"` and :meth:`Mock.assert_called_once() " -"` to check if the mock object was " -"called. (Contributed by Amit Saha in :issue:`26323`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1666 -msgid "" -"The :meth:`Mock.reset_mock() ` method now has" -" two optional keyword only arguments: *return_value* and *side_effect*. " -"(Contributed by Kushal Das in :issue:`21271`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1673 -msgid "urllib.request" -msgstr "" - -#: ../../whatsnew/3.6.rst:1675 -msgid "" -"If a HTTP request has a file or iterable body (other than a bytes object) " -"but no ``Content-Length`` header, rather than throwing an error, " -":class:`~urllib.request.AbstractHTTPHandler` now falls back to use chunked " -"transfer encoding. (Contributed by Demian Brecht and Rolf Krahl in " -":issue:`12319`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1683 -msgid "urllib.robotparser" -msgstr "" - -#: ../../whatsnew/3.6.rst:1685 -msgid "" -":class:`~urllib.robotparser.RobotFileParser` now supports the ``Crawl-" -"delay`` and ``Request-rate`` extensions. (Contributed by Nikolay Bogoychev " -"in :issue:`16099`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1691 ../../whatsnew/3.6.rst:2062 -msgid "venv" -msgstr "venv" - -#: ../../whatsnew/3.6.rst:1693 -msgid "" -":mod:`venv` accepts a new parameter ``--prompt``. This parameter provides an" -" alternative prefix for the virtual environment. (Proposed by Łukasz " -"Balcerzak and ported to 3.6 by Stéphane Wirtel in :issue:`22829`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1699 -msgid "warnings" -msgstr "warnings" - -#: ../../whatsnew/3.6.rst:1701 -msgid "" -"A new optional *source* parameter has been added to the " -":func:`warnings.warn_explicit` function: the destroyed object which emitted " -"a :exc:`ResourceWarning`. A *source* attribute has also been added to " -":class:`warnings.WarningMessage` (contributed by Victor Stinner in " -":issue:`26568` and :issue:`26567`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1707 -msgid "" -"When a :exc:`ResourceWarning` warning is logged, the :mod:`tracemalloc` " -"module is now used to try to retrieve the traceback where the destroyed " -"object was allocated." -msgstr "" - -#: ../../whatsnew/3.6.rst:1710 -msgid "Example with the script ``example.py``::" -msgstr "" - -#: ../../whatsnew/3.6.rst:1712 -msgid "" -"import warnings\n" -"\n" -"def func():\n" -" return open(__file__)\n" -"\n" -"f = func()\n" -"f = None" -msgstr "" - -#: ../../whatsnew/3.6.rst:1720 -msgid "Output of the command ``python3.6 -Wd -X tracemalloc=5 example.py``::" -msgstr "" - -#: ../../whatsnew/3.6.rst:1722 -msgid "" -"example.py:7: ResourceWarning: unclosed file <_io.TextIOWrapper name='example.py' mode='r' encoding='UTF-8'>\n" -" f = None\n" -"Object allocated at (most recent call first):\n" -" File \"example.py\", lineno 4\n" -" return open(__file__)\n" -" File \"example.py\", lineno 6\n" -" f = func()" -msgstr "" - -#: ../../whatsnew/3.6.rst:1730 -msgid "" -"The \"Object allocated at\" traceback is new and is only displayed if " -":mod:`tracemalloc` is tracing Python memory allocations and if the " -":mod:`warnings` module was already imported." -msgstr "" - -#: ../../whatsnew/3.6.rst:1736 -msgid "winreg" -msgstr "" - -#: ../../whatsnew/3.6.rst:1738 -msgid "" -"Added the 64-bit integer type :data:`REG_QWORD `. " -"(Contributed by Clement Rouault in :issue:`23026`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1743 -msgid "winsound" -msgstr "" - -#: ../../whatsnew/3.6.rst:1745 -msgid "" -"Allowed keyword arguments to be passed to :func:`Beep `, " -":func:`MessageBeep `, and :func:`PlaySound " -"` (:issue:`27982`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1751 -msgid "xmlrpc.client" -msgstr "" - -#: ../../whatsnew/3.6.rst:1753 -msgid "" -"The :mod:`xmlrpc.client` module now supports unmarshalling additional data " -"types used by the Apache XML-RPC implementation for numerics and ``None``. " -"(Contributed by Serhiy Storchaka in :issue:`26885`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1760 -msgid "zipfile" -msgstr "zipfile" - -#: ../../whatsnew/3.6.rst:1762 -msgid "" -"A new :meth:`ZipInfo.from_file() ` class method " -"allows making a :class:`~zipfile.ZipInfo` instance from a filesystem file. A" -" new :meth:`ZipInfo.is_dir() ` method can be used to" -" check if the :class:`~zipfile.ZipInfo` instance represents a directory. " -"(Contributed by Thomas Kluyver in :issue:`26039`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1768 -msgid "" -"The :meth:`ZipFile.open() ` method can now be used to " -"write data into a ZIP file, as well as for extracting data. (Contributed by " -"Thomas Kluyver in :issue:`26039`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1774 -msgid "zlib" -msgstr "zlib" - -#: ../../whatsnew/3.6.rst:1776 -msgid "" -"The :func:`~zlib.compress` and :func:`~zlib.decompress` functions now accept" -" keyword arguments. (Contributed by Aviv Palivoda in :issue:`26243` and " -"Xiang Zhang in :issue:`16764` respectively.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1783 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.6.rst:1785 -msgid "" -"The Python interpreter now uses a 16-bit wordcode instead of bytecode which " -"made a number of opcode optimizations possible. (Contributed by Demur Rumed " -"with input and reviews from Serhiy Storchaka and Victor Stinner in " -":issue:`26647` and :issue:`28050`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1790 -msgid "" -"The :class:`asyncio.Future` class now has an optimized C implementation. " -"(Contributed by Yury Selivanov and INADA Naoki in :issue:`26081`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1793 -msgid "" -"The :class:`asyncio.Task` class now has an optimized C implementation. " -"(Contributed by Yury Selivanov in :issue:`28544`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1796 -msgid "" -"Various implementation improvements in the :mod:`typing` module (such as " -"caching of generic types) allow up to 30 times performance improvements and " -"reduced memory footprint." -msgstr "" - -#: ../../whatsnew/3.6.rst:1800 -msgid "" -"The ASCII decoder is now up to 60 times as fast for error handlers " -"``surrogateescape``, ``ignore`` and ``replace`` (Contributed by Victor " -"Stinner in :issue:`24870`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1804 -msgid "" -"The ASCII and the Latin1 encoders are now up to 3 times as fast for the " -"error handler ``surrogateescape`` (Contributed by Victor Stinner in " -":issue:`25227`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1808 -msgid "" -"The UTF-8 encoder is now up to 75 times as fast for error handlers " -"``ignore``, ``replace``, ``surrogateescape``, ``surrogatepass`` (Contributed" -" by Victor Stinner in :issue:`25267`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1812 -msgid "" -"The UTF-8 decoder is now up to 15 times as fast for error handlers " -"``ignore``, ``replace`` and ``surrogateescape`` (Contributed by Victor " -"Stinner in :issue:`25301`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1816 -msgid "" -"``bytes % args`` is now up to 2 times faster. (Contributed by Victor Stinner" -" in :issue:`25349`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1819 -msgid "" -"``bytearray % args`` is now between 2.5 and 5 times faster. (Contributed by " -"Victor Stinner in :issue:`25399`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1822 -msgid "" -"Optimize :meth:`bytes.fromhex` and :meth:`bytearray.fromhex`: they are now " -"between 2x and 3.5x faster. (Contributed by Victor Stinner in " -":issue:`25401`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1825 -msgid "" -"Optimize ``bytes.replace(b'', b'.')`` and ``bytearray.replace(b'', b'.')``: " -"up to 80% faster. (Contributed by Josh Snider in :issue:`26574`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1828 -msgid "" -"Allocator functions of the :c:func:`PyMem_Malloc` domain " -"(:c:macro:`PYMEM_DOMAIN_MEM`) now use the :ref:`pymalloc memory allocator " -"` instead of :c:func:`malloc` function of the C library. The " -"pymalloc allocator is optimized for objects smaller or equal to 512 bytes " -"with a short lifetime, and use :c:func:`malloc` for larger memory blocks. " -"(Contributed by Victor Stinner in :issue:`26249`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1835 -msgid "" -":func:`pickle.load` and :func:`pickle.loads` are now up to 10% faster when " -"deserializing many small objects (Contributed by Victor Stinner in " -":issue:`27056`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1839 -msgid "" -"Passing :term:`keyword arguments ` to a function has an " -"overhead in comparison with passing :term:`positional arguments `. Now in extension functions implemented with using Argument " -"Clinic this overhead is significantly decreased. (Contributed by Serhiy " -"Storchaka in :issue:`27574`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1845 -msgid "" -"Optimized :func:`~glob.glob` and :func:`~glob.iglob` functions in the " -":mod:`glob` module; they are now about 3--6 times faster. (Contributed by " -"Serhiy Storchaka in :issue:`25596`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1849 -msgid "" -"Optimized globbing in :mod:`pathlib` by using :func:`os.scandir`; it is now " -"about 1.5--4 times faster. (Contributed by Serhiy Storchaka in " -":issue:`26032`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1853 -msgid "" -":class:`xml.etree.ElementTree` parsing, iteration and deepcopy performance " -"has been significantly improved. (Contributed by Serhiy Storchaka in " -":issue:`25638`, :issue:`25873`, and :issue:`25869`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1858 -msgid "" -"Creation of :class:`fractions.Fraction` instances from floats and decimals " -"is now 2 to 3 times faster. (Contributed by Serhiy Storchaka in " -":issue:`25971`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1864 -msgid "Build and C API Changes" -msgstr "Perubahan Pembangunan *Build* dan API C" - -#: ../../whatsnew/3.6.rst:1866 -msgid "" -"Python now requires some C99 support in the toolchain to build. Most " -"notably, Python now uses standard integer types and macros in place of " -"custom macros like ``PY_LONG_LONG``. For more information, see :pep:`7` and " -":issue:`17884`." -msgstr "" - -#: ../../whatsnew/3.6.rst:1871 -msgid "" -"Cross-compiling CPython with the Android NDK and the Android API level set " -"to 21 (Android 5.0 Lollipop) or greater runs successfully. While Android is " -"not yet a supported platform, the Python test suite runs on the Android " -"emulator with only about 16 tests failures. See the Android meta-issue " -":issue:`26865`." -msgstr "" - -#: ../../whatsnew/3.6.rst:1876 -msgid "" -"The ``--enable-optimizations`` configure flag has been added. Turning it on " -"will activate expensive optimizations like PGO. (Original patch by " -"Alecsandru Patrascu of Intel in :issue:`26359`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1880 -msgid "" -"The :term:`GIL ` must now be held when allocator " -"functions of :c:macro:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and" -" :c:macro:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are " -"called." -msgstr "" - -#: ../../whatsnew/3.6.rst:1884 -msgid "" -"New :c:func:`Py_FinalizeEx` API which indicates if flushing buffered data " -"failed. (Contributed by Martin Panter in :issue:`5319`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1888 -msgid "" -":c:func:`PyArg_ParseTupleAndKeywords` now supports :ref:`positional-only " -"parameters `. Positional-only parameters are " -"defined by empty names. (Contributed by Serhiy Storchaka in :issue:`26282`)." -msgstr "" - -#: ../../whatsnew/3.6.rst:1893 -msgid "" -"``PyTraceback_Print`` method now abbreviates long sequences of repeated " -"lines as ``\"[Previous line repeated {count} more times]\"``. (Contributed " -"by Emanuel Barry in :issue:`26823`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1897 -msgid "" -"The new :c:func:`PyErr_SetImportErrorSubclass` function allows for " -"specifying a subclass of :exc:`ImportError` to raise. (Contributed by Eric " -"Snow in :issue:`15767`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1901 -msgid "" -"The new :c:func:`PyErr_ResourceWarning` function can be used to generate a " -":exc:`ResourceWarning` providing the source of the resource allocation. " -"(Contributed by Victor Stinner in :issue:`26567`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1905 -msgid "" -"The new :c:func:`PyOS_FSPath` function returns the file system " -"representation of a :term:`path-like object`. (Contributed by Brett Cannon " -"in :issue:`27186`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1909 -msgid "" -"The :c:func:`PyUnicode_FSConverter` and :c:func:`PyUnicode_FSDecoder` " -"functions will now accept :term:`path-like objects `." -msgstr "" - -#: ../../whatsnew/3.6.rst:1914 -msgid "Other Improvements" -msgstr "" - -#: ../../whatsnew/3.6.rst:1916 -msgid "" -"When :option:`--version` (short form: :option:`-V`) is supplied twice, " -"Python prints :data:`sys.version` for detailed information." -msgstr "" - -#: ../../whatsnew/3.6.rst:1919 -msgid "" -"$ ./python -VV\n" -"Python 3.6.0b4+ (3.6:223967b49e49+, Nov 21 2016, 20:55:04)\n" -"[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)]" -msgstr "" - -#: ../../whatsnew/3.6.rst:1927 -msgid "Deprecated" -msgstr "Usang" - -#: ../../whatsnew/3.6.rst:1930 -msgid "New Keywords" -msgstr "" - -#: ../../whatsnew/3.6.rst:1932 -msgid "" -"``async`` and ``await`` are not recommended to be used as variable, class, " -"function or module names. Introduced by :pep:`492` in Python 3.5, they will" -" become proper keywords in Python 3.7. Starting in Python 3.6, the use of " -"``async`` or ``await`` as names will generate a :exc:`DeprecationWarning`." -msgstr "" - -#: ../../whatsnew/3.6.rst:1939 -msgid "Deprecated Python behavior" -msgstr "" - -#: ../../whatsnew/3.6.rst:1941 -msgid "" -"Raising the :exc:`StopIteration` exception inside a generator will now " -"generate a :exc:`DeprecationWarning`, and will trigger a :exc:`RuntimeError`" -" in Python 3.7. See :ref:`whatsnew-pep-479` for details." -msgstr "" - -#: ../../whatsnew/3.6.rst:1945 -msgid "" -"The :meth:`__aiter__` method is now expected to return an asynchronous " -"iterator directly instead of returning an awaitable as previously. Doing the" -" former will trigger a :exc:`DeprecationWarning`. Backward compatibility " -"will be removed in Python 3.7. (Contributed by Yury Selivanov in " -":issue:`27243`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1951 -msgid "" -"A backslash-character pair that is not a valid escape sequence now generates" -" a :exc:`DeprecationWarning`. Although this will eventually become a " -":exc:`SyntaxError`, that will not be for several Python releases. " -"(Contributed by Emanuel Barry in :issue:`27364`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1956 -msgid "" -"When performing a relative import, falling back on ``__name__`` and " -"``__path__`` from the calling module when ``__spec__`` or ``__package__`` " -"are not defined now raises an :exc:`ImportWarning`. (Contributed by Rose " -"Ames in :issue:`25791`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1963 -msgid "Deprecated Python modules, functions and methods" -msgstr "" - -#: ../../whatsnew/3.6.rst:1966 -msgid "asynchat" -msgstr "" - -#: ../../whatsnew/3.6.rst:1968 -msgid "" -"The :mod:`!asynchat` has been deprecated in favor of :mod:`asyncio`. " -"(Contributed by Mariatta in :issue:`25002`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1973 -msgid "asyncore" -msgstr "" - -#: ../../whatsnew/3.6.rst:1975 -msgid "" -"The :mod:`!asyncore` has been deprecated in favor of :mod:`asyncio`. " -"(Contributed by Mariatta in :issue:`25002`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1980 -msgid "dbm" -msgstr "dbm" - -#: ../../whatsnew/3.6.rst:1982 -msgid "" -"Unlike other :mod:`dbm` implementations, the :mod:`dbm.dumb` module creates " -"databases with the ``'rw'`` mode and allows modifying the database opened " -"with the ``'r'`` mode. This behavior is now deprecated and will be removed " -"in 3.8. (Contributed by Serhiy Storchaka in :issue:`21708`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:1992 -msgid "" -"The undocumented ``extra_path`` argument to the ``distutils.Distribution`` " -"constructor is now considered deprecated and will raise a warning if set. " -"Support for this parameter will be removed in a future Python release. See " -":issue:`27919` for details." -msgstr "" - -#: ../../whatsnew/3.6.rst:1999 -msgid "grp" -msgstr "grp" - -#: ../../whatsnew/3.6.rst:2001 -msgid "" -"The support of non-integer arguments in :func:`~grp.getgrgid` has been " -"deprecated. (Contributed by Serhiy Storchaka in :issue:`26129`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2009 -msgid "" -"The :meth:`importlib.machinery.SourceFileLoader.load_module` and " -":meth:`importlib.machinery.SourcelessFileLoader.load_module` methods are now" -" deprecated. They were the only remaining implementations of " -":meth:`importlib.abc.Loader.load_module` in :mod:`importlib` that had not " -"been deprecated in previous versions of Python in favour of " -":meth:`importlib.abc.Loader.exec_module`." -msgstr "" - -#: ../../whatsnew/3.6.rst:2016 -msgid "" -"The :class:`importlib.machinery.WindowsRegistryFinder` class is now " -"deprecated. As of 3.6.0, it is still added to :data:`sys.meta_path` by " -"default (on Windows), but this may change in future releases." -msgstr "" - -#: ../../whatsnew/3.6.rst:2023 -msgid "" -"Undocumented support of general :term:`bytes-like objects ` as paths in :mod:`os` functions, :func:`compile` and similar " -"functions is now deprecated. (Contributed by Serhiy Storchaka in " -":issue:`25791` and :issue:`26754`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2031 -msgid "" -"Support for inline flags ``(?letters)`` in the middle of the regular " -"expression has been deprecated and will be removed in a future Python " -"version. Flags at the start of a regular expression are still allowed. " -"(Contributed by Serhiy Storchaka in :issue:`22493`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2039 -msgid "" -"OpenSSL 0.9.8, 1.0.0 and 1.0.1 are deprecated and no longer supported. In " -"the future the :mod:`ssl` module will require at least OpenSSL 1.0.2 or " -"1.1.0." -msgstr "" - -#: ../../whatsnew/3.6.rst:2043 -msgid "" -"SSL-related arguments like ``certfile``, ``keyfile`` and ``check_hostname`` " -"in :mod:`ftplib`, :mod:`http.client`, :mod:`imaplib`, :mod:`poplib`, and " -":mod:`smtplib` have been deprecated in favor of ``context``. (Contributed by" -" Christian Heimes in :issue:`28022`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2048 -msgid "" -"A couple of protocols and functions of the :mod:`ssl` module are now " -"deprecated. Some features will no longer be available in future versions of " -"OpenSSL. Other features are deprecated in favor of a different API. " -"(Contributed by Christian Heimes in :issue:`28022` and :issue:`26470`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2056 -msgid "" -"The :mod:`!tkinter.tix` module is now deprecated. :mod:`tkinter` users " -"should use :mod:`tkinter.ttk` instead." -msgstr "" - -#: ../../whatsnew/3.6.rst:2064 -msgid "" -"The ``pyvenv`` script has been deprecated in favour of ``python3 -m venv``. " -"This prevents confusion as to what Python interpreter ``pyvenv`` is " -"connected to and thus what Python interpreter will be used by the virtual " -"environment. (Contributed by Brett Cannon in :issue:`25154`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2071 -msgid "xml" -msgstr "xml" - -#: ../../whatsnew/3.6.rst:2073 -msgid "" -"As mitigation against DTD and external entity retrieval, the " -":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external" -" entities by default. (Contributed by Christian Heimes in :gh:`61441`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2080 -msgid "Deprecated functions and types of the C API" -msgstr "" - -#: ../../whatsnew/3.6.rst:2082 -msgid "" -"Undocumented functions :c:func:`!PyUnicode_AsEncodedObject`, " -":c:func:`!PyUnicode_AsDecodedObject`, :c:func:`!PyUnicode_AsEncodedUnicode` " -"and :c:func:`!PyUnicode_AsDecodedUnicode` are deprecated now. Use the " -":ref:`generic codec based API ` instead." -msgstr "" - -#: ../../whatsnew/3.6.rst:2089 -msgid "Deprecated Build Options" -msgstr "" - -#: ../../whatsnew/3.6.rst:2091 -msgid "" -"The ``--with-system-ffi`` configure flag is now on by default on non-macOS " -"UNIX platforms. It may be disabled by using ``--without-system-ffi``, but " -"using the flag is deprecated and will not be accepted in Python 3.7. macOS " -"is unaffected by this change. Note that many OS distributors already use " -"the ``--with-system-ffi`` flag when building their system Python." -msgstr "" - -#: ../../whatsnew/3.6.rst:2099 -msgid "Removed" -msgstr "" - -#: ../../whatsnew/3.6.rst:2102 -msgid "API and Feature Removals" -msgstr "API dan Penghapusan Fitur" - -#: ../../whatsnew/3.6.rst:2104 -msgid "" -"Unknown escapes consisting of ``'\\'`` and an ASCII letter in regular " -"expressions will now cause an error. In replacement templates for " -":func:`re.sub` they are still allowed, but deprecated. The " -":const:`re.LOCALE` flag can now only be used with binary patterns." -msgstr "" - -#: ../../whatsnew/3.6.rst:2109 -msgid "" -"``inspect.getmoduleinfo()`` was removed (was deprecated since CPython 3.3). " -":func:`inspect.getmodulename` should be used for obtaining the module name " -"for a given path. (Contributed by Yury Selivanov in :issue:`13248`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2114 -msgid "" -"``traceback.Ignore`` class and ``traceback.usage``, ``traceback.modname``, " -"``traceback.fullmodname``, ``traceback.find_lines_from_code``, " -"``traceback.find_lines``, ``traceback.find_strings``, " -"``traceback.find_executable_lines`` methods were removed from the " -":mod:`traceback` module. They were undocumented methods deprecated since " -"Python 3.2 and equivalent functionality is available from private methods." -msgstr "" - -#: ../../whatsnew/3.6.rst:2121 -msgid "" -"The ``tk_menuBar()`` and ``tk_bindForTraversal()`` dummy methods in " -":mod:`tkinter` widget classes were removed (corresponding Tk commands were " -"obsolete since Tk 4.0)." -msgstr "" - -#: ../../whatsnew/3.6.rst:2125 -msgid "" -"The :meth:`~zipfile.ZipFile.open` method of the :class:`zipfile.ZipFile` " -"class no longer supports the ``'U'`` mode (was deprecated since Python 3.4)." -" Use :class:`io.TextIOWrapper` for reading compressed text files in " -":term:`universal newlines` mode." -msgstr "" - -#: ../../whatsnew/3.6.rst:2130 -msgid "" -"The undocumented ``IN``, ``CDROM``, ``DLFCN``, ``TYPES``, ``CDIO``, and " -"``STROPTS`` modules have been removed. They had been available in the " -"platform specific ``Lib/plat-*/`` directories, but were chronically out of " -"date, inconsistently available across platforms, and unmaintained. The " -"script that created these modules is still available in the source " -"distribution at `Tools/scripts/h2py.py " -"`_." -msgstr "" - -#: ../../whatsnew/3.6.rst:2138 -msgid "The deprecated ``asynchat.fifo`` class has been removed." -msgstr "" - -#: ../../whatsnew/3.6.rst:2142 -msgid "Porting to Python 3.6" -msgstr "" - -#: ../../whatsnew/3.6.rst:2144 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code." -msgstr "" - -#: ../../whatsnew/3.6.rst:2148 -msgid "Changes in 'python' Command Behavior" -msgstr "" - -#: ../../whatsnew/3.6.rst:2150 -msgid "" -"The output of a special Python build with defined ``COUNT_ALLOCS``, " -"``SHOW_ALLOC_COUNT`` or ``SHOW_TRACK_COUNT`` macros is now off by default. " -"It can be re-enabled using the ``-X showalloccount`` option. It now outputs " -"to ``stderr`` instead of ``stdout``. (Contributed by Serhiy Storchaka in " -":issue:`23034`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2158 -msgid "Changes in the Python API" -msgstr "Perubahan pada API Python" - -#: ../../whatsnew/3.6.rst:2160 -msgid "" -":func:`open() ` will no longer allow combining the ``'U'`` mode flag " -"with ``'+'``. (Contributed by Jeff Balogh and John O'Connor in " -":issue:`2091`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2164 -msgid "" -":mod:`sqlite3` no longer implicitly commits an open transaction before DDL " -"statements." -msgstr "" - -#: ../../whatsnew/3.6.rst:2167 -msgid "" -"On Linux, :func:`os.urandom` now blocks until the system urandom entropy " -"pool is initialized to increase the security." -msgstr "" - -#: ../../whatsnew/3.6.rst:2170 -msgid "" -"When :meth:`importlib.abc.Loader.exec_module` is defined, " -":meth:`importlib.abc.Loader.create_module` must also be defined." -msgstr "" - -#: ../../whatsnew/3.6.rst:2173 -msgid "" -":c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg** " -"argument is not set. Previously only ``NULL`` was returned." -msgstr "" - -#: ../../whatsnew/3.6.rst:2176 -msgid "" -"The format of the :attr:`~codeobject.co_lnotab` attribute of code objects " -"changed to support a negative line number delta. By default, Python does not" -" emit bytecode with a negative line number delta. Functions using " -":attr:`frame.f_lineno`, ``PyFrame_GetLineNumber()`` or " -"``PyCode_Addr2Line()`` are not affected. Functions directly decoding " -":attr:`!co_lnotab` should be updated to use a signed 8-bit integer type for " -"the line number delta, but this is only required to support applications " -"using a negative line number delta. See ``Objects/lnotab_notes.txt`` for the" -" :attr:`!co_lnotab` format and how to decode it, and see the :pep:`511` for " -"the rationale." -msgstr "" - -#: ../../whatsnew/3.6.rst:2187 -msgid "" -"The functions in the :mod:`compileall` module now return booleans instead of" -" ``1`` or ``0`` to represent success or failure, respectively. Thanks to " -"booleans being a subclass of integers, this should only be an issue if you " -"were doing identity checks for ``1`` or ``0``. See :issue:`25768`." -msgstr "" - -#: ../../whatsnew/3.6.rst:2192 -msgid "" -"Reading the :attr:`~urllib.parse.SplitResult.port` attribute of " -":func:`urllib.parse.urlsplit` and :func:`~urllib.parse.urlparse` results now" -" raises :exc:`ValueError` for out-of-range values, rather than returning " -":const:`None`. See :issue:`20059`." -msgstr "" - -#: ../../whatsnew/3.6.rst:2197 -msgid "" -"The :mod:`!imp` module now raises a :exc:`DeprecationWarning` instead of " -":exc:`PendingDeprecationWarning`." -msgstr "" - -#: ../../whatsnew/3.6.rst:2200 -msgid "" -"The following modules have had missing APIs added to their :attr:`__all__` " -"attributes to match the documented APIs: :mod:`calendar`, :mod:`!cgi`, " -":mod:`csv`, :mod:`~xml.etree.ElementTree`, :mod:`enum`, :mod:`fileinput`, " -":mod:`ftplib`, :mod:`logging`, :mod:`mailbox`, :mod:`mimetypes`, " -":mod:`optparse`, :mod:`plistlib`, :mod:`!smtpd`, :mod:`subprocess`, " -":mod:`tarfile`, :mod:`threading` and :mod:`wave`. This means they will " -"export new symbols when ``import *`` is used. (Contributed by Joel Taddei " -"and Jacek Kołodziej in :issue:`23883`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2211 -msgid "" -"When performing a relative import, if ``__package__`` does not compare equal" -" to ``__spec__.parent`` then :exc:`ImportWarning` is raised. (Contributed by" -" Brett Cannon in :issue:`25791`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2215 -msgid "" -"When a relative import is performed and no parent package is known, then " -":exc:`ImportError` will be raised. Previously, :exc:`SystemError` could be " -"raised. (Contributed by Brett Cannon in :issue:`18018`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2219 -msgid "" -"Servers based on the :mod:`socketserver` module, including those defined in " -":mod:`http.server`, :mod:`xmlrpc.server` and :mod:`wsgiref.simple_server`, " -"now only catch exceptions derived from :exc:`Exception`. Therefore if a " -"request handler raises an exception like :exc:`SystemExit` or " -":exc:`KeyboardInterrupt`, :meth:`~socketserver.BaseServer.handle_error` is " -"no longer called, and the exception will stop a single-threaded server. " -"(Contributed by Martin Panter in :issue:`23430`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2228 -msgid "" -":func:`!spwd.getspnam` now raises a :exc:`PermissionError` instead of " -":exc:`KeyError` if the user doesn't have privileges." -msgstr "" - -#: ../../whatsnew/3.6.rst:2231 -msgid "" -"The :meth:`socket.socket.close` method now raises an exception if an error " -"(e.g. ``EBADF``) was reported by the underlying system call. (Contributed by" -" Martin Panter in :issue:`26685`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2235 -msgid "" -"The *decode_data* argument for the :class:`!smtpd.SMTPChannel` and " -":class:`!smtpd.SMTPServer` constructors is now ``False`` by default. This " -"means that the argument passed to :meth:`!process_message` is now a bytes " -"object by default, and :meth:`!process_message` will be passed keyword " -"arguments. Code that has already been updated in accordance with the " -"deprecation warning generated by 3.5 will not be affected." -msgstr "" - -#: ../../whatsnew/3.6.rst:2243 -msgid "" -"All optional arguments of the :func:`~json.dump`, :func:`~json.dumps`, " -":func:`~json.load` and :func:`~json.loads` functions and " -":class:`~json.JSONEncoder` and :class:`~json.JSONDecoder` class constructors" -" in the :mod:`json` module are now :ref:`keyword-only `. (Contributed by Serhiy Storchaka in :issue:`18726`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2250 -msgid "" -"Subclasses of :class:`type` which don't override ``type.__new__`` may no " -"longer use the one-argument form to get the type of an object." -msgstr "" -"Subkelas dari :class:`type` yang tidak menimpa ``type.__new__`` mungkin " -"tidak lagi menggunakan bentuk satu argumen untuk mendapatkan tipe dari suatu" -" objek." - -#: ../../whatsnew/3.6.rst:2253 -msgid "" -"As part of :pep:`487`, the handling of keyword arguments passed to " -":class:`type` (other than the metaclass hint, ``metaclass``) is now " -"consistently delegated to :meth:`object.__init_subclass__`. This means that " -":meth:`type.__new__` and :meth:`type.__init__` both now accept arbitrary " -"keyword arguments, but :meth:`object.__init_subclass__` (which is called " -"from :meth:`type.__new__`) will reject them by default. Custom metaclasses " -"accepting additional keyword arguments will need to adjust their calls to " -":meth:`type.__new__` (whether direct or via :class:`super`) accordingly." -msgstr "" - -#: ../../whatsnew/3.6.rst:2262 -msgid "" -"In ``distutils.command.sdist.sdist``, the ``default_format`` attribute has " -"been removed and is no longer honored. Instead, the gzipped tarfile format " -"is the default on all platforms and no platform-specific selection is made. " -"In environments where distributions are built on Windows and zip " -"distributions are required, configure the project with a ``setup.cfg`` file " -"containing the following:" -msgstr "" - -#: ../../whatsnew/3.6.rst:2270 -msgid "" -"[sdist]\n" -"formats=zip" -msgstr "" - -#: ../../whatsnew/3.6.rst:2275 -msgid "" -"This behavior has also been backported to earlier Python versions by " -"Setuptools 26.0.0." -msgstr "" - -#: ../../whatsnew/3.6.rst:2278 -msgid "" -"In the :mod:`urllib.request` module and the " -":meth:`http.client.HTTPConnection.request` method, if no Content-Length " -"header field has been specified and the request body is a file object, it is" -" now sent with HTTP 1.1 chunked encoding. If a file object has to be sent to" -" a HTTP 1.0 server, the Content-Length value now has to be specified by the " -"caller. (Contributed by Demian Brecht and Rolf Krahl with tweaks from Martin" -" Panter in :issue:`12319`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2287 -msgid "" -"The :class:`~csv.DictReader` now returns rows of type " -":class:`~collections.OrderedDict`. (Contributed by Steve Holden in " -":issue:`27842`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2291 -msgid "" -"The :const:`!crypt.METHOD_CRYPT` will no longer be added to " -"``crypt.methods`` if unsupported by the platform. (Contributed by Victor " -"Stinner in :issue:`25287`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2299 -msgid "" -"On Linux, :func:`ctypes.util.find_library` now looks in ``LD_LIBRARY_PATH`` " -"for shared libraries. (Contributed by Vinay Sajip in :issue:`9998`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2303 -msgid "" -"The :class:`imaplib.IMAP4` class now handles flags containing the ``']'`` " -"character in messages sent from the server to improve real-world " -"compatibility. (Contributed by Lita Cho in :issue:`21815`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2308 -msgid "" -"The :func:`mmap.write() ` function now returns the number of " -"bytes written like other write methods. (Contributed by Jakub Stasiak in " -":issue:`26335`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2312 -msgid "" -"The :func:`pkgutil.iter_modules` and :func:`pkgutil.walk_packages` functions" -" now return :class:`~pkgutil.ModuleInfo` named tuples. (Contributed by " -"Ramchandra Apte in :issue:`17211`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2316 -msgid "" -":func:`re.sub` now raises an error for invalid numerical group references in" -" replacement templates even if the pattern is not found in the string. The " -"error message for invalid group references now includes the group index and " -"the position of the reference. (Contributed by SilentGhost, Serhiy Storchaka" -" in :issue:`25953`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2322 -msgid "" -":class:`zipfile.ZipFile` will now raise :exc:`NotImplementedError` for " -"unrecognized compression values. Previously a plain :exc:`RuntimeError` was" -" raised. Additionally, calling :class:`~zipfile.ZipFile` methods on a " -"closed ZipFile or calling the :meth:`~zipfile.ZipFile.write` method on a " -"ZipFile created with mode ``'r'`` will raise a :exc:`ValueError`. " -"Previously, a :exc:`RuntimeError` was raised in those scenarios." -msgstr "" - -#: ../../whatsnew/3.6.rst:2329 -msgid "" -"when custom metaclasses are combined with zero-argument :func:`super` or " -"direct references from methods to the implicit ``__class__`` closure " -"variable, the implicit ``__classcell__`` namespace entry must now be passed " -"up to ``type.__new__`` for initialisation. Failing to do so will result in a" -" :exc:`DeprecationWarning` in Python 3.6 and a :exc:`RuntimeError` in Python" -" 3.8." -msgstr "" - -#: ../../whatsnew/3.6.rst:2336 -msgid "" -"With the introduction of :exc:`ModuleNotFoundError`, import system consumers" -" may start expecting import system replacements to raise that more specific " -"exception when appropriate, rather than the less-specific " -":exc:`ImportError`. To provide future compatibility with such consumers, " -"implementers of alternative import systems that completely replace " -":func:`__import__` will need to update their implementations to raise the " -"new subclass when a module can't be found at all. Implementers of compliant " -"plugins to the default import system shouldn't need to make any changes, as " -"the default import system will raise the new subclass when appropriate." -msgstr "" - -#: ../../whatsnew/3.6.rst:2348 -msgid "Changes in the C API" -msgstr "Perubahan dalam API C" - -#: ../../whatsnew/3.6.rst:2350 -msgid "" -"The :c:func:`PyMem_Malloc` allocator family now uses the :ref:`pymalloc " -"allocator ` rather than the system :c:func:`malloc`. Applications " -"calling :c:func:`PyMem_Malloc` without holding the GIL can now crash. Set " -"the :envvar:`PYTHONMALLOC` environment variable to ``debug`` to validate the" -" usage of memory allocators in your application. See :issue:`26249`." -msgstr "" - -#: ../../whatsnew/3.6.rst:2356 -msgid "" -":c:func:`Py_Exit` (and the main interpreter) now override the exit status " -"with 120 if flushing buffered data failed. See :issue:`5319`." -msgstr "" - -#: ../../whatsnew/3.6.rst:2361 -msgid "CPython bytecode changes" -msgstr "Perubahan bytecode CPython" - -#: ../../whatsnew/3.6.rst:2363 -msgid "" -"There have been several major changes to the :term:`bytecode` in Python 3.6." -msgstr "" - -#: ../../whatsnew/3.6.rst:2365 -msgid "" -"The Python interpreter now uses a 16-bit wordcode instead of bytecode. " -"(Contributed by Demur Rumed with input and reviews from Serhiy Storchaka and" -" Victor Stinner in :issue:`26647` and :issue:`28050`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2369 -msgid "" -"The new :opcode:`!FORMAT_VALUE` and :opcode:`BUILD_STRING` opcodes as part " -"of the :ref:`formatted string literal ` implementation. " -"(Contributed by Eric Smith in :issue:`25483` and Serhiy Storchaka in " -":issue:`27078`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2374 -msgid "" -"The new :opcode:`!BUILD_CONST_KEY_MAP` opcode to optimize the creation of " -"dictionaries with constant keys. (Contributed by Serhiy Storchaka in " -":issue:`27140`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2378 -msgid "" -"The function call opcodes have been heavily reworked for better performance " -"and simpler implementation. The :opcode:`MAKE_FUNCTION`, " -":opcode:`!CALL_FUNCTION`, :opcode:`!CALL_FUNCTION_KW` and " -":opcode:`!BUILD_MAP_UNPACK_WITH_CALL` opcodes have been modified, the new " -":opcode:`CALL_FUNCTION_EX` and :opcode:`!BUILD_TUPLE_UNPACK_WITH_CALL` have " -"been added, and ``CALL_FUNCTION_VAR``, ``CALL_FUNCTION_VAR_KW`` and " -"``MAKE_CLOSURE`` opcodes have been removed. (Contributed by Demur Rumed in " -":issue:`27095`, and Serhiy Storchaka in :issue:`27213`, :issue:`28257`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2389 -msgid "" -"The new :opcode:`SETUP_ANNOTATIONS` and :opcode:`!STORE_ANNOTATION` opcodes " -"have been added to support the new :term:`variable annotation` syntax. " -"(Contributed by Ivan Levkivskyi in :issue:`27985`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2395 -msgid "Notable changes in Python 3.6.2" -msgstr "" - -#: ../../whatsnew/3.6.rst:2398 -msgid "New ``make regen-all`` build target" -msgstr "" - -#: ../../whatsnew/3.6.rst:2400 -msgid "" -"To simplify cross-compilation, and to ensure that CPython can reliably be " -"compiled without requiring an existing version of Python to already be " -"available, the autotools-based build system no longer attempts to implicitly" -" recompile generated files based on file modification times." -msgstr "" - -#: ../../whatsnew/3.6.rst:2405 -msgid "" -"Instead, a new ``make regen-all`` command has been added to force " -"regeneration of these files when desired (e.g. after an initial version of " -"Python has already been built based on the pregenerated versions)." -msgstr "" - -#: ../../whatsnew/3.6.rst:2409 -msgid "" -"More selective regeneration targets are also defined - see " -":source:`Makefile.pre.in` for details." -msgstr "" - -#: ../../whatsnew/3.6.rst:2412 ../../whatsnew/3.6.rst:2425 -msgid "(Contributed by Victor Stinner in :issue:`23404`.)" -msgstr "(Kontribusi dari Victor Stinner di :issue:`23404`.)" - -#: ../../whatsnew/3.6.rst:2418 -msgid "Removal of ``make touch`` build target" -msgstr "" - -#: ../../whatsnew/3.6.rst:2420 -msgid "" -"The ``make touch`` build target previously used to request implicit " -"regeneration of generated files by updating their modification times has " -"been removed." -msgstr "" - -#: ../../whatsnew/3.6.rst:2423 -msgid "It has been replaced by the new ``make regen-all`` target." -msgstr "" - -#: ../../whatsnew/3.6.rst:2431 -msgid "Notable changes in Python 3.6.4" -msgstr "" - -#: ../../whatsnew/3.6.rst:2433 -msgid "" -"The ``PyExc_RecursionErrorInst`` singleton that was part of the public API " -"has been removed as its members being never cleared may cause a segfault " -"during finalization of the interpreter. (Contributed by Xavier de Gaye in " -":issue:`22898` and :issue:`30697`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2440 -msgid "Notable changes in Python 3.6.5" -msgstr "" - -#: ../../whatsnew/3.6.rst:2442 -msgid "" -"The :func:`locale.localeconv` function now sets temporarily the ``LC_CTYPE``" -" locale to the ``LC_NUMERIC`` locale in some cases. (Contributed by Victor " -"Stinner in :issue:`31900`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2448 -msgid "Notable changes in Python 3.6.7" -msgstr "" - -#: ../../whatsnew/3.6.rst:2450 -msgid "" -":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external" -" entities by default. See also :gh:`61441`." -msgstr "" - -#: ../../whatsnew/3.6.rst:2453 -msgid "" -"In 3.6.7 the :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token" -" when provided with input that does not have a trailing new line. This " -"behavior now matches what the C tokenizer does internally. (Contributed by " -"Ammar Askar in :issue:`33899`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2459 -msgid "Notable changes in Python 3.6.10" -msgstr "" - -#: ../../whatsnew/3.6.rst:2461 -msgid "" -"Due to significant security concerns, the *reuse_address* parameter of " -":meth:`asyncio.loop.create_datagram_endpoint` is no longer supported. This " -"is because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For" -" more details, see the documentation for " -"``loop.create_datagram_endpoint()``. (Contributed by Kyle Stanley, Antoine " -"Pitrou, and Yury Selivanov in :issue:`37228`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2469 -msgid "Notable changes in Python 3.6.13" -msgstr "" - -#: ../../whatsnew/3.6.rst:2471 -msgid "" -"Earlier Python versions allowed using both ``;`` and ``&`` as query " -"parameter separators in :func:`urllib.parse.parse_qs` and " -":func:`urllib.parse.parse_qsl`. Due to security concerns, and to conform " -"with newer W3C recommendations, this has been changed to allow only a single" -" separator key, with ``&`` as the default. This change also affects " -":func:`!cgi.parse` and :func:`!cgi.parse_multipart` as they use the affected" -" functions internally. For more details, please see their respective " -"documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin" -" in :issue:`42967`.)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2482 -msgid "Notable changes in Python 3.6.14" -msgstr "" - -#: ../../whatsnew/3.6.rst:2484 -msgid "" -"A security fix alters the :class:`ftplib.FTP` behavior to not trust the IPv4" -" address sent from the remote server when setting up a passive data channel." -" We reuse the ftp server IP address instead. For unusual code requiring " -"the old behavior, set a ``trust_server_pasv_ipv4_address`` attribute on your" -" FTP instance to ``True``. (See :gh:`87451`)" -msgstr "" - -#: ../../whatsnew/3.6.rst:2490 -msgid "" -"The presence of newline or tab characters in parts of a URL allows for some " -"forms of attacks. Following the WHATWG specification that updates RFC 3986, " -"ASCII newline ``\\n``, ``\\r`` and tab ``\\t`` characters are stripped from " -"the URL by the parser :func:`urllib.parse` preventing such attacks. The " -"removal characters are controlled by a new module level variable " -"``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. (See :gh:`88048`)" -msgstr "" diff --git a/python-newest.whatsnew--3_7/id.po b/python-newest.whatsnew--3_7/id.po deleted file mode 100644 index 82203fe..0000000 --- a/python-newest.whatsnew--3_7/id.po +++ /dev/null @@ -1,3836 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2025, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Dionesius Agung , 2021 -# oon arfiandwi (OonID) , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.13\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-25 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: oon arfiandwi (OonID) , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.7.rst:3 -msgid "What's New In Python 3.7" -msgstr "Apa yang Baru di Python 3.7" - -#: ../../whatsnew/3.7.rst:0 -msgid "Editor" -msgstr "Editor" - -#: ../../whatsnew/3.7.rst:5 -msgid "Elvis Pranskevichus " -msgstr "Elvis Pranskevichus " - -#: ../../whatsnew/3.7.rst:47 -msgid "" -"This article explains the new features in Python 3.7, compared to 3.6. " -"Python 3.7 was released on June 27, 2018. For full details, see the " -":ref:`changelog `." -msgstr "" -"Artikel ini menjelaskan fitur-fitur baru di Python 3.7, dibandingkan dengan " -"3.6. Python 3.7 dirilis pada 27 Juni 2018. Untuk penjelasan lengkap, lihat " -":ref:`changelog `." - -#: ../../whatsnew/3.7.rst:53 -msgid "Summary -- Release Highlights" -msgstr "Ringkasan -- Sorotan Rilis" - -#: ../../whatsnew/3.7.rst:58 -msgid "New syntax features:" -msgstr "Fitur sintaks baru:" - -#: ../../whatsnew/3.7.rst:60 -msgid "" -":ref:`PEP 563 `, postponed evaluation of type " -"annotations." -msgstr ":ref:`PEP 563 `, evaluasi tipe anotasi ditunda." - -#: ../../whatsnew/3.7.rst:62 -msgid "Backwards incompatible syntax changes:" -msgstr "Perubahan sintaks yang tidak kompatibel dengan versi sebelumnya:" - -#: ../../whatsnew/3.7.rst:64 -msgid ":keyword:`async` and :keyword:`await` are now reserved keywords." -msgstr "" -":keyword:`async` dan :keyword:`await` saat ini menjadi kata kunci sudah " -"dipesan." - -#: ../../whatsnew/3.7.rst:66 -msgid "New library modules:" -msgstr "Modul pustaka baru:" - -#: ../../whatsnew/3.7.rst:68 -msgid "" -":mod:`contextvars`: :ref:`PEP 567 -- Context Variables `" -msgstr "" -":mod:`contextvars`: :ref:`PEP 567 -- Konteks Variabel `" - -#: ../../whatsnew/3.7.rst:69 -msgid ":mod:`dataclasses`: :ref:`PEP 557 -- Data Classes `" -msgstr ":mod:`dataclasses`: :ref:`PEP 557 -- Kelas Data `" - -#: ../../whatsnew/3.7.rst:70 -msgid ":ref:`whatsnew37_importlib_resources`" -msgstr ":ref:`whatsnew37_importlib_resources`" - -#: ../../whatsnew/3.7.rst:72 -msgid "New built-in features:" -msgstr "Fitur bawaan baru:" - -#: ../../whatsnew/3.7.rst:74 -msgid "" -":ref:`PEP 553 `, the new :func:`breakpoint` function." -msgstr "" -":ref:`PEP 553 `, fungsi :func:`breakpoint` yang baru." - -#: ../../whatsnew/3.7.rst:76 -msgid "Python data model improvements:" -msgstr "Perbaikan model data Python:" - -#: ../../whatsnew/3.7.rst:78 -msgid "" -":ref:`PEP 562 `, customization of access to module " -"attributes." -msgstr "" -":ref:`PEP 562 `, penyesuaian akses ke atribut modul." - -#: ../../whatsnew/3.7.rst:81 -msgid "" -":ref:`PEP 560 `, core support for typing module and " -"generic types." -msgstr "" -":ref:`PEP 560 `, dukungan utama untuk modul typing dan " -"tipe umum." - -#: ../../whatsnew/3.7.rst:84 -msgid "" -"the insertion-order preservation nature of :ref:`dict ` " -"objects `has been declared`_ to be an official part of the Python language " -"spec." -msgstr "" -"pemeliharaan sifat penyisipan-order dari obyek :ref:`dict ` " -"`telah dideklarasikan`_ menjadi bagian resmi dari spesifikasi bahasa Python." - -#: ../../whatsnew/3.7.rst:90 -msgid "Significant improvements in the standard library:" -msgstr "Peningkatan yang signifikan dalam pustaka standar:" - -#: ../../whatsnew/3.7.rst:92 -msgid "" -"The :mod:`asyncio` module has received new features, significant " -":ref:`usability and performance improvements `." -msgstr "" -"Modul :mod:`asyncio` telah mendapatkan fitur baru, module has received new " -"features, :ref:`peningkatan kegunaan dan kinerja ` yang " -"signifikan." - -#: ../../whatsnew/3.7.rst:95 -msgid "" -"The :mod:`time` module gained support for :ref:`functions with nanosecond " -"resolution `." -msgstr "" -"Modul :mod:`time` mendapatkan dukungan untuk :ref:`fungsi dengan ketepatan " -"nanodetik `." - -#: ../../whatsnew/3.7.rst:98 -msgid "CPython implementation improvements:" -msgstr "Peningkatan implementasi CPython:" - -#: ../../whatsnew/3.7.rst:100 -msgid "Avoiding the use of ASCII as a default text encoding:" -msgstr "Menghindari penggunaan ASCII sebagai pengkodean teks bawaan:" - -#: ../../whatsnew/3.7.rst:102 -msgid ":ref:`PEP 538 `, legacy C locale coercion" -msgstr ":ref:`PEP 538 `, pemaksaan lokal C peninggalan" - -#: ../../whatsnew/3.7.rst:103 -msgid ":ref:`PEP 540 `, forced UTF-8 runtime mode" -msgstr ":ref:`PEP 540 `, pemaksaan mode runtime UTF-8" - -#: ../../whatsnew/3.7.rst:104 -msgid ":ref:`PEP 552 `, deterministic .pycs" -msgstr ":ref:`PEP 552 `, deterministic .pycs" - -#: ../../whatsnew/3.7.rst:105 -msgid ":ref:`New Python Development Mode `" -msgstr "" - -#: ../../whatsnew/3.7.rst:106 -msgid "" -":ref:`PEP 565 `, improved :exc:`DeprecationWarning` " -"handling" -msgstr "" -":ref:`PEP 565 `, penanganan :exc:`DeprecationWarning` " -"yang ditingkatkan" - -#: ../../whatsnew/3.7.rst:109 -msgid "C API improvements:" -msgstr "Peningkatan API C:" - -#: ../../whatsnew/3.7.rst:111 -msgid ":ref:`PEP 539 `, new C API for thread-local storage" -msgstr "" -":ref:`PEP 539 `, API C baru untuk thread-penyimpanan " -"lokal" - -#: ../../whatsnew/3.7.rst:113 -msgid "Documentation improvements:" -msgstr "Peningkatan Dokumentasi:" - -#: ../../whatsnew/3.7.rst:115 -msgid ":ref:`PEP 545 `, Python documentation translations" -msgstr ":ref:`PEP 545 `, terjemahan dokumentasi Python" - -#: ../../whatsnew/3.7.rst:116 -msgid "" -"New documentation translations: `Japanese `_, " -"`French `_, and `Korean " -"`_." -msgstr "" -"Terjemahan dokumentasi baru: `Jepang `_, " -"`Prancis `_, and `Korea " -"`_." - -#: ../../whatsnew/3.7.rst:120 -msgid "" -"This release features notable performance improvements in many areas. The " -":ref:`whatsnew37-perf` section lists them in detail." -msgstr "" -"Rilis ini memiliki fitur peningkatan kinerja yang luar biasa di banyak area." -" Bagian :ref:`whatsnew37-perf` mendaftarnya secara rinci." - -#: ../../whatsnew/3.7.rst:123 -msgid "" -"For a list of changes that may affect compatibility with previous Python " -"releases please refer to the :ref:`porting-to-python-37` section." -msgstr "" -"Untuk daftar perubahan yang dapat memengaruhi kompatibilitas dengan rilis " -"Python sebelumnya, silakan merujuk ke bagian :ref:`porting-to-python-37`." - -#: ../../whatsnew/3.7.rst:128 -msgid "New Features" -msgstr "Fitur-fitur Baru" - -#: ../../whatsnew/3.7.rst:133 -msgid "PEP 563: Postponed Evaluation of Annotations" -msgstr "PEP 563: Evaluasi Tunda untuk tipe Anotasi" - -#: ../../whatsnew/3.7.rst:135 -msgid "" -"The advent of type hints in Python uncovered two glaring usability issues " -"with the functionality of annotations added in :pep:`3107` and refined " -"further in :pep:`526`:" -msgstr "" -"Munculnya petunjuk tipe di Python menimbulkan dua masalah yang menyolok " -"dengan fungsi anotasi ditambahkan di :pep:`3107` dan disempurnakan lebih " -"lanjut di :pep:`526`:" - -#: ../../whatsnew/3.7.rst:139 -msgid "" -"annotations could only use names which were already available in the current" -" scope, in other words they didn't support forward references of any kind; " -"and" -msgstr "" -"anotasi hanya bisa menggunakan nama yang sudah tersedia dalam lingkup saat " -"ini, dengan kata lain hal tersebut tidak mendukung referensi ke depan dalam " -"bentuk apa pun; dan" - -#: ../../whatsnew/3.7.rst:143 -msgid "" -"annotating source code had adverse effects on startup time of Python " -"programs." -msgstr "" -"memberi anotasi pada kode sumber memiliki efek buruk pada waktu startup " -"program Python." - -#: ../../whatsnew/3.7.rst:146 -msgid "" -"Both of these issues are fixed by postponing the evaluation of annotations." -" Instead of compiling code which executes expressions in annotations at " -"their definition time, the compiler stores the annotation in a string form " -"equivalent to the AST of the expression in question. If needed, annotations " -"can be resolved at runtime using :func:`typing.get_type_hints`. In the " -"common case where this is not required, the annotations are cheaper to store" -" (since short strings are interned by the interpreter) and make startup time" -" faster." -msgstr "" -"Kedua masalah ini diperbaiki dengan menunda evaluasi anotasi. Alih-alih " -"menyusun kode yang mengeksekusi ekspresi dalam anotasi pada waktu definisi " -"mereka, kompiler menyimpan anotasi dalam bentuk string yang setara dengan " -"AST dari ekspresi yang dimaksud. Jika diperlukan, anotasi dapat diselesaikan" -" saat runtime menggunakan: func:`typing.get_type_hints`. Dalam kasus umum di" -" mana ini tidak diperlukan, anotasi lebih murah untuk disimpan (karena " -"string pendek diinternir oleh interpreter) dan membuat waktu startup lebih " -"cepat." - -#: ../../whatsnew/3.7.rst:155 -msgid "" -"Usability-wise, annotations now support forward references, making the " -"following syntax valid::" -msgstr "" -"Kegunaan-bijaksana, anotasi sekarang mendukung referensi ke depan, membuat " -"sintaks berikut ini valid::" - -#: ../../whatsnew/3.7.rst:158 -msgid "" -"class C:\n" -" @classmethod\n" -" def from_string(cls, source: str) -> C:\n" -" ...\n" -"\n" -" def validate_b(self, obj: B) -> bool:\n" -" ...\n" -"\n" -"class B:\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.7.rst:169 -msgid "" -"Since this change breaks compatibility, the new behavior needs to be enabled" -" on a per-module basis in Python 3.7 using a :mod:`__future__` import::" -msgstr "" -"Karena perubahan ini mengganggu kompatibilitas, perilaku baru harus " -"diaktifkan pada basis per-modul dalam Python 3.7 menggunakan: " -"mod:`__future__` import::" - -#: ../../whatsnew/3.7.rst:172 -msgid "from __future__ import annotations" -msgstr "" - -#: ../../whatsnew/3.7.rst:174 -msgid "It will become the default in Python 3.10." -msgstr "" - -#: ../../whatsnew/3.7.rst:178 -msgid ":pep:`563` -- Postponed evaluation of annotations" -msgstr ":pep:`563` -- Evaluasi Tunda untuk tipe Anotasi" - -#: ../../whatsnew/3.7.rst:179 -msgid "PEP written and implemented by Łukasz Langa." -msgstr "PEP ditulis dan diimplementasikan oleh Łukasz Langa." - -#: ../../whatsnew/3.7.rst:185 -msgid "PEP 538: Legacy C Locale Coercion" -msgstr "PEP 538: Pemaksaan Lokal C Peninggalan" - -#: ../../whatsnew/3.7.rst:187 -msgid "" -"An ongoing challenge within the Python 3 series has been determining a " -"sensible default strategy for handling the \"7-bit ASCII\" text encoding " -"assumption currently implied by the use of the default C or POSIX locale on " -"non-Windows platforms." -msgstr "" -"Tantangan berkelanjutan dalam seri Python 3 telah menentukan strategi bawaan" -" yang masuk akal untuk menangani asumsi pengkodean teks \"7-bit ASCII\" yang" -" saat ini tersirat oleh penggunaan bawaan C atau lokal POSIX pada platform " -"non-Windows." - -#: ../../whatsnew/3.7.rst:192 -msgid "" -":pep:`538` updates the default interpreter command line interface to " -"automatically coerce that locale to an available UTF-8 based locale as " -"described in the documentation of the new :envvar:`PYTHONCOERCECLOCALE` " -"environment variable. Automatically setting ``LC_CTYPE`` this way means that" -" both the core interpreter and locale-aware C extensions (such as " -":mod:`readline`) will assume the use of UTF-8 as the default text encoding, " -"rather than ASCII." -msgstr "" -":pep:`538` memperbarui antarmuka standar baris perintah interpreter untuk " -"secara otomatis memaksa lokal tersebut ke lokal berbasis UTF-8 yang tersedia" -" seperti yang dijelaskan dalam dokumentasi dari variabel lingkungan baru " -":envvar:`PYTHONCOERCECLOCALE`. Secara otomatis menyetel ``LC_CTYPE`` dengan " -"cara ini berarti bahwa kedua interpreter inti dan ekstensi C sadar-lokal " -"(seperti :mod:`readline`) akan mengasumsikan penggunaan UTF-8 sebagai " -"pengkodean teks standar, daripada ASCII." - -#: ../../whatsnew/3.7.rst:200 -msgid "" -"The platform support definition in :pep:`11` has also been updated to limit " -"full text handling support to suitably configured non-ASCII based locales." -msgstr "" -"Definisi dukungan platform di :pep:`11` juga telah diperbarui untuk " -"membatasi dukungan penanganan teks lengkap untuk lokal berbasis non-ASCII " -"yang sesuai." - -#: ../../whatsnew/3.7.rst:203 -msgid "" -"As part of this change, the default error handler for :data:`~sys.stdin` and" -" :data:`~sys.stdout` is now ``surrogateescape`` (rather than ``strict``) " -"when using any of the defined coercion target locales (currently " -"``C.UTF-8``, ``C.utf8``, and ``UTF-8``). The default error handler for " -":data:`~sys.stderr` continues to be ``backslashreplace``, regardless of " -"locale." -msgstr "" -"Sebagai bagian dari pengubahan ini, penanganan error standar untuk " -":data:`~sys.stdin` dan :data:`~sys.stdout` sekarang adalah " -"``surrogateescape`` (bukan lagi ``strict``) ketika menggunakan koersi " -"lokalisasi target yang terdefinisi (untuk sekarang ``C.UTF-8``, ``C.utf8``, " -"and ``UTF-8``). Penanganan error standar untuk :data:`~sys.stderr` masih " -"tetap ``backslashreplace``, apapun lokalisasinya." - -#: ../../whatsnew/3.7.rst:209 -msgid "" -"Locale coercion is silent by default, but to assist in debugging potentially" -" locale related integration problems, explicit warnings (emitted directly on" -" :data:`~sys.stderr`) can be requested by setting " -"``PYTHONCOERCECLOCALE=warn``. This setting will also cause the Python " -"runtime to emit a warning if the legacy C locale remains active when the " -"core interpreter is initialized." -msgstr "" - -#: ../../whatsnew/3.7.rst:215 -msgid "" -"While :pep:`538`'s locale coercion has the benefit of also affecting " -"extension modules (such as GNU ``readline``), as well as child processes " -"(including those running non-Python applications and older versions of " -"Python), it has the downside of requiring that a suitable target locale be " -"present on the running system. To better handle the case where no suitable " -"target locale is available (as occurs on RHEL/CentOS 7, for example), Python" -" 3.7 also implements :ref:`whatsnew37-pep540`." -msgstr "" - -#: ../../whatsnew/3.7.rst:225 -msgid ":pep:`538` -- Coercing the legacy C locale to a UTF-8 based locale" -msgstr "" - -#: ../../whatsnew/3.7.rst:226 -msgid "PEP written and implemented by Nick Coghlan." -msgstr "PEP ditulis dan diimplementasi oleh Nick Coghlan." - -#: ../../whatsnew/3.7.rst:232 -msgid "PEP 540: Forced UTF-8 Runtime Mode" -msgstr "" - -#: ../../whatsnew/3.7.rst:234 -msgid "" -"The new :option:`-X` ``utf8`` command line option and :envvar:`PYTHONUTF8` " -"environment variable can be used to enable the :ref:`Python UTF-8 Mode " -"`." -msgstr "" - -#: ../../whatsnew/3.7.rst:238 -msgid "" -"When in UTF-8 mode, CPython ignores the locale settings, and uses the UTF-8 " -"encoding by default. The error handlers for :data:`sys.stdin` and " -":data:`sys.stdout` streams are set to ``surrogateescape``." -msgstr "" - -#: ../../whatsnew/3.7.rst:242 -msgid "" -"The forced UTF-8 mode can be used to change the text handling behavior in an" -" embedded Python interpreter without changing the locale settings of an " -"embedding application." -msgstr "" - -#: ../../whatsnew/3.7.rst:246 -msgid "" -"While :pep:`540`'s UTF-8 mode has the benefit of working regardless of which" -" locales are available on the running system, it has the downside of having " -"no effect on extension modules (such as GNU ``readline``), child processes " -"running non-Python applications, and child processes running older versions " -"of Python. To reduce the risk of corrupting text data when communicating " -"with such components, Python 3.7 also implements :ref:`whatsnew37-pep540`)." -msgstr "" - -#: ../../whatsnew/3.7.rst:253 -msgid "" -"The UTF-8 mode is enabled by default when the locale is ``C`` or ``POSIX``, " -"and the :pep:`538` locale coercion feature fails to change it to a UTF-8 " -"based alternative (whether that failure is due to ``PYTHONCOERCECLOCALE=0`` " -"being set, ``LC_ALL`` being set, or the lack of a suitable target locale)." -msgstr "" - -#: ../../whatsnew/3.7.rst:260 -msgid ":pep:`540` -- Add a new UTF-8 mode" -msgstr "" - -#: ../../whatsnew/3.7.rst:261 ../../whatsnew/3.7.rst:363 -msgid "PEP written and implemented by Victor Stinner" -msgstr "" - -#: ../../whatsnew/3.7.rst:267 -msgid "PEP 553: Built-in ``breakpoint()``" -msgstr "" - -#: ../../whatsnew/3.7.rst:269 -msgid "" -"Python 3.7 includes the new built-in :func:`breakpoint` function as an easy " -"and consistent way to enter the Python debugger." -msgstr "" - -#: ../../whatsnew/3.7.rst:272 -msgid "" -"Built-in ``breakpoint()`` calls :func:`sys.breakpointhook`. By default, the" -" latter imports :mod:`pdb` and then calls ``pdb.set_trace()``, but by " -"binding ``sys.breakpointhook()`` to the function of your choosing, " -"``breakpoint()`` can enter any debugger. Additionally, the environment " -"variable :envvar:`PYTHONBREAKPOINT` can be set to the callable of your " -"debugger of choice. Set ``PYTHONBREAKPOINT=0`` to completely disable built-" -"in ``breakpoint()``." -msgstr "" - -#: ../../whatsnew/3.7.rst:282 -msgid ":pep:`553` -- Built-in breakpoint()" -msgstr "" - -#: ../../whatsnew/3.7.rst:283 -msgid "PEP written and implemented by Barry Warsaw" -msgstr "" - -#: ../../whatsnew/3.7.rst:289 -msgid "PEP 539: New C API for Thread-Local Storage" -msgstr "" - -#: ../../whatsnew/3.7.rst:291 -msgid "" -"While Python provides a C API for thread-local storage support; the existing" -" :ref:`Thread Local Storage (TLS) API ` has used " -":c:expr:`int` to represent TLS keys across all platforms. This has not " -"generally been a problem for officially support platforms, but that is " -"neither POSIX-compliant, nor portable in any practical sense." -msgstr "" - -#: ../../whatsnew/3.7.rst:297 -msgid "" -":pep:`539` changes this by providing a new :ref:`Thread Specific Storage " -"(TSS) API ` to CPython which supersedes use of " -"the existing TLS API within the CPython interpreter, while deprecating the " -"existing API. The TSS API uses a new type :c:type:`Py_tss_t` instead of " -":c:expr:`int` to represent TSS keys--an opaque type the definition of which " -"may depend on the underlying TLS implementation. Therefore, this will allow" -" to build CPython on platforms where the native TLS key is defined in a way " -"that cannot be safely cast to :c:expr:`int`." -msgstr "" - -#: ../../whatsnew/3.7.rst:306 -msgid "" -"Note that on platforms where the native TLS key is defined in a way that " -"cannot be safely cast to :c:expr:`int`, all functions of the existing TLS " -"API will be no-op and immediately return failure. This indicates clearly " -"that the old API is not supported on platforms where it cannot be used " -"reliably, and that no effort will be made to add such support." -msgstr "" - -#: ../../whatsnew/3.7.rst:314 -msgid ":pep:`539` -- A New C-API for Thread-Local Storage in CPython" -msgstr "" - -#: ../../whatsnew/3.7.rst:315 -msgid "PEP written by Erik M. Bray; implementation by Masayuki Yamamoto." -msgstr "" - -#: ../../whatsnew/3.7.rst:321 -msgid "PEP 562: Customization of Access to Module Attributes" -msgstr "" - -#: ../../whatsnew/3.7.rst:323 -msgid "" -"Python 3.7 allows defining :meth:`__getattr__` on modules and will call it " -"whenever a module attribute is otherwise not found. Defining " -":meth:`__dir__` on modules is now also allowed." -msgstr "" - -#: ../../whatsnew/3.7.rst:327 -msgid "" -"A typical example of where this may be useful is module attribute " -"deprecation and lazy loading." -msgstr "" - -#: ../../whatsnew/3.7.rst:332 -msgid ":pep:`562` -- Module ``__getattr__`` and ``__dir__``" -msgstr "" - -#: ../../whatsnew/3.7.rst:333 ../../whatsnew/3.7.rst:422 -msgid "PEP written and implemented by Ivan Levkivskyi" -msgstr "" - -#: ../../whatsnew/3.7.rst:339 -msgid "PEP 564: New Time Functions With Nanosecond Resolution" -msgstr "" - -#: ../../whatsnew/3.7.rst:341 -msgid "" -"The resolution of clocks in modern systems can exceed the limited precision " -"of a floating-point number returned by the :func:`time.time` function and " -"its variants. To avoid loss of precision, :pep:`564` adds six new " -"\"nanosecond\" variants of the existing timer functions to the :mod:`time` " -"module:" -msgstr "" - -#: ../../whatsnew/3.7.rst:347 ../../whatsnew/3.7.rst:1451 -msgid ":func:`time.clock_gettime_ns`" -msgstr ":func:`time.clock_gettime_ns`" - -#: ../../whatsnew/3.7.rst:348 ../../whatsnew/3.7.rst:1452 -msgid ":func:`time.clock_settime_ns`" -msgstr ":func:`time.clock_settime_ns`" - -#: ../../whatsnew/3.7.rst:349 ../../whatsnew/3.7.rst:1453 -msgid ":func:`time.monotonic_ns`" -msgstr ":func:`time.monotonic_ns`" - -#: ../../whatsnew/3.7.rst:350 ../../whatsnew/3.7.rst:1454 -msgid ":func:`time.perf_counter_ns`" -msgstr ":func:`time.perf_counter_ns`" - -#: ../../whatsnew/3.7.rst:351 ../../whatsnew/3.7.rst:1455 -msgid ":func:`time.process_time_ns`" -msgstr ":func:`time.process_time_ns`" - -#: ../../whatsnew/3.7.rst:352 ../../whatsnew/3.7.rst:1456 -msgid ":func:`time.time_ns`" -msgstr ":func:`time.time_ns`" - -#: ../../whatsnew/3.7.rst:354 -msgid "" -"The new functions return the number of nanoseconds as an integer value." -msgstr "" - -#: ../../whatsnew/3.7.rst:356 -msgid "" -":pep:`Measurements <0564#annex-clocks-resolution-in-python>` show that on " -"Linux and Windows the resolution of :func:`time.time_ns` is approximately 3 " -"times better than that of :func:`time.time`." -msgstr "" - -#: ../../whatsnew/3.7.rst:362 -msgid ":pep:`564` -- Add new time functions with nanosecond resolution" -msgstr "" - -#: ../../whatsnew/3.7.rst:369 -msgid "PEP 565: Show DeprecationWarning in ``__main__``" -msgstr "" - -#: ../../whatsnew/3.7.rst:371 -msgid "" -"The default handling of :exc:`DeprecationWarning` has been changed such that" -" these warnings are once more shown by default, but only when the code " -"triggering them is running directly in the :mod:`__main__` module. As a " -"result, developers of single file scripts and those using Python " -"interactively should once again start seeing deprecation warnings for the " -"APIs they use, but deprecation warnings triggered by imported application, " -"library and framework modules will continue to be hidden by default." -msgstr "" - -#: ../../whatsnew/3.7.rst:379 -msgid "" -"As a result of this change, the standard library now allows developers to " -"choose between three different deprecation warning behaviours:" -msgstr "" - -#: ../../whatsnew/3.7.rst:382 -msgid "" -":exc:`FutureWarning`: always displayed by default, recommended for warnings " -"intended to be seen by application end users (e.g. for deprecated " -"application configuration settings)." -msgstr "" - -#: ../../whatsnew/3.7.rst:385 -msgid "" -":exc:`DeprecationWarning`: displayed by default only in :mod:`__main__` and " -"when running tests, recommended for warnings intended to be seen by other " -"Python developers where a version upgrade may result in changed behaviour or" -" an error." -msgstr "" - -#: ../../whatsnew/3.7.rst:389 -msgid "" -":exc:`PendingDeprecationWarning`: displayed by default only when running " -"tests, intended for cases where a future version upgrade will change the " -"warning category to :exc:`DeprecationWarning` or :exc:`FutureWarning`." -msgstr "" - -#: ../../whatsnew/3.7.rst:393 -msgid "" -"Previously both :exc:`DeprecationWarning` and " -":exc:`PendingDeprecationWarning` were only visible when running tests, which" -" meant that developers primarily writing single file scripts or using Python" -" interactively could be surprised by breaking changes in the APIs they used." -msgstr "" - -#: ../../whatsnew/3.7.rst:400 -msgid ":pep:`565` -- Show DeprecationWarning in ``__main__``" -msgstr "" - -#: ../../whatsnew/3.7.rst:401 -msgid "PEP written and implemented by Nick Coghlan" -msgstr "" - -#: ../../whatsnew/3.7.rst:407 -msgid "PEP 560: Core Support for ``typing`` module and Generic Types" -msgstr "" - -#: ../../whatsnew/3.7.rst:409 -msgid "" -"Initially :pep:`484` was designed in such way that it would not introduce " -"*any* changes to the core CPython interpreter. Now type hints and the " -":mod:`typing` module are extensively used by the community, so this " -"restriction is removed. The PEP introduces two special methods " -":meth:`__class_getitem__` and ``__mro_entries__``, these methods are now " -"used by most classes and special constructs in :mod:`typing`. As a result, " -"the speed of various operations with types increased up to 7 times, the " -"generic types can be used without metaclass conflicts, and several long " -"standing bugs in :mod:`typing` module are fixed." -msgstr "" - -#: ../../whatsnew/3.7.rst:421 -msgid ":pep:`560` -- Core support for typing module and generic types" -msgstr "" - -#: ../../whatsnew/3.7.rst:428 -msgid "PEP 552: Hash-based .pyc Files" -msgstr "" - -#: ../../whatsnew/3.7.rst:430 -msgid "" -"Python has traditionally checked the up-to-dateness of bytecode cache files " -"(i.e., ``.pyc`` files) by comparing the source metadata (last-modified " -"timestamp and size) with source metadata saved in the cache file header when" -" it was generated. While effective, this invalidation method has its " -"drawbacks. When filesystem timestamps are too coarse, Python can miss " -"source updates, leading to user confusion. Additionally, having a timestamp " -"in the cache file is problematic for `build reproducibility " -"`_ and content-based build systems." -msgstr "" - -#: ../../whatsnew/3.7.rst:439 -msgid "" -":pep:`552` extends the pyc format to allow the hash of the source file to be" -" used for invalidation instead of the source timestamp. Such ``.pyc`` files " -"are called \"hash-based\". By default, Python still uses timestamp-based " -"invalidation and does not generate hash-based ``.pyc`` files at runtime. " -"Hash-based ``.pyc`` files may be generated with :mod:`py_compile` or " -":mod:`compileall`." -msgstr "" - -#: ../../whatsnew/3.7.rst:445 -msgid "" -"Hash-based ``.pyc`` files come in two variants: checked and unchecked. " -"Python validates checked hash-based ``.pyc`` files against the corresponding" -" source files at runtime but doesn't do so for unchecked hash-based pycs. " -"Unchecked hash-based ``.pyc`` files are a useful performance optimization " -"for environments where a system external to Python (e.g., the build system) " -"is responsible for keeping ``.pyc`` files up-to-date." -msgstr "" - -#: ../../whatsnew/3.7.rst:452 -msgid "See :ref:`pyc-invalidation` for more information." -msgstr "" - -#: ../../whatsnew/3.7.rst:456 -msgid ":pep:`552` -- Deterministic pycs" -msgstr "" - -#: ../../whatsnew/3.7.rst:457 -msgid "PEP written and implemented by Benjamin Peterson" -msgstr "" - -#: ../../whatsnew/3.7.rst:463 -msgid "PEP 545: Python Documentation Translations" -msgstr "" - -#: ../../whatsnew/3.7.rst:465 -msgid "" -":pep:`545` describes the process of creating and maintaining Python " -"documentation translations." -msgstr "" - -#: ../../whatsnew/3.7.rst:468 -msgid "Three new translations have been added:" -msgstr "" - -#: ../../whatsnew/3.7.rst:470 -msgid "Japanese: https://docs.python.org/ja/" -msgstr "Bahasa Jepang: https://docs.python.org/ja/" - -#: ../../whatsnew/3.7.rst:471 -msgid "French: https://docs.python.org/fr/" -msgstr "Bahasa Perancis: https://docs.python.org/fr/" - -#: ../../whatsnew/3.7.rst:472 -msgid "Korean: https://docs.python.org/ko/" -msgstr "Bahasa Korea: https://docs.python.org/ko/" - -#: ../../whatsnew/3.7.rst:476 -msgid ":pep:`545` -- Python Documentation Translations" -msgstr ":pep:`545` -- Penerjemahan Dokumentasi Python" - -#: ../../whatsnew/3.7.rst:477 -msgid "" -"PEP written and implemented by Julien Palard, Inada Naoki, and Victor " -"Stinner." -msgstr "" -"PEP ditulis dan diimplementasi oleh Julien Palard, Inada Naoki, and Victor " -"Stinner." - -#: ../../whatsnew/3.7.rst:484 -msgid "Python Development Mode (-X dev)" -msgstr "" - -#: ../../whatsnew/3.7.rst:486 -msgid "" -"The new :option:`-X` ``dev`` command line option or the new " -":envvar:`PYTHONDEVMODE` environment variable can be used to enable " -":ref:`Python Development Mode `. When in development mode, Python " -"performs additional runtime checks that are too expensive to be enabled by " -"default. See :ref:`Python Development Mode ` documentation for the " -"full description." -msgstr "" - -#: ../../whatsnew/3.7.rst:495 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.7.rst:497 -msgid "" -"An :keyword:`await` expression and comprehensions containing an " -":keyword:`async for` clause were illegal in the expressions in " -":ref:`formatted string literals ` due to a problem with the " -"implementation. In Python 3.7 this restriction was lifted." -msgstr "" - -#: ../../whatsnew/3.7.rst:502 -msgid "" -"More than 255 arguments can now be passed to a function, and a function can " -"now have more than 255 parameters. (Contributed by Serhiy Storchaka in " -":issue:`12844` and :issue:`18896`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:506 -msgid "" -":meth:`bytes.fromhex` and :meth:`bytearray.fromhex` now ignore all ASCII " -"whitespace, not only spaces. (Contributed by Robert Xiao in :issue:`28927`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:509 -msgid "" -":class:`str`, :class:`bytes`, and :class:`bytearray` gained support for the " -"new :meth:`isascii() ` method, which can be used to test if a " -"string or bytes contain only the ASCII characters. (Contributed by INADA " -"Naoki in :issue:`32677`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:514 -msgid "" -":exc:`ImportError` now displays module name and module ``__file__`` path " -"when ``from ... import ...`` fails. (Contributed by Matthias Bussonnier in " -":issue:`29546`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:518 -msgid "" -"Circular imports involving absolute imports with binding a submodule to a " -"name are now supported. (Contributed by Serhiy Storchaka in :issue:`30024`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:522 -msgid "" -"``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than " -"``format(str(self), '')``. (Contributed by Serhiy Storchaka in " -":issue:`28974`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:526 -msgid "" -"In order to better support dynamic creation of stack traces, " -":class:`types.TracebackType` can now be instantiated from Python code, and " -"the :attr:`~traceback.tb_next` attribute on :ref:`tracebacks ` is now writable. (Contributed by Nathaniel J. Smith in " -":issue:`30579`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:532 -msgid "" -"When using the :option:`-m` switch, ``sys.path[0]`` is now eagerly expanded " -"to the full starting directory path, rather than being left as the empty " -"directory (which allows imports from the *current* working directory at the " -"time when an import occurs) (Contributed by Nick Coghlan in :issue:`33053`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:538 -msgid "" -"The new :option:`-X` ``importtime`` option or the " -":envvar:`PYTHONPROFILEIMPORTTIME` environment variable can be used to show " -"the timing of each module import. (Contributed by Inada Naoki in " -":issue:`31415`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:545 -msgid "New Modules" -msgstr "Modul-Modul Baru" - -#: ../../whatsnew/3.7.rst:550 -msgid "contextvars" -msgstr "contextvars" - -#: ../../whatsnew/3.7.rst:552 -msgid "" -"The new :mod:`contextvars` module and a set of :ref:`new C APIs " -"` introduce support for *context variables*. Context " -"variables are conceptually similar to thread-local variables. Unlike TLS, " -"context variables support asynchronous code correctly." -msgstr "" - -#: ../../whatsnew/3.7.rst:558 -msgid "" -"The :mod:`asyncio` and :mod:`decimal` modules have been updated to use and " -"support context variables out of the box. Particularly the active decimal " -"context is now stored in a context variable, which allows decimal operations" -" to work with the correct context in asynchronous code." -msgstr "" - -#: ../../whatsnew/3.7.rst:565 -msgid ":pep:`567` -- Context Variables" -msgstr "" - -#: ../../whatsnew/3.7.rst:566 -msgid "PEP written and implemented by Yury Selivanov" -msgstr "" - -#: ../../whatsnew/3.7.rst:572 -msgid "dataclasses" -msgstr "dataclasses" - -#: ../../whatsnew/3.7.rst:574 -msgid "" -"The new :func:`~dataclasses.dataclass` decorator provides a way to declare " -"*data classes*. A data class describes its attributes using class variable " -"annotations. Its constructor and other magic methods, such as " -":meth:`~object.__repr__`, :meth:`~object.__eq__`, and " -":meth:`~object.__hash__` are generated automatically." -msgstr "" - -#: ../../whatsnew/3.7.rst:580 -msgid "Example::" -msgstr "Contoh::" - -#: ../../whatsnew/3.7.rst:582 -msgid "" -"@dataclass\n" -"class Point:\n" -" x: float\n" -" y: float\n" -" z: float = 0.0\n" -"\n" -"p = Point(1.5, 2.5)\n" -"print(p) # produces \"Point(x=1.5, y=2.5, z=0.0)\"" -msgstr "" - -#: ../../whatsnew/3.7.rst:593 -msgid ":pep:`557` -- Data Classes" -msgstr "" - -#: ../../whatsnew/3.7.rst:594 -msgid "PEP written and implemented by Eric V. Smith" -msgstr "" - -#: ../../whatsnew/3.7.rst:600 -msgid "importlib.resources" -msgstr "importlib.resources" - -#: ../../whatsnew/3.7.rst:602 -msgid "" -"The new :mod:`importlib.resources` module provides several new APIs and one " -"new ABC for access to, opening, and reading *resources* inside packages. " -"Resources are roughly similar to files inside packages, but they needn't be " -"actual files on the physical file system. Module loaders can provide a " -":meth:`get_resource_reader` function which returns a " -":class:`importlib.abc.ResourceReader` instance to support this new API. " -"Built-in file path loaders and zip file loaders both support this." -msgstr "" - -#: ../../whatsnew/3.7.rst:610 -msgid "Contributed by Barry Warsaw and Brett Cannon in :issue:`32248`." -msgstr "Kontribusi dari Barry Warsaw dan Brett Cannon di :issue:`32248`." - -#: ../../whatsnew/3.7.rst:614 -msgid "" -"`importlib_resources `_ -- a PyPI backport for earlier Python" -" versions." -msgstr "" - -#: ../../whatsnew/3.7.rst:619 -msgid "Improved Modules" -msgstr "Modul yang Ditingkatkan" - -#: ../../whatsnew/3.7.rst:623 -msgid "argparse" -msgstr "argparse" - -#: ../../whatsnew/3.7.rst:625 -msgid "" -"The new :meth:`ArgumentParser.parse_intermixed_args() " -"` method allows intermixing " -"options and positional arguments. (Contributed by paul.j3 in " -":issue:`14191`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:634 ../../whatsnew/3.7.rst:1964 -msgid "asyncio" -msgstr "asyncio" - -#: ../../whatsnew/3.7.rst:636 -msgid "" -"The :mod:`asyncio` module has received many new features, usability and " -":ref:`performance improvements `. Notable changes " -"include:" -msgstr "" - -#: ../../whatsnew/3.7.rst:640 -msgid "" -"The new :term:`provisional ` :func:`asyncio.run` function " -"can be used to run a coroutine from synchronous code by automatically " -"creating and destroying the event loop. (Contributed by Yury Selivanov in " -":issue:`32314`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:645 -msgid "" -"asyncio gained support for :mod:`contextvars`. :meth:`loop.call_soon() " -"`, :meth:`loop.call_soon_threadsafe() " -"`, :meth:`loop.call_later() " -"`, :meth:`loop.call_at() `, " -"and :meth:`Future.add_done_callback() ` " -"have a new optional keyword-only *context* parameter. :class:`Tasks " -"` now track their context automatically. See :pep:`567` for " -"more details. (Contributed by Yury Selivanov in :issue:`32436`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:656 -msgid "" -"The new :func:`asyncio.create_task` function has been added as a shortcut to" -" ``asyncio.get_event_loop().create_task()``. (Contributed by Andrew Svetlov " -"in :issue:`32311`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:660 -msgid "" -"The new :meth:`loop.start_tls() ` method can be used" -" to upgrade an existing connection to TLS. (Contributed by Yury Selivanov in" -" :issue:`23749`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:664 -msgid "" -"The new :meth:`loop.sock_recv_into() ` method " -"allows reading data from a socket directly into a provided buffer making it " -"possible to reduce data copies. (Contributed by Antoine Pitrou in " -":issue:`31819`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:669 -msgid "" -"The new :func:`asyncio.current_task` function returns the currently running " -":class:`~asyncio.Task` instance, and the new :func:`asyncio.all_tasks` " -"function returns a set of all existing ``Task`` instances in a given loop. " -"The :meth:`!Task.current_task` and :meth:`!Task.all_tasks` methods have been" -" deprecated. (Contributed by Andrew Svetlov in :issue:`32250`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:676 -msgid "" -"The new *provisional* :class:`~asyncio.BufferedProtocol` class allows " -"implementing streaming protocols with manual control over the receive " -"buffer. (Contributed by Yury Selivanov in :issue:`32251`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:680 -msgid "" -"The new :func:`asyncio.get_running_loop` function returns the currently " -"running loop, and raises a :exc:`RuntimeError` if no loop is running. This " -"is in contrast with :func:`asyncio.get_event_loop`, which will *create* a " -"new event loop if none is running. (Contributed by Yury Selivanov in " -":issue:`32269`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:686 -msgid "" -"The new :meth:`StreamWriter.wait_closed() " -"` coroutine method allows waiting until " -"the stream writer is closed. The new :meth:`StreamWriter.is_closing() " -"` method can be used to determine if the " -"writer is closing. (Contributed by Andrew Svetlov in :issue:`32391`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:692 -msgid "" -"The new :meth:`loop.sock_sendfile() ` coroutine " -"method allows sending files using :mod:`os.sendfile` when possible. " -"(Contributed by Andrew Svetlov in :issue:`32410`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:696 -msgid "" -"The new :meth:`Future.get_loop() ` and " -"``Task.get_loop()`` methods return the instance of the loop on which a task " -"or a future were created. :meth:`Server.get_loop() " -"` allows doing the same for :class:`asyncio.Server`" -" objects. (Contributed by Yury Selivanov in :issue:`32415` and Srinivas " -"Reddy Thatiparthy in :issue:`32418`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:704 -msgid "" -"It is now possible to control how instances of :class:`asyncio.Server` begin" -" serving. Previously, the server would start serving immediately when " -"created. The new *start_serving* keyword argument to " -":meth:`loop.create_server() ` and " -":meth:`loop.create_unix_server() `, as well" -" as :meth:`Server.start_serving() `, and " -":meth:`Server.serve_forever() ` can be used to" -" decouple server instantiation and serving. The new " -":meth:`Server.is_serving() ` method returns " -"``True`` if the server is serving. :class:`~asyncio.Server` objects are now" -" asynchronous context managers::" -msgstr "" - -#: ../../whatsnew/3.7.rst:716 -msgid "" -"srv = await loop.create_server(...)\n" -"\n" -"async with srv:\n" -" # some code\n" -"\n" -"# At this point, srv is closed and no longer accepts new connections." -msgstr "" - -#: ../../whatsnew/3.7.rst:723 -msgid "(Contributed by Yury Selivanov in :issue:`32662`.)" -msgstr "(Kontribusi dari Yury Selivanov di :issue: `32662`.)" - -#: ../../whatsnew/3.7.rst:725 -msgid "" -"Callback objects returned by :func:`loop.call_later() " -"` gained the new :meth:`when() " -"` method which returns an absolute scheduled " -"callback timestamp. (Contributed by Andrew Svetlov in :issue:`32741`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:731 -msgid "" -"The :meth:`loop.create_datagram_endpoint() \\ " -"` method gained support for Unix " -"sockets. (Contributed by Quentin Dawans in :issue:`31245`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:736 -msgid "" -"The :func:`asyncio.open_connection`, :func:`asyncio.start_server` functions," -" :meth:`loop.create_connection() `, " -":meth:`loop.create_server() `, " -":meth:`loop.create_accepted_socket() `" -" methods and their corresponding UNIX socket variants now accept the " -"*ssl_handshake_timeout* keyword argument. (Contributed by Neil Aspinall in " -":issue:`29970`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:744 -msgid "" -"The new :meth:`Handle.cancelled() ` method returns" -" ``True`` if the callback was cancelled. (Contributed by Marat Sharafutdinov" -" in :issue:`31943`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:748 -msgid "" -"The asyncio source has been converted to use the " -":keyword:`async`/:keyword:`await` syntax. (Contributed by Andrew Svetlov in " -":issue:`32193`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:752 -msgid "" -"The new :meth:`ReadTransport.is_reading() " -"` method can be used to determine the " -"reading state of the transport. Additionally, calls to " -":meth:`ReadTransport.resume_reading() " -"` and " -":meth:`ReadTransport.pause_reading() ` " -"are now idempotent. (Contributed by Yury Selivanov in :issue:`32356`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:760 -msgid "" -"Loop methods which accept socket paths now support passing :term:`path-like " -"objects `. (Contributed by Yury Selivanov in " -":issue:`32066`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:764 -msgid "" -"In :mod:`asyncio` TCP sockets on Linux are now created with ``TCP_NODELAY`` " -"flag set by default. (Contributed by Yury Selivanov and Victor Stinner in " -":issue:`27456`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:768 -msgid "" -"Exceptions occurring in cancelled tasks are no longer logged. (Contributed " -"by Yury Selivanov in :issue:`30508`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:771 -msgid "" -"New ``WindowsSelectorEventLoopPolicy`` and " -"``WindowsProactorEventLoopPolicy`` classes. (Contributed by Yury Selivanov " -"in :issue:`33792`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:775 -msgid "" -"Several ``asyncio`` APIs have been :ref:`deprecated `." -msgstr "" - -#: ../../whatsnew/3.7.rst:780 -msgid "binascii" -msgstr "binascii" - -#: ../../whatsnew/3.7.rst:782 -msgid "" -"The :func:`~binascii.b2a_uu` function now accepts an optional *backtick* " -"keyword argument. When it's true, zeros are represented by ``'`'`` instead " -"of spaces. (Contributed by Xiang Zhang in :issue:`30103`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:788 -msgid "calendar" -msgstr "calendar" - -#: ../../whatsnew/3.7.rst:790 -msgid "" -"The :class:`~calendar.HTMLCalendar` class has new class attributes which " -"ease the customization of CSS classes in the produced HTML calendar. " -"(Contributed by Oz Tiram in :issue:`30095`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:796 ../../whatsnew/3.7.rst:1978 -msgid "collections" -msgstr "collections" - -#: ../../whatsnew/3.7.rst:798 -msgid "" -"``collections.namedtuple()`` now supports default values. (Contributed by " -"Raymond Hettinger in :issue:`32320`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:803 -msgid "compileall" -msgstr "compileall" - -#: ../../whatsnew/3.7.rst:805 -msgid "" -":func:`compileall.compile_dir` learned the new *invalidation_mode* " -"parameter, which can be used to enable :ref:`hash-based .pyc invalidation " -"`. The invalidation mode can also be specified on the " -"command line using the new ``--invalidation-mode`` argument. (Contributed by" -" Benjamin Peterson in :issue:`31650`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:814 -msgid "concurrent.futures" -msgstr "concurrent.futures" - -#: ../../whatsnew/3.7.rst:816 -msgid "" -":class:`ProcessPoolExecutor ` and " -":class:`ThreadPoolExecutor ` now " -"support the new *initializer* and *initargs* constructor arguments. " -"(Contributed by Antoine Pitrou in :issue:`21423`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:821 -msgid "" -"The :class:`ProcessPoolExecutor ` " -"can now take the multiprocessing context via the new *mp_context* argument. " -"(Contributed by Thomas Moreau in :issue:`31540`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:827 -msgid "contextlib" -msgstr "contextlib" - -#: ../../whatsnew/3.7.rst:829 -msgid "" -"The new :func:`~contextlib.nullcontext` is a simpler and faster no-op " -"context manager than :class:`~contextlib.ExitStack`. (Contributed by Jesse-" -"Bakker in :issue:`10049`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:833 -msgid "" -"The new :func:`~contextlib.asynccontextmanager`, " -":class:`~contextlib.AbstractAsyncContextManager`, and " -":class:`~contextlib.AsyncExitStack` have been added to complement their " -"synchronous counterparts. (Contributed by Jelle Zijlstra in :issue:`29679` " -"and :issue:`30241`, and by Alexander Mohr and Ilya Kulakov in " -":issue:`29302`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:842 -msgid "cProfile" -msgstr "cProfile" - -#: ../../whatsnew/3.7.rst:844 -msgid "" -"The :mod:`cProfile` command line now accepts ``-m module_name`` as an " -"alternative to script path. (Contributed by Sanyam Khurana in " -":issue:`21862`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:849 -msgid "crypt" -msgstr "crypt" - -#: ../../whatsnew/3.7.rst:851 -msgid "" -"The :mod:`!crypt` module now supports the Blowfish hashing method. " -"(Contributed by Serhiy Storchaka in :issue:`31664`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:854 -msgid "" -"The :func:`!mksalt` function now allows specifying the number of rounds for " -"hashing. (Contributed by Serhiy Storchaka in :issue:`31702`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:859 -msgid "datetime" -msgstr "datetime" - -#: ../../whatsnew/3.7.rst:861 -msgid "" -"The new :meth:`datetime.fromisoformat() ` " -"method constructs a :class:`~datetime.datetime` object from a string in one " -"of the formats output by :meth:`datetime.isoformat() " -"`. (Contributed by Paul Ganssle in " -":issue:`15873`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:867 -msgid "" -"The :class:`tzinfo ` class now supports sub-minute offsets." -" (Contributed by Alexander Belopolsky in :issue:`5288`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:872 ../../whatsnew/3.7.rst:1988 -msgid "dbm" -msgstr "dbm" - -#: ../../whatsnew/3.7.rst:874 -msgid "" -":mod:`dbm.dumb` now supports reading read-only files and no longer writes " -"the index file when it is not changed." -msgstr "" - -#: ../../whatsnew/3.7.rst:879 -msgid "decimal" -msgstr "decimal" - -#: ../../whatsnew/3.7.rst:881 -msgid "" -"The :mod:`decimal` module now uses :ref:`context variables " -"` to store the decimal context. (Contributed by Yury " -"Selivanov in :issue:`32630`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:887 -msgid "dis" -msgstr "dis" - -#: ../../whatsnew/3.7.rst:889 -msgid "" -"The :func:`~dis.dis` function is now able to disassemble nested code objects" -" (the code of comprehensions, generator expressions and nested functions, " -"and the code used for building nested classes). The maximum depth of " -"disassembly recursion is controlled by the new *depth* parameter. " -"(Contributed by Serhiy Storchaka in :issue:`11822`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:898 -msgid "distutils" -msgstr "distutils" - -#: ../../whatsnew/3.7.rst:900 -msgid "" -"``README.rst`` is now included in the list of distutils standard READMEs and" -" therefore included in source distributions. (Contributed by Ryan Gonzalez " -"in :issue:`11913`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:906 ../../whatsnew/3.7.rst:1998 -msgid "enum" -msgstr "enum" - -#: ../../whatsnew/3.7.rst:908 -msgid "" -"The :class:`Enum ` learned the new ``_ignore_`` class property, " -"which allows listing the names of properties which should not become enum " -"members. (Contributed by Ethan Furman in :issue:`31801`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:913 -msgid "" -"In Python 3.8, attempting to check for non-Enum objects in :class:`Enum` " -"classes will raise a :exc:`TypeError` (e.g. ``1 in Color``); similarly, " -"attempting to check for non-Flag objects in a :class:`Flag` member will " -"raise :exc:`TypeError` (e.g. ``1 in Perm.RW``); currently, both operations " -"return :const:`False` instead and are deprecated. (Contributed by Ethan " -"Furman in :issue:`33217`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:922 -msgid "functools" -msgstr "functools" - -#: ../../whatsnew/3.7.rst:924 -msgid "" -":func:`functools.singledispatch` now supports registering implementations " -"using type annotations. (Contributed by Łukasz Langa in :issue:`32227`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:930 -msgid "gc" -msgstr "gc" - -#: ../../whatsnew/3.7.rst:932 -msgid "" -"The new :func:`gc.freeze` function allows freezing all objects tracked by " -"the garbage collector and excluding them from future collections. This can " -"be used before a POSIX ``fork()`` call to make the GC copy-on-write friendly" -" or to speed up collection. The new :func:`gc.unfreeze` functions reverses " -"this operation. Additionally, :func:`gc.get_freeze_count` can be used to " -"obtain the number of frozen objects. (Contributed by Li Zekun in " -":issue:`31558`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:942 -msgid "hmac" -msgstr "hmac" - -#: ../../whatsnew/3.7.rst:944 -msgid "" -"The :mod:`hmac` module now has an optimized one-shot :func:`~hmac.digest` " -"function, which is up to three times faster than :func:`~hmac.HMAC`. " -"(Contributed by Christian Heimes in :issue:`32433`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:950 -msgid "http.client" -msgstr "http.client" - -#: ../../whatsnew/3.7.rst:952 -msgid "" -":class:`~http.client.HTTPConnection` and " -":class:`~http.client.HTTPSConnection` now support the new *blocksize* " -"argument for improved upload throughput. (Contributed by Nir Soffer in " -":issue:`31945`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:958 -msgid "http.server" -msgstr "http.server" - -#: ../../whatsnew/3.7.rst:960 -msgid "" -":class:`~http.server.SimpleHTTPRequestHandler` now supports the HTTP ``If-" -"Modified-Since`` header. The server returns the 304 response status if the " -"target file was not modified after the time specified in the header. " -"(Contributed by Pierre Quentel in :issue:`29654`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:965 -msgid "" -":class:`~http.server.SimpleHTTPRequestHandler` accepts the new *directory* " -"argument, in addition to the new ``--directory`` command line argument. With" -" this parameter, the server serves the specified directory, by default it " -"uses the current working directory. (Contributed by Stéphane Wirtel and " -"Julien Palard in :issue:`28707`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:971 -msgid "" -"The new :class:`ThreadingHTTPServer ` class" -" uses threads to handle requests using " -":class:`~socketserver.ThreadingMixin`. It is used when ``http.server`` is " -"run with ``-m``. (Contributed by Julien Palard in :issue:`31639`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:978 -msgid "idlelib and IDLE" -msgstr "idlelib and IDLE" - -#: ../../whatsnew/3.7.rst:980 -msgid "" -"Multiple fixes for autocompletion. (Contributed by Louie Lu in " -":issue:`15786`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:982 -msgid "" -"Module Browser (on the File menu, formerly called Class Browser), now " -"displays nested functions and classes in addition to top-level functions and" -" classes. (Contributed by Guilherme Polo, Cheryl Sabella, and Terry Jan " -"Reedy in :issue:`1612262`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:988 -msgid "" -"The Settings dialog (Options, Configure IDLE) has been partly rewritten to " -"improve both appearance and function. (Contributed by Cheryl Sabella and " -"Terry Jan Reedy in multiple issues.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:992 -msgid "" -"The font sample now includes a selection of non-Latin characters so that " -"users can better see the effect of selecting a particular font. (Contributed" -" by Terry Jan Reedy in :issue:`13802`.) The sample can be edited to include " -"other characters. (Contributed by Serhiy Storchaka in :issue:`31860`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:998 -msgid "" -"The IDLE features formerly implemented as extensions have been reimplemented" -" as normal features. Their settings have been moved from the Extensions tab" -" to other dialog tabs. (Contributed by Charles Wohlganger and Terry Jan " -"Reedy in :issue:`27099`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1003 -msgid "" -"Editor code context option revised. Box displays all context lines up to " -"maxlines. Clicking on a context line jumps the editor to that line. " -"Context colors for custom themes is added to Highlights tab of Settings " -"dialog. (Contributed by Cheryl Sabella and Terry Jan Reedy in " -":issue:`33642`, :issue:`33768`, and :issue:`33679`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1009 -msgid "" -"On Windows, a new API call tells Windows that tk scales for DPI. On Windows " -"8.1+ or 10, with DPI compatibility properties of the Python binary " -"unchanged, and a monitor resolution greater than 96 DPI, this should make " -"text and lines sharper. It should otherwise have no effect. (Contributed by" -" Terry Jan Reedy in :issue:`33656`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1015 -msgid "New in 3.7.1:" -msgstr "Yang Baru di 3.7.1:" - -#: ../../whatsnew/3.7.rst:1017 -msgid "" -"Output over N lines (50 by default) is squeezed down to a button. N can be " -"changed in the PyShell section of the General page of the Settings dialog. " -"Fewer, but possibly extra long, lines can be squeezed by right clicking on " -"the output. Squeezed output can be expanded in place by double-clicking the" -" button or into the clipboard or a separate window by right-clicking the " -"button. (Contributed by Tal Einat in :issue:`1529353`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1024 -msgid "The changes above have been backported to 3.6 maintenance releases." -msgstr "" - -#: ../../whatsnew/3.7.rst:1026 -msgid "NEW in 3.7.4:" -msgstr "BARU di 3.7.4:" - -#: ../../whatsnew/3.7.rst:1028 -msgid "" -"Add \"Run Customized\" to the Run menu to run a module with customized " -"settings. Any command line arguments entered are added to sys.argv. They re-" -"appear in the box for the next customized run. One can also suppress the " -"normal Shell main module restart. (Contributed by Cheryl Sabella, Terry Jan" -" Reedy, and others in :issue:`5680` and :issue:`37627`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1034 -msgid "New in 3.7.5:" -msgstr "Baru di 3.7.5:" - -#: ../../whatsnew/3.7.rst:1036 -msgid "" -"Add optional line numbers for IDLE editor windows. Windows open without line" -" numbers unless set otherwise in the General tab of the configuration " -"dialog. Line numbers for an existing window are shown and hidden in the " -"Options menu. (Contributed by Tal Einat and Saimadhav Heblikar in " -":issue:`17535`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1044 ../../whatsnew/3.7.rst:2017 -msgid "importlib" -msgstr "importlib" - -#: ../../whatsnew/3.7.rst:1046 -msgid "" -"The :class:`importlib.abc.ResourceReader` ABC was introduced to support the " -"loading of resources from packages. See also " -":ref:`whatsnew37_importlib_resources`. (Contributed by Barry Warsaw, Brett " -"Cannon in :issue:`32248`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1051 -msgid "" -":func:`importlib.reload` now raises :exc:`ModuleNotFoundError` if the module" -" lacks a spec. (Contributed by Garvit Khatri in :issue:`29851`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1055 -msgid "" -":func:`importlib.find_spec` now raises :exc:`ModuleNotFoundError` instead of" -" :exc:`AttributeError` if the specified parent module is not a package (i.e." -" lacks a ``__path__`` attribute). (Contributed by Milan Oberkirch in " -":issue:`30436`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1060 -msgid "" -"The new :func:`importlib.source_hash` can be used to compute the hash of the" -" passed source. A :ref:`hash-based .pyc file ` embeds " -"the value returned by this function." -msgstr "" - -#: ../../whatsnew/3.7.rst:1066 -msgid "io" -msgstr "io" - -#: ../../whatsnew/3.7.rst:1068 -msgid "" -"The new :meth:`TextIOWrapper.reconfigure() ` " -"method can be used to reconfigure the text stream with the new settings. " -"(Contributed by Antoine Pitrou in :issue:`30526` and INADA Naoki in " -":issue:`15216`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1075 -msgid "ipaddress" -msgstr "ipaddress" - -#: ../../whatsnew/3.7.rst:1077 -msgid "" -"The new ``subnet_of()`` and ``supernet_of()`` methods of " -":class:`ipaddress.IPv6Network` and :class:`ipaddress.IPv4Network` can be " -"used for network containment tests. (Contributed by Michel Albert and Cheryl" -" Sabella in :issue:`20825`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1084 -msgid "itertools" -msgstr "itertools" - -#: ../../whatsnew/3.7.rst:1086 -msgid "" -":func:`itertools.islice` now accepts :meth:`integer-like objects " -"` as start, stop, and slice arguments. (Contributed by " -"Will Roberts in :issue:`30537`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1093 ../../whatsnew/3.7.rst:2035 -msgid "locale" -msgstr "locale" - -#: ../../whatsnew/3.7.rst:1095 -msgid "" -"The new *monetary* argument to :func:`locale.format_string` can be used to " -"make the conversion use monetary thousands separators and grouping strings." -" (Contributed by Garvit in :issue:`10379`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1099 -msgid "" -"The :func:`locale.getpreferredencoding` function now always returns " -"``'UTF-8'`` on Android or when in the :ref:`forced UTF-8 mode " -"`." -msgstr "" - -#: ../../whatsnew/3.7.rst:1104 -msgid "logging" -msgstr "logging" - -#: ../../whatsnew/3.7.rst:1106 -msgid "" -":class:`~logging.Logger` instances can now be pickled. (Contributed by Vinay" -" Sajip in :issue:`30520`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1109 -msgid "" -"The new :meth:`StreamHandler.setStream() ` " -"method can be used to replace the logger stream after handler creation. " -"(Contributed by Vinay Sajip in :issue:`30522`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1113 -msgid "" -"It is now possible to specify keyword arguments to handler constructors in " -"configuration passed to :func:`logging.config.fileConfig`. (Contributed by " -"Preston Landers in :issue:`31080`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1119 -msgid "math" -msgstr "math" - -#: ../../whatsnew/3.7.rst:1121 -msgid "" -"The new :func:`math.remainder` function implements the IEEE 754-style " -"remainder operation. (Contributed by Mark Dickinson in :issue:`29962`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1126 -msgid "mimetypes" -msgstr "mimetypes" - -#: ../../whatsnew/3.7.rst:1128 -msgid "" -"The MIME type of .bmp has been changed from ``'image/x-ms-bmp'`` to " -"``'image/bmp'``. (Contributed by Nitish Chandra in :issue:`22589`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1134 -msgid "msilib" -msgstr "msilib" - -#: ../../whatsnew/3.7.rst:1136 -msgid "" -"The new :meth:`!Database.Close` method can be used to close the :abbr:`MSI` " -"database. (Contributed by Berker Peksag in :issue:`20486`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1142 -msgid "multiprocessing" -msgstr "multiprocessing" - -#: ../../whatsnew/3.7.rst:1144 -msgid "" -"The new :meth:`Process.close() ` method " -"explicitly closes the process object and releases all resources associated " -"with it. :exc:`ValueError` is raised if the underlying process is still " -"running. (Contributed by Antoine Pitrou in :issue:`30596`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1150 -msgid "" -"The new :meth:`Process.kill() ` method can be " -"used to terminate the process using the :data:`SIGKILL` signal on Unix. " -"(Contributed by Vitor Pereira in :issue:`30794`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1154 -msgid "" -"Non-daemonic threads created by :class:`~multiprocessing.Process` are now " -"joined on process exit. (Contributed by Antoine Pitrou in :issue:`18966`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1160 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.7.rst:1162 -msgid "" -":func:`os.fwalk` now accepts the *path* argument as :class:`bytes`. " -"(Contributed by Serhiy Storchaka in :issue:`28682`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1165 -msgid "" -":func:`os.scandir` gained support for :ref:`file descriptors `. " -"(Contributed by Serhiy Storchaka in :issue:`25996`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1168 -msgid "" -"The new :func:`~os.register_at_fork` function allows registering Python " -"callbacks to be executed at process fork. (Contributed by Antoine Pitrou in " -":issue:`16500`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1172 -msgid "" -"Added :func:`os.preadv` (combine the functionality of :func:`os.readv` and " -":func:`os.pread`) and :func:`os.pwritev` functions (combine the " -"functionality of :func:`os.writev` and :func:`os.pwrite`). (Contributed by " -"Pablo Galindo in :issue:`31368`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1177 -msgid "" -"The mode argument of :func:`os.makedirs` no longer affects the file " -"permission bits of newly created intermediate-level directories. " -"(Contributed by Serhiy Storchaka in :issue:`19930`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1181 -msgid "" -":func:`os.dup2` now returns the new file descriptor. Previously, ``None`` " -"was always returned. (Contributed by Benjamin Peterson in :issue:`32441`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1185 -msgid "" -"The structure returned by :func:`os.stat` now contains the " -":attr:`~os.stat_result.st_fstype` attribute on Solaris and its derivatives. " -"(Contributed by Jesús Cea Avión in :issue:`32659`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1191 -msgid "pathlib" -msgstr "pathlib" - -#: ../../whatsnew/3.7.rst:1193 -msgid "" -"The new :meth:`Path.is_mount() ` method is now " -"available on POSIX systems and can be used to determine whether a path is a " -"mount point. (Contributed by Cooper Ry Lees in :issue:`30897`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1199 -msgid "pdb" -msgstr "pdb" - -#: ../../whatsnew/3.7.rst:1201 -msgid "" -":func:`pdb.set_trace` now takes an optional *header* keyword-only argument." -" If given, it is printed to the console just before debugging begins. " -"(Contributed by Barry Warsaw in :issue:`31389`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1205 -msgid "" -":mod:`pdb` command line now accepts ``-m module_name`` as an alternative to " -"script file. (Contributed by Mario Corchero in :issue:`32206`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1210 -msgid "py_compile" -msgstr "py_compile" - -#: ../../whatsnew/3.7.rst:1212 -msgid "" -":func:`py_compile.compile` -- and by extension, :mod:`compileall` -- now " -"respects the :envvar:`SOURCE_DATE_EPOCH` environment variable by " -"unconditionally creating ``.pyc`` files for hash-based validation. This " -"allows for guaranteeing `reproducible builds `_ of ``.pyc`` files when they are created eagerly. (Contributed" -" by Bernhard M. Wiedemann in :issue:`29708`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1222 -msgid "pydoc" -msgstr "pydoc" - -#: ../../whatsnew/3.7.rst:1224 -msgid "" -"The pydoc server can now bind to an arbitrary hostname specified by the new " -"``-n`` command-line argument. (Contributed by Feanil Patel in " -":issue:`31128`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1230 -msgid "queue" -msgstr "queue" - -#: ../../whatsnew/3.7.rst:1232 -msgid "" -"The new :class:`~queue.SimpleQueue` class is an unbounded :abbr:`FIFO` " -"queue. (Contributed by Antoine Pitrou in :issue:`14976`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1237 -msgid "re" -msgstr "re" - -#: ../../whatsnew/3.7.rst:1239 -msgid "" -"The flags :const:`re.ASCII`, :const:`re.LOCALE` and :const:`re.UNICODE` can " -"be set within the scope of a group. (Contributed by Serhiy Storchaka in " -":issue:`31690`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1243 -msgid "" -":func:`re.split` now supports splitting on a pattern like ``r'\\b'``, " -"``'^$'`` or ``(?=-)`` that matches an empty string. (Contributed by Serhiy " -"Storchaka in :issue:`25054`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1247 -msgid "" -"Regular expressions compiled with the :const:`re.LOCALE` flag no longer " -"depend on the locale at compile time. Locale settings are applied only when" -" the compiled regular expression is used. (Contributed by Serhiy Storchaka " -"in :issue:`30215`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1252 -msgid "" -":exc:`FutureWarning` is now emitted if a regular expression contains " -"character set constructs that will change semantically in the future, such " -"as nested sets and set operations. (Contributed by Serhiy Storchaka in " -":issue:`30349`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1257 -msgid "" -"Compiled regular expression and match objects can now be copied using " -":func:`copy.copy` and :func:`copy.deepcopy`. (Contributed by Serhiy " -"Storchaka in :issue:`10076`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1263 -msgid "signal" -msgstr "signal" - -#: ../../whatsnew/3.7.rst:1265 -msgid "" -"The new *warn_on_full_buffer* argument to the :func:`signal.set_wakeup_fd` " -"function makes it possible to specify whether Python prints a warning on " -"stderr when the wakeup buffer overflows. (Contributed by Nathaniel J. Smith " -"in :issue:`30050`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1272 ../../whatsnew/3.7.rst:2058 -msgid "socket" -msgstr "socket" - -#: ../../whatsnew/3.7.rst:1274 -msgid "" -"The new :func:`socket.getblocking() ` method " -"returns ``True`` if the socket is in blocking mode and ``False`` otherwise. " -"(Contributed by Yury Selivanov in :issue:`32373`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1278 -msgid "" -"The new :func:`socket.close` function closes the passed socket file " -"descriptor. This function should be used instead of :func:`os.close` for " -"better compatibility across platforms. (Contributed by Christian Heimes in " -":issue:`32454`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1283 -msgid "" -"The :mod:`socket` module now exposes the :const:`socket.TCP_CONGESTION` " -"(Linux 2.6.13), :const:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37), and " -":const:`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constants. (Contributed by " -"Omar Sandoval in :issue:`26273` and Nathaniel J. Smith in :issue:`29728`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1289 -msgid "" -"Support for :const:`socket.AF_VSOCK` sockets has been added to allow " -"communication between virtual machines and their hosts. (Contributed by " -"Cathy Avery in :issue:`27584`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1293 -msgid "" -"Sockets now auto-detect family, type and protocol from file descriptor by " -"default. (Contributed by Christian Heimes in :issue:`28134`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1299 -msgid "socketserver" -msgstr "socketserver" - -#: ../../whatsnew/3.7.rst:1301 -msgid "" -":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-" -"daemon threads complete. :meth:`socketserver.ForkingMixIn.server_close` now " -"waits until all child processes complete." -msgstr "" - -#: ../../whatsnew/3.7.rst:1305 -msgid "" -"Add a new :attr:`socketserver.ForkingMixIn.block_on_close` class attribute " -"to :class:`socketserver.ForkingMixIn` and " -":class:`socketserver.ThreadingMixIn` classes. Set the class attribute to " -"``False`` to get the pre-3.7 behaviour." -msgstr "" - -#: ../../whatsnew/3.7.rst:1311 -msgid "sqlite3" -msgstr "sqlite3" - -#: ../../whatsnew/3.7.rst:1313 -msgid "" -":class:`sqlite3.Connection` now exposes the " -":meth:`~sqlite3.Connection.backup` method when the underlying SQLite library" -" is at version 3.6.11 or higher. (Contributed by Lele Gaifax in " -":issue:`27645`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1317 -msgid "" -"The *database* argument of :func:`sqlite3.connect` now accepts any " -":term:`path-like object`, instead of just a string. (Contributed by Anders " -"Lorentsen in :issue:`31843`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1323 ../../whatsnew/3.7.rst:2067 -msgid "ssl" -msgstr "ssl" - -#: ../../whatsnew/3.7.rst:1325 -msgid "" -"The :mod:`ssl` module now uses OpenSSL's builtin API instead of " -":func:`~ssl.match_hostname` to check a host name or an IP address. Values " -"are validated during TLS handshake. Any certificate validation error " -"including failing the host name check now raises " -":exc:`~ssl.SSLCertVerificationError` and aborts the handshake with a proper " -"TLS Alert message. The new exception contains additional information. Host " -"name validation can be customized with " -":attr:`SSLContext.hostname_checks_common_name " -"`. (Contributed by Christian " -"Heimes in :issue:`31399`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1336 -msgid "" -"The improved host name check requires a *libssl* implementation compatible " -"with OpenSSL 1.0.2 or 1.1. Consequently, OpenSSL 0.9.8 and 1.0.1 are no " -"longer supported (see :ref:`37-platform-support-removals` for more details)." -" The ssl module is mostly compatible with LibreSSL 2.7.2 and newer." -msgstr "" - -#: ../../whatsnew/3.7.rst:1341 -msgid "" -"The ``ssl`` module no longer sends IP addresses in SNI TLS extension. " -"(Contributed by Christian Heimes in :issue:`32185`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1344 -msgid "" -":func:`~ssl.match_hostname` no longer supports partial wildcards like " -"``www*.example.org``. (Contributed by Mandeep Singh in :issue:`23033` and " -"Christian Heimes in :issue:`31399`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1349 -msgid "" -"The default cipher suite selection of the ``ssl`` module now uses a " -"blacklist approach rather than a hard-coded whitelist. Python no longer re-" -"enables ciphers that have been blocked by OpenSSL security updates. Default" -" cipher suite selection can be configured at compile time. (Contributed by " -"Christian Heimes in :issue:`31429`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1355 -msgid "" -"Validation of server certificates containing internationalized domain names " -"(IDNs) is now supported. As part of this change, the " -":attr:`SSLSocket.server_hostname ` attribute " -"now stores the expected hostname in A-label form (``\"xn--pythn-" -"mua.org\"``), rather than the U-label form (``\"pythön.org\"``). " -"(Contributed by Nathaniel J. Smith and Christian Heimes in :issue:`28414`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1362 -msgid "" -"The ``ssl`` module has preliminary and experimental support for TLS 1.3 and " -"OpenSSL 1.1.1. At the time of Python 3.7.0 release, OpenSSL 1.1.1 is still " -"under development and TLS 1.3 hasn't been finalized yet. The TLS 1.3 " -"handshake and protocol behaves slightly differently than TLS 1.2 and " -"earlier, see :ref:`ssl-tlsv1_3`. (Contributed by Christian Heimes in " -":issue:`32947`, :issue:`20995`, :issue:`29136`, :issue:`30622` and " -":issue:`33618`)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1370 -msgid "" -":class:`~ssl.SSLSocket` and :class:`~ssl.SSLObject` no longer have a public " -"constructor. Direct instantiation was never a documented and supported " -"feature. Instances must be created with :class:`~ssl.SSLContext` methods " -":meth:`~ssl.SSLContext.wrap_socket` and :meth:`~ssl.SSLContext.wrap_bio`. " -"(Contributed by Christian Heimes in :issue:`32951`)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1376 -msgid "" -"OpenSSL 1.1 APIs for setting the minimum and maximum TLS protocol version " -"are available as :attr:`SSLContext.minimum_version " -"` and :attr:`SSLContext.maximum_version " -"`. Supported protocols are indicated by " -"several new flags, such as :data:`~ssl.HAS_TLSv1_1`. (Contributed by " -"Christian Heimes in :issue:`32609`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1383 -msgid "" -"Added :attr:`ssl.SSLContext.post_handshake_auth` to enable and " -":meth:`ssl.SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 post-" -"handshake authentication. (Contributed by Christian Heimes in :gh:`78851`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1389 -msgid "string" -msgstr "string" - -#: ../../whatsnew/3.7.rst:1391 -msgid "" -":class:`string.Template` now lets you to optionally modify the regular " -"expression pattern for braced placeholders and non-braced placeholders " -"separately. (Contributed by Barry Warsaw in :issue:`1198569`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1397 -msgid "subprocess" -msgstr "subprocess" - -#: ../../whatsnew/3.7.rst:1399 -msgid "" -"The :func:`subprocess.run` function accepts the new *capture_output* keyword" -" argument. When true, stdout and stderr will be captured. This is " -"equivalent to passing :const:`subprocess.PIPE` as *stdout* and *stderr* " -"arguments. (Contributed by Bo Bayles in :issue:`32102`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1405 -msgid "" -"The ``subprocess.run`` function and the :class:`subprocess.Popen` " -"constructor now accept the *text* keyword argument as an alias to " -"*universal_newlines*. (Contributed by Andrew Clegg in :issue:`31756`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1410 -msgid "" -"On Windows the default for *close_fds* was changed from ``False`` to " -"``True`` when redirecting the standard handles. It's now possible to set " -"*close_fds* to true when redirecting the standard handles. See " -":class:`subprocess.Popen`. This means that *close_fds* now defaults to " -"``True`` on all supported platforms. (Contributed by Segev Finer in " -":issue:`19764`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1417 -msgid "" -"The subprocess module is now more graceful when handling " -":exc:`KeyboardInterrupt` during :func:`subprocess.call`, " -":func:`subprocess.run`, or in a :class:`~subprocess.Popen` context manager." -" It now waits a short amount of time for the child to exit, before " -"continuing the handling of the ``KeyboardInterrupt`` exception. (Contributed" -" by Gregory P. Smith in :issue:`25942`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1427 ../../whatsnew/3.7.rst:2083 -msgid "sys" -msgstr "sys" - -#: ../../whatsnew/3.7.rst:1429 -msgid "" -"The new :func:`sys.breakpointhook` hook function is called by the built-in " -":func:`breakpoint`. (Contributed by Barry Warsaw in :issue:`31353`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1433 -msgid "" -"On Android, the new :func:`sys.getandroidapilevel` returns the build-time " -"Android API version. (Contributed by Victor Stinner in :issue:`28740`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1437 -msgid "" -"The new :func:`sys.get_coroutine_origin_tracking_depth` function returns the" -" current coroutine origin tracking depth, as set by the new " -":func:`sys.set_coroutine_origin_tracking_depth`. :mod:`asyncio` has been " -"converted to use this new API instead of the deprecated " -":func:`sys.set_coroutine_wrapper`. (Contributed by Nathaniel J. Smith in " -":issue:`32591`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1446 -msgid "time" -msgstr "time" - -#: ../../whatsnew/3.7.rst:1448 -msgid "" -":pep:`564` adds six new functions with nanosecond resolution to the " -":mod:`time` module:" -msgstr "" - -#: ../../whatsnew/3.7.rst:1458 -msgid "New clock identifiers have been added:" -msgstr "" - -#: ../../whatsnew/3.7.rst:1460 -msgid "" -":const:`time.CLOCK_BOOTTIME` (Linux): Identical to " -":const:`time.CLOCK_MONOTONIC`, except it also includes any time that the " -"system is suspended." -msgstr "" - -#: ../../whatsnew/3.7.rst:1463 -msgid "" -":const:`time.CLOCK_PROF` (FreeBSD, NetBSD and OpenBSD): High-resolution per-" -"process CPU timer." -msgstr "" - -#: ../../whatsnew/3.7.rst:1465 -msgid "" -":const:`time.CLOCK_UPTIME` (FreeBSD, OpenBSD): Time whose absolute value is " -"the time the system has been running and not suspended, providing accurate " -"uptime measurement." -msgstr "" - -#: ../../whatsnew/3.7.rst:1469 -msgid "" -"The new :func:`time.thread_time` and :func:`time.thread_time_ns` functions " -"can be used to get per-thread CPU time measurements. (Contributed by Antoine" -" Pitrou in :issue:`32025`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1473 -msgid "" -"The new :func:`time.pthread_getcpuclockid` function returns the clock ID of " -"the thread-specific CPU-time clock." -msgstr "" - -#: ../../whatsnew/3.7.rst:1478 -msgid "tkinter" -msgstr "tkinter" - -#: ../../whatsnew/3.7.rst:1480 -msgid "" -"The new :class:`tkinter.ttk.Spinbox` class is now available. (Contributed by" -" Alan Moore in :issue:`32585`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1485 -msgid "tracemalloc" -msgstr "tracemalloc" - -#: ../../whatsnew/3.7.rst:1487 -msgid "" -":class:`tracemalloc.Traceback` behaves more like regular tracebacks, sorting" -" the frames from oldest to most recent. :meth:`Traceback.format() " -"` now accepts negative *limit*, truncating the" -" result to the ``abs(limit)`` oldest frames. To get the old behaviour, use " -"the new *most_recent_first* argument to ``Traceback.format()``. (Contributed" -" by Jesse Bakker in :issue:`32121`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1497 -msgid "types" -msgstr "types" - -#: ../../whatsnew/3.7.rst:1499 -msgid "" -"The new :class:`~types.WrapperDescriptorType`, " -":class:`~types.MethodWrapperType`, :class:`~types.MethodDescriptorType`, and" -" :class:`~types.ClassMethodDescriptorType` classes are now available. " -"(Contributed by Manuel Krebber and Guido van Rossum in :issue:`29377`, and " -"Serhiy Storchaka in :issue:`32265`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1505 -msgid "" -"The new :func:`types.resolve_bases` function resolves MRO entries " -"dynamically as specified by :pep:`560`. (Contributed by Ivan Levkivskyi in " -":issue:`32717`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1511 -msgid "unicodedata" -msgstr "unicodedata" - -#: ../../whatsnew/3.7.rst:1513 -msgid "" -"The internal :mod:`unicodedata` database has been upgraded to use `Unicode " -"11 `_. (Contributed by " -"Benjamin Peterson.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1519 -msgid "unittest" -msgstr "unittest" - -#: ../../whatsnew/3.7.rst:1521 -msgid "" -"The new ``-k`` command-line option allows filtering tests by a name " -"substring or a Unix shell-like pattern. For example, ``python -m unittest -k" -" foo`` runs ``foo_tests.SomeTest.test_something``, " -"``bar_tests.SomeTest.test_foo``, but not " -"``bar_tests.FooTest.test_something``. (Contributed by Jonas Haag in " -":issue:`32071`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1530 -msgid "unittest.mock" -msgstr "unittest.mock" - -#: ../../whatsnew/3.7.rst:1532 -msgid "" -"The :const:`~unittest.mock.sentinel` attributes now preserve their identity " -"when they are :mod:`copied ` or :mod:`pickled `. (Contributed " -"by Serhiy Storchaka in :issue:`20804`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1536 -msgid "" -"The new :func:`~unittest.mock.seal` function allows sealing " -":class:`~unittest.mock.Mock` instances, which will disallow further creation" -" of attribute mocks. The seal is applied recursively to all attributes that" -" are themselves mocks. (Contributed by Mario Corchero in :issue:`30541`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1544 -msgid "urllib.parse" -msgstr "urllib.parse" - -#: ../../whatsnew/3.7.rst:1546 -msgid "" -":func:`urllib.parse.quote` has been updated from :rfc:`2396` to :rfc:`3986`," -" adding ``~`` to the set of characters that are never quoted by default. " -"(Contributed by Christian Theune and Ratnadeep Debnath in :issue:`16285`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1552 -msgid "uu" -msgstr "uu" - -#: ../../whatsnew/3.7.rst:1554 -msgid "" -"The :func:`!uu.encode` function now accepts an optional *backtick* keyword " -"argument. When it's true, zeros are represented by ``'`'`` instead of " -"spaces. (Contributed by Xiang Zhang in :issue:`30103`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1560 -msgid "uuid" -msgstr "uuid" - -#: ../../whatsnew/3.7.rst:1562 -msgid "" -"The new :attr:`UUID.is_safe ` attribute relays " -"information from the platform about whether generated UUIDs are generated " -"with a multiprocessing-safe method. (Contributed by Barry Warsaw in " -":issue:`22807`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1567 -msgid "" -":func:`uuid.getnode` now prefers universally administered MAC addresses over" -" locally administered MAC addresses. This makes a better guarantee for " -"global uniqueness of UUIDs returned from :func:`uuid.uuid1`. If only " -"locally administered MAC addresses are available, the first such one found " -"is returned. (Contributed by Barry Warsaw in :issue:`32107`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1576 -msgid "warnings" -msgstr "warnings" - -#: ../../whatsnew/3.7.rst:1578 -msgid "" -"The initialization of the default warnings filters has changed as follows:" -msgstr "" - -#: ../../whatsnew/3.7.rst:1580 -msgid "" -"warnings enabled via command line options (including those for :option:`-b` " -"and the new CPython-specific :option:`-X` ``dev`` option) are always passed " -"to the warnings machinery via the :data:`sys.warnoptions` attribute." -msgstr "" - -#: ../../whatsnew/3.7.rst:1584 -msgid "" -"warnings filters enabled via the command line or the environment now have " -"the following order of precedence:" -msgstr "" - -#: ../../whatsnew/3.7.rst:1587 -msgid "the ``BytesWarning`` filter for :option:`-b` (or ``-bb``)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1588 -msgid "any filters specified with the :option:`-W` option" -msgstr "" - -#: ../../whatsnew/3.7.rst:1589 -msgid "" -"any filters specified with the :envvar:`PYTHONWARNINGS` environment variable" -msgstr "" - -#: ../../whatsnew/3.7.rst:1591 -msgid "" -"any other CPython specific filters (e.g. the ``default`` filter added for " -"the new ``-X dev`` mode)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1593 -msgid "any implicit filters defined directly by the warnings machinery" -msgstr "" - -#: ../../whatsnew/3.7.rst:1595 -msgid "" -"in :ref:`CPython debug builds `, all warnings are now displayed" -" by default (the implicit filter list is empty)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1598 -msgid "" -"(Contributed by Nick Coghlan and Victor Stinner in :issue:`20361`, " -":issue:`32043`, and :issue:`32230`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1601 -msgid "" -"Deprecation warnings are once again shown by default in single-file scripts " -"and at the interactive prompt. See :ref:`whatsnew37-pep565` for details. " -"(Contributed by Nick Coghlan in :issue:`31975`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1607 -msgid "xml" -msgstr "xml" - -#: ../../whatsnew/3.7.rst:1609 -msgid "" -"As mitigation against DTD and external entity retrieval, the " -":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external" -" entities by default. (Contributed by Christian Heimes in :gh:`61441`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1616 -msgid "xml.etree" -msgstr "xml.etree" - -#: ../../whatsnew/3.7.rst:1618 -msgid "" -":ref:`ElementPath ` predicates in the :meth:`find` " -"methods can now compare text of the current node with ``[. = \"text\"]``, " -"not only text in children. Predicates also allow adding spaces for better " -"readability. (Contributed by Stefan Behnel in :issue:`31648`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1625 -msgid "xmlrpc.server" -msgstr "xmlrpc.server" - -#: ../../whatsnew/3.7.rst:1627 -msgid "" -":meth:`SimpleXMLRPCDispatcher.register_function " -"` can now be used as a decorator. " -"(Contributed by Xiang Zhang in :issue:`7769`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1633 -msgid "zipapp" -msgstr "zipapp" - -#: ../../whatsnew/3.7.rst:1635 -msgid "" -"Function :func:`~zipapp.create_archive` now accepts an optional *filter* " -"argument to allow the user to select which files should be included in the " -"archive. (Contributed by Irmen de Jong in :issue:`31072`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1639 -msgid "" -"Function :func:`~zipapp.create_archive` now accepts an optional *compressed*" -" argument to generate a compressed archive. A command line option " -"``--compress`` has also been added to support compression. (Contributed by " -"Zhiming Wang in :issue:`31638`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1646 -msgid "zipfile" -msgstr "zipfile" - -#: ../../whatsnew/3.7.rst:1648 -msgid "" -":class:`~zipfile.ZipFile` now accepts the new *compresslevel* parameter to " -"control the compression level. (Contributed by Bo Bayles in :issue:`21417`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1652 -msgid "" -"Subdirectories in archives created by ``ZipFile`` are now stored in " -"alphabetical order. (Contributed by Bernhard M. Wiedemann in " -":issue:`30693`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1658 -msgid "C API Changes" -msgstr "" - -#: ../../whatsnew/3.7.rst:1660 -msgid "" -"A new API for thread-local storage has been implemented. See " -":ref:`whatsnew37-pep539` for an overview and :ref:`thread-specific-storage-" -"api` for a complete reference. (Contributed by Masayuki Yamamoto in " -":issue:`25658`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1665 -msgid "" -"The new :ref:`context variables ` functionality exposes a" -" number of :ref:`new C APIs `." -msgstr "" - -#: ../../whatsnew/3.7.rst:1668 -msgid "" -"The new :c:func:`PyImport_GetModule` function returns the previously " -"imported module with the given name. (Contributed by Eric Snow in " -":issue:`28411`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1672 -msgid "" -"The new :c:macro:`Py_RETURN_RICHCOMPARE` macro eases writing rich comparison" -" functions. (Contributed by Petr Victorin in :issue:`23699`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1676 -msgid "" -"The new :c:macro:`Py_UNREACHABLE` macro can be used to mark unreachable code" -" paths. (Contributed by Barry Warsaw in :issue:`31338`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1680 -msgid "" -"The :mod:`tracemalloc` now exposes a C API through the new " -":c:func:`PyTraceMalloc_Track` and :c:func:`PyTraceMalloc_Untrack` functions." -" (Contributed by Victor Stinner in :issue:`30054`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1685 -msgid "" -"The new :c:func:`import__find__load__start` and " -":c:func:`import__find__load__done` static markers can be used to trace " -"module imports. (Contributed by Christian Heimes in :issue:`31574`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1690 -msgid "" -"The fields :c:member:`!name` and :c:member:`!doc` of structures " -":c:type:`PyMemberDef`, :c:type:`PyGetSetDef`, " -":c:type:`PyStructSequence_Field`, :c:type:`PyStructSequence_Desc`, and " -":c:struct:`wrapperbase` are now of type ``const char *`` rather of ``char " -"*``. (Contributed by Serhiy Storchaka in :issue:`28761`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1696 -msgid "" -"The result of :c:func:`PyUnicode_AsUTF8AndSize` and " -":c:func:`PyUnicode_AsUTF8` is now of type ``const char *`` rather of ``char " -"*``. (Contributed by Serhiy Storchaka in :issue:`28769`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1700 -msgid "" -"The result of :c:func:`PyMapping_Keys`, :c:func:`PyMapping_Values` and " -":c:func:`PyMapping_Items` is now always a list, rather than a list or a " -"tuple. (Contributed by Oren Milman in :issue:`28280`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1704 -msgid "" -"Added functions :c:func:`PySlice_Unpack` and " -":c:func:`PySlice_AdjustIndices`. (Contributed by Serhiy Storchaka in " -":issue:`27867`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1707 -msgid "" -":c:func:`PyOS_AfterFork` is deprecated in favour of the new functions " -":c:func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` and " -":c:func:`PyOS_AfterFork_Child`. (Contributed by Antoine Pitrou in " -":issue:`16500`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1712 -msgid "" -"The ``PyExc_RecursionErrorInst`` singleton that was part of the public API " -"has been removed as its members being never cleared may cause a segfault " -"during finalization of the interpreter. Contributed by Xavier de Gaye in " -":issue:`22898` and :issue:`30697`." -msgstr "" - -#: ../../whatsnew/3.7.rst:1717 -msgid "" -"Added C API support for timezones with timezone constructors " -":c:func:`PyTimeZone_FromOffset` and :c:func:`PyTimeZone_FromOffsetAndName`, " -"and access to the UTC singleton with :c:data:`PyDateTime_TimeZone_UTC`. " -"Contributed by Paul Ganssle in :issue:`10381`." -msgstr "" - -#: ../../whatsnew/3.7.rst:1722 -msgid "" -"The type of results of :c:func:`PyThread_start_new_thread` and " -":c:func:`PyThread_get_thread_ident`, and the *id* parameter of " -":c:func:`PyThreadState_SetAsyncExc` changed from :c:expr:`long` to " -":c:expr:`unsigned long`. (Contributed by Serhiy Storchaka in :issue:`6532`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1728 -msgid "" -":c:func:`PyUnicode_AsWideCharString` now raises a :exc:`ValueError` if the " -"second argument is ``NULL`` and the :c:expr:`wchar_t*` string contains null " -"characters. (Contributed by Serhiy Storchaka in :issue:`30708`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1732 -msgid "" -"Changes to the startup sequence and the management of dynamic memory " -"allocators mean that the long documented requirement to call " -":c:func:`Py_Initialize` before calling most C API functions is now relied on" -" more heavily, and failing to abide by it may lead to segfaults in embedding" -" applications. See the :ref:`porting-to-python-37` section in this document " -"and the :ref:`pre-init-safe` section in the C API documentation for more " -"details." -msgstr "" - -#: ../../whatsnew/3.7.rst:1740 -msgid "" -"The new :c:func:`PyInterpreterState_GetID` returns the unique ID for a given" -" interpreter. (Contributed by Eric Snow in :issue:`29102`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1744 -msgid "" -":c:func:`Py_DecodeLocale`, :c:func:`Py_EncodeLocale` now use the UTF-8 " -"encoding when the :ref:`UTF-8 mode ` is enabled. " -"(Contributed by Victor Stinner in :issue:`29240`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1748 -msgid "" -":c:func:`PyUnicode_DecodeLocaleAndSize` and :c:func:`PyUnicode_EncodeLocale`" -" now use the current locale encoding for ``surrogateescape`` error handler. " -"(Contributed by Victor Stinner in :issue:`29240`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1752 -msgid "" -"The *start* and *end* parameters of :c:func:`PyUnicode_FindChar` are now " -"adjusted to behave like string slices. (Contributed by Xiang Zhang in " -":issue:`28822`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1758 -msgid "Build Changes" -msgstr "" - -#: ../../whatsnew/3.7.rst:1760 -msgid "" -"Support for building ``--without-threads`` has been removed. The " -":mod:`threading` module is now always available. (Contributed by Antoine " -"Pitrou in :issue:`31370`.)." -msgstr "" - -#: ../../whatsnew/3.7.rst:1764 -msgid "" -"A full copy of libffi is no longer bundled for use when building the " -":mod:`_ctypes ` module on non-OSX UNIX platforms. An installed copy" -" of libffi is now required when building ``_ctypes`` on such platforms. " -"(Contributed by Zachary Ware in :issue:`27979`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1769 -msgid "" -"The Windows build process no longer depends on Subversion to pull in " -"external sources, a Python script is used to download zipfiles from GitHub " -"instead. If Python 3.6 is not found on the system (via ``py -3.6``), NuGet " -"is used to download a copy of 32-bit Python for this purpose. (Contributed " -"by Zachary Ware in :issue:`30450`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1775 -msgid "" -"The :mod:`ssl` module requires OpenSSL 1.0.2 or 1.1 compatible libssl. " -"OpenSSL 1.0.1 has reached end of lifetime on 2016-12-31 and is no longer " -"supported. LibreSSL is temporarily not supported as well. LibreSSL releases " -"up to version 2.6.4 are missing required OpenSSL 1.0.2 APIs." -msgstr "" - -#: ../../whatsnew/3.7.rst:1784 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.7.rst:1786 -msgid "" -"The overhead of calling many methods of various standard library classes " -"implemented in C has been significantly reduced by porting more code to use " -"the ``METH_FASTCALL`` convention. (Contributed by Victor Stinner in " -":issue:`29300`, :issue:`29507`, :issue:`29452`, and :issue:`29286`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1792 -msgid "" -"Various optimizations have reduced Python startup time by 10% on Linux and " -"up to 30% on macOS. (Contributed by Victor Stinner, INADA Naoki in " -":issue:`29585`, and Ivan Levkivskyi in :issue:`31333`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1797 -msgid "" -"Method calls are now up to 20% faster due to the bytecode changes which " -"avoid creating bound method instances. (Contributed by Yury Selivanov and " -"INADA Naoki in :issue:`26110`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1803 -msgid "" -"The :mod:`asyncio` module received a number of notable optimizations for " -"commonly used functions:" -msgstr "" - -#: ../../whatsnew/3.7.rst:1806 -msgid "" -"The :func:`asyncio.get_event_loop` function has been reimplemented in C to " -"make it up to 15 times faster. (Contributed by Yury Selivanov in " -":issue:`32296`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1810 -msgid "" -":class:`asyncio.Future` callback management has been optimized. (Contributed" -" by Yury Selivanov in :issue:`32348`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1813 -msgid "" -":func:`asyncio.gather` is now up to 15% faster. (Contributed by Yury " -"Selivanov in :issue:`32355`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1816 -msgid "" -":func:`asyncio.sleep` is now up to 2 times faster when the *delay* argument " -"is zero or negative. (Contributed by Andrew Svetlov in :issue:`32351`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1820 -msgid "" -"The performance overhead of asyncio debug mode has been reduced. " -"(Contributed by Antoine Pitrou in :issue:`31970`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1823 -msgid "" -"As a result of :ref:`PEP 560 work `, the import time of " -":mod:`typing` has been reduced by a factor of 7, and many typing operations " -"are now faster. (Contributed by Ivan Levkivskyi in :issue:`32226`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1828 -msgid "" -":func:`sorted` and :meth:`list.sort` have been optimized for common cases to" -" be up to 40-75% faster. (Contributed by Elliot Gorokhovsky in " -":issue:`28685`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1832 -msgid "" -":meth:`dict.copy` is now up to 5.5 times faster. (Contributed by Yury " -"Selivanov in :issue:`31179`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1835 -msgid "" -":func:`hasattr` and :func:`getattr` are now about 4 times faster when *name*" -" is not found and *obj* does not override :meth:`object.__getattr__` or " -":meth:`object.__getattribute__`. (Contributed by INADA Naoki in " -":issue:`32544`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1840 -msgid "" -"Searching for certain Unicode characters (like Ukrainian capital \"Є\") in a" -" string was up to 25 times slower than searching for other characters. It is" -" now only 3 times slower in the worst case. (Contributed by Serhiy Storchaka" -" in :issue:`24821`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1845 -msgid "" -"The :func:`collections.namedtuple` factory has been reimplemented to make " -"the creation of named tuples 4 to 6 times faster. (Contributed by Jelle " -"Zijlstra with further improvements by INADA Naoki, Serhiy Storchaka, and " -"Raymond Hettinger in :issue:`28638`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1850 -msgid "" -":meth:`date.fromordinal` and :meth:`date.fromtimestamp` are now up to 30% " -"faster in the common case. (Contributed by Paul Ganssle in :issue:`32403`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1854 -msgid "" -"The :func:`os.fwalk` function is now up to 2 times faster thanks to the use " -"of :func:`os.scandir`. (Contributed by Serhiy Storchaka in :issue:`25996`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1858 -msgid "" -"The speed of the :func:`shutil.rmtree` function has been improved by 20--40%" -" thanks to the use of the :func:`os.scandir` function. (Contributed by " -"Serhiy Storchaka in :issue:`28564`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1862 -msgid "" -"Optimized case-insensitive matching and searching of :mod:`regular " -"expressions `. Searching some patterns can now be up to 20 times " -"faster. (Contributed by Serhiy Storchaka in :issue:`30285`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1866 -msgid "" -":func:`re.compile` now converts ``flags`` parameter to int object if it is " -"``RegexFlag``. It is now as fast as Python 3.5, and faster than Python 3.6 " -"by about 10% depending on the pattern. (Contributed by INADA Naoki in " -":issue:`31671`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1871 -msgid "" -"The :meth:`~selectors.BaseSelector.modify` methods of classes " -":class:`selectors.EpollSelector`, :class:`selectors.PollSelector` and " -":class:`selectors.DevpollSelector` may be around 10% faster under heavy " -"loads. (Contributed by Giampaolo Rodola' in :issue:`30014`)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1876 -msgid "" -"Constant folding has been moved from the peephole optimizer to the new AST " -"optimizer, which is able perform optimizations more consistently. " -"(Contributed by Eugene Toder and INADA Naoki in :issue:`29469` and " -":issue:`11549`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1881 -msgid "" -"Most functions and methods in :mod:`abc` have been rewritten in C. This " -"makes creation of abstract base classes, and calling :func:`isinstance` and " -":func:`issubclass` on them 1.5x faster. This also reduces Python start-up " -"time by up to 10%. (Contributed by Ivan Levkivskyi and INADA Naoki in " -":issue:`31333`)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1887 -msgid "" -"Significant speed improvements to alternate constructors for " -":class:`datetime.date` and :class:`datetime.datetime` by using fast-path " -"constructors when not constructing subclasses. (Contributed by Paul Ganssle " -"in :issue:`32403`)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1892 -msgid "" -"The speed of comparison of :class:`array.array` instances has been improved " -"considerably in certain cases. It is now from 10x to 70x faster when " -"comparing arrays holding values of the same integer type. (Contributed by " -"Adrian Wielgosik in :issue:`24700`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1897 -msgid "" -"The :func:`math.erf` and :func:`math.erfc` functions now use the (faster) C " -"library implementation on most platforms. (Contributed by Serhiy Storchaka " -"in :issue:`26121`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1903 -msgid "Other CPython Implementation Changes" -msgstr "" - -#: ../../whatsnew/3.7.rst:1905 -msgid "" -"Trace hooks may now opt out of receiving the ``line`` and opt into receiving" -" the ``opcode`` events from the interpreter by setting the corresponding new" -" :attr:`~frame.f_trace_lines` and :attr:`~frame.f_trace_opcodes` attributes " -"on the frame being traced. (Contributed by Nick Coghlan in :issue:`31344`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1910 -msgid "" -"Fixed some consistency problems with namespace package module attributes. " -"Namespace module objects now have an ``__file__`` that is set to ``None`` " -"(previously unset), and their ``__spec__.origin`` is also set to ``None`` " -"(previously the string ``\"namespace\"``). See :issue:`32305`. Also, the " -"namespace module object's ``__spec__.loader`` is set to the same value as " -"``__loader__`` (previously, the former was set to ``None``). See " -":issue:`32303`." -msgstr "" - -#: ../../whatsnew/3.7.rst:1918 -msgid "" -"The :func:`locals` dictionary now displays in the lexical order that " -"variables were defined. Previously, the order was undefined. (Contributed " -"by Raymond Hettinger in :issue:`32690`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1922 -msgid "" -"The ``distutils`` ``upload`` command no longer tries to change CR end-of-" -"line characters to CRLF. This fixes a corruption issue with sdists that " -"ended with a byte equivalent to CR. (Contributed by Bo Bayles in " -":issue:`32304`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1929 -msgid "Deprecated Python Behavior" -msgstr "Perilaku Python yang Usang" - -#: ../../whatsnew/3.7.rst:1931 -msgid "" -"Yield expressions (both ``yield`` and ``yield from`` clauses) are now " -"deprecated in comprehensions and generator expressions (aside from the " -"iterable expression in the leftmost :keyword:`!for` clause). This ensures " -"that comprehensions always immediately return a container of the appropriate" -" type (rather than potentially returning a :term:`generator iterator` " -"object), while generator expressions won't attempt to interleave their " -"implicit output with the output from any explicit yield expressions. In " -"Python 3.7, such expressions emit :exc:`DeprecationWarning` when compiled, " -"in Python 3.8 this will be a :exc:`SyntaxError`. (Contributed by Serhiy " -"Storchaka in :issue:`10544`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1942 -msgid "" -"Returning a subclass of :class:`complex` from :meth:`object.__complex__` is " -"deprecated and will be an error in future Python versions. This makes " -"``__complex__()`` consistent with :meth:`object.__int__` and " -":meth:`object.__float__`. (Contributed by Serhiy Storchaka in " -":issue:`28894`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1951 -msgid "Deprecated Python modules, functions and methods" -msgstr "" - -#: ../../whatsnew/3.7.rst:1954 -msgid "aifc" -msgstr "aifc" - -#: ../../whatsnew/3.7.rst:1956 -msgid "" -":func:`!aifc.openfp` has been deprecated and will be removed in Python 3.9. " -"Use :func:`!aifc.open` instead. (Contributed by Brian Curtin in " -":issue:`31985`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1966 -msgid "" -"Support for directly ``await``-ing instances of :class:`asyncio.Lock` and " -"other asyncio synchronization primitives has been deprecated. An " -"asynchronous context manager must be used in order to acquire and release " -"the synchronization resource. (Contributed by Andrew Svetlov in " -":issue:`32253`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1972 -msgid "" -"The :meth:`!asyncio.Task.current_task` and :meth:`!asyncio.Task.all_tasks` " -"methods have been deprecated. (Contributed by Andrew Svetlov in " -":issue:`32250`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1980 -msgid "" -"In Python 3.8, the abstract base classes in :mod:`collections.abc` will no " -"longer be exposed in the regular :mod:`collections` module. This will help " -"create a clearer distinction between the concrete classes and the abstract " -"base classes. (Contributed by Serhiy Storchaka in :issue:`25988`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:1990 -msgid "" -":mod:`dbm.dumb` now supports reading read-only files and no longer writes " -"the index file when it is not changed. A deprecation warning is now emitted" -" if the index file is missing and recreated in the ``'r'`` and ``'w'`` modes" -" (this will be an error in future Python releases). (Contributed by Serhiy " -"Storchaka in :issue:`28847`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2000 -msgid "" -"In Python 3.8, attempting to check for non-Enum objects in :class:`Enum` " -"classes will raise a :exc:`TypeError` (e.g. ``1 in Color``); similarly, " -"attempting to check for non-Flag objects in a :class:`Flag` member will " -"raise :exc:`TypeError` (e.g. ``1 in Perm.RW``); currently, both operations " -"return :const:`False` instead. (Contributed by Ethan Furman in " -":issue:`33217`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2009 -msgid "gettext" -msgstr "gettext" - -#: ../../whatsnew/3.7.rst:2011 -msgid "" -"Using non-integer value for selecting a plural form in :mod:`gettext` is now" -" deprecated. It never correctly worked. (Contributed by Serhiy Storchaka in" -" :issue:`28692`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2019 -msgid "" -"Methods :meth:`!MetaPathFinder.find_module` (replaced by " -":meth:`MetaPathFinder.find_spec() `)" -" and :meth:`!PathEntryFinder.find_loader` (replaced by " -":meth:`PathEntryFinder.find_spec() " -"`) both deprecated in Python 3.4 " -"now emit :exc:`DeprecationWarning`. (Contributed by Matthias Bussonnier in " -":issue:`29576`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2030 -msgid "" -"The :class:`importlib.abc.ResourceLoader` ABC has been deprecated in favour " -"of :class:`importlib.abc.ResourceReader`." -msgstr "" - -#: ../../whatsnew/3.7.rst:2037 -msgid "" -":func:`locale.format` has been deprecated, use :meth:`locale.format_string` " -"instead. (Contributed by Garvit in :issue:`10379`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2042 -msgid "macpath" -msgstr "macpath" - -#: ../../whatsnew/3.7.rst:2044 -msgid "" -"The :mod:`macpath` is now deprecated and will be removed in Python 3.8. " -"(Contributed by Chi Hsuan Yen in :issue:`9850`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2049 -msgid "threading" -msgstr "threading" - -#: ../../whatsnew/3.7.rst:2051 -msgid "" -":mod:`!dummy_threading` and :mod:`!_dummy_thread` have been deprecated. It " -"is no longer possible to build Python with threading disabled. Use " -":mod:`threading` instead. (Contributed by Antoine Pitrou in :issue:`31370`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2060 -msgid "" -"The silent argument value truncation in :func:`socket.htons` and " -":func:`socket.ntohs` has been deprecated. In future versions of Python, if " -"the passed argument is larger than 16 bits, an exception will be raised. " -"(Contributed by Oren Milman in :issue:`28332`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2069 -msgid "" -":func:`ssl.wrap_socket` is deprecated. Use " -":meth:`ssl.SSLContext.wrap_socket` instead. (Contributed by Christian Heimes" -" in :issue:`28124`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2075 -msgid "sunau" -msgstr "sunau" - -#: ../../whatsnew/3.7.rst:2077 -msgid "" -":func:`!sunau.openfp` has been deprecated and will be removed in Python 3.9." -" Use :func:`!sunau.open` instead. (Contributed by Brian Curtin in " -":issue:`31985`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2085 -msgid "" -"Deprecated :func:`sys.set_coroutine_wrapper` and " -":func:`sys.get_coroutine_wrapper`." -msgstr "" - -#: ../../whatsnew/3.7.rst:2088 -msgid "" -"The undocumented ``sys.callstats()`` function has been deprecated and will " -"be removed in a future Python version. (Contributed by Victor Stinner in " -":issue:`28799`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2094 -msgid "wave" -msgstr "wave" - -#: ../../whatsnew/3.7.rst:2096 -msgid "" -":func:`wave.openfp` has been deprecated and will be removed in Python 3.9. " -"Use :func:`wave.open` instead. (Contributed by Brian Curtin in " -":issue:`31985`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2102 -msgid "Deprecated functions and types of the C API" -msgstr "" - -#: ../../whatsnew/3.7.rst:2104 -msgid "" -"Function :c:func:`PySlice_GetIndicesEx` is deprecated and replaced with a " -"macro if ``Py_LIMITED_API`` is not set or set to a value in the range " -"between ``0x03050400`` and ``0x03060000`` (not inclusive), or is " -"``0x03060100`` or higher. (Contributed by Serhiy Storchaka in " -":issue:`27867`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2109 -msgid "" -":c:func:`PyOS_AfterFork` has been deprecated. Use " -":c:func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` or " -":c:func:`PyOS_AfterFork_Child()` instead. (Contributed by Antoine Pitrou in " -":issue:`16500`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2117 -msgid "Platform Support Removals" -msgstr "" - -#: ../../whatsnew/3.7.rst:2119 -msgid "FreeBSD 9 and older are no longer officially supported." -msgstr "" - -#: ../../whatsnew/3.7.rst:2120 -msgid "" -"For full Unicode support, including within extension modules, \\*nix " -"platforms are now expected to provide at least one of ``C.UTF-8`` (full " -"locale), ``C.utf8`` (full locale) or ``UTF-8`` (``LC_CTYPE``-only locale) as" -" an alternative to the legacy ``ASCII``-based ``C`` locale." -msgstr "" - -#: ../../whatsnew/3.7.rst:2124 -msgid "" -"OpenSSL 0.9.8 and 1.0.1 are no longer supported, which means building " -"CPython 3.7 with SSL/TLS support on older platforms still using these " -"versions requires custom build options that link to a more recent version of" -" OpenSSL." -msgstr "" - -#: ../../whatsnew/3.7.rst:2128 -msgid "" -"Notably, this issue affects the Debian 8 (aka \"jessie\") and Ubuntu 14.04 " -"(aka \"Trusty\") LTS Linux distributions, as they still use OpenSSL 1.0.1 by" -" default." -msgstr "" - -#: ../../whatsnew/3.7.rst:2132 -msgid "" -"Debian 9 (\"stretch\") and Ubuntu 16.04 (\"xenial\"), as well as recent " -"releases of other LTS Linux releases (e.g. RHEL/CentOS 7.5, SLES 12-SP3), " -"use OpenSSL 1.0.2 or later, and remain supported in the default build " -"configuration." -msgstr "" - -#: ../../whatsnew/3.7.rst:2136 -msgid "" -"CPython's own `CI configuration file " -"`_ provides an " -"example of using the SSL :source:`compatibility testing infrastructure " -"` in CPython's test suite to build and link " -"against OpenSSL 1.1.0 rather than an outdated system provided OpenSSL." -msgstr "" - -#: ../../whatsnew/3.7.rst:2145 -msgid "API and Feature Removals" -msgstr "API dan Penghapusan Fitur" - -#: ../../whatsnew/3.7.rst:2147 -msgid "The following features and APIs have been removed from Python 3.7:" -msgstr "" - -#: ../../whatsnew/3.7.rst:2149 -msgid "" -"The ``os.stat_float_times()`` function has been removed. It was introduced " -"in Python 2.3 for backward compatibility with Python 2.2, and was deprecated" -" since Python 3.1." -msgstr "" - -#: ../../whatsnew/3.7.rst:2153 -msgid "" -"Unknown escapes consisting of ``'\\'`` and an ASCII letter in replacement " -"templates for :func:`re.sub` were deprecated in Python 3.5, and will now " -"cause an error." -msgstr "" - -#: ../../whatsnew/3.7.rst:2157 -msgid "" -"Removed support of the *exclude* argument in :meth:`tarfile.TarFile.add`. It" -" was deprecated in Python 2.7 and 3.2. Use the *filter* argument instead." -msgstr "" - -#: ../../whatsnew/3.7.rst:2160 -msgid "" -"The :func:`!ntpath.splitunc` function was deprecated in Python 3.1, and has " -"now been removed. Use :func:`~os.path.splitdrive` instead." -msgstr "" - -#: ../../whatsnew/3.7.rst:2164 -msgid "" -":func:`collections.namedtuple` no longer supports the *verbose* parameter or" -" ``_source`` attribute which showed the generated source code for the named " -"tuple class. This was part of an optimization designed to speed-up class " -"creation. (Contributed by Jelle Zijlstra with further improvements by INADA" -" Naoki, Serhiy Storchaka, and Raymond Hettinger in :issue:`28638`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2170 -msgid "" -"Functions :func:`bool`, :func:`float`, :func:`list` and :func:`tuple` no " -"longer take keyword arguments. The first argument of :func:`int` can now be" -" passed only as positional argument." -msgstr "" - -#: ../../whatsnew/3.7.rst:2174 -msgid "" -"Removed previously deprecated in Python 2.4 classes ``Plist``, ``Dict`` and " -"``_InternalDict`` in the :mod:`plistlib` module. Dict values in the result " -"of functions :func:`~plistlib.readPlist` and " -":func:`~plistlib.readPlistFromBytes` are now normal dicts. You no longer " -"can use attribute access to access items of these dictionaries." -msgstr "" - -#: ../../whatsnew/3.7.rst:2180 -msgid "" -"The ``asyncio.windows_utils.socketpair()`` function has been removed. Use " -"the :func:`socket.socketpair` function instead, it is available on all " -"platforms since Python 3.5. ``asyncio.windows_utils.socketpair`` was just an" -" alias to ``socket.socketpair`` on Python 3.5 and newer." -msgstr "" - -#: ../../whatsnew/3.7.rst:2186 -msgid "" -":mod:`asyncio` no longer exports the :mod:`selectors` and " -":mod:`!_overlapped` modules as ``asyncio.selectors`` and " -"``asyncio._overlapped``. Replace ``from asyncio import selectors`` with " -"``import selectors``." -msgstr "" - -#: ../../whatsnew/3.7.rst:2191 -msgid "" -"Direct instantiation of :class:`ssl.SSLSocket` and :class:`ssl.SSLObject` " -"objects is now prohibited. The constructors were never documented, tested, " -"or designed as public constructors. Users were supposed to use " -":func:`ssl.wrap_socket` or :class:`ssl.SSLContext`. (Contributed by " -"Christian Heimes in :issue:`32951`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2197 -msgid "" -"The unused ``distutils`` ``install_misc`` command has been removed. " -"(Contributed by Eric N. Vander Weele in :issue:`29218`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2202 -msgid "Module Removals" -msgstr "Penghapusan Modul" - -#: ../../whatsnew/3.7.rst:2204 -msgid "" -"The ``fpectl`` module has been removed. It was never enabled by default, " -"never worked correctly on x86-64, and it changed the Python ABI in ways that" -" caused unexpected breakage of C extensions. (Contributed by Nathaniel J. " -"Smith in :issue:`29137`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2211 ../../whatsnew/3.7.rst:2487 -msgid "Windows-only Changes" -msgstr "Perubahan di Windows-saja" - -#: ../../whatsnew/3.7.rst:2213 -msgid "" -"The python launcher, (py.exe), can accept 32 & 64 bit specifiers **without**" -" having to specify a minor version as well. So ``py -3-32`` and ``py -3-64``" -" become valid as well as ``py -3.7-32``, also the -*m*-64 and -*m.n*-64 " -"forms are now accepted to force 64 bit python even if 32 bit would have " -"otherwise been used. If the specified version is not available py.exe will " -"error exit. (Contributed by Steve Barnes in :issue:`30291`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2220 -msgid "" -"The launcher can be run as ``py -0`` to produce a list of the installed " -"pythons, *with default marked with an asterisk*. Running ``py -0p`` will " -"include the paths. If py is run with a version specifier that cannot be " -"matched it will also print the *short form* list of available specifiers. " -"(Contributed by Steve Barnes in :issue:`30362`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2230 -msgid "Porting to Python 3.7" -msgstr "" - -#: ../../whatsnew/3.7.rst:2232 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code." -msgstr "" - -#: ../../whatsnew/3.7.rst:2237 -msgid "Changes in Python Behavior" -msgstr "Perubahan di Perilaku Python" - -#: ../../whatsnew/3.7.rst:2239 -msgid "" -":keyword:`async` and :keyword:`await` names are now reserved keywords. Code " -"using these names as identifiers will now raise a :exc:`SyntaxError`. " -"(Contributed by Jelle Zijlstra in :issue:`30406`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2243 -msgid "" -":pep:`479` is enabled for all code in Python 3.7, meaning that " -":exc:`StopIteration` exceptions raised directly or indirectly in coroutines " -"and generators are transformed into :exc:`RuntimeError` exceptions. " -"(Contributed by Yury Selivanov in :issue:`32670`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2249 -msgid "" -":meth:`object.__aiter__` methods can no longer be declared as asynchronous." -" (Contributed by Yury Selivanov in :issue:`31709`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2252 -msgid "" -"Due to an oversight, earlier Python versions erroneously accepted the " -"following syntax::" -msgstr "" - -#: ../../whatsnew/3.7.rst:2255 -msgid "" -"f(1 for x in [1],)\n" -"\n" -"class C(1 for x in [1]):\n" -" pass" -msgstr "" - -#: ../../whatsnew/3.7.rst:2260 -msgid "" -"Python 3.7 now correctly raises a :exc:`SyntaxError`, as a generator " -"expression always needs to be directly inside a set of parentheses and " -"cannot have a comma on either side, and the duplication of the parentheses " -"can be omitted only on calls. (Contributed by Serhiy Storchaka in " -":issue:`32012` and :issue:`32023`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2266 -msgid "" -"When using the :option:`-m` switch, the initial working directory is now " -"added to :data:`sys.path`, rather than an empty string (which dynamically " -"denoted the current working directory at the time of each import). Any " -"programs that are checking for the empty string, or otherwise relying on the" -" previous behaviour, will need to be updated accordingly (e.g. by also " -"checking for ``os.getcwd()`` or ``os.path.dirname(__main__.__file__)``, " -"depending on why the code was checking for the empty string in the first " -"place)." -msgstr "" - -#: ../../whatsnew/3.7.rst:2276 -msgid "Changes in the Python API" -msgstr "Perubahan pada API Python" - -#: ../../whatsnew/3.7.rst:2278 -msgid "" -":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-" -"daemon threads complete. Set the new " -":attr:`socketserver.ThreadingMixIn.block_on_close` class attribute to " -"``False`` to get the pre-3.7 behaviour. (Contributed by Victor Stinner in " -":issue:`31233` and :issue:`33540`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2284 -msgid "" -":meth:`socketserver.ForkingMixIn.server_close` now waits until all child " -"processes complete. Set the new " -":attr:`socketserver.ForkingMixIn.block_on_close` class attribute to " -"``False`` to get the pre-3.7 behaviour. (Contributed by Victor Stinner in " -":issue:`31151` and :issue:`33540`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2290 -msgid "" -"The :func:`locale.localeconv` function now temporarily sets the ``LC_CTYPE``" -" locale to the value of ``LC_NUMERIC`` in some cases. (Contributed by Victor" -" Stinner in :issue:`31900`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2294 -msgid "" -":meth:`pkgutil.walk_packages` now raises a :exc:`ValueError` if *path* is a " -"string. Previously an empty list was returned. (Contributed by Sanyam " -"Khurana in :issue:`24744`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2298 -msgid "" -"A format string argument for :meth:`string.Formatter.format` is now " -":ref:`positional-only `. Passing it as a keyword " -"argument was deprecated in Python 3.5. (Contributed by Serhiy Storchaka in " -":issue:`29193`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2303 -msgid "" -"Attributes :attr:`~http.cookies.Morsel.key`, " -":attr:`~http.cookies.Morsel.value` and " -":attr:`~http.cookies.Morsel.coded_value` of class " -":class:`http.cookies.Morsel` are now read-only. Assigning to them was " -"deprecated in Python 3.5. Use the :meth:`~http.cookies.Morsel.set` method " -"for setting them. (Contributed by Serhiy Storchaka in :issue:`29192`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2311 -msgid "" -"The *mode* argument of :func:`os.makedirs` no longer affects the file " -"permission bits of newly created intermediate-level directories. To set " -"their file permission bits you can set the umask before invoking " -"``makedirs()``. (Contributed by Serhiy Storchaka in :issue:`19930`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2317 -msgid "" -"The :attr:`struct.Struct.format` type is now :class:`str` instead of " -":class:`bytes`. (Contributed by Victor Stinner in :issue:`21071`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2320 -msgid "" -":func:`!cgi.parse_multipart` now accepts the *encoding* and *errors* " -"arguments and returns the same results as :class:`!FieldStorage`: for non-" -"file fields, the value associated to a key is a list of strings, not bytes. " -"(Contributed by Pierre Quentel in :issue:`29979`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2326 -msgid "" -"Due to internal changes in :mod:`socket`, calling :func:`socket.fromshare` " -"on a socket created by :func:`socket.share ` in older " -"Python versions is not supported." -msgstr "" - -#: ../../whatsnew/3.7.rst:2330 -msgid "" -"``repr`` for :exc:`BaseException` has changed to not include the trailing " -"comma. Most exceptions are affected by this change. (Contributed by Serhiy " -"Storchaka in :issue:`30399`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2334 -msgid "" -"``repr`` for :class:`datetime.timedelta` has changed to include the keyword " -"arguments in the output. (Contributed by Utkarsh Upadhyay in " -":issue:`30302`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2337 -msgid "" -"Because :func:`shutil.rmtree` is now implemented using the " -":func:`os.scandir` function, the user specified handler *onerror* is now " -"called with the first argument ``os.scandir`` instead of ``os.listdir`` when" -" listing the directory is failed." -msgstr "" - -#: ../../whatsnew/3.7.rst:2342 -msgid "" -"Support for nested sets and set operations in regular expressions as in " -"`Unicode Technical Standard #18`_ might be added in the future. This would " -"change the syntax. To facilitate this future change a :exc:`FutureWarning` " -"will be raised in ambiguous cases for the time being. That include sets " -"starting with a literal ``'['`` or containing literal character sequences " -"``'--'``, ``'&&'``, ``'~~'``, and ``'||'``. To avoid a warning, escape them" -" with a backslash. (Contributed by Serhiy Storchaka in :issue:`30349`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2353 -msgid "" -"The result of splitting a string on a :mod:`regular expression ` that " -"could match an empty string has been changed. For example splitting on " -"``r'\\s*'`` will now split not only on whitespaces as it did previously, but" -" also on empty strings before all non-whitespace characters and just before " -"the end of the string. The previous behavior can be restored by changing the" -" pattern to ``r'\\s+'``. A :exc:`FutureWarning` was emitted for such " -"patterns since Python 3.5." -msgstr "" - -#: ../../whatsnew/3.7.rst:2362 -msgid "" -"For patterns that match both empty and non-empty strings, the result of " -"searching for all matches may also be changed in other cases. For example " -"in the string ``'a\\n\\n'``, the pattern ``r'(?m)^\\s*?$'`` will not only " -"match empty strings at positions 2 and 3, but also the string ``'\\n'`` at " -"positions 2--3. To match only blank lines, the pattern should be rewritten " -"as ``r'(?m)^[^\\S\\n]*$'``." -msgstr "" - -#: ../../whatsnew/3.7.rst:2369 -msgid "" -":func:`re.sub` now replaces empty matches adjacent to a previous non-empty " -"match. For example ``re.sub('x*', '-', 'abxd')`` returns now ``'-a-b--d-'``" -" instead of ``'-a-b-d-'`` (the first minus between 'b' and 'd' replaces 'x'," -" and the second minus replaces an empty string between 'x' and 'd')." -msgstr "" - -#: ../../whatsnew/3.7.rst:2375 -msgid "" -"(Contributed by Serhiy Storchaka in :issue:`25054` and :issue:`32308`.)" -msgstr "" -"(Kontribusi dari Serhiy Storchaka di :issue:`25054` dan :issue:`32308`.)" - -#: ../../whatsnew/3.7.rst:2377 -msgid "" -"Change :func:`re.escape` to only escape regex special characters instead of " -"escaping all characters other than ASCII letters, numbers, and ``'_'``. " -"(Contributed by Serhiy Storchaka in :issue:`29995`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2381 -msgid "" -":class:`tracemalloc.Traceback` frames are now sorted from oldest to most " -"recent to be more consistent with :mod:`traceback`. (Contributed by Jesse " -"Bakker in :issue:`32121`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2385 -msgid "" -"On OSes that support :const:`socket.SOCK_NONBLOCK` or " -":const:`socket.SOCK_CLOEXEC` bit flags, the :attr:`socket.type " -"` no longer has them applied. Therefore, checks like " -"``if sock.type == socket.SOCK_STREAM`` work as expected on all platforms. " -"(Contributed by Yury Selivanov in :issue:`32331`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2392 -msgid "" -"On Windows the default for the *close_fds* argument of " -":class:`subprocess.Popen` was changed from :const:`False` to :const:`True` " -"when redirecting the standard handles. If you previously depended on handles" -" being inherited when using :class:`subprocess.Popen` with standard io " -"redirection, you will have to pass ``close_fds=False`` to preserve the " -"previous behaviour, or use :attr:`STARTUPINFO.lpAttributeList " -"`." -msgstr "" - -#: ../../whatsnew/3.7.rst:2400 -msgid "" -":meth:`importlib.machinery.PathFinder.invalidate_caches` -- which implicitly" -" affects :func:`importlib.invalidate_caches` -- now deletes entries in " -":data:`sys.path_importer_cache` which are set to ``None``. (Contributed by " -"Brett Cannon in :issue:`33169`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2405 -msgid "" -"In :mod:`asyncio`, :meth:`loop.sock_recv() `, " -":meth:`loop.sock_sendall() `, " -":meth:`loop.sock_accept() `, " -":meth:`loop.getaddrinfo() `, " -":meth:`loop.getnameinfo() ` have been changed to " -"be proper coroutine methods to match their documentation. Previously, these" -" methods returned :class:`asyncio.Future` instances. (Contributed by Yury " -"Selivanov in :issue:`32327`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2416 -msgid "" -":attr:`asyncio.Server.sockets` now returns a copy of the internal list of " -"server sockets, instead of returning it directly. (Contributed by Yury " -"Selivanov in :issue:`32662`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2420 -msgid "" -":attr:`Struct.format ` is now a :class:`str` instance " -"instead of a :class:`bytes` instance. (Contributed by Victor Stinner in " -":issue:`21071`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2424 -msgid "" -":mod:`argparse` subparsers can now be made mandatory by passing " -"``required=True`` to :meth:`ArgumentParser.add_subparsers() " -"`. (Contributed by Anthony Sottile " -"in :issue:`26510`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2428 -msgid "" -":meth:`ast.literal_eval` is now stricter. Addition and subtraction of " -"arbitrary numbers are no longer allowed. (Contributed by Serhiy Storchaka in" -" :issue:`31778`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2432 -msgid "" -":meth:`Calendar.itermonthdates ` will now " -"consistently raise an exception when a date falls outside of the " -"``0001-01-01`` through ``9999-12-31`` range. To support applications that " -"cannot tolerate such exceptions, the new :meth:`Calendar.itermonthdays3 " -"` and :meth:`Calendar.itermonthdays4 " -"` can be used. The new methods return " -"tuples and are not restricted by the range supported by " -":class:`datetime.date`. (Contributed by Alexander Belopolsky in " -":issue:`28292`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2442 -msgid "" -":class:`collections.ChainMap` now preserves the order of the underlying " -"mappings. (Contributed by Raymond Hettinger in :issue:`32792`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2445 -msgid "" -"The ``submit()`` method of :class:`concurrent.futures.ThreadPoolExecutor` " -"and :class:`concurrent.futures.ProcessPoolExecutor` now raises a " -":exc:`RuntimeError` if called during interpreter shutdown. (Contributed by " -"Mark Nemec in :issue:`33097`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2450 -msgid "" -"The :class:`configparser.ConfigParser` constructor now uses ``read_dict()`` " -"to process the default values, making its behavior consistent with the rest " -"of the parser. Non-string keys and values in the defaults dictionary are " -"now being implicitly converted to strings. (Contributed by James Tocknell in" -" :issue:`23835`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2456 -msgid "" -"Several undocumented internal imports were removed. One example is that " -"``os.errno`` is no longer available; use ``import errno`` directly instead. " -"Note that such undocumented internal imports may be removed any time without" -" notice, even in micro version releases." -msgstr "" - -#: ../../whatsnew/3.7.rst:2464 -msgid "Changes in the C API" -msgstr "Perubahan dalam API C" - -#: ../../whatsnew/3.7.rst:2466 -msgid "" -"The function :c:func:`PySlice_GetIndicesEx` is considered unsafe for " -"resizable sequences. If the slice indices are not instances of " -":class:`int`, but objects that implement the :meth:`!__index__` method, the " -"sequence can be resized after passing its length to " -":c:func:`!PySlice_GetIndicesEx`. This can lead to returning indices out of " -"the length of the sequence. For avoiding possible problems use new " -"functions :c:func:`PySlice_Unpack` and :c:func:`PySlice_AdjustIndices`. " -"(Contributed by Serhiy Storchaka in :issue:`27867`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2477 -msgid "CPython bytecode changes" -msgstr "Perubahan bytecode CPython" - -#: ../../whatsnew/3.7.rst:2479 -msgid "" -"There are two new opcodes: :opcode:`LOAD_METHOD` and :opcode:`!CALL_METHOD`." -" (Contributed by Yury Selivanov and INADA Naoki in :issue:`26110`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2482 -msgid "" -"The :opcode:`!STORE_ANNOTATION` opcode has been removed. (Contributed by " -"Mark Shannon in :issue:`32550`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2489 -msgid "" -"The file used to override :data:`sys.path` is now called ``._pth`` instead of ``'sys.path'``. See " -":ref:`windows_finding_modules` for more information. (Contributed by Steve " -"Dower in :issue:`28137`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2496 -msgid "Other CPython implementation changes" -msgstr "" - -#: ../../whatsnew/3.7.rst:2498 -msgid "" -"In preparation for potential future changes to the public CPython runtime " -"initialization API (see :pep:`432` for an initial, but somewhat outdated, " -"draft), CPython's internal startup and configuration management logic has " -"been significantly refactored. While these updates are intended to be " -"entirely transparent to both embedding applications and users of the regular" -" CPython CLI, they're being mentioned here as the refactoring changes the " -"internal order of various operations during interpreter startup, and hence " -"may uncover previously latent defects, either in embedding applications, or " -"in CPython itself. (Initially contributed by Nick Coghlan and Eric Snow as " -"part of :issue:`22257`, and further updated by Nick, Eric, and Victor " -"Stinner in a number of other issues). Some known details affected:" -msgstr "" - -#: ../../whatsnew/3.7.rst:2511 -msgid "" -":c:func:`!PySys_AddWarnOptionUnicode` is not currently usable by embedding " -"applications due to the requirement to create a Unicode object prior to " -"calling ``Py_Initialize``. Use :c:func:`!PySys_AddWarnOption` instead." -msgstr "" - -#: ../../whatsnew/3.7.rst:2515 -msgid "" -"warnings filters added by an embedding application with " -":c:func:`!PySys_AddWarnOption` should now more consistently take precedence " -"over the default filters set by the interpreter" -msgstr "" - -#: ../../whatsnew/3.7.rst:2519 -msgid "" -"Due to changes in the way the default warnings filters are configured, " -"setting :c:data:`Py_BytesWarningFlag` to a value greater than one is no " -"longer sufficient to both emit :exc:`BytesWarning` messages and have them " -"converted to exceptions. Instead, the flag must be set (to cause the " -"warnings to be emitted in the first place), and an explicit " -"``error::BytesWarning`` warnings filter added to convert them to exceptions." -msgstr "" - -#: ../../whatsnew/3.7.rst:2526 -msgid "" -"Due to a change in the way docstrings are handled by the compiler, the " -"implicit ``return None`` in a function body consisting solely of a docstring" -" is now marked as occurring on the same line as the docstring, not on the " -"function's header line." -msgstr "" - -#: ../../whatsnew/3.7.rst:2531 -msgid "" -"The current exception state has been moved from the frame object to the co-" -"routine. This simplified the interpreter and fixed a couple of obscure bugs " -"caused by having swap exception state when entering or exiting a generator. " -"(Contributed by Mark Shannon in :issue:`25612`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2537 -msgid "Notable changes in Python 3.7.1" -msgstr "Perubahan penting di Python 3.7.1" - -#: ../../whatsnew/3.7.rst:2539 -msgid "" -"Starting in 3.7.1, :c:func:`Py_Initialize` now consistently reads and " -"respects all of the same environment settings as :c:func:`Py_Main` (in " -"earlier Python versions, it respected an ill-defined subset of those " -"environment variables, while in Python 3.7.0 it didn't read any of them due " -"to :issue:`34247`). If this behavior is unwanted, set " -":c:data:`Py_IgnoreEnvironmentFlag` to 1 before calling " -":c:func:`Py_Initialize`." -msgstr "" - -#: ../../whatsnew/3.7.rst:2546 -msgid "" -"In 3.7.1 the C API for Context Variables :ref:`was updated " -"` to use :c:type:`PyObject` pointers." -" See also :issue:`34762`." -msgstr "" - -#: ../../whatsnew/3.7.rst:2550 -msgid "" -"In 3.7.1 the :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token" -" when provided with input that does not have a trailing new line. This " -"behavior now matches what the C tokenizer does internally. (Contributed by " -"Ammar Askar in :issue:`33899`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2556 -msgid "Notable changes in Python 3.7.2" -msgstr "Perubahan penting di Python 3.7.2" - -#: ../../whatsnew/3.7.rst:2558 -msgid "" -"In 3.7.2, :mod:`venv` on Windows no longer copies the original binaries, but" -" creates redirector scripts named ``python.exe`` and ``pythonw.exe`` " -"instead. This resolves a long standing issue where all virtual environments " -"would have to be upgraded or recreated with each Python update. However, " -"note that this release will still require recreation of virtual environments" -" in order to get the new scripts." -msgstr "" - -#: ../../whatsnew/3.7.rst:2566 -msgid "Notable changes in Python 3.7.6" -msgstr "" - -#: ../../whatsnew/3.7.rst:2568 -msgid "" -"Due to significant security concerns, the *reuse_address* parameter of " -":meth:`asyncio.loop.create_datagram_endpoint` is no longer supported. This " -"is because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For" -" more details, see the documentation for " -"``loop.create_datagram_endpoint()``. (Contributed by Kyle Stanley, Antoine " -"Pitrou, and Yury Selivanov in :issue:`37228`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2576 -msgid "Notable changes in Python 3.7.10" -msgstr "" - -#: ../../whatsnew/3.7.rst:2578 -msgid "" -"Earlier Python versions allowed using both ``;`` and ``&`` as query " -"parameter separators in :func:`urllib.parse.parse_qs` and " -":func:`urllib.parse.parse_qsl`. Due to security concerns, and to conform " -"with newer W3C recommendations, this has been changed to allow only a single" -" separator key, with ``&`` as the default. This change also affects " -":func:`!cgi.parse` and :func:`!cgi.parse_multipart` as they use the affected" -" functions internally. For more details, please see their respective " -"documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin" -" in :issue:`42967`.)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2589 -msgid "Notable changes in Python 3.7.11" -msgstr "" - -#: ../../whatsnew/3.7.rst:2591 -msgid "" -"A security fix alters the :class:`ftplib.FTP` behavior to not trust the IPv4" -" address sent from the remote server when setting up a passive data channel." -" We reuse the ftp server IP address instead. For unusual code requiring " -"the old behavior, set a ``trust_server_pasv_ipv4_address`` attribute on your" -" FTP instance to ``True``. (See :gh:`87451`)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2598 -msgid "" -"The presence of newline or tab characters in parts of a URL allows for some " -"forms of attacks. Following the WHATWG specification that updates RFC 3986, " -"ASCII newline ``\\n``, ``\\r`` and tab ``\\t`` characters are stripped from " -"the URL by the parser :func:`urllib.parse` preventing such attacks. The " -"removal characters are controlled by a new module level variable " -"``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. (See :gh:`88048`)" -msgstr "" - -#: ../../whatsnew/3.7.rst:2606 -msgid "Notable security feature in 3.7.14" -msgstr "" - -#: ../../whatsnew/3.7.rst:2608 -msgid "" -"Converting between :class:`int` and :class:`str` in bases other than 2 " -"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " -"now raises a :exc:`ValueError` if the number of digits in string form is " -"above a limit to avoid potential denial of service attacks due to the " -"algorithmic complexity. This is a mitigation for :cve:`2020-10735`. This " -"limit can be configured or disabled by environment variable, command line " -"flag, or :mod:`sys` APIs. See the :ref:`integer string conversion length " -"limitation ` documentation. The default limit is 4300 " -"digits in string form." -msgstr "" diff --git a/python-newest.whatsnew--3_8/id.po b/python-newest.whatsnew--3_8/id.po deleted file mode 100644 index 784efbb..0000000 --- a/python-newest.whatsnew--3_8/id.po +++ /dev/null @@ -1,3506 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2021 -# oon arfiandwi (OonID) , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: oon arfiandwi (OonID) , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.8.rst:3 -msgid "What's New In Python 3.8" -msgstr "Apa yang Baru di Python 3.8" - -#: ../../whatsnew/3.8.rst:0 -msgid "Editor" -msgstr "Editor" - -#: ../../whatsnew/3.8.rst:45 -msgid "Raymond Hettinger" -msgstr "Raymond Hettinger" - -#: ../../whatsnew/3.8.rst:47 -msgid "" -"This article explains the new features in Python 3.8, compared to 3.7. " -"Python 3.8 was released on October 14, 2019. For full details, see the " -":ref:`changelog `." -msgstr "" - -#: ../../whatsnew/3.8.rst:61 -msgid "Summary -- Release highlights" -msgstr "Ringkasan -- Sorotan Rilis" - -#: ../../whatsnew/3.8.rst:72 -msgid "New Features" -msgstr "Fitur-fitur Baru" - -#: ../../whatsnew/3.8.rst:75 -msgid "Assignment expressions" -msgstr "Ekspresi Pemberian Nilai" - -#: ../../whatsnew/3.8.rst:77 -msgid "" -"There is new syntax ``:=`` that assigns values to variables as part of a " -"larger expression. It is affectionately known as \"the walrus operator\" due" -" to its resemblance to `the eyes and tusks of a walrus " -"`_." -msgstr "" - -#: ../../whatsnew/3.8.rst:82 -msgid "" -"In this example, the assignment expression helps avoid calling :func:`len` " -"twice::" -msgstr "" - -#: ../../whatsnew/3.8.rst:85 -msgid "" -"if (n := len(a)) > 10:\n" -" print(f\"List is too long ({n} elements, expected <= 10)\")" -msgstr "" - -#: ../../whatsnew/3.8.rst:88 -msgid "" -"A similar benefit arises during regular expression matching where match " -"objects are needed twice, once to test whether a match occurred and another " -"to extract a subgroup::" -msgstr "" - -#: ../../whatsnew/3.8.rst:92 -msgid "" -"discount = 0.0\n" -"if (mo := re.search(r'(\\d+)% discount', advertisement)):\n" -" discount = float(mo.group(1)) / 100.0" -msgstr "" - -#: ../../whatsnew/3.8.rst:96 -msgid "" -"The operator is also useful with while-loops that compute a value to test " -"loop termination and then need that same value again in the body of the " -"loop::" -msgstr "" - -#: ../../whatsnew/3.8.rst:100 -msgid "" -"# Loop over fixed length blocks\n" -"while (block := f.read(256)) != '':\n" -" process(block)" -msgstr "" - -#: ../../whatsnew/3.8.rst:104 -msgid "" -"Another motivating use case arises in list comprehensions where a value " -"computed in a filtering condition is also needed in the expression body::" -msgstr "" - -#: ../../whatsnew/3.8.rst:108 -msgid "" -"[clean_name.title() for name in names\n" -" if (clean_name := normalize('NFC', name)) in allowed_names]" -msgstr "" - -#: ../../whatsnew/3.8.rst:111 -msgid "" -"Try to limit use of the walrus operator to clean cases that reduce " -"complexity and improve readability." -msgstr "" - -#: ../../whatsnew/3.8.rst:114 -msgid "See :pep:`572` for a full description." -msgstr "Lihat: pep:`572` untuk deskripsi lengkap." - -#: ../../whatsnew/3.8.rst:116 -msgid "(Contributed by Emily Morehouse in :issue:`35224`.)" -msgstr "(Kontribusi dari Emily Morehouse di :issue:`35224`.)" - -#: ../../whatsnew/3.8.rst:120 -msgid "Positional-only parameters" -msgstr "Parameter posisi-saja" - -#: ../../whatsnew/3.8.rst:122 -msgid "" -"There is a new function parameter syntax ``/`` to indicate that some " -"function parameters must be specified positionally and cannot be used as " -"keyword arguments. This is the same notation shown by ``help()`` for C " -"functions annotated with Larry Hastings' `Argument Clinic " -"`__ tool." -msgstr "" - -#: ../../whatsnew/3.8.rst:128 -msgid "" -"In the following example, parameters *a* and *b* are positional-only, while " -"*c* or *d* can be positional or keyword, and *e* or *f* are required to be " -"keywords::" -msgstr "" - -#: ../../whatsnew/3.8.rst:132 -msgid "" -"def f(a, b, /, c, d, *, e, f):\n" -" print(a, b, c, d, e, f)" -msgstr "" - -#: ../../whatsnew/3.8.rst:135 -msgid "The following is a valid call::" -msgstr "Berikut ini adalah pemanggilan yang valid::" - -#: ../../whatsnew/3.8.rst:137 -msgid "f(10, 20, 30, d=40, e=50, f=60)" -msgstr "" - -#: ../../whatsnew/3.8.rst:139 -msgid "However, these are invalid calls::" -msgstr "Namun, ini adalah pemanggilan tidak valid::" - -#: ../../whatsnew/3.8.rst:141 -msgid "" -"f(10, b=20, c=30, d=40, e=50, f=60) # b cannot be a keyword argument\n" -"f(10, 20, 30, 40, 50, f=60) # e must be a keyword argument" -msgstr "" - -#: ../../whatsnew/3.8.rst:144 -msgid "" -"One use case for this notation is that it allows pure Python functions to " -"fully emulate behaviors of existing C coded functions. For example, the " -"built-in :func:`divmod` function does not accept keyword arguments::" -msgstr "" - -#: ../../whatsnew/3.8.rst:148 -msgid "" -"def divmod(a, b, /):\n" -" \"Emulate the built in divmod() function\"\n" -" return (a // b, a % b)" -msgstr "" - -#: ../../whatsnew/3.8.rst:152 -msgid "" -"Another use case is to preclude keyword arguments when the parameter name is" -" not helpful. For example, the builtin :func:`len` function has the " -"signature ``len(obj, /)``. This precludes awkward calls such as::" -msgstr "" - -#: ../../whatsnew/3.8.rst:156 -msgid "len(obj='hello') # The \"obj\" keyword argument impairs readability" -msgstr "" - -#: ../../whatsnew/3.8.rst:158 -msgid "" -"A further benefit of marking a parameter as positional-only is that it " -"allows the parameter name to be changed in the future without risk of " -"breaking client code. For example, in the :mod:`statistics` module, the " -"parameter name *dist* may be changed in the future. This was made possible " -"with the following function specification::" -msgstr "" - -#: ../../whatsnew/3.8.rst:164 -msgid "" -"def quantiles(dist, /, *, n=4, method='exclusive')\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.8.rst:167 -msgid "" -"Since the parameters to the left of ``/`` are not exposed as possible " -"keywords, the parameters names remain available for use in ``**kwargs``::" -msgstr "" - -#: ../../whatsnew/3.8.rst:170 -msgid "" -">>> def f(a, b, /, **kwargs):\n" -"... print(a, b, kwargs)\n" -"...\n" -">>> f(10, 20, a=1, b=2, c=3) # a and b are used in two ways\n" -"10 20 {'a': 1, 'b': 2, 'c': 3}" -msgstr "" - -#: ../../whatsnew/3.8.rst:176 -msgid "" -"This greatly simplifies the implementation of functions and methods that " -"need to accept arbitrary keyword arguments. For example, here is an excerpt" -" from code in the :mod:`collections` module::" -msgstr "" - -#: ../../whatsnew/3.8.rst:180 -msgid "" -"class Counter(dict):\n" -"\n" -" def __init__(self, iterable=None, /, **kwds):\n" -" # Note \"iterable\" is a possible keyword argument" -msgstr "" - -#: ../../whatsnew/3.8.rst:185 -msgid "See :pep:`570` for a full description." -msgstr "Lihat: pep:`570` untuk keterangan lengkap." - -#: ../../whatsnew/3.8.rst:187 -msgid "(Contributed by Pablo Galindo in :issue:`36540`.)" -msgstr "(Kontribusi dari Pablo Galindo di :issue:`36540`.)" - -#: ../../whatsnew/3.8.rst:193 -msgid "Parallel filesystem cache for compiled bytecode files" -msgstr "" - -#: ../../whatsnew/3.8.rst:195 -msgid "" -"The new :envvar:`PYTHONPYCACHEPREFIX` setting (also available as " -":option:`-X` ``pycache_prefix``) configures the implicit bytecode cache to " -"use a separate parallel filesystem tree, rather than the default " -"``__pycache__`` subdirectories within each source directory." -msgstr "" - -#: ../../whatsnew/3.8.rst:201 -msgid "" -"The location of the cache is reported in :data:`sys.pycache_prefix` " -"(:const:`None` indicates the default location in ``__pycache__`` " -"subdirectories)." -msgstr "" - -#: ../../whatsnew/3.8.rst:205 -msgid "(Contributed by Carl Meyer in :issue:`33499`.)" -msgstr "(Kontribusi dari Carl Meyer di :issue:`33499`.)" - -#: ../../whatsnew/3.8.rst:209 -msgid "Debug build uses the same ABI as release build" -msgstr "" - -#: ../../whatsnew/3.8.rst:211 -msgid "" -"Python now uses the same ABI whether it's built in release or debug mode. On" -" Unix, when Python is built in debug mode, it is now possible to load C " -"extensions built in release mode and C extensions built using the stable " -"ABI." -msgstr "" - -#: ../../whatsnew/3.8.rst:215 -msgid "" -"Release builds and :ref:`debug builds ` are now ABI compatible:" -" defining the ``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` " -"macro, which introduces the only ABI incompatibility. The ``Py_TRACE_REFS`` " -"macro, which adds the :func:`sys.getobjects` function and the " -":envvar:`PYTHONDUMPREFS` environment variable, can be set using the new " -":option:`./configure --with-trace-refs <--with-trace-refs>` build option. " -"(Contributed by Victor Stinner in :issue:`36465`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:223 -msgid "" -"On Unix, C extensions are no longer linked to libpython except on Android " -"and Cygwin. It is now possible for a statically linked Python to load a C " -"extension built using a shared library Python. (Contributed by Victor " -"Stinner in :issue:`21536`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:230 -msgid "" -"On Unix, when Python is built in debug mode, import now also looks for C " -"extensions compiled in release mode and for C extensions compiled with the " -"stable ABI. (Contributed by Victor Stinner in :issue:`36722`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:235 -msgid "" -"To embed Python into an application, a new ``--embed`` option must be passed" -" to ``python3-config --libs --embed`` to get ``-lpython3.8`` (link the " -"application to libpython). To support both 3.8 and older, try " -"``python3-config --libs --embed`` first and fallback to ``python3-config " -"--libs`` (without ``--embed``) if the previous command fails." -msgstr "" - -#: ../../whatsnew/3.8.rst:241 -msgid "" -"Add a pkg-config ``python-3.8-embed`` module to embed Python into an " -"application: ``pkg-config python-3.8-embed --libs`` includes " -"``-lpython3.8``. To support both 3.8 and older, try ``pkg-config " -"python-X.Y-embed --libs`` first and fallback to ``pkg-config python-X.Y " -"--libs`` (without ``--embed``) if the previous command fails (replace " -"``X.Y`` with the Python version)." -msgstr "" - -#: ../../whatsnew/3.8.rst:247 -msgid "" -"On the other hand, ``pkg-config python3.8 --libs`` no longer contains " -"``-lpython3.8``. C extensions must not be linked to libpython (except on " -"Android and Cygwin, whose cases are handled by the script); this change is " -"backward incompatible on purpose. (Contributed by Victor Stinner in " -":issue:`36721`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:256 -msgid "f-strings support ``=`` for self-documenting expressions and debugging" -msgstr "" - -#: ../../whatsnew/3.8.rst:258 -msgid "" -"Added an ``=`` specifier to :term:`f-string`\\s. An f-string such as " -"``f'{expr=}'`` will expand to the text of the expression, an equal sign, " -"then the representation of the evaluated expression. For example:" -msgstr "" - -#: ../../whatsnew/3.8.rst:267 -msgid "" -"The usual :ref:`f-string format specifiers ` allow more control " -"over how the result of the expression is displayed::" -msgstr "" - -#: ../../whatsnew/3.8.rst:270 -msgid "" -">>> delta = date.today() - member_since\n" -">>> f'{user=!s} {delta.days=:,d}'\n" -"'user=eric_idle delta.days=16,075'" -msgstr "" - -#: ../../whatsnew/3.8.rst:274 -msgid "" -"The ``=`` specifier will display the whole expression so that calculations " -"can be shown::" -msgstr "" - -#: ../../whatsnew/3.8.rst:277 -msgid "" -">>> print(f'{theta=} {cos(radians(theta))=:.3f}')\n" -"theta=30 cos(radians(theta))=0.866" -msgstr "" - -#: ../../whatsnew/3.8.rst:280 -msgid "(Contributed by Eric V. Smith and Larry Hastings in :issue:`36817`.)" -msgstr "(Kontribusi dari Eric V. Smith dan Larry Hastings di :issue:`36817`.)" - -#: ../../whatsnew/3.8.rst:284 -msgid "PEP 578: Python Runtime Audit Hooks" -msgstr "" - -#: ../../whatsnew/3.8.rst:286 -msgid "" -"The PEP adds an Audit Hook and Verified Open Hook. Both are available from " -"Python and native code, allowing applications and frameworks written in pure" -" Python code to take advantage of extra notifications, while also allowing " -"embedders or system administrators to deploy builds of Python where auditing" -" is always enabled." -msgstr "" - -#: ../../whatsnew/3.8.rst:292 -msgid "See :pep:`578` for full details." -msgstr "" - -#: ../../whatsnew/3.8.rst:296 -msgid "PEP 587: Python Initialization Configuration" -msgstr "PEP 587: Konfigurasi Inisialisasi Python" - -#: ../../whatsnew/3.8.rst:298 -msgid "" -"The :pep:`587` adds a new C API to configure the Python Initialization " -"providing finer control on the whole configuration and better error " -"reporting." -msgstr "" - -#: ../../whatsnew/3.8.rst:301 -msgid "New structures:" -msgstr "Struktur baru:" - -#: ../../whatsnew/3.8.rst:303 -msgid ":c:type:`PyConfig`" -msgstr ":c:type:`PyConfig`" - -#: ../../whatsnew/3.8.rst:304 -msgid ":c:type:`PyPreConfig`" -msgstr ":c:type:`PyPreConfig`" - -#: ../../whatsnew/3.8.rst:305 -msgid ":c:type:`PyStatus`" -msgstr ":c:type:`PyStatus`" - -#: ../../whatsnew/3.8.rst:306 -msgid ":c:type:`PyWideStringList`" -msgstr ":c:type:`PyWideStringList`" - -#: ../../whatsnew/3.8.rst:308 -msgid "New functions:" -msgstr "Fungsi baru:" - -#: ../../whatsnew/3.8.rst:310 -msgid ":c:func:`PyConfig_Clear`" -msgstr ":c:func:`PyConfig_Clear`" - -#: ../../whatsnew/3.8.rst:311 -msgid ":c:func:`PyConfig_InitIsolatedConfig`" -msgstr ":c:func:`PyConfig_InitIsolatedConfig`" - -#: ../../whatsnew/3.8.rst:312 -msgid ":c:func:`PyConfig_InitPythonConfig`" -msgstr ":c:func:`PyConfig_InitPythonConfig`" - -#: ../../whatsnew/3.8.rst:313 -msgid ":c:func:`PyConfig_Read`" -msgstr ":c:func:`PyConfig_Read`" - -#: ../../whatsnew/3.8.rst:314 -msgid ":c:func:`PyConfig_SetArgv`" -msgstr ":c:func:`PyConfig_SetArgv`" - -#: ../../whatsnew/3.8.rst:315 -msgid ":c:func:`PyConfig_SetBytesArgv`" -msgstr ":c:func:`PyConfig_SetBytesArgv`" - -#: ../../whatsnew/3.8.rst:316 -msgid ":c:func:`PyConfig_SetBytesString`" -msgstr ":c:func:`PyConfig_SetBytesString`" - -#: ../../whatsnew/3.8.rst:317 -msgid ":c:func:`PyConfig_SetString`" -msgstr ":c:func:`PyConfig_SetString`" - -#: ../../whatsnew/3.8.rst:318 -msgid ":c:func:`PyPreConfig_InitIsolatedConfig`" -msgstr ":c:func:`PyPreConfig_InitIsolatedConfig`" - -#: ../../whatsnew/3.8.rst:319 -msgid ":c:func:`PyPreConfig_InitPythonConfig`" -msgstr ":c:func:`PyPreConfig_InitPythonConfig`" - -#: ../../whatsnew/3.8.rst:320 -msgid ":c:func:`PyStatus_Error`" -msgstr ":c:func:`PyStatus_Error`" - -#: ../../whatsnew/3.8.rst:321 -msgid ":c:func:`PyStatus_Exception`" -msgstr ":c:func:`PyStatus_Exception`" - -#: ../../whatsnew/3.8.rst:322 -msgid ":c:func:`PyStatus_Exit`" -msgstr ":c:func:`PyStatus_Exit`" - -#: ../../whatsnew/3.8.rst:323 -msgid ":c:func:`PyStatus_IsError`" -msgstr ":c:func:`PyStatus_IsError`" - -#: ../../whatsnew/3.8.rst:324 -msgid ":c:func:`PyStatus_IsExit`" -msgstr ":c:func:`PyStatus_IsExit`" - -#: ../../whatsnew/3.8.rst:325 -msgid ":c:func:`PyStatus_NoMemory`" -msgstr ":c:func:`PyStatus_NoMemory`" - -#: ../../whatsnew/3.8.rst:326 -msgid ":c:func:`PyStatus_Ok`" -msgstr ":c:func:`PyStatus_Ok`" - -#: ../../whatsnew/3.8.rst:327 -msgid ":c:func:`PyWideStringList_Append`" -msgstr ":c:func:`PyWideStringList_Append`" - -#: ../../whatsnew/3.8.rst:328 -msgid ":c:func:`PyWideStringList_Insert`" -msgstr ":c:func:`PyWideStringList_Insert`" - -#: ../../whatsnew/3.8.rst:329 -msgid ":c:func:`Py_BytesMain`" -msgstr ":c:func:`Py_BytesMain`" - -#: ../../whatsnew/3.8.rst:330 -msgid ":c:func:`Py_ExitStatusException`" -msgstr ":c:func:`Py_ExitStatusException`" - -#: ../../whatsnew/3.8.rst:331 -msgid ":c:func:`Py_InitializeFromConfig`" -msgstr ":c:func:`Py_InitializeFromConfig`" - -#: ../../whatsnew/3.8.rst:332 -msgid ":c:func:`Py_PreInitialize`" -msgstr ":c:func:`Py_PreInitialize`" - -#: ../../whatsnew/3.8.rst:333 -msgid ":c:func:`Py_PreInitializeFromArgs`" -msgstr ":c:func:`Py_PreInitializeFromArgs`" - -#: ../../whatsnew/3.8.rst:334 -msgid ":c:func:`Py_PreInitializeFromBytesArgs`" -msgstr ":c:func:`Py_PreInitializeFromBytesArgs`" - -#: ../../whatsnew/3.8.rst:335 -msgid ":c:func:`Py_RunMain`" -msgstr ":c:func:`Py_RunMain`" - -#: ../../whatsnew/3.8.rst:337 -msgid "" -"This PEP also adds ``_PyRuntimeState.preconfig`` (:c:type:`PyPreConfig` " -"type) and ``PyInterpreterState.config`` (:c:type:`PyConfig` type) fields to " -"these internal structures. ``PyInterpreterState.config`` becomes the new " -"reference configuration, replacing global configuration variables and other " -"private variables." -msgstr "" - -#: ../../whatsnew/3.8.rst:343 -msgid "" -"See :ref:`Python Initialization Configuration ` for the " -"documentation." -msgstr "" - -#: ../../whatsnew/3.8.rst:346 -msgid "See :pep:`587` for a full description." -msgstr "Lihat: pep:`587` untuk deskripsi lengkap." - -#: ../../whatsnew/3.8.rst:348 -msgid "(Contributed by Victor Stinner in :issue:`36763`.)" -msgstr "(Kontribusi dari Victor Stinner di :issue:`36763`.)" - -#: ../../whatsnew/3.8.rst:352 -msgid "PEP 590: Vectorcall: a fast calling protocol for CPython" -msgstr "" - -#: ../../whatsnew/3.8.rst:354 -msgid "" -":ref:`vectorcall` is added to the Python/C API. It is meant to formalize " -"existing optimizations which were already done for various classes. Any " -":ref:`static type ` implementing a callable can use this " -"protocol." -msgstr "" - -#: ../../whatsnew/3.8.rst:360 -msgid "" -"This is currently provisional. The aim is to make it fully public in Python " -"3.9." -msgstr "" - -#: ../../whatsnew/3.8.rst:363 -msgid "See :pep:`590` for a full description." -msgstr "Lihat: pep:`590` untuk keterangan lengkap." - -#: ../../whatsnew/3.8.rst:365 -msgid "" -"(Contributed by Jeroen Demeyer, Mark Shannon and Petr Viktorin in " -":issue:`36974`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:369 -msgid "Pickle protocol 5 with out-of-band data buffers" -msgstr "" - -#: ../../whatsnew/3.8.rst:371 -msgid "" -"When :mod:`pickle` is used to transfer large data between Python processes " -"in order to take advantage of multi-core or multi-machine processing, it is " -"important to optimize the transfer by reducing memory copies, and possibly " -"by applying custom techniques such as data-dependent compression." -msgstr "" - -#: ../../whatsnew/3.8.rst:376 -msgid "" -"The :mod:`pickle` protocol 5 introduces support for out-of-band buffers " -"where :pep:`3118`-compatible data can be transmitted separately from the " -"main pickle stream, at the discretion of the communication layer." -msgstr "" - -#: ../../whatsnew/3.8.rst:380 -msgid "See :pep:`574` for a full description." -msgstr "Lihat: pep:`574` untuk deskripsi lengkap." - -#: ../../whatsnew/3.8.rst:382 -msgid "(Contributed by Antoine Pitrou in :issue:`36785`.)" -msgstr "(Kontribusi dari Antoine Pitrou di :issue:`36785`.)" - -#: ../../whatsnew/3.8.rst:386 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.8.rst:388 -msgid "" -"A :keyword:`continue` statement was illegal in the :keyword:`finally` clause" -" due to a problem with the implementation. In Python 3.8 this restriction " -"was lifted. (Contributed by Serhiy Storchaka in :issue:`32489`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:393 -msgid "" -"The :class:`bool`, :class:`int`, and :class:`fractions.Fraction` types now " -"have an :meth:`~int.as_integer_ratio` method like that found in " -":class:`float` and :class:`decimal.Decimal`. This minor API extension makes" -" it possible to write ``numerator, denominator = x.as_integer_ratio()`` and " -"have it work across multiple numeric types. (Contributed by Lisa Roach in " -":issue:`33073` and Raymond Hettinger in :issue:`37819`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:401 -msgid "" -"Constructors of :class:`int`, :class:`float` and :class:`complex` will now " -"use the :meth:`~object.__index__` special method, if available and the " -"corresponding method :meth:`~object.__int__`, :meth:`~object.__float__` or " -":meth:`~object.__complex__` is not available. (Contributed by Serhiy " -"Storchaka in :issue:`20092`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:407 -msgid "" -"Added support of :samp:`\\\\N\\\\{{name}\\\\}` escapes in :mod:`regular " -"expressions `::" -msgstr "" - -#: ../../whatsnew/3.8.rst:409 -msgid "" -">>> notice = 'Copyright © 2019'\n" -">>> copyright_year_pattern = re.compile(r'\\N{copyright sign}\\s*(\\d{4})')\n" -">>> int(copyright_year_pattern.search(notice).group(1))\n" -"2019" -msgstr "" - -#: ../../whatsnew/3.8.rst:414 -msgid "" -"(Contributed by Jonathan Eunice and Serhiy Storchaka in :issue:`30688`.)" -msgstr "" -"(Kontribusi dari Jonathan Eunice dan Serhiy Storchaka di :issue:`30688`.)" - -#: ../../whatsnew/3.8.rst:416 -msgid "" -"Dict and dictviews are now iterable in reversed insertion order using " -":func:`reversed`. (Contributed by Rémi Lapeyre in :issue:`33462`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:419 -msgid "" -"The syntax allowed for keyword names in function calls was further " -"restricted. In particular, ``f((keyword)=arg)`` is no longer allowed. It was" -" never intended to permit more than a bare name on the left-hand side of a " -"keyword argument assignment term. (Contributed by Benjamin Peterson in " -":issue:`34641`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:425 -msgid "" -"Generalized iterable unpacking in :keyword:`yield` and :keyword:`return` " -"statements no longer requires enclosing parentheses. This brings the *yield*" -" and *return* syntax into better agreement with normal assignment syntax::" -msgstr "" - -#: ../../whatsnew/3.8.rst:430 -msgid "" -">>> def parse(family):\n" -"... lastname, *members = family.split()\n" -"... return lastname.upper(), *members\n" -"...\n" -">>> parse('simpsons homer marge bart lisa maggie')\n" -"('SIMPSONS', 'homer', 'marge', 'bart', 'lisa', 'maggie')" -msgstr "" - -#: ../../whatsnew/3.8.rst:437 -msgid "(Contributed by David Cuthbert and Jordan Chapman in :issue:`32117`.)" -msgstr "" -"(Kontribusi dari David Cuthbert dan Jordan Chapman di :issue:`32117`.)" - -#: ../../whatsnew/3.8.rst:439 -msgid "" -"When a comma is missed in code such as ``[(10, 20) (30, 40)]``, the compiler" -" displays a :exc:`SyntaxWarning` with a helpful suggestion. This improves on" -" just having a :exc:`TypeError` indicating that the first tuple was not " -"callable. (Contributed by Serhiy Storchaka in :issue:`15248`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:445 -msgid "" -"Arithmetic operations between subclasses of :class:`datetime.date` or " -":class:`datetime.datetime` and :class:`datetime.timedelta` objects now " -"return an instance of the subclass, rather than the base class. This also " -"affects the return type of operations whose implementation (directly or " -"indirectly) uses :class:`datetime.timedelta` arithmetic, such as " -":meth:`~datetime.datetime.astimezone`. (Contributed by Paul Ganssle in " -":issue:`32417`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:453 -msgid "" -"When the Python interpreter is interrupted by Ctrl-C (SIGINT) and the " -"resulting :exc:`KeyboardInterrupt` exception is not caught, the Python " -"process now exits via a SIGINT signal or with the correct exit code such " -"that the calling process can detect that it died due to a Ctrl-C. Shells on" -" POSIX and Windows use this to properly terminate scripts in interactive " -"sessions. (Contributed by Google via Gregory P. Smith in :issue:`1054041`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:460 -msgid "" -"Some advanced styles of programming require updating the " -":class:`types.CodeType` object for an existing function. Since code objects" -" are immutable, a new code object needs to be created, one that is modeled " -"on the existing code object. With 19 parameters, this was somewhat tedious." -" Now, the new ``replace()`` method makes it possible to create a clone with" -" a few altered parameters." -msgstr "" - -#: ../../whatsnew/3.8.rst:467 -msgid "" -"Here's an example that alters the :func:`statistics.mean` function to " -"prevent the *data* parameter from being used as a keyword argument::" -msgstr "" - -#: ../../whatsnew/3.8.rst:470 -msgid "" -">>> from statistics import mean\n" -">>> mean(data=[10, 20, 90])\n" -"40\n" -">>> mean.__code__ = mean.__code__.replace(co_posonlyargcount=1)\n" -">>> mean(data=[10, 20, 90])\n" -"Traceback (most recent call last):\n" -" ...\n" -"TypeError: mean() got some positional-only arguments passed as keyword arguments: 'data'" -msgstr "" - -#: ../../whatsnew/3.8.rst:479 -msgid "(Contributed by Victor Stinner in :issue:`37032`.)" -msgstr "(Kontribusi dari Victor Stinner di :issue:`37032`.)" - -#: ../../whatsnew/3.8.rst:481 -msgid "" -"For integers, the three-argument form of the :func:`pow` function now " -"permits the exponent to be negative in the case where the base is relatively" -" prime to the modulus. It then computes a modular inverse to the base when " -"the exponent is ``-1``, and a suitable power of that inverse for other " -"negative exponents. For example, to compute the `modular multiplicative " -"inverse `_ of " -"38 modulo 137, write::" -msgstr "" - -#: ../../whatsnew/3.8.rst:490 -msgid "" -">>> pow(38, -1, 137)\n" -"119\n" -">>> 119 * 38 % 137\n" -"1" -msgstr "" - -#: ../../whatsnew/3.8.rst:495 -msgid "" -"Modular inverses arise in the solution of `linear Diophantine equations " -"`_. For example, to find" -" integer solutions for ``4258𝑥 + 147𝑦 = 369``, first rewrite as ``4258𝑥 ≡ " -"369 (mod 147)`` then solve:" -msgstr "" - -#: ../../whatsnew/3.8.rst:505 -msgid "(Contributed by Mark Dickinson in :issue:`36027`.)" -msgstr "(Kontribusi dari Mark Dickinson di :issue:`36027`.)" - -#: ../../whatsnew/3.8.rst:507 -msgid "" -"Dict comprehensions have been synced-up with dict literals so that the key " -"is computed first and the value second::" -msgstr "" - -#: ../../whatsnew/3.8.rst:510 -msgid "" -">>> # Dict comprehension\n" -">>> cast = {input('role? '): input('actor? ') for i in range(2)}\n" -"role? King Arthur\n" -"actor? Chapman\n" -"role? Black Knight\n" -"actor? Cleese\n" -"\n" -">>> # Dict literal\n" -">>> cast = {input('role? '): input('actor? ')}\n" -"role? Sir Robin\n" -"actor? Eric Idle" -msgstr "" - -#: ../../whatsnew/3.8.rst:522 -msgid "" -"The guaranteed execution order is helpful with assignment expressions " -"because variables assigned in the key expression will be available in the " -"value expression::" -msgstr "" - -#: ../../whatsnew/3.8.rst:526 -msgid "" -">>> names = ['Martin von Löwis', 'Łukasz Langa', 'Walter Dörwald']\n" -">>> {(n := normalize('NFC', name)).casefold() : n for name in names}\n" -"{'martin von löwis': 'Martin von Löwis',\n" -" 'łukasz langa': 'Łukasz Langa',\n" -" 'walter dörwald': 'Walter Dörwald'}" -msgstr "" - -#: ../../whatsnew/3.8.rst:532 -msgid "(Contributed by Jörn Heissler in :issue:`35224`.)" -msgstr "(Kontribusi dari Jörn Heissler di :issue:`35224`.)" - -#: ../../whatsnew/3.8.rst:534 -msgid "" -"The :meth:`object.__reduce__` method can now return a tuple from two to six " -"elements long. Formerly, five was the limit. The new, optional sixth " -"element is a callable with a ``(obj, state)`` signature. This allows the " -"direct control over the state-updating behavior of a specific object. If " -"not *None*, this callable will have priority over the object's " -":meth:`~__setstate__` method. (Contributed by Pierre Glaser and Olivier " -"Grisel in :issue:`35900`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:543 -msgid "New Modules" -msgstr "Modul-Modul Baru" - -#: ../../whatsnew/3.8.rst:545 -msgid "" -"The new :mod:`importlib.metadata` module provides (provisional) support for " -"reading metadata from third-party packages. For example, it can extract an " -"installed package's version number, list of entry points, and more::" -msgstr "" - -#: ../../whatsnew/3.8.rst:549 -msgid "" -">>> # Note following example requires that the popular \"requests\"\n" -">>> # package has been installed.\n" -">>>\n" -">>> from importlib.metadata import version, requires, files\n" -">>> version('requests')\n" -"'2.22.0'\n" -">>> list(requires('requests'))\n" -"['chardet (<3.1.0,>=3.0.2)']\n" -">>> list(files('requests'))[:5]\n" -"[PackagePath('requests-2.22.0.dist-info/INSTALLER'),\n" -" PackagePath('requests-2.22.0.dist-info/LICENSE'),\n" -" PackagePath('requests-2.22.0.dist-info/METADATA'),\n" -" PackagePath('requests-2.22.0.dist-info/RECORD'),\n" -" PackagePath('requests-2.22.0.dist-info/WHEEL')]" -msgstr "" - -#: ../../whatsnew/3.8.rst:564 -msgid "(Contributed by Barry Warsaw and Jason R. Coombs in :issue:`34632`.)" -msgstr "(Kontribusi dari Barry Warsaw dan Jason R. Coombs di :issue:`34632`.)" - -#: ../../whatsnew/3.8.rst:568 -msgid "Improved Modules" -msgstr "Modul yang Ditingkatkan" - -#: ../../whatsnew/3.8.rst:571 -msgid "ast" -msgstr "ast" - -#: ../../whatsnew/3.8.rst:573 -msgid "" -"AST nodes now have ``end_lineno`` and ``end_col_offset`` attributes, which " -"give the precise location of the end of the node. (This only applies to " -"nodes that have ``lineno`` and ``col_offset`` attributes.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:577 -msgid "" -"New function :func:`ast.get_source_segment` returns the source code for a " -"specific AST node." -msgstr "" - -#: ../../whatsnew/3.8.rst:580 -msgid "(Contributed by Ivan Levkivskyi in :issue:`33416`.)" -msgstr "(Kontribusi dari Ivan Levkivskyi di :issue:`33416`.)" - -#: ../../whatsnew/3.8.rst:582 -msgid "The :func:`ast.parse` function has some new flags:" -msgstr "" - -#: ../../whatsnew/3.8.rst:584 -msgid "" -"``type_comments=True`` causes it to return the text of :pep:`484` and " -":pep:`526` type comments associated with certain AST nodes;" -msgstr "" - -#: ../../whatsnew/3.8.rst:587 -msgid "" -"``mode='func_type'`` can be used to parse :pep:`484` \"signature type " -"comments\" (returned for function definition AST nodes);" -msgstr "" - -#: ../../whatsnew/3.8.rst:590 -msgid "" -"``feature_version=(3, N)`` allows specifying an earlier Python 3 version. " -"For example, ``feature_version=(3, 4)`` will treat :keyword:`async` and " -":keyword:`await` as non-reserved words." -msgstr "" - -#: ../../whatsnew/3.8.rst:594 -msgid "(Contributed by Guido van Rossum in :issue:`35766`.)" -msgstr "(Kontribusi dari Guido van Rossum di :issue:`35766`.)" - -#: ../../whatsnew/3.8.rst:598 -msgid "asyncio" -msgstr "asyncio" - -#: ../../whatsnew/3.8.rst:600 -msgid "" -":func:`asyncio.run` has graduated from the provisional to stable API. This " -"function can be used to execute a :term:`coroutine` and return the result " -"while automatically managing the event loop. For example::" -msgstr "" - -#: ../../whatsnew/3.8.rst:604 -msgid "" -"import asyncio\n" -"\n" -"async def main():\n" -" await asyncio.sleep(0)\n" -" return 42\n" -"\n" -"asyncio.run(main())" -msgstr "" - -#: ../../whatsnew/3.8.rst:612 -msgid "This is *roughly* equivalent to::" -msgstr "" - -#: ../../whatsnew/3.8.rst:614 -msgid "" -"import asyncio\n" -"\n" -"async def main():\n" -" await asyncio.sleep(0)\n" -" return 42\n" -"\n" -"loop = asyncio.new_event_loop()\n" -"asyncio.set_event_loop(loop)\n" -"try:\n" -" loop.run_until_complete(main())\n" -"finally:\n" -" asyncio.set_event_loop(None)\n" -" loop.close()" -msgstr "" - -#: ../../whatsnew/3.8.rst:629 -msgid "" -"The actual implementation is significantly more complex. Thus, " -":func:`asyncio.run` should be the preferred way of running asyncio programs." -msgstr "" - -#: ../../whatsnew/3.8.rst:632 -msgid "(Contributed by Yury Selivanov in :issue:`32314`.)" -msgstr "(Kontribusi dari Yury Selivanov di :issue:`32314`.)" - -#: ../../whatsnew/3.8.rst:634 -msgid "" -"Running ``python -m asyncio`` launches a natively async REPL. This allows " -"rapid experimentation with code that has a top-level :keyword:`await`. " -"There is no longer a need to directly call ``asyncio.run()`` which would " -"spawn a new event loop on every invocation:" -msgstr "" - -#: ../../whatsnew/3.8.rst:639 -msgid "" -"$ python -m asyncio\n" -"asyncio REPL 3.8.0\n" -"Use \"await\" directly instead of \"asyncio.run()\".\n" -"Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n" -">>> import asyncio\n" -">>> await asyncio.sleep(10, result='hello')\n" -"hello" -msgstr "" - -#: ../../whatsnew/3.8.rst:649 -msgid "(Contributed by Yury Selivanov in :issue:`37028`.)" -msgstr "(Kontribusi dari Yury Selivanov di :issue:`37028`.)" - -#: ../../whatsnew/3.8.rst:651 ../../whatsnew/3.8.rst:1970 -msgid "" -"The exception :class:`asyncio.CancelledError` now inherits from " -":class:`BaseException` rather than :class:`Exception` and no longer inherits" -" from :class:`concurrent.futures.CancelledError`. (Contributed by Yury " -"Selivanov in :issue:`32528`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:656 -msgid "" -"On Windows, the default event loop is now " -":class:`~asyncio.ProactorEventLoop`. (Contributed by Victor Stinner in " -":issue:`34687`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:659 -msgid "" -":class:`~asyncio.ProactorEventLoop` now also supports UDP. (Contributed by " -"Adam Meily and Andrew Svetlov in :issue:`29883`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:662 -msgid "" -":class:`~asyncio.ProactorEventLoop` can now be interrupted by " -":exc:`KeyboardInterrupt` (\"CTRL+C\"). (Contributed by Vladimir Matveev in " -":issue:`23057`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:666 -msgid "" -"Added :meth:`asyncio.Task.get_coro` for getting the wrapped coroutine within" -" an :class:`asyncio.Task`. (Contributed by Alex Grönholm in :issue:`36999`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:670 -msgid "" -"Asyncio tasks can now be named, either by passing the ``name`` keyword " -"argument to :func:`asyncio.create_task` or the " -":meth:`~asyncio.loop.create_task` event loop method, or by calling the " -":meth:`~asyncio.Task.set_name` method on the task object. The task name is " -"visible in the ``repr()`` output of :class:`asyncio.Task` and can also be " -"retrieved using the :meth:`~asyncio.Task.get_name` method. (Contributed by " -"Alex Grönholm in :issue:`34270`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:678 -msgid "" -"Added support for `Happy Eyeballs " -"`_ to " -":func:`asyncio.loop.create_connection`. To specify the behavior, two new " -"parameters have been added: *happy_eyeballs_delay* and *interleave*. The " -"Happy Eyeballs algorithm improves responsiveness in applications that " -"support IPv4 and IPv6 by attempting to simultaneously connect using both. " -"(Contributed by twisteroid ambassador in :issue:`33530`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:688 -msgid "builtins" -msgstr "builtins" - -#: ../../whatsnew/3.8.rst:690 -msgid "" -"The :func:`compile` built-in has been improved to accept the " -"``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag. With this new flag passed, " -":func:`compile` will allow top-level ``await``, ``async for`` and ``async " -"with`` constructs that are usually considered invalid syntax. Asynchronous " -"code object marked with the ``CO_COROUTINE`` flag may then be returned. " -"(Contributed by Matthias Bussonnier in :issue:`34616`)" -msgstr "" - -#: ../../whatsnew/3.8.rst:699 -msgid "collections" -msgstr "collections" - -#: ../../whatsnew/3.8.rst:701 -msgid "" -"The :meth:`~collections.somenamedtuple._asdict` method for " -":func:`collections.namedtuple` now returns a :class:`dict` instead of a " -":class:`collections.OrderedDict`. This works because regular dicts have " -"guaranteed ordering since Python 3.7. If the extra features of " -":class:`OrderedDict` are required, the suggested remediation is to cast the " -"result to the desired type: ``OrderedDict(nt._asdict())``. (Contributed by " -"Raymond Hettinger in :issue:`35864`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:711 -msgid "cProfile" -msgstr "cProfile" - -#: ../../whatsnew/3.8.rst:713 -msgid "" -"The :class:`cProfile.Profile ` class can now be used as a " -"context manager. Profile a block of code by running::" -msgstr "" - -#: ../../whatsnew/3.8.rst:716 -msgid "" -"import cProfile\n" -"\n" -"with cProfile.Profile() as profiler:\n" -" # code to be profiled\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.8.rst:722 -msgid "(Contributed by Scott Sanderson in :issue:`29235`.)" -msgstr "(Kontribusi dari Scott Sanderson di :issue:`29235`.)" - -#: ../../whatsnew/3.8.rst:726 -msgid "csv" -msgstr "csv" - -#: ../../whatsnew/3.8.rst:728 -msgid "" -"The :class:`csv.DictReader` now returns instances of :class:`dict` instead " -"of a :class:`collections.OrderedDict`. The tool is now faster and uses less" -" memory while still preserving the field order. (Contributed by Michael " -"Selik in :issue:`34003`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:735 -msgid "curses" -msgstr "" - -#: ../../whatsnew/3.8.rst:737 -msgid "" -"Added a new variable holding structured version information for the " -"underlying ncurses library: :data:`~curses.ncurses_version`. (Contributed by" -" Serhiy Storchaka in :issue:`31680`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:743 -msgid "ctypes" -msgstr "ctypes" - -#: ../../whatsnew/3.8.rst:745 -msgid "" -"On Windows, :class:`~ctypes.CDLL` and subclasses now accept a *winmode* " -"parameter to specify flags for the underlying ``LoadLibraryEx`` call. The " -"default flags are set to only load DLL dependencies from trusted locations, " -"including the path where the DLL is stored (if a full or partial path is " -"used to load the initial DLL) and paths added by " -":func:`~os.add_dll_directory`. (Contributed by Steve Dower in " -":issue:`36085`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:754 -msgid "datetime" -msgstr "datetime" - -#: ../../whatsnew/3.8.rst:756 -msgid "" -"Added new alternate constructors :meth:`datetime.date.fromisocalendar` and " -":meth:`datetime.datetime.fromisocalendar`, which construct " -":class:`~datetime.date` and :class:`~datetime.datetime` objects respectively" -" from ISO year, week number, and weekday; these are the inverse of each " -"class's ``isocalendar`` method. (Contributed by Paul Ganssle in " -":issue:`36004`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:764 -msgid "functools" -msgstr "functools" - -#: ../../whatsnew/3.8.rst:766 -msgid "" -":func:`functools.lru_cache` can now be used as a straight decorator rather " -"than as a function returning a decorator. So both of these are now " -"supported::" -msgstr "" - -#: ../../whatsnew/3.8.rst:769 -msgid "" -"@lru_cache\n" -"def f(x):\n" -" ...\n" -"\n" -"@lru_cache(maxsize=256)\n" -"def f(x):\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.8.rst:777 -msgid "(Contributed by Raymond Hettinger in :issue:`36772`.)" -msgstr "(Kontribusi dari Raymond Hettinger di :issue:`36772`.)" - -#: ../../whatsnew/3.8.rst:779 -msgid "" -"Added a new :func:`functools.cached_property` decorator, for computed " -"properties cached for the life of the instance. ::" -msgstr "" - -#: ../../whatsnew/3.8.rst:782 -msgid "" -"import functools\n" -"import statistics\n" -"\n" -"class Dataset:\n" -" def __init__(self, sequence_of_numbers):\n" -" self.data = sequence_of_numbers\n" -"\n" -" @functools.cached_property\n" -" def variance(self):\n" -" return statistics.variance(self.data)" -msgstr "" - -#: ../../whatsnew/3.8.rst:793 -msgid "(Contributed by Carl Meyer in :issue:`21145`)" -msgstr "(Kontribusi dari Carl Meyer di :issue:`21145`)" - -#: ../../whatsnew/3.8.rst:796 -msgid "" -"Added a new :func:`functools.singledispatchmethod` decorator that converts " -"methods into :term:`generic functions ` using " -":term:`single dispatch`::" -msgstr "" - -#: ../../whatsnew/3.8.rst:800 -msgid "" -"from functools import singledispatchmethod\n" -"from contextlib import suppress\n" -"\n" -"class TaskManager:\n" -"\n" -" def __init__(self, tasks):\n" -" self.tasks = list(tasks)\n" -"\n" -" @singledispatchmethod\n" -" def discard(self, value):\n" -" with suppress(ValueError):\n" -" self.tasks.remove(value)\n" -"\n" -" @discard.register(list)\n" -" def _(self, tasks):\n" -" targets = set(tasks)\n" -" self.tasks = [x for x in self.tasks if x not in targets]" -msgstr "" - -#: ../../whatsnew/3.8.rst:818 -msgid "(Contributed by Ethan Smith in :issue:`32380`)" -msgstr "(Kontribusi dari Ethan Smith di :issue:`32380`)" - -#: ../../whatsnew/3.8.rst:821 -msgid "gc" -msgstr "gc" - -#: ../../whatsnew/3.8.rst:823 -msgid "" -":func:`~gc.get_objects` can now receive an optional *generation* parameter " -"indicating a generation to get objects from. (Contributed by Pablo Galindo " -"in :issue:`36016`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:829 -msgid "gettext" -msgstr "gettext" - -#: ../../whatsnew/3.8.rst:831 -msgid "" -"Added :func:`~gettext.pgettext` and its variants. (Contributed by Franz " -"Glasner, Éric Araujo, and Cheryl Sabella in :issue:`2504`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:836 -msgid "gzip" -msgstr "gzip" - -#: ../../whatsnew/3.8.rst:838 -msgid "" -"Added the *mtime* parameter to :func:`gzip.compress` for reproducible " -"output. (Contributed by Guo Ci Teo in :issue:`34898`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:841 -msgid "" -"A :exc:`~gzip.BadGzipFile` exception is now raised instead of :exc:`OSError`" -" for certain types of invalid or corrupt gzip files. (Contributed by Filip " -"Gruszczyński, Michele Orrù, and Zackery Spytz in :issue:`6584`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:848 -msgid "IDLE and idlelib" -msgstr "" - -#: ../../whatsnew/3.8.rst:850 -msgid "" -"Output over N lines (50 by default) is squeezed down to a button. N can be " -"changed in the PyShell section of the General page of the Settings dialog. " -"Fewer, but possibly extra long, lines can be squeezed by right clicking on " -"the output. Squeezed output can be expanded in place by double-clicking the" -" button or into the clipboard or a separate window by right-clicking the " -"button. (Contributed by Tal Einat in :issue:`1529353`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:857 -msgid "" -"Add \"Run Customized\" to the Run menu to run a module with customized " -"settings. Any command line arguments entered are added to sys.argv. They " -"also re-appear in the box for the next customized run. One can also " -"suppress the normal Shell main module restart. (Contributed by Cheryl " -"Sabella, Terry Jan Reedy, and others in :issue:`5680` and :issue:`37627`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:863 -msgid "" -"Added optional line numbers for IDLE editor windows. Windows open without " -"line numbers unless set otherwise in the General tab of the configuration " -"dialog. Line numbers for an existing window are shown and hidden in the " -"Options menu. (Contributed by Tal Einat and Saimadhav Heblikar in " -":issue:`17535`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:869 -msgid "" -"OS native encoding is now used for converting between Python strings and Tcl" -" objects. This allows IDLE to work with emoji and other non-BMP characters. " -"These characters can be displayed or copied and pasted to or from the " -"clipboard. Converting strings from Tcl to Python and back now never fails. " -"(Many people worked on this for eight years but the problem was finally " -"solved by Serhiy Storchaka in :issue:`13153`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:876 -msgid "New in 3.8.1:" -msgstr "" - -#: ../../whatsnew/3.8.rst:878 -msgid "" -"Add option to toggle cursor blink off. (Contributed by Zackery Spytz in " -":issue:`4603`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:881 -msgid "" -"Escape key now closes IDLE completion windows. (Contributed by Johnny " -"Najera in :issue:`38944`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:884 -msgid "The changes above have been backported to 3.7 maintenance releases." -msgstr "" - -#: ../../whatsnew/3.8.rst:886 -msgid "" -"Add keywords to module name completion list. (Contributed by Terry J. Reedy" -" in :issue:`37765`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:890 -msgid "inspect" -msgstr "inspect" - -#: ../../whatsnew/3.8.rst:892 -msgid "" -"The :func:`inspect.getdoc` function can now find docstrings for " -"``__slots__`` if that attribute is a :class:`dict` where the values are " -"docstrings. This provides documentation options similar to what we already " -"have for :func:`property`, :func:`classmethod`, and :func:`staticmethod`::" -msgstr "" - -#: ../../whatsnew/3.8.rst:897 -msgid "" -"class AudioClip:\n" -" __slots__ = {'bit_rate': 'expressed in kilohertz to one decimal place',\n" -" 'duration': 'in seconds, rounded up to an integer'}\n" -" def __init__(self, bit_rate, duration):\n" -" self.bit_rate = round(bit_rate / 1000.0, 1)\n" -" self.duration = ceil(duration)" -msgstr "" - -#: ../../whatsnew/3.8.rst:904 -msgid "(Contributed by Raymond Hettinger in :issue:`36326`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:908 -msgid "io" -msgstr "io" - -#: ../../whatsnew/3.8.rst:910 -msgid "" -"In development mode (:option:`-X` ``env``) and in :ref:`debug build `, the :class:`io.IOBase` finalizer now logs the exception if the " -"``close()`` method fails. The exception is ignored silently by default in " -"release build. (Contributed by Victor Stinner in :issue:`18748`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:917 -msgid "itertools" -msgstr "itertools" - -#: ../../whatsnew/3.8.rst:919 -msgid "" -"The :func:`itertools.accumulate` function added an option *initial* keyword " -"argument to specify an initial value::" -msgstr "" - -#: ../../whatsnew/3.8.rst:922 -msgid "" -">>> from itertools import accumulate\n" -">>> list(accumulate([10, 5, 30, 15], initial=1000))\n" -"[1000, 1010, 1015, 1045, 1060]" -msgstr "" - -#: ../../whatsnew/3.8.rst:926 -msgid "(Contributed by Lisa Roach in :issue:`34659`.)" -msgstr "(Kontribusi dari Lisa Roach di :issue:`34659`.)" - -#: ../../whatsnew/3.8.rst:930 -msgid "json.tool" -msgstr "json.tool" - -#: ../../whatsnew/3.8.rst:932 -msgid "" -"Add option ``--json-lines`` to parse every input line as a separate JSON " -"object. (Contributed by Weipeng Hong in :issue:`31553`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:937 -msgid "logging" -msgstr "logging" - -#: ../../whatsnew/3.8.rst:939 -msgid "" -"Added a *force* keyword argument to :func:`logging.basicConfig`. When set to" -" true, any existing handlers attached to the root logger are removed and " -"closed before carrying out the configuration specified by the other " -"arguments." -msgstr "" - -#: ../../whatsnew/3.8.rst:944 -msgid "" -"This solves a long-standing problem. Once a logger or *basicConfig()* had " -"been called, subsequent calls to *basicConfig()* were silently ignored. This" -" made it difficult to update, experiment with, or teach the various logging " -"configuration options using the interactive prompt or a Jupyter notebook." -msgstr "" - -#: ../../whatsnew/3.8.rst:950 -msgid "" -"(Suggested by Raymond Hettinger, implemented by Donghee Na, and reviewed by " -"Vinay Sajip in :issue:`33897`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:955 -msgid "math" -msgstr "math" - -#: ../../whatsnew/3.8.rst:957 -msgid "" -"Added new function :func:`math.dist` for computing Euclidean distance " -"between two points. (Contributed by Raymond Hettinger in :issue:`33089`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:960 -msgid "" -"Expanded the :func:`math.hypot` function to handle multiple dimensions. " -"Formerly, it only supported the 2-D case. (Contributed by Raymond Hettinger " -"in :issue:`33089`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:964 -msgid "" -"Added new function, :func:`math.prod`, as analogous function to :func:`sum` " -"that returns the product of a 'start' value (default: 1) times an iterable " -"of numbers::" -msgstr "" - -#: ../../whatsnew/3.8.rst:968 -msgid "" -">>> prior = 0.8\n" -">>> likelihoods = [0.625, 0.84, 0.30]\n" -">>> math.prod(likelihoods, start=prior)\n" -"0.126" -msgstr "" - -#: ../../whatsnew/3.8.rst:973 -msgid "(Contributed by Pablo Galindo in :issue:`35606`.)" -msgstr "(Kontribusi dari Pablo Galindo di :issue:`35606`.)" - -#: ../../whatsnew/3.8.rst:975 -msgid "" -"Added two new combinatoric functions :func:`math.perm` and " -":func:`math.comb`::" -msgstr "" - -#: ../../whatsnew/3.8.rst:977 -msgid "" -">>> math.perm(10, 3) # Permutations of 10 things taken 3 at a time\n" -"720\n" -">>> math.comb(10, 3) # Combinations of 10 things taken 3 at a time\n" -"120" -msgstr "" - -#: ../../whatsnew/3.8.rst:982 -msgid "" -"(Contributed by Yash Aggarwal, Keller Fuchs, Serhiy Storchaka, and Raymond " -"Hettinger in :issue:`37128`, :issue:`37178`, and :issue:`35431`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:985 -msgid "" -"Added a new function :func:`math.isqrt` for computing accurate integer " -"square roots without conversion to floating point. The new function " -"supports arbitrarily large integers. It is faster than ``floor(sqrt(n))`` " -"but slower than :func:`math.sqrt`::" -msgstr "" - -#: ../../whatsnew/3.8.rst:990 -msgid "" -">>> r = 650320427\n" -">>> s = r ** 2\n" -">>> isqrt(s - 1) # correct\n" -"650320426\n" -">>> floor(sqrt(s - 1)) # incorrect\n" -"650320427" -msgstr "" - -#: ../../whatsnew/3.8.rst:997 -msgid "(Contributed by Mark Dickinson in :issue:`36887`.)" -msgstr "(Kontribusi dari Mark Dickinson di :issue:`36887`.)" - -#: ../../whatsnew/3.8.rst:999 -msgid "" -"The function :func:`math.factorial` no longer accepts arguments that are not" -" int-like. (Contributed by Pablo Galindo in :issue:`33083`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1004 -msgid "mmap" -msgstr "mmap" - -#: ../../whatsnew/3.8.rst:1006 -msgid "" -"The :class:`mmap.mmap` class now has an :meth:`~mmap.mmap.madvise` method to" -" access the ``madvise()`` system call. (Contributed by Zackery Spytz in " -":issue:`32941`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1012 -msgid "multiprocessing" -msgstr "multiprocessing" - -#: ../../whatsnew/3.8.rst:1014 -msgid "" -"Added new :mod:`multiprocessing.shared_memory` module. (Contributed by Davin" -" Potts in :issue:`35813`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1017 -msgid "" -"On macOS, the *spawn* start method is now used by default. (Contributed by " -"Victor Stinner in :issue:`33725`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1022 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.8.rst:1024 -msgid "" -"Added new function :func:`~os.add_dll_directory` on Windows for providing " -"additional search paths for native dependencies when importing extension " -"modules or loading DLLs using :mod:`ctypes`. (Contributed by Steve Dower in " -":issue:`36085`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1029 -msgid "" -"A new :func:`os.memfd_create` function was added to wrap the " -"``memfd_create()`` syscall. (Contributed by Zackery Spytz and Christian " -"Heimes in :issue:`26836`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1033 -msgid "" -"On Windows, much of the manual logic for handling reparse points (including " -"symlinks and directory junctions) has been delegated to the operating " -"system. Specifically, :func:`os.stat` will now traverse anything supported " -"by the operating system, while :func:`os.lstat` will only open reparse " -"points that identify as \"name surrogates\" while others are opened as for " -":func:`os.stat`. In all cases, :attr:`stat_result.st_mode` will only have " -"``S_IFLNK`` set for symbolic links and not other kinds of reparse points. To" -" identify other kinds of reparse point, check the new " -":attr:`stat_result.st_reparse_tag` attribute." -msgstr "" - -#: ../../whatsnew/3.8.rst:1042 -msgid "" -"On Windows, :func:`os.readlink` is now able to read directory junctions. " -"Note that :func:`~os.path.islink` will return ``False`` for directory " -"junctions, and so code that checks ``islink`` first will continue to treat " -"junctions as directories, while code that handles errors from " -":func:`os.readlink` may now treat junctions as links." -msgstr "" - -#: ../../whatsnew/3.8.rst:1048 ../../whatsnew/3.8.rst:1073 -msgid "(Contributed by Steve Dower in :issue:`37834`.)" -msgstr "(Kontribusi dari Steve Dower di :issue:`37834`.)" - -#: ../../whatsnew/3.8.rst:1052 -msgid "os.path" -msgstr "os.path" - -#: ../../whatsnew/3.8.rst:1054 -msgid "" -":mod:`os.path` functions that return a boolean result like " -":func:`~os.path.exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir`, " -":func:`~os.path.isfile`, :func:`~os.path.islink`, and " -":func:`~os.path.ismount` now return ``False`` instead of raising " -":exc:`ValueError` or its subclasses :exc:`UnicodeEncodeError` and " -":exc:`UnicodeDecodeError` for paths that contain characters or bytes " -"unrepresentable at the OS level. (Contributed by Serhiy Storchaka in " -":issue:`33721`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1062 ../../whatsnew/3.8.rst:1965 -msgid "" -":func:`~os.path.expanduser` on Windows now prefers the :envvar:`USERPROFILE`" -" environment variable and does not use :envvar:`HOME`, which is not normally" -" set for regular user accounts. (Contributed by Anthony Sottile in " -":issue:`36264`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1067 -msgid "" -":func:`~os.path.isdir` on Windows no longer returns ``True`` for a link to a" -" non-existent directory." -msgstr "" - -#: ../../whatsnew/3.8.rst:1070 -msgid "" -":func:`~os.path.realpath` on Windows now resolves reparse points, including " -"symlinks and directory junctions." -msgstr "" - -#: ../../whatsnew/3.8.rst:1077 -msgid "pathlib" -msgstr "pathlib" - -#: ../../whatsnew/3.8.rst:1079 -msgid "" -":mod:`pathlib.Path` methods that return a boolean result like " -":meth:`~pathlib.Path.exists`, :meth:`~pathlib.Path.is_dir`, " -":meth:`~pathlib.Path.is_file`, :meth:`~pathlib.Path.is_mount`, " -":meth:`~pathlib.Path.is_symlink`, :meth:`~pathlib.Path.is_block_device`, " -":meth:`~pathlib.Path.is_char_device`, :meth:`~pathlib.Path.is_fifo`, " -":meth:`~pathlib.Path.is_socket` now return ``False`` instead of raising " -":exc:`ValueError` or its subclass :exc:`UnicodeEncodeError` for paths that " -"contain characters unrepresentable at the OS level. (Contributed by Serhiy " -"Storchaka in :issue:`33721`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1089 -msgid "" -"Added :meth:`!pathlib.Path.link_to` which creates a hard link pointing to a " -"path. (Contributed by Joannah Nanjekye in :issue:`26978`) Note that " -"``link_to`` was deprecated in 3.10 and removed in 3.12 in favor of a " -"``hardlink_to`` method added in 3.10 which matches the semantics of the " -"existing ``symlink_to`` method." -msgstr "" - -#: ../../whatsnew/3.8.rst:1098 -msgid "pickle" -msgstr "pickle" - -#: ../../whatsnew/3.8.rst:1100 -msgid "" -":mod:`pickle` extensions subclassing the C-optimized " -":class:`~pickle.Pickler` can now override the pickling logic of functions " -"and classes by defining the special :meth:`~pickle.Pickler.reducer_override`" -" method. (Contributed by Pierre Glaser and Olivier Grisel in " -":issue:`35900`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1107 -msgid "plistlib" -msgstr "plistlib" - -#: ../../whatsnew/3.8.rst:1109 -msgid "" -"Added new :class:`plistlib.UID` and enabled support for reading and writing " -"NSKeyedArchiver-encoded binary plists. (Contributed by Jon Janzen in " -":issue:`26707`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1115 -msgid "pprint" -msgstr "" - -#: ../../whatsnew/3.8.rst:1117 -msgid "" -"The :mod:`pprint` module added a *sort_dicts* parameter to several " -"functions. By default, those functions continue to sort dictionaries before " -"rendering or printing. However, if *sort_dicts* is set to false, the " -"dictionaries retain the order that keys were inserted. This can be useful " -"for comparison to JSON inputs during debugging." -msgstr "" - -#: ../../whatsnew/3.8.rst:1123 -msgid "" -"In addition, there is a convenience new function, :func:`pprint.pp` that is " -"like :func:`pprint.pprint` but with *sort_dicts* defaulting to ``False``::" -msgstr "" - -#: ../../whatsnew/3.8.rst:1126 -msgid "" -">>> from pprint import pprint, pp\n" -">>> d = dict(source='input.txt', operation='filter', destination='output.txt')\n" -">>> pp(d, width=40) # Original order\n" -"{'source': 'input.txt',\n" -" 'operation': 'filter',\n" -" 'destination': 'output.txt'}\n" -">>> pprint(d, width=40) # Keys sorted alphabetically\n" -"{'destination': 'output.txt',\n" -" 'operation': 'filter',\n" -" 'source': 'input.txt'}" -msgstr "" - -#: ../../whatsnew/3.8.rst:1137 -msgid "(Contributed by Rémi Lapeyre in :issue:`30670`.)" -msgstr "(Kontribusi dari Rémi Lapeyre di :issue:`30670`.)" - -#: ../../whatsnew/3.8.rst:1141 -msgid "py_compile" -msgstr "py_compile" - -#: ../../whatsnew/3.8.rst:1143 -msgid "" -":func:`py_compile.compile` now supports silent mode. (Contributed by Joannah" -" Nanjekye in :issue:`22640`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1148 -msgid "shlex" -msgstr "shlex" - -#: ../../whatsnew/3.8.rst:1150 -msgid "" -"The new :func:`shlex.join` function acts as the inverse of " -":func:`shlex.split`. (Contributed by Bo Bayles in :issue:`32102`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1155 -msgid "shutil" -msgstr "shutil" - -#: ../../whatsnew/3.8.rst:1157 -msgid "" -":func:`shutil.copytree` now accepts a new ``dirs_exist_ok`` keyword " -"argument. (Contributed by Josh Bronson in :issue:`20849`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1160 -msgid "" -":func:`shutil.make_archive` now defaults to the modern pax (POSIX.1-2001) " -"format for new archives to improve portability and standards conformance, " -"inherited from the corresponding change to the :mod:`tarfile` module. " -"(Contributed by C.A.M. Gerlach in :issue:`30661`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1165 -msgid "" -":func:`shutil.rmtree` on Windows now removes directory junctions without " -"recursively removing their contents first. (Contributed by Steve Dower in " -":issue:`37834`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1171 -msgid "socket" -msgstr "socket" - -#: ../../whatsnew/3.8.rst:1173 -msgid "" -"Added :meth:`~socket.create_server` and :meth:`~socket.has_dualstack_ipv6` " -"convenience functions to automate the necessary tasks usually involved when " -"creating a server socket, including accepting both IPv4 and IPv6 connections" -" on the same socket. (Contributed by Giampaolo Rodolà in :issue:`17561`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1178 -msgid "" -"The :func:`socket.if_nameindex`, :func:`socket.if_nametoindex`, and " -":func:`socket.if_indextoname` functions have been implemented on Windows. " -"(Contributed by Zackery Spytz in :issue:`37007`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1184 -msgid "ssl" -msgstr "ssl" - -#: ../../whatsnew/3.8.rst:1186 -msgid "" -"Added :attr:`~ssl.SSLContext.post_handshake_auth` to enable and " -":meth:`~ssl.SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 " -"post-handshake authentication. (Contributed by Christian Heimes in " -":issue:`34670`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1193 -msgid "statistics" -msgstr "statistics" - -#: ../../whatsnew/3.8.rst:1195 -msgid "" -"Added :func:`statistics.fmean` as a faster, floating-point variant of " -":func:`statistics.mean`. (Contributed by Raymond Hettinger and Steven " -"D'Aprano in :issue:`35904`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1199 -msgid "" -"Added :func:`statistics.geometric_mean` (Contributed by Raymond Hettinger in" -" :issue:`27181`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1202 -msgid "" -"Added :func:`statistics.multimode` that returns a list of the most common " -"values. (Contributed by Raymond Hettinger in :issue:`35892`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1205 -msgid "" -"Added :func:`statistics.quantiles` that divides data or a distribution in to" -" equiprobable intervals (e.g. quartiles, deciles, or percentiles). " -"(Contributed by Raymond Hettinger in :issue:`36546`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1209 -msgid "" -"Added :class:`statistics.NormalDist`, a tool for creating and manipulating " -"normal distributions of a random variable. (Contributed by Raymond Hettinger" -" in :issue:`36018`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1215 -msgid "" -">>> temperature_feb = NormalDist.from_samples([4, 12, -3, 2, 7, 14])\n" -">>> temperature_feb.mean\n" -"6.0\n" -">>> temperature_feb.stdev\n" -"6.356099432828281\n" -"\n" -">>> temperature_feb.cdf(3) # Chance of being under 3 degrees\n" -"0.3184678262814532\n" -">>> # Relative chance of being 7 degrees versus 10 degrees\n" -">>> temperature_feb.pdf(7) / temperature_feb.pdf(10)\n" -"1.2039930378537762\n" -"\n" -">>> el_niño = NormalDist(4, 2.5)\n" -">>> temperature_feb += el_niño # Add in a climate effect\n" -">>> temperature_feb\n" -"NormalDist(mu=10.0, sigma=6.830080526611674)\n" -"\n" -">>> temperature_feb * (9/5) + 32 # Convert to Fahrenheit\n" -"NormalDist(mu=50.0, sigma=12.294144947901014)\n" -">>> temperature_feb.samples(3) # Generate random samples\n" -"[7.672102882379219, 12.000027119750287, 4.647488369766392]" -msgstr "" - -#: ../../whatsnew/3.8.rst:1239 -msgid "sys" -msgstr "sys" - -#: ../../whatsnew/3.8.rst:1241 -msgid "" -"Add new :func:`sys.unraisablehook` function which can be overridden to " -"control how \"unraisable exceptions\" are handled. It is called when an " -"exception has occurred but there is no way for Python to handle it. For " -"example, when a destructor raises an exception or during garbage collection " -"(:func:`gc.collect`). (Contributed by Victor Stinner in :issue:`36829`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1250 ../../whatsnew/3.8.rst:2350 -msgid "tarfile" -msgstr "tarfile" - -#: ../../whatsnew/3.8.rst:1252 -msgid "" -"The :mod:`tarfile` module now defaults to the modern pax (POSIX.1-2001) " -"format for new archives, instead of the previous GNU-specific one. This " -"improves cross-platform portability with a consistent encoding (UTF-8) in a " -"standardized and extensible format, and offers several other benefits. " -"(Contributed by C.A.M. Gerlach in :issue:`36268`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1260 -msgid "threading" -msgstr "threading" - -#: ../../whatsnew/3.8.rst:1262 -msgid "" -"Add a new :func:`threading.excepthook` function which handles uncaught " -":meth:`threading.Thread.run` exception. It can be overridden to control how " -"uncaught :meth:`threading.Thread.run` exceptions are handled. (Contributed " -"by Victor Stinner in :issue:`1230540`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1267 -msgid "" -"Add a new :func:`threading.get_native_id` function and a " -":data:`~threading.Thread.native_id` attribute to the " -":class:`threading.Thread` class. These return the native integral Thread ID " -"of the current thread assigned by the kernel. This feature is only available" -" on certain platforms, see :func:`get_native_id ` " -"for more information. (Contributed by Jake Tesler in :issue:`36084`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1277 -msgid "tokenize" -msgstr "tokenize" - -#: ../../whatsnew/3.8.rst:1279 -msgid "" -"The :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token when " -"provided with input that does not have a trailing new line. This behavior " -"now matches what the C tokenizer does internally. (Contributed by Ammar " -"Askar in :issue:`33899`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1286 -msgid "tkinter" -msgstr "tkinter" - -#: ../../whatsnew/3.8.rst:1288 -msgid "" -"Added methods :meth:`~tkinter.Spinbox.selection_from`, " -":meth:`~tkinter.Spinbox.selection_present`, " -":meth:`~tkinter.Spinbox.selection_range` and " -":meth:`~tkinter.Spinbox.selection_to` in the :class:`tkinter.Spinbox` class." -" (Contributed by Juliette Monsel in :issue:`34829`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1295 -msgid "" -"Added method :meth:`~tkinter.Canvas.moveto` in the :class:`tkinter.Canvas` " -"class. (Contributed by Juliette Monsel in :issue:`23831`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1299 -msgid "" -"The :class:`tkinter.PhotoImage` class now has " -":meth:`~tkinter.PhotoImage.transparency_get` and " -":meth:`~tkinter.PhotoImage.transparency_set` methods. (Contributed by " -"Zackery Spytz in :issue:`25451`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1306 -msgid "time" -msgstr "time" - -#: ../../whatsnew/3.8.rst:1308 -msgid "" -"Added new clock :const:`~time.CLOCK_UPTIME_RAW` for macOS 10.12. " -"(Contributed by Joannah Nanjekye in :issue:`35702`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1313 -msgid "typing" -msgstr "typing" - -#: ../../whatsnew/3.8.rst:1315 -msgid "The :mod:`typing` module incorporates several new features:" -msgstr "" - -#: ../../whatsnew/3.8.rst:1317 -msgid "" -"A dictionary type with per-key types. See :pep:`589` and " -":class:`typing.TypedDict`. TypedDict uses only string keys. By default, " -"every key is required to be present. Specify \"total=False\" to allow keys " -"to be optional::" -msgstr "" - -#: ../../whatsnew/3.8.rst:1322 -msgid "" -"class Location(TypedDict, total=False):\n" -" lat_long: tuple\n" -" grid_square: str\n" -" xy_coordinate: tuple" -msgstr "" - -#: ../../whatsnew/3.8.rst:1327 -msgid "" -"Literal types. See :pep:`586` and :class:`typing.Literal`. Literal types " -"indicate that a parameter or return value is constrained to one or more " -"specific literal values::" -msgstr "" - -#: ../../whatsnew/3.8.rst:1331 -msgid "" -"def get_status(port: int) -> Literal['connected', 'disconnected']:\n" -" ..." -msgstr "" - -#: ../../whatsnew/3.8.rst:1334 -msgid "" -"\"Final\" variables, functions, methods and classes. See :pep:`591`, " -":class:`typing.Final` and :func:`typing.final`. The final qualifier " -"instructs a static type checker to restrict subclassing, overriding, or " -"reassignment::" -msgstr "" - -#: ../../whatsnew/3.8.rst:1339 -msgid "pi: Final[float] = 3.1415926536" -msgstr "" - -#: ../../whatsnew/3.8.rst:1341 -msgid "" -"Protocol definitions. See :pep:`544`, :class:`typing.Protocol` and " -":func:`typing.runtime_checkable`. Simple ABCs like " -":class:`typing.SupportsInt` are now ``Protocol`` subclasses." -msgstr "" - -#: ../../whatsnew/3.8.rst:1345 -msgid "New protocol class :class:`typing.SupportsIndex`." -msgstr "" - -#: ../../whatsnew/3.8.rst:1347 -msgid "New functions :func:`typing.get_origin` and :func:`typing.get_args`." -msgstr "" - -#: ../../whatsnew/3.8.rst:1351 -msgid "unicodedata" -msgstr "unicodedata" - -#: ../../whatsnew/3.8.rst:1353 -msgid "" -"The :mod:`unicodedata` module has been upgraded to use the `Unicode 12.1.0 " -"`_ release." -msgstr "" - -#: ../../whatsnew/3.8.rst:1356 -msgid "" -"New function :func:`~unicodedata.is_normalized` can be used to verify a " -"string is in a specific normal form, often much faster than by actually " -"normalizing the string. (Contributed by Max Belanger, David Euresti, and " -"Greg Price in :issue:`32285` and :issue:`37966`)." -msgstr "" - -#: ../../whatsnew/3.8.rst:1363 -msgid "unittest" -msgstr "unittest" - -#: ../../whatsnew/3.8.rst:1365 -msgid "" -"Added :class:`~unittest.mock.AsyncMock` to support an asynchronous version " -"of :class:`~unittest.mock.Mock`. Appropriate new assert functions for " -"testing have been added as well. (Contributed by Lisa Roach in " -":issue:`26467`)." -msgstr "" - -#: ../../whatsnew/3.8.rst:1370 -msgid "" -"Added :func:`~unittest.addModuleCleanup` and " -":meth:`~unittest.TestCase.addClassCleanup` to unittest to support cleanups " -"for :func:`~unittest.setUpModule` and :meth:`~unittest.TestCase.setUpClass`." -" (Contributed by Lisa Roach in :issue:`24412`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1376 -msgid "" -"Several mock assert functions now also print a list of actual calls upon " -"failure. (Contributed by Petter Strandmark in :issue:`35047`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1379 -msgid "" -":mod:`unittest` module gained support for coroutines to be used as test " -"cases with :class:`unittest.IsolatedAsyncioTestCase`. (Contributed by Andrew" -" Svetlov in :issue:`32972`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1383 -msgid "Example::" -msgstr "Contoh::" - -#: ../../whatsnew/3.8.rst:1385 -msgid "" -"import unittest\n" -"\n" -"\n" -"class TestRequest(unittest.IsolatedAsyncioTestCase):\n" -"\n" -" async def asyncSetUp(self):\n" -" self.connection = await AsyncConnection()\n" -"\n" -" async def test_get(self):\n" -" response = await self.connection.get(\"https://example.com\")\n" -" self.assertEqual(response.status_code, 200)\n" -"\n" -" async def asyncTearDown(self):\n" -" await self.connection.close()\n" -"\n" -"\n" -"if __name__ == \"__main__\":\n" -" unittest.main()" -msgstr "" - -#: ../../whatsnew/3.8.rst:1406 -msgid "venv" -msgstr "venv" - -#: ../../whatsnew/3.8.rst:1408 -msgid "" -":mod:`venv` now includes an ``Activate.ps1`` script on all platforms for " -"activating virtual environments under PowerShell Core 6.1. (Contributed by " -"Brett Cannon in :issue:`32718`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1414 -msgid "weakref" -msgstr "weakref" - -#: ../../whatsnew/3.8.rst:1416 -msgid "" -"The proxy objects returned by :func:`weakref.proxy` now support the matrix " -"multiplication operators ``@`` and ``@=`` in addition to the other numeric " -"operators. (Contributed by Mark Dickinson in :issue:`36669`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1422 -msgid "xml" -msgstr "xml" - -#: ../../whatsnew/3.8.rst:1424 -msgid "" -"As mitigation against DTD and external entity retrieval, the " -":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external" -" entities by default. (Contributed by Christian Heimes in :issue:`17239`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1429 -msgid "" -"The ``.find*()`` methods in the :mod:`xml.etree.ElementTree` module support " -"wildcard searches like ``{*}tag`` which ignores the namespace and " -"``{namespace}*`` which returns all tags in the given namespace. (Contributed" -" by Stefan Behnel in :issue:`28238`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1434 -msgid "" -"The :mod:`xml.etree.ElementTree` module provides a new function " -":func:`–xml.etree.ElementTree.canonicalize` that implements C14N 2.0. " -"(Contributed by Stefan Behnel in :issue:`13611`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1438 -msgid "" -"The target object of :class:`xml.etree.ElementTree.XMLParser` can receive " -"namespace declaration events through the new callback methods ``start_ns()``" -" and ``end_ns()``. Additionally, the " -":class:`xml.etree.ElementTree.TreeBuilder` target can be configured to " -"process events about comments and processing instructions to include them in" -" the generated tree. (Contributed by Stefan Behnel in :issue:`36676` and " -":issue:`36673`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1448 -msgid "xmlrpc" -msgstr "" - -#: ../../whatsnew/3.8.rst:1450 -msgid "" -":class:`xmlrpc.client.ServerProxy` now supports an optional *headers* " -"keyword argument for a sequence of HTTP headers to be sent with each " -"request. Among other things, this makes it possible to upgrade from default" -" basic authentication to faster session authentication. (Contributed by " -"Cédric Krier in :issue:`35153`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1458 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.8.rst:1460 -msgid "" -"The :mod:`subprocess` module can now use the :func:`os.posix_spawn` function" -" in some cases for better performance. Currently, it is only used on macOS " -"and Linux (using glibc 2.24 or newer) if all these conditions are met:" -msgstr "" - -#: ../../whatsnew/3.8.rst:1464 -msgid "*close_fds* is false;" -msgstr "*close_fds* adalah salah;" - -#: ../../whatsnew/3.8.rst:1465 -msgid "" -"*preexec_fn*, *pass_fds*, *cwd* and *start_new_session* parameters are not " -"set;" -msgstr "" - -#: ../../whatsnew/3.8.rst:1467 -msgid "the *executable* path contains a directory." -msgstr "" - -#: ../../whatsnew/3.8.rst:1469 -msgid "" -"(Contributed by Joannah Nanjekye and Victor Stinner in :issue:`35537`.)" -msgstr "" -"(Kontribusi dari Joannah Nanjekye dan Victor Stinner di :issue:`35537`.)" - -#: ../../whatsnew/3.8.rst:1471 -msgid "" -":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, " -":func:`shutil.copytree` and :func:`shutil.move` use platform-specific " -"\"fast-copy\" syscalls on Linux and macOS in order to copy the file more " -"efficiently. \"fast-copy\" means that the copying operation occurs within " -"the kernel, avoiding the use of userspace buffers in Python as in " -"\"``outfd.write(infd.read())``\". On Windows :func:`shutil.copyfile` uses a " -"bigger default buffer size (1 MiB instead of 16 KiB) and a " -":func:`memoryview`-based variant of :func:`shutil.copyfileobj` is used. The " -"speedup for copying a 512 MiB file within the same partition is about +26% " -"on Linux, +50% on macOS and +40% on Windows. Also, much less CPU cycles are " -"consumed. See :ref:`shutil-platform-dependent-efficient-copy-operations` " -"section. (Contributed by Giampaolo Rodolà in :issue:`33671`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1487 -msgid "" -":func:`shutil.copytree` uses :func:`os.scandir` function and all copy " -"functions depending from it use cached :func:`os.stat` values. The speedup " -"for copying a directory with 8000 files is around +9% on Linux, +20% on " -"Windows and +30% on a Windows SMB share. Also the number of :func:`os.stat` " -"syscalls is reduced by 38% making :func:`shutil.copytree` especially faster " -"on network filesystems. (Contributed by Giampaolo Rodolà in :issue:`33695`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1494 -msgid "" -"The default protocol in the :mod:`pickle` module is now Protocol 4, first " -"introduced in Python 3.4. It offers better performance and smaller size " -"compared to Protocol 3 available since Python 3.0." -msgstr "" - -#: ../../whatsnew/3.8.rst:1498 -msgid "" -"Removed one :c:type:`Py_ssize_t` member from ``PyGC_Head``. All GC tracked " -"objects (e.g. tuple, list, dict) size is reduced 4 or 8 bytes. (Contributed " -"by Inada Naoki in :issue:`33597`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1502 -msgid "" -":class:`uuid.UUID` now uses ``__slots__`` to reduce its memory footprint. " -"(Contributed by Wouter Bolsterlee and Tal Einat in :issue:`30977`)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1505 -msgid "" -"Improved performance of :func:`operator.itemgetter` by 33%. Optimized " -"argument handling and added a fast path for the common case of a single non-" -"negative integer index into a tuple (which is the typical use case in the " -"standard library). (Contributed by Raymond Hettinger in :issue:`35664`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1511 -msgid "" -"Sped-up field lookups in :func:`collections.namedtuple`. They are now more " -"than two times faster, making them the fastest form of instance variable " -"lookup in Python. (Contributed by Raymond Hettinger, Pablo Galindo, and Joe " -"Jevnik, Serhiy Storchaka in :issue:`32492`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1516 -msgid "" -"The :class:`list` constructor does not overallocate the internal item buffer" -" if the input iterable has a known length (the input implements " -"``__len__``). This makes the created list 12% smaller on average. " -"(Contributed by Raymond Hettinger and Pablo Galindo in :issue:`33234`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1521 -msgid "" -"Doubled the speed of class variable writes. When a non-dunder attribute was" -" updated, there was an unnecessary call to update slots. (Contributed by " -"Stefan Behnel, Pablo Galindo Salgado, Raymond Hettinger, Neil Schemenauer, " -"and Serhiy Storchaka in :issue:`36012`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1526 -msgid "" -"Reduced an overhead of converting arguments passed to many builtin functions" -" and methods. This sped up calling some simple builtin functions and " -"methods up to 20--50%. (Contributed by Serhiy Storchaka in :issue:`23867`, " -":issue:`35582` and :issue:`36127`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1531 -msgid "" -"``LOAD_GLOBAL`` instruction now uses new \"per opcode cache\" mechanism. It " -"is about 40% faster now. (Contributed by Yury Selivanov and Inada Naoki in " -":issue:`26219`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1537 -msgid "Build and C API Changes" -msgstr "Perubahan Pembangunan *Build* dan API C" - -#: ../../whatsnew/3.8.rst:1539 -msgid "" -"Default :data:`sys.abiflags` became an empty string: the ``m`` flag for " -"pymalloc became useless (builds with and without pymalloc are ABI " -"compatible) and so has been removed. (Contributed by Victor Stinner in " -":issue:`36707`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1543 -msgid "Example of changes:" -msgstr "Contoh perubahan:" - -#: ../../whatsnew/3.8.rst:1545 -msgid "" -"Only ``python3.8`` program is installed, ``python3.8m`` program is gone." -msgstr "" - -#: ../../whatsnew/3.8.rst:1546 -msgid "" -"Only ``python3.8-config`` script is installed, ``python3.8m-config`` script " -"is gone." -msgstr "" - -#: ../../whatsnew/3.8.rst:1548 -msgid "" -"The ``m`` flag has been removed from the suffix of dynamic library " -"filenames: extension modules in the standard library as well as those " -"produced and installed by third-party packages, like those downloaded from " -"PyPI. On Linux, for example, the Python 3.7 suffix " -"``.cpython-37m-x86_64-linux-gnu.so`` became ``.cpython-38-x86_64-linux-" -"gnu.so`` in Python 3.8." -msgstr "" - -#: ../../whatsnew/3.8.rst:1555 -msgid "" -"The header files have been reorganized to better separate the different " -"kinds of APIs:" -msgstr "" - -#: ../../whatsnew/3.8.rst:1558 -msgid "``Include/*.h`` should be the portable public stable C API." -msgstr "" - -#: ../../whatsnew/3.8.rst:1559 -msgid "" -"``Include/cpython/*.h`` should be the unstable C API specific to CPython; " -"public API, with some private API prefixed by ``_Py`` or ``_PY``." -msgstr "" - -#: ../../whatsnew/3.8.rst:1561 -msgid "" -"``Include/internal/*.h`` is the private internal C API very specific to " -"CPython. This API comes with no backward compatibility warranty and should " -"not be used outside CPython. It is only exposed for very specific needs like" -" debuggers and profiles which has to access to CPython internals without " -"calling functions. This API is now installed by ``make install``." -msgstr "" - -#: ../../whatsnew/3.8.rst:1567 -msgid "" -"(Contributed by Victor Stinner in :issue:`35134` and :issue:`35081`, work " -"initiated by Eric Snow in Python 3.7.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1570 -msgid "" -"Some macros have been converted to static inline functions: parameter types " -"and return type are well defined, they don't have issues specific to macros," -" variables have a local scopes. Examples:" -msgstr "" - -#: ../../whatsnew/3.8.rst:1574 -msgid ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" -msgstr ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" - -#: ../../whatsnew/3.8.rst:1575 -msgid ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" -msgstr ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" - -#: ../../whatsnew/3.8.rst:1576 -msgid ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" -msgstr ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" - -#: ../../whatsnew/3.8.rst:1577 -msgid "" -"Private functions: :c:func:`!_PyObject_GC_TRACK`, " -":c:func:`!_PyObject_GC_UNTRACK`, :c:func:`!_Py_Dealloc`" -msgstr "" - -#: ../../whatsnew/3.8.rst:1580 -msgid "(Contributed by Victor Stinner in :issue:`35059`.)" -msgstr "(Kontribusi dari Victor Stinner di :issue:`35059`.)" - -#: ../../whatsnew/3.8.rst:1582 -msgid "" -"The :c:func:`!PyByteArray_Init` and :c:func:`!PyByteArray_Fini` functions " -"have been removed. They did nothing since Python 2.7.4 and Python 3.2.0, " -"were excluded from the limited API (stable ABI), and were not documented. " -"(Contributed by Victor Stinner in :issue:`35713`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1587 -msgid "" -"The result of :c:func:`PyExceptionClass_Name` is now of type ``const char " -"*`` rather of ``char *``. (Contributed by Serhiy Storchaka in " -":issue:`33818`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1591 -msgid "" -"The duality of ``Modules/Setup.dist`` and ``Modules/Setup`` has been " -"removed. Previously, when updating the CPython source tree, one had to " -"manually copy ``Modules/Setup.dist`` (inside the source tree) to " -"``Modules/Setup`` (inside the build tree) in order to reflect any changes " -"upstream. This was of a small benefit to packagers at the expense of a " -"frequent annoyance to developers following CPython development, as " -"forgetting to copy the file could produce build failures." -msgstr "" - -#: ../../whatsnew/3.8.rst:1599 -msgid "" -"Now the build system always reads from ``Modules/Setup`` inside the source " -"tree. People who want to customize that file are encouraged to maintain " -"their changes in a git fork of CPython or as patch files, as they would do " -"for any other change to the source tree." -msgstr "" - -#: ../../whatsnew/3.8.rst:1604 -msgid "(Contributed by Antoine Pitrou in :issue:`32430`.)" -msgstr "(Kontribusi dari Antoine Pitrou di :issue:`32430`.)" - -#: ../../whatsnew/3.8.rst:1606 -msgid "" -"Functions that convert Python number to C integer like " -":c:func:`PyLong_AsLong` and argument parsing functions like " -":c:func:`PyArg_ParseTuple` with integer converting format units like ``'i'``" -" will now use the :meth:`~object.__index__` special method instead of " -":meth:`~object.__int__`, if available. The deprecation warning will be " -"emitted for objects with the ``__int__()`` method but without the " -"``__index__()`` method (like :class:`~decimal.Decimal` and " -":class:`~fractions.Fraction`). :c:func:`PyNumber_Check` will now return " -"``1`` for objects implementing ``__index__()``. :c:func:`PyNumber_Long`, " -":c:func:`PyNumber_Float` and :c:func:`PyFloat_AsDouble` also now use the " -"``__index__()`` method if available. (Contributed by Serhiy Storchaka in " -":issue:`36048` and :issue:`20092`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1620 -msgid "" -"Heap-allocated type objects will now increase their reference count in " -":c:func:`PyObject_Init` (and its parallel macro ``PyObject_INIT``) instead " -"of in :c:func:`PyType_GenericAlloc`. Types that modify instance allocation " -"or deallocation may need to be adjusted. (Contributed by Eddie Elizondo in " -":issue:`35810`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1626 -msgid "" -"The new function :c:func:`!PyCode_NewWithPosOnlyArgs` allows to create code " -"objects like :c:func:`!PyCode_New`, but with an extra *posonlyargcount* " -"parameter for indicating the number of positional-only arguments. " -"(Contributed by Pablo Galindo in :issue:`37221`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1631 -msgid "" -":c:func:`!Py_SetPath` now sets :data:`sys.executable` to the program full " -"path (:c:func:`Py_GetProgramFullPath`) rather than to the program name " -"(:c:func:`Py_GetProgramName`). (Contributed by Victor Stinner in " -":issue:`38234`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1638 -msgid "Deprecated" -msgstr "Usang" - -#: ../../whatsnew/3.8.rst:1640 -msgid "" -"The distutils ``bdist_wininst`` command is now deprecated, use " -"``bdist_wheel`` (wheel packages) instead. (Contributed by Victor Stinner in " -":issue:`37481`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1644 -msgid "" -"Deprecated methods ``getchildren()`` and ``getiterator()`` in the " -":mod:`~xml.etree.ElementTree` module now emit a :exc:`DeprecationWarning` " -"instead of :exc:`PendingDeprecationWarning`. They will be removed in Python " -"3.9. (Contributed by Serhiy Storchaka in :issue:`29209`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1650 -msgid "" -"Passing an object that is not an instance of " -":class:`concurrent.futures.ThreadPoolExecutor` to " -":meth:`loop.set_default_executor() ` is " -"deprecated and will be prohibited in Python 3.9. (Contributed by Elvis " -"Pranskevichus in :issue:`34075`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1656 -msgid "" -"The :meth:`~object.__getitem__` methods of " -":class:`xml.dom.pulldom.DOMEventStream`, :class:`wsgiref.util.FileWrapper` " -"and :class:`fileinput.FileInput` have been deprecated." -msgstr "" - -#: ../../whatsnew/3.8.rst:1660 -msgid "" -"Implementations of these methods have been ignoring their *index* parameter," -" and returning the next item instead. (Contributed by Berker Peksag in " -":issue:`9372`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1664 -msgid "" -"The :class:`typing.NamedTuple` class has deprecated the ``_field_types`` " -"attribute in favor of the ``__annotations__`` attribute which has the same " -"information. (Contributed by Raymond Hettinger in :issue:`36320`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1668 -msgid "" -":mod:`ast` classes ``Num``, ``Str``, ``Bytes``, ``NameConstant`` and " -"``Ellipsis`` are considered deprecated and will be removed in future Python " -"versions. :class:`~ast.Constant` should be used instead. (Contributed by " -"Serhiy Storchaka in :issue:`32892`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1673 -msgid "" -":class:`ast.NodeVisitor` methods ``visit_Num()``, ``visit_Str()``, " -"``visit_Bytes()``, ``visit_NameConstant()`` and ``visit_Ellipsis()`` are " -"deprecated now and will not be called in future Python versions. Add the " -":meth:`~ast.NodeVisitor.visit_Constant` method to handle all constant nodes." -" (Contributed by Serhiy Storchaka in :issue:`36917`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1680 -msgid "" -"The :func:`asyncio.coroutine` :term:`decorator` is deprecated and will be " -"removed in version 3.10. Instead of ``@asyncio.coroutine``, use " -":keyword:`async def` instead. (Contributed by Andrew Svetlov in " -":issue:`36921`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1685 -msgid "" -"In :mod:`asyncio`, the explicit passing of a *loop* argument has been " -"deprecated and will be removed in version 3.10 for the following: " -":func:`asyncio.sleep`, :func:`asyncio.gather`, :func:`asyncio.shield`, " -":func:`asyncio.wait_for`, :func:`asyncio.wait`, " -":func:`asyncio.as_completed`, :class:`asyncio.Task`, :class:`asyncio.Lock`, " -":class:`asyncio.Event`, :class:`asyncio.Condition`, " -":class:`asyncio.Semaphore`, :class:`asyncio.BoundedSemaphore`, " -":class:`asyncio.Queue`, :func:`asyncio.create_subprocess_exec`, and " -":func:`asyncio.create_subprocess_shell`." -msgstr "" - -#: ../../whatsnew/3.8.rst:1695 -msgid "" -"The explicit passing of coroutine objects to :func:`asyncio.wait` has been " -"deprecated and will be removed in version 3.11. (Contributed by Yury " -"Selivanov in :issue:`34790`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1699 -msgid "" -"The following functions and methods are deprecated in the :mod:`gettext` " -"module: :func:`~gettext.lgettext`, :func:`~gettext.ldgettext`, " -":func:`~gettext.lngettext` and :func:`~gettext.ldngettext`. They return " -"encoded bytes, and it's possible that you will get unexpected Unicode-" -"related exceptions if there are encoding problems with the translated " -"strings. It's much better to use alternatives which return Unicode strings " -"in Python 3. These functions have been broken for a long time." -msgstr "" - -#: ../../whatsnew/3.8.rst:1707 -msgid "" -"Function :func:`~gettext.bind_textdomain_codeset`, methods " -":meth:`~gettext.NullTranslations.output_charset` and " -":meth:`~gettext.NullTranslations.set_output_charset`, and the *codeset* " -"parameter of functions :func:`~gettext.translation` and " -":func:`~gettext.install` are also deprecated, since they are only used for " -"the ``l*gettext()`` functions. (Contributed by Serhiy Storchaka in " -":issue:`33710`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1715 -msgid "" -"The :meth:`~threading.Thread.isAlive` method of :class:`threading.Thread` " -"has been deprecated. (Contributed by Donghee Na in :issue:`35283`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1719 -msgid "" -"Many builtin and extension functions that take integer arguments will now " -"emit a deprecation warning for :class:`~decimal.Decimal`\\ s, " -":class:`~fractions.Fraction`\\ s and any other objects that can be converted" -" to integers only with a loss (e.g. that have the :meth:`~object.__int__` " -"method but do not have the :meth:`~object.__index__` method). In future " -"version they will be errors. (Contributed by Serhiy Storchaka in " -":issue:`36048`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1727 -msgid "Deprecated passing the following arguments as keyword arguments:" -msgstr "" - -#: ../../whatsnew/3.8.rst:1729 -msgid "" -"*func* in :func:`functools.partialmethod`, :func:`weakref.finalize`, " -":meth:`profile.Profile.runcall`, :meth:`cProfile.Profile.runcall`, " -":meth:`bdb.Bdb.runcall`, :meth:`trace.Trace.runfunc` and " -":func:`curses.wrapper`." -msgstr "" - -#: ../../whatsnew/3.8.rst:1733 -msgid "*function* in :meth:`unittest.TestCase.addCleanup`." -msgstr "" - -#: ../../whatsnew/3.8.rst:1734 -msgid "" -"*fn* in the :meth:`~concurrent.futures.Executor.submit` method of " -":class:`concurrent.futures.ThreadPoolExecutor` and " -":class:`concurrent.futures.ProcessPoolExecutor`." -msgstr "" - -#: ../../whatsnew/3.8.rst:1737 -msgid "" -"*callback* in :meth:`contextlib.ExitStack.callback`, " -":meth:`contextlib.AsyncExitStack.callback` and " -":meth:`contextlib.AsyncExitStack.push_async_callback`." -msgstr "" - -#: ../../whatsnew/3.8.rst:1740 -msgid "" -"*c* and *typeid* in the :meth:`~multiprocessing.managers.Server.create` " -"method of :class:`multiprocessing.managers.Server` and " -":class:`multiprocessing.managers.SharedMemoryServer`." -msgstr "" - -#: ../../whatsnew/3.8.rst:1743 -msgid "*obj* in :func:`weakref.finalize`." -msgstr "" - -#: ../../whatsnew/3.8.rst:1745 -msgid "" -"In future releases of Python, they will be :ref:`positional-only " -"`. (Contributed by Serhiy Storchaka in " -":issue:`36492`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1751 -msgid "API and Feature Removals" -msgstr "API dan Penghapusan Fitur" - -#: ../../whatsnew/3.8.rst:1753 -msgid "The following features and APIs have been removed from Python 3.8:" -msgstr "Fitur dan API berikut telah dihapus dari Python 3.8:" - -#: ../../whatsnew/3.8.rst:1755 -msgid "" -"Starting with Python 3.3, importing ABCs from :mod:`collections` was " -"deprecated, and importing should be done from :mod:`collections.abc`. Being " -"able to import from collections was marked for removal in 3.8, but has been " -"delayed to 3.9. (See :gh:`81134`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1760 -msgid "" -"The :mod:`macpath` module, deprecated in Python 3.7, has been removed. " -"(Contributed by Victor Stinner in :issue:`35471`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1763 ../../whatsnew/3.8.rst:1882 -msgid "" -"The function :func:`platform.popen` has been removed, after having been " -"deprecated since Python 3.3: use :func:`os.popen` instead. (Contributed by " -"Victor Stinner in :issue:`35345`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1767 -msgid "" -"The function :func:`time.clock` has been removed, after having been " -"deprecated since Python 3.3: use :func:`time.perf_counter` or " -":func:`time.process_time` instead, depending on your requirements, to have " -"well-defined behavior. (Contributed by Matthias Bussonnier in " -":issue:`36895`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1773 -msgid "" -"The ``pyvenv`` script has been removed in favor of ``python3.8 -m venv`` to " -"help eliminate confusion as to what Python interpreter the ``pyvenv`` script" -" is tied to. (Contributed by Brett Cannon in :issue:`25427`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1777 -msgid "" -"``parse_qs``, ``parse_qsl``, and ``escape`` are removed from the :mod:`!cgi`" -" module. They are deprecated in Python 3.2 or older. They should be " -"imported from the ``urllib.parse`` and ``html`` modules instead." -msgstr "" - -#: ../../whatsnew/3.8.rst:1781 -msgid "" -"``filemode`` function is removed from the :mod:`tarfile` module. It is not " -"documented and deprecated since Python 3.3." -msgstr "" - -#: ../../whatsnew/3.8.rst:1784 -msgid "" -"The :class:`~xml.etree.ElementTree.XMLParser` constructor no longer accepts " -"the *html* argument. It never had an effect and was deprecated in Python " -"3.4. All other parameters are now :ref:`keyword-only `. (Contributed by Serhiy Storchaka in :issue:`29209`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1789 -msgid "" -"Removed the ``doctype()`` method of " -":class:`~xml.etree.ElementTree.XMLParser`. (Contributed by Serhiy Storchaka " -"in :issue:`29209`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1792 -msgid "" -"\"unicode_internal\" codec is removed. (Contributed by Inada Naoki in " -":issue:`36297`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1795 -msgid "" -"The ``Cache`` and ``Statement`` objects of the :mod:`sqlite3` module are not" -" exposed to the user. (Contributed by Aviv Palivoda in :issue:`30262`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1799 -msgid "" -"The ``bufsize`` keyword argument of :func:`fileinput.input` and " -":func:`fileinput.FileInput` which was ignored and deprecated since Python " -"3.6 has been removed. :issue:`36952` (Contributed by Matthias Bussonnier.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1803 -msgid "" -"The functions :func:`sys.set_coroutine_wrapper` and " -":func:`sys.get_coroutine_wrapper` deprecated in Python 3.7 have been " -"removed; :issue:`36933` (Contributed by Matthias Bussonnier.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1809 -msgid "Porting to Python 3.8" -msgstr "" - -#: ../../whatsnew/3.8.rst:1811 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code." -msgstr "" - -#: ../../whatsnew/3.8.rst:1816 -msgid "Changes in Python behavior" -msgstr "Perubahan perilaku Python" - -#: ../../whatsnew/3.8.rst:1818 -msgid "" -"Yield expressions (both ``yield`` and ``yield from`` clauses) are now " -"disallowed in comprehensions and generator expressions (aside from the " -"iterable expression in the leftmost :keyword:`!for` clause). (Contributed by" -" Serhiy Storchaka in :issue:`10544`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1823 -msgid "" -"The compiler now produces a :exc:`SyntaxWarning` when identity checks " -"(``is`` and ``is not``) are used with certain types of literals (e.g. " -"strings, numbers). These can often work by accident in CPython, but are not" -" guaranteed by the language spec. The warning advises users to use equality" -" tests (``==`` and ``!=``) instead. (Contributed by Serhiy Storchaka in " -":issue:`34850`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1830 -msgid "" -"The CPython interpreter can swallow exceptions in some circumstances. In " -"Python 3.8 this happens in fewer cases. In particular, exceptions raised " -"when getting the attribute from the type dictionary are no longer ignored. " -"(Contributed by Serhiy Storchaka in :issue:`35459`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1835 -msgid "" -"Removed ``__str__`` implementations from builtin types :class:`bool`, " -":class:`int`, :class:`float`, :class:`complex` and few classes from the " -"standard library. They now inherit ``__str__()`` from :class:`object`. As " -"result, defining the ``__repr__()`` method in the subclass of these classes " -"will affect their string representation. (Contributed by Serhiy Storchaka in" -" :issue:`36793`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1842 -msgid "" -"On AIX, :data:`sys.platform` doesn't contain the major version anymore. It " -"is always ``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since older " -"Python versions include the version number, so it is recommended to always " -"use ``sys.platform.startswith('aix')``. (Contributed by M. Felt in " -":issue:`36588`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1848 -msgid "" -":c:func:`!PyEval_AcquireLock` and :c:func:`!PyEval_AcquireThread` now " -"terminate the current thread if called while the interpreter is finalizing, " -"making them consistent with :c:func:`PyEval_RestoreThread`, " -":c:func:`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`. If this " -"behavior is not desired, guard the call by checking " -":c:func:`!_Py_IsFinalizing` or :func:`sys.is_finalizing`. (Contributed by " -"Joannah Nanjekye in :issue:`36475`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1858 ../../whatsnew/3.8.rst:2321 -msgid "Changes in the Python API" -msgstr "Perubahan pada API Python" - -#: ../../whatsnew/3.8.rst:1860 -msgid "" -"The :func:`os.getcwdb` function now uses the UTF-8 encoding on Windows, " -"rather than the ANSI code page: see :pep:`529` for the rationale. The " -"function is no longer deprecated on Windows. (Contributed by Victor Stinner " -"in :issue:`37412`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1865 -msgid "" -":class:`subprocess.Popen` can now use :func:`os.posix_spawn` in some cases " -"for better performance. On Windows Subsystem for Linux and QEMU User " -"Emulation, the :class:`Popen` constructor using :func:`os.posix_spawn` no " -"longer raises an exception on errors like \"missing program\". Instead the " -"child process fails with a non-zero :attr:`~Popen.returncode`. (Contributed " -"by Joannah Nanjekye and Victor Stinner in :issue:`35537`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1872 -msgid "" -"The *preexec_fn* argument of * :class:`subprocess.Popen` is no longer " -"compatible with subinterpreters. The use of the parameter in a " -"subinterpreter now raises :exc:`RuntimeError`. (Contributed by Eric Snow in " -":issue:`34651`, modified by Christian Heimes in :issue:`37951`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1878 -msgid "" -"The :meth:`imap.IMAP4.logout` method no longer silently ignores arbitrary " -"exceptions. (Contributed by Victor Stinner in :issue:`36348`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1886 -msgid "" -"The :func:`statistics.mode` function no longer raises an exception when " -"given multimodal data. Instead, it returns the first mode encountered in " -"the input data. (Contributed by Raymond Hettinger in :issue:`35892`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1891 -msgid "" -"The :meth:`~tkinter.ttk.Treeview.selection` method of the " -":class:`tkinter.ttk.Treeview` class no longer takes arguments. Using it " -"with arguments for changing the selection was deprecated in Python 3.6. Use" -" specialized methods like :meth:`~tkinter.ttk.Treeview.selection_set` for " -"changing the selection. (Contributed by Serhiy Storchaka in " -":issue:`31508`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1897 -msgid "" -"The :meth:`writexml`, :meth:`toxml` and :meth:`toprettyxml` methods of " -":mod:`xml.dom.minidom`, and the :meth:`write` method of :mod:`xml.etree`, " -"now preserve the attribute order specified by the user. (Contributed by " -"Diego Rojas and Raymond Hettinger in :issue:`34160`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1902 -msgid "" -"A :mod:`dbm.dumb` database opened with flags ``'r'`` is now read-only. " -":func:`dbm.dumb.open` with flags ``'r'`` and ``'w'`` no longer creates a " -"database if it does not exist. (Contributed by Serhiy Storchaka in " -":issue:`32749`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1907 -msgid "" -"The ``doctype()`` method defined in a subclass of " -":class:`~xml.etree.ElementTree.XMLParser` will no longer be called and will " -"emit a :exc:`RuntimeWarning` instead of a :exc:`DeprecationWarning`. Define " -"the :meth:`doctype() ` method on " -"a target for handling an XML doctype declaration. (Contributed by Serhiy " -"Storchaka in :issue:`29209`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1914 -msgid "" -"A :exc:`RuntimeError` is now raised when the custom metaclass doesn't " -"provide the ``__classcell__`` entry in the namespace passed to " -"``type.__new__``. A :exc:`DeprecationWarning` was emitted in Python 3.6--" -"3.7. (Contributed by Serhiy Storchaka in :issue:`23722`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1919 -msgid "" -"The :class:`cProfile.Profile` class can now be used as a context manager. " -"(Contributed by Scott Sanderson in :issue:`29235`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1922 -msgid "" -":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, " -":func:`shutil.copytree` and :func:`shutil.move` use platform-specific " -"\"fast-copy\" syscalls (see :ref:`shutil-platform-dependent-efficient-copy-" -"operations` section)." -msgstr "" - -#: ../../whatsnew/3.8.rst:1927 -msgid "" -":func:`shutil.copyfile` default buffer size on Windows was changed from 16 " -"KiB to 1 MiB." -msgstr "" - -#: ../../whatsnew/3.8.rst:1930 -msgid "" -"The ``PyGC_Head`` struct has changed completely. All code that touched the " -"struct member should be rewritten. (See :issue:`33597`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1933 -msgid "" -"The :c:type:`PyInterpreterState` struct has been moved into the \"internal\"" -" header files (specifically Include/internal/pycore_pystate.h). An opaque " -"``PyInterpreterState`` is still available as part of the public API (and " -"stable ABI). The docs indicate that none of the struct's fields are public," -" so we hope no one has been using them. However, if you do rely on one or " -"more of those private fields and have no alternative then please open a BPO " -"issue. We'll work on helping you adjust (possibly including adding accessor" -" functions to the public API). (See :issue:`35886`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1943 -msgid "" -"The :meth:`mmap.flush() ` method now returns ``None`` on " -"success and raises an exception on error under all platforms. Previously, " -"its behavior was platform-dependent: a nonzero value was returned on " -"success; zero was returned on error under Windows. A zero value was " -"returned on success; an exception was raised on error under Unix. " -"(Contributed by Berker Peksag in :issue:`2122`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1950 -msgid "" -":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external" -" entities by default. (Contributed by Christian Heimes in :issue:`17239`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1954 -msgid "" -"Deleting a key from a read-only :mod:`dbm` database (:mod:`dbm.dumb`, " -":mod:`dbm.gnu` or :mod:`dbm.ndbm`) raises :attr:`error` " -"(:exc:`dbm.dumb.error`, :exc:`dbm.gnu.error` or :exc:`dbm.ndbm.error`) " -"instead of :exc:`KeyError`. (Contributed by Xiang Zhang in :issue:`33106`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1959 -msgid "" -"Simplified AST for literals. All constants will be represented as " -":class:`ast.Constant` instances. Instantiating old classes ``Num``, " -"``Str``, ``Bytes``, ``NameConstant`` and ``Ellipsis`` will return an " -"instance of ``Constant``. (Contributed by Serhiy Storchaka in " -":issue:`32892`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1975 -msgid "" -"The function :func:`asyncio.wait_for` now correctly waits for cancellation " -"when using an instance of :class:`asyncio.Task`. Previously, upon reaching " -"*timeout*, it was cancelled and immediately returned. (Contributed by Elvis " -"Pranskevichus in :issue:`32751`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1980 -msgid "" -"The function :func:`asyncio.BaseTransport.get_extra_info` now returns a safe" -" to use socket object when 'socket' is passed to the *name* parameter. " -"(Contributed by Yury Selivanov in :issue:`37027`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:1984 -msgid ":class:`asyncio.BufferedProtocol` has graduated to the stable API." -msgstr "" - -#: ../../whatsnew/3.8.rst:1988 -msgid "" -"DLL dependencies for extension modules and DLLs loaded with :mod:`ctypes` on" -" Windows are now resolved more securely. Only the system paths, the " -"directory containing the DLL or PYD file, and directories added with " -":func:`~os.add_dll_directory` are searched for load-time dependencies. " -"Specifically, :envvar:`PATH` and the current working directory are no longer" -" used, and modifications to these will no longer have any effect on normal " -"DLL resolution. If your application relies on these mechanisms, you should " -"check for :func:`~os.add_dll_directory` and if it exists, use it to add your" -" DLLs directory while loading your library. Note that Windows 7 users will " -"need to ensure that Windows Update KB2533623 has been installed (this is " -"also verified by the installer). (Contributed by Steve Dower in " -":issue:`36085`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2001 -msgid "" -"The header files and functions related to pgen have been removed after its " -"replacement by a pure Python implementation. (Contributed by Pablo Galindo " -"in :issue:`36623`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2005 -msgid "" -":class:`types.CodeType` has a new parameter in the second position of the " -"constructor (*posonlyargcount*) to support positional-only arguments defined" -" in :pep:`570`. The first argument (*argcount*) now represents the total " -"number of positional arguments (including positional-only arguments). The " -"new ``replace()`` method of :class:`types.CodeType` can be used to make the " -"code future-proof." -msgstr "" - -#: ../../whatsnew/3.8.rst:2012 -msgid "" -"The parameter ``digestmod`` for :func:`hmac.new` no longer uses the MD5 " -"digest by default." -msgstr "" - -#: ../../whatsnew/3.8.rst:2016 -msgid "Changes in the C API" -msgstr "Perubahan dalam API C" - -#: ../../whatsnew/3.8.rst:2018 -msgid "" -"The :c:struct:`PyCompilerFlags` structure got a new *cf_feature_version* " -"field. It should be initialized to ``PY_MINOR_VERSION``. The field is " -"ignored by default, and is used if and only if ``PyCF_ONLY_AST`` flag is set" -" in *cf_flags*. (Contributed by Guido van Rossum in :issue:`35766`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2024 -msgid "" -"The :c:func:`!PyEval_ReInitThreads` function has been removed from the C " -"API. It should not be called explicitly: use :c:func:`PyOS_AfterFork_Child` " -"instead. (Contributed by Victor Stinner in :issue:`36728`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2029 -msgid "" -"On Unix, C extensions are no longer linked to libpython except on Android " -"and Cygwin. When Python is embedded, ``libpython`` must not be loaded with " -"``RTLD_LOCAL``, but ``RTLD_GLOBAL`` instead. Previously, using " -"``RTLD_LOCAL``, it was already not possible to load C extensions which were " -"not linked to ``libpython``, like C extensions of the standard library built" -" by the ``*shared*`` section of ``Modules/Setup``. (Contributed by Victor " -"Stinner in :issue:`21536`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2037 -msgid "" -"Use of ``#`` variants of formats in parsing or building value (e.g. " -":c:func:`PyArg_ParseTuple`, :c:func:`Py_BuildValue`, " -":c:func:`PyObject_CallFunction`, etc.) without ``PY_SSIZE_T_CLEAN`` defined " -"raises ``DeprecationWarning`` now. It will be removed in 3.10 or 4.0. Read " -":ref:`arg-parsing` for detail. (Contributed by Inada Naoki in " -":issue:`36381`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2043 -msgid "" -"Instances of heap-allocated types (such as those created with " -":c:func:`PyType_FromSpec`) hold a reference to their type object. Increasing" -" the reference count of these type objects has been moved from " -":c:func:`PyType_GenericAlloc` to the more low-level functions, " -":c:func:`PyObject_Init` and :c:func:`PyObject_INIT`. This makes types " -"created through :c:func:`PyType_FromSpec` behave like other classes in " -"managed code." -msgstr "" - -#: ../../whatsnew/3.8.rst:2051 -msgid ":ref:`Statically allocated types ` are not affected." -msgstr "" - -#: ../../whatsnew/3.8.rst:2053 -msgid "" -"For the vast majority of cases, there should be no side effect. However, " -"types that manually increase the reference count after allocating an " -"instance (perhaps to work around the bug) may now become immortal. To avoid " -"this, these classes need to call Py_DECREF on the type object during " -"instance deallocation." -msgstr "" - -#: ../../whatsnew/3.8.rst:2059 -msgid "" -"To correctly port these types into 3.8, please apply the following changes:" -msgstr "" - -#: ../../whatsnew/3.8.rst:2062 -msgid "" -"Remove :c:macro:`Py_INCREF` on the type object after allocating an instance " -"- if any. This may happen after calling :c:macro:`PyObject_New`, " -":c:macro:`PyObject_NewVar`, :c:func:`PyObject_GC_New`, " -":c:func:`PyObject_GC_NewVar`, or any other custom allocator that uses " -":c:func:`PyObject_Init` or :c:func:`PyObject_INIT`." -msgstr "" - -#: ../../whatsnew/3.8.rst:2069 ../../whatsnew/3.8.rst:2088 -#: ../../whatsnew/3.8.rst:2107 -msgid "Example:" -msgstr "Contoh:" - -#: ../../whatsnew/3.8.rst:2071 -msgid "" -"static foo_struct *\n" -"foo_new(PyObject *type) {\n" -" foo_struct *foo = PyObject_GC_New(foo_struct, (PyTypeObject *) type);\n" -" if (foo == NULL)\n" -" return NULL;\n" -"#if PY_VERSION_HEX < 0x03080000\n" -" // Workaround for Python issue 35810; no longer necessary in Python 3.8\n" -" PY_INCREF(type)\n" -"#endif\n" -" return foo;\n" -"}" -msgstr "" - -#: ../../whatsnew/3.8.rst:2085 -msgid "" -"Ensure that all custom ``tp_dealloc`` functions of heap-allocated types " -"decrease the type's reference count." -msgstr "" - -#: ../../whatsnew/3.8.rst:2090 -msgid "" -"static void\n" -"foo_dealloc(foo_struct *instance) {\n" -" PyObject *type = Py_TYPE(instance);\n" -" PyObject_GC_Del(instance);\n" -"#if PY_VERSION_HEX >= 0x03080000\n" -" // This was not needed before Python 3.8 (Python issue 35810)\n" -" Py_DECREF(type);\n" -"#endif\n" -"}" -msgstr "" - -#: ../../whatsnew/3.8.rst:2102 -msgid "(Contributed by Eddie Elizondo in :issue:`35810`.)" -msgstr "(Kontribusi dari Eddie Elizondo di :issue:`35810`.)" - -#: ../../whatsnew/3.8.rst:2104 -msgid "" -"The :c:macro:`Py_DEPRECATED()` macro has been implemented for MSVC. The " -"macro now must be placed before the symbol name." -msgstr "" - -#: ../../whatsnew/3.8.rst:2109 -msgid "Py_DEPRECATED(3.8) PyAPI_FUNC(int) Py_OldFunction(void);" -msgstr "" - -#: ../../whatsnew/3.8.rst:2113 -msgid "(Contributed by Zackery Spytz in :issue:`33407`.)" -msgstr "(Kontribusi dari Zackery Spytz di :issue:`33407`.)" - -#: ../../whatsnew/3.8.rst:2115 -msgid "" -"The interpreter does not pretend to support binary compatibility of " -"extension types across feature releases, anymore. A :c:type:`PyTypeObject` " -"exported by a third-party extension module is supposed to have all the slots" -" expected in the current Python version, including " -":c:member:`~PyTypeObject.tp_finalize` (:c:macro:`Py_TPFLAGS_HAVE_FINALIZE` " -"is not checked anymore before reading " -":c:member:`~PyTypeObject.tp_finalize`)." -msgstr "" - -#: ../../whatsnew/3.8.rst:2122 -msgid "(Contributed by Antoine Pitrou in :issue:`32388`.)" -msgstr "(Kontribusi dari Antoine Pitrou di :issue:`32388`.)" - -#: ../../whatsnew/3.8.rst:2124 -msgid "" -"The functions :c:func:`!PyNode_AddChild` and :c:func:`!PyParser_AddToken` " -"now accept two additional ``int`` arguments *end_lineno* and " -"*end_col_offset*." -msgstr "" - -#: ../../whatsnew/3.8.rst:2127 -msgid "" -"The :file:`libpython38.a` file to allow MinGW tools to link directly against" -" :file:`python38.dll` is no longer included in the regular Windows " -"distribution. If you require this file, it may be generated with the " -"``gendef`` and ``dlltool`` tools, which are part of the MinGW binutils " -"package:" -msgstr "" - -#: ../../whatsnew/3.8.rst:2132 -msgid "" -"gendef - python38.dll > tmp.def\n" -"dlltool --dllname python38.dll --def tmp.def --output-lib libpython38.a" -msgstr "" - -#: ../../whatsnew/3.8.rst:2137 -msgid "" -"The location of an installed :file:`pythonXY.dll` will depend on the " -"installation options and the version and language of Windows. See " -":ref:`using-on-windows` for more information. The resulting library should " -"be placed in the same directory as :file:`pythonXY.lib`, which is generally " -"the :file:`libs` directory under your Python installation." -msgstr "" - -#: ../../whatsnew/3.8.rst:2143 -msgid "(Contributed by Steve Dower in :issue:`37351`.)" -msgstr "(Kontribusi dari Steve Dower di :issue:`37351`.)" - -#: ../../whatsnew/3.8.rst:2147 -msgid "CPython bytecode changes" -msgstr "Perubahan bytecode CPython" - -#: ../../whatsnew/3.8.rst:2149 -msgid "" -"The interpreter loop has been simplified by moving the logic of unrolling " -"the stack of blocks into the compiler. The compiler emits now explicit " -"instructions for adjusting the stack of values and calling the cleaning-up " -"code for :keyword:`break`, :keyword:`continue` and :keyword:`return`." -msgstr "" - -#: ../../whatsnew/3.8.rst:2155 -msgid "" -"Removed opcodes :opcode:`!BREAK_LOOP`, :opcode:`!CONTINUE_LOOP`, " -":opcode:`!SETUP_LOOP` and :opcode:`!SETUP_EXCEPT`. Added new opcodes " -":opcode:`!ROT_FOUR`, :opcode:`!BEGIN_FINALLY`, :opcode:`!CALL_FINALLY` and " -":opcode:`!POP_FINALLY`. Changed the behavior of :opcode:`!END_FINALLY` and " -":opcode:`!WITH_CLEANUP_START`." -msgstr "" - -#: ../../whatsnew/3.8.rst:2161 -msgid "" -"(Contributed by Mark Shannon, Antoine Pitrou and Serhiy Storchaka in " -":issue:`17611`.)" -msgstr "" -"(Kontribusi dari Mark Shannon, Antoine Pitrou dan Serhiy Storchaka di " -":issue:`17611`.)" - -#: ../../whatsnew/3.8.rst:2164 -msgid "" -"Added new opcode :opcode:`END_ASYNC_FOR` for handling exceptions raised when" -" awaiting a next item in an :keyword:`async for` loop. (Contributed by " -"Serhiy Storchaka in :issue:`33041`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2168 -msgid "" -"The :opcode:`MAP_ADD` now expects the value as the first element in the " -"stack and the key as the second element. This change was made so the key is " -"always evaluated before the value in dictionary comprehensions, as proposed " -"by :pep:`572`. (Contributed by Jörn Heissler in :issue:`35224`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2175 -msgid "Demos and Tools" -msgstr "Demo dan Alat" - -#: ../../whatsnew/3.8.rst:2177 -msgid "" -"Added a benchmark script for timing various ways to access variables: " -"``Tools/scripts/var_access_benchmark.py``. (Contributed by Raymond Hettinger" -" in :issue:`35884`.)" -msgstr "" -"Menambahkan skrip patokan atau *benchmark* untuk menentukan waktu berbagai " -"cara untuk mengakses variabel: ``Tools/scripts/var_access_benchmark.py``. " -"(Dikontribusikan oleh Raymond Hettinger di :issue:`35884`.)" - -#: ../../whatsnew/3.8.rst:2181 -msgid "Here's a summary of performance improvements since Python 3.3:" -msgstr "" - -#: ../../whatsnew/3.8.rst:2183 -msgid "" -"Python version 3.3 3.4 3.5 3.6 3.7 3.8\n" -"-------------- --- --- --- --- --- ---\n" -"\n" -"Variable and attribute read access:\n" -" read_local 4.0 7.1 7.1 5.4 5.1 3.9\n" -" read_nonlocal 5.3 7.1 8.1 5.8 5.4 4.4\n" -" read_global 13.3 15.5 19.0 14.3 13.6 7.6\n" -" read_builtin 20.0 21.1 21.6 18.5 19.0 7.5\n" -" read_classvar_from_class 20.5 25.6 26.5 20.7 19.5 18.4\n" -" read_classvar_from_instance 18.5 22.8 23.5 18.8 17.1 16.4\n" -" read_instancevar 26.8 32.4 33.1 28.0 26.3 25.4\n" -" read_instancevar_slots 23.7 27.8 31.3 20.8 20.8 20.2\n" -" read_namedtuple 68.5 73.8 57.5 45.0 46.8 18.4\n" -" read_boundmethod 29.8 37.6 37.9 29.6 26.9 27.7\n" -"\n" -"Variable and attribute write access:\n" -" write_local 4.6 8.7 9.3 5.5 5.3 4.3\n" -" write_nonlocal 7.3 10.5 11.1 5.6 5.5 4.7\n" -" write_global 15.9 19.7 21.2 18.0 18.0 15.8\n" -" write_classvar 81.9 92.9 96.0 104.6 102.1 39.2\n" -" write_instancevar 36.4 44.6 45.8 40.0 38.9 35.5\n" -" write_instancevar_slots 28.7 35.6 36.1 27.3 26.6 25.7\n" -"\n" -"Data structure read access:\n" -" read_list 19.2 24.2 24.5 20.8 20.8 19.0\n" -" read_deque 19.9 24.7 25.5 20.2 20.6 19.8\n" -" read_dict 19.7 24.3 25.7 22.3 23.0 21.0\n" -" read_strdict 17.9 22.6 24.3 19.5 21.2 18.9\n" -"\n" -"Data structure write access:\n" -" write_list 21.2 27.1 28.5 22.5 21.6 20.0\n" -" write_deque 23.8 28.7 30.1 22.7 21.8 23.5\n" -" write_dict 25.9 31.4 33.3 29.3 29.2 24.7\n" -" write_strdict 22.9 28.4 29.9 27.5 25.2 23.1\n" -"\n" -"Stack (or queue) operations:\n" -" list_append_pop 144.2 93.4 112.7 75.4 74.2 50.8\n" -" deque_append_pop 30.4 43.5 57.0 49.4 49.2 42.5\n" -" deque_append_popleft 30.8 43.7 57.3 49.7 49.7 42.8\n" -"\n" -"Timing loop:\n" -" loop_overhead 0.3 0.5 0.6 0.4 0.3 0.3" -msgstr "" - -#: ../../whatsnew/3.8.rst:2228 -msgid "" -"The benchmarks were measured on an `Intel® Core™ i7-4960HQ processor " -"`_ running the macOS " -"64-bit builds found at `python.org " -"`_. The benchmark script displays " -"timings in nanoseconds." -msgstr "" - -#: ../../whatsnew/3.8.rst:2237 -msgid "Notable changes in Python 3.8.1" -msgstr "" - -#: ../../whatsnew/3.8.rst:2239 -msgid "" -"Due to significant security concerns, the *reuse_address* parameter of " -":meth:`asyncio.loop.create_datagram_endpoint` is no longer supported. This " -"is because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For" -" more details, see the documentation for " -"``loop.create_datagram_endpoint()``. (Contributed by Kyle Stanley, Antoine " -"Pitrou, and Yury Selivanov in :issue:`37228`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2247 -msgid "Notable changes in Python 3.8.2" -msgstr "" - -#: ../../whatsnew/3.8.rst:2249 -msgid "" -"Fixed a regression with the ``ignore`` callback of :func:`shutil.copytree`. " -"The argument types are now str and List[str] again. (Contributed by Manuel " -"Barkhau and Giampaolo Rodola in :gh:`83571`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2254 -msgid "Notable changes in Python 3.8.3" -msgstr "" - -#: ../../whatsnew/3.8.rst:2256 -msgid "" -"The constant values of future flags in the :mod:`__future__` module are " -"updated in order to prevent collision with compiler flags. Previously " -"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was clashing with ``CO_FUTURE_DIVISION``. " -"(Contributed by Batuhan Taskaya in :gh:`83743`)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2262 -msgid "Notable changes in Python 3.8.8" -msgstr "" - -#: ../../whatsnew/3.8.rst:2264 -msgid "" -"Earlier Python versions allowed using both ``;`` and ``&`` as query " -"parameter separators in :func:`urllib.parse.parse_qs` and " -":func:`urllib.parse.parse_qsl`. Due to security concerns, and to conform " -"with newer W3C recommendations, this has been changed to allow only a single" -" separator key, with ``&`` as the default. This change also affects " -":func:`!cgi.parse` and :func:`!cgi.parse_multipart` as they use the affected" -" functions internally. For more details, please see their respective " -"documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin" -" in :issue:`42967`.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2275 -msgid "Notable changes in Python 3.8.9" -msgstr "" - -#: ../../whatsnew/3.8.rst:2277 -msgid "" -"A security fix alters the :class:`ftplib.FTP` behavior to not trust the IPv4" -" address sent from the remote server when setting up a passive data channel." -" We reuse the ftp server IP address instead. For unusual code requiring " -"the old behavior, set a ``trust_server_pasv_ipv4_address`` attribute on your" -" FTP instance to ``True``. (See :gh:`87451`)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2284 ../../whatsnew/3.8.rst:2304 -msgid "Notable changes in Python 3.8.10" -msgstr "" - -#: ../../whatsnew/3.8.rst:2287 -msgid "macOS 11.0 (Big Sur) and Apple Silicon Mac support" -msgstr "" - -#: ../../whatsnew/3.8.rst:2289 -msgid "" -"As of 3.8.10, Python now supports building and running on macOS 11 (Big Sur)" -" and on Apple Silicon Macs (based on the ``ARM64`` architecture). A new " -"universal build variant, ``universal2``, is now available to natively " -"support both ``ARM64`` and ``Intel 64`` in one set of executables. Note that" -" support for \"weaklinking\", building binaries targeted for newer versions " -"of macOS that will also run correctly on older versions by testing at " -"runtime for missing features, is not included in this backport from Python " -"3.9; to support a range of macOS versions, continue to target for and build " -"on the oldest version in the range." -msgstr "" - -#: ../../whatsnew/3.8.rst:2299 -msgid "" -"(Originally contributed by Ronald Oussoren and Lawrence D'Anna in " -":gh:`85272`, with fixes by FX Coudert and Eli Rykoff, and backported to 3.8 " -"by Maxime Bélanger and Ned Deily)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2307 -msgid "urllib.parse" -msgstr "urllib.parse" - -#: ../../whatsnew/3.8.rst:2309 -msgid "" -"The presence of newline or tab characters in parts of a URL allows for some " -"forms of attacks. Following the WHATWG specification that updates " -":rfc:`3986`, ASCII newline ``\\n``, ``\\r`` and tab ``\\t`` characters are " -"stripped from the URL by the parser in :mod:`urllib.parse` preventing such " -"attacks. The removal characters are controlled by a new module level " -"variable ``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. (See :issue:`43882`)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2318 -msgid "Notable changes in Python 3.8.12" -msgstr "" - -#: ../../whatsnew/3.8.rst:2323 -msgid "" -"Starting with Python 3.8.12 the :mod:`ipaddress` module no longer accepts " -"any leading zeros in IPv4 address strings. Leading zeros are ambiguous and " -"interpreted as octal notation by some libraries. For example the legacy " -"function :func:`socket.inet_aton` treats leading zeros as octal notation. " -"glibc implementation of modern :func:`~socket.inet_pton` does not accept any" -" leading zeros." -msgstr "" - -#: ../../whatsnew/3.8.rst:2330 -msgid "" -"(Originally contributed by Christian Heimes in :issue:`36384`, and " -"backported to 3.8 by Achraf Merzouki.)" -msgstr "" - -#: ../../whatsnew/3.8.rst:2334 -msgid "Notable security feature in 3.8.14" -msgstr "" - -#: ../../whatsnew/3.8.rst:2336 -msgid "" -"Converting between :class:`int` and :class:`str` in bases other than 2 " -"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " -"now raises a :exc:`ValueError` if the number of digits in string form is " -"above a limit to avoid potential denial of service attacks due to the " -"algorithmic complexity. This is a mitigation for :cve:`2020-10735`. This " -"limit can be configured or disabled by environment variable, command line " -"flag, or :mod:`sys` APIs. See the :ref:`integer string conversion length " -"limitation ` documentation. The default limit is 4300 " -"digits in string form." -msgstr "" - -#: ../../whatsnew/3.8.rst:2347 -msgid "Notable changes in 3.8.17" -msgstr "" - -#: ../../whatsnew/3.8.rst:2352 -msgid "" -"The extraction methods in :mod:`tarfile`, and :func:`shutil.unpack_archive`," -" have a new a *filter* argument that allows limiting tar features than may " -"be surprising or dangerous, such as creating files outside the destination " -"directory. See :ref:`tarfile-extraction-filter` for details. In Python 3.12," -" use without the *filter* argument will show a :exc:`DeprecationWarning`. In" -" Python 3.14, the default will switch to ``'data'``. (Contributed by Petr " -"Viktorin in :pep:`706`.)" -msgstr "" diff --git a/python-newest.whatsnew--3_9/id.po b/python-newest.whatsnew--3_9/id.po deleted file mode 100644 index 41e680e..0000000 --- a/python-newest.whatsnew--3_9/id.po +++ /dev/null @@ -1,2522 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Elmo , 2021 -# oon arfiandwi , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: oon arfiandwi , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/3.9.rst:3 -msgid "What's New In Python 3.9" -msgstr "Apa yang Baru di Python 3.9" - -#: ../../whatsnew/3.9.rst:0 -msgid "Editor" -msgstr "Editor" - -#: ../../whatsnew/3.9.rst:5 -msgid "Łukasz Langa" -msgstr "Łukasz Langa" - -#: ../../whatsnew/3.9.rst:45 -msgid "" -"This article explains the new features in Python 3.9, compared to 3.8. " -"Python 3.9 was released on October 5, 2020. For full details, see the " -":ref:`changelog `." -msgstr "" - -#: ../../whatsnew/3.9.rst:51 -msgid ":pep:`596` - Python 3.9 Release Schedule" -msgstr ":pep:`596` - Jadwal Rilis Python 3.9" - -#: ../../whatsnew/3.9.rst:55 -msgid "Summary -- Release highlights" -msgstr "Ringkasan -- Sorotan Rilis" - -#: ../../whatsnew/3.9.rst:60 -msgid "New syntax features:" -msgstr "Fitur sintaks baru:" - -#: ../../whatsnew/3.9.rst:62 -msgid ":pep:`584`, union operators added to ``dict``;" -msgstr "" - -#: ../../whatsnew/3.9.rst:63 -msgid ":pep:`585`, type hinting generics in standard collections;" -msgstr "" - -#: ../../whatsnew/3.9.rst:64 -msgid ":pep:`614`, relaxed grammar restrictions on decorators." -msgstr "" - -#: ../../whatsnew/3.9.rst:66 -msgid "New built-in features:" -msgstr "Fitur bawaan baru:" - -#: ../../whatsnew/3.9.rst:68 -msgid ":pep:`616`, string methods to remove prefixes and suffixes." -msgstr ":pep: `616`, metode string untuk menghapus prefiks dan sufiks." - -#: ../../whatsnew/3.9.rst:70 -msgid "New features in the standard library:" -msgstr "Fitur baru di pustaka standar:" - -#: ../../whatsnew/3.9.rst:72 -msgid ":pep:`593`, flexible function and variable annotations;" -msgstr ":pep: `593`, fungsi fleksibel dan penjelasan variabel;" - -#: ../../whatsnew/3.9.rst:73 -msgid "" -":func:`os.pidfd_open` added that allows process management without races and" -" signals." -msgstr "" - -#: ../../whatsnew/3.9.rst:76 -msgid "Interpreter improvements:" -msgstr "Peningkatan Interpreter:" - -#: ../../whatsnew/3.9.rst:78 -msgid "" -":pep:`573`, fast access to module state from methods of C extension types;" -msgstr "" - -#: ../../whatsnew/3.9.rst:80 -msgid ":pep:`617`, CPython now uses a new parser based on PEG;" -msgstr "" -":pep: `617`, CPython sekarang menggunakan parser baru berdasarkan PEG;" - -#: ../../whatsnew/3.9.rst:81 -msgid "" -"a number of Python builtins (range, tuple, set, frozenset, list, dict) are " -"now sped up using :pep:`590` vectorcall;" -msgstr "" -"sejumlah bawaan Python (range, tuple, set, frozenset, list, dict) sekarang " -"dipercepat menggunakan :pep: `590` vectorcall;" - -#: ../../whatsnew/3.9.rst:83 -msgid "garbage collection does not block on resurrected objects;" -msgstr "pengumpulan sampah tidak memblokir objek yang dibangkitkan;" - -#: ../../whatsnew/3.9.rst:84 -msgid "" -"a number of Python modules (:mod:`!_abc`, :mod:`!audioop`, :mod:`!_bz2`, " -":mod:`!_codecs`, :mod:`!_contextvars`, :mod:`!_crypt`, :mod:`!_functools`, " -":mod:`!_json`, :mod:`!_locale`, :mod:`math`, :mod:`operator`, " -":mod:`resource`, :mod:`time`, :mod:`!_weakref`) now use multiphase " -"initialization as defined by PEP 489;" -msgstr "" - -#: ../../whatsnew/3.9.rst:89 -msgid "" -"a number of standard library modules (:mod:`!audioop`, :mod:`ast`, " -":mod:`grp`, :mod:`!_hashlib`, :mod:`pwd`, :mod:`!_posixsubprocess`, " -":mod:`random`, :mod:`select`, :mod:`struct`, :mod:`termios`, :mod:`zlib`) " -"are now using the stable ABI defined by PEP 384." -msgstr "" - -#: ../../whatsnew/3.9.rst:94 -msgid "New library modules:" -msgstr "Modul pustaka baru:" - -#: ../../whatsnew/3.9.rst:96 -msgid "" -":pep:`615`, the IANA Time Zone Database is now present in the standard " -"library in the :mod:`zoneinfo` module;" -msgstr "" -":pep:`615`, Basis Data Zona Waktu IANA sekarang ada di pustaka standar di " -"modul :mod:`zoneinfo` module;" - -#: ../../whatsnew/3.9.rst:98 -msgid "" -"an implementation of a topological sort of a graph is now provided in the " -"new :mod:`graphlib` module." -msgstr "" -"implementasi semacam topologi grafik sekarang tersedia di modul baru " -":mod:`graphlib`." - -#: ../../whatsnew/3.9.rst:101 -msgid "Release process changes:" -msgstr "Perubahan proses rilis:" - -#: ../../whatsnew/3.9.rst:103 -msgid ":pep:`602`, CPython adopts an annual release cycle." -msgstr ":pep:`602`, CPython mengadopsi siklus rilis tahunan." - -#: ../../whatsnew/3.9.rst:107 -msgid "You should check for DeprecationWarning in your code" -msgstr "Anda harus memeriksa DeprecationWarning di kode Anda" - -#: ../../whatsnew/3.9.rst:109 -msgid "" -"When Python 2.7 was still supported, a lot of functionality in Python 3 was " -"kept for backward compatibility with Python 2.7. With the end of Python 2 " -"support, these backward compatibility layers have been removed, or will be " -"removed soon. Most of them emitted a :exc:`DeprecationWarning` warning for " -"several years. For example, using ``collections.Mapping`` instead of " -"``collections.abc.Mapping`` emits a :exc:`DeprecationWarning` since Python " -"3.3, released in 2012." -msgstr "" - -#: ../../whatsnew/3.9.rst:117 -msgid "" -"Test your application with the :option:`-W` ``default`` command-line option " -"to see :exc:`DeprecationWarning` and :exc:`PendingDeprecationWarning`, or " -"even with :option:`-W` ``error`` to treat them as errors. :ref:`Warnings " -"Filter ` can be used to ignore warnings from third-party " -"code." -msgstr "" - -#: ../../whatsnew/3.9.rst:122 -msgid "" -"Python 3.9 is the last version providing those Python 2 backward " -"compatibility layers, to give more time to Python projects maintainers to " -"organize the removal of the Python 2 support and add support for Python 3.9." -msgstr "" - -#: ../../whatsnew/3.9.rst:126 -msgid "" -"Aliases to :ref:`Abstract Base Classes ` " -"in the :mod:`collections` module, like ``collections.Mapping`` alias to " -":class:`collections.abc.Mapping`, are kept for one last release for backward" -" compatibility. They will be removed from Python 3.10." -msgstr "" - -#: ../../whatsnew/3.9.rst:131 -msgid "" -"More generally, try to run your tests in the :ref:`Python Development Mode " -"` which helps to prepare your code to make it compatible with the " -"next Python version." -msgstr "" - -#: ../../whatsnew/3.9.rst:135 -msgid "" -"Note: a number of pre-existing deprecations were removed in this version of " -"Python as well. Consult the :ref:`removed-in-python-39` section." -msgstr "" - -#: ../../whatsnew/3.9.rst:140 ../../whatsnew/3.9.rst:1272 -msgid "New Features" -msgstr "Fitur-fitur Baru" - -#: ../../whatsnew/3.9.rst:143 -msgid "Dictionary Merge & Update Operators" -msgstr "" - -#: ../../whatsnew/3.9.rst:145 -msgid "" -"Merge (``|``) and update (``|=``) operators have been added to the built-in " -":class:`dict` class. Those complement the existing ``dict.update`` and " -"``{**d1, **d2}`` methods of merging dictionaries." -msgstr "" - -#: ../../whatsnew/3.9.rst:149 ../../whatsnew/3.9.rst:282 -msgid "Example::" -msgstr "Contoh::" - -#: ../../whatsnew/3.9.rst:151 -msgid "" -">>> x = {\"key1\": \"value1 from x\", \"key2\": \"value2 from x\"}\n" -">>> y = {\"key2\": \"value2 from y\", \"key3\": \"value3 from y\"}\n" -">>> x | y\n" -"{'key1': 'value1 from x', 'key2': 'value2 from y', 'key3': 'value3 from y'}\n" -">>> y | x\n" -"{'key2': 'value2 from x', 'key3': 'value3 from y', 'key1': 'value1 from x'}" -msgstr "" - -#: ../../whatsnew/3.9.rst:158 -msgid "" -"See :pep:`584` for a full description. (Contributed by Brandt Bucher in " -":issue:`36144`.)" -msgstr "" -"Lihat :pep:`584` untuk penjelasan lengkap. (Kontribusi oleh Brandt Bucher di" -" :issue:`36144`.)" - -#: ../../whatsnew/3.9.rst:162 -msgid "New String Methods to Remove Prefixes and Suffixes" -msgstr "Metode String Baru untuk Menghapus Prefiks dan Sufiks" - -#: ../../whatsnew/3.9.rst:164 -msgid "" -":meth:`str.removeprefix(prefix)` and " -":meth:`str.removesuffix(suffix)` have been added to easily" -" remove an unneeded prefix or a suffix from a string. Corresponding " -"``bytes``, ``bytearray``, and ``collections.UserString`` methods have also " -"been added. See :pep:`616` for a full description. (Contributed by Dennis " -"Sweeney in :issue:`39939`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:172 -msgid "Type Hinting Generics in Standard Collections" -msgstr "" - -#: ../../whatsnew/3.9.rst:174 -msgid "" -"In type annotations you can now use built-in collection types such as " -"``list`` and ``dict`` as generic types instead of importing the " -"corresponding capitalized types (e.g. ``List`` or ``Dict``) from ``typing``." -" Some other types in the standard library are also now generic, for example" -" ``queue.Queue``." -msgstr "" - -#: ../../whatsnew/3.9.rst:180 ../../whatsnew/3.9.rst:1159 -msgid "Example:" -msgstr "Contoh:" - -#: ../../whatsnew/3.9.rst:182 -msgid "" -"def greet_all(names: list[str]) -> None:\n" -" for name in names:\n" -" print(\"Hello\", name)" -msgstr "" - -#: ../../whatsnew/3.9.rst:188 -msgid "" -"See :pep:`585` for more details. (Contributed by Guido van Rossum, Ethan " -"Smith, and Batuhan Taşkaya in :issue:`39481`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:192 -msgid "New Parser" -msgstr "Pengurai Baru" - -#: ../../whatsnew/3.9.rst:194 -msgid "" -"Python 3.9 uses a new parser, based on `PEG " -"`_ instead of " -"`LL(1) `_. The new parser's " -"performance is roughly comparable to that of the old parser, but the PEG " -"formalism is more flexible than LL(1) when it comes to designing new " -"language features. We'll start using this flexibility in Python 3.10 and " -"later." -msgstr "" -"Python 3.9 menggunakan pengurai baru, berdasarkan `PEG " -"`_ dari pada " -"`LL(1) `_. Kinerja parser baru " -"kira-kira sebanding dengan parser lama, tetapi formalisme PEG lebih " -"fleksibel daripada LL(1) saat merancang fitur bahasa baru. Kami akan mulai " -"menggunakan fleksibilitas ini di Python 3.10 dan yang lebih baru." - -#: ../../whatsnew/3.9.rst:202 -msgid "" -"The :mod:`ast` module uses the new parser and produces the same AST as the " -"old parser." -msgstr "" - -#: ../../whatsnew/3.9.rst:205 -msgid "" -"In Python 3.10, the old parser will be deleted and so will all functionality" -" that depends on it (primarily the :mod:`!parser` module, which has long " -"been deprecated). In Python 3.9 *only*, you can switch back to the LL(1) " -"parser using a command line switch (``-X oldparser``) or an environment " -"variable (``PYTHONOLDPARSER=1``)." -msgstr "" - -#: ../../whatsnew/3.9.rst:211 -msgid "" -"See :pep:`617` for more details. (Contributed by Guido van Rossum, Pablo " -"Galindo and Lysandros Nikolaou in :issue:`40334`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:216 -msgid "Other Language Changes" -msgstr "Perubahan Bahasa Lainnya" - -#: ../../whatsnew/3.9.rst:218 -msgid "" -":func:`__import__` now raises :exc:`ImportError` instead of " -":exc:`ValueError`, which used to occur when a relative import went past its " -"top-level package. (Contributed by Ngalim Siregar in :issue:`37444`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:223 -msgid "" -"Python now gets the absolute path of the script filename specified on the " -"command line (ex: ``python3 script.py``): the ``__file__`` attribute of the " -":mod:`__main__` module became an absolute path, rather than a relative path." -" These paths now remain valid after the current directory is changed by " -":func:`os.chdir`. As a side effect, the traceback also displays the absolute" -" path for :mod:`__main__` module frames in this case. (Contributed by Victor" -" Stinner in :issue:`20443`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:231 -msgid "" -"In the :ref:`Python Development Mode ` and in :ref:`debug build " -"`, the *encoding* and *errors* arguments are now checked for " -"string encoding and decoding operations. Examples: :func:`open`, " -":meth:`str.encode` and :meth:`bytes.decode`." -msgstr "" - -#: ../../whatsnew/3.9.rst:236 -msgid "" -"By default, for best performance, the *errors* argument is only checked at " -"the first encoding/decoding error and the *encoding* argument is sometimes " -"ignored for empty strings. (Contributed by Victor Stinner in " -":issue:`37388`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:241 -msgid "" -"``\"\".replace(\"\", s, n)`` now returns ``s`` instead of an empty string " -"for all non-zero ``n``. It is now consistent with ``\"\".replace(\"\", " -"s)``. There are similar changes for :class:`bytes` and :class:`bytearray` " -"objects. (Contributed by Serhiy Storchaka in :issue:`28029`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:246 -msgid "" -"Any valid expression can now be used as a :term:`decorator`. Previously, " -"the grammar was much more restrictive. See :pep:`614` for details. " -"(Contributed by Brandt Bucher in :issue:`39702`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:250 -msgid "" -"Improved help for the :mod:`typing` module. Docstrings are now shown for all" -" special forms and special generic aliases (like ``Union`` and ``List``). " -"Using :func:`help` with generic alias like ``List[int]`` will show the help " -"for the correspondent concrete type (``list`` in this case). (Contributed by" -" Serhiy Storchaka in :issue:`40257`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:256 -msgid "" -"Parallel running of :meth:`~agen.aclose` / :meth:`~agen.asend` / " -":meth:`~agen.athrow` is now prohibited, and ``ag_running`` now reflects the " -"actual running status of the async generator. (Contributed by Yury Selivanov" -" in :issue:`30773`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:261 -msgid "" -"Unexpected errors in calling the ``__iter__`` method are no longer masked by" -" ``TypeError`` in the :keyword:`in` operator and functions " -":func:`~operator.contains`, :func:`~operator.indexOf` and " -":func:`~operator.countOf` of the :mod:`operator` module. (Contributed by " -"Serhiy Storchaka in :issue:`40824`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:267 -msgid "" -"Unparenthesized lambda expressions can no longer be the expression part in " -"an ``if`` clause in comprehensions and generator expressions. See " -":issue:`41848` and :issue:`43755` for details." -msgstr "" - -#: ../../whatsnew/3.9.rst:273 -msgid "New Modules" -msgstr "Modul-Modul Baru" - -#: ../../whatsnew/3.9.rst:276 -msgid "zoneinfo" -msgstr "" - -#: ../../whatsnew/3.9.rst:278 -msgid "" -"The :mod:`zoneinfo` module brings support for the IANA time zone database to" -" the standard library. It adds :class:`zoneinfo.ZoneInfo`, a concrete " -":class:`datetime.tzinfo` implementation backed by the system's time zone " -"data." -msgstr "" - -#: ../../whatsnew/3.9.rst:284 -msgid "" -">>> from zoneinfo import ZoneInfo\n" -">>> from datetime import datetime, timedelta\n" -"\n" -">>> # Daylight saving time\n" -">>> dt = datetime(2020, 10, 31, 12, tzinfo=ZoneInfo(\"America/Los_Angeles\"))\n" -">>> print(dt)\n" -"2020-10-31 12:00:00-07:00\n" -">>> dt.tzname()\n" -"'PDT'\n" -"\n" -">>> # Standard time\n" -">>> dt += timedelta(days=7)\n" -">>> print(dt)\n" -"2020-11-07 12:00:00-08:00\n" -">>> print(dt.tzname())\n" -"PST" -msgstr "" - -#: ../../whatsnew/3.9.rst:302 -msgid "" -"As a fall-back source of data for platforms that don't ship the IANA " -"database, the :pypi:`tzdata` module was released as a first-party package --" -" distributed via PyPI and maintained by the CPython core team." -msgstr "" - -#: ../../whatsnew/3.9.rst:308 -msgid "" -":pep:`615` -- Support for the IANA Time Zone Database in the Standard " -"Library" -msgstr "" - -#: ../../whatsnew/3.9.rst:309 -msgid "PEP written and implemented by Paul Ganssle" -msgstr "" - -#: ../../whatsnew/3.9.rst:313 -msgid "graphlib" -msgstr "" - -#: ../../whatsnew/3.9.rst:315 -msgid "" -"A new module, :mod:`graphlib`, was added that contains the " -":class:`graphlib.TopologicalSorter` class to offer functionality to perform " -"topological sorting of graphs. (Contributed by Pablo Galindo, Tim Peters and" -" Larry Hastings in :issue:`17005`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:322 -msgid "Improved Modules" -msgstr "Modul yang Ditingkatkan" - -#: ../../whatsnew/3.9.rst:325 -msgid "ast" -msgstr "ast" - -#: ../../whatsnew/3.9.rst:327 -msgid "" -"Added the *indent* option to :func:`~ast.dump` which allows it to produce a " -"multiline indented output. (Contributed by Serhiy Storchaka in " -":issue:`37995`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:331 -msgid "" -"Added :func:`ast.unparse` as a function in the :mod:`ast` module that can be" -" used to unparse an :class:`ast.AST` object and produce a string with code " -"that would produce an equivalent :class:`ast.AST` object when parsed. " -"(Contributed by Pablo Galindo and Batuhan Taskaya in :issue:`38870`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:336 -msgid "" -"Added docstrings to AST nodes that contains the ASDL signature used to " -"construct that node. (Contributed by Batuhan Taskaya in :issue:`39638`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:340 -msgid "asyncio" -msgstr "asyncio" - -#: ../../whatsnew/3.9.rst:342 -msgid "" -"Due to significant security concerns, the *reuse_address* parameter of " -":meth:`asyncio.loop.create_datagram_endpoint` is no longer supported. This " -"is because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For" -" more details, see the documentation for " -"``loop.create_datagram_endpoint()``. (Contributed by Kyle Stanley, Antoine " -"Pitrou, and Yury Selivanov in :issue:`37228`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:349 -msgid "" -"Added a new :term:`coroutine` " -":meth:`~asyncio.loop.shutdown_default_executor` that schedules a shutdown " -"for the default executor that waits on the " -":class:`~concurrent.futures.ThreadPoolExecutor` to finish closing. Also, " -":func:`asyncio.run` has been updated to use the new :term:`coroutine`. " -"(Contributed by Kyle Stanley in :issue:`34037`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:355 -msgid "" -"Added :class:`!asyncio.PidfdChildWatcher`, a Linux-specific child watcher " -"implementation that polls process file descriptors. (:issue:`38692`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:358 -msgid "" -"Added a new :term:`coroutine` :func:`asyncio.to_thread`. It is mainly used " -"for running IO-bound functions in a separate thread to avoid blocking the " -"event loop, and essentially works as a high-level version of " -":meth:`~asyncio.loop.run_in_executor` that can directly take keyword " -"arguments. (Contributed by Kyle Stanley and Yury Selivanov in " -":issue:`32309`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:364 -msgid "" -"When cancelling the task due to a timeout, :meth:`asyncio.wait_for` will now" -" wait until the cancellation is complete also in the case when *timeout* is " -"<= 0, like it does with positive timeouts. (Contributed by Elvis " -"Pranskevichus in :issue:`32751`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:369 -msgid "" -":mod:`asyncio` now raises :exc:`TypeError` when calling incompatible methods" -" with an :class:`ssl.SSLSocket` socket. (Contributed by Ido Michael in " -":issue:`37404`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:374 -msgid "compileall" -msgstr "compileall" - -#: ../../whatsnew/3.9.rst:376 -msgid "" -"Added new possibility to use hardlinks for duplicated ``.pyc`` files: " -"*hardlink_dupes* parameter and --hardlink-dupes command line option. " -"(Contributed by Lumír 'Frenzy' Balhar in :issue:`40495`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:379 -msgid "" -"Added new options for path manipulation in resulting ``.pyc`` files: " -"*stripdir*, *prependdir*, *limit_sl_dest* parameters and -s, -p, -e command " -"line options. Added the possibility to specify the option for an " -"optimization level multiple times. (Contributed by Lumír 'Frenzy' Balhar in " -":issue:`38112`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:384 -msgid "concurrent.futures" -msgstr "concurrent.futures" - -#: ../../whatsnew/3.9.rst:386 -msgid "" -"Added a new *cancel_futures* parameter to " -":meth:`concurrent.futures.Executor.shutdown` that cancels all pending " -"futures which have not started running, instead of waiting for them to " -"complete before shutting down the executor. (Contributed by Kyle Stanley in " -":issue:`39349`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:392 -msgid "" -"Removed daemon threads from :class:`~concurrent.futures.ThreadPoolExecutor` " -"and :class:`~concurrent.futures.ProcessPoolExecutor`. This improves " -"compatibility with subinterpreters and predictability in their shutdown " -"processes. (Contributed by Kyle Stanley in :issue:`39812`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:397 -msgid "" -"Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are now spawned " -"on demand, only when there are no available idle workers to reuse. This " -"optimizes startup overhead and reduces the amount of lost CPU time to idle " -"workers. (Contributed by Kyle Stanley in :issue:`39207`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:403 -msgid "curses" -msgstr "" - -#: ../../whatsnew/3.9.rst:405 -msgid "" -"Added :func:`curses.get_escdelay`, :func:`curses.set_escdelay`, " -":func:`curses.get_tabsize`, and :func:`curses.set_tabsize` functions. " -"(Contributed by Anthony Sottile in :issue:`38312`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:410 -msgid "datetime" -msgstr "datetime" - -#: ../../whatsnew/3.9.rst:411 -msgid "" -"The :meth:`~datetime.date.isocalendar` of :class:`datetime.date` and " -":meth:`~datetime.datetime.isocalendar` of :class:`datetime.datetime` methods" -" now returns a :func:`~collections.namedtuple` instead of a :class:`tuple`. " -"(Contributed by Donghee Na in :issue:`24416`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:417 -msgid "distutils" -msgstr "distutils" - -#: ../../whatsnew/3.9.rst:419 -msgid "" -"The :command:`upload` command now creates SHA2-256 and Blake2b-256 hash " -"digests. It skips MD5 on platforms that block MD5 digest. (Contributed by " -"Christian Heimes in :issue:`40698`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:424 -msgid "fcntl" -msgstr "" - -#: ../../whatsnew/3.9.rst:426 -msgid "" -"Added constants :const:`~fcntl.F_OFD_GETLK`, :const:`~fcntl.F_OFD_SETLK` and" -" :const:`~fcntl.F_OFD_SETLKW`. (Contributed by Donghee Na in " -":issue:`38602`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:431 -msgid "ftplib" -msgstr "" - -#: ../../whatsnew/3.9.rst:433 -msgid "" -":class:`~ftplib.FTP` and :class:`~ftplib.FTP_TLS` now raise a " -":class:`ValueError` if the given timeout for their constructor is zero to " -"prevent the creation of a non-blocking socket. (Contributed by Donghee Na in" -" :issue:`39259`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:438 -msgid "gc" -msgstr "gc" - -#: ../../whatsnew/3.9.rst:440 -msgid "" -"When the garbage collector makes a collection in which some objects " -"resurrect (they are reachable from outside the isolated cycles after the " -"finalizers have been executed), do not block the collection of all objects " -"that are still unreachable. (Contributed by Pablo Galindo and Tim Peters in " -":issue:`38379`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:445 -msgid "" -"Added a new function :func:`gc.is_finalized` to check if an object has been " -"finalized by the garbage collector. (Contributed by Pablo Galindo in " -":issue:`39322`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:450 -msgid "hashlib" -msgstr "" - -#: ../../whatsnew/3.9.rst:452 -msgid "" -"The :mod:`hashlib` module can now use SHA3 hashes and SHAKE XOF from OpenSSL" -" when available. (Contributed by Christian Heimes in :issue:`37630`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:456 -msgid "" -"Builtin hash modules can now be disabled with ``./configure --without-" -"builtin-hashlib-hashes`` or selectively enabled with e.g. ``./configure " -"--with-builtin-hashlib-hashes=sha3,blake2`` to force use of OpenSSL based " -"implementation. (Contributed by Christian Heimes in :issue:`40479`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:464 -msgid "http" -msgstr "http" - -#: ../../whatsnew/3.9.rst:466 -msgid "" -"HTTP status codes ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 " -"TOO_EARLY`` are added to :class:`http.HTTPStatus`. (Contributed by Donghee " -"Na in :issue:`39509` and Ross Rhodes in :issue:`39507`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:470 -msgid "IDLE and idlelib" -msgstr "" - -#: ../../whatsnew/3.9.rst:472 -msgid "" -"Added option to toggle cursor blink off. (Contributed by Zackery Spytz in " -":issue:`4603`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:475 -msgid "" -"Escape key now closes IDLE completion windows. (Contributed by Johnny " -"Najera in :issue:`38944`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:478 -msgid "" -"Added keywords to module name completion list. (Contributed by Terry J. " -"Reedy in :issue:`37765`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:481 -msgid "New in 3.9 maintenance releases" -msgstr "" - -#: ../../whatsnew/3.9.rst:483 -msgid "" -"Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " -"hooks were previously ignored. (Contributed by Ken Hilton in " -":issue:`43008`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:487 -msgid "The changes above have been backported to 3.8 maintenance releases." -msgstr "" - -#: ../../whatsnew/3.9.rst:489 -msgid "" -"Rearrange the settings dialog. Split the General tab into Windows and " -"Shell/Ed tabs. Move help sources, which extend the Help menu, to the " -"Extensions tab. Make space for new options and shorten the dialog. The " -"latter makes the dialog better fit small screens. (Contributed by Terry Jan" -" Reedy in :issue:`40468`.) Move the indent space setting from the Font tab " -"to the new Windows tab. (Contributed by Mark Roseman and Terry Jan Reedy in" -" :issue:`33962`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:497 -msgid "" -"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " -"and Terry Jan Reedy in :issue:`45447`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:501 -msgid "imaplib" -msgstr "" - -#: ../../whatsnew/3.9.rst:503 -msgid "" -":class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now have an optional" -" *timeout* parameter for their constructors. Also, the " -":meth:`~imaplib.IMAP4.open` method now has an optional *timeout* parameter " -"with this change. The overridden methods of :class:`~imaplib.IMAP4_SSL` and " -":class:`~imaplib.IMAP4_stream` were applied to this change. (Contributed by " -"Donghee Na in :issue:`38615`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:510 -msgid "" -":meth:`imaplib.IMAP4.unselect` is added. :meth:`imaplib.IMAP4.unselect` " -"frees server's resources associated with the selected mailbox and returns " -"the server to the authenticated state. This command performs the same " -"actions as :meth:`imaplib.IMAP4.close`, except that no messages are " -"permanently removed from the currently selected mailbox. (Contributed by " -"Donghee Na in :issue:`40375`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:518 -msgid "importlib" -msgstr "importlib" - -#: ../../whatsnew/3.9.rst:520 -msgid "" -"To improve consistency with import statements, " -":func:`importlib.util.resolve_name` now raises :exc:`ImportError` instead of" -" :exc:`ValueError` for invalid relative import attempts. (Contributed by " -"Ngalim Siregar in :issue:`37444`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:525 -msgid "" -"Import loaders which publish immutable module objects can now publish " -"immutable packages in addition to individual modules. (Contributed by Dino " -"Viehland in :issue:`39336`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:529 -msgid "" -"Added :func:`importlib.resources.files` function with support for " -"subdirectories in package data, matching backport in ``importlib_resources``" -" version 1.5. (Contributed by Jason R. Coombs in :issue:`39791`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:534 -msgid "" -"Refreshed ``importlib.metadata`` from ``importlib_metadata`` version 1.6.1." -msgstr "" - -#: ../../whatsnew/3.9.rst:537 -msgid "inspect" -msgstr "inspect" - -#: ../../whatsnew/3.9.rst:539 -msgid "" -":attr:`inspect.BoundArguments.arguments` is changed from ``OrderedDict`` to " -"regular dict. (Contributed by Inada Naoki in :issue:`36350` and " -":issue:`39775`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:543 -msgid "ipaddress" -msgstr "ipaddress" - -#: ../../whatsnew/3.9.rst:545 -msgid "" -":mod:`ipaddress` now supports IPv6 Scoped Addresses (IPv6 address with " -"suffix ``%``)." -msgstr "" - -#: ../../whatsnew/3.9.rst:547 -msgid "" -"Scoped IPv6 addresses can be parsed using :class:`ipaddress.IPv6Address`. If" -" present, scope zone ID is available through the " -":attr:`~ipaddress.IPv6Address.scope_id` attribute. (Contributed by Oleksandr" -" Pavliuk in :issue:`34788`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:551 -msgid "" -"Starting with Python 3.9.5 the :mod:`ipaddress` module no longer accepts any" -" leading zeros in IPv4 address strings. (Contributed by Christian Heimes in " -":issue:`36384`)." -msgstr "" - -#: ../../whatsnew/3.9.rst:556 -msgid "math" -msgstr "math" - -#: ../../whatsnew/3.9.rst:558 -msgid "" -"Expanded the :func:`math.gcd` function to handle multiple arguments. " -"Formerly, it only supported two arguments. (Contributed by Serhiy Storchaka " -"in :issue:`39648`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:562 -msgid "" -"Added :func:`math.lcm`: return the least common multiple of specified " -"arguments. (Contributed by Mark Dickinson, Ananthakrishnan and Serhiy " -"Storchaka in :issue:`39479` and :issue:`39648`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:566 -msgid "" -"Added :func:`math.nextafter`: return the next floating-point value after *x*" -" towards *y*. (Contributed by Victor Stinner in :issue:`39288`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:570 -msgid "" -"Added :func:`math.ulp`: return the value of the least significant bit of a " -"float. (Contributed by Victor Stinner in :issue:`39310`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:575 -msgid "multiprocessing" -msgstr "multiprocessing" - -#: ../../whatsnew/3.9.rst:577 -msgid "" -"The :class:`multiprocessing.SimpleQueue` class has a new " -":meth:`~multiprocessing.SimpleQueue.close` method to explicitly close the " -"queue. (Contributed by Victor Stinner in :issue:`30966`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:583 -msgid "nntplib" -msgstr "" - -#: ../../whatsnew/3.9.rst:585 -msgid "" -":class:`!NNTP` and :class:`!NNTP_SSL` now raise a :class:`ValueError` if the" -" given timeout for their constructor is zero to prevent the creation of a " -"non-blocking socket. (Contributed by Donghee Na in :issue:`39259`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:590 -msgid "os" -msgstr "os" - -#: ../../whatsnew/3.9.rst:592 -msgid "" -"Added :const:`~os.CLD_KILLED` and :const:`~os.CLD_STOPPED` for " -":attr:`!si_code`. (Contributed by Donghee Na in :issue:`38493`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:595 -msgid "" -"Exposed the Linux-specific :func:`os.pidfd_open` (:issue:`38692`) and " -":const:`os.P_PIDFD` (:issue:`38713`) for process management with file " -"descriptors." -msgstr "" - -#: ../../whatsnew/3.9.rst:599 -msgid "" -"The :func:`os.unsetenv` function is now also available on Windows. " -"(Contributed by Victor Stinner in :issue:`39413`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:602 -msgid "" -"The :func:`os.putenv` and :func:`os.unsetenv` functions are now always " -"available. (Contributed by Victor Stinner in :issue:`39395`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:606 -msgid "" -"Added :func:`os.waitstatus_to_exitcode` function: convert a wait status to " -"an exit code. (Contributed by Victor Stinner in :issue:`40094`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:611 -msgid "pathlib" -msgstr "pathlib" - -#: ../../whatsnew/3.9.rst:613 -msgid "" -"Added :meth:`pathlib.Path.readlink` which acts similarly to " -":func:`os.readlink`. (Contributed by Girts Folkmanis in :issue:`30618`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:618 -msgid "pdb" -msgstr "pdb" - -#: ../../whatsnew/3.9.rst:620 -msgid "" -"On Windows now :class:`~pdb.Pdb` supports ``~/.pdbrc``. (Contributed by Tim " -"Hopper and Dan Lidral-Porter in :issue:`20523`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:624 -msgid "poplib" -msgstr "" - -#: ../../whatsnew/3.9.rst:626 -msgid "" -":class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now raise a " -":class:`ValueError` if the given timeout for their constructor is zero to " -"prevent the creation of a non-blocking socket. (Contributed by Donghee Na in" -" :issue:`39259`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:631 -msgid "pprint" -msgstr "" - -#: ../../whatsnew/3.9.rst:633 -msgid "" -":mod:`pprint` can now pretty-print :class:`types.SimpleNamespace`. " -"(Contributed by Carl Bordum Hansen in :issue:`37376`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:637 -msgid "pydoc" -msgstr "pydoc" - -#: ../../whatsnew/3.9.rst:639 -msgid "" -"The documentation string is now shown not only for class, function, method " -"etc, but for any object that has its own :attr:`~definition.__doc__` " -"attribute. (Contributed by Serhiy Storchaka in :issue:`40257`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:645 -msgid "random" -msgstr "" - -#: ../../whatsnew/3.9.rst:647 -msgid "" -"Added a new :attr:`random.Random.randbytes` method: generate random bytes. " -"(Contributed by Victor Stinner in :issue:`40286`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:651 -msgid "signal" -msgstr "signal" - -#: ../../whatsnew/3.9.rst:653 -msgid "" -"Exposed the Linux-specific :func:`signal.pidfd_send_signal` for sending to " -"signals to a process using a file descriptor instead of a pid. " -"(:issue:`38712`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:657 -msgid "smtplib" -msgstr "" - -#: ../../whatsnew/3.9.rst:659 -msgid "" -":class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now raise a " -":class:`ValueError` if the given timeout for their constructor is zero to " -"prevent the creation of a non-blocking socket. (Contributed by Donghee Na in" -" :issue:`39259`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:663 -msgid "" -":class:`~smtplib.LMTP` constructor now has an optional *timeout* parameter." -" (Contributed by Donghee Na in :issue:`39329`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:667 -msgid "socket" -msgstr "socket" - -#: ../../whatsnew/3.9.rst:669 -msgid "" -"The :mod:`socket` module now exports the " -":const:`~socket.CAN_RAW_JOIN_FILTERS` constant on Linux 4.1 and greater. " -"(Contributed by Stefan Tatschner and Zackery Spytz in :issue:`25780`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:673 -msgid "" -"The socket module now supports the :const:`~socket.CAN_J1939` protocol on " -"platforms that support it. (Contributed by Karl Ding in :issue:`40291`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:676 -msgid "" -"The socket module now has the :func:`socket.send_fds` and " -":func:`socket.recv_fds` functions. (Contributed by Joannah Nanjekye, Shinya " -"Okano and Victor Stinner in :issue:`28724`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:682 -msgid "time" -msgstr "time" - -#: ../../whatsnew/3.9.rst:684 -msgid "" -"On AIX, :func:`~time.thread_time` is now implemented with " -"``thread_cputime()`` which has nanosecond resolution, rather than " -"``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` which has a resolution of 10 " -"milliseconds. (Contributed by Batuhan Taskaya in :issue:`40192`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:690 -msgid "sys" -msgstr "sys" - -#: ../../whatsnew/3.9.rst:692 -msgid "" -"Added a new :data:`sys.platlibdir` attribute: name of the platform-specific " -"library directory. It is used to build the path of standard library and the " -"paths of installed extension modules. It is equal to ``\"lib\"`` on most " -"platforms. On Fedora and SuSE, it is equal to ``\"lib64\"`` on 64-bit " -"platforms. (Contributed by Jan Matějek, Matěj Cepl, Charalampos Stratakis " -"and Victor Stinner in :issue:`1294959`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:698 -msgid "" -"Previously, :data:`sys.stderr` was block-buffered when non-interactive. Now " -"``stderr`` defaults to always being line-buffered. (Contributed by Jendrik " -"Seipp in :issue:`13601`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:703 -msgid "tracemalloc" -msgstr "tracemalloc" - -#: ../../whatsnew/3.9.rst:705 -msgid "" -"Added :func:`tracemalloc.reset_peak` to set the peak size of traced memory " -"blocks to the current size, to measure the peak of specific pieces of code. " -"(Contributed by Huon Wilson in :issue:`40630`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:710 ../../whatsnew/3.9.rst:1494 -msgid "typing" -msgstr "typing" - -#: ../../whatsnew/3.9.rst:712 -msgid "" -":pep:`593` introduced an :data:`typing.Annotated` type to decorate existing " -"types with context-specific metadata and new ``include_extras`` parameter to" -" :func:`typing.get_type_hints` to access the metadata at runtime. " -"(Contributed by Till Varoquaux and Konstantin Kashin.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:718 -msgid "unicodedata" -msgstr "unicodedata" - -#: ../../whatsnew/3.9.rst:720 -msgid "" -"The Unicode database has been updated to version 13.0.0. (:issue:`39926`)." -msgstr "" - -#: ../../whatsnew/3.9.rst:723 -msgid "venv" -msgstr "venv" - -#: ../../whatsnew/3.9.rst:725 -msgid "" -"The activation scripts provided by :mod:`venv` now all specify their prompt " -"customization consistently by always using the value specified by " -"``__VENV_PROMPT__``. Previously some scripts unconditionally used " -"``__VENV_PROMPT__``, others only if it happened to be set (which was the " -"default case), and one used ``__VENV_NAME__`` instead. (Contributed by Brett" -" Cannon in :issue:`37663`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:733 -msgid "xml" -msgstr "xml" - -#: ../../whatsnew/3.9.rst:735 -msgid "" -"White space characters within attributes are now preserved when serializing " -":mod:`xml.etree.ElementTree` to XML file. EOLNs are no longer normalized to " -"\"\\n\". This is the result of discussion about how to interpret section " -"2.11 of XML spec. (Contributed by Mefistotelis in :issue:`39011`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:743 -msgid "Optimizations" -msgstr "Optimalisasi" - -#: ../../whatsnew/3.9.rst:745 -msgid "" -"Optimized the idiom for assignment a temporary variable in comprehensions. " -"Now ``for y in [expr]`` in comprehensions is as fast as a simple assignment " -"``y = expr``. For example:" -msgstr "" - -#: ../../whatsnew/3.9.rst:749 -msgid "sums = [s for s in [0] for x in data for s in [s + x]]" -msgstr "" - -#: ../../whatsnew/3.9.rst:751 -msgid "" -"Unlike the ``:=`` operator this idiom does not leak a variable to the outer " -"scope." -msgstr "" - -#: ../../whatsnew/3.9.rst:754 -msgid "(Contributed by Serhiy Storchaka in :issue:`32856`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:756 -msgid "" -"Optimized signal handling in multithreaded applications. If a thread " -"different than the main thread gets a signal, the bytecode evaluation loop " -"is no longer interrupted at each bytecode instruction to check for pending " -"signals which cannot be handled. Only the main thread of the main " -"interpreter can handle signals." -msgstr "" - -#: ../../whatsnew/3.9.rst:762 -msgid "" -"Previously, the bytecode evaluation loop was interrupted at each instruction" -" until the main thread handles signals. (Contributed by Victor Stinner in " -":issue:`40010`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:766 -msgid "" -"Optimized the :mod:`subprocess` module on FreeBSD using ``closefrom()``. " -"(Contributed by Ed Maste, Conrad Meyer, Kyle Evans, Kubilay Kocak and Victor" -" Stinner in :issue:`38061`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:770 -msgid "" -":c:func:`PyLong_FromDouble` is now up to 1.87x faster for values that fit " -"into :c:expr:`long`. (Contributed by Sergey Fedoseev in :issue:`37986`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:774 -msgid "" -"A number of Python builtins (:class:`range`, :class:`tuple`, :class:`set`, " -":class:`frozenset`, :class:`list`, :class:`dict`) are now sped up by using " -":pep:`590` vectorcall protocol. (Contributed by Donghee Na, Mark Shannon, " -"Jeroen Demeyer and Petr Viktorin in :issue:`37207`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:779 -msgid "" -"Optimized :func:`~set.difference_update` for the case when the other set is " -"much larger than the base set. (Suggested by Evgeny Kapun with code " -"contributed by Michele Orrù in :issue:`8425`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:783 -msgid "" -"Python's small object allocator (``obmalloc.c``) now allows (no more than) " -"one empty arena to remain available for immediate reuse, without returning " -"it to the OS. This prevents thrashing in simple loops where an arena could " -"be created and destroyed anew on each iteration. (Contributed by Tim Peters " -"in :issue:`37257`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:789 -msgid "" -":term:`floor division` of float operation now has a better performance. Also" -" the message of :exc:`ZeroDivisionError` for this operation is updated. " -"(Contributed by Donghee Na in :issue:`39434`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:793 -msgid "" -"Decoding short ASCII strings with UTF-8 and ascii codecs is now about 15% " -"faster. (Contributed by Inada Naoki in :issue:`37348`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:796 -msgid "" -"Here's a summary of performance improvements from Python 3.4 through Python " -"3.9:" -msgstr "" - -#: ../../whatsnew/3.9.rst:798 -msgid "" -"Python version 3.4 3.5 3.6 3.7 3.8 3.9\n" -"-------------- --- --- --- --- --- ---\n" -"\n" -"Variable and attribute read access:\n" -" read_local 7.1 7.1 5.4 5.1 3.9 3.9\n" -" read_nonlocal 7.1 8.1 5.8 5.4 4.4 4.5\n" -" read_global 15.5 19.0 14.3 13.6 7.6 7.8\n" -" read_builtin 21.1 21.6 18.5 19.0 7.5 7.8\n" -" read_classvar_from_class 25.6 26.5 20.7 19.5 18.4 17.9\n" -" read_classvar_from_instance 22.8 23.5 18.8 17.1 16.4 16.9\n" -" read_instancevar 32.4 33.1 28.0 26.3 25.4 25.3\n" -" read_instancevar_slots 27.8 31.3 20.8 20.8 20.2 20.5\n" -" read_namedtuple 73.8 57.5 45.0 46.8 18.4 18.7\n" -" read_boundmethod 37.6 37.9 29.6 26.9 27.7 41.1\n" -"\n" -"Variable and attribute write access:\n" -" write_local 8.7 9.3 5.5 5.3 4.3 4.3\n" -" write_nonlocal 10.5 11.1 5.6 5.5 4.7 4.8\n" -" write_global 19.7 21.2 18.0 18.0 15.8 16.7\n" -" write_classvar 92.9 96.0 104.6 102.1 39.2 39.8\n" -" write_instancevar 44.6 45.8 40.0 38.9 35.5 37.4\n" -" write_instancevar_slots 35.6 36.1 27.3 26.6 25.7 25.8\n" -"\n" -"Data structure read access:\n" -" read_list 24.2 24.5 20.8 20.8 19.0 19.5\n" -" read_deque 24.7 25.5 20.2 20.6 19.8 20.2\n" -" read_dict 24.3 25.7 22.3 23.0 21.0 22.4\n" -" read_strdict 22.6 24.3 19.5 21.2 18.9 21.5\n" -"\n" -"Data structure write access:\n" -" write_list 27.1 28.5 22.5 21.6 20.0 20.0\n" -" write_deque 28.7 30.1 22.7 21.8 23.5 21.7\n" -" write_dict 31.4 33.3 29.3 29.2 24.7 25.4\n" -" write_strdict 28.4 29.9 27.5 25.2 23.1 24.5\n" -"\n" -"Stack (or queue) operations:\n" -" list_append_pop 93.4 112.7 75.4 74.2 50.8 50.6\n" -" deque_append_pop 43.5 57.0 49.4 49.2 42.5 44.2\n" -" deque_append_popleft 43.7 57.3 49.7 49.7 42.8 46.4\n" -"\n" -"Timing loop:\n" -" loop_overhead 0.5 0.6 0.4 0.3 0.3 0.3" -msgstr "" - -#: ../../whatsnew/3.9.rst:843 -msgid "" -"These results were generated from the variable access benchmark script at: " -"``Tools/scripts/var_access_benchmark.py``. The benchmark script displays " -"timings in nanoseconds. The benchmarks were measured on an `Intel® Core™ " -"i7-4960HQ processor " -"`_ running the macOS " -"64-bit builds found at `python.org " -"`_." -msgstr "" - -#: ../../whatsnew/3.9.rst:853 -msgid "Deprecated" -msgstr "Usang" - -#: ../../whatsnew/3.9.rst:855 -msgid "" -"The distutils ``bdist_msi`` command is now deprecated, use ``bdist_wheel`` " -"(wheel packages) instead. (Contributed by Hugo van Kemenade in " -":issue:`39586`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:859 -msgid "" -"Currently :func:`math.factorial` accepts :class:`float` instances with non-" -"negative integer values (like ``5.0``). It raises a :exc:`ValueError` for " -"non-integral and negative floats. It is now deprecated. In future Python " -"versions it will raise a :exc:`TypeError` for all floats. (Contributed by " -"Serhiy Storchaka in :issue:`37315`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:865 -msgid "" -"The :mod:`!parser` and :mod:`!symbol` modules are deprecated and will be " -"removed in future versions of Python. For the majority of use cases, users " -"can leverage the Abstract Syntax Tree (AST) generation and compilation " -"stage, using the :mod:`ast` module." -msgstr "" - -#: ../../whatsnew/3.9.rst:870 -msgid "" -"The Public C API functions :c:func:`!PyParser_SimpleParseStringFlags`, " -":c:func:`!PyParser_SimpleParseStringFlagsFilename`, " -":c:func:`!PyParser_SimpleParseFileFlags` and :c:func:`!PyNode_Compile` are " -"deprecated and will be removed in Python 3.10 together with the old parser." -msgstr "" - -#: ../../whatsnew/3.9.rst:875 -msgid "" -"Using :data:`NotImplemented` in a boolean context has been deprecated, as it" -" is almost exclusively the result of incorrect rich comparator " -"implementations. It will be made a :exc:`TypeError` in a future version of " -"Python. (Contributed by Josh Rosenberg in :issue:`35712`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:881 -msgid "" -"The :mod:`random` module currently accepts any hashable type as a possible " -"seed value. Unfortunately, some of those types are not guaranteed to have a" -" deterministic hash value. After Python 3.9, the module will restrict its " -"seeds to :const:`None`, :class:`int`, :class:`float`, :class:`str`, " -":class:`bytes`, and :class:`bytearray`." -msgstr "" - -#: ../../whatsnew/3.9.rst:887 -msgid "" -"Opening the :class:`~gzip.GzipFile` file for writing without specifying the " -"*mode* argument is deprecated. In future Python versions it will always be " -"opened for reading by default. Specify the *mode* argument for opening it " -"for writing and silencing a warning. (Contributed by Serhiy Storchaka in " -":issue:`28286`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:893 -msgid "" -"Deprecated the ``split()`` method of :class:`!_tkinter.TkappType` in favour " -"of the ``splitlist()`` method which has more consistent and predictable " -"behavior. (Contributed by Serhiy Storchaka in :issue:`38371`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:898 -msgid "" -"The explicit passing of coroutine objects to :func:`asyncio.wait` has been " -"deprecated and will be removed in version 3.11. (Contributed by Yury " -"Selivanov and Kyle Stanley in :issue:`34790`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:902 -msgid "" -"binhex4 and hexbin4 standards are now deprecated. The :mod:`!binhex` module " -"and the following :mod:`binascii` functions are now deprecated:" -msgstr "" - -#: ../../whatsnew/3.9.rst:905 -msgid ":func:`!b2a_hqx`, :func:`!a2b_hqx`" -msgstr "" - -#: ../../whatsnew/3.9.rst:906 -msgid ":func:`!rlecode_hqx`, :func:`!rledecode_hqx`" -msgstr "" - -#: ../../whatsnew/3.9.rst:908 -msgid "(Contributed by Victor Stinner in :issue:`39353`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:910 -msgid "" -":mod:`ast` classes ``slice``, ``Index`` and ``ExtSlice`` are considered " -"deprecated and will be removed in future Python versions. ``value`` itself " -"should be used instead of ``Index(value)``. ``Tuple(slices, Load())`` " -"should be used instead of ``ExtSlice(slices)``. (Contributed by Serhiy " -"Storchaka in :issue:`34822`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:916 -msgid "" -":mod:`ast` classes ``Suite``, ``Param``, ``AugLoad`` and ``AugStore`` are " -"considered deprecated and will be removed in future Python versions. They " -"were not generated by the parser and not accepted by the code generator in " -"Python 3. (Contributed by Batuhan Taskaya in :issue:`39639` and " -":issue:`39969` and Serhiy Storchaka in :issue:`39988`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:923 -msgid "" -"The :c:func:`!PyEval_InitThreads` and :c:func:`!PyEval_ThreadsInitialized` " -"functions are now deprecated and will be removed in Python 3.11. Calling " -":c:func:`!PyEval_InitThreads` now does nothing. The :term:`GIL` is " -"initialized by :c:func:`Py_Initialize` since Python 3.7. (Contributed by " -"Victor Stinner in :issue:`39877`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:929 -msgid "" -"Passing ``None`` as the first argument to the :func:`shlex.split` function " -"has been deprecated. (Contributed by Zackery Spytz in :issue:`33262`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:932 -msgid "" -":func:`!smtpd.MailmanProxy` is now deprecated as it is unusable without an " -"external module, ``mailman``. (Contributed by Samuel Colvin in " -":issue:`35800`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:935 -msgid "" -"The :mod:`!lib2to3` module now emits a :exc:`PendingDeprecationWarning`. " -"Python 3.9 switched to a PEG parser (see :pep:`617`), and Python 3.10 may " -"include new language syntax that is not parsable by lib2to3's LL(1) parser. " -"The :mod:`!lib2to3` module may be removed from the standard library in a " -"future Python version. Consider third-party alternatives such as `LibCST`_ " -"or `parso`_. (Contributed by Carl Meyer in :issue:`40360`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:943 -msgid "" -"The *random* parameter of :func:`random.shuffle` has been deprecated. " -"(Contributed by Raymond Hettinger in :issue:`40465`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:952 ../../whatsnew/3.9.rst:1408 -msgid "Removed" -msgstr "" - -#: ../../whatsnew/3.9.rst:954 -msgid "" -"The erroneous version at :data:`!unittest.mock.__version__` has been " -"removed." -msgstr "" - -#: ../../whatsnew/3.9.rst:956 -msgid "" -":class:`!nntplib.NNTP`: ``xpath()`` and ``xgtitle()`` methods have been " -"removed. These methods are deprecated since Python 3.3. Generally, these " -"extensions are not supported or not enabled by NNTP server administrators. " -"For ``xgtitle()``, please use :meth:`!nntplib.NNTP.descriptions` or " -":meth:`!nntplib.NNTP.description` instead. (Contributed by Donghee Na in " -":issue:`39366`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:963 -msgid "" -":class:`array.array`: ``tostring()`` and ``fromstring()`` methods have been " -"removed. They were aliases to ``tobytes()`` and ``frombytes()``, deprecated " -"since Python 3.2. (Contributed by Victor Stinner in :issue:`38916`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:968 -msgid "" -"The undocumented ``sys.callstats()`` function has been removed. Since Python" -" 3.7, it was deprecated and always returned :const:`None`. It required a " -"special build option ``CALL_PROFILE`` which was already removed in Python " -"3.7. (Contributed by Victor Stinner in :issue:`37414`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:973 -msgid "" -"The ``sys.getcheckinterval()`` and ``sys.setcheckinterval()`` functions have" -" been removed. They were deprecated since Python 3.2. Use " -":func:`sys.getswitchinterval` and :func:`sys.setswitchinterval` instead. " -"(Contributed by Victor Stinner in :issue:`37392`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:978 -msgid "" -"The C function ``PyImport_Cleanup()`` has been removed. It was documented " -"as: \"Empty the module table. For internal use only.\" (Contributed by " -"Victor Stinner in :issue:`36710`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:982 -msgid "" -"``_dummy_thread`` and ``dummy_threading`` modules have been removed. These " -"modules were deprecated since Python 3.7 which requires threading support. " -"(Contributed by Victor Stinner in :issue:`37312`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:986 -msgid "" -"``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to " -"``sunau.open()``, and ``wave.openfp()`` alias to :func:`wave.open` have been" -" removed. They were deprecated since Python 3.7. (Contributed by Victor " -"Stinner in :issue:`37320`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:991 -msgid "" -"The :meth:`!isAlive` method of :class:`threading.Thread` has been removed. " -"It was deprecated since Python 3.8. Use :meth:`~threading.Thread.is_alive` " -"instead. (Contributed by Donghee Na in :issue:`37804`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:996 -msgid "" -"Methods ``getchildren()`` and ``getiterator()`` of classes " -":class:`~xml.etree.ElementTree.ElementTree` and " -":class:`~xml.etree.ElementTree.Element` in the :mod:`~xml.etree.ElementTree`" -" module have been removed. They were deprecated in Python 3.2. Use " -"``iter(x)`` or ``list(x)`` instead of ``x.getchildren()`` and ``x.iter()`` " -"or ``list(x.iter())`` instead of ``x.getiterator()``. (Contributed by Serhiy" -" Storchaka in :issue:`36543`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1004 -msgid "" -"The old :mod:`plistlib` API has been removed, it was deprecated since Python" -" 3.4. Use the :func:`~plistlib.load`, :func:`~plistlib.loads`, " -":func:`~plistlib.dump`, and :func:`~plistlib.dumps` functions. Additionally," -" the *use_builtin_types* parameter was removed, standard :class:`bytes` " -"objects are always used instead. (Contributed by Jon Janzen in " -":issue:`36409`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1010 -msgid "" -"The C function ``PyGen_NeedsFinalizing`` has been removed. It was not " -"documented, tested, or used anywhere within CPython after the implementation" -" of :pep:`442`. Patch by Joannah Nanjekye. (Contributed by Joannah Nanjekye " -"in :issue:`15088`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1015 -msgid "" -"``base64.encodestring()`` and ``base64.decodestring()``, aliases deprecated " -"since Python 3.1, have been removed: use :func:`base64.encodebytes` and " -":func:`base64.decodebytes` instead. (Contributed by Victor Stinner in " -":issue:`39351`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1020 -msgid "" -"``fractions.gcd()`` function has been removed, it was deprecated since " -"Python 3.5 (:issue:`22486`): use :func:`math.gcd` instead. (Contributed by " -"Victor Stinner in :issue:`39350`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1024 -msgid "" -"The *buffering* parameter of :class:`bz2.BZ2File` has been removed. Since " -"Python 3.0, it was ignored and using it emitted a :exc:`DeprecationWarning`." -" Pass an open file object to control how the file is opened. (Contributed by" -" Victor Stinner in :issue:`39357`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1029 -msgid "" -"The *encoding* parameter of :func:`json.loads` has been removed. As of " -"Python 3.1, it was deprecated and ignored; using it has emitted a " -":exc:`DeprecationWarning` since Python 3.8. (Contributed by Inada Naoki in " -":issue:`39377`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1034 -msgid "" -"``with (await asyncio.lock):`` and ``with (yield from asyncio.lock):`` " -"statements are not longer supported, use ``async with lock`` instead. The " -"same is correct for ``asyncio.Condition`` and ``asyncio.Semaphore``. " -"(Contributed by Andrew Svetlov in :issue:`34793`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1039 -msgid "" -"The :func:`!sys.getcounts` function, the ``-X showalloccount`` command line " -"option and the ``show_alloc_count`` field of the C structure " -":c:type:`PyConfig` have been removed. They required a special Python build " -"by defining ``COUNT_ALLOCS`` macro. (Contributed by Victor Stinner in " -":issue:`39489`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1045 -msgid "" -"The ``_field_types`` attribute of the :class:`typing.NamedTuple` class has " -"been removed. It was deprecated since Python 3.8. Use the " -"``__annotations__`` attribute instead. (Contributed by Serhiy Storchaka in " -":issue:`40182`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1050 -msgid "" -"The :meth:`!symtable.SymbolTable.has_exec` method has been removed. It was " -"deprecated since 2006, and only returning ``False`` when it's called. " -"(Contributed by Batuhan Taskaya in :issue:`40208`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1054 -msgid "" -"The :meth:`!asyncio.Task.current_task` and :meth:`!asyncio.Task.all_tasks` " -"have been removed. They were deprecated since Python 3.7 and you can use " -":func:`asyncio.current_task` and :func:`asyncio.all_tasks` instead. " -"(Contributed by Rémi Lapeyre in :issue:`40967`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1059 -msgid "" -"The ``unescape()`` method in the :class:`html.parser.HTMLParser` class has " -"been removed (it was deprecated since Python 3.4). :func:`html.unescape` " -"should be used for converting character references to the corresponding " -"unicode characters." -msgstr "" - -#: ../../whatsnew/3.9.rst:1066 ../../whatsnew/3.9.rst:1334 -msgid "Porting to Python 3.9" -msgstr "" - -#: ../../whatsnew/3.9.rst:1068 -msgid "" -"This section lists previously described changes and other bugfixes that may " -"require changes to your code." -msgstr "" - -#: ../../whatsnew/3.9.rst:1073 -msgid "Changes in the Python API" -msgstr "Perubahan pada API Python" - -#: ../../whatsnew/3.9.rst:1075 -msgid "" -":func:`__import__` and :func:`importlib.util.resolve_name` now raise " -":exc:`ImportError` where it previously raised :exc:`ValueError`. Callers " -"catching the specific exception type and supporting both Python 3.9 and " -"earlier versions will need to catch both using ``except (ImportError, " -"ValueError):``." -msgstr "" - -#: ../../whatsnew/3.9.rst:1080 -msgid "" -"The :mod:`venv` activation scripts no longer special-case when " -"``__VENV_PROMPT__`` is set to ``\"\"``." -msgstr "" - -#: ../../whatsnew/3.9.rst:1083 -msgid "" -"The :meth:`select.epoll.unregister` method no longer ignores the " -":const:`~errno.EBADF` error. (Contributed by Victor Stinner in " -":issue:`39239`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1087 -msgid "" -"The *compresslevel* parameter of :class:`bz2.BZ2File` became keyword-only, " -"since the *buffering* parameter has been removed. (Contributed by Victor " -"Stinner in :issue:`39357`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1091 -msgid "" -"Simplified AST for subscription. Simple indices will be represented by their" -" value, extended slices will be represented as tuples. ``Index(value)`` will" -" return a ``value`` itself, ``ExtSlice(slices)`` will return ``Tuple(slices," -" Load())``. (Contributed by Serhiy Storchaka in :issue:`34822`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1097 -msgid "" -"The :mod:`importlib` module now ignores the :envvar:`PYTHONCASEOK` " -"environment variable when the :option:`-E` or :option:`-I` command line " -"options are being used." -msgstr "" - -#: ../../whatsnew/3.9.rst:1101 -msgid "" -"The *encoding* parameter has been added to the classes :class:`ftplib.FTP` " -"and :class:`ftplib.FTP_TLS` as a keyword-only parameter, and the default " -"encoding is changed from Latin-1 to UTF-8 to follow :rfc:`2640`." -msgstr "" - -#: ../../whatsnew/3.9.rst:1105 -msgid "" -":meth:`asyncio.loop.shutdown_default_executor` has been added to " -":class:`~asyncio.AbstractEventLoop`, meaning alternative event loops that " -"inherit from it should have this method defined. (Contributed by Kyle " -"Stanley in :issue:`34037`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1110 -msgid "" -"The constant values of future flags in the :mod:`__future__` module is " -"updated in order to prevent collision with compiler flags. Previously " -"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was clashing with ``CO_FUTURE_DIVISION``. " -"(Contributed by Batuhan Taskaya in :issue:`39562`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1115 -msgid "" -"``array('u')`` now uses :c:type:`wchar_t` as C type instead of " -"``Py_UNICODE``. This change doesn't affect to its behavior because " -"``Py_UNICODE`` is alias of :c:type:`wchar_t` since Python 3.3. (Contributed " -"by Inada Naoki in :issue:`34538`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1120 -msgid "" -"The :func:`logging.getLogger` API now returns the root logger when passed " -"the name ``'root'``, whereas previously it returned a non-root logger named " -"``'root'``. This could affect cases where user code explicitly wants a non-" -"root logger named ``'root'``, or instantiates a logger using " -"``logging.getLogger(__name__)`` in some top-level module called " -"``'root.py'``. (Contributed by Vinay Sajip in :issue:`37742`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1127 -msgid "" -"Division handling of :class:`~pathlib.PurePath` now returns " -":data:`NotImplemented` instead of raising a :exc:`TypeError` when passed " -"something other than an instance of ``str`` or :class:`~pathlib.PurePath`. " -"This allows creating compatible classes that don't inherit from those " -"mentioned types. (Contributed by Roger Aiudi in :issue:`34775`)." -msgstr "" - -#: ../../whatsnew/3.9.rst:1133 -msgid "" -"Starting with Python 3.9.5 the :mod:`ipaddress` module no longer accepts any" -" leading zeros in IPv4 address strings. Leading zeros are ambiguous and " -"interpreted as octal notation by some libraries. For example the legacy " -"function :func:`socket.inet_aton` treats leading zeros as octal notatation. " -"glibc implementation of modern :func:`~socket.inet_pton` does not accept any" -" leading zeros. (Contributed by Christian Heimes in :issue:`36384`)." -msgstr "" - -#: ../../whatsnew/3.9.rst:1141 -msgid "" -":func:`codecs.lookup` now normalizes the encoding name the same way as " -":func:`encodings.normalize_encoding`, except that :func:`codecs.lookup` also" -" converts the name to lower case. For example, ``\"latex+latin1\"`` encoding" -" name is now normalized to ``\"latex_latin1\"``. (Contributed by Jordon Xu " -"in :issue:`37751`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1149 -msgid "Changes in the C API" -msgstr "Perubahan dalam API C" - -#: ../../whatsnew/3.9.rst:1151 -msgid "" -"Instances of :ref:`heap-allocated types ` (such as those created" -" with :c:func:`PyType_FromSpec` and similar APIs) hold a reference to their " -"type object since Python 3.8. As indicated in the \"Changes in the C API\" " -"of Python 3.8, for the vast majority of cases, there should be no side " -"effect but for types that have a custom " -":c:member:`~PyTypeObject.tp_traverse` function, ensure that all custom " -"``tp_traverse`` functions of heap-allocated types visit the object's type." -msgstr "" - -#: ../../whatsnew/3.9.rst:1161 -msgid "" -"int\n" -"foo_traverse(PyObject *self, visitproc visit, void *arg)\n" -"{\n" -"// Rest of the traverse function\n" -"#if PY_VERSION_HEX >= 0x03090000\n" -" // This was not needed before Python 3.9 (Python issue 35810 and 40217)\n" -" Py_VISIT(Py_TYPE(self));\n" -"#endif\n" -"}" -msgstr "" - -#: ../../whatsnew/3.9.rst:1173 -msgid "" -"If your traverse function delegates to ``tp_traverse`` of its base class (or" -" another type), ensure that ``Py_TYPE(self)`` is visited only once. Note " -"that only :ref:`heap type ` are expected to visit the type in " -"``tp_traverse``." -msgstr "" - -#: ../../whatsnew/3.9.rst:1178 -msgid "For example, if your ``tp_traverse`` function includes:" -msgstr "" - -#: ../../whatsnew/3.9.rst:1180 -msgid "base->tp_traverse(self, visit, arg)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1184 -msgid "then add:" -msgstr "" - -#: ../../whatsnew/3.9.rst:1186 -msgid "" -"#if PY_VERSION_HEX >= 0x03090000\n" -" // This was not needed before Python 3.9 (bpo-35810 and bpo-40217)\n" -" if (base->tp_flags & Py_TPFLAGS_HEAPTYPE) {\n" -" // a heap type's tp_traverse already visited Py_TYPE(self)\n" -" } else {\n" -" Py_VISIT(Py_TYPE(self));\n" -" }\n" -"#else" -msgstr "" - -#: ../../whatsnew/3.9.rst:1197 -msgid "(See :issue:`35810` and :issue:`40217` for more information.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1199 -msgid "" -"The functions ``PyEval_CallObject``, ``PyEval_CallFunction``, " -"``PyEval_CallMethod`` and ``PyEval_CallObjectWithKeywords`` are deprecated. " -"Use :c:func:`PyObject_Call` and its variants instead. (See more details in " -":issue:`29548`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1205 -msgid "CPython bytecode changes" -msgstr "Perubahan bytecode CPython" - -#: ../../whatsnew/3.9.rst:1207 -msgid "" -"The :opcode:`!LOAD_ASSERTION_ERROR` opcode was added for handling the " -":keyword:`assert` statement. Previously, the assert statement would not work" -" correctly if the :exc:`AssertionError` exception was being shadowed. " -"(Contributed by Zackery Spytz in :issue:`34880`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1212 -msgid "" -"The :opcode:`COMPARE_OP` opcode was split into four distinct instructions:" -msgstr "" - -#: ../../whatsnew/3.9.rst:1214 -msgid "``COMPARE_OP`` for rich comparisons" -msgstr "" - -#: ../../whatsnew/3.9.rst:1215 -msgid "``IS_OP`` for 'is' and 'is not' tests" -msgstr "" - -#: ../../whatsnew/3.9.rst:1216 -msgid "``CONTAINS_OP`` for 'in' and 'not in' tests" -msgstr "" - -#: ../../whatsnew/3.9.rst:1217 -msgid "" -"``JUMP_IF_NOT_EXC_MATCH`` for checking exceptions in 'try-except' " -"statements." -msgstr "" - -#: ../../whatsnew/3.9.rst:1220 -msgid "(Contributed by Mark Shannon in :issue:`39156`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1224 -msgid "Build Changes" -msgstr "" - -#: ../../whatsnew/3.9.rst:1226 -msgid "" -"Added ``--with-platlibdir`` option to the ``configure`` script: name of the " -"platform-specific library directory, stored in the new " -":data:`sys.platlibdir` attribute. See :data:`sys.platlibdir` attribute for " -"more information. (Contributed by Jan Matějek, Matěj Cepl, Charalampos " -"Stratakis and Victor Stinner in :issue:`1294959`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1232 -msgid "" -"The ``COUNT_ALLOCS`` special build macro has been removed. (Contributed by " -"Victor Stinner in :issue:`39489`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1235 -msgid "" -"On non-Windows platforms, the :c:func:`!setenv` and :c:func:`!unsetenv` " -"functions are now required to build Python. (Contributed by Victor Stinner " -"in :issue:`39395`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1239 -msgid "" -"On non-Windows platforms, creating ``bdist_wininst`` installers is now " -"officially unsupported. (See :issue:`10945` for more details.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1242 -msgid "" -"When building Python on macOS from source, ``_tkinter`` now links with non-" -"system Tcl and Tk frameworks if they are installed in " -"``/Library/Frameworks``, as had been the case on older releases of macOS. If" -" a macOS SDK is explicitly configured, by using :option:`--enable-" -"universalsdk` or ``-isysroot``, only the SDK itself is searched. The default" -" behavior can still be overridden with ``--with-tcltk-includes`` and " -"``--with-tcltk-libs``. (Contributed by Ned Deily in :issue:`34956`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1251 -msgid "" -"Python can now be built for Windows 10 ARM64. (Contributed by Steve Dower in" -" :issue:`33125`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1254 -msgid "" -"Some individual tests are now skipped when ``--pgo`` is used. The tests in " -"question increased the PGO task time significantly and likely didn't help " -"improve optimization of the final executable. This speeds up the task by a " -"factor of about 15x. Running the full unit test suite is slow. This change" -" may result in a slightly less optimized build since not as many code " -"branches will be executed. If you are willing to wait for the much slower " -"build, the old behavior can be restored using ``./configure [..] " -"PROFILE_TASK=\"-m test --pgo-extended\"``. We make no guarantees as to " -"which PGO task set produces a faster build. Users who care should run their" -" own relevant benchmarks as results can depend on the environment, workload," -" and compiler tool chain. (See :issue:`36044` and :issue:`37707` for more " -"details.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1269 -msgid "C API Changes" -msgstr "" - -#: ../../whatsnew/3.9.rst:1274 -msgid "" -":pep:`573`: Added :c:func:`PyType_FromModuleAndSpec` to associate a module " -"with a class; :c:func:`PyType_GetModule` and :c:func:`PyType_GetModuleState`" -" to retrieve the module and its state; and :c:type:`PyCMethod` and " -":c:macro:`METH_METHOD` to allow a method to access the class it was defined " -"in. (Contributed by Marcel Plch and Petr Viktorin in :issue:`38787`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1281 -msgid "" -"Added :c:func:`PyFrame_GetCode` function: get a frame code. Added " -":c:func:`PyFrame_GetBack` function: get the frame next outer frame. " -"(Contributed by Victor Stinner in :issue:`40421`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1285 -msgid "" -"Added :c:func:`PyFrame_GetLineNumber` to the limited C API. (Contributed by " -"Victor Stinner in :issue:`40421`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1288 -msgid "" -"Added :c:func:`PyThreadState_GetInterpreter` and " -":c:func:`PyInterpreterState_Get` functions to get the interpreter. Added " -":c:func:`PyThreadState_GetFrame` function to get the current frame of a " -"Python thread state. Added :c:func:`PyThreadState_GetID` function: get the " -"unique identifier of a Python thread state. (Contributed by Victor Stinner " -"in :issue:`39947`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1296 -msgid "" -"Added a new public :c:func:`PyObject_CallNoArgs` function to the C API, " -"which calls a callable Python object without any arguments. It is the most " -"efficient way to call a callable Python object without any argument. " -"(Contributed by Victor Stinner in :issue:`37194`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1301 ../../whatsnew/3.9.rst:1419 -msgid "Changes in the limited C API (if ``Py_LIMITED_API`` macro is defined):" -msgstr "" - -#: ../../whatsnew/3.9.rst:1303 -msgid "" -"Provide :c:func:`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall` " -"as regular functions for the limited API. Previously, there were defined as " -"macros, but these macros didn't compile with the limited C API which cannot " -"access ``PyThreadState.recursion_depth`` field (the structure is opaque in " -"the limited C API)." -msgstr "" - -#: ../../whatsnew/3.9.rst:1309 -msgid "" -"``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` become regular \"opaque\" " -"function to hide implementation details." -msgstr "" - -#: ../../whatsnew/3.9.rst:1312 ../../whatsnew/3.9.rst:1446 -msgid "(Contributed by Victor Stinner in :issue:`38644` and :issue:`39542`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1314 -msgid "" -"The :c:func:`PyModule_AddType` function is added to help adding a type to a " -"module. (Contributed by Donghee Na in :issue:`40024`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1318 -msgid "" -"Added the functions :c:func:`PyObject_GC_IsTracked` and " -":c:func:`PyObject_GC_IsFinalized` to the public API to allow to query if " -"Python objects are being currently tracked or have been already finalized by" -" the garbage collector respectively. (Contributed by Pablo Galindo Salgado " -"in :issue:`40241`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1324 -msgid "" -"Added :c:func:`!_PyObject_FunctionStr` to get a user-friendly string " -"representation of a function-like object. (Patch by Jeroen Demeyer in " -":issue:`37645`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1328 -msgid "" -"Added :c:func:`PyObject_CallOneArg` for calling an object with one " -"positional argument (Patch by Jeroen Demeyer in :issue:`37483`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1336 -msgid "" -"``PyInterpreterState.eval_frame`` (:pep:`523`) now requires a new mandatory " -"*tstate* parameter (``PyThreadState*``). (Contributed by Victor Stinner in " -":issue:`38500`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1340 -msgid "" -"Extension modules: :c:member:`~PyModuleDef.m_traverse`, " -":c:member:`~PyModuleDef.m_clear` and :c:member:`~PyModuleDef.m_free` " -"functions of :c:type:`PyModuleDef` are no longer called if the module state " -"was requested but is not allocated yet. This is the case immediately after " -"the module is created and before the module is executed " -"(:c:data:`Py_mod_exec` function). More precisely, these functions are not " -"called if :c:member:`~PyModuleDef.m_size` is greater than 0 and the module " -"state (as returned by :c:func:`PyModule_GetState`) is ``NULL``." -msgstr "" - -#: ../../whatsnew/3.9.rst:1349 -msgid "" -"Extension modules without module state (``m_size <= 0``) are not affected." -msgstr "" - -#: ../../whatsnew/3.9.rst:1351 -msgid "" -"If :c:func:`Py_AddPendingCall` is called in a subinterpreter, the function " -"is now scheduled to be called from the subinterpreter, rather than being " -"called from the main interpreter. Each subinterpreter now has its own list " -"of scheduled calls. (Contributed by Victor Stinner in :issue:`39984`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1357 -msgid "" -"The Windows registry is no longer used to initialize :data:`sys.path` when " -"the ``-E`` option is used (if :c:member:`PyConfig.use_environment` is set to" -" ``0``). This is significant when embedding Python on Windows. (Contributed " -"by Zackery Spytz in :issue:`8901`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1362 -msgid "" -"The global variable :c:data:`PyStructSequence_UnnamedField` is now a " -"constant and refers to a constant string. (Contributed by Serhiy Storchaka " -"in :issue:`38650`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1366 -msgid "" -"The :c:type:`!PyGC_Head` structure is now opaque. It is only defined in the " -"internal C API (``pycore_gc.h``). (Contributed by Victor Stinner in " -":issue:`40241`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1370 -msgid "" -"The ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, " -":c:func:`!PyUnicode_FromUnicode`, :c:func:`!PyUnicode_AsUnicode`, " -"``_PyUnicode_AsUnicode``, and :c:func:`!PyUnicode_AsUnicodeAndSize` are " -"marked as deprecated in C. They have been deprecated by :pep:`393` since " -"Python 3.3. (Contributed by Inada Naoki in :issue:`36346`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1377 -msgid "" -"The :c:func:`Py_FatalError` function is replaced with a macro which logs " -"automatically the name of the current function, unless the " -"``Py_LIMITED_API`` macro is defined. (Contributed by Victor Stinner in " -":issue:`39882`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1382 -msgid "" -"The vectorcall protocol now requires that the caller passes only strings as " -"keyword names. (See :issue:`37540` for more information.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1385 -msgid "" -"Implementation details of a number of macros and functions are now hidden:" -msgstr "" - -#: ../../whatsnew/3.9.rst:1387 -msgid ":c:func:`PyObject_IS_GC` macro was converted to a function." -msgstr "" - -#: ../../whatsnew/3.9.rst:1389 -msgid "" -"The :c:func:`!PyObject_NEW` macro becomes an alias to the " -":c:macro:`PyObject_New` macro, and the :c:func:`!PyObject_NEW_VAR` macro " -"becomes an alias to the :c:macro:`PyObject_NewVar` macro. They no longer " -"access directly the :c:member:`PyTypeObject.tp_basicsize` member." -msgstr "" - -#: ../../whatsnew/3.9.rst:1394 -msgid "" -":c:func:`!PyObject_GET_WEAKREFS_LISTPTR` macro was converted to a function: " -"the macro accessed directly the :c:member:`PyTypeObject.tp_weaklistoffset` " -"member." -msgstr "" - -#: ../../whatsnew/3.9.rst:1398 -msgid "" -":c:func:`PyObject_CheckBuffer` macro was converted to a function: the macro " -"accessed directly the :c:member:`PyTypeObject.tp_as_buffer` member." -msgstr "" - -#: ../../whatsnew/3.9.rst:1401 -msgid "" -":c:func:`PyIndex_Check` is now always declared as an opaque function to hide" -" implementation details: removed the ``PyIndex_Check()`` macro. The macro " -"accessed directly the :c:member:`PyTypeObject.tp_as_number` member." -msgstr "" - -#: ../../whatsnew/3.9.rst:1405 -msgid "(See :issue:`40170` for more details.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1410 -msgid "" -"Excluded ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros of " -"``pyfpe.h`` from the limited C API. (Contributed by Victor Stinner in " -":issue:`38835`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1414 -msgid "" -"The ``tp_print`` slot of :ref:`PyTypeObject ` has been " -"removed. It was used for printing objects to files in Python 2.7 and before." -" Since Python 3.0, it has been ignored and unused. (Contributed by Jeroen " -"Demeyer in :issue:`36974`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1421 -msgid "Excluded the following functions from the limited C API:" -msgstr "" - -#: ../../whatsnew/3.9.rst:1423 -msgid "" -"``PyThreadState_DeleteCurrent()`` (Contributed by Joannah Nanjekye in " -":issue:`37878`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1425 -msgid "``_Py_CheckRecursionLimit``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1426 -msgid "``_Py_NewReference()``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1427 -msgid "``_Py_ForgetReference()``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1428 -msgid "``_PyTraceMalloc_NewReference()``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1429 -msgid "``_Py_GetRefTotal()``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1430 -msgid "The trashcan mechanism which never worked in the limited C API." -msgstr "" - -#: ../../whatsnew/3.9.rst:1431 -msgid "``PyTrash_UNWIND_LEVEL``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1432 -msgid "``Py_TRASHCAN_BEGIN_CONDITION``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1433 -msgid "``Py_TRASHCAN_BEGIN``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1434 -msgid "``Py_TRASHCAN_END``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1435 -msgid "``Py_TRASHCAN_SAFE_BEGIN``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1436 -msgid "``Py_TRASHCAN_SAFE_END``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1438 -msgid "Moved following functions and definitions to the internal C API:" -msgstr "" - -#: ../../whatsnew/3.9.rst:1440 -msgid "``_PyDebug_PrintTotalRefs()``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1441 -msgid "``_Py_PrintReferences()``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1442 -msgid "``_Py_PrintReferenceAddresses()``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1443 -msgid "``_Py_tracemalloc_config``" -msgstr "" - -#: ../../whatsnew/3.9.rst:1444 -msgid "``_Py_AddToAllObjects()`` (specific to ``Py_TRACE_REFS`` build)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1448 -msgid "" -"Removed ``_PyRuntime.getframe`` hook and removed ``_PyThreadState_GetFrame``" -" macro which was an alias to ``_PyRuntime.getframe``. They were only exposed" -" by the internal C API. Removed also ``PyThreadFrameGetter`` type. " -"(Contributed by Victor Stinner in :issue:`39946`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1453 -msgid "" -"Removed the following functions from the C API. Call :c:func:`PyGC_Collect` " -"explicitly to clear all free lists. (Contributed by Inada Naoki and Victor " -"Stinner in :issue:`37340`, :issue:`38896` and :issue:`40428`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1458 -msgid "``PyAsyncGen_ClearFreeLists()``" -msgstr "``PyAsyncGen_ClearFreeLists()``" - -#: ../../whatsnew/3.9.rst:1459 -msgid "``PyContext_ClearFreeList()``" -msgstr "``PyContext_ClearFreeList()``" - -#: ../../whatsnew/3.9.rst:1460 -msgid "``PyDict_ClearFreeList()``" -msgstr "``PyDict_ClearFreeList()``" - -#: ../../whatsnew/3.9.rst:1461 -msgid "``PyFloat_ClearFreeList()``" -msgstr "``PyFloat_ClearFreeList()``" - -#: ../../whatsnew/3.9.rst:1462 -msgid "``PyFrame_ClearFreeList()``" -msgstr "``PyFrame_ClearFreeList()``" - -#: ../../whatsnew/3.9.rst:1463 -msgid "``PyList_ClearFreeList()``" -msgstr "``PyList_ClearFreeList()``" - -#: ../../whatsnew/3.9.rst:1464 -msgid "" -"``PyMethod_ClearFreeList()`` and ``PyCFunction_ClearFreeList()``: the free " -"lists of bound method objects have been removed." -msgstr "" - -#: ../../whatsnew/3.9.rst:1466 -msgid "" -"``PySet_ClearFreeList()``: the set free list has been removed in Python 3.4." -msgstr "" - -#: ../../whatsnew/3.9.rst:1468 -msgid "``PyTuple_ClearFreeList()``" -msgstr "``PyTuple_ClearFreeList()``" - -#: ../../whatsnew/3.9.rst:1469 -msgid "" -"``PyUnicode_ClearFreeList()``: the Unicode free list has been removed in " -"Python 3.3." -msgstr "" - -#: ../../whatsnew/3.9.rst:1472 -msgid "" -"Removed ``_PyUnicode_ClearStaticStrings()`` function. (Contributed by Victor" -" Stinner in :issue:`39465`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1475 -msgid "" -"Removed ``Py_UNICODE_MATCH``. It has been deprecated by :pep:`393`, and " -"broken since Python 3.3. The :c:func:`PyUnicode_Tailmatch` function can be " -"used instead. (Contributed by Inada Naoki in :issue:`36346`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1480 -msgid "" -"Cleaned header files of interfaces defined but with no implementation. The " -"public API symbols being removed are: " -"``_PyBytes_InsertThousandsGroupingLocale``, " -"``_PyBytes_InsertThousandsGrouping``, ``_Py_InitializeFromArgs``, " -"``_Py_InitializeFromWideArgs``, ``_PyFloat_Repr``, ``_PyFloat_Digits``, " -"``_PyFloat_DigitsInit``, ``PyFrame_ExtendStack``, ``_PyAIterWrapper_Type``, " -"``PyNullImporter_Type``, ``PyCmpWrapper_Type``, ``PySortWrapper_Type``, " -"``PyNoArgsFunction``. (Contributed by Pablo Galindo Salgado in " -":issue:`39372`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1491 -msgid "Notable changes in Python 3.9.1" -msgstr "" - -#: ../../whatsnew/3.9.rst:1496 -msgid "" -"The behavior of :class:`typing.Literal` was changed to conform with " -":pep:`586` and to match the behavior of static type checkers specified in " -"the PEP." -msgstr "" - -#: ../../whatsnew/3.9.rst:1499 -msgid "``Literal`` now de-duplicates parameters." -msgstr "" - -#: ../../whatsnew/3.9.rst:1500 -msgid "" -"Equality comparisons between ``Literal`` objects are now order independent." -msgstr "" - -#: ../../whatsnew/3.9.rst:1501 -msgid "" -"``Literal`` comparisons now respect types. For example, ``Literal[0] == " -"Literal[False]`` previously evaluated to ``True``. It is now ``False``. To" -" support this change, the internally used type cache now supports " -"differentiating types." -msgstr "" - -#: ../../whatsnew/3.9.rst:1505 -msgid "" -"``Literal`` objects will now raise a :exc:`TypeError` exception during " -"equality comparisons if any of their parameters are not :term:`hashable`. " -"Note that declaring ``Literal`` with mutable parameters will not throw an " -"error::" -msgstr "" - -#: ../../whatsnew/3.9.rst:1510 -msgid "" -">>> from typing import Literal\n" -">>> Literal[{0}]\n" -">>> Literal[{0}] == Literal[{False}]\n" -"Traceback (most recent call last):\n" -" File \"\", line 1, in \n" -"TypeError: unhashable type: 'set'" -msgstr "" - -#: ../../whatsnew/3.9.rst:1517 -msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1520 -msgid "macOS 11.0 (Big Sur) and Apple Silicon Mac support" -msgstr "" - -#: ../../whatsnew/3.9.rst:1522 -msgid "" -"As of 3.9.1, Python now fully supports building and running on macOS 11.0 " -"(Big Sur) and on Apple Silicon Macs (based on the ``ARM64`` architecture). A" -" new universal build variant, ``universal2``, is now available to natively " -"support both ``ARM64`` and ``Intel 64`` in one set of executables. Binaries " -"can also now be built on current versions of macOS to be deployed on a range" -" of older macOS versions (tested to 10.9) while making some newer OS " -"functions and options conditionally available based on the operating system " -"version in use at runtime (\"weaklinking\")." -msgstr "" - -#: ../../whatsnew/3.9.rst:1531 -msgid "" -"(Contributed by Ronald Oussoren and Lawrence D'Anna in :issue:`41100`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1534 -msgid "Notable changes in Python 3.9.2" -msgstr "" - -#: ../../whatsnew/3.9.rst:1537 -msgid "collections.abc" -msgstr "" - -#: ../../whatsnew/3.9.rst:1539 -msgid "" -":class:`collections.abc.Callable` generic now flattens type parameters, " -"similar to what :data:`typing.Callable` currently does. This means that " -"``collections.abc.Callable[[int, str], str]`` will have ``__args__`` of " -"``(int, str, str)``; previously this was ``([int, str], str)``. To allow " -"this change, :class:`types.GenericAlias` can now be subclassed, and a " -"subclass will be returned when subscripting the " -":class:`collections.abc.Callable` type. Code which accesses the arguments " -"via :func:`typing.get_args` or ``__args__`` need to account for this change." -" A :exc:`DeprecationWarning` may be emitted for invalid forms of " -"parameterizing :class:`collections.abc.Callable` which may have passed " -"silently in Python 3.9.1. This :exc:`DeprecationWarning` will become a " -":exc:`TypeError` in Python 3.10. (Contributed by Ken Jin in :issue:`42195`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1553 ../../whatsnew/3.9.rst:1578 -msgid "urllib.parse" -msgstr "urllib.parse" - -#: ../../whatsnew/3.9.rst:1555 -msgid "" -"Earlier Python versions allowed using both ``;`` and ``&`` as query " -"parameter separators in :func:`urllib.parse.parse_qs` and " -":func:`urllib.parse.parse_qsl`. Due to security concerns, and to conform " -"with newer W3C recommendations, this has been changed to allow only a single" -" separator key, with ``&`` as the default. This change also affects " -":func:`!cgi.parse` and :func:`!cgi.parse_multipart` as they use the affected" -" functions internally. For more details, please see their respective " -"documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin" -" in :issue:`42967`.)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1566 -msgid "Notable changes in Python 3.9.3" -msgstr "" - -#: ../../whatsnew/3.9.rst:1568 -msgid "" -"A security fix alters the :class:`ftplib.FTP` behavior to not trust the IPv4" -" address sent from the remote server when setting up a passive data channel." -" We reuse the ftp server IP address instead. For unusual code requiring " -"the old behavior, set a ``trust_server_pasv_ipv4_address`` attribute on your" -" FTP instance to ``True``. (See :gh:`87451`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1575 -msgid "Notable changes in Python 3.9.5" -msgstr "" - -#: ../../whatsnew/3.9.rst:1580 -msgid "" -"The presence of newline or tab characters in parts of a URL allows for some " -"forms of attacks. Following the WHATWG specification that updates " -":rfc:`3986`, ASCII newline ``\\n``, ``\\r`` and tab ``\\t`` characters are " -"stripped from the URL by the parser in :mod:`urllib.parse` preventing such " -"attacks. The removal characters are controlled by a new module level " -"variable ``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. (See :gh:`88048`)" -msgstr "" - -#: ../../whatsnew/3.9.rst:1588 -msgid "Notable security feature in 3.9.14" -msgstr "" - -#: ../../whatsnew/3.9.rst:1590 -msgid "" -"Converting between :class:`int` and :class:`str` in bases other than 2 " -"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " -"now raises a :exc:`ValueError` if the number of digits in string form is " -"above a limit to avoid potential denial of service attacks due to the " -"algorithmic complexity. This is a mitigation for :cve:`2020-10735`. This " -"limit can be configured or disabled by environment variable, command line " -"flag, or :mod:`sys` APIs. See the :ref:`integer string conversion length " -"limitation ` documentation. The default limit is 4300 " -"digits in string form." -msgstr "" - -#: ../../whatsnew/3.9.rst:1601 -msgid "Notable changes in 3.9.17" -msgstr "" - -#: ../../whatsnew/3.9.rst:1604 -msgid "tarfile" -msgstr "tarfile" - -#: ../../whatsnew/3.9.rst:1606 -msgid "" -"The extraction methods in :mod:`tarfile`, and :func:`shutil.unpack_archive`," -" have a new a *filter* argument that allows limiting tar features than may " -"be surprising or dangerous, such as creating files outside the destination " -"directory. See :ref:`tarfile-extraction-filter` for details. In Python 3.12," -" use without the *filter* argument will show a :exc:`DeprecationWarning`. In" -" Python 3.14, the default will switch to ``'data'``. (Contributed by Petr " -"Viktorin in :pep:`706`.)" -msgstr "" diff --git a/python-newest.whatsnew--changelog/id.po b/python-newest.whatsnew--changelog/id.po deleted file mode 100644 index cabf502..0000000 --- a/python-newest.whatsnew--changelog/id.po +++ /dev/null @@ -1,82502 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# LIQRGV , 2024 -# oon arfiandwi , 2024 -# Iwan Setiawan , 2024 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Iwan Setiawan , 2024\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/changelog.rst:7 -msgid "Changelog" -msgstr "Catatan Perubahan" - -#: ../NEWS:3 -msgid "Python next" -msgstr "Python next" - -#: ../NEWS:5 -msgid "*Release date: XXXX-XX-XX*" -msgstr "*Tanggal rilis: XXXX-XX-XX*" - -#: ../NEWS:8 ../NEWS:59 ../NEWS:863 ../NEWS:1232 ../NEWS:2668 ../NEWS:3108 -#: ../NEWS:3763 ../NEWS:6679 ../NEWS:7156 ../NEWS:7641 ../NEWS:8151 -#: ../NEWS:9010 ../NEWS:9591 ../NEWS:11832 ../NEWS:13048 ../NEWS:13425 -#: ../NEWS:13711 ../NEWS:13997 ../NEWS:14394 ../NEWS:14732 ../NEWS:15157 -#: ../NEWS:17117 ../NEWS:18111 ../NEWS:18704 ../NEWS:19189 ../NEWS:19569 -#: ../NEWS:20012 ../NEWS:20496 ../NEWS:20953 ../NEWS:22727 ../NEWS:23547 -#: ../NEWS:24000 ../NEWS:24272 ../NEWS:24549 ../NEWS:25371 ../NEWS:25810 -#: ../NEWS:26840 ../NEWS:27309 ../NEWS:27769 ../NEWS:28227 ../NEWS:28618 -#: ../NEWS:29396 ../NEWS:31008 ../NEWS:32076 ../NEWS:32585 ../NEWS:32954 -#: ../NEWS:33199 ../NEWS:35789 ../NEWS:36334 ../NEWS:36717 ../NEWS:36925 -#: ../NEWS:37172 ../NEWS:37511 ../NEWS:37817 ../NEWS:38352 ../NEWS:40462 -#: ../NEWS:41059 ../NEWS:41390 ../NEWS:41801 ../NEWS:42179 ../NEWS:42750 -#: ../NEWS:42999 ../NEWS:43129 ../NEWS:43419 ../NEWS:43660 ../NEWS:44190 -#: ../NEWS:44422 ../NEWS:44925 ../NEWS:46194 ../NEWS:46699 ../NEWS:47333 -#: ../NEWS:48128 ../NEWS:48175 ../NEWS:48632 ../NEWS:49921 ../NEWS:51735 -msgid "Windows" -msgstr "Windows" - -#: ../NEWS:10 -msgid "" -":gh:`133626`: Ensures packages are not accidentally bundled into the " -"traditional installer." -msgstr "" - -#: ../NEWS:14 ../NEWS:77 ../NEWS:887 ../NEWS:1261 ../NEWS:1813 ../NEWS:2348 -#: ../NEWS:2684 ../NEWS:3146 ../NEWS:3816 ../NEWS:7120 ../NEWS:7583 -#: ../NEWS:8126 ../NEWS:8941 ../NEWS:9533 ../NEWS:11497 ../NEWS:12988 -#: ../NEWS:13407 ../NEWS:13681 ../NEWS:13958 ../NEWS:14364 ../NEWS:14689 -#: ../NEWS:15101 ../NEWS:16881 ../NEWS:18065 ../NEWS:18648 ../NEWS:19137 -#: ../NEWS:19485 ../NEWS:19938 ../NEWS:20346 ../NEWS:20849 ../NEWS:22559 -#: ../NEWS:23515 ../NEWS:23969 ../NEWS:24243 ../NEWS:24513 ../NEWS:24866 -#: ../NEWS:25312 ../NEWS:25787 ../NEWS:26768 ../NEWS:27290 ../NEWS:27731 -#: ../NEWS:28194 ../NEWS:28604 ../NEWS:29331 ../NEWS:30766 ../NEWS:32017 -#: ../NEWS:32470 ../NEWS:32927 ../NEWS:33166 ../NEWS:35504 ../NEWS:36540 -#: ../NEWS:36694 ../NEWS:36910 ../NEWS:37162 ../NEWS:37476 ../NEWS:37808 -#: ../NEWS:38292 ../NEWS:40287 ../NEWS:41031 ../NEWS:41144 ../NEWS:41369 -#: ../NEWS:41759 ../NEWS:42157 ../NEWS:42736 ../NEWS:43047 ../NEWS:43298 -#: ../NEWS:43433 ../NEWS:43704 ../NEWS:44134 ../NEWS:44407 ../NEWS:44661 -#: ../NEWS:44915 ../NEWS:46088 ../NEWS:46648 ../NEWS:47302 ../NEWS:47423 -#: ../NEWS:48046 ../NEWS:48608 ../NEWS:48852 ../NEWS:49029 ../NEWS:49338 -#: ../NEWS:49567 ../NEWS:49777 ../NEWS:51588 -msgid "Tests" -msgstr "Pengujian" - -#: ../NEWS:16 -msgid "" -":gh:`133639`: Fix ``TestPyReplAutoindent.test_auto_indent_default()`` " -"doesn't run ``input_code``." -msgstr "" - -#: ../NEWS:20 ../NEWS:108 ../NEWS:913 ../NEWS:1286 ../NEWS:1857 ../NEWS:2355 -#: ../NEWS:2709 ../NEWS:3162 ../NEWS:3933 ../NEWS:6322 ../NEWS:6876 -#: ../NEWS:7332 ../NEWS:7818 ../NEWS:8424 ../NEWS:9311 ../NEWS:10436 -#: ../NEWS:12488 ../NEWS:13240 ../NEWS:13552 ../NEWS:13846 ../NEWS:14139 -#: ../NEWS:14537 ../NEWS:14963 ../NEWS:15878 ../NEWS:17646 ../NEWS:18317 -#: ../NEWS:18956 ../NEWS:19350 ../NEWS:19769 ../NEWS:20182 ../NEWS:20647 -#: ../NEWS:21611 ../NEWS:23155 ../NEWS:23787 ../NEWS:24170 ../NEWS:24394 -#: ../NEWS:24668 ../NEWS:25065 ../NEWS:25620 ../NEWS:26240 ../NEWS:27112 -#: ../NEWS:27500 ../NEWS:27987 ../NEWS:28447 ../NEWS:28809 ../NEWS:29155 -#: ../NEWS:29811 ../NEWS:31577 ../NEWS:32244 ../NEWS:32787 ../NEWS:33082 -#: ../NEWS:33833 ../NEWS:36241 ../NEWS:36274 ../NEWS:36402 ../NEWS:36610 -#: ../NEWS:36801 ../NEWS:37006 ../NEWS:37304 ../NEWS:37625 ../NEWS:37950 -#: ../NEWS:38540 ../NEWS:39200 ../NEWS:40870 ../NEWS:41216 ../NEWS:41582 -#: ../NEWS:41906 ../NEWS:42009 ../NEWS:42472 ../NEWS:42859 ../NEWS:43162 -#: ../NEWS:43244 ../NEWS:43347 ../NEWS:43517 ../NEWS:43852 ../NEWS:44270 -#: ../NEWS:44488 ../NEWS:44725 ../NEWS:45262 ../NEWS:46289 ../NEWS:46307 -#: ../NEWS:46395 ../NEWS:46876 ../NEWS:47591 ../NEWS:48255 ../NEWS:48693 -#: ../NEWS:48720 ../NEWS:48758 ../NEWS:48778 ../NEWS:48885 ../NEWS:48979 -#: ../NEWS:49075 ../NEWS:49150 ../NEWS:49408 ../NEWS:49631 ../NEWS:49804 -#: ../NEWS:50162 -msgid "Library" -msgstr "Pustaka" - -#: ../NEWS:22 -msgid "" -":gh:`133581`: Improve unparsing of t-strings in :func:`ast.unparse` and " -"``from __future__ import annotations``. Empty t-strings now round-trip " -"correctly and formatting in interpolations is preserved. Patch by Jelle " -"Zijlstra." -msgstr "" - -#: ../NEWS:27 -msgid "" -":gh:`133551`: Support t-strings (:pep:`750`) in :mod:`annotationlib`. Patch " -"by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:30 -msgid "" -":gh:`133439`: Fix dot commands with trailing spaces are mistaken for multi-" -"line SQL statements in the sqlite3 command-line interface." -msgstr "" - -#: ../NEWS:33 -msgid "" -":gh:`125028`: :data:`functools.Placeholder` cannot be passed to " -":func:`functools.partial` as a keyword argument." -msgstr "" - -#: ../NEWS:36 -msgid "" -":gh:`69426`: Fix :class:`html.parser.HTMLParser` to not unescape character " -"entities in attribute values if they are followed by an ASCII alphanumeric " -"or an equals sign." -msgstr "" - -#: ../NEWS:41 ../NEWS:524 ../NEWS:1096 ../NEWS:1556 ../NEWS:2120 ../NEWS:2532 -#: ../NEWS:2936 ../NEWS:3557 ../NEWS:5159 ../NEWS:6129 ../NEWS:6765 -#: ../NEWS:7273 ../NEWS:7708 ../NEWS:8265 ../NEWS:9139 ../NEWS:9800 -#: ../NEWS:12272 ../NEWS:13166 ../NEWS:13472 ../NEWS:13781 ../NEWS:14030 -#: ../NEWS:14468 ../NEWS:14809 ../NEWS:15262 ../NEWS:17450 ../NEWS:18198 -#: ../NEWS:18799 ../NEWS:19240 ../NEWS:19622 ../NEWS:20056 ../NEWS:20538 -#: ../NEWS:21091 ../NEWS:23024 ../NEWS:23695 ../NEWS:24105 ../NEWS:24338 -#: ../NEWS:24595 ../NEWS:24963 ../NEWS:25540 ../NEWS:25900 ../NEWS:27054 -#: ../NEWS:27416 ../NEWS:27860 ../NEWS:28370 ../NEWS:28711 ../NEWS:29078 -#: ../NEWS:29494 ../NEWS:31413 ../NEWS:32174 ../NEWS:32712 ../NEWS:33018 -#: ../NEWS:33279 ../NEWS:36259 ../NEWS:36371 ../NEWS:36584 ../NEWS:36775 -#: ../NEWS:36985 ../NEWS:37229 ../NEWS:37548 ../NEWS:37852 ../NEWS:38452 -#: ../NEWS:38741 ../NEWS:40833 ../NEWS:41170 ../NEWS:41487 ../NEWS:41936 -#: ../NEWS:42425 ../NEWS:42767 ../NEWS:42791 ../NEWS:43115 ../NEWS:43145 -#: ../NEWS:43209 ../NEWS:43323 ../NEWS:43447 ../NEWS:43715 ../NEWS:44224 -#: ../NEWS:44471 ../NEWS:44685 ../NEWS:44977 ../NEWS:46283 ../NEWS:46344 -#: ../NEWS:46745 ../NEWS:47418 ../NEWS:47461 ../NEWS:48169 ../NEWS:48187 -#: ../NEWS:48710 ../NEWS:48745 ../NEWS:48773 ../NEWS:48865 ../NEWS:48952 -#: ../NEWS:49057 ../NEWS:49100 ../NEWS:49376 ../NEWS:49611 ../NEWS:49797 -#: ../NEWS:49936 -msgid "Core and Builtins" -msgstr "Inti dan Bawaan" - -#: ../NEWS:43 -msgid "" -":gh:`132762`: :meth:`~dict.fromkeys` no longer loops forever when adding a " -"small set of keys to a large base dict. Patch by Angela Liss." -msgstr "" - -#: ../NEWS:46 -msgid "" -":gh:`133541`: Inconsistent indentation in user input crashed the new REPL " -"when syntax highlighting was active. This is now fixed." -msgstr "" - -#: ../NEWS:49 -msgid "" -":gh:`133516`: Raise :exc:`ValueError` when constants ``True``, ``False`` or " -"``None`` are used as an identifier after NFKC normalization." -msgstr "" - -#: ../NEWS:54 -msgid "Python 3.14.0 beta 1" -msgstr "" - -#: ../NEWS:56 -msgid "*Release date: 2025-05-06*" -msgstr "" - -#: ../NEWS:61 -msgid "" -":gh:`132930`: Marks the installer for Windows as deprecated and updates " -"documentation to cover the new Python install manager." -msgstr "" - -#: ../NEWS:64 -msgid "" -":gh:`127405`: Add ``ABIFLAGS`` to :func:`sysconfig.get_config_vars` on " -"Windows. Patch by Xuehai Pan." -msgstr "" - -#: ../NEWS:68 ../NEWS:878 ../NEWS:1238 ../NEWS:1804 ../NEWS:2341 ../NEWS:2678 -#: ../NEWS:3137 ../NEWS:3810 ../NEWS:7673 ../NEWS:8195 ../NEWS:9632 -#: ../NEWS:11897 ../NEWS:13099 ../NEWS:13434 ../NEWS:14425 ../NEWS:14755 -#: ../NEWS:17246 ../NEWS:18132 ../NEWS:18739 ../NEWS:22815 ../NEWS:24921 -#: ../NEWS:25415 ../NEWS:27334 ../NEWS:27796 ../NEWS:28269 ../NEWS:31251 -#: ../NEWS:32114 ../NEWS:32653 ../NEWS:32995 ../NEWS:36118 ../NEWS:36740 -#: ../NEWS:36957 ../NEWS:37217 ../NEWS:37823 ../NEWS:38411 ../NEWS:40726 -#: ../NEWS:41114 ../NEWS:41455 ../NEWS:41878 ../NEWS:42365 ../NEWS:42730 -#: ../NEWS:43124 ../NEWS:43198 ../NEWS:44183 ../NEWS:44644 ../NEWS:44952 -#: ../NEWS:46212 ../NEWS:47321 ../NEWS:48147 ../NEWS:48670 ../NEWS:49357 -#: ../NEWS:49576 ../NEWS:49784 ../NEWS:51696 -msgid "Tools/Demos" -msgstr "Perkakas/Demo" - -#: ../NEWS:70 -msgid "" -":gh:`130453`: Allow passing multiple keyword arguments with the same " -"function name in :program:`pygettext`." -msgstr "" - -#: ../NEWS:73 -msgid "" -":gh:`130195`: Add warning messages when :program:`pygettext` unimplemented " -"``-a/--extract-all`` option is called." -msgstr "" - -#: ../NEWS:79 -msgid "" -":gh:`133131`: The iOS testbed will now select the most recently released " -"\"SE-class\" device for testing if a device isn't explicitly specified." -msgstr "" - -#: ../NEWS:82 -msgid "" -":gh:`91048`: Add ability to externally inspect all pending asyncio tasks, " -"even if no task is currently entered on the event loop." -msgstr "" - -#: ../NEWS:85 -msgid "" -":gh:`109981`: The test helper that counts the list of open file descriptors " -"now uses the optimised ``/dev/fd`` approach on all Apple platforms, not just" -" macOS. This avoids crashes caused by guarded file descriptors." -msgstr "" - -#: ../NEWS:89 -msgid "" -":gh:`132678`: Add ``--prioritize`` to ``-m test``. This option allows the " -"user to specify which selected tests should execute first, even if the order" -" is otherwise randomized. This is particularly useful for tests that run the" -" longest." -msgstr "" - -#: ../NEWS:94 -msgid "" -":gh:`131290`: Tests in :file:`Lib/test` can now be correctly executed as " -"standalone scripts." -msgstr "" - -#: ../NEWS:98 ../NEWS:898 ../NEWS:1278 ../NEWS:1829 ../NEWS:2701 ../NEWS:3157 -#: ../NEWS:3882 ../NEWS:6119 ../NEWS:7256 ../NEWS:7700 ../NEWS:8256 -#: ../NEWS:9775 ../NEWS:12254 ../NEWS:13451 ../NEWS:13772 ../NEWS:14454 -#: ../NEWS:14789 ../NEWS:15224 ../NEWS:17443 ../NEWS:21064 ../NEWS:22968 -#: ../NEWS:23673 ../NEWS:24098 ../NEWS:24332 ../NEWS:24956 ../NEWS:25529 -#: ../NEWS:25879 ../NEWS:27048 ../NEWS:27401 ../NEWS:27853 ../NEWS:28359 -#: ../NEWS:29060 ../NEWS:29445 ../NEWS:31398 ../NEWS:32156 ../NEWS:32700 -#: ../NEWS:33231 ../NEWS:36761 ../NEWS:36979 ../NEWS:38707 ../NEWS:41160 -#: ../NEWS:41927 ../NEWS:42391 ../NEWS:42418 ../NEWS:44462 ../NEWS:44673 -#: ../NEWS:44964 ../NEWS:46260 ../NEWS:46319 ../NEWS:46736 ../NEWS:47439 -msgid "Security" -msgstr "Keamanan" - -#: ../NEWS:100 -msgid "" -":gh:`115322`: The underlying extension modules behind :mod:`readline`:, " -":mod:`subprocess`, and :mod:`ctypes` now raise audit events on previously " -"uncovered code paths that could lead to file system access related to C " -"function calling and external binary execution. The " -"``ctypes.call_function`` audit hook has also been fixed to use an unsigned " -"value for its ``function pointer``." -msgstr "" - -#: ../NEWS:110 -msgid ":gh:`133490`: Add color support to PDB in remote mode." -msgstr "" - -#: ../NEWS:112 -msgid "" -":gh:`132493`: Avoid eagerly evaluating annotations in functions decorated " -"with :func:`reprlib.recursive_repr`." -msgstr "" - -#: ../NEWS:115 -msgid "" -":gh:`130645`: Add color to stdlib argparse CLIs. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:117 -msgid "" -":gh:`119180`: Make :func:`annotationlib.get_annotations` succeed with the " -"``FORWARDREF`` format if evaluating the annotations throws an exception " -"other than :exc:`NameError` or :exc:`AttributeError`." -msgstr "" - -#: ../NEWS:121 -msgid "" -":gh:`133351`: Fix remote PDB to correctly request tab completions for Python" -" expressions from the server when completing a continuation line of a multi-" -"line Python block." -msgstr "" - -#: ../NEWS:125 -msgid "" -":gh:`133367`: Add the ``--feature-version``, ``--optimize``, and ``--show-" -"empty`` options to the :mod:`ast` command-line interface. Patch by Semyon " -"Moroz." -msgstr "" - -#: ../NEWS:129 -msgid "" -":gh:`133363`: The :class:`cmd.Cmd` class has been fixed to reliably call the" -" ``completedefault`` method whenever the ``do_shell`` method is not defined " -"and tab completion is requested for a line beginning with ``!``." -msgstr "" - -#: ../NEWS:133 -msgid ":gh:`113081`: Highlight syntax on source code in :mod:`pdb`." -msgstr "" - -#: ../NEWS:135 -msgid ":gh:`133349`: Introduced auto-indent in :mod:`pdb` multi-line input." -msgstr "" - -#: ../NEWS:137 -msgid "" -":gh:`133306`: Use ``\\z`` instead of ``\\Z`` in :func:`fnmatch.translate` " -"and :func:`glob.translate`." -msgstr "" - -#: ../NEWS:140 -msgid "" -":gh:`133306`: Support ``\\z`` as a synonym for ``\\Z`` in :mod:`regular " -"expressions `." -msgstr "" - -#: ../NEWS:143 -msgid "" -":gh:`133300`: Make :class:`argparse.ArgumentParser`'s ``suggest_on_error`` a" -" keyword-only parameter. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:146 -msgid "" -":gh:`133290`: Fix attribute caching issue when setting " -":attr:`ctypes._Pointer._type_` in the undocumented and deprecated " -":func:`!ctypes.SetPointerType` function and the undocumented " -":meth:`!set_type` method." -msgstr "" - -#: ../NEWS:151 -msgid "" -":gh:`133223`: When PDB is attached to a remote process, do a better job of " -"intercepting Ctrl+C and forwarding it to the remote process." -msgstr "" - -#: ../NEWS:154 -msgid "" -":gh:`133153`: Do not complete :mod:`pdb` commands in ``interact`` mode of " -":mod:`pdb`." -msgstr "" - -#: ../NEWS:157 -msgid "" -":gh:`133139`: Add the :func:`curses.assume_default_colors` function, a " -"refinement of the :func:`curses.use_default_colors` function which allows to" -" change the color pair ``0``." -msgstr "" - -#: ../NEWS:161 -msgid "" -":gh:`133089`: Use original timeout value for " -":exc:`subprocess.TimeoutExpired` when the func :meth:`subprocess.run` is " -"called with a timeout instead of sometimes a confusing partial remaining " -"time out value used internally on the final ``wait()``." -msgstr "" - -#: ../NEWS:166 -msgid "" -":gh:`133036`: :func:`codecs.open` is now deprecated. Use :func:`open` " -"instead. Contributed by Inada Naoki." -msgstr "" - -#: ../NEWS:169 -msgid "" -":gh:`132987`: Many builtin and extension functions which accept an unsigned " -"integer argument, now use :meth:`~object.__index__` if available." -msgstr "" - -#: ../NEWS:172 -msgid "" -":gh:`124703`: Set return code to ``1`` when aborting process from " -":mod:`pdb`." -msgstr "" - -#: ../NEWS:174 -msgid "" -":gh:`133005`: Support passing ``preset`` option to :func:`tarfile.open` when" -" using ``'w|xz'`` mode." -msgstr "" - -#: ../NEWS:177 -msgid "" -":gh:`115032`: Support for custom logging handlers with the *strm* argument " -"is deprecated and scheduled for removal in Python 3.16. Define handlers with" -" the *stream* argument instead. Patch by Mariusz Felisiak." -msgstr "" - -#: ../NEWS:181 -msgid "" -":gh:`132991`: Add :data:`!socket.IP_FREEBIND` constant on Linux 2.4 and " -"later." -msgstr "" - -#: ../NEWS:184 -msgid "" -":gh:`132995`: Bump the version of pip bundled in ensurepip to version 25.1.1" -msgstr "" - -#: ../NEWS:186 -msgid "" -":gh:`132933`: The zipapp module now applies the filter when creating the " -"list of files to add, rather than waiting until the file is being added to " -"the archive." -msgstr "" - -#: ../NEWS:190 -msgid "" -":gh:`121249`: Always support the :c:expr:`float complex` and :c:expr:`double" -" complex` C types in the :mod:`struct` module. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:194 -msgid "" -":gh:`132915`: :func:`fcntl.fcntl` and :func:`fcntl.ioctl` can now detect a " -"buffer overflow and raise :exc:`SystemError`. The stack and memory can be " -"corrupted in such case, so treat this error as fatal." -msgstr "" - -#: ../NEWS:198 -msgid "" -":gh:`132017`: Fix error when ``pyrepl`` is suspended, then resumed and " -"terminated." -msgstr "" - -#: ../NEWS:201 -msgid "" -":gh:`132893`: Improved :meth:`statistics.NormalDist.cdf` accuracy for inputs" -" smaller than the mean." -msgstr "" - -#: ../NEWS:204 -msgid "" -":gh:`130328`: Speedup pasting in ``PyREPL`` on Windows. Fix by Chris Eibl." -msgstr "" - -#: ../NEWS:206 -msgid "" -":gh:`132882`: Fix copying of :class:`typing.Union` objects containing " -"objects that do not support the ``|`` operator." -msgstr "" - -#: ../NEWS:209 -msgid "" -":gh:`93696`: Fixed the breakpoint display error for frozen modules in " -":mod:`pdb`." -msgstr "" - -#: ../NEWS:212 -msgid "" -":gh:`129965`: Add MIME types for ``.7z``, ``.apk``, ``.deb``, ``.glb``, " -"``.gltf``, ``.gz``, ``.m4v``, ``.php``, ``.rar``, ``.rpm``, ``.stl`` and " -"``.wmv``. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:216 -msgid "" -":gh:`132742`: :func:`fcntl.fcntl` now supports arbitrary :term:`bytes-like " -"objects `, not only :class:`bytes`. :func:`fcntl.ioctl` " -"now automatically retries system calls failing with EINTR and releases the " -"GIL during a system call even for large bytes-like object." -msgstr "" - -#: ../NEWS:221 -msgid "" -":gh:`132451`: The CLI for the PDB debugger now accepts a ``-p PID`` argument" -" to allow attaching to a running process. The process must be running the " -"same version of Python as the one running PDB." -msgstr "" - -#: ../NEWS:225 -msgid "" -":gh:`125618`: Add a *format* parameter to " -":meth:`annotationlib.ForwardRef.evaluate`. Evaluating annotations in the " -"``FORWARDREF`` format now succeeds in more cases that would previously have " -"raised an exception." -msgstr "" - -#: ../NEWS:230 -msgid "" -":gh:`132805`: Fix incorrect handling of nested non-constant values in the " -"FORWARDREF format in :mod:`annotationlib`." -msgstr "" - -#: ../NEWS:233 -msgid ":gh:`132734`: Add new constants for Bluetooth :mod:`sockets `." -msgstr "" - -#: ../NEWS:235 -msgid "" -":gh:`132673`: Fix :exc:`AssertionError` raised on :class:`ctypes.Structure` " -"with ``_align_ = 0`` and ``_fields_ = []``." -msgstr "" - -#: ../NEWS:238 -msgid "" -":gh:`132578`: Rename the ``threading.Thread._handle`` field to avoid " -"shadowing methods defined on subclasses of ``threading.Thread``." -msgstr "" - -#: ../NEWS:241 -msgid "" -":gh:`132561`: Fix the public ``locked`` method of " -"``multiprocessing.SemLock`` class. Also adding 2 tests for the derivated " -":class:`multiprocessing.Lock` and :class:`multiprocessing.RLock` classes." -msgstr "" - -#: ../NEWS:245 -msgid "" -":gh:`121468`: Add :func:`pdb.set_trace_async` function to support " -":keyword:`await` statements in :mod:`pdb`." -msgstr "" - -#: ../NEWS:248 -msgid "" -":gh:`132493`: :class:`typing.Protocol` now uses " -":func:`annotationlib.get_annotations` when checking whether or not an " -"instance implements the protocol with :func:`isinstance`. This enables " -"support for ``isinstance`` checks against classes with deferred annotations." -msgstr "" - -#: ../NEWS:254 -msgid "" -":gh:`132536`: Do not disable :monitoring-event:`PY_THROW` event in " -":mod:`bdb` because it can't be disabled." -msgstr "" - -#: ../NEWS:257 -msgid "" -":gh:`132527`: Include the valid typecode 'w' in the error message when an " -"invalid typecode is passed to :class:`array.array`." -msgstr "" - -#: ../NEWS:260 -msgid "" -":gh:`132099`: The Bluetooth socket with the :data:`~socket.BTPROTO_HCI` " -"protocol on Linux now accepts an address in the format of an integer " -"``device_id``, not only a tuple ``(device_id,)``." -msgstr "" - -#: ../NEWS:264 -msgid "" -":gh:`81793`: Fix :func:`os.link` on platforms (like Linux) where the system " -":c:func:`!link` function does not follow symlinks. On Linux, it now follows " -"symlinks by default or if ``follow_symlinks=True`` is specified. On Windows," -" it now raises an error if ``follow_symlinks=True`` is passed. On macOS, it " -"now raises an error if ``follow_symlinks=False`` is passed and the system " -":c:func:`!linkat` function is not available at runtime." -msgstr "" - -#: ../NEWS:271 -msgid "" -":gh:`132493`: Support creation of :class:`typing.Protocol` classes with " -"annotations that cannot be resolved at class creation time." -msgstr "" - -#: ../NEWS:274 -msgid "" -":gh:`132491`: Rename ``annotationlib.value_to_string`` to " -":func:`annotationlib.type_repr` and provide better handling for function " -"objects." -msgstr "" - -#: ../NEWS:278 -msgid "" -":gh:`132426`: Add :func:`annotationlib.get_annotate_from_class_namespace` as" -" a helper for accessing annotations in metaclasses, and remove " -"``annotationlib.get_annotate_function``." -msgstr "" - -#: ../NEWS:282 -msgid "" -":gh:`70145`: Add support for channels in Bluetooth HCI protocol " -"(:const:`~socket.BTPROTO_HCI`)." -msgstr "" - -#: ../NEWS:285 -msgid "" -":gh:`131913`: Add a shortcut function " -":func:`multiprocessing.Process.interrupt` alongside the existing " -":func:`multiprocessing.Process.terminate` and " -":func:`multiprocessing.Process.kill` for an improved control over child " -"process termination." -msgstr "" - -#: ../NEWS:291 -msgid "" -":gh:`132439`: Fix ``PyREPL`` on Windows: characters entered via AltGr are " -"swallowed. Patch by Chris Eibl." -msgstr "" - -#: ../NEWS:294 -msgid "" -":gh:`132429`: Fix support of Bluetooth sockets on NetBSD and DragonFly BSD. " -"Add support for *cid* and *bdaddr_type* in the BTPROTO_L2CAP address on " -"FreeBSD. Return *cid* in ``getsockname()`` for BTPROTO_L2CAP if it is not " -"zero." -msgstr "" - -#: ../NEWS:299 -msgid "" -":gh:`132106`: :meth:`QueueListener.start " -"` now raises a :exc:`RuntimeError` if " -"the listener is already started." -msgstr "" - -#: ../NEWS:303 -msgid "" -":gh:`132417`: Fix a ``NULL`` pointer dereference when a C function called " -"using :mod:`ctypes` with ``restype`` :class:`~ctypes.py_object` returns " -"``NULL``." -msgstr "" - -#: ../NEWS:307 -msgid "" -":gh:`132385`: Fix instance error suggestions trigger potential exceptions in" -" :meth:`object.__getattr__` in :mod:`traceback`." -msgstr "" - -#: ../NEWS:310 -msgid "" -":gh:`125866`: Add optional *add_scheme* argument to " -":func:`urllib.request.pathname2url`; when set to true, a complete URL is " -"returned. Likewise add optional *require_scheme* argument to " -":func:`~urllib.request.url2pathname`; when set to true, a complete URL is " -"accepted." -msgstr "" - -#: ../NEWS:316 -msgid "" -":gh:`132308`: A :class:`traceback.TracebackException` now correctly renders " -"the ``__context__`` and ``__cause__`` attributes from :ref:`falsey ` " -":class:`Exception`, and the ``exceptions`` attribute from falsey " -":class:`ExceptionGroup`." -msgstr "" - -#: ../NEWS:321 -msgid "" -":gh:`130645`: Add colour to :mod:`argparse` help output. Patch by Hugo van " -"Kemenade." -msgstr "" - -#: ../NEWS:324 -msgid "" -":gh:`127495`: In PyREPL, append a new entry to the ``PYTHON_HISTORY`` file " -"*after* every statement. This should preserve command-line history after " -"interpreter is terminated. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:328 -msgid "" -":gh:`129463`: Comparison of :class:`annotationlib.ForwardRef` objects no " -"longer uses the internal ``__code__`` and ``__ast_node__`` attributes, which" -" are used as caches." -msgstr "" - -#: ../NEWS:332 -msgid "" -":gh:`132250`: Fixed the :exc:`SystemError` in :mod:`cProfile` when locating " -"the actual C function of a method raises an exception." -msgstr "" - -#: ../NEWS:335 -msgid "" -":gh:`132064`: :func:`annotationlib.get_annotations` now uses the " -"``__annotate__`` attribute if it is present, even if ``__annotations__`` is " -"not present. Additionally, the function now raises a :py:exc:`TypeError` if " -"it is passed an object that does not have any annotatins." -msgstr "" - -#: ../NEWS:341 -msgid "" -":gh:`130664`: Support the ``'_'`` digit separator in formatting of the " -"integral part of :class:`~decimal.Decimal`'s. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:345 -msgid "" -":gh:`131952`: Add color output to the :program:`json` CLI. Patch by Tomas " -"Roun." -msgstr "" - -#: ../NEWS:348 -msgid "" -":gh:`132063`: Prevent exceptions that evaluate as falsey (namely, when their" -" ``__bool__`` method returns ``False`` or their ``__len__`` method returns " -"0) from being ignored by :class:`concurrent.futures.ProcessPoolExecutor` and" -" :class:`concurrent.futures.ThreadPoolExecutor`." -msgstr "" - -#: ../NEWS:353 -msgid "" -":gh:`132106`: :class:`logging.handlers.QueueListener` now implements the " -"context manager protocol, allowing it to be used in a :keyword:`with` " -"statement." -msgstr "" - -#: ../NEWS:357 -msgid "" -":gh:`132054`: The ``application/yaml`` mime type (:rfc:`9512`) is now " -"supported by :mod:`mimetypes`. Patch by Sasha \"Nelie\" Chernykh and Hugo " -"van Kemenade." -msgstr "" - -#: ../NEWS:361 -msgid "" -":gh:`119605`: Respect ``follow_wrapped`` for :meth:`!__init__` and " -":meth:`!__new__` methods when getting the class signature for a class with " -":func:`inspect.signature`. Preserve class signature after wrapping with " -":func:`warnings.deprecated`. Patch by Xuehai Pan." -msgstr "" - -#: ../NEWS:366 -msgid "" -":gh:`118761`: Improve import times by up to 33x for the :mod:`shlex` module," -" and improve the performance of :func:`shlex.quote` by up to 12x. Patch by " -"Adam Turner." -msgstr "" - -#: ../NEWS:370 -msgid "" -":gh:`85302`: Add support for :data:`~socket.BTPROTO_SCO` in sockets on " -"FreeBSD." -msgstr "" - -#: ../NEWS:373 -msgid "" -":gh:`131757`: Make :func:`functools.lru_cache` call the cached function " -"unlocked to allow concurrency." -msgstr "" - -#: ../NEWS:376 -msgid "" -":gh:`131423`: :mod:`ssl` can show descriptions for errors added in OpenSSL " -"3.4.1. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:379 -msgid "" -":gh:`131434`: Improve error reporting for incorrect format in " -":func:`time.strptime`." -msgstr "" - -#: ../NEWS:382 -msgid "" -":gh:`131524`: Add help message to :mod:`platform` command-line interface. " -"Contributed by Harry Lees." -msgstr "" - -#: ../NEWS:385 -msgid "" -":gh:`100926`: Move :func:`ctypes.POINTER` types cache from a global internal" -" cache (``_pointer_type_cache``) to the " -":attr:`ctypes._CData.__pointer_type__` attribute of the corresponding " -":mod:`ctypes` types. This will stop the cache from growing without limits in" -" some situations." -msgstr "" - -#: ../NEWS:391 -msgid "" -":gh:`85702`: If ``zoneinfo._common.load_tzdata`` is given a package without " -"a resource a ``ZoneInfoNotFoundError`` is raised rather than a " -":exc:`IsADirectoryError`." -msgstr "" - -#: ../NEWS:395 -msgid "" -":gh:`123471`: Make concurrent iterations over :class:`itertools.repeat` safe" -" under free-threading." -msgstr "" - -#: ../NEWS:398 -msgid ":gh:`131127`: Systems using LibreSSL now successfully build." -msgstr "" - -#: ../NEWS:400 -msgid "" -":gh:`89157`: Make the pure Python implementation of " -":func:`datetime.date.fromisoformat`, only accept ASCII strings for " -"consistency with the C implementation." -msgstr "" - -#: ../NEWS:404 -msgid "" -":gh:`130941`: Fix :class:`configparser.ConfigParser` parsing empty " -"interpolation with ``allow_no_value`` set to ``True``." -msgstr "" - -#: ../NEWS:407 -msgid "" -":gh:`110067`: Make :mod:`heapq` max-heap functions " -":func:`heapq.heapify_max`, :func:`heapq.heappush_max`, " -":func:`heapq.heappop_max`, and :func:`heapq.heapreplace_max` public. " -"Previous underscored naming is kept for backwards compatibility. " -"Additionally, the missing function :func:`heapq.heappushpop_max` has been " -"added to both the C and Python implementations." -msgstr "" - -#: ../NEWS:414 -msgid "" -":gh:`129098`: Fix REPL traceback reporting when using :func:`compile` with " -"an inexisting file. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:417 -msgid "" -":gh:`130631`: :func:`!http.cookiejar.join_header_words` is now more similar " -"to the original Perl version. It now quotes the same set of characters and " -"always quote values that end with ``\"\\n\"``." -msgstr "" - -#: ../NEWS:421 -msgid "" -":gh:`130482`: Add ability to specify name for :class:`!tkinter.OptionMenu` " -"and :class:`!tkinter.ttk.OptionMenu`." -msgstr "" - -#: ../NEWS:424 -msgid "" -":gh:`77065`: Add keyword-only optional argument *echo_char* for " -":meth:`getpass.getpass` for optional visual keyboard feedback support. Patch" -" by Semyon Moroz." -msgstr "" - -#: ../NEWS:428 -msgid "" -":gh:`130317`: Fix :c:func:`PyFloat_Pack2` and :c:func:`PyFloat_Unpack2` for " -"NaN's with payload. This corrects round-trip for :func:`struct.unpack` and " -":func:`struct.pack` in case of the IEEE 754 binary16 \"half precision\" " -"type. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:433 -msgid "" -":gh:`130402`: Joining running daemon threads during interpreter shutdown now" -" raises :exc:`PythonFinalizationError`." -msgstr "" - -#: ../NEWS:436 -msgid "" -":gh:`130167`: Improve speed of :func:`difflib.IS_LINE_JUNK`. Patch by Semyon" -" Moroz." -msgstr "" - -#: ../NEWS:439 -msgid "" -":gh:`101410`: Added more detailed messages for domain errors in the " -":mod:`math` module." -msgstr "" - -#: ../NEWS:442 -msgid "" -":gh:`128384`: Make :class:`warnings.catch_warnings` use a context variable " -"for holding the warning filtering state if the " -":data:`sys.flags.context_aware_warnings` flag is set to true. This makes " -"using the context manager thread-safe in multi-threaded programs. The flag " -"is true by default in free-threaded builds and is otherwise false. The value" -" of the flag can be overridden by the the :option:`-X context_aware_warnings" -" <-X>` command-line option or by the :envvar:`PYTHON_CONTEXT_AWARE_WARNINGS`" -" environment variable." -msgstr "" - -#: ../NEWS:451 -msgid "" -":gh:`129719`: Fix missing :data:`!socket.CAN_RAW_ERR_FILTER` constant in the" -" socket module on Linux systems. It was missing since Python 3.11." -msgstr "" - -#: ../NEWS:454 -msgid "" -":gh:`129027`: Raise :exc:`DeprecationWarning` for " -":func:`sys._clear_type_cache`. This function was deprecated in Python 3.13 " -"but it didn't raise a runtime warning." -msgstr "" - -#: ../NEWS:458 -msgid "" -":gh:`128307`: Add ``eager_start`` keyword argument to " -":meth:`asyncio.loop.create_task`" -msgstr "" - -#: ../NEWS:461 -msgid "" -":gh:`127604`: Add support for printing the C stack trace on systems that " -"support it via :func:`faulthandler.dump_c_stack` or via the *c_stack* " -"argument in :func:`faulthandler.enable`." -msgstr "" - -#: ../NEWS:465 -msgid "" -":gh:`127385`: Add the ``F_DUPFD_QUERY`` constant to the :mod:`fcntl` module." -msgstr "" - -#: ../NEWS:467 -msgid "" -":gh:`126838`: Add *resolve_host* keyword-only parameter to " -":func:`urllib.request.url2pathname`, and fix handling of file URLs with " -"authorities." -msgstr "" - -#: ../NEWS:471 -msgid "" -":gh:`82129`: Fix :exc:`NameError` when calling :func:`typing.get_type_hints`" -" on a :func:`dataclasses.dataclass` created by " -":func:`dataclasses.make_dataclass` with un-annotated fields." -msgstr "" - -#: ../NEWS:475 -msgid "" -":gh:`122559`: Remove :meth:`!__reduce__` and :meth:`!__reduce_ex__` methods " -"that always raise :exc:`TypeError` in the C implementation of " -":class:`io.FileIO`, :class:`io.BufferedReader`, :class:`io.BufferedWriter` " -"and :class:`io.BufferedRandom` and replace them with default " -":meth:`!__getstate__` methods that raise :exc:`!TypeError`. This restores " -"fine details of behavior of Python 3.11 and older versions." -msgstr "" - -#: ../NEWS:482 -msgid "" -":gh:`122179`: :func:`hashlib.file_digest` now raises :exc:`BlockingIOError` " -"when no data is available during non-blocking I/O. Before, it added spurious" -" null bytes to the digest." -msgstr "" - -#: ../NEWS:486 -msgid "" -":gh:`53032`: Expose :func:`decimal.IEEEContext` to support creation of " -"contexts corresponding to the IEEE 754 (2008) decimal interchange formats. " -"Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:490 -msgid "" -":gh:`120220`: Deprecate the :class:`!tkinter.Variable` methods " -":meth:`!trace_variable`, :meth:`!trace_vdelete` and :meth:`!trace_vinfo`. " -"Methods :meth:`!trace_add`, :meth:`!trace_remove` and :meth:`!trace_info` " -"can be used instead." -msgstr "" - -#: ../NEWS:495 -msgid "" -":gh:`113539`: :mod:`webbrowser`: Names in the :envvar:`BROWSER` environment " -"variable can now refer to already registered web browsers, instead of always" -" generating a new browser command." -msgstr "" - -#: ../NEWS:499 -msgid "" -"This makes it possible to set :envvar:`BROWSER` to the value of one of the " -"supported browsers on macOS." -msgstr "" - -#: ../NEWS:502 -msgid "" -":issue:`44172`: Keep a reference to original :mod:`curses` windows in " -"subwindows so that the original window does not get deleted before " -"subwindows." -msgstr "" - -#: ../NEWS:506 -msgid "" -":gh:`75223`: Deprecate undotted extensions in " -":meth:`mimetypes.MimeTypes.add_type`. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:510 ../NEWS:2104 ../NEWS:5084 ../NEWS:6718 ../NEWS:7667 -#: ../NEWS:8186 ../NEWS:9100 ../NEWS:9624 ../NEWS:11891 ../NEWS:13089 -#: ../NEWS:17224 ../NEWS:19204 ../NEWS:19588 ../NEWS:20974 ../NEWS:22781 -#: ../NEWS:23604 ../NEWS:24006 ../NEWS:24282 ../NEWS:24563 ../NEWS:25403 -#: ../NEWS:25830 ../NEWS:26904 ../NEWS:27786 ../NEWS:28255 ../NEWS:28637 -#: ../NEWS:29028 ../NEWS:29410 ../NEWS:31148 ../NEWS:32097 ../NEWS:32646 -#: ../NEWS:32966 ../NEWS:33215 ../NEWS:35935 ../NEWS:36339 ../NEWS:36569 -#: ../NEWS:36727 ../NEWS:36943 ../NEWS:37196 ../NEWS:38372 ../NEWS:38658 -#: ../NEWS:40529 ../NEWS:41069 ../NEWS:41423 ../NEWS:41815 ../NEWS:42193 -#: ../NEWS:42665 ../NEWS:42991 ../NEWS:44105 ../NEWS:44378 ../NEWS:44580 -#: ../NEWS:44841 ../NEWS:45960 ../NEWS:47260 ../NEWS:47428 ../NEWS:47970 -#: ../NEWS:48487 ../NEWS:48820 ../NEWS:49332 ../NEWS:51356 -msgid "IDLE" -msgstr "IDLE" - -#: ../NEWS:512 -msgid ":gh:`112936`: fix IDLE: no Shell menu item in single-process mode." -msgstr "" - -#: ../NEWS:515 ../NEWS:1090 ../NEWS:1544 ../NEWS:2110 ../NEWS:2930 -#: ../NEWS:3544 ../NEWS:5105 ../NEWS:6651 ../NEWS:7109 ../NEWS:7575 -#: ../NEWS:8112 ../NEWS:8927 ../NEWS:11450 ../NEWS:12968 ../NEWS:13401 -#: ../NEWS:13672 ../NEWS:13951 ../NEWS:14350 ../NEWS:14668 ../NEWS:15093 -#: ../NEWS:16795 ../NEWS:18028 ../NEWS:18622 ../NEWS:19131 ../NEWS:19479 -#: ../NEWS:19925 ../NEWS:20315 ../NEWS:20814 ../NEWS:22424 ../NEWS:23492 -#: ../NEWS:23954 ../NEWS:24234 ../NEWS:24504 ../NEWS:24857 ../NEWS:25300 -#: ../NEWS:25766 ../NEWS:26726 ../NEWS:27273 ../NEWS:27717 ../NEWS:28175 -#: ../NEWS:28579 ../NEWS:29002 ../NEWS:29317 ../NEWS:30662 ../NEWS:31968 -#: ../NEWS:32435 ../NEWS:32913 ../NEWS:33155 ../NEWS:35339 ../NEWS:36315 -#: ../NEWS:36525 ../NEWS:36675 ../NEWS:36893 ../NEWS:37138 ../NEWS:37463 -#: ../NEWS:37803 ../NEWS:38286 ../NEWS:38629 ../NEWS:40239 ../NEWS:40993 -#: ../NEWS:41349 ../NEWS:41746 ../NEWS:42145 ../NEWS:42714 ../NEWS:43034 -#: ../NEWS:43190 ../NEWS:43293 ../NEWS:44652 ../NEWS:44903 ../NEWS:46070 -#: ../NEWS:46630 ../NEWS:47297 ../NEWS:48023 ../NEWS:48584 ../NEWS:48837 -#: ../NEWS:49036 ../NEWS:49347 ../NEWS:51548 -msgid "Documentation" -msgstr "Dokumentasi" - -#: ../NEWS:517 -msgid "" -":gh:`107006`: Move documentation and example code for " -":class:`threading.local` from its docstring to the official docs." -msgstr "" - -#: ../NEWS:520 -msgid "" -":gh:`125142`: As part of the builtin help intro text, show the keyboard " -"shortcuts for the new, non-basic REPL (F1, F2, and F3)." -msgstr "" - -#: ../NEWS:526 -msgid "" -":gh:`133336`: :option:`!-J` is no longer reserved for use by Jython. Patch " -"by Adam Turner." -msgstr "" - -#: ../NEWS:529 -msgid "" -":gh:`133261`: Fix bug where the cycle GC could untrack objects in the " -"trashcan because they looked like they were immortal. When objects are added" -" to the trashcan, we take care to ensure they keep a mortal reference count." -msgstr "" - -#: ../NEWS:534 -msgid "" -":gh:`133346`: Added experimental color theming support to the ``_colorize`` " -"module." -msgstr "" - -#: ../NEWS:537 -msgid "" -":gh:`132917`: For the free-threaded build, check the process memory usage " -"increase before triggering a full automatic garbage collection. If the " -"memory used has not increased 10% since the last collection then defer it." -msgstr "" - -#: ../NEWS:541 -msgid "" -":gh:`91048`: Add a new ``python -m asyncio ps PID`` command-line interface " -"to inspect asyncio tasks in a running Python process. Displays a flat table " -"of await relationships. A variant showing a tree view is also available as " -"``python -m asyncio pstree PID``. Both are useful for debugging async code. " -"Patch by Pablo Galindo, Łukasz Langa, Yury Selivanov, and Marta Gomez " -"Macias." -msgstr "" - -#: ../NEWS:548 -msgid "" -":gh:`133304`: Workaround NaN's \"canonicalization\" in " -":c:func:`PyFloat_Pack4` and :c:func:`PyFloat_Unpack4` on RISC-V." -msgstr "" - -#: ../NEWS:551 -msgid "" -":gh:`133197`: Improve :exc:`SyntaxError` error messages for incompatible " -"string / bytes prefixes." -msgstr "" - -#: ../NEWS:554 -msgid "" -":gh:`133231`: Add new utilities of observing JIT compilation: " -":func:`sys._jit.is_available`, :func:`sys._jit.is_enabled`, and " -":func:`sys._jit.is_active`." -msgstr "" - -#: ../NEWS:558 -msgid "" -":gh:`133194`: :func:`ast.parse` will no longer parse new :pep:`758` syntax " -"with older *feature_version* passed." -msgstr "" - -#: ../NEWS:561 -msgid "" -":gh:`131798`: Split ``CALL_LEN`` into several uops allowing the JIT to " -"remove them when optimizing. Patch by Diego Russo." -msgstr "" - -#: ../NEWS:564 -msgid "" -":gh:`131798`: Use ``sym_new_type`` instead of ``sym_new_not_null`` for " -"_BUILD_STRING, _BUILD_SET" -msgstr "" - -#: ../NEWS:567 -msgid "" -":gh:`132942`: Fix two races in the type lookup cache. This affected the " -"free-threaded build and could cause crashes (apparently quite difficult to " -"trigger)." -msgstr "" - -#: ../NEWS:571 -msgid "" -":gh:`131798`: Propagate the return type of ``_BINARY_OP_SUBSCR_TUPLE_INT`` " -"in JIT. Patch by Tomas Roun" -msgstr "" - -#: ../NEWS:574 -msgid "" -":gh:`132952`: Speed up startup with the ``-S`` argument by importing the " -"private ``_io`` module instead of :mod:`io`. This fixes a performance " -"regression introduced earlier in Python 3.14 development and restores " -"performance to the level of Python 3.13." -msgstr "" - -#: ../NEWS:579 -msgid "" -":gh:`131798`: Allow the JIT to remove int guards after ``_CALL_LEN`` by " -"setting the return type to int. Patch by Diego Russo" -msgstr "" - -#: ../NEWS:582 -msgid "" -":gh:`131798`: Split ``CALL_TUPLE_1`` into several uops allowing the JIT to " -"remove some of them. Patch by Tomas Roun" -msgstr "" - -#: ../NEWS:585 -msgid "" -":gh:`131798`: Split ``CALL_STR_1`` into several uops allowing the JIT to " -"remove some of them. Patch by Tomas Roun" -msgstr "" - -#: ../NEWS:588 -msgid "" -":gh:`132825`: Enhance unhashable key/element error messages for " -":class:`dict` and :class:`set`. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:591 -msgid "" -":gh:`131591`: Reset any :pep:`768` remote debugging pending call in children" -" after :func:`os.fork` calls." -msgstr "" - -#: ../NEWS:594 -msgid "" -":gh:`132713`: Fix ``repr(list)`` race condition: hold a strong reference to " -"the item while calling ``repr(item)``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:597 -msgid "" -":gh:`132661`: Implement :pep:`750` (Template Strings). Add new syntax for " -"t-strings and implement new internal :class:`!string.templatelib.Template` " -"and :class:`!string.templatelib.Interpolation` types." -msgstr "" - -#: ../NEWS:601 -msgid "" -":gh:`132479`: Fix compiler crash in certain circumstances where multiple " -"module-level annotations include comprehensions and other nested scopes." -msgstr "" - -#: ../NEWS:604 -msgid "" -":gh:`132747`: Fix a crash when calling :meth:`~object.__get__` of a " -":term:`method` with a :const:`None` second argument." -msgstr "" - -#: ../NEWS:607 -msgid "" -":gh:`132744`: Certain calls now check for runaway recursion and respect the " -"system recursion limit." -msgstr "" - -#: ../NEWS:610 -msgid "" -":gh:`132449`: Syntax errors that look like misspellings of Python keywords " -"now provide a helpful fix suggestion for the typo. Contributed by Pablo " -"Galindo Salgado." -msgstr "" - -#: ../NEWS:614 -msgid "" -":gh:`132737`: Support profiling code that requires ``__main__``, such as " -":mod:`pickle`." -msgstr "" - -#: ../NEWS:617 -msgid "" -":gh:`132639`: Added :c:func:`PyLong_AsNativeBytes`, " -":c:func:`PyLong_FromNativeBytes` and " -":c:func:`PyLong_FromUnsignedNativeBytes` to the limited C API." -msgstr "" - -#: ../NEWS:621 -msgid "" -":gh:`100239`: Add specialisation for ``BINARY_OP/SUBSCR`` on list and slice." -msgstr "" - -#: ../NEWS:623 -msgid "" -":gh:`132508`: Uses tagged integers on the evaluation stack to represent the " -"instruction offsets when reraising an exception. This avoids the need to box" -" the integer which could fail in low memory conditions." -msgstr "" - -#: ../NEWS:627 -msgid "" -":gh:`124476`: Fix decoding from the locale encoding in the C.UTF-8 locale." -msgstr "" - -#: ../NEWS:629 -msgid "" -":gh:`131927`: Compiler warnings originating from the same module and line " -"number are now only emitted once, matching the behaviour of warnings emitted" -" from user code. This can also be configured with :mod:`warnings` filters." -msgstr "" - -#: ../NEWS:634 -msgid "" -":gh:`132457`: Make :func:`staticmethod` and :func:`classmethod` generic." -msgstr "" - -#: ../NEWS:636 -msgid "" -":gh:`131798`: Use ``sym_new_type`` instead of ``sym_new_not_null`` for " -"_BUILD_LIST, _BUILD_SET, _BUILD_MAP" -msgstr "" - -#: ../NEWS:639 -msgid "" -":gh:`131798`: Split ``CALL_TYPE_1`` into several uops allowing the JIT to " -"remove some of them." -msgstr "" - -#: ../NEWS:642 -msgid "" -":gh:`132386`: Fix crash when passing a dict subclass as the ``globals`` " -"parameter to :func:`exec`." -msgstr "" - -#: ../NEWS:645 -msgid "" -":gh:`127682`: No longer call ``__iter__`` twice when creating and executing " -"a generator expression. Creating a generator expression from a non-interable" -" will raise only when the generator expression is executed. This brings the " -"behavior of generator expressions in line with other generators." -msgstr "" - -#: ../NEWS:650 -msgid "" -":gh:`132261`: The internal storage for annotations and annotate functions on" -" classes now uses different keys in the class dictionary. This eliminates " -"various edge cases where access to the ``__annotate__`` and " -"``__annotations__`` attributes would behave unpredictably." -msgstr "" - -#: ../NEWS:655 -msgid "" -":gh:`132284`: Don't wrap base ``PyCFunction`` slots on class creation if not" -" overridden." -msgstr "" - -#: ../NEWS:658 -msgid "" -":gh:`130415`: Improve the JIT's ability to remove unused constant and local " -"variable loads, and fix an issue where deallocating unused values could " -"cause JIT code to crash or behave incorrectly." -msgstr "" - -#: ../NEWS:662 -msgid "" -":gh:`126703`: Fix possible use after free in cases where a method's " -"definition has the same lifetime as its ``self``." -msgstr "" - -#: ../NEWS:665 -msgid "" -":gh:`132286`: Fix that :attr:`type.__annotate__` was not deleted, when " -":attr:`type.__annotations__` was deleted." -msgstr "" - -#: ../NEWS:668 -msgid "" -":gh:`131798`: Allow the JIT to remove an extra ``_TO_BOOL_BOOL`` instruction" -" after ``_CONTAINS_OP_DICT`` by setting the return type to bool." -msgstr "" - -#: ../NEWS:671 -msgid "" -":gh:`124715`: Prevents against stack overflows when calling " -":c:func:`Py_DECREF`. Third-party extension objects no longer need to use the" -" \"trashcan\" mechanism, as protection is now built into the " -":c:func:`Py_DECREF` macro." -msgstr "" - -#: ../NEWS:676 -msgid "" -":gh:`131798`: Allow the JIT compiler to remove some type checks for " -"operations on lists, tuples, dictionaries, and sets." -msgstr "" - -#: ../NEWS:679 -msgid "" -":gh:`128398`: Improve error message when an object supporting the " -"synchronous (resp. asynchronous) context manager protocol is entered using " -":keyword:`async with` (resp. :keyword:`with`) instead of :keyword:`with` " -"(resp. :keyword:`async with`). Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:684 -msgid "" -":gh:`131798`: Allow the JIT to remove unicode guards after " -"``_BINARY_OP_SUBSCR_STR_INT`` by setting the return type to string." -msgstr "" - -#: ../NEWS:687 -msgid "" -":gh:`131878`: Handle uncaught exceptions in the main input loop for the new " -"REPL." -msgstr "" - -#: ../NEWS:690 -msgid "" -":gh:`131878`: Fix support of unicode characters with two or more codepoints " -"on Windows in the new REPL." -msgstr "" - -#: ../NEWS:693 -msgid "" -":gh:`126835`: Move constant folding to the peephole optimizer. Rename AST " -"optimization related files (Python/ast_opt.c -> Python/ast_preprocess.c), " -"structs (_PyASTOptimizeState -> _PyASTPreprocessState) and functions " -"(_PyAST_Optimize -> _PyAST_Preprocess, _PyCompile_AstOptimize -> " -"_PyCompile_AstPreprocess)." -msgstr "" - -#: ../NEWS:699 -msgid "" -":gh:`114809`: Add support for macOS multi-arch builds with the JIT enabled" -msgstr "" - -#: ../NEWS:701 -msgid "" -":gh:`131507`: PyREPL now supports syntax highlighing. Contributed by Łukasz " -"Langa." -msgstr "" - -#: ../NEWS:704 -msgid "" -":gh:`130907`: If the ``__annotations__`` of a module object are accessed " -"while the module is executing, return the annotations that have been defined" -" so far, without caching them." -msgstr "" - -#: ../NEWS:708 -msgid "" -":gh:`130104`: Three-argument :func:`pow` now try calling " -":meth:`~object.__rpow__` if necessary. Previously it was only called in two-" -"argument :func:`!pow` and the binary power operator." -msgstr "" - -#: ../NEWS:712 -msgid "" -":gh:`130070`: Fixed an assertion error for :func:`exec` passed a string " -"``source`` and a non-``None`` ``closure``. Patch by Bartosz Sławecki." -msgstr "" - -#: ../NEWS:715 -msgid "" -":gh:`129958`: Fix a bug that was allowing newlines inconsitently in format " -"specifiers for single-quoted f-strings. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:718 -msgid "" -":gh:`129858`: ``elif`` statements that follow an ``else`` block now have a " -"specific error message." -msgstr "" - -#: ../NEWS:721 -msgid ":gh:`69605`: Add module autocomplete to PyREPL." -msgstr "" - -#: ../NEWS:723 -msgid ":gh:`128555`: Add the :data:`sys.flags.thread_inherit_context` flag." -msgstr "" - -#: ../NEWS:725 -msgid "" -"This flag is set to true by default on the free-threaded build and false " -"otherwise. If the flag is true, starting a new thread using " -":class:`threading.Thread` will, by default, use a copy of the " -":class:`contextvars.Context` from the caller of " -":meth:`threading.Thread.start` rather than using an empty context." -msgstr "" - -#: ../NEWS:731 -msgid "" -"Add the :option:`-X thread_inherit_context <-X>` command-line option and " -":envvar:`PYTHON_THREAD_INHERIT_CONTEXT` environment variable, which set the " -":data:`~sys.flags.thread_inherit_context` flag." -msgstr "" - -#: ../NEWS:735 -msgid "" -"Add the ``context`` keyword parameter to :class:`~threading.Thread`. It can" -" be used to explicitly pass a context value to be used by a new thread." -msgstr "" - -#: ../NEWS:738 -msgid "Make the ``_contextvars`` module built-in." -msgstr "" - -#: ../NEWS:740 -msgid "" -":gh:`123539`: Improve :exc:`SyntaxError` message for using ``import ... as``" -" and ``from ... import ... as`` with not a name." -msgstr "" - -#: ../NEWS:743 -msgid "" -":gh:`102567`: :option:`-X importtime <-X>` now accepts value ``2``, which " -"indicates that an ``importtime`` entry should also be printed if an imported" -" module has already been loaded. Patch by Noah Kim and Adam Turner." -msgstr "" - -#: ../NEWS:748 -msgid "" -":gh:`116436`: Improve error message when :exc:`TypeError` occurs during " -":meth:`dict.update`" -msgstr "" - -#: ../NEWS:751 -msgid "" -":gh:`103997`: String arguments passed to \"-c\" are now automatically " -"dedented as if by :func:`textwrap.dedent`. This allows \"python -c\" " -"invocations to be indented in shell scripts without causing indentation " -"errors. (Patch by Jon Crall and Steven Sun)" -msgstr "" - -#: ../NEWS:756 -msgid ":gh:`89562`: Remove ``hostflags`` member from ``PySSLContext`` struct." -msgstr "" - -#: ../NEWS:759 ../NEWS:1191 ../NEWS:1718 ../NEWS:2255 ../NEWS:2610 -#: ../NEWS:3037 ../NEWS:3684 ../NEWS:5754 ../NEWS:6723 ../NEWS:7185 -#: ../NEWS:7681 ../NEWS:8209 ../NEWS:9116 ../NEWS:9640 ../NEWS:11957 -#: ../NEWS:13106 ../NEWS:13439 ../NEWS:13742 ../NEWS:14434 ../NEWS:14765 -#: ../NEWS:15180 ../NEWS:17281 ../NEWS:18145 ../NEWS:18745 ../NEWS:19213 -#: ../NEWS:19596 ../NEWS:20024 ../NEWS:20526 ../NEWS:20979 ../NEWS:22836 -#: ../NEWS:23623 ../NEWS:24013 ../NEWS:24289 ../NEWS:24577 ../NEWS:24930 -#: ../NEWS:25425 ../NEWS:25843 ../NEWS:26937 ../NEWS:27347 ../NEWS:27808 -#: ../NEWS:28281 ../NEWS:28652 ../NEWS:29039 ../NEWS:29426 ../NEWS:31276 -#: ../NEWS:32120 ../NEWS:32658 ../NEWS:33002 ../NEWS:36157 ../NEWS:36247 -#: ../NEWS:36963 ../NEWS:37533 ../NEWS:37830 ../NEWS:38423 ../NEWS:38685 -#: ../NEWS:40757 ../NEWS:41132 ../NEWS:41465 ../NEWS:41885 ../NEWS:42688 -#: ../NEWS:43017 ../NEWS:43185 ../NEWS:43686 ../NEWS:44125 ../NEWS:44615 -#: ../NEWS:44944 ../NEWS:46233 ../NEWS:46708 ../NEWS:47288 ../NEWS:49600 -#: ../NEWS:49915 ../NEWS:51519 -msgid "C API" -msgstr "C API" - -#: ../NEWS:761 -msgid "" -":gh:`133166`: Fix regression where :c:func:`PyType_GetModuleByDef` returns " -"NULL without setting :exc:`TypeError` when a static type is passed." -msgstr "" - -#: ../NEWS:764 -msgid "" -":gh:`133164`: Add :c:func:`PyUnstable_Object_IsUniqueReferencedTemporary` " -"function for determining if an object exists as a unique temporary variable " -"on the interpreter's stack. This is a replacement for some cases where " -"checking that :c:func:`Py_REFCNT` is one is no longer sufficient to " -"determine if it's safe to modify a Python object in-place with no visible " -"side effects." -msgstr "" - -#: ../NEWS:771 -msgid "" -":gh:`133140`: Add :c:func:`PyUnstable_Object_IsUniquelyReferenced` as a " -"replacement for ``Py_REFNCT(op) == 1`` on :term:`free threaded ` builds of Python." -msgstr "" - -#: ../NEWS:775 -msgid "" -":gh:`131747`: On non-Windows platforms, deprecate using " -":attr:`ctypes.Structure._pack_` to use a Windows-compatible layout on non-" -"Windows platforms. The layout should be specified explicitly by setting " -":attr:`ctypes.Structure._layout_` to ``'ms'``." -msgstr "" - -#: ../NEWS:780 -msgid "" -":gh:`128972`: For non-free-threaded builds, the memory layout of " -":c:struct:`PyASCIIObject` is reverted to match Python 3.13. (Note that the " -"structure is not part of stable ABI and so its memory layout is *guaranteed*" -" to remain stable.)" -msgstr "" - -#: ../NEWS:785 -msgid "" -":gh:`133079`: The undocumented APIs :c:macro:`!Py_C_RECURSION_LIMIT` and " -":c:member:`!PyThreadState.c_recursion_remaining`, added in 3.13, are removed" -" without a deprecation period." -msgstr "" - -#: ../NEWS:789 -msgid "" -":gh:`132987`: The ``k`` and ``K`` formats in :c:func:`PyArg_Parse` now " -"support the :meth:`~object.__index__` special method, like all other integer" -" formats." -msgstr "" - -#: ../NEWS:793 -msgid "" -":gh:`132909`: Fix an overflow when handling the :ref:`K ` format in :c:func:`Py_BuildValue`. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:797 -msgid "" -":gh:`132798`: Deprecated and undocumented functions " -":c:func:`!PyUnicode_AsEncodedObject`, :c:func:`!PyUnicode_AsDecodedObject`, " -":c:func:`!PyUnicode_AsEncodedUnicode` and " -":c:func:`!PyUnicode_AsDecodedUnicode` are scheduled for removal in 3.15." -msgstr "" - -#: ../NEWS:803 -msgid "" -":gh:`132470`: Creating a :class:`ctypes.CField` with a *byte_size* that does" -" not match the actual type size now raises a :exc:`ValueError` instead of " -"crashing the interpreter." -msgstr "" - -#: ../NEWS:807 -msgid "" -":gh:`112068`: Add support of nullable arguments in :c:func:`PyArg_Parse` and" -" similar functions. Adding ``?`` after any format unit makes ``None`` be " -"accepted as a value." -msgstr "" - -#: ../NEWS:811 -msgid "" -":gh:`50333`: Non-tuple sequences are deprecated as argument for the " -"``(items)`` format unit in :c:func:`PyArg_ParseTuple` and other " -":ref:`argument parsing ` functions if *items* contains format " -"units which store a :ref:`borrowed buffer ` or a " -":term:`borrowed reference`." -msgstr "" - -#: ../NEWS:818 ../NEWS:1199 ../NEWS:1767 ../NEWS:2320 ../NEWS:2628 -#: ../NEWS:3087 ../NEWS:3707 ../NEWS:6009 ../NEWS:6657 ../NEWS:7146 -#: ../NEWS:7615 ../NEWS:8136 ../NEWS:8981 ../NEWS:9567 ../NEWS:11745 -#: ../NEWS:13010 ../NEWS:13417 ../NEWS:13694 ../NEWS:13964 ../NEWS:14376 -#: ../NEWS:14710 ../NEWS:15121 ../NEWS:17003 ../NEWS:18096 ../NEWS:18672 -#: ../NEWS:19159 ../NEWS:19529 ../NEWS:19965 ../NEWS:20368 ../NEWS:20898 -#: ../NEWS:22681 ../NEWS:23538 ../NEWS:23978 ../NEWS:24249 ../NEWS:24523 -#: ../NEWS:24888 ../NEWS:25347 ../NEWS:25803 ../NEWS:26819 ../NEWS:27299 -#: ../NEWS:27757 ../NEWS:28210 ../NEWS:28613 ../NEWS:29015 ../NEWS:29386 -#: ../NEWS:30936 ../NEWS:32053 ../NEWS:32524 ../NEWS:32940 ../NEWS:35671 -#: ../NEWS:36327 ../NEWS:36549 ../NEWS:36700 ../NEWS:36920 ../NEWS:37167 -#: ../NEWS:37496 ../NEWS:38319 ../NEWS:38639 ../NEWS:40350 ../NEWS:41039 -#: ../NEWS:41149 ../NEWS:41384 ../NEWS:41776 ../NEWS:41912 ../NEWS:42173 -#: ../NEWS:42694 ../NEWS:42778 ../NEWS:43069 ../NEWS:43134 ../NEWS:43306 -#: ../NEWS:43424 ../NEWS:43693 ../NEWS:44148 ../NEWS:44434 ../NEWS:44622 -#: ../NEWS:44935 ../NEWS:46131 ../NEWS:46686 ../NEWS:47348 ../NEWS:48069 -#: ../NEWS:48621 ../NEWS:48681 ../NEWS:48698 ../NEWS:48940 ../NEWS:49045 -#: ../NEWS:49558 ../NEWS:49772 ../NEWS:49907 ../NEWS:51439 -msgid "Build" -msgstr "Pembangunan" - -#: ../NEWS:820 -msgid "" -":gh:`113464`: Use the cpython-bin-deps \"externals\" repository for Windows " -"LLVM dependency management. Installing LLVM manually is no longer necessary " -"for Windows JIT builds." -msgstr "" - -#: ../NEWS:824 -msgid "" -":gh:`133183`: iOS compiler shims now include ``IPHONEOS_DEPLOYMENT_TARGET`` " -"in target triples, ensuring that SDK version minimums are honored." -msgstr "" - -#: ../NEWS:827 -msgid "" -":gh:`133167`: Fix compilation process with ``--enable-optimizations`` and " -"``--without-docstrings``." -msgstr "" - -#: ../NEWS:830 -msgid "" -":gh:`133171`: Since free-threaded builds do not support the experimental JIT" -" compiler, prevent these configurations from being combined." -msgstr "" - -#: ../NEWS:833 -msgid ":gh:`132758`: Fix building with tail call interpreter and pystats." -msgstr "" - -#: ../NEWS:835 -msgid "" -":gh:`132649`: The :file:`PC\\layout` script now allows passing ``--include-" -"tcltk`` on Windows ARM64." -msgstr "" - -#: ../NEWS:838 -msgid "" -":gh:`132257`: Change the default LTO flags on GCC to not pass ``-flto-" -"partition=none``, and allow parallelization of LTO. For newer GNU makes and " -"GCC, this has a multiple factor speedup for LTO build times, with no " -"noticeable loss in performance." -msgstr "" - -#: ../NEWS:843 -msgid "" -":gh:`132026`: Fix use of undefined identifiers in platform triplet detection" -" on MIPS Linux platforms." -msgstr "" - -#: ../NEWS:848 -msgid "Python 3.14.0 alpha 7" -msgstr "" - -#: ../NEWS:850 -msgid "*Release date: 2025-04-08*" -msgstr "" - -#: ../NEWS:853 ../NEWS:1226 ../NEWS:1799 ../NEWS:2335 ../NEWS:3753 -#: ../NEWS:6704 ../NEWS:7662 ../NEWS:8173 ../NEWS:9051 ../NEWS:9603 -#: ../NEWS:11882 ../NEWS:13069 ../NEWS:13737 ../NEWS:14417 ../NEWS:14747 -#: ../NEWS:15175 ../NEWS:17214 ../NEWS:18127 ../NEWS:18730 ../NEWS:19583 -#: ../NEWS:20018 ../NEWS:20521 ../NEWS:20967 ../NEWS:22755 ../NEWS:23577 -#: ../NEWS:24277 ../NEWS:24556 ../NEWS:24911 ../NEWS:25380 ../NEWS:25825 -#: ../NEWS:26883 ../NEWS:27321 ../NEWS:27776 ../NEWS:28250 ../NEWS:29403 -#: ../NEWS:31127 ../NEWS:32090 ../NEWS:32638 ../NEWS:35899 ../NEWS:36562 -#: ../NEWS:36722 ../NEWS:36934 ../NEWS:37191 ../NEWS:37522 ../NEWS:38367 -#: ../NEWS:41064 ../NEWS:41415 ../NEWS:41810 -msgid "macOS" -msgstr "macOS" - -#: ../NEWS:855 -msgid ":gh:`124111`: Update macOS installer to use Tcl/Tk 8.6.16." -msgstr "" - -#: ../NEWS:857 -msgid "" -":gh:`131423`: Update macOS installer to use OpenSSL 3.0.16. Patch by " -"Bénédikt Tran." -msgstr "" - -#: ../NEWS:860 -msgid ":gh:`131025`: Update macOS installer to ship with SQLite 3.49.1." -msgstr "" - -#: ../NEWS:865 -msgid "" -":gh:`131423`: Update bundled version of OpenSSL to 3.0.16. The new build " -"also disables uplink support, which may be relevant to embedders but has no " -"impact on normal use." -msgstr "" - -#: ../NEWS:869 -msgid "" -":gh:`131453`: Some :data:`!SND_*` and :data:`!MB_*` constants are added to " -":mod:`winsound`." -msgstr "" - -#: ../NEWS:872 -msgid "" -":gh:`91349`: Replaces our copy of ``zlib`` with ``zlib-ng``, for performance" -" improvements in :mod:`zlib`." -msgstr "" - -#: ../NEWS:875 -msgid ":gh:`131025`: Update Windows installer to ship with SQLite 3.49.1." -msgstr "" - -#: ../NEWS:880 -msgid "" -":gh:`132121`: Always escape non-printable Unicode characters in " -":program:`pygettext`." -msgstr "" - -#: ../NEWS:883 -msgid "" -":gh:`131852`: :program:`msgfmt` no longer adds the ``POT-Creation-Date`` to " -"generated ``.mo`` files for consistency with GNU ``msgfmt``." -msgstr "" - -#: ../NEWS:889 -msgid "" -":gh:`131277`: Allow to unset one or more environment variables at once via " -":meth:`EnvironmentVarGuard.unset() " -"`. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:894 -msgid "" -":gh:`131050`: ``test_ssl.test_dh_params`` is skipped if the underlying TLS " -"library does not support finite-field ephemeral Diffie-Hellman." -msgstr "" - -#: ../NEWS:900 -msgid ":gh:`131809`: Update bundled libexpat to 2.7.1" -msgstr "" - -#: ../NEWS:902 -msgid ":gh:`131261`: Upgrade to libexpat 2.7.0" -msgstr "" - -#: ../NEWS:904 -msgid "" -":gh:`121284`: Fix bug in the folding of rfc2047 encoded-words when " -"flattening an email message using a modern email policy. Previously when an " -"encoded-word was too long for a line, it would be decoded, split across " -"lines, and re-encoded. But commas and other special characters in the " -"original text could be left unencoded and unquoted. This could theoretically" -" be used to spoof header lines using a carefully constructed encoded-word if" -" the resulting rendered email was transmitted or re-parsed." -msgstr "" - -#: ../NEWS:915 -msgid "" -":gh:`132174`: Fix function name in error message of " -"``_interpreters.run_string``." -msgstr "" - -#: ../NEWS:918 -msgid "" -":gh:`132171`: Fix crash of ``_interpreters.run_string`` on string " -"subclasses." -msgstr "" - -#: ../NEWS:920 -msgid "" -":gh:`129204`: Introduce new ``_PYTHON_SUBPROCESS_USE_POSIX_SPAWN`` " -"environment variable knob in :mod:`subprocess` to control the use of " -":func:`os.posix_spawn`." -msgstr "" - -#: ../NEWS:924 -msgid "" -":gh:`132159`: Do not shadow user arguments in generated :meth:`!__new__` by " -"decorator :class:`warnings.deprecated`. Patch by Xuehai Pan." -msgstr "" - -#: ../NEWS:927 -msgid "" -":gh:`132168`: The :class:`ctypes.py_object` type now supports subscription, " -"making it a :term:`generic type`." -msgstr "" - -#: ../NEWS:930 -msgid "" -":gh:`84481`: Add the :attr:`zipfile.ZipFile.data_offset` attribute, which " -"stores the offset to the beginning of ZIP data in a file when available. " -"When the :class:`zipfile.ZipFile` is opened in either mode ``'w'`` or " -"``'x'`` and the underlying file does not support ``tell()``, the value will " -"be ``None`` instead." -msgstr "" - -#: ../NEWS:936 -msgid "" -":gh:`132075`: Fix possible use of :mod:`socket` address structures with " -"uninitialized members. Now all structure members are initialized with zeroes" -" by default." -msgstr "" - -#: ../NEWS:940 -msgid "" -":gh:`118761`: Improve import times by up to 27x for the :mod:`string` " -"module. Patch by Adam Turner." -msgstr "" - -#: ../NEWS:943 -msgid "" -":gh:`125434`: Display thread name in :mod:`faulthandler`. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:946 -msgid "" -":gh:`132002`: Fix crash when deallocating :class:`contextvars.ContextVar` " -"with weird unahashable string names." -msgstr "" - -#: ../NEWS:949 -msgid "" -":gh:`131938`: :mod:`xml.etree.ElementTree`: update the error message when an" -" element to remove via :meth:`Element.remove " -"` is not found. Patch by Bénédikt " -"Tran." -msgstr "" - -#: ../NEWS:954 -msgid "" -":gh:`115942`: Add :meth:`threading.RLock.locked`, " -":meth:`multiprocessing.Lock.locked`, :meth:`multiprocessing.RLock.locked`, " -"and allow :meth:`multiprocessing.managers.SyncManager.Lock` and " -":meth:`multiprocessing.managers.SyncManager.RLock` to proxy ``locked()`` " -"call." -msgstr "" - -#: ../NEWS:960 -msgid "" -":gh:`131974`: Fix several thread-safety issues in :mod:`ctypes` on the " -":term:`free threaded ` build." -msgstr "" - -#: ../NEWS:963 -msgid "" -":gh:`118761`: Improve the import time of the :mod:`ast` module by extracting" -" the :func:`~ast.unparse` function to a helper module." -msgstr "" - -#: ../NEWS:966 -msgid "" -":gh:`107369`: Improved performance of :func:`textwrap.indent` by an average " -"of ~1.3x. Patch by Adam Turner." -msgstr "" - -#: ../NEWS:969 -msgid "" -":gh:`131792`: Improved performance of :func:`textwrap.dedent` by an average " -"of ~2.4x, (with improvements of up to 4x for large inputs), and fixed a bug " -"where blank lines with whitespace characters other than space or horizontal " -"tab were not normalised to the newline. Patch by Adam Turner, Marius Juston," -" and Pieter Eendebak." -msgstr "" - -#: ../NEWS:975 -msgid "" -":gh:`131668`: :mod:`socket`: Fix code parsing AF_BLUETOOTH socket addresses." -msgstr "" - -#: ../NEWS:977 -msgid ":gh:`60115`: Support frozen modules for :func:`linecache.getline`." -msgstr "" - -#: ../NEWS:979 -msgid "" -":gh:`131492`: Fix a resource leak when constructing a :class:`gzip.GzipFile`" -" with a filename fails, for example when passing an invalid " -"``compresslevel``." -msgstr "" - -#: ../NEWS:983 -msgid "" -":gh:`131435`: 10-20% performance improvement of :func:`random.randint`." -msgstr "" - -#: ../NEWS:985 -msgid "" -":gh:`131461`: Fix :exc:`ResourceWarning` when constructing a " -":class:`gzip.GzipFile` in write mode with a broken file object." -msgstr "" - -#: ../NEWS:988 -msgid "" -":gh:`125866`: Deprecate the :mod:`!nturl2path` module. Call " -":func:`urllib.request.url2pathname` and :func:`~urllib.request.pathname2url`" -" instead." -msgstr "" - -#: ../NEWS:992 -msgid "" -":gh:`126367`: Fix issue where :func:`urllib.request.url2pathname` raised " -":exc:`OSError` when given a Windows URI containing a colon character not " -"following a drive letter, such as before an NTFS alternate data stream." -msgstr "" - -#: ../NEWS:996 -msgid "" -":gh:`120144`: Disable ``CALL`` event in :mod:`bdb` in ``monitoring`` backend" -" when we don't need any new events on the code object to get a better " -"performance." -msgstr "" - -#: ../NEWS:1000 -msgid "" -":gh:`131358`: Register ``cseuckr`` as an encoding alias for ``euc_kr``." -msgstr "" - -#: ../NEWS:1002 -msgid "" -":gh:`131325`: Fix sendfile fallback implementation to drain data after " -"writing to transport in :mod:`asyncio`." -msgstr "" - -#: ../NEWS:1005 -msgid "" -":gh:`90548`: :func:`platform.libc_ver` can now detect and report the version" -" of ``musl`` on Alpine Linux." -msgstr "" - -#: ../NEWS:1008 -msgid "" -":gh:`129843`: Fix incorrect argument passing in " -":func:`warnings.warn_explicit`." -msgstr "" - -#: ../NEWS:1011 -msgid "" -":gh:`70647`: When creating a :mod:`datetime` object with an out of range " -"date a more informative error is raised." -msgstr "" - -#: ../NEWS:1014 -msgid "" -":gh:`130914`: Allow :meth:`graphlib.TopologicalSorter.prepare` to be called " -"more than once as long as sorting has not started. Patch by Daniel Pope." -msgstr "" - -#: ../NEWS:1017 -msgid "" -":gh:`131236`: Allow to generate multiple UUIDs at once via :option:`python " -"-m uuid --count `." -msgstr "" - -#: ../NEWS:1020 -msgid "" -":gh:`126895`: Fix :mod:`readline` in :term:`free-threaded ` " -"build." -msgstr "" - -#: ../NEWS:1023 -msgid "" -":gh:`121468`: ``$_asynctask`` is added as a :mod:`pdb` convenience variable " -"to access the current asyncio task if applicable." -msgstr "" - -#: ../NEWS:1026 -msgid "" -":gh:`118761`: Improve import time of :mod:`locale` using lazy import ``re``." -" Patch by Semyon Moroz." -msgstr "" - -#: ../NEWS:1029 -msgid "" -":gh:`129598`: Fix :func:`ast.unparse` when :class:`ast.Interactive` contains" -" multiple statements." -msgstr "" - -#: ../NEWS:1032 -msgid "" -":gh:`85162`: The :mod:`http.server` module now includes built-in support for" -" HTTPS servers exposed by :class:`http.server.HTTPSServer`. This " -"functionality is exposed by the command-line interface (``python -m " -"http.server``) through the ``--tls-cert``, ``--tls-key`` and ``--tls-" -"password-file`` options. Patch by Semyon Moroz." -msgstr "" - -#: ../NEWS:1038 -msgid "" -":gh:`129463`: The implementations of equality and hashing for " -":class:`annotationlib.ForwardRef` now use all attributes on the object. Two " -":class:`!ForwardRef` objects are equal only if all attributes are equal." -msgstr "" - -#: ../NEWS:1043 -msgid "" -":gh:`128593`: :class:`annotationlib.ForwardRef` objects no longer cache " -"their value when they are successfully evaluated. Successive calls to " -":meth:`annotationlib.ForwardRef.evaluate` may return different values." -msgstr "" - -#: ../NEWS:1047 -msgid "" -":gh:`117779`: Fix reading duplicated entries in :mod:`zipfile` by name. " -"Reading duplicated entries (except the last one) by ``ZipInfo`` now emits a " -"warning instead of raising an exception." -msgstr "" - -#: ../NEWS:1051 -msgid "" -":gh:`128715`: The class of :class:`~ctypes.Structure`/:class:`~ctypes.Union`" -" field descriptors is now available as :class:`~ctypes.CField`, and has new " -"attributes to aid debugging and introspection." -msgstr "" - -#: ../NEWS:1055 -msgid "" -":gh:`128055`: Fix ``test.test_sysconfig.test_sysconfigdata_json`` when " -"running outside the build directory (eg. after installing)." -msgstr "" - -#: ../NEWS:1058 -msgid "" -":gh:`126037`: :mod:`xml.etree.ElementTree`: Fix a crash in " -":meth:`Element.find `, " -":meth:`Element.findtext ` and " -":meth:`Element.findall ` when the tag" -" to find implements an :meth:`~object.__eq__` method mutating the element " -"being queried. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:1065 -msgid "" -":gh:`127794`: When headers are added to :class:`email.message.Message` " -"objects, either through :meth:`email.message.Message.__setitem__` or " -":meth:`email.message.Message.add_header`, the field name is now validated " -"according to :rfc:`RFC 5322, Section 2.2 <5322#section-2.2>` and a " -":exc:`ValueError` is raised if the field name contains any invalid " -"characters." -msgstr "" - -#: ../NEWS:1072 -msgid "" -":gh:`123599`: Deprecate :meth:`!pathlib.PurePath.as_uri`; use " -":meth:`pathlib.Path.as_uri` instead." -msgstr "" - -#: ../NEWS:1075 -msgid "" -":gh:`126033`: :mod:`xml.etree.ElementTree`: Fix a crash in " -":meth:`Element.remove ` when the " -"element is concurrently mutated. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:1079 -msgid "" -":gh:`120144`: Add the optional backend of ``sys.monitoring`` to :mod:`bdb` " -"and use it for :mod:`pdb`." -msgstr "" - -#: ../NEWS:1082 -msgid "" -":gh:`74598`: Add :func:`fnmatch.filterfalse` for excluding names matching a " -"pattern. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:1085 -msgid ":gh:`114917`: Add support for AI_NUMERICSERV in getaddrinfo emulation" -msgstr "" - -#: ../NEWS:1087 -msgid "" -":issue:`17254`: Added aliases for Thai Language using Microsoft Code Pages." -msgstr "" - -#: ../NEWS:1092 -msgid "" -":gh:`131417`: Mention :class:`asyncio.Future` and :class:`asyncio.Task` in " -"generic classes list." -msgstr "" - -#: ../NEWS:1098 -msgid "" -":gh:`131798`: Allow the JIT to remove an extra ``_TO_BOOL_BOOL`` instruction" -" after ``_CONTAINS_OP_SET`` by setting the return type to bool." -msgstr "" - -#: ../NEWS:1101 -msgid "" -":gh:`132011`: Fix crash when calling :meth:`!list.append` as an unbound " -"method." -msgstr "" - -#: ../NEWS:1104 -msgid "" -":gh:`131998`: Fix a crash when using an unbound method :term:`descriptor` " -"object in a function where a bound method descriptor was used." -msgstr "" - -#: ../NEWS:1107 -msgid "" -":gh:`131591`: Implement :pep:`768` (Safe external debugger interface for " -"CPython). Add a new :func:`sys.remote_exec` function to the :mod:`sys` " -"module. This function schedules the execution of a Python file in a separate" -" process. Patch by Pablo Galindo, Matt Wozniski and Ivona Stojanovic." -msgstr "" - -#: ../NEWS:1113 -msgid "" -":gh:`131798`: Allow JIT to omit str guard in truthiness test when str type " -"is known." -msgstr "" - -#: ../NEWS:1116 -msgid "" -":gh:`131833`: Add support for optionally dropping grouping parentheses when " -"using multiple exception types as per :pep:`758`. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:1119 -msgid "" -":gh:`130924`: Usage of a name in a function-scope annotation no longer " -"triggers creation of a cell for that variable. This fixes a regression in " -"earlier alphas of Python 3.14." -msgstr "" - -#: ../NEWS:1123 -msgid "" -":gh:`131800`: Improve the experimental JIT's ability to remove type checks " -"for certain subscripting operations." -msgstr "" - -#: ../NEWS:1126 -msgid "" -":gh:`131738`: Compiler emits optimized code for builtin any/all/tuple calls " -"over a generator expression." -msgstr "" - -#: ../NEWS:1129 -msgid "" -":gh:`131719`: Fix missing NULL check in ``_PyMem_FreeDelayed`` in " -":term:`free-threaded ` build." -msgstr "" - -#: ../NEWS:1132 -msgid "" -":gh:`131670`: Fix :func:`anext` failing on sync :meth:`~object.__anext__` " -"raising an exception." -msgstr "" - -#: ../NEWS:1135 -msgid "" -":gh:`131666`: Fix signature of ``anext_awaitable.close`` objects. Patch by " -"Bénédikt Tran." -msgstr "" - -#: ../NEWS:1138 -msgid ":gh:`130415`: Optimize comparison of two constants in JIT builds" -msgstr "" - -#: ../NEWS:1140 -msgid "" -":gh:`129149`: Add fast path for small and medium-size integers in " -":c:func:`PyLong_FromInt32`, :c:func:`PyLong_FromUInt32`, " -":c:func:`PyLong_FromInt64` and :c:func:`PyLong_FromUInt64`. Patch by Chris " -"Eibl." -msgstr "" - -#: ../NEWS:1145 -msgid "" -":gh:`130887`: Optimize the AArch64 code generation for the JIT. Patch by " -"Diego Russo" -msgstr "" - -#: ../NEWS:1148 -msgid "" -":gh:`130956`: Optimize the AArch64 code generation for the JIT. Patch by " -"Diego Russo" -msgstr "" - -#: ../NEWS:1151 -msgid "" -":gh:`130928`: Fix error message when formatting bytes using the ``'i'`` " -"flag. Patch by Maxim Ageev." -msgstr "" - -#: ../NEWS:1154 -msgid "" -":gh:`130935`: Annotations at the class and module level that are " -"conditionally defined are now only reflected in ``__annotations__`` if the " -"block they are in is executed. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:1158 -msgid "" -":gh:`130775`: Do not crash on negative ``column`` and ``end_column`` in " -":mod:`ast` locations." -msgstr "" - -#: ../NEWS:1161 -msgid "" -":gh:`130704`: Optimize ``LOAD_FAST`` and its superinstruction form to reduce" -" reference counting overhead. These instructions are replaced with faster " -"variants that load borrowed references onto the operand stack when we can " -"prove that the reference in the frame outlives the reference loaded onto the" -" stack." -msgstr "" - -#: ../NEWS:1167 -msgid "" -":gh:`88887`: Fixing multiprocessing Resource Tracker process leaking, " -"usually observed when running Python as PID 1." -msgstr "" - -#: ../NEWS:1170 -msgid "" -":gh:`130115`: Fix an issue with thread identifiers being sign-extended on " -"some platforms." -msgstr "" - -#: ../NEWS:1173 -msgid "" -":gh:`99108`: Add support for built-in implementation of HMAC (:rfc:`2104`) " -"based on HACL*. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:1176 -msgid "" -":gh:`130080`: Implement PEP 765: Disallow return/break/continue that exit a " -"finally block." -msgstr "" - -#: ../NEWS:1179 -msgid "" -":gh:`129900`: Fix return codes inside :exc:`SystemExit` not getting returned" -" by the REPL." -msgstr "" - -#: ../NEWS:1182 -msgid "" -":gh:`128632`: Disallow ``__classdict__`` as the name of a type parameter. " -"Using this name would previously crash the interpreter in some " -"circumstances." -msgstr "" - -#: ../NEWS:1186 -msgid "" -":gh:`126703`: Improve performance of builtin methods by using a freelist." -msgstr "" - -#: ../NEWS:1188 -msgid "" -":gh:`126703`: Improve performance of :class:`range` by using a freelist." -msgstr "" - -#: ../NEWS:1193 -msgid ":gh:`131740`: Update PyUnstable_GC_VisitObjects to traverse perm gen." -msgstr "" - -#: ../NEWS:1195 -msgid "" -":gh:`131525`: The PyTupleObject now caches the computed hash value in the " -"new field ob_hash." -msgstr "" - -#: ../NEWS:1201 -msgid "" -":gh:`131865`: The DTrace build now properly passes the ``CC`` and ``CFLAGS``" -" variables to the ``dtrace`` command when utilizing SystemTap on Linux." -msgstr "" - -#: ../NEWS:1204 -msgid ":gh:`131675`: Fix mimalloc library builds for 32-bit ARM targets." -msgstr "" - -#: ../NEWS:1206 -msgid "" -":gh:`131691`: clang-cl on Windows needs option ``/EHa`` to support SEH " -"(structured exception handling) correctly. Fix by Chris Eibl." -msgstr "" - -#: ../NEWS:1209 -msgid "" -":gh:`131278`: Add optimizing flag ``WITH_COMPUTED_GOTOS`` to Windows builds " -"for when using a compiler that supports it (currently clang-cl). Patch by " -"Chris Eibl." -msgstr "" - -#: ../NEWS:1213 -msgid "" -":gh:`130213`: Update the vendored HACL* library to fix build issues with " -"older clang compilers." -msgstr "" - -#: ../NEWS:1216 -msgid "" -":gh:`130673`: Fix potential ``KeyError`` when handling object sections " -"during JIT building process." -msgstr "" - -#: ../NEWS:1221 -msgid "Python 3.14.0 alpha 6" -msgstr "" - -#: ../NEWS:1223 -msgid "*Release date: 2025-03-14*" -msgstr "" - -#: ../NEWS:1228 -msgid "" -":gh:`128540`: Ensure web browser is launched by :func:`webbrowser.open` on " -"macOS, even for ``file://`` URLs." -msgstr "" - -#: ../NEWS:1234 -msgid "" -":gh:`131020`: :source:`pylauncher ` correctly detects a BOM " -"when searching for the shebang. Fix by Chris Eibl." -msgstr "" - -#: ../NEWS:1240 -msgid "" -":gh:`130453`: Make it possible to override default keywords in " -":program:`pygettext`." -msgstr "" - -#: ../NEWS:1243 -msgid "" -":gh:`85012`: Correctly reset ``msgctxt`` when compiling messages in " -":program:`msgfmt`." -msgstr "" - -#: ../NEWS:1246 -msgid "" -":gh:`130453`: Extend support for specifying custom keywords in " -":program:`pygettext`." -msgstr "" - -#: ../NEWS:1249 -msgid "" -":gh:`130195`: Add warning messages when ``pygettext`` unimplemented " -"``-a/--extract-all`` option is called." -msgstr "" - -#: ../NEWS:1252 -msgid "" -":gh:`130057`: Add support for translator comments in " -":program:`pygettext.py`." -msgstr "" - -#: ../NEWS:1254 -msgid "" -":gh:`130025`: The iOS testbed now correctly handles symlinks used as Python " -"framework references." -msgstr "" - -#: ../NEWS:1257 -msgid "" -":gh:`129911`: Fix the keyword entry in the help output of " -":program:`pygettext`." -msgstr "" - -#: ../NEWS:1263 -msgid "" -":gh:`129200`: Multiple iOS testbed runners can now be started at the same " -"time without introducing an ambiguity over simulator ownership." -msgstr "" - -#: ../NEWS:1266 -msgid "" -":gh:`130292`: The iOS testbed will now run successfully on a machine that " -"has not previously run Xcode tests (such as CI configurations)." -msgstr "" - -#: ../NEWS:1269 -msgid "" -":gh:`130293`: The tests of terminal colorization are no longer sensitive to " -"the value of the ``TERM`` variable in the testing environment." -msgstr "" - -#: ../NEWS:1272 -msgid "" -":gh:`129401`: Fix a flaky test in ``test_repr_rlock`` that checks the " -"representation of :class:`multiprocessing.RLock`." -msgstr "" - -#: ../NEWS:1275 -msgid ":gh:`126332`: Add unit tests for pyrepl." -msgstr "" - -#: ../NEWS:1280 -msgid "" -":gh:`127371`: Avoid unbounded buffering for " -":meth:`!tempfile.SpooledTemporaryFile.writelines`. Previously, disk " -"spillover was only checked after the lines iterator had been exhausted. This" -" is now done after each line is written." -msgstr "" - -#: ../NEWS:1288 -msgid "" -":gh:`131204`: Use monospace font from System Font Stack for cross-platform " -"support in :class:`difflib.HtmlDiff`." -msgstr "" - -#: ../NEWS:1291 -msgid "" -":gh:`131196`: Improve performance of :attr:`uuid.UUID.hex` and " -":meth:`uuid.UUID.__str__ `." -msgstr "" - -#: ../NEWS:1294 -msgid "" -":gh:`130940`: The behavior of ``PyConfig.use_system_logger`` was modified to" -" be enabled by default on iOS. It remains disabled by default on macOS." -msgstr "" - -#: ../NEWS:1297 -msgid "" -":gh:`131123`: Supported completions for attributes of convenience variables " -"in :mod:`pdb`." -msgstr "" - -#: ../NEWS:1300 -msgid "" -":gh:`93096`: Removed undocumented CLI ``python -m difflib``. Use ``python -m" -" doctest Lib/difflib.py -v`` instead. Patch by Semyon Moroz." -msgstr "" - -#: ../NEWS:1303 -msgid "" -":gh:`93096`: Removed undocumented ``-t`` and ``-v`` arguments of ``python -m" -" pickle``. Use ``python -m doctest Lib/pickle.py -v`` instead. Patch by " -"Semyon Moroz." -msgstr "" - -#: ../NEWS:1307 -msgid "" -":gh:`81267`: Correct :func:`time.sleep` error message when an object that " -"cannot be interpreted as an integer or float is provided." -msgstr "" - -#: ../NEWS:1310 -msgid "" -":gh:`93096`: Removed undocumented ``-t`` and ``-v`` arguments of ``python -m" -" pickletools``. Use ``python -m doctest Lib/pickletools.py -v`` instead. " -"Patch by Semyon Moroz." -msgstr "" - -#: ../NEWS:1314 -msgid "" -":gh:`131045`: Fix issue with ``__contains__``, values, and pseudo-members " -"for :class:`enum.Flag`." -msgstr "" - -#: ../NEWS:1317 -msgid "" -":gh:`130959`: Fix pure-Python implementation of " -":func:`datetime.time.fromisoformat` to reject times with spaces in " -"fractional part (for example, ``12:34:56.400 +02:00``), matching the C " -"implementation. Patch by Michał Gorny." -msgstr "" - -#: ../NEWS:1322 -msgid "" -":gh:`130806`: Deleting :class:`gzip.GzipFile` before it is closed now emits " -"a :exc:`ResourceWarning`." -msgstr "" - -#: ../NEWS:1325 -msgid "" -":gh:`130637`: Add validation for numeric response data in poplib.POP3.stat()" -" method" -msgstr "" - -#: ../NEWS:1328 -msgid "" -":gh:`130665`: Only apply locale to :ref:`calendar CLI ` when " -"set via ``--locale`` and not via ``LANG`` environment variable." -msgstr "" - -#: ../NEWS:1331 -msgid "" -":gh:`130660`: ``sys.ps1`` and ``sys.ps2`` are now restored after " -":func:`code.interact` call." -msgstr "" - -#: ../NEWS:1334 -msgid "" -":gh:`130608`: Remove *dirs_exist_ok* argument from :meth:`pathlib.Path.copy`" -" and :meth:`~pathlib.Path.copy_into`. These methods are new in Python 3.14." -msgstr "" - -#: ../NEWS:1337 -msgid "" -":gh:`130461`: Remove ``.. index::`` directives from the :mod:`uuid` module " -"documentation. These directives previously created entries in the general " -"index for :func:`~uuid.getnode` as well as the :func:`~uuid.uuid1`, " -":func:`~uuid.uuid3`, :func:`~uuid.uuid4`, :func:`~uuid.uuid5`, and " -":func:`~uuid.uuid8` constructor functions." -msgstr "" - -#: ../NEWS:1343 -msgid "" -":gh:`130379`: The zipapp module now calculates the list of files to be added" -" to the archive before creating the archive. This avoids accidentally " -"including the target when it is being created in the source directory." -msgstr "" - -#: ../NEWS:1347 -msgid "" -":gh:`82987`: Inline breakpoints like :func:`breakpoint` or " -":func:`pdb.set_trace` will always stop the program at calling frame, " -"ignoring the ``skip`` pattern (if any)." -msgstr "" - -#: ../NEWS:1351 -msgid "" -":gh:`125377`: ```` at the beginning of the line in :mod:`pdb` multi-" -"line input will fill in a 4-space indentation now, instead of inserting a " -"``\\t`` character." -msgstr "" - -#: ../NEWS:1355 -msgid "" -":gh:`125413`: Ensure the path returned from :meth:`pathlib.Path.copy` or " -":meth:`~pathlib.Path.move` has fresh :attr:`~pathlib.Path.info`." -msgstr "" - -#: ../NEWS:1358 -msgid "" -":gh:`65697`: stdlib configparser will now attempt to validate that keys it " -"writes will not result in file corruption (creating a file unable to be " -"accurately parsed by a future read() call from the same parser). Attempting " -"a corrupting write() will raise an InvalidWriteError." -msgstr "" - -#: ../NEWS:1363 -msgid "" -":gh:`125413`: Speed up :meth:`Path.copy ` by making " -"better use of :attr:`~pathlib.Path.info` internally." -msgstr "" - -#: ../NEWS:1366 -msgid "" -":gh:`130285`: Fix corner case for :func:`random.sample` allowing the " -"*counts* parameter to specify an empty population. So now, ``sample([], 0, " -"counts=[])`` and ``sample('abc', k=0, counts=[0, 0, 0])`` both give the same" -" result as ``sample([], 0)``." -msgstr "" - -#: ../NEWS:1371 -msgid "" -":gh:`124703`: Executing ``quit`` command in :mod:`pdb` will raise " -":exc:`bdb.BdbQuit` when :mod:`pdb` is started from an interactive console " -"using :func:`breakpoint` or :func:`pdb.set_trace`." -msgstr "" - -#: ../NEWS:1375 -msgid "" -":gh:`107773`: Make :mod:`datetime` subclass :meth:`~object.__repr__` " -"consistent both implementations. Patch by Semyon Moroz." -msgstr "" - -#: ../NEWS:1378 -msgid ":gh:`130250`: Fix regression in ``traceback.print_last()``." -msgstr "" - -#: ../NEWS:1380 -msgid "" -":gh:`123471`: Make concurrent iterations over :class:`itertools.batched` " -"safe under free-threading." -msgstr "" - -#: ../NEWS:1383 -msgid "" -":gh:`57537`: Support breakpoints for :mod:`zipimport` modules on :mod:`pdb`" -msgstr "" - -#: ../NEWS:1385 -msgid "" -":gh:`130230`: Fix crash in :func:`pow` with only :class:`~decimal.Decimal` " -"third argument." -msgstr "" - -#: ../NEWS:1388 -msgid "" -":gh:`126944`: Show explicit errors when required arguments of :mod:`pdb` " -"commands are missing" -msgstr "" - -#: ../NEWS:1391 -msgid "" -":gh:`127750`: Improve repr of :class:`functools.singledispatchmethod` " -"methods and descriptors." -msgstr "" - -#: ../NEWS:1394 -msgid "" -":gh:`128520`: Apply type conversion consistently in " -":class:`pathlib.PurePath` and :class:`~pathlib.Path` methods can accept a " -"path object as an argument, such as :meth:`~pathlib.PurePath.match` and " -":meth:`~pathlib.Path.rename`. The argument is now converted to path object " -"if it lacks a :meth:`~pathlib.PurePath.with_segments` attribute, and not " -"otherwise." -msgstr "" - -#: ../NEWS:1401 -msgid "" -":gh:`118761`: Reverts a change in the previous release attempting to make " -"some stdlib imports used within the :mod:`subprocess` module lazy as this " -"was causing errors during ``__del__`` finalizers calling methods such as " -"``terminate``, or ``kill``, or ``send_signal``." -msgstr "" - -#: ../NEWS:1406 -msgid "" -":gh:`130164`: Fixed failure to raise :exc:`TypeError` in " -":meth:`inspect.Signature.bind` for positional-only arguments provided by " -"keyword when a variadic keyword argument (e.g. ``**kwargs``) is present." -msgstr "" - -#: ../NEWS:1410 -msgid "" -":gh:`130151`: Fix reference leaks in :func:`!_hashlib.hmac_new` and " -":func:`!_hashlib.hmac_digest`. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:1413 -msgid "" -":gh:`130145`: Fix :meth:`!asyncio.AbstractEventloop.run_forever` when " -"another loop is already running." -msgstr "" - -#: ../NEWS:1416 -msgid "" -":gh:`130139`: Fix bug where :func:`ast.parse` did not error on AST input " -"which is not of the correct type, when called with optimize=False." -msgstr "" - -#: ../NEWS:1419 -msgid "" -":gh:`127260`: Forbid the use of colon (\":\") as a fractional component " -"separator and other improvements to the consistency of error raising between" -" the C and Python implementations of :meth:`datetime.time.fromisoformat` and" -" :meth:`datetime.datetime.fromisoformat`. Patch by Semyon Moroz." -msgstr "" - -#: ../NEWS:1425 -msgid "" -":gh:`85795`: Using :func:`super` and ``__class__`` :term:`closure variable` " -"in user-defined methods of :class:`typing.NamedTuple` subclasses is now " -"explicitly prohibited at runtime. Contributed by Bartosz Sławecki in " -":gh:`130082`." -msgstr "" - -#: ../NEWS:1430 -msgid "" -":gh:`118761`: Improve import time of :mod:`cmd` by lazy importing " -":mod:`inspect` and removing :mod:`string`. Patch by Semyon Moroz." -msgstr "" - -#: ../NEWS:1433 -msgid "" -":gh:`129726`: Fix :class:`gzip.GzipFile` raising an unraisable exception " -"during garbage collection when referring to a temporary object by breaking " -"the reference loop with :mod:`weakref`." -msgstr "" - -#: ../NEWS:1437 -msgid "" -":gh:`127750`: Remove broken :func:`functools.singledispatchmethod` caching " -"introduced in :gh:`85160`. Achieve the same performance using different " -"optimization." -msgstr "" - -#: ../NEWS:1441 -msgid "" -":gh:`129948`: Add support for shared :class:`set` to " -":class:`multiprocessing.managers.SyncManager` via :meth:`SyncManager.set() " -"`." -msgstr "" - -#: ../NEWS:1445 -msgid "" -":gh:`129965`: Update MIME types for ``.avi`` and ``.wav``. Add MIME types " -"for ``.docx``, ``.pptx``, ``.xlsx``, ``.epub``, ``.flac``, ``.m4a``, " -"``.odg``, ``.odp``, ``.ods``, ``.odt``, ``.oga``, ``.ogg``, ``.ogx`` and " -"``.weba``. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:1450 -msgid "" -":gh:`129889`: Support context manager protocol by " -":class:`contextvars.Token`. Patch by Andrew Svetlov." -msgstr "" - -#: ../NEWS:1453 -msgid "" -":gh:`97850`: Update the deprecation warning of " -":meth:`importlib.abc.Loader.load_module`." -msgstr "" - -#: ../NEWS:1456 -msgid "" -":gh:`129678`: :class:`configparser.ConfigParser`: do not write an empty " -"unnamed section" -msgstr "" - -#: ../NEWS:1459 -msgid "" -":gh:`128641`: Restore :meth:`configparser.ConfigParser.read` performance." -msgstr "" - -#: ../NEWS:1461 -msgid "" -":gh:`129569`: Fix :func:`unicodedata.normalize` to always return a built-in " -":class:`str` object when given an input of a :class:`str` subclass, " -"regardless of whether the string is already normalized." -msgstr "" - -#: ../NEWS:1465 -msgid "" -":gh:`128231`: Execution of multiple statements in the new REPL now stops " -"immediately upon the first exception encountered. Patch by Bartosz Sławecki." -msgstr "" - -#: ../NEWS:1469 -msgid "" -":gh:`96092`: Fix bug in :func:`traceback.walk_stack` called with None where " -"it was skipping more frames than in prior versions. This bug fix also " -"changes walk_stack to walk the stack in the frame where it was called rather" -" than where it first gets used." -msgstr "" - -#: ../NEWS:1474 -msgid "" -":gh:`129288`: Add optional ``l2_cid`` and ``l2_bdaddr_type`` fields to " -":mod:`socket` ``BTPROTO_L2CAP`` sockaddr tuple." -msgstr "" - -#: ../NEWS:1477 -msgid "" -":gh:`128703`: Fix :func:`mimetypes.guess_type` to use default mapping for " -"empty ``Content-Type`` in registry." -msgstr "" - -#: ../NEWS:1480 -msgid "" -":gh:`128647`: Eagerly write to buffers passed to :class:`gzip.GzipFile`'s " -":meth:`~io.BufferedIOBase.readinto` and :meth:`~io.BufferedIOBase.readinto1`" -" implementations, avoiding unnecessary allocations. Patch by Chris " -"Markiewicz." -msgstr "" - -#: ../NEWS:1485 -msgid "" -":gh:`128184`: Improve display of :class:`annotationlib.ForwardRef` object " -"within :class:`inspect.Signature` representations. This also fixes a " -":exc:`NameError` that was raised when using :func:`dataclasses.dataclass` on" -" classes with unresolvable forward references." -msgstr "" - -#: ../NEWS:1490 -msgid "" -":gh:`128041`: Add " -":meth:`concurrent.futures.ProcessPoolExecutor.terminate_workers` and " -":meth:`concurrent.futures.ProcessPoolExecutor.kill_workers` as ways to " -"terminate or kill all living worker processes in the given pool. " -"(Contributed by Charles Machalow in :gh:`130849`.)" -msgstr "" - -#: ../NEWS:1496 -msgid "" -":gh:`127647`: Add protocols :class:`io.Reader` and :class:`io.Writer` as " -"alternatives to :class:`typing.IO`, :class:`typing.TextIO`, and " -":class:`typing.BinaryIO`." -msgstr "" - -#: ../NEWS:1500 -msgid "" -":gh:`109798`: Added additional information into error messages in " -":mod:`datetime`, and made the messages more consistent between the C and " -"Python implementations. Patch by Semyon Moroz." -msgstr "" - -#: ../NEWS:1504 -msgid "" -":gh:`125746`: Delay deprecated :meth:`zipimport.zipimporter.load_module` " -"removal time to 3.15. Use :meth:`zipimport.zipimporter.exec_module` instead." -msgstr "" - -#: ../NEWS:1508 -msgid "" -":gh:`74028`: Add the optional ``buffersize`` parameter to " -":meth:`concurrent.futures.Executor.map` to limit the number of submitted " -"tasks whose results have not yet been yielded. If the buffer is full, " -"iteration over the *iterables* pauses until a result is yielded from the " -"buffer." -msgstr "" - -#: ../NEWS:1514 -msgid "" -":gh:`124927`: Non-printing characters are now properly handled in the new " -"REPL." -msgstr "" - -#: ../NEWS:1517 -msgid "" -":gh:`124096`: Turn on virtual terminal mode and enable bracketed paste in " -"REPL on Windows console. (If the terminal does not support bracketed paste, " -"enabling it does nothing.)" -msgstr "" - -#: ../NEWS:1521 -msgid "" -":gh:`89083`: Add :func:`uuid.uuid7` for generating UUIDv7 objects as " -"specified in :rfc:`9562`. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:1524 -msgid "" -":gh:`89083`: Add :func:`uuid.uuid6` for generating UUIDv6 objects as " -"specified in :rfc:`9562`. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:1527 -msgid "" -":gh:`117151`: Increase ``io.DEFAULT_BUFFER_SIZE`` from 8k to 128k and adjust" -" :func:`open` on platforms where :meth:`os.fstat` provides a ``st_blksize`` " -"field (such as Linux) to use ``max(min(blocksize, 8 MiB), " -"io.DEFAULT_BUFFER_SIZE)`` rather than always using the device block size. " -"This should improve I/O performance. Patch by Romain Morotti." -msgstr "" - -#: ../NEWS:1533 -msgid "" -":gh:`105499`: Make :class:`types.UnionType` an alias for " -":class:`typing.Union`. Both ``int | str`` and ``Union[int, str]`` now create" -" instances of the same type. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:1537 -msgid "" -":gh:`93096`: Document the command-line for :mod:`mimetypes`. It now exits " -"with ``1`` on failure instead of ``0`` and ``2`` on incorrect command-line " -"parameters instead of ``1``. Also, errors are printed to stderr instead of " -"stdout and their text is made tighter. Patch by Oleg Iarygin and Hugo van " -"Kemenade." -msgstr "" - -#: ../NEWS:1546 -msgid "" -":gh:`125722`: Require Sphinx 8.2.0 or later to build the Python " -"documentation. Patch by Adam Turner." -msgstr "" - -#: ../NEWS:1549 -msgid "" -":gh:`129712`: The wheel tags supported by each macOS universal SDK option " -"are now documented." -msgstr "" - -#: ../NEWS:1552 -msgid "" -":gh:`46236`: C API: Document :c:func:`PyUnicode_RSplit`, " -":c:func:`PyUnicode_Partition` and :c:func:`PyUnicode_RPartition`." -msgstr "" - -#: ../NEWS:1558 -msgid "" -":gh:`131141`: Fix data race in :data:`sys.monitoring` instrumentation while " -"registering callback." -msgstr "" - -#: ../NEWS:1561 -msgid "" -":gh:`130804`: Fix support of unicode characters on Windows in the new REPL." -msgstr "" - -#: ../NEWS:1563 -msgid "" -":gh:`130932`: Fix incorrect exception handling in " -"``_PyModule_IsPossiblyShadowing``" -msgstr "" - -#: ../NEWS:1566 -msgid "" -":gh:`122029`: :func:`sys.setprofile` and :func:`sys.settrace` will not " -"generate a ``c_call`` event for ``INSTRUMENTED_CALL_FUNCTION_EX`` if the " -"callable is a method with a C function wrapped, because we do not generate " -"``c_return`` event in such case." -msgstr "" - -#: ../NEWS:1571 -msgid "" -":gh:`129964`: Fix JIT crash on Windows on Arm. Patch by Diego Russo and " -"Brandt Bucher." -msgstr "" - -#: ../NEWS:1574 -msgid "" -":gh:`130851`: Fix a crash in the :term:`free threading` build when " -"constructing a :class:`code` object with :attr:`~codeobject.co_consts` that " -"contains instances of types that are not otherwise generated by the bytecode" -" compiler." -msgstr "" - -#: ../NEWS:1579 -msgid "" -":gh:`128534`: Ensure that both left and right branches have the same source " -"for ``async for`` loops. Add these branches to the ``co_branches()`` " -"iterator." -msgstr "" - -#: ../NEWS:1583 -msgid "" -":gh:`130794`: Fix memory leak in the :term:`free threaded ` " -"build when resizing a shared list or dictionary from multiple short-lived " -"threads." -msgstr "" - -#: ../NEWS:1587 -msgid "" -":gh:`130415`: Improve JIT understanding of integers in boolean context." -msgstr "" - -#: ../NEWS:1589 -msgid "" -":gh:`130382`: Fix ``PyRefTracer_DESTROY`` not being sent from " -":file:`Python/ceval.c` ``Py_DECREF()``." -msgstr "" - -#: ../NEWS:1592 -msgid ":gh:`130574`: Renumber :opcode:`RESUME` from 149 to 128." -msgstr "" - -#: ../NEWS:1594 -msgid "" -":gh:`124878`: Fix race conditions during runtime finalization that could " -"lead to accessing freed memory." -msgstr "" - -#: ../NEWS:1597 -msgid "" -":gh:`130415`: Improve the experimental JIT's ability to narrow boolean " -"values based on the results of truthiness tests." -msgstr "" - -#: ../NEWS:1600 -msgid "" -":gh:`130618`: Fix a bug that was causing ``UnicodeDecodeError`` or " -"``SystemError`` to be raised when using f-strings with ``lambda`` " -"expressions with non-ASCII characters. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:1604 -msgid "" -":gh:`123044`: Make sure that the location of branch targets in ``match`` " -"cases is in the body, not the pattern." -msgstr "" - -#: ../NEWS:1607 -msgid "" -":gh:`128534`: Add branch monitoring (``BRANCH_LEFT`` and ``BRANCH_RIGHT`` " -"events) for ``async for`` loops." -msgstr "" - -#: ../NEWS:1610 -msgid "" -":gh:`130163`: Fix possible crashes related to concurrent change and use of " -"the :mod:`sys` module attributes." -msgstr "" - -#: ../NEWS:1613 -msgid "" -":gh:`122029`: ``INSTRUMENTED_CALL_KW`` will expand the method before " -"monitoring to reflect the actual behavior more accurately." -msgstr "" - -#: ../NEWS:1616 -msgid "" -":gh:`130415`: Improve JIT's ability to optimize strings in boolean contexts." -msgstr "" - -#: ../NEWS:1618 -msgid "" -":gh:`130396`: Use actual stack limits (from " -":manpage:`pthread_getattr_np(3)`) for linux, and other systems with " -"``_GNU_SOURCE`` defined, when determining limits for C stack protection." -msgstr "" - -#: ../NEWS:1622 -msgid "" -":gh:`128396`: Fix a crash that occurs when calling :func:`locals` inside an " -"inline comprehension that uses the same local variable as the outer frame " -"scope where the variable is a free or cell var." -msgstr "" - -#: ../NEWS:1626 -msgid "" -":gh:`129107`: Fix two more :class:`bytearray` functions for :term:`free " -"threading`." -msgstr "" - -#: ../NEWS:1629 -msgid "" -":gh:`127705`: Use tagged references (``_PyStackRef``) for the default build " -"as well as for the free-threading build. This has a small negative " -"performance impact short-term but will enable larger speedups in the future " -"and significantly reduce maintenance costs by allowing a single " -"implementation of tagged references in the future." -msgstr "" - -#: ../NEWS:1635 -msgid "" -":gh:`130094`: Fix two race conditions involving concurrent imports that " -"could lead to spurious failures with :exc:`ModuleNotFoundError`." -msgstr "" - -#: ../NEWS:1638 -msgid "" -":gh:`129107`: Make :class:`bytearray` iterator safe under :term:`free " -"threading`." -msgstr "" - -#: ../NEWS:1641 -msgid "" -":gh:`115802`: Use the more efficient \"medium\" code model for JIT-compiled " -"code on supported platforms." -msgstr "" - -#: ../NEWS:1644 -msgid "" -":gh:`107956`: A ``build-details.json`` file is now install in the platform-" -"independent standard library directory (:pep:`739` implementation)." -msgstr "" - -#: ../NEWS:1648 -msgid "" -":gh:`116042`: Fix location for SyntaxErrors of invalid escapes in the " -"tokenizer. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:1651 -msgid "" -":gh:`91079`: Change C stack overflow protection to consider the amount of " -"stack consumed, rather than a counter. This allows deeper recursion in many " -"cases, but remains safe." -msgstr "" - -#: ../NEWS:1655 -msgid "" -":gh:`129715`: Improve the experimental JIT's handling of returns to unknown " -"callers." -msgstr "" - -#: ../NEWS:1658 -msgid ":gh:`129983`: Fix data race in compile_template in :file:`sre.c`." -msgstr "" - -#: ../NEWS:1660 -msgid "" -":gh:`129967`: Fix a race condition in the :term:`free threading` build when " -"``repr(set)`` is called concurrently with ``set.clear()``." -msgstr "" - -#: ../NEWS:1663 -msgid "" -":gh:`129953`: The internal (evaluation) stack is now spilled to memory " -"whenever execution escapes from the interpreter or JIT compiled code. This " -"should have no observable effect in either Python or builtin extensions, but" -" will allow various important optimizations in the future." -msgstr "" - -#: ../NEWS:1668 -msgid "" -":gh:`129515`: Clarify syntax error messages for conditional expressions when" -" a statement is specified before an :keyword:`if` or after an " -":keyword:`else` keyword." -msgstr "" - -#: ../NEWS:1672 -msgid "" -":gh:`129349`: :meth:`bytes.fromhex` and :meth:`bytearray.fromhex` now " -"accepts ASCII :class:`bytes` and :term:`bytes-like objects `." -msgstr "" - -#: ../NEWS:1675 -msgid "" -":gh:`129149`: Add fast path for medium-size integers in " -":c:func:`PyLong_FromSsize_t`. Patch by Chris Eibl." -msgstr "" - -#: ../NEWS:1678 -msgid "" -":gh:`129107`: Make the :type:`bytearray` safe under :term:`free threading`." -msgstr "" - -#: ../NEWS:1680 -msgid "" -":gh:`128974`: Fix a crash in :meth:`UnicodeError.__str__ ` " -"when custom attributes implement :meth:`~object.__str__` with side-effects. " -"Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:1684 -msgid "" -":gh:`126085`: :class:`typing.TypeAliasType` now supports star unpacking." -msgstr "" - -#: ../NEWS:1686 -msgid "" -":gh:`125331`: ``from __future__ import barry_as_FLUFL`` now works in more " -"contexts, including when it is used in files, with the ``-c`` flag, and in " -"the REPL when there are multiple statements on the same line. Previously, it" -" worked only on subsequent lines in the REPL, and when the appropriate flags" -" were passed directly to :func:`compile`. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:1692 -msgid "" -":gh:`121464`: Make concurrent iterations over the same :func:`enumerate` " -"iterator safe under free-threading. See `Strategy for Iterators in Free " -"Threading `_." -msgstr "" - -#: ../NEWS:1696 -msgid "" -":gh:`87790`: Support underscore and comma as thousands separators in the " -"fractional part for floating-point presentation types of the new-style " -"string formatting (with :func:`format` or :ref:`f-strings`). Patch by " -"Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:1701 -msgid "" -":gh:`124445`: Fix specialization of generic aliases that are generic over a " -":class:`typing.ParamSpec` and have been specialized with a nested type " -"variable." -msgstr "" - -#: ../NEWS:1705 -msgid "" -":gh:`120608`: Adapt :func:`reversed` for use in the free-theading build. The" -" :func:`reversed` is still not thread-safe in the sense that concurrent " -"iterations may see the same object, but they will not corrupt the " -"interpreter state." -msgstr "" - -#: ../NEWS:1710 -msgid "" -":gh:`100388`: Fix the ``platform._sys_version()`` method when ``__DATE__`` " -"is undefined at buildtime by changing default buildtime datetime string to " -"the UNIX epoch." -msgstr "" - -#: ../NEWS:1714 -msgid "" -":issue:`44369`: Improve syntax errors for incorrectly closed strings. Patch " -"by Pablo Galindo" -msgstr "" - -#: ../NEWS:1720 -msgid "" -":gh:`111178`: Fix :c:type:`PyCMethod` API: replace ``size_t nargs`` with " -"``Py_ssize_t nargs`` in :c:type:`PyCMethod`. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:1723 -msgid "" -":gh:`130947`: Add again :c:func:`PySequence_Fast` to the limited C API. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:1726 ../NEWS:2291 -msgid "" -":gh:`128863`: The following private functions are deprecated and planned for" -" removal in Python 3.18:" -msgstr "" - -#: ../NEWS:1729 -msgid "" -":c:func:`!_PyUnicodeWriter_Init`: replace ``_PyUnicodeWriter_Init(&writer)``" -" with :c:func:`writer = PyUnicodeWriter_Create(0) `." -msgstr "" - -#: ../NEWS:1732 -msgid "" -":c:func:`!_PyUnicodeWriter_Finish`: replace " -"``_PyUnicodeWriter_Finish(&writer)`` with " -":c:func:`PyUnicodeWriter_Finish(writer) `." -msgstr "" - -#: ../NEWS:1735 -msgid "" -":c:func:`!_PyUnicodeWriter_Dealloc`: replace " -"``_PyUnicodeWriter_Dealloc(&writer)`` with " -":c:func:`PyUnicodeWriter_Discard(writer) `." -msgstr "" - -#: ../NEWS:1738 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteChar`: replace " -"``_PyUnicodeWriter_WriteChar(&writer, ch)`` with " -":c:func:`PyUnicodeWriter_WriteChar(writer, ch) `." -msgstr "" - -#: ../NEWS:1741 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteStr`: replace " -"``_PyUnicodeWriter_WriteStr(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteStr(writer, str) `." -msgstr "" - -#: ../NEWS:1744 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteSubstring`: replace " -"``_PyUnicodeWriter_WriteSubstring(&writer, str, start, end)`` with " -":c:func:`PyUnicodeWriter_WriteSubstring(writer, str, start, end) " -"`." -msgstr "" - -#: ../NEWS:1747 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteASCIIString`: replace " -"``_PyUnicodeWriter_WriteASCIIString(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteUTF8(writer, str) " -"`." -msgstr "" - -#: ../NEWS:1750 -msgid "" -":c:func:`!_PyUnicodeWriter_WriteLatin1String`: replace " -"``_PyUnicodeWriter_WriteLatin1String(&writer, str)`` with " -":c:func:`PyUnicodeWriter_WriteUTF8(writer, str) " -"`." -msgstr "" - -#: ../NEWS:1753 -msgid ":c:func:`!_PyUnicodeWriter_Prepare`: (no replacement)." -msgstr "" - -#: ../NEWS:1754 -msgid ":c:func:`!_PyUnicodeWriter_PrepareKind`: (no replacement)." -msgstr "" - -#: ../NEWS:1756 ../NEWS:2305 -msgid "" -"The `pythoncapi-compat project `__ can be used to get these new public functions on Python 3.13 and" -" older." -msgstr "" - -#: ../NEWS:1760 ../NEWS:2309 ../NEWS:3081 ../NEWS:5803 ../NEWS:5813 -#: ../NEWS:5884 ../NEWS:5898 ../NEWS:5928 ../NEWS:6735 ../NEWS:6744 -#: ../NEWS:8240 ../NEWS:9699 ../NEWS:12175 ../NEWS:12203 ../NEWS:12214 -#: ../NEWS:17364 ../NEWS:21015 ../NEWS:21043 ../NEWS:21769 ../NEWS:22899 -#: ../NEWS:24028 ../NEWS:24084 -msgid "Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:1762 -msgid "" -":gh:`45325`: Add a new ``p`` format parameter to :c:func:`Py_BuildValue` " -"that allows to take a C integer and produce a Python :class:`bool` object. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:1769 -msgid "" -":gh:`131035`: Use ``-flto=thin`` for faster build times using clang-cl on " -"Windows. Patch by Chris Eibl." -msgstr "" - -#: ../NEWS:1772 -msgid "" -":gh:`130740`: Ensure that ``Python.h`` is included before ``stdbool.h`` " -"unless ``pyconfig.h`` is included before or in some platform-specific " -"contexts." -msgstr "" - -#: ../NEWS:1776 -msgid "" -":gh:`130090`: Building with ``PlatformToolset=ClangCL`` on Windows now " -"supports PGO (profile guided optimization). Patch by Chris Eibl with " -"invaluable support from Steve Dover." -msgstr "" - -#: ../NEWS:1780 -msgid ":gh:`129819`: Allow building the JIT with the tailcall interpreter." -msgstr "" - -#: ../NEWS:1782 -msgid "" -":gh:`129989`: Fix a bug where the tailcall interpreter was enabled when " -"``--without-tail-call-interp`` was provided to the configure script." -msgstr "" - -#: ../NEWS:1785 -msgid "" -":gh:`129838`: Don't redefine ``_Py_NO_SANITIZE_UNDEFINED`` when compiling " -"with a recent GCC version and undefined sanitizer enabled." -msgstr "" - -#: ../NEWS:1788 -msgid "" -":gh:`82909`: ``#pragma``-based linking with ``python3*.lib`` can now be " -"switched off with :c:expr:`Py_NO_LINK_LIB`. Patch by Jean-Christophe " -"Fillion-Robin." -msgstr "" - -#: ../NEWS:1794 -msgid "Python 3.14.0 alpha 5" -msgstr "" - -#: ../NEWS:1796 -msgid "*Release date: 2025-02-11*" -msgstr "" - -#: ../NEWS:1801 -msgid ":gh:`91132`: Update macOS installer to use ncurses 6.5." -msgstr "" - -#: ../NEWS:1806 -msgid "" -":gh:`129248`: The iOS test runner now strips the log prefix from each line " -"output by the test suite." -msgstr "" - -#: ../NEWS:1809 -msgid "" -":gh:`104400`: Fix several bugs in extraction by switching to an AST parser " -"in :program:`pygettext`." -msgstr "" - -#: ../NEWS:1815 -msgid "" -":gh:`129386`: Add ``test.support.reset_code``, which can be used to reset " -"various bytecode-level optimizations and local instrumentation for a " -"function." -msgstr "" - -#: ../NEWS:1819 -msgid "" -":gh:`128474`: Disable ``test_embed`` test cases that segfault on BOLT " -"instrument binaries. The tests are only disabled when BOLT is enabled." -msgstr "" - -#: ../NEWS:1822 -msgid "" -":gh:`128003`: Add an option ``--parallel-threads=N`` to the regression test " -"runner that runs individual tests in multiple threads in parallel in order " -"to find concurrency bugs. Note that most of the test suite is not yet " -"reviewed for thread-safety or annotated with ``@thread_unsafe`` when " -"necessary." -msgstr "" - -#: ../NEWS:1831 -msgid "" -":gh:`105704`: When using :func:`urllib.parse.urlsplit` and " -":func:`urllib.parse.urlparse` host parsing would not reject domain names " -"containing square brackets (``[`` and ``]``). Square brackets are only valid" -" for IPv6 and IPvFuture hosts according to `RFC 3986 Section 3.2.2 " -"`__." -msgstr "" - -#: ../NEWS:1837 -msgid "" -":gh:`126108`: Fix a possible ``NULL`` pointer dereference in " -":c:func:`!PySys_AddWarnOptionUnicode`." -msgstr "" - -#: ../NEWS:1840 -msgid "" -":gh:`80222`: Fix bug in the folding of quoted strings when flattening an " -"email message using a modern email policy. Previously when a quoted string " -"was folded so that it spanned more than one line, the surrounding quotes and" -" internal escapes would be omitted. This could theoretically be used to " -"spoof header lines using a carefully constructed quoted string if the " -"resulting rendered email was transmitted or re-parsed." -msgstr "" - -#: ../NEWS:1847 -msgid "" -":gh:`119511`: Fix a potential denial of service in the :mod:`imaplib` " -"module. When connecting to a malicious server, it could cause an arbitrary " -"amount of memory to be allocated. On many systems this is harmless as unused" -" virtual memory is only a mapping, but if this hit a virtual address size " -"limit it could lead to a :exc:`MemoryError` or other process crash. On " -"unusual systems or builds where all allocated memory is touched and backed " -"by actual ram or storage it could've consumed resources doing so until " -"similarly crashing." -msgstr "" - -#: ../NEWS:1859 -msgid "" -":gh:`129939`: Comparison pages with highlighted changes generated by the " -":class:`difflib.HtmlDiff` class now support dark mode." -msgstr "" - -#: ../NEWS:1862 -msgid "" -":gh:`129928`: Raise :exc:`sqlite3.ProgrammingError` if a user-defined SQL " -"function with invalid number of parameters is created. Patch by Erlend " -"Aasland." -msgstr "" - -#: ../NEWS:1866 -msgid ":gh:`129583`: Update bundled pip to 25.0.1" -msgstr "" - -#: ../NEWS:1868 -msgid "" -":gh:`129766`: Fix crash in :mod:`warnings`, when calling ``_release_lock()``" -" with no existing lock." -msgstr "" - -#: ../NEWS:1871 -msgid "" -":gh:`129005`: ``_pyio.FileIO.readall()`` now allocates, resizes, and fills a" -" data buffer using the same algorithm ``_io.FileIO.readall()`` uses." -msgstr "" - -#: ../NEWS:1874 -msgid "" -":gh:`129646`: Update the locale alias mapping in the :mod:`locale` module to" -" match the latest X Org locale alias mapping and support new locales in " -"Glibc 2.41." -msgstr "" - -#: ../NEWS:1878 -msgid "" -":gh:`128317`: Put CLI calendar highlighting in private class, removing " -"``highlight_day`` from public :class:`calendar.TextCalendar` API. Patch by " -"Hugo van Kemenade." -msgstr "" - -#: ../NEWS:1882 -msgid "" -":gh:`129603`: Fix bugs where :class:`sqlite3.Row` objects could segfault if " -"their inherited :attr:`~sqlite3.Cursor.description` was set to ``None``. " -"Patch by Erlend Aasland." -msgstr "" - -#: ../NEWS:1886 -msgid "" -":gh:`129559`: Add :meth:`bytearray.resize` method so :class:`bytearray` can " -"be efficiently resized in place." -msgstr "" - -#: ../NEWS:1889 -msgid "" -":gh:`129502`: Unlikely errors in preparing arguments for :mod:`ctypes` " -"callback are now handled in the same way as errors raised in the callback of" -" in converting the result of the callback -- using " -":func:`sys.unraisablehook` instead of :func:`sys.excepthook` and not setting" -" :data:`sys.last_exc` and other variables." -msgstr "" - -#: ../NEWS:1895 -msgid "" -":gh:`129403`: Corrected :exc:`ValueError` message for " -":class:`asyncio.Barrier` and :class:`threading.Barrier`." -msgstr "" - -#: ../NEWS:1898 -msgid "" -":gh:`129409`: Fix an integer overflow in the :mod:`csv` module when writing " -"a data field larger than 2GB." -msgstr "" - -#: ../NEWS:1901 -msgid "" -":gh:`126400`: Add a socket *timeout* keyword argument to " -":class:`logging.handlers.SysLogHandler`." -msgstr "" - -#: ../NEWS:1904 -msgid "" -":gh:`118761`: Always lazy import ``warnings`` in :mod:`threading`. Patch by " -"Taneli Hukkinen." -msgstr "" - -#: ../NEWS:1907 -msgid "" -":gh:`118761`: Improve import time of :mod:`subprocess` by lazy importing " -"``locale`` and ``signal``. Patch by Taneli Hukkinen." -msgstr "" - -#: ../NEWS:1910 -msgid "" -":gh:`129346`: In :mod:`sqlite3`, handle out-of-memory when creating user-" -"defined SQL functions." -msgstr "" - -#: ../NEWS:1913 -msgid "" -":gh:`129005`: Optimize ``_pyio.FileIO.readinto`` by avoiding unnecessary " -"objects and copies using :func:`os.readinto`." -msgstr "" - -#: ../NEWS:1916 -msgid "" -":gh:`129195`: Support reporting call graph information from " -":func:`!asyncio.staggered.staggered_race`." -msgstr "" - -#: ../NEWS:1919 -msgid "" -":gh:`129205`: Add :func:`os.readinto` to read into a :ref:`buffer object " -"` from a file descriptor." -msgstr "" - -#: ../NEWS:1922 -msgid "" -":gh:`128772`: Fix :mod:`pydoc` for methods with the ``__module__`` attribute" -" equal to ``None``." -msgstr "" - -#: ../NEWS:1925 -msgid "" -":gh:`129061`: Fix FORCE_COLOR and NO_COLOR when empty strings. Patch by Hugo" -" van Kemenade." -msgstr "" - -#: ../NEWS:1928 -msgid "" -":gh:`92897`: Scheduled the deprecation of the ``check_home`` argument of " -":func:`sysconfig.is_python_build` to Python 3.15." -msgstr "" - -#: ../NEWS:1931 -msgid "" -":gh:`129064`: Deprecate :func:`!sysconfig.expand_makefile_vars`, in favor of" -" using :func:`sysconfig.get_paths` with the ``vars`` argument." -msgstr "" - -#: ../NEWS:1934 -msgid "" -":gh:`128550`: Removed an incorrect optimization relating to eager tasks in " -":class:`asyncio.TaskGroup` that resulted in cancellations being missed." -msgstr "" - -#: ../NEWS:1937 -msgid "" -":gh:`128991`: Release the enter frame reference within :mod:`bdb` callback" -msgstr "" - -#: ../NEWS:1939 -msgid "" -":gh:`118761`: Reduce import time of :mod:`pstats` and :mod:`zipfile` by up " -"to 20%, by removing unnecessary imports to :mod:`typing`. Patch by Bénédikt " -"Tran." -msgstr "" - -#: ../NEWS:1943 -msgid "" -":gh:`128978`: Fix a :exc:`NameError` in " -":func:`!sysconfig.expand_makefile_vars`. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:1946 -msgid "" -":gh:`128961`: Fix a crash when setting state on an exhausted " -":class:`array.array` iterator." -msgstr "" - -#: ../NEWS:1949 -msgid "" -":gh:`128894`: Fix ``traceback.TracebackException._format_syntax_error`` not " -"to fail on exceptions with custom metadata." -msgstr "" - -#: ../NEWS:1952 -msgid "" -":gh:`128916`: Do not attempt to set ``SO_REUSEPORT`` on sockets of address " -"families other than ``AF_INET`` and ``AF_INET6``, as it is meaningless with " -"these address families, and the call with fail with Linux kernel 6.12.9 and " -"newer." -msgstr "" - -#: ../NEWS:1957 -msgid "" -":gh:`118761`: Improve import time of :mod:`tomllib` by removing ``typing``, " -"``string``, and ``tomllib._types`` imports. Patch by Taneli Hukkinen." -msgstr "" - -#: ../NEWS:1960 -msgid "" -":gh:`128679`: :mod:`tracemalloc`: Fix race conditions when " -":func:`tracemalloc.stop` is called by a thread, while other threads are " -"tracing memory allocations. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:1964 -msgid ":gh:`128891`: Add specialized opcodes to ``opcode.opname``." -msgstr "" - -#: ../NEWS:1966 -msgid "" -":gh:`118761`: Reduce import time of :mod:`gettext` by up to ten times, by " -"importing :mod:`re` on demand. In particular, ``re`` is no longer implicitly" -" exposed as ``gettext.re``. Patch by Eli Schwartz." -msgstr "" - -#: ../NEWS:1970 -msgid "" -":gh:`118761`: Reduce the import time of :mod:`optparse` when no help text is" -" printed. Patch by Eli Schwartz." -msgstr "" - -#: ../NEWS:1973 -msgid "" -":gh:`128657`: Fix possible extra reference when using objects returned by " -":func:`hashlib.sha256` under :term:`free threading`." -msgstr "" - -#: ../NEWS:1976 -msgid "" -":gh:`118761`: Reduce the import time of :mod:`csv` by up to five times, by " -"importing :mod:`re` on demand. In particular, ``re`` is no more implicitly " -"exposed as ``csv.re``. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:1980 -msgid "" -":gh:`128308`: Support the *name* keyword argument for eager tasks in " -":func:`asyncio.loop.create_task`, :func:`asyncio.create_task` and " -":func:`asyncio.TaskGroup.create_task`, by passing on all *kwargs* to the " -"task factory set by :func:`asyncio.loop.set_task_factory`." -msgstr "" - -#: ../NEWS:1985 -msgid "" -":gh:`118761`: Improve the performance of :func:`base64.b16decode` by up to " -"ten times by more efficiently checking the byte-string for hexadecimal " -"digits. Reduce the import time of :mod:`base64` by up to six times, by no " -"longer importing :mod:`re`. Patch by Bénédikt Tran, Chris Markiewicz, and " -"Adam Turner." -msgstr "" - -#: ../NEWS:1991 -msgid "" -":gh:`128156`: When using macOS system ``libffi``, support for complex types " -"in :mod:`ctypes` is now checked at runtime (macOS 10.15 or newer). The types" -" must also be available at build time." -msgstr "" - -#: ../NEWS:1995 -msgid "" -":gh:`128636`: Fix PyREPL failure when :data:`os.environ` is overwritten with" -" an invalid value." -msgstr "" - -#: ../NEWS:1998 -msgid "" -":gh:`128498`: Default to stdout isatty for color detection instead of " -"stderr. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:2001 -msgid "" -":gh:`128384`: Add locking to :mod:`warnings` to avoid some data races when " -"free-threading is used. Change ``_warnings_runtime_state.mutex`` to be a " -"recursive mutex and expose it to :mod:`warnings`, via the " -":func:`!_acquire_lock` and :func:`!_release_lock` functions. The lock is " -"held when ``filters`` and ``_filters_version`` are updated." -msgstr "" - -#: ../NEWS:2007 -msgid "" -":gh:`128509`: Add :func:`sys._is_immortal` for identifying :term:`immortal` " -"objects at runtime." -msgstr "" - -#: ../NEWS:2010 -msgid "" -":gh:`128479`: Fix :func:`!asyncio.staggered.staggered_race` leaking tasks " -"and issuing an unhandled exception." -msgstr "" - -#: ../NEWS:2013 -msgid "" -":gh:`128427`: :const:`uuid.NIL` and :const:`uuid.MAX` are now available to " -"represent the Nil and Max UUID formats as defined by :rfc:`9562`." -msgstr "" - -#: ../NEWS:2016 -msgid "" -":gh:`91279`: :meth:`zipfile.ZipFile.writestr` now respect " -"``SOURCE_DATE_EPOCH`` that distributions can set centrally and have build " -"tools consume this in order to produce reproducible output." -msgstr "" - -#: ../NEWS:2020 -msgid "" -":gh:`112064`: Fix incorrect handling of negative read sizes in " -":meth:`HTTPResponse.read `. Patch by Yury " -"Manushkin." -msgstr "" - -#: ../NEWS:2024 -msgid ":gh:`58956`: Fixed a frame reference leak in :mod:`bdb`." -msgstr "" - -#: ../NEWS:2026 -msgid "" -":gh:`128131`: Completely support random access of uncompressed unencrypted " -"read-only zip files obtained by :meth:`ZipFile.open `." -msgstr "" - -#: ../NEWS:2030 -msgid "" -":gh:`127975`: Avoid reusing quote types in :func:`ast.unparse` if not " -"needed." -msgstr "" - -#: ../NEWS:2032 -msgid "" -":gh:`115514`: Fix exceptions and incomplete writes after " -":class:`!asyncio._SelectorTransport` is closed before writes are completed." -msgstr "" - -#: ../NEWS:2036 -msgid "" -":gh:`121604`: Add missing Deprecation warnings for " -":const:`importlib.machinery.DEBUG_BYTECODE_SUFFIXES`, " -":const:`importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES`, " -":class:`importlib.machinery.WindowsRegistryFinder`, " -":class:`importlib.abc.ResourceLoader`, " -":meth:`importlib.abc.SourceLoader.path_mtime`." -msgstr "" - -#: ../NEWS:2043 -msgid "" -":gh:`127873`: When ``-E`` is set, only ignore ``PYTHON_COLORS`` and not " -"``FORCE_COLOR``/``NO_COLOR``/``TERM`` when colourising output. Patch by Hugo" -" van Kemenade." -msgstr "" - -#: ../NEWS:2047 -msgid "" -":gh:`125413`: Add :attr:`pathlib.Path.info` attribute, which stores an " -"object implementing the :class:`pathlib.types.PathInfo` protocol (also new)." -" The object supports querying the file type and internally caching " -":func:`~os.stat` results. Path objects generated by " -":meth:`~pathlib.Path.iterdir` are initialized with file type information " -"gleaned from scanning the parent directory." -msgstr "" - -#: ../NEWS:2054 -msgid "" -":gh:`127712`: Fix handling of the ``secure`` argument of " -":class:`logging.handlers.SMTPHandler`." -msgstr "" - -#: ../NEWS:2057 -msgid "" -":gh:`127096`: Do not recreate unnamed section on every read in " -":class:`configparser.ConfigParser`. Patch by Andrey Efremov." -msgstr "" - -#: ../NEWS:2060 -msgid ":gh:`124369`: Deprecate ``pdb.Pdb.curframe_locals``" -msgstr "" - -#: ../NEWS:2062 -msgid "" -":gh:`126332`: Fix _pyrepl crash when entering a double CTRL-Z on an " -"overflowing line." -msgstr "" - -#: ../NEWS:2065 -msgid "" -":gh:`125553`: Fix round-trip invariance for backslash continuations in " -":func:`tokenize.untokenize`." -msgstr "" - -#: ../NEWS:2068 -msgid "" -":gh:`91048`: Add :func:`asyncio.capture_call_graph` and " -":func:`asyncio.print_call_graph` functions." -msgstr "" - -#: ../NEWS:2071 -msgid "" -":gh:`124703`: Quitting :mod:`pdb` in ``inline`` mode will emit a " -"confirmation prompt and exit gracefully now, instead of printing an " -"exception traceback." -msgstr "" - -#: ../NEWS:2075 -msgid "" -":gh:`123987`: Fixed issue in NamespaceReader where a non-path item in a " -"namespace path, such as a sentinel added by an editable installer, would " -"break resource loading." -msgstr "" - -#: ../NEWS:2079 -msgid "" -":gh:`119349`: Add the :func:`ctypes.util.dllist` function to list the loaded" -" shared libraries for the current process." -msgstr "" - -#: ../NEWS:2082 -msgid "" -":gh:`55454`: Add IMAP4 ``IDLE`` support to the :mod:`imaplib` module. Patch" -" by Forest." -msgstr "" - -#: ../NEWS:2085 -msgid "" -":gh:`119257`: Show tab completions menu below the current line, which " -"results in less janky behaviour, and fixes a cursor movement bug. Patch by " -"Daniel Hollas" -msgstr "" - -#: ../NEWS:2089 -msgid "" -":gh:`101410`: Support custom messages for domain errors in the :mod:`math` " -"module (:func:`math.sqrt`, :func:`math.log` and :func:`math.atanh` were " -"modified as examples). Patch by Charlie Zhao and Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:2093 -msgid "" -":gh:`81340`: Use :func:`os.copy_file_range` in :func:`shutil.copy`, " -":func:`shutil.copy2`, and :func:`shutil.copyfile` functions by default. An " -"underlying Linux system call gives filesystems an opportunity to implement " -"the use of copy-on-write (in case of btrfs and XFS) or server-side copy (in " -"the case of NFS.) Patch by Illia Volochii." -msgstr "" - -#: ../NEWS:2099 -msgid "" -":issue:`27307`: Add attribute and item access support to " -":class:`string.Formatter` in auto-numbering mode, which allows format " -"strings like '{.name}' and '{[1]}'." -msgstr "" - -#: ../NEWS:2106 -msgid "" -":gh:`129873`: Simplify displaying the IDLE doc by only copying the text " -"section of idle.html to idlelib/help.html. Patch by Stan Ulbrych." -msgstr "" - -#: ../NEWS:2112 -msgid "" -":gh:`125722`: Require Sphinx 8.1.3 or later to build the Python " -"documentation. Patch by Adam Turner." -msgstr "" - -#: ../NEWS:2115 -msgid "" -":gh:`67206`: Document that :const:`string.printable` is not printable in the" -" POSIX sense. In particular, :meth:`string.printable.isprintable() " -"` returns :const:`False`. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:2122 -msgid "" -":gh:`100239`: Replace the opcode BINARY_SUBSCR and its family by BINARY_OP " -"with oparg NB_SUBSCR." -msgstr "" - -#: ../NEWS:2125 -msgid "" -":gh:`129732`: Fixed a race in ``_Py_qsbr_reserve`` in the free threading " -"build." -msgstr "" - -#: ../NEWS:2128 -msgid "" -":gh:`129763`: Remove the internal ``LLTRACE`` macro (use :c:macro:`Py_DEBUG`" -" instead)." -msgstr "" - -#: ../NEWS:2131 -msgid ":gh:`129715`: Improve JIT performance for generators." -msgstr "" - -#: ../NEWS:2133 -msgid "" -":gh:`129643`: Fix thread safety of :c:func:`PyList_Insert` in free-threading" -" builds." -msgstr "" - -#: ../NEWS:2136 -msgid "" -":gh:`129668`: Fix race condition when raising :exc:`MemoryError` in the free" -" threaded build." -msgstr "" - -#: ../NEWS:2139 -msgid "" -":gh:`129643`: Fix thread safety of :c:func:`PyList_SetItem` in free-" -"threading builds. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:2142 -msgid "" -":gh:`128563`: Fix an issue where the \"lltrace\" debug feature could have " -"been incorrectly enabled for some frames." -msgstr "" - -#: ../NEWS:2145 -msgid "" -":gh:`129393`: On FreeBSD, :data:`sys.platform` doesn't contain the major " -"version anymore. It is always ``'freebsd'``, instead of ``'freebsd13'`` or " -"``'freebsd14'``." -msgstr "" - -#: ../NEWS:2149 -msgid "" -":gh:`129345`: Fix null pointer dereference in :func:`syslog.openlog` when an" -" audit hook raises an exception." -msgstr "" - -#: ../NEWS:2152 -msgid "" -":gh:`129231`: Improve memory layout of JIT traces. Patch by Diego Russo" -msgstr "" - -#: ../NEWS:2154 -msgid "" -":gh:`129149`: Add fast path for medium-size integers in " -":c:func:`PyLong_FromUnsignedLong`, :c:func:`PyLong_FromUnsignedLongLong` and" -" :c:func:`PyLong_FromSize_t`." -msgstr "" - -#: ../NEWS:2158 -msgid "" -":gh:`129201`: The free-threaded version of the cyclic garbage collector has " -"been optimized to conditionally use CPU prefetch instructions during the " -"collection. This can reduce collection times by making it more likely that " -"data is in the CPU cache when it is needed. The prefetch instructions are " -"enabled if the number of long-lived objects (objects surviving a full " -"collection) exceeds a threshold." -msgstr "" - -#: ../NEWS:2165 -msgid "" -":gh:`129093`: Fix f-strings such as ``f'{expr=}'`` sometimes not displaying " -"the full expression when the expression contains ``!=``." -msgstr "" - -#: ../NEWS:2168 -msgid "" -":gh:`124363`: Treat debug expressions in f-string as raw strings. Patch by " -"Pablo Galindo" -msgstr "" - -#: ../NEWS:2171 -msgid "" -":gh:`128714`: Fix the potential races in get/set dunder methods " -"``__annotations__``, ``__annotate__`` and ``__type_params__`` for function " -"object, and add related tests." -msgstr "" - -#: ../NEWS:2175 -msgid "" -":gh:`128799`: Add frame of ``except*`` to traceback when it wraps a naked " -"exception." -msgstr "" - -#: ../NEWS:2178 -msgid "" -":gh:`128842`: Collect JIT memory stats using pystats. Patch by Diego Russo." -msgstr "" - -#: ../NEWS:2180 -msgid "" -":gh:`100239`: Specialize ``BINARY_OP`` for bitwise logical operations on " -"compact ints." -msgstr "" - -#: ../NEWS:2183 -msgid "" -":gh:`128910`: Undocumented and unused private C-API functions " -"``_PyTrash_begin`` and ``_PyTrash_end`` are removed." -msgstr "" - -#: ../NEWS:2186 -msgid "" -":gh:`128807`: Add a marking phase to the free-threaded GC. This is similar " -"to what was done in :gh:`126491`. Since the free-threaded GC does not have " -"generations and is not incremental, the marking phase looks for all objects " -"reachable from known roots. The roots are objects known to not be garbage, " -"like the module dictionary for :mod:`sys`. For most programs, this marking " -"phase should make the GC a bit faster since typically less work is done per " -"object." -msgstr "" - -#: ../NEWS:2194 -msgid "" -":gh:`100239`: Add opcode ``BINARY_OP_EXTEND`` which executes a pair of " -"functions (guard and specialization functions) accessed from the inline " -"cache." -msgstr "" - -#: ../NEWS:2198 -msgid "" -":gh:`128563`: A new type of interpreter has been added to CPython. This " -"interpreter uses tail calls for its instruction handlers. Preliminary " -"benchmark results suggest 7-11% geometric mean faster on pyperformance " -"(depending on platform), and up to 30% faster on Python-intensive workloads." -" This interpreter currently only works on newer compilers, such as " -"``clang-19``. Other compilers will continue using the old interpreter. Patch" -" by Ken Jin, with ideas on how to implement this in CPython by Mark Shannon," -" Garret Gu, Haoran Xu, and Josh Haberman." -msgstr "" - -#: ../NEWS:2207 -msgid "" -":gh:`126703`: Improve performance of iterating over lists and tuples by " -"using a freelist for the iterator objects." -msgstr "" - -#: ../NEWS:2210 -msgid "" -":gh:`127953`: The time to handle a ``LINE`` event in sys.monitoring (and " -"sys.settrace) is now independent of the number of lines in the code object." -msgstr "" - -#: ../NEWS:2214 -msgid ":gh:`128330`: Restore terminal control characters on REPL exit." -msgstr "" - -#: ../NEWS:2216 -msgid "" -":gh:`128016`: Improved the ``SyntaxWarning`` message for invalid escape " -"sequences to clarify that such sequences will raise a ``SyntaxError`` in " -"future Python releases. The new message also suggests a potential fix, i.e.," -" ``Did you mean \"\\\\e\"?``." -msgstr "" - -#: ../NEWS:2221 -msgid "" -":gh:`126004`: Fix handling of :attr:`UnicodeError.start` and " -":attr:`UnicodeError.end` values in the :func:`codecs.replace_errors` error " -"handler. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:2225 -msgid "" -":gh:`126004`: Fix handling of :attr:`UnicodeError.start` and " -":attr:`UnicodeError.end` values in the " -":func:`codecs.backslashreplace_errors` error handler. Patch by Bénédikt " -"Tran." -msgstr "" - -#: ../NEWS:2230 -msgid "" -":gh:`126004`: Fix handling of :attr:`UnicodeError.start` and " -":attr:`UnicodeError.end` values in the " -":func:`codecs.xmlcharrefreplace_errors` error handler. Patch by Bénédikt " -"Tran." -msgstr "" - -#: ../NEWS:2235 -msgid ":gh:`127119`: Slightly optimize the :class:`int` deallocator." -msgstr "" - -#: ../NEWS:2237 -msgid "" -":gh:`127349`: Fixed the error when resizing terminal in Python REPL. Patch " -"by Semyon Moroz." -msgstr "" - -#: ../NEWS:2240 -msgid "" -":gh:`125723`: Fix crash with ``gi_frame.f_locals`` when generator frames " -"outlive their generator. Patch by Mikhail Efimov." -msgstr "" - -#: ../NEWS:2243 -msgid "" -":gh:`126349`: Add :func:`turtle.fill`, :func:`turtle.poly` and " -":func:`turtle.no_animation` context managers. Patch by Marie Roald and Yngve" -" Mardal Moe." -msgstr "" - -#: ../NEWS:2247 -msgid "" -":gh:`115911`: If the current working directory cannot be determined due to " -"permissions, then import will no longer raise :exc:`PermissionError`. Patch " -"by Alex Willmer." -msgstr "" - -#: ../NEWS:2251 -msgid "" -":gh:`112713`: Added support for the ``Partitioned`` cookie flag in " -":mod:`http.cookies`." -msgstr "" - -#: ../NEWS:2257 -msgid "" -":gh:`129533`: Update :c:func:`PyGC_Enable()`, :c:func:`PyGC_Disable()`, " -":c:func:`PyGC_IsEnabled()` to use atomic operation for thread-safety at " -"free-threading build. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:2261 -msgid "" -":gh:`89188`: Implement :c:func:`PyUnicode_KIND` and :c:func:`PyUnicode_DATA`" -" as function, in addition to the macros with the same names. The macros rely" -" on C bit fields which have compiler-specific layout. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:2266 -msgid "" -":gh:`91417`: Remove :c:func:`PySequence_Fast` from the limited C API, since " -"this function has to be used with :c:macro:`PySequence_Fast_GET_ITEM` which " -"never worked in the limited C API. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:2270 -msgid "" -":gh:`128509`: Add :c:func:`PyUnstable_IsImmortal` for determining whether an" -" object is :term:`immortal`." -msgstr "" - -#: ../NEWS:2273 -msgid "" -":gh:`129033`: Remove ``_PyInterpreterState_GetConfigCopy()`` and " -"``_PyInterpreterState_SetConfig()`` private functions. Use instead " -":c:func:`PyConfig_Get` and :c:func:`PyConfig_Set`, public C API added by " -":pep:`741` \"Python Configuration C API\". Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:2278 -msgid "" -":gh:`129033`: Remove the private ``_Py_InitializeMain()`` function. It was a" -" :term:`provisional API` added to Python 3.8 by :pep:`587`. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:2282 -msgid "" -":gh:`128844`: Add :c:func:`PyUnstable_TryIncRef` and " -":c:func:`PyUnstable_EnableTryIncRef` unstable APIs. These are helpers for " -"dealing with unowned references in a thread-safe way, particularly in the " -"free threading build." -msgstr "" - -#: ../NEWS:2287 -msgid "" -":gh:`128911`: Add :c:func:`PyImport_ImportModuleAttr` and " -":c:func:`PyImport_ImportModuleAttrString` helper functions to import a " -"module and get an attribute of the module. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:2294 -msgid ":c:func:`!_PyBytes_Join`: use :c:func:`PyBytes_Join`." -msgstr "" - -#: ../NEWS:2295 -msgid "" -":c:func:`!_PyDict_GetItemStringWithError`: use " -":c:func:`PyDict_GetItemStringRef`." -msgstr "" - -#: ../NEWS:2296 -msgid ":c:func:`!_PyDict_Pop()`: use :c:func:`PyDict_Pop`." -msgstr "" - -#: ../NEWS:2297 -msgid ":c:func:`!_PyLong_Sign()`: use :c:func:`PyLong_GetSign`." -msgstr "" - -#: ../NEWS:2298 -msgid "" -":c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: use " -":c:func:`PyLongWriter_Create`." -msgstr "" - -#: ../NEWS:2300 -msgid "" -":c:func:`!_PyThreadState_UncheckedGet`: use " -":c:func:`PyThreadState_GetUnchecked`." -msgstr "" - -#: ../NEWS:2301 -msgid ":c:func:`!_PyUnicode_AsString`: use :c:func:`PyUnicode_AsUTF8`." -msgstr "" - -#: ../NEWS:2302 -msgid ":c:func:`!_Py_HashPointer`: use :c:func:`Py_HashPointer`." -msgstr "" - -#: ../NEWS:2303 -msgid ":c:func:`!_Py_fopen_obj`: use :c:func:`Py_fopen`." -msgstr "" - -#: ../NEWS:2311 -msgid "" -":gh:`126599`: Remove some internal test APIs for the experimental JIT " -"compiler." -msgstr "" - -#: ../NEWS:2314 -msgid "" -":gh:`127925`: Convert the :mod:`decimal` module to use :pep:`757` C API " -"(export-import integers), offering some speed-up if the integer part of the " -":class:`~decimal.Decimal` instance is small. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:2322 -msgid "" -":gh:`129660`: Drop ``test_embed`` from PGO training, whose contribution in " -"recent versions is considered to be ignorable." -msgstr "" - -#: ../NEWS:2325 -msgid "" -":gh:`128902`: Fix compile errors with Clang 9 and older due to lack of " -"``__attribute__((fallthrough))`` support." -msgstr "" - -#: ../NEWS:2330 -msgid "Python 3.14.0 alpha 4" -msgstr "" - -#: ../NEWS:2332 -msgid "*Release date: 2025-01-14*" -msgstr "" - -#: ../NEWS:2337 -msgid "" -":gh:`127592`: Usage of the unified Apple System Log APIs was disabled when " -"the minimum macOS version is earlier than 10.12." -msgstr "" - -#: ../NEWS:2343 -msgid "" -":gh:`128152`: Fix a bug where Argument Clinic's C pre-processor parser tried" -" to parse pre-processor directives inside C comments. Patch by Erlend " -"Aasland." -msgstr "" - -#: ../NEWS:2350 -msgid "" -":gh:`128690`: Temporarily do not use test_embed in PGO profile builds until " -"the problem with test_init_pyvenv_cfg failing in some configurations is " -"resolved." -msgstr "" - -#: ../NEWS:2357 -msgid "" -":gh:`128731`: Fix :exc:`ResourceWarning` in " -":meth:`urllib.robotparser.RobotFileParser.read`." -msgstr "" - -#: ../NEWS:2360 -msgid "" -":gh:`71339`: Add new assertion methods for :mod:`unittest`: " -":meth:`~unittest.TestCase.assertHasAttr`, " -":meth:`~unittest.TestCase.assertNotHasAttr`, " -":meth:`~unittest.TestCase.assertIsSubclass`, " -":meth:`~unittest.TestCase.assertNotIsSubclass` " -":meth:`~unittest.TestCase.assertStartsWith`, " -":meth:`~unittest.TestCase.assertNotStartsWith`, " -":meth:`~unittest.TestCase.assertEndsWith` and " -":meth:`~unittest.TestCase.assertNotEndsWith`." -msgstr "" - -#: ../NEWS:2370 -msgid "" -":gh:`118761`: Improve import time of :mod:`pickle` by 25% by removing an " -"unnecessary regular expression. As such, :mod:`re` is no more implicitly " -"available as ``pickle.re``. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:2374 -msgid "" -":gh:`128661`: Fixes :func:`typing.evaluate_forward_ref` not showing " -"deprecation when ``type_params`` arg is not passed." -msgstr "" - -#: ../NEWS:2377 -msgid "" -":gh:`128562`: Fix possible conflicts in generated :mod:`tkinter` widget " -"names if the widget class name ends with a digit." -msgstr "" - -#: ../NEWS:2380 -msgid ":gh:`128559`: Improved import time of :mod:`asyncio`." -msgstr "" - -#: ../NEWS:2382 -msgid "" -":gh:`128552`: Fix cyclic garbage introduced by " -":meth:`asyncio.loop.create_task` and :meth:`asyncio.TaskGroup.create_task` " -"holding a reference to the created task if it is eager." -msgstr "" - -#: ../NEWS:2386 -msgid "" -":gh:`128340`: Add internal thread safe handle to be used in " -":meth:`asyncio.loop.call_soon_threadsafe` for thread safe cancellation." -msgstr "" - -#: ../NEWS:2389 -msgid "" -":gh:`128182`: Fix crash when using :mod:`ctypes` pointers concurrently on " -"the :term:`free threaded ` build." -msgstr "" - -#: ../NEWS:2392 -msgid "" -":gh:`128400`: Only show the current thread in :mod:`faulthandler` on the " -":term:`free threaded ` build to prevent races." -msgstr "" - -#: ../NEWS:2395 -msgid "" -":gh:`128400`: Fix crash when using :func:`faulthandler.dump_traceback` while" -" other threads are active on the :term:`free threaded ` " -"build." -msgstr "" - -#: ../NEWS:2399 -msgid "" -":gh:`128388`: Fix ``PyREPL`` on Windows to support more keybindings, like " -"the :kbd:`Control-←` and :kbd:`Control-→` word-skipping keybindings and " -"those with meta (i.e. :kbd:`Alt`), e.g. :kbd:`Alt-d` to ``kill-word`` or " -":kbd:`Alt-Backspace` ``backward-kill-word``." -msgstr "" - -#: ../NEWS:2404 -msgid "" -":gh:`88834`: Unify the instance check for :class:`typing.Union` and " -":class:`types.UnionType`: :class:`!Union` now uses the instance checks " -"against its parameters instead of the subclass checks." -msgstr "" - -#: ../NEWS:2408 -msgid "" -":gh:`128302`: Fix " -":meth:`!xml.dom.xmlbuilder.DOMEntityResolver.resolveEntity`, which was " -"broken by the Python 3.0 transition." -msgstr "" - -#: ../NEWS:2412 -msgid "" -":gh:`128317`: Highlight today in colour in :mod:`calendar`'s CLI output. " -"Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:2415 -msgid "" -":gh:`128302`: Allow :meth:`!xml.dom.xmlbuilder.DOMParser.parse` to correctly" -" handle :class:`!xml.dom.xmlbuilder.DOMInputSource` instances that only have" -" a :attr:`!systemId` attribute set." -msgstr "" - -#: ../NEWS:2419 -msgid "" -":gh:`128151`: Improve generation of :class:`~uuid.UUID` objects version 3, " -"4, 5, and 8 via their dedicated functions by 30%. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:2422 -msgid "" -":gh:`128118`: Improve performance of :func:`copy.copy` by 30% via a fast " -"path for atomic types and container types." -msgstr "" - -#: ../NEWS:2425 -msgid "" -":gh:`127946`: Fix crash when modifying :class:`ctypes._CFuncPtr` objects " -"concurrently on the :term:`free threaded ` build." -msgstr "" - -#: ../NEWS:2428 -msgid "" -":gh:`128062`: Revert the font of :mod:`turtledemo`'s menu bar to its default" -" value and display the shortcut keys in the correct position." -msgstr "" - -#: ../NEWS:2431 -msgid "" -":gh:`128014`: Fix resetting the default window icon by passing " -"``default=''`` to the :mod:`tkinter` method :meth:`!wm_iconbitmap`." -msgstr "" - -#: ../NEWS:2434 -msgid "" -":gh:`41872`: Fix quick extraction of module docstrings from a file in " -":mod:`pydoc`. It now supports docstrings with single quotes, escape " -"sequences, raw string literals, and other Python syntax." -msgstr "" - -#: ../NEWS:2438 -msgid "" -":gh:`127060`: Set TERM environment variable to \"dumb\" to disable traceback" -" colors in IDLE, since IDLE doesn't understand ANSI escape sequences. Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:2442 -msgid "" -":gh:`126742`: Fix support of localized error messages reported by " -":manpage:`dlerror(3)` and :manpage:`gdbm_strerror ` in " -":mod:`ctypes` and :mod:`dbm.gnu` functions respectively. Patch by Bénédikt " -"Tran." -msgstr "" - -#: ../NEWS:2447 -msgid "" -":gh:`122548`: Adds two new local events to sys.monitoring, ``BRANCH_LEFT`` " -"and ``BRANCH_RIGHT``. This allows the two arms of the branch to be disabled " -"independently, which should hugely improve performance of branch-level " -"coverage tools. The old branch event, ``BRANCH`` is now deprecated." -msgstr "" - -#: ../NEWS:2453 -msgid "" -":gh:`127847`: Fix the position when doing interleaved seeks and reads in " -"uncompressed, unencrypted zip files returned by " -":meth:`zipfile.ZipFile.open`." -msgstr "" - -#: ../NEWS:2457 -msgid "" -":gh:`127688`: Add the :data:`~os.SCHED_DEADLINE` and " -":data:`~os.SCHED_NORMAL` constants to the :mod:`os` module." -msgstr "" - -#: ../NEWS:2460 -msgid "" -":gh:`83662`: Add missing ``__class_getitem__`` method to the Python " -"implementation of :func:`functools.partial`, to make it compatible with the " -"C version. This is mainly relevant for alternative Python implementations " -"like PyPy and GraalPy, because CPython will usually use the C-implementation" -" of that function." -msgstr "" - -#: ../NEWS:2466 -msgid "" -":gh:`127586`: :class:`multiprocessing.pool.Pool` now properly restores " -"blocked signal handlers of the parent thread when creating processes via " -"either *spawn* or *forkserver*." -msgstr "" - -#: ../NEWS:2470 -msgid "" -":gh:`98188`: Fix an issue in :meth:`email.message.Message.get_payload` where" -" data cannot be decoded if the Content Transfer Encoding mechanism contains " -"trailing whitespaces or additional junk text. Patch by Hui Liu." -msgstr "" - -#: ../NEWS:2474 -msgid "" -":gh:`127529`: Correct behavior of " -":func:`!asyncio.selector_events.BaseSelectorEventLoop._accept_connection` in" -" handling :exc:`ConnectionAbortedError` in a loop. This improves performance" -" on OpenBSD." -msgstr "" - -#: ../NEWS:2479 -msgid "" -":gh:`127360`: When a descriptive error message cannot be provided for an " -":exc:`ssl.SSLError`, the \"unknown error\" message now shows the internal " -"error code (as retrieved by ``ERR_get_error`` and similar OpenSSL " -"functions)." -msgstr "" - -#: ../NEWS:2484 -msgid "" -":gh:`127196`: Fix crash when dict with keys in invalid encoding were passed " -"to several functions in ``_interpreters`` module." -msgstr "" - -#: ../NEWS:2487 -msgid "" -":gh:`124130`: Fix a bug in matching regular expression ``\\B`` in empty " -"input string. Now it is always the opposite of ``\\b``. To get an old " -"behavior, use ``(?!\\A\\Z)\\B``. To get a new behavior in old Python " -"versions, use ``(?!\\b)``." -msgstr "" - -#: ../NEWS:2492 -msgid "" -":gh:`126639`: :class:`tempfile.NamedTemporaryFile` will now issue a " -":exc:`ResourceWarning` when it is finalized by the garbage collector without" -" being explicitly closed." -msgstr "" - -#: ../NEWS:2496 -msgid "" -":gh:`126624`: Expose error code " -":data:`~xml.parsers.expat.errors.XML_ERROR_NOT_STARTED` of Expat >=2.6.4 in " -":mod:`xml.parsers.expat.errors`." -msgstr "" - -#: ../NEWS:2500 -msgid "" -":gh:`126225`: :mod:`getopt` and :mod:`optparse` are no longer marked as " -"deprecated. There are legitimate reasons to use one of these modules in " -"preference to :mod:`argparse`, and none of these modules are at risk of " -"being removed from the standard library. Of the three, ``argparse`` remains " -"the recommended default choice, *unless* one of the concerns noted at the " -"top of the ``optparse`` module documentation applies." -msgstr "" - -#: ../NEWS:2507 -msgid "" -":gh:`124761`: Add :data:`~socket.SO_REUSEPORT_LB` constant to :mod:`socket` " -"for FreeBSD." -msgstr "" - -#: ../NEWS:2510 -msgid "" -":gh:`121720`: :class:`enum.EnumDict` can now be used without resorting to " -"private API." -msgstr "" - -#: ../NEWS:2513 -msgid "" -":gh:`123424`: Add :meth:`zipfile.ZipInfo._for_archive` setting default " -"properties on :class:`~zipfile.ZipInfo` objects. Patch by Bénédikt Tran and " -"Jason R. Coombs." -msgstr "" - -#: ../NEWS:2517 -msgid "" -":gh:`121676`: Deprecate calling the Python implementation of " -":meth:`functools.reduce` with a ``function`` or ``sequence`` as a " -":term:`keyword argument`. This will be forbidden in Python 3.16 in order to " -"match the C implementation." -msgstr "" - -#: ../NEWS:2522 -msgid "" -":gh:`112015`: :func:`ctypes.memoryview_at` now exists to create a " -":class:`memoryview` object that refers to the supplied pointer and length. " -"This works like :func:`ctypes.string_at` except it avoids a buffer copy, and" -" is typically useful when implementing pure Python callback functions that " -"are passed dynamically-sized buffers." -msgstr "" - -#: ../NEWS:2528 -msgid "" -":gh:`95371`: Added support for other image formats (PNG, PGM, and PPM) to " -"the turtle module. Patch by Shin-myoung-serp." -msgstr "" - -#: ../NEWS:2534 -msgid "" -":gh:`128078`: Fix a :exc:`SystemError` when using :func:`anext` with a " -"default tuple value. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:2537 -msgid "" -":gh:`128717`: Fix a crash when setting the recursion limit while other " -"threads are active on the :term:`free threaded ` build." -msgstr "" - -#: ../NEWS:2540 -msgid "" -":gh:`124483`: Treat ``Py_DECREF`` and variants as escaping when generating " -"opcode and uop metadata. This prevents the possibility of a ``__del__`` " -"method causing the JIT to behave incorrectly." -msgstr "" - -#: ../NEWS:2544 -msgid "" -":gh:`126703`: Improve performance of class methods by using a freelist." -msgstr "" - -#: ../NEWS:2546 -msgid "" -":gh:`128137`: Update :c:type:`PyASCIIObject` layout to handle interned field" -" with the atomic operation. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:2549 -msgid "" -":gh:`128192`: Upgrade HTTP digest authentication algorithm for " -":mod:`urllib.request` by supporting SHA-256 digest authentication as " -"specified in :rfc:`7616`." -msgstr "" - -#: ../NEWS:2553 -msgid ":gh:`126868`: Increase usage of freelist for :class:`int` allocation." -msgstr "" - -#: ../NEWS:2555 -msgid "" -":gh:`114203`: Optimize ``Py_BEGIN_CRITICAL_SECTION`` for simple recursive " -"calls." -msgstr "" - -#: ../NEWS:2558 -msgid "" -":gh:`127705`: Adds stackref debugging when ``Py_STACKREF_DEBUG`` is set. " -"Finds all double-closes and leaks, logging the origin and last borrow." -msgstr "" - -#: ../NEWS:2561 -msgid "" -"Inspired by HPy's debug mode. https://docs.hpyproject.org/en/latest/debug-" -"mode.html" -msgstr "" - -#: ../NEWS:2564 -msgid "" -":gh:`128079`: Fix a bug where :keyword:`except* ` does not " -"properly check the return value of an :exc:`ExceptionGroup`'s " -":meth:`~BaseExceptionGroup.split` function, leading to a crash in some " -"cases. Now when :meth:`~BaseExceptionGroup.split` returns an invalid object," -" :keyword:`except* ` raises a :exc:`TypeError` with the " -"original raised :exc:`ExceptionGroup` object chained to it." -msgstr "" - -#: ../NEWS:2571 -msgid "" -":gh:`128030`: Avoid error from calling ``PyModule_GetFilenameObject`` on a " -"non-module object when importing a non-existent symbol from a non-module " -"object." -msgstr "" - -#: ../NEWS:2575 -msgid "" -":gh:`128035`: Indicate through :data:`ssl.HAS_PHA` whether the :mod:`ssl` " -"module supports TLSv1.3 post-handshake client authentication (PHA). Patch by" -" Will Childs-Klein." -msgstr "" - -#: ../NEWS:2579 -msgid "" -":gh:`127274`: Add a new flag, ``CO_METHOD``, to :attr:`~codeobject.co_flags`" -" that indicates whether the code object belongs to a function defined in " -"class scope." -msgstr "" - -#: ../NEWS:2583 -msgid "" -":gh:`66409`: During the :ref:`path initialization `, we now " -"check if ``base_exec_prefix`` is the same as ``base_prefix`` before falling " -"back to searching the Python interpreter directory." -msgstr "" - -#: ../NEWS:2587 -msgid "" -":gh:`127970`: We now use the location of the ``libpython`` runtime library " -"used in the current process to determine :data:`sys.base_prefix` on all " -"platforms implementing the `dladdr " -"`_ " -"function defined by the UNIX standard — this includes Linux, Android, macOS," -" iOS, FreeBSD, etc. This was already the case on Windows and macOS Framework" -" builds." -msgstr "" - -#: ../NEWS:2595 -msgid "" -":gh:`127773`: Do not use the type attribute cache for types with " -"incompatible :term:`MRO`." -msgstr "" - -#: ../NEWS:2598 -msgid "" -":gh:`127903`: ``Objects/unicodeobject.c``: fix a crash on DEBUG builds in " -"``_copy_characters`` when there is nothing to copy." -msgstr "" - -#: ../NEWS:2601 -msgid "" -":gh:`127809`: Fix an issue where the experimental JIT may infer an incorrect" -" result type for exponentiation (``**`` and ``**=``), leading to bugs or " -"crashes." -msgstr "" - -#: ../NEWS:2605 -msgid "" -":gh:`126862`: Fix a possible overflow when a class inherits from an absurd " -"number of super-classes. Reported by Valery Fedorenko. Patch by Bénédikt " -"Tran." -msgstr "" - -#: ../NEWS:2612 -msgid "" -":gh:`128400`: :c:func:`Py_FatalError` no longer shows all threads on the " -":term:`free threaded ` build to prevent crashes." -msgstr "" - -#: ../NEWS:2615 -msgid "" -":gh:`128629`: Add macros :c:func:`Py_PACK_VERSION` and " -":c:func:`Py_PACK_FULL_VERSION` for bit-packing Python version numbers." -msgstr "" - -#: ../NEWS:2618 -msgid "" -":gh:`128008`: Add :c:func:`PyWeakref_IsDead` function, which tests if a weak" -" reference is dead." -msgstr "" - -#: ../NEWS:2621 -msgid "" -":gh:`127350`: Add :c:func:`Py_fopen` function to open a file. Similar to the" -" :c:func:`!fopen` function, but the *path* parameter is a Python object and " -"an exception is set on error. Add also :c:func:`Py_fclose` function to close" -" a file, function needed for Windows support. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:2630 -msgid "" -":gh:`128627`: For Emscripten builds the function pointer cast call " -"trampoline now uses the wasm-gc ref.test instruction if it's available " -"instead of Wasm JS type reflection." -msgstr "" - -#: ../NEWS:2634 -msgid "" -":gh:`128472`: Skip BOLT optimization of functions using computed gotos, " -"fixing errors on build with LLVM 19." -msgstr "" - -#: ../NEWS:2637 -msgid "" -":gh:`115765`: GNU Autoconf 2.72 is now required to generate " -":file:`configure`. Patch by Erlend Aasland." -msgstr "" - -#: ../NEWS:2640 -msgid "" -":gh:`123925`: Fix building the :mod:`curses` module on platforms with " -"libncurses but without libncursesw." -msgstr "" - -#: ../NEWS:2643 -msgid "" -":gh:`90905`: Add support for cross-compiling to x86_64 on aarch64/arm64 " -"macOS." -msgstr "" - -#: ../NEWS:2646 -msgid "" -":gh:`128321`: Set ``LIBS`` instead of ``LDFLAGS`` when checking if " -":mod:`sqlite3` library functions are available. This fixes the ordering of " -"linked libraries during checks, which was incorrect when using a statically " -"linked ``libsqlite3``." -msgstr "" - -#: ../NEWS:2651 -msgid "" -":gh:`100384`: Error on ``unguarded-availability`` in macOS builds, " -"preventing invalid use of symbols that are not available in older versions " -"of the OS." -msgstr "" - -#: ../NEWS:2654 -msgid "" -":gh:`128104`: Remove ``Py_STRFTIME_C99_SUPPORT`` conditions in favor of " -"requiring C99 :manpage:`strftime(3)` specifier support at build time. When " -"cross-compiling, there is no build time check and support is assumed." -msgstr "" - -#: ../NEWS:2658 -msgid "" -":gh:`127951`: Add option ``--pystats`` to the Windows build to enable " -"performance statistics collection." -msgstr "" - -#: ../NEWS:2663 -msgid "Python 3.14.0 alpha 3" -msgstr "" - -#: ../NEWS:2665 -msgid "*Release date: 2024-12-17*" -msgstr "" - -#: ../NEWS:2670 -msgid "" -":gh:`127353`: Allow to force color output on Windows using environment " -"variables. Patch by Andrey Efremov." -msgstr "" - -#: ../NEWS:2673 -msgid "" -":gh:`125729`: Makes the presence of the :mod:`turtle` module dependent on " -"the Tcl/Tk installer option. Previously, the module was always installed but" -" would be unusable without Tcl/Tk." -msgstr "" - -#: ../NEWS:2680 -msgid "" -":gh:`126700`: Add support for multi-argument :mod:`gettext` functions in " -":program:`pygettext.py`." -msgstr "" - -#: ../NEWS:2686 -msgid "" -":gh:`127906`: Test the limited C API in test_cppext. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:2688 -msgid "" -":gh:`127637`: Add tests for the :mod:`dis` command-line interface. Patch by " -"Bénédikt Tran." -msgstr "" - -#: ../NEWS:2691 -msgid "" -":gh:`126925`: iOS test results are now streamed during test execution, and " -"the deprecated xcresulttool is no longer used." -msgstr "" - -#: ../NEWS:2694 -msgid "" -":gh:`127076`: Disable strace based system call tests when LD_PRELOAD is set." -msgstr "" - -#: ../NEWS:2696 -msgid "" -":gh:`127076`: Filter out memory-related ``mmap``, ``munmap``, and " -"``mprotect`` calls from file-related ones when testing :mod:`io` behavior " -"using strace." -msgstr "" - -#: ../NEWS:2703 -msgid "" -":gh:`127655`: Fixed the " -":class:`!asyncio.selector_events._SelectorSocketTransport` transport not " -"pausing writes for the protocol when the buffer reaches the high water mark " -"when using :meth:`asyncio.WriteTransport.writelines`." -msgstr "" - -#: ../NEWS:2711 -msgid "" -":gh:`126907`: Fix crash when using :mod:`atexit` concurrently on the " -":term:`free-threaded ` build." -msgstr "" - -#: ../NEWS:2714 -msgid "" -":gh:`127870`: Detect recursive calls in ctypes ``_as_parameter_`` handling. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:2717 -msgid "" -":gh:`127732`: The :mod:`platform` module now correctly detects Windows " -"Server 2025." -msgstr "" - -#: ../NEWS:2720 -msgid "" -":gh:`126789`: Fixed :func:`sysconfig.get_config_vars`, " -":func:`sysconfig.get_paths`, and siblings, returning outdated cached data if" -" the value of :data:`sys.prefix` or :data:`sys.exec_prefix` changes. " -"Overwriting :data:`sys.prefix` or :data:`sys.exec_prefix` still is " -"discouraged, as that might break other parts of the code." -msgstr "" - -#: ../NEWS:2726 -msgid "" -":gh:`127718`: Add colour to :mod:`test.regrtest` output. Patch by Hugo van " -"Kemenade." -msgstr "" - -#: ../NEWS:2729 -msgid "" -":gh:`127610`: Added validation for more than one var-positional or var-" -"keyword parameters in :class:`inspect.Signature`. Patch by Maxim Ageev." -msgstr "" - -#: ../NEWS:2733 -msgid "" -":gh:`127627`: Added ``posix._emscripten_debugger()`` to help with debugging " -"the test suite on the Emscripten target." -msgstr "" - -#: ../NEWS:2736 -msgid "" -":gh:`126821`: macOS and iOS apps can now choose to redirect stdout and " -"stderr to the system log during interpreter configuration." -msgstr "" - -#: ../NEWS:2739 -msgid "" -":gh:`93312`: Include ```` to get ``os.PIDFD_NONBLOCK`` " -"constant. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:2742 -msgid "" -":gh:`127481`: Add the ``EPOLLWAKEUP`` constant to the :mod:`select` module." -msgstr "" - -#: ../NEWS:2744 -msgid "" -":gh:`127065`: Make :func:`operator.methodcaller` thread-safe and re-entrant " -"safe." -msgstr "" - -#: ../NEWS:2747 -msgid "" -":gh:`127321`: :func:`pdb.set_trace` will not stop at an opcode that does not" -" have an associated line number anymore." -msgstr "" - -#: ../NEWS:2750 -msgid "" -":gh:`127429`: Fixed bug where, on cross-builds, the :mod:`sysconfig` POSIX " -"data was being generated with the host Python's ``Makefile``. The data is " -"now generated from current build's ``Makefile``." -msgstr "" - -#: ../NEWS:2754 -msgid "" -":gh:`127413`: Add the :option:`dis --specialized` command-line option to " -"show specialized bytecode. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:2757 -msgid "" -":gh:`125413`: Revert addition of :meth:`!pathlib.Path.scandir`. This method " -"was added in 3.14.0a2. The optimizations remain for file system paths, but " -"other subclasses should only have to implement :meth:`pathlib.Path.iterdir`." -msgstr "" - -#: ../NEWS:2762 -msgid "" -":gh:`127257`: In :mod:`ssl`, system call failures that OpenSSL reports using" -" ``ERR_LIB_SYS`` are now raised as :exc:`OSError`." -msgstr "" - -#: ../NEWS:2765 -msgid "" -":gh:`59705`: On Linux, :class:`threading.Thread` now sets the thread name to" -" the operating system. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:2768 -msgid "" -":gh:`127303`: Publicly expose :data:`~token.EXACT_TOKEN_TYPES` in " -":attr:`!token.__all__`." -msgstr "" - -#: ../NEWS:2771 -msgid "" -":gh:`127331`: :mod:`ssl` can show descriptions for errors added in OpenSSL " -"3.4." -msgstr "" - -#: ../NEWS:2774 -msgid "" -":gh:`123967`: Fix faulthandler for trampoline frames. If the top-most frame " -"is a trampoline frame, skip it. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:2777 -msgid "" -":gh:`127178`: A ``_sysconfig_vars_(...).json`` file is now shipped in the " -"standard library directory. It contains the output of " -":func:`sysconfig.get_config_vars` on the default environment encoded as JSON" -" data. This is an implementation detail, and may change at any time." -msgstr "" - -#: ../NEWS:2782 -msgid "" -":gh:`127072`: Remove outdated ``socket.NETLINK_*`` constants not present in " -"Linux kernels beyond 2.6.17." -msgstr "" - -#: ../NEWS:2785 -msgid "" -":gh:`127255`: The :func:`~ctypes.CopyComPointer` function is now public. " -"Previously, this was private and only available in ``_ctypes``." -msgstr "" - -#: ../NEWS:2788 -msgid "" -":gh:`127182`: Fix :meth:`!io.StringIO.__setstate__` crash, when " -":const:`None` was passed as the first value." -msgstr "" - -#: ../NEWS:2791 -msgid "" -":gh:`127217`: Fix :func:`urllib.request.pathname2url` for paths starting " -"with multiple slashes on Posix." -msgstr "" - -#: ../NEWS:2794 -msgid "" -":gh:`125866`: :func:`urllib.request.pathname2url` now adds an empty " -"authority when generating a URL for a path that begins with exactly one " -"slash. For example, the path ``/etc/hosts`` is converted to the scheme-less " -"URL ``///etc/hosts``. As a result of this change, URLs without authorities " -"are only generated for relative paths." -msgstr "" - -#: ../NEWS:2800 -msgid "" -":gh:`127221`: Add colour to :mod:`unittest` output. Patch by Hugo van " -"Kemenade." -msgstr "" - -#: ../NEWS:2803 -msgid "" -":gh:`127035`: Fix :mod:`shutil.which` on Windows. Now it looks at direct " -"match if and only if the command ends with a PATHEXT extension or X_OK is " -"not in mode. Support extensionless files if \".\" is in PATHEXT. Support " -"PATHEXT extensions that end with a dot." -msgstr "" - -#: ../NEWS:2808 -msgid "" -":gh:`122273`: Support PyREPL history on Windows. Patch by devdanzin and " -"Victor Stinner." -msgstr "" - -#: ../NEWS:2811 -msgid "" -":gh:`125866`: :func:`urllib.request.pathname2url` and " -":func:`~urllib.request.url2pathname` no longer convert Windows drive letters" -" to uppercase." -msgstr "" - -#: ../NEWS:2815 -msgid "" -":gh:`127078`: Fix issue where :func:`urllib.request.url2pathname` failed to " -"discard an extra slash before a UNC drive in the URL path on Windows." -msgstr "" - -#: ../NEWS:2818 -msgid "" -":gh:`126766`: Fix issue where :func:`urllib.request.url2pathname` failed to " -"discard any 'localhost' authority present in the URL." -msgstr "" - -#: ../NEWS:2821 -msgid "" -":gh:`127065`: Fix crash when calling a :func:`operator.methodcaller` " -"instance from multiple threads in the free threading build." -msgstr "" - -#: ../NEWS:2824 -msgid "" -":gh:`127090`: Fix value of :attr:`urllib.response.addinfourl.url` for " -"``file:`` URLs that express relative paths and absolute Windows paths. The " -"canonical URL generated by :func:`urllib.request.pathname2url` is now used." -msgstr "" - -#: ../NEWS:2829 -msgid "" -":gh:`126992`: Fix LONG and INT opcodes to only use base 10 for string to " -"integer conversion in :mod:`pickle`." -msgstr "" - -#: ../NEWS:2832 -msgid "" -":gh:`126997`: Fix support of STRING and GLOBAL opcodes with non-ASCII " -"arguments in :mod:`pickletools`. :func:`pickletools.dis` now outputs non-" -"ASCII bytes in STRING, BINSTRING and SHORT_BINSTRING arguments as escaped " -"(``\\xXX``)." -msgstr "" - -#: ../NEWS:2837 -msgid "" -":gh:`126316`: :mod:`grp`: Make :func:`grp.getgrall` thread-safe by adding a " -"mutex. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:2840 -msgid "" -":gh:`126618`: Fix the representation of :class:`itertools.count` objects " -"when the count value is :data:`sys.maxsize`." -msgstr "" - -#: ../NEWS:2843 -msgid "" -":gh:`126615`: The :exc:`~ctypes.COMError` exception is now public. " -"Previously, this was private and only available in ``_ctypes``." -msgstr "" - -#: ../NEWS:2846 -msgid "" -":gh:`126985`: When running under a virtual environment with the :mod:`site` " -"disabled (see :option:`-S`), :data:`sys.prefix` and :data:`sys.base_prefix` " -"will now point to the virtual environment, instead of the base installation." -msgstr "" - -#: ../NEWS:2851 -msgid "" -":gh:`112192`: In the :mod:`trace` module, increase the coverage precision " -"(``cov%``) to one decimal." -msgstr "" - -#: ../NEWS:2854 -msgid "" -":gh:`118761`: Improve import time of :mod:`mimetypes` by around 11-16 times." -" Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:2857 -msgid "" -":gh:`126947`: Raise :exc:`TypeError` in " -":meth:`!_pydatetime.timedelta.__new__` if the passed arguments are not " -":class:`int` or :class:`float`, so that the Python implementation is in line" -" with the C implementation." -msgstr "" - -#: ../NEWS:2862 -msgid "" -":gh:`126946`: Improve the :exc:`~getopt.GetoptError` error message when a " -"long option prefix matches multiple accepted options in " -":func:`getopt.getopt` and :func:`getopt.gnu_getopt`." -msgstr "" - -#: ../NEWS:2866 -msgid "" -":gh:`126899`: Make tkinter widget methods :meth:`!after` and " -":meth:`!after_idle` accept arguments passed by keyword." -msgstr "" - -#: ../NEWS:2869 -msgid "" -":gh:`85168`: Fix issue where :func:`urllib.request.url2pathname` and " -":func:`~urllib.request.pathname2url` always used UTF-8 when quoting and " -"unquoting file URIs. They now use the :term:`filesystem encoding and error " -"handler`." -msgstr "" - -#: ../NEWS:2874 -msgid "" -":gh:`126780`: Fix :func:`os.path.normpath` for drive-relative paths on " -"Windows." -msgstr "" - -#: ../NEWS:2877 -msgid "" -":gh:`126775`: Make :func:`linecache.checkcache` thread safe and GC re-" -"entrancy safe." -msgstr "" - -#: ../NEWS:2880 -msgid "" -":gh:`126601`: Fix issue where :func:`urllib.request.pathname2url` raised " -":exc:`OSError` when given a Windows path containing a colon character not " -"following a drive letter, such as before an NTFS alternate data stream." -msgstr "" - -#: ../NEWS:2884 -msgid "" -":gh:`126727`: ``locale.nl_langinfo(locale.ERA)`` now returns multiple era " -"description segments separated by semicolons. Previously it only returned " -"the first segment on platforms with Glibc." -msgstr "" - -#: ../NEWS:2888 -msgid ":gh:`85046`: Add :data:`~errno.EHWPOISON` error code to :mod:`errno`." -msgstr "" - -#: ../NEWS:2890 -msgid "" -":gh:`118201`: Fixed intermittent failures of :any:`os.confstr`, " -":any:`os.pathconf` and :any:`os.sysconf` on iOS and Android." -msgstr "" - -#: ../NEWS:2893 -msgid "" -":gh:`86463`: The ``usage`` parameter of :class:`argparse.ArgumentParser` no " -"longer affects the default value of the ``prog`` parameter in subparsers." -msgstr "" - -#: ../NEWS:2896 -msgid "" -":gh:`124008`: Fix possible crash (in debug build), incorrect output or " -"returning incorrect value from raw binary ``write()`` when writing to " -"console on Windows." -msgstr "" - -#: ../NEWS:2900 -msgid "" -":gh:`123401`: The :mod:`http.cookies` module now supports parsing obsolete " -":rfc:`850` date formats, in accordance with :rfc:`9110` requirements. Patch " -"by Nano Zheng." -msgstr "" - -#: ../NEWS:2904 -msgid "" -":gh:`122431`: :func:`readline.append_history_file` now raises a " -":exc:`ValueError` when given a negative value." -msgstr "" - -#: ../NEWS:2907 -msgid "" -":gh:`122356`: Guarantee that the position of a file-like object passed to " -":func:`zipfile.is_zipfile` is left untouched after the call. Patch by " -"Bénédikt Tran." -msgstr "" - -#: ../NEWS:2911 -msgid "" -":gh:`122288`: Improve the performances of :func:`fnmatch.translate` by a " -"factor 1.7. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:2914 -msgid "" -":gh:`88110`: Fixed :class:`multiprocessing.Process` reporting a " -"``.exitcode`` of 1 even on success when using the ``\"fork\"`` start method " -"while using a :class:`concurrent.futures.ThreadPoolExecutor`." -msgstr "" - -#: ../NEWS:2918 -msgid "" -":gh:`97514`: Authentication was added to the :mod:`multiprocessing` " -"forkserver start method control socket so that only processes with the " -"authentication key generated by the process that spawned the forkserver can " -"control it. This is an enhancement over the other :gh:`97514` fixes so that" -" access is no longer limited only by filesystem permissions." -msgstr "" - -#: ../NEWS:2924 -msgid "" -"The file descriptor exchange of control pipes with the forked worker process" -" now requires an explicit acknowledgement byte to be sent over the socket " -"after the exchange on all forkserver supporting platforms. That makes " -"testing the above much easier." -msgstr "" - -#: ../NEWS:2932 -msgid "" -":gh:`127347`: Publicly expose :func:`traceback.print_list` in " -":attr:`!traceback.__all__`." -msgstr "" - -#: ../NEWS:2938 -msgid "" -":gh:`127740`: Fix error message in :func:`bytes.fromhex` when given an odd " -"number of digits to properly indicate that an even number of hexadecimal " -"digits is required." -msgstr "" - -#: ../NEWS:2942 -msgid "" -":gh:`127058`: ``PySequence_Tuple`` now creates the resulting tuple " -"atomically, preventing partially created tuples being visible to the garbage" -" collector or through ``gc.get_referrers()``" -msgstr "" - -#: ../NEWS:2946 -msgid "" -":gh:`127599`: Fix statistics for increments of object reference counts (in " -"particular, when a reference count was increased by more than 1 in a single " -"operation)." -msgstr "" - -#: ../NEWS:2950 -msgid "" -":gh:`127651`: When raising :exc:`ImportError` for missing symbols in " -"``from`` imports, use ``__file__`` in the error message if " -"``__spec__.origin`` is not a location" -msgstr "" - -#: ../NEWS:2954 -msgid "" -":gh:`127582`: Fix non-thread-safe object resurrection when calling " -"finalizers and watcher callbacks in the free threading build." -msgstr "" - -#: ../NEWS:2957 -msgid "" -":gh:`127434`: The iOS compiler shims can now accept arguments with spaces." -msgstr "" - -#: ../NEWS:2959 -msgid "" -":gh:`127536`: Add missing locks around some list assignment operations in " -"the free threading build." -msgstr "" - -#: ../NEWS:2962 -msgid "" -":gh:`127085`: Fix race when exporting a buffer from a :class:`memoryview` " -"object on the :term:`free-threaded ` build." -msgstr "" - -#: ../NEWS:2965 -msgid "" -":gh:`127238`: Correct error message for :func:`sys.set_int_max_str_digits`." -msgstr "" - -#: ../NEWS:2967 -msgid "" -":gh:`113841`: Fix possible undefined behavior division by zero in " -":class:`complex`'s :c:func:`_Py_c_pow`." -msgstr "" - -#: ../NEWS:2970 -msgid "" -":gh:`127133`: Calling :meth:`argparse.ArgumentParser.add_argument_group` on " -"an argument group, and calling " -":meth:`argparse.ArgumentParser.add_argument_group` or " -":meth:`argparse.ArgumentParser.add_mutually_exclusive_group` on a mutually " -"exclusive group now raise exceptions. This nesting was never supported, " -"often failed to work correctly, and was unintentionally exposed through " -"inheritance. This functionality has been deprecated since Python 3.11." -msgstr "" - -#: ../NEWS:2978 -msgid "" -":gh:`126491`: Add a marking phase to the GC. All objects that can be " -"transitively reached from builtin modules or the stacks are marked as " -"reachable before cycle detection. This reduces the amount of work done by " -"the GC by approximately half." -msgstr "" - -#: ../NEWS:2983 -msgid "" -":gh:`127020`: Fix a crash in the free threading build when " -":c:func:`PyCode_GetCode`, :c:func:`PyCode_GetVarnames`, " -":c:func:`PyCode_GetCellvars`, or :c:func:`PyCode_GetFreevars` were called " -"from multiple threads at the same time." -msgstr "" - -#: ../NEWS:2988 -msgid "" -":gh:`127010`: Simplify GC tracking of dictionaries. All dictionaries are " -"tracked when created, rather than being lazily tracked when a trackable " -"object was added to them. This simplifies the code considerably and results " -"in a slight speedup." -msgstr "" - -#: ../NEWS:2993 -msgid "" -":gh:`126980`: Fix :meth:`~object.__buffer__` of :class:`bytearray` crashing " -"when :attr:`~inspect.BufferFlags.READ` or :attr:`~inspect.BufferFlags.WRITE`" -" are passed as flags." -msgstr "" - -#: ../NEWS:2997 -msgid "" -":gh:`126937`: Fix :exc:`TypeError` when a :class:`ctypes.Structure` has a " -"field size that doesn't fit into an unsigned 16-bit integer. Instead, the " -"maximum number of *bits* is :data:`sys.maxsize`." -msgstr "" - -#: ../NEWS:3001 -msgid "" -":gh:`126868`: Increase performance of :class:`int` by adding a freelist for " -"compact ints." -msgstr "" - -#: ../NEWS:3004 -msgid "" -":gh:`126881`: Fix crash in finalization of dtoa state. Patch by Kumar " -"Aditya." -msgstr "" - -#: ../NEWS:3006 -msgid "" -":gh:`126892`: Require cold or invalidated code to \"warm up\" before being " -"JIT compiled again." -msgstr "" - -#: ../NEWS:3009 -msgid "" -":gh:`126091`: Ensure stack traces are complete when throwing into a " -"generator chain that ends in a custom generator." -msgstr "" - -#: ../NEWS:3012 -msgid "" -":gh:`126024`: Optimize decoding of short UTF-8 sequences containing non-" -"ASCII characters by approximately 15%." -msgstr "" - -#: ../NEWS:3015 -msgid "" -":gh:`125420`: Add :meth:`memoryview.index` to :class:`memoryview` objects. " -"Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:3018 -msgid "" -":gh:`125420`: Add :meth:`memoryview.count` to :class:`memoryview` objects. " -"Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:3021 -msgid "" -":gh:`124470`: Fix crash in free-threaded builds when replacing object " -"dictionary while reading attribute on another thread" -msgstr "" - -#: ../NEWS:3024 -msgid "" -":gh:`69639`: Implement mixed-mode arithmetic rules combining real and " -"complex numbers as specified by C standards since C99. Patch by Sergey B " -"Kirpichev." -msgstr "" - -#: ../NEWS:3028 -msgid "" -":gh:`120010`: Correct invalid corner cases which resulted in ``(nan+nanj)`` " -"output in complex multiplication, e.g., ``(1e300+1j)*(nan+infj)``. Patch by" -" Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:3032 -msgid "" -":gh:`109746`: If :func:`!_thread.start_new_thread` fails to start a new " -"thread, it deletes its state from interpreter and thus avoids its repeated " -"cleanup on finalization." -msgstr "" - -#: ../NEWS:3039 -msgid "" -":gh:`127896`: The previously undocumented function :c:func:`PySequence_In` " -"is :term:`soft deprecated`. Use :c:func:`PySequence_Contains` instead." -msgstr "" - -#: ../NEWS:3042 -msgid "" -":gh:`127791`: Fix loss of callbacks after more than one call to " -":c:func:`PyUnstable_AtExit`." -msgstr "" - -#: ../NEWS:3045 -msgid "" -":gh:`127691`: The :ref:`Unicode Exception Objects ` C API" -" now raises a :exc:`TypeError` if its exception argument is not a " -":exc:`UnicodeError` object. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:3049 -msgid "" -":gh:`123378`: Ensure that the value of :attr:`UnicodeEncodeError.end " -"` retrieved by :c:func:`PyUnicodeEncodeError_GetEnd` lies " -"in ``[min(1, objlen), max(min(1, objlen), objlen)]`` where *objlen* is the " -"length of :attr:`UnicodeEncodeError.object `. Similar " -"arguments apply to :exc:`UnicodeDecodeError` and " -":exc:`UnicodeTranslateError` and their corresponding C interface. Patch by " -"Bénédikt Tran." -msgstr "" - -#: ../NEWS:3057 -msgid "" -":gh:`127314`: Improve error message when calling the C API without an active" -" thread state on the :term:`free-threaded ` build." -msgstr "" - -#: ../NEWS:3060 -msgid "" -":gh:`123378`: Ensure that the value of :attr:`UnicodeEncodeError.start " -"` retrieved by :c:func:`PyUnicodeEncodeError_GetStart` " -"lies in ``[0, max(0, objlen - 1)]`` where *objlen* is the length of " -":attr:`UnicodeEncodeError.object `. Similar arguments " -"apply to :exc:`UnicodeDecodeError` and :exc:`UnicodeTranslateError` and " -"their corresponding C interface. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:3067 -msgid "" -":gh:`109523`: Reading text from a non-blocking stream with ``read`` may now " -"raise a :exc:`BlockingIOError` if the operation cannot immediately return " -"bytes." -msgstr "" - -#: ../NEWS:3071 -msgid "" -":gh:`102471`: Add a new import and export API for Python :class:`int` " -"objects (:pep:`757`):" -msgstr "" - -#: ../NEWS:3074 -msgid ":c:func:`PyLong_GetNativeLayout`;" -msgstr "" - -#: ../NEWS:3075 -msgid ":c:func:`PyLong_Export`;" -msgstr "" - -#: ../NEWS:3076 -msgid ":c:func:`PyLong_FreeExport`;" -msgstr "" - -#: ../NEWS:3077 -msgid ":c:func:`PyLongWriter_Create`;" -msgstr "" - -#: ../NEWS:3078 -msgid ":c:func:`PyLongWriter_Finish`;" -msgstr "" - -#: ../NEWS:3079 -msgid ":c:func:`PyLongWriter_Discard`." -msgstr "" - -#: ../NEWS:3083 -msgid "" -":gh:`121058`: ``PyThreadState_Clear()`` now warns (and calls " -"``sys.excepthook``) if the thread state still has an active exception." -msgstr "" - -#: ../NEWS:3089 -msgid "" -":gh:`127865`: Fix build failure on systems without thread-locals support." -msgstr "" - -#: ../NEWS:3091 -msgid ":gh:`127629`: Emscripten builds now include ctypes support." -msgstr "" - -#: ../NEWS:3093 -msgid "" -":gh:`127111`: Updated the Emscripten web example to use ES6 modules and be " -"built into a distinct ``web_example`` subfolder." -msgstr "" - -#: ../NEWS:3096 -msgid "" -":gh:`115869`: Make ``jit_stencils.h`` (which is produced during JIT builds) " -"reproducible." -msgstr "" - -#: ../NEWS:3099 -msgid "" -":gh:`126898`: The Emscripten build of Python is now based on ES6 modules." -msgstr "" - -#: ../NEWS:3103 -msgid "Python 3.14.0 alpha 2" -msgstr "" - -#: ../NEWS:3105 -msgid "*Release date: 2024-11-19*" -msgstr "" - -#: ../NEWS:3110 -msgid ":gh:`126911`: Update credits command output." -msgstr "" - -#: ../NEWS:3112 -msgid "" -":gh:`118973`: Ensures the experimental free-threaded install includes the " -"``_tkinter`` module. The optional Tcl/Tk component must also be installed in" -" order for the module to work." -msgstr "" - -#: ../NEWS:3116 -msgid "" -":gh:`126497`: Fixes venv failure due to missing redirector executables in " -"experimental free-threaded installs." -msgstr "" - -#: ../NEWS:3119 -msgid ":gh:`126074`: Removed unnecessary DLLs from Windows embeddable package" -msgstr "" - -#: ../NEWS:3121 -msgid "" -":gh:`125315`: Avoid crashing in :mod:`platform` due to slow WMI calls on " -"some Windows machines." -msgstr "" - -#: ../NEWS:3124 -msgid "" -":gh:`126084`: Fix venvwlauncher to launch pythonw instead of python so no " -"extra console window is created." -msgstr "" - -#: ../NEWS:3127 -msgid "" -":gh:`125842`: Fix a :exc:`SystemError` when :func:`sys.exit` is called with " -"``0xffffffff`` on Windows." -msgstr "" - -#: ../NEWS:3130 -msgid "" -":gh:`125550`: Enable the :ref:`launcher` to detect Python 3.14 installs from" -" the Windows Store." -msgstr "" - -#: ../NEWS:3133 -msgid "" -":gh:`123803`: All Windows code pages are now supported as \"cpXXX\" codecs " -"on Windows." -msgstr "" - -#: ../NEWS:3139 -msgid "" -":gh:`126807`: Fix extraction warnings in :program:`pygettext.py` caused by " -"mistaking function definitions for function calls." -msgstr "" - -#: ../NEWS:3142 -msgid "" -":gh:`126167`: The iOS testbed was modified so that it can be used by third-" -"party projects for testing purposes." -msgstr "" - -#: ../NEWS:3148 -msgid "" -":gh:`126909`: Fix test_os extended attribute tests to work on filesystems " -"with 1 KiB xattr size limit." -msgstr "" - -#: ../NEWS:3151 -msgid "" -":gh:`125730`: Change ``make test`` to not run GUI tests by default. Use " -"``make ci`` to run tests with GUI tests instead." -msgstr "" - -#: ../NEWS:3154 -msgid ":gh:`124295`: Add translation tests to the :mod:`argparse` module." -msgstr "" - -#: ../NEWS:3159 -msgid ":gh:`126623`: Upgrade libexpat to 2.6.4" -msgstr "" - -#: ../NEWS:3164 -msgid "" -":gh:`85957`: Add missing MIME types for images with RFCs: emf, fits, g3fax, " -"jp2, jpm, jpx, t38, tiff-fx and wmf. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:3167 -msgid "" -":gh:`126920`: Fix the ``prefix`` and ``exec_prefix`` keys from " -":py:func:`sysconfig.get_config_vars` incorrectly having the same value as " -":py:const:`sys.base_prefix` and :py:const:`sys.base_exec_prefix`, " -"respectively, inside virtual environments. They now accurately reflect " -":py:const:`sys.prefix` and :py:const:`sys.exec_prefix`." -msgstr "" - -#: ../NEWS:3173 -msgid "" -":gh:`67877`: Fix memory leaks when :mod:`regular expression ` matching " -"terminates abruptly, either because of a signal or because memory allocation" -" fails." -msgstr "" - -#: ../NEWS:3177 -msgid "" -":gh:`125063`: :mod:`marshal` now supports :class:`slice` objects. The " -"marshal format version was increased to 5." -msgstr "" - -#: ../NEWS:3180 -msgid "" -":gh:`126789`: Fixed the values of :py:func:`sysconfig.get_config_vars`, " -":py:func:`sysconfig.get_paths`, and their siblings when the :py:mod:`site` " -"initialization happens after :py:mod:`sysconfig` has built a cache for " -":py:func:`sysconfig.get_config_vars`." -msgstr "" - -#: ../NEWS:3185 -msgid ":gh:`126188`: Update bundled pip to 24.3.1" -msgstr "" - -#: ../NEWS:3187 -msgid "" -":gh:`126766`: Fix issue where :func:`urllib.request.url2pathname` failed to " -"discard two leading slashes introducing an empty authority section." -msgstr "" - -#: ../NEWS:3190 -msgid ":gh:`126705`: Allow :class:`os.PathLike` to be a base for Protocols." -msgstr "" - -#: ../NEWS:3192 -msgid "" -":gh:`126699`: Allow :class:`collections.abc.AsyncIterator` to be a base for " -"Protocols." -msgstr "" - -#: ../NEWS:3195 -msgid "" -":gh:`126654`: Fix crash when non-dict was passed to several functions in " -"``_interpreters`` module." -msgstr "" - -#: ../NEWS:3198 -msgid "" -":gh:`104745`: Limit starting a patcher (from :func:`unittest.mock.patch` or " -":func:`unittest.mock.patch.object`) more than once without stopping it" -msgstr "" - -#: ../NEWS:3201 -msgid "" -":gh:`126595`: Fix a crash when instantiating :class:`itertools.count` with " -"an initial count of :data:`sys.maxsize` on debug builds. Patch by Bénédikt " -"Tran." -msgstr "" - -#: ../NEWS:3205 -msgid "" -":gh:`120423`: Fix issue where :func:`urllib.request.pathname2url` mishandled" -" Windows paths with embedded forward slashes." -msgstr "" - -#: ../NEWS:3208 -msgid "" -":gh:`126565`: Improve performances of :meth:`zipfile.Path.open` for non-" -"reading modes." -msgstr "" - -#: ../NEWS:3211 -msgid "" -":gh:`126505`: Fix bugs in compiling case-insensitive :mod:`regular " -"expressions ` with character classes containing non-BMP characters: " -"upper-case non-BMP character did was ignored and the ASCII flag was ignored " -"when matching a character range whose upper bound is beyond the BMP region." -msgstr "" - -#: ../NEWS:3217 -msgid "" -":gh:`117378`: Fixed the :mod:`multiprocessing` ``\"forkserver\"`` start " -"method forkserver process to correctly inherit the parent's :data:`sys.path`" -" during the importing of :func:`multiprocessing.set_forkserver_preload` " -"modules in the same manner as :data:`sys.path` is configured in workers " -"before executing work items." -msgstr "" - -#: ../NEWS:3223 -msgid "" -"This bug caused some forkserver module preloading to silently fail to " -"preload. This manifested as a performance degradation in child processes " -"when the ``sys.path`` was required due to additional repeated work in every " -"worker." -msgstr "" - -#: ../NEWS:3228 -msgid "" -"It could also have a side effect of ``\"\"`` remaining in :data:`sys.path` " -"during forkserver preload imports instead of the absolute path from " -":func:`os.getcwd` at multiprocessing import time used in the worker " -"``sys.path``." -msgstr "" - -#: ../NEWS:3233 -msgid "" -"The ``sys.path`` differences between phases in the child process could " -"potentially have caused preload to import incorrect things from the wrong " -"location. We are unaware of that actually having happened in practice." -msgstr "" - -#: ../NEWS:3237 -msgid "" -":gh:`125679`: The :class:`multiprocessing.Lock` and " -":class:`multiprocessing.RLock` ``repr`` values no longer say \"unknown\" on " -"macOS." -msgstr "" - -#: ../NEWS:3241 -msgid "" -":gh:`126476`: Raise :class:`calendar.IllegalMonthError` (now a subclass of " -":class:`IndexError`) for :func:`calendar.month` when the input month is not " -"correct." -msgstr "" - -#: ../NEWS:3245 -msgid "" -":gh:`126489`: The Python implementation of :mod:`pickle` no longer calls " -":meth:`pickle.Pickler.persistent_id` for the result of " -":meth:`!persistent_id`." -msgstr "" - -#: ../NEWS:3249 -msgid "" -":gh:`126451`: Register the :class:`contextvars.Context` type to " -":class:`collections.abc.Mapping`." -msgstr "" - -#: ../NEWS:3252 -msgid "" -":gh:`126175`: Add ``msg``, ``doc``, ``pos``, ``lineno`` and ``colno`` " -"attributes to :exc:`tomllib.TOMLDecodeError`. Deprecate instantiating with " -"free-form arguments." -msgstr "" - -#: ../NEWS:3256 -msgid "" -":gh:`89416`: Add :rfc:`9559` MIME types for Matroska audiovisual container " -"formats. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:3259 -msgid "" -":gh:`126417`: Register the :class:`!multiprocessing.managers.DictProxy` and " -":class:`!multiprocessing.managers.ListProxy` types in " -":mod:`multiprocessing.managers` to :class:`collections.abc.MutableMapping` " -"and :class:`collections.abc.MutableSequence`, respectively." -msgstr "" - -#: ../NEWS:3264 -msgid "" -":gh:`126390`: Add support for returning intermixed options and non-option " -"arguments in order in :func:`getopt.gnu_getopt`." -msgstr "" - -#: ../NEWS:3267 -msgid "" -":gh:`126374`: Add support for options with optional arguments in the " -":mod:`getopt` module." -msgstr "" - -#: ../NEWS:3270 -msgid "" -":gh:`126363`: Speed up pattern parsing in :meth:`pathlib.Path.glob` by " -"skipping creation of a :class:`pathlib.Path` object for the pattern." -msgstr "" - -#: ../NEWS:3273 -msgid "" -":gh:`126353`: :func:`asyncio.get_event_loop` now does not implicitly creates" -" an event loop. It now raises a :exc:`RuntimeError` if there is no set event" -" loop. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:3277 -msgid "" -":gh:`126313`: Fix an issue in :func:`curses.napms` when " -":func:`curses.initscr` has not yet been called. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:3280 -msgid "" -":gh:`126303`: Fix pickling and copying of :class:`os.sched_param` objects." -msgstr "" - -#: ../NEWS:3282 -msgid "" -":gh:`126138`: Fix a use-after-free crash on :class:`asyncio.Task` objects " -"whose underlying coroutine yields an object that implements an evil " -":meth:`~object.__getattribute__`. Patch by Nico Posada." -msgstr "" - -#: ../NEWS:3286 -msgid "" -":gh:`120057`: Replace the ``os.environ.refresh()`` method with a new " -":func:`os.reload_environ` function. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:3289 -msgid "" -":gh:`126220`: Fix crash in :class:`!cProfile.Profile` and " -":class:`!_lsprof.Profiler` when their callbacks were directly called with 0 " -"arguments." -msgstr "" - -#: ../NEWS:3293 -msgid "" -":gh:`126212`: Fix issue where :func:`urllib.request.pathname2url` and " -":func:`~urllib.request.url2pathname` removed slashes from Windows DOS drive " -"paths and URLs." -msgstr "" - -#: ../NEWS:3297 -msgid "" -":gh:`126223`: Raise a :exc:`UnicodeEncodeError` instead of a " -":exc:`SystemError` upon calling :func:`!_interpreters.create` with an " -"invalid Unicode character." -msgstr "" - -#: ../NEWS:3301 -msgid "" -":gh:`126205`: Fix issue where :func:`urllib.request.pathname2url` generated " -"URLs beginning with four slashes (rather than two) when given a Windows UNC " -"path." -msgstr "" - -#: ../NEWS:3305 -msgid "" -":gh:`126156`: Improved performances of creating " -":py:class:`~http.cookies.Morsel` objects by a factor of 3.8x." -msgstr "" - -#: ../NEWS:3308 -msgid "" -":gh:`126105`: Fix a crash in :mod:`ast` when the :attr:`ast.AST._fields` " -"attribute is deleted." -msgstr "" - -#: ../NEWS:3311 -msgid "" -":gh:`126106`: Fixes a possible ``NULL`` pointer dereference in :mod:`ssl`." -msgstr "" - -#: ../NEWS:3313 -msgid "" -":gh:`126080`: Fix a use-after-free crash on :class:`asyncio.Task` objects " -"for which the underlying event loop implements an evil " -":meth:`~object.__getattribute__`. Reported by Nico-Posada. Patch by Bénédikt" -" Tran." -msgstr "" - -#: ../NEWS:3318 -msgid ":gh:`125322`: Correct detection of complex numbers support in libffi." -msgstr "" - -#: ../NEWS:3320 -msgid "" -":gh:`126083`: Fixed a reference leak in :class:`asyncio.Task` objects when " -"reinitializing the same object with a non-``None`` context. Patch by Nico " -"Posada." -msgstr "" - -#: ../NEWS:3324 -msgid "" -":gh:`126068`: Fix exceptions in the :mod:`argparse` module so that only " -"error messages for ArgumentError and ArgumentTypeError are now translated. " -"ArgumentError is now only used for command line errors, not for logical " -"errors in the program. TypeError is now raised instead of ValueError for " -"some logical errors." -msgstr "" - -#: ../NEWS:3330 -msgid "" -":gh:`125413`: Add :meth:`!pathlib.Path.scandir` method to efficiently fetch " -"directory children and their file attributes. This is a trivial wrapper of " -":func:`os.scandir`." -msgstr "" - -#: ../NEWS:3334 -msgid "" -":gh:`125984`: Fix use-after-free crashes on :class:`asyncio.Future` objects " -"for which the underlying event loop implements an evil " -":meth:`~object.__getattribute__`. Reported by Nico-Posada. Patch by Bénédikt" -" Tran." -msgstr "" - -#: ../NEWS:3339 -msgid "" -":gh:`125926`: Fix :func:`urllib.parse.urljoin` for base URI with undefined " -"authority. Although :rfc:`3986` only specify reference resolution for " -"absolute base URI, :func:`!urljoin` should continue to return sensible " -"result for relative base URI." -msgstr "" - -#: ../NEWS:3344 -msgid "" -":gh:`125969`: Fix an out-of-bounds crash when an evil " -":meth:`asyncio.loop.call_soon` mutates the length of the internal callbacks " -"list. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:3348 -msgid "" -":gh:`125966`: Fix a use-after-free crash in " -":meth:`asyncio.Future.remove_done_callback`. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:3351 -msgid "" -":gh:`125789`: Fix possible crash when mutating list of callbacks returned by" -" :attr:`!asyncio.Future._callbacks`. It now always returns a new copy in C " -"implementation :mod:`!_asyncio`. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:3355 -msgid "" -":gh:`126916`: Allow the *initial* parameter of :func:`functools.reduce` to " -"be passed as a keyword argument. Patch by Sayandip Dutta." -msgstr "" - -#: ../NEWS:3358 -msgid "" -":gh:`124452`: Fix an issue in " -":meth:`email.policy.EmailPolicy.header_source_parse` and " -":meth:`email.policy.Compat32.header_source_parse` that introduced spurious " -"leading whitespaces into header values when the header includes a newline " -"character after the header name delimiter (``:``) and before the value." -msgstr "" - -#: ../NEWS:3364 -msgid "" -":gh:`117941`: :class:`!argparse.BooleanOptionalAction` now rejects option " -"names starting with ``--no-``." -msgstr "" - -#: ../NEWS:3367 -msgid "" -":gh:`125884`: Fixed the bug for :mod:`pdb` where it can't set breakpoints on" -" functions with certain annotations." -msgstr "" - -#: ../NEWS:3370 -msgid "" -":gh:`125355`: Fix several bugs in " -":meth:`argparse.ArgumentParser.parse_intermixed_args`." -msgstr "" - -#: ../NEWS:3373 -msgid "The parser no longer changes temporarily during parsing." -msgstr "" - -#: ../NEWS:3374 -msgid "Default values are not processed twice." -msgstr "" - -#: ../NEWS:3375 -msgid "" -"Required mutually exclusive groups containing positional arguments are now " -"supported." -msgstr "" - -#: ../NEWS:3376 -msgid "" -"The missing arguments report now includes the names of all required optional" -" and positional arguments." -msgstr "" - -#: ../NEWS:3377 -msgid "" -"Unknown options can be intermixed with positional arguments in " -"parse_known_intermixed_args()." -msgstr "" - -#: ../NEWS:3379 -msgid "" -":gh:`125767`: :class:`super` objects are now :mod:`pickleable ` and " -":mod:`copyable `." -msgstr "" - -#: ../NEWS:3382 -msgid "" -":gh:`124969`: ``locale.nl_langinfo(locale.ALT_DIGITS)`` now returns a string" -" again. The returned value consists of up to 100 semicolon-separated " -"symbols." -msgstr "" - -#: ../NEWS:3386 -msgid "" -":gh:`84850`: Remove :class:`!URLopener` and :class:`!FancyURLopener` classes" -" from :mod:`urllib.request`. They had previously raised " -":exc:`DeprecationWarning` since Python 3.3." -msgstr "" - -#: ../NEWS:3390 -msgid "" -":gh:`125666`: Avoid the exiting the interpreter if a null byte is given as " -"input in the new REPL." -msgstr "" - -#: ../NEWS:3393 -msgid "" -":gh:`125710`: [Enum] fix hashable<->nonhashable comparisons for member " -"values" -msgstr "" - -#: ../NEWS:3395 -msgid "" -":gh:`125631`: Restore ability to set :attr:`~pickle.Pickler.persistent_id` " -"and :attr:`~pickle.Unpickler.persistent_load` attributes of instances of the" -" :class:`!Pickler` and :class:`!Unpickler` classes in the :mod:`pickle` " -"module." -msgstr "" - -#: ../NEWS:3400 -msgid "" -":gh:`125378`: Fixed the bug in :mod:`pdb` where after a multi-line command, " -"an empty line repeats the first line of the multi-line command, instead of " -"the full command." -msgstr "" - -#: ../NEWS:3404 -msgid "" -":gh:`125682`: Reject non-ASCII digits in the Python implementation of " -":func:`json.loads` conforming to the JSON specification." -msgstr "" - -#: ../NEWS:3407 -msgid "" -":gh:`125660`: Reject invalid unicode escapes for Python implementation of " -":func:`json.loads`." -msgstr "" - -#: ../NEWS:3410 -msgid "" -":gh:`52551`: Use :c:func:`!wcsftime` to implement :func:`time.strftime` on " -"Windows." -msgstr "" - -#: ../NEWS:3413 -msgid "" -":gh:`125259`: Fix the notes removal logic for errors thrown in enum " -"initialization." -msgstr "" - -#: ../NEWS:3416 -msgid "" -":gh:`125633`: Add function :func:`inspect.ispackage` to determine whether an" -" object is a :term:`package` or not." -msgstr "" - -#: ../NEWS:3419 -msgid "" -":gh:`125614`: In the :data:`~annotationlib.Format.FORWARDREF` format of " -":mod:`annotationlib`, fix bug where nested expressions were not returned as " -":class:`annotationlib.ForwardRef` format." -msgstr "" - -#: ../NEWS:3423 -msgid "" -":gh:`125590`: Allow ``FrameLocalsProxy`` to delete and pop if the key is not" -" a fast variable." -msgstr "" - -#: ../NEWS:3426 -msgid "" -":gh:`125600`: Only show stale code warning in :mod:`pdb` when we display " -"source code." -msgstr "" - -#: ../NEWS:3429 -msgid "" -":gh:`125542`: Deprecate passing keyword-only *prefix_chars* argument to " -":meth:`argparse.ArgumentParser.add_argument_group`." -msgstr "" - -#: ../NEWS:3432 -msgid "" -":gh:`125541`: Pressing :kbd:`Ctrl-C` while blocked in " -":meth:`threading.Lock.acquire`, :meth:`threading.RLock.acquire`, and " -":meth:`threading.Thread.join` now interrupts the function call and raises a " -":exc:`KeyboardInterrupt` exception on Windows, similar to how those " -"functions behave on macOS and Linux." -msgstr "" - -#: ../NEWS:3438 -msgid "" -":gh:`125519`: Improve traceback if :func:`importlib.reload` is called with " -"an object that is not a module. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:3441 -msgid "" -":gh:`125451`: Fix deadlock when " -":class:`concurrent.futures.ProcessPoolExecutor` shuts down concurrently with" -" an error when feeding a job to a worker process." -msgstr "" - -#: ../NEWS:3445 -msgid "" -":gh:`125115`: Fixed a bug in :mod:`pdb` where arguments starting with ``-`` " -"can't be passed to the debugged script." -msgstr "" - -#: ../NEWS:3448 -msgid "" -":gh:`125398`: Fix the conversion of the :envvar:`!VIRTUAL_ENV` path in the " -"activate script in :mod:`venv` when running in Git Bash for Windows." -msgstr "" - -#: ../NEWS:3451 -msgid "" -":gh:`125245`: Fix race condition when importing :mod:`collections.abc`, " -"which could incorrectly return an empty module." -msgstr "" - -#: ../NEWS:3454 -msgid "" -":gh:`52551`: Fix encoding issues in :func:`time.strftime`, the " -":meth:`~datetime.datetime.strftime` method of the :mod:`datetime` classes " -":class:`~datetime.datetime`, :class:`~datetime.date` and " -":class:`~datetime.time` and formatting of these classes. Characters not " -"encodable in the current locale are now acceptable in the format string. " -"Surrogate pairs and sequence of surrogatescape-encoded bytes are no longer " -"recombinated. Embedded null character no longer terminates the format " -"string." -msgstr "" - -#: ../NEWS:3463 -msgid "" -":gh:`124984`: Fixed thread safety in :mod:`ssl` in the free-threaded build. " -"OpenSSL operations are now protected by a per-object lock." -msgstr "" - -#: ../NEWS:3466 -msgid "" -":gh:`124651`: Properly quote template strings in :mod:`venv` activation " -"scripts." -msgstr "" - -#: ../NEWS:3469 -msgid "" -":gh:`124694`: We've added " -":class:`concurrent.futures.InterpreterPoolExecutor`, which allows you to run" -" code in multiple isolated interpreters. This allows you to circumvent the " -"limitations of CPU-bound threads (due to the GIL). Patch by Eric Snow." -msgstr "" - -#: ../NEWS:3474 -msgid "This addition is unrelated to :pep:`734`." -msgstr "" - -#: ../NEWS:3476 -msgid ":gh:`58032`: Deprecate the :class:`argparse.FileType` type converter." -msgstr "" - -#: ../NEWS:3478 -msgid "" -":gh:`99749`: Adds a feature to optionally enable suggestions for argument " -"choices and subparser names if mistyped by the user." -msgstr "" - -#: ../NEWS:3481 -msgid "" -":gh:`58956`: Fixed a bug in :mod:`pdb` where sometimes the breakpoint won't " -"trigger if it was set on a function which is already in the call stack." -msgstr "" - -#: ../NEWS:3484 -msgid "" -":gh:`124111`: The tkinter module can now be built to use either the new " -"version 9.0.0 of Tcl/Tk or the latest release 8.6.15 of Tcl/Tk 8. Tcl/Tk 9 " -"includes many improvements, both to the Tcl language and to the appearance " -"and utility of the graphical user interface provided by Tk." -msgstr "" - -#: ../NEWS:3489 -msgid "" -":gh:`80958`: unittest discovery supports PEP 420 namespace packages as start" -" directory again." -msgstr "" - -#: ../NEWS:3492 -msgid "" -":gh:`123370`: Fix the canvas not clearing after running turtledemo clock." -msgstr "" - -#: ../NEWS:3494 -msgid "" -":gh:`89083`: Add :func:`uuid.uuid8` for generating UUIDv8 objects as " -"specified in :rfc:`9562`. Patch by Bénédikt Tran" -msgstr "" - -#: ../NEWS:3497 -msgid "" -":gh:`122549`: Add :func:`platform.invalidate_caches` to invalidate cached " -"results." -msgstr "" - -#: ../NEWS:3500 -msgid "" -":gh:`120754`: Update unbounded ``read`` calls in :mod:`zipfile` to specify " -"an explicit ``size`` putting a limit on how much data they may read. This " -"also updates handling around ZIP max comment size to match the standard " -"instead of reading comments that are one byte too long." -msgstr "" - -#: ../NEWS:3505 -msgid "" -":gh:`121267`: Improve the performance of :mod:`tarfile` when writing files, " -"by caching user names and group names." -msgstr "" - -#: ../NEWS:3508 -msgid "" -":gh:`70764`: Fixed an issue where :func:`inspect.getclosurevars` would " -"incorrectly classify an attribute name as a global variable when the name " -"exists both as an attribute name and a global variable." -msgstr "" - -#: ../NEWS:3512 -msgid "" -":gh:`118289`: :func:`!posixpath.realpath` now raises " -":exc:`NotADirectoryError` when *strict* mode is enabled and a non-directory " -"path with a trailing slash is supplied." -msgstr "" - -#: ../NEWS:3516 -msgid "" -":gh:`119826`: Always return an absolute path for :func:`os.path.abspath` on " -"Windows." -msgstr "" - -#: ../NEWS:3519 -msgid "" -":gh:`97850`: Remove deprecated :func:`!pkgutil.get_loader` and " -":func:`!pkgutil.find_loader`." -msgstr "" - -#: ../NEWS:3522 -msgid "" -":gh:`118986`: Add :data:`!socket.IPV6_RECVERR` constant (available since " -"Linux 2.2)." -msgstr "" - -#: ../NEWS:3525 -msgid "" -":gh:`116897`: Accepting objects with false values (like ``0`` and ``[]``) " -"except empty strings, byte-like objects and ``None`` in :mod:`urllib.parse` " -"functions :func:`~urllib.parse.parse_qsl` and :func:`~urllib.parse.parse_qs`" -" is now deprecated." -msgstr "" - -#: ../NEWS:3530 -msgid "" -":gh:`101955`: Fix SystemError when match regular expression pattern " -"containing some combination of possessive quantifier, alternative and " -"capture group." -msgstr "" - -#: ../NEWS:3534 -msgid "" -":gh:`71936`: Fix a race condition in :class:`multiprocessing.pool.Pool`." -msgstr "" - -#: ../NEWS:3536 -msgid "" -":issue:`46128`: Strip :class:`unittest.IsolatedAsyncioTestCase` stack frames" -" from reported stacktraces." -msgstr "" - -#: ../NEWS:3539 -msgid "" -":gh:`84852`: Add MIME types for MS Embedded OpenType, OpenType Layout, " -"TrueType, WOFF 1.0 and 2.0 fonts. Patch by Sahil Prajapati and Hugo van " -"Kemenade." -msgstr "" - -#: ../NEWS:3546 -msgid "" -":gh:`126622`: Added stub pages for removed modules explaining their removal," -" where to find replacements, and linking to the last Python version that " -"supported them. Contributed by Ned Batchelder." -msgstr "" - -#: ../NEWS:3550 -msgid "" -":gh:`125277`: Require Sphinx 7.2.6 or later to build the Python " -"documentation. Patch by Adam Turner." -msgstr "" - -#: ../NEWS:3553 -msgid "" -":gh:`60712`: Include the :class:`object` type in the lists of documented " -"types. Change by Furkan Onder and Martin Panter." -msgstr "" - -#: ../NEWS:3559 -msgid "" -":gh:`126795`: Increase the threshold for JIT code warmup. Depending on " -"platform and workload, this can result in performance gains of 1-9% and " -"memory savings of 3-5%." -msgstr "" - -#: ../NEWS:3563 -msgid "" -":gh:`126341`: Now :exc:`ValueError` is raised instead of :exc:`SystemError` " -"when trying to iterate over a released :class:`memoryview` object." -msgstr "" - -#: ../NEWS:3566 -msgid "" -":gh:`126688`: Fix a crash when calling :func:`os.fork` on some operating " -"systems, including SerenityOS." -msgstr "" - -#: ../NEWS:3569 -msgid "" -":gh:`126066`: Fix :mod:`importlib` to not write an incomplete .pyc files " -"when a ulimit or some other operating system mechanism is preventing the " -"write to go through fully." -msgstr "" - -#: ../NEWS:3573 -msgid "" -":gh:`126222`: Do not include count of \"peek\" items in " -"``_PyUop_num_popped``. This ensures that the correct number of items are " -"popped from the stack when a micro-op exits with an error." -msgstr "" - -#: ../NEWS:3577 -msgid "" -":gh:`126366`: Fix crash when using ``yield from`` on an object that raises " -"an exception in its ``__iter__``." -msgstr "" - -#: ../NEWS:3580 -msgid "" -":gh:`126209`: Fix an issue with ``skip_file_prefixes`` parameter which " -"resulted in an inconsistent behaviour between the C and Python " -"implementations of :func:`warnings.warn`. Patch by Daehee Kim." -msgstr "" - -#: ../NEWS:3584 -msgid "" -":gh:`126312`: Fix crash during garbage collection on an object frozen by " -":func:`gc.freeze` on the free-threaded build." -msgstr "" - -#: ../NEWS:3587 -msgid "" -":gh:`103951`: Relax optimization requirements to allow fast attribute access" -" to module subclasses." -msgstr "" - -#: ../NEWS:3590 -msgid "" -":gh:`126072`: Following :gh:`126101`, for :ref:`codeobjects` like lambda, " -"annotation and type alias, we no longer add ``None`` to its " -":attr:`~codeobject.co_consts`." -msgstr "" - -#: ../NEWS:3594 -msgid "" -":gh:`126195`: Improve JIT performance by 1.4% on macOS Apple Silicon by " -"using platform-specific memory protection APIs. Patch by Diego Russo." -msgstr "" - -#: ../NEWS:3597 -msgid "" -":gh:`126139`: Provide better error location when attempting to use a " -":term:`future statement <__future__>` with an unknown future feature." -msgstr "" - -#: ../NEWS:3600 -msgid "" -":gh:`126072`: Add a new attribute in :attr:`~codeobject.co_flags` to " -"indicate whether the first item in :attr:`~codeobject.co_consts` is the " -"docstring. If a code object has no docstring, ``None`` will **NOT** be " -"inserted." -msgstr "" - -#: ../NEWS:3604 -msgid "" -":gh:`126076`: Relocated objects such as ``tuple``, ``bytes`` and ``str`` " -"objects are properly tracked by :mod:`tracemalloc` and its associated hooks." -" Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:3608 -msgid "" -":gh:`90370`: Avoid temporary tuple creation for vararg in argument passing " -"with Argument Clinic generated code (if arguments either vararg or " -"positional-only)." -msgstr "" - -#: ../NEWS:3612 -msgid "" -":gh:`126018`: Fix a crash in :func:`sys.audit` when passing a non-string as " -"first argument and Python was compiled in debug mode." -msgstr "" - -#: ../NEWS:3615 -msgid "" -":gh:`126012`: The :class:`memoryview` type now supports subscription, making" -" it a :term:`generic type`." -msgstr "" - -#: ../NEWS:3618 -msgid "" -":gh:`125837`: Adds :opcode:`LOAD_SMALL_INT` and " -":opcode:`LOAD_CONST_IMMORTAL` instructions. ``LOAD_SMALL_INT`` pushes a " -"small integer equal to the ``oparg`` to the stack. ``LOAD_CONST_IMMORTAL`` " -"does the same as ``LOAD_CONST`` but is more efficient for immortal objects. " -"Removes ``RETURN_CONST`` instruction." -msgstr "" - -#: ../NEWS:3624 -msgid "" -":gh:`125942`: On Android, the ``errors`` setting of :any:`sys.stdout` was " -"changed from ``surrogateescape`` to ``backslashreplace``." -msgstr "" - -#: ../NEWS:3627 -msgid "" -":gh:`125859`: Fix a crash in the free threading build when " -":func:`gc.get_objects` or :func:`gc.get_referrers` is called during an in-" -"progress garbage collection." -msgstr "" - -#: ../NEWS:3631 -msgid "" -":gh:`125868`: It was possible in 3.14.0a1 only for attribute lookup to give " -"the wrong value. This was due to an incorrect specialization in very " -"specific circumstances. This is fixed in 3.14.0a2." -msgstr "" - -#: ../NEWS:3635 -msgid "" -":gh:`125498`: The JIT has been updated to leverage Clang 19’s new " -"``preserve_none`` attribute, which supports more platforms and is more " -"useful than LLVM's existing ``ghccc`` calling convention. This also removes " -"the need to manually patch the calling convention in LLVM IR, simplifying " -"the JIT compilation process." -msgstr "" - -#: ../NEWS:3641 -msgid "" -":gh:`125703`: Correctly honour :mod:`tracemalloc` hooks in specialized " -"``Py_DECREF`` paths. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:3644 -msgid "" -":gh:`125593`: Use color to highlight error locations in traceback from " -"exception group" -msgstr "" - -#: ../NEWS:3647 -msgid "" -":gh:`125017`: Fix crash on certain accesses to the ``__annotations__`` of " -":class:`staticmethod` and :class:`classmethod` objects." -msgstr "" - -#: ../NEWS:3650 -msgid "" -":gh:`125588`: The Python PEG generator can now use f-strings in the grammar " -"actions. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:3653 -msgid "" -":gh:`125444`: Fix illegal instruction for older Arm architectures. Patch by " -"Diego Russo, testing by Ross Burton." -msgstr "" - -#: ../NEWS:3656 -msgid "" -":gh:`118423`: Add a new ``INSTRUCTION_SIZE`` macro to the cases generator " -"which returns the current instruction size." -msgstr "" - -#: ../NEWS:3659 -msgid "" -":gh:`125038`: Fix crash when iterating over a generator expression after " -"direct changes on ``gi_frame.f_locals``. Patch by Mikhail Efimov." -msgstr "" - -#: ../NEWS:3662 -msgid "" -":gh:`124855`: Don't allow the JIT and perf support to be active at the same " -"time. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:3665 -msgid ":gh:`123714`: Update JIT compilation to use LLVM 19" -msgstr "" - -#: ../NEWS:3667 -msgid "" -":gh:`123930`: Improve the error message when a script shadowing a module " -"from the standard library causes :exc:`ImportError` to be raised during a " -"\"from\" import. Similarly, improve the error message when a script " -"shadowing a third party module attempts to \"from\" import an attribute from" -" that third party module while still initialising." -msgstr "" - -#: ../NEWS:3673 -msgid "" -":gh:`119793`: The :func:`map` built-in now has an optional keyword-only " -"*strict* flag like :func:`zip` to check that all the iterables are of equal " -"length. Patch by Wannes Boeykens." -msgstr "" - -#: ../NEWS:3677 -msgid "" -":gh:`118950`: Fix bug where SSLProtocol.connection_lost wasn't getting " -"called when OSError was thrown on writing to socket." -msgstr "" - -#: ../NEWS:3680 -msgid "" -":gh:`113570`: Fixed a bug in ``reprlib.repr`` where it incorrectly called " -"the repr method on shadowed Python built-in types." -msgstr "" - -#: ../NEWS:3686 -msgid "" -":gh:`126554`: Fix error handling in :class:`ctypes.CDLL` objects which could" -" result in a crash in rare situations." -msgstr "" - -#: ../NEWS:3689 -msgid "" -":gh:`126061`: Add :c:func:`PyLong_IsPositive`, :c:func:`PyLong_IsNegative` " -"and :c:func:`PyLong_IsZero` for checking if a :c:type:`PyLongObject` is " -"positive, negative, or zero, respectively." -msgstr "" - -#: ../NEWS:3693 -msgid "" -":gh:`125608`: Fix a bug where dictionary watchers (e.g., " -":c:func:`PyDict_Watch`) on an object's attribute dictionary " -"(:attr:`~object.__dict__`) were not triggered when the object's attributes " -"were modified." -msgstr "" - -#: ../NEWS:3698 -msgid "" -":gh:`123619`: Added the :c:func:`PyUnstable_Object_EnableDeferredRefcount` " -"function for enabling :pep:`703` deferred reference counting." -msgstr "" - -#: ../NEWS:3701 -msgid "" -":gh:`121654`: Add :c:func:`PyType_Freeze` function to make a type immutable." -" Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:3704 -msgid "" -":gh:`120026`: The :c:macro:`!Py_HUGE_VAL` macro is :term:`soft deprecated`." -msgstr "" - -#: ../NEWS:3709 -msgid "" -":gh:`126691`: Removed the ``--with-emscripten-target`` configure flag. We " -"unified the ``node`` and ``browser`` options and the same build can now be " -"used, independent of target runtime." -msgstr "" - -#: ../NEWS:3713 -msgid "" -":gh:`123877`: Use ``wasm32-wasip1`` as the target triple for WASI instead of" -" ``wasm32-wasi``. The latter will eventually be reclaimed for WASI 1.0 while" -" CPython currently only supports WASI preview1." -msgstr "" - -#: ../NEWS:3717 -msgid ":gh:`126458`: Disable SIMD support for HACL under WASI." -msgstr "" - -#: ../NEWS:3719 -msgid ":gh:`89640`: Hard-code float word ordering as little endian on WASM." -msgstr "" - -#: ../NEWS:3721 -msgid "" -":gh:`126206`: ``make clinic`` now runs Argument Clinic using the ``--force``" -" option, thus forcefully regenerating generated code." -msgstr "" - -#: ../NEWS:3724 -msgid "" -":gh:`126187`: Introduced ``Tools/wasm/emscripten.py`` to simplify doing " -"Emscripten builds." -msgstr "" - -#: ../NEWS:3727 -msgid "" -":gh:`124932`: For cross builds, there is now support for having a different " -"install ``prefix`` than the ``host_prefix`` used by ``getpath.py``. This is " -"set to ``/`` by default for Emscripten, on other platforms the default " -"behavior is the same as before." -msgstr "" - -#: ../NEWS:3732 -msgid "" -":gh:`125946`: The minimum supported Android version is now 7.0 (API level " -"24)." -msgstr "" - -#: ../NEWS:3735 -msgid "" -":gh:`125940`: The Android build now supports `16 KB page sizes " -"`__." -msgstr "" - -#: ../NEWS:3738 -msgid "" -":gh:`89640`: Improve detection of float word ordering on Linux when link-" -"time optimizations are enabled." -msgstr "" - -#: ../NEWS:3741 -msgid ":gh:`124928`: Emscripten builds now require node >= 18." -msgstr "" - -#: ../NEWS:3743 -msgid "" -":gh:`115382`: Fix cross compile failures when the host and target SOABIs " -"match." -msgstr "" - -#: ../NEWS:3748 -msgid "Python 3.14.0 alpha 1" -msgstr "" - -#: ../NEWS:3750 -msgid "*Release date: 2024-10-15*" -msgstr "" - -#: ../NEWS:3755 -msgid ":gh:`124448`: Update bundled Tcl/Tk in macOS installer to 8.6.15." -msgstr "" - -#: ../NEWS:3757 -msgid "" -":gh:`123797`: Check for runtime availability of ``ptsname_r`` function on " -"macos." -msgstr "" - -#: ../NEWS:3760 -msgid ":gh:`123418`: Updated macOS installer build to use OpenSSL 3.0.15." -msgstr "" - -#: ../NEWS:3765 -msgid "" -":gh:`124487`: Increases Windows required OS and API level to Windows 10." -msgstr "" - -#: ../NEWS:3767 -msgid "" -":gh:`124609`: Fix ``_Py_ThreadId`` for Windows builds using MinGW. Patch by " -"Tony Roberts." -msgstr "" - -#: ../NEWS:3770 -msgid ":gh:`124448`: Updated bundled Tcl/Tk to 8.6.15." -msgstr "" - -#: ../NEWS:3772 -msgid "" -":gh:`124254`: Ensures experimental free-threaded binaries remain installed " -"when updating." -msgstr "" - -#: ../NEWS:3775 -msgid "" -":gh:`123915`: Ensure that ``Tools\\msi\\buildrelease.bat`` uses different " -"directories for AMD64 and ARM64 builds." -msgstr "" - -#: ../NEWS:3778 -msgid ":gh:`123418`: Updated Windows build to use OpenSSL 3.0.15." -msgstr "" - -#: ../NEWS:3780 -msgid "" -":gh:`123476`: Add support for ``socket.TCP_QUICKACK`` on Windows platforms." -msgstr "" - -#: ../NEWS:3782 -msgid ":gh:`122573`: The Windows build of CPython now requires 3.10 or newer." -msgstr "" - -#: ../NEWS:3784 -msgid "" -":gh:`100256`: :mod:`mimetypes` no longer fails when it encounters an " -"inaccessible registry key." -msgstr "" - -#: ../NEWS:3787 -msgid "" -":gh:`119679`: Ensures correct import libraries are included in Windows " -"installs." -msgstr "" - -#: ../NEWS:3790 -msgid "" -":gh:`119690`: Adds Unicode support and fixes audit events for " -"``_winapi.CreateNamedPipe``." -msgstr "" - -#: ../NEWS:3793 -msgid ":gh:`111201`: Add support for new pyrepl on Windows" -msgstr "" - -#: ../NEWS:3795 -msgid "" -":gh:`119070`: Fixes ``py.exe`` handling of shebangs like ``/usr/bin/env " -"python3.12``, which were previously interpreted as ``python3.exe`` instead " -"of ``python3.12.exe``." -msgstr "" - -#: ../NEWS:3799 -msgid "" -":gh:`117505`: Fixes an issue with the Windows installer not running " -"ensurepip in a fully isolated environment. This could cause unexpected " -"interactions with the user site-packages." -msgstr "" - -#: ../NEWS:3803 -msgid "" -":gh:`118209`: Avoid crashing in :mod:`mmap` on Windows when the mapped " -"memory is inaccessible due to file system errors or access violations." -msgstr "" - -#: ../NEWS:3806 -msgid "" -":gh:`79846`: Makes :code:`ssl.create_default_context()` ignore invalid " -"certificates in the Windows certificate store" -msgstr "" - -#: ../NEWS:3812 -msgid "" -":gh:`123418`: Update GitHub CI workflows to use OpenSSL 3.0.15 and " -"multissltests to use 3.0.15, 3.1.7, and 3.2.3." -msgstr "" - -#: ../NEWS:3818 -msgid "" -":gh:`125041`: Re-enable skipped tests for :mod:`zlib` on the s390x " -"architecture: only skip checks of the compressed bytes, which can be " -"different between zlib's software implementation and the hardware-" -"accelerated implementation." -msgstr "" - -#: ../NEWS:3823 -msgid ":gh:`124378`: Updated ``test_ttk`` to pass with Tcl/Tk 8.6.15." -msgstr "" - -#: ../NEWS:3825 -msgid "" -":gh:`124213`: Detect whether the test suite is running inside a systemd-" -"nspawn container with ``--suppress-sync=true`` option, and skip the " -"``test_os`` and ``test_mmap`` tests that are failing in this scenario." -msgstr "" - -#: ../NEWS:3829 -msgid "" -":gh:`124190`: Add capability to ignore entire files or directories in check " -"warning CI tool" -msgstr "" - -#: ../NEWS:3832 -msgid "" -":gh:`121921`: Update ``Lib/test/crashers/bogus_code_obj.py`` so that it " -"crashes properly again." -msgstr "" - -#: ../NEWS:3835 -msgid "" -":gh:`112301`: Add tooling to check for changes in compiler warnings. Patch " -"by Nate Ohlson." -msgstr "" - -#: ../NEWS:3838 -msgid "" -":gh:`59022`: Add tests for :func:`pkgutil.extend_path`. Patch by Andreas " -"Stocker." -msgstr "" - -#: ../NEWS:3841 -msgid "" -":gh:`99242`: :func:`os.getloadavg` may throw :exc:`OSError` when running " -"regression tests under certain conditions (e.g. chroot). This error is now " -"caught and ignored, since reporting load average is optional." -msgstr "" - -#: ../NEWS:3845 -msgid "" -":gh:`121084`: Fix test_typing random leaks. Clear typing ABC caches when " -"running tests for refleaks (``-R`` option): call ``_abc_caches_clear()`` on " -"typing abstract classes and their subclasses. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:3849 -msgid "" -":gh:`121160`: Add a test for :func:`readline.set_history_length`. Note that " -"this test may fail on readline libraries." -msgstr "" - -#: ../NEWS:3852 -msgid "" -":gh:`121200`: Fix ``test_expanduser_pwd2()`` of ``test_posixpath``. Call " -"``getpwnam()`` to get ``pw_dir``, since it can be different than " -"``getpwall()`` ``pw_dir``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:3856 -msgid "" -":gh:`121188`: When creating the JUnit XML file, regrtest now escapes " -"characters which are invalid in XML, such as the chr(27) control character " -"used in ANSI escape sequences. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:3860 -msgid "" -":gh:`120801`: Cleaned up fixtures for importlib.metadata tests and " -"consolidated behavior with 'test.support.os_helper'." -msgstr "" - -#: ../NEWS:3863 -msgid "" -":gh:`119727`: Add ``--single-process`` command line option to Python test " -"runner (regrtest). Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:3866 -msgid "" -":gh:`119273`: Python test runner no longer runs tests using TTY (ex: " -"test_ioctl) in a process group (using ``setsid()``). Previously, tests using" -" TTY were skipped. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:3870 -msgid "" -":gh:`119050`: regrtest test runner: Add XML support to the refleak checker " -"(-R option). Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:3873 -msgid "" -":gh:`101525`: Skip ``test_gdb`` if the binary is relocated by BOLT. Patch by" -" Donghee Na." -msgstr "" - -#: ../NEWS:3876 -msgid "" -":gh:`107562`: Test certificates have been updated to expire far in the " -"future. This allows testing Y2038 with system time set to after that, so " -"that actual Y2038 issues can be exposed, and not masked by expired " -"certificate errors." -msgstr "" - -#: ../NEWS:3884 -msgid "" -":gh:`125140`: Remove the current directory from ``sys.path`` when using " -"PyREPL." -msgstr "" - -#: ../NEWS:3887 -msgid ":gh:`123678`: Upgrade libexpat to 2.6.3" -msgstr "" - -#: ../NEWS:3889 -msgid "" -":gh:`112301`: Enable compiler options that warn of potential security " -"vulnerabilities." -msgstr "" - -#: ../NEWS:3892 -msgid "" -":gh:`122792`: Changed IPv4-mapped ``ipaddress.IPv6Address`` to consistently " -"use the mapped IPv4 address value for deciding properties. Properties which " -"have their behavior fixed are ``is_multicast``, ``is_reserved``, " -"``is_link_local``, ``is_global``, and ``is_unspecified``." -msgstr "" - -#: ../NEWS:3897 -msgid "" -":gh:`112301`: Add ability to ignore warnings per file with warning count in " -"warning checking tooling. Patch by Nate Ohlson." -msgstr "" - -#: ../NEWS:3900 -msgid "" -":gh:`112301`: Add macOS warning tracking to warning check tooling. Patch by " -"Nate Ohlson." -msgstr "" - -#: ../NEWS:3903 -msgid "" -":gh:`122133`: Authenticate the socket connection for the " -"``socket.socketpair()`` fallback on platforms where ``AF_UNIX`` is not " -"available like Windows." -msgstr "" - -#: ../NEWS:3907 -msgid "" -"Patch by Gregory P. Smith and Seth Larson " -". Reported by Ellie " -msgstr "" - -#: ../NEWS:3910 -msgid "" -":gh:`121957`: Fixed missing audit events around interactive use of Python, " -"now also properly firing for ``python -i``, as well as for ``python -m " -"asyncio``. The events in question are ``cpython.run_stdin`` and " -"``cpython.run_startup``." -msgstr "" - -#: ../NEWS:3915 -msgid "" -":gh:`112301`: Enable runtime protections for glibc to abort execution when " -"unsafe behavior is encountered, for all platforms except Windows." -msgstr "" - -#: ../NEWS:3918 -msgid "" -":gh:`121285`: Remove backtracking from tarfile header parsing for " -"``hdrcharset``, PAX, and GNU sparse headers." -msgstr "" - -#: ../NEWS:3921 -msgid "" -":gh:`112301`: Add default compiler options to improve security. Enable " -"-Wimplicit-fallthrough, -fstack-protector-strong, -Wtrampolines." -msgstr "" - -#: ../NEWS:3924 -msgid "" -":gh:`118773`: Fixes creation of ACLs in :func:`os.mkdir` on Windows to work " -"correctly on non-English machines." -msgstr "" - -#: ../NEWS:3927 -msgid "" -":gh:`118486`: :func:`os.mkdir` on Windows now accepts *mode* of ``0o700`` to" -" restrict the new directory to the current user. This fixes :cve:`2024-4030`" -" affecting :func:`tempfile.mkdtemp` in scenarios where the base temporary " -"directory is more permissive than the default." -msgstr "" - -#: ../NEWS:3935 -msgid "" -":gh:`125422`: Fixed the bug where :mod:`pdb` and :mod:`bdb` can step into " -"the bottom caller frame." -msgstr "" - -#: ../NEWS:3938 -msgid "" -":gh:`100141`: Fixed the bug where :mod:`pdb` will be stuck in an infinite " -"loop when debugging an empty file." -msgstr "" - -#: ../NEWS:3941 -msgid "" -":gh:`53203`: Fix :func:`time.strptime` for ``%c``, ``%x`` and ``%X`` formats" -" in many locales that use non-ASCII digits, like Persian, Burmese, Odia and " -"Shan." -msgstr "" - -#: ../NEWS:3945 -msgid "" -":gh:`125206`: Workaround for old libffi versions is added. Module ctypes " -"supports :c:expr:`double complex` only with libffi >= 3.3.0. Patch by " -"Mikhail Efimov." -msgstr "" - -#: ../NEWS:3949 -msgid "" -":gh:`89967`: Make :class:`~weakref.WeakKeyDictionary` and " -":class:`~weakref.WeakValueDictionary` safe against concurrent mutations from" -" other threads. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:3953 -msgid "" -":gh:`125260`: The :func:`gzip.compress` *mtime* parameter now defaults to 0 " -"for reproducible output. Patch by Bernhard M. Wiedemann and Adam Turner." -msgstr "" - -#: ../NEWS:3956 -msgid "" -":gh:`125243`: Fix data race when creating :class:`zoneinfo.ZoneInfo` objects" -" in the free threading build." -msgstr "" - -#: ../NEWS:3959 -msgid "" -":gh:`125254`: Fix a bug where ArgumentError includes the incorrect ambiguous" -" option in :mod:`argparse`." -msgstr "" - -#: ../NEWS:3962 -msgid "" -":gh:`125235`: Keep :mod:`tkinter` TCL paths in venv pointing to base " -"installation on Windows." -msgstr "" - -#: ../NEWS:3965 -msgid "" -":gh:`61011`: Fix inheritance of nested mutually exclusive groups from parent" -" parser in :class:`argparse.ArgumentParser`. Previously, all nested mutually" -" exclusive groups lost their connection to the group containing them and " -"were displayed as belonging directly to the parser." -msgstr "" - -#: ../NEWS:3970 -msgid "" -":gh:`125118`: Don't copy arbitrary values to :c:expr:`_Bool` in the " -":mod:`struct` module." -msgstr "" - -#: ../NEWS:3973 -msgid "" -":gh:`125069`: Fix an issue where providing a :class:`pathlib.PurePath` " -"object as an initializer argument to a second :class:`~pathlib.PurePath` " -"object with a different :attr:`~pathlib.PurePath.parser` resulted in " -"arguments to the former object's initializer being joined by the latter " -"object's parser." -msgstr "" - -#: ../NEWS:3979 -msgid "" -":gh:`125096`: If the :envvar:`PYTHON_BASIC_REPL` environment variable is " -"set, the :mod:`site` module no longer imports the :mod:`!_pyrepl` module. " -"Moreover, the :mod:`site` module now respects :option:`-E` and :option:`-I` " -"command line options: ignore :envvar:`PYTHON_BASIC_REPL` in this case. Patch" -" by Victor Stinner." -msgstr "" - -#: ../NEWS:3985 -msgid "" -":gh:`124969`: Fix ``locale.nl_langinfo(locale.ALT_DIGITS)``. Now it returns " -"a tuple of up to 100 strings (an empty tuple on most locales). Previously it" -" returned the first item of that tuple or an empty string." -msgstr "" - -#: ../NEWS:3989 -msgid "" -":gh:`124960`: Fix support for the ``barry_as_FLUFL`` future flag in the new " -"REPL." -msgstr "" - -#: ../NEWS:3992 -msgid "" -":gh:`69998`: Fix :func:`locale.nl_langinfo` in case when different " -"categories have different locales. The function now sets temporarily the " -"``LC_CTYPE`` locale in some cases. This temporary change affects other " -"threads." -msgstr "" - -#: ../NEWS:3996 -msgid "" -":gh:`124958`: Fix refcycles in exceptions raised from " -":class:`asyncio.TaskGroup` and the python implementation of " -":class:`asyncio.Future`" -msgstr "" - -#: ../NEWS:4000 -msgid "" -":gh:`53203`: Fix :func:`time.strptime` for ``%c`` and ``%x`` formats in many" -" locales: Arabic, Bislama, Breton, Bodo, Kashubian, Chuvash, Estonian, " -"French, Irish, Ge'ez, Gurajati, Manx Gaelic, Hebrew, Hindi, Chhattisgarhi, " -"Haitian Kreyol, Japanese, Kannada, Korean, Marathi, Malay, Norwegian, " -"Nynorsk, Punjabi, Rajasthani, Tok Pisin, Yoruba, Yue Chinese, Yau/Nungon and" -" Chinese." -msgstr "" - -#: ../NEWS:4007 -msgid "" -":gh:`123961`: Convert :mod:`curses` to multi-phase initialization " -"(:pep:`489`), thereby fixing reference leaks at interpreter shutdown. Patch " -"by Bénédikt Tran." -msgstr "" - -#: ../NEWS:4011 -msgid ":gh:`124944`: Add ``SO_ORIGINAL_DST`` to the :mod:`socket` module." -msgstr "" - -#: ../NEWS:4013 -msgid "" -":gh:`117151`: The default buffer size used by :func:`shutil.copyfileobj` has" -" been increased from 64k to 256k on non-Windows platforms. It was already " -"larger on Windows." -msgstr "" - -#: ../NEWS:4017 -msgid "" -":gh:`90102`: Skip the ``isatty`` system call during open() when the file is " -"known to not be a character device. This provides a slight performance " -"improvement when reading whole files." -msgstr "" - -#: ../NEWS:4021 -msgid "" -":gh:`124917`: Allow calling :func:`os.path.exists` and " -":func:`os.path.lexists` with keyword arguments on Windows. Fixes a " -"regression in 3.13.0." -msgstr "" - -#: ../NEWS:4025 -msgid "" -":gh:`65865`: :mod:`argparse` now raises early error for invalid ``help`` " -"arguments to :meth:`~argparse.ArgumentParser.add_argument`, " -":meth:`~argparse.ArgumentParser.add_subparsers` and :meth:`!add_parser`." -msgstr "" - -#: ../NEWS:4029 -msgid "" -":gh:`124653`: Fix detection of the minimal Queue API needed by the " -":mod:`logging` module. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:4032 -msgid "" -":gh:`91818`: The CLI of many modules (:mod:`ast`, :mod:`ensurepip`, " -":mod:`json`, :mod:`pdb`, :mod:`sqlite3`, :mod:`tokenize`, :mod:`venv`) now " -"uses the actual executable name instead of simply \"python\" to display in " -"the usage message." -msgstr "" - -#: ../NEWS:4037 -msgid "" -":gh:`124858`: Fix reference cycles left in tracebacks in " -":func:`asyncio.open_connection` when used with ``happy_eyeballs_delay``" -msgstr "" - -#: ../NEWS:4040 -msgid "" -":gh:`124390`: Fixed :exc:`AssertionError` when using " -":func:`!asyncio.staggered.staggered_race` with " -":data:`asyncio.eager_task_factory`." -msgstr "" - -#: ../NEWS:4044 -msgid "" -":gh:`85935`: :meth:`argparse.ArgumentParser.add_argument` now raises an " -"exception if an :ref:`action` that does not consume arguments (like " -"'store_const' or 'store_true') or explicit ``nargs=0`` are specified for " -"positional arguments." -msgstr "" - -#: ../NEWS:4049 -msgid "" -":gh:`124835`: Make :func:`tomllib.loads` raise :exc:`TypeError` not " -":exc:`AttributeError` on bad input types that do not have the ``replace`` " -"attribute. Improve error message when :class:`bytes` is received." -msgstr "" - -#: ../NEWS:4053 -msgid "" -":gh:`124693`: Fix a bug where :mod:`argparse` doesn't recognize negative " -"complex numbers or negative numbers using scientific notation." -msgstr "" - -#: ../NEWS:4056 -msgid "" -":gh:`124787`: Fix :class:`typing.TypeAliasType` with incorrect " -"``type_params`` argument. Now it raises a :exc:`TypeError` when a type " -"parameter without a default follows one with a default, and when an entry in" -" the ``type_params`` tuple is not a type parameter object." -msgstr "" - -#: ../NEWS:4061 -msgid "" -":gh:`66436`: Improved :ref:`prog` default value for " -":class:`argparse.ArgumentParser`. It will now include the name of the Python" -" executable along with the module or package name, or the path to a " -"directory, ZIP file, or directory within a ZIP file if the code was run that" -" way." -msgstr "" - -#: ../NEWS:4067 -msgid "" -":gh:`116850`: Fix :mod:`argparse` for namespaces with not directly writable " -"dict (e.g. classes)." -msgstr "" - -#: ../NEWS:4070 -msgid "" -":gh:`101552`: Add an *annoation_format* parameter to " -":func:`inspect.signature`. Add an *quote_annotation_strings* parameter to " -":meth:`inspect.Signature.format`. Use the new functionality to improve the " -"display of annotations in signatures in :mod:`pydoc`. Patch by Jelle " -"Zijlstra." -msgstr "" - -#: ../NEWS:4076 -msgid "" -":gh:`58573`: Fix conflicts between abbreviated long options in the parent " -"parser and subparsers in :mod:`argparse`." -msgstr "" - -#: ../NEWS:4079 -msgid "" -":gh:`124594`: All :mod:`asyncio` REPL prompts run in the same " -":class:`context `. Contributed by Bartosz Sławecki." -msgstr "" - -#: ../NEWS:4082 -msgid "" -":gh:`61181`: Fix support of :ref:`choices` with string value in " -":mod:`argparse`. Substrings of the specified string no longer considered " -"valid values." -msgstr "" - -#: ../NEWS:4086 -msgid "" -":gh:`116750`: Provide :func:`sys.monitoring.clear_tool_id` to unregister all" -" events and callbacks set by the tool." -msgstr "" - -#: ../NEWS:4089 -msgid "" -":gh:`124552`: Improve the accuracy of :mod:`bdb`'s check for the possibility" -" of breakpoint in a frame. This makes it possible to disable unnecessary " -"events in functions." -msgstr "" - -#: ../NEWS:4093 -msgid "" -":gh:`124538`: Fixed crash when using :func:`gc.get_referents` on a capsule " -"object." -msgstr "" - -#: ../NEWS:4096 -msgid "" -":gh:`80259`: Fix :mod:`argparse` support of positional arguments with " -"``nargs='?'``, ``default=argparse.SUPPRESS`` and specified ``type``." -msgstr "" - -#: ../NEWS:4099 -msgid "" -":gh:`120378`: Fix a crash related to an integer overflow in " -":func:`curses.resizeterm` and :func:`curses.resize_term`." -msgstr "" - -#: ../NEWS:4102 -msgid "" -":gh:`124498`: Fix :class:`typing.TypeAliasType` not to be generic, when " -"``type_params`` is an empty tuple." -msgstr "" - -#: ../NEWS:4105 -msgid "" -":gh:`53834`: Fix support of arguments with :ref:`choices` in " -":mod:`argparse`. Positional arguments with :ref:`nargs` equal to ``'?'`` or " -"``'*'`` no longer check :ref:`default` against ``choices``. Optional " -"arguments with ``nargs`` equal to ``'?'`` no longer check :ref:`const` " -"against ``choices``." -msgstr "" - -#: ../NEWS:4111 -msgid "" -":gh:`123884`: Fixed bug in itertools.tee() handling of other tee inputs (a " -"tee in a tee). The output now has the promised *n* independent new " -"iterators. Formerly, the first iterator was identical (not independent) to " -"the input iterator. This would sometimes give surprising results." -msgstr "" - -#: ../NEWS:4116 -msgid "" -":gh:`123017`: Due to unreliable results on some devices, " -":func:`time.strftime` no longer accepts negative years on Android." -msgstr "" - -#: ../NEWS:4119 -msgid "" -":gh:`123014`: :func:`os.pidfd_open` and :func:`signal.pidfd_send_signal` are" -" now unavailable when building against Android API levels older than 31, " -"since the underlying system calls may cause a crash." -msgstr "" - -#: ../NEWS:4123 -msgid "" -":gh:`124176`: Add support for :func:`dataclasses.dataclass` in " -":func:`unittest.mock.create_autospec`. Now ``create_autospec`` will check " -"for potential dataclasses and use :func:`dataclasses.fields` function to " -"retrieve the spec information." -msgstr "" - -#: ../NEWS:4128 -msgid "" -":gh:`124345`: :mod:`argparse` vim supports abbreviated single-dash long " -"options separated by ``=`` from its value." -msgstr "" - -#: ../NEWS:4131 -msgid "" -":gh:`124400`: Fixed a :mod:`pdb` bug where ``until`` has no effect when it " -"appears in a ``commands`` sequence. Also avoid printing the frame " -"information at a breakpoint that has a command list containing a command " -"that resumes execution." -msgstr "" - -#: ../NEWS:4136 -msgid "" -":gh:`90562`: Modify dataclasses to support zero-argument super() when " -"``slots=True`` is specified. This works by modifying all references to " -"``__class__`` to point to the newly created class." -msgstr "" - -#: ../NEWS:4140 -msgid "" -":gh:`104860`: Fix disallowing abbreviation of single-dash long options in " -":mod:`argparse` with ``allow_abbrev=False``." -msgstr "" - -#: ../NEWS:4143 -msgid "" -":gh:`63143`: Fix parsing mutually exclusive arguments in :mod:`argparse`. " -"Arguments with the value identical to the default value (e.g. booleans, " -"small integers, empty or 1-character strings) are no longer considered \"not" -" present\"." -msgstr "" - -#: ../NEWS:4148 -msgid "" -":gh:`72795`: Positional arguments with :ref:`nargs` equal to ``'*'`` or " -":data:`!argparse.REMAINDER` are no longer required. This allows to use " -"positional argument with ``nargs='*'`` and without ``default`` in mutually " -"exclusive group and improves error message about required arguments." -msgstr "" - -#: ../NEWS:4153 -msgid "" -":gh:`59317`: Fix parsing positional argument with :ref:`nargs` equal to " -"``'?'`` or ``'*'`` if it is preceded by an option and another positional " -"argument." -msgstr "" - -#: ../NEWS:4157 -msgid "" -":gh:`100980`: The :attr:`~ctypes.Structure._fields_` attribute of " -":class:`ctypes.Structure` and :class:`~ctypes.Union` is no longer set if the" -" setattr operation raises an error." -msgstr "" - -#: ../NEWS:4161 -msgid "" -":gh:`53780`: :mod:`argparse` now ignores the first ``\"--\"`` (double dash) " -"between an option and command." -msgstr "" - -#: ../NEWS:4164 -msgid "" -":gh:`124217`: Add RFC 9637 reserved IPv6 block ``3fff::/20`` in " -":mod:`ipaddress` module." -msgstr "" - -#: ../NEWS:4167 -msgid "" -":gh:`111513`: Improve the error message that may be raised by " -":meth:`datetime.date.fromtimestamp`." -msgstr "" - -#: ../NEWS:4170 -msgid "" -":gh:`124248`: Fixed potential crash when using :mod:`struct` to process " -"zero-width 'Pascal string' fields (``0p``)." -msgstr "" - -#: ../NEWS:4173 -msgid "" -":gh:`81691`: Fix handling of multiple ``\"--\"`` (double dashes) in " -":mod:`argparse`. Only the first one has now been removed, all subsequent " -"ones are now taken literally." -msgstr "" - -#: ../NEWS:4177 -msgid "" -":gh:`87041`: Fix a bug in :mod:`argparse` where lengthy subparser argument " -"help is incorrectly indented." -msgstr "" - -#: ../NEWS:4180 -msgid "" -":gh:`84559`: The default :mod:`multiprocessing` start method on Linux and " -"other POSIX systems has been changed away from often unsafe ``\"fork\"`` to " -"``\"forkserver\"`` (when the platform supports sending file handles over " -"pipes as most do) or ``\"spawn\"``. Mac and Windows are unchanged as they " -"already default to ``\"spawn\"``." -msgstr "" - -#: ../NEWS:4186 -msgid "" -":gh:`124212`: Fix invalid variable in :mod:`venv` handling of failed symlink" -" on Windows" -msgstr "" - -#: ../NEWS:4189 -msgid "" -":gh:`124171`: Add workaround for broken :c:func:`!fmod()` implementations on" -" Windows, that loose zero sign (e.g. ``fmod(-10, 1)`` returns ``0.0``). " -"Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:4193 -msgid "" -":gh:`123978`: Remove broken :func:`time.thread_time` and " -":func:`time.thread_time_ns` on NetBSD." -msgstr "" - -#: ../NEWS:4196 -msgid "" -":gh:`123934`: Fix :class:`unittest.mock.MagicMock` resetting magic methods " -"return values after ``.reset_mock(return_value=True)`` was called." -msgstr "" - -#: ../NEWS:4199 -msgid ":gh:`124016`: Update :mod:`unicodedata` database to Unicode 16.0.0." -msgstr "" - -#: ../NEWS:4201 -msgid "" -":gh:`123968`: Fix the command-line interface for the :mod:`random` module to" -" select floats between 0 and N, not 1 and N." -msgstr "" - -#: ../NEWS:4204 -msgid "" -":gh:`123945`: Fix a bug where :mod:`argparse` doesn't recognize negative " -"numbers with underscores" -msgstr "" - -#: ../NEWS:4207 -msgid "" -":gh:`123935`: Fix parent slots detection for dataclasses that inherit from " -"classes with ``__dictoffset__``." -msgstr "" - -#: ../NEWS:4210 -msgid "" -":gh:`123892`: Add ``\"_wmi\"`` to :data:`sys.stdlib_module_names`. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:4213 -msgid "" -":gh:`84808`: Fix error handling in :py:class:`~socket.socket` method " -":py:func:`~socket.socket.connect_ex` on platforms where :c:data:`errno` can " -"be negative." -msgstr "" - -#: ../NEWS:4217 -msgid "" -":gh:`123756`: Added a new argument ``mode`` to :class:`pdb.Pdb`. Only allow " -":mod:`pdb` from command line to use ``restart`` command." -msgstr "" - -#: ../NEWS:4220 -msgid "" -":gh:`122765`: Fix unbalanced quote errors occurring when activate.csh in " -":mod:`venv` was sourced with a custom prompt containing unpaired quotes or " -"newlines." -msgstr "" - -#: ../NEWS:4224 -msgid "" -":gh:`123657`: Fix crash and memory leak in :func:`decimal.getcontext`. It " -"crashed when using a thread-local context by ``--with-decimal-" -"contextvar=no``." -msgstr "" - -#: ../NEWS:4228 -msgid "" -":gh:`123339`: Fix :func:`inspect.getsource` for classes in " -":mod:`collections.abc` and :mod:`decimal` (for pure Python implementation) " -"modules. :func:`inspect.getcomments` now raises OSError instead of " -"IndexError if the ``__firstlineno__`` value for a class is out of bound." -msgstr "" - -#: ../NEWS:4233 -msgid "" -":gh:`123374`: Remove check for redefined memo entry in " -":func:`pickletools.dis`." -msgstr "" - -#: ../NEWS:4236 -msgid "" -":gh:`123504`: Fixed reference leak in the finalization of :mod:`tkinter`." -msgstr "" - -#: ../NEWS:4238 -msgid "" -":gh:`123430`: Pages generated by the :mod:`http.server` module allow the " -"browser to apply its default dark mode." -msgstr "" - -#: ../NEWS:4241 -msgid "" -":gh:`123446`: Fix empty function name in :exc:`TypeError` when " -":func:`csv.reader`, :func:`csv.writer`, or :func:`csv.register_dialect` are " -"used without the required args." -msgstr "" - -#: ../NEWS:4245 -msgid "" -":gh:`123448`: Fixed memory leak of :class:`typing.NoDefault` by moving it to" -" the static types array." -msgstr "" - -#: ../NEWS:4248 -msgid "" -":gh:`123409`: Fix :attr:`ipaddress.IPv6Address.reverse_pointer` output " -"according to :rfc:`RFC 3596, §2.5 <3596#section-2.5>`. Patch by Bénédikt " -"Tran." -msgstr "" - -#: ../NEWS:4252 -msgid "" -":gh:`123089`: Make :class:`weakref.WeakSet` safe against concurrent " -"mutations while it is being iterated. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:4255 -msgid "" -":gh:`123363`: Show string value of :opcode:`CONTAINS_OP` oparg in :mod:`dis`" -" output. Patch by Alexandr153." -msgstr "" - -#: ../NEWS:4258 -msgid "" -":gh:`123341`: Add :meth:`~object.__class_getitem__` to " -":class:`!tkinter.Event` for type subscript support at runtime. Patch by " -"Adonis Rakateli." -msgstr "" - -#: ../NEWS:4262 -msgid "" -":gh:`123340`: Show string value of :opcode:`IS_OP` oparg in :mod:`dis` " -"output." -msgstr "" - -#: ../NEWS:4265 -msgid "" -":gh:`119518`: Speed up normalization of :class:`pathlib.PurePath` and " -":class:`~pathlib.Path` objects by not interning string parts." -msgstr "" - -#: ../NEWS:4268 -msgid "" -":gh:`123270`: Applied a more surgical fix for malformed payloads in " -":class:`zipfile.Path` causing infinite loops (:gh:`122905`) without breaking" -" contents using legitimate characters." -msgstr "" - -#: ../NEWS:4272 -msgid "" -":gh:`73991`: Add :meth:`pathlib.Path.copy_into` and " -":meth:`~pathlib.Path.move_into`, which copy and move files and directories " -"into *existing* directories." -msgstr "" - -#: ../NEWS:4276 -msgid "" -":gh:`123228`: Fix return type for " -":func:`!_pyrepl.readline._ReadlineWrapper.get_line_buffer` to be " -":func:`str`. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:4280 -msgid "" -":gh:`123240`: Raise audit events for the :func:`input` in the new REPL." -msgstr "" - -#: ../NEWS:4282 -msgid "" -":gh:`76960`: Fix :func:`urllib.parse.urljoin` and " -":func:`urllib.parse.urldefrag` for URIs containing empty components. For " -"example, :func:`!urljoin` with relative reference \"?\" now sets empty query" -" and removes fragment. Preserve empty components (authority, params, query, " -"fragment) in :func:`!urljoin`. Preserve empty components (authority, params," -" query) in :func:`!urldefrag`." -msgstr "" - -#: ../NEWS:4289 -msgid "" -":gh:`116810`: Resolve a memory leak introduced in CPython 3.10's :mod:`ssl` " -"when the :attr:`ssl.SSLSocket.session` property was accessed. Speeds up " -"read and write access to said property by no longer unnecessarily cloning " -"session objects via serialization." -msgstr "" - -#: ../NEWS:4294 -msgid ":gh:`123243`: Fix memory leak in :mod:`!_decimal`." -msgstr "" - -#: ../NEWS:4296 -msgid "" -":gh:`122546`: Consistently use same file name for different exceptions in " -"the new repl. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:4299 -msgid "" -":gh:`123213`: :meth:`xml.etree.ElementTree.Element.extend` and " -":class:`~xml.etree.ElementTree.Element` assignment no longer hide the " -"internal exception if an erroneous generator is passed. Patch by Bar Harel." -msgstr "" - -#: ../NEWS:4304 -msgid "" -":gh:`85110`: Preserve relative path in URL without netloc in " -":func:`urllib.parse.urlunsplit` and :func:`urllib.parse.urlunparse`." -msgstr "" - -#: ../NEWS:4307 -msgid "" -":gh:`123165`: Add support for rendering :class:`~dis.Positions` in " -":mod:`dis`." -msgstr "" - -#: ../NEWS:4310 -msgid "" -":gh:`122909`: In urllib.request when URLError is raised opening an ftp URL, " -"the exception argument is now consistently a string. Earlier versions passed" -" either a string or an ftplib exception instance as the argument to " -"URLError." -msgstr "" - -#: ../NEWS:4315 -msgid "" -":gh:`123084`: Deprecate :class:`!shutil.ExecError`, which hasn't been raised" -" by any :mod:`shutil` function since Python 3.4. It's now an alias for " -":exc:`RuntimeError`." -msgstr "" - -#: ../NEWS:4319 -msgid "" -":gh:`123085`: In a bare call to :func:`importlib.resources.files`, ensure " -"the caller's frame is properly detected when ``importlib.resources`` is " -"itself available as a compiled module only (no source)." -msgstr "" - -#: ../NEWS:4323 -msgid "" -":gh:`123067`: Fix quadratic complexity in parsing ``\"``-quoted cookie " -"values with backslashes by :mod:`http.cookies`." -msgstr "" - -#: ../NEWS:4326 -msgid "" -":gh:`123049`: Add support for :const:`~configparser.UNNAMED_SECTION` in " -":meth:`configparser.ConfigParser.add_section`." -msgstr "" - -#: ../NEWS:4329 -msgid "" -":gh:`121735`: When working with zip archives, importlib.resources now " -"properly honors module-adjacent references (e.g. ``files(pkg.mod)`` and not " -"just ``files(pkg)``)." -msgstr "" - -#: ../NEWS:4333 -msgid "" -":gh:`122981`: Fix :func:`inspect.getsource` for generated classes with " -"Python base classes (e.g. enums)." -msgstr "" - -#: ../NEWS:4336 -msgid "" -":gh:`122903`: ``zipfile.Path.glob`` now correctly matches directories " -"instead of silently omitting them." -msgstr "" - -#: ../NEWS:4339 -msgid "" -":gh:`122905`: :class:`zipfile.Path` objects now sanitize names from the " -"zipfile." -msgstr "" - -#: ../NEWS:4342 -msgid "" -":gh:`122873`: Enable :mod:`json` module to work as a script using the " -":option:`-m` switch: ``python -m json``. See the :ref:`JSON command-line " -"interface ` documentation. Patch by Trey Hunner." -msgstr "" - -#: ../NEWS:4346 -msgid "" -":gh:`122858`: Deprecate :func:`!asyncio.iscoroutinefunction` in favor of " -":func:`inspect.iscoroutinefunction`." -msgstr "" - -#: ../NEWS:4349 -msgid "" -":gh:`116263`: :class:`logging.handlers.RotatingFileHandler` no longer rolls " -"over empty log files." -msgstr "" - -#: ../NEWS:4352 -msgid "" -":gh:`105376`: Restore the deprecated :mod:`logging` ``warn()`` method. It " -"was removed in Python 3.13 alpha 1. Keep the deprecated ``warn()`` method in" -" Python 3.13. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:4356 -msgid "" -":gh:`122311`: Improve errors in the :mod:`pickle` module. " -":exc:`~pickle.PicklingError` is now raised more often instead of " -":exc:`UnicodeEncodeError`, :exc:`ValueError` and :exc:`AttributeError`, and " -"the original exception is chained to it. Improve and unify error messages in" -" Python and C implementations." -msgstr "" - -#: ../NEWS:4362 -msgid "" -":gh:`122744`: Bump the version of pip bundled in ensurepip to version 24.2." -msgstr "" - -#: ../NEWS:4364 -msgid "" -":gh:`118761`: Improve import time of :mod:`pprint` by around seven times. " -"Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:4367 -msgid "" -":gh:`118974`: Add ``decorator`` parameter to " -":func:`dataclasses.make_dataclass` to customize the functional creation of " -"dataclasses." -msgstr "" - -#: ../NEWS:4371 -msgid "" -":gh:`118814`: Fix the :class:`typing.TypeVar` constructor when name is " -"passed by keyword." -msgstr "" - -#: ../NEWS:4374 -msgid "" -":gh:`122637`: Adjust ``cmath.tanh(nanj)`` and ``cmath.tanh(infj)`` for " -"recent C standards." -msgstr "" - -#: ../NEWS:4377 -msgid "" -":gh:`122478`: Remove internal frames from tracebacks shown in " -":class:`code.InteractiveInterpreter` with non-default " -":func:`sys.excepthook`. Save correct tracebacks in " -":data:`sys.last_traceback` and update ``__traceback__`` attribute of " -":data:`sys.last_value` and :data:`sys.last_exc`." -msgstr "" - -#: ../NEWS:4383 -msgid "" -":gh:`116622`: On Android, the ``FICLONE`` and ``FICLONERANGE`` constants are" -" no longer exposed by :mod:`fcntl`, as these ioctls are blocked by SELinux." -msgstr "" - -#: ../NEWS:4386 -msgid "" -":gh:`82378`: Make sure that the new :term:`REPL` interprets " -":data:`sys.tracebacklimit` in the same way that the classic REPL did." -msgstr "" - -#: ../NEWS:4389 -msgid "" -":gh:`122334`: Fix crash when importing :mod:`ssl` after the main interpreter" -" restarts." -msgstr "" - -#: ../NEWS:4392 -msgid "" -":gh:`122459`: Optimize :mod:`pickling ` by name objects without the " -"``__module__`` attribute." -msgstr "" - -#: ../NEWS:4395 -msgid "" -":gh:`87320`: In :class:`code.InteractiveInterpreter`, handle exceptions " -"caused by calling a non-default :func:`sys.excepthook`. Before, the " -"exception bubbled up to the caller, ending the :term:`REPL`." -msgstr "" - -#: ../NEWS:4399 -msgid "" -":gh:`122272`: On some platforms such as Linux, year with century was not " -"0-padded when formatted by :meth:`~.datetime.strftime` with C99-specific " -"specifiers ``'%C'`` or ``'%F'``. The 0-padding behavior is now guaranteed " -"when the format specifiers ``'%C'`` and ``'%F'`` are supported by the C " -"library. Patch by Ben Hsing" -msgstr "" - -#: ../NEWS:4405 -msgid "" -":gh:`122400`: Handle :exc:`ValueError`\\s raised by :func:`os.stat` in " -":class:`filecmp.dircmp` and :func:`filecmp.cmpfiles`. Patch by Bénédikt " -"Tran." -msgstr "" - -#: ../NEWS:4409 -msgid ":gh:`122311`: Fix some error messages in :mod:`pickle`." -msgstr "" - -#: ../NEWS:4411 -msgid "" -":gh:`121650`: :mod:`email` headers with embedded newlines are now quoted on " -"output. The :mod:`~email.generator` will now refuse to serialize (write) " -"headers that are unsafely folded or delimited; see " -":attr:`~email.policy.Policy.verify_generated_headers`. (Contributed by Bas " -"Bloemsaat and Petr Viktorin in :gh:`121650`.)" -msgstr "" - -#: ../NEWS:4417 -msgid "" -":gh:`122332`: Fixed segfault with :meth:`asyncio.Task.get_coro` when using " -"an eager task factory." -msgstr "" - -#: ../NEWS:4420 -msgid "" -":gh:`105733`: :func:`ctypes.ARRAY` is now :term:`soft deprecated`: it no " -"longer emits deprecation warnings and is not scheduled for removal." -msgstr "" - -#: ../NEWS:4423 -msgid "" -":gh:`122213`: Add notes for pickle serialization errors that allow to " -"identify the source of the error." -msgstr "" - -#: ../NEWS:4426 -msgid "" -":gh:`119180`: As part of :pep:`749`, add the following attributes for " -"customizing evaluation of annotation scopes:" -msgstr "" - -#: ../NEWS:4429 -msgid "``evaluate_value`` on :class:`typing.TypeAliasType`" -msgstr "" - -#: ../NEWS:4430 -msgid "" -"``evaluate_bound``, ``evaluate_constraints``, and ``evaluate_default`` on " -":class:`typing.TypeVar`" -msgstr "" - -#: ../NEWS:4431 -msgid "``evaluate_default`` on :class:`typing.ParamSpec`" -msgstr "" - -#: ../NEWS:4432 -msgid "``evaluate_default`` on :class:`typing.TypeVarTuple`" -msgstr "" - -#: ../NEWS:4434 -msgid "" -":gh:`119180`: Fix handling of classes with custom metaclasses in " -"``annotationlib.get_annotations``." -msgstr "" - -#: ../NEWS:4437 -msgid "" -":gh:`122170`: Handle :exc:`ValueError`\\s raised by :func:`os.stat` in " -":mod:`linecache`. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:4440 -msgid "" -":gh:`122163`: Add notes for JSON serialization errors that allow to identify" -" the source of the error." -msgstr "" - -#: ../NEWS:4443 -msgid "" -":gh:`122129`: Improve support of method descriptors and wrappers in the help" -" title." -msgstr "" - -#: ../NEWS:4446 -msgid "" -":gh:`122145`: Fix an issue when reporting tracebacks corresponding to Python" -" code emitting an empty AST body. Patch by Nikita Sobolev and Bénédikt Tran." -msgstr "" - -#: ../NEWS:4450 -msgid "" -":gh:`121723`: Make :func:`logging.config.dictConfig` accept any object " -"implementing the Queue public API. See the :ref:`queue configuration " -"` section for details. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:4454 -msgid "" -":gh:`82951`: Serializing objects with complex ``__qualname__`` (such as " -"unbound methods and nested classes) by name no longer involves serializing " -"parent objects by value in pickle protocols < 4." -msgstr "" - -#: ../NEWS:4458 -msgid "" -":gh:`120754`: ``Pathlib.read_bytes`` no longer opens the file in Python's " -"buffered I/O mode. This reduces overheads as the code reads a file in whole " -"leading to a modest speedup." -msgstr "" - -#: ../NEWS:4462 -msgid "" -":gh:`113785`: :mod:`csv` now correctly parses numeric fields (when used with" -" :const:`csv.QUOTE_NONNUMERIC` or :const:`csv.QUOTE_STRINGS`) which start " -"with an escape character." -msgstr "" - -#: ../NEWS:4466 -msgid "" -":gh:`122088`: :func:`@warnings.deprecated ` now copies " -"the coroutine status of functions and methods so that " -":func:`inspect.iscoroutinefunction` returns the correct result." -msgstr "" - -#: ../NEWS:4470 -msgid "" -":gh:`122081`: Fix a crash in the :func:`!decimal.IEEEContext` optional " -"function available via the ``EXTRA_FUNCTIONALITY`` configuration flag." -msgstr "" - -#: ../NEWS:4473 -msgid "" -":gh:`73991`: Add :meth:`pathlib.Path.move`, which moves a file or directory " -"tree." -msgstr "" - -#: ../NEWS:4476 -msgid "" -":gh:`121268`: Remove workarounds for non-IEEE 754 systems in :mod:`cmath`." -msgstr "" - -#: ../NEWS:4478 -msgid "" -":gh:`119698`: Due to the lack of interest for " -":meth:`symtable.Class.get_methods`, the method is marked as deprecated and " -"will be removed in Python 3.16. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:4482 -msgid "" -":gh:`121889`: Adjusts ``cmath.acosh(complex('0+nanj'))`` for recent C " -"standards." -msgstr "" - -#: ../NEWS:4485 -msgid "" -":gh:`121804`: Correctly show error locations, when :exc:`SyntaxError` raised" -" in new repl. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:4488 -msgid "" -":gh:`121797`: Add alternative :class:`~fractions.Fraction` constructor " -":meth:`Fraction.from_number() `." -msgstr "" - -#: ../NEWS:4491 -msgid "" -":gh:`121798`: Add alternative :class:`~decimal.Decimal` constructor " -":meth:`Decimal.from_number() `." -msgstr "" - -#: ../NEWS:4494 -msgid "" -":gh:`120930`: Fixed a bug introduced by :gh:`92081` that added an incorrect " -"extra blank to encoded words occurring in wrapped headers." -msgstr "" - -#: ../NEWS:4497 -msgid "" -":gh:`57141`: The *shallow* argument to :class:`filecmp.dircmp` (new in " -"Python 3.13) is now keyword-only." -msgstr "" - -#: ../NEWS:4500 -msgid "" -":gh:`121245`: Simplify handling of the history file in " -"``site.register_readline()`` helper. The ``CAN_USE_PYREPL`` variable now " -"will be initialized, when imported. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:4504 -msgid "" -":gh:`121249`: Support the :c:expr:`float complex` and :c:expr:`double " -"complex` C types in the :mod:`struct` module if the compiler has C11 complex" -" arithmetic. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:4508 -msgid "" -":gh:`121486`: :mod:`math` functions :func:`~math.isqrt`, :func:`~math.log`, " -":func:`~math.log2` and :func:`~math.log10` now support integers larger than " -"``2**2**32`` on 32-bit platforms." -msgstr "" - -#: ../NEWS:4512 -msgid "" -":gh:`121474`: Fix missing sanity check for ``parties`` arg in " -":class:`threading.Barrier` constructor. Patch by Clinton Christian (pygeek)." -msgstr "" - -#: ../NEWS:4516 -msgid "" -":gh:`121450`: Hard-coded breakpoints (:func:`breakpoint` and " -":func:`pdb.set_trace`) now reuse the most recent ``Pdb`` instance that calls" -" ``Pdb.set_trace()``, instead of creating a new one each time. As a result, " -"all the instance specific data like ``display`` and ``commands`` are " -"preserved across Hard-coded breakpoints." -msgstr "" - -#: ../NEWS:4522 -msgid "" -":gh:`119169`: Slightly speed up :func:`os.walk` by simplifying exception " -"handling." -msgstr "" - -#: ../NEWS:4525 -msgid "" -":gh:`121423`: Improve import time of :mod:`socket` by lazy importing modules" -" and writing :data:`!socket.errorTab` as a constant." -msgstr "" - -#: ../NEWS:4528 -msgid "" -":gh:`59110`: :mod:`zipimport` supports now namespace packages when no " -"directory entry exists." -msgstr "" - -#: ../NEWS:4531 -msgid "" -":gh:`119004`: Fix a crash in :ref:`OrderedDict.__eq__ " -"` when operands are mutated during the check." -" Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:4535 -msgid "" -":gh:`121313`: Limit the reading size in the " -":class:`multiprocessing.connection.Connection` class to 64 KiB to prevent " -"memory overallocation and unnecessary memory management system calls." -msgstr "" - -#: ../NEWS:4539 -msgid "" -":gh:`121332`: Fix constructor of :mod:`ast` nodes with custom " -"``_attributes``. Previously, passing custom attributes would raise a " -":py:exc:`DeprecationWarning`. Passing arguments to the constructor that are " -"not in ``_fields`` or ``_attributes`` remains deprecated. Patch by Jelle " -"Zijlstra." -msgstr "" - -#: ../NEWS:4545 -msgid "" -":gh:`121245`: Fix a bug in the handling of the command history of the new " -":term:`REPL` that caused the history file to be wiped at REPL exit." -msgstr "" - -#: ../NEWS:4548 -msgid "" -":gh:`121210`: Handle AST nodes with missing runtime fields or attributes in " -":func:`ast.compare`. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:4551 -msgid "" -":gh:`121163`: Add support for ``all`` as an valid ``action`` for " -":func:`warnings.simplefilter` and :func:`warnings.filterwarnings`." -msgstr "" - -#: ../NEWS:4554 -msgid "" -":gh:`121151`: Fix wrapping of long usage text of arguments inside a mutually" -" exclusive group in :mod:`argparse`." -msgstr "" - -#: ../NEWS:4557 -msgid "" -":gh:`121141`: Add support for :func:`copy.replace` to AST nodes. Patch by " -"Bénédikt Tran." -msgstr "" - -#: ../NEWS:4560 -msgid "" -":gh:`87744`: Fix waitpid race while calling " -":meth:`~asyncio.subprocess.Process.send_signal` in asyncio. Patch by Kumar " -"Aditya." -msgstr "" - -#: ../NEWS:4564 -msgid "" -":gh:`121027`: Add a future warning in :meth:`!functools.partial.__get__`. In" -" future Python versions :class:`functools.partial` will be a method " -"descriptor." -msgstr "" - -#: ../NEWS:4568 -msgid "" -":gh:`121027`: Make the :class:`functools.partial` object a method " -"descriptor." -msgstr "" - -#: ../NEWS:4570 -msgid "" -":gh:`117784`: CPython now detects whether its linked TLS library supports " -"TLSv1.3 post-handshake authentication and disables that feature if support " -"is lacking." -msgstr "" - -#: ../NEWS:4574 -msgid "" -":gh:`121025`: Improve the :meth:`~object.__repr__` of " -":class:`functools.partialmethod`. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:4577 -msgid "" -":gh:`121018`: Fixed issues where :meth:`!argparse.ArgumentParser.parse_args`" -" did not honor ``exit_on_error=False``. Based on patch by Ben Hsing." -msgstr "" - -#: ../NEWS:4580 -msgid "" -":gh:`119614`: Fix truncation of strings with embedded null characters in " -"some internal operations in :mod:`tkinter`." -msgstr "" - -#: ../NEWS:4583 -msgid "" -":gh:`120910`: When reading installed files from an egg, use " -"``relative_to(walk_up=True)`` to honor files installed outside of the " -"installation root." -msgstr "" - -#: ../NEWS:4587 -msgid "" -":gh:`61103`: Support :c:expr:`float complex`, :c:expr:`double complex` and " -":c:expr:`long double complex` C types in :mod:`ctypes` as " -":class:`~ctypes.c_float_complex`, :class:`~ctypes.c_double_complex` and " -":class:`~ctypes.c_longdouble_complex` if the compiler has C11 complex " -"arithmetic. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:4593 -msgid ":gh:`120888`: Upgrade pip wheel bundled with ensurepip (pip 24.1.1)" -msgstr "" - -#: ../NEWS:4595 -msgid "" -":gh:`101830`: Accessing the :mod:`tkinter` object's string representation no" -" longer converts the underlying Tcl object to a string on Windows." -msgstr "" - -#: ../NEWS:4598 -msgid "" -":gh:`120678`: Fix regression in the new REPL that meant that globals from " -"files passed using the ``-i`` argument would not be included in the REPL's " -"global namespace. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:4602 -msgid "" -":gh:`120811`: Fix possible memory leak in :meth:`contextvars.Context.run`." -msgstr "" - -#: ../NEWS:4604 -msgid "" -":gh:`120782`: Fix wrong references of the :mod:`datetime` types after " -"reloading the module." -msgstr "" - -#: ../NEWS:4607 -msgid "" -":gh:`120713`: :meth:`datetime.datetime.strftime` now 0-pads years with less " -"than four digits for the format specifiers ``%Y`` and ``%G`` on Linux. Patch" -" by Ben Hsing" -msgstr "" - -#: ../NEWS:4611 -msgid "" -":gh:`120769`: Make empty line in :mod:`pdb` repeats the last command even " -"when the command is from ``cmdqueue``." -msgstr "" - -#: ../NEWS:4614 -msgid "" -":gh:`120780`: Show string value of LOAD_SPECIAL oparg in :mod:`dis` output." -msgstr "" - -#: ../NEWS:4616 -msgid "" -":gh:`41431`: Add :meth:`datetime.time.strptime` and " -":meth:`datetime.date.strptime`. Contributed by Wannes Boeykens." -msgstr "" - -#: ../NEWS:4619 -msgid "" -":gh:`120743`: :term:`Soft deprecate ` :func:`os.popen` and " -":func:`os.spawn* ` functions. They should no longer be used to " -"write new code. The :mod:`subprocess` module is recommended instead. Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:4624 -msgid "" -":gh:`120732`: Fix ``name`` passing to :class:`unittest.mock.Mock` object " -"when using :func:`unittest.mock.create_autospec`." -msgstr "" - -#: ../NEWS:4627 -msgid "" -":gh:`111259`: :mod:`re` now handles patterns like ``\"[\\s\\S]\"`` or " -"``\"\\s|\\S\"`` which match any character as effectively as a dot with the " -"``DOTALL`` modifier (``\"(?s:.)\"``)." -msgstr "" - -#: ../NEWS:4631 -msgid "" -":gh:`120683`: Fix an error in :class:`logging.LogRecord`, when the integer " -"part of the timestamp is rounded up, while the millisecond calculation " -"truncates, causing the log timestamp to be wrong by up to 999 ms (affected " -"roughly 1 in 8 million timestamps)." -msgstr "" - -#: ../NEWS:4636 -msgid "" -":gh:`118710`: :class:`ipaddress.IPv4Address` and " -":class:`ipaddress.IPv6Address` attributes ``version`` and ``max_prefixlen`` " -"are now available on the class." -msgstr "" - -#: ../NEWS:4640 -msgid ":gh:`120633`: Move scrollbar and remove tear-off menus in turtledemo." -msgstr "" - -#: ../NEWS:4642 -msgid "" -":gh:`120606`: Allow users to use EOF to exit ``commands`` definition in " -":mod:`pdb`" -msgstr "" - -#: ../NEWS:4645 -msgid "" -":gh:`120284`: Allow :meth:`asyncio.Runner.run` to accept :term:`awaitable` " -"objects instead of simply :term:`coroutine`\\s." -msgstr "" - -#: ../NEWS:4648 -msgid "" -":gh:`120541`: Improve the prompt in the \"less\" pager when :func:`help` is " -"called with non-string argument." -msgstr "" - -#: ../NEWS:4651 -msgid "" -":gh:`120495`: Fix incorrect exception handling in Tab Nanny. Patch by " -"Wulian233." -msgstr "" - -#: ../NEWS:4654 -msgid "" -":gh:`120388`: Improve a warning message when a test method in " -":mod:`unittest` returns something other than ``None``. Now we show the " -"returned object type and optional asyncio-related tip." -msgstr "" - -#: ../NEWS:4658 -msgid "" -":gh:`120381`: Correct :func:`inspect.ismethoddescriptor` to check also for " -"the lack of :meth:`~object.__delete__`. Patch by Jan Kaliszewski." -msgstr "" - -#: ../NEWS:4661 -msgid "" -":gh:`90425`: The OS byte in gzip headers is now always set to 255 when using" -" :func:`gzip.compress`." -msgstr "" - -#: ../NEWS:4664 -msgid "" -":gh:`120343`: Fix column offset reporting for tokens that come after " -"multiline f-strings in the :mod:`tokenize` module." -msgstr "" - -#: ../NEWS:4667 -msgid "" -":gh:`119180`: As part of implementing :pep:`649` and :pep:`749`, add a new " -"module ``annotationlib``. Add support for unresolved forward references in " -"annotations to :mod:`dataclasses`, :class:`typing.TypedDict`, and " -":class:`typing.NamedTuple`." -msgstr "" - -#: ../NEWS:4672 -msgid "" -":gh:`119600`: Fix :func:`unittest.mock.patch` to not read attributes of the " -"target when ``new_callable`` is set. Patch by Robert Collins." -msgstr "" - -#: ../NEWS:4675 -msgid "" -":gh:`120289`: Fixed the use-after-free issue in :mod:`cProfile` by " -"disallowing ``disable()`` and ``clear()`` in external timers." -msgstr "" - -#: ../NEWS:4678 -msgid "" -":gh:`82017`: Added support for converting any objects that have the " -":meth:`!as_integer_ratio` method to a :class:`~fractions.Fraction`." -msgstr "" - -#: ../NEWS:4681 -msgid "" -":gh:`114053`: Fix edge-case bug where :func:`typing.get_type_hints` would " -"produce incorrect results if type parameters in a class scope were " -"overridden by assignments in a class scope and ``from __future__ import " -"annotations`` semantics were enabled. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:4686 -msgid "" -":gh:`114053`: Fix erroneous :exc:`NameError` when calling " -":func:`inspect.get_annotations` with ``eval_str=True``` on a class that made" -" use of :pep:`695` type parameters in a module that had ``from __future__ " -"import annotations`` at the top of the file. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:4692 -msgid "" -":gh:`120268`: Prohibit passing ``None`` to pure-Python " -":meth:`datetime.date.fromtimestamp` to achieve consistency with C-extension " -"implementation." -msgstr "" - -#: ../NEWS:4696 -msgid "" -":gh:`120244`: Fix memory leak in :func:`re.sub` when the replacement string " -"contains backreferences." -msgstr "" - -#: ../NEWS:4699 -msgid "" -":gh:`120254`: Added ``commands`` argument to :func:`pdb.set_trace` which " -"allows users to send debugger commands from the source file." -msgstr "" - -#: ../NEWS:4702 -msgid ":gh:`120211`: Fix :mod:`tkinter.ttk` with Tcl/Tk 9.0." -msgstr "" - -#: ../NEWS:4704 -msgid "" -":gh:`71587`: Fix crash in C version of :meth:`datetime.datetime.strptime` " -"when called again on the restarted interpreter." -msgstr "" - -#: ../NEWS:4707 -msgid "" -":gh:`117983`: Defer the ``threading`` import in ``importlib.util`` until " -"lazy loading is used." -msgstr "" - -#: ../NEWS:4710 -msgid "" -":gh:`120157`: Remove unused constant " -"``concurrent.futures._base._FUTURE_STATES`` in :mod:`concurrent.futures`. " -"Patch by Clinton Christian (pygeek)." -msgstr "" - -#: ../NEWS:4714 -msgid "" -":gh:`120161`: :mod:`datetime` no longer crashes in certain complex reference" -" cycle situations." -msgstr "" - -#: ../NEWS:4717 -msgid "" -":gh:`119698`: Fix :meth:`symtable.Class.get_methods` and document its " -"behaviour. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:4720 -msgid "" -":gh:`120121`: Add :exc:`concurrent.futures.InvalidStateError` to module's " -"``__all__``." -msgstr "" - -#: ../NEWS:4723 -msgid "" -":gh:`119933`: Add the :class:`symtable.SymbolTableType` enumeration to " -"represent the possible outputs of the :class:`symtable.SymbolTable.get_type`" -" method. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:4727 -msgid "" -":gh:`120029`: Expose :class:`symtable.Symbol` methods " -":meth:`~symtable.Symbol.is_free_class`, " -":meth:`~symtable.Symbol.is_comp_iter` and " -":meth:`~symtable.Symbol.is_comp_cell`. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:4732 -msgid "" -":gh:`120108`: Fix calling :func:`copy.deepcopy` on :mod:`ast` trees that " -"have been modified to have references to parent nodes. Patch by Jelle " -"Zijlstra." -msgstr "" - -#: ../NEWS:4735 -msgid "" -":gh:`120056`: Add :data:`!socket.IP_RECVERR` and :data:`!socket.IP_RECVTTL` " -"constants (both available since Linux 2.2). And " -":data:`!socket.IP_RECVORIGDSTADDR` constant (available since Linux 2.6.29)." -msgstr "" - -#: ../NEWS:4740 -msgid ":gh:`112672`: Support building :mod:`tkinter` with Tcl 9.0." -msgstr "" - -#: ../NEWS:4742 -msgid "" -":gh:`120057`: Added the :data:`os.environ.refresh() ` method to " -"update :data:`os.environ` with changes to the environment made by " -":func:`os.putenv`, by :func:`os.unsetenv`, or made outside Python in the " -"same process. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:4747 -msgid "" -":gh:`120029`: Expose :meth:`symtable.Symbol.is_type_parameter` in the " -":mod:`symtable` module. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:4750 -msgid "" -":gh:`119819`: Fix regression to allow logging configuration with " -"multiprocessing queue types." -msgstr "" - -#: ../NEWS:4753 -msgid "" -":gh:`65454`: :func:`unittest.mock.Mock.attach_mock` no longer triggers a " -"call to a ``PropertyMock`` being attached." -msgstr "" - -#: ../NEWS:4756 -msgid "" -":gh:`117142`: The :mod:`ctypes` module may now be imported in all " -"subinterpreters, including those that have their own GIL." -msgstr "" - -#: ../NEWS:4759 -msgid "" -":gh:`118835`: Fix _pyrepl crash when using custom prompt with ANSI escape " -"codes." -msgstr "" - -#: ../NEWS:4762 -msgid "" -":gh:`81936`: :meth:`!help` and :meth:`!showtopic` methods now respect a " -"configured *output* argument to :class:`!pydoc.Helper` and not use the pager" -" in such cases. Patch by Enrico Tröger." -msgstr "" - -#: ../NEWS:4766 -msgid "" -":gh:`117398`: The ``_datetime`` module (C implementation for " -":mod:`datetime`) now supports being imported in multiple interpreters." -msgstr "" - -#: ../NEWS:4769 -msgid "" -":gh:`119824`: Print stack entry in :mod:`pdb` when and only when user input " -"is needed." -msgstr "" - -#: ../NEWS:4772 -msgid "" -":gh:`119838`: In mixed arithmetic operations with " -":class:`~fractions.Fraction` and complex, the fraction is now converted to " -":class:`float` instead of :class:`complex`." -msgstr "" - -#: ../NEWS:4776 -msgid "" -":gh:`119770`: Make :mod:`termios` ``ioctl()`` constants positive. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:4779 -msgid "" -":gh:`89727`: Fix issue with :func:`shutil.rmtree` where a " -":exc:`RecursionError` is raised on deep directory trees." -msgstr "" - -#: ../NEWS:4782 -msgid "" -":gh:`119577`: The :exc:`DeprecationWarning` emitted when testing the truth " -"value of an :class:`xml.etree.ElementTree.Element` now describes " -"unconditionally returning ``True`` in a future version rather than raising " -"an exception in Python 3.14." -msgstr "" - -#: ../NEWS:4787 -msgid "" -":gh:`89727`: Partially fix issue with :func:`shutil.rmtree` where a " -":exc:`RecursionError` is raised on deep directory trees. A recursion error " -"is no longer raised when :data:`!rmtree.avoids_symlink_attacks` is false." -msgstr "" - -#: ../NEWS:4791 -msgid "" -":gh:`93963`: Remove deprecated names from ``importlib.abc`` as found in " -"``importlib.resources.abc``." -msgstr "" - -#: ../NEWS:4794 -msgid "" -":gh:`119118`: Fix performance regression in the :mod:`tokenize` module by " -"caching the ``line`` token attribute and calculating the column offset more " -"efficiently." -msgstr "" - -#: ../NEWS:4798 -msgid "" -":gh:`89727`: Fix issue with :func:`os.fwalk` where a :exc:`RecursionError` " -"was raised on deep directory trees by adjusting the implementation to be " -"iterative instead of recursive." -msgstr "" - -#: ../NEWS:4802 -msgid "" -":gh:`119594`: If one calls pow(fractions.Fraction, x, module) with modulo " -"not None, the error message now says that the types are incompatible rather " -"than saying pow only takes 2 arguments. Patch by Wim Jeantine-Glenn and Mark" -" Dickinson." -msgstr "" - -#: ../NEWS:4807 -msgid "" -":gh:`119588`: ``zipfile.Path.is_symlink`` now assesses if the given path is " -"a symlink." -msgstr "" - -#: ../NEWS:4810 -msgid "" -":gh:`119562`: Remove :class:`!ast.Num`, :class:`!ast.Str`, " -":class:`!ast.Bytes`, :class:`!ast.NameConstant` and :class:`!ast.Ellipsis`. " -"They had all emitted deprecation warnings since Python 3.12. Patch by Alex " -"Waygood." -msgstr "" - -#: ../NEWS:4815 -msgid "" -":gh:`119555`: Catch :exc:`SyntaxError` from :func:`compile` in the " -"runsource() method of the InteractiveColoredConsole. Patch by Sergey B " -"Kirpichev." -msgstr "" - -#: ../NEWS:4819 -msgid "" -":gh:`118908`: Limit exposed globals from internal imports and definitions on" -" new REPL startup. Patch by Eugene Triguba and Pablo Galindo." -msgstr "" - -#: ../NEWS:4822 -msgid "" -":gh:`117865`: Improve the import time of the :mod:`ast` module by deferring " -"the import of :mod:`re`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:4825 -msgid "" -":gh:`119127`: Positional arguments of :func:`functools.partial` objects now " -"support placeholders via :data:`functools.Placeholder`." -msgstr "" - -#: ../NEWS:4828 -msgid "" -":gh:`113892`: Now, the method ``sock_connect`` of " -":class:`asyncio.ProactorEventLoop` raises a :exc:`ValueError` if given " -"socket is not in non-blocking mode, as well as in other loop " -"implementations." -msgstr "" - -#: ../NEWS:4833 -msgid "" -":gh:`119506`: Fix :meth:`!io.TextIOWrapper.write` method breaks internal " -"buffer when the method is called again during flushing internal buffer." -msgstr "" - -#: ../NEWS:4836 -msgid "" -":gh:`69214`: Fix ``fcntl.ioctl()`` *request* parameter: use an ``unsigned " -"long`` instead of an ``unsigned int`` for the *request* parameter of " -":func:`fcntl.ioctl` to support requests larger than ``UINT_MAX``. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:4841 -msgid "" -":gh:`119105`: ``difflib``'s ``DIffer.compare()`` (and so also ``ndiff``) can" -" no longer be provoked into cubic-time behavior, or into unbounded " -"recursion, and should generally be faster in ordinary cases too. Results may" -" change in some cases, although that should be rare. Correctness of diffs is" -" not affected. Some similar lines far apart may be reported as deleting one " -"and adding the other, where before they were displayed on adjacent output " -"lines with markup showing the intraline differences." -msgstr "" - -#: ../NEWS:4849 -msgid "" -":gh:`119443`: The interactive REPL no longer runs with ``from __future__ " -"import annotations`` enabled. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:4852 -msgid "" -":gh:`119461`: Add ``socket.VMADDR_CID_LOCAL`` constant. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:4855 -msgid "" -":gh:`117398`: Objects in the datetime C-API are now all statically " -"allocated, which means better memory safety, especially when the module is " -"reloaded. This should be transparent to users." -msgstr "" - -#: ../NEWS:4859 -msgid "" -":gh:`118894`: :mod:`asyncio` REPL now has the same capabilities as PyREPL." -msgstr "" - -#: ../NEWS:4861 -msgid ":gh:`118830`: Bump :mod:`pickle` default protocol to ``5``." -msgstr "" - -#: ../NEWS:4863 -msgid "" -":gh:`118911`: In PyREPL, updated ``maybe-accept``'s logic so that if the " -"user hits :kbd:`Enter` twice, they are able to terminate the block even if " -"there's trailing whitespace. Also, now when the user hits arrow up, the " -"cursor is on the last functional line. This matches IPython's behavior. " -"Patch by Aya Elsayed." -msgstr "" - -#: ../NEWS:4869 -msgid "" -":gh:`115225`: Raise error on certain technically valid but pathological ISO " -"8601 strings passed to :meth:`datetime.time.fromisoformat` that were " -"previously parsed incorrectly." -msgstr "" - -#: ../NEWS:4873 -msgid "" -":gh:`111201`: Remove dependency to :mod:`readline` from the new Python REPL." -msgstr "" - -#: ../NEWS:4875 -msgid "" -":gh:`119189`: When using the ``**`` operator or :func:`pow` with " -":class:`~fractions.Fraction` as the base and an exponent that is not " -"rational, a float, or a complex, the fraction is no longer converted to a " -"float." -msgstr "" - -#: ../NEWS:4880 -msgid "" -":gh:`119174`: Fix high DPI causes turtledemo(turtle-graphics examples) " -"windows blurry Patch by Wulian233 and Terry Jan Reedy" -msgstr "" - -#: ../NEWS:4883 -msgid "" -":gh:`119121`: Fix a NameError happening in " -"``asyncio.staggered.staggered_race``. This function is now tested." -msgstr "" - -#: ../NEWS:4886 -msgid "" -":gh:`119105`: ``difflib.Differ`` is much faster for some cases of diffs " -"where many pairs of lines are equally similar." -msgstr "" - -#: ../NEWS:4889 -msgid "" -":gh:`119113`: Fix issue where :meth:`pathlib.PurePath.with_suffix` didn't " -"raise :exc:`TypeError` when given ``None`` as a suffix." -msgstr "" - -#: ../NEWS:4892 -msgid "" -":gh:`118643`: Fix an AttributeError in the :mod:`email` module when re-fold " -"a long address list. Also fix more cases of incorrect encoding of the " -"address separator in the address list." -msgstr "" - -#: ../NEWS:4896 -msgid "" -":gh:`73991`: Add :meth:`pathlib.Path.copy`, which copies a file or directory" -" to another." -msgstr "" - -#: ../NEWS:4899 -msgid "" -":gh:`58933`: Make :mod:`pdb` return to caller frame correctly when " -"``f_trace`` of the caller frame is not set" -msgstr "" - -#: ../NEWS:4902 -msgid "" -":gh:`82805`: Support single-dot file extensions in " -":attr:`pathlib.PurePath.suffix` and related attributes and methods. For " -"example, the :attr:`~pathlib.PurePath.suffixes` of ``PurePath('foo.bar.')`` " -"are now ``['.bar', '.']`` rather than ``[]``. This brings file extension " -"splitting in line with :func:`os.path.splitext`." -msgstr "" - -#: ../NEWS:4909 -msgid "" -":gh:`118924`: Remove :data:`!version` and :data:`!version_info` from " -":mod:`sqlite3`. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:4912 -msgid "" -":gh:`118928`: Disallow using a sequence of parameters with named " -"placeholders in :mod:`sqlite3` queries. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:4915 -msgid "" -":gh:`118895`: Setting attributes on :data:`typing.NoDefault` now raises " -":exc:`AttributeError` instead of :exc:`TypeError`." -msgstr "" - -#: ../NEWS:4918 -msgid "" -":gh:`118868`: Fixed issue where kwargs were no longer passed to the logging " -"handler QueueHandler" -msgstr "" - -#: ../NEWS:4921 -msgid "" -":gh:`118827`: Remove deprecated :class:`!Quoter` class from " -":mod:`urllib.parse`. It had previously raised a :exc:`DeprecationWarning` " -"since Python 3.11. Patch by Nikita Sobolev." -msgstr "" - -#: ../NEWS:4925 -msgid "" -":gh:`118824`: Remove deprecated :func:`!pty.master_open` and " -":func:`!pty.slave_open`. Use :func:`pty.openpty` instead. Patch by Nikita " -"Sobolev." -msgstr "" - -#: ../NEWS:4929 -msgid "" -":gh:`118851`: ``ctx`` arguments to the constructors of :mod:`ast` node " -"classes now default to :class:`ast.Load() `. Patch by Jelle " -"Zijlstra." -msgstr "" - -#: ../NEWS:4933 -msgid "" -":gh:`101588`: Remove copy, deepcopy, and pickle from itertools. These had " -"previously raised a DeprecationWarning since Python 3.12." -msgstr "" - -#: ../NEWS:4936 -msgid "" -":gh:`118805`: Remove *type*, *choices*, and *metavar* parameters of " -":class:`!argparse.BooleanOptionalAction`. They were deprecated since Python " -"3.12." -msgstr "" - -#: ../NEWS:4940 -msgid "" -":gh:`118803`: :class:`!typing.ByteString` and " -":class:`!collections.abc.ByteString` are removed. They had previously raised" -" a :exc:`DeprecationWarning` since Python 3.12." -msgstr "" - -#: ../NEWS:4944 -msgid "" -":gh:`118798`: The *isdst* parameter has been removed from " -":func:`email.utils.localtime`. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:4947 -msgid "" -":gh:`118760`: Restore the default value of ``tkiter.wantobjects`` to ``1``." -msgstr "" - -#: ../NEWS:4949 -msgid ":gh:`118760`: Fix errors in calling Tkinter bindings on Windows." -msgstr "" - -#: ../NEWS:4951 -msgid "" -":gh:`74033`: Drop support for passing keyword arguments to " -":class:`pathlib.Path`." -msgstr "" - -#: ../NEWS:4954 -msgid "" -":gh:`101357`: Suppress all :exc:`OSError` exceptions from " -":meth:`pathlib.Path.exists` and ``is_*()`` methods, rather than a selection " -"of more common errors. The new behaviour is consistent with " -":func:`os.path.exists`, :func:`os.path.isdir`, etc. Use " -":meth:`pathlib.Path.stat` to retrieve the file status without suppressing " -"exceptions." -msgstr "" - -#: ../NEWS:4961 -msgid "" -":gh:`78707`: Drop support for passing additional positional arguments to " -":meth:`pathlib.PurePath.relative_to` and " -":meth:`~pathlib.PurePath.is_relative_to`." -msgstr "" - -#: ../NEWS:4965 -msgid "" -":gh:`118507`: Fix :func:`os.path.isfile` on Windows for pipes. Speedup " -":func:`os.path.isjunction` and :func:`os.path.lexists` on Windows with a " -"native implementation." -msgstr "" - -#: ../NEWS:4969 -msgid "" -":gh:`118772`: Allow :class:`typing.TypeVar` instances without a default to " -"follow instances without a default in some cases. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:4972 -msgid "" -":gh:`118714`: Allow ``restart`` in post-mortem debugging of :mod:`pdb`. " -"Removed restart message when the user quits pdb from post-mortem mode." -msgstr "" - -#: ../NEWS:4975 -msgid ":gh:`118673`: Removed executable bits and shebang from stdlib modules." -msgstr "" - -#: ../NEWS:4977 -msgid "" -":gh:`110863`: :func:`os.path.realpath` now suppresses any :exc:`OSError` " -"from :func:`os.readlink` when *strict* mode is disabled (the default)." -msgstr "" - -#: ../NEWS:4980 -msgid "" -":gh:`118263`: Speed up :func:`os.path.splitroot` & :func:`os.path.normpath` " -"with a direct C call." -msgstr "" - -#: ../NEWS:4983 -msgid "" -":gh:`110190`: Fix ctypes structs with array on SPARC by setting " -"``MAX_STRUCT_SIZE`` to 32 in stgdict. Patch by Jakub Kulik" -msgstr "" - -#: ../NEWS:4986 -msgid "" -":gh:`118033`: Fix :func:`dataclasses.dataclass` not creating a " -"``__weakref__`` slot when subclassing :class:`typing.Generic`." -msgstr "" - -#: ../NEWS:4989 -msgid "" -":gh:`117766`: Always use :func:`str` to print ``choices`` in " -":mod:`argparse`." -msgstr "" - -#: ../NEWS:4991 -msgid "" -":gh:`106531`: In :mod:`importlib.resources`, sync with `importlib_resources " -"6.3.2 `_, including: " -"``MultiplexedPath`` now expects ``Traversable`` paths, deprecating string " -"arguments to ``MultiplexedPath``; Enabled support for resources in namespace" -" packages in zip files; Fixed ``NotADirectoryError`` when calling files on a" -" subdirectory of a namespace package." -msgstr "" - -#: ../NEWS:4999 -msgid "" -":gh:`115937`: Removed extra preprocessing for the ``__signature__`` " -"attribute: the code just check if it's a :class:`inspect.Signature` " -"instance. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:5003 -msgid "" -":gh:`115808`: Add :func:`operator.is_none` and :func:`operator.is_not_none` " -"functions." -msgstr "" - -#: ../NEWS:5006 -msgid "" -":gh:`114264`: Improve performance of :func:`copy.deepcopy` by adding a fast " -"path for atomic types." -msgstr "" - -#: ../NEWS:5009 -msgid "" -":gh:`113878`: Add *doc* parameter to :func:`dataclasses.field`, so it can be" -" stored and shown as a documentation / metadata. If " -"``@dataclass(slots=True)`` is used, then the supplied string is available in" -" the :attr:`~object.__slots__` dict. Otherwise, the supplied string is only " -"available in the corresponding :class:`dataclasses.Field` object." -msgstr "" - -#: ../NEWS:5015 -msgid "" -"In order to support this feature we are changing the ``__slots__`` format in" -" dataclasses from :class:`tuple` to :class:`dict` when documentation / " -"metadata is present." -msgstr "" - -#: ../NEWS:5019 -msgid ":gh:`113978`: Ignore warnings on text completion inside REPL." -msgstr "" - -#: ../NEWS:5021 -msgid "" -":gh:`113008`: Correct argparse usage output for required, mutually exclusive" -" groups containing a positional argument" -msgstr "" - -#: ../NEWS:5024 -msgid "" -":gh:`108172`: ``webbrowser`` honors OS preferred browser on Linux when its " -"desktop entry name contains the text of a known browser name." -msgstr "" - -#: ../NEWS:5027 ../NEWS:10583 -msgid "" -":gh:`109109`: You can now get the raw TLS certificate chains from TLS " -"connections via :meth:`ssl.SSLSocket.get_verified_chain` and " -":meth:`ssl.SSLSocket.get_unverified_chain` methods." -msgstr "" - -#: ../NEWS:5031 ../NEWS:10587 -msgid "Contributed by Mateusz Nowak." -msgstr "" - -#: ../NEWS:5033 -msgid "" -":gh:`105623`: Fix performance degradation in " -":class:`logging.handlers.RotatingFileHandler`. Patch by Craig Robson." -msgstr "" - -#: ../NEWS:5036 -msgid "" -":gh:`102450`: Add missing ISO-8601 24:00 alternative to midnight of next day" -" to :meth:`datetime.datetime.fromisoformat` and " -":meth:`datetime.time.fromisoformat`. Patch by Izan \"TizzySaurus\" Robinson " -"(tizzysaurus@gmail.com)" -msgstr "" - -#: ../NEWS:5041 -msgid "" -":gh:`103956`: Fix lack of newline characters in :mod:`trace` module output " -"when line tracing is enabled but source code line for current frame is not " -"available." -msgstr "" - -#: ../NEWS:5045 -msgid "" -":gh:`92081`: Fix missing spaces in email headers when the spaces are mixed " -"with encoded 8-bit characters." -msgstr "" - -#: ../NEWS:5048 -msgid "" -":gh:`103194`: Prepare Tkinter for C API changes in Tcl 8.7/9.0 to avoid " -":class:`!_tkinter.Tcl_Obj` being unexpectedly returned instead of " -":class:`bool`, :class:`str`, :class:`bytearray`, or :class:`int`." -msgstr "" - -#: ../NEWS:5052 -msgid "" -":gh:`87106`: Fixed handling in :meth:`inspect.Signature.bind` of keyword " -"arguments having the same name as positional-only arguments when a variadic " -"keyword argument (e.g. ``**kwargs``) is present." -msgstr "" - -#: ../NEWS:5056 -msgid "" -":gh:`103134`: Add additional methods to :ref:`proxy objects " -"` in the :mod:`!multiprocessing` module:" -msgstr "" - -#: ../NEWS:5059 -msgid ":meth:`!clear` and :meth:`!copy` for proxies of :class:`list`" -msgstr "" - -#: ../NEWS:5060 -msgid "" -":meth:`~dict.fromkeys`, ``reversed(d)``, ``d | {}``, ``{} | d``, ``d |= " -"{'b': 2}`` for proxies of :class:`dict`" -msgstr "" - -#: ../NEWS:5063 -msgid "" -":issue:`45767`: Fix integer conversion in :func:`os.major`, " -":func:`os.minor`, and :func:`os.makedev`. Support device numbers larger than" -" ``2**63-1``. Support non-existent device number (``NODEV``)." -msgstr "" - -#: ../NEWS:5067 -msgid "" -":issue:`44864`: Do not translate user-provided strings in " -":class:`argparse.ArgumentParser`." -msgstr "" - -#: ../NEWS:5070 -msgid "" -":issue:`41843`: Solaris now uses :func:`os.sendfile` fast-copy syscall for " -"more efficient :mod:`shutil` file copy related functions." -msgstr "" - -#: ../NEWS:5073 -msgid "" -":issue:`15987`: Implemented :func:`ast.compare` for comparing two ASTs. " -"Patch by Batuhan Taskaya with some help from Jeremy Hylton." -msgstr "" - -#: ../NEWS:5076 -msgid "" -":gh:`67693`: Fix :func:`urllib.parse.urlunparse` and " -":func:`urllib.parse.urlunsplit` for URIs with path starting with multiple " -"slashes and no authority. Based on patch by Ashwin Ramaswami." -msgstr "" - -#: ../NEWS:5080 -msgid "" -":issue:`14074`: Fix :mod:`argparse` metavar processing to allow positional " -"arguments to have a tuple metavar." -msgstr "" - -#: ../NEWS:5086 -msgid "" -":gh:`122392`: Increase currently inadequate vertical spacing for the IDLE " -"browsers (path, module, and stack) on high-resolution monitors." -msgstr "" - -#: ../NEWS:5089 -msgid "" -":gh:`112938`: Fix uninteruptable hang when Shell gets rapid continuous " -"output." -msgstr "" - -#: ../NEWS:5092 -msgid "" -":gh:`122482`: Change About IDLE to direct users to discuss.python.org " -"instead of the now unused idle-dev email and mailing list." -msgstr "" - -#: ../NEWS:5095 -msgid "" -":gh:`78889`: Stop Shell freezes by blocking user access to non-method " -"sys.stdout.shell attributes, which are all private." -msgstr "" - -#: ../NEWS:5098 -msgid "" -":gh:`120083`: Add explicit black IDLE Hovertip foreground color needed for " -"recent macOS. Fixes Sonoma showing unreadable white on pale yellow. Patch " -"by John Riggles." -msgstr "" - -#: ../NEWS:5102 -msgid ":gh:`120104`: Fix padding in config and search dialog windows in IDLE." -msgstr "" - -#: ../NEWS:5107 -msgid "" -":gh:`124872`: Added definitions for :term:`context`, :term:`current " -"context`, and :term:`context management protocol`, updated related " -"definitions to be consistent, and expanded the documentation for " -":class:`contextvars.Context`." -msgstr "" - -#: ../NEWS:5112 -msgid "" -":gh:`125018`: The :mod:`importlib.metadata` documentation now includes " -"semantic cross-reference targets for the significant documented APIs. This " -"means intersphinx references like :func:`importlib.metadata.version` will " -"now work as expected." -msgstr "" - -#: ../NEWS:5117 -msgid "" -":gh:`124720`: Update \"Using Python on a Mac\" section of the \"Python Setup" -" and Usage\" document and include information on installing free-threading " -"support." -msgstr "" - -#: ../NEWS:5121 -msgid "" -":gh:`124457`: Remove coverity scan from the CPython repo. It has not been " -"used since 2020 and is currently unmaintained." -msgstr "" - -#: ../NEWS:5124 -msgid "" -":gh:`116622`: Add an Android platform guide, and flag modules not available " -"on Android." -msgstr "" - -#: ../NEWS:5127 -msgid ":gh:`123976`: Refresh docs around custom providers." -msgstr "" - -#: ../NEWS:5129 -msgid "" -":gh:`70870`: Clarified the dual usage of the term \"free variable\" (both " -"the formal meaning of any reference to names defined outside the local " -"scope, and the narrower pragmatic meaning of nonlocal variables named in " -"``co_freevars``)." -msgstr "" - -#: ../NEWS:5134 -msgid "" -":gh:`121277`: Writers of CPython's documentation can now use ``next`` as the" -" version for the ``versionchanged``, ``versionadded``, ``deprecated`` " -"directives." -msgstr "" - -#: ../NEWS:5138 -msgid "" -":gh:`117765`: Improved documentation for :func:`unittest.mock.patch.dict`" -msgstr "" - -#: ../NEWS:5140 -msgid ":gh:`121749`: Fix documentation for :c:func:`PyModule_AddObjectRef`." -msgstr "" - -#: ../NEWS:5142 -msgid "" -":gh:`120012`: Clarify the behaviours of :meth:`multiprocessing.Queue.empty` " -"and :meth:`multiprocessing.SimpleQueue.empty` on closed queues. Patch by " -"Bénédikt Tran." -msgstr "" - -#: ../NEWS:5146 -msgid "" -":gh:`119574`: Added some missing environment variables to the output of " -":option:`--help-env`." -msgstr "" - -#: ../NEWS:5149 -msgid "" -":issue:`34008`: The :c:func:`Py_Main` documentation moved from the \"Very " -"High Level API\" section to the \"Initialization and Finalization\" section." -msgstr "" - -#: ../NEWS:5152 -msgid "" -"Also make it explicit that we expect ``Py_Main`` to typically be called " -"instead of ``Py_Initialize`` rather than after it (since ``Py_Main`` makes " -"its own call to ``Py_Initialize``). Document that calling both is supported " -"but is version dependent on which settings will be applied correctly." -msgstr "" - -#: ../NEWS:5161 -msgid "" -":gh:`124375`: Fix a crash in the free threading build when the GC runs " -"concurrently with a new thread starting." -msgstr "" - -#: ../NEWS:5164 -msgid "" -":gh:`125221`: Fix possible race condition when calling " -":meth:`~object.__reduce_ex__` for the first time in the free threading " -"build." -msgstr "" - -#: ../NEWS:5168 -msgid "" -":gh:`125174`: Make the handling of reference counts of immortal objects more" -" robust. Immortal objects with reference counts that deviate from their " -"original reference count by up to a billion (half a billion on 32 bit " -"builds) are still counted as immortal." -msgstr "" - -#: ../NEWS:5173 -msgid "" -":gh:`125039`: Make ``this_instr`` and ``prev_instr`` const in cases " -"generator." -msgstr "" - -#: ../NEWS:5176 -msgid "" -":gh:`125008`: Fix :func:`tokenize.untokenize` producing invalid syntax for " -"double braces preceded by certain escape characters." -msgstr "" - -#: ../NEWS:5179 -msgid "" -":gh:`124871`: Fix compiler bug (in some versions of 3.13) where an assertion" -" fails during reachability analysis." -msgstr "" - -#: ../NEWS:5182 -msgid "" -":gh:`123378`: Fix a crash in the :meth:`~object.__str__` method of " -":exc:`UnicodeError` objects when the :attr:`UnicodeError.start` and " -":attr:`UnicodeError.end` values are invalid or out-of-range. Patch by " -"Bénédikt Tran." -msgstr "" - -#: ../NEWS:5187 -msgid "" -":gh:`118093`: Improve the experimental JIT compiler's ability to stay \"on " -"trace\" when encountering highly-biased branches." -msgstr "" - -#: ../NEWS:5190 -msgid "" -":gh:`124642`: Fixed scalability issue in free-threaded builds for lock-free " -"reads from dictionaries in multi-threaded scenarios" -msgstr "" - -#: ../NEWS:5193 -msgid "" -":gh:`116510`: Fix a crash caused by immortal interned strings being shared " -"between sub-interpreters that use basic single-phase init. In that case, " -"the string can be used by an interpreter that outlives the interpreter that " -"created and interned it. For interpreters that share obmalloc state, also " -"share the interned dict with the main interpreter." -msgstr "" - -#: ../NEWS:5199 -msgid "" -":gh:`116510`: Fix a bug that can cause a crash when sub-interpreters use " -"\"basic\" single-phase extension modules. Shared objects could refer to " -"PyGC_Head nodes that had been freed as part of interpreter cleanup." -msgstr "" - -#: ../NEWS:5203 -msgid "" -":gh:`119180`: The ``__main__`` module no longer always contains an " -"``__annotations__`` dictionary in its global namespace." -msgstr "" - -#: ../NEWS:5206 -msgid "" -":gh:`124547`: When deallocating an object with inline values whose " -"``__dict__`` is still live: if memory allocation for the inline values " -"fails, clear the dictionary. Prevents an interpreter crash." -msgstr "" - -#: ../NEWS:5210 -msgid "" -":gh:`124513`: Fix a crash in FrameLocalsProxy constructor: check the number " -"of arguments. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:5213 -msgid "" -":gh:`124442`: Fix nondeterminism in compilation by sorting the value of " -":attr:`~type.__static_attributes__`. Patch by kp2pml30." -msgstr "" - -#: ../NEWS:5216 -msgid "" -":gh:`124285`: Fix bug where ``bool(a)`` can be invoked more than once during" -" the evaluation of a compound boolean expression." -msgstr "" - -#: ../NEWS:5219 -msgid "" -":gh:`123856`: Fix PyREPL failure when a keyboard interrupt is triggered " -"after using a history search" -msgstr "" - -#: ../NEWS:5222 -msgid "" -":gh:`65961`: Deprecate the setting and using ``__package__`` and " -"``__cached__``." -msgstr "" - -#: ../NEWS:5225 -msgid "" -":gh:`119726`: The JIT now generates more efficient code for calls to C " -"functions resulting in up to 0.8% memory savings and 1.5% speed improvement " -"on AArch64. Patch by Diego Russo." -msgstr "" - -#: ../NEWS:5229 -msgid "" -":gh:`122878`: Use the ``pager`` binary, if available (e.g. on Debian and " -"derivatives), to display REPL ``help()``." -msgstr "" - -#: ../NEWS:5232 -msgid "" -":gh:`124188`: Fix reading and decoding a line from the source file with non-" -"UTF-8 encoding for syntax errors raised in the compiler." -msgstr "" - -#: ../NEWS:5235 -msgid "" -":gh:`124027`: Support ````, ````, and ```` keys " -"in the Python REPL when ``$TERM`` is set to ``vt100``." -msgstr "" - -#: ../NEWS:5238 -msgid "" -":gh:`124022`: Fix bug where docstring is removed from classes in interactive" -" mode." -msgstr "" - -#: ../NEWS:5241 -msgid "" -":gh:`123958`: docstrings are now removed from the optimized AST in " -"optimization level 2." -msgstr "" - -#: ../NEWS:5244 -msgid "" -":gh:`123923`: The ``f_executable`` field in the internal " -":c:struct:`_PyInterpreterFrame` struct now uses a tagged pointer. Profilers " -"and debuggers that uses this field should clear the least significant bit to" -" recover the :c:expr:`PyObject*` pointer." -msgstr "" - -#: ../NEWS:5249 -msgid "" -":gh:`77894`: Fix possible crash in the garbage collector when it tries to " -"break a reference loop containing a :class:`memoryview` object. Now a " -":class:`!memoryview` object can only be cleared if there are no buffers that" -" refer it." -msgstr "" - -#: ../NEWS:5254 -msgid "" -":gh:`120221`: asyncio REPL is now again properly recognizing " -"KeyboardInterrupts. Display of exceptions raised in secondary threads is " -"fixed." -msgstr "" - -#: ../NEWS:5258 -msgid "" -":gh:`119310`: Allow the new interactive shell to read history files written " -"with the editline library that use unicode-escaped entries. Patch by " -"aorcajo and Łukasz Langa." -msgstr "" - -#: ../NEWS:5262 -msgid "" -":gh:`123572`: Fix key mappings for various F-keys in Windows for the new " -"REPL. Patch by devdanzin" -msgstr "" - -#: ../NEWS:5265 -msgid "" -":gh:`123614`: Add :func:`turtle.save` to easily save Turtle drawings as " -"PostScript files. Patch by Marie Roald and Yngve Mardal Moe." -msgstr "" - -#: ../NEWS:5268 -msgid "" -":gh:`123339`: Setting the :attr:`!__module__` attribute for a class now " -"removes the ``__firstlineno__`` item from the type's dict, so they will no " -"longer be inconsistent." -msgstr "" - -#: ../NEWS:5272 -msgid "" -":gh:`119034`: Change ```` and ```` keys of the Python " -"REPL to history search forward/backward. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:5275 -msgid "" -":gh:`123562`: Improve :exc:`SyntaxError` message for using ``case ... as " -"...`` with not a name." -msgstr "" - -#: ../NEWS:5278 -msgid "" -":gh:`123545`: Fix a double decref in rare cases on experimental JIT builds." -msgstr "" - -#: ../NEWS:5280 -msgid "" -":gh:`123484`: Fix ``_Py_DebugOffsets`` for long objects to be relative to " -"the start of the object rather than the start of a subobject." -msgstr "" - -#: ../NEWS:5283 -msgid "" -":gh:`123446`: Fix empty function name in :exc:`TypeError` when builtin magic" -" methods are used without the required args." -msgstr "" - -#: ../NEWS:5286 -msgid "" -":gh:`123440`: Improve :exc:`SyntaxError` message for using ``except as`` " -"with not a name." -msgstr "" - -#: ../NEWS:5289 -msgid "" -":gh:`116017`: Improved JIT memory consumption by periodically freeing memory" -" used by infrequently-executed code. This change is especially likely to " -"improve the memory footprint of long-running programs." -msgstr "" - -#: ../NEWS:5293 -msgid ":gh:`123344`: Add AST optimizations for type parameter defaults." -msgstr "" - -#: ../NEWS:5295 -msgid "" -":gh:`123321`: Prevent Parser/myreadline race condition from segfaulting on " -"multi-threaded use. Patch by Bar Harel and Amit Wienner." -msgstr "" - -#: ../NEWS:5298 -msgid "" -":gh:`123177`: Fix a bug causing stray prompts to appear in the middle of " -"wrapped lines in the new REPL." -msgstr "" - -#: ../NEWS:5301 -msgid "" -":gh:`122982`: Extend the deprecation period for bool inversion (``~``) by " -"two years." -msgstr "" - -#: ../NEWS:5304 -msgid "" -":gh:`123271`: Make concurrent iterations over the same :func:`zip` iterator " -"safe under free-threading." -msgstr "" - -#: ../NEWS:5307 -msgid "" -":gh:`123275`: Support :option:`-X gil=1 <-X>` and :envvar:`PYTHON_GIL=1 " -"` on non-free-threaded builds." -msgstr "" - -#: ../NEWS:5310 -msgid "" -":gh:`123177`: Deactivate line wrap in the Apple Terminal via a ANSI escape " -"code. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:5313 -msgid "" -":gh:`123229`: Fix valgrind warning by initializing the f-string buffers to 0" -" in the tokenizer. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:5316 -msgid "" -":gh:`122298`: Restore printout of GC stats when " -"``gc.set_debug(gc.DEBUG_STATS)`` is called. This feature was accidentally " -"removed when implementing incremental GC." -msgstr "" - -#: ../NEWS:5320 -msgid "" -":gh:`121804`: Correctly show error locations when a :exc:`SyntaxError` is " -"raised in the basic REPL. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:5323 -msgid "" -":gh:`115776`: Enables inline values (Python's equivalent of hidden classes) " -"on any class who's instances are of a fixed size." -msgstr "" - -#: ../NEWS:5326 -msgid "" -":gh:`123142`: Fix too-wide source location in exception tracebacks coming " -"from broken iterables in comprehensions." -msgstr "" - -#: ../NEWS:5329 -msgid "" -":gh:`123048`: Fix a bug where pattern matching code could emit a " -":opcode:`JUMP_FORWARD` with no source location." -msgstr "" - -#: ../NEWS:5332 -msgid "" -":gh:`118093`: Break up ``CALL_ALLOC_AND_ENTER_INIT`` into micro-ops and " -"relax requirement for exact args, in order to increase the amount of code " -"supported by tier 2." -msgstr "" - -#: ../NEWS:5336 -msgid "" -":gh:`123123`: Fix displaying :exc:`SyntaxError` exceptions covering multiple" -" lines. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:5339 -msgid "" -":gh:`123083`: Fix a potential use-after-free in ``STORE_ATTR_WITH_HINT``." -msgstr "" - -#: ../NEWS:5341 -msgid "" -":gh:`123022`: Fix crash in free-threaded build when calling " -":c:func:`Py_Initialize` from a non-main thread." -msgstr "" - -#: ../NEWS:5344 -msgid ":gh:`118093`: Add three specializations for :opcode:`CALL_KW`:" -msgstr "" - -#: ../NEWS:5346 -msgid ":opcode:`!CALL_KW_PY` for calls to Python functions" -msgstr "" - -#: ../NEWS:5347 -msgid ":opcode:`!CALL_KW_BOUND_METHOD` for calls to bound methods" -msgstr "" - -#: ../NEWS:5348 -msgid ":opcode:`!CALL_KW_NON_PY` for all other calls" -msgstr "" - -#: ../NEWS:5350 -msgid "" -":gh:`122821`: Make sure that branches in :keyword:`while` statements have " -"consistent offsets for :mod:`sys.monitoring`. :keyword:`!while` statements " -"are now compiled with a simple jump at the end of the body, instead of " -"duplicating the test." -msgstr "" - -#: ../NEWS:5355 -msgid "" -":gh:`122907`: Building with ``HAVE_DYNAMIC_LOADING`` now works as well as it" -" did in 3.12. Existing deficiences will be addressed separately. (See " -"https://github.com/python/cpython/issues/122950.)" -msgstr "" - -#: ../NEWS:5359 -msgid "" -":gh:`122888`: Fix crash on certain calls to ``str()`` with positional " -"arguments of the wrong type. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:5362 -msgid "" -":gh:`118093`: Improve the experimental JIT's handling of polymorphic code." -msgstr "" - -#: ../NEWS:5364 -msgid "" -":gh:`122697`: Fixed memory leaks at interpreter shutdown in the free-" -"threaded build, and also reporting of leaked memory blocks via :option:`-X " -"showrefcount <-X>`." -msgstr "" - -#: ../NEWS:5368 -msgid "" -":gh:`116622`: Fix Android stdout and stderr messages being truncated or " -"lost." -msgstr "" - -#: ../NEWS:5370 -msgid "" -":gh:`122527`: Fix a crash that occurred when a ``PyStructSequence`` was " -"deallocated after its type's dictionary was cleared by the GC. The type's " -":c:member:`~PyTypeObject.tp_basicsize` now accounts for non-sequence fields " -"that aren't included in the :c:macro:`Py_SIZE` of the sequence." -msgstr "" - -#: ../NEWS:5375 -msgid "" -":gh:`122445`: Add only fields which are modified via self.* to " -":attr:`~type.__static_attributes__`." -msgstr "" - -#: ../NEWS:5378 -msgid "" -":gh:`122417`: In the free-threaded build, the reference counts for heap type" -" objects are now partially stored in a distributed manner in per-thread " -"arrays. This reduces contention on the heap type's reference count fields " -"when creating or destroying instances of the same type from multiple threads" -" concurrently." -msgstr "" - -#: ../NEWS:5384 -msgid "" -":gh:`116090`: Fix an issue in JIT builds that prevented some :keyword:`for` " -"loops from correctly firing :monitoring-event:`RAISE` monitoring events." -msgstr "" - -#: ../NEWS:5387 -msgid "" -":gh:`122300`: Preserve AST nodes for f-string with single-element format " -"specifiers. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:5390 -msgid "" -":gh:`120906`: :attr:`frame.f_locals` now supports arbitrary hashable objects" -" as keys." -msgstr "" - -#: ../NEWS:5393 -msgid "" -":gh:`122239`: When a :class:`list`, :class:`tuple` or :class:`dict` with too" -" many elements is unpacked, show the actual length in the error message." -msgstr "" - -#: ../NEWS:5396 -msgid "" -":gh:`122245`: Detection of writes to ``__debug__`` is moved from the " -"compiler's codegen stage to the symtable. This means that these errors are " -"now detected even in code that is optimized away before codegen (such as " -"assertions with the :option:`-O` command line option)." -msgstr "" - -#: ../NEWS:5401 -msgid "" -":gh:`122234`: Specializations for sums with float and complex inputs in " -":func:`sum` now always use compensated summation. Also, for integer items " -"in above specializations: :c:func:`PyLong_AsDouble` is used, instead of " -":c:func:`PyLong_AsLongAndOverflow`. Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:5406 -msgid "" -":gh:`122208`: Dictionary watchers now only deliver the PyDict_EVENT_ADDED " -"event when the insertion is in a known good state to succeed." -msgstr "" - -#: ../NEWS:5409 -msgid "" -":gh:`122160`: Remove the ``BUILD_CONST_KEY_MAP`` opcode. Use " -":opcode:`BUILD_MAP` instead." -msgstr "" - -#: ../NEWS:5412 -msgid "" -":gh:`122029`: Emit ``c_call`` events in :func:`sys.setprofile` when a " -"``PyMethodObject`` pointing to a ``PyCFunction`` is called." -msgstr "" - -#: ../NEWS:5415 -msgid "" -":gh:`122026`: Fix a bug that caused the tokenizer to not correctly identify " -"mismatched parentheses inside f-strings in some situations. Patch by Pablo " -"Galindo" -msgstr "" - -#: ../NEWS:5419 -msgid "" -":gh:`99108`: Python's hashlib now unconditionally uses the vendored HACL* " -"library for Blake2. Python no longer accepts libb2 as an optional dependency" -" for Blake2." -msgstr "" - -#: ../NEWS:5423 -msgid "" -"We refreshed HACL* to the latest version, and now vendor HACL*'s 128-bit and" -" 256-bit wide vector implementations for Blake2, which are used on x86/x64 " -"toolchains when the required CPU features are available at runtime." -msgstr "" - -#: ../NEWS:5428 -msgid "" -"HACL*'s 128-bit wide vector implementation of Blake2 can also run on ARM " -"NEON and Power8, but lacking evidence of a performance gain, these are not " -"enabled (yet)." -msgstr "" - -#: ../NEWS:5432 -msgid "" -":gh:`121999`: The default extraction filter for the :mod:`tarfile` module is" -" now set to :func:`'data' `." -msgstr "" - -#: ../NEWS:5435 -msgid "" -":gh:`121860`: Fix crash when rematerializing a managed dictionary after it " -"was deleted." -msgstr "" - -#: ../NEWS:5438 -msgid "" -":gh:`121795`: Improve performance of set membership testing, " -"``set.remove()`` and ``set.discard()`` when the argument is a set." -msgstr "" - -#: ../NEWS:5441 -msgid "" -":gh:`121814`: Fixed the SegFault when :c:func:`PyEval_SetTrace` is used with" -" no Python frame on stack." -msgstr "" - -#: ../NEWS:5444 -msgid "" -":gh:`121295`: Fix PyREPL console getting into a blocked state after " -"interrupting a long paste" -msgstr "" - -#: ../NEWS:5447 -msgid "" -":gh:`121794`: Fix bug in free-threaded Python where a resurrected object " -"could lead to a negative ref count assertion failure." -msgstr "" - -#: ../NEWS:5450 -msgid "" -":gh:`121657`: Improve the :exc:`SyntaxError` message if the user tries to " -"use :keyword:`yield from ` outside a function." -msgstr "" - -#: ../NEWS:5453 -msgid "" -":gh:`121609`: Fix pasting of characters containing unicode character joiners" -" in the new REPL. Patch by Marta Gomez Macias" -msgstr "" - -#: ../NEWS:5456 -msgid "" -":gh:`121297`: Previously, incorrect usage of :keyword:`await` or " -"asynchronous comprehensions in code removed by the :option:`-O` option was " -"not flagged by the Python compiler. Now, such code raises " -":exc:`SyntaxError`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:5461 -msgid "" -":gh:`117482`: Unexpected slot wrappers are no longer created for builtin " -"static types in subinterpreters." -msgstr "" - -#: ../NEWS:5464 -msgid "" -":gh:`121562`: Optimized performance of hex_from_char by replacing switch-" -"case with a lookup table" -msgstr "" - -#: ../NEWS:5467 -msgid "" -":gh:`121499`: Fix a bug affecting how multi-line history was being rendered " -"in the new REPL after interacting with the new screen cache. Patch by Pablo " -"Galindo" -msgstr "" - -#: ../NEWS:5471 -msgid "" -":gh:`121497`: Fix a bug that was preventing the REPL to correctly respect " -"the history when an input hook was set. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:5474 -msgid "" -":gh:`121012`: Tier 2 execution now ensures that list iterators remain " -"exhausted, once they become exhausted." -msgstr "" - -#: ../NEWS:5477 -msgid ":gh:`121439`: Allow tuples of length 20 in the freelist to be reused." -msgstr "" - -#: ../NEWS:5479 -msgid "" -":gh:`121288`: :exc:`ValueError` messages for :meth:`!list.index`, " -":meth:`!range.index`, :meth:`!deque.index`, :meth:`!deque.remove` and " -":meth:`!ShareableList.index` no longer contain the repr of the searched " -"value (which can be arbitrary large) and are consistent with error messages " -"for other :meth:`!index` and :meth:`!remove` methods." -msgstr "" - -#: ../NEWS:5485 -msgid "" -":gh:`121368`: Fix race condition in ``_PyType_Lookup`` in the free-threaded " -"build due to a missing memory fence. This could lead to ``_PyType_Lookup`` " -"returning incorrect results on arm64." -msgstr "" - -#: ../NEWS:5489 -msgid "" -":gh:`121149`: Added specialization for summation of complexes, this also " -"improves accuracy of builtin :func:`sum` for such inputs. Patch by Sergey B" -" Kirpichev." -msgstr "" - -#: ../NEWS:5493 -msgid "" -":gh:`121130`: Fix f-strings with debug expressions in format specifiers. " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:5496 -msgid "" -":gh:`121381`: Remove ``subprocess._USE_VFORK`` escape hatch code and " -"documentation. It was added just in case, and doesn't have any known cases " -"that require it." -msgstr "" - -#: ../NEWS:5500 -msgid "" -":gh:`119726`: Optimize code layout for calls to C functions from the JIT on " -"AArch64. Patch by Diego Russo." -msgstr "" - -#: ../NEWS:5503 -msgid "" -":gh:`121115`: :c:func:`PyLong_AsNativeBytes` no longer uses " -":meth:`~object.__index__` methods by default. The " -"``Py_ASNATIVEBYTES_ALLOW_INDEX`` flag has been added to allow it." -msgstr "" - -#: ../NEWS:5507 -msgid "" -":gh:`120838`: :c:func:`Py_Finalize()` and :c:func:`Py_FinalizeEx()` now " -"always run with the main interpreter active." -msgstr "" - -#: ../NEWS:5510 -msgid "" -":gh:`113433`: Subinterpreters now get cleaned up automatically during " -"runtime finalization." -msgstr "" - -#: ../NEWS:5513 -msgid "" -":gh:`119726`: Improve the speed and memory use of C function calls from JIT " -"code on AArch64. Patch by Diego Russo" -msgstr "" - -#: ../NEWS:5516 -msgid "" -":gh:`116017`: Simplify the warmup mechanism used for \"side exits\" in JIT " -"code, resulting in slightly better performance and slightly lower memory " -"usage for most platforms." -msgstr "" - -#: ../NEWS:5520 -msgid "" -":gh:`98442`: Fix too wide source locations of the cleanup instructions of a " -"with statement." -msgstr "" - -#: ../NEWS:5523 -msgid "" -":gh:`120754`: Reduce the number of system calls invoked when reading a whole" -" file (ex. ``open('a.txt').read()``). For a sample program that reads the " -"contents of the 400+ ``.rst`` files in the cpython repository ``Doc`` " -"folder, there is an over 10% reduction in system call count." -msgstr "" - -#: ../NEWS:5528 -msgid "" -":gh:`119462`: Make sure that invariants of type versioning are maintained: *" -" Superclasses always have their version number assigned before subclasses * " -"The version tag is always zero if the tag is not valid. * The version tag is" -" always non-if the tag is valid." -msgstr "" - -#: ../NEWS:5533 -msgid "" -":gh:`120437`: Fix ``_CHECK_STACK_SPACE`` optimization problems introduced in" -" :gh:`118322`." -msgstr "" - -#: ../NEWS:5536 -msgid "" -":gh:`120722`: Correctly set the bytecode position on return instructions " -"within lambdas. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:5539 -msgid "" -":gh:`120367`: Fix bug where compiler creates a redundant jump during pseudo-" -"op replacement. Can only happen with a synthetic AST that has a try on the " -"same line as the instruction following the exception handler." -msgstr "" - -#: ../NEWS:5543 -msgid "" -":gh:`120507`: Remove the ``BEFORE_WITH`` and ``BEFORE_ASYNC_WITH`` " -"instructions. Add the new :opcode:`LOAD_SPECIAL` instruction. Generate code " -"for ``with`` and ``async with`` statements using the new instruction." -msgstr "" - -#: ../NEWS:5547 -msgid "" -":gh:`113993`: Strings interned with :func:`sys.intern` are again garbage-" -"collected when no longer used, as per the documentation. Strings interned " -"with the C function :c:func:`PyUnicode_InternInPlace` are still immortal. " -"Internals of the string interning mechanism have been changed. This may " -"affect performance and identities of :class:`str` objects." -msgstr "" - -#: ../NEWS:5553 -msgid "" -":gh:`120485`: Add an override of ``allow_reuse_port`` on classes subclassing" -" ``socketserver.TCPServer`` where ``allow_reuse_address`` is also " -"overridden." -msgstr "" - -#: ../NEWS:5557 -msgid "" -":gh:`120384`: Fix an array out of bounds crash in ``list_ass_subscript``, " -"which could be invoked via some specifically tailored input: including " -"concurrent modification of a list object, where one thread assigns a slice " -"and another clears it." -msgstr "" - -#: ../NEWS:5562 -msgid "" -":gh:`120367`: Fix crash in compiler on code with redundant NOPs and JUMPs " -"which show up after exception handlers are moved to the end of the code." -msgstr "" - -#: ../NEWS:5565 -msgid "" -":gh:`120380`: Fix Python implementation of :class:`pickle.Pickler` for " -":class:`bytes` and :class:`bytearray` objects when using protocol version 5." -" Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:5569 -msgid "" -":gh:`120397`: Improve the throughput by up to two times for the " -":meth:`str.count`, :meth:`bytes.count` and :meth:`bytearray.count` methods " -"for counting single characters." -msgstr "" - -#: ../NEWS:5573 -msgid "" -":gh:`120221`: Deliver real signals on Ctrl-C and Ctrl-Z in the new REPL. " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:5576 -msgid "" -":gh:`120346`: Respect :envvar:`PYTHON_BASIC_REPL` when running in " -"interactive inspect mode (``python -i``). Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:5579 -msgid "" -":gh:`93691`: Fix source locations of instructions generated for the iterator" -" of a for statement." -msgstr "" - -#: ../NEWS:5582 -msgid "" -":gh:`120198`: Fix a crash when multiple threads read and write to the same " -"``__class__`` of an object concurrently." -msgstr "" - -#: ../NEWS:5585 -msgid "" -":gh:`120298`: Fix use-after free in ``list_richcompare_impl`` which can be " -"invoked via some specifically tailored evil input." -msgstr "" - -#: ../NEWS:5588 -msgid "" -":gh:`119666`: Fix a compiler crash in the case where two comprehensions in " -"class scope both reference ``__class__``." -msgstr "" - -#: ../NEWS:5591 -msgid "" -":gh:`119726`: JIT: Re-use trampolines on AArch64 when creating stencils. " -"Patch by Diego Russo" -msgstr "" - -#: ../NEWS:5594 -msgid "" -":gh:`120225`: Fix crash in compiler on empty block at end of exception " -"handler." -msgstr "" - -#: ../NEWS:5597 -msgid "" -":gh:`93691`: Fix source locations of instructions generated for with " -"statements." -msgstr "" - -#: ../NEWS:5600 -msgid "" -":gh:`120097`: ``FrameLocalsProxy`` now subclasses " -"``collections.abc.Mapping`` and can be matched as a mapping in ``match`` " -"statements" -msgstr "" - -#: ../NEWS:5603 -msgid "" -":gh:`120080`: Direct call to the :meth:`!int.__round__` now accepts ``None``" -" as a valid argument." -msgstr "" - -#: ../NEWS:5606 -msgid "" -":gh:`119933`: Improve :exc:`SyntaxError` messages for invalid expressions in" -" a type parameters bound, a type parameter constraint tuple or a default " -"type parameter. Patch by Bénédikt Tran." -msgstr "" - -#: ../NEWS:5610 -msgid "" -":gh:`119724`: Reverted improvements to error messages for ``elif``/``else`` " -"statements not matching any valid statements, which made in hard to locate " -"the syntax errors inside those ``elif``/``else`` blocks." -msgstr "" - -#: ../NEWS:5614 -msgid "" -":gh:`119879`: String search is now slightly faster for certain cases. It now" -" utilizes last character gap (good suffix rule) for two-way periodic " -"needles." -msgstr "" - -#: ../NEWS:5618 -msgid "" -":gh:`119842`: Honor :c:func:`PyOS_InputHook` in the new REPL. Patch by Pablo" -" Galindo" -msgstr "" - -#: ../NEWS:5621 -msgid "" -":gh:`119180`: :func:`classmethod` and :func:`staticmethod` now wrap the " -":attr:`~object.__annotations__` and :attr:`~object.__annotate__` attributes " -"of their underlying callable lazily. See :pep:`649`. Patch by Jelle " -"Zijlstra." -msgstr "" - -#: ../NEWS:5626 -msgid "" -":gh:`119821`: Fix execution of :ref:`annotation scopes ` " -"within classes when ``globals`` is set to a non-dict. Patch by Jelle " -"Zijlstra." -msgstr "" - -#: ../NEWS:5630 -msgid ":gh:`118934`: Make ``PyEval_GetLocals`` return borrowed reference" -msgstr "" - -#: ../NEWS:5632 -msgid "" -":gh:`119740`: Remove the previously-deprecated delegation of :func:`int` to " -":meth:`~object.__trunc__`." -msgstr "" - -#: ../NEWS:5635 -msgid "" -":gh:`119689`: Generate stack effect metadata for pseudo instructions from " -"bytecodes.c." -msgstr "" - -#: ../NEWS:5638 -msgid "" -":gh:`109218`: :func:`complex` accepts now a string only as a positional " -"argument. Passing a complex number as the \"real\" or \"imag\" argument is " -"deprecated; it should only be passed as a single positional argument." -msgstr "" - -#: ../NEWS:5642 -msgid "" -":gh:`119548`: Add a ``clear`` command to the REPL. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:5644 -msgid ":gh:`111999`: Fix the signature of :meth:`str.format_map`." -msgstr "" - -#: ../NEWS:5646 -msgid "" -":gh:`119560`: An invalid assert in beta 1 has been removed. The assert " -"would fail if ``PyState_FindModule()`` was used in an extension module's " -"init function before the module def had been initialized." -msgstr "" - -#: ../NEWS:5650 -msgid "" -":gh:`119369`: Fix deadlock during thread deletion in free-threaded build, " -"which could occur when the GIL was enabled at runtime." -msgstr "" - -#: ../NEWS:5653 -msgid "" -":gh:`119525`: Fix deadlock involving ``_PyType_Lookup()`` cache in the free-" -"threaded build when the GIL is dynamically enabled at runtime." -msgstr "" - -#: ../NEWS:5656 -msgid "" -":gh:`119258`: Eliminate type version guards in the tier two interpreter." -msgstr "" - -#: ../NEWS:5658 -msgid "" -"Note that setting the ``tp_version_tag`` manually (which has never been " -"supported) may result in crashes." -msgstr "" - -#: ../NEWS:5661 -msgid "" -":gh:`119311`: Fix bug where names are unexpectedly mangled in the bases of " -"generic classes." -msgstr "" - -#: ../NEWS:5664 -msgid "" -":gh:`119395`: Fix bug where names appearing after a generic class are " -"mangled as if they are in the generic class." -msgstr "" - -#: ../NEWS:5667 -msgid "" -":gh:`119372`: Correct invalid corner cases in complex division (resulted in " -"``(nan+nanj)`` output), e.g. ``1/complex('(inf+infj)')``. Patch by Sergey " -"B Kirpichev." -msgstr "" - -#: ../NEWS:5671 -msgid "" -":gh:`119180`: Evaluation of annotations is now deferred. See :pep:`649` for " -"details." -msgstr "" - -#: ../NEWS:5674 -msgid "" -":gh:`119180`: Replace :opcode:`!LOAD_ASSERTION_ERROR` opcode with " -":opcode:`LOAD_COMMON_CONSTANT` and add support for " -":exc:`NotImplementedError`." -msgstr "" - -#: ../NEWS:5678 -msgid "" -":gh:`119213`: Non-builtin modules built with argument clinic were crashing " -"if used in a subinterpreter before the main interpreter. The objects that " -"were causing the problem by leaking between interpreters carelessly have " -"been fixed." -msgstr "" - -#: ../NEWS:5683 -msgid "" -":gh:`119011`: Fixes ``type.__type_params__`` to return an empty tuple " -"instead of a descriptor." -msgstr "" - -#: ../NEWS:5686 -msgid "" -":gh:`118692`: Avoid creating unnecessary :exc:`StopIteration` instances for " -"monitoring." -msgstr "" - -#: ../NEWS:5689 -msgid "" -":gh:`119180`: Add an ``__annotate__`` attribute to functions, classes, and " -"modules as part of :pep:`649`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:5692 -msgid "" -":gh:`119049`: Fix displaying the source line for warnings created by the C " -"API if the :mod:`warnings` module had not yet been imported." -msgstr "" - -#: ../NEWS:5695 -msgid "" -":gh:`119057`: Improve :exc:`ZeroDivisionError` error message. Now, all error" -" messages are harmonized: all ``/``, ``//``, and ``%`` operations just use " -"\"division by zero\" message. And ``0 ** -1`` operation uses \"zero to a " -"negative power\"." -msgstr "" - -#: ../NEWS:5700 -msgid "" -":gh:`118844`: Fix build failures when configuring with both ``--disable-" -"gil`` and ``--enable-experimental-jit``." -msgstr "" - -#: ../NEWS:5703 -msgid "" -":gh:`118921`: Add ``copy()`` method for ``FrameLocalsProxy`` which returns a" -" snapshot ``dict`` for local variables." -msgstr "" - -#: ../NEWS:5706 -msgid "" -":gh:`117657`: Fix data races on the field that stores a pointer to the " -"interpreter's main thread that occur in free-threaded builds." -msgstr "" - -#: ../NEWS:5709 -msgid "" -":gh:`118750`: If the C version of the ``decimal`` module is available, " -"``int(str)`` now uses it to supply an asymptotically much faster conversion." -" However, this only applies if the string contains over about 2 million " -"digits." -msgstr "" - -#: ../NEWS:5714 -msgid "" -":gh:`118767`: Using :data:`NotImplemented` in a boolean context now raises " -":exc:`TypeError`. Contributed by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:5717 -msgid "" -":gh:`118561`: Fix race condition in free-threaded build where " -":meth:`!list.extend` could expose uninitialised memory to concurrent " -"readers." -msgstr "" - -#: ../NEWS:5721 -msgid "" -":gh:`117139`: Convert the Python evaluation stack to use internal stack " -"references. The purpose is to support tagged pointers. In :pep:`703`, this " -"will allow for its form of deferred reference counting. For both the default" -" and free-threaded builds, this sets up the infrastructure for unboxed " -"integers in the future." -msgstr "" - -#: ../NEWS:5727 -msgid "" -":gh:`115801`: Raise ``TypeError`` when passing a string to " -":func:`difflib.unified_diff` and :func:`difflib.context_diff`." -msgstr "" - -#: ../NEWS:5730 -msgid "" -":gh:`117558`: Improve error messages when a string, bytes or bytearray " -"object of length 1 is expected." -msgstr "" - -#: ../NEWS:5733 -msgid "" -":gh:`117195`: Avoid assertion failure for debug builds when calling " -"``object.__sizeof__(1)``" -msgstr "" - -#: ../NEWS:5736 -msgid "" -":gh:`116022`: Improve the :meth:`~object.__repr__` output of " -":class:`~ast.AST` nodes." -msgstr "" - -#: ../NEWS:5739 -msgid "" -":gh:`114091`: Changed the error message for awaiting something that can't be" -" awaited from \"object can't be used in an await expression\" to " -"\"'' object can't be awaited\"." -msgstr "" - -#: ../NEWS:5743 -msgid ":gh:`113190`: :c:func:`Py_Finalize` now deletes all interned strings." -msgstr "" - -#: ../NEWS:5745 -msgid "" -":gh:`84978`: Add class methods :meth:`float.from_number` and " -":meth:`complex.from_number`." -msgstr "" - -#: ../NEWS:5748 -msgid "" -":gh:`95144`: Improve the error message from ``a in b`` when ``b`` is not a " -"container to mention the term \"container\"." -msgstr "" - -#: ../NEWS:5751 -msgid "" -":issue:`24766`: Fix handling of ``doc`` argument to subclasses of " -"``property``." -msgstr "" - -#: ../NEWS:5756 -msgid "" -":gh:`123961`: Convert the :ref:`curses.window ` " -"static type exposed by the :c:macro:`!PyCursesWindow_Type` macro in " -"``Include/py_curses.h`` to a :ref:`heap type `. Patch by " -"Bénédikt Tran." -msgstr "" - -#: ../NEWS:5761 -msgid "" -":gh:`124502`: Add :c:func:`PyUnicode_Equal` function to the limited C API: " -"test if two strings are equal. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:5764 -msgid "" -":gh:`124296`: :c:type:`PyDictObject` no longer maintains a private version " -"tag field ``ma_version_tag`` per :pep:`699`. This field was originally " -"added in Python 3.6 (:pep:`509`) and deprecated in Python 3.12." -msgstr "" - -#: ../NEWS:5768 -msgid "" -":gh:`124160`: Fix crash when importing modules containing state and single-" -"phase initialization in a subinterpreter." -msgstr "" - -#: ../NEWS:5771 -msgid "" -":gh:`124153`: Add :c:func:`PyType_GetBaseByToken` and :c:data:`Py_tp_token` " -"slot for easier type checking, related to :pep:`489` and :pep:`630`." -msgstr "" - -#: ../NEWS:5774 -msgid "" -":gh:`124127`: In the limited C API 3.14 and newer, :c:func:`Py_REFCNT` is " -"now implemented as an opaque function call to hide implementation details. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:5778 -msgid "" -":gh:`123880`: Fixed a bug that prevented circular imports of extension " -"modules that use single-phase initialization." -msgstr "" - -#: ../NEWS:5781 -msgid "" -":gh:`123909`: :c:func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` " -"and :c:func:`PyType_FromModuleAndSpec` will now fail if the metaclass of the" -" new type has custom :c:member:`~PyTypeObject.tp_new`." -msgstr "" - -#: ../NEWS:5785 -msgid "" -":gh:`107954`: Add functions to configure the Python initialization " -"(:pep:`741`):" -msgstr "" - -#: ../NEWS:5788 -msgid ":c:func:`PyInitConfig_Create`" -msgstr "" - -#: ../NEWS:5789 -msgid ":c:func:`PyInitConfig_Free`" -msgstr "" - -#: ../NEWS:5790 -msgid ":c:func:`PyInitConfig_GetError`" -msgstr "" - -#: ../NEWS:5791 -msgid ":c:func:`PyInitConfig_GetExitCode`" -msgstr "" - -#: ../NEWS:5792 -msgid ":c:func:`PyInitConfig_HasOption`" -msgstr "" - -#: ../NEWS:5793 -msgid ":c:func:`PyInitConfig_GetInt`" -msgstr "" - -#: ../NEWS:5794 -msgid ":c:func:`PyInitConfig_GetStr`" -msgstr "" - -#: ../NEWS:5795 -msgid ":c:func:`PyInitConfig_GetStrList`" -msgstr "" - -#: ../NEWS:5796 -msgid ":c:func:`PyInitConfig_FreeStrList`" -msgstr "" - -#: ../NEWS:5797 -msgid ":c:func:`PyInitConfig_SetInt`" -msgstr "" - -#: ../NEWS:5798 -msgid ":c:func:`PyInitConfig_SetStr`" -msgstr "" - -#: ../NEWS:5799 -msgid ":c:func:`PyInitConfig_SetStrList`" -msgstr "" - -#: ../NEWS:5800 -msgid ":c:func:`PyInitConfig_AddModule`" -msgstr "" - -#: ../NEWS:5801 -msgid ":c:func:`Py_InitializeFromInitConfig`" -msgstr "" - -#: ../NEWS:5805 -msgid "" -":gh:`107954`: Add functions to get and set the current runtime Python " -"configuration:" -msgstr "" - -#: ../NEWS:5808 -msgid ":c:func:`PyConfig_Get`" -msgstr "" - -#: ../NEWS:5809 -msgid ":c:func:`PyConfig_GetInt`" -msgstr "" - -#: ../NEWS:5810 -msgid ":c:func:`PyConfig_Set`" -msgstr "" - -#: ../NEWS:5811 -msgid ":c:func:`PyConfig_Names`" -msgstr "" - -#: ../NEWS:5815 -msgid "" -":gh:`123465`: :c:macro:`Py_RELATIVE_OFFSET` is now allowed in " -":c:type:`PyMemberDef` for the special offset member " -"``\"__vectorcalloffset__\"``, as well as the discouraged special offset " -"members ``\"__dictoffset__\"`` and ``\"__weaklistoffset__\"``" -msgstr "" - -#: ../NEWS:5820 -msgid "" -":gh:`100554`: Added a slot ``Py_tp_vectorcall`` to set " -":c:member:`~PyTypeObject.tp_vectorcall` via the :c:func:`PyType_FromSpec` " -"function family. Limited API extensions can use this feature to provide more" -" efficient vector call-based implementation of ``__new__`` and ``__init__``." -msgstr "" - -#: ../NEWS:5826 -msgid "" -":gh:`122854`: Add :c:func:`Py_HashBuffer` to compute and return the hash " -"value of a buffer. Patch by Antoine Pitrou and Victor Stinner." -msgstr "" - -#: ../NEWS:5829 -msgid "" -":gh:`122728`: Fix :c:func:`PyEval_GetLocals` to avoid :exc:`SystemError` " -"(\"bad argument to internal function\"). Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:5832 -msgid "" -":gh:`116622`: Make :any:`PyObject_Print` work around a bug in Android and " -"OpenBSD which prevented it from throwing an exception when trying to write " -"to a read-only stream." -msgstr "" - -#: ../NEWS:5836 -msgid "" -":gh:`105201`: Add :c:func:`PyIter_NextItem` to replace " -":c:func:`PyIter_Next`, which has an ambiguous return value. Patch by Irit " -"Katriel and Erlend Aasland." -msgstr "" - -#: ../NEWS:5840 -msgid ":gh:`121489`: Export private :c:func:`!_PyBytes_Join` again." -msgstr "" - -#: ../NEWS:5842 -msgid "" -":gh:`121645`: Add :c:func:`PyBytes_Join(sep, iterable) ` " -"function, similar to ``sep.join(iterable)`` in Python. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:5846 -msgid "" -":gh:`89364`: Export the :c:func:`PySignal_SetWakeupFd` function. Previously," -" the function was documented but it couldn't be used in 3rd party code. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:5850 -msgid "" -":gh:`113993`: :c:func:`PyUnicode_InternInPlace` no longer prevents its " -"argument from being garbage collected." -msgstr "" - -#: ../NEWS:5853 -msgid "" -"Several functions that take ``char *`` are now documented as possibly " -"preventing string objects from being garbage collected; refer to their " -"documentation for details: :c:func:`PyUnicode_InternFromString`, " -":c:func:`PyDict_SetItemString`, :c:func:`PyObject_SetAttrString`, " -":c:func:`PyObject_DelAttrString`, :c:func:`PyUnicode_InternFromString`, and " -"``PyModule_Add*`` convenience functions." -msgstr "" - -#: ../NEWS:5860 -msgid "" -":gh:`113601`: Removed debug build assertions related to interning strings, " -"which were falsely triggered by stable ABI extensions." -msgstr "" - -#: ../NEWS:5863 -msgid "" -":gh:`112136`: Restore the private ``_PyArg_Parser`` structure and the " -"private ``_PyArg_ParseTupleAndKeywordsFast()`` function, previously removed " -"in Python 3.13 alpha 1. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:5867 -msgid "" -":gh:`120642`: Remove the private ``_Py_CODEUNIT`` type from the public C " -"API. The internal ``pycore_code.h`` header should now be used to get this " -"internal type. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:5871 -msgid "" -":gh:`120858`: :c:func:`PyDict_Next` no longer locks the dictionary in the " -"free-threaded build. The locking needs to be done by the caller around the " -"entire iteration loop." -msgstr "" - -#: ../NEWS:5875 -msgid ":gh:`120642`: Remove the following unstable functions:" -msgstr "" - -#: ../NEWS:5877 -msgid "``PyUnstable_Replace_Executor()``" -msgstr "" - -#: ../NEWS:5878 -msgid "``PyUnstable_SetOptimizer()``" -msgstr "" - -#: ../NEWS:5879 -msgid "``PyUnstable_GetOptimizer()``" -msgstr "" - -#: ../NEWS:5880 -msgid "``PyUnstable_GetExecutor()``" -msgstr "" - -#: ../NEWS:5881 -msgid "``PyUnstable_Optimizer_NewCounter()``" -msgstr "" - -#: ../NEWS:5882 -msgid "``PyUnstable_Optimizer_NewUOpOptimizer()``" -msgstr "" - -#: ../NEWS:5886 -msgid "" -":gh:`120389`: Add new functions to convert C ```` numbers from/to " -"Python :class:`int`:" -msgstr "" - -#: ../NEWS:5889 -msgid ":c:func:`PyLong_FromInt32`" -msgstr "" - -#: ../NEWS:5890 -msgid ":c:func:`PyLong_FromUInt32`" -msgstr "" - -#: ../NEWS:5891 -msgid ":c:func:`PyLong_FromInt64`" -msgstr "" - -#: ../NEWS:5892 -msgid ":c:func:`PyLong_FromUInt64`" -msgstr "" - -#: ../NEWS:5893 -msgid ":c:func:`PyLong_AsInt32`" -msgstr "" - -#: ../NEWS:5894 -msgid ":c:func:`PyLong_AsUInt32`" -msgstr "" - -#: ../NEWS:5895 -msgid ":c:func:`PyLong_AsInt64`" -msgstr "" - -#: ../NEWS:5896 -msgid ":c:func:`PyLong_AsUInt64`" -msgstr "" - -#: ../NEWS:5900 -msgid "" -":gh:`120600`: In the limited C API 3.14 and newer, :c:func:`Py_TYPE` is now " -"implemented as an opaque function call to hide implementation details. Patch" -" by Victor Stinner." -msgstr "" - -#: ../NEWS:5904 -msgid "" -":gh:`70278`: :c:func:`PyUnicode_FromFormat` no longer produces the ending " -"``\\ufffd`` character for truncated C string when use precision with ``%s`` " -"and ``%V``. It now truncates the string before the start of truncated " -"multibyte sequences." -msgstr "" - -#: ../NEWS:5909 -msgid "" -":gh:`119771`: Set :data:`errno` in :c:func:`_Py_c_pow` on overflows. Patch " -"by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:5912 -msgid "" -":gh:`119182`: Add a new :c:type:`PyUnicodeWriter` API to create a Python " -":class:`str` object:" -msgstr "" - -#: ../NEWS:5915 -msgid ":c:func:`PyUnicodeWriter_Create`." -msgstr "" - -#: ../NEWS:5916 -msgid ":c:func:`PyUnicodeWriter_Discard`." -msgstr "" - -#: ../NEWS:5917 -msgid ":c:func:`PyUnicodeWriter_Finish`." -msgstr "" - -#: ../NEWS:5918 -msgid ":c:func:`PyUnicodeWriter_WriteChar`." -msgstr "" - -#: ../NEWS:5919 -msgid ":c:func:`PyUnicodeWriter_WriteUTF8`." -msgstr "" - -#: ../NEWS:5920 -msgid ":c:func:`PyUnicodeWriter_WriteUCS4`." -msgstr "" - -#: ../NEWS:5921 -msgid ":c:func:`PyUnicodeWriter_WriteWideChar`." -msgstr "" - -#: ../NEWS:5922 -msgid ":c:func:`PyUnicodeWriter_WriteStr`." -msgstr "" - -#: ../NEWS:5923 -msgid ":c:func:`PyUnicodeWriter_WriteRepr`." -msgstr "" - -#: ../NEWS:5924 -msgid ":c:func:`PyUnicodeWriter_WriteSubstring`." -msgstr "" - -#: ../NEWS:5925 -msgid ":c:func:`PyUnicodeWriter_Format`." -msgstr "" - -#: ../NEWS:5926 -msgid ":c:func:`PyUnicodeWriter_DecodeUTF8Stateful`." -msgstr "" - -#: ../NEWS:5930 -msgid "" -":gh:`119613`: Soft deprecate the :c:macro:`!Py_MEMCPY` macro: use directly " -"``memcpy()`` instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:5933 -msgid "" -":gh:`119775`: Creating :c:data:`immutable types ` " -"with mutable bases was deprecated since 3.12 and now raises a " -":exc:`TypeError`." -msgstr "" - -#: ../NEWS:5937 -msgid "" -":gh:`119585`: Fix crash when a thread state that was created by " -":c:func:`PyGILState_Ensure` calls a destructor that during " -":c:func:`PyThreadState_Clear` that calls back into " -":c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release`. This might " -"occur when in the free-threaded build or when using thread-local variables " -"whose destructors call :c:func:`PyGILState_Ensure`." -msgstr "" - -#: ../NEWS:5944 -msgid "" -":gh:`119613`: Macros ``Py_IS_NAN``, ``Py_IS_INFINITY`` and ``Py_IS_FINITE`` " -"are :term:`soft deprecated`." -msgstr "" - -#: ../NEWS:5947 -msgid "" -":gh:`119336`: Restore the removed ``_PyLong_NumBits()`` function. It is used" -" by the pywin32 project. Patch by Ethan Smith" -msgstr "" - -#: ../NEWS:5950 -msgid "" -":gh:`119344`: The critical section API is now public as part of the non-" -"limited C API." -msgstr "" - -#: ../NEWS:5953 -msgid "" -":gh:`119333`: Add :c:func:`PyContext_AddWatcher` and " -":c:func:`PyContext_ClearWatcher` APIs to register callbacks to receive " -"notification on enter and exit of context objects." -msgstr "" - -#: ../NEWS:5957 -msgid "" -":gh:`119247`: Added ``Py_BEGIN_CRITICAL_SECTION_SEQUENCE_FAST`` and " -"``Py_END_CRITICAL_SECTION_SEQUENCE_FAST`` macros to make it possible to use " -"PySequence_Fast APIs safely when free-threaded, and update str.join to work " -"without the GIL using them." -msgstr "" - -#: ../NEWS:5962 -msgid "" -":gh:`111389`: Add :c:macro:`PyHASH_MULTIPLIER` constant: prime multiplier " -"used in string and various other hashes. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:5965 -msgid "" -":gh:`118771`: Several C declarations with names that didn't start with the " -"``Py`` or ``_Py`` prefixes, which were added by mistake in 3.13 alpha and " -"beta releases, were moved to internal headers." -msgstr "" - -#: ../NEWS:5969 -msgid "" -":gh:`116984`: Make mimalloc includes relative to the current file to avoid " -"embedders or extensions needing to include ``Internal/mimalloc`` if they are" -" already including internal CPython headers." -msgstr "" - -#: ../NEWS:5973 -msgid "" -":gh:`118789`: Add :c:func:`PyUnstable_Object_ClearWeakRefsNoCallbacks`, " -"which clears weakrefs without calling their callbacks." -msgstr "" - -#: ../NEWS:5976 -msgid "" -":gh:`118789`: Restore ``_PyWeakref_ClearRef`` that was previously removed in" -" Python 3.13 alpha 1." -msgstr "" - -#: ../NEWS:5979 -msgid "" -":gh:`117511`: Make the :c:type:`PyMutex` public in the non-limited C API." -msgstr "" - -#: ../NEWS:5981 -msgid "" -":gh:`116560`: Add :c:func:`PyLong_GetSign` function. Patch by Sergey B " -"Kirpichev." -msgstr "" - -#: ../NEWS:5984 -msgid "" -":gh:`97588`: Fix creating bitfields in :mod:`ctypes` structures and unions. " -"Fields no longer overlap." -msgstr "" - -#: ../NEWS:5987 -msgid "" -":gh:`87135`: Attempting to acquire the GIL after runtime finalization has " -"begun in a different thread now causes the thread to hang rather than " -"terminate, which avoids potential crashes or memory corruption caused by " -"attempting to terminate a thread that is running code not specifically " -"designed to support termination. In most cases this hanging is harmless " -"since the process will soon exit anyway." -msgstr "" - -#: ../NEWS:5994 -msgid "" -"The ``PyThread_exit_thread`` function is now deprecated. Its behavior is " -"inconsistent across platforms, and it can only be used safely in the " -"unlikely case that every function in the entire call stack has been designed" -" to support the platform-dependent termination mechanism. It is recommended" -" that users of this function change their design to not require thread " -"termination. In the unlikely case that thread termination is needed and can" -" be done safely, users may migrate to calling platform-specific APIs such as" -" ``pthread_exit`` (POSIX) or ``_endthreadex`` (Windows) directly." -msgstr "" - -#: ../NEWS:6004 -msgid "" -":issue:`34008`: Added ``Py_IsInitialized`` to the list of APIs that are safe" -" to call before the interpreter is initialized, and updated the embedding " -"tests to cover it." -msgstr "" - -#: ../NEWS:6011 -msgid "" -":gh:`125269`: Fix detection of whether ``-latomic`` is needed when cross-" -"compiling CPython using the configure script." -msgstr "" - -#: ../NEWS:6014 -msgid "" -":gh:`123990`: Remove ``WITH_FREELISTS`` macro and ``--without-freelists`` " -"build configuration" -msgstr "" - -#: ../NEWS:6017 -msgid "" -":gh:`124102`: Update internal documentation under PCbuild, so it now " -"correctly states that Windows requires VS2017 or later and Python 3.10 or " -"later" -msgstr "" - -#: ../NEWS:6021 -msgid "" -":gh:`124043`: Building using :option:`--with-trace-refs` is (temporarily) " -"disallowed when the GIL is disabled." -msgstr "" - -#: ../NEWS:6024 -msgid ":gh:`123418`: Updated Android build to use OpenSSL 3.0.15." -msgstr "" - -#: ../NEWS:6026 -msgid "" -":gh:`123297`: Propagate the value of ``LDFLAGS`` to ``LDCXXSHARED`` in " -":mod:`sysconfig`. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:6029 -msgid ":gh:`121634`: Allow for specifying the target compile triple for WASI." -msgstr "" - -#: ../NEWS:6031 -msgid ":gh:`122578`: Use WASI SDK 24 for testing." -msgstr "" - -#: ../NEWS:6033 -msgid "" -":gh:`116622`: Rename build variable ``MODULE_LDFLAGS`` back to " -"``LIBPYTHON``, as it's used by package build systems (e.g. Meson)." -msgstr "" - -#: ../NEWS:6036 -msgid "" -":gh:`118943`: Fix an issue where the experimental JIT could be built several" -" times by the ``make regen-all`` target, leading to possible race conditions" -" on heavily parallelized builds." -msgstr "" - -#: ../NEWS:6040 -msgid "" -":gh:`121996`: Introduce ./configure --disable-safety and --enable-slower-" -"safety options. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:6043 -msgid "" -":gh:`120522`: Added a :option:`--with-app-store-compliance` option to patch " -"out known issues with macOS/iOS App Store review processes." -msgstr "" - -#: ../NEWS:6046 -msgid "" -":gh:`120371`: Support WASI SDK 22 by explicitly skipping functions that are " -"just stubs in wasi-libc." -msgstr "" - -#: ../NEWS:6049 -msgid ":gh:`121731`: Fix mimalloc compile error on GNU/Hurd" -msgstr "" - -#: ../NEWS:6051 -msgid ":gh:`121487`: Fix deprecation warning for ATOMIC_VAR_INIT in mimalloc." -msgstr "" - -#: ../NEWS:6053 -msgid "" -":gh:`121467`: Fix a Makefile bug that prevented mimalloc header files from " -"being installed." -msgstr "" - -#: ../NEWS:6056 -msgid "" -":gh:`121103`: On POSIX systems, excluding macOS framework installs, the lib " -"directory for the free-threaded build now includes a \"t\" suffix to avoid " -"conflicts with a co-located default build installation." -msgstr "" - -#: ../NEWS:6060 -msgid ":gh:`120831`: The default minimum iOS version was increased to 13.0." -msgstr "" - -#: ../NEWS:6062 -msgid "" -":gh:`121082`: Fix build failure when the developer use ``--enable-pystats`` " -"arguments in configuration command after #118450." -msgstr "" - -#: ../NEWS:6065 -msgid "" -":gh:`120671`: Fix failing configure tests due to a missing space when " -"appending to CFLAGS." -msgstr "" - -#: ../NEWS:6068 -msgid "" -":gh:`120602`: Correctly handle LLVM installs with ``LLVM_VERSION_SUFFIX`` " -"when building with ``--enable-experimental-jit``." -msgstr "" - -#: ../NEWS:6071 -msgid "" -":gh:`120688`: On WASI in debug mode, Python is now built with compiler flag " -"``-O3`` instead of ``-Og``, to support more recursive calls. Patch by Victor" -" Stinner." -msgstr "" - -#: ../NEWS:6075 -msgid "" -":gh:`118943`: Fix a possible race condition affecting parallel builds " -"configured with ``--enable-experimental-jit``, in which " -":exc:`FileNotFoundError` could be caused by another process already moving " -"``jit_stencils.h.new`` to ``jit_stencils.h``." -msgstr "" - -#: ../NEWS:6080 -msgid "" -":gh:`120326`: On Windows, fix build error when ``--disable-gil`` and " -"``--experimental-jit`` options are combined." -msgstr "" - -#: ../NEWS:6083 -msgid "" -":gh:`120291`: Make the ``python-config`` shell script compatible with non-" -"bash shells." -msgstr "" - -#: ../NEWS:6086 -msgid "" -":gh:`113565`: Improve :mod:`curses` and :mod:`curses.panel` dependency " -"checks in :program:`configure`." -msgstr "" - -#: ../NEWS:6089 -msgid "" -":gh:`119729`: On POSIX systems, the pkg-config (``.pc``) filenames now " -"include the ABI flags, which may include debug (\"d\") and free-threaded " -"(\"t\"). For example: * ``python-3.14.pc`` (default, non-debug build) * " -"``python-3.14d.pc`` (default, debug build) * ``python-3.14t.pc`` (free-" -"threaded build)" -msgstr "" - -#: ../NEWS:6095 -msgid "" -":gh:`119400`: ``make_ssl_certs``, the script that prepares certificate data " -"for the test suite, now allows specifying expiration dates." -msgstr "" - -#: ../NEWS:6098 -msgid "" -":gh:`115119`: Fall back to the bundled libmpdec if a system version cannot " -"be found." -msgstr "" - -#: ../NEWS:6101 -msgid "" -":gh:`119132`: Update :data:`sys.version` to identify whether the build is " -"default build or free-threading build. Patch By Donghee Na." -msgstr "" - -#: ../NEWS:6104 -msgid "" -":gh:`118836`: Fix an ``AssertionError`` when building with ``--enable-" -"experimental-jit`` and the compiler emits a ``SHT_NOTE`` section." -msgstr "" - -#: ../NEWS:6108 -msgid "" -":gh:`118943`: Fix a possible race condition affecting parallel builds " -"configured with ``--enable-experimental-jit``, in which compilation errors " -"could be caused by an incompletely-generated header file." -msgstr "" - -#: ../NEWS:6114 -msgid "Python 3.13.0 beta 1" -msgstr "" - -#: ../NEWS:6116 -msgid "*Release date: 2024-05-08*" -msgstr "" - -#: ../NEWS:6121 -msgid ":gh:`116741`: Update bundled libexpat to 2.6.2" -msgstr "" - -#: ../NEWS:6123 -msgid "" -":gh:`117233`: Detect BLAKE2, SHA3, Shake, & truncated SHA512 support in the " -"OpenSSL-ish libcrypto library at build time. This allows :mod:`hashlib` to " -"be used with libraries that do not to support every algorithm that upstream " -"OpenSSL does." -msgstr "" - -#: ../NEWS:6131 -msgid "" -":gh:`118414`: Add instrumented opcodes to YIELD_VALUE assertion for tracing " -"cases." -msgstr "" - -#: ../NEWS:6134 -msgid "" -":gh:`117953`: When a builtin or extension module is imported for the first " -"time, while a subinterpreter is active, the module's init function is now " -"run by the main interpreter first before import continues in the " -"subinterpreter. Consequently, single-phase init modules now fail in an " -"isolated subinterpreter without the init function running under that " -"interpreter, whereas before it would run under the subinterpreter *before* " -"failing, potentially leaving behind global state and callbacks and otherwise" -" leaving the module in an inconsistent state." -msgstr "" - -#: ../NEWS:6143 -msgid "" -":gh:`117549`: Don't use designated initializer syntax in inline functions in" -" internal headers. They cause problems for C++ or MSVC users who aren't yet " -"using the latest C++ standard (C++20). While internal, pycore_backoff.h, is " -"included (indirectly, via pycore_code.h) by some key 3rd party software that" -" does so for speed." -msgstr "" - -#: ../NEWS:6149 -msgid "" -":gh:`95382`: Improve performance of :func:`json.dumps` and :func:`json.dump`" -" when using the argument *indent*. Depending on the data the encoding using " -":func:`json.dumps` with *indent* can be up to 2 to 3 times faster." -msgstr "" - -#: ../NEWS:6153 -msgid "" -":gh:`116322`: In ``--disable-gil`` builds, the GIL will be enabled while " -"loading C extension modules. If the module indicates that it supports " -"running without the GIL, the GIL will be disabled once loading is complete. " -"Otherwise, the GIL will remain enabled for the remainder of the " -"interpreter's lifetime. This behavior does not apply if the GIL has been " -"explicitly enabled or disabled with ``PYTHON_GIL`` or ``-Xgil``." -msgstr "" - -#: ../NEWS:6160 -msgid "" -":gh:`118513`: Fix incorrect :exc:`UnboundLocalError` when two comprehensions" -" in the same function both reference the same name, and in one comprehension" -" the name is bound while in the other it's an implicit global." -msgstr "" - -#: ../NEWS:6165 -msgid "" -":gh:`118518`: Allow the Linux perf support to work without frame pointers " -"using perf's advanced JIT support. The feature is activated when using the " -"``PYTHON_PERF_JIT_SUPPORT`` environment variable or when running Python with" -" ``-Xperf_jit``. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:6170 -msgid "" -":gh:`117514`: Add ``sys._is_gil_enabled()`` function that returns whether " -"the GIL is currently enabled. In the default build it always returns " -"``True`` because the GIL is always enabled. In the free-threaded build, it " -"may return ``True`` or ``False``." -msgstr "" - -#: ../NEWS:6175 -msgid "" -":gh:`118164`: Break a loop between the Python implementation of the " -":mod:`decimal` module and the Python code for integer to string conversion. " -"Also optimize integer to string conversion for values in the range from " -"9_000 to 135_000 decimal digits." -msgstr "" - -#: ../NEWS:6180 -msgid "" -":gh:`118473`: Fix :func:`sys.set_asyncgen_hooks` not to be partially set " -"when raising :exc:`TypeError`." -msgstr "" - -#: ../NEWS:6183 -msgid "" -":gh:`118465`: Compiler populates the new ``__firstlineno__`` field on a " -"class with the line number of the first line of the class definition." -msgstr "" - -#: ../NEWS:6186 -msgid "" -":gh:`118492`: Fix an issue where the type cache can expose a previously " -"accessed attribute when a finalizer is run." -msgstr "" - -#: ../NEWS:6189 -msgid "" -":gh:`117714`: update ``async_generator.athrow().close()`` and " -"``async_generator.asend().close()`` to close their section of the underlying" -" async generator" -msgstr "" - -#: ../NEWS:6193 -msgid "" -":gh:`111201`: The :term:`interactive` interpreter is now implemented in " -"Python, which allows for a number of new features like colors, multiline " -"input, history viewing, and paste mode. Contributed by Pablo Galindo, Łukasz" -" Langa and Lysandros Nikolaou based on code from the PyPy project." -msgstr "" - -#: ../NEWS:6198 -msgid "" -":gh:`74929`: Implement PEP 667: converted :attr:`FrameType.f_locals " -"` and :c:func:`PyFrame_GetLocals` to return a write-through " -"proxy object when the frame refers to a function or comprehension." -msgstr "" - -#: ../NEWS:6203 -msgid "" -":gh:`116767`: Fix crash in compiler on 'async with' that has many context " -"managers." -msgstr "" - -#: ../NEWS:6206 -msgid "" -":gh:`118335`: Change how to use the tier 2 interpreter. Instead of running " -"Python with ``-X uops`` or setting the environment variable " -"``PYTHON_UOPS=1``, this choice is now made at build time by configuring with" -" ``--enable-experimental-jit=interpreter``." -msgstr "" - -#: ../NEWS:6211 -msgid "" -"**Beware!** This changes the environment variable to enable or disable " -"micro-ops to ``PYTHON_JIT``. The old ``PYTHON_UOPS`` is no longer used." -msgstr "" - -#: ../NEWS:6214 -msgid ":gh:`118306`: Update JIT compilation to use LLVM 18" -msgstr "" - -#: ../NEWS:6216 -msgid "" -":gh:`118160`: :ref:`Annotation scopes ` within classes " -"can now contain comprehensions. However, such comprehensions are not inlined" -" into their parent scope at runtime. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:6220 -msgid "" -":gh:`118272`: Fix bug where ``generator.close`` does not free the generator " -"frame's locals." -msgstr "" - -#: ../NEWS:6223 -msgid "" -":gh:`118216`: Don't consider :mod:`__future__` imports with dots before the " -"module name." -msgstr "" - -#: ../NEWS:6226 -msgid "" -":gh:`118074`: Make sure that the Executor objects in the COLD_EXITS array " -"aren't assumed to be GC-able (which would access bytes outside the object)." -msgstr "" - -#: ../NEWS:6230 -msgid "" -":gh:`107674`: Lazy load frame line number to improve performance of tracing" -msgstr "" - -#: ../NEWS:6232 -msgid "" -":gh:`118082`: Improve :exc:`SyntaxError` message for imports without names, " -"like in ``from x import`` and ``import`` cases. It now points out to users " -"that :keyword:`import` expects at least one name after it." -msgstr "" - -#: ../NEWS:6236 -msgid "" -":gh:`118090`: Improve :exc:`SyntaxError` message for empty type param " -"brackets." -msgstr "" - -#: ../NEWS:6239 -msgid "" -":gh:`117958`: Added a ``get_jit_code()`` method to access JIT compiled " -"machine code from the UOp Executor when the experimental JIT is enabled. " -"Patch by Anthony Shaw." -msgstr "" - -#: ../NEWS:6243 -msgid "" -":gh:`117901`: Add option for compiler's codegen to save nested instruction " -"sequences for introspection." -msgstr "" - -#: ../NEWS:6246 -msgid "" -":gh:`116622`: Redirect stdout and stderr to system log when embedded in an " -"Android app." -msgstr "" - -#: ../NEWS:6249 -msgid "" -":gh:`109118`: :ref:`annotation scope ` within class " -"scopes can now contain lambdas." -msgstr "" - -#: ../NEWS:6252 -msgid "" -":gh:`117894`: Prevent ``agen.aclose()`` objects being re-used after " -"``.throw()``." -msgstr "" - -#: ../NEWS:6255 -msgid "" -":gh:`117881`: prevent concurrent access to an async generator via " -"athrow().throw() or asend().throw()" -msgstr "" - -#: ../NEWS:6258 -msgid "" -":gh:`117536`: Fix a :exc:`RuntimeWarning` when calling " -"``agen.aclose().throw(Exception)``." -msgstr "" - -#: ../NEWS:6261 -msgid "" -":gh:`117755`: Fix mimalloc allocator for huge memory allocation (around " -"8,589,934,592 GiB) on s390x. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:6264 -msgid "" -":gh:`117750`: Fix issue where an object's dict would get out of sync with " -"the object's internal values when being cleared. ``obj.__dict__.clear()`` " -"now clears the internal values, but leaves the dict attached to the object." -msgstr "" - -#: ../NEWS:6268 ../NEWS:6782 -msgid "" -":gh:`117431`: Improve the performance of the following :class:`bytes` and " -":class:`bytearray` methods by adapting them to the :c:macro:`METH_FASTCALL` " -"calling convention:" -msgstr "" - -#: ../NEWS:6272 -msgid ":meth:`!count`" -msgstr "" - -#: ../NEWS:6273 -msgid ":meth:`!find`" -msgstr "" - -#: ../NEWS:6274 -msgid ":meth:`!index`" -msgstr "" - -#: ../NEWS:6275 -msgid ":meth:`!rfind`" -msgstr "" - -#: ../NEWS:6276 -msgid ":meth:`!rindex`" -msgstr "" - -#: ../NEWS:6278 -msgid "" -":gh:`117709`: Speed up calls to :func:`str` with positional-only argument, " -"by using the :pep:`590` ``vectorcall`` calling convention. Patch by Erlend " -"Aasland." -msgstr "" - -#: ../NEWS:6282 -msgid "" -":gh:`117680`: Give ``_PyInstructionSequence`` a Python interface and use it " -"in tests." -msgstr "" - -#: ../NEWS:6285 -msgid "" -":gh:`115776`: Statically allocated objects are, by definition, immortal so " -"must be marked as such regardless of whether they are in extension modules " -"or not." -msgstr "" - -#: ../NEWS:6289 -msgid "" -":gh:`117385`: Remove unhandled ``PY_MONITORING_EVENT_BRANCH`` and " -"``PY_MONITORING_EVENT_EXCEPTION_HANDLED`` events from :func:`sys.settrace`." -msgstr "" - -#: ../NEWS:6293 -msgid "" -":gh:`116322`: Extension modules may indicate to the runtime that they can " -"run without the GIL. Multi-phase init modules do so by calling providing " -"``Py_MOD_GIL_NOT_USED`` for the ``Py_mod_gil`` slot, while single-phase init" -" modules call ``PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED)`` from " -"their init function." -msgstr "" - -#: ../NEWS:6299 -msgid "" -":gh:`116129`: Implement :pep:`696`, adding support for defaults on type " -"parameters. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:6302 -msgid "" -":gh:`93502`: Add two new functions to the C-API, " -":c:func:`PyRefTracer_SetTracer` and :c:func:`PyRefTracer_GetTracer`, that " -"allows to track object creation and destruction the same way the " -":mod:`tracemalloc` module does. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:6307 -msgid "" -":gh:`107674`: Improved the performance of :func:`sys.settrace` significantly" -msgstr "" - -#: ../NEWS:6309 -msgid "" -":gh:`95754`: Improve the error message when a script shadowing a module from" -" the standard library causes :exc:`AttributeError` to be raised. Similarly, " -"improve the error message when a script shadowing a third party module " -"attempts to access an attribute from that third party module while still " -"initialising." -msgstr "" - -#: ../NEWS:6315 -msgid "" -":gh:`99180`: Elide uninformative traceback indicators in ``return`` and " -"simple ``assignment`` statements. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:6318 -msgid "" -":gh:`105879`: Allow the *globals* and *locals* arguments to :func:`exec` and" -" :func:`eval` to be passed as keywords." -msgstr "" - -#: ../NEWS:6324 -msgid "" -":gh:`118418`: A :exc:`DeprecationWarning` is now emitted if you fail to pass" -" a value to the new *type_params* parameter of ``typing._eval_type()`` or " -"``typing.ForwardRef._evaluate()``. (Using either of these private and " -"undocumented functions is discouraged to begin with, but failing to pass a " -"value to the ``type_params`` parameter may lead to incorrect behaviour on " -"Python 3.12 or newer.)" -msgstr "" - -#: ../NEWS:6331 -msgid "" -":gh:`118660`: Add an optional second type parameter to " -":class:`typing.ContextManager` and :class:`typing.AsyncContextManager`, " -"representing the return types of :meth:`~object.__exit__` and " -":meth:`~object.__aexit__` respectively. This parameter defaults to ``bool | " -"None``." -msgstr "" - -#: ../NEWS:6337 -msgid "" -":gh:`118650`: The ``enum`` module allows method named ``_repr_*`` to be " -"defined on ``Enum`` types." -msgstr "" - -#: ../NEWS:6340 -msgid "" -":gh:`118648`: Add type parameter defaults to :class:`typing.Generator` and " -":class:`typing.AsyncGenerator`." -msgstr "" - -#: ../NEWS:6343 -msgid "" -":gh:`101137`: Mime type ``text/x-rst`` is now supported by :mod:`mimetypes`." -msgstr "" - -#: ../NEWS:6345 -msgid "" -":gh:`118164`: The Python implementation of the ``decimal`` module could " -"appear to hang in relatively small power cases (like ``2**117``) if context " -"precision was set to a very high value. A different method to check for " -"exactly representable results is used now that doesn't rely on computing " -"``10**precision`` (which could be effectively too large to compute)." -msgstr "" - -#: ../NEWS:6352 -msgid "" -":gh:`111744`: ``breakpoint()`` and ``pdb.set_trace()`` now enter the " -"debugger immediately after the call rather than before the next line is " -"executed." -msgstr "" - -#: ../NEWS:6355 -msgid ":gh:`118500`: Add :mod:`pdb` support for zipapps" -msgstr "" - -#: ../NEWS:6357 -msgid ":gh:`118406`: Add signature for :class:`sqlite3.Connection` objects." -msgstr "" - -#: ../NEWS:6359 -msgid "" -":gh:`101732`: Use a Y2038 compatible openssl time function when available." -msgstr "" - -#: ../NEWS:6361 -msgid "" -":gh:`118404`: Fix :func:`inspect.signature` for non-comparable callables." -msgstr "" - -#: ../NEWS:6363 -msgid "" -":gh:`118402`: Fix :func:`inspect.signature` for the result of the " -":func:`functools.cmp_to_key` call." -msgstr "" - -#: ../NEWS:6366 -msgid "" -":gh:`116622`: On Android, :any:`sysconfig.get_platform` now returns the " -"format specified by :pep:`738`." -msgstr "" - -#: ../NEWS:6369 -msgid "" -":gh:`118285`: Allow to specify the signature of custom callable instances of" -" extension type by the ``__text_signature__`` attribute. Specify signatures " -"of :class:`operator.attrgetter`, :class:`operator.itemgetter`, and " -":class:`operator.methodcaller` instances." -msgstr "" - -#: ../NEWS:6374 -msgid "" -":gh:`118314`: Fix an edge case in :func:`binascii.a2b_base64` strict mode, " -"where excessive padding is not detected when no padding is necessary." -msgstr "" - -#: ../NEWS:6377 -msgid "" -":gh:`118271`: Add the :class:`!PhotoImage` methods :meth:`!read` to read an " -"image from a file and :meth:`!data` to get the image data. Add *background* " -"and *grayscale* parameters to :class:`!PhotoImage` method :meth:`!write`." -msgstr "" - -#: ../NEWS:6382 -msgid "" -":gh:`118225`: Add the :class:`!PhotoImage` method :meth:`!copy_replace` to " -"copy a region from one image to other image, possibly with pixel zooming " -"and/or subsampling. Add *from_coords* parameter to :class:`!PhotoImage` " -"methods :meth:`!copy`, :meth:`!zoom` and :meth:`!subsample`. Add *zoom* and " -"*subsample* parameters to :class:`!PhotoImage` method :meth:`!copy`." -msgstr "" - -#: ../NEWS:6388 -msgid "" -":gh:`118221`: Fix a bug where :meth:`sqlite3.Connection.iterdump` could fail" -" if a custom :attr:`row factory ` was used. " -"Patch by Erlend Aasland." -msgstr "" - -#: ../NEWS:6392 -msgid "" -":gh:`118013`: Fix regression introduced in :gh:`103193` that meant that " -"calling :func:`inspect.getattr_static` on an instance would cause a strong " -"reference to that instance's class to persist in an internal cache in the " -":mod:`inspect` module. This caused unexpected memory consumption if the " -"class was dynamically created, the class held strong references to other " -"objects which took up a significant amount of memory, and the cache " -"contained the sole strong reference to the class. The fix for the regression" -" leads to a slowdown in :func:`!getattr_static`, but the function should " -"still be significantly faster than it was in Python 3.11. Patch by Alex " -"Waygood." -msgstr "" - -#: ../NEWS:6403 -msgid "" -":gh:`118218`: Speed up :func:`itertools.pairwise` in the common case by up " -"to 1.8x." -msgstr "" - -#: ../NEWS:6406 -msgid "" -":gh:`117486`: Improve the behavior of user-defined subclasses of " -":class:`ast.AST`. Such classes will now require no changes in the usual case" -" to conform with the behavior changes of the :mod:`ast` module in Python " -"3.13. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:6411 -msgid "" -":gh:`90848`: Fixed :func:`unittest.mock.create_autospec` to configure parent" -" mock with keyword arguments." -msgstr "" - -#: ../NEWS:6414 -msgid "" -":gh:`118168`: Fix incorrect argument substitution when :data:`typing.Unpack`" -" is used with the builtin :class:`tuple`. :data:`!typing.Unpack` now raises " -":exc:`TypeError` when used with certain invalid types. Patch by Jelle " -"Zijlstra." -msgstr "" - -#: ../NEWS:6419 -msgid "" -":gh:`118131`: Add command-line interface for the :mod:`random` module. Patch" -" by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:6422 -msgid "" -":gh:`118107`: Fix :mod:`zipimport` reading of ZIP64 files with file entries " -"that are too big or offset too far." -msgstr "" - -#: ../NEWS:6425 -msgid "" -":gh:`102511`: Fix :func:`os.path.normpath` for UNC paths on Windows. Speed " -"up :func:`os.path.splitroot` with a native implementation." -msgstr "" - -#: ../NEWS:6428 -msgid "" -":gh:`117535`: Change the unknown filename of :mod:`warnings` from ``sys`` to" -" ```` to clarify that it's not a real filename." -msgstr "" - -#: ../NEWS:6431 -msgid "" -":gh:`114053`: Fix erroneous :exc:`NameError` when calling " -":func:`typing.get_type_hints` on a class that made use of :pep:`695` type " -"parameters in a module that had ``from __future__ import annotations`` at " -"the top of the file. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:6436 -msgid "" -":gh:`116931`: Add parameter *fileobj* check for " -":func:`tarfile.TarFile.addfile`" -msgstr "" - -#: ../NEWS:6439 -msgid "" -":gh:`117995`: Don't raise :exc:`DeprecationWarning` when a :term:`sequence` " -"of parameters is used to bind indexed, nameless placeholders. See also " -":gh:`100668`." -msgstr "" - -#: ../NEWS:6443 -msgid "" -":gh:`80361`: Fix TypeError in :func:`email.message.Message.get_payload` when" -" the charset is :rfc:`2231` encoded." -msgstr "" - -#: ../NEWS:6446 -msgid "" -":gh:`86650`: Fix IndexError when parse some emails with invalid Message-ID " -"(including one-off addresses generated by Microsoft Outlook)." -msgstr "" - -#: ../NEWS:6449 -msgid "" -":gh:`117691`: Improve the error messages emitted by :mod:`tarfile` " -"deprecation warnings relating to PEP 706. If a ``filter`` argument is not " -"provided to ``extract()`` or ``extractall``, the deprecation warning now " -"points to the line in the user's code where the relevant function was " -"called. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:6455 -msgid "" -":gh:`115874`: Fixed a possible segfault during garbage collection of " -"``_asyncio.FutureIter`` objects. Patch by Savannah Ostrowski." -msgstr "" - -#: ../NEWS:6458 -msgid "" -":gh:`115060`: Speed up :meth:`pathlib.Path.glob` by omitting an initial " -":meth:`~pathlib.Path.is_dir` call. As a result of this change, " -":meth:`~pathlib.Path.glob` can no longer raise :exc:`OSError`." -msgstr "" - -#: ../NEWS:6462 -msgid "" -":gh:`77102`: :mod:`site` module now parses ``.pth`` file with UTF-8 first, " -"and :term:`locale encoding` if ``UnicodeDecodeError`` happened. It supported" -" only locale encoding before." -msgstr "" - -#: ../NEWS:6466 -msgid "" -":gh:`76785`: We've exposed the low-level :mod:`!_interpreters` module for " -"the sake of the PyPI implementation of :pep:`734`. It was sometimes " -"available as the :mod:`!_xxsubinterpreters` module and was formerly used " -"only for testing. For the most part, it should be considered an internal " -"module, like :mod:`!_thread` and :mod:`!_imp`. See " -"https://discuss.python.org/t/pep-734-multiple-interpreters-in-the-" -"stdlib/41147/26." -msgstr "" - -#: ../NEWS:6473 -msgid "" -":gh:`115060`: Speed up :meth:`pathlib.Path.glob` by not scanning directories" -" for non-wildcard pattern segments." -msgstr "" - -#: ../NEWS:6476 -msgid "" -":gh:`117727`: Speed up :meth:`pathlib.Path.iterdir` by using " -":func:`os.scandir` internally." -msgstr "" - -#: ../NEWS:6479 -msgid "" -":gh:`117586`: Speed up :meth:`pathlib.Path.walk` by working with strings " -"internally." -msgstr "" - -#: ../NEWS:6482 -msgid "" -":gh:`117722`: Change the new multi-separator support in " -":meth:`asyncio.StreamReader.readuntil` to only accept tuples of separators " -"rather than arbitrary iterables." -msgstr "" - -#: ../NEWS:6486 -msgid "" -":gh:`117692`: Fixes a bug when :class:`doctest.DocTestFinder` was failing on" -" wrapped ``builtin_function_or_method``." -msgstr "" - -#: ../NEWS:6489 -msgid "" -":gh:`117348`: Largely restored import time performance of configparser by " -"avoiding dataclasses." -msgstr "" - -#: ../NEWS:6492 -msgid ":gh:`117641`: Speedup :func:`os.path.commonpath` on Unix." -msgstr "" - -#: ../NEWS:6494 -msgid "" -":gh:`117663`: Fix ``_simple_enum`` to detect aliases when multiple arguments" -" are present but only one is the member value." -msgstr "" - -#: ../NEWS:6497 -msgid ":gh:`117636`: Speedup :func:`os.path.join`." -msgstr "" - -#: ../NEWS:6499 -msgid "" -":gh:`117618`: Support ``package.module`` as ``filename`` for ``break`` " -"command of :mod:`pdb`" -msgstr "" - -#: ../NEWS:6502 -msgid "" -":gh:`102247`: the status codes enum with constants in http.HTTPStatus are " -"updated to include the names from RFC9110. This RFC includes some HTTP " -"statuses previously only used for WEBDAV and assigns more generic names to " -"them." -msgstr "" - -#: ../NEWS:6507 -msgid "The old constants are preserved for backwards compatibility." -msgstr "" - -#: ../NEWS:6509 -msgid ":gh:`117607`: Speedup :func:`os.path.relpath`." -msgstr "" - -#: ../NEWS:6511 -msgid "" -":gh:`117586`: Speed up :meth:`pathlib.Path.glob` by working with strings " -"internally." -msgstr "" - -#: ../NEWS:6514 -msgid "" -":gh:`117225`: Add colour to doctest output. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:6516 -msgid "" -":gh:`117566`: :meth:`ipaddress.IPv6Address.is_loopback` will now return " -"``True`` for IPv4-mapped loopback addresses, i.e. addresses in the " -"``::ffff:127.0.0.0/104`` address space." -msgstr "" - -#: ../NEWS:6520 -msgid "" -":gh:`117546`: Fix issue where :func:`os.path.realpath` stopped resolving " -"symlinks after encountering a symlink loop on POSIX." -msgstr "" - -#: ../NEWS:6523 -msgid "" -":gh:`116720`: Improved behavior of :class:`asyncio.TaskGroup` when an " -"external cancellation collides with an internal cancellation. For example, " -"when two task groups are nested and both experience an exception in a child " -"task simultaneously, it was possible that the outer task group would " -"misbehave, because its internal cancellation was swallowed by the inner task" -" group." -msgstr "" - -#: ../NEWS:6530 -msgid "" -"In the case where a task group is cancelled externally and also must raise " -"an :exc:`ExceptionGroup`, it will now call the parent task's " -":meth:`~asyncio.Task.cancel` method. This ensures that a " -":exc:`asyncio.CancelledError` will be raised at the next :keyword:`await`, " -"so the cancellation is not lost." -msgstr "" - -#: ../NEWS:6536 -msgid "" -"An added benefit of these changes is that task groups now preserve the " -"cancellation count (:meth:`asyncio.Task.cancelling`)." -msgstr "" - -#: ../NEWS:6539 -msgid "" -"In order to handle some corner cases, :meth:`asyncio.Task.uncancel` may now " -"reset the undocumented ``_must_cancel`` flag when the cancellation count " -"reaches zero." -msgstr "" - -#: ../NEWS:6543 -msgid "" -":gh:`117516`: Add :data:`typing.TypeIs`, implementing :pep:`742`. Patch by " -"Jelle Zijlstra." -msgstr "" - -#: ../NEWS:6546 -msgid "" -":gh:`117503`: Fix support of non-ASCII user names in bytes paths in " -":func:`os.path.expanduser` on Posix." -msgstr "" - -#: ../NEWS:6549 -msgid "" -":gh:`117394`: :func:`os.path.ismount` is now 2-3 times faster if the user " -"has permissions." -msgstr "" - -#: ../NEWS:6552 -msgid "" -":gh:`117313`: Only treat ``'\\n'``, ``'\\r'`` and ``'\\r\\n'`` as line " -"separators in re-folding the :mod:`email` messages. Preserve control " -"characters ``'\\v'``, ``'\\f'``, ``'\\x1c'``, ``'\\x1d'`` and ``'\\x1e'`` " -"and Unicode line separators ``'\\x85'``, ``'\\u2028'`` and ``'\\u2029'`` as " -"is." -msgstr "" - -#: ../NEWS:6557 -msgid "" -":gh:`117142`: Convert :mod:`!_ctypes` to multi-phase initialisation " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:6560 -msgid "" -":gh:`66543`: Add the :func:`mimetypes.guess_file_type` function which works " -"with file path. Passing file path instead of URL in " -":func:`~mimetypes.guess_type` is :term:`soft deprecated`." -msgstr "" - -#: ../NEWS:6564 -msgid "" -":gh:`68583`: webbrowser CLI: replace getopt with argparse, add long options." -" Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:6567 -msgid "" -":gh:`116871`: Name suggestions for :exc:`AttributeError` and " -":exc:`ImportError` now only include underscored names if the original name " -"was underscored." -msgstr "" - -#: ../NEWS:6571 -msgid "" -":gh:`116023`: Don't show empty fields (value ``None`` or ``[]``) in " -":func:`ast.dump` by default. Add ``show_empty=False`` parameter to " -"optionally show them." -msgstr "" - -#: ../NEWS:6575 -msgid "" -":gh:`115961`: Added :attr:`!name` and :attr:`!mode` attributes for " -"compressed and archived file-like objects in modules :mod:`bz2`, " -":mod:`lzma`, :mod:`tarfile` and :mod:`zipfile`. The value of the " -":attr:`!mode` attribute of :class:`gzip.GzipFile` was changed from integer " -"(``1`` or ``2``) to string (``'rb'`` or ``'wb'``). The value of the " -":attr:`!mode` attribute of the readable file-like object returned by " -":meth:`zipfile.ZipFile.open` was changed from ``'r'`` to ``'rb'``." -msgstr "" - -#: ../NEWS:6583 -msgid "" -":gh:`82062`: Fix :func:`inspect.signature` to correctly handle parameter " -"defaults on methods in extension modules that use names defined in the " -"module namespace." -msgstr "" - -#: ../NEWS:6587 -msgid "" -":gh:`83856`: Honor :mod:`atexit` for all :mod:`multiprocessing` start " -"methods" -msgstr "" - -#: ../NEWS:6589 -msgid "" -":gh:`113081`: Print colorized exception just like built-in traceback in " -":mod:`pdb`" -msgstr "" - -#: ../NEWS:6592 -msgid "" -":gh:`112855`: Speed up pickling of :class:`pathlib.PurePath` objects. Patch " -"by Barney Gale." -msgstr "" - -#: ../NEWS:6595 -msgid ":gh:`111744`: Support opcode events in :mod:`bdb`" -msgstr "" - -#: ../NEWS:6597 -msgid "" -":gh:`109617`: :mod:`!ncurses`: fixed a crash that could occur on macOS 13 or" -" earlier when Python was built with Apple Xcode 15's SDK." -msgstr "" - -#: ../NEWS:6600 -msgid "" -":gh:`83151`: Enabled arbitrary statements and evaluations in :mod:`pdb` " -"shell to access the local variables of the current frame, which made it " -"possible for multi-scope code like generators or nested function to work." -msgstr "" - -#: ../NEWS:6604 -msgid "" -":gh:`110209`: Add :meth:`~object.__class_getitem__` to " -":class:`types.GeneratorType` and :class:`types.CoroutineType` for type " -"hinting purposes. Patch by James Hilton-Balfe." -msgstr "" - -#: ../NEWS:6608 -msgid "" -":gh:`108191`: The :class:`types.SimpleNamespace` now accepts an optional " -"positional argument which specifies initial values of attributes as a dict " -"or an iterable of key-value pairs." -msgstr "" - -#: ../NEWS:6612 -msgid "" -":gh:`62090`: Fix assertion errors caused by whitespace in metavars or " -"``SUPPRESS``-ed groups in :mod:`argparse` by simplifying usage formatting. " -"Patch by Ali Hamdan." -msgstr "" - -#: ../NEWS:6616 -msgid "" -":gh:`102402`: Adjust ``logging.LogRecord`` to use ``time.time_ns()`` and fix" -" minor bug related to floating-point math." -msgstr "" - -#: ../NEWS:6619 -msgid "" -":gh:`100242`: Bring pure Python implementation ``functools.partial.__new__``" -" more in line with the C-implementation by not just always checking for the " -"presence of the attribute ``'func'`` on the first argument of ``partial``. " -"Instead, both the Python version and the C version perform an " -"``isinstance(func, partial)`` check on the first argument of ``partial``." -msgstr "" - -#: ../NEWS:6625 -msgid "" -":gh:`99730`: HEAD requests are no longer upgraded to GET request during " -"redirects in urllib." -msgstr "" - -#: ../NEWS:6628 -msgid "" -":gh:`66410`: Setting the :mod:`!tkinter` module global :data:`!wantobjects` " -"to ``2`` before creating the :class:`~tkinter.Tk` object or call the " -":meth:`!wantobjects` method of the :class:`!Tk` object with argument ``2`` " -"makes now arguments to callbacks registered in the :mod:`tkinter` module to " -"be passed as various Python objects (``int``, ``float``, ``bytes``, " -"``tuple``), depending on their internal representation in Tcl, instead of " -"always ``str``. :data:`!tkinter.wantobjects` is now set to ``2`` by default." -msgstr "" - -#: ../NEWS:6637 -msgid "" -":issue:`40943`: Fix several IndexError when parse emails with truncated " -"Message-ID, address, routes, etc, e.g. ``example@``." -msgstr "" - -#: ../NEWS:6640 -msgid ":issue:`39324`: Add mime type mapping for .md <-> text/markdown" -msgstr "" - -#: ../NEWS:6642 -msgid "" -":issue:`18108`: :func:`shutil.chown` now supports *dir_fd* and " -"*follow_symlinks* keyword arguments." -msgstr "" - -#: ../NEWS:6645 -msgid "" -":issue:`30988`: Fix parsing of emails with invalid address headers having a " -"leading or trailing dot. Patch by tsufeki." -msgstr "" - -#: ../NEWS:6648 -msgid "" -":issue:`32839`: Add the :meth:`!after_info` method for Tkinter widgets." -msgstr "" - -#: ../NEWS:6653 -msgid "" -":gh:`117928`: The minimum Sphinx version required for the documentation is " -"now 6.2.1." -msgstr "" - -#: ../NEWS:6659 -msgid "" -":gh:`118734`: Fixes Windows build when invoked directly (not through the " -":file:`build.bat` script) without specifying a value for ``UseTIER2``." -msgstr "" - -#: ../NEWS:6662 -msgid "" -":gh:`115119`: The :file:`configure` option :option:`--with-system-libmpdec` " -"now defaults to ``yes``. The bundled copy of ``libmpdecimal`` will be " -"removed in Python 3.15." -msgstr "" - -#: ../NEWS:6666 -msgid "" -":gh:`117845`: Fix building against recent libedit versions by detecting " -"readline hook signatures in :program:`configure`." -msgstr "" - -#: ../NEWS:6669 -msgid "" -":gh:`116622`: A testbed project was added to run the test suite on Android." -msgstr "" - -#: ../NEWS:6671 -msgid "" -":gh:`117645`: Increase WASI stack size from 512 KiB to 8 MiB and the initial" -" memory from 10 MiB to 20 MiB. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:6674 -msgid "" -":gh:`115119`: :program:`configure` now uses :program:`pkg-config` to detect " -":mod:`decimal` dependencies if the :option:`--with-system-libmpdec` option " -"is given." -msgstr "" - -#: ../NEWS:6681 -msgid ":gh:`115119`: Update Windows installer to use libmpdecimal 4.0.0." -msgstr "" - -#: ../NEWS:6683 -msgid "" -":gh:`118486`: :func:`os.mkdir` now accepts *mode* of ``0o700`` to restrict " -"the new directory to the current user." -msgstr "" - -#: ../NEWS:6686 -msgid ":gh:`118347`: Fixes launcher updates not being installed." -msgstr "" - -#: ../NEWS:6688 -msgid "" -":gh:`118293`: The ``multiprocessing`` module now passes the " -"``STARTF_FORCEOFFFEEDBACK`` flag when spawning processes to tell Windows not" -" to change the mouse cursor." -msgstr "" - -#: ../NEWS:6692 -msgid ":gh:`115009`: Update Windows installer to use SQLite 3.45.3." -msgstr "" - -#: ../NEWS:6694 -msgid "" -":gh:`90329`: Suppress the warning displayed on virtual environment creation " -"when the requested and created paths differ only by a short (8.3 style) " -"name. Warnings will continue to be shown if a junction or symlink in the " -"path caused the venv to be created in a different location than originally " -"requested." -msgstr "" - -#: ../NEWS:6700 -msgid "" -":gh:`117786`: Fixes virtual environments not correctly launching when " -"created from a Store install." -msgstr "" - -#: ../NEWS:6706 -msgid ":gh:`115119`: Update macOS installer to use libmpdecimal 4.0.0." -msgstr "" - -#: ../NEWS:6708 -msgid "" -":gh:`114099`: iOS preprocessor symbol usage was made compatible with older " -"macOS SDKs." -msgstr "" - -#: ../NEWS:6711 -msgid ":gh:`115009`: Update macOS installer to use SQLite 3.45.3." -msgstr "" - -#: ../NEWS:6713 -msgid "" -":gh:`91629`: Use :file:`~/.config/fish/conf.d` configs and " -":program:`fish_add_path` to set :envvar:`PATH` when installing for the Fish " -"shell." -msgstr "" - -#: ../NEWS:6720 -msgid ":issue:`34774`: Use user-selected color theme for Help => IDLE Doc." -msgstr "" - -#: ../NEWS:6725 -msgid "" -":gh:`118124`: Fix :c:macro:`Py_BUILD_ASSERT` and " -":c:macro:`Py_BUILD_ASSERT_EXPR` for non-constant expressions: use " -"``static_assert()`` on C11 and newer. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:6729 -msgid ":gh:`110850`: Add \"Raw\" variant of PyTime functions" -msgstr "" - -#: ../NEWS:6731 -msgid ":c:func:`PyTime_MonotonicRaw`" -msgstr "" - -#: ../NEWS:6732 -msgid ":c:func:`PyTime_PerfCounterRaw`" -msgstr "" - -#: ../NEWS:6733 -msgid ":c:func:`PyTime_TimeRaw`" -msgstr "" - -#: ../NEWS:6737 -msgid ":gh:`117987`: Restore functions removed in Python 3.13 alpha 1:" -msgstr "" - -#: ../NEWS:6739 -msgid ":c:func:`Py_SetPythonHome`" -msgstr ":c:func:`Py_SetPythonHome`" - -#: ../NEWS:6740 -msgid ":c:func:`Py_SetProgramName`" -msgstr ":c:func:`Py_SetProgramName`" - -#: ../NEWS:6741 -msgid ":c:func:`PySys_SetArgvEx`" -msgstr "" - -#: ../NEWS:6742 -msgid ":c:func:`PySys_SetArgv`" -msgstr "" - -#: ../NEWS:6746 -msgid "" -":gh:`117929`: Restore removed :c:func:`PyEval_InitThreads` function. Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:6749 -msgid "" -":gh:`117534`: Improve validation logic in the C implementation of " -":meth:`datetime.datetime.fromisoformat` to better handle invalid years. " -"Patch by Vlad Efanov." -msgstr "" - -#: ../NEWS:6753 -msgid "" -":gh:`68114`: Fixed skipitem()'s handling of the old 'w' and 'w#' formatters." -" These are no longer supported and now raise an exception if used." -msgstr "" - -#: ../NEWS:6756 -msgid ":gh:`111997`: Add a C-API for firing monitoring events." -msgstr "" - -#: ../NEWS:6760 -msgid "Python 3.13.0 alpha 6" -msgstr "" - -#: ../NEWS:6762 -msgid "*Release date: 2024-04-09*" -msgstr "" - -#: ../NEWS:6767 -msgid "" -":gh:`117494`: Refactored the instruction sequence data structure out of " -"compile.c into instruction_sequence.c." -msgstr "" - -#: ../NEWS:6770 -msgid "" -":gh:`116968`: Introduce a unified 16-bit backoff counter type " -"(``_Py_BackoffCounter``), shared between the Tier 1 adaptive specializer and" -" the Tier 2 optimizer. The API used for adaptive specialization counters is " -"changed but the behavior is (supposed to be) identical." -msgstr "" - -#: ../NEWS:6775 -msgid "The behavior of the Tier 2 counters is changed:" -msgstr "" - -#: ../NEWS:6777 -msgid "There are no longer dynamic thresholds (we never varied these)." -msgstr "" - -#: ../NEWS:6778 -msgid "All counters now use the same exponential backoff." -msgstr "" - -#: ../NEWS:6779 -msgid "The counter for ``JUMP_BACKWARD`` starts counting down from 16." -msgstr "" - -#: ../NEWS:6780 -msgid "The ``temperature`` in side exits starts counting down from 64." -msgstr "" - -#: ../NEWS:6786 -msgid ":meth:`!endswith`" -msgstr "" - -#: ../NEWS:6787 -msgid ":meth:`!startswith`" -msgstr "" - -#: ../NEWS:6789 -msgid "" -":gh:`117431`: Improve the performance of the following :class:`str` methods " -"by adapting them to the :c:macro:`METH_FASTCALL` calling convention:" -msgstr "" - -#: ../NEWS:6792 -msgid ":meth:`~str.count`" -msgstr "" - -#: ../NEWS:6793 -msgid ":meth:`~str.endswith`" -msgstr "" - -#: ../NEWS:6794 -msgid ":meth:`~str.find`" -msgstr "" - -#: ../NEWS:6795 -msgid ":meth:`~str.index`" -msgstr "" - -#: ../NEWS:6796 -msgid ":meth:`~str.rfind`" -msgstr "" - -#: ../NEWS:6797 -msgid ":meth:`~str.rindex`" -msgstr "" - -#: ../NEWS:6798 -msgid ":meth:`~str.startswith`" -msgstr "" - -#: ../NEWS:6800 -msgid "" -":gh:`117411`: Move ``PyFutureFeatures`` to an internal header and make it " -"private." -msgstr "" - -#: ../NEWS:6803 -msgid "" -":gh:`109120`: Added handle of incorrect star expressions, e.g ``f(3, *)``. " -"Patch by Grigoryev Semyon" -msgstr "" - -#: ../NEWS:6806 -msgid "" -":gh:`117266`: Fix crashes for certain user-created subclasses of " -":class:`ast.AST`. Such classes are now expected to set the ``_field_types`` " -"attribute." -msgstr "" - -#: ../NEWS:6810 -msgid "" -":gh:`99108`: Updated the :mod:`hashlib` built-in `HACL\\* project`_ C code " -"from upstream that we use for many implementations when they are not present" -" via OpenSSL in a given build. This also avoids the rare potential for a C " -"symbol name one definition rule linking issue." -msgstr "" - -#: ../NEWS:6817 -msgid "" -":gh:`117108`: Change the old space bit of objects in the young generation " -"from 0 to gcstate->visited, so that any objects created during GC will have " -"the old bit set correctly if they get moved into the old generation." -msgstr "" - -#: ../NEWS:6821 -msgid "" -":gh:`117108`: The cycle GC now chooses the size of increments based on the " -"total heap size, instead of the rate of object creation. This ensures that " -"it can keep up with growing heaps." -msgstr "" - -#: ../NEWS:6825 -msgid "" -":gh:`116735`: For ``INSTRUMENTED_CALL_FUNCTION_EX``, set ``arg0`` to " -"``sys.monitoring.MISSING`` instead of ``None`` for :monitoring-event:`CALL` " -"event." -msgstr "" - -#: ../NEWS:6829 -msgid "" -":gh:`113964`: Starting new threads and process creation through " -":func:`os.fork` are now only prevented once all non-daemon threads exit." -msgstr "" - -#: ../NEWS:6832 -msgid "" -":gh:`116626`: Ensure ``INSTRUMENTED_CALL_FUNCTION_EX`` always emits " -":monitoring-event:`CALL`" -msgstr "" - -#: ../NEWS:6835 -msgid "" -":gh:`116554`: ``list.sort()`` now exploits more cases of partial ordering, " -"particularly those with long descending runs with sub-runs of equal values. " -"Those are recognized as single runs now (previously, each block of repeated " -"values caused a new run to be created)." -msgstr "" - -#: ../NEWS:6840 -msgid "" -":gh:`114099`: Added a Loader that can discover extension modules in an iOS-" -"style Frameworks folder." -msgstr "" - -#: ../NEWS:6843 -msgid "" -":gh:`115775`: Compiler populates the new ``__static_attributes__`` field on " -"a class with the names of attributes of this class which are accessed " -"through self.X from any function in its body." -msgstr "" - -#: ../NEWS:6847 -msgid "" -":gh:`115776`: The array of values, the ``PyDictValues`` struct is now " -"embedded in the object during allocation. This provides better performance " -"in the common case, and does not degrade as much when the object's " -"``__dict__`` is materialized." -msgstr "" - -#: ../NEWS:6852 -msgid "" -":gh:`108362`: Implement an incremental cyclic garbage collector. By " -"collecting the old generation in increments, there is no need for a full " -"heap scan. This can hugely reduce maximum pause time for programs with large" -" heaps." -msgstr "" - -#: ../NEWS:6857 -msgid "" -"Reduce the number of generations from three to two. The old generation is " -"split into two spaces, \"visited\" and \"pending\"." -msgstr "" - -#: ../NEWS:6860 -msgid "" -"Collection happens in two steps:: * An increment is formed from the young " -"generation and a small part of the pending space. * This increment is " -"scanned and the survivors moved to the end of the visited space." -msgstr "" - -#: ../NEWS:6864 -msgid "When the collecting space becomes empty, the two spaces are swapped." -msgstr "" - -#: ../NEWS:6866 -msgid "" -":gh:`109870`: Dataclasses now calls :func:`exec` once per dataclass, instead" -" of once per method being added. This can speed up dataclass creation by up" -" to 20%." -msgstr "" - -#: ../NEWS:6870 -msgid "" -":gh:`97901`: Mime type ``text/rtf`` is now supported by :mod:`mimetypes`." -msgstr "" - -#: ../NEWS:6872 -msgid "" -":issue:`24612`: Improve the :exc:`SyntaxError` that happens when 'not' " -"appears after an operator. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:6878 -msgid "" -":gh:`117648`: Improve performance of :func:`os.path.join` and " -":func:`os.path.expanduser`." -msgstr "" - -#: ../NEWS:6881 -msgid "" -":gh:`117584`: Raise :exc:`TypeError` for non-paths in " -":func:`posixpath.relpath`." -msgstr "" - -#: ../NEWS:6884 -msgid "" -":gh:`117467`: Preserve mailbox ownership when rewriting in " -":func:`mailbox.mbox.flush`. Patch by Tony Mountifield." -msgstr "" - -#: ../NEWS:6887 -msgid "" -":gh:`114848`: Raise :exc:`FileNotFoundError` when ``getcwd()`` returns " -"'(unreachable)', which can happen on Linux >= 2.6.36 with glibc < 2.27." -msgstr "" - -#: ../NEWS:6890 -msgid "" -":gh:`117459`: :meth:`asyncio.asyncio.run_coroutine_threadsafe` now keeps the" -" traceback of :class:`CancelledError`, :class:`TimeoutError` and " -":class:`InvalidStateError` which are raised in the coroutine." -msgstr "" - -#: ../NEWS:6894 -msgid ":gh:`117381`: Fix error message for :func:`ntpath.commonpath`." -msgstr "" - -#: ../NEWS:6896 -msgid "" -":gh:`117337`: Deprecate undocumented :func:`!glob.glob0` and " -":func:`!glob.glob1` functions. Use :func:`glob.glob` and pass a directory to" -" its *root_dir* argument instead." -msgstr "" - -#: ../NEWS:6900 -msgid ":gh:`117349`: Optimise several functions in :mod:`os.path`." -msgstr "" - -#: ../NEWS:6902 -msgid "" -":gh:`117348`: Refactored :meth:`configparser.RawConfigParser._read` to " -"reduce cyclometric complexity and improve comprehensibility." -msgstr "" - -#: ../NEWS:6905 -msgid "" -":gh:`117335`: Raise TypeError for non-sequences for " -":func:`ntpath.commonpath`." -msgstr "" - -#: ../NEWS:6908 -msgid "" -":gh:`66449`: :class:`configparser.ConfigParser` now accepts unnamed sections" -" before named ones, if configured to do so." -msgstr "" - -#: ../NEWS:6911 -msgid "" -":gh:`88014`: In documentation of :class:`gzip.GzipFile` in module gzip, " -"explain data type of optional constructor argument *mtime*, and recommend " -"``mtime = 0`` for generating deterministic streams." -msgstr "" - -#: ../NEWS:6915 -msgid "" -":gh:`117310`: Fixed an unlikely early & extra ``Py_DECREF`` triggered crash " -"in :mod:`ssl` when creating a new ``_ssl._SSLContext`` if CPython was built " -"implausibly such that the default cipher list is empty **or** the SSL " -"library it was linked against reports a failure from its C " -"``SSL_CTX_set_cipher_list()`` API." -msgstr "" - -#: ../NEWS:6921 -msgid "" -":gh:`117294`: A ``DocTestCase`` now reports as skipped if all examples in " -"the doctest are skipped." -msgstr "" - -#: ../NEWS:6924 -msgid "" -":gh:`98966`: In :mod:`subprocess`, raise a more informative message when " -"``stdout=STDOUT``." -msgstr "" - -#: ../NEWS:6927 -msgid "" -":gh:`117225`: doctest: only print \"and X failed\" when non-zero, don't " -"pluralise \"1 items\". Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:6930 -msgid "" -":gh:`117205`: Speed up :func:`compileall.compile_dir` by 20% when using " -"multiprocessing by increasing ``chunksize``." -msgstr "" - -#: ../NEWS:6933 -msgid "" -":gh:`117178`: Fix regression in lazy loading of self-referential modules, " -"introduced in :gh:`114781`." -msgstr "" - -#: ../NEWS:6936 -msgid "" -":gh:`112383`: Fix :mod:`dis` module's handling of ``ENTER_EXECUTOR`` " -"instructions." -msgstr "" - -#: ../NEWS:6939 -msgid "" -":gh:`117182`: Lazy-loading of modules that modify their own ``__class__`` no" -" longer reverts the ``__class__`` to :class:`types.ModuleType`." -msgstr "" - -#: ../NEWS:6942 -msgid "" -":gh:`117084`: Fix :mod:`zipfile` extraction for directory entries with the " -"name containing backslashes on Windows." -msgstr "" - -#: ../NEWS:6945 -msgid "" -":gh:`117114`: Make :func:`os.path.isdevdrive` available on all platforms. " -"For those that do not offer Dev Drives, it will always return ``False``." -msgstr "" - -#: ../NEWS:6948 -msgid "" -":gh:`117110`: Fix a bug that prevents subclasses of :class:`typing.Any` to " -"be instantiated with arguments. Patch by Chris Fu." -msgstr "" - -#: ../NEWS:6951 -msgid "" -":gh:`109653`: Deferred select imports in importlib.metadata and " -"importlib.resources for a 14% speedup." -msgstr "" - -#: ../NEWS:6954 -msgid "" -":gh:`70647`: Start the deprecation period for the current behavior of " -":func:`datetime.datetime.strptime` and :func:`time.strptime` which always " -"fails to parse a date string with a :exc:`ValueError` involving a day of " -"month such as ``strptime(\"02-29\", \"%m-%d\")`` when a year is **not** " -"specified and the date happen to be February 29th. This should help avoid " -"users finding new bugs every four years due to a natural mistaken assumption" -" about the API when parsing partial date values." -msgstr "" - -#: ../NEWS:6962 -msgid ":gh:`116987`: Fixed :func:`inspect.findsource` for class code objects." -msgstr "" - -#: ../NEWS:6964 -msgid "" -":gh:`114099`: Modify standard library to allow for iOS platform differences." -msgstr "" - -#: ../NEWS:6966 -msgid "" -":gh:`90872`: On Windows, :meth:`subprocess.Popen.wait` no longer calls " -"``WaitForSingleObject()`` with a negative timeout: pass ``0`` ms if the " -"timeout is negative. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:6970 -msgid "" -":gh:`116957`: configparser: Don't leave ConfigParser values in an invalid " -"state (stored as a list instead of a str) after an earlier read raised " -"DuplicateSectionError or DuplicateOptionError." -msgstr "" - -#: ../NEWS:6974 -msgid "" -":gh:`115538`: :class:`!_io.WindowsConsoleIO` now emit a warning if a boolean" -" value is passed as a filedescriptor argument." -msgstr "" - -#: ../NEWS:6977 -msgid ":gh:`90095`: Ignore empty lines and comments in ``.pdbrc``" -msgstr "" - -#: ../NEWS:6979 -msgid "" -":gh:`106531`: Refreshed zipfile._path from `zipp 3.18 " -"`_, providing " -"better compatibility for PyPy, better glob performance for deeply nested " -"zipfiles, and providing internal access to ``CompleteDirs.inject`` for use " -"in other tests (like importlib.resources)." -msgstr "" - -#: ../NEWS:6985 -msgid "" -":gh:`63207`: On Windows, :func:`time.time` now uses the " -"``GetSystemTimePreciseAsFileTime()`` clock to have a resolution better than " -"1 us, instead of the ``GetSystemTimeAsFileTime()`` clock which has a " -"resolution of 15.6 ms. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:6990 -msgid "" -":gh:`116764`: Restore support of ``None`` and other false values in " -":mod:`urllib.parse` functions :func:`~urllib.parse.parse_qs` and " -":func:`~urllib.parse.parse_qsl`. Also, they now raise a TypeError for non-" -"zero integers and non-empty sequences." -msgstr "" - -#: ../NEWS:6995 -msgid "" -":gh:`116811`: In ``PathFinder.invalidate_caches``, delegate to " -"``MetadataPathFinder.invalidate_caches``." -msgstr "" - -#: ../NEWS:6998 -msgid ":gh:`116647`: Fix recursive child in dataclasses" -msgstr "" - -#: ../NEWS:7000 -msgid ":gh:`113171`: Fixed various false positives and false negatives in" -msgstr "" - -#: ../NEWS:7002 -msgid ":attr:`ipaddress.IPv4Address.is_private` (see these docs for details)" -msgstr "" - -#: ../NEWS:7003 -msgid ":attr:`ipaddress.IPv4Address.is_global`" -msgstr "" - -#: ../NEWS:7004 -msgid ":attr:`ipaddress.IPv6Address.is_private`" -msgstr "" - -#: ../NEWS:7005 -msgid ":attr:`ipaddress.IPv6Address.is_global`" -msgstr "" - -#: ../NEWS:7007 -msgid "" -"Also in the corresponding :class:`ipaddress.IPv4Network` and " -":class:`ipaddress.IPv6Network` attributes." -msgstr "" - -#: ../NEWS:7010 -msgid "" -":gh:`63283`: In :mod:`encodings.idna`, any capitalization of the ACE prefix " -"(``xn--``) is now acceptable. Patch by Pepijn de Vos and Zackery Spytz." -msgstr "" - -#: ../NEWS:7013 -msgid "" -":gh:`71042`: Add :func:`platform.android_ver`, which provides device and OS " -"information on Android." -msgstr "" - -#: ../NEWS:7016 -msgid "" -":gh:`73468`: Added new :func:`math.fma` function, wrapping C99's ``fma()`` " -"operation: fused multiply-add function. Patch by Mark Dickinson and Victor " -"Stinner." -msgstr "" - -#: ../NEWS:7020 -msgid "" -":gh:`116608`: The :mod:`importlib.resources` functions " -":func:`~importlib.resources.is_resource`, " -":func:`~importlib.resources.open_binary`, " -":func:`~importlib.resources.open_text`, :func:`~importlib.resources.path`, " -":func:`~importlib.resources.read_binary`, and " -":func:`~importlib.resources.read_text` are un-deprecated, and support " -"subdirectories via multiple positional arguments. The " -":func:`~importlib.resources.contents` function also allows subdirectories, " -"but remains deprecated." -msgstr "" - -#: ../NEWS:7030 -msgid "" -":gh:`116484`: Change automatically generated :class:`tkinter.Checkbutton` " -"widget names to avoid collisions with automatically generated " -":class:`tkinter.ttk.Checkbutton` widget names within the same parent widget." -msgstr "" - -#: ../NEWS:7035 -msgid "" -":gh:`114314`: In :mod:`ctypes`, ctype data is now stored in type objects " -"directly rather than in a dict subclass. This is an internal change that " -"should not affect usage." -msgstr "" - -#: ../NEWS:7039 -msgid "" -":gh:`116401`: Fix blocking :func:`os.fwalk` and :func:`shutil.rmtree` on " -"opening named pipe." -msgstr "" - -#: ../NEWS:7042 -msgid ":gh:`71052`: Implement :func:`ctypes.util.find_library` on Android." -msgstr "" - -#: ../NEWS:7044 -msgid "" -":gh:`90535`: Fix support of *interval* values > 1 in " -":class:`logging.TimedRotatingFileHandler` for ``when='MIDNIGHT'`` and " -"``when='Wx'``." -msgstr "" - -#: ../NEWS:7048 -msgid "" -":gh:`113308`: Remove some internal protected parts from :mod:`uuid`: " -"``_has_uuid_generate_time_safe``, ``_netbios_getnode``, " -"``_ipconfig_getnode``, and ``_load_system_functions``. They were unused." -msgstr "" - -#: ../NEWS:7052 -msgid "" -":gh:`115627`: Fix the :mod:`ssl` module error handling of connection " -"terminate by peer. It now throws an OSError with the appropriate error code " -"instead of an EOFError." -msgstr "" - -#: ../NEWS:7056 -msgid "" -":gh:`114847`: Speed up :func:`os.path.realpath` on non-Windows platforms." -msgstr "" - -#: ../NEWS:7058 -msgid ":gh:`114271`: Fix a race in ``threading.Thread.join()``." -msgstr "" - -#: ../NEWS:7060 -msgid "" -"``threading._MainThread`` now always represents the main thread of the main " -"interpreter." -msgstr "" - -#: ../NEWS:7063 -msgid "" -"``PyThreadState.on_delete`` and ``PyThreadState.on_delete_data`` have been " -"removed." -msgstr "" - -#: ../NEWS:7066 -msgid "" -":gh:`113538`: Add :meth:`asyncio.Server.close_clients` and " -":meth:`asyncio.Server.abort_clients` methods which allow to more forcefully " -"close an asyncio server." -msgstr "" - -#: ../NEWS:7070 -msgid "" -":gh:`85287`: Changes Unicode codecs to return UnicodeEncodeError or " -"UnicodeDecodeError, rather than just UnicodeError." -msgstr "" - -#: ../NEWS:7073 -msgid ":gh:`113548`: :mod:`pdb` now allows CLI arguments to ``pdb -m``." -msgstr "" - -#: ../NEWS:7075 -msgid ":gh:`112948`: Make completion of :mod:`pdb` similar to Python REPL" -msgstr "" - -#: ../NEWS:7077 -msgid "" -":gh:`105866`: Fixed ``_get_slots`` bug which caused error when defining " -"dataclasses with slots and a weakref_slot." -msgstr "" - -#: ../NEWS:7080 -msgid "" -":gh:`96471`: Add :py:class:`asyncio.Queue` termination with " -":py:meth:`~asyncio.Queue.shutdown` method." -msgstr "" - -#: ../NEWS:7083 -msgid ":gh:`89739`: The :mod:`zipimport` module can now read ZIP64 files." -msgstr "" - -#: ../NEWS:7085 -msgid "" -":issue:`33533`: :func:`asyncio.as_completed` now returns an object that is " -"both an asynchronous iterator and plain iterator. The new asynchronous " -"iteration pattern allows for easier correlation between prior tasks and " -"their completed results. This is a closer match to " -":func:`concurrent.futures.as_completed`'s iteration pattern. Patch by Justin" -" Arthur." -msgstr "" - -#: ../NEWS:7092 -msgid "" -":issue:`27578`: :func:`inspect.getsource` (and related functions) work with " -"empty module files, returning ``'\\n'`` (or reasonable equivalent) instead " -"of raising ``OSError``. Patch by Kernc." -msgstr "" - -#: ../NEWS:7096 -msgid "" -":issue:`37141`: Accept an iterable of separators in " -":meth:`asyncio.StreamReader.readuntil`, stopping when one of them is " -"encountered." -msgstr "" - -#: ../NEWS:7100 -msgid "" -":gh:`66543`: Make :func:`mimetypes.guess_type` properly parsing of URLs with" -" only a host name, URLs containing fragment or query, and filenames with " -"only a UNC sharepoint on Windows. Based on patch by Dong-hee Na." -msgstr "" - -#: ../NEWS:7104 -msgid "" -":issue:`15010`: :meth:`unittest.TestLoader.discover` now saves the original " -"value of ``unittest.TestLoader._top_level_dir`` and restores it at the end " -"of the call." -msgstr "" - -#: ../NEWS:7111 -msgid ":gh:`115977`: Remove compatibility references to Emscripten." -msgstr "" - -#: ../NEWS:7113 -msgid "" -":gh:`114099`: Add an iOS platform guide, and flag modules not available on " -"iOS." -msgstr "" - -#: ../NEWS:7116 -msgid "" -":gh:`91565`: Changes to documentation files and config outputs to reflect " -"the new location for reporting bugs - i.e. GitHub rather than " -"bugs.python.org." -msgstr "" - -#: ../NEWS:7122 -msgid "" -":gh:`83434`: Disable JUnit XML output (``--junit-xml=FILE`` command line " -"option) in regrtest when hunting for reference leaks (``-R`` option). Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:7126 -msgid ":gh:`117187`: Fix XML tests for vanilla Expat <2.6.0." -msgstr "" - -#: ../NEWS:7128 -msgid "" -":gh:`116333`: Tests of TLS related things (error codes, etc) were updated to" -" be more lenient about specific error message strings and behaviors as seen " -"in the BoringSSL and AWS-LC forks of OpenSSL." -msgstr "" - -#: ../NEWS:7132 -msgid "" -":gh:`117089`: Consolidated tests for importlib.metadata in their own " -"``metadata`` package." -msgstr "" - -#: ../NEWS:7135 -msgid "" -":gh:`115979`: Update test_importlib so that it passes under WASI SDK 21." -msgstr "" - -#: ../NEWS:7137 -msgid "" -":gh:`112536`: Add --tsan to test.regrtest for running TSAN tests in " -"reasonable execution times. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:7140 -msgid "" -":gh:`116307`: Added import helper ``isolated_modules`` as ``CleanImport`` " -"does not remove modules imported during the context. Use it in " -"importlib.resources tests to avoid leaving ``mod`` around to impede " -"importlib.metadata tests." -msgstr "" - -#: ../NEWS:7148 -msgid ":gh:`114736`: Have WASI builds use WASI SDK 21." -msgstr "" - -#: ../NEWS:7150 -msgid "" -":gh:`115983`: Skip building test modules that must be built as shared under " -"WASI." -msgstr "" - -#: ../NEWS:7153 -msgid ":gh:`71052`: Add Android build script and instructions." -msgstr "" - -#: ../NEWS:7158 -msgid "" -":gh:`117267`: Ensure ``DirEntry.stat().st_ctime`` behaves consistently with " -":func:`os.stat` during the deprecation period of ``st_ctime`` by containing " -"the same value as ``st_birthtime``. After the deprecation period, " -"``st_ctime`` will be the metadata change time (or unavailable through " -"``DirEntry``), and only ``st_birthtime`` will contain the creation time." -msgstr "" - -#: ../NEWS:7165 -msgid "" -":gh:`116195`: Improves performance of :func:`os.getppid` by using an " -"alternate system API when available. Contributed by vxiiduu." -msgstr "" - -#: ../NEWS:7168 -msgid "" -":gh:`88494`: On Windows, :func:`time.monotonic` now uses the " -"``QueryPerformanceCounter()`` clock to have a resolution better than 1 us, " -"instead of the ``GetTickCount64()`` clock which has a resolution of 15.6 ms." -" Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:7173 -msgid "" -":gh:`116773`: Fix instances of ``<_overlapped.Overlapped object at 0xXXX> " -"still has pending operation at deallocation, the process may crash``." -msgstr "" - -#: ../NEWS:7176 -msgid "" -":gh:`91227`: Fix the asyncio ProactorEventLoop implementation so that " -"sending a datagram to an address that is not listening does not prevent " -"receiving any more datagrams." -msgstr "" - -#: ../NEWS:7180 -msgid "" -":gh:`115119`: Switched from vendored ``libmpdecimal`` code to a separately-" -"hosted external package in the ``cpython-source-deps`` repository when " -"building the ``_decimal`` module." -msgstr "" - -#: ../NEWS:7187 -msgid ":gh:`117642`: Fix :pep:`737` implementation for ``%#T`` and ``%#N``." -msgstr "" - -#: ../NEWS:7189 -msgid "" -":gh:`87193`: :c:func:`_PyBytes_Resize` can now be called for bytes objects " -"with reference count > 1, including 1-byte bytes objects. It creates a new " -"bytes object and destroys the old one if it has reference count > 1." -msgstr "" - -#: ../NEWS:7193 -msgid "" -":gh:`117021`: Fix integer overflow in :c:func:`PyLong_AsPid` on non-Windows " -"64-bit platforms." -msgstr "" - -#: ../NEWS:7196 -msgid "" -":gh:`115756`: :c:func:`!PyCode_GetFirstFree` is an ustable API now and has " -"been renamed to :c:func:`PyUnstable_Code_GetFirstFree`. (Contributed by " -"Bogdan Romanyuk in :gh:`115781`)" -msgstr "" - -#: ../NEWS:7200 -msgid "" -":gh:`116869`: Add ``test_cext`` test: build a C extension to check if the " -"Python C API emits C compiler warnings. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:7203 -msgid "" -":gh:`116869`: Make the C API compatible with ``-Werror=declaration-after-" -"statement`` compiler flag again. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:7207 -msgid "" -":gh:`116936`: Add :c:func:`PyType_GetModuleByDef` to the limited C API. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:7210 -msgid "" -":gh:`116809`: Restore removed private ``_PyErr_ChainExceptions1()`` " -"function. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:7213 -msgid "" -":gh:`115754`: In the limited C API version 3.13, getting ``Py_None``, " -"``Py_False``, ``Py_True``, ``Py_Ellipsis`` and ``Py_NotImplemented`` " -"singletons is now implemented as function calls at the stable ABI level to " -"hide implementation details. Getting these constants still return borrowed " -"references. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:7219 -msgid "" -":gh:`115754`: Add :c:func:`Py_GetConstant` and " -":c:func:`Py_GetConstantBorrowed` functions to get constants. For example, " -"``Py_GetConstant(Py_CONSTANT_ZERO)`` returns a :term:`strong reference` to " -"the constant zero. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:7224 -msgid "" -":gh:`111696`: Add support for ``%T``, ``%T#``, ``%N`` and ``%N#`` formats to" -" :c:func:`PyUnicode_FromFormat`: format the fully qualified name of an " -"object type and of a type: call :c:func:`PyType_GetModuleName`. See " -":pep:`737` for more information. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:7229 -msgid "" -":gh:`111696`: Add :c:func:`PyType_GetModuleName` function to get the type's " -"module name. Equivalent to getting the ``type.__module__`` attribute. Patch " -"by Eric Snow and Victor Stinner." -msgstr "" - -#: ../NEWS:7233 -msgid "" -":gh:`111696`: Add :c:func:`PyType_GetFullyQualifiedName` function to get the" -" type's fully qualified name. Equivalent to " -"``f\"{type.__module__}.{type.__qualname__}\"``, or ``type.__qualname__`` if " -"``type.__module__`` is not a string or is equal to ``\"builtins\"``. Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:7239 -msgid "" -":gh:`85283`: The ``fcntl``, ``grp``, ``pwd``, ``termios``, ``_statistics`` " -"and ``_testconsole`` C extensions are now built with the :ref:`limited C API" -" `. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:7243 -msgid "" -":gh:`111140`: Add additional flags to :c:func:`PyLong_AsNativeBytes` and " -":c:func:`PyLong_FromNativeBytes` to allow the caller to determine how to " -"handle edge cases around values that fill the entire buffer." -msgstr "" - -#: ../NEWS:7247 -msgid ":gh:`113024`: Add :c:func:`PyObject_GenericHash` function." -msgstr "" - -#: ../NEWS:7251 -msgid "Python 3.13.0 alpha 5" -msgstr "" - -#: ../NEWS:7253 -msgid "*Release date: 2024-03-12*" -msgstr "" - -#: ../NEWS:7258 -msgid "" -":gh:`115398`: Allow controlling Expat >=2.6.0 reparse deferral " -"(:cve:`2023-52425`) by adding five new methods:" -msgstr "" - -#: ../NEWS:7261 -msgid ":meth:`xml.etree.ElementTree.XMLParser.flush`" -msgstr "" - -#: ../NEWS:7262 -msgid ":meth:`xml.etree.ElementTree.XMLPullParser.flush`" -msgstr "" - -#: ../NEWS:7263 -msgid ":meth:`xml.parsers.expat.xmlparser.GetReparseDeferralEnabled`" -msgstr "" - -#: ../NEWS:7264 -msgid ":meth:`xml.parsers.expat.xmlparser.SetReparseDeferralEnabled`" -msgstr "" - -#: ../NEWS:7265 -msgid ":meth:`xml.sax.expatreader.ExpatParser.flush`" -msgstr "" - -#: ../NEWS:7267 -msgid "" -":gh:`114572`: :meth:`ssl.SSLContext.cert_store_stats` and " -":meth:`ssl.SSLContext.get_ca_certs` now correctly lock access to the " -"certificate store, when the :class:`ssl.SSLContext` is shared across " -"multiple threads." -msgstr "" - -#: ../NEWS:7275 -msgid "" -":gh:`116604`: Respect the status of the garbage collector when indirect " -"calls are made via :c:func:`PyErr_CheckSignals` and the evaluation breaker. " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:7279 -msgid "" -":gh:`112087`: :class:`list` is now compatible with the implementation of " -":pep:`703`." -msgstr "" - -#: ../NEWS:7282 -msgid ":gh:`116381`: Add specialization for ``CONTAINS_OP``." -msgstr "" - -#: ../NEWS:7284 -msgid "" -":gh:`116296`: Fix possible refleak in :meth:`!object.__reduce__` internal " -"error handling." -msgstr "" - -#: ../NEWS:7287 -msgid "" -":gh:`115823`: Properly calculate error ranges in the parser when raising " -":exc:`SyntaxError` exceptions caused by invalid byte sequences. Patch by " -"Pablo Galindo" -msgstr "" - -#: ../NEWS:7291 -msgid "" -":gh:`115778`: Add ``tierN`` annotation for instruction definition in " -"interpreter DSL." -msgstr "" - -#: ../NEWS:7294 -msgid "" -":gh:`115733`: Fix crash when calling ``next()`` on exhausted list iterators." -msgstr "" - -#: ../NEWS:7296 -msgid ":gh:`115700`: The regen-cases build stage now works on Windows." -msgstr "" - -#: ../NEWS:7298 -msgid "" -":gh:`115347`: Fix bug where docstring was replaced by a redundant NOP when " -"Python is run with ``-OO``." -msgstr "" - -#: ../NEWS:7301 -msgid "" -":gh:`115323`: Make error message more meaningful for when " -":meth:`bytearray.extend` is called with a :class:`str` object." -msgstr "" - -#: ../NEWS:7304 -msgid "" -":gh:`112175`: Every ``PyThreadState`` now has its own ``eval_breaker``, " -"allowing specific threads to be interrupted." -msgstr "" - -#: ../NEWS:7307 -msgid "" -":gh:`115154`: Fix a bug that was causing the :func:`tokenize.untokenize` " -"function to handle unicode named literals incorrectly. Patch by Pablo " -"Galindo" -msgstr "" - -#: ../NEWS:7311 -msgid "" -":gh:`112433`: Add ability to force alignment of :mod:`ctypes.Structure` by " -"way of the new ``_align_`` attribute on the class." -msgstr "" - -#: ../NEWS:7314 -msgid "" -":gh:`104090`: The multiprocessing resource tracker now exits with non-zero " -"status code if a resource leak was detected. It still exits with status code" -" 0 otherwise." -msgstr "" - -#: ../NEWS:7318 -msgid "" -":gh:`105858`: Improve the constructors for :mod:`ast` nodes. Arguments of " -"list types now default to an empty list if omitted, and optional fields " -"default to ``None``. AST nodes now have an ``__annotations__`` attribute " -"with the expected types of their attributes. Passing unrecognized extra " -"arguments to AST nodes is deprecated and will become an error in Python " -"3.15. Omitting a required argument to an AST node is deprecated and will " -"become an error in Python 3.15. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:7326 -msgid ":gh:`101860`: Expose ``__name__`` attribute on property." -msgstr "" - -#: ../NEWS:7328 -msgid "" -":gh:`96497`: Fix incorrect resolution of mangled class variables used in " -"assignment expressions in comprehensions." -msgstr "" - -#: ../NEWS:7334 -msgid ":gh:`116600`: Fix :func:`repr` for global :class:`~enum.Flag` members." -msgstr "" - -#: ../NEWS:7336 -msgid "" -":gh:`116349`: :func:`platform.java_ver` is deprecated and will be removed in" -" 3.15. It was largely untested, had a confusing API, and was only useful for" -" Jython support." -msgstr "" - -#: ../NEWS:7340 -msgid "" -":gh:`116143`: Fix a race in pydoc ``_start_server``, eliminating a window in" -" which ``_start_server`` can return a thread that is \"serving\" but without" -" a ``docserver`` set." -msgstr "" - -#: ../NEWS:7344 -msgid "" -":gh:`116127`: :mod:`typing`: implement :pep:`705` which adds " -":data:`typing.ReadOnly` support to :class:`typing.TypedDict`." -msgstr "" - -#: ../NEWS:7347 -msgid "" -":gh:`116325`: :mod:`typing`: raise :exc:`SyntaxError` instead of " -":exc:`AttributeError` on forward references as empty strings." -msgstr "" - -#: ../NEWS:7350 -msgid "" -":gh:`115957`: When ``asyncio.TaskGroup.create_task`` is called on an " -"inactive ``asyncio.TaskGroup``, the given coroutine will be closed (which " -"prevents a ``RuntimeWarning``)." -msgstr "" - -#: ../NEWS:7354 -msgid "" -":gh:`115978`: Disable preadv(), readv(), pwritev(), and writev() on WASI." -msgstr "" - -#: ../NEWS:7356 -msgid "" -"Under wasmtime for WASI 0.2, these functions don't pass test_posix " -"(https://github.com/bytecodealliance/wasmtime/issues/7830)." -msgstr "" - -#: ../NEWS:7359 -msgid "" -":gh:`88352`: Fix the computation of the next rollover time in the " -":class:`logging.TimedRotatingFileHandler` handler. :meth:`!computeRollover` " -"now always returns a timestamp larger than the specified time and works " -"correctly during the DST change. :meth:`!doRollover` no longer overwrite the" -" already rolled over file, saving from data loss when run at midnight or " -"during repeated time at the DST change." -msgstr "" - -#: ../NEWS:7367 -msgid "" -":gh:`87115`: Set ``__main__.__spec__`` to ``None`` when running a script " -"with :mod:`pdb`" -msgstr "" - -#: ../NEWS:7370 -msgid "" -":gh:`76511`: Fix UnicodeEncodeError in :meth:`email.Message.as_string` that " -"results when a message that claims to be in the ascii character set actually" -" has non-ascii characters. Non-ascii characters are now replaced with the " -"U+FFFD replacement character, like in the ``replace`` error handler." -msgstr "" - -#: ../NEWS:7376 -msgid "" -":gh:`89547`: Add support for nested typing special forms like " -"Final[ClassVar[int]]." -msgstr "" - -#: ../NEWS:7379 -msgid ":gh:`65824`: Improve the ``less`` prompt in :mod:`pydoc`." -msgstr "" - -#: ../NEWS:7381 -msgid "" -":gh:`116040`: [Enum] fix by-value calls when second value is falsey; e.g. " -"Cardinal(1, 0)" -msgstr "" - -#: ../NEWS:7384 -msgid "" -":gh:`115821`: [Enum] Improve error message when calling super().__new__() in" -" custom __new__." -msgstr "" - -#: ../NEWS:7387 -msgid "" -":gh:`85644`: Use the ``XDG_CURRENT_DESKTOP`` environment variable in " -":mod:`webbrowser` to check desktop. Prefer it to the deprecated " -"``GNOME_DESKTOP_SESSION_ID`` for GNOME detection." -msgstr "" - -#: ../NEWS:7391 -msgid "" -":gh:`75988`: Fixed :func:`unittest.mock.create_autospec` to pass the call " -"through to the wrapped object to return the real result." -msgstr "" - -#: ../NEWS:7394 -msgid "" -":gh:`115881`: Fix issue where :func:`ast.parse` would incorrectly flag " -"conditional context managers (such as ``with (x() if y else z()): ...``) as " -"invalid syntax if ``feature_version=(3, 8)`` was passed. This reverts " -"changes to the grammar made as part of :gh:`94949`." -msgstr "" - -#: ../NEWS:7399 -msgid "" -":gh:`115886`: Fix silent truncation of the name with an embedded null " -"character in :class:`multiprocessing.shared_memory.SharedMemory`." -msgstr "" - -#: ../NEWS:7402 -msgid ":gh:`115532`: Add kernel density estimation to the statistics module." -msgstr "" - -#: ../NEWS:7404 -msgid "" -":gh:`115714`: On WASI, the :mod:`time` module no longer get process time " -"using ``times()`` or ``CLOCK_PROCESS_CPUTIME_ID``, system API is that is " -"unreliable and is likely to be removed from WASI. The affected clock " -"functions fall back to calling ``clock()``." -msgstr "" - -#: ../NEWS:7409 -msgid "" -":gh:`115809`: Improve algorithm for computing which rolled-over log files to" -" delete in :class:`logging.TimedRotatingFileHandler`. It is now reliable for" -" handlers without ``namer`` and with arbitrary deterministic ``namer`` that " -"leaves the datetime part in the file name unmodified." -msgstr "" - -#: ../NEWS:7414 -msgid "" -":gh:`74668`: :mod:`urllib.parse` functions :func:`~urllib.parse.parse_qs` " -"and :func:`~urllib.parse.parse_qsl` now support bytes arguments containing " -"raw and percent-encoded non-ASCII data." -msgstr "" - -#: ../NEWS:7418 -msgid "" -":gh:`67044`: :func:`csv.writer` now always quotes or escapes ``'\\r'`` and " -"``'\\n'``, regardless of *lineterminator* value." -msgstr "" - -#: ../NEWS:7421 -msgid "" -":gh:`115712`: Restore support of space delimiter with " -"``skipinitialspace=True`` in :mod:`csv`. :func:`csv.writer` now quotes empty" -" fields if delimiter is a space and skipinitialspace is true and raises " -"exception if quoting is not possible." -msgstr "" - -#: ../NEWS:7426 -msgid "" -":gh:`112364`: Fixed :func:`ast.unparse` to handle format_spec with ``\"``, " -"``'`` or ``\\\\``. Patched by Frank Hoffmann." -msgstr "" - -#: ../NEWS:7429 -msgid "" -":gh:`112997`: Stop logging potentially sensitive callback arguments in " -":mod:`asyncio` unless debug mode is active." -msgstr "" - -#: ../NEWS:7432 -msgid "" -":gh:`114914`: Fix an issue where an abandoned :class:`StreamWriter` would " -"not be garbage collected." -msgstr "" - -#: ../NEWS:7435 -msgid "" -":gh:`111358`: Fix a bug in " -":meth:`asyncio.BaseEventLoop.shutdown_default_executor` to ensure the " -"timeout passed to the coroutine behaves as expected." -msgstr "" - -#: ../NEWS:7439 -msgid "" -":gh:`115618`: Fix improper decreasing the reference count for ``None`` " -"argument in :class:`property` methods :meth:`~property.getter`, " -":meth:`~property.setter` and :meth:`~property.deleter`." -msgstr "" - -#: ../NEWS:7443 -msgid "" -":gh:`112720`: Refactor :class:`dis.ArgResolver` to make it possible to " -"subclass and change the way jump args are interpreted." -msgstr "" - -#: ../NEWS:7446 -msgid "" -":gh:`112006`: Fix :func:`inspect.unwrap` for types with the ``__wrapper__`` " -"data descriptor. Fix :meth:`inspect.Signature.from_callable` for builtins " -":func:`classmethod` and :func:`staticmethod`." -msgstr "" - -#: ../NEWS:7450 -msgid "" -":gh:`101293`: Support callables with the ``__call__()`` method and types " -"with ``__new__()`` and ``__init__()`` methods set to class methods, static " -"methods, bound methods, partial functions, and other types of methods and " -"descriptors in :meth:`inspect.Signature.from_callable`." -msgstr "" - -#: ../NEWS:7455 -msgid ":gh:`103092`: Isolate :mod:`!_lsprof` (apply :pep:`687`)." -msgstr "" - -#: ../NEWS:7457 -msgid "" -":gh:`113942`: :mod:`pydoc` no longer skips global functions implemented as " -"builtin methods, such as :class:`~type.MethodDescriptorType` and " -":class:`~type.WrapperDescriptorType`." -msgstr "" - -#: ../NEWS:7461 -msgid "" -":gh:`115256`: Added DeprecationWarning when accessing the tarfile attribute " -"of TarInfo objects. The attribute is never used internally and is only " -"attached to TarInfos when the tarfile is opened in write-mode, not read-" -"mode. The attribute creates an unnecessary reference cycle which may cause " -"corruption when not closing the handle after writing a tarfile." -msgstr "" - -#: ../NEWS:7467 -msgid "" -":gh:`115197`: ``urllib.request`` no longer resolves the hostname before " -"checking it against the system's proxy bypass list on macOS and Windows." -msgstr "" - -#: ../NEWS:7470 -msgid "" -":gh:`113812`: :meth:`DatagramTransport.sendto` will now send zero-length " -"datagrams if called with an empty bytes object. The transport flow control " -"also now accounts for the datagram header when calculating the buffer size." -msgstr "" - -#: ../NEWS:7475 -msgid "" -":gh:`114763`: Protect modules loaded with :class:`importlib.util.LazyLoader`" -" from race conditions when multiple threads try to access attributes before " -"the loading is complete." -msgstr "" - -#: ../NEWS:7479 -msgid "" -":gh:`114709`: :func:`posixpath.commonpath` now raises a :exc:`ValueError` " -"exception when passed an empty iterable. Previously, :exc:`IndexError` was " -"raised." -msgstr "" - -#: ../NEWS:7483 -msgid "" -":func:`posixpath.commonpath` now raises a :exc:`TypeError` exception when " -"passed ``None``. Previously, :exc:`ValueError` was raised." -msgstr "" - -#: ../NEWS:7486 -msgid "" -":gh:`114610`: Fix bug where :meth:`pathlib.PurePath.with_stem` converted a " -"non-empty path suffix to a stem when given an empty *stem* argument. It now " -"raises :exc:`ValueError`, just like :meth:`pathlib.PurePath.with_suffix` " -"does when called on a path with an empty stem, given a non-empty *suffix* " -"argument." -msgstr "" - -#: ../NEWS:7492 -msgid "" -":gh:`107361`: Add :data:`ssl.VERIFY_X509_PARTIAL_CHAIN` and " -":data:`VERIFY_X509_STRICT` to the default SSL context created with " -":func:`ssl.create_default_context`." -msgstr "" - -#: ../NEWS:7496 -msgid "" -":gh:`112281`: Allow creating :ref:`union of types` for " -":class:`typing.Annotated` with unhashable metadata." -msgstr "" - -#: ../NEWS:7499 -msgid "" -":gh:`111775`: Fix :meth:`importlib.resources.simple.ResourceHandle.open` for" -" text mode, added missed ``stream`` argument." -msgstr "" - -#: ../NEWS:7502 -msgid ":gh:`90095`: Make .pdbrc and -c work with any valid pdb commands." -msgstr "" - -#: ../NEWS:7504 -msgid "" -":gh:`107625`: Raise :exc:`configparser.ParsingError` from " -":meth:`~configparser.ConfigParser.read` and " -":meth:`~configparser.ConfigParser.read_file` methods of " -":class:`configparser.ConfigParser` if a key without a corresponding value is" -" continued (that is, followed by an indented line)." -msgstr "" - -#: ../NEWS:7510 -msgid "" -":gh:`107155`: Fix incorrect output of ``help(x)`` where ``x`` is a " -":keyword:`lambda` function, which has an ``__annotations__`` dictionary " -"attribute with a ``\"return\"`` key." -msgstr "" - -#: ../NEWS:7514 -msgid "" -":gh:`57141`: Add option for *non-shallow* comparisons to " -":class:`filecmp.dircmp` like :func:`filecmp.cmp`. Original patch by Steven " -"Ward. Enhanced by Tobias Rautenkranz" -msgstr "" - -#: ../NEWS:7518 -msgid "" -":gh:`69990`: :meth:`Profile.print_stats` has been improved to accept " -"multiple sort arguments. Patched by Chiu-Hsiang Hsu and Furkan Onder." -msgstr "" - -#: ../NEWS:7521 -msgid ":gh:`104061`: Add :data:`socket.SO_BINDTOIFINDEX` constant." -msgstr "" - -#: ../NEWS:7523 -msgid ":gh:`60346`: Fix ArgumentParser inconsistent with parse_known_args." -msgstr "" - -#: ../NEWS:7525 -msgid ":gh:`102389`: Add ``windows_31j`` to aliases for ``cp932`` codec" -msgstr "" - -#: ../NEWS:7527 -msgid "" -":gh:`72249`: :func:`functools.partial`s of :func:`repr` has been improved to" -" include the :term:`module` name. Patched by Furkan Onder and Anilyka Barry." -msgstr "" - -#: ../NEWS:7531 -msgid "" -":gh:`100985`: Update HTTPSConnection to consistently wrap IPv6 Addresses " -"when using a proxy." -msgstr "" - -#: ../NEWS:7534 -msgid "" -":gh:`100884`: email: fix misfolding of comma in address-lists over multiple " -"lines in combination with unicode encoding." -msgstr "" - -#: ../NEWS:7537 -msgid "" -":gh:`95782`: Fix :func:`io.BufferedReader.tell`, " -":func:`io.BufferedReader.seek`, :func:`!_pyio.BufferedReader.tell`, " -":func:`io.BufferedRandom.tell`, :func:`io.BufferedRandom.seek` and " -":func:`!_pyio.BufferedRandom.tell` being able to return negative offsets." -msgstr "" - -#: ../NEWS:7542 -msgid "" -":gh:`96310`: Fix a traceback in :mod:`argparse` when all options in a " -"mutually exclusive group are suppressed." -msgstr "" - -#: ../NEWS:7545 -msgid "" -":gh:`93205`: Fixed a bug in " -":class:`logging.handlers.TimedRotatingFileHandler` where multiple rotating " -"handler instances pointing to files with the same name but different " -"extensions would conflict and not delete the correct files." -msgstr "" - -#: ../NEWS:7550 -msgid ":issue:`31116`: Add Z85 encoding to ``base64``." -msgstr "" - -#: ../NEWS:7552 -msgid "" -":issue:`44865`: Add missing call to localization function in " -":mod:`argparse`." -msgstr "" - -#: ../NEWS:7554 -msgid "" -":issue:`43952`: Fix :meth:`multiprocessing.connection.Listener.accept` to " -"accept empty bytes as authkey. Not accepting empty bytes as key causes it to" -" hang indefinitely." -msgstr "" - -#: ../NEWS:7558 -msgid "" -":issue:`42125`: linecache: get module name from ``__spec__`` if available. " -"This allows getting source code for the ``__main__`` module when a custom " -"loader is used." -msgstr "" - -#: ../NEWS:7562 -msgid "" -":issue:`41122`: Failing to pass arguments properly to " -":func:`functools.singledispatchmethod` now throws a TypeError instead of " -"hitting an index out of bounds internally." -msgstr "" - -#: ../NEWS:7566 -msgid "" -":issue:`40818`: The asyncio REPL now runs :data:`sys.__interactivehook__` on" -" startup. The default implementation of :data:`sys.__interactivehook__` " -"provides auto-completion to the asyncio REPL. Patch contributed by Rémi " -"Lapeyre." -msgstr "" - -#: ../NEWS:7571 -msgid "" -":issue:`33775`: Add 'default' and 'version' help text for localization in " -"argparse." -msgstr "" - -#: ../NEWS:7577 -msgid "" -":gh:`115399`: Document :cve:`2023-52425` of Expat <2.6.0 under \"XML " -"vulnerabilities\"." -msgstr "" - -#: ../NEWS:7580 -msgid ":gh:`109653`: Improve import time of :mod:`uuid` on Linux." -msgstr "" - -#: ../NEWS:7585 -msgid "" -":gh:`71052`: Add test exclusions to support running the test suite on " -"Android." -msgstr "" - -#: ../NEWS:7588 -msgid "" -":gh:`71052`: Enable ``test_concurrent_futures`` on platforms that support " -"threading but not multiprocessing." -msgstr "" - -#: ../NEWS:7591 -msgid "" -":gh:`115796`: Make '_testinternalcapi.assemble_code_object' construct the " -"exception table for the code object." -msgstr "" - -#: ../NEWS:7594 -msgid "" -":gh:`115720`: Leak tests (``-R``, ``--huntrleaks``) now show a summary of " -"the number of leaks found in each iteration." -msgstr "" - -#: ../NEWS:7597 -msgid "" -":gh:`115122`: Add ``--bisect`` option to regrtest test runner: run failed " -"tests with ``test.bisect_cmd`` to identify failing tests. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:7601 -msgid "" -":gh:`115596`: Fix ``ProgramPriorityTests`` in ``test_os`` permanently " -"changing the process priority." -msgstr "" - -#: ../NEWS:7604 -msgid "" -":gh:`115556`: On Windows, commas passed in arguments to " -"``Tools\\buildbot\\test.bat`` and ``PCbuild\\\\rt.bat`` are now properly " -"handled." -msgstr "" - -#: ../NEWS:7608 -msgid "" -":gh:`115420`: Fix translation of exception handler targets by " -"``_testinternalcapi.optimize_cfg``." -msgstr "" - -#: ../NEWS:7611 -msgid "" -":gh:`115376`: Fix segfault in ``_testinternalcapi.compiler_codegen`` on bad " -"input." -msgstr "" - -#: ../NEWS:7617 -msgid "" -":gh:`116313`: Get WASI builds to work under wasmtime 18 w/ WASI 0.2/preview2" -" primitives." -msgstr "" - -#: ../NEWS:7620 -msgid "" -":gh:`71052`: Change Android's :data:`sys.platform` from ``\"linux\"`` to " -"``\"android\"``." -msgstr "" - -#: ../NEWS:7623 -msgid "" -":gh:`116117`: Backport ``libb2``'s PR #42 to fix compiling CPython on 32-bit" -" Windows with ``clang-cl``." -msgstr "" - -#: ../NEWS:7626 -msgid ":gh:`71052`: Fix several Android build issues" -msgstr "" - -#: ../NEWS:7628 -msgid "" -":gh:`114099`: A testbed project was added to run the test suite on iOS." -msgstr "" - -#: ../NEWS:7630 -msgid "" -":gh:`115350`: Fix building ctypes module with -DWIN32_LEAN_AND_MEAN defined" -msgstr "" - -#: ../NEWS:7632 -msgid ":gh:`111225`: Link extension modules against libpython on Android." -msgstr "" - -#: ../NEWS:7634 -msgid "" -":gh:`115737`: The install name for libPython is now correctly set for non-" -"framework macOS builds." -msgstr "" - -#: ../NEWS:7637 -msgid "" -":gh:`114099`: Makefile targets were added to support compiling an iOS-" -"compatible framework build." -msgstr "" - -#: ../NEWS:7643 -msgid "" -":gh:`116012`: Ensure the value of ``GetLastError()`` is preserved across GIL" -" operations." -msgstr "" - -#: ../NEWS:7646 -msgid "" -":gh:`115582`: Building extensions intended for free-threaded builds of " -"CPython now require compiling with ``/DPy_GIL_DISABLED`` manually when using" -" a regular install. This is expected to change in future releases." -msgstr "" - -#: ../NEWS:7650 -msgid "" -":gh:`115554`: The installer now has more strict rules about updating the " -":ref:`launcher`. In general, most users only have a single launcher " -"installed and will see no difference. When multiple launchers have been " -"installed, the option to install the launcher is disabled until all but one " -"have been removed. Downgrading the launcher (which was never allowed) is now" -" more obviously blocked." -msgstr "" - -#: ../NEWS:7657 -msgid "" -":gh:`115543`: :ref:`launcher` can now detect Python 3.13 when installed from" -" the Microsoft Store, and will install Python 3.12 by default when " -":envvar:`PYLAUNCHER_ALLOW_INSTALL` is set." -msgstr "" - -#: ../NEWS:7664 -msgid ":gh:`116145`: Update macOS installer to Tcl/Tk 8.6.14." -msgstr "" - -#: ../NEWS:7669 -msgid "" -":gh:`88516`: On macOS show a proxy icon in the title bar of editor windows " -"to match platform behaviour." -msgstr "" - -#: ../NEWS:7675 -msgid ":gh:`100176`: Remove outdated Tools/{io,cc,string}bench" -msgstr "" - -#: ../NEWS:7677 -msgid "" -":issue:`45101`: Add consistency in usage message IO between 2 versions of " -"python-config." -msgstr "" - -#: ../NEWS:7683 -msgid "" -":gh:`114626`: Add again ``_PyCFunctionFastWithKeywords`` name, removed in " -"Python 3.13 alpha 4 by mistake. Keep the old private " -"``_PyCFunctionFastWithKeywords`` name (Python 3.7) as an alias to the new " -"public name ``PyCFunctionFastWithKeywords`` (Python 3.13a4). Patch by Victor" -" Stinner." -msgstr "" - -#: ../NEWS:7689 -msgid "" -":gh:`111418`: Add :c:macro:`PyHASH_MODULUS`, :c:macro:`PyHASH_BITS`, " -":c:macro:`PyHASH_INF` and :c:macro:`PyHASH_IMAG` C macros. Patch by Sergey " -"B Kirpichev." -msgstr "" - -#: ../NEWS:7695 -msgid "Python 3.13.0 alpha 4" -msgstr "" - -#: ../NEWS:7697 -msgid "*Release date: 2024-02-15*" -msgstr "" - -#: ../NEWS:7702 -msgid ":gh:`115399`: Update bundled libexpat to 2.6.0" -msgstr "" - -#: ../NEWS:7704 -msgid "" -":gh:`115243`: Fix possible crashes in :meth:`collections.deque.index` when " -"the deque is concurrently modified." -msgstr "" - -#: ../NEWS:7710 -msgid "" -":gh:`112087`: For an empty reverse iterator for list will be reduced to " -":func:`reversed`. Patch by Donghee Na" -msgstr "" - -#: ../NEWS:7713 -msgid "" -":gh:`114570`: Add :exc:`PythonFinalizationError` exception. This exception " -"derived from :exc:`RuntimeError` is raised when an operation is blocked " -"during the :term:`Python finalization `. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:7718 -msgid "" -":gh:`114695`: Add :func:`sys._clear_internal_caches`, which clears all " -"internal performance-related caches (and deprecate the less-general " -":func:`sys._clear_type_cache` function)." -msgstr "" - -#: ../NEWS:7722 -msgid "" -":gh:`114828`: Fix compilation crashes in uncommon code examples using " -":func:`super` inside a comprehension in a class body." -msgstr "" - -#: ../NEWS:7725 -msgid "" -":gh:`112069`: Adapt :class:`set` and :class:`frozenset` methods to Argument " -"Clinic." -msgstr "" - -#: ../NEWS:7728 -msgid "" -":gh:`115011`: Setters for members with an unsigned integer type now support " -"the same range of valid values for objects that has a " -":meth:`~object.__index__` method as for :class:`int`." -msgstr "" - -#: ../NEWS:7732 -msgid "" -":gh:`114887`: Changed socket type validation in " -":meth:`~asyncio.loop.create_datagram_endpoint` to accept all non-stream " -"sockets. This fixes a regression in compatibility with raw sockets." -msgstr "" - -#: ../NEWS:7736 -msgid "" -":gh:`114944`: Fixes a race between ``PyParkingLot_Park`` and " -"``_PyParkingLot_UnparkAll``." -msgstr "" - -#: ../NEWS:7739 -msgid "" -":gh:`113462`: Limit the number of versions that a single class can use. " -"Prevents a few wayward classes using up all the version numbers." -msgstr "" - -#: ../NEWS:7742 -msgid "" -":gh:`76763`: The :func:`chr` builtin function now always raises " -":exc:`ValueError` for values outside the valid range. Previously it raised " -":exc:`OverflowError` for very large or small values." -msgstr "" - -#: ../NEWS:7746 -msgid "" -":gh:`114806`: No longer specialize calls to classes, if those classes have " -"metaclasses. Fixes bug where the ``__call__`` method of the metaclass was " -"not being called." -msgstr "" - -#: ../NEWS:7750 -msgid "" -":gh:`107944`: Improve error message for function calls with bad keyword " -"arguments via getargs" -msgstr "" - -#: ../NEWS:7753 -msgid "" -":gh:`112529`: The free-threaded build no longer allocates space for the " -"``PyGC_Head`` structure in objects that support cyclic garbage collection. A" -" number of other fields and data structures are used as replacements, " -"including ``ob_gc_bits``, ``ob_tid``, and mimalloc internal data structures." -msgstr "" - -#: ../NEWS:7759 -msgid ":gh:`114456`: Lower the recursion limit under a debug build of WASI." -msgstr "" - -#: ../NEWS:7761 -msgid "" -":gh:`114083`: Compiler applies folding of LOAD_CONST with following " -"instruction in a separate pass before other optimisations. This enables jump" -" threading in certain circumstances." -msgstr "" - -#: ../NEWS:7765 -msgid "" -":gh:`114388`: Fix a :exc:`RuntimeWarning` emitted when assign an integer-" -"like value that is not an instance of :class:`int` to an attribute that " -"corresponds to a C struct member of :ref:`type ` T_UINT " -"and T_ULONG. Fix a double :exc:`RuntimeWarning` emitted when assign a " -"negative integer value to an attribute that corresponds to a C struct member" -" of type T_UINT." -msgstr "" - -#: ../NEWS:7772 -msgid "" -":gh:`114265`: Compiler propagates line numbers before optimization, leading " -"to more optimization opportunities and removing the need for the " -"``guarantee_lineno_for_exits`` hack." -msgstr "" - -#: ../NEWS:7776 -msgid "" -":gh:`112529`: The free-threaded build now has its own thread-safe GC " -"implementation that uses mimalloc to find GC tracked objects. It is non-" -"generational, unlike the existing GC implementation." -msgstr "" - -#: ../NEWS:7780 -msgid "" -":gh:`114050`: Fix segmentation fault caused by an incorrect format string in" -" ``TypeError`` exception when more than two arguments are passed to ``int``." -msgstr "" - -#: ../NEWS:7784 -msgid "" -":gh:`112354`: The ``END_FOR`` instruction now pops only one value. This is " -"to better support side exits in loops." -msgstr "" - -#: ../NEWS:7787 -msgid "" -":gh:`113884`: Make :class:`queue.SimpleQueue` thread safe when the GIL is " -"disabled." -msgstr "" - -#: ../NEWS:7790 -msgid "" -":gh:`114058`: Implement the foundations of the Tier 2 redundancy eliminator." -msgstr "" - -#: ../NEWS:7792 -msgid "" -":gh:`113939`: frame.clear(): Clear frame.f_locals as well, and not only the " -"fast locals. This is relevant once frame.f_locals was accessed, which would " -"contain also references to all the locals." -msgstr "" - -#: ../NEWS:7796 -msgid "" -":gh:`112050`: Convert :class:`collections.deque` to use Argument Clinic." -msgstr "" - -#: ../NEWS:7798 -msgid "" -":gh:`112050`: Make methods on :class:`collections.deque` thread-safe when " -"the GIL is disabled." -msgstr "" - -#: ../NEWS:7801 -msgid "" -":gh:`113464`: Add an option (``--enable-experimental-jit`` for " -"``configure``-based builds or ``--experimental-jit`` for ``PCbuild``-based " -"ones) to build an *experimental* just-in-time compiler, based on `copy-and-" -"patch `_" -msgstr "" - -#: ../NEWS:7806 -msgid "" -":gh:`113055`: Make interp->obmalloc a pointer. For interpreters that share " -"state with the main interpreter, this points to the same static memory " -"structure. For interpreters with their own obmalloc state, it is heap " -"allocated. Add free_obmalloc_arenas() which will free the obmalloc arenas " -"and radix tree structures for interpreters with their own obmalloc state." -msgstr "" - -#: ../NEWS:7812 -msgid "" -":gh:`55664`: Add warning when creating :class:`type` using a namespace " -"dictionary with non-string keys. Patched by Daniel Urban and Furkan Onder." -msgstr "" - -#: ../NEWS:7815 -msgid ":gh:`104530`: Use native Win32 condition variables." -msgstr "" - -#: ../NEWS:7820 -msgid "" -":gh:`115392`: Fix a bug in :mod:`doctest` where incorrect line numbers would" -" be reported for decorated functions." -msgstr "" - -#: ../NEWS:7823 -msgid "" -":gh:`114563`: Fix several :func:`format` bugs when using the C " -"implementation of :class:`~decimal.Decimal`: * memory leak in some rare " -"cases when using the ``z`` format option (coerce negative 0) * incorrect " -"output when applying the ``z`` format option to type ``F`` (fixed-point with" -" capital ``NAN`` / ``INF``) * incorrect output when applying the ``#`` " -"format option (alternate form)" -msgstr "" - -#: ../NEWS:7830 -msgid "" -":gh:`102840`: Fix confused traceback when floordiv, mod, or divmod " -"operations happens between instances of :class:`fractions.Fraction` and " -":class:`complex`." -msgstr "" - -#: ../NEWS:7834 -msgid "" -":gh:`115165`: Most exceptions are now ignored when attempting to set the " -"``__orig_class__`` attribute on objects returned when calling :mod:`typing` " -"generic aliases (including generic aliases created using " -":data:`typing.Annotated`). Previously only :exc:`AttributeError` was " -"ignored. Patch by Dave Shawley." -msgstr "" - -#: ../NEWS:7840 -msgid "" -":gh:`112903`: Fix \"issubclass() arg 1 must be a class\" errors in certain " -"cases of multiple inheritance with generic aliases (regression in early 3.13" -" alpha releases)." -msgstr "" - -#: ../NEWS:7844 -msgid "" -":gh:`115133`: Fix tests for :class:`~xml.etree.ElementTree.XMLPullParser` " -"with Expat 2.6.0." -msgstr "" - -#: ../NEWS:7847 -msgid "" -":gh:`115059`: :meth:`io.BufferedRandom.read1` now flushes the underlying " -"write buffer." -msgstr "" - -#: ../NEWS:7850 -msgid "" -":gh:`79382`: Trailing ``**`` no longer allows to match files and non-" -"existing paths in recursive :func:`~glob.glob`." -msgstr "" - -#: ../NEWS:7853 -msgid "" -":gh:`67837`: Avoid race conditions in the creation of directories during " -"concurrent extraction in :mod:`tarfile` and :mod:`zipfile`." -msgstr "" - -#: ../NEWS:7856 -msgid "" -":gh:`115060`: Speed up :meth:`pathlib.Path.glob` by removing redundant regex" -" matching." -msgstr "" - -#: ../NEWS:7859 -msgid "" -":gh:`97928`: Partially revert the behavior of :meth:`tkinter.Text.count`. By" -" default it preserves the behavior of older Python versions, except that " -"setting ``wantobjects`` to 0 no longer has effect. Add a new parameter " -"*return_ints*: specifying ``return_ints=True`` makes ``Text.count()`` always" -" returning the single count as an integer instead of a 1-tuple or ``None``." -msgstr "" - -#: ../NEWS:7866 -msgid "" -":gh:`114628`: When csv.Error is raised when handling TypeError, do not print" -" the TypeError traceback." -msgstr "" - -#: ../NEWS:7869 -msgid "" -":gh:`85984`: Added ``_POSIX_VDISABLE`` from C's ```` to " -":mod:`termios`." -msgstr "" - -#: ../NEWS:7872 -msgid ":gh:`114965`: Update bundled pip to 24.0" -msgstr "" - -#: ../NEWS:7874 -msgid "" -":gh:`114959`: :mod:`tarfile` no longer ignores errors when trying to extract" -" a directory on top of a file." -msgstr "" - -#: ../NEWS:7877 -msgid ":gh:`114894`: Add :meth:`array.array.clear`." -msgstr "" - -#: ../NEWS:7879 -msgid "" -":gh:`114071`: Support tuple subclasses using auto() for enum member value." -msgstr "" - -#: ../NEWS:7881 -msgid "" -":gh:`109475`: Fix support of explicit option value \"--\" in :mod:`argparse`" -" (e.g. ``--option=--``)." -msgstr "" - -#: ../NEWS:7884 -msgid "" -":gh:`49766`: Fix :class:`~datetime.date`-:class:`~datetime.datetime` " -"comparison. Now the special comparison methods like ``__eq__`` and " -"``__lt__`` return :data:`NotImplemented` if one of comparands is " -":class:`!date` and other is :class:`!datetime` instead of ignoring the time " -"part and the time zone or forcefully return \"not equal\" or raise " -":exc:`TypeError`. It makes comparison of :class:`!date` and " -":class:`!datetime` subclasses more symmetric and allows to change the " -"default behavior by overriding the special comparison methods in subclasses." -msgstr "" - -#: ../NEWS:7894 -msgid "" -":gh:`110190`: Fix ctypes structs with array on Windows ARM64 platform by " -"setting ``MAX_STRUCT_SIZE`` to 32 in stgdict. Patch by Diego Russo" -msgstr "" - -#: ../NEWS:7897 -msgid "" -":gh:`114678`: Ensure that deprecation warning for 'N' specifier in " -":class:`~decimal.Decimal` format is not raised for cases where 'N' appears " -"in other places in the format specifier. Based on patch by Stefan Krah." -msgstr "" - -#: ../NEWS:7901 -msgid "" -":gh:`70303`: Return both files and directories from " -":meth:`pathlib.Path.glob` if a pattern ends with \"``**``\". Previously only" -" directories were returned." -msgstr "" - -#: ../NEWS:7905 -msgid "" -":gh:`109653`: Improve import time of :mod:`importlib.metadata` and " -":mod:`email.utils`." -msgstr "" - -#: ../NEWS:7908 -msgid "" -":gh:`113280`: Fix a leak of open socket in rare cases when error occurred in" -" :class:`ssl.SSLSocket` creation." -msgstr "" - -#: ../NEWS:7911 -msgid "" -":gh:`77749`: :meth:`email.policy.EmailPolicy.fold` now always encodes non-" -"ASCII characters in headers if :attr:`~email.policy.EmailPolicy.utf8` is " -"false." -msgstr "" - -#: ../NEWS:7915 -msgid "" -":gh:`83383`: Synchronization of the :mod:`dbm.dumb` database is now no-op if" -" there was no modification since opening or last synchronization. The " -"directory file for a newly created empty :mod:`dbm.dumb` database is now " -"created immediately after opening instead of deferring this until " -"synchronizing or closing." -msgstr "" - -#: ../NEWS:7921 -msgid "" -":gh:`91602`: Add *filter* keyword-only parameter to " -":meth:`sqlite3.Connection.iterdump` for filtering database objects to dump. " -"Patch by Mariusz Felisiak." -msgstr "" - -#: ../NEWS:7925 -msgid "" -":gh:`112451`: Prohibit subclassing pure-Python :class:`datetime.timezone`. " -"This is consistent with C-extension implementation. Patch by Mariusz " -"Felisiak." -msgstr "" - -#: ../NEWS:7929 -msgid "" -":gh:`69893`: Add the :meth:`!close` method for the iterator returned by " -":func:`xml.etree.ElementTree.iterparse`." -msgstr "" - -#: ../NEWS:7932 -msgid "" -":gh:`109653`: Reduce the import time of :mod:`threading` module by ~50%. " -"Patch by Daniel Hollas." -msgstr "" - -#: ../NEWS:7935 -msgid "" -":gh:`114492`: Make the result of :func:`termios.tcgetattr` reproducible on " -"Alpine Linux. Previously it could leave a random garbage in some fields." -msgstr "" - -#: ../NEWS:7938 -msgid "" -":gh:`114315`: Make :class:`threading.Lock` a real class, not a factory " -"function. Add ``__new__`` to ``_thread.lock`` type." -msgstr "" - -#: ../NEWS:7941 -msgid "" -":gh:`100414`: Add :mod:`dbm.sqlite3` as a backend to :mod:`dbm`, and make it" -" the new default :mod:`!dbm` backend. Patch by Raymond Hettinger and Erlend " -"E. Aasland." -msgstr "" - -#: ../NEWS:7945 -msgid "" -":gh:`113267`: Revert changes in :gh:`106584` which made calls of " -"``TestResult`` methods ``startTest()`` and ``stopTest()`` unbalanced." -msgstr "" - -#: ../NEWS:7948 -msgid "" -":gh:`75128`: Ignore an :exc:`OSError` in " -":meth:`asyncio.BaseEventLoop.create_server` when IPv6 is available but the " -"interface cannot actually support it." -msgstr "" - -#: ../NEWS:7952 -msgid "" -":gh:`114423`: ``_DummyThread`` entries in ``threading._active`` are now " -"automatically removed when the related thread dies." -msgstr "" - -#: ../NEWS:7955 -msgid "" -":gh:`114257`: Dismiss the :exc:`FileNotFound` error in " -":func:`ctypes.util.find_library` and just return ``None`` on Linux." -msgstr "" - -#: ../NEWS:7958 -msgid "" -":gh:`114321`: Expose more platform specific constants in the :mod:`fcntl` " -"module on Linux, macOS, FreeBSD and NetBSD." -msgstr "" - -#: ../NEWS:7961 -msgid "" -":gh:`114328`: The :func:`tty.setcbreak` and new :func:`tty.cfmakecbreak` no " -"longer clears the terminal input ICRLF flag. This fixes a regression " -"introduced in 3.12 that no longer matched how OSes define cbreak mode in " -"their ``stty(1)`` manual pages." -msgstr "" - -#: ../NEWS:7966 -msgid "" -":gh:`114281`: Remove type hints from ``Lib/asyncio/staggered.py``. The " -"annotations in the `typeshed `__ project" -" should be used instead." -msgstr "" - -#: ../NEWS:7970 -msgid "" -":gh:`101438`: Avoid reference cycle in ElementTree.iterparse. The iterator " -"returned by ``ElementTree.iterparse`` may hold on to a file descriptor. The " -"reference cycle prevented prompt clean-up of the file descriptor if the " -"returned iterator was not exhausted." -msgstr "" - -#: ../NEWS:7975 -msgid "" -":gh:`114198`: The signature for the ``__replace__`` method on " -":mod:`dataclasses` now has the first argument named ``self``, rather than " -"``obj``." -msgstr "" - -#: ../NEWS:7979 -msgid "" -":gh:`104522`: :exc:`OSError` raised when run a subprocess now only has " -"*filename* attribute set to *cwd* if the error was caused by a failed " -"attempt to change the current directory." -msgstr "" - -#: ../NEWS:7983 -msgid "" -":gh:`114149`: Enum: correctly handle tuple subclasses in custom ``__new__``." -msgstr "" - -#: ../NEWS:7985 -msgid "" -":gh:`83648`: Support deprecation of options, positional arguments and " -"subcommands in :mod:`argparse`." -msgstr "" - -#: ../NEWS:7988 -msgid ":gh:`114087`: Speed up ``dataclasses.asdict`` up to 1.35x." -msgstr "" - -#: ../NEWS:7990 -msgid "" -":gh:`109534`: Fix a reference leak in " -":class:`asyncio.selector_events.BaseSelectorEventLoop` when SSL handshakes " -"fail. Patch contributed by Jamie Phan." -msgstr "" - -#: ../NEWS:7994 -msgid "" -":gh:`79634`: Accept :term:`path-like objects ` as patterns" -" in :meth:`pathlib.Path.glob` and :meth:`~pathlib.Path.rglob`." -msgstr "" - -#: ../NEWS:7997 -msgid "" -":gh:`112202`: Ensure that a :func:`asyncio.Condition.notify` call does not " -"get lost if the awakened ``Task`` is simultaneously cancelled or encounters " -"any other error." -msgstr "" - -#: ../NEWS:8001 -msgid "" -":gh:`113951`: Fix the behavior of ``tag_unbind()`` methods of " -":class:`tkinter.Text` and :class:`tkinter.Canvas` classes with three " -"arguments. Previously, ``widget.tag_unbind(tag, sequence, funcid)`` " -"destroyed the current binding for *sequence*, leaving *sequence* unbound, " -"and deleted the *funcid* command. Now it removes only *funcid* from the " -"binding for *sequence*, keeping other commands, and deletes the *funcid* " -"command. It leaves *sequence* unbound only if *funcid* was the last bound " -"command." -msgstr "" - -#: ../NEWS:8010 -msgid "" -":gh:`97959`: Fix rendering class methods, bound methods, method and function" -" aliases in :mod:`pydoc`. Class methods no longer have \"method of " -"builtins.type instance\" note. Corresponding notes are now added for class " -"and unbound methods. Method and function aliases now have references to the " -"module or the class where the origin was defined if it differs from the " -"current. Bound methods are now listed in the static methods section. Methods" -" of builtin classes are now supported as well as methods of Python classes." -msgstr "" - -#: ../NEWS:8019 -msgid "" -":gh:`113796`: Add more validation checks in the :class:`csv.Dialect` " -"constructor. :exc:`ValueError` is now raised if the same character is used " -"in different roles." -msgstr "" - -#: ../NEWS:8023 -msgid "" -":gh:`113732`: Fix support of :data:`~csv.QUOTE_NOTNULL` and " -":data:`~csv.QUOTE_STRINGS` in :func:`csv.reader`." -msgstr "" - -#: ../NEWS:8026 -msgid "" -":gh:`113225`: Speed up :meth:`pathlib.Path.walk` by using " -":attr:`os.DirEntry.path` where possible." -msgstr "" - -#: ../NEWS:8029 -msgid "" -":gh:`89039`: When replace() method is called on a subclass of datetime, date" -" or time, properly call derived constructor. Previously, only the base " -"class's constructor was called." -msgstr "" - -#: ../NEWS:8033 -msgid "" -"Also, make sure to pass non-zero fold values when creating subclasses in " -"various methods. Previously, fold was silently ignored." -msgstr "" - -#: ../NEWS:8036 -msgid "" -":gh:`112919`: Speed-up :func:`datetime.datetime.replace`, " -":func:`datetime.date.replace` and :func:`datetime.time.replace`." -msgstr "" - -#: ../NEWS:8039 -msgid "" -":gh:`59013`: Set breakpoint on the first executable line of the function, " -"instead of the line of function definition when the user do ``break func`` " -"using :mod:`pdb`" -msgstr "" - -#: ../NEWS:8043 -msgid "" -":gh:`112343`: Improve handling of pdb convenience variables to avoid " -"replacing string contents." -msgstr "" - -#: ../NEWS:8046 -msgid "" -":gh:`112240`: Add option to calendar module CLI to specify the weekday to " -"start each week. Patch by Steven Ward." -msgstr "" - -#: ../NEWS:8049 -msgid "" -":gh:`111741`: Recognise ``image/webp`` as a standard format in the " -":mod:`mimetypes` module." -msgstr "" - -#: ../NEWS:8052 -msgid "" -":gh:`43457`: Fix the :mod:`tkinter` widget method :meth:`!wm_attributes`. It" -" now accepts the attribute name without the minus prefix to get window " -"attributes and allows to specify attributes and values to set as keyword " -"arguments. Add new optional keyword argument *return_python_dict*: calling " -"``w.wm_attributes(return_python_dict=True)`` returns the attributes as a " -"dict instead of a tuple. Calling ``w.wm_attributes()`` now returns a tuple " -"instead of string if *wantobjects* was set to 0." -msgstr "" - -#: ../NEWS:8060 -msgid "" -":gh:`82626`: Many functions now emit a warning if a boolean value is passed " -"as a file descriptor argument." -msgstr "" - -#: ../NEWS:8063 -msgid "" -":gh:`111051`: Added check for file modification during debugging with " -":mod:`pdb`" -msgstr "" - -#: ../NEWS:8066 -msgid "" -":gh:`110345`: Show the Tcl/Tk patchlevel (rather than version) in " -":meth:`tkinter._test`." -msgstr "" - -#: ../NEWS:8069 -msgid "" -":gh:`38807`: Fix race condition in :mod:`trace`. Instead of checking if a " -"directory exists and creating it, directly call :func:`os.makedirs` with the" -" kwarg ``exist_ok=True``." -msgstr "" - -#: ../NEWS:8073 -msgid "" -":gh:`75705`: Set unixfrom envelope in :class:`mailbox.mbox` and " -":class:`mailbox.MMDF`." -msgstr "" - -#: ../NEWS:8076 -msgid "" -":gh:`106233`: Fix stacklevel in ``InvalidTZPathWarning`` during " -":mod:`zoneinfo` module import." -msgstr "" - -#: ../NEWS:8079 -msgid "" -":gh:`105102`: Allow :class:`ctypes.Union` to be nested in " -":class:`ctypes.Structure` when the system endianness is the opposite of the " -"classes." -msgstr "" - -#: ../NEWS:8083 -msgid "" -":gh:`104282`: Fix null pointer dereference in " -":func:`lzma._decode_filter_properties` due to improper handling of BCJ " -"filters with properties of zero length. Patch by Radislav Chugunov." -msgstr "" - -#: ../NEWS:8087 -msgid "" -":gh:`96471`: Add :py:class:`queue.Queue` termination with " -":py:meth:`~queue.Queue.shutdown`." -msgstr "" - -#: ../NEWS:8090 -msgid "" -":gh:`101599`: Changed argparse flag options formatting to remove redundancy." -msgstr "" - -#: ../NEWS:8092 -msgid "" -":gh:`85984`: Add POSIX pseudo-terminal functions :func:`os.posix_openpt`, " -":func:`os.grantpt`, :func:`os.unlockpt`, and :func:`os.ptsname`." -msgstr "" - -#: ../NEWS:8095 -msgid "" -":gh:`102512`: When :func:`os.fork` is called from a foreign thread (aka " -"``_DummyThread``), the type of the thread in a child process is changed to " -"``_MainThread``. Also changed its name and daemonic status, it can be now " -"joined." -msgstr "" - -#: ../NEWS:8100 -msgid "" -":gh:`88569`: Add :func:`os.path.isreserved`, which identifies reserved " -"pathnames such as \"NUL\", \"AUX\" and \"CON\". This function is only " -"available on Windows." -msgstr "" - -#: ../NEWS:8104 -msgid "Deprecate :meth:`pathlib.PurePath.is_reserved`." -msgstr "" - -#: ../NEWS:8106 -msgid "" -":issue:`38364`: The ``inspect`` functions ``isgeneratorfunction``, " -"``iscoroutinefunction``, ``isasyncgenfunction`` now support " -"``functools.partialmethod`` wrapped functions the same way they support " -"``functools.partial``." -msgstr "" - -#: ../NEWS:8114 -msgid "" -":gh:`115233`: Fix an example for :class:`~logging.LoggerAdapter` in the " -"Logging Cookbook." -msgstr "" - -#: ../NEWS:8117 -msgid "" -":gh:`114123`: Move the :mod:`csv` module docstring to the :mod:`!csv` module" -" instead of reexporting it from the internal :mod:`!_csv` module, and remove" -" ``__doc__`` from ``csv.__all__``." -msgstr "" - -#: ../NEWS:8121 -msgid "" -"Move :attr:`!csv.__version__` to the :mod:`!csv` module instead of " -"reexporting it from the internal :mod:`!_csv` module, and remove " -"``__version__`` from ``csv.__all__``." -msgstr "" - -#: ../NEWS:8128 -msgid "" -":gh:`114099`: Added test exclusions required to run the test suite on iOS." -msgstr "" - -#: ../NEWS:8130 -msgid "" -":gh:`105089`: Fix " -"``test.test_zipfile.test_core.TestWithDirectory.test_create_directory_with_write``" -" test in AIX by doing a bitwise AND of 0xFFFF on mode , so that it will be " -"in sync with ``zinfo.external_attr``" -msgstr "" - -#: ../NEWS:8138 -msgid "" -":gh:`115167`: Avoid vendoring ``vcruntime140_threads.dll`` when building " -"with Visual Studio 2022 version 17.8." -msgstr "" - -#: ../NEWS:8141 -msgid "" -":gh:`113632`: Promote WASI to a tier 2 platform and drop Emscripten from " -"tier 3 in configure.ac." -msgstr "" - -#: ../NEWS:8144 -msgid "" -":gh:`114099`: configure and Makefile were refactored to accommodate " -"framework builds on Apple platforms other than macOS." -msgstr "" - -#: ../NEWS:8147 -msgid "" -":gh:`114875`: Add :c:func:`!getgrent` as a prerequisite for building the " -":mod:`grp` module." -msgstr "" - -#: ../NEWS:8153 -msgid "" -":gh:`115049`: Fixes ``py.exe`` launcher failing when run as users without " -"user profiles." -msgstr "" - -#: ../NEWS:8156 -msgid ":gh:`115009`: Update Windows installer to use SQLite 3.45.1." -msgstr "" - -#: ../NEWS:8158 -msgid ":gh:`109991`: Update Windows build to use OpenSSL 3.0.13." -msgstr "" - -#: ../NEWS:8160 -msgid ":gh:`111239`: Update Windows builds to use zlib v1.3.1." -msgstr "" - -#: ../NEWS:8162 -msgid "" -":gh:`100107`: The ``py.exe`` launcher will no longer attempt to run the " -"Microsoft Store redirector when launching a script containing a " -"``/usr/bin/env`` shebang" -msgstr "" - -#: ../NEWS:8166 -msgid "" -":gh:`112984`: Adds free-threaded binaries to Windows installer as an " -"optional component." -msgstr "" - -#: ../NEWS:8169 -msgid "" -":gh:`89240`: Allows :mod:`multiprocessing` to create pools of greater than " -"62 processes." -msgstr "" - -#: ../NEWS:8175 -msgid ":gh:`115009`: Update macOS installer to use SQLite 3.45.1." -msgstr "" - -#: ../NEWS:8177 -msgid ":gh:`109991`: Update macOS installer to use OpenSSL 3.0.13." -msgstr "" - -#: ../NEWS:8179 -msgid "" -":gh:`114490`: Add Mach-O linkage support for :func:`platform.architecture`." -msgstr "" - -#: ../NEWS:8181 -msgid "" -":gh:`87804`: On macOS the result of ``os.statvfs`` and ``os.fstatvfs`` now " -"correctly report the size of very large disks, in previous versions the " -"reported number of blocks was wrong for disks with at least 2**32 blocks." -msgstr "" - -#: ../NEWS:8188 -msgid "" -":gh:`96905`: In idlelib code, stop redefining built-ins 'dict' and 'object'." -msgstr "" - -#: ../NEWS:8190 -msgid "" -":gh:`103820`: Revise IDLE bindings so that events from mouse button 4/5 on " -"non-X11 windowing systems (i.e. Win32 and Aqua) are not mistaken for " -"scrolling." -msgstr "" - -#: ../NEWS:8197 -msgid ":gh:`113516`: Don't set ``LDSHARED`` when building for WASI." -msgstr "" - -#: ../NEWS:8199 -msgid "" -":gh:`109991`: Update GitHub CI workflows to use OpenSSL 3.0.13 and " -"multissltests to use 1.1.1w, 3.0.13, 3.1.5, and 3.2.1." -msgstr "" - -#: ../NEWS:8202 -msgid "" -":gh:`115015`: Fix a bug in Argument Clinic that generated incorrect code for" -" methods with no parameters that use the :ref:`METH_METHOD | METH_FASTCALL |" -" METH_KEYWORDS ` calling " -"convention. Only the positional parameter count was checked; any keyword " -"argument passed would be silently accepted." -msgstr "" - -#: ../NEWS:8211 -msgid "" -":gh:`111140`: Adds :c:func:`PyLong_AsNativeBytes`, " -":c:func:`PyLong_FromNativeBytes` and " -":c:func:`PyLong_FromUnsignedNativeBytes` functions." -msgstr "" - -#: ../NEWS:8215 -msgid "" -":gh:`114685`: :c:func:`PyBuffer_FillInfo` now raises a :exc:`SystemError` if" -" called with :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE` as flags. These" -" flags should only be used with the ``PyMemoryView_*`` C API." -msgstr "" - -#: ../NEWS:8219 -msgid "" -":gh:`114685`: :c:func:`PyObject_GetBuffer` now raises a :exc:`SystemError` " -"if called with :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE` as flags. " -"These flags should only be used with the ``PyMemoryView_*`` C API." -msgstr "" - -#: ../NEWS:8223 -msgid "" -":gh:`114626`: Add ``PyCFunctionFast`` and ``PyCFunctionFastWithKeywords`` " -"typedefs (identical to the existing ``_PyCFunctionFast`` and " -"``_PyCFunctionFastWithKeywords`` typedefs, just without a leading ``_`` " -"prefix)." -msgstr "" - -#: ../NEWS:8228 -msgid "" -":gh:`114329`: Add :c:func:`PyList_GetItemRef`, which is similar to " -":c:func:`PyList_GetItem` but returns a :term:`strong reference` instead of a" -" :term:`borrowed reference`." -msgstr "" - -#: ../NEWS:8232 -msgid ":gh:`110850`: Add PyTime C API:" -msgstr "" - -#: ../NEWS:8234 -msgid ":c:type:`PyTime_t` type." -msgstr "" - -#: ../NEWS:8235 -msgid ":c:var:`PyTime_MIN` and :c:var:`PyTime_MAX` constants." -msgstr "" - -#: ../NEWS:8236 -msgid "" -":c:func:`PyTime_AsSecondsDouble`, :c:func:`PyTime_Monotonic`, " -":c:func:`PyTime_PerfCounter`, and :c:func:`PyTime_Time` functions." -msgstr "" - -#: ../NEWS:8242 -msgid "" -":gh:`112066`: Add :c:func:`PyDict_SetDefaultRef`: insert a key and value " -"into a dictionary if the key is not already present. This is similar to " -":meth:`dict.setdefault`, but returns an integer value indicating if the key " -"was already present. It is also similar to :c:func:`PyDict_SetDefault`, but " -"returns a strong reference instead of a borrowed reference." -msgstr "" - -#: ../NEWS:8251 -msgid "Python 3.13.0 alpha 3" -msgstr "" - -#: ../NEWS:8253 -msgid "*Release date: 2024-01-17*" -msgstr "" - -#: ../NEWS:8258 -msgid "" -":gh:`113659`: Skip ``.pth`` files with names starting with a dot or hidden " -"file attribute." -msgstr "" - -#: ../NEWS:8261 -msgid "" -":gh:`112302`: Created a Software Bill-of-Materials document and tooling for " -"tracking dependencies." -msgstr "" - -#: ../NEWS:8267 -msgid "" -":gh:`107901`: Compiler duplicates basic blocks that have an eval breaker " -"check, no line number, and multiple predecessors." -msgstr "" - -#: ../NEWS:8270 -msgid "" -":gh:`107901`: A jump leaving an exception handler back to normal code no " -"longer checks the eval breaker." -msgstr "" - -#: ../NEWS:8273 -msgid "" -":gh:`113655`: Set the C recursion limit to 4000 on Windows, and 10000 on " -"Linux/OSX. This seems to be near the sweet spot to maintain safety, but not " -"compromise backwards compatibility." -msgstr "" - -#: ../NEWS:8277 -msgid "" -":gh:`113710`: Add typed stack effects to the interpreter DSL, along with " -"various instruction annotations." -msgstr "" - -#: ../NEWS:8280 -msgid "" -":gh:`77046`: On Windows, file descriptors wrapping Windows handles are now " -"created non inheritable by default (:pep:`446`). Patch by Zackery Spytz and " -"Victor Stinner." -msgstr "" - -#: ../NEWS:8284 -msgid "" -":gh:`113853`: Guarantee that all executors make progress. This then " -"guarantees that tier 2 execution always makes progress." -msgstr "" - -#: ../NEWS:8287 -msgid "" -":gh:`113753`: Fix an issue where the finalizer of ``PyAsyncGenASend`` " -"objects might not be called if they were allocated from a free list." -msgstr "" - -#: ../NEWS:8290 -msgid "" -":gh:`107901`: Compiler changed so that synthetic jumps which are not at loop" -" end no longer check the eval breaker." -msgstr "" - -#: ../NEWS:8293 -msgid "" -":gh:`113703`: Fix a regression in the :mod:`codeop` module that was causing " -"it to incorrectly identify incomplete f-strings. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:8296 -msgid "" -":gh:`89811`: Check for a valid ``tp_version_tag`` before performing bytecode" -" specializations that rely on this value being usable." -msgstr "" - -#: ../NEWS:8299 -msgid "" -":gh:`111488`: Changed error message in case of no 'in' keyword after 'for' " -"in list comprehensions" -msgstr "" - -#: ../NEWS:8302 -msgid "" -":gh:`113657`: Fix an issue that caused important instruction pointer updates" -" to be optimized out of tier two traces." -msgstr "" - -#: ../NEWS:8305 -msgid "" -":gh:`113603`: Fixed bug where a redundant NOP is not removed, causing an " -"assertion to fail in the compiler in debug mode." -msgstr "" - -#: ../NEWS:8308 -msgid "" -":gh:`113602`: Fix an error that was causing the parser to try to overwrite " -"existing errors and crashing in the process. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:8311 -msgid "" -":gh:`113486`: No longer issue spurious ``PY_UNWIND`` events for optimized " -"calls to classes." -msgstr "" - -#: ../NEWS:8314 -msgid "" -":gh:`113297`: Fix segfault in the compiler on with statement with 19 context" -" managers." -msgstr "" - -#: ../NEWS:8317 -msgid ":gh:`113212`: Improve :py:class:`super` error messages." -msgstr "" - -#: ../NEWS:8319 -msgid "" -":gh:`111375`: Only use ``NULL`` in the exception stack to indicate an " -"exception was handled. Patch by Carey Metcalfe." -msgstr "" - -#: ../NEWS:8322 -msgid "" -":gh:`112215`: Increase the C recursion limit by a factor of 3 for non-debug " -"builds, except for webassembly and s390 platforms which are unchanged. This " -"mitigates some regressions in 3.12 with deep recursion mixing builtin (C) " -"and Python code." -msgstr "" - -#: ../NEWS:8327 -msgid "" -":gh:`113054`: Fixed bug where a redundant NOP is not removed, causing an " -"assertion to fail in the compiler in debug mode." -msgstr "" - -#: ../NEWS:8330 -msgid "" -":gh:`106905`: Use per AST-parser state rather than global state to track " -"recursion depth within the AST parser to prevent potential race condition " -"due to simultaneous parsing." -msgstr "" - -#: ../NEWS:8334 -msgid "" -"The issue primarily showed up in 3.11 by multithreaded users of " -":func:`ast.parse`. In 3.12 a change to when garbage collection can be " -"triggered prevented the race condition from occurring." -msgstr "" - -#: ../NEWS:8338 -msgid "" -":gh:`108866`: Change the API and contract of ``_PyExecutorObject`` to return" -" the next_instr pointer, instead of the frame, and to always execute at " -"least one instruction." -msgstr "" - -#: ../NEWS:8342 -msgid ":gh:`90350`: Optimize builtin functions :func:`min` and :func:`max`." -msgstr "" - -#: ../NEWS:8344 -msgid "" -":gh:`112943`: Correctly compute end column offsets for multiline tokens in " -"the :mod:`tokenize` module. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:8347 -msgid "" -":gh:`112125`: Fix ``None.__ne__(None)`` returning ``NotImplemented`` instead" -" of ``False``." -msgstr "" - -#: ../NEWS:8350 -msgid "" -":gh:`74616`: :func:`input` now raises a ValueError when output on the " -"terminal if the prompt contains embedded null characters instead of silently" -" truncating it." -msgstr "" - -#: ../NEWS:8354 -msgid "" -":gh:`112716`: Fix SystemError in the ``import`` statement and in " -"``__reduce__()`` methods of builtin types when ``__builtins__`` is not a " -"dict." -msgstr "" - -#: ../NEWS:8358 -msgid "" -":gh:`112730`: Use color to highlight error locations in tracebacks. Patch by" -" Pablo Galindo" -msgstr "" - -#: ../NEWS:8361 -msgid "" -":gh:`112625`: Fixes a bug where a bytearray object could be cleared while " -"iterating over an argument in the ``bytearray.join()`` method that could " -"result in reading memory after it was freed." -msgstr "" - -#: ../NEWS:8365 -msgid "" -":gh:`112660`: Do not clear unexpected errors during formatting error " -"messages for ImportError and AttributeError for modules." -msgstr "" - -#: ../NEWS:8368 -msgid "" -":gh:`105967`: Workaround a bug in Apple's macOS platform zlib library where " -":func:`zlib.crc32` and :func:`binascii.crc32` could produce incorrect " -"results on multi-gigabyte inputs. Including when using :mod:`zipfile` on " -"zips containing large data." -msgstr "" - -#: ../NEWS:8373 -msgid "" -":gh:`95754`: Provide a better error message when accessing invalid " -"attributes on partially initialized modules. The origin of the module being " -"accessed is now included in the message to help with the common issue of " -"shadowing other modules." -msgstr "" - -#: ../NEWS:8378 -msgid "" -":gh:`112217`: Add check for the type of ``__cause__`` returned from calling " -"the type ``T`` in ``raise from T``." -msgstr "" - -#: ../NEWS:8381 -msgid "" -":gh:`111058`: Change coro.cr_frame/gen.gi_frame to return ``None`` after the" -" coroutine/generator has been closed. This fixes a bug where " -":func:`~inspect.getcoroutinestate` and :func:`~inspect.getgeneratorstate` " -"return the wrong state for a closed coroutine/generator." -msgstr "" - -#: ../NEWS:8386 -msgid "" -":gh:`112388`: Fix an error that was causing the parser to try to overwrite " -"tokenizer errors. Patch by pablo Galindo" -msgstr "" - -#: ../NEWS:8389 -msgid "" -":gh:`112387`: Fix error positions for decoded strings with backwards " -"tokenize errors. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:8392 -msgid "" -":gh:`99606`: Make code generated for an empty f-string identical to the code" -" of an empty normal string." -msgstr "" - -#: ../NEWS:8395 -msgid "" -":gh:`112367`: Avoid undefined behaviour when using the perf trampolines by " -"not freeing the code arenas until shutdown. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:8398 -msgid "" -":gh:`112320`: The Tier 2 translator now tracks the confidence level for " -"staying \"on trace\" (i.e. not exiting back to the Tier 1 interpreter) for " -"branch instructions based on the number of bits set in the branch " -"\"counter\". Trace translation ends when the confidence drops below 1/3rd." -msgstr "" - -#: ../NEWS:8403 -msgid "" -":gh:`109598`: " -":c:func:`PyComplex_RealAsDouble`/:c:func:`PyComplex_ImagAsDouble` now tries " -"to convert an object to a :class:`complex` instance using its " -"``__complex__()`` method before falling back to the ``__float__()`` method. " -"Patch by Sergey B Kirpichev." -msgstr "" - -#: ../NEWS:8409 -msgid "" -":gh:`94606`: Fix UnicodeEncodeError when :func:`email.message.get_payload` " -"reads a message with a Unicode surrogate character and the message content " -"is not well-formed for surrogateescape encoding. Patch by Sidney Markowitz." -msgstr "" - -#: ../NEWS:8414 -msgid "" -":issue:`21861`: Use the object's actual class name in " -":meth:`!_io.FileIO.__repr__`, :meth:`!_io._WindowsConsoleIO` and " -":meth:`!_io.TextIOWrapper.__repr__`, to make these methods subclass " -"friendly." -msgstr "" - -#: ../NEWS:8419 -msgid ":issue:`45369`: Remove LibreSSL workarounds as per :pep:`644`." -msgstr "" - -#: ../NEWS:8421 -msgid ":issue:`34392`: Added :func:`sys._is_interned`." -msgstr "" - -#: ../NEWS:8426 -msgid "" -":gh:`114077`: Fix possible :exc:`OverflowError` in " -":meth:`socket.socket.sendfile` when pass *count* larger than 2 GiB on 32-bit" -" platform." -msgstr "" - -#: ../NEWS:8430 -msgid "" -":gh:`111803`: :mod:`plistlib` now supports loading more deeply nested lists " -"in binary format." -msgstr "" - -#: ../NEWS:8433 -msgid "" -":gh:`114014`: Fixed a bug in :class:`fractions.Fraction` where an invalid " -"string using ``d`` in the decimals part creates a different error compared " -"to other invalid letters/characters. Patch by Jeremiah Gabriel Pascual." -msgstr "" - -#: ../NEWS:8437 -msgid "" -":gh:`108364`: :meth:`sqlite3.Connection.iterdump` now ensures that foreign " -"key support is disabled before dumping the database schema, if there is any " -"foreign key violation. Patch by Erlend E. Aasland and Mariusz Felisiak." -msgstr "" - -#: ../NEWS:8442 -msgid "" -":gh:`113971`: The :class:`zipfile.ZipInfo` previously protected " -"``._compresslevel`` attribute has been made public as ``.compress_level`` " -"with the old ``_compresslevel`` name remaining available as a property to " -"retain compatibility." -msgstr "" - -#: ../NEWS:8447 -msgid "" -":gh:`113877`: Fix :mod:`tkinter` method ``winfo_pathname()`` on 64-bit " -"Windows." -msgstr "" - -#: ../NEWS:8450 -msgid "" -":gh:`113868`: Added :data:`mmap.MAP_NORESERVE`, :data:`mmap.MAP_NOEXTEND`, " -":data:`mmap.MAP_HASSEMAPHORE`, :data:`mmap.MAP_NOCACHE`, " -":data:`mmap.MAP_JIT`, :data:`mmap.MAP_RESILIENT_CODESIGN`, " -":data:`mmap.MAP_RESILIENT_MEDIA`, :data:`mmap.MAP_32BIT`, " -":data:`mmap.MAP_TRANSLATED_ALLOW_EXECUTE`, :data:`mmap.MAP_UNIX03` and " -":data:`mmap.MAP_TPRO`. All of them are ``mmap(2)`` flags on macOS." -msgstr "" - -#: ../NEWS:8457 -msgid "" -":gh:`113848`: :func:`asyncio.TaskGroup` and :func:`asyncio.timeout` context " -"managers now handle :exc:`~asyncio.CancelledError` subclasses as well as " -"exact :exc:`!CancelledError`." -msgstr "" - -#: ../NEWS:8461 -msgid "" -":gh:`113661`: unittest runner: Don't exit 5 if tests were skipped. The " -"intention of exiting 5 was to detect issues where the test suite wasn't " -"discovered at all. If we skipped tests, it was correctly discovered." -msgstr "" - -#: ../NEWS:8465 -msgid "" -":gh:`96037`: Insert :exc:`TimeoutError` in the context of the exception that" -" was raised during exiting an expired :func:`asyncio.timeout` block." -msgstr "" - -#: ../NEWS:8468 -msgid "" -":gh:`113781`: Silence unraisable AttributeError when warnings are emitted " -"during Python finalization." -msgstr "" - -#: ../NEWS:8471 -msgid "" -":gh:`113238`: Add ``Anchor`` to ``importlib.resources`` (in order for the " -"code to comply with the documentation)" -msgstr "" - -#: ../NEWS:8474 -msgid "" -":gh:`111693`: :func:`asyncio.Condition.wait` now re-raises the same " -":exc:`CancelledError` instance that may have caused it to be interrupted. " -"Fixed race condition in :func:`asyncio.Semaphore.acquire` when interrupted " -"with a :exc:`CancelledError`." -msgstr "" - -#: ../NEWS:8479 -msgid "" -":gh:`113791`: Add ``CLOCK_MONOTONIC_RAW_APPROX`` and " -"``CLOCK_UPTIME_RAW_APPROX`` to :mod:`time` on macOS. These are clocks " -"available on macOS 10.12 or later." -msgstr "" - -#: ../NEWS:8483 -msgid "" -":gh:`112932`: Restore the ability for :mod:`zipfile` to ``extractall`` from " -"zip files with a \"/\" directory entry in them as is commonly added to zips " -"by some wiki or bug tracker data exporters." -msgstr "" - -#: ../NEWS:8487 -msgid "" -":gh:`113568`: Raise deprecation warnings from :class:`pathlib.PurePath` and " -"not its private base class ``PurePathBase``." -msgstr "" - -#: ../NEWS:8490 -msgid "" -":gh:`113594`: Fix :exc:`UnicodeEncodeError` in :mod:`email` when re-fold " -"lines that contain unknown-8bit encoded part followed by non-unknown-8bit " -"encoded part." -msgstr "" - -#: ../NEWS:8494 -msgid "" -":gh:`113538`: In :meth:`asyncio.StreamReaderProtocol.connection_made`, there" -" is callback that logs an error if the task wrapping the \"connected " -"callback\" fails. This callback would itself fail if the task was cancelled." -" Prevent this by checking whether the task was cancelled first. If so, close" -" the transport but don't log an error." -msgstr "" - -#: ../NEWS:8500 -msgid "" -":gh:`113626`: Add support for the *allow_code* argument in the " -":mod:`marshal` module. Passing ``allow_code=False`` prevents serialization " -"and de-serialization of code objects which is incompatible between Python " -"versions." -msgstr "" - -#: ../NEWS:8505 -msgid "" -":gh:`85567`: Fix resource warnings for unclosed files in :mod:`pickle` and " -":mod:`pickletools` command line interfaces." -msgstr "" - -#: ../NEWS:8508 -msgid ":gh:`113537`: Support loads ``str`` in :func:`plistlib.loads`." -msgstr "" - -#: ../NEWS:8510 -msgid "" -":gh:`89850`: Add default implementations of " -":meth:`pickle.Pickler.persistent_id` and " -":meth:`pickle.Unpickler.persistent_load` methods in the C implementation. " -"Calling ``super().persistent_id()`` and ``super().persistent_load()`` in " -"subclasses of the C implementation of :class:`pickle.Pickler` and " -":class:`pickle.Unpickler` classes no longer causes infinite recursion." -msgstr "" - -#: ../NEWS:8517 -msgid "" -":gh:`113569`: Indicate if there were no actual calls in unittest " -":meth:`~unittest.mock.Mock.assert_has_calls` failure." -msgstr "" - -#: ../NEWS:8520 -msgid "" -":gh:`101225`: Increase the backlog for " -":class:`multiprocessing.connection.Listener` objects created by " -":mod:`multiprocessing.manager` and :mod:`multiprocessing.resource_sharer` to" -" significantly reduce the risk of getting a connection refused error when " -"creating a :class:`multiprocessing.connection.Connection` to them." -msgstr "" - -#: ../NEWS:8526 -msgid "" -":gh:`113568`: Raise audit events from :class:`pathlib.Path` and not its " -"private base class ``PathBase``." -msgstr "" - -#: ../NEWS:8529 -msgid "" -":gh:`113543`: Make sure that ``webbrowser.MacOSXOSAScript`` sends " -"``webbrowser.open`` audit event." -msgstr "" - -#: ../NEWS:8532 -msgid "" -":gh:`113028`: When a second reference to a string appears in the input to " -":mod:`pickle`, and the Python implementation is in use, we are guaranteed " -"that a single copy gets pickled and a single object is shared when reloaded." -" Previously, in protocol 0, when a string contained certain characters (e.g." -" newline) it resulted in duplicate objects." -msgstr "" - -#: ../NEWS:8538 -msgid ":gh:`113421`: Fix multiprocessing logger for ``%(filename)s``." -msgstr "" - -#: ../NEWS:8540 -msgid "" -":gh:`111784`: Fix segfaults in the ``_elementtree`` module. Fix first " -"segfault during deallocation of ``_elementtree.XMLParser`` instances by " -"keeping strong reference to ``pyexpat`` module in module state for capsule " -"lifetime. Fix second segfault which happens in the same deallocation process" -" by keeping strong reference to ``_elementtree`` module in ``XMLParser`` " -"structure for ``_elementtree`` module lifetime." -msgstr "" - -#: ../NEWS:8547 -msgid "" -":gh:`113407`: Fix import of :mod:`unittest.mock` when CPython is built " -"without docstrings." -msgstr "" - -#: ../NEWS:8550 -msgid "" -":gh:`113320`: Fix regression in Python 3.12 where :class:`~typing.Protocol` " -"classes that were not marked as :func:`runtime-checkable " -"` would be unnecessarily introspected, potentially" -" causing exceptions to be raised if the protocol had problematic members. " -"Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:8556 -msgid "" -":gh:`53502`: Add a new option ``aware_datetime`` in :mod:`plistlib` to loads" -" or dumps aware datetime." -msgstr "" - -#: ../NEWS:8559 -msgid "" -":gh:`113358`: Fix rendering tracebacks with exceptions with a broken " -"__getattr__" -msgstr "" - -#: ../NEWS:8562 -msgid "" -":gh:`113214`: Fix an ``AttributeError`` during asyncio SSL protocol aborts " -"in SSL-over-SSL scenarios." -msgstr "" - -#: ../NEWS:8565 -msgid ":gh:`113246`: Update bundled pip to 23.3.2." -msgstr "" - -#: ../NEWS:8567 -msgid ":gh:`87264`: Fixed tarfile list() method to show file type." -msgstr "" - -#: ../NEWS:8569 -msgid "" -":gh:`112182`: :meth:`asyncio.futures.Future.set_exception` now transforms " -":exc:`StopIteration` into :exc:`RuntimeError` instead of hanging or other " -"misbehavior. Patch contributed by Jamie Phan." -msgstr "" - -#: ../NEWS:8573 -msgid "" -":gh:`113225`: Speed up :meth:`pathlib.Path.glob` by using " -":attr:`os.DirEntry.path` where possible." -msgstr "" - -#: ../NEWS:8576 -msgid "" -":gh:`113149`: Improve error message when a JSON array or object contains a " -"trailing comma. Patch by Carson Radtke." -msgstr "" - -#: ../NEWS:8579 -msgid "" -":gh:`113117`: The :mod:`subprocess` module can now use the " -":func:`os.posix_spawn` function with ``close_fds=True`` on platforms where " -"``posix_spawn_file_actions_addclosefrom_np`` is available. Patch by Jakub " -"Kulik." -msgstr "" - -#: ../NEWS:8584 -msgid "" -":gh:`113199`: Make ``http.client.HTTPResponse.read1`` and " -"``http.client.HTTPResponse.readline`` close IO after reading all data when " -"content length is known. Patch by Illia Volochii." -msgstr "" - -#: ../NEWS:8588 -msgid "" -":gh:`113191`: Add support of :func:`os.fchmod` and a file descriptor in " -":func:`os.chmod` on Windows." -msgstr "" - -#: ../NEWS:8591 -msgid "" -":gh:`113188`: Fix :func:`shutil.copymode` and :func:`shutil.copystat` on " -"Windows. Previously they worked differently if *dst* is a symbolic link: " -"they modified the permission bits of *dst* itself rather than the file it " -"points to if *follow_symlinks* is true or *src* is not a symbolic link, and " -"did not modify the permission bits if *follow_symlinks* is false and *src* " -"is a symbolic link." -msgstr "" - -#: ../NEWS:8598 -msgid "" -":gh:`113119`: :func:`os.posix_spawn` now accepts ``env=None``, which makes " -"the newly spawned process use the current process environment. Patch by " -"Jakub Kulik." -msgstr "" - -#: ../NEWS:8602 -msgid "" -":gh:`113202`: Add a ``strict`` option to ``batched()`` in the ``itertools`` " -"module." -msgstr "" - -#: ../NEWS:8605 -msgid ":gh:`61648`: Detect line numbers of properties in doctests." -msgstr "" - -#: ../NEWS:8607 -msgid "" -":gh:`113175`: Sync with importlib_metadata 7.0, including improved type " -"annotations, fixed issue with symlinked packages in " -"``package_distributions``, added ``EntryPoints.__repr__``, introduced the " -"``diagnose`` script, added ``Distribution.origin`` property, and removed " -"deprecated ``EntryPoint`` access by numeric index (tuple behavior)." -msgstr "" - -#: ../NEWS:8613 -msgid "" -":gh:`59616`: Add support of :func:`os.lchmod` and the *follow_symlinks* " -"argument in :func:`os.chmod` on Windows. Note that the default value of " -"*follow_symlinks* in :func:`!os.lchmod` is ``False`` on Windows." -msgstr "" - -#: ../NEWS:8617 -msgid "" -":gh:`112559`: :func:`signal.signal` and :func:`signal.getsignal` no longer " -"call ``repr`` on callable handlers. :func:`asyncio.run` and " -":meth:`asyncio.Runner.run` no longer call ``repr`` on the task results. " -"Patch by Yilei Yang." -msgstr "" - -#: ../NEWS:8622 -msgid "" -":gh:`112962`: :mod:`dis` module functions add cache information to the " -":class:`~dis.Instruction` instance rather than creating fake " -":class:`~dis.Instruction` instances to represent the cache entries." -msgstr "" - -#: ../NEWS:8626 -msgid "" -":gh:`112989`: Reduce overhead to connect sockets with :mod:`asyncio` " -"SelectorEventLoop." -msgstr "" - -#: ../NEWS:8629 -msgid "" -":gh:`112970`: Use :c:func:`!closefrom` on Linux where available (e.g. " -"glibc-2.34), rather than only FreeBSD." -msgstr "" - -#: ../NEWS:8632 -msgid "" -":gh:`110190`: Fix ctypes structs with array on PPC64LE platform by setting " -"``MAX_STRUCT_SIZE`` to 64 in stgdict. Patch by Diego Russo." -msgstr "" - -#: ../NEWS:8635 -msgid "" -":gh:`112540`: The statistics.geometric_mean() function now returns zero for " -"datasets containing a zero. Formerly, it would raise an exception." -msgstr "" - -#: ../NEWS:8638 -msgid "" -":gh:`87286`: Added :const:`LOG_FTP`, :const:`LOG_NETINFO`, " -":const:`LOG_REMOTEAUTH`, :const:`LOG_INSTALL`, :const:`LOG_RAS`, and " -":const:`LOG_LAUNCHD` tot the :mod:`syslog` module, all of them constants on " -"used on macOS." -msgstr "" - -#: ../NEWS:8643 -msgid "" -":gh:`112800`: Fix :mod:`asyncio` ``SubprocessTransport.close()`` not to " -"throw ``PermissionError`` when used with setuid executables." -msgstr "" - -#: ../NEWS:8646 -msgid "" -":gh:`51944`: Add the following constants to the :mod:`termios` module. These" -" values are present in macOS system headers: ``ALTWERASE``, ``B14400``, " -"``B28800``, ``B7200``, ``B76800``, ``CCAR_OFLOW``, ``CCTS_OFLOW``, " -"``CDSR_OFLOW``, ``CDTR_IFLOW``, ``CIGNORE``, ``CRTS_IFLOW``, ``EXTPROC``, " -"``IUTF8``, ``MDMBUF``, ``NL2``, ``NL3``, ``NOKERNINFO``, ``ONOEOT``, " -"``OXTABS``, ``VDSUSP``, ``VSTATUS``." -msgstr "" - -#: ../NEWS:8653 -msgid "" -":gh:`79325`: Fix an infinite recursion error in " -":func:`tempfile.TemporaryDirectory` cleanup on Windows." -msgstr "" - -#: ../NEWS:8656 -msgid "" -":gh:`94692`: :func:`shutil.rmtree` now only catches OSError exceptions. " -"Previously a symlink attack resistant version of ``shutil.rmtree()`` could " -"ignore or pass to the error handler arbitrary exception when invalid " -"arguments were provided." -msgstr "" - -#: ../NEWS:8661 -msgid "" -":gh:`112736`: The use of del-safe symbols in ``subprocess`` was refactored " -"to allow for use in cross-platform build environments." -msgstr "" - -#: ../NEWS:8664 -msgid "" -":gh:`112727`: Speed up :meth:`pathlib.Path.absolute`. Patch by Barney Gale." -msgstr "" - -#: ../NEWS:8666 -msgid "" -":gh:`74690`: Speedup :func:`issubclass` checks against simple " -":func:`runtime-checkable protocols ` by around 6%." -" Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:8670 -msgid "" -":gh:`74690`: Speedup :func:`isinstance` checks by roughly 20% for " -":func:`runtime-checkable protocols ` that only " -"have one callable member. Speedup :func:`issubclass` checks for these " -"protocols by roughly 10%. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:8675 -msgid "" -":gh:`112645`: Remove deprecation error on passing ``onerror`` to " -":func:`shutil.rmtree`." -msgstr "" - -#: ../NEWS:8678 -msgid "" -":gh:`112640`: Add ``kwdefaults`` parameter to :data:`types.FunctionType` to " -"set default keyword argument values." -msgstr "" - -#: ../NEWS:8681 -msgid "" -":gh:`112622`: Ensure ``name`` parameter is passed to event loop in " -":func:`asyncio.create_task`." -msgstr "" - -#: ../NEWS:8684 -msgid "" -":gh:`112618`: Fix a caching bug relating to :data:`typing.Annotated`. " -"``Annotated[str, True]`` is no longer identical to ``Annotated[str, 1]``." -msgstr "" - -#: ../NEWS:8687 -msgid "" -":gh:`112334`: Fixed a performance regression in 3.12's :mod:`subprocess` on " -"Linux where it would no longer use the fast-path ``vfork()`` system call " -"when it could have due to a logic bug, instead falling back to the safe but " -"slower ``fork()``." -msgstr "" - -#: ../NEWS:8692 -msgid "" -"Also fixed a second 3.12.0 potential security bug. If a value of " -"``extra_groups=[]`` was passed to :mod:`subprocess.Popen` or related APIs, " -"the underlying ``setgroups(0, NULL)`` system call to clear the groups list " -"would not be made in the child process prior to ``exec()``." -msgstr "" - -#: ../NEWS:8697 -msgid "" -"This was identified via code inspection in the process of fixing the first " -"bug." -msgstr "" - -#: ../NEWS:8700 -msgid "" -":gh:`110190`: Fix ctypes structs with array on Arm platform by setting " -"``MAX_STRUCT_SIZE`` to 32 in stgdict. Patch by Diego Russo." -msgstr "" - -#: ../NEWS:8703 -msgid "" -":gh:`81194`: Fix a crash in :func:`socket.if_indextoname` with specific " -"value (UINT_MAX). Fix an integer overflow in :func:`socket.if_indextoname` " -"on 64-bit non-Windows platforms." -msgstr "" - -#: ../NEWS:8707 -msgid "" -":gh:`112578`: Fix a spurious :exc:`RuntimeWarning` when executing the " -":mod:`zipfile` module." -msgstr "" - -#: ../NEWS:8710 -msgid ":gh:`112516`: Update the bundled copy of pip to version 23.3.1." -msgstr "" - -#: ../NEWS:8712 -msgid "" -":gh:`112510`: Add :data:`readline.backend` for the backend readline uses " -"(``editline`` or ``readline``)" -msgstr "" - -#: ../NEWS:8715 -msgid "" -":gh:`112328`: [Enum] Make ``EnumDict``, ``EnumDict.member_names``, " -"``EnumType._add_alias_`` and ``EnumType._add_value_alias_`` public." -msgstr "" - -#: ../NEWS:8718 -msgid "" -":gh:`112509`: Fix edge cases that could cause a key to be present in both " -"the ``__required_keys__`` and ``__optional_keys__`` attributes of a " -":class:`typing.TypedDict`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:8722 -msgid "" -":gh:`101336`: Add ``keep_alive`` keyword parameter for " -":meth:`AbstractEventLoop.create_server` and " -":meth:`BaseEventLoop.create_server`." -msgstr "" - -#: ../NEWS:8726 -msgid "" -":gh:`63284`: Added support for TLS-PSK (pre-shared key) mode to the " -":mod:`ssl` module." -msgstr "" - -#: ../NEWS:8729 -msgid "" -":gh:`112414`: Fix regression in Python 3.12 where calling :func:`repr` on a " -"module that had been imported using a custom :term:`loader` could fail with " -":exc:`AttributeError`. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:8733 -msgid "" -":gh:`112358`: Revert change to :class:`struct.Struct` initialization that " -"broke some cases of subclassing." -msgstr "" - -#: ../NEWS:8736 -msgid "" -":gh:`112405`: Optimize :meth:`pathlib.PurePath.relative_to`. Patch by Alex " -"Waygood." -msgstr "" - -#: ../NEWS:8739 -msgid "" -":gh:`94722`: Fix bug where comparison between instances of " -":class:`~doctest.DocTest` fails if one of them has ``None`` as its lineno." -msgstr "" - -#: ../NEWS:8742 -msgid "" -":gh:`112361`: Speed up a small handful of :mod:`pathlib` methods by removing" -" some temporary objects." -msgstr "" - -#: ../NEWS:8745 -msgid "" -":gh:`112345`: Improve error message when trying to call :func:`issubclass` " -"against a :class:`typing.Protocol` that has non-method members. Patch by " -"Randolf Scholz." -msgstr "" - -#: ../NEWS:8749 -msgid "" -":gh:`112137`: Change :mod:`dis` output to display no-lineno as \"--\" " -"instead of \"None\"." -msgstr "" - -#: ../NEWS:8752 -msgid "" -":gh:`112332`: Deprecate the ``exc_type`` field of " -":class:`traceback.TracebackException`. Add ``exc_type_str`` to replace it." -msgstr "" - -#: ../NEWS:8755 -msgid ":gh:`81620`: Add extra tests for :func:`random.binomialvariate`" -msgstr "" - -#: ../NEWS:8757 -msgid "" -":gh:`112292`: Fix a crash in :mod:`readline` when imported from a sub " -"interpreter. Patch by Anthony Shaw" -msgstr "" - -#: ../NEWS:8760 -msgid "" -":gh:`77621`: Slightly improve the import time of the :mod:`pathlib` module " -"by deferring some imports. Patch by Barney Gale." -msgstr "" - -#: ../NEWS:8763 -msgid "" -":gh:`112137`: Change :mod:`dis` output to display logical labels for jump " -"targets instead of offsets." -msgstr "" - -#: ../NEWS:8766 -msgid "" -":gh:`112139`: Add :meth:`Signature.format` to format signatures to string " -"with extra options. And use it in :mod:`pydoc` to render more readable " -"signatures that have new lines between parameters." -msgstr "" - -#: ../NEWS:8770 -msgid "" -":gh:`112105`: Make :func:`readline.set_completer_delims` work with libedit" -msgstr "" - -#: ../NEWS:8772 -msgid "" -":gh:`106922`: Display multiple lines with ``traceback`` when errors span " -"multiple lines." -msgstr "" - -#: ../NEWS:8775 -msgid "" -":gh:`111874`: When creating a :class:`typing.NamedTuple` class, ensure " -":func:`~object.__set_name__` is called on all objects that define " -"``__set_name__`` and exist in the values of the ``NamedTuple`` class's class" -" dictionary. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:8780 -msgid "" -":gh:`68166`: Add support of the \"vsapi\" element type in " -":meth:`tkinter.ttk.Style.element_create`." -msgstr "" - -#: ../NEWS:8783 -msgid "" -":gh:`110275`: Named tuple's methods ``_replace()`` and ``__replace__()`` now" -" raise TypeError instead of ValueError for invalid keyword arguments." -msgstr "" - -#: ../NEWS:8786 -msgid "" -":gh:`99367`: Do not mangle ``sys.path[0]`` in :mod:`pdb` if safe_path is set" -msgstr "" - -#: ../NEWS:8788 -msgid "" -":gh:`111615`: Fix a regression caused by a fix to :gh:`93162` whereby you " -"couldn't configure a :class:`QueueHandler` without specifying handlers." -msgstr "" - -#: ../NEWS:8791 -msgid "" -":gh:`75666`: Fix the behavior of :mod:`tkinter` widget's ``unbind()`` method" -" with two arguments. Previously, ``widget.unbind(sequence, funcid)`` " -"destroyed the current binding for *sequence*, leaving *sequence* unbound, " -"and deleted the *funcid* command. Now it removes only *funcid* from the " -"binding for *sequence*, keeping other commands, and deletes the *funcid* " -"command. It leaves *sequence* unbound only if *funcid* was the last bound " -"command." -msgstr "" - -#: ../NEWS:8799 -msgid "" -":gh:`67790`: Implement basic formatting support (minimum width, alignment, " -"fill) for :class:`fractions.Fraction`." -msgstr "" - -#: ../NEWS:8802 -msgid "" -":gh:`111049`: Fix crash during garbage collection of the :class:`io.BytesIO`" -" buffer object." -msgstr "" - -#: ../NEWS:8805 -msgid "" -":gh:`102980`: Redirect the output of ``interact`` command of :mod:`pdb` to " -"the same channel as the debugger. Add tests and improve docs." -msgstr "" - -#: ../NEWS:8808 -msgid "" -":gh:`102988`: :func:`email.utils.getaddresses` and " -":func:`email.utils.parseaddr` now return ``('', '')`` 2-tuples in more " -"situations where invalid email addresses are encountered instead of " -"potentially inaccurate values. Add optional *strict* parameter to these two " -"functions: use ``strict=False`` to get the old behavior, accept malformed " -"inputs. ``getattr(email.utils, 'supports_strict_parsing', False)`` can be " -"use to check if the *strict* parameter is available. Patch by Thomas Dwyer " -"and Victor Stinner to improve the :cve:`2023-27043` fix." -msgstr "" - -#: ../NEWS:8817 -msgid "" -":gh:`52161`: :meth:`cmd.Cmd.do_help` now cleans docstrings with " -":func:`inspect.cleandoc` before writing them. Patch by Filip Łapkiewicz." -msgstr "" - -#: ../NEWS:8820 -msgid "" -":gh:`82300`: Add ``track`` parameter to " -":class:`multiprocessing.shared_memory.SharedMemory` that allows using shared" -" memory blocks without having to register with the POSIX resource tracker " -"that automatically releases them upon process exit." -msgstr "" - -#: ../NEWS:8825 -msgid "" -":gh:`110109`: Add private ``pathlib._PurePathBase`` class: a base class for " -":class:`pathlib.PurePath` that omits certain magic methods. It may be made " -"public (along with ``_PathBase``) in future." -msgstr "" - -#: ../NEWS:8829 -msgid "" -":gh:`109858`: Protect :mod:`zipfile` from \"quoted-overlap\" zipbomb. It now" -" raises BadZipFile when try to read an entry that overlaps with other entry " -"or central directory." -msgstr "" - -#: ../NEWS:8833 -msgid "" -":gh:`109786`: Fix possible reference leaks and crash when re-enter the " -"``__next__()`` method of :class:`itertools.pairwise`." -msgstr "" - -#: ../NEWS:8836 -msgid "" -":gh:`91539`: Small (10 - 20%) and trivial performance improvement of " -":func:`urllib.request.getproxies_environment`, typically useful when there " -"are many environment variables to go over." -msgstr "" - -#: ../NEWS:8840 -msgid "" -":gh:`103363`: Add *follow_symlinks* keyword-only argument to " -":meth:`pathlib.Path.owner` and :meth:`~pathlib.Path.group`, defaulting to " -"``True``." -msgstr "" - -#: ../NEWS:8844 -msgid ":gh:`102130`: Support tab completion in :mod:`cmd` for ``editline``." -msgstr "" - -#: ../NEWS:8846 -msgid "" -":gh:`99437`: :func:`runpy.run_path` now decodes path-like objects, making " -"sure __file__ and sys.argv[0] of the module being run are always strings." -msgstr "" - -#: ../NEWS:8849 -msgid "" -":gh:`104003`: Add :func:`warnings.deprecated`, a decorator to mark " -"deprecated functions to static type checkers and to warn on usage of " -"deprecated classes and functions. See :pep:`702`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:8853 -msgid "" -":gh:`103708`: Make hardcoded python name, a configurable parameter so that " -"different implementations of python can override it instead of making huge " -"diffs in sysconfig.py" -msgstr "" - -#: ../NEWS:8857 -msgid "" -":gh:`66515`: :class:`mailbox.MH` now supports folders that do not contain a " -"``.mh_sequences`` file (e.g. Claws Mail IMAP-cache folders). Patch by Serhiy" -" Storchaka." -msgstr "" - -#: ../NEWS:8861 -msgid "" -":gh:`83162`: Renamed :exc:`!re.error` to :exc:`PatternError` for clarity, " -"and kept :exc:`!re.error` for backward compatibility. Patch by Matthias " -"Bussonnier and Adam Chhina." -msgstr "" - -#: ../NEWS:8865 -msgid "" -":gh:`91133`: Fix a bug in :class:`tempfile.TemporaryDirectory` cleanup, " -"which now no longer dereferences symlinks when working around file system " -"permission errors." -msgstr "" - -#: ../NEWS:8869 -msgid "" -":issue:`43153`: On Windows, ``tempfile.TemporaryDirectory`` previously " -"masked a ``PermissionError`` with ``NotADirectoryError`` during directory " -"cleanup. It now correctly raises ``PermissionError`` if errors are not " -"ignored. Patch by Andrei Kulakov and Ken Jin." -msgstr "" - -#: ../NEWS:8874 -msgid "" -":issue:`32731`: :func:`getpass.getuser` now raises :exc:`OSError` for all " -"failures rather than :exc:`ImportError` on systems lacking the :mod:`pwd` " -"module or :exc:`KeyError` if the password database is empty." -msgstr "" - -#: ../NEWS:8878 -msgid "" -":issue:`34321`: :class:`mmap.mmap` now has a *trackfd* parameter on Unix; if" -" it is ``False``, the file descriptor specified by *fileno* will not be " -"duplicated." -msgstr "" - -#: ../NEWS:8882 -msgid "" -":issue:`35332`: The :func:`shutil.rmtree` function now ignores errors when " -"calling :func:`os.close` when *ignore_errors* is ``True``, and " -":func:`os.close` no longer retried after error." -msgstr "" - -#: ../NEWS:8886 -msgid "" -":issue:`35928`: :class:`io.TextIOWrapper` now correctly handles the decoding" -" buffer after ``read()`` and ``write()``." -msgstr "" - -#: ../NEWS:8889 -msgid "" -":issue:`26791`: :func:`shutil.move` now moves a symlink into a directory " -"when that directory is the target of the symlink. This provides the same " -"behavior as the mv shell command. The previous behavior raised an " -"exception. Patch by Jeffrey Kintscher." -msgstr "" - -#: ../NEWS:8894 -msgid "" -":issue:`41422`: Fixed memory leaks of :class:`pickle.Pickler` and " -":class:`pickle.Unpickler` involving cyclic references via the internal memo " -"mapping." -msgstr "" - -#: ../NEWS:8898 -msgid "" -":issue:`19821`: The :func:`!pydoc.ispackage` function has been deprecated." -msgstr "" - -#: ../NEWS:8900 -msgid "" -":issue:`40262`: The :meth:`ssl.SSLSocket.recv_into` method no longer " -"requires the *buffer* argument to implement ``__len__`` and supports buffers" -" with arbitrary item size." -msgstr "" - -#: ../NEWS:8904 -msgid "" -":issue:`39912`: :func:`warnings.filterwarnings` and " -":func:`warnings.simplefilter` now raise appropriate exceptions instead of " -"``AssertionError``. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:8908 -msgid "" -":issue:`37260`: Fixed a race condition in :func:`shutil.rmtree` in which " -"directory entries removed by another process or thread while " -"``shutil.rmtree()`` is running can cause it to raise FileNotFoundError. " -"Patch by Jeffrey Kintscher." -msgstr "" - -#: ../NEWS:8913 -msgid "" -":issue:`36959`: Fix some error messages for invalid ISO format string " -"combinations in ``strptime()`` that referred to directives not contained in " -"the format string. Patch by Gordon P. Hemsley." -msgstr "" - -#: ../NEWS:8917 -msgid "" -":issue:`18060`: Fixed a class inheritance issue that can cause segfaults " -"when deriving two or more levels of subclasses from a base class of " -"Structure or Union." -msgstr "" - -#: ../NEWS:8921 -msgid "" -":issue:`29779`: Add a new :envvar:`PYTHON_HISTORY` environment variable to " -"set the location of a ``.python_history`` file." -msgstr "" - -#: ../NEWS:8924 -msgid "" -":issue:`21360`: :class:`mailbox.Maildir` now ignores files with a leading " -"dot." -msgstr "" - -#: ../NEWS:8929 -msgid "" -":gh:`111699`: Relocate ``smtpd`` deprecation notice to its own section " -"rather than under ``locale`` in What's New in Python 3.12 document" -msgstr "" - -#: ../NEWS:8932 -msgid "" -":gh:`110746`: Improved markup for valid options/values for methods " -"ttk.treeview.column and ttk.treeview.heading, and for Layouts." -msgstr "" - -#: ../NEWS:8935 -msgid "" -":gh:`95649`: Document that the :mod:`asyncio` module contains code taken " -"from `v0.16.0 of the uvloop project " -"`_, as well as the " -"required MIT licensing information." -msgstr "" - -#: ../NEWS:8943 -msgid "" -":gh:`111798`: Disable ``test_super_deep()`` from ``test_call`` under pydebug" -" builds on WASI; the stack depth is too small to make the test useful." -msgstr "" - -#: ../NEWS:8946 -msgid "" -":gh:`111801`: Lower the recursion limit in ``test_isinstance`` for " -"``test_infinitely_many_bases()``. This prevents a stack overflow on a " -"pydebug build of WASI." -msgstr "" - -#: ../NEWS:8950 -msgid "" -":gh:`111802`: Specify a low recursion depth for ``test_bad_getattr()`` in " -"``test.pickletester`` to avoid exhausting the stack under a pydebug build " -"for WASI." -msgstr "" - -#: ../NEWS:8954 -msgid "" -":gh:`44626`: Fix :func:`os.path.isabs` incorrectly returning ``True`` when " -"given a path that starts with exactly one (back)slash on Windows." -msgstr "" - -#: ../NEWS:8957 -msgid "" -"Fix :meth:`pathlib.PureWindowsPath.is_absolute` incorrectly returning " -"``False`` for some paths beginning with two (back)slashes." -msgstr "" - -#: ../NEWS:8960 -msgid ":gh:`113633`: Use module state for the _testcapi extension module." -msgstr "" - -#: ../NEWS:8962 -msgid "" -":gh:`109980`: Fix ``test_tarfile_vs_tar`` in ``test_shutil`` for macOS, " -"where system tar can include more information in the archive than " -":mod:`shutil.make_archive`." -msgstr "" - -#: ../NEWS:8966 -msgid "" -":gh:`112769`: The tests now correctly compare zlib version when " -":const:`zlib.ZLIB_RUNTIME_VERSION` contains non-integer suffixes. For " -"example zlib-ng defines the version as ``1.3.0.zlib-ng``." -msgstr "" - -#: ../NEWS:8970 -msgid "" -":gh:`112334`: Adds a regression test to verify that ``vfork()`` is used when" -" expected by :mod:`subprocess` on vfork enabled POSIX systems (Linux)." -msgstr "" - -#: ../NEWS:8973 -msgid "" -":gh:`108927`: Fixed order dependence in running tests in the same process " -"when a test that has submodules (e.g. test_importlib) follows a test that " -"imports its submodule (e.g. test_importlib.util) and precedes a test (e.g. " -"test_unittest or test_compileall) that uses that submodule." -msgstr "" - -#: ../NEWS:8978 -msgid ":issue:`40648`: Test modes that file can get with chmod() on Windows." -msgstr "" - -#: ../NEWS:8983 -msgid "" -":gh:`114013`: Fix ``Tools/wasm/wasi.py`` to not include the path to " -"``python.wasm`` as part of ``HOSTRUNNER``. The environment variable is meant" -" to specify how to run the WASI host only, having ``python.wasm`` and " -"relevant flags appended to the ``HOSTRUNNER``. This fixes ``make test`` " -"work." -msgstr "" - -#: ../NEWS:8989 -msgid "" -":gh:`113258`: Changed the Windows build to write out generated frozen " -"modules into the build tree instead of the source tree." -msgstr "" - -#: ../NEWS:8992 -msgid "" -":gh:`112305`: Fixed the ``check-clean-src`` step performed on out of tree " -"builds to detect errant ``$(srcdir)/Python/frozen_modules/*.h`` files and " -"recommend appropriate source tree cleanup steps to get a working build " -"again." -msgstr "" - -#: ../NEWS:8997 -msgid ":gh:`112536`: Add support for thread sanitizer (TSAN)" -msgstr "" - -#: ../NEWS:8999 -msgid "" -":gh:`112867`: Fix the build for the case that WITH_PYMALLOC_RADIX_TREE=0 " -"set." -msgstr "" - -#: ../NEWS:9001 -msgid "" -":gh:`103065`: Introduce ``Tools/wasm/wasi.py`` to simplify doing a WASI " -"build." -msgstr "" - -#: ../NEWS:9004 -msgid "" -":issue:`11102`: The :func:`os.major`, :func:`os.makedev`, and " -":func:`os.minor` functions are now available on HP-UX v3." -msgstr "" - -#: ../NEWS:9007 -msgid ":issue:`36351`: Do not set ipv6type when cross-compiling." -msgstr "" - -#: ../NEWS:9012 -msgid "" -":gh:`114096`: Process privileges that are activated for creating directory " -"junctions are now restored afterwards, avoiding behaviour changes in other " -"parts of the program." -msgstr "" - -#: ../NEWS:9016 -msgid "" -":gh:`111877`: :func:`os.stat` calls were returning incorrect time values for" -" files that could not be accessed directly." -msgstr "" - -#: ../NEWS:9019 -msgid ":gh:`111973`: Update Windows installer to use SQLite 3.44.2." -msgstr "" - -#: ../NEWS:9021 -msgid "" -":gh:`113009`: :mod:`multiprocessing`: On Windows, fix a race condition in " -"``Process.terminate()``: no longer set the ``returncode`` attribute to " -"always call ``WaitForSingleObject()`` in ``Process.wait()``. Previously, " -"sometimes the process was still running after ``TerminateProcess()`` even if" -" ``GetExitCodeProcess()`` is not ``STILL_ACTIVE``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9028 -msgid "" -":gh:`86179`: Fixes path calculations when launching Python on Windows " -"through a symlink." -msgstr "" - -#: ../NEWS:9031 -msgid "" -":gh:`71383`: Update Tcl/Tk in Windows installer to 8.6.13 with a patch to " -"suppress incorrect ThemeChanged warnings." -msgstr "" - -#: ../NEWS:9034 -msgid "" -":gh:`111650`: Ensures the ``Py_GIL_DISABLED`` preprocessor variable is " -"defined in :file:`pyconfig.h` so that extension modules written in C are " -"able to use it." -msgstr "" - -#: ../NEWS:9038 -msgid "" -":gh:`112278`: Reduce the time cost for some functions in :mod:`platform` on " -"Windows if current user has no permission to the WMI." -msgstr "" - -#: ../NEWS:9041 -msgid "" -":gh:`73427`: Deprecate :func:`sys._enablelegacywindowsfsencoding`. Use " -":envvar:`PYTHONLEGACYWINDOWSFSENCODING` instead. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:9044 -msgid "" -":gh:`87868`: Correctly sort and remove duplicate environment variables in " -":py:func:`!_winapi.CreateProcess`." -msgstr "" - -#: ../NEWS:9047 -msgid "" -":issue:`37308`: Fix mojibake in :class:`mmap.mmap` when using a non-ASCII " -"*tagname* argument on Windows." -msgstr "" - -#: ../NEWS:9053 -msgid "" -":gh:`113666`: Add the following constants to module :mod:`stat`: " -"``UF_SETTABLE``, ``UF_TRACKED``, ``UF_DATAVAULT``, ``SF_SUPPORTED``, " -"``SF_SETTABLE``, ``SF_SYNTHETIC``, ``SF_RESTRICTED``, ``SF_FIRMLINK`` and " -"``SF_DATALESS``. The values ``UF_SETTABLE``, ``SF_SUPPORTED``, " -"``SF_SETTABLE`` and ``SF_SYNTHETIC`` are only available on macOS." -msgstr "" - -#: ../NEWS:9059 -msgid ":gh:`113536`: :func:`os.waitid` is now available on macOS" -msgstr "" - -#: ../NEWS:9061 -msgid "" -":gh:`110459`: Running ``configure ... --with-openssl-rpath=X/Y/Z`` no longer" -" fails to detect OpenSSL on macOS." -msgstr "" - -#: ../NEWS:9064 -msgid "" -":gh:`74573`: Document that :mod:`dbm.ndbm` can silently corrupt DBM files on" -" updates when exceeding undocumented platform limits, and can crash " -"(segmentation fault) when reading such a corrupted file. (FB8919203)" -msgstr "" - -#: ../NEWS:9068 -msgid "" -":gh:`65701`: The :program:`freeze` tool doesn't work with framework builds " -"of Python. Document this and bail out early when running the tool with such " -"a build." -msgstr "" - -#: ../NEWS:9072 -msgid "" -":gh:`87277`: webbrowser: Don't look for X11 browsers on macOS. Those are " -"generally not used and probing for them can result in starting XQuartz even " -"if it isn't used otherwise." -msgstr "" - -#: ../NEWS:9076 -msgid ":gh:`111973`: Update macOS installer to use SQLite 3.44.2." -msgstr "" - -#: ../NEWS:9078 -msgid "" -":gh:`108269`: Set ``CFBundleAllowMixedLocalizations`` to true in the " -"Info.plist for the framework, embedded Python.app and IDLE.app with " -"framework installs on macOS. This allows applications to pick up the user's" -" preferred locale when that's different from english." -msgstr "" - -#: ../NEWS:9083 -msgid "" -":gh:`102362`: Make sure the result of :func:`sysconfig.get_plaform` includes" -" at least a major and minor versions, even if ``MACOSX_DEPLOYMENT_TARGET`` " -"is set to only a major version during build to match the format expected by " -"pip." -msgstr "" - -#: ../NEWS:9088 -msgid "" -":gh:`110017`: Disable a signal handling stress test on macOS due to a bug in" -" macOS (FB13453490)." -msgstr "" - -#: ../NEWS:9091 -msgid "" -":gh:`110820`: Make sure the preprocessor definitions for " -"``ALIGNOF_MAX_ALIGN_T``, ``SIZEOF_LONG_DOUBLE`` and ``HAVE_GCC_ASM_FOR_X64``" -" are correct for Universal 2 builds on macOS." -msgstr "" - -#: ../NEWS:9095 -msgid "" -":gh:`109981`: Use ``/dev/fd`` on macOS to determine the number of open files" -" in ``test.support.os_helper.fd_count`` to avoid a crash with \"guarded\" " -"file descriptors when probing for open files." -msgstr "" - -#: ../NEWS:9102 -msgid "" -":gh:`72284`: Improve the lists of features, editor key bindings, and shell " -"key bingings in the IDLE doc." -msgstr "" - -#: ../NEWS:9105 -msgid "" -":gh:`113903`: Fix rare failure of test.test_idle, in test_configdialog." -msgstr "" - -#: ../NEWS:9107 -msgid ":gh:`113729`: Fix the \"Help -> IDLE Doc\" menu bug in 3.11.7 and 3.12.1." -msgstr "" - -#: ../NEWS:9109 -msgid ":gh:`113269`: Fix test_editor hang on macOS Catalina." -msgstr "" - -#: ../NEWS:9111 -msgid "" -":gh:`112898`: Fix processing unsaved files when quitting IDLE on macOS." -msgstr "" - -#: ../NEWS:9113 -msgid "" -":issue:`13586`: Enter the selected text when opening the \"Replace\" dialog." -msgstr "" - -#: ../NEWS:9118 -msgid "" -":gh:`106560`: Fix redundant declarations in the public C API. Declare " -"PyBool_Type, PyLong_Type and PySys_Audit() only once. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:9122 -msgid "" -":gh:`112438`: Fix support of format units \"es\", \"et\", \"es#\", and " -"\"et#\" in nested tuples in :c:func:`PyArg_ParseTuple`-like functions." -msgstr "" - -#: ../NEWS:9125 -msgid "" -":gh:`111545`: Add :c:func:`Py_HashPointer` function to hash a pointer. Patch" -" by Victor Stinner." -msgstr "" - -#: ../NEWS:9128 -msgid "" -":gh:`65210`: Change the declaration of the *keywords* parameter of " -":c:func:`PyArg_ParseTupleAndKeywords` and " -":c:func:`PyArg_VaParseTupleAndKeywords` for better compatibility with C++." -msgstr "" - -#: ../NEWS:9134 -msgid "Python 3.13.0 alpha 2" -msgstr "" - -#: ../NEWS:9136 -msgid "*Release date: 2023-11-22*" -msgstr "" - -#: ../NEWS:9141 -msgid "" -":gh:`112243`: Don't include comments in f-string debug expressions. Patch by" -" Pablo Galindo" -msgstr "" - -#: ../NEWS:9144 -msgid "" -":gh:`112287`: Slightly optimize the Tier 2 (uop) interpreter by only loading" -" ``oparg`` and ``operand`` when needed. Also double the trace size limit " -"again, to 512 this time." -msgstr "" - -#: ../NEWS:9148 -msgid "" -":gh:`112266`: Change docstrings of :attr:`~object.__dict__` and " -":attr:`~object.__weakref__`." -msgstr "" - -#: ../NEWS:9151 -msgid "" -":gh:`111807`: Lower the max parser stack depth to 1000 under WASI debug " -"builds." -msgstr "" - -#: ../NEWS:9154 -msgid "" -":gh:`111798`: When Python is built in debug mode, set the C recursion limit " -"to 500 instead of 1500. A debug build is likely built with low optimization " -"level which implies higher stack memory usage than a release build. Patch by" -" Victor Stinner." -msgstr "" - -#: ../NEWS:9159 -msgid ":gh:`106529`: Enable translating unspecialized ``FOR_ITER`` to Tier 2." -msgstr "" - -#: ../NEWS:9161 -msgid ":gh:`111916`: Make hashlib related modules thread-safe without the GIL" -msgstr "" - -#: ../NEWS:9163 -msgid "" -":gh:`81137`: Deprecate assignment to a function's ``__code__`` field when " -"the new code object is of a mismatched type (e.g., from a generator to a " -"plain function)." -msgstr "" - -#: ../NEWS:9167 -msgid "" -":gh:`79932`: Raise exception if :meth:`frame.clear` is called on a suspended" -" frame." -msgstr "" - -#: ../NEWS:9170 -msgid ":gh:`81925`: Implement native thread ids for GNU KFreeBSD." -msgstr "" - -#: ../NEWS:9172 -msgid "" -":gh:`111843`: Use exponential backoff to reduce the number of failed tier 2 " -"optimization attempts by over 99%." -msgstr "" - -#: ../NEWS:9175 -msgid "" -":gh:`110829`: Joining a thread now ensures the underlying OS thread has " -"exited. This is required for safer fork() in multi-threaded processes." -msgstr "" - -#: ../NEWS:9178 -msgid "" -":gh:`109369`: Make sure that tier 2 traces are de-optimized if the code is " -"instrumented" -msgstr "" - -#: ../NEWS:9181 -msgid "" -":gh:`111772`: Specialize slot loads and stores for _Py_T_OBJECT as well as " -"Py_T_OBJECT_EX" -msgstr "" - -#: ../NEWS:9184 -msgid "" -":gh:`111666`: Speed up :meth:`BaseExceptionGroup.derive`, " -":meth:`BaseExceptionGroup.subgroup`, and :meth:`BaseExceptionGroup.split` by" -" changing how they parse passed arguments." -msgstr "" - -#: ../NEWS:9188 -msgid "" -":gh:`111654`: Fix runtime crash when some error happens in opcode " -"``LOAD_FROM_DICT_OR_DEREF``." -msgstr "" - -#: ../NEWS:9191 -msgid "" -":gh:`111623`: Add support for sharing tuples between interpreters using the " -"cross-interpreter API. Patch by Anthony Shaw." -msgstr "" - -#: ../NEWS:9194 -msgid "" -":gh:`111354`: The oparg of :opcode:`YIELD_VALUE` is now ``1`` if the " -"instruction is part of a yield-from or await, and ``0`` otherwise." -msgstr "" - -#: ../NEWS:9197 -msgid "" -"The SUSPENDED frame state is now split into ``SUSPENDED`` and " -"``SUSPENDED_YIELD_FROM``. This simplifies the code in ``_PyGen_yf``." -msgstr "" - -#: ../NEWS:9200 -msgid "" -":gh:`111520`: Merge the Tier 1 (bytecode) and Tier 2 (micro-ops) " -"interpreters together, moving the Tier 2 interpreter loop and switch into " -"``_PyEval_EvalFrameDefault()`` in ``Python/ceval.c``. The " -"``Python/executor.c`` file is gone. Also the ``TIER_ONE`` and ``TIER_TWO`` " -"macros are now handled by the code generator." -msgstr "" - -#: ../NEWS:9206 -msgid "" -"**Beware!** This changes the environment variables to enable micro-ops and " -"their debugging to ``PYTHON_UOPS`` and ``PYTHON_LLTRACE``." -msgstr "" - -#: ../NEWS:9209 -msgid "" -":gh:`109181`: Speed up :class:`Traceback` object creation by lazily compute " -"the line number. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:9212 -msgid ":gh:`111420`: Allow type comments in parenthesized ``with`` statements" -msgstr "" - -#: ../NEWS:9214 -msgid "" -":gh:`111438`: Add support for sharing floats between interpreters using the " -"cross-interpreter API. Patch by Anthony Shaw." -msgstr "" - -#: ../NEWS:9217 -msgid "" -":gh:`111435`: Add support for sharing of ``True`` and ``False`` between " -"interpreters using the cross-interpreter API. Patch by Anthony Shaw." -msgstr "" - -#: ../NEWS:9220 -msgid "" -":gh:`102388`: Fix a bug where ``iso2022_jp_3`` and ``iso2022_jp_2004`` " -"codecs read out of bounds" -msgstr "" - -#: ../NEWS:9223 -msgid "" -":gh:`111366`: Fix an issue in the :mod:`codeop` that was causing " -":exc:`SyntaxError` exceptions raised in the presence of invalid syntax to " -"not contain precise error messages. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:9227 -msgid "" -":gh:`111380`: Fix a bug that was causing :exc:`SyntaxWarning` to appear " -"twice when parsing if invalid syntax is encountered later. Patch by Pablo " -"galindo" -msgstr "" - -#: ../NEWS:9231 -msgid "" -":gh:`111374`: Added a new environment variable " -":envvar:`PYTHON_FROZEN_MODULES`. It determines whether or not frozen modules" -" are ignored by the import machinery, equivalent of the :option:`-X " -"frozen_modules <-X>` command-line option." -msgstr "" - -#: ../NEWS:9236 -msgid "" -":gh:`111354`: Remove ``oparg`` from :opcode:`YIELD_VALUE`. Change ``oparg`` " -"of :opcode:`RESUME` to include information about the except-depth. These " -"changes make it possible to simplify the code in generator close." -msgstr "" - -#: ../NEWS:9240 -msgid "" -":gh:`94438`: Fix a regression that prevented jumping across ``is None`` and " -"``is not None`` when debugging. Patch by Savannah Ostrowski." -msgstr "" - -#: ../NEWS:9243 -msgid "" -":gh:`67224`: Show source lines in tracebacks when using the ``-c`` option " -"when running Python. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:9246 -msgid "" -":gh:`111123`: Fix a bug where a :keyword:`global` declaration in an " -":keyword:`except` block is rejected when the global is used in the " -":keyword:`else` block." -msgstr "" - -#: ../NEWS:9250 -msgid "" -":gh:`110938`: Fix error messages for indented blocks with functions and " -"classes with generic type parameters. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:9253 -msgid "" -":gh:`109214`: Remove unnecessary instruction pointer updates before " -"returning from frames." -msgstr "" - -#: ../NEWS:9256 -msgid "" -":gh:`110912`: Correctly display the traceback for :exc:`MemoryError` " -"exceptions using the :mod:`traceback` module. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:9259 -msgid "" -":gh:`109894`: Fixed crash due to improperly initialized static " -":exc:`MemoryError` in subinterpreter." -msgstr "" - -#: ../NEWS:9262 -msgid "" -":gh:`110892`: Return ``NULL`` for ``PyTrace_RETURN`` events caused by an " -"exception" -msgstr "" - -#: ../NEWS:9265 -msgid "" -":gh:`110864`: Fix argument parsing by ``_PyArg_UnpackKeywordsWithVararg`` " -"for functions defining pos-or-keyword, vararg, and kw-only parameters." -msgstr "" - -#: ../NEWS:9268 -msgid "" -":gh:`109094`: Replace ``prev_instr`` on the interpreter frame by " -"``instr_ptr`` which points to the beginning of the instruction that is " -"currently executing (or will execute once the frame resumes)." -msgstr "" - -#: ../NEWS:9272 -msgid "" -":gh:`110805`: Allow the repl to show source code and complete tracebacks. " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:9275 -msgid "" -":gh:`110722`: Add :envvar:`PYTHON_PRESITE=package.module` to import a module" -" early in the interpreter lifecycle before ``site.py`` is executed. Python " -"needs to be :ref:`built in debug mode ` for this option to " -"exist." -msgstr "" - -#: ../NEWS:9280 -msgid "" -":gh:`110481`: Implement biased reference counting in ``--disable-gil`` " -"builds." -msgstr "" - -#: ../NEWS:9283 -msgid "" -":gh:`110543`: Fix regression in Python 3.12 where " -":meth:`types.CodeType.replace` would produce a broken code object if called " -"on a module or class code object that contains a comprehension. Patch by " -"Jelle Zijlstra." -msgstr "" - -#: ../NEWS:9288 -msgid "" -":gh:`89519`: Removed chained :class:`classmethod` descriptors (introduced in" -" :issue:`19072`). This can no longer be used to wrap other descriptors such" -" as :class:`property`. The core design of this feature was flawed and " -"caused a number of downstream problems. To \"pass-through\" a " -":class:`classmethod`, consider using the :attr:`!__wrapped__` attribute that" -" was added in Python 3.10." -msgstr "" - -#: ../NEWS:9295 -msgid ":gh:`103615`: Use local events for opcode tracing" -msgstr "" - -#: ../NEWS:9297 -msgid ":issue:`46657`: Add mimalloc memory allocator support." -msgstr "" - -#: ../NEWS:9299 -msgid "" -":gh:`106718`: When PyConfig.stdlib_dir is explicitly set, it's now respected" -" and won't be overridden by PyConfig.home." -msgstr "" - -#: ../NEWS:9302 -msgid "" -":gh:`106905`: Fix incorrect SystemError about AST constructor recursion " -"depth mismatch." -msgstr "" - -#: ../NEWS:9305 -msgid "" -":gh:`100445`: Improve error message for unterminated strings with escapes." -msgstr "" - -#: ../NEWS:9307 -msgid "" -":issue:`45759`: Improved error messages for ``elif``/``else`` statements not" -" matching any valid statements. Patch by Jeremiah Vivian." -msgstr "" - -#: ../NEWS:9313 -msgid "" -":gh:`111942`: Fix SystemError in the TextIOWrapper constructor with non-" -"encodable \"errors\" argument in non-debug mode." -msgstr "" - -#: ../NEWS:9316 -msgid "" -":gh:`111995`: Added the ``NI_IDN`` constant to the :mod:`socket` module when" -" present in C at build time for use with :func:`socket.getnameinfo`." -msgstr "" - -#: ../NEWS:9319 -msgid "" -":gh:`109538`: Issue warning message instead of having :class:`RuntimeError` " -"be displayed when event loop has already been closed at " -":meth:`StreamWriter.__del__`." -msgstr "" - -#: ../NEWS:9323 -msgid "" -":gh:`111942`: Fix crashes in :meth:`io.TextIOWrapper.reconfigure` when pass " -"invalid arguments, e.g. non-string encoding." -msgstr "" - -#: ../NEWS:9326 -msgid "" -":gh:`111460`: :mod:`curses`: restore wide character support (including " -":func:`curses.unget_wch` and :meth:`~curses.window.get_wch`) on macOS, which" -" was unavailable due to a regression in Python 3.12." -msgstr "" - -#: ../NEWS:9330 -msgid "" -":gh:`103791`: :class:`contextlib.suppress` now supports suppressing " -"exceptions raised as part of a :exc:`BaseExceptionGroup`, in addition to the" -" recent support for :exc:`ExceptionGroup`." -msgstr "" - -#: ../NEWS:9334 -msgid "" -":gh:`111835`: The :class:`mmap.mmap` class now has an " -":meth:`~mmap.mmap.seekable` method that can be used when a seekable file-" -"like object is required. The :meth:`~mmap.mmap.seek` method now returns the " -"new absolute position. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:9339 -msgid "" -":gh:`111804`: Remove posix.fallocate() under WASI as the underlying " -"posix_fallocate() is not available in WASI preview2." -msgstr "" - -#: ../NEWS:9342 -msgid "" -":gh:`111841`: Fix truncating arguments on an embedded null character in " -":meth:`os.putenv` and :meth:`os.unsetenv` on Windows." -msgstr "" - -#: ../NEWS:9345 -msgid "" -":gh:`111768`: :func:`wsgiref.util.is_hop_by_hop` is now exposed correctly in" -" ``__all__``." -msgstr "" - -#: ../NEWS:9348 -msgid "" -":gh:`80731`: Avoid executing the default function in :class:`cmd.Cmd` in an " -"except block" -msgstr "" - -#: ../NEWS:9351 -msgid "" -":gh:`111541`: Fix :mod:`doctest` for :exc:`SyntaxError` not-builtin " -"subclasses." -msgstr "" - -#: ../NEWS:9354 -msgid "" -":gh:`111719`: Add extra argument validation for ``alias`` command in " -":mod:`pdb`" -msgstr "" - -#: ../NEWS:9357 -msgid "" -":gh:`111482`: :mod:`time`: Make :func:`time.clock_gettime` and " -":func:`time.clock_gettime_ns` functions up to 2x faster by faster calling " -"convention. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9361 -msgid "" -":gh:`110894`: Call loop exception handler for exceptions in " -"``client_connected_cb`` of :func:`asyncio.start_server` so that applications" -" can handle it. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:9365 -msgid "" -":gh:`111531`: Fix reference leaks in ``bind_class()`` and ``bind_all()`` " -"methods of :mod:`tkinter` widgets." -msgstr "" - -#: ../NEWS:9368 -msgid "" -":gh:`111246`: :meth:`asyncio.loop.create_unix_server` will now automatically" -" remove the Unix socket when the server is closed." -msgstr "" - -#: ../NEWS:9371 -msgid "" -":gh:`111356`: Added :func:`io.text_encoding`, " -":data:`io.DEFAULT_BUFFER_SIZE`, and :class:`io.IncrementalNewlineDecoder` to" -" ``io.__all__``." -msgstr "" - -#: ../NEWS:9374 -msgid "" -":gh:`66425`: Remove the code to set the REMOTE_HOST header from wsgiref " -"module, as it is unreachable. This header is used for performance reasons, " -"which is not necessary in the wsgiref module." -msgstr "" - -#: ../NEWS:9378 -msgid "" -":gh:`111429`: Speed up :meth:`pathlib.PurePath.relative_to` and " -":meth:`~pathlib.PurePath.is_relative_to`." -msgstr "" - -#: ../NEWS:9381 -msgid ":gh:`111342`: Fixed typo in :func:`math.sumprod`." -msgstr "" - -#: ../NEWS:9383 -msgid "" -":gh:`68166`: Remove mention of not supported \"vsapi\" element type in " -":meth:`tkinter.ttk.Style.element_create`. Add tests for ``element_create()``" -" and other ``ttk.Style`` methods. Add examples for ``element_create()`` in " -"the documentation." -msgstr "" - -#: ../NEWS:9388 -msgid "" -":gh:`111388`: Add ``show_group`` parameter to " -":func:`traceback.format_exception_only`, which allows to format " -":exc:`ExceptionGroup` instances." -msgstr "" - -#: ../NEWS:9392 -msgid "" -":gh:`79033`: Another attempt at fixing :func:`asyncio.Server.wait_closed`. " -"It now blocks until both conditions are true: the server is closed, *and* " -"there are no more active connections. (This means that in some cases where " -"in 3.12.0 this function would *incorrectly* have returned immediately, it " -"will now block; in particular, when there are no active connections but the " -"server hasn't been closed yet.)" -msgstr "" - -#: ../NEWS:9399 -msgid ":gh:`111259`: Optimize recursive wildcards in :mod:`pathlib`." -msgstr "" - -#: ../NEWS:9401 -msgid "" -":gh:`111295`: Fix :mod:`time` not checking for errors when initializing." -msgstr "" - -#: ../NEWS:9403 -msgid ":gh:`111253`: Add error checking during :mod:`!_socket` module init." -msgstr "" - -#: ../NEWS:9405 -msgid "" -":gh:`111251`: Fix :mod:`!_blake2` not checking for errors when initializing." -msgstr "" - -#: ../NEWS:9407 -msgid "" -":gh:`111233`: Fix :mod:`select` not checking for errors when initializing." -msgstr "" - -#: ../NEWS:9409 -msgid "" -":gh:`111230`: Fix :mod:`ssl` not checking for errors when initializing." -msgstr "" - -#: ../NEWS:9411 -msgid "" -":gh:`111174`: Fix crash in :meth:`io.BytesIO.getbuffer` called repeatedly " -"for empty BytesIO." -msgstr "" - -#: ../NEWS:9414 -msgid "" -":gh:`111187`: Postpone removal version for locale.getdefaultlocale() to " -"Python 3.15." -msgstr "" - -#: ../NEWS:9417 -msgid "" -":gh:`111159`: Fix :mod:`doctest` output comparison for exceptions with " -"notes." -msgstr "" - -#: ../NEWS:9419 -msgid "" -":gh:`110910`: Fix invalid state handling in :class:`asyncio.TaskGroup` and " -":class:`asyncio.Timeout`. They now raise proper RuntimeError if they are " -"improperly used and are left in consistent state after this." -msgstr "" - -#: ../NEWS:9423 -msgid ":gh:`111092`: Make turtledemo run without default root enabled." -msgstr "" - -#: ../NEWS:9425 -msgid "" -":gh:`110944`: Support alias and convenience vars for :mod:`pdb` completion" -msgstr "" - -#: ../NEWS:9427 -msgid "" -":gh:`110745`: Added *newline* parameter to :meth:`pathlib.Path.read_text`. " -"Patch by Junya Okabe." -msgstr "" - -#: ../NEWS:9430 -msgid "" -":gh:`84583`: Make :mod:`pdb` enter post-mortem mode even for " -":exc:`SyntaxError`" -msgstr "" - -#: ../NEWS:9433 -msgid "" -":gh:`80675`: Set ``f_trace_lines = True`` on all frames upon " -":func:`pdb.set_trace`" -msgstr "" - -#: ../NEWS:9436 -msgid "" -":gh:`110771`: Expose the setup and cleanup portions of " -"``asyncio.run_forever()`` as the standalone methods " -"``asyncio.run_forever_setup()`` and ``asyncio.run_forever_cleanup()``. This " -"allows for tighter integration with GUI event loops." -msgstr "" - -#: ../NEWS:9441 -msgid "" -":gh:`110774`: Support setting the :class:`asyncio.Runner` loop_factory kwarg" -" in :class:`unittest.IsolatedAsyncioTestCase`" -msgstr "" - -#: ../NEWS:9444 -msgid "" -":gh:`110392`: Fix :func:`tty.setraw` and :func:`tty.setcbreak`: previously " -"they returned partially modified list of the original tty attributes. " -":func:`tty.cfmakeraw` and :func:`tty.cfmakecbreak` now make a copy of the " -"list of special characters before modifying it." -msgstr "" - -#: ../NEWS:9449 -msgid "" -":gh:`59013`: Make line number of function breakpoint more precise in " -":mod:`pdb`" -msgstr "" - -#: ../NEWS:9452 -msgid "" -":gh:`88434`: Emit deprecation warning for non-integer numbers in " -":mod:`gettext` functions and methods that consider plural forms even if the " -"translation was not found." -msgstr "" - -#: ../NEWS:9456 -msgid "" -":gh:`110395`: Ensure that :func:`select.kqueue` objects correctly appear as " -"closed in forked children, to prevent operations on an invalid file " -"descriptor." -msgstr "" - -#: ../NEWS:9460 -msgid "" -":gh:`110196`: Add ``__reduce__`` method to :class:`IPv6Address` in order to " -"keep ``scope_id``" -msgstr "" - -#: ../NEWS:9463 -msgid "" -":gh:`109747`: Improve errors for unsupported look-behind patterns. Now " -"re.error is raised instead of OverflowError or RuntimeError for too large " -"width of look-behind pattern." -msgstr "" - -#: ../NEWS:9467 -msgid "" -":gh:`109466`: Add the :attr:`ipaddress.IPv4Address.ipv6_mapped` property, " -"which returns the IPv4-mapped IPv6 address." -msgstr "" - -#: ../NEWS:9470 -msgid "" -":gh:`85098`: Implement the CLI of the :mod:`symtable` module and improve the" -" repr of :class:`~symtable.Symbol`." -msgstr "" - -#: ../NEWS:9473 -msgid "" -":gh:`108791`: Improved error handling in :mod:`pdb` command line interface, " -"making it produce more concise error messages." -msgstr "" - -#: ../NEWS:9476 -msgid "" -":gh:`105931`: Change :mod:`compileall` to only strip the stripdir prefix " -"from the full path recorded in the compiled ``.pyc`` file, when the prefix " -"matches the start of the full path in its entirety. When the prefix does not" -" match, no stripping is performed and a warning to this effect is displayed." -msgstr "" - -#: ../NEWS:9482 -msgid "" -"Previously all path components of the stripdir prefix that matched the full " -"path were removed, while those that did not match were left alone (including" -" ones interspersed between matching components)." -msgstr "" - -#: ../NEWS:9486 -msgid "" -":gh:`107431`: Make the ``DictProxy`` and ``ListProxy`` types in " -":mod:`multiprocessing.managers` :ref:`Generic Alias Types` for ``[]`` use in typing contexts." -msgstr "" - -#: ../NEWS:9490 -msgid "" -":gh:`72904`: Add :func:`glob.translate`. This function converts a pathname " -"with shell-style wildcards to a regular expression." -msgstr "" - -#: ../NEWS:9493 -msgid "" -":gh:`90026`: Define ``USE_XATTRS`` on Cygwin so that XATTR-related functions" -" in the :mod:`os` module become available." -msgstr "" - -#: ../NEWS:9496 -msgid "" -":gh:`90890`: New methods :meth:`mailbox.Maildir.get_info`, " -":meth:`mailbox.Maildir.set_info`, :meth:`mailbox.Maildir.get_flags`, " -":meth:`mailbox.Maildir.set_flags`, :meth:`mailbox.Maildir.add_flag`, " -":meth:`mailbox.Maildir.remove_flag`. These methods speed up accessing a " -"message's info and/or flags and are useful when it is not necessary to " -"access the message's contents, as when iterating over a Maildir to find " -"messages with specific flags." -msgstr "" - -#: ../NEWS:9504 -msgid "" -":gh:`102956`: Fix returning of empty byte strings after seek in zipfile " -"module" -msgstr "" - -#: ../NEWS:9507 -msgid "" -":gh:`102895`: Added a parameter ``local_exit`` for :func:`code.interact` to " -"prevent ``exit()`` and ``quit`` from closing ``sys.stdin`` and raise " -"``SystemExit``." -msgstr "" - -#: ../NEWS:9511 -msgid "" -":gh:`97928`: Change the behavior of :meth:`tkinter.Text.count`. It now " -"always returns an integer if one or less counting options are specified. " -"Previously it could return a single count as a 1-tuple, an integer (only if " -"option ``\"update\"`` was specified) or ``None`` if no items found. The " -"result is now the same if ``wantobjects`` is set to ``0``." -msgstr "" - -#: ../NEWS:9517 -msgid "" -":gh:`96954`: Switch the storage of the unicode codepoint names to use a " -"different data-structure, a `directed acyclic word graph " -"`_." -" This makes the unicodedata shared library about 440 KiB smaller. " -"Contributed by Carl Friedrich Bolz-Tereick using code from the PyPy project." -msgstr "" - -#: ../NEWS:9524 -msgid "" -":gh:`73561`: Omit the interface scope from an IPv6 address when used as Host" -" header by :mod:`http.client`." -msgstr "" - -#: ../NEWS:9527 -msgid "" -":gh:`86826`: :mod:`zipinfo` now supports the full range of values in the TZ " -"string determined by RFC 8536 and detects all invalid formats. Both Python " -"and C implementations now raise exceptions of the same type on invalid data." -msgstr "" - -#: ../NEWS:9535 -msgid "" -":gh:`111808`: Make the default value of " -"``test.support.infinite_recursion()`` to be conditional based on whether " -"optimizations were used when compiling the interpreter. This helps with " -"platforms like WASI whose stack size is greatly restricted in debug builds." -msgstr "" - -#: ../NEWS:9540 -msgid "" -":gh:`110722`: Gathering line coverage of standard libraries within the " -"regression test suite is now precise, as well as much faster. Patch by " -"Łukasz Langa." -msgstr "" - -#: ../NEWS:9544 -msgid "" -":gh:`110367`: Make regrtest ``--verbose3`` option compatible with " -"``--huntrleaks -jN`` options. The ``./python -m test -j1 -R 3:3 --verbose3``" -" command now works as expected. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9548 -msgid "" -":gh:`111165`: Remove no longer used functions ``run_unittest()`` and " -"``run_doctest()`` from the :mod:`test.support` module." -msgstr "" - -#: ../NEWS:9551 -msgid "" -":gh:`110932`: Fix regrtest if the ``SOURCE_DATE_EPOCH`` environment variable" -" is defined: use the variable value as the random seed. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:9555 -msgid "" -":gh:`110995`: test_gdb: Fix detection of gdb built without Python scripting " -"support. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9558 -msgid "" -":gh:`110918`: Test case matching patterns specified by options ``--match``, " -"``--ignore``, ``--matchfile`` and ``--ignorefile`` are now tested in the " -"order of specification, and the last match determines whether the test case " -"be run or ignored." -msgstr "" - -#: ../NEWS:9563 -msgid "" -":gh:`108747`: Add unit test for ``usercustomize`` and ``sitecustomize`` " -"hooks from :class:`site`." -msgstr "" - -#: ../NEWS:9569 -msgid "" -":gh:`96954`: Make ``make regen-unicodedata`` work for out-of-tree builds of " -"CPython." -msgstr "" - -#: ../NEWS:9572 -msgid "" -":gh:`112088`: Add ``Tools/build/regen-configure.sh`` script to regenerate " -"the ``configure`` with an Ubuntu container image. The " -"``quay.io/tiran/cpython_autoconf:271`` container image " -"(`tiran/cpython_autoconf `_) is " -"no longer used. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9578 -msgid "" -":gh:`111046`: For wasi-threads, memory is now exported to fix compatibility " -"issues with some wasm runtimes." -msgstr "" - -#: ../NEWS:9581 -msgid "" -":gh:`110828`: AIX 32bit needs ``-latomic`` to build the :mod:`!_testcapi` " -"extension module." -msgstr "" - -#: ../NEWS:9584 -msgid "" -":gh:`85283`: The ``errno``, ``md5``, ``resource``, ``winsound``, " -"``_ctypes_test``, ``_multiprocessing.posixshmem``, ``_scproxy``, ``_stat``, " -"``_testimportmultiple`` and ``_uuid`` C extensions are now built with the " -":ref:`limited C API `. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9593 -msgid "" -":gh:`111856`: Fixes :func:`~os.fstat` on file systems that do not support " -"file ID requests. This includes FAT32 and exFAT." -msgstr "" - -#: ../NEWS:9596 -msgid "" -":gh:`111293`: Fix :data:`os.DirEntry.inode` dropping higher 64 bits of a " -"file id on some filesystems on Windows." -msgstr "" - -#: ../NEWS:9599 -msgid "" -":gh:`110913`: WindowsConsoleIO now correctly chunks large buffers without " -"splitting up UTF-8 sequences." -msgstr "" - -#: ../NEWS:9605 -msgid "" -":gh:`59703`: For macOS framework builds, in ``getpath.c`` use the system " -"``dladdr`` function to find the path to the shared library rather than " -"depending on deprecated macOS APIs." -msgstr "" - -#: ../NEWS:9609 -msgid "" -":gh:`110950`: Update macOS installer to include an upstream Tcl/Tk fix for " -"the ``Secure coding is not enabled for restorable state!`` warning " -"encountered in Tkinter on macOS 14 Sonoma." -msgstr "" - -#: ../NEWS:9613 -msgid "" -":gh:`111015`: Ensure that IDLE.app and Python Launcher.app are installed " -"with appropriate permissions on macOS builds." -msgstr "" - -#: ../NEWS:9616 -msgid "" -":gh:`71383`: Update macOS installer to include an upstream Tcl/Tk fix for " -"the ``ttk::ThemeChanged`` error encountered in Tkinter." -msgstr "" - -#: ../NEWS:9619 -msgid "" -":gh:`92603`: Update macOS installer to include a fix accepted by upstream " -"Tcl/Tk for a crash encountered after the first :meth:`tkinter.Tk` instance " -"is destroyed." -msgstr "" - -#: ../NEWS:9626 -msgid "" -":issue:`35668`: Add docstrings to the IDLE debugger module. Fix two bugs: " -"initialize ``Idb.botframe`` (should be in Bdb); in ``Idb.in_rpc_code``, " -"check whether ``prev_frame`` is ``None`` before trying to use it. Greatly " -"expand test_debugger." -msgstr "" - -#: ../NEWS:9634 -msgid "" -":gh:`111903`: Argument Clinic now supports the ``@critical_section`` " -"directive that instructs Argument Clinic to generate a critical section " -"around the function call, which locks the ``self`` object in ``--disable-" -"gil`` builds. Patch by Sam Gross." -msgstr "" - -#: ../NEWS:9642 -msgid "" -":gh:`112026`: Add again the private ``_PyThreadState_UncheckedGet()`` " -"function as an alias to the new public :c:func:`PyThreadState_GetUnchecked` " -"function. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9646 -msgid "" -":gh:`112026`: Restore the removed ``_PyDict_GetItemStringWithError()`` " -"function. It is used by numpy. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9649 -msgid "" -":gh:`112026`: Restore removed private C API functions, macros and structures" -" which have no simple replacement for now:" -msgstr "" - -#: ../NEWS:9652 -msgid "_PyDict_GetItem_KnownHash()" -msgstr "" - -#: ../NEWS:9653 -msgid "_PyDict_NewPresized()" -msgstr "" - -#: ../NEWS:9654 -msgid "_PyHASH_BITS" -msgstr "" - -#: ../NEWS:9655 -msgid "_PyHASH_IMAG" -msgstr "" - -#: ../NEWS:9656 -msgid "_PyHASH_INF" -msgstr "" - -#: ../NEWS:9657 -msgid "_PyHASH_MODULUS" -msgstr "" - -#: ../NEWS:9658 -msgid "_PyHASH_MULTIPLIER" -msgstr "" - -#: ../NEWS:9659 -msgid "_PyLong_Copy()" -msgstr "" - -#: ../NEWS:9660 -msgid "_PyLong_FromDigits()" -msgstr "" - -#: ../NEWS:9661 -msgid "_PyLong_New()" -msgstr "" - -#: ../NEWS:9662 -msgid "_PyLong_Sign()" -msgstr "" - -#: ../NEWS:9663 -msgid "_PyObject_CallMethodId()" -msgstr "" - -#: ../NEWS:9664 -msgid "_PyObject_CallMethodNoArgs()" -msgstr "" - -#: ../NEWS:9665 -msgid "_PyObject_CallMethodOneArg()" -msgstr "" - -#: ../NEWS:9666 -msgid "_PyObject_CallOneArg()" -msgstr "" - -#: ../NEWS:9667 -msgid "_PyObject_EXTRA_INIT" -msgstr "" - -#: ../NEWS:9668 -msgid "_PyObject_FastCallDict()" -msgstr "" - -#: ../NEWS:9669 -msgid "_PyObject_GetAttrId()" -msgstr "" - -#: ../NEWS:9670 -msgid "_PyObject_Vectorcall()" -msgstr "" - -#: ../NEWS:9671 -msgid "_PyObject_VectorcallMethod()" -msgstr "" - -#: ../NEWS:9672 -msgid "_PyStack_AsDict()" -msgstr "" - -#: ../NEWS:9673 -msgid "_PyThread_CurrentFrames()" -msgstr "" - -#: ../NEWS:9674 -msgid "_PyUnicodeWriter structure" -msgstr "" - -#: ../NEWS:9675 -msgid "_PyUnicodeWriter_Dealloc()" -msgstr "" - -#: ../NEWS:9676 -msgid "_PyUnicodeWriter_Finish()" -msgstr "" - -#: ../NEWS:9677 -msgid "_PyUnicodeWriter_Init()" -msgstr "" - -#: ../NEWS:9678 -msgid "_PyUnicodeWriter_Prepare()" -msgstr "" - -#: ../NEWS:9679 -msgid "_PyUnicodeWriter_PrepareKind()" -msgstr "" - -#: ../NEWS:9680 -msgid "_PyUnicodeWriter_WriteASCIIString()" -msgstr "" - -#: ../NEWS:9681 -msgid "_PyUnicodeWriter_WriteChar()" -msgstr "" - -#: ../NEWS:9682 -msgid "_PyUnicodeWriter_WriteLatin1String()" -msgstr "" - -#: ../NEWS:9683 -msgid "_PyUnicodeWriter_WriteStr()" -msgstr "" - -#: ../NEWS:9684 -msgid "_PyUnicodeWriter_WriteSubstring()" -msgstr "" - -#: ../NEWS:9685 -msgid "_PyUnicode_AsString()" -msgstr "" - -#: ../NEWS:9686 -msgid "_PyUnicode_FromId()" -msgstr "" - -#: ../NEWS:9687 -msgid "_PyVectorcall_Function()" -msgstr "" - -#: ../NEWS:9688 -msgid "_Py_IDENTIFIER()" -msgstr "" - -#: ../NEWS:9689 -msgid "_Py_c_abs()" -msgstr "" - -#: ../NEWS:9690 -msgid "_Py_c_diff()" -msgstr "" - -#: ../NEWS:9691 -msgid "_Py_c_neg()" -msgstr "" - -#: ../NEWS:9692 -msgid "_Py_c_pow()" -msgstr "" - -#: ../NEWS:9693 -msgid "_Py_c_prod()" -msgstr "" - -#: ../NEWS:9694 -msgid "_Py_c_quot()" -msgstr "" - -#: ../NEWS:9695 -msgid "_Py_c_sum()" -msgstr "" - -#: ../NEWS:9696 -msgid "_Py_static_string()" -msgstr "" - -#: ../NEWS:9697 -msgid "_Py_static_string_init()" -msgstr "" - -#: ../NEWS:9701 -msgid "" -":gh:`112026`: Add again ```` and ```` includes in " -"``Python.h``, but don't include them in the limited C API version 3.13 and " -"newer. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9705 -msgid "" -":gh:`111956`: Add internal-only one-time initialization API: ``_PyOnceFlag``" -" and ``_PyOnceFlag_CallOnce``." -msgstr "" - -#: ../NEWS:9708 -msgid "" -":gh:`111262`: Add :c:func:`PyDict_Pop` and :c:func:`PyDict_PopString` " -"functions: remove a key from a dictionary and optionally return the removed " -"value. This is similar to :meth:`dict.pop`, but without the default value " -"and not raising :exc:`KeyError` if the key missing. Patch by Stefan Behnel " -"and Victor Stinner." -msgstr "" - -#: ../NEWS:9714 -msgid "" -":gh:`111863`: Rename ``Py_NOGIL`` to ``Py_GIL_DISABLED``. Patch by Hugo van " -"Kemenade." -msgstr "" - -#: ../NEWS:9717 -msgid "" -":gh:`111138`: Add :c:func:`PyList_Extend` and :c:func:`PyList_Clear` " -"functions: similar to Python ``list.extend()`` and ``list.clear()`` methods." -" Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9721 -msgid "" -":gh:`108765`: On Windows, ``Python.h`` no longer includes the ````" -" standard header file. If needed, it should now be included explicitly. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9725 -msgid "" -":gh:`111569`: Implement \"Python Critical Sections\" from :pep:`703`. These " -"are macros to help replace the GIL with per-object locks in the ``--disable-" -"gil`` build of CPython. The macros are no-ops in the default build." -msgstr "" - -#: ../NEWS:9730 -msgid "" -":gh:`111506`: In the limited C API version 3.13, :c:func:`Py_SET_REFCNT` " -"function is now implemented as an opaque function call. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:9734 -msgid ":gh:`108082`: Add :c:func:`PyErr_FormatUnraisable` function." -msgstr "" - -#: ../NEWS:9736 -msgid "" -":gh:`110964`: Move the undocumented private _PyArg functions and " -"_PyArg_Parser structure to internal C API (``pycore_modsupport.h``). Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:9740 -msgid "" -":gh:`110815`: Support non-ASCII keyword names in " -":c:func:`PyArg_ParseTupleAndKeywords`." -msgstr "" - -#: ../NEWS:9743 -msgid "" -":gh:`109587`: Introduced :c:func:`PyUnstable_PerfTrampoline_CompileCode`, " -":c:func:`PyUnstable_PerfTrampoline_SetPersistAfterFork` and " -":c:func:`PyUnstable_CopyPerfMapFile`. These functions allow extension " -"modules to initialize trampolines eagerly, after the application is \"warmed" -" up\". This makes it possible to have perf-trampolines running in an always-" -"enabled fashion." -msgstr "" - -#: ../NEWS:9750 -msgid "" -":gh:`85283`: Add the :c:func:`PySys_Audit` function to the limited C API. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9753 -msgid "" -":gh:`85283`: Add :c:func:`PyMem_RawMalloc`, :c:func:`PyMem_RawCalloc`, " -":c:func:`PyMem_RawRealloc` and :c:func:`PyMem_RawFree` to the limited C API." -" Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9757 -msgid "" -":gh:`106672`: Functions :c:func:`PyDict_GetItem`, " -":c:func:`PyDict_GetItemString`, :c:func:`PyMapping_HasKey`, " -":c:func:`PyMapping_HasKeyString`, :c:func:`PyObject_HasAttr`, " -":c:func:`PyObject_HasAttrString`, and :c:func:`PySys_GetObject`, which clear" -" all errors occurred during calling the function, report now them using " -":func:`sys.unraisablehook`." -msgstr "" - -#: ../NEWS:9764 -msgid "" -":gh:`67565`: Remove redundant C-contiguity check in :file:`getargs.c`, " -":mod:`binascii`, :mod:`ssl` and Argument Clinic. Patched by Stefan Krah and " -"Furkan Onder" -msgstr "" - -#: ../NEWS:9770 -msgid "Python 3.13.0 alpha 1" -msgstr "" - -#: ../NEWS:9772 -msgid "*Release date: 2023-10-13*" -msgstr "" - -#: ../NEWS:9777 -msgid "" -":gh:`108310`: Fixed an issue where instances of :class:`ssl.SSLSocket` were " -"vulnerable to a bypass of the TLS handshake and included protections (like " -"certificate verification) and treating sent unencrypted data as if it were " -"post-handshake TLS encrypted data. Security issue reported as " -":cve:`2023-40217` by Aapo Oksman. Patch by Gregory P. Smith." -msgstr "" - -#: ../NEWS:9783 -msgid "" -":gh:`107774`: PEP 669 specifies that ``sys.monitoring.register_callback`` " -"will generate an audit event. Pre-releases of Python 3.12 did not generate " -"the audit event. This is now fixed." -msgstr "" - -#: ../NEWS:9787 -msgid "" -":gh:`102988`: Reverted the :mod:`email.utils` security improvement change " -"released in 3.12beta4 that unintentionally caused " -":mod:`email.utils.getaddresses` to fail to parse email addresses with a " -"comma in the quoted name field. See :gh:`106669`." -msgstr "" - -#: ../NEWS:9792 -msgid "" -":gh:`99108`: Refresh our new HACL* built-in :mod:`hashlib` code from " -"upstream. Built-in SHA2 should be faster and an issue with SHA3 on 32-bit " -"platforms is fixed." -msgstr "" - -#: ../NEWS:9796 -msgid "" -":gh:`102509`: Start initializing ``ob_digit`` during creation of " -":c:type:`PyLongObject` objects. Patch by Illia Volochii." -msgstr "" - -#: ../NEWS:9802 -msgid "" -":gh:`110782`: Fix crash when :class:`typing.TypeVar` is constructed with a " -"keyword argument. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:9805 -msgid "" -":gh:`110752`: Reset ``ceval.eval_breaker`` in :func:`interpreter_clear`" -msgstr "" - -#: ../NEWS:9807 -msgid "" -":gh:`110721`: Use the :mod:`traceback` implementation for the default " -":c:func:`PyErr_Display` functionality. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:9810 -msgid "" -":gh:`110696`: Fix incorrect error message for invalid argument unpacking. " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:9813 -msgid "" -":gh:`104169`: Split the tokenizer into two separate directories: - One part " -"includes the actual lexeme producing logic and lives in ``Parser/lexer``. - " -"The second part wraps the lexer according to the different tokenization " -"modes we have (string, utf-8, file, interactive, readline) and lives in " -"``Parser/tokenizer``." -msgstr "" - -#: ../NEWS:9819 -msgid "" -":gh:`110688`: Remove undocumented ``test_c_api`` method from :class:`set`, " -"which was only defined for testing purposes under ``Py_DEBUG``. Now we have " -"proper CAPI tests." -msgstr "" - -#: ../NEWS:9823 -msgid "" -":gh:`104584`: Fix a reference leak when running with :envvar:`PYTHONUOPS` or" -" :option:`-X uops <-X>` enabled." -msgstr "" - -#: ../NEWS:9826 -msgid ":gh:`110514`: Add ``PY_THROW`` to :func:`sys.setprofile` events" -msgstr "" - -#: ../NEWS:9828 -msgid "" -":gh:`110489`: Optimise :func:`math.ceil` when the input is exactly a float, " -"resulting in about a 10% improvement." -msgstr "" - -#: ../NEWS:9831 -msgid "" -":gh:`110455`: Guard ``assert(tstate->thread_id > 0)`` with ``#ifndef " -"HAVE_PTHREAD_STUBS``. This allows for for pydebug builds to work under WASI " -"which (currently) lacks thread support." -msgstr "" - -#: ../NEWS:9835 -msgid "" -":gh:`110309`: Remove unnecessary empty constant nodes in the ast of f-string" -" specs." -msgstr "" - -#: ../NEWS:9838 -msgid "" -":gh:`110259`: Correctly identify the format spec in f-strings (with single " -"or triple quotes) that have multiple lines in the expression part and " -"include a formatting spec. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:9842 -msgid "" -":gh:`110237`: Fix missing error checks for calls to ``PyList_Append`` in " -"``_PyEval_MatchClass``." -msgstr "" - -#: ../NEWS:9845 -msgid "" -":gh:`110164`: regrtest: If the ``SOURCE_DATE_EPOCH`` environment variable is" -" defined, regrtest now disables tests randomization. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:9849 -msgid "" -":gh:`109889`: Fix the compiler's redundant NOP detection algorithm to skip " -"over NOPs with no line number when looking for the next instruction's " -"lineno." -msgstr "" - -#: ../NEWS:9853 -msgid "" -":gh:`109853`: ``sys.path[0]`` is now set correctly for subinterpreters." -msgstr "" - -#: ../NEWS:9855 -msgid "" -":gh:`109923`: Set line number on the ``POP_TOP`` that follows a " -"``RETURN_GENERATOR``." -msgstr "" - -#: ../NEWS:9858 -msgid "" -":gh:`105716`: Subinterpreters now correctly handle the case where they have " -"threads running in the background. Before, such threads would interfere " -"with cleaning up and destroying them, as well as prevent running another " -"script." -msgstr "" - -#: ../NEWS:9863 -msgid "" -":gh:`109369`: The internal eval_breaker and supporting flags, plus the " -"monitoring version have been merged into a single atomic integer to speed up" -" checks." -msgstr "" - -#: ../NEWS:9867 -msgid "" -":gh:`109823`: Fix bug where compiler does not adjust labels when removing an" -" empty basic block which is a jump target." -msgstr "" - -#: ../NEWS:9870 -msgid "" -":gh:`109793`: The main thread no longer exits prematurely when a " -"subinterpreter is cleaned up during runtime finalization. The bug was a " -"problem particularly because, when triggered, the Python process would " -"always return with a 0 exitcode, even if it failed." -msgstr "" - -#: ../NEWS:9875 -msgid "" -":gh:`109719`: Fix missing jump target labels when compiler reorders " -"cold/warm blocks." -msgstr "" - -#: ../NEWS:9878 -msgid "" -":gh:`109595`: Add :option:`-X cpu_count <-X>` command line option to " -"override return results of :func:`os.cpu_count` and " -":func:`os.process_cpu_count`. This option is useful for users who need to " -"limit CPU resources of a container system without having to modify the " -"container (application code). Patch by Donghee Na." -msgstr "" - -#: ../NEWS:9884 -msgid "" -":gh:`109627`: Fix bug where the compiler does not assign a new jump target " -"label to a duplicated small exit block." -msgstr "" - -#: ../NEWS:9887 -msgid "" -":gh:`109596`: Fix some tokens in the grammar that were incorrectly marked as" -" soft keywords. Also fix some repeated rule names and ensure that repeated " -"rules are not allowed. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:9891 -msgid "" -":gh:`109496`: On a Python built in debug mode, :c:func:`Py_DECREF()` now " -"calls ``_Py_NegativeRefcount()`` if the object is a dangling pointer to " -"deallocated memory: memory filled with ``0xDD`` \"dead byte\" by the debug " -"hook on memory allocators. The fix is to check the reference count *before* " -"checking for ``_Py_IsImmortal()``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:9897 -msgid "" -":gh:`107265`: Deopt opcodes hidden by the executor when base opcode is " -"needed" -msgstr "" - -#: ../NEWS:9899 -msgid "" -":gh:`109371`: Deopted instructions correctly for tool initialization and " -"modified the incorrect assertion in instrumentation, when a previous tool " -"already sets INSTRUCTION events" -msgstr "" - -#: ../NEWS:9903 -msgid "" -":gh:`105658`: Fix bug where the line trace of an except block ending with a " -"conditional includes an excess event with the line of the conditional " -"expression." -msgstr "" - -#: ../NEWS:9907 -msgid "" -":gh:`109219`: Fix compiling type param scopes that use a name which is also " -"free in an inner scope." -msgstr "" - -#: ../NEWS:9910 -msgid "" -":gh:`109351`: Fix crash when compiling an invalid AST involving a named " -"(walrus) expression." -msgstr "" - -#: ../NEWS:9913 -msgid "" -":gh:`109341`: Fix crash when compiling an invalid AST involving a " -":class:`ast.TypeAlias`." -msgstr "" - -#: ../NEWS:9916 -msgid "" -":gh:`109195`: Fix source location for the ``LOAD_*`` instruction preceding a" -" ``LOAD_SUPER_ATTR`` to load the ``super`` global (or shadowing variable) so" -" that it encompasses only the name ``super`` and not the following " -"parentheses." -msgstr "" - -#: ../NEWS:9921 -msgid "" -":gh:`109256`: Opcode IDs for specialized opcodes are allocated in their own " -"range to improve stability of the IDs for the 'real' opcodes." -msgstr "" - -#: ../NEWS:9924 -msgid ":gh:`109216`: Fix possible memory leak in :opcode:`BUILD_MAP`." -msgstr "" - -#: ../NEWS:9926 -msgid "" -":gh:`109207`: Fix a SystemError in ``__repr__`` of symtable entry object." -msgstr "" - -#: ../NEWS:9928 -msgid "" -":gh:`109179`: Fix bug where the C traceback display drops notes from " -":exc:`SyntaxError`." -msgstr "" - -#: ../NEWS:9931 -msgid "" -":gh:`109118`: Disallow nested scopes (lambdas, generator expressions, and " -"comprehensions) within PEP 695 annotation scopes that are nested within " -"classes." -msgstr "" - -#: ../NEWS:9935 -msgid "" -":gh:`109156`: Add tests for de-instrumenting instructions while keeping the " -"instrumentation for lines" -msgstr "" - -#: ../NEWS:9938 -msgid "" -":gh:`109114`: Relax the detection of the error message for invalid lambdas " -"inside f-strings to not search for arbitrary replacement fields to avoid " -"false positives. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:9942 -msgid "" -":gh:`105848`: Add a new :opcode:`CALL_KW` opcode, used for calls containing " -"keyword arguments. Also, fix a possible crash when jumping over method calls" -" in a debugger." -msgstr "" - -#: ../NEWS:9946 -msgid "" -":gh:`109052`: Use the base opcode when comparing code objects to avoid " -"interference from instrumentation" -msgstr "" - -#: ../NEWS:9949 -msgid "" -":gh:`109118`: Fix interpreter crash when a NameError is raised inside the " -"type parameters of a generic class." -msgstr "" - -#: ../NEWS:9952 -msgid "" -":gh:`88943`: Improve syntax error for non-ASCII character that follows a " -"numerical literal. It now points on the invalid non-ASCII character, not on " -"the valid numerical literal." -msgstr "" - -#: ../NEWS:9956 -msgid "" -":gh:`108976`: Fix crash that occurs after de-instrumenting a code object in " -"a monitoring callback." -msgstr "" - -#: ../NEWS:9959 -msgid "" -":gh:`108732`: Make iteration variables of module- and class-scoped " -"comprehensions visible to pdb and other tools that use ``frame.f_locals`` " -"again." -msgstr "" - -#: ../NEWS:9963 -msgid "" -":gh:`108959`: Fix caret placement for error locations for subscript and " -"binary operations that involve non-semantic parentheses and spaces. Patch by" -" Pablo Galindo" -msgstr "" - -#: ../NEWS:9967 -msgid "" -":gh:`104584`: Fix a crash when running with :envvar:`PYTHONUOPS` or " -":option:`-X uops <-X>` enabled and an error occurs during optimization." -msgstr "" - -#: ../NEWS:9970 -msgid "" -":gh:`108727`: Define ``tp_dealloc`` for ``CounterOptimizer_Type``. This " -"fixes a segfault on deallocation." -msgstr "" - -#: ../NEWS:9973 -msgid "" -":gh:`108520`: Fix :meth:`multiprocessing.synchronize.SemLock.__setstate__` " -"to properly initialize " -":attr:`multiprocessing.synchronize.SemLock._is_fork_ctx`. This fixes a " -"regression when passing a SemLock across nested processes." -msgstr "" - -#: ../NEWS:9978 -msgid "" -"Rename :attr:`multiprocessing.synchronize.SemLock.is_fork_ctx` to " -":attr:`multiprocessing.synchronize.SemLock._is_fork_ctx` to avoid exposing " -"it as public API." -msgstr "" - -#: ../NEWS:9982 -msgid "" -":gh:`108654`: Restore locals shadowed by an inlined comprehension if the " -"comprehension raises an exception." -msgstr "" - -#: ../NEWS:9985 -msgid "" -":gh:`108488`: Change the initialization of inline cache entries so that the " -"cache entry for ``JUMP_BACKWARD`` is initialized to zero, instead of the " -"``adaptive_counter_warmup()`` value used for all other instructions. This " -"counter, unique among instructions, counts up from zero." -msgstr "" - -#: ../NEWS:9990 -msgid "" -":gh:`108716`: Turn off deep-freezing of code objects. Modules are still " -"frozen, so that a file system search is not needed for common modules." -msgstr "" - -#: ../NEWS:9993 -msgid "" -":gh:`108614`: Add RESUME_CHECK instruction, to avoid having to handle " -"instrumentation, signals, and contexts switches in the tier 2 execution " -"engine." -msgstr "" - -#: ../NEWS:9997 -msgid "" -":gh:`108487`: Move an assert that would cause a spurious crash in a devious " -"case that should only trigger deoptimization." -msgstr "" - -#: ../NEWS:10000 -msgid "" -":gh:`106176`: Use a ``WeakValueDictionary`` to track the lists containing " -"the modules each thread is currently importing. This helps avoid a reference" -" leak from keeping the list around longer than necessary. Weakrefs are used " -"as GC can't interrupt the cleanup." -msgstr "" - -#: ../NEWS:10005 -msgid "" -":gh:`105481`: The regen-opcode build stage was removed and its work is now " -"done in regen-cases." -msgstr "" - -#: ../NEWS:10008 -msgid "" -":gh:`107901`: Fix missing line number on :opcode:`JUMP_BACKWARD` at the end " -"of a for loop." -msgstr "" - -#: ../NEWS:10011 -msgid "" -":gh:`108113`: The :func:`compile` built-in can now accept a new flag, " -"``ast.PyCF_OPTIMIZED_AST``, which is similar to ``ast.PyCF_ONLY_AST`` except" -" that the returned ``AST`` is optimized according to the value of the " -"``optimize`` argument." -msgstr "" - -#: ../NEWS:10016 -msgid "" -":func:`ast.parse` now accepts an optional argument ``optimize`` which is " -"passed on to the :func:`compile` built-in. This makes it possible to obtain " -"an optimized ``AST``." -msgstr "" - -#: ../NEWS:10020 -msgid "" -":gh:`107971`: Opcode IDs are generated from bytecodes.c instead of being " -"hard coded in opcode.py." -msgstr "" - -#: ../NEWS:10023 -msgid "" -":gh:`107944`: Improve error message for function calls with bad keyword " -"arguments. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10026 -msgid "" -":gh:`108390`: Raise an exception when setting a non-local event (``RAISE``, " -"``EXCEPTION_HANDLED``, etc.) in ``sys.monitoring.set_local_events``." -msgstr "" - -#: ../NEWS:10029 -msgid "Fixes crash when tracing in recursive calls to Python classes." -msgstr "" - -#: ../NEWS:10031 -msgid "" -":gh:`108035`: Remove the ``_PyCFrame`` struct, moving the pointer to the " -"current interpreter frame back to the threadstate, as it was for 3.10 and " -"earlier. The ``_PyCFrame`` existed as a performance optimization for " -"tracing. Since PEP 669 has been implemented, this optimization no longer " -"applies." -msgstr "" - -#: ../NEWS:10037 -msgid "" -":gh:`91051`: Fix abort / segfault when using all eight type watcher slots, " -"on platforms where ``char`` is signed by default." -msgstr "" - -#: ../NEWS:10040 -msgid "" -":gh:`106581`: Fix possible assertion failures and missing instrumentation " -"events when :envvar:`PYTHONUOPS` or :option:`-X uops <-X>` is enabled." -msgstr "" - -#: ../NEWS:10043 -msgid "" -":gh:`107526`: Revert converting ``vars``, ``dir``, ``next``, ``getattr``, " -"and ``iter`` to argument clinic." -msgstr "" - -#: ../NEWS:10046 -msgid "" -":gh:`84805`: Autogenerate signature for :c:macro:`METH_NOARGS` and " -":c:macro:`METH_O` extension functions." -msgstr "" - -#: ../NEWS:10049 -msgid "" -":gh:`107758`: Make the ``dump_stack()`` routine used by the ``lltrace`` " -"feature (low-level interpreter debugging) robust against recursion by " -"ensuring that it never calls a ``__repr__`` method implemented in Python. " -"Also make the similar output for Tier-2 uops appear on ``stdout`` (instead " -"of ``stderr``), to match the ``lltrace`` code in ceval.c." -msgstr "" - -#: ../NEWS:10055 -msgid "" -":gh:`107659`: Add docstrings for :func:`ctypes.pointer` and " -":func:`ctypes.POINTER`." -msgstr "" - -#: ../NEWS:10058 -msgid "" -":gh:`105848`: Modify the bytecode so that the actual callable for a " -":opcode:`CALL` is at a consistent position on the stack (regardless of " -"whether or not bound-method-calling optimizations are active)." -msgstr "" - -#: ../NEWS:10062 -msgid ":gh:`107674`: Fixed performance regression in ``sys.settrace``." -msgstr "" - -#: ../NEWS:10064 -msgid "" -":gh:`107724`: In pre-release versions of 3.12, up to rc1, the sys.monitoring" -" callback function for the ``PY_THROW`` event was missing the third, " -"exception argument. That is now fixed." -msgstr "" - -#: ../NEWS:10068 -msgid "" -":gh:`84436`: Skip reference count modifications for many known immortal " -"objects." -msgstr "" - -#: ../NEWS:10071 -msgid "" -":gh:`107596`: Specialize subscripting :class:`str` objects by :class:`int` " -"indexes." -msgstr "" - -#: ../NEWS:10074 -msgid "" -":gh:`107080`: Trace refs builds (``--with-trace-refs``) were crashing when " -"used with isolated subinterpreters. The problematic global state has been " -"isolated to each interpreter. Other fixing the crashes, this change does " -"not affect users." -msgstr "" - -#: ../NEWS:10079 -msgid "" -":gh:`107557`: Generate the cases needed for the barebones tier 2 abstract " -"interpreter for optimization passes in CPython." -msgstr "" - -#: ../NEWS:10082 -msgid ":gh:`106608`: Make ``_PyUOpExecutorObject`` variable length." -msgstr "" - -#: ../NEWS:10084 -msgid "" -":gh:`100964`: Clear generators' exception state after ``return`` to break " -"reference cycles." -msgstr "" - -#: ../NEWS:10087 -msgid "" -":gh:`107455`: Improve error messages when converting an incompatible type to" -" :class:`ctypes.c_char_p`, :class:`ctypes.c_wchar_p` and " -":class:`ctypes.c_void_p`." -msgstr "" - -#: ../NEWS:10091 -msgid "" -":gh:`107263`: Increase C recursion limit for functions other than the main " -"interpreter from 800 to 1500. This should allow functions like " -"``list.__repr__`` and ``json.dumps`` to handle all the inputs that they " -"could prior to 3.12" -msgstr "" - -#: ../NEWS:10096 -msgid "" -":gh:`104584`: Fix an issue which caused incorrect inline caches to be read " -"when running with :envvar:`PYTHONUOPS` or :option:`-X uops <-X>` enabled." -msgstr "" - -#: ../NEWS:10099 -msgid "" -":gh:`104432`: Fix potential unaligned memory access on C APIs involving " -"returned sequences of ``char *`` pointers within the :mod:`grp` and " -":mod:`socket` modules. These were revealed using a ``-fsaniziter=alignment``" -" build on ARM macOS. Patch by Christopher Chavez." -msgstr "" - -#: ../NEWS:10104 -msgid "" -":gh:`106078`: Isolate :mod:`!_decimal` (apply :pep:`687`). Patch by Charlie " -"Zhao." -msgstr "" - -#: ../NEWS:10107 -msgid "" -":gh:`106898`: Add the exception as the third argument to ``PY_UNIND`` " -"callbacks in ``sys.monitoring``. This makes the ``PY_UNWIND`` callback " -"consistent with the other exception handling callbacks." -msgstr "" - -#: ../NEWS:10111 -msgid "" -":gh:`106895`: Raise a ``ValueError`` when a monitoring callback function " -"returns ``DISABLE`` for events that cannot be disabled locally." -msgstr "" - -#: ../NEWS:10114 -msgid "" -":gh:`106897`: Add a ``RERAISE`` event to ``sys.monitoring``, which occurs " -"when an exception is reraise, either explicitly by a plain ``raise`` " -"statement, or implicitly in an ``except`` or ``finally`` block." -msgstr "" - -#: ../NEWS:10118 -msgid "" -":gh:`77377`: Ensure that multiprocessing synchronization objects created in " -"a fork context are not sent to a different process created in a spawn " -"context. This changes a segfault into an actionable RuntimeError in the " -"parent process." -msgstr "" - -#: ../NEWS:10123 -msgid "" -":gh:`106931`: Statically allocated string objects are now interned globally " -"instead of per-interpreter. This fixes a situation where such a string " -"would only be interned in a single interpreter. Normal string objects are " -"unaffected." -msgstr "" - -#: ../NEWS:10128 -msgid ":gh:`104621`: Unsupported modules now always fail to be imported." -msgstr "" - -#: ../NEWS:10130 -msgid "" -":gh:`107122`: Add :meth:`dbm.ndbm.ndbm.clear` to :mod:`dbm.ndbm`. Patch By " -"Donghee Na." -msgstr "" - -#: ../NEWS:10133 -msgid "" -":gh:`107122`: Add :meth:`dbm.gnu.gdbm.clear` to :mod:`dbm.gnu`. Patch By " -"Donghee Na." -msgstr "" - -#: ../NEWS:10136 -msgid "" -":gh:`107015`: The ASYNC and AWAIT tokens are removed from the Grammar, which" -" removes the possibility of making ``async`` and ``await`` soft keywords " -"when using ``feature_version<7`` in :func:`ast.parse`." -msgstr "" - -#: ../NEWS:10140 -msgid "" -":gh:`106917`: Fix classmethod-style :func:`super` method calls (i.e., where " -"the second argument to :func:`super`, or the implied second argument drawn " -"from ``self/cls`` in the case of zero-arg super, is a type) when the target " -"of the call is not a classmethod." -msgstr "" - -#: ../NEWS:10145 -msgid "" -":gh:`105699`: Python no longer crashes due an infrequent race when " -"initializing per-interpreter interned strings. The crash would manifest " -"when the interpreter was finalized." -msgstr "" - -#: ../NEWS:10149 -msgid "" -":gh:`105699`: Python no longer crashes due to an infrequent race in setting " -"``Py_FileSystemDefaultEncoding`` and ``Py_FileSystemDefaultEncodeErrors`` " -"(both deprecated), when simultaneously initializing two isolated " -"subinterpreters. Now they are only set during runtime initialization." -msgstr "" - -#: ../NEWS:10154 -msgid "" -":gh:`106908`: Fix various hangs, reference leaks, test failures, and " -"tracing/introspection bugs when running with :envvar:`PYTHONUOPS` or " -":option:`-X uops <-X>` enabled." -msgstr "" - -#: ../NEWS:10158 -msgid "" -":gh:`106092`: Fix a segmentation fault caused by a use-after-free bug in " -"``frame_dealloc`` when the trashcan delays the deallocation of a " -"``PyFrameObject``." -msgstr "" - -#: ../NEWS:10162 -msgid "" -":gh:`106485`: Reduce the number of materialized instances dictionaries by " -"dematerializing them when possible." -msgstr "" - -#: ../NEWS:10165 -msgid "" -":gh:`106719`: No longer suppress arbitrary errors in the ``__annotations__``" -" getter and setter in the type and module types." -msgstr "" - -#: ../NEWS:10168 -msgid "" -":gh:`106723`: Propagate ``frozen_modules`` to multiprocessing spawned " -"process interpreters." -msgstr "" - -#: ../NEWS:10171 -msgid ":gh:`104909`: Split :opcode:`LOAD_ATTR_INSTANCE_VALUE` into micro-ops." -msgstr "" - -#: ../NEWS:10173 -msgid "" -":gh:`104909`: Split :opcode:`LOAD_GLOBAL` specializations into micro-ops." -msgstr "" - -#: ../NEWS:10175 -msgid "" -":gh:`106597`: A new debug structure of offsets has been added to the " -"``_PyRuntimeState`` that will help out-of-process debuggers and profilers to" -" obtain the offsets to relevant interpreter structures in a way that is " -"agnostic of how Python was compiled and that doesn't require copying the " -"headers. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10181 -msgid "" -":gh:`106487`: Allow the *count* argument of :meth:`str.replace` to be a " -"keyword. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:10184 -msgid "" -":gh:`96844`: Improve error message of :meth:`list.remove`. Patch by Donghee " -"Na." -msgstr "" - -#: ../NEWS:10187 -msgid "" -":gh:`81283`: Compiler now strips indents from docstrings. It reduces ``pyc``" -" file size 5% when the module is heavily documented. This change affects to " -"``__doc__`` so tools like doctest will be affected." -msgstr "" - -#: ../NEWS:10191 -msgid "" -":gh:`106396`: When the format specification of an f-string expression is " -"empty, the parser now generates an empty :class:`ast.JoinedStr` node for it " -"instead of an one-element :class:`ast.JoinedStr` with an empty string " -":class:`ast.Constant`." -msgstr "" - -#: ../NEWS:10196 -msgid "" -":gh:`100288`: Specialize :opcode:`LOAD_ATTR` for non-descriptors on the " -"class. Adds :opcode:`LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES` and " -":opcode:`LOAD_ATTR_NONDESCRIPTOR_NO_DICT`." -msgstr "" - -#: ../NEWS:10200 -msgid "" -":gh:`106008`: Fix possible reference leaks when failing to optimize " -"comparisons with :const:`None` in the bytecode compiler." -msgstr "" - -#: ../NEWS:10203 -msgid "" -":gh:`106145`: Make ``end_lineno`` and ``end_col_offset`` required on " -"``type_param`` ast nodes." -msgstr "" - -#: ../NEWS:10206 -msgid "" -":gh:`106213`: Changed the way that Emscripten call trampolines work for " -"compatibility with Wasm/JS Promise integration." -msgstr "" - -#: ../NEWS:10209 -msgid "" -":gh:`106182`: :func:`sys.getfilesystemencoding` and " -":mod:`sys.getfilesystemencodeerrors` now return interned Unicode object." -msgstr "" - -#: ../NEWS:10212 -msgid "" -":gh:`106210`: Removed Emscripten import trampoline as it was no longer " -"necessary for Pyodide." -msgstr "" - -#: ../NEWS:10215 -msgid "" -":gh:`104584`: Added a new, experimental, tracing optimizer and interpreter " -"(a.k.a. \"tier 2\"). This currently pessimizes, so don't use yet -- this is " -"infrastructure so we can experiment with optimizing passes. To enable it, " -"pass ``-Xuops`` or set ``PYTHONUOPS=1``. To get debug output, set " -"``PYTHONUOPSDEBUG=N`` where ``N`` is a debug level (0-4, where 0 is no debug" -" output and 4 is excessively verbose)." -msgstr "" - -#: ../NEWS:10222 -msgid ":gh:`105775`: :opcode:`LOAD_CLOSURE` is now a pseudo-op." -msgstr "" - -#: ../NEWS:10224 -msgid "" -":gh:`105730`: Allow any callable other than type objects as the condition " -"predicate in :meth:`BaseExceptionGroup.split` and " -":meth:`BaseExceptionGroup.subgroup`." -msgstr "" - -#: ../NEWS:10228 -msgid "" -":gh:`105979`: Fix crash in :func:`!_imp.get_frozen_object` due to improper " -"exception handling." -msgstr "" - -#: ../NEWS:10231 -msgid "" -":gh:`106003`: Add a new :opcode:`TO_BOOL` instruction, which performs " -"boolean conversions for :opcode:`POP_JUMP_IF_TRUE`, " -":opcode:`POP_JUMP_IF_FALSE`, and :opcode:`UNARY_NOT` (which all expect exact" -" :class:`bool` values now). Also, modify the oparg of :opcode:`COMPARE_OP` " -"to include an optional \"boolean conversion\" flag." -msgstr "" - -#: ../NEWS:10237 -msgid "" -":gh:`98931`: Ensure custom :exc:`SyntaxError` error messages are raised for " -"invalid imports with multiple targets. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10240 -msgid "" -":gh:`105724`: Improve ``assert`` error messages by providing exact error " -"range." -msgstr "" - -#: ../NEWS:10243 -msgid "" -":gh:`105908`: Fixed bug where :gh:`99111` breaks future import " -"``barry_as_FLUFL`` in the Python REPL." -msgstr "" - -#: ../NEWS:10246 -msgid "" -":gh:`105840`: Fix possible crashes when specializing function calls with too" -" many ``__defaults__``." -msgstr "" - -#: ../NEWS:10249 -msgid "" -":gh:`105831`: Fix an f-string bug, where using a debug expression (the ``=``" -" sign) that appears in the last line of a file results to the debug buffer " -"that holds the expression text being one character too small." -msgstr "" - -#: ../NEWS:10253 -msgid "" -":gh:`105800`: Correctly issue :exc:`SyntaxWarning` in f-strings if invalid " -"sequences are used. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10256 -msgid "" -":gh:`105340`: Include the comprehension iteration variable in ``locals()`` " -"inside a module- or class-scope comprehension." -msgstr "" - -#: ../NEWS:10259 -msgid "" -":gh:`105331`: Raise :exc:`ValueError` if the ``delay`` argument to " -":func:`asyncio.sleep` is a NaN (matching :func:`time.sleep`)." -msgstr "" - -#: ../NEWS:10262 -msgid "" -":gh:`105587`: The runtime can't guarantee that immortal objects will not be " -"mutated by Extensions. Thus, this modifies _PyStaticObject_CheckRefcnt to " -"warn instead of asserting." -msgstr "" - -#: ../NEWS:10266 -msgid "" -":gh:`105564`: Don't include artificil newlines in the ``line`` attribute of " -"tokens in the APIs of the :mod:`tokenize` module. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10269 -msgid "" -":gh:`105549`: Tokenize separately ``NUMBER`` and ``NAME`` tokens that are " -"not ambiguous. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:10272 -msgid "" -":gh:`105588`: Fix an issue that could result in crashes when compiling " -"malformed :mod:`ast` nodes." -msgstr "" - -#: ../NEWS:10275 -msgid "" -":gh:`100987`: Allow objects other than code objects as the \"executable\" in" -" internal frames. In the long term, this can help tools like Cython and " -"PySpy interact more efficiently. In the shorter term, it allows us to " -"perform some optimizations more simply." -msgstr "" - -#: ../NEWS:10280 -msgid "" -":gh:`105375`: Fix bugs in the :mod:`builtins` module where exceptions could " -"end up being overwritten." -msgstr "" - -#: ../NEWS:10283 -msgid "" -":gh:`105375`: Fix bug in the compiler where an exception could end up being " -"overwritten." -msgstr "" - -#: ../NEWS:10286 -msgid "" -":gh:`105375`: Improve error handling in :c:func:`PyUnicode_BuildEncodingMap`" -" where an exception could end up being overwritten." -msgstr "" - -#: ../NEWS:10289 -msgid "" -":gh:`105486`: Change the repr of ``ParamSpec`` list of args in " -"``types.GenericAlias``." -msgstr "" - -#: ../NEWS:10292 -msgid "" -":gh:`105678`: Break the ``MAKE_FUNCTION`` instruction into two parts, " -"``MAKE_FUNCTION`` which makes the function and ``SET_FUNCTION_ATTRIBUTE`` " -"which sets the attributes on the function. This makes the stack effect of " -"``MAKE_FUNCTION`` regular to ease optimization and code generation." -msgstr "" - -#: ../NEWS:10297 -msgid "" -":gh:`105435`: Fix spurious newline character if file ends on a comment " -"without a newline. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10300 -msgid "" -":gh:`105390`: Correctly raise :exc:`tokenize.TokenError` exceptions instead " -"of :exc:`SyntaxError` for tokenize errors such as incomplete input. Patch by" -" Pablo Galindo" -msgstr "" - -#: ../NEWS:10304 -msgid "" -":gh:`105259`: Don't include newline character for trailing ``NEWLINE`` " -"tokens emitted in the :mod:`tokenize` module. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10307 -msgid "" -":gh:`104635`: Eliminate redundant :opcode:`STORE_FAST` instructions in the " -"compiler. Patch by Donghee Na and Carl Meyer." -msgstr "" - -#: ../NEWS:10310 -msgid "" -":gh:`105324`: Fix the main function of the :mod:`tokenize` module when " -"reading from ``sys.stdin``. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10313 -msgid "" -":gh:`33092`: Simplify and speed up interpreter for f-strings. Removes " -"``FORMAT_VALUE`` opcode. Add ``CONVERT_VALUE``, ``FORMAT_SIMPLE`` and " -"``FORMAT_WITH_SPEC`` opcode. Compiler emits more efficient sequence for each" -" format expression." -msgstr "" - -#: ../NEWS:10318 -msgid "" -":gh:`105229`: Remove remaining two-codeunit superinstructions. All remaining" -" superinstructions only take a single codeunit, simplifying instrumentation " -"and quickening." -msgstr "" - -#: ../NEWS:10322 -msgid "" -":gh:`105235`: Prevent out-of-bounds memory access during ``mmap.find()`` " -"calls." -msgstr "" - -#: ../NEWS:10325 -msgid "" -":gh:`98963`: Restore the ability for a subclass of :class:`property` to " -"define ``__slots__`` or otherwise be dict-less by ignoring failures to set a" -" docstring on such a class. This behavior had regressed in 3.12beta1. An " -":exc:`AttributeError` where there had not previously been one was disruptive" -" to existing code." -msgstr "" - -#: ../NEWS:10331 -msgid "" -":gh:`104812`: The \"pending call\" machinery now works for all interpreters," -" not just the main interpreter, and runs in all threads, not just the main " -"thread. Some calls are still only done in the main thread, ergo in the main " -"interpreter. This change does not affect signal handling nor the existing " -"public C-API (``Py_AddPendingCall()``), which both still only target the " -"main thread. The new functionality is meant strictly for internal use for " -"now, since consequences of its use are not well understood yet outside some " -"very restricted cases. This change brings the capability in line with the " -"intention when the state was made per-interpreter several years ago." -msgstr "" - -#: ../NEWS:10342 -msgid "" -":gh:`105194`: Do not escape with backslashes f-string format specifiers. " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10345 -msgid "" -":gh:`105229`: Replace some dynamic superinstructions with single instruction" -" equivalents." -msgstr "" - -#: ../NEWS:10348 -msgid "" -":gh:`105162`: Fixed bug in generator.close()/throw() where an inner iterator" -" would be ignored when the outer iterator was instrumented." -msgstr "" - -#: ../NEWS:10351 -msgid "" -":gh:`105164`: Ensure annotations are set up correctly if the only annotation" -" in a block is within a :keyword:`match` block. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:10354 -msgid "" -":gh:`105148`: Make ``_PyASTOptimizeState`` internal to ast_opt.c. Make " -"``_PyAST_Optimize`` take two integers instead of a pointer to this struct. " -"This avoids the need to include pycore_compile.h in ast_opt.c." -msgstr "" - -#: ../NEWS:10358 -msgid "" -":gh:`104799`: Attributes of :mod:`ast` nodes that are lists now default to " -"the empty list if omitted. This means that some code that previously raised " -":exc:`TypeError` when the AST node was used will now proceed with the empty " -"list instead. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:10363 -msgid "" -":gh:`105111`: Remove the old trashcan macros ``Py_TRASHCAN_SAFE_BEGIN`` and " -"``Py_TRASHCAN_SAFE_END``. They should be replaced by the new macros " -"``Py_TRASHCAN_BEGIN`` and ``Py_TRASHCAN_END``." -msgstr "" - -#: ../NEWS:10367 -msgid "" -":gh:`105035`: Fix :func:`super` calls on types with custom " -":c:member:`~PyTypeObject.tp_getattro` implementation (e.g. meta-types.)" -msgstr "" - -#: ../NEWS:10370 -msgid "" -":gh:`105017`: Show CRLF lines in the tokenize string attribute in both NL " -"and NEWLINE tokens. Patch by Marta Gómez." -msgstr "" - -#: ../NEWS:10373 -msgid "" -":gh:`105013`: Fix handling of multiline parenthesized lambdas in " -":func:`inspect.getsource`. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10376 -msgid "" -":gh:`105017`: Do not include an additional final ``NL`` token when parsing " -"files having CRLF lines. Patch by Marta Gómez." -msgstr "" - -#: ../NEWS:10379 -msgid "" -":gh:`104976`: Ensure that trailing ``DEDENT`` :class:`tokenize.TokenInfo` " -"objects emitted by the :mod:`tokenize` module are reported as in Python " -"3.11. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10383 -msgid "" -":gh:`104972`: Ensure that the ``line`` attribute in " -":class:`tokenize.TokenInfo` objects in the :mod:`tokenize` module are always" -" correct. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10387 -msgid "" -":gh:`104955`: Fix signature for the new :meth:`~object.__release_buffer__` " -"slot. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:10390 -msgid "" -":gh:`104690`: Starting new threads and process creation through " -":func:`os.fork` during interpreter shutdown (such as from :mod:`atexit` " -"handlers) is no longer supported. It can lead to race condition between the" -" main Python runtime thread freeing thread states while internal " -":mod:`threading` routines are trying to allocate and use the state of just " -"created threads. Or forked children trying to use the mid-shutdown runtime " -"and thread state in the child process." -msgstr "" - -#: ../NEWS:10398 -msgid "" -":gh:`104879`: Fix crash when accessing the ``__module__`` attribute of type " -"aliases defined outside a module. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:10401 -msgid "" -":gh:`104825`: Tokens emitted by the :mod:`tokenize` module do not include an" -" implicit ``\\n`` character in the ``line`` attribute anymore. Patch by " -"Pablo Galindo" -msgstr "" - -#: ../NEWS:10405 -msgid "" -":gh:`104770`: If a generator returns a value upon being closed, the value is" -" now returned by :meth:`generator.close`." -msgstr "" - -#: ../NEWS:10408 -msgid "" -":gh:`89091`: Raise :exc:`RuntimeWarning` for unawaited async generator " -"methods like :meth:`~agen.asend`, :meth:`~agen.athrow` and " -":meth:`~agen.aclose`. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:10412 -msgid "" -":gh:`96663`: Add a better, more introspect-able error message when setting " -"attributes on classes without a ``__dict__`` and no slot member for the " -"attribute." -msgstr "" - -#: ../NEWS:10416 -msgid "" -":gh:`93627`: Update the Python pickle module implementation to match the C " -"implementation of the pickle module. For objects setting reduction methods " -"like :meth:`~object.__reduce_ex__` or :meth:`~object.__reduce__` to " -"``None``, pickling will result in a :exc:`TypeError`." -msgstr "" - -#: ../NEWS:10421 -msgid ":gh:`101006`: Improve error handling when read :mod:`marshal` data." -msgstr "" - -#: ../NEWS:10423 -msgid "" -":gh:`91095`: Specializes calls to most Python classes. Specifically, any " -"class that inherits from ``object``, or another Python class, and does not " -"override ``__new__``." -msgstr "" - -#: ../NEWS:10427 -msgid "The specialized instruction does the following:" -msgstr "" - -#: ../NEWS:10429 -msgid "Creates the object (by calling ``object.__new__``)" -msgstr "" - -#: ../NEWS:10430 -msgid "Pushes a shim frame to the frame stack (to cleanup after ``__init__``)" -msgstr "" - -#: ../NEWS:10431 -msgid "Pushes the frame for ``__init__`` to the frame stack" -msgstr "" - -#: ../NEWS:10433 -msgid "Speeds up the instantiation of most Python classes." -msgstr "" - -#: ../NEWS:10438 -msgid "" -":gh:`110786`: :mod:`sysconfig`'s CLI now ignores :exc:`BrokenPipeError`, " -"making it exit normally if its output is being piped and the pipe closes." -msgstr "" - -#: ../NEWS:10441 -msgid "" -":gh:`103480`: The :mod:`sysconfig` module is now a package, instead of a " -"single-file module." -msgstr "" - -#: ../NEWS:10444 -msgid "" -":gh:`110733`: Micro-optimization: Avoid calling ``min()``, ``max()`` in " -":meth:`BaseEventLoop._run_once`." -msgstr "" - -#: ../NEWS:10447 -msgid "" -":gh:`94597`: Added :class:`asyncio.EventLoop` for use with the " -":func:`asyncio.run` *loop_factory* kwarg to avoid calling the asyncio policy" -" system." -msgstr "" - -#: ../NEWS:10451 -msgid "" -":gh:`110682`: :func:`runtime-checkable protocols `" -" used to consider ``__match_args__`` a protocol member in " -"``__instancecheck__`` if it was present on the protocol. Now, this attribute" -" is ignored if it is present." -msgstr "" - -#: ../NEWS:10456 -msgid "" -":gh:`110488`: Fix a couple of issues in :meth:`pathlib.PurePath.with_name`: " -"a single dot was incorrectly considered a valid name, and in " -":class:`PureWindowsPath`, a name with an NTFS alternate data stream, like " -"``a:b``, was incorrectly considered invalid." -msgstr "" - -#: ../NEWS:10461 -msgid "" -":gh:`110590`: Fix a bug in :meth:`!_sre.compile` where :exc:`TypeError` " -"would be overwritten by :exc:`OverflowError` when the *code* argument was a " -"list of non-ints." -msgstr "" - -#: ../NEWS:10465 -msgid "" -":gh:`65052`: Prevent :mod:`pdb` from crashing when trying to display " -"undisplayable objects" -msgstr "" - -#: ../NEWS:10468 -msgid "" -":gh:`110519`: Deprecation warning about non-integer number in :mod:`gettext`" -" now always refers to the line in the user code where gettext function or " -"method is used. Previously it could refer to a line in ``gettext`` code." -msgstr "" - -#: ../NEWS:10472 -msgid "" -":gh:`89902`: Deprecate non-standard format specifier \"N\" for " -":class:`decimal.Decimal`. It was not documented and only supported in the C " -"implementation." -msgstr "" - -#: ../NEWS:10476 -msgid "" -":gh:`110378`: :func:`~contextlib.contextmanager` and " -":func:`~contextlib.asynccontextmanager` context managers now close an " -"invalid underlying generator object that yields more then one value." -msgstr "" - -#: ../NEWS:10480 -msgid "" -":gh:`106670`: In :mod:`pdb`, set convenience variable ``$_exception`` for " -"post mortem debugging." -msgstr "" - -#: ../NEWS:10483 -msgid "" -":gh:`110365`: Fix :func:`termios.tcsetattr` bug that was overwriting " -"existing errors during parsing integers from ``term`` list." -msgstr "" - -#: ../NEWS:10486 -msgid "" -":gh:`109653`: Slightly improve the import time of several standard-library " -"modules by deferring imports of :mod:`warnings` within those modules. Patch " -"by Alex Waygood." -msgstr "" - -#: ../NEWS:10490 -msgid "" -":gh:`110273`: :func:`dataclasses.replace` now raises TypeError instead of " -"ValueError if specify keyword argument for a field declared with init=False " -"or miss keyword argument for required InitVar field." -msgstr "" - -#: ../NEWS:10494 -msgid ":gh:`110249`: Add ``--inline-caches`` flag to ``dis`` command line." -msgstr "" - -#: ../NEWS:10496 -msgid "" -":gh:`109653`: Fix a Python 3.12 regression in the import time of " -":mod:`random`. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:10499 -msgid "" -":gh:`110222`: Add support of struct sequence objects in " -":func:`copy.replace`. Patched by Xuehai Pan." -msgstr "" - -#: ../NEWS:10502 -msgid "" -":gh:`109649`: :mod:`multiprocessing`, :mod:`concurrent.futures`, " -":mod:`compileall`: Replace :func:`os.cpu_count` with " -":func:`os.process_cpu_count` to select the default number of worker threads " -"and processes. Get the CPU affinity if supported. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:10508 -msgid "" -":gh:`110150`: Fix base case handling in statistics.quantiles. Now allows a " -"single data point." -msgstr "" - -#: ../NEWS:10511 -msgid "" -":gh:`110036`: On Windows, multiprocessing ``Popen.terminate()`` now catches " -":exc:`PermissionError` and get the process exit code. If the process is " -"still running, raise again the :exc:`PermissionError`. Otherwise, the " -"process terminated as expected: store its exit code. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:10517 -msgid "" -":gh:`110038`: Fixed an issue that caused :meth:`KqueueSelector.select` to " -"not return all the ready events in some cases when a file descriptor is " -"registered for both read and write." -msgstr "" - -#: ../NEWS:10521 -msgid "" -":gh:`110045`: Update the :mod:`symtable` module to support the new scopes " -"introduced by :pep:`695`." -msgstr "" - -#: ../NEWS:10524 -msgid "" -":gh:`88402`: Add new variables to :py:meth:`sysconfig.get_config_vars` on " -"Windows: ``LIBRARY``, ``LDLIBRARY``, ``LIBDIR``, ``SOABI``, and " -"``Py_NOGIL``." -msgstr "" - -#: ../NEWS:10528 -msgid "" -":gh:`109631`: :mod:`re` functions such as :func:`re.findall`, " -":func:`re.split`, :func:`re.search` and :func:`re.sub` which perform short " -"repeated matches can now be interrupted by user." -msgstr "" - -#: ../NEWS:10532 -msgid "" -":gh:`109653`: Reduce the import time of :mod:`email.utils` by around 43%. " -"This results in the import time of :mod:`email.message` falling by around " -"18%, which in turn reduces the import time of :mod:`importlib.metadata` by " -"around 6%. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:10537 -msgid "" -":gh:`109818`: Fix :func:`reprlib.recursive_repr` not copying " -"``__type_params__`` from decorated function." -msgstr "" - -#: ../NEWS:10540 -msgid "" -":gh:`109047`: :mod:`concurrent.futures`: The *executor manager thread* now " -"catches exceptions when adding an item to the *call queue*. During Python " -"finalization, creating a new thread can now raise :exc:`RuntimeError`. Catch" -" the exception and call ``terminate_broken()`` in this case. Patch by Victor" -" Stinner." -msgstr "" - -#: ../NEWS:10546 -msgid "" -":gh:`109782`: Ensure the signature of :func:`os.path.isdir` is identical on " -"all platforms. Patch by Amin Alaee." -msgstr "" - -#: ../NEWS:10549 -msgid "" -":gh:`109653`: Improve import time of :mod:`functools` by around 13%. Patch " -"by Alex Waygood." -msgstr "" - -#: ../NEWS:10552 -msgid "" -":gh:`109590`: :func:`shutil.which` will prefer files with an extension in " -"``PATHEXT`` if the given mode includes ``os.X_OK`` on win32. If no " -"``PATHEXT`` match is found, a file without an extension in ``PATHEXT`` can " -"be returned. This change will have :func:`shutil.which` act more similarly " -"to previous behavior in Python 3.11." -msgstr "" - -#: ../NEWS:10558 -msgid "" -":gh:`109653`: Reduce the import time of :mod:`enum` by over 50%. Patch by " -"Alex Waygood." -msgstr "" - -#: ../NEWS:10561 -msgid "" -":gh:`109593`: Avoid deadlocking on a reentrant call to the multiprocessing " -"resource tracker. Such a reentrant call, though unlikely, can happen if a GC" -" pass invokes the finalizer for a multiprocessing object such as SemLock." -msgstr "" - -#: ../NEWS:10566 -msgid "" -":gh:`109653`: Reduce the import time of :mod:`typing` by around a third. " -"Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:10569 -msgid "" -":gh:`109649`: Add :func:`os.process_cpu_count` function to get the number of" -" logical CPUs usable by the calling thread of the current process. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:10573 -msgid "" -":gh:`74481`: Add ``set_error_mode`` related constants in ``msvcrt`` module " -"in Python debug build." -msgstr "" - -#: ../NEWS:10576 -msgid "" -":gh:`109613`: Fix :func:`os.stat` and :meth:`os.DirEntry.stat`: check for " -"exceptions. Previously, on Python built in debug mode, these functions could" -" trigger a fatal Python error (and abort the process) when a function " -"succeeded with an exception set. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:10581 -msgid "" -":gh:`109599`: Expose the type of PyCapsule objects as ``types.CapsuleType``." -msgstr "" - -#: ../NEWS:10589 -msgid ":gh:`109559`: Update :mod:`unicodedata` database to Unicode 15.1.0." -msgstr "" - -#: ../NEWS:10591 -msgid "" -":gh:`109543`: Remove unnecessary :func:`hasattr` check during " -":data:`typing.TypedDict` creation." -msgstr "" - -#: ../NEWS:10594 -msgid "" -":gh:`109495`: Remove unnecessary extra ``__slots__`` in " -":class:`~datetime.datetime`\\'s pure python implementation to reduce memory " -"size, as they are defined in the superclass. Patch by James Hilton-Balfe" -msgstr "" - -#: ../NEWS:10598 -msgid "" -":gh:`109461`: :mod:`logging`: Use a context manager for lock acquisition." -msgstr "" - -#: ../NEWS:10600 -msgid "" -":gh:`109096`: :class:`http.server.CGIHTTPRequestHandler` has been deprecated" -" for removal in 3.15. Its design is old and the web world has long since " -"moved beyond CGI." -msgstr "" - -#: ../NEWS:10604 -msgid "" -":gh:`109409`: Fix error when it was possible to inherit a frozen dataclass " -"from multiple parents some of which were possibly not frozen." -msgstr "" - -#: ../NEWS:10607 -msgid "" -":gh:`109375`: The :mod:`pdb` ``alias`` command now prevents registering " -"aliases without arguments." -msgstr "" - -#: ../NEWS:10610 -msgid "" -":gh:`109319`: Deprecate the ``dis.HAVE_ARGUMENT`` field in favour of " -"``dis.hasarg``." -msgstr "" - -#: ../NEWS:10613 -msgid "" -":gh:`107219`: Fix a race condition in ``concurrent.futures``. When a process" -" in the process pool was terminated abruptly (while the future was running " -"or pending), close the connection write end. If the call queue is blocked on" -" sending bytes to a worker process, closing the connection write end " -"interrupts the send, so the queue can be closed. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:10619 -msgid "" -":gh:`66143`: The :class:`codecs.CodecInfo` object has been made copyable and" -" pickleable. Patched by Robert Lehmann and Furkan Onder." -msgstr "" - -#: ../NEWS:10622 -msgid "" -":gh:`109187`: :meth:`pathlib.Path.resolve` now treats symlink loops like " -"other errors: in strict mode, :exc:`OSError` is raised, and in non-strict " -"mode, no exception is raised." -msgstr "" - -#: ../NEWS:10626 -msgid "" -":gh:`50644`: Attempts to pickle or create a shallow or deep copy of " -":mod:`codecs` streams now raise a TypeError. Previously, copying failed with" -" a RecursionError, while pickling produced wrong results that eventually " -"caused unpickling to fail with a RecursionError." -msgstr "" - -#: ../NEWS:10631 -msgid "" -":gh:`109174`: Add support of :class:`types.SimpleNamespace` in " -":func:`copy.replace`." -msgstr "" - -#: ../NEWS:10634 -msgid "" -":gh:`109164`: :mod:`pdb`: Replace :mod:`getopt` with :mod:`argparse` for " -"parsing command line arguments." -msgstr "" - -#: ../NEWS:10637 -msgid "" -":gh:`109151`: Enable ``readline`` editing features in the :ref:`sqlite3 " -"command-line interface ` (``python -m sqlite3``)." -msgstr "" - -#: ../NEWS:10640 -msgid "" -":gh:`108987`: Fix :func:`_thread.start_new_thread` race condition. If a " -"thread is created during Python finalization, the newly spawned thread now " -"exits immediately instead of trying to access freed memory and lead to a " -"crash. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:10645 -msgid "" -":gh:`108682`: Enum: require ``names=()`` or ``type=...`` to create an empty " -"enum using the functional syntax." -msgstr "" - -#: ../NEWS:10648 -msgid "" -":gh:`109033`: Exceptions raised by os.utime builtin function now include the" -" related filename" -msgstr "" - -#: ../NEWS:10651 -msgid "" -":gh:`108843`: Fix an issue in :func:`ast.unparse` when unparsing f-strings " -"containing many quote types." -msgstr "" - -#: ../NEWS:10654 -msgid "" -":gh:`108469`: :func:`ast.unparse` now supports new :term:`f-string` syntax " -"introduced in Python 3.12. Note that the :term:`f-string` quotes are " -"reselected for simplicity under the new syntax. (Patch by Steven Sun)" -msgstr "" - -#: ../NEWS:10658 -msgid "" -":gh:`108751`: Add :func:`copy.replace` function which allows to create a " -"modified copy of an object. It supports named tuples, dataclasses, and many " -"other objects." -msgstr "" - -#: ../NEWS:10662 -msgid "" -":gh:`108682`: Enum: raise :exc:`TypeError` if ``super().__new__()`` is " -"called from a custom ``__new__``." -msgstr "" - -#: ../NEWS:10665 -msgid "" -":gh:`108278`: Deprecate passing the callback callable by keyword for the " -"following :class:`sqlite3.Connection` APIs:" -msgstr "" - -#: ../NEWS:10668 -msgid ":meth:`~sqlite3.Connection.set_authorizer`" -msgstr "" - -#: ../NEWS:10669 -msgid ":meth:`~sqlite3.Connection.set_progress_handler`" -msgstr "" - -#: ../NEWS:10670 -msgid ":meth:`~sqlite3.Connection.set_trace_callback`" -msgstr "" - -#: ../NEWS:10672 ../NEWS:10706 -msgid "The affected parameters will become positional-only in Python 3.15." -msgstr "" - -#: ../NEWS:10674 ../NEWS:10708 ../NEWS:16625 ../NEWS:20437 ../NEWS:22271 -#: ../NEWS:22376 -msgid "Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:10676 -msgid ":gh:`105829`: Fix concurrent.futures.ProcessPoolExecutor deadlock" -msgstr "" - -#: ../NEWS:10678 -msgid "" -":gh:`108295`: Fix crashes related to use of weakrefs on " -":data:`typing.TypeVar`." -msgstr "" - -#: ../NEWS:10681 -msgid ":gh:`108463`: Make expressions/statements work as expected in pdb" -msgstr "" - -#: ../NEWS:10683 -msgid "" -":gh:`108277`: Add :func:`os.timerfd_create`, :func:`os.timerfd_settime`, " -":func:`os.timerfd_gettime`, :func:`os.timerfd_settime_ns`, and " -":func:`os.timerfd_gettime_ns` to provide a low level interface for Linux's " -"timer notification file descriptor." -msgstr "" - -#: ../NEWS:10688 -msgid "" -":gh:`107811`: :mod:`tarfile`: extraction of members with overly large UID or" -" GID (e.g. on an OS with 32-bit :c:type:`!id_t`) now fails in the same way " -"as failing to set the ID." -msgstr "" - -#: ../NEWS:10692 -msgid "" -":gh:`64662`: Fix support for virtual tables in " -":meth:`sqlite3.Connection.iterdump`. Patch by Aviv Palivoda." -msgstr "" - -#: ../NEWS:10695 -msgid "" -":gh:`108111`: Fix a regression introduced in :gh:`101251` for 3.12, " -"resulting in an incorrect offset calculation in :meth:`gzip.GzipFile.seek`." -msgstr "" - -#: ../NEWS:10698 -msgid ":gh:`108294`: :func:`time.sleep` now raises an auditing event." -msgstr "" - -#: ../NEWS:10700 -msgid "" -":gh:`108278`: Deprecate passing name, number of arguments, and the callable " -"as keyword arguments, for the following :class:`sqlite3.Connection` APIs:" -msgstr "" - -#: ../NEWS:10703 -msgid ":meth:`~sqlite3.Connection.create_function`" -msgstr "" - -#: ../NEWS:10704 -msgid ":meth:`~sqlite3.Connection.create_aggregate`" -msgstr "" - -#: ../NEWS:10710 -msgid "" -":gh:`108322`: Speed-up NormalDist.samples() by using the inverse CDF method " -"instead of calling random.gauss()." -msgstr "" - -#: ../NEWS:10713 -msgid "" -":gh:`83417`: Add the ability for venv to create a ``.gitignore`` file which " -"causes the created environment to be ignored by Git. It is on by default " -"when venv is called via its CLI." -msgstr "" - -#: ../NEWS:10717 -msgid "" -":gh:`105736`: Harmonized the pure Python version of " -":class:`~collections.OrderedDict` with the C version. Now, both versions set" -" up their internal state in ``__new__``. Formerly, the pure Python version " -"did the set up in ``__init__``." -msgstr "" - -#: ../NEWS:10722 -msgid "" -":gh:`108083`: Fix bugs in the constructor of :mod:`sqlite3.Connection` and " -":meth:`sqlite3.Connection.close` where exceptions could be leaked. Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../NEWS:10726 -msgid "" -":gh:`107932`: Fix ``dis`` module to properly report and display bytecode " -"that do not have source lines." -msgstr "" - -#: ../NEWS:10729 -msgid "" -":gh:`105539`: :mod:`sqlite3` now emits an :exc:`ResourceWarning` if a " -":class:`sqlite3.Connection` object is not :meth:`closed " -"` explicitly. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:10733 -msgid "" -":gh:`107995`: The ``__module__`` attribute on instances of " -":class:`functools.cached_property` is now set to the name of the module in " -"which the cached_property is defined, rather than \"functools\". This means " -"that doctests in ``cached_property`` docstrings are now properly collected " -"by the :mod:`doctest` module. Patch by Tyler Smart." -msgstr "" - -#: ../NEWS:10739 -msgid "" -":gh:`107963`: Fix :func:`multiprocessing.set_forkserver_preload` to check " -"the given list of modules names. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:10742 -msgid "" -":gh:`106242`: Fixes :func:`os.path.normpath` to handle embedded null " -"characters without truncating the path." -msgstr "" - -#: ../NEWS:10745 -msgid "" -":gh:`81555`: :mod:`xml.dom.minidom` now only quotes ``\"`` in attributes." -msgstr "" - -#: ../NEWS:10747 -msgid "" -":gh:`50002`: :mod:`xml.dom.minidom` now preserves whitespaces in attributes." -msgstr "" - -#: ../NEWS:10749 -msgid "" -":gh:`93057`: Passing more than one positional argument to " -":func:`sqlite3.connect` and the :class:`sqlite3.Connection` constructor is " -"deprecated. The remaining parameters will become keyword-only in Python " -"3.15. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:10754 -msgid "" -":gh:`76913`: Add *merge_extra* parameter/feature to " -":class:`logging.LoggerAdapter`" -msgstr "" - -#: ../NEWS:10757 -msgid "" -":gh:`107913`: Fix possible losses of ``errno`` and ``winerror`` values in " -":exc:`OSError` exceptions if they were cleared or modified by the cleanup " -"code before creating the exception object." -msgstr "" - -#: ../NEWS:10761 -msgid "" -":gh:`107845`: :func:`tarfile.data_filter` now takes the location of symlinks" -" into account when determining their target, so it will no longer reject " -"some valid tarballs with ``LinkOutsideDestinationError``." -msgstr "" - -#: ../NEWS:10765 -msgid ":gh:`107812`: Extend socket's netlink support to the FreeBSD platform." -msgstr "" - -#: ../NEWS:10767 -msgid "" -":gh:`107805`: Fix signatures of module-level generated functions in " -":mod:`turtle`." -msgstr "" - -#: ../NEWS:10770 -msgid "" -":gh:`107782`: :mod:`pydoc` is now able to show signatures which are not " -"representable in Python, e.g. for ``getattr`` and ``dict.pop``." -msgstr "" - -#: ../NEWS:10773 -msgid "" -":gh:`56166`: Deprecate passing optional arguments *maxsplit*, *count* and " -"*flags* in module-level functions :func:`re.split`, :func:`re.sub` and " -":func:`re.subn` as positional. They should only be passed by keyword." -msgstr "" - -#: ../NEWS:10777 -msgid ":gh:`107710`: Speed up :func:`logging.getHandlerNames`." -msgstr "" - -#: ../NEWS:10779 -msgid "" -":gh:`107715`: Fix :meth:`doctest.DocTestFinder.find` in presence of class " -"names with special characters. Patch by Gertjan van Zwieten." -msgstr "" - -#: ../NEWS:10782 -msgid "" -":gh:`100814`: Passing a callable object as an option value to a Tkinter " -"image now raises the expected TclError instead of an AttributeError." -msgstr "" - -#: ../NEWS:10785 -msgid "" -":gh:`72684`: Add :mod:`tkinter` widget methods: :meth:`!tk_busy_hold`, " -":meth:`!tk_busy_configure`, :meth:`!tk_busy_cget`, :meth:`!tk_busy_forget`, " -":meth:`!tk_busy_current`, and :meth:`!tk_busy_status`." -msgstr "" - -#: ../NEWS:10790 -msgid "" -":gh:`106684`: Raise :exc:`ResourceWarning` when " -":class:`asyncio.StreamWriter` is not closed leading to memory leaks. Patch " -"by Kumar Aditya." -msgstr "" - -#: ../NEWS:10793 -msgid ":gh:`107465`: Add :meth:`pathlib.Path.from_uri` classmethod." -msgstr "" - -#: ../NEWS:10795 -msgid "" -":gh:`107077`: Seems that in some conditions, OpenSSL will return " -"``SSL_ERROR_SYSCALL`` instead of ``SSL_ERROR_SSL`` when a certification " -"verification has failed, but the error parameters will still contain " -"``ERR_LIB_SSL`` and ``SSL_R_CERTIFICATE_VERIFY_FAILED``. We are now " -"detecting this situation and raising the appropriate " -"``ssl.SSLCertVerificationError``. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:10802 -msgid "" -":gh:`107576`: Fix :func:`types.get_original_bases` to only return " -":attr:`!__orig_bases__` if it is present on ``cls`` directly. Patch by James" -" Hilton-Balfe." -msgstr "" - -#: ../NEWS:10806 -msgid "" -":gh:`105481`: Remove ``opcode.is_pseudo``, ``opcode.MIN_PSEUDO_OPCODE`` and " -"``opcode.MAX_PSEUDO_OPCODE``, which were added in 3.12, were never " -"documented and were not intended to be used externally." -msgstr "" - -#: ../NEWS:10810 -msgid "" -":gh:`105481`: :data:`!opcode.ENABLE_SPECIALIZATION` (which was added in 3.12" -" but never documented or intended for external usage) is moved to " -":data:`!_opcode.ENABLE_SPECIALIZATION` where tests can access it." -msgstr "" - -#: ../NEWS:10814 -msgid "" -":gh:`107396`: tarfiles; Fixed use before assignment of self.exception for " -"gzip decompression" -msgstr "" - -#: ../NEWS:10817 -msgid "" -":gh:`107409`: Set :attr:`!__wrapped__` attribute in " -":func:`reprlib.recursive_repr`." -msgstr "" - -#: ../NEWS:10820 -msgid "" -":gh:`107406`: Implement new :meth:`__repr__` method for " -":class:`struct.Struct`. Now it returns ``Struct()``." -msgstr "" - -#: ../NEWS:10823 -msgid "" -":gh:`107369`: Optimize :func:`textwrap.indent`. It is ~30% faster for large " -"input. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:10826 -msgid "" -":gh:`78722`: Fix issue where :meth:`pathlib.Path.iterdir` did not raise " -":exc:`OSError` until iterated." -msgstr "" - -#: ../NEWS:10829 -msgid "" -":gh:`105578`: Deprecate :class:`typing.AnyStr` in favor of the new Type " -"Parameter syntax. See PEP 695." -msgstr "" - -#: ../NEWS:10832 -msgid "" -":gh:`62519`: Make :func:`gettext.pgettext` search plural definitions when " -"translation is not found." -msgstr "" - -#: ../NEWS:10835 -msgid "" -":gh:`107089`: Shelves opened with :func:`shelve.open` have a much faster " -":meth:`clear` method. Patch by James Cave." -msgstr "" - -#: ../NEWS:10838 -msgid "" -":gh:`82500`: Fix overflow on 32-bit systems with :mod:`asyncio` " -":func:`os.sendfile` implementation." -msgstr "" - -#: ../NEWS:10841 -msgid "" -":gh:`83006`: Document behavior of :func:`shutil.disk_usage` for non-mounted " -"filesystems on Unix." -msgstr "" - -#: ../NEWS:10844 -msgid "" -":gh:`65495`: Use lowercase ``mail from`` and ``rcpt to`` in " -":class:`smptlib.SMTP`." -msgstr "" - -#: ../NEWS:10847 -msgid "" -":gh:`106186`: Do not report ``MultipartInvariantViolationDefect`` defect " -"when the :class:`email.parser.Parser` class is used to parse emails with " -"``headersonly=True``." -msgstr "" - -#: ../NEWS:10851 -msgid "" -":gh:`105002`: Fix invalid result from :meth:`PurePath.relative_to` method " -"when attempting to walk a \"``..``\" segment in *other* with *walk_up* " -"enabled. A :exc:`ValueError` exception is now raised in this case." -msgstr "" - -#: ../NEWS:10855 -msgid "" -":gh:`106739`: Add the ``rtype_cache`` to the warning message (as an addition" -" to the type of leaked objects and the number of leaked objects already " -"included in the message) to make debugging leaked objects easier when the " -"multiprocessing resource tracker process finds leaked objects at shutdown. " -"This helps more quickly identify what was leaked and/or why the leaked " -"object was not properly cleaned up." -msgstr "" - -#: ../NEWS:10862 -msgid "" -":gh:`106751`: Optimize :meth:`SelectSelector.select` for many iteration " -"case. Patch By Donghee Na." -msgstr "" - -#: ../NEWS:10865 -msgid "" -":gh:`106751`: Optimize :meth:`!_PollLikeSelector.select` for many iteration " -"case." -msgstr "" - -#: ../NEWS:10868 -msgid "" -":gh:`106751`: Optimize :meth:`KqueueSelector.select` for many iteration " -"case. Patch By Donghee Na." -msgstr "" - -#: ../NEWS:10871 -msgid "" -":gh:`106831`: Fix potential missing ``NULL`` check of ``d2i_SSL_SESSION`` " -"result in ``_ssl.c``." -msgstr "" - -#: ../NEWS:10874 -msgid "" -":gh:`105481`: The various opcode lists in the :mod:`dis` module are now " -"generated from bytecodes.c instead of explicitly constructed in opcode.py." -msgstr "" - -#: ../NEWS:10877 -msgid "" -":gh:`106727`: Make :func:`inspect.getsource` smarter for class for same name" -" definitions" -msgstr "" - -#: ../NEWS:10880 -msgid ":gh:`106789`: Remove import of :mod:`pprint` from :mod:`sysconfig`." -msgstr "" - -#: ../NEWS:10882 -msgid "" -":gh:`105726`: Added ``__slots__`` to " -":class:`contextlib.AbstractContextManager` and " -":class:`contextlib.AbstractAsyncContextManager` so that child classes can " -"use ``__slots__``." -msgstr "" - -#: ../NEWS:10887 -msgid ":gh:`106774`: Update the bundled copy of pip to version 23.2.1." -msgstr "" - -#: ../NEWS:10889 -msgid "" -":gh:`106751`: :mod:`selectors`: Optimize ``EpollSelector.select()`` code by " -"moving some code outside of the loop." -msgstr "" - -#: ../NEWS:10892 -msgid "" -":gh:`106752`: Fixed several bugs in zipfile.Path, including: in " -":meth:`zipfile.Path.match`, Windows separators are no longer honored (and " -"never were meant to be); Fixed ``name``/``suffix``/``suffixes``/``stem`` " -"operations when no filename is present and the Path is not at the root of " -"the zipfile; Reworked glob for performance and more correct matching " -"behavior." -msgstr "" - -#: ../NEWS:10899 -msgid "" -":gh:`105293`: Remove call to ``SSL_CTX_set_session_id_context`` during " -"client side context creation in the :mod:`ssl` module." -msgstr "" - -#: ../NEWS:10902 -msgid ":gh:`106734`: Disable tab completion in multiline mode of :mod:`pdb`" -msgstr "" - -#: ../NEWS:10904 -msgid ":gh:`105481`: Expose opcode metadata through :mod:`!_opcode`." -msgstr "" - -#: ../NEWS:10906 -msgid "" -":gh:`106670`: Add the new ``exceptions`` command to the Pdb debugger. It " -"makes it possible to move between chained exceptions when using post mortem " -"debugging." -msgstr "" - -#: ../NEWS:10910 -msgid ":gh:`106602`: Add __copy__ and __deepcopy__ in :mod:`enum`" -msgstr "" - -#: ../NEWS:10912 -msgid "" -":gh:`106664`: :mod:`selectors`: Add ``_SelectorMapping.get()`` method and " -"optimize ``_SelectorMapping.__getitem__()``." -msgstr "" - -#: ../NEWS:10915 -msgid "" -":gh:`106628`: Speed up parsing of emails by about 20% by not compiling a new" -" regular expression for every single email." -msgstr "" - -#: ../NEWS:10918 -msgid "" -":gh:`89427`: Set the environment variable ``VIRTUAL_ENV_PROMPT`` at " -":mod:`venv` activation, even when ``VIRTUAL_ENV_DISABLE_PROMPT`` is set." -msgstr "" - -#: ../NEWS:10921 -msgid "" -":gh:`106530`: Revert a change to :func:`colorsys.rgb_to_hls` that caused " -"division by zero for certain almost-white inputs. Patch by Terry Jan Reedy." -msgstr "" - -#: ../NEWS:10925 -msgid "" -":gh:`106584`: Fix exit code for ``unittest`` if all tests are skipped. Patch" -" by Egor Eliseev." -msgstr "" - -#: ../NEWS:10928 -msgid "" -":gh:`106566`: Optimize ``(?!)`` (pattern which always fails) in regular " -"expressions." -msgstr "" - -#: ../NEWS:10931 -msgid "" -":gh:`106554`: :mod:`selectors`: Reduce Selector overhead by using a " -"``dict.get()`` to lookup file descriptors." -msgstr "" - -#: ../NEWS:10934 -msgid "" -":gh:`106558`: Remove ref cycle in callers of " -":func:`~multiprocessing.managers.convert_to_error` by deleting ``result`` " -"from scope in a ``finally`` block." -msgstr "" - -#: ../NEWS:10938 -msgid "" -":gh:`100502`: Add :attr:`pathlib.PurePath.pathmod` class attribute that " -"stores the implementation of :mod:`os.path` used for low-level path " -"operations: either ``posixpath`` or ``ntpath``." -msgstr "" - -#: ../NEWS:10942 -msgid "" -":gh:`106527`: Reduce overhead to add and remove :mod:`asyncio` readers and " -"writers." -msgstr "" - -#: ../NEWS:10945 -msgid "" -":gh:`106524`: Fix crash in :func:`!_sre.template` with templates containing " -"invalid group indices." -msgstr "" - -#: ../NEWS:10948 -msgid "" -":gh:`106531`: Removed ``_legacy`` and the names it provided from " -"``importlib.resources``: ``Resource``, ``contents``, ``is_resource``, " -"``open_binary``, ``open_text``, ``path``, ``read_binary``, and " -"``read_text``." -msgstr "" - -#: ../NEWS:10953 -msgid "" -":gh:`106052`: :mod:`re` module: fix the matching of possessive quantifiers " -"in the case of a subpattern containing backtracking." -msgstr "" - -#: ../NEWS:10956 -msgid "" -":gh:`106510`: Improve debug output for atomic groups in regular expressions." -msgstr "" - -#: ../NEWS:10958 -msgid "" -":gh:`106503`: Fix ref cycle in :class:`!asyncio._SelectorSocketTransport` by" -" removing ``_write_ready`` in ``close``." -msgstr "" - -#: ../NEWS:10961 -msgid ":gh:`105497`: Fix flag mask inversion when unnamed flags exist." -msgstr "" - -#: ../NEWS:10963 -msgid "" -":gh:`90876`: Prevent :mod:`multiprocessing.spawn` from failing to *import* " -"in environments where ``sys.executable`` is ``None``. This regressed in " -"3.11 with the addition of support for path-like objects in multiprocessing." -msgstr "" - -#: ../NEWS:10967 -msgid "" -":gh:`106403`: Instances of :class:`typing.TypeVar`, " -":class:`typing.ParamSpec`, :class:`typing.ParamSpecArgs`, " -":class:`typing.ParamSpecKwargs`, and :class:`typing.TypeVarTuple` once again" -" support weak references, fixing a regression introduced in Python 3.12.0 " -"beta 1. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:10973 -msgid "" -":gh:`89812`: Add private ``pathlib._PathBase`` class, which provides " -"experimental support for virtual filesystems, and may be made public in a " -"future version of Python." -msgstr "" - -#: ../NEWS:10977 -msgid "" -":gh:`106292`: Check for an instance-dict cached value in the :meth:`__get__`" -" method of :func:`functools.cached_property`. This better matches the " -"pre-3.12 behavior and improves compatibility for users subclassing " -":func:`functools.cached_property` and adding a :meth:`__set__` method." -msgstr "" - -#: ../NEWS:10982 -msgid "" -":gh:`106350`: Detect possible memory allocation failure in the libtommath " -"function :c:func:`mp_init` used by the ``_tkinter`` module." -msgstr "" - -#: ../NEWS:10985 -msgid "" -":gh:`106330`: Fix incorrect matching of empty paths in " -":meth:`pathlib.PurePath.match`. This bug was introduced in Python 3.12.0 " -"beta 1." -msgstr "" - -#: ../NEWS:10989 -msgid "" -":gh:`106309`: Deprecate :func:`typing.no_type_check_decorator`. No major " -"type checker ever added support for this decorator. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:10992 -msgid "" -":gh:`102541`: Make :func:`pydoc.doc` catch bad module :exc:`ImportError` " -"when output stream is not ``None``." -msgstr "" - -#: ../NEWS:10995 -msgid "" -":gh:`106263`: Fix crash when calling ``repr`` with a manually constructed " -"SignalDict object. Patch by Charlie Zhao." -msgstr "" - -#: ../NEWS:10998 -msgid "" -":gh:`106236`: Replace ``assert`` statements with ``raise RuntimeError`` in " -":mod:`threading`, so that ``_DummyThread`` cannot be joined even with " -"``-OO``." -msgstr "" - -#: ../NEWS:11002 -msgid "" -":gh:`106238`: Fix rare concurrency bug in lock acquisition by the logging " -"package." -msgstr "" - -#: ../NEWS:11005 -msgid "" -":gh:`106152`: Added PY_THROW event hook for :mod:`cProfile` for generators" -msgstr "" - -#: ../NEWS:11007 -msgid "" -":gh:`106075`: Added ``asyncio.taskgroups.__all__`` to ``asyncio.__all__`` " -"for export in star imports." -msgstr "" - -#: ../NEWS:11010 -msgid "" -":gh:`104527`: Zipapp will now skip over appending an archive to itself." -msgstr "" - -#: ../NEWS:11012 -msgid "" -":gh:`106046`: Improve the error message from :func:`os.fspath` if called on " -"an object where ``__fspath__`` is set to ``None``. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:11015 -msgid "" -":gh:`105987`: Fix crash due to improper reference counting in :mod:`asyncio`" -" eager task factory internal routines." -msgstr "" - -#: ../NEWS:11018 -msgid "" -":gh:`105974`: Fix bug where a :class:`typing.Protocol` class that had one or" -" more non-callable members would raise :exc:`TypeError` when " -":func:`issubclass` was called against it, even if it defined a custom " -"``__subclasshook__`` method. The behaviour in Python 3.11 and lower -- which" -" has now been restored -- was not to raise :exc:`TypeError` in these " -"situations if a custom ``__subclasshook__`` method was defined. Patch by " -"Alex Waygood." -msgstr "" - -#: ../NEWS:11026 -msgid ":gh:`96145`: Reverted addition of ``json.AttrDict``." -msgstr "" - -#: ../NEWS:11028 -msgid "" -":gh:`89812`: Add :exc:`pathlib.UnsupportedOperation`, which is raised " -"instead of :exc:`NotImplementedError` when a path operation isn't supported." -msgstr "" - -#: ../NEWS:11031 -msgid "" -":gh:`105808`: Fix a regression introduced in :gh:`101251` for 3.12, causing " -":meth:`gzip.GzipFile.flush` to not flush the compressor (nor pass along the " -"``zip_mode`` argument)." -msgstr "" - -#: ../NEWS:11035 -msgid "" -":gh:`105481`: :func:`~dis.stack_effect` no longer raises an exception if an " -"``oparg`` is provided for an ``opcode`` that doesn't use its arg, or when it" -" is not provided for an ``opcode`` that does use it. In the latter case, the" -" stack effect is returned for ``oparg=0``." -msgstr "" - -#: ../NEWS:11040 -msgid "" -":gh:`104799`: Enable :func:`ast.unparse` to unparse function and class " -"definitions created without the new ``type_params`` field from :pep:`695`. " -"Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:11044 -msgid "" -":gh:`105793`: Add *follow_symlinks* keyword-only argument to " -":meth:`pathlib.Path.is_dir` and :meth:`~pathlib.Path.is_file`, defaulting to" -" ``True``." -msgstr "" - -#: ../NEWS:11048 -msgid "" -":gh:`105570`: Deprecate two methods of creating :class:`typing.TypedDict` " -"classes with 0 fields using the functional syntax: ``TD = " -"TypedDict(\"TD\")`` and ``TD = TypedDict(\"TD\", None)``. Both will be " -"disallowed in Python 3.15. To create a ``TypedDict`` class with 0 fields, " -"either use ``class TD(TypedDict): pass`` or ``TD = TypedDict(\"TD\", {})``." -msgstr "" - -#: ../NEWS:11054 -msgid ":gh:`105745`: Fix ``webbrowser.Konqueror.open`` method." -msgstr "" - -#: ../NEWS:11056 -msgid "" -":gh:`105733`: :mod:`ctypes`: Deprecate undocumented " -":func:`!ctypes.SetPointerType` and :func:`!ctypes.ARRAY` functions. Patch by" -" Victor Stinner." -msgstr "" - -#: ../NEWS:11060 -msgid "" -":gh:`105687`: Remove deprecated ``re.template``, ``re.T``, ``re.TEMPLATE``, " -"``sre_constans.SRE_FLAG_TEMPLATE``." -msgstr "" - -#: ../NEWS:11063 -msgid "" -":gh:`105684`: Supporting :meth:`asyncio.Task.set_name` is now mandatory for " -"third party task implementations. The undocumented :func:`!_set_task_name` " -"function (deprecated since 3.8) has been removed. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:11067 -msgid "" -":gh:`105375`: Fix a bug in :c:func:`!_Unpickler_SetInputStream` where an " -"exception could end up being overwritten in case of failure." -msgstr "" - -#: ../NEWS:11070 -msgid "" -":gh:`105626`: Change the default return value of " -":meth:`http.client.HTTPConnection.get_proxy_response_headers` to be ``None``" -" and not ``{}``." -msgstr "" - -#: ../NEWS:11074 -msgid "" -":gh:`105375`: Fix bugs in :mod:`sys` where exceptions could end up being " -"overwritten because of deferred error handling." -msgstr "" - -#: ../NEWS:11077 -msgid "" -":gh:`105605`: Harden :mod:`pyexpat` error handling during module " -"initialisation to prevent exceptions from possibly being overwritten, and " -"objects from being dereferenced twice." -msgstr "" - -#: ../NEWS:11081 -msgid "" -":gh:`105375`: Fix bug in :mod:`decimal` where an exception could end up " -"being overwritten." -msgstr "" - -#: ../NEWS:11084 -msgid "" -":gh:`105375`: Fix bugs in :mod:`!_datetime` where exceptions could be " -"overwritten in case of module initialisation failure." -msgstr "" - -#: ../NEWS:11087 -msgid "" -":gh:`105375`: Fix bugs in :mod:`!_ssl` initialisation which could lead to " -"leaked references and overwritten exceptions." -msgstr "" - -#: ../NEWS:11090 -msgid "" -":gh:`105375`: Fix a bug in :class:`array.array` where an exception could end" -" up being overwritten." -msgstr "" - -#: ../NEWS:11093 -msgid "" -":gh:`105375`: Fix bugs in :mod:`!_ctypes` where exceptions could end up " -"being overwritten." -msgstr "" - -#: ../NEWS:11096 -msgid "" -":gh:`105375`: Fix a bug in the :mod:`posix` module where an exception could " -"be overwritten." -msgstr "" - -#: ../NEWS:11099 -msgid "" -":gh:`105375`: Fix bugs in :mod:`!_elementtree` where exceptions could be " -"overwritten." -msgstr "" - -#: ../NEWS:11102 -msgid "" -":gh:`105375`: Fix bugs in :mod:`zoneinfo` where exceptions could be " -"overwritten." -msgstr "" - -#: ../NEWS:11105 -msgid "" -":gh:`105375`: Fix bugs in :mod:`errno` where exceptions could be " -"overwritten." -msgstr "" - -#: ../NEWS:11107 -msgid "" -":gh:`105566`: Deprecate creating a :class:`typing.NamedTuple` class using " -"keyword arguments to denote the fields (``NT = NamedTuple(\"NT\", x=int, " -"y=str)``). This will be disallowed in Python 3.15. Use the class-based " -"syntax or the functional syntax instead." -msgstr "" - -#: ../NEWS:11112 -msgid "" -"Two methods of creating ``NamedTuple`` classes with 0 fields using the " -"functional syntax are also deprecated, and will be disallowed in Python " -"3.15: ``NT = NamedTuple(\"NT\")`` and ``NT = NamedTuple(\"NT\", None)``. To " -"create a ``NamedTuple`` class with 0 fields, either use ``class " -"NT(NamedTuple): pass`` or ``NT = NamedTuple(\"NT\", [])``." -msgstr "" - -#: ../NEWS:11118 -msgid "" -":gh:`105545`: Remove deprecated in 3.11 ``webbrowser.MacOSXOSAScript._name``" -" attribute." -msgstr "" - -#: ../NEWS:11121 -msgid ":gh:`105497`: Fix flag inversion when alias/mask members exist." -msgstr "" - -#: ../NEWS:11123 -msgid "" -":gh:`105509`: :data:`typing.Annotated` is now implemented as an instance of " -"``typing._SpecialForm`` rather than a class. This should have no user-facing" -" impact for users of the :mod:`typing` module public API." -msgstr "" - -#: ../NEWS:11127 -msgid "" -":gh:`105375`: Fix bugs in :mod:`pickle` where exceptions could be " -"overwritten." -msgstr "" - -#: ../NEWS:11130 -msgid "" -":gh:`70303`: Emit :exc:`FutureWarning` from :meth:`pathlib.Path.glob` and " -":meth:`~pathlib.Path.rglob` if the given pattern ends with \"``**``\". In a " -"future Python release, patterns with this ending will match both files and " -"directories. Add a trailing slash to only match directories." -msgstr "" - -#: ../NEWS:11135 -msgid "" -":gh:`105375`: Fix a bug in :mod:`sqlite3` where an exception could be " -"overwritten in the :meth:`collation ` " -"callback." -msgstr "" - -#: ../NEWS:11139 -msgid "" -":gh:`105382`: Remove *cafile*, *capath* and *cadefault* parameters of the " -":func:`urllib.request.urlopen` function, deprecated in Python 3.6. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:11143 -msgid "" -":gh:`105376`: :mod:`logging`: Remove undocumented and untested " -"``Logger.warn()`` and ``LoggerAdapter.warn()`` methods and " -"``logging.warn()`` function. Deprecated since Python 3.3, they were aliases " -"to the :meth:`logging.Logger.warning` method, " -":meth:`!logging.LoggerAdapter.warning` method and :func:`logging.warning` " -"function. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11150 -msgid ":gh:`105332`: Revert pickling method from by-name back to by-value." -msgstr "" - -#: ../NEWS:11152 -msgid ":gh:`104554`: Add RTSPS scheme support in urllib.parse" -msgstr "" - -#: ../NEWS:11154 -msgid "" -":gh:`105292`: Add option to :func:`traceback.format_exception_only` to " -"recurse into the nested exception of a :exc:`BaseExceptionGroup`." -msgstr "" - -#: ../NEWS:11157 -msgid "" -":gh:`105280`: Fix bug where ``isinstance([], collections.abc.Mapping)`` " -"could evaluate to ``True`` if garbage collection happened at the wrong time." -" The bug was caused by changes to the implementation of " -":class:`typing.Protocol` in Python 3.12." -msgstr "" - -#: ../NEWS:11162 -msgid "" -":gh:`80480`: :mod:`array`: Add ``'w'`` typecode that represents ``Py_UCS4``." -msgstr "" - -#: ../NEWS:11164 -msgid "" -":gh:`105239`: Fix longstanding bug where ``issubclass(object, " -"typing.Protocol)`` would evaluate to ``True`` in some edge cases. Patch by " -"Alex Waygood." -msgstr "" - -#: ../NEWS:11168 -msgid "" -":gh:`104310`: In the beta 1 release we added a utility function for " -"extension module authors, to use when testing their module for support in " -"multiple interpreters or under a per-interpreter GIL. The name of that " -"function has changed from ``allowing_all_extensions`` to " -"``_incompatible_extension_module_restrictions``. The default for the " -"\"disable_check\" argument has change from ``True`` to ``False``, to better " -"match the new function name." -msgstr "" - -#: ../NEWS:11176 -msgid "" -":gh:`105080`: Fixed inconsistent signature on derived classes for " -":func:`inspect.signature`" -msgstr "" - -#: ../NEWS:11179 -msgid "" -":gh:`105144`: Fix a recent regression in the :mod:`typing` module. The " -"regression meant that doing ``class Foo(X, typing.Protocol)``, where ``X`` " -"was a class that had :class:`abc.ABCMeta` as its metaclass, would then cause" -" subsequent ``isinstance(1, X)`` calls to erroneously raise " -":exc:`TypeError`. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:11185 -msgid "" -":gh:`62948`: The :class:`io.IOBase` finalizer now logs the ``close()`` " -"method errors with :data:`sys.unraisablehook`. Previously, errors were " -"ignored silently by default, and only logged in :ref:`Python Development " -"Mode ` or on :ref:`Python built on debug mode `. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11191 -msgid "" -":gh:`105096`: :mod:`wave`: Deprecate the ``getmark()``, ``setmark()`` and " -"``getmarkers()`` methods of the :class:`wave.Wave_read` and " -":class:`wave.Wave_write` classes. They will be removed in Python 3.15. Patch" -" by Victor Stinner." -msgstr "" - -#: ../NEWS:11196 -msgid "" -":gh:`104992`: Remove the untested and undocumented " -":meth:`!unittest.TestProgram.usageExit` method, deprecated in Python 3.11. " -"Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:11200 -msgid "" -":gh:`104996`: Improve performance of :class:`pathlib.PurePath` " -"initialisation by deferring joining of paths when multiple arguments are " -"given." -msgstr "" - -#: ../NEWS:11203 -msgid "" -":gh:`101588`: Deprecate undocumented copy/deepcopy/pickle support for " -"itertools." -msgstr "" - -#: ../NEWS:11206 -msgid "" -":gh:`103631`: Fix ``pathlib.PurePosixPath(pathlib.PureWindowsPath(...))`` " -"not converting path separators to restore 3.11 compatible behavior." -msgstr "" - -#: ../NEWS:11209 -msgid "" -":gh:`104947`: Make comparisons between :class:`pathlib.PureWindowsPath` " -"objects consistent across Windows and Posix to match 3.11 behavior." -msgstr "" - -#: ../NEWS:11212 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!audioop` module, deprecated in " -"Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11215 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!aifc` module, deprecated in " -"Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11218 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!uu` module, deprecated in Python" -" 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11221 -msgid "" -":gh:`104935`: Fix bugs with the interaction between " -":func:`typing.runtime_checkable` and :class:`typing.Generic` that were " -"introduced by the :pep:`695` implementation. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:11225 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!crypt` module and its private " -":mod:`!_crypt` extension, deprecated in Python 3.11. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:11229 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!nis` module, deprecated in " -"Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11232 -msgid "" -":gh:`104898`: Add missing :attr:`~object.__slots__` to :class:`os.PathLike`." -msgstr "" - -#: ../NEWS:11234 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!xdrlib` module, deprecated in " -"Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11237 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!nntplib` module, deprecated in " -"Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11240 -msgid "" -":gh:`104886`: Remove the undocumented " -":class:`!configparser.LegacyInterpolation` class, deprecated in the " -"docstring since Python 3.2, and with a deprecation warning since Python " -"3.11. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:11245 -msgid ":gh:`104786`: Remove kwargs-based :class:`typing.TypedDict` creation" -msgstr "" - -#: ../NEWS:11247 -msgid "" -":gh:`104876`: Remove the :meth:`!turtle.RawTurtle.settiltangle` method, " -"deprecated in docs since Python 3.1 and with a deprecation warning since " -"Python 3.11. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:11251 -msgid "" -":gh:`104773`: :pep:`594`: Removed the :mod:`!msilib` package, deprecated in " -"Python 3.11." -msgstr "" - -#: ../NEWS:11254 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!spwd` module, deprecated in " -"Python 3.11: the :pypi:`python-pam` project can be used instead. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:11258 -msgid "" -":gh:`75552`: Removed the ``tkinter.tix`` module, deprecated since Python " -"3.6." -msgstr "" - -#: ../NEWS:11260 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!chunk` module, deprecated in " -"Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11263 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!mailcap` module, deprecated in " -"Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11266 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!sunau` module, deprecated in " -"Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11269 -msgid "" -":gh:`104780`: :pep:`594`: Remove the :mod:`!ossaudiodev` module, deprecated " -"in Python 3.11. Patch Victor Stinner." -msgstr "" - -#: ../NEWS:11272 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!pipes` module, deprecated in " -"Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11275 -msgid "" -":gh:`104873`: Add :func:`typing.get_protocol_members` to return the set of " -"members defining a :class:`typing.Protocol`. Add :func:`typing.is_protocol`" -" to check whether a class is a :class:`typing.Protocol`. Patch by Jelle " -"Zijlstra." -msgstr "" - -#: ../NEWS:11280 -msgid "" -":gh:`104874`: Document the ``__name__`` and ``__supertype__`` attributes of " -":class:`typing.NewType`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:11283 -msgid "" -":gh:`104835`: Removed the following :mod:`unittest` functions, deprecated in" -" Python 3.11:" -msgstr "" - -#: ../NEWS:11286 -msgid ":func:`!unittest.findTestCases`" -msgstr "" - -#: ../NEWS:11287 -msgid ":func:`!unittest.makeSuite`" -msgstr "" - -#: ../NEWS:11288 -msgid ":func:`!unittest.getTestCaseNames`" -msgstr "" - -#: ../NEWS:11290 ../NEWS:22370 -msgid "Use :class:`~unittest.TestLoader` methods instead:" -msgstr "" - -#: ../NEWS:11292 ../NEWS:22372 -msgid ":meth:`unittest.TestLoader.loadTestsFromModule`" -msgstr "" - -#: ../NEWS:11293 ../NEWS:22373 -msgid ":meth:`unittest.TestLoader.loadTestsFromTestCase`" -msgstr "" - -#: ../NEWS:11294 ../NEWS:22374 -msgid ":meth:`unittest.TestLoader.getTestCaseNames`" -msgstr "" - -#: ../NEWS:11296 ../NEWS:20225 ../NEWS:20778 ../NEWS:21673 ../NEWS:21694 -#: ../NEWS:21723 ../NEWS:21730 ../NEWS:21737 -msgid "Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:11298 -msgid "" -":gh:`104804`: Remove the untested and undocumented :mod:`webbrowser` " -":class:`!MacOSX` class, deprecated in Python 3.11. Patch by Hugo van " -"Kemenade." -msgstr "" - -#: ../NEWS:11302 -msgid "" -":gh:`83863`: Support for using :class:`pathlib.Path` objects as context " -"managers has been removed. Before Python 3.9, exiting the context manager " -"marked a path as \"closed\", which caused some (but not all!) methods to " -"raise when called. Since Python 3.9, using a path as a context manager does " -"nothing." -msgstr "" - -#: ../NEWS:11308 -msgid "" -":gh:`104799`: Adjust the location of the (see :pep:`695`) ``type_params`` " -"field on :class:`ast.ClassDef`, :class:`ast.AsyncFunctionDef`, and " -":class:`ast.FunctionDef` to better preserve backward compatibility. Patch by" -" Jelle Zijlstra" -msgstr "" - -#: ../NEWS:11313 -msgid "" -":gh:`104797`: Allow :class:`typing.Protocol` classes to inherit from " -":class:`collections.abc.Buffer`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:11316 -msgid "" -":gh:`104783`: Remove ``locale.resetlocale()`` function deprecated in Python " -"3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11319 -msgid "" -":gh:`104780`: Remove the ``2to3`` program and the :mod:`!lib2to3` module, " -"deprecated in Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11322 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!telnetlib` module, deprecated in" -" Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11325 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!imghdr` module, deprecated in " -"Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11328 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!cgi` and :mod:`!cgitb` modules, " -"deprecated in Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11331 -msgid "" -":gh:`104773`: :pep:`594`: Remove the :mod:`!sndhdr` module, deprecated in " -"Python 3.11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11334 -msgid "" -":gh:`104372`: On Linux where :mod:`subprocess` can use the ``vfork()`` " -"syscall for faster spawning, prevent the parent process from blocking other " -"threads by dropping the GIL while it waits for the vfork'ed child process " -"``exec()`` outcome. This prevents spawning a binary from a slow filesystem " -"from blocking the rest of the application." -msgstr "" - -#: ../NEWS:11340 -msgid "" -":gh:`99108`: We now release the GIL around built-in :mod:`hashlib` " -"computations of reasonable size for the SHA families and MD5 hash functions," -" matching what our OpenSSL backed hash computations already does." -msgstr "" - -#: ../NEWS:11345 -msgid "" -":gh:`102613`: Improve performance of :meth:`pathlib.Path.glob` when " -"expanding a pattern with a non-terminal \"``**``\" component by filtering " -"walked paths through a regular expression, rather than calling " -":func:`os.scandir` more than once on each directory." -msgstr "" - -#: ../NEWS:11350 -msgid "" -":gh:`104399`: Prepare the ``_tkinter`` module for building with Tcl 9.0 and " -"future libtommath by replacing usage of deprecated functions " -":c:func:`mp_to_unsigned_bin_n` and :c:func:`mp_unsigned_bin_size` when " -"necessary." -msgstr "" - -#: ../NEWS:11355 -msgid "" -":gh:`102676`: Add fields ``start_offset``, ``cache_offset``, ``end_offset``," -" ``baseopname``, ``baseopcode``, ``jump_target`` and ``oparg`` to " -":class:`dis.Instruction`." -msgstr "" - -#: ../NEWS:11359 -msgid "" -":gh:`103558`: Fixed ``parent`` argument validation mechanism of " -":mod:`argparse`. Improved test coverage." -msgstr "" - -#: ../NEWS:11362 -msgid "" -":gh:`103464`: Provide helpful usage messages when parsing incorrect " -":mod:`pdb` commands." -msgstr "" - -#: ../NEWS:11365 -msgid "" -":gh:`103384`: Generalize the regex pattern " -"``BaseConfigurator.INDEX_PATTERN`` to allow spaces and non-alphanumeric " -"characters in keys." -msgstr "" - -#: ../NEWS:11368 -msgid ":gh:`103124`: Added multiline statement support for :mod:`pdb`" -msgstr "" - -#: ../NEWS:11370 -msgid "" -":gh:`101162`: Forbid using :func:`builtins.issubclass` with " -":class:`types.GenericAlias` as the first argument." -msgstr "" - -#: ../NEWS:11373 -msgid "" -":gh:`103200`: Fix cache repopulation semantics of " -"zipimport.invalidate_caches(). The cache is now repopulated upon retrieving " -"files with an invalid cache, not when the cache is invalidated." -msgstr "" - -#: ../NEWS:11377 -msgid "" -":gh:`100061`: Fix a bug that causes wrong matches for regular expressions " -"with possessive qualifier." -msgstr "" - -#: ../NEWS:11380 -msgid "" -":gh:`77609`: Add *follow_symlinks* argument to :meth:`pathlib.Path.glob` and" -" :meth:`~pathlib.Path.rglob`, defaulting to false." -msgstr "" - -#: ../NEWS:11383 -msgid "" -":gh:`102541`: Hide traceback in :func:`help` prompt, when import failed." -msgstr "" - -#: ../NEWS:11385 -msgid "" -":gh:`102120`: Added a stream mode to ``tarfile`` that allows for reading " -"archives without caching info about the inner files." -msgstr "" - -#: ../NEWS:11388 -msgid "" -":gh:`102029`: Deprecate passing any arguments to :func:`threading.RLock`." -msgstr "" - -#: ../NEWS:11390 -msgid "" -":gh:`88233`: Refactored ``zipfile._strip_extra`` to use higher level " -"abstractions for extras instead of a heavy-state loop." -msgstr "" - -#: ../NEWS:11393 -msgid "" -":gh:`102024`: Reduce calls of ``_idle_semaphore.release()`` in " -":func:`concurrent.futures.thread._worker`." -msgstr "" - -#: ../NEWS:11396 -msgid "" -":gh:`73435`: Add support for recursive wildcards in " -":meth:`pathlib.PurePath.match`." -msgstr "" - -#: ../NEWS:11399 -msgid "" -":gh:`84867`: :class:`unittest.TestLoader` no longer loads test cases from " -"exact :class:`unittest.TestCase` and :class:`unittest.FunctionTestCase` " -"classes." -msgstr "" - -#: ../NEWS:11403 -msgid "" -":gh:`99203`: Restore following CPython <= 3.10.5 behavior of " -":func:`shutil.make_archive`: do not create an empty archive if ``root_dir`` " -"is not a directory, and, in that case, raise :class:`FileNotFoundError` or " -":class:`NotADirectoryError` regardless of ``format`` choice. Beyond the " -"brought-back behavior, the function may now also raise these exceptions in " -"``dry_run`` mode." -msgstr "" - -#: ../NEWS:11410 -msgid "" -":gh:`80480`: Emit :exc:`DeprecationWarning` for :mod:`array`'s ``'u'`` type " -"code, deprecated in docs since Python 3.3." -msgstr "" - -#: ../NEWS:11413 -msgid "" -":gh:`94924`: :func:`unittest.mock.create_autospec` now properly returns " -"coroutine functions compatible with :func:`inspect.iscoroutinefunction`" -msgstr "" - -#: ../NEWS:11416 -msgid "" -":gh:`94777`: Fix hanging :mod:`multiprocessing` ``ProcessPoolExecutor`` when" -" a child process crashes while data is being written in the call queue." -msgstr "" - -#: ../NEWS:11419 -msgid "" -":gh:`92871`: Remove the ``typing.io`` and ``typing.re`` namespaces, " -"deprecated since Python 3.8. All items are still available from the main " -":mod:`typing` module." -msgstr "" - -#: ../NEWS:11423 -msgid "" -":issue:`43633`: Improve the textual representation of IPv4-mapped IPv6 " -"addresses (:rfc:`4291` Sections 2.2, 2.5.5.2) in :mod:`ipaddress`. Patch by " -"Oleksandr Pavliuk." -msgstr "" - -#: ../NEWS:11427 -msgid "" -":issue:`44850`: Improve performance of :func:`operator.methodcaller` using " -"the :pep:`590` ``vectorcall`` convention. Patch by Anthony Lee and Pieter " -"Eendebak." -msgstr "" - -#: ../NEWS:11431 -msgid "" -":issue:`44185`: :func:`unittest.mock.mock_open` will call the :func:`close` " -"method of the file handle mock when it is exiting from the context manager. " -"Patch by Samet Yaslan." -msgstr "" - -#: ../NEWS:11435 -msgid "" -":issue:`40988`: Improve performance of " -":class:`functools.singledispatchmethod` by caching the generated dispatch " -"wrapper. Optimization suggested by frederico. Patch by @mental32, Alex " -"Waygood and Pieter Eendebak." -msgstr "" - -#: ../NEWS:11439 -msgid "" -":issue:`41768`: :mod:`unittest.mock` speccing no longer calls class " -"properties. Patch by Melanie Witt." -msgstr "" - -#: ../NEWS:11442 -msgid "" -":issue:`18319`: Ensure ``gettext(msg)`` retrieve translations even if a " -"plural form exists. In other words: ``gettext(msg) == ngettext(msg, '', " -"1)``." -msgstr "" - -#: ../NEWS:11445 -msgid "" -":issue:`17013`: Add ``ThreadingMock`` to :mod:`unittest.mock` that can be " -"used to create Mock objects that can wait until they are called. Patch by " -"Karthikeyan Singaravelan and Mario Corchero." -msgstr "" - -#: ../NEWS:11452 -msgid "" -":gh:`109209`: The minimum Sphinx version required for the documentation is " -"now 4.2." -msgstr "" - -#: ../NEWS:11455 -msgid "" -":gh:`108826`: :mod:`dis` module command-line interface is now mentioned in " -"documentation." -msgstr "" - -#: ../NEWS:11458 -msgid "" -":gh:`107305`: Add documentation for :c:type:`PyInterpreterConfig` and " -":c:func:`Py_NewInterpreterFromConfig`. Also clarify some of the nearby docs" -" relative to per-interpreter GIL." -msgstr "" - -#: ../NEWS:11462 -msgid "" -":gh:`107008`: Document the :mod:`curses` module variables " -":const:`~curses.LINES` and :const:`~curses.COLS`." -msgstr "" - -#: ../NEWS:11465 -msgid "" -":gh:`106948`: Add a number of standard external names to ``nitpick_ignore``." -msgstr "" - -#: ../NEWS:11467 -msgid "" -":gh:`106232`: Make timeit doc command lines compatible with Windows by using" -" double quotes for arguments. This works on linux and macOS also." -msgstr "" - -#: ../NEWS:11470 -msgid "" -":gh:`105172`: Fixed :func:`functools.lru_cache` docstring accounting for " -"``typed`` argument's different handling of str and int. Patch by Bar Harel." -msgstr "" - -#: ../NEWS:11474 -msgid "" -":gh:`105052`: Update ``timeit`` doc to specify that time in seconds is just " -"the default." -msgstr "" - -#: ../NEWS:11477 -msgid "" -":gh:`89455`: Add missing documentation for the ``max_group_depth`` and " -"``max_group_width`` parameters and the ``exceptions`` attribute of the " -":class:`traceback.TracebackException` class." -msgstr "" - -#: ../NEWS:11481 -msgid "" -":gh:`89412`: Add missing documentation for the ``end_lineno`` and " -"``end_offset`` attributes of the :class:`traceback.TracebackException` " -"class." -msgstr "" - -#: ../NEWS:11485 -msgid "" -":gh:`104943`: Remove mentions of old Python versions in " -":class:`typing.NamedTuple`." -msgstr "" - -#: ../NEWS:11488 -msgid "" -":gh:`54738`: Add documentation on how to localize the :mod:`argparse` " -"module." -msgstr "" - -#: ../NEWS:11490 -msgid "" -":gh:`102823`: Document the return type of ``x // y`` when ``x`` and ``y`` " -"have type :class:`float`." -msgstr "" - -#: ../NEWS:11493 -msgid "" -":gh:`102759`: Align function signature for ``functools.reduce`` in " -"documentation and docstring with the C implementation." -msgstr "" - -#: ../NEWS:11499 -msgid "" -":gh:`110647`: Fix test_stress_modifying_handlers() of test_signal. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:11502 -msgid "" -":gh:`103053`: Fix test_tools.test_freeze on FreeBSD: run \"make distclean\" " -"instead of \"make clean\" in the copied source directory to remove also the " -"\"python\" program. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11506 -msgid "" -":gh:`110167`: Fix a deadlock in test_socket when server fails with a timeout" -" but the client is still running in its thread. Don't hold a lock to call " -"cleanup functions in doCleanups(). One of the cleanup function waits until " -"the client completes, whereas the client could deadlock if it called " -"addCleanup() in such situation. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11512 -msgid ":gh:`110388`: Add tests for :mod:`tty`." -msgstr "" - -#: ../NEWS:11514 -msgid ":gh:`81002`: Add tests for :mod:`termios`." -msgstr "" - -#: ../NEWS:11516 -msgid "" -":gh:`110367`: regrtest: When using worker processes (-jN) with --verbose3 " -"option, regrtest can now display the worker output even if a worker process " -"does crash. Previously, sys.stdout and sys.stderr were replaced and so the " -"worker output was lost on a crash. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11521 -msgid "" -":gh:`110267`: Add tests for pickling and copying PyStructSequence objects. " -"Patched by Xuehai Pan." -msgstr "" - -#: ../NEWS:11524 -msgid "" -":gh:`110171`: ``libregrtest`` now always sets and shows ``random.seed``, so " -"tests are more reproducible. Use ``--randseed`` flag to pass the explicit " -"random seed for tests." -msgstr "" - -#: ../NEWS:11528 -msgid "" -":gh:`110152`: Remove ``Tools/scripts/run_tests.py`` and ``make " -"hostrunnertest``. Just run ``./python -m test --slow-ci``, ``make " -"buildbottest`` or ``make test`` instead. Python test runner (regrtest) now " -"handles cross-compilation and HOSTRUNNER. It also adds options to Python " -"such fast ``-u -E -W default -bb`` when ``--fast-ci`` or ``--slow-ci`` " -"option is used. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11535 -msgid "" -":gh:`110031`: Skip test_threading tests using thread+fork if Python is built" -" with Address Sanitizer (ASAN). Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11538 -msgid "" -":gh:`110088`: Fix test_asyncio timeouts: don't measure the maximum duration," -" a test should not measure a CI performance. Only measure the minimum " -"duration when a task has a timeout or delay. Add ``CLOCK_RES`` to " -"``test_asyncio.utils``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11543 -msgid "" -":gh:`109974`: Fix race conditions in test_threading lock tests. Wait until a" -" condition is met rather than using :func:`time.sleep` with a hardcoded " -"number of seconds. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11547 -msgid "" -":gh:`110033`: Fix ``test_interprocess_signal()`` of ``test_signal``. Make " -"sure that the ``subprocess.Popen`` object is deleted before the test raising" -" an exception in a signal handler. Otherwise, ``Popen.__del__()`` can get " -"the exception which is logged as ``Exception ignored in: ...`` and the test " -"fails. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11553 -msgid "" -":gh:`109594`: Fix test_timeout() of test_concurrent_futures.test_wait. " -"Remove the future which may or may not complete depending if it takes longer" -" than the timeout or not. Keep the second future which does not complete " -"before wait() timeout. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11558 -msgid "" -":gh:`109972`: Split test_gdb.py file into a test_gdb package made of " -"multiple tests, so tests can now be run in parallel. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:11561 -msgid "" -":gh:`109566`: regrtest: When ``--fast-ci`` or ``--slow-ci`` option is used, " -"regrtest now replaces the current process with a new process to add ``-u -W " -"default -bb -E`` options to Python. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11565 -msgid "" -":gh:`109748`: Fix ``test_zippath_from_non_installed_posix()`` of test_venv: " -"don't copy ``__pycache__/`` sub-directories, because they can be modified by" -" other Python tests running in parallel. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11569 -msgid "" -":gh:`109739`: regrtest: Fix reference leak check on Windows. Disable the " -"load tracker on Windows in the reference leak check mode (-R option). Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:11573 -msgid "" -":gh:`109276`: regrtest: When a test fails with \"env changed\" and the " -"--rerun option is used, the test is now re-run in verbose mode in a fresh " -"process. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11577 -msgid "" -":gh:`103053`: Skip test_freeze_simple_script() of test_tools.test_freeze if " -"Python is built with ``./configure --enable-optimizations``, which means " -"with Profile Guided Optimization (PGO): it just makes the test too slow. The" -" freeze tool is tested by many other CIs with other (faster) compiler flags." -" Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11583 -msgid "" -":gh:`109580`: Skip ``test_perf_profiler`` if Python is built with ASAN, MSAN" -" or UBSAN sanitizer. Python does crash randomly in this test on such build. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11587 -msgid "" -":gh:`109566`: regrtest: Add ``--fast-ci`` and ``--slow-ci`` options. " -"``--fast-ci`` uses a default timeout of 10 minutes and ``-u all,-cpu`` (skip" -" slowest tests). ``--slow-ci`` uses a default timeout of 20 minutes and ``-u" -" all`` (run all tests). Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11592 -msgid "" -":gh:`109425`: libregrtest now decodes stdout of test worker processes with " -"the \"backslashreplace\" error handler to log corrupted stdout, instead of " -"failing with an error and not logging the stdout. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11596 -msgid "" -":gh:`109396`: Fix ``test_socket.test_hmac_sha1()`` in FIPS mode. Use a " -"longer key: FIPS mode requires at least of at least 112 bits. The previous " -"key was only 32 bits. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11600 -msgid "" -":gh:`104736`: Fix test_gdb on Python built with LLVM clang 16 on Linux " -"ppc64le (ex: Fedora 38). Search patterns in gdb \"bt\" command output to " -"detect when gdb fails to retrieve the traceback. For example, skip a test if" -" ``Backtrace stopped: frame did not save the PC`` is found. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:11606 -msgid "" -":gh:`109276`: libregrtest now calls :func:`random.seed` before running each " -"test file when ``-r/--randomize`` command line option is used. Moreover, " -"it's also called in worker processes. It should help to make tests more " -"deterministic. Previously, it was only called once in the main process " -"before running all test files and it was not called in worker processes. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11613 -msgid "" -":gh:`109276`: libregrtest now uses a separated file descriptor to write test" -" result as JSON. Previously, if a test wrote debug messages late around the " -"JSON, the main test process failed to parse JSON. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11617 -msgid ":gh:`108996`: Fix and enable ``test_msvcrt``." -msgstr "" - -#: ../NEWS:11619 -msgid "" -":gh:`109237`: Fix ``test_site.test_underpth_basic()`` when the working " -"directory contains at least one non-ASCII character: encode the ``._pth`` " -"file to UTF-8 and enable the UTF-8 Mode to use UTF-8 for the child process " -"stdout. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11624 -msgid "" -":gh:`109230`: Fix ``test_pyexpat.test_exception()``: it can now be run from " -"a directory different than Python source code directory. Before, the test " -"failed in this case. Skip the test if Modules/pyexpat.c source is not " -"available. Skip also the test on Python implementations other than CPython. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11630 -msgid ":gh:`108996`: Add tests for ``msvcrt``." -msgstr "" - -#: ../NEWS:11632 -msgid "" -":gh:`109015`: Fix test_asyncio, test_imaplib and test_socket tests on " -"FreeBSD if the TCP blackhole is enabled (``sysctl net.inet.tcp.blackhole``)." -" Skip the few tests which failed with ``ETIMEDOUT`` which such non standard " -"configuration. Currently, the `FreeBSD GCP image enables TCP and UDP " -"blackhole `_ (``sysctl " -"net.inet.tcp.blackhole=2`` and ``sysctl net.inet.udp.blackhole=1``). Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:11640 -msgid "" -":gh:`91960`: Skip ``test_gdb`` if gdb is unable to retrieve Python frame " -"objects: if a frame is ````. When Python is built with " -"\"clang -Og\", gdb can fail to retrieve the *frame* parameter of " -"``_PyEval_EvalFrameDefault()``. In this case, tests like ``py_bt()`` are " -"likely to fail. Without getting access to Python frames, ``python-gdb.py`` " -"is mostly clueless on retrieving the Python traceback. Moreover, " -"``test_gdb`` is no longer skipped on macOS if Python is built with Clang. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11649 -msgid "" -":gh:`108962`: Skip ``test_tempfile.test_flags()`` if ``chflags()`` fails " -"with \"OSError: [Errno 45] Operation not supported\" (ex: on FreeBSD 13). " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11653 -msgid "" -":gh:`91960`: FreeBSD 13.2 CI coverage for pull requests is now provided by " -"Cirrus-CI (a hosted CI service that supports Linux, macOS, Windows, and " -"FreeBSD)." -msgstr "" - -#: ../NEWS:11657 -msgid "" -":gh:`89392`: Removed support of ``test_main()`` function in tests. They now " -"always use normal unittest test runner." -msgstr "" - -#: ../NEWS:11660 -msgid "" -":gh:`108851`: Fix ``test_tomllib`` recursion tests for WASI buildbots: " -"reduce the recursion limit and compute the maximum nested array/dict " -"depending on the current available recursion limit. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11664 -msgid "" -":gh:`108851`: Add ``get_recursion_available()`` and " -"``get_recursion_depth()`` functions to the :mod:`test.support` module. Patch" -" by Victor Stinner." -msgstr "" - -#: ../NEWS:11667 -msgid "" -":gh:`108834`: Add ``--fail-rerun option`` option to regrtest: if a test " -"failed when then passed when rerun in verbose mode, exit the process with " -"exit code 2 (error), instead of exit code 0 (success). Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:11672 -msgid "" -":gh:`108834`: Rename regrtest ``--verbose2`` option (``-w``) to ``--rerun``." -" Keep ``--verbose2`` as a deprecated alias. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11675 -msgid "" -":gh:`108834`: When regrtest reruns failed tests in verbose mode (``./python " -"-m test --rerun``), tests are now rerun in fresh worker processes rather " -"than being executed in the main process. If a test does crash or is killed " -"by a timeout, the main process can detect and handle the killed worker " -"process. Tests are rerun in parallel if the ``-jN`` option is used to run " -"tests in parallel. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11682 -msgid "" -":gh:`108822`: ``regrtest`` now computes statistics on all tests: successes, " -"failures and skipped. ``test_netrc``, ``test_pep646_syntax`` and " -"``test_xml_etree`` now return results in their ``test_main()`` function. " -"Patch by Victor Stinner and Alex Waygood." -msgstr "" - -#: ../NEWS:11687 -msgid "" -":gh:`108794`: The :meth:`doctest.DocTestRunner.run` method now counts the " -"number of skipped tests. Add :attr:`doctest.DocTestRunner.skips` and " -":attr:`doctest.TestResults.skipped` attributes. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11691 -msgid "" -":gh:`108388`: Convert test_concurrent_futures to a package of 7 sub-tests. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11694 -msgid "" -":gh:`108388`: Split test_multiprocessing_fork, " -"test_multiprocessing_forkserver and test_multiprocessing_spawn into test " -"packages. Each package is made of 4 sub-tests: processes, threads, manager " -"and misc. It allows running more tests in parallel and so reduce the total " -"test duration. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11700 -msgid "" -":gh:`105776`: Fix test_cppext when the C compiler command ``-std=c11`` " -"option: remove ``-std=`` options from the compiler command. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:11704 -msgid "" -":gh:`107652`: Set up CIFuzz to run fuzz targets in GitHub Actions. Patch by " -"Illia Volochii." -msgstr "" - -#: ../NEWS:11707 -msgid "" -":gh:`107237`: ``test_logging``: Fix ``test_udp_reconnection()`` by " -"increasing the timeout from 100 ms to 5 minutes (LONG_TIMEOUT). Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:11711 -msgid "" -":gh:`107178`: Add the C API test for functions in the Mapping Protocol, the " -"Sequence Protocol and some functions in the Object Protocol." -msgstr "" - -#: ../NEWS:11714 -msgid "" -":gh:`106714`: test_capi: Fix test_no_FatalError_infinite_loop() to no longer" -" write a coredump, by using test.support.SuppressCrashReport. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:11718 -msgid "" -":gh:`104090`: Avoid creating a reference to the test object in " -":meth:`~unittest.TestResult.collectedDurations`." -msgstr "" - -#: ../NEWS:11721 -msgid "" -":gh:`106752`: Moved tests for ``zipfile.Path`` into " -"``Lib/test/test_zipfile/_path``. Made ``zipfile._path`` a package." -msgstr "" - -#: ../NEWS:11724 -msgid "" -":gh:`106690`: Add .coveragerc to cpython repository for use with coverage " -"package." -msgstr "" - -#: ../NEWS:11727 -msgid "" -":gh:`101634`: When running the Python test suite with ``-jN`` option, if a " -"worker stdout cannot be decoded from the locale encoding report a failed " -"testn so the exitcode is non-zero. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11731 -msgid "" -":gh:`105084`: When the Python build is configured ``--with-wheel-pkg-dir``, " -"tests requiring the ``setuptools`` and ``wheel`` wheels will search for the " -"wheels in ``WHEEL_PKG_DIR``." -msgstr "" - -#: ../NEWS:11735 -msgid "" -":gh:`81005`: String tests are modified to reflect that ``str`` and " -"``unicode`` are merged in Python 3. Patch by Daniel Fortunov." -msgstr "" - -#: ../NEWS:11738 -msgid "" -":gh:`103186`: Suppress and assert expected RuntimeWarnings in " -"test_sys_settrace.py" -msgstr "" - -#: ../NEWS:11741 -msgid "" -":gh:`69714`: Add additional tests to :mod:`calendar` to achieve full test " -"coverage." -msgstr "" - -#: ../NEWS:11747 -msgid "" -":gh:`103053`: \"make check-clean-src\" now also checks if the \"python\" " -"program is found in the source directory: fail with an error if it does " -"exist. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11751 -msgid "" -":gh:`109191`: Fix compile error when building with recent versions of " -"libedit." -msgstr "" - -#: ../NEWS:11754 -msgid "" -":gh:`110276`: No longer ignore :envvar:`PROFILE_TASK` failure silently: " -"command used by Profile Guided Optimization (PGO). Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11758 -msgid "" -":gh:`109566`: Remove ``make testall`` target: use ``make buildbottest`` " -"instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11761 -msgid "" -":gh:`109740`: The experimental ``--disable-gil`` configure flag now includes" -" \"t\" (for \"threaded\") in extension ABI tags." -msgstr "" - -#: ../NEWS:11764 -msgid "" -":gh:`109054`: Fix building the ``_testcapi`` extension on Linux AArch64 " -"which requires linking to libatomic when ```` is used: " -"the ``_Py_atomic_or_uint64()`` function requires libatomic " -"``__atomic_fetch_or_8()`` on this platform. The configure script now checks " -"if linking to libatomic is needed and generates a new LIBATOMIC variable " -"used to build the _testcapi extension. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11771 -msgid "" -":gh:`63760`: Fix Solaris build: no longer redefine the ``gethostname()`` " -"function. Solaris defines the function since 2005. Patch by Victor Stinner, " -"original patch by Jakub Kulík." -msgstr "" - -#: ../NEWS:11775 -msgid "" -":gh:`108740`: Fix a race condition in ``make regen-all``. The " -"``deepfreeze.c`` source and files generated by Argument Clinic are now " -"generated or updated before generating \"global objects\". Previously, some " -"identifiers may miss depending on the order in which these files were " -"generated. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11781 -msgid "" -":gh:`108634`: Python built with :file:`configure` :option:`--with-trace-" -"refs` (tracing references) is now ABI compatible with Python release build " -"and :ref:`debug build `. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11785 -msgid "" -":gh:`85283`: The ``_stat`` C extension is now built with the :ref:`limited C" -" API `. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11788 -msgid ":gh:`108447`: Fix x86_64 GNU/Hurd build" -msgstr "" - -#: ../NEWS:11790 -msgid "" -":gh:`107814`: When calling ``find_python.bat`` with ``-q`` it did not " -"properly silence the output of nuget. That is now fixed." -msgstr "" - -#: ../NEWS:11793 -msgid "" -":gh:`105481`: Remove the make target ``regen-opcode-targets``, merge its " -"work into ``regen-opcode`` which repeats most of the calculation. This " -"simplifies the code for the build and reduces code duplication." -msgstr "" - -#: ../NEWS:11797 -msgid "" -":gh:`106881`: Check for ``linux/limits.h`` before including it in " -"``Modules/posixmodule.c``." -msgstr "" - -#: ../NEWS:11800 -msgid "" -":gh:`95855`: Refactor platform triplet detection code and add detection for " -"MIPS soft float and musl libc." -msgstr "" - -#: ../NEWS:11803 -msgid ":gh:`106962`: Detect MPI compilers in :file:`configure`." -msgstr "" - -#: ../NEWS:11805 -msgid "" -":gh:`106118`: Fix compilation for platforms without :data:`!O_CLOEXEC`. The " -"issue was introduced with Python 3.12b1 in :gh:`103295`. Patch by Erlend " -"Aasland." -msgstr "" - -#: ../NEWS:11809 -msgid "" -":gh:`105875`: SQLite 3.15.2 or newer is required to build the :mod:`sqlite3`" -" extension module. Patch by Erlend Aasland." -msgstr "" - -#: ../NEWS:11812 -msgid "" -":gh:`90005`: Fix a regression in :file:`configure` where we could end up " -"unintentionally linking with ``libbsd``." -msgstr "" - -#: ../NEWS:11815 -msgid "" -":gh:`102404`: Document how to perform a WASI build on Linux. Also add " -"Tools/wasm/build_wasi.sh as a reference implementation of the docs." -msgstr "" - -#: ../NEWS:11818 -msgid "" -":gh:`89886`: Autoconf 2.71 and aclocal 1.16.4 is now required to regenerate " -":file:`configure`." -msgstr "" - -#: ../NEWS:11821 -msgid "" -":gh:`104692`: Include ``commoninstall`` as a prerequisite for ``bininstall``" -msgstr "" - -#: ../NEWS:11823 -msgid "" -"This ensures that ``commoninstall`` is completed before ``bininstall`` is " -"started when parallel builds are used (``make -j install``), and so the " -"``python3`` symlink is only installed after all standard library modules are" -" installed." -msgstr "" - -#: ../NEWS:11828 -msgid "" -":gh:`101538`: Add experimental wasi-threads support. Patch by Takashi " -"Yamamoto." -msgstr "" - -#: ../NEWS:11834 -msgid "" -":gh:`110437`: Allows overriding the source of VC redistributables so that " -"releases can be guaranteed to never downgrade between updates." -msgstr "" - -#: ../NEWS:11837 -msgid ":gh:`109286`: Update Windows installer to use SQLite 3.43.1." -msgstr "" - -#: ../NEWS:11839 -msgid "" -":gh:`82367`: :func:`os.path.realpath` now resolves MS-DOS style file names " -"even if the file is not accessible. Patch by Moonsik Park." -msgstr "" - -#: ../NEWS:11842 -msgid ":gh:`109991`: Update Windows build to use OpenSSL 3.0.11." -msgstr "" - -#: ../NEWS:11844 -msgid "" -":gh:`106242`: Fixes :func:`~os.path.realpath` to behave consistently when " -"passed a path containing an embedded null character on Windows. In strict " -"mode, it now raises :exc:`OSError` instead of the unexpected " -":exc:`ValueError`, and in non-strict mode will make the path absolute." -msgstr "" - -#: ../NEWS:11849 -msgid "" -":gh:`83180`: Changes the :ref:`launcher` to prefer an active virtual " -"environment when the launched script has a shebang line using a Unix-like " -"virtual command, even if the command requests a specific version of Python." -msgstr "" - -#: ../NEWS:11854 -msgid "" -":gh:`106844`: Fix integer overflow and truncating by the null character in " -":func:`!_winapi.LCMapStringEx` which affects :func:`ntpath.normcase`." -msgstr "" - -#: ../NEWS:11857 -msgid "" -":gh:`105436`: Ensure that an empty environment block is terminated by two " -"null characters, as is required by Windows." -msgstr "" - -#: ../NEWS:11860 -msgid "" -":gh:`105146`: Updated the links at the end of the installer to point to " -"Discourse rather than the mailing lists." -msgstr "" - -#: ../NEWS:11863 -msgid "" -":gh:`103646`: When installed from the Microsoft Store, ``pip`` no longer " -"defaults to per-user installs. However, as the install directory is " -"unwritable, it should automatically decide to do a per-user install anyway. " -"This should resolve issues when ``pip`` is passed an option that conflicts " -"with ``--user``." -msgstr "" - -#: ../NEWS:11869 -msgid "" -":gh:`88745`: Improve performance of :func:`shutil.copy2` by using the " -"operating system's ``CopyFile2`` function. This may result in subtle changes" -" to metadata copied along with some files, bringing them in line with normal" -" OS behavior." -msgstr "" - -#: ../NEWS:11874 -msgid "" -":gh:`104820`: Fixes :func:`~os.stat` and related functions on file systems " -"that do not support file ID requests. This includes FAT32 and exFAT." -msgstr "" - -#: ../NEWS:11877 -msgid "" -":gh:`104803`: Add :func:`os.path.isdevdrive` to detect whether a path is on " -"a Windows Dev Drive. Returns ``False`` on platforms that do not support Dev " -"Drive, and is absent on non-Windows platforms." -msgstr "" - -#: ../NEWS:11884 -msgid ":gh:`109286`: Update macOS installer to use SQLite 3.43.1." -msgstr "" - -#: ../NEWS:11886 -msgid ":gh:`109991`: Update macOS installer to use OpenSSL 3.0.11." -msgstr "" - -#: ../NEWS:11888 -msgid ":gh:`99079`: Update macOS installer to use OpenSSL 3.0.9." -msgstr "" - -#: ../NEWS:11893 -msgid "" -":gh:`104719`: Remove IDLE's modification of tokenize.tabsize and test other " -"uses of tokenize data and methods." -msgstr "" - -#: ../NEWS:11899 -msgid "" -":gh:`109991`: Update GitHub CI workflows to use OpenSSL 3.0.11 and " -"multissltests to use 1.1.1w, 3.0.11, and 3.1.3." -msgstr "" - -#: ../NEWS:11902 -msgid "" -":gh:`108494`: `Argument Clinic `__ now has a partial support of the :ref:`Limited API " -"`: see `documentation in the Python Developer's Guide " -"`__ Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11909 -msgid "" -":gh:`107704`: It is now possible to deprecate passing keyword arguments for " -"keyword-or-positional parameters with Argument Clinic, using the new ``/ " -"[from X.Y]`` syntax. (To be read as *\"positional-only from Python version " -"X.Y\"*.) See `documentation in the Python Developer's Guide " -"`__ for more information." -msgstr "" - -#: ../NEWS:11916 -msgid "" -":gh:`107880`: Argument Clinic can now clone :meth:`!__init__` and " -":meth:`!__new__` methods." -msgstr "" - -#: ../NEWS:11919 -msgid ":gh:`104683`: Add ``--exclude`` option to Argument Clinic CLI." -msgstr "" - -#: ../NEWS:11921 -msgid "" -":gh:`95065`: Argument Clinic now supports overriding automatically generated" -" signature by using directive ``@text_signature``. See `documentation in the" -" Python Developer's Guide `__" -msgstr "" - -#: ../NEWS:11926 -msgid "" -":gh:`107609`: Fix duplicate module check in Argument Clinic. Previously, a " -"duplicate definition would incorrectly be silently accepted. Patch by Erlend" -" E. Aasland." -msgstr "" - -#: ../NEWS:11930 -msgid "" -":gh:`107467`: The Argument Clinic command-line tool now prints to stderr " -"instead of stdout on failure." -msgstr "" - -#: ../NEWS:11933 -msgid "" -":gh:`106970`: Fix bugs in the Argument Clinic ``destination clear`` " -"command; the destination buffers would never be cleared, and the " -"``destination`` directive parser would simply continue to the fault handler " -"after processing the command. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:11938 -msgid "" -":gh:`106706`: Change bytecode syntax for families to remove redundant name " -"matching pseudo syntax." -msgstr "" - -#: ../NEWS:11941 -msgid "" -":gh:`106359`: Argument Clinic now explicitly forbids \"kwarg splats\" in " -"function calls used as annotations." -msgstr "" - -#: ../NEWS:11944 -msgid "" -":gh:`103186`: ``freeze`` now fetches ``CONFIG_ARGS`` from the original " -"CPython instance the Makefile uses to call utility scripts. Patch by Ijtaba " -"Hussain." -msgstr "" - -#: ../NEWS:11948 -msgid "" -":gh:`95065`: It is now possible to deprecate passing parameters positionally" -" with Argument Clinic, using the new ``* [from X.Y]`` syntax. (To be read as" -" *\"keyword-only from Python version X.Y\"*.) See `documentation in the " -"Python Developer's Guide `__ for more information. " -"Patch by Erlend E. Aasland with help from Alex Waygood, Nikita Sobolev, and " -"Serhiy Storchaka." -msgstr "" - -#: ../NEWS:11959 -msgid "" -":gh:`85283`: If the :c:macro:`Py_LIMITED_API` macro is defined, " -":c:macro:`!Py_BUILD_CORE`, :c:macro:`!Py_BUILD_CORE_BUILTIN` and " -":c:macro:`!Py_BUILD_CORE_MODULE` macros are now undefined by ````." -" Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11964 -msgid "" -":gh:`110289`: Add :c:func:`PyUnicode_EqualToUTF8AndSize` and " -":c:func:`PyUnicode_EqualToUTF8` functions." -msgstr "" - -#: ../NEWS:11967 -msgid "" -":gh:`110235`: Raise :exc:`TypeError` for duplicate/unknown fields in " -"``PyStructSequence`` constructor. Patched by Xuehai Pan." -msgstr "" - -#: ../NEWS:11970 -msgid "" -":gh:`110014`: Remove undocumented ``PY_TIMEOUT_MAX`` constant from the " -"limited C API. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11973 -msgid "" -":gh:`109521`: :c:func:`PyImport_GetImporter` now sets RuntimeError if it " -"fails to get :data:`sys.path_hooks` or :data:`sys.path_importer_cache` or " -"they are not list and dict correspondingly. Previously it could return NULL " -"without setting error in obscure cases, crash or raise SystemError if these " -"attributes have wrong type." -msgstr "" - -#: ../NEWS:11979 -msgid "" -":gh:`108724`: Add :c:type:`PyMutex` internal-only lightweight locking API." -msgstr "" - -#: ../NEWS:11981 -msgid "" -":gh:`85283`: Add :c:func:`PySys_AuditTuple` function: similar to " -":c:func:`PySys_Audit`, but pass event arguments as a Python :class:`tuple` " -"object. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11985 -msgid "" -":gh:`108867`: Add :c:func:`PyThreadState_GetUnchecked()` function: similar " -"to :c:func:`PyThreadState_Get()`, but don't kill the process with a fatal " -"error if it is NULL. The caller is responsible to check if the result is " -"NULL. Previously, the function was private and known as " -"``_PyThreadState_UncheckedGet()``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11991 -msgid "" -":gh:`108765`: ``Python.h`` no longer includes the ```` standard " -"header file. If needed, it should now be included explicitly. For example, " -"it provides ``isalpha()`` and ``tolower()`` functions which are locale " -"dependent. Python provides locale independent functions, like " -":c:func:`!Py_ISALPHA` and :c:func:`!Py_TOLOWER`. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:11997 -msgid "" -":gh:`108765`: ``Python.h`` no longer includes the ```` standard " -"header file. If needed, it should now be included explicitly. For example, " -"it provides the functions: ``close()``, ``getpagesize()``, ``getpid()`` and " -"``sysconf()``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12002 -msgid "" -":gh:`108765`: ``Python.h`` no longer includes the ```` standard " -"header. It was included for the ``finite()`` function which is now provided " -"by the ```` header. It should now be included explicitly if needed. " -"Remove also the ``HAVE_IEEEFP_H`` macro. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12008 -msgid "" -":gh:`108765`: ``Python.h`` no longer includes these standard header files: " -"````, ```` and ````. If needed, they " -"should now be included explicitly. For example, ```` provides the " -"``clock()`` and ``gmtime()`` functions, ```` provides the " -"``select()`` function, and ```` provides the ``futimes()``, " -"``gettimeofday()`` and ``setitimer()`` functions. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12015 -msgid "" -":gh:`108511`: Add functions :c:func:`PyObject_HasAttrWithError`, " -":c:func:`PyObject_HasAttrStringWithError`, " -":c:func:`PyMapping_HasKeyWithError` and " -":c:func:`PyMapping_HasKeyStringWithError`." -msgstr "" - -#: ../NEWS:12020 -msgid "" -":gh:`107073`: Add :c:func:`PyObject_VisitManagedDict` and " -":c:func:`PyObject_ClearManagedDict` functions which must be called by the " -"traverse and clear functions of a type using " -":c:macro:`Py_TPFLAGS_MANAGED_DICT` flag. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12025 -msgid "" -":gh:`108634`: Python built with :file:`configure` :option:`--with-trace-" -"refs` (tracing references) now supports the :ref:`Limited API `. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12029 -msgid "" -":gh:`108014`: Add :c:func:`PyLong_AsInt` function: similar to " -":c:func:`PyLong_AsLong`, but store the result in a C :c:expr:`int` instead " -"of a C :c:expr:`long`. Previously, it was known as the private function " -":c:func:`!_PyLong_AsInt` (with an underscore prefix). Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:12035 -msgid "" -":gh:`108314`: Add :c:func:`PyDict_ContainsString` function: same as " -":c:func:`PyDict_Contains`, but *key* is specified as a :c:expr:`const char*`" -" UTF-8 encoded bytes string, rather than a :c:expr:`PyObject*`. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:12040 -msgid "" -":gh:`108337`: Add atomic operations on additional data types in pyatomic.h." -msgstr "" - -#: ../NEWS:12042 -msgid "" -":gh:`108014`: Add :c:func:`Py_IsFinalizing` function: check if the main " -"Python interpreter is :term:`shutting down `. Patch by" -" Victor Stinner." -msgstr "" - -#: ../NEWS:12046 -msgid "" -":gh:`107916`: C API functions :c:func:`PyErr_SetFromErrnoWithFilename`, " -":c:func:`PyErr_SetExcFromWindowsErrWithFilename` and " -":c:func:`PyErr_SetFromWindowsErrWithFilename` save now the error code before" -" calling :c:func:`PyUnicode_DecodeFSDefault`." -msgstr "" - -#: ../NEWS:12051 -msgid "" -":gh:`107915`: Such C API functions as ``PyErr_SetString()``, " -"``PyErr_Format()``, ``PyErr_SetFromErrnoWithFilename()`` and many others no " -"longer crash or ignore errors if it failed to format the error message or " -"decode the filename. Instead, they keep a corresponding error." -msgstr "" - -#: ../NEWS:12056 -msgid "" -":gh:`107810`: Improve :exc:`DeprecationWarning` for uses of " -":c:type:`PyType_Spec` with metaclasses that have custom ``tp_new``." -msgstr "" - -#: ../NEWS:12059 -msgid "" -":gh:`107249`: Implement the :c:macro:`Py_UNUSED` macro for Windows MSVC " -"compiler. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12062 -msgid "" -":gh:`107226`: :c:func:`PyModule_AddObjectRef` is now only available in the " -"limited API version 3.10 or later." -msgstr "" - -#: ../NEWS:12065 -msgid "" -":gh:`106320`: Remove private ``_PyUnicode_AsString()`` alias to " -":c:func:`PyUnicode_AsUTF8`. It was kept for backward compatibility with " -"Python 3.0 - 3.2. The :c:func:`PyUnicode_AsUTF8` is available since Python " -"3.3. The :c:func:`PyUnicode_AsUTF8String` function can be used to keep " -"compatibility with Python 3.2 and older. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12071 -msgid "" -":gh:`106572`: Convert :c:func:`PyObject_DelAttr` and " -":c:func:`PyObject_DelAttrString` macros to functions. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:12075 -msgid ":gh:`106307`: Add :c:func:`PyMapping_GetOptionalItem` function." -msgstr "" - -#: ../NEWS:12077 -msgid "" -":gh:`106521`: Add :c:func:`PyObject_GetOptionalAttr` and " -":c:func:`PyObject_GetOptionalAttrString` functions." -msgstr "" - -#: ../NEWS:12080 -msgid "" -":gh:`106320`: Remove ``_PyInterpreterState_Get()`` alias to " -":c:func:`PyInterpreterState_Get()` which was kept for backward compatibility" -" with Python 3.8. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12084 -msgid "" -":gh:`106316`: Remove ``cpython/pytime.h`` header file: it only contained " -"private functions. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12087 -msgid "" -":gh:`106023`: Remove private ``_PyObject_FastCall()`` function: use " -"``PyObject_Vectorcall()`` which is available since Python 3.8 (:pep:`590`). " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12091 -msgid "" -":gh:`106168`: If Python is built in :ref:`debug mode ` or " -":option:`with assertions <--with-assertions>`, :c:func:`PyTuple_SET_ITEM` " -"and :c:func:`PyList_SET_ITEM` now check the index argument with an " -"assertion. If the assertion fails, make sure that the size is set before. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12097 -msgid "" -":gh:`106084`: Remove the old aliases to functions calling functions which " -"were kept for backward compatibility with Python 3.8 provisional API:" -msgstr "" - -#: ../NEWS:12100 -msgid "``_PyObject_CallMethodNoArgs()``: use ``PyObject_CallMethodNoArgs()``" -msgstr "" - -#: ../NEWS:12101 -msgid "``_PyObject_CallMethodOneArg()``: use ``PyObject_CallMethodOneArg()``" -msgstr "" - -#: ../NEWS:12102 -msgid "``_PyObject_CallOneArg()``: use ``PyObject_CallOneArg()``" -msgstr "" - -#: ../NEWS:12103 -msgid "``_PyObject_FastCallDict()``: use ``PyObject_VectorcallDict()``" -msgstr "" - -#: ../NEWS:12104 -msgid "``_PyObject_Vectorcall()``: use ``PyObject_Vectorcall()``" -msgstr "" - -#: ../NEWS:12105 -msgid "``_PyObject_VectorcallMethod()``: use ``PyObject_VectorcallMethod()``" -msgstr "" - -#: ../NEWS:12106 -msgid "``_PyVectorcall_Function()``: use ``PyVectorcall_Function()``" -msgstr "" - -#: ../NEWS:12108 -msgid "" -"Just remove the underscore prefix to update your code. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:12111 -msgid "" -":gh:`106004`: Adds :c:func:`PyDict_GetItemRef` and " -":c:func:`PyDict_GetItemStringRef` functions: similar to " -":c:func:`PyDict_GetItemWithError` but returning a :term:`strong reference` " -"instead of a :term:`borrowed reference`. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12116 -msgid "" -":gh:`105927`: Deprecate the :c:func:`PyWeakref_GetObject` and " -":c:func:`PyWeakref_GET_OBJECT` functions: use the new " -":c:func:`PyWeakref_GetRef` function instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12120 -msgid "" -":gh:`105927`: Add :c:func:`PyWeakref_GetRef` function: similar to " -":c:func:`PyWeakref_GetObject` but returns a :term:`strong reference`, or " -"``NULL`` if the referent is no longer live. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12124 -msgid "" -":gh:`105922`: Add :c:func:`PyImport_AddModuleRef`: similar to " -":c:func:`PyImport_AddModule`, but return a :term:`strong reference` instead " -"of a :term:`borrowed reference`. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12128 -msgid "" -":gh:`105227`: The new :c:func:`PyType_GetDict` provides the dictionary for " -"the given type object that is normally exposed by ``cls.__dict__``. Normally" -" it's sufficient to use :c:member:`~PyTypeObject.tp_dict`, but for the " -"static builtin types :c:member:`!tp_dict` is now always ``NULL``. " -":c:func:`!PyType_GetDict()` provides the correct dict object instead." -msgstr "" - -#: ../NEWS:12134 -msgid "" -":gh:`105375`: Fix a bug in :c:func:`PyErr_WarnExplicit` where an exception " -"could end up being overwritten if the API failed internally." -msgstr "" - -#: ../NEWS:12137 -msgid "" -":gh:`105603`: We've renamed the new (in 3.12) " -"``PyInterpreterConfig.own_gil`` to ``PyInterpreterConfig.gil`` and changed " -"the meaning of the value from \"bool\" to an integer with supported values " -"of ``PyInterpreterConfig_DEFAULT_GIL``, ``PyInterpreterConfig_SHARED_GIL``, " -"and ``PyInterpreterConfig_OWN_GIL``. The default is \"shared\"." -msgstr "" - -#: ../NEWS:12143 -msgid "" -":gh:`105387`: In the limited C API version 3.12, :c:func:`Py_INCREF` and " -":c:func:`Py_DECREF` functions are now implemented as opaque function calls " -"to hide implementation details. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12147 -msgid "" -":gh:`105396`: Deprecate the :c:func:`PyImport_ImportModuleNoBlock` function " -"which is just an alias to :c:func:`PyImport_ImportModule` since Python 3.3. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12151 -msgid "" -":gh:`103968`: :c:func:`PyType_FromMetaclass` now allows metaclasses with " -"``tp_new`` set to ``NULL``." -msgstr "" - -#: ../NEWS:12154 -msgid "" -":gh:`105268`: Remove the old private, undocumented and untested " -"``_PyGC_FINALIZED()`` macro which was kept for backward compatibility with " -"Python 3.8 and older. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12158 -msgid "" -":gh:`105182`: Remove ``PyEval_AcquireLock()`` and ``PyEval_ReleaseLock()`` " -"functions, deprecated in Python 3.2. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12161 -msgid "" -":gh:`105182`: Remove ``PyEval_InitThreads()`` and " -"``PyEval_ThreadsInitialized()`` functions, deprecated in Python 3.9. Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:12165 -msgid ":gh:`105145`: Deprecate old Python initialization functions:" -msgstr "" - -#: ../NEWS:12167 -msgid ":c:func:`PySys_ResetWarnOptions`" -msgstr ":c:func:`PySys_ResetWarnOptions`" - -#: ../NEWS:12168 -msgid ":c:func:`Py_GetExecPrefix`" -msgstr "" - -#: ../NEWS:12169 -msgid ":c:func:`Py_GetPath`" -msgstr "" - -#: ../NEWS:12170 -msgid ":c:func:`Py_GetPrefix`" -msgstr "" - -#: ../NEWS:12171 -msgid ":c:func:`Py_GetProgramFullPath`" -msgstr "" - -#: ../NEWS:12172 -msgid ":c:func:`Py_GetProgramName`" -msgstr "" - -#: ../NEWS:12173 -msgid ":c:func:`Py_GetPythonHome`" -msgstr "" - -#: ../NEWS:12177 -msgid "" -":gh:`85275`: ``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``, " -"``PyObject_CheckReadBuffer()``, and ``PyObject_AsWriteBuffer()`` are " -"removed. Please migrate to new buffer protocol; :c:func:`PyObject_GetBuffer`" -" and :c:func:`PyBuffer_Release`." -msgstr "" - -#: ../NEWS:12182 -msgid "" -":gh:`105156`: Deprecate the old ``Py_UNICODE`` and ``PY_UNICODE_TYPE`` " -"types: use directly the :c:type:`wchar_t` type instead. Since Python 3.3, " -"``Py_UNICODE`` and ``PY_UNICODE_TYPE`` are just aliases to " -":c:type:`wchar_t`. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:12187 -msgid "" -":gh:`105145`: Remove the following old functions to configure the Python " -"initialization, deprecated in Python 3.11:" -msgstr "" - -#: ../NEWS:12190 -msgid "``PySys_AddWarnOptionUnicode()``" -msgstr "" - -#: ../NEWS:12191 -msgid "``PySys_AddWarnOption()``" -msgstr "" - -#: ../NEWS:12192 -msgid "``PySys_AddXOption()``" -msgstr "" - -#: ../NEWS:12193 -msgid "``PySys_HasWarnOptions()``" -msgstr "" - -#: ../NEWS:12194 -msgid "``PySys_SetArgvEx()``" -msgstr "" - -#: ../NEWS:12195 -msgid "``PySys_SetArgv()``" -msgstr "" - -#: ../NEWS:12196 -msgid "``PySys_SetPath()``" -msgstr "" - -#: ../NEWS:12197 -msgid "``Py_SetPath()``" -msgstr "" - -#: ../NEWS:12198 -msgid "``Py_SetProgramName()``" -msgstr "" - -#: ../NEWS:12199 -msgid "``Py_SetPythonHome()``" -msgstr "" - -#: ../NEWS:12200 -msgid "``Py_SetStandardStreamEncoding()``" -msgstr "" - -#: ../NEWS:12201 -msgid "``_Py_SetProgramFullPath()``" -msgstr "" - -#: ../NEWS:12205 -msgid ":gh:`105107`: Remove functions deprecated in Python 3.9." -msgstr "" - -#: ../NEWS:12207 -msgid "" -"``PyEval_CallObject()``, ``PyEval_CallObjectWithKeywords()``: use " -":c:func:`PyObject_CallNoArgs` and :c:func:`PyObject_Call` (positional " -"arguments must not be *NULL*) instead." -msgstr "" - -#: ../NEWS:12210 -msgid "" -"``PyEval_CallFunction()``: use :c:func:`PyObject_CallFunction` instead." -msgstr "" - -#: ../NEWS:12211 -msgid "``PyEval_CallMethod()``: use :c:func:`PyObject_CallMethod` instead." -msgstr "" - -#: ../NEWS:12212 -msgid "``PyCFunction_Call()``: use :c:func:`PyObject_Call` instead." -msgstr "" - -#: ../NEWS:12216 -msgid "" -":gh:`105115`: ``PyTypeObject.tp_bases`` (and ``tp_mro``) for builtin static " -"types are now shared by all interpreters, whereas in 3.12-beta1 they were " -"stored on ``PyInterpreterState``. Also note that now the tuples are " -"immortal objects." -msgstr "" - -#: ../NEWS:12221 -msgid "" -":gh:`105071`: Add ``PyUnstable_Exc_PrepReraiseStar`` to the unstable C api " -"to expose the implementation of :keyword:`except* `." -msgstr "" - -#: ../NEWS:12224 -msgid "" -":gh:`104922`: ``PY_SSIZE_T_CLEAN`` is no longer required to use ``'#'`` " -"formats in APIs like :c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue`." -" They uses ``Py_ssize_t`` for ``'#'`` regardless ``PY_SSIZE_T_CLEAN``." -msgstr "" - -#: ../NEWS:12229 -msgid "" -":gh:`104584`: Add an unstable C API for hooking in an optimizer. This is " -"mainly internal, but marked \"unstable\" to allow third-party " -"experimentation." -msgstr "" - -#: ../NEWS:12233 -msgid "" -":gh:`104668`: Don't call :c:var:`PyOS_InputHook` or " -":c:var:`PyOS_ReadlineFunctionPointer` in subinterpreters, since it's " -"generally difficult to avoid using global state in their registered " -"callbacks. This also avoids situations where extensions may find themselves " -"running in a subinterpreter they don't support (or haven't yet been loaded " -"in)." -msgstr "" - -#: ../NEWS:12240 -msgid "" -":issue:`42327`: Add :c:func:`PyModule_Add` function: similar to " -":c:func:`PyModule_AddObjectRef` and :c:func:`PyModule_AddObject`, but always" -" steals a reference to the value." -msgstr "" - -#: ../NEWS:12244 -msgid "" -":issue:`40309`: Properly handle trailing spaces before closing parenthesis " -"in :c:func:`Py_BuildValue` format strings." -msgstr "" - -#: ../NEWS:12249 -msgid "Python 3.12.0 beta 1" -msgstr "" - -#: ../NEWS:12251 -msgid "*Release date: 2023-05-22*" -msgstr "" - -#: ../NEWS:12256 -msgid "" -":gh:`99889`: Fixed a security in flaw in :func:`!uu.decode` that could allow" -" for directory traversal based on the input if no ``out_file`` was " -"specified." -msgstr "" - -#: ../NEWS:12260 -msgid "" -":gh:`104049`: Do not expose the local on-disk location in directory indexes " -"produced by :class:`http.client.SimpleHTTPRequestHandler`." -msgstr "" - -#: ../NEWS:12263 -msgid "" -":gh:`99108`: Upgrade built-in :mod:`hashlib` SHA3 implementation to a " -"verified implementation from the ``HACL*`` project. Used when OpenSSL is " -"not present or lacks SHA3." -msgstr "" - -#: ../NEWS:12267 -msgid "" -":gh:`102153`: :func:`urllib.parse.urlsplit` now strips leading C0 control " -"and space characters following the specification for URLs defined by WHATWG " -"in response to :cve:`2023-24329`. Patch by Illia Volochii." -msgstr "" - -#: ../NEWS:12274 -msgid "" -":gh:`102856`: Implement PEP 701 changes in the :mod:`tokenize` module. Patch" -" by Marta Gómez Macías and Pablo Galindo Salgado" -msgstr "" - -#: ../NEWS:12277 -msgid "" -":gh:`104615`: Fix wrong ordering of assignments in code like ``a, a = x, " -"y``. Contributed by Carl Meyer." -msgstr "" - -#: ../NEWS:12280 -msgid "" -":gh:`104572`: Improve syntax error message for invalid constructs in " -":pep:`695` contexts and in annotations when ``from __future__ import " -"annotations`` is active." -msgstr "" - -#: ../NEWS:12284 -msgid "" -":gh:`104482`: Fix three error handling bugs in ast.c's validation of pattern" -" matching statements." -msgstr "" - -#: ../NEWS:12287 -msgid "" -":gh:`102818`: Do not add a frame to the traceback in the ``sys.setprofile`` " -"and ``sys.settrace`` trampoline functions. This ensures that frames are not " -"duplicated if an exception is raised in the callback function, and ensures " -"that frames are not omitted if a C callback is used and that does not add " -"the frame." -msgstr "" - -#: ../NEWS:12293 -msgid "" -":gh:`104405`: Fix an issue where some :term:`bytecode` instructions could " -"ignore :pep:`523` when \"inlining\" calls." -msgstr "" - -#: ../NEWS:12296 -msgid "" -":gh:`103082`: Change behavior of ``sys.monitoring.events.LINE`` events in " -"``sys.monitoring``: Line events now occur when a new line is reached " -"dynamically, instead of using a static approximation, as before. This makes " -"the behavior very similar to that of \"line\" events in ``sys.settrace``. " -"This should ease porting of tools from 3.11 to 3.12." -msgstr "" - -#: ../NEWS:12302 -msgid "" -":gh:`104263`: Fix ``float(\"nan\")`` to produce a quiet NaN on platforms " -"(like MIPS) where the meaning of the signalling / quiet bit is inverted from" -" its usual meaning. Also introduce a new macro ``Py_INFINITY`` matching " -"C99's ``INFINITY``, and refactor internals to rely on C99's ``NAN`` and " -"``INFINITY`` macros instead of hard-coding bit patterns for infinities and " -"NaNs. Thanks Sebastian Berg." -msgstr "" - -#: ../NEWS:12309 -msgid "" -":gh:`99113`: Multi-phase init extension modules may now indicate that they " -"support running in subinterpreters that have their own GIL. This is done by" -" using ``Py_MOD_PER_INTERPRETER_GIL_SUPPORTED`` as the value for the " -"``Py_mod_multiple_interpreters`` module def slot. Otherwise the module, by " -"default, cannot be imported in such subinterpreters. (This does not affect " -"the main interpreter or subinterpreters that do not have their own GIL.) In" -" addition to the isolation that multi-phase init already normally requires, " -"support for per-interpreter GIL involves one additional constraint: thread-" -"safety. If the module has external (linked) dependencies and those " -"libraries have any state that isn't thread-safe then the module must do the " -"additional work to add thread-safety. This should be an uncommon case." -msgstr "" - -#: ../NEWS:12322 -msgid "" -":gh:`99113`: The GIL is now (optionally) per-interpreter. This is the " -"fundamental change for PEP 684. This is all made possible by virtue of the " -"isolated state of each interpreter in the process. The behavior of the main" -" interpreter remains unchanged. Likewise, interpreters created using " -"``Py_NewInterpreter()`` are not affected. To get an interpreter with its " -"own GIL, call ``Py_NewInterpreterFromConfig()``." -msgstr "" - -#: ../NEWS:12329 -msgid "" -":gh:`104108`: Multi-phase init extension modules may now indicate whether or" -" not they actually support multiple interpreters. By default such modules " -"are expected to support use in multiple interpreters. In the uncommon case " -"that one does not, it may use the new ``Py_mod_multiple_interpreters`` " -"module def slot. A value of ``0`` means the module does not support them. " -"``1`` means it does. The default is ``1``." -msgstr "" - -#: ../NEWS:12337 -msgid "" -":gh:`104142`: Fix an issue where :class:`list` or :class:`tuple` repetition " -"could fail to respect :pep:`683`." -msgstr "" - -#: ../NEWS:12340 -msgid "" -":gh:`104078`: Improve the performance of :c:func:`PyObject_HasAttrString`" -msgstr "" - -#: ../NEWS:12342 -msgid "" -":gh:`104066`: Improve the performance of :func:`hasattr` for module objects " -"with a missing attribute." -msgstr "" - -#: ../NEWS:12345 -msgid "" -":gh:`104028`: Reduce object creation while calling callback function from " -"gc. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:12348 -msgid "" -":gh:`104018`: Disallow the \"z\" format specifier in %-format of bytes " -"objects." -msgstr "" - -#: ../NEWS:12350 ../NEWS:13225 -msgid "" -":gh:`102213`: Fix performance loss when accessing an object's attributes " -"with ``__getattr__`` defined." -msgstr "" - -#: ../NEWS:12353 -msgid "" -":gh:`103895`: Improve handling of edge cases in showing " -"``Exception.__notes__``. Ensures that the messages always end with a newline" -" and that string/bytes are not exploded over multiple lines. Patch by Carey " -"Metcalfe." -msgstr "" - -#: ../NEWS:12358 -msgid "" -":gh:`103907`: Don't modify the refcounts of known immortal objects " -"(:const:`True`, :const:`False`, and :const:`None`) in the main interpreter " -"loop." -msgstr "" - -#: ../NEWS:12362 -msgid "" -":gh:`103899`: Provide a helpful hint in the :exc:`TypeError` message when " -"accidentally calling a :term:`module` object that has a callable attribute " -"of the same name (such as :func:`dis.dis` or :class:`datetime.datetime`)." -msgstr "" - -#: ../NEWS:12366 -msgid "" -":gh:`103845`: Remove both line and instruction instrumentation before adding" -" new ones for monitoring, to avoid newly added instrumentation being removed" -" immediately." -msgstr "" - -#: ../NEWS:12370 -msgid "" -":gh:`103763`: Implement :pep:`695`, adding syntactic support for generic " -"classes, generic functions, and type aliases." -msgstr "" - -#: ../NEWS:12373 -msgid "" -"A new ``type X = ...`` syntax is added for type aliases, which resolves at " -"runtime to an instance of the new class ``typing.TypeAliasType``. The value " -"is lazily evaluated and is accessible through the ``.__value__`` attribute. " -"This is implemented as a new AST node ``ast.TypeAlias``." -msgstr "" - -#: ../NEWS:12378 -msgid "" -"New syntax (``class X[T]: ...``, ``def func[T](): ...``) is added for " -"defining generic functions and classes. This is implemented as a new " -"``type_params`` attribute on the AST nodes for classes and functions. This " -"node holds instances of the new AST classes ``ast.TypeVar``, " -"``ast.ParamSpec``, and ``ast.TypeVarTuple``." -msgstr "" - -#: ../NEWS:12384 -msgid "" -"``typing.TypeVar``, ``typing.ParamSpec``, ``typing.ParamSpecArgs``, " -"``typing.ParamSpecKwargs``, ``typing.TypeVarTuple``, and ``typing.Generic`` " -"are now implemented in C rather than Python." -msgstr "" - -#: ../NEWS:12388 -msgid "" -"There are new bytecode instructions ``LOAD_LOCALS``, " -"``LOAD_CLASSDICT_OR_GLOBAL``, and ``LOAD_CLASSDICT_OR_DEREF`` to support " -"correct resolution of names in class namespaces." -msgstr "" - -#: ../NEWS:12392 -msgid "Patch by Eric Traut, Larry Hastings, and Jelle Zijlstra." -msgstr "" - -#: ../NEWS:12394 -msgid "" -":gh:`103801`: Adds three minor linting fixes to the wasm module caught that " -"were caught by ruff." -msgstr "" - -#: ../NEWS:12397 -msgid "" -":gh:`103793`: Optimized asyncio Task creation by deferring expensive string " -"formatting (task name generation) from Task creation to the first time " -"``get_name`` is called. This makes asyncio benchmarks up to 5% faster." -msgstr "" - -#: ../NEWS:12401 -msgid ":gh:`102310`: Change the error range for invalid bytes literals." -msgstr "" - -#: ../NEWS:12403 -msgid "" -":gh:`103590`: Do not wrap a single exception raised from a ``try-except*`` " -"construct in an :exc:`ExceptionGroup`." -msgstr "" - -#: ../NEWS:12406 -msgid "" -":gh:`103650`: Change the perf map format to remove the '0x' prefix from the " -"addresses" -msgstr "" - -#: ../NEWS:12409 -msgid "" -":gh:`102856`: Implement the required C tokenizer changes for PEP 701. Patch " -"by Pablo Galindo Salgado, Lysandros Nikolaou, Batuhan Taskaya, Marta Gómez " -"Macías and sunmy2019." -msgstr "" - -#: ../NEWS:12413 -msgid "" -":gh:`100530`: Clarify the error message raised when the called part of a " -"class pattern isn't actually a class." -msgstr "" - -#: ../NEWS:12416 -msgid "" -":gh:`101517`: Fix bug in line numbers of instructions emitted for " -":keyword:`except* `." -msgstr "" - -#: ../NEWS:12419 -msgid "" -":gh:`103492`: Clarify :exc:`SyntaxWarning` with literal ``is`` comparison by" -" specifying which literal is problematic, since comparisons using ``is`` " -"with e.g. ``None`` and bool literals are idiomatic." -msgstr "" - -#: ../NEWS:12423 -msgid "" -":gh:`87729`: Add :opcode:`LOAD_SUPER_ATTR` (and a specialization for " -"``super().method()``) to speed up ``super().method()`` and ``super().attr``." -" This makes ``super().method()`` roughly 2.3x faster and brings it within " -"20% of the performance of a simple method call. Patch by Vladimir Matveev " -"and Carl Meyer." -msgstr "" - -#: ../NEWS:12429 -msgid "" -":gh:`103488`: Change the internal offset distinguishing yield and return " -"target addresses, so that the instruction pointer is correct for exception " -"handling and other stack unwinding." -msgstr "" - -#: ../NEWS:12433 -msgid "" -":gh:`82012`: The bitwise inversion operator (``~``) on bool is deprecated. " -"It returns the bitwise inversion of the underlying ``int`` representation " -"such that ``bool(~True) == True``, which can be confusing. Use ``not`` for " -"logical negation of bools. In the rare case that you really need the bitwise" -" inversion of the underlying ``int``, convert to int explicitly ``~int(x)``." -msgstr "" - -#: ../NEWS:12440 -msgid "" -":gh:`77757`: Exceptions raised in a typeobject's ``__set_name__`` method are" -" no longer wrapped by a :exc:`RuntimeError`. Context information is added to" -" the exception as a :pep:`678` note." -msgstr "" - -#: ../NEWS:12444 -msgid "" -":gh:`103333`: :exc:`AttributeError` now retains the ``name`` attribute when " -"pickled and unpickled." -msgstr "" - -#: ../NEWS:12447 -msgid "" -":gh:`103242`: Migrate :meth:`~ssl.SSLContext.set_ecdh_curve` method not to " -"use deprecated OpenSSL APIs. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:12450 -msgid "" -":gh:`103323`: We've replaced our use of ``_PyRuntime.tstate_current`` with a" -" thread-local variable. This is a fairly low-level implementation detail, " -"and there should be no change in behavior." -msgstr "" - -#: ../NEWS:12454 -msgid "" -":gh:`84436`: The implementation of PEP-683 which adds Immortal Objects by " -"using a fixed reference count that skips reference counting to make objects " -"truly immutable." -msgstr "" - -#: ../NEWS:12458 -msgid "" -":gh:`102700`: Allow built-in modules to be submodules. This allows " -"submodules to be statically linked into a CPython binary." -msgstr "" - -#: ../NEWS:12461 -msgid ":gh:`103082`: Implement :pep:`669` Low Impact Monitoring for CPython." -msgstr "" - -#: ../NEWS:12463 -msgid "" -":gh:`88691`: Reduce the number of inline :opcode:`CACHE` entries for " -":opcode:`CALL`." -msgstr "" - -#: ../NEWS:12466 -msgid "" -":gh:`102500`: Make the buffer protocol accessible in Python code using the " -"new ``__buffer__`` and ``__release_buffer__`` magic methods. See :pep:`688` " -"for details. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:12470 -msgid "" -":gh:`97933`: :pep:`709`: inline list, dict and set comprehensions to improve" -" performance and reduce bytecode size." -msgstr "" - -#: ../NEWS:12473 -msgid "" -":gh:`99184`: Bypass instance attribute access of ``__name__`` in ``repr`` of" -" :class:`weakref.ref`." -msgstr "" - -#: ../NEWS:12476 -msgid "" -":gh:`98003`: Complex function calls are now faster and consume no C stack " -"space." -msgstr "" - -#: ../NEWS:12479 -msgid "" -":issue:`39610`: ``len()`` for 0-dimensional :class:`memoryview` objects " -"(such as ``memoryview(ctypes.c_uint8(42))``) now raises a :exc:`TypeError`. " -"Previously this returned ``1``, which was not consistent with ``mem_0d[0]`` " -"raising an :exc:`IndexError`." -msgstr "" - -#: ../NEWS:12484 -msgid "" -":issue:`31821`: Fix :func:`!pause_reading` to work when called from " -":func:`!connection_made` in :mod:`asyncio`." -msgstr "" - -#: ../NEWS:12490 -msgid "" -":gh:`104600`: :func:`functools.update_wrapper` now sets the " -"``__type_params__`` attribute (added by :pep:`695`)." -msgstr "" - -#: ../NEWS:12493 -msgid "" -":gh:`104340`: When an ``asyncio`` pipe protocol loses its connection due to " -"an error, and the caller doesn't await ``wait_closed()`` on the " -"corresponding ``StreamWriter``, don't log a warning about an exception that " -"was never retrieved. After all, according to the ``StreamWriter.close()`` " -"docs, the ``wait_closed()`` call is optional (\"not mandatory\")." -msgstr "" - -#: ../NEWS:12500 -msgid "" -":gh:`104555`: Fix issue where an :func:`issubclass` check comparing a class " -"``X`` against a :func:`runtime-checkable protocol " -"` ``Y`` with non-callable members would not cause " -":exc:`TypeError` to be raised if an :func:`isinstance` call had previously " -"been made comparing an instance of ``X`` to ``Y``. This issue was present in" -" edge cases on Python 3.11, but became more prominent in 3.12 due to some " -"unrelated changes that were made to runtime-checkable protocols. Patch by " -"Alex Waygood." -msgstr "" - -#: ../NEWS:12509 -msgid "" -":gh:`104372`: Refactored the ``_posixsubprocess`` internals to avoid Python " -"C API usage between fork and exec when marking ``pass_fds=`` file " -"descriptors inheritable." -msgstr "" - -#: ../NEWS:12513 -msgid "" -":gh:`104484`: Added *case_sensitive* argument to " -":meth:`pathlib.PurePath.match`" -msgstr "" - -#: ../NEWS:12516 -msgid "" -":gh:`75367`: Fix data descriptor detection in " -":func:`inspect.getattr_static`." -msgstr "" - -#: ../NEWS:12519 -msgid "" -":gh:`104536`: Fix a race condition in the internal " -":mod:`multiprocessing.process` cleanup logic that could manifest as an " -"unintended ``AttributeError`` when calling ``process.close()``." -msgstr "" - -#: ../NEWS:12523 -msgid "" -":gh:`103857`: Update datetime deprecations' stracktrace to point to the " -"calling line" -msgstr "" - -#: ../NEWS:12526 -msgid "" -":gh:`101520`: Move the core functionality of the ``tracemalloc`` module in " -"the ``Python/`` folder, leaving just the module wrapper in ``Modules/``." -msgstr "" - -#: ../NEWS:12529 -msgid "" -":gh:`104392`: Remove undocumented and unused ``_paramspec_tvars`` attribute " -"from some classes in :mod:`typing`." -msgstr "" - -#: ../NEWS:12532 -msgid "" -":gh:`102613`: Fix issue where :meth:`pathlib.Path.glob` raised " -":exc:`RecursionError` when walking deep directory trees." -msgstr "" - -#: ../NEWS:12535 -msgid "" -":gh:`103000`: Improve performance of :func:`dataclasses.asdict` for the " -"common case where *dict_factory* is ``dict``. Patch by David C Ellis." -msgstr "" - -#: ../NEWS:12538 -msgid "" -":gh:`104301`: Allow leading whitespace in disambiguated statements in " -":mod:`pdb`." -msgstr "" - -#: ../NEWS:12541 -msgid "" -":gh:`104139`: Teach :func:`urllib.parse.unsplit` to retain the ``\"//\"`` " -"when assembling ``itms-services://?action=generate-bugs`` style `Apple " -"Platform Deployment `_ URLs." -msgstr "" - -#: ../NEWS:12547 -msgid "" -":gh:`104307`: :func:`socket.getnameinfo` now releases the GIL while " -"contacting the DNS server" -msgstr "" - -#: ../NEWS:12550 -msgid "" -":gh:`104310`: Users may now use ``importlib.util.allowing_all_extensions()``" -" (a context manager) to temporarily disable the strict compatibility checks " -"for importing extension modules in subinterpreters." -msgstr "" - -#: ../NEWS:12554 -msgid "" -":gh:`87695`: Fix issue where :meth:`pathlib.Path.glob` raised :exc:`OSError`" -" when it encountered a symlink to an overly long path." -msgstr "" - -#: ../NEWS:12557 -msgid "" -":gh:`104265`: Prevent possible crash by disallowing instantiation of the " -":class:`!_csv.Reader` and :class:`!_csv.Writer` types. The regression was " -"introduced in 3.10.0a4 with PR 23224 (:issue:`14935`). Patch by Radislav " -"Chugunov." -msgstr "" - -#: ../NEWS:12562 -msgid "" -":gh:`102613`: Improve performance of :meth:`pathlib.Path.glob` when " -"expanding recursive wildcards (\"``**``\") by merging adjacent wildcards and" -" de-duplicating results only when necessary." -msgstr "" - -#: ../NEWS:12566 -msgid ":gh:`65772`: Remove unneeded comments and code in turtle.py." -msgstr "" - -#: ../NEWS:12568 -msgid "" -":gh:`90208`: Fixed issue where :meth:`pathlib.Path.glob` returned incomplete" -" results when it encountered a :exc:`PermissionError`. This method now " -"suppresses all :exc:`OSError` exceptions, except those raised from calling " -":meth:`~pathlib.Path.is_dir` on the top-level path." -msgstr "" - -#: ../NEWS:12573 -msgid "" -":gh:`104144`: Optimize :class:`asyncio.TaskGroup` when using " -":func:`asyncio.eager_task_factory`. Skip scheduling a done callback if a " -"TaskGroup task completes eagerly." -msgstr "" - -#: ../NEWS:12577 -msgid "" -":gh:`104144`: Optimize :func:`asyncio.gather` when using " -":func:`asyncio.eager_task_factory` to complete eagerly if all fututres " -"completed eagerly. Avoid scheduling done callbacks for futures that complete" -" eagerly." -msgstr "" - -#: ../NEWS:12582 -msgid "" -":gh:`104114`: Fix issue where :meth:`pathlib.Path.glob` returns paths using " -"the case of non-wildcard segments for corresponding path segments, rather " -"than the real filesystem case." -msgstr "" - -#: ../NEWS:12586 -msgid "" -":gh:`104104`: Improve performance of :meth:`pathlib.Path.glob` by using " -":const:`re.IGNORECASE` to implement case-insensitive matching." -msgstr "" - -#: ../NEWS:12589 -msgid "" -":gh:`104102`: Improve performance of :meth:`pathlib.Path.glob` when " -"evaluating patterns that contain ``'../'`` segments." -msgstr "" - -#: ../NEWS:12592 -msgid "" -":gh:`103822`: Update the return type of ``weekday`` to the newly added Day " -"attribute" -msgstr "" - -#: ../NEWS:12595 -msgid "" -":gh:`103629`: Update the ``repr`` of :class:`typing.Unpack` according to " -":pep:`692`." -msgstr "" - -#: ../NEWS:12598 -msgid "" -":gh:`103963`: Make :mod:`dis` display the names of the args for " -":opcode:`!CALL_INTRINSIC_*`." -msgstr "" - -#: ../NEWS:12601 -msgid "" -":gh:`104035`: Do not ignore user-defined ``__getstate__`` and " -"``__setstate__`` methods for slotted frozen dataclasses." -msgstr "" - -#: ../NEWS:12604 -msgid "" -":gh:`103987`: In :mod:`mmap`, fix several bugs that could lead to access to " -"memory-mapped files after they have been invalidated." -msgstr "" - -#: ../NEWS:12607 -msgid ":gh:`103977`: Improve import time of :mod:`platform` module." -msgstr "" - -#: ../NEWS:12609 -msgid "" -":gh:`88773`: Added :func:`turtle.teleport` to the :mod:`turtle` module to " -"move a turtle to a new point without tracing a line, visible or invisible. " -"Patch by Liam Gersten." -msgstr "" - -#: ../NEWS:12613 -msgid "" -":gh:`103935`: Use :func:`io.open_code` for files to be executed instead of " -"raw :func:`open`" -msgstr "" - -#: ../NEWS:12616 -msgid "" -":gh:`68968`: Fixed garbled output of :meth:`~unittest.TestCase.assertEqual` " -"when an input lacks final newline." -msgstr "" - -#: ../NEWS:12619 -msgid "" -":gh:`100370`: Fix potential :exc:`OverflowError` in " -":meth:`sqlite3.Connection.blobopen` for 32-bit builds. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../NEWS:12623 -msgid "" -":gh:`102628`: Substitute CTRL-D with CTRL-Z in :mod:`sqlite3` CLI banner " -"when running on Windows." -msgstr "" - -#: ../NEWS:12626 -msgid "" -":gh:`103636`: Module-level attributes ``January`` and ``February`` are " -"deprecated from :mod:`calendar`." -msgstr "" - -#: ../NEWS:12629 -msgid "" -":gh:`103583`: Isolate :mod:`!_multibytecodec` and codecs extension modules. " -"Patches by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:12632 -msgid "" -":gh:`103848`: Add checks to ensure that ``[`` bracketed ``]`` hosts found by" -" :func:`urllib.parse.urlsplit` are of IPv6 or IPvFuture format." -msgstr "" - -#: ../NEWS:12635 -msgid ":gh:`103872`: Update the bundled copy of pip to version 23.1.2." -msgstr "" - -#: ../NEWS:12637 -msgid "" -":gh:`99944`: Make :mod:`dis` display the value of oparg of " -":opcode:`!KW_NAMES`." -msgstr "" - -#: ../NEWS:12640 -msgid "" -":gh:`74940`: The C.UTF-8 locale is no longer converted to en_US.UTF-8, " -"enabling the use of UTF-8 encoding on systems which have no locales " -"installed." -msgstr "" - -#: ../NEWS:12644 -msgid "" -":gh:`103861`: Fix ``zipfile.Zipfile`` creating invalid zip files when " -"``force_zip64`` was used to add files to them. Patch by Carey Metcalfe." -msgstr "" - -#: ../NEWS:12647 -msgid "" -":gh:`103857`: Deprecated :meth:`datetime.datetime.utcnow` and " -":meth:`datetime.datetime.utcfromtimestamp`. (Patch by Paul Ganssle)" -msgstr "" - -#: ../NEWS:12650 -msgid "" -":gh:`103839`: Avoid compilation error due to tommath.h not being found when " -"building Tkinter against Tcl 8.7 built with bundled libtommath." -msgstr "" - -#: ../NEWS:12653 -msgid "" -":gh:`103791`: :class:`contextlib.suppress` now supports suppressing " -"exceptions raised as part of an :exc:`ExceptionGroup`. If other exceptions " -"exist on the group, they are re-raised in a group that does not contain the " -"suppressed exceptions." -msgstr "" - -#: ../NEWS:12658 -msgid "" -":gh:`90750`: Use :meth:`datetime.datetime.fromisocalendar` in the " -"implementation of :meth:`datetime.datetime.strptime`, which should now " -"accept only valid ISO dates. (Patch by Paul Ganssle)" -msgstr "" - -#: ../NEWS:12662 -msgid "" -":gh:`103685`: Prepare :meth:`tkinter.Menu.index` for Tk 8.7 so that it does " -"not raise ``TclError: expected integer but got \"\"`` when it should return " -"``None``." -msgstr "" - -#: ../NEWS:12666 -msgid "" -":gh:`81403`: :class:`urllib.request.CacheFTPHandler` no longer raises " -":class:`URLError` if a cached FTP instance is reused. ftplib's endtransfer " -"method calls voidresp to drain the connection to handle FTP instance reuse " -"properly." -msgstr "" - -#: ../NEWS:12671 -msgid "" -":gh:`103699`: Add ``__orig_bases__`` to non-generic TypedDicts, call-based " -"TypedDicts, and call-based NamedTuples. Other TypedDicts and NamedTuples " -"already had the attribute." -msgstr "" - -#: ../NEWS:12675 -msgid ":gh:`103693`: Add convenience variable feature to :mod:`pdb`" -msgstr "" - -#: ../NEWS:12677 -msgid "" -":gh:`92248`: Deprecate ``type``, ``choices``, and ``metavar`` parameters of " -"``argparse.BooleanOptionalAction``." -msgstr "" - -#: ../NEWS:12680 -msgid "" -":gh:`89415`: Add :mod:`socket` constants for source-specific multicast. " -"Patch by Reese Hyde." -msgstr "" - -#: ../NEWS:12683 -msgid "" -":gh:`103673`: :mod:`socketserver` gains ``ForkingUnixStreamServer`` and " -"``ForkingUnixDatagramServer`` classes. Patch by Jay Berry." -msgstr "" - -#: ../NEWS:12686 -msgid ":gh:`103636`: Added Enum for months and days in the calendar module." -msgstr "" - -#: ../NEWS:12688 -msgid "" -":gh:`84976`: Create a new ``Lib/_pydatetime.py`` file that defines the " -"Python version of the ``datetime`` module, and make ``datetime`` import the " -"contents of the new library only if the C implementation is missing. " -"Currently, the full Python implementation is defined and then deleted if the" -" C implementation is not available, slowing down ``import datetime`` " -"unnecessarily." -msgstr "" - -#: ../NEWS:12695 -msgid "" -":gh:`103596`: Attributes/methods are no longer shadowed by same-named enum " -"members, although they may be shadowed by enum.property's." -msgstr "" - -#: ../NEWS:12698 -msgid "" -":gh:`103584`: Updated ``importlib.metadata`` with changes from " -"``importlib_metadata`` 5.2 through 6.5.0, including: Support ``installed-" -"files.txt`` for ``Distribution.files`` when present. ``PackageMetadata`` now" -" stipulates an additional ``get`` method allowing for easy querying of " -"metadata keys that may not be present. ``packages_distributions`` now honors" -" packages and modules with Python modules that not ``.py`` sources (e.g. " -"``.pyc``, ``.so``). Expand protocol for ``PackageMetadata.get_all`` to match" -" the upstream implementation of ``email.message.Message.get_all`` in " -"python/typeshed#9620. Deprecated use of ``Distribution`` without defining " -"abstract methods. Deprecated expectation that " -"``PackageMetadata.__getitem__`` will return ``None`` for missing keys. In " -"the future, it will raise a ``KeyError``." -msgstr "" - -#: ../NEWS:12711 -msgid "" -":gh:`103578`: Fixed a bug where :mod:`pdb` crashes when reading source file " -"with different encoding by replacing :func:`io.open` with " -":func:`io.open_code`. The new method would also call into the hook set by " -":c:func:`PyFile_SetOpenCodeHook`." -msgstr "" - -#: ../NEWS:12716 -msgid "" -":gh:`103556`: Now creating :class:`inspect.Signature` objects with " -"positional-only parameter with a default followed by a positional-or-keyword" -" parameter without one is impossible." -msgstr "" - -#: ../NEWS:12720 -msgid ":gh:`103559`: Update the bundled copy of pip to version 23.1.1." -msgstr "" - -#: ../NEWS:12722 -msgid "" -":gh:`103548`: Improve performance of :meth:`pathlib.Path.absolute` and " -":meth:`~pathlib.Path.cwd` by joining paths only when necessary. Also improve" -" performance of :meth:`pathlib.PurePath.is_absolute` on Posix by skipping " -"path parsing and normalization." -msgstr "" - -#: ../NEWS:12727 -msgid "" -":gh:`103538`: Remove ``_tkinter`` module code guarded by definition of the " -"``TK_AQUA`` macro which was only needed for Tk 8.4.7 or earlier and was " -"never actually defined by any build system or documented for manual use." -msgstr "" - -#: ../NEWS:12731 -msgid ":gh:`103533`: Update :mod:`cProfile` to use PEP 669 API" -msgstr "" - -#: ../NEWS:12733 -msgid "" -":gh:`103525`: Fix misleading exception message when mixed ``str`` and " -"``bytes`` arguments are supplied to :class:`pathlib.PurePath` and " -":class:`~pathlib.Path`." -msgstr "" - -#: ../NEWS:12737 -msgid "" -":gh:`103489`: Add :meth:`~sqlite3.Connection.getconfig` and " -":meth:`~sqlite3.Connection.setconfig` to :class:`~sqlite3.Connection` to " -"make configuration changes to a database connection. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../NEWS:12742 -msgid "" -":gh:`103365`: Set default Flag boundary to ``STRICT`` and fix bitwise " -"operations." -msgstr "" - -#: ../NEWS:12745 -msgid "" -":gh:`103472`: Avoid a potential :exc:`ResourceWarning` in " -":class:`http.client.HTTPConnection` by closing the proxy / tunnel's CONNECT " -"response explicitly." -msgstr "" - -#: ../NEWS:12749 -msgid "" -":gh:`103462`: Fixed an issue with using " -":meth:`~asyncio.WriteTransport.writelines` in :mod:`asyncio` to send very " -"large payloads that exceed the amount of data that can be written in one " -"call to :meth:`socket.socket.send` or :meth:`socket.socket.sendmsg`, " -"resulting in the remaining buffer being left unwritten." -msgstr "" - -#: ../NEWS:12755 -msgid "" -":gh:`103449`: Fix a bug in doc string generation in " -":func:`dataclasses.dataclass`." -msgstr "" - -#: ../NEWS:12758 -msgid "" -":gh:`103092`: Isolate :mod:`!_collections` (apply :pep:`687`). Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../NEWS:12761 -msgid "" -":gh:`103357`: Added support for :class:`logging.Formatter` ``defaults`` " -"parameter to :func:`logging.config.dictConfig` and " -":func:`logging.config.fileConfig`. Patch by Bar Harel." -msgstr "" - -#: ../NEWS:12765 -msgid ":gh:`103092`: Adapt the :mod:`winreg` extension module to :pep:`687`." -msgstr "" - -#: ../NEWS:12767 -msgid "" -":gh:`74690`: The performance of :func:`isinstance` checks against " -":func:`runtime-checkable protocols ` has been " -"considerably improved for protocols that only have a few members. To achieve" -" this improvement, several internal implementation details of the " -":mod:`typing` module have been refactored, including " -"``typing._ProtocolMeta.__instancecheck__``, " -"``typing._is_callable_members_only``, and ``typing._get_protocol_attrs``. " -"Patches by Alex Waygood." -msgstr "" - -#: ../NEWS:12776 -msgid "" -":gh:`74690`: The members of a runtime-checkable protocol are now considered " -"\"frozen\" at runtime as soon as the class has been created. See " -":ref:`\"What's new in Python 3.12\" ` for more " -"details." -msgstr "" - -#: ../NEWS:12781 -msgid "" -":gh:`103256`: Fixed a bug that caused :mod:`hmac` to raise an exception when" -" the requested hash algorithm was not available in OpenSSL despite being " -"available separately as part of ``hashlib`` itself. It now falls back " -"properly to the built-in. This could happen when, for example, your OpenSSL " -"does not include SHA3 support and you want to compute ``hmac.digest(b'K', " -"b'M', 'sha3_256')``." -msgstr "" - -#: ../NEWS:12788 -msgid ":gh:`102778`: Support ``sys.last_exc`` in :mod:`idlelib`." -msgstr "" - -#: ../NEWS:12790 -msgid ":gh:`103285`: Improve performance of :func:`ast.get_source_segment`." -msgstr "" - -#: ../NEWS:12792 -msgid "" -":gh:`103225`: Fix a bug in :mod:`pdb` when displaying line numbers of " -"module-level source code." -msgstr "" - -#: ../NEWS:12795 -msgid ":gh:`103092`: Adapt the :mod:`msvcrt` extension module to :pep:`687`." -msgstr "" - -#: ../NEWS:12797 -msgid "" -":gh:`103092`: Adapt the :mod:`winsound` extension module to :pep:`687`." -msgstr "" - -#: ../NEWS:12799 -msgid ":gh:`93910`: Remove deprecation of enum ``member.member`` access." -msgstr "" - -#: ../NEWS:12801 -msgid "" -":gh:`102978`: Fixes :func:`unittest.mock.patch` not enforcing function " -"signatures for methods decorated with ``@classmethod`` or ``@staticmethod`` " -"when patch is called with ``autospec=True``." -msgstr "" - -#: ../NEWS:12805 -msgid "" -":gh:`103092`: Isolate :mod:`!_socket` (apply :pep:`687`). Patch by Erlend E." -" Aasland." -msgstr "" - -#: ../NEWS:12808 -msgid "" -":gh:`100479`: Add :meth:`pathlib.PurePath.with_segments`, which creates a " -"path object from arguments. This method is called whenever a derivative path" -" is created, such as from :attr:`pathlib.PurePath.parent`. Subclasses may " -"override this method to share information between path objects." -msgstr "" - -#: ../NEWS:12813 -msgid "" -":gh:`103220`: Fix issue where :func:`os.path.join` added a slash when " -"joining onto an incomplete UNC drive with a trailing slash on Windows." -msgstr "" - -#: ../NEWS:12816 -msgid "" -":gh:`103204`: Fixes :mod:`http.server` accepting HTTP requests with HTTP " -"version numbers preceded by '+', or '-', or with digit-separating '_' " -"characters. The length of the version numbers is also constrained." -msgstr "" - -#: ../NEWS:12820 -msgid "" -":gh:`75586`: Fix various Windows-specific issues with ``shutil.which``." -msgstr "" - -#: ../NEWS:12822 -msgid "" -":gh:`103193`: Improve performance of :func:`inspect.getattr_static`. Patch " -"by Alex Waygood." -msgstr "" - -#: ../NEWS:12825 -msgid "" -":gh:`103176`: :func:`sys._current_exceptions` now returns a mapping from " -"thread-id to an exception instance, rather than to a ``(typ, exc, tb)`` " -"tuple." -msgstr "" - -#: ../NEWS:12829 -msgid ":gh:`103143`: Polish the help messages and docstrings of :mod:`pdb`." -msgstr "" - -#: ../NEWS:12831 -msgid "" -":gh:`103015`: Add *entrypoint* keyword-only parameter to " -":meth:`sqlite3.Connection.load_extension`, for overriding the SQLite " -"extension entry point. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:12835 -msgid "" -":gh:`103000`: Improve performance of :func:`dataclasses.astuple` and " -":func:`dataclasses.asdict` in cases where the contents are common Python " -"types." -msgstr "" - -#: ../NEWS:12839 -msgid "" -":gh:`102953`: The extraction methods in :mod:`tarfile`, and " -":func:`shutil.unpack_archive`, have a new a *filter* argument that allows " -"limiting tar features than may be surprising or dangerous, such as creating " -"files outside the destination directory. See :ref:`tarfile-extraction-" -"filter` for details." -msgstr "" - -#: ../NEWS:12845 -msgid "" -":gh:`97696`: Implemented an eager task factory in asyncio. When used as a " -"task factory on an event loop, it performs eager execution of coroutines. " -"Coroutines that are able to complete synchronously (e.g. return or raise " -"without blocking) are returned immediately as a finished task, and the task " -"is never scheduled to the event loop. If the coroutine blocks, the (pending)" -" task is scheduled and returned." -msgstr "" - -#: ../NEWS:12852 -msgid "" -":gh:`81079`: Add *case_sensitive* keyword-only argument to " -":meth:`pathlib.Path.glob` and :meth:`~pathlib.Path.rglob`." -msgstr "" - -#: ../NEWS:12855 -msgid "" -":gh:`101819`: Isolate the :mod:`io` extension module by applying :pep:`687`." -" Patch by Kumar Aditya, Victor Stinner, and Erlend E. Aasland." -msgstr "" - -#: ../NEWS:12858 -msgid ":gh:`91896`: Deprecate :class:`collections.abc.ByteString`" -msgstr "" - -#: ../NEWS:12860 -msgid "" -":gh:`101362`: Speed up :class:`pathlib.Path` construction by omitting the " -"path anchor from the internal list of path parts." -msgstr "" - -#: ../NEWS:12863 -msgid "" -":gh:`102114`: Functions in the :mod:`dis` module that accept a source code " -"string as argument now print a more concise traceback when the string " -"contains a syntax or indentation error." -msgstr "" - -#: ../NEWS:12867 -msgid "" -":gh:`62432`: The :mod:`unittest` runner will now exit with status code 5 if " -"no tests were run. It is common for test runner misconfiguration to fail to " -"find any tests, this should be an error." -msgstr "" - -#: ../NEWS:12871 -msgid "" -":gh:`78079`: Fix incorrect normalization of UNC device path roots, and " -"partial UNC share path roots, in :class:`pathlib.PurePath`. Pathlib no " -"longer appends a trailing slash to such paths." -msgstr "" - -#: ../NEWS:12875 -msgid "" -":gh:`85984`: Add :func:`tty.cfmakeraw` and :func:`tty.cfmakecbreak` to " -":mod:`tty` and modernize, the behavior of :func:`tty.setraw` and " -":func:`tty.setcbreak` to use POSIX.1-2017 Chapter 11 \"General Terminal " -"Interface\" flag masks by default." -msgstr "" - -#: ../NEWS:12880 -msgid "" -":gh:`101688`: Implement :func:`types.get_original_bases` to provide further " -"introspection for types." -msgstr "" - -#: ../NEWS:12883 -msgid "" -":gh:`101640`: :class:`argparse.ArgumentParser` now catches errors when " -"writing messages, such as when :data:`sys.stderr` is ``None``. Patch by Oleg" -" Iarygin." -msgstr "" - -#: ../NEWS:12887 -msgid "" -":gh:`83861`: Fix datetime.astimezone method return value when invoked on a " -"naive datetime instance that represents local time falling in a timezone " -"transition gap. PEP 495 requires that instances with fold=1 produce earlier " -"times than those with fold=0 in this case." -msgstr "" - -#: ../NEWS:12892 -msgid "" -":gh:`89550`: Decrease execution time of some :mod:`gzip` file writes by 15% " -"by adding more appropriate buffering." -msgstr "" - -#: ../NEWS:12895 -msgid "" -":gh:`95299`: Remove the bundled setuptools wheel from ``ensurepip``, and " -"stop installing setuptools in environments created by ``venv``." -msgstr "" - -#: ../NEWS:12898 -msgid "" -":gh:`99353`: Respect the :class:`http.client.HTTPConnection` ``.debuglevel``" -" flag in :class:`urllib.request.AbstractHTTPHandler` when its constructor " -"parameter ``debuglevel`` is not set. And do the same for ``*HTTPS*``." -msgstr "" - -#: ../NEWS:12902 -msgid ":gh:`98040`: Remove the long-deprecated ``imp`` module." -msgstr "" - -#: ../NEWS:12904 -msgid "" -":gh:`97850`: Deprecate :func:`!pkgutil.find_loader` and " -":func:`!pkgutil.get_loader` in favor of :func:`importlib.util.find_spec`." -msgstr "" - -#: ../NEWS:12907 -msgid "" -":gh:`94473`: Flatten arguments in :meth:`tkinter.Canvas.coords`. It now " -"accepts not only ``x1, y1, x2, y2, ...`` and ``[x1, y1, x2, y2, ...]``, but " -"also ``(x1, y1), (x2, y2), ...`` and ``[(x1, y1), (x2, y2), ...]``." -msgstr "" - -#: ../NEWS:12911 -msgid "" -":gh:`98040`: Remove more deprecated importlib APIs: ``find_loader()``, " -"``find_module()``, ``importlib.abc.Finder``, ``pkgutil.ImpImporter``, " -"``pkgutil.ImpLoader``." -msgstr "" - -#: ../NEWS:12915 -msgid ":gh:`96522`: Fix potential deadlock in pty.spawn()" -msgstr "" - -#: ../NEWS:12917 -msgid ":gh:`96534`: Support divert(4) added in FreeBSD 14." -msgstr "" - -#: ../NEWS:12919 -msgid "" -":gh:`87474`: Fix potential file descriptor leaks in " -":class:`subprocess.Popen`." -msgstr "" - -#: ../NEWS:12922 -msgid "" -":gh:`94906`: Support multiple steps in :func:`math.nextafter`. Patch by " -"Shantanu Jain and Matthias Gorgens." -msgstr "" - -#: ../NEWS:12925 -msgid "" -":gh:`51574`: Make :func:`tempfile.mkdtemp` return absolute paths when its " -"*dir* parameter is relative." -msgstr "" - -#: ../NEWS:12928 -msgid "" -":gh:`94518`: Convert private :meth:`!_posixsubprocess.fork_exec` to use " -"Argument Clinic." -msgstr "" - -#: ../NEWS:12931 -msgid "" -":gh:`92184`: When creating zip files using :mod:`zipfile`, ``os.altsep``, if" -" not ``None``, will always be treated as a path separator even when it is " -"not ``/``. Patch by Carey Metcalfe." -msgstr "" - -#: ../NEWS:12935 -msgid "" -":issue:`46797`: Deprecation warnings are now emitted for :class:`!ast.Num`, " -":class:`!ast.Bytes`, :class:`!ast.Str`, :class:`!ast.NameConstant` and " -":class:`!ast.Ellipsis`. These have been documented as deprecated since " -"Python 3.8, and will be removed in Python 3.14." -msgstr "" - -#: ../NEWS:12940 -msgid "" -":issue:`44844`: Enables :mod:`webbrowser` to detect and launch Microsoft " -"Edge browser." -msgstr "" - -#: ../NEWS:12943 -msgid "" -":issue:`45606`: Fixed the bug in :meth:`pathlib.Path.glob` -- previously a " -"dangling symlink would not be found by this method when the pattern is an " -"exact match, but would be found when the pattern contains a wildcard or the " -"recursive wildcard (``**``). With this change, a dangling symlink will be " -"found in both cases." -msgstr "" - -#: ../NEWS:12949 -msgid "" -":issue:`23041`: Add :const:`~csv.QUOTE_STRINGS` and " -":const:`~csv.QUOTE_NOTNULL` to the suite of :mod:`csv` module quoting " -"styles." -msgstr "" - -#: ../NEWS:12952 -msgid "" -":issue:`24964`: Added " -":meth:`http.client.HTTPConnection.get_proxy_response_headers` that provides " -"access to the HTTP headers on a proxy server response to the ``CONNECT`` " -"request." -msgstr "" - -#: ../NEWS:12957 -msgid "" -":issue:`17258`: :mod:`multiprocessing` now supports stronger HMAC algorithms" -" for inter-process connection authentication rather than only HMAC-MD5." -msgstr "" - -#: ../NEWS:12960 -msgid "" -":issue:`39744`: Make :func:`asyncio.subprocess.Process.communicate` close " -"the subprocess's stdin even when called with ``input=None``." -msgstr "" - -#: ../NEWS:12963 -msgid "" -":issue:`22708`: http.client CONNECT method tunnel improvements: Use HTTP 1.1" -" protocol; send a matching Host: header with CONNECT, if one is not " -"provided; convert IDN domain names to Punycode. Patch by Michael Handler." -msgstr "" - -#: ../NEWS:12970 -msgid "" -":gh:`67056`: Document that the effect of registering or unregistering an " -":mod:`atexit` cleanup function from within a registered cleanup function is " -"undefined." -msgstr "" - -#: ../NEWS:12974 -msgid "" -":gh:`103629`: Mention the new way of typing ``**kwargs`` with ``Unpack`` and" -" ``TypedDict`` introduced in :pep:`692`." -msgstr "" - -#: ../NEWS:12977 -msgid "" -":gh:`48241`: Clarifying documentation about the url parameter to " -"urllib.request.urlopen and urllib.request.Request needing to be encoded " -"properly." -msgstr "" - -#: ../NEWS:12981 -msgid "" -":gh:`86094`: Add support for Unicode Path Extra Field in ZipFile. Patch by " -"Yeojin Kim and Andrea Giudiceandrea" -msgstr "" - -#: ../NEWS:12984 -msgid "" -":gh:`99202`: Fix extension type from documentation for compiling in C++20 " -"mode" -msgstr "" - -#: ../NEWS:12990 -msgid "" -":gh:`104494`: Update ``test_pack_configure_in`` and " -"``test_place_configure_in`` for changes to error message formatting in Tk " -"8.7." -msgstr "" - -#: ../NEWS:12994 -msgid "" -":gh:`104461`: Run test_configure_screen on X11 only, since the ``DISPLAY`` " -"environment variable and ``-screen`` option for toplevels are not useful on " -"Tk for Win32 or Aqua." -msgstr "" - -#: ../NEWS:12998 -msgid "" -":gh:`86275`: Added property-based tests to the :mod:`zoneinfo` tests, along " -"with stubs for the ``hypothesis`` interface. (Patch by Paul Ganssle)" -msgstr "" - -#: ../NEWS:13001 -msgid "" -":gh:`103329`: Regression tests for the behaviour of " -"``unittest.mock.PropertyMock`` were added." -msgstr "" - -#: ../NEWS:13004 -msgid ":gh:`102795`: fix use of poll in test_epoll's test_control_and_wait" -msgstr "" - -#: ../NEWS:13006 -msgid "" -":gh:`75729`: Fix the :func:`os.spawn* ` tests failing on Windows " -"when the working directory or interpreter path contains spaces." -msgstr "" - -#: ../NEWS:13012 -msgid "" -":gh:`101282`: BOLT optimization is now applied to the libpython shared " -"library if building a shared library. BOLT instrumentation and application " -"settings can now be influenced via the ``BOLT_INSTRUMENT_FLAGS`` and " -"``BOLT_APPLY_FLAGS`` configure variables." -msgstr "" - -#: ../NEWS:13017 -msgid ":gh:`99017`: ``PYTHON_FOR_REGEN`` now require Python 3.10 or newer." -msgstr "" - -#: ../NEWS:13019 -msgid "" -":gh:`104490`: Define ``.PHONY`` / virtual make targets consistently and " -"properly." -msgstr "" - -#: ../NEWS:13022 -msgid "" -":gh:`104106`: Add gcc fallback of mkfifoat/mknodat for macOS. Patch by " -"Donghee Na." -msgstr "" - -#: ../NEWS:13025 -msgid "" -":gh:`103532`: The ``TKINTER_PROTECT_LOADTK`` macro is no longer defined or " -"used in the ``_tkinter`` module. It was previously only defined when " -"building against Tk 8.4.13 and older, but Tk older than 8.5.12 has been " -"unsupported since :gh:`91152`." -msgstr "" - -#: ../NEWS:13030 -msgid "" -":gh:`99069`: Extended workaround defining ``static_assert`` when missing " -"from the libc headers to all clang and gcc builds. In particular, this fixes" -" building on macOS <= 10.10." -msgstr "" - -#: ../NEWS:13034 -msgid "" -":gh:`100220`: Changed the default value of the ``SHELL`` Makefile variable " -"from ``/bin/sh`` to ``/bin/sh -e`` to ensure that complex recipes correctly " -"fail after an error. Previously, ``make install`` could fail to install some" -" files and yet return a successful result." -msgstr "" - -#: ../NEWS:13039 -msgid ":gh:`90656`: Add platform triplets for 64-bit LoongArch:" -msgstr "" - -#: ../NEWS:13041 -msgid "loongarch64-linux-gnusf" -msgstr "" - -#: ../NEWS:13042 -msgid "loongarch64-linux-gnuf32" -msgstr "" - -#: ../NEWS:13043 -msgid "loongarch64-linux-gnu" -msgstr "" - -#: ../NEWS:13045 -msgid "Patch by Zhang Na." -msgstr "" - -#: ../NEWS:13050 -msgid ":gh:`104623`: Update Windows installer to use SQLite 3.42.0." -msgstr "" - -#: ../NEWS:13052 -msgid "" -":gh:`82814`: Fix a potential ``[Errno 13] Permission denied`` when using " -":func:`shutil.copystat` within Windows Subsystem for Linux (WSL) on a " -"mounted filesystem by adding ``errno.EACCES`` to the list of ignored errors " -"within the internal implementation." -msgstr "" - -#: ../NEWS:13057 -msgid "" -":gh:`103088`: Fix virtual environment :file:`activate` script having " -"incorrect line endings for Cygwin." -msgstr "" - -#: ../NEWS:13060 -msgid "" -":gh:`103088`: Fixes venvs not working in bash on Windows across different " -"disks" -msgstr "" - -#: ../NEWS:13063 -msgid ":gh:`102997`: Update Windows installer to use SQLite 3.41.2." -msgstr "" - -#: ../NEWS:13065 -msgid "" -":gh:`88013`: Fixed a bug where :exc:`TypeError` was raised when calling " -":func:`ntpath.realpath` with a bytes parameter in some cases." -msgstr "" - -#: ../NEWS:13071 -msgid ":gh:`99834`: Update macOS installer to Tcl/Tk 8.6.13." -msgstr "" - -#: ../NEWS:13073 -msgid ":gh:`104623`: Update macOS installer to SQLite 3.42.0." -msgstr "" - -#: ../NEWS:13075 -msgid "" -":gh:`103545`: Add ``os.PRIO_DARWIN_THREAD``, ``os.PRIO_DARWIN_PROCESS``, " -"``os.PRIO_DARWIN_BG`` and ``os.PRIO_DARWIN_NONUI``. These can be used with " -"``os.setpriority`` to run the process at a lower priority and make use of " -"the efficiency cores on Apple Silicon systems." -msgstr "" - -#: ../NEWS:13080 -msgid "" -":gh:`104180`: Support reading SOCKS proxy configuration from macOS System " -"Configuration. Patch by Sam Schott." -msgstr "" - -#: ../NEWS:13083 -msgid "" -":gh:`60436`: update curses textbox to additionally handle backspace using " -"the ``curses.ascii.DEL`` key press." -msgstr "" - -#: ../NEWS:13086 -msgid ":gh:`102997`: Update macOS installer to SQLite 3.41.2." -msgstr "" - -#: ../NEWS:13091 -msgid ":gh:`104499`: Fix completions for Tk Aqua 8.7 (currently blank)." -msgstr "" - -#: ../NEWS:13093 -msgid "" -":gh:`104496`: About prints both tcl and tk versions if different (expected " -"someday)." -msgstr "" - -#: ../NEWS:13096 -msgid ":gh:`88496`: Fix IDLE test hang on macOS." -msgstr "" - -#: ../NEWS:13101 -msgid "" -":gh:`104389`: Argument Clinic C converters now accept the ``unused`` " -"keyword, for wrapping a parameter with :c:macro:`Py_UNUSED`. Patch by Erlend" -" E. Aasland." -msgstr "" - -#: ../NEWS:13108 -msgid "" -":gh:`101291`: Added unstable C API for extracting the value of \"compact\" " -"integers: :c:func:`PyUnstable_Long_IsCompact` and " -":c:func:`PyUnstable_Long_CompactValue`." -msgstr "" - -#: ../NEWS:13112 -msgid "" -":gh:`104109`: We've added ``Py_NewInterpreterFromConfig()`` and " -"``PyInterpreterConfig`` to the public C-API (but not the stable ABI; not yet" -" at least). The new function may be used to create a new interpreter with " -"various features configured. The function was added to support PEP 684 " -"(per-interpreter GIL)." -msgstr "" - -#: ../NEWS:13118 -msgid "" -":gh:`103968`: :c:func:`PyType_FromSpec` and its variants now allow creating " -"classes whose metaclass overrides :c:member:`~PyTypeObject.tp_new`. The " -"``tp_new`` is ignored. This behavior is deprecated and will be disallowed in" -" 3.14+. The new :c:func:`PyType_FromMetaclass` already disallows it." -msgstr "" - -#: ../NEWS:13123 -msgid "" -":gh:`103743`: Add :c:func:`PyUnstable_Object_GC_NewWithExtraData` function " -"that can be used to allocate additional memory after an object for data not " -"managed by Python." -msgstr "" - -#: ../NEWS:13127 -msgid "" -":gh:`103295`: Introduced :c:func:`PyUnstable_WritePerfMapEntry`, " -":c:func:`PyUnstable_PerfMapState_Init` and " -":c:func:`PyUnstable_PerfMapState_Fini`. These allow extension modules (JIT " -"compilers in particular) to write to perf-map files in a thread safe manner." -" The :doc:`../howto/perf_profiling` also uses these APIs to write entries in" -" the perf-map file." -msgstr "" - -#: ../NEWS:13134 -msgid "" -":gh:`103509`: Added C API for extending types whose instance memory layout " -"is opaque: :c:member:`PyType_Spec.basicsize` can now be zero or negative, " -":c:func:`PyObject_GetTypeData` can be used to get subclass-specific data, " -"and :c:macro:`Py_TPFLAGS_ITEMS_AT_END` can be used to safely extend " -"variable-size objects. See :pep:`697` for details." -msgstr "" - -#: ../NEWS:13140 -msgid "" -":gh:`103091`: Add a new C-API function to eagerly assign a version tag to a " -"PyTypeObject: ``PyUnstable_Type_AssignVersionTag()``." -msgstr "" - -#: ../NEWS:13143 -msgid "" -":gh:`101408`: :c:macro:`PyObject_GC_Resize` should calculate preheader size " -"if needed. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:13146 -msgid "" -":gh:`98836`: Add support of more formatting options (left aligning, octals, " -"uppercase hexadecimals, :c:type:`intmax_t`, :c:type:`ptrdiff_t`, " -":c:type:`wchar_t` C strings, variable width and precision) in " -":c:func:`PyUnicode_FromFormat` and :c:func:`PyUnicode_FromFormatV`." -msgstr "" - -#: ../NEWS:13151 -msgid "" -":gh:`96803`: Add unstable C-API functions to get the code object, lasti and " -"line number from the internal ``_PyInterpreterFrame`` in the limited API. " -"The functions are:" -msgstr "" - -#: ../NEWS:13155 -msgid "" -"``PyCodeObject * PyUnstable_InterpreterFrame_GetCode(struct " -"_PyInterpreterFrame *frame)``" -msgstr "" - -#: ../NEWS:13156 -msgid "" -"``int PyUnstable_InterpreterFrame_GetLasti(struct _PyInterpreterFrame " -"*frame)``" -msgstr "" - -#: ../NEWS:13157 -msgid "" -"``int PyUnstable_InterpreterFrame_GetLine(struct _PyInterpreterFrame " -"*frame)``" -msgstr "" - -#: ../NEWS:13161 -msgid "Python 3.12.0 alpha 7" -msgstr "" - -#: ../NEWS:13163 -msgid "*Release date: 2023-04-04*" -msgstr "" - -#: ../NEWS:13168 -msgid "" -":gh:`102192`: Deprecated ``_PyErr_ChainExceptions`` in favour of " -"``_PyErr_ChainExceptions1``." -msgstr "" - -#: ../NEWS:13171 -msgid "" -":gh:`89987`: Reduce the number of inline :opcode:`CACHE` entries for " -":opcode:`BINARY_SUBSCR`." -msgstr "" - -#: ../NEWS:13174 -msgid "" -":gh:`102859`: Removed :opcode:`!JUMP_IF_FALSE_OR_POP` and " -":opcode:`!JUMP_IF_TRUE_OR_POP` instructions." -msgstr "" - -#: ../NEWS:13177 -msgid "" -":gh:`101975`: Fixed ``stacktop`` value on tracing entries to avoid " -"corruption on garbage collection." -msgstr "" - -#: ../NEWS:13180 -msgid "" -":gh:`102778`: Add :data:`sys.last_exc` and deprecate :data:`sys.last_type`, " -":data:`sys.last_value` and :data:`sys.last_traceback`, which hold the same " -"information in its legacy form." -msgstr "" - -#: ../NEWS:13184 -msgid "" -":gh:`100982`: Replace all occurrences of ``COMPARE_AND_BRANCH`` with " -":opcode:`COMPARE_OP`." -msgstr "" - -#: ../NEWS:13187 -msgid ":gh:`102701`: Fix overflow when creating very large dict." -msgstr "" - -#: ../NEWS:13189 -msgid "" -":gh:`102755`: Add :c:func:`PyErr_DisplayException` which takes just an " -"exception instance, to replace the legacy :c:func:`PyErr_Display` which " -"takes the ``(typ, exc, tb)`` triplet." -msgstr "" - -#: ../NEWS:13193 -msgid "" -":gh:`102594`: Add note to exception raised in ``PyErr_SetObject`` when " -"normalization fails." -msgstr "" - -#: ../NEWS:13196 -msgid "" -":gh:`90997`: Shrink the number of inline :opcode:`CACHE` entries used by " -":opcode:`LOAD_GLOBAL`." -msgstr "" - -#: ../NEWS:13199 -msgid "" -":gh:`102491`: Improve import time of ``platform`` by removing IronPython " -"version parsing. The IronPython version parsing was not functional (see " -"https://github.com/IronLanguages/ironpython3/issues/1667)." -msgstr "" - -#: ../NEWS:13203 -msgid "" -":gh:`101291`: Rearrage bits in first field (after header) of PyLongObject. *" -" Bits 0 and 1: 1 - sign. I.e. 0 for positive numbers, 1 for zero and 2 for " -"negative numbers. * Bit 2 reserved (probably for the immortal bit) * Bits 3+" -" the unsigned size." -msgstr "" - -#: ../NEWS:13208 -msgid "" -"This makes a few operations slightly more efficient, and will enable a more " -"compact and faster 2s-complement representation of most ints in future." -msgstr "" - -#: ../NEWS:13212 -msgid "" -":gh:`102397`: Fix segfault from race condition in signal handling during " -"garbage collection. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:13215 -msgid "" -":gh:`102406`: :mod:`codecs` encoding/decoding errors now get the context " -"information (which operation and which codecs) attached as :pep:`678` notes " -"instead of through chaining a new instance of the exception." -msgstr "" - -#: ../NEWS:13219 -msgid "" -":gh:`102281`: Fix potential nullptr dereference and use of uninitialized " -"memory in fileutils. Patch by Max Bachmann." -msgstr "" - -#: ../NEWS:13222 -msgid "" -":gh:`102300`: Reuse operands with refcount of 1 in float specializations of " -"BINARY_OP." -msgstr "" - -#: ../NEWS:13228 -msgid "" -":gh:`102255`: Improve build support for the Xbox. Patch by Max Bachmann." -msgstr "" - -#: ../NEWS:13230 -msgid "" -":gh:`102027`: Fix SSE2 and SSE3 detection in ``_blake2`` internal module. " -"Patch by Max Bachmann." -msgstr "" - -#: ../NEWS:13233 -msgid "" -":gh:`101865`: Deprecate ``co_lnotab`` in code objects, schedule it for " -"removal in Python 3.14" -msgstr "" - -#: ../NEWS:13236 -msgid "" -":issue:`1635741`: Adapt :mod:`!_pickle` to :pep:`687`. Patch by Mohamed " -"Koubaa and Erlend Aasland." -msgstr "" - -#: ../NEWS:13242 -msgid "" -":gh:`103085`: Pure python :func:`locale.getencoding` will not warn " -"deprecation." -msgstr "" - -#: ../NEWS:13245 -msgid "" -":gh:`103068`: It's no longer possible to register conditional breakpoints in" -" :class:`~pdb.Pdb` that raise :exc:`SyntaxError`. Patch by Tian Gao." -msgstr "" - -#: ../NEWS:13248 -msgid ":gh:`102549`: Don't ignore exceptions in member type creation." -msgstr "" - -#: ../NEWS:13250 -msgid "" -":gh:`103056`: Ensure final ``_generate_next_value_`` is a ``staticmethod``." -msgstr "" - -#: ../NEWS:13252 -msgid "" -":gh:`103046`: Display current line label correctly in :mod:`dis` when " -"``show_caches`` is False and ``lasti`` points to a CACHE entry." -msgstr "" - -#: ../NEWS:13255 -msgid "" -":gh:`102433`: :func:`isinstance` checks against :func:`runtime-checkable " -"protocols ` now use :func:`inspect.getattr_static`" -" rather than :func:`hasattr` to lookup whether attributes exist. This means " -"that descriptors and :meth:`~object.__getattr__` methods are no longer " -"unexpectedly evaluated during ``isinstance()`` checks against runtime-" -"checkable protocols. However, it may also mean that some objects which used " -"to be considered instances of a runtime-checkable protocol may no longer be " -"considered instances of that protocol on Python 3.12+, and vice versa. Most " -"users are unlikely to be affected by this change. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:13266 -msgid "" -":gh:`103023`: It's no longer possible to register expressions to display in " -":class:`~pdb.Pdb` that raise :exc:`SyntaxError`. Patch by Tian Gao." -msgstr "" - -#: ../NEWS:13269 -msgid "" -":gh:`102947`: Improve traceback when :func:`dataclasses.fields` is called on" -" a non-dataclass. Patch by Alex Waygood" -msgstr "" - -#: ../NEWS:13272 -msgid "" -":gh:`102780`: The :class:`asyncio.Timeout` context manager now works " -"reliably even when performing cleanup due to task cancellation. Previously " -"it could raise a :exc:`~asyncio.CancelledError` instead of an " -":exc:`~asyncio.TimeoutError` in such cases." -msgstr "" - -#: ../NEWS:13277 -msgid "" -":gh:`102871`: Remove support for obsolete browsers from :mod:`webbrowser`. " -"Removed browsers include Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape," -" Firebird, and Firefox versions 35 and below." -msgstr "" - -#: ../NEWS:13281 -msgid "" -":gh:`102839`: Improve performance of :func:`math.log` arguments handling by " -"removing the argument clinic." -msgstr "" - -#: ../NEWS:13284 -msgid "" -":gh:`102828`: Add the ``onexc`` arg to :func:`shutil.rmtree`, which is like " -"``onerror`` but expects an exception instance rather than an exc_info tuple." -" Deprecate ``onerror``." -msgstr "" - -#: ../NEWS:13288 -msgid "" -":gh:`88965`: typing: Fix a bug relating to substitution in custom classes " -"generic over a :class:`~typing.ParamSpec`. Previously, if the ``ParamSpec`` " -"was substituted with a parameters list that itself contained a " -":class:`~typing.TypeVar`, the ``TypeVar`` in the parameters list could not " -"be subsequently substituted. This is now fixed." -msgstr "" - -#: ../NEWS:13294 -msgid "Patch by Nikita Sobolev." -msgstr "" - -#: ../NEWS:13296 -msgid "" -":gh:`76846`: Fix issue where ``__new__()`` and ``__init__()`` methods of " -":class:`pathlib.PurePath` and :class:`~pathlib.Path` subclasses were not " -"called in some circumstances." -msgstr "" - -#: ../NEWS:13300 -msgid "" -":gh:`78530`: :func:`asyncio.wait` now accepts generators yielding tasks. " -"Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:13303 -msgid "" -":gh:`102748`: :func:`asyncio.iscoroutine` now returns ``False`` for " -"generators as :mod:`asyncio` does not support legacy generator-based " -"coroutines. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:13307 -msgid "" -":gh:`102670`: Optimized fmean(), correlation(), covariance(), and " -"linear_regression() using the new math.sumprod() function." -msgstr "" - -#: ../NEWS:13310 -msgid "" -":gh:`102615`: Typing: Improve the ``repr`` of generic aliases for classes " -"generic over a :class:`~typing.ParamSpec`. (Use square brackets to represent" -" a parameter list.)" -msgstr "" - -#: ../NEWS:13314 -msgid "" -":gh:`100112`: :meth:`asyncio.Task.get_coro` now always returns a coroutine " -"when wrapping an awaitable object. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:13317 -msgid "" -":gh:`102578`: Speed up setting or deleting mutable attributes on non-" -"dataclass subclasses of frozen dataclasses. Due to the implementation of " -"``__setattr__`` and ``__delattr__`` for frozen dataclasses, this previously " -"had a time complexity of *O*\\ (*n*). It now has a time complexity of *O*\\ " -"(1)." -msgstr "" - -#: ../NEWS:13323 -msgid "" -":gh:`102519`: Add :func:`os.listdrives`, :func:`os.listvolumes` and " -":func:`os.listmounts` functions on Windows for enumerating drives, volumes " -"and mount points" -msgstr "" - -#: ../NEWS:13327 -msgid "" -":gh:`74468`: Attribute name of the extracted :mod:`tarfile` file object now " -"holds filename of itself rather than of the archive it is contained in. " -"Patch by Oleg Iarygin." -msgstr "" - -#: ../NEWS:13331 -msgid "" -":gh:`102378`: Private helper method " -"``inspect._signature_strip_non_python_syntax`` will no longer strip ``/`` " -"from the input string." -msgstr "" - -#: ../NEWS:13335 -msgid "" -":gh:`79940`: Add :func:`inspect.getasyncgenstate` and " -":func:`inspect.getasyncgenlocals`. Patch by Thomas Krennwallner." -msgstr "" - -#: ../NEWS:13338 -msgid "" -":gh:`102103`: Add ``module`` argument to :func:`dataclasses.make_dataclass` " -"and make classes produced by it pickleable." -msgstr "" - -#: ../NEWS:13341 -msgid "" -":gh:`102069`: Fix ``__weakref__`` descriptor generation for custom " -"dataclasses." -msgstr "" - -#: ../NEWS:13344 -msgid "" -":gh:`102038`: Skip a ``stat`` in :mod:`site` if we have already found a " -"``pyvenv.cfg``" -msgstr "" - -#: ../NEWS:13347 -msgid "" -":gh:`98886`: Fix issues when defining dataclasses that have fields with " -"specific underscore names that aren't clearly reserved by " -":mod:`dataclasses`." -msgstr "" - -#: ../NEWS:13351 -msgid "" -":gh:`101673`: Fix a :mod:`pdb` bug where ``ll`` clears the changes to local " -"variables." -msgstr "" - -#: ../NEWS:13354 -msgid ":gh:`101313`: Added -h and --help arguments to the webbrowser CLI" -msgstr "" - -#: ../NEWS:13356 -msgid "" -":gh:`100372`: :meth:`ssl.SSLContext.load_verify_locations` no longer " -"incorrectly accepts some cases of trailing data when parsing DER." -msgstr "" - -#: ../NEWS:13359 -msgid "" -":gh:`89727`: Fix pathlib.Path.walk RecursionError on deep directory trees by" -" rewriting it using iteration instead of recursion." -msgstr "" - -#: ../NEWS:13362 -msgid "" -":gh:`100131`: Added an optional ``delete`` keyword argument to " -":class:`tempfile.TemporaryDirectory`." -msgstr "" - -#: ../NEWS:13365 -msgid "" -":gh:`48330`: Added ``--durations`` command line option, showing the N " -"slowest test cases. :class:`unittest.TextTestRunner` and " -":class:`unittest.TextTestResult` constructors accept a new *durations* " -"keyword argument. Subclasses should take this into account or accept " -"``**kwargs``. Added :meth:`unittest.TestResult.addDuration` method and " -":attr:`unittest.TestResult.collectedDurations` attribute." -msgstr "" - -#: ../NEWS:13372 -msgid "(Contributed by Giampaolo Rodola)" -msgstr "" - -#: ../NEWS:13374 -msgid "" -":gh:`98169`: Fix :func:`dataclasses.astuple` crash when " -":class:`collections.defaultdict` is present in the attributes." -msgstr "" - -#: ../NEWS:13377 -msgid "" -":gh:`96931`: Fix incorrect results from :meth:`ssl.SSLSocket.shared_ciphers`" -msgstr "" - -#: ../NEWS:13379 -msgid "" -":gh:`95495`: When built against OpenSSL 3.0, the :mod:`ssl` module had a bug" -" where it reported unauthenticated EOFs (i.e. without close_notify) as a " -"clean TLS-level EOF. It now raises :exc:`~ssl.SSLEOFError`, matching the " -"behavior in previous versions of OpenSSL. The " -":attr:`~ssl.SSLContext.options` attribute on :class:`~ssl.SSLContext` also " -"no longer includes :const:`~ssl.OP_IGNORE_UNEXPECTED_EOF` by default. This " -"option may be set to specify the previous OpenSSL 3.0 behavior." -msgstr "" - -#: ../NEWS:13387 -msgid "" -":gh:`94684`: Now :func:`uuid.uuid3` and :func:`uuid.uuid5` functions support" -" :class:`bytes` objects as their *name* argument." -msgstr "" - -#: ../NEWS:13390 -msgid "" -":gh:`94440`: Fix a :mod:`concurrent.futures.process` bug where " -"``ProcessPoolExecutor`` shutdown could hang after a future has been quickly " -"submitted and canceled." -msgstr "" - -#: ../NEWS:13394 -msgid "" -":gh:`72346`: Added deprecation warning to *isdst* parameter of " -":func:`email.utils.localtime`." -msgstr "" - -#: ../NEWS:13397 -msgid "" -":issue:`36305`: Fix handling of Windows filenames that resemble drives, such" -" as ``./a:b``, in :mod:`pathlib`." -msgstr "" - -#: ../NEWS:13403 -msgid "" -":gh:`103112`: Add docstring to :meth:`http.client.HTTPResponse.read` to fix " -"``pydoc`` output." -msgstr "" - -#: ../NEWS:13409 -msgid ":gh:`102980`: Improve test coverage on :mod:`pdb`." -msgstr "" - -#: ../NEWS:13411 -msgid "" -":gh:`102537`: Adjust the error handling strategy in " -"``test_zoneinfo.TzPathTest.python_tzpath_context``. Patch by Paul Ganssle." -msgstr "" - -#: ../NEWS:13414 -msgid ":gh:`101377`: Improved test_locale_calendar_formatweekday of calendar." -msgstr "" - -#: ../NEWS:13419 -msgid "" -":gh:`102973`: Add a dev container (along with accompanying Dockerfile) for " -"development purposes." -msgstr "" - -#: ../NEWS:13422 -msgid ":gh:`102711`: Fix ``-Wstrict-prototypes`` compiler warnings." -msgstr "" - -#: ../NEWS:13427 -msgid "" -":gh:`102690`: Update :mod:`webbrowser` to fall back to Microsoft Edge " -"instead of Internet Explorer." -msgstr "" - -#: ../NEWS:13430 -msgid "" -":gh:`99726`: Improves correctness of stat results for Windows, and uses " -"faster API when available" -msgstr "" - -#: ../NEWS:13436 -msgid ":gh:`102809`: ``Misc/gdbinit`` was removed." -msgstr "" - -#: ../NEWS:13441 -msgid "" -":gh:`102013`: Add a new (unstable) C-API function for iterating over GC'able" -" objects using a callback: ``PyUnstable_VisitObjects``." -msgstr "" - -#: ../NEWS:13446 -msgid "Python 3.12.0 alpha 6" -msgstr "" - -#: ../NEWS:13448 -msgid "*Release date: 2023-03-07*" -msgstr "" - -#: ../NEWS:13453 -msgid "" -":gh:`99108`: Replace builtin hashlib implementations of MD5 and SHA1 with " -"verified ones from the HACL* project." -msgstr "" - -#: ../NEWS:13456 -msgid "" -":gh:`101727`: Updated the OpenSSL version used in Windows and macOS binary " -"release builds to 1.1.1t to address :cve:`2023-0286`, :cve:`2022-4303`, and " -":cve:`2022-4303` per `the OpenSSL 2023-02-07 security advisory " -"`_." -msgstr "" - -#: ../NEWS:13461 -msgid "" -":gh:`99108`: Replace the builtin :mod:`hashlib` implementations of SHA2-384 " -"and SHA2-512 originally from LibTomCrypt with formally verified, side-" -"channel resistant code from the `HACL* `_ project. The builtins remain a fallback only used when OpenSSL does" -" not provide them." -msgstr "" - -#: ../NEWS:13467 -msgid "" -":gh:`101283`: :class:`subprocess.Popen` now uses a safer approach to find " -"``cmd.exe`` when launching with ``shell=True``. Patch by Eryk Sun, based on " -"a patch by Oleg Iarygin." -msgstr "" - -#: ../NEWS:13474 -msgid "" -":gh:`102493`: Fix regression in semantics of normalisation in " -"``PyErr_SetObject``." -msgstr "" - -#: ../NEWS:13477 -msgid "" -":gh:`102416`: Do not memoize incorrectly automatically generated loop rules " -"in the parser. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:13480 -msgid "" -":gh:`102356`: Fix a bug that caused a crash when deallocating deeply nested " -"filter objects. Patch by Marta Gómez Macías." -msgstr "" - -#: ../NEWS:13483 -msgid "" -":gh:`102336`: Cleanup Windows 7 specific special handling. Patch by Max " -"Bachmann." -msgstr "" - -#: ../NEWS:13486 -msgid "" -":gh:`102250`: Fixed a segfault occurring when the interpreter calls a " -"``__bool__`` method that raises." -msgstr "" - -#: ../NEWS:13489 -msgid "" -":gh:`102126`: Fix deadlock at shutdown when clearing thread states if any " -"finalizer tries to acquire the runtime head lock. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:13492 -msgid "" -":gh:`102027`: Use ``GetCurrentProcessId`` on Windows when ``getpid`` is " -"unavailable. Patch by Max Bachmann." -msgstr "" - -#: ../NEWS:13495 -msgid "" -":gh:`102056`: Fix error handling bugs in interpreter's exception printing " -"code, which could cause a crash on infinite recursion." -msgstr "" - -#: ../NEWS:13498 -msgid "" -":gh:`100982`: Restrict the scope of the :opcode:`FOR_ITER_RANGE` instruction" -" to the scope of the original :opcode:`FOR_ITER` instruction, to allow " -"instrumentation." -msgstr "" - -#: ../NEWS:13502 -msgid "" -":gh:`101967`: Fix possible segfault in ``positional_only_passed_as_keyword``" -" function, when new list created." -msgstr "" - -#: ../NEWS:13505 -msgid "" -":gh:`101952`: Fix possible segfault in ``BUILD_SET`` opcode, when new set " -"created." -msgstr "" - -#: ../NEWS:13508 -msgid "" -":gh:`74895`: :mod:`socket.getaddrinfo` no longer raises " -":class:`OverflowError` for :class:`int` **port** values outside of the C " -"long range. Out of range values are left up to the underlying string based C" -" library API to report. A :class:`socket.gaierror` ``SAI_SERVICE`` may occur" -" instead, or no error at all as not all platform C libraries generate an " -"error." -msgstr "" - -#: ../NEWS:13515 -msgid "" -":gh:`101799`: Add :opcode:`CALL_INTRINSIC_2` and use it instead of " -":opcode:`!PREP_RERAISE_STAR`." -msgstr "" - -#: ../NEWS:13518 -msgid "" -":gh:`101857`: Fix xattr support detection on Linux systems by widening the " -"check to linux, not just glibc. This fixes support for musl." -msgstr "" - -#: ../NEWS:13521 -msgid "" -":gh:`84783`: Make the slice object hashable. Patch by Will Bradshaw and " -"Furkan Onder." -msgstr "" - -#: ../NEWS:13524 -msgid "" -":gh:`87849`: Change the ``SEND`` instruction to leave the receiver on the " -"stack. This allows the specialized form of ``SEND`` to skip the chain of C " -"calls and jump directly to the ``RESUME`` in the generator or coroutine." -msgstr "" - -#: ../NEWS:13528 -msgid "" -":gh:`101765`: Fix SystemError / segmentation fault in iter ``__reduce__`` " -"when internal access of ``builtins.__dict__`` keys mutates the iter object." -msgstr "" - -#: ../NEWS:13532 -msgid "" -":gh:`101430`: Update :mod:`tracemalloc` to handle presize of object " -"properly. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:13535 -msgid "" -":gh:`101696`: Invalidate type version tag in ``_PyStaticType_Dealloc`` for " -"static types, avoiding bug where a false cache hit could crash the " -"interpreter. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:13539 -msgid ":gh:`101632`: Adds a new :opcode:`RETURN_CONST` instruction." -msgstr "" - -#: ../NEWS:13541 -msgid "" -":gh:`100719`: Remove gi_code field from generator (and coroutine and async " -"generator) objects as it is redundant. The frame already includes a " -"reference to the code object." -msgstr "" - -#: ../NEWS:13545 -msgid "" -":gh:`98627`: When an interpreter is configured to check (and only then), " -"importing an extension module will now fail when the extension does not " -"support multiple interpreters (i.e. doesn't implement PEP 489 multi-phase " -"init). This does not apply to the main interpreter, nor to subinterpreters " -"created with ``Py_NewInterpreter()``." -msgstr "" - -#: ../NEWS:13554 -msgid "" -":gh:`102302`: Micro-optimise hashing of :class:`inspect.Parameter`, reducing" -" the time it takes to hash an instance by around 40%." -msgstr "" - -#: ../NEWS:13557 -msgid "" -":gh:`101979`: Fix a bug where parentheses in the ``metavar`` argument to " -":meth:`argparse.ArgumentParser.add_argument` were dropped. Patch by Yeojin " -"Kim." -msgstr "" - -#: ../NEWS:13561 -msgid "" -":gh:`91038`: :meth:`platform.platform` now has boolean default arguments." -msgstr "" - -#: ../NEWS:13563 -msgid "" -":gh:`81652`: Add :const:`mmap.MAP_ALIGNED_SUPER` FreeBSD and " -":const:`mmap.MAP_CONCEAL` OpenBSD constants to :mod:`mmap`. Patch by Yeojin " -"Kim." -msgstr "" - -#: ../NEWS:13567 -msgid ":gh:`102179`: Fix :func:`os.dup2` error message for negative fds." -msgstr "" - -#: ../NEWS:13569 -msgid "" -":gh:`101961`: For the binary mode, :func:`fileinput.hookcompressed` doesn't " -"set the ``encoding`` value even if the value is ``None``. Patch by Gihwan " -"Kim." -msgstr "" - -#: ../NEWS:13573 -msgid "" -":gh:`101936`: The default value of ``fp`` becomes :class:`io.BytesIO` if " -":exc:`~urllib.error.HTTPError` is initialized without a designated ``fp`` " -"parameter. Patch by Long Vo." -msgstr "" - -#: ../NEWS:13577 -msgid "" -":gh:`101566`: In zipfile, sync Path with `zipp 3.14 " -"`_, including " -"fix for extractall on the underlying zipfile after being wrapped in " -"``Path``." -msgstr "" - -#: ../NEWS:13582 -msgid "" -":gh:`97930`: Apply changes from `importlib_resources 5.12 " -"`_, including fix " -"for ``MultiplexedPath`` to support directories in multiple namespaces " -"(python/importlib_resources#265)." -msgstr "" - -#: ../NEWS:13587 -msgid ":gh:`101997`: Upgrade pip wheel bundled with ensurepip (pip 23.0.1)" -msgstr "" - -#: ../NEWS:13589 -msgid "" -":gh:`99108`: The built-in extension modules for :mod:`hashlib` SHA2 " -"algorithms, used when OpenSSL does not provide them, now live in a single " -"internal ``_sha2`` module instead of separate ``_sha256`` and ``_sha512`` " -"modules." -msgstr "" - -#: ../NEWS:13594 -msgid "" -":gh:`101892`: Callable iterators no longer raise :class:`SystemError` when " -"the callable object exhausts the iterator but forgets to either return a " -"sentinel value or raise :class:`StopIteration`." -msgstr "" - -#: ../NEWS:13598 -msgid "" -":gh:`87634`: Remove locking behavior from :func:`functools.cached_property`." -msgstr "" - -#: ../NEWS:13600 -msgid "" -":gh:`97786`: Fix potential undefined behaviour in corner cases of floating-" -"point-to-time conversions." -msgstr "" - -#: ../NEWS:13603 -msgid "" -":gh:`101517`: Fixed bug where :mod:`bdb` looks up the source line with " -":mod:`linecache` with a ``lineno=None``, which causes it to fail with an " -"unhandled exception." -msgstr "" - -#: ../NEWS:13607 -msgid "" -":gh:`101773`: Optimize :class:`fractions.Fraction` for small components. The" -" private argument ``_normalize`` of the :class:`fractions.Fraction` " -"constructor has been removed." -msgstr "" - -#: ../NEWS:13611 -msgid "" -":gh:`101693`: In :meth:`sqlite3.Cursor.execute`, :exc:`DeprecationWarning` " -"is now emitted when :ref:`named placeholders ` are " -"used together with parameters supplied as a :term:`sequence` instead of as a" -" :class:`dict`. Starting from Python 3.14, using named placeholders with " -"parameters supplied as a sequence will raise a " -":exc:`~sqlite3.ProgrammingError`. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:13618 -msgid "" -":gh:`101446`: Change repr of :class:`collections.OrderedDict` to use regular" -" dictionary formatting instead of pairs of keys and values." -msgstr "" - -#: ../NEWS:13621 -msgid "" -":gh:`101362`: Speed up :class:`pathlib.PurePath` construction by handling " -"arguments more uniformly. When a :class:`pathlib.Path` argument is supplied," -" we use its string representation rather than joining its parts with " -":func:`os.path.join`." -msgstr "" - -#: ../NEWS:13626 -msgid "" -":gh:`101362`: Speed up :class:`pathlib.PurePath` construction by calling " -":func:`os.path.join` only when two or more arguments are given." -msgstr "" - -#: ../NEWS:13629 -msgid "" -":gh:`101362`: Speed up :class:`pathlib.Path` construction by running the " -"path flavour compatibility check only when pathlib is imported." -msgstr "" - -#: ../NEWS:13632 -msgid "" -":gh:`85984`: Refactored the implementation of :func:`pty.fork` to use " -":func:`os.login_tty`." -msgstr "" - -#: ../NEWS:13635 -msgid "" -"A :exc:`DeprecationWarning` is now raised by ``pty.master_open()`` and " -"``pty.slave_open()``. They were undocumented and deprecated long long ago in" -" the docstring in favor of :func:`pty.openpty`." -msgstr "" - -#: ../NEWS:13639 -msgid "" -":gh:`101561`: Add a new decorator :func:`typing.override`. See :pep:`698` " -"for details. Patch by Steven Troxler." -msgstr "" - -#: ../NEWS:13642 -msgid ":gh:`63301`: Set exit code when :mod:`tabnanny` CLI exits on error." -msgstr "" - -#: ../NEWS:13644 -msgid "" -":gh:`101360`: Fix anchor matching in :meth:`pathlib.PureWindowsPath.match`. " -"Path and pattern anchors are now matched with :mod:`fnmatch`, just like " -"other path parts. This allows patterns such as ``\"*:/Users/*\"`` to be " -"matched." -msgstr "" - -#: ../NEWS:13649 -msgid "" -":gh:`101277`: Remove global state from :mod:`itertools` module (:pep:`687`)." -" Patches by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:13652 -msgid "" -":gh:`100809`: Fix handling of drive-relative paths (like 'C:' and 'C:foo') " -"in :meth:`pathlib.Path.absolute`. This method now uses the OS API to " -"retrieve the correct current working directory for the drive." -msgstr "" - -#: ../NEWS:13656 -msgid "" -":gh:`99138`: Apply :pep:`687` to :mod:`zoneinfo`. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../NEWS:13658 -msgid "" -":gh:`96764`: :func:`asyncio.wait_for` now uses :func:`asyncio.timeout` as " -"its underlying implementation. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:13661 -msgid "" -":gh:`88233`: Correctly preserve \"extra\" fields in ``zipfile`` regardless " -"of their ordering relative to a zip64 \"extra.\"" -msgstr "" - -#: ../NEWS:13664 -msgid "" -":issue:`23224`: Fix segfaults when creating :class:`lzma.LZMADecompressor` " -"and :class:`bz2.BZ2Decompressor` objects without calling ``__init__()``, and" -" fix leakage of locks and internal buffers when calling the ``__init__()`` " -"methods of :class:`lzma.LZMADecompressor`, :class:`lzma.LZMACompressor`, " -":class:`bz2.BZ2Compressor`, and :class:`bz2.BZ2Decompressor` objects " -"multiple times." -msgstr "" - -#: ../NEWS:13674 -msgid "" -":gh:`85417`: Update :mod:`cmath` documentation to clarify behaviour on " -"branch cuts." -msgstr "" - -#: ../NEWS:13677 -msgid "" -":gh:`97725`: Fix :meth:`asyncio.Task.print_stack` description for " -"``file=None``. Patch by Oleg Iarygin." -msgstr "" - -#: ../NEWS:13683 -msgid "" -":gh:`102019`: Fix deadlock on shutdown if " -"``test_current_{exception,frames}`` fails. Patch by Jacob Bower." -msgstr "" - -#: ../NEWS:13686 -msgid ":gh:`85984`: Utilize new \"winsize\" functions from termios in pty tests." -msgstr "" - -#: ../NEWS:13688 -msgid "" -":gh:`89792`: ``test_tools`` now copies up to 10x less source data to a " -"temporary directory during the ``freeze`` test by ignoring git metadata and " -"other artifacts. It also limits its python build parallelism based on " -"os.cpu_count instead of hard coding it as 8 cores." -msgstr "" - -#: ../NEWS:13696 -msgid "" -":gh:`99942`: On Android, in a static build, python-config in embed mode no " -"longer incorrectly reports a library to link to." -msgstr "" - -#: ../NEWS:13699 -msgid "" -":gh:`99942`: On Android, python.pc now correctly reports the library to link" -" to, the same as python-config.sh." -msgstr "" - -#: ../NEWS:13702 -msgid "" -":gh:`100221`: Fix creating install directories in ``make sharedinstall`` if " -"they exist outside ``DESTDIR`` already." -msgstr "" - -#: ../NEWS:13705 -msgid "" -":gh:`96821`: Explicitly mark C extension modules that need defined signed " -"integer overflow, and add a configure option :option:`--with-strict-" -"overflow`. Patch by Matthias Görgens and Shantanu Jain." -msgstr "" - -#: ../NEWS:13713 -msgid "" -":gh:`102344`: Implement ``winreg.QueryValue`` using ``QueryValueEx`` and " -"``winreg.SetValue`` using ``SetValueEx``. Patch by Max Bachmann." -msgstr "" - -#: ../NEWS:13716 -msgid "" -":gh:`101881`: Handle read and write operations on non-blocking pipes " -"properly on Windows." -msgstr "" - -#: ../NEWS:13719 -msgid "" -":gh:`101881`: Add support for the os.get_blocking() and os.set_blocking() " -"functions on Windows." -msgstr "" - -#: ../NEWS:13722 -msgid "" -":gh:`101849`: Ensures installer will correctly upgrade existing ``py.exe`` " -"launcher installs." -msgstr "" - -#: ../NEWS:13725 -msgid "" -":gh:`101763`: Updates copy of libffi bundled with Windows installs to 3.4.4." -msgstr "" - -#: ../NEWS:13727 -msgid ":gh:`101759`: Update Windows installer to SQLite 3.40.1." -msgstr "" - -#: ../NEWS:13729 -msgid "" -":gh:`101614`: Correctly handle extensions built against debug binaries that " -"reference ``python3_d.dll``." -msgstr "" - -#: ../NEWS:13732 -msgid "" -":gh:`101196`: The functions ``os.path.isdir``, ``os.path.isfile``, " -"``os.path.islink`` and ``os.path.exists`` are now 13% to 28% faster on " -"Windows, by making fewer Win32 API calls." -msgstr "" - -#: ../NEWS:13739 -msgid ":gh:`101759`: Update macOS installer to SQLite 3.40.1." -msgstr "" - -#: ../NEWS:13744 -msgid "" -":gh:`101907`: Removes use of non-standard C++ extension in public header " -"files." -msgstr "" - -#: ../NEWS:13747 -msgid "" -":gh:`99293`: Document that the Py_TPFLAGS_VALID_VERSION_TAG is an internal " -"feature, should not be used, and will be removed." -msgstr "" - -#: ../NEWS:13750 -msgid "" -":gh:`101578`: Add :c:func:`PyErr_GetRaisedException` and " -":c:func:`PyErr_SetRaisedException` for saving and restoring the current " -"exception. These functions return and accept a single exception object, " -"rather than the triple arguments of the now-deprecated :c:func:`PyErr_Fetch`" -" and :c:func:`PyErr_Restore`. This is less error prone and a bit more " -"efficient." -msgstr "" - -#: ../NEWS:13757 -msgid "" -"Add :c:func:`PyException_GetArgs` and :c:func:`PyException_SetArgs` as " -"convenience functions for retrieving and modifying the " -":attr:`~BaseException.args` passed to the exception's constructor." -msgstr "" - -#: ../NEWS:13761 -msgid "" -":gh:`91744`: Introduced the *Unstable C API tier*, marking APi that is " -"allowed to change in minor releases without a deprecation period. See " -":pep:`689` for details." -msgstr "" - -#: ../NEWS:13767 -msgid "Python 3.12.0 alpha 5" -msgstr "" - -#: ../NEWS:13769 -msgid "*Release date: 2023-02-07*" -msgstr "" - -#: ../NEWS:13774 -msgid "" -":gh:`99108`: Replace the builtin :mod:`hashlib` implementations of SHA2-224 " -"and SHA2-256 originally from LibTomCrypt with formally verified, side-" -"channel resistant code from the `HACL* `_ project. The builtins remain a fallback only used when OpenSSL does" -" not provide them." -msgstr "" - -#: ../NEWS:13783 -msgid "" -":gh:`92173`: Fix the ``defs`` and ``kwdefs`` arguments to " -":c:func:`PyEval_EvalCodeEx` and a reference leak in that function." -msgstr "" - -#: ../NEWS:13786 -msgid "" -":gh:`59956`: The GILState API is now partially compatible with " -"subinterpreters. Previously, ``PyThreadState_GET()`` and " -"``PyGILState_GetThisThreadState()`` would get out of sync, causing " -"inconsistent behavior and crashes." -msgstr "" - -#: ../NEWS:13791 -msgid "" -":gh:`101400`: Fix wrong lineno in exception message on :keyword:`continue` " -"or :keyword:`break` which are not in a loop. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:13794 -msgid "" -":gh:`101372`: Fix :func:`~unicodedata.is_normalized` to properly handle the " -"UCD 3.2.0 cases. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:13797 -msgid "" -":gh:`101266`: Fix :func:`sys.getsizeof` reporting for :class:`int` " -"subclasses." -msgstr "" - -#: ../NEWS:13800 -msgid "" -":gh:`101291`: Refactor the ``PyLongObject`` struct into a normal Python " -"object header and a ``PyLongValue`` struct." -msgstr "" - -#: ../NEWS:13803 -msgid "" -":gh:`101046`: Fix a possible memory leak in the parser when raising " -":exc:`MemoryError`. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:13806 -msgid "" -":gh:`101037`: Fix potential memory underallocation issue for instances of " -":class:`int` subclasses with value zero." -msgstr "" - -#: ../NEWS:13809 -msgid "" -":gh:`100762`: Record the (virtual) exception block depth in the oparg of " -":opcode:`YIELD_VALUE`. Use this to avoid the expensive ``throw()`` when " -"closing generators (and coroutines) that can be closed trivially." -msgstr "" - -#: ../NEWS:13813 -msgid "" -":gh:`100982`: Adds a new :opcode:`COMPARE_AND_BRANCH` instruction. This is a" -" bit more efficient when performing a comparison immediately followed by a " -"branch, and restores the design intent of PEP 659 that specializations are " -"local to a single instruction." -msgstr "" - -#: ../NEWS:13818 -msgid "" -":gh:`100942`: Fixed segfault in property.getter/setter/deleter that occurred" -" when a property subclass overrode the ``__new__`` method to return a non-" -"property instance." -msgstr "" - -#: ../NEWS:13822 -msgid "" -":gh:`100923`: Remove the ``mask`` cache entry for the :opcode:`COMPARE_OP` " -"instruction and embed the mask into the oparg." -msgstr "" - -#: ../NEWS:13825 -msgid "" -":gh:`100892`: Fix race while iterating over thread states in clearing " -":class:`threading.local`. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:13828 -msgid "" -":gh:`91351`: Fix a case where re-entrant imports could corrupt the import " -"deadlock detection code and cause a :exc:`KeyError` to be raised out of " -":mod:`importlib/_bootstrap`. In addition to the straightforward cases, this" -" could also happen when garbage collection leads to a warning being emitted " -"-- as happens when it collects an open socket or file)" -msgstr "" - -#: ../NEWS:13834 -msgid "" -":gh:`100726`: Optimize construction of ``range`` object for medium size " -"integers." -msgstr "" - -#: ../NEWS:13837 -msgid "" -":gh:`100712`: Added option to build cpython with specialization disabled, by" -" setting ``ENABLE_SPECIALIZATION=False`` in :mod:`opcode`, followed by " -"``make regen-all``." -msgstr "" - -#: ../NEWS:13841 -msgid "" -":issue:`32780`: Inter-field padding is now inserted into the PEP3118 format " -"strings obtained from :class:`ctypes.Structure` objects, reflecting their " -"true representation in memory." -msgstr "" - -#: ../NEWS:13848 -msgid ":gh:`101541`: [Enum] - fix psuedo-flag creation" -msgstr "" - -#: ../NEWS:13850 -msgid ":gh:`101570`: Upgrade pip wheel bundled with ensurepip (pip 23.0)" -msgstr "" - -#: ../NEWS:13852 -msgid "" -":gh:`101323`: Fix a bug where errors where not thrown by " -"zlib._ZlibDecompressor if encountered during decompressing." -msgstr "" - -#: ../NEWS:13855 -msgid "" -":gh:`101317`: Add *ssl_shutdown_timeout* parameter for " -":meth:`asyncio.StreamWriter.start_tls`." -msgstr "" - -#: ../NEWS:13858 -msgid "" -":gh:`101326`: Fix regression when passing ``None`` as second or third " -"argument to ``FutureIter.throw``." -msgstr "" - -#: ../NEWS:13861 -msgid "" -":gh:`92123`: Adapt the ``_elementtree`` extension module to multi-phase init" -" (:pep:`489`). Patches by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:13864 -msgid "" -":gh:`100795`: Avoid potential unexpected ``freeaddrinfo`` call (double free)" -" in :mod:`socket` when when a libc ``getaddrinfo()`` implementation leaves " -"garbage in an output pointer when returning an error. Original patch by " -"Sergey G. Brester." -msgstr "" - -#: ../NEWS:13869 -msgid "" -":gh:`101143`: Remove unused references to :class:`~asyncio.TimerHandle` in " -"``asyncio.base_events.BaseEventLoop._add_callback``." -msgstr "" - -#: ../NEWS:13872 -msgid "" -":gh:`101144`: Make :func:`zipfile.Path.open` and " -":func:`zipfile.Path.read_text` also accept ``encoding`` as a positional " -"argument. This was the behavior in Python 3.9 and earlier. 3.10 introduced " -"a regression where supplying it as a positional argument would lead to a " -":exc:`TypeError`." -msgstr "" - -#: ../NEWS:13878 -msgid "" -":gh:`94518`: Group-related variables of ``_posixsubprocess`` module are " -"renamed to stress that supplementary group affinity is added to a fork, not " -"replace the inherited ones. Patch by Oleg Iarygin." -msgstr "" - -#: ../NEWS:13882 -msgid "" -":gh:`101015`: Fix :func:`typing.get_type_hints` on ``'*tuple[...]'`` and " -"``*tuple[...]``. It must not drop the ``Unpack`` part." -msgstr "" - -#: ../NEWS:13885 -msgid "" -":gh:`101000`: Add :func:`os.path.splitroot`, which splits a path into a " -"3-item tuple ``(drive, root, tail)``. This new function is used by " -":mod:`pathlib` to improve the performance of path construction by up to a " -"third." -msgstr "" - -#: ../NEWS:13890 -msgid "" -":gh:`100573`: Fix a Windows :mod:`asyncio` bug with named pipes where a " -"client doing ``os.stat()`` on the pipe would cause an error in the server " -"that disabled serving future requests." -msgstr "" - -#: ../NEWS:13894 -msgid "" -":gh:`39615`: :func:`warnings.warn` now has the ability to skip stack frames " -"based on code filename prefix rather than only a numeric ``stacklevel`` via " -"the new ``skip_file_prefixes`` keyword argument." -msgstr "" - -#: ../NEWS:13898 -msgid ":gh:`100750`: pass encoding kwarg to subprocess in platform" -msgstr "" - -#: ../NEWS:13900 -msgid "" -":gh:`100160`: Emit a deprecation warning in " -":meth:`asyncio.DefaultEventLoopPolicy.get_event_loop` if there is no current" -" event loop set and it decides to create one." -msgstr "" - -#: ../NEWS:13904 -msgid "" -":gh:`96290`: Fix handling of partial and invalid UNC drives in " -"``ntpath.splitdrive()``, and in ``ntpath.normpath()`` on non-Windows " -"systems. Paths such as '\\\\server' and '\\\\' are now considered by " -"``splitdrive()`` to contain only a drive, and consequently are not modified " -"by ``normpath()`` on non-Windows systems. The behaviour of ``normpath()`` on" -" Windows systems is unaffected, as native OS APIs are used. Patch by Eryk " -"Sun, with contributions by Barney Gale." -msgstr "" - -#: ../NEWS:13912 -msgid "" -":gh:`99952`: Fix a reference undercounting issue in " -":class:`ctypes.Structure` with ``from_param()`` results larger than a C " -"pointer." -msgstr "" - -#: ../NEWS:13915 -msgid "" -":gh:`67790`: Add float-style formatting support for " -":class:`fractions.Fraction` instances." -msgstr "" - -#: ../NEWS:13918 -msgid ":gh:`99266`: Preserve more detailed error messages in :mod:`ctypes`." -msgstr "" - -#: ../NEWS:13920 -msgid "" -":gh:`86682`: Ensure runtime-created collections have the correct module name" -" using the newly added (internal) :func:`sys._getframemodulename`." -msgstr "" - -#: ../NEWS:13923 -msgid "" -":gh:`88597`: :mod:`uuid` now has a command line interface. Try ``python -m " -"uuid -h``." -msgstr "" - -#: ../NEWS:13926 -msgid "" -":gh:`60580`: :data:`ctypes.wintypes.BYTE` definition changed from " -":data:`~ctypes.c_byte` to :data:`~ctypes.c_ubyte` to match Windows SDK. " -"Patch by Anatoly Techtonik and Oleg Iarygin." -msgstr "" - -#: ../NEWS:13930 -msgid "" -":gh:`94518`: ``_posixsubprocess`` now initializes all UID and GID variables " -"using a reserved ``-1`` value instead of a separate flag. Patch by Oleg " -"Iarygin." -msgstr "" - -#: ../NEWS:13934 -msgid "" -":issue:`38941`: The :mod:`xml.etree.ElementTree` module now emits " -":exc:`DeprecationWarning` when testing the truth value of an " -":class:`xml.etree.ElementTree.Element`. Before, the Python implementation " -"emitted :exc:`FutureWarning`, and the C implementation emitted nothing." -msgstr "" - -#: ../NEWS:13939 -msgid "" -":issue:`40077`: Convert :mod:`elementtree` types to heap types. Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../NEWS:13942 -msgid "" -":issue:`29847`: Fix a bug where :class:`pathlib.Path` accepted and ignored " -"keyword arguments. Patch provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:13945 -msgid "" -":gh:`77772`: :class:`ctypes.CDLL`, :class:`ctypes.OleDLL`, " -":class:`ctypes.WinDLL`, and :class:`ctypes.PyDLL` now accept :term:`path-" -"like objects ` as their ``name`` argument. Patch by Robert" -" Hoelzl." -msgstr "" - -#: ../NEWS:13953 -msgid "" -":gh:`88324`: Reword :mod:`subprocess` to emphasize default behavior of " -"*stdin*, *stdout*, and *stderr* arguments. Remove inaccurate statement about" -" child file handle inheritance." -msgstr "" - -#: ../NEWS:13960 -msgid "" -":gh:`101334`: ``test_tarfile`` has been updated to pass when run as a high " -"UID." -msgstr "" - -#: ../NEWS:13966 -msgid "" -":gh:`101282`: Update BOLT configuration not to use deprecated usage of " -"``--split functions``. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:13969 -msgid "" -":gh:`101522`: Allow overriding Windows dependencies versions and paths using" -" MSBuild properties." -msgstr "" - -#: ../NEWS:13972 -msgid "" -":gh:`77532`: Minor fixes to allow building with ``PlatformToolset=ClangCL`` " -"on Windows." -msgstr "" - -#: ../NEWS:13975 -msgid "" -":gh:`101152`: In accordance with :PEP:`699`, the ``ma_version_tag`` field in" -" :c:type:`PyDictObject` is deprecated for extension modules. Accessing this " -"field will generate a compiler warning at compile time. This field will be " -"removed in Python 3.14." -msgstr "" - -#: ../NEWS:13980 -msgid "" -":gh:`100340`: Allows -Wno-int-conversion for wasm-sdk 17 and onwards, thus " -"enables building WASI builds once against the latest sdk." -msgstr "" - -#: ../NEWS:13983 -msgid "" -":gh:`101060`: Conditionally add ``-fno-reorder-blocks-and-partition`` in " -"configure. Effectively fixes ``--enable-bolt`` when using Clang, as this " -"appears to be a GCC-only flag." -msgstr "" - -#: ../NEWS:13987 -msgid "" -":gh:`98705`: ``__bool__`` is defined in AIX system header files which breaks" -" the build in AIX, so undefine it." -msgstr "" - -#: ../NEWS:13990 -msgid "" -":gh:`98636`: Fix a regression in detecting ``gdbm_compat`` library for the " -"``_gdbm`` module build." -msgstr "" - -#: ../NEWS:13993 -msgid "" -":gh:`96305`: ``_aix_support`` now uses a simple code to get platform details" -" rather than the now non-existent ``_bootsubprocess`` during bootstrap." -msgstr "" - -#: ../NEWS:13999 -msgid "" -":gh:`101543`: Ensure the install path in the registry is only used when the " -"standard library hasn't been located in any other way." -msgstr "" - -#: ../NEWS:14002 -msgid "" -":gh:`101467`: The ``py.exe`` launcher now correctly filters when only a " -"single runtime is installed. It also correctly handles prefix matches on " -"tags so that ``-3.1`` does not match ``3.11``, but would still match " -"``3.1-32``." -msgstr "" - -#: ../NEWS:14007 -msgid ":gh:`99834`: Updates bundled copy of Tcl/Tk to 8.6.13.0" -msgstr "" - -#: ../NEWS:14009 -msgid "" -":gh:`101135`: Restore ability to launch older 32-bit versions from the " -":file:`py.exe` launcher when both 32-bit and 64-bit installs of the same " -"version are available." -msgstr "" - -#: ../NEWS:14013 -msgid "" -":gh:`82052`: Fixed an issue where writing more than 32K of Unicode output to" -" the console screen in one go can result in mojibake." -msgstr "" - -#: ../NEWS:14016 -msgid "" -":gh:`100320`: Ensures the ``PythonPath`` registry key from an install is " -"used when launching from a different copy of Python that relies on an " -"existing install to provide a copy of its modules and standard library." -msgstr "" - -#: ../NEWS:14020 -msgid "" -":gh:`100247`: Restores support for the :file:`py.exe` launcher finding " -"shebang commands in its configuration file using the full command name." -msgstr "" - -#: ../NEWS:14025 -msgid "Python 3.12.0 alpha 4" -msgstr "" - -#: ../NEWS:14027 -msgid "*Release date: 2023-01-10*" -msgstr "" - -#: ../NEWS:14032 -msgid "" -":gh:`100776`: Fix misleading default value in :func:`input`'s " -"``__text_signature__``." -msgstr "" - -#: ../NEWS:14035 -msgid "" -":gh:`99005`: Remove :opcode:`!UNARY_POSITIVE`, :opcode:`!ASYNC_GEN_WRAP` and" -" :opcode:`!LIST_TO_TUPLE`, replacing them with intrinsics." -msgstr "" - -#: ../NEWS:14038 -msgid "" -":gh:`99005`: Add new :opcode:`CALL_INTRINSIC_1` instruction. Remove " -":opcode:`IMPORT_STAR`, :opcode:`PRINT_EXPR` and " -":opcode:`STOPITERATION_ERROR`, replacing them with the " -":opcode:`CALL_INTRINSIC_1` instruction." -msgstr "" - -#: ../NEWS:14043 -msgid "" -":gh:`100288`: Remove the LOAD_ATTR_METHOD_WITH_DICT specialized instruction." -" Stats show it is not useful." -msgstr "" - -#: ../NEWS:14046 -msgid "" -":gh:`100720`: Added ``_PyFrame_NumSlotsForCodeObject``, which returns the " -"number of slots needed in a frame for a given code object." -msgstr "" - -#: ../NEWS:14049 -msgid "" -":gh:`100719`: Removed the co_nplaincellvars field from the code object, as " -"it is redundant." -msgstr "" - -#: ../NEWS:14052 -msgid "" -":gh:`100637`: Fix :func:`int.__sizeof__` calculation to include the " -"1-element ``ob_digit`` array for ``0`` and ``False``." -msgstr "" - -#: ../NEWS:14055 -msgid "" -":gh:`100649`: Update the native_thread_id field of PyThreadState after fork." -msgstr "" - -#: ../NEWS:14057 -msgid "" -":gh:`100126`: Fix an issue where \"incomplete\" frames could be briefly " -"visible to C code while other frames are being torn down, possibly resulting" -" in corruption or hard crashes of the interpreter while running finalizers." -msgstr "" - -#: ../NEWS:14061 -msgid "" -":gh:`87447`: Fix :exc:`SyntaxError` on comprehension rebind checking with " -"names that are not actually redefined." -msgstr "" - -#: ../NEWS:14064 -msgid "" -"Now reassigning ``b`` in ``[(b := 1) for a, b.prop in some_iter]`` is " -"allowed. Reassigning ``a`` is still disallowed as per :pep:`572`." -msgstr "" - -#: ../NEWS:14067 -msgid "" -":gh:`100268`: Add :meth:`int.is_integer` to improve duck type compatibility " -"between :class:`int` and :class:`float`." -msgstr "" - -#: ../NEWS:14070 -msgid "" -":gh:`100425`: Improve the accuracy of ``sum()`` with compensated summation." -msgstr "" - -#: ../NEWS:14072 -msgid "" -":gh:`100374`: Fix incorrect result and delay in :func:`socket.getfqdn`. " -"Patch by Dominic Socular." -msgstr "" - -#: ../NEWS:14075 -msgid "" -":gh:`100357`: Convert ``vars``, ``dir``, ``next``, ``getattr``, and ``iter``" -" to argument clinic." -msgstr "" - -#: ../NEWS:14078 -msgid "" -":gh:`100117`: Improve the output of :meth:`codeobject.co_lines` by emitting " -"only one entry for each line range." -msgstr "" - -#: ../NEWS:14081 -msgid "" -":gh:`90043`: Handle NaNs when specializing :opcode:`COMPARE_OP` for " -":class:`float` values." -msgstr "" - -#: ../NEWS:14084 -msgid "" -":gh:`100222`: Redefine the ``_Py_CODEUNIT`` typedef as a union to describe " -"its layout to the C compiler, avoiding type punning and improving clarity." -msgstr "" - -#: ../NEWS:14087 -msgid "" -":gh:`99955`: Internal compiler functions (in compile.c) now consistently " -"return -1 on error and 0 on success." -msgstr "" - -#: ../NEWS:14090 -msgid "" -":gh:`100188`: The ``BINARY_SUBSCR_LIST_INT`` and ``BINARY_SUBSCR_TUPLE_INT``" -" instructions are no longer used for negative integers because those " -"instructions always miss when encountering negative integers." -msgstr "" - -#: ../NEWS:14094 -msgid "" -":gh:`99110`: Initialize frame->previous in frameobject.c to fix a " -"segmentation fault when accessing frames created by :c:func:`PyFrame_New`." -msgstr "" - -#: ../NEWS:14097 -msgid "" -":gh:`94155`: Improved the hashing algorithm for code objects, mitigating " -"some hash collisions." -msgstr "" - -#: ../NEWS:14100 -msgid "" -":gh:`99540`: ``None`` now hashes to a constant value. This is not a " -"requirements change." -msgstr "" - -#: ../NEWS:14103 -msgid "" -":gh:`100143`: When built with ``--enable-pystats``, stats collection is now " -"off by default. To enable it early at startup, pass the ``-Xpystats`` flag." -" Stats are now always dumped, even if switched off." -msgstr "" - -#: ../NEWS:14107 -msgid "" -":gh:`100146`: Improve ``BUILD_LIST`` opcode so that it works similarly to " -"the ``BUILD_TUPLE`` opcode, by stealing references from the stack rather " -"than repeatedly using stack operations to set list elements. Implementation" -" details are in a new private API :c:func:`!_PyList_FromArraySteal`." -msgstr "" - -#: ../NEWS:14112 -msgid ":gh:`100110`: Specialize ``FOR_ITER`` for tuples." -msgstr "" - -#: ../NEWS:14114 -msgid "" -":gh:`100050`: Honor existing errors obtained when searching for mismatching " -"parentheses in the tokenizer. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:14117 -msgid "" -":gh:`92216`: Improve the performance of :func:`hasattr` for type objects " -"with a missing attribute." -msgstr "" - -#: ../NEWS:14120 -msgid "" -":gh:`99582`: Freeze :mod:`zipimport` module into ``_bootstrap_python``." -msgstr "" - -#: ../NEWS:14122 -msgid "" -":gh:`99554`: Pack debugging location tables more efficiently during bytecode" -" compilation." -msgstr "" - -#: ../NEWS:14125 -msgid "" -":gh:`98522`: Add an internal version number to code objects, to give better " -"versioning of inner functions and comprehensions, and thus better " -"specialization of those functions. This change is invisible to both Python " -"and C extensions." -msgstr "" - -#: ../NEWS:14130 -msgid ":gh:`94603`: Improve performance of ``list.pop`` for small lists." -msgstr "" - -#: ../NEWS:14132 -msgid ":gh:`89051`: Add :const:`ssl.OP_LEGACY_SERVER_CONNECT`" -msgstr "" - -#: ../NEWS:14134 -msgid "" -":issue:`32782`: ``ctypes`` arrays of length 0 now report a correct itemsize " -"when a ``memoryview`` is constructed from them, rather than always giving a " -"value of 0." -msgstr "" - -#: ../NEWS:14141 -msgid "" -":gh:`100833`: Speed up :func:`math.fsum` by removing defensive ``volatile`` " -"qualifiers." -msgstr "" - -#: ../NEWS:14144 -msgid "" -":gh:`100805`: Modify :func:`random.choice` implementation to once again work" -" with NumPy arrays." -msgstr "" - -#: ../NEWS:14147 -msgid ":gh:`100813`: Add :const:`socket.IP_PKTINFO` constant." -msgstr "" - -#: ../NEWS:14149 -msgid "" -":gh:`100792`: Make :meth:`email.message.Message.__contains__` twice as fast." -msgstr "" - -#: ../NEWS:14151 -msgid "" -":gh:`91851`: Microoptimizations for :meth:`fractions.Fraction.__round__`, " -":meth:`fractions.Fraction.__ceil__` and " -":meth:`fractions.Fraction.__floor__`." -msgstr "" - -#: ../NEWS:14155 -msgid "" -":gh:`90104`: Avoid RecursionError on ``repr`` if a dataclass field " -"definition has a cyclic reference." -msgstr "" - -#: ../NEWS:14158 -msgid "" -":gh:`100689`: Fix crash in :mod:`pyexpat` by statically allocating " -"``PyExpat_CAPI`` capsule." -msgstr "" - -#: ../NEWS:14161 -msgid "" -":gh:`100740`: Fix ``unittest.mock.Mock`` not respecting the spec for " -"attribute names prefixed with ``assert``." -msgstr "" - -#: ../NEWS:14164 -msgid "" -":gh:`91219`: Change ``SimpleHTTPRequestHandler`` to support subclassing to " -"provide a different set of index file names instead of using ``__init__`` " -"parameters." -msgstr "" - -#: ../NEWS:14168 -msgid "" -":gh:`100690`: ``Mock`` objects which are not unsafe will now raise an " -"``AttributeError`` when accessing an attribute that matches the name of an " -"assertion but without the prefix ``assert_``, e.g. accessing ``called_once``" -" instead of ``assert_called_once``. This is in addition to this already " -"happening for accessing attributes with prefixes ``assert``, ``assret``, " -"``asert``, ``aseert``, and ``assrt``." -msgstr "" - -#: ../NEWS:14175 -msgid "" -":gh:`89727`: Simplify and optimize :func:`os.walk` by using " -":func:`isinstance` checks to check the top of the stack." -msgstr "" - -#: ../NEWS:14178 -msgid ":gh:`100485`: Add math.sumprod() to compute the sum of products." -msgstr "" - -#: ../NEWS:14180 -msgid "" -":gh:`86508`: Fix :func:`asyncio.open_connection` to skip binding to local " -"addresses of different family. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:14183 -msgid "" -":gh:`97930`: ``importlib.resources.files`` now accepts a module as an anchor" -" instead of only accepting packages. If a module is passed, resources are " -"resolved adjacent to that module (in the same package or at the package " -"root). The parameter was renamed from ``package`` to ``anchor`` with a " -"compatibility shim for those passing by keyword. Additionally, the new " -"``anchor`` parameter is now optional and will default to the caller's " -"module." -msgstr "" - -#: ../NEWS:14191 -msgid "" -":gh:`100585`: Fixed a bug where importlib.resources.as_file was leaving file" -" pointers open" -msgstr "" - -#: ../NEWS:14194 -msgid "" -":gh:`100562`: Improve performance of :meth:`pathlib.Path.absolute` by nearly" -" 2x. This comes at the cost of a performance regression in " -":meth:`pathlib.Path.cwd`, which is generally used less frequently in user " -"code." -msgstr "" - -#: ../NEWS:14199 -msgid "" -":gh:`100519`: Small simplification of " -":func:`http.cookiejar.eff_request_host` that improves readability and better" -" matches the RFC wording." -msgstr "" - -#: ../NEWS:14202 -msgid "" -":gh:`100287`: Fix the interaction of :func:`unittest.mock.seal` with " -":class:`unittest.mock.AsyncMock`." -msgstr "" - -#: ../NEWS:14205 -msgid "" -":gh:`100488`: Add :meth:`Fraction.is_integer` to check whether a " -":class:`fractions.Fraction` is an integer. This improves duck type " -"compatibility with :class:`float` and :class:`int`." -msgstr "" - -#: ../NEWS:14209 -msgid "" -":gh:`100474`: :mod:`http.server` now checks that an index page is actually a" -" regular file before trying to serve it. This avoids issues with " -"directories named ``index.html``." -msgstr "" - -#: ../NEWS:14213 -msgid "" -":gh:`100363`: Speed up :func:`asyncio.get_running_loop` by removing " -"redundant ``getpid`` checks. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:14216 -msgid "" -":gh:`78878`: Fix crash when creating an instance of " -":class:`!_ctypes.CField`." -msgstr "" - -#: ../NEWS:14218 -msgid "" -":gh:`100348`: Fix ref cycle in :class:`!asyncio._SelectorSocketTransport` by" -" removing ``_read_ready_cb`` in ``close``." -msgstr "" - -#: ../NEWS:14221 -msgid "" -":gh:`100344`: Provide C implementation for :func:`asyncio.current_task` for " -"a 4x-6x speedup." -msgstr "" - -#: ../NEWS:14224 -msgid "" -":gh:`100272`: Fix JSON serialization of OrderedDict. It now preserves the " -"order of keys." -msgstr "" - -#: ../NEWS:14227 -msgid "" -":gh:`83076`: Instantiation of ``Mock()`` and ``AsyncMock()`` is now 3.8x " -"faster." -msgstr "" - -#: ../NEWS:14230 -msgid "" -":gh:`100234`: Set a default value of 1.0 for the ``lambd`` parameter in " -"random.expovariate()." -msgstr "" - -#: ../NEWS:14233 -msgid "" -":gh:`100228`: A :exc:`DeprecationWarning` may be raised when :func:`os.fork`" -" or :func:`os.forkpty` is called from multi-threaded processes. Forking " -"with threads is unsafe and can cause deadlocks, crashes and subtle problems." -" Lack of a warning does not indicate that the fork call was actually safe, " -"as Python may not be aware of all threads." -msgstr "" - -#: ../NEWS:14239 -msgid ":gh:`100039`: Improve signatures for enums and flags." -msgstr "" - -#: ../NEWS:14241 -msgid "" -":gh:`100133`: Fix regression in :mod:`asyncio` where a subprocess would " -"sometimes lose data received from pipe." -msgstr "" - -#: ../NEWS:14244 -msgid "" -":issue:`44592`: Fixes inconsistent handling of case sensitivity of " -"*extrasaction* arg in :class:`csv.DictWriter`." -msgstr "" - -#: ../NEWS:14247 -msgid "" -":gh:`100098`: Fix ``tuple`` subclasses being cast to ``tuple`` when used as " -"enum values." -msgstr "" - -#: ../NEWS:14250 -msgid "" -":gh:`85432`: Rename the *fmt* parameter of the pure-Python implementation of" -" :meth:`datetime.time.strftime` to *format*. Rename the *t* parameter of " -":meth:`datetime.datetime.fromtimestamp` to *timestamp*. These changes mean " -"the parameter names in the pure-Python implementation now match the " -"parameter names in the C implementation. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:14256 -msgid "" -":gh:`98778`: Update :exc:`~urllib.error.HTTPError` to be initialized " -"properly, even if the ``fp`` is ``None``. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:14259 -msgid "" -":gh:`99925`: Unify error messages in JSON serialization between " -"``json.dumps(float('nan'), allow_nan=False)`` and ``json.dumps(float('nan')," -" allow_nan=False, indent=)``. Now both include the representation" -" of the value that could not be serialized." -msgstr "" - -#: ../NEWS:14264 -msgid "" -":gh:`89727`: Fix issue with :func:`os.walk` where a :exc:`RecursionError` " -"would occur on deep directory structures by adjusting the implementation of " -":func:`os.walk` to be iterative instead of recursive." -msgstr "" - -#: ../NEWS:14268 -msgid "" -":gh:`94943`: Add :ref:`enum-dataclass-support` to the :class:`~enum.Enum` " -":meth:`~enum.Enum.__repr__`. When inheriting from a " -":class:`~dataclasses.dataclass`, only show the field names in the value " -"section of the member :func:`repr`, and not the dataclass' class name." -msgstr "" - -#: ../NEWS:14273 -msgid "" -":gh:`83035`: Fix :func:`inspect.getsource` handling of decorator calls with " -"nested parentheses." -msgstr "" - -#: ../NEWS:14276 -msgid "" -":gh:`99576`: Fix ``.save()`` method for ``LWPCookieJar`` and " -"``MozillaCookieJar``: saved file was not truncated on repeated save." -msgstr "" - -#: ../NEWS:14279 -msgid "" -":gh:`94912`: Add :func:`inspect.markcoroutinefunction` decorator which " -"manually marks a function as a coroutine for the benefit of " -":func:`iscoroutinefunction`." -msgstr "" - -#: ../NEWS:14283 -msgid "" -":gh:`99509`: Add :pep:`585` support for " -":class:`multiprocessing.queues.Queue`." -msgstr "" - -#: ../NEWS:14286 -msgid "" -":gh:`99482`: Remove ``Jython`` partial compatibility code from several " -"stdlib modules." -msgstr "" - -#: ../NEWS:14289 -msgid "" -":gh:`99433`: Fix :mod:`doctest` failure on :class:`types.MethodWrapperType` " -"in modules." -msgstr "" - -#: ../NEWS:14292 -msgid "" -":gh:`85267`: Several improvements to :func:`inspect.signature`'s handling of" -" ``__text_signature``. - Fixes a case where :func:`inspect.signature` " -"dropped parameters - Fixes a case where :func:`inspect.signature` raised " -":exc:`tokenize.TokenError` - Allows :func:`inspect.signature` to understand " -"defaults involving binary operations of constants - " -":func:`inspect.signature` is documented as only raising :exc:`TypeError` or " -":exc:`ValueError`, but sometimes raised :exc:`RuntimeError`. These cases now" -" raise :exc:`ValueError` - Removed a dead code path" -msgstr "" - -#: ../NEWS:14301 -msgid "" -":gh:`91166`: :mod:`asyncio` is optimized to avoid excessive copying when " -"writing to socket and use :meth:`~socket.socket.sendmsg` if the platform " -"supports it. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:14305 -msgid "" -":gh:`98030`: Add missing TCP socket options from Linux: ``TCP_MD5SIG``, " -"``TCP_THIN_LINEAR_TIMEOUTS``, ``TCP_THIN_DUPACK``, ``TCP_REPAIR``, " -"``TCP_REPAIR_QUEUE``, ``TCP_QUEUE_SEQ``, ``TCP_REPAIR_OPTIONS``, " -"``TCP_TIMESTAMP``, ``TCP_CC_INFO``, ``TCP_SAVE_SYN``, ``TCP_SAVED_SYN``, " -"``TCP_REPAIR_WINDOW``, ``TCP_FASTOPEN_CONNECT``, ``TCP_ULP``, " -"``TCP_MD5SIG_EXT``, ``TCP_FASTOPEN_KEY``, ``TCP_FASTOPEN_NO_COOKIE``, " -"``TCP_ZEROCOPY_RECEIVE``, ``TCP_INQ``, ``TCP_TX_DELAY``." -msgstr "" - -#: ../NEWS:14313 -msgid "" -":gh:`88500`: Reduced the memory usage of :func:`urllib.parse.unquote` and " -":func:`urllib.parse.unquote_to_bytes` on large values." -msgstr "" - -#: ../NEWS:14316 -msgid "" -":gh:`96127`: ``inspect.signature`` was raising ``TypeError`` on call with " -"mock objects. Now it correctly returns ``(*args, **kwargs)`` as inferred " -"signature." -msgstr "" - -#: ../NEWS:14320 -msgid "" -":gh:`95882`: Fix a 3.11 regression in " -":func:`~contextlib.asynccontextmanager`, which caused it to propagate " -"exceptions with incorrect tracebacks and fix a 3.11 regression in " -":func:`~contextlib.contextmanager`, which caused it to propagate exceptions " -"with incorrect tracebacks for :exc:`StopIteration`." -msgstr "" - -#: ../NEWS:14326 -msgid "" -":gh:`78707`: Deprecate passing more than one positional argument to " -":meth:`pathlib.PurePath.relative_to` and " -":meth:`~pathlib.PurePath.is_relative_to`." -msgstr "" - -#: ../NEWS:14330 -msgid "" -":gh:`92122`: Fix reStructuredText syntax errors in docstrings in the " -":mod:`enum` module." -msgstr "" - -#: ../NEWS:14333 -msgid "" -":gh:`91851`: Optimize the :class:`~fractions.Fraction` arithmetics for small" -" components." -msgstr "" - -#: ../NEWS:14336 -msgid "" -":issue:`24132`: Make :class:`pathlib.PurePath` and :class:`~pathlib.Path` " -"subclassable (private to start). Previously, attempting to instantiate a " -"subclass resulted in an :exc:`AttributeError` being raised. Patch by Barney " -"Gale." -msgstr "" - -#: ../NEWS:14341 -msgid "" -":issue:`40447`: Accept :class:`os.PathLike` (such as :class:`pathlib.Path`) " -"in the ``stripdir`` arguments of :meth:`compileall.compile_file` and " -":meth:`compileall.compile_dir`." -msgstr "" - -#: ../NEWS:14345 -msgid "" -":issue:`36880`: Fix a reference counting issue when a :mod:`ctypes` callback" -" with return type :class:`~ctypes.py_object` returns ``None``, which could " -"cause crashes." -msgstr "" - -#: ../NEWS:14352 -msgid "" -":gh:`100616`: Document existing ``attr`` parameter to " -":func:`curses.window.vline` function in :mod:`curses`." -msgstr "" - -#: ../NEWS:14355 -msgid "" -":gh:`100472`: Remove claim in documentation that the ``stripdir``, " -"``prependdir`` and ``limit_sl_dest`` parameters of " -":func:`compileall.compile_dir` and :func:`compileall.compile_file` could be " -":class:`bytes`." -msgstr "" - -#: ../NEWS:14360 -msgid "" -":issue:`25377`: Clarify use of octal format of mode argument in " -"help(os.chmod) as well as help(os.fchmod)" -msgstr "" - -#: ../NEWS:14366 -msgid ":gh:`100454`: Start running SSL tests with OpenSSL 3.1.0-beta1." -msgstr "" - -#: ../NEWS:14368 -msgid "" -":gh:`100086`: The Python test runner (libregrtest) now logs Python build " -"information like \"debug\" vs \"release\" build, or LTO and PGO " -"optimizations. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:14372 -msgid "" -":gh:`93018`: Make two tests forgiving towards host system libexpat with " -"backported security fixes applied." -msgstr "" - -#: ../NEWS:14378 -msgid "" -":gh:`100540`: Removed the ``--with-system-ffi`` ``configure`` option; " -"``libffi`` must now always be supplied by the system on all non-Windows " -"platforms. The option has had no effect on non-Darwin platforms for several" -" releases, and in 3.11 only had the non-obvious effect of invoking ``pkg-" -"config`` to find ``libffi`` and never setting ``-DUSING_APPLE_OS_LIBFFI``. " -"Now on Darwin platforms ``configure`` will first check for the OS ``libffi``" -" and then fall back to the same processing as other platforms if it is not " -"found." -msgstr "" - -#: ../NEWS:14387 -msgid "" -":gh:`88267`: Avoid exporting Python symbols in linked Windows applications " -"when the core is built as static." -msgstr "" - -#: ../NEWS:14390 -msgid "" -":issue:`41916`: Allow override of ac_cv_cxx_thread so that cross compiled " -"python can set -pthread for CXX." -msgstr "" - -#: ../NEWS:14396 -msgid ":gh:`100180`: Update Windows installer to OpenSSL 1.1.1s" -msgstr "" - -#: ../NEWS:14398 -msgid "" -":gh:`99191`: Use ``_MSVC_LANG >= 202002L`` instead of less-precise " -"``_MSC_VER >=1929`` to more accurately test for C++20 support in " -":file:`PC/_wmimodule.cpp`." -msgstr "" - -#: ../NEWS:14402 -msgid "" -":gh:`79218`: Define ``MS_WIN64`` for Mingw-w64 64bit, fix cython compilation" -" failure." -msgstr "" - -#: ../NEWS:14405 -msgid "" -":gh:`99941`: Ensure that :func:`asyncio.Protocol.data_received` receives an " -"immutable :class:`bytes` object (as documented), instead of " -":class:`bytearray`." -msgstr "" - -#: ../NEWS:14409 -msgid "" -":issue:`43984`: :meth:`winreg.SetValueEx` now leaves the target value " -"untouched in the case of conversion errors. Previously, ``-1`` would be " -"written in case of such errors." -msgstr "" - -#: ../NEWS:14413 -msgid "" -":issue:`34816`: ``hasattr(ctypes.windll, 'nonexistant')`` now returns " -"``False`` instead of raising :exc:`OSError`." -msgstr "" - -#: ../NEWS:14419 -msgid ":gh:`100180`: Update macOS installer to OpenSSL 1.1.1s" -msgstr "" - -#: ../NEWS:14421 -msgid "" -":gh:`100540`: Removed obsolete ``dlfcn.h`` shim from the ``_ctypes`` " -"extension module, which has not been necessary since Mac OS X 10.2." -msgstr "" - -#: ../NEWS:14427 -msgid "" -":issue:`45256`: Fix a bug that caused an :exc:`AttributeError` to be raised " -"in ``python-gdb.py`` when ``py-locals`` is used without a frame." -msgstr "" - -#: ../NEWS:14430 -msgid "" -":gh:`100342`: Add missing ``NULL`` check for possible allocation failure in " -"``*args`` parsing in Argument Clinic." -msgstr "" - -#: ../NEWS:14436 -msgid "" -":gh:`99947`: Raising SystemError on import will now have its cause be set to" -" the original unexpected exception." -msgstr "" - -#: ../NEWS:14439 -msgid "" -":gh:`99240`: In argument parsing, after deallocating newly allocated memory," -" reset its pointer to NULL." -msgstr "" - -#: ../NEWS:14442 -msgid "" -":gh:`98724`: The :c:macro:`Py_CLEAR`, :c:macro:`Py_SETREF` and " -":c:macro:`Py_XSETREF` macros now only evaluate their arguments once. If an " -"argument has side effects, these side effects are no longer duplicated. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:14449 -msgid "Python 3.12.0 alpha 3" -msgstr "" - -#: ../NEWS:14451 -msgid "*Release date: 2022-12-06*" -msgstr "" - -#: ../NEWS:14456 -msgid "" -":gh:`100001`: ``python -m http.server`` no longer allows terminal control " -"characters sent within a garbage request to be printed to the stderr server " -"log." -msgstr "" - -#: ../NEWS:14460 -msgid "" -"This is done by changing the :mod:`http.server` " -":class:`BaseHTTPRequestHandler` ``.log_message`` method to replace control " -"characters with a :samp:`\\\\x{HH}` hex escape before printing." -msgstr "" - -#: ../NEWS:14464 -msgid "" -":gh:`87604`: Avoid publishing list of active per-interpreter audit hooks via" -" the :mod:`gc` module" -msgstr "" - -#: ../NEWS:14470 -msgid "" -":gh:`99891`: Fix a bug in the tokenizer that could cause infinite recursion " -"when showing syntax warnings that happen in the first line of the source. " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:14474 -msgid "" -":gh:`91054`: Add :c:func:`PyCode_AddWatcher` and " -":c:func:`PyCode_ClearWatcher` APIs to register callbacks to receive " -"notification on creation and destruction of code objects." -msgstr "" - -#: ../NEWS:14478 -msgid "" -":gh:`99729`: Fix an issue that could cause frames to be visible to Python " -"code as they are being torn down, possibly leading to memory corruption or " -"hard crashes of the interpreter." -msgstr "" - -#: ../NEWS:14482 -msgid "" -":gh:`99708`: Fix bug where compiler crashes on an if expression with an " -"empty body block." -msgstr "" - -#: ../NEWS:14485 -msgid "" -":gh:`99578`: Fix a reference bug in :func:`!_imp.create_builtin` after the " -"creation of the first sub-interpreter for modules ``builtins`` and ``sys``. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:14489 -msgid "" -":gh:`99581`: Fixed a bug that was causing a buffer overflow if the tokenizer" -" copies a line missing the newline character from a file that is as long as " -"the available tokenizer buffer. Patch by Pablo galindo" -msgstr "" - -#: ../NEWS:14493 -msgid "" -":gh:`99553`: Fix bug where an :exc:`ExceptionGroup` subclass can wrap a " -":exc:`BaseException`." -msgstr "" - -#: ../NEWS:14496 -msgid "" -":gh:`99547`: Add a function to os.path to check if a path is a junction: " -"isjunction. Add similar functionality to pathlib.Path as is_junction." -msgstr "" - -#: ../NEWS:14499 -msgid "" -":gh:`99370`: Fix zip path for venv created from a non-installed python on " -"POSIX platforms." -msgstr "" - -#: ../NEWS:14502 -msgid "" -":gh:`99377`: Add audit events for thread creation and clear operations." -msgstr "" - -#: ../NEWS:14504 -msgid "" -":gh:`98686`: Remove the ``BINARY_OP_GENERIC`` and ``COMPARE_OP_GENERIC`` " -"\"specializations\"." -msgstr "" - -#: ../NEWS:14507 -msgid "" -":gh:`99298`: Remove the remaining error paths for attribute specializations," -" and refuse to specialize attribute accesses on types that haven't had " -":c:func:`PyType_Ready` called on them yet." -msgstr "" - -#: ../NEWS:14511 -msgid "" -":gh:`99127`: Allow some features of :mod:`syslog` to the main interpreter " -"only. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:14514 -msgid "" -":gh:`91053`: Optimizing interpreters and JIT compilers may need to " -"invalidate internal metadata when functions are modified. This change adds " -"the ability to provide a callback that will be invoked each time a function " -"is created, modified, or destroyed." -msgstr "" - -#: ../NEWS:14519 -msgid "" -":gh:`90994`: Improve error messages when there's a syntax error with call " -"arguments. The following three cases are covered: - No value is assigned to " -"a named argument, eg ``foo(a=)``. - A value is assigned to a star argument, " -"eg ``foo(*args=[0])``. - A value is assigned to a double-star keyword " -"argument, eg ``foo(**kwarg={'a': 0})``." -msgstr "" - -#: ../NEWS:14525 -msgid "" -":issue:`45026`: Optimize the :class:`range` object iterator. It is now " -"smaller, faster iteration of ranges containing large numbers. Smaller " -"pickles, faster unpickling." -msgstr "" - -#: ../NEWS:14529 -msgid "" -":issue:`31718`: Raise :exc:`ValueError` instead of :exc:`SystemError` when " -"methods of uninitialized :class:`io.IncrementalNewlineDecoder` objects are " -"called. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:14533 -msgid "" -":issue:`38031`: Fix a possible assertion failure in :class:`io.FileIO` when " -"the opener returns an invalid file descriptor." -msgstr "" - -#: ../NEWS:14539 -msgid "" -":gh:`100001`: Also \\ escape \\s in the http.server " -"BaseHTTPRequestHandler.log_message so that it is technically possible to " -"parse the line and reconstruct what the original data was. Without this a " -"\\xHH is ambiguous as to if it is a hex replacement we put in or the " -"characters r\"\\x\" came through in the original request line." -msgstr "" - -#: ../NEWS:14545 -msgid "" -":gh:`99957`: Add ``frozen_default`` parameter to " -":func:`typing.dataclass_transform`." -msgstr "" - -#: ../NEWS:14548 -msgid "" -":gh:`79033`: Fix :func:`asyncio.Server.wait_closed` to actually do what the " -"docs promise -- wait for all existing connections to complete, after closing" -" the server." -msgstr "" - -#: ../NEWS:14552 -msgid "" -":gh:`51524`: Fix bug when calling trace.CoverageResults with valid infile." -msgstr "" - -#: ../NEWS:14554 -msgid "" -":gh:`99645`: Fix a bug in handling class cleanups in " -":class:`unittest.TestCase`. Now ``addClassCleanup()`` uses separate lists " -"for different ``TestCase`` subclasses, and ``doClassCleanups()`` only cleans" -" up the particular class." -msgstr "" - -#: ../NEWS:14559 -msgid "" -":gh:`99508`: Fix ``TypeError`` in ``Lib/importlib/_bootstrap_external.py`` " -"while calling ``_imp.source_hash()``." -msgstr "" - -#: ../NEWS:14562 -msgid "" -":gh:`66285`: Fix :mod:`asyncio` to not share event loop and signal wakeupfd " -"in forked processes. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:14565 -msgid "" -":gh:`97001`: Release the GIL when calling termios APIs to avoid blocking " -"threads." -msgstr "" - -#: ../NEWS:14568 -msgid "" -":gh:`92647`: Use final status of an enum to determine lookup or creation " -"branch of functional API." -msgstr "" - -#: ../NEWS:14571 -msgid "" -":gh:`99388`: Add *loop_factory* parameter to :func:`asyncio.run` to allow " -"specifying a custom event loop factory. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:14574 -msgid "" -":gh:`99341`: Fix :func:`ast.increment_lineno` to also cover " -":class:`ast.TypeIgnore` when changing line numbers." -msgstr "" - -#: ../NEWS:14577 -msgid "" -":gh:`99382`: Check the number of arguments in substitution in user generics " -"containing a :class:`~typing.TypeVarTuple` and one or more " -":class:`~typing.TypeVar`." -msgstr "" - -#: ../NEWS:14581 -msgid "" -":gh:`99379`: Fix substitution of :class:`~typing.ParamSpec` followed by " -":class:`~typing.TypeVarTuple` in generic aliases." -msgstr "" - -#: ../NEWS:14584 -msgid "" -":gh:`99344`: Fix substitution of :class:`~typing.TypeVarTuple` and " -":class:`~typing.ParamSpec` together in user generics." -msgstr "" - -#: ../NEWS:14587 -msgid "" -":gh:`99284`: Remove ``_use_broken_old_ctypes_structure_semantics_`` old " -"untested and undocumented hack from :mod:`ctypes`." -msgstr "" - -#: ../NEWS:14590 -msgid "" -":gh:`99201`: Fix :exc:`IndexError` when initializing the config variables on" -" Windows if ``HAVE_DYNAMIC_LOADING`` is not set." -msgstr "" - -#: ../NEWS:14593 -msgid "" -":gh:`99240`: Fix double-free bug in Argument Clinic ``str_converter`` by " -"extracting memory clean up to a new ``post_parsing`` section." -msgstr "" - -#: ../NEWS:14596 -msgid "" -":gh:`64490`: Fix refcount error when arguments are packed to tuple in " -"Argument Clinic." -msgstr "" - -#: ../NEWS:14599 -msgid "" -":gh:`99029`: :meth:`pathlib.PurePath.relative_to` now treats naked Windows " -"drive paths as relative. This brings its behaviour in line with other parts " -"of pathlib." -msgstr "" - -#: ../NEWS:14603 -msgid "" -":gh:`98253`: The implementation of the typing module is now more resilient " -"to reference leaks in binary extension modules." -msgstr "" - -#: ../NEWS:14606 -msgid "" -"Previously, a reference leak in a typed C API-based extension module could " -"leak internals of the typing module, which could in turn introduce leaks in " -"essentially any other package with typed function signatures. Although the " -"typing package is not the original source of the problem, such non-local " -"dependences exacerbate debugging of large-scale projects, and the " -"implementation was therefore changed to reduce harm by providing better " -"isolation." -msgstr "" - -#: ../NEWS:14614 -msgid "" -":gh:`98458`: Fix infinite loop in unittest when a self-referencing chained " -"exception is raised" -msgstr "" - -#: ../NEWS:14617 -msgid "" -":gh:`93453`: :func:`asyncio.get_event_loop` and many other :mod:`asyncio` " -"functions like :func:`asyncio.ensure_future`, :func:`asyncio.shield` or " -":func:`asyncio.gather`, and also the " -":meth:`~asyncio.BaseDefaultEventLoopPolicy.get_event_loop` method of " -":class:`asyncio.BaseDefaultEventLoopPolicy` now raise a :exc:`RuntimeError` " -"if called when there is no running event loop and the current event loop was" -" not set. Previously they implicitly created and set a new current event " -"loop. :exc:`DeprecationWarning` is no longer emitted if there is no running " -"event loop but the current event loop was set." -msgstr "" - -#: ../NEWS:14627 -msgid "" -":gh:`97966`: On ``uname_result``, restored expectation that ``_fields`` and " -"``_asdict`` would include all six properties including ``processor``." -msgstr "" - -#: ../NEWS:14630 -msgid "" -":gh:`98248`: Provide informative error messages in :func:`struct.pack` when " -"its integral arguments are not in range." -msgstr "" - -#: ../NEWS:14633 -msgid "" -":gh:`98108`: ``zipfile.Path`` is now pickleable if its initialization " -"parameters were pickleable (e.g. for file system paths)." -msgstr "" - -#: ../NEWS:14636 -msgid "" -":gh:`98098`: Created packages from zipfile and test_zipfile modules, " -"separating ``zipfile.Path`` functionality." -msgstr "" - -#: ../NEWS:14639 -msgid "" -":gh:`82836`: Fix :attr:`~ipaddress.IPv4Address.is_private` properties in the" -" :mod:`ipaddress` module. Previously non-private networks (0.0.0.0/0) would " -"return ``True`` from this method; now they correctly return ``False``." -msgstr "" - -#: ../NEWS:14643 -msgid "" -":gh:`96828`: Add an :const:`~ssl.OP_ENABLE_KTLS` option for enabling the use" -" of the kernel TLS (kTLS). Patch by Illia Volochii." -msgstr "" - -#: ../NEWS:14646 -msgid "" -":gh:`88863`: To avoid apparent memory leaks when " -":func:`asyncio.open_connection` raises, break reference cycles generated by " -"local exception and future instances (which has exception instance as its " -"member var). Patch by Dong Uk, Kang." -msgstr "" - -#: ../NEWS:14651 -msgid "" -":gh:`91078`: :meth:`TarFile.next` now returns ``None`` when called on an " -"empty tarfile." -msgstr "" - -#: ../NEWS:14654 -msgid "" -":issue:`47220`: Document the optional *callback* parameter of " -":class:`WeakMethod`. Patch by Géry Ogam." -msgstr "" - -#: ../NEWS:14657 -msgid "" -":issue:`44817`: Ignore WinError 53 (ERROR_BAD_NETPATH), 65 " -"(ERROR_NETWORK_ACCESS_DENIED) and 161 (ERROR_BAD_PATHNAME) when using " -"ntpath.realpath()." -msgstr "" - -#: ../NEWS:14661 -msgid "" -":issue:`41260`: Rename the *fmt* parameter of the pure Python implementation" -" of :meth:`datetime.date.strftime` to *format*." -msgstr "" - -#: ../NEWS:14664 -msgid "" -":issue:`15999`: All built-in functions now accept arguments of any type " -"instead of just ``bool`` and ``int`` for boolean parameters." -msgstr "" - -#: ../NEWS:14670 -msgid "" -":gh:`99931`: Use `sphinxext-opengraph `__ to generate `OpenGraph metadata " -"`__." -msgstr "" - -#: ../NEWS:14674 -msgid "" -":gh:`89682`: Reworded docstring of the default ``__contains__`` to clarify " -"that it returns a :class:`bool`." -msgstr "" - -#: ../NEWS:14677 -msgid "" -":gh:`88330`: Improved the description of what a resource is in " -"importlib.resources docs." -msgstr "" - -#: ../NEWS:14680 -msgid "" -":gh:`92892`: Document that calling variadic functions with ctypes requires " -"special care on macOS/arm64 (and possibly other platforms)." -msgstr "" - -#: ../NEWS:14683 -msgid "" -":issue:`41825`: Restructured the documentation for the :func:`os.wait* " -"` family of functions, and improved the docs for :func:`os.waitid` " -"with more explanation of the possible argument constants." -msgstr "" - -#: ../NEWS:14691 -msgid "" -":gh:`99892`: Skip test_normalization() of test_unicodedata if it fails to " -"download NormalizationTest.txt file from pythontest.net. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:14695 -msgid "" -":gh:`99934`: Correct test_marsh on (32 bit) x86: test_deterministic sets was" -" failing." -msgstr "" - -#: ../NEWS:14698 -msgid "" -":gh:`99741`: We've implemented multi-phase init (PEP 489/630/687) for the " -"internal (for testing) _xxsubinterpreters module." -msgstr "" - -#: ../NEWS:14701 -msgid "" -":gh:`99659`: Optional big memory tests in ``test_sqlite3`` now catch the " -"correct :exc:`sqlite.DataError` exception type in case of too large strings " -"and/or blobs passed." -msgstr "" - -#: ../NEWS:14705 -msgid ":gh:`99593`: Cover the Unicode C API with tests." -msgstr "" - -#: ../NEWS:14707 -msgid ":gh:`96002`: Add functional test for Argument Clinic." -msgstr "" - -#: ../NEWS:14712 -msgid "" -":gh:`99086`: Fix ``-Wimplicit-int``, ``-Wstrict-prototypes``, and " -"``-Wimplicit-function-declaration`` compiler warnings in " -":program:`configure` checks." -msgstr "" - -#: ../NEWS:14716 -msgid ":gh:`99337`: Fix a compilation issue with GCC 12 on macOS." -msgstr "" - -#: ../NEWS:14718 -msgid "" -":gh:`99289`: Add a ``COMPILEALL_OPTS`` variable in Makefile to override " -":mod:`compileall` options (default: ``-j0``) in ``make install``. Also " -"merged the ``compileall`` commands into a single command building .pyc files" -" for the all optimization levels (0, 1, 2) at once. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:14724 -msgid "" -":gh:`98872`: Fix a possible fd leak in ``Programs/_freeze_module.c`` " -"introduced in Python 3.11." -msgstr "" - -#: ../NEWS:14727 -msgid "" -":gh:`88226`: Always define ``TARGET_*`` labels in ``Python/ceval.c``, even " -"if ``USE_COMPUTED_GOTOS`` is disabled. This allows breakpoints to be set at" -" those labels in (for instance) ``gdb``." -msgstr "" - -#: ../NEWS:14734 -msgid "" -":gh:`99345`: Use faster initialization functions to detect install location " -"for Windows Store package" -msgstr "" - -#: ../NEWS:14737 -msgid "" -":gh:`98629`: Fix initialization of :data:`sys.version` and ``sys._git`` on " -"Windows" -msgstr "" - -#: ../NEWS:14740 -msgid "" -":gh:`99442`: Fix handling in :ref:`launcher` when ``argv[0]`` does not " -"include a file extension." -msgstr "" - -#: ../NEWS:14743 -msgid "" -":issue:`40882`: Fix a memory leak in " -":class:`multiprocessing.shared_memory.SharedMemory` on Windows." -msgstr "" - -#: ../NEWS:14749 -msgid "" -":gh:`87235`: On macOS ``python3 /dev/fd/9 9` with unhashable" -" exceptions." -msgstr "" - -#: ../NEWS:14833 -msgid "" -":gh:`99204`: Fix calculation of :data:`sys._base_executable` when inside a " -"POSIX virtual environment using copies of the python binary when the base " -"installation does not provide the executable name used by the venv. " -"Calculation will fall back to alternative names (\"python\", " -"\"python.\")." -msgstr "" - -#: ../NEWS:14839 -msgid "" -":gh:`96055`: Update :mod:`faulthandler` to emit an error message with the " -"proper unexpected signal number. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:14842 -msgid "" -":gh:`99153`: Fix location of :exc:`SyntaxError` for a :keyword:`try` block " -"with both :keyword:`except` and :keyword:`except* `." -msgstr "" - -#: ../NEWS:14845 -msgid "" -":gh:`98686`: Merge the adaptive opcode logic into each instruction's " -"unquickened variant, and merge the logic in ``EXTENDED_ARG_QUICK`` into " -":opcode:`EXTENDED_ARG`. With these changes, the quickening that happens at " -"code object creation is now only responsible for initializing warmup " -"counters and inserting superinstructions." -msgstr "" - -#: ../NEWS:14851 -msgid "" -":gh:`99103`: Fix the error reporting positions of specialized traceback " -"anchors when the source line contains Unicode characters." -msgstr "" - -#: ../NEWS:14854 -msgid "" -":gh:`99139`: Improve the error suggestion for :exc:`NameError` exceptions " -"for instances. Now if a :exc:`NameError` is raised in a method and the " -"instance has an attribute that's exactly equal to the name in the exception," -" the suggestion will include ``self.`` instead of the closest match in" -" the method scope. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:14860 -msgid "" -":gh:`98401`: Octal escapes with value larger than ``0o377`` (ex: " -"``\"\\477\"``), deprecated in Python 3.11, now produce a " -":exc:`SyntaxWarning`, instead of :exc:`DeprecationWarning`. In a future " -"Python version they will be eventually a :exc:`SyntaxError`. Patch by Victor" -" Stinner." -msgstr "" - -#: ../NEWS:14865 -msgid "" -":gh:`98401`: A backslash-character pair that is not a valid escape sequence " -"now generates a :exc:`SyntaxWarning`, instead of :exc:`DeprecationWarning`." -" For example, ``re.compile(\"\\d+\\.\\d+\")`` now emits a " -":exc:`SyntaxWarning` (``\"\\d\"`` is an invalid escape sequence), use raw " -"strings for regular expression: ``re.compile(r\"\\d+\\.\\d+\")``. In a " -"future Python version, :exc:`SyntaxError` will eventually be raised, instead" -" of :exc:`SyntaxWarning`. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:14873 -msgid "" -":gh:`96793`: Handle StopIteration and StopAsyncIteration raised in generator" -" or coroutines in the bytecode, rather than in wrapping C code." -msgstr "" - -#: ../NEWS:14876 -msgid "" -":gh:`98931`: Improve the :exc:`SyntaxError` error message when the user " -"types ``import x from y`` instead of ``from y import x``. Patch by Pablo " -"Galindo" -msgstr "" - -#: ../NEWS:14879 -msgid "" -":gh:`98852`: Fix subscription of type aliases containing bare generic types " -"or types like :class:`~typing.TypeVar`: for example ``tuple[A, T][int]`` and" -" ``tuple[TypeVar, T][int]``, where ``A`` is a generic type, and ``T`` is a " -"type variable." -msgstr "" - -#: ../NEWS:14884 -msgid "" -":gh:`98925`: Lower the recursion depth for marshal on WASI to support (in-" -"development) wasmtime 2.0." -msgstr "" - -#: ../NEWS:14887 -msgid "" -":gh:`98783`: Fix multiple crashes in debug mode when ``str`` subclasses are " -"used instead of ``str`` itself." -msgstr "" - -#: ../NEWS:14890 -msgid "" -":gh:`98811`: Use complete source locations to simplify detection of " -"``__future__`` imports which are not at the beginning of the file. Also " -"corrects the offset in the exception raised in one case, which was off by " -"one and impeded highlighting." -msgstr "" - -#: ../NEWS:14895 -msgid "" -":gh:`96793`: Add specialization of :opcode:`FOR_ITER` for generators. Saves " -"multiple layers of dispatch and checking to get from the :opcode:`FOR_ITER` " -"instruction in the caller to the :opcode:`RESUME` in the generator." -msgstr "" - -#: ../NEWS:14900 -msgid ":gh:`98762`: Fix source locations of :keyword:`match` sub-patterns." -msgstr "" - -#: ../NEWS:14902 -msgid "" -":gh:`98586`: Added the methods :c:func:`PyObject_Vectorcall` and " -":c:func:`PyObject_VectorcallMethod` to the :ref:`Limited API ` along" -" with the auxiliary macro constant " -":c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`." -msgstr "" - -#: ../NEWS:14907 -msgid "" -"The availability of these functions enables more efficient :PEP:`590` vector" -" calls from binary extension modules that avoid argument boxing/unboxing " -"overheads." -msgstr "" - -#: ../NEWS:14911 -msgid "" -":gh:`99257`: Fix an issue where member descriptors (such as those for " -":attr:`~object.__slots__`) could behave incorrectly or crash instead of " -"raising a :exc:`TypeError` when accessed via an instance of an invalid type." -msgstr "" - -#: ../NEWS:14916 -msgid "" -":gh:`93143`: Rather than changing :attr:`~types.CodeType.co_code`, the " -"interpreter will now display a :exc:`RuntimeWarning` and assign " -":const:`None` to any fast locals that are left unbound after jumps or " -":keyword:`del` statements executed while tracing." -msgstr "" - -#: ../NEWS:14921 -msgid "" -":gh:`96421`: When calling into Python code from C code, through " -":c:func:`PyEval_EvalFrameEx` or a related C-API function, a shim frame in " -"inserted into the call stack. This occurs in the " -"``_PyEval_EvalFrameDefault()`` function. The extra frame should be invisible" -" to all Python and most C extensions, but out-of-process profilers and " -"debuggers need to be aware of it. These shim frames can be detected by " -"checking ``frame->owner == FRAME_OWNED_BY_CSTACK``." -msgstr "" - -#: ../NEWS:14929 -msgid "" -"Extensions implementing their own interpreters using PEP 523 need to be " -"aware of this shim frame and the changes to the semantics of " -":opcode:`RETURN_VALUE`, :opcode:`YIELD_VALUE`, and " -":opcode:`RETURN_GENERATOR`, which now clear the frame." -msgstr "" - -#: ../NEWS:14934 -msgid "" -":gh:`98415`: Fix detection of MAC addresses for :mod:`uuid` on certain OSs. " -"Patch by Chaim Sanders" -msgstr "" - -#: ../NEWS:14937 -msgid "" -":gh:`98686`: Quicken all code objects, and specialize adaptive bytecode " -"instructions more aggressively." -msgstr "" - -#: ../NEWS:14940 -msgid "" -":gh:`92119`: Print exception class name instead of its string representation" -" when raising errors from :mod:`ctypes` calls." -msgstr "" - -#: ../NEWS:14943 -msgid "" -":gh:`91058`: :exc:`ImportError` raised from failed ``from import " -"`` now include suggestions for the value of ```` based on the " -"available names in ````. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:14947 -msgid "" -":gh:`96793`: The :opcode:`FOR_ITER` now leaves the iterator on the stack on " -"termination of the loop. This is to assist specialization of loops for " -"generators." -msgstr "" - -#: ../NEWS:14951 -msgid "" -":gh:`90716`: Add _pylong.py module. It includes asymptotically faster " -"algorithms that can be used for operations on integers with many digits. It " -"is used by longobject.c to speed up some operations." -msgstr "" - -#: ../NEWS:14955 -msgid "" -":gh:`95389`: Expose :const:`~socket.ETH_P_ALL` and some of the " -":ref:`ETHERTYPE_* constants ` in :mod:`socket`. Patch" -" by Noam Cohen." -msgstr "" - -#: ../NEWS:14959 -msgid "" -":gh:`93696`: Allow :mod:`pdb` to locate source for frozen modules in the " -"standard library." -msgstr "" - -#: ../NEWS:14965 -msgid "" -":gh:`99418`: Fix bug in :func:`urllib.parse.urlparse` that causes URL " -"schemes that begin with a digit, a plus sign, or a minus sign to be parsed " -"incorrectly." -msgstr "" - -#: ../NEWS:14969 -msgid "" -":gh:`94597`: Deprecate :class:`asyncio.AbstractChildWatcher` to be removed " -"in Python 3.14. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:14972 -msgid ":gh:`99305`: Improve performance of :func:`secrets.token_hex`." -msgstr "" - -#: ../NEWS:14974 -msgid "" -":gh:`74044`: Fixed bug where :func:`inspect.signature` reported incorrect " -"arguments for decorated methods." -msgstr "" - -#: ../NEWS:14977 -msgid "" -":gh:`99275`: Fix ``SystemError`` in :mod:`ctypes` when exception was not set" -" during ``__initsubclass__``." -msgstr "" - -#: ../NEWS:14980 -msgid "" -":gh:`99277`: Remove older version of " -"``_SSLProtocolTransport.get_write_buffer_limits`` in " -":mod:`!asyncio.sslproto`" -msgstr "" - -#: ../NEWS:14984 -msgid ":gh:`99248`: fix negative numbers failing in verify()" -msgstr "" - -#: ../NEWS:14986 -msgid "" -":gh:`99155`: Fix :class:`statistics.NormalDist` pickle with ``0`` and ``1`` " -"protocols." -msgstr "" - -#: ../NEWS:14989 -msgid "" -":gh:`93464`: ``enum.auto()`` is now correctly activated when combined with " -"other assignment values. E.g. ``ONE = auto(), 'some text'`` will now " -"evaluate as ``(1, 'some text')``." -msgstr "" - -#: ../NEWS:14993 -msgid ":gh:`99134`: Update the bundled copy of pip to version 22.3.1." -msgstr "" - -#: ../NEWS:14995 -msgid "" -":gh:`92584`: Remove the ``distutils`` package. It was deprecated in Python " -"3.10 by :pep:`632` \"Deprecate distutils module\". For projects still using " -"``distutils`` and cannot be updated to something else, the ``setuptools`` " -"project can be installed: it still provides ``distutils``. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:15001 -msgid "" -":gh:`98999`: Now :mod:`!_pyio` is consistent with :mod:`!_io` in raising " -"``ValueError`` when executing methods over closed buffers." -msgstr "" - -#: ../NEWS:15004 -msgid "" -":gh:`83004`: Clean up refleak on failed module initialisation in " -":mod:`!_zoneinfo`" -msgstr "" - -#: ../NEWS:15007 -msgid "" -":gh:`83004`: Clean up refleaks on failed module initialisation in " -":mod:`!_pickle`" -msgstr "" - -#: ../NEWS:15010 -msgid "" -":gh:`83004`: Clean up refleak on failed module initialisation in " -":mod:`!_io`." -msgstr "" - -#: ../NEWS:15012 -msgid "" -":gh:`98897`: Fix memory leak in :func:`math.dist` when both points don't " -"have the same dimension. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:15015 -msgid "" -":gh:`98878`: Use the frame bound builtins when offering a name suggestion in" -" :mod:`traceback` to prevent crashing when ``__builtins__`` is not a dict." -msgstr "" - -#: ../NEWS:15018 -msgid "" -":gh:`98139`: In :mod:`importlib._bootstrap`, enhance namespace package repr " -"to ````." -msgstr "" - -#: ../NEWS:15021 -msgid "" -":gh:`90352`: Fix ``_SelectorDatagramTransport`` to inherit from " -":class:`~asyncio.DatagramTransport` in :mod:`asyncio`. Patch by Kumar " -"Aditya." -msgstr "" - -#: ../NEWS:15025 -msgid "" -":gh:`98793`: Fix argument typechecks in :func:`!_overlapped.WSAConnect` and " -":func:`!_overlapped.Overlapped.WSASendTo` functions." -msgstr "" - -#: ../NEWS:15028 -msgid "" -":gh:`98744`: Prevent crashing in :mod:`traceback` when retrieving the byte-" -"offset for some source files that contain certain unicode characters." -msgstr "" - -#: ../NEWS:15031 -msgid "" -":gh:`98740`: Fix internal error in the :mod:`re` module which in very rare " -"circumstances prevented compilation of a regular expression containing a " -":ref:`conditional expression ` without the " -"\"else\" branch." -msgstr "" - -#: ../NEWS:15036 -msgid "" -":gh:`98703`: Fix :meth:`asyncio.StreamWriter.drain` to call " -"``protocol.connection_lost`` callback only once on Windows." -msgstr "" - -#: ../NEWS:15039 -msgid "" -":gh:`98624`: Add a mutex to unittest.mock.NonCallableMock to protect " -"concurrent access to mock attributes." -msgstr "" - -#: ../NEWS:15042 -msgid "" -":gh:`98658`: The :class:`array.array` class now supports subscripting, " -"making it a :term:`generic type`." -msgstr "" - -#: ../NEWS:15045 -msgid "" -":gh:`98284`: Improved :class:`TypeError` message for undefined abstract " -"methods of a :class:`abc.ABC` instance. The names of the missing methods are" -" surrounded by single-quotes to highlight them." -msgstr "" - -#: ../NEWS:15049 -msgid "" -":gh:`96151`: Allow ``BUILTINS`` to be a valid field name for frozen " -"dataclasses." -msgstr "" - -#: ../NEWS:15052 -msgid "" -":gh:`98086`: Make sure ``patch.dict()`` can be applied on async functions." -msgstr "" - -#: ../NEWS:15054 -msgid "" -":gh:`72719`: Remove modules :mod:`!asyncore` and :mod:`!asynchat`, which " -"were deprecated by :pep:`594`." -msgstr "" - -#: ../NEWS:15057 -msgid "" -":gh:`96192`: Fix handling of ``bytes`` :term:`path-like objects ` in :func:`os.ismount`." -msgstr "" - -#: ../NEWS:15060 -msgid "" -":gh:`94172`: :mod:`ftplib`: Remove the ``FTP_TLS.ssl_version`` class " -"attribute: use the *context* parameter instead. Patch by Victor Stinner" -msgstr "" - -#: ../NEWS:15063 -msgid "" -":gh:`94172`: Remove the *keyfile* and *certfile* parameters from the " -":mod:`ftplib`, :mod:`imaplib`, :mod:`poplib` and :mod:`smtplib` modules, and" -" the *key_file*, *cert_file* and *check_hostname* parameters from the " -":mod:`http.client` module, all deprecated since Python 3.6. Use the " -"*context* parameter (*ssl_context* in :mod:`imaplib`) instead. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:15070 -msgid "" -":gh:`83638`: Add the :attr:`~sqlite3.Connection.autocommit` attribute to " -":class:`sqlite3.Connection` and the *autocommit* parameter to " -":func:`sqlite3.connect` to control :pep:`249`-compliant :ref:`transaction " -"handling `. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../NEWS:15076 -msgid "" -":gh:`92452`: Fixed a race condition that could cause " -":func:`sysconfig.get_config_var` to incorrectly return :const:`None` in " -"multi-threaded programs." -msgstr "" - -#: ../NEWS:15080 -msgid "" -":gh:`91803`: Fix an error when using a method of objects mocked with " -":func:`unittest.mock.create_autospec` after it was sealed with " -":func:`unittest.mock.seal` function." -msgstr "" - -#: ../NEWS:15084 -msgid "" -":issue:`38523`: :func:`shutil.copytree` now applies the " -"*ignore_dangling_symlinks* argument recursively." -msgstr "" - -#: ../NEWS:15087 -msgid "" -":issue:`40358`: Add walk_up argument in " -":meth:`pathlib.PurePath.relative_to`." -msgstr "" - -#: ../NEWS:15089 -msgid "" -":issue:`36267`: Fix IndexError in :class:`argparse.ArgumentParser` when a " -"``store_true`` action is given an explicit argument." -msgstr "" - -#: ../NEWS:15095 -msgid "" -":gh:`98832`: Changes wording of docstring for :func:`pathlib.Path.iterdir`." -msgstr "" - -#: ../NEWS:15097 -msgid "" -":gh:`97966`: Update uname docs to clarify the special nature of the platform" -" attribute and to indicate when it became late-bound." -msgstr "" - -#: ../NEWS:15103 -msgid "" -":gh:`98903`: The Python test suite now fails with exit code 4 if no tests " -"ran. It should help detecting typos in test names and test methods." -msgstr "" - -#: ../NEWS:15106 -msgid "" -":gh:`98713`: Fix a bug in the :mod:`typing` tests where a test relying on " -"CPython-specific implementation details was not decorated with " -"``@cpython_only`` and was not skipped on other implementations." -msgstr "" - -#: ../NEWS:15110 -msgid "" -":gh:`87390`: Add tests for star-unpacking with PEP 646, and some other " -"miscellaneous PEP 646 tests." -msgstr "" - -#: ../NEWS:15113 -msgid "" -":gh:`96853`: Added explicit coverage of ``Py_Initialize`` (and hence " -"``Py_InitializeEx``) back to the embedding tests (all other embedding tests " -"migrated to ``Py_InitializeFromConfig`` in Python 3.11)" -msgstr "" - -#: ../NEWS:15117 -msgid "" -":issue:`34272`: Some C API tests were moved into the new Lib/test/test_capi/" -" directory." -msgstr "" - -#: ../NEWS:15123 -msgid "" -":gh:`99086`: Fix ``-Wimplicit-int`` compiler warning in :program:`configure`" -" check for ``PTHREAD_SCOPE_SYSTEM``." -msgstr "" - -#: ../NEWS:15126 -msgid ":gh:`99016`: Fix build with ``PYTHON_FOR_REGEN=python3.8``." -msgstr "" - -#: ../NEWS:15128 -msgid "" -":gh:`97731`: Specify the full path to the source location for ``make " -"docclean`` (needed for cross-builds)." -msgstr "" - -#: ../NEWS:15131 -msgid ":gh:`98949`: Drop unused build dependency on ``readelf``." -msgstr "" - -#: ../NEWS:15133 -msgid "" -":gh:`98989`: Use ``python3.11``, if available, for regeneration and " -"freezing." -msgstr "" - -#: ../NEWS:15135 -msgid "" -":gh:`98831`: Add new tooling, in ``Tools/cases_generator``, to generate the " -"interpreter switch statement from a list of opcode definitions. This only " -"affects adding, modifying or removing instruction definitions. The " -"instruction definitions now live in ``Python/bytecodes.c``, in the form of a" -" `custom DSL (under development) `__. The tooling " -"reads this file and writes ``Python/generated_cases.c.h``, which is then " -"included by ``Python/ceval.c`` to provide most of the cases of the main " -"interpreter switch." -msgstr "" - -#: ../NEWS:15145 -msgid "" -":gh:`98817`: Remove PCbuild/lib.pyproj: it's not used for anything, is only " -"a minor convenience for Visual Studio users (who probably mostly don't even " -"know about it), and it takes a lot of maintenance effort to keep updated." -msgstr "" - -#: ../NEWS:15149 -msgid "" -":gh:`98776`: Fix ``make regen-test-levenshtein`` for out-of-tree builds." -msgstr "" - -#: ../NEWS:15151 -msgid "" -":gh:`98707`: Don't use vendored ``libmpdec`` headers if :option:`--with-" -"system-libmpdec` is passed to :program:`configure`. Don't use vendored " -"``libexpat`` headers if :option:`--with-system-expat` is passed to " -":program:`configure`." -msgstr "" - -#: ../NEWS:15159 -msgid "" -":gh:`98689`: Update Windows builds to zlib v1.2.13. v1.2.12 has " -":cve:`2022-37434`, but the vulnerable ``inflateGetHeader`` API is not used " -"by Python." -msgstr "" - -#: ../NEWS:15163 -msgid "" -":gh:`98790`: Assumes that a missing ``DLLs`` directory means that standard " -"extension modules are in the executable's directory." -msgstr "" - -#: ../NEWS:15166 -msgid "" -":gh:`98745`: Update :file:`py.exe` launcher to install 3.11 by default and " -"3.12 on request." -msgstr "" - -#: ../NEWS:15169 -msgid "" -":gh:`98692`: Fix the :ref:`launcher` ignoring unrecognized shebang lines " -"instead of treating them as local paths" -msgstr "" - -#: ../NEWS:15172 -msgid ":gh:`94328`: Update Windows installer to use SQLite 3.39.4." -msgstr "" - -#: ../NEWS:15177 -msgid ":gh:`94328`: Update macOS installer to SQLite 3.39.4." -msgstr "" - -#: ../NEWS:15182 -msgid "" -":gh:`98724`: The :c:macro:`Py_CLEAR`, :c:macro:`Py_SETREF` and " -":c:macro:`Py_XSETREF` macros now only evaluate their argument once. If the " -"argument has side effects, these side effects are no longer duplicated. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:15187 -msgid "" -":gh:`98978`: Fix use-after-free in ``Py_SetPythonHome(NULL)``, " -"``Py_SetProgramName(NULL)`` and ``_Py_SetProgramFullPath(NULL)`` function " -"calls. Issue reported by Benedikt Reinartz. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:15191 -msgid "" -":gh:`98410`: Add ``getbufferproc`` and ``releasebufferproc`` to the stable " -"API." -msgstr "" - -#: ../NEWS:15194 -msgid "" -":gh:`98610`: Some configurable capabilities of sub-interpreters have " -"changed. They always allow subprocesses (:mod:`subprocess`) now, whereas " -"before subprocesses could be optionally disallowed for a sub-interpreter. " -"Instead :func:`os.exec` can now be disallowed. Disallowing daemon threads is" -" now supported. Disallowing all threads is still allowed, but is never done" -" by default. Note that the optional restrictions are only available through " -"``_Py_NewInterpreterFromConfig()``, which isn't a public API. They do not " -"affect the main interpreter, nor :c:func:`Py_NewInterpreter`." -msgstr "" - -#: ../NEWS:15203 -msgid "" -":gh:`98608`: A ``_PyInterpreterConfig`` has been added and " -"``_Py_NewInterpreter()`` has been renamed to " -"``_Py_NewInterpreterFromConfig()``. The \"isolated_subinterpreters\" " -"argument is now a granular config that captures the previous behavior. Note " -"that this is all \"private\" API." -msgstr "" - -#: ../NEWS:15209 -msgid "" -":gh:`96853`: ``Py_InitializeEx`` now correctly calls ``PyConfig_Clear`` " -"after initializing the interpreter (the omission didn't cause a memory leak " -"only because none of the dynamically allocated config fields are populated " -"by the wrapper function)" -msgstr "" - -#: ../NEWS:15214 -msgid "" -":gh:`91248`: Add :c:func:`PyFrame_GetVar` and :c:func:`PyFrame_GetVarString`" -" functions to get a frame variable by its name. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:15219 -msgid "Python 3.12.0 alpha 1" -msgstr "" - -#: ../NEWS:15221 -msgid "*Release date: 2022-10-25*" -msgstr "" - -#: ../NEWS:15226 -msgid "" -":gh:`97616`: Fix multiplying a list by an integer (``list *= int``): detect " -"the integer overflow when the new allocated length is close to the maximum " -"size. Issue reported by Jordan Limor. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:15230 -msgid "" -":gh:`97514`: On Linux the :mod:`multiprocessing` module returns to using " -"filesystem backed unix domain sockets for communication with the " -"*forkserver* process instead of the Linux abstract socket namespace. Only " -"code that chooses to use the :ref:`\"forkserver\" start method " -"` is affected." -msgstr "" - -#: ../NEWS:15236 -msgid "" -"Abstract sockets have no permissions and could allow any user on the system " -"in the same `network namespace `_ (often the whole system) to inject " -"code into the multiprocessing *forkserver* process. This was a potential " -"privilege escalation. Filesystem based socket permissions restrict this to " -"the *forkserver* process user as was the default in Python 3.8 and earlier." -msgstr "" - -#: ../NEWS:15244 -msgid "This prevents Linux :cve:`2022-42919`." -msgstr "" - -#: ../NEWS:15246 -msgid "" -":gh:`87389`: :mod:`http.server`: Fix an open redirection vulnerability in " -"the HTTP server when an URI path starts with ``//``. Vulnerability " -"discovered, and initial fix proposed, by Hamza Avvan." -msgstr "" - -#: ../NEWS:15250 -msgid "" -":gh:`79096`: LWPCookieJar and MozillaCookieJar create files with file mode " -"600 instead of 644 (Microsoft Windows is not affected)" -msgstr "" - -#: ../NEWS:15253 -msgid "" -":gh:`92888`: Fix ``memoryview`` use after free when accessing the backing " -"buffer in certain cases." -msgstr "" - -#: ../NEWS:15256 -msgid "" -":gh:`68966`: The deprecated mailcap module now refuses to inject unsafe text" -" (filenames, MIME types, parameters) into shell commands. Instead of using " -"such text, it will warn and act as if a match was not found (or for test " -"commands, as if the test failed)." -msgstr "" - -#: ../NEWS:15264 -msgid "" -":gh:`98374`: Suppress ImportError for invalid query for help() command. " -"Patch by Donghee Na." -msgstr "" - -#: ../NEWS:15267 -msgid "" -":gh:`98461`: Fix source location in bytecode for list, set and dict " -"comprehensions as well as generator expressions." -msgstr "" - -#: ../NEWS:15270 -msgid "" -":gh:`98354`: Added unicode check for ``name`` attribute of ``spec`` argument" -" passed in :func:`!_imp.create_builtin` function." -msgstr "" - -#: ../NEWS:15273 -msgid ":gh:`98398`: Fix source location of 'assert' bytecodes." -msgstr "" - -#: ../NEWS:15275 -msgid "" -":gh:`98390`: Fix location of sub-expressions of boolean expressions, by " -"reducing their scope to that of the sub-expression." -msgstr "" - -#: ../NEWS:15278 -msgid "" -":gh:`98254`: Modules from the standard library are now potentially suggested" -" as part of the error messages displayed by the interpreter when an " -":exc:`NameError` is raised to the top level. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:15282 -msgid "" -":gh:`97997`: Add running column offset to the tokenizer state to avoid " -"calculating AST column information with pointer arithmetic." -msgstr "" - -#: ../NEWS:15285 -msgid "" -":gh:`97973`: Modify the tokenizer to return all necessary information the " -"parser needs to set location information in the AST nodes, so that the " -"parser does not have to calculate those doing pointer arithmetic." -msgstr "" - -#: ../NEWS:15289 -msgid "" -":gh:`96078`: :func:`os.sched_yield` now release the GIL while calling " -"sched_yield(2). Patch by Donghee Na." -msgstr "" - -#: ../NEWS:15292 -msgid ":gh:`97955`: Migrate :mod:`zoneinfo` to Argument Clinic." -msgstr "" - -#: ../NEWS:15294 -msgid "" -":gh:`97912`: The compiler now avoids quadratic behavior when finding which " -"instructions should use the :opcode:`LOAD_FAST_CHECK` opcode." -msgstr "" - -#: ../NEWS:15297 -msgid "" -":gh:`97002`: Fix an issue where several frame objects could be backed by the" -" same interpreter frame, possibly leading to corrupted memory and hard " -"crashes of the interpreter." -msgstr "" - -#: ../NEWS:15301 -msgid "" -":gh:`97943`: Bugfix: :c:func:`PyFunction_GetAnnotations` should return a " -"borrowed reference. It was returning a new reference." -msgstr "" - -#: ../NEWS:15304 -msgid "" -":gh:`97922`: The Garbage Collector now runs only on the eval breaker " -"mechanism of the Python bytecode evaluation loop instead on object " -"allocations. The GC can also run when :c:func:`PyErr_CheckSignals` is called" -" so C extensions that need to run for a long time without executing any " -"Python code also have a chance to execute the GC periodically." -msgstr "" - -#: ../NEWS:15310 -msgid "" -":gh:`65961`: When ``__package__`` is different than ``__spec__.parent``, " -"raise a ``DeprecationWarning`` instead of ``ImportWarning``." -msgstr "" - -#: ../NEWS:15313 -msgid "" -"Also remove ``importlib.util.set_package()`` which was scheduled for " -"removal." -msgstr "" - -#: ../NEWS:15316 -msgid "" -":gh:`97850`: Long deprecated, ``module_repr()`` should now be completely " -"eradicated." -msgstr "" - -#: ../NEWS:15319 -msgid "" -":gh:`86298`: In cases where ``warnings.warn_explicit()`` consults the " -"module's loader, an ``DeprecationWarning`` is issued when ``m.__loader__`` " -"differs from ``m.__spec__.loader``." -msgstr "" - -#: ../NEWS:15323 -msgid "" -":gh:`97779`: Ensure that all Python frame objects are backed by \"complete\"" -" frames." -msgstr "" - -#: ../NEWS:15326 -msgid "" -":gh:`91052`: Add API for subscribing to modification events on selected " -"dictionaries." -msgstr "" - -#: ../NEWS:15329 -msgid "" -":gh:`97752`: Fix possible data corruption or crashes when accessing the " -"``f_back`` member of newly-created generator or coroutine frames." -msgstr "" - -#: ../NEWS:15332 -msgid "" -":gh:`97591`: Fixed a missing incref/decref pair in " -"``Exception.__setstate__()``. Patch by Ofey Chan." -msgstr "" - -#: ../NEWS:15335 -msgid "" -":gh:`97670`: Remove the :func:`sys.getdxp` function and the " -"``Tools/scripts/analyze_dxp.py`` script. DXP stands for \"dynamic execution " -"pairs\". They were related to ``DYNAMIC_EXECUTION_PROFILE`` and ``DXPAIRS`` " -"macros which have been removed in Python 3.11. Python can now be built with " -":option:`./configure --enable-pystats <--enable-pystats>` to gather " -"statistics on Python opcodes. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:15342 -msgid "" -":gh:`94526`: Fix the Python path configuration used to initialized " -":data:`sys.path` at Python startup. Paths are no longer encoded to " -"UTF-8/strict to avoid encoding errors if it contains surrogate characters " -"(bytes paths are decoded with the surrogateescape error handler). Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:15348 -msgid "" -":gh:`96670`: The parser now raises :exc:`SyntaxError` when parsing source " -"code containing null bytes. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:15351 -msgid "" -":gh:`96975`: Fix a crash occurring when :c:func:`PyEval_GetFrame` is called " -"while the topmost Python frame is in a partially-initialized state." -msgstr "" - -#: ../NEWS:15354 -msgid "" -":gh:`96848`: Fix command line parsing: reject :option:`-X int_max_str_digits" -" <-X>` option with no value (invalid) when the " -":envvar:`PYTHONINTMAXSTRDIGITS` environment variable is set to a valid " -"limit. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:15359 -msgid "" -":gh:`95921`: Fix overly-broad source position information for chained " -"comparisons used as branching conditions." -msgstr "" - -#: ../NEWS:15362 -msgid ":gh:`96821`: Fix undefined behaviour in ``audioop.c``." -msgstr "" - -#: ../NEWS:15364 -msgid ":gh:`96821`: Fix undefined behaviour in ``_testcapimodule.c``." -msgstr "" - -#: ../NEWS:15366 -msgid "" -":gh:`95778`: When :exc:`ValueError` is raised if an integer is larger than " -"the limit, mention the :func:`sys.set_int_max_str_digits` function in the " -"error message. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:15370 -msgid "" -":gh:`96387`: At Python exit, sometimes a thread holding the GIL can wait " -"forever for a thread (usually a daemon thread) which requested to drop the " -"GIL, whereas the thread already exited. To fix the race condition, the " -"thread which requested the GIL drop now resets its request before exiting. " -"Issue discovered and analyzed by Mingliang ZHAO. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:15376 -msgid "" -":gh:`96864`: Fix a possible assertion failure, fatal error, or " -":exc:`SystemError` if a line tracing event raises an exception while opcode " -"tracing is enabled." -msgstr "" - -#: ../NEWS:15380 -msgid "" -":gh:`95778`: The ``PyLong_FromString`` function was refactored to make it " -"more maintainable and extensible." -msgstr "" - -#: ../NEWS:15383 -msgid "" -":gh:`96678`: Fix undefined behaviour in C code of null pointer arithmetic." -msgstr "" - -#: ../NEWS:15385 -msgid "" -":gh:`96754`: Make sure that all frame objects created are created from valid" -" interpreter frames. Prevents the possibility of invalid frames in " -"backtraces and signal handlers." -msgstr "" - -#: ../NEWS:15389 -msgid "" -":gh:`90997`: Improve the performance of reading and writing inline bytecode " -"caches on some platforms." -msgstr "" - -#: ../NEWS:15392 -msgid ":gh:`96751`: Remove dead code from ``CALL_FUNCTION_EX`` opcode." -msgstr "" - -#: ../NEWS:15394 -msgid "" -":gh:`90751`: :class:`memoryview` now supports half-floats. Patch by Donghee " -"Na and Antoine Pitrou." -msgstr "" - -#: ../NEWS:15397 -msgid ":gh:`96678`: Fix case of undefined behavior in ceval.c" -msgstr "" - -#: ../NEWS:15399 -msgid ":gh:`64373`: Convert :mod:`!_functools` to argument clinic." -msgstr "" - -#: ../NEWS:15401 -msgid ":gh:`96641`: Do not expose ``KeyWrapper`` in :mod:`!_functools`." -msgstr "" - -#: ../NEWS:15403 -msgid "" -":gh:`96636`: Ensure that tracing, ``sys.setrace()``, is turned on " -"immediately. In pre-release versions of 3.11, some tracing events might have" -" been lost when turning on tracing in a ``__del__`` method or interrupt." -msgstr "" - -#: ../NEWS:15408 -msgid "" -":gh:`96572`: Fix use after free in trace refs build mode. Patch by Kumar " -"Aditya." -msgstr "" - -#: ../NEWS:15411 -msgid "" -":gh:`96611`: When loading a file with invalid UTF-8 inside a multi-line " -"string, a correct SyntaxError is emitted." -msgstr "" - -#: ../NEWS:15414 -msgid "" -":gh:`96612`: Make sure that incomplete frames do not show up in tracemalloc " -"traces." -msgstr "" - -#: ../NEWS:15417 -msgid "" -":gh:`90230`: Fix compiler warnings and test failures when building with " -"``--enable-pystats``." -msgstr "" - -#: ../NEWS:15420 -msgid "" -":gh:`96587`: Correctly raise ``SyntaxError`` on exception groups " -"(:pep:`654`) on python versions prior to 3.11" -msgstr "" - -#: ../NEWS:15423 -msgid "" -":gh:`96569`: Remove two cases of undefined behavior, by adding NULL checks." -msgstr "" - -#: ../NEWS:15425 -msgid "" -":gh:`96582`: Fix possible ``NULL`` pointer dereference in " -"``_PyThread_CurrentFrames``. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:15428 -msgid "" -":gh:`91079`: Separate Python recursion checking from C recursion checking " -"which reduces the chance of C stack overflow and allows the recursion limit " -"to be increased safely." -msgstr "" - -#: ../NEWS:15432 -msgid "" -":gh:`93911`: Fix an issue that could prevent :opcode:`LOAD_ATTR` from " -"specializing properly when accessing properties." -msgstr "" - -#: ../NEWS:15435 -msgid "" -":gh:`96348`: Emit a DeprecationWarning when :meth:`~generator.throw`, " -":meth:`~coroutine.throw` or :meth:`~agen.athrow` are called with more than " -"one argument." -msgstr "" - -#: ../NEWS:15439 -msgid "" -":gh:`95196`: Disable incorrect pickling of the C implemented classmethod " -"descriptors." -msgstr "" - -#: ../NEWS:15442 -msgid "" -":gh:`96364`: Fix text signatures of ``list.__getitem__`` and " -"``dict.__getitem__``." -msgstr "" - -#: ../NEWS:15445 -msgid "" -":gh:`96352`: Fix :exc:`AttributeError` missing ``name`` and ``obj`` " -"attributes in :meth:`object.__getattribute__`. Patch by Philip Georgi." -msgstr "" - -#: ../NEWS:15448 -msgid "" -":gh:`93554`: Change the jump opcodes so that all conditional jumps are " -"forward jumps. Backward jumps are converted by the assembler into a " -"conditional forward jump whose target is the fallthrough block (and with a " -"reversed condition), followed by an unconditional backward jump. For " -"example:" -msgstr "" - -#: ../NEWS:15454 -msgid "" -"``POP_JUMP_IF_TRUE BACKWARD_TARGET`` becomes ``POP_JUMP_IF_FALSE NEXT_BLOCK;" -" JUMP BACKWARD_TARGET``." -msgstr "" - -#: ../NEWS:15457 -msgid "" -"All the directed conditional jump opcodes were removed: " -"``POP_JUMP_FORWARD_IF_TRUE``, ``POP_JUMP_BACKWARD_IF_TRUE``, " -"``POP_JUMP_FORWARD_IF_FALSE``, ``POP_JUMP_BACKWARD_IF_FALSE``, " -"``POP_JUMP_FORWARD_IF_NONE``, ``POP_JUMP_BACKWARD_IF_NONE``, " -"``POP_JUMP_FORWARD_IF_NOT_NONE``, ``POP_JUMP_BACKWARD_IF_NOT_NONE``." -msgstr "" - -#: ../NEWS:15463 -msgid "" -"The corresponding opcodes without direction are no longer pseudo-" -"instructions, and they implement the forward conditional jumps." -msgstr "" - -#: ../NEWS:15466 -msgid "" -":gh:`96268`: Loading a file with invalid UTF-8 will now report the broken " -"character at the correct location." -msgstr "" - -#: ../NEWS:15469 -msgid "" -":gh:`96237`: The internal field ``_PyInterpreterFrame.f_func`` is renamed to" -" ``_PyInterpreterFrame.f_funcobj`` and may be any object. The ``f_globals`` " -"and ``f_builtin`` fields may hold junk values." -msgstr "" - -#: ../NEWS:15473 -msgid "It is safest to treat the ``_PyInterpreterFrame`` struct as opaque." -msgstr "" - -#: ../NEWS:15475 -msgid "" -":gh:`96187`: Fixed a bug that caused ``_PyCode_GetExtra`` to return garbage " -"for negative indexes. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:15478 -msgid "" -":gh:`96143`: Add a new ``-X perf`` Python command line option as well as " -":func:`sys.activate_stack_trampoline` and " -":func:`sys.deactivate_stack_trampoline` function in the :mod:`sys` module " -"that allows to set/unset the interpreter in a way that the Linux ``perf`` " -"profiler can detect Python calls. The new " -":func:`sys.is_stack_trampoline_active` function allows to query the state of" -" the perf trampoline. Design by Pablo Galindo. Patch by Pablo Galindo and " -"Christian Heimes with contributions from Gregory P. Smith [Google] and Mark " -"Shannon." -msgstr "" - -#: ../NEWS:15488 -msgid "" -":gh:`96071`: Fix a deadlock in :c:func:`PyGILState_Ensure` when allocating " -"new thread state. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:15491 -msgid "" -":gh:`96046`: :c:func:`PyType_Ready` now initializes ``ht_cached_keys`` and " -"performs additional checks to ensure that type objects are properly " -"configured. This avoids crashes in 3rd party packages that don't use regular" -" API to create new types." -msgstr "" - -#: ../NEWS:15496 -msgid "" -":gh:`96005`: On WASI :const:`~errno.ENOTCAPABLE` is now mapped to " -":exc:`PermissionError`. The :mod:`errno` modules exposes the new error " -"number. ``getpath.py`` now ignores :exc:`PermissionError` when it cannot " -"open landmark files ``pybuilddir.txt`` and ``pyenv.cfg``." -msgstr "" - -#: ../NEWS:15501 -msgid "" -":gh:`93678`: Added test a harness for direct unit tests of the compiler's " -"optimization stage. The ``_testinternalcapi.optimize_cfg()`` function runs " -"the optimiser on a sequence of instructions. The ``CfgOptimizationTestCase``" -" class in ``test.support`` has utilities for invoking the optimizer and " -"checking the output." -msgstr "" - -#: ../NEWS:15507 -msgid "" -":gh:`95245`: Reduces the size of a \"simple\" Python object from 8 to 6 " -"words by moving the weakreflist pointer into the pre-header directly before " -"the object's dict/values pointer." -msgstr "" - -#: ../NEWS:15511 -msgid "" -":gh:`90997`: Compile virtual :keyword:`try`/:keyword:`except` blocks to " -"handle exceptions raised during :meth:`~generator.close` or " -":meth:`~generator.throw` calls through a suspended frame." -msgstr "" - -#: ../NEWS:15515 -msgid "" -":gh:`95977`: Optimized calling :meth:`~object.__get__` with vectorcall. " -"Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:15518 -msgid "" -":gh:`91210`: Improve error message when a parameter without a default value " -"follows one with a default value, and show the same message, even when the " -"non-default/default sequence is preceded by positional-only parameters." -msgstr "" - -#: ../NEWS:15522 -msgid "" -":gh:`95922`: Fixed bug where the compiler's ``eliminate_empty_basic_blocks``" -" function ignores the last block of the code unit." -msgstr "" - -#: ../NEWS:15525 -msgid "" -":gh:`95818`: Skip over incomplete frames in " -":c:func:`PyThreadState_GetFrame`." -msgstr "" - -#: ../NEWS:15527 -msgid "" -":gh:`95876`: Fix format string in ``_PyPegen_raise_error_known_location`` " -"that can lead to memory corruption on some 64bit systems. The function was " -"building a tuple with ``i`` (int) instead of ``n`` (Py_ssize_t) for " -"Py_ssize_t arguments." -msgstr "" - -#: ../NEWS:15532 -msgid "" -":gh:`95605`: Fix misleading contents of error message when converting an " -"all-whitespace string to :class:`float`." -msgstr "" - -#: ../NEWS:15535 -msgid "" -":gh:`95150`: Update code object hashing and equality to consider all " -"debugging and exception handling tables. This fixes an issue where certain " -"non-identical code objects could be \"deduplicated\" during compilation." -msgstr "" - -#: ../NEWS:15539 -msgid "" -":gh:`91146`: Reduce allocation size of :class:`list` from :meth:`str.split` " -"and :meth:`str.rsplit`. Patch by Donghee Na and Inada Naoki." -msgstr "" - -#: ../NEWS:15542 -msgid "" -":gh:`87092`: Create a 'jump target label' abstraction in the compiler so " -"that the compiler's codegen stage does not work directly with basic blocks. " -"This prepares the code for changes to the underlying CFG generation " -"mechanism." -msgstr "" - -#: ../NEWS:15547 -msgid "" -":gh:`95355`: ``_PyPegen_Parser_New`` now properly detects token memory " -"allocation errors. Patch by Honglin Zhu." -msgstr "" - -#: ../NEWS:15550 -msgid "" -":gh:`90081`: Run Python code in tracer/profiler function at full speed. " -"Fixes slowdown in earlier versions of 3.11." -msgstr "" - -#: ../NEWS:15553 -msgid "" -":gh:`95324`: Emit a warning in debug mode if an object does not call " -":c:func:`PyObject_GC_UnTrack` before deallocation. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:15556 -msgid "" -":gh:`95245`: Merge managed dict and values pointer into a single tagged " -"pointer to save one word in the pre-header." -msgstr "" - -#: ../NEWS:15559 -msgid "" -":gh:`93678`: Add cfg_builder struct and refactor the relevant code so that a" -" cfg can be constructed without an instance of the compiler struct." -msgstr "" - -#: ../NEWS:15562 -msgid "" -":gh:`95185`: Prevented crashes in the AST constructor when compiling some " -"absurdly long expressions like ``\"+0\"*1000000``. :exc:`RecursionError` is " -"now raised instead. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:15566 -msgid "" -":gh:`93351`: :class:`ast.AST` node positions are now validated when provided" -" to :func:`compile` and other related functions. If invalid positions are " -"detected, a :exc:`ValueError` will be raised." -msgstr "" - -#: ../NEWS:15570 -msgid "" -":gh:`94438`: Fix an issue that caused extended opcode arguments and some " -"conditional pops to be ignored when calculating valid jump targets for " -"assignments to the ``f_lineno`` attribute of frame objects. In some cases, " -"this could cause inconsistent internal state, resulting in a hard crash of " -"the interpreter." -msgstr "" - -#: ../NEWS:15576 -msgid "" -":gh:`95060`: Undocumented ``PyCode_Addr2Location`` function now properly " -"returns when ``addrq`` argument is less than zero." -msgstr "" - -#: ../NEWS:15579 -msgid "" -":gh:`95113`: Replace all ``EXTENDED_ARG_QUICK`` instructions with basic " -":opcode:`EXTENDED_ARG` instructions in unquickened code. Consumers of non-" -"adaptive bytecode should be able to handle extended arguments the same way " -"they were handled in CPython 3.10 and older." -msgstr "" - -#: ../NEWS:15584 -msgid "" -":gh:`91409`: Fix incorrect source location info caused by certain " -"optimizations in the bytecode compiler." -msgstr "" - -#: ../NEWS:15587 -msgid "" -":gh:`95023`: Implement :func:`os.setns` and :func:`os.unshare` for Linux. " -"Patch by Noam Cohen." -msgstr "" - -#: ../NEWS:15590 -msgid "" -":gh:`94036`: Fix incorrect source location info for some multi-line " -"attribute accesses and method calls." -msgstr "" - -#: ../NEWS:15593 -msgid "" -":gh:`94938`: Fix error detection in some builtin functions when keyword " -"argument name is an instance of a str subclass with overloaded ``__eq__`` " -"and ``__hash__``. Previously it could cause SystemError or other undesired " -"behavior." -msgstr "" - -#: ../NEWS:15598 -msgid "" -":gh:`94996`: :func:`ast.parse` will no longer parse function definitions " -"with positional-only params when passed ``feature_version`` less than ``(3, " -"8)``. Patch by Shantanu Jain." -msgstr "" - -#: ../NEWS:15602 -msgid "" -":gh:`94739`: Allow jumping within, out of, and across exception handlers in " -"the debugger." -msgstr "" - -#: ../NEWS:15605 -msgid "" -":gh:`94949`: :func:`ast.parse` will no longer parse parenthesized context " -"managers when passed ``feature_version`` less than ``(3, 9)``. Patch by " -"Shantanu Jain." -msgstr "" - -#: ../NEWS:15609 -msgid "" -":gh:`94947`: :func:`ast.parse` will no longer parse assignment expressions " -"when passed ``feature_version`` less than ``(3, 8)``. Patch by Shantanu " -"Jain." -msgstr "" - -#: ../NEWS:15613 -msgid "" -":gh:`91256`: Ensures the program name is known for help text during " -"interpreter startup." -msgstr "" - -#: ../NEWS:15616 -msgid "" -":gh:`94869`: Fix the column offsets for some expressions in multi-line " -"f-strings :mod:`ast` nodes. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:15619 -msgid "" -":gh:`94893`: Fix an issue where frame object manipulations could corrupt " -"inline bytecode caches." -msgstr "" - -#: ../NEWS:15622 -msgid "" -":gh:`94822`: Fix an issue where lookups of metaclass descriptors may be " -"ignored when an identically-named attribute also exists on the class itself." -msgstr "" - -#: ../NEWS:15626 -msgid "" -":gh:`91153`: Fix an issue where a :class:`bytearray` item assignment could " -"crash if it's resized by the new value's :meth:`__index__` method." -msgstr "" - -#: ../NEWS:15629 -msgid "" -":gh:`90699`: Fix reference counting bug in :meth:`bool.__repr__`. Patch by " -"Kumar Aditya." -msgstr "" - -#: ../NEWS:15632 -msgid "" -":gh:`94694`: Fix an issue that could cause code with multi-line method " -"lookups to have misleading or incorrect column offset information. In some " -"cases (when compiling a hand-built AST) this could have resulted in a hard " -"crash of the interpreter." -msgstr "" - -#: ../NEWS:15637 -msgid "" -":gh:`93252`: Fix an issue that caused internal frames to outlive failed " -"Python function calls, possibly resulting in memory leaks or hard " -"interpreter crashes." -msgstr "" - -#: ../NEWS:15641 -msgid "" -":gh:`94215`: Fix an issue where exceptions raised by line-tracing events " -"would cause frames to be left in an invalid state, possibly resulting in a " -"hard crash of the interpreter." -msgstr "" - -#: ../NEWS:15645 -msgid "" -":gh:`92228`: Disable the compiler's inline-small-exit-blocks optimization " -"for exit blocks that are associated with source code lines. This fixes a bug" -" where the debugger cannot tell where an exception handler ends and the " -"following code block begins." -msgstr "" - -#: ../NEWS:15650 -msgid "" -":gh:`94485`: Line number of a module's ``RESUME`` instruction is set to 0 as" -" specified in :pep:`626`." -msgstr "" - -#: ../NEWS:15653 -msgid "" -":gh:`94438`: Account for instructions that can push NULL to the stack when " -"setting line number in a frame. Prevents some (unlikely) crashes." -msgstr "" - -#: ../NEWS:15656 -msgid "" -":gh:`91719`: Reload ``opcode`` when raising ``unknown opcode error`` in the " -"interpreter main loop, for C compilers to generate dispatching code " -"independently." -msgstr "" - -#: ../NEWS:15660 -msgid "" -":gh:`94329`: Compile and run code with unpacking of extremely large " -"sequences (1000s of elements). Such code failed to compile. It now compiles " -"and runs correctly." -msgstr "" - -#: ../NEWS:15664 -msgid "" -":gh:`94360`: Fixed a tokenizer crash when reading encoded files with syntax " -"errors from ``stdin`` with non utf-8 encoded text. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:15667 -msgid "" -":gh:`88116`: Fix an issue when reading line numbers from code objects if the" -" encoded line numbers are close to ``INT_MIN``. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:15670 -msgid "" -":gh:`94262`: Don't create frame objects for incomplete frames. Prevents the " -"creation of generators and closures from being observable to Python and C " -"extensions, restoring the behavior of 3.10 and earlier." -msgstr "" - -#: ../NEWS:15674 -msgid "" -":gh:`94192`: Fix error for dictionary literals with invalid expression as " -"value." -msgstr "" - -#: ../NEWS:15677 -msgid "" -":gh:`87995`: :class:`types.MappingProxyType` instances are now hashable if " -"the underlying mapping is hashable." -msgstr "" - -#: ../NEWS:15680 -msgid "" -":gh:`93883`: Revise the display strategy of traceback enhanced error " -"locations. The indicators are only shown when the location doesn't span the" -" whole line." -msgstr "" - -#: ../NEWS:15684 -msgid "" -":gh:`94163`: Add :opcode:`BINARY_SLICE` and :opcode:`STORE_SLICE` " -"instructions for more efficient handling and better specialization of " -"slicing operations, where the slice is explicit in the source code." -msgstr "" - -#: ../NEWS:15688 -msgid ":gh:`94021`: Fix unreachable code warning in ``Python/specialize.c``." -msgstr "" - -#: ../NEWS:15690 -msgid "" -":gh:`93911`: Specialize ``LOAD_ATTR`` for objects with custom " -"``__getattribute__``." -msgstr "" - -#: ../NEWS:15693 -msgid "" -":gh:`93955`: Improve performance of attribute lookups on objects with custom" -" ``__getattribute__`` and ``__getattr__``. Patch by Ken Jin." -msgstr "" - -#: ../NEWS:15696 -msgid ":gh:`93911`: Specialize ``LOAD_ATTR`` for ``property()`` attributes." -msgstr "" - -#: ../NEWS:15698 -msgid "" -":gh:`93678`: Refactor compiler optimisation code so that it no longer needs " -"the ``struct assembler`` and ``struct compiler`` passed around. Instead, " -"each function takes the CFG and other data that it actually needs. This will" -" make it possible to test this code directly." -msgstr "" - -#: ../NEWS:15703 -msgid "" -":gh:`93841`: When built with ``-enable-pystats``, ``sys._stats_on()``, " -"``sys._stats_off()``, ``sys._stats_clear()`` and ``sys._stats_dump()`` " -"functions have been added to enable gathering stats for parts of programs." -msgstr "" - -#: ../NEWS:15707 -msgid "" -":gh:`93516`: Store offset of first traceable instruction in code object to " -"avoid having to recompute it for each instruction when tracing." -msgstr "" - -#: ../NEWS:15710 -msgid "" -":gh:`93516`: Lazily create a table mapping bytecode offsets to line numbers " -"to speed up calculation of line numbers when tracing." -msgstr "" - -#: ../NEWS:15713 -msgid "" -":gh:`89828`: :class:`types.GenericAlias` no longer relays the ``__class__`` " -"attribute. For example, ``isinstance(list[int], type)`` no longer returns " -"``True``." -msgstr "" - -#: ../NEWS:15717 -msgid "" -":gh:`93678`: Refactor the compiler to reduce boilerplate and repetition." -msgstr "" - -#: ../NEWS:15719 -msgid "" -":gh:`93671`: Fix some exponential backtrace case happening with deeply " -"nested sequence patterns in match statements. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:15722 -msgid "" -":gh:`93662`: Make sure that the end column offsets are correct in multi-line" -" method calls. Previously, the end column could precede the column offset." -msgstr "" - -#: ../NEWS:15725 -msgid "" -":gh:`93461`: :func:`importlib.invalidate_caches` now drops entries from " -":data:`sys.path_importer_cache` with a relative path as name. This solves a " -"caching issue when a process changes its current working directory." -msgstr "" - -#: ../NEWS:15729 -msgid "" -"``FileFinder`` no longer inserts a dot in the path, e.g. ``/egg/./spam`` is " -"now ``/egg/spam``." -msgstr "" - -#: ../NEWS:15732 -msgid "" -":gh:`93621`: Change order of bytecode instructions emitted for " -":keyword:`with` and :keyword:`async with` to reduce the number of entries in" -" the exception table." -msgstr "" - -#: ../NEWS:15736 -msgid "" -":gh:`93533`: Reduce the size of the inline cache for ``LOAD_METHOD`` by 2 " -"bytes." -msgstr "" - -#: ../NEWS:15739 -msgid "" -":gh:`93444`: Removed redundant fields from the compiler's basicblock struct:" -" ``b_nofallthrough``, ``b_exit``, ``b_return``. They can be easily " -"calculated from the opcode of the last instruction of the block." -msgstr "" - -#: ../NEWS:15743 -msgid "" -":gh:`93429`: ``LOAD_METHOD`` instruction has been removed. It was merged " -"back into ``LOAD_ATTR``." -msgstr "" - -#: ../NEWS:15746 -msgid "" -":gh:`93418`: Fixed an assert where an f-string has an equal sign '=' " -"following an expression, but there's no trailing brace. For example, " -"f\"{i=\"." -msgstr "" - -#: ../NEWS:15750 -msgid "" -":gh:`93382`: Cache the result of :c:func:`PyCode_GetCode` function to " -"restore the *O*\\ (1) lookup of the :attr:`~types.CodeType.co_code` " -"attribute." -msgstr "" - -#: ../NEWS:15753 -msgid "" -":gh:`93359`: Ensure that custom :mod:`ast` nodes without explicit end " -"positions can be compiled. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:15756 -msgid "" -":gh:`93356`: Code for exception handlers is emitted at the end of the code " -"unit's bytecode. This avoids one jump when no exception is raised." -msgstr "" - -#: ../NEWS:15759 -msgid "" -":gh:`93354`: Use exponential backoff for specialization counters in the " -"interpreter. Can reduce the number of failed specializations significantly " -"and avoid slowdown for those parts of a program that are not suitable for " -"specialization." -msgstr "" - -#: ../NEWS:15764 -msgid "" -":gh:`93283`: Improve error message for invalid syntax of conversion " -"character in f-string expressions." -msgstr "" - -#: ../NEWS:15767 -msgid "" -":gh:`93345`: Fix a crash in substitution of a ``TypeVar`` in nested generic " -"alias after ``TypeVarTuple``." -msgstr "" - -#: ../NEWS:15770 -msgid "" -":gh:`93223`: When a bytecode instruction jumps to an unconditional jump " -"instruction, the first instruction can often be optimized to target the " -"unconditional jump's target directly. For tracing reasons, this would " -"previously only occur if both instructions have the same line number. This " -"also now occurs if the unconditional jump is artificial, i.e., if it has no " -"associated line number." -msgstr "" - -#: ../NEWS:15777 -msgid "" -":gh:`84694`: The ``--experimental-isolated-subinterpreters`` configure " -"option and ``EXPERIMENTAL_ISOLATED_SUBINTERPRETERS`` macro have been " -"removed." -msgstr "" - -#: ../NEWS:15780 -msgid "" -":gh:`91924`: Fix ``__lltrace__`` debug feature if the stdout encoding is not" -" UTF-8. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:15783 -msgid "" -":gh:`93040`: Wraps unused parameters in ``Objects/obmalloc.c`` with " -"``Py_UNUSED``." -msgstr "" - -#: ../NEWS:15786 -msgid "" -":gh:`93143`: Avoid ``NULL`` checks for uninitialized local variables by " -"determining at compile time which variables must be initialized." -msgstr "" - -#: ../NEWS:15789 -msgid "" -":gh:`93061`: Backward jumps after ``async for`` loops are no longer given " -"dubious line numbers." -msgstr "" - -#: ../NEWS:15792 -msgid "" -":gh:`93065`: Fix contextvars HAMT implementation to handle iteration over " -"deep trees." -msgstr "" - -#: ../NEWS:15795 -msgid "" -"The bug was discovered and fixed by Eli Libman. See " -"`MagicStack/immutables#84 " -"`_ for more details." -msgstr "" - -#: ../NEWS:15799 -msgid "" -":gh:`93012`: Added the new function :c:func:`PyType_FromMetaclass`, which " -"generalizes the existing :c:func:`PyType_FromModuleAndSpec` using an " -"additional metaclass argument. This is useful for language binding tools, " -"where it can be used to intercept type-related operations like subclassing " -"or static attribute access by specifying a metaclass with custom slots." -msgstr "" - -#: ../NEWS:15805 -msgid "" -"Importantly, :c:func:`PyType_FromMetaclass` is available in the Limited API," -" which provides a path towards migrating more binding tools onto the Stable " -"ABI." -msgstr "" - -#: ../NEWS:15809 -msgid "" -":gh:`93021`: Fix the :attr:`__text_signature__` for :meth:`__get__` methods " -"implemented in C. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:15812 -msgid "" -":gh:`89914`: The operand of the ``YIELD_VALUE`` instruction is set to the " -"stack depth. This is done to help frame handling on ``yield`` and may assist" -" debuggers." -msgstr "" - -#: ../NEWS:15816 -msgid "" -":gh:`92955`: Fix memory leak in code object's lines and positions iterators " -"as they were not finalized at exit. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:15819 -msgid "" -":gh:`92930`: Fixed a crash in ``_pickle.c`` from mutating collections during" -" ``__reduce__`` or ``persistent_id``." -msgstr "" - -#: ../NEWS:15822 -msgid "" -":gh:`90690`: The PRECALL instruction has been removed. It offered only a " -"small advantage for specialization and is not needed in the vast majority of" -" cases." -msgstr "" - -#: ../NEWS:15826 -msgid "" -":gh:`92914`: Always round the allocated size for lists up to the nearest " -"even number." -msgstr "" - -#: ../NEWS:15829 -msgid "" -":gh:`92858`: Improve error message for some suites with syntax error before " -"':'" -msgstr "" - -#: ../NEWS:15832 -msgid "" -":gh:`90473`: Decrease default recursion limit on WASI to address limited " -"call stack size." -msgstr "" - -#: ../NEWS:15835 -msgid "" -":gh:`92804`: Fix memory leak in ``memoryview`` iterator as it was not " -"finalized at exit. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:15838 -msgid "" -":gh:`92777`: Specialize ``LOAD_METHOD`` for objects with lazy dictionaries. " -"Patch by Ken Jin." -msgstr "" - -#: ../NEWS:15841 -msgid "" -":gh:`92658`: Add support for connecting and binding to Hyper-V sockets on " -"Windows Hyper-V hosts and guests." -msgstr "" - -#: ../NEWS:15844 -msgid "" -":gh:`92236`: Remove spurious \"LINE\" event when starting a generator or " -"coroutine, visible tracing functions implemented in C." -msgstr "" - -#: ../NEWS:15847 -msgid "" -":gh:`91102`: :meth:`!_warnings.warn_explicit` is ported to Argument Clinic." -msgstr "" - -#: ../NEWS:15849 -msgid "" -":gh:`92619`: Make the compiler duplicate an exit block only if none of its " -"instructions have a lineno (previously only the first instruction in the " -"block was checked, leading to unnecessarily duplicated blocks)." -msgstr "" - -#: ../NEWS:15853 -msgid "" -":gh:`88750`: The deprecated debug build only ``PYTHONTHREADDEBUG`` " -"environment variable no longer does anything." -msgstr "" - -#: ../NEWS:15856 -msgid ":gh:`92261`: Fix hang when trying to iterate over a ``typing.Union``." -msgstr "" - -#: ../NEWS:15858 -msgid "" -":gh:`91432`: Specialized the :opcode:`FOR_ITER` opcode using the PEP 659 " -"machinery" -msgstr "" - -#: ../NEWS:15861 -msgid "" -":gh:`91399`: Removed duplicate '{0, 0, 0, 0, 0, 0}' entry in " -"'Objects/unicodetype_db.h'." -msgstr "" - -#: ../NEWS:15864 -msgid ":gh:`91578`: Updates the error message for abstract class." -msgstr "" - -#: ../NEWS:15866 -msgid "" -":issue:`47091`: Improve performance of repetition of :class:`list` and " -":class:`tuple` by using ``memcpy`` to copy data and performing the reference" -" increments in one step." -msgstr "" - -#: ../NEWS:15870 -msgid "" -":issue:`46142`: Make ``--help`` output shorter by moving some info to the " -"new ``--help-env`` and ``--help-xoptions`` command-line options. Also add " -"``--help-all`` option to print complete usage." -msgstr "" - -#: ../NEWS:15874 -msgid "" -":issue:`42316`: Document some places where an assignment expression needs " -"parentheses." -msgstr "" - -#: ../NEWS:15880 -msgid "" -":gh:`89237`: Fix hang on Windows in ``subprocess.wait_closed()`` in " -":mod:`asyncio` with :class:`~asyncio.ProactorEventLoop`. Patch by Kumar " -"Aditya." -msgstr "" - -#: ../NEWS:15884 -msgid "" -":gh:`97928`: :meth:`tkinter.Text.count` raises now an exception for options " -"starting with \"-\" instead of silently ignoring them." -msgstr "" - -#: ../NEWS:15887 -msgid "" -":gh:`98393`: The :mod:`os` module no longer accepts bytes-like paths, like " -":class:`bytearray` and :class:`memoryview` types: only the exact " -":class:`bytes` type is accepted for bytes strings. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:15892 -msgid "" -":gh:`98363`: Added itertools.batched() to batch data into lists of a given " -"length with the last list possibly being shorter than the others." -msgstr "" - -#: ../NEWS:15895 -msgid "" -":gh:`98331`: Update the bundled copies of pip and setuptools to versions " -"22.3 and 65.5.0 respectively." -msgstr "" - -#: ../NEWS:15898 -msgid "" -":gh:`98307`: A :meth:`~logging.handlers.SysLogHandler.createSocket` method " -"was added to :class:`~logging.handlers.SysLogHandler`." -msgstr "" - -#: ../NEWS:15901 -msgid "" -":gh:`96035`: Fix bug in :func:`urllib.parse.urlparse` that causes certain " -"port numbers containing whitespace, underscores, plus and minus signs, or " -"non-ASCII digits to be incorrectly accepted." -msgstr "" - -#: ../NEWS:15905 -msgid "" -":gh:`98257`: Make :func:`sys.setprofile` and :func:`sys.settrace` functions " -"reentrant. They can no long fail with: ``RuntimeError(\"Cannot install a " -"trace function while another trace function is being installed\")``. Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:15910 -msgid "" -":gh:`98251`: Allow :mod:`venv` to pass along :envvar:`!PYTHON*` variables to" -" ``ensurepip`` and ``pip`` when they do not impact path resolution" -msgstr "" - -#: ../NEWS:15913 -msgid "" -":gh:`94597`: Deprecated " -":meth:`asyncio.AbstractEventLoopPolicy.get_child_watcher` and " -":meth:`asyncio.AbstractEventLoopPolicy.set_child_watcher` methods to be " -"removed in Python 3.14. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:15918 -msgid "" -":gh:`98178`: On macOS, fix a crash in :func:`syslog.syslog` in multi-" -"threaded applications. On macOS, the libc ``syslog()`` function is not " -"thread-safe, so :func:`syslog.syslog` no longer releases the GIL to call it." -" Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:15923 -msgid "" -":gh:`44098`: Release the GIL when creating :class:`mmap.mmap` objects on " -"Unix." -msgstr "" - -#: ../NEWS:15926 -msgid "" -":gh:`87730`: Wrap network errors consistently in urllib FTP support, so the " -"test suite doesn't fail when a network is available but the public internet " -"is not reachable." -msgstr "" - -#: ../NEWS:15930 -msgid "" -":gh:`94597`: The child watcher classes " -":class:`~asyncio.MultiLoopChildWatcher`, :class:`~asyncio.FastChildWatcher` " -"and :class:`~asyncio.SafeChildWatcher` are deprecated and will be removed in" -" Python 3.14. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:15935 -msgid "" -":gh:`98023`: Change default child watcher to " -":class:`~asyncio.PidfdChildWatcher` on Linux systems which supports it. " -"Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:15939 -msgid "" -":gh:`90985`: Earlier in 3.11 we deprecated " -"``asyncio.Task.cancel(\"message\")``. We realized we were too harsh, and " -"have undeprecated it." -msgstr "" - -#: ../NEWS:15943 -msgid "" -":gh:`65961`: Do not rely solely on ``__cached__`` on modules; code will also" -" support ``__spec__.cached``." -msgstr "" - -#: ../NEWS:15946 -msgid "" -":gh:`97646`: Replace deprecated ``application/javascript`` with " -"``text/javascript`` in :mod:`mimetypes`. See :rfc:`9239`. Patch by Noam " -"Cohen." -msgstr "" - -#: ../NEWS:15950 -msgid "" -":gh:`97930`: Apply changes from importlib_resources 5.8 and 5.9: " -"``Traversable.joinpath`` provides a concrete implementation. ``as_file`` now" -" supports directories of resources." -msgstr "" - -#: ../NEWS:15954 -msgid "" -":gh:`97850`: Remove deprecated :func:`!importlib.util.set_loader` and " -":func:`!importlib.util.module_for_loader` from :mod:`importlib.util`." -msgstr "" - -#: ../NEWS:15957 -msgid ":gh:`97837`: Change deprecate warning message in :mod:`unittest` from" -msgstr "" - -#: ../NEWS:15959 -msgid "``It is deprecated to return a value!=None``" -msgstr "" - -#: ../NEWS:15961 -msgid "to" -msgstr "ke" - -#: ../NEWS:15963 -msgid "" -"``It is deprecated to return a value that is not None from a test case``" -msgstr "" - -#: ../NEWS:15965 -msgid "" -":gh:`97825`: Fixes :exc:`AttributeError` when " -":meth:`subprocess.check_output` is used with argument ``input=None`` and " -"either of the arguments *encoding* or *errors* are used." -msgstr "" - -#: ../NEWS:15969 -msgid "" -":gh:`97008`: :exc:`NameError` and :exc:`AttributeError` spelling suggestions" -" provided since :gh:`82711` are now also emitted by the pure Python " -":mod:`traceback` module. Tests for those suggestions now exercise both " -"implementations to ensure they are equivalent. Patch by Carl Friedrich Bolz-" -"Tereick and Łukasz Langa." -msgstr "" - -#: ../NEWS:15975 -msgid "" -":gh:`97799`: :mod:`dataclass` now uses :func:`inspect.get_annotations` to " -"examine the annotations on class objects." -msgstr "" - -#: ../NEWS:15978 -msgid "" -":gh:`97781`: Removed deprecated interfaces in ``importlib.metadata`` (entry " -"points accessed as dictionary, implicit dictionary construction of sequence " -"of ``EntryPoint`` objects, mutablility of ``EntryPoints`` result, access of " -"entry point by index). ``entry_points`` now has a simpler, more " -"straightforward API (returning ``EntryPoints``)." -msgstr "" - -#: ../NEWS:15984 -msgid "" -":gh:`96827`: Avoid spurious tracebacks from :mod:`asyncio` when default " -"executor cleanup is delayed until after the event loop is closed (e.g. as " -"the result of a keyboard interrupt)." -msgstr "" - -#: ../NEWS:15988 -msgid ":gh:`95534`: :meth:`gzip.GzipFile.read` reads 10% faster." -msgstr "" - -#: ../NEWS:15990 -msgid "" -":gh:`97592`: Avoid a crash in the C version of " -":meth:`asyncio.Future.remove_done_callback` when an evil argument is passed." -msgstr "" - -#: ../NEWS:15994 -msgid ":gh:`97639`: Remove ``tokenize.NL`` check from :mod:`tabnanny`." -msgstr "" - -#: ../NEWS:15996 -msgid ":gh:`97545`: Make Semaphore run faster." -msgstr "" - -#: ../NEWS:15998 -msgid "" -":gh:`73588`: Fix generation of the default name of " -":class:`tkinter.Checkbutton`. Previously, checkbuttons in different parent " -"widgets could have the same short name and share the same state if arguments" -" \"name\" and \"variable\" are not specified. Now they are globally unique." -msgstr "" - -#: ../NEWS:16004 -msgid ":gh:`96865`: fix Flag to use boundary CONFORM" -msgstr "" - -#: ../NEWS:16006 -msgid "" -"This restores previous Flag behavior of allowing flags with non-sequential " -"values to be combined; e.g." -msgstr "" - -#: ../NEWS:16009 -msgid "class Skip(Flag): TWO = 2 EIGHT = 8" -msgstr "" - -#: ../NEWS:16011 -msgid "Skip.TWO | Skip.EIGHT -> " -msgstr "" - -#: ../NEWS:16013 -msgid ":gh:`97005`: Update bundled libexpat to 2.4.9" -msgstr "" - -#: ../NEWS:16015 -msgid "" -":gh:`85760`: Fix race condition in :mod:`asyncio` where " -":meth:`~asyncio.SubprocessProtocol.process_exited` called before the " -":meth:`~asyncio.SubprocessProtocol.pipe_data_received` leading to " -"inconsistent output. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16020 -msgid "" -":gh:`96704`: Pass the correct ``contextvars.Context`` when a ``asyncio`` " -"exception handler is called on behalf of a task or callback handle. This " -"adds a new ``Task`` method, ``get_context``, and also a new ``Handle`` " -"method with the same name. If this method is not found on a task object " -"(perhaps because it is a third-party library that does not yet provide this " -"method), the context prevailing at the time the exception handler is called " -"is used." -msgstr "" - -#: ../NEWS:16028 -msgid "" -":gh:`96819`: Fixed check in :mod:`multiprocessing.resource_tracker` that " -"guarantees that the length of a write to a pipe is not greater than " -"``PIPE_BUF``." -msgstr "" - -#: ../NEWS:16032 -msgid "" -":gh:`95865`: Reduce :func:`urllib.parse.quote_from_bytes` memory use on " -"large values." -msgstr "" - -#: ../NEWS:16035 -msgid "Contributed by Dennis Sweeney." -msgstr "" - -#: ../NEWS:16037 -msgid "" -":gh:`96741`: Corrected type annotation for dataclass attribute " -"``pstats.FunctionProfile.ncalls`` to be ``str``." -msgstr "" - -#: ../NEWS:16040 -msgid ":gh:`96734`: Update :mod:`unicodedata` database to Unicode 15.0.0." -msgstr "" - -#: ../NEWS:16042 -msgid ":gh:`96735`: Fix undefined behaviour in :func:`struct.unpack`." -msgstr "" - -#: ../NEWS:16044 -msgid "" -":gh:`46412`: Improve performance of ``bool(db)`` for large ndb/gdb " -"databases. Previously this would call ``len(db)`` which would iterate over " -"all keys -- the answer (empty or not) is known after the first key." -msgstr "" - -#: ../NEWS:16048 -msgid "" -":gh:`96652`: Fix the faulthandler implementation of " -"``faulthandler.register(signal, chain=True)`` if the ``sigaction()`` " -"function is not available: don't call the previous signal handler if it's " -"NULL. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16053 -msgid "" -":gh:`68163`: Correct conversion of :class:`numbers.Rational`'s to " -":class:`float`." -msgstr "" - -#: ../NEWS:16056 -msgid "" -":gh:`96538`: Speed up ``bisect.bisect()`` functions by taking advantage of " -"type-stability." -msgstr "" - -#: ../NEWS:16059 -msgid ":gh:`96465`: Fraction hashes are now cached." -msgstr "" - -#: ../NEWS:16061 -msgid "" -":gh:`96079`: In :mod:`typing`, fix missing field ``name`` and incorrect " -"``__module__`` in _AnnotatedAlias." -msgstr "" - -#: ../NEWS:16064 -msgid ":gh:`96415`: Remove ``types._cell_factory`` from module namespace." -msgstr "" - -#: ../NEWS:16066 -msgid ":gh:`95987`: Fix ``repr`` of ``Any`` subclasses." -msgstr "" - -#: ../NEWS:16068 -msgid "" -":gh:`96388`: Work around missing socket functions in " -":class:`~socket.socket`'s ``__repr__``." -msgstr "" - -#: ../NEWS:16071 -msgid "" -":gh:`96385`: Fix ``TypeVarTuple.__typing_prepare_subst__``. ``TypeError`` " -"was not raised when using more than one ``TypeVarTuple``, like ``[*T, *V]`` " -"in type alias substitutions." -msgstr "" - -#: ../NEWS:16075 -msgid "" -":gh:`96142`: Add ``match_args``, ``kw_only``, ``slots``, and " -"``weakref_slot`` to ``_DataclassParams``." -msgstr "" - -#: ../NEWS:16078 -msgid "" -":gh:`96073`: In :mod:`inspect`, fix overeager replacement of \"``typing.``\"" -" in formatting annotations." -msgstr "" - -#: ../NEWS:16081 -msgid "" -":gh:`89258`: Added a :meth:`~logging.Logger.getChildren` method to " -":class:`logging.Logger`, to get the immediate child loggers of a logger." -msgstr "" - -#: ../NEWS:16084 -msgid ":gh:`96346`: Use double caching for compiled RE patterns." -msgstr "" - -#: ../NEWS:16086 -msgid "" -":gh:`96349`: Fixed a minor performance regression in " -":func:`threading.Event.__init__`" -msgstr "" - -#: ../NEWS:16089 -msgid "" -":gh:`90467`: Fix :class:`asyncio.streams.StreamReaderProtocol` to keep a " -"strong reference to the created task, so that it's not garbage collected" -msgstr "" - -#: ../NEWS:16092 -msgid "" -":gh:`96172`: Fix a bug in ``unicodedata``: ``east_asian_width`` used to " -"return the wrong value for unassigned characters; and for yet unassigned, " -"but reserved characters." -msgstr "" - -#: ../NEWS:16096 -msgid "" -":gh:`96159`: Fix a performance regression in logging " -"TimedRotatingFileHandler. Only check for special files when the rollover " -"time has passed." -msgstr "" - -#: ../NEWS:16100 -msgid "" -":gh:`96175`: Fix unused ``localName`` parameter in the ``Attr`` class in " -":mod:`xml.dom.minidom`." -msgstr "" - -#: ../NEWS:16103 -msgid ":gh:`96145`: Add AttrDict to JSON module for use with object_hook." -msgstr "" - -#: ../NEWS:16105 -msgid "" -":gh:`96052`: Fix handling compiler warnings (SyntaxWarning and " -"DeprecationWarning) in :func:`codeop.compile_command` when checking for " -"incomplete input. Previously it emitted warnings and raised a SyntaxError. " -"Now it always returns ``None`` for incomplete input without emitting any " -"warnings." -msgstr "" - -#: ../NEWS:16111 -msgid "" -":gh:`96125`: Fix incorrect condition that causes ``sys.thread_info.name`` to" -" be wrong on pthread platforms." -msgstr "" - -#: ../NEWS:16114 -msgid "" -":gh:`96019`: Fix a bug in the ``makeunicodedata.py`` script leading to about" -" 13 KiB of space saving in the ``unicodedata`` module, specifically the " -"character decomposition data." -msgstr "" - -#: ../NEWS:16118 -msgid "" -":gh:`95463`: Remove an incompatible change from :issue:`28080` that caused a" -" regression that ignored the utf8 in ``ZipInfo.flag_bits``. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../NEWS:16122 -msgid "" -":gh:`69142`: Add ``%:z`` strftime format code (generates tzoffset with " -"colons as separator), see :ref:`strftime-strptime-behavior`." -msgstr "" - -#: ../NEWS:16125 -msgid "" -":gh:`95899`: Fix :class:`asyncio.Runner` to call " -":func:`asyncio.set_event_loop` only once to avoid calling " -":meth:`~asyncio.AbstractChildWatcher.attach_loop` multiple times on child " -"watchers. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16130 -msgid "" -":gh:`95736`: Fix :class:`unittest.IsolatedAsyncioTestCase` to set event loop" -" before calling setup functions. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16133 -msgid "" -":gh:`95865`: Speed up :func:`urllib.parse.quote_from_bytes` by replacing a " -"list comprehension with ``map()``." -msgstr "" - -#: ../NEWS:16136 -msgid "" -":gh:`95861`: Add support for computing Spearman's correlation coefficient to" -" the existing statistics.correlation() function." -msgstr "" - -#: ../NEWS:16139 -msgid "" -":gh:`95804`: Fix ``logging`` shutdown handler so it respects " -"``MemoryHandler.flushOnClose``." -msgstr "" - -#: ../NEWS:16142 -msgid "" -":gh:`95704`: When a task catches :exc:`asyncio.CancelledError` and raises " -"some other error, the other error should generally not silently be " -"suppressed." -msgstr "" - -#: ../NEWS:16146 -msgid "" -":gh:`95149`: The :class:`HTTPStatus ` enum offers a couple " -"of properties to indicate the HTTP status category e.g. " -"``HTTPStatus.OK.is_success``." -msgstr "" - -#: ../NEWS:16150 -msgid ":gh:`95609`: Update bundled pip to 22.2.2." -msgstr "" - -#: ../NEWS:16152 -msgid "" -":gh:`95289`: Fix :class:`asyncio.TaskGroup` to propagate exception when " -":exc:`asyncio.CancelledError` was replaced with another exception by a " -"context manager. Patch by Kumar Aditya and Guido van Rossum." -msgstr "" - -#: ../NEWS:16156 -msgid "" -":gh:`94909`: Fix incorrect joining of relative Windows paths with drives in " -":class:`pathlib.PurePath` initializer." -msgstr "" - -#: ../NEWS:16159 -msgid "" -":gh:`95385`: Faster ``json.dumps()`` when sorting of keys is not requested " -"(default)." -msgstr "" - -#: ../NEWS:16162 -msgid "" -":gh:`83901`: Improve :meth:`Signature.bind ` error " -"message for missing keyword-only arguments." -msgstr "" - -#: ../NEWS:16165 -msgid ":gh:`95339`: Update bundled pip to 22.2.1." -msgstr "" - -#: ../NEWS:16167 -msgid "" -":gh:`95045`: Fix GC crash when deallocating ``_lsprof.Profiler`` by " -"untracking it before calling any callbacks. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16170 -msgid "" -":gh:`95231`: Fail gracefully if :const:`~errno.EPERM` or " -":const:`~errno.ENOSYS` is raised when loading :mod:`!crypt` methods. This " -"may happen when trying to load ``MD5`` on a Linux kernel with :abbr:`FIPS " -"(Federal Information Processing Standard)` enabled." -msgstr "" - -#: ../NEWS:16175 -msgid "" -":gh:`95097`: Fix :func:`asyncio.run` for :class:`asyncio.Task` " -"implementations without :meth:`~asyncio.Task.uncancel` method. Patch by " -"Kumar Aditya." -msgstr "" - -#: ../NEWS:16179 -msgid "" -":gh:`95087`: Fix IndexError in parsing invalid date in the :mod:`email` " -"module." -msgstr "" - -#: ../NEWS:16182 -msgid ":gh:`95199`: Upgrade bundled setuptools to 63.2.0." -msgstr "" - -#: ../NEWS:16184 -msgid ":gh:`95194`: Upgrade bundled pip to 22.2." -msgstr "" - -#: ../NEWS:16186 -msgid "" -":gh:`93899`: Fix check for existence of :const:`os.EFD_CLOEXEC`, " -":const:`os.EFD_NONBLOCK` and :const:`os.EFD_SEMAPHORE` flags on older kernel" -" versions where these flags are not present. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16190 -msgid "" -":gh:`95166`: Fix :meth:`concurrent.futures.Executor.map` to cancel the " -"currently waiting on future on an error - e.g. TimeoutError or " -"KeyboardInterrupt." -msgstr "" - -#: ../NEWS:16194 -msgid "" -":gh:`95132`: Fix a :mod:`sqlite3` regression where ``*args`` and ``**kwds`` " -"were incorrectly relayed from :py:func:`~sqlite3.connect` to the " -":class:`~sqlite3.Connection` factory. The regression was introduced in " -"3.11a1 with PR 24421 (:gh:`85128`). Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:16199 -msgid "" -":gh:`93157`: Fix :mod:`fileinput` module didn't support ``errors`` option " -"when ``inplace`` is true." -msgstr "" - -#: ../NEWS:16202 -msgid "" -":gh:`91212`: Fixed flickering of the turtle window when the tracer is turned" -" off. Patch by Shin-myoung-serp." -msgstr "" - -#: ../NEWS:16205 -msgid "" -":gh:`95077`: Add deprecation warning for enum ``member.member`` access (e.g." -" ``Color.RED.BLUE``). Remove ``EnumMeta.__getattr__``." -msgstr "" - -#: ../NEWS:16208 -msgid "" -":gh:`95109`: Ensure that timeouts scheduled with :class:`asyncio.Timeout` " -"that have already expired are delivered promptly." -msgstr "" - -#: ../NEWS:16211 -msgid "" -":gh:`95105`: :meth:`wsgiref.types.InputStream.__iter__` should return " -"``Iterator[bytes]``, not ``Iterable[bytes]``. Patch by Shantanu Jain." -msgstr "" - -#: ../NEWS:16214 -msgid "" -":gh:`95066`: Replaced assert with exception in :func:`ast.parse`, when " -"``feature_version`` has an invalid major version. Patch by Shantanu Jain." -msgstr "" - -#: ../NEWS:16217 -msgid "" -":gh:`77617`: Add :mod:`sqlite3` :ref:`command-line interface `." -" Patch by Erlend Aasland." -msgstr "" - -#: ../NEWS:16220 -msgid "" -":gh:`95005`: Replace :c:expr:`_PyAccu` with :c:expr:`_PyUnicodeWriter` in " -"JSON encoder and StringIO and remove the :c:expr:`_PyAccu` implementation." -msgstr "" - -#: ../NEWS:16223 -msgid "" -":gh:`90085`: Remove ``-c/--clock`` and ``-t/--time`` CLI options of " -":mod:`timeit`. The options had been deprecated since Python 3.3 and the " -"functionality was removed in Python 3.7. Patch by Shantanu Jain." -msgstr "" - -#: ../NEWS:16227 -msgid "" -":gh:`94857`: Fix refleak in ``_io.TextIOWrapper.reconfigure``. Patch by " -"Kumar Aditya." -msgstr "" - -#: ../NEWS:16230 -msgid "" -":gh:`94821`: Fix binding of unix socket to empty address on Linux to use an " -"available address from the abstract namespace, instead of \"\\0\"." -msgstr "" - -#: ../NEWS:16233 -msgid "" -":gh:`94736`: Fix crash when deallocating an instance of a subclass of " -"``_multiprocessing.SemLock``. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16236 -msgid ":gh:`81620`: Add random.binomialvariate()." -msgstr "" - -#: ../NEWS:16238 -msgid "" -":gh:`74116`: Allow :meth:`asyncio.StreamWriter.drain` to be awaited " -"concurrently by multiple tasks. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16241 -msgid "" -":gh:`87822`: When called with ``capture_locals=True``, the :mod:`traceback` " -"module functions swallow exceptions raised from calls to ``repr()`` on local" -" variables of frames. This is in order to prioritize the original exception " -"over rendering errors. An indication of the failure is printed in place of " -"the missing value. (Patch by Simon-Martin Schroeder)." -msgstr "" - -#: ../NEWS:16247 -msgid "" -":gh:`88050`: Fix :mod:`asyncio` subprocess transport to kill process cleanly" -" when process is blocked and avoid ``RuntimeError`` when loop is closed. " -"Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16251 -msgid "" -":gh:`94637`: :meth:`SSLContext.set_default_verify_paths` now releases the " -"GIL around ``SSL_CTX_set_default_verify_paths`` call. The function call " -"performs I/O and CPU intensive work." -msgstr "" - -#: ../NEWS:16255 -msgid "" -":gh:`94309`: Deprecate aliases :class:`typing.Hashable` and " -":class:`typing.Sized`" -msgstr "" - -#: ../NEWS:16258 -msgid "" -":gh:`92546`: An undocumented ``python -m pprint`` benchmark is moved into " -"``pprint`` suite of pyperformance. Patch by Oleg Iarygin." -msgstr "" - -#: ../NEWS:16261 -msgid "" -":gh:`94607`: Fix subclassing complex generics with type variables in " -":mod:`typing`. Previously an error message saying ``Some type variables ... " -"are not listed in Generic[...]`` was shown. :mod:`typing` no longer " -"populates ``__parameters__`` with the ``__parameters__`` of a Python class." -msgstr "" - -#: ../NEWS:16267 -msgid "" -":gh:`94619`: Remove the long-deprecated ``module_repr()`` from " -":mod:`importlib`." -msgstr "" - -#: ../NEWS:16270 -msgid "" -":gh:`93910`: The ability to access the other values of an enum on an enum " -"(e.g. ``Color.RED.BLUE``) has been restored in order to fix a performance " -"regression." -msgstr "" - -#: ../NEWS:16274 -msgid "" -":gh:`93896`: Fix :func:`asyncio.run` and " -":class:`unittest.IsolatedAsyncioTestCase` to always the set event loop as it" -" was done in Python 3.10 and earlier. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16278 -msgid "" -":gh:`94343`: Allow setting the attributes of ``reprlib.Repr`` during object " -"initialization" -msgstr "" - -#: ../NEWS:16281 -msgid "" -":gh:`94382`: Port static types of ``_multiprocessing`` module to heap types." -" Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16284 -msgid "" -":gh:`78724`: Fix crash in :class:`struct.Struct` when it was not completely " -"initialized by initializing it in :meth:`~object.__new__`. Patch by Kumar " -"Aditya." -msgstr "" - -#: ../NEWS:16288 -msgid "" -":gh:`94510`: Re-entrant calls to :func:`sys.setprofile` and " -":func:`sys.settrace` now raise :exc:`RuntimeError`. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:16292 -msgid "" -":gh:`92336`: Fix bug where :meth:`linecache.getline` fails on bad files with" -" :exc:`UnicodeDecodeError` or :exc:`SyntaxError`. It now returns an empty " -"string as per the documentation." -msgstr "" - -#: ../NEWS:16296 -msgid "" -":gh:`94398`: Once a :class:`asyncio.TaskGroup` has started shutting down " -"(i.e., at least one task has failed and the task group has started " -"cancelling the remaining tasks), it should not be possible to add new tasks " -"to the task group." -msgstr "" - -#: ../NEWS:16301 -msgid "" -":gh:`94383`: :mod:`xml.etree`: Remove the ``ElementTree.Element.copy()`` " -"method of the pure Python implementation, deprecated in Python 3.10, use the" -" :func:`copy.copy` function instead. The C implementation of " -":mod:`xml.etree` has no ``copy()`` method, only a ``__copy__()`` method. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16307 -msgid "" -":gh:`94379`: :mod:`zipimport`: Remove ``find_loader()`` and " -"``find_module()`` methods, deprecated in Python 3.10: use the " -"``find_spec()`` method instead. See :pep:`451` for the rationale. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:16311 -msgid "" -":gh:`94352`: :func:`shlex.split`: Passing ``None`` for *s* argument now " -"raises an exception, rather than reading :data:`sys.stdin`. The feature was " -"deprecated in Python 3.9. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16315 -msgid ":gh:`94318`: Strip trailing spaces in :mod:`pydoc` text output." -msgstr "" - -#: ../NEWS:16317 -msgid "" -":gh:`89988`: Fix memory leak in :class:`pickle.Pickler` when looking up " -":attr:`dispatch_table`. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16320 -msgid "" -":gh:`90016`: Deprecate :mod:`sqlite3` :ref:`default adapters and converters " -"`. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:16323 -msgid "" -":gh:`94254`: Fixed types of :mod:`struct` module to be immutable. Patch by " -"Kumar Aditya." -msgstr "" - -#: ../NEWS:16326 -msgid "" -":gh:`93259`: Now raise ``ValueError`` when ``None`` or an empty string are " -"passed to ``Distribution.from_name`` (and other callers)." -msgstr "" - -#: ../NEWS:16329 -msgid "" -":gh:`74696`: :func:`shutil.make_archive` now passes the *root_dir* argument " -"to custom archivers which support it." -msgstr "" - -#: ../NEWS:16332 -msgid "" -":gh:`94216`: The :mod:`dis` module now has the opcodes for pseudo " -"instructions (those which are used by the compiler during code generation " -"but then removed or replaced by real opcodes before the final bytecode is " -"emitted)." -msgstr "" - -#: ../NEWS:16337 -msgid "" -":gh:`93096`: Removed undocumented ``python -m codecs``. Use ``python -m " -"unittest test.test_codecs.EncodedFileTest`` instead." -msgstr "" - -#: ../NEWS:16340 -msgid "" -":gh:`94207`: Made :class:`!_struct.Struct` GC-tracked in order to fix a " -"reference leak in the :mod:`!_struct` module." -msgstr "" - -#: ../NEWS:16343 -msgid "" -":gh:`93096`: Removed undocumented ``-t`` argument of ``python -m base64``. " -"Use ``python -m unittest " -"test.test_base64.LegacyBase64TestCase.test_encodebytes`` instead." -msgstr "" - -#: ../NEWS:16347 -msgid "" -":gh:`94226`: Remove the :func:`locale.format` function, deprecated in Python" -" 3.7: use :func:`locale.format_string` instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16350 -msgid "" -":gh:`94199`: Remove the :func:`ssl.match_hostname` function. The " -":func:`ssl.match_hostname` was deprecated in Python 3.7. OpenSSL performs " -"hostname matching since Python 3.7, Python no longer uses the " -":func:`ssl.match_hostname` function. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16355 -msgid "" -":gh:`94214`: Document the ``context`` object used in the ``venv.EnvBuilder``" -" class, and add the new environment's library path to it." -msgstr "" - -#: ../NEWS:16358 -msgid "" -":gh:`94199`: Remove the :func:`ssl.wrap_socket` function, deprecated in " -"Python 3.7: instead, create a :class:`ssl.SSLContext` object and call its " -":class:`ssl.SSLContext.wrap_socket` method. Any package that still uses " -":func:`ssl.wrap_socket` is broken and insecure. The function neither sends a" -" SNI TLS extension nor validates server hostname. Code is subject to " -":cwe:`295` Improper Certificate Validation. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16365 -msgid "" -":gh:`94199`: Remove the :func:`ssl.RAND_pseudo_bytes` function, deprecated " -"in Python 3.6: use :func:`os.urandom` or :func:`ssl.RAND_bytes` instead. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16369 -msgid "" -":gh:`94199`: :mod:`hashlib`: Remove the pure Python implementation of " -":func:`hashlib.pbkdf2_hmac`, deprecated in Python 3.10. Python 3.10 and " -"newer requires OpenSSL 1.1.1 (:pep:`644`): this OpenSSL version provides a C" -" implementation of :func:`~hashlib.pbkdf2_hmac` which is faster. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:16375 -msgid "" -":gh:`94196`: :mod:`gzip`: Remove the ``filename`` attribute of " -":class:`gzip.GzipFile`, deprecated since Python 2.6, use the " -":attr:`~gzip.GzipFile.name` attribute instead. In write mode, the " -"``filename`` attribute added ``'.gz'`` file extension if it was not present." -" Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16381 -msgid "" -":gh:`94182`: run the :class:`asyncio.PidfdChildWatcher` on the running loop," -" this allows event loops to run subprocesses when there is no default event " -"loop running on the main thread" -msgstr "" - -#: ../NEWS:16385 -msgid "" -":gh:`94169`: Remove ``io.OpenWrapper`` and ``_pyio.OpenWrapper``, deprecated" -" in Python 3.10: just use :func:`open` instead. The :func:`open` " -"(:func:`io.open`) function is a built-in function. Since Python 3.10, " -":func:`!_pyio.open` is also a static method. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16390 -msgid "" -":gh:`91742`: Fix :mod:`pdb` crash after jump caused by a null pointer " -"dereference. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16393 -msgid "" -":gh:`94101`: Manual instantiation of :class:`ssl.SSLSession` objects is no " -"longer allowed as it lead to misconfigured instances that crashed the " -"interpreter when attributes where accessed on them." -msgstr "" - -#: ../NEWS:16397 -msgid "" -":gh:`84753`: :func:`inspect.iscoroutinefunction`, " -":func:`inspect.isgeneratorfunction`, and :func:`inspect.isasyncgenfunction` " -"now properly return ``True`` for duck-typed function-like objects like " -"instances of :class:`unittest.mock.AsyncMock`." -msgstr "" - -#: ../NEWS:16403 -msgid "" -"This makes :func:`inspect.iscoroutinefunction` consistent with the behavior " -"of :func:`asyncio.iscoroutinefunction`. Patch by Mehdi ABAAKOUK." -msgstr "" - -#: ../NEWS:16406 -msgid "" -":gh:`94028`: Fix a regression in the :mod:`sqlite3` where statement objects " -"were not properly cleared and reset after use in cursor iters. The " -"regression was introduced by PR 27884 in Python 3.11a1. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../NEWS:16411 -msgid "" -":gh:`93973`: Add keyword argument ``all_errors`` to " -"``asyncio.create_connection`` so that multiple connection errors can be " -"raised as an ``ExceptionGroup``." -msgstr "" - -#: ../NEWS:16415 -msgid "" -":gh:`93963`: Officially deprecate from ``importlib.abc`` classes moved to " -"``importlib.resources.abc``." -msgstr "" - -#: ../NEWS:16418 -msgid "" -":gh:`93858`: Prevent error when activating venv in nested fish instances." -msgstr "" - -#: ../NEWS:16420 -msgid ":gh:`93820`: Pickle :class:`enum.Flag` by name." -msgstr "" - -#: ../NEWS:16422 -msgid ":gh:`93847`: Fix repr of enum of generic aliases." -msgstr "" - -#: ../NEWS:16424 -msgid "" -":gh:`91404`: Revert the :mod:`re` memory leak when a match is terminated by " -"a signal or memory allocation failure as the implemented fix caused a major " -"performance regression." -msgstr "" - -#: ../NEWS:16428 -msgid "" -":gh:`83499`: Fix double closing of file description in :mod:`tempfile`." -msgstr "" - -#: ../NEWS:16430 -msgid "" -":gh:`93820`: Fixed a regression when :func:`copy.copy`-ing " -":class:`enum.Flag` with multiple flag members." -msgstr "" - -#: ../NEWS:16433 -msgid "" -":gh:`79512`: Fixed names and ``__module__`` value of :mod:`weakref` classes " -":class:`~weakref.ReferenceType`, :class:`~weakref.ProxyType`, " -":class:`~weakref.CallableProxyType`. It makes them pickleable." -msgstr "" - -#: ../NEWS:16437 -msgid "" -":gh:`91389`: Fix an issue where :mod:`dis` utilities could report missing or" -" incorrect position information in the presence of ``CACHE`` entries." -msgstr "" - -#: ../NEWS:16440 -msgid "" -":gh:`93626`: Set ``__future__.annotations`` to have a ``None`` " -"mandatoryRelease to indicate that it is currently 'TBD'." -msgstr "" - -#: ../NEWS:16443 -msgid "" -":gh:`90473`: Emscripten and WASI have no home directory and cannot provide " -":pep:`370` user site directory." -msgstr "" - -#: ../NEWS:16446 -msgid "" -":gh:`90494`: :func:`copy.copy` and :func:`copy.deepcopy` now always raise a " -"TypeError if ``__reduce__()`` returns a tuple with length 6 instead of " -"silently ignore the 6th item or produce incorrect result." -msgstr "" - -#: ../NEWS:16450 -msgid "" -":gh:`90549`: Fix a multiprocessing bug where a global named resource (such " -"as a semaphore) could leak when a child process is spawned (as opposed to " -"forked)." -msgstr "" - -#: ../NEWS:16454 -msgid "" -":gh:`93521`: Fixed a case where dataclasses would try to add ``__weakref__``" -" into the ``__slots__`` for a dataclass that specified ``weakref_slot=True``" -" when it was already defined in one of its bases. This resulted in a " -"``TypeError`` upon the new class being created." -msgstr "" - -#: ../NEWS:16459 -msgid "" -":gh:`79579`: :mod:`sqlite3` now correctly detects DML queries with leading " -"comments. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:16462 -msgid "" -":gh:`93421`: Update :data:`sqlite3.Cursor.rowcount` when a DML statement has" -" run to completion. This fixes the row count for SQL queries like ``UPDATE " -"... RETURNING``. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:16466 -msgid "" -":gh:`93475`: Expose ``FICLONE`` and ``FICLONERANGE`` constants in " -":mod:`fcntl`. Patch by Illia Volochii." -msgstr "" - -#: ../NEWS:16469 -msgid ":gh:`93370`: Deprecate :data:`!version` and :data:`!version_info`." -msgstr "" - -#: ../NEWS:16471 -msgid "" -":gh:`91810`: Suppress writing an XML declaration in open files in " -"``ElementTree.write()`` with ``encoding='unicode'`` and " -"``xml_declaration=None``." -msgstr "" - -#: ../NEWS:16475 -msgid "" -":gh:`91162`: Support splitting of unpacked arbitrary-length tuple over " -"``TypeVar`` and ``TypeVarTuple`` parameters. For example:" -msgstr "" - -#: ../NEWS:16478 -msgid "``A[T, *Ts][*tuple[int, ...]]`` -> ``A[int, *tuple[int, ...]]``" -msgstr "" - -#: ../NEWS:16479 -msgid "``A[*Ts, T][*tuple[int, ...]]`` -> ``A[*tuple[int, ...], int]``" -msgstr "" - -#: ../NEWS:16481 -msgid "" -":gh:`93353`: Fix the :func:`importlib.resources.as_file` context manager to " -"remove the temporary file if destroyed late during Python finalization: keep" -" a local reference to the :func:`os.remove` function. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:16486 -msgid "" -":gh:`83658`: Make :class:`multiprocessing.Pool` raise an exception if " -"``maxtasksperchild`` is not ``None`` or a positive int." -msgstr "" - -#: ../NEWS:16489 -msgid "" -":gh:`93312`: Add :const:`os.PIDFD_NONBLOCK` flag to open a file descriptor " -"for a process with :func:`os.pidfd_open` in non-blocking mode. Patch by " -"Kumar Aditya." -msgstr "" - -#: ../NEWS:16493 -msgid "" -":gh:`88123`: Implement ``Enum.__contains__`` that returns ``True`` or " -"``False`` to replace the deprecated behaviour that would sometimes raise a " -":exc:`TypeError`." -msgstr "" - -#: ../NEWS:16497 -msgid "" -":gh:`93297`: Make asyncio task groups prevent child tasks from being GCed" -msgstr "" - -#: ../NEWS:16499 -msgid "" -":gh:`85308`: Changed :class:`argparse.ArgumentParser` to use " -":term:`filesystem encoding and error handler` instead of default text " -"encoding to read arguments from file (e.g. ``fromfile_prefix_chars`` " -"option). This change affects Windows; argument file should be encoded with " -"UTF-8 instead of ANSI Codepage." -msgstr "" - -#: ../NEWS:16505 -msgid "" -":gh:`93156`: Accessing the :attr:`pathlib.PurePath.parents` sequence of an " -"absolute path using negative index values produced incorrect results." -msgstr "" - -#: ../NEWS:16508 -msgid "" -":gh:`93162`: Add the ability for :func:`logging.config.dictConfig` to " -"usefully configure :class:`~logging.handlers.QueueHandler` and " -":class:`~logging.handlers.QueueListener` as a pair, and add " -":func:`logging.getHandlerByName` and :func:`logging.getHandlerNames` APIs to" -" allow access to handlers by name." -msgstr "" - -#: ../NEWS:16514 -msgid "" -":gh:`93243`: The :mod:`!smtpd` module was removed per the schedule in " -":pep:`594`." -msgstr "" - -#: ../NEWS:16517 -msgid "" -":gh:`92886`: Replace ``assert`` statements with ``raise AssertionError()`` " -"in :class:`~wsgiref.BaseHandler` so that the tested behaviour is maintained " -"running with optimizations ``(-O)``." -msgstr "" - -#: ../NEWS:16521 -msgid "" -":gh:`90155`: Fix broken :class:`asyncio.Semaphore` when acquire is " -"cancelled." -msgstr "" - -#: ../NEWS:16523 -msgid "" -":gh:`90817`: The :func:`locale.resetlocale` function is deprecated and will " -"be removed in Python 3.13. Use ``locale.setlocale(locale.LC_ALL, \"\")`` " -"instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16527 -msgid "" -":gh:`91513`: Added ``taskName`` attribute to :mod:`logging` module for use " -"with :mod:`asyncio` tasks." -msgstr "" - -#: ../NEWS:16530 -msgid "" -":gh:`74696`: :func:`shutil.make_archive` no longer temporarily changes the " -"current working directory during creation of standard ``.zip`` or tar " -"archives." -msgstr "" - -#: ../NEWS:16534 -msgid "" -":gh:`92728`: The :func:`re.template` function and the corresponding " -":const:`re.TEMPLATE` and :const:`re.T` flags are restored after they were " -"removed in 3.11.0b1, but they are now deprecated, so they might be removed " -"from Python 3.13." -msgstr "" - -#: ../NEWS:16539 -msgid "" -":gh:`93033`: Search in some strings (platform dependent i.e [U+0xFFFF, " -"U+0x0100] on Windows or [U+0xFFFFFFFF, U+0x00010000] on Linux 64-bit) are " -"now up to 10 times faster." -msgstr "" - -#: ../NEWS:16543 -msgid "" -":gh:`89973`: Fix :exc:`re.error` raised in :mod:`fnmatch` if the pattern " -"contains a character range with upper bound lower than lower bound (e.g. " -"``[c-a]``). Now such ranges are interpreted as empty ranges." -msgstr "" - -#: ../NEWS:16547 -msgid "" -":gh:`93044`: No longer convert the database argument of " -":func:`sqlite3.connect` to bytes before passing it to the factory." -msgstr "" - -#: ../NEWS:16550 -msgid "" -":gh:`93010`: In a very special case, the email package tried to append the " -"nonexistent ``InvalidHeaderError`` to the defect list. It should have been " -"``InvalidHeaderDefect``." -msgstr "" - -#: ../NEWS:16554 -msgid "" -":gh:`92986`: Fix :func:`ast.unparse` when ``ImportFrom.level`` is ``None``" -msgstr "" - -#: ../NEWS:16556 -msgid "" -":gh:`92932`: Now :func:`~dis.dis` and :func:`~dis.get_instructions` handle " -"operand values for instructions prefixed by ``EXTENDED_ARG_QUICK``. Patch by" -" Sam Gross and Donghee Na." -msgstr "" - -#: ../NEWS:16560 -msgid "" -":gh:`92675`: Fix :func:`venv.ensure_directories` to accept " -":class:`pathlib.Path` arguments in addition to :class:`str` paths. Patch by " -"David Foster." -msgstr "" - -#: ../NEWS:16564 -msgid "" -":gh:`87901`: Removed the ``encoding`` argument from :func:`os.popen` that " -"was added in 3.11b1." -msgstr "" - -#: ../NEWS:16567 -msgid "" -":gh:`91922`: Fix function :func:`sqlite.connect` and the " -":class:`sqlite.Connection` constructor on non-UTF-8 locales. Also, they now " -"support bytes paths non-decodable with the current FS encoding." -msgstr "" - -#: ../NEWS:16571 -msgid "" -":gh:`92869`: Added :class:`~ctypes.c_time_t` to :mod:`ctypes`, which has the" -" same size as the :c:type:`time_t` type in C." -msgstr "" - -#: ../NEWS:16574 -msgid "" -":gh:`92839`: Fixed crash resulting from calling bisect.insort() or " -"bisect.insort_left() with the key argument not equal to ``None``." -msgstr "" - -#: ../NEWS:16577 -msgid "" -":gh:`90473`: :mod:`subprocess` now fails early on Emscripten and WASI " -"platforms to work around missing :func:`os.pipe` on WASI." -msgstr "" - -#: ../NEWS:16580 -msgid "" -":gh:`89325`: Removed many old deprecated :mod:`unittest` features: " -":class:`~unittest.TestCase` method aliases, undocumented and broken " -":class:`~unittest.TestCase` method ``assertDictContainsSubset``, " -"undocumented :meth:`TestLoader.loadTestsFromModule " -"` parameter *use_load_tests*, and " -"an underscored alias of the :class:`~unittest.TextTestResult` class." -msgstr "" - -#: ../NEWS:16587 -msgid "" -":gh:`92734`: Allow multi-element reprs emitted by :mod:`reprlib` to be " -"pretty-printed using configurable indentation." -msgstr "" - -#: ../NEWS:16590 -msgid "" -":gh:`92671`: Fixed :func:`ast.unparse` for empty tuples in the assignment " -"target context." -msgstr "" - -#: ../NEWS:16593 -msgid "" -":gh:`91581`: :meth:`~datetime.datetime.utcfromtimestamp` no longer attempts " -"to resolve ``fold`` in the pure Python implementation, since the fold is " -"never 1 in UTC. In addition to being slightly faster in the common case, " -"this also prevents some errors when the timestamp is close to " -":attr:`datetime.min `. Patch by Paul Ganssle." -msgstr "" - -#: ../NEWS:16599 -msgid "" -":gh:`86388`: Removed randrange() functionality deprecated since Python 3.10." -" Formerly, randrange(10.0) losslessly converted to randrange(10). Now, it " -"raises a TypeError. Also, the exception raised for non-integral values such " -"as randrange(10.5) or randrange('10') has been changed from ValueError to " -"TypeError." -msgstr "" - -#: ../NEWS:16605 -msgid "" -":gh:`90385`: Add :meth:`pathlib.Path.walk` as an alternative to " -":func:`os.walk`." -msgstr "" - -#: ../NEWS:16608 -msgid ":gh:`92550`: Fix :meth:`pathlib.Path.rglob` for empty pattern." -msgstr "" - -#: ../NEWS:16610 -msgid "" -":gh:`92591`: Allow :mod:`logging` filters to return a " -":class:`logging.LogRecord` instance so that filters attached to " -":class:`logging.Handler`\\ s can enrich records without side effects on " -"other handlers." -msgstr "" - -#: ../NEWS:16615 -msgid "" -":gh:`92445`: Fix a bug in :mod:`argparse` where ``nargs=\"*\"`` would raise " -"an error instead of returning an empty list when 0 arguments were supplied " -"if choice was also defined in ``parser.add_argument``." -msgstr "" - -#: ../NEWS:16619 -msgid "" -":gh:`92547`: Remove undocumented :mod:`sqlite3` features deprecated in " -"Python 3.10:" -msgstr "" - -#: ../NEWS:16622 -msgid "``sqlite3.enable_shared_cache()``" -msgstr "" - -#: ../NEWS:16623 -msgid "``sqlite3.OptimizedUnicode``" -msgstr "" - -#: ../NEWS:16627 -msgid "" -":gh:`92530`: Fix an issue that occurred after interrupting " -":func:`threading.Condition.notify`." -msgstr "" - -#: ../NEWS:16630 -msgid "" -":gh:`92531`: The statistics.median_grouped() function now always return a " -"float. Formerly, it did not convert the input type when for sequences of " -"length one." -msgstr "" - -#: ../NEWS:16634 -msgid "" -":gh:`84131`: The :class:`pathlib.Path` deprecated method ``link_to`` has " -"been removed. Use 3.10's :meth:`~pathlib.Path.hardlink_to` method instead as" -" its semantics are consistent with that of :meth:`~pathlib.Path.symlink_to`." -msgstr "" - -#: ../NEWS:16639 -msgid "" -":gh:`89336`: Removed :mod:`configparser` module APIs: the " -"``SafeConfigParser`` class alias, the ``ParsingError.filename`` property and" -" parameter, and the ``ConfigParser.readfp`` method, all of which were " -"deprecated since Python 3.2." -msgstr "" - -#: ../NEWS:16644 -msgid "" -":gh:`92391`: Add :meth:`~object.__class_getitem__` to " -":class:`csv.DictReader` and :class:`csv.DictWriter`, allowing them to be " -"parameterized at runtime. Patch by Marc Mueller." -msgstr "" - -#: ../NEWS:16648 -msgid "" -":gh:`91968`: Add ``SO_RTABLE`` and ``SO_USER_COOKIE`` constants to " -":mod:`socket`." -msgstr "" - -#: ../NEWS:16651 -msgid "" -":gh:`91810`: :class:`~xml.etree.ElementTree.ElementTree` method " -":meth:`~xml.etree.ElementTree.ElementTree.write` and function " -":func:`~xml.etree.ElementTree.tostring` now use the text file's encoding " -"(\"UTF-8\" if not available) instead of locale encoding in XML declaration " -"when ``encoding=\"unicode\"`` is specified." -msgstr "" - -#: ../NEWS:16657 -msgid "" -":gh:`81790`: :func:`os.path.splitdrive` now understands DOS device paths " -"with UNC links (beginning ``\\\\?\\UNC\\``). Contributed by Barney Gale." -msgstr "" - -#: ../NEWS:16660 -msgid "" -":gh:`91760`: Apply more strict rules for numerical group references and " -"group names in regular expressions. Only sequence of ASCII digits is now " -"accepted as a numerical reference. The group name in bytes patterns and " -"replacement strings can now only contain ASCII letters and digits and " -"underscore." -msgstr "" - -#: ../NEWS:16666 -msgid "" -":gh:`90622`: Worker processes for " -":class:`concurrent.futures.ProcessPoolExecutor` are no longer spawned on " -"demand (a feature added in 3.9) when the multiprocessing context start " -"method is ``\"fork\"`` as that can lead to deadlocks in the child processes " -"due to a fork happening while threads are running." -msgstr "" - -#: ../NEWS:16672 -msgid "" -":gh:`91577`: Move imports in :class:`~multiprocessing.SharedMemory` methods " -"to module level so that they can be executed late in python finalization." -msgstr "" - -#: ../NEWS:16675 -msgid "" -":gh:`91581`: Remove an unhandled error case in the C implementation of calls" -" to :meth:`datetime.fromtimestamp ` with no" -" time zone (i.e. getting a local time from an epoch timestamp). This should " -"have no user-facing effect other than giving a possibly more accurate error " -"message when called with timestamps that fall on 10000-01-01 in the local " -"time. Patch by Paul Ganssle." -msgstr "" - -#: ../NEWS:16682 -msgid "" -":gh:`91539`: Improve performance of " -"``urllib.request.getproxies_environment`` when there are many environment " -"variables" -msgstr "" - -#: ../NEWS:16685 -msgid "" -":gh:`91524`: Speed up the regular expression substitution (functions " -":func:`re.sub` and :func:`re.subn` and corresponding :class:`re.Pattern` " -"methods) for replacement strings containing group references by 2--3 times." -msgstr "" - -#: ../NEWS:16690 -msgid "" -":gh:`91447`: Fix findtext in the xml module to only give an empty string " -"when the text attribute is set to ``None``." -msgstr "" - -#: ../NEWS:16693 -msgid "" -":gh:`91456`: Deprecate current default auto() behavior: In 3.13 the default" -" will be for for auto() to always return the largest member value " -"incremented by 1, and to raise if incompatible value types are used." -msgstr "" - -#: ../NEWS:16697 -msgid "" -":issue:`47231`: Fixed an issue with inconsistent trailing slashes in tarfile" -" longname directories." -msgstr "" - -#: ../NEWS:16700 -msgid "" -":issue:`39064`: :class:`zipfile.ZipFile` now raises " -":exc:`zipfile.BadZipFile` instead of ``ValueError`` when reading a corrupt " -"zip file in which the central directory offset is negative." -msgstr "" - -#: ../NEWS:16704 -msgid "" -":issue:`41287`: Fix handling of the ``doc`` argument in subclasses of " -":func:`property`." -msgstr "" - -#: ../NEWS:16707 -msgid "" -":gh:`90005`: :mod:`ctypes` dependency ``libffi`` is now detected with ``pkg-" -"config``." -msgstr "" - -#: ../NEWS:16710 -msgid "" -":issue:`32547`: The constructors for :class:`~csv.DictWriter` and " -":class:`~csv.DictReader` now coerce the ``fieldnames`` argument to a " -":class:`list` if it is an iterator." -msgstr "" - -#: ../NEWS:16714 -msgid "" -":issue:`35540`: Fix :func:`dataclasses.asdict` crash when " -":class:`collections.defaultdict` is present in the attributes." -msgstr "" - -#: ../NEWS:16717 -msgid "" -":issue:`47063`: Add an index_pages parameter to support using non-default " -"index page names." -msgstr "" - -#: ../NEWS:16720 -msgid ":issue:`47025`: Drop support for :class:`bytes` on :data:`sys.path`." -msgstr "" - -#: ../NEWS:16722 -msgid "" -":issue:`46951`: Order the contents of zipapp archives, to make builds more " -"reproducible." -msgstr "" - -#: ../NEWS:16725 -msgid "" -":issue:`42777`: Implement :meth:`pathlib.Path.is_mount` for Windows paths." -msgstr "" - -#: ../NEWS:16727 -msgid "" -":issue:`46755`: In :class:`QueueHandler`, clear ``stack_info`` from " -":class:`LogRecord` to prevent stack trace from being written twice." -msgstr "" - -#: ../NEWS:16730 -msgid "" -":issue:`45393`: Fix the formatting for ``await x`` and ``not x`` in the " -"operator precedence table when using the :func:`help` system." -msgstr "" - -#: ../NEWS:16733 -msgid "" -":issue:`46642`: Improve error message when trying to subclass an instance of" -" :data:`typing.TypeVar`, :data:`typing.ParamSpec`, " -":data:`typing.TypeVarTuple`, etc. Based on patch by Gregory Beauregard." -msgstr "" - -#: ../NEWS:16737 -msgid "" -":issue:`46364`: Restrict use of sockets instead of pipes for stdin of " -"subprocesses created by :mod:`asyncio` to AIX platform only." -msgstr "" - -#: ../NEWS:16740 -msgid "" -":issue:`28249`: Set :attr:`doctest.DocTest.lineno` to ``None`` when an " -"object does not have :attr:`~definition.__doc__`." -msgstr "" - -#: ../NEWS:16743 -msgid "" -":issue:`46197`: Fix :mod:`ensurepip` environment isolation for subprocess " -"running ``pip``." -msgstr "" - -#: ../NEWS:16746 -msgid "" -":issue:`45924`: Fix :mod:`asyncio` incorrect traceback when future's " -"exception is raised multiple times. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:16749 -msgid "" -":issue:`45046`: Add support of context managers in :mod:`unittest`: methods " -":meth:`~unittest.TestCase.enterContext` and " -":meth:`~unittest.TestCase.enterClassContext` of class " -":class:`~unittest.TestCase`, method " -":meth:`~unittest.IsolatedAsyncioTestCase.enterAsyncContext` of class " -":class:`~unittest.IsolatedAsyncioTestCase` and function " -":func:`unittest.enterModuleContext`." -msgstr "" - -#: ../NEWS:16757 -msgid "" -":issue:`44173`: Enable fast seeking of uncompressed unencrypted " -":class:`zipfile.ZipExtFile`" -msgstr "" - -#: ../NEWS:16760 -msgid "" -":issue:`42627`: Fix incorrect parsing of Windows registry proxy settings" -msgstr "" - -#: ../NEWS:16762 -msgid "" -":issue:`42047`: Add :func:`threading.get_native_id` support for DragonFly " -"BSD. Patch by David Carlier." -msgstr "" - -#: ../NEWS:16765 -msgid "" -":issue:`14243`: The :class:`tempfile.NamedTemporaryFile` function has a new " -"optional parameter *delete_on_close*" -msgstr "" - -#: ../NEWS:16768 -msgid "" -":issue:`41246`: Give the same callback function for when the overlapped " -"operation is done to the functions ``recv``, ``recv_into``, ``recvfrom``, " -"``sendto``, ``send`` and ``sendfile`` inside ``IocpProactor``." -msgstr "" - -#: ../NEWS:16772 -msgid "" -":issue:`39264`: Fixed :meth:`collections.UserDict.get` to not call " -":meth:`__missing__` when a value is not found. This matches the behavior of " -":class:`dict`. Patch by Bar Harel." -msgstr "" - -#: ../NEWS:16776 -msgid "" -":issue:`38693`: :mod:`importlib` now uses f-strings internally instead of " -"``str.format``." -msgstr "" - -#: ../NEWS:16779 -msgid "" -":issue:`38267`: Add *timeout* parameter to " -":meth:`asyncio.loop.shutdown_default_executor`. The default value is " -"``None``, which means the executor will be given an unlimited amount of " -"time. When called from :class:`asyncio.Runner` or :func:`asyncio.run`, the " -"default timeout is 5 minutes." -msgstr "" - -#: ../NEWS:16785 -msgid "" -":issue:`34828`: :meth:`sqlite3.Connection.iterdump` now handles databases " -"that use ``AUTOINCREMENT`` in one or more tables." -msgstr "" - -#: ../NEWS:16788 -msgid "" -":issue:`32990`: Support reading wave files with the " -"``WAVE_FORMAT_EXTENSIBLE`` format in the :mod:`wave` module." -msgstr "" - -#: ../NEWS:16791 -msgid "" -":issue:`26253`: Allow adjustable compression level for tarfile streams in " -":func:`tarfile.open`." -msgstr "" - -#: ../NEWS:16797 -msgid ":gh:`85525`: Remove extra row" -msgstr "" - -#: ../NEWS:16799 -msgid "" -":gh:`86404`: Deprecated tools ``make suspicious`` and ``rstlint.py`` are now" -" removed. They have been replaced by :pypi:`sphinx-lint`." -msgstr "" - -#: ../NEWS:16802 -msgid "" -":gh:`97741`: Fix ``!`` in c domain ref target syntax via a ``conf.py`` " -"patch, so it works as intended to disable ref target resolution." -msgstr "" - -#: ../NEWS:16805 -msgid "" -":gh:`96432`: Fraction literals now support whitespace around the forward " -"slash, ``Fraction('2 / 3')``." -msgstr "" - -#: ../NEWS:16808 -msgid "" -":gh:`96098`: Improve discoverability of the higher level concurrent.futures " -"module by providing clearer links from the lower level threading and " -"multiprocessing modules." -msgstr "" - -#: ../NEWS:16812 -msgid "" -":gh:`95957`: What's New 3.11 now has instructions for how to provide " -"compiler and linker flags for Tcl/Tk and OpenSSL on RHEL 7 and CentOS 7." -msgstr "" - -#: ../NEWS:16815 -msgid "" -":gh:`95588`: Clarified the conflicting advice given in the :mod:`ast` " -"documentation about :func:`ast.literal_eval` being \"safe\" for use on " -"untrusted input while at the same time warning that it can crash the " -"process. The latter statement is true and is deemed unfixable without a " -"large amount of work unsuitable for a bugfix. So we keep the warning and no " -"longer claim that ``literal_eval`` is safe." -msgstr "" - -#: ../NEWS:16822 -msgid "" -":gh:`91207`: Fix stylesheet not working in Windows CHM htmlhelp docs and add" -" warning that they are deprecated. Contributed by C.A.M. Gerlach." -msgstr "" - -#: ../NEWS:16825 -msgid "" -":gh:`95454`: Replaced incorrectly written true/false values in " -"documentation. Patch by Robert O'Shea" -msgstr "" - -#: ../NEWS:16828 -msgid "" -":gh:`95451`: Update library documentation with :ref:`availability " -"information ` on WebAssembly platforms " -"``wasm32-emscripten`` and ``wasm32-wasi``." -msgstr "" - -#: ../NEWS:16832 -msgid "" -":gh:`95415`: Use consistent syntax for platform availability. The directive " -"now supports a content body and emits a warning when it encounters an " -"unknown platform." -msgstr "" - -#: ../NEWS:16836 -msgid "" -":gh:`94321`: Document the :pep:`246` style protocol type " -":class:`sqlite3.PrepareProtocol`." -msgstr "" - -#: ../NEWS:16839 -msgid "" -":gh:`86128`: Document a limitation in ThreadPoolExecutor where its exit " -"handler is executed before any handlers in atexit." -msgstr "" - -#: ../NEWS:16842 -msgid "" -":gh:`61162`: Clarify :mod:`sqlite3` behavior when :ref:`sqlite3-connection-" -"context-manager`." -msgstr "" - -#: ../NEWS:16845 -msgid "" -":gh:`87260`: Align :mod:`sqlite3` argument specs with the actual " -"implementation." -msgstr "" - -#: ../NEWS:16848 -msgid "" -":gh:`86986`: The minimum Sphinx version required to build the documentation " -"is now 3.2." -msgstr "" - -#: ../NEWS:16851 -msgid "" -":gh:`88831`: Augmented documentation of asyncio.create_task(). Clarified the" -" need to keep strong references to tasks and added a code snippet detailing " -"how to do this." -msgstr "" - -#: ../NEWS:16855 -msgid "" -":gh:`86438`: Clarify that :option:`-W` and :envvar:`PYTHONWARNINGS` are " -"matched literally and case-insensitively, rather than as regular " -"expressions, in :mod:`warnings`." -msgstr "" - -#: ../NEWS:16859 -msgid "" -":gh:`93031`: Update tutorial introduction output to use 3.10+ SyntaxError " -"invalid range." -msgstr "" - -#: ../NEWS:16862 -msgid "" -":gh:`92240`: Added release dates for \"What's New in Python 3.X\" for 3.0, " -"3.1, 3.2, 3.8 and 3.10" -msgstr "" - -#: ../NEWS:16865 -msgid "" -":issue:`47161`: Document that :class:`pathlib.PurePath` does not collapse " -"initial double slashes because they denote UNC paths." -msgstr "" - -#: ../NEWS:16868 -msgid "" -":issue:`40838`: Document that :func:`inspect.getdoc`, " -":func:`inspect.getmodule`, and :func:`inspect.getsourcefile` might return " -"``None``." -msgstr "" - -#: ../NEWS:16872 -msgid "" -":issue:`43689`: The ``Differ`` documentation now also mentions other " -"whitespace characters, which make it harder to understand the diff output." -msgstr "" - -#: ../NEWS:16875 -msgid "" -":issue:`38056`: Overhaul the :ref:`error-handlers` documentation in " -":mod:`codecs`." -msgstr "" - -#: ../NEWS:16878 -msgid ":issue:`13553`: Document tkinter.Tk args." -msgstr "" - -#: ../NEWS:16883 -msgid "" -":gh:`95027`: On Windows, when the Python test suite is run with the ``-jN`` " -"option, the ANSI code page is now used as the encoding for the stdout " -"temporary file, rather than using UTF-8 which can lead to decoding errors. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16888 -msgid "" -":gh:`96624`: Fixed the failure of repeated runs of ``test.test_unittest`` " -"caused by side effects in ``test_dotted_but_module_not_loaded``." -msgstr "" - -#: ../NEWS:16891 -msgid "" -":gh:`95243`: Mitigate the inherent race condition from using " -"find_unused_port() in testSockName() by trying to find an unused port a few " -"times before failing. Patch by Ross Burton." -msgstr "" - -#: ../NEWS:16895 -msgid "" -":gh:`95573`: :source:`Lib/test/test_asyncio/test_ssl.py` exposed a bug in " -"the macOS kernel where intense concurrent load on non-blocking sockets " -"occasionally causes :const:`errno.ENOBUFS` (\"No buffer space available\") " -"to be emitted. FB11063974 filed with Apple, in the mean time as a workaround" -" buffer size used in tests on macOS is decreased to avoid intermittent " -"failures. Patch by Fantix King." -msgstr "" - -#: ../NEWS:16902 -msgid "" -":gh:`95280`: Fix problem with ``test_ssl`` ``test_get_ciphers`` on systems " -"that require perfect forward secrecy (PFS) ciphers." -msgstr "" - -#: ../NEWS:16905 -msgid "" -":gh:`95212`: Make multiprocessing test case ``test_shared_memory_recreate`` " -"parallel-safe." -msgstr "" - -#: ../NEWS:16908 -msgid "" -":gh:`95218`: Move tests for importlib.resources into " -"test_importlib.resources." -msgstr "" - -#: ../NEWS:16911 -msgid "" -":gh:`93963`: Updated tests to use preferred location for " -"``importlib.resources`` ABCs." -msgstr "" - -#: ../NEWS:16914 -msgid "" -":gh:`94675`: Add a regression test for :mod:`re` exponentional slowdown when" -" using rjsmin." -msgstr "" - -#: ../NEWS:16917 -msgid "" -":gh:`91330`: Added more tests for :mod:`dataclasses` to cover behavior with " -"data descriptor-based fields." -msgstr "" - -#: ../NEWS:16920 -msgid "" -":gh:`94208`: ``test_ssl`` is now checking for supported TLS version and " -"protocols in more tests." -msgstr "" - -#: ../NEWS:16923 -msgid "" -":gh:`94315`: Tests now check for DAC override capability instead of relying " -"on :func:`os.geteuid`." -msgstr "" - -#: ../NEWS:16926 -msgid "" -":gh:`54781`: Rename test_tk to test_tkinter, and rename test_ttk_guionly to " -"test_ttk. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16929 -msgid "" -":gh:`93839`: Move ``Lib/ctypes/test/`` to ``Lib/test/test_ctypes/``. Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:16932 -msgid "" -":gh:`93951`: In test_bdb.StateTestCase.test_skip, avoid including auxiliary " -"importers." -msgstr "" - -#: ../NEWS:16935 -msgid "" -":gh:`93957`: Provide nicer error reporting from subprocesses in " -"test_venv.EnsurePipTest.test_with_pip." -msgstr "" - -#: ../NEWS:16938 -msgid "" -":gh:`93884`: Add test cases for :c:func:`PyNumber_ToBase` that take a large " -"number or a non-int object as parameter." -msgstr "" - -#: ../NEWS:16941 -msgid "" -":gh:`93852`: test_asyncio, test_logging, test_socket and test_socketserver " -"now create AF_UNIX domains in the current directory to no longer fail with " -"``OSError(\"AF_UNIX path too long\")`` if the temporary directory (the " -":envvar:`TMPDIR` environment variable) is too long. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16947 -msgid "" -":gh:`93353`: regrtest now checks if a test leaks temporary files or " -"directories if run with -jN option. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:16950 -msgid "" -":gh:`84461`: ``run_tests.py`` now handles cross compiling env vars correctly" -" and pass ``HOSTRUNNER`` to regression tests." -msgstr "" - -#: ../NEWS:16953 -msgid "" -":gh:`93616`: ``test_modulefinder`` now creates a temporary directory in " -"``ModuleFinderTest.setUp()`` instead of module scope." -msgstr "" - -#: ../NEWS:16956 -msgid "" -":gh:`93575`: Fix issue with test_unicode test_raiseMemError. The test case " -"now use ``test.support.calcobjsize`` to calculate size of PyUnicode structs." -" :func:`sys.getsizeof` may return different size when string has UTF-8 " -"memory." -msgstr "" - -#: ../NEWS:16961 -msgid "" -":gh:`90473`: WASI does not have a ``chmod(2)`` syscall. :func:`os.chmod` is " -"now a dummy function on WASI. Skip all tests that depend on working " -":func:`os.chmod`." -msgstr "" - -#: ../NEWS:16965 -msgid "" -":gh:`90473`: Skip tests on WASI that require symlinks with absolute paths." -msgstr "" - -#: ../NEWS:16967 -msgid "" -":gh:`57539`: Increase calendar test coverage for " -":meth:`calendar.LocaleTextCalendar.formatweekday`." -msgstr "" - -#: ../NEWS:16970 -msgid "" -":gh:`90473`: Skip symlink tests on WASI. wasmtime uses ``openat2(2)`` with " -"``RESOLVE_BENEATH`` flag, which prevents symlinks with absolute paths." -msgstr "" - -#: ../NEWS:16973 -msgid "" -":gh:`89858`: Fix ``test_embed`` for out-of-tree builds. Patch by Kumar " -"Aditya." -msgstr "" - -#: ../NEWS:16976 -msgid "" -":gh:`92886`: Fixing tests that fail when running with optimizations (``-O``)" -" in ``test_imaplib.py``." -msgstr "" - -#: ../NEWS:16979 -msgid "" -":gh:`92886`: Fixing tests that fail when running with optimizations (``-O``)" -" in ``test_zipimport.py``" -msgstr "" - -#: ../NEWS:16982 -msgid "" -":gh:`92886`: Fixing tests that fail when running with optimizations (``-O``)" -" in ``test_py_compile.py``" -msgstr "" - -#: ../NEWS:16985 -msgid "" -":gh:`92886`: Fixing tests that fail when running with optimizations (``-O``)" -" in ``test_sys_settrace.py``." -msgstr "" - -#: ../NEWS:16988 -msgid "" -":gh:`92886`: Fixing tests that fail when running with optimizations (``-O``)" -" in ``_test_multiprocessing.py``" -msgstr "" - -#: ../NEWS:16991 -msgid "" -":gh:`92670`: Skip ``test_shutil.TestCopy.test_copyfile_nonexistent_dir`` " -"test on AIX as the test uses a trailing slash to force the OS consider the " -"path as a directory, but on AIX the trailing slash has no effect and is " -"considered as a file." -msgstr "" - -#: ../NEWS:16996 -msgid "" -":gh:`92514`: Remove unused ``test.support.BasicTestRunner``. Patch by Jelle " -"Zijlstra." -msgstr "" - -#: ../NEWS:16999 -msgid "" -":issue:`47016`: Create a GitHub Actions workflow for verifying bundled pip " -"and setuptools. Patch by Illia Volochii and Adam Turner." -msgstr "" - -#: ../NEWS:17005 -msgid "" -":gh:`96761`: Fix the build process of clang compiler for " -":program:`_bootstrap_python` if LTO optimization is applied. Patch by " -"Matthias Görgens and Donghee Na." -msgstr "" - -#: ../NEWS:17009 -msgid "" -":gh:`96883`: ``wasm32-emscripten`` builds for browsers now include " -":mod:`concurrent.futures` for :mod:`asyncio` and :mod:`unittest.mock`." -msgstr "" - -#: ../NEWS:17012 -msgid "" -":gh:`85936`: CPython now uses the ThinLTO option as the default policy if " -"the Clang compiler accepts the flag. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:17015 -msgid "" -":gh:`96729`: Ensure that Windows releases built with " -"``Tools\\msi\\buildrelease.bat`` are upgradable to and from official Python " -"releases." -msgstr "" - -#: ../NEWS:17019 -msgid "" -":gh:`96269`: Shared module targets now depend on new ``MODULE_DEPS`` " -"variable, which includes ``EXPORTSYMS``. This fixes a build order issue on " -"unsupported AIX platform." -msgstr "" - -#: ../NEWS:17023 -msgid "" -":gh:`84461`: ``wasm32-emscripten`` platform no longer builds :mod:`resource`" -" module, :func:`~os.getresuid`, :func:`~os.getresgid`, and their setters. " -"The APIs are stubs and not functional." -msgstr "" - -#: ../NEWS:17027 -msgid "" -":gh:`95973`: Add a new ``--with-dsymutil`` configure option to link debug " -"information in macOS. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:17030 -msgid "" -":gh:`90536`: Use the BOLT post-link optimizer to improve performance, " -"particularly on medium-to-large applications." -msgstr "" - -#: ../NEWS:17033 -msgid "" -":gh:`93744`: Remove the ``configure --with-cxx-main`` build option: it " -"didn't work for many years. Remove the ``MAINCC`` variable from " -"``configure`` and ``Makefile``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17037 -msgid "" -":gh:`94801`: Fix a regression in ``configure`` script that caused some " -"header checks to ignore custom ``CPPFLAGS``. The regression was introduced " -"in :gh:`94802`." -msgstr "" - -#: ../NEWS:17041 -msgid "" -":gh:`95145`: wasm32-wasi builds no longer depend on WASIX's pthread stubs. " -"Python now has its own stubbed pthread API." -msgstr "" - -#: ../NEWS:17044 -msgid "" -":gh:`95174`: Python now detects missing ``dup`` function in WASI and works " -"around some missing :mod:`errno`, :mod:`select`, and :mod:`socket` " -"constants." -msgstr "" - -#: ../NEWS:17048 -msgid "" -":gh:`95174`: Python now skips missing :mod:`socket` functions and methods on" -" WASI. WASI can only create sockets from existing fd / accept and has no " -"netdb." -msgstr "" - -#: ../NEWS:17052 -msgid "" -":gh:`95085`: Platforms ``wasm32-unknown-emscripten`` and ``wasm32-unknown-" -"wasi`` have been promoted to :pep:`11` tier 3 platform support." -msgstr "" - -#: ../NEWS:17056 -msgid "" -":gh:`94847`: Fixed ``_decimal`` module build issue on GCC when compiling " -"with LTO and pydebug. Debug builds no longer force inlining of functions." -msgstr "" - -#: ../NEWS:17059 -msgid "" -":gh:`94841`: Fix the possible performance regression of " -":c:func:`PyObject_Free` compiled with MSVC version 1932." -msgstr "" - -#: ../NEWS:17062 -msgid "" -":gh:`94801`: ``configure`` now uses custom flags like ``ZLIB_CFLAGS`` and " -"``ZLIB_LIBS`` when searching for headers and libraries." -msgstr "" - -#: ../NEWS:17065 -msgid "" -":gh:`94773`: ``deepfreeze.py`` now supports code object with frozensets that" -" contain incompatible, unsortable types." -msgstr "" - -#: ../NEWS:17068 -msgid ":gh:`94682`: Build and test with OpenSSL 1.1.1q" -msgstr "" - -#: ../NEWS:17070 -msgid "" -":gh:`90005`: Dependencies of :mod:`readline` and :mod:`curses` module are " -"now detected in ``configure`` script with ``pkg-config``. Only ``ncurses`` /" -" ``ncursesw`` are detected automatically. The old ``curses`` library is not " -"configured automatically. Workaround for missing ``termcap`` or ``tinfo`` " -"library has been removed." -msgstr "" - -#: ../NEWS:17076 -msgid "" -":gh:`90005`: Fix building ``_ctypes`` extension without ``pkg-config``." -msgstr "" - -#: ../NEWS:17078 -msgid "" -":gh:`90005`: ``_dbm`` module dependencies are now detected by configure." -msgstr "" - -#: ../NEWS:17080 -msgid "" -":gh:`94404`: ``makesetup`` now works around an issue with sed on macOS and " -"uses correct CFLAGS for object files that end up in a shared extension. " -"Module CFLAGS are used before PY_STDMODULE_CFLAGS to avoid clashes with " -"system headers." -msgstr "" - -#: ../NEWS:17085 -msgid "" -":gh:`93939`: C extension modules are now built by ``configure`` and ``make``" -" instead of ``distutils`` and ``setup.py``." -msgstr "" - -#: ../NEWS:17088 -msgid "" -":gh:`93939`: The ``2to3``, ``idle``, and ``pydoc`` scripts are now generated" -" and installed by ``Makefile`` instead of ``setup.py``." -msgstr "" - -#: ../NEWS:17091 -msgid "" -":gh:`94280`: Updated pegen regeneration script on Windows to find and use " -"Python 3.9 or higher. Prior to this, pegen regeneration already required " -"3.9 or higher, but the script may have used lower versions of Python." -msgstr "" - -#: ../NEWS:17095 -msgid "" -":gh:`93584`: Address race condition in ``Makefile`` when installing a PGO " -"build. All ``test`` and ``install`` targets now depend on ``all`` target." -msgstr "" - -#: ../NEWS:17098 -msgid "" -":gh:`93491`: ``configure`` now detects and reports :pep:`11` support tiers." -msgstr "" - -#: ../NEWS:17100 -msgid "" -":gh:`69093`: Fix ``Modules/Setup.stdlib.in`` rule for ``_sqlite3`` " -"extension." -msgstr "" - -#: ../NEWS:17102 -msgid "" -":gh:`93207`: ``va_start()`` with two parameters, like ``va_start(args, " -"format),`` is now required to build Python. ``va_start()`` is no longer " -"called with a single parameter. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:17106 -msgid "" -":gh:`93202`: Python now always use the ``%zu`` and ``%zd`` printf formats to" -" format a :c:type:`size_t` or ``Py_ssize_t`` number. Building Python 3.12 " -"requires a C11 compiler, so these printf formats are now always supported. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17111 -msgid "" -":gh:`90473`: Disable pymalloc and increase stack size on ``wasm32-wasi``." -msgstr "" - -#: ../NEWS:17113 -msgid "" -":issue:`34449`: Drop invalid compiler switch ``-fPIC`` for HP aCC on HP-UX. " -"Patch by Michael Osipov." -msgstr "" - -#: ../NEWS:17119 -msgid "" -":gh:`98360`: Fixes :mod:`multiprocessing` spawning child processes on " -"Windows from a virtual environment to ensure that child processes that also " -"use :mod:`multiprocessing` to spawn more children will recognize that they " -"are in a virtual environment." -msgstr "" - -#: ../NEWS:17124 -msgid "" -":gh:`98414`: Fix :file:`py.exe` launcher handling of :samp:`-V:{}/`" -" option when default preferences have been set in environment variables or " -"configuration files." -msgstr "" - -#: ../NEWS:17128 -msgid "" -":gh:`97728`: Fix possible crashes caused by the use of uninitialized " -"variables when pass invalid arguments in :func:`os.system` on Windows and in" -" Windows-specific modules (like ``winreg``)." -msgstr "" - -#: ../NEWS:17132 -msgid "" -":gh:`90989`: Made :ref:`launcher` install per-user by default (unless an all" -" users install already exists), and clarify some text in the installer." -msgstr "" - -#: ../NEWS:17135 -msgid ":gh:`97649`: The ``Tools`` directory is no longer installed on Windows" -msgstr "" - -#: ../NEWS:17137 -msgid ":gh:`96965`: Update libffi to 3.4.3" -msgstr "" - -#: ../NEWS:17139 -msgid ":gh:`96577`: Fixes a potential buffer overrun in :mod:`!msilib`." -msgstr "" - -#: ../NEWS:17141 -msgid "" -":gh:`96559`: Fixes the Windows launcher not using the compatible " -"interpretation of default tags found in configuration files when no tag was " -"passed to the command." -msgstr "" - -#: ../NEWS:17145 -msgid "" -":gh:`94781`: Fix :file:`pcbuild.proj` to clean previous instances of output " -"files in ``Python\\deepfreeze`` and ``Python\\frozen_modules`` directories " -"on Windows. Patch by Charlie Zhao." -msgstr "" - -#: ../NEWS:17149 -msgid "" -":gh:`89545`: Updates :mod:`platform` code getting the Windows version to use" -" native Windows Management Instrumentation (WMI) queries to determine OS " -"version, type, and architecture." -msgstr "" - -#: ../NEWS:17153 -msgid "" -":gh:`95733`: Make certain requirements of the Windows Store package optional" -" to allow installing on earlier updates of Windows." -msgstr "" - -#: ../NEWS:17156 -msgid "" -":gh:`95656`: Enable the :meth:`~sqlite3.Connection.enable_load_extension` " -":mod:`sqlite3` API." -msgstr "" - -#: ../NEWS:17159 -msgid "" -":gh:`95587`: Fixes some issues where the Windows installer would incorrectly" -" detect certain features of an existing install when upgrading." -msgstr "" - -#: ../NEWS:17162 -msgid "" -":gh:`94399`: Restores the behaviour of :ref:`launcher` for ``/usr/bin/env`` " -"shebang lines, which will now search :envvar:`PATH` for an executable " -"matching the given command. If none is found, the usual search process is " -"used." -msgstr "" - -#: ../NEWS:17167 -msgid "" -":gh:`95445`: Fixes the unsuccessful removal of the HTML document directory " -"when uninstalling with Windows msi." -msgstr "" - -#: ../NEWS:17170 -msgid "" -":gh:`95359`: Fix :ref:`launcher` handling of :file:`py.ini` commands (it was" -" incorrectly expecting a ``py_`` prefix on keys) and crashes when reading " -"per-user configuration file." -msgstr "" - -#: ../NEWS:17174 -msgid "" -":gh:`95285`: Fix :ref:`launcher` handling of command lines where it is only " -"passed a short executable name." -msgstr "" - -#: ../NEWS:17177 -msgid "" -":gh:`90844`: Allow virtual environments to correctly launch when they have " -"spaces in the path." -msgstr "" - -#: ../NEWS:17180 -msgid "" -":gh:`94772`: Fix incorrect handling of shebang lines in py.exe launcher" -msgstr "" - -#: ../NEWS:17182 -msgid "" -":gh:`94018`: :mod:`zipfile` will now remove trailing spaces from path " -"components when extracting files on Windows." -msgstr "" - -#: ../NEWS:17185 -msgid "" -":gh:`93824`: Drag and drop of files onto Python files in Windows Explorer " -"has been enabled for Windows ARM64." -msgstr "" - -#: ../NEWS:17188 -msgid "" -":gh:`43414`: :func:`os.get_terminal_size` now attempts to read the size from" -" any provided handle, rather than only supporting file descriptors 0, 1 and " -"2." -msgstr "" - -#: ../NEWS:17192 -msgid "" -":gh:`92817`: Ensures that :file:`py.exe` will prefer an active virtual " -"environment over default tags specified with environment variables or " -"through a :file:`py.ini` file." -msgstr "" - -#: ../NEWS:17196 -msgid "" -":gh:`92984`: Explicitly disable incremental linking for non-Debug builds" -msgstr "" - -#: ../NEWS:17198 -msgid "" -":gh:`92841`: :mod:`asyncio` no longer throws ``RuntimeError: Event loop is " -"closed`` on interpreter exit after asynchronous socket activity. Patch by " -"Oleg Iarygin." -msgstr "" - -#: ../NEWS:17202 -msgid ":issue:`46907`: Update Windows installer to use SQLite 3.38.4." -msgstr "" - -#: ../NEWS:17204 -msgid ":gh:`91061`: Accept os.PathLike for the argument to winsound.PlaySound" -msgstr "" - -#: ../NEWS:17206 -msgid "" -":issue:`42658`: Support native Windows case-insensitive path comparisons by " -"using ``LCMapStringEx`` instead of :func:`str.lower` in " -":func:`ntpath.normcase`. Add ``LCMapStringEx`` to the :mod:`!_winapi` " -"module." -msgstr "" - -#: ../NEWS:17211 -msgid ":issue:`38704`: Prevent installation on unsupported Windows versions." -msgstr "" - -#: ../NEWS:17216 -msgid "" -":gh:`97897`: The macOS 13 SDK includes support for the ``mkfifoat`` and " -"``mknodat`` system calls. Using the ``dir_fd`` option with either " -":func:`os.mkfifo` or :func:`os.mknod` could result in a segfault if cpython " -"is built with the macOS 13 SDK but run on an earlier version of macOS. " -"Prevent this by adding runtime support for detection of these system calls " -"(\"weaklinking\") as is done for other newer syscalls on macOS." -msgstr "" - -#: ../NEWS:17226 -msgid "" -":gh:`97527`: Fix a bug in the previous bugfix that caused IDLE to not start " -"when run with 3.10.8, 3.12.0a1, and at least Microsoft Python 3.10.2288.0 " -"installed without the Lib/test package. 3.11.0 was never affected." -msgstr "" - -#: ../NEWS:17230 -msgid ":gh:`65802`: Document handling of extensions in Save As dialogs." -msgstr "" - -#: ../NEWS:17232 -msgid "" -":gh:`95191`: Include prompts when saving Shell (interactive input and " -"output)." -msgstr "" - -#: ../NEWS:17235 -msgid "" -":gh:`95511`: Fix the Shell context menu copy-with-prompts bug of copying an " -"extra line when one selects whole lines." -msgstr "" - -#: ../NEWS:17238 -msgid "" -":gh:`95471`: In the Edit menu, move ``Select All`` and add a new separator." -msgstr "" - -#: ../NEWS:17240 -msgid ":gh:`95411`: Enable using IDLE's module browser with .pyw files." -msgstr "" - -#: ../NEWS:17242 -msgid "" -":gh:`89610`: Add .pyi as a recognized extension for IDLE on macOS. This " -"allows opening stub files by double clicking on them in the Finder." -msgstr "" - -#: ../NEWS:17248 -msgid ":gh:`68686`: Remove ptags and eptags scripts." -msgstr "" - -#: ../NEWS:17250 -msgid "" -":gh:`97681`: Remove the ``Tools/demo/`` directory which contained old demo " -"scripts. A copy can be found in the `old-demos project " -"`_. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17254 -msgid "" -":gh:`97669`: Remove outdated example scripts of the ``Tools/scripts/`` " -"directory. A copy can be found in the `old-demos project " -"`_. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17258 -msgid "" -":gh:`95853`: The ``wasm_build.py`` script now pre-builds Emscripten ports, " -"checks for broken EMSDK versions, and warns about pkg-config env vars." -msgstr "" - -#: ../NEWS:17261 -msgid "" -":gh:`95853`: The new tool ``Tools/wasm/wasm_builder.py`` automates " -"configure, compile, and test steps for building CPython on WebAssembly " -"platforms." -msgstr "" - -#: ../NEWS:17264 -msgid "" -":gh:`95731`: Fix handling of module docstrings in " -":file:`Tools/i18n/pygettext.py`." -msgstr "" - -#: ../NEWS:17267 -msgid "" -":gh:`93939`: Add script ``Tools/scripts/check_modules.py`` to check and " -"validate builtin and shared extension modules. The script also handles " -"``Modules/Setup`` and will eventually replace ``setup.py``." -msgstr "" - -#: ../NEWS:17271 -msgid "" -":gh:`94538`: Fix Argument Clinic output to custom file destinations. Patch " -"by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:17274 -msgid "" -":gh:`94430`: Allow parameters named ``module`` and ``self`` with custom C " -"names in Argument Clinic. Patch by Erlend E. Aasland" -msgstr "" - -#: ../NEWS:17277 -msgid "" -":gh:`86087`: The ``Tools/scripts/parseentities.py`` script used to parse " -"HTML4 entities has been removed." -msgstr "" - -#: ../NEWS:17283 -msgid "" -":gh:`98393`: The :c:func:`PyUnicode_FSDecoder` function no longer accepts " -"bytes-like paths, like :class:`bytearray` and :class:`memoryview` types: " -"only the exact :class:`bytes` type is accepted for bytes strings. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:17288 -msgid "" -":gh:`91051`: Add :c:func:`PyType_Watch` and related APIs to allow callbacks " -"on :c:func:`PyType_Modified`." -msgstr "" - -#: ../NEWS:17291 -msgid "" -":gh:`95756`: Lazily create and cache ``co_`` attributes for better " -"performance for code getters." -msgstr "" - -#: ../NEWS:17294 -msgid "" -":gh:`96512`: Configuration for the :ref:`integer string conversion length " -"limitation ` now lives in the PyConfig C API struct." -msgstr "" - -#: ../NEWS:17297 -msgid "" -":gh:`95589`: Extensions classes that set ``tp_dictoffset`` and " -"``tp_weaklistoffset`` lose the support for multiple inheritance, but are now" -" safe. Extension classes should use :c:macro:`Py_TPFLAGS_MANAGED_DICT` and " -":c:macro:`Py_TPFLAGS_MANAGED_WEAKREF` instead." -msgstr "" - -#: ../NEWS:17302 -msgid "" -":gh:`95781`: An unrecognized format character in " -":c:func:`PyUnicode_FromFormat` and :c:func:`PyUnicode_FromFormatV` now sets " -"a :exc:`SystemError`. In previous versions it caused all the rest of the " -"format string to be copied as-is to the result string, and any extra " -"arguments discarded." -msgstr "" - -#: ../NEWS:17308 -msgid "" -":gh:`92678`: Restore the 3.10 behavior for multiple inheritance of C " -"extension classes that store their dictionary at the end of the struct." -msgstr "" - -#: ../NEWS:17311 -msgid "" -":gh:`92678`: Support C extensions using managed dictionaries by setting the " -"``Py_TPFLAGS_MANAGED_DICT`` flag." -msgstr "" - -#: ../NEWS:17314 -msgid "" -":gh:`93274`: API for implementing vectorcall " -"(:c:macro:`Py_TPFLAGS_HAVE_VECTORCALL`, :c:func:`PyVectorcall_NARGS` and " -":c:func:`PyVectorcall_Call`) was added to the limited API and stable ABI." -msgstr "" - -#: ../NEWS:17318 -msgid "" -":gh:`95504`: Fix sign placement when specifying width or precision in " -":c:func:`PyUnicode_FromFormat` and :c:func:`PyUnicode_FromFormatV`. Patch by" -" Philip Georgi." -msgstr "" - -#: ../NEWS:17322 -msgid "" -":gh:`93012`: The :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` flag is now removed " -"from a class when the class's :py:meth:`~object.__call__` method is " -"reassigned. This makes vectorcall safe to use with mutable types (i.e. heap " -"types without the :const:`immutable ` flag). " -"Mutable types that do not override :c:member:`~PyTypeObject.tp_call` now " -"inherit the :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` flag." -msgstr "" - -#: ../NEWS:17330 -msgid "" -":gh:`95388`: Creating :c:macro:`immutable types ` " -"with mutable bases is deprecated and is planned to be disabled in Python " -"3.14." -msgstr "" - -#: ../NEWS:17334 -msgid "" -":gh:`92678`: Adds unstable C-API functions ``_PyObject_VisitManagedDict`` " -"and ``_PyObject_ClearManagedDict`` to allow C extensions to allow the VM to " -"manage their object's dictionaries." -msgstr "" - -#: ../NEWS:17338 -msgid "" -":gh:`94936`: Added :c:func:`PyCode_GetVarnames`, " -":c:func:`PyCode_GetCellvars` and :c:func:`PyCode_GetFreevars` for accessing " -"``co_varnames``, ``co_cellvars`` and ``co_freevars`` respectively via the C " -"API." -msgstr "" - -#: ../NEWS:17342 -msgid "" -":gh:`94930`: Fix ``SystemError`` raised when " -":c:func:`PyArg_ParseTupleAndKeywords` is used with ``#`` in ``(...)`` but " -"without ``PY_SSIZE_T_CLEAN`` defined." -msgstr "" - -#: ../NEWS:17346 -msgid "" -":gh:`94731`: Python again uses C-style casts for most casting operations " -"when compiled with C++. This may trigger compiler warnings, if they are " -"enabled with e.g. ``-Wold-style-cast`` or ``-Wzero-as-null-pointer-" -"constant`` options for ``g++``." -msgstr "" - -#: ../NEWS:17351 -msgid "" -":gh:`93937`: The following frame functions and type are now directly " -"available with ``#include ``, it's no longer needed to add " -"``#include ``:" -msgstr "" - -#: ../NEWS:17355 -msgid ":c:func:`PyFrame_Check`" -msgstr "" - -#: ../NEWS:17356 -msgid ":c:func:`PyFrame_GetBack`" -msgstr "" - -#: ../NEWS:17357 -msgid ":c:func:`PyFrame_GetBuiltins`" -msgstr "" - -#: ../NEWS:17358 -msgid ":c:func:`PyFrame_GetGenerator`" -msgstr "" - -#: ../NEWS:17359 -msgid ":c:func:`PyFrame_GetGlobals`" -msgstr "" - -#: ../NEWS:17360 -msgid ":c:func:`PyFrame_GetLasti`" -msgstr "" - -#: ../NEWS:17361 -msgid ":c:func:`PyFrame_GetLocals`" -msgstr "" - -#: ../NEWS:17362 -msgid ":c:type:`PyFrame_Type`" -msgstr "" - -#: ../NEWS:17366 -msgid "" -":gh:`91321`: Fix the compatibility of the Python C API with C++ older than " -"C++11. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17369 -msgid "" -":gh:`91731`: Avoid defining the ``static_assert`` when compiling with C++ " -"11, where this is a keyword and redefining it can lead to undefined " -"behavior. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:17373 -msgid "" -":gh:`89546`: :c:func:`PyType_FromMetaclass` (and other ``PyType_From*`` " -"functions) now check that offsets and the base class's " -":c:member:`~PyTypeObject.tp_basicsize` fit in the new class's " -"``tp_basicsize``." -msgstr "" - -#: ../NEWS:17378 -msgid "" -":gh:`93503`: Add two new public functions to the public C-API, " -":c:func:`PyEval_SetProfileAllThreads` and " -":c:func:`PyEval_SetTraceAllThreads`, that allow to set tracing and profiling" -" functions in all running threads in addition to the calling one. Also, two " -"analogous functions to the :mod:`threading` module " -"(:func:`threading.setprofile_all_threads` and " -":func:`threading.settrace_all_threads`) that allow to do the same from " -"Python. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:17387 -msgid "" -":gh:`93442`: Add C++ overloads for _Py_CAST_impl() to handle 0/NULL. This " -"will allow C++ extensions that pass 0 or NULL to macros using _Py_CAST() to " -"continue to compile." -msgstr "" - -#: ../NEWS:17391 -msgid "" -":gh:`93466`: Slot IDs in PyType_Spec may not be repeated. The documentation " -"was updated to mention this. For some cases of repeated slots, " -"PyType_FromSpec and related functions will now raise an exception." -msgstr "" - -#: ../NEWS:17395 -msgid "" -":gh:`92898`: Fix C++ compiler warnings when casting function arguments to " -"``PyObject*``. Patch by Serge Guelton." -msgstr "" - -#: ../NEWS:17398 -msgid "" -":gh:`93103`: Deprecate global configuration variables, like " -":c:var:`Py_IgnoreEnvironmentFlag`, in the documentation: the " -":c:func:`Py_InitializeFromConfig` API should be instead. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:17403 -msgid "" -":gh:`77782`: Deprecate global configuration variable like " -":c:var:`Py_IgnoreEnvironmentFlag`: the :c:func:`Py_InitializeFromConfig` API" -" should be instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17407 -msgid "" -":gh:`92913`: Ensures changes to :c:member:`PyConfig.module_search_paths` are" -" ignored unless :c:member:`PyConfig.module_search_paths_set` is set" -msgstr "" - -#: ../NEWS:17410 -msgid "" -":gh:`92781`: Avoid mixing declarations and code in the C API to fix the " -"compiler warning: \"ISO C90 forbids mixed declarations and code\" " -"[-Werror=declaration-after-statement]. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17414 -msgid "" -":gh:`92651`: Remove the ``token.h`` header file. There was never any public " -"tokenizer C API. The ``token.h`` header file was only designed to be used by" -" Python internals. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17418 -msgid ":gh:`92536`: Remove legacy Unicode APIs based on ``Py_UNICODE*``." -msgstr "" - -#: ../NEWS:17420 -msgid "" -":gh:`85858`: Remove the ``PyUnicode_InternImmortal()`` function and the " -"``SSTATE_INTERNED_IMMORTAL`` macro. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17423 -msgid "" -":gh:`92193`: Add new function :c:func:`PyFunction_SetVectorcall` to the C " -"API which sets the vectorcall field of a given :c:type:`PyFunctionObject`." -msgstr "" - -#: ../NEWS:17426 -msgid "" -"Warning: extensions using this API must preserve the behavior of the " -"unaltered function!" -msgstr "" - -#: ../NEWS:17429 -msgid "" -":gh:`59121`: Fixed an assert that prevented ``PyRun_InteractiveOne`` from " -"providing tracebacks when parsing from the provided FD." -msgstr "" - -#: ../NEWS:17432 -msgid "" -":issue:`45383`: The :c:func:`PyType_FromSpec` API will now find and use a " -"metaclass based on the provided bases. An error will be raised if there is a" -" metaclass conflict." -msgstr "" - -#: ../NEWS:17438 -msgid "Python 3.11.0 beta 1" -msgstr "" - -#: ../NEWS:17440 -msgid "*Release date: 2022-05-06*" -msgstr "" - -#: ../NEWS:17445 -msgid "" -":gh:`57684`: Add the :option:`-P` command line option and the " -":envvar:`PYTHONSAFEPATH` environment variable to not prepend a potentially " -"unsafe path to :data:`sys.path`. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17452 -msgid "" -":gh:`89519`: Chaining classmethod descriptors (introduced in :issue:`19072`)" -" is deprecated. It can no longer be used to wrap other descriptors such as " -"property(). The core design of this feature was flawed, and it caused a " -"number of downstream problems." -msgstr "" - -#: ../NEWS:17457 -msgid "" -":gh:`92345`: ``pymain_run_python()`` now imports ``readline`` and " -"``rlcompleter`` before sys.path is extended to include the current working " -"directory of an interactive interpreter. Non-interactive interpreters are " -"not affected." -msgstr "" - -#: ../NEWS:17462 -msgid "" -":issue:`43857`: Improve the :exc:`AttributeError` message when deleting a " -"missing attribute. Patch by Géry Ogam." -msgstr "" - -#: ../NEWS:17465 -msgid "" -":gh:`92245`: Make sure that PEP 523 is respected in all cases. In 3.11a7, " -"specialization may have prevented Python-to-Python calls respecting PEP 523." -msgstr "" - -#: ../NEWS:17469 -msgid "" -":gh:`92203`: Add a closure keyword-only parameter to :func:`exec`. It can " -"only be specified when exec-ing a code object that uses free variables. When" -" specified, it must be a tuple, with exactly the number of cell variables " -"referenced by the code object. closure has a default value of ``None``, and " -"it must be ``None`` if the code object doesn't refer to any free variables." -msgstr "" - -#: ../NEWS:17476 -msgid "" -":gh:`91173`: Disable frozen modules in debug builds. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:17478 -msgid "" -":gh:`92114`: Improve error message when subscript a type with " -"``__class_getitem__`` set to ``None``." -msgstr "" - -#: ../NEWS:17481 -msgid "" -":gh:`92112`: Fix crash triggered by an evil custom ``mro()`` on a metaclass." -msgstr "" - -#: ../NEWS:17483 -msgid "" -":gh:`92063`: The ``PRECALL_METHOD_DESCRIPTOR_FAST_WITH_KEYWORDS`` " -"instruction now ensures methods are called only on objects of the correct " -"type." -msgstr "" - -#: ../NEWS:17486 -msgid "" -":gh:`92031`: Deoptimize statically allocated code objects during " -"``Py_FINALIZE()`` so that future ``_PyCode_Quicken`` calls always start with" -" unquickened code." -msgstr "" - -#: ../NEWS:17490 -msgid "" -":gh:`92036`: Fix a crash in subinterpreters related to the garbage " -"collector. When a subinterpreter is deleted, untrack all objects tracked by " -"its GC. To prevent a crash in deallocator functions expecting objects to be " -"tracked by the GC, leak a strong reference to these objects on purpose, so " -"they are never deleted and their deallocator functions are not called. Patch" -" by Victor Stinner." -msgstr "" - -#: ../NEWS:17497 -msgid "" -":gh:`92032`: The interpreter can now autocomplete soft keywords, as of now " -"``match``, ``case``, and ``_`` (wildcard pattern) from :pep:`634`." -msgstr "" - -#: ../NEWS:17500 -msgid "" -":gh:`87999`: The warning emitted by the Python parser for a numeric literal " -"immediately followed by keyword has been changed from deprecation warning to" -" syntax warning." -msgstr "" - -#: ../NEWS:17504 -msgid "" -":gh:`91869`: Fix an issue where specialized opcodes with extended arguments " -"could produce incorrect tracing output or lead to assertion failures." -msgstr "" - -#: ../NEWS:17507 -msgid "" -":gh:`91603`: Speed up :class:`types.UnionType` instantiation. Based on patch" -" provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:17510 -msgid "" -":gh:`89373`: If Python is built in debug mode, Python now ensures that " -"deallocator functions leave the current exception unchanged. Patch by Victor" -" Stinner." -msgstr "" - -#: ../NEWS:17514 -msgid "" -":gh:`91632`: Fix a minor memory leak at exit: release the memory of the " -":class:`generic_alias_iterator` type. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:17517 -msgid "" -":gh:`81548`: Octal escapes with value larger than ``0o377`` now produce a " -":exc:`DeprecationWarning`. In a future Python version they will be a " -":exc:`SyntaxWarning` and eventually a :exc:`SyntaxError`." -msgstr "" - -#: ../NEWS:17521 -msgid "" -":issue:`43950`: Use a single compact table for line starts, ends and column " -"offsets. Reduces memory consumption for location info by half" -msgstr "" - -#: ../NEWS:17524 -msgid "" -":gh:`91102`: Use Argument Clinic for :class:`EncodingMap`. Patch by Oleg " -"Iarygin." -msgstr "" - -#: ../NEWS:17527 -msgid "" -":gh:`91636`: Fixed a crash in a garbage-collection edge-case, in which a " -"``PyFunction_Type.tp_clear`` function could leave a python function object " -"in an inconsistent state." -msgstr "" - -#: ../NEWS:17531 -msgid "" -":gh:`91603`: Speed up :func:`isinstance` and :func:`issubclass` checks for " -":class:`types.UnionType`. Patch by Yurii Karabas." -msgstr "" - -#: ../NEWS:17534 -msgid "" -":gh:`91625`: Fixed a bug in which adaptive opcodes ignored any preceding " -"``EXTENDED_ARG``\\ s on specialization failure." -msgstr "" - -#: ../NEWS:17537 -msgid "" -":gh:`78607`: The LLTRACE special build now looks for the name " -"``__lltrace__`` defined in module globals, rather than the name " -"``__ltrace__``, which had been introduced as a typo." -msgstr "" - -#: ../NEWS:17541 -msgid "" -":gh:`91576`: Speed up iteration of ascii strings by 50%. Patch by Kumar " -"Aditya." -msgstr "" - -#: ../NEWS:17544 -msgid "" -":gh:`89279`: Improve interpreter performance on Windows by inlining a few " -"specific macros." -msgstr "" - -#: ../NEWS:17547 -msgid "" -":gh:`91502`: Add a new :c:func:`!_PyFrame_IsEntryFrame` API function, to " -"check if a :c:type:`PyFrameObject` is an entry frame. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../NEWS:17551 -msgid "" -":gh:`91266`: Refactor the ``bytearray`` strip methods ``strip``, ``lstrip`` " -"and ``rstrip`` to use a common implementation." -msgstr "" - -#: ../NEWS:17554 -msgid "" -":gh:`91479`: Replaced the ``__note__`` field of :exc:`BaseException` (added " -"in an earlier version of 3.11) with the final design of :pep:`678`. Namely, " -":exc:`BaseException` gets an :meth:`add_note` method, and its ``__notes__`` " -"field is created when necessary." -msgstr "" - -#: ../NEWS:17559 -msgid "" -":gh:`46055`: Speed up right shift of negative integers, by removing " -"unnecessary creation of temporaries. Original patch by Xinhang Xu, reworked " -"by Mark Dickinson." -msgstr "" - -#: ../NEWS:17563 -msgid "" -":gh:`91462`: Make the interpreter's low-level tracing (lltrace) feature " -"output more readable by displaying opcode names (rather than just numbers), " -"and by displaying stack contents before each opcode." -msgstr "" - -#: ../NEWS:17567 -msgid "" -":gh:`89455`: Fixed an uninitialized bool value in the traceback printing " -"code path that was introduced by the initial :issue:`45292` exception groups" -" work." -msgstr "" - -#: ../NEWS:17570 -msgid ":gh:`91421`: Fix a potential integer overflow in _Py_DecodeUTF8Ex." -msgstr "" - -#: ../NEWS:17572 -msgid "" -":gh:`91428`: Add ``static const char *const _PyOpcode_OpName[256] = {...};``" -" to ``opcode.h`` for debug builds to assist in debugging the Python " -"interpreter. It is now more convenient to make various forms of debugging " -"output more human-readable by including opcode names rather than just the " -"corresponding decimal digits." -msgstr "" - -#: ../NEWS:17578 -msgid "" -":issue:`47120`: Make :opcode:`POP_JUMP_IF_TRUE`, " -":opcode:`POP_JUMP_IF_FALSE`, :opcode:`POP_JUMP_IF_NONE` and " -":opcode:`POP_JUMP_IF_NOT_NONE` virtual, mapping to new relative jump " -"opcodes." -msgstr "" - -#: ../NEWS:17582 -msgid "" -":issue:`45317`: Add internal documentation explaining design of new (for " -"3.11) frame stack." -msgstr "" - -#: ../NEWS:17585 -msgid "" -":issue:`47197`: ctypes used to mishandle ``void`` return types, so that for " -"instance a function declared like ``ctypes.CFUNCTYPE(None, ctypes.c_int)`` " -"would be called with signature ``int f(int)`` instead of ``void f(int)``. " -"Wasm targets require function pointers to be called with the correct " -"signatures so this led to crashes. The problem is now fixed." -msgstr "" - -#: ../NEWS:17591 -msgid "" -":issue:`47120`: Make opcodes :opcode:`!JUMP_IF_TRUE_OR_POP` and " -":opcode:`!JUMP_IF_FALSE_OR_POP` relative rather than absolute." -msgstr "" - -#: ../NEWS:17594 -msgid "" -":issue:`47177`: Replace the ``f_lasti`` member of the internal " -"``_PyInterpreterFrame`` structure with a ``prev_instr`` pointer, which " -"reduces overhead in the main interpreter loop. The ``f_lasti`` attribute of " -"Python-layer frame objects is preserved for backward-compatibility." -msgstr "" - -#: ../NEWS:17599 -msgid "" -":issue:`46961`: Integer mod/remainder operations, including the three-" -"argument form of :func:`pow`, now consistently return ints from the global " -"small integer cache when applicable." -msgstr "" - -#: ../NEWS:17603 -msgid "" -":issue:`46962`: Classes and functions that unconditionally declared their " -"docstrings ignoring the ``--without-doc-strings`` compilation flag no longer" -" do so." -msgstr "" - -#: ../NEWS:17607 -msgid "" -"The classes affected are :class:`ctypes.UnionType`, " -":class:`pickle.PickleBuffer`, :class:`testcapi.RecursingInfinitelyError`, " -"and :class:`types.GenericAlias`." -msgstr "" - -#: ../NEWS:17611 -msgid "The functions affected are 24 methods in :mod:`ctypes`." -msgstr "" - -#: ../NEWS:17613 -msgid "Patch by Oleg Iarygin." -msgstr "" - -#: ../NEWS:17615 -msgid "" -":issue:`46942`: Use Argument Clinic for the :class:`types.MethodType` " -"constructor. Patch by Oleg Iarygin." -msgstr "" - -#: ../NEWS:17618 -msgid ":issue:`46764`: Fix wrapping bound methods with @classmethod" -msgstr "" - -#: ../NEWS:17620 -msgid "" -":issue:`43464`: Optimize :meth:`set.intersection` for non-set arguments." -msgstr "" - -#: ../NEWS:17622 -msgid ":issue:`46721`: Optimize :meth:`set.issuperset` for non-set argument." -msgstr "" - -#: ../NEWS:17624 -msgid "" -":issue:`46509`: Add type-specialized versions of the ``Py_DECREF()``, and " -"use them for ``float``, ``int``, ``str``, ``bool``, and ``None`` to avoid " -"pointer-chasing at runtime where types are known at C compile time." -msgstr "" - -#: ../NEWS:17628 ../NEWS:19343 -msgid ":issue:`46045`: Do not use POSIX semaphores on NetBSD" -msgstr "" - -#: ../NEWS:17630 -msgid "" -":issue:`36819`: Fix crashes in built-in encoders with error handlers that " -"return position less or equal than the starting position of non-encodable " -"characters." -msgstr "" - -#: ../NEWS:17634 -msgid "" -":issue:`34093`: ``marshal.dumps()`` uses ``FLAG_REF`` for all interned " -"strings. This makes output more deterministic and helps reproducible build." -msgstr "" - -#: ../NEWS:17637 -msgid "" -":issue:`26579`: Added ``object.__getstate__`` which provides the default " -"implementation of the ``__getstate__()`` method." -msgstr "" - -#: ../NEWS:17640 -msgid "" -"Copying and pickling instances of subclasses of builtin types bytearray, " -"set, frozenset, collections.OrderedDict, collections.deque, weakref.WeakSet," -" and datetime.tzinfo now copies and pickles instance attributes implemented " -"as slots." -msgstr "" - -#: ../NEWS:17648 -msgid ":gh:`87901`: Add the *encoding* parameter to :func:`os.popen`." -msgstr "" - -#: ../NEWS:17650 -msgid "" -":gh:`90997`: Fix an issue where :mod:`dis` utilities may interpret populated" -" inline cache entries as valid instructions." -msgstr "" - -#: ../NEWS:17653 -msgid "" -":gh:`92332`: Deprecate :class:`typing.Text` (removal of the class is " -"currently not planned). Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:17656 -msgid "" -":gh:`78157`: Deprecate nested classes in enum definitions becoming members " -"-- in 3.13 they will be normal classes; add ``member`` and ``nonmember`` " -"functions to allow control over results now." -msgstr "" - -#: ../NEWS:17660 -msgid ":gh:`92356`: Fixed a performance regression in ctypes function calls." -msgstr "" - -#: ../NEWS:17662 -msgid "" -":gh:`90997`: Show the actual named values stored in inline caches when " -"``show_caches=True`` is passed to :mod:`dis` utilities." -msgstr "" - -#: ../NEWS:17665 -msgid "" -":gh:`92301`: Prefer ``close_range()`` to iterating over procfs for file " -"descriptor closing in :mod:`subprocess` for better performance." -msgstr "" - -#: ../NEWS:17668 -msgid ":gh:`67248`: Sort the miscellaneous topics in Cmd.do_help()" -msgstr "" - -#: ../NEWS:17670 -msgid "" -":gh:`92210`: Port ``socket.__init__`` to Argument Clinic. Patch by Cinder." -msgstr "" - -#: ../NEWS:17672 -msgid "" -":gh:`80010`: Add support for generalized ISO 8601 parsing to " -":meth:`datetime.datetime.fromisoformat`, :meth:`datetime.date.fromisoformat`" -" and :meth:`datetime.time.fromisoformat`. Patch by Paul Ganssle." -msgstr "" - -#: ../NEWS:17677 -msgid "" -":gh:`92118`: Fix a 3.11 regression in :func:`~contextlib.contextmanager`, " -"which caused it to propagate exceptions with incorrect tracebacks." -msgstr "" - -#: ../NEWS:17680 -msgid "" -":gh:`90887`: Adding ``COPYFILE_STAT``, ``COPYFILE_ACL`` and " -"``COPYFILE_XATTR`` constants for :func:`os.fcopyfile` available in macOs." -msgstr "" - -#: ../NEWS:17683 -msgid "" -":gh:`91215`: For :func:`@dataclass `, add " -"*weakref_slot*. The new parameter defaults to ``False``. If true, and if " -"``slots=True``, add a slot named ``\"__weakref__\"``, which will allow " -"instances to be weakref'd. Contributed by Eric V. Smith" -msgstr "" - -#: ../NEWS:17688 -msgid ":gh:`85984`: New function os.login_tty() for Unix." -msgstr "" - -#: ../NEWS:17690 -msgid "" -":gh:`92128`: Add :meth:`~object.__class_getitem__` to " -":class:`logging.LoggerAdapter` and :class:`logging.StreamHandler`, allowing " -"them to be parameterized at runtime. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:17694 -msgid "" -":gh:`92049`: Forbid pickling constants ``re._constants.SUCCESS`` etc. " -"Previously, pickling did not fail, but the result could not be unpickled." -msgstr "" - -#: ../NEWS:17697 -msgid "" -":gh:`92062`: :class:`inspect.Parameter` now raises :exc:`ValueError` if " -"``name`` is a keyword, in addition to the existing check that it is an " -"identifier." -msgstr "" - -#: ../NEWS:17701 -msgid "" -":gh:`87390`: Add an ``__unpacked__`` attribute to " -":class:`types.GenericAlias`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:17704 -msgid ":gh:`88089`: Add support for generic :class:`typing.NamedTuple`." -msgstr "" - -#: ../NEWS:17706 -msgid "" -":gh:`91996`: New http.HTTPMethod enum to represent all the available HTTP " -"request methods in a convenient way" -msgstr "" - -#: ../NEWS:17709 -msgid "" -":gh:`91984`: Modified test strings in test_argparse.py to not contain " -"trailing spaces before end of line." -msgstr "" - -#: ../NEWS:17712 -msgid "" -":gh:`91952`: Add ``encoding=\"locale\"`` support to " -":meth:`TextIOWrapper.reconfigure`." -msgstr "" - -#: ../NEWS:17715 -msgid "" -":gh:`91954`: Add *encoding* and *errors* arguments to " -":func:`subprocess.getoutput` and :func:`subprocess.getstatusoutput`." -msgstr "" - -#: ../NEWS:17718 -msgid "" -":issue:`47029`: Always close the read end of the pipe used by " -":class:`multiprocessing.Queue` *after* the last write of buffered data to " -"the write end of the pipe to avoid :exc:`BrokenPipeError` at garbage " -"collection and at :meth:`multiprocessing.Queue.close` calls. Patch by Géry " -"Ogam." -msgstr "" - -#: ../NEWS:17724 -msgid ":gh:`91928`: Add ``datetime.UTC`` alias for ``datetime.timezone.utc``." -msgstr "" - -#: ../NEWS:17726 -msgid "Patch by Kabir Kwatra." -msgstr "" - -#: ../NEWS:17728 -msgid "" -":gh:`68966`: The :mod:`!mailcap` module is now deprecated and will be " -"removed in Python 3.13. See :pep:`594` for the rationale and the " -":mod:`mimetypes` module for an alternative. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17732 -msgid "" -":gh:`91401`: Provide a way to disable :mod:`subprocess` use of ``vfork()`` " -"just in case it is ever needed and document the existing mechanism for " -"``posix_spawn()``." -msgstr "" - -#: ../NEWS:17736 -msgid "" -":gh:`64783`: Fix :const:`signal.NSIG` value on FreeBSD to accept signal " -"numbers greater than 32, like :const:`signal.SIGRTMIN` and " -":const:`signal.SIGRTMAX`. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17740 -msgid "" -":gh:`91910`: Add missing f prefix to f-strings in error messages from the " -":mod:`multiprocessing` and :mod:`asyncio` modules." -msgstr "" - -#: ../NEWS:17743 -msgid "" -":gh:`91860`: Add :func:`typing.dataclass_transform`, implementing " -":pep:`681`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:17746 -msgid "" -":gh:`91832`: Add ``required`` attribute to :class:`argparse.Action` repr " -"output." -msgstr "" - -#: ../NEWS:17749 -msgid "" -":gh:`91827`: In the :mod:`tkinter` module add method ``info_patchlevel()`` " -"which returns the exact version of the Tcl library as a named tuple similar " -"to :data:`sys.version_info`." -msgstr "" - -#: ../NEWS:17753 -msgid "" -":gh:`84461`: Add :option:`--enable-wasm-pthreads` to enable pthreads support" -" for WASM builds. ``Emscripten/node`` no longer has threading enabled by " -"default. Include additional file systems." -msgstr "" - -#: ../NEWS:17757 -msgid "" -":gh:`91821`: Fix unstable ``test_from_tuple`` test in ``test_decimal.py``." -msgstr "" - -#: ../NEWS:17759 -msgid ":gh:`91217`: Deprecate the xdrlib module." -msgstr "" - -#: ../NEWS:17761 -msgid ":gh:`91217`: Deprecate the uu module." -msgstr "" - -#: ../NEWS:17763 -msgid "" -":gh:`91760`: More strict rules will be applied for numerical group " -"references and group names in regular expressions. For now, a deprecation " -"warning is emitted for group references and group names which will be errors" -" in future Python versions." -msgstr "" - -#: ../NEWS:17768 -msgid "" -":gh:`84461`: Add provisional :data:`sys._emscripten_info` named tuple with " -"build-time and run-time information about Emscripten platform." -msgstr "" - -#: ../NEWS:17771 -msgid "" -":gh:`90623`: :func:`signal.raise_signal` and :func:`os.kill` now check " -"immediately for pending signals. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17774 -msgid ":gh:`91734`: Fix OSS audio support on Solaris." -msgstr "" - -#: ../NEWS:17776 -msgid "" -":gh:`90633`: Include the passed value in the exception thrown by " -":func:`typing.assert_never`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:17779 -msgid "" -":gh:`91700`: Compilation of regular expression containing a conditional " -"expression ``(?(group)...)`` now raises an appropriate :exc:`re.error` if " -"the group number refers to not defined group. Previously an internal " -"RuntimeError was raised." -msgstr "" - -#: ../NEWS:17784 -msgid "" -":gh:`91231`: Add an optional keyword *shutdown_timeout* parameter to the " -":class:`multiprocessing.BaseManager` constructor. Kill the process if " -"terminate() takes longer than the timeout. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:17788 -msgid "" -":gh:`91621`: Fix :func:`typing.get_type_hints` for " -":class:`collections.abc.Callable`. Patch by Shantanu Jain." -msgstr "" - -#: ../NEWS:17791 -msgid "" -":gh:`90568`: Parsing ``\\N`` escapes of Unicode Named Character Sequences in" -" a :mod:`regular expression ` raises now :exc:`re.error` instead of " -"``TypeError``." -msgstr "" - -#: ../NEWS:17795 -msgid "" -":gh:`91670`: Remove deprecated ``SO`` config variable in :mod:`sysconfig`." -msgstr "" - -#: ../NEWS:17797 -msgid ":gh:`91217`: Deprecate the telnetlib module." -msgstr "" - -#: ../NEWS:17799 -msgid ":gh:`91217`: Deprecate the sunau module." -msgstr "" - -#: ../NEWS:17801 -msgid ":gh:`91217`: Deprecate the spwd module." -msgstr "" - -#: ../NEWS:17803 -msgid "" -":gh:`91217`: Deprecate the sndhdr module, as well as inline needed " -"functionality for ``email.mime.MIMEAudio``." -msgstr "" - -#: ../NEWS:17806 -msgid "" -":gh:`91616`: :mod:`re` module, fix :meth:`~re.Pattern.fullmatch` mismatch " -"when using Atomic Grouping or Possessive Quantifiers." -msgstr "" - -#: ../NEWS:17809 -msgid ":gh:`91217`: Deprecate the 'pipes' module." -msgstr "" - -#: ../NEWS:17811 -msgid ":gh:`91217`: Deprecate the ossaudiodev module." -msgstr "" - -#: ../NEWS:17813 -msgid "" -":issue:`47256`: :mod:`re` module, limit the maximum capturing group to " -"1,073,741,823 in 64-bit build, this increases the depth of backtracking." -msgstr "" - -#: ../NEWS:17816 -msgid ":gh:`91217`: Deprecate the nis module." -msgstr "" - -#: ../NEWS:17818 -msgid "" -":gh:`91595`: Fix the comparison of character and integer inside " -":func:`Tools.gdb.libpython.write_repr`. Patch by Yu Liu." -msgstr "" - -#: ../NEWS:17821 -msgid "" -":gh:`74166`: Add option to raise all errors from " -":meth:`~socket.create_connection` in an :exc:`ExceptionGroup` when it fails " -"to create a connection. The default remains to raise only the last error " -"that had occurred when multiple addresses were tried." -msgstr "" - -#: ../NEWS:17826 -msgid "" -":gh:`91487`: Optimize asyncio UDP speed, over 100 times faster when " -"transferring a large file." -msgstr "" - -#: ../NEWS:17829 -msgid "" -":gh:`91575`: Update case-insensitive matching in the :mod:`re` module to the" -" latest Unicode version." -msgstr "" - -#: ../NEWS:17832 -msgid "" -":gh:`90622`: In ``concurrent.futures.process.ProcessPoolExecutor`` disallow " -"the \"fork\" multiprocessing start method when the new " -"``max_tasks_per_child`` feature is used as the mix of threads+fork can hang " -"the child processes. Default to using the safe \"spawn\" start method in " -"that circumstance if no ``mp_context`` was supplied." -msgstr "" - -#: ../NEWS:17838 -msgid "" -":gh:`89022`: In :mod:`sqlite3`, ``SQLITE_MISUSE`` result codes are now " -"mapped to :exc:`~sqlite3.InterfaceError` instead of " -":exc:`~sqlite3.ProgrammingError`. Also, more accurate exceptions are raised " -"when binding parameters fail. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:17843 -msgid "" -":gh:`91526`: Stop calling ``os.device_encoding(file.fileno())`` in " -":class:`TextIOWrapper`. It was complex, never documented, and didn't work " -"for most cases. (Patch by Inada Naoki.)" -msgstr "" - -#: ../NEWS:17847 -msgid "" -":gh:`88116`: Change the frame-related functions in the :mod:`inspect` module" -" to return a regular object (that is backwards compatible with the old " -"tuple-like interface) that include the extended :pep:`657` position " -"information (end line number, column and end column). The affected functions" -" are: :func:`inspect.getframeinfo`, :func:`inspect.getouterframes`, " -":func:`inspect.getinnerframes`, :func:`inspect.stack` and " -":func:`inspect.trace`. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:17855 -msgid "" -":gh:`69093`: Add indexing and slicing support to :class:`sqlite3.Blob`. " -"Patch by Aviv Palivoda and Erlend E. Aasland." -msgstr "" - -#: ../NEWS:17858 -msgid "" -":gh:`69093`: Add :term:`context manager` support to :class:`sqlite3.Blob`. " -"Patch by Aviv Palivoda and Erlend E. Aasland." -msgstr "" - -#: ../NEWS:17861 -msgid ":gh:`91217`: Deprecate nntplib." -msgstr "" - -#: ../NEWS:17863 -msgid ":gh:`91217`: Deprecate msilib." -msgstr "" - -#: ../NEWS:17865 -msgid "" -":gh:`91404`: Improve the performance of :mod:`re` matching by using computed" -" gotos (or \"threaded code\") on supported platforms and removing expensive " -"pointer indirections." -msgstr "" - -#: ../NEWS:17869 -msgid ":gh:`91217`: Deprecate the imghdr module." -msgstr "" - -#: ../NEWS:17871 -msgid ":gh:`91217`: Deprecate the crypt module." -msgstr "" - -#: ../NEWS:17873 -msgid ":gh:`91276`: Make space for longer opcodes in :mod:`dis` output." -msgstr "" - -#: ../NEWS:17875 -msgid "" -":issue:`47000`: Make :class:`TextIOWrapper` uses locale encoding when " -"``encoding=\"locale\"`` is specified even in UTF-8 mode." -msgstr "" - -#: ../NEWS:17878 -msgid "" -":gh:`91230`: :func:`warnings.catch_warnings` now accepts arguments for " -":func:`warnings.simplefilter`, providing a more concise way to locally " -"ignore warnings or convert them to errors." -msgstr "" - -#: ../NEWS:17882 -msgid ":gh:`91217`: Deprecate the chunk module." -msgstr "" - -#: ../NEWS:17884 -msgid "" -":gh:`91498`: Add the ``TCP_CONNECTION_INFO`` option (available on macOS) to " -":mod:`socket`." -msgstr "" - -#: ../NEWS:17887 -msgid "" -":issue:`47260`: Fix ``os.closerange()`` potentially being a no-op in a Linux" -" seccomp sandbox." -msgstr "" - -#: ../NEWS:17890 -msgid "" -":issue:`47087`: Implement ``typing.Required`` and ``typing.NotRequired`` " -"(:pep:`655`). Patch by David Foster and Jelle Zijlstra." -msgstr "" - -#: ../NEWS:17893 -msgid ":issue:`47061`: Deprecate cgi and cgitb." -msgstr "" - -#: ../NEWS:17895 -msgid ":issue:`47061`: Deprecate audioop." -msgstr "" - -#: ../NEWS:17897 -msgid "" -":issue:`47000`: Add :func:`locale.getencoding` to get the current locale " -"encoding. It is similar to ``locale.getpreferredencoding(False)`` but " -"ignores the :ref:`Python UTF-8 Mode `." -msgstr "" - -#: ../NEWS:17901 -msgid "" -":issue:`42012`: Add :mod:`wsgiref.types`, containing WSGI-specific types for" -" static type checking." -msgstr "" - -#: ../NEWS:17904 -msgid "" -":issue:`47227`: Suppress expression chaining for more :mod:`re` parsing " -"errors." -msgstr "" - -#: ../NEWS:17906 -msgid "" -":issue:`47211`: Remove undocumented and never working function " -"``re.template()`` and flag ``re.TEMPLATE``. This was later reverted in " -"3.11.0b2 and deprecated instead." -msgstr "" - -#: ../NEWS:17910 -msgid "" -":issue:`47135`: :meth:`decimal.localcontext` now accepts context attributes " -"via keyword arguments" -msgstr "" - -#: ../NEWS:17913 -msgid "" -":issue:`43323`: Fix errors in the :mod:`email` module if the charset itself " -"contains undecodable/unencodable characters." -msgstr "" - -#: ../NEWS:17916 -msgid ":issue:`46841`: Disassembly of quickened code." -msgstr "" - -#: ../NEWS:17918 -msgid ":issue:`46681`: Forward gzip.compress() compresslevel to zlib." -msgstr "" - -#: ../NEWS:17920 -msgid "" -":issue:`45100`: Add :func:`typing.get_overloads` and " -":func:`typing.clear_overloads`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:17923 -msgid "" -":issue:`44807`: :class:`typing.Protocol` no longer silently replaces " -":meth:`__init__` methods defined on subclasses. Patch by Adrian Garcia " -"Badaracco." -msgstr "" - -#: ../NEWS:17927 -msgid "" -":issue:`46787`: Fix :class:`concurrent.futures.ProcessPoolExecutor` " -"exception memory leak" -msgstr "" - -#: ../NEWS:17930 -msgid "" -":issue:`46720`: Add support for path-like objects to " -":func:`multiprocessing.set_executable` for Windows to be on a par with Unix-" -"like systems. Patch by Géry Ogam." -msgstr "" - -#: ../NEWS:17934 -msgid ":issue:`46696`: Add ``SO_INCOMING_CPU`` constant to :mod:`socket`." -msgstr "" - -#: ../NEWS:17936 -msgid ":issue:`46053`: Fix OSS audio support on NetBSD." -msgstr "" - -#: ../NEWS:17938 -msgid "" -":issue:`45639`: ``image/avif`` and ``image/webp`` were added to " -":mod:`mimetypes`." -msgstr "" - -#: ../NEWS:17941 -msgid "" -":issue:`46285`: Add command-line option ``-p``/``--protocol`` to module " -":mod:`http.server` which specifies the HTTP version to which the server is " -"conformant (HTTP/1.1 conformant servers can now be run from the command-line" -" interface of module :mod:`http.server`). Patch by Géry Ogam." -msgstr "" - -#: ../NEWS:17946 -msgid "" -":issue:`44791`: Accept ellipsis as the last argument of " -":data:`typing.Concatenate`." -msgstr "" - -#: ../NEWS:17949 -msgid "" -":issue:`46547`: Remove variables leaking into ``pydoc.Helper`` class " -"namespace." -msgstr "" - -#: ../NEWS:17951 -msgid "" -":issue:`46415`: Fix ipaddress.ip_{address,interface,network} raising " -"TypeError instead of ValueError if given invalid tuple as address parameter." -msgstr "" - -#: ../NEWS:17954 -msgid "" -":issue:`46075`: ``CookieJar`` with ``DefaultCookiePolicy`` now can process " -"cookies from localhost with domain=localhost explicitly specified in Set-" -"Cookie header." -msgstr "" - -#: ../NEWS:17958 -msgid "" -":issue:`45995`: Add a \"z\" option to the string formatting specification " -"that coerces negative zero floating-point values to positive zero after " -"rounding to the format precision. Contributed by John Belmonte." -msgstr "" - -#: ../NEWS:17962 -msgid "" -":issue:`26175`: Fully implement the :class:`io.BufferedIOBase` or " -":class:`io.TextIOBase` interface for :class:`tempfile.SpooledTemporaryFile` " -"objects. This lets them work correctly with higher-level layers (like " -"compression modules). Patch by Carey Metcalfe." -msgstr "" - -#: ../NEWS:17968 -msgid "" -":issue:`45138`: Fix a regression in the :mod:`sqlite3` trace callback where " -"bound parameters were not expanded in the passed statement string. The " -"regression was introduced in Python 3.10 by :issue:`40318`. Patch by Erlend " -"E. Aasland." -msgstr "" - -#: ../NEWS:17973 -msgid "" -":issue:`44863`: Allow :class:`~typing.TypedDict` subclasses to also include " -":class:`~typing.Generic` as a base class in class based syntax. Thereby " -"allowing the user to define a generic ``TypedDict``, just like a user-" -"defined generic but with ``TypedDict`` semantics." -msgstr "" - -#: ../NEWS:17978 -msgid "" -":issue:`44587`: Fix BooleanOptionalAction to not automatically add a default" -" string. If a default string is desired, use a formatter to add it." -msgstr "" - -#: ../NEWS:17981 -msgid "" -":issue:`43827`: All positional-or-keyword parameters to ``ABCMeta.__new__`` " -"are now positional-only to avoid conflicts with keyword arguments to be " -"passed to :meth:`__init_subclass__`." -msgstr "" - -#: ../NEWS:17985 -msgid "" -":issue:`43218`: Prevent creation of a venv whose path contains the PATH " -"separator. This could affect the usage of the activate script. Patch by " -"Dustin Rodrigues." -msgstr "" - -#: ../NEWS:17989 -msgid "" -":issue:`38435`: Add a ``process_group`` parameter to " -":class:`subprocess.Popen` to help move more things off of the unsafe " -"``preexec_fn`` parameter." -msgstr "" - -#: ../NEWS:17992 -msgid "" -":issue:`42066`: Fix cookies getting sorted in :func:`CookieJar.__iter__` " -"which is an extra behavior and not mentioned in RFC 2965 or Netscape cookie " -"protocol. Now the cookies in ``CookieJar`` follows the order of the ``Set-" -"Cookie`` header. Patch by Iman Kermani." -msgstr "" - -#: ../NEWS:17997 -msgid "" -":issue:`40617`: Add :meth:`~sqlite3.Connection.create_window_function` to " -":class:`sqlite3.Connection` for creating aggregate window functions. Patch " -"by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:18001 -msgid "" -":issue:`40676`: Convert :mod:`csv` to use Argument Clinic for " -":func:`csv.field_size_limit`, :func:`csv.get_dialect`, " -":func:`csv.unregister_dialect` and :func:`csv.list_dialects`." -msgstr "" - -#: ../NEWS:18005 -msgid "" -":issue:`39716`: Raise an ``ArgumentError`` when the same subparser name is " -"added twice to an ``argparse.ArgumentParser``. This is consistent with the " -"(default) behavior when the same option string is added twice to an " -"``ArgumentParser``." -msgstr "" - -#: ../NEWS:18010 -msgid "" -":issue:`36073`: Raise :exc:`~sqlite3.ProgrammingError` instead of " -"segfaulting on recursive usage of cursors in :mod:`sqlite3` converters. " -"Patch by Sergey Fedoseev." -msgstr "" - -#: ../NEWS:18014 -msgid "" -":issue:`34975`: Adds a ``start_tls()`` method to " -":class:`~asyncio.streams.StreamWriter`, which upgrades the connection with " -"TLS using the given :class:`~ssl.SSLContext`." -msgstr "" - -#: ../NEWS:18018 -msgid "" -":issue:`22276`: :class:`~pathlib.Path` methods :meth:`~pathlib.Path.glob` " -"and :meth:`~pathlib.Path.rglob` return only directories if *pattern* ends " -"with a pathname components separator (``/`` or :data:`~os.sep`). Patch by " -"Eisuke Kawashima." -msgstr "" - -#: ../NEWS:18023 -msgid "" -":issue:`24905`: Add :meth:`~sqlite3.Connection.blobopen` to " -":class:`sqlite3.Connection`. :class:`sqlite3.Blob` allows incremental I/O " -"operations on blobs. Patch by Aviv Palivoda and Erlend E. Aasland." -msgstr "" - -#: ../NEWS:18030 -msgid "" -":gh:`91888`: Add a new ``gh`` role to the documentation to link to GitHub " -"issues." -msgstr "" - -#: ../NEWS:18033 -msgid "" -":gh:`91783`: Document security issues concerning the use of the function " -":meth:`shutil.unpack_archive`" -msgstr "" - -#: ../NEWS:18036 -msgid ":gh:`91547`: Remove \"Undocumented modules\" page." -msgstr "" - -#: ../NEWS:18038 -msgid "" -":gh:`91298`: In ``importlib.resources.abc``, refined the documentation of " -"the Traversable Protocol, applying changes from importlib_resources 5.7.1." -msgstr "" - -#: ../NEWS:18041 -msgid "" -":issue:`44347`: Clarify the meaning of *dirs_exist_ok*, a kwarg of " -":func:`shutil.copytree`." -msgstr "" - -#: ../NEWS:18044 -msgid "" -":issue:`36329`: Remove 'make -C Doc serve' in favour of 'make -C Doc " -"htmlview'" -msgstr "" - -#: ../NEWS:18046 -msgid "" -":issue:`47189`: Add a What's New in Python 3.11 entry for the Faster CPython" -" project. Documentation by Ken Jin and Kumar Aditya." -msgstr "" - -#: ../NEWS:18049 -msgid "" -":issue:`38668`: Update the introduction to documentation for :mod:`os.path` " -"to remove warnings that became irrelevant after the implementations of " -":pep:`383` and :pep:`529`." -msgstr "" - -#: ../NEWS:18053 -msgid "" -":issue:`47115`: The documentation now lists which members of C structs are " -"part of the :ref:`Limited API/Stable ABI `." -msgstr "" - -#: ../NEWS:18056 -msgid "" -":issue:`46962`: All docstrings in code snippets are now wrapped into " -":c:macro:`PyDoc_STR` to follow the guideline of :pep:`PEP 7's Documentation " -"Strings paragraph <0007#documentation-strings>`. Patch by Oleg Iarygin." -msgstr "" - -#: ../NEWS:18061 -msgid "" -":issue:`26792`: Improve the docstrings of :func:`runpy.run_module` and " -":func:`runpy.run_path`. Original patch by Andrew Brezovsky." -msgstr "" - -#: ../NEWS:18067 -msgid "" -":gh:`92169`: Use ``warnings_helper.import_deprecated()`` to import " -"deprecated modules uniformly in tests. Patch by Hugo van Kemenade." -msgstr "" - -#: ../NEWS:18070 -msgid "" -":gh:`84461`: When multiprocessing is enabled, libregrtest can now use a " -"Python executable other than :code:`sys.executable` via the ``--python`` " -"flag." -msgstr "" - -#: ../NEWS:18074 -msgid "" -":gh:`91904`: Fix initialization of :envvar:`PYTHONREGRTEST_UNICODE_GUARD` " -"which prevented running regression tests on non-UTF-8 locale." -msgstr "" - -#: ../NEWS:18077 -msgid "" -":gh:`91752`: Added @requires_zlib to test.test_tools.test_freeze.TestFreeze." -msgstr "" - -#: ../NEWS:18079 -msgid "" -":gh:`91607`: Fix ``test_concurrent_futures`` to test the correct " -"multiprocessing start method context in several cases where the test logic " -"mixed this up." -msgstr "" - -#: ../NEWS:18083 -msgid "" -":issue:`40280`: Threading tests are now skipped on WASM targets without " -"pthread support." -msgstr "" - -#: ../NEWS:18086 -msgid "" -":issue:`47109`: Test for :mod:`ctypes.macholib.dyld`, " -":mod:`ctypes.macholib.dylib`, and :mod:`ctypes.macholib.framework` are " -"brought from manual pre-:mod:`unittest` times to :mod:`ctypes.test` location" -" and structure. Patch by Oleg Iarygin." -msgstr "" - -#: ../NEWS:18091 -msgid "" -":issue:`29890`: Add tests for :class:`ipaddress.IPv4Interface` and " -":class:`ipaddress.IPv6Interface` construction with tuple arguments. Original" -" patch and tests by louisom." -msgstr "" - -#: ../NEWS:18098 -msgid "" -":gh:`89452`: gdbm-compat is now preferred over ndbm if both are available on" -" the system. This allows avoiding the problematic ndbm.h on macOS." -msgstr "" - -#: ../NEWS:18101 -msgid "" -":gh:`91731`: Python is now built with ``-std=c11`` compiler option, rather " -"than ``-std=c99``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:18104 -msgid "" -":issue:`47152`: Add script and make target for generating " -"``sre_constants.h``." -msgstr "" - -#: ../NEWS:18106 -msgid "" -":issue:`47103`: Windows ``PGInstrument`` builds now copy a required DLL into" -" the output directory, making it easier to run the profile stage of a PGO " -"build." -msgstr "" - -#: ../NEWS:18113 -msgid ":issue:`46907`: Update Windows installer to use SQLite 3.38.3." -msgstr "" - -#: ../NEWS:18115 -msgid "" -":issue:`47239`: Fixed --list and --list-paths output for :ref:`launcher` " -"when used in an active virtual environment." -msgstr "" - -#: ../NEWS:18118 -msgid ":issue:`46907`: Update Windows installer to use SQLite 3.38.2." -msgstr "" - -#: ../NEWS:18120 -msgid "" -":issue:`46785`: Fix race condition between :func:`os.stat` and unlinking a " -"file on Windows, by using errors codes returned by ``FindFirstFileW()`` when" -" appropriate in ``win32_xstat_impl``." -msgstr "" - -#: ../NEWS:18124 -msgid ":issue:`40859`: Update Windows build to use xz-5.2.5" -msgstr "" - -#: ../NEWS:18129 -msgid ":issue:`46907`: Update macOS installer to SQLite 3.38.4." -msgstr "" - -#: ../NEWS:18134 -msgid "" -":gh:`91583`: Fix regression in the code generated by Argument Clinic for " -"functions with the ``defining_class`` parameter." -msgstr "" - -#: ../NEWS:18137 -msgid "" -":gh:`91575`: Add script ``Tools/scripts/generate_re_casefix.py`` and the " -"make target ``regen-re`` for generating additional data for case-insensitive" -" matching according to the current Unicode version." -msgstr "" - -#: ../NEWS:18141 -msgid "" -":gh:`91551`: Remove the ancient Pynche color editor. It has moved to " -"https://gitlab.com/warsaw/pynche" -msgstr "" - -#: ../NEWS:18147 -msgid "" -":gh:`88279`: Deprecate the C functions: :c:func:`!PySys_SetArgv`, " -":c:func:`!PySys_SetArgvEx`, :c:func:`!PySys_SetPath`. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:18151 -msgid "" -":gh:`92154`: Added the :c:func:`PyCode_GetCode` function. This function does" -" the equivalent of the Python code ``getattr(code_object, 'co_code')``." -msgstr "" - -#: ../NEWS:18154 -msgid "" -":gh:`92173`: Fix the ``closure`` argument to :c:func:`PyEval_EvalCodeEx`." -msgstr "" - -#: ../NEWS:18156 -msgid "" -":gh:`91320`: Fix C++ compiler warnings about \"old-style cast\" (``g++ " -"-Wold-style-cast``) in the Python C API. Use C++ ``reinterpret_cast<>`` and " -"``static_cast<>`` casts when the Python C API is used in C++. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:18161 -msgid "" -":gh:`80527`: Mark functions as deprecated by :pep:`623`: " -":c:func:`!PyUnicode_AS_DATA`, :c:func:`!PyUnicode_AS_UNICODE`, " -":c:func:`!PyUnicode_GET_DATA_SIZE`, :c:func:`!PyUnicode_GET_SIZE`. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:18166 -msgid "" -":gh:`91768`: :c:func:`Py_REFCNT`, :c:func:`Py_TYPE`, :c:func:`Py_SIZE` and " -":c:func:`Py_IS_TYPE` functions argument type is now ``PyObject*``, rather " -"than ``const PyObject*``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:18170 -msgid "" -":gh:`91020`: Add ``PyBytes_Type.tp_alloc`` to initialize " -"``PyBytesObject.ob_shash`` for bytes subclasses." -msgstr "" - -#: ../NEWS:18173 -msgid "" -":issue:`40421`: Add ``PyFrame_GetLasti`` C-API function to access frame " -"object's ``f_lasti`` attribute safely from C code." -msgstr "" - -#: ../NEWS:18176 -msgid "" -":issue:`35134`: Remove the ``Include/code.h`` header file. C extensions " -"should only include the main ```` header file. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:18179 -msgid "" -":issue:`47169`: :c:func:`PyOS_CheckStack` is now exported in the Stable ABI " -"on Windows." -msgstr "" - -#: ../NEWS:18182 -msgid "" -":issue:`47169`: :c:func:`PyThread_get_thread_native_id` is excluded from the" -" stable ABI on platforms where it doesn't exist (like Solaris)." -msgstr "" - -#: ../NEWS:18185 -msgid "" -":issue:`46343`: Added :c:func:`PyErr_GetHandledException` and " -":c:func:`PyErr_SetHandledException` as simpler alternatives to " -":c:func:`PyErr_GetExcInfo` and :c:func:`PyErr_SetExcInfo`." -msgstr "" - -#: ../NEWS:18189 -msgid "They are included in the stable ABI." -msgstr "" - -#: ../NEWS:18193 -msgid "Python 3.11.0 alpha 7" -msgstr "" - -#: ../NEWS:18195 -msgid "*Release date: 2022-04-05*" -msgstr "" - -#: ../NEWS:18200 -msgid "" -":issue:`47212`: Raise :exc:`IndentationError` instead of :exc:`SyntaxError` " -"for a bare ``except`` with no following indent. Improve :exc:`SyntaxError` " -"locations for an un-parenthesized generator used as arguments. Patch by " -"Matthieu Dartiailh." -msgstr "" - -#: ../NEWS:18205 -msgid "" -":issue:`47186`: Replace :opcode:`JUMP_IF_NOT_EG_MATCH` by " -":opcode:`CHECK_EG_MATCH` + jump." -msgstr "" - -#: ../NEWS:18208 -msgid "" -":issue:`47176`: Emscripten builds cannot handle signals in the usual way due" -" to platform limitations. Python can now handle signals. To use, set " -"Module.Py_EmscriptenSignalBuffer to be a single byte SharedArrayBuffer and " -"set Py_EMSCRIPTEN_SIGNAL_HANDLING to 1. Writing a number into the " -"SharedArrayBuffer will cause the corresponding signal to be raised into the " -"Python thread." -msgstr "" - -#: ../NEWS:18215 -msgid "" -":issue:`47186`: Replace :opcode:`JUMP_IF_NOT_EXC_MATCH` by " -":opcode:`CHECK_EXC_MATCH` + jump." -msgstr "" - -#: ../NEWS:18218 -msgid "" -":issue:`47120`: Replace the absolute jump opcode :opcode:`JUMP_NO_INTERRUPT`" -" by the relative :opcode:`JUMP_BACKWARD_NO_INTERRUPT`." -msgstr "" - -#: ../NEWS:18221 -msgid "" -":issue:`46841`: Avoid unnecessary allocations when comparing code objects." -msgstr "" - -#: ../NEWS:18223 -msgid "" -":issue:`47182`: Fix a crash when using a named unicode character like " -"``\"\\N{digit nine}\"`` after the main interpreter has been initialized a " -"second time." -msgstr "" - -#: ../NEWS:18227 -msgid "" -":issue:`47162`: WebAssembly cannot deal with bad function pointer casts " -"(different count or types of arguments). Python can now use call trampolines" -" to mitigate the problem. Define :c:macro:`PY_CALL_TRAMPOLINE` to enable " -"call trampolines." -msgstr "" - -#: ../NEWS:18232 -msgid "" -":issue:`46775`: Some Windows system error codes(>= 10000) are now mapped " -"into the correct errno and may now raise a subclass of :exc:`OSError`. Patch" -" by Donghee Na." -msgstr "" - -#: ../NEWS:18236 -msgid "" -":issue:`47129`: Improve error messages in f-string syntax errors concerning " -"empty expressions." -msgstr "" - -#: ../NEWS:18239 -msgid "" -":issue:`47117`: Fix a crash if we fail to decode characters in interactive " -"mode if the tokenizer buffers are uninitialized. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:18242 -msgid "" -":issue:`47127`: Speed up calls to c functions with keyword arguments by 25% " -"with specialization. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:18245 -msgid "" -":issue:`47120`: Replaced :opcode:`JUMP_ABSOLUTE` by the relative jump " -":opcode:`JUMP_BACKWARD`." -msgstr "" - -#: ../NEWS:18248 -msgid "" -":issue:`42197`: :c:func:`!PyFrame_FastToLocalsWithError` and " -":c:func:`!PyFrame_LocalsToFast` are no longer called during profiling nor " -"tracing. C code can access the ``f_locals`` attribute of " -":c:type:`PyFrameObject` by calling :c:func:`PyFrame_GetLocals`." -msgstr "" - -#: ../NEWS:18253 -msgid "" -":issue:`47070`: Improve performance of ``array_inplace_repeat`` by reducing " -"the number of invocations of ``memcpy``. Refactor the ``repeat`` and inplace" -" ``repeat`` methods of ``array``, ``bytes``, ``bytearray`` and " -"``unicodeobject`` to use the common ``_PyBytes_Repeat``." -msgstr "" - -#: ../NEWS:18258 -msgid "" -":issue:`47053`: Reduce de-optimization in the specialized " -"``BINARY_OP_INPLACE_ADD_UNICODE`` opcode." -msgstr "" - -#: ../NEWS:18261 -msgid "" -":issue:`47045`: Remove the ``f_state`` field from the _PyInterpreterFrame " -"struct. Add the ``owner`` field to the _PyInterpreterFrame struct to make " -"ownership explicit to simplify clearing and deallocing frames and " -"generators." -msgstr "" - -#: ../NEWS:18266 -msgid "" -":issue:`46968`: Check for the existence of the \"sys/auxv.h\" header in " -":mod:`faulthandler` to avoid compilation problems in systems where this " -"header doesn't exist. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:18270 -msgid "" -":issue:`46329`: Use low bit of ``LOAD_GLOBAL`` to indicate whether to push a" -" ``NULL`` before the global. Helps streamline the call sequence a bit." -msgstr "" - -#: ../NEWS:18273 -msgid "" -":issue:`46841`: Quicken bytecode in-place by storing it as part of the " -"corresponding ``PyCodeObject``." -msgstr "" - -#: ../NEWS:18276 -msgid "" -":issue:`47012`: Speed up iteration of :class:`bytes` and :class:`bytearray` " -"by 30%. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:18279 -msgid "" -":issue:`47009`: Improved the performance of :meth:`list.append` and list " -"comprehensions by optimizing for the common case, where no resize is needed." -" Patch by Dennis Sweeney." -msgstr "" - -#: ../NEWS:18283 -msgid "" -":issue:`47005`: Improve performance of ``bytearray_repeat`` and " -"``bytearray_irepeat`` by reducing the number of invocations of ``memcpy``." -msgstr "" - -#: ../NEWS:18286 -msgid "" -":issue:`46829`: Deprecate passing a message into " -":meth:`asyncio.Future.cancel` and :meth:`asyncio.Task.cancel`" -msgstr "" - -#: ../NEWS:18289 -msgid "" -":issue:`46993`: Speed up :class:`bytearray` creation from :class:`list` and " -":class:`tuple` by 40%. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:18292 -msgid "" -":issue:`39829`: Removed the ``__len__()`` call when initializing a list and " -"moved initializing to ``list_extend``. Patch by Jeremiah Pascual." -msgstr "" - -#: ../NEWS:18295 -msgid "" -":issue:`46944`: Speed up throwing exception in generator with " -":c:macro:`METH_FASTCALL` calling convention. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:18298 -msgid "" -":issue:`46841`: Modify :opcode:`STORE_SUBSCR` to use an inline cache entry " -"(rather than its oparg) as an adaptive counter." -msgstr "" - -#: ../NEWS:18301 -msgid "" -":issue:`46841`: Use inline caching for :opcode:`!PRECALL` and " -":opcode:`CALL`, and remove the internal machinery for managing the (now " -"unused) non-inline caches." -msgstr "" - -#: ../NEWS:18305 -msgid "" -":issue:`46881`: Statically allocate and initialize the latin1 characters." -msgstr "" - -#: ../NEWS:18307 -msgid "" -":issue:`46838`: Improve syntax errors for incorrect function definitions. " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:18310 -msgid "" -":issue:`43721`: Fix docstrings of :attr:`~property.getter`, " -":attr:`~property.setter`, and :attr:`~property.deleter` to clarify that they" -" create a new copy of the property." -msgstr "" - -#: ../NEWS:18314 -msgid ":issue:`43224`: Make grammar changes required for PEP 646." -msgstr "" - -#: ../NEWS:18319 -msgid "" -":issue:`47208`: Allow vendors to override :const:`CTYPES_MAX_ARGCOUNT`." -msgstr "" - -#: ../NEWS:18321 -msgid "" -":issue:`23689`: :mod:`re` module: fix memory leak when a match is terminated" -" by a signal or memory allocation failure. Patch by Ma Lin." -msgstr "" - -#: ../NEWS:18324 -msgid "" -":issue:`47167`: Allow overriding a future compliance check in " -":class:`asyncio.Task`." -msgstr "" - -#: ../NEWS:18327 -msgid "" -":issue:`47151`: When subprocess tries to use vfork, it now falls back to " -"fork if vfork returns an error. This allows use in situations where vfork " -"isn't allowed by the OS kernel." -msgstr "" - -#: ../NEWS:18331 -msgid "" -":issue:`47152`: Convert the :mod:`re` module into a package. Deprecate " -"modules ``sre_compile``, ``sre_constants`` and ``sre_parse``." -msgstr "" - -#: ../NEWS:18334 -msgid ":issue:`4833`: Add :meth:`ZipFile.mkdir`" -msgstr "" - -#: ../NEWS:18336 -msgid "" -":issue:`27929`: Fix :meth:`asyncio.loop.sock_connect` to only resolve names " -"for :const:`socket.AF_INET` or :const:`socket.AF_INET6` families. Resolution" -" may not make sense for other families, like :const:`socket.AF_BLUETOOTH` " -"and :const:`socket.AF_UNIX`." -msgstr "" - -#: ../NEWS:18341 -msgid ":issue:`14265`: Adds the fully qualified test name to unittest output" -msgstr "" - -#: ../NEWS:18343 -msgid ":issue:`47061`: Deprecate the aifc module." -msgstr "" - -#: ../NEWS:18345 -msgid "" -":issue:`39622`: Handle Ctrl+C in asyncio programs to interrupt the main " -"task." -msgstr "" - -#: ../NEWS:18347 -msgid "" -":issue:`47101`: :const:`hashlib.algorithms_available` now lists only " -"algorithms that are provided by activated crypto providers on OpenSSL 3.0. " -"Legacy algorithms are not listed unless the legacy provider has been loaded " -"into the default OSSL context." -msgstr "" - -#: ../NEWS:18352 -msgid "" -":issue:`47099`: All :exc:`URLError` exception messages raised in " -":class:`urllib.request.URLopener` now contain a colon between ``ftp error`` " -"and the rest of the message. Previously, " -":func:`~urllib.request.URLopener.open_ftp` missed the colon. Patch by Oleg " -"Iarygin." -msgstr "" - -#: ../NEWS:18358 -msgid "" -":issue:`47099`: Exception chaining is changed from " -":func:`Exception.with_traceback`/:func:`sys.exc_info` to :pep:`3134`. Patch " -"by Oleg Iarygin." -msgstr "" - -#: ../NEWS:18362 -msgid "" -":issue:`47095`: :mod:`hashlib`'s internal ``_blake2`` module now prefers " -"``libb2`` from https://www.blake2.net/ over Python's vendored copy of " -"blake2." -msgstr "" - -#: ../NEWS:18366 -msgid "" -":issue:`47098`: The Keccak Code Package for :mod:`hashlib`'s internal " -"``_sha3`` module has been replaced with tiny_sha3. The module is used as " -"fallback when Python is built without OpenSSL." -msgstr "" - -#: ../NEWS:18370 -msgid "" -":issue:`47088`: Implement :data:`typing.LiteralString`, part of :pep:`675`. " -"Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:18373 -msgid "" -":issue:`42885`: Optimize :func:`re.search`, :func:`re.split`, " -":func:`re.findall`, :func:`re.finditer` and :func:`re.sub` for regular " -"expressions starting with ``\\A`` or ``^``." -msgstr "" - -#: ../NEWS:18377 -msgid "" -":issue:`23691`: Protect the :func:`re.finditer` iterator from re-entering." -msgstr "" - -#: ../NEWS:18379 -msgid "" -":issue:`47067`: Optimize calling ``GenericAlias`` objects by using " -":pep:`590` ``vectorcall`` and by replacing ``PyObject_SetAttrString`` with " -"``PyObject_SetAttr``." -msgstr "" - -#: ../NEWS:18383 -msgid "" -":issue:`28080`: Add the *metadata_encoding* parameter in the " -":class:`zipfile.ZipFile` constructor and the ``--metadata-encoding`` option " -"in the :mod:`zipfile` CLI to allow reading zipfiles using non-standard " -"codecs to encode the filenames within the archive." -msgstr "" - -#: ../NEWS:18388 -msgid "" -":issue:`47000`: Make :func:`io.text_encoding` returns \"utf-8\" when UTF-8 " -"mode is enabled." -msgstr "" - -#: ../NEWS:18391 -msgid "" -":issue:`42369`: Fix thread safety of :meth:`zipfile._SharedFile.tell` to " -"avoid a \"zipfile.BadZipFile: Bad CRC-32 for file\" exception when reading a" -" :class:`ZipFile` from multiple threads." -msgstr "" - -#: ../NEWS:18395 -msgid "" -":issue:`38256`: Fix :func:`binascii.crc32` when it is compiled to use zlib'c" -" crc32 to work properly on inputs 4+GiB in length instead of returning the " -"wrong result. The workaround prior to this was to always feed the function " -"data in increments smaller than 4GiB or to just call the zlib module " -"function." -msgstr "" - -#: ../NEWS:18401 -msgid "" -"We also have :func:`binascii.crc32` release the GIL when computing on larger" -" inputs as :func:`zlib.crc32` and :mod:`hashlib` do." -msgstr "" - -#: ../NEWS:18404 -msgid "" -"This also boosts performance on Windows as it now uses the zlib crc32 " -"implementation for :func:`binascii.crc32` for a 2-3x speedup." -msgstr "" - -#: ../NEWS:18407 -msgid "" -"That the stdlib has a crc32 API in two modules is a known historical oddity." -" This moves us closer to a single implementation behind them." -msgstr "" - -#: ../NEWS:18410 -msgid "" -":issue:`47066`: Global inline flags (e.g. ``(?i)``) can now only be used at " -"the start of the regular expressions. Using them not at the start of " -"expression was deprecated since Python 3.6." -msgstr "" - -#: ../NEWS:18414 -msgid "" -":issue:`39394`: A warning about inline flags not at the start of the regular" -" expression now contains the position of the flag." -msgstr "" - -#: ../NEWS:18417 -msgid "" -":issue:`433030`: Add support of atomic grouping (``(?>...)``) and possessive" -" quantifiers (``*+``, ``++``, ``?+``, ``{m,n}+``) in :mod:`regular " -"expressions `." -msgstr "" - -#: ../NEWS:18421 -msgid ":issue:`47062`: Implement :class:`asyncio.Runner` context manager." -msgstr "" - -#: ../NEWS:18423 -msgid "" -":issue:`46382`: :func:`~dataclasses.dataclass` ``slots=True`` now correctly " -"omits slots already defined in base classes. Patch by Arie Bovenberg." -msgstr "" - -#: ../NEWS:18426 -msgid ":issue:`47057`: Use FASTCALL convention for ``FutureIter.throw()``" -msgstr "" - -#: ../NEWS:18428 -msgid ":issue:`47061`: Deprecate the various modules listed by :pep:`594`:" -msgstr "" - -#: ../NEWS:18430 -msgid "" -"aifc, asynchat, asyncore, audioop, cgi, cgitb, chunk, crypt, imghdr, msilib," -" nntplib, nis, ossaudiodev, pipes, smtpd, sndhdr, spwd, sunau, telnetlib, " -"uu, xdrlib" -msgstr "" - -#: ../NEWS:18434 -msgid "" -":issue:`34790`: Remove passing coroutine objects to :func:`asyncio.wait`." -msgstr "" - -#: ../NEWS:18436 -msgid "" -":issue:`47039`: Normalize ``repr()`` of asyncio future and task objects." -msgstr "" - -#: ../NEWS:18438 -msgid "" -":issue:`2604`: Fix bug where doctests using globals would fail when run " -"multiple times." -msgstr "" - -#: ../NEWS:18441 -msgid "" -":issue:`45150`: Add :func:`hashlib.file_digest` helper for efficient hashing" -" of file object." -msgstr "" - -#: ../NEWS:18444 -msgid ":issue:`34861`: Made cumtime the default sorting key for cProfile" -msgstr "" - -#: ../NEWS:18446 -msgid ":issue:`45997`: Fix :class:`asyncio.Semaphore` re-aquiring FIFO order." -msgstr "" - -#: ../NEWS:18448 -msgid "" -":issue:`47022`: The :mod:`!asynchat`, :mod:`!asyncore` and :mod:`!smtpd` " -"modules have been deprecated since at least Python 3.6. Their documentation " -"and deprecation warnings and have now been updated to note they will removed" -" in Python 3.12 (:pep:`594`)." -msgstr "" - -#: ../NEWS:18453 -msgid "" -":issue:`43253`: Fix a crash when closing transports where the underlying " -"socket handle is already invalid on the Proactor event loop." -msgstr "" - -#: ../NEWS:18456 -msgid "" -":issue:`40280`: :func:`select.select` now passes ``NULL`` to ``select`` for " -"each empty fdset." -msgstr "" - -#: ../NEWS:18459 -msgid "" -":issue:`47004`: Apply bugfixes from importlib_metadata 4.11.3, including " -"bugfix for EntryPoint.extras, which was returning match objects and not the " -"extras strings." -msgstr "" - -#: ../NEWS:18463 -msgid "" -":issue:`46998`: Allow subclassing of :class:`typing.Any`. Patch by Shantanu " -"Jain." -msgstr "" - -#: ../NEWS:18466 -msgid "" -":issue:`46995`: Deprecate missing :meth:`asyncio.Task.set_name` for third-" -"party task implementations, schedule making it mandatory in Python 3.13." -msgstr "" - -#: ../NEWS:18469 -msgid "" -":issue:`46994`: Accept explicit contextvars.Context in " -":func:`asyncio.create_task` and :meth:`asyncio.loop.create_task`." -msgstr "" - -#: ../NEWS:18472 -msgid "" -":issue:`46981`: ``typing.get_args(typing.Tuple[()])`` now returns ``()`` " -"instead of ``((),)``." -msgstr "" - -#: ../NEWS:18475 -msgid ":issue:`46968`: Add ``os.sysconf_names['SC_MINSIGSTKSZ']``." -msgstr "" - -#: ../NEWS:18477 -msgid ":issue:`46985`: Upgrade pip wheel bundled with ensurepip (pip 22.0.4)" -msgstr "" - -#: ../NEWS:18479 -msgid "" -":issue:`46968`: :mod:`faulthandler`: On Linux 5.14 and newer, dynamically " -"determine size of signal handler stack size CPython allocates using " -"``getauxval(AT_MINSIGSTKSZ)``. This changes allows for Python extension's " -"request to Linux kernel to use AMX_TILE instruction set on Sapphire Rapids " -"Xeon processor to succeed, unblocking use of the ISA in frameworks." -msgstr "" - -#: ../NEWS:18485 -msgid "" -":issue:`46917`: The :data:`math.nan` value is now always available. Patch by" -" Victor Stinner." -msgstr "" - -#: ../NEWS:18488 -msgid "" -":issue:`46955`: Expose :class:`asyncio.base_events.Server` as " -":class:`asyncio.Server`. Patch by Stefan Zabka." -msgstr "" - -#: ../NEWS:18491 -msgid "" -":issue:`23325`: The :mod:`signal` module no longer assumes that " -":const:`~signal.SIG_IGN` and :const:`~signal.SIG_DFL` are small int " -"singletons." -msgstr "" - -#: ../NEWS:18495 -msgid ":issue:`46932`: Update bundled libexpat to 2.4.7" -msgstr "" - -#: ../NEWS:18497 -msgid "" -":issue:`46933`: The :mod:`pwd` module is now optional. " -":func:`os.path.expanduser` returns the path when the :mod:`pwd` module is " -"not available." -msgstr "" - -#: ../NEWS:18501 -msgid "" -":issue:`40059`: :pep:`680`, the :mod:`tomllib` module. Adds support for " -"parsing TOML." -msgstr "" - -#: ../NEWS:18504 -msgid "" -":issue:`464471`: :func:`asyncio.timeout` and :func:`asyncio.timeout_at` " -"context managers added. Patch by Tin Tvrtković and Andrew Svetlov." -msgstr "" - -#: ../NEWS:18507 -msgid "" -":issue:`46805`: Added raw datagram socket functions for asyncio: " -":meth:`~asyncio.AbstractEventLoop.sock_sendto`, " -":meth:`~asyncio.AbstractEventLoop.sock_recvfrom` and " -":meth:`~asyncio.AbstractEventLoop.sock_recvfrom_into`." -msgstr "" - -#: ../NEWS:18512 -msgid "" -":issue:`46644`: No longer require valid typeforms to be callable. This " -"allows :data:`typing.Annotated` to wrap :data:`typing.ParamSpecArgs` and " -":data:`dataclasses.InitVar`. Patch by Gregory Beauregard." -msgstr "" - -#: ../NEWS:18516 -msgid "" -":issue:`46581`: Brings :class:`ParamSpec` propagation for " -":class:`GenericAlias` in line with :class:`Concatenate` (and others)." -msgstr "" - -#: ../NEWS:18519 -msgid "" -":issue:`45413`: Define *posix_venv* and *nt_venv* :ref:`sysconfig " -"installation schemes ` to be used for bootstrapping new " -"virtual environments. Add *venv* sysconfig installation scheme to get the " -"appropriate one of the above. The schemes are identical to the pre-existing " -"*posix_prefix* and *nt* install schemes. The :mod:`venv` module now uses the" -" *venv* scheme to create new virtual environments instead of hardcoding the " -"paths depending only on the platform. Downstream Python distributors " -"customizing the *posix_prefix* or *nt* install scheme in a way that is not " -"compatible with the install scheme used in virtual environments are " -"encouraged not to customize the *venv* schemes. When Python itself runs in a" -" virtual environment, :func:`sysconfig.get_default_scheme` and " -":func:`sysconfig.get_preferred_scheme` with ``key=\"prefix\"`` returns " -"*venv*." -msgstr "" - -#: ../NEWS:18534 -msgid ":issue:`43224`: Implement support for PEP 646 in typing.py." -msgstr "" - -#: ../NEWS:18536 -msgid "" -":issue:`43224`: Allow unpacking types.GenericAlias objects, e.g. " -"``*tuple[int, str]``." -msgstr "" - -#: ../NEWS:18539 -msgid "" -":issue:`46557`: Warnings captured by the logging module are now logged " -"without a format string to prevent systems that group logs by the msg " -"argument from grouping captured warnings together." -msgstr "" - -#: ../NEWS:18543 -msgid "" -":issue:`41370`: :func:`typing.get_type_hints` now supports evaluating " -"strings as forward references in :ref:`PEP 585 generic aliases `." -msgstr "" - -#: ../NEWS:18547 -msgid "" -":issue:`46607`: Add :exc:`DeprecationWarning` to " -":class:`!LegacyInterpolation`, deprecated in the docstring since Python 3.2." -" Will be removed in Python 3.13. Use :class:`BasicInterpolation` or " -":class:`ExtendedInterpolation` instead." -msgstr "" - -#: ../NEWS:18552 -msgid "" -":issue:`26120`: :mod:`pydoc` now excludes __future__ imports from the " -"module's data items." -msgstr "" - -#: ../NEWS:18555 -msgid "" -":issue:`46480`: Add :func:`typing.assert_type`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:18557 -msgid "" -":issue:`46421`: Fix a unittest issue where if the command was invoked as " -"``python -m unittest`` and the filename(s) began with a dot (.), a " -"``ValueError`` is returned." -msgstr "" - -#: ../NEWS:18561 -msgid "" -":issue:`46245`: Add optional parameter *dir_fd* in :func:`shutil.rmtree`." -msgstr "" - -#: ../NEWS:18563 -msgid "" -":issue:`22859`: :meth:`!unittest.TestProgram.usageExit` is marked as " -"deprecated, to be removed in Python 3.13." -msgstr "" - -#: ../NEWS:18566 -msgid "" -":issue:`46170`: Improve the error message when you try to subclass an " -"instance of :class:`typing.NewType`." -msgstr "" - -#: ../NEWS:18569 -msgid ":issue:`40296`: Fix supporting generic aliases in :mod:`pydoc`." -msgstr "" - -#: ../NEWS:18571 -msgid "" -":issue:`20392`: Fix inconsistency with uppercase file extensions in " -":meth:`MimeTypes.guess_type`. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:18574 -msgid "" -":issue:`46030`: Add ``LOCAL_CREDS``, ``LOCAL_CREDS_PERSISTENT`` and " -"``SCM_CREDS2`` FreeBSD constants to the socket module." -msgstr "" - -#: ../NEWS:18577 -msgid "" -":issue:`44439`: Fix ``.write()`` method of a member file in ``ZipFile``, " -"when the input data is an object that supports the buffer protocol, the file" -" length may be wrong." -msgstr "" - -#: ../NEWS:18581 -msgid "" -":issue:`45171`: Fix handling of the ``stacklevel`` argument to logging " -"functions in the :mod:`logging` module so that it is consistent across all " -"logging functions and, as advertised, similar to the ``stacklevel`` argument" -" used in :meth:`~warnings.warn`." -msgstr "" - -#: ../NEWS:18586 -msgid "" -":issue:`24959`: Fix bug where :mod:`unittest` sometimes drops frames from " -"tracebacks of exceptions raised in tests." -msgstr "" - -#: ../NEWS:18589 -msgid "" -":issue:`44859`: Raise more accurate and :pep:`249` compatible exceptions in " -":mod:`sqlite3`." -msgstr "" - -#: ../NEWS:18592 -msgid "" -"Raise :exc:`~sqlite3.InterfaceError` instead of " -":exc:`~sqlite3.ProgrammingError` for ``SQLITE_MISUSE`` errors." -msgstr "" - -#: ../NEWS:18594 -msgid "" -"Don't overwrite :exc:`BufferError` with :exc:`ValueError` when conversion to" -" BLOB fails." -msgstr "" - -#: ../NEWS:18596 -msgid "" -"Raise :exc:`~sqlite3.ProgrammingError` instead of :exc:`~sqlite3.Warning` if" -" user tries to :meth:`~sqlite3.Cursor.execute` more than one SQL statement." -msgstr "" - -#: ../NEWS:18598 -msgid "" -"Raise :exc:`~sqlite3.ProgrammingError` instead of :exc:`ValueError` if an " -"SQL query contains null characters." -msgstr "" - -#: ../NEWS:18601 -msgid ":issue:`44493`: Add missing terminated NUL in sockaddr_un's length" -msgstr "" - -#: ../NEWS:18603 -msgid "" -"This was potentially observable when using non-abstract AF_UNIX datagram " -"sockets to processes written in another programming language." -msgstr "" - -#: ../NEWS:18606 -msgid "" -":issue:`41930`: Add :meth:`~sqlite3.Connection.serialize` and " -":meth:`~sqlite3.Connection.deserialize` support to :mod:`sqlite3`. Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../NEWS:18610 -msgid "" -":issue:`33178`: Added :class:`ctypes.BigEndianUnion` and " -":class:`ctypes.LittleEndianUnion` classes, as originally documented in the " -"library docs but not yet implemented." -msgstr "" - -#: ../NEWS:18614 -msgid "" -":issue:`43352`: Add an Barrier object in synchronization primitives of " -"*asyncio* Lib in order to be consistent with Barrier from *threading* and " -"*multiprocessing* libs*" -msgstr "" - -#: ../NEWS:18618 -msgid "" -":issue:`35859`: :mod:`re` module, fix a few bugs about capturing group. In " -"rare cases, capturing group gets an incorrect string. Patch by Ma Lin." -msgstr "" - -#: ../NEWS:18624 -msgid ":issue:`45099`: Document internal :mod:`asyncio` API." -msgstr "" - -#: ../NEWS:18626 -msgid ":issue:`47126`: Update PEP URLs to :pep:`676`'s new canonical form." -msgstr "" - -#: ../NEWS:18628 -msgid "" -":issue:`47040`: Clarified the old Python versions compatibility note of " -":func:`binascii.crc32` / :func:`zlib.adler32` / :func:`zlib.crc32` " -"functions." -msgstr "" - -#: ../NEWS:18632 -msgid ":issue:`46033`: Clarify ``for`` statement execution in its doc." -msgstr "" - -#: ../NEWS:18634 -msgid "" -":issue:`45790`: Adjust inaccurate phrasing in " -":doc:`../extending/newtypes_tutorial` about the ``ob_base`` field and the " -"macros used to access its contents." -msgstr "" - -#: ../NEWS:18638 -msgid "" -":issue:`42340`: Document that in some circumstances :exc:`KeyboardInterrupt`" -" may cause the code to enter an inconsistent state. Provided a sample " -"workaround to avoid it if needed." -msgstr "" - -#: ../NEWS:18642 -msgid "" -":issue:`41233`: Link the errnos referenced in ``Doc/library/exceptions.rst``" -" to their respective section in ``Doc/library/errno.rst``, and vice versa. " -"Previously this was only done for EINTR and InterruptedError. Patch by Yan " -"\"yyyyyyyan\" Orestes." -msgstr "" - -#: ../NEWS:18650 -msgid "" -":issue:`47205`: Skip test for :func:`~os.sched_getaffinity` and " -":func:`~os.sched_setaffinity` error case on FreeBSD." -msgstr "" - -#: ../NEWS:18653 -msgid ":issue:`46126`: Restore 'descriptions' when running tests internally." -msgstr "" - -#: ../NEWS:18655 -msgid "" -":issue:`47104`: Rewrite :func:`asyncio.to_thread` tests to use " -":class:`unittest.IsolatedAsyncioTestCase`." -msgstr "" - -#: ../NEWS:18658 -msgid "" -":issue:`40280`: The test suite is now passing on the Emscripten platform. " -"All fork, socket, and subprocess-based tests are skipped." -msgstr "" - -#: ../NEWS:18661 -msgid "" -":issue:`47037`: Skip ``strftime(\"%4Y\")`` feature test on Windows. It can " -"cause an assertion error in debug builds." -msgstr "" - -#: ../NEWS:18664 -msgid "" -":issue:`46587`: Skip tests if platform's ``strftime`` does not support non-" -"portable glibc extensions." -msgstr "" - -#: ../NEWS:18667 -msgid "" -":issue:`47015`: A test case for :func:`os.sendfile` is converted from " -"deprecated :mod:`!asyncore` (see :pep:`594`) to :mod:`asyncio`. Patch by " -"Oleg Iarygin." -msgstr "" - -#: ../NEWS:18674 -msgid "" -":issue:`40280`: Add configure option :option:`--enable-wasm-dynamic-linking`" -" to enable ``dlopen`` and MAIN_MODULE / SIDE_MODULE on " -"``wasm32-emscripten``." -msgstr "" - -#: ../NEWS:18677 -msgid "" -":issue:`46023`: ``makesetup`` now detects and skips all duplicated module " -"definitions. The first entry wins." -msgstr "" - -#: ../NEWS:18680 -msgid "" -":issue:`40280`: Add SOABI ``wasm32-emscripten`` for Emscripten and " -"``wasm32-wasi`` for WASI on 32bit WASM as well as ``wasm64`` counter parts." -msgstr "" - -#: ../NEWS:18684 -msgid "" -":issue:`47032`: Ensure Windows install builds fail correctly with a non-zero" -" exit code when part of the build fails." -msgstr "" - -#: ../NEWS:18687 -msgid "" -":issue:`47024`: Update OpenSSL to 1.1.1n for macOS installers and all " -"Windows builds." -msgstr "" - -#: ../NEWS:18690 -msgid "" -":issue:`46996`: The :mod:`tkinter` package now requires Tcl/Tk version " -"8.5.12 or newer." -msgstr "" - -#: ../NEWS:18693 -msgid "" -":issue:`46973`: Add ``regen-configure`` make target to regenerate configure " -"script with Christian's container image " -"``quay.io/tiran/cpython_autoconf:269``." -msgstr "" - -#: ../NEWS:18697 -msgid "" -":issue:`46917`: Building Python now requires support of IEEE 754 floating-" -"point numbers. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:18700 -msgid "" -":issue:`45774`: ``configure`` now verifies that all SQLite C APIs needed for" -" the :mod:`sqlite3` extension module are found." -msgstr "" - -#: ../NEWS:18706 -msgid "" -":issue:`47194`: Update ``zlib`` to v1.2.12 to resolve :cve:`2018-25032`." -msgstr "" - -#: ../NEWS:18708 -msgid "" -":issue:`47171`: Enables installing the :file:`py.exe` launcher on Windows " -"ARM64." -msgstr "" - -#: ../NEWS:18711 -msgid "" -":issue:`46566`: Upgraded :ref:`launcher` to support a new ``-V:company/tag``" -" argument for full :pep:`514` support and to detect ARM64 installs. The " -"``-64`` suffix on arguments is deprecated, but still selects any non-32-bit " -"install. Setting :envvar:`PYLAUNCHER_ALLOW_INSTALL` and specifying a version" -" that is not installed will attempt to install the requested version from " -"the Microsoft Store." -msgstr "" - -#: ../NEWS:18718 -msgid "" -":issue:`47086`: The installer for Windows now includes documentation as " -"loose HTML files rather than a single compiled :file:`.chm` file." -msgstr "" - -#: ../NEWS:18721 -msgid ":issue:`46907`: Update Windows installer to use SQLite 3.38.1." -msgstr "" - -#: ../NEWS:18723 -msgid "" -":issue:`44549`: Update bzip2 to 1.0.8 in Windows builds to mitigate " -":cve:`2016-3189` and :cve:`2019-12900`." -msgstr "" - -#: ../NEWS:18726 -msgid "" -":issue:`46948`: Prevent :cve:`2022-26488` by ensuring the Add to PATH option" -" in the Windows installer uses the correct path when being repaired." -msgstr "" - -#: ../NEWS:18732 -msgid "" -":issue:`46890`: Fix a regression in the setting of ``sys._base_executable`` " -"in framework builds, and thereby fix a regression in :mod:`venv` virtual " -"environments with such builds." -msgstr "" - -#: ../NEWS:18736 -msgid ":issue:`46907`: Update macOS installer to SQLite 3.38.1." -msgstr "" - -#: ../NEWS:18741 -msgid "" -":issue:`40280`: Replace Emscripten's limited shell with Katie Bell's " -"browser-ui REPL from python-wasm project." -msgstr "" - -#: ../NEWS:18747 -msgid "" -":issue:`40421`: Add ``PyFrame_GetBuiltins``, ``PyFrame_GetGenerator`` and " -"``PyFrame_GetGlobals`` C-API functions to access frame object attributes " -"safely from C code." -msgstr "" - -#: ../NEWS:18751 -msgid "" -":issue:`46850`: Move the private ``_PyFrameEvalFunction`` type, and private " -"``_PyInterpreterState_GetEvalFrameFunc()`` and " -"``_PyInterpreterState_SetEvalFrameFunc()`` functions to the internal C API. " -"The ``_PyFrameEvalFunction`` callback function type now uses the " -"``_PyInterpreterFrame`` type which is part of the internal C API. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:18758 -msgid "" -":issue:`46850`: Move the private undocumented ``_PyEval_EvalFrameDefault()``" -" function to the internal C API. The function now uses the " -"``_PyInterpreterFrame`` type which is part of the internal C API. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:18763 -msgid "" -":issue:`46850`: Remove the private undocumented function " -"``_PyEval_CallTracing()`` from the C API. Call the public " -":func:`sys.call_tracing` function instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:18767 -msgid "" -":issue:`46850`: Remove the private undocumented function " -"``_PyEval_GetCoroutineOriginTrackingDepth()`` from the C API. Call the " -"public :func:`sys.get_coroutine_origin_tracking_depth` function instead. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:18772 -msgid "" -":issue:`46850`: Remove the following private undocumented functions from the" -" C API:" -msgstr "" - -#: ../NEWS:18775 -msgid "``_PyEval_GetAsyncGenFirstiter()``" -msgstr "" - -#: ../NEWS:18776 -msgid "``_PyEval_GetAsyncGenFinalizer()``" -msgstr "" - -#: ../NEWS:18777 -msgid "``_PyEval_SetAsyncGenFirstiter()``" -msgstr "" - -#: ../NEWS:18778 -msgid "``_PyEval_SetAsyncGenFinalizer()``" -msgstr "" - -#: ../NEWS:18780 -msgid "" -"Call the public :func:`sys.get_asyncgen_hooks` and " -":func:`sys.set_asyncgen_hooks` functions instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:18783 -msgid "" -":issue:`46987`: Remove private functions ``_PySys_GetObjectId()`` and " -"``_PySys_SetObjectId()``. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:18786 -msgid "" -":issue:`46906`: Add new functions to pack and unpack C double (serialize and" -" deserialize): :c:func:`PyFloat_Pack2`, :c:func:`PyFloat_Pack4`, " -":c:func:`PyFloat_Pack8`, :c:func:`PyFloat_Unpack2`, " -":c:func:`PyFloat_Unpack4` and :c:func:`PyFloat_Unpack8`. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:18794 -msgid "Python 3.11.0 alpha 6" -msgstr "" - -#: ../NEWS:18796 -msgid "*Release date: 2022-03-07*" -msgstr "" - -#: ../NEWS:18801 -msgid "" -":issue:`46940`: Avoid overriding :exc:`AttributeError` metadata information " -"for nested attribute access calls. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:18804 -msgid "" -":issue:`46927`: Include the type's name in the error message for " -"subscripting non-generic types." -msgstr "" - -#: ../NEWS:18807 -msgid ":issue:`46921`: Support vectorcall for ``super()``. Patch by Ken Jin." -msgstr "" - -#: ../NEWS:18809 -msgid "" -":issue:`46841`: Fix incorrect handling of inline cache entries when " -"specializing :opcode:`BINARY_OP`." -msgstr "" - -#: ../NEWS:18812 -msgid "" -":issue:`46841`: Use an oparg to simplify the construction of helpful error " -"messages in :opcode:`GET_AWAITABLE`." -msgstr "" - -#: ../NEWS:18815 -msgid "" -":issue:`46903`: Make sure that str subclasses can be used as attribute names" -" for instances with virtual dictionaries. Fixes regression in 3.11alpha" -msgstr "" - -#: ../NEWS:18818 -msgid "" -":issue:`46841`: Add more detailed specialization failure stats for " -":opcode:`COMPARE_OP` followed by :opcode:`EXTENDED_ARG`." -msgstr "" - -#: ../NEWS:18821 -msgid "" -":issue:`46891`: Fix bug introduced during 3.11alpha where subclasses of " -"``types.ModuleType`` with ``__slots__`` were not initialized correctly, " -"resulting in an interpreter crash." -msgstr "" - -#: ../NEWS:18825 -msgid "" -":issue:`46841`: Use inline caching for :opcode:`LOAD_ATTR`, " -":opcode:`LOAD_METHOD`, and :opcode:`STORE_ATTR`." -msgstr "" - -#: ../NEWS:18828 -msgid ":issue:`46841`: Use inline cache for :opcode:`BINARY_SUBSCR`." -msgstr "" - -#: ../NEWS:18830 -msgid ":issue:`46841`: Use inline caching for :opcode:`COMPARE_OP`." -msgstr "" - -#: ../NEWS:18832 -msgid "" -":issue:`46864`: Deprecate ``PyBytesObject.ob_shash``. It will be removed in " -"Python 3.13." -msgstr "" - -#: ../NEWS:18835 -msgid ":issue:`46841`: Use inline caching for :opcode:`UNPACK_SEQUENCE`." -msgstr "" - -#: ../NEWS:18837 -msgid "" -":issue:`46845`: Reduces dict size by removing hash value from hash table " -"when all inserted keys are Unicode. For example, " -"``sys.getsizeof(dict.fromkeys(\"abcdefg\"))`` becomes 272 bytes from 352 " -"bytes on 64bit platform." -msgstr "" - -#: ../NEWS:18842 -msgid ":issue:`46841`: Use inline cache for :opcode:`LOAD_GLOBAL`." -msgstr "" - -#: ../NEWS:18844 -msgid "" -":issue:`46852`: Rename the private undocumented ``float.__set_format__()`` " -"method to ``float.__setformat__()`` to fix a typo introduced in Python 3.7. " -"The method is only used by test_float. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:18848 -msgid "" -":issue:`46852`: Remove the undocumented private ``float.__set_format__()`` " -"method, previously known as ``float.__setformat__()`` in Python 3.7. Its " -"docstring said: \"You probably don't want to use this function. It exists " -"mainly to be used in Python's test suite.\" Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:18853 -msgid "" -":issue:`40116`: Fix regression that dict.update(other) may don't respect " -"iterate order of other when other is key sharing dict." -msgstr "" - -#: ../NEWS:18856 -msgid "" -":issue:`46712`: Share global string identifiers in deep-frozen modules." -msgstr "" - -#: ../NEWS:18858 -msgid "" -":issue:`46430`: Fix memory leak in interned strings of deep-frozen modules." -msgstr "" - -#: ../NEWS:18860 -msgid "" -":issue:`46841`: Store :opcode:`BINARY_OP` caches inline using a new " -":opcode:`CACHE` instruction." -msgstr "" - -#: ../NEWS:18863 -msgid ":issue:`45107`: Specialize ``LOAD_METHOD`` for instances with a dict." -msgstr "" - -#: ../NEWS:18865 -msgid "" -":issue:`44337`: Reduce the memory usage of specialized :opcode:`LOAD_ATTR` " -"and :opcode:`STORE_ATTR` instructions." -msgstr "" - -#: ../NEWS:18868 -msgid "" -":issue:`46729`: Add number of sub-exceptions to " -":meth:`BaseException.__str__`." -msgstr "" - -#: ../NEWS:18870 -msgid "" -":issue:`45885`: Don't un-adapt :opcode:`COMPARE_OP` when collecting " -"specialization stats." -msgstr "" - -#: ../NEWS:18873 -msgid "" -":issue:`46329`: Fix specialization stats gathering for :opcode:`!PRECALL` " -"instructions." -msgstr "" - -#: ../NEWS:18876 -msgid ":issue:`46794`: Bump up the libexpat version into 2.4.6" -msgstr "" - -#: ../NEWS:18878 -msgid "" -":issue:`46823`: Implement a specialized combined opcode " -"``LOAD_FAST__LOAD_ATTR_INSTANCE_VALUE``. Patch by Dennis Sweeney." -msgstr "" - -#: ../NEWS:18881 -msgid "" -":issue:`46820`: Fix parsing a numeric literal immediately (without spaces) " -"followed by \"not in\" keywords, like in ``1not in x``. Now the parser only " -"emits a warning, not a syntax error." -msgstr "" - -#: ../NEWS:18885 -msgid "" -":issue:`46329`: Move ``KW_NAMES`` before ``PRECALL`` instruction in call " -"sequence. Change ``operand`` of ``CALL`` to match ``PRECALL`` for easier " -"specialization." -msgstr "" - -#: ../NEWS:18889 -msgid "" -":issue:`46808`: Remove the ``NEXT_BLOCK`` macro from compile.c, and make the" -" compiler automatically generate implicit blocks when they are needed." -msgstr "" - -#: ../NEWS:18892 -msgid "" -":issue:`46329`: Add ``PUSH_NULL`` instruction. This is used as a prefix when" -" evaluating a callable, so that the stack has the same shape for methods and" -" other calls. ``PRECALL_FUNCTION`` and ``PRECALL_METHOD`` are merged into a " -"single ``PRECALL`` instruction." -msgstr "" - -#: ../NEWS:18897 ../NEWS:19280 -msgid "There is no change in semantics." -msgstr "" - -#: ../NEWS:18899 -msgid "" -":issue:`46762`: Fix an assert failure in debug builds when a '<', '>', or " -"'=' is the last character in an f-string that's missing a closing right " -"brace." -msgstr "" - -#: ../NEWS:18902 -msgid "" -":issue:`46730`: Message of AttributeError caused by getting, setting or " -"deleting a property without the corresponding function now mentions that the" -" attribute is in fact a property and also specifies type of the class that " -"it belongs to." -msgstr "" - -#: ../NEWS:18907 -msgid "" -":issue:`46724`: Make sure that all backwards jumps use the ``JUMP_ABSOLUTE``" -" instruction, rather than ``JUMP_FORWARD`` with an argument of " -"``(2**32)+offset``." -msgstr "" - -#: ../NEWS:18911 -msgid "" -":issue:`46732`: Correct the docstring for the :meth:`~object.__bool__` " -"method. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:18914 -msgid "" -":issue:`46072`: Add more detailed specialization failure statistics for " -":opcode:`BINARY_OP`." -msgstr "" - -#: ../NEWS:18917 -msgid "" -":issue:`46707`: Avoid potential exponential backtracking when producing some" -" syntax errors involving lots of brackets. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:18920 -msgid "" -":issue:`46323`: :mod:`ctypes` now allocates memory on the stack instead of " -"on the heap to pass arguments while calling a Python callback function. " -"Patch by Donghee Na." -msgstr "" - -#: ../NEWS:18924 -msgid "" -":issue:`45923`: Add a quickened form of :opcode:`RESUME` that skips " -"quickening checks." -msgstr "" - -#: ../NEWS:18927 -msgid "" -":issue:`46702`: Specialize :opcode:`UNPACK_SEQUENCE` for :class:`tuple` and " -":class:`list` unpackings." -msgstr "" - -#: ../NEWS:18930 -msgid "" -":issue:`46072`: Opcode pair stats are now gathered with ``--enable-" -"pystats``. Defining ``DYNAMIC_EXECUTION_PROFILE`` or ``DXPAIRS`` no longer " -"has any effect." -msgstr "" - -#: ../NEWS:18934 -msgid "" -":issue:`46675`: Allow more than 16 items in a split dict before it is " -"combined. The limit is now 254." -msgstr "" - -#: ../NEWS:18937 -msgid "" -":issue:`40479`: Add a missing call to ``va_end()`` in " -"``Modules/_hashopenssl.c``." -msgstr "" - -#: ../NEWS:18940 -msgid "" -":issue:`46323`: Use :c:func:`PyObject_Vectorcall` while calling ctypes " -"callback function. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:18943 -msgid "" -":issue:`46615`: When iterating over sets internally in ``setobject.c``, " -"acquire strong references to the resulting items from the set. This " -"prevents crashes in corner-cases of various set operations where the set " -"gets mutated." -msgstr "" - -#: ../NEWS:18948 -msgid "" -":issue:`45828`: The bytecode compiler now attempts to apply runtime stack " -"manipulations at compile-time (whenever it is feasible to do so)." -msgstr "" - -#: ../NEWS:18951 -msgid "" -":issue:`30496`: Fixed a minor portability issue in the implementation of " -":c:func:`PyLong_FromLong`, and added a fast path for single-digit integers " -"to :c:func:`PyLong_FromLongLong`." -msgstr "" - -#: ../NEWS:18958 -msgid "" -":issue:`25707`: Fixed a file leak in :func:`xml.etree.ElementTree.iterparse`" -" when the iterator is not exhausted. Patch by Jacob Walls." -msgstr "" - -#: ../NEWS:18961 -msgid "" -":issue:`46877`: Export :func:`unittest.doModuleCleanups` in :mod:`unittest`." -" Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:18964 -msgid "" -":issue:`46848`: For performance, use the optimized string-searching " -"implementations from :meth:`~bytes.find` and :meth:`~bytes.rfind` for " -":meth:`~mmap.find` and :meth:`~mmap.rfind`." -msgstr "" - -#: ../NEWS:18968 -msgid "" -":issue:`46736`: :class:`~http.server.SimpleHTTPRequestHandler` now uses " -"HTML5 grammar. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:18971 -msgid "" -":issue:`44886`: Inherit asyncio proactor datagram transport from " -":class:`asyncio.DatagramTransport`." -msgstr "" - -#: ../NEWS:18974 -msgid "" -":issue:`46827`: Support UDP sockets in :meth:`asyncio.loop.sock_connect` " -"for selector-based event loops. Patch by Thomas Grainger." -msgstr "" - -#: ../NEWS:18977 -msgid ":issue:`46811`: Make test suite support Expat >=2.4.5" -msgstr "" - -#: ../NEWS:18979 -msgid "" -":issue:`46252`: Raise :exc:`TypeError` if :class:`ssl.SSLSocket` is passed " -"to transport-based APIs." -msgstr "" - -#: ../NEWS:18982 -msgid "" -":issue:`46784`: Fix libexpat symbols collisions with user dynamically loaded" -" or statically linked libexpat in embedded Python." -msgstr "" - -#: ../NEWS:18985 -msgid "" -":issue:`46786`: The HTML serialisation in xml.etree.ElementTree now writes " -"``embed``, ``source``, ``track`` and ``wbr`` as empty tags, as defined in " -"HTML 5." -msgstr "" - -#: ../NEWS:18989 -msgid "" -":issue:`39327`: :func:`shutil.rmtree` can now work with VirtualBox shared " -"folders when running from the guest operating-system." -msgstr "" - -#: ../NEWS:18992 -msgid "" -":issue:`45390`: Propagate :exc:`asyncio.CancelledError` message from inner " -"task to outer awaiter." -msgstr "" - -#: ../NEWS:18995 -msgid "" -":issue:`46756`: Fix a bug in " -":meth:`urllib.request.HTTPPasswordMgr.find_user_password` and " -":meth:`urllib.request.HTTPPasswordMgrWithPriorAuth.is_authenticated` which " -"allowed to bypass authorization. For example, access to URI " -"``example.org/foobar`` was allowed if the user was authorized for URI " -"``example.org/foo``." -msgstr "" - -#: ../NEWS:19002 -msgid "" -":issue:`46737`: :func:`random.gauss` and :func:`random.normalvariate` now " -"have default arguments." -msgstr "" - -#: ../NEWS:19005 -msgid "" -":issue:`46752`: Add task groups to asyncio (structured concurrency, inspired" -" by Trio's nurseries). This also introduces a change to task cancellation, " -"where a cancelled task can't be cancelled again until it calls .uncancel()." -msgstr "" - -#: ../NEWS:19010 -msgid ":issue:`46724`: Fix :mod:`dis` behavior on negative jump offsets." -msgstr "" - -#: ../NEWS:19012 -msgid "" -":issue:`46333`: The :meth:`__repr__` method of :class:`typing.ForwardRef` " -"now includes the ``module`` parameter of :class:`typing.ForwardRef` when it " -"is set." -msgstr "" - -#: ../NEWS:19016 -msgid "" -":issue:`46643`: In :func:`typing.get_type_hints`, support evaluating " -"stringified ``ParamSpecArgs`` and ``ParamSpecKwargs`` annotations. Patch by " -"Gregory Beauregard." -msgstr "" - -#: ../NEWS:19020 -msgid "" -":issue:`45863`: When the :mod:`tarfile` module creates a pax format archive," -" it will put an integer representation of timestamps in the ustar header (if" -" possible) for the benefit of older unarchivers, in addition to the existing" -" full-precision timestamps in the pax extended header." -msgstr "" - -#: ../NEWS:19025 -msgid "" -":issue:`46066`: Deprecate kwargs-based syntax for :class:`typing.TypedDict` " -"definitions. It had confusing semantics when specifying totality, and was " -"largely unused. Patch by Jingchen Ye." -msgstr "" - -#: ../NEWS:19029 -msgid "" -":issue:`46676`: Make :data:`typing.ParamSpec` args and kwargs equal to " -"themselves. Patch by Gregory Beauregard." -msgstr "" - -#: ../NEWS:19032 -msgid "" -":issue:`46323`: ``ctypes.CFUNCTYPE()`` and ``ctypes.WINFUNCTYPE()`` now fail" -" to create the type if its ``_argtypes_`` member contains too many " -"arguments. Previously, the error was only raised when calling a function. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19037 -msgid "" -":issue:`46672`: Fix ``NameError`` in :func:`asyncio.gather` when initial " -"type check fails." -msgstr "" - -#: ../NEWS:19040 -msgid "" -":issue:`46659`: The :class:`calendar.LocaleTextCalendar` and " -":class:`calendar.LocaleHTMLCalendar` classes now use " -":func:`locale.getlocale`, instead of using :func:`locale.getdefaultlocale`, " -"if no locale is specified. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19046 -msgid "" -":issue:`46659`: The :func:`locale.getdefaultlocale` function is deprecated " -"and will be removed in Python 3.13. Use :func:`locale.setlocale`, " -":func:`locale.getpreferredencoding(False) ` and" -" :func:`locale.getlocale` functions instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19051 -msgid "" -":issue:`46655`: In :func:`typing.get_type_hints`, support evaluating bare " -"stringified ``TypeAlias`` annotations. Patch by Gregory Beauregard." -msgstr "" - -#: ../NEWS:19054 -msgid "" -":issue:`45948`: Fixed a discrepancy in the C implementation of the " -":mod:`xml.etree.ElementTree` module. Now, instantiating an " -":class:`xml.etree.ElementTree.XMLParser` with a ``target=None`` keyword " -"provides a default :class:`xml.etree.ElementTree.TreeBuilder` target as the " -"Python implementation does." -msgstr "" - -#: ../NEWS:19060 -msgid "" -":issue:`46626`: Expose Linux's ``IP_BIND_ADDRESS_NO_PORT`` option in " -":mod:`socket`." -msgstr "" - -#: ../NEWS:19063 -msgid "" -":issue:`46521`: Fix a bug in the :mod:`codeop` module that was incorrectly " -"identifying invalid code involving string quotes as valid code." -msgstr "" - -#: ../NEWS:19066 -msgid ":issue:`46571`: Improve :func:`typing.no_type_check`." -msgstr "" - -#: ../NEWS:19068 -msgid "" -"Now it does not modify external classes and functions. We also now correctly" -" mark classmethods as not to be type checked." -msgstr "" - -#: ../NEWS:19071 -msgid ":issue:`46400`: expat: Update libexpat from 2.4.1 to 2.4.4" -msgstr "" - -#: ../NEWS:19073 -msgid "" -":issue:`46556`: Deprecate undocumented support for using a " -":class:`pathlib.Path` object as a context manager." -msgstr "" - -#: ../NEWS:19076 -msgid "" -":issue:`46534`: Implement :pep:`673` :class:`typing.Self`. Patch by James " -"Hilton-Balfe." -msgstr "" - -#: ../NEWS:19079 -msgid "" -":issue:`46522`: Make various module ``__getattr__`` AttributeErrors more " -"closely match a typical AttributeError" -msgstr "" - -#: ../NEWS:19082 -msgid "" -":issue:`46475`: Add :data:`typing.Never` and :func:`typing.assert_never`. " -"Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:19085 -msgid "" -":issue:`46333`: The :meth:`__eq__` and :meth:`__hash__` methods of " -":class:`typing.ForwardRef` now honor the ``module`` parameter of " -":class:`typing.ForwardRef`. Forward references from different modules are " -"now differentiated." -msgstr "" - -#: ../NEWS:19090 -msgid "" -":issue:`46246`: Add missing ``__slots__`` to " -"``importlib.metadata.DeprecatedList``. Patch by Arie Bovenberg." -msgstr "" - -#: ../NEWS:19093 -msgid "" -":issue:`46232`: The :mod:`ssl` module now handles certificates with bit " -"strings in DN correctly." -msgstr "" - -#: ../NEWS:19096 -msgid "" -":issue:`46195`: :func:`typing.get_type_hints` no longer adds ``Optional`` to" -" parameters with ``None`` as a default. This aligns to changes to PEP 484 in" -" https://github.com/python/peps/pull/689" -msgstr "" - -#: ../NEWS:19100 -msgid "" -":issue:`31369`: Add :class:`~re.RegexFlag` to ``re.__all__`` and documented " -"it. Add :data:`~re.RegexFlag.NOFLAG` to indicate no flags being set." -msgstr "" - -#: ../NEWS:19103 -msgid "" -":issue:`45898`: :mod:`ctypes` no longer defines ``ffi_type_*`` symbols in " -"``cfield.c``. The symbols have been provided by libffi for over a decade." -msgstr "" - -#: ../NEWS:19106 -msgid "" -":issue:`44953`: Calling ``operator.itemgetter`` objects and " -"``operator.attrgetter`` objects is now faster due to use of the vectorcall " -"calling convention." -msgstr "" - -#: ../NEWS:19110 -msgid "" -":issue:`44289`: Fix an issue with :meth:`~tarfile.is_tarfile` method when " -"using *fileobj* argument: position in the *fileobj* was advanced forward " -"which made it unreadable with :meth:`tarfile.TarFile.open`." -msgstr "" - -#: ../NEWS:19114 -msgid "" -":issue:`44011`: Reimplement SSL/TLS support in asyncio, borrow the " -"implementation from uvloop library." -msgstr "" - -#: ../NEWS:19117 -msgid "" -":issue:`41086`: Make the :class:`configparser.ConfigParser` constructor " -"raise :exc:`TypeError` if the ``interpolation`` parameter is not of type " -":class:`!configparser.Interpolation`" -msgstr "" - -#: ../NEWS:19121 -msgid "" -":issue:`29418`: Implement :func:`inspect.ismethodwrapper` and fix " -":func:`inspect.isroutine` for cases where methodwrapper is given. Patch by " -"Hakan Çelik." -msgstr "" - -#: ../NEWS:19125 -msgid "" -":issue:`14156`: argparse.FileType now supports an argument of '-' in binary " -"mode, returning the .buffer attribute of sys.stdin/sys.stdout as " -"appropriate. Modes including 'x' and 'a' are treated equivalently to 'w' " -"when argument is '-'. Patch contributed by Josh Rosenberg" -msgstr "" - -#: ../NEWS:19133 -msgid "" -":issue:`42238`: ``Doc/tools/rstlint.py`` has moved to its own repository and" -" is now packaged on PyPI as ``sphinx-lint``." -msgstr "" - -#: ../NEWS:19139 -msgid "" -":issue:`46913`: Fix test_faulthandler.test_sigfpe() if Python is built with " -"undefined behavior sanitizer (UBSAN): disable UBSAN on the " -"faulthandler_sigfpe() function. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19143 -msgid "" -":issue:`46760`: Remove bytecode offsets from expected values in " -"test.test_dis module. Reduces the obstacles to modifying the VM or compiler." -msgstr "" - -#: ../NEWS:19146 -msgid "" -":issue:`46708`: Prevent default asyncio event loop policy modification " -"warning after ``test_asyncio`` execution." -msgstr "" - -#: ../NEWS:19149 -msgid "" -":issue:`46678`: The function ``make_legacy_pyc`` in " -"``Lib/test/support/import_helper.py`` no longer fails when " -"``PYTHONPYCACHEPREFIX`` is set to a directory on a different device from " -"where tempfiles are stored." -msgstr "" - -#: ../NEWS:19154 -msgid "" -":issue:`46623`: Skip test_pair() and test_speech128() of test_zlib on s390x " -"since they fail if zlib uses the s390x hardware accelerator. Patch by Victor" -" Stinner." -msgstr "" - -#: ../NEWS:19161 -msgid "" -":issue:`46860`: Respect ``--with-suffix`` when building on case-insensitive " -"file systems." -msgstr "" - -#: ../NEWS:19164 -msgid "" -":issue:`46656`: Building Python now requires a C11 compiler. Optional C11 " -"features are not required. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19167 -msgid "" -":issue:`46656`: Building Python now requires support for floating-point Not-" -"a-Number (NaN): remove the ``Py_NO_NAN`` macro. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19171 -msgid "" -":issue:`46640`: Building Python now requires a C99 ```` header file " -"providing a ``NAN`` constant, or the ``__builtin_nan()`` built-in function. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19175 -msgid "" -":issue:`46608`: Exclude marshalled-frozen data if deep-freezing to save 300 " -"KB disk space. This includes adding a new ``is_package`` field to " -":c:struct:`_frozen`. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:19179 -msgid "" -":issue:`40280`: Fix wasm32-emscripten test failures and platform issues. - " -"Disable syscalls that are not supported or don't work, e.g. wait, " -"getrusage, prlimit, mkfifo, mknod, setres[gu]id, setgroups. - Use fd_count " -"to count open fds. - Add more checks for subprocess and fork. - Add " -"workarounds for missing _multiprocessing and failing socket.accept(). - " -"Enable bzip2. - Disable large file support. - Disable signal.alarm." -msgstr "" - -#: ../NEWS:19186 -msgid "" -":issue:`46430`: Intern strings in deep-frozen modules. Patch by Kumar " -"Aditya." -msgstr "" - -#: ../NEWS:19191 -msgid "" -":issue:`46744`: The default all users install directory for ARM64 is now " -"under the native ``Program Files`` folder, rather than ``Program Files " -"(Arm)`` which is intended for ARM (32-bit) files." -msgstr "" - -#: ../NEWS:19195 -msgid "" -":issue:`46567`: Adds Tcl and Tk support for Windows ARM64. This also adds " -"IDLE to the installation." -msgstr "" - -#: ../NEWS:19198 -msgid "" -":issue:`46638`: Ensures registry virtualization is consistently disabled. " -"For 3.10 and earlier, it remains enabled (some registry writes are " -"protected), while for 3.11 and later it is disabled (registry modifications " -"affect all applications)." -msgstr "" - -#: ../NEWS:19206 -msgid "" -":issue:`46630`: Make query dialogs on Windows start with a cursor in the " -"entry box." -msgstr "" - -#: ../NEWS:19209 -msgid "" -":issue:`45447`: Apply IDLE syntax highlighting to ``.pyi`` files. Patch by " -"Alex Waygood and Terry Jan Reedy." -msgstr "" - -#: ../NEWS:19215 -msgid "" -":issue:`46748`: Python's public headers no longer import ````, " -"leaving code that embeds/extends Python free to define ``bool``, ``true`` " -"and ``false``." -msgstr "" - -#: ../NEWS:19219 -msgid "" -":issue:`46836`: Move the :c:type:`PyFrameObject` type definition (``struct " -"_frame``) to the internal C API ``pycore_frame.h`` header file. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:19223 -msgid "" -":issue:`45459`: Rename ``Include/buffer.h`` header file to " -"``Include/pybuffer.h`` to avoid conflicts with projects having an existing " -"``buffer.h`` header file. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19227 -msgid "" -":issue:`45412`: Remove the ``HAVE_PY_SET_53BIT_PRECISION`` macro (moved to " -"the internal C API). Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19230 -msgid "" -":issue:`46613`: Added function :c:func:`PyType_GetModuleByDef`, which allows" -" access to module state when a method's defining class is not available." -msgstr "" - -#: ../NEWS:19235 -msgid "Python 3.11.0 alpha 5" -msgstr "" - -#: ../NEWS:19237 -msgid "*Release date: 2022-02-03*" -msgstr "" - -#: ../NEWS:19242 -msgid "" -":issue:`45773`: Remove two invalid \"peephole\" optimizations from the " -"bytecode compiler." -msgstr "" - -#: ../NEWS:19245 -msgid "" -":issue:`46564`: Do not create frame objects when creating :class:`super` " -"object. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:19248 -msgid "" -":issue:`45885`: Added more fined-grained specialization failure stats " -"regarding the ``COMPARE_OP`` bytecode." -msgstr "" - -#: ../NEWS:19251 -msgid "" -":issue:`44977`: The delegation of :func:`int` to :meth:`__trunc__` is now " -"deprecated. Calling ``int(a)`` when ``type(a)`` implements :meth:`__trunc__`" -" but not :meth:`__int__` or :meth:`__index__` now raises a " -":exc:`DeprecationWarning`." -msgstr "" - -#: ../NEWS:19256 -msgid "" -":issue:`46458`: Reorder code emitted by the compiler for a " -":keyword:`try`-:keyword:`except` block so that the :keyword:`else` block's " -"code immediately follows the :keyword:`try` body (without a jump). This is " -"more optimal for the happy path." -msgstr "" - -#: ../NEWS:19261 -msgid "" -":issue:`46527`: Allow passing ``iterable`` as a keyword argument to " -":func:`enumerate` again. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:19264 -msgid "" -":issue:`46528`: Replace several stack manipulation instructions " -"(``DUP_TOP``, ``DUP_TOP_TWO``, ``ROT_TWO``, ``ROT_THREE``, ``ROT_FOUR``, and" -" ``ROT_N``) with new :opcode:`COPY` and :opcode:`SWAP` instructions." -msgstr "" - -#: ../NEWS:19268 -msgid ":issue:`46329`: Use two or three bytecodes to implement most calls." -msgstr "" - -#: ../NEWS:19270 -msgid "" -"Calls without named arguments are implemented as a sequence of two " -"instructions: ``PRECALL; CALL``. Calls with named arguments are implemented " -"as a sequence of three instructions: ``PRECALL; KW_NAMES; CALL``. There are " -"two different ``PRECALL`` instructions: ``PRECALL_FUNTION`` and " -"``PRECALL_METHOD``. The latter pairs with ``LOAD_METHOD``." -msgstr "" - -#: ../NEWS:19277 -msgid "" -"This partition into pre-call and call allows better specialization, and thus" -" better performance ultimately." -msgstr "" - -#: ../NEWS:19282 -msgid "" -":issue:`46503`: Fix an assert when parsing some invalid \\N escape sequences" -" in f-strings." -msgstr "" - -#: ../NEWS:19285 -msgid "" -":issue:`46431`: Improve error message on invalid calls to " -":meth:`BaseExceptionGroup.__new__`." -msgstr "" - -#: ../NEWS:19288 -msgid "" -":issue:`46476`: Fix memory leak in code objects generated by deepfreeze. " -"Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:19291 -msgid "" -":issue:`46481`: Speed up calls to :meth:`weakref.ref.__call__` by using the " -":pep:`590` ``vectorcall`` calling convention. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:19294 -msgid "" -":issue:`46417`: Fix a race condition on setting a type ``__bases__`` " -"attribute: the internal function ``add_subclass()`` now gets the " -"``PyTypeObject.tp_subclasses`` member after calling " -":c:func:`PyWeakref_NewRef` which can trigger a garbage collection which can " -"indirectly modify ``PyTypeObject.tp_subclasses``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19301 -msgid "" -":issue:`46417`: ``python -X showrefcount`` now shows the total reference " -"count after clearing and destroyed the main Python interpreter. Previously, " -"it was shown before. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19305 -msgid "" -":issue:`43683`: Add ASYNC_GEN_WRAP opcode to wrap the value to be yielded in" -" async generators. Removes the need to special case async generators in the " -"``YIELD_VALUE`` instruction." -msgstr "" - -#: ../NEWS:19309 -msgid "" -":issue:`46407`: Optimize some modulo operations in ``Objects/longobject.c``." -" Patch by Jeremiah Vivian." -msgstr "" - -#: ../NEWS:19312 -msgid "" -":issue:`46409`: Add new ``RETURN_GENERATOR`` bytecode to make generators. " -"Simplifies calling Python functions in the VM, as they no longer any need to" -" special case generator functions." -msgstr "" - -#: ../NEWS:19316 -msgid "" -"Also add ``JUMP_NO_INTERRUPT`` bytecode that acts like ``JUMP_ABSOLUTE``, " -"but does not check for interrupts." -msgstr "" - -#: ../NEWS:19319 -msgid "" -":issue:`46406`: The integer division ``//`` implementation has been " -"optimized to better let the compiler understand its constraints. It can be " -"20% faster on the amd64 platform when dividing an int by a value smaller " -"than ``2**30``." -msgstr "" - -#: ../NEWS:19324 -msgid "" -":issue:`46383`: Fix invalid signature of ``_zoneinfo``'s ``module_free`` " -"function to resolve a crash on wasm32-emscripten platform." -msgstr "" - -#: ../NEWS:19327 -msgid "" -":issue:`46361`: Ensure that \"small\" integers created by " -":meth:`int.from_bytes` and :class:`decimal.Decimal` are properly cached." -msgstr "" - -#: ../NEWS:19330 -msgid "" -":issue:`46161`: Fix the class building error when the arguments are " -"constants and CALL_FUNCTION_EX is used." -msgstr "" - -#: ../NEWS:19333 -msgid "" -":issue:`46028`: Fixes calculation of :data:`sys._base_executable` when " -"inside a virtual environment that uses symlinks with different binary names " -"than the base environment provides." -msgstr "" - -#: ../NEWS:19337 -msgid "" -":issue:`46091`: Correctly calculate indentation levels for lines with " -"whitespace character that are ended by line continuation characters. Patch " -"by Pablo Galindo" -msgstr "" - -#: ../NEWS:19341 -msgid ":issue:`30512`: Add CAN Socket support for NetBSD." -msgstr "" - -#: ../NEWS:19345 -msgid "" -":issue:`44024`: Improve the :exc:`TypeError` message for non-string second " -"arguments passed to the built-in functions :func:`getattr` and " -":func:`hasattr`. Patch by Géry Ogam." -msgstr "" - -#: ../NEWS:19352 -msgid "" -":issue:`46624`: Restore support for non-integer arguments of " -":func:`random.randrange` and :func:`random.randint`." -msgstr "" - -#: ../NEWS:19355 -msgid "" -":issue:`46591`: Make the IDLE doc URL on the About IDLE dialog clickable." -msgstr "" - -#: ../NEWS:19357 -msgid "" -":issue:`46565`: Remove loop variables that are leaking into modules' " -"namespaces." -msgstr "" - -#: ../NEWS:19360 -msgid "" -":issue:`46553`: In :func:`typing.get_type_hints`, support evaluating bare " -"stringified ``ClassVar`` annotations. Patch by Gregory Beauregard." -msgstr "" - -#: ../NEWS:19363 -msgid "" -":issue:`46544`: Don't leak ``x`` & ``uspace`` intermediate vars in " -":class:`textwrap.TextWrapper`." -msgstr "" - -#: ../NEWS:19366 -msgid "" -":issue:`46487`: Add the ``get_write_buffer_limits`` method to " -":class:`asyncio.transports.WriteTransport` and to the SSL transport." -msgstr "" - -#: ../NEWS:19369 -msgid "" -":issue:`45173`: Note the configparser deprecations will be removed in Python" -" 3.12." -msgstr "" - -#: ../NEWS:19372 -msgid "" -":issue:`45162`: The deprecated :mod:`unittest` APIs removed in 3.11a1 have " -"been temporarily restored to be removed in 3.12 while cleanups in external " -"projects go in." -msgstr "" - -#: ../NEWS:19376 -msgid "" -":issue:`46539`: In :func:`typing.get_type_hints`, support evaluating " -"stringified ``ClassVar`` and ``Final`` annotations inside ``Annotated``. " -"Patch by Gregory Beauregard." -msgstr "" - -#: ../NEWS:19380 -msgid "" -":issue:`46510`: Add missing test for :class:`types.TracebackType` and " -":class:`types.FrameType`. Calculate them directly from the caught exception " -"without calling :func:`sys.exc_info`." -msgstr "" - -#: ../NEWS:19384 -msgid "" -":issue:`46491`: Allow :data:`typing.Annotated` to wrap :data:`typing.Final` " -"and :data:`typing.ClassVar`. Patch by Gregory Beauregard." -msgstr "" - -#: ../NEWS:19387 -msgid "" -":issue:`46483`: Remove :meth:`~object.__class_getitem__` from " -":class:`pathlib.PurePath` as this class was not supposed to be generic." -msgstr "" - -#: ../NEWS:19390 -msgid "" -":issue:`46436`: Fix command-line option ``-d``/``--directory`` in module " -":mod:`http.server` which is ignored when combined with command-line option " -"``--cgi``. Patch by Géry Ogam." -msgstr "" - -#: ../NEWS:19394 -msgid "" -":issue:`41403`: Make :meth:`mock.patch` raise a :exc:`TypeError` with a " -"relevant error message on invalid arg. Previously it allowed a cryptic " -":exc:`AttributeError` to escape." -msgstr "" - -#: ../NEWS:19398 -msgid "" -":issue:`46474`: In ``importlib.metadata.EntryPoint.pattern``, avoid " -"potential REDoS by limiting ambiguity in consecutive whitespace." -msgstr "" - -#: ../NEWS:19401 -msgid "" -":issue:`46474`: Removed private method from ``importlib.metadata.Path``. " -"Sync with importlib_metadata 4.10.0." -msgstr "" - -#: ../NEWS:19404 -msgid "" -":issue:`46470`: Remove unused branch from ``typing._remove_dups_flatten``" -msgstr "" - -#: ../NEWS:19406 -msgid "" -":issue:`46469`: :mod:`asyncio` generic classes now return " -":class:`types.GenericAlias` in ``__class_getitem__`` instead of the same " -"class." -msgstr "" - -#: ../NEWS:19410 -msgid "" -":issue:`41906`: Support passing filter instances in the ``filters`` values " -"of ``handlers`` and ``loggers`` in the dictionary passed to " -":func:`logging.config.dictConfig`." -msgstr "" - -#: ../NEWS:19414 -msgid "" -":issue:`46422`: Use ``dis.Positions`` in ``dis.Instruction`` instead of a " -"regular ``tuple``." -msgstr "" - -#: ../NEWS:19417 -msgid "" -":issue:`46434`: :mod:`pdb` now gracefully handles ``help`` when " -":attr:`~module.__doc__` is missing, for example when run with pregenerated " -"optimized ``.pyc`` files." -msgstr "" - -#: ../NEWS:19421 -msgid "" -":issue:`43869`: Python uses the same time Epoch on all platforms. Add an " -"explicit unit test to ensure that it's the case. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19424 -msgid "" -":issue:`46414`: Add :func:`typing.reveal_type`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:19426 -msgid "" -":issue:`40280`: :mod:`subprocess` now imports Windows-specific imports when " -"``msvcrt`` module is available, and POSIX-specific imports on all other " -"platforms. This gives a clean exception when ``_posixsubprocess`` is not " -"available (e.g. Emscripten browser target)." -msgstr "" - -#: ../NEWS:19431 -msgid "" -":issue:`40066`: ``IntEnum``, ``IntFlag``, and ``StrEnum`` use the mixed-in " -"type for their ``str()`` and ``format()`` output." -msgstr "" - -#: ../NEWS:19434 -msgid "" -":issue:`46316`: Optimize :meth:`pathlib.Path.iterdir` by removing an " -"unnecessary check for special entries." -msgstr "" - -#: ../NEWS:19437 -msgid "" -":issue:`29688`: Document :meth:`pathlib.Path.absolute` (which has always " -"existed)." -msgstr "" - -#: ../NEWS:19440 -msgid "" -":issue:`43012`: The pathlib module's obsolete and internal ``_Accessor`` " -"class has been removed to prepare the terrain for upcoming enhancements to " -"the module." -msgstr "" - -#: ../NEWS:19444 -msgid "" -":issue:`46258`: Speed up :func:`math.isqrt` for small positive integers by " -"replacing two division steps with a lookup table." -msgstr "" - -#: ../NEWS:19447 -msgid "" -":issue:`46242`: Improve error message when creating a new :class:`enum.Enum`" -" type subclassing an existing ``Enum`` with ``_member_names_`` using " -":meth:`enum.Enum.__call__`." -msgstr "" - -#: ../NEWS:19451 -msgid "" -":issue:`43118`: Fix a bug in :func:`inspect.signature` that was causing it " -"to fail on some subclasses of classes with a ``__text_signature__`` " -"referencing module globals. Patch by Weipeng Hong." -msgstr "" - -#: ../NEWS:19455 -msgid "" -":issue:`26552`: Fixed case where failing :func:`asyncio.ensure_future` did " -"not close the coroutine. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:19458 -msgid "" -":issue:`21987`: Fix an issue with :meth:`tarfile.TarFile.getmember` getting " -"a directory name with a trailing slash." -msgstr "" - -#: ../NEWS:19461 -msgid "" -":issue:`46124`: Update :mod:`zoneinfo` to rely on importlib.resources " -"traversable API." -msgstr "" - -#: ../NEWS:19464 -msgid "" -":issue:`46103`: Now :func:`inspect.getmembers` only gets :attr:`__bases__` " -"attribute from class type. Patch by Weipeng Hong." -msgstr "" - -#: ../NEWS:19467 -msgid "" -":issue:`46080`: Fix exception in argparse help text generation if a " -":class:`argparse.BooleanOptionalAction` argument's default is " -"``argparse.SUPPRESS`` and it has ``help`` specified. Patch by Felix " -"Fontein." -msgstr "" - -#: ../NEWS:19472 -msgid "" -":issue:`44791`: Fix substitution of :class:`~typing.ParamSpec` in " -":data:`~typing.Concatenate` with different parameter expressions. " -"Substitution with a list of types returns now a tuple of types. Substitution" -" with ``Concatenate`` returns now a ``Concatenate`` with concatenated lists " -"of arguments." -msgstr "" - -#: ../NEWS:19481 -msgid "" -":issue:`46463`: Fixes :file:`escape4chm.py` script used when building the " -"CHM documentation file" -msgstr "" - -#: ../NEWS:19487 -msgid "" -":issue:`43478`: Mocks can no longer be provided as the specs for other " -"Mocks. As a result, an already-mocked object cannot be passed to " -"``mock.Mock()``. This can uncover bugs in tests since these Mock-derived " -"Mocks will always pass certain tests (e.g. isinstance) and builtin assert " -"functions (e.g. assert_called_once_with) will unconditionally pass." -msgstr "" - -#: ../NEWS:19493 -msgid "" -":issue:`46616`: Ensures ``test_importlib.test_windows`` cleans up registry " -"keys after completion." -msgstr "" - -#: ../NEWS:19496 -msgid "" -":issue:`44359`: test_ftplib now silently ignores socket errors to prevent " -"logging unhandled threading exceptions. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19499 -msgid "" -":issue:`46600`: Fix test_gdb.test_pycfunction() for Python built with " -"``clang -Og``. Tolerate inlined functions in the gdb traceback. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:19503 -msgid "" -":issue:`46542`: Fix a Python crash in test_lib2to3 when using Python built " -"in debug mode: limit the recursion limit. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19506 -msgid "" -":issue:`46576`: test_peg_generator now disables compiler optimization when " -"testing compilation of its own C extensions to significantly speed up the " -"testing on non-debug builds of CPython." -msgstr "" - -#: ../NEWS:19510 -msgid "" -":issue:`46542`: Fix ``test_json`` tests checking for :exc:`RecursionError`: " -"modify these tests to use ``support.infinite_recursion()``. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:19514 -msgid "" -":issue:`13886`: Skip test_builtin PTY tests on non-ASCII characters if the " -"readline module is loaded. The readline module changes input() behavior, but" -" test_builtin is not intended to test the readline module. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:19519 -msgid "" -":issue:`40280`: Add :func:`test.support.requires_fork` decorators to mark " -"tests that require a working :func:`os.fork`." -msgstr "" - -#: ../NEWS:19522 -msgid "" -":issue:`40280`: Add :func:`test.support.requires_subprocess` decorator to " -"mark tests which require working :mod:`subprocess` module or ``os.spawn*``. " -"The wasm32-emscripten platform has no support for processes." -msgstr "" - -#: ../NEWS:19526 -msgid ":issue:`46126`: Disable 'descriptions' when running tests internally." -msgstr "" - -#: ../NEWS:19531 -msgid "" -":issue:`46602`: Tidied up configure.ac so that conftest.c is truncated " -"rather than appended. This assists in the case where the 'rm' of conftest.c " -"fails to happen between tests. Downstream issues such as a clobbered SOABI " -"can result." -msgstr "" - -#: ../NEWS:19536 -msgid "" -":issue:`46600`: Fix the test checking if the C compiler supports ``-Og`` " -"option in the ``./configure`` script to also use ``-Og`` on clang which " -"supports it. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19540 -msgid "" -":issue:`38472`: Fix GCC detection in setup.py when cross-compiling. The C " -"compiler is now run with LC_ALL=C. Previously, the detection failed with a " -"German locale." -msgstr "" - -#: ../NEWS:19544 -msgid "" -":issue:`46513`: :program:`configure` no longer uses ``AC_C_CHAR_UNSIGNED`` " -"macro and ``pyconfig.h`` no longer defines reserved symbol " -"``__CHAR_UNSIGNED__``." -msgstr "" - -#: ../NEWS:19548 -msgid "" -":issue:`46471`: Use global singletons for single byte bytes objects in " -"deepfreeze." -msgstr "" - -#: ../NEWS:19551 -msgid "" -":issue:`46443`: Deepfreeze now uses cached small integers as it saves some " -"space for common small integers." -msgstr "" - -#: ../NEWS:19554 -msgid "" -":issue:`46429`: Merge all deep-frozen files into one for space savings. " -"Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:19557 -msgid "" -":issue:`45569`: The build now defaults to using 30-bit digits for Python " -"integers. Previously either 15-bit or 30-bit digits would be selected, " -"depending on the platform. 15-bit digits may still be selected using the " -"``--enable-big-digits=15`` option to the ``configure`` script, or by " -"defining ``PYLONG_BITS_IN_DIGIT`` in ``pyconfig.h``." -msgstr "" - -#: ../NEWS:19563 -msgid ":issue:`45925`: Update Windows installer to use SQLite 3.37.2." -msgstr "" - -#: ../NEWS:19565 -msgid "" -":issue:`43112`: Detect musl libc as a separate SOABI (tagged as ``linux-" -"musl``)." -msgstr "" - -#: ../NEWS:19571 -msgid "" -":issue:`33125`: The traditional EXE/MSI based installer for Windows is now " -"available for ARM64" -msgstr "" - -#: ../NEWS:19574 -msgid "" -":issue:`46362`: os.path.abspath(\"C:\\CON\") is now fixed to return " -"\"\\\\.\\CON\", not the same path. The regression was true of all legacy DOS" -" devices such as COM1, LPT1, or NUL." -msgstr "" - -#: ../NEWS:19578 -msgid "" -":issue:`44934`: The installer now offers a command-line only option to add " -"the installation directory to the end of :envvar:`PATH` instead of at the " -"start." -msgstr "" - -#: ../NEWS:19585 -msgid ":issue:`45925`: Update macOS installer to SQLite 3.37.2." -msgstr "" - -#: ../NEWS:19590 -msgid "" -":issue:`45296`: Clarify close, quit, and exit in IDLE. In the File menu, " -"'Close' and 'Exit' are now 'Close Window' (the current one) and 'Exit' is " -"now 'Exit IDLE' (by closing all windows). In Shell, 'quit()' and 'exit()' " -"mean 'close Shell'. If there are no other windows, this also exits IDLE." -msgstr "" - -#: ../NEWS:19598 -msgid "" -":issue:`40170`: Remove the ``PyHeapType_GET_MEMBERS()`` macro. It was " -"exposed in the public C API by mistake, it must only be used by Python " -"internally. Use the ``PyTypeObject.tp_members`` member instead. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:19603 -msgid "" -":issue:`40170`: Move _Py_GetAllocatedBlocks() and " -"_PyObject_DebugMallocStats() private functions to the internal C API. Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:19606 -msgid "" -":issue:`46433`: The internal function _PyType_GetModuleByDef now correctly " -"handles inheritance patterns involving static types." -msgstr "" - -#: ../NEWS:19609 -msgid "" -":issue:`45459`: :c:type:`Py_buffer` and various ``Py_buffer`` related " -"functions are now part of the limited API and stable ABI." -msgstr "" - -#: ../NEWS:19612 -msgid "" -":issue:`14916`: Fixed bug in the tokenizer that prevented " -"``PyRun_InteractiveOne`` from parsing from the provided FD." -msgstr "" - -#: ../NEWS:19617 -msgid "Python 3.11.0 alpha 4" -msgstr "" - -#: ../NEWS:19619 -msgid "*Release date: 2022-01-13*" -msgstr "" - -#: ../NEWS:19624 -msgid "" -":issue:`46070`: :c:func:`Py_EndInterpreter` now explicitly untracks all " -"objects currently tracked by the GC. Previously, if an object was used later" -" by another interpreter, calling :c:func:`PyObject_GC_UnTrack` on the object" -" crashed if the previous or the next object of the :c:type:`!PyGC_Head` " -"structure became a dangling pointer. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19630 -msgid ":issue:`46347`: Fix memory leak in PyEval_EvalCodeEx." -msgstr "" - -#: ../NEWS:19632 -msgid "" -":issue:`46339`: Fix a crash in the parser when retrieving the error text for" -" multi-line f-strings expressions that do not start in the first line of the" -" string. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:19636 -msgid "" -":issue:`46331`: Do not set line number of instruction storing doc-string. " -"Fixes regression introduced in 3.11 alpha." -msgstr "" - -#: ../NEWS:19639 -msgid "" -":issue:`46314`: Remove spurious \"call\" event when creating a lambda " -"function that was accidentally introduced in 3.11a4." -msgstr "" - -#: ../NEWS:19642 -msgid "" -":issue:`46289`: ASDL declaration of ``FormattedValue`` has changed to " -"reflect ``conversion`` field is not optional." -msgstr "" - -#: ../NEWS:19645 -msgid "" -":issue:`46297`: Fixed an interpreter crash on bootup with multiple " -"PythonPaths set in the Windows registry. Patch by Derzsi Dániel." -msgstr "" - -#: ../NEWS:19648 -msgid "" -":issue:`46237`: Fix the line number of tokenizer errors inside f-strings. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:19651 -msgid "" -":issue:`46263`: We always expect the \"use_frozen_modules\" config to be " -"set, now that getpath.c was rewritten in pure Python and the logic improved." -msgstr "" - -#: ../NEWS:19654 -msgid "" -":issue:`46006`: Fix a regression when a type method like ``__init__()`` is " -"modified in a subinterpreter. Fix a regression in " -"``_PyUnicode_EqualToASCIIId()`` and type ``update_slot()``. Revert the " -"change which made the Unicode dictionary of interned strings compatible with" -" subinterpreters: the internal interned dictionary is shared again by all " -"interpreters. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19661 -msgid "" -":issue:`45923`: Add RESUME opcode. This is a logical no-op. It is emitted by" -" the compiler anywhere a Python function can be entered. It is used by the " -"interpreter to perform tracing and optimizer checks." -msgstr "" - -#: ../NEWS:19665 -msgid "" -":issue:`46208`: Fix the regression of os.path.normpath(\"A/../../B\") not " -"returning expected \"../B\" but \"B\"." -msgstr "" - -#: ../NEWS:19668 -msgid "" -":issue:`46240`: Correct the error message for unclosed parentheses when the " -"tokenizer doesn't reach the end of the source when the error is reported. " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:19672 -msgid ":issue:`46009`: Remove the ``GEN_START`` opcode." -msgstr "" - -#: ../NEWS:19674 -msgid "" -":issue:`46235`: Certain sequence multiplication operations like ``[0] * " -"1_000`` are now faster due to reference-counting optimizations. Patch by " -"Dennis Sweeney." -msgstr "" - -#: ../NEWS:19678 -msgid "" -":issue:`46221`: :opcode:`!PREP_RERAISE_STAR` no longer pushes ``lasti`` to " -"the stack." -msgstr "" - -#: ../NEWS:19681 -msgid "" -":issue:`46202`: Remove :opcode:`!POP_EXCEPT_AND_RERAISE` and replace it by " -"an equivalent sequence of other opcodes." -msgstr "" - -#: ../NEWS:19684 -msgid ":issue:`46085`: Fix iterator cache mechanism of :class:`OrderedDict`." -msgstr "" - -#: ../NEWS:19686 -msgid "" -":issue:`46055`: Speed up shifting operation involving integers less than " -":c:macro:`PyLong_BASE`. Patch by Xinhang Xu." -msgstr "" - -#: ../NEWS:19689 -msgid "" -":issue:`46110`: Add a maximum recursion check to the PEG parser to avoid " -"stack overflow. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:19692 -msgid "" -":issue:`46107`: Fix bug where :meth:`ExceptionGroup.split` and " -":meth:`ExceptionGroup.subgroup` did not copy the exception group's " -"``__note__`` field to the parts." -msgstr "" - -#: ../NEWS:19696 -msgid "" -":issue:`45711`: The interpreter state's representation of handled exceptions" -" (a.k.a exc_info, or _PyErr_StackItem) now has only the ``exc_value`` field," -" ``exc_type`` and ``exc_traceback`` have been removed as their values can be" -" derived from ``exc_value``." -msgstr "" - -#: ../NEWS:19701 -msgid "" -":issue:`44525`: Replace the four call bytecode instructions which one pre-" -"call instruction and two call instructions." -msgstr "" - -#: ../NEWS:19704 -msgid "" -"Removes ``CALL_FUNCTION``, ``CALL_FUNCTION_KW``, ``CALL_METHOD`` and " -"``CALL_METHOD_KW``." -msgstr "" - -#: ../NEWS:19707 -msgid "" -"Adds ``CALL_NO_KW`` and ``CALL_KW`` call instructions, and " -"``PRECALL_METHOD`` prefix for pairing with ``LOAD_METHOD``." -msgstr "" - -#: ../NEWS:19710 -msgid "" -":issue:`46039`: Remove the ``YIELD_FROM`` instruction and replace it with " -"the ``SEND`` instruction which performs the same operation, but without the " -"loop." -msgstr "" - -#: ../NEWS:19714 -msgid "" -":issue:`45635`: The code called from :c:func:`!_PyErr_Display` was " -"refactored to improve error handling. It now exits immediately upon an " -"unrecoverable error." -msgstr "" - -#: ../NEWS:19718 -msgid "" -":issue:`46054`: Fix parser error when parsing non-utf8 characters in source " -"files. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:19721 -msgid "" -":issue:`46042`: Improve the location of the caret in :exc:`SyntaxError` " -"exceptions emitted by the symbol table. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:19724 -msgid "" -":issue:`46049`: Ensure :file:`._pth` files work as intended on platforms " -"other than Windows." -msgstr "" - -#: ../NEWS:19727 -msgid "" -":issue:`46048`: Fixes parsing of :file:`._pth` files on startup so that " -"single-character paths are correctly read." -msgstr "" - -#: ../NEWS:19730 -msgid "" -":issue:`37971`: Fix a bug where the line numbers given in a traceback when a" -" decorator application raised an exception were wrong." -msgstr "" - -#: ../NEWS:19733 -msgid "" -":issue:`46031`: Add :opcode:`POP_JUMP_IF_NOT_NONE` and " -":opcode:`POP_JUMP_IF_NONE` opcodes to speed up conditional jumps." -msgstr "" - -#: ../NEWS:19736 -msgid ":issue:`45654`: Deepfreeze :mod:`runpy`, patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:19738 -msgid "" -":issue:`46025`: Fix a crash in the :mod:`atexit` module involving functions " -"that unregister themselves before raising exceptions. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../NEWS:19742 -msgid "" -":issue:`46000`: Improve compatibility of the :mod:`curses` module with " -"NetBSD curses." -msgstr "" - -#: ../NEWS:19745 -msgid "" -":issue:`44525`: Specialize the CALL_FUNCTION instruction for calls to " -"builtin types with a single argument. Speeds up ``range(x)``, ``list(x)``, " -"and specifically ``type(obj)``." -msgstr "" - -#: ../NEWS:19749 -msgid "" -":issue:`42918`: Fix bug where the built-in :func:`compile` function did not " -"always raise a :exc:`SyntaxError` when passed multiple statements in " -"'single' mode. Patch by Weipeng Hong." -msgstr "" - -#: ../NEWS:19753 -msgid "" -":issue:`45953`: The main interpreter in _PyRuntimeState.interpreters is now " -"statically allocated (as part of _PyRuntime). Likewise for the initial " -"thread state of each interpreter. This means less allocation during runtime" -" init, as well as better memory locality for these key state objects." -msgstr "" - -#: ../NEWS:19759 -msgid "" -":issue:`45292`: Complete the :pep:`654` implementation: add ``except*``." -msgstr "" - -#: ../NEWS:19761 -msgid "" -":issue:`43413`: Revert changes in ``set.__init__``. Subclass of :class:`set`" -" needs to define a ``__init__()`` method if it defines a ``__new__()`` " -"method with additional keyword parameters." -msgstr "" - -#: ../NEWS:19765 -msgid "" -":issue:`43931`: Added the :c:data:`Py_Version` constant which bears the same" -" value as :c:macro:`PY_VERSION_HEX`. Patch by Gabriele N. Tornetta." -msgstr "" - -#: ../NEWS:19771 -msgid "" -":issue:`46342`: The ``@typing.final`` decorator now sets the ``__final__`` " -"attribute on the decorated object to allow runtime introspection. Patch by " -"Jelle Zijlstra." -msgstr "" - -#: ../NEWS:19775 -msgid "" -":issue:`46328`: Added the :meth:`sys.exception` method which returns the " -"active exception instance." -msgstr "" - -#: ../NEWS:19778 -msgid "" -":issue:`46307`: Add :meth:`string.Template.is_valid` and " -":meth:`string.Template.get_identifiers` methods." -msgstr "" - -#: ../NEWS:19781 -msgid "" -":issue:`46306`: Assume that :class:`types.CodeType` always has " -":attr:`types.CodeType.co_firstlineno` in :mod:`doctest`." -msgstr "" - -#: ../NEWS:19784 -msgid "" -":issue:`40479`: Fix :mod:`hashlib` *usedforsecurity* option to work " -"correctly with OpenSSL 3.0.0 in FIPS mode." -msgstr "" - -#: ../NEWS:19787 -msgid "" -":issue:`46070`: Fix possible segfault when importing the :mod:`asyncio` " -"module from different sub-interpreters in parallel. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../NEWS:19790 -msgid "" -":issue:`46244`: Removed ``__slots__`` from :class:`typing.ParamSpec` and " -":class:`typing.TypeVar`. They served no purpose. Patch by Arie Bovenberg." -msgstr "" - -#: ../NEWS:19793 -msgid "" -":issue:`46278`: Reflect ``context`` argument in " -"``AbstractEventLoop.call_*()`` methods. Loop implementations already support" -" it." -msgstr "" - -#: ../NEWS:19796 -msgid "" -":issue:`46269`: Remove special-casing of ``__new__`` in " -":meth:`enum.Enum.__dir__`." -msgstr "" - -#: ../NEWS:19799 -msgid ":issue:`46266`: Improve day constants in :mod:`calendar`." -msgstr "" - -#: ../NEWS:19801 -msgid "" -"Now all constants (``MONDAY`` ... ``SUNDAY``) are documented, tested, and " -"added to ``__all__``." -msgstr "" - -#: ../NEWS:19804 -msgid "" -":issue:`46257`: Optimized the mean, variance, and stdev functions in the " -"statistics module. If the input is an iterator, it is consumed in a single " -"pass rather than eating memory by conversion to a list. The single pass " -"algorithm is about twice as fast as the previous two pass code." -msgstr "" - -#: ../NEWS:19809 -msgid "" -":issue:`41011`: Added two new variables to *pyvenv.cfg* which is generated " -"by :mod:`venv` module: *executable* for the executable and *command* for the" -" command line used to create the environment." -msgstr "" - -#: ../NEWS:19813 -msgid "" -":issue:`46239`: Improve error message when importing " -":mod:`asyncio.windows_events` on non-Windows." -msgstr "" - -#: ../NEWS:19816 -msgid "" -":issue:`46238`: Reuse ``_winapi`` constants in ``asyncio.windows_events``." -msgstr "" - -#: ../NEWS:19818 -msgid "" -":issue:`46222`: Adding ``SF_NOCACHE`` sendfile constant for FreeBSD for the " -"posixmodule." -msgstr "" - -#: ../NEWS:19821 -msgid "" -":issue:`37295`: Add fast path for ``0 <= k <= n <= 67`` for " -":func:`math.comb`." -msgstr "" - -#: ../NEWS:19823 -msgid ":issue:`46176`: Adding the ``MAP_STACK`` constant for the mmap module." -msgstr "" - -#: ../NEWS:19825 -msgid "" -":issue:`43424`: Deprecate :attr:`webbrowser.MacOSXOSAScript._name` and use " -"``name`` instead." -msgstr "" - -#: ../NEWS:19828 -msgid "" -":issue:`45321`: Added missing error codes to module " -"``xml.parsers.expat.errors``." -msgstr "" - -#: ../NEWS:19831 -msgid "" -":issue:`46125`: Refactor tests to test traversable API directly. Includes " -"changes from importlib 5.4.0." -msgstr "" - -#: ../NEWS:19834 -msgid "" -":issue:`46118`: Moved importlib.resources and its related functionality to a" -" package." -msgstr "" - -#: ../NEWS:19837 -msgid "" -":issue:`37578`: Add *include_hidden* parameter to :func:`~glob.glob` and " -":func:`~glob.iglob` to match hidden files and directories when using special" -" characters like ``*``, ``**``, ``?`` and ``[]``." -msgstr "" - -#: ../NEWS:19841 -msgid "" -":issue:`20369`: :func:`concurrent.futures.wait` no longer blocks forever " -"when given duplicate Futures. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:19844 -msgid "" -":issue:`46105`: Honor spec when generating requirement specs with urls and " -"extras (importlib_metadata 4.8.3)." -msgstr "" - -#: ../NEWS:19847 -msgid "" -":issue:`44893`: EntryPoint objects are no longer tuples. Recommended means " -"to access is by attribute ('.name', '.group') or accessor ('.load()'). " -"Access by index is deprecated and will raise deprecation warning." -msgstr "" - -#: ../NEWS:19851 -msgid "" -":issue:`22815`: Print unexpected successes together with failures and errors" -" in summary in :class:`unittest.TextTestResult`." -msgstr "" - -#: ../NEWS:19854 -msgid "" -":issue:`22047`: Calling :meth:`add_argument_group` on an argument group is " -"deprecated. Calling :meth:`add_argument_group` or " -":meth:`add_mutually_exclusive_group` on a mutually exclusive group is " -"deprecated." -msgstr "" - -#: ../NEWS:19859 -msgid "" -"These features were never supported and do not always work correctly. The " -"functions exist on the API by accident through inheritance and will be " -"removed in the future." -msgstr "" - -#: ../NEWS:19863 -msgid "" -":issue:`26952`: :mod:`argparse` raises :exc:`ValueError` with clear message " -"when trying to render usage for an empty mutually exclusive group. " -"Previously it raised a cryptic :exc:`IndexError`." -msgstr "" - -#: ../NEWS:19867 -msgid "" -":issue:`45615`: Functions in the :mod:`traceback` module raise " -":exc:`TypeError` rather than :exc:`AttributeError` when an exception " -"argument is not of type :exc:`BaseException`." -msgstr "" - -#: ../NEWS:19871 -msgid ":issue:`16594`: Add allow allow_reuse_port flag in socketserver." -msgstr "" - -#: ../NEWS:19873 -msgid "" -":issue:`27718`: Fix help for the :mod:`signal` module. Some functions (e.g. " -"``signal()`` and ``getsignal()``) were omitted." -msgstr "" - -#: ../NEWS:19876 -msgid "" -":issue:`46032`: The ``registry()`` method of " -":func:`functools.singledispatch` functions checks now the first argument or " -"the first parameter annotation and raises a TypeError if it is not " -"supported. Previously unsupported \"types\" were ignored (e.g. " -"``typing.List[int]``) or caused an error at calling time (e.g. " -"``list[int]``)." -msgstr "" - -#: ../NEWS:19882 -msgid "" -":issue:`46014`: Add ability to use ``typing.Union`` and ``types.UnionType`` " -"as dispatch argument to ``functools.singledispatch``. Patch provided by " -"Yurii Karabas." -msgstr "" - -#: ../NEWS:19886 -msgid "" -":issue:`27062`: Add :attr:`__all__` to :mod:`inspect`, patch by Kumar " -"Aditya." -msgstr "" - -#: ../NEWS:19888 -msgid "" -":issue:`46018`: Ensure that :func:`math.expm1` does not raise on underflow." -msgstr "" - -#: ../NEWS:19890 -msgid "" -":issue:`46016`: Adding :const:`!F_DUP2FD` and :const:`!F_DUP2FD_CLOEXEC` " -"constants from FreeBSD into the :mod:`fcntl` module." -msgstr "" - -#: ../NEWS:19893 -msgid "" -":issue:`45755`: :mod:`typing` generic aliases now reveal the class " -"attributes of the original generic class when passed to ``dir()``. This was " -"the behavior up to Python 3.6, but was changed in 3.7-3.9." -msgstr "" - -#: ../NEWS:19897 -msgid "" -":issue:`45874`: The empty query string, consisting of no query arguments, is" -" now handled correctly in ``urllib.parse.parse_qsl``. This caused problems " -"before when strict parsing was enabled." -msgstr "" - -#: ../NEWS:19901 -msgid "" -":issue:`44674`: Change how dataclasses disallows mutable default values. It" -" used to use a list of known types (list, dict, set). Now it disallows " -"unhashable objects to be defaults. It's using unhashability as a proxy for " -"mutability. Patch by Eric V. Smith, idea by Raymond Hettinger." -msgstr "" - -#: ../NEWS:19906 -msgid "" -":issue:`23882`: Remove namespace package (PEP 420) support from unittest " -"discovery. It was introduced in Python 3.4 but has been broken since Python " -"3.7." -msgstr "" - -#: ../NEWS:19910 -msgid "" -":issue:`25066`: Added a :meth:`__repr__` method to " -":class:`multiprocessing.Event` objects, patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:19913 -msgid "" -":issue:`45643`: Added :const:`signal.SIGSTKFLT` on platforms where this " -"signal is defined." -msgstr "" - -#: ../NEWS:19916 -msgid "" -":issue:`44092`: Fetch across rollback no longer raises " -":exc:`~sqlite3.InterfaceError`. Instead we leave it to the SQLite library to" -" handle these cases. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:19920 -msgid "" -":issue:`42413`: Replace ``concurrent.futures.TimeoutError`` and " -"``asyncio.TimeoutError`` with builtin :exc:`TimeoutError`, keep these names " -"as deprecated aliases." -msgstr "" - -#: ../NEWS:19927 -msgid ":issue:`46196`: Document method :meth:`cmd.Cmd.columnize`." -msgstr "" - -#: ../NEWS:19929 -msgid "" -":issue:`46120`: State that ``|`` is preferred for readability over ``Union``" -" in the :mod:`typing` docs." -msgstr "" - -#: ../NEWS:19932 -msgid "" -":issue:`46109`: Extracted ``importlib.resources`` and " -"``importlib.resources.abc`` documentation into separate files." -msgstr "" - -#: ../NEWS:19935 -msgid "" -":issue:`19737`: Update the documentation for the :func:`globals` function." -msgstr "" - -#: ../NEWS:19940 -msgid "" -":issue:`46296`: Add a test case for :mod:`enum` with ``_use_args_ == True`` " -"and ``_member_type_ == object``." -msgstr "" - -#: ../NEWS:19943 -msgid ":issue:`46205`: Fix hang in runtest_mp due to race condition" -msgstr "" - -#: ../NEWS:19945 -msgid "" -":issue:`46263`: Fix test_capi on FreeBSD 14-dev: instruct jemalloc to not " -"fill freed memory with junk byte." -msgstr "" - -#: ../NEWS:19948 -msgid "" -":issue:`46262`: Cover ``ValueError`` path in tests for " -":meth:`enum.Flag._missing_`." -msgstr "" - -#: ../NEWS:19951 -msgid "" -":issue:`46150`: Now ``fakename`` in " -"``test_pathlib.PosixPathTest.test_expanduser`` is checked to be non-" -"existent." -msgstr "" - -#: ../NEWS:19955 -msgid "" -":issue:`46129`: Rewrite ``asyncio.locks`` tests with " -":class:`unittest.IsolatedAsyncioTestCase` usage." -msgstr "" - -#: ../NEWS:19958 -msgid "" -":issue:`23819`: Fixed :mod:`asyncio` tests in python optimized mode. Patch " -"by Kumar Aditya." -msgstr "" - -#: ../NEWS:19961 -msgid "" -":issue:`46114`: Fix test case for OpenSSL 3.0.1 version. OpenSSL 3.0 uses " -"``0xMNN00PP0L``." -msgstr "" - -#: ../NEWS:19967 -msgid "" -":issue:`44133`: When Python is configured with :option:`--without-static-" -"libpython`, the Python static library (libpython.a) is no longer built. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19971 -msgid "" -":issue:`44133`: When Python is built without :option:`--enable-shared`, the " -"``python`` program is now linked to object files, rather than being linked " -"to the Python static library (libpython.a), to make sure that all symbols " -"are exported. Previously, the linker omitted some symbols like the " -":c:func:`Py_FrozenMain` function. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:19977 -msgid "" -":issue:`40280`: The ``configure`` script has a new option ``--with-" -"emscripten-target`` to select browser or node as Emscripten build target." -msgstr "" - -#: ../NEWS:19981 -msgid "" -":issue:`46315`: Added and fixed ``#ifdef HAVE_FEATURE`` checks for " -"functionality that is not available on WASI platform." -msgstr "" - -#: ../NEWS:19984 -msgid "" -":issue:`45723`: Fixed a regression in ``configure`` check for " -":func:`select.epoll`." -msgstr "" - -#: ../NEWS:19987 -msgid "" -":issue:`46263`: ``configure`` no longer sets ``MULTIARCH`` on FreeBSD " -"platforms." -msgstr "" - -#: ../NEWS:19990 -msgid "" -":issue:`46106`: Updated OpenSSL to 1.1.1m in Windows builds, macOS installer" -" builds, and CI. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:19993 -msgid "" -":issue:`46088`: Automatically detect or install bootstrap Python runtime " -"when building from Visual Studio." -msgstr "" - -#: ../NEWS:19996 -msgid "" -":issue:`46072`: Add a --with-pystats configure option to turn on internal " -"statistics gathering." -msgstr "" - -#: ../NEWS:19999 -msgid "" -":issue:`40280`: A new directory ``Tools/wasm`` contains WebAssembly-related " -"helpers like ``config.site`` override for wasm32-emscripten, wasm assets " -"generator to bundle the stdlib, and a README." -msgstr "" - -#: ../NEWS:20003 -msgid "" -":issue:`46023`: :program:`makesetup` no longer builds extensions that have " -"been marked as *disabled*. This allows users to disable modules in " -"``Modules/Setup.local``." -msgstr "" - -#: ../NEWS:20007 -msgid "" -":issue:`45949`: Use pure Python ``freeze_module`` for all but importlib " -"bootstrap files. ``--with-freeze-module`` :program:`configure` option is no " -"longer needed for cross builds." -msgstr "" - -#: ../NEWS:20014 -msgid "" -":issue:`46217`: Removed parameter that is unsupported on Windows 8.1 and " -"early Windows 10 and may have caused build or runtime failures." -msgstr "" - -#: ../NEWS:20020 -msgid "" -":issue:`40477`: The Python Launcher app for macOS now properly launches " -"scripts and, if necessary, the Terminal app when running on recent macOS " -"releases." -msgstr "" - -#: ../NEWS:20026 -msgid "" -":issue:`46236`: Fix a bug in :c:func:`PyFunction_GetAnnotations` that caused" -" it to return a ``tuple`` instead of a ``dict``." -msgstr "" - -#: ../NEWS:20029 -msgid "" -":issue:`46140`: :c:func:`PyBuffer_GetPointer`, " -":c:func:`PyBuffer_FromContiguous`, :c:func:`PyBuffer_ToContiguous` and " -":c:func:`PyMemoryView_FromBuffer` now take buffer info by ``const Py_buffer " -"*`` instead of ``Py_buffer *``, as they do not need mutability. " -":c:func:`PyBuffer_FromContiguous` also now takes the source buffer as " -"``const void *``, and similarly :c:func:`PyBuffer_GetPointer` takes the " -"strides as ``const Py_ssize_t *``." -msgstr "" - -#: ../NEWS:20037 -msgid "" -":issue:`45855`: Document that the *no_block* argument to " -":c:func:`PyCapsule_Import` is a no-op now." -msgstr "" - -#: ../NEWS:20040 -msgid "" -":issue:`45855`: Replaced deprecated usage of " -":c:func:`PyImport_ImportModuleNoBlock` with :c:func:`PyImport_ImportModule` " -"in stdlib modules. Patch by Kumar Aditya." -msgstr "" - -#: ../NEWS:20044 -msgid "" -":issue:`46007`: The :c:func:`!PyUnicode_CHECK_INTERNED` macro has been " -"excluded from the limited C API. It was never usable there, because it used " -"internal structures which are not available in the limited C API. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:20051 -msgid "Python 3.11.0 alpha 3" -msgstr "" - -#: ../NEWS:20053 -msgid "*Release date: 2021-12-08*" -msgstr "" - -#: ../NEWS:20058 -msgid "" -":issue:`46009`: Restore behavior from 3.9 and earlier when sending non-None " -"to newly started generator. In 3.9 this did not affect the state of the " -"generator. In 3.10.0 and 3.10.1 ``gen_func().send(0)`` is equivalent to " -"``gen_func().throw(TypeError(...)`` which exhausts the generator. In 3.10.2 " -"onward, the behavior has been reverted to that of 3.9." -msgstr "" - -#: ../NEWS:20064 -msgid "" -":issue:`46004`: Fix the :exc:`SyntaxError` location for errors involving for" -" loops with invalid targets. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:20067 -msgid "" -":issue:`45711`: :c:func:`!_PyErr_ChainStackItem` no longer normalizes " -"``exc_info`` (including setting the traceback on the exception instance) " -"because ``exc_info`` is always normalized." -msgstr "" - -#: ../NEWS:20071 -msgid "" -":issue:`45607`: The ``__note__`` field was added to :exc:`BaseException`. It" -" is ``None`` by default but can be set to a string which is added to the " -"exception's traceback." -msgstr "" - -#: ../NEWS:20075 -msgid "" -":issue:`45947`: Place pointers to dict and values immediately before GC " -"header. This reduces number of dependent memory loads to access either dict " -"or values from 3 to 1." -msgstr "" - -#: ../NEWS:20079 -msgid "" -":issue:`45915`: ``is_valid_fd`` now uses faster ``fcntl(fd, F_GETFD)`` on " -"Linux, macOS, and Windows." -msgstr "" - -#: ../NEWS:20082 -msgid "" -":issue:`44530`: Reverts a change to the ``code.__new__`` :ref:`audit event " -"` from an earlier prerelease." -msgstr "" - -#: ../NEWS:20085 -msgid "" -":issue:`42268`: Fail the configure step if the selected compiler doesn't " -"support memory sanitizer. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:20088 -msgid "" -":issue:`45711`: The three values of ``exc_info`` are now always consistent " -"with each other. In particular, the ``type`` and ``traceback`` fields are " -"now derived from the exception instance. This impacts the return values of " -":func:`sys.exc_info` and :c:func:`PyErr_GetExcInfo()` if the exception " -"instance is modified while the exception is handled, as well as " -":c:func:`PyErr_SetExcInfo()`, which now ignores the ``type`` and " -"``traceback`` arguments provided to it." -msgstr "" - -#: ../NEWS:20096 -msgid "" -":issue:`45727`: Refine the custom syntax error that suggests that a comma " -"may be missing to trigger only when the expressions are detected between " -"parentheses or brackets. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:20100 -msgid "" -":issue:`45885`: Specialized the ``COMPARE_OP`` opcode using the PEP 659 " -"machinery." -msgstr "" - -#: ../NEWS:20103 -msgid "" -":issue:`45786`: Allocate space for the interpreter frame in the frame " -"object, to avoid an additional allocation when the frame object outlives the" -" frame activation." -msgstr "" - -#: ../NEWS:20107 -msgid "" -":issue:`45614`: Fix :mod:`traceback` display for exceptions with invalid " -"module name." -msgstr "" - -#: ../NEWS:20110 -msgid "" -":issue:`45813`: Fix crash when calling coro.cr_frame.clear() after coroutine" -" has been freed." -msgstr "" - -#: ../NEWS:20113 -msgid "" -":issue:`45811`: Improve the tokenizer errors when encountering invisible " -"control characters in the parser. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:20116 -msgid "" -":issue:`45848`: Allow the parser to obtain error lines directly from encoded" -" files. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:20119 -msgid "" -":issue:`45709`: Restore behavior from 3.10 when tracing an exception raised " -"within a with statement." -msgstr "" - -#: ../NEWS:20122 -msgid "" -":issue:`44525`: Adds new :opcode:`COPY_FREE_VARS` opcode, to make copying of" -" free variables from function to frame explicit. Helps optimization of calls" -" to Python function." -msgstr "" - -#: ../NEWS:20126 -msgid "" -":issue:`45829`: Specialize :opcode:`BINARY_SUBSCR` for classes with a " -"``__getitem__`` method implemented in Python" -msgstr "" - -#: ../NEWS:20129 -msgid "" -":issue:`45826`: Fixed a crash when calling ``.with_traceback(None)`` on " -"``NameError``. This occurs internally in " -"``unittest.TestCase.assertRaises()``." -msgstr "" - -#: ../NEWS:20133 -msgid "" -":issue:`45822`: Fixed a bug in the parser that was causing it to not respect" -" :pep:`263` coding cookies when no flags are provided. Patch by Pablo " -"Galindo" -msgstr "" - -#: ../NEWS:20137 -msgid "" -":issue:`45820`: Fix a segfault when the parser fails without reading any " -"input. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:20140 -msgid "" -":issue:`45636`: Simplify the implementation of :opcode:`BINARY_OP` by " -"indexing into an array of function pointers (rather than switching on the " -"oparg)." -msgstr "" - -#: ../NEWS:20143 -msgid "" -":issue:`42540`: Fix crash when :func:`os.fork` is called with an active non-" -"default memory allocator." -msgstr "" - -#: ../NEWS:20146 -msgid "" -":issue:`45738`: Fix computation of error location for invalid continuation " -"characters in the parser. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:20149 -msgid "" -":issue:`45636`: Remove an existing \"fast path\" for old-style string " -"formatting, since it no longer appears to have any measurable impact." -msgstr "" - -#: ../NEWS:20152 -msgid "" -":issue:`45753`: Make recursion checks a bit more efficient by tracking " -"amount of calls left before overflow." -msgstr "" - -#: ../NEWS:20155 -msgid "" -":issue:`45773`: Fix a compiler hang when attempting to optimize certain jump" -" patterns." -msgstr "" - -#: ../NEWS:20158 -msgid "" -":issue:`45764`: The parser now gives a better error message when leaving out" -" the opening parenthesis ``(`` after a ``def``-statement::" -msgstr "" - -#: ../NEWS:20161 -msgid "" -">>> def f:\n" -" File \"\", line 1\n" -" def f:\n" -" ^\n" -"SyntaxError: expected '('" -msgstr "" - -#: ../NEWS:20167 -msgid "" -":issue:`45609`: Specialized the ``STORE_SUBSCR`` opcode using the PEP 659 " -"machinery." -msgstr "" - -#: ../NEWS:20170 -msgid "" -":issue:`45636`: Replace all numeric ``BINARY_*`` and ``INPLACE_*`` " -"instructions with a single :opcode:`BINARY_OP` implementation." -msgstr "" - -#: ../NEWS:20173 -msgid "" -":issue:`45582`: Path calculation (known as ``getpath``) has been " -"reimplemented as a frozen Python module. This should have no visible impact," -" but may affect calculation of all paths referenced in :mod:`sys` and " -":mod:`sysconfig`." -msgstr "" - -#: ../NEWS:20178 -msgid "" -":issue:`45450`: Improve the syntax error message for parenthesized " -"arguments. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:20184 -msgid "" -":issue:`27946`: Fix possible crash when getting an attribute of " -":class:`xml.etree.ElementTree.Element` simultaneously with replacing the " -"``attrib`` dict." -msgstr "" - -#: ../NEWS:20188 -msgid "" -":issue:`45711`: Make :mod:`asyncio` normalize exceptions as soon as they are" -" captured with :c:func:`PyErr_Fetch`, and before they are stored as an " -"exc_info triplet. This brings :mod:`asyncio` in line with the rest of the " -"codebase, where an exc_info triplet is always normalized." -msgstr "" - -#: ../NEWS:20193 -msgid "" -":issue:`23819`: Replaced asserts with exceptions in asyncio, patch by Kumar " -"Aditya." -msgstr "" - -#: ../NEWS:20196 -msgid "" -":issue:`13236`: :class:`unittest.TextTestResult` and " -":class:`unittest.TextTestRunner` flush now the output stream more often." -msgstr "" - -#: ../NEWS:20199 -msgid "" -":issue:`45917`: Added :func:`math.exp2`:, which returns 2 raised to the " -"power of x." -msgstr "" - -#: ../NEWS:20202 -msgid "" -":issue:`37658`: Fix issue when on certain conditions ``asyncio.wait_for()`` " -"may allow a coroutine to complete successfully, but fail to return the " -"result, potentially causing memory leaks or other issues." -msgstr "" - -#: ../NEWS:20206 -msgid "" -":issue:`45876`: Improve the accuracy of stdev() and pstdev() in the " -"statistics module. When the inputs are floats or fractions, the output is a" -" correctly rounded float" -msgstr "" - -#: ../NEWS:20210 -msgid "" -":issue:`44649`: Handle dataclass(slots=True) with a field that has default a" -" default value, but for which init=False." -msgstr "" - -#: ../NEWS:20213 -msgid "" -":issue:`45803`: Added missing kw_only parameter to " -"dataclasses.make_dataclass()." -msgstr "" - -#: ../NEWS:20216 -msgid "" -":issue:`45837`: The :meth:`!turtle.RawTurtle.settiltangle` is deprecated " -"since Python 3.1, it now emits a deprecation warning and will be removed in " -"Python 3.13." -msgstr "" - -#: ../NEWS:20220 -msgid "Use :meth:`turtle.RawTurtle.tiltangle` instead." -msgstr "" - -#: ../NEWS:20222 -msgid "" -":meth:`turtle.RawTurtle.tiltangle` was earlier incorrectly marked as " -"deprecated, its docstring has been corrected." -msgstr "" - -#: ../NEWS:20227 -msgid "" -":issue:`45831`: :mod:`faulthandler` can now write ASCII-only strings (like " -"filenames and function names) with a single write() syscall when dumping a " -"traceback. It reduces the risk of getting an unreadable dump when two " -"threads or two processes dump a traceback to the same file (like stderr) at " -"the same time. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:20233 -msgid "" -":issue:`45828`: :mod:`sqlite` C callbacks now use unraisable exceptions if " -"callback tracebacks are enabled. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:20236 -msgid "" -":issue:`41735`: Fix thread lock in ``zlib.Decompress.flush()`` method before" -" ``PyObject_GetBuffer``." -msgstr "" - -#: ../NEWS:20239 -msgid "" -":issue:`45235`: Reverted an argparse bugfix that caused regression in the " -"handling of default arguments for subparsers. This prevented leaf level " -"arguments from taking precedence over root level arguments." -msgstr "" - -#: ../NEWS:20243 -msgid "" -":issue:`45754`: Fix a regression in Python 3.11a1 and 3.11a2 where " -":mod:`sqlite3` incorrectly would use ``SQLITE_LIMIT_LENGTH`` when checking " -"SQL statement lengths. Now, ``SQLITE_LIMIT_SQL_LENGTH`` is used. Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../NEWS:20248 -msgid "" -":issue:`45766`: Added *proportional* option to " -":meth:`statistics.linear_regression`." -msgstr "" - -#: ../NEWS:20251 -msgid "" -":issue:`45765`: In importlib.metadata, fix distribution discovery for an " -"empty path." -msgstr "" - -#: ../NEWS:20254 -msgid "" -":issue:`45757`: Fix bug where :mod:`dis` produced an incorrect oparg when " -":opcode:`EXTENDED_ARG` is followed by an opcode that does not use its " -"argument." -msgstr "" - -#: ../NEWS:20258 -msgid "" -":issue:`45644`: In-place JSON file formatting using ``python3 -m json.tool " -"infile infile`` now works correctly, previously it left the file empty. " -"Patch by Chris Wesseling." -msgstr "" - -#: ../NEWS:20262 -msgid "" -":issue:`45703`: When a namespace package is imported before another module " -"from the same namespace is created/installed in a different :data:`sys.path`" -" location while the program is running, calling the " -":func:`importlib.invalidate_caches` function will now also guarantee the new" -" module is noticed." -msgstr "" - -#: ../NEWS:20268 -msgid ":issue:`45535`: Improve output of ``dir()`` with Enums." -msgstr "" - -#: ../NEWS:20270 -msgid "" -":issue:`45664`: Fix :func:`types.resolve_bases` and :func:`types.new_class` " -"for :class:`types.GenericAlias` instance as a base." -msgstr "" - -#: ../NEWS:20273 -msgid "" -":issue:`45663`: Fix :func:`dataclasses.is_dataclass` for dataclasses which " -"are subclasses of :class:`types.GenericAlias`." -msgstr "" - -#: ../NEWS:20276 -msgid "" -":issue:`45662`: Fix the repr of :data:`dataclasses.InitVar` with a type " -"alias to the built-in class, e.g. ``InitVar[list[int]]``." -msgstr "" - -#: ../NEWS:20279 -msgid "" -":issue:`43137`: Launch GNOME web browsers via gio tool instead of obsolete " -"gvfs-open" -msgstr "" - -#: ../NEWS:20282 -msgid "" -":issue:`45429`: On Windows, :func:`time.sleep` now uses a waitable timer " -"which supports high-resolution timers. Patch by Donghee Na and Eryk Sun." -msgstr "" - -#: ../NEWS:20285 -msgid ":issue:`37295`: Optimize :func:`math.comb` and :func:`math.perm`." -msgstr "" - -#: ../NEWS:20287 -msgid "" -":issue:`45514`: Deprecated legacy functions in :mod:`importlib.resources`." -msgstr "" - -#: ../NEWS:20289 -msgid "" -":issue:`45507`: Add tests for truncated/missing trailers in gzip.decompress " -"implementation." -msgstr "" - -#: ../NEWS:20292 -msgid "" -":issue:`45359`: Implement :pep:`585` for " -":class:`graphlib.TopologicalSorter`." -msgstr "" - -#: ../NEWS:20294 -msgid "" -":issue:`44733`: Add ``max_tasks_per_child`` to " -":class:`concurrent.futures.ProcessPoolExecutor`. This allows users to " -"specify the maximum number of tasks a single process should execute before " -"the process needs to be restarted." -msgstr "" - -#: ../NEWS:20299 -msgid "" -":issue:`28806`: Improve netrc library. netrc file no longer needs to contain" -" all tokens. And if the login name is anonymous, security check is no longer" -" need." -msgstr "" - -#: ../NEWS:20303 -msgid "" -":issue:`43498`: Avoid a possible *\"RuntimeError: dictionary changed size " -"during iteration\"* when adjusting the process count of " -":class:`ProcessPoolExecutor`." -msgstr "" - -#: ../NEWS:20307 -msgid "" -":issue:`42158`: Add MIME types for N-quads, N-triples, Notation3 and TriG to" -" ``mimetypes``." -msgstr "" - -#: ../NEWS:20310 -msgid "" -":issue:`30533`: Add :func:`inspect.getmembers_static` , it return all " -"members without triggering dynamic lookup via the descriptor protocol. Patch" -" by Weipeng Hong." -msgstr "" - -#: ../NEWS:20317 -msgid "" -":issue:`42238`: ``make -C Doc suspicious`` will be removed soon in favor of " -"``make -C Doc check``, mark it as deprecated." -msgstr "" - -#: ../NEWS:20320 -msgid "" -":issue:`45840`: Improve cross-references in the documentation for the data " -"model." -msgstr "" - -#: ../NEWS:20323 -msgid "" -":issue:`45640`: Properly marked-up grammar tokens in the documentation are " -"now clickable and take you to the definition of a given piece of grammar. " -"Patch by Arthur Milchior." -msgstr "" - -#: ../NEWS:20327 -msgid "" -":issue:`45788`: Link doc for sys.prefix to sysconfig doc on installation " -"paths." -msgstr "" - -#: ../NEWS:20329 -msgid "" -":issue:`45772`: ``socket.socket`` documentation is corrected to a class from" -" a function." -msgstr "" - -#: ../NEWS:20332 -msgid "" -":issue:`45392`: Update the docstring of the :class:`type` built-in to remove" -" a redundant line and to mention keyword arguments for the constructor." -msgstr "" - -#: ../NEWS:20335 -msgid "" -":issue:`45250`: Update the documentation to note that CPython does not " -"consistently require iterators to define ``__iter__``." -msgstr "" - -#: ../NEWS:20338 -msgid "" -":issue:`25381`: In the extending chapter of the extending doc, update a " -"paragraph about the global variables containing exception information." -msgstr "" - -#: ../NEWS:20341 -msgid "" -":issue:`43905`: Expanded :func:`~dataclasses.astuple` and " -":func:`~dataclasses.asdict` docs, warning about deepcopy being applied and " -"providing a workaround." -msgstr "" - -#: ../NEWS:20348 -msgid "" -":issue:`45695`: Out-of-tree builds with a read-only source directory are now" -" tested by CI." -msgstr "" - -#: ../NEWS:20351 -msgid "" -":issue:`19460`: Add new Test for " -"``Lib/email/mime/nonmultipart.py::MIMENonMultipart``." -msgstr "" - -#: ../NEWS:20354 -msgid "" -":issue:`45835`: Fix race condition in test_queue tests with multiple " -"\"feeder\" threads." -msgstr "" - -#: ../NEWS:20357 -msgid "" -":issue:`45783`: The test for the freeze tool now handles file moves and " -"deletions." -msgstr "" - -#: ../NEWS:20360 -msgid "" -":issue:`45745`: Remove the ``--findleaks`` command line option of regrtest: " -"use the ``--fail-env-changed`` option instead. Since Python 3.7, it was a " -"deprecated alias to the ``--fail-env-changed`` option." -msgstr "" - -#: ../NEWS:20364 -msgid "" -":issue:`45701`: Add tests with ``tuple`` type with " -":func:`functools.lru_cache` to ``test_functools``." -msgstr "" - -#: ../NEWS:20370 -msgid "" -":issue:`44035`: CI now verifies that autoconf files have been regenerated " -"with a current and unpatched autoconf package." -msgstr "" - -#: ../NEWS:20373 -msgid "" -":issue:`45950`: The build system now uses a :program:`_bootstrap_python` " -"interpreter for freezing and deepfreezing again. To speed up build process " -"the build tools :program:`_bootstrap_python` and :program:`_freeze_module` " -"are no longer build with LTO." -msgstr "" - -#: ../NEWS:20378 -msgid "" -":issue:`45881`: The :program:`configure` script now accepts ``--with-build-" -"python`` and ``--with-freeze-module`` options to make cross compiling " -"easier." -msgstr "" - -#: ../NEWS:20382 -msgid "" -":issue:`40280`: Emscripten platform now uses ``.wasm`` suffix by default." -msgstr "" - -#: ../NEWS:20384 -msgid "" -":issue:`40280`: Disable unusable core extension modules on WASM/Emscripten " -"targets." -msgstr "" - -#: ../NEWS:20387 -msgid "" -":issue:`40280`: ``configure`` now checks for socket ``shutdown`` function. " -"The check makes it possible to disable ``SYS_shutdown`` with " -"``ac_cv_func_shutdown=no`` in CONFIG_SITE." -msgstr "" - -#: ../NEWS:20391 -msgid "" -":issue:`40280`: ``configure`` now checks for functions ``fork1, getegid, " -"geteuid, getgid, getppid, getuid, opendir, pipe, system, wait, ttyname``." -msgstr "" - -#: ../NEWS:20394 -msgid "" -":issue:`33393`: Update ``config.guess`` to 2021-06-03 and ``config.sub`` to " -"2021-08-14. ``Makefile`` now has an ``update-config`` target to make " -"updating more convenient." -msgstr "" - -#: ../NEWS:20398 -msgid "" -":issue:`45866`: ``make regen-all`` now produces the same output when run " -"from a directory other than the source tree: when building Python out of the" -" source tree. pegen now strips directory of the \"generated by pygen from " -"\" header Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:20403 -msgid "" -":issue:`40280`: ``configure`` now accepts machine ``wasm32`` or ``wasm64`` " -"and OS ``wasi`` or ``emscripten`` for cross building, e.g. ``wasm32-unknown-" -"emscripten``, ``wasm32-wasi``, or ``wasm32-unknown-wasi``." -msgstr "" - -#: ../NEWS:20408 -msgid "" -":issue:`41498`: Python now compiles on platforms without ``sigset_t``. " -"Several functions in :mod:`signal` are not available when ``sigset_t`` is " -"missing." -msgstr "" - -#: ../NEWS:20411 -msgid "Based on patch by Roman Yurchak for pyodide." -msgstr "" - -#: ../NEWS:20413 -msgid "" -":issue:`45881`: ``setup.py`` now uses ``CC`` from environment first to " -"discover multiarch and cross compile paths." -msgstr "" - -#: ../NEWS:20416 -msgid "" -":issue:`45886`: The ``_freeze_module`` program path can now be overridden on" -" the command line, e.g. ``make " -"FREEZE_MODULE=../x86_64/Program/_freeze_module``." -msgstr "" - -#: ../NEWS:20420 -msgid "" -":issue:`45873`: Get rid of the ``_bootstrap_python`` build step. The " -"deepfreeze.py script is now run using ``$(PYTHON_FOR_REGEN)`` which can be " -"Python 3.7 or newer (on Windows, 3.8 or newer)." -msgstr "" - -#: ../NEWS:20424 -msgid "" -":issue:`45847`: Port builtin hashlib extensions to ``PY_STDLIB_MOD`` macro " -"and ``addext()``." -msgstr "" - -#: ../NEWS:20427 -msgid "" -":issue:`45723`: Add ``autoconf`` helpers for saving and restoring " -"environment variables:" -msgstr "" - -#: ../NEWS:20430 -msgid "" -"``SAVE_ENV``: Save ``$CFLAGS``, ``$LDFLAGS``, ``$LIBS``, and ``$CPPFLAGS``." -msgstr "" - -#: ../NEWS:20432 -msgid "" -"``RESTORE_ENV``: Restore ``$CFLAGS``, ``$LDFLAGS``, ``$LIBS``, and " -"``$CPPFLAGS``." -msgstr "" - -#: ../NEWS:20434 -msgid "" -"``WITH_SAVE_ENV([SCRIPT])``: Run ``SCRIPT`` wrapped with ``SAVE_ENV`` and " -"``RESTORE_ENV``." -msgstr "" - -#: ../NEWS:20439 -msgid "" -":issue:`45573`: Mandatory core modules, that are required to bootstrap " -"Python, are now in ``Modules/Setup.bootstrap``." -msgstr "" - -#: ../NEWS:20442 -msgid "" -":issue:`45573`: ``configure`` now creates ``Modules/Setup.stdlib`` with " -"conditionally enabled/disabled extension module lines. The file is not used," -" yet." -msgstr "" - -#: ../NEWS:20446 -msgid "" -":issue:`45573`: ``configure`` now uses a unified format to set state, " -"compiler flags, and linker flags in Makefile. The new macro " -"``PY_STDLIB_MOD`` sets three variables that are consumed by " -"``Modules/Setup`` and ``setup.py``." -msgstr "" - -#: ../NEWS:20450 -msgid "" -":issue:`45816`: Python now supports building with Visual Studio 2022 (MSVC " -"v143, VS Version 17.0). Patch by Jeremiah Vivian." -msgstr "" - -#: ../NEWS:20453 -msgid "" -":issue:`45800`: Settings for :mod:`pyexpat` C extension are now detected by " -"``configure``. The bundled ``expat`` library is built in ``Makefile``." -msgstr "" - -#: ../NEWS:20456 -msgid "" -":issue:`45798`: Settings for :mod:`decimal` internal C extension are now " -"detected by ``configure``. The bundled ``libmpdec`` library is built in " -"``Makefile``." -msgstr "" - -#: ../NEWS:20460 -msgid "" -":issue:`45723`: :program:`configure` has a new option ``--with-pkg-config`` " -"to disable or require pkg-config." -msgstr "" - -#: ../NEWS:20463 -msgid "" -":issue:`45774`: The build dependencies for :mod:`sqlite3` are now detected " -"by ``configure`` and ``pkg-config``. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:20466 -msgid "" -":issue:`45763`: The build dependencies for :mod:`zlib`, :mod:`bz2`, and " -":mod:`lzma` are now detected by ``configure``." -msgstr "" - -#: ../NEWS:20469 -msgid "" -":issue:`45747`: gdbm and dbm build dependencies are now detected by " -"``configure``." -msgstr "" - -#: ../NEWS:20472 -msgid "" -":issue:`45743`: On macOS, the build system no longer passes " -"``search_paths_first`` to the linker. The flag has been the default since " -"Xcode 4 / macOS 10.6." -msgstr "" - -#: ../NEWS:20476 -msgid "" -":issue:`45723`: ``configure.ac`` is now compatible with autoconf 2.71. " -"Deprecated checks ``STDC_HEADERS`` and ``AC_HEADER_TIME`` have been removed." -msgstr "" - -#: ../NEWS:20480 -msgid "" -":issue:`45723`: ``configure`` now prints a warning when pkg-config is " -"missing." -msgstr "" - -#: ../NEWS:20482 -msgid "" -":issue:`45731`: ``configure --enable-loadable-sqlite-extensions`` is now " -"handled by new ``PY_SQLITE_ENABLE_LOAD_EXTENSION`` macro instead of logic in" -" setup.py." -msgstr "" - -#: ../NEWS:20486 -msgid "" -":issue:`45723`: configure.ac now uses custom helper macros and " -"``AC_CACHE_CHECK`` to simplify and speed up configure runs." -msgstr "" - -#: ../NEWS:20489 -msgid "" -":issue:`45696`: Skip the marshal step for frozen modules by generating C " -"code that produces a set of ready-to-use code objects. This speeds up " -"startup time by another 10% or more." -msgstr "" - -#: ../NEWS:20493 -msgid ":issue:`45561`: Run smelly.py tool from $(srcdir)." -msgstr "" - -#: ../NEWS:20498 -msgid "" -":issue:`46105`: Fixed calculation of :data:`sys.path` in a venv on Windows." -msgstr "" - -#: ../NEWS:20500 -msgid "" -":issue:`45901`: When installed through the Microsoft Store and set as the " -"default app for :file:`*.py` files, command line arguments will now be " -"passed to Python when invoking a script without explicitly launching Python " -"(that is, ``script.py args`` rather than ``python script.py args``)." -msgstr "" - -#: ../NEWS:20506 -msgid "" -":issue:`45616`: Fix Python Launcher's ability to distinguish between " -"versions 3.1 and 3.10 when either one is explicitly requested. Previously, " -"3.1 would be used if 3.10 was requested but not installed, and 3.10 would be" -" used if 3.1 was requested but 3.10 was installed." -msgstr "" - -#: ../NEWS:20511 -msgid "" -":issue:`45850`: Implement changes to build with deep-frozen modules on " -"Windows. Note that we now require Python 3.10 as the \"bootstrap\" or " -"\"host\" Python." -msgstr "" - -#: ../NEWS:20514 -msgid ":issue:`45732`: Updates bundled Tcl/Tk to 8.6.12." -msgstr "" - -#: ../NEWS:20516 -msgid "" -":issue:`45720`: Internal reference to :file:`shlwapi.dll` was dropped to " -"help improve startup time. This DLL will no longer be loaded at the start of" -" every Python process." -msgstr "" - -#: ../NEWS:20523 -msgid "" -":issue:`45732`: Update python.org macOS installer to use Tcl/Tk 8.6.12." -msgstr "" - -#: ../NEWS:20528 -msgid "" -":issue:`39026`: Fix Python.h to build C extensions with Xcode: remove a " -"relative include from ``Include/cpython/pystate.h``." -msgstr "" - -#: ../NEWS:20533 -msgid "Python 3.11.0 alpha 2" -msgstr "" - -#: ../NEWS:20535 -msgid "*Release date: 2021-11-05*" -msgstr "" - -#: ../NEWS:20540 -msgid "" -":issue:`45716`: Improve the :exc:`SyntaxError` message when using ``True``, " -"``None`` or ``False`` as keywords in a function call. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../NEWS:20544 -msgid "" -":issue:`45688`: :data:`sys.stdlib_module_names` now contains the macOS-" -"specific module :mod:`!_scproxy`." -msgstr "" - -#: ../NEWS:20547 -msgid "" -":issue:`45379`: Clarify :exc:`ImportError` message when we try to explicitly" -" import a frozen module but frozen modules are disabled." -msgstr "" - -#: ../NEWS:20550 -msgid "" -":issue:`44525`: Specialize simple calls to Python functions (no starargs, " -"keyword dict, or closure)" -msgstr "" - -#: ../NEWS:20553 -msgid "" -":issue:`45530`: Cases of sorting using tuples as keys may now be " -"significantly faster in some cases. Patch by Tim Peters." -msgstr "" - -#: ../NEWS:20556 -msgid "" -"The order of the result may differ from earlier releases if the tuple " -"elements don't define a total ordering (see :ref:`expressions-value-" -"comparisons` for information on total ordering). It's generally true that " -"the result of sorting simply isn't well-defined in the absence of a total " -"ordering on list elements." -msgstr "" - -#: ../NEWS:20562 -msgid "" -":issue:`45526`: In obmalloc, set ADDRESS_BITS to not ignore any bits " -"(ignored 16 before). That is safer in the case that the kernel gives user-" -"space virtual addresses that span a range greater than 48 bits." -msgstr "" - -#: ../NEWS:20566 -msgid "" -":issue:`30570`: Fixed a crash in ``issubclass()`` from infinite recursion " -"when searching pathological ``__bases__`` tuples." -msgstr "" - -#: ../NEWS:20569 -msgid "" -":issue:`45521`: Fix a bug in the obmalloc radix tree code. On 64-bit " -"machines, the bug causes the tree to hold 46-bits of virtual addresses, " -"rather than the intended 48-bits." -msgstr "" - -#: ../NEWS:20573 -msgid "" -":issue:`45494`: Fix parser crash when reporting errors involving invalid " -"continuation characters. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:20576 -msgid "" -":issue:`45445`: Python now fails to initialize if it finds an invalid " -":option:`-X` option in the command line. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:20579 -msgid "" -":issue:`45340`: Object attributes are held in an array instead of a " -"dictionary. An object's dictionary are created lazily, only when needed. " -"Reduces the memory consumption of a typical Python object by about 30%. " -"Patch by Mark Shannon." -msgstr "" - -#: ../NEWS:20584 -msgid "" -":issue:`45408`: Fix a crash in the parser when reporting tokenizer errors " -"that occur at the same time unclosed parentheses are detected. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../NEWS:20588 -msgid "" -":issue:`29410`: Add SipHash13 for string hash algorithm and use it by " -"default." -msgstr "" - -#: ../NEWS:20590 -msgid "" -":issue:`45385`: Fix reference leak from descr_check. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:20592 -msgid "" -":issue:`45367`: Specialized the ``BINARY_MULTIPLY`` opcode to " -"``BINARY_MULTIPLY_INT`` and ``BINARY_MULTIPLY_FLOAT`` using the PEP 659 " -"machinery." -msgstr "" - -#: ../NEWS:20596 -msgid "" -":issue:`21736`: Frozen stdlib modules now have ``__file__`` to the .py file " -"they would otherwise be loaded from, if possible. For packages, " -"``__path__`` now has the correct entry instead of being an empty list, which" -" allows unfrozen submodules to be imported. These are set only if the " -"stdlib directory is known when the runtime is initialized. Note that the " -"file at ``__file__`` is not guaranteed to exist. None of this affects non-" -"stdlib frozen modules nor, for now, frozen modules imported using " -"``PyImport_ImportFrozenModule()``. Also, at the moment ``co_filename`` is " -"not updated for the module." -msgstr "" - -#: ../NEWS:20606 -msgid "" -":issue:`45020`: For frozen stdlib modules, record the original module name " -"as ``module.__spec__.loader_state.origname``. If the value is different " -"than ``module.__spec__.name`` then the module was defined as an alias in " -"Tools/scripts/freeze_modules.py. If it is ``None`` then the module comes " -"from a source file outside the stdlib." -msgstr "" - -#: ../NEWS:20612 -msgid "" -":issue:`45324`: In FrozenImporter.find_spec(), we now preserve the " -"information needed in exec_module() to load the module. This change mostly " -"impacts internal details, rather than changing the importer's behavior." -msgstr "" - -#: ../NEWS:20616 -msgid "" -":issue:`45292`: Implement :pep:`654`. Add :class:`ExceptionGroup` and " -":class:`BaseExceptionGroup`. Update traceback display code." -msgstr "" - -#: ../NEWS:20619 -msgid "" -":issue:`40116`: Change to the implementation of split dictionaries. Classes " -"where the instances differ either in the exact set of attributes, or in the " -"order in which those attributes are set, can still share keys. This should " -"have no observable effect on users of Python or the C-API. Patch by Mark " -"Shannon." -msgstr "" - -#: ../NEWS:20625 -msgid "" -":issue:`44050`: Extensions that indicate they use global state (by setting " -"``m_size`` to -1) can again be used in multiple interpreters. This reverts " -"to behavior of Python 3.8." -msgstr "" - -#: ../NEWS:20629 -msgid "" -":issue:`44525`: Setup initial specialization infrastructure for the " -"``CALL_FUNCTION`` opcode. Implemented initial specializations for C function" -" calls:" -msgstr "" - -#: ../NEWS:20633 -msgid "``CALL_FUNCTION_BUILTIN_O`` for ``METH_O`` flag." -msgstr "" - -#: ../NEWS:20635 -msgid "" -"``CALL_FUNCTION_BUILTIN_FAST`` for ``METH_FASTCALL`` flag without keywords." -msgstr "" - -#: ../NEWS:20637 -msgid "``CALL_FUNCTION_LEN`` for ``len(o)``." -msgstr "" - -#: ../NEWS:20639 -msgid "``CALL_FUNCTION_ISINSTANCE`` for ``isinstance(o, t)``." -msgstr "" - -#: ../NEWS:20641 -msgid "" -":issue:`44511`: Improve the generated bytecode for class and mapping " -"patterns." -msgstr "" - -#: ../NEWS:20643 -msgid "" -":issue:`43706`: Speed up calls to ``enumerate()`` by using the :pep:`590` " -"``vectorcall`` calling convention. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:20649 -msgid "" -":issue:`45679`: Fix caching of multi-value :data:`typing.Literal`. " -"``Literal[True, 2]`` is no longer equal to ``Literal[1, 2]``." -msgstr "" - -#: ../NEWS:20652 -msgid "" -":issue:`42064`: Convert :mod:`sqlite3` to multi-phase initialisation (PEP " -"489). Patches by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:20655 -msgid "" -":issue:`45438`: Fix typing.Signature string representation for generic " -"builtin types." -msgstr "" - -#: ../NEWS:20658 -msgid "" -":issue:`45613`: :mod:`sqlite3` now sets :attr:`sqlite3.threadsafety` based " -"on the default threading mode the underlying SQLite library has been " -"compiled with. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:20662 -msgid ":issue:`45574`: Fix warning about ``print_escape`` being unused." -msgstr "" - -#: ../NEWS:20664 -msgid "" -":issue:`45581`: :meth:`sqlite3.connect` now correctly raises " -":exc:`MemoryError` if the underlying SQLite API signals memory error. Patch " -"by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:20668 -msgid "" -":issue:`45557`: :func:`pprint.pprint` now handles *underscore_numbers* " -"correctly. Previously it was always setting it to ``False``." -msgstr "" - -#: ../NEWS:20671 -msgid "" -":issue:`44019`: Add :func:`operator.call` to ``operator.__all__``. Patch by " -"Kreusada." -msgstr "" - -#: ../NEWS:20674 -msgid "" -":issue:`42174`: :meth:`shutil.get_terminal_size` now falls back to sane " -"values if the column or line count are 0." -msgstr "" - -#: ../NEWS:20677 -msgid "" -":issue:`35673`: Improve the introspectability of the ``__loader__`` " -"attribute for namespace packages. " -":class:`importlib.machinery.NamespaceLoader` is now public, and implements " -"the :class:`importlib.abc.InspectLoader` interface. ``_NamespaceLoader`` is " -"kept for backward compatibility." -msgstr "" - -#: ../NEWS:20682 -msgid "" -":issue:`45515`: Add references to :mod:`zoneinfo` in the :mod:`datetime` " -"documentation, mostly replacing outdated references to ``dateutil.tz``. " -"Change by Paul Ganssle." -msgstr "" - -#: ../NEWS:20686 -msgid "" -":issue:`45475`: Reverted optimization of iterating :class:`gzip.GzipFile`, " -":class:`bz2.BZ2File`, and :class:`lzma.LZMAFile` (see :issue:`43787`) " -"because it caused regression when user iterate them without having reference" -" of them. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:20691 -msgid "" -":issue:`45489`: Update :class:`~typing.ForwardRef` to support ``|`` " -"operator. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:20694 -msgid "" -":issue:`42222`: Removed deprecated support for float arguments in " -"*randrange()*." -msgstr "" - -#: ../NEWS:20697 -msgid "" -":issue:`45428`: Fix a regression in py_compile when reading filenames from " -"standard input." -msgstr "" - -#: ../NEWS:20700 -msgid "" -":issue:`45467`: Fix incremental decoder and stream reader in the \"raw-" -"unicode-escape\" codec. Previously they failed if the escape sequence was " -"split." -msgstr "" - -#: ../NEWS:20704 -msgid "" -":issue:`45461`: Fix incremental decoder and stream reader in the \"unicode-" -"escape\" codec. Previously they failed if the escape sequence was split." -msgstr "" - -#: ../NEWS:20708 -msgid "" -":issue:`45239`: Fixed :func:`email.utils.parsedate_tz` crashing with " -":exc:`UnboundLocalError` on certain invalid input instead of returning " -"``None``. Patch by Ben Hoyt." -msgstr "" - -#: ../NEWS:20712 -msgid "" -":issue:`45417`: Fix quadratic behaviour in the enum module: Creation of enum" -" classes with a lot of entries was quadratic." -msgstr "" - -#: ../NEWS:20715 -msgid "" -":issue:`45249`: Fix the behaviour of :func:`traceback.print_exc` when " -"displaying the caret when the ``end_offset`` in the exception is set to 0. " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:20719 -msgid "" -":issue:`45416`: Fix use of :class:`asyncio.Condition` with explicit " -":class:`asyncio.Lock` objects, which was a regression due to removal of " -"explicit loop arguments. Patch by Joongi Kim." -msgstr "" - -#: ../NEWS:20723 -msgid "" -":issue:`20028`: Empty escapechar/quotechar is not allowed when initializing " -":class:`csv.Dialect`. Patch by Vajrasky Kok and Donghee Na." -msgstr "" - -#: ../NEWS:20726 -msgid "" -":issue:`44904`: Fix bug in the :mod:`doctest` module that caused it to fail " -"if a docstring included an example with a ``classmethod`` ``property``. " -"Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:20730 -msgid "" -":issue:`45406`: Make :func:`inspect.getmodule` catch ``FileNotFoundError`` " -"raised by :func:`inspect.getabsfile`, and return ``None`` to indicate that " -"the module could not be determined." -msgstr "" - -#: ../NEWS:20734 -msgid "" -":issue:`45411`: Add extensions for files containing subtitles - .srt & .vtt " -"- to the mimetypes.py module." -msgstr "" - -#: ../NEWS:20737 -msgid "" -":issue:`10716`: Migrated pydoc to HTML5 (without changing the look of it). " -"Side effect is to update xmlrpc's ``ServerHTMLDoc`` which now uses the CSS " -"too. cgitb now relies less on pydoc (as it can't use the CSS file)." -msgstr "" - -#: ../NEWS:20741 -msgid ":issue:`27580`: Add support of null characters in :mod:`csv`." -msgstr "" - -#: ../NEWS:20743 -msgid "" -":issue:`45262`: Prevent use-after-free in asyncio. Make sure the cached " -"running loop holder gets cleared on dealloc to prevent use-after-free in " -"get_running_loop" -msgstr "" - -#: ../NEWS:20747 -msgid "" -":issue:`45386`: Make :mod:`xmlrpc.client` more robust to C runtimes where " -"the underlying C ``strftime`` function results in a ``ValueError`` when " -"testing for year formatting options." -msgstr "" - -#: ../NEWS:20751 -msgid "" -":issue:`20028`: Improve error message of :class:`csv.Dialect` when " -"initializing. Patch by Vajrasky Kok and Donghee Na." -msgstr "" - -#: ../NEWS:20754 -msgid ":issue:`45343`: Update bundled pip to 21.2.4 and setuptools to 58.1.0" -msgstr "" - -#: ../NEWS:20756 -msgid "" -":issue:`45328`: Fixed :class:`http.client.HTTPConnection` to work properly " -"in OSs that don't support the ``TCP_NODELAY`` socket option." -msgstr "" - -#: ../NEWS:20759 -msgid "" -":issue:`45243`: Add :meth:`~sqlite3.Connection.setlimit` and " -":meth:`~sqlite3.Connection.getlimit` to :class:`sqlite3.Connection` for " -"setting and getting SQLite limits by connection basis. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../NEWS:20764 -msgid ":issue:`45320`: Removed from the :mod:`inspect` module:" -msgstr "" - -#: ../NEWS:20766 -msgid "the ``getargspec`` function, deprecated since Python 3.0;" -msgstr "" - -#: ../NEWS:20767 -msgid "" -"use :func:`inspect.signature` or :func:`inspect.getfullargspec` instead." -msgstr "" - -#: ../NEWS:20769 -msgid "" -"the ``formatargspec`` function, deprecated since Python 3.5; use the " -":func:`inspect.signature` function and :class:`Signature` object directly." -msgstr "" - -#: ../NEWS:20773 -msgid "" -"the undocumented ``Signature.from_builtin`` and ``Signature.from_function`` " -"functions, deprecated since Python 3.5; use the " -":meth:`Signature.from_callable() ` method " -"instead." -msgstr "" - -#: ../NEWS:20780 -msgid "" -":issue:`45192`: Fix the ``tempfile._infer_return_type`` function so that the" -" ``dir`` argument of the :mod:`tempfile` functions accepts an object " -"implementing the ``os.PathLike`` protocol." -msgstr "" - -#: ../NEWS:20784 -msgid "Patch by Kyungmin Lee." -msgstr "" - -#: ../NEWS:20786 -msgid "" -":issue:`45160`: When tracing a tkinter variable used by a ttk OptionMenu, " -"callbacks are no longer made twice." -msgstr "" - -#: ../NEWS:20789 -msgid "" -":issue:`25625`: Added non parallel-safe :func:`~contextlib.chdir` context " -"manager to change the current working directory and then restore it on exit." -" Simple wrapper around :func:`~os.chdir`." -msgstr "" - -#: ../NEWS:20793 -msgid "" -":issue:`24139`: Add support for SQLite extended result codes in " -":exc:`sqlite3.Error`. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:20796 -msgid "" -":issue:`24444`: Fixed an error raised in :mod:`argparse` help display when " -"help for an option is set to 1+ blank spaces or when *choices* arg is an " -"empty container." -msgstr "" - -#: ../NEWS:20800 -msgid "" -":issue:`44547`: Implement ``Fraction.__int__``, so that a " -":class:`fractions.Fraction` instance ``f`` passes an ``isinstance(f, " -"typing.SupportsInt)`` check." -msgstr "" - -#: ../NEWS:20804 -msgid "" -":issue:`40321`: Adds support for HTTP 308 redirects to :mod:`urllib`. See " -":rfc:`7538` for details. Patch by Jochem Schulenklopper." -msgstr "" - -#: ../NEWS:20807 -msgid "" -":issue:`41374`: Ensure that ``socket.TCP_*`` constants are exposed on Cygwin" -" 3.1.6 and greater." -msgstr "" - -#: ../NEWS:20810 -msgid "" -":issue:`35970`: Add help flag to the base64 module's command line interface." -" Patch contributed by Robert Kuska." -msgstr "" - -#: ../NEWS:20816 -msgid "" -":issue:`45726`: Improve documentation for :func:`functools.singledispatch` " -"and :class:`functools.singledispatchmethod`." -msgstr "" - -#: ../NEWS:20819 -msgid "" -":issue:`45680`: Amend the docs on ``GenericAlias`` objects to clarify that " -"non-container classes can also implement ``__class_getitem__``. Patch " -"contributed by Alex Waygood." -msgstr "" - -#: ../NEWS:20823 -msgid "" -":issue:`45618`: Update Sphinx version used to build the documentation to " -"4.2.0. Patch by Maciej Olko." -msgstr "" - -#: ../NEWS:20826 -msgid "" -":issue:`45655`: Add a new \"relevant PEPs\" section to the top of the " -"documentation for the ``typing`` module. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:20829 -msgid "" -":issue:`45604`: Add ``level`` argument to ``multiprocessing.log_to_stderr`` " -"function docs." -msgstr "" - -#: ../NEWS:20832 -msgid "" -":issue:`45516`: Add protocol description to the " -":class:`importlib.abc.TraversableResources` documentation." -msgstr "" - -#: ../NEWS:20835 -msgid "" -":issue:`45464`: Mention in the documentation of :ref:`Built-in Exceptions " -"` that inheriting from multiple exception types in a " -"single subclass is not recommended due to possible memory layout " -"incompatibility." -msgstr "" - -#: ../NEWS:20840 -msgid ":issue:`45449`: Add note about :pep:`585` in :mod:`collections.abc`." -msgstr "" - -#: ../NEWS:20842 -msgid "" -":issue:`45516`: Add protocol description to the " -":class:`importlib.abc.Traversable` documentation." -msgstr "" - -#: ../NEWS:20845 -msgid "" -":issue:`20692`: Add Programming FAQ entry explaining that int literal " -"attribute access requires either a space after or parentheses around the " -"literal." -msgstr "" - -#: ../NEWS:20851 -msgid "" -":issue:`45678`: Add tests for scenarios in which " -":class:`functools.singledispatchmethod` is stacked on top of a method that " -"has already been wrapped by two other decorators. Patch by Alex Waygood." -msgstr "" - -#: ../NEWS:20855 -msgid ":issue:`45578`: Add tests for :func:`dis.distb`" -msgstr "" - -#: ../NEWS:20857 -msgid "" -":issue:`45678`: Add tests to ensure that ``functools.singledispatchmethod`` " -"correctly wraps the attributes of the target function." -msgstr "" - -#: ../NEWS:20860 -msgid "" -":issue:`45668`: PGO tests now pass when Python is built without test " -"extension modules." -msgstr "" - -#: ../NEWS:20863 -msgid "" -":issue:`45577`: Add subtests for all ``pickle`` protocols in " -"``test_zoneinfo``." -msgstr "" - -#: ../NEWS:20865 -msgid "" -":issue:`45566`: Fix ``test_frozen_pickle`` in ``test_dataclasses`` to check " -"all ``pickle`` versions." -msgstr "" - -#: ../NEWS:20868 -msgid "" -":issue:`43592`: :mod:`test.libregrtest` now raises the soft resource limit " -"for the maximum number of file descriptors when the default is too low for " -"our test suite as was often the case on macOS." -msgstr "" - -#: ../NEWS:20872 -msgid "" -":issue:`39679`: Add more test cases for ``@functools.singledispatchmethod`` " -"when combined with ``@classmethod`` or ``@staticmethod``." -msgstr "" - -#: ../NEWS:20875 -msgid "" -":issue:`45410`: When libregrtest spawns a worker process, stderr is now " -"written into stdout to keep messages order. Use a single pipe for stdout and" -" stderr, rather than two pipes. Previously, messages were out of order which" -" made analysis of buildbot logs harder Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:20880 -msgid "" -":issue:`45402`: Fix test_tools.test_sundry() when Python is built out of " -"tree: fix how the freeze_modules.py tool locates the _freeze_module program." -" Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:20884 -msgid "" -":issue:`45403`: Fix test_sys.test_stdlib_dir() when Python is built outside " -"the source tree: compare normalized paths. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:20887 -msgid "" -":issue:`45400`: Fix " -"test_name_error_suggestions_do_not_trigger_for_too_many_locals() of " -"test_exceptions if a directory name contains \"a1\" (like " -"\"Python-3.11.0a1\"): use a stricter regular expression. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:20893 -msgid "" -":issue:`10572`: Rename :mod:`sqlite3` tests from ``test_sqlite`` to " -"``test_sqlite3``, and relocate them to ``Lib/test/test_sqlite3``. Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../NEWS:20900 -msgid "" -":issue:`43158`: ``setup.py`` now uses values from configure script to build " -"the ``_uuid`` extension module. Configure now detects util-linux's " -"``libuuid``, too." -msgstr "" - -#: ../NEWS:20904 -msgid "" -":issue:`45666`: Fix warning of ``swprintf`` and ``%s`` usage in " -"``_testembed.c``" -msgstr "" - -#: ../NEWS:20907 -msgid "" -":issue:`45548`: ``Modules/Setup`` and ``Modules/makesetup`` have been " -"improved. The ``Setup`` file now contains working rules for all extensions. " -"Outdated comments have been removed. Rules defined by ``makesetup`` track " -"dependencies correctly." -msgstr "" - -#: ../NEWS:20912 -msgid "" -":issue:`45548`: The :mod:`math` and :mod:`cmath` implementation now require " -"a C99 compatible ``libm`` and no longer ship with workarounds for missing " -"acosh, asinh, atanh, expm1, and log1p functions." -msgstr "" - -#: ../NEWS:20916 -msgid "" -":issue:`45595`: ``setup.py`` and ``makesetup`` now track build dependencies " -"on all Python header files and module specific header files." -msgstr "" - -#: ../NEWS:20919 -msgid "" -":issue:`45571`: ``Modules/Setup`` now use ``PY_CFLAGS_NODIST`` instead of " -"``PY_CFLAGS`` to compile shared modules." -msgstr "" - -#: ../NEWS:20922 -msgid "" -":issue:`45570`: :mod:`pyexpat` and :mod:`!_elementtree` no longer define " -"obsolete macros ``HAVE_EXPAT_CONFIG_H`` and ``USE_PYEXPAT_CAPI``. " -"``XML_POOR_ENTROPY`` is now defined in ``expat_config.h``." -msgstr "" - -#: ../NEWS:20926 -msgid "" -":issue:`43974`: ``setup.py`` no longer defines ``Py_BUILD_CORE_MODULE``. " -"Instead every module, that uses the internal API, defines the macro." -msgstr "" - -#: ../NEWS:20929 -msgid ":issue:`45548`: Fill in missing entries in Modules/Setup." -msgstr "" - -#: ../NEWS:20931 -msgid "" -":issue:`45532`: Update :data:`sys.version` to use ``main`` as fallback " -"information. Patch by Jeong YunWon." -msgstr "" - -#: ../NEWS:20934 -msgid "" -":issue:`45536`: The ``configure`` script now checks whether OpenSSL headers " -"and libraries provide required APIs. Most common APIs are verified. The " -"check detects outdated or missing OpenSSL. Failures do not stop configure." -msgstr "" - -#: ../NEWS:20938 -msgid "" -":issue:`45221`: Fixed regression in handling of ``LDFLAGS`` and ``CPPFLAGS``" -" options where :meth:`argparse.parse_known_args` could interpret an option " -"as one of the built-in command line argument, for example ``-h`` for help." -msgstr "" - -#: ../NEWS:20942 -msgid "" -":issue:`45440`: Building Python now requires a C99 ```` header file " -"providing the following functions: ``copysign()``, ``hypot()``, " -"``isfinite()``, ``isinf()``, ``isnan()``, ``round()``. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:20947 -msgid "" -":issue:`45405`: Prevent ``internal configure error`` when running " -"``configure`` with recent versions of non-Apple clang. Patch by David " -"Bohman." -msgstr "" - -#: ../NEWS:20950 -msgid ":issue:`45433`: Avoid linking libpython with libcrypt." -msgstr "" - -#: ../NEWS:20955 -msgid "" -":issue:`43652`: Update Tcl/Tk to 8.6.11, actually this time. The previous " -"update incorrectly included 8.6.10." -msgstr "" - -#: ../NEWS:20958 -msgid "" -":issue:`45337`: venv now warns when the created environment may need to be " -"accessed at a different path, due to redirections, links or junctions. It " -"also now correctly installs or upgrades components when the alternate path " -"is required." -msgstr "" - -#: ../NEWS:20963 -msgid "" -":issue:`43851`: Build SQLite ``SQLITE_OMIT_AUTOINIT`` on Windows. Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../NEWS:20969 -msgid "" -":issue:`44828`: Avoid tkinter file dialog failure on macOS 12 Monterey when " -"using the Tk 8.6.11 provided by python.org macOS installers. Patch by Marc " -"Culler of the Tk project." -msgstr "" - -#: ../NEWS:20976 -msgid "" -":issue:`45495`: Add context keywords 'case' and 'match' to completions list." -msgstr "" - -#: ../NEWS:20981 -msgid "" -":issue:`29103`: :c:func:`PyType_FromSpec* ` now " -"copies the class name from the spec to a buffer owned by the class, so the " -"original can be safely deallocated. Patch by Petr Viktorin." -msgstr "" - -#: ../NEWS:20985 -msgid "" -":issue:`45522`: The internal freelists for frame, float, list, dict, async " -"generators, and context objects can now be disabled." -msgstr "" - -#: ../NEWS:20988 -msgid "" -":issue:`35134`: Exclude :c:func:`PyWeakref_GET_OBJECT` from the limited C " -"API. It never worked since the :c:type:`!PyWeakReference` structure is " -"opaque in the limited C API." -msgstr "" - -#: ../NEWS:20992 -msgid "" -":issue:`35081`: Move the ``interpreteridobject.h`` header file from " -"``Include/`` to ``Include/internal/``. It only provides private functions. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:20996 -msgid "" -":issue:`35134`: The non-limited API files ``cellobject.h``, " -"``classobject.h``, ``context.h``, ``funcobject.h``, ``genobject.h`` and " -"``longintrepr.h`` have been moved to the ``Include/cpython`` directory. " -"Moreover, the ``eval.h`` header file was removed. These files must not be " -"included directly, as they are already included in ``Python.h``: " -":ref:`Include Files `. If they have been included directly, " -"consider including ``Python.h`` instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21004 -msgid "" -":issue:`45474`: The following items are no longer available when " -"``Py_LIMITED_API`` is defined:" -msgstr "" - -#: ../NEWS:21007 -msgid ":c:func:`PyMarshal_WriteLongToFile`" -msgstr "" - -#: ../NEWS:21008 -msgid ":c:func:`PyMarshal_WriteObjectToFile`" -msgstr "" - -#: ../NEWS:21009 -msgid ":c:func:`PyMarshal_ReadObjectFromString`" -msgstr "" - -#: ../NEWS:21010 -msgid ":c:func:`PyMarshal_WriteObjectToString`" -msgstr "" - -#: ../NEWS:21011 -msgid "the ``Py_MARSHAL_VERSION`` macro" -msgstr "" - -#: ../NEWS:21013 -msgid "These are not part of the :ref:`limited API `." -msgstr "" - -#: ../NEWS:21017 -msgid "" -":issue:`45434`: Remove the ``pystrhex.h`` header file. It only contains " -"private functions. C extensions should only include the main ```` " -"header file. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21021 -msgid "" -":issue:`45440`: Remove the ``Py_FORCE_DOUBLE()`` macro. It was used by the " -"``Py_IS_INFINITY()`` macro. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21024 -msgid "" -":issue:`45434`: ```` no longer includes the header files " -"````, ````, ```` and ```` when the " -"``Py_LIMITED_API`` macro is set to ``0x030b0000`` (Python 3.11) or higher. C" -" extensions should explicitly include the header files after ``#include " -"``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21030 -msgid "" -":issue:`41123`: Remove ``Py_UNICODE_COPY()`` and ``Py_UNICODE_FILL()`` " -"macros, deprecated since Python 3.3. Use ``PyUnicode_CopyCharacters()`` or " -"``memcpy()`` (``wchar_t*`` string), and ``PyUnicode_Fill()`` functions " -"instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21035 -msgid "" -":issue:`45412`: Remove the following math macros using the ``errno`` " -"variable:" -msgstr "" - -#: ../NEWS:21037 -msgid "``Py_ADJUST_ERANGE1()``" -msgstr "" - -#: ../NEWS:21038 -msgid "``Py_ADJUST_ERANGE2()``" -msgstr "" - -#: ../NEWS:21039 -msgid "``Py_OVERFLOWED()``" -msgstr "" - -#: ../NEWS:21040 -msgid "``Py_SET_ERANGE_IF_OVERFLOW()``" -msgstr "" - -#: ../NEWS:21041 -msgid "``Py_SET_ERRNO_ON_MATH_ERROR()``" -msgstr "" - -#: ../NEWS:21045 -msgid "" -":issue:`45395`: Custom frozen modules (the array set to " -"``PyImport_FrozenModules``) are now treated as additions, rather than " -"replacing all the default frozen modules. Frozen stdlib modules can still be" -" disabled by setting the \"code\" field of the custom array entry to NULL." -msgstr "" - -#: ../NEWS:21050 -msgid "" -":issue:`43760`: Add new :c:func:`PyThreadState_EnterTracing`, and " -":c:func:`PyThreadState_LeaveTracing` functions to the limited C API to " -"suspend and resume tracing and profiling. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21054 -msgid "" -":issue:`44220`: :c:var:`PyStructSequence_UnnamedField` is added to the " -"Stable ABI." -msgstr "" - -#: ../NEWS:21059 -msgid "Python 3.11.0 alpha 1" -msgstr "" - -#: ../NEWS:21061 -msgid "*Release date: 2021-10-05*" -msgstr "" - -#: ../NEWS:21066 -msgid "" -":issue:`42278`: Replaced usage of :func:`tempfile.mktemp` with " -":class:`~tempfile.TemporaryDirectory` to avoid a potential race condition." -msgstr "" - -#: ../NEWS:21069 -msgid "" -":issue:`44600`: Fix incorrect line numbers while tracing some failed " -"patterns in :ref:`match ` statements. Patch by Charles Burkland." -msgstr "" - -#: ../NEWS:21072 -msgid "" -":issue:`41180`: Add auditing events to the :mod:`marshal` module, and stop " -"raising ``code.__init__`` events for every unmarshalled code object. " -"Directly instantiated code objects will continue to raise an event, and " -"audit event handlers should inspect or collect the raw marshal data. This " -"reduces a significant performance overhead when loading from ``.pyc`` files." -msgstr "" - -#: ../NEWS:21079 -msgid "" -":issue:`44394`: Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) " -"to get the fix for the :cve:`2013-0340` \"Billion Laughs\" vulnerability. " -"This copy is most used on Windows and macOS." -msgstr "" - -#: ../NEWS:21083 -msgid "" -":issue:`43124`: Made the internal ``putcmd`` function in :mod:`smtplib` " -"sanitize input for presence of ``\\r`` and ``\\n`` characters to avoid " -"(unlikely) command injection." -msgstr "" - -#: ../NEWS:21087 -msgid "" -":issue:`44022`: :mod:`http.client` now avoids infinitely reading potential " -"HTTP headers after a ``100 Continue`` status response from the server." -msgstr "" - -#: ../NEWS:21093 -msgid "" -":issue:`43760`: The number of hardware branches per instruction dispatch is " -"reduced from two to one by adding a special instruction for tracing. Patch " -"by Mark Shannon." -msgstr "" - -#: ../NEWS:21097 -msgid "" -":issue:`45061`: Add a deallocator to the bool type to detect refcount bugs " -"in C extensions which call Py_DECREF(Py_True) or Py_DECREF(Py_False) by " -"mistake. Detect also refcount bugs when the empty tuple singleton or the " -"Unicode empty string singleton is destroyed by mistake. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:21103 -msgid "" -":issue:`24076`: sum() was further optimised for summing up single digit " -"integers." -msgstr "" - -#: ../NEWS:21106 -msgid ":issue:`45190`: Update Unicode databases to Unicode 14.0.0." -msgstr "" - -#: ../NEWS:21108 -msgid "" -":issue:`45167`: Fix deepcopying of :class:`types.GenericAlias` objects." -msgstr "" - -#: ../NEWS:21110 -msgid "" -":issue:`45155`: :meth:`int.to_bytes` and :meth:`int.from_bytes` now take a " -"default value of ``\"big\"`` for the ``byteorder`` argument. " -":meth:`int.to_bytes` also takes a default value of ``1`` for the ``length`` " -"argument." -msgstr "" - -#: ../NEWS:21115 -msgid "" -":issue:`44219`: Release the GIL while performing ``isatty`` system calls on " -"arbitrary file descriptors. In particular, this affects :func:`os.isatty`, " -":func:`os.device_encoding` and :class:`io.TextIOWrapper`. By extension, " -":func:`io.open` in text mode is also affected. This change solves a deadlock" -" in :func:`os.isatty`. Patch by Vincent Michel in :issue:`44219`." -msgstr "" - -#: ../NEWS:21121 -msgid "" -":issue:`44959`: Added fallback to extension modules with '.sl' suffix on HP-" -"UX" -msgstr "" - -#: ../NEWS:21123 -msgid "" -":issue:`45121`: Fix issue where ``Protocol.__init__`` raises " -"``RecursionError`` when it's called directly or via ``super()``. Patch " -"provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:21127 -msgid "" -":issue:`44348`: The deallocator function of the :exc:`BaseException` type " -"now uses the trashcan mechanism to prevent stack overflow. For example, when" -" a :exc:`RecursionError` instance is raised, it can be linked to another " -"RecursionError through the ``__context__`` attribute or the " -"``__traceback__`` attribute, and then a chain of exceptions is created. When" -" the chain is destroyed, nested deallocator function calls can crash with a " -"stack overflow if the chain is too long compared to the available stack " -"memory. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21136 -msgid "" -":issue:`45123`: Fix PyAiter_Check to only check for the __anext__ presence " -"(not for __aiter__). Rename PyAiter_Check to PyAIter_Check, " -"PyObject_GetAiter -> PyObject_GetAIter." -msgstr "" - -#: ../NEWS:21140 -msgid "" -":issue:`1514420`: Interpreter no longer attempts to open files with names in" -" angle brackets (like \"\" or \"\") when formatting an " -"exception." -msgstr "" - -#: ../NEWS:21144 -msgid "" -":issue:`41031`: Match C and Python code formatting of unprintable exceptions" -" and exceptions in the :mod:`__main__` module." -msgstr "" - -#: ../NEWS:21147 -msgid "" -":issue:`37330`: :func:`open`, :func:`io.open`, :func:`codecs.open` and " -":class:`fileinput.FileInput` no longer accept ``'U'`` (\"universal " -"newline\") in the file mode. This flag was deprecated since Python 3.3. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21152 -msgid "" -":issue:`45083`: When the interpreter renders an exception, its name now has " -"a complete qualname. Previously only the class name was concatenated to the " -"module name, which sometimes resulted in an incorrect full name being " -"displayed." -msgstr "" - -#: ../NEWS:21157 -msgid "" -"(This issue impacted only the C code exception rendering, the " -":mod:`traceback` module was using qualname already)." -msgstr "" - -#: ../NEWS:21160 -msgid "" -":issue:`34561`: List sorting now uses the merge-ordering strategy from Munro" -" and Wild's ``powersort()``. Unlike the former strategy, this is provably " -"near-optimal in the entropy of the distribution of run lengths. Most uses of" -" ``list.sort()`` probably won't see a significant time difference, but may " -"see significant improvements in cases where the former strategy was " -"exceptionally poor. However, as these are all fast linear-time " -"approximations to a problem that's inherently at best quadratic-time to " -"solve truly optimally, it's also possible to contrive cases where the former" -" strategy did better." -msgstr "" - -#: ../NEWS:21170 -msgid "" -":issue:`45056`: Compiler now removes trailing unused constants from " -"co_consts." -msgstr "" - -#: ../NEWS:21172 -msgid "" -":issue:`45020`: Add a new command line option, \"-X " -"frozen_modules=[on|off]\" to opt out of (or into) using optional frozen " -"modules. This defaults to \"on\" (or \"off\" if it's running out of the " -"source tree)." -msgstr "" - -#: ../NEWS:21176 -msgid "" -":issue:`45012`: In :mod:`posix`, release GIL during ``stat()``, ``lstat()``," -" and ``fstatat()`` syscalls made by :func:`os.DirEntry.stat`. Patch by " -"Stanisław Skonieczny." -msgstr "" - -#: ../NEWS:21180 -msgid "" -":issue:`45018`: Fixed pickling of range iterators that iterated for over " -"``2**32`` times." -msgstr "" - -#: ../NEWS:21183 -msgid "" -":issue:`45000`: A :exc:`SyntaxError` is now raised when trying to delete " -":const:`__debug__`. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:21186 -msgid "" -":issue:`44963`: Implement ``send()`` and ``throw()`` methods for " -"``anext_awaitable`` objects. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:21189 -msgid "" -":issue:`44962`: Fix a race in WeakKeyDictionary, WeakValueDictionary and " -"WeakSet when two threads attempt to commit the last pending removal. This " -"fixes asyncio.create_task and fixes a data loss in asyncio.run where " -"shutdown_asyncgens is not run" -msgstr "" - -#: ../NEWS:21194 -msgid "" -":issue:`24234`: Implement the :meth:`__bytes__` special method on the " -":class:`bytes` type, so a bytes object ``b`` passes an ``isinstance(b, " -"typing.SupportsBytes)`` check." -msgstr "" - -#: ../NEWS:21198 -msgid "" -":issue:`24234`: Implement the :meth:`__complex__` special method on the " -":class:`complex` type, so a complex number ``z`` passes an ``isinstance(z, " -"typing.SupportsComplex)`` check." -msgstr "" - -#: ../NEWS:21202 -msgid "" -":issue:`44954`: Fixed a corner case bug where the result of " -"``float.fromhex('0x.8p-1074')`` was rounded the wrong way." -msgstr "" - -#: ../NEWS:21205 -msgid "" -":issue:`44947`: Refine the syntax error for trailing commas in import " -"statements. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:21208 -msgid "" -":issue:`44945`: Specialize the BINARY_ADD instruction using the PEP 659 " -"machinery. Adds five new instructions:" -msgstr "" - -#: ../NEWS:21211 -msgid "BINARY_ADD_ADAPTIVE" -msgstr "" - -#: ../NEWS:21212 -msgid "BINARY_ADD_FLOAT" -msgstr "" - -#: ../NEWS:21213 -msgid "BINARY_ADD_INT" -msgstr "" - -#: ../NEWS:21214 -msgid "BINARY_ADD_UNICODE" -msgstr "" - -#: ../NEWS:21215 -msgid "BINARY_ADD_UNICODE_INPLACE_FAST" -msgstr "" - -#: ../NEWS:21217 -msgid "" -":issue:`44929`: Fix some edge cases of ``enum.Flag`` string representation " -"in the REPL. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:21220 -msgid ":issue:`44914`: Class version tags are no longer recycled." -msgstr "" - -#: ../NEWS:21222 -msgid "" -"This means that a version tag serves as a unique identifier for the state of" -" a class. We rely on this for effective specialization of the LOAD_ATTR and " -"other instructions." -msgstr "" - -#: ../NEWS:21226 -msgid "" -":issue:`44698`: Restore behaviour of complex exponentiation with integer-" -"valued exponent of type :class:`float` or :class:`complex`." -msgstr "" - -#: ../NEWS:21229 -msgid "" -":issue:`44895`: A debug variable :envvar:`PYTHONDUMPREFSFILE` is added for " -"creating a dump file which is generated by :option:`--with-trace-refs`. " -"Patch by Donghee Na." -msgstr "" - -#: ../NEWS:21233 -msgid ":issue:`44900`: Add five superinstructions for PEP 659 quickening:" -msgstr "" - -#: ../NEWS:21235 -msgid "LOAD_FAST LOAD_FAST" -msgstr "" - -#: ../NEWS:21236 -msgid "STORE_FAST LOAD_FAST" -msgstr "" - -#: ../NEWS:21237 -msgid "LOAD_FAST LOAD_CONST" -msgstr "" - -#: ../NEWS:21238 -msgid "LOAD_CONST LOAD_FAST" -msgstr "" - -#: ../NEWS:21239 -msgid "STORE_FAST STORE_FAST" -msgstr "" - -#: ../NEWS:21241 -msgid "" -":issue:`44889`: Initial implementation of adaptive specialization of " -"``LOAD_METHOD``. The following specialized forms were added:" -msgstr "" - -#: ../NEWS:21244 -msgid "``LOAD_METHOD_CACHED``" -msgstr "" - -#: ../NEWS:21246 -msgid "``LOAD_METHOD_MODULE``" -msgstr "" - -#: ../NEWS:21248 -msgid "``LOAD_METHOD_CLASS``" -msgstr "" - -#: ../NEWS:21250 -msgid "" -":issue:`44890`: Specialization stats are always collected in debug builds." -msgstr "" - -#: ../NEWS:21252 -msgid "" -":issue:`44885`: Correct the ast locations of f-strings with format specs and" -" repeated expressions. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:21255 -msgid "" -":issue:`44878`: Remove the loop from the bytecode interpreter. All " -"instructions end with a DISPATCH macro, so the loop is now redundant." -msgstr "" - -#: ../NEWS:21258 -msgid "" -":issue:`44878`: Remove switch statement for interpreter loop when using " -"computed gotos. This makes sure that we only have one dispatch table in the " -"interpreter." -msgstr "" - -#: ../NEWS:21262 -msgid "" -":issue:`44874`: Deprecate the old trashcan macros " -"(``Py_TRASHCAN_SAFE_BEGIN``/``Py_TRASHCAN_SAFE_END``). They should be " -"replaced by the new macros ``Py_TRASHCAN_BEGIN`` and ``Py_TRASHCAN_END``." -msgstr "" - -#: ../NEWS:21266 -msgid "" -":issue:`44872`: Use new trashcan macros (Py_TRASHCAN_BEGIN/END) in " -"frameobject.c instead of the old ones (Py_TRASHCAN_SAFE_BEGIN/END)." -msgstr "" - -#: ../NEWS:21269 -msgid "" -":issue:`33930`: Fix segmentation fault with deep recursion when cleaning " -"method objects. Patch by Augusto Goulart and Pablo Galindo." -msgstr "" - -#: ../NEWS:21272 -msgid "" -":issue:`25782`: Fix bug where ``PyErr_SetObject`` hangs when the current " -"exception has a cycle in its context chain." -msgstr "" - -#: ../NEWS:21275 -msgid "" -":issue:`44856`: Fix reference leaks in the error paths of ``update_bases()``" -" and ``__build_class__``. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:21278 -msgid "" -":issue:`44826`: Initial implementation of adaptive specialization of " -"STORE_ATTR" -msgstr "" - -#: ../NEWS:21280 -msgid "Three specialized forms of STORE_ATTR are added:" -msgstr "" - -#: ../NEWS:21282 -msgid "STORE_ATTR_SLOT" -msgstr "" - -#: ../NEWS:21284 -msgid "STORE_ATTR_SPLIT_KEYS" -msgstr "" - -#: ../NEWS:21286 -msgid "STORE_ATTR_WITH_HINT" -msgstr "" - -#: ../NEWS:21288 -msgid "" -":issue:`44838`: Fixed a bug that was causing the parser to raise an " -"incorrect custom :exc:`SyntaxError` for invalid 'if' expressions. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../NEWS:21292 -msgid "" -":issue:`44821`: Create instance dictionaries (__dict__) eagerly, to improve " -"regularity of object layout and assist specialization." -msgstr "" - -#: ../NEWS:21295 -msgid "" -":issue:`44792`: Improve syntax errors for if expressions. Patch by Miguel " -"Brito" -msgstr "" - -#: ../NEWS:21297 -msgid "" -":issue:`34013`: Generalize the invalid legacy statement custom error message" -" (like the one generated when \"print\" is called without parentheses) to " -"include more generic expressions. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:21301 -msgid ":issue:`44732`: Rename ``types.Union`` to ``types.UnionType``." -msgstr "" - -#: ../NEWS:21303 -msgid "" -":issue:`44725`: Expose specialization stats in python via " -":func:`!_opcode.get_specialization_stats`." -msgstr "" - -#: ../NEWS:21306 -msgid "" -":issue:`44717`: Improve AttributeError on circular imports of submodules." -msgstr "" - -#: ../NEWS:21308 -msgid "" -":issue:`44698`: Fix undefined behaviour in complex object exponentiation." -msgstr "" - -#: ../NEWS:21310 -msgid "" -":issue:`44653`: Support :mod:`typing` types in parameter substitution in the" -" union type." -msgstr "" - -#: ../NEWS:21313 -msgid "" -":issue:`44676`: Add ability to serialise ``types.Union`` objects. Patch " -"provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:21316 -msgid "" -":issue:`44633`: Parameter substitution of the union type with wrong types " -"now raises ``TypeError`` instead of returning :data:`NotImplemented`." -msgstr "" - -#: ../NEWS:21319 -msgid "" -":issue:`44661`: Update ``property_descr_set`` to use vectorcall if possible." -" Patch by Donghee Na." -msgstr "" - -#: ../NEWS:21322 -msgid "" -":issue:`44662`: Add ``__module__`` to ``types.Union``. This also fixes " -"``types.Union`` issues with ``typing.Annotated``. Patch provided by Yurii " -"Karabas." -msgstr "" - -#: ../NEWS:21326 -msgid "" -":issue:`44655`: Include the name of the type in unset __slots__ attribute " -"errors. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:21329 -msgid "" -":issue:`44655`: Don't include a missing attribute with the same name as the " -"failing one when offering suggestions for missing attributes. Patch by Pablo" -" Galindo" -msgstr "" - -#: ../NEWS:21333 -msgid "" -":issue:`44646`: Fix the hash of the union type: it no longer depends on the " -"order of arguments." -msgstr "" - -#: ../NEWS:21336 -msgid "" -":issue:`44636`: Collapse union of equal types. E.g. the result of ``int | " -"int`` is now ``int``. Fix comparison of the union type with non-hashable " -"objects. E.g. ``int | str == {}`` no longer raises a TypeError." -msgstr "" - -#: ../NEWS:21340 -msgid "" -":issue:`44611`: On Windows, :func:`os.urandom`: uses BCryptGenRandom API " -"instead of CryptGenRandom API which is deprecated from Microsoft Windows " -"API. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:21344 -msgid "" -":issue:`44635`: Convert ``None`` to ``type(None)`` in the union type " -"constructor." -msgstr "" - -#: ../NEWS:21347 -msgid ":issue:`26280`: Implement adaptive specialization for BINARY_SUBSCR" -msgstr "" - -#: ../NEWS:21349 -msgid "Three specialized forms of BINARY_SUBSCR are added:" -msgstr "" - -#: ../NEWS:21351 -msgid "BINARY_SUBSCR_LIST_INT" -msgstr "" - -#: ../NEWS:21353 -msgid "BINARY_SUBSCR_TUPLE_INT" -msgstr "" - -#: ../NEWS:21355 -msgid "BINARY_SUBSCR_DICT" -msgstr "" - -#: ../NEWS:21357 -msgid "" -":issue:`44589`: Mapping patterns in ``match`` statements with two or more " -"equal literal keys will now raise a :exc:`SyntaxError` at compile-time." -msgstr "" - -#: ../NEWS:21360 -msgid "" -":issue:`44606`: Fix ``__instancecheck__`` and ``__subclasscheck__`` for the " -"union type." -msgstr "" - -#: ../NEWS:21363 -msgid "" -":issue:`42073`: The ``@classmethod`` decorator can now wrap other " -"classmethod-like descriptors." -msgstr "" - -#: ../NEWS:21366 -msgid "" -":issue:`41972`: Tuned the string-searching algorithm of fastsearch.h to have" -" a shorter inner loop for most cases." -msgstr "" - -#: ../NEWS:21369 -msgid "" -":issue:`44590`: All necessary data for executing a Python function (local " -"variables, stack, etc) is now kept in a per-thread stack. Frame objects are " -"lazily allocated on demand. This increases performance by about 7% on the " -"standard benchmark suite. Introspection and debugging are unaffected as " -"frame objects are always available when needed. Patch by Mark Shannon." -msgstr "" - -#: ../NEWS:21375 -msgid "" -":issue:`44584`: The threading debug (:envvar:`!PYTHONTHREADDEBUG` " -"environment variable) is deprecated in Python 3.10 and will be removed in " -"Python 3.12. This feature requires a debug build of Python. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:21379 -msgid "" -":issue:`43895`: An obsolete internal cache of shared object file handles " -"added in 1995 that attempted, but did not guarantee, that a .so would not be" -" dlopen'ed twice to work around flaws in mid-1990s posix-ish operating " -"systems has been removed from dynload_shlib.c." -msgstr "" - -#: ../NEWS:21384 -msgid "" -":issue:`44490`: :mod:`typing` now searches for type parameters in " -"``types.Union`` objects. ``get_type_hints`` will also properly resolve " -"annotations with nested ``types.Union`` objects. Patch provided by Yurii " -"Karabas." -msgstr "" - -#: ../NEWS:21389 -msgid "" -":issue:`43950`: Code objects can now provide the column information for " -"instructions when available. This is levaraged during traceback printing to " -"show the expressions responsible for errors." -msgstr "" - -#: ../NEWS:21393 -msgid "" -"Contributed by Pablo Galindo, Batuhan Taskaya and Ammar Askar as part of " -":pep:`657`." -msgstr "" - -#: ../NEWS:21396 -msgid "" -":issue:`44562`: Remove uses of :c:func:`PyObject_GC_Del` in error path when " -"initializing :class:`types.GenericAlias`." -msgstr "" - -#: ../NEWS:21399 -msgid "" -":issue:`41486`: Fix a memory consumption and copying performance regression " -"in earlier 3.10 beta releases if someone used an output buffer larger than " -"4GiB with zlib.decompress on input data that expands that large." -msgstr "" - -#: ../NEWS:21403 -msgid "" -":issue:`43908`: Heap types with the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` flag" -" can now inherit the :pep:`590` vectorcall protocol. Previously, this was " -"only possible for :ref:`static types `. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../NEWS:21408 -msgid "" -":issue:`44553`: Implement GC methods for ``types.Union`` to break reference " -"cycles and prevent memory leaks." -msgstr "" - -#: ../NEWS:21411 -msgid "" -":issue:`44490`: Add ``__parameters__`` attribute and ``__getitem__`` " -"operator to ``types.Union``. Patch provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:21414 -msgid "" -":issue:`44523`: Remove the pass-through for :func:`hash` of " -":class:`weakref.proxy` objects to prevent unintended consequences when the " -"original referred object dies while the proxy is part of a hashable object. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:21419 -msgid "" -":issue:`44483`: Fix a crash in ``types.Union`` objects when creating a union" -" of an object with bad ``__module__`` field." -msgstr "" - -#: ../NEWS:21422 -msgid "" -":issue:`44486`: Modules will always have a dictionary, even when created by " -"``types.ModuleType.__new__()``" -msgstr "" - -#: ../NEWS:21425 -msgid "" -":issue:`44472`: Fix ltrace functionality when exceptions are raised. Patch " -"by Pablo Galindo" -msgstr "" - -#: ../NEWS:21428 -msgid "" -":issue:`12022`: A :exc:`TypeError` is now raised instead of an " -":exc:`AttributeError` in :keyword:`with` and :keyword:`async with` " -"statements for objects which do not support the :term:`context manager` or " -":term:`asynchronous context manager` protocols correspondingly." -msgstr "" - -#: ../NEWS:21433 -msgid "" -":issue:`44297`: Make sure that the line number is set when entering a " -"comprehension scope. This ensures that backtraces including generator " -"expressions show the correct line number." -msgstr "" - -#: ../NEWS:21437 -msgid "" -":issue:`44456`: Improve the syntax error when mixing positional and keyword " -"patterns. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:21440 -msgid "" -":issue:`44409`: Fix error location information for tokenizer errors raised " -"on initialization of the tokenizer. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:21443 -msgid "" -":issue:`44396`: Fix a possible crash in the tokenizer when raising syntax " -"errors for unclosed strings. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:21446 -msgid "" -":issue:`44376`: Exact integer exponentiation (like ``i**2`` or ``pow(i, " -"2)``) with a small exponent is much faster, due to reducing overhead in such" -" cases." -msgstr "" - -#: ../NEWS:21450 -msgid "" -":issue:`44313`: Directly imported objects and modules (through import and " -"from import statements) don't generate ``LOAD_METHOD``/``CALL_METHOD`` for " -"directly accessed objects on their namespace. They now use the regular " -"``LOAD_ATTR``/``CALL_FUNCTION``." -msgstr "" - -#: ../NEWS:21455 -msgid ":issue:`44338`: Implement adaptive specialization for LOAD_GLOBAL" -msgstr "" - -#: ../NEWS:21457 -msgid "Two specialized forms of LOAD_GLOBAL are added:" -msgstr "" - -#: ../NEWS:21459 -msgid "LOAD_GLOBAL_MODULE" -msgstr "" - -#: ../NEWS:21461 -msgid "LOAD_GLOBAL_BUILTIN" -msgstr "" - -#: ../NEWS:21463 -msgid "" -":issue:`44368`: Improve syntax errors for invalid \"as\" targets. Patch by " -"Pablo Galindo" -msgstr "" - -#: ../NEWS:21466 -msgid "" -":issue:`44349`: Fix an edge case when displaying text from files with " -"encoding in syntax errors. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:21469 -msgid "" -":issue:`44337`: Initial implementation of adaptive specialization of " -"LOAD_ATTR" -msgstr "" - -#: ../NEWS:21471 -msgid "Four specialized forms of LOAD_ATTR are added:" -msgstr "" - -#: ../NEWS:21473 -msgid "LOAD_ATTR_SLOT" -msgstr "" - -#: ../NEWS:21475 -msgid "LOAD_ATTR_SPLIT_KEYS" -msgstr "" - -#: ../NEWS:21477 -msgid "LOAD_ATTR_WITH_HINT" -msgstr "" - -#: ../NEWS:21479 -msgid "LOAD_ATTR_MODULE" -msgstr "" - -#: ../NEWS:21481 -msgid "" -":issue:`44335`: Fix a regression when identifying incorrect characters in " -"syntax errors. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:21484 -msgid "" -":issue:`43693`: Computation of the offsets of cell variables is done in the " -"compiler instead of at runtime. This reduces the overhead of handling cell " -"and free variables, especially in the case where a variable is both an " -"argument and cell variable." -msgstr "" - -#: ../NEWS:21489 -msgid "" -":issue:`44317`: Improve tokenizer error with improved locations. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../NEWS:21492 -msgid "" -":issue:`44304`: Fix a crash in the :mod:`sqlite3` module that happened when " -"the garbage collector clears :class:`sqlite.Statement` objects. Patch by " -"Pablo Galindo" -msgstr "" - -#: ../NEWS:21496 -msgid "" -":issue:`44305`: Improve error message for ``try`` blocks without ``except`` " -"or ``finally`` blocks. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:21499 -msgid "" -":issue:`43413`: Constructors of subclasses of some builtin classes (e.g. " -":class:`tuple`, :class:`list`, :class:`frozenset`) no longer accept " -"arbitrary keyword arguments. [reverted in 3.11a4] Subclass of :class:`set` " -"can now define a ``__new__()`` method with additional keyword parameters " -"without overriding also ``__init__()``." -msgstr "" - -#: ../NEWS:21505 -msgid "" -":issue:`43667`: Improve Unicode support in non-UTF locales on Oracle " -"Solaris. This issue does not affect other Solaris systems." -msgstr "" - -#: ../NEWS:21508 -msgid "" -":issue:`43693`: A new opcode MAKE_CELL has been added that effectively moves" -" some of the work done on function entry into the compiler and into the eval" -" loop. In addition to creating the required cell objects, the new opcode " -"converts relevant arguments (and other locals) to cell variables on function" -" entry." -msgstr "" - -#: ../NEWS:21514 -msgid "" -":issue:`44232`: Fix a regression in :func:`type` when a metaclass raises an " -"exception. The C function :c:func:`type_new` must properly report the " -"exception when a metaclass constructor raises an exception and the winner " -"class is not the metaclass. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21519 -msgid "" -":issue:`44201`: Avoid side effects of checking for specialized syntax errors" -" in the REPL that was causing it to ask for extra tokens after a syntax " -"error had been detected. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:21523 -msgid "" -":issue:`43693`: ``PyCodeObject`` gained ``co_fastlocalnames`` and " -"``co_fastlocalkinds`` as the authoritative source of fast locals info. " -"Marshaled code objects have changed accordingly." -msgstr "" - -#: ../NEWS:21527 -msgid "" -":issue:`44184`: Fix a crash at Python exit when a deallocator function " -"removes the last strong reference to a heap type. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21530 -msgid "" -":issue:`44187`: Implement quickening in the interpreter. This offers no " -"advantages as yet, but is an enabler of future optimizations. See PEP 659 " -"for full explanation." -msgstr "" - -#: ../NEWS:21534 -msgid "" -":issue:`44180`: The parser doesn't report generic syntax errors that happen " -"in a position further away that the one it reached in the first pass. Patch " -"by Pablo Galindo" -msgstr "" - -#: ../NEWS:21538 -msgid "" -":issue:`44168`: Fix error message in the parser involving keyword arguments " -"with invalid expressions. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:21541 -msgid "" -":issue:`44156`: String caches in ``compile.c`` are now subinterpreter " -"compatible." -msgstr "" - -#: ../NEWS:21544 -msgid "" -":issue:`44143`: Fixed a crash in the parser that manifest when raising " -"tokenizer errors when an existing exception was present. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../NEWS:21548 -msgid "" -":issue:`44032`: Move 'fast' locals and other variables from the frame object" -" to a per-thread datastack." -msgstr "" - -#: ../NEWS:21551 -msgid "" -":issue:`44114`: Fix incorrect dictkeys_reversed and dictitems_reversed " -"function signatures in C code, which broke webassembly builds." -msgstr "" - -#: ../NEWS:21554 -msgid ":issue:`44110`: Improve :func:`str.__getitem__` error message" -msgstr "" - -#: ../NEWS:21556 -msgid "" -":issue:`26110`: Add ``CALL_METHOD_KW`` opcode to speed up method calls with " -"keyword arguments. Idea originated from PyPy. A side effect is executing " -"``CALL_METHOD`` is now branchless in the evaluation loop." -msgstr "" - -#: ../NEWS:21560 -msgid "" -":issue:`28307`: Compiler now optimizes simple C-style formatting with " -"literal format containing only format codes %s, %r and %a by converting them" -" to f-string expressions." -msgstr "" - -#: ../NEWS:21564 -msgid "" -":issue:`43149`: Correct the syntax error message regarding multiple " -"exception types to not refer to \"exception groups\". Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:21567 -msgid "" -":issue:`43822`: The parser will prioritize tokenizer errors over custom " -"syntax errors when raising exceptions. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:21570 -msgid ":issue:`40222`: \"Zero cost\" exception handling." -msgstr "" - -#: ../NEWS:21572 -msgid "Uses a lookup table to determine how to handle exceptions." -msgstr "" - -#: ../NEWS:21573 -msgid "" -"Removes SETUP_FINALLY and POP_TOP block instructions, eliminating the " -"runtime overhead of try statements." -msgstr "" - -#: ../NEWS:21574 -msgid "Reduces the size of the frame object by about 60%." -msgstr "" - -#: ../NEWS:21576 -msgid "Patch by Mark Shannon" -msgstr "" - -#: ../NEWS:21578 -msgid "" -":issue:`43918`: Document the signature and ``default`` argument in the " -"docstring of the new ``anext`` builtin." -msgstr "" - -#: ../NEWS:21581 -msgid "" -":issue:`43833`: Emit a deprecation warning if the numeric literal is " -"immediately followed by one of keywords: and, else, for, if, in, is, or. " -"Raise a syntax error with more informative message if it is immediately " -"followed by other keyword or identifier." -msgstr "" - -#: ../NEWS:21586 -msgid "" -":issue:`43879`: Add native_thread_id to PyThreadState. Patch by Gabriele N. " -"Tornetta." -msgstr "" - -#: ../NEWS:21589 -msgid "" -":issue:`43693`: Compute cell offsets relative to locals in compiler. Allows " -"the interpreter to treats locals and cells a single array, which is slightly" -" more efficient. Also make the LOAD_CLOSURE opcode an alias for LOAD_FAST. " -"Preserving LOAD_CLOSURE helps keep bytecode a bit more readable." -msgstr "" - -#: ../NEWS:21594 -msgid "" -":issue:`17792`: More accurate error messages for access of unbound locals or" -" free vars." -msgstr "" - -#: ../NEWS:21597 -msgid ":issue:`28146`: Fix a confusing error message in :func:`str.format`." -msgstr "" - -#: ../NEWS:21599 -msgid "" -":issue:`11105`: When compiling :class:`ast.AST` objects with recursive " -"references through :func:`compile`, the interpreter doesn't crash anymore " -"instead it raises a :exc:`RecursionError`." -msgstr "" - -#: ../NEWS:21603 -msgid "" -":issue:`39091`: Fix crash when using passing a non-exception to a " -"generator's ``throw()`` method. Patch by Noah Oxer" -msgstr "" - -#: ../NEWS:21606 -msgid "" -":issue:`33346`: Asynchronous comprehensions are now allowed inside " -"comprehensions in asynchronous functions. Outer comprehensions implicitly " -"become asynchronous." -msgstr "" - -#: ../NEWS:21613 -msgid "" -":issue:`45371`: Fix clang rpath issue in ``distutils``. The UnixCCompiler " -"now uses correct clang option to add a runtime library directory (rpath) to " -"a shared library." -msgstr "" - -#: ../NEWS:21617 -msgid "" -":issue:`45329`: Fix freed memory access in :class:`pyexpat.xmlparser` when " -"building it with an installed expat library <= 2.2.0." -msgstr "" - -#: ../NEWS:21620 -msgid "" -":issue:`41710`: On Unix, if the ``sem_clockwait()`` function is available in" -" the C library (glibc 2.30 and newer), the :meth:`threading.Lock.acquire` " -"method now uses the monotonic clock (:const:`time.CLOCK_MONOTONIC`) for the " -"timeout, rather than using the system clock (:const:`time.CLOCK_REALTIME`), " -"to not be affected by system clock changes. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21627 -msgid "" -":issue:`1596321`: Fix the :func:`threading._shutdown` function when the " -":mod:`threading` module was imported first from a thread different than the " -"main thread: no longer log an error at Python exit." -msgstr "" - -#: ../NEWS:21631 -msgid "" -":issue:`45274`: Fix a race condition in the :meth:`Thread.join() " -"` method of the :mod:`threading` module. If the " -"function is interrupted by a signal and the signal handler raises an " -"exception, make sure that the thread remains in a consistent state to " -"prevent a deadlock. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21637 -msgid "" -":issue:`21302`: In Unix operating systems, :func:`time.sleep` now uses the " -"``nanosleep()`` function, if ``clock_nanosleep()`` is not available but " -"``nanosleep()`` is available. ``nanosleep()`` allows to sleep with " -"nanosecond precision." -msgstr "" - -#: ../NEWS:21642 -msgid "" -":issue:`21302`: On Windows, :func:`time.sleep` now uses a waitable timer " -"which has a resolution of 100 nanoseconds (10\\ :sup:`-7` seconds). " -"Previously, it had a resolution of 1 millisecond (10\\ :sup:`-3` seconds). " -"Patch by Benjamin Szőke and Victor Stinner." -msgstr "" - -#: ../NEWS:21647 -msgid "" -":issue:`45238`: Fix :meth:`unittest.IsolatedAsyncioTestCase.debug`: it runs " -"now asynchronous methods and callbacks." -msgstr "" - -#: ../NEWS:21650 -msgid "" -":issue:`36674`: :meth:`unittest.TestCase.debug` raises now a " -":class:`unittest.SkipTest` if the class or the test method are decorated " -"with the skipping decorator." -msgstr "" - -#: ../NEWS:21654 -msgid "" -":issue:`45235`: Fix an issue where argparse would not preserve values in a " -"provided namespace when using a subparser with defaults." -msgstr "" - -#: ../NEWS:21657 -msgid "" -":issue:`45183`: Have zipimport.zipimporter.find_spec() not raise an " -"exception when the underlying zip file has been deleted and the internal " -"cache has been reset via invalidate_cache()." -msgstr "" - -#: ../NEWS:21661 -msgid "" -":issue:`45234`: Fixed a regression in :func:`~shutil.copyfile`, " -":func:`~shutil.copy`, :func:`~shutil.copy2` raising :exc:`FileNotFoundError`" -" when source is a directory, which should raise :exc:`IsADirectoryError`" -msgstr "" - -#: ../NEWS:21666 -msgid "" -":issue:`45228`: Fix stack buffer overflow in parsing J1939 network address." -msgstr "" - -#: ../NEWS:21668 -msgid ":issue:`45225`: use map function instead of genexpr in capwords." -msgstr "" - -#: ../NEWS:21670 -msgid "" -":issue:`42135`: Fix typo: ``importlib.find_loader`` is really slated for " -"removal in Python 3.12 not 3.10, like the others in PR 25169." -msgstr "" - -#: ../NEWS:21675 -msgid "" -":issue:`20524`: Improves error messages on ``.format()`` operation for " -"``str``, ``float``, ``int``, and ``complex``. New format now shows the " -"problematic pattern and the object type." -msgstr "" - -#: ../NEWS:21679 -msgid "" -":issue:`45168`: Change :func:`dis.dis` output to omit op arg values that " -"cannot be resolved due to ``co_consts``, ``co_names`` etc not being " -"provided. Previously the oparg itself was repeated in the value field, which" -" is not useful and can be confusing." -msgstr "" - -#: ../NEWS:21684 -msgid "" -":issue:`21302`: In Unix operating systems, :func:`time.sleep` now uses the " -"``clock_nanosleep()`` function, if available, which allows to sleep for an " -"interval specified with nanosecond precision." -msgstr "" - -#: ../NEWS:21688 -msgid "" -":issue:`45173`: Remove from the :mod:`configparser` module: the " -":class:`!SafeConfigParser` class, the :attr:`!filename` property of the " -":class:`~configparser.ParsingError` class, the :meth:`!readfp` method of the" -" :class:`~configparser.ConfigParser` class, deprecated since Python 3.2." -msgstr "" - -#: ../NEWS:21696 -msgid "" -":issue:`44987`: Pure ASCII strings are now normalized in constant time by " -":func:`unicodedata.normalize`. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:21699 -msgid "" -":issue:`35474`: Calling :func:`mimetypes.guess_all_extensions` with " -"``strict=False`` no longer affects the result of the following call with " -"``strict=True``. Also, mutating the returned list no longer affects the " -"global state." -msgstr "" - -#: ../NEWS:21704 -msgid "" -":issue:`45166`: :func:`typing.get_type_hints` now works with " -":data:`~typing.Final` wrapped in :class:`~typing.ForwardRef`." -msgstr "" - -#: ../NEWS:21707 -msgid ":issue:`45162`: Remove many old deprecated :mod:`unittest` features:" -msgstr "" - -#: ../NEWS:21709 -msgid "" -"\"``fail*``\" and \"``assert*``\" aliases of :class:`~unittest.TestCase` " -"methods." -msgstr "" - -#: ../NEWS:21710 -msgid "" -"Broken from start :class:`~unittest.TestCase` method " -"``assertDictContainsSubset()``." -msgstr "" - -#: ../NEWS:21711 -msgid "" -"Ignored :meth:` " -"TestLoader.loadTestsFromModule` parameter *use_load_tests*." -msgstr "" - -#: ../NEWS:21712 -msgid "Old alias ``_TextTestResult`` of :class:`~unittest.TextTestResult`." -msgstr "" - -#: ../NEWS:21714 -msgid "" -":issue:`38371`: Remove the deprecated ``split()`` method of " -":class:`!_tkinter.TkappType`. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:21717 -msgid "" -":issue:`20499`: Improve the speed and accuracy of statistics.pvariance()." -msgstr "" - -#: ../NEWS:21719 -msgid "" -":issue:`45132`: Remove :meth:`~object.__getitem__` methods of " -":class:`xml.dom.pulldom.DOMEventStream`, :class:`wsgiref.util.FileWrapper` " -"and :class:`fileinput.FileInput`, deprecated since Python 3.9." -msgstr "" - -#: ../NEWS:21725 -msgid "" -":issue:`45129`: Due to significant security concerns, the *reuse_address* " -"parameter of :meth:`asyncio.loop.create_datagram_endpoint`, disabled in " -"Python 3.9, is now entirely removed. This is because of the behavior of the " -"socket option ``SO_REUSEADDR`` in UDP." -msgstr "" - -#: ../NEWS:21732 -msgid "" -":issue:`45124`: The ``bdist_msi`` command, deprecated in Python 3.9, is now " -"removed." -msgstr "" - -#: ../NEWS:21735 -msgid "Use ``bdist_wheel`` (wheel packages) instead." -msgstr "" - -#: ../NEWS:21739 -msgid "" -":issue:`30856`: :class:`unittest.TestResult` methods " -":meth:`~unittest.TestResult.addFailure`, " -":meth:`~unittest.TestResult.addError`, :meth:`~unittest.TestResult.addSkip` " -"and :meth:`~unittest.TestResult.addSubTest` are now called immediately after" -" raising an exception in test or finishing a subtest. Previously they were " -"called only after finishing the test clean up." -msgstr "" - -#: ../NEWS:21747 -msgid "" -":issue:`45034`: Changes how error is formatted for ``struct.pack`` with " -"``'H'`` and ``'h'`` modes and too large / small numbers. Now it shows the " -"actual numeric limits, while previously it was showing arithmetic " -"expressions." -msgstr "" - -#: ../NEWS:21751 -msgid "" -":issue:`25894`: :mod:`unittest` now always reports skipped and failed " -"subtests separately: separate characters in default mode and separate lines " -"in verbose mode. Also the test description is now output for errors in test " -"method, class and module cleanups." -msgstr "" - -#: ../NEWS:21756 -msgid "" -":issue:`45081`: Fix issue when dataclasses that inherit from " -"``typing.Protocol`` subclasses have wrong ``__init__``. Patch provided by " -"Yurii Karabas." -msgstr "" - -#: ../NEWS:21760 -msgid "" -":issue:`45085`: The ``binhex`` module, deprecated in Python 3.9, is now " -"removed. The following :mod:`binascii` functions, deprecated in Python 3.9, " -"are now also removed:" -msgstr "" - -#: ../NEWS:21764 -msgid "``a2b_hqx()``, ``b2a_hqx()``;" -msgstr "" - -#: ../NEWS:21765 -msgid "``rlecode_hqx()``, ``rledecode_hqx()``." -msgstr "" - -#: ../NEWS:21767 -msgid "The :func:`binascii.crc_hqx` function remains available." -msgstr "" - -#: ../NEWS:21771 -msgid "" -":issue:`40360`: The :mod:`!lib2to3` package is now deprecated and may not be" -" able to parse Python 3.10 or newer. See the :pep:`617` (New PEG parser for " -"CPython). Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21775 -msgid "" -":issue:`45075`: Rename :meth:`traceback.StackSummary.format_frame` to " -":meth:`traceback.StackSummary.format_frame_summary`. This method was added " -"for 3.11 so it was not released yet." -msgstr "" - -#: ../NEWS:21779 -msgid "Updated code and docs to better distinguish frame and FrameSummary." -msgstr "" - -#: ../NEWS:21781 -msgid "" -":issue:`31299`: Add option to completely drop frames from a traceback by " -"returning ``None`` from a :meth:`~traceback.StackSummary.format_frame` " -"override." -msgstr "" - -#: ../NEWS:21785 -msgid "" -":issue:`41620`: :meth:`~unittest.TestCase.run` now always return a " -":class:`~unittest.TestResult` instance. Previously it returned ``None`` if " -"the test class or method was decorated with a skipping decorator." -msgstr "" - -#: ../NEWS:21789 -msgid "" -":issue:`45021`: Fix a potential deadlock at shutdown of forked children when" -" using :mod:`concurrent.futures` module" -msgstr "" - -#: ../NEWS:21792 -msgid "" -":issue:`43913`: Fix bugs in cleaning up classes and modules in " -":mod:`unittest`:" -msgstr "" - -#: ../NEWS:21794 -msgid "" -"Functions registered with :func:`~unittest.addModuleCleanup` were not called" -" unless the user defines ``tearDownModule()`` in their test module." -msgstr "" - -#: ../NEWS:21795 -msgid "" -"Functions registered with :meth:`~unittest.TestCase.addClassCleanup` were " -"not called if ``tearDownClass`` is set to ``None``." -msgstr "" - -#: ../NEWS:21796 -msgid "" -"Buffering in :class:`~unittest.TestResult` did not work with functions " -"registered with ``addClassCleanup()`` and ``addModuleCleanup()``." -msgstr "" - -#: ../NEWS:21797 -msgid "" -"Errors in functions registered with ``addClassCleanup()`` and " -"``addModuleCleanup()`` were not handled correctly in buffered and debug " -"modes." -msgstr "" - -#: ../NEWS:21798 -msgid "" -"Errors in ``setUpModule()`` and functions registered with " -"``addModuleCleanup()`` were reported in wrong order." -msgstr "" - -#: ../NEWS:21799 -msgid "And several lesser bugs." -msgstr "" - -#: ../NEWS:21801 -msgid "" -":issue:`45030`: Fix integer overflow in pickling and copying the range " -"iterator." -msgstr "" - -#: ../NEWS:21804 -msgid "" -":issue:`45001`: Made email date parsing more robust against malformed input," -" namely a whitespace-only ``Date:`` header. Patch by Wouter Bolsterlee." -msgstr "" - -#: ../NEWS:21807 -msgid "" -":issue:`45010`: Remove support of special method ``__div__`` in " -":mod:`unittest.mock`. It is not used in Python 3." -msgstr "" - -#: ../NEWS:21810 -msgid "" -":issue:`39218`: Improve accuracy of variance calculations by using ``x*x`` " -"instead of ``x**2``." -msgstr "" - -#: ../NEWS:21813 -msgid "" -":issue:`43613`: Improve the speed of :func:`gzip.compress` and " -":func:`gzip.decompress` by compressing and decompressing at once in memory " -"instead of in a streamed fashion." -msgstr "" - -#: ../NEWS:21817 -msgid "" -":issue:`37596`: Ensure that :class:`set` and :class:`frozenset` objects are " -"always :mod:`marshalled ` reproducibly." -msgstr "" - -#: ../NEWS:21820 -msgid "" -":issue:`44019`: A new function ``operator.call`` has been added, such that " -"``operator.call(obj, *args, **kwargs) == obj(*args, **kwargs)``." -msgstr "" - -#: ../NEWS:21823 -msgid "" -":issue:`42255`: :class:`!webbrowser.MacOSX` is deprecated and will be " -"removed in Python 3.13. It is untested and undocumented and also not used by" -" :mod:`webbrowser` itself. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:21827 -msgid "" -":issue:`44955`: Method :meth:`~unittest.TestResult.stopTestRun` is now " -"always called in pair with method :meth:`~unittest.TestResult.startTestRun` " -"for :class:`~unittest.TestResult` objects implicitly created in " -":meth:`~unittest.TestCase.run`. Previously it was not called for test " -"methods and classes decorated with a skipping decorator." -msgstr "" - -#: ../NEWS:21833 -msgid "" -":issue:`39039`: tarfile.open raises :exc:`~tarfile.ReadError` when a zlib " -"error occurs during file extraction." -msgstr "" - -#: ../NEWS:21836 -msgid "" -":issue:`44935`: :mod:`subprocess` on Solaris now also uses " -":func:`os.posix_spawn` for better performance." -msgstr "" - -#: ../NEWS:21839 -msgid "" -":issue:`44911`: :class:`~unittest.IsolatedAsyncioTestCase` will no longer " -"throw an exception while cancelling leaked tasks. Patch by Bar Harel." -msgstr "" - -#: ../NEWS:21842 -msgid "" -":issue:`41322`: Added ``DeprecationWarning`` for tests and async tests that " -"return a value!=None (as this may indicate an improperly written test, for " -"example a test written as a generator function)." -msgstr "" - -#: ../NEWS:21846 -msgid "" -":issue:`44524`: Make exception message more useful when subclass from typing" -" special form alias. Patch provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:21849 -msgid "" -":issue:`38956`: :class:`argparse.BooleanOptionalAction`'s default value is " -"no longer printed twice when used with " -":class:`argparse.ArgumentDefaultsHelpFormatter`." -msgstr "" - -#: ../NEWS:21853 -msgid "" -":issue:`44860`: Fix the ``posix_user`` scheme in :mod:`sysconfig` to not " -"depend on :data:`sys.platlibdir`." -msgstr "" - -#: ../NEWS:21856 -msgid "" -":issue:`44859`: Improve error handling in :mod:`sqlite3` and raise more " -"accurate exceptions." -msgstr "" - -#: ../NEWS:21859 -msgid "" -":exc:`MemoryError` is now raised instead of :exc:`sqlite3.Warning` when " -"memory is not enough for encoding a statement to UTF-8 in " -"``Connection.__call__()`` and ``Cursor.execute()``." -msgstr "" - -#: ../NEWS:21860 -msgid "" -":exc:`UnicodEncodeError` is now raised instead of :exc:`sqlite3.Warning` " -"when the statement contains surrogate characters in " -"``Connection.__call__()`` and ``Cursor.execute()``." -msgstr "" - -#: ../NEWS:21861 -msgid "" -":exc:`TypeError` is now raised instead of :exc:`ValueError` for non-string " -"script argument in ``Cursor.executescript()``." -msgstr "" - -#: ../NEWS:21862 -msgid "" -":exc:`ValueError` is now raised for script containing the null character " -"instead of truncating it in ``Cursor.executescript()``." -msgstr "" - -#: ../NEWS:21863 -msgid "" -"Correctly handle exceptions raised when getting boolean value of the result " -"of the progress handler." -msgstr "" - -#: ../NEWS:21864 -msgid "Add many tests covering different corner cases." -msgstr "" - -#: ../NEWS:21866 -msgid ":issue:`44581`: Upgrade bundled pip to 21.2.3 and setuptools to 57.4.0" -msgstr "" - -#: ../NEWS:21868 -msgid "" -":issue:`44849`: Fix the :func:`os.set_inheritable` function on FreeBSD 14 " -"for file descriptor opened with the :const:`~os.O_PATH` flag: ignore the " -":const:`~errno.EBADF` error on ``ioctl()``, fallback on the ``fcntl()`` " -"implementation. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:21873 -msgid "" -":issue:`44605`: The @functools.total_ordering() decorator now works with " -"metaclasses." -msgstr "" - -#: ../NEWS:21876 -msgid "" -":issue:`44524`: Fixed an issue wherein the ``__name__`` and ``__qualname__``" -" attributes of subscribed specialforms could be ``None``." -msgstr "" - -#: ../NEWS:21879 -msgid "" -":issue:`44839`: :class:`MemoryError` raised in user-defined functions will " -"now produce a ``MemoryError`` in :mod:`sqlite3`. :class:`OverflowError` will" -" now be converted to :class:`~sqlite3.DataError`. Previously " -":class:`~sqlite3.OperationalError` was produced in these cases." -msgstr "" - -#: ../NEWS:21884 -msgid "" -":issue:`44822`: :mod:`sqlite3` user-defined functions and aggregators " -"returning :class:`strings ` with embedded NUL characters are no longer " -"truncated. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:21888 -msgid "" -":issue:`44801`: Ensure that the :class:`~typing.ParamSpec` variable in " -"Callable can only be substituted with a parameters expression (a list of " -"types, an ellipsis, ParamSpec or Concatenate)." -msgstr "" - -#: ../NEWS:21892 -msgid "" -":issue:`44806`: Non-protocol subclasses of :class:`typing.Protocol` ignore " -"now the ``__init__`` method inherited from protocol base classes." -msgstr "" - -#: ../NEWS:21895 -msgid "" -":issue:`27275`: :meth:`collections.OrderedDict.popitem` and " -":meth:`collections.OrderedDict.pop` no longer call ``__getitem__`` and " -"``__delitem__`` methods of the OrderedDict subclasses." -msgstr "" - -#: ../NEWS:21899 -msgid "" -":issue:`44793`: Fix checking the number of arguments when subscribe a " -"generic type with ``ParamSpec`` parameter." -msgstr "" - -#: ../NEWS:21902 -msgid "" -":issue:`44784`: In importlib.metadata tests, override warnings behavior " -"under expected DeprecationWarnings (importlib_metadata 4.6.3)." -msgstr "" - -#: ../NEWS:21905 -msgid "" -":issue:`44667`: The :func:`tokenize.tokenize` doesn't incorrectly generate a" -" ``NEWLINE`` token if the source doesn't end with a new line character but " -"the last line is a comment, as the function is already generating a ``NL`` " -"token. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:21910 -msgid "" -":issue:`44771`: Added ``importlib.simple`` module implementing adapters from" -" a low-level resources reader interface to a ``TraversableResources`` " -"interface. Legacy API (``path``, ``contents``, ...) is now supported " -"entirely by the ``.files()`` API with a compatibility shim supplied for " -"resource loaders without that functionality. Feature parity with " -"``importlib_resources`` 5.2." -msgstr "" - -#: ../NEWS:21917 -msgid "" -":issue:`44752`: :mod:`rcompleter` does not call :func:`getattr` on " -":class:`property` objects to avoid the side-effect of evaluating the " -"corresponding method." -msgstr "" - -#: ../NEWS:21921 -msgid "" -":issue:`44747`: Refactor usage of ``sys._getframe`` in ``typing`` module. " -"Patch provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:21924 -msgid "" -":issue:`42378`: Fixes the issue with log file being overwritten when " -":class:`logging.FileHandler` is used in :mod:`atexit` with *filemode* set to" -" ``'w'``. Note this will cause the message in *atexit* not being logged if " -"the log stream is already closed due to shutdown of logging." -msgstr "" - -#: ../NEWS:21929 -msgid "" -":issue:`44720`: ``weakref.proxy`` objects referencing non-iterators now " -"raise ``TypeError`` rather than dereferencing the null ``tp_iternext`` slot " -"and crashing." -msgstr "" - -#: ../NEWS:21933 -msgid "" -":issue:`44704`: The implementation of ``collections.abc.Set._hash()`` now " -"matches that of ``frozenset.__hash__()``." -msgstr "" - -#: ../NEWS:21936 -msgid "" -":issue:`44666`: Fixed issue in :func:`compileall.compile_file` when " -"``sys.stdout`` is redirected. Patch by Stefan Hölzl." -msgstr "" - -#: ../NEWS:21939 -msgid "" -":issue:`44688`: :meth:`sqlite3.Connection.create_collation` now accepts non-" -"ASCII collation names. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:21942 -msgid "" -":issue:`44690`: Adopt *binacii.a2b_base64*'s strict mode in " -"*base64.b64decode*." -msgstr "" - -#: ../NEWS:21944 -msgid "" -":issue:`42854`: Fixed a bug in the :mod:`!_ssl` module that was throwing " -":exc:`OverflowError` when using :meth:`!_ssl._SSLSocket.write` and " -":meth:`!_ssl._SSLSocket.read` for a big value of the ``len`` parameter. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:21949 -msgid "" -":issue:`44686`: Replace ``unittest.mock._importer`` with " -"``pkgutil.resolve_name``." -msgstr "" - -#: ../NEWS:21952 -msgid "" -":issue:`44353`: Make ``NewType.__call__`` faster by implementing it in C. " -"Patch provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:21955 -msgid "" -":issue:`44682`: Change the :mod:`pdb` *commands* directive to disallow " -"setting commands for an invalid breakpoint and to display an appropriate " -"error." -msgstr "" - -#: ../NEWS:21958 -msgid "" -":issue:`44353`: Refactor ``typing.NewType`` from function into callable " -"class. Patch provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:21961 -msgid "" -":issue:`44678`: Added a separate error message for discontinuous padding in " -"*binascii.a2b_base64* strict mode." -msgstr "" - -#: ../NEWS:21964 -msgid "" -":issue:`44524`: Add missing ``__name__`` and ``__qualname__`` attributes to " -"``typing`` module classes. Patch provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:21967 -msgid "" -":issue:`40897`: Give priority to using the current class constructor in " -":func:`inspect.signature`. Patch by Weipeng Hong." -msgstr "" - -#: ../NEWS:21970 -msgid "" -":issue:`44638`: Add a reference to the zipp project and hint as to how to " -"use it." -msgstr "" - -#: ../NEWS:21973 -msgid "" -":issue:`44648`: Fixed wrong error being thrown by :func:`inspect.getsource` " -"when examining a class in the interactive session. Instead of " -":exc:`TypeError`, it should be :exc:`OSError` with appropriate error " -"message." -msgstr "" - -#: ../NEWS:21978 -msgid "" -":issue:`44608`: Fix memory leak in :func:`!_tkinter._flatten` if it is " -"called with a sequence or set, but not list or tuple." -msgstr "" - -#: ../NEWS:21981 -msgid "" -":issue:`44594`: Fix an edge case of :class:`ExitStack` and " -":class:`AsyncExitStack` exception chaining. They will now match ``with`` " -"block behavior when ``__context__`` is explicitly set to ``None`` when the " -"exception is in flight." -msgstr "" - -#: ../NEWS:21986 -msgid "" -":issue:`42799`: In :mod:`fnmatch`, the cache size for compiled regex " -"patterns (:func:`functools.lru_cache`) was bumped up from 256 to 32768, " -"affecting functions: :func:`fnmatch.fnmatch`, :func:`fnmatch.fnmatchcase`, " -":func:`fnmatch.filter`." -msgstr "" - -#: ../NEWS:21991 -msgid "" -":issue:`41928`: Update :func:`shutil.copyfile` to raise " -":exc:`FileNotFoundError` instead of confusing :exc:`IsADirectoryError` when " -"a path ending with a :const:`os.path.sep` does not exist; " -":func:`shutil.copy` and :func:`shutil.copy2` are also affected." -msgstr "" - -#: ../NEWS:21996 -msgid "" -":issue:`44569`: Added the :func:`StackSummary.format_frame` function in " -":mod:`traceback`. This allows users to customize the way individual lines " -"are formatted in tracebacks without re-implementing logic to handle " -"recursive tracebacks." -msgstr "" - -#: ../NEWS:22001 -msgid "" -":issue:`44566`: handle StopIteration subclass raised from " -"@contextlib.contextmanager generator" -msgstr "" - -#: ../NEWS:22004 -msgid "" -":issue:`44558`: Make the implementation consistency of " -":func:`~operator.indexOf` between C and Python versions. Patch by Donghee " -"Na." -msgstr "" - -#: ../NEWS:22008 -msgid "" -":issue:`41249`: Fixes ``TypedDict`` to work with ``typing.get_type_hints()``" -" and postponed evaluation of annotations across modules." -msgstr "" - -#: ../NEWS:22011 -msgid "" -":issue:`44554`: Refactor argument processing in :func:`pdb.main` to simplify" -" detection of errors in input loading and clarify behavior around module or " -"script invocation." -msgstr "" - -#: ../NEWS:22015 -msgid "" -":issue:`34798`: Break up paragraph about :class:`pprint.PrettyPrinter` " -"construction parameters to make it easier to read." -msgstr "" - -#: ../NEWS:22018 -msgid "" -":issue:`44539`: Added support for recognizing JPEG files without JFIF or " -"Exif markers." -msgstr "" - -#: ../NEWS:22021 -msgid "" -":issue:`44461`: Fix bug with :mod:`pdb`'s handling of import error due to a " -"package which does not have a ``__main__`` module" -msgstr "" - -#: ../NEWS:22024 -msgid "" -":issue:`43625`: Fix a bug in the detection of CSV file headers by " -":meth:`csv.Sniffer.has_header` and improve documentation of same." -msgstr "" - -#: ../NEWS:22027 -msgid ":issue:`44516`: Update vendored pip to 21.1.3" -msgstr "" - -#: ../NEWS:22029 -msgid "" -":issue:`42892`: Fixed an exception thrown while parsing a malformed " -"multipart email by :class:`email.message.EmailMessage`." -msgstr "" - -#: ../NEWS:22032 -msgid "" -":issue:`44468`: :func:`typing.get_type_hints` now finds annotations in " -"classes and base classes with unexpected ``__module__``. Previously, it " -"skipped those MRO elements." -msgstr "" - -#: ../NEWS:22036 -msgid "" -":issue:`44491`: Allow clearing the :mod:`sqlite3` authorizer callback by " -"passing :const:`None` to :meth:`~sqlite3.Connection.set_authorizer`. Patch " -"by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:22040 -msgid "" -":issue:`43977`: Set the proper :c:macro:`Py_TPFLAGS_MAPPING` and " -":c:macro:`Py_TPFLAGS_SEQUENCE` flags for subclasses created before a parent " -"has been registered as a :class:`collections.abc.Mapping` or " -":class:`collections.abc.Sequence`." -msgstr "" - -#: ../NEWS:22045 -msgid "" -":issue:`44482`: Fix very unlikely resource leak in :mod:`glob` in alternate " -"Python implementations." -msgstr "" - -#: ../NEWS:22048 -msgid "" -":issue:`44466`: The :mod:`faulthandler` module now detects if a fatal error " -"occurs during a garbage collector collection. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:22051 -msgid "" -":issue:`44471`: A :exc:`TypeError` is now raised instead of an " -":exc:`AttributeError` in :meth:`contextlib.ExitStack.enter_context` and " -":meth:`contextlib.AsyncExitStack.enter_async_context` for objects which do " -"not support the :term:`context manager` or :term:`asynchronous context " -"manager` protocols correspondingly." -msgstr "" - -#: ../NEWS:22057 -msgid "" -":issue:`44404`: :mod:`tkinter`'s ``after()`` method now supports callables " -"without the ``__name__`` attribute." -msgstr "" - -#: ../NEWS:22060 -msgid "" -":issue:`41546`: Make :mod:`pprint` (like the builtin ``print``) not attempt " -"to write to ``stdout`` when it is ``None``." -msgstr "" - -#: ../NEWS:22063 -msgid "" -":issue:`44458`: ``BUFFER_BLOCK_SIZE`` is now declared static, to avoid " -"linking collisions when bz2, lmza or zlib are statically linked." -msgstr "" - -#: ../NEWS:22066 -msgid "" -":issue:`44464`: Remove exception for flake8 in deprecated importlib.metadata" -" interfaces. Sync with importlib_metadata 4.6." -msgstr "" - -#: ../NEWS:22069 -msgid "" -":issue:`44446`: Take into account that ``lineno`` might be ``None`` in " -":class:`traceback.FrameSummary`." -msgstr "" - -#: ../NEWS:22072 -msgid "" -":issue:`44439`: Fix in :meth:`bz2.BZ2File.write` / " -":meth:`lzma.LZMAFile.write` methods, when the input data is an object that " -"supports the buffer protocol, the file length may be wrong." -msgstr "" - -#: ../NEWS:22076 -msgid "" -":issue:`44434`: _thread.start_new_thread() no longer calls " -"PyThread_exit_thread() explicitly at the thread exit, the call was " -"redundant. On Linux with the glibc, pthread_exit() aborts the whole process " -"if dlopen() fails to open libgcc_s.so file (ex: EMFILE error). Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:22082 -msgid "" -":issue:`42972`: The _thread.RLock type now fully implement the GC protocol: " -"add a traverse function and the :c:macro:`Py_TPFLAGS_HAVE_GC` flag. Patch by" -" Victor Stinner." -msgstr "" - -#: ../NEWS:22086 -msgid "" -":issue:`44422`: The :func:`threading.enumerate` function now uses a " -"reentrant lock to prevent a hang on reentrant call. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:22089 -msgid "" -":issue:`38291`: Importing typing.io or typing.re now prints a " -"``DeprecationWarning``." -msgstr "" - -#: ../NEWS:22092 -msgid "" -":issue:`37880`: argparse actions store_const and append_const each receive a" -" default value of ``None`` when the ``const`` kwarg is not provided. " -"Previously, this raised a :exc:`TypeError`." -msgstr "" - -#: ../NEWS:22096 -msgid ":issue:`44389`: Fix deprecation of :data:`ssl.OP_NO_TLSv1_3`" -msgstr "" - -#: ../NEWS:22098 -msgid "" -":issue:`27827`: :meth:`pathlib.PureWindowsPath.is_reserved` now identifies a" -" greater range of reserved filenames, including those with trailing spaces " -"or colons." -msgstr "" - -#: ../NEWS:22102 -msgid "" -":issue:`44395`: Fix :meth:`~email.message.MIMEPart.as_string` to pass " -"unixfrom properly. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:22105 -msgid "" -":issue:`34266`: Handle exceptions from parsing the arg of :mod:`pdb`'s " -"run/restart command." -msgstr "" - -#: ../NEWS:22108 -msgid "" -":issue:`44362`: Improve :mod:`ssl` module's deprecation messages, error " -"reporting, and documentation for deprecations." -msgstr "" - -#: ../NEWS:22111 -msgid ":issue:`44342`: [Enum] Change pickling from by-value to by-name." -msgstr "" - -#: ../NEWS:22113 -msgid "" -":issue:`44356`: [Enum] Allow multiple data-type mixins if they are all the " -"same." -msgstr "" - -#: ../NEWS:22116 -msgid "" -":issue:`44351`: Restore back :func:`parse_makefile` in " -"``distutils.sysconfig`` because it behaves differently than the similar " -"implementation in :mod:`sysconfig`." -msgstr "" - -#: ../NEWS:22120 -msgid "" -":issue:`35800`: :class:`!smtpd.MailmanProxy` is now removed as it is " -"unusable without an external module, ``mailman``. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:22123 -msgid "" -":issue:`44357`: Added a function that returns cube root of the given number " -":func:`math.cbrt`" -msgstr "" - -#: ../NEWS:22126 -msgid "" -":issue:`44339`: Change ``math.pow(±0.0, -math.inf)`` to return ``inf`` " -"instead of raising ``ValueError``. This brings the special-case handling of " -"``math.pow`` into compliance with the IEEE 754 standard." -msgstr "" - -#: ../NEWS:22130 -msgid "" -":issue:`44242`: Remove missing flag check from Enum creation and move into a" -" ``verify`` decorator." -msgstr "" - -#: ../NEWS:22133 -msgid "" -":issue:`44246`: In ``importlib.metadata``, restore compatibility in the " -"result from ``Distribution.entry_points`` (``EntryPoints``) to honor " -"expectations in older implementations and issuing deprecation warnings for " -"these cases: A. ``EntryPoints`` objects are once again mutable, allowing " -"for ``sort()`` and other list-based mutation operations. Avoid deprecation" -" warnings by casting to a mutable sequence (e.g. " -"``list(dist.entry_points).sort()``). B. ``EntryPoints`` results once again " -"allow for access by index. To avoid deprecation warnings, cast the " -"result to a Sequence first (e.g. ``tuple(dist.entry_points)[0]``)." -msgstr "" - -#: ../NEWS:22143 -msgid "" -":issue:`44246`: In importlib.metadata.entry_points, de-duplication of " -"distributions no longer requires loading the full metadata for " -"PathDistribution objects, improving entry point loading performance by ~10x." -msgstr "" - -#: ../NEWS:22148 -msgid "" -":issue:`43858`: Added a function that returns a copy of a dict of logging " -"levels: :func:`logging.getLevelNamesMapping`" -msgstr "" - -#: ../NEWS:22151 -msgid "" -":issue:`44260`: The :class:`random.Random` constructor no longer reads " -"system entropy without need." -msgstr "" - -#: ../NEWS:22154 -msgid "" -":issue:`44254`: On Mac, give turtledemo button text a color that works on " -"both light or dark background. Programmers cannot control the latter." -msgstr "" - -#: ../NEWS:22157 -msgid "" -":issue:`44258`: Support PEP 515 for Fraction's initialization from string." -msgstr "" - -#: ../NEWS:22159 -msgid "" -":issue:`44235`: Remove deprecated functions in the :mod:`gettext`. Patch by " -"Donghee Na." -msgstr "" - -#: ../NEWS:22162 -msgid "" -":issue:`38693`: Prefer f-strings to ``.format`` in importlib.resources." -msgstr "" - -#: ../NEWS:22164 -msgid ":issue:`33693`: Importlib.metadata now prefers f-strings to .format." -msgstr "" - -#: ../NEWS:22166 -msgid "" -":issue:`44241`: Incorporate minor tweaks from importlib_metadata 4.1: " -"SimplePath protocol, support for Metadata 2.2." -msgstr "" - -#: ../NEWS:22169 -msgid "" -":issue:`43216`: Remove the :func:`@asyncio.coroutine ` " -":term:`decorator` enabling legacy generator-based coroutines to be " -"compatible with async/await code; remove " -":class:`asyncio.coroutines.CoroWrapper` used for wrapping legacy coroutine " -"objects in the debug mode. The decorator has been deprecated since Python " -"3.8 and the removal was initially scheduled for Python 3.10. Patch by Illia " -"Volochii." -msgstr "" - -#: ../NEWS:22177 -msgid ":issue:`44210`: Make importlib.metadata._meta.PackageMetadata public." -msgstr "" - -#: ../NEWS:22179 -msgid "" -":issue:`43643`: Declare readers.MultiplexedPath.name as a property per the " -"spec." -msgstr "" - -#: ../NEWS:22182 -msgid "" -":issue:`27334`: The :mod:`sqlite3` context manager now performs a rollback " -"(thus releasing the database lock) if commit failed. Patch by Luca Citi and" -" Erlend E. Aasland." -msgstr "" - -#: ../NEWS:22186 -msgid "" -":issue:`4928`: Documented existing behavior on POSIX: NamedTemporaryFiles " -"are not deleted when creating process is killed with SIGKILL" -msgstr "" - -#: ../NEWS:22189 -msgid "" -":issue:`44154`: Optimize :class:`fractions.Fraction` pickling for large " -"components." -msgstr "" - -#: ../NEWS:22192 -msgid "" -":issue:`33433`: For IPv4 mapped IPv6 addresses (:rfc:`4291` Section " -"2.5.5.2), the :mod:`ipaddress.IPv6Address.is_private` check is deferred to " -"the mapped IPv4 address. This solves a bug where public mapped IPv4 " -"addresses were considered private by the IPv6 check." -msgstr "" - -#: ../NEWS:22197 -msgid ":issue:`44150`: Add optional *weights* argument to statistics.fmean()." -msgstr "" - -#: ../NEWS:22199 -msgid "" -":issue:`44142`: :func:`ast.unparse` will now drop the redundant parentheses " -"when tuples used as assignment targets (e.g in for loops)." -msgstr "" - -#: ../NEWS:22202 -msgid "" -":issue:`44145`: :mod:`hmac` computations were not releasing the GIL while " -"calling the OpenSSL ``HMAC_Update`` C API (a new feature in 3.9). This " -"unintentionally prevented parallel computation as other :mod:`hashlib` " -"algorithms support." -msgstr "" - -#: ../NEWS:22207 -msgid "" -":issue:`44095`: :class:`zipfile.Path` now supports " -":attr:`zipfile.Path.stem`, :attr:`zipfile.Path.suffixes`, and " -":attr:`zipfile.Path.suffix` attributes." -msgstr "" - -#: ../NEWS:22210 -msgid "" -":issue:`44077`: It's now possible to receive the type of service (ToS), " -"a.k.a. differentiated services (DS), a.k.a. differentiated services code " -"point (DSCP) and explicit congestion notification (ECN) IP header fields " -"with ``socket.IP_RECVTOS``." -msgstr "" - -#: ../NEWS:22215 -msgid "" -":issue:`37788`: Fix a reference leak when a Thread object is never joined." -msgstr "" - -#: ../NEWS:22217 -msgid "" -":issue:`38908`: Subclasses of ``typing.Protocol`` which only have data " -"variables declared will now raise a ``TypeError`` when checked with " -"``isinstance`` unless they are decorated with :func:`runtime_checkable`. " -"Previously, these checks passed silently. Patch provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:22222 -msgid "" -":issue:`44098`: ``typing.ParamSpec`` will no longer be found in the " -"``__parameters__`` of most :mod:`typing` generics except in valid use " -"locations specified by :pep:`612`. This prevents incorrect usage like " -"``typing.List[P][int]``. This change means incorrect usage which may have " -"passed silently in 3.10 beta 1 and earlier will now error." -msgstr "" - -#: ../NEWS:22228 -msgid "" -":issue:`44089`: Allow subclassing ``csv.Error`` in 3.10 (it was allowed in " -"3.9 and earlier but was disallowed in early versions of 3.10)." -msgstr "" - -#: ../NEWS:22231 -msgid "" -":issue:`44081`: :func:`ast.unparse` now doesn't use redundant spaces to " -"separate ``lambda`` and the ``:`` if there are no parameters." -msgstr "" - -#: ../NEWS:22234 -msgid "" -":issue:`44061`: Fix regression in previous release when calling " -":func:`pkgutil.iter_modules` with a list of :class:`pathlib.Path` objects" -msgstr "" - -#: ../NEWS:22237 -msgid "" -":issue:`44059`: Register the SerenityOS Browser in the :mod:`webbrowser` " -"module." -msgstr "" - -#: ../NEWS:22240 -msgid "" -":issue:`36515`: The :mod:`hashlib` module no longer does unaligned memory " -"accesses when compiled for ARM platforms." -msgstr "" - -#: ../NEWS:22243 -msgid "" -":issue:`40465`: Remove random module features deprecated in Python 3.9." -msgstr "" - -#: ../NEWS:22245 -msgid ":issue:`44018`: random.seed() no longer mutates bytearray inputs." -msgstr "" - -#: ../NEWS:22247 -msgid "" -":issue:`38352`: Add ``IO``, ``BinaryIO``, ``TextIO``, ``Match``, and " -"``Pattern`` to ``typing.__all__``. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:22250 -msgid "" -":issue:`44002`: :mod:`urllib.parse` now uses :func:`functool.lru_cache` for " -"its internal URL splitting and quoting caches instead of rolling its own " -"like its the '90s." -msgstr "" - -#: ../NEWS:22254 -msgid "" -"The undocumented internal :mod:`urllib.parse` ``Quoted`` class API is now " -"deprecated, for removal in 3.14." -msgstr "" - -#: ../NEWS:22257 -msgid "" -":issue:`43972`: When :class:`http.server.SimpleHTTPRequestHandler` sends a " -"``301 (Moved Permanently)`` for a directory path not ending with ``/``, add " -"a ``Content-Length: 0`` header. This improves the behavior for certain " -"clients." -msgstr "" - -#: ../NEWS:22262 -msgid "" -":issue:`28528`: Fix a bug in :mod:`pdb` where :meth:`~pdb.Pdb.checkline` " -"raises :exc:`AttributeError` if it is called after :meth:`~pdb.Pdb.reset`." -msgstr "" - -#: ../NEWS:22265 -msgid "" -":issue:`43853`: Improved string handling for :mod:`sqlite3` user-defined " -"functions and aggregates:" -msgstr "" - -#: ../NEWS:22268 -msgid "" -"It is now possible to pass strings with embedded null characters to UDFs" -msgstr "" - -#: ../NEWS:22269 -msgid "Conversion failures now correctly raise :exc:`MemoryError`" -msgstr "" - -#: ../NEWS:22273 -msgid "" -":issue:`43666`: AIX: ``Lib/_aix_support.get_platform()`` may fail in an AIX " -"WPAR. The fileset bos.rte appears to have a builddate in both LPAR and WPAR " -"so this fileset is queried rather than bos.mp64. To prevent a similar " -"situation (no builddate in ODM) a value (9988) sufficient for completing a " -"build is provided. Patch by M Felt." -msgstr "" - -#: ../NEWS:22279 -msgid "" -":issue:`43650`: Fix :exc:`MemoryError` in :func:`shutil.unpack_archive` " -"which fails inside :func:`shutil._unpack_zipfile` on large files. Patch by " -"Igor Bolshakov." -msgstr "" - -#: ../NEWS:22283 -msgid "" -":issue:`43612`: :func:`zlib.compress` now accepts a wbits parameter which " -"allows users to compress data as a raw deflate block without zlib headers " -"and trailers in one go. Previously this required instantiating a " -"``zlib.compressobj``. It also provides a faster alternative to " -"``gzip.compress`` when wbits=31 is used." -msgstr "" - -#: ../NEWS:22289 -msgid "" -":issue:`43392`: :func:`importlib._bootstrap._find_and_load` now implements a" -" two-step check to avoid locking when modules have been already imported and" -" are ready. This improves performance of repeated calls to " -":func:`importlib.import_module` and :func:`importlib.__import__`." -msgstr "" - -#: ../NEWS:22294 -msgid "" -":issue:`43318`: Fix a bug where :mod:`pdb` does not always echo cleared " -"breakpoints." -msgstr "" - -#: ../NEWS:22297 -msgid "" -":issue:`43234`: Prohibit passing " -"non-:class:`concurrent.futures.ThreadPoolExecutor` executors to " -":meth:`loop.set_default_executor` following a deprecation in Python 3.8. " -"Patch by Illia Volochii." -msgstr "" - -#: ../NEWS:22302 -msgid "" -":issue:`43232`: Prohibit previously deprecated potentially disruptive " -"operations on :class:`asyncio.trsock.TransportSocket`. Patch by Illia " -"Volochii." -msgstr "" - -#: ../NEWS:22306 -msgid ":issue:`30077`: Added support for Apple's aifc/sowt pseudo-compression" -msgstr "" - -#: ../NEWS:22308 -msgid "" -":issue:`42971`: Add definition of ``errno.EQFULL`` for platforms that define" -" this constant (such as macOS)." -msgstr "" - -#: ../NEWS:22311 -msgid "" -":issue:`43086`: Added a new optional :code:`strict_mode` parameter to " -"*binascii.a2b_base64*. When :code:`scrict_mode` is set to :code:`True`, the " -"*a2b_base64* function will accept only valid base64 content. More details " -"about what \"valid base64 content\" is, can be found in the function's " -"documentation." -msgstr "" - -#: ../NEWS:22317 -msgid "" -":issue:`43024`: Improve the help signature of " -":func:`traceback.print_exception`, :func:`traceback.format_exception` and " -":func:`traceback.format_exception_only`." -msgstr "" - -#: ../NEWS:22321 -msgid "" -":issue:`33809`: Add the :meth:`traceback.TracebackException.print` method " -"which prints the formatted exception information." -msgstr "" - -#: ../NEWS:22324 -msgid "" -":issue:`42862`: :mod:`sqlite3` now utilizes :meth:`functools.lru_cache` to " -"implement the connection statement cache. As a small optimisation, the " -"default statement cache size has been increased from 100 to 128. Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../NEWS:22329 -msgid "" -":issue:`41818`: Soumendra Ganguly: add termios.tcgetwinsize(), " -"termios.tcsetwinsize()." -msgstr "" - -#: ../NEWS:22332 -msgid "" -":issue:`40497`: :meth:`subprocess.check_output` now raises :exc:`ValueError`" -" when the invalid keyword argument *check* is passed by user code. " -"Previously such use would fail later with a :exc:`TypeError`. Patch by Rémi " -"Lapeyre." -msgstr "" - -#: ../NEWS:22337 -msgid "" -":issue:`37449`: ``ensurepip`` now uses ``importlib.resources.files()`` " -"traversable APIs" -msgstr "" - -#: ../NEWS:22340 -msgid "" -":issue:`40956`: Use Argument Clinic in :mod:`sqlite3`. Patches by Erlend E." -" Aasland." -msgstr "" - -#: ../NEWS:22343 -msgid "" -":issue:`41730`: ``DeprecationWarning`` is now raised when importing " -":mod:`tkinter.tix`, which has been deprecated in documentation since Python " -"3.6." -msgstr "" - -#: ../NEWS:22347 -msgid "" -":issue:`20684`: Remove unused ``_signature_get_bound_param`` function from " -":mod:`inspect` - by Anthony Sottile." -msgstr "" - -#: ../NEWS:22350 -msgid "" -":issue:`41402`: Fix :meth:`email.message.EmailMessage.set_content` when " -"called with binary data and ``7bit`` content transfer encoding." -msgstr "" - -#: ../NEWS:22353 -msgid "" -":issue:`32695`: The *compresslevel* and *preset* keyword arguments of " -":func:`tarfile.open` are now both documented and tested." -msgstr "" - -#: ../NEWS:22356 -msgid "" -":issue:`41137`: Use utf-8 encoding while reading .pdbrc files. Patch by " -"Srinivas Reddy Thatiparthy" -msgstr "" - -#: ../NEWS:22359 -msgid "" -":issue:`24391`: Improved reprs of :mod:`threading` synchronization objects: " -":class:`~threading.Semaphore`, :class:`~threading.BoundedSemaphore`, " -":class:`~threading.Event` and :class:`~threading.Barrier`." -msgstr "" - -#: ../NEWS:22363 -msgid "" -":issue:`5846`: Deprecated the following :mod:`unittest` functions, scheduled" -" for removal in Python 3.13:" -msgstr "" - -#: ../NEWS:22366 -msgid ":func:`!findTestCases`" -msgstr "" - -#: ../NEWS:22367 -msgid ":func:`!makeSuite`" -msgstr "" - -#: ../NEWS:22368 -msgid ":func:`!getTestCaseNames`" -msgstr "" - -#: ../NEWS:22378 -msgid "" -":issue:`40563`: Support pathlike objects on dbm/shelve. Patch by Hakan Çelik" -" and Henry-Joseph Audéoud." -msgstr "" - -#: ../NEWS:22381 -msgid "" -":issue:`34990`: Fixed a Y2k38 bug in the compileall module where it would " -"fail to compile files with a modification time after the year 2038." -msgstr "" - -#: ../NEWS:22384 -msgid "" -":issue:`39549`: Whereas the code for reprlib.Repr had previously used a " -"hardcoded string value of '...', this PR updates it to use of a “fillvalue” " -"attribute, whose value defaults to '...' and can be reset in either " -"individual reprlib.Repr instances or in subclasses thereof." -msgstr "" - -#: ../NEWS:22389 -msgid "" -":issue:`37022`: :mod:`pdb` now displays exceptions from ``repr()`` with its " -"``p`` and ``pp`` commands." -msgstr "" - -#: ../NEWS:22392 -msgid "" -":issue:`38840`: Fix ``test___all__`` on platforms lacking a shared memory " -"implementation." -msgstr "" - -#: ../NEWS:22395 -msgid "" -":issue:`39359`: Add one missing check that the password is a bytes object " -"for an encrypted zipfile." -msgstr "" - -#: ../NEWS:22398 -msgid "" -":issue:`38741`: :mod:`configparser`: using ']' inside a section header will " -"no longer cut the section name short at the ']'" -msgstr "" - -#: ../NEWS:22401 -msgid "" -":issue:`38415`: Added missing behavior to " -":func:`contextlib.asynccontextmanager` to match " -":func:`contextlib.contextmanager` so decorated functions can themselves be " -"decorators." -msgstr "" - -#: ../NEWS:22406 -msgid "" -":issue:`30256`: Pass multiprocessing BaseProxy argument ``manager_owned`` " -"through AutoProxy." -msgstr "" - -#: ../NEWS:22409 -msgid "" -":issue:`27513`: :func:`email.utils.getaddresses` now accepts " -":class:`email.header.Header` objects along with string values. Patch by " -"Zackery Spytz." -msgstr "" - -#: ../NEWS:22413 -msgid "" -":issue:`16379`: Add SQLite error code and name to :mod:`sqlite3` exceptions." -" Patch by Aviv Palivoda, Daniel Shahaf, and Erlend E. Aasland." -msgstr "" - -#: ../NEWS:22416 -msgid "" -":issue:`26228`: pty.spawn no longer hangs on FreeBSD, macOS, and Solaris." -msgstr "" - -#: ../NEWS:22418 -msgid ":issue:`33349`: lib2to3 now recognizes async generators everywhere." -msgstr "" - -#: ../NEWS:22420 -msgid "" -":issue:`29298`: Fix ``TypeError`` when required subparsers without ``dest`` " -"do not receive arguments. Patch by Anthony Sottile." -msgstr "" - -#: ../NEWS:22426 -msgid "" -":issue:`45216`: Remove extra documentation listing methods in ``difflib``. " -"It was rendering twice in pydoc and was outdated in some places." -msgstr "" - -#: ../NEWS:22429 -msgid "" -":issue:`45024`: :mod:`collections.abc` documentation has been expanded to " -"explicitly cover how instance and subclass checks work, with additional " -"doctest examples and an exhaustive list of ABCs which test membership purely" -" by presence of the right :term:`special method`\\s. Patch by Raymond " -"Hettinger." -msgstr "" - -#: ../NEWS:22435 -msgid "" -":issue:`44957`: Promote PEP 604 union syntax by using it where possible. " -"Also, mention ``X | Y`` more prominently in section about ``Union`` and " -"mention ``X | None`` at all in section about ``Optional``." -msgstr "" - -#: ../NEWS:22439 -msgid "" -":issue:`16580`: Added code equivalents for the :meth:`int.to_bytes` and " -":meth:`int.from_bytes` methods, as well as tests ensuring that these code " -"equivalents are valid." -msgstr "" - -#: ../NEWS:22443 -msgid "" -":issue:`44903`: Removed the ``othergui.rst`` file, any references to it, and" -" the list of GUI frameworks in the FAQ. In their place I've added links to " -"the Python Wiki `page on GUI frameworks " -"`_." -msgstr "" - -#: ../NEWS:22448 -msgid "" -":issue:`33479`: Tkinter documentation has been greatly expanded with new " -"\"Architecture\" and \"Threading model\" sections." -msgstr "" - -#: ../NEWS:22451 -msgid "" -":issue:`36700`: :mod:`base64` RFC references were updated to point to " -":rfc:`4648`; a section was added to point users to the new \"security " -"considerations\" section of the RFC." -msgstr "" - -#: ../NEWS:22455 -msgid "" -":issue:`44740`: Replaced occurrences of uppercase \"Web\" and \"Internet\" " -"with lowercase versions per the 2016 revised Associated Press Style Book." -msgstr "" - -#: ../NEWS:22458 -msgid "" -":issue:`44693`: Update the definition of __future__ in the glossary by " -"replacing the confusing word \"pseudo-module\" with a more accurate " -"description." -msgstr "" - -#: ../NEWS:22462 -msgid ":issue:`35183`: Add typical examples to os.path.splitext docs" -msgstr "" - -#: ../NEWS:22464 -msgid "" -":issue:`30511`: Clarify that :func:`shutil.make_archive` is not thread-safe " -"due to reliance on changing the current working directory." -msgstr "" - -#: ../NEWS:22467 -msgid "" -":issue:`44561`: Update of three expired hyperlinks in " -"Doc/distributing/index.rst: \"Project structure\", \"Building and packaging " -"the project\", and \"Uploading the project to the Python Packaging Index\"." -msgstr "" - -#: ../NEWS:22471 -msgid "" -":issue:`44651`: Delete entry \"coercion\" in Doc/glossary.rst for its " -"outdated definition." -msgstr "" - -#: ../NEWS:22474 -msgid "" -":issue:`42958`: Updated the docstring and docs of :func:`filecmp.cmp` to be " -"more accurate and less confusing especially in respect to *shallow* arg." -msgstr "" - -#: ../NEWS:22477 -msgid "" -":issue:`44631`: Refactored the ``repr()`` code of the ``_Environ`` (os " -"module)." -msgstr "" - -#: ../NEWS:22479 -msgid ":issue:`44613`: importlib.metadata is no longer provisional." -msgstr "" - -#: ../NEWS:22481 -msgid "" -":issue:`44558`: Match the docstring and python implementation of " -":func:`~operator.countOf` to the behavior of its c implementation." -msgstr "" - -#: ../NEWS:22484 -msgid "" -":issue:`44544`: List all kwargs for :func:`textwrap.wrap`, " -":func:`textwrap.fill`, and :func:`textwrap.shorten`. Now, there are nav " -"links to attributes of :class:`TextWrap`, which makes navigation much easier" -" while minimizing duplication in the documentation." -msgstr "" - -#: ../NEWS:22489 -msgid "" -":issue:`38062`: Clarify that atexit uses equality comparisons internally." -msgstr "" - -#: ../NEWS:22491 -msgid "" -":issue:`40620`: Convert examples in tutorial controlflow.rst section 4.3 to " -"be interpreter-demo style." -msgstr "" - -#: ../NEWS:22494 -msgid "" -":issue:`43066`: Added a warning to :mod:`zipfile` docs: filename arg with a " -"leading slash may cause archive to be un-openable on Windows systems." -msgstr "" - -#: ../NEWS:22497 -msgid "" -":issue:`39452`: Rewrote ``Doc/library/__main__.rst``. Broadened scope of the" -" document to explicitly discuss and differentiate between ``__main__.py`` in" -" packages versus the ``__name__ == '__main__'`` expression (and the idioms " -"that surround it)." -msgstr "" - -#: ../NEWS:22502 -msgid "" -":issue:`13814`: In the Design FAQ, answer \"Why don't generators support the" -" with statement?\"" -msgstr "" - -#: ../NEWS:22505 -msgid ":issue:`27752`: Documentation of csv.Dialect is more descriptive." -msgstr "" - -#: ../NEWS:22507 -msgid "" -":issue:`44453`: Fix documentation for the return type of " -":func:`sysconfig.get_path`." -msgstr "" - -#: ../NEWS:22510 -msgid "" -":issue:`44392`: Added a new section in the C API documentation for types " -"used in type hinting. Documented ``Py_GenericAlias`` and " -"``Py_GenericAliasType``." -msgstr "" - -#: ../NEWS:22514 -msgid "" -":issue:`38291`: Mark ``typing.io`` and ``typing.re`` as deprecated since " -"Python 3.8 in the documentation. They were never properly supported by type " -"checkers." -msgstr "" - -#: ../NEWS:22518 -msgid "" -":issue:`44322`: Document that SyntaxError args have a details tuple and that" -" details are adjusted for errors in f-string field replacement expressions." -msgstr "" - -#: ../NEWS:22521 -msgid "" -":issue:`42392`: Document the deprecation and removal of the ``loop`` " -"parameter for many functions and classes in :mod:`asyncio`." -msgstr "" - -#: ../NEWS:22524 -msgid "" -":issue:`44195`: Corrected references to ``TraversableResources`` in docs. " -"There is no ``TraversableReader``." -msgstr "" - -#: ../NEWS:22527 -msgid "" -":issue:`41963`: Document that ``ConfigParser`` strips off comments when " -"reading configuration files." -msgstr "" - -#: ../NEWS:22530 -msgid "" -":issue:`44072`: Correct where in the numeric ABC hierarchy ``**`` support is" -" added, i.e., in numbers.Complex, not numbers.Integral." -msgstr "" - -#: ../NEWS:22533 -msgid "" -":issue:`43558`: Add the remark to :mod:`dataclasses` documentation that the " -":meth:`__init__` of any base class has to be called in " -":meth:`__post_init__`, along with a code example." -msgstr "" - -#: ../NEWS:22537 -msgid "" -":issue:`44025`: Clarify when '_' in match statements is a keyword, and when " -"not." -msgstr "" - -#: ../NEWS:22540 -msgid "" -":issue:`41706`: Fix docs about how methods like ``__add__`` are invoked when" -" evaluating operator expressions." -msgstr "" - -#: ../NEWS:22543 -msgid "" -":issue:`41621`: Document that :class:`collections.defaultdict` parameter " -"``default_factory`` defaults to ``None`` and is positional-only." -msgstr "" - -#: ../NEWS:22546 -msgid ":issue:`41576`: document BaseException in favor of bare except" -msgstr "" - -#: ../NEWS:22548 -msgid "" -":issue:`21760`: The description for __file__ fixed. Patch by Furkan Onder" -msgstr "" - -#: ../NEWS:22550 -msgid "" -":issue:`39498`: Add a \"Security Considerations\" index which links to " -"standard library modules that have explicitly documented security " -"considerations." -msgstr "" - -#: ../NEWS:22553 -msgid "" -":issue:`33479`: Remove the unqualified claim that tkinter is threadsafe. It " -"has not been true for several years and likely never was. An explanation of " -"what is true may be added later, after more discussion, and possibly after " -"patching _tkinter.c," -msgstr "" - -#: ../NEWS:22561 -msgid "" -":issue:`40173`: Fix :func:`test.support.import_helper.import_fresh_module`." -msgstr "" - -#: ../NEWS:22563 -msgid ":issue:`45280`: Add a test case for empty :class:`typing.NamedTuple`." -msgstr "" - -#: ../NEWS:22565 -msgid "" -":issue:`45269`: Cover case when invalid ``markers`` type is supplied to " -"``c_make_encoder``." -msgstr "" - -#: ../NEWS:22568 -msgid "" -":issue:`45128`: Fix ``test_multiprocessing_fork`` failure due to " -"``test_logging`` and ``sys.modules`` manipulation." -msgstr "" - -#: ../NEWS:22571 -msgid "" -":issue:`45209`: Fix ``UserWarning: resource_tracker`` warning in " -"``_test_multiprocessing._TestSharedMemory.test_shared_memory_cleaned_after_process_termination``" -msgstr "" - -#: ../NEWS:22574 -msgid "" -":issue:`45185`: Enables ``TestEnumerations`` test cases in ``test_ssl`` " -"suite." -msgstr "" - -#: ../NEWS:22576 -msgid "" -":issue:`45195`: Fix test_readline.test_nonascii(): sometimes, the newline " -"character is not written at the end, so don't expect it in the output. Patch" -" by Victor Stinner." -msgstr "" - -#: ../NEWS:22580 -msgid "" -":issue:`45156`: Fixes infinite loop on :func:`unittest.mock.seal` of mocks " -"created by :func:`~unittest.create_autospec`." -msgstr "" - -#: ../NEWS:22583 -msgid "" -":issue:`45125`: Improves pickling tests and docs of ``SharedMemory`` and " -"``SharableList`` objects." -msgstr "" - -#: ../NEWS:22586 -msgid "" -":issue:`44860`: Update ``test_sysconfig.test_user_similar()`` for the " -"posix_user scheme: ``platlib`` doesn't use :data:`sys.platlibdir`. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:22590 -msgid "" -":issue:`45052`: ``WithProcessesTestSharedMemory.test_shared_memory_basics`` " -"test was ignored, because ``self.assertEqual(sms.size, sms2.size)`` line was" -" failing. It is now removed and test is unskipped." -msgstr "" - -#: ../NEWS:22594 -msgid "" -"The main motivation for this line to be removed from the test is that the " -"``size`` of ``SharedMemory`` is not ever guaranteed to be the same. It is " -"decided by the platform." -msgstr "" - -#: ../NEWS:22598 -msgid "" -":issue:`44895`: libregrtest now clears the type cache later to reduce the " -"risk of false alarm when checking for reference leaks. Previously, the type " -"cache was cleared too early and libregrtest raised a false alarm about " -"reference leaks under very specific conditions. Patch by Irit Katriel and " -"Victor Stinner." -msgstr "" - -#: ../NEWS:22604 -msgid "" -":issue:`45042`: Fixes that test classes decorated with " -"``@hashlib_helper.requires_hashdigest`` were skipped all the time." -msgstr "" - -#: ../NEWS:22607 -msgid "" -":issue:`25130`: Add calls of :func:`gc.collect` in tests to support PyPy." -msgstr "" - -#: ../NEWS:22609 -msgid "" -":issue:`45011`: Made tests relying on the :mod:`!_asyncio` C extension " -"module optional to allow running on alternative Python implementations. " -"Patch by Serhiy Storchaka." -msgstr "" - -#: ../NEWS:22613 -msgid "" -":issue:`44949`: Fix auto history tests of test_readline: sometimes, the " -"newline character is not written at the end, so don't expect it in the " -"output." -msgstr "" - -#: ../NEWS:22616 -msgid "" -":issue:`44891`: Tests were added to clarify :func:`id` is preserved when " -"``obj * 1`` is used on :class:`str` and :class:`bytes` objects. Patch by " -"Nikita Sobolev." -msgstr "" - -#: ../NEWS:22620 -msgid "" -":issue:`44852`: Add ability to wholesale silence DeprecationWarnings while " -"running the regression test suite." -msgstr "" - -#: ../NEWS:22623 -msgid "" -":issue:`40928`: Notify users running test_decimal regression tests on macOS " -"of potential harmless \"malloc can't allocate region\" messages spewed by " -"test_decimal." -msgstr "" - -#: ../NEWS:22627 -msgid ":issue:`44734`: Fixed floating-point precision issue in turtle tests." -msgstr "" - -#: ../NEWS:22629 -msgid "" -":issue:`44708`: Regression tests, when run with -w, are now re-running only " -"the affected test methods instead of re-running the entire test file." -msgstr "" - -#: ../NEWS:22632 -msgid "" -":issue:`42095`: Added interop tests for Apple plists: generate plist files " -"with Python plistlib and parse with Apple plutil; and the other way round." -msgstr "" - -#: ../NEWS:22635 -msgid "" -":issue:`44647`: Added a permanent Unicode-valued environment variable to " -"regression tests to ensure they handle this use case in the future. If your " -"test environment breaks because of that, report a bug to us, and temporarily" -" set PYTHONREGRTEST_UNICODE_GUARD=0 in your test environment." -msgstr "" - -#: ../NEWS:22640 -msgid "" -":issue:`44515`: Adjust recently added contextlib tests to avoid assuming the" -" use of a refcounted GC" -msgstr "" - -#: ../NEWS:22643 -msgid "" -":issue:`44287`: Fix asyncio test_popen() of test_windows_utils by using a " -"longer timeout. Use military grade battle-tested " -":data:`test.support.SHORT_TIMEOUT` timeout rather than a hardcoded timeout " -"of 10 seconds: it's 30 seconds by default, but it is made longer on slow " -"buildbots. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:22649 -msgid "" -":issue:`44451`: Reset ``DeprecationWarning`` filters in " -"``test.test_importlib.test_metadata_api.APITests.test_entry_points_by_index``" -" to avoid ``StopIteration`` error if ``DeprecationWarnings`` are ignored." -msgstr "" - -#: ../NEWS:22653 -msgid "" -":issue:`44363`: Account for address sanitizer in test_capi. test_capi now " -"passes when run GCC address sanitizer." -msgstr "" - -#: ../NEWS:22656 -msgid ":issue:`44364`: Add non integral tests for :func:`math.sqrt` function." -msgstr "" - -#: ../NEWS:22658 -msgid "" -":issue:`43921`: Fix test_ssl.test_wrong_cert_tls13(): use " -"``suppress_ragged_eofs=False``, since ``read()`` can raise " -":exc:`ssl.SSLEOFError` on Windows. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:22662 -msgid "" -":issue:`43921`: Fix test_pha_required_nocert() of test_ssl: catch two more " -"EOF cases (when the ``recv()`` method returns an empty string). Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:22666 -msgid "" -":issue:`44131`: Add test_frozenmain to test_embed to test the " -":c:func:`Py_FrozenMain` C function. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:22669 -msgid ":issue:`31904`: Ignore error string case in test_file_not_exists()." -msgstr "" - -#: ../NEWS:22671 -msgid "" -":issue:`42083`: Add test to check that ``PyStructSequence_NewType`` accepts " -"a ``PyStructSequence_Desc`` with ``doc`` field set to ``NULL``." -msgstr "" - -#: ../NEWS:22674 -msgid "" -":issue:`35753`: Fix crash in doctest when doctest parses modules that " -"include unwrappable functions by skipping those functions." -msgstr "" - -#: ../NEWS:22677 -msgid "" -":issue:`30256`: Add test for nested queues when using ``multiprocessing`` " -"shared objects ``AutoProxy[Queue]`` inside ``ListProxy`` and ``DictProxy``" -msgstr "" - -#: ../NEWS:22683 -msgid "" -":issue:`45220`: Avoid building with the Windows 11 SDK previews " -"automatically. This may be overridden by setting the " -"``DefaultWindowsSDKVersion`` environment variable before building." -msgstr "" - -#: ../NEWS:22687 -msgid "" -":issue:`45020`: Freeze stdlib modules that are imported during startup. " -"This provides significant performance improvements to startup. If " -"necessary, use the previously added \"-X frozen_modules=off\" commandline " -"option to force importing the source modules." -msgstr "" - -#: ../NEWS:22692 -msgid "" -":issue:`45188`: Windows builds now regenerate frozen modules as the first " -"part of the build. Previously the regeneration was later in the build, which" -" would require it to be restarted if any modules had changed." -msgstr "" - -#: ../NEWS:22696 -msgid ":issue:`45163`: Fixes Haiku platform build." -msgstr "" - -#: ../NEWS:22698 -msgid "" -":issue:`45067`: The ncurses function extended_color_content was introduced " -"in 2017" -msgstr "" - -#: ../NEWS:22701 -msgid "(https://invisible-island.net/ncurses/NEWS.html#index-t20170401). The" -msgstr "" - -#: ../NEWS:22703 -msgid "" -"ncurses-devel package in CentOS 7 had a older version ncurses resulted in " -"compilation error. For compiling ncurses with extended color support, we " -"verify the version of the ncurses library >= 20170401." -msgstr "" - -#: ../NEWS:22707 -msgid "" -":issue:`45019`: Generate lines in relevant files for frozen modules. Up " -"until now each of the files had to be edited manually. This change makes it" -" easier to add to and modify the frozen modules." -msgstr "" - -#: ../NEWS:22711 -msgid "" -":issue:`44340`: Add support for building with clang thin lto via --with-" -"lto=thin/full. Patch by Donghee Na and Brett Holman." -msgstr "" - -#: ../NEWS:22714 -msgid "" -":issue:`44535`: Enable building using a Visual Studio 2022 install on " -"Windows." -msgstr "" - -#: ../NEWS:22716 -msgid "" -":issue:`43298`: Improved error message when building without a Windows SDK " -"installed." -msgstr "" - -#: ../NEWS:22719 -msgid "" -":issue:`44381`: The Windows build now accepts " -":envvar:`EnableControlFlowGuard` set to ``guard`` to enable CFG." -msgstr "" - -#: ../NEWS:22722 -msgid "" -":issue:`41282`: Fix broken ``make install`` that caused standard library " -"extension modules to be unnecessarily and incorrectly rebuilt during the " -"install phase of cpython." -msgstr "" - -#: ../NEWS:22729 -msgid "" -":issue:`45375`: Fixes an assertion failure due to searching for the standard" -" library in unnormalised paths." -msgstr "" - -#: ../NEWS:22732 -msgid ":issue:`45022`: Update Windows release to include libffi 3.4.2" -msgstr "" - -#: ../NEWS:22734 -msgid ":issue:`45007`: Update to OpenSSL 1.1.1l in Windows build" -msgstr "" - -#: ../NEWS:22736 -msgid ":issue:`44848`: Upgrade Windows installer to use SQLite 3.36.0." -msgstr "" - -#: ../NEWS:22738 -msgid "" -":issue:`44572`: Avoid consuming standard input in the :mod:`platform` module" -msgstr "" - -#: ../NEWS:22740 -msgid "" -":issue:`44582`: Accelerate speed of :mod:`mimetypes` initialization using a " -"native implementation of the registry scan." -msgstr "" - -#: ../NEWS:22743 -msgid "" -":issue:`41299`: Fix 16 milliseconds jitter when using timeouts in " -":mod:`threading`, such as with :meth:`threading.Lock.acquire` or " -":meth:`threading.Condition.wait`." -msgstr "" - -#: ../NEWS:22747 -msgid "" -":issue:`42686`: Build :mod:`sqlite3` with math functions enabled. Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../NEWS:22750 -msgid "" -":issue:`40263`: This is a follow-on bug from " -"https://bugs.python.org/issue26903. Once that is applied we run into an off-" -"by-one assertion problem. The assert was not correct." -msgstr "" - -#: ../NEWS:22757 -msgid ":issue:`45007`: Update macOS installer builds to use OpenSSL 1.1.1l." -msgstr "" - -#: ../NEWS:22759 -msgid "" -":issue:`34602`: When building CPython on macOS with ``./configure --with-" -"undefined-behavior-sanitizer --with-pydebug``, the stack size is now " -"quadrupled to allow for the entire test suite to pass." -msgstr "" - -#: ../NEWS:22763 -msgid ":issue:`44848`: Update macOS installer to use SQLite 3.36.0." -msgstr "" - -#: ../NEWS:22765 -msgid "" -":issue:`44689`: :meth:`ctypes.util.find_library` now works correctly on " -"macOS 11 Big Sur even if Python is built on an older version of macOS. " -"Previously, when built on older macOS systems, ``find_library`` was not able" -" to find macOS system libraries when running on Big Sur due to changes in " -"how system libraries are stored." -msgstr "" - -#: ../NEWS:22771 -msgid "" -":issue:`41972`: The framework build's user header path in sysconfig is " -"changed to add a 'pythonX.Y' component to match distutils's behavior." -msgstr "" - -#: ../NEWS:22774 -msgid "" -":issue:`43109`: Allow --with-lto configure option to work with Apple-" -"supplied Xcode or Command Line Tools." -msgstr "" - -#: ../NEWS:22777 -msgid "" -":issue:`34932`: Add socket.TCP_KEEPALIVE support for macOS. Patch by Shane " -"Harvey." -msgstr "" - -#: ../NEWS:22783 -msgid "" -":issue:`45296`: On Windows, change exit/quit message to suggest Ctrl-D, " -"which works, instead of , which does not work in IDLE." -msgstr "" - -#: ../NEWS:22786 -msgid ":issue:`45193`: Make completion boxes appear on Ubuntu again." -msgstr "" - -#: ../NEWS:22788 -msgid "" -":issue:`40128`: Mostly fix completions on macOS when not using tcl/tk 8.6.11" -" (as with 3.9). The added update_idletask call should be harmless and " -"possibly helpful otherwise." -msgstr "" - -#: ../NEWS:22792 -msgid "" -":issue:`33962`: Move the indent space setting from the Font tab to the new " -"Windows tab. Patch by Mark Roseman and Terry Jan Reedy." -msgstr "" - -#: ../NEWS:22795 -msgid "" -":issue:`40468`: Split the settings dialog General tab into Windows and " -"Shell/ED tabs. Move help sources, which extend the Help menu, to the " -"Extensions tab. Make space for new options and shorten the dialog. The " -"latter makes the dialog better fit small screens." -msgstr "" - -#: ../NEWS:22800 -msgid "" -":issue:`41611`: Avoid uncaught exceptions in " -"``AutoCompleteWindow.winconfig_event()``." -msgstr "" - -#: ../NEWS:22803 -msgid "" -":issue:`41611`: Fix IDLE sometimes freezing upon tab-completion on macOS." -msgstr "" - -#: ../NEWS:22805 -msgid "" -":issue:`44010`: Highlight the new :ref:`match ` statement's " -":ref:`soft keywords `: :keyword:`match`, :keyword:`case " -"`, and :keyword:`_ `. However, this highlighting " -"is not perfect and will be incorrect in some rare cases, including some " -"``_``-s in ``case`` patterns." -msgstr "" - -#: ../NEWS:22811 -msgid "" -":issue:`44026`: Include interpreter's typo fix suggestions in message line " -"for NameErrors and AttributeErrors. Patch by E. Paine." -msgstr "" - -#: ../NEWS:22817 -msgid "" -":issue:`44786`: Fix a warning in regular expression in the c-analyzer " -"script." -msgstr "" - -#: ../NEWS:22819 -msgid "" -":issue:`44967`: pydoc now returns a non-zero status code when a module " -"cannot be found." -msgstr "" - -#: ../NEWS:22822 -msgid "" -":issue:`44978`: Allow the Argument Clinic tool to handle ``__complex__`` " -"special methods." -msgstr "" - -#: ../NEWS:22825 -msgid "" -":issue:`43425`: Removed the 'test2to3' demo project that demonstrated using " -"lib2to3 to support Python 2.x and Python 3.x from a single source in a " -"distutils package. Patch by Donghee Na" -msgstr "" - -#: ../NEWS:22829 -msgid "" -":issue:`44074`: Make patchcheck automatically detect the correct base branch" -" name (previously it was hardcoded to 'master')" -msgstr "" - -#: ../NEWS:22832 -msgid "" -":issue:`20291`: Added support for variadic positional parameters in Argument" -" Clinic." -msgstr "" - -#: ../NEWS:22838 -msgid "" -":issue:`41710`: The PyThread_acquire_lock_timed() function now clamps the " -"timeout if it is too large, rather than aborting the process. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:22842 -msgid "" -":issue:`44687`: :meth:`BufferedReader.peek` no longer raises " -":exc:`ValueError` when the entire file has already been buffered." -msgstr "" - -#: ../NEWS:22845 -msgid "" -":issue:`45116`: Add the :c:macro:`Py_ALWAYS_INLINE` macro to ask the " -"compiler to always inline a static inline function. The compiler can ignore " -"it and decides to not inline the function. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:22849 -msgid "" -":issue:`45094`: Add the :c:macro:`Py_NO_INLINE` macro to disable inlining on" -" a function. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:22852 -msgid "" -":issue:`45061`: Add a deallocator to the :class:`bool` type to detect " -"refcount bugs in C extensions which call ``Py_DECREF(Py_True);`` or " -"``Py_DECREF(Py_False);`` by mistake. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:22856 -msgid "" -":issue:`42035`: Add a new :c:func:`PyType_GetQualName` function to get " -"type's qualified name." -msgstr "" - -#: ../NEWS:22859 -msgid "" -":issue:`41103`: Reverts removal of the old buffer protocol because they are " -"part of stable ABI." -msgstr "" - -#: ../NEWS:22862 -msgid "" -":issue:`44751`: Remove ``crypt.h`` include from the public ``Python.h`` " -"header." -msgstr "" - -#: ../NEWS:22864 -msgid "" -":issue:`42747`: The ``Py_TPFLAGS_HAVE_VERSION_TAG`` type flag now does " -"nothing. The ``Py_TPFLAGS_HAVE_AM_SEND`` flag (which was added in 3.10) is " -"removed. Both were unnecessary because it is not possible to have type " -"objects with the relevant fields missing." -msgstr "" - -#: ../NEWS:22869 -msgid "" -":issue:`44530`: Added the ``co_qualname`` to the ``PyCodeObject`` structure " -"to propagate the qualified name from the compiler to code objects." -msgstr "" - -#: ../NEWS:22872 -msgid "Patch by Gabriele N. Tornetta" -msgstr "" - -#: ../NEWS:22874 -msgid "" -":issue:`44441`: :c:func:`Py_RunMain` now resets :c:data:`PyImport_Inittab` " -"to its initial value at exit. It must be possible to call " -":c:func:`PyImport_AppendInittab` or :c:func:`PyImport_ExtendInittab` at each" -" Python initialization. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:22879 -msgid "" -":issue:`39947`: Remove 4 private trashcan C API functions which were only " -"kept for the backward compatibility of the stable ABI with Python 3.8 and " -"older, since the trashcan API was not usable with the limited C API on " -"Python 3.8 and older. The trashcan API was excluded from the limited C API " -"in Python 3.9." -msgstr "" - -#: ../NEWS:22885 -msgid "Removed functions:" -msgstr "" - -#: ../NEWS:22887 -msgid "_PyTrash_deposit_object()" -msgstr "" - -#: ../NEWS:22888 -msgid "_PyTrash_destroy_chain()" -msgstr "" - -#: ../NEWS:22889 -msgid "_PyTrash_thread_deposit_object()" -msgstr "" - -#: ../NEWS:22890 -msgid "_PyTrash_thread_destroy_chain()" -msgstr "" - -#: ../NEWS:22892 -msgid "" -"The trashcan C API was never usable with the limited C API, since old " -"trashcan macros accessed directly :c:type:`PyThreadState` members like " -"``_tstate->trash_delete_nesting``, whereas the :c:type:`PyThreadState` " -"structure is opaque in the limited C API." -msgstr "" - -#: ../NEWS:22897 -msgid "Exclude also the ``PyTrash_UNWIND_LEVEL`` constant from the C API." -msgstr "" - -#: ../NEWS:22901 -msgid "" -":issue:`40939`: Removed documentation for the removed ``PyParser_*`` C API." -msgstr "" - -#: ../NEWS:22903 -msgid "" -":issue:`43795`: The list in :ref:`limited-api-list` now shows the public " -"name :c:struct:`PyFrameObject` rather than ``_frame``. The non-existing " -"entry ``_node`` no longer appears in the list." -msgstr "" - -#: ../NEWS:22907 -msgid "" -":issue:`44378`: :c:func:`Py_IS_TYPE` no longer uses :c:func:`Py_TYPE` to " -"avoid a compiler warning: no longer cast ``const PyObject*`` to " -"``PyObject*``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:22911 -msgid "" -":issue:`39573`: Convert the :c:func:`Py_TYPE` and :c:func:`Py_SIZE` macros " -"to static inline functions. The :c:func:`Py_SET_TYPE` and " -":c:func:`Py_SET_SIZE` functions must now be used to set an object type and " -"size. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:22916 -msgid "" -":issue:`44263`: The :c:func:`PyType_Ready` function now raises an error if a" -" type is defined with the :c:macro:`Py_TPFLAGS_HAVE_GC` flag set but has no " -"traverse function (:c:member:`PyTypeObject.tp_traverse`). Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:22921 -msgid "" -":issue:`43795`: The undocumented function :c:func:`Py_FrozenMain` is removed" -" from the Limited API." -msgstr "" - -#: ../NEWS:22924 -msgid "" -":issue:`44113`: Deprecate the following functions to configure the Python " -"initialization:" -msgstr "" - -#: ../NEWS:22927 -msgid ":c:func:`!PySys_AddWarnOptionUnicode`" -msgstr "" - -#: ../NEWS:22928 -msgid ":c:func:`!PySys_AddWarnOption`" -msgstr "" - -#: ../NEWS:22929 -msgid ":c:func:`!PySys_AddXOption`" -msgstr "" - -#: ../NEWS:22930 -msgid ":c:func:`!PySys_HasWarnOptions`" -msgstr "" - -#: ../NEWS:22931 -msgid ":c:func:`!Py_SetPath`" -msgstr "" - -#: ../NEWS:22932 -msgid ":c:func:`!Py_SetProgramName`" -msgstr "" - -#: ../NEWS:22933 -msgid ":c:func:`!Py_SetPythonHome`" -msgstr "" - -#: ../NEWS:22934 -msgid ":c:func:`!Py_SetStandardStreamEncoding`" -msgstr "" - -#: ../NEWS:22935 -msgid ":c:func:`!_Py_SetProgramFullPath`" -msgstr "" - -#: ../NEWS:22937 -msgid "" -"Use the new :c:type:`PyConfig` API of the :ref:`Python Initialization " -"Configuration ` instead (:pep:`587`)." -msgstr "" - -#: ../NEWS:22940 -msgid "" -":issue:`44094`: Remove ``PyErr_SetFromErrnoWithUnicodeFilename()``, " -"``PyErr_SetFromWindowsErrWithUnicodeFilename()``, and " -"``PyErr_SetExcFromWindowsErrWithUnicodeFilename()``. They are not documented" -" and have been deprecated since Python 3.3." -msgstr "" - -#: ../NEWS:22945 -msgid "" -":issue:`43795`: :c:func:`PyCodec_Unregister` is now properly exported as a " -"function in the Windows Stable ABI DLL." -msgstr "" - -#: ../NEWS:22948 -msgid "" -":issue:`44029`: Remove deprecated ``Py_UNICODE`` APIs: ``PyUnicode_Encode``," -" ``PyUnicode_EncodeUTF7``, ``PyUnicode_EncodeUTF8``, " -"``PyUnicode_EncodeUTF16``, ``PyUnicode_EncodeUTF32``, " -"``PyUnicode_EncodeLatin1``, ``PyUnicode_EncodeMBCS``, " -"``PyUnicode_EncodeDecimal``, ``PyUnicode_EncodeRawUnicodeEscape``, " -"``PyUnicode_EncodeCharmap``, ``PyUnicode_EncodeUnicodeEscape``, " -"``PyUnicode_TransformDecimalToASCII``, ``PyUnicode_TranslateCharmap``, " -"``PyUnicodeEncodeError_Create``, ``PyUnicodeTranslateError_Create``. See " -":pep:`393` and :pep:`624` for reference." -msgstr "" - -#: ../NEWS:22958 -msgid "" -":issue:`42035`: Add a new :c:func:`PyType_GetName` function to get type's " -"short name." -msgstr "" - -#: ../NEWS:22963 -msgid "Python 3.10.0 beta 1" -msgstr "" - -#: ../NEWS:22965 -msgid "*Release date: 2021-05-03*" -msgstr "" - -#: ../NEWS:22970 -msgid "" -":issue:`43434`: Creating :class:`sqlite3.Connection` objects now also " -"produces ``sqlite3.connect`` and ``sqlite3.connect/handle`` :ref:`auditing " -"events `. Previously these events were only produced by " -":func:`sqlite3.connect` calls. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:22975 -msgid "" -":issue:`43998`: The :mod:`ssl` module sets more secure cipher suites " -"defaults. Ciphers without forward secrecy and with SHA-1 MAC are disabled by" -" default. Security level 2 prohibits weak RSA, DH, and ECC keys with less " -"than 112 bits of security. :class:`~ssl.SSLContext` defaults to minimum " -"protocol version TLS 1.2. Settings are based on Hynek Schlawack's research." -msgstr "" - -#: ../NEWS:22982 -msgid "" -":issue:`43882`: The presence of newline or tab characters in parts of a URL " -"could allow some forms of attacks." -msgstr "" - -#: ../NEWS:22985 -msgid "" -"Following the controlling specification for URLs defined by WHATWG " -":func:`urllib.parse` now removes ASCII newlines and tabs from URLs, " -"preventing such attacks." -msgstr "" - -#: ../NEWS:22989 -msgid "" -":issue:`43472`: Ensures interpreter-level audit hooks receive the " -"``cpython.PyInterpreterState_New`` event when called through the " -"``_xxsubinterpreters`` module." -msgstr "" - -#: ../NEWS:22993 -msgid "" -":issue:`43362`: Fix invalid free in _sha3 module. The issue was introduced " -"in 3.10.0a1. Python 3.9 and earlier are not affected." -msgstr "" - -#: ../NEWS:22996 -msgid "" -":issue:`43762`: Add audit events for :func:`sqlite3.connect/handle`, " -":meth:`sqlite3.Connection.enable_load_extension`, and " -":meth:`sqlite3.Connection.load_extension`. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:23000 -msgid "" -":issue:`43756`: Add new audit event ``glob.glob/2`` to incorporate the new " -"*root_dir* and *dir_fd* arguments added to :func:`glob.glob` and " -":func:`glob.iglob`." -msgstr "" - -#: ../NEWS:23004 -msgid "" -":issue:`36384`: :mod:`ipaddress` module no longer accepts any leading zeros " -"in IPv4 address strings. Leading zeros are ambiguous and interpreted as " -"octal notation by some libraries. For example the legacy function " -":func:`socket.inet_aton` treats leading zeros as octal notation. glibc " -"implementation of modern :func:`~socket.inet_pton` does not accept any " -"leading zeros. For a while the :mod:`ipaddress` module used to accept " -"ambiguous leading zeros." -msgstr "" - -#: ../NEWS:23012 -msgid "" -":issue:`43075`: Fix Regular Expression Denial of Service (ReDoS) " -"vulnerability in :class:`urllib.request.AbstractBasicAuthHandler`. The " -"ReDoS-vulnerable regex has quadratic worst-case complexity and it allows " -"cause a denial of service when identifying crafted invalid RFCs. This ReDoS " -"issue is on the client side and needs remote attackers to control the HTTP " -"server." -msgstr "" - -#: ../NEWS:23018 -msgid "" -":issue:`42800`: Audit hooks are now fired for frame.f_code, " -"traceback.tb_frame, and generator code/frame attribute access." -msgstr "" - -#: ../NEWS:23021 -msgid ":issue:`37363`: Add audit events to the :mod:`http.client` module." -msgstr "" - -#: ../NEWS:23026 -msgid "" -":issue:`43977`: Prevent classes being both a sequence and a mapping when " -"pattern matching." -msgstr "" - -#: ../NEWS:23029 -msgid "" -":issue:`43977`: Use :c:member:`~PyTypeObject.tp_flags` on the class object " -"to determine if the subject is a sequence or mapping when pattern matching. " -"Avoids the need to import :mod:`collections.abc` when pattern matching." -msgstr "" - -#: ../NEWS:23033 -msgid "" -":issue:`43892`: Restore proper validation of complex literal value patterns " -"when parsing :keyword:`!match` blocks." -msgstr "" - -#: ../NEWS:23036 -msgid "" -":issue:`43933`: Set frame.f_lineno to the line number of the 'with' kweyword" -" when executing the call to ``__exit__``." -msgstr "" - -#: ../NEWS:23039 -msgid "" -":issue:`43933`: If the current position in a frame has no line number then " -"set the f_lineno attribute to None, instead of -1, to conform to PEP 626. " -"This should not normally be possible, but might occur in some unusual " -"circumstances." -msgstr "" - -#: ../NEWS:23044 -msgid "" -":issue:`43963`: Importing the :mod:`!_signal` module in a subinterpreter has" -" no longer side effects." -msgstr "" - -#: ../NEWS:23047 -msgid "" -":issue:`42739`: The internal representation of line number tables is changed" -" to not use sentinels, and an explicit length parameter is added to the out " -"of process API function ``PyLineTable_InitAddressRange``. This makes the " -"handling of line number tables more robust in some circumstances." -msgstr "" - -#: ../NEWS:23052 -msgid "" -":issue:`43908`: Make :mod:`re` types immutable. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:23054 -msgid "" -":issue:`43908`: Make the :class:`array.array` type immutable. Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../NEWS:23057 -msgid "" -":issue:`43901`: Change class and module objects to lazy-create empty " -"annotations dicts on demand. The annotations dicts are stored in the " -"object's __dict__ for backwards compatibility." -msgstr "" - -#: ../NEWS:23061 -msgid "" -":issue:`43892`: Match patterns now use new dedicated AST nodes " -"(``MatchValue``, ``MatchSingleton``, ``MatchSequence``, ``MatchStar``, " -"``MatchMapping``, ``MatchClass``) rather than reusing expression AST nodes. " -"``MatchAs`` and ``MatchOr`` are now defined as pattern nodes rather than as " -"expression nodes. Patch by Nick Coghlan." -msgstr "" - -#: ../NEWS:23067 -msgid "" -":issue:`42725`: Usage of ``await``/``yield``/``yield from`` and named " -"expressions within an annotation is now forbidden when PEP 563 is activated." -msgstr "" - -#: ../NEWS:23071 -msgid "" -":issue:`43754`: When performing structural pattern matching (:pep:`634`), " -"captured names are now left unbound until the *entire* pattern has matched " -"successfully." -msgstr "" - -#: ../NEWS:23075 -msgid "" -":issue:`42737`: Annotations for complex targets (everything beside simple " -"names) no longer cause any runtime effects with ``from __future__ import " -"annotations``." -msgstr "" - -#: ../NEWS:23079 -msgid "" -":issue:`43914`: :exc:`SyntaxError` exceptions raised by the interpreter will" -" highlight the full error range of the expression that constitutes the " -"syntax error itself, instead of just where the problem is detected. Patch by" -" Pablo Galindo." -msgstr "" - -#: ../NEWS:23084 -msgid "" -":issue:`38605`: Revert making ``from __future__ import annotations`` the " -"default. This follows the Steering Council decision to postpone PEP 563 " -"changes to at least Python 3.11. See the original email for more information" -" regarding the decision: https://mail.python.org/archives/list/python-" -"dev@python.org/thread/CLVXXPQ2T2LQ5MP2Y53VVQFCXYWQJHKZ/. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../NEWS:23091 -msgid "" -":issue:`43475`: Hashes of NaN values now depend on object identity. " -"Formerly, they always hashed to 0 even though NaN values are not equal to " -"one another. Having the same hash for unequal values caused pile-ups in " -"hash tables." -msgstr "" - -#: ../NEWS:23096 -msgid "" -":issue:`43859`: Improve the error message for :exc:`IndentationError` " -"exceptions. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:23099 -msgid "" -":issue:`41323`: Constant tuple folding in bytecode optimizer now reuses " -"tuple in constant table." -msgstr "" - -#: ../NEWS:23102 -msgid "" -":issue:`43846`: Data stack usage is much reduced for large literal and call " -"expressions." -msgstr "" - -#: ../NEWS:23105 -msgid "" -":issue:`38530`: When printing :exc:`NameError` raised by the interpreter, " -":c:func:`PyErr_Display` will offer suggestions of similar variable names in " -"the function that the exception was raised from. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:23109 -msgid "" -":issue:`43823`: Improve syntax errors for invalid dictionary literals. Patch" -" by Pablo Galindo." -msgstr "" - -#: ../NEWS:23112 -msgid "" -":issue:`43822`: Improve syntax errors in the parser for missing commas " -"between expressions. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:23115 -msgid "" -":issue:`43798`: :class:`ast.alias` nodes now include source location " -"metadata attributes e.g. lineno, col_offset." -msgstr "" - -#: ../NEWS:23118 -msgid "" -":issue:`43797`: Improve ``SyntaxError`` error messages for invalid " -"comparisons. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:23121 -msgid "" -":issue:`43760`: Move the flag for checking whether tracing is enabled to the" -" C stack, from the heap. Should speed up dispatch in the interpreter." -msgstr "" - -#: ../NEWS:23124 -msgid "" -":issue:`43682`: Static methods (:func:`@staticmethod `) and " -"class methods (:func:`@classmethod `) now inherit the method " -"attributes (``__module__``, ``__name__``, ``__qualname__``, ``__doc__``, " -"``__annotations__``) and have a new ``__wrapped__`` attribute. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:23130 -msgid "" -":issue:`43751`: Fixed a bug where ``anext(ait, default)`` would erroneously " -"return None." -msgstr "" - -#: ../NEWS:23133 -msgid "" -":issue:`42128`: :data:`~object.__match_args__` is no longer allowed to be a " -"list." -msgstr "" - -#: ../NEWS:23136 -msgid "" -":issue:`43683`: Add GEN_START opcode. Marks start of generator, including " -"async, or coroutine and handles sending values to a newly created generator " -"or coroutine." -msgstr "" - -#: ../NEWS:23140 -msgid "" -":issue:`43105`: Importlib now resolves relative paths when creating module " -"spec objects from file locations." -msgstr "" - -#: ../NEWS:23143 -msgid "" -":issue:`43682`: Static methods (:func:`@staticmethod `) are " -"now callable as regular functions. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:23146 -msgid "" -":issue:`42609`: Prevented crashes in the AST validator and optimizer when " -"compiling some absurdly long expressions like ``\"+0\"*1000000``. " -":exc:`RecursionError` is now raised instead." -msgstr "" - -#: ../NEWS:23150 -msgid "" -":issue:`38530`: When printing :exc:`AttributeError`, :c:func:`PyErr_Display`" -" will offer suggestions of similar attribute names in the object that the " -"exception was raised from. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:23157 -msgid "" -":issue:`44015`: In @dataclass(), raise a TypeError if KW_ONLY is specified " -"more than once." -msgstr "" - -#: ../NEWS:23160 -msgid "" -":issue:`25478`: Added a *total()* method to collections.Counter() to compute" -" the sum of the counts." -msgstr "" - -#: ../NEWS:23163 -msgid "" -":issue:`43733`: Change :class:`netrc.netrc` to use UTF-8 encoding before " -"using locale encoding." -msgstr "" - -#: ../NEWS:23166 -msgid "" -":issue:`43979`: Removed an unnecessary list comprehension before looping " -"from :func:`urllib.parse.parse_qsl`. Patch by Christoph Zwerschke and " -"Donghee Na." -msgstr "" - -#: ../NEWS:23170 -msgid ":issue:`43993`: Update bundled pip to 21.1.1." -msgstr "" - -#: ../NEWS:23172 -msgid "" -":issue:`43957`: [Enum] Deprecate ``TypeError`` when non-member is used in a " -"containment check; In 3.12 ``True`` or ``False`` will be returned instead, " -"and containment will return ``True`` if the value is either a member of that" -" enum or one of its members' value." -msgstr "" - -#: ../NEWS:23177 -msgid "" -":issue:`42904`: For backwards compatibility with previous minor versions of " -"Python, if :func:`typing.get_type_hints` receives no namespace dictionary " -"arguments, :func:`typing.get_type_hints` will search through the global then" -" local namespaces during evaluation of stringized type annotations (string " -"forward references) inside a class." -msgstr "" - -#: ../NEWS:23183 -msgid "" -":issue:`43945`: [Enum] Deprecate non-standard mixin format() behavior: in " -"3.12 the enum member, not the member's value, will be used for format() " -"calls." -msgstr "" - -#: ../NEWS:23186 -msgid ":issue:`41139`: Deprecate undocumented ``cgi.log()`` API." -msgstr "" - -#: ../NEWS:23188 -msgid "" -":issue:`43937`: Fixed the :mod:`turtle` module working with non-default root" -" window." -msgstr "" - -#: ../NEWS:23191 -msgid ":issue:`43930`: Update bundled pip to 21.1 and setuptools to 56.0.0" -msgstr "" - -#: ../NEWS:23193 -msgid "" -":issue:`43907`: Fix a bug in the pure-Python pickle implementation when " -"using protocol 5, where bytearray instances that occur several time in the " -"pickled object graph would incorrectly unpickle into repeated copies of the " -"bytearray object." -msgstr "" - -#: ../NEWS:23198 -msgid "" -":issue:`43926`: In ``importlib.metadata``, provide a uniform interface to " -"``Description``, allow for any field to be encoded with multiline values, " -"remove continuation lines from multiline values, and add a ``.json`` " -"property for easy access to the PEP 566 JSON-compatible form. Sync with " -"``importlib_metadata 4.0``." -msgstr "" - -#: ../NEWS:23204 -msgid "" -":issue:`43920`: OpenSSL 3.0.0: :meth:`~ssl.SSLContext.load_verify_locations`" -" now returns a consistent error message when cadata contains no valid " -"certificate." -msgstr "" - -#: ../NEWS:23208 -msgid "" -":issue:`43607`: :mod:`urllib` can now convert Windows paths with ``\\\\?\\``" -" prefixes into URL paths." -msgstr "" - -#: ../NEWS:23211 -msgid "" -":issue:`43817`: Add :func:`inspect.get_annotations`, which safely computes " -"the annotations defined on an object. It works around the quirks of " -"accessing the annotations from various types of objects, and makes very few " -"assumptions about the object passed in. :func:`inspect.get_annotations` can " -"also correctly un-stringize stringized annotations." -msgstr "" - -#: ../NEWS:23217 -msgid "" -":func:`inspect.signature`, :func:`inspect.from_callable`, and " -":func:`inspect.from_function` now call :func:`inspect.get_annotations` to " -"retrieve annotations. This means :func:`inspect.signature` and " -":func:`inspect.from_callable` can now un-stringize stringized annotations, " -"too." -msgstr "" - -#: ../NEWS:23223 -msgid "" -":issue:`43284`: platform.win32_ver derives the windows version from " -"sys.getwindowsversion().platform_version which in turn derives the version " -"from kernel32.dll (which can be of a different version than Windows itself)." -" Therefore change the platform.win32_ver to determine the version using the " -"platform module's _syscmd_ver private function to return an accurate " -"version." -msgstr "" - -#: ../NEWS:23230 -msgid "" -":issue:`42854`: The :mod:`ssl` module now uses ``SSL_read_ex`` and " -"``SSL_write_ex`` internally. The functions support reading and writing of " -"data larger than 2 GB. Writing zero-length data no longer fails with a " -"protocol violation error." -msgstr "" - -#: ../NEWS:23235 -msgid "" -":issue:`42333`: Port ``_ssl`` extension module to multiphase initialization." -msgstr "" - -#: ../NEWS:23237 -msgid "" -":issue:`43880`: :mod:`ssl` now raises DeprecationWarning for OP_NO_SSL/TLS* " -"options, old TLS versions, old protocols, and other features that have been " -"deprecated since Python 3.6, 3.7, or OpenSSL 1.1.0." -msgstr "" - -#: ../NEWS:23241 -msgid "" -":issue:`41559`: :pep:`612` is now implemented purely in Python; builtin " -"``types.GenericAlias`` objects no longer include ``typing.ParamSpec`` in " -"``__parameters__`` (with the exception of ``collections.abc.Callable``\\ 's " -"``GenericAlias``). This means previously invalid uses of ``ParamSpec`` (such" -" as ``list[P]``) which worked in earlier versions of Python 3.10 alpha, will" -" now raise ``TypeError`` during substitution." -msgstr "" - -#: ../NEWS:23248 -msgid "" -":issue:`43867`: The :mod:`multiprocessing` ``Server`` class now explicitly " -"catches :exc:`SystemExit` and closes the client connection in this case. It " -"happens when the ``Server.serve_client()`` method reaches the end of file " -"(EOF)." -msgstr "" - -#: ../NEWS:23253 -msgid "" -":issue:`40443`: Remove unused imports: pyclbr no longer uses copy, and " -"typing no longer uses ast. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:23256 -msgid "" -":issue:`43820`: Remove an unneeded copy of the namespace passed to " -"dataclasses.make_dataclass()." -msgstr "" - -#: ../NEWS:23259 -msgid "" -":issue:`43787`: Add ``__iter__()`` method to :class:`bz2.BZ2File`, " -":class:`gzip.GzipFile`, and :class:`lzma.LZMAFile`. It makes iterating them " -"about 2x faster. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:23263 -msgid "" -":issue:`43680`: Deprecate io.OpenWrapper and _pyio.OpenWrapper: use io.open " -"and _pyio.open instead. Until Python 3.9, _pyio.open was not a static method" -" and builtins.open was set to OpenWrapper to not become a bound method when " -"set to a class variable. _io.open is a built-in function whereas _pyio.open " -"is a Python function. In Python 3.10, _pyio.open() is now a static method, " -"and builtins.open() is now io.open()." -msgstr "" - -#: ../NEWS:23270 -msgid "" -":issue:`43680`: The Python :func:`!_pyio.open` function becomes a static " -"method to behave as :func:`io.open` built-in function: don't become a bound " -"method when stored as a class variable. It becomes possible since static " -"methods are now callable in Python 3.10. Moreover, " -":func:`!_pyio.OpenWrapper` becomes a simple alias to :func:`!_pyio.open`. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:23277 -msgid "" -":issue:`41515`: Fix :exc:`KeyError` raised in :func:`typing.get_type_hints` " -"due to synthetic modules that don't appear in ``sys.modules``." -msgstr "" - -#: ../NEWS:23280 -msgid "" -":issue:`43776`: When :class:`subprocess.Popen` args are provided as a string" -" or as :class:`pathlib.Path`, the Popen instance repr now shows the right " -"thing." -msgstr "" - -#: ../NEWS:23284 -msgid "" -":issue:`42248`: [Enum] ensure exceptions raised in ``_missing__`` are " -"released" -msgstr "" - -#: ../NEWS:23286 -msgid "" -":issue:`43744`: fix issue with enum member name matching the start of a " -"private variable name" -msgstr "" - -#: ../NEWS:23289 -msgid "" -":issue:`43772`: Fixed the return value of ``TypeVar.__ror__``. Patch by " -"Jelle Zijlstra." -msgstr "" - -#: ../NEWS:23292 -msgid "" -":issue:`43764`: Add match_args parameter to @dataclass decorator to allow " -"suppression of __match_args__ generation." -msgstr "" - -#: ../NEWS:23295 -msgid "" -":issue:`43799`: OpenSSL 3.0.0: define ``OPENSSL_API_COMPAT`` 1.1.1 to " -"suppress deprecation warnings. Python requires OpenSSL 1.1.1 APIs." -msgstr "" - -#: ../NEWS:23298 -msgid "" -":issue:`43478`: Mocks can no longer be used as the specs for other Mocks. As" -" a result, an already-mocked object cannot have an attribute mocked using " -"``autospec=True`` or be the subject of a ``create_autospec(...)`` call. This" -" can uncover bugs in tests since these Mock-derived Mocks will always pass " -"certain tests (e.g. :func:`isinstance`) and builtin assert functions (e.g. " -"assert_called_once_with) will unconditionally pass." -msgstr "" - -#: ../NEWS:23305 -msgid "" -":issue:`43794`: Add :const:`ssl.OP_IGNORE_UNEXPECTED_EOF` constants (OpenSSL" -" 3.0.0)" -msgstr "" - -#: ../NEWS:23308 -msgid "" -":issue:`43785`: Improve ``bz2.BZ2File`` performance by removing the RLock " -"from BZ2File. This makes BZ2File thread unsafe in the face of multiple " -"simultaneous readers or writers, just like its equivalent classes in " -":mod:`gzip` and :mod:`lzma` have always been. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:23313 -msgid "" -":issue:`43789`: OpenSSL 3.0.0: Don't call the password callback function a " -"second time when first call has signaled an error condition." -msgstr "" - -#: ../NEWS:23316 -msgid "" -":issue:`43788`: The header files for :mod:`ssl` error codes are now OpenSSL " -"version-specific. Exceptions will now show correct reason and library codes." -" The ``make_ssl_data.py`` script has been rewritten to use OpenSSL's text " -"file with error codes." -msgstr "" - -#: ../NEWS:23321 -msgid "" -":issue:`43766`: Implement :pep:`647` in the :mod:`typing` module by adding " -":data:`TypeGuard`." -msgstr "" - -#: ../NEWS:23324 -msgid "" -":issue:`25264`: :func:`os.path.realpath` now accepts a *strict* keyword-only" -" argument. When set to ``True``, :exc:`OSError` is raised if a path doesn't " -"exist or a symlink loop is encountered." -msgstr "" - -#: ../NEWS:23328 -msgid "" -":issue:`43780`: In ``importlib.metadata``, incorporate changes from " -"importlib_metadata 3.10: Add mtime-based caching during distribution " -"discovery. Flagged use of dict result from ``entry_points()`` as deprecated." -msgstr "" - -#: ../NEWS:23333 -msgid "" -":gh:`47383`: The ``P.args`` and ``P.kwargs`` attributes of " -":class:`typing.ParamSpec` are now instances of the new classes " -":class:`typing.ParamSpecArgs` and :class:`typing.ParamSpecKwargs`, which " -"enables a more useful ``repr()``. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:23338 -msgid "" -":issue:`43731`: Add an ``encoding`` parameter :func:`logging.fileConfig`." -msgstr "" - -#: ../NEWS:23340 -msgid "" -":issue:`43712`: Add ``encoding`` and ``errors`` parameters to " -":func:`fileinput.input` and :class:`fileinput.FileInput`." -msgstr "" - -#: ../NEWS:23343 -msgid "" -":issue:`38659`: A ``simple_enum`` decorator is added to the ``enum`` module " -"to convert a normal class into an Enum. ``test_simple_enum`` added to test " -"simple enums against a corresponding normal Enum. Standard library modules " -"updated to use ``simple_enum``." -msgstr "" - -#: ../NEWS:23348 -msgid "" -":issue:`43764`: Fix an issue where :data:`~object.__match_args__` generation" -" could fail for some :mod:`dataclasses`." -msgstr "" - -#: ../NEWS:23351 -msgid "" -":issue:`43752`: Fix :mod:`sqlite3` regression for zero-sized blobs with " -"converters, where ``b\"\"`` was returned instead of ``None``. The regression" -" was introduced by PR 24723. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:23355 -msgid "" -":issue:`43655`: :mod:`tkinter` dialog windows are now recognized as dialogs " -"by window managers on macOS and X Window." -msgstr "" - -#: ../NEWS:23358 -msgid "" -":issue:`43723`: The following ``threading`` methods are now deprecated and " -"should be replaced:" -msgstr "" - -#: ../NEWS:23361 -msgid "``currentThread`` => :func:`threading.current_thread`" -msgstr "" - -#: ../NEWS:23363 -msgid "``activeCount`` => :func:`threading.active_count`" -msgstr "" - -#: ../NEWS:23365 -msgid "``Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" -msgstr "" - -#: ../NEWS:23367 -msgid "``Event.isSet`` => :meth:`threading.Event.is_set`" -msgstr "" - -#: ../NEWS:23369 -msgid "``Thread.setName`` => :attr:`threading.Thread.name`" -msgstr "" - -#: ../NEWS:23371 -msgid "``thread.getName`` => :attr:`threading.Thread.name`" -msgstr "" - -#: ../NEWS:23373 -msgid "``Thread.isDaemon`` => :attr:`threading.Thread.daemon`" -msgstr "" - -#: ../NEWS:23375 -msgid "``Thread.setDaemon`` => :attr:`threading.Thread.daemon`" -msgstr "" - -#: ../NEWS:23377 -msgid "Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:23379 -msgid "" -":issue:`2135`: Deprecate find_module() and find_loader() implementations in " -"importlib and zipimport." -msgstr "" - -#: ../NEWS:23382 -msgid "" -":issue:`43534`: :func:`turtle.textinput` and :func:`turtle.numinput` create " -"now a transient window working on behalf of the canvas window." -msgstr "" - -#: ../NEWS:23385 -msgid "" -":issue:`43532`: Add the ability to specify keyword-only fields to " -"dataclasses. These fields will become keyword-only arguments to the " -"generated __init__." -msgstr "" - -#: ../NEWS:23388 -msgid "" -":issue:`43522`: Fix problem with " -":attr:`~ssl.SSLContext.hostname_checks_common_name`. OpenSSL does not copy " -"hostflags from *struct SSL_CTX* to *struct SSL*." -msgstr "" - -#: ../NEWS:23392 -msgid "" -":issue:`8978`: Improve error message for :func:`tarfile.open` when " -":mod:`lzma` / :mod:`bz2` are unavailable. Patch by Anthony Sottile." -msgstr "" - -#: ../NEWS:23395 -msgid "" -":issue:`42967`: Allow :class:`bytes` ``separator`` argument in " -"``urllib.parse.parse_qs`` and ``urllib.parse.parse_qsl`` when parsing " -":class:`str` query strings. Previously, this raised a ``TypeError``." -msgstr "" - -#: ../NEWS:23399 -msgid "" -":issue:`43296`: Improve :mod:`sqlite3` error handling: " -"``sqlite3_value_blob()`` errors that set ``SQLITE_NOMEM`` now raise " -":exc:`MemoryError`. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:23403 -msgid "" -":issue:`43312`: New functions :func:`sysconfig.get_preferred_scheme` and " -":func:`sysconfig.get_default_scheme` are added to query a platform for its " -"preferred \"user\", \"home\", and \"prefix\" (default) scheme names." -msgstr "" - -#: ../NEWS:23407 -msgid "" -":issue:`43265`: Improve :meth:`sqlite3.Connection.backup` error handling. " -"The error message for non-existent target database names is now ``unknown " -"database `` instead of ``SQL logic error``. Patch by Erlend " -"E. Aasland." -msgstr "" - -#: ../NEWS:23412 -msgid "" -":issue:`41282`: Install schemes in ``distutils.command.install`` are now " -"loaded from :mod:`sysconfig`." -msgstr "" - -#: ../NEWS:23415 -msgid "" -":issue:`41282`: ``distutils.sysconfig`` has been merged to :mod:`sysconfig`." -msgstr "" - -#: ../NEWS:23417 -msgid "" -":issue:`43176`: Fixed processing of a dataclass that inherits from a frozen " -"dataclass with no fields. It is now correctly detected as an error." -msgstr "" - -#: ../NEWS:23420 -msgid "" -":issue:`43080`: :mod:`pprint` now has support for " -":class:`dataclasses.dataclass`. Patch by Lewis Gaul." -msgstr "" - -#: ../NEWS:23423 -msgid "" -":issue:`39950`: Add ``pathlib.Path.hardlink_to()`` method that supersedes " -"``link_to()``. The new method has the same argument order as " -"``symlink_to()``." -msgstr "" - -#: ../NEWS:23427 -msgid "" -":issue:`42904`: :func:`typing.get_type_hints` now checks the local namespace" -" of a class when evaluating :pep:`563` annotations inside said class." -msgstr "" - -#: ../NEWS:23430 -msgid "" -":issue:`42269`: Add ``slots`` parameter to ``dataclasses.dataclass`` " -"decorator to automatically generate ``__slots__`` for class. Patch provided " -"by Yurii Karabas." -msgstr "" - -#: ../NEWS:23434 -msgid "" -":issue:`39529`: Deprecated use of :func:`asyncio.get_event_loop` without " -"running event loop. Emit deprecation warning for :mod:`asyncio` functions " -"which implicitly create a :class:`~asyncio.Future` or :class:`~asyncio.Task`" -" objects if there is no running event loop and no explicit *loop* argument " -"is passed: :func:`~asyncio.ensure_future`, :func:`~asyncio.wrap_future`, " -":func:`~asyncio.gather`, :func:`~asyncio.shield`, " -":func:`~asyncio.as_completed` and constructors of :class:`~asyncio.Future`, " -":class:`~asyncio.Task`, :class:`~asyncio.StreamReader`, " -":class:`~asyncio.StreamReaderProtocol`." -msgstr "" - -#: ../NEWS:23444 -msgid "" -":issue:`18369`: Certificate and PrivateKey classes were added to the ssl " -"module. Certificates and keys can now be loaded from memory buffer, too." -msgstr "" - -#: ../NEWS:23447 -msgid "" -":issue:`41486`: Use a new output buffer management code for :mod:`bz2` / " -":mod:`lzma` / :mod:`zlib` modules, and add ``.readall()`` function to " -"``_compression.DecompressReader`` class. These bring some performance " -"improvements. Patch by Ma Lin." -msgstr "" - -#: ../NEWS:23452 -msgid "" -":issue:`31870`: The :func:`ssl.get_server_certificate` function now has a " -"*timeout* parameter." -msgstr "" - -#: ../NEWS:23455 -msgid "" -":issue:`41735`: Fix thread locks in zlib module may go wrong in rare case. " -"Patch by Ma Lin." -msgstr "" - -#: ../NEWS:23458 -msgid "" -":issue:`36470`: Fix dataclasses with ``InitVar``\\s and " -":func:`~dataclasses.replace`. Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:23461 -msgid ":issue:`40849`: Expose X509_V_FLAG_PARTIAL_CHAIN ssl flag" -msgstr "" - -#: ../NEWS:23463 -msgid "" -":issue:`35114`: :func:`ssl.RAND_status` now returns a boolean value (as " -"documented) instead of ``1`` or ``0``." -msgstr "" - -#: ../NEWS:23466 -msgid "" -":issue:`39906`: :meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` " -"now accept a *follow_symlinks* keyword-only argument for consistency with " -"corresponding functions in the :mod:`os` module." -msgstr "" - -#: ../NEWS:23470 -msgid "" -":issue:`39899`: :func:`os.path.expanduser` now refuses to guess Windows home" -" directories if the basename of current user's home directory does not match" -" their username." -msgstr "" - -#: ../NEWS:23474 -msgid "" -":meth:`pathlib.Path.expanduser` and :meth:`~pathlib.Path.home` now " -"consistently raise :exc:`RuntimeError` exception when a home directory " -"cannot be resolved. Previously a :exc:`KeyError` exception could be raised " -"on Windows when the ``\"USERNAME\"`` environment variable was unset." -msgstr "" - -#: ../NEWS:23479 -msgid "" -":issue:`36076`: Added SNI support to :func:`ssl.get_server_certificate`." -msgstr "" - -#: ../NEWS:23481 -msgid "" -":issue:`38490`: Covariance, Pearson's correlation, and simple linear " -"regression functionality was added to statistics module. Patch by Tymoteusz " -"Wołodźko." -msgstr "" - -#: ../NEWS:23484 -msgid "" -":issue:`33731`: Provide a locale.localize() function, which converts a " -"normalized number string into a locale format." -msgstr "" - -#: ../NEWS:23487 -msgid "" -":issue:`32745`: Fix a regression in the handling of ctypes' " -":data:`ctypes.c_wchar_p` type: embedded null characters would cause a " -":exc:`ValueError` to be raised. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:23494 -msgid "" -":issue:`43987`: Add \"Annotations Best Practices\" document as a new HOWTO." -msgstr "" - -#: ../NEWS:23496 -msgid "" -":issue:`43977`: Document the new :c:macro:`Py_TPFLAGS_MAPPING` and " -":c:macro:`Py_TPFLAGS_SEQUENCE` type flags." -msgstr "" - -#: ../NEWS:23499 -msgid "" -":issue:`43959`: The documentation on the PyContextVar C-API was clarified." -msgstr "" - -#: ../NEWS:23501 -msgid "" -":issue:`43938`: Update dataclasses documentation to express that " -"FrozenInstanceError is derived from AttributeError." -msgstr "" - -#: ../NEWS:23504 -msgid "" -":issue:`43778`: Fix the Sphinx glossary_search extension: create the " -"_static/ sub-directory if it doesn't exist." -msgstr "" - -#: ../NEWS:23507 -msgid "" -":issue:`43755`: Update documentation to reflect that unparenthesized lambda " -"expressions can no longer be the expression part in an ``if`` clause in " -"comprehensions and generator expressions since Python 3.9." -msgstr "" - -#: ../NEWS:23511 -msgid "" -":issue:`43739`: Fixing the example code in Doc/extending/extending.rst to " -"declare and initialize the pmodule variable to be of the right type." -msgstr "" - -#: ../NEWS:23517 -msgid "" -":issue:`43961`: Fix test_logging.test_namer_rotator_inheritance() on " -"Windows: use :func:`os.replace` rather than :func:`os.rename`. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:23521 -msgid "" -":issue:`43842`: Fix a race condition in the SMTP test of test_logging. Don't" -" close a file descriptor (socket) from a different thread while " -"asyncore.loop() is polling the file descriptor. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:23525 -msgid "" -":issue:`43843`: :mod:`test.libregrtest` now marks a test as ENV_CHANGED " -"(altered the execution environment) if a thread raises an exception but does" -" not catch it. It sets a hook on :func:`threading.excepthook`. Use ``--fail-" -"env-changed`` option to mark the test as failed. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:23531 -msgid "" -":issue:`43811`: Tests multiple OpenSSL versions on GitHub Actions. Use " -"ccache to speed up testing." -msgstr "" - -#: ../NEWS:23534 -msgid "" -":issue:`43791`: OpenSSL 3.0.0: Disable testing of legacy protocols TLS 1.0 " -"and 1.1. Tests are failing with TLSV1_ALERT_INTERNAL_ERROR." -msgstr "" - -#: ../NEWS:23540 -msgid "" -":issue:`43567`: Improved generated code refresh " -"(AST/tokens/opcodes/keywords) on Windows." -msgstr "" - -#: ../NEWS:23543 -msgid "" -":issue:`43669`: Implement :pep:`644`. Python now requires OpenSSL 1.1.1 or " -"newer." -msgstr "" - -#: ../NEWS:23549 -msgid "" -":issue:`35306`: Adds additional arguments to :func:`os.startfile` function." -msgstr "" - -#: ../NEWS:23551 -msgid "" -":issue:`43538`: Avoid raising errors from :meth:`pathlib.Path.exists` when " -"passed an invalid filename." -msgstr "" - -#: ../NEWS:23554 -msgid "" -":issue:`38822`: Fixed :func:`os.stat` failing on inaccessible directories " -"with a trailing slash, rather than falling back to the parent directory's " -"metadata. This implicitly affected :func:`os.path.exists` and " -":func:`os.path.isdir`." -msgstr "" - -#: ../NEWS:23559 -msgid "" -":issue:`26227`: Fixed decoding of host names in :func:`socket.gethostbyaddr`" -" and :func:`socket.gethostbyname_ex`." -msgstr "" - -#: ../NEWS:23562 -msgid "" -":issue:`40432`: Updated pegen regeneration script on Windows to find and use" -" Python 3.8 or higher. Prior to this, pegen regeneration already required " -"3.8 or higher, but the script may have used lower versions of Python." -msgstr "" - -#: ../NEWS:23566 -msgid "" -":issue:`43745`: Actually updates Windows release to OpenSSL 1.1.1k. Earlier " -"releases were mislabelled and actually included 1.1.1i again." -msgstr "" - -#: ../NEWS:23569 -msgid ":issue:`43652`: Update Tcl and Tk to 8.6.11 in Windows installer." -msgstr "" - -#: ../NEWS:23571 -msgid ":issue:`43492`: Upgrade Windows installer to use SQLite 3.35.5." -msgstr "" - -#: ../NEWS:23573 -msgid "" -":issue:`30555`: Fix ``WindowsConsoleIO`` errors in the presence of fd " -"redirection. Patch by Segev Finer." -msgstr "" - -#: ../NEWS:23579 -msgid "" -":issue:`42119`: Fix check for macOS SDK paths when building Python. Narrow " -"search to match contents of SDKs, namely only files in ``/System/Library``, " -"``/System/IOSSupport``, and ``/usr`` other than ``/usr/local``. Previously, " -"anything under ``/System`` was assumed to be in an SDK which causes problems" -" with the new file system layout in 10.15+ where user file systems may " -"appear to be mounted under ``/System``. Paths in ``/Library`` were also " -"incorrectly treated as SDK locations." -msgstr "" - -#: ../NEWS:23587 -msgid ":issue:`43568`: Drop support for MACOSX_DEPLOYMENT_TARGET < 10.3" -msgstr "" - -#: ../NEWS:23589 -msgid "" -":issue:`44009`: Provide \"python3.x-intel64\" executable to allow reliably " -"forcing macOS universal2 framework builds to run under Rosetta 2 Intel-64 " -"emulation on Apple Silicon Macs. This can be useful for testing or when " -"universal2 wheels are not yet available." -msgstr "" - -#: ../NEWS:23594 -msgid "" -":issue:`43851`: Build SQLite with ``SQLITE_OMIT_AUTOINIT`` on macOS. Patch " -"by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:23597 -msgid ":issue:`43492`: Update macOS installer to use SQLite 3.35.4." -msgstr "" - -#: ../NEWS:23599 -msgid "" -":issue:`42235`: ``Mac/BuildScript/build-installer.py`` will now use \"--" -"enable-optimizations\" and ``--with-lto`` when building on macOS 10.15 or " -"later." -msgstr "" - -#: ../NEWS:23606 -msgid "" -":issue:`37903`: Add mouse actions to the shell sidebar. Left click and " -"optional drag selects one or more lines, as with the editor line number " -"sidebar. Right click after selecting raises a context menu with 'copy with " -"prompts'. This zips together prompts from the sidebar with lines from the " -"selected text." -msgstr "" - -#: ../NEWS:23612 -msgid "" -":issue:`43981`: Fix reference leak in test_sidebar and test_squeezer. " -"Patches by Terry Jan Reedy and Pablo Galindo" -msgstr "" - -#: ../NEWS:23615 -msgid ":issue:`37892`: Indent IDLE Shell input with spaces instead of tabs" -msgstr "" - -#: ../NEWS:23617 -msgid "" -":issue:`43655`: IDLE dialog windows are now recognized as dialogs by window " -"managers on macOS and X Window." -msgstr "" - -#: ../NEWS:23620 -msgid ":issue:`37903`: IDLE's shell now shows prompts in a separate side-bar." -msgstr "" - -#: ../NEWS:23625 -msgid "" -":issue:`43916`: Add a new :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type " -"flag to disallow creating type instances. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:23628 -msgid "" -":issue:`43774`: Remove the now unused ``PYMALLOC_DEBUG`` macro. Debug hooks " -"on memory allocators are now installed by default if Python is built in " -"debug mode (if ``Py_DEBUG`` macro is defined). Moreover, they can now be " -"used on Python build in release mode (ex: using ``PYTHONMALLOC=debug`` " -"environment variable)." -msgstr "" - -#: ../NEWS:23634 -msgid "" -":issue:`43962`: _PyInterpreterState_IDIncref() now calls " -"_PyInterpreterState_IDInitref() and always increments id_refcount. " -"Previously, calling _xxsubinterpreters.get_current() could create an " -"id_refcount inconsistency when a _xxsubinterpreters.InterpreterID object was" -" deallocated. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:23640 -msgid "" -":issue:`28254`: Add new C-API functions to control the state of the garbage " -"collector: :c:func:`PyGC_Enable()`, :c:func:`PyGC_Disable()`, " -":c:func:`PyGC_IsEnabled()`, corresponding to the functions in the :mod:`gc` " -"module." -msgstr "" - -#: ../NEWS:23645 -msgid "" -":issue:`43908`: Introduce :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` flag for " -"immutable type objects, and modify :c:func:`PyType_Ready` to set it for " -"static types. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:23649 -msgid "" -":issue:`43795`: :c:func:`PyMem_Calloc` is now available in the limited C API" -" (``Py_LIMITED_API``)." -msgstr "" - -#: ../NEWS:23652 -msgid "" -":issue:`43868`: :c:func:`PyOS_ReadlineFunctionPointer` is no longer exported" -" by limited C API headers and by ``python3.dll`` on Windows. Like any " -"function that takes ``FILE*``, it is not part of the stable ABI." -msgstr "" - -#: ../NEWS:23656 -msgid "" -":issue:`43795`: Stable ABI and limited API definitions are generated from a " -"central manifest (:pep:`652`)." -msgstr "" - -#: ../NEWS:23659 -msgid "" -":issue:`43753`: Add the :c:func:`Py_Is(x, y) ` function to test if " -"the *x* object is the *y* object, the same as ``x is y`` in Python. Add also" -" the :c:func:`Py_IsNone`, :c:func:`Py_IsTrue`, :c:func:`Py_IsFalse` " -"functions to test if an object is, respectively, the ``None`` singleton, the" -" ``True`` singleton or the ``False`` singleton. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:23668 -msgid "Python 3.10.0 alpha 7" -msgstr "" - -#: ../NEWS:23670 -msgid "*Release date: 2021-04-05*" -msgstr "" - -#: ../NEWS:23675 -msgid "" -":issue:`42988`: :cve:`2021-3426`: Remove the ``getfile`` feature of the " -":mod:`pydoc` module which could be abused to read arbitrary files on the " -"disk (directory traversal vulnerability). Moreover, even source code of " -"Python modules can contain sensitive data like passwords. Vulnerability " -"reported by David Schwörer." -msgstr "" - -#: ../NEWS:23681 -msgid "" -":issue:`43285`: :mod:`ftplib` no longer trusts the IP address value returned" -" from the server in response to the PASV command by default. This prevents " -"a malicious FTP server from using the response to probe IPv4 address and " -"port combinations on the client network." -msgstr "" - -#: ../NEWS:23686 -msgid "" -"Code that requires the former vulnerable behavior may set a " -"``trust_server_pasv_ipv4_address`` attribute on their :class:`ftplib.FTP` " -"instances to ``True`` to re-enable it." -msgstr "" - -#: ../NEWS:23690 -msgid "" -":issue:`43439`: Add audit hooks for :func:`gc.get_objects`, " -":func:`gc.get_referrers` and :func:`gc.get_referents`. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../NEWS:23697 -msgid ":issue:`27129`: Update CPython bytecode magic number." -msgstr "" - -#: ../NEWS:23699 -msgid ":issue:`43672`: Raise ImportWarning when calling find_loader()." -msgstr "" - -#: ../NEWS:23701 -msgid "" -":issue:`43660`: Fix crash that happens when replacing ``sys.stderr`` with a " -"callable that can remove the object while an exception is being printed. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:23705 -msgid "" -":issue:`27129`: The bytecode interpreter uses instruction, rather byte, " -"offsets internally. This reduces the number of EXTENDED_ARG instructions " -"needed and streamlines instruction dispatch a bit." -msgstr "" - -#: ../NEWS:23709 -msgid "" -":issue:`40645`: Fix reference leak in the :mod:`!_hashopenssl` extension. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:23712 -msgid "" -":issue:`42134`: Calls to find_module() by the import system now raise " -"ImportWarning." -msgstr "" - -#: ../NEWS:23715 -msgid "" -":issue:`41064`: Improve the syntax error for invalid usage of double starred" -" elements ('**') in f-strings. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:23718 -msgid "" -":issue:`43575`: Speed up calls to ``map()`` by using the :pep:`590` " -"``vectorcall`` calling convention. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:23721 -msgid "" -":issue:`42137`: The import system now prefers using ``__spec__`` for " -"``ModuleType.__repr__`` over ``module_repr()``." -msgstr "" - -#: ../NEWS:23724 -msgid "" -":issue:`43452`: Added micro-optimizations to ``_PyType_Lookup()`` to improve" -" cache lookup performance in the common case of cache hits." -msgstr "" - -#: ../NEWS:23727 -msgid "" -":issue:`43555`: Report the column offset for :exc:`SyntaxError` for invalid " -"line continuation characters. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:23730 -msgid "" -":issue:`43517`: Fix misdetection of circular imports when using ``from " -"pkg.mod import attr``, which caused false positives in non-trivial multi-" -"threaded code." -msgstr "" - -#: ../NEWS:23734 -msgid "" -":issue:`43497`: Emit SyntaxWarnings for assertions with tuple constants, " -"this is a regression introduced in python3.7" -msgstr "" - -#: ../NEWS:23737 -msgid "" -":issue:`39316`: Tracing now has correct line numbers for attribute accesses " -"when the attribute is on a different line from the object. Improves " -"debugging and profiling for multi-line method chains." -msgstr "" - -#: ../NEWS:23741 -msgid "" -":issue:`35883`: Python no longer fails at startup with a fatal error if a " -"command line argument contains an invalid Unicode character. The " -":c:func:`Py_DecodeLocale` function now escapes byte sequences which would be" -" decoded as Unicode characters outside the [U+0000; U+10ffff] range." -msgstr "" - -#: ../NEWS:23746 -msgid "" -":issue:`43410`: Fix a bug that was causing the parser to crash when emitting" -" syntax errors when reading input from stdin. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:23749 -msgid "" -":issue:`43406`: Fix a possible race condition where ``PyErr_CheckSignals`` " -"tries to execute a non-Python signal handler." -msgstr "" - -#: ../NEWS:23752 -msgid "" -":issue:`42128`: Add ``__match_args__`` to :ref:`struct sequence objects " -"`. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:23755 -msgid "" -":issue:`43390`: CPython now sets the ``SA_ONSTACK`` flag in ``PyOS_setsig`` " -"for the VM's default signal handlers. This is friendlier to other in-" -"process code that an extension module or embedding use could pull in (such " -"as Golang's cgo) where tiny thread stacks are the norm and ``sigaltstack()``" -" has been used to provide for signal handlers. This is a no-op change for " -"the vast majority of processes that don't use sigaltstack." -msgstr "" - -#: ../NEWS:23762 -msgid "" -":issue:`43287`: Speed up calls to ``filter()`` by using the :pep:`590` " -"``vectorcall`` calling convention. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:23765 -msgid "" -":issue:`37448`: Add a radix tree based memory map to track in-use obmalloc " -"arenas. Use to replace the old implementation of address_in_range(). The " -"radix tree approach makes it easy to increase pool sizes beyond the OS page " -"size. Boosting the pool and arena size allows obmalloc to handle a " -"significantly higher percentage of requests from its ultra-fast paths." -msgstr "" - -#: ../NEWS:23771 -msgid "" -"It also has the advantage of eliminating the memory unsanitary behavior of " -"the previous address_in_range(). The old address_in_range() was marked with " -"the annotations _Py_NO_SANITIZE_ADDRESS, _Py_NO_SANITIZE_THREAD, and " -"_Py_NO_SANITIZE_MEMORY. Those annotations are no longer needed." -msgstr "" - -#: ../NEWS:23776 -msgid "" -"To disable the radix tree map, set a preprocessor flag as follows: " -"``-DWITH_PYMALLOC_RADIX_TREE=0``." -msgstr "" - -#: ../NEWS:23779 -msgid "Co-authored-by: Tim Peters " -msgstr "" - -#: ../NEWS:23781 -msgid "" -":issue:`29988`: Only handle asynchronous exceptions and requests to drop the" -" GIL when returning from a call or on the back edges of loops. Makes sure " -"that :meth:`~object.__exit__` is always called in with statements, even for " -"interrupts." -msgstr "" - -#: ../NEWS:23789 -msgid "" -":issue:`43720`: Document various stdlib deprecations in imp, pkgutil, and " -"importlib.util for removal in Python 3.12." -msgstr "" - -#: ../NEWS:23792 -msgid "" -":issue:`43433`: :class:`xmlrpc.client.ServerProxy` no longer ignores query " -"and fragment in the URL of the server." -msgstr "" - -#: ../NEWS:23795 -msgid "" -":issue:`31956`: The :meth:`~array.array.index` method of " -":class:`array.array` now has optional *start* and *stop* parameters." -msgstr "" - -#: ../NEWS:23798 -msgid "" -":issue:`40066`: Enum: adjust ``repr()`` to show only enum and member name " -"(not value, nor angle brackets) and ``str()`` to show only member name. " -"Update and improve documentation to match." -msgstr "" - -#: ../NEWS:23802 -msgid "" -":issue:`42136`: Deprecate all module_repr() methods found in importlib as " -"their use is being phased out by Python 3.12." -msgstr "" - -#: ../NEWS:23805 -msgid "" -":issue:`35930`: Raising an exception raised in a \"future\" instance will " -"create reference cycles." -msgstr "" - -#: ../NEWS:23808 -msgid "" -":issue:`41369`: Finish updating the vendored libmpdec to version 2.5.1. " -"Patch by Stefan Krah." -msgstr "" - -#: ../NEWS:23811 -msgid "" -":issue:`43422`: Revert the _decimal C API which was added in :issue:`41324`." -msgstr "" - -#: ../NEWS:23813 -msgid "" -":issue:`43577`: Fix deadlock when using :class:`ssl.SSLContext` debug " -"callback with :meth:`ssl.SSLContext.sni_callback`." -msgstr "" - -#: ../NEWS:23816 -msgid "" -":issue:`43571`: It's now possible to create MPTCP sockets with IPPROTO_MPTCP" -msgstr "" - -#: ../NEWS:23818 -msgid "" -":issue:`43542`: ``image/heic`` and ``image/heif`` were added to " -":mod:`mimetypes`." -msgstr "" - -#: ../NEWS:23821 -msgid "" -":issue:`40645`: The :mod:`hmac` module now uses OpenSSL's HMAC " -"implementation when digestmod argument is a hash name or builtin hash " -"function." -msgstr "" - -#: ../NEWS:23824 -msgid "" -":issue:`43510`: Implement :pep:`597`: Add ``EncodingWarning`` warning, ``-X " -"warn_default_encoding`` option, :envvar:`PYTHONWARNDEFAULTENCODING` " -"environment variable and ``encoding=\"locale\"`` argument value." -msgstr "" - -#: ../NEWS:23828 -msgid ":issue:`43521`: ``ast.unparse`` can now render NaNs and empty sets." -msgstr "" - -#: ../NEWS:23830 -msgid "" -":issue:`42914`: :func:`pprint.pprint` gains a new boolean " -"``underscore_numbers`` optional argument to emit integers with thousands " -"separated by an underscore character for improved readability (for example " -"``1_000_000`` instead of ``1000000``)." -msgstr "" - -#: ../NEWS:23835 -msgid "" -":issue:`41361`: :meth:`~collections.deque.rotate` calls are now slightly " -"faster due to faster argument parsing." -msgstr "" - -#: ../NEWS:23838 -msgid "" -":issue:`43423`: :func:`subprocess.communicate` no longer raises an " -"IndexError when there is an empty stdout or stderr IO buffer during a " -"timeout on Windows." -msgstr "" - -#: ../NEWS:23842 -msgid "" -":issue:`27820`: Fixed long-standing bug of smtplib.SMTP where doing AUTH " -"LOGIN with initial_response_ok=False will fail." -msgstr "" - -#: ../NEWS:23845 -msgid "" -"The cause is that SMTP.auth_login _always_ returns a password if provided " -"with a challenge string, thus non-compliant with the standard for AUTH " -"LOGIN." -msgstr "" - -#: ../NEWS:23849 -msgid "Also fixes bug with the test for smtpd." -msgstr "Juga memperbaiki bug dengan pengujian smtpd." - -#: ../NEWS:23851 -msgid "" -":issue:`43445`: Add frozen modules to :data:`sys.stdlib_module_names`. For " -"example, add ``\"_frozen_importlib\"`` and " -"``\"_frozen_importlib_external\"`` names." -msgstr "" - -#: ../NEWS:23855 -msgid "" -":issue:`43245`: Add keyword arguments support to ``ChainMap.new_child()``." -msgstr "" - -#: ../NEWS:23857 -msgid "" -":issue:`29982`: Add optional parameter *ignore_cleanup_errors* to " -":func:`tempfile.TemporaryDirectory` and allow multiple :func:`cleanup` " -"attempts. Contributed by C.A.M. Gerlach." -msgstr "" - -#: ../NEWS:23861 -msgid "" -":issue:`43428`: Include changes from `importlib_metadata 3.7 " -"`_:" -msgstr "" - -#: ../NEWS:23864 -msgid "Performance enhancements to distribution discovery." -msgstr "" - -#: ../NEWS:23866 -msgid "``entry_points`` only returns unique distributions." -msgstr "" - -#: ../NEWS:23868 -msgid "" -"Introduces new ``EntryPoints`` object for containing a set of entry points " -"with convenience methods for selecting entry points by group or name. " -"``entry_points`` now returns this object if selection parameters are " -"supplied but continues to return a dict object for compatibility. Users are " -"encouraged to rely on the selection interface. The dict object result is " -"likely to be deprecated in the future." -msgstr "" - -#: ../NEWS:23875 -msgid "" -"Added packages_distributions function to return a mapping of packages to the" -" distributions that provide them." -msgstr "" - -#: ../NEWS:23878 -msgid "" -":issue:`43332`: Improves the networking efficiency of :mod:`http.client` " -"when using a proxy via :meth:`~HTTPConnection.set_tunnel`. Fewer small send" -" calls are made during connection setup." -msgstr "" - -#: ../NEWS:23882 -msgid "" -":issue:`43420`: Improve performance of :class:`fractions.Fraction` " -"arithmetics for large components. Contributed by Sergey B. Kirpichev." -msgstr "" - -#: ../NEWS:23885 -msgid "" -":issue:`43356`: Allow passing a signal number to " -"``_thread.interrupt_main()``." -msgstr "" - -#: ../NEWS:23887 -msgid "" -":issue:`43399`: Fix ``ElementTree.extend`` not working on iterators when " -"using the Python implementation" -msgstr "" - -#: ../NEWS:23890 -msgid "" -":issue:`43369`: Improve :mod:`sqlite3` error handling: If " -"``sqlite3_column_text()`` and ``sqlite3_column_blob()`` set " -"``SQLITE_NOMEM``, :exc:`MemoryError` is now raised. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../NEWS:23895 -msgid "" -":issue:`43368`: Fix a regression introduced in PR 24562, where an empty " -"bytestring was fetched as ``None`` instead of ``b''`` in :mod:`sqlite3`. " -"Patch by Mariusz Felisiak." -msgstr "" - -#: ../NEWS:23899 -msgid "" -":issue:`41282`: Fixed stacklevel of ``DeprecationWarning`` emitted from " -"``import distutils``." -msgstr "" - -#: ../NEWS:23902 -msgid "" -":issue:`42129`: ``importlib.resources`` now honors namespace packages, " -"merging resources from each location in the namespace as introduced in " -"``importlib_resources`` 3.2 and including incidental changes through 5.0.3." -msgstr "" - -#: ../NEWS:23907 -msgid "" -":issue:`43295`: :meth:`datetime.datetime.strptime` now raises ``ValueError``" -" instead of ``IndexError`` when matching ``'z'`` with the ``%z`` format " -"specifier." -msgstr "" - -#: ../NEWS:23911 -msgid "" -":issue:`43125`: Return empty string if base64mime.body_encode receive empty " -"bytes" -msgstr "" - -#: ../NEWS:23914 -msgid "" -":issue:`43084`: :func:`curses.window.enclose` returns now ``True`` or " -"``False`` (as was documented) instead of ``1`` or ``0``." -msgstr "" - -#: ../NEWS:23917 -msgid ":issue:`42994`: Add MIME types for opus, AAC, 3gpp and 3gpp2" -msgstr "" - -#: ../NEWS:23919 -msgid "" -":issue:`14678`: Add an invalidate_caches() method to the " -"zipimport.zipimporter class to support importlib.invalidate_caches(). Patch " -"by Desmond Cheong." -msgstr "" - -#: ../NEWS:23922 -msgid "" -":issue:`42782`: Fail fast in :func:`shutil.move` to avoid creating " -"destination directories on failure." -msgstr "" - -#: ../NEWS:23925 -msgid "" -":issue:`40066`: Enum's ``repr()`` and ``str()`` have changed: ``repr()`` is " -"now *EnumClass.MemberName* and ``str()`` is *MemberName*. Additionally, " -"stdlib Enum's whose contents are available as module attributes, such as " -"``RegexFlag.IGNORECASE``, have their ``repr()`` as *module.name*, e.g. " -"``re.IGNORECASE``." -msgstr "" - -#: ../NEWS:23931 -msgid "" -":issue:`26053`: Fixed bug where the :mod:`pdb` interactive run command " -"echoed the args from the shell command line, even if those have been " -"overridden at the pdb prompt." -msgstr "" - -#: ../NEWS:23935 -msgid "" -":issue:`24160`: Fixed bug where breakpoints did not persist across multiple " -"debugger sessions in :mod:`pdb`'s interactive mode." -msgstr "" - -#: ../NEWS:23938 -msgid "" -":issue:`40701`: When the :data:`tempfile.tempdir` global variable is set to " -"a value of type bytes, it is now handled consistently. Previously " -"exceptions could be raised from some tempfile APIs when the directory did " -"not already exist in this situation. Also ensures that the " -":func:`tempfile.gettempdir` and :func:`tempfile.gettempdirb` functions " -"*always* return ``str`` and ``bytes`` respectively." -msgstr "" - -#: ../NEWS:23945 -msgid "" -":issue:`39342`: Expose ``X509_V_FLAG_ALLOW_PROXY_CERTS`` as " -":const:`~ssl.VERIFY_ALLOW_PROXY_CERTS` to allow proxy certificate validation" -" as explained in https://docs.openssl.org/1.1.1/man7/proxy-certificates/." -msgstr "" - -#: ../NEWS:23950 -msgid "" -":issue:`31861`: Add builtins.aiter and builtins.anext. Patch by Joshua " -"Bronson (@jab), Daniel Pope (@lordmauve), and Justin Wang (@justin39)." -msgstr "" - -#: ../NEWS:23956 -msgid "" -":issue:`43199`: Answer \"Why is there no goto?\" in the Design and History " -"FAQ." -msgstr "" - -#: ../NEWS:23958 -msgid "" -":issue:`43407`: Clarified that a result from :func:`time.monotonic`, " -":func:`time.perf_counter`, :func:`time.process_time`, or " -":func:`time.thread_time` can be compared with the result from any following " -"call to the same function - not just the next immediate call." -msgstr "" - -#: ../NEWS:23963 -msgid "" -":issue:`43354`: Fix type documentation for ``Fault.faultCode``; the type has" -" to be ``int`` instead of ``str``." -msgstr "" - -#: ../NEWS:23966 -msgid "" -":issue:`41933`: Clarified wording of s * n in the Common Sequence Operations" -msgstr "" - -#: ../NEWS:23971 -msgid "" -":issue:`37945`: Fix test_getsetlocale_issue1813() of test_locale: skip the " -"test if ``setlocale()`` fails. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:23974 -msgid "" -":issue:`41561`: Add workaround for Ubuntu's custom OpenSSL security level " -"policy." -msgstr "" - -#: ../NEWS:23980 -msgid "" -":issue:`43179`: Introduce and correctly use ALIGNOF_X in place of SIZEOF_X " -"for alignment-related code in optimized string routines. Patch by Jessica " -"Clarke." -msgstr "" - -#: ../NEWS:23984 -msgid ":issue:`43631`: Update macOS, Windows, and CI to OpenSSL 1.1.1k." -msgstr "" - -#: ../NEWS:23986 -msgid "" -":issue:`43617`: Improve configure.ac: Check for presence of autoconf-archive" -" package and remove our copies of M4 macros." -msgstr "" - -#: ../NEWS:23989 -msgid "" -":issue:`43466`: The ``configure`` script now supports ``--with-openssl-" -"rpath`` option." -msgstr "" - -#: ../NEWS:23992 -msgid "" -":issue:`43372`: Use ``_freeze_importlib`` to generate code for the " -"``__hello__`` module. This approach ensures the code matches the interpreter" -" version. Previously, PYTHON_FOR_REGEN was used to generate the code, which" -" might be wrong. The marshal format for code objects has changed with " -":issue:`42246`, commit 877df851. Update the code and the expected code sizes" -" in ctypes test_frozentable." -msgstr "" - -#: ../NEWS:24002 -msgid "" -":issue:`43440`: Build :mod:`sqlite3` with the ``R*Tree`` module enabled. " -"Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:24008 -msgid "" -":issue:`42225`: Document that IDLE can fail on Unix either from " -"misconfigured IP masquerade rules or failure displaying complex colored " -"(non-ascii) characters." -msgstr "" - -#: ../NEWS:24015 -msgid "" -":issue:`43688`: The limited C API is now supported if Python is built in " -"debug mode (if the ``Py_DEBUG`` macro is defined). In the limited C API, the" -" :c:func:`Py_INCREF` and :c:func:`Py_DECREF` functions are now implemented " -"as opaque function calls, rather than accessing directly the " -":c:member:`PyObject.ob_refcnt` member, if Python is built in debug mode and " -"the ``Py_LIMITED_API`` macro targets Python 3.10 or newer. It became " -"possible to support the limited C API in debug mode because the " -":c:type:`PyObject` structure is the same in release and debug mode since " -"Python 3.8 (see :issue:`36465`)." -msgstr "" - -#: ../NEWS:24025 -msgid "" -"The limited C API is still not supported in the ``--with-trace-refs`` " -"special build (``Py_TRACE_REFS`` macro)." -msgstr "" - -#: ../NEWS:24030 -msgid ":issue:`43244`: Remove the ``pyarena.h`` header file with functions:" -msgstr "" - -#: ../NEWS:24032 -msgid "``PyArena_New()``" -msgstr "" - -#: ../NEWS:24033 -msgid "``PyArena_Free()``" -msgstr "" - -#: ../NEWS:24034 -msgid "``PyArena_Malloc()``" -msgstr "" - -#: ../NEWS:24035 -msgid "``PyArena_AddPyObject()``" -msgstr "" - -#: ../NEWS:24037 -msgid "" -"These functions were undocumented, excluded from the limited C API, and were" -" only used internally by the compiler. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:24040 -msgid "" -":issue:`43244`: Remove the compiler and parser functions using ``struct " -"_mod`` type, because the public AST C API was removed:" -msgstr "" - -#: ../NEWS:24043 -msgid "``PyAST_Compile()``" -msgstr "" - -#: ../NEWS:24044 -msgid "``PyAST_CompileEx()``" -msgstr "" - -#: ../NEWS:24045 -msgid "``PyAST_CompileObject()``" -msgstr "" - -#: ../NEWS:24046 -msgid "``PyFuture_FromAST()``" -msgstr "" - -#: ../NEWS:24047 -msgid "``PyFuture_FromASTObject()``" -msgstr "" - -#: ../NEWS:24048 -msgid "``PyParser_ASTFromFile()``" -msgstr "" - -#: ../NEWS:24049 -msgid "``PyParser_ASTFromFileObject()``" -msgstr "" - -#: ../NEWS:24050 -msgid "``PyParser_ASTFromFilename()``" -msgstr "" - -#: ../NEWS:24051 -msgid "``PyParser_ASTFromString()``" -msgstr "" - -#: ../NEWS:24052 -msgid "``PyParser_ASTFromStringObject()``" -msgstr "" - -#: ../NEWS:24054 -msgid "" -"These functions were undocumented and excluded from the limited C API. Patch" -" by Victor Stinner." -msgstr "" - -#: ../NEWS:24057 -msgid "" -":issue:`43244`: Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header " -"files. These functions were undocumented and excluded from the limited C " -"API. Most names defined by these header files were not prefixed by ``Py`` " -"and so could create names conflicts. For example, ``Python-ast.h`` defined a" -" ``Yield`` macro which was conflict with the ``Yield`` name used by the " -"Windows ```` header. Use the Python :mod:`ast` module instead. " -"Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:24065 -msgid "" -":issue:`43541`: Fix a ``PyEval_EvalCodeEx()`` regression: fix reference " -"counting on builtins. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:24068 -msgid "" -":issue:`43244`: Remove the ``symtable.h`` header file and the undocumented " -"functions:" -msgstr "" - -#: ../NEWS:24071 -msgid "``PyST_GetScope()``" -msgstr "" - -#: ../NEWS:24072 -msgid "``PySymtable_Build()``" -msgstr "" - -#: ../NEWS:24073 -msgid "``PySymtable_BuildObject()``" -msgstr "" - -#: ../NEWS:24074 -msgid "``PySymtable_Free()``" -msgstr "" - -#: ../NEWS:24075 -msgid "``Py_SymtableString()``" -msgstr "" - -#: ../NEWS:24076 -msgid "``Py_SymtableStringObject()``" -msgstr "" - -#: ../NEWS:24078 -msgid "" -"The ``Py_SymtableString()`` function was part the stable ABI by mistake but " -"it could not be used, because the ``symtable.h`` header file was excluded " -"from the limited C API." -msgstr "" - -#: ../NEWS:24082 -msgid "The Python :mod:`symtable` module remains available and is unchanged." -msgstr "" - -#: ../NEWS:24086 -msgid "" -":issue:`43244`: Remove the ``PyAST_Validate()`` function. It is no longer " -"possible to build a AST object (``mod_ty`` type) with the public C API. The " -"function was already excluded from the limited C API (:pep:`384`). Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:24093 -msgid "Python 3.10.0 alpha 6" -msgstr "" - -#: ../NEWS:24095 -msgid "*Release date: 2021-03-01*" -msgstr "" - -#: ../NEWS:24100 -msgid "" -":issue:`42967`: Fix web cache poisoning vulnerability by defaulting the " -"query args separator to ``&``, and allowing the user to choose a custom " -"separator." -msgstr "" - -#: ../NEWS:24107 -msgid "" -":issue:`43321`: Fix ``SystemError`` raised when ``PyArg_Parse*()`` is used " -"with ``#`` but without ``PY_SSIZE_T_CLEAN`` defined." -msgstr "" - -#: ../NEWS:24110 -msgid "" -":issue:`36346`: ``PyArg_Parse*()`` functions now emits " -"``DeprecationWarning`` when ``u`` or ``Z`` format is used. See :pep:`623` " -"for detail." -msgstr "" - -#: ../NEWS:24113 -msgid "" -":issue:`43277`: Add a new :c:func:`PySet_CheckExact` function to the C-API " -"to check if an object is an instance of :class:`set` but not an instance of " -"a subtype. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:24117 -msgid "" -":issue:`42990`: The :data:`types.FunctionType` constructor now inherits the " -"current builtins if the *globals* dictionary has no ``\"__builtins__\"`` " -"key, rather than using ``{\"None\": None}`` as builtins: same behavior as " -":func:`eval` and :func:`exec` functions. Defining a function with ``def " -"function(...): ...`` in Python is not affected, globals cannot be overridden" -" with this syntax: it also inherits the current builtins. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:24125 -msgid "" -":issue:`42990`: Functions have a new ``__builtins__`` attribute which is " -"used to look for builtin symbols when a function is executed, instead of " -"looking into ``__globals__['__builtins__']``. Patch by Mark Shannon and " -"Victor Stinner." -msgstr "" - -#: ../NEWS:24130 -msgid "" -":issue:`43149`: Improve the error message in the parser for exception groups" -" without parentheses. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:24133 -msgid "" -":issue:`43121`: Fixed an incorrect :exc:`SyntaxError` message for missing " -"comma in literals. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:24136 -msgid "" -":issue:`42819`: :mod:`readline`: Explicitly disable bracketed paste in the " -"interactive interpreter, even if it's set in the inputrc, is enabled by " -"default (eg GNU Readline 8.1), or a user calls " -"``readline.read_init_file()``. The Python REPL has not implemented bracketed" -" paste support. Also, bracketed mode writes the ``\"\\x1b[?2004h\"`` escape " -"sequence into stdout which causes test failures in applications that don't " -"support it. It can still be explicitly enabled by calling " -"``readline.parse_and_bind(\"set enable-bracketed-paste on\")``. Patch by " -"Dustin Rodrigues." -msgstr "" - -#: ../NEWS:24146 -msgid "" -":issue:`42808`: Simple calls to ``type(object)`` are now faster due to the " -"``vectorcall`` calling convention. Patch by Dennis Sweeney." -msgstr "" - -#: ../NEWS:24149 -msgid "" -":issue:`42217`: Make the compiler merges same co_code and co_linetable " -"objects in a module like already did for co_consts." -msgstr "" - -#: ../NEWS:24152 -msgid "" -":issue:`41972`: Substring search functions such as ``str1 in str2`` and " -"``str2.find(str1)`` now sometimes use the \"Two-Way\" string comparison " -"algorithm to avoid quadratic behavior on long strings." -msgstr "" - -#: ../NEWS:24156 -msgid "" -":issue:`42128`: Implement :pep:`634` (structural pattern matching). Patch by" -" Brandt Bucher." -msgstr "" - -#: ../NEWS:24159 -msgid "" -":issue:`40692`: In the :class:`concurrent.futures.ProcessPoolExecutor`, " -"validate that :func:`multiprocess.synchronize` is available on a given " -"platform and rely on that check in the :mod:`concurrent.futures` test suite " -"so we can run tests that are unrelated to :class:`ProcessPoolExecutor` on " -"those platforms." -msgstr "" - -#: ../NEWS:24165 -msgid "" -":issue:`38302`: If :func:`object.__ipow__` returns :data:`NotImplemented`, " -"the operator will correctly fall back to :func:`object.__pow__` and " -":func:`object.__rpow__` as expected." -msgstr "" - -#: ../NEWS:24172 -msgid "" -":issue:`43316`: The ``python -m gzip`` command line application now properly" -" fails when detecting an unsupported extension. It exits with a non-zero " -"exit code and prints an error message to stderr." -msgstr "" - -#: ../NEWS:24176 -msgid "" -":issue:`43317`: Set the chunk size for the ``gzip`` module main function to " -"io.DEFAULT_BUFFER_SIZE. This is slightly faster than the 1024 bytes constant" -" that was used previously." -msgstr "" - -#: ../NEWS:24180 -msgid "" -":issue:`43146`: Handle None in single-arg versions of " -":func:`~traceback.print_exception` and :func:`~traceback.format_exception`." -msgstr "" - -#: ../NEWS:24184 -msgid "" -":issue:`43260`: Fix TextIOWrapper can not flush internal buffer forever " -"after very large text is written." -msgstr "" - -#: ../NEWS:24187 -msgid "" -":issue:`43258`: Prevent needless allocation of :mod:`sqlite3` aggregate " -"function context when no rows match an aggregate query. Patch by Erlend E. " -"Aasland." -msgstr "" - -#: ../NEWS:24191 -msgid "" -":issue:`43251`: Improve :mod:`sqlite3` error handling: " -"``sqlite3_column_name()`` failures now result in :exc:`MemoryError`. Patch " -"by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:24195 -msgid "" -":issue:`40956`: Fix segfault in :meth:`sqlite3.Connection.backup` if no " -"argument was provided. The regression was introduced by PR 23838. Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../NEWS:24199 -msgid "" -":issue:`43172`: The readline module now passes its tests when built directly" -" against libedit. Existing irreconcilable API differences remain in " -":func:`readline.get_begidx` and :func:`readline.get_endidx` behavior based " -"on libreadline vs libedit use." -msgstr "" - -#: ../NEWS:24204 -msgid "" -":issue:`43163`: Fix a bug in :mod:`codeop` that was causing it to not ask " -"for more input when multi-line snippets have unclosed parentheses. Patch by " -"Pablo Galindo" -msgstr "" - -#: ../NEWS:24208 -msgid "" -":issue:`43162`: deprecate unsupported ability to access enum members as " -"attributes of other enum members" -msgstr "" - -#: ../NEWS:24211 -msgid "" -":issue:`43146`: Fix recent regression in None argument handling in " -":mod:`~traceback` module functions." -msgstr "" - -#: ../NEWS:24214 -msgid "" -":issue:`43102`: The namedtuple __new__ method had its __builtins__ set to " -"None instead of an actual dictionary. This created problems for " -"introspection tools." -msgstr "" - -#: ../NEWS:24218 -msgid "" -":issue:`43106`: Added :const:`~os.O_EVTONLY`, :const:`~os.O_FSYNC`, " -":const:`~os.O_SYMLINK` and :const:`~os.O_NOFOLLOW_ANY` for macOS. Patch by " -"Donghee Na." -msgstr "" - -#: ../NEWS:24222 -msgid "" -":issue:`42960`: Adds :const:`resource.RLIMIT_KQUEUES` constant from FreeBSD " -"to the :mod:`resource` module." -msgstr "" - -#: ../NEWS:24225 -msgid "" -":issue:`42151`: Make the pure Python implementation of " -":mod:`xml.etree.ElementTree` behave the same as the C implementation " -"(:mod:`!_elementree`) regarding default attribute values (by not setting " -"``specified_attributes=1``)." -msgstr "" - -#: ../NEWS:24230 -msgid "" -":issue:`29753`: In ctypes, now packed bitfields are calculated properly and " -"the first item of packed bitfields is now shrank correctly." -msgstr "" - -#: ../NEWS:24236 -msgid "" -":issue:`27646`: Clarify that 'yield from ' works with any iterable, " -"not just iterators." -msgstr "" - -#: ../NEWS:24239 -msgid "" -":issue:`36346`: Update some deprecated unicode APIs which are documented as " -"\"will be removed in 4.0\" to \"3.12\". See :pep:`623` for detail." -msgstr "" - -#: ../NEWS:24245 -msgid "" -":issue:`43288`: Fix test_importlib to correctly skip Unicode file tests if " -"the filesystem does not support them." -msgstr "" - -#: ../NEWS:24251 -msgid ":issue:`43174`: Windows build now uses ``/utf-8`` compiler option." -msgstr "" - -#: ../NEWS:24253 -msgid "" -":issue:`43103`: Add a new configure ``--without-static-libpython`` option to" -" not build the ``libpythonMAJOR.MINOR.a`` static library and not install the" -" ``python.o`` object file." -msgstr "" - -#: ../NEWS:24257 -msgid "" -":issue:`13501`: The configure script can now use *libedit* instead of " -"*readline* with the command line option ``--with-readline=editline``." -msgstr "" - -#: ../NEWS:24260 -msgid "" -":issue:`42603`: Make configure script use pkg-config to detect the location " -"of Tcl/Tk headers and libraries, used to build tkinter." -msgstr "" - -#: ../NEWS:24263 -msgid "" -"On macOS, a Tcl/Tk configuration provided by pkg-config will be preferred " -"over Tcl/Tk frameworks installed in ``/{System/,}Library/Frameworks``. If " -"both exist and the latter is preferred, the appropriate ``--with-tcltk-*`` " -"configuration options need to be explicitly set." -msgstr "" - -#: ../NEWS:24268 -msgid "" -":issue:`39448`: Add the \"regen-frozen\" makefile target that regenerates " -"the code for the frozen ``__hello__`` module." -msgstr "" - -#: ../NEWS:24274 -msgid "" -":issue:`43155`: :c:func:`PyCMethod_New` is now present in ``python3.lib``." -msgstr "" - -#: ../NEWS:24279 -msgid ":issue:`41837`: Update macOS installer build to use OpenSSL 1.1.1j." -msgstr "" - -#: ../NEWS:24284 -msgid "" -":issue:`43283`: Document why printing to IDLE's Shell is often slower than " -"printing to a system terminal and that it can be made faster by pre-" -"formatting a single string before printing." -msgstr "" - -#: ../NEWS:24291 -msgid "" -":issue:`43278`: Always put compiler and system information on the first line" -" of the REPL welcome message." -msgstr "" - -#: ../NEWS:24294 -msgid "" -":issue:`43270`: Remove the private ``_PyErr_OCCURRED()`` macro: use the " -"public :c:func:`PyErr_Occurred` function instead." -msgstr "" - -#: ../NEWS:24297 -msgid "" -":issue:`35134`: Move odictobject.h, parser_interface.h, picklebufobject.h, " -"pydebug.h, and pyfpe.h into the cpython/ directory. They must not be " -"included directly, as they are already included by Python.h: :ref:`Include " -"Files `." -msgstr "" - -#: ../NEWS:24302 -msgid "" -":issue:`35134`: Move pyarena.h, pyctype.h, and pytime.h into the cpython/ " -"directory. They must not be included directly, as they are already included " -"by Python.h: :ref:`Include Files `." -msgstr "" - -#: ../NEWS:24306 -msgid "" -":issue:`40170`: :c:func:`PyExceptionClass_Name` is now always declared as a " -"function, in order to hide implementation details. The macro accessed " -":c:member:`PyTypeObject.tp_name` directly. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:24310 -msgid "" -":issue:`43239`: The :c:func:`PyCFunction_New` function is now exported in " -"the ABI when compiled with ``-fvisibility=hidden``." -msgstr "" - -#: ../NEWS:24313 -msgid "" -":issue:`40170`: :c:func:`PyIter_Check` is now always declared as a function," -" in order to hide implementation details. The macro accessed " -":c:member:`PyTypeObject.tp_iternext` directly. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:24317 -msgid "" -":issue:`40170`: Convert :c:func:`PyDescr_IsData` macro to a function to hide" -" implementation details: The macro accessed " -":c:member:`PyTypeObject.tp_descr_set` directly. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:24322 -msgid "" -":issue:`43181`: Convert :c:func:`PyObject_TypeCheck` macro to a static " -"inline function. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:24327 -msgid "Python 3.10.0 alpha 5" -msgstr "" - -#: ../NEWS:24329 -msgid "*Release date: 2021-02-02*" -msgstr "" - -#: ../NEWS:24334 -msgid "" -":issue:`42938`: Avoid static buffers when computing the repr of " -":class:`ctypes.c_double` and :class:`ctypes.c_longdouble` values." -msgstr "" - -#: ../NEWS:24340 -msgid ":issue:`42990`: Refactor the ``PyEval_`` family of functions." -msgstr "" - -#: ../NEWS:24342 -msgid "" -"An new function ``_PyEval_Vector`` is added to simplify calls to Python from" -" C." -msgstr "" - -#: ../NEWS:24343 -msgid "``_PyEval_EvalCodeWithName`` is removed" -msgstr "" - -#: ../NEWS:24344 -msgid "" -"``PyEval_EvalCodeEx`` is retained as part of the API, but is not used " -"internally" -msgstr "" - -#: ../NEWS:24346 -msgid "" -":issue:`38631`: Replace :c:func:`Py_FatalError` calls in the compiler with " -"regular :exc:`SystemError` exceptions. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:24349 -msgid "" -":issue:`42997`: Improve error message for missing \":\" before blocks. Patch" -" by Pablo Galindo." -msgstr "" - -#: ../NEWS:24352 -msgid "" -":issue:`43017`: Improve error message in the parser when using un-" -"parenthesised tuples in comprehensions. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:24355 -msgid "" -":issue:`42986`: Fix parser crash when reporting syntax errors in f-string " -"with newlines. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:24358 -msgid "" -":issue:`40176`: Syntax errors for unterminated string literals now point to " -"the start of the string instead of reporting EOF/EOL." -msgstr "" - -#: ../NEWS:24361 -msgid "" -":issue:`42927`: The inline cache for ``LOAD_ATTR`` now also optimizes access" -" to attributes defined by ``__slots__``. This makes reading such attribute " -"up to 30% faster." -msgstr "" - -#: ../NEWS:24365 -msgid "" -":issue:`42864`: Improve error messages in the parser when parentheses are " -"not closed. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:24368 -msgid "" -":issue:`42924`: Fix ``bytearray`` repetition incorrectly copying data from " -"the start of the buffer, even if the data is offset within the buffer (e.g. " -"after reassigning a slice at the start of the ``bytearray`` to a shorter " -"byte string)." -msgstr "" - -#: ../NEWS:24373 -msgid "" -":issue:`42882`: Fix the :c:func:`!_PyUnicode_FromId` function " -"(_Py_IDENTIFIER(var) API) when :c:func:`Py_Initialize` / " -":c:func:`Py_Finalize` is called multiple times: preserve " -"``_PyRuntime.unicode_ids.next_index`` value." -msgstr "" - -#: ../NEWS:24378 -msgid "" -":issue:`42827`: Fix a crash when working out the error line of a " -":exc:`SyntaxError` in some multi-line expressions." -msgstr "" - -#: ../NEWS:24381 -msgid "" -":issue:`42823`: frame.f_lineno is correct even if frame.f_trace is set to " -"True" -msgstr "" - -#: ../NEWS:24383 -msgid "" -":issue:`37324`: Remove deprecated aliases to :ref:`collections-abstract-" -"base-classes` from the :mod:`collections` module." -msgstr "" - -#: ../NEWS:24387 -msgid "" -":issue:`41994`: Fixed possible leak in ``import`` when ``sys.modules`` is " -"not a ``dict``." -msgstr "" - -#: ../NEWS:24390 -msgid "" -":issue:`27772`: In string formatting, preceding the *width* field by ``'0'``" -" no longer affects the default alignment for strings." -msgstr "" - -#: ../NEWS:24396 -msgid "" -":issue:`43108`: Fixed a reference leak in the :mod:`curses` module. Patch by" -" Pablo Galindo" -msgstr "" - -#: ../NEWS:24399 -msgid "" -":issue:`43077`: Update the bundled pip to 21.0.1 and setuptools to 52.0.0." -msgstr "" - -#: ../NEWS:24401 -msgid "" -":issue:`41282`: Deprecate ``distutils`` in documentation and add warning on " -"import." -msgstr "" - -#: ../NEWS:24404 -msgid "" -":issue:`43014`: Improve performance of :mod:`tokenize` by 20-30%. Patch by " -"Anthony Sottile." -msgstr "" - -#: ../NEWS:24407 -msgid ":issue:`42323`: Fix :func:`math.nextafter` for NaN on AIX." -msgstr "" - -#: ../NEWS:24409 -msgid "" -":issue:`42955`: Add :data:`sys.stdlib_module_names`, containing the list of " -"the standard library module names. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:24412 -msgid "" -":issue:`42944`: Fix ``random.Random.sample`` when ``counts`` argument is not" -" ``None``." -msgstr "" - -#: ../NEWS:24415 -msgid "" -":issue:`42934`: Use :class:`~traceback.TracebackException`'s new ``compact``" -" param in :class:`~unittest.TestResult` to reduce time and memory consumed " -"by traceback formatting." -msgstr "" - -#: ../NEWS:24419 -msgid ":issue:`42931`: Add :func:`randbytes` to ``random.__all__``." -msgstr "" - -#: ../NEWS:24421 -msgid "" -":issue:`38250`: [Enum] Flags consisting of a single bit are now considered " -"canonical, and will be the only flags returned from listing and iterating " -"over a Flag class or a Flag member. Multi-bit flags are considered aliases;" -" they will be returned from lookups and operations that result in their " -"value. Iteration for both Flag and Flag members is in definition order." -msgstr "" - -#: ../NEWS:24428 -msgid "" -":issue:`42877`: Added the ``compact`` parameter to the constructor of " -":class:`traceback.TracebackException` to reduce time and memory for use " -"cases that only need to call :func:`TracebackException.format` and " -":func:`TracebackException.format_exception_only`." -msgstr "" - -#: ../NEWS:24433 -msgid "" -":issue:`42923`: The :c:func:`Py_FatalError` function and the " -":mod:`faulthandler` module now dump the list of extension modules on a fatal" -" error." -msgstr "" - -#: ../NEWS:24437 -msgid "" -":issue:`42848`: Removed recursion from " -":class:`~traceback.TracebackException` to allow it to handle long exception " -"chains." -msgstr "" - -#: ../NEWS:24440 -msgid "" -":issue:`42901`: [Enum] move member creation from ``EnumMeta.__new__`` to " -"``_proto_member.__set_name__``, allowing members to be created and visible " -"in ``__init_subclass__``." -msgstr "" - -#: ../NEWS:24444 -msgid "" -":issue:`42780`: Fix os.set_inheritable() for O_PATH file descriptors on " -"Linux." -msgstr "" - -#: ../NEWS:24446 -msgid "" -":issue:`42866`: Fix a reference leak in the ``getcodec()`` function of CJK " -"codecs. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:24449 -msgid "" -":issue:`42846`: Convert the 6 CJK codec extension modules (_codecs_cn, " -"_codecs_hk, _codecs_iso2022, _codecs_jp, _codecs_kr and _codecs_tw) to the " -"multiphase initialization API (:pep:`489`). Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:24453 -msgid ":issue:`42851`: remove __init_subclass__ support for Enum members" -msgstr "" - -#: ../NEWS:24455 -msgid "" -":issue:`42834`: Make internal caches of the ``_json`` module compatible with" -" subinterpreters." -msgstr "" - -#: ../NEWS:24458 -msgid "" -":issue:`41748`: Fix HTMLParser parsing rules for element attributes " -"containing commas with spaces. Patch by Karl Dubost." -msgstr "" - -#: ../NEWS:24461 -msgid "" -":issue:`40810`: Require SQLite 3.7.15 or newer. Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:24463 -msgid "" -":issue:`1635741`: Convert the _multibytecodec extension module (CJK codecs) " -"to multi-phase initialization (:pep:`489`). Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:24466 -msgid "" -":issue:`42802`: The distutils ``bdist_wininst`` command deprecated in Python" -" 3.8 has been removed. The distutils ``bdist_wheel`` command is now " -"recommended to distribute binary packages on Windows." -msgstr "" - -#: ../NEWS:24470 -msgid "" -":issue:`24464`: The undocumented built-in function " -"``sqlite3.enable_shared_cache`` is now deprecated, scheduled for removal in " -"Python 3.12. Its use is strongly discouraged by the SQLite3 documentation." -" Patch by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:24475 -msgid "" -":issue:`42384`: Make pdb populate sys.path[0] exactly the same as regular " -"python execution." -msgstr "" - -#: ../NEWS:24478 -msgid "" -":issue:`42383`: Fix pdb: previously pdb would fail to restart the debugging " -"target if it was specified using a relative path and the current directory " -"changed." -msgstr "" - -#: ../NEWS:24482 -msgid "" -":issue:`42005`: Fix CLI of :mod:`cProfile` and :mod:`profile` to catch " -":exc:`BrokenPipeError`." -msgstr "" - -#: ../NEWS:24485 -msgid "" -":issue:`41604`: Don't decrement the reference count of the previous user_ptr" -" when set_panel_userptr fails." -msgstr "" - -#: ../NEWS:24488 -msgid "" -":issue:`41149`: Allow executing callables that have a boolean value of " -"``False`` when passed to :class:`Threading.thread` as the target. Patch " -"contributed by Barney Stratford." -msgstr "" - -#: ../NEWS:24492 -msgid "" -":issue:`38307`: Add an 'end_lineno' attribute to the Class and Function " -"objects that appear in the tree returned by pyclbr functions. This and the " -"existing 'lineno' attribute define the extent of class and def statements. " -"Patch by Aviral Srivastava." -msgstr "" - -#: ../NEWS:24497 -msgid "" -":issue:`39273`: The ``BUTTON5_*`` constants are now exposed in the " -":mod:`curses` module if available." -msgstr "" - -#: ../NEWS:24500 -msgid "" -":issue:`33289`: Correct call to :mod:`tkinter.colorchooser` to return RGB " -"triplet of ints instead of floats. Patch by Cheryl Sabella." -msgstr "" - -#: ../NEWS:24506 -msgid "" -":issue:`40304`: Fix doc for type(name, bases, dict). Patch by Boris " -"Verkhovskiy and Éric Araujo." -msgstr "" - -#: ../NEWS:24509 -msgid "" -":issue:`42811`: Updated importlib.util.resolve_name() doc to use " -"__spec__.parent instead of __package__. (Thanks Yair Frid.)" -msgstr "" - -#: ../NEWS:24515 -msgid "" -":issue:`40823`: Use :meth:`unittest.TestLoader().loadTestsFromTestCase` " -"instead of :meth:`unittest.makeSuite` in :mod:`sqlite3` tests. Patch by " -"Erlend E. Aasland." -msgstr "" - -#: ../NEWS:24519 -msgid "" -":issue:`40810`: In :mod:`sqlite3`, fix ``CheckTraceCallbackContent`` for " -"SQLite pre 3.7.15." -msgstr "" - -#: ../NEWS:24525 -msgid "" -":issue:`43031`: Pass ``--timeout=$(TESTTIMEOUT)`` option to the default " -"profile task ``./python -m test --pgo`` command." -msgstr "" - -#: ../NEWS:24528 -msgid "" -":issue:`36143`: ``make regen-all`` now also runs ``regen-keyword``. Patch by" -" Victor Stinner." -msgstr "" - -#: ../NEWS:24531 -msgid "" -":issue:`42874`: Removed the grep -q and -E flags in the tzpath validation " -"section of the configure script to better accommodate users of some " -"platforms (specifically Solaris 10)." -msgstr "" - -#: ../NEWS:24535 -msgid "" -":issue:`31904`: Add library search path by wr-cc in " -"add_cross_compiling_paths() for VxWorks." -msgstr "" - -#: ../NEWS:24538 -msgid "" -":issue:`42856`: Add ``--with-wheel-pkg-dir=PATH`` option to the " -"``./configure`` script. If specified, the :mod:`ensurepip` module looks for " -"``setuptools`` and ``pip`` wheel packages in this directory: if both are " -"present, these wheel packages are used instead of ensurepip bundled wheel " -"packages." -msgstr "" - -#: ../NEWS:24543 -msgid "" -"Some Linux distribution packaging policies recommend against bundling " -"dependencies. For example, Fedora installs wheel packages in the " -"``/usr/share/python-wheels/`` directory and don't install the " -"``ensurepip._bundled`` package." -msgstr "" - -#: ../NEWS:24551 -msgid ":issue:`41837`: Updated Windows installer to include OpenSSL 1.1.1i" -msgstr "" - -#: ../NEWS:24553 -msgid ":issue:`42584`: Upgrade Windows installer to use SQLite 3.34.0." -msgstr "" - -#: ../NEWS:24558 -msgid "" -":issue:`42504`: Ensure that the value of " -"sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET') is always a string, " -"even in when the value is parsable as an integer." -msgstr "" - -#: ../NEWS:24565 -msgid "" -":issue:`43008`: Make IDLE invoke :func:`sys.excepthook` in normal, 2-process" -" mode. Patch by Ken Hilton." -msgstr "" - -#: ../NEWS:24568 -msgid "" -":issue:`33065`: Fix problem debugging user classes with __repr__ method." -msgstr "" - -#: ../NEWS:24570 -msgid "" -":issue:`23544`: Disable Debug=>Stack Viewer when user code is running or " -"Debugger is active, to prevent hang or crash. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:24573 -msgid "" -":issue:`32631`: Finish zzdummy example extension module: make menu entries " -"work; add docstrings and tests with 100% coverage." -msgstr "" - -#: ../NEWS:24579 -msgid "" -":issue:`42979`: When Python is built in debug mode (with C assertions), " -"calling a type slot like ``sq_length`` (``__len__()`` in Python) now fails " -"with a fatal error if the slot succeeded with an exception set, or failed " -"with no exception set. The error message contains the slot, the type name, " -"and the current exception (if an exception is set). Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:24585 -msgid "" -":issue:`43030`: Fixed a compiler warning in :c:func:`Py_UNICODE_ISSPACE()` " -"on platforms with signed :c:type:`wchar_t`." -msgstr "" - -#: ../NEWS:24590 -msgid "Python 3.10.0 alpha 4" -msgstr "" - -#: ../NEWS:24592 -msgid "*Release date: 2021-01-04*" -msgstr "" - -#: ../NEWS:24597 -msgid "" -":issue:`42814`: Fix undefined behavior in ``Objects/genericaliasobject.c``." -msgstr "" - -#: ../NEWS:24599 -msgid "" -":issue:`42806`: Fix the column offsets for f-strings :mod:`ast` nodes " -"surrounded by parentheses and for nodes that spawn multiple lines. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../NEWS:24603 -msgid "" -":issue:`40631`: Fix regression where a single parenthesized starred " -"expression was a valid assignment target." -msgstr "" - -#: ../NEWS:24606 -msgid "" -":issue:`27794`: Improve the error message for failed writes/deletes to " -"property objects. When possible, the attribute name is now shown. Patch " -"provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:24610 -msgid "" -":issue:`42745`: Make the type attribute lookup cache per-interpreter. Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:24613 -msgid "" -":issue:`42246`: Jumps to jumps are not eliminated when it would break PEP " -"626." -msgstr "" - -#: ../NEWS:24615 -msgid "" -":issue:`42246`: Make sure that the ``f_lasti`` and ``f_lineno`` attributes " -"of a frame are set correctly when an exception is raised or re-raised. " -"Required for PEP 626." -msgstr "" - -#: ../NEWS:24619 -msgid "" -":issue:`32381`: The coding cookie (ex: ``# coding: latin1``) is now ignored " -"in the command passed to the :option:`-c` command line option. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:24623 -msgid "" -":issue:`30858`: Improve error location in expressions that contain " -"assignments. Patch by Pablo Galindo and Lysandros Nikolaou." -msgstr "" - -#: ../NEWS:24626 -msgid "" -":issue:`42615`: Remove jump commands made redundant by the deletion of " -"unreachable bytecode blocks" -msgstr "" - -#: ../NEWS:24629 -msgid "" -":issue:`42639`: Make the :mod:`atexit` module state per-interpreter. It is " -"now safe have more than one :mod:`atexit` module instance. Patch by Donghee " -"Na and Victor Stinner." -msgstr "" - -#: ../NEWS:24633 -msgid "" -":issue:`32381`: Fix encoding name when running a ``.pyc`` file on Windows: " -":c:func:`PyRun_SimpleFileExFlags()` now uses the correct encoding to decode " -"the filename." -msgstr "" - -#: ../NEWS:24637 -msgid "" -":issue:`42195`: The ``__args__`` of the parameterized generics for " -":data:`typing.Callable` and :class:`collections.abc.Callable` are now " -"consistent. The ``__args__`` for :class:`collections.abc.Callable` are now " -"flattened while :data:`typing.Callable`'s have not changed. To allow this " -"change, :class:`types.GenericAlias` can now be subclassed and " -"``collections.abc.Callable``'s ``__class_getitem__`` will now return a " -"subclass of ``types.GenericAlias``. Tests for typing were also updated to " -"not subclass things like ``Callable[..., T]`` as that is not a valid base " -"class. Finally, both ``Callable``\\ s no longer validate their " -"``argtypes``, in ``Callable[[argtypes], resulttype]`` to prepare for " -":pep:`612`. Patch by Ken Jin." -msgstr "" - -#: ../NEWS:24649 -msgid "" -":issue:`40137`: Convert functools module to use " -":c:func:`PyType_FromModuleAndSpec`." -msgstr "" - -#: ../NEWS:24652 -msgid "" -":issue:`40077`: Convert :mod:`array` to use heap types, and establish module" -" state for these." -msgstr "" - -#: ../NEWS:24655 -msgid ":issue:`42008`: Fix _random.Random() seeding." -msgstr "" - -#: ../NEWS:24657 -msgid "" -":issue:`1635741`: Port the :mod:`pyexpat` extension module to multi-phase " -"initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:24660 -msgid "" -":issue:`40521`: Make the Unicode dictionary of interned strings compatible " -"with subinterpreters. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:24663 -msgid "" -":issue:`39465`: Make :c:func:`!_PyUnicode_FromId` function compatible with " -"subinterpreters. Each interpreter now has an array of identifier objects " -"(interned strings decoded from UTF-8). Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:24670 -msgid "" -":issue:`42257`: Handle empty string in variable executable in " -"platform.libc_ver()" -msgstr "" - -#: ../NEWS:24673 -msgid "" -":issue:`42772`: randrange() now raises a TypeError when step is specified " -"without a stop argument. Formerly, it silently ignored the step argument." -msgstr "" - -#: ../NEWS:24676 -msgid "" -":issue:`42759`: Fixed equality comparison of :class:`tkinter.Variable` and " -":class:`tkinter.font.Font`. Objects which belong to different Tcl " -"interpreters are now always different, even if they have the same name." -msgstr "" - -#: ../NEWS:24680 -msgid "" -":issue:`42756`: Configure LMTP Unix-domain socket to use socket global " -"default timeout when a timeout is not explicitly provided." -msgstr "" - -#: ../NEWS:24683 -msgid "" -":issue:`23328`: Allow / character in username, password fields on _PROXY " -"envars." -msgstr "" - -#: ../NEWS:24686 -msgid "" -":issue:`42740`: :func:`typing.get_args` and :func:`typing.get_origin` now " -"support :pep:`604` union types and :pep:`612` additions to ``Callable``." -msgstr "" - -#: ../NEWS:24689 -msgid "" -":issue:`42655`: :mod:`subprocess` *extra_groups* is now correctly passed " -"into setgroups() system call." -msgstr "" - -#: ../NEWS:24692 -msgid "" -":issue:`42727`: ``EnumMeta.__prepare__`` now accepts ``**kwds`` to properly " -"support ``__init_subclass__``" -msgstr "" - -#: ../NEWS:24695 -msgid "" -":issue:`38308`: Add optional *weights* to *statistics.harmonic_mean()*." -msgstr "" - -#: ../NEWS:24697 -msgid "" -":issue:`42721`: When simple query dialogs (:mod:`tkinter.simpledialog`), " -"message boxes (:mod:`tkinter.messagebox`) or color choose dialog " -"(:mod:`tkinter.colorchooser`) are created without arguments *master* and " -"*parent*, and the default root window is not yet created, and " -":func:`~tkinter.NoDefaultRoot` was not called, a new temporal hidden root " -"window will be created automatically. It will not be set as the default root" -" window and will be destroyed right after closing the dialog window. It will" -" help to use these simple dialog windows in programs which do not need other" -" GUI." -msgstr "" - -#: ../NEWS:24707 -msgid ":issue:`25246`: Optimized :meth:`collections.deque.remove`." -msgstr "" - -#: ../NEWS:24709 -msgid "" -":issue:`35728`: Added a root parameter to :func:`tkinter.font.nametofont`." -msgstr "" - -#: ../NEWS:24711 -msgid "" -":issue:`15303`: :mod:`tkinter` supports now widgets with boolean value " -"False." -msgstr "" - -#: ../NEWS:24713 -msgid "" -":issue:`42681`: Fixed range checks for color and pair numbers in " -":mod:`curses`." -msgstr "" - -#: ../NEWS:24715 -msgid "" -":issue:`42685`: Improved placing of simple query windows in Tkinter (such as" -" :func:`tkinter.simpledialog.askinteger`). They are now centered at the " -"center of the parent window if it is specified and shown, otherwise at the " -"center of the screen." -msgstr "" - -#: ../NEWS:24720 -msgid "" -":issue:`9694`: Argparse help no longer uses the confusing phrase, \"optional" -" arguments\". It uses \"options\" instead." -msgstr "" - -#: ../NEWS:24723 -msgid "" -":issue:`1635741`: Port the :mod:`!_thread` extension module to the " -"multiphase initialization API (:pep:`489`) and convert its static types to " -"heap types." -msgstr "" - -#: ../NEWS:24727 -msgid "" -":issue:`37961`: Fix crash in :func:`tracemalloc.Traceback.__repr__` " -"(regressed in Python 3.9)." -msgstr "" - -#: ../NEWS:24730 -msgid "" -":issue:`42630`: :mod:`tkinter` functions and constructors which need a " -"default root window raise now :exc:`RuntimeError` with descriptive message " -"instead of obscure :exc:`AttributeError` or :exc:`NameError` if it is not " -"created yet or cannot be created automatically." -msgstr "" - -#: ../NEWS:24735 -msgid "" -":issue:`42639`: :func:`atexit._run_exitfuncs` now logs callback exceptions " -"using :data:`sys.unraisablehook`, rather than logging them directly into " -":data:`sys.stderr` and raise the last exception." -msgstr "" - -#: ../NEWS:24739 -msgid "" -":issue:`42644`: ``logging.disable`` will now validate the types and value of" -" its parameter. It also now accepts strings representing the levels (as does" -" ``logging.setLevel``) instead of only the numerical values." -msgstr "" - -#: ../NEWS:24743 -msgid "" -":issue:`42639`: At Python exit, if a callback registered with " -":func:`atexit.register` fails, its exception is now logged. Previously, only" -" some exceptions were logged, and the last exception was always silently " -"ignored." -msgstr "" - -#: ../NEWS:24748 -msgid "" -":issue:`36541`: Fixed lib2to3.pgen2 to be able to parse PEP-570 positional " -"only argument syntax." -msgstr "" - -#: ../NEWS:24751 -msgid "" -":issue:`42382`: In ``importlib.metadata``: - ``EntryPoint`` objects now " -"expose a ``.dist`` object referencing the ``Distribution`` when constructed " -"from a ``Distribution``. - Add support for package discovery under package " -"normalization rules. - The object returned by ``metadata()`` now has a " -"formally defined protocol called ``PackageMetadata`` with declared support " -"for the ``.get_all()`` method. - Synced with importlib_metadata 3.3." -msgstr "" - -#: ../NEWS:24758 -msgid "" -":issue:`41877`: A check is added against misspellings of autospect, " -"auto_spec and set_spec being passed as arguments to patch, patch.object and " -"create_autospec." -msgstr "" - -#: ../NEWS:24762 -msgid "" -":issue:`39717`: [tarfile] update nested exception raising to use ``from " -"None`` or ``from e``" -msgstr "" - -#: ../NEWS:24765 -msgid "" -":issue:`41877`: AttributeError for suspected misspellings of assertions on " -"mocks are now pointing out that the cause are misspelled assertions and also" -" what to do if the misspelling is actually an intended attribute name. The " -"unittest.mock document is also updated to reflect the current set of " -"recognised misspellings." -msgstr "" - -#: ../NEWS:24771 -msgid "" -":issue:`41559`: Implemented :pep:`612`: added ``ParamSpec`` and " -"``Concatenate`` to :mod:`typing`. Patch by Ken Jin." -msgstr "" - -#: ../NEWS:24774 -msgid ":issue:`42385`: StrEnum: fix _generate_next_value_ to return a str" -msgstr "" - -#: ../NEWS:24776 -msgid ":issue:`31904`: Define THREAD_STACK_SIZE for VxWorks." -msgstr "" - -#: ../NEWS:24778 -msgid ":issue:`34750`: [Enum] ``_EnumDict.update()`` is now supported." -msgstr "" - -#: ../NEWS:24780 -msgid "" -":issue:`42517`: Enum: private names do not become members / do not generate " -"errors -- they remain normal attributes" -msgstr "" - -#: ../NEWS:24783 -msgid "" -":issue:`42678`: ``Enum``: call ``__init_subclass__`` after members have been" -" added" -msgstr "" - -#: ../NEWS:24786 -msgid "" -":issue:`28964`: :func:`ast.literal_eval` adds line number information (if " -"available) in error message for malformed nodes." -msgstr "" - -#: ../NEWS:24789 -msgid "" -":issue:`42470`: :func:`random.sample` no longer warns on a sequence which is" -" also a set." -msgstr "" - -#: ../NEWS:24792 -msgid "" -":issue:`31904`: :func:`posixpath.expanduser` returns the input *path* " -"unchanged if user home directory is None on VxWorks." -msgstr "" - -#: ../NEWS:24795 -msgid "" -":issue:`42388`: Fix subprocess.check_output(..., input=None) behavior when " -"text=True to be consistent with that of the documentation and " -"universal_newlines=True." -msgstr "" - -#: ../NEWS:24799 -msgid "" -":issue:`34463`: Fixed discrepancy between :mod:`traceback` and the " -"interpreter in formatting of SyntaxError with lineno not set " -"(:mod:`traceback` was changed to match interpreter)." -msgstr "" - -#: ../NEWS:24803 -msgid "" -":issue:`42393`: Raise :exc:`OverflowError` instead of silent truncation in " -":meth:`socket.ntohs` and :meth:`socket.htons`. Silent truncation was " -"deprecated in Python 3.7. Patch by Erlend E. Aasland" -msgstr "" - -#: ../NEWS:24807 -msgid "" -":issue:`42222`: Harmonized :func:`random.randrange` argument handling to " -"match :func:`range`." -msgstr "" - -#: ../NEWS:24810 -msgid "" -"The integer test and conversion in ``randrange()`` now uses " -":func:`operator.index`." -msgstr "" - -#: ../NEWS:24812 -msgid "Non-integer arguments to ``randrange()`` are deprecated." -msgstr "" - -#: ../NEWS:24813 -msgid "The ``ValueError`` is deprecated in favor of a ``TypeError``." -msgstr "" - -#: ../NEWS:24814 -msgid "It now runs a little faster than before." -msgstr "" - -#: ../NEWS:24816 -msgid "(Contributed by Raymond Hettinger and Serhiy Storchaka.)" -msgstr "" - -#: ../NEWS:24818 -msgid "" -":issue:`42163`: Restore compatibility for ``uname_result`` around deepcopy " -"and _replace." -msgstr "" - -#: ../NEWS:24821 -msgid "" -":issue:`42090`: ``zipfile.Path.joinpath`` now accepts arbitrary arguments, " -"same as ``pathlib.Path.joinpath``." -msgstr "" - -#: ../NEWS:24824 -msgid "" -":issue:`1635741`: Port the _csv module to the multi-phase initialization API" -" (:pep:`489`)." -msgstr "" - -#: ../NEWS:24827 -msgid "" -":issue:`42059`: :class:`typing.TypedDict` types created using the " -"alternative call-style syntax now correctly respect the ``total`` keyword " -"argument when setting their ``__required_keys__`` and ``__optional_keys__`` " -"class attributes." -msgstr "" - -#: ../NEWS:24832 -msgid "" -":issue:`41960`: Add ``globalns`` and ``localns`` parameters to the " -":func:`inspect.signature` and :meth:`inspect.Signature.from_callable`." -msgstr "" - -#: ../NEWS:24835 -msgid ":issue:`41907`: fix ``format()`` behavior for ``IntFlag``" -msgstr "" - -#: ../NEWS:24837 -msgid ":issue:`41891`: Ensure asyncio.wait_for waits for task completion" -msgstr "" - -#: ../NEWS:24839 -msgid "" -":issue:`24792`: Fixed bug where :mod:`zipimporter` sometimes reports an " -"incorrect cause of import errors." -msgstr "" - -#: ../NEWS:24842 -msgid "" -":issue:`31904`: Fix site and sysconfig modules for VxWorks RTOS which has no" -" home directories." -msgstr "" - -#: ../NEWS:24845 -msgid ":issue:`41462`: Add :func:`os.set_blocking` support for VxWorks RTOS." -msgstr "" - -#: ../NEWS:24847 -msgid "" -":issue:`40219`: Lowered :class:`tkinter.ttk.LabeledScale` dummy widget to " -"prevent hiding part of the content label." -msgstr "" - -#: ../NEWS:24850 -msgid "" -":issue:`37193`: Fixed memory leak in ``socketserver.ThreadingMixIn`` " -"introduced in Python 3.7." -msgstr "" - -#: ../NEWS:24853 -msgid "" -":issue:`39068`: Fix initialization race condition in :func:`a85encode` and " -":func:`b85encode` in :mod:`base64`. Patch by Brandon Stansbury." -msgstr "" - -#: ../NEWS:24859 -msgid "" -":issue:`17140`: Add documentation for the " -":class:`multiprocessing.pool.ThreadPool` class." -msgstr "" - -#: ../NEWS:24862 -msgid "" -":issue:`34398`: Prominently feature listings from the glossary in " -"documentation search results. Patch by Ammar Askar." -msgstr "" - -#: ../NEWS:24868 -msgid "" -":issue:`42794`: Update test_nntplib to use official group name of " -"news.aioe.org for testing. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:24871 -msgid ":issue:`31904`: Skip some asyncio tests on VxWorks." -msgstr "" - -#: ../NEWS:24873 -msgid "" -":issue:`42641`: Enhance ``test_select.test_select()``: it now takes 500 " -"milliseconds rather than 10 seconds. Use Python rather than a shell to make " -"the test more portable." -msgstr "" - -#: ../NEWS:24877 -msgid "" -":issue:`31904`: Skip some tests in _test_all_chown_common() on VxWorks." -msgstr "" - -#: ../NEWS:24879 -msgid ":issue:`42199`: Fix bytecode helper assertNotInBytecode." -msgstr "" - -#: ../NEWS:24881 -msgid ":issue:`41443`: Add more attribute checking in test_posix.py" -msgstr "" - -#: ../NEWS:24883 -msgid ":issue:`31904`: Disable os.popen and impacted tests on VxWorks" -msgstr "" - -#: ../NEWS:24885 -msgid ":issue:`41439`: Port test_ssl and test_uuid to VxWorks RTOS." -msgstr "" - -#: ../NEWS:24890 -msgid "" -":issue:`42692`: Fix __builtin_available check on older compilers. Patch by " -"Joshua Root." -msgstr "" - -#: ../NEWS:24893 -msgid "" -":issue:`27640`: Added ``--disable-test-modules`` option to the ``configure``" -" script: don't build nor install test modules. Patch by Xavier de Gaye, " -"Thomas Petazzoni and Peixing Xin." -msgstr "" - -#: ../NEWS:24897 -msgid "" -":issue:`42604`: Now all platforms use a value for the \"EXT_SUFFIX\" build " -"variable derived from SOABI (for instance in freeBSD, \"EXT_SUFFIX\" is now " -"\".cpython-310d.so\" instead of \".so\"). Previously only Linux, Mac and " -"VxWorks were using a value for \"EXT_SUFFIX\" that included \"SOABI\"." -msgstr "" - -#: ../NEWS:24902 -msgid "" -":issue:`42598`: Fix implicit function declarations in configure which could " -"have resulted in incorrect configuration checks. Patch contributed by " -"Joshua Root." -msgstr "" - -#: ../NEWS:24906 -msgid ":issue:`31904`: Enable libpython3.so for VxWorks." -msgstr "" - -#: ../NEWS:24908 -msgid ":issue:`29076`: Add fish shell support to macOS installer." -msgstr "" - -#: ../NEWS:24913 -msgid "" -":issue:`42361`: Update macOS installer build to use Tcl/Tk 8.6.11 (rc2, " -"expected to be final release)." -msgstr "" - -#: ../NEWS:24916 -msgid ":issue:`41837`: Update macOS installer build to use OpenSSL 1.1.1i." -msgstr "" - -#: ../NEWS:24918 -msgid ":issue:`42584`: Update macOS installer to use SQLite 3.34.0." -msgstr "" - -#: ../NEWS:24923 -msgid "" -":issue:`42726`: Fixed Python 3 compatibility issue with gdb/libpython.py " -"handling of attribute dictionaries." -msgstr "" - -#: ../NEWS:24926 -msgid "" -":issue:`42613`: Fix ``freeze.py`` tool to use the prope config and library " -"directories. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:24932 -msgid "" -":issue:`42591`: Export the :c:func:`Py_FrozenMain` function: fix a Python " -"3.9.0 regression. Python 3.9 uses ``-fvisibility=hidden`` and the function " -"was not exported explicitly and so not exported." -msgstr "" - -#: ../NEWS:24936 -msgid "" -":issue:`32381`: Remove the private :c:func:`!_Py_fopen` function which is no" -" longer needed. Use :c:func:`!_Py_wfopen` or :c:func:`!_Py_fopen_obj` " -"instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:24940 -msgid "" -":issue:`1635741`: Port :mod:`resource` extension module to module state" -msgstr "" - -#: ../NEWS:24942 -msgid "" -":issue:`42111`: Update the ``xxlimited`` module to be a better example of " -"how to use the limited C API." -msgstr "" - -#: ../NEWS:24945 -msgid "" -":issue:`40052`: Fix an alignment build warning/error in function " -"``PyVectorcall_Function()``. Patch by Andreas Schneider, Antoine Pitrou and " -"Petr Viktorin." -msgstr "" - -#: ../NEWS:24951 -msgid "Python 3.10.0 alpha 3" -msgstr "" - -#: ../NEWS:24953 -msgid "*Release date: 2020-12-07*" -msgstr "*Tanggal rilis: 2020-12-07*" - -#: ../NEWS:24958 -msgid "" -":issue:`40791`: Add ``volatile`` to the accumulator variable in " -"``hmac.compare_digest``, making constant-time-defeating optimizations less " -"likely." -msgstr "" - -#: ../NEWS:24965 -msgid "" -":issue:`42576`: ``types.GenericAlias`` will now raise a ``TypeError`` when " -"attempting to initialize with a keyword argument. Previously, this would " -"cause the interpreter to crash if the interpreter was compiled with debug " -"symbols. This does not affect interpreters compiled for release. Patch by " -"Ken Jin." -msgstr "" - -#: ../NEWS:24971 -msgid "" -":issue:`42536`: Several built-in and standard library types now ensure that " -"their internal result tuples are always tracked by the :term:`garbage " -"collector `:" -msgstr "" - -#: ../NEWS:24975 -msgid ":meth:`collections.OrderedDict.items() `" -msgstr "" - -#: ../NEWS:24977 -msgid ":meth:`dict.items`" -msgstr ":meth:`dict.items`" - -#: ../NEWS:24979 -msgid ":func:`enumerate`" -msgstr ":func:`enumerate`" - -#: ../NEWS:24981 -msgid ":func:`functools.reduce`" -msgstr ":func:`functools.reduce`" - -#: ../NEWS:24983 -msgid ":func:`itertools.combinations`" -msgstr ":func:`itertools.combinations`" - -#: ../NEWS:24985 -msgid ":func:`itertools.combinations_with_replacement`" -msgstr ":func:`itertools.combinations_with_replacement`" - -#: ../NEWS:24987 -msgid ":func:`itertools.permutations`" -msgstr ":func:`itertools.permutations`" - -#: ../NEWS:24989 -msgid ":func:`itertools.product`" -msgstr ":func:`itertools.product`" - -#: ../NEWS:24991 -msgid ":func:`itertools.zip_longest`" -msgstr ":func:`itertools.zip_longest`" - -#: ../NEWS:24993 -msgid ":func:`zip`" -msgstr ":func:`zip`" - -#: ../NEWS:24995 -msgid "" -"Previously, they could have become untracked by a prior garbage collection. " -"Patch by Brandt Bucher." -msgstr "" - -#: ../NEWS:24998 -msgid "" -":issue:`42500`: Improve handling of exceptions near recursion limit. " -"Converts a number of Fatal Errors in RecursionErrors." -msgstr "" - -#: ../NEWS:25001 -msgid "" -":issue:`42246`: PEP 626: After a return, the f_lineno attribute of a frame " -"is always the last line executed." -msgstr "" - -#: ../NEWS:25004 -msgid "" -":issue:`42435`: Speed up comparison of bytes objects with non-bytes objects " -"when option :option:`-b` is specified. Speed up comparison of bytarray " -"objects with non-buffer object." -msgstr "" - -#: ../NEWS:25008 -msgid "" -":issue:`1635741`: Port the ``_warnings`` extension module to the multi-phase" -" initialization API (:pep:`489`). Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:25011 -msgid "" -":issue:`41686`: On Windows, the ``SIGINT`` event, ``_PyOS_SigintEvent()``, " -"is now created even if Python is configured to not install signal handlers " -"(if :c:member:`PyConfig.install_signal_handlers` equals to 0, or " -"``Py_InitializeEx(0)``)." -msgstr "" - -#: ../NEWS:25016 -msgid "" -":issue:`42381`: Allow assignment expressions in set literals and set " -"comprehensions as per PEP 572. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:25019 -msgid "" -":issue:`42202`: Change function parameters annotations internal " -"representation to tuple of strings. Patch provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:25022 -msgid "" -":issue:`42374`: Fix a regression introduced by the new parser, where an " -"unparenthesized walrus operator was not allowed within generator " -"expressions." -msgstr "" - -#: ../NEWS:25026 -msgid ":issue:`42316`: Allow an unparenthesized walrus in subscript indexes." -msgstr "" - -#: ../NEWS:25028 -msgid "" -":issue:`42349`: Make sure that the compiler front-end produces a well-formed" -" control flow graph. Be more aggressive in the compiler back-end, as it is " -"now safe to do so." -msgstr "" - -#: ../NEWS:25032 -msgid "" -":issue:`42296`: On Windows, fix a regression in signal handling which " -"prevented to interrupt a program using CTRL+C. The signal handler can be run" -" in a thread different than the Python thread, in which case the test " -"deciding if the thread can handle signals is wrong." -msgstr "" - -#: ../NEWS:25037 -msgid "" -":issue:`42332`: :class:`types.GenericAlias` objects can now be the targets " -"of weakrefs." -msgstr "" - -#: ../NEWS:25040 -msgid "" -":issue:`42282`: Optimise constant subexpressions that appear as part of " -"named expressions (previously the AST optimiser did not descend into named " -"expressions). Patch by Nick Coghlan." -msgstr "" - -#: ../NEWS:25044 -msgid "" -":issue:`42266`: Fixed a bug with the LOAD_ATTR opcode cache that was not " -"respecting monkey-patching a class-level attribute to make it a descriptor. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:25048 -msgid ":issue:`40077`: Convert :mod:`queue` to use heap types." -msgstr "" - -#: ../NEWS:25050 -msgid "" -":issue:`42246`: Improved accuracy of line tracing events and f_lineno " -"attribute of Frame objects. See PEP 626 for details." -msgstr "" - -#: ../NEWS:25053 -msgid ":issue:`40077`: Convert :mod:`mmap` to use heap types." -msgstr "" - -#: ../NEWS:25055 -msgid "" -":issue:`42233`: Allow ``GenericAlias`` objects to use :ref:`union type " -"expressions `. This allows expressions like ``list[int] | " -"dict[float, str]`` where previously a ``TypeError`` would have been thrown." -" This also fixes union type expressions not de-duplicating ``GenericAlias``" -" objects. (Contributed by Ken Jin in :issue:`42233`.)" -msgstr "" - -#: ../NEWS:25061 -msgid "" -":issue:`26131`: The import system triggers a ``ImportWarning`` when it falls" -" back to using ``load_module()``." -msgstr "" - -#: ../NEWS:25067 -msgid "" -":issue:`5054`: CGIHTTPRequestHandler.run_cgi() HTTP_ACCEPT improperly " -"parsed. Replace the special purpose getallmatchingheaders with generic " -"get_all method and add relevant tests." -msgstr "" - -#: ../NEWS:25071 -msgid "Original Patch by Martin Panter. Modified by Senthil Kumaran." -msgstr "Patch awal oleh Martin Panter. Dimodifikasi oleh Senthil Kumaran." - -#: ../NEWS:25073 -msgid "" -":issue:`42562`: Fix issue when dis failed to parse function that has no line" -" numbers. Patch provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:25076 -msgid "" -":issue:`17735`: :func:`inspect.findsource` now raises :exc:`OSError` instead" -" of :exc:`IndexError` when :attr:`co_lineno` of a code object is greater " -"than the file length. This can happen, for example, when a file is edited " -"after it was imported. PR by Irit Katriel." -msgstr "" - -#: ../NEWS:25081 -msgid "" -":issue:`42116`: Fix handling of trailing comments by " -":func:`inspect.getsource`." -msgstr "" - -#: ../NEWS:25083 -msgid "" -":issue:`42532`: Remove unexpected call of ``__bool__`` when passing a " -"``spec_arg`` argument to a Mock." -msgstr "" - -#: ../NEWS:25086 -msgid ":issue:`38200`: Added itertools.pairwise()" -msgstr "" - -#: ../NEWS:25088 -msgid "" -":issue:`41818`: Fix test_master_read() so that it succeeds on all platforms " -"that either raise OSError or return b\"\" upon reading from master." -msgstr "" - -#: ../NEWS:25091 -msgid "" -":issue:`42487`: ChainMap.__iter__ no longer calls __getitem__ on underlying " -"maps" -msgstr "" - -#: ../NEWS:25094 -msgid "" -":issue:`42482`: :class:`~traceback.TracebackException` no longer holds a " -"reference to the exception's traceback object. Consequently, instances of " -"TracebackException for equivalent but non-equal exceptions now compare as " -"equal." -msgstr "" - -#: ../NEWS:25099 -msgid "" -":issue:`41818`: Make test_openpty() avoid unexpected success due to number " -"of rows and/or number of columns being == 0." -msgstr "" - -#: ../NEWS:25102 -msgid "" -":issue:`42392`: Remove loop parameter from ``asyncio.subprocess`` and " -"``asyncio.tasks`` functions. Patch provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:25105 -msgid "" -":issue:`42392`: Remove loop parameter from ``asyncio.open_connection`` and " -"``asyncio.start_server`` functions. Patch provided by Yurii Karabas." -msgstr "" - -#: ../NEWS:25108 -msgid "" -":issue:`28468`: Add :func:`platform.freedesktop_os_release` function to " -"parse freedesktop.org ``os-release`` files." -msgstr "" - -#: ../NEWS:25111 -msgid "" -":issue:`42299`: Removed the ``formatter`` module, which was deprecated in " -"Python 3.4. It is somewhat obsolete, little used, and not tested. It was " -"originally scheduled to be removed in Python 3.6, but such removals were " -"delayed until after Python 2.7 EOL. Existing users should copy whatever " -"classes they use into their code. Patch by Donghee Na and and Terry J. " -"Reedy." -msgstr "" - -#: ../NEWS:25118 -msgid "" -":issue:`26131`: Deprecate zipimport.zipimporter.load_module() in favour of " -"exec_module()." -msgstr "" - -#: ../NEWS:25121 -msgid "" -":issue:`41818`: Updated tests for the pty library. test_basic() has been " -"changed to test_openpty(); this additionally checks if slave termios and " -"slave winsize are being set properly by pty.openpty(). In order to add " -"support for FreeBSD, NetBSD, OpenBSD, and Darwin, this also adds " -"test_master_read(), which demonstrates that pty.spawn() should not depend on" -" an OSError to exit from its copy loop." -msgstr "" - -#: ../NEWS:25128 -msgid "" -":issue:`42392`: Remove loop parameter from ``__init__`` in all " -"``asyncio.locks`` and ``asyncio.Queue`` classes. Patch provided by Yurii " -"Karabas." -msgstr "" - -#: ../NEWS:25132 -msgid "" -":issue:`15450`: Make :class:`filecmp.dircmp` respect subclassing. Now the " -":attr:`filecmp.dircmp.subdirs` behaves as expected when subclassing dircmp." -msgstr "" - -#: ../NEWS:25136 -msgid "" -":issue:`42413`: The exception :exc:`socket.timeout` is now an alias of " -":exc:`TimeoutError`." -msgstr "" - -#: ../NEWS:25139 -msgid ":issue:`31904`: Support signal module on VxWorks." -msgstr "" - -#: ../NEWS:25141 -msgid "" -":issue:`42406`: We fixed an issue in ``pickle.whichmodule`` in which " -"importing ``multiprocessing`` could change the how pickle identifies which " -"module an object belongs to, potentially breaking the unpickling of those " -"objects." -msgstr "" - -#: ../NEWS:25145 -msgid "" -":issue:`42403`: Simplify the :mod:`importlib` external bootstrap code: " -"``importlib._bootstrap_external`` now uses regular imports to import builtin" -" modules. When it is imported, the builtin :func:`__import__` function is " -"already fully working and so can be used to import builtin modules like " -":mod:`sys`. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:25151 -msgid "" -":issue:`1635741`: Convert _sre module types to heap types (PEP 384). Patch " -"by Erlend E. Aasland." -msgstr "" - -#: ../NEWS:25154 -msgid ":issue:`42375`: subprocess module update for DragonFlyBSD support." -msgstr "" - -#: ../NEWS:25156 -msgid "" -":issue:`41713`: Port the ``_signal`` extension module to the multi-phase " -"initialization API (:pep:`489`). Patch by Victor Stinner and Mohamed Koubaa." -msgstr "" - -#: ../NEWS:25160 -msgid "" -":issue:`37205`: :func:`time.time`, :func:`time.perf_counter` and " -":func:`time.monotonic` functions can no longer fail with a Python fatal " -"error, instead raise a regular Python exception on failure." -msgstr "" - -#: ../NEWS:25164 -msgid "" -":issue:`42328`: Fixed :meth:`tkinter.ttk.Style.map`. The function accepts " -"now the representation of the default state as empty sequence (as returned " -"by ``Style.map()``). The structure of the result is now the same on all " -"platform and does not depend on the value of ``wantobjects``." -msgstr "" - -#: ../NEWS:25169 -msgid "" -":issue:`42345`: Fix various issues with ``typing.Literal`` parameter " -"handling (flatten, deduplicate, use type to cache key). Patch provided by " -"Yurii Karabas." -msgstr "" - -#: ../NEWS:25173 -msgid "" -":issue:`37205`: :func:`time.perf_counter` on Windows and " -":func:`time.monotonic` on macOS are now system-wide. Previously, they used " -"an offset computed at startup to reduce the precision loss caused by the " -"float type. Use :func:`time.perf_counter_ns` and :func:`time.monotonic_ns` " -"added in Python 3.7 to avoid this precision loss." -msgstr "" - -#: ../NEWS:25179 -msgid "" -":issue:`42318`: Fixed support of non-BMP characters in :mod:`tkinter` on " -"macOS." -msgstr "" - -#: ../NEWS:25181 -msgid "" -":issue:`42350`: Fix the :class:`threading.Thread` class at fork: do nothing " -"if the thread is already stopped (ex: fork called at Python exit). " -"Previously, an error was logged in the child process." -msgstr "" - -#: ../NEWS:25185 -msgid ":issue:`42333`: Port _ssl extension module to heap types." -msgstr "" - -#: ../NEWS:25187 -msgid "" -":issue:`42014`: The ``onerror`` callback from ``shutil.rmtree`` now receives" -" correct function when ``os.open`` fails." -msgstr "" - -#: ../NEWS:25190 -msgid ":issue:`42237`: Fix ``os.sendfile()`` on illumos." -msgstr "" - -#: ../NEWS:25192 -msgid "" -":issue:`42308`: Add :data:`threading.__excepthook__` to allow retrieving the" -" original value of :func:`threading.excepthook` in case it is set to a " -"broken or a different value. Patch by Mario Corchero." -msgstr "" - -#: ../NEWS:25196 -msgid "" -":issue:`42131`: Implement PEP 451/spec methods on zipimport.zipimporter: " -"find_spec(), create_module(), and exec_module()." -msgstr "" - -#: ../NEWS:25199 -msgid "" -"This also allows for the documented deprecation of find_loader(), " -"find_module(), and load_module()." -msgstr "" - -#: ../NEWS:25202 -msgid "" -":issue:`41877`: Mock objects which are not unsafe will now raise an " -"AttributeError if an attribute with the prefix asert, aseert, or assrt is " -"accessed, in addition to this already happening for the prefixes assert or " -"assret." -msgstr "" - -#: ../NEWS:25207 -msgid "" -":issue:`42264`: ``sqlite3.OptimizedUnicode`` has been undocumented and " -"obsolete since Python 3.3, when it was made an alias to :class:`str`. It is" -" now deprecated, scheduled for removal in Python 3.12." -msgstr "" - -#: ../NEWS:25211 -msgid "" -":issue:`42251`: Added :func:`threading.gettrace` and " -":func:`threading.getprofile` to retrieve the functions set by " -":func:`threading.settrace` and :func:`threading.setprofile` respectively. " -"Patch by Mario Corchero." -msgstr "" - -#: ../NEWS:25216 -msgid ":issue:`42249`: Fixed writing binary Plist files larger than 4 GiB." -msgstr "" - -#: ../NEWS:25218 -msgid "" -":issue:`42236`: On Unix, the :func:`os.device_encoding` function now returns" -" ``'UTF-8'`` rather than the device encoding if the :ref:`Python UTF-8 Mode " -"` is enabled." -msgstr "" - -#: ../NEWS:25222 -msgid "" -":issue:`41754`: webbrowser: Ignore *NotADirectoryError* when calling ``xdg-" -"settings``." -msgstr "" - -#: ../NEWS:25225 -msgid "" -":issue:`42183`: Fix a stack overflow error for asyncio Task or Future " -"repr()." -msgstr "" - -#: ../NEWS:25227 -msgid "" -"The overflow occurs under some circumstances when a Task or Future " -"recursively returns itself." -msgstr "" - -#: ../NEWS:25230 -msgid "" -":issue:`42140`: Improve asyncio.wait function to create the futures set just" -" one time." -msgstr "" - -#: ../NEWS:25233 -msgid "" -":issue:`42133`: Update various modules in the stdlib to fall back on " -"``__spec__.loader`` when ``__loader__`` isn't defined on a module." -msgstr "" - -#: ../NEWS:25236 -msgid "" -":issue:`26131`: The ``load_module()`` methods found in ``importlib`` now " -"trigger a ``DeprecationWarning``." -msgstr "" - -#: ../NEWS:25239 -msgid "" -":issue:`39825`: Windows: Change ``sysconfig.get_config_var('EXT_SUFFIX')`` " -"to the expected full ``platform_tag.extension`` format. Previously it was " -"hard-coded to ``.pyd``, now it is compatible with ``distutils.sysconfig`` " -"and will result in something like ``.cp38-win_amd64.pyd``. This brings " -"windows into conformance with the other platforms." -msgstr "" - -#: ../NEWS:25245 -msgid "" -":issue:`26389`: The :func:`traceback.format_exception`, " -":func:`traceback.format_exception_only`, and " -":func:`traceback.print_exception` functions can now take an exception object" -" as a positional-only argument." -msgstr "" - -#: ../NEWS:25250 -msgid "" -":issue:`41889`: Enum: fix regression involving inheriting a multiply " -"inherited enum" -msgstr "" - -#: ../NEWS:25253 -msgid "" -":issue:`41861`: Convert :mod:`sqlite3` to use heap types (PEP 384). Patch by" -" Erlend E. Aasland." -msgstr "" - -#: ../NEWS:25256 -msgid "" -":issue:`40624`: Added support for the XPath ``!=`` operator in xml.etree" -msgstr "" - -#: ../NEWS:25258 -msgid "" -":issue:`28850`: Fix :meth:`pprint.PrettyPrinter.format` overrides being " -"ignored for contents of small containers. The :func:`pprint._safe_repr` " -"function was removed." -msgstr "" - -#: ../NEWS:25262 -msgid "" -":issue:`41625`: Expose the :c:func:`splice` as :func:`os.splice` in the " -":mod:`os` module. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:25265 -msgid "" -":issue:`34215`: Clarify the error message for " -":exc:`asyncio.IncompleteReadError` when ``expected`` is ``None``." -msgstr "" - -#: ../NEWS:25268 -msgid "" -":issue:`41543`: Add async context manager support for " -"contextlib.nullcontext." -msgstr "" - -#: ../NEWS:25270 -msgid "" -":issue:`21041`: :attr:`pathlib.PurePath.parents` now supports negative " -"indexing. Patch contributed by Yaroslav Pankovych." -msgstr "" - -#: ../NEWS:25273 -msgid "" -":issue:`41332`: Added missing connect_accepted_socket() method to " -"``asyncio.AbstractEventLoop``." -msgstr "" - -#: ../NEWS:25276 -msgid "" -":issue:`12800`: Extracting a symlink from a tarball should succeed and " -"overwrite the symlink if it already exists. The fix is to remove the " -"existing file or symlink before extraction. Based on patch by Chris AtLee, " -"Jeffrey Kintscher, and Senthil Kumaran." -msgstr "" - -#: ../NEWS:25281 -msgid "" -":issue:`40968`: :mod:`urllib.request` and :mod:`http.client` now send " -"``http/1.1`` ALPN extension during TLS handshake when no custom context is " -"supplied." -msgstr "" - -#: ../NEWS:25285 -msgid "" -":issue:`41001`: Add :func:`os.eventfd` to provide a low level interface for " -"Linux's event notification file descriptor." -msgstr "" - -#: ../NEWS:25288 -msgid "" -":issue:`40816`: Add AsyncContextDecorator to contextlib to support async " -"context manager as a decorator." -msgstr "" - -#: ../NEWS:25291 -msgid "" -":issue:`40550`: Fix time-of-check/time-of-action issue in " -"subprocess.Popen.send_signal." -msgstr "" - -#: ../NEWS:25294 -msgid "" -":issue:`39411`: Add an ``is_async`` identifier to :mod:`pyclbr`'s " -"``Function`` objects. Patch by Batuhan Taskaya" -msgstr "" - -#: ../NEWS:25297 -msgid ":issue:`35498`: Add slice support to :attr:`pathlib.PurePath.parents`." -msgstr "" - -#: ../NEWS:25302 -msgid "" -":issue:`42238`: Tentative to deprecate ``make suspicious`` by first removing" -" it from the CI and documentation builds, but keeping it around for manual " -"uses." -msgstr "" - -#: ../NEWS:25306 -msgid ":issue:`42153`: Fix the URL for the IMAP protocol documents." -msgstr "" - -#: ../NEWS:25308 -msgid "" -":issue:`41028`: Language and version switchers, previously maintained in " -"every cpython branches, are now handled by docsbuild-script." -msgstr "" - -#: ../NEWS:25314 -msgid "" -":issue:`41473`: Re-enable test_gdb on gdb 9.2 and newer: " -"https://bugzilla.redhat.com/show_bug.cgi?id=1866884 bug is fixed in gdb " -"10.1." -msgstr "" - -#: ../NEWS:25318 -msgid "" -":issue:`42553`: Fix ``test_asyncio.test_call_later()`` race condition: don't" -" measure asyncio performance in the ``call_later()`` unit test. The test " -"failed randomly on the CI." -msgstr "" - -#: ../NEWS:25322 -msgid "" -":issue:`31904`: Fix test_netrc on VxWorks: create temporary directories " -"using temp_cwd()." -msgstr "" - -#: ../NEWS:25325 -msgid "" -":issue:`31904`: skip test_getaddrinfo_ipv6_scopeid_symbolic and " -"test_getnameinfo_ipv6_scopeid_symbolic on VxWorks" -msgstr "" - -#: ../NEWS:25328 -msgid ":issue:`31904`: skip test_test of test_mailcap on VxWorks" -msgstr "" - -#: ../NEWS:25330 -msgid ":issue:`31904`: add shell requirement for test_pipes" -msgstr "" - -#: ../NEWS:25332 -msgid ":issue:`31904`: skip some tests related to fifo on VxWorks" -msgstr "" - -#: ../NEWS:25334 -msgid ":issue:`31904`: Fix test_doctest.py failures for VxWorks." -msgstr "" - -#: ../NEWS:25336 -msgid "" -":issue:`40754`: Include ``_testinternalcapi`` module in Windows installer " -"for test suite" -msgstr "" - -#: ../NEWS:25339 -msgid "" -":issue:`41561`: test_ssl: skip test_min_max_version_mismatch when TLS 1.0 is" -" not available" -msgstr "" - -#: ../NEWS:25342 -msgid ":issue:`31904`: Fix os module failures for VxWorks RTOS." -msgstr "" - -#: ../NEWS:25344 -msgid ":issue:`31904`: Fix fifo test cases for VxWorks RTOS." -msgstr "" - -#: ../NEWS:25349 -msgid "" -":issue:`31904`: remove libnet dependency from detect_socket() for VxWorks" -msgstr "" - -#: ../NEWS:25351 -msgid "" -":issue:`42398`: Fix a race condition in \"make regen-all\" when make -jN " -"option is used to run jobs in parallel. The clinic.py script now only use " -"atomic write to write files. Moveover, generated files are now left " -"unchanged if the content does not change, to not change the file " -"modification time." -msgstr "" - -#: ../NEWS:25356 -msgid "" -":issue:`41617`: Fix building ``pycore_bitutils.h`` internal header on old " -"clang version without ``__builtin_bswap16()`` (ex: Xcode 4.6.3 on Mac OS X " -"10.7). Patch by Joshua Root and Victor Stinner." -msgstr "" - -#: ../NEWS:25360 -msgid "" -":issue:`38823`: It is no longer possible to build the ``_ctypes`` extension " -"module without :c:type:`wchar_t` type: remove ``CTYPES_UNICODE`` macro. " -"Anyway, the :c:type:`wchar_t` type is required to build Python. Patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:25365 -msgid "" -":issue:`42087`: Support was removed for AIX 5.3 and below. See " -":issue:`40680`." -msgstr "" - -#: ../NEWS:25367 -msgid "" -":issue:`40998`: Addressed three compiler warnings found by undefined " -"behavior sanitizer (ubsan)." -msgstr "" - -#: ../NEWS:25373 -msgid "" -":issue:`42120`: Remove macro definition of ``copysign`` (to ``_copysign``) " -"in headers." -msgstr "" - -#: ../NEWS:25376 -msgid "" -":issue:`38506`: The Windows launcher now properly handles Python 3.10 when " -"listing installed Python versions." -msgstr "" - -#: ../NEWS:25382 -msgid "" -":issue:`42504`: Fix build on macOS Big Sur when MACOSX_DEPLOYMENT_TARGET=11" -msgstr "" - -#: ../NEWS:25384 -msgid "" -":issue:`41116`: Ensure distutils.unixxcompiler.find_library_file can find " -"system provided libraries on macOS 11." -msgstr "" - -#: ../NEWS:25387 -msgid ":issue:`41100`: Add support for macOS 11 and Apple Silicon systems." -msgstr "" - -#: ../NEWS:25389 -msgid "" -"It is now possible to build \"Universal 2\" binaries using \"--enable-" -"universalsdk --with-universal-archs=universal2\"." -msgstr "" - -#: ../NEWS:25392 -msgid "" -"Binaries build on later macOS versions can be deployed back to older " -"versions (tested up to macOS 10.9), when using the correct deployment " -"target. This is tested using Xcode 11 and later." -msgstr "" - -#: ../NEWS:25396 -msgid ":issue:`42232`: Added Darwin specific madvise options to mmap module." -msgstr "" - -#: ../NEWS:25398 -msgid "" -":issue:`38443`: The ``--enable-universalsdk`` and ``--with-universal-archs``" -" options for the configure script now check that the specified architectures" -" can be used." -msgstr "" - -#: ../NEWS:25405 -msgid "" -":issue:`42508`: Keep IDLE running on macOS. Remove obsolete workaround that" -" prevented running files with shortcuts when using new universal2 installers" -" built on macOS 11." -msgstr "" - -#: ../NEWS:25409 -msgid ":issue:`42426`: Fix reporting offset of the RE error in searchengine." -msgstr "" - -#: ../NEWS:25411 -msgid "" -":issue:`42415`: Get docstrings for IDLE calltips more often by using " -"inspect.getdoc." -msgstr "" - -#: ../NEWS:25417 -msgid "" -":issue:`42212`: The smelly.py script now also checks the Python dynamic " -"library and extension modules, not only the Python static library. Make also" -" the script more verbose: explain what it does." -msgstr "" - -#: ../NEWS:25421 -msgid "" -":issue:`36310`: Allow :file:`Tools/i18n/pygettext.py` to detect calls to " -"``gettext`` in f-strings." -msgstr "" - -#: ../NEWS:25427 -msgid "" -":issue:`42423`: The :c:func:`PyType_FromSpecWithBases` and " -":c:func:`PyType_FromModuleAndSpec` functions now accept a single class as " -"the *bases* argument." -msgstr "" - -#: ../NEWS:25431 -msgid "" -":issue:`1635741`: Port :mod:`select` extension module to multiphase " -"initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:25434 -msgid "" -":issue:`1635741`: Port _posixsubprocess extension module to multiphase " -"initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:25437 -msgid "" -":issue:`1635741`: Port _posixshmem extension module to multiphase " -"initialization (:pep:`489`)" -msgstr "" - -#: ../NEWS:25440 -msgid "" -":issue:`1635741`: Port _struct extension module to multiphase initialization" -" (:pep:`489`)" -msgstr "" - -#: ../NEWS:25443 -msgid "" -":issue:`1635741`: Port :mod:`!spwd` extension module to multiphase " -"initialization (:pep:`489`)" -msgstr "" - -#: ../NEWS:25446 -msgid "" -":issue:`1635741`: Port :mod:`gc` extension module to multiphase " -"initialization (:pep:`489`)" -msgstr "" - -#: ../NEWS:25449 -msgid "" -":issue:`1635741`: Port _queue extension module to multiphase initialization " -"(:pep:`489`)" -msgstr "" - -#: ../NEWS:25452 -msgid "" -":issue:`39573`: Convert :c:func:`Py_TYPE` and :c:func:`Py_SIZE` back to " -"macros to allow using them as an l-value. Many third party C extension " -"modules rely on the ability of using Py_TYPE() and Py_SIZE() to set an " -"object type and size: ``Py_TYPE(obj) = type;`` and ``Py_SIZE(obj) = size;``." -msgstr "" - -#: ../NEWS:25457 -msgid "" -":issue:`1635741`: Port :mod:`symtable` extension module to multiphase " -"initialization (:pep:`489`)" -msgstr "" - -#: ../NEWS:25460 -msgid "" -":issue:`1635741`: Port :mod:`grp` and :mod:`pwd` extension modules to " -"multiphase initialization (:pep:`489`)" -msgstr "" - -#: ../NEWS:25463 -msgid "" -":issue:`1635741`: Port _random extension module to multiphase initialization" -" (:pep:`489`)" -msgstr "" - -#: ../NEWS:25466 -msgid "" -":issue:`1635741`: Port _hashlib extension module to multiphase " -"initialization (:pep:`489`)" -msgstr "" - -#: ../NEWS:25469 -msgid "" -":issue:`41713`: Removed the undocumented ``PyOS_InitInterrupts()`` function." -" Initializing Python already implicitly installs signal handlers: see " -":c:member:`PyConfig.install_signal_handlers`. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:25473 -msgid "" -":issue:`40170`: The ``Py_TRASHCAN_BEGIN`` macro no longer accesses " -"PyTypeObject attributes, but now can get the condition by calling the new " -"private :c:func:`!_PyTrash_cond()` function which hides implementation " -"details." -msgstr "" - -#: ../NEWS:25477 -msgid "" -":issue:`42260`: :c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, " -":c:func:`Py_GetExecPrefix`, :c:func:`Py_GetProgramFullPath`, " -":c:func:`Py_GetPythonHome` and :c:func:`Py_GetProgramName` functions now " -"return ``NULL`` if called before :c:func:`Py_Initialize` (before Python is " -"initialized). Use the new :ref:`Python Initialization Configuration API " -"` to get the :ref:`Python Path Configuration. `. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:25485 -msgid "" -":issue:`42260`: The :c:func:`PyConfig_Read` function now only parses " -":c:member:`PyConfig.argv` arguments once: :c:member:`PyConfig.parse_argv` is" -" set to ``2`` after arguments are parsed. Since Python arguments are " -"strippped from :c:member:`PyConfig.argv`, parsing arguments twice would " -"parse the application options as Python options." -msgstr "" - -#: ../NEWS:25491 -msgid "" -":issue:`42262`: Added :c:func:`Py_NewRef` and :c:func:`Py_XNewRef` functions" -" to increment the reference count of an object and return the object. Patch " -"by Victor Stinner." -msgstr "" - -#: ../NEWS:25495 -msgid "" -":issue:`42260`: When :c:func:`Py_Initialize` is called twice, the second " -"call now updates more :mod:`sys` attributes for the configuration, rather " -"than only :data:`sys.argv`. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:25499 -msgid "" -":issue:`41832`: The :c:func:`PyType_FromModuleAndSpec` function now accepts " -"NULL ``tp_doc`` slot." -msgstr "" - -#: ../NEWS:25502 -msgid "" -":issue:`1635741`: Added :c:func:`PyModule_AddObjectRef` function: similar to" -" :c:func:`PyModule_AddObject` but don't steal a reference to the value on " -"success. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:25506 -msgid "" -":issue:`42171`: The :c:macro:`METH_FASTCALL` calling convention is added to " -"the limited API. The functions :c:func:`PyModule_AddType`, " -":c:func:`PyType_FromModuleAndSpec`, :c:func:`PyType_GetModule` and " -":c:func:`PyType_GetModuleState` are added to the limited API on Windows." -msgstr "" - -#: ../NEWS:25511 -msgid "" -":issue:`42085`: Add dedicated entry to PyAsyncMethods for sending values" -msgstr "" - -#: ../NEWS:25513 -msgid "" -":issue:`41073`: :c:func:`PyType_GetSlot()` can now accept static types." -msgstr "" - -#: ../NEWS:25515 -msgid "" -":issue:`30459`: :c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` and " -":c:func:`PyCell_SET` macros can no longer be used as l-value or r-value. For" -" example, ``x = PyList_SET_ITEM(a, b, c)`` and ``PyList_SET_ITEM(a, b, c) = " -"x`` now fail with a compiler error. It prevents bugs like ``if " -"(PyList_SET_ITEM (a, b, c) < 0) ...`` test. Patch by Zackery Spytz and " -"Victor Stinner." -msgstr "" - -#: ../NEWS:25524 -msgid "Python 3.10.0 alpha 2" -msgstr "" - -#: ../NEWS:25526 -msgid "*Release date: 2020-11-03*" -msgstr "" - -#: ../NEWS:25531 -msgid "" -":issue:`42103`: Prevented potential DoS attack via CPU and RAM exhaustion " -"when processing malformed Apple Property List files in binary format." -msgstr "" - -#: ../NEWS:25534 -msgid "" -":issue:`42051`: The :mod:`plistlib` module no longer accepts entity " -"declarations in XML plist files to avoid XML vulnerabilities. This should " -"not affect users as entity declarations are not used in regular plist files." -msgstr "" - -#: ../NEWS:25542 -msgid "" -":issue:`42236`: If the ``nl_langinfo(CODESET)`` function returns an empty " -"string, Python now uses UTF-8 as the filesystem encoding. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:25546 -msgid "" -":issue:`42218`: Fixed a bug in the PEG parser that was causing crashes in " -"debug mode. Now errors are checked in left-recursive rules to avoid cases " -"where such errors do not get handled in time and appear as long-distance " -"crashes in other places." -msgstr "" - -#: ../NEWS:25551 -msgid "" -":issue:`42214`: Fixed a possible crash in the PEG parser when checking for " -"the '!=' token in the ``barry_as_flufl`` rule. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:25554 -msgid "" -":issue:`42206`: Propagate and raise the errors caused by " -":c:func:`PyAST_Validate` in the parser." -msgstr "" - -#: ../NEWS:25557 -msgid "" -":issue:`41796`: The :mod:`ast` module internal state is now per interpreter." -" Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:25560 -msgid "" -":issue:`42143`: Fix handling of errors during creation of " -"``PyFunctionObject``, which resulted in operations on uninitialized memory. " -"Patch by Yonatan Goldschmidt." -msgstr "" - -#: ../NEWS:25564 -msgid "" -":issue:`41659`: Fix a bug in the parser, where a curly brace following a " -"``primary`` didn't fail immediately. This led to invalid expressions like " -"``a {b}`` to throw a :exc:`SyntaxError` with a wrong offset, or invalid " -"expressions ending with a curly brace like ``a {`` to not fail immediately " -"in the REPL." -msgstr "" - -#: ../NEWS:25570 -msgid "" -":issue:`42150`: Fix possible buffer overflow in the new parser when checking" -" for continuation lines. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:25573 -msgid "" -":issue:`42123`: Run the parser two times. On the first run, disable all the " -"rules that only generate better error messages to gain performance. If " -"there's a parse failure, run the parser a second time with those enabled." -msgstr "" - -#: ../NEWS:25577 -msgid "" -":issue:`42093`: The ``LOAD_ATTR`` instruction now uses new \"per opcode " -"cache\" mechanism and it is about 36% faster now. Patch by Pablo Galindo and" -" Yury Selivanov." -msgstr "" - -#: ../NEWS:25581 -msgid "" -":issue:`42030`: Support for the legacy AIX-specific shared library loading " -"support has been removed. All versions of AIX since 4.3 have supported and " -"defaulted to using the common Unix mechanism instead." -msgstr "" - -#: ../NEWS:25585 -msgid "" -":issue:`41984`: The garbage collector now tracks all user-defined classes. " -"Patch by Brandt Bucher." -msgstr "" - -#: ../NEWS:25588 -msgid "" -":issue:`41993`: Fixed potential issues with removing not completely " -"initialized module from ``sys.modules`` when import fails." -msgstr "" - -#: ../NEWS:25591 -msgid "" -":issue:`41979`: Star-unpacking is now allowed for with item's targets in the" -" PEG parser." -msgstr "" - -#: ../NEWS:25594 -msgid "" -":issue:`41974`: Removed special methods ``__int__``, ``__float__``, " -"``__floordiv__``, ``__mod__``, ``__divmod__``, ``__rfloordiv__``, " -"``__rmod__`` and ``__rdivmod__`` of the :class:`complex` class. They always" -" raised a :exc:`TypeError`." -msgstr "" - -#: ../NEWS:25599 -msgid "" -":issue:`41902`: Micro optimization when compute " -":c:member:`~PySequenceMethods.sq_item` and " -":c:member:`~PyMappingMethods.mp_subscript` of :class:`range`. Patch by " -"Donghee Na." -msgstr "" - -#: ../NEWS:25604 -msgid "" -":issue:`41894`: When loading a native module and a load failure occurs, " -"prevent a possible UnicodeDecodeError when not running in a UTF-8 locale by " -"decoding the load error message using the current locale's encoding." -msgstr "" - -#: ../NEWS:25608 -msgid "" -":issue:`41902`: Micro optimization for range.index if step is 1. Patch by " -"Donghee Na." -msgstr "" - -#: ../NEWS:25611 -msgid "" -":issue:`41435`: Add ``sys._current_exceptions()`` function to retrieve a " -"dictionary mapping each thread's identifier to the topmost exception " -"currently active in that thread at the time the function is called." -msgstr "" - -#: ../NEWS:25615 -msgid "" -":issue:`38605`: Enable ``from __future__ import annotations`` (:pep:`563`) " -"by default. The values found in :attr:`~object.__annotations__` dicts are " -"now strings, for example ``{\"x\": \"int\"}`` instead of ``{\"x\": int}``." -msgstr "" - -#: ../NEWS:25622 -msgid "" -":issue:`35455`: On Solaris, :func:`~time.thread_time` is now implemented " -"with ``gethrvtime()`` because ``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` is " -"not always available. Patch by Jakub Kulik." -msgstr "" - -#: ../NEWS:25626 -msgid "" -":issue:`42233`: The :func:`repr` of :mod:`typing` types containing " -":ref:`Generic Alias Types ` previously did not show the " -"parameterized types in the ``GenericAlias``. They have now been changed to " -"do so." -msgstr "" - -#: ../NEWS:25631 -msgid "" -":issue:`29566`: ``binhex.binhex()`` consistently writes macOS 9 line " -"endings." -msgstr "" - -#: ../NEWS:25633 -msgid "" -":issue:`26789`: The :class:`logging.FileHandler` class now keeps a reference" -" to the builtin :func:`open` function to be able to open or reopen the file " -"during Python finalization. Fix errors like: ``NameError: name 'open' is not" -" defined``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:25638 -msgid "" -":issue:`42157`: Removed the ``unicodedata.ucnhash_CAPI`` attribute which was" -" an internal PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` " -"structure was moved to the internal C API. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:25642 -msgid "" -":issue:`42157`: Convert the :mod:`unicodedata` extension module to the " -"multiphase initialization API (:pep:`489`) and convert the " -"``unicodedata.UCD`` static type to a heap type. Patch by Mohamed Koubaa and " -"Victor Stinner." -msgstr "" - -#: ../NEWS:25647 -msgid "" -":issue:`42146`: Fix memory leak in :func:`subprocess.Popen` in case an uid " -"(gid) specified in ``user`` (``group``, ``extra_groups``) overflows " -"``uid_t`` (``gid_t``)." -msgstr "" - -#: ../NEWS:25651 -msgid "" -":issue:`42103`: :exc:`~plistlib.InvalidFileException` and " -":exc:`RecursionError` are now the only errors caused by loading malformed " -"binary Plist file (previously ValueError and TypeError could be raised in " -"some specific cases)." -msgstr "" - -#: ../NEWS:25656 -msgid "" -":issue:`41490`: In ``importlib.resources``, ``.path`` method is more " -"aggressive about releasing handles to zipfile objects early, enabling use-" -"cases like certifi to leave the context open but delete the underlying zip " -"file." -msgstr "" - -#: ../NEWS:25660 -msgid "" -":issue:`41052`: Pickling heap types implemented in C with protocols 0 and 1 " -"raises now an error instead of producing incorrect data." -msgstr "" - -#: ../NEWS:25663 -msgid "" -":issue:`42089`: In ``importlib.metadata.PackageNotFoundError``, make " -"reference to the package metadata being missing to improve the user " -"experience." -msgstr "" - -#: ../NEWS:25666 -msgid "" -":issue:`41491`: plistlib: fix parsing XML plists with hexadecimal integer " -"values" -msgstr "" - -#: ../NEWS:25669 -msgid "" -":issue:`42065`: Fix an incorrectly formatted error from " -":meth:`!_codecs.charmap_decode` when called with a mapped value outside the " -"range of valid Unicode code points. PR by Max Bernstein." -msgstr "" - -#: ../NEWS:25673 -msgid "" -":issue:`41966`: Fix pickling pure Python :class:`datetime.time` subclasses. " -"Patch by Dean Inwood." -msgstr "" - -#: ../NEWS:25676 -msgid "" -":issue:`19270`: :meth:`sched.scheduler.cancel` will now cancel the correct " -"event, if two events with same priority are scheduled for the same time. " -"Patch by Bar Harel." -msgstr "" - -#: ../NEWS:25680 -msgid "" -":issue:`28660`: :func:`textwrap.wrap` now attempts to break long words after" -" hyphens when ``break_long_words=True`` and ``break_on_hyphens=True``." -msgstr "" - -#: ../NEWS:25683 -msgid "" -":issue:`35823`: Use ``vfork()`` instead of ``fork()`` for " -":func:`subprocess.Popen` on Linux to improve performance in cases where it " -"is deemed safe." -msgstr "" - -#: ../NEWS:25687 -msgid "" -":issue:`42043`: Add support for ``zipfile.Path`` inheritance. " -"``zipfile.Path.is_file()`` now returns False for non-existent names. " -"``zipfile.Path`` objects now expose a ``.filename`` attribute and rely on " -"that to resolve ``.name`` and ``.parent`` when the ``Path`` object is at the" -" root of the zipfile." -msgstr "" - -#: ../NEWS:25693 -msgid ":issue:`42021`: Fix possible ref leaks in :mod:`sqlite3` module init." -msgstr "" - -#: ../NEWS:25695 -msgid "" -":issue:`39101`: Fixed tests using IsolatedAsyncioTestCase from hanging on " -"BaseExceptions." -msgstr "" - -#: ../NEWS:25698 -msgid "" -":issue:`41976`: Fixed a bug that was causing " -":func:`ctypes.util.find_library` to return ``None`` when triying to locate a" -" library in an environment when gcc>=9 is available and ``ldconfig`` is not." -" Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:25702 -msgid "" -":issue:`41943`: Fix bug where TestCase.assertLogs doesn't correctly filter " -"messages by level." -msgstr "" - -#: ../NEWS:25705 -msgid "" -":issue:`41923`: Implement :pep:`613`, introducing :data:`typing.TypeAlias` " -"annotation." -msgstr "" - -#: ../NEWS:25708 -msgid "" -":issue:`41905`: A new function in abc: *update_abstractmethods* to re-" -"calculate an abstract class's abstract status. In addition, *dataclass* has " -"been changed to call this function." -msgstr "" - -#: ../NEWS:25712 -msgid "" -":issue:`23706`: Added *newline* parameter to ``pathlib.Path.write_text()``." -msgstr "" - -#: ../NEWS:25714 -msgid ":issue:`41876`: Tkinter font class repr uses font name" -msgstr "" - -#: ../NEWS:25716 -msgid "" -":issue:`41831`: ``str()`` for the ``type`` attribute of the " -"``tkinter.Event`` object always returns now the numeric code returned by Tk " -"instead of the name of the event type." -msgstr "" - -#: ../NEWS:25720 -msgid "" -":issue:`39337`: :func:`encodings.normalize_encoding` now ignores non-ASCII " -"characters." -msgstr "" - -#: ../NEWS:25723 -msgid "" -":issue:`41747`: Ensure all methods that generated from " -":func:`dataclasses.dataclass` objects now have the proper ``__qualname__`` " -"attribute referring to the class they belong to. Patch by Batuhan Taskaya." -msgstr "" - -#: ../NEWS:25727 -msgid "" -":issue:`30681`: Handle exceptions caused by unparsable date headers when " -"using email \"default\" policy. Patch by Tim Bell, Georges Toth" -msgstr "" - -#: ../NEWS:25730 -msgid "" -":issue:`41586`: Add F_SETPIPE_SZ and F_GETPIPE_SZ to fcntl module. Allow " -"setting pipesize on subprocess.Popen." -msgstr "" - -#: ../NEWS:25733 -msgid "" -":issue:`41229`: Add ``contextlib.aclosing`` for deterministic cleanup of " -"async generators which is analogous to ``contextlib.closing`` for non-async " -"generators. Patch by Joongi Kim and John Belmonte." -msgstr "" - -#: ../NEWS:25737 -msgid "" -":issue:`16396`: Allow ``ctypes.wintypes`` to be imported on non-Windows " -"systems." -msgstr "" - -#: ../NEWS:25740 -msgid ":issue:`4356`: Add a key function to the bisect module." -msgstr "" - -#: ../NEWS:25742 -msgid "" -":issue:`40592`: :func:`shutil.which` now ignores empty entries in " -":envvar:`PATHEXT` instead of treating them as a match." -msgstr "" - -#: ../NEWS:25745 -msgid "" -":issue:`40492`: Fix ``--outfile`` for :mod:`cProfile` / :mod:`profile` not " -"writing the output file in the original directory when the program being " -"profiled changes the working directory. PR by Anthony Sottile." -msgstr "" - -#: ../NEWS:25749 -msgid "" -":issue:`34204`: The :mod:`shelve` module now uses " -":const:`pickle.DEFAULT_PROTOCOL` by default instead of :mod:`pickle` " -"protocol ``3``." -msgstr "" - -#: ../NEWS:25753 -msgid "" -":issue:`27321`: Fixed KeyError exception when flattening an email to a " -"string attempts to replace a non-existent Content-Transfer-Encoding header." -msgstr "" - -#: ../NEWS:25756 -msgid "" -":issue:`38976`: The :mod:`http.cookiejar` module now supports the parsing of" -" cookies in CURL-style cookiejar files through MozillaCookieJar on all " -"platforms. Previously, such cookie entries would be silently ignored when " -"loading a cookiejar with such entries." -msgstr "" - -#: ../NEWS:25761 -msgid "" -"Additionally, the HTTP Only attribute is persisted in the object, and will " -"be correctly written to file if the MozillaCookieJar object is subsequently " -"dumped." -msgstr "" - -#: ../NEWS:25768 -msgid ":issue:`42061`: Document __format__ functionality for IP addresses." -msgstr "" - -#: ../NEWS:25770 -msgid "" -":issue:`41910`: Document the default implementation of ``object.__eq__``." -msgstr "" - -#: ../NEWS:25772 -msgid "" -":issue:`42010`: Clarify that subscription expressions are also valid for " -"certain :term:`classes ` and :term:`types ` in the standard " -"library, and for user-defined classes and types if the classmethod " -":meth:`__class_getitem__` is provided." -msgstr "" - -#: ../NEWS:25777 -msgid "" -":issue:`41805`: Documented :ref:`generic alias type ` " -"and :data:`types.GenericAlias`. Also added an entry in glossary for " -":term:`generic types `." -msgstr "" - -#: ../NEWS:25781 -msgid ":issue:`39693`: Fix tarfile's extractfile documentation" -msgstr "" - -#: ../NEWS:25783 -msgid "" -":issue:`39416`: Document some restrictions on the default string " -"representations of numeric classes." -msgstr "" - -#: ../NEWS:25789 -msgid "" -":issue:`41739`: Fix test_logging.test_race_between_set_target_and_flush(): " -"the test now waits until all threads complete to avoid leaking running " -"threads." -msgstr "" - -#: ../NEWS:25793 -msgid "" -":issue:`41970`: Avoid a test failure in ``test_lib2to3`` if the module has " -"already imported at the time the test executes. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:25796 -msgid "" -":issue:`41944`: Tests for CJK codecs no longer call ``eval()`` on content " -"received via HTTP." -msgstr "" - -#: ../NEWS:25799 -msgid "" -":issue:`41306`: Fixed a failure in ``test_tk.test_widgets.ScaleTest`` " -"happening when executing the test with Tk 8.6.10." -msgstr "" - -#: ../NEWS:25805 -msgid "" -":issue:`38980`: Add ``-fno-semantic-interposition`` to both the compile and " -"link line when building with ``--enable-optimizations``. Patch by Victor " -"Stinner and Pablo Galindo." -msgstr "" - -#: ../NEWS:25812 -msgid "" -":issue:`38439`: Updates the icons for IDLE in the Windows Store package." -msgstr "" - -#: ../NEWS:25814 -msgid "" -":issue:`38252`: Use 8-byte step to detect ASCII sequence in 64-bit Windows " -"build." -msgstr "" - -#: ../NEWS:25817 -msgid ":issue:`39107`: Update Tcl and Tk to 8.6.10 in Windows installer." -msgstr "" - -#: ../NEWS:25819 -msgid ":issue:`41557`: Update Windows installer to use SQLite 3.33.0." -msgstr "" - -#: ../NEWS:25821 -msgid "" -":issue:`38324`: Avoid Unicode errors when accessing certain locale data on " -"Windows." -msgstr "" - -#: ../NEWS:25827 -msgid "" -":issue:`41471`: Ignore invalid prefix lengths in system proxy excludes." -msgstr "" - -#: ../NEWS:25832 -msgid "" -":issue:`33987`: Mostly finish using ttk widgets, mainly for editor, " -"settings, and searches. Some patches by Mark Roseman." -msgstr "" - -#: ../NEWS:25835 -msgid "" -":issue:`40511`: Typing opening and closing parentheses inside the " -"parentheses of a function call will no longer cause unnecessary \"flashing\"" -" off and on of an existing open call-tip, e.g. when typed in a string " -"literal." -msgstr "" - -#: ../NEWS:25839 -msgid "" -":issue:`38439`: Add a 256×256 pixel IDLE icon to the Windows .ico file. " -"Created by Andrew Clover. Remove the low-color gif variations from the .ico " -"file." -msgstr "" - -#: ../NEWS:25845 -msgid "" -":issue:`42157`: The private ``_PyUnicode_Name_CAPI`` structure of the " -"PyCapsule API ``unicodedata.ucnhash_CAPI`` has been moved to the internal C " -"API. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:25849 -msgid "" -":issue:`42015`: Fix potential crash in deallocating method objects when " -"dynamically allocated :c:type:`PyMethodDef`'s lifetime is managed through " -"the ``self`` argument of a :c:type:`PyCFunction`." -msgstr "" - -#: ../NEWS:25853 -msgid "" -":issue:`40423`: The :mod:`subprocess` module and ``os.closerange`` will now " -"use the ``close_range(low, high, flags)`` syscall when it is available for " -"more efficient closing of ranges of descriptors." -msgstr "" - -#: ../NEWS:25857 -msgid "" -":issue:`41845`: :c:func:`PyObject_GenericGetDict` is available again in the " -"limited API when targeting 3.10 or later." -msgstr "" - -#: ../NEWS:25860 -msgid "" -":issue:`40422`: Add ``_Py_closerange`` function to provide performant " -"closing of a range of file descriptors." -msgstr "" - -#: ../NEWS:25863 -msgid "" -":issue:`41986`: :c:data:`!Py_FileSystemDefaultEncodeErrors` and " -":c:data:`!Py_UTF8Mode` are available again in limited API." -msgstr "" - -#: ../NEWS:25866 -msgid "" -":issue:`41756`: Add ``PyIter_Send`` function to allow sending value into " -"generator/coroutine/iterator without raising StopIteration exception to " -"signal return." -msgstr "" - -#: ../NEWS:25870 -msgid "" -":issue:`41784`: Added ``PyUnicode_AsUTF8AndSize`` to the limited C API." -msgstr "" - -#: ../NEWS:25874 -msgid "Python 3.10.0 alpha 1" -msgstr "" - -#: ../NEWS:25876 -msgid "*Release date: 2020-10-05*" -msgstr "" - -#: ../NEWS:25881 -msgid "" -":issue:`41304`: Fixes ``python3x._pth`` being ignored on Windows, caused by " -"the fix for :issue:`29778` (:cve:`2020-15801`)." -msgstr "" - -#: ../NEWS:25884 -msgid "" -":issue:`41162`: Audit hooks are now cleared later during finalization to " -"avoid missing events." -msgstr "" - -#: ../NEWS:25887 -msgid "" -":issue:`29778`: Ensure :file:`python3.dll` is loaded from correct locations " -"when Python is embedded (:cve:`2020-15523`)." -msgstr "" - -#: ../NEWS:25890 -msgid "" -":issue:`41004`: The __hash__() methods of ipaddress.IPv4Interface and " -"ipaddress.IPv6Interface incorrectly generated constant hash values of 32 and" -" 128 respectively. This resulted in always causing hash collisions. The fix " -"uses hash() to generate hash values for the tuple of (address, mask length, " -"network address)." -msgstr "" - -#: ../NEWS:25896 -msgid "" -":issue:`39603`: Prevent http header injection by rejecting control " -"characters in http.client.putrequest(...)." -msgstr "" - -#: ../NEWS:25902 -msgid "" -":issue:`41909`: Fixed stack overflow in :func:`issubclass` and " -":func:`isinstance` when getting the ``__bases__`` attribute leads to " -"infinite recursion." -msgstr "" - -#: ../NEWS:25906 -msgid "" -":issue:`41922`: Speed up calls to ``reversed()`` by using the :pep:`590` " -"``vectorcall`` calling convention. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:25909 -msgid "" -":issue:`41873`: Calls to ``float()`` are now faster due to the " -"``vectorcall`` calling convention. Patch by Dennis Sweeney." -msgstr "" - -#: ../NEWS:25912 -msgid "" -":issue:`41870`: Speed up calls to ``bool()`` by using the :pep:`590` " -"``vectorcall`` calling convention. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:25915 -msgid "" -":issue:`1635741`: Port the :mod:`!_bisect` module to the multi-phase " -"initialization API (:pep:`489`)." -msgstr "" - -#: ../NEWS:25918 -msgid "" -":issue:`39934`: Correctly count control blocks in 'except' in compiler. " -"Ensures that a syntax error, rather a fatal error, occurs for deeply nested," -" named exception handlers." -msgstr "" - -#: ../NEWS:25922 -msgid "" -":issue:`41780`: Fix :meth:`__dir__` of :class:`types.GenericAlias`. Patch by" -" Batuhan Taskaya." -msgstr "" - -#: ../NEWS:25925 -msgid "" -":issue:`1635741`: Port the :mod:`!_lsprof` extension module to multi-phase " -"initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:25928 -msgid "" -":issue:`1635741`: Port the :mod:`cmath` extension module to multi-phase " -"initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:25931 -msgid "" -":issue:`1635741`: Port the :mod:`!_scproxy` extension module to multi-phase " -"initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:25934 -msgid "" -":issue:`1635741`: Port the :mod:`termios` extension module to multi-phase " -"initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:25937 -msgid "" -":issue:`1635741`: Convert the :mod:`!_sha256` extension module types to heap" -" types." -msgstr "" - -#: ../NEWS:25940 -msgid "" -":issue:`41690`: Fix a possible stack overflow in the parser when parsing " -"functions and classes with a huge amount of arguments. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../NEWS:25944 -msgid "" -":issue:`1635741`: Port the :mod:`!_overlapped` extension module to multi-" -"phase initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:25947 -msgid "" -":issue:`1635741`: Port the :mod:`!_curses_panel` extension module to multi-" -"phase initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:25950 -msgid "" -":issue:`1635741`: Port the :mod:`!_opcode` extension module to multi-phase " -"initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:25953 -msgid "" -":issue:`41681`: Fixes the wrong error description in the error raised by " -"using 2 ``,`` in format string in f-string and :meth:`str.format`." -msgstr "" - -#: ../NEWS:25956 -msgid "" -":issue:`41675`: The implementation of :func:`signal.siginterrupt` now uses " -":c:func:`!sigaction` (if it is available in the system) instead of the " -"deprecated :c:func:`!siginterrupt`. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:25960 -msgid "" -":issue:`41670`: Prevent line trace being skipped on platforms not compiled " -"with ``USE_COMPUTED_GOTOS``. Fixes issue where some lines nested within a " -"try-except block were not being traced on Windows." -msgstr "" - -#: ../NEWS:25964 -msgid "" -":issue:`41654`: Fix a crash that occurred when destroying subclasses of " -":class:`MemoryError`. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:25967 -msgid "" -":issue:`1635741`: Port the :mod:`zlib` extension module to multi-phase " -"initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:25970 -msgid "" -":issue:`41631`: The ``_ast`` module uses again a global state. Using a " -"module state per module instance is causing subtle practical problems. For " -"example, the Mercurial project replaces the ``__import__()`` function to " -"implement lazy import, whereas Python expected that ``import _ast`` always " -"return a fully initialized ``_ast`` module." -msgstr "" - -#: ../NEWS:25976 -msgid "" -":issue:`40077`: Convert :mod:`!_operator` to use :c:func:`PyType_FromSpec`." -msgstr "" - -#: ../NEWS:25978 -msgid "" -":issue:`1653741`: Port :mod:`!_sha3` to multi-phase init. Convert static " -"types to heap types." -msgstr "" - -#: ../NEWS:25981 -msgid "" -":issue:`1635741`: Port the :mod:`!_blake2` extension module to the multi-" -"phase initialization API (:pep:`489`)." -msgstr "" - -#: ../NEWS:25984 -msgid "" -":issue:`41533`: Free the stack allocated in ``va_build_stack`` if " -"``do_mkstack`` fails and the stack is not a ``small_stack``." -msgstr "" - -#: ../NEWS:25987 -msgid "" -":issue:`41531`: Fix a bug that was dropping keys when compiling dict " -"literals with more than 0xFFFF elements. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:25990 -msgid "" -":issue:`41525`: The output of ``python --help`` contains now only ASCII " -"characters." -msgstr "" - -#: ../NEWS:25993 -msgid "" -":issue:`1635741`: Port the :mod:`!_sha1`, :mod:`!_sha512`, and :mod:`!_md5` " -"extension modules to multi-phase initialization API (:pep:`489`)." -msgstr "" - -#: ../NEWS:25996 -msgid "" -":issue:`41431`: Optimize ``dict_merge()`` for copying dict (e.g. ``dict(d)``" -" and ``{}.update(d)``)." -msgstr "" - -#: ../NEWS:25999 -msgid "" -":issue:`41428`: Implement PEP 604. This supports (int | str) etc. in place " -"of Union[str, int]." -msgstr "" - -#: ../NEWS:26002 -msgid ":issue:`41340`: Removed fallback implementation for ``strdup``." -msgstr "" - -#: ../NEWS:26004 -msgid "" -":issue:`38156`: Handle interrupts that come after EOF correctly in " -"``PyOS_StdioReadline``." -msgstr "" - -#: ../NEWS:26007 -msgid "" -":issue:`41342`: :func:`round` with integer argument is now faster (9--60%)." -msgstr "" - -#: ../NEWS:26009 -msgid "" -":issue:`41334`: Constructors :func:`str`, :func:`bytes` and " -":func:`bytearray` are now faster (around 30--40% for small objects)." -msgstr "" - -#: ../NEWS:26012 -msgid "" -":issue:`41295`: Resolve a regression in CPython 3.8.4 where defining " -"\"__setattr__\" in a multi-inheritance setup and calling up the hierarchy " -"chain could fail if builtins/extension types were involved in the base " -"types." -msgstr "" - -#: ../NEWS:26017 -msgid "" -":issue:`41323`: Bytecode optimizations are performed directly on the control" -" flow graph. This will result in slightly more compact code objects in some " -"circumstances." -msgstr "" - -#: ../NEWS:26021 -msgid "" -":issue:`41247`: Always cache the running loop holder when running " -"``asyncio.set_running_loop``." -msgstr "" - -#: ../NEWS:26024 -msgid "" -":issue:`41252`: Fix incorrect refcounting in _ssl.c's " -"``_servername_callback()``." -msgstr "" - -#: ../NEWS:26027 -msgid "" -":issue:`1635741`: Port :mod:`multiprocessing` to multi-phase initialization" -msgstr "" - -#: ../NEWS:26029 -msgid ":issue:`1635741`: Port :mod:`winapi` to multiphase initialization" -msgstr "" - -#: ../NEWS:26031 -msgid "" -":issue:`41215`: Use non-NULL default values in the PEG parser keyword list " -"to overcome a bug that was preventing Python from being properly compiled " -"when using the XLC compiler. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:26035 -msgid "" -":issue:`41218`: Python 3.8.3 had a regression where compiling with " -"ast.PyCF_ALLOW_TOP_LEVEL_AWAIT would aggressively mark list comprehension " -"with CO_COROUTINE. Now only list comprehension making use of async/await " -"will tagged as so." -msgstr "" - -#: ../NEWS:26040 -msgid "" -":issue:`1635741`: Port :mod:`faulthandler` to multiphase initialization." -msgstr "" - -#: ../NEWS:26042 -msgid ":issue:`1635741`: Port :mod:`sha256` to multiphase initialization" -msgstr "" - -#: ../NEWS:26044 -msgid "" -":issue:`41175`: Guard against a NULL pointer dereference within " -"bytearrayobject triggered by the ``bytearray() + bytearray()`` operation." -msgstr "" - -#: ../NEWS:26047 -msgid "" -":issue:`41100`: add arm64 to the allowable Mac OS arches in mpdecimal.h" -msgstr "" - -#: ../NEWS:26049 -msgid "" -":issue:`41094`: Fix decoding errors with audit when open files with non-" -"ASCII names on non-UTF-8 locale." -msgstr "" - -#: ../NEWS:26052 -msgid "" -":issue:`39960`: The \"hackcheck\" that prevents sneaking around a type's " -"__setattr__() by calling the superclass method was rewritten to allow C " -"implemented heap types." -msgstr "" - -#: ../NEWS:26056 -msgid "" -":issue:`41084`: Prefix the error message with 'f-string: ', when parsing an " -"f-string expression which throws a :exc:`SyntaxError`." -msgstr "" - -#: ../NEWS:26059 -msgid ":issue:`40521`: Empty frozensets are no longer singletons." -msgstr "" - -#: ../NEWS:26061 -msgid "" -":issue:`41076`: Pre-feed the parser with the location of the f-string " -"expression, not the f-string itself, which allows us to skip the shifting of" -" the AST node locations after the parsing is completed." -msgstr "" - -#: ../NEWS:26065 -msgid "" -":issue:`41056`: Fixes a reference to deallocated stack space during startup " -"when constructing sys.path involving a relative symlink when code was " -"supplied via -c. (discovered via Coverity)" -msgstr "" - -#: ../NEWS:26069 -msgid "" -":issue:`41061`: Fix incorrect expressions and asserts in hashtable code and " -"tests." -msgstr "" - -#: ../NEWS:26072 -msgid "" -":issue:`41052`: Opt out serialization/deserialization for _random.Random" -msgstr "" - -#: ../NEWS:26074 -msgid "" -":issue:`40939`: Rename ``PyPegen*`` functions to ``PyParser*``, so that we " -"can remove the old set of ``PyParser*`` functions that were using the old " -"parser, but keep everything backwards-compatible." -msgstr "" - -#: ../NEWS:26078 -msgid "" -":issue:`35975`: Stefan Behnel reported that cf_feature_version is used even " -"when PyCF_ONLY_AST is not set. This is against the intention and against the" -" documented behavior, so it's been fixed." -msgstr "" - -#: ../NEWS:26082 -msgid "" -":issue:`40939`: Remove the remaining files from the old parser and the " -":mod:`symbol` module." -msgstr "" - -#: ../NEWS:26085 -msgid ":issue:`40077`: Convert :mod:`!_bz2` to use :c:func:`PyType_FromSpec`." -msgstr "" - -#: ../NEWS:26087 -msgid "" -":issue:`41006`: The ``encodings.latin_1`` module is no longer imported at " -"startup. Now it is only imported when it is the filesystem encoding or the " -"stdio encoding." -msgstr "" - -#: ../NEWS:26091 -msgid "" -":issue:`40636`: :func:`zip` now supports :pep:`618`'s ``strict`` parameter, " -"which raises a :exc:`ValueError` if the arguments are exhausted at different" -" lengths. Patch by Brandt Bucher." -msgstr "" - -#: ../NEWS:26095 -msgid ":issue:`1635741`: Port :mod:`!_gdbm` to multiphase initialization." -msgstr "" - -#: ../NEWS:26097 -msgid "" -":issue:`40985`: Fix a bug that caused the :exc:`SyntaxError` text to be " -"empty when a file ends with a line ending in a line continuation character " -"(i.e. backslash). The error text should contain the text of the last line." -msgstr "" - -#: ../NEWS:26101 -msgid "" -":issue:`40958`: Fix a possible buffer overflow in the PEG parser when " -"gathering information for emitting syntax errors. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:26104 -msgid ":issue:`1635741`: Port :mod:`!_dbm` to multiphase initialization." -msgstr "" - -#: ../NEWS:26106 -msgid "" -":issue:`40957`: Fix refleak in _Py_fopen_obj() when PySys_Audit() fails" -msgstr "" - -#: ../NEWS:26108 -msgid "" -":issue:`40950`: Add a state to the :mod:`!nis` module (:pep:`3121`) and " -"apply the multiphase initialization. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:26111 -msgid "" -":issue:`40947`: The Python :ref:`Path Configuration ` now " -"takes :c:member:`PyConfig.platlibdir` in account." -msgstr "" - -#: ../NEWS:26114 -msgid "" -":issue:`40939`: Remove the old parser, the :mod:`parser` module and all " -"associated support code, command-line options and environment variables. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:26118 -msgid "" -":issue:`40847`: Fix a bug where a line with only a line continuation " -"character is not considered a blank line at tokenizer level. In such cases, " -"more than a single ``NEWLINE`` token was emitted. The old parser was working" -" around the issue, but the new parser threw a :exc:`SyntaxError` for valid " -"input due to this. For example, an empty line following a line continuation " -"character was interpreted as a :exc:`SyntaxError`." -msgstr "" - -#: ../NEWS:26125 -msgid "" -":issue:`40890`: Each dictionary view now has a ``mapping`` attribute that " -"provides a :class:`types.MappingProxyType` wrapping the original dictionary." -" Patch contributed by Dennis Sweeney." -msgstr "" - -#: ../NEWS:26129 -msgid "" -":issue:`40889`: Improved the performance of symmetric difference operations " -"on dictionary item views. Patch by Dennis Sweeney." -msgstr "" - -#: ../NEWS:26132 -msgid "" -":issue:`40904`: Fix possible segfault in the new PEG parser when parsing " -"f-string containing yield statements with no value (:code:`f\"{yield}\"`). " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:26136 -msgid "" -":issue:`40903`: Fixed a possible segfault in the new PEG parser when " -"producing error messages for invalid assignments of the form :code:`p=p=`. " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:26140 -msgid "" -":issue:`40880`: Fix invalid memory read in the new parser when checking " -"newlines in string literals. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:26143 -msgid "" -":issue:`40883`: Fix memory leak in when parsing f-strings in the new parser." -" Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:26146 -msgid "" -":issue:`40870`: Raise :exc:`ValueError` when validating custom AST's where " -"the constants ``True``, ``False`` and ``None`` are used within a " -":class:`ast.Name` node." -msgstr "" - -#: ../NEWS:26150 -msgid "" -":issue:`40854`: Allow overriding :data:`sys.platlibdir` via a new " -":envvar:`PYTHONPLATLIBDIR` environment variable." -msgstr "" - -#: ../NEWS:26153 -msgid "" -":issue:`40826`: Fix GIL usage in :c:func:`PyOS_Readline`: lock the GIL to " -"set an exception and pass the Python thread state when checking if there is " -"a pending signal." -msgstr "" - -#: ../NEWS:26157 -msgid ":issue:`1635741`: Port :mod:`fcntl` to multiphase initialization." -msgstr "" - -#: ../NEWS:26159 -msgid "" -":issue:`19468`: Delete unnecessary instance check in importlib.reload(). " -"Patch by Furkan Önder." -msgstr "" - -#: ../NEWS:26162 -msgid "" -":issue:`40824`: Unexpected errors in calling the ``__iter__`` method are no " -"longer masked by ``TypeError`` in the :keyword:`in` operator and functions " -":func:`~operator.contains`, :func:`~operator.indexOf` and " -":func:`~operator.countOf` of the :mod:`operator` module." -msgstr "" - -#: ../NEWS:26167 -msgid "" -":issue:`40792`: Attributes ``start``, ``stop`` and ``step`` of the " -":class:`range` object now always has exact type :class:`int`. Previously, " -"they could have been an instance of a subclass of ``int``." -msgstr "" - -#: ../NEWS:26171 -msgid "" -":issue:`40780`: Fix a corner case where g-style string formatting of a float" -" failed to remove trailing zeros." -msgstr "" - -#: ../NEWS:26174 -msgid "" -":issue:`38964`: When there's a :exc:`SyntaxError` in the expression part of " -"an fstring, the filename attribute of the :exc:`SyntaxError` gets correctly " -"set to the name of the file the fstring resides in." -msgstr "" - -#: ../NEWS:26178 -msgid "" -":issue:`40750`: Support the \"-d\" debug flag in the new PEG parser. Patch " -"by Pablo Galindo" -msgstr "" - -#: ../NEWS:26181 -msgid "" -":issue:`40217`: Instances of types created with " -":c:func:`PyType_FromSpecWithBases` will no longer automatically visit their " -"class object when traversing references in the garbage collector. The user " -"is expected to manually visit the object's class. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:26187 -msgid "" -":issue:`39573`: :c:func:`Py_TYPE()` is changed to the inline static " -"function. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:26190 -msgid "" -":issue:`40696`: Fix a hang that can arise after :meth:`generator.throw` due " -"to a cycle in the exception context chain." -msgstr "" - -#: ../NEWS:26193 -msgid "" -":issue:`40521`: Each interpreter now its has own free lists, singletons and " -"caches:" -msgstr "" - -#: ../NEWS:26196 -msgid "" -"Free lists: float, tuple, list, dict, frame, context, asynchronous " -"generator, MemoryError." -msgstr "" - -#: ../NEWS:26198 -msgid "" -"Singletons: empty tuple, empty bytes string, empty Unicode string, single " -"byte character, single Unicode (latin1) character." -msgstr "" - -#: ../NEWS:26200 -msgid "Slice cache." -msgstr "" - -#: ../NEWS:26202 -msgid "They are no longer shared by all interpreters." -msgstr "" - -#: ../NEWS:26204 -msgid "" -":issue:`40679`: Certain :exc:`TypeError` messages about missing or extra " -"arguments now include the function's :term:`qualified name`. Patch by " -"Dennis Sweeney." -msgstr "" - -#: ../NEWS:26208 -msgid "" -":issue:`29590`: Make the stack trace correct after calling " -":meth:`generator.throw` on a generator that has yielded from a ``yield " -"from``." -msgstr "" - -#: ../NEWS:26212 -msgid "" -":issue:`4022`: Improve performance of generators by not raising internal " -"StopIteration." -msgstr "" - -#: ../NEWS:26215 -msgid ":issue:`1635741`: Port :mod:`mmap` to multiphase initialization." -msgstr "" - -#: ../NEWS:26217 -msgid ":issue:`1635741`: Port :mod:`!_lzma` to multiphase initialization." -msgstr "" - -#: ../NEWS:26219 -msgid "" -":issue:`37999`: Builtin and extension functions that take integer arguments " -"no longer accept :class:`~decimal.Decimal`\\ s, " -":class:`~fractions.Fraction`\\ s and other objects that can be converted to " -"integers only with a loss (e.g. that have the :meth:`~object.__int__` method" -" but do not have the :meth:`~object.__index__` method)." -msgstr "" - -#: ../NEWS:26225 -msgid "" -":issue:`29882`: Add :meth:`int.bit_count`, counting the number of ones in " -"the binary representation of an integer. Patch by Niklas Fiekas." -msgstr "" - -#: ../NEWS:26228 -msgid "" -":issue:`36982`: Use ncurses extended color functions when available to " -"support terminals with 256 colors, and add the new function " -":func:`curses.has_extended_color_support` to indicate whether extended color" -" support is provided by the underlying ncurses library." -msgstr "" - -#: ../NEWS:26233 -msgid "" -":issue:`19569`: Add the private macros ``_Py_COMP_DIAG_PUSH``, " -"``_Py_COMP_DIAG_IGNORE_DEPR_DECLS``, and ``_Py_COMP_DIAG_POP``." -msgstr "" - -#: ../NEWS:26236 -msgid "" -":issue:`26680`: The int type now supports the x.is_integer() method for " -"compatibility with float." -msgstr "" - -#: ../NEWS:26242 -msgid "" -":issue:`41900`: C14N 2.0 serialisation in xml.etree.ElementTree failed for " -"unprefixed attributes when a default namespace was defined." -msgstr "" - -#: ../NEWS:26245 -msgid "" -":issue:`41887`: Strip leading spaces and tabs on :func:`ast.literal_eval`. " -"Also document stripping of spaces and tabs for :func:`eval`." -msgstr "" - -#: ../NEWS:26248 -msgid "" -":issue:`41773`: Note in documentation that :func:`random.choices` doesn't " -"support non-finite weights, raise :exc:`ValueError` when given non-finite " -"weights." -msgstr "" - -#: ../NEWS:26252 -msgid "" -":issue:`41840`: Fix a bug in the :mod:`symtable` module that was causing " -"module-scope global variables to not be reported as both local and global. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:26256 -msgid "" -":issue:`41842`: Add :func:`codecs.unregister` function to unregister a codec" -" search function." -msgstr "" - -#: ../NEWS:26259 -msgid "" -":issue:`40564`: In ``zipfile.Path``, mutate the passed ZipFile object type " -"instead of making a copy. Prevents issues when both the local copy and the " -"caller’s copy attempt to close the same file handle." -msgstr "" - -#: ../NEWS:26263 -msgid "" -":issue:`40670`: More reliable validation of statements in " -":class:`timeit.Timer`. It now accepts \"empty\" statements (only whitespaces" -" and comments) and rejects misindentent statements." -msgstr "" - -#: ../NEWS:26267 -msgid "" -":issue:`41833`: The :class:`threading.Thread` constructor now uses the " -"target name if the *target* argument is specified but the *name* argument is" -" omitted." -msgstr "" - -#: ../NEWS:26271 -msgid "" -":issue:`41817`: fix ``tkinter.EventType`` Enum so all members are strings, " -"and none are tuples" -msgstr "" - -#: ../NEWS:26274 -msgid "" -":issue:`41810`: :data:`types.EllipsisType`, :data:`types.NotImplementedType`" -" and :data:`types.NoneType` have been reintroduced, providing a new set of " -"types readily interpretable by static type checkers." -msgstr "" - -#: ../NEWS:26278 -msgid "" -":issue:`41815`: Fix SQLite3 segfault when backing up closed database. Patch " -"contributed by Peter David McCormick." -msgstr "" - -#: ../NEWS:26281 -msgid "" -":issue:`41816`: StrEnum added: it ensures that all members are already " -"strings or string candidates" -msgstr "" - -#: ../NEWS:26284 -msgid "" -":issue:`41517`: fix bug allowing Enums to be extended via multiple " -"inheritance" -msgstr "" - -#: ../NEWS:26286 -msgid "" -":issue:`39587`: use the correct mix-in data type when constructing Enums" -msgstr "" - -#: ../NEWS:26288 -msgid "" -":issue:`41792`: Add is_typeddict function to typing.py to check if a type is" -" a TypedDict class" -msgstr "" - -#: ../NEWS:26291 -msgid "" -"Previously there was no way to check that without using private API. See the" -" `relevant issue in python/typing " -"`_." -msgstr "" - -#: ../NEWS:26295 -msgid "" -":issue:`41789`: Honor ``object`` overrides in ``Enum`` class creation " -"(specifically, ``__str__``, ``__repr__``, ``__format__``, and " -"``__reduce_ex__``)." -msgstr "" - -#: ../NEWS:26299 -msgid "" -":issue:`32218`: ``enum.Flag`` and ``enum.IntFlag`` members are now iterable." -msgstr "" - -#: ../NEWS:26301 -msgid "" -":issue:`39651`: Fix a race condition in the ``call_soon_threadsafe()`` " -"method of ``asyncio.ProactorEventLoop``: do nothing if the self-pipe socket " -"has been closed." -msgstr "" - -#: ../NEWS:26305 -msgid "" -":issue:`1635741`: Port the ``mashal`` extension module to the multi-phase " -"initialization API (:pep:`489`)." -msgstr "" - -#: ../NEWS:26308 -msgid "" -":issue:`1635741`: Port the ``_string`` extension module to the multi-phase " -"initialization API (:pep:`489`)." -msgstr "" - -#: ../NEWS:26311 -msgid ":issue:`41732`: Added an :term:`iterator` to :class:`memoryview`." -msgstr "" - -#: ../NEWS:26313 -msgid "" -":issue:`41720`: Fixed :meth:`turtle.Vec2D.__rmul__` for arguments which are " -"not int or float." -msgstr "" - -#: ../NEWS:26316 -msgid "" -":issue:`41696`: Fix handling of debug mode in :func:`asyncio.run`. This " -"allows setting ``PYTHONASYNCIODEBUG`` or ``-X dev`` to enable asyncio debug " -"mode when using :func:`asyncio.run`." -msgstr "" - -#: ../NEWS:26320 -msgid "" -":issue:`41687`: Fix implementation of sendfile to be compatible with " -"Solaris." -msgstr "" - -#: ../NEWS:26322 -msgid "" -":issue:`41662`: No longer override exceptions raised in ``__len__()`` of a " -"sequence of parameters in :mod:`sqlite3` with " -":exc:`~sqlite3.ProgrammingError`." -msgstr "" - -#: ../NEWS:26326 -msgid "" -":issue:`39010`: Restarting a ``ProactorEventLoop`` on Windows no longer logs" -" spurious ``ConnectionResetErrors``." -msgstr "" - -#: ../NEWS:26329 -msgid "" -":issue:`41638`: :exc:`~sqlite3.ProgrammingError` message for absent " -"parameter in :mod:`sqlite3` contains now the name of the parameter instead " -"of its index when parameters are supplied as a dict." -msgstr "" - -#: ../NEWS:26333 -msgid "" -":issue:`41662`: Fixed crash when mutate list of parameters during iteration " -"in :mod:`sqlite3`." -msgstr "" - -#: ../NEWS:26336 -msgid "" -":issue:`41513`: Improved the accuracy of math.hypot(). Internally, each " -"step is computed with extra precision so that the result is now almost " -"always correctly rounded." -msgstr "" - -#: ../NEWS:26340 -msgid "" -":issue:`41609`: The pdb whatis command correctly reports instance methods as" -" 'Method' rather than 'Function'." -msgstr "" - -#: ../NEWS:26343 -msgid "" -":issue:`39994`: Fixed pprint's handling of dict subclasses that override " -"__repr__." -msgstr "" - -#: ../NEWS:26346 -msgid "" -":issue:`32751`: When cancelling the task due to a timeout, " -":meth:`asyncio.wait_for` will now wait until the cancellation is complete " -"also in the case when *timeout* is <= 0, like it does with positive " -"timeouts." -msgstr "" - -#: ../NEWS:26351 -msgid "" -":issue:`37658`: :meth:`asyncio.wait_for` now properly handles races between " -"cancellation of itself and the completion of the wrapped awaitable." -msgstr "" - -#: ../NEWS:26354 -msgid "" -":issue:`40782`: Change the method asyncio.AbstractEventLoop.run_in_executor " -"to not be a coroutine." -msgstr "" - -#: ../NEWS:26357 -msgid "" -":issue:`41520`: Fix :mod:`codeop` regression that prevented turning compile " -"warnings into errors." -msgstr "" - -#: ../NEWS:26360 -msgid "" -":issue:`41528`: turtle uses math module functions to convert degrees to " -"radians and vice versa and to calculate vector norm" -msgstr "" - -#: ../NEWS:26363 -msgid "" -":issue:`41513`: Minor algorithmic improvement to math.hypot() and " -"math.dist() giving small gains in speed and accuracy." -msgstr "" - -#: ../NEWS:26366 -msgid "" -":issue:`41503`: Fixed a race between setTarget and flush in " -"logging.handlers.MemoryHandler." -msgstr "" - -#: ../NEWS:26369 -msgid ":issue:`41497`: Fix potential UnicodeDecodeError in dis module." -msgstr "" - -#: ../NEWS:26371 -msgid "" -":issue:`41467`: On Windows, fix asyncio ``recv_into()`` return value when " -"the socket/pipe is closed (:exc:`BrokenPipeError`): return ``0`` rather than" -" an empty byte string (``b''``)." -msgstr "" - -#: ../NEWS:26375 -msgid ":issue:`41425`: Make tkinter doc example runnable." -msgstr "" - -#: ../NEWS:26377 -msgid "" -":issue:`41421`: Make an algebraic simplification to random.paretovariate()." -" It now is slightly less subject to round-off error and is slightly faster." -" Inputs that used to cause ZeroDivisionError now cause an OverflowError " -"instead." -msgstr "" - -#: ../NEWS:26382 -msgid ":issue:`41440`: Add :func:`os.cpu_count` support for VxWorks RTOS." -msgstr "" - -#: ../NEWS:26384 -msgid "" -":issue:`41316`: Fix the :mod:`tarfile` module to write only basename of TAR " -"file to GZIP compression header." -msgstr "" - -#: ../NEWS:26387 -msgid "" -":issue:`41384`: Raise TclError instead of TypeError when an unknown option " -"is passed to tkinter.OptionMenu." -msgstr "" - -#: ../NEWS:26390 -msgid "" -":issue:`41317`: Use add_done_callback() in asyncio.loop.sock_accept() to " -"unsubscribe reader early on cancellation." -msgstr "" - -#: ../NEWS:26393 -msgid ":issue:`41364`: Reduce import overhead of :mod:`uuid`." -msgstr "" - -#: ../NEWS:26395 -msgid "" -":issue:`35328`: Set the environment variable ``VIRTUAL_ENV_PROMPT`` at " -":mod:`venv` activation." -msgstr "" - -#: ../NEWS:26398 -msgid "" -":issue:`41341`: Recursive evaluation of ``typing.ForwardRef`` in " -"``get_type_hints``." -msgstr "" - -#: ../NEWS:26401 -msgid "" -":issue:`41344`: Prevent creating :class:`shared_memory.SharedMemory` objects" -" with :code:`size=0`." -msgstr "" - -#: ../NEWS:26404 -msgid "" -":issue:`41333`: :meth:`collections.OrderedDict.pop` is now 2 times faster." -msgstr "" - -#: ../NEWS:26406 -msgid "" -":issue:`41288`: Unpickling invalid NEWOBJ_EX opcode with the C " -"implementation raises now UnpicklingError instead of crashing." -msgstr "" - -#: ../NEWS:26409 -msgid "" -":issue:`39017`: Avoid infinite loop when reading specially crafted TAR files" -" using the tarfile module (:cve:`2019-20907`)." -msgstr "" - -#: ../NEWS:26412 -msgid "" -":issue:`41273`: Speed up any transport using ``_ProactorReadPipeTransport`` " -"by calling ``recv_into`` instead of ``recv``, thus not creating a new buffer" -" for each ``recv`` call in the transport's read loop." -msgstr "" - -#: ../NEWS:26416 -msgid "" -":issue:`41235`: Fix the error handling in " -":meth:`ssl.SSLContext.load_dh_params`." -msgstr "" - -#: ../NEWS:26419 -msgid "" -":issue:`41207`: In distutils.spawn, restore expectation that " -"DistutilsExecError is raised when the command is not found." -msgstr "" - -#: ../NEWS:26422 -msgid "" -":issue:`29727`: Register :class:`array.array` as a " -":class:`~collections.abc.MutableSequence`. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:26425 -msgid "" -":issue:`39168`: Remove the ``__new__`` method of :class:`typing.Generic`." -msgstr "" - -#: ../NEWS:26427 -msgid "" -":issue:`41194`: Fix a crash in the ``_ast`` module: it can no longer be " -"loaded more than once. It now uses a global state rather than a module " -"state." -msgstr "" - -#: ../NEWS:26430 -msgid "" -":issue:`41195`: Add read-only ssl.SSLContext.security_level attribute to " -"retrieve the context's security level." -msgstr "" - -#: ../NEWS:26433 -msgid "" -":issue:`41193`: The ``write_history()`` atexit function of the readline " -"completer now ignores any :exc:`OSError` to ignore error if the filesystem " -"is read-only, instead of only ignoring :exc:`FileNotFoundError` and " -":exc:`PermissionError`." -msgstr "" - -#: ../NEWS:26438 -msgid "" -":issue:`41182`: selector: use DefaultSelector based upon implementation" -msgstr "" - -#: ../NEWS:26440 -msgid "" -":issue:`41161`: The decimal module now requires libmpdec-2.5.0. Users of " -"--with-system-libmpdec should update their system library." -msgstr "" - -#: ../NEWS:26443 -msgid ":issue:`40874`: The decimal module now requires libmpdec-2.5.0." -msgstr "" - -#: ../NEWS:26445 -msgid "" -":issue:`41138`: Fixed the :mod:`trace` module CLI for Python source files " -"with non-UTF-8 encoding." -msgstr "" - -#: ../NEWS:26448 -msgid "" -":issue:`31082`: Use the term \"iterable\" in the docstring for " -":func:`functools.reduce`." -msgstr "" - -#: ../NEWS:26451 -msgid ":issue:`40521`: Remove freelist from collections.deque()." -msgstr "" - -#: ../NEWS:26453 -msgid "" -":issue:`31938`: Fix default-value signatures of several functions in the " -":mod:`select` module - by Anthony Sottile." -msgstr "" - -#: ../NEWS:26456 -msgid "" -":issue:`41068`: Fixed reading files with non-ASCII names from ZIP archive " -"directly after writing them." -msgstr "" - -#: ../NEWS:26459 -msgid "" -":issue:`41058`: :func:`pdb.find_function` now correctly determines the " -"source file encoding." -msgstr "" - -#: ../NEWS:26462 -msgid "" -":issue:`41056`: Invalid file descriptor values are now prevented from being " -"passed to os.fpathconf. (discovered by Coverity)" -msgstr "" - -#: ../NEWS:26465 -msgid "" -":issue:`41056`: Fix a NULL pointer dereference within the ssl module during " -"a MemoryError in the keylog callback. (discovered by Coverity)" -msgstr "" - -#: ../NEWS:26468 -msgid "" -":issue:`41056`: Fixed an instance where a MemoryError within the zoneinfo " -"module might not be reported or not reported at its source. (found by " -"Coverity)" -msgstr "" - -#: ../NEWS:26472 -msgid "" -":issue:`41048`: :func:`mimetypes.read_mime_types` function reads the rule " -"file using UTF-8 encoding, not the locale encoding. Patch by Srinivas Reddy " -"Thatiparthy." -msgstr "" - -#: ../NEWS:26476 -msgid "" -":issue:`41043`: Fixed the use of :func:`~glob.glob` in the stdlib: literal " -"part of the path is now always correctly escaped." -msgstr "" - -#: ../NEWS:26479 -msgid "" -":issue:`41025`: Fixed an issue preventing the C implementation of " -":class:`zoneinfo.ZoneInfo` from being subclassed." -msgstr "" - -#: ../NEWS:26482 -msgid "" -":issue:`35018`: Add the :class:`xml.sax.handler.LexicalHandler` class that " -"is present in other SAX XML implementations." -msgstr "" - -#: ../NEWS:26485 -msgid "" -":issue:`41002`: Improve performance of HTTPResponse.read with a given " -"amount. Patch by Bruce Merry." -msgstr "" - -#: ../NEWS:26488 -msgid "" -":issue:`40448`: :mod:`ensurepip` now disables the use of ``pip`` cache when " -"installing the bundled versions of ``pip`` and ``setuptools``. Patch by " -"Krzysztof Konopko." -msgstr "" - -#: ../NEWS:26492 -msgid "" -":issue:`40967`: Removed :meth:`!asyncio.Task.current_task` and " -":meth:`!asyncio.Task.all_tasks`. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:26495 -msgid "" -":issue:`40924`: Ensure ``importlib.resources.path`` returns an extant path " -"for the SourceFileLoader's resource reader. Avoids the regression identified" -" in master while a long-term solution is devised." -msgstr "" - -#: ../NEWS:26499 -msgid "" -":issue:`40955`: Fix a minor memory leak in :mod:`subprocess` module when " -"extra_groups was specified." -msgstr "" - -#: ../NEWS:26502 -msgid "" -":issue:`40855`: The standard deviation and variance functions in the " -"statistics module were ignoring their mu and xbar arguments." -msgstr "" - -#: ../NEWS:26505 -msgid "" -":issue:`40939`: Use the new PEG parser when generating the stdlib " -":mod:`keyword` module." -msgstr "" - -#: ../NEWS:26508 -msgid "" -":issue:`23427`: Add :data:`sys.orig_argv` attribute: the list of the " -"original command line arguments passed to the Python executable." -msgstr "" - -#: ../NEWS:26511 -msgid "" -":issue:`33689`: Ignore empty or whitespace-only lines in .pth files. This " -"matches the documentated behavior. Before, empty lines caused the site-" -"packages dir to appear multiple times in sys.path. By Ido Michael, " -"contributors Malcolm Smith and Tal Einat." -msgstr "" - -#: ../NEWS:26516 -msgid "" -":issue:`40884`: Added a ``defaults`` parameter to " -":class:`logging.Formatter`, to allow specifying default values for custom " -"fields. Patch by Asaf Alon and Bar Harel." -msgstr "" - -#: ../NEWS:26520 -msgid ":issue:`40876`: Clarify error message in the :mod:`csv` module." -msgstr "" - -#: ../NEWS:26522 -msgid "" -":issue:`39791`: Refresh importlib.metadata from importlib_metadata 1.6.1." -msgstr "" - -#: ../NEWS:26524 -msgid "" -":issue:`40807`: Stop codeop._maybe_compile, used by " -"code.InteractiveInterpreter (and IDLE). from emitting each warning three " -"times." -msgstr "" - -#: ../NEWS:26527 -msgid "" -":issue:`32604`: Fix reference leak in the :mod:`select` module when the " -"module is imported in a subinterpreter." -msgstr "" - -#: ../NEWS:26530 -msgid "" -":issue:`39791`: Built-in loaders (SourceFileLoader and ZipImporter) now " -"supply ``TraversableResources`` implementations for ``ResourceReader``, and " -"the fallback function has been removed." -msgstr "" - -#: ../NEWS:26534 -msgid "" -":issue:`39314`: :class:`rlcompleter.Completer` and the standard Python shell" -" now close the parenthesis for functions that take no arguments. Patch " -"contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:26538 -msgid "" -":issue:`17005`: The topological sort functionality that was introduced " -"initially in the :mod:`functools` module has been moved to a new " -":mod:`graphlib` module to better accommodate the new tools and keep the " -"original scope of the :mod:`functools` module. Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:26543 -msgid "" -":issue:`40834`: Fix truncate when sending str object " -"with_xxsubinterpreters.channel_send." -msgstr "" - -#: ../NEWS:26546 -msgid ":issue:`40755`: Add rich comparisons to collections.Counter()." -msgstr "" - -#: ../NEWS:26548 -msgid "" -":issue:`26407`: Unexpected errors in calling the ``__iter__`` method are no " -"longer masked by ``TypeError`` in :func:`csv.reader`, " -":func:`csv.writer.writerow` and :meth:`csv.writer.writerows`." -msgstr "" - -#: ../NEWS:26552 -msgid "" -":issue:`39384`: Fixed email.contentmanager to allow set_content() to set a " -"null string." -msgstr "" - -#: ../NEWS:26555 -msgid "" -":issue:`40744`: The :mod:`sqlite3` module uses SQLite API functions that " -"require SQLite v3.7.3 or higher. This patch removes support for older " -"SQLite versions, and explicitly requires SQLite 3.7.3 both at build, compile" -" and runtime. Patch by Sergey Fedoseev and Erlend E. Aasland." -msgstr "" - -#: ../NEWS:26560 -msgid "" -":issue:`40777`: Initialize PyDateTime_IsoCalendarDateType.tp_base at run-" -"time to avoid errors on some compilers." -msgstr "" - -#: ../NEWS:26563 -msgid "" -":issue:`38488`: Update ensurepip to install pip 20.1.1 and setuptools " -"47.1.0." -msgstr "" - -#: ../NEWS:26565 -msgid "" -":issue:`40792`: The result of :func:`operator.index` now always has exact " -"type :class:`int`. Previously, the result could have been an instance of a " -"subclass of ``int``." -msgstr "" - -#: ../NEWS:26569 -msgid "" -":issue:`40767`: :mod:`webbrowser` now properly finds the default browser in " -"pure Wayland systems by checking the WAYLAND_DISPLAY environment variable. " -"Patch contributed by Jérémy Attali." -msgstr "" - -#: ../NEWS:26573 -msgid "" -":issue:`40791`: :func:`hashlib.compare_digest` uses OpenSSL's " -"``CRYPTO_memcmp()`` function when OpenSSL is available." -msgstr "" - -#: ../NEWS:26576 -msgid "" -":issue:`40795`: :mod:`ctypes` module: If ctypes fails to convert the result " -"of a callback or if a ctypes callback function raises an exception, " -"sys.unraisablehook is now called with an exception set. Previously, the " -"error was logged into stderr by :c:func:`PyErr_Print`." -msgstr "" - -#: ../NEWS:26581 -msgid "" -":issue:`16995`: Add :func:`base64.b32hexencode` and " -":func:`base64.b32hexdecode` to support the Base32 Encoding with Extended Hex" -" Alphabet." -msgstr "" - -#: ../NEWS:26584 -msgid "" -":issue:`30008`: Fix :mod:`ssl` code to be compatible with OpenSSL 1.1.x " -"builds that use ``no-deprecated`` and ``--api=1.1.0``." -msgstr "" - -#: ../NEWS:26587 -msgid ":issue:`30064`: Fix asyncio ``loop.sock_*`` race condition issue" -msgstr "" - -#: ../NEWS:26589 -msgid ":issue:`40759`: Deprecate the :mod:`symbol` module." -msgstr "" - -#: ../NEWS:26591 -msgid "" -":issue:`40756`: The second argument (extra) of ``LoggerAdapter.__init__`` " -"now defaults to None." -msgstr "" - -#: ../NEWS:26594 -msgid "" -":issue:`37129`: Add a new :const:`os.RWF_APPEND` flag for " -":func:`os.pwritev`." -msgstr "" - -#: ../NEWS:26596 -msgid "" -":issue:`40737`: Fix possible reference leak for :mod:`sqlite3` " -"initialization." -msgstr "" - -#: ../NEWS:26598 -msgid "" -":issue:`40726`: Handle cases where the ``end_lineno`` is ``None`` on " -":func:`ast.increment_lineno`." -msgstr "" - -#: ../NEWS:26601 -msgid "" -":issue:`40698`: ``distutils`` upload creates SHA2-256 and Blake2b-256 " -"digests. MD5 digests is skipped if platform blocks MD5." -msgstr "" - -#: ../NEWS:26604 -msgid "" -":issue:`40695`: :mod:`hashlib` no longer falls back to builtin hash " -"implementations when OpenSSL provides a hash digest and the algorithm is " -"blocked by security policy." -msgstr "" - -#: ../NEWS:26608 -msgid "" -":issue:`9216`: :func:`hashlib.new` passed ``usedforsecurity`` to OpenSSL EVP" -" constructor ``_hashlib.new()``. test_hashlib and test_smtplib handle strict" -" security policy better." -msgstr "" - -#: ../NEWS:26612 -msgid "" -":issue:`40614`: :func:`ast.parse` will not parse self documenting " -"expressions in f-strings when passed ``feature_version`` is less than ``(3, " -"8)``." -msgstr "" - -#: ../NEWS:26615 -msgid "" -":issue:`40626`: Add h5 file extension as MIME Type application/x-hdf5, as " -"per HDF Group recommendation for HDF5 formatted data files. Patch " -"contributed by Mark Schwab." -msgstr "" - -#: ../NEWS:26619 -msgid "" -":issue:`25920`: On macOS, when building Python for macOS 10.4 and older, " -"which wasn't the case for python.org macOS installer, " -":func:`socket.getaddrinfo` no longer uses an internal lock to prevent race " -"conditions when calling ``getaddrinfo()`` which is thread-safe since macOS " -"10.5. Python 3.9 requires macOS 10.6 or newer. The internal lock caused " -"random hang on fork when another thread was calling " -":func:`socket.getaddrinfo`. The lock was also used on FreeBSD older than " -"5.3, OpenBSD older than 201311 and NetBSD older than 4." -msgstr "" - -#: ../NEWS:26628 -msgid "" -":issue:`40671`: Prepare ``_hashlib`` for :pep:`489` and use " -":c:func:`PyModule_AddType`." -msgstr "" - -#: ../NEWS:26631 -msgid "" -":issue:`32309`: Added a new :term:`coroutine` :func:`asyncio.to_thread`. It " -"is mainly used for running IO-bound functions in a separate thread to avoid " -"blocking the event loop, and essentially works as a high-level version of " -":meth:`~asyncio.loop.run_in_executor` that can directly take keyword " -"arguments." -msgstr "" - -#: ../NEWS:26637 -msgid "" -":issue:`36543`: Restored the deprecated :mod:`xml.etree.cElementTree` " -"module." -msgstr "" - -#: ../NEWS:26639 -msgid "" -":issue:`40611`: :const:`~mmap.MAP_POPULATE` constant has now been added to " -"the list of exported :mod:`mmap` module flags." -msgstr "" - -#: ../NEWS:26642 -msgid "" -":issue:`39881`: PEP 554 for use in the test suite. (Patch By Joannah " -"Nanjekye)" -msgstr "" - -#: ../NEWS:26644 -msgid "" -":issue:`13097`: ``ctypes`` now raises an ``ArgumentError`` when a callback " -"is invoked with more than 1024 arguments." -msgstr "" - -#: ../NEWS:26647 -msgid "" -":issue:`39385`: A new test assertion context-manager, " -":func:`unittest.assertNoLogs` will ensure a given block of code emits no log" -" messages using the logging module. Contributed by Kit Yan Choi." -msgstr "" - -#: ../NEWS:26651 -msgid "" -":issue:`23082`: Updated the error message and docs of PurePath.relative_to()" -" to better reflect the function behaviour." -msgstr "" - -#: ../NEWS:26654 -msgid ":issue:`40318`: Use SQLite3 trace v2 API, if it is available." -msgstr "" - -#: ../NEWS:26656 -msgid "" -":issue:`40105`: ZipFile truncates files to avoid corruption when a shorter " -"comment is provided in append (\"a\") mode. Patch by Jan Mazur." -msgstr "" - -#: ../NEWS:26659 -msgid "" -":issue:`40084`: Fix ``Enum.__dir__``: dir(Enum.member) now includes " -"attributes as well as methods." -msgstr "" - -#: ../NEWS:26662 -msgid "" -":issue:`31122`: ssl.wrap_socket() now raises ssl.SSLEOFError rather than " -"OSError when peer closes connection during TLS negotiation" -msgstr "" - -#: ../NEWS:26665 -msgid "" -":issue:`39728`: fix default ``_missing_`` so a duplicate ``ValueError`` is " -"not set as the ``__context__`` of the original ``ValueError``." -msgstr "" - -#: ../NEWS:26668 -msgid "" -":issue:`39244`: Fixed :class:`multiprocessing.context.get_all_start_methods`" -" to properly return the default method first on macOS." -msgstr "" - -#: ../NEWS:26671 -msgid "" -":issue:`39040`: Fix parsing of invalid mime headers parameters by collapsing" -" whitespace between encoded words in a bare-quote-string." -msgstr "" - -#: ../NEWS:26674 -msgid "" -":issue:`38731`: Add ``--quiet`` option to command-line interface of " -":mod:`py_compile`. Patch by Gregory Schevchenko." -msgstr "" - -#: ../NEWS:26677 -msgid "" -":issue:`35714`: :exc:`struct.error` is now raised if there is a null " -"character in a :mod:`struct` format string." -msgstr "" - -#: ../NEWS:26680 -msgid "" -":issue:`38144`: Added the *root_dir* and *dir_fd* parameters in " -":func:`glob.glob`." -msgstr "" - -#: ../NEWS:26683 -msgid "" -":issue:`26543`: Fix :meth:`IMAP4.noop` when debug mode is enabled (ex: " -"``imaplib.Debug = 3``)." -msgstr "" - -#: ../NEWS:26686 -msgid "" -":issue:`12178`: :func:`csv.writer` now correctly escapes *escapechar* when " -"input contains *escapechar*. Patch by Catalin Iacob, Berker Peksag, and " -"Itay Elbirt." -msgstr "" - -#: ../NEWS:26690 -msgid "" -":issue:`36290`: AST nodes are now raising :exc:`TypeError` on conflicting " -"keyword arguments. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:26693 -msgid ":issue:`33944`: Added site.py site-packages tracing in verbose mode." -msgstr "" - -#: ../NEWS:26695 -msgid "" -":issue:`35078`: Refactor formatweekday, formatmonthname methods in " -"LocaleHTMLCalendar and LocaleTextCalendar classes in calendar module to call" -" the base class methods.This enables customizable CSS classes for " -"LocaleHTMLCalendar. Patch by Srinivas Reddy Thatiparthy" -msgstr "" - -#: ../NEWS:26700 -msgid "" -":issue:`29620`: :func:`~unittest.TestCase.assertWarns` no longer raises a " -"``RuntimeException`` when accessing a module's ``__warningregistry__`` " -"causes importation of a new module, or when a new module is imported in " -"another thread. Patch by Kernc." -msgstr "" - -#: ../NEWS:26705 -msgid "" -":issue:`31844`: Remove ``ParserBase.error()`` method from the private and " -"undocumented ``_markupbase`` module. :class:`html.parser.HTMLParser` is the" -" only subclass of ``ParserBase`` and its ``error()`` implementation was " -"deprecated in Python 3.4 and removed in Python 3.5." -msgstr "" - -#: ../NEWS:26710 -msgid "" -":issue:`34226`: Fix ``cgi.parse_multipart`` without content_length. Patch by" -" Roger Duran" -msgstr "" - -#: ../NEWS:26713 -msgid "" -":issue:`33660`: Fix pathlib.PosixPath to resolve a relative path located on " -"the root directory properly." -msgstr "" - -#: ../NEWS:26716 -msgid "" -":issue:`28557`: Improve the error message for a misbehaving " -"``rawio.readinto``" -msgstr "" - -#: ../NEWS:26718 -msgid "" -":issue:`26680`: The d.is_integer() method is added to the Decimal type, for " -"compatibility with other number types." -msgstr "" - -#: ../NEWS:26721 -msgid "" -":issue:`26680`: The x.is_integer() method is incorporated into the abstract " -"types of the numeric tower, Real, Rational and Integral, with appropriate " -"default implementations." -msgstr "" - -#: ../NEWS:26728 -msgid "" -":issue:`41428`: Add documentation for :pep:`604` (Allow writing union types " -"as ``X | Y``)." -msgstr "" - -#: ../NEWS:26731 -msgid "" -":issue:`41774`: In Programming FAQ \"Sequences (Tuples/Lists)\" section, add" -" \"How do you remove multiple items from a list\"." -msgstr "" - -#: ../NEWS:26734 -msgid "" -":issue:`35293`: Fix RemovedInSphinx40Warning when building the " -"documentation. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:26737 -msgid "" -":issue:`37149`: Change Shipman tkinter doc link from archive.org to TkDocs. " -"(The doc has been removed from the NMT server.) The new link responds much " -"faster and includes a short explanatory note." -msgstr "" - -#: ../NEWS:26741 -msgid "" -":issue:`41726`: Update the refcounts info of ``PyType_FromModuleAndSpec``." -msgstr "" - -#: ../NEWS:26743 -msgid ":issue:`41624`: Fix the signature of :class:`typing.Coroutine`." -msgstr "" - -#: ../NEWS:26745 -msgid "" -":issue:`40204`: Enable Sphinx 3.2 ``c_allow_pre_v3`` option and disable " -"``c_warn_on_allowed_pre_v3`` option to make the documentation compatible " -"with Sphinx 2 and Sphinx 3." -msgstr "" - -#: ../NEWS:26749 -msgid ":issue:`41045`: Add documentation for debug feature of f-strings." -msgstr "" - -#: ../NEWS:26751 -msgid "" -":issue:`41314`: Changed the release when ``from __future__ import " -"annotations`` becomes the default from ``4.0`` to ``3.10`` (following a " -"change in PEP 563)." -msgstr "" - -#: ../NEWS:26755 -msgid "" -":issue:`40979`: Refactored typing.rst, arranging more than 70 classes, " -"functions, and decorators into new sub-sections." -msgstr "" - -#: ../NEWS:26758 -msgid "" -":issue:`40552`: Fix in tutorial section 4.2. Code snippet is now correct." -msgstr "" - -#: ../NEWS:26760 -msgid "" -":issue:`39883`: Make code, examples, and recipes in the Python documentation" -" be licensed under the more permissive BSD0 license in addition to the " -"existing Python 2.0 license." -msgstr "" - -#: ../NEWS:26764 -msgid "" -":issue:`37703`: Updated Documentation to comprehensively elaborate on the " -"behaviour of gather.cancel()" -msgstr "" - -#: ../NEWS:26770 -msgid "" -":issue:`41939`: Fix test_site.test_license_exists_at_url(): call " -"``urllib.request.urlcleanup()`` to reset the global " -"``urllib.request._opener``. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:26774 -msgid ":issue:`41731`: Make test_cmd_line_script pass with option '-vv'." -msgstr "" - -#: ../NEWS:26776 -msgid ":issue:`41602`: Add tests for SIGINT handling in the runpy module." -msgstr "" - -#: ../NEWS:26778 -msgid "" -":issue:`41521`: :mod:`test.support`: Rename ``blacklist`` parameter of " -":func:`~test.support.check__all__` to ``not_exported``." -msgstr "" - -#: ../NEWS:26781 -msgid ":issue:`41477`: Make ctypes optional in test_genericalias." -msgstr "" - -#: ../NEWS:26783 -msgid "" -":issue:`41085`: Fix integer overflow in the :meth:`array.array.index` method" -" on 64-bit Windows for index larger than ``2**31``." -msgstr "" - -#: ../NEWS:26786 -msgid "" -":issue:`41069`: :data:`test.support.TESTFN` and the current directory for " -"tests when run via ``test.regrtest`` contain now non-ascii characters if " -"possible." -msgstr "" - -#: ../NEWS:26790 -msgid "" -":issue:`38377`: On Linux, skip tests using multiprocessing if the current " -"user cannot create a file in ``/dev/shm/`` directory. Add the " -":func:`~test.support.skip_if_broken_multiprocessing_synchronize` function to" -" the :mod:`test.support` module." -msgstr "" - -#: ../NEWS:26795 -msgid "" -":issue:`41009`: Fix use of ``support.require_{linux|mac|freebsd}_version()``" -" decorators as class decorator." -msgstr "" - -#: ../NEWS:26798 -msgid "" -":issue:`41003`: Fix ``test_copyreg`` when ``numpy`` is installed: " -"``test.pickletester`` now saves/restores warnings filters when importing " -"``numpy``, to ignore filters installed by ``numpy``." -msgstr "" - -#: ../NEWS:26802 -msgid "" -":issue:`40964`: Disable remote :mod:`imaplib` tests, host " -"cyrus.andrew.cmu.edu is blocking incoming connections." -msgstr "" - -#: ../NEWS:26805 -msgid "" -":issue:`40927`: Fix test_binhex when run twice: it now uses " -"import_fresh_module() to ensure that it raises DeprecationWarning each time." -msgstr "" - -#: ../NEWS:26809 -msgid "" -":issue:`17258`: Skip some :mod:`multiprocessing` tests when MD5 hash digest " -"is blocked." -msgstr "" - -#: ../NEWS:26812 -msgid ":issue:`31904`: Increase LOOPBACK_TIMEOUT to 10 for VxWorks RTOS." -msgstr "" - -#: ../NEWS:26814 -msgid "" -":issue:`38169`: Increase code coverage for SharedMemory and ShareableList" -msgstr "" - -#: ../NEWS:26816 -msgid "" -":issue:`34401`: Make test_gdb properly run on HP-UX. Patch by Michael " -"Osipov." -msgstr "" - -#: ../NEWS:26821 -msgid "" -":issue:`38249`: Update :c:macro:`Py_UNREACHABLE` to use " -"__builtin_unreachable() if only the compiler is able to use it. Patch by " -"Donghee Na." -msgstr "" - -#: ../NEWS:26824 -msgid "" -":issue:`41617`: Fix ``pycore_bitutils.h`` header file to support old clang " -"versions: ``__builtin_bswap16()`` is not available in LLVM clang 3.0." -msgstr "" - -#: ../NEWS:26827 -msgid ":issue:`40204`: Pin Sphinx version to 2.3.1 in ``Doc/Makefile``." -msgstr "" - -#: ../NEWS:26829 -msgid "" -":issue:`36020`: The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf`" -" are now required to build Python." -msgstr "" - -#: ../NEWS:26832 -msgid "" -":issue:`40684`: ``make install`` now uses the ``PLATLIBDIR`` variable for " -"the destination ``lib-dynload/`` directory when ``./configure --with-" -"platlibdir`` is used." -msgstr "" - -#: ../NEWS:26836 -msgid "" -":issue:`40683`: Fixed an issue where the :mod:`zoneinfo` module and its " -"tests were not included when Python is installed with ``make``." -msgstr "" - -#: ../NEWS:26842 -msgid "" -":issue:`41744`: Fixes automatic import of props file when using the Nuget " -"package." -msgstr "" - -#: ../NEWS:26845 -msgid "" -":issue:`41627`: The user site directory for 32-bit now includes a ``-32`` " -"suffix to distinguish it from the 64-bit interpreter's directory." -msgstr "" - -#: ../NEWS:26848 -msgid "" -":issue:`41526`: Fixed layout of final page of the installer by removing the " -"special thanks to Mark Hammond (with his permission)." -msgstr "" - -#: ../NEWS:26851 -msgid ":issue:`41492`: Fixes the description that appears in UAC prompts." -msgstr "" - -#: ../NEWS:26853 -msgid "" -":issue:`40948`: Improve post-install message to direct people to the \"py\" " -"command." -msgstr "" - -#: ../NEWS:26856 -msgid "" -":issue:`41412`: The installer will now fail to install on Windows 7 and " -"Windows 8. Further, the UCRT dependency is now always downloaded on demand." -msgstr "" - -#: ../NEWS:26859 -msgid ":issue:`40741`: Update Windows release to include SQLite 3.32.3." -msgstr "" - -#: ../NEWS:26861 -msgid "" -":issue:`41142`: :mod:`!msilib` now supports creating CAB files with non-" -"ASCII file path and adding files with non-ASCII file path to them." -msgstr "" - -#: ../NEWS:26864 -msgid "" -":issue:`41074`: Fixed support of non-ASCII names in functions " -":func:`!msilib.OpenDatabase` and :func:`!msilib.init_database` and non-ASCII" -" SQL in method :meth:`!msilib.Database.OpenView`." -msgstr "" - -#: ../NEWS:26868 -msgid "" -":issue:`41039`: Stable ABI redirection DLL (python3.dll) now uses ``#pragma " -"comment(linker)`` for re-exporting." -msgstr "" - -#: ../NEWS:26871 -msgid ":issue:`40164`: Updates Windows OpenSSL to 1.1.1g" -msgstr "" - -#: ../NEWS:26873 -msgid "" -":issue:`39631`: Changes the registered MIME type for ``.py`` files on " -"Windows to ``text/x-python`` instead of ``text/plain``." -msgstr "" - -#: ../NEWS:26876 -msgid "" -":issue:`40677`: Manually define IO_REPARSE_TAG_APPEXECLINK in case some old " -"Windows SDK doesn't have it." -msgstr "" - -#: ../NEWS:26879 -msgid "" -":issue:`37556`: Extend py.exe help to mention overrides via venv, shebang, " -"environmental variables & ini files." -msgstr "" - -#: ../NEWS:26885 -msgid ":issue:`41557`: Update macOS installer to use SQLite 3.33.0." -msgstr "" - -#: ../NEWS:26887 -msgid "" -":issue:`39580`: Avoid opening Finder window if running installer from the " -"command line. Patch contributed by Rick Heil." -msgstr "" - -#: ../NEWS:26890 -msgid "" -":issue:`41100`: Fix configure error when building on macOS 11. Note that the" -" current Python release was released shortly after the first developer " -"preview of macOS 11 (Big Sur); there are other known issues with building " -"and running on the developer preview. Big Sur is expected to be fully " -"supported in a future bugfix release of Python 3.8.x and with 3.9.0." -msgstr "" - -#: ../NEWS:26896 -msgid ":issue:`40741`: Update macOS installer to use SQLite 3.32.3." -msgstr "" - -#: ../NEWS:26898 -msgid "" -":issue:`41005`: fixed an XDG settings issue not allowing macos to open " -"browser in webbrowser.py" -msgstr "" - -#: ../NEWS:26901 -msgid ":issue:`40741`: Update macOS installer to use SQLite 3.32.2." -msgstr "" - -#: ../NEWS:26906 -msgid ":issue:`41775`: Use 'IDLE Shell' as shell title" -msgstr "" - -#: ../NEWS:26908 -msgid ":issue:`35764`: Rewrite the Calltips doc section." -msgstr "" - -#: ../NEWS:26910 -msgid "" -":issue:`40181`: In calltips, stop reminding that '/' marks the end of " -"positional-only arguments." -msgstr "" - -#: ../NEWS:26913 -msgid "" -":issue:`41468`: Improve IDLE run crash error message (which users should " -"never see)." -msgstr "" - -#: ../NEWS:26916 -msgid "" -":issue:`41373`: Save files loaded with no line ending, as when blank, or " -"different line endings, by setting its line ending to the system default. " -"Fix regression in 3.8.4 and 3.9.0b4." -msgstr "" - -#: ../NEWS:26920 -msgid "" -":issue:`41300`: Save files with non-ascii chars. Fix regression released in " -"3.9.0b4 and 3.8.4." -msgstr "" - -#: ../NEWS:26923 -msgid "" -":issue:`37765`: Add keywords to module name completion list. Rewrite " -"Completions section of IDLE doc." -msgstr "" - -#: ../NEWS:26926 -msgid "" -":issue:`41152`: The encoding of ``stdin``, ``stdout`` and ``stderr`` in IDLE" -" is now always UTF-8." -msgstr "" - -#: ../NEWS:26929 -msgid "" -":issue:`41144`: Make Open Module open a special module such as os.path." -msgstr "" - -#: ../NEWS:26931 -msgid "" -":issue:`39885`: Make context menu Cut and Copy work again when right-" -"clicking within a selection." -msgstr "" - -#: ../NEWS:26934 -msgid ":issue:`40723`: Make test_idle pass when run after import." -msgstr "" - -#: ../NEWS:26939 -msgid "" -":issue:`41936`: Removed undocumented macros ``Py_ALLOW_RECURSION`` and " -"``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of the " -":c:type:`PyInterpreterState` structure." -msgstr "" - -#: ../NEWS:26943 -msgid "" -":issue:`41692`: The ``PyUnicode_InternImmortal()`` function is now " -"deprecated and will be removed in Python 3.12: use " -":c:func:`PyUnicode_InternInPlace` instead. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:26947 -msgid "" -":issue:`41842`: Add :c:func:`PyCodec_Unregister` function to unregister a " -"codec search function." -msgstr "" - -#: ../NEWS:26950 -msgid "" -":issue:`41834`: Remove the ``_Py_CheckRecursionLimit`` variable: it has been" -" replaced by ``ceval.recursion_limit`` of the :c:type:`PyInterpreterState` " -"structure. Patch by Victor Stinner." -msgstr "" - -#: ../NEWS:26954 -msgid "" -":issue:`41689`: Types created with :c:func:`PyType_FromSpec` now make any " -"signature in their ``tp_doc`` slot accessible from ``__text_signature__``." -msgstr "" - -#: ../NEWS:26957 -msgid "" -":issue:`41524`: Fix bug in PyOS_mystrnicmp and PyOS_mystricmp that " -"incremented pointers beyond the end of a string." -msgstr "" - -#: ../NEWS:26960 -msgid "" -":issue:`41324`: Add a minimal decimal capsule API. The API supports fast " -"conversions between Decimals up to 38 digits and their triple representation" -" as a C struct." -msgstr "" - -#: ../NEWS:26964 -msgid "" -":issue:`30155`: Add :c:func:`PyDateTime_DATE_GET_TZINFO` and " -":c:func:`PyDateTime_TIME_GET_TZINFO` macros for accessing the ``tzinfo`` " -"attributes of :class:`datetime.datetime` and :class:`datetime.time` objects." -msgstr "" - -#: ../NEWS:26969 -msgid "" -":issue:`40170`: Revert :c:func:`PyType_HasFeature` change: it reads again " -"directly the :c:member:`PyTypeObject.tp_flags` member when the limited C API" -" is not used, rather than always calling :c:func:`PyType_GetFlags` which " -"hides implementation details." -msgstr "" - -#: ../NEWS:26974 -msgid ":issue:`41123`: Remove ``PyUnicode_AsUnicodeCopy``." -msgstr "" - -#: ../NEWS:26976 -msgid ":issue:`41123`: Removed ``PyLong_FromUnicode()``." -msgstr "" - -#: ../NEWS:26978 -msgid ":issue:`41123`: Removed ``PyUnicode_GetMax()``." -msgstr "" - -#: ../NEWS:26980 -msgid "" -":issue:`41123`: Removed ``Py_UNICODE_str*`` functions manipulating " -"``Py_UNICODE*`` strings." -msgstr "" - -#: ../NEWS:26983 -msgid "" -":issue:`41103`: ``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``, " -"``PyObject_CheckReadBuffer()``, and ``PyObject_AsWriteBuffer()`` are " -"removed. Please migrate to new buffer protocol; :c:func:`PyObject_GetBuffer`" -" and :c:func:`PyBuffer_Release`." -msgstr "" - -#: ../NEWS:26988 -msgid "" -":issue:`36346`: Raises DeprecationWarning for ``PyUnicode_FromUnicode(NULL, " -"size)`` and ``PyUnicode_FromStringAndSize(NULL, size)`` with ``size > 0``." -msgstr "" - -#: ../NEWS:26991 -msgid "" -":issue:`36346`: Mark ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, " -"``PyUnicode_WSTR_LENGTH``, ``PyUnicode_FromUnicode``, " -"``PyUnicode_AsUnicode``, and ``PyUnicode_AsUnicodeAndSize`` as deprecated in" -" C. Remove ``Py_UNICODE_MATCH`` which was deprecated and broken since Python" -" 3.3." -msgstr "" - -#: ../NEWS:26997 -msgid "" -":issue:`40989`: The :c:func:`PyObject_INIT` and :c:func:`PyObject_INIT_VAR` " -"macros become aliases to, respectively, :c:func:`PyObject_Init` and " -":c:func:`PyObject_InitVar` functions." -msgstr "" - -#: ../NEWS:27001 -msgid "" -":issue:`36020`: On Windows, ``#include \"pyerrors.h\"`` no longer defines " -"``snprintf`` and ``vsnprintf`` macros." -msgstr "" - -#: ../NEWS:27004 -msgid "" -":issue:`40943`: The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use " -":c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use " -"``#``: ``es#``, ``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` and ``Z#``. " -"See :ref:`Parsing arguments and building values ` and the " -":pep:`353`." -msgstr "" - -#: ../NEWS:27010 -msgid "" -":issue:`40910`: Export explicitly the :c:func:`Py_GetArgcArgv` function to " -"the C API and document the function. Previously, it was exported implicitly " -"which no longer works since Python is built with ``-fvisibility=hidden``." -msgstr "" - -#: ../NEWS:27014 -msgid ":issue:`40724`: Allow defining buffer slots in type specs." -msgstr "" - -#: ../NEWS:27016 -msgid "" -":issue:`40679`: Fix a ``_PyEval_EvalCode()`` crash if *qualname* argument is" -" NULL." -msgstr "" - -#: ../NEWS:27019 -msgid "" -":issue:`40839`: Calling :c:func:`PyDict_GetItem` without :term:`GIL` held " -"had been allowed for historical reason. It is no longer allowed." -msgstr "" - -#: ../NEWS:27022 -msgid "" -":issue:`40826`: :c:func:`PyOS_InterruptOccurred` now fails with a fatal " -"error if it is called with the GIL released." -msgstr "" - -#: ../NEWS:27025 -msgid "" -":issue:`40792`: The result of :c:func:`PyNumber_Index` now always has exact " -"type :class:`int`. Previously, the result could have been an instance of a " -"subclass of ``int``." -msgstr "" - -#: ../NEWS:27029 -msgid "" -":issue:`39573`: Convert :c:func:`Py_REFCNT` and :c:func:`Py_SIZE` macros to " -"static inline functions. They cannot be used as l-value anymore: use " -":c:func:`Py_SET_REFCNT` and :c:func:`Py_SET_SIZE` to set an object reference" -" count and size. This change is backward incompatible on purpose, to prepare" -" the C API for an opaque :c:type:`PyObject` structure." -msgstr "" - -#: ../NEWS:27035 -msgid "" -":issue:`40703`: The PyType_FromSpec*() functions no longer overwrite the " -"type's \"__module__\" attribute if it is set via \"Py_tp_members\" or " -"\"Py_tp_getset\"." -msgstr "" - -#: ../NEWS:27038 -msgid "" -":issue:`39583`: Remove superfluous \"extern C\" declarations from " -"``Include/cpython/*.h``." -msgstr "" - -#: ../NEWS:27043 -msgid "Python 3.9.0 beta 1" -msgstr "Python 3.9.0 beta 1" - -#: ../NEWS:27045 -msgid "*Release date: 2020-05-19*" -msgstr "*Tanggal rilis: 2020-05-19*" - -#: ../NEWS:27050 -msgid "" -":issue:`40501`: :mod:`uuid` no longer uses :mod:`ctypes` to load " -":file:`libuuid` or :file:`rpcrt4.dll` at runtime." -msgstr "" - -#: ../NEWS:27056 -msgid "" -":issue:`40663`: Correctly generate annotations where parentheses are omitted" -" but required (e.g: ``Type[(str, int, *other))]``." -msgstr "" - -#: ../NEWS:27059 -msgid "" -":issue:`40596`: Fixed :meth:`str.isidentifier` for non-canonicalized strings" -" containing non-BMP characters on Windows." -msgstr "" - -#: ../NEWS:27062 -msgid "" -":issue:`40593`: Improved syntax errors for invalid characters in source " -"code." -msgstr "" - -#: ../NEWS:27064 -msgid "" -":issue:`40585`: Fixed a bug when using :func:`codeop.compile_command` that " -"was causing exceptions to be swallowed with the new parser. Patch by Pablo " -"Galindo" -msgstr "" - -#: ../NEWS:27068 -msgid ":issue:`40566`: Apply :pep:`573` to :mod:`abc`." -msgstr "" - -#: ../NEWS:27070 -msgid "" -":issue:`40502`: Initialize ``n->n_col_offset``. (Patch by Joannah Nanjekye)" -msgstr "" - -#: ../NEWS:27072 -msgid "" -":issue:`40527`: Fix command line argument parsing: no longer write errors " -"multiple times into stderr." -msgstr "" - -#: ../NEWS:27075 -msgid "" -":issue:`1635741`: Port :mod:`errno` to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:27077 -msgid "" -":issue:`40523`: Add pass-throughs for :func:`hash` and :func:`reversed` to " -":class:`weakref.proxy` objects. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:27080 -msgid "" -":issue:`1635741`: Port :mod:`syslog` to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:27082 -msgid "" -":issue:`40246`: Reporting a specialised error message for invalid string " -"prefixes, which was introduced in :issue:`40246`, is being reverted due to " -"backwards compatibility concerns for strings that immediately follow a " -"reserved keyword without whitespace between them. Constructs like " -"``bg=\"#d00\" if clear else\"#fca\"`` were failing to parse, which is not an" -" acceptable breakage on such short notice." -msgstr "" - -#: ../NEWS:27089 -msgid "" -":issue:`40417`: Fix imp module deprecation warning when " -"PyImport_ReloadModule is called. Patch by Robert Rouhani." -msgstr "" - -#: ../NEWS:27092 -msgid "" -":issue:`40408`: Fixed support of nested type variables in GenericAlias (e.g." -" ``list[list[T]]``)." -msgstr "" - -#: ../NEWS:27095 -msgid "" -":issue:`1635741`: Port _stat module to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:27097 -msgid "" -":issue:`29587`: Enable implicit exception chaining when calling " -":meth:`generator.throw`." -msgstr "" - -#: ../NEWS:27100 -msgid "" -":issue:`40328`: Add tools for generating mappings headers for CJKCodecs." -msgstr "" - -#: ../NEWS:27102 -msgid "" -":issue:`40228`: Setting frame.f_lineno is now robust w.r.t. changes in the " -"source-to-bytecode compiler" -msgstr "" - -#: ../NEWS:27105 -msgid "" -":issue:`38880`: Added the ability to list interpreters associated with " -"channel ends in the internal subinterpreters module." -msgstr "" - -#: ../NEWS:27108 -msgid "" -":issue:`37986`: Improve performance of :c:func:`PyLong_FromDouble` for " -"values that fit into :c:expr:`long`." -msgstr "" - -#: ../NEWS:27114 -msgid "" -":issue:`40662`: Fixed :func:`ast.get_source_segment` for ast nodes that have" -" incomplete location information. Patch by Irit Katriel." -msgstr "" - -#: ../NEWS:27117 -msgid ":issue:`40665`: Convert :mod:`bisect` to use Argument Clinic." -msgstr "" - -#: ../NEWS:27119 -msgid "" -":issue:`40536`: Added the :func:`~zoneinfo.available_timezones` function to " -"the :mod:`zoneinfo` module. Patch by Paul Ganssle." -msgstr "" - -#: ../NEWS:27122 -msgid "" -":issue:`40645`: The :class:`hmac.HMAC` exposes internal implementation " -"details. The attributes ``digest_cons``, ``inner``, and ``outer`` are " -"deprecated and will be removed in the future." -msgstr "" - -#: ../NEWS:27126 -msgid "" -":issue:`40645`: The internal module ``_hashlib`` wraps and exposes OpenSSL's" -" HMAC API. The new code will be used in Python 3.10 after the internal " -"implementation details of the pure Python HMAC module are no longer part of " -"the public API." -msgstr "" - -#: ../NEWS:27131 -msgid "" -":issue:`40637`: Builtin hash modules can now be disabled or selectively " -"enabled with ``configure --with-builtin-hashlib-hashes=sha3,blake1`` or " -"``--without-builtin-hashlib-hashes``." -msgstr "" - -#: ../NEWS:27135 -msgid "" -":issue:`37630`: The :mod:`hashlib` module can now use SHA3 hashes and SHAKE " -"XOF from OpenSSL when available." -msgstr "" - -#: ../NEWS:27138 -msgid "" -":issue:`40479`: The :mod:`hashlib` now compiles with OpenSSL 3.0.0-alpha2." -msgstr "" - -#: ../NEWS:27140 -msgid ":issue:`40257`: Revert changes to :func:`inspect.getdoc`." -msgstr "" - -#: ../NEWS:27142 -msgid "" -":issue:`40607`: When cancelling a task due to timeout, " -":meth:`asyncio.wait_for` will now propagate the exception if an error " -"happens during cancellation. Patch by Roman Skurikhin." -msgstr "" - -#: ../NEWS:27146 -msgid "" -":issue:`40612`: Fix edge cases in SyntaxError formatting. If the offset is " -"<= 0, no caret is printed. If the offset is > line length, the caret is " -"printed pointing just after the last character." -msgstr "" - -#: ../NEWS:27150 -msgid "" -":issue:`40597`: If text content lines are longer than " -"policy.max_line_length, always use a content-encoding to make sure they are " -"wrapped." -msgstr "" - -#: ../NEWS:27153 -msgid "" -":issue:`40571`: Added functools.cache() as a simpler, more discoverable way " -"to access the unbounded cache variant of lru_cache(maxsize=None)." -msgstr "" - -#: ../NEWS:27156 -msgid "" -":issue:`40503`: :pep:`615`, the :mod:`zoneinfo` module. Adds support for the" -" IANA time zone database." -msgstr "" - -#: ../NEWS:27159 -msgid "" -":issue:`40397`: Removed attributes ``__args__`` and ``__parameters__`` from " -"special generic aliases like ``typing.List`` (not subscripted)." -msgstr "" - -#: ../NEWS:27162 -msgid "" -":issue:`40549`: Convert posixmodule.c (\"posix\" or \"nt\" module) to the " -"multiphase initialization (PEP 489)." -msgstr "" - -#: ../NEWS:27165 -msgid "" -":issue:`31033`: Add a ``msg`` argument to :meth:`Future.cancel` and " -":meth:`Task.cancel`." -msgstr "" - -#: ../NEWS:27168 -msgid "" -":issue:`40541`: Added an optional *counts* parameter to random.sample()." -msgstr "" - -#: ../NEWS:27170 -msgid "" -":issue:`40515`: The :mod:`ssl` and :mod:`hashlib` modules now actively check" -" that OpenSSL is build with thread support. Python 3.7.0 made thread support" -" mandatory and no longer works safely with a no-thread builds." -msgstr "" - -#: ../NEWS:27174 -msgid "" -":issue:`31033`: When a :class:`asyncio.Task` is cancelled, the exception " -"traceback now chains all the way back to where the task was first " -"interrupted." -msgstr "" - -#: ../NEWS:27178 -msgid "" -":issue:`40504`: :func:`functools.lru_cache` objects can now be the targets " -"of weakrefs." -msgstr "" - -#: ../NEWS:27181 -msgid "" -":issue:`40559`: Fix possible memory leak in the C implementation of " -":class:`asyncio.Task`." -msgstr "" - -#: ../NEWS:27184 -msgid "" -":issue:`40480`: ``fnmatch.fnmatch()`` could take exponential time in the " -"presence of multiple ``*`` pattern characters. This was repaired by " -"generating more elaborate regular expressions to avoid futile backtracking." -msgstr "" - -#: ../NEWS:27189 -msgid "" -":issue:`40495`: :mod:`compileall` is now able to use hardlinks to prevent " -"duplicates in a case when ``.pyc`` files for different optimization levels " -"have the same content." -msgstr "" - -#: ../NEWS:27193 -msgid "" -":issue:`40457`: The ssl module now support OpenSSL builds without TLS 1.0 " -"and 1.1 methods." -msgstr "" - -#: ../NEWS:27196 -msgid "" -":issue:`40355`: Improve error reporting in :func:`ast.literal_eval` in the " -"presence of malformed :class:`ast.Dict` nodes instead of silently ignoring " -"any non-conforming elements. Patch by Curtis Bucher." -msgstr "" - -#: ../NEWS:27200 -msgid "" -":issue:`40465`: Deprecated the optional *random* argument to " -"*random.shuffle()*." -msgstr "" - -#: ../NEWS:27203 -msgid "" -":issue:`40459`: :func:`platform.win32_ver` now produces correct *ptype* " -"strings instead of empty strings." -msgstr "" - -#: ../NEWS:27206 -msgid "" -":issue:`39435`: The first argument of :func:`pickle.loads` is now " -"positional-only." -msgstr "" - -#: ../NEWS:27209 -msgid "" -":issue:`39305`: Update :mod:`!nntplib` to merge :class:`!nntplib.NNTP` and " -":class:`!nntplib._NNTPBase`. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:27212 -msgid "" -":issue:`32494`: Update :mod:`dbm.gnu` to use gdbm_count if possible when " -"calling :func:`len`. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:27215 -msgid "" -":issue:`40453`: Add ``isolated=True`` keyword-only parameter to " -"``_xxsubinterpreters.create()``. An isolated subinterpreter cannot spawn " -"threads, spawn a child process or call ``os.fork()``." -msgstr "" - -#: ../NEWS:27219 -msgid "" -":issue:`40286`: Remove ``_random.Random.randbytes()``: the C implementation " -"of ``randbytes()``. Implement the method in Python to ease subclassing: " -"``randbytes()`` now directly reuses ``getrandbits()``." -msgstr "" - -#: ../NEWS:27223 -msgid "" -":issue:`40394`: Added default arguments to " -":meth:`difflib.SequenceMatcher.find_longest_match`." -msgstr "" - -#: ../NEWS:27226 -msgid "" -":issue:`39995`: Fix a race condition in concurrent.futures._ThreadWakeup: " -"access to _ThreadWakeup is now protected with the shutdown lock." -msgstr "" - -#: ../NEWS:27229 -msgid "" -":issue:`30966`: ``Process.shutdown(wait=True)`` of :mod:`concurrent.futures`" -" now closes explicitly the result queue." -msgstr "" - -#: ../NEWS:27232 -msgid "" -":issue:`30966`: Add a new :meth:`~multiprocessing.SimpleQueue.close` method " -"to the :class:`~multiprocessing.SimpleQueue` class to explicitly close the " -"queue." -msgstr "" - -#: ../NEWS:27236 -msgid "" -":issue:`39966`: Revert :issue:`25597`. :class:`unittest.mock.MagicMock` with" -" wraps' set uses default return values for magic methods." -msgstr "" - -#: ../NEWS:27239 -msgid "" -":issue:`39791`: Added ``files()`` function to importlib.resources with " -"support for subdirectories in package data, matching backport in " -"importlib_resources 1.5." -msgstr "" - -#: ../NEWS:27243 -msgid "" -":issue:`40375`: :meth:`imaplib.IMAP4.unselect` is added. Patch by Donghee " -"Na." -msgstr "" - -#: ../NEWS:27245 -msgid "" -":issue:`40389`: ``repr()`` now returns ``typing.Optional[T]`` when called " -"for ``typing.Union`` of two types, one of which is ``NoneType``." -msgstr "" - -#: ../NEWS:27248 -msgid "" -":issue:`40291`: Add support for CAN_J1939 sockets (available on Linux 5.4+)" -msgstr "" - -#: ../NEWS:27250 -msgid ":issue:`40273`: :class:`types.MappingProxyType` is now reversible." -msgstr "" - -#: ../NEWS:27252 -msgid "" -":issue:`39075`: The repr for :class:`types.SimpleNamespace` is now insertion" -" ordered rather than alphabetical." -msgstr "" - -#: ../NEWS:27255 -msgid "" -":issue:`40192`: On AIX, :func:`~time.thread_time` is now implemented with " -"``thread_cputime()`` which has nanosecond resolution, rather than " -"``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` which has a resolution of 10 " -"milliseconds. Patch by Batuhan Taskaya." -msgstr "" - -#: ../NEWS:27260 -msgid "" -":issue:`40025`: Raise TypeError when _generate_next_value_ is defined after " -"members. Patch by Ethan Onstott." -msgstr "" - -#: ../NEWS:27263 -msgid "" -":issue:`39058`: In the argparse module, the repr for Namespace() and other " -"argument holders now displayed in the order attributes were added. Formerly," -" it displayed in alphabetical order even though argument order is preserved " -"the user visible parts of the module." -msgstr "" - -#: ../NEWS:27268 -msgid "" -":issue:`24416`: The ``isocalendar()`` methods of :class:`datetime.date` and " -":class:`datetime.datetime` now return a :term:`named tuple` instead of a " -":class:`tuple`." -msgstr "" - -#: ../NEWS:27275 -msgid "" -":issue:`34790`: Add version of removal for explicit passing of coros to " -"``asyncio.wait()``'s documentation" -msgstr "" - -#: ../NEWS:27278 -msgid ":issue:`40561`: Provide docstrings for webbrowser open functions." -msgstr "" - -#: ../NEWS:27280 -msgid "" -":issue:`40499`: Mention that :func:`asyncio.wait` requires a non-empty set " -"of awaitables." -msgstr "" - -#: ../NEWS:27283 -msgid "" -":issue:`39705`: Tutorial example for sorted() in the Loop Techniques section" -" is given a better explanation. Also a new example is included to explain " -"sorted()'s basic behavior." -msgstr "" - -#: ../NEWS:27287 -msgid "" -":issue:`39435`: Fix an incorrect signature for :func:`pickle.loads` in the " -"docs" -msgstr "" - -#: ../NEWS:27292 -msgid "" -":issue:`40055`: distutils.tests now saves/restores warnings filters to leave" -" them unchanged. Importing tests imports docutils which imports " -"pkg_resources which adds a warnings filter." -msgstr "" - -#: ../NEWS:27296 -msgid "" -":issue:`40436`: test_gdb and test.pythoninfo now check gdb command exit " -"code." -msgstr "" - -#: ../NEWS:27301 -msgid "" -":issue:`40653`: Move _dirnameW out of HAVE_SYMLINK to fix a potential " -"compiling issue." -msgstr "" - -#: ../NEWS:27304 -msgid "" -":issue:`40514`: Add ``--with-experimental-isolated-subinterpreters`` build " -"option to ``configure``: better isolate subinterpreters, experimental build " -"mode." -msgstr "" - -#: ../NEWS:27311 -msgid ":issue:`40650`: Include winsock2.h in pytime.c for timeval." -msgstr "" - -#: ../NEWS:27313 -msgid "" -":issue:`40458`: Increase reserved stack space to prevent overflow crash on " -"Windows." -msgstr "" - -#: ../NEWS:27316 -msgid "" -":issue:`39148`: Add IPv6 support to :mod:`asyncio` datagram endpoints in " -"ProactorEventLoop. Change the raised exception for unknown address families " -"to ValueError as it's not coming from Windows API." -msgstr "" - -#: ../NEWS:27323 -msgid "" -":issue:`34956`: When building Python on macOS from source, ``_tkinter`` now " -"links with non-system Tcl and Tk frameworks if they are installed in " -"``/Library/Frameworks``, as had been the case on older releases of macOS. If" -" a macOS SDK is explicitly configured, by using ``--enable-universalsdk=`` " -"or ``-isysroot``, only the SDK itself is searched. The default behavior can " -"still be overridden with ``--with-tcltk-includes`` and ``--with-tcltk-" -"libs``." -msgstr "" - -#: ../NEWS:27331 -msgid ":issue:`35569`: Expose RFC 3542 IPv6 socket options." -msgstr "" - -#: ../NEWS:27336 -msgid "" -":issue:`40479`: Update multissltest helper to test with latest OpenSSL " -"1.0.2, 1.1.0, 1.1.1, and 3.0.0-alpha." -msgstr "" - -#: ../NEWS:27339 -msgid "" -":issue:`40431`: Fix a syntax typo in ``turtledemo`` that now raises a " -"``SyntaxError``." -msgstr "" - -#: ../NEWS:27342 -msgid "" -":issue:`40163`: Fix multissltest tool. OpenSSL has changed download URL for " -"old releases. The multissltest tool now tries to download from current and " -"old download URLs." -msgstr "" - -#: ../NEWS:27349 -msgid "" -":issue:`39465`: Remove the ``_PyUnicode_ClearStaticStrings()`` function from" -" the C API." -msgstr "" - -#: ../NEWS:27352 -msgid "" -":issue:`38787`: Add PyCFunction_CheckExact() macro for exact type checks now" -" that we allow subtypes of PyCFunction, as well as PyCMethod_CheckExact() " -"and PyCMethod_Check() for the new PyCMethod subtype." -msgstr "" - -#: ../NEWS:27356 -msgid "" -":issue:`40545`: Declare ``_PyErr_GetTopmostException()`` with " -"``PyAPI_FUNC()`` to properly export the function in the C API. The function " -"remains private (``_Py``) prefix." -msgstr "" - -#: ../NEWS:27360 -msgid "" -":issue:`40412`: Nullify inittab_copy during finalization, preventing future " -"interpreter initializations in an embedded situation from crashing. Patch by" -" Gregory Szorc." -msgstr "" - -#: ../NEWS:27364 -msgid "" -":issue:`40429`: The :c:func:`PyThreadState_GetFrame` function now returns a " -"strong reference to the frame." -msgstr "" - -#: ../NEWS:27367 -msgid "" -":issue:`40428`: Remove the following functions from the C API. Call " -":c:func:`PyGC_Collect` explicitly to free all free lists." -msgstr "" - -#: ../NEWS:27370 -msgid "``PyAsyncGen_ClearFreeLists()``" -msgstr "``PyAsyncGen_ClearFreeLists()``" - -#: ../NEWS:27371 -msgid "``PyContext_ClearFreeList()``" -msgstr "``PyContext_ClearFreeList()``" - -#: ../NEWS:27372 -msgid "``PyDict_ClearFreeList()``" -msgstr "``PyDict_ClearFreeList()``" - -#: ../NEWS:27373 -msgid "``PyFloat_ClearFreeList()``" -msgstr "``PyFloat_ClearFreeList()``" - -#: ../NEWS:27374 -msgid "``PyFrame_ClearFreeList()``" -msgstr "``PyFrame_ClearFreeList()``" - -#: ../NEWS:27375 -msgid "``PyList_ClearFreeList()``" -msgstr "``PyList_ClearFreeList()``" - -#: ../NEWS:27376 -msgid "``PySet_ClearFreeList()``" -msgstr "``PySet_ClearFreeList()``" - -#: ../NEWS:27377 -msgid "``PyTuple_ClearFreeList()``" -msgstr "``PyTuple_ClearFreeList()``" - -#: ../NEWS:27379 -msgid "" -":issue:`40421`: New :c:func:`PyFrame_GetBack` function: get the frame next " -"outer frame." -msgstr "" - -#: ../NEWS:27382 -msgid "" -":issue:`40421`: New :c:func:`PyFrame_GetCode` function: return a borrowed " -"reference to the frame code." -msgstr "" - -#: ../NEWS:27385 -msgid "" -":issue:`40217`: Ensure that instances of types created with " -":c:func:`PyType_FromSpecWithBases` will visit its class object when " -"traversing references in the garbage collector (implemented as an extension " -"of the provided :c:member:`~PyTypeObject.tp_traverse`). Patch by Pablo " -"Galindo." -msgstr "" - -#: ../NEWS:27391 -msgid "" -":issue:`38787`: Module C state is now accessible from C-defined heap type " -"methods (:pep:`573`). Patch by Marcel Plch and Petr Viktorin." -msgstr "" - -#: ../NEWS:27396 -msgid "Python 3.9.0 alpha 6" -msgstr "Python 3.9.0 alfa 6" - -#: ../NEWS:27398 -msgid "*Release date: 2020-04-27*" -msgstr "*Tanggal rilis: 2020-04-27*" - -#: ../NEWS:27403 -msgid ":issue:`40121`: Fixes audit events raised on creating a new socket." -msgstr "" - -#: ../NEWS:27405 -msgid "" -":issue:`39073`: Disallow CR or LF in email.headerregistry.Address arguments " -"to guard against header injection attacks." -msgstr "" - -#: ../NEWS:27408 -msgid "" -":issue:`39503`: :cve:`2020-8492`: The " -":class:`~urllib.request.AbstractBasicAuthHandler` class of the " -":mod:`urllib.request` module uses an inefficient regular expression which " -"can be exploited by an attacker to cause a denial of service. Fix the regex " -"to prevent the catastrophic backtracking. Vulnerability reported by Ben " -"Caller and Matt Schwager." -msgstr "" - -#: ../NEWS:27418 -msgid ":issue:`40313`: Improve the performance of bytes.hex()." -msgstr "" - -#: ../NEWS:27420 -msgid "" -":issue:`40334`: Switch to a new parser, based on PEG. For more details see " -"PEP 617. To temporarily switch back to the old parser, use ``-X oldparser`` " -"or ``PYTHONOLDPARSER=1``. In Python 3.10 we will remove the old parser " -"completely, including the ``parser`` module (already deprecated) and " -"anything that depends on it." -msgstr "" - -#: ../NEWS:27426 -msgid "" -":issue:`40267`: Fix the tokenizer to display the correct error message, when" -" there is a ``SyntaxError`` on the last input character and no newline " -"follows. It used to be ``unexpected EOF while parsing``, while it should be " -"``invalid syntax``." -msgstr "" - -#: ../NEWS:27431 -msgid "" -":issue:`39522`: Correctly unparse explicit ``u`` prefix for strings when " -"postponed evaluation for annotations activated. Patch by Batuhan Taskaya." -msgstr "" - -#: ../NEWS:27434 -msgid "" -":issue:`40246`: Report a specialized error message, ``invalid string " -"prefix``, when the tokenizer encounters a string with an invalid prefix." -msgstr "" - -#: ../NEWS:27437 -msgid "" -":issue:`40082`: Fix the signal handler: it now always uses the main " -"interpreter, rather than trying to get the current Python thread state." -msgstr "" - -#: ../NEWS:27440 -msgid "" -":issue:`37388`: str.encode() and str.decode() no longer check the encoding " -"and errors in development mode or in debug mode during Python finalization. " -"The codecs machinery can no longer work on very late calls to str.encode() " -"and str.decode()." -msgstr "" - -#: ../NEWS:27445 -msgid "" -":issue:`40077`: Fix possible refleaks in :mod:`!_json`, memo of " -"PyScannerObject should be traversed." -msgstr "" - -#: ../NEWS:27448 -msgid "" -":issue:`37207`: Speed up calls to ``dict()`` by using the :pep:`590` " -"``vectorcall`` calling convention." -msgstr "" - -#: ../NEWS:27451 -msgid "" -":issue:`40141`: Add column and line information to ``ast.keyword`` nodes. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:27454 -msgid "" -":issue:`1635741`: Port :mod:`resource` to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:27457 -msgid "" -":issue:`1635741`: Port :mod:`math` to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:27459 -msgid "" -":issue:`1635741`: Port _uuid module to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:27461 -msgid ":issue:`40077`: Convert json module to use :c:func:`PyType_FromSpec`." -msgstr "" - -#: ../NEWS:27463 -msgid "" -":issue:`40067`: Improve the error message for multiple star expressions in " -"an assignment. Patch by Furkan Onder" -msgstr "" - -#: ../NEWS:27466 -msgid "" -":issue:`1635741`: Port _functools module to multiphase initialization (PEP " -"489). Patch by Paulo Henrique Silva." -msgstr "" - -#: ../NEWS:27469 -msgid "" -":issue:`1635741`: Port operator module to multiphase initialization (PEP " -"489). Patch by Paulo Henrique Silva." -msgstr "" - -#: ../NEWS:27472 -msgid "" -":issue:`20526`: Fix :c:func:`PyThreadState_Clear()`. ``PyThreadState.frame``" -" is a borrowed reference, not a strong reference: ``PyThreadState_Clear()`` " -"must not call ``Py_CLEAR(tstate->frame)``." -msgstr "" - -#: ../NEWS:27476 -msgid "" -":issue:`1635741`: Port time module to multiphase initialization " -"(:pep:`489`). Patch by Paulo Henrique Silva." -msgstr "" - -#: ../NEWS:27479 ../NEWS:27871 -msgid "" -":issue:`1635741`: Port _weakref extension module to multiphase " -"initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:27482 -msgid "" -":issue:`40020`: Fix a leak and subsequent crash in parsetok.c caused by " -"realloc misuse on a rare codepath." -msgstr "" - -#: ../NEWS:27485 -msgid "" -":issue:`39939`: Added str.removeprefix and str.removesuffix methods and " -"corresponding bytes, bytearray, and collections.UserString methods to remove" -" affixes from a string if present. See :pep:`616` for a full description. " -"Patch by Dennis Sweeney." -msgstr "" - -#: ../NEWS:27490 -msgid "" -":issue:`39481`: Implement PEP 585. This supports list[int], tuple[str, ...] " -"etc." -msgstr "" - -#: ../NEWS:27493 -msgid "" -":issue:`32894`: Support unparsing of infinity numbers in postponed " -"annotations. Patch by Batuhan Taşkaya." -msgstr "" - -#: ../NEWS:27496 -msgid "" -":issue:`37207`: Speed up calls to ``list()`` by using the :pep:`590` " -"``vectorcall`` calling convention. Patch by Mark Shannon." -msgstr "" - -#: ../NEWS:27502 -msgid "" -":issue:`40398`: :func:`typing.get_args` now always returns an empty tuple " -"for special generic aliases." -msgstr "" - -#: ../NEWS:27505 -msgid "" -":issue:`40396`: Functions :func:`typing.get_origin`, :func:`typing.get_args`" -" and :func:`typing.get_type_hints` support now generic aliases like " -"``list[int]``." -msgstr "" - -#: ../NEWS:27509 -msgid "" -":issue:`38061`: Optimize the :mod:`subprocess` module on FreeBSD using " -"``closefrom()``. A single ``close(fd)`` syscall is cheap, but when " -"``sysconf(_SC_OPEN_MAX)`` is high, the loop calling ``close(fd)`` on each " -"file descriptor can take several milliseconds." -msgstr "" - -#: ../NEWS:27514 -msgid "" -"The workaround on FreeBSD to improve performance was to load and mount the " -"fdescfs kernel module, but this is not enabled by default." -msgstr "" - -#: ../NEWS:27517 ../NEWS:27525 -msgid "" -"Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans (kevans) " -"and Kubilay Kocak (koobs): " -"https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274" -msgstr "" - -#: ../NEWS:27521 -msgid "" -":issue:`38061`: On FreeBSD, ``os.closerange(fd_low, fd_high)`` now calls " -"``closefrom(fd_low)`` if *fd_high* is greater than or equal to " -"``sysconf(_SC_OPEN_MAX)``." -msgstr "" - -#: ../NEWS:27529 -msgid "" -":issue:`40360`: The :mod:`!lib2to3` module is pending deprecation due to " -":pep:`617`." -msgstr "" - -#: ../NEWS:27532 -msgid "" -":issue:`40138`: Fix the Windows implementation of :func:`os.waitpid` for " -"exit code larger than ``INT_MAX >> 8``. The exit status is now interpreted " -"as an unsigned number." -msgstr "" - -#: ../NEWS:27536 -msgid "" -":issue:`39942`: Set \"__main__\" as the default module name when " -"\"__name__\" is missing in :class:`typing.TypeVar`. Patch by Weipeng Hong." -msgstr "" - -#: ../NEWS:27539 -msgid "" -":issue:`40275`: The :mod:`logging` package is now imported lazily in " -":mod:`unittest` only when the :meth:`~unittest.TestCase.assertLogs` " -"assertion is used." -msgstr "" - -#: ../NEWS:27543 -msgid "" -":issue:`40275`: The :mod:`asyncio` package is now imported lazily in " -":mod:`unittest` only when the :class:`~unittest.IsolatedAsyncioTestCase` " -"class is used." -msgstr "" - -#: ../NEWS:27547 -msgid "" -":issue:`40330`: In :meth:`ShareableList.__setitem__`, check the size of a " -"new string item after encoding it to utf-8, not before." -msgstr "" - -#: ../NEWS:27550 -msgid "" -":issue:`40148`: Added :meth:`pathlib.Path.with_stem` to create a new Path " -"with the stem replaced." -msgstr "" - -#: ../NEWS:27553 -msgid ":issue:`40325`: Deprecated support for set objects in random.sample()." -msgstr "" - -#: ../NEWS:27555 -msgid "" -":issue:`40257`: Improved help for the :mod:`typing` module. Docstrings are " -"now shown for all special forms and special generic aliases (like ``Union`` " -"and ``List``). Using ``help()`` with generic alias like ``List[int]`` will " -"show the help for the correspondent concrete type (``list`` in this case)." -msgstr "" - -#: ../NEWS:27560 -msgid "" -":issue:`40257`: :func:`inspect.getdoc` no longer returns docstring inherited" -" from the type of the object or from parent class if it is a class if it is " -"not defined in the object itself. In :mod:`pydoc` the documentation string " -"is now shown not only for class, function, method etc, but for any object " -"that has its own ``__doc__`` attribute." -msgstr "" - -#: ../NEWS:27566 -msgid "" -":issue:`40287`: Fixed ``SpooledTemporaryFile.seek()`` to return the " -"position." -msgstr "" - -#: ../NEWS:27568 -msgid ":issue:`40290`: Added zscore() to statistics.NormalDist()." -msgstr "" - -#: ../NEWS:27570 -msgid "" -":issue:`40282`: Allow ``random.getrandbits(0)`` to succeed and to return 0." -msgstr "" - -#: ../NEWS:27572 -msgid "" -":issue:`40286`: Add :func:`random.randbytes` function and " -":meth:`random.Random.randbytes` method to generate random bytes." -msgstr "" - -#: ../NEWS:27575 -msgid "" -":issue:`40277`: :func:`collections.namedtuple` now provides a human-readable" -" repr for its field accessors." -msgstr "" - -#: ../NEWS:27578 -msgid "" -":issue:`40270`: The included copy of sqlite3 on Windows is now compiled with" -" the json extension. This allows the use of functions such as " -"``json_object``." -msgstr "" - -#: ../NEWS:27582 -msgid "" -":issue:`29255`: Wait in ``KqueueSelector.select`` when no fds are registered" -msgstr "" - -#: ../NEWS:27584 -msgid "" -":issue:`40260`: Ensure :mod:`modulefinder` uses :func:`io.open_code` and " -"respects coding comments." -msgstr "" - -#: ../NEWS:27587 -msgid "" -":issue:`40234`: Allow again to spawn daemon threads in subinterpreters " -"(revert change which denied them)." -msgstr "" - -#: ../NEWS:27590 -msgid "" -":issue:`39207`: Workers in :class:`~concurrent.futures.ProcessPoolExecutor` " -"are now spawned on demand, only when there are no available idle workers to " -"reuse. This optimizes startup overhead and reduces the amount of lost CPU " -"time to idle workers. Patch by Kyle Stanley." -msgstr "" - -#: ../NEWS:27595 -msgid "" -":issue:`40091`: Fix a hang at fork in the logging module: the new private " -"_at_fork_reinit() method is now used to reinitialize locks at fork in the " -"child process." -msgstr "" - -#: ../NEWS:27599 -msgid "" -":issue:`40149`: Implement traverse and clear slots in _abc._abc_data type." -msgstr "" - -#: ../NEWS:27601 -msgid "" -":issue:`40208`: Remove deprecated :meth:`!symtable.SymbolTable.has_exec`." -msgstr "" - -#: ../NEWS:27603 -msgid "" -":issue:`40196`: Fix a bug in the :mod:`symtable` module that was causing " -"incorrectly report global variables as local. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:27606 -msgid "" -":issue:`40190`: Add support for ``_SC_AIX_REALMEM`` to " -":func:`posix.sysconf`." -msgstr "" - -#: ../NEWS:27608 -msgid "" -":issue:`40182`: Removed the ``_field_types`` attribute of the " -":class:`typing.NamedTuple` class." -msgstr "" - -#: ../NEWS:27611 -msgid "" -":issue:`36517`: Multiple inheritance with :class:`typing.NamedTuple` now " -"raises an error instead of silently ignoring other types." -msgstr "" - -#: ../NEWS:27614 -msgid "" -":issue:`40126`: Fixed reverting multiple patches in unittest.mock. Patcher's" -" ``__exit__()`` is now never called if its ``__enter__()`` is failed. " -"Returning true from ``__exit__()`` silences now the exception." -msgstr "" - -#: ../NEWS:27618 -msgid "" -":issue:`40094`: CGIHTTPRequestHandler of http.server now logs the CGI script" -" exit code, rather than the CGI script exit status of os.waitpid(). For " -"example, if the script is killed by signal 11, it now logs: \"CGI script " -"exit code -11.\"" -msgstr "" - -#: ../NEWS:27623 -msgid "" -":issue:`40108`: Improve the error message when triying to import a module " -"using :mod:`runpy` and incorrectly using the \".py\" extension at the end of" -" the module name. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:27627 -msgid "" -":issue:`40094`: Add :func:`os.waitstatus_to_exitcode` function: convert a " -"wait status to an exit code." -msgstr "" - -#: ../NEWS:27630 -msgid "" -":issue:`40089`: Fix threading._after_fork(): if fork was not called by a " -"thread spawned by threading.Thread, threading._after_fork() now creates a " -"_MainThread instance for _main_thread, instead of a _DummyThread instance." -msgstr "" - -#: ../NEWS:27634 -msgid "" -":issue:`40089`: Add a private ``_at_fork_reinit()`` method to " -":class:`!_thread.Lock`, :class:`!_thread.RLock`, :class:`threading.RLock` " -"and :class:`threading.Condition` classes: reinitialize the lock at fork in " -"the child process, reset the lock to the unlocked state. Rename also the " -"private ``_reset_internal_locks()`` method of :class:`threading.Event` to " -"``_at_fork_reinit()``." -msgstr "" - -#: ../NEWS:27641 -msgid "" -":issue:`25780`: Expose :const:`~socket.CAN_RAW_JOIN_FILTERS` in the " -":mod:`socket` module." -msgstr "" - -#: ../NEWS:27644 -msgid "" -":issue:`39503`: :class:`~urllib.request.AbstractBasicAuthHandler` of " -":mod:`urllib.request` now parses all WWW-Authenticate HTTP headers and " -"accepts multiple challenges per header: use the realm of the first Basic " -"challenge." -msgstr "" - -#: ../NEWS:27649 -msgid "" -":issue:`39812`: Removed daemon threads from :mod:`concurrent.futures` by " -"adding an internal ``threading._register_atexit()``, which calls registered " -"functions prior to joining all non-daemon threads. This allows for " -"compatibility with subinterpreters, which don't support daemon threads." -msgstr "" - -#: ../NEWS:27654 -msgid "" -":issue:`40050`: Fix ``importlib._bootstrap_external``: avoid creating a new " -"``winreg`` builtin module if it's already available in :data:`sys.modules`, " -"and remove redundant imports." -msgstr "" - -#: ../NEWS:27658 -msgid "" -":issue:`40014`: Fix ``os.getgrouplist()``: if ``getgrouplist()`` function " -"fails because the group list is too small, retry with a larger group list. " -"On failure, the glibc implementation of ``getgrouplist()`` sets ``ngroups`` " -"to the total number of groups. For other implementations, double the group " -"list size." -msgstr "" - -#: ../NEWS:27664 -msgid "" -":issue:`40017`: Add :const:`time.CLOCK_TAI` constant if the operating system" -" support it." -msgstr "" - -#: ../NEWS:27667 -msgid "" -":issue:`40016`: In re docstring, clarify the relationship between inline and" -" argument compile flags." -msgstr "" - -#: ../NEWS:27670 -msgid "" -":issue:`39953`: Update internal table of OpenSSL error codes in the ``ssl`` " -"module." -msgstr "" - -#: ../NEWS:27673 -msgid "" -":issue:`36144`: Added :pep:`584` operators to " -":class:`weakref.WeakValueDictionary`." -msgstr "" - -#: ../NEWS:27676 -msgid "" -":issue:`36144`: Added :pep:`584` operators to " -":class:`weakref.WeakKeyDictionary`." -msgstr "" - -#: ../NEWS:27679 -msgid "" -":issue:`38891`: Fix linear runtime behaviour of the ``__getitem__`` and " -"``__setitem__`` methods in " -":class:`multiprocessing.shared_memory.ShareableList`. This avoids quadratic " -"performance when iterating a ``ShareableList``. Patch by Thomas " -"Krennwallner." -msgstr "" - -#: ../NEWS:27685 -msgid "" -":issue:`39682`: Remove undocumented support for *closing* a ``pathlib.Path``" -" object via its context manager. The context manager magic methods remain, " -"but they are now a no-op, making ``Path`` objects immutable." -msgstr "" - -#: ../NEWS:27689 -msgid "" -":issue:`36144`: Added :pep:`584` operators (``|`` and ``|=``) to " -":class:`collections.ChainMap`." -msgstr "" - -#: ../NEWS:27692 -msgid "" -":issue:`39011`: Normalization of line endings in ElementTree attributes was " -"removed, as line endings which were replaced by entity numbers should be " -"preserved in original form." -msgstr "" - -#: ../NEWS:27696 -msgid "" -":issue:`38410`: Properly handle :func:`sys.audit` failures in " -":func:`sys.set_asyncgen_hooks`." -msgstr "" - -#: ../NEWS:27699 -msgid "" -":issue:`36541`: lib2to3 now recognizes named assignment expressions (the " -"walrus operator, ``:=``)" -msgstr "" - -#: ../NEWS:27702 -msgid "" -":issue:`35967`: In platform, delay the invocation of 'uname -p' until the " -"processor attribute is requested." -msgstr "" - -#: ../NEWS:27705 -msgid "" -":issue:`35113`: :meth:`inspect.getsource` now returns correct source code " -"for inner class with same name as module level class. Decorators are also " -"returned as part of source of the class. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:27710 -msgid "" -":issue:`33262`: Deprecate passing None as an argument for " -":func:`shlex.split`'s ``s`` parameter. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:27713 -msgid "" -":issue:`31758`: Prevent crashes when using an uninitialized " -"``_elementtree.XMLParser`` object. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:27719 -msgid "" -":issue:`27635`: The pickle documentation incorrectly claimed that " -"``__new__`` isn't called by default when unpickling." -msgstr "" - -#: ../NEWS:27722 -msgid "" -":issue:`39879`: Updated :ref:`datamodel` docs to include :func:`dict` " -"insertion order preservation. Patch by Furkan Onder and Samy Lahfa." -msgstr "" - -#: ../NEWS:27725 -msgid "" -":issue:`38387`: Document :c:macro:`PyDoc_STRVAR` macro in the C-API " -"reference." -msgstr "" - -#: ../NEWS:27727 -msgid "" -":issue:`13743`: Some methods within xml.dom.minidom.Element class are now " -"better documented." -msgstr "" - -#: ../NEWS:27733 -msgid "" -":issue:`31904`: Set expected default encoding in test_c_locale_coercion.py " -"for VxWorks RTOS." -msgstr "" - -#: ../NEWS:27736 -msgid ":issue:`40162`: Update Travis CI configuration to OpenSSL 1.1.1f." -msgstr "" - -#: ../NEWS:27738 -msgid ":issue:`40146`: Update OpenSSL to 1.1.1f in Azure Pipelines." -msgstr "" - -#: ../NEWS:27740 -msgid ":issue:`40094`: Add :func:`test.support.wait_process` function." -msgstr "" - -#: ../NEWS:27742 -msgid "" -":issue:`40003`: ``test.bisect_cmd`` now copies Python command line options " -"like ``-O`` or ``-W``. Moreover, emit a warning if ``test.bisect_cmd`` is " -"used with ``-w``/``--verbose2`` option." -msgstr "" - -#: ../NEWS:27746 -msgid "" -":issue:`39380`: Add the encoding in :class:`ftplib.FTP` and " -":class:`ftplib.FTP_TLS` to the constructor as keyword-only and change the " -"default from ``latin-1`` to ``utf-8`` to follow :rfc:`2640`." -msgstr "" - -#: ../NEWS:27750 -msgid "" -":issue:`39793`: Use the same domain when testing ``make_msgid``. Patch by " -"Batuhan Taskaya." -msgstr "" - -#: ../NEWS:27753 -msgid "" -":issue:`1812`: Fix newline handling in doctest.testfile when loading from a " -"package whose loader has a get_data method. Patch by Peter Donis." -msgstr "" - -#: ../NEWS:27759 -msgid ":issue:`38360`: Support single-argument form of macOS -isysroot flag." -msgstr "" - -#: ../NEWS:27761 -msgid "" -":issue:`40158`: Fix CPython MSBuild Properties in NuGet Package " -"(build/native/python.props)" -msgstr "" - -#: ../NEWS:27764 -msgid "" -":issue:`38527`: Fix configure check on Solaris for \"float word ordering\": " -"sometimes, the correct \"grep\" command was not being used. Patch by Arnon " -"Yaari." -msgstr "" - -#: ../NEWS:27771 -msgid ":issue:`40164`: Updates Windows to OpenSSL 1.1.1f" -msgstr "" - -#: ../NEWS:27773 -msgid "" -":issue:`8901`: Ignore the Windows registry when the ``-E`` option is used." -msgstr "" - -#: ../NEWS:27778 -msgid "" -":issue:`38329`: python.org macOS installers now update the Current version " -"symlink of /Library/Frameworks/Python.framework/Versions for 3.9 installs. " -"Previously, Current was only updated for Python 2.x installs. This should " -"make it easier to embed Python 3 into other macOS applications." -msgstr "" - -#: ../NEWS:27783 -msgid ":issue:`40164`: Update macOS installer builds to use OpenSSL 1.1.1g." -msgstr "" - -#: ../NEWS:27788 -msgid "" -":issue:`38439`: Add a 256×256 pixel IDLE icon to support more modern " -"environments. Created by Andrew Clover. Delete the unused macOS idle.icns " -"icon file." -msgstr "" - -#: ../NEWS:27792 -msgid "" -":issue:`38689`: IDLE will no longer freeze when inspect.signature fails when" -" fetching a calltip." -msgstr "" - -#: ../NEWS:27798 -msgid "" -":issue:`40385`: Removed the checkpyc.py tool. Please see compileall without " -"force mode as a potential alternative." -msgstr "" - -#: ../NEWS:27801 -msgid ":issue:`40179`: Fixed translation of ``#elif`` in Argument Clinic." -msgstr "" - -#: ../NEWS:27803 -msgid "" -":issue:`40094`: Fix ``which.py`` script exit code: it now uses " -":func:`os.waitstatus_to_exitcode` to convert :func:`os.system` exit status " -"into an exit code." -msgstr "" - -#: ../NEWS:27810 -msgid "" -":issue:`40241`: Move the :c:type:`!PyGC_Head` structure to the internal C " -"API." -msgstr "" - -#: ../NEWS:27812 -msgid "" -":issue:`40170`: Convert :c:func:`PyObject_IS_GC` macro to a function to hide" -" implementation details." -msgstr "" - -#: ../NEWS:27815 -msgid "" -":issue:`40241`: Add the functions :c:func:`PyObject_GC_IsTracked` and " -":c:func:`PyObject_GC_IsFinalized` to the public API to allow to query if " -"Python objects are being currently tracked or have been already finalized by" -" the garbage collector respectively. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:27820 -msgid "" -":issue:`40170`: The :c:func:`!PyObject_NEW` macro becomes an alias to the " -":c:func:`PyObject_New` macro, and the :c:func:`!PyObject_NEW_VAR` macro " -"becomes an alias to the :c:func:`PyObject_NewVar` macro, to hide " -"implementation details. They no longer access directly the " -":c:member:`PyTypeObject.tp_basicsize` member." -msgstr "" - -#: ../NEWS:27826 -msgid "" -":issue:`40170`: :c:func:`PyType_HasFeature` now always calls " -":c:func:`PyType_GetFlags` to hide implementation details. Previously, it " -"accessed directly the :c:member:`PyTypeObject.tp_flags` member when the " -"limited C API was not used." -msgstr "" - -#: ../NEWS:27831 -msgid "" -":issue:`40170`: Convert the :c:func:`!PyObject_GET_WEAKREFS_LISTPTR` macro " -"to a function to hide implementation details: the macro accessed directly to" -" the :c:member:`PyTypeObject.tp_weaklistoffset` member." -msgstr "" - -#: ../NEWS:27835 -msgid "" -":issue:`40170`: Convert :c:func:`PyObject_CheckBuffer` macro to a function " -"to hide implementation details: the macro accessed directly the " -":c:member:`PyTypeObject.tp_as_buffer` member." -msgstr "" - -#: ../NEWS:27839 -msgid "" -":issue:`40170`: Always declare :c:func:`PyIndex_Check` as an opaque function" -" to hide implementation details: remove ``PyIndex_Check()`` macro. The macro" -" accessed directly the :c:member:`PyTypeObject.tp_as_number` member." -msgstr "" - -#: ../NEWS:27843 -msgid "" -":issue:`39947`: Add :c:func:`PyThreadState_GetID` function: get the unique " -"identifier of a Python thread state." -msgstr "" - -#: ../NEWS:27848 -msgid "Python 3.9.0 alpha 5" -msgstr "Python 3.9.0 alfa 5" - -#: ../NEWS:27850 -msgid "*Release date: 2020-03-23*" -msgstr "*Tanggal rilis: 2020-03-23*" - -#: ../NEWS:27855 -msgid "" -":issue:`38576`: Disallow control characters in hostnames in http.client, " -"addressing :cve:`2019-18348`. Such potentially malicious header injection " -"URLs now cause a InvalidURL to be raised." -msgstr "" - -#: ../NEWS:27862 -msgid "" -":issue:`40010`: Optimize pending calls in multithreaded applications. If a " -"thread different than the main thread schedules a pending call " -"(:c:func:`Py_AddPendingCall`), the bytecode evaluation loop is no longer " -"interrupted at each bytecode instruction to check for pending calls which " -"cannot be executed. Only the main thread can execute pending calls." -msgstr "" - -#: ../NEWS:27868 -msgid "" -"Previously, the bytecode evaluation loop was interrupted at each instruction" -" until the main thread executes pending calls." -msgstr "" - -#: ../NEWS:27874 -msgid "" -":issue:`1635741`: Port _collections module to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:27877 -msgid "" -":issue:`40010`: Optimize signal handling in multithreaded applications. If a" -" thread different than the main thread gets a signal, the bytecode " -"evaluation loop is no longer interrupted at each bytecode instruction to " -"check for pending signals which cannot be handled. Only the main thread of " -"the main interpreter can handle signals." -msgstr "" - -#: ../NEWS:27883 -msgid "" -"Previously, the bytecode evaluation loop was interrupted at each instruction" -" until the main thread handles signals." -msgstr "" - -#: ../NEWS:27886 -msgid "" -":issue:`39984`: If :c:func:`Py_AddPendingCall` is called in a " -"subinterpreter, the function is now scheduled to be called from the " -"subinterpreter, rather than being called from the main interpreter. Each " -"subinterpreter now has its own list of scheduled calls." -msgstr "" - -#: ../NEWS:27891 -msgid ":issue:`1635741`: Port _heapq module to multiphase initialization." -msgstr "" - -#: ../NEWS:27893 -msgid "" -":issue:`1635741`: Port itertools module to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:27896 -msgid "" -":issue:`37207`: Speed up calls to ``frozenset()`` by using the :pep:`590` " -"``vectorcall`` calling convention. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:27899 -msgid "" -":issue:`39984`: subinterpreters: Move " -"``_PyRuntimeState.ceval.tracing_possible`` to " -"``PyInterpreterState.ceval.tracing_possible``: each interpreter now has its " -"own variable." -msgstr "" - -#: ../NEWS:27904 -msgid "" -":issue:`37207`: Speed up calls to ``set()`` by using the :pep:`590` " -"``vectorcall`` calling convention. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:27907 -msgid "" -":issue:`1635741`: Port _statistics module to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:27910 -msgid "" -":issue:`39968`: Use inline function to replace extension modules' " -"get_module_state macros." -msgstr "" - -#: ../NEWS:27913 -msgid "" -":issue:`39965`: Correctly raise ``SyntaxError`` if *await* is used inside " -"non-async functions and ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` is set (like in the " -"asyncio REPL). Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:27917 -msgid "" -":issue:`39562`: Allow executing asynchronous comprehensions on the top level" -" when the ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag is given. Patch by Batuhan " -"Taskaya." -msgstr "" - -#: ../NEWS:27921 -msgid "" -":issue:`37207`: Speed up calls to ``tuple()`` by using the :pep:`590` " -"``vectorcall`` calling convention. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:27924 -msgid "" -":issue:`38373`: Changed list overallocation strategy. It no longer " -"overallocates if the new size is closer to overallocated size than to the " -"old size and adds padding." -msgstr "" - -#: ../NEWS:27928 -msgid ":issue:`39926`: Update Unicode database to Unicode version 13.0.0." -msgstr "" - -#: ../NEWS:27930 -msgid "" -":issue:`19466`: Clear the frames of daemon threads earlier during the Python" -" shutdown to call objects destructors. So \"unclosed file\" resource " -"warnings are now emitted for daemon threads in a more reliable way." -msgstr "" - -#: ../NEWS:27934 -msgid "" -":issue:`38894`: Fix a bug that was causing incomplete results when calling " -"``pathlib.Path.glob`` in the presence of symlinks that point to files where " -"the user does not have read access. Patch by Pablo Galindo and Matt " -"Wozniski." -msgstr "" - -#: ../NEWS:27939 -msgid "" -":issue:`39877`: Fix :c:func:`PyEval_RestoreThread` random crash at exit with" -" daemon threads. It now accesses the ``_PyRuntime`` variable directly " -"instead of using ``tstate->interp->runtime``, since ``tstate`` can be a " -"dangling pointer after :c:func:`Py_Finalize` has been called. Moreover, the " -"daemon thread now exits before trying to take the GIL." -msgstr "" - -#: ../NEWS:27945 -msgid "" -":issue:`39871`: Fix a possible :exc:`SystemError` in " -"``math.{atan2,copysign,remainder}()`` when the first argument cannot be " -"converted to a :class:`float`. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:27949 -msgid "" -":issue:`39776`: Fix race condition where threads created by " -"PyGILState_Ensure() could get a duplicate id." -msgstr "" - -#: ../NEWS:27952 -msgid "" -"This affects consumers of tstate->id like the contextvar caching machinery, " -"which could return invalid cached objects under heavy thread load (observed " -"in embedded scenarios)." -msgstr "" - -#: ../NEWS:27956 -msgid "" -":issue:`39778`: Fixed a crash due to incorrect handling of weak references " -"in ``collections.OrderedDict`` classes. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:27959 -msgid "" -":issue:`1635741`: Port audioop extension module to multiphase initialization" -" (:pep:`489`)." -msgstr "" - -#: ../NEWS:27962 -msgid "" -":issue:`39702`: Relax :term:`decorator` grammar restrictions to allow any " -"valid expression (:pep:`614`)." -msgstr "" - -#: ../NEWS:27965 -msgid "" -":issue:`38091`: Tweak import deadlock detection code to not deadlock itself." -msgstr "" - -#: ../NEWS:27967 -msgid "" -":issue:`1635741`: Port _locale extension module to multiphase initialization" -" (:pep:`489`)." -msgstr "" - -#: ../NEWS:27970 -msgid "" -":issue:`39087`: Optimize :c:func:`PyUnicode_AsUTF8` and " -":c:func:`PyUnicode_AsUTF8AndSize` slightly when they need to create internal" -" UTF-8 cache." -msgstr "" - -#: ../NEWS:27974 -msgid "" -":issue:`39520`: Fix unparsing of ext slices with no items (``foo[:,]``). " -"Patch by Batuhan Taskaya." -msgstr "" - -#: ../NEWS:27977 -msgid "" -":issue:`39220`: Do not optimize annotations if 'from __future__ import " -"annotations' is used. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:27980 -msgid "" -":issue:`35712`: Using :data:`NotImplemented` in a boolean context has been " -"deprecated. Patch contributed by Josh Rosenberg." -msgstr "" - -#: ../NEWS:27983 -msgid "" -":issue:`22490`: Don't leak environment variable ``__PYVENV_LAUNCHER__`` into" -" the interpreter session on macOS." -msgstr "" - -#: ../NEWS:27989 -msgid "" -":issue:`39830`: Add :class:`zipfile.Path` to ``__all__`` in the " -":mod:`zipfile` module." -msgstr "" - -#: ../NEWS:27992 -msgid "" -":issue:`40000`: Improved error messages for validation of ``ast.Constant`` " -"nodes. Patch by Batuhan Taskaya." -msgstr "" - -#: ../NEWS:27995 -msgid "" -":issue:`39999`: ``__module__`` of the AST node classes is now set to \"ast\"" -" instead of \"_ast\". Added docstrings for dummy AST node classes and " -"deprecated attributes." -msgstr "" - -#: ../NEWS:27999 -msgid "" -":issue:`39991`: :func:`uuid.getnode` now skips IPv6 addresses with the same " -"string length than a MAC address (17 characters): only use MAC addresses." -msgstr "" - -#: ../NEWS:28002 -msgid "" -":issue:`39988`: Deprecated ``ast.AugLoad`` and ``ast.AugStore`` node classes" -" because they are no longer used." -msgstr "" - -#: ../NEWS:28005 -msgid "" -":issue:`39656`: Ensure ``bin/python3.#`` is always present in virtual " -"environments on POSIX platforms - by Anthony Sottile." -msgstr "" - -#: ../NEWS:28008 -msgid "" -":issue:`39969`: Deprecated ``ast.Param`` node class because it's no longer " -"used. Patch by Batuhan Taskaya." -msgstr "" - -#: ../NEWS:28011 -msgid "" -":issue:`39360`: Ensure all workers exit when finalizing a " -":class:`multiprocessing.Pool` implicitly via the module finalization " -"handlers of multiprocessing. This fixes a deadlock situation that can be " -"experienced when the Pool is not properly finalized via the context manager " -"or a call to ``multiprocessing.Pool.terminate``. Patch by Batuhan Taskaya " -"and Pablo Galindo." -msgstr "" - -#: ../NEWS:28018 -msgid "" -":issue:`35370`: sys.settrace(), sys.setprofile() and " -"_lsprof.Profiler.enable() now properly report :c:func:`PySys_Audit` error if" -" \"sys.setprofile\" or \"sys.settrace\" audit event is denied." -msgstr "" - -#: ../NEWS:28022 -msgid "" -":issue:`39936`: AIX: Fix _aix_support module when the subprocess is not " -"available, when building Python from scratch. It now uses new private " -"_bootsubprocess module, rather than having two implementations depending if " -"subprocess is available or not. So _aix_support.aix_platform() result is now" -" the same if subprocess is available or not." -msgstr "" - -#: ../NEWS:28028 -msgid "" -":issue:`36144`: :class:`collections.OrderedDict` now implements ``|`` and " -"``|=`` (:pep:`584`)." -msgstr "" - -#: ../NEWS:28031 -msgid "" -":issue:`39652`: The column name found in ``sqlite3.Cursor.description`` is " -"now truncated on the first '[' only if the PARSE_COLNAMES option is set." -msgstr "" - -#: ../NEWS:28034 -msgid "" -":issue:`39915`: Ensure :attr:`unittest.mock.AsyncMock.await_args_list` has " -"call objects in the order of awaited arguments instead of using " -":attr:`unittest.mock.Mock.call_args` which has the last value of the call. " -"Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:28039 -msgid "" -":issue:`36144`: Updated :data:`os.environ` and :data:`os.environb` to " -"support :pep:`584`'s merge (``|``) and update (``|=``) operators." -msgstr "" - -#: ../NEWS:28042 -msgid "" -":issue:`38662`: The ``ensurepip`` module now invokes ``pip`` via the " -"``runpy`` module. Hence it is no longer tightly coupled with the internal " -"API of the bundled ``pip`` version, allowing easier updates to a newer " -"``pip`` version both internally and for distributors." -msgstr "" - -#: ../NEWS:28047 -msgid "" -":issue:`38075`: Fix the :meth:`random.Random.seed` method when a " -":class:`bool` is passed as the seed." -msgstr "" - -#: ../NEWS:28050 -msgid "" -":issue:`39916`: More reliable use of ``os.scandir()`` in ``Path.glob()``. It" -" no longer emits a ResourceWarning when interrupted." -msgstr "" - -#: ../NEWS:28053 -msgid "" -":issue:`39850`: :mod:`multiprocessing` now supports abstract socket " -"addresses (if abstract sockets are supported in the running platform). When " -"creating arbitrary addresses (like when default-constructing " -":class:`multiprocessing.connection.Listener` objects) abstract sockets are " -"preferred to avoid the case when the temporary-file-generated address is too" -" large for an AF_UNIX socket address. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:28060 -msgid "" -":issue:`36287`: :func:`ast.dump` no longer outputs optional fields and " -"attributes with default values. The default values for optional fields and " -"attributes of AST nodes are now set as class attributes (e.g. " -"``Constant.kind`` is set to ``None``)." -msgstr "" - -#: ../NEWS:28065 -msgid "" -":issue:`39889`: Fixed :func:`ast.unparse` for extended slices containing a " -"single element (e.g. ``a[i:j,]``). Remove redundant tuples when index with a" -" tuple (e.g. ``a[i, j]``)." -msgstr "" - -#: ../NEWS:28069 -msgid "" -":issue:`39828`: Fix :mod:`json.tool` to catch :exc:`BrokenPipeError`. Patch " -"by Donghee Na." -msgstr "" - -#: ../NEWS:28072 -msgid "" -":issue:`13487`: Avoid a possible *\"RuntimeError: dictionary changed size " -"during iteration\"* from :func:`inspect.getmodule` when it tried to loop " -"through :data:`sys.modules`." -msgstr "" - -#: ../NEWS:28076 -msgid "" -":issue:`39674`: Revert \":issue:`37330`: open() no longer accept 'U' in file" -" mode\". The \"U\" mode of open() is kept in Python 3.9 to ease transition " -"from Python 2.7, but will be removed in Python 3.10." -msgstr "" - -#: ../NEWS:28080 -msgid "" -":issue:`28577`: The hosts method on 32-bit prefix length IPv4Networks and " -"128-bit prefix IPv6Networks now returns a list containing the single Address" -" instead of an empty list." -msgstr "" - -#: ../NEWS:28084 -msgid "" -":issue:`39826`: Add getConnection method to logging HTTPHandler to enable " -"custom connections." -msgstr "" - -#: ../NEWS:28087 -msgid "" -":issue:`39763`: Reimplement ``distutils.spawn.spawn`` function with the " -":mod:`subprocess` module." -msgstr "" - -#: ../NEWS:28090 -msgid "" -":issue:`39794`: Add --without-decimal-contextvar build option. This enables" -" a thread-local rather than a coroutine local context." -msgstr "" - -#: ../NEWS:28093 -msgid "" -":issue:`36144`: :class:`collections.defaultdict` now implements ``|`` " -"(:pep:`584`)." -msgstr "" - -#: ../NEWS:28096 -msgid ":issue:`39517`: Fix runpy.run_path() when using pathlike objects" -msgstr "" - -#: ../NEWS:28098 -msgid "" -":issue:`39775`: Change ``inspect.Signature.parameters`` back to " -"``collections.OrderedDict``. This was changed to ``dict`` in Python 3.9.0a4." -msgstr "" - -#: ../NEWS:28102 -msgid "" -":issue:`39678`: Refactor queue_manager in " -":class:`concurrent.futures.ProcessPoolExecutor` to make it easier to " -"maintain." -msgstr "" - -#: ../NEWS:28106 -msgid "" -":issue:`39764`: Fix AttributeError when calling get_stack on a " -"PyAsyncGenObject Task" -msgstr "" - -#: ../NEWS:28109 -msgid "" -":issue:`39769`: The :func:`compileall.compile_dir` function's *ddir* " -"parameter and the compileall command line flag ``-d`` no longer write the " -"wrong pathname to the generated pyc file for submodules beneath the root of " -"the directory tree being compiled. This fixes a regression introduced with " -"Python 3.5." -msgstr "" - -#: ../NEWS:28115 -msgid "" -":issue:`36144`: :class:`types.MappingProxyType` objects now support the " -"merge (``|``) operator from :pep:`584`." -msgstr "" - -#: ../NEWS:28118 -msgid "" -":issue:`38691`: The :mod:`importlib` module now ignores the " -":envvar:`PYTHONCASEOK` environment variable when the :option:`-E` or " -":option:`-I` command line options are being used." -msgstr "" - -#: ../NEWS:28122 -msgid "" -":issue:`39719`: Remove :meth:`tempfile.SpooledTemporaryFile.softspace` as " -"files no longer have the ``softspace`` attribute in Python 3. Patch by " -"Shantanu." -msgstr "" - -#: ../NEWS:28125 -msgid "" -":issue:`39667`: Improve pathlib.Path compatibility on zipfile.Path and " -"correct performance degradation as found in zipp 3.0." -msgstr "" - -#: ../NEWS:28128 -msgid "" -":issue:`39638`: Keep ASDL signatures in the docstrings for ``AST`` nodes. " -"Patch by Batuhan Taskaya" -msgstr "" - -#: ../NEWS:28131 -msgid "" -":issue:`39639`: Deprecated ``ast.Suite`` node class because it's no longer " -"used. Patch by Batuhan Taskaya." -msgstr "" - -#: ../NEWS:28134 -msgid ":issue:`39609`: Add thread_name_prefix to default asyncio executor" -msgstr "" - -#: ../NEWS:28136 -msgid "" -":issue:`39548`: Fix handling of header in " -":class:`urllib.request.AbstractDigestAuthHandler` when the optional ``qop`` " -"parameter is not present." -msgstr "" - -#: ../NEWS:28140 -msgid "" -":issue:`39509`: HTTP status codes ``103 EARLY_HINTS`` and ``425 TOO_EARLY`` " -"are added to :class:`http.HTTPStatus`. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:28143 -msgid "" -":issue:`39507`: Adding HTTP status 418 \"I'm a Teapot\" to HTTPStatus in " -"http library. Patch by Ross Rhodes." -msgstr "" - -#: ../NEWS:28146 -msgid "" -":issue:`39495`: Remove default value from *attrs* parameter of " -":meth:`xml.etree.ElementTree.TreeBuilder.start` for consistency between " -"Python and C implementations." -msgstr "" - -#: ../NEWS:28150 -msgid "" -":issue:`38971`: Open issue in the BPO indicated a desire to make the " -"implementation of codecs.open() at parity with io.open(), which implements a" -" try/except to assure file stream gets closed before an exception is raised." -msgstr "" - -#: ../NEWS:28155 -msgid "" -":issue:`38641`: Added starred expressions support to ``return`` and " -"``yield`` statements for ``lib2to3``. Patch by Vlad Emelianov." -msgstr "" - -#: ../NEWS:28158 -msgid "" -":issue:`37534`: When using minidom module to generate XML documents the " -"ability to add Standalone Document Declaration is added. All the changes are" -" made to generate a document in compliance with Extensible Markup Language " -"(XML) 1.0 (Fifth Edition) W3C Recommendation (available here: " -"https://www.w3.org/TR/xml/#sec-prolog-dtd)." -msgstr "" - -#: ../NEWS:28164 -msgid "" -":issue:`34788`: Add support for scoped IPv6 addresses to :mod:`ipaddress`. " -"Patch by Oleksandr Pavliuk." -msgstr "" - -#: ../NEWS:28167 -msgid "" -":issue:`34822`: Simplified AST for subscription. Simple indices are now " -"represented by their value, extended slices are represented as tuples. " -":mod:`ast` classes ``Index`` and ``ExtSlice`` are considered deprecated and " -"will be removed in future Python versions. In the meantime, ``Index(value)``" -" now returns a ``value`` itself, ``ExtSlice(slices)`` returns " -"``Tuple(slices, Load())``." -msgstr "" - -#: ../NEWS:28177 -msgid ":issue:`39868`: Updated the Language Reference for :pep:`572`." -msgstr "" - -#: ../NEWS:28179 -msgid ":issue:`13790`: Change 'string' to 'specification' in format doc." -msgstr "" - -#: ../NEWS:28181 -msgid "" -":issue:`17422`: The language reference no longer restricts default class " -"namespaces to dicts only." -msgstr "" - -#: ../NEWS:28184 -msgid "" -":issue:`39530`: Fix misleading documentation about mixed-type numeric " -"comparisons." -msgstr "" - -#: ../NEWS:28187 -msgid "" -":issue:`39718`: Update :mod:`token` documentation to reflect additions in " -"Python 3.8" -msgstr "" - -#: ../NEWS:28190 -msgid "" -":issue:`39677`: Changed operand name of **MAKE_FUNCTION** from *argc* to " -"*flags* for module :mod:`dis`" -msgstr "" - -#: ../NEWS:28196 -msgid "" -":issue:`40019`: test_gdb now skips tests if it detects that gdb failed to " -"read debug information because the Python binary is optimized." -msgstr "" - -#: ../NEWS:28199 -msgid "" -":issue:`27807`: ``test_site.test_startup_imports()`` is now skipped if a " -"path of :data:`sys.path` contains a ``.pth`` file." -msgstr "" - -#: ../NEWS:28202 -msgid "" -":issue:`26067`: Do not fail test_shutil test_chown test when uid or gid of " -"user cannot be resolved to a name." -msgstr "" - -#: ../NEWS:28205 -msgid "" -":issue:`39855`: test_subprocess.test_user() now skips the test on an user " -"name if the user name doesn't exist. For example, skip the test if the user " -"\"nobody\" doesn't exist on Linux." -msgstr "" - -#: ../NEWS:28212 -msgid ":issue:`39761`: Fix build with DTrace but without additional DFLAGS." -msgstr "" - -#: ../NEWS:28214 -msgid "" -":issue:`39763`: setup.py now uses a basic implementation of the " -":mod:`subprocess` module if the :mod:`subprocess` module is not available: " -"before required C extension modules are built." -msgstr "" - -#: ../NEWS:28218 -msgid "" -":issue:`1294959`: Add ``--with-platlibdir`` option to the configure script: " -"name of the platform-specific library directory, stored in the new " -":data:`sys.platlibdir` attribute. It is used to build the path of platform-" -"specific extension modules and the path of the standard library. It is equal" -" to ``\"lib\"`` on most platforms. On Fedora and SuSE, it is equal to " -"``\"lib64\"`` on 64-bit platforms. Patch by Jan Matějek, Matěj Cepl, " -"Charalampos Stratakis and Victor Stinner." -msgstr "" - -#: ../NEWS:28229 -msgid "" -":issue:`39930`: Ensures the required :file:`vcruntime140.dll` is included in" -" install packages." -msgstr "" - -#: ../NEWS:28232 -msgid "" -":issue:`39847`: Avoid hang when computer is hibernated whilst waiting for a " -"mutex (for lock-related objects from :mod:`threading`) around 49-day uptime." -msgstr "" - -#: ../NEWS:28236 -msgid "" -":issue:`38597`: ``distutils`` will no longer statically link " -":file:`vcruntime140.dll` when a redistributable version is unavailable. All " -"future releases of CPython will include a copy of this DLL to ensure " -"distributed extensions can continue to load." -msgstr "" - -#: ../NEWS:28241 -msgid ":issue:`38380`: Update Windows builds to use SQLite 3.31.1" -msgstr "" - -#: ../NEWS:28243 -msgid "" -":issue:`39789`: Update Windows release build machines to Visual Studio 2019 " -"(MSVC 14.2)." -msgstr "" - -#: ../NEWS:28246 -msgid "" -":issue:`34803`: Package for nuget.org now includes repository reference and " -"bundled icon image." -msgstr "" - -#: ../NEWS:28252 -msgid ":issue:`38380`: Update macOS builds to use SQLite 3.31.1" -msgstr "" - -#: ../NEWS:28257 -msgid "" -":issue:`27115`: For 'Go to Line', use a Query box subclass with IDLE " -"standard behavior and improved error checking." -msgstr "" - -#: ../NEWS:28260 -msgid "" -":issue:`39885`: Since clicking to get an IDLE context menu moves the cursor," -" any text selection should be and now is cleared." -msgstr "" - -#: ../NEWS:28263 -msgid "" -":issue:`39852`: Edit \"Go to line\" now clears any selection, preventing " -"accidental deletion. It also updates Ln and Col on the status bar." -msgstr "" - -#: ../NEWS:28266 -msgid ":issue:`39781`: Selecting code context lines no longer causes a jump." -msgstr "" - -#: ../NEWS:28271 -msgid "" -":issue:`36184`: Port python-gdb.py to FreeBSD. python-gdb.py now checks for " -"\"take_gil\" function name to check if a frame tries to acquire the GIL, " -"instead of checking for \"pthread_cond_timedwait\" which is specific to " -"Linux and can be a different condition than the GIL." -msgstr "" - -#: ../NEWS:28276 -msgid "" -":issue:`38080`: Added support to fix ``getproxies`` in the " -":mod:`!lib2to3.fixes.fix_urllib` module. Patch by José Roberto Meza Cabrera." -msgstr "" - -#: ../NEWS:28283 -msgid "" -":issue:`40024`: Add :c:func:`PyModule_AddType` helper function: add a type " -"to a module. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:28286 -msgid "" -":issue:`39946`: Remove ``_PyRuntime.getframe`` hook and remove " -"``_PyThreadState_GetFrame`` macro which was an alias to " -"``_PyRuntime.getframe``. They were only exposed by the internal C API. " -"Remove also ``PyThreadFrameGetter`` type." -msgstr "" - -#: ../NEWS:28291 -msgid "" -":issue:`39947`: Add :c:func:`PyThreadState_GetFrame` function: get the " -"current frame of a Python thread state." -msgstr "" - -#: ../NEWS:28294 -msgid "" -":issue:`37207`: Add _PyArg_NoKwnames helper function. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:28296 -msgid "" -":issue:`39947`: Add :c:func:`PyThreadState_GetInterpreter`: get the " -"interpreter of a Python thread state." -msgstr "" - -#: ../NEWS:28299 -msgid "" -":issue:`39947`: Add :c:func:`PyInterpreterState_Get` function to the limited" -" C API." -msgstr "" - -#: ../NEWS:28302 -msgid "" -":issue:`35370`: If :c:func:`PySys_Audit` fails in " -":c:func:`PyEval_SetProfile` or :c:func:`PyEval_SetTrace`, log the error as " -"an unraisable exception." -msgstr "" - -#: ../NEWS:28305 -msgid "" -":issue:`39947`: Move the static inline function flavor of " -"Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() to the internal C API: " -"they access PyThreadState attributes. The limited C API provides regular " -"functions which hide implementation details." -msgstr "" - -#: ../NEWS:28310 -msgid "" -":issue:`39947`: Py_TRASHCAN_BEGIN_CONDITION and Py_TRASHCAN_END macro no " -"longer access PyThreadState attributes, but call new private " -"_PyTrash_begin() and _PyTrash_end() functions which hide implementation " -"details." -msgstr "" - -#: ../NEWS:28314 -msgid "" -":issue:`39884`: :c:func:`PyDescr_NewMethod` and :c:func:`PyCFunction_NewEx` " -"now include the method name in the SystemError \"bad call flags\" error " -"message to ease debug." -msgstr "" - -#: ../NEWS:28318 -msgid "" -":issue:`39877`: Deprecated :c:func:`!PyEval_InitThreads` and " -":c:func:`!PyEval_ThreadsInitialized`. Calling :c:func:`!PyEval_InitThreads` " -"now does nothing." -msgstr "" - -#: ../NEWS:28322 -msgid "" -":issue:`38249`: :c:macro:`Py_UNREACHABLE` is now implemented with " -"``__builtin_unreachable()`` and analogs in release mode." -msgstr "" - -#: ../NEWS:28325 -msgid "" -":issue:`38643`: :c:func:`PyNumber_ToBase` now raises a :exc:`SystemError` " -"instead of crashing when called with invalid base." -msgstr "" - -#: ../NEWS:28328 -msgid "" -":issue:`39882`: The :c:func:`Py_FatalError` function is replaced with a " -"macro which logs automatically the name of the current function, unless the " -"``Py_LIMITED_API`` macro is defined." -msgstr "" - -#: ../NEWS:28332 -msgid "" -":issue:`39824`: Extension modules: :c:member:`~PyModuleDef.m_traverse`, " -":c:member:`~PyModuleDef.m_clear` and :c:member:`~PyModuleDef.m_free` " -"functions of :c:type:`PyModuleDef` are no longer called if the module state " -"was requested but is not allocated yet. This is the case immediately after " -"the module is created and before the module is executed " -"(:c:data:`Py_mod_exec` function). More precisely, these functions are not " -"called if :c:member:`~PyModuleDef.m_size` is greater than 0 and the module " -"state (as returned by :c:func:`PyModule_GetState`) is ``NULL``." -msgstr "" - -#: ../NEWS:28341 -msgid "" -"Extension modules without module state (``m_size <= 0``) are not affected." -msgstr "" - -#: ../NEWS:28343 -msgid "" -":issue:`38913`: Fixed segfault in ``Py_BuildValue()`` called with a format " -"containing \"#\" and undefined PY_SSIZE_T_CLEAN whwn an exception is set." -msgstr "" - -#: ../NEWS:28346 -msgid "" -":issue:`38500`: Add a private API to get and set the frame evaluation " -"function: add :c:func:`_PyInterpreterState_GetEvalFrameFunc` and " -":c:func:`_PyInterpreterState_SetEvalFrameFunc` C functions. The " -":c:type:`_PyFrameEvalFunction` function type now takes a *tstate* parameter." -msgstr "" - -#: ../NEWS:28354 -msgid "Python 3.9.0 alpha 4" -msgstr "Python 3.9.0 alfa 4" - -#: ../NEWS:28356 -msgid "*Release date: 2020-02-25*" -msgstr "*Tanggal rilis: 2020-02-25*" - -#: ../NEWS:28361 -msgid "" -":issue:`39184`: Add audit events to functions in ``fcntl``, ``msvcrt``, " -"``os``, ``resource``, ``shutil``, ``signal`` and ``syslog``." -msgstr "" - -#: ../NEWS:28364 -msgid "" -":issue:`39401`: Avoid unsafe DLL load at startup on Windows 7 and earlier." -msgstr "" - -#: ../NEWS:28366 -msgid "" -":issue:`39184`: Add audit events to command execution functions in os and " -"pty modules." -msgstr "" - -#: ../NEWS:28372 -msgid "" -":issue:`39382`: Fix a use-after-free in the single inheritance path of " -"``issubclass()``, when the ``__bases__`` of an object has a single " -"reference, and so does its first item. Patch by Yonatan Goldschmidt." -msgstr "" - -#: ../NEWS:28376 -msgid "" -":issue:`39573`: Update clinic tool to use :c:func:`Py_IS_TYPE`. Patch by " -"Donghee Na." -msgstr "" - -#: ../NEWS:28379 -msgid ":issue:`39619`: Enable use of :func:`os.chroot` on HP-UX systems." -msgstr "" - -#: ../NEWS:28381 -msgid "" -":issue:`39573`: Add :c:func:`Py_IS_TYPE` static inline function to check " -"whether the object *o* type is *type*." -msgstr "" - -#: ../NEWS:28384 -msgid "" -":issue:`39606`: Fix regression caused by fix for :issue:`39386`, that " -"prevented calling ``aclose`` on an async generator that had already been " -"closed or exhausted." -msgstr "" - -#: ../NEWS:28388 -msgid "" -":issue:`39579`: Change the ending column offset of ``Attribute`` nodes " -"constructed in ``ast_for_dotted_name`` to point at the end of the current " -"node and not at the end of the last ``NAME`` node." -msgstr "" - -#: ../NEWS:28392 -msgid "" -":issue:`1635741`: Port _crypt extension module to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:28395 -msgid "" -":issue:`1635741`: Port _contextvars extension module to multiphase " -"initialization (:pep:`489`)." -msgstr "" - -#: ../NEWS:28398 -msgid "" -":issue:`39510`: Fix segfault in ``readinto()`` method on closed " -"BufferedReader." -msgstr "" - -#: ../NEWS:28400 -msgid "" -":issue:`39502`: Fix :func:`time.localtime` on 64-bit AIX to support years " -"before 1902 and after 2038. Patch by M Felt." -msgstr "" - -#: ../NEWS:28403 -msgid "" -":issue:`39492`: Fix a reference cycle in the C Pickler that was preventing " -"the garbage collection of deleted, pickled objects." -msgstr "" - -#: ../NEWS:28406 -msgid "" -":issue:`39453`: Fixed a possible crash in :meth:`list.__contains__` when a " -"list is changed during comparing items. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:28409 -msgid "" -":issue:`39434`: :term:`floor division` of float operation now has a better " -"performance. Also the message of :exc:`ZeroDivisionError` for this operation" -" is updated. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:28413 -msgid "" -":issue:`1635741`: Port _codecs extension module to multiphase initialization" -" (:pep:`489`)." -msgstr "" - -#: ../NEWS:28416 -msgid "" -":issue:`1635741`: Port _bz2 extension module to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:28419 -msgid "" -":issue:`1635741`: Port _abc extension module to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:28422 -msgid "" -":issue:`39320`: Replace two complex bytecodes for building dicts with two " -"simpler ones. The new bytecodes ``DICT_MERGE`` and ``DICT_UPDATE`` have been" -" added The old bytecodes ``BUILD_MAP_UNPACK`` and " -"``BUILD_MAP_UNPACK_WITH_CALL`` have been removed." -msgstr "" - -#: ../NEWS:28427 -msgid "" -":issue:`39219`: Syntax errors raised in the tokenizer now always set correct" -" \"text\" and \"offset\" attributes." -msgstr "" - -#: ../NEWS:28430 -msgid "" -":issue:`36051`: Drop the GIL during large ``bytes.join`` operations. Patch " -"by Bruce Merry." -msgstr "" - -#: ../NEWS:28433 -msgid "" -":issue:`38960`: Fix DTrace build issues on FreeBSD. Patch by David Carlier." -msgstr "" - -#: ../NEWS:28435 -msgid "" -":issue:`37207`: Speed up calls to ``range()`` by about 30%, by using the PEP" -" 590 ``vectorcall`` calling convention. Patch by Mark Shannon." -msgstr "" - -#: ../NEWS:28438 -msgid "" -":issue:`36144`: :class:`dict` (and :class:`collections.UserDict`) objects " -"now support PEP 584's merge (``|``) and update (``|=``) operators. Patch by " -"Brandt Bucher." -msgstr "" - -#: ../NEWS:28442 -msgid "" -":issue:`32856`: Optimized the idiom for assignment a temporary variable in " -"comprehensions. Now ``for y in [expr]`` in comprehensions is as fast as a " -"simple assignment ``y = expr``." -msgstr "" - -#: ../NEWS:28449 -msgid "" -":issue:`30566`: Fix :exc:`IndexError` when trying to decode an invalid " -"string with punycode codec." -msgstr "" - -#: ../NEWS:28452 -msgid "" -":issue:`39649`: Remove obsolete check for ``__args__`` in " -"``bdb.Bdb.format_stack_entry``." -msgstr "" - -#: ../NEWS:28455 -msgid "" -":issue:`39648`: Expanded :func:`math.gcd` and :func:`math.lcm` to handle " -"multiple arguments." -msgstr "" - -#: ../NEWS:28458 -msgid "" -":issue:`39681`: Fix a regression where the C pickle module wouldn't allow " -"unpickling from a file-like object that doesn't expose a readinto() method." -msgstr "" - -#: ../NEWS:28462 -msgid "" -":issue:`35950`: Raise :exc:`io.UnsupportedOperation` in " -":meth:`io.BufferedReader.truncate` when it is called on a read-only " -":class:`io.BufferedReader` instance." -msgstr "" - -#: ../NEWS:28466 -msgid ":issue:`39479`: Add :func:`math.lcm` function: least common multiple." -msgstr "" - -#: ../NEWS:28468 -msgid "" -":issue:`39674`: Revert \"Do not expose abstract collection classes in the " -"collections module\" change (:issue:`25988`). Aliases to ABC like " -"collections.Mapping are kept in Python 3.9 to ease transition from Python " -"2.7, but will be removed in Python 3.10." -msgstr "" - -#: ../NEWS:28473 -msgid "" -":issue:`39104`: Fix hanging ProcessPoolExcutor on ``shutdown(wait=False)`` " -"when a task has failed pickling." -msgstr "" - -#: ../NEWS:28476 -msgid ":issue:`39627`: Fixed TypedDict totality check for inherited keys." -msgstr "" - -#: ../NEWS:28478 -msgid "" -":issue:`39474`: Fixed starting position of AST for expressions like " -"``(a)(b)``, ``(a)[b]`` and ``(a).b``." -msgstr "" - -#: ../NEWS:28481 -msgid "" -":issue:`21016`: The :mod:`pydoc` and :mod:`trace` modules now use the " -":mod:`sysconfig` module to get the path to the Python standard library, to " -"support uncommon installation path like ``/usr/lib64/python3.9/`` on Fedora." -" Patch by Jan Matějek." -msgstr "" - -#: ../NEWS:28486 -msgid "" -":issue:`39590`: Collections.deque now holds strong references during " -"deque.__contains__ and deque.count, fixing crashes." -msgstr "" - -#: ../NEWS:28489 -msgid "" -":issue:`39586`: The distutils ``bdist_msi`` command is deprecated in Python " -"3.9, use ``bdist_wheel`` (wheel packages) instead." -msgstr "" - -#: ../NEWS:28492 -msgid "" -":issue:`39595`: Improved performance of zipfile.Path for files with a large " -"number of entries. Also improved performance and fixed minor issue as " -"published with `importlib_metadata 1.5 `_." -msgstr "" - -#: ../NEWS:28497 -msgid "" -":issue:`39350`: Fix regression in :class:`fractions.Fraction` if the " -"numerator and/or the denominator is an :class:`int` subclass. The " -":func:`math.gcd` function is now used to normalize the *numerator* and " -"*denominator*. :func:`math.gcd` always return a :class:`int` type. " -"Previously, the GCD type depended on *numerator* and *denominator*." -msgstr "" - -#: ../NEWS:28503 -msgid "" -":issue:`39567`: Added audit for :func:`os.walk`, :func:`os.fwalk`, " -":meth:`pathlib.Path.glob` and :meth:`pathlib.Path.rglob`." -msgstr "" - -#: ../NEWS:28506 -msgid "" -":issue:`39559`: Remove unused, undocumented argument ``getters`` from " -":func:`uuid.getnode`" -msgstr "" - -#: ../NEWS:28509 -msgid "" -":issue:`38149`: :func:`sys.audit` is now called only once per call of " -":func:`glob.glob` and :func:`glob.iglob`." -msgstr "" - -#: ../NEWS:28512 -msgid "" -":issue:`39546`: Fix a regression in :class:`~argparse.ArgumentParser` where " -"``allow_abbrev=False`` was ignored for long options that used a prefix " -"character other than \"-\"." -msgstr "" - -#: ../NEWS:28516 -msgid "" -":issue:`39450`: Striped whitespace from docstring before returning it from " -":func:`unittest.case.shortDescription`." -msgstr "" - -#: ../NEWS:28519 -msgid "" -":issue:`12915`: A new function ``resolve_name`` has been added to the " -"``pkgutil`` module. This resolves a string of the form ``'a.b.c.d'`` or " -"``'a.b:c.d'`` to an object. In the example, ``a.b`` is a package/module and " -"``c.d`` is an object within that package/module reached via recursive " -"attribute access." -msgstr "" - -#: ../NEWS:28525 -msgid "" -":issue:`39353`: The :func:`binascii.crc_hqx` function is no longer " -"deprecated." -msgstr "" - -#: ../NEWS:28527 -msgid ":issue:`39493`: Mark ``typing.IO.closed`` as a property" -msgstr "" - -#: ../NEWS:28529 -msgid "" -":issue:`39491`: Add :data:`typing.Annotated` and ``include_extras`` " -"parameter to :func:`typing.get_type_hints` as part of :pep:`593`. Patch by " -"Till Varoquaux, documentation by Till Varoquaux and Konstantin Kashin." -msgstr "" - -#: ../NEWS:28533 -msgid "" -":issue:`39485`: Fix a bug in :func:`unittest.mock.create_autospec` that " -"would complain about the wrong number of arguments for custom descriptors " -"defined in an extension module returning functions." -msgstr "" - -#: ../NEWS:28537 -msgid "" -":issue:`38932`: Mock fully resets child objects on reset_mock(). Patch by " -"Vegard Stikbakke" -msgstr "" - -#: ../NEWS:28540 -msgid "" -":issue:`39082`: Allow AsyncMock to correctly patch static/class methods" -msgstr "" - -#: ../NEWS:28542 -msgid "" -":issue:`39432`: Implement PEP-489 algorithm for non-ascii \"PyInit\\_...\" " -"symbol names in distutils to make it export the correct init symbol also on " -"Windows." -msgstr "" - -#: ../NEWS:28546 -msgid "" -":issue:`18819`: Omit ``devmajor`` and ``devminor`` fields for non-device " -"files in :mod:`tarfile` archives, enabling bit-for-bit compatibility with " -"GNU ``tar(1)``." -msgstr "" - -#: ../NEWS:28550 -msgid "" -":issue:`39349`: Added a new *cancel_futures* parameter to " -":meth:`concurrent.futures.Executor.shutdown` that cancels all pending " -"futures which have not started running, instead of waiting for them to " -"complete before shutting down the executor." -msgstr "" - -#: ../NEWS:28555 -msgid "" -":issue:`39274`: ``bool(fraction.Fraction)`` now returns a boolean even if " -"(numerator != 0) does not return a boolean (ex: numpy number)." -msgstr "" - -#: ../NEWS:28558 -msgid "" -":issue:`34793`: Remove support for ``with (await asyncio.lock):`` and ``with" -" (yield from asyncio.lock):``. The same is correct for " -"``asyncio.Condition`` and ``asyncio.Semaphore``." -msgstr "" - -#: ../NEWS:28562 -msgid "" -":issue:`25597`: Ensure, if ``wraps`` is supplied to " -":class:`unittest.mock.MagicMock`, it is used to calculate return values for " -"the magic methods instead of using the default return values. Patch by " -"Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:28567 -msgid "" -":issue:`36350`: ``inspect.Signature.parameters`` and " -"``inspect.BoundArguments.arguments`` are now dicts instead of OrderedDicts. " -"Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:28571 -msgid "" -":issue:`35727`: Fix sys.exit() and sys.exit(None) exit code propagation when" -" used in multiprocessing.Process." -msgstr "" - -#: ../NEWS:28574 -msgid "" -":issue:`32173`: * Add ``lazycache`` function to ``__all__``. * Use " -"``dict.clear`` to clear the cache. * Refactoring ``getline`` function and " -"``checkcache`` function." -msgstr "" - -#: ../NEWS:28581 -msgid "" -":issue:`17422`: The language reference now specifies restrictions on class " -"namespaces. Adapted from a patch by Ethan Furman." -msgstr "" - -#: ../NEWS:28584 -msgid "" -":issue:`39572`: Updated documentation of ``total`` flag of ``TypedDict``." -msgstr "" - -#: ../NEWS:28586 -msgid "" -":issue:`39654`: In pyclbr doc, update 'class' to 'module' where appropriate " -"and add readmodule comment. Patch by Hakan Çelik." -msgstr "" - -#: ../NEWS:28589 -msgid "" -":issue:`39153`: Clarify refcounting semantics for the following functions: -" -" PyObject_SetItem - PyMapping_SetItemString - PyDict_SetItem - " -"PyDict_SetItemString" -msgstr "" - -#: ../NEWS:28593 -msgid "" -":issue:`39392`: Explain that when filling with turtle, overlap regions may " -"be left unfilled." -msgstr "" - -#: ../NEWS:28596 -msgid "" -":issue:`39369`: Update mmap readline method description. The fact that the " -"readline method does update the file position should not be ignored since " -"this might give the impression for the programmer that it doesn't update it." -msgstr "" - -#: ../NEWS:28601 -msgid ":issue:`9056`: Include subsection in TOC for PDF version of docs." -msgstr "" - -#: ../NEWS:28606 -msgid ":issue:`38325`: Skip tests on non-BMP characters of test_winconsoleio." -msgstr "" - -#: ../NEWS:28608 -msgid "" -":issue:`39502`: Skip test_zipfile.test_add_file_after_2107() if " -":func:`time.localtime` fails with :exc:`OverflowError`. It is the case on " -"AIX 6.1 for example." -msgstr "" - -#: ../NEWS:28615 -msgid ":issue:`39489`: Remove ``COUNT_ALLOCS`` special build." -msgstr "" - -#: ../NEWS:28620 -msgid ":issue:`39553`: Delete unused code related to SxS manifests." -msgstr "" - -#: ../NEWS:28622 -msgid "" -":issue:`39439`: Honor the Python path when a virtualenv is active on " -"Windows." -msgstr "" - -#: ../NEWS:28624 -msgid "" -":issue:`39393`: Improve the error message when attempting to load a DLL with" -" unresolved dependencies." -msgstr "" - -#: ../NEWS:28627 -msgid "" -":issue:`38883`: :meth:`~pathlib.Path.home` and " -":meth:`~pathlib.Path.expanduser` on Windows now prefer :envvar:`USERPROFILE`" -" and no longer use :envvar:`HOME`, which is not normally set for regular " -"user accounts. This makes them again behave like :func:`os.path.expanduser`," -" which was changed to ignore :envvar:`HOME` in 3.8, see :issue:`36264`." -msgstr "" - -#: ../NEWS:28633 -msgid "" -":issue:`39185`: The build.bat script has additional options for very-quiet " -"output (-q) and very-verbose output (-vv)" -msgstr "" - -#: ../NEWS:28639 -msgid ":issue:`39663`: Add tests for pyparse find_good_parse_start()." -msgstr "" - -#: ../NEWS:28641 -msgid "" -":issue:`39600`: In the font configuration window, remove duplicated font " -"names." -msgstr "" - -#: ../NEWS:28643 -msgid "" -":issue:`30780`: Add remaining configdialog tests for buttons and highlights " -"and keys tabs." -msgstr "" - -#: ../NEWS:28646 -msgid "" -":issue:`39388`: IDLE Settings Cancel button now cancels pending changes" -msgstr "" - -#: ../NEWS:28648 -msgid "" -":issue:`38792`: Close an IDLE shell calltip if a :exc:`KeyboardInterrupt` or" -" shell restart occurs. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:28654 -msgid "" -":issue:`35081`: Move the ``bytes_methods.h`` header file to the internal C " -"API as ``pycore_bytes_methods.h``: it only contains private symbols " -"(prefixed by ``_Py``), except of the ``PyDoc_STRVAR_shared()`` macro." -msgstr "" - -#: ../NEWS:28658 -msgid "" -":issue:`35081`: Move the ``dtoa.h`` header file to the internal C API as " -"``pycore_dtoa.h``: it only contains private functions (prefixed by ``_Py``)." -" The :mod:`math` and :mod:`cmath` modules must now be compiled with the " -"``Py_BUILD_CORE`` macro defined." -msgstr "" - -#: ../NEWS:28663 -msgid "" -":issue:`39573`: Add :c:func:`Py_SET_SIZE` function to set the size of an " -"object." -msgstr "" - -#: ../NEWS:28666 -msgid "" -":issue:`39500`: :c:func:`PyUnicode_IsIdentifier` does not call " -":c:func:`Py_FatalError` anymore if the string is not ready." -msgstr "" - -#: ../NEWS:28669 -msgid "" -":issue:`39573`: Add :c:func:`Py_SET_TYPE` function to set the type of an " -"object." -msgstr "" - -#: ../NEWS:28672 -msgid "" -":issue:`39573`: Add a :c:func:`Py_SET_REFCNT` function to set the reference " -"counter of an object." -msgstr "" - -#: ../NEWS:28675 -msgid "" -":issue:`39542`: Convert :c:func:`PyType_HasFeature`, :c:func:`PyType_Check` " -"and :c:func:`PyType_CheckExact` macros to static inline functions." -msgstr "" - -#: ../NEWS:28678 -msgid "" -":issue:`39542`: In the limited C API, ``PyObject_INIT()`` and " -"``PyObject_INIT_VAR()`` are now defined as aliases to " -":c:func:`PyObject_Init` and :c:func:`PyObject_InitVar` to make their " -"implementation opaque. It avoids to leak implementation details in the " -"limited C API. Exclude the following functions from the limited C API: " -"``_Py_NewReference()``, ``_Py_ForgetReference()``, " -"``_PyTraceMalloc_NewReference()`` and ``_Py_GetRefTotal()``." -msgstr "" - -#: ../NEWS:28686 -msgid "" -":issue:`39542`: Exclude trashcan mechanism from the limited C API: it " -"requires access to PyTypeObject and PyThreadState structure fields, whereas " -"these structures are opaque in the limited C API." -msgstr "" - -#: ../NEWS:28690 -msgid "" -":issue:`39511`: The :c:func:`PyThreadState_Clear` function now calls the " -":c:member:`PyThreadState.on_delete` callback. Previously, that happened in " -":c:func:`PyThreadState_Delete`." -msgstr "" - -#: ../NEWS:28694 -msgid "" -":issue:`38076`: Fix to clear the interpreter state only after clearing " -"module globals to guarantee module state access from C Extensions during " -"runtime destruction" -msgstr "" - -#: ../NEWS:28698 -msgid "" -":issue:`39245`: The Vectorcall API (PEP 590) was made public, adding the " -"functions ``PyObject_Vectorcall``, ``PyObject_VectorcallMethod``, " -"``PyVectorcall_Function``, ``PyObject_CallOneArg``, " -"``PyObject_CallMethodNoArgs``, ``PyObject_CallMethodOneArg``, " -"``PyObject_FastCallDict``, and the flag ``Py_TPFLAGS_HAVE_VECTORCALL``." -msgstr "" - -#: ../NEWS:28706 -msgid "Python 3.9.0 alpha 3" -msgstr "Python 3.9.0 alfa 3" - -#: ../NEWS:28708 -msgid "*Release date: 2020-01-24*" -msgstr "*Tanggal rilis: 2020-01-24*" - -#: ../NEWS:28713 -msgid "" -":issue:`39427`: Document all possibilities for the ``-X`` options in the " -"command line help section. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:28716 -msgid "" -":issue:`39421`: Fix possible crashes when operating with the functions in " -"the :mod:`heapq` module and custom comparison operators." -msgstr "" - -#: ../NEWS:28719 -msgid ":issue:`39386`: Prevent double awaiting of async iterator." -msgstr "" - -#: ../NEWS:28721 -msgid "" -":issue:`17005`: Add :class:`functools.TopologicalSorter` to the " -":mod:`functools` module to offers functionality to perform topological " -"sorting of graphs. Patch by Pablo Galindo, Tim Peters and Larry Hastings." -msgstr "" - -#: ../NEWS:28725 -msgid "" -":issue:`39320`: Replace four complex bytecodes for building sequences with " -"three simpler ones." -msgstr "" - -#: ../NEWS:28728 -msgid "The following four bytecodes have been removed:" -msgstr "" - -#: ../NEWS:28730 -msgid "BUILD_LIST_UNPACK" -msgstr "BUILD_LIST_UNPACK" - -#: ../NEWS:28731 -msgid "BUILD_TUPLE_UNPACK" -msgstr "BUILD_TUPLE_UNPACK" - -#: ../NEWS:28732 -msgid "BUILD_SET_UNPACK" -msgstr "BUILD_SET_UNPACK" - -#: ../NEWS:28733 -msgid "BUILD_TUPLE_UNPACK_WITH_CALL" -msgstr "BUILD_TUPLE_UNPACK_WITH_CALL" - -#: ../NEWS:28735 -msgid "The following three bytecodes have been added:" -msgstr "" - -#: ../NEWS:28737 -msgid "LIST_TO_TUPLE" -msgstr "LIST_TO_TUPLE" - -#: ../NEWS:28738 -msgid "LIST_EXTEND" -msgstr "LIST_EXTEND" - -#: ../NEWS:28739 -msgid "SET_UPDATE" -msgstr "SET_UPDATE" - -#: ../NEWS:28741 -msgid "" -":issue:`39336`: Import loaders which publish immutable module objects can " -"now publish immutable packages in addition to individual modules." -msgstr "" - -#: ../NEWS:28744 -msgid "" -":issue:`39322`: Added a new function :func:`gc.is_finalized` to check if an " -"object has been finalized by the garbage collector. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:28748 -msgid "" -":issue:`39048`: Improve the displayed error message when incorrect types are" -" passed to ``async with`` statements by looking up the :meth:`__aenter__` " -"special method before the :meth:`__aexit__` special method when entering an " -"asynchronous context manager. Patch by Géry Ogam." -msgstr "" - -#: ../NEWS:28753 -msgid "" -":issue:`39235`: Fix AST end location for lone generator expression in " -"function call, e.g. f(i for i in a)." -msgstr "" - -#: ../NEWS:28756 -msgid "" -":issue:`39209`: Correctly handle multi-line tokens in interactive mode. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:28759 -msgid "" -":issue:`1635741`: Port _json extension module to multiphase initialization " -"(:pep:`489`)." -msgstr "" - -#: ../NEWS:28762 -msgid "" -":issue:`39216`: Fix constant folding optimization for positional only " -"arguments - by Anthony Sottile." -msgstr "" - -#: ../NEWS:28765 -msgid "" -":issue:`39215`: Fix ``SystemError`` when nested function has annotation on " -"positional-only argument - by Anthony Sottile." -msgstr "" - -#: ../NEWS:28768 -msgid "" -":issue:`39200`: Correct the error message when calling the :func:`min` or " -":func:`max` with no arguments. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:28771 -msgid "" -":issue:`39200`: Correct the error message when trying to construct " -":class:`range` objects with no arguments. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:28774 -msgid "" -":issue:`39166`: Fix incorrect line execution reporting in trace functions " -"when tracing the last iteration of asynchronous for loops. Patch by Pablo " -"Galindo." -msgstr "" - -#: ../NEWS:28778 -msgid "" -":issue:`39114`: Fix incorrect line execution reporting in trace functions " -"when tracing exception handlers with name binding. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:28781 -msgid "" -":issue:`39156`: Split the COMPARE_OP bytecode instruction into four distinct" -" instructions." -msgstr "" - -#: ../NEWS:28784 -msgid "COMPARE_OP for rich comparisons" -msgstr "" - -#: ../NEWS:28785 -msgid "IS_OP for 'is' and 'is not' tests" -msgstr "" - -#: ../NEWS:28786 -msgid "CONTAINS_OP for 'in' and 'is not' tests" -msgstr "" - -#: ../NEWS:28787 -msgid "" -"JUMP_IF_NOT_EXC_MATCH for checking exceptions in 'try-except' statements." -msgstr "" - -#: ../NEWS:28789 -msgid "" -"This improves the clarity of the interpreter and should provide a modest " -"speedup." -msgstr "" - -#: ../NEWS:28792 -msgid "" -":issue:`38588`: Fix possible crashes in dict and list when calling " -":c:func:`PyObject_RichCompareBool`." -msgstr "" - -#: ../NEWS:28795 -msgid "" -":issue:`13601`: By default, ``sys.stderr`` is line-buffered now, even if " -"``stderr`` is redirected to a file. You can still make ``sys.stderr`` " -"unbuffered by passing the :option:`-u` command-line option or setting the " -":envvar:`PYTHONUNBUFFERED` environment variable." -msgstr "" - -#: ../NEWS:28800 -msgid "(Contributed by Jendrik Seipp in :issue:`13601`.)" -msgstr "" - -#: ../NEWS:28802 -msgid "" -":issue:`38610`: Fix possible crashes in several list methods by holding " -"strong references to list elements when calling " -":c:func:`PyObject_RichCompareBool`." -msgstr "" - -#: ../NEWS:28806 -msgid ":issue:`32021`: Include brotli .br encoding in mimetypes encodings_map" -msgstr "" - -#: ../NEWS:28811 -msgid "" -":issue:`39430`: Fixed race condition in lazy imports in :mod:`tarfile`." -msgstr "" - -#: ../NEWS:28813 -msgid "" -":issue:`39413`: The :func:`os.unsetenv` function is now also available on " -"Windows." -msgstr "" - -#: ../NEWS:28816 -msgid "" -":issue:`39390`: Fixed a regression with the ``ignore`` callback of " -":func:`shutil.copytree`. The argument types are now ``str`` and " -"``List[str]`` again." -msgstr "" - -#: ../NEWS:28820 -msgid "" -":issue:`39395`: The :func:`os.putenv` and :func:`os.unsetenv` functions are " -"now always available." -msgstr "" - -#: ../NEWS:28823 -msgid "" -":issue:`39406`: If ``setenv()`` C function is available, :func:`os.putenv` " -"is now implemented with ``setenv()`` instead of ``putenv()``, so Python " -"doesn't have to handle the environment variable memory." -msgstr "" - -#: ../NEWS:28827 -msgid ":issue:`39396`: Fix ``math.nextafter(-0.0, +0.0)`` on AIX 7.1." -msgstr "" - -#: ../NEWS:28829 -msgid "" -":issue:`29435`: Allow :func:`tarfile.is_tarfile` to be used with file and " -"file-like objects, like :func:`zipfile.is_zipfile`. Patch by William " -"Woodruff." -msgstr "" - -#: ../NEWS:28833 -msgid "" -":issue:`39377`: Removed ``encoding`` option from :func:`json.loads`. It has" -" been deprecated since Python 3.1." -msgstr "" - -#: ../NEWS:28836 -msgid "" -":issue:`39389`: Write accurate compression level metadata in :mod:`gzip` " -"archives, rather than always signaling maximum compression." -msgstr "" - -#: ../NEWS:28839 -msgid "" -":issue:`39366`: The previously deprecated ``xpath()`` and ``xgtitle()`` " -"methods of :class:`!nntplib.NNTP` have been removed." -msgstr "" - -#: ../NEWS:28842 -msgid "" -":issue:`39357`: Remove the *buffering* parameter of :class:`bz2.BZ2File`. " -"Since Python 3.0, it was ignored and using it was emitting " -":exc:`DeprecationWarning`. Pass an open file object, to control how the file" -" is opened. The *compresslevel* parameter becomes keyword-only." -msgstr "" - -#: ../NEWS:28847 -msgid "" -":issue:`39353`: Deprecate binhex4 and hexbin4 standards. Deprecate the " -":mod:`binhex` module and the following :mod:`binascii` functions: " -":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`, " -":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`, " -":func:`~binascii.crc_hqx`." -msgstr "" - -#: ../NEWS:28853 -msgid "" -":issue:`39351`: Remove ``base64.encodestring()`` and " -"``base64.decodestring()``, aliases deprecated since Python 3.1: use " -":func:`base64.encodebytes` and :func:`base64.decodebytes` instead." -msgstr "" - -#: ../NEWS:28857 -msgid "" -":issue:`39350`: Remove ``fractions.gcd()`` function, deprecated since Python" -" 3.5 (:issue:`22486`): use :func:`math.gcd` instead." -msgstr "" - -#: ../NEWS:28860 -msgid "" -":issue:`39329`: :class:`~smtplib.LMTP` constructor now has an optional " -"*timeout* parameter. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:28863 -msgid "" -":issue:`39313`: Add a new ``exec_function`` option (*--exec-function* in the" -" CLI) to ``RefactoringTool`` for making ``exec`` a function. Patch by " -"Batuhan Taskaya." -msgstr "" - -#: ../NEWS:28867 -msgid "" -":issue:`39259`: :class:`~ftplib.FTP_TLS` and :class:`~ftplib.FTP_TLS` now " -"raise a :class:`ValueError` if the given timeout for their constructor is " -"zero to prevent the creation of a non-blocking socket. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:28871 -msgid "" -":issue:`39259`: :class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now " -"raise a :class:`ValueError` if the given timeout for their constructor is " -"zero to prevent the creation of a non-blocking socket. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:28875 -msgid "" -":issue:`39310`: Add :func:`math.ulp`: return the value of the least " -"significant bit of a float." -msgstr "" - -#: ../NEWS:28878 -msgid "" -":issue:`39297`: Improved performance of importlib.metadata distribution " -"discovery and resilients to inaccessible sys.path entries " -"(importlib_metadata v1.4.0)." -msgstr "" - -#: ../NEWS:28882 -msgid "" -":issue:`39259`: :class:`!NNTP` and :class:`!NNTP_SSL` now raise a " -":class:`ValueError` if the given timeout for their constructor is zero to " -"prevent the creation of a non-blocking socket. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:28886 -msgid "" -":issue:`38901`: When you specify prompt='.' or equivalently python -m venv " -"--prompt . ... the basename of the current directory is used to set the " -"created venv's prompt when it's activated." -msgstr "" - -#: ../NEWS:28890 -msgid "" -":issue:`39288`: Add :func:`math.nextafter`: return the next floating-point " -"value after *x* towards *y*." -msgstr "" - -#: ../NEWS:28893 -msgid "" -":issue:`39259`: :class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now " -"raise a :class:`ValueError` if the given timeout for their constructor is " -"zero to prevent the creation of a non-blocking socket. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:28897 -msgid "" -":issue:`39242`: Updated the Gmane domain from news.gmane.org to " -"news.gmane.io which is used for examples of :class:`!NNTP` news reader " -"server and nntplib tests." -msgstr "" - -#: ../NEWS:28901 -msgid "" -":issue:`35292`: Proxy the ``SimpleHTTPRequestHandler.guess_type`` to " -"``mimetypes.guess_type`` so the ``mimetypes.init`` is called lazily to avoid" -" unnecessary costs when :mod:`http.server` module is imported." -msgstr "" - -#: ../NEWS:28905 -msgid "" -":issue:`39239`: The :meth:`select.epoll.unregister` method no longer ignores" -" the :data:`~errno.EBADF` error." -msgstr "" - -#: ../NEWS:28908 -msgid "" -":issue:`38907`: In http.server script, restore binding to IPv4 on Windows." -msgstr "" - -#: ../NEWS:28910 -msgid "" -":issue:`39152`: Fix ttk.Scale.configure([name]) to return configuration " -"tuple for name or all options. Giovanni Lombardo contributed part of the " -"patch." -msgstr "" - -#: ../NEWS:28913 -msgid "" -":issue:`39198`: If an exception were to be thrown in ``Logger.isEnabledFor``" -" (say, by asyncio timeouts or stopit) , the ``logging`` global lock may not " -"be released appropriately, resulting in deadlock. This change wraps that " -"block of code with ``try...finally`` to ensure the lock is released." -msgstr "" - -#: ../NEWS:28918 -msgid "" -":issue:`39191`: Perform a check for running loop before starting a new task " -"in ``loop.run_until_complete()`` to fail fast; it prevents the side effect " -"of new task spawning before exception raising." -msgstr "" - -#: ../NEWS:28922 -msgid "" -":issue:`38871`: Correctly parenthesize filter-based statements that contain " -"lambda expressions in :mod:`!lib2to3`. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:28925 -msgid "" -":issue:`39142`: A change was made to logging.config.dictConfig to avoid " -"converting instances of named tuples to ConvertingTuple. It's assumed that " -"named tuples are too specialised to be treated like ordinary tuples; if a " -"user of named tuples requires ConvertingTuple functionality, they will have " -"to implement that themselves in their named tuple class." -msgstr "" - -#: ../NEWS:28931 -msgid ":issue:`39158`: ast.literal_eval() now supports empty sets." -msgstr "" - -#: ../NEWS:28933 -msgid ":issue:`39129`: Fix import path for ``asyncio.TimeoutError``" -msgstr "" - -#: ../NEWS:28935 -msgid "" -":issue:`39057`: :func:`urllib.request.proxy_bypass_environment` now ignores " -"leading dots and no longer ignores a trailing newline." -msgstr "" - -#: ../NEWS:28938 -msgid "" -":issue:`39056`: Fixed handling invalid warning category in the -W option. " -"No longer import the re module if it is not needed." -msgstr "" - -#: ../NEWS:28941 -msgid "" -":issue:`39055`: :func:`base64.b64decode` with ``validate=True`` raises now a" -" binascii.Error if the input ends with a single ``\\n``." -msgstr "" - -#: ../NEWS:28944 -msgid "" -":issue:`21600`: Fix :func:`mock.patch.stopall` to stop active patches that " -"were created with :func:`mock.patch.dict`." -msgstr "" - -#: ../NEWS:28947 -msgid "" -":issue:`39019`: Implement dummy ``__class_getitem__`` for " -":class:`tempfile.SpooledTemporaryFile`." -msgstr "" - -#: ../NEWS:28950 -msgid "" -":issue:`39019`: Implement dummy ``__class_getitem__`` for " -"``subprocess.Popen``, ``subprocess.CompletedProcess``" -msgstr "" - -#: ../NEWS:28953 -msgid "" -":issue:`38914`: Adjusted the wording of the warning issued by distutils' " -"``check`` command when the ``author`` and ``maintainer`` fields are supplied" -" but no corresponding e-mail field (``author_email`` or " -"``maintainer_email``) is found. The wording now reflects the fact that these" -" fields are suggested, but not required. Patch by Juergen Gmach." -msgstr "" - -#: ../NEWS:28959 -msgid "" -":issue:`38878`: Fixed __subclasshook__ of :class:`os.PathLike` to return a " -"correct result upon inheritance. Patch by Bar Harel." -msgstr "" - -#: ../NEWS:28962 -msgid "" -":issue:`38615`: :class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now " -"have an optional *timeout* parameter for their constructors. Also, the " -":meth:`~imaplib.IMAP4.open` method now has an optional *timeout* parameter " -"with this change. The overridden methods of :class:`~imaplib.IMAP4_SSL` and " -":class:`~imaplib.IMAP4_stream` were applied to this change. Patch by Donghee" -" Na." -msgstr "" - -#: ../NEWS:28969 -msgid "" -":issue:`35182`: Fixed :func:`Popen.communicate` subsequent call crash when " -"the child process has already closed any piped standard stream, but still " -"continues to be running. Patch by Andriy Maletsky." -msgstr "" - -#: ../NEWS:28973 -msgid "" -":issue:`38630`: On Unix, :meth:`subprocess.Popen.send_signal` now polls the " -"process status. Polling reduces the risk of sending a signal to the wrong " -"process if the process completed, the :attr:`subprocess.Popen.returncode` " -"attribute is still ``None``, and the pid has been reassigned (recycled) to a" -" new different process." -msgstr "" - -#: ../NEWS:28979 -msgid "" -":issue:`38536`: Removes trailing space in formatted currency with " -"``international=True`` and a locale with symbol following value. E.g. " -"``locale.currency(12.34, international=True)`` returned ``'12,34 EUR '`` " -"instead of ``'12,34 EUR'``." -msgstr "" - -#: ../NEWS:28984 -msgid "" -":issue:`38473`: Use signature from inner mock for autospecced methods " -"attached with :func:`unittest.mock.attach_mock`. Patch by Karthikeyan " -"Singaravelan." -msgstr "" - -#: ../NEWS:28987 -msgid "" -":issue:`38361`: Fixed an issue where ``ident`` could include a leading path " -"separator when :func:`syslog.openlog` was called without arguments." -msgstr "" - -#: ../NEWS:28990 -msgid "" -":issue:`38293`: Add :func:`copy.copy` and :func:`copy.deepcopy` support to " -":func:`property` objects." -msgstr "" - -#: ../NEWS:28993 -msgid "" -":issue:`37958`: Added the pstats.Stats.get_profile_dict() method to return " -"the profile data as a StatsProfile instance." -msgstr "" - -#: ../NEWS:28996 -msgid "" -":issue:`28367`: Termios magic constants for the following baud rates: - " -"B500000 - B576000 - B921600 - B1000000 - B1152000 - B1500000 - " -"B2000000 - B2500000 - B3000000 - B3500000 - B4000000 Patch by Andrey" -" Smirnov" -msgstr "" - -#: ../NEWS:29004 -msgid "" -":issue:`39381`: Mention in docs that :func:`asyncio.get_event_loop` " -"implicitly creates new event loop only if called from the main thread." -msgstr "" - -#: ../NEWS:29007 -msgid "" -":issue:`38918`: Add an entry for ``__module__`` in the \"function\" & " -"\"method\" sections of the :mod:`inspect` docs' :ref:`inspect-types` table." -msgstr "" - -#: ../NEWS:29010 -msgid "" -":issue:`3530`: In the :mod:`ast` module documentation, fix a misleading " -"``NodeTransformer`` example and add advice on when to use the " -"``fix_missing_locations`` function." -msgstr "" - -#: ../NEWS:29017 -msgid "" -":issue:`39395`: On non-Windows platforms, the :c:func:`setenv` and " -":c:func:`unsetenv` functions are now required to build Python." -msgstr "" - -#: ../NEWS:29020 -msgid "" -":issue:`39160`: Updated the documentation in ``./configure --help`` to show " -"default values, reference documentation where required and add additional " -"explanation where needed." -msgstr "" - -#: ../NEWS:29024 -msgid "" -":issue:`39144`: The ctags and etags build targets both include " -"Modules/_ctypes and Python standard library source files." -msgstr "" - -#: ../NEWS:29030 -msgid ":issue:`39050`: Make IDLE Settings dialog Help button work again." -msgstr "" - -#: ../NEWS:29032 -msgid "" -":issue:`34118`: Tag memoryview, range, and tuple as classes, the same as " -"list, etcetera, in the library manual built-in functions list." -msgstr "" - -#: ../NEWS:29035 -msgid "" -":issue:`32989`: Add tests for editor newline_and_indent_event method. Remove" -" dead code from pyparse find_good_parse_start method." -msgstr "" - -#: ../NEWS:29041 -msgid "" -":issue:`39372`: Clean header files of interfaces defined but with no " -"implementation. The public API symbols being removed are: " -"``_PyBytes_InsertThousandsGroupingLocale``, " -"``_PyBytes_InsertThousandsGrouping``, ``_Py_InitializeFromArgs``, " -"``_Py_InitializeFromWideArgs``, ``_PyFloat_Repr``, ``_PyFloat_Digits``, " -"``_PyFloat_DigitsInit``, ``PyFrame_ExtendStack``, ``_PyAIterWrapper_Type``, " -"``PyNullImporter_Type``, ``PyCmpWrapper_Type``, ``PySortWrapper_Type``, " -"``PyNoArgsFunction``." -msgstr "" - -#: ../NEWS:29050 -msgid "" -":issue:`39164`: Add a private ``_PyErr_GetExcInfo()`` function to retrieve " -"exception information of the specified Python thread state." -msgstr "" - -#: ../NEWS:29055 -msgid "Python 3.9.0 alpha 2" -msgstr "Python 3.9.0 alfa 2" - -#: ../NEWS:29057 -msgid "*Release date: 2019-12-18*" -msgstr "*Tanggal rilis: 2019-12-18*" - -#: ../NEWS:29062 -msgid "" -":issue:`38945`: Newline characters have been escaped when performing uu " -"encoding to prevent them from overflowing into to content section of the " -"encoded file. This prevents malicious or accidental modification of data " -"during the decoding process." -msgstr "" - -#: ../NEWS:29067 -msgid "" -":issue:`37228`: Due to significant security concerns, the *reuse_address* " -"parameter of :meth:`asyncio.loop.create_datagram_endpoint` is no longer " -"supported. This is because of the behavior of ``SO_REUSEADDR`` in UDP. For " -"more details, see the documentation for ``loop.create_datagram_endpoint()``." -" (Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in " -":issue:`37228`.)" -msgstr "" - -#: ../NEWS:29074 -msgid "" -":issue:`38804`: Fixes a ReDoS vulnerability in :mod:`http.cookiejar`. Patch " -"by Ben Caller." -msgstr "" - -#: ../NEWS:29080 -msgid "" -":issue:`39028`: Slightly improve the speed of keyword argument parsing with " -"many kwargs by strengthening the assumption that kwargs are interned " -"strings." -msgstr "" - -#: ../NEWS:29084 -msgid "" -":issue:`39080`: Fix the value of *end_col_offset* for Starred Expression AST" -" nodes when they are among the elements in the *args* attribute of Call AST " -"nodes." -msgstr "" - -#: ../NEWS:29088 -msgid "" -":issue:`39031`: When parsing an \"elif\" node, lineno and col_offset of the " -"node now point to the \"elif\" keyword and not to its condition, making it " -"consistent with the \"if\" node. Patch by Lysandros Nikolaou." -msgstr "" - -#: ../NEWS:29092 -msgid "" -":issue:`20443`: In Python 3.9.0a1, sys.argv[0] was made an absolute path if " -"a filename was specified on the command line. Revert this change, since most" -" users expect sys.argv to be unmodified." -msgstr "" - -#: ../NEWS:29096 -msgid "" -":issue:`39008`: :c:func:`PySys_Audit` now requires ``Py_ssize_t`` to be used" -" for size arguments in the format string, regardless of whether " -"``PY_SSIZE_T_CLEAN`` was defined at include time." -msgstr "" - -#: ../NEWS:29100 -msgid "" -":issue:`38673`: In REPL mode, don't switch to PS2 if the line starts with " -"comment or whitespace. Based on work by Batuhan Taşkaya." -msgstr "" - -#: ../NEWS:29103 -msgid "" -":issue:`38922`: Calling ``replace`` on a code object now raises the " -"``code.__new__`` audit event." -msgstr "" - -#: ../NEWS:29106 -msgid "" -":issue:`38920`: Add audit hooks for when :func:`sys.excepthook` and " -":func:`sys.unraisablehook` are invoked." -msgstr "" - -#: ../NEWS:29109 -msgid "" -":issue:`38892`: Improve documentation for audit events table and functions." -msgstr "" - -#: ../NEWS:29111 -msgid "" -":issue:`38852`: Set the thread stack size to 8 Mb for debug builds on " -"android platforms." -msgstr "" - -#: ../NEWS:29114 -msgid "" -":issue:`38858`: Each Python subinterpreter now has its own \"small integer " -"singletons\": numbers in [-5; 257] range. It is no longer possible to change" -" the number of small integers at build time by overriding ``NSMALLNEGINTS`` " -"and ``NSMALLPOSINTS`` macros: macros should now be modified manually in " -"``pycore_pystate.h`` header file." -msgstr "" - -#: ../NEWS:29120 -msgid "" -":issue:`36854`: The garbage collector state becomes per interpreter " -"(``PyInterpreterState.gc``), rather than being global " -"(``_PyRuntimeState.gc``)." -msgstr "" - -#: ../NEWS:29124 -msgid "" -":issue:`38835`: The ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` " -"macros are empty: they have been doing nothing for the last year, so stop " -"using them." -msgstr "" - -#: ../NEWS:29128 -msgid "" -":issue:`38328`: Sped up the creation time of constant :class:`list` and " -":class:`set` displays. Patch by Brandt Bucher." -msgstr "" - -#: ../NEWS:29131 -msgid "" -":issue:`38707`: ``MainThread.native_id`` is now correctly reset in child " -"processes spawned using :class:`multiprocessing.Process`, instead of " -"retaining the parent's value." -msgstr "" - -#: ../NEWS:29135 -msgid "" -":issue:`38629`: Added ``__floor__`` and ``__ceil__`` methods to float " -"object. Patch by Batuhan Taşkaya." -msgstr "" - -#: ../NEWS:29138 -msgid "" -":issue:`27145`: int + int and int - int operators can now return small " -"integer singletons. Patch by hongweipeng." -msgstr "" - -#: ../NEWS:29141 -msgid "" -":issue:`38021`: Provide a platform tag for AIX that is sufficient for PEP425" -" binary distribution identification. Patch by Michael Felt." -msgstr "" - -#: ../NEWS:29144 -msgid "" -":issue:`35409`: Ignore GeneratorExit exceptions when throwing an exception " -"into the aclose coroutine of an asynchronous generator." -msgstr "" - -#: ../NEWS:29147 -msgid "" -":issue:`33387`: Removed WITH_CLEANUP_START, WITH_CLEANUP_FINISH, " -"BEGIN_FINALLY, END_FINALLY, CALL_FINALLY and POP_FINALLY bytecodes. Replaced" -" with RERAISE and WITH_EXCEPT_START bytecodes. The compiler now generates " -"different code for exceptional and non-exceptional branches for 'with' and " -"'try-except' statements. For 'try-finally' statements the 'finally' block is" -" replicated for each exit from the 'try' body." -msgstr "" - -#: ../NEWS:29157 -msgid "" -":issue:`39033`: Fix :exc:`NameError` in :mod:`zipimport`. Patch by " -"Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:29160 -msgid "" -":issue:`39022`: Update importlib.metadata to include improvements from " -"importlib_metadata 1.3 including better serialization of EntryPoints and " -"improved documentation for custom finders." -msgstr "" - -#: ../NEWS:29164 -msgid "" -":issue:`39006`: Fix asyncio when the ssl module is missing: only check for " -"ssl.SSLSocket instance if the ssl module is available." -msgstr "" - -#: ../NEWS:29167 -msgid "" -":issue:`38708`: Fix a potential IndexError in email parser when parsing an " -"empty msg-id." -msgstr "" - -#: ../NEWS:29170 -msgid "" -":issue:`38698`: Add a new ``InvalidMessageID`` token to email parser to " -"represent invalid Message-ID headers. Also, add defects when there is " -"remaining value after parsing the header." -msgstr "" - -#: ../NEWS:29174 -msgid "" -":issue:`38994`: Implement ``__class_getitem__`` for ``os.PathLike``, " -"``pathlib.Path``." -msgstr "" - -#: ../NEWS:29177 -msgid "" -":issue:`38979`: Return class from ``ContextVar.__class_getitem__`` to " -"simplify subclassing." -msgstr "" - -#: ../NEWS:29180 -msgid "" -":issue:`38978`: Implement ``__class_getitem__`` on asyncio objects (Future, " -"Task, Queue). Patch by Batuhan Taskaya." -msgstr "" - -#: ../NEWS:29183 -msgid "" -":issue:`38916`: :class:`array.array`: Remove ``tostring()`` and " -"``fromstring()`` methods. They were aliases to ``tobytes()`` and " -"``frombytes()``, deprecated since Python 3.2." -msgstr "" - -#: ../NEWS:29187 -msgid "" -":issue:`38986`: Make repr of C accelerated TaskWakeupMethWrapper the same as" -" of pure Python version." -msgstr "" - -#: ../NEWS:29190 -msgid "" -":issue:`38982`: Fix asyncio ``PidfdChildWatcher``: handle ``waitpid()`` " -"error. If ``waitpid()`` is called elsewhere, ``waitpid()`` call fails with " -":exc:`ChildProcessError`: use return code 255 in this case, and log a " -"warning. It ensures that the pidfd file descriptor is closed if this error " -"occurs." -msgstr "" - -#: ../NEWS:29196 -msgid "" -":issue:`38529`: Drop too noisy asyncio warning about deletion of a stream " -"without explicit ``.close()`` call." -msgstr "" - -#: ../NEWS:29199 -msgid "" -":issue:`27413`: Added ability to pass through ``ensure_ascii`` options to " -"json.dumps in the ``json.tool`` command-line interface." -msgstr "" - -#: ../NEWS:29202 -msgid "" -":issue:`38634`: The :mod:`readline` module now detects if Python is linked " -"to libedit at runtime on all platforms. Previously, the check was only done" -" on macOS." -msgstr "" - -#: ../NEWS:29206 -msgid "" -":issue:`33684`: Fix ``json.tool`` failed to read a JSON file with non-ASCII " -"characters when locale encoding is not UTF-8." -msgstr "" - -#: ../NEWS:29209 -msgid "" -":issue:`38698`: Prevent UnboundLocalError to pop up in parse_message_id." -msgstr "" - -#: ../NEWS:29211 -msgid "" -"parse_message_id() was improperly using a token defined inside an exception " -"handler, which was raising ``UnboundLocalError`` on parsing an invalid " -"value. Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:29215 -msgid "" -":issue:`38927`: Use ``python -m pip`` instead of ``pip`` to upgrade " -"dependencies in venv." -msgstr "" - -#: ../NEWS:29218 -msgid "" -":issue:`26730`: Fix ``SpooledTemporaryFile.rollover()`` might corrupt the " -"file when it is in text mode. Patch by Serhiy Storchaka." -msgstr "" - -#: ../NEWS:29221 -msgid "" -":issue:`38881`: random.choices() now raises a ValueError when all the " -"weights are zero." -msgstr "" - -#: ../NEWS:29224 -msgid "" -":issue:`38876`: Raise pickle.UnpicklingError when loading an item from memo " -"for invalid input." -msgstr "" - -#: ../NEWS:29227 -msgid "" -"The previous code was raising a ``KeyError`` for both the Python and C " -"implementation. This was caused by the specified index of an invalid input " -"which did not exist in the memo structure, where the pickle stores what " -"objects it has seen. The malformed input would have caused either a " -"``BINGET`` or ``LONG_BINGET`` load from the memo, leading to a ``KeyError`` " -"as the determined index was bogus. Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:29234 -msgid "" -":issue:`38688`: Calling func:``shutil.copytree`` to copy a directory tree " -"from one directory to another subdirectory resulted in an endless loop and a" -" RecursionError. A fix was added to consume an iterator and create the list " -"of the entries to be copied, avoiding the recursion for newly created " -"directories. Patch by Bruno P. Kinoshita." -msgstr "" - -#: ../NEWS:29240 -msgid "" -":issue:`38863`: Improve :func:`is_cgi` function in :mod:`http.server`, which" -" enables processing the case that cgi directory is a child of another " -"directory other than root." -msgstr "" - -#: ../NEWS:29244 -msgid "" -":issue:`37838`: :meth:`typing.get_type_hints` properly handles functions " -"decorated with :meth:`functools.wraps`." -msgstr "" - -#: ../NEWS:29247 -msgid "" -":issue:`38870`: Expose :func:`ast.unparse` as a function of the :mod:`ast` " -"module that can be used to unparse an :class:`ast.AST` object and produce a " -"string with code that would produce an equivalent :class:`ast.AST` object " -"when parsed. Patch by Pablo Galindo and Batuhan Taskaya." -msgstr "" - -#: ../NEWS:29252 -msgid "" -":issue:`38859`: AsyncMock now returns StopAsyncIteration on the exhaustion " -"of a side_effects iterable. Since PEP-479 its Impossible to raise a " -"StopIteration exception from a coroutine." -msgstr "" - -#: ../NEWS:29256 -msgid "" -":issue:`38857`: AsyncMock fix for return values that are awaitable types. " -"This also covers side_effect iterable values that happened to be awaitable, " -"and wraps callables that return an awaitable type. Before these awaitables " -"were being awaited instead of being returned as is." -msgstr "" - -#: ../NEWS:29261 -msgid "" -":issue:`38834`: :class:`typing.TypedDict` subclasses now track which keys " -"are optional using the ``__required_keys__`` and ``__optional_keys__`` " -"attributes, to enable runtime validation by downstream projects. Patch by " -"Zac Hatfield-Dodds." -msgstr "" - -#: ../NEWS:29266 -msgid "" -":issue:`38821`: Fix unhandled exceptions in :mod:`argparse` when " -"internationalizing error messages for arguments with ``nargs`` set to " -"special (non-integer) values. Patch by Federico Bond." -msgstr "" - -#: ../NEWS:29270 -msgid "" -":issue:`38820`: Make Python compatible with OpenSSL 3.0.0. " -":func:`ssl.SSLSocket.getpeercert` no longer returns IPv6 addresses with a " -"trailing new line." -msgstr "" - -#: ../NEWS:29274 -msgid "" -":issue:`38811`: Fix an unhandled exception in :mod:`pathlib` when " -":meth:`os.link` is missing. Patch by Toke Høiland-Jørgensen." -msgstr "" - -#: ../NEWS:29277 -msgid "" -":issue:`38686`: Added support for multiple ``qop`` values in " -":class:`urllib.request.AbstractDigestAuthHandler`." -msgstr "" - -#: ../NEWS:29280 -msgid "" -":issue:`38712`: Add the Linux-specific :func:`signal.pidfd_send_signal` " -"function, which allows sending a signal to a process identified by a file " -"descriptor rather than a pid." -msgstr "" - -#: ../NEWS:29284 -msgid "" -":issue:`38348`: Add ``-i`` and ``--indent`` (indentation level), and ``--no-" -"type-comments`` (type comments) command line options to ast parsing tool." -msgstr "" - -#: ../NEWS:29288 -msgid "" -":issue:`37523`: Change :class:`zipfile.ZipExtFile` to raise ``ValueError`` " -"when trying to access the underlying file object after it has been closed. " -"This new behavior is consistent with how accessing closed files is handled " -"in other parts of Python." -msgstr "" - -#: ../NEWS:29293 -msgid "" -":issue:`38045`: Improve the performance of :func:`enum._decompose` in " -":mod:`enum`. Patch by hongweipeng." -msgstr "" - -#: ../NEWS:29296 -msgid "" -":issue:`36820`: Break cycle generated when saving an exception in socket.py," -" codeop.py and dyld.py as they keep alive not only the exception but user " -"objects through the ``__traceback__`` attribute. Patch by Mario Corchero." -msgstr "" - -#: ../NEWS:29300 -msgid "" -":issue:`36406`: Handle namespace packages in :mod:`doctest`. Patch by " -"Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:29303 -msgid "" -":issue:`34776`: Fix dataclasses to support forward references in type " -"annotations" -msgstr "" - -#: ../NEWS:29306 -msgid "" -":issue:`20928`: ElementTree supports recursive XInclude processing. Patch " -"by Stefan Behnel." -msgstr "" - -#: ../NEWS:29309 -msgid "" -":issue:`29636`: Add whitespace options for formatting JSON with the " -"``json.tool`` CLI. The following mutually exclusive options are now " -"supported: ``--indent`` for setting the indent level in spaces; ``--tab`` " -"for indenting with tabs; ``--no-indent`` for suppressing newlines; and " -"``--compact`` for suppressing all whitespace. The default behavior remains " -"the same as ``--indent=4``." -msgstr "" - -#: ../NEWS:29319 -msgid "" -":issue:`38928`: Correct when venv's ``upgrade_dependencies()`` and " -"``--upgrade-deps`` are added." -msgstr "" - -#: ../NEWS:29322 -msgid "" -":issue:`38899`: Update documentation to state that to activate virtual " -"environments under fish one should use ``source``, not ``.`` as documented " -"at https://fishshell.com/docs/current/cmds/source.html." -msgstr "" - -#: ../NEWS:29326 -msgid "" -":issue:`22377`: Improves documentation of the values that " -":meth:`datetime.datetime.strptime` accepts for ``%Z``. Patch by Karl Dubost." -msgstr "" - -#: ../NEWS:29333 -msgid "" -":issue:`38546`: Fix test_ressources_gced_in_workers() of " -"test_concurrent_futures: explicitly stop the manager to prevent leaking a " -"child process running in the background after the test completes." -msgstr "" - -#: ../NEWS:29337 -msgid "" -":issue:`38546`: Multiprocessing and concurrent.futures tests now stop the " -"resource tracker process when tests complete." -msgstr "" - -#: ../NEWS:29340 -msgid "" -":issue:`38614`: Replace hardcoded timeout constants in tests with new " -":mod:`test.support` constants: :data:`~test.support.LOOPBACK_TIMEOUT`, " -":data:`~test.support.INTERNET_TIMEOUT`, :data:`~test.support.SHORT_TIMEOUT` " -"and :data:`~test.support.LONG_TIMEOUT`. It becomes easier to adjust these " -"four timeout constants for all tests at once, rather than having to adjust " -"every single test file." -msgstr "" - -#: ../NEWS:29348 -msgid "" -":issue:`38547`: Fix test_pty: if the process is the session leader, closing " -"the master file descriptor raises a SIGHUP signal: simply ignore SIGHUP when" -" running the tests." -msgstr "" - -#: ../NEWS:29352 -msgid "" -":issue:`38992`: Fix a test for :func:`math.fsum` that was failing due to " -"constant folding." -msgstr "" - -#: ../NEWS:29355 -msgid "" -":issue:`38991`: :mod:`test.support`: " -":func:`~test.support.run_python_until_end`, " -":func:`~test.support.assert_python_ok` and " -":func:`~test.support.assert_python_failure` functions no longer strip " -"whitespaces from stderr. Remove ``test.support.strip_python_stderr()`` " -"function." -msgstr "" - -#: ../NEWS:29362 -msgid "" -":issue:`38965`: Fix test_faulthandler on GCC 10. Use the \"volatile\" " -"keyword in ``faulthandler._stack_overflow()`` to prevent tail call " -"optimization on any compiler, rather than relying on compiler specific " -"pragma." -msgstr "" - -#: ../NEWS:29366 -msgid "" -":issue:`38875`: test_capi: trashcan tests now require the test \"cpu\" " -"resource." -msgstr "" - -#: ../NEWS:29368 -msgid "" -":issue:`38841`: Skip asyncio " -"test_create_datagram_endpoint_existing_sock_unix on platforms lacking a " -"functional bind() for named unix domain sockets." -msgstr "" - -#: ../NEWS:29371 -msgid "" -":issue:`38692`: Skip the test_posix.test_pidfd_open() test if " -"``os.pidfd_open()`` fails with a :exc:`PermissionError`. This situation can " -"happen in a Linux sandbox using a syscall whitelist which doesn't allow the " -"``pidfd_open()`` syscall yet." -msgstr "" - -#: ../NEWS:29376 -msgid "" -":issue:`38839`: Fix some unused functions in tests. Patch by Adam Johnson." -msgstr "" - -#: ../NEWS:29378 -msgid "" -":issue:`38669`: Raise :exc:`TypeError` when passing target as a string with " -":meth:`unittest.mock.patch.object`." -msgstr "" - -#: ../NEWS:29381 -msgid "" -":issue:`37957`: test.regrtest now can receive a list of test patterns to " -"ignore (using the -i/--ignore argument) or a file with a list of patterns to" -" ignore (using the --ignore-file argument). Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:29388 -msgid "" -":issue:`37404`: :mod:`asyncio` now raises :exc:`TypeError` when calling " -"incompatible methods with an :class:`ssl.SSLSocket` socket. Patch by Ido " -"Michael." -msgstr "" - -#: ../NEWS:29392 -msgid "" -":issue:`36500`: Added an optional \"regen\" project to the Visual Studio " -"solution that will regenerate all grammar, tokens, and opcodes." -msgstr "" - -#: ../NEWS:29398 -msgid ":issue:`39007`: Add auditing events to functions in :mod:`winreg`." -msgstr "" - -#: ../NEWS:29400 -msgid "" -":issue:`33125`: Add support for building and releasing Windows ARM64 " -"packages." -msgstr "" - -#: ../NEWS:29405 -msgid "" -":issue:`37931`: Fixed a crash on OSX dynamic builds that occurred when re-" -"initializing the posix module after a Py_Finalize if the environment had " -"changed since the previous ``import posix``. Patch by Benoît Hudson." -msgstr "" - -#: ../NEWS:29412 -msgid "" -":issue:`38944`: Escape key now closes IDLE completion windows. Patch by " -"Johnny Najera." -msgstr "" - -#: ../NEWS:29415 -msgid "" -":issue:`38943`: Fix IDLE autocomplete windows not always appearing on some " -"systems. Patch by Johnny Najera." -msgstr "" - -#: ../NEWS:29418 -msgid "" -":issue:`38862`: 'Strip Trailing Whitespace' on the Format menu removes extra" -" newlines at the end of non-shell files." -msgstr "" - -#: ../NEWS:29421 -msgid "" -":issue:`38636`: Fix IDLE Format menu tab toggle and file indent width. These" -" functions (default shortcuts Alt-T and Alt-U) were mistakenly disabled in " -"3.7.5 and 3.8.0." -msgstr "" - -#: ../NEWS:29428 -msgid "" -":issue:`38896`: Remove ``PyUnicode_ClearFreeList()`` function: the Unicode " -"free list has been removed in Python 3.3." -msgstr "" - -#: ../NEWS:29431 -msgid "" -":issue:`37340`: Remove ``PyMethod_ClearFreeList()`` and " -"``PyCFunction_ClearFreeList()`` functions: the free lists of bound method " -"objects have been removed." -msgstr "" - -#: ../NEWS:29435 -msgid "" -":issue:`38835`: Exclude ``PyFPE_START_PROTECT()`` and " -"``PyFPE_END_PROTECT()`` macros of ``pyfpe.h`` from ``Py_LIMITED_API`` " -"(stable API)." -msgstr "" - -#: ../NEWS:29440 -msgid "Python 3.9.0 alpha 1" -msgstr "Python 3.9.0 alfa 1" - -#: ../NEWS:29442 -msgid "*Release date: 2019-11-19*" -msgstr "*Tanggal rilis: 2019-11-19*" - -#: ../NEWS:29447 -msgid "" -":issue:`38722`: :mod:`runpy` now uses :meth:`io.open_code` to open code " -"files. Patch by Jason Killen." -msgstr "" - -#: ../NEWS:29450 -msgid "" -":issue:`38622`: Add additional audit events for the :mod:`ctypes` module." -msgstr "" - -#: ../NEWS:29452 -msgid "" -":issue:`38418`: Fixes audit event for :func:`os.system` to be named " -"``os.system``." -msgstr "" - -#: ../NEWS:29455 -msgid "" -":issue:`38243`: Escape the server title of " -":class:`xmlrpc.server.DocXMLRPCServer` when rendering the document page as " -"HTML. (Contributed by Donghee Na in :issue:`38243`.)" -msgstr "" - -#: ../NEWS:29459 -msgid "" -":issue:`38174`: Update vendorized expat library version to 2.2.8, which " -"resolves :cve:`2019-15903`." -msgstr "" - -#: ../NEWS:29462 -msgid "" -":issue:`37764`: Fixes email._header_value_parser.get_unstructured going into" -" an infinite loop for a specific case in which the email header does not " -"have trailing whitespace, and the case in which it contains an invalid " -"encoded word. Patch by Ashwin Ramaswami." -msgstr "" - -#: ../NEWS:29467 -msgid "" -":issue:`37461`: Fix an infinite loop when parsing specially crafted email " -"headers. Patch by Abhilash Raj." -msgstr "" - -#: ../NEWS:29470 -msgid "" -":issue:`37363`: Adds audit events for the range of supported run commands " -"(see :ref:`using-on-general`)." -msgstr "" - -#: ../NEWS:29473 -msgid "" -":issue:`37463`: ssl.match_hostname() no longer accepts IPv4 addresses with " -"additional text after the address and only quad-dotted notation without " -"trailing whitespaces. Some inet_aton() implementations ignore whitespace and" -" all data after whitespace, e.g. '127.0.0.1 whatever'." -msgstr "" - -#: ../NEWS:29478 -msgid "" -":issue:`37363`: Adds audit events for :mod:`ensurepip`, :mod:`ftplib`, " -":mod:`glob`, :mod:`imaplib`, :mod:`!nntplib`, :mod:`pdb`, :mod:`poplib`, " -":mod:`shutil`, :mod:`smtplib`, :mod:`sqlite3`, :mod:`subprocess`, " -":mod:`!telnetlib`, :mod:`tempfile` and :mod:`webbrowser`, as well as " -":func:`os.listdir`, :func:`os.scandir` and :func:`breakpoint`." -msgstr "" - -#: ../NEWS:29484 -msgid "" -":issue:`37364`: :func:`io.open_code` is now used when reading :file:`.pth` " -"files." -msgstr "" - -#: ../NEWS:29487 -msgid ":issue:`34631`: Updated OpenSSL to 1.1.1c in Windows installer" -msgstr "" - -#: ../NEWS:29489 -msgid "" -":issue:`34155`: Fix parsing of invalid email addresses with more than one " -"``@`` (e.g. a@b@c.com.) to not return the part before 2nd ``@`` as valid " -"email address. Patch by maxking & jpic." -msgstr "" - -#: ../NEWS:29496 -msgid "" -":issue:`38631`: Replace ``Py_FatalError()`` call with a regular " -":exc:`RuntimeError` exception in :meth:`float.__getformat__`." -msgstr "" - -#: ../NEWS:29499 -msgid "" -":issue:`38639`: Optimized :func:`math.floor`, :func:`math.ceil` and " -":func:`math.trunc` for floats." -msgstr "" - -#: ../NEWS:29502 -msgid "" -":issue:`38640`: Fixed a bug in the compiler that was causing to raise in the" -" presence of break statements and continue statements inside always false " -"while loops. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:29506 -msgid "" -":issue:`38613`: Optimized some set operations (e.g. ``|``, ``^``, and ``-``)" -" of ``dict_keys``. ``d.keys() | other`` was slower than ``set(d) | other`` " -"but they are almost same performance for now." -msgstr "" - -#: ../NEWS:29510 -msgid "" -":issue:`28029`: ``\"\".replace(\"\", s, n)`` now returns ``s`` instead of an" -" empty string for all non-zero ``n``. There are similar changes for " -":class:`bytes` and :class:`bytearray` objects." -msgstr "" - -#: ../NEWS:29514 -msgid "" -":issue:`38535`: Fixed line numbers and column offsets for AST nodes for " -"calls without arguments in decorators." -msgstr "" - -#: ../NEWS:29517 -msgid "" -":issue:`38525`: Fix a segmentation fault when using reverse iterators of " -"empty ``dict`` objects. Patch by Donghee Na and Inada Naoki." -msgstr "" - -#: ../NEWS:29520 -msgid "" -":issue:`38465`: :class:`bytearray`, :class:`~array.array` and " -":class:`~mmap.mmap` objects allow now to export more than ``2**31`` buffers " -"at a time." -msgstr "" - -#: ../NEWS:29524 -msgid "" -":issue:`38469`: Fixed a bug where the scope of named expressions was not " -"being resolved correctly in the presence of the *global* keyword. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../NEWS:29528 -msgid "" -":issue:`38437`: Activate the ``GC_DEBUG`` macro for debug builds of the " -"interpreter (when ``Py_DEBUG`` is set). Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:29531 -msgid "" -":issue:`38379`: When the garbage collector makes a collection in which some " -"objects resurrect (they are reachable from outside the isolated cycles after" -" the finalizers have been executed), do not block the collection of all " -"objects that are still unreachable. Patch by Pablo Galindo and Tim Peters." -msgstr "" - -#: ../NEWS:29537 -msgid "" -":issue:`38379`: When cyclic garbage collection (gc) runs finalizers that " -"resurrect unreachable objects, the current gc run ends, without collecting " -"any cyclic trash. However, the statistics reported by ``collect()`` and " -"``get_stats()`` claimed that all cyclic trash found was collected, and that " -"the resurrected objects were collected. Changed the stats to report that " -"none were collected." -msgstr "" - -#: ../NEWS:29544 -msgid "" -":issue:`38392`: In debug mode, :c:func:`PyObject_GC_Track` now calls " -"``tp_traverse()`` of the object type to ensure that the object is valid: " -"test that objects visited by ``tp_traverse()`` are valid." -msgstr "" - -#: ../NEWS:29548 -msgid "" -":issue:`38210`: Remove unnecessary intersection and update set operation in " -"dictview with empty set. (Contributed by Donghee Na in :issue:`38210`.)" -msgstr "" - -#: ../NEWS:29551 -msgid "" -":issue:`38402`: Check the error from the system's underlying ``crypt`` or " -"``crypt_r``." -msgstr "" - -#: ../NEWS:29554 -msgid "" -":issue:`37474`: On FreeBSD, Python no longer calls ``fedisableexcept()`` at " -"startup to control the floating-point control mode. The call became useless " -"since FreeBSD 6: it became the default mode." -msgstr "" - -#: ../NEWS:29558 -msgid "" -":issue:`38006`: Fix a bug due to the interaction of weakrefs and the cyclic " -"garbage collector. We must clear any weakrefs in garbage in order to prevent" -" their callbacks from executing and causing a crash." -msgstr "" - -#: ../NEWS:29562 -msgid "" -":issue:`38317`: Fix warnings options priority: ``PyConfig.warnoptions`` has " -"the highest priority, as stated in the :pep:`587`." -msgstr "" - -#: ../NEWS:29565 -msgid "" -":issue:`38310`: Predict ``BUILD_MAP_UNPACK_WITH_CALL`` -> " -"``CALL_FUNCTION_EX`` opcode pairs in the main interpreter loop. Patch by " -"Brandt Bucher." -msgstr "" - -#: ../NEWS:29568 -msgid "" -":issue:`36871`: Improve error handling for the assert_has_calls and " -"assert_has_awaits methods of mocks. Fixed a bug where any errors encountered" -" while binding the expected calls to the mock's spec were silently " -"swallowed, leading to misleading error output." -msgstr "" - -#: ../NEWS:29573 -msgid "" -":issue:`11410`: Better control over symbol visibility is provided through " -"use of the visibility attributes available in gcc >= 4.0, provided in a " -"uniform way across POSIX and Windows. The POSIX build files have been " -"updated to compile with -fvisibility=hidden, minimising exported symbols." -msgstr "" - -#: ../NEWS:29578 -msgid "" -":issue:`38219`: Optimized the :class:`dict` constructor and the " -":meth:`~dict.update` method for the case when the argument is a dict." -msgstr "" - -#: ../NEWS:29581 -msgid "" -":issue:`38236`: Python now dumps path configuration if it fails to import " -"the Python codecs of the filesystem and stdio encodings." -msgstr "" - -#: ../NEWS:29584 -msgid "" -":issue:`38013`: Allow to call ``async_generator_athrow().throw(...)`` even " -"for non-started async generator helper. It fixes annoying warning at the end" -" of :func:`asyncio.run` call." -msgstr "" - -#: ../NEWS:29588 -msgid "" -":issue:`38124`: Fix an off-by-one error in PyState_AddModule that could " -"cause out-of-bounds memory access." -msgstr "" - -#: ../NEWS:29591 -msgid "" -":issue:`38116`: The select module is now PEP-384 compliant and no longer has" -" static state" -msgstr "" - -#: ../NEWS:29594 -msgid ":issue:`38113`: ast module updated to PEP-384 and all statics removed" -msgstr "" - -#: ../NEWS:29596 -msgid ":issue:`38076`: The struct module is now PEP-384 compatible" -msgstr "" - -#: ../NEWS:29598 -msgid ":issue:`38075`: The random module is now PEP-384 compatible" -msgstr "" - -#: ../NEWS:29600 -msgid ":issue:`38074`: zlib module made PEP-384 compatible" -msgstr "" - -#: ../NEWS:29602 -msgid ":issue:`38073`: Make pwd extension module PEP-384 compatible" -msgstr "" - -#: ../NEWS:29604 -msgid ":issue:`38072`: grp module made PEP-384 compatible" -msgstr "" - -#: ../NEWS:29606 -msgid ":issue:`38069`: Make _posixsubprocess PEP-384 compatible" -msgstr "" - -#: ../NEWS:29608 -msgid ":issue:`38071`: Make termios extension module PEP-384 compatible" -msgstr "" - -#: ../NEWS:29610 -msgid "" -":issue:`38005`: Fixed comparing and creating of InterpreterID and ChannelID." -msgstr "" - -#: ../NEWS:29612 -msgid "" -":issue:`36946`: Fix possible signed integer overflow when handling slices. " -"Patch by hongweipeng." -msgstr "" - -#: ../NEWS:29615 -msgid "" -":issue:`37994`: Fixed silencing arbitrary errors if an attribute lookup " -"fails in several sites. Only AttributeError should be silenced." -msgstr "" - -#: ../NEWS:29618 -msgid "" -":issue:`8425`: Optimize set difference_update for the case when the other " -"set is much larger than the base set. (Suggested by Evgeny Kapun with code " -"contributed by Michele Orrù)." -msgstr "" - -#: ../NEWS:29622 -msgid "" -":issue:`37966`: The implementation of :func:`~unicodedata.is_normalized` has" -" been greatly sped up on strings that aren't normalized, by implementing the" -" full normalization-quick-check algorithm from the Unicode standard." -msgstr "" - -#: ../NEWS:29626 -msgid "" -":issue:`37947`: Adjust correctly the recursion level in the symtable " -"generation for named expressions. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:29629 -msgid "" -":issue:`37812`: The ``CHECK_SMALL_INT`` macro used inside " -":file:`Object/longobject.c` has been replaced with an explicit ``return`` at" -" each call site." -msgstr "" - -#: ../NEWS:29633 -msgid "" -":issue:`37751`: Fix :func:`codecs.lookup` to normalize the encoding name the" -" same way than :func:`encodings.normalize_encoding`, except that " -":func:`codecs.lookup` also converts the name to lower case." -msgstr "" - -#: ../NEWS:29637 -msgid "" -":issue:`37830`: Fixed compilation of :keyword:`break` and " -":keyword:`continue` in the :keyword:`finally` block when the corresponding " -":keyword:`try` block contains :keyword:`return` with a non-constant value." -msgstr "" - -#: ../NEWS:29641 -msgid "" -":issue:`20490`: Improve import error message for partially initialized " -"module on circular ``from`` imports - by Anthony Sottile." -msgstr "" - -#: ../NEWS:29644 -msgid "" -":issue:`37840`: Fix handling of negative indices in " -":c:member:`~PySequenceMethods.sq_item` of :class:`bytearray`. Patch by " -"Sergey Fedoseev." -msgstr "" - -#: ../NEWS:29648 -msgid "" -":issue:`37802`: Slightly improve performance of " -":c:func:`PyLong_FromUnsignedLong`, :c:func:`PyLong_FromUnsignedLongLong` and" -" :c:func:`PyLong_FromSize_t`. Patch by Sergey Fedoseev." -msgstr "" - -#: ../NEWS:29652 -msgid "" -":issue:`37409`: Ensure explicit relative imports from interactive sessions " -"and scripts (having no parent package) always raise ImportError, rather than" -" treating the current module as the package. Patch by Ben Lewis." -msgstr "" - -#: ../NEWS:29656 -msgid "" -":issue:`32912`: Reverted :issue:`32912`: emitting :exc:`SyntaxWarning` " -"instead of :exc:`DeprecationWarning` for invalid escape sequences in string " -"and bytes literals." -msgstr "" - -#: ../NEWS:29660 -msgid "" -":issue:`37757`: :pep:`572`: As described in the PEP, assignment expressions " -"now raise :exc:`SyntaxError` when their interaction with comprehension " -"scoping results in an ambiguous target scope." -msgstr "" - -#: ../NEWS:29664 -msgid "" -"The ``TargetScopeError`` subclass originally proposed by the PEP has been " -"removed in favour of just raising regular syntax errors for the disallowed " -"cases." -msgstr "" - -#: ../NEWS:29668 -msgid "" -":issue:`36279`: Fix potential use of uninitialized memory in " -":func:`os.wait3`." -msgstr "" - -#: ../NEWS:29670 -msgid "" -":issue:`36311`: Decoding bytes objects larger than 2GiB is faster and no " -"longer fails when a multibyte characters spans a chunk boundary." -msgstr "" - -#: ../NEWS:29673 -msgid "" -":issue:`34880`: The :keyword:`assert` statement now works properly if the " -":exc:`AssertionError` exception is being shadowed. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:29676 -msgid "" -":issue:`37340`: Removed object cache (``free_list``) for bound method " -"objects. Temporary bound method objects are less used than before thanks to " -"the ``LOAD_METHOD`` opcode and the ``_PyObject_VectorcallMethod`` C API." -msgstr "" - -#: ../NEWS:29680 -msgid "" -":issue:`37648`: Fixed minor inconsistency in :meth:`list.__contains__`, " -":meth:`tuple.__contains__` and a few other places. The collection's item is " -"now always at the left and the needle is on the right of ``==``." -msgstr "" - -#: ../NEWS:29684 -msgid "" -":issue:`37444`: Update differing exception between " -":meth:`builtins.__import__` and :meth:`importlib.__import__`." -msgstr "" - -#: ../NEWS:29687 -msgid "" -":issue:`37619`: When adding a wrapper descriptor from one class to a " -"different class (for example, setting ``__add__ = str.__add__`` on an " -"``int`` subclass), an exception is correctly raised when the operator is " -"called." -msgstr "" - -#: ../NEWS:29691 -msgid "" -":issue:`37593`: Swap the positions of the *posonlyargs* and *args* " -"parameters in the constructor of :class:`ast.parameters` nodes." -msgstr "" - -#: ../NEWS:29694 -msgid ":issue:`37543`: Optimized pymalloc for non PGO build." -msgstr "" - -#: ../NEWS:29696 -msgid "" -":issue:`37537`: Compute allocated pymalloc blocks inside " -"_Py_GetAllocatedBlocks(). This slows down _Py_GetAllocatedBlocks() but " -"gives a small speedup to _PyObject_Malloc() and _PyObject_Free()." -msgstr "" - -#: ../NEWS:29700 -msgid "" -":issue:`37467`: Fix :func:`sys.excepthook` and :c:func:`PyErr_Display` if a " -"filename is a bytes string. For example, for a SyntaxError exception where " -"the filename attribute is a bytes string." -msgstr "" - -#: ../NEWS:29704 -msgid "" -":issue:`37433`: Fix ``SyntaxError`` indicator printing too many spaces for " -"multi-line strings - by Anthony Sottile." -msgstr "" - -#: ../NEWS:29707 -msgid "" -":issue:`37417`: :meth:`bytearray.extend` now correctly handles errors that " -"arise during iteration. Patch by Brandt Bucher." -msgstr "" - -#: ../NEWS:29710 -msgid "" -":issue:`37414`: The undocumented ``sys.callstats()`` function has been " -"removed. Since Python 3.7, it was deprecated and always returned ``None``. " -"It required a special build option ``CALL_PROFILE`` which was already " -"removed in Python 3.7." -msgstr "" - -#: ../NEWS:29715 -msgid "" -":issue:`37392`: Remove ``sys.getcheckinterval()`` and " -"``sys.setcheckinterval()`` functions. They were deprecated since Python 3.2." -" Use :func:`sys.getswitchinterval` and :func:`sys.setswitchinterval` " -"instead. Remove also ``check_interval`` field of the ``PyInterpreterState`` " -"structure." -msgstr "" - -#: ../NEWS:29721 -msgid "" -":issue:`37388`: In development mode and in debug build, *encoding* and " -"*errors* arguments are now checked on string encoding and decoding " -"operations. Examples: :func:`open`, :meth:`str.encode` and " -":meth:`bytes.decode`." -msgstr "" - -#: ../NEWS:29725 -msgid "" -"By default, for best performances, the *errors* argument is only checked at " -"the first encoding/decoding error, and the *encoding* argument is sometimes " -"ignored for empty strings." -msgstr "" - -#: ../NEWS:29729 -msgid "" -":issue:`37348`: Optimized decoding short ASCII string with UTF-8 and ascii " -"codecs. ``b\"foo\".decode()`` is about 15% faster. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:29732 -msgid "" -":issue:`24214`: Improved support of the surrogatepass error handler in the " -"UTF-8 and UTF-16 incremental decoders." -msgstr "" - -#: ../NEWS:29735 -msgid "" -":issue:`37330`: :func:`open`, :func:`io.open`, :func:`codecs.open` and " -":class:`fileinput.FileInput` no longer accept ``'U'`` (\"universal " -"newline\") in the file mode. This flag was deprecated since Python 3.3." -msgstr "" - -#: ../NEWS:29739 -msgid "" -":issue:`35224`: Reverse evaluation order of key: value in dict " -"comprehensions as proposed in PEP 572. I.e. in ``{k: v for ...}``, ``k`` " -"will be evaluated before ``v``." -msgstr "" - -#: ../NEWS:29743 -msgid "" -":issue:`37316`: Fix the :c:func:`PySys_Audit` call in :class:`mmap.mmap`." -msgstr "" - -#: ../NEWS:29745 -msgid ":issue:`37300`: Remove an unnecessary Py_XINCREF in classobject.c." -msgstr "" - -#: ../NEWS:29747 -msgid "" -":issue:`37269`: Fix a bug in the peephole optimizer that was not treating " -"correctly constant conditions with binary operators. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:29751 -msgid "" -":issue:`20443`: Python now gets the absolute path of the script filename " -"specified on the command line (ex: \"python3 script.py\"): the __file__ " -"attribute of the __main__ module and sys.path[0] become an absolute path, " -"rather than a relative path." -msgstr "" - -#: ../NEWS:29756 -msgid "" -":issue:`37257`: Python's small object allocator (``obmalloc.c``) now allows " -"(no more than) one empty arena to remain available for immediate reuse, " -"without returning it to the OS. This prevents thrashing in simple loops " -"where an arena could be created and destroyed anew on each iteration." -msgstr "" - -#: ../NEWS:29761 -msgid "" -":issue:`37231`: The dispatching of type slots to special methods (for " -"example calling ``__mul__`` when doing ``x * y``) has been made faster." -msgstr "" - -#: ../NEWS:29764 -msgid "" -":issue:`36974`: Implemented separate vectorcall functions for every calling " -"convention of builtin functions and methods. This improves performance for " -"calls." -msgstr "" - -#: ../NEWS:29768 -msgid "" -":issue:`37213`: Handle correctly negative line offsets in the peephole " -"optimizer. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:29771 -msgid "" -":issue:`37219`: Remove erroneous optimization for empty set differences." -msgstr "" - -#: ../NEWS:29773 -msgid "" -":issue:`15913`: Implement :c:func:`PyBuffer_SizeFromFormat()` function " -"(previously documented but not implemented): call :func:`struct.calcsize`. " -"Patch by Joannah Nanjekye." -msgstr "" - -#: ../NEWS:29777 -msgid "" -":issue:`36922`: Slot functions optimize any callable with " -"``Py_TPFLAGS_METHOD_DESCRIPTOR`` instead of only instances of ``function``." -msgstr "" - -#: ../NEWS:29781 -msgid "" -":issue:`36974`: The slot ``tp_vectorcall_offset`` is inherited " -"unconditionally to support ``super().__call__()`` when the base class uses " -"vectorcall." -msgstr "" - -#: ../NEWS:29784 -msgid "" -":issue:`37160`: :func:`threading.get_native_id` now also supports NetBSD." -msgstr "" - -#: ../NEWS:29786 -msgid "" -":issue:`37077`: Add :func:`threading.get_native_id` support for AIX. Patch " -"by M. Felt" -msgstr "" - -#: ../NEWS:29789 -msgid ":issue:`36781`: :func:`sum` has been optimized for boolean values." -msgstr "" - -#: ../NEWS:29791 -msgid "" -":issue:`34556`: Add ``--upgrade-deps`` to venv module. Patch by Cooper Ry " -"Lees" -msgstr "" - -#: ../NEWS:29793 -msgid "" -":issue:`20523`: ``pdb.Pdb`` supports ~/.pdbrc in Windows 7. Patch by Tim " -"Hopper and Dan Lidral-Porter." -msgstr "" - -#: ../NEWS:29796 -msgid "" -":issue:`35551`: Updated encodings: - Removed the \"tis260\" encoding, which " -"was an alias for the nonexistent \"tactis\" codec. - Added \"mac_centeuro\" " -"as an alias for the mac_latin2 encoding." -msgstr "" - -#: ../NEWS:29800 -msgid "" -":issue:`19072`: The :class:`classmethod` decorator can now wrap other " -"descriptors such as property objects. Adapted from a patch written by " -"Graham Dumpleton." -msgstr "" - -#: ../NEWS:29804 -msgid "" -":issue:`27575`: Improve speed of dictview intersection by directly using set" -" intersection logic. Patch by David Su." -msgstr "" - -#: ../NEWS:29807 -msgid "" -":issue:`30773`: Prohibit parallel running of aclose() / asend() / athrow(). " -"Fix ag_running to reflect the actual running status of the AG." -msgstr "" - -#: ../NEWS:29813 -msgid "" -":issue:`36589`: The :func:`curses.update_lines_cols` function now returns " -"``None`` instead of ``1`` on success." -msgstr "" - -#: ../NEWS:29816 -msgid "" -":issue:`38807`: Update :exc:`TypeError` messages for :meth:`os.path.join` to" -" include :class:`os.PathLike` objects as acceptable input types." -msgstr "" - -#: ../NEWS:29819 -msgid "" -":issue:`38724`: Add a repr for ``subprocess.Popen`` objects. Patch by Andrey" -" Doroschenko." -msgstr "" - -#: ../NEWS:29822 -msgid "" -":issue:`38786`: pydoc now recognizes and parses HTTPS URLs. Patch by " -"python273." -msgstr "" - -#: ../NEWS:29824 -msgid "" -":issue:`38785`: Prevent asyncio from crashing if parent ``__init__`` is not " -"called from a constructor of object derived from ``asyncio.Future``." -msgstr "" - -#: ../NEWS:29827 -msgid "" -":issue:`38723`: :mod:`pdb` now uses :meth:`io.open_code` to trigger auditing" -" events." -msgstr "" - -#: ../NEWS:29830 -msgid "" -":issue:`27805`: Allow opening pipes and other non-seekable files in append " -"mode with :func:`open`." -msgstr "" - -#: ../NEWS:29833 -msgid "" -":issue:`38438`: Simplify the :mod:`argparse` usage message for " -"``nargs=\"*\"``." -msgstr "" - -#: ../NEWS:29835 -msgid "" -":issue:`38761`: WeakSet is now registered as a collections.abc.MutableSet." -msgstr "" - -#: ../NEWS:29837 -msgid "" -":issue:`38716`: logging: change RotatingHandler namer and rotator to class-" -"level attributes. This stops __init__ from setting them to None in the case " -"where a subclass defines them with eponymous methods." -msgstr "" - -#: ../NEWS:29841 -msgid "" -":issue:`38713`: Add :const:`os.P_PIDFD` constant, which may be passed to " -":func:`os.waitid` to wait on a Linux process file descriptor." -msgstr "" - -#: ../NEWS:29844 -msgid "" -":issue:`38692`: Add :class:`asyncio.PidfdChildWatcher`, a Linux-specific " -"child watcher implementation that polls process file descriptors." -msgstr "" - -#: ../NEWS:29847 -msgid "" -":issue:`38692`: Expose the Linux ``pidfd_open`` syscall as " -":func:`os.pidfd_open`." -msgstr "" - -#: ../NEWS:29850 -msgid "" -":issue:`38602`: Added constants :const:`~fcntl.F_OFD_GETLK`, " -":const:`~fcntl.F_OFD_SETLK` and :const:`~fcntl.F_OFD_SETLKW` to the " -":mod:`fcntl` module. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:29854 -msgid "" -":issue:`38334`: Fixed seeking backward on an encrypted " -":class:`zipfile.ZipExtFile`." -msgstr "" - -#: ../NEWS:29857 -msgid "" -":issue:`38312`: Add :func:`curses.get_escdelay`, " -":func:`curses.set_escdelay`, :func:`curses.get_tabsize`, and " -":func:`curses.set_tabsize` functions - by Anthony Sottile." -msgstr "" - -#: ../NEWS:29861 -msgid "" -":issue:`38586`: Now :func:`~logging.config.fileConfig` correctly sets the " -".name of handlers loaded." -msgstr "" - -#: ../NEWS:29864 -msgid "" -":issue:`38565`: Add new cache_parameters() method for functools.lru_cache() " -"to better support pickling." -msgstr "" - -#: ../NEWS:29867 -msgid "" -":issue:`34679`: asynci.ProactorEventLoop.close() now only calls " -"signal.set_wakeup_fd() in the main thread." -msgstr "" - -#: ../NEWS:29870 -msgid "" -":issue:`31202`: The case the result of :func:`pathlib.WindowsPath.glob` " -"matches now the case of the pattern for literal parts." -msgstr "" - -#: ../NEWS:29873 -msgid "" -":issue:`36321`: Remove misspelled attribute. The 3.8 changelog noted that " -"this would be removed in 3.9." -msgstr "" - -#: ../NEWS:29876 -msgid "" -":issue:`38521`: Fixed erroneous equality comparison in " -"statistics.NormalDist()." -msgstr "" - -#: ../NEWS:29878 -msgid "" -":issue:`38493`: Added :const:`~os.CLD_KILLED` and :const:`~os.CLD_STOPPED` " -"for :attr:`si_code`. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:29881 -msgid "" -":issue:`38478`: Fixed a bug in :meth:`inspect.signature.bind` that was " -"causing it to fail when handling a keyword argument with same name as " -"positional-only parameter. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:29885 -msgid "" -":issue:`33604`: Fixed ``hmac.new`` and ``hmac.HMAC`` to raise TypeError " -"instead of ValueError when the digestmod parameter, now required in 3.8, is " -"omitted. Also clarified the hmac module documentation and docstrings." -msgstr "" - -#: ../NEWS:29889 -msgid "" -":issue:`38378`: Parameters *out* and *in* of :func:`os.sendfile` was renamed" -" to *out_fd* and *in_fd*." -msgstr "" - -#: ../NEWS:29892 -msgid "" -":issue:`38417`: Added support for setting the umask in the child process to " -"the subprocess module on POSIX systems." -msgstr "" - -#: ../NEWS:29895 -msgid "" -":issue:`38449`: Revert PR 15522, which introduces a regression in " -":meth:`mimetypes.guess_type` due to improper handling of filenames as urls." -msgstr "" - -#: ../NEWS:29899 -msgid "" -":issue:`38431`: Fix ``__repr__`` method for :class:`dataclasses.InitVar` to " -"support typing objects, patch by Samuel Colvin." -msgstr "" - -#: ../NEWS:29902 -msgid "" -":issue:`38109`: Add missing :const:`stat.S_IFDOOR`, :const:`stat.S_IFPORT`, " -":const:`stat.S_IFWHT`, :func:`stat.S_ISDOOR`, :func:`stat.S_ISPORT`, and " -":func:`stat.S_ISWHT` values to the Python implementation of :mod:`stat`." -msgstr "" - -#: ../NEWS:29906 -msgid ":issue:`38422`: Clarify docstrings of pathlib suffix(es)" -msgstr "" - -#: ../NEWS:29908 -msgid "" -":issue:`38405`: Nested subclasses of :class:`typing.NamedTuple` are now " -"pickleable." -msgstr "" - -#: ../NEWS:29911 -msgid "" -":issue:`38332`: Prevent :exc:`KeyError` thrown by " -":func:`!_encoded_words.decode` when given an encoded-word with invalid " -"content-type encoding from propagating all the way to " -":func:`email.message.get`." -msgstr "" - -#: ../NEWS:29916 -msgid "" -":issue:`38371`: Deprecated the ``split()`` method in " -":class:`!_tkinter.TkappType` in favour of the ``splitlist()`` method which " -"has more consistent and predictable behavior." -msgstr "" - -#: ../NEWS:29920 -msgid "" -":issue:`38341`: Add :exc:`smtplib.SMTPNotSupportedError` to the " -":mod:`smtplib` exported names." -msgstr "" - -#: ../NEWS:29923 -msgid "" -":issue:`38319`: sendfile() used in socket and shutil modules was raising " -"OverflowError for files >= 2GiB on 32-bit architectures. (patch by " -"Giampaolo Rodola)" -msgstr "" - -#: ../NEWS:29927 -msgid ":issue:`38242`: Revert the new asyncio Streams API" -msgstr "" - -#: ../NEWS:29929 -msgid "" -":issue:`13153`: OS native encoding is now used for converting between Python" -" strings and Tcl objects. This allows to display, copy and paste to " -"clipboard emoji and other non-BMP characters. Converting strings from Tcl " -"to Python and back now never fails (except MemoryError)." -msgstr "" - -#: ../NEWS:29934 -msgid "" -":issue:`38019`: Correctly handle pause/resume reading of closed asyncio unix" -" pipe." -msgstr "" - -#: ../NEWS:29937 -msgid "" -":issue:`38163`: Child mocks will now detect their type as either synchronous" -" or asynchronous, asynchronous child mocks will be AsyncMocks and " -"synchronous child mocks will be either MagicMock or Mock (depending on their" -" parent type)." -msgstr "" - -#: ../NEWS:29942 -msgid ":issue:`38161`: Removes _AwaitEvent from AsyncMock." -msgstr "" - -#: ../NEWS:29944 -msgid "" -":issue:`38216`: Allow the rare code that wants to send invalid http requests" -" from the ``http.client`` library a way to do so. The fixes for " -":issue:`30458` led to breakage for some projects that were relying on this " -"ability to test their own behavior in the face of bad requests." -msgstr "" - -#: ../NEWS:29949 -msgid "" -":issue:`28286`: Deprecate opening :class:`~gzip.GzipFile` for writing " -"implicitly. Always specify the *mode* argument for writing." -msgstr "" - -#: ../NEWS:29952 -msgid "" -":issue:`38108`: Any synchronous magic methods on an AsyncMock now return a " -"MagicMock. Any asynchronous magic methods on a MagicMock now return an " -"AsyncMock." -msgstr "" - -#: ../NEWS:29956 -msgid "" -":issue:`38265`: Update the *length* parameter of :func:`os.pread` to accept " -":c:type:`Py_ssize_t` instead of :c:expr:`int`." -msgstr "" - -#: ../NEWS:29959 -msgid "" -":issue:`38112`: :mod:`compileall` has a higher default recursion limit and " -"new command-line arguments for path manipulation, symlinks handling, and " -"multiple optimization levels." -msgstr "" - -#: ../NEWS:29963 -msgid ":issue:`38248`: asyncio: Fix inconsistent immediate Task cancellation" -msgstr "" - -#: ../NEWS:29965 -msgid "" -":issue:`38237`: The arguments for the builtin pow function are more " -"descriptive. They can now also be passed in as keywords." -msgstr "" - -#: ../NEWS:29968 -msgid "" -":issue:`34002`: Improve efficiency in parts of email package by changing " -"while-pop to a for loop, using isdisjoint instead of set intersections." -msgstr "" - -#: ../NEWS:29971 -msgid "" -":issue:`38191`: Constructors of :class:`~typing.NamedTuple` and " -":class:`~typing.TypedDict` types now accept arbitrary keyword argument " -"names, including \"cls\", \"self\", \"typename\", \"_typename\", \"fields\" " -"and \"_fields\"." -msgstr "" - -#: ../NEWS:29976 -msgid "" -":issue:`38155`: Add ``__all__`` to :mod:`datetime`. Patch by Tahia Khan." -msgstr "" - -#: ../NEWS:29978 -msgid "" -":issue:`38185`: Fixed case-insensitive string comparison in " -":class:`sqlite3.Row` indexing." -msgstr "" - -#: ../NEWS:29981 -msgid "" -":issue:`38136`: Changes AsyncMock call count and await count to be two " -"different counters. Now await count only counts when a coroutine has been " -"awaited, not when it has been called, and vice-versa. Update the " -"documentation around this." -msgstr "" - -#: ../NEWS:29986 -msgid "" -":issue:`37828`: Fix default mock name in " -":meth:`unittest.mock.Mock.assert_called` exceptions. Patch by Abraham Toriz " -"Cruz." -msgstr "" - -#: ../NEWS:29990 -msgid "" -":issue:`38175`: Fix a memory leak in comparison of :class:`sqlite3.Row` " -"objects." -msgstr "" - -#: ../NEWS:29993 -msgid "" -":issue:`33936`: _hashlib no longer calls obsolete OpenSSL initialization " -"function with OpenSSL 1.1.0+." -msgstr "" - -#: ../NEWS:29996 -msgid "" -":issue:`34706`: Preserve subclassing in inspect.Signature.from_callable." -msgstr "" - -#: ../NEWS:29998 -msgid "" -":issue:`38153`: Names of hashing algorithms from OpenSSL are now normalized " -"to follow Python's naming conventions. For example OpenSSL uses sha3-512 " -"instead of sha3_512 or blake2b512 instead of blake2b." -msgstr "" - -#: ../NEWS:30002 -msgid "" -":issue:`38115`: Fix a bug in dis.findlinestarts() where it would return " -"invalid bytecode offsets. Document that a code object's co_lnotab can " -"contain invalid bytecode offsets." -msgstr "" - -#: ../NEWS:30006 -msgid "" -":issue:`38148`: Add slots to :mod:`asyncio` transport classes, which can " -"reduce memory usage." -msgstr "" - -#: ../NEWS:30009 -msgid "" -":issue:`38142`: The _hashlib OpenSSL wrapper extension module is now PEP-384" -" compliant." -msgstr "" - -#: ../NEWS:30012 -msgid "" -":issue:`9216`: hashlib constructors now support usedforsecurity flag to " -"signal that a hashing algorithm is not used in a security context." -msgstr "" - -#: ../NEWS:30015 -msgid "" -":issue:`36991`: Fixes a potential incorrect AttributeError exception " -"escaping ZipFile.extract() in some unsupported input error situations." -msgstr "" - -#: ../NEWS:30018 -msgid "" -":issue:`38134`: Remove obsolete copy of PBKDF2_HMAC_fast. All supported " -"OpenSSL versions contain a fast implementation." -msgstr "" - -#: ../NEWS:30021 -msgid "" -":issue:`38132`: The OpenSSL hashlib wrapper uses a simpler implementation. " -"Several Macros and pointless caches are gone. The hash name now comes from " -"OpenSSL's EVP. The algorithm name stays the same, except it is now always " -"lower case." -msgstr "" - -#: ../NEWS:30026 -msgid "" -":issue:`38008`: Fix parent class check in protocols to correctly identify " -"the module that provides a builtin protocol, instead of assuming they all " -"come from the :mod:`collections.abc` module" -msgstr "" - -#: ../NEWS:30030 -msgid "" -":issue:`34037`: For :mod:`asyncio`, add a new coroutine " -":meth:`loop.shutdown_default_executor`. The new coroutine provides an API to" -" schedule an executor shutdown that waits on the threadpool to finish " -"closing. Also, :func:`asyncio.run` has been updated to utilize the new " -"coroutine. Patch by Kyle Stanley." -msgstr "" - -#: ../NEWS:30036 -msgid "" -":issue:`37405`: Fixed regression bug for socket.getsockname() for non-" -"CAN_ISOTP AF_CAN address family sockets by returning a 1-tuple instead of " -"string." -msgstr "" - -#: ../NEWS:30039 -msgid "" -":issue:`38121`: Update parameter names on functions in importlib.metadata " -"matching the changes in the 0.22 release of importlib_metadata." -msgstr "" - -#: ../NEWS:30042 -msgid "" -":issue:`38110`: The os.closewalk() implementation now uses the libc fdwalk()" -" API on platforms where it is available." -msgstr "" - -#: ../NEWS:30045 -msgid "" -":issue:`38093`: Fixes AsyncMock so it doesn't crash when used with " -"AsyncContextManagers or AsyncIterators." -msgstr "" - -#: ../NEWS:30048 -msgid "" -":issue:`37488`: Add warning to :meth:`datetime.utctimetuple`, " -":meth:`datetime.utcnow` and :meth:`datetime.utcfromtimestamp` ." -msgstr "" - -#: ../NEWS:30051 -msgid "" -":issue:`35640`: Allow passing a :term:`path-like object` as ``directory`` " -"argument to the :class:`http.server.SimpleHTTPRequestHandler` class. Patch " -"by Géry Ogam." -msgstr "" - -#: ../NEWS:30055 -msgid "" -":issue:`38086`: Update importlib.metadata with changes from " -"`importlib_metadata 0.21 `_." -msgstr "" - -#: ../NEWS:30059 -msgid "" -":issue:`37251`: Remove ``__code__`` check in AsyncMock that incorrectly " -"evaluated function specs as async objects but failed to evaluate classes " -"with ``__await__`` but no ``__code__`` attribute defined as async objects." -msgstr "" - -#: ../NEWS:30063 -msgid ":issue:`38037`: Fix reference counters in the :mod:`signal` module." -msgstr "" - -#: ../NEWS:30065 -msgid "" -":issue:`38066`: Hide internal asyncio.Stream methods: feed_eof(), " -"feed_data(), set_exception() and set_transport()." -msgstr "" - -#: ../NEWS:30068 -msgid ":issue:`38059`: inspect.py now uses sys.exit() instead of exit()" -msgstr "" - -#: ../NEWS:30070 -msgid "" -":issue:`38049`: Added command-line interface for the :mod:`ast` module." -msgstr "" - -#: ../NEWS:30072 -msgid "" -":issue:`37953`: In :mod:`typing`, improved the ``__hash__`` and ``__eq__`` " -"methods for :class:`ForwardReferences`." -msgstr "" - -#: ../NEWS:30075 -msgid "" -":issue:`38026`: Fixed :func:`inspect.getattr_static` used ``isinstance`` " -"while it should avoid dynamic lookup." -msgstr "" - -#: ../NEWS:30078 -msgid "" -":issue:`35923`: Update :class:`importlib.machinery.BuiltinImporter` to use " -"``loader._ORIGIN`` instead of a hardcoded value. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:30081 -msgid "" -":issue:`38010`: In ``importlib.metadata`` sync with ``importlib_metadata`` " -"0.20, clarifying behavior of ``files()`` and fixing issue where only one " -"requirement was returned for ``requires()`` on ``dist-info`` packages." -msgstr "" - -#: ../NEWS:30085 -msgid "" -":issue:`38006`: weakref.WeakValueDictionary defines a local remove() " -"function used as callback for weak references. This function was created " -"with a closure. Modify the implementation to avoid the closure." -msgstr "" - -#: ../NEWS:30089 -msgid "" -":issue:`37995`: Added the *indent* option to :func:`ast.dump` which allows " -"it to produce a multiline indented output." -msgstr "" - -#: ../NEWS:30092 -msgid "" -":issue:`34410`: Fixed a crash in the :func:`tee` iterator when re-enter it. " -"RuntimeError is now raised in this case." -msgstr "" - -#: ../NEWS:30095 -msgid "" -":issue:`37140`: Fix a ctypes regression of Python 3.8. When a " -"ctypes.Structure is passed by copy to a function, ctypes internals created a" -" temporary object which had the side effect of calling the structure " -"finalizer (__del__) twice. The Python semantics requires a finalizer to be " -"called exactly once. Fix ctypes internals to no longer call the finalizer " -"twice." -msgstr "" - -#: ../NEWS:30101 -msgid "" -":issue:`37587`: ``_json.scanstring`` is now up to 3x faster when there are " -"many backslash escaped characters in the JSON string." -msgstr "" - -#: ../NEWS:30104 -msgid "" -":issue:`37834`: Prevent shutil.rmtree exception when built on non-Windows " -"system without fd system call support, like older versions of macOS." -msgstr "" - -#: ../NEWS:30107 -msgid "" -":issue:`10978`: Semaphores and BoundedSemaphores can now release more than " -"one waiting thread at a time." -msgstr "" - -#: ../NEWS:30110 -msgid "" -":issue:`37972`: Subscripts to the ``unittest.mock.call`` objects now receive" -" the same chaining mechanism as any other custom attributes, so that the " -"following usage no longer raises a ``TypeError``:" -msgstr "" - -#: ../NEWS:30114 -msgid "``call().foo().__getitem__('bar')``" -msgstr "" - -#: ../NEWS:30116 -msgid "Patch by blhsing" -msgstr "Patch oleh blhsing" - -#: ../NEWS:30118 -msgid "" -":issue:`37965`: Fix C compiler warning caused by " -"distutils.ccompiler.CCompiler.has_function." -msgstr "" - -#: ../NEWS:30121 -msgid ":issue:`37964`: Add ``F_GETPATH`` command to :mod:`fcntl`." -msgstr "" - -#: ../NEWS:30123 -msgid "" -":issue:`37960`: ``repr()`` of buffered and text streams now silences only " -"expected exceptions when get the value of \"name\" and \"mode\" attributes." -msgstr "" - -#: ../NEWS:30126 -msgid "" -":issue:`37961`: Add a ``total_nframe`` field to the traces collected by the " -"tracemalloc module. This field indicates the original number of frames " -"before it was truncated." -msgstr "" - -#: ../NEWS:30130 -msgid "" -":issue:`37951`: Most features of the subprocess module now work again in " -"subinterpreters. Only *preexec_fn* is restricted in subinterpreters." -msgstr "" - -#: ../NEWS:30133 -msgid "" -":issue:`36205`: Fix the rusage implementation of time.process_time() to " -"correctly report the sum of the system and user CPU time." -msgstr "" - -#: ../NEWS:30136 -msgid "" -":issue:`37950`: Fix :func:`ast.dump` when call with incompletely initialized" -" node." -msgstr "" - -#: ../NEWS:30139 -msgid "" -":issue:`34679`: Restores instantiation of Windows IOCP event loops from the " -"non-main thread." -msgstr "" - -#: ../NEWS:30142 -msgid "" -":issue:`36917`: Add default implementation of the " -":meth:`ast.NodeVisitor.visit_Constant` method which emits a deprecation " -"warning and calls corresponding methods ``visit_Num()``, ``visit_Str()``, " -"etc." -msgstr "" - -#: ../NEWS:30147 -msgid "" -":issue:`37798`: Update test_statistics.py to verify that the statistics " -"module works well for both C and Python implementations. Patch by Donghee Na" -msgstr "" - -#: ../NEWS:30150 -msgid "" -":issue:`26589`: Added a new status code to the http module: 451 " -"UNAVAILABLE_FOR_LEGAL_REASONS" -msgstr "" - -#: ../NEWS:30153 -msgid "" -":issue:`37915`: Fix a segmentation fault that appeared when comparing " -"instances of ``datetime.timezone`` and ``datetime.tzinfo`` objects. Patch by" -" Pablo Galindo." -msgstr "" - -#: ../NEWS:30157 -msgid "" -":issue:`32554`: Deprecate having random.seed() call hash on arbitrary types." -msgstr "" - -#: ../NEWS:30159 -msgid "" -":issue:`9938`: Add optional keyword argument ``exit_on_error`` for " -":class:`ArgumentParser`." -msgstr "" - -#: ../NEWS:30162 -msgid "" -":issue:`37851`: The :mod:`faulthandler` module no longer allocates its " -"alternative stack at Python startup. Now the stack is only allocated at the " -"first faulthandler usage." -msgstr "" - -#: ../NEWS:30166 -msgid "" -":issue:`32793`: Fix a duplicated debug message when " -":meth:`smtplib.SMTP.connect` is called." -msgstr "" - -#: ../NEWS:30169 -msgid "" -":issue:`37885`: venv: Don't generate unset variable warning on deactivate." -msgstr "" - -#: ../NEWS:30171 -msgid "" -":issue:`37868`: Fix dataclasses.is_dataclass when given an instance that " -"never raises AttributeError in __getattr__. That is, an object that returns" -" something for __dataclass_fields__ even if it's not a dataclass." -msgstr "" - -#: ../NEWS:30175 -msgid "" -":issue:`37811`: Fix ``socket`` module's ``socket.connect(address)`` function" -" being unable to establish connection in case of interrupted system call. " -"The problem was observed on all OSes which ``poll(2)`` system call can take " -"only non-negative integers and -1 as a timeout value." -msgstr "" - -#: ../NEWS:30180 -msgid "" -":issue:`37863`: Optimizations for Fraction.__hash__ suggested by Tim Peters." -msgstr "" - -#: ../NEWS:30182 -msgid "" -":issue:`21131`: Fix ``faulthandler.register(chain=True)`` stack. " -"faulthandler now allocates a dedicated stack of ``SIGSTKSZ*2`` bytes, " -"instead of just ``SIGSTKSZ`` bytes. Calling the previous signal handler in " -"faulthandler signal handler uses more than ``SIGSTKSZ`` bytes of stack " -"memory on some platforms." -msgstr "" - -#: ../NEWS:30188 -msgid "" -":issue:`37798`: Add C fastpath for statistics.NormalDist.inv_cdf() Patch by " -"Donghee Na" -msgstr "" - -#: ../NEWS:30191 -msgid "" -":issue:`37804`: Remove the deprecated method ``threading.Thread.isAlive()``." -" Patch by Donghee Na." -msgstr "" - -#: ../NEWS:30194 -msgid "" -":issue:`37819`: Add Fraction.as_integer_ratio() to match the corresponding " -"methods in bool, int, float, and decimal." -msgstr "" - -#: ../NEWS:30197 -msgid "" -":issue:`14465`: Add an xml.etree.ElementTree.indent() function for pretty-" -"printing XML trees. Contributed by Stefan Behnel." -msgstr "" - -#: ../NEWS:30200 -msgid "" -":issue:`37810`: Fix :mod:`difflib` ``?`` hint in diff output when dealing " -"with tabs. Patch by Anthony Sottile." -msgstr "" - -#: ../NEWS:30203 -msgid "" -":issue:`37772`: In ``zipfile.Path``, when adding implicit dirs, ensure that " -"ancestral directories are added and that duplicates are excluded." -msgstr "" - -#: ../NEWS:30206 -msgid "" -":issue:`18578`: Renamed and documented ``test.bytecode_helper`` as " -"``test.support.bytecode_helper``. Patch by Joannah Nanjekye." -msgstr "" - -#: ../NEWS:30209 -msgid ":issue:`37785`: Fix xgettext warnings in :mod:`argparse`." -msgstr "" - -#: ../NEWS:30211 -msgid "" -":issue:`34488`: :meth:`writelines` method of :class:`io.BytesIO` is now " -"slightly faster when many small lines are passed. Patch by Sergey Fedoseev." -msgstr "" - -#: ../NEWS:30215 -msgid "" -":issue:`37449`: ``ensurepip`` now uses ``importlib.resources.read_binary()``" -" to read data instead of ``pkgutil.get_data()``. Patch by Joannah Nanjekye." -msgstr "" - -#: ../NEWS:30218 -msgid "" -":issue:`28292`: Mark calendar.py helper functions as being private. The " -"follows PEP 8 guidance to maintain the style conventions in the module and " -"it addresses a known case of user confusion." -msgstr "" - -#: ../NEWS:30222 -msgid "" -":issue:`18049`: Add definition of THREAD_STACK_SIZE for AIX in " -"Python/thread_pthread.h The default thread stacksize caused crashes with the" -" default recursion limit Patch by M Felt" -msgstr "" - -#: ../NEWS:30226 -msgid "" -":issue:`37742`: The logging.getLogger() API now returns the root logger when" -" passed the name 'root', whereas previously it returned a non-root logger " -"named 'root'. This could affect cases where user code explicitly wants a " -"non-root logger named 'root', or instantiates a logger using " -"logging.getLogger(__name__) in some top-level module called 'root.py'." -msgstr "" - -#: ../NEWS:30232 -msgid "" -":issue:`37738`: Fix the implementation of curses ``addch(str, color_pair)``:" -" pass the color pair to ``setcchar()``, instead of always passing 0 as the " -"color pair." -msgstr "" - -#: ../NEWS:30236 -msgid "" -":issue:`37723`: Fix performance regression on regular expression parsing " -"with huge character sets. Patch by Yann Vaginay." -msgstr "" - -#: ../NEWS:30239 -msgid "" -":issue:`35943`: The function :c:func:`PyImport_GetModule` now ensures any " -"module it returns is fully initialized. Patch by Joannah Nanjekye." -msgstr "" - -#: ../NEWS:30242 -msgid "" -":issue:`32178`: Fix IndexError in :mod:`email` package when trying to parse " -"invalid address fields starting with ``:``." -msgstr "" - -#: ../NEWS:30245 -msgid "" -":issue:`37268`: The :mod:`parser` module is deprecated and will be removed " -"in future versions of Python." -msgstr "" - -#: ../NEWS:30248 -msgid ":issue:`11953`: Completing WSA* error codes in :mod:`socket`." -msgstr "" - -#: ../NEWS:30250 -msgid "" -":issue:`37685`: Fixed comparisons of :class:`datetime.timedelta` and " -":class:`datetime.timezone`." -msgstr "" - -#: ../NEWS:30253 -msgid "" -":issue:`37697`: Synchronize ``importlib.metadata`` with `importlib_metadata " -"0.19 `_, " -"improving handling of EGG-INFO files and fixing a crash when entry point " -"names contained colons." -msgstr "" - -#: ../NEWS:30259 -msgid "" -":issue:`37695`: Correct :func:`curses.unget_wch` error message. Patch by " -"Anthony Sottile." -msgstr "" - -#: ../NEWS:30262 -msgid "" -":issue:`37689`: Add :meth:`is_relative_to` in :class:`PurePath` to determine" -" whether or not one path is relative to another." -msgstr "" - -#: ../NEWS:30265 -msgid "" -":issue:`29553`: Fixed :meth:`argparse.ArgumentParser.format_usage` for " -"mutually exclusive groups. Patch by Andrew Nester." -msgstr "" - -#: ../NEWS:30268 -msgid "" -":issue:`37691`: Let math.dist() accept coordinates as sequences (or " -"iterables) rather than just tuples." -msgstr "" - -#: ../NEWS:30271 -msgid "" -":issue:`37685`: Fixed ``__eq__``, ``__lt__`` etc implementations in some " -"classes. They now return :data:`NotImplemented` for unsupported type of the " -"other operand. This allows the other operand to play role (for example the " -"equality comparison with :data:`~unittest.mock.ANY` will return ``True``)." -msgstr "" - -#: ../NEWS:30277 -msgid "" -":issue:`37354`: Make Activate.ps1 Powershell script static to allow for " -"signing it." -msgstr "" - -#: ../NEWS:30280 -msgid "" -":issue:`37664`: Update wheels bundled with ensurepip (pip 19.2.3 and " -"setuptools 41.2.0)" -msgstr "" - -#: ../NEWS:30283 -msgid "" -":issue:`37663`: Bring consistency to venv shell activation scripts by always" -" using __VENV_PROMPT__." -msgstr "" - -#: ../NEWS:30286 -msgid "" -":issue:`37642`: Allowed the pure Python implementation of " -":class:`datetime.timezone` to represent sub-minute offsets close to minimum " -"and maximum boundaries, specifically in the ranges (23:59, 24:00) and " -"(-23:59, 24:00). Patch by Ngalim Siregar" -msgstr "" - -#: ../NEWS:30291 -msgid "" -":issue:`36161`: In :mod:`posix`, use ``ttyname_r`` instead of ``ttyname`` " -"for thread safety." -msgstr "" - -#: ../NEWS:30294 -msgid "" -":issue:`36324`: Make internal attributes for statistics.NormalDist() " -"private." -msgstr "" - -#: ../NEWS:30296 -msgid "" -":issue:`37555`: Fix ``NonCallableMock._call_matcher`` returning tuple " -"instead of ``_Call`` object when ``self._spec_signature`` exists. Patch by " -"Elizabeth Uselton" -msgstr "" - -#: ../NEWS:30300 -msgid "" -":issue:`29446`: Make ``from tkinter import *`` import only the expected " -"objects." -msgstr "" - -#: ../NEWS:30303 -msgid "" -":issue:`16970`: Adding a value error when an invalid value in passed to " -"nargs Patch by Robert Leenders" -msgstr "" - -#: ../NEWS:30306 -msgid "" -":issue:`34443`: Exceptions from :mod:`enum` now use the ``__qualname`` of " -"the enum class in the exception message instead of the ``__name__``." -msgstr "" - -#: ../NEWS:30309 -msgid "" -":issue:`37491`: Fix ``IndexError`` when parsing email headers with " -"unexpectedly ending bare-quoted string value. Patch by Abhilash Raj." -msgstr "" - -#: ../NEWS:30312 -msgid "" -":issue:`37587`: Make json.loads faster for long strings. (Patch by Marco " -"Paolini)" -msgstr "" - -#: ../NEWS:30315 -msgid "" -":issue:`18378`: Recognize \"UTF-8\" as a valid value for LC_CTYPE in " -"locale._parse_localename." -msgstr "" - -#: ../NEWS:30318 -msgid "" -":issue:`37579`: Return :exc:`NotImplemented` in Python implementation of " -"``__eq__`` for :class:`~datetime.timedelta` and :class:`~datetime.time` when" -" the other object being compared is not of the same type to match C " -"implementation. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:30323 -msgid "" -":issue:`21478`: Record calls to parent when autospecced object is attached " -"to a mock using :func:`unittest.mock.attach_mock`. Patch by Karthikeyan " -"Singaravelan." -msgstr "" - -#: ../NEWS:30327 -msgid "" -":issue:`37531`: \"python3 -m test -jN --timeout=TIMEOUT\" now kills a worker" -" process if it runs longer than *TIMEOUT* seconds." -msgstr "" - -#: ../NEWS:30330 -msgid "" -":issue:`37482`: Fix serialization of display name in originator or " -"destination address fields with both encoded words and special chars." -msgstr "" - -#: ../NEWS:30333 -msgid "" -":issue:`36993`: Improve error reporting for corrupt zip files with bad zip64" -" extra data. Patch by Daniel Hillier." -msgstr "" - -#: ../NEWS:30336 -msgid "" -":issue:`37502`: pickle.loads() no longer raises TypeError when the buffers " -"argument is set to None" -msgstr "" - -#: ../NEWS:30339 -msgid "" -":issue:`37520`: Correct behavior for zipfile.Path.parent when the path " -"object identifies a subdirectory." -msgstr "" - -#: ../NEWS:30342 -msgid "" -":issue:`18374`: Fix the ``.col_offset`` attribute of nested " -":class:`ast.BinOp` instances which had a too large value in some situations." -msgstr "" - -#: ../NEWS:30345 -msgid "" -":issue:`37424`: Fixes a possible hang when using a timeout on " -"``subprocess.run()`` while capturing output. If the child process spawned " -"its own children or otherwise connected its stdout or stderr handles with " -"another process, we could hang after the timeout was reached and our child " -"was killed when attempting to read final output from the pipes." -msgstr "" - -#: ../NEWS:30351 -msgid "" -":issue:`37421`: Fix :func:`multiprocessing.util.get_temp_dir` finalizer: " -"clear also the 'tempdir' configuration of the current process, so next call " -"to ``get_temp_dir()`` will create a new temporary directory, rather than " -"reusing the removed temporary directory." -msgstr "" - -#: ../NEWS:30356 -msgid "" -":issue:`37481`: The distutils ``bdist_wininst`` command is deprecated in " -"Python 3.8, use ``bdist_wheel`` (wheel packages) instead." -msgstr "" - -#: ../NEWS:30359 -msgid "" -":issue:`37479`: When ``Enum.__str__`` is overridden in a derived class, the " -"override will be used by ``Enum.__format__`` regardless of whether mixin " -"classes are present." -msgstr "" - -#: ../NEWS:30363 -msgid "" -":issue:`37440`: http.client now enables TLS 1.3 post-handshake " -"authentication for default context or if a cert_file is passed to " -"HTTPSConnection." -msgstr "" - -#: ../NEWS:30366 -msgid ":issue:`37437`: Update vendorized expat version to 2.2.7." -msgstr "" - -#: ../NEWS:30368 -msgid "" -":issue:`37428`: SSLContext.post_handshake_auth = True no longer sets " -"SSL_VERIFY_POST_HANDSHAKE verify flag for client connections. Although the " -"option is documented as ignored for clients, OpenSSL implicitly enables cert" -" chain validation when the flag is set." -msgstr "" - -#: ../NEWS:30373 -msgid "" -":issue:`37420`: :func:`os.sched_setaffinity` now correctly handles errors " -"that arise during iteration over its ``mask`` argument. Patch by Brandt " -"Bucher." -msgstr "" - -#: ../NEWS:30376 -msgid "" -":issue:`37412`: The :func:`os.getcwdb` function now uses the UTF-8 encoding " -"on Windows, rather than the ANSI code page: see :pep:`529` for the " -"rationale. The function is no longer deprecated on Windows." -msgstr "" - -#: ../NEWS:30380 -msgid "" -":issue:`37406`: The sqlite3 module now raises TypeError, rather than " -"ValueError, if operation argument type is not str: execute(), executemany() " -"and calling a connection." -msgstr "" - -#: ../NEWS:30384 -msgid "" -":issue:`29412`: Fix IndexError in parsing a header value ending " -"unexpectedly. Patch by Abhilash Raj." -msgstr "" - -#: ../NEWS:30387 -msgid "" -":issue:`36546`: The *dist* argument for statistics.quantiles() is now " -"positional only. The current name doesn't reflect that the argument can be " -"either a dataset or a distribution. Marking the parameter as positional " -"avoids confusion and makes it possible to change the name later." -msgstr "" - -#: ../NEWS:30392 -msgid "" -":issue:`37394`: Fix a bug that was causing the :mod:`queue` module to fail " -"if the accelerator module was not available. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:30395 -msgid "" -":issue:`37376`: :mod:`pprint` now has support for " -":class:`types.SimpleNamespace`. Patch by Carl Bordum Hansen." -msgstr "" - -#: ../NEWS:30398 -msgid "" -":issue:`26967`: An :class:`~argparse.ArgumentParser` with " -"``allow_abbrev=False`` no longer disables grouping of short flags, such as " -"``-vv``, but only disables abbreviation of long flags as documented. Patch " -"by Zac Hatfield-Dodds." -msgstr "" - -#: ../NEWS:30403 -msgid "" -":issue:`37212`: :func:`unittest.mock.call` now preserves the order of " -"keyword arguments in repr output. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:30406 -msgid "" -":issue:`37372`: Fix error unpickling datetime.time objects from Python 2 " -"with seconds>=24. Patch by Justin Blanchard." -msgstr "" - -#: ../NEWS:30409 -msgid "" -":issue:`37345`: Add formal support for UDPLITE sockets. Support was present " -"before, but it is now easier to detect support with ``hasattr(socket, " -"'IPPROTO_UDPLITE')`` and there are constants defined for each of the values " -"needed: ``socket.IPPROTO_UDPLITE``, ``UDPLITE_SEND_CSCOV``, and " -"``UDPLITE_RECV_CSCOV``. Patch by Gabe Appleton." -msgstr "" - -#: ../NEWS:30415 -msgid ":issue:`37358`: Optimized ``functools.partial`` by using vectorcall." -msgstr "" - -#: ../NEWS:30417 -msgid "" -":issue:`37347`: :meth:`sqlite3.Connection.create_aggregate`, " -":meth:`sqlite3.Connection.create_function`, " -":meth:`sqlite3.Connection.set_authorizer`, " -":meth:`sqlite3.Connection.set_progress_handler` " -":meth:`sqlite3.Connection.set_trace_callback` methods lead to segfaults if " -"some of these methods are called twice with an equal object but not the " -"same. Now callbacks are stored more carefully. Patch by Aleksandr Balezin." -msgstr "" - -#: ../NEWS:30425 -msgid "" -":issue:`37163`: The *obj* argument of :func:`dataclasses.replace` is " -"positional-only now." -msgstr "" - -#: ../NEWS:30428 -msgid "" -":issue:`37085`: Add the optional Linux SocketCAN Broadcast Manager " -"constants, used as flags to configure the BCM behaviour, in the socket " -"module. Patch by Karl Ding." -msgstr "" - -#: ../NEWS:30432 -msgid "" -":issue:`37328`: ``HTMLParser.unescape`` is removed. It was undocumented and" -" deprecated since Python 3.4." -msgstr "" - -#: ../NEWS:30435 -msgid "" -":issue:`37305`: Add .webmanifest -> application/manifest+json to list of " -"recognized file types and content type headers" -msgstr "" - -#: ../NEWS:30438 -msgid "" -":issue:`37320`: ``aifc.openfp()`` alias to ``aifc.open()``, " -"``sunau.openfp()`` alias to ``sunau.open()``, and ``wave.openfp()`` alias to" -" ``wave.open()`` have been removed. They were deprecated since Python 3.7." -msgstr "" - -#: ../NEWS:30442 -msgid "" -":issue:`37315`: Deprecated accepting floats with integral value (like " -"``5.0``) in :func:`math.factorial`." -msgstr "" - -#: ../NEWS:30445 -msgid "" -":issue:`37312`: ``_dummy_thread`` and ``dummy_threading`` modules have been " -"removed. These modules were deprecated since Python 3.7 which requires " -"threading support." -msgstr "" - -#: ../NEWS:30449 -msgid "" -":issue:`33972`: Email with single part but content-type set to " -"``multipart/*`` doesn't raise AttributeError anymore." -msgstr "" - -#: ../NEWS:30452 -msgid "" -":issue:`37280`: Use threadpool for reading from file for sendfile fallback " -"mode." -msgstr "" - -#: ../NEWS:30455 -msgid "" -":issue:`37279`: Fix asyncio sendfile support when sendfile sends extra data " -"in fallback mode." -msgstr "" - -#: ../NEWS:30458 -msgid "" -":issue:`19865`: :func:`ctypes.create_unicode_buffer` now also supports non-" -"BMP characters on platforms with 16-bit :c:type:`wchar_t` (for example, " -"Windows and AIX)." -msgstr "" - -#: ../NEWS:30462 -msgid "" -":issue:`37266`: In a subinterpreter, spawning a daemon thread now raises an " -"exception. Daemon threads were never supported in subinterpreters. " -"Previously, the subinterpreter finalization crashed with a Python fatal " -"error if a daemon thread was still running." -msgstr "" - -#: ../NEWS:30467 -msgid "" -":issue:`37210`: Allow pure Python implementation of :mod:`pickle` to work " -"even when the C :mod:`!_pickle` module is unavailable." -msgstr "" - -#: ../NEWS:30470 -msgid "" -":issue:`21872`: Fix :mod:`lzma`: module decompresses data incompletely. When" -" decompressing a FORMAT_ALONE format file, and it doesn't have the end " -"marker, sometimes the last one to dozens bytes can't be output. Patch by Ma " -"Lin." -msgstr "" - -#: ../NEWS:30475 -msgid "" -":issue:`35922`: Fix :meth:`RobotFileParser.crawl_delay` and " -":meth:`RobotFileParser.request_rate` to return ``None`` rather than raise " -":exc:`AttributeError` when no relevant rule is defined in the robots.txt " -"file. Patch by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:30480 -msgid "" -":issue:`35766`: Change the format of feature_version to be a (major, minor) " -"tuple." -msgstr "" - -#: ../NEWS:30483 -msgid "" -":issue:`36607`: Eliminate :exc:`RuntimeError` raised by " -":func:`asyncio.all_tasks` if internal tasks weak set is changed by another " -"thread during iteration." -msgstr "" - -#: ../NEWS:30487 -msgid "" -":issue:`18748`: :class:`!_pyio.IOBase` destructor now does nothing if " -"getting the ``closed`` attribute fails to better mimic :class:`!_io.IOBase` " -"finalizer." -msgstr "" - -#: ../NEWS:30491 -msgid "" -":issue:`36402`: Fix a race condition at Python shutdown when waiting for " -"threads. Wait until the Python thread state of all non-daemon threads get " -"deleted (join all non-daemon threads), rather than just wait until non-" -"daemon Python threads complete." -msgstr "" - -#: ../NEWS:30496 -msgid "" -":issue:`37206`: Default values which cannot be represented as Python objects" -" no longer improperly represented as ``None`` in function signatures." -msgstr "" - -#: ../NEWS:30499 -msgid "" -":issue:`37111`: Added ``encoding`` and ``errors`` keyword parameters to " -"``logging.basicConfig``." -msgstr "" - -#: ../NEWS:30502 -msgid "" -":issue:`12144`: Ensure cookies with ``expires`` attribute are handled in " -":meth:`CookieJar.make_cookies`." -msgstr "" - -#: ../NEWS:30505 -msgid "" -":issue:`34886`: Fix an unintended ValueError from :func:`subprocess.run` " -"when checking for conflicting *input* and *stdin* or *capture_output* and " -"*stdout* or *stderr* args when they were explicitly provided but with " -"``None`` values within a passed in ``**kwargs`` dict rather than as passed " -"directly by name. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:30511 -msgid "" -":issue:`37173`: The exception message for ``inspect.getfile()`` now " -"correctly reports the passed class rather than the builtins module." -msgstr "" - -#: ../NEWS:30514 -msgid "" -":issue:`37178`: Give math.perm() a one argument form that means the same as " -"math.factorial()." -msgstr "" - -#: ../NEWS:30517 -msgid "" -":issue:`37178`: For math.perm(n, k), let k default to n, giving the same " -"result as factorial." -msgstr "" - -#: ../NEWS:30520 -msgid "" -":issue:`37165`: Converted _collections._count_elements to use the Argument " -"Clinic." -msgstr "" - -#: ../NEWS:30523 -msgid "" -":issue:`34767`: Do not always create a :class:`collections.deque` in " -":class:`asyncio.Lock`." -msgstr "" - -#: ../NEWS:30526 -msgid "" -":issue:`37158`: Speed-up statistics.fmean() by switching from a function to " -"a generator." -msgstr "" - -#: ../NEWS:30529 -msgid ":issue:`34282`: Remove ``Enum._convert`` method, deprecated in 3.8." -msgstr "" - -#: ../NEWS:30531 -msgid "" -":issue:`37150`: ``argparse._ActionsContainer.add_argument`` now throws " -"error, if someone accidentally pass FileType class object instead of " -"instance of FileType as ``type`` argument." -msgstr "" - -#: ../NEWS:30535 -msgid "" -":issue:`28724`: The socket module now has the :func:`socket.send_fds` and " -":func:`socket.recv.fds` methods. Contributed by Joannah Nanjekye, Shinya " -"Okano and Victor Stinner." -msgstr "" - -#: ../NEWS:30539 -msgid "" -":issue:`35621`: Support running asyncio subprocesses when execution event " -"loop in a thread on UNIX." -msgstr "" - -#: ../NEWS:30542 -msgid "" -":issue:`36520`: Lengthy email headers with UTF-8 characters are now properly" -" encoded when they are folded. Patch by Jeffrey Kintscher." -msgstr "" - -#: ../NEWS:30545 -msgid "" -":issue:`30835`: Fixed a bug in email parsing where a message with invalid " -"bytes in content-transfer-encoding of a multipart message can cause an " -"AttributeError. Patch by Andrew Donnellan." -msgstr "" - -#: ../NEWS:30549 -msgid "" -":issue:`31163`: pathlib.Path instance's rename and replace methods now " -"return the new Path instance." -msgstr "" - -#: ../NEWS:30552 -msgid "" -":issue:`25068`: :class:`urllib.request.ProxyHandler` now lowercases the keys" -" of the passed dictionary." -msgstr "" - -#: ../NEWS:30555 -msgid "" -":issue:`26185`: Fix :func:`repr` on empty :class:`ZipInfo` object. Patch by " -"Mickaël Schoentgen." -msgstr "" - -#: ../NEWS:30558 -msgid "" -":issue:`21315`: Email headers containing RFC2047 encoded words are parsed " -"despite the missing whitespace, and a defect registered. Also missing " -"trailing whitespace after encoded words is now registered as a defect." -msgstr "" - -#: ../NEWS:30562 -msgid "" -":issue:`31904`: Port test_datetime to VxWorks: skip zoneinfo tests on " -"VxWorks" -msgstr "" - -#: ../NEWS:30564 -msgid "" -":issue:`35805`: Add parser for Message-ID header and add it to default " -"HeaderRegistry. This should prevent folding of Message-ID using RFC 2048 " -"encoded words." -msgstr "" - -#: ../NEWS:30568 -msgid "" -":issue:`36871`: Ensure method signature is used instead of constructor " -"signature of a class while asserting mock object against method calls. Patch" -" by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:30572 -msgid "" -":issue:`35070`: posix.getgrouplist() now works correctly when the user " -"belongs to NGROUPS_MAX supplemental groups. Patch by Jeffrey Kintscher." -msgstr "" - -#: ../NEWS:30575 -msgid "" -":issue:`31783`: Fix race condition in ThreadPoolExecutor when worker threads" -" are created during interpreter shutdown." -msgstr "" - -#: ../NEWS:30578 -msgid "" -":issue:`36582`: Fix ``UserString.encode()`` to correctly return ``bytes`` " -"rather than a ``UserString`` instance." -msgstr "" - -#: ../NEWS:30581 -msgid "" -":issue:`32424`: Deprecate xml.etree.ElementTree.Element.copy() in favor of " -"copy.copy()." -msgstr "" - -#: ../NEWS:30584 -msgid "Patch by Gordon P. Hemsley" -msgstr "Patch oleh Gordon P. Hemsley" - -#: ../NEWS:30586 -msgid "" -":issue:`36564`: Fix infinite loop in email header folding logic that would " -"be triggered when an email policy's max_line_length is not long enough to " -"include the required markup and any values in the message. Patch by Paul " -"Ganssle" -msgstr "" - -#: ../NEWS:30591 -msgid "" -":issue:`36543`: Removed methods Element.getchildren(), Element.getiterator()" -" and ElementTree.getiterator() and the xml.etree.cElementTree module." -msgstr "" - -#: ../NEWS:30594 -msgid ":issue:`36409`: Remove the old plistlib API deprecated in Python 3.4" -msgstr "" - -#: ../NEWS:30596 -msgid "" -":issue:`36302`: distutils sorts source file lists so that Extension .so " -"files build more reproducibly by default" -msgstr "" - -#: ../NEWS:30599 -msgid "" -":issue:`36250`: Ignore ``ValueError`` from ``signal`` with ``interaction`` " -"in non-main thread." -msgstr "" - -#: ../NEWS:30602 -msgid "" -":issue:`36046`: Added ``user``, ``group`` and ``extra_groups`` parameters to" -" the subprocess.Popen constructor. Patch by Patrick McLean." -msgstr "" - -#: ../NEWS:30605 -msgid "" -":issue:`32627`: Fix compile error when ``_uuid`` headers conflicting " -"included." -msgstr "" - -#: ../NEWS:30607 -msgid "" -":issue:`35800`: Deprecate ``smtpd.MailmanProxy`` ready for future removal." -msgstr "" - -#: ../NEWS:30609 -msgid "" -":issue:`35168`: :attr:`shlex.shlex.punctuation_chars` is now a read-only " -"property." -msgstr "" - -#: ../NEWS:30612 -msgid "" -":issue:`8538`: Add support for boolean actions like ``--foo`` and ``--no-" -"foo`` to argparse. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:30615 -msgid "" -":issue:`20504`: Fixes a bug in :mod:`!cgi` module when a multipart/form-data" -" request has no ``Content-Length`` header." -msgstr "" - -#: ../NEWS:30618 -msgid "" -":issue:`25988`: The abstract base classes in :mod:`collections.abc` no " -"longer are exposed in the regular :mod:`collections` module." -msgstr "" - -#: ../NEWS:30621 -msgid "" -":issue:`11122`: Distutils won't check for rpmbuild in specified paths only." -msgstr "" - -#: ../NEWS:30623 -msgid "" -":issue:`34775`: Division handling of PurePath now returns NotImplemented " -"instead of raising a TypeError when passed something other than an instance " -"of str or PurePath. Patch by Roger Aiudi." -msgstr "" - -#: ../NEWS:30627 -msgid "" -":issue:`34749`: :func:`binascii.a2b_base64` is now up to 2 times faster. " -"Patch by Sergey Fedoseev." -msgstr "" - -#: ../NEWS:30630 -msgid "" -":issue:`34519`: Add additional aliases for HP Roman 8. Patch by Michael " -"Osipov." -msgstr "" - -#: ../NEWS:30632 -msgid "" -":issue:`28009`: Fix uuid.getnode() on platforms with '.' as MAC Addr " -"delimiter as well fix for MAC Addr format that omits a leading 0 in MAC Addr" -" values. Currently, AIX is the only know platform with these settings. Patch" -" by Michael Felt." -msgstr "" - -#: ../NEWS:30637 -msgid "" -":issue:`30618`: Add :meth:`~pathlib.Path.readlink`. Patch by Girts " -"Folkmanis." -msgstr "" - -#: ../NEWS:30639 -msgid "" -":issue:`32498`: Made :func:`urllib.parse.unquote` accept bytes in addition " -"to strings. Patch by Stein Karlsen." -msgstr "" - -#: ../NEWS:30642 -msgid "" -":issue:`33348`: lib2to3 now recognizes expressions after ``*`` and ``**`` " -"like in ``f(*[] or [])``." -msgstr "" - -#: ../NEWS:30645 -msgid "" -":issue:`32689`: Update :func:`shutil.move` function to allow for Path " -"objects to be used as source argument. Patch by Emily Morehouse and Maxwell " -"\"5.13b\" McKinnon." -msgstr "" - -#: ../NEWS:30649 -msgid "" -":issue:`32820`: Added ``__format__`` to IPv4 and IPv6 classes. Always " -"outputs a fully zero-padded string. Supports b/x/n modifiers (bin/hex/native" -" format). Native format for IPv4 is bin, native format for IPv6 is hex. Also" -" supports '#' and '_' modifiers." -msgstr "" - -#: ../NEWS:30654 -msgid "" -":issue:`27657`: Fix urllib.parse.urlparse() with numeric paths. A string " -"like \"path:80\" is no longer parsed as a path but as a scheme (\"path\") " -"and a path (\"80\")." -msgstr "" - -#: ../NEWS:30658 -msgid "" -":issue:`4963`: Fixed non-deterministic behavior related to mimetypes " -"extension mapping and module reinitialization." -msgstr "" - -#: ../NEWS:30664 -msgid "" -":issue:`21767`: Explicitly mention abc support in functools.singledispatch" -msgstr "" - -#: ../NEWS:30666 -msgid "" -":issue:`38816`: Provides more details about the interaction between " -":c:func:`fork` and CPython's runtime, focusing just on the C-API. This " -"includes cautions about where :c:func:`fork` should and shouldn't be called." -msgstr "" - -#: ../NEWS:30671 -msgid "" -":issue:`38351`: Modernize :mod:`email` examples from %-formatting to " -"f-strings." -msgstr "" - -#: ../NEWS:30673 -msgid "" -":issue:`38778`: Document the fact that :exc:`RuntimeError` is raised if " -":meth:`os.fork` is called in a subinterpreter." -msgstr "" - -#: ../NEWS:30676 -msgid "" -":issue:`38592`: Add Brazilian Portuguese to the language switcher at Python " -"Documentation website." -msgstr "" - -#: ../NEWS:30679 -msgid "" -":issue:`38294`: Add list of no-longer-escaped chars to re.escape " -"documentation" -msgstr "" - -#: ../NEWS:30681 -msgid ":issue:`38053`: Modernized the plistlib documentation" -msgstr "" - -#: ../NEWS:30683 -msgid "" -":issue:`26868`: Fix example usage of :c:func:`PyModule_AddObject` to " -"properly handle errors." -msgstr "" - -#: ../NEWS:30686 -msgid ":issue:`36797`: Fix a dead link in the distutils API Reference." -msgstr "" - -#: ../NEWS:30688 -msgid ":issue:`37977`: Warn more strongly and clearly about pickle insecurity" -msgstr "" - -#: ../NEWS:30690 -msgid "" -":issue:`37979`: Added a link to dateutil.parser.isoparse in the " -"datetime.fromisoformat documentation. Patch by Paul Ganssle" -msgstr "" - -#: ../NEWS:30693 -msgid "" -":issue:`12707`: Deprecate info(), geturl(), getcode() methods in favor of " -"the headers, url, and status properties, respectively, for HTTPResponse and " -"addinfourl. Also deprecate the code attribute of addinfourl in favor of the " -"status attribute. Patch by Ashwin Ramaswami" -msgstr "" - -#: ../NEWS:30698 -msgid "" -":issue:`37937`: Mention ``frame.f_trace`` in :func:`sys.settrace` docs." -msgstr "" - -#: ../NEWS:30700 -msgid ":issue:`37878`: Make :c:func:`PyThreadState_DeleteCurrent` Internal." -msgstr "" - -#: ../NEWS:30702 -msgid ":issue:`37759`: Beginning edits to Whatsnew 3.8" -msgstr "" - -#: ../NEWS:30704 -msgid "" -":issue:`37726`: Stop recommending getopt in the tutorial for command line " -"argument parsing and promote argparse." -msgstr "" - -#: ../NEWS:30707 -msgid "" -":issue:`32910`: Remove implementation-specific behaviour of how venv's " -"Deactivate works." -msgstr "" - -#: ../NEWS:30710 -msgid "" -":issue:`37256`: Fix wording of arguments for :class:`Request` in " -":mod:`urllib.request`" -msgstr "" - -#: ../NEWS:30713 -msgid "" -":issue:`37284`: Add a brief note to indicate that any new " -"``sys.implementation`` required attributes must go through the PEP process." -msgstr "" - -#: ../NEWS:30717 -msgid "" -":issue:`30088`: Documented that :class:`mailbox.Maildir` constructor doesn't" -" attempt to verify the maildir folder layout correctness. Patch by " -"Sviatoslav Sydorenko." -msgstr "" - -#: ../NEWS:30721 -msgid "" -":issue:`37521`: Fix ``importlib`` examples to insert any newly created " -"modules via importlib.util.module_from_spec() immediately into sys.modules " -"instead of after calling loader.exec_module()." -msgstr "" - -#: ../NEWS:30725 -msgid "Thanks to Benjamin Mintz for finding the bug." -msgstr "Terima kasih kepada Benjamin Mintz telah menemukan bug." - -#: ../NEWS:30727 -msgid ":issue:`37456`: Slash ('/') is now part of syntax." -msgstr "" - -#: ../NEWS:30729 -msgid ":issue:`37487`: Fix PyList_GetItem index description to include 0." -msgstr "" - -#: ../NEWS:30731 -msgid "" -":issue:`37149`: Replace the dead link to the Tkinter 8.5 reference by John " -"Shipman, New Mexico Tech, with a link to the archive.org copy." -msgstr "" - -#: ../NEWS:30734 -msgid "" -":issue:`37478`: Added possible exceptions to the description of os.chdir()." -msgstr "" - -#: ../NEWS:30736 -msgid "" -":issue:`34903`: Documented that in :meth:`datetime.datetime.strptime`, the " -"leading zero in some two-digit formats is optional. Patch by Mike Gleen." -msgstr "" - -#: ../NEWS:30739 -msgid "" -":issue:`36260`: Add decompression pitfalls to zipfile module documentation." -msgstr "" - -#: ../NEWS:30741 -msgid "" -":issue:`37004`: In the documentation for difflib, a note was added " -"explicitly warning that the results of SequenceMatcher's ratio method may " -"depend on the order of the input strings." -msgstr "" - -#: ../NEWS:30745 -msgid "" -":issue:`36960`: Restructured the :mod:`datetime` docs in the interest of " -"making them more user-friendly and improving readability. Patch by Brad " -"Solomon." -msgstr "" - -#: ../NEWS:30748 -msgid "" -":issue:`36487`: Make C-API docs clear about what the \"main\" interpreter " -"is." -msgstr "" - -#: ../NEWS:30750 -msgid "" -":issue:`23460`: The documentation for decimal string formatting using the " -"``:g`` specifier has been updated to reflect the correct exponential " -"notation cutoff point. Original patch contributed by Tuomas Suutari." -msgstr "" - -#: ../NEWS:30754 -msgid "" -":issue:`35803`: Document and test that ``tempfile`` functions may accept a " -":term:`path-like object` for the ``dir`` argument. Patch by Anthony " -"Sottile." -msgstr "" - -#: ../NEWS:30758 -msgid "" -":issue:`33944`: Added a note about the intended use of code in .pth files." -msgstr "" - -#: ../NEWS:30760 -msgid "" -":issue:`34293`: Fix the Doc/Makefile regarding PAPER environment variable " -"and PDF builds" -msgstr "" - -#: ../NEWS:30763 -msgid ":issue:`25237`: Add documentation for tkinter modules" -msgstr "" - -#: ../NEWS:30768 -msgid "" -":issue:`38614`: Fix test_communicate() of test_asyncio.test_subprocess: use " -"``support.LONG_TIMEOUT`` (5 minutes), instead of just 1 minute." -msgstr "" - -#: ../NEWS:30771 -msgid "" -":issue:`38614`: Add timeout constants to :mod:`test.support`: " -":data:`~test.support.LOOPBACK_TIMEOUT`, " -":data:`~test.support.INTERNET_TIMEOUT`, :data:`~test.support.SHORT_TIMEOUT` " -"and :data:`~test.support.LONG_TIMEOUT`." -msgstr "" - -#: ../NEWS:30777 -msgid "" -":issue:`38502`: test.regrtest now uses process groups in the multiprocessing" -" mode (-jN command line option) if process groups are available: if " -":func:`os.setsid` and :func:`os.killpg` functions are available." -msgstr "" - -#: ../NEWS:30781 -msgid "" -":issue:`35998`: Fix a race condition in " -"test_asyncio.test_start_tls_server_1(). Previously, there was a race " -"condition between the test main() function which replaces the protocol and " -"the test ServerProto protocol which sends ANSWER once it gets HELLO. Now, " -"only the test main() function is responsible to send data, ServerProto no " -"longer sends data." -msgstr "" - -#: ../NEWS:30787 -msgid "" -":issue:`38470`: Fix ``test_compileall.test_compile_dir_maxlevels()`` on " -"Windows without long path support: only create 3 subdirectories instead of " -"between 20 and 100 subdirectories." -msgstr "" - -#: ../NEWS:30791 -msgid "" -":issue:`37531`: On timeout, regrtest no longer attempts to call " -"``popen.communicate()`` again: it can hang until all child processes using " -"stdout and stderr pipes completes. Kill the worker process and ignores its " -"output. Change also the faulthandler timeout of the main process from 1 " -"minute to 5 minutes, for Python slowest buildbots." -msgstr "" - -#: ../NEWS:30797 -msgid ":issue:`38239`: Fix test_gdb for Link Time Optimization (LTO) builds." -msgstr "" - -#: ../NEWS:30799 -msgid "" -":issue:`38275`: test_ssl now handles disabled TLS/SSL versions better. " -"OpenSSL's crypto policy and run-time settings are recognized and tests for " -"disabled versions are skipped. Tests also accept more TLS minimum_versions " -"for platforms that override OpenSSL's default with strict settings." -msgstr "" - -#: ../NEWS:30804 -msgid "" -":issue:`38271`: The private keys for test_ssl were encrypted with 3DES in " -"traditional PKCS#5 format. 3DES and the digest algorithm of PKCS#5 are " -"blocked by some strict crypto policies. Use PKCS#8 format with AES256 " -"encryption instead." -msgstr "" - -#: ../NEWS:30809 -msgid "" -":issue:`38270`: test.support now has a helper function to check for " -"availability of a hash digest function. Several tests are refactored avoid " -"MD5 and use SHA256 instead. Other tests are marked to use MD5 and skipped " -"when MD5 is disabled." -msgstr "" - -#: ../NEWS:30814 -msgid "" -":issue:`37123`: Multiprocessing test test_mymanager() now also expects " -"-SIGTERM, not only exitcode 0. BaseManager._finalize_manager() sends SIGTERM" -" to the manager process if it takes longer than 1 second to stop, which " -"happens on slow buildbots." -msgstr "" - -#: ../NEWS:30819 -msgid "" -":issue:`38212`: Multiprocessing tests: increase " -"test_queue_feeder_donot_stop_onexc() timeout from 1 to 60 seconds." -msgstr "" - -#: ../NEWS:30822 -msgid ":issue:`38117`: Test with OpenSSL 1.1.1d" -msgstr "" - -#: ../NEWS:30824 -msgid "" -":issue:`38018`: Increase code coverage for multiprocessing.shared_memory." -msgstr "" - -#: ../NEWS:30826 -msgid "" -":issue:`37805`: Add tests for json.dump(..., skipkeys=True). Patch by " -"Donghee Na." -msgstr "" - -#: ../NEWS:30829 -msgid "" -":issue:`37531`: Enhance regrtest multiprocess timeout: write a message when " -"killing a worker process, catch popen.kill() and popen.wait() exceptions, " -"put a timeout on the second call to popen.communicate()." -msgstr "" - -#: ../NEWS:30833 -msgid ":issue:`37876`: Add tests for ROT-13 codec." -msgstr "" - -#: ../NEWS:30835 -msgid "" -":issue:`36833`: Added tests for :samp:`PyDateTime_{xxx}_GET_{xxx}()` macros " -"of the C API of the :mod:`datetime` module. Patch by Joannah Nanjekye." -msgstr "" - -#: ../NEWS:30838 -msgid "" -":issue:`37558`: Fix test_shared_memory_cleaned_after_process_termination " -"name handling" -msgstr "" - -#: ../NEWS:30841 -msgid "" -":issue:`37526`: Add :func:`test.support.catch_threading_exception`: context " -"manager catching :class:`threading.Thread` exception using " -":func:`threading.excepthook`." -msgstr "" - -#: ../NEWS:30845 -msgid "" -":issue:`37421`: test_concurrent_futures now explicitly stops the ForkServer " -"instance if it's running." -msgstr "" - -#: ../NEWS:30848 -msgid "" -":issue:`37421`: multiprocessing tests now stop the ForkServer instance if " -"it's running: close the \"alive\" file descriptor to ask the server to stop " -"and then remove its UNIX address." -msgstr "" - -#: ../NEWS:30852 -msgid "" -":issue:`37421`: test_distutils.test_build_ext() is now able to remove the " -"temporary directory on Windows: don't import the newly built C extension " -"(\"xx\") in the current process, but test it in a separated process." -msgstr "" - -#: ../NEWS:30856 -msgid "" -":issue:`37421`: test_concurrent_futures now cleans up multiprocessing to " -"remove immediately temporary directories created by " -"multiprocessing.util.get_temp_dir()." -msgstr "" - -#: ../NEWS:30860 -msgid "" -":issue:`37421`: test_winconsoleio doesn't leak a temporary file anymore: use" -" tempfile.TemporaryFile() to remove it when the test completes." -msgstr "" - -#: ../NEWS:30863 -msgid "" -":issue:`37421`: multiprocessing tests now explicitly call " -"``_run_finalizers()`` to immediately remove temporary directories created by" -" tests." -msgstr "" - -#: ../NEWS:30866 -msgid "" -":issue:`37421`: urllib.request tests now call " -":func:`~urllib.request.urlcleanup` to remove temporary files created by " -"``urlretrieve()`` tests and to clear the ``_opener`` global variable set by " -"``urlopen()`` and functions calling indirectly ``urlopen()``." -msgstr "" - -#: ../NEWS:30871 -msgid ":issue:`37472`: Remove ``Lib/test/outstanding_bugs.py``." -msgstr "" - -#: ../NEWS:30873 -msgid "" -":issue:`37199`: Fix test failures when IPv6 is unavailable or disabled." -msgstr "" - -#: ../NEWS:30875 -msgid "" -":issue:`19696`: Replace deprecated method \"random.choose\" with " -"\"random.choice\" in \"test_pkg_import.py\"." -msgstr "" - -#: ../NEWS:30878 -msgid "" -":issue:`37335`: Remove no longer necessary code from c locale coercion tests" -msgstr "" - -#: ../NEWS:30880 -msgid ":issue:`37421`: Fix test_shutil to no longer leak temporary files." -msgstr "" - -#: ../NEWS:30882 -msgid "" -":issue:`37411`: Fix test_wsgiref.testEnviron() to no longer depend on the " -"environment variables (don't fail if \"X\" variable is set)." -msgstr "" - -#: ../NEWS:30885 -msgid "" -":issue:`37400`: Fix test_os.test_chown(): use os.getgroups() rather than " -"grp.getgrall() to get groups. Rename also the test to test_chown_gid()." -msgstr "" - -#: ../NEWS:30888 -msgid "" -":issue:`37359`: Add --cleanup option to python3 -m test to remove " -"``test_python_*`` directories of previous failed jobs. Add \"make " -"cleantest\" to run ``python3 -m test --cleanup``." -msgstr "" - -#: ../NEWS:30892 -msgid "" -":issue:`37362`: test_gdb no longer fails if it gets an \"unexpected\" " -"message on stderr: it now ignores stderr. The purpose of test_gdb is to test" -" that python-gdb.py commands work as expected, not to test gdb." -msgstr "" - -#: ../NEWS:30896 -msgid "" -":issue:`35998`: Avoid TimeoutError in test_asyncio: " -"test_start_tls_server_1()" -msgstr "" - -#: ../NEWS:30898 -msgid "" -":issue:`37278`: Fix test_asyncio ProactorLoopCtrlC: join the thread to " -"prevent leaking a running thread and leaking a reference." -msgstr "" - -#: ../NEWS:30901 -msgid "" -":issue:`37261`: Fix :func:`test.support.catch_unraisable_exception`: its " -"__exit__() method now ignores unraisable exception raised when clearing its " -"``unraisable`` attribute." -msgstr "" - -#: ../NEWS:30905 -msgid "" -":issue:`37069`: regrtest now uses :func:`sys.unraisablehook` to mark a test " -"as \"environment altered\" (ENV_CHANGED) if it emits an \"unraisable " -"exception\". Moreover, regrtest logs a warning in this case." -msgstr "" - -#: ../NEWS:30909 -msgid "" -"Use ``python3 -m test --fail-env-changed`` to catch unraisable exceptions in" -" tests." -msgstr "" - -#: ../NEWS:30912 -msgid "" -":issue:`37252`: Fix assertions in ``test_close`` and " -"``test_events_mask_overflow`` devpoll tests." -msgstr "" - -#: ../NEWS:30915 -msgid ":issue:`37169`: Rewrite ``_PyObject_IsFreed()`` unit tests." -msgstr "" - -#: ../NEWS:30917 -msgid "" -":issue:`37153`: ``test_venv.test_multiprocessing()`` now explicitly calls " -"``pool.terminate()`` to wait until the pool completes." -msgstr "" - -#: ../NEWS:30920 -msgid "" -":issue:`34001`: Make test_ssl pass with LibreSSL. LibreSSL handles minimum " -"and maximum TLS version differently than OpenSSL." -msgstr "" - -#: ../NEWS:30923 -msgid "" -":issue:`36919`: Make ``test_source_encoding.test_issue2301`` implementation " -"independent. The test will work now for both CPython and IronPython." -msgstr "" - -#: ../NEWS:30926 -msgid "" -":issue:`30202`: Update ``test.test_importlib.test_abc`` to test " -"``find_spec()``." -msgstr "" - -#: ../NEWS:30929 -msgid "" -":issue:`28009`: Modify the test_uuid logic to test when a program is " -"available AND can be used to obtain a MACADDR as basis for an UUID. Patch by" -" M. Felt" -msgstr "" - -#: ../NEWS:30932 -msgid "" -":issue:`34596`: Fallback to a default reason when :func:`unittest.skip` is " -"uncalled. Patch by Naitree Zhu." -msgstr "" - -#: ../NEWS:30938 -msgid "" -":issue:`38809`: On Windows, build scripts will now recognize and use " -"python.exe from an active virtual env." -msgstr "" - -#: ../NEWS:30941 -msgid "" -":issue:`38684`: Fix _hashlib build when Blake2 is disabled, but OpenSSL " -"supports it." -msgstr "" - -#: ../NEWS:30944 -msgid "" -":issue:`38468`: Misc/python-config.in now uses ``getvar()`` for all still " -"existing ``sysconfig.get_config_var()`` calls. Patch by Joannah Nanjekye." -msgstr "" - -#: ../NEWS:30947 -msgid "" -":issue:`37415`: Fix stdatomic.h header check for ICC compiler: the ICC " -"implementation lacks atomic_uintptr_t type which is needed by Python." -msgstr "" - -#: ../NEWS:30950 -msgid "" -":issue:`38301`: In Solaris family, we must be sure to use ``-D_REENTRANT``. " -"Patch by Jesús Cea Avión." -msgstr "" - -#: ../NEWS:30953 -msgid "" -":issue:`36002`: Locate ``llvm-profdata`` and ``llvm-ar`` binaries using " -"``AC_PATH_TOOL`` rather than ``AC_PATH_TARGET_TOOL``." -msgstr "" - -#: ../NEWS:30956 -msgid "" -":issue:`37936`: The :file:`.gitignore` file systematically keeps \"rooted\"," -" with a non-trailing slash, all the rules that are meant to apply to files " -"in a specific place in the repo. Previously, when the intended file to " -"ignore happened to be at the root of the repo, we'd most often accidentally " -"also ignore files and directories with the same name anywhere in the tree." -msgstr "" - -#: ../NEWS:30962 -msgid "" -":issue:`37760`: The :file:`Tools/unicode/makeunicodedata.py` script, which " -"is used for converting information from the Unicode Character Database into " -"generated code and data used by the methods of :class:`str` and by the " -":mod:`unicodedata` module, now handles each character's data as a " -"``dataclass`` with named attributes, rather than a length-18 list of " -"different fields." -msgstr "" - -#: ../NEWS:30969 -msgid "" -":issue:`37936`: The :file:`.gitignore` file no longer applies to any files " -"that are in fact tracked in the Git repository. Patch by Greg Price." -msgstr "" - -#: ../NEWS:30972 -msgid "" -":issue:`37725`: Change \"clean\" makefile target to also clean the program " -"guided optimization (PGO) data. Previously you would have to use \"make " -"clean\" and \"make profile-removal\", or \"make clobber\"." -msgstr "" - -#: ../NEWS:30976 -msgid "" -":issue:`37707`: Mark some individual tests to skip when --pgo is used. The " -"tests marked increase the PGO task time significantly and likely don't help " -"improve optimization of the final executable." -msgstr "" - -#: ../NEWS:30980 -msgid "" -":issue:`36044`: Reduce the number of unit tests run for the PGO generation " -"task. This speeds up the task by a factor of about 15x. Running the full " -"unit test suite is slow. This change may result in a slightly less " -"optimized build since not as many code branches will be executed. If you " -"are willing to wait for the much slower build, the old behavior can be " -"restored using './configure [..] PROFILE_TASK=\"-m test --pgo-extended\"'. " -"We make no guarantees as to which PGO task set produces a faster build. " -"Users who care should run their own relevant benchmarks as results can " -"depend on the environment, workload, and compiler tool chain." -msgstr "" - -#: ../NEWS:30990 -msgid "" -":issue:`37468`: ``make install`` no longer installs ``wininst-*.exe`` files " -"used by distutils bdist_wininst: bdist_wininst only works on Windows." -msgstr "" - -#: ../NEWS:30993 -msgid "" -":issue:`37189`: Many :samp:`PyRun_{XXX}()` functions like " -":c:func:`PyRun_String` were no longer exported in ``libpython38.dll`` by " -"mistake. Export them again to fix the ABI compatibility." -msgstr "" - -#: ../NEWS:30997 -msgid "" -":issue:`25361`: Enables use of SSE2 instructions in Windows 32-bit build." -msgstr "" - -#: ../NEWS:30999 -msgid "" -":issue:`36210`: Update optional extension module detection for AIX. " -"ossaudiodev and spwd are not applicable for AIX, and are no longer reported " -"as missing. 3rd-party packaging of ncurses (with ASIS support) conflicts " -"with officially supported AIX curses library, so configure AIX to use " -"libcurses.a. However, skip trying to build _curses_panel." -msgstr "" - -#: ../NEWS:31005 -msgid "patch by M Felt" -msgstr "ditambal oleh M Felt" - -#: ../NEWS:31010 -msgid "" -":issue:`38589`: Fixes HTML Help shortcut when Windows is not installed to C " -"drive" -msgstr "" - -#: ../NEWS:31013 -msgid "" -":issue:`38453`: Ensure ntpath.realpath() correctly resolves relative paths." -msgstr "" - -#: ../NEWS:31015 -msgid "" -":issue:`38519`: Restores the internal C headers that were missing from the " -"nuget.org and Microsoft Store packages." -msgstr "" - -#: ../NEWS:31018 -msgid "" -":issue:`38492`: Remove ``pythonw.exe`` dependency on the Microsoft C++ " -"runtime." -msgstr "" - -#: ../NEWS:31020 -msgid ":issue:`38344`: Fix error message in activate.bat" -msgstr "" - -#: ../NEWS:31022 -msgid "" -":issue:`38359`: Ensures ``pyw.exe`` launcher reads correct registry key." -msgstr "" - -#: ../NEWS:31024 -msgid "" -":issue:`38355`: Fixes ``ntpath.realpath`` failing on ``sys.executable``." -msgstr "" - -#: ../NEWS:31026 -msgid ":issue:`38117`: Update bundled OpenSSL to 1.1.1d" -msgstr "" - -#: ../NEWS:31028 -msgid "" -":issue:`38092`: Reduce overhead when using multiprocessing in a Windows " -"virtual environment." -msgstr "" - -#: ../NEWS:31031 -msgid "" -":issue:`38133`: Allow py.exe launcher to locate installations from the " -"Microsoft Store and improve display of active virtual environments." -msgstr "" - -#: ../NEWS:31034 -msgid "" -":issue:`38114`: The ``pip.ini`` is no longer included in the Nuget package." -msgstr "" - -#: ../NEWS:31036 -msgid "" -":issue:`32592`: Set Windows 8 as the minimum required version for API " -"support" -msgstr "" - -#: ../NEWS:31038 -msgid "" -":issue:`36634`: :func:`os.cpu_count` now returns active processors rather " -"than maximum processors." -msgstr "" - -#: ../NEWS:31041 -msgid "" -":issue:`36634`: venv activate.bat now works when the existing variables " -"contain double quote characters." -msgstr "" - -#: ../NEWS:31044 -msgid "" -":issue:`38081`: Prevent error calling :func:`os.path.realpath` on ``'NUL'``." -msgstr "" - -#: ../NEWS:31046 -msgid ":issue:`38087`: Fix case sensitivity in test_pathlib and test_ntpath." -msgstr "" - -#: ../NEWS:31048 -msgid "" -":issue:`38088`: Fixes distutils not finding vcruntime140.dll with only the " -"v142 toolset installed." -msgstr "" - -#: ../NEWS:31051 -msgid "" -":issue:`37283`: Ensure command-line and unattend.xml setting override " -"previously detected states in Windows installer." -msgstr "" - -#: ../NEWS:31054 -msgid "" -":issue:`38030`: Fixes :func:`os.stat` failing for block devices on Windows" -msgstr "" - -#: ../NEWS:31056 -msgid "" -":issue:`38020`: Fixes potential crash when calling :func:`os.readlink` (or " -"indirectly through :func:`~os.path.realpath`) on a file that is not a " -"supported link." -msgstr "" - -#: ../NEWS:31060 -msgid ":issue:`37705`: Improve the implementation of ``winerror_to_errno()``." -msgstr "" - -#: ../NEWS:31062 -msgid "" -":issue:`37549`: :func:`os.dup` no longer fails for standard streams on " -"Windows 7." -msgstr "" - -#: ../NEWS:31065 -msgid "" -":issue:`1311`: The ``nul`` file on Windows now returns True from " -":func:`~os.path.exists` and a valid result from :func:`os.stat` with " -"``S_IFCHR`` set." -msgstr "" - -#: ../NEWS:31069 -msgid "" -":issue:`9949`: Enable support for following symlinks in :func:`os.realpath`." -msgstr "" - -#: ../NEWS:31071 -msgid "" -":issue:`37834`: Treat all name surrogate reparse points on Windows in " -":func:`os.lstat` and other reparse points as regular files in " -":func:`os.stat`." -msgstr "" - -#: ../NEWS:31075 -msgid "" -":issue:`36266`: Add the module name in the formatted error message when DLL " -"load fail happens during module import in " -"``_PyImport_FindSharedFuncptrWindows()``. Patch by Srinivas Nyayapati." -msgstr "" - -#: ../NEWS:31079 -msgid "" -":issue:`25172`: Trying to import the :mod:`!crypt` module on Windows will " -"result in an :exc:`ImportError` with a message explaining that the module " -"isn't supported on Windows. On other platforms, if the underlying ``_crypt``" -" module is not available, the ImportError will include a message explaining " -"the problem." -msgstr "" - -#: ../NEWS:31085 -msgid "" -":issue:`37778`: Fixes the icons used for file associations to the Microsoft " -"Store package." -msgstr "" - -#: ../NEWS:31088 -msgid "" -":issue:`37734`: Fix use of registry values to launch Python from Microsoft " -"Store app." -msgstr "" - -#: ../NEWS:31091 -msgid "" -":issue:`37702`: Fix memory leak on Windows in creating an SSLContext object " -"or running ``urllib.request.urlopen('https://...')``." -msgstr "" - -#: ../NEWS:31094 -msgid "" -":issue:`37672`: Switch Windows Store package's pip to use bundled " -":file:`pip.ini` instead of :envvar:`PIP_USER` variable." -msgstr "" - -#: ../NEWS:31097 -msgid "" -":issue:`10945`: Officially drop support for creating bdist_wininst " -"installers on non-Windows systems." -msgstr "" - -#: ../NEWS:31100 -msgid "" -":issue:`37445`: Include the ``FORMAT_MESSAGE_IGNORE_INSERTS`` flag in " -"``FormatMessageW()`` calls." -msgstr "" - -#: ../NEWS:31103 -msgid "" -":issue:`37369`: Fixes path for :data:`sys.executable` when running from the " -"Microsoft Store." -msgstr "" - -#: ../NEWS:31106 -msgid "" -":issue:`37380`: Don't collect unfinished processes with " -"``subprocess._active`` on Windows to cleanup later. Patch by Ruslan " -"Kuprieiev." -msgstr "" - -#: ../NEWS:31109 -msgid "" -":issue:`37351`: Removes libpython38.a from standard Windows distribution." -msgstr "" - -#: ../NEWS:31111 -msgid ":issue:`35360`: Update Windows builds to use SQLite 3.28.0." -msgstr "" - -#: ../NEWS:31113 -msgid "" -":issue:`37267`: On Windows, :func:`os.dup` no longer creates an inheritable " -"fd when handling a character file." -msgstr "" - -#: ../NEWS:31116 -msgid "" -":issue:`36779`: Ensure ``time.tzname`` is correct on Windows when the active" -" code page is set to CP_UTF7 or CP_UTF8." -msgstr "" - -#: ../NEWS:31119 -msgid "" -":issue:`32587`: Make :const:`winreg.REG_MULTI_SZ` support zero-length " -"strings." -msgstr "" - -#: ../NEWS:31121 -msgid "" -":issue:`28269`: Replace use of :c:func:`strcasecmp` for the system function " -":c:func:`!_stricmp`. Patch by Minmin Gong." -msgstr "" - -#: ../NEWS:31124 -msgid ":issue:`36590`: Add native Bluetooth RFCOMM support to socket module." -msgstr "" - -#: ../NEWS:31129 -msgid ":issue:`38117`: Updated OpenSSL to 1.1.1d in macOS installer." -msgstr "" - -#: ../NEWS:31131 -msgid "" -":issue:`38089`: Move Azure Pipelines to latest VM versions and make macOS " -"tests optional" -msgstr "" - -#: ../NEWS:31134 -msgid "" -":issue:`18049`: Increase the default stack size of threads from 5MB to 16MB " -"on macOS, to match the stack size of the main thread. This avoids crashes on" -" deep recursion in threads." -msgstr "" - -#: ../NEWS:31138 -msgid "" -":issue:`34602`: Avoid test suite failures on macOS by no longer calling " -"resource.setrlimit to increase the process stack size limit at runtime. The " -"runtime change is no longer needed since the interpreter is being built with" -" a larger default stack size." -msgstr "" - -#: ../NEWS:31143 -msgid ":issue:`35360`: Update macOS installer to use SQLite 3.28.0." -msgstr "" - -#: ../NEWS:31145 -msgid ":issue:`34631`: Updated OpenSSL to 1.1.1c in macOS installer." -msgstr "" - -#: ../NEWS:31150 -msgid ":issue:`26353`: Stop adding newline when saving an IDLE shell window." -msgstr "" - -#: ../NEWS:31152 -msgid "" -":issue:`4630`: Add an option to toggle IDLE's cursor blink for shell, " -"editor, and output windows. See Settings, General, Window Preferences, " -"Cursor Blink. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:31156 -msgid ":issue:`38598`: Do not try to compile IDLE shell or output windows" -msgstr "" - -#: ../NEWS:31158 -msgid "" -":issue:`36698`: IDLE no longer fails when write non-encodable characters to " -"stderr. It now escapes them with a backslash, as the regular Python " -"interpreter. Added the ``errors`` field to the standard streams." -msgstr "" - -#: ../NEWS:31162 -msgid "" -":issue:`35379`: When exiting IDLE, catch any AttributeError. One happens " -"when EditorWindow.close is called twice. Printing a traceback, when IDLE is" -" run from a terminal, is useless and annoying." -msgstr "" - -#: ../NEWS:31166 -msgid "" -":issue:`38183`: To avoid problems, test_idle ignores the user config " -"directory. It no longer tries to create or access .idlerc or any files " -"within. Users must run IDLE to discover problems with saving settings." -msgstr "" - -#: ../NEWS:31170 -msgid "" -":issue:`38077`: IDLE no longer adds 'argv' to the user namespace when " -"initializing it. This bug only affected 3.7.4 and 3.8.0b2 to 3.8.0b4." -msgstr "" - -#: ../NEWS:31173 -msgid "" -":issue:`38041`: Shell restart lines now fill the window width, always start " -"with '=', and avoid wrapping unnecessarily. The line will still wrap if the " -"included file name is long relative to the width." -msgstr "" - -#: ../NEWS:31177 -msgid "" -":issue:`35771`: To avoid occasional spurious test_idle failures on slower " -"machines, increase the ``hover_delay`` in test_tooltip." -msgstr "" - -#: ../NEWS:31180 -msgid "" -":issue:`37824`: Properly handle user input warnings in IDLE shell. Cease " -"turning SyntaxWarnings into SyntaxErrors." -msgstr "" - -#: ../NEWS:31183 -msgid "" -":issue:`37929`: IDLE Settings dialog now closes properly when there is no " -"shell window." -msgstr "" - -#: ../NEWS:31186 -msgid "" -":issue:`37902`: Add mousewheel scrolling for IDLE module, path, and stack " -"browsers. Patch by George Zhang." -msgstr "" - -#: ../NEWS:31189 -msgid "" -":issue:`37849`: Fixed completions list appearing too high or low when shown " -"above the current line." -msgstr "" - -#: ../NEWS:31192 -msgid ":issue:`36419`: Refactor IDLE autocomplete and improve testing." -msgstr "" - -#: ../NEWS:31194 -msgid "" -":issue:`37748`: Reorder the Run menu. Put the most common choice, Run " -"Module, at the top." -msgstr "" - -#: ../NEWS:31197 -msgid "" -":issue:`37692`: Improve highlight config sample with example shell " -"interaction and better labels for shell elements." -msgstr "" - -#: ../NEWS:31200 -msgid ":issue:`37628`: Settings dialog no longer expands with font size." -msgstr "" - -#: ../NEWS:31202 -msgid "" -":issue:`37627`: Initialize the Customize Run dialog with the command line " -"arguments most recently entered before. The user can optionally edit before" -" submitting them." -msgstr "" - -#: ../NEWS:31206 -msgid "" -":issue:`33610`: Fix code context not showing the correct context when first " -"toggled on." -msgstr "" - -#: ../NEWS:31209 -msgid "" -":issue:`37530`: Optimize code context to reduce unneeded background " -"activity. Font and highlight changes now occur along with text changes " -"instead of after a random delay." -msgstr "" - -#: ../NEWS:31213 -msgid "" -":issue:`27452`: Cleanup ``config.py`` by inlining ``RemoveFile`` and " -"simplifying the handling of ``file`` in ``CreateConfigHandlers``." -msgstr "" - -#: ../NEWS:31216 -msgid "" -":issue:`37325`: Fix tab focus traversal order for help source and custom run" -" dialogs." -msgstr "" - -#: ../NEWS:31219 -msgid "" -":issue:`37321`: Both subprocess connection error messages now refer to the " -"'Startup failure' section of the IDLE doc." -msgstr "" - -#: ../NEWS:31222 -msgid "" -":issue:`17535`: Add optional line numbers for IDLE editor windows. Windows " -"open without line numbers unless set otherwise in the General tab of the " -"configuration dialog." -msgstr "" - -#: ../NEWS:31226 -msgid "" -":issue:`26806`: To compensate for stack frames added by IDLE and avoid " -"possible problems with low recursion limits, add 30 to limits in the user " -"code execution process. Subtract 30 when reporting recursion limits to make" -" this addition mostly transparent." -msgstr "" - -#: ../NEWS:31231 -msgid "" -":issue:`37177`: Properly 'attach' search dialogs to their main window so " -"that they behave like other dialogs and do not get hidden behind their main " -"window." -msgstr "" - -#: ../NEWS:31235 -msgid "" -":issue:`37039`: Adjust \"Zoom Height\" to individual screens by momentarily " -"maximizing the window on first use with a particular screen. Changing " -"screen settings may invalidate the saved height. While a window is " -"maximized, \"Zoom Height\" has no effect." -msgstr "" - -#: ../NEWS:31240 -msgid "" -":issue:`35763`: Make calltip reminder about '/' meaning positional-only less" -" obtrusive by only adding it when there is room on the first line." -msgstr "" - -#: ../NEWS:31243 -msgid "" -":issue:`5680`: Add 'Run... Customized' to the Run menu to run a module with " -"customized settings. Any 'command line arguments' entered are added to " -"sys.argv. One can suppress the normal Shell main module restart." -msgstr "" - -#: ../NEWS:31247 -msgid "" -":issue:`36390`: Gather Format menu functions into format.py. Combine " -"paragraph.py, rstrip.py, and format methods from editor.py." -msgstr "" - -#: ../NEWS:31253 -msgid "" -":issue:`38118`: Update Valgrind suppression file to ignore a false alarm in " -":c:func:`PyUnicode_Decode` when using GCC builtin strcmp()." -msgstr "" - -#: ../NEWS:31256 -msgid "" -":issue:`38347`: pathfix.py: Assume all files that end on '.py' are Python " -"scripts when working recursively." -msgstr "" - -#: ../NEWS:31259 -msgid "" -":issue:`37803`: pdb's ``--help`` and ``--version`` long options now work." -msgstr "" - -#: ../NEWS:31261 -msgid ":issue:`37942`: Improve ArgumentClinic converter for floats." -msgstr "" - -#: ../NEWS:31263 -msgid "" -":issue:`37704`: Remove ``Tools/scripts/h2py.py``: use cffi to access a C API" -" in Python." -msgstr "" - -#: ../NEWS:31266 -msgid "" -":issue:`37675`: 2to3 now works when run from a zipped standard library." -msgstr "" - -#: ../NEWS:31268 -msgid "" -":issue:`37034`: Argument Clinic now uses the argument name on errors with " -"keyword-only argument instead of their position. Patch contributed by Rémi " -"Lapeyre." -msgstr "" - -#: ../NEWS:31272 -msgid "" -":issue:`37064`: Add option -k to pathscript.py script: preserve shebang " -"flags. Add option -a to pathscript.py script: add flags." -msgstr "" - -#: ../NEWS:31278 -msgid "" -":issue:`37633`: Re-export some function compatibility wrappers for macros in" -" ``pythonrun.h``." -msgstr "" - -#: ../NEWS:31281 -msgid "" -":issue:`38644`: Provide :c:func:`Py_EnterRecursiveCall` and " -":c:func:`Py_LeaveRecursiveCall` as regular functions for the limited API. " -"Previously, there were defined as macros, but these macros didn't work with " -"the limited API which cannot access ``PyThreadState.recursion_depth`` field." -" Remove ``_Py_CheckRecursionLimit`` from the stable ABI." -msgstr "" - -#: ../NEWS:31287 -msgid "" -":issue:`38650`: The global variable :c:data:`PyStructSequence_UnnamedField` " -"is now a constant and refers to a constant string." -msgstr "" - -#: ../NEWS:31290 -msgid "" -":issue:`38540`: Fixed possible leak in :c:func:`PyArg_Parse` and similar " -"functions for format units ``\"es#\"`` and ``\"et#\"`` when the macro " -":c:macro:`PY_SSIZE_T_CLEAN` is not defined." -msgstr "" - -#: ../NEWS:31294 -msgid "" -":issue:`38395`: Fix a crash in :class:`weakref.proxy` objects due to " -"incorrect lifetime management when calling some associated methods that may " -"delete the last reference to object being referenced by the proxy. Patch by " -"Pablo Galindo." -msgstr "" - -#: ../NEWS:31299 -msgid "" -":issue:`36389`: The ``_PyObject_CheckConsistency()`` function is now also " -"available in release mode. For example, it can be used to debug a crash in " -"the ``visit_decref()`` function of the GC." -msgstr "" - -#: ../NEWS:31303 -msgid "" -":issue:`38266`: Revert the removal of PyThreadState_DeleteCurrent() with " -"documentation." -msgstr "" - -#: ../NEWS:31306 -msgid "" -":issue:`38303`: Update audioop extension module to use the stable ABI " -"(PEP-384). Patch by Tyler Kieft." -msgstr "" - -#: ../NEWS:31309 -msgid "" -":issue:`38234`: :c:func:`!Py_SetPath` now sets :data:`sys.executable` to the" -" program full path (:c:func:`Py_GetProgramFullPath`) rather than to the " -"program name (:c:func:`Py_GetProgramName`)." -msgstr "" - -#: ../NEWS:31313 -msgid "" -":issue:`38234`: Python ignored arguments passed to :c:func:`!Py_SetPath`, " -":c:func:`!Py_SetPythonHome` and :c:func:`!Py_SetProgramName`: fix Python " -"initialization to use specified arguments." -msgstr "" - -#: ../NEWS:31317 -msgid "" -":issue:`38205`: The :c:func:`Py_UNREACHABLE` macro now calls " -":c:func:`Py_FatalError`." -msgstr "" - -#: ../NEWS:31320 -msgid "" -":issue:`38140`: Make dict and weakref offsets opaque for C heap types by " -"passing the offsets through PyMemberDef" -msgstr "" - -#: ../NEWS:31323 -msgid "" -":issue:`15088`: The C function ``PyGen_NeedsFinalizing`` has been removed. " -"It was not documented, tested or used anywhere within CPython after the " -"implementation of :pep:`442`. Patch by Joannah Nanjekye. (Patch by Joannah " -"Nanjekye)" -msgstr "" - -#: ../NEWS:31328 -msgid "" -":issue:`36763`: Options added by ``PySys_AddXOption()`` are now handled the " -"same way than ``PyConfig.xoptions`` and command line ``-X`` options." -msgstr "" - -#: ../NEWS:31331 -msgid ":issue:`37926`: Fix a crash in ``PySys_SetArgvEx(0, NULL, 0)``." -msgstr "" - -#: ../NEWS:31333 -msgid "" -":issue:`37879`: Fix subtype_dealloc to suppress the type decref when the " -"base type is a C heap type" -msgstr "" - -#: ../NEWS:31336 -msgid "" -":issue:`37645`: Add :c:func:`!_PyObject_FunctionStr` to get a user-friendly " -"string representation of a function-like object. Patch by Jeroen Demeyer." -msgstr "" - -#: ../NEWS:31339 -msgid "" -":issue:`29548`: The functions ``PyEval_CallObject``, " -"``PyEval_CallFunction``, ``PyEval_CallMethod`` and " -"``PyEval_CallObjectWithKeywords`` are deprecated. Use " -":c:func:`PyObject_Call` and its variants instead." -msgstr "" - -#: ../NEWS:31343 -msgid "" -":issue:`37151`: ``PyCFunction_Call`` is now a deprecated alias of " -":c:func:`PyObject_Call`." -msgstr "" - -#: ../NEWS:31346 -msgid "" -":issue:`37540`: The vectorcall protocol now requires that the caller passes " -"only strings as keyword names." -msgstr "" - -#: ../NEWS:31349 -msgid "" -":issue:`37207`: The vectorcall protocol is now enabled for ``type`` objects:" -" set ``tp_vectorcall`` to a vectorcall function to be used instead of " -"``tp_new`` and ``tp_init`` when calling the class itself." -msgstr "" - -#: ../NEWS:31353 -msgid "" -":issue:`21120`: Exclude Python-ast.h, ast.h and asdl.h from the limited API." -msgstr "" - -#: ../NEWS:31355 -msgid "" -":issue:`37483`: Add new function ``_PyObject_CallOneArg`` for calling an " -"object with one positional argument." -msgstr "" - -#: ../NEWS:31358 -msgid ":issue:`36763`: Add :c:func:`PyConfig_SetWideStringList` function." -msgstr "" - -#: ../NEWS:31360 -msgid "" -":issue:`37337`: Add fast functions for calling methods: " -":c:func:`!_PyObject_VectorcallMethod`, :c:func:`!_PyObject_CallMethodNoArgs`" -" and :c:func:`!_PyObject_CallMethodOneArg`." -msgstr "" - -#: ../NEWS:31365 -msgid "" -":issue:`28805`: The :c:macro:`METH_FASTCALL` calling convention has been " -"documented." -msgstr "" - -#: ../NEWS:31368 -msgid "" -":issue:`37221`: The new function :c:func:`!PyCode_NewWithPosOnlyArgs` allows" -" to create code objects like :c:func:`!PyCode_New`, but with an extra " -"*posonlyargcount* parameter for indicating the number of positonal-only " -"arguments." -msgstr "" - -#: ../NEWS:31373 -msgid ":issue:`37215`: Fix dtrace issue introduce by :issue:`36842`" -msgstr "" - -#: ../NEWS:31375 -msgid "" -":issue:`37194`: Add a new public :c:func:`PyObject_CallNoArgs` function to " -"the C API: call a callable Python object without any arguments. It is the " -"most efficient way to call a callback without any argument. On x86-64, for " -"example, ``PyObject_CallFunctionObjArgs(func, NULL)`` allocates 960 bytes on" -" the stack per call, whereas ``PyObject_CallNoArgs(func)`` only allocates " -"624 bytes per call." -msgstr "" - -#: ../NEWS:31382 -msgid "" -":issue:`37170`: Fix the cast on error in " -":c:func:`PyLong_AsUnsignedLongLongMask()`." -msgstr "" - -#: ../NEWS:31385 -msgid "" -":issue:`35381`: Convert posixmodule.c statically allocated types " -"``DirEntryType`` and ``ScandirIteratorType`` to heap-allocated types." -msgstr "" - -#: ../NEWS:31388 -msgid "" -":issue:`34331`: Use singular/plural noun in error message when instantiating" -" an abstract class with non-overridden abstract method(s)." -msgstr "" - -#: ../NEWS:31393 -msgid "Python 3.8.0 beta 1" -msgstr "Python 3.8.0 beta 1" - -#: ../NEWS:31395 -msgid "*Release date: 2019-06-04*" -msgstr "*Tanggal rilis: 2019-06-04*" - -#: ../NEWS:31400 -msgid "" -":issue:`35907`: :cve:`2019-9948`: Avoid file reading by disallowing ``local-" -"file://`` and ``local_file://`` URL schemes in ``URLopener().open()`` and " -"``URLopener().retrieve()`` of :mod:`urllib.request`." -msgstr "" - -#: ../NEWS:31405 -msgid "" -":issue:`33529`: Prevent fold function used in email header encoding from " -"entering infinite loop when there are too many non-ASCII characters in a " -"header." -msgstr "" - -#: ../NEWS:31409 -msgid "" -":issue:`33164`: Updated blake2 implementation which uses secure memset " -"implementation provided by platform." -msgstr "" - -#: ../NEWS:31415 -msgid "" -":issue:`35814`: Allow unpacking in the right hand side of annotated " -"assignments. In particular, ``t: Tuple[int, ...] = x, y, *z`` is now " -"allowed." -msgstr "" - -#: ../NEWS:31419 -msgid "" -":issue:`37126`: All structseq objects are now tracked by the garbage " -"collector. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:31422 -msgid "" -":issue:`37122`: Make the *co_argcount* attribute of code objects represent " -"the total number of positional arguments (including positional-only " -"arguments). The value of *co_posonlyargcount* can be used to distinguish " -"which arguments are positional only, and the difference (*co_argcount* - " -"*co_posonlyargcount*) is the number of positional-or-keyword arguments. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:31429 -msgid "" -":issue:`20092`: Constructors of :class:`int`, :class:`float` and " -":class:`complex` will now use the :meth:`~object.__index__` special method, " -"if available and the corresponding method :meth:`~object.__int__`, " -":meth:`~object.__float__` or :meth:`~object.__complex__` is not available." -msgstr "" - -#: ../NEWS:31434 -msgid ":issue:`37087`: Add native thread ID (TID) support to OpenBSD." -msgstr "" - -#: ../NEWS:31436 -msgid "" -":issue:`26219`: Implemented per opcode cache mechanism and ``LOAD_GLOBAL`` " -"instruction use it. ``LOAD_GLOBAL`` is now about 40% faster. Contributed by " -"Yury Selivanov, and Inada Naoki." -msgstr "" - -#: ../NEWS:31440 -msgid "" -":issue:`37072`: Fix crash in PyAST_FromNodeObject() when flags is NULL." -msgstr "" - -#: ../NEWS:31442 -msgid "" -":issue:`37029`: Freeing a great many small objects could take time quadratic" -" in the number of arenas, due to using linear search to keep " -"``obmalloc.c``'s list of usable arenas sorted by order of number of free " -"memory pools. This is accomplished without search now, leaving the worst-" -"case time linear in the number of arenas. For programs where this quite " -"visibly matters (typically with more than 100 thousand small objects alive " -"simultaneously), this can greatly reduce the time needed to release their " -"memory." -msgstr "" - -#: ../NEWS:31451 -msgid "" -":issue:`26423`: Fix possible overflow in ``wrap_lenfunc()`` when " -"``sizeof(long) < sizeof(Py_ssize_t)`` (e.g., 64-bit Windows)." -msgstr "" - -#: ../NEWS:31454 -msgid "" -":issue:`37050`: Improve the AST for \"debug\" f-strings, which use '=' to " -"print out the source of the expression being evaluated. Delete expr_text " -"from the FormattedValue node, and instead use a Constant string node " -"(possibly merged with adjacent constant expressions inside the f-string)." -msgstr "" - -#: ../NEWS:31459 -msgid "" -":issue:`22385`: The ``bytes.hex``, ``bytearray.hex``, and ``memoryview.hex``" -" methods as well as the ``binascii.hexlify`` and ``b2a_hex`` functions now " -"have the ability to include an optional separator between hex bytes. This " -"functionality was inspired by MicroPython's hexlify implementation." -msgstr "" - -#: ../NEWS:31464 -msgid ":issue:`26836`: Add :func:`os.memfd_create`." -msgstr "" - -#: ../NEWS:31466 -msgid "" -":issue:`37032`: Added new ``replace()`` method to the code type " -"(:class:`types.CodeType`)." -msgstr "" - -#: ../NEWS:31469 -msgid "" -":issue:`37007`: Implement :func:`socket.if_nameindex`, " -":func:`socket.if_nametoindex`, and :func:`socket.if_indextoname` on Windows." -msgstr "" - -#: ../NEWS:31473 -msgid "" -":issue:`36829`: :c:func:`PyErr_WriteUnraisable` now creates a traceback " -"object if there is no current traceback. Moreover, call " -":c:func:`PyErr_NormalizeException` and :c:func:`PyException_SetTraceback` to" -" normalize the exception value. Ignore any error." -msgstr "" - -#: ../NEWS:31478 -msgid "" -":issue:`36878`: Only accept text after ``# type: ignore`` if the first " -"character is ASCII. This is to disallow things like ``# type: ignoreé``." -msgstr "" - -#: ../NEWS:31481 -msgid "" -":issue:`36878`: Store text appearing after a ``# type: ignore`` comment in " -"the AST. For example a type ignore like ``# type: ignore[E1000]`` will have " -"the string ``\"[E1000]\"`` stored in its AST node." -msgstr "" - -#: ../NEWS:31485 -msgid "" -":issue:`2180`: Treat line continuation at EOF as a ``SyntaxError`` by " -"Anthony Sottile." -msgstr "" - -#: ../NEWS:31488 -msgid "" -":issue:`36907`: Fix a crash when calling a C function with a keyword dict " -"(``f(**kwargs)``) and changing the dict ``kwargs`` while that function is " -"running." -msgstr "" - -#: ../NEWS:31492 -msgid "" -":issue:`36946`: Fix possible signed integer overflow when handling slices." -msgstr "" - -#: ../NEWS:31494 -msgid ":issue:`36826`: Add NamedExpression kind support to ast_unparse.c" -msgstr "" - -#: ../NEWS:31496 -msgid "" -":issue:`1875`: A :exc:`SyntaxError` is now raised if a code blocks that will" -" be optimized away (e.g. if conditions that are always false) contains " -"syntax errors. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:31500 -msgid "" -":issue:`36027`: Allow computation of modular inverses via three-argument " -"``pow``: the second argument is now permitted to be negative in the case " -"where the first and third arguments are relatively prime." -msgstr "" - -#: ../NEWS:31504 -msgid ":issue:`36861`: Update the Unicode database to version 12.1.0." -msgstr "" - -#: ../NEWS:31506 -msgid "" -":issue:`28866`: Avoid caching attributes of classes which type defines mro()" -" to avoid a hard cache invalidation problem." -msgstr "" - -#: ../NEWS:31509 -msgid "" -":issue:`36851`: The ``FrameType`` stack is now correctly cleaned up if the " -"execution ends with a return and the stack is not empty." -msgstr "" - -#: ../NEWS:31512 -msgid "" -":issue:`34616`: The ``compile()`` builtin functions now support the " -"``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag, which allow to compile sources " -"that contains top-level ``await``, ``async with`` or ``async for``. This is" -" useful to evaluate async-code from with an already async functions; for " -"example in a custom REPL." -msgstr "" - -#: ../NEWS:31518 -msgid "" -":issue:`36842`: Implement PEP 578, adding sys.audit, io.open_code and " -"related APIs." -msgstr "" - -#: ../NEWS:31521 -msgid "" -":issue:`27639`: Correct return type for UserList slicing operations. Patch " -"by Michael Blahay, Erick Cervantes, and vaultah" -msgstr "" - -#: ../NEWS:31524 -msgid "" -":issue:`36737`: Move PyRuntimeState.warnings into per-interpreter state (via" -" \"module state\")." -msgstr "" - -#: ../NEWS:31527 -msgid "" -":issue:`36793`: Removed ``__str__`` implementations from builtin types " -":class:`bool`, :class:`int`, :class:`float`, :class:`complex` and few " -"classes from the standard library. They now inherit ``__str__()`` from " -":class:`object`." -msgstr "" - -#: ../NEWS:31532 -msgid "" -":issue:`36817`: Add a ``=`` feature f-strings for debugging. This can " -"precede ``!s``, ``!r``, or ``!a``. It produces the text of the expression, " -"followed by an equal sign, followed by the repr of the value of the " -"expression. So ``f'{3*9+15=}'`` would be equal to the string " -"``'3*9+15=42'``. If ``=`` is specified, the default conversion is set to " -"``!r``, unless a format spec is given, in which case the formatting behavior" -" is unchanged, and __format__ will be used." -msgstr "" - -#: ../NEWS:31540 -msgid "" -":issue:`24048`: Save the live exception during import.c's " -"``remove_module()``." -msgstr "" - -#: ../NEWS:31542 -msgid "" -":issue:`27987`: pymalloc returns memory blocks aligned by 16 bytes, instead " -"of 8 bytes, on 64-bit platforms to conform x86-64 ABI. Recent compilers " -"assume this alignment more often. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:31546 -msgid "" -":issue:`36601`: A long-since-meaningless check for ``getpid() == main_pid`` " -"was removed from Python's internal C signal handler." -msgstr "" - -#: ../NEWS:31549 -msgid "" -":issue:`36594`: Fix incorrect use of ``%p`` in format strings. Patch by " -"Zackery Spytz." -msgstr "" - -#: ../NEWS:31552 -msgid "" -":issue:`36045`: ``builtins.help()`` now prefixes ``async`` for async " -"functions." -msgstr "" - -#: ../NEWS:31554 -msgid "" -":issue:`36084`: Add native thread ID (TID) to threading.Thread objects " -"(supported platforms: Windows, FreeBSD, Linux, macOS)" -msgstr "" - -#: ../NEWS:31557 -msgid "" -":issue:`36035`: Added fix for broken symlinks in combination with pathlib" -msgstr "" - -#: ../NEWS:31559 -msgid "" -":issue:`35983`: Added new trashcan macros to deal with a double deallocation" -" that could occur when the ``tp_dealloc`` of a subclass calls the " -"``tp_dealloc`` of a base class and that base class uses the trashcan " -"mechanism. Patch by Jeroen Demeyer." -msgstr "" - -#: ../NEWS:31564 -msgid "" -":issue:`20602`: Do not clear :data:`sys.flags` and :data:`sys.float_info` " -"during shutdown. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:31567 -msgid "" -":issue:`26826`: Expose :func:`copy_file_range` as a low level API in the " -":mod:`os` module." -msgstr "" - -#: ../NEWS:31570 -msgid "" -":issue:`32388`: Remove cross-version binary compatibility requirement in " -"tp_flags." -msgstr "" - -#: ../NEWS:31573 -msgid "" -":issue:`31862`: Port binascii to PEP 489 multiphase initialization. Patch by" -" Marcel Plch." -msgstr "" - -#: ../NEWS:31579 -msgid ":issue:`37128`: Added :func:`math.perm`." -msgstr "" - -#: ../NEWS:31581 -msgid "" -":issue:`37120`: Add SSLContext.num_tickets to control the number of TLSv1.3 " -"session tickets." -msgstr "" - -#: ../NEWS:31584 -msgid "" -":issue:`12202`: Fix the error handling in " -":meth:`!msilib.SummaryInformation.GetProperty`. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:31587 -msgid "" -":issue:`26835`: The fcntl module now contains file sealing constants for " -"sealing of memfds." -msgstr "" - -#: ../NEWS:31590 -msgid "" -":issue:`29262`: Add ``get_origin()`` and ``get_args()`` introspection " -"helpers to ``typing`` module." -msgstr "" - -#: ../NEWS:31593 -msgid "" -":issue:`12639`: :meth:`!msilib.Directory.start_component` no longer fails if" -" *keyfile* is not ``None``." -msgstr "" - -#: ../NEWS:31596 -msgid "" -":issue:`36999`: Add the ``asyncio.Task.get_coro()`` method to publicly " -"expose the tasks's coroutine object." -msgstr "" - -#: ../NEWS:31599 -msgid "" -":issue:`35246`: Make :func:`asyncio.create_subprocess_exec` accept path-like" -" arguments." -msgstr "" - -#: ../NEWS:31602 -msgid "" -":issue:`35279`: Change default *max_workers* of ``ThreadPoolExecutor`` from " -"``cpu_count() * 5`` to ``min(32, cpu_count() + 4)``. Previous value was " -"unreasonably large on many cores machines." -msgstr "" - -#: ../NEWS:31606 -msgid "" -":issue:`37076`: :func:`_thread.start_new_thread` now logs uncaught exception" -" raised by the function using :func:`sys.unraisablehook`, rather than " -":func:`sys.excepthook`, so the hook gets access to the function which raised" -" the exception." -msgstr "" - -#: ../NEWS:31611 -msgid "" -":issue:`33725`: On macOS, the :mod:`multiprocessing` module now uses *spawn*" -" start method by default." -msgstr "" - -#: ../NEWS:31614 -msgid "" -":issue:`37054`: Fix destructor :class:`!_pyio.BytesIO` and " -":class:`!_pyio.TextIOWrapper`: initialize their ``_buffer`` attribute as " -"soon as possible (in the class body), because it's used by ``__del__()`` " -"which calls ``close()``." -msgstr "" - -#: ../NEWS:31619 -msgid "" -":issue:`37058`: PEP 544: Add ``Protocol`` and ``@runtime_checkable`` to the " -"``typing`` module." -msgstr "" - -#: ../NEWS:31622 -msgid "" -":issue:`36933`: The functions ``sys.set_coroutine_wrapper`` and " -"``sys.get_coroutine_wrapper`` that were deprecated and marked for removal in" -" 3.8 have been removed." -msgstr "" - -#: ../NEWS:31626 -msgid "" -":issue:`37047`: Handle late binding and attribute access in " -":class:`unittest.mock.AsyncMock` setup for autospeccing. Document newly " -"implemented async methods in :class:`unittest.mock.MagicMock`." -msgstr "" - -#: ../NEWS:31630 -msgid ":issue:`37049`: PEP 589: Add ``TypedDict`` to the ``typing`` module." -msgstr "" - -#: ../NEWS:31632 -msgid ":issue:`37046`: PEP 586: Add ``Literal`` to the ``typing`` module." -msgstr "" - -#: ../NEWS:31634 -msgid "" -":issue:`37045`: PEP 591: Add ``Final`` qualifier and ``@final`` decorator to" -" the ``typing`` module." -msgstr "" - -#: ../NEWS:31637 -msgid "" -":issue:`37035`: Don't log OSError based exceptions if a fatal error has " -"occurred in asyncio transport. Peer can generate almost any OSError, user " -"cannot avoid these exceptions by fixing own code. Errors are still " -"propagated to user code, it's just logging them is pointless and pollute " -"asyncio logs." -msgstr "" - -#: ../NEWS:31643 -msgid "" -":issue:`37001`: :func:`symtable.symtable` now accepts the same input types " -"for source code as the built-in :func:`compile` function. Patch by Dino " -"Viehland." -msgstr "" - -#: ../NEWS:31647 -msgid ":issue:`37028`: Implement asyncio REPL" -msgstr "" - -#: ../NEWS:31649 -msgid "" -":issue:`37027`: Return safe to use proxy socket object from " -"transport.get_extra_info('socket')" -msgstr "" - -#: ../NEWS:31652 -msgid ":issue:`32528`: Make asyncio.CancelledError a BaseException." -msgstr "" - -#: ../NEWS:31654 -msgid "" -"This will address the common mistake many asyncio users make: an \"except " -"Exception\" clause breaking Tasks cancellation." -msgstr "" - -#: ../NEWS:31657 -msgid "" -"In addition to this change, we stop inheriting asyncio.TimeoutError and " -"asyncio.InvalidStateError from their concurrent.futures.* counterparts. " -"There's no point for these exceptions to share the inheritance chain." -msgstr "" - -#: ../NEWS:31661 -msgid "" -":issue:`1230540`: Add a new :func:`threading.excepthook` function which " -"handles uncaught :meth:`threading.Thread.run` exception. It can be " -"overridden to control how uncaught :meth:`threading.Thread.run` exceptions " -"are handled." -msgstr "" - -#: ../NEWS:31665 -msgid "" -":issue:`36996`: Handle :func:`unittest.mock.patch` used as a decorator on " -"async functions." -msgstr "" - -#: ../NEWS:31668 -msgid "" -":issue:`37008`: Add support for calling :func:`next` with the mock resulting" -" from :func:`unittest.mock.mock_open`" -msgstr "" - -#: ../NEWS:31671 -msgid "" -":issue:`27737`: Allow whitespace only header encoding in ``email.header`` - " -"by Batuhan Taskaya" -msgstr "" - -#: ../NEWS:31674 -msgid "" -":issue:`36969`: PDB command ``args`` now display positional only arguments." -" Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:31677 -msgid "" -":issue:`36969`: PDB command ``args`` now display keyword only arguments. " -"Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:31680 -msgid "" -":issue:`36983`: Add missing names to ``typing.__all__``: ``ChainMap``, " -"``ForwardRef``, ``OrderedDict`` - by Anthony Sottile." -msgstr "" - -#: ../NEWS:31683 -msgid "" -":issue:`36972`: Add SupportsIndex protocol to the typing module to allow " -"type checking to detect classes that can be passed to ``hex()``, ``oct()`` " -"and ``bin()``." -msgstr "" - -#: ../NEWS:31687 -msgid "" -":issue:`32972`: Implement ``unittest.IsolatedAsyncioTestCase`` to help " -"testing asyncio-based code." -msgstr "" - -#: ../NEWS:31690 -msgid "" -":issue:`36952`: :func:`fileinput.input` and :class:`fileinput.FileInput` " -"**bufsize** argument has been removed (was deprecated and ignored since " -"Python 3.6), and as a result the **mode** and **openhook** arguments have " -"been made keyword-only." -msgstr "" - -#: ../NEWS:31695 -msgid "" -":issue:`36952`: Starting with Python 3.3, importing ABCs from " -":mod:`collections` is deprecated, and import should be done from " -":mod:`collections.abc`. Still being able to import from :mod:`collections` " -"was marked for removal in 3.8, but has been delayed to 3.9; documentation " -"and ``DeprecationWarning`` clarified." -msgstr "" - -#: ../NEWS:31701 -msgid ":issue:`36949`: Implement __repr__ for WeakSet objects." -msgstr "" - -#: ../NEWS:31703 -msgid "" -":issue:`36948`: Fix :exc:`NameError` in " -":meth:`urllib.request.URLopener.retrieve`. Patch by Karthikeyan " -"Singaravelan." -msgstr "" - -#: ../NEWS:31707 -msgid "" -":issue:`33524`: Fix the folding of email header when the max_line_length is " -"0 or None and the header contains non-ascii characters. Contributed by " -"Licht Takeuchi (@Licht-T)." -msgstr "" - -#: ../NEWS:31711 -msgid "" -":issue:`24564`: :func:`shutil.copystat` now ignores :const:`errno.EINVAL` on" -" :func:`os.setxattr` which may occur when copying files on filesystems " -"without extended attributes support." -msgstr "" - -#: ../NEWS:31715 -msgid "Original patch by Giampaolo Rodola, updated by Ying Wang." -msgstr "*Patch* awal oleh Giampaolo Rodola, diperbarui oleh Ying Wang." - -#: ../NEWS:31717 -msgid "" -":issue:`36888`: Python child processes can now access the status of their " -"parent process using multiprocessing.process.parent_process" -msgstr "" - -#: ../NEWS:31720 -msgid ":issue:`36921`: Deprecate ``@coroutine`` for sake of ``async def``." -msgstr "" - -#: ../NEWS:31722 -msgid "" -":issue:`25652`: Fix bug in ``__rmod__`` of ``UserString`` - by Batuhan " -"Taskaya." -msgstr "" - -#: ../NEWS:31724 -msgid "" -":issue:`36916`: Remove a message about an unhandled exception in a task when" -" writer.write() is used without await and writer.drain() fails with an " -"exception." -msgstr "" - -#: ../NEWS:31728 -msgid "" -":issue:`36889`: Introduce :class:`asyncio.Stream` class that merges " -":class:`asyncio.StreamReader` and :class:`asyncio.StreamWriter` " -"functionality. :class:`asyncio.Stream` can work in readonly, writeonly and " -"readwrite modes. Provide :func:`asyncio.connect`, " -":func:`asyncio.connect_unix`, :func:`asyncio.connect_read_pipe` and " -":func:`asyncio.connect_write_pipe` factories to open :class:`asyncio.Stream`" -" connections. Provide :class:`asyncio.StreamServer` and " -":class:`UnixStreamServer` to serve servers with asyncio.Stream API. Modify " -":func:`asyncio.create_subprocess_shell` and " -":func:`asyncio.create_subprocess_exec` to use :class:`asyncio.Stream` " -"instead of deprecated :class:`StreamReader` and :class:`StreamWriter`. " -"Deprecate :class:`asyncio.StreamReader` and :class:`asyncio.StreamWriter`. " -"Deprecate usage of private classes, e.g. :class:`asyncio.FlowControlMixing` " -"and :class:`asyncio.StreamReaderProtocol` outside of asyncio package." -msgstr "" - -#: ../NEWS:31744 -msgid "" -":issue:`36845`: Added validation of integer prefixes to the construction of " -"IP networks and interfaces in the ipaddress module." -msgstr "" - -#: ../NEWS:31747 -msgid ":issue:`23378`: Add an extend action to argparser." -msgstr "" - -#: ../NEWS:31749 -msgid "" -":issue:`36867`: Fix a bug making a SharedMemoryManager instance and its " -"parent process use two separate resource_tracker processes." -msgstr "" - -#: ../NEWS:31752 -msgid "" -":issue:`23896`: Adds a grammar to lib2to3.pygram that contains exec as a " -"function not as statement." -msgstr "" - -#: ../NEWS:31755 -msgid "" -":issue:`36895`: The function ``time.clock()`` was deprecated in 3.3 in favor" -" of ``time.perf_counter()`` and marked for removal in 3.8, it has removed." -msgstr "" - -#: ../NEWS:31758 -msgid "" -":issue:`35545`: Fix asyncio discarding IPv6 scopes when ensuring hostname " -"resolutions internally" -msgstr "" - -#: ../NEWS:31761 -msgid "" -":issue:`36887`: Add new function :func:`math.isqrt` to compute integer " -"square roots." -msgstr "" - -#: ../NEWS:31764 -msgid "" -":issue:`34632`: Introduce the ``importlib.metadata`` module with " -"(provisional) support for reading metadata from third-party packages." -msgstr "" - -#: ../NEWS:31767 -msgid "" -":issue:`36878`: When using ``type_comments=True`` in ``ast.parse``, treat " -"``# type: ignore`` followed by a non-alphanumeric character and then " -"arbitrary text as a type ignore, instead of requiring nothing but whitespace" -" or another comment. This is to permit formations such as ``# type: " -"ignore[E1000]``." -msgstr "" - -#: ../NEWS:31773 -msgid "" -":issue:`36778`: ``cp65001`` encoding (Windows code page 65001) becomes an " -"alias to ``utf_8`` encoding." -msgstr "" - -#: ../NEWS:31776 -msgid "" -":issue:`36867`: The multiprocessing.resource_tracker replaces the " -"multiprocessing.semaphore_tracker module. Other than semaphores, " -"resource_tracker also tracks shared_memory segments." -msgstr "" - -#: ../NEWS:31780 -msgid "" -":issue:`30262`: The ``Cache`` and ``Statement`` objects of the " -":mod:`sqlite3` module are not exposed to the user. Patch by Aviv Palivoda." -msgstr "" - -#: ../NEWS:31783 -msgid "" -":issue:`24538`: In ``shutil.copystat()``, first copy extended file " -"attributes and then file permissions, since extended attributes can only be " -"set on the destination while it is still writeable." -msgstr "" - -#: ../NEWS:31787 -msgid "" -":issue:`36829`: Add new :func:`sys.unraisablehook` function which can be " -"overridden to control how \"unraisable exceptions\" are handled. It is " -"called when an exception has occurred but there is no way for Python to " -"handle it. For example, when a destructor raises an exception or during " -"garbage collection (:func:`gc.collect`)." -msgstr "" - -#: ../NEWS:31793 -msgid "" -":issue:`36832`: Introducing ``zipfile.Path``, a pathlib-compatible wrapper " -"for traversing zip files." -msgstr "" - -#: ../NEWS:31796 -msgid "" -":issue:`36814`: Fix an issue where os.posix_spawnp() would incorrectly raise" -" a TypeError when file_actions is None." -msgstr "" - -#: ../NEWS:31799 -msgid "" -":issue:`33110`: Handle exceptions raised by functions added by " -"concurrent.futures add_done_callback correctly when the Future has already " -"completed." -msgstr "" - -#: ../NEWS:31803 -msgid "" -":issue:`26903`: Limit ``max_workers`` in ``ProcessPoolExecutor`` to 61 to " -"work around a WaitForMultipleObjects limitation." -msgstr "" - -#: ../NEWS:31806 -msgid "" -":issue:`36813`: Fix :class:`~logging.handlers.QueueListener` to call " -"``queue.task_done()`` upon stopping. Patch by Bar Harel." -msgstr "" - -#: ../NEWS:31809 -msgid "" -":issue:`36806`: Forbid creation of asyncio stream objects like StreamReader," -" StreamWriter, Process, and their protocols outside of asyncio package." -msgstr "" - -#: ../NEWS:31812 -msgid "" -":issue:`36802`: Provide both sync and async calls for StreamWriter.write() " -"and StreamWriter.close()" -msgstr "" - -#: ../NEWS:31815 -msgid "" -":issue:`36801`: Properly handle SSL connection closing in asyncio " -"StreamWriter.drain() call." -msgstr "" - -#: ../NEWS:31818 -msgid "" -":issue:`36785`: Implement PEP 574 (pickle protocol 5 with out-of-band " -"buffers)." -msgstr "" - -#: ../NEWS:31820 -msgid "" -":issue:`36772`: functools.lru_cache() can now be used as a straight " -"decorator in addition to its existing usage as a function that returns a " -"decorator." -msgstr "" - -#: ../NEWS:31823 -msgid "" -":issue:`6584`: Add a :exc:`~gzip.BadGzipFile` exception to the :mod:`gzip` " -"module." -msgstr "" - -#: ../NEWS:31826 -msgid "" -":issue:`36748`: Optimized write buffering in C implementation of " -"``TextIOWrapper``. Writing ASCII string to ``TextIOWrapper`` with ascii, " -"latin1, or utf-8 encoding is about 20% faster. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:31830 -msgid "" -":issue:`8138`: Don't mark ``wsgiref.simple_server.SimpleServer`` as multi-" -"threaded since ``wsgiref.simple_server.WSGIServer`` is single-threaded." -msgstr "" - -#: ../NEWS:31834 -msgid "" -":issue:`22640`: :func:`py_compile.compile` now supports silent mode. Patch " -"by Joannah Nanjekye" -msgstr "" - -#: ../NEWS:31837 -msgid "" -":issue:`29183`: Fix double exceptions in " -":class:`wsgiref.handlers.BaseHandler` by calling its " -":meth:`~wsgiref.handlers.BaseHandler.close` method only when no exception is" -" raised." -msgstr "" - -#: ../NEWS:31841 -msgid ":issue:`36548`: Improved the repr of regular expression flags." -msgstr "" - -#: ../NEWS:31843 -msgid "" -":issue:`36542`: The signature of Python functions can now be overridden by " -"specifying the ``__text_signature__`` attribute." -msgstr "" - -#: ../NEWS:31846 -msgid "" -":issue:`36533`: Reinitialize logging.Handler locks in forked child processes" -" instead of attempting to acquire them all in the parent before forking only" -" to be released in the child process. The acquire/release pattern was " -"leading to deadlocks in code that has implemented any form of chained " -"logging handlers that depend upon one another as the lock acquisition order " -"cannot be guaranteed." -msgstr "" - -#: ../NEWS:31853 -msgid "" -":issue:`35252`: Throw a TypeError instead of an AssertionError when using an" -" invalid type annotation with singledispatch." -msgstr "" - -#: ../NEWS:31856 -msgid "" -":issue:`35900`: Allow reduction methods to return a 6-item tuple where the " -"6th item specifies a custom state-setting method that's called instead of " -"the regular ``__setstate__`` method." -msgstr "" - -#: ../NEWS:31860 -msgid "" -":issue:`35900`: enable custom reduction callback registration for functions " -"and classes in _pickle.c, using the new Pickler's attribute " -"``reducer_override``" -msgstr "" - -#: ../NEWS:31864 -msgid "" -":issue:`36368`: Fix a bug crashing SharedMemoryManager instances in " -"interactive sessions after a ctrl-c (KeyboardInterrupt) was sent" -msgstr "" - -#: ../NEWS:31867 -msgid ":issue:`31904`: Fix mmap fail for VxWorks" -msgstr "" - -#: ../NEWS:31869 -msgid "" -":issue:`27497`: :meth:`csv.DictWriter.writeheader` now returns the return " -"value of the underlying :meth:`csv.Writer.writerow` method. Patch " -"contributed by Ashish Nitin Patil." -msgstr "" - -#: ../NEWS:31873 -msgid "" -":issue:`36239`: Parsing .mo files now ignores comments starting and ending " -"with #-#-#-#-#." -msgstr "" - -#: ../NEWS:31876 -msgid "" -":issue:`26707`: Enable plistlib to read and write binary plist files that " -"were created as a KeyedArchive file. Specifically, this allows the plistlib " -"to process 0x80 tokens as UID objects." -msgstr "" - -#: ../NEWS:31880 -msgid ":issue:`31904`: Add posix module support for VxWorks." -msgstr "" - -#: ../NEWS:31882 -msgid "" -":issue:`35125`: Asyncio: Remove inner callback on outer cancellation in " -"shield" -msgstr "" - -#: ../NEWS:31884 -msgid "" -":issue:`35721`: Fix :meth:`asyncio.SelectorEventLoop.subprocess_exec` leaks " -"file descriptors if ``Popen`` fails and called with " -"``stdin=subprocess.PIPE``. Patch by Niklas Fiekas." -msgstr "" - -#: ../NEWS:31888 -msgid "" -":issue:`31855`: :func:`unittest.mock.mock_open` results now respects the " -"argument of read([size]). Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:31891 -msgid "" -":issue:`35431`: Implement :func:`math.comb` that returns binomial " -"coefficient, that computes the number of ways to choose k items from n items" -" without repetition and without order. Patch by Yash Aggarwal and Keller " -"Fuchs." -msgstr "" - -#: ../NEWS:31895 -msgid "" -":issue:`26660`: Fixed permission errors in " -":class:`~tempfile.TemporaryDirectory` clean up. Previously " -"``TemporaryDirectory.cleanup()`` failed when non-writeable or non-searchable" -" files or directories were created inside a temporary directory." -msgstr "" - -#: ../NEWS:31901 -msgid "" -":issue:`34271`: Add debugging helpers to ssl module. It's now possible to " -"dump key material and to trace TLS protocol. The default and stdlib contexts" -" also support SSLKEYLOGFILE env var." -msgstr "" - -#: ../NEWS:31905 -msgid "" -":issue:`26467`: Added AsyncMock to support using unittest to mock asyncio " -"coroutines. Patch by Lisa Roach." -msgstr "" - -#: ../NEWS:31908 -msgid "" -":issue:`33569`: dataclasses.InitVar: Exposes the type used to create the " -"init var." -msgstr "" - -#: ../NEWS:31911 -msgid "" -":issue:`34424`: Fix serialization of messages containing encoded strings " -"when the policy.linesep is set to a multi-character string. Patch by Jens " -"Troeger." -msgstr "" - -#: ../NEWS:31915 -msgid "" -":issue:`34303`: Performance of :func:`functools.reduce` is slightly " -"improved. Patch by Sergey Fedoseev." -msgstr "" - -#: ../NEWS:31918 -msgid "" -":issue:`33361`: Fix a bug in :class:`codecs.StreamRecoder` where seeking " -"might leave old data in a buffer and break subsequent read calls. Patch by " -"Ammar Askar." -msgstr "" - -#: ../NEWS:31922 -msgid "" -":issue:`22454`: The :mod:`shlex` module now exposes :func:`shlex.join`, the " -"inverse of :func:`shlex.split`. Patch by Bo Bayles." -msgstr "" - -#: ../NEWS:31925 -msgid "" -":issue:`31922`: :meth:`asyncio.AbstractEventLoop.create_datagram_endpoint`: " -"Do not connect UDP socket when broadcast is allowed. This allows to receive " -"replies after a UDP broadcast." -msgstr "" - -#: ../NEWS:31929 -msgid "" -":issue:`24882`: Change ThreadPoolExecutor to use existing idle threads " -"before spinning up new ones." -msgstr "" - -#: ../NEWS:31932 -msgid "" -":issue:`31961`: Added support for bytes and path-like objects in " -":func:`subprocess.Popen` on Windows. The *args* parameter now accepts a " -":term:`path-like object` if *shell* is ``False`` and a sequence containing " -"bytes and path-like objects. The *executable* parameter now accepts a bytes " -"and :term:`path-like object`. The *cwd* parameter now accepts a bytes " -"object. Based on patch by Anders Lorentsen." -msgstr "" - -#: ../NEWS:31939 -msgid "" -":issue:`33123`: :class:`pathlib.Path.unlink` now accepts a *missing_ok* " -"parameter to avoid a :exc:`FileNotFoundError` from being raised. Patch by " -"Robert Buchholz." -msgstr "" - -#: ../NEWS:31943 -msgid "" -":issue:`32941`: Allow :class:`mmap.mmap` objects to access the madvise() " -"system call (through :meth:`mmap.mmap.madvise`)." -msgstr "" - -#: ../NEWS:31946 -msgid "" -":issue:`22102`: Added support for ZIP files with disks set to 0. Such files " -"are commonly created by builtin tools on Windows when use ZIP64 extension. " -"Patch by Francisco Facioni." -msgstr "" - -#: ../NEWS:31950 -msgid "" -":issue:`32515`: trace.py can now run modules via python3 -m trace -t " -"--module module_name" -msgstr "" - -#: ../NEWS:31953 -msgid "" -":issue:`32299`: Changed :func:`unittest.mock.patch.dict` to return the " -"patched dictionary when used as context manager. Patch by Vadim Tsander." -msgstr "" - -#: ../NEWS:31956 -msgid "" -":issue:`27141`: Added a ``__copy__()`` to ``collections.UserList`` and " -"``collections.UserDict`` in order to correctly implement shallow copying of " -"the objects. Patch by Bar Harel." -msgstr "" - -#: ../NEWS:31960 -msgid "" -":issue:`31829`: ``\\r``, ``\\0`` and ``\\x1a`` (end-of-file on Windows) are " -"now escaped in protocol 0 pickles of Unicode strings. This allows to load " -"them without loss from files open in text mode in Python 2." -msgstr "" - -#: ../NEWS:31964 -msgid "" -":issue:`23395`: ``_thread.interrupt_main()`` now avoids setting the Python " -"error status if the ``SIGINT`` signal is ignored or not handled by Python." -msgstr "" - -#: ../NEWS:31970 -msgid "" -":issue:`36896`: Clarify that some types have unstable constructor signature " -"between Python versions." -msgstr "" - -#: ../NEWS:31973 -msgid "" -":issue:`36686`: Improve documentation of the stdin, stdout, and stderr " -"arguments of the ``asyncio.subprocess_exec`` function to specify which " -"values are supported. Also mention that decoding as text is not supported." -msgstr "" - -#: ../NEWS:31977 -msgid "" -"Add a few tests to verify that the various values passed to the std* " -"arguments actually work." -msgstr "" - -#: ../NEWS:31980 -msgid "" -":issue:`36984`: Improve version added references in ``typing`` module - by " -"Anthony Sottile." -msgstr "" - -#: ../NEWS:31983 -msgid "" -":issue:`36868`: What's new now mentions " -"SSLContext.hostname_checks_common_name instead of SSLContext.host_flags." -msgstr "" - -#: ../NEWS:31986 -msgid "" -":issue:`35924`: Add a note to the ``curses.addstr()`` documentation to warn " -"that multiline strings can cause segfaults because of an ncurses bug." -msgstr "" - -#: ../NEWS:31989 -msgid "" -":issue:`36783`: Added C API Documentation for Time_FromTimeAndFold and " -"PyDateTime_FromDateAndTimeAndFold as per PEP 495. Patch by Edison Abahurire." -msgstr "" - -#: ../NEWS:31993 -msgid "" -":issue:`36797`: More of the legacy distutils documentation has been either " -"pruned, or else more clearly marked as being retained solely until the " -"setuptools documentation covers it independently." -msgstr "" - -#: ../NEWS:31997 -msgid "" -":issue:`22865`: Add detail to the documentation on the ``pty.spawn`` " -"function." -msgstr "" - -#: ../NEWS:31999 -msgid "" -":issue:`35397`: Remove deprecation and document urllib.parse.unwrap(). Patch" -" contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:32002 -msgid ":issue:`32995`: Added the context variable in glossary." -msgstr "" - -#: ../NEWS:32004 -msgid "" -":issue:`33519`: Clarify that ``copy()`` is not part of the " -"``MutableSequence`` ABC." -msgstr "" - -#: ../NEWS:32007 -msgid "" -":issue:`33482`: Make ``codecs.StreamRecoder.writelines`` take a list of " -"bytes." -msgstr "" - -#: ../NEWS:32009 -msgid "" -":issue:`25735`: Added documentation for func factorial to indicate that " -"returns integer values" -msgstr "" - -#: ../NEWS:32012 -msgid "" -":issue:`20285`: Expand object.__doc__ (docstring) to make it clearer. Modify" -" pydoc.py so that help(object) lists object methods (for other classes, help" -" omits methods of the object base class.)" -msgstr "" - -#: ../NEWS:32019 -msgid "" -":issue:`37069`: Modify test_coroutines, test_cprofile, test_generators, " -"test_raise, test_ssl and test_yield_from to use " -":func:`test.support.catch_unraisable_exception` rather than " -":func:`test.support.captured_stderr`." -msgstr "" - -#: ../NEWS:32024 -msgid ":issue:`37098`: Fix test_memfd_create on older Linux Kernels." -msgstr "" - -#: ../NEWS:32026 -msgid ":issue:`37081`: Test with OpenSSL 1.1.1c" -msgstr "" - -#: ../NEWS:32028 -msgid "" -":issue:`36829`: Add :func:`test.support.catch_unraisable_exception`: context" -" manager catching unraisable exception using :func:`sys.unraisablehook`." -msgstr "" - -#: ../NEWS:32031 -msgid "" -":issue:`36915`: The main regrtest process now always removes all temporary " -"directories of worker processes even if they crash or if they are killed on " -"KeyboardInterrupt (CTRL+c)." -msgstr "" - -#: ../NEWS:32035 -msgid "" -":issue:`36719`: \"python3 -m test -jN ...\" now continues the execution of " -"next tests when a worker process crash (CHILD_ERROR state). Previously, the " -"test suite stopped immediately. Use --failfast to stop at the first error." -msgstr "" - -#: ../NEWS:32039 -msgid "" -":issue:`36816`: Update Lib/test/selfsigned_pythontestdotnet.pem to match " -"self-signed.pythontest.net's new TLS certificate." -msgstr "" - -#: ../NEWS:32042 -msgid "" -":issue:`35925`: Skip httplib and nntplib networking tests when they would " -"otherwise fail due to a modern OS or distro with a default OpenSSL policy of" -" rejecting connections to servers with weak certificates." -msgstr "" - -#: ../NEWS:32046 -msgid "" -":issue:`36782`: Add tests for several C API functions in the :mod:`datetime`" -" module. Patch by Edison Abahurire." -msgstr "" - -#: ../NEWS:32049 -msgid "" -":issue:`36342`: Fix test_multiprocessing in test_venv if platform lacks " -"functioning sem_open." -msgstr "" - -#: ../NEWS:32055 -msgid "" -":issue:`36721`: To embed Python into an application, a new ``--embed`` " -"option must be passed to ``python3-config --libs --embed`` to get " -"``-lpython3.8`` (link the application to libpython). To support both 3.8 and" -" older, try ``python3-config --libs --embed`` first and fallback to " -"``python3-config --libs`` (without ``--embed``) if the previous command " -"fails." -msgstr "" - -#: ../NEWS:32061 -msgid "" -"Add a pkg-config ``python-3.8-embed`` module to embed Python into an " -"application: ``pkg-config python-3.8-embed --libs`` includes " -"``-lpython3.8``. To support both 3.8 and older, try ``pkg-config " -"python-X.Y-embed --libs`` first and fallback to ``pkg-config python-X.Y " -"--libs`` (without ``--embed``) if the previous command fails (replace " -"``X.Y`` with the Python version)." -msgstr "" - -#: ../NEWS:32068 -msgid "" -"On the other hand, ``pkg-config python3.8 --libs`` no longer contains " -"``-lpython3.8``. C extensions must not be linked to libpython (except on " -"Android, case handled by the script); this change is backward incompatible " -"on purpose." -msgstr "" - -#: ../NEWS:32073 -msgid ":issue:`36786`: \"make install\" now runs compileall in parallel." -msgstr "" - -#: ../NEWS:32078 -msgid "" -":issue:`36965`: include of STATUS_CONTROL_C_EXIT without depending on MSC " -"compiler" -msgstr "" - -#: ../NEWS:32081 -msgid ":issue:`35926`: Update to OpenSSL 1.1.1b for Windows." -msgstr "" - -#: ../NEWS:32083 -msgid "" -":issue:`29883`: Add Windows support for UDP transports for the Proactor " -"Event Loop. Patch by Adam Meily." -msgstr "" - -#: ../NEWS:32086 -msgid "" -":issue:`33407`: The :c:macro:`Py_DEPRECATED()` macro has been implemented " -"for MSVC." -msgstr "" - -#: ../NEWS:32092 -msgid "" -":issue:`36231`: Support building Python on macOS without /usr/include " -"installed. As of macOS 10.14, system header files are only available within " -"an SDK provided by either the Command Line Tools or the Xcode app." -msgstr "" - -#: ../NEWS:32099 -msgid "" -":issue:`35610`: Replace now redundant .context_use_ps1 with " -".prompt_last_line. This finishes change started in :issue:`31858`." -msgstr "" - -#: ../NEWS:32102 -msgid ":issue:`37038`: Make idlelib.run runnable; add test clause." -msgstr "" - -#: ../NEWS:32104 -msgid "" -":issue:`36958`: Print any argument other than None or int passed to " -"SystemExit or sys.exit()." -msgstr "" - -#: ../NEWS:32107 -msgid "" -":issue:`36807`: When saving a file, call os.fsync() so bits are flushed to " -"e.g. USB drive." -msgstr "" - -#: ../NEWS:32110 -msgid "" -":issue:`32411`: In browser.py, remove extraneous sorting by line number " -"since dictionary was created in line number order." -msgstr "" - -#: ../NEWS:32116 -msgid "" -":issue:`37053`: Handle strings like u\"bar\" correctly in " -"Tools/parser/unparse.py. Patch by Chih-Hsuan Yen." -msgstr "" - -#: ../NEWS:32122 -msgid "" -":issue:`36763`: Implement the :pep:`587` \"Python Initialization " -"Configuration\"." -msgstr "" - -#: ../NEWS:32124 -msgid "" -":issue:`36379`: Fix crashes when attempting to use the *modulo* parameter " -"when ``__ipow__`` is implemented in C." -msgstr "" - -#: ../NEWS:32127 -msgid "" -":issue:`37107`: Update :c:func:`PyObject_CallMethodObjArgs` and " -"``_PyObject_CallMethodIdObjArgs`` to use ``_PyObject_GetMethod`` to avoid " -"creating a bound method object in many cases. Patch by Michael J. Sullivan." -msgstr "" - -#: ../NEWS:32132 -msgid "" -":issue:`36974`: Implement :pep:`590`: Vectorcall: a fast calling protocol " -"for CPython. This is a new protocol to optimize calls of custom callable " -"objects." -msgstr "" - -#: ../NEWS:32136 -msgid "" -":issue:`36763`: ``Py_Main()`` now returns the exitcode rather than calling " -"``Py_Exit(exitcode)`` when calling ``PyErr_Print()`` if the current " -"exception type is ``SystemExit``." -msgstr "" - -#: ../NEWS:32140 -msgid "" -":issue:`36922`: Add new type flag ``Py_TPFLAGS_METHOD_DESCRIPTOR`` for " -"objects behaving like unbound methods. These are objects supporting the " -"optimization given by the ``LOAD_METHOD``/``CALL_METHOD`` opcodes. See PEP " -"590." -msgstr "" - -#: ../NEWS:32145 -msgid "" -":issue:`36728`: The :c:func:`!PyEval_ReInitThreads` function has been " -"removed from the C API. It should not be called explicitly: use " -":c:func:`PyOS_AfterFork_Child` instead." -msgstr "" - -#: ../NEWS:32151 -msgid "Python 3.8.0 alpha 4" -msgstr "Python 3.8.0 alfa 4" - -#: ../NEWS:32153 -msgid "*Release date: 2019-05-06*" -msgstr "*Tanggal rilis: 2019-05-06*" - -#: ../NEWS:32158 -msgid "" -":issue:`36742`: Fixes mishandling of pre-normalization characters in " -"urlsplit()." -msgstr "" - -#: ../NEWS:32161 -msgid "" -":issue:`30458`: Address :cve:`2019-9740` by disallowing URL paths with " -"embedded whitespace or control characters through into the underlying http " -"client request. Such potentially malicious header injection URLs now cause " -"an http.client.InvalidURL exception to be raised." -msgstr "" - -#: ../NEWS:32166 -msgid "" -":issue:`35755`: :func:`shutil.which` now uses ``os.confstr(\"CS_PATH\")`` if" -" available and if the :envvar:`PATH` environment variable is not set. Remove" -" also the current directory from :data:`posixpath.defpath`. On Unix, " -":func:`shutil.which` and the :mod:`subprocess` module no longer search the " -"executable in the current directory if the :envvar:`PATH` environment " -"variable is not set." -msgstr "" - -#: ../NEWS:32176 -msgid "" -":issue:`36722`: In debug build, import now also looks for C extensions " -"compiled in release mode and for C extensions compiled in the stable ABI." -msgstr "" - -#: ../NEWS:32179 -msgid "" -":issue:`32849`: Fix Python Initialization code on FreeBSD to detect properly" -" when stdin file descriptor (fd 0) is invalid." -msgstr "" - -#: ../NEWS:32182 -msgid "" -":issue:`36623`: Remove parser headers and related function declarations that" -" lack implementations after the removal of pgen." -msgstr "" - -#: ../NEWS:32185 -msgid "" -":issue:`20180`: ``dict.pop()`` is now up to 33% faster thanks to Argument " -"Clinic. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:32188 -msgid "" -":issue:`36611`: Debug memory allocators: disable serialno field by default " -"from debug hooks on Python memory allocators to reduce the memory footprint " -"by 5%. Enable :mod:`tracemalloc` to get the traceback where a memory block " -"has been allocated when a fatal memory error is logged to decide where to " -"put a breakpoint. Compile Python with ``PYMEM_DEBUG_SERIALNO`` defined to " -"get back the field." -msgstr "" - -#: ../NEWS:32195 -msgid "" -":issue:`36588`: On AIX, :data:`sys.platform` doesn't contain the major " -"version anymore. Always return ``'aix'``, instead of ``'aix3'`` .. " -"``'aix7'``. Since older Python versions include the version number, it is " -"recommended to always use ``sys.platform.startswith('aix')``. Contributed by" -" M. Felt." -msgstr "" - -#: ../NEWS:32200 -msgid "" -":issue:`36549`: Change str.capitalize to use titlecase for the first " -"character instead of uppercase." -msgstr "" - -#: ../NEWS:32203 -msgid "" -":issue:`36540`: Implement :pep:`570` (Python positional-only parameters). " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:32206 -msgid "" -":issue:`36475`: :c:func:`!PyEval_AcquireLock` and " -":c:func:`!PyEval_AcquireThread` now terminate the current thread if called " -"while the interpreter is finalizing, making them consistent with " -":c:func:`PyEval_RestoreThread`, :c:func:`Py_END_ALLOW_THREADS`, and " -":c:func:`PyGILState_Ensure`." -msgstr "" - -#: ../NEWS:32212 -msgid "" -":issue:`36504`: Fix signed integer overflow in _ctypes.c's " -"``PyCArrayType_new()``." -msgstr "" - -#: ../NEWS:32215 -msgid "" -":issue:`20844`: Fix running script with encoding cookie and LF line ending " -"may fail on Windows." -msgstr "" - -#: ../NEWS:32218 -msgid "" -":issue:`24214`: Fixed support of the surrogatepass error handler in the " -"UTF-8 incremental decoder." -msgstr "" - -#: ../NEWS:32221 -msgid "" -":issue:`36452`: Changing ``dict`` keys during iteration of the dict itself, " -"``keys()``, ``values()``, or ``items()`` will now be detected in certain " -"corner cases where keys are deleted/added so that the number of keys isn't " -"changed. A ``RuntimeError`` will be raised after ``len(dict)`` iterations. " -"Contributed by Thomas Perl." -msgstr "" - -#: ../NEWS:32227 -msgid "" -":issue:`36459`: Fix a possible double ``PyMem_FREE()`` due to tokenizer.c's " -"``tok_nextc()``." -msgstr "" - -#: ../NEWS:32230 -msgid ":issue:`36433`: Fixed TypeError message in classmethoddescr_call." -msgstr "" - -#: ../NEWS:32232 -msgid "" -":issue:`36430`: Fix a possible reference leak in :func:`itertools.count`." -msgstr "" - -#: ../NEWS:32234 -msgid "" -":issue:`36440`: Include node names in ``ParserError`` messages, instead of " -"numeric IDs. Patch by A. Skrobov." -msgstr "" - -#: ../NEWS:32237 -msgid "" -":issue:`36143`: Regenerate :mod:`keyword` from the Grammar and Tokens file " -"using pgen. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:32240 -msgid "" -":issue:`18372`: Add missing :c:func:`PyObject_GC_Track` calls in the " -":mod:`pickle` module. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:32246 -msgid ":issue:`35952`: Fix pythoninfo when the compiler is missing." -msgstr "" - -#: ../NEWS:32248 -msgid "" -":issue:`28238`: The ``.find*()`` methods of xml.etree.ElementTree can now " -"search for wildcards like ``{*}tag`` and ``{ns}*`` that match a tag in any " -"namespace or all tags in a namespace. Patch by Stefan Behnel." -msgstr "" - -#: ../NEWS:32252 -msgid "" -":issue:`26978`: ``pathlib.path.link_to()`` is now implemented. It creates a " -"hard link pointing to a path." -msgstr "" - -#: ../NEWS:32255 -msgid "" -":issue:`1613500`: :class:`fileinput.FileInput` now uses the input file mode " -"to correctly set the output file mode (previously it was hardcoded to " -"``'w'``) when ``inplace=True`` is passed to its constructor." -msgstr "" - -#: ../NEWS:32259 -msgid "" -":issue:`36734`: Fix compilation of ``faulthandler.c`` on HP-UX. Initialize " -"``stack_t current_stack`` to zero using ``memset()``." -msgstr "" - -#: ../NEWS:32262 -msgid "" -":issue:`13611`: The xml.etree.ElementTree packages gained support for C14N " -"2.0 serialisation. Patch by Stefan Behnel." -msgstr "" - -#: ../NEWS:32265 -msgid "" -":issue:`36669`: Add missing matrix multiplication operator support to " -"weakref.proxy." -msgstr "" - -#: ../NEWS:32268 -msgid "" -":issue:`36676`: The XMLParser() in xml.etree.ElementTree provides namespace " -"prefix context to the parser target if it defines the callback methods " -"\"start_ns()\" and/or \"end_ns()\". Patch by Stefan Behnel." -msgstr "" - -#: ../NEWS:32272 -msgid "" -":issue:`36673`: The TreeBuilder and XMLPullParser in xml.etree.ElementTree " -"gained support for parsing comments and processing instructions. Patch by " -"Stefan Behnel." -msgstr "" - -#: ../NEWS:32276 -msgid "" -":issue:`36650`: The C version of functools.lru_cache() was treating calls " -"with an empty ``**kwargs`` dictionary as being distinct from calls with no " -"keywords at all. This did not result in an incorrect answer, but it did " -"trigger an unexpected cache miss." -msgstr "" - -#: ../NEWS:32281 -msgid "" -":issue:`28552`: Fix ``distutils.sysconfig`` if :data:`sys.executable` is " -"``None`` or an empty string: use :func:`os.getcwd` to initialize " -"``project_base``. Fix also the distutils build command: don't use " -":data:`sys.executable` if it is ``None`` or an empty string." -msgstr "" - -#: ../NEWS:32286 -msgid "" -":issue:`35755`: :func:`shutil.which` and ``distutils.spawn.find_executable``" -" now use ``os.confstr(\"CS_PATH\")`` if available instead of " -":data:`os.defpath`, if the ``PATH`` environment variable is not set. " -"Moreover, don't use ``os.confstr(\"CS_PATH\")`` nor :data:`os.defpath` if " -"the ``PATH`` environment variable is set to an empty string." -msgstr "" - -#: ../NEWS:32292 -msgid ":issue:`25430`: improve performance of ``IPNetwork.__contains__()``" -msgstr "" - -#: ../NEWS:32294 -msgid "" -":issue:`30485`: Path expressions in xml.etree.ElementTree can now avoid " -"explicit namespace prefixes for tags (or the \"{namespace}tag\" notation) by" -" passing a default namespace with an empty string prefix." -msgstr "" - -#: ../NEWS:32298 -msgid "" -":issue:`36613`: Fix :mod:`asyncio` wait() not removing callback if exception" -msgstr "" - -#: ../NEWS:32300 -msgid "" -":issue:`36598`: Fix ``isinstance`` check for Mock objects with spec when the" -" code is executed under tracing. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:32303 -msgid "" -":issue:`18748`: In development mode (:option:`-X` ``dev``) and in debug " -"build, the :class:`io.IOBase` destructor now logs ``close()`` exceptions. " -"These exceptions are silent by default in release mode." -msgstr "" - -#: ../NEWS:32307 -msgid "" -":issue:`36575`: The ``_lsprof`` module now uses internal timer same to " -"``time.perf_counter()`` by default. ``gettimeofday(2)`` was used on Unix. " -"New timer has better resolution on most Unix platforms and timings are no " -"longer impacted by system clock updates since ``perf_counter()`` is " -"monotonic. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:32313 -msgid "" -":issue:`33461`: ``json.loads`` now emits ``DeprecationWarning`` when " -"``encoding`` option is specified. Patch by Matthias Bussonnier." -msgstr "" - -#: ../NEWS:32316 -msgid "" -":issue:`36559`: The random module now prefers the lean internal _sha512 " -"module over hashlib for seed(version=2) to optimize import time." -msgstr "" - -#: ../NEWS:32319 -msgid "" -":issue:`17561`: Set backlog=None as the default for socket.create_server." -msgstr "" - -#: ../NEWS:32321 -msgid "" -":issue:`34373`: Fix :func:`time.mktime` error handling on AIX for year " -"before 1970." -msgstr "" - -#: ../NEWS:32324 -msgid "" -":issue:`36232`: Improve error message when trying to open existing DBM " -"database that actually doesn't exist. Patch by Marco Rougeth." -msgstr "" - -#: ../NEWS:32327 -msgid ":issue:`36546`: Add statistics.quantiles()" -msgstr "" - -#: ../NEWS:32329 -msgid "" -":issue:`36050`: Optimized ``http.client.HTTPResponse.read()`` for large " -"response. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:32332 -msgid "" -":issue:`36522`: If *debuglevel* is set to >0 in :mod:`http.client`, print " -"all values for headers with multiple values for the same header name. Patch " -"by Matt Houglum." -msgstr "" - -#: ../NEWS:32336 -msgid "" -":issue:`36492`: Deprecated passing required arguments like *func* as keyword" -" arguments in functions which should accept arbitrary keyword arguments and " -"pass them to other function. Arbitrary keyword arguments (even with names " -"\"self\" and \"func\") can now be passed to these functions if the required " -"arguments are passed as positional arguments." -msgstr "" - -#: ../NEWS:32342 -msgid ":issue:`27181`: Add statistics.geometric_mean()." -msgstr "" - -#: ../NEWS:32344 -msgid "" -":issue:`30427`: ``os.path.normcase()`` relies on ``os.fspath()`` to check " -"the type of its argument. Redundant checks have been removed from its " -"``posixpath.normcase()`` and ``ntpath.normcase()`` implementations. Patch by" -" Wolfgang Maier." -msgstr "" - -#: ../NEWS:32349 -msgid "" -":issue:`36385`: Stop rejecting IPv4 octets for being ambiguously octal. " -"Leading zeros are ignored, and no longer are assumed to specify octal " -"octets. Octets are always decimal numbers. Octets must still be no more than" -" three digits, including leading zeroes." -msgstr "" - -#: ../NEWS:32354 -msgid "" -":issue:`36434`: Errors during writing to a ZIP file no longer prevent to " -"properly close it." -msgstr "" - -#: ../NEWS:32357 -msgid "" -":issue:`36407`: Fixed wrong indentation writing for CDATA section in " -"xml.dom.minidom. Patch by Vladimir Surjaninov." -msgstr "" - -#: ../NEWS:32360 -msgid "" -":issue:`36326`: inspect.getdoc() can now find docstrings for member objects " -"when __slots__ is a dictionary." -msgstr "" - -#: ../NEWS:32363 -msgid "" -":issue:`36366`: Calling ``stop()`` on an unstarted or stopped " -":func:`unittest.mock.patch` object will now return ``None`` instead of " -"raising :exc:`RuntimeError`, making the method idempotent. Patch by " -"Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:32368 -msgid "" -":issue:`36348`: The :meth:`imap.IMAP4.logout` method no longer ignores " -"silently arbitrary exceptions." -msgstr "" - -#: ../NEWS:32371 -msgid "" -":issue:`31904`: Add time module support and fix test_time failures for " -"VxWorks." -msgstr "" - -#: ../NEWS:32373 -msgid "" -":issue:`36227`: Added support for keyword arguments ``default_namespace`` " -"and ``xml_declaration`` in functions ``ElementTree.tostring()`` and " -"``ElementTree.tostringlist()``." -msgstr "" - -#: ../NEWS:32377 -msgid "" -":issue:`36004`: Added new alternate constructors " -":meth:`datetime.date.fromisocalendar` and " -":meth:`datetime.datetime.fromisocalendar`, which construct date objects from" -" ISO year, week number and weekday; these are the inverse of each class's " -"``isocalendar`` method. Patch by Paul Ganssle." -msgstr "" - -#: ../NEWS:32383 -msgid "" -":issue:`35936`: :mod:`modulefinder` no longer depends on the deprecated " -":mod:`imp` module, and the initializer for " -":class:`modulefinder.ModuleFinder` now has immutable default arguments. " -"Patch by Brandt Bucher." -msgstr "" - -#: ../NEWS:32388 -msgid "" -":issue:`35376`: :mod:`modulefinder` correctly handles modules that have the " -"same name as a bad package. Patch by Brandt Bucher." -msgstr "" - -#: ../NEWS:32391 -msgid "" -":issue:`17396`: :mod:`modulefinder` no longer crashes when encountering " -"syntax errors in followed imports. Patch by Brandt Bucher." -msgstr "" - -#: ../NEWS:32394 -msgid "" -":issue:`35934`: Added :meth:`~socket.create_server` and " -":meth:`~socket.has_dualstack_ipv6` convenience functions to automate the " -"necessary tasks usually involved when creating a server socket, including " -"accepting both IPv4 and IPv6 connections on the same socket. (Contributed " -"by Giampaolo Rodola in :issue:`17561`.)" -msgstr "" - -#: ../NEWS:32400 -msgid "" -":issue:`23078`: Add support for :func:`classmethod` and :func:`staticmethod`" -" to :func:`unittest.mock.create_autospec`. Initial patch by Felipe Ochoa." -msgstr "" - -#: ../NEWS:32403 -msgid "" -":issue:`35416`: Fix potential resource warnings in distutils. Patch by " -"Mickaël Schoentgen." -msgstr "" - -#: ../NEWS:32406 -msgid "" -":issue:`25451`: Add transparency methods to :class:`tkinter.PhotoImage`. " -"Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:32409 -msgid "" -":issue:`35082`: Don't return deleted attributes when calling dir on a " -":class:`unittest.mock.Mock`." -msgstr "" - -#: ../NEWS:32412 -msgid "" -":issue:`34547`: :class:`wsgiref.handlers.BaseHandler` now handles abrupt " -"client connection terminations gracefully. Patch by Petter Strandmark." -msgstr "" - -#: ../NEWS:32415 -msgid "" -":issue:`31658`: :func:`xml.sax.parse` now supports :term:`path-like `. Patch by Mickaël Schoentgen." -msgstr "" - -#: ../NEWS:32418 -msgid ":issue:`34139`: Remove stale unix datagram socket before binding" -msgstr "" - -#: ../NEWS:32420 -msgid "" -":issue:`33530`: Implemented Happy Eyeballs in " -"``asyncio.create_connection()``. Added two new arguments, " -"*happy_eyeballs_delay* and *interleave*, to specify Happy Eyeballs behavior." -msgstr "" - -#: ../NEWS:32424 -msgid "" -":issue:`33291`: Do not raise AttributeError when calling the inspect " -"functions isgeneratorfunction, iscoroutinefunction, isasyncgenfunction on a " -"method created from an arbitrary callable. Instead, return False." -msgstr "" - -#: ../NEWS:32428 -msgid "" -":issue:`31310`: Fix the multiprocessing.semaphore_tracker so it is reused by" -" child processes" -msgstr "" - -#: ../NEWS:32431 -msgid "" -":issue:`31292`: Fix ``setup.py check --restructuredtext`` for files " -"containing ``include`` directives." -msgstr "" - -#: ../NEWS:32437 -msgid "" -":issue:`36625`: Remove obsolete comments from docstrings in " -"fractions.Fraction" -msgstr "" - -#: ../NEWS:32439 -msgid ":issue:`30840`: Document relative imports" -msgstr "" - -#: ../NEWS:32441 -msgid ":issue:`36523`: Add docstring for io.IOBase.writelines()." -msgstr "" - -#: ../NEWS:32443 -msgid "" -":issue:`36425`: New documentation translation: `Simplified Chinese " -"`_." -msgstr "" - -#: ../NEWS:32446 -msgid "" -":issue:`36345`: Avoid the duplication of code from " -"``Tools/scripts/serve.py`` in using the :rst:dir:`literalinclude` directive " -"for the basic wsgiref-based web server in the documentation of " -":mod:`wsgiref`. Contributed by Stéphane Wirtel." -msgstr "" - -#: ../NEWS:32451 -msgid "" -":issue:`36345`: Using the code of the ``Tools/scripts/serve.py`` script as " -"an example in the :mod:`wsgiref` documentation. Contributed by Stéphane " -"Wirtel." -msgstr "" - -#: ../NEWS:32455 -msgid ":issue:`36157`: Added documentation for PyInterpreterState_Main()." -msgstr "" - -#: ../NEWS:32457 -msgid "" -":issue:`33043`: Updates the docs.python.org page with the addition of a " -"'Contributing to Docs' link at the end of the page (between 'Reporting Bugs'" -" and 'About Documentation'). Updates the 'Found a Bug' page with additional " -"links and information in the Documentation Bugs section." -msgstr "" - -#: ../NEWS:32462 -msgid "" -":issue:`35581`: @typing.type_check_only now allows type stubs to mark " -"functions and classes not available during runtime." -msgstr "" - -#: ../NEWS:32465 -msgid ":issue:`33832`: Add glossary entry for 'magic method'." -msgstr "" - -#: ../NEWS:32467 -msgid ":issue:`32913`: Added re.Match.groupdict example to regex HOWTO." -msgstr "" - -#: ../NEWS:32472 -msgid "" -":issue:`36719`: regrtest now always detects uncollectable objects. " -"Previously, the check was only enabled by ``--findleaks``. The check now " -"also works with ``-jN/--multiprocess N``. ``--findleaks`` becomes a " -"deprecated alias to ``--fail-env-changed``." -msgstr "" - -#: ../NEWS:32477 -msgid "" -":issue:`36725`: When using multiprocessing mode (-jN), regrtest now better " -"reports errors if a worker process fails, and it exits immediately on a " -"worker thread failure or when interrupted." -msgstr "" - -#: ../NEWS:32481 -msgid "" -":issue:`36454`: Change test_time.test_monotonic() to test only the lower " -"bound of elapsed time after a sleep command rather than the upper bound. " -"This prevents unnecessary test failures on slow buildbots. Patch by Victor " -"Stinner." -msgstr "" - -#: ../NEWS:32486 -msgid "" -":issue:`32424`: Improve test coverage for xml.etree.ElementTree. Patch by " -"Gordon P. Hemsley." -msgstr "" - -#: ../NEWS:32489 -msgid "" -":issue:`32424`: Fix typo in test_cyclic_gc() test for xml.etree.ElementTree." -" Patch by Gordon P. Hemsley." -msgstr "" - -#: ../NEWS:32492 -msgid "" -":issue:`36635`: Add a new :mod:`!_testinternalcapi` module to test the " -"internal C API." -msgstr "" - -#: ../NEWS:32495 -msgid "" -":issue:`36629`: Fix ``test_imap4_host_default_value()`` of ``test_imaplib``:" -" catch also :const:`errno.ENETUNREACH` error." -msgstr "" - -#: ../NEWS:32498 -msgid "" -":issue:`36611`: Fix ``test_sys.test_getallocatedblocks()`` when " -":mod:`tracemalloc` is enabled." -msgstr "" - -#: ../NEWS:32501 -msgid "" -":issue:`36560`: Fix reference leak hunting in regrtest: compute also deltas " -"(of reference count, allocated memory blocks, file descriptor count) during " -"warmup, to ensure that everything is initialized before starting to hunt " -"reference leaks." -msgstr "" - -#: ../NEWS:32506 -msgid "" -":issue:`36565`: Fix reference hunting (``python3 -m test -R 3:3``) when " -"Python has no built-in abc module." -msgstr "" - -#: ../NEWS:32509 -msgid "" -":issue:`31904`: Port test_resource to VxWorks: skip tests cases setting " -"RLIMIT_FSIZE and RLIMIT_CPU." -msgstr "" - -#: ../NEWS:32512 -msgid "" -":issue:`31904`: Fix test_tabnanny on VxWorks: adjust ENOENT error message." -msgstr "" - -#: ../NEWS:32514 -msgid "" -":issue:`36436`: Fix ``_testcapi.pymem_buffer_overflow()``: handle memory " -"allocation failure." -msgstr "" - -#: ../NEWS:32517 -msgid "" -":issue:`31904`: Fix test_utf8_mode on VxWorks: Python always use UTF-8 on " -"VxWorks." -msgstr "" - -#: ../NEWS:32520 -msgid "" -":issue:`36341`: Fix tests that may fail with PermissionError upon calling " -"bind() on AF_UNIX sockets." -msgstr "" - -#: ../NEWS:32526 -msgid ":issue:`36747`: Remove the stale scriptsinstall Makefile target." -msgstr "" - -#: ../NEWS:32528 -msgid "" -":issue:`21536`: On Unix, C extensions are no longer linked to libpython " -"except on Android and Cygwin." -msgstr "" - -#: ../NEWS:32531 -msgid "" -"It is now possible for a statically linked Python to load a C extension " -"built using a shared library Python." -msgstr "" - -#: ../NEWS:32534 -msgid "" -"When Python is embedded, ``libpython`` must not be loaded with " -"``RTLD_LOCAL``, but ``RTLD_GLOBAL`` instead. Previously, using " -"``RTLD_LOCAL``, it was already not possible to load C extensions which were " -"not linked to ``libpython``, such as C extensions of the standard library " -"built by the ``*shared*`` section of ``Modules/Setup``." -msgstr "" - -#: ../NEWS:32540 -msgid "distutils, python-config and python-config.py have been modified." -msgstr "distutils, python-config dan python-config.py telah dimodifikasi." - -#: ../NEWS:32542 -msgid "" -":issue:`36707`: ``./configure --with-pymalloc`` no longer adds the ``m`` " -"flag to SOABI (sys.implementation.cache_tag). Enabling or disabling pymalloc" -" has no impact on the ABI." -msgstr "" - -#: ../NEWS:32546 -msgid "" -":issue:`36635`: Change ``PyAPI_FUNC(type)``, ``PyAPI_DATA(type)`` and " -"``PyMODINIT_FUNC`` macros of ``pyport.h`` when ``Py_BUILD_CORE_MODULE`` is " -"defined. The ``Py_BUILD_CORE_MODULE`` define must be now be used to build a " -"C extension as a dynamic library accessing Python internals: export the " -":samp:`PyInit_{xxx}()` function in DLL exports on Windows." -msgstr "" - -#: ../NEWS:32552 -msgid ":issue:`31904`: Don't build the ``_crypt`` extension on VxWorks." -msgstr "" - -#: ../NEWS:32554 -msgid "" -":issue:`36618`: Add ``-fmax-type-align=8`` to CFLAGS when clang compiler is " -"detected. The pymalloc memory allocator aligns memory on 8 bytes. On x86-64," -" clang expects alignment on 16 bytes by default and so uses MOVAPS " -"instruction which can lead to segmentation fault. Instruct clang that Python" -" is limited to alignment on 8 bytes to use MOVUPS instruction instead: " -"slower but don't trigger a SIGSEGV if the memory is not aligned on 16 bytes." -" Sadly, the flag must be added to ``CFLAGS`` and not just ``CFLAGS_NODIST``," -" since third party C extensions can have the same issue." -msgstr "" - -#: ../NEWS:32563 -msgid "" -":issue:`36605`: ``make tags`` and ``make TAGS`` now also parse " -"``Modules/_io/*.c`` and ``Modules/_io/*.h``." -msgstr "" - -#: ../NEWS:32566 -msgid "" -":issue:`36465`: Release builds and debug builds are now ABI compatible: " -"defining the ``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` " -"macro, which introduces the only ABI incompatibility. The ``Py_TRACE_REFS`` " -"macro, which adds the :func:`sys.getobjects` function and the " -":envvar:`PYTHONDUMPREFS` environment variable, can be set using the new " -"``./configure --with-trace-refs`` build option." -msgstr "" - -#: ../NEWS:32573 -msgid "" -":issue:`36577`: setup.py now correctly reports missing OpenSSL headers and " -"libraries again." -msgstr "" - -#: ../NEWS:32576 -msgid "" -":issue:`36544`: Fix regression introduced in :issue:`36146` refactoring " -"setup.py" -msgstr "" - -#: ../NEWS:32578 -msgid "" -":issue:`36508`: ``python-config --ldflags`` no longer includes flags of the " -"``LINKFORSHARED`` variable. The ``LINKFORSHARED`` variable must only be used" -" to build executables." -msgstr "" - -#: ../NEWS:32582 -msgid ":issue:`36503`: Remove references to \"aix3\" and \"aix4\". Patch by M. Felt." -msgstr "" - -#: ../NEWS:32587 -msgid "" -":issue:`35920`: Added platform.win32_edition() and platform.win32_is_iot(). " -"Added support for cross-compiling packages for Windows ARM32. Skip tests " -"that are not expected to work on Windows IoT Core ARM32." -msgstr "" - -#: ../NEWS:32591 -msgid "" -":issue:`36649`: Remove trailing spaces for registry keys when installed via " -"the Store." -msgstr "" - -#: ../NEWS:32594 -msgid "" -":issue:`34144`: Fixed activate.bat to correctly update codepage when " -"chcp.com returns dots in output. Patch by Lorenz Mende." -msgstr "" - -#: ../NEWS:32597 -msgid "" -":issue:`36509`: Added preset-iot layout for Windows IoT ARM containers. This" -" layout doesn't contain UI components like tkinter or IDLE. It also doesn't " -"contain files to support on-target builds since Windows ARM32 builds must be" -" cross-compiled when using MSVC." -msgstr "" - -#: ../NEWS:32602 -msgid "" -":issue:`35941`: enum_certificates function of the ssl module now returns " -"certificates from all available certificate stores inside windows in a query" -" instead of returning only certificates from the system wide certificate " -"store. This includes certificates from these certificate stores: local " -"machine, local machine enterprise, local machine group policy, current user," -" current user group policy, services, users. ssl.enum_crls() function is " -"changed in the same way to return all certificate revocation lists inside " -"the windows certificate revocation list stores." -msgstr "" - -#: ../NEWS:32612 -msgid "" -":issue:`36441`: Fixes creating a venv when debug binaries are installed." -msgstr "" - -#: ../NEWS:32614 -msgid "" -":issue:`36085`: Enable better DLL resolution on Windows by using safe DLL " -"search paths and adding :func:`os.add_dll_directory`." -msgstr "" - -#: ../NEWS:32617 -msgid "" -":issue:`36010`: Add the venv standard library module to the nuget " -"distribution for Windows." -msgstr "" - -#: ../NEWS:32620 -msgid "" -":issue:`29515`: Add the following socket module constants on Windows: " -"IPPROTO_AH IPPROTO_CBT IPPROTO_DSTOPTS IPPROTO_EGP IPPROTO_ESP " -"IPPROTO_FRAGMENT IPPROTO_GGP IPPROTO_HOPOPTS IPPROTO_ICLFXBM IPPROTO_ICMPV6 " -"IPPROTO_IDP IPPROTO_IGMP IPPROTO_IGP IPPROTO_IPV4 IPPROTO_IPV6 IPPROTO_L2TP " -"IPPROTO_MAX IPPROTO_ND IPPROTO_NONE IPPROTO_PGM IPPROTO_PIM IPPROTO_PUP " -"IPPROTO_RDP IPPROTO_ROUTING IPPROTO_SCTP IPPROTO_ST" -msgstr "" - -#: ../NEWS:32628 -msgid "" -":issue:`35947`: Added current version of libffi to cpython-source-deps. " -"Change _ctypes to use current version of libffi on Windows." -msgstr "" - -#: ../NEWS:32631 -msgid "" -":issue:`34060`: Report system load when running test suite on Windows. Patch" -" by Ammar Askar. Based on prior work by Jeremy Kloth." -msgstr "" - -#: ../NEWS:32634 -msgid "" -":issue:`31512`: With the Windows 10 Creators Update, non-elevated users can " -"now create symlinks as long as the computer has Developer Mode enabled." -msgstr "" - -#: ../NEWS:32640 -msgid "" -":issue:`34602`: Avoid failures setting macOS stack resource limit with " -"resource.setrlimit. This reverts an earlier fix for :issue:`18075` which " -"forced a non-default stack size when building the interpreter executable on " -"macOS." -msgstr "" - -#: ../NEWS:32648 -msgid "" -":issue:`36429`: Fix starting IDLE with pyshell. Add idlelib.pyshell alias at" -" top; remove pyshell alias at bottom. Remove obsolete __name__=='__main__' " -"command." -msgstr "" - -#: ../NEWS:32655 -msgid ":issue:`14546`: Fix the argument handling in Tools/scripts/lll.py." -msgstr "" - -#: ../NEWS:32660 -msgid "" -":issue:`36763`: Fix memory leak in :c:func:`!Py_SetStandardStreamEncoding`: " -"release memory if the function is called twice." -msgstr "" - -#: ../NEWS:32663 -msgid "" -":issue:`36641`: :c:expr:`PyDoc_VAR(name)` and " -":c:expr:`PyDoc_STRVAR(name,str)` now create ``static const char name[]`` " -"instead of ``static char name[]``. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:32667 -msgid "" -":issue:`36389`: Change the value of ``CLEANBYTE``, ``DEADDYTE`` and " -"``FORBIDDENBYTE`` internal constants used by debug hooks on Python memory " -"allocators (:c:func:`PyMem_SetupDebugHooks` function). Byte patterns " -"``0xCB``, ``0xDB`` and ``0xFB`` have been replaced with ``0xCD``, ``0xDD`` " -"and ``0xFD`` to use the same values than Windows CRT debug ``malloc()`` and " -"``free()``." -msgstr "" - -#: ../NEWS:32674 -msgid "" -":issue:`36443`: Since Python 3.7.0, calling :c:func:`Py_DecodeLocale` before" -" :c:func:`Py_Initialize` produces mojibake if the ``LC_CTYPE`` locale is " -"coerced and/or if the UTF-8 Mode is enabled by the user configuration. The " -"LC_CTYPE coercion and UTF-8 Mode are now disabled by default to fix the " -"mojibake issue. They must now be enabled explicitly (opt-in) using the new " -":c:func:`!_Py_PreInitialize` API with ``_PyPreConfig``." -msgstr "" - -#: ../NEWS:32681 -msgid "" -":issue:`36025`: Fixed an accidental change to the datetime C API where the " -"arguments to the :c:func:`PyDate_FromTimestamp` function were incorrectly " -"interpreted as a single timestamp rather than an arguments tuple, which " -"causes existing code to start raising :exc:`TypeError`. The backwards-" -"incompatible change was only present in alpha releases of Python 3.8. Patch " -"by Paul Ganssle." -msgstr "" - -#: ../NEWS:32688 -msgid "" -":issue:`35810`: Modify ``PyObject_Init`` to correctly increase the refcount " -"of heap-allocated Type objects. Also fix the refcounts of the heap-allocated" -" types that were either doing this manually or not decreasing the type's " -"refcount in tp_dealloc" -msgstr "" - -#: ../NEWS:32695 -msgid "Python 3.8.0 alpha 3" -msgstr "Python 3.8.0 alfa 3" - -#: ../NEWS:32697 -msgid "*Release date: 2019-03-25*" -msgstr "*Tanggal rilis: 2019-03-25*" - -#: ../NEWS:32702 -msgid "" -":issue:`36216`: Changes urlsplit() to raise ValueError when the URL contains" -" characters that decompose under IDNA encoding (NFKC-normalization) into " -"characters that affect how the URL is parsed." -msgstr "" - -#: ../NEWS:32706 -msgid "" -":issue:`35121`: Don't send cookies of domain A without Domain attribute to " -"domain B when domain A is a suffix match of domain B while using a cookiejar" -" with :class:`http.cookiejar.DefaultCookiePolicy` policy. Patch by " -"Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:32714 -msgid "" -":issue:`36421`: Fix a possible double decref in _ctypes.c's " -"``PyCArrayType_new()``." -msgstr "" - -#: ../NEWS:32717 -msgid ":issue:`36412`: Fix a possible crash when creating a new dictionary." -msgstr "" - -#: ../NEWS:32719 -msgid ":issue:`36398`: Fix a possible crash in ``structseq_repr()``." -msgstr "" - -#: ../NEWS:32721 -msgid "" -":issue:`36256`: Fix bug in parsermodule when parsing a state in a DFA that " -"has two or more arcs with labels of the same type. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:32724 -msgid ":issue:`36365`: repr(structseq) is no longer limited to 512 bytes." -msgstr "" - -#: ../NEWS:32726 -msgid "" -":issue:`36374`: Fix a possible null pointer dereference in " -"``merge_consts_recursive()``. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:32729 -msgid "" -":issue:`36236`: At Python initialization, the current directory is no longer" -" prepended to :data:`sys.path` if it has been removed." -msgstr "" - -#: ../NEWS:32732 -msgid "" -":issue:`36352`: Python initialization now fails with an error, rather than " -"silently truncating paths, if a path is too long." -msgstr "" - -#: ../NEWS:32735 -msgid "" -":issue:`36301`: Python initialization now fails if decoding " -"``pybuilddir.txt`` configuration file fails at startup." -msgstr "" - -#: ../NEWS:32738 -msgid "" -":issue:`36333`: Fix leak in _PyRuntimeState_Fini. Contributed by Stéphane " -"Wirtel." -msgstr "" - -#: ../NEWS:32741 -msgid "" -":issue:`36332`: The builtin :func:`compile` can now handle AST objects that " -"contain assignment expressions. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:32744 -msgid "" -":issue:`36282`: Improved error message for too much positional arguments in " -"some builtin functions." -msgstr "" - -#: ../NEWS:32747 -msgid "" -":issue:`30040`: New empty dict uses fewer memory for now. It used more " -"memory than empty dict created by ``dict.clear()``. And empty dict creation" -" and deletion is about 2x faster. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:32751 -msgid "" -":issue:`36262`: Fix an unlikely memory leak on conversion from string to " -"float in the function ``_Py_dg_strtod()`` used by ``float(str)``, " -"``complex(str)``, :func:`pickle.load`, :func:`marshal.load`, etc." -msgstr "" - -#: ../NEWS:32755 -msgid ":issue:`36252`: Update Unicode databases to version 12.0.0." -msgstr "" - -#: ../NEWS:32757 -msgid "" -":issue:`36218`: Fix a segfault occurring when sorting a list of " -"heterogeneous values. Patch contributed by Rémi Lapeyre and Elliot " -"Gorokhovsky." -msgstr "" - -#: ../NEWS:32760 -msgid "" -":issue:`36188`: Cleaned up left-over vestiges of Python 2 unbound method " -"handling in method objects and documentation. Patch by Martijn Pieters" -msgstr "" - -#: ../NEWS:32763 -msgid "" -":issue:`36124`: Add a new interpreter-specific dict and expose it in the " -"C-API via PyInterpreterState_GetDict(). This parallels " -"PyThreadState_GetDict(). However, extension modules should continue using " -"PyModule_GetState() for their own internal per-interpreter state." -msgstr "" - -#: ../NEWS:32768 -msgid "" -":issue:`35975`: Add a ``feature_version`` flag to ``ast.parse()`` " -"(documented) and ``compile()`` (hidden) that allows tweaking the parser to " -"support older versions of the grammar. In particular, if ``feature_version``" -" is 5 or 6, the hacks for the ``async`` and ``await`` keyword from PEP 492 " -"are reinstated. (For 7 or higher, these are unconditionally treated as " -"keywords, but they are still special tokens rather than ``NAME`` tokens that" -" the parser driver recognizes.)" -msgstr "" - -#: ../NEWS:32776 -msgid ":issue:`31904`: Use UTF-8 as the system encoding on VxWorks." -msgstr "" - -#: ../NEWS:32778 -msgid "" -":issue:`36048`: The :meth:`~object.__index__` special method will be used " -"instead of :meth:`~object.__int__` for implicit conversion of Python numbers" -" to C integers. Using the ``__int__()`` method in implicit conversions has " -"been deprecated." -msgstr "" - -#: ../NEWS:32783 -msgid "" -":issue:`35808`: Retire pgen and use a modified version of pgen2 to generate " -"the parser. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:32789 -msgid "" -":issue:`36401`: The class documentation created by pydoc now has a separate " -"section for readonly properties." -msgstr "" - -#: ../NEWS:32792 -msgid "" -":issue:`36320`: The typing.NamedTuple() class has deprecated the " -"_field_types attribute in favor of the __annotations__ attribute which " -"carried the same information. Also, both attributes were converted from " -"OrderedDict to a regular dict." -msgstr "" - -#: ../NEWS:32797 -msgid "" -":issue:`34745`: Fix :mod:`asyncio` ssl memory issues caused by circular " -"references" -msgstr "" - -#: ../NEWS:32800 -msgid "" -":issue:`36324`: Add method to statistics.NormalDist for computing the " -"inverse cumulative normal distribution." -msgstr "" - -#: ../NEWS:32803 -msgid "" -":issue:`36321`: collections.namedtuple() misspelled the name of an " -"attribute. To be consistent with typing.NamedTuple, the attribute name " -"should have been \"_field_defaults\" instead of \"_fields_defaults\". For " -"backwards compatibility, both spellings are now created. The misspelled " -"version may be removed in the future." -msgstr "" - -#: ../NEWS:32809 -msgid "" -":issue:`36297`: \"unicode_internal\" codec is removed. It was deprecated " -"since Python 3.3. Patch by Inada Naoki." -msgstr "" - -#: ../NEWS:32812 -msgid "" -":issue:`36298`: Raise ModuleNotFoundError in pyclbr when a module can't be " -"found. Thanks to 'mental' for the bug report." -msgstr "" - -#: ../NEWS:32815 -msgid "" -":issue:`36268`: Switch the default format used for writing tars with " -":mod:`tarfile` to the modern POSIX.1-2001 pax standard, from the vendor-" -"specific GNU. Contributed by C.A.M. Gerlach." -msgstr "" - -#: ../NEWS:32819 -msgid "" -":issue:`36285`: Fix integer overflows in the array module. Patch by Stephan " -"Hohe." -msgstr "" - -#: ../NEWS:32822 -msgid ":issue:`31904`: Add _signal module support for VxWorks." -msgstr "" - -#: ../NEWS:32824 -msgid "" -":issue:`36272`: :mod:`logging` does not silently ignore RecursionError " -"anymore. Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:32827 -msgid "" -":issue:`36280`: Add a kind field to ast.Constant. It is 'u' if the literal " -"has a 'u' prefix (i.e. a Python 2 style unicode literal), else None." -msgstr "" - -#: ../NEWS:32830 -msgid "" -":issue:`35931`: The :mod:`pdb` ``debug`` command now gracefully handles all " -"exceptions." -msgstr "" - -#: ../NEWS:32833 -msgid "" -":issue:`36251`: Fix format strings used for stderrprinter and re.Match " -"reprs. Patch by Stephan Hohe." -msgstr "" - -#: ../NEWS:32836 -msgid "" -":issue:`36235`: Fix ``CFLAGS`` in ``customize_compiler()`` of " -"``distutils.sysconfig``: when the ``CFLAGS`` environment variable is " -"defined, don't override ``CFLAGS`` variable with the ``OPT`` variable " -"anymore. Initial patch written by David Malcolm." -msgstr "" - -#: ../NEWS:32841 -msgid "" -":issue:`35807`: Update ensurepip to install pip 19.0.3 and setuptools " -"40.8.0." -msgstr "" - -#: ../NEWS:32843 -msgid ":issue:`36139`: Release GIL when closing :class:`~mmap.mmap` objects." -msgstr "" - -#: ../NEWS:32845 -msgid "" -":issue:`36179`: Fix two unlikely reference leaks in _hashopenssl. The leaks " -"only occur in out-of-memory cases." -msgstr "" - -#: ../NEWS:32848 -msgid "" -":issue:`36169`: Add overlap() method to statistics.NormalDist. Computes the" -" overlapping coefficient for two normal distributions." -msgstr "" - -#: ../NEWS:32851 -msgid "" -":issue:`36103`: Default buffer size used by ``shutil.copyfileobj()`` is " -"changed from 16 KiB to 64 KiB on non-Windows platform to reduce system call " -"overhead. Contributed by Inada Naoki." -msgstr "" - -#: ../NEWS:32855 -msgid "" -":issue:`36130`: Fix ``pdb`` with ``skip=...`` when stepping into a frame " -"without a ``__name__`` global. Patch by Anthony Sottile." -msgstr "" - -#: ../NEWS:32858 -msgid "" -":issue:`35652`: shutil.copytree(copy_function=...) erroneously pass DirEntry" -" instead of a path string." -msgstr "" - -#: ../NEWS:32861 -msgid "" -":issue:`35178`: Ensure custom :func:`warnings.formatwarning` function can " -"receive ``line`` as positional argument. Based on patch by Tashrif Billah." -msgstr "" - -#: ../NEWS:32864 -msgid "" -":issue:`36106`: Resolve potential name clash with libm's sinpi(). Patch by " -"Dmitrii Pasechnik." -msgstr "" - -#: ../NEWS:32867 -msgid "" -":issue:`36091`: Clean up reference to async generator in Lib/types. Patch by" -" Henry Chen." -msgstr "" - -#: ../NEWS:32870 -msgid "" -":issue:`36043`: :class:`FileCookieJar` supports :term:`path-like object`. " -"Contributed by Stéphane Wirtel" -msgstr "" - -#: ../NEWS:32873 -msgid "" -":issue:`35899`: Enum has been fixed to correctly handle empty strings and " -"strings with non-Latin characters (ie. 'α', 'א') without crashing. Original " -"patch contributed by Maxwell. Assisted by Stéphane Wirtel." -msgstr "" - -#: ../NEWS:32877 -msgid "" -":issue:`21269`: Add ``args`` and ``kwargs`` properties to mock call objects." -" Contributed by Kumar Akshay." -msgstr "" - -#: ../NEWS:32880 -msgid "" -":issue:`30670`: ``pprint.pp`` has been added to pretty-print objects with " -"dictionary keys being sorted with their insertion order by default. " -"Parameter *sort_dicts* has been added to ``pprint.pprint``, " -"``pprint.pformat`` and ``pprint.PrettyPrinter``. Contributed by Rémi " -"Lapeyre." -msgstr "" - -#: ../NEWS:32886 -msgid "" -":issue:`35843`: Implement ``__getitem__`` for ``_NamespacePath``. Patch by " -"Anthony Sottile." -msgstr "" - -#: ../NEWS:32889 -msgid "" -":issue:`35802`: Clean up code which checked presence of ``os.stat`` / " -"``os.lstat`` / ``os.chmod`` which are always present. Patch by Anthony " -"Sottile." -msgstr "" - -#: ../NEWS:32893 -msgid "" -":issue:`35715`: Librates the return value of a ProcessPoolExecutor " -"_process_worker after it's no longer needed to free memory" -msgstr "" - -#: ../NEWS:32896 -msgid "" -":issue:`35493`: Use :func:`multiprocessing.connection.wait` instead of " -"polling each 0.2 seconds for worker updates in " -":class:`multiprocessing.Pool`. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:32900 -msgid ":issue:`35661`: Store the venv prompt in pyvenv.cfg." -msgstr "" - -#: ../NEWS:32902 -msgid "" -":issue:`35121`: Don't set cookie for a request when the request path is a " -"prefix match of the cookie's path attribute but doesn't end with \"/\". " -"Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:32906 -msgid "" -":issue:`21478`: Calls to a child function created with " -":func:`unittest.mock.create_autospec` should propagate to the parent. Patch " -"by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:32910 -msgid ":issue:`35198`: Fix C++ extension compilation on AIX" -msgstr "" - -#: ../NEWS:32915 -msgid "" -":issue:`36329`: Declare the path of the Python binary for the usage of " -"``Tools/scripts/serve.py`` when executing ``make -C Doc/ serve``. " -"Contributed by Stéphane Wirtel" -msgstr "" - -#: ../NEWS:32919 -msgid "" -":issue:`36138`: Improve documentation about converting datetime.timedelta to" -" scalars." -msgstr "" - -#: ../NEWS:32922 -msgid "" -":issue:`21314`: A new entry was added to the Core Language Section of the " -"Programming FAQ, which explaines the usage of slash(/) in the signature of a" -" function. Patch by Lysandros Nikolaou" -msgstr "" - -#: ../NEWS:32929 -msgid "" -":issue:`36234`: test_posix.PosixUidGidTests: add tests for invalid uid/gid " -"type (str). Initial patch written by David Malcolm." -msgstr "" - -#: ../NEWS:32932 -msgid "" -":issue:`29571`: Fix ``test_re.test_locale_flag()``: use " -"``locale.getpreferredencoding()`` rather than ``locale.getlocale()`` to get " -"the locale encoding. With some locales, ``locale.getlocale()`` returns the " -"wrong encoding." -msgstr "" - -#: ../NEWS:32937 -msgid ":issue:`36123`: Fix race condition in test_socket." -msgstr "" - -#: ../NEWS:32942 -msgid "" -":issue:`36356`: Fix leaks that led to build failure when configured with " -"address sanitizer." -msgstr "" - -#: ../NEWS:32945 -msgid "" -":issue:`36146`: Add ``TEST_EXTENSIONS`` constant to ``setup.py`` to allow to" -" not build test extensions like ``_testcapi``." -msgstr "" - -#: ../NEWS:32948 -msgid "" -":issue:`36146`: Fix setup.py on macOS: only add ``/usr/include/ffi`` to " -"include directories of _ctypes, not for all extensions." -msgstr "" - -#: ../NEWS:32951 -msgid ":issue:`31904`: Enable build system to cross-build for VxWorks RTOS." -msgstr "" - -#: ../NEWS:32956 -msgid "" -":issue:`36312`: Fixed decoders for the following code pages: 50220, 50221, " -"50222, 50225, 50227, 50229, 57002 through 57011, 65000 and 42." -msgstr "" - -#: ../NEWS:32959 -msgid "" -":issue:`36264`: Don't honor POSIX ``HOME`` in ``os.path.expanduser`` on " -"windows. Patch by Anthony Sottile." -msgstr "" - -#: ../NEWS:32962 -msgid "" -":issue:`24643`: Fix name collisions due to ``#define timezone _timezone`` in" -" PC/pyconfig.h." -msgstr "" - -#: ../NEWS:32968 -msgid ":issue:`36405`: Use dict unpacking in idlelib." -msgstr "" - -#: ../NEWS:32970 -msgid "" -":issue:`36396`: Remove fgBg param of idlelib.config.GetHighlight(). This " -"param was only used twice and changed the return type." -msgstr "" - -#: ../NEWS:32973 -msgid "" -":issue:`36176`: Fix IDLE autocomplete & calltip popup colors. Prevent " -"conflicts with Linux dark themes (and slightly darken calltip background)." -msgstr "" - -#: ../NEWS:32976 -msgid "" -":issue:`23205`: For the grep module, add tests for findfiles, refactor " -"findfiles to be a module-level function, and refactor findfiles to use " -"os.walk." -msgstr "" - -#: ../NEWS:32980 -msgid ":issue:`23216`: Add docstrings to IDLE search modules." -msgstr "" - -#: ../NEWS:32982 -msgid "" -":issue:`36152`: Remove colorizer.ColorDelegator.close_when_done and the " -"corresponding argument of .close(). In IDLE, both have always been None or " -"False since 2007." -msgstr "" - -#: ../NEWS:32986 -msgid "" -":issue:`32129`: Avoid blurry IDLE application icon on macOS with Tk 8.6. " -"Patch by Kevin Walzer." -msgstr "" - -#: ../NEWS:32989 -msgid "" -":issue:`36096`: Refactor class variables to instance variables in colorizer." -msgstr "" - -#: ../NEWS:32991 -msgid "" -":issue:`30348`: Increase test coverage of idlelib.autocomplete by 30%. Patch" -" by Louie Lu" -msgstr "" - -#: ../NEWS:32997 -msgid "" -":issue:`35132`: Fix py-list and py-bt commands of python-gdb.py on gdb7." -msgstr "" - -#: ../NEWS:32999 -msgid ":issue:`32217`: Fix freeze script on Windows." -msgstr "" - -#: ../NEWS:33004 -msgid "" -":issue:`36381`: Raise ``DeprecationWarning`` when '#' formats are used for " -"building or parsing values without ``PY_SSIZE_T_CLEAN``." -msgstr "" - -#: ../NEWS:33007 -msgid "" -":issue:`36142`: The whole coreconfig.h header is now excluded from " -"Py_LIMITED_API. Move functions definitions into a new internal " -"pycore_coreconfig.h header." -msgstr "" - -#: ../NEWS:33013 -msgid "Python 3.8.0 alpha 2" -msgstr "Python 3.8.0 alfa 2" - -#: ../NEWS:33015 -msgid "*Release date: 2019-02-25*" -msgstr "*Tanggal rilis: 2019-02-25*" - -#: ../NEWS:33020 -msgid "" -":issue:`36052`: Raise a :exc:`SyntaxError` when assigning a value to " -"``__debug__`` with the Assignment Operator. Contributed by Stéphane Wirtel " -"and Pablo Galindo." -msgstr "" - -#: ../NEWS:33024 -msgid "" -":issue:`36012`: Doubled the speed of class variable writes. When a non-" -"dunder attribute was updated, there was an unnecessary call to update slots." -msgstr "" - -#: ../NEWS:33027 -msgid "" -":issue:`35942`: The error message emitted when returning invalid types from " -"``__fspath__`` in interfaces that allow passing :class:`~os.PathLike` " -"objects has been improved and now it does explain the origin of the error." -msgstr "" - -#: ../NEWS:33031 -msgid "" -":issue:`36016`: ``gc.get_objects`` can now receive an optional parameter " -"indicating a generation to get objects from. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:33034 -msgid "" -":issue:`1054041`: When the main interpreter exits due to an uncaught " -"KeyboardInterrupt, the process now exits in the appropriate manner for its " -"parent process to detect that a SIGINT or ^C terminated the process. This " -"allows shells and batch scripts to understand that the user has asked them " -"to stop." -msgstr "" - -#: ../NEWS:33040 -msgid "" -":issue:`35992`: Fix ``__class_getitem__()`` not being called on a class with" -" a custom non-subscriptable metaclass." -msgstr "" - -#: ../NEWS:33043 -msgid "" -":issue:`35993`: Fix a crash on fork when using subinterpreters. Contributed " -"by Stéphane Wirtel" -msgstr "" - -#: ../NEWS:33046 -msgid "" -":issue:`35991`: Fix a potential double free in Modules/_randommodule.c." -msgstr "" - -#: ../NEWS:33048 -msgid "" -":issue:`35961`: Fix a crash in slice_richcompare(): use strong references " -"rather than stolen references for the two temporary internal tuples." -msgstr "" - -#: ../NEWS:33051 -msgid "" -":issue:`35911`: Enable the creation of cell objects by adding a " -"``cell.__new__`` method, and expose the type ``cell`` in ``Lib/types.py`` " -"under the name CellType. Patch by Pierre Glaser." -msgstr "" - -#: ../NEWS:33055 -msgid "" -":issue:`12822`: Use monotonic clock for ``pthread_cond_timedwait`` when " -"``pthread_condattr_setclock`` and ``CLOCK_MONOTONIC`` are available." -msgstr "" - -#: ../NEWS:33058 -msgid "" -":issue:`15248`: The compiler emits now syntax warnings in the case when a " -"comma is likely missed before tuple or list." -msgstr "" - -#: ../NEWS:33061 -msgid "" -":issue:`35886`: The implementation of PyInterpreterState has been moved into" -" the internal header files (guarded by Py_BUILD_CORE)." -msgstr "" - -#: ../NEWS:33064 -msgid "" -":issue:`31506`: Clarify the errors reported when ``object.__new__`` and " -"``object.__init__`` receive more than one argument. Contributed by Sanyam " -"Khurana." -msgstr "" - -#: ../NEWS:33068 -msgid "" -":issue:`35724`: Signal-handling is now guaranteed to happen relative to the " -"main interpreter." -msgstr "" - -#: ../NEWS:33071 -msgid "" -":issue:`33608`: We added a new internal _Py_AddPendingCall() that operates " -"relative to the provided interpreter. This allows us to use the existing " -"implementation to ask another interpreter to do work that cannot be done in " -"the current interpreter, like decref an object the other interpreter owns. " -"The existing Py_AddPendingCall() only operates relative to the main " -"interpreter." -msgstr "" - -#: ../NEWS:33078 -msgid "" -":issue:`33989`: Fix a possible crash in :meth:`list.sort` when sorting " -"objects with ``ob_type->tp_richcompare == NULL``. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:33084 -msgid "" -":issue:`35512`: :func:`unittest.mock.patch.dict` used as a decorator with " -"string target resolves the target during function call instead of during " -"decorator construction. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:33088 -msgid "" -":issue:`36018`: Add statistics.NormalDist, a tool for creating and " -"manipulating normal distributions of random variable. Features a composite " -"class that treats the mean and standard deviation of measurement data as " -"single entity." -msgstr "" - -#: ../NEWS:33093 -msgid "" -":issue:`35904`: Added statistics.fmean() as a faster, floating-point variant" -" of the existing mean() function." -msgstr "" - -#: ../NEWS:33096 -msgid "" -":issue:`35918`: Removed broken ``has_key`` method from " -"multiprocessing.managers.SyncManager.dict. Contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:33099 -msgid ":issue:`18283`: Add support for bytes to :func:`shutil.which`." -msgstr "" - -#: ../NEWS:33101 -msgid "" -":issue:`35960`: Fix :func:`dataclasses.field` throwing away empty mapping " -"objects passed as metadata." -msgstr "" - -#: ../NEWS:33104 -msgid "" -":issue:`35500`: Write expected and actual call parameters on separate lines " -"in :meth:`unittest.mock.Mock.assert_called_with` assertion errors. " -"Contributed by Susan Su." -msgstr "" - -#: ../NEWS:33108 -msgid "" -":issue:`35931`: The :mod:`pdb` ``debug`` command now gracefully handles " -"syntax errors." -msgstr "" - -#: ../NEWS:33111 -msgid "" -":issue:`24209`: In http.server script, rely on getaddrinfo to bind to " -"preferred address based on the bind parameter. Now default bind or binding " -"to a name may bind to IPv6 or dual-stack, depending on the environment." -msgstr "" - -#: ../NEWS:33115 -msgid "" -":issue:`35321`: Set ``__spec__.origin`` of ``_frozen_importlib`` to frozen " -"so that it matches the behavior of ``_frozen_importlib_external``. Patch by" -" Nina Zakharenko." -msgstr "" - -#: ../NEWS:33119 -msgid "" -":issue:`35378`: Fix a reference issue inside :class:`multiprocessing.Pool` " -"that caused the pool to remain alive if it was deleted without being closed " -"or terminated explicitly. A new strong reference is added to the pool " -"iterators to link the lifetime of the pool to the lifetime of its iterators " -"so the pool does not get destroyed if a pool iterator is still alive." -msgstr "" - -#: ../NEWS:33126 -msgid "" -":issue:`34294`: re module, fix wrong capturing groups in rare cases. " -":func:`re.search`, :func:`re.findall`, :func:`re.sub` and other functions " -"that scan through string looking for a match, should reset capturing groups " -"between two match attempts. Patch by Ma Lin." -msgstr "" - -#: ../NEWS:33131 -msgid "" -":issue:`35615`: :mod:`weakref`: Fix a RuntimeError when copying a " -"WeakKeyDictionary or a WeakValueDictionary, due to some keys or values " -"disappearing while iterating." -msgstr "" - -#: ../NEWS:33135 -msgid "" -":issue:`35606`: Implement :func:`math.prod` as analogous function to " -":func:`sum` that returns the product of a 'start' value (default: 1) times " -"an iterable of numbers. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:33139 -msgid "" -":issue:`32417`: Performing arithmetic between :class:`datetime.datetime` " -"subclasses and :class:`datetime.timedelta` now returns an object of the same" -" type as the :class:`datetime.datetime` subclass. As a result, " -":meth:`datetime.datetime.astimezone` and alternate constructors like " -":meth:`datetime.datetime.now` and :meth:`datetime.fromtimestamp` called with" -" a ``tz`` argument now *also* retain their subclass." -msgstr "" - -#: ../NEWS:33146 -msgid "" -":issue:`35153`: Add *headers* optional keyword-only parameter to " -":class:`xmlrpc.client.ServerProxy`, :class:`xmlrpc.client.Transport` and " -":class:`xmlrpc.client.SafeTransport`. Patch by Cédric Krier." -msgstr "" - -#: ../NEWS:33150 -msgid "" -":issue:`34572`: Fix C implementation of pickle.loads to use importlib's " -"locking mechanisms, and thereby avoid using partially loaded modules. Patch " -"by Tim Burgess." -msgstr "" - -#: ../NEWS:33157 -msgid "" -":issue:`36083`: Fix formatting of --check-hash-based-pycs options in the " -"manpage Synopsis." -msgstr "" - -#: ../NEWS:33160 -msgid "" -":issue:`36007`: Bump minimum sphinx version to 1.8. Patch by Anthony " -"Sottile." -msgstr "" - -#: ../NEWS:33162 -msgid "" -":issue:`22062`: Update documentation and docstrings for pathlib. Original " -"patch by Mike Short." -msgstr "" - -#: ../NEWS:33168 -msgid "" -":issue:`27313`: Avoid test_ttk_guionly ComboboxTest failure with macOS Cocoa" -" Tk." -msgstr "" - -#: ../NEWS:33171 -msgid "" -":issue:`36019`: Add test.support.TEST_HTTP_URL and replace references of " -"http://www.example.com by this new constant. Contributed by Stéphane Wirtel." -msgstr "" - -#: ../NEWS:33175 -msgid "" -":issue:`36037`: Fix test_ssl for strict OpenSSL configuration like RHEL8 " -"strict crypto policy. Use older TLS version for minimum TLS version of the " -"server SSL context if needed, to test TLS version older than default minimum" -" TLS version." -msgstr "" - -#: ../NEWS:33180 -msgid ":issue:`35798`: Added :func:`test.support.check_syntax_warning`." -msgstr "" - -#: ../NEWS:33182 -msgid "" -":issue:`35505`: Make test_imap4_host_default_value independent on whether " -"the local IMAP server is running." -msgstr "" - -#: ../NEWS:33185 -msgid "" -":issue:`35917`: multiprocessing: provide unit tests for SyncManager and " -"SharedMemoryManager classes + all the shareable types which are supposed to " -"be supported by them. (patch by Giampaolo Rodola)" -msgstr "" - -#: ../NEWS:33189 -msgid "" -":issue:`35704`: Skip ``test_shutil.test_unpack_archive_xztar`` to prevent a " -"MemoryError on 32-bit AIX when MAXDATA setting is less than 0x20000000." -msgstr "" - -#: ../NEWS:33192 -msgid "Patch by Michael Felt (aixtools)" -msgstr "*Patch* oleh Michael Felt (aixtools)" - -#: ../NEWS:33194 -msgid "" -":issue:`34720`: Assert m_state != NULL to mimic GC traversal functions that " -"do not correctly handle module creation when the module state has not been " -"created." -msgstr "" - -#: ../NEWS:33201 -msgid "" -":issue:`35976`: Added ARM build support to Windows build files in PCBuild." -msgstr "" - -#: ../NEWS:33203 -msgid "" -":issue:`35692`: ``pathlib`` no longer raises when checking file and " -"directory existence on drives that are not ready" -msgstr "" - -#: ../NEWS:33206 -msgid "" -":issue:`35872`: Uses the base Python executable when invoking venv in a " -"virtual environment" -msgstr "" - -#: ../NEWS:33209 -msgid ":issue:`35873`: Prevents venv paths being inherited by child processes" -msgstr "" - -#: ../NEWS:33211 -msgid "" -":issue:`35299`: Fix sysconfig detection of the source directory and " -"distutils handling of pyconfig.h during PGO profiling" -msgstr "" - -#: ../NEWS:33217 -msgid ":issue:`24310`: IDLE -- Document settings dialog font tab sample." -msgstr "" - -#: ../NEWS:33219 -msgid "" -":issue:`35833`: Revise IDLE doc for control codes sent to Shell. Add a code " -"example block." -msgstr "" - -#: ../NEWS:33222 -msgid ":issue:`35689`: Add docstrings and unittests for colorizer.py." -msgstr "" - -#: ../NEWS:33226 -msgid "Python 3.8.0 alpha 1" -msgstr "Python 3.8.0 alfa 1" - -#: ../NEWS:33228 -msgid "*Release date: 2019-02-03*" -msgstr "*Tanggal rilis: 2019-02-03*" - -#: ../NEWS:33233 -msgid "" -":issue:`35746`: :cve:`2019-5010`: Fix a NULL pointer deref in ssl module. " -"The cert parser did not handle CRL distribution points with empty DP or URI " -"correctly. A malicious or buggy certificate can result into segfault. " -"Vulnerability (TALOS-2018-0758) reported by Colin Read and Nicolas Edet of " -"Cisco." -msgstr "" - -#: ../NEWS:33239 -msgid "" -":issue:`34812`: The :option:`-I` command line option (run Python in isolated" -" mode) is now also copied by the :mod:`multiprocessing` and ``distutils`` " -"modules when spawning child processes. Previously, only :option:`-E` and " -":option:`-s` options (enabled by :option:`-I`) were copied." -msgstr "" - -#: ../NEWS:33244 -msgid "" -":issue:`34791`: The xml.sax and xml.dom.domreg no longer use environment " -"variables to override parser implementations when " -"sys.flags.ignore_environment is set by -E or -I arguments." -msgstr "" - -#: ../NEWS:33248 -msgid "" -":issue:`17239`: The xml.sax and xml.dom.minidom parsers no longer processes " -"external entities by default. External DTD and ENTITY declarations no longer" -" load files or create network connections." -msgstr "" - -#: ../NEWS:33252 -msgid "" -":issue:`34623`: :cve:`2018-14647`: The C accelerated _elementtree module now" -" initializes hash randomization salt from _Py_HashSecret instead of " -"libexpat's default CSPRNG." -msgstr "" - -#: ../NEWS:33256 -msgid ":issue:`34405`: Updated to OpenSSL 1.1.0i for Windows builds." -msgstr "" - -#: ../NEWS:33258 -msgid "" -":issue:`33871`: Fixed sending the part of the file in :func:`os.sendfile` on" -" macOS. Using the *trailers* argument could cause sending more bytes from " -"the input file than was specified." -msgstr "" - -#: ../NEWS:33262 -msgid ":issue:`32533`: Fixed thread-safety of error handling in _ssl." -msgstr "" - -#: ../NEWS:33264 ../NEWS:36763 -msgid "" -":issue:`33136`: Harden ssl module against LibreSSL :cve:`2018-8970`. " -"X509_VERIFY_PARAM_set1_host() is called with an explicit namelen. A new test" -" ensures that NULL bytes are not allowed." -msgstr "" - -#: ../NEWS:33268 ../NEWS:36767 ../NEWS:41162 -msgid "" -":issue:`33001`: Minimal fix to prevent buffer overrun in os.symlink on " -"Windows" -msgstr "" - -#: ../NEWS:33270 ../NEWS:36769 ../NEWS:41164 -msgid "" -":issue:`32981`: Regexes in difflib and poplib were vulnerable to " -"catastrophic backtracking. These regexes formed potential DOS vectors " -"(REDOS). They have been refactored. This resolves :cve:`2018-1060` and " -":cve:`2018-1061`. Patch by Jamie Davis." -msgstr "" - -#: ../NEWS:33275 ../NEWS:36981 -msgid "" -":issue:`28414`: The ssl module now allows users to perform their own IDN " -"en/decoding when using SNI." -msgstr "" - -#: ../NEWS:33281 -msgid "" -":issue:`35877`: Make parenthesis optional for named expressions in while " -"statement. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:33284 -msgid "" -":issue:`35814`: Allow same right hand side expressions in annotated " -"assignments as in normal ones. In particular, ``x: Tuple[int, int] = 1, 2`` " -"(without parentheses on the right) is now allowed." -msgstr "" - -#: ../NEWS:33288 -msgid "" -":issue:`35766`: Add the option to parse PEP 484 type comments in the ast " -"module. (Off by default.) This is merging the key functionality of the third" -" party fork thereof, [typed_ast](https://github.com/python/typed_ast)." -msgstr "" - -#: ../NEWS:33293 -msgid "" -":issue:`35713`: Reorganize Python initialization to get working exceptions " -"and sys.stderr earlier." -msgstr "" - -#: ../NEWS:33296 -msgid "" -":issue:`33416`: Add end line and end column position information to the " -"Python AST nodes. This is a C-level backwards incompatible change." -msgstr "" - -#: ../NEWS:33299 -msgid "" -":issue:`35720`: Fixed a minor memory leak in pymain_parse_cmdline_impl " -"function in Modules/main.c" -msgstr "" - -#: ../NEWS:33302 -msgid "" -":issue:`35634`: ``func(**kwargs)`` will now raise an error when ``kwargs`` " -"is a mapping containing multiple entries with the same key. An error was " -"already raised when other keyword arguments are passed before ``**kwargs`` " -"since Python 3.6." -msgstr "" - -#: ../NEWS:33307 -msgid "" -":issue:`35623`: Fix a crash when sorting very long lists. Patch by Stephan " -"Hohe." -msgstr "" - -#: ../NEWS:33310 -msgid "" -":issue:`35214`: clang Memory Sanitizer build instrumentation was added to " -"work around false positives from posix, socket, time, test_io, and " -"test_faulthandler." -msgstr "" - -#: ../NEWS:33314 -msgid "" -":issue:`35560`: Fix an assertion error in :func:`format` in debug build for " -"floating-point formatting with \"n\" format, zero padding and small width. " -"Release build is not impacted. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:33318 -msgid "" -":issue:`35552`: Format characters ``%s`` and ``%V`` in " -":c:func:`PyUnicode_FromFormat` and ``%s`` in :c:func:`PyBytes_FromFormat` no" -" longer read memory past the limit if *precision* is specified." -msgstr "" - -#: ../NEWS:33322 -msgid "" -":issue:`35504`: Fix segfaults and :exc:`SystemError`\\ s when deleting " -"certain attributes. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:33325 -msgid "" -":issue:`35504`: Fixed a SystemError when delete the characters_written " -"attribute of an OSError." -msgstr "" - -#: ../NEWS:33328 -msgid "" -":issue:`35494`: Improved syntax error messages for unbalanced parentheses in" -" f-string." -msgstr "" - -#: ../NEWS:33331 -msgid "" -":issue:`35444`: Fixed error handling in pickling methods when fail to look " -"up builtin \"getattr\". Sped up pickling iterators." -msgstr "" - -#: ../NEWS:33334 -msgid "" -":issue:`35436`: Fix various issues with memory allocation error handling. " -"Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:33337 -msgid "" -":issue:`35423`: Separate the signal handling trigger in the eval loop from " -"the \"pending calls\" machinery. There is no semantic change and the " -"difference in performance is insignificant." -msgstr "" - -#: ../NEWS:33341 -msgid "" -":issue:`35357`: Internal attributes' names of unittest.mock._Call and " -"unittest.mock.MagicProxy (name, parent & from_kall) are now prefixed with " -"_mock_ in order to prevent clashes with widely used object attributes. Fixed" -" minor typo in test function name." -msgstr "" - -#: ../NEWS:33346 -msgid "" -":issue:`35372`: Fixed the code page decoder for input longer than 2 GiB " -"containing undecodable bytes." -msgstr "" - -#: ../NEWS:33349 -msgid "" -":issue:`35336`: Fix PYTHONCOERCECLOCALE=1 environment variable: only coerce " -"the C locale if the LC_CTYPE locale is \"C\"." -msgstr "" - -#: ../NEWS:33352 -msgid "" -":issue:`31241`: The *lineno* and *col_offset* attributes of AST nodes for " -"list comprehensions, generator expressions and tuples are now point to the " -"opening parenthesis or square brace. For tuples without parenthesis they " -"point to the position of the first item." -msgstr "" - -#: ../NEWS:33357 -msgid "" -":issue:`33954`: For :meth:`str.format`, :meth:`float.__format__` and " -":meth:`complex.__format__` methods for non-ASCII decimal point when using " -"the \"n\" formatter." -msgstr "" - -#: ../NEWS:33361 -msgid "" -":issue:`35269`: Fix a possible segfault involving a newly created coroutine." -" Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:33364 -msgid "" -":issue:`35224`: Implement :pep:`572` (assignment expressions). Patch by " -"Emily Morehouse." -msgstr "" - -#: ../NEWS:33367 -msgid "" -":issue:`32492`: Speed up :func:`namedtuple` attribute access by 1.6x using a" -" C fast-path for the name descriptors. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:33370 -msgid "" -":issue:`35214`: Fixed an out of bounds memory access when parsing a " -"truncated unicode escape sequence at the end of a string such as ``'\\N'``." -" It would read one byte beyond the end of the memory allocation." -msgstr "" - -#: ../NEWS:33374 -msgid "" -":issue:`35214`: The interpreter and extension modules have had annotations " -"added so that they work properly under clang's Memory Sanitizer. A new " -"configure flag --with-memory-sanitizer has been added to make test builds of" -" this nature easier to perform." -msgstr "" - -#: ../NEWS:33379 -msgid "" -":issue:`35193`: Fix an off by one error in the bytecode peephole optimizer " -"where it could read bytes beyond the end of bounds of an array when removing" -" unreachable code. This bug was present in every release of Python 3.6 and " -"3.7 until now." -msgstr "" - -#: ../NEWS:33384 -msgid ":issue:`35169`: Improved error messages for forbidden assignments." -msgstr "" - -#: ../NEWS:33386 -msgid "" -":issue:`34022`: Fix handling of hash-based bytecode files in " -":mod:`zipimport`. Patch by Elvis Pranskevichus." -msgstr "" - -#: ../NEWS:33389 -msgid "" -":issue:`28401`: Debug builds will no longer to attempt to import extension " -"modules built for the ABI as they were never compatible to begin with. Patch" -" by Stefano Rivera." -msgstr "" - -#: ../NEWS:33393 -msgid "" -":issue:`29341`: Clarify in the docstrings of :mod:`os` methods that path-" -"like objects are also accepted as input parameters." -msgstr "" - -#: ../NEWS:33396 -msgid "" -":issue:`35050`: :mod:`socket`: Fix off-by-one bug in length check for " -"``AF_ALG`` name and type." -msgstr "" - -#: ../NEWS:33399 -msgid "" -":issue:`29743`: Raise :exc:`ValueError` instead of :exc:`OverflowError` in " -"case of a negative ``_length_`` in a :class:`ctypes.Array` subclass. Also " -"raise :exc:`TypeError` instead of :exc:`AttributeError` for non-integer " -"``_length_``. Original patch by Oren Milman." -msgstr "" - -#: ../NEWS:33404 -msgid "" -":issue:`16806`: Fix ``lineno`` and ``col_offset`` for multi-line string " -"tokens." -msgstr "" - -#: ../NEWS:33406 -msgid "" -":issue:`35029`: :exc:`SyntaxWarning` raised as an exception at code " -"generation time will be now replaced with a :exc:`SyntaxError` for better " -"error reporting." -msgstr "" - -#: ../NEWS:33410 -msgid "" -":issue:`34983`: Expose :meth:`symtable.Symbol.is_nonlocal` in the symtable " -"module. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:33413 -msgid "" -":issue:`34974`: :class:`bytes` and :class:`bytearray` constructors no longer" -" convert unexpected exceptions (e.g. :exc:`MemoryError` and " -":exc:`KeyboardInterrupt`) to :exc:`TypeError`." -msgstr "" - -#: ../NEWS:33417 -msgid "" -":issue:`34939`: Allow annotated names in module namespace that are declared " -"global before the annotation happens. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:33420 -msgid "" -":issue:`34973`: Fixed crash in :func:`bytes` when the :class:`list` argument" -" is mutated while it is iterated." -msgstr "" - -#: ../NEWS:33423 -msgid "" -":issue:`34876`: The *lineno* and *col_offset* attributes of the AST for " -"decorated function and class refer now to the position of the corresponding " -"``def``, ``async def`` and ``class`` instead of the position of the first " -"decorator. This leads to more correct line reporting in tracing. This is the" -" only case when the position of child AST nodes can precede the position of " -"the parent AST node." -msgstr "" - -#: ../NEWS:33430 -msgid "" -":issue:`34879`: Fix a possible null pointer dereference in bytesobject.c. " -"Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:33433 -msgid "" -":issue:`34784`: Fix the implementation of PyStructSequence_NewType in order " -"to create heap allocated StructSequences." -msgstr "" - -#: ../NEWS:33436 -msgid "" -":issue:`32912`: A :exc:`SyntaxWarning` is now emitted instead of a " -":exc:`DeprecationWarning` for invalid escape sequences in string and bytes " -"literals." -msgstr "" - -#: ../NEWS:33440 -msgid "" -":issue:`34854`: Fixed a crash in compiling string annotations containing a " -"lambda with a keyword-only argument that doesn't have a default value." -msgstr "" - -#: ../NEWS:33443 -msgid "" -":issue:`34850`: The compiler now produces a :exc:`SyntaxWarning` when " -"identity checks (``is`` and ``is not``) are used with certain types of " -"literals (e.g. strings, ints). These can often work by accident in CPython," -" but are not guaranteed by the language spec. The warning advises users to " -"use equality tests (``==`` and ``!=``) instead." -msgstr "" - -#: ../NEWS:33449 -msgid "" -":issue:`34824`: Fix a possible null pointer dereference in Modules/_ssl.c. " -"Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:33452 -msgid "" -":issue:`30156`: The C function ``property_descr_get()`` uses a \"cached\" " -"tuple to optimize function calls. But this tuple can be discovered in debug " -"mode with :func:`sys.getobjects`. Remove the optimization, it's not really " -"worth it and it causes 3 different crashes last years." -msgstr "" - -#: ../NEWS:33457 -msgid ":issue:`34762`: Fix contextvars C API to use PyObject* pointer types." -msgstr "" - -#: ../NEWS:33459 -msgid "" -":issue:`34751`: The hash function for tuples is now based on xxHash which " -"gives better collision results on (formerly) pathological cases. " -"Additionally, on 64-bit systems it improves tuple hashes in general. Patch " -"by Jeroen Demeyer with substantial contributions by Tim Peters." -msgstr "" - -#: ../NEWS:33464 -msgid "" -":issue:`34735`: Fix a memory leak in Modules/timemodule.c. Patch by Zackery" -" Spytz." -msgstr "" - -#: ../NEWS:33467 -msgid "" -":issue:`34683`: Fixed a bug where some SyntaxError error pointed to " -"locations that were off-by-one." -msgstr "" - -#: ../NEWS:33470 -msgid "" -":issue:`34651`: Only allow the main interpreter to fork. The avoids the " -"possibility of affecting the main interpreter, which is critical to " -"operation of the runtime." -msgstr "" - -#: ../NEWS:33474 -msgid "" -":issue:`34653`: Remove unused function PyParser_SimpleParseStringFilename." -msgstr "" - -#: ../NEWS:33476 -msgid "" -":issue:`32236`: Warn that line buffering is not supported if :func:`open` is" -" called with binary mode and ``buffering=1``." -msgstr "" - -#: ../NEWS:33479 -msgid "" -":issue:`34641`: Further restrict the syntax of the left-hand side of keyword" -" arguments in function calls. In particular, ``f((keyword)=arg)`` is now " -"disallowed." -msgstr "" - -#: ../NEWS:33483 -msgid "" -":issue:`34637`: Make the *start* argument to *sum()* visible as a keyword " -"argument." -msgstr "" - -#: ../NEWS:33486 -msgid "" -":issue:`1621`: Do not assume signed integer overflow behavior (C undefined " -"behavior) when performing set hash table resizing." -msgstr "" - -#: ../NEWS:33489 -msgid "" -":issue:`34588`: Fix an off-by-one in the recursive call pruning feature of " -"traceback formatting." -msgstr "" - -#: ../NEWS:33492 -msgid "" -":issue:`34485`: On Windows, the LC_CTYPE is now set to the user preferred " -"locale at startup. Previously, the LC_CTYPE locale was \"C\" at startup, but" -" changed when calling setlocale(LC_CTYPE, \"\") or setlocale(LC_ALL, \"\")." -msgstr "" - -#: ../NEWS:33496 -msgid "" -":issue:`34485`: Standard streams like sys.stdout now use the " -"\"surrogateescape\" error handler, instead of \"strict\", on the POSIX " -"locale (when the C locale is not coerced and the UTF-8 Mode is disabled)." -msgstr "" - -#: ../NEWS:33500 -msgid "" -":issue:`34485`: Fix the error handler of standard streams like sys.stdout: " -"PYTHONIOENCODING=\":\" is now ignored instead of setting the error handler " -"to \"strict\"." -msgstr "" - -#: ../NEWS:33504 -msgid "" -":issue:`34485`: Python now gets the locale encoding with C code to " -"initialize the encoding of standard streams like sys.stdout. Moreover, the " -"encoding is now initialized to the Python codec name to get a normalized " -"encoding name and to ensure that the codec is loaded. The change avoids " -"importing _bootlocale and _locale modules at startup by default." -msgstr "" - -#: ../NEWS:33510 -msgid "" -":issue:`34527`: On FreeBSD, Py_DecodeLocale() and Py_EncodeLocale() now also" -" forces the ASCII encoding if the LC_CTYPE locale is \"POSIX\", not only if " -"the LC_CTYPE locale is \"C\"." -msgstr "" - -#: ../NEWS:33514 -msgid "" -":issue:`34527`: The UTF-8 Mode is now also enabled by the \"POSIX\" locale, " -"not only by the \"C\" locale." -msgstr "" - -#: ../NEWS:33517 -msgid "" -":issue:`34403`: On HP-UX with C or POSIX locale, sys.getfilesystemencoding()" -" now returns \"ascii\" instead of \"roman8\" (when the UTF-8 Mode is " -"disabled and the C locale is not coerced)." -msgstr "" - -#: ../NEWS:33521 -msgid "" -":issue:`34523`: The Python filesystem encoding is now read earlier during " -"the Python initialization." -msgstr "" - -#: ../NEWS:33524 -msgid "" -":issue:`12458`: Tracebacks show now correct line number for subexpressions " -"in multiline expressions. Tracebacks show now the line number of the first " -"line for multiline expressions instead of the line number of the last " -"subexpression." -msgstr "" - -#: ../NEWS:33529 -msgid "" -":issue:`34408`: Prevent a null pointer dereference and resource leakage in " -"``PyInterpreterState_New()``." -msgstr "" - -#: ../NEWS:33532 -msgid "" -":issue:`34400`: Fix undefined behavior in parsetok.c. Patch by Zackery " -"Spytz." -msgstr "" - -#: ../NEWS:33534 -msgid "" -":issue:`33073`: Added as_integer_ratio to ints to make them more " -"interoperable with floats." -msgstr "" - -#: ../NEWS:33537 -msgid "" -":issue:`34377`: Update valgrind suppression list to use " -"``_PyObject_Free``/``_PyObject_Realloc`` instead of " -"``PyObject_Free``/``PyObject_Realloc``." -msgstr "" - -#: ../NEWS:33541 -msgid "" -":issue:`34353`: Added the \"socket\" option in the ``stat.filemode()`` " -"Python implementation to match the C implementation." -msgstr "" - -#: ../NEWS:33544 -msgid "" -":issue:`34320`: Fix ``dict(od)`` didn't copy iteration order of OrderedDict." -msgstr "" - -#: ../NEWS:33546 -msgid "" -":issue:`34113`: Fixed crash on debug builds when opcode stack was adjusted " -"with negative numbers. Patch by Constantin Petrisor." -msgstr "" - -#: ../NEWS:33549 -msgid "" -":issue:`34100`: Compiler now merges constants in tuples and frozensets " -"recursively. Code attributes like ``co_names`` are merged too." -msgstr "" - -#: ../NEWS:33552 -msgid "" -":issue:`34151`: Performance of list concatenation, repetition and slicing " -"operations is slightly improved. Patch by Sergey Fedoseev." -msgstr "" - -#: ../NEWS:33555 -msgid "" -":issue:`34170`: -X dev: it is now possible to override the memory allocator " -"using PYTHONMALLOC even if the developer mode is enabled." -msgstr "" - -#: ../NEWS:33558 -msgid "" -":issue:`33237`: Improved :exc:`AttributeError` message for partially " -"initialized module." -msgstr "" - -#: ../NEWS:33561 -msgid "" -":issue:`34149`: Fix min and max functions to get default behavior when key " -"is None." -msgstr "" - -#: ../NEWS:33564 -msgid "" -":issue:`34125`: Profiling of unbound built-in methods now works when " -"``**kwargs`` is given." -msgstr "" - -#: ../NEWS:33567 -msgid "" -":issue:`34141`: Optimized pickling atomic types (None, bool, int, float, " -"bytes, str)." -msgstr "" - -#: ../NEWS:33570 -msgid "" -":issue:`34126`: Fix crashes when profiling certain invalid calls of unbound " -"methods. Patch by Jeroen Demeyer." -msgstr "" - -#: ../NEWS:33573 -msgid "" -":issue:`24618`: Fixed reading invalid memory when create the code object " -"with too small varnames tuple or too large argument counts." -msgstr "" - -#: ../NEWS:33576 -msgid "" -":issue:`34068`: In :meth:`io.IOBase.close`, ensure that the " -":attr:`~io.IOBase.closed` attribute is not set with a live exception. Patch " -"by Zackery Spytz and Serhiy Storchaka." -msgstr "" - -#: ../NEWS:33580 -msgid "" -":issue:`34087`: Fix buffer overflow while converting unicode to numeric " -"values." -msgstr "" - -#: ../NEWS:33582 -msgid "" -":issue:`34080`: Fixed a memory leak in the compiler when it raised some " -"uncommon errors during tokenizing." -msgstr "" - -#: ../NEWS:33585 -msgid "" -":issue:`34066`: Disabled interruption by Ctrl-C between calling ``open()`` " -"and entering a **with** block in ``with open()``." -msgstr "" - -#: ../NEWS:33588 -msgid "" -":issue:`34042`: Fix dict.copy() to maintain correct total refcount (as " -"reported by sys.gettotalrefcount())." -msgstr "" - -#: ../NEWS:33591 -msgid "" -":issue:`33418`: Fix potential memory leak in function object when it creates" -" reference cycle." -msgstr "" - -#: ../NEWS:33594 -msgid ":issue:`33985`: Implement contextvars.ContextVar.name attribute." -msgstr "" - -#: ../NEWS:33596 -msgid ":issue:`33956`: Update vendored Expat library copy to version 2.2.5." -msgstr "" - -#: ../NEWS:33598 -msgid "" -":issue:`24596`: Decref the module object in " -":c:func:`PyRun_SimpleFileExFlags` before calling :c:func:`PyErr_Print()`. " -"Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:33601 -msgid "" -":issue:`33451`: Close directly executed pyc files before calling " -"``PyEval_EvalCode()``." -msgstr "" - -#: ../NEWS:33604 -msgid "" -":issue:`1617161`: The hash of :class:`BuiltinMethodType` instances (methods " -"of built-in classes) now depends on the hash of the identity of *__self__* " -"instead of its value. The hash and equality of :class:`ModuleType` and " -":class:`MethodWrapperType` instances (methods of user-defined classes and " -"some methods of built-in classes like ``str.__add__``) now depend on the " -"hash and equality of the identity of *__self__* instead of its value. " -":class:`MethodWrapperType` instances no longer support ordering." -msgstr "" - -#: ../NEWS:33612 -msgid "" -":issue:`33824`: Fix \"LC_ALL=C python3.7 -V\": reset properly the command " -"line parser when the encoding changes after reading the Python " -"configuration." -msgstr "" - -#: ../NEWS:33615 ../NEWS:36261 -msgid "" -":issue:`33803`: Fix a crash in hamt.c caused by enabling GC tracking for an " -"object that hadn't all of its fields set to NULL." -msgstr "" - -#: ../NEWS:33618 -msgid "" -":issue:`33738`: Seven macro incompatibilities with the Limited API were " -"fixed, and the macros :c:func:`PyIter_Check`, :c:func:`PyIndex_Check` and " -":c:func:`PyExceptionClass_Name` were added as functions. A script for " -"automatic macro checks was added." -msgstr "" - -#: ../NEWS:33623 ../NEWS:40835 -msgid "" -":issue:`33786`: Fix asynchronous generators to handle GeneratorExit in " -"athrow() correctly" -msgstr "" - -#: ../NEWS:33626 -msgid "" -":issue:`30167`: ``PyRun_SimpleFileExFlags`` removes ``__cached__`` from " -"module in addition to ``__file__``." -msgstr "" - -#: ../NEWS:33629 ../NEWS:36264 -msgid "" -":issue:`33706`: Fix a crash in Python initialization when parsing the " -"command line options. Thanks Christoph Gohlke for the bug report and the " -"fix!" -msgstr "" - -#: ../NEWS:33632 -msgid ":issue:`33597`: Reduce ``PyGC_Head`` size from 3 words to 2 words." -msgstr "" - -#: ../NEWS:33634 ../NEWS:36267 ../NEWS:40838 -msgid "" -":issue:`30654`: Fixed reset of the SIGINT handler to SIG_DFL on interpreter " -"shutdown even when there was a custom handler set previously. Patch by " -"Philipp Kerling." -msgstr "" - -#: ../NEWS:33638 ../NEWS:36373 ../NEWS:40842 -msgid "" -":issue:`33622`: Fixed a leak when the garbage collector fails to add an " -"object with the ``__del__`` method or referenced by it into the " -":data:`gc.garbage` list. :c:func:`PyGC_Collect` can now be called when an " -"exception is set and preserves it." -msgstr "" - -#: ../NEWS:33643 -msgid "" -":issue:`33462`: Make dict and dict views reversible. Patch by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:33645 -msgid "" -":issue:`23722`: A :exc:`RuntimeError` is now raised when the custom " -"metaclass doesn't provide the ``__classcell__`` entry in the namespace " -"passed to ``type.__new__``. A :exc:`DeprecationWarning` was emitted in " -"Python 3.6--3.7." -msgstr "" - -#: ../NEWS:33650 -msgid "" -":issue:`33499`: Add :envvar:`PYTHONPYCACHEPREFIX` environment variable and " -":option:`-X` ``pycache_prefix`` command-line option to set an alternate root" -" directory for writing module bytecode cache files." -msgstr "" - -#: ../NEWS:33654 -msgid "" -":issue:`25711`: The :mod:`zipimport` module has been rewritten in pure " -"Python." -msgstr "" - -#: ../NEWS:33656 ../NEWS:36378 -msgid "" -":issue:`33509`: Fix module_globals parameter of warnings.warn_explicit(): " -"don't crash if module_globals is not a dict." -msgstr "" - -#: ../NEWS:33659 ../NEWS:36271 ../NEWS:40847 -msgid ":issue:`31849`: Fix signed/unsigned comparison warning in pyhash.c." -msgstr "" - -#: ../NEWS:33661 ../NEWS:36385 -msgid "" -":issue:`33475`: Fixed miscellaneous bugs in converting annotations to " -"strings and optimized parentheses in the string representation." -msgstr "" - -#: ../NEWS:33664 -msgid "" -":issue:`20104`: Added support for the ``setpgroup``, ``resetids``, " -"``setsigmask``, ``setsigdef`` and ``scheduler`` parameters of " -"``posix_spawn``. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:33668 ../NEWS:36388 ../NEWS:40849 -msgid ":issue:`33391`: Fix a leak in set_symmetric_difference()." -msgstr "" - -#: ../NEWS:33670 ../NEWS:36586 -msgid "" -":issue:`33363`: Raise a SyntaxError for ``async with`` and ``async for`` " -"statements outside of async functions." -msgstr "" - -#: ../NEWS:33673 ../NEWS:36390 ../NEWS:40851 -msgid "" -":issue:`28055`: Fix unaligned accesses in siphash24(). Patch by Rolf Eike " -"Beer." -msgstr "" - -#: ../NEWS:33675 ../NEWS:36589 -msgid "" -":issue:`33128`: Fix a bug that causes PathFinder to appear twice on " -"sys.meta_path. Patch by Pablo Galindo Salgado." -msgstr "" - -#: ../NEWS:33678 -msgid "" -":issue:`33331`: Modules imported last are now cleared first at interpreter " -"shutdown." -msgstr "" - -#: ../NEWS:33681 ../NEWS:36592 -msgid "" -":issue:`33312`: Fixed clang ubsan (undefined behavior sanitizer) warnings in" -" dictobject.c by adjusting how the internal struct _dictkeysobject shared " -"keys structure is declared." -msgstr "" - -#: ../NEWS:33685 -msgid "" -":issue:`33305`: Improved syntax error messages for invalid numerical " -"literals." -msgstr "" - -#: ../NEWS:33687 -msgid "" -":issue:`33306`: Improved syntax error messages for unbalanced parentheses." -msgstr "" - -#: ../NEWS:33689 -msgid "" -":issue:`33234`: The list constructor will pre-size and not over-allocate " -"when the input length is known." -msgstr "" - -#: ../NEWS:33692 -msgid "" -":issue:`33270`: Intern the names for all anonymous code objects. Patch by " -"Zackery Spytz." -msgstr "" - -#: ../NEWS:33695 -msgid "" -":issue:`30455`: The C and Python code and the documentation related to " -"tokens are now generated from a single source file :file:`Grammar/Tokens`." -msgstr "" - -#: ../NEWS:33698 -msgid ":issue:`33176`: Add a ``toreadonly()`` method to memoryviews." -msgstr "" - -#: ../NEWS:33700 ../NEWS:36596 ../NEWS:40853 -msgid ":issue:`33231`: Fix potential memory leak in ``normalizestring()``." -msgstr "" - -#: ../NEWS:33702 ../NEWS:36598 -msgid "" -":issue:`33205`: Change dict growth function from " -"``round_up_to_power_2(used*2+hashtable_size/2)`` to " -"``round_up_to_power_2(used*3)``. Previously, dict is shrunk only when " -"``used == 0``. Now dict has more chance to be shrunk." -msgstr "" - -#: ../NEWS:33707 ../NEWS:36603 ../NEWS:40855 -msgid "" -":issue:`29922`: Improved error messages in 'async with' when " -"``__aenter__()`` or ``__aexit__()`` return non-awaitable object." -msgstr "" - -#: ../NEWS:33710 ../NEWS:36606 ../NEWS:40858 -msgid "" -":issue:`33199`: Fix ``ma_version_tag`` in dict implementation is " -"uninitialized when copying from key-sharing dict." -msgstr "" - -#: ../NEWS:33713 ../NEWS:36777 -msgid "" -":issue:`33053`: When using the -m switch, sys.path[0] is now explicitly " -"expanded as the *starting* working directory, rather than being left as the " -"empty path (which allows imports from the current working directory at the " -"time of the import)" -msgstr "" - -#: ../NEWS:33718 -msgid "" -":issue:`33138`: Changed standard error message for non-pickleable and non-" -"copyable types. It now says \"cannot pickle\" instead of \"can't pickle\" or" -" \"cannot serialize\"." -msgstr "" - -#: ../NEWS:33722 ../NEWS:36782 -msgid "" -":issue:`33018`: Improve consistency of errors raised by ``issubclass()`` " -"when called with a non-class and an abstract base class as the first and " -"second arguments, respectively. Patch by Josh Bronson." -msgstr "" - -#: ../NEWS:33726 -msgid "" -":issue:`33083`: ``math.factorial`` no longer accepts arguments that are not " -"int-like. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:33729 -msgid "" -":issue:`33041`: Added new opcode :opcode:`END_ASYNC_FOR` and fixes the " -"following issues:" -msgstr "" - -#: ../NEWS:33732 -msgid "" -"Setting global :exc:`StopAsyncIteration` no longer breaks ``async for`` " -"loops." -msgstr "" - -#: ../NEWS:33734 -msgid "Jumping into an ``async for`` loop is now disabled." -msgstr "" - -#: ../NEWS:33735 -msgid "Jumping out of an ``async for`` loop no longer corrupts the stack." -msgstr "" - -#: ../NEWS:33737 -msgid "" -":issue:`25750`: Fix rare Python crash due to bad refcounting in " -"``type_getattro()`` if a descriptor deletes itself from the class. Patch by " -"Jeroen Demeyer." -msgstr "" - -#: ../NEWS:33741 -msgid "" -":issue:`33041`: Fixed bytecode generation for \"async for\" with a complex " -"target. A StopAsyncIteration raised on assigning or unpacking will be now " -"propagated instead of stopping the iteration." -msgstr "" - -#: ../NEWS:33745 ../NEWS:36788 ../NEWS:41172 -msgid ":issue:`33026`: Fixed jumping out of \"with\" block by setting f_lineno." -msgstr "" - -#: ../NEWS:33747 ../NEWS:36790 -msgid "" -":issue:`33005`: Fix a crash on fork when using a custom memory allocator " -"(ex: using PYTHONMALLOC env var). _PyGILState_Reinit() and " -"_PyInterpreterState_Enable() now use the default RAW memory allocator to " -"allocate a new interpreters mutex on fork." -msgstr "" - -#: ../NEWS:33752 ../NEWS:36392 -msgid "" -":issue:`32911`: Due to unexpected compatibility issues discovered during " -"downstream beta testing, reverted :issue:`29463`. ``docstring`` field is " -"removed from Module, ClassDef, FunctionDef, and AsyncFunctionDef ast nodes " -"which was added in 3.7a1. Docstring expression is restored as a first " -"statement in their body. Based on patch by Inada Naoki." -msgstr "" - -#: ../NEWS:33758 ../NEWS:36795 ../NEWS:41174 -msgid "" -":issue:`17288`: Prevent jumps from 'return' and 'exception' trace events." -msgstr "" - -#: ../NEWS:33760 -msgid "" -":issue:`32946`: Importing names from already imported module with \"from ..." -" import ...\" is now 30% faster if the module is not a package." -msgstr "" - -#: ../NEWS:33763 -msgid "" -":issue:`32932`: Make error message more revealing when there are non-str " -"objects in ``__all__``." -msgstr "" - -#: ../NEWS:33766 -msgid "" -":issue:`32925`: Optimized iterating and containing test for literal lists " -"consisting of non-constants: ``x in [a, b]`` and ``for x in [a, b]``. The " -"case of all constant elements already was optimized." -msgstr "" - -#: ../NEWS:33770 ../NEWS:36987 ../NEWS:41176 -msgid "" -":issue:`32889`: Update Valgrind suppression list to account for the rename " -"of ``Py_ADDRESS_IN_RANG`` to ``address_in_range``." -msgstr "" - -#: ../NEWS:33773 ../NEWS:36797 -msgid "" -":issue:`32836`: Don't use temporary variables in cases of list/dict/set " -"comprehensions" -msgstr "" - -#: ../NEWS:33776 ../NEWS:36990 -msgid "" -":issue:`31356`: Remove the new API added in :issue:`31356` " -"(gc.ensure_disabled() context manager)." -msgstr "" - -#: ../NEWS:33779 ../NEWS:36993 -msgid "" -":issue:`32305`: For namespace packages, ensure that both ``__file__`` and " -"``__spec__.origin`` are set to None." -msgstr "" - -#: ../NEWS:33782 ../NEWS:36996 -msgid "" -":issue:`32303`: Make sure ``__spec__.loader`` matches ``__loader__`` for " -"namespace packages." -msgstr "" - -#: ../NEWS:33785 ../NEWS:36999 -msgid "" -":issue:`32711`: Fix the warning messages for Python/ast_unparse.c. Patch by " -"Stéphane Wirtel" -msgstr "" - -#: ../NEWS:33788 ../NEWS:37002 ../NEWS:41187 -msgid "" -":issue:`32583`: Fix possible crashing in builtin Unicode decoders caused by " -"write out-of-bound errors when using customized decode error handlers." -msgstr "" - -#: ../NEWS:33791 -msgid "" -":issue:`32489`: A :keyword:`continue` statement is now allowed in the " -":keyword:`finally` clause." -msgstr "" - -#: ../NEWS:33794 -msgid "" -":issue:`17611`: Simplified the interpreter loop by moving the logic of " -"unrolling the stack of blocks into the compiler. The compiler emits now " -"explicit instructions for adjusting the stack of values and calling the " -"cleaning up code for :keyword:`break`, :keyword:`continue` and " -":keyword:`return`." -msgstr "" - -#: ../NEWS:33800 -msgid "" -"Removed opcodes :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`, " -":opcode:`SETUP_LOOP` and :opcode:`SETUP_EXCEPT`. Added new opcodes " -":opcode:`ROT_FOUR`, :opcode:`BEGIN_FINALLY` and :opcode:`CALL_FINALLY` and " -":opcode:`POP_FINALLY`. Changed the behavior of :opcode:`END_FINALLY` and " -":opcode:`WITH_CLEANUP_START`." -msgstr "" - -#: ../NEWS:33806 -msgid "" -":issue:`32285`: New function unicodedata.is_normalized, which can check " -"whether a string is in a specific normal form." -msgstr "" - -#: ../NEWS:33809 -msgid "" -":issue:`10544`: Yield expressions are now disallowed in comprehensions and " -"generator expressions except the expression for the outermost iterable." -msgstr "" - -#: ../NEWS:33812 -msgid "" -":issue:`32117`: Iterable unpacking is now allowed without parentheses in " -"yield and return statements, e.g. ``yield 1, 2, 3, *rest``. Thanks to David " -"Cuthbert for the change and Jordan Chapman for added tests." -msgstr "" - -#: ../NEWS:33816 -msgid "" -":issue:`31902`: Fix the ``col_offset`` attribute for ast nodes " -"``ast.AsyncFor``, ``ast.AsyncFunctionDef``, and ``ast.AsyncWith``. " -"Previously, ``col_offset`` pointed to the keyword after ``async``." -msgstr "" - -#: ../NEWS:33820 -msgid "" -":issue:`25862`: Fix assertion failures in the ``tell()`` method of " -"``io.TextIOWrapper``. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:33823 ../NEWS:36398 ../NEWS:40866 -msgid "" -":issue:`21983`: Fix a crash in ``ctypes.cast()`` in case the type argument " -"is a ctypes structured data type. Patch by Eryk Sun and Oren Milman." -msgstr "" - -#: ../NEWS:33826 -msgid "" -":issue:`31577`: Fix a crash in ``os.utime()`` in case of a bad ns argument. " -"Patch by Oren Milman." -msgstr "" - -#: ../NEWS:33829 -msgid "" -":issue:`29832`: Remove references to 'getsockaddrarg' from various socket " -"error messages. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:33835 -msgid ":issue:`35845`: Add 'order' parameter to memoryview.tobytes()." -msgstr "" - -#: ../NEWS:33837 -msgid "" -":issue:`35864`: The _asdict() method for collections.namedtuple now returns " -"a regular dict instead of an OrderedDict." -msgstr "" - -#: ../NEWS:33840 -msgid "" -":issue:`35537`: An ExitStack is now used internally within subprocess.Popen " -"to clean up pipe file handles. No behavior change in normal operation. But " -"if closing one handle were ever to cause an exception, the others will now " -"be closed instead of leaked. (patch by Giampaolo Rodola)" -msgstr "" - -#: ../NEWS:33845 -msgid "" -":issue:`35847`: RISC-V needed the CTYPES_PASS_BY_REF_HACK. Fixes ctypes " -"Structure test_pass_by_value." -msgstr "" - -#: ../NEWS:33848 -msgid "" -":issue:`35813`: Shared memory submodule added to multiprocessing to avoid " -"need for serialization between processes" -msgstr "" - -#: ../NEWS:33851 -msgid "" -":issue:`35780`: Fix lru_cache() errors arising in recursive, reentrant, or " -"multi-threaded code. These errors could result in orphan links and in the " -"cache being trapped in a state with fewer than the specified maximum number " -"of links. Fix handling of negative maxsize which should have been treated as" -" zero. Fix errors in toggling the \"full\" status flag. Fix misordering of " -"links when errors are encountered. Sync-up the C code and pure Python code " -"for the space saving path in functions with a single positional argument. In" -" this common case, the space overhead of an lru cache entry is reduced by " -"almost half. Fix counting of cache misses. In error cases, the miss count " -"was out of sync with the actual number of times the underlying user function" -" was called." -msgstr "" - -#: ../NEWS:33863 -msgid "" -":issue:`35537`: :func:`os.posix_spawn` and :func:`os.posix_spawnp` now have " -"a *setsid* parameter." -msgstr "" - -#: ../NEWS:33866 -msgid "" -":issue:`23846`: :class:`asyncio.ProactorEventLoop` now catches and logs send" -" errors when the self-pipe is full." -msgstr "" - -#: ../NEWS:33869 -msgid "" -":issue:`34323`: :mod:`asyncio`: Enhance ``IocpProactor.close()`` log: wait 1" -" second before the first log, then log every second. Log also the number of " -"seconds since ``close()`` was called." -msgstr "" - -#: ../NEWS:33873 -msgid "" -":issue:`35674`: Add a new :func:`os.posix_spawnp` function. Patch by Joannah" -" Nanjekye." -msgstr "" - -#: ../NEWS:33876 -msgid "" -":issue:`35733`: ``ast.Constant(boolean)`` no longer an instance of " -":class:`ast.Num`. Patch by Anthony Sottile." -msgstr "" - -#: ../NEWS:33879 -msgid "" -":issue:`35726`: QueueHandler.prepare() now makes a copy of the record before" -" modifying and enqueueing it, to avoid affecting other handlers in the " -"chain." -msgstr "" - -#: ../NEWS:33883 -msgid "" -":issue:`35719`: Sped up multi-argument :mod:`math` functions atan2(), " -"copysign(), remainder() and hypot() by 1.3--2.5 times." -msgstr "" - -#: ../NEWS:33886 -msgid "" -":issue:`35717`: Fix KeyError exception raised when using enums and compile. " -"Patch contributed by Rémi Lapeyre." -msgstr "" - -#: ../NEWS:33889 -msgid "" -":issue:`35699`: Fixed detection of Visual Studio Build Tools 2017 in " -"distutils" -msgstr "" - -#: ../NEWS:33891 -msgid "" -":issue:`32710`: Fix memory leaks in asyncio ProactorEventLoop on overlapped " -"operation failure." -msgstr "" - -#: ../NEWS:33894 -msgid "" -":issue:`35702`: The :const:`time.CLOCK_UPTIME_RAW` constant is now available" -" for macOS 10.12." -msgstr "" - -#: ../NEWS:33897 -msgid "" -":issue:`32710`: Fix a memory leak in asyncio in the ProactorEventLoop when " -"``ReadFile()`` or ``WSASend()`` overlapped operation fail immediately: " -"release the internal buffer." -msgstr "" - -#: ../NEWS:33901 -msgid "" -":issue:`35682`: Fix ``asyncio.ProactorEventLoop.sendfile()``: don't attempt " -"to set the result of an internal future if it's already done." -msgstr "" - -#: ../NEWS:33904 -msgid "" -":issue:`35283`: Add a deprecated warning for the " -":meth:`threading.Thread.isAlive` method. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:33907 -msgid "" -":issue:`35664`: Improve operator.itemgetter() performance by 33% with " -"optimized argument handling and with adding a fast path for the common case " -"of a single non-negative integer index into a tuple (which is the typical " -"use case in the standard library)." -msgstr "" - -#: ../NEWS:33912 -msgid "" -":issue:`35643`: Fixed a SyntaxWarning: invalid escape sequence in " -"Modules/_sha3/cleanup.py. Patch by Mickaël Schoentgen." -msgstr "" - -#: ../NEWS:33915 -msgid "" -":issue:`35619`: Improved support of custom data descriptors in :func:`help` " -"and :mod:`pydoc`." -msgstr "" - -#: ../NEWS:33918 -msgid "" -":issue:`28503`: The ``crypt`` module now internally uses the ``crypt_r()`` " -"library function instead of ``crypt()`` when available." -msgstr "" - -#: ../NEWS:33921 -msgid ":issue:`35614`: Fixed help() on metaclasses. Patch by Sanyam Khurana." -msgstr "" - -#: ../NEWS:33923 -msgid ":issue:`35568`: Expose ``raise(signum)`` as ``raise_signal``" -msgstr "" - -#: ../NEWS:33925 -msgid "" -":issue:`35588`: The floor division and modulo operations and the " -":func:`divmod` function on :class:`fractions.Fraction` types are 2--4x " -"faster. Patch by Stefan Behnel." -msgstr "" - -#: ../NEWS:33929 -msgid "" -":issue:`35585`: Speed-up building enums by value, e.g. http.HTTPStatus(200)." -msgstr "" - -#: ../NEWS:33931 -msgid "" -":issue:`30561`: random.gammavariate(1.0, beta) now computes the same result " -"as random.expovariate(1.0 / beta). This synchronizes the two algorithms and" -" eliminates some idiosyncrasies in the old implementation. It does however " -"produce a difference stream of random variables than it used to." -msgstr "" - -#: ../NEWS:33936 -msgid "" -":issue:`35537`: The :mod:`subprocess` module can now use the " -":func:`os.posix_spawn` function in some cases for better performance." -msgstr "" - -#: ../NEWS:33939 -msgid "" -":issue:`35526`: Delaying the 'joke' of barry_as_FLUFL.mandatory to Python " -"version 4.0" -msgstr "" - -#: ../NEWS:33942 -msgid "" -":issue:`35523`: Remove :mod:`ctypes` callback workaround: no longer create a" -" callback at startup. Avoid SELinux alert on ``import ctypes`` and ``import " -"uuid``." -msgstr "" - -#: ../NEWS:33946 -msgid "" -":issue:`31784`: :func:`uuid.uuid1` now calls :func:`time.time_ns` rather " -"than ``int(time.time() * 1e9)``." -msgstr "" - -#: ../NEWS:33949 -msgid "" -":issue:`35513`: :class:`~unittest.runner.TextTestRunner` of " -":mod:`unittest.runner` now uses :func:`time.perf_counter` rather than " -":func:`time.time` to measure the execution time of a test: :func:`time.time`" -" can go backwards, whereas :func:`time.perf_counter` is monotonic." -msgstr "" - -#: ../NEWS:33955 -msgid "" -":issue:`35502`: Fixed reference leaks in " -":class:`xml.etree.ElementTree.TreeBuilder` in case of unfinished building of" -" the tree (in particular when an error was raised during parsing XML)." -msgstr "" - -#: ../NEWS:33959 -msgid "" -":issue:`35348`: Make :func:`platform.architecture` parsing of ``file`` " -"command output more reliable: add the ``-b`` option to the ``file`` command " -"to omit the filename, force the usage of the C locale, and search also the " -"\"shared object\" pattern." -msgstr "" - -#: ../NEWS:33964 -msgid "" -":issue:`35491`: :mod:`multiprocessing`: Add ``Pool.__repr__()`` and enhance " -"``BaseProcess.__repr__()`` (add pid and parent pid) to ease debugging. Pool " -"state constant values are now strings instead of integers, for example " -"``RUN`` value becomes ``'RUN'`` instead of ``0``." -msgstr "" - -#: ../NEWS:33969 -msgid "" -":issue:`35477`: :meth:`multiprocessing.Pool.__enter__` now fails if the pool" -" is not running: ``with pool:`` fails if used more than once." -msgstr "" - -#: ../NEWS:33972 -msgid "" -":issue:`31446`: Copy command line that was passed to CreateProcessW since " -"this function can change the content of the input buffer." -msgstr "" - -#: ../NEWS:33975 -msgid "" -":issue:`35471`: Python 2.4 dropped MacOS 9 support. The macpath module was " -"deprecated in Python 3.7. The module is now removed." -msgstr "" - -#: ../NEWS:33978 -msgid "" -":issue:`23057`: Unblock Proactor event loop when keyboard interrupt is " -"received on Windows" -msgstr "" - -#: ../NEWS:33981 -msgid "" -":issue:`35052`: Fix xml.dom.minidom cloneNode() on a document with an " -"entity: pass the correct arguments to the user data handler of an entity." -msgstr "" - -#: ../NEWS:33984 -msgid "" -":issue:`20239`: Allow repeated assignment deletion of " -":class:`unittest.mock.Mock` attributes. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:33987 -msgid "" -":issue:`17185`: Set ``__signature__`` on mock for :mod:`inspect` to get " -"signature. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:33990 -msgid "" -":issue:`35445`: Memory errors during creating posix.environ no longer " -"ignored." -msgstr "" - -#: ../NEWS:33992 -msgid ":issue:`35415`: Validate fileno= argument to socket.socket()." -msgstr "" - -#: ../NEWS:33994 -msgid "" -":issue:`35424`: :class:`multiprocessing.Pool` destructor now emits " -":exc:`ResourceWarning` if the pool is still running." -msgstr "" - -#: ../NEWS:33997 -msgid "" -":issue:`35330`: When a :class:`Mock` instance was used to wrap an object, if" -" ``side_effect`` is used in one of the mocks of it methods, don't call the " -"original implementation and return the result of using the side effect the " -"same way that it is done with return_value." -msgstr "" - -#: ../NEWS:34002 -msgid "" -":issue:`35346`: Drop Mac OS 9 and Rhapsody support from the :mod:`platform` " -"module. Rhapsody last release was in 2000. Mac OS 9 last release was in " -"2001." -msgstr "" - -#: ../NEWS:34006 -msgid "" -":issue:`10496`: :func:`~distutils.utils.check_environ` of " -"``distutils.utils`` now catches :exc:`KeyError` on calling " -":func:`pwd.getpwuid`: don't create the ``HOME`` environment variable in this" -" case." -msgstr "" - -#: ../NEWS:34010 -msgid "" -":issue:`10496`: :func:`posixpath.expanduser` now returns the input *path* " -"unchanged if the ``HOME`` environment variable is not set and the current " -"user has no home directory (if the current user identifier doesn't exist in " -"the password database). This change fix the :mod:`site` module if the " -"current user doesn't exist in the password database (if the user has no home" -" directory)." -msgstr "" - -#: ../NEWS:34017 -msgid "" -":issue:`35389`: :func:`platform.libc_ver` now uses " -"``os.confstr('CS_GNU_LIBC_VERSION')`` if available and the *executable* " -"parameter is not set." -msgstr "" - -#: ../NEWS:34021 -msgid ":issue:`35394`: Add empty slots to asyncio abstract protocols." -msgstr "" - -#: ../NEWS:34023 -msgid "" -":issue:`35310`: Fix a bug in :func:`select.select` where, in some cases, the" -" file descriptor sequences were returned unmodified after a signal " -"interruption, even though the file descriptors might not be ready yet. " -":func:`select.select` will now always return empty lists if a timeout has " -"occurred. Patch by Oran Avraham." -msgstr "" - -#: ../NEWS:34029 -msgid "" -":issue:`35380`: Enable TCP_NODELAY on Windows for proactor asyncio event " -"loop." -msgstr "" - -#: ../NEWS:34031 -msgid "" -":issue:`35341`: Add generic version of ``collections.OrderedDict`` to the " -"``typing`` module. Patch by Ismo Toijala." -msgstr "" - -#: ../NEWS:34034 -msgid "" -":issue:`35371`: Fixed possible crash in ``os.utime()`` on Windows when pass " -"incorrect arguments." -msgstr "" - -#: ../NEWS:34037 -msgid "" -":issue:`35346`: :func:`platform.uname` now redirects ``stderr`` to " -":data:`os.devnull` when running external programs like ``cmd /c ver``." -msgstr "" - -#: ../NEWS:34040 -msgid "" -":issue:`35066`: Previously, calling the strftime() method on a datetime " -"object with a trailing '%' in the format string would result in an " -"exception. However, this only occurred when the datetime C module was being " -"used; the python implementation did not match this behavior. Datetime is now" -" PEP-399 compliant, and will not throw an exception on a trailing '%'." -msgstr "" - -#: ../NEWS:34046 -msgid "" -":issue:`35345`: The function ``platform.popen`` has been removed, it was " -"deprecated since Python 3.3: use :func:`os.popen` instead." -msgstr "" - -#: ../NEWS:34049 -msgid "" -":issue:`35344`: On macOS, :func:`platform.platform` now uses " -":func:`platform.mac_ver`, if it returns a non-empty release string, to get " -"the macOS version rather than the darwin version." -msgstr "" - -#: ../NEWS:34053 -msgid "" -":issue:`35312`: Make ``lib2to3.pgen2.parse.ParseError`` round-trip pickle-" -"able. Patch by Anthony Sottile." -msgstr "" - -#: ../NEWS:34056 -msgid "" -":issue:`35308`: Fix regression in ``webbrowser`` where default browsers may " -"be preferred over browsers in the ``BROWSER`` environment variable." -msgstr "" - -#: ../NEWS:34059 -msgid "" -":issue:`24746`: Avoid stripping trailing whitespace in doctest fancy diff. " -"Original patch by R. David Murray & Jairo Trad. Enhanced by Sanyam Khurana." -msgstr "" - -#: ../NEWS:34063 -msgid "" -":issue:`28604`: :func:`locale.localeconv` now sets temporarily the " -"``LC_CTYPE`` locale to the ``LC_MONETARY`` locale if the two locales are " -"different and monetary strings are non-ASCII. This temporary change affects " -"other threads." -msgstr "" - -#: ../NEWS:34068 -msgid "" -":issue:`35277`: Update ensurepip to install pip 18.1 and setuptools 40.6.2." -msgstr "" - -#: ../NEWS:34070 -msgid ":issue:`24209`: Adds IPv6 support when invoking http.server directly." -msgstr "" - -#: ../NEWS:34072 -msgid "" -":issue:`35226`: Recursively check arguments when testing for equality of " -":class:`unittest.mock.call` objects and add note that tracking of parameters" -" used to create ancestors of mocks in ``mock_calls`` is not possible." -msgstr "" - -#: ../NEWS:34077 -msgid "" -":issue:`29564`: The warnings module now suggests to enable tracemalloc if " -"the source is specified, the tracemalloc module is available, but " -"tracemalloc is not tracing memory allocations." -msgstr "" - -#: ../NEWS:34081 -msgid "" -":issue:`35189`: Modify the following fnctl function to retry if interrupted " -"by a signal (EINTR): flock, lockf, fnctl" -msgstr "" - -#: ../NEWS:34084 -msgid "" -":issue:`30064`: Use add_done_callback() in sock_* asyncio API to unsubscribe" -" reader/writer early on calcellation." -msgstr "" - -#: ../NEWS:34087 -msgid "" -":issue:`35186`: Removed the \"built with\" comment added when ``setup.py " -"upload`` is used with either ``bdist_rpm`` or ``bdist_dumb``." -msgstr "" - -#: ../NEWS:34090 -msgid "" -":issue:`35152`: Allow sending more than 2 GB at once on a multiprocessing " -"connection on non-Windows systems." -msgstr "" - -#: ../NEWS:34093 -msgid "" -":issue:`35062`: Fix incorrect parsing of " -":class:`io.IncrementalNewlineDecoder`'s *translate* argument." -msgstr "" - -#: ../NEWS:34096 -msgid "" -":issue:`35065`: Remove ``StreamReaderProtocol._untrack_reader``. The call to" -" ``_untrack_reader`` is currently performed too soon, causing the protocol " -"to forget about the reader before ``connection_lost`` can run and feed the " -"EOF to the reader." -msgstr "" - -#: ../NEWS:34101 -msgid "" -":issue:`34160`: ElementTree and minidom now preserve the attribute order " -"specified by the user." -msgstr "" - -#: ../NEWS:34104 -msgid "" -":issue:`35079`: Improve difflib.SequenceManager.get_matching_blocks doc by " -"adding 'non-overlapping' and changing '!=' to '<'." -msgstr "" - -#: ../NEWS:34107 -msgid "" -":issue:`33710`: Deprecated ``l*gettext()`` functions and methods in the " -":mod:`gettext` module. They return encoded bytes instead of Unicode strings " -"and are artifacts from Python 2 times. Also deprecated functions and methods" -" related to setting the charset for ``l*gettext()`` functions and methods." -msgstr "" - -#: ../NEWS:34113 -msgid "" -":issue:`35017`: :meth:`socketserver.BaseServer.serve_forever` now exits " -"immediately if it's :meth:`~socketserver.BaseServer.shutdown` method is " -"called while it is polling for new events." -msgstr "" - -#: ../NEWS:34117 -msgid "" -":issue:`35024`: ``importlib`` no longer logs ``wrote `` " -"redundantly after ``(created|could not create) `` is already " -"logged. Patch by Quentin Agren." -msgstr "" - -#: ../NEWS:34121 -msgid "" -":issue:`35047`: ``unittest.mock`` now includes mock calls in exception " -"messages if ``assert_not_called``, ``assert_called_once``, or " -"``assert_called_once_with`` fails. Patch by Petter Strandmark." -msgstr "" - -#: ../NEWS:34125 -msgid "" -":issue:`31047`: Fix ``ntpath.abspath`` regression where it didn't remove a " -"trailing separator on Windows. Patch by Tim Graham." -msgstr "" - -#: ../NEWS:34128 -msgid "" -":issue:`35053`: tracemalloc now tries to update the traceback when an object" -" is reused from a \"free list\" (optimization for faster object creation, " -"used by the builtin list type for example)." -msgstr "" - -#: ../NEWS:34132 -msgid "" -":issue:`31553`: Add the --json-lines option to json.tool. Patch by " -"hongweipeng." -msgstr "" - -#: ../NEWS:34134 -msgid "" -":issue:`34794`: Fixed a leak in Tkinter when pass the Python wrapper around " -"Tcl_Obj back to Tcl/Tk." -msgstr "" - -#: ../NEWS:34137 -msgid "" -":issue:`34909`: Enum: fix grandchildren subclassing when parent mixed with " -"concrete data types." -msgstr "" - -#: ../NEWS:34140 -msgid "" -":issue:`35022`: :class:`unittest.mock.MagicMock` now supports the " -"``__fspath__`` method (from :class:`os.PathLike`)." -msgstr "" - -#: ../NEWS:34143 -msgid "" -":issue:`35008`: Fixed references leaks when call the ``__setstate__()`` " -"method of :class:`xml.etree.ElementTree.Element` in the C implementation for" -" already initialized element." -msgstr "" - -#: ../NEWS:34147 -msgid "" -":issue:`23420`: Verify the value for the parameter '-s' of the cProfile CLI." -" Patch by Robert Kuska" -msgstr "" - -#: ../NEWS:34150 -msgid "" -":issue:`33947`: dataclasses now handle recursive reprs without raising " -"RecursionError." -msgstr "" - -#: ../NEWS:34153 -msgid "" -":issue:`34890`: Make :func:`inspect.iscoroutinefunction`, " -":func:`inspect.isgeneratorfunction` and :func:`inspect.isasyncgenfunction` " -"work with :func:`functools.partial`. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:34157 -msgid "" -":issue:`34521`: Use :func:`socket.CMSG_SPACE` to calculate ancillary data " -"size instead of :func:`socket.CMSG_LEN` in " -":func:`multiprocessing.reduction.recvfds` as :rfc:`3542` requires the use of" -" the former for portable applications." -msgstr "" - -#: ../NEWS:34162 -msgid "" -":issue:`31522`: The ``mailbox.mbox.get_string`` function *from_* parameter " -"can now successfully be set to a non-default value." -msgstr "" - -#: ../NEWS:34165 -msgid "" -":issue:`34970`: Protect tasks weak set manipulation in " -"``asyncio.all_tasks()``" -msgstr "" - -#: ../NEWS:34167 -msgid "" -":issue:`34969`: gzip: Add --fast, --best on the gzip CLI, these parameters " -"will be used for the fast compression method (quick) or the best method " -"compress (slower, but smaller file). Also, change the default compression " -"level to 6 (tradeoff)." -msgstr "" - -#: ../NEWS:34172 -msgid "" -":issue:`16965`: The 2to3 ``execfile`` fixer now opens the file with mode " -"``'rb'``. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:34175 -msgid "" -":issue:`34966`: :mod:`pydoc` now supports aliases not only to methods " -"defined in the end class, but also to inherited methods. The docstring is " -"not duplicated for aliases." -msgstr "" - -#: ../NEWS:34179 -msgid "" -":issue:`34926`: :meth:`mimetypes.MimeTypes.guess_type` now accepts " -":term:`path-like object` in addition to url strings. Patch by Mayank " -"Asthana." -msgstr "" - -#: ../NEWS:34183 -msgid "" -":issue:`23831`: Add ``moveto()`` method to the ``tkinter.Canvas`` widget. " -"Patch by Juliette Monsel." -msgstr "" - -#: ../NEWS:34186 -msgid "" -":issue:`34941`: Methods ``find()``, ``findtext()`` and ``findall()`` of the " -"``Element`` class in the :mod:`xml.etree.ElementTree` module are now able to" -" find children which are instances of ``Element`` subclasses." -msgstr "" - -#: ../NEWS:34190 -msgid "" -":issue:`32680`: :class:`smtplib.SMTP` objects now always have a ``sock`` " -"attribute present" -msgstr "" - -#: ../NEWS:34193 -msgid "" -":issue:`34769`: Fix for async generators not finalizing when event loop is " -"in debug mode and garbage collector runs in another thread." -msgstr "" - -#: ../NEWS:34196 -msgid "" -":issue:`34936`: Fix ``TclError`` in ``tkinter.Spinbox.selection_element()``." -" Patch by Juliette Monsel." -msgstr "" - -#: ../NEWS:34199 -msgid "" -":issue:`34829`: Add methods ``selection_from``, ``selection_range``, " -"``selection_present`` and ``selection_to`` to the ``tkinter.Spinbox`` for " -"consistency with the ``tkinter.Entry`` widget. Patch by Juliette Monsel." -msgstr "" - -#: ../NEWS:34203 -msgid "" -":issue:`34911`: Added *secure_protocols* argument to " -"*http.cookiejar.DefaultCookiePolicy* to allow for tweaking of protocols and " -"also to add support by default for *wss*, the secure websocket protocol." -msgstr "" - -#: ../NEWS:34208 -msgid "" -":issue:`34922`: Fixed integer overflow in the :meth:`~hashlib.shake.digest` " -"and :meth:`~hashlib.shake.hexdigest` methods for the SHAKE algorithm in the " -":mod:`hashlib` module." -msgstr "" - -#: ../NEWS:34212 -msgid "" -":issue:`34925`: 25% speedup in argument parsing for the functions in the " -"bisect module." -msgstr "" - -#: ../NEWS:34215 -msgid "" -":issue:`34900`: Fixed :meth:`unittest.TestCase.debug` when used to call test" -" methods with subtests. Patch by Bruno Oliveira." -msgstr "" - -#: ../NEWS:34218 -msgid "" -":issue:`34844`: logging.Formatter enhancement - Ensure styles and fmt " -"matches in logging.Formatter - Added validate method in each format style " -"class: StrFormatStyle, PercentStyle, StringTemplateStyle. - This method is " -"called in the constructor of logging.Formatter class - Also re-raise the " -"KeyError in the format method of each style class, so it would a bit clear " -"that it's an error with the invalid format fields." -msgstr "" - -#: ../NEWS:34225 -msgid "" -":issue:`34897`: Adjust test.support.missing_compiler_executable check so " -"that a nominal command name of \"\" is ignored. Patch by Michael Felt." -msgstr "" - -#: ../NEWS:34228 -msgid "" -":issue:`34871`: Fix inspect module polluted ``sys.modules`` when parsing " -"``__text_signature__`` of callable." -msgstr "" - -#: ../NEWS:34231 -msgid "" -":issue:`34898`: Add ``mtime`` argument to ``gzip.compress`` for reproducible" -" output. Patch by Guo Ci Teo." -msgstr "" - -#: ../NEWS:34234 -msgid "" -":issue:`28441`: On Cygwin and MinGW, ensure that ``sys.executable`` always " -"includes the full filename in the path, including the ``.exe`` suffix " -"(unless it is a symbolic link)." -msgstr "" - -#: ../NEWS:34238 -msgid "" -":issue:`34866`: Adding ``max_num_fields`` to ``cgi.FieldStorage`` to make " -"DOS attacks harder by limiting the number of ``MiniFieldStorage`` objects " -"created by ``FieldStorage``." -msgstr "" - -#: ../NEWS:34242 -msgid "" -":issue:`34711`: http.server ensures it reports HTTPStatus.NOT_FOUND when the" -" local path ends with \"/\" and is not a directory, even if the underlying " -"OS (e.g. AIX) accepts such paths as a valid file reference. Patch by Michael" -" Felt." -msgstr "" - -#: ../NEWS:34247 -msgid "" -":issue:`34872`: Fix self-cancellation in C implementation of asyncio.Task" -msgstr "" - -#: ../NEWS:34249 -msgid "" -":issue:`34849`: Don't log waiting for ``selector.select`` in asyncio loop " -"iteration. The waiting is pretty normal for any asyncio program, logging its" -" time just adds a noise to logs without any useful information provided." -msgstr "" - -#: ../NEWS:34254 -msgid "" -":issue:`34022`: The :envvar:`SOURCE_DATE_EPOCH` environment variable no " -"longer overrides the value of the *invalidation_mode* argument to " -":func:`py_compile.compile`, and determines its default value instead." -msgstr "" - -#: ../NEWS:34258 -msgid "" -":issue:`34819`: Use a monotonic clock to compute timeouts in " -":meth:`Executor.map` and :func:`as_completed`, in order to prevent timeouts " -"from deviating when the system clock is adjusted." -msgstr "" - -#: ../NEWS:34262 -msgid "" -":issue:`34758`: Add .wasm -> application/wasm to list of recognized file " -"types and content type headers" -msgstr "" - -#: ../NEWS:34265 -msgid "" -":issue:`34789`: :func:`xml.sax.make_parser` now accepts any iterable as its " -"*parser_list* argument. Patch by Andrés Delfino." -msgstr "" - -#: ../NEWS:34268 -msgid "" -":issue:`34334`: In :class:`QueueHandler`, clear ``exc_text`` from " -":class:`LogRecord` to prevent traceback from being written twice." -msgstr "" - -#: ../NEWS:34271 -msgid "" -":issue:`34687`: On Windows, asyncio now uses ProactorEventLoop, instead of " -"SelectorEventLoop, by default." -msgstr "" - -#: ../NEWS:34274 -msgid "" -":issue:`5950`: Support reading zip files with archive comments in " -":mod:`zipimport`." -msgstr "" - -#: ../NEWS:34277 -msgid "" -":issue:`32892`: The parser now represents all constants as " -":class:`ast.Constant` instead of using specific constant AST types (``Num``," -" ``Str``, ``Bytes``, ``NameConstant`` and ``Ellipsis``). These classes are " -"considered deprecated and will be removed in future Python versions." -msgstr "" - -#: ../NEWS:34283 -msgid "" -":issue:`34728`: Add deprecation warning when ``loop`` is used in methods: " -"``asyncio.sleep``, ``asyncio.wait`` and ``asyncio.wait_for``." -msgstr "" - -#: ../NEWS:34286 -msgid "" -":issue:`34738`: ZIP files created by ``distutils`` will now include entries " -"for directories." -msgstr "" - -#: ../NEWS:34289 -msgid "" -":issue:`34659`: Add an optional *initial* argument to " -"itertools.accumulate()." -msgstr "" - -#: ../NEWS:34291 -msgid ":issue:`29577`: Support multiple mixin classes when creating Enums." -msgstr "" - -#: ../NEWS:34293 -msgid "" -":issue:`34670`: Add SSLContext.post_handshake_auth and " -"SSLSocket.verify_client_post_handshake for TLS 1.3's post handshake " -"authentication feature." -msgstr "" - -#: ../NEWS:34297 -msgid "" -":issue:`32718`: The Activate.ps1 script from venv works with PowerShell Core" -" 6.1 and is now available under all operating systems." -msgstr "" - -#: ../NEWS:34300 -msgid "" -":issue:`31177`: Fix bug that prevented using :meth:`reset_mock " -"` on mock instances with deleted attributes" -msgstr "" - -#: ../NEWS:34303 -msgid "" -":issue:`34672`: Add a workaround, so the ``'Z'`` :func:`time.strftime` " -"specifier on the musl C library can work in some cases." -msgstr "" - -#: ../NEWS:34306 -msgid "" -":issue:`34666`: Implement ``asyncio.StreamWriter.awrite`` and " -"``asyncio.StreamWriter.aclose()`` coroutines. Methods are needed for " -"providing a consistent stream API with control flow switched on by default." -msgstr "" - -#: ../NEWS:34311 -msgid "" -":issue:`6721`: Acquire the logging module's commonly used internal locks " -"while fork()ing to avoid deadlocks in the child process." -msgstr "" - -#: ../NEWS:34314 -msgid "" -":issue:`34658`: Fix a rare interpreter unhandled exception state SystemError" -" only seen when using subprocess with a preexec_fn while an after_parent " -"handler has been registered with os.register_at_fork and the fork system " -"call fails." -msgstr "" - -#: ../NEWS:34319 -msgid ":issue:`34652`: Ensure :func:`os.lchmod` is never defined on Linux." -msgstr "" - -#: ../NEWS:34321 -msgid "" -":issue:`34638`: Store a weak reference to stream reader to break strong " -"references loop between reader and protocol. It allows to detect and close " -"the socket if the stream is deleted (garbage collected) without ``close()`` " -"call." -msgstr "" - -#: ../NEWS:34326 -msgid "" -":issue:`34536`: ``Enum._missing_``: raise ``ValueError`` if None returned " -"and ``TypeError`` if non-member is returned." -msgstr "" - -#: ../NEWS:34329 -msgid "" -":issue:`34636`: Speed up re scanning of many non-matching characters for \\s" -" \\w and \\d within bytes objects. (microoptimization)" -msgstr "" - -#: ../NEWS:34332 -msgid "" -":issue:`24412`: Add :func:`~unittest.addModuleCleanup` and " -":meth:`~unittest.TestCase.addClassCleanup` to unittest to support cleanups " -"for :func:`~unittest.setUpModule` and :meth:`~unittest.TestCase.setUpClass`." -" Patch by Lisa Roach." -msgstr "" - -#: ../NEWS:34337 -msgid "" -":issue:`34630`: Don't log SSL certificate errors in asyncio code (connection" -" error logging is skipped already)." -msgstr "" - -#: ../NEWS:34340 -msgid "" -":issue:`32490`: Prevent filename duplication in :mod:`subprocess` exception " -"messages. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:34343 -msgid "" -":issue:`34363`: dataclasses.asdict() and .astuple() now handle namedtuples " -"correctly." -msgstr "" - -#: ../NEWS:34346 -msgid ":issue:`34625`: Update vendorized expat library version to 2.2.6." -msgstr "" - -#: ../NEWS:34348 -msgid "" -":issue:`32270`: The subprocess module no longer mistakenly closes redirected" -" fds even when they were in pass_fds when outside of the default {0, 1, 2} " -"set." -msgstr "" - -#: ../NEWS:34352 -msgid "" -":issue:`34622`: Create a dedicated ``asyncio.CancelledError``, " -"``asyncio.InvalidStateError`` and ``asyncio.TimeoutError`` exception " -"classes. Inherit them from corresponding exceptions from " -"``concurrent.futures`` package. Extract ``asyncio`` exceptions into a " -"separate file." -msgstr "" - -#: ../NEWS:34358 -msgid "" -":issue:`34610`: Fixed iterator of " -":class:`multiprocessing.managers.DictProxy`." -msgstr "" - -#: ../NEWS:34360 -msgid "" -":issue:`34421`: Fix distutils logging for non-ASCII strings. This caused " -"installation issues on Windows." -msgstr "" - -#: ../NEWS:34363 -msgid "" -":issue:`34604`: Fix possible mojibake in the error message of " -"``pwd.getpwnam`` and ``grp.getgrnam`` using string representation because of" -" invisible characters or trailing whitespaces. Patch by William Grzybowski." -msgstr "" - -#: ../NEWS:34367 -msgid "" -":issue:`30977`: Make uuid.UUID use ``__slots__`` to reduce its memory " -"footprint. Based on original patch by Wouter Bolsterlee." -msgstr "" - -#: ../NEWS:34370 -msgid "" -":issue:`34574`: OrderedDict iterators are not exhausted during pickling " -"anymore. Patch by Sergey Fedoseev." -msgstr "" - -#: ../NEWS:34373 -msgid "" -":issue:`8110`: Refactored :mod:`subprocess` to check for Windows-specific " -"modules rather than ``sys.platform == 'win32'``." -msgstr "" - -#: ../NEWS:34376 -msgid "" -":issue:`34530`: ``distutils.spawn.find_executable()`` now falls back on " -":data:`os.defpath` if the ``PATH`` environment variable is not set." -msgstr "" - -#: ../NEWS:34379 -msgid "" -":issue:`34563`: On Windows, fix multiprocessing.Connection for very large " -"read: fix _winapi.PeekNamedPipe() and _winapi.ReadFile() for read larger " -"than INT_MAX (usually ``2**31-1``)." -msgstr "" - -#: ../NEWS:34383 -msgid ":issue:`34558`: Correct typo in Lib/ctypes/_aix.py" -msgstr "" - -#: ../NEWS:34385 -msgid "" -":issue:`34282`: Move ``Enum._convert`` to ``EnumMeta._convert_`` and fix " -"enum members getting shadowed by parent attributes." -msgstr "" - -#: ../NEWS:34388 -msgid "" -":issue:`22872`: When the queue is closed, :exc:`ValueError` is now raised by" -" :meth:`multiprocessing.Queue.put` and :meth:`multiprocessing.Queue.get` " -"instead of :exc:`AssertionError` and :exc:`OSError`, respectively. Patch by " -"Zackery Spytz." -msgstr "" - -#: ../NEWS:34393 -msgid "" -":issue:`34515`: Fix parsing non-ASCII identifiers in " -":mod:`!lib2to3.pgen2.tokenize` (:pep:`3131`)." -msgstr "" - -#: ../NEWS:34396 -msgid "" -":issue:`13312`: Avoids a possible integer underflow (undefined behavior) in " -"the time module's year handling code when passed a very low negative year " -"value." -msgstr "" - -#: ../NEWS:34400 -msgid "" -":issue:`34472`: Improved compatibility for streamed files in :mod:`zipfile`." -" Previously an optional signature was not being written and certain ZIP " -"applications were not supported. Patch by Silas Sewell." -msgstr "" - -#: ../NEWS:34404 -msgid "" -":issue:`34454`: Fix the .fromisoformat() methods of datetime types crashing " -"when given unicode with non-UTF-8-encodable code points. Specifically, " -"datetime.fromisoformat() now accepts surrogate unicode code points used as " -"the separator. Report and tests by Alexey Izbyshev, patch by Paul Ganssle." -msgstr "" - -#: ../NEWS:34409 -msgid "" -":issue:`6700`: Fix inspect.getsourcelines for module level " -"frames/tracebacks. Patch by Vladimir Matveev." -msgstr "" - -#: ../NEWS:34412 -msgid "" -":issue:`34171`: Running the :mod:`trace` module no longer creates the " -"``trace.cover`` file." -msgstr "" - -#: ../NEWS:34415 -msgid "" -":issue:`34441`: Fix crash when an ``ABC``-derived class with invalid " -"``__subclasses__`` is passed as the second argument to :func:`issubclass`. " -"Patch by Alexey Izbyshev." -msgstr "" - -#: ../NEWS:34419 -msgid "" -":issue:`34427`: Fix infinite loop in ``a.extend(a)`` for ``MutableSequence``" -" subclasses." -msgstr "" - -#: ../NEWS:34422 -msgid "" -":issue:`34412`: Make :func:`signal.strsignal` work on HP-UX. Patch by " -"Michael Osipov." -msgstr "" - -#: ../NEWS:34425 -msgid "" -":issue:`20849`: shutil.copytree now accepts a new ``dirs_exist_ok`` keyword " -"argument. Patch by Josh Bronson." -msgstr "" - -#: ../NEWS:34428 -msgid "" -":issue:`31715`: Associate ``.mjs`` file extension with " -"``application/javascript`` MIME Type." -msgstr "" - -#: ../NEWS:34431 -msgid "" -":issue:`34384`: :func:`os.readlink` now accepts :term:`path-like ` and :class:`bytes` objects on Windows." -msgstr "" - -#: ../NEWS:34434 -msgid "" -":issue:`22602`: The UTF-7 decoder now raises :exc:`UnicodeDecodeError` for " -"ill-formed sequences starting with \"+\" (as specified in RFC 2152). Patch " -"by Zackery Spytz." -msgstr "" - -#: ../NEWS:34438 -msgid "" -":issue:`2122`: The :meth:`mmap.flush() ` method now returns" -" ``None`` on success, raises an exception on error under all platforms." -msgstr "" - -#: ../NEWS:34441 -msgid "" -":issue:`34341`: Appending to the ZIP archive with the ZIP64 extension no " -"longer grows the size of extra fields of existing entries." -msgstr "" - -#: ../NEWS:34444 -msgid "" -":issue:`34333`: Fix %-formatting in :meth:`pathlib.PurePath.with_suffix` " -"when formatting an error message." -msgstr "" - -#: ../NEWS:34447 -msgid "" -":issue:`18540`: The :class:`imaplib.IMAP4` and :class:`imaplib.IMAP4_SSL` " -"classes now resolve to the local host IP correctly when the default value of" -" *host* parameter (``''``) is used." -msgstr "" - -#: ../NEWS:34451 -msgid "" -":issue:`26502`: Implement ``traceback.FrameSummary.__len__()`` method to " -"preserve compatibility with the old tuple API." -msgstr "" - -#: ../NEWS:34454 -msgid "" -":issue:`34318`: :func:`~unittest.TestCase.assertRaises`, " -":func:`~unittest.TestCase.assertRaisesRegex`, " -":func:`~unittest.TestCase.assertWarns` and " -":func:`~unittest.TestCase.assertWarnsRegex` no longer success if the passed " -"callable is None. They no longer ignore unknown keyword arguments in the " -"context manager mode. A DeprecationWarning was raised in these cases since " -"Python 3.5." -msgstr "" - -#: ../NEWS:34462 -msgid "" -":issue:`9372`: Deprecate :meth:`~object.__getitem__` methods of " -":class:`xml.dom.pulldom.DOMEventStream`, :class:`wsgiref.util.FileWrapper` " -"and :class:`fileinput.FileInput`." -msgstr "" - -#: ../NEWS:34466 -msgid "" -":issue:`33613`: Fix a race condition in " -"``multiprocessing.semaphore_tracker`` when the tracker receives SIGINT " -"before it can register signal handlers for ignoring it." -msgstr "" - -#: ../NEWS:34470 -msgid "" -":issue:`34248`: Report filename in the exception raised when the database " -"file cannot be opened by :func:`dbm.gnu.open` and :func:`dbm.ndbm.open` due " -"to OS-related error. Patch by Zsolt Cserna." -msgstr "" - -#: ../NEWS:34474 -msgid "" -":issue:`33089`: Add math.dist() to compute the Euclidean distance between " -"two points." -msgstr "" - -#: ../NEWS:34477 -msgid "" -":issue:`34246`: :meth:`smtplib.SMTP.send_message` no longer modifies the " -"content of the *mail_options* argument. Patch by Pablo S. Blum de Aguiar." -msgstr "" - -#: ../NEWS:34480 -msgid "" -":issue:`31047`: Fix ``ntpath.abspath`` for invalid paths on windows. Patch " -"by Franz Woellert." -msgstr "" - -#: ../NEWS:34483 -msgid "" -":issue:`32321`: Add pure Python fallback for functools.reduce. Patch by " -"Robert Wright." -msgstr "" - -#: ../NEWS:34486 -msgid "" -":issue:`34270`: The default asyncio task class now always has a name which " -"can be get or set using two new methods (:meth:`~asyncio.Task.get_name` and " -":meth:`~asyncio.Task.set_name`) and is visible in the :func:`repr` output. " -"An initial name can also be set using the new ``name`` keyword argument to " -":func:`asyncio.create_task` or the " -":meth:`~asyncio.AbstractEventLoop.create_task` method of the event loop. If " -"no initial name is set, the default Task implementation generates a name " -"like ``Task-1`` using a monotonic counter." -msgstr "" - -#: ../NEWS:34495 -msgid "" -":issue:`34263`: asyncio's event loop will not pass timeouts longer than one " -"day to epoll/select etc." -msgstr "" - -#: ../NEWS:34498 -msgid "" -":issue:`34035`: Fix several AttributeError in zipfile seek() methods. Patch " -"by Mickaël Schoentgen." -msgstr "" - -#: ../NEWS:34501 -msgid "" -":issue:`32215`: Fix performance regression in :mod:`sqlite3` when a DML " -"statement appeared in a different line than the rest of the SQL query." -msgstr "" - -#: ../NEWS:34504 -msgid "" -":issue:`34075`: Deprecate passing non-ThreadPoolExecutor instances to " -":meth:`AbstractEventLoop.set_default_executor`." -msgstr "" - -#: ../NEWS:34507 -msgid "" -":issue:`34251`: Restore ``msilib.Win64`` to preserve backwards compatibility" -" since it's already used by ``distutils``' ``bdist_msi`` command." -msgstr "" - -#: ../NEWS:34510 -msgid "" -":issue:`19891`: Ignore errors caused by missing / non-writable homedir while" -" writing history during exit of an interactive session. Patch by Anthony " -"Sottile." -msgstr "" - -#: ../NEWS:34514 -msgid "" -":issue:`33089`: Enhanced math.hypot() to support more than two dimensions." -msgstr "" - -#: ../NEWS:34516 -msgid "" -":issue:`34228`: tracemalloc: PYTHONTRACEMALLOC=0 environment variable and -X" -" tracemalloc=0 command line option are now allowed to disable explicitly " -"tracemalloc at startup." -msgstr "" - -#: ../NEWS:34520 -msgid "" -":issue:`13041`: Use :func:`shutil.get_terminal_size` to calculate the " -"terminal width correctly in the ``argparse.HelpFormatter`` class. Initial " -"patch by Zbyszek Jędrzejewski-Szmek." -msgstr "" - -#: ../NEWS:34524 -msgid "" -":issue:`34213`: Allow frozen dataclasses to have a field named \"object\". " -"Previously this conflicted with an internal use of \"object\"." -msgstr "" - -#: ../NEWS:34527 -msgid "" -":issue:`34052`: :meth:`sqlite3.Connection.create_aggregate`, " -":meth:`sqlite3.Connection.create_function`, " -":meth:`sqlite3.Connection.set_authorizer`, " -":meth:`sqlite3.Connection.set_progress_handler` methods raises TypeError " -"when unhashable objects are passed as callable. These methods now don't pass" -" such objects to SQLite API. Previous behavior could lead to segfaults. " -"Patch by Sergey Fedoseev." -msgstr "" - -#: ../NEWS:34535 -msgid "" -":issue:`34197`: Attributes *skipinitialspace*, *doublequote* and *strict* of" -" the *dialect* attribute of the :mod:`csv` reader are now :class:`bool` " -"instances instead of integers 0 or 1." -msgstr "" - -#: ../NEWS:34539 -msgid "" -":issue:`32788`: Errors other than :exc:`TypeError` raised in methods " -"``__adapt__()`` and ``__conform__()`` in the :mod:`sqlite3` module are now " -"propagated to the user." -msgstr "" - -#: ../NEWS:34543 -msgid "" -":issue:`21446`: The ``reload`` fixer now uses :func:`importlib.reload` " -"instead of deprecated :func:`!imp.reload`." -msgstr "" - -#: ../NEWS:34546 -msgid "" -":issue:`940286`: pydoc's ``Helper.showtopic()`` method now prints the cross " -"references of a topic correctly." -msgstr "" - -#: ../NEWS:34549 -msgid "" -":issue:`34164`: :func:`base64.b32decode` could raise UnboundLocalError or " -"OverflowError for incorrect padding. Now it always raises " -":exc:`base64.Error` in these cases." -msgstr "" - -#: ../NEWS:34553 -msgid ":issue:`33729`: Fixed issues with arguments parsing in :mod:`hashlib`." -msgstr "" - -#: ../NEWS:34555 -msgid "" -":issue:`34097`: ZipFile can zip files older than 1980-01-01 and newer than " -"2107-12-31 using a new ``strict_timestamps`` parameter at the cost of " -"setting the timestamp to the limit." -msgstr "" - -#: ../NEWS:34559 -msgid ":issue:`34108`: Remove extraneous CR in 2to3 refactor." -msgstr "" - -#: ../NEWS:34561 -msgid "" -":issue:`34070`: Make sure to only check if the handle is a tty, when opening" -" a file with ``buffering=-1``." -msgstr "" - -#: ../NEWS:34564 -msgid "" -":issue:`27494`: Reverted :issue:`27494`. 2to3 rejects now a trailing comma " -"in generator expressions." -msgstr "" - -#: ../NEWS:34567 -msgid "" -":issue:`33967`: functools.singledispatch now raises TypeError instead of " -"IndexError when no positional arguments are passed." -msgstr "" - -#: ../NEWS:34570 -msgid "" -":issue:`34041`: Add the parameter *deterministic* to the " -":meth:`sqlite3.Connection.create_function` method. Patch by Sergey Fedoseev." -msgstr "" - -#: ../NEWS:34574 -msgid "" -":issue:`34056`: Ensure the loader shim created by ``imp.load_module`` always" -" returns bytes from its ``get_data()`` function. This fixes using " -"``imp.load_module`` with :pep:`552` hash-based pycs." -msgstr "" - -#: ../NEWS:34578 -msgid "" -":issue:`34054`: The multiprocessing module now uses the monotonic clock " -":func:`time.monotonic` instead of the system clock :func:`time.time` to " -"implement timeout." -msgstr "" - -#: ../NEWS:34582 -msgid "" -":issue:`34043`: Optimize tarfile uncompress performance about 15% when gzip " -"is used." -msgstr "" - -#: ../NEWS:34585 -msgid "" -":issue:`34044`: ``subprocess.Popen`` now copies the *startupinfo* argument " -"to leave it unchanged: it will modify the copy, so that the same " -"``STARTUPINFO`` object can be used multiple times." -msgstr "" - -#: ../NEWS:34589 -msgid "" -":issue:`34010`: Fixed a performance regression for reading streams with " -"tarfile. The buffered read should use a list, instead of appending to a " -"bytes object." -msgstr "" - -#: ../NEWS:34593 -msgid "" -":issue:`34019`: webbrowser: Correct the arguments passed to Opera Browser " -"when opening a new URL using the ``webbrowser`` module. Patch by Bumsik Kim." -msgstr "" - -#: ../NEWS:34596 -msgid "" -":issue:`34003`: csv.DictReader now creates dicts instead of OrderedDicts. " -"Patch by Michael Selik." -msgstr "" - -#: ../NEWS:34599 -msgid "" -":issue:`33978`: Closed existing logging handlers before reconfiguration via " -"fileConfig and dictConfig. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:34602 -msgid "" -":issue:`14117`: Make minor tweaks to turtledemo. The 'wikipedia' example is " -"now 'rosette', describing what it draws. The 'penrose' print output is " -"reduced. The'1024' output of 'tree' is eliminated." -msgstr "" - -#: ../NEWS:34606 -msgid "" -":issue:`33974`: Fixed passing lists and tuples of strings containing special" -" characters ``\"``, ``\\``, ``{``, ``}`` and ``\\n`` as options to " -":mod:`~tkinter.ttk` widgets." -msgstr "" - -#: ../NEWS:34610 -msgid ":issue:`27500`: Fix getaddrinfo to resolve IPv6 addresses correctly." -msgstr "" - -#: ../NEWS:34612 -msgid "" -":issue:`24567`: Improve random.choices() to handle subnormal input weights " -"that could occasionally trigger an IndexError." -msgstr "" - -#: ../NEWS:34615 -msgid "" -":issue:`33871`: Fixed integer overflow in :func:`os.readv`, " -":func:`os.writev`, :func:`os.preadv` and :func:`os.pwritev` and in " -":func:`os.sendfile` with *headers* or *trailers* arguments (on BSD-based " -"OSes and macOS)." -msgstr "" - -#: ../NEWS:34619 -msgid "" -":issue:`25007`: Add :func:`copy.copy` and :func:`copy.deepcopy` support to " -"zlib compressors and decompressors. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:34622 -msgid "" -":issue:`33929`: multiprocessing: Fix a race condition in Popen of " -"multiprocessing.popen_spawn_win32. The child process now duplicates the read" -" end of pipe instead of \"stealing\" it. Previously, the read end of pipe " -"was \"stolen\" by the child process, but it leaked a handle if the child " -"process had been terminated before it could steal the handle from the parent" -" process." -msgstr "" - -#: ../NEWS:34629 -msgid "" -":issue:`33899`: Tokenize module now implicitly emits a NEWLINE when provided" -" with input that does not have a trailing new line. This behavior now " -"matches what the C tokenizer does internally. Contributed by Ammar Askar." -msgstr "" - -#: ../NEWS:34633 -msgid "" -":issue:`33897`: Added a 'force' keyword argument to logging.basicConfig()." -msgstr "" - -#: ../NEWS:34635 -msgid "" -":issue:`33695`: :func:`shutil.copytree` uses :func:`os.scandir` function and" -" all copy functions depending from it use cached :func:`os.stat` values. The" -" speedup for copying a directory with 8000 files is around +9% on Linux, " -"+20% on Windows and + 30% on a Windows SMB share. Also the number of " -":func:`os.stat` syscalls is reduced by 38% making :func:`shutil.copytree` " -"especially faster on network filesystems. (Contributed by Giampaolo Rodola' " -"in :issue:`33695`.)" -msgstr "" - -#: ../NEWS:34643 -msgid "" -":issue:`33916`: bz2 and lzma: When Decompressor.__init__() is called twice, " -"free the old lock to not leak memory." -msgstr "" - -#: ../NEWS:34646 -msgid "" -":issue:`32568`: Make select.epoll() and its documentation consistent " -"regarding *sizehint* and *flags*." -msgstr "" - -#: ../NEWS:34649 -msgid "" -":issue:`33833`: Fixed bug in asyncio where ProactorSocketTransport logs " -"AssertionError if force closed during write." -msgstr "" - -#: ../NEWS:34652 -msgid "" -":issue:`33663`: Convert content length to string before putting to header." -msgstr "" - -#: ../NEWS:34654 -msgid "" -":issue:`33721`: :mod:`os.path` functions that return a boolean result like " -":func:`~os.path.exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir`, " -":func:`~os.path.isfile`, :func:`~os.path.islink`, and " -":func:`~os.path.ismount`, and :mod:`pathlib.Path` methods that return a " -"boolean result like :meth:`~pathlib.Path.exists`, " -":meth:`~pathlib.Path.is_dir`, :meth:`~pathlib.Path.is_file`, " -":meth:`~pathlib.Path.is_mount`, :meth:`~pathlib.Path.is_symlink`, " -":meth:`~pathlib.Path.is_block_device`, :meth:`~pathlib.Path.is_char_device`," -" :meth:`~pathlib.Path.is_fifo`, :meth:`~pathlib.Path.is_socket` now return " -"``False`` instead of raising :exc:`ValueError` or its subclasses " -":exc:`UnicodeEncodeError` and :exc:`UnicodeDecodeError` for paths that " -"contain characters or bytes unrepresentable at the OS level." -msgstr "" - -#: ../NEWS:34668 -msgid "" -":issue:`26544`: Fixed implementation of :func:`platform.libc_ver`. It almost" -" always returned version '2.9' for glibc." -msgstr "" - -#: ../NEWS:34671 -msgid "" -":issue:`33843`: Remove deprecated ``cgi.escape``, ``cgi.parse_qs`` and " -"``cgi.parse_qsl``." -msgstr "" - -#: ../NEWS:34674 -msgid "" -":issue:`33842`: Remove ``tarfile.filemode`` which is deprecated since Python" -" 3.3." -msgstr "" - -#: ../NEWS:34677 ../NEWS:36276 ../NEWS:40872 -msgid "" -":issue:`30167`: Prevent site.main() exception if PYTHONSTARTUP is set. Patch" -" by Steve Weber." -msgstr "" - -#: ../NEWS:34680 -msgid "" -":issue:`33805`: Improve error message of dataclasses.replace() when an " -"InitVar is not specified" -msgstr "" - -#: ../NEWS:34683 -msgid "" -":issue:`33687`: Fix the call to ``os.chmod()`` for ``uu.decode()`` if a mode" -" is given or decoded. Patch by Timo Furrer." -msgstr "" - -#: ../NEWS:34686 ../NEWS:36279 ../NEWS:40875 -msgid "" -":issue:`33812`: Datetime instance d with non-None tzinfo, but with " -"d.tzinfo.utcoffset(d) returning None is now treated as naive by the " -"astimezone() method." -msgstr "" - -#: ../NEWS:34690 -msgid "" -":issue:`32108`: In configparser, don't clear section when it is assigned to " -"itself." -msgstr "" - -#: ../NEWS:34693 -msgid "" -":issue:`27397`: Make email module properly handle invalid-length base64 " -"strings." -msgstr "" - -#: ../NEWS:34696 -msgid ":issue:`33578`: Implement multibyte encoder/decoder state methods" -msgstr "" - -#: ../NEWS:34698 ../NEWS:36283 ../NEWS:40879 -msgid ":issue:`30805`: Avoid race condition with debug logging" -msgstr "" - -#: ../NEWS:34700 -msgid "" -":issue:`33476`: Fix _header_value_parser.py when address group is missing " -"final ';'. Contributed by Enrique Perez-Terron" -msgstr "" - -#: ../NEWS:34703 ../NEWS:36285 -msgid "" -":issue:`33694`: asyncio: Fix a race condition causing data loss on " -"pause_reading()/resume_reading() when using the ProactorEventLoop." -msgstr "" - -#: ../NEWS:34706 ../NEWS:36288 -msgid "" -":issue:`32493`: Correct test for ``uuid_enc_be`` availability in " -"``configure.ac``. Patch by Michael Felt." -msgstr "" - -#: ../NEWS:34709 ../NEWS:36291 -msgid "" -":issue:`33792`: Add asyncio.WindowsSelectorEventLoopPolicy and " -"asyncio.WindowsProactorEventLoopPolicy." -msgstr "" - -#: ../NEWS:34712 -msgid "" -":issue:`33274`: W3C DOM Level 1 specifies return value of " -"Element.removeAttributeNode() as \"The Attr node that was removed.\" " -"xml.dom.minidom now complies with this requirement." -msgstr "" - -#: ../NEWS:34716 ../NEWS:36294 -msgid "" -":issue:`33778`: Update ``unicodedata``'s database to Unicode version 11.0.0." -msgstr "" - -#: ../NEWS:34718 -msgid "" -":issue:`33165`: Added a stacklevel parameter to logging calls to allow use " -"of wrapper/helper functions for logging APIs." -msgstr "" - -#: ../NEWS:34721 ../NEWS:36296 -msgid "" -":issue:`33770`: improve base64 exception message for encoded inputs of " -"invalid length" -msgstr "" - -#: ../NEWS:34724 ../NEWS:36299 -msgid "" -":issue:`33769`: asyncio/start_tls: Fix error message; cancel callbacks in " -"case of an unhandled error; mark SSLTransport as closed if it is aborted." -msgstr "" - -#: ../NEWS:34727 ../NEWS:36302 ../NEWS:40881 -msgid "" -":issue:`33767`: The concatenation (``+``) and repetition (``*``) sequence " -"operations now raise :exc:`TypeError` instead of :exc:`SystemError` when " -"performed on :class:`mmap.mmap` objects. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:34731 ../NEWS:36306 -msgid "" -":issue:`33734`: asyncio/ssl: Fix AttributeError, increase default handshake " -"timeout" -msgstr "" - -#: ../NEWS:34734 -msgid "" -":issue:`31014`: Fixed creating a controller for :mod:`webbrowser` when a " -"user specifies a path to an entry in the BROWSER environment variable. " -"Based on patch by John Still." -msgstr "" - -#: ../NEWS:34738 -msgid ":issue:`2504`: Add gettext.pgettext() and variants." -msgstr "" - -#: ../NEWS:34740 -msgid ":issue:`33197`: Add description property for _ParameterKind" -msgstr "" - -#: ../NEWS:34742 ../NEWS:36404 -msgid "" -":issue:`32751`: When cancelling the task due to a timeout, " -":meth:`asyncio.wait_for` will now wait until the cancellation is complete." -msgstr "" - -#: ../NEWS:34745 ../NEWS:36407 ../NEWS:40885 -msgid "" -":issue:`32684`: Fix gather to propagate cancellation of itself even with " -"return_exceptions." -msgstr "" - -#: ../NEWS:34748 ../NEWS:36410 -msgid "" -":issue:`33654`: Support protocol type switching in " -"SSLTransport.set_protocol()." -msgstr "" - -#: ../NEWS:34750 ../NEWS:36412 -msgid "" -":issue:`33674`: Pause the transport as early as possible to further reduce " -"the risk of data_received() being called before connection_made()." -msgstr "" - -#: ../NEWS:34753 -msgid "" -":issue:`33671`: :func:`shutil.copyfile`, :func:`shutil.copy`, " -":func:`shutil.copy2`, :func:`shutil.copytree` and :func:`shutil.move` use " -"platform-specific fast-copy syscalls on Linux and macOS in order to copy the" -" file more efficiently. On Windows :func:`shutil.copyfile` uses a bigger " -"default buffer size (1 MiB instead of 16 KiB) and a :func:`memoryview`-based" -" variant of :func:`shutil.copyfileobj` is used. The speedup for copying a " -"512MiB file is about +26% on Linux, +50% on macOS and +40% on Windows. Also," -" much less CPU cycles are consumed. (Contributed by Giampaolo Rodola' in " -":issue:`25427`.)" -msgstr "" - -#: ../NEWS:34763 ../NEWS:36415 ../NEWS:40888 -msgid "" -":issue:`33674`: Fix a race condition in SSLProtocol.connection_made() of " -"asyncio.sslproto: start immediately the handshake instead of using " -"call_soon(). Previously, data_received() could be called before the " -"handshake started, causing the handshake to hang or fail." -msgstr "" - -#: ../NEWS:34768 ../NEWS:36420 ../NEWS:40893 -msgid "" -":issue:`31647`: Fixed bug where calling write_eof() on a " -"_SelectorSocketTransport after it's already closed raises AttributeError." -msgstr "" - -#: ../NEWS:34771 ../NEWS:36423 -msgid ":issue:`32610`: Make asyncio.all_tasks() return only pending tasks." -msgstr "" - -#: ../NEWS:34773 ../NEWS:36425 -msgid ":issue:`32410`: Avoid blocking on file IO in sendfile fallback code" -msgstr "" - -#: ../NEWS:34775 ../NEWS:36427 ../NEWS:40898 -msgid "" -":issue:`33469`: Fix RuntimeError after closing loop that used " -"run_in_executor" -msgstr "" - -#: ../NEWS:34777 ../NEWS:36429 ../NEWS:40896 -msgid ":issue:`33672`: Fix Task.__repr__ crash with Cython's bogus coroutines" -msgstr "" - -#: ../NEWS:34779 ../NEWS:36431 -msgid "" -":issue:`33654`: Fix transport.set_protocol() to support switching between " -"asyncio.Protocol and asyncio.BufferedProtocol. Fix loop.start_tls() to work" -" with asyncio.BufferedProtocols." -msgstr "" - -#: ../NEWS:34783 ../NEWS:36435 -msgid "" -":issue:`33652`: Pickles of type variables and subscripted generics are now " -"future-proof and compatible with older Python versions." -msgstr "" - -#: ../NEWS:34786 ../NEWS:36438 -msgid ":issue:`32493`: Fixed :func:`uuid.uuid1` on FreeBSD." -msgstr "" - -#: ../NEWS:34788 -msgid "" -":issue:`33238`: Add ``InvalidStateError`` to :mod:`concurrent.futures`. " -"``Future.set_result`` and ``Future.set_exception`` now raise " -"``InvalidStateError`` if the futures are not pending or running. Patch by " -"Jason Haydaman." -msgstr "" - -#: ../NEWS:34793 ../NEWS:36440 -msgid "" -":issue:`33618`: Finalize and document preliminary and experimental TLS 1.3 " -"support with OpenSSL 1.1.1" -msgstr "" - -#: ../NEWS:34796 -msgid "" -":issue:`33625`: Release GIL on ``grp.getgrnam``, ``grp.getgrgid``, " -"``pwd.getpwnam`` and ``pwd.getpwuid`` if reentrant variants of these " -"functions are available. Patch by William Grzybowski." -msgstr "" - -#: ../NEWS:34800 ../NEWS:36443 -msgid "" -":issue:`33623`: Fix possible SIGSGV when asyncio.Future is created in " -"__del__" -msgstr "" - -#: ../NEWS:34802 ../NEWS:36309 ../NEWS:40900 -msgid "" -":issue:`11874`: Use a better regex when breaking usage into wrappable parts." -" Avoids bogus assertion errors from custom metavar strings." -msgstr "" - -#: ../NEWS:34805 ../NEWS:36445 ../NEWS:40903 -msgid "" -":issue:`30877`: Fixed a bug in the Python implementation of the JSON decoder" -" that prevented the cache of parsed strings from clearing after finishing " -"the decoding. Based on patch by c-fos." -msgstr "" - -#: ../NEWS:34809 -msgid "" -":issue:`33604`: Remove HMAC default to md5 marked for removal in 3.8 " -"(removal originally planned in 3.6, bump to 3.8 in PR 7062)." -msgstr "" - -#: ../NEWS:34812 ../NEWS:36312 -msgid ":issue:`33582`: Emit a deprecation warning for inspect.formatargspec" -msgstr "" - -#: ../NEWS:34814 -msgid "" -":issue:`21145`: Add ``functools.cached_property`` decorator, for computed " -"properties cached for the life of the instance." -msgstr "" - -#: ../NEWS:34817 ../NEWS:36449 -msgid "" -":issue:`33570`: Change TLS 1.3 cipher suite settings for compatibility with " -"OpenSSL 1.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 ciphers " -"enabled by default." -msgstr "" - -#: ../NEWS:34821 ../NEWS:36453 -msgid "" -":issue:`28556`: Do not simplify arguments to ``typing.Union``. Now " -"``Union[Manager, Employee]`` is not simplified to ``Employee`` at runtime. " -"Such simplification previously caused several bugs and limited possibilities" -" for introspection." -msgstr "" - -#: ../NEWS:34826 -msgid "" -":issue:`12486`: :func:`tokenize.generate_tokens` is now documented as a " -"public API to tokenize unicode strings. It was previously present but " -"undocumented." -msgstr "" - -#: ../NEWS:34830 ../NEWS:36458 -msgid "" -":issue:`33540`: Add a new ``block_on_close`` class attribute to " -"``ForkingMixIn`` and ``ThreadingMixIn`` classes of :mod:`socketserver`." -msgstr "" - -#: ../NEWS:34833 ../NEWS:36461 ../NEWS:40907 -msgid "" -":issue:`33548`: tempfile._candidate_tempdir_list should consider common TEMP" -" locations" -msgstr "" - -#: ../NEWS:34836 ../NEWS:36464 -msgid "" -":issue:`33109`: argparse subparsers are once again not required by default, " -"reverting the change in behavior introduced by :issue:`26510` in 3.7.0a2." -msgstr "" - -#: ../NEWS:34839 -msgid "" -":issue:`33541`: Remove unused private method ``_strptime.LocaleTime.__pad`` " -"(a.k.a. ``_LocaleTime__pad``)." -msgstr "" - -#: ../NEWS:34842 ../NEWS:36467 -msgid "" -":issue:`33536`: dataclasses.make_dataclass now checks for invalid field " -"names and duplicate fields. Also, added a check for invalid field " -"specifications." -msgstr "" - -#: ../NEWS:34846 ../NEWS:36471 ../NEWS:40910 -msgid "" -":issue:`33542`: Prevent ``uuid.get_node`` from using a DUID instead of a MAC" -" on Windows. Patch by Zvi Effron" -msgstr "" - -#: ../NEWS:34849 ../NEWS:36474 ../NEWS:40913 -msgid "" -":issue:`26819`: Fix race condition with ``ReadTransport.resume_reading`` in " -"Windows proactor event loop." -msgstr "" - -#: ../NEWS:34852 ../NEWS:36477 -msgid "" -"Fix failure in ``typing.get_type_hints()`` when ClassVar was provided as a " -"string forward reference." -msgstr "" - -#: ../NEWS:34855 -msgid "" -":issue:`33516`: :class:`unittest.mock.MagicMock` now supports the " -"``__round__`` magic method." -msgstr "" - -#: ../NEWS:34858 -msgid "" -":issue:`28612`: Added support for Site Maps to urllib's ``RobotFileParser`` " -"as :meth:`RobotFileParser.site_maps() " -"`. Patch by Lady Red, based on" -" patch by Peter Wirtz." -msgstr "" - -#: ../NEWS:34863 -msgid "" -":issue:`28167`: Remove platform.linux_distribution, which was deprecated " -"since 3.5." -msgstr "" - -#: ../NEWS:34866 -msgid "" -":issue:`33504`: Switch the default dictionary implementation for " -":mod:`configparser` from :class:`collections.OrderedDict` to the standard " -":class:`dict` type." -msgstr "" - -#: ../NEWS:34870 ../NEWS:36480 -msgid "" -":issue:`33505`: Optimize asyncio.ensure_future() by reordering if checks: " -"1.17x faster." -msgstr "" - -#: ../NEWS:34873 ../NEWS:36483 -msgid "" -":issue:`33497`: Add errors param to cgi.parse_multipart and make an encoding" -" in FieldStorage use the given errors (needed for Twisted). Patch by Amber " -"Brown." -msgstr "" - -#: ../NEWS:34877 -msgid "" -":issue:`29235`: The :class:`cProfile.Profile` class can now be used as a " -"context manager. Patch by Scott Sanderson." -msgstr "" - -#: ../NEWS:34880 ../NEWS:36487 -msgid "" -":issue:`33495`: Change dataclasses.Fields repr to use the repr of each of " -"its members, instead of str. This makes it more clear what each field " -"actually represents. This is especially true for the 'type' member." -msgstr "" - -#: ../NEWS:34884 -msgid "" -":issue:`26103`: Correct ``inspect.isdatadescriptor`` to look for ``__set__``" -" or ``__delete__``. Patch by Aaron Hall." -msgstr "" - -#: ../NEWS:34887 -msgid "" -":issue:`29209`: Removed the ``doctype()`` method and the *html* parameter of" -" the constructor of :class:`~xml.etree.ElementTree.XMLParser`. The " -"``doctype()`` method defined in a subclass will no longer be called. " -"Deprecated methods ``getchildren()`` and ``getiterator()`` in the " -":mod:`~xml.etree.ElementTree` module emit now a :exc:`DeprecationWarning` " -"instead of :exc:`PendingDeprecationWarning`." -msgstr "" - -#: ../NEWS:34894 ../NEWS:36491 -msgid "" -":issue:`33453`: Fix dataclasses to work if using literal string type " -"annotations or if using PEP 563 \"Postponed Evaluation of Annotations\". " -"Only specific string prefixes are detected for both ClassVar (\"ClassVar\" " -"and \"typing.ClassVar\") and InitVar (\"InitVar\" and " -"\"dataclasses.InitVar\")." -msgstr "" - -#: ../NEWS:34899 ../NEWS:36496 ../NEWS:40916 -msgid "" -":issue:`28556`: Minor fixes in typing module: add annotations to " -"``NamedTuple.__new__``, pass ``*args`` and ``**kwds`` in " -"``Generic.__new__``. Original PRs by Paulius Šarka and Chad Dombrova." -msgstr "" - -#: ../NEWS:34903 -msgid "" -":issue:`33365`: Print the header values besides the header keys instead just" -" the header keys if *debuglevel* is set to >0 in :mod:`http.client`. Patch " -"by Marco Strigl." -msgstr "" - -#: ../NEWS:34907 ../NEWS:36500 ../NEWS:40920 -msgid "" -":issue:`20087`: Updated alias mapping with glibc 2.27 supported locales." -msgstr "" - -#: ../NEWS:34909 ../NEWS:36502 ../NEWS:40922 -msgid "" -":issue:`33422`: Fix trailing quotation marks getting deleted when looking up" -" byte/string literals on pydoc. Patch by Andrés Delfino." -msgstr "" - -#: ../NEWS:34912 ../NEWS:36505 -msgid "" -":issue:`28167`: The function ``platform.linux_distribution`` and " -"``platform.dist`` now trigger a ``DeprecationWarning`` and have been marked " -"for removal in Python 3.8" -msgstr "" - -#: ../NEWS:34916 ../NEWS:36612 -msgid ":issue:`33281`: Fix ctypes.util.find_library regression on macOS." -msgstr "" - -#: ../NEWS:34918 -msgid "" -":issue:`33311`: Text and html output generated by cgitb does not display " -"parentheses if the current call is done directly in the module. Patch by " -"Stéphane Blondon." -msgstr "" - -#: ../NEWS:34922 -msgid "" -":issue:`27300`: The file classes in *tempfile* now accept an *errors* " -"parameter that complements the already existing *encoding*. Patch by " -"Stephan Hohe." -msgstr "" - -#: ../NEWS:34925 -msgid "" -":issue:`32933`: :func:`unittest.mock.mock_open` now supports iteration over " -"the file contents. Patch by Tony Flury." -msgstr "" - -#: ../NEWS:34928 -msgid "" -":issue:`33217`: Raise :exc:`TypeError` when looking up non-Enum objects in " -"Enum classes and Enum members." -msgstr "" - -#: ../NEWS:34931 ../NEWS:36509 ../NEWS:40925 -msgid "" -":issue:`33197`: Update error message when constructing invalid " -"inspect.Parameters Patch by Donghee Na." -msgstr "" - -#: ../NEWS:34934 ../NEWS:36614 ../NEWS:40928 -msgid "" -":issue:`33383`: Fixed crash in the get() method of the :mod:`dbm.ndbm` " -"database object when it is called with a single argument." -msgstr "" - -#: ../NEWS:34937 -msgid "" -":issue:`33375`: The warnings module now finds the Python file associated " -"with a warning from the code object, rather than the frame's global " -"namespace. This is consistent with how tracebacks and pdb find filenames, " -"and should work better for dynamically executed code." -msgstr "" - -#: ../NEWS:34942 -msgid "" -":issue:`33336`: ``imaplib`` now allows ``MOVE`` command in ``IMAP4.uid()`` " -"(RFC 6851: IMAP MOVE Extension) and potentially as a name of supported " -"method of ``IMAP4`` object." -msgstr "" - -#: ../NEWS:34946 -msgid ":issue:`32455`: Added *jump* parameter to :func:`dis.stack_effect`." -msgstr "" - -#: ../NEWS:34948 -msgid "" -":issue:`27485`: Rename and deprecate undocumented functions in " -":func:`urllib.parse`." -msgstr "" - -#: ../NEWS:34951 -msgid "" -":issue:`33332`: Add ``signal.valid_signals()`` to expose the POSIX " -"sigfillset() functionality." -msgstr "" - -#: ../NEWS:34954 -msgid "" -":issue:`33251`: ``ConfigParser.items()`` was fixed so that key-value pairs " -"passed in via :func:`vars` are not included in the resulting output." -msgstr "" - -#: ../NEWS:34957 ../NEWS:36617 ../NEWS:40931 -msgid ":issue:`33329`: Fix multiprocessing regression on newer glibcs" -msgstr "" - -#: ../NEWS:34959 -msgid "" -":issue:`33334`: :func:`dis.stack_effect` now supports all defined opcodes " -"including NOP and EXTENDED_ARG." -msgstr "" - -#: ../NEWS:34962 ../NEWS:36619 ../NEWS:40933 -msgid "" -":issue:`991266`: Fix quoting of the ``Comment`` attribute of " -":class:`http.cookies.SimpleCookie`." -msgstr "" - -#: ../NEWS:34965 ../NEWS:36622 ../NEWS:40936 -msgid ":issue:`33131`: Upgrade bundled version of pip to 10.0.1." -msgstr "" - -#: ../NEWS:34967 ../NEWS:36624 ../NEWS:40938 -msgid "" -":issue:`33308`: Fixed a crash in the :mod:`parser` module when converting an" -" ST object to a tree of tuples or lists with ``line_info=False`` and " -"``col_info=True``." -msgstr "" - -#: ../NEWS:34971 -msgid "" -":issue:`23403`: lib2to3 now uses pickle protocol 4 for pre-computed " -"grammars." -msgstr "" - -#: ../NEWS:34973 ../NEWS:36628 -msgid ":issue:`33266`: lib2to3 now recognizes ``rf'...'`` strings." -msgstr "" - -#: ../NEWS:34975 ../NEWS:36630 -msgid ":issue:`11594`: Ensure line-endings are respected when using lib2to3." -msgstr "" - -#: ../NEWS:34977 ../NEWS:36632 -msgid "" -":issue:`33254`: Have :func:`importlib.resources.contents` and " -":meth:`importlib.abc.ResourceReader.contents` return an :term:`iterable` " -"instead of an :term:`iterator`." -msgstr "" - -#: ../NEWS:34981 -msgid "" -":issue:`33265`: ``contextlib.ExitStack`` and ``contextlib.AsyncExitStack`` " -"now use a method instead of a wrapper function for exit callbacks." -msgstr "" - -#: ../NEWS:34984 ../NEWS:36512 ../NEWS:40942 -msgid "" -":issue:`33263`: Fix FD leak in ``_SelectorSocketTransport`` Patch by Vlad " -"Starostin." -msgstr "" - -#: ../NEWS:34987 ../NEWS:36636 ../NEWS:40945 -msgid "" -":issue:`33256`: Fix display of ```` call in the html produced by " -"``cgitb.html()``. Patch by Stéphane Blondon." -msgstr "" - -#: ../NEWS:34990 -msgid "" -":issue:`33144`: ``random.Random()`` and its subclassing mechanism got " -"optimized to check only once at class/subclass instantiation time whether " -"its ``getrandbits()`` method can be relied on by other methods, including " -"``randrange()``, for the generation of arbitrarily large random integers. " -"Patch by Wolfgang Maier." -msgstr "" - -#: ../NEWS:34996 -msgid "" -":issue:`33185`: Fixed regression when running pydoc with the :option:`-m` " -"switch. (The regression was introduced in 3.7.0b3 by the resolution of " -":issue:`33053`)" -msgstr "" - -#: ../NEWS:35000 -msgid "" -"This fix also changed pydoc to add ``os.getcwd()`` to :data:`sys.path` when " -"necessary, rather than adding ``\".\"``." -msgstr "" - -#: ../NEWS:35003 -msgid "" -":issue:`29613`: Added support for the ``SameSite`` cookie flag to the " -"``http.cookies`` module." -msgstr "" - -#: ../NEWS:35006 ../NEWS:36644 -msgid "" -":issue:`33169`: Delete entries of ``None`` in " -":data:`sys.path_importer_cache` when " -":meth:`importlib.machinery.invalidate_caches` is called." -msgstr "" - -#: ../NEWS:35009 ../NEWS:36650 ../NEWS:40948 -msgid "" -":issue:`33203`: ``random.Random.choice()`` now raises ``IndexError`` for " -"empty sequences consistently even when called from subclasses without a " -"``getrandbits()`` implementation." -msgstr "" - -#: ../NEWS:35013 ../NEWS:36654 ../NEWS:40952 -msgid "" -":issue:`33224`: Update difflib.mdiff() for :pep:`479`. Convert an uncaught " -"StopIteration in a generator into a return-statement." -msgstr "" - -#: ../NEWS:35016 ../NEWS:36657 ../NEWS:40955 -msgid "" -":issue:`33209`: End framing at the end of C implementation of " -":func:`pickle.Pickler.dump`." -msgstr "" - -#: ../NEWS:35019 -msgid "" -":issue:`32861`: The urllib.robotparser's ``__str__`` representation now " -"includes wildcard entries and the \"Crawl-delay\" and \"Request-rate\" " -"fields. Also removes extra newlines that were being appended to the end of " -"the string. Patch by Michael Lazar." -msgstr "" - -#: ../NEWS:35024 -msgid "" -":issue:`23403`: ``DEFAULT_PROTOCOL`` in :mod:`pickle` was bumped to 4. " -"Protocol 4 is described in :pep:`3154` and available since Python 3.4. It " -"offers better performance and smaller size compared to protocol 3 introduced" -" in Python 3.0." -msgstr "" - -#: ../NEWS:35029 ../NEWS:36660 -msgid "" -":issue:`20104`: Improved error handling and fixed a reference leak in " -":func:`os.posix_spawn`." -msgstr "" - -#: ../NEWS:35032 -msgid "" -":issue:`33106`: Deleting a key from a read-only dbm database raises module " -"specific error instead of KeyError." -msgstr "" - -#: ../NEWS:35035 ../NEWS:36663 -msgid "" -":issue:`33175`: In dataclasses, Field.__set_name__ now looks up the " -"__set_name__ special method on the class, not the instance, of the default " -"value." -msgstr "" - -#: ../NEWS:35039 -msgid "" -":issue:`32380`: Create functools.singledispatchmethod to support generic " -"single dispatch on descriptors and methods." -msgstr "" - -#: ../NEWS:35042 ../NEWS:36803 -msgid "" -":issue:`33141`: Have Field objects pass through __set_name__ to their " -"default values, if they have their own __set_name__." -msgstr "" - -#: ../NEWS:35045 ../NEWS:36806 ../NEWS:40962 -msgid "" -":issue:`33096`: Allow ttk.Treeview.insert to insert iid that has a false " -"boolean value. Note iid=0 and iid=False would be same. Patch by Garvit " -"Khatri." -msgstr "" - -#: ../NEWS:35049 ../NEWS:36810 -msgid "" -":issue:`32873`: Treat type variables and special typing forms as immutable " -"by copy and pickle. This fixes several minor issues and inconsistencies, " -"and improves backwards compatibility with Python 3.6." -msgstr "" - -#: ../NEWS:35053 ../NEWS:36814 -msgid "" -":issue:`33134`: When computing dataclass's __hash__, use the lookup table to" -" contain the function which returns the __hash__ value. This is an " -"improvement over looking up a string, and then testing that string to see " -"what to do." -msgstr "" - -#: ../NEWS:35058 ../NEWS:36819 ../NEWS:40966 -msgid ":issue:`33127`: The ssl module now compiles with LibreSSL 2.7.1." -msgstr "" - -#: ../NEWS:35060 ../NEWS:36821 -msgid "" -":issue:`32505`: Raise TypeError if a member variable of a dataclass is of " -"type Field, but doesn't have a type annotation." -msgstr "" - -#: ../NEWS:35063 ../NEWS:36824 -msgid "" -":issue:`33078`: Fix the failure on OSX caused by the tests relying on " -"sem_getvalue" -msgstr "" - -#: ../NEWS:35066 ../NEWS:36827 -msgid ":issue:`33116`: Add 'Field' to dataclasses.__all__." -msgstr "" - -#: ../NEWS:35068 ../NEWS:36829 -msgid "" -":issue:`32896`: Fix an error where subclassing a dataclass with a field that" -" uses a default_factory would generate an incorrect class." -msgstr "" - -#: ../NEWS:35071 ../NEWS:36832 -msgid "" -":issue:`33100`: Dataclasses: If a field has a default value that's a " -"MemberDescriptorType, then it's from that field being in __slots__, not an " -"actual default value." -msgstr "" - -#: ../NEWS:35075 ../NEWS:36836 -msgid "" -":issue:`32953`: If a non-dataclass inherits from a frozen dataclass, allow " -"attributes to be added to the derived class. Only attributes from the " -"frozen dataclass cannot be assigned to. Require all dataclasses in a " -"hierarchy to be either all frozen or all non-frozen." -msgstr "" - -#: ../NEWS:35080 ../NEWS:36667 -msgid "" -":issue:`33097`: Raise RuntimeError when ``executor.submit`` is called during" -" interpreter shutdown." -msgstr "" - -#: ../NEWS:35083 -msgid "" -":issue:`32968`: Modulo and floor division involving Fraction and float " -"should return float." -msgstr "" - -#: ../NEWS:35086 ../NEWS:36841 -msgid ":issue:`33061`: Add missing ``NoReturn`` to ``__all__`` in typing.py" -msgstr "" - -#: ../NEWS:35088 ../NEWS:36843 -msgid "" -":issue:`33078`: Fix the size handling in multiprocessing.Queue when a " -"pickling error occurs." -msgstr "" - -#: ../NEWS:35091 ../NEWS:36846 ../NEWS:41218 -msgid "" -":issue:`33064`: lib2to3 now properly supports trailing commas after " -"``*args`` and ``**kwargs`` in function signatures." -msgstr "" - -#: ../NEWS:35094 ../NEWS:36849 -msgid "" -":issue:`33056`: FIX properly close leaking fds in " -"concurrent.futures.ProcessPoolExecutor." -msgstr "" - -#: ../NEWS:35097 ../NEWS:36852 ../NEWS:40968 -msgid "" -":issue:`33021`: Release the GIL during fstat() calls, avoiding hang of all " -"threads when calling mmap.mmap(), os.urandom(), and random.seed(). Patch by" -" Nir Soffer." -msgstr "" - -#: ../NEWS:35101 ../NEWS:36856 ../NEWS:41221 -msgid "" -":issue:`31804`: Avoid failing in multiprocessing.Process if the standard " -"streams are closed or None at exit." -msgstr "" - -#: ../NEWS:35104 -msgid "" -":issue:`33034`: Providing an explicit error message when casting the port " -"property to anything that is not an integer value using ``urlparse()`` and " -"``urlsplit()``. Patch by Matt Eaton." -msgstr "" - -#: ../NEWS:35108 -msgid "" -":issue:`30249`: Improve struct.unpack_from() exception messages for problems" -" with the buffer size and offset." -msgstr "" - -#: ../NEWS:35111 ../NEWS:36859 ../NEWS:41224 -msgid "" -":issue:`33037`: Skip sending/receiving data after SSL transport closing." -msgstr "" - -#: ../NEWS:35113 ../NEWS:36861 ../NEWS:40972 -msgid "" -":issue:`27683`: Fix a regression in :mod:`ipaddress` that result of " -":meth:`hosts` is empty when the network is constructed by a tuple containing" -" an integer mask and only 1 bit left for addresses." -msgstr "" - -#: ../NEWS:35117 -msgid "" -":issue:`22674`: Add the strsignal() function in the signal module that " -"returns the system description of the given signal, as returned by " -"strsignal(3)." -msgstr "" - -#: ../NEWS:35120 ../NEWS:36865 -msgid "" -":issue:`32999`: Fix C implementation of ``ABC.__subclasscheck__(cls, " -"subclass)`` crashed when ``subclass`` is not a type object." -msgstr "" - -#: ../NEWS:35123 ../NEWS:36868 ../NEWS:41228 -msgid "" -":issue:`33009`: Fix inspect.signature() for single-parameter partialmethods." -msgstr "" - -#: ../NEWS:35125 ../NEWS:36870 ../NEWS:41230 -msgid "" -":issue:`32969`: Expose several missing constants in zlib and fix " -"corresponding documentation." -msgstr "" - -#: ../NEWS:35128 ../NEWS:36873 -msgid "" -":issue:`32056`: Improved exceptions raised for invalid number of channels " -"and sample width when read an audio file in modules :mod:`!aifc`, " -":mod:`wave` and :mod:`!sunau`." -msgstr "" - -#: ../NEWS:35132 -msgid ":issue:`32970`: Improved disassembly of the MAKE_FUNCTION instruction." -msgstr "" - -#: ../NEWS:35134 ../NEWS:36877 ../NEWS:40976 -msgid "" -":issue:`32844`: Fix wrong redirection of a low descriptor (0 or 1) to stderr" -" in subprocess if another low descriptor is closed." -msgstr "" - -#: ../NEWS:35137 ../NEWS:37008 -msgid "" -":issue:`32960`: For dataclasses, disallow inheriting frozen from non-frozen " -"classes, and also disallow inheriting non-frozen from frozen classes. This " -"restriction will be relaxed at a future date." -msgstr "" - -#: ../NEWS:35141 ../NEWS:37012 ../NEWS:41233 -msgid "" -":issue:`32713`: Fixed tarfile.itn handling of out-of-bounds float values. " -"Patch by Joffrey Fuhrer." -msgstr "" - -#: ../NEWS:35144 ../NEWS:36519 -msgid "" -":issue:`32257`: The ssl module now contains OP_NO_RENEGOTIATION constant, " -"available with OpenSSL 1.1.0h or 1.1.1." -msgstr "" - -#: ../NEWS:35147 ../NEWS:37015 -msgid "" -":issue:`32951`: Direct instantiation of SSLSocket and SSLObject objects is " -"now prohibited. The constructors were never documented, tested, or designed " -"as public constructors. Users were suppose to use ssl.wrap_socket() or " -"SSLContext." -msgstr "" - -#: ../NEWS:35152 ../NEWS:37020 -msgid "" -":issue:`32929`: Remove the tri-state parameter \"hash\", and add the boolean" -" \"unsafe_hash\". If unsafe_hash is True, add a __hash__ function, but if a " -"__hash__ exists, raise TypeError. If unsafe_hash is False, add a __hash__ " -"based on the values of eq= and frozen=. The unsafe_hash=False behavior is " -"the same as the old hash=None behavior. unsafe_hash=False is the default, " -"just as hash=None used to be." -msgstr "" - -#: ../NEWS:35159 ../NEWS:37027 -msgid "" -":issue:`32947`: Add OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for " -"TLSv1.3 for future compatibility with OpenSSL 1.1.1." -msgstr "" - -#: ../NEWS:35162 -msgid "" -":issue:`32146`: Document the interaction between frozen executables and the " -"spawn and forkserver start methods in multiprocessing." -msgstr "" - -#: ../NEWS:35165 ../NEWS:37030 ../NEWS:41236 -msgid "" -":issue:`30622`: The ssl module now detects missing NPN support in LibreSSL." -msgstr "" - -#: ../NEWS:35167 ../NEWS:37032 ../NEWS:41238 -msgid "" -":issue:`32922`: dbm.open() now encodes filename with the filesystem encoding" -" rather than default encoding." -msgstr "" - -#: ../NEWS:35170 -msgid ":issue:`32759`: Free unused arenas in multiprocessing.heap." -msgstr "" - -#: ../NEWS:35172 ../NEWS:37035 ../NEWS:41241 -msgid "" -":issue:`32859`: In ``os.dup2``, don't check every call whether the ``dup3`` " -"syscall exists or not." -msgstr "" - -#: ../NEWS:35175 ../NEWS:37038 -msgid "" -":issue:`32556`: nt._getfinalpathname, nt._getvolumepathname and " -"nt._getdiskusage now correctly convert from bytes." -msgstr "" - -#: ../NEWS:35178 ../NEWS:37044 ../NEWS:41244 -msgid "" -":issue:`21060`: Rewrite confusing message from setup.py upload from \"No " -"dist file created in earlier command\" to the more helpful \"Must create and" -" upload files in one command\"." -msgstr "" - -#: ../NEWS:35182 ../NEWS:36880 ../NEWS:41248 -msgid "" -":issue:`32857`: In :mod:`tkinter`, ``after_cancel(None)`` now raises a " -":exc:`ValueError` instead of canceling the first scheduled function. Patch " -"by Cheryl Sabella." -msgstr "" - -#: ../NEWS:35186 ../NEWS:37048 ../NEWS:41252 -msgid "" -":issue:`32852`: Make sure sys.argv remains as a list when running trace." -msgstr "" - -#: ../NEWS:35188 -msgid "" -":issue:`31333`: ``_abc`` module is added. It is a speedup module with C " -"implementations for various functions and methods in ``abc``. Creating an " -"ABC subclass and calling ``isinstance`` or ``issubclass`` with an ABC " -"subclass are up to 1.5x faster. In addition, this makes Python start-up up " -"to 10% faster." -msgstr "" - -#: ../NEWS:35194 -msgid "" -"Note that the new implementation hides internal registry and caches, " -"previously accessible via private attributes ``_abc_registry``, " -"``_abc_cache``, and ``_abc_negative_cache``. There are three debugging " -"helper methods that can be used instead ``_dump_registry``, " -"``_abc_registry_clear``, and ``_abc_caches_clear``." -msgstr "" - -#: ../NEWS:35200 ../NEWS:37060 ../NEWS:41254 -msgid "" -":issue:`32841`: Fixed ``asyncio.Condition`` issue which silently ignored " -"cancellation after notifying and cancelling a conditional lock. Patch by Bar" -" Harel." -msgstr "" - -#: ../NEWS:35204 ../NEWS:37064 -msgid "" -":issue:`32819`: ssl.match_hostname() has been simplified and no longer " -"depends on re and ipaddress module for wildcard and IP addresses. Error " -"reporting for invalid wildcards has been improved." -msgstr "" - -#: ../NEWS:35208 -msgid "" -":issue:`19675`: ``multiprocessing.Pool`` no longer leaks processes if its " -"initialization fails." -msgstr "" - -#: ../NEWS:35211 ../NEWS:37068 -msgid "" -":issue:`32394`: socket: Remove " -"TCP_FASTOPEN,TCP_KEEPCNT,TCP_KEEPIDLE,TCP_KEEPINTVL flags on older version " -"Windows during run-time." -msgstr "" - -#: ../NEWS:35215 ../NEWS:37072 ../NEWS:41258 -msgid "" -":issue:`31787`: Fixed refleaks of ``__init__()`` methods in various modules." -" (Contributed by Oren Milman)" -msgstr "" - -#: ../NEWS:35218 ../NEWS:37075 ../NEWS:41261 -msgid "" -":issue:`30157`: Fixed guessing quote and delimiter in csv.Sniffer.sniff() " -"when only the last field is quoted. Patch by Jake Davis." -msgstr "" - -#: ../NEWS:35221 -msgid "" -":issue:`30688`: Added support of ``\\N{name}`` escapes in regular " -"expressions. Based on patch by Jonathan Eunice." -msgstr "" - -#: ../NEWS:35224 ../NEWS:37078 -msgid "" -":issue:`32792`: collections.ChainMap() preserves the order of the underlying" -" mappings." -msgstr "" - -#: ../NEWS:35227 ../NEWS:37081 -msgid "" -":issue:`32775`: :func:`fnmatch.translate` no longer produces patterns which " -"contain set operations. Sets starting with '[' or containing '--', '&&', " -"'~~' or '||' will be interpreted differently in regular expressions in " -"future versions. Currently they emit warnings. fnmatch.translate() now " -"avoids producing patterns containing such sets by accident." -msgstr "" - -#: ../NEWS:35233 ../NEWS:37087 -msgid "" -":issue:`32622`: Implement native fast sendfile for Windows proactor event " -"loop." -msgstr "" - -#: ../NEWS:35235 ../NEWS:37089 ../NEWS:41267 -msgid "" -":issue:`32777`: Fix a rare but potential pre-exec child process deadlock in " -"subprocess on POSIX systems when marking file descriptors inheritable on " -"exec in the child process. This bug appears to have been introduced in 3.4." -msgstr "" - -#: ../NEWS:35240 ../NEWS:37094 ../NEWS:41272 -msgid "" -":issue:`32647`: The ctypes module used to depend on indirect linking for " -"dlopen. The shared extension is now explicitly linked against libdl on " -"platforms with dl." -msgstr "" - -#: ../NEWS:35244 -msgid "" -":issue:`32749`: A :mod:`dbm.dumb` database opened with flags 'r' is now " -"read-only. :func:`dbm.dumb.open` with flags 'r' and 'w' no longer creates a " -"database if it does not exist." -msgstr "" - -#: ../NEWS:35248 ../NEWS:37098 -msgid ":issue:`32741`: Implement ``asyncio.TimerHandle.when()`` method." -msgstr "" - -#: ../NEWS:35250 ../NEWS:37100 -msgid ":issue:`32691`: Use mod_spec.parent when running modules with pdb" -msgstr "" - -#: ../NEWS:35252 ../NEWS:37102 ../NEWS:41276 -msgid "" -":issue:`32734`: Fixed ``asyncio.Lock()`` safety issue which allowed " -"acquiring and locking the same lock multiple times, without it being free. " -"Patch by Bar Harel." -msgstr "" - -#: ../NEWS:35256 ../NEWS:37106 ../NEWS:41280 -msgid "" -":issue:`32727`: Do not include name field in SMTP envelope from address. " -"Patch by Stéphane Wirtel" -msgstr "" - -#: ../NEWS:35259 ../NEWS:37109 -msgid "" -":issue:`31453`: Add TLSVersion constants and SSLContext.maximum_version / " -"minimum_version attributes. The new API wraps OpenSSL 1.1 " -"https://web.archive.org/web/20180309043602/https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_set_min_proto_version.html" -" feature." -msgstr "" - -#: ../NEWS:35264 ../NEWS:37114 -msgid "" -":issue:`24334`: Internal implementation details of ssl module were cleaned " -"up. The SSLSocket has one less layer of indirection. Owner and session " -"information are now handled by the SSLSocket and SSLObject constructor. " -"Channel binding implementation has been simplified." -msgstr "" - -#: ../NEWS:35269 ../NEWS:37119 ../NEWS:41293 -msgid "" -":issue:`31848`: Fix the error handling in Aifc_read.initfp() when the SSND " -"chunk is not found. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:35272 ../NEWS:37122 -msgid "" -":issue:`32585`: Add Ttk spinbox widget to :mod:`tkinter.ttk`. Patch by Alan" -" D Moore." -msgstr "" - -#: ../NEWS:35275 -msgid "" -":issue:`32512`: :mod:`profile` CLI accepts ``-m module_name`` as an " -"alternative to script path." -msgstr "" - -#: ../NEWS:35278 -msgid "" -":issue:`8525`: help() on a type now displays builtin subclasses. This is " -"intended primarily to help with notification of more specific exception " -"subclasses." -msgstr "" - -#: ../NEWS:35282 -msgid "Patch by Sanyam Khurana." -msgstr "*Patch* oleh Sanyam Khurana." - -#: ../NEWS:35284 -msgid "" -":issue:`31639`: http.server now exposes a ThreadingHTTPServer class and uses" -" it when the module is run with ``-m`` to cope with web browsers pre-opening" -" sockets." -msgstr "" - -#: ../NEWS:35288 -msgid "" -":issue:`29877`: compileall: import ProcessPoolExecutor only when needed, " -"preventing hangs on low resource platforms" -msgstr "" - -#: ../NEWS:35291 ../NEWS:37125 -msgid "" -":issue:`32221`: Various functions returning tuple containing IPv6 addresses " -"now omit ``%scope`` part since the same information is already encoded in " -"*scopeid* tuple item. Especially this speeds up :func:`socket.recvfrom` when" -" it receives multicast packet since useless resolving of network interface " -"name is omitted." -msgstr "" - -#: ../NEWS:35297 -msgid "" -":issue:`32147`: :func:`binascii.unhexlify` is now up to 2 times faster. " -"Patch by Sergey Fedoseev." -msgstr "" - -#: ../NEWS:35300 ../NEWS:37131 -msgid "" -":issue:`30693`: The TarFile class now recurses directories in a reproducible" -" way." -msgstr "" - -#: ../NEWS:35303 ../NEWS:37134 -msgid "" -":issue:`30693`: The ZipFile class now recurses directories in a reproducible" -" way." -msgstr "" - -#: ../NEWS:35306 -msgid ":issue:`31680`: Added :data:`curses.ncurses_version`." -msgstr "" - -#: ../NEWS:35308 ../NEWS:36670 ../NEWS:40979 -msgid "" -":issue:`31908`: Fix output of cover files for ``trace`` module command-line " -"tool. Previously emitted cover files only when ``--missing`` option was " -"used. Patch by Michael Selik." -msgstr "" - -#: ../NEWS:35312 -msgid "" -":issue:`31608`: Raise a ``TypeError`` instead of crashing if a " -"``collections.deque`` subclass returns a non-deque from ``__new__``. Patch " -"by Oren Milman." -msgstr "" - -#: ../NEWS:35316 -msgid "" -":issue:`31425`: Add support for sockets of the AF_QIPCRTR address family, " -"supported by the Linux kernel. This is used to communicate with services, " -"such as GPS or radio, running on Qualcomm devices. Patch by Bjorn Andersson." -msgstr "" - -#: ../NEWS:35321 -msgid "" -":issue:`22005`: Implemented unpickling instances of " -":class:`~datetime.datetime`, :class:`~datetime.date` and " -":class:`~datetime.time` pickled by Python 2. ``encoding='latin1'`` should be" -" used for successful decoding." -msgstr "" - -#: ../NEWS:35326 ../NEWS:36888 -msgid "" -":issue:`27645`: :class:`sqlite3.Connection` now exposes a " -":class:`~sqlite3.Connection.backup` method, if the underlying SQLite library" -" is at version 3.6.11 or higher. Patch by Lele Gaifax." -msgstr "" - -#: ../NEWS:35330 ../NEWS:36522 ../NEWS:40986 -msgid "" -":issue:`16865`: Support arrays >=2GiB in :mod:`ctypes`. Patch by Segev " -"Finer." -msgstr "" - -#: ../NEWS:35332 -msgid "" -":issue:`31508`: Removed support of arguments in " -"``tkinter.ttk.Treeview.selection``. It was deprecated in 3.6. Use " -"specialized methods like ``selection_set`` for changing the selection." -msgstr "" - -#: ../NEWS:35336 -msgid "" -":issue:`29456`: Fix bugs in hangul normalization: u1176, u11a7 and u11c3" -msgstr "" - -#: ../NEWS:35341 -msgid ":issue:`21257`: Document :func:`http.client.parse_headers`." -msgstr "" - -#: ../NEWS:35343 -msgid ":issue:`34764`: Improve example of iter() with 2nd sentinel argument." -msgstr "" - -#: ../NEWS:35345 -msgid "" -":issue:`35564`: Explicitly set master_doc variable in conf.py for compliance" -" with Sphinx 2.0" -msgstr "" - -#: ../NEWS:35348 -msgid "" -":issue:`35511`: Specified that profile.Profile class doesn't not support " -"enable or disable methods. Also, elaborated that Profile object as a context" -" manager is only supported in cProfile module." -msgstr "" - -#: ../NEWS:35352 -msgid ":issue:`10536`: Enhance the gettext docs. Patch by Éric Araujo" -msgstr "" - -#: ../NEWS:35354 -msgid "" -":issue:`35089`: Remove mention of ``typing.io`` and ``typing.re``. Their " -"types should be imported from ``typing`` directly." -msgstr "" - -#: ../NEWS:35357 -msgid "" -":issue:`35038`: Fix the documentation about an unexisting ``f_restricted`` " -"attribute in the frame object. Patch by Stéphane Wirtel" -msgstr "" - -#: ../NEWS:35360 -msgid "" -":issue:`35042`: Replace PEP XYZ by the pep role and allow to use the direct " -"links to the PEPs." -msgstr "" - -#: ../NEWS:35363 -msgid "" -":issue:`35044`: Fix the documentation with the role ``exc`` for the " -"appropriated exception. Patch by Stéphane Wirtel" -msgstr "" - -#: ../NEWS:35366 -msgid "" -":issue:`35035`: Rename documentation for :mod:`email.utils` to " -"``email.utils.rst``." -msgstr "" - -#: ../NEWS:35369 -msgid "" -":issue:`34967`: Use app.add_object_type() instead of the deprecated Sphinx " -"function app.description_unit()" -msgstr "" - -#: ../NEWS:35372 -msgid "" -":issue:`34913`: Add documentation about the new command line interface of " -"the gzip module." -msgstr "" - -#: ../NEWS:35375 -msgid "" -":issue:`32174`: chm document displays non-ASCII characters properly on some " -"MBCS Windows systems." -msgstr "" - -#: ../NEWS:35378 -msgid "" -":issue:`11233`: Create availability directive for documentation. Original " -"patch by Georg Brandl." -msgstr "" - -#: ../NEWS:35381 -msgid "" -":issue:`34790`: Document how passing coroutines to asyncio.wait() can be " -"confusing." -msgstr "" - -#: ../NEWS:35384 -msgid "" -":issue:`34552`: Make clear that ``==`` operator sometimes is equivalent to " -"``is``. The ``<``, ``<=``, ``>`` and ``>=`` operators are only defined where" -" they make sense." -msgstr "" - -#: ../NEWS:35388 -msgid "" -":issue:`28617`: Fixed info in the stdtypes docs concerning the types that " -"support membership tests." -msgstr "" - -#: ../NEWS:35391 -msgid "" -":issue:`20177`: Migrate datetime.date.fromtimestamp to Argument Clinic. " -"Patch by Tim Hoffmann." -msgstr "" - -#: ../NEWS:35394 -msgid "" -":issue:`34065`: Fix wrongly written basicConfig documentation markup syntax" -msgstr "" - -#: ../NEWS:35396 -msgid "" -":issue:`33460`: replaced ellipsis with correct error codes in tutorial " -"chapter 3." -msgstr "" - -#: ../NEWS:35399 -msgid ":issue:`33847`: Add '@' operator entry to index." -msgstr "" - -#: ../NEWS:35401 ../NEWS:36317 -msgid "" -":issue:`33409`: Clarified the relationship between :pep:`538`'s " -"PYTHONCOERCECLOCALE and PEP 540's PYTHONUTF8 mode." -msgstr "" - -#: ../NEWS:35404 -msgid "" -":issue:`33197`: Add versionadded tag to the documentation of " -"ParameterKind.description" -msgstr "" - -#: ../NEWS:35407 -msgid "" -":issue:`17045`: Improve the C-API doc for PyTypeObject. This includes " -"adding several quick-reference tables and a lot of missing slot/typedef " -"entries. The existing entries were also cleaned up with a slightly more " -"consistent format." -msgstr "" - -#: ../NEWS:35412 ../NEWS:36320 -msgid "" -":issue:`33736`: Improve the documentation of " -":func:`asyncio.open_connection`, :func:`asyncio.start_server` and their UNIX" -" socket counterparts." -msgstr "" - -#: ../NEWS:35415 ../NEWS:36527 -msgid "" -":issue:`23859`: Document that ``asyncio.wait()`` does not cancel its futures" -" on timeout." -msgstr "" - -#: ../NEWS:35418 ../NEWS:36530 -msgid ":issue:`32436`: Document :pep:`567` changes to asyncio." -msgstr "" - -#: ../NEWS:35420 ../NEWS:36532 -msgid "" -":issue:`33604`: Update HMAC md5 default to a DeprecationWarning, bump " -"removal to 3.8." -msgstr "" - -#: ../NEWS:35423 -msgid "" -":issue:`33594`: Document ``getargspec``, ``from_function`` and " -"``from_builtin`` as deprecated in their respective docstring, and include " -"version since deprecation in DeprecationWarning message." -msgstr "" - -#: ../NEWS:35427 ../NEWS:36535 ../NEWS:40995 -msgid ":issue:`33503`: Fix broken pypi link" -msgstr "" - -#: ../NEWS:35429 ../NEWS:36537 ../NEWS:40997 -msgid "" -":issue:`33421`: Add missing documentation for " -"``typing.AsyncContextManager``." -msgstr "" - -#: ../NEWS:35431 -msgid "" -":issue:`33487`: BZ2file now emit a DeprecationWarning when buffering=None is" -" passed, the deprecation message and documentation also now explicitly state" -" it is deprecated since 3.0." -msgstr "" - -#: ../NEWS:35435 ../NEWS:36677 ../NEWS:40999 -msgid "" -":issue:`33378`: Add Korean language switcher for https://docs.python.org/3/" -msgstr "" - -#: ../NEWS:35437 ../NEWS:36679 ../NEWS:41001 -msgid "" -":issue:`33276`: Clarify that the ``__path__`` attribute on modules cannot be" -" just any value." -msgstr "" - -#: ../NEWS:35440 ../NEWS:36682 ../NEWS:41004 -msgid ":issue:`33201`: Modernize documentation for writing C extension types." -msgstr "" - -#: ../NEWS:35442 ../NEWS:36684 ../NEWS:41006 -msgid "" -":issue:`33195`: Deprecate ``Py_UNICODE`` usage in ``c-api/arg`` document. " -"``Py_UNICODE`` related APIs are deprecated since Python 3.3, but it is " -"missed in the document." -msgstr "" - -#: ../NEWS:35446 ../NEWS:36895 ../NEWS:41010 -msgid ":issue:`33126`: Document PyBuffer_ToContiguous()." -msgstr "" - -#: ../NEWS:35448 ../NEWS:36897 ../NEWS:41012 -msgid "" -":issue:`27212`: Modify documentation for the :func:`islice` recipe to " -"consume initial values up to the start index." -msgstr "" - -#: ../NEWS:35451 ../NEWS:36900 ../NEWS:41015 -msgid "" -":issue:`28247`: Update :mod:`zipapp` documentation to describe how to make " -"standalone applications." -msgstr "" - -#: ../NEWS:35454 ../NEWS:36903 ../NEWS:41018 -msgid "" -":issue:`18802`: Documentation changes for ipaddress. Patch by Jon Foster " -"and Berker Peksag." -msgstr "" - -#: ../NEWS:35457 ../NEWS:36906 ../NEWS:41021 -msgid "" -":issue:`27428`: Update documentation to clarify that " -"``WindowsRegistryFinder`` implements ``MetaPathFinder``. (Patch by Himanshu " -"Lakhara)" -msgstr "" - -#: ../NEWS:35460 ../NEWS:37140 -msgid "" -":issue:`28124`: The ssl module function ssl.wrap_socket() has been de-" -"emphasized and deprecated in favor of the more secure and efficient " -"SSLContext.wrap_socket() method." -msgstr "" - -#: ../NEWS:35464 ../NEWS:37144 ../NEWS:41351 -msgid ":issue:`17232`: Clarify docs for -O and -OO. Patch by Terry Reedy." -msgstr "" - -#: ../NEWS:35466 ../NEWS:37146 -msgid "" -":issue:`32436`: Add documentation for the contextvars module (PEP 567)." -msgstr "" - -#: ../NEWS:35468 ../NEWS:37148 ../NEWS:41353 -msgid ":issue:`32800`: Update link to w3c doc for xml default namespaces." -msgstr "" - -#: ../NEWS:35470 ../NEWS:37150 -msgid ":issue:`11015`: Update :mod:`test.support` documentation." -msgstr "" - -#: ../NEWS:35472 -msgid "" -":issue:`32613`: Update the faq/windows.html to use the py command from PEP " -"397 instead of python." -msgstr "" - -#: ../NEWS:35475 ../NEWS:37152 ../NEWS:41355 -msgid "" -":issue:`8722`: Document :meth:`__getattr__` behavior when property " -":meth:`get` method raises :exc:`AttributeError`." -msgstr "" - -#: ../NEWS:35478 ../NEWS:37155 ../NEWS:41358 -msgid "" -":issue:`32614`: Modify RE examples in documentation to use raw strings to " -"prevent :exc:`DeprecationWarning` and add text to REGEX HOWTO to highlight " -"the deprecation." -msgstr "" - -#: ../NEWS:35482 -msgid "" -":issue:`20709`: Remove the paragraph where we explain that os.utime() does " -"not support a directory as path under Windows. Patch by Jan-Philip Gehrcke" -msgstr "" - -#: ../NEWS:35485 -msgid "" -":issue:`32722`: Remove the bad example in the tutorial of the Generator " -"Expression. Patch by Stéphane Wirtel" -msgstr "" - -#: ../NEWS:35488 ../NEWS:37159 ../NEWS:41362 -msgid "" -":issue:`31972`: Improve docstrings for ``pathlib.PurePath`` subclasses." -msgstr "" - -#: ../NEWS:35490 -msgid "" -":issue:`30607`: Use the externalized ``python-docs-theme`` package when " -"building the documentation." -msgstr "" - -#: ../NEWS:35493 ../NEWS:36688 ../NEWS:41024 -msgid "" -":issue:`8243`: Add a note about curses.addch and curses.addstr exception " -"behavior when writing outside a window, or pad." -msgstr "" - -#: ../NEWS:35496 ../NEWS:36691 -msgid ":issue:`32337`: Update documentation related with ``dict`` order." -msgstr "" - -#: ../NEWS:35498 -msgid ":issue:`25041`: Document ``AF_PACKET`` in the :mod:`socket` module." -msgstr "" - -#: ../NEWS:35500 ../NEWS:36323 ../NEWS:41027 -msgid "" -":issue:`31432`: Clarify meaning of CERT_NONE, CERT_OPTIONAL, and " -"CERT_REQUIRED flags for ssl.SSLContext.verify_mode." -msgstr "" - -#: ../NEWS:35506 -msgid "" -":issue:`35772`: Fix sparse file tests of test_tarfile on ppc64 with the " -"tmpfs filesystem. Fix the function testing if the filesystem supports sparse" -" files: create a file which contains data and \"holes\", instead of creating" -" a file which contains no data. tmpfs effective block size is a page size " -"(tmpfs lives in the page cache). RHEL uses 64 KiB pages on aarch64, ppc64, " -"ppc64le, only s390x and x86_64 use 4 KiB pages, whereas the test punch holes" -" of 4 KiB." -msgstr "" - -#: ../NEWS:35514 -msgid "" -":issue:`35045`: Make ssl tests less strict and also accept TLSv1 as system " -"default. The changes unbreaks test_min_max_version on Fedora 29." -msgstr "" - -#: ../NEWS:35517 -msgid "" -":issue:`32710`: ``test_asyncio/test_sendfile.py`` now resets the event loop " -"policy using :func:`tearDownModule` as done in other tests, to prevent a " -"warning when running tests on Windows." -msgstr "" - -#: ../NEWS:35521 -msgid "" -":issue:`33717`: test.pythoninfo now logs information of all clocks, not only" -" time.time() and time.perf_counter()." -msgstr "" - -#: ../NEWS:35524 -msgid "" -":issue:`35488`: Add a test to pathlib's Path.match() to verify it does not " -"support glob-style ** recursive pattern matching." -msgstr "" - -#: ../NEWS:35527 -msgid "" -":issue:`31731`: Fix a race condition in ``check_interrupted_write()`` of " -"test_io: create directly the thread with SIGALRM signal blocked, rather than" -" blocking the signal later from the thread. Previously, it was possible that" -" the thread gets the signal before the signal is blocked." -msgstr "" - -#: ../NEWS:35532 -msgid "" -":issue:`35424`: Fix test_multiprocessing_main_handling: use " -":class:`multiprocessing.Pool` with a context manager and then explicitly " -"join the pool." -msgstr "" - -#: ../NEWS:35536 -msgid "" -":issue:`35519`: Rename :mod:`test.bisect` module to :mod:`test.bisect_cmd` " -"to avoid conflict with :mod:`bisect` module when running directly a test " -"like ``./python Lib/test/test_xmlrpc.py``." -msgstr "" - -#: ../NEWS:35540 -msgid "" -":issue:`35513`: Replace :func:`time.time` with :func:`time.monotonic` in " -"tests to measure time delta." -msgstr "" - -#: ../NEWS:35543 -msgid "" -":issue:`34279`: :func:`test.support.run_unittest` no longer raise " -":exc:`TestDidNotRun` if the test result contains skipped tests. The " -"exception is now only raised if no test have been run and no test have been " -"skipped." -msgstr "" - -#: ../NEWS:35548 -msgid "" -":issue:`35412`: Add testcase to ``test_future4``: check unicode literal." -msgstr "" - -#: ../NEWS:35550 -msgid "" -":issue:`26704`: Added test demonstrating double-patching of an instance " -"method. Patch by Anthony Sottile." -msgstr "" - -#: ../NEWS:35553 -msgid "" -":issue:`33725`: test_multiprocessing_fork may crash on recent versions of " -"macOS. Until the issue is resolved, skip the test on macOS." -msgstr "" - -#: ../NEWS:35556 -msgid "" -":issue:`35352`: Modify test_asyncio to use the certificate set from the test" -" directory." -msgstr "" - -#: ../NEWS:35559 -msgid "" -":issue:`35317`: Fix ``mktime()`` overflow error in ``test_email``: run " -"``test_localtime_daylight_true_dst_true()`` and " -"``test_localtime_daylight_false_dst_true()`` with a specific timezone." -msgstr "" - -#: ../NEWS:35563 -msgid "" -":issue:`21263`: After several reports that test_gdb does not work properly " -"on macOS and since gdb is not shipped by default anymore, test_gdb is now " -"skipped on macOS when LLVM Clang has been used to compile Python. Patch by " -"Lysandros Nikolaou" -msgstr "" - -#: ../NEWS:35568 -msgid "" -":issue:`34279`: regrtest issue a warning when no tests have been executed in" -" a particular test file. Also, a new final result state is issued if no test" -" have been executed across all test files. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:35572 -msgid "" -":issue:`34962`: make docstest in Doc now passes., and is enforced in CI" -msgstr "" - -#: ../NEWS:35574 -msgid "" -":issue:`23596`: Use argparse for the command line of the gzip module. Patch " -"by Antony Lee" -msgstr "" - -#: ../NEWS:35577 -msgid "" -":issue:`34537`: Fix ``test_gdb.test_strings()`` when ``LC_ALL=C`` and GDB " -"was compiled with Python 3.6 or earlier." -msgstr "" - -#: ../NEWS:35580 -msgid "" -":issue:`34587`: test_socket: Remove RDSTest.testCongestion(). The test tries" -" to fill the receiver's socket buffer and expects an error. But the RDS " -"protocol doesn't require that. Moreover, the Linux implementation of RDS " -"expects that the producer of the messages reduces its rate, it's not the " -"role of the receiver to trigger an error. The test fails on Fedora 28 by " -"design, so just remove it." -msgstr "" - -#: ../NEWS:35587 -msgid ":issue:`34661`: Fix test_shutil if unzip doesn't support -t." -msgstr "" - -#: ../NEWS:35589 -msgid "" -":issue:`34200`: Fixed non-deterministic flakiness of test_pkg by not using " -"the scary test.support.module_cleanup() logic to save and restore " -"sys.modules contents between test cases." -msgstr "" - -#: ../NEWS:35593 -msgid "" -":issue:`34569`: The experimental PEP 554 data channels now correctly pass " -"negative PyLong objects between subinterpreters on 32-bit systems. Patch by " -"Michael Felt." -msgstr "" - -#: ../NEWS:35597 -msgid ":issue:`34594`: Fix usage of hardcoded ``errno`` values in the tests." -msgstr "" - -#: ../NEWS:35599 -msgid ":issue:`34579`: Fix test_embed for AIX Patch by Michael Felt" -msgstr "" - -#: ../NEWS:35601 -msgid "" -":issue:`34542`: Use 3072 RSA keys and SHA-256 signature for test certs and " -"keys." -msgstr "" - -#: ../NEWS:35604 -msgid "" -":issue:`11193`: Remove special condition for AIX in " -"``test_subprocess.test_undecodable_env``" -msgstr "" - -#: ../NEWS:35607 -msgid ":issue:`34347`: Fix ``test_utf8_mode.test_cmd_line`` for AIX" -msgstr "" - -#: ../NEWS:35609 -msgid "" -":issue:`34490`: On AIX with AF_UNIX family sockets getsockname() does not " -"provide 'sockname', so skip calls to transport.get_extra_info('sockname')" -msgstr "" - -#: ../NEWS:35612 -msgid "" -":issue:`34391`: Fix ftplib test for TLS 1.3 by reading from data socket." -msgstr "" - -#: ../NEWS:35614 -msgid "" -":issue:`11192`: Fix ``test_socket`` on AIX 6.1 and later IPv6 zone id " -"supports only supported by ``inet_pton6_zone()``. Switch to runtime-based " -"``platform.system()`` to establish current platform rather than build-time " -"based ``sys.platform()``" -msgstr "" - -#: ../NEWS:35619 -msgid "" -":issue:`34399`: Update all RSA keys and DH params to use at least 2048 bits." -msgstr "" - -#: ../NEWS:35621 -msgid "" -":issue:`34373`: Fix ``test_mktime`` and ``test_pthread_getcpuclickid`` tests" -" for AIX Add range checking for ``_PyTime_localtime`` for AIX Patch by " -"Michael Felt" -msgstr "" - -#: ../NEWS:35625 -msgid "" -":issue:`11191`: Skip the distutils test 'test_search_cpp' when using XLC as " -"compiler patch by aixtools (Michael Felt)" -msgstr "" - -#: ../NEWS:35628 -msgid "Improved an error message when mock assert_has_calls fails." -msgstr "" - -#: ../NEWS:35630 -msgid ":issue:`33746`: Fix test_unittest when run in verbose mode." -msgstr "" - -#: ../NEWS:35632 -msgid "" -":issue:`33901`: Fix test_dbm_gnu on macOS with gdbm 1.15: add a larger value" -" to make sure that the file size changes." -msgstr "" - -#: ../NEWS:35635 -msgid "" -":issue:`33873`: Fix a bug in ``regrtest`` that caused an extra test to run " -"if --huntrleaks/-R was used. Exit with error in case that invalid parameters" -" are specified to --huntrleaks/-R (at least one warmup run and one " -"repetition must be used)." -msgstr "" - -#: ../NEWS:35640 -msgid "" -":issue:`33562`: Check that a global asyncio event loop policy is not left " -"behind by any tests." -msgstr "" - -#: ../NEWS:35643 ../NEWS:36542 ../NEWS:41033 -msgid "" -":issue:`33655`: Ignore test_posix_fallocate failures on BSD platforms that " -"might be due to running on ZFS." -msgstr "" - -#: ../NEWS:35646 -msgid "" -":issue:`32962`: Fixed test_gdb when Python is compiled with flags -mcet " -"-fcf-protection -O0." -msgstr "" - -#: ../NEWS:35649 ../NEWS:36696 -msgid "" -":issue:`33358`: Fix ``test_embed.test_pre_initialization_sys_options()`` " -"when the interpreter is built with ``--enable-shared``." -msgstr "" - -#: ../NEWS:35652 ../NEWS:36912 ../NEWS:41146 -msgid "" -":issue:`32872`: Avoid regrtest compatibility issue with namespace packages." -msgstr "" - -#: ../NEWS:35654 ../NEWS:36914 ../NEWS:41371 -msgid "" -":issue:`32517`: Fix failing ``test_asyncio`` on macOS 10.12.2+ due to " -"transport of ``KqueueSelector`` loop was not being closed." -msgstr "" - -#: ../NEWS:35657 -msgid "" -":issue:`32663`: Making sure the ``SMTPUTF8SimTests`` class of tests gets run" -" in ``test_smtplib.py``." -msgstr "" - -#: ../NEWS:35660 -msgid "" -":issue:`27643`: Test_C test case needs \"signed short\" bitfields, but the " -"IBM XLC compiler (on AIX) does not support this Skip the code and test when " -"AIX and XLC are used" -msgstr "" - -#: ../NEWS:35664 -msgid "Applicable to Python2-2.7 and later" -msgstr "Berlaku untuk Python2-2.7 dan yang lebih baru" - -#: ../NEWS:35666 ../NEWS:36917 ../NEWS:41036 -msgid ":issue:`19417`: Add test_bdb.py." -msgstr "" - -#: ../NEWS:35668 ../NEWS:37164 -msgid ":issue:`31809`: Add tests to verify connection with secp ECDH curves." -msgstr "" - -#: ../NEWS:35673 -msgid "" -":issue:`34691`: The _contextvars module is now built into the core Python " -"library on Windows." -msgstr "" - -#: ../NEWS:35676 -msgid "" -":issue:`35683`: Improved Azure Pipelines build steps and now verifying " -"layouts correctly" -msgstr "" - -#: ../NEWS:35679 -msgid ":issue:`35642`: Remove asynciomodule.c from pythoncore.vcxproj" -msgstr "" - -#: ../NEWS:35681 -msgid "" -":issue:`35550`: Fix incorrect Solaris #ifdef checks to look for __sun && " -"__SVR4 instead of sun when compiling." -msgstr "" - -#: ../NEWS:35684 -msgid "" -":issue:`35499`: ``make profile-opt`` no longer replaces ``CFLAGS_NODIST`` " -"with ``CFLAGS``. It now adds profile-guided optimization (PGO) flags to " -"``CFLAGS_NODIST``: existing ``CFLAGS_NODIST`` flags are kept." -msgstr "" - -#: ../NEWS:35688 -msgid "" -":issue:`35257`: Avoid leaking the linker flags from Link Time Optimizations " -"(LTO) into distutils when compiling C extensions." -msgstr "" - -#: ../NEWS:35691 -msgid "" -":issue:`35351`: When building Python with clang and LTO, LTO flags are no " -"longer passed into CFLAGS to build third-party C extensions through " -"distutils." -msgstr "" - -#: ../NEWS:35695 -msgid "" -":issue:`35139`: Fix a compiler error when statically linking ``pyexpat`` in " -"``Modules/Setup``." -msgstr "" - -#: ../NEWS:35698 -msgid "" -":issue:`35059`: PCbuild: Set InlineFunctionExpansion to OnlyExplicitInline " -"(\"/Ob1\" option) in pyproject.props in Debug mode to expand functions " -"marked as inline. This change should make Python compiled in Debug mode a " -"little bit faster on Windows." -msgstr "" - -#: ../NEWS:35703 -msgid "" -":issue:`35011`: Restores the use of pyexpatns.h to isolate our embedded copy" -" of the expat C library so that its symbols do not conflict at link or " -"dynamic loading time with an embedding application or other extension " -"modules with their own version of libexpat." -msgstr "" - -#: ../NEWS:35708 -msgid ":issue:`28015`: Have --with-lto works correctly with clang." -msgstr "" - -#: ../NEWS:35710 -msgid "" -":issue:`34765`: Update the outdated install-sh file to the latest revision " -"from automake v1.16.1" -msgstr "" - -#: ../NEWS:35713 -msgid "" -":issue:`34585`: Check for floating-point byte order in configure.ac using " -"compilation tests instead of executing code, so that these checks work in " -"cross-compiled builds." -msgstr "" - -#: ../NEWS:35717 -msgid ":issue:`34710`: Fixed SSL module build with OpenSSL & pedantic CFLAGS." -msgstr "" - -#: ../NEWS:35719 -msgid "" -":issue:`34582`: Add JUnit XML output for regression tests and update Azure " -"DevOps builds." -msgstr "" - -#: ../NEWS:35722 -msgid ":issue:`34081`: Make Sphinx warnings as errors in the Docs Makefile." -msgstr "" - -#: ../NEWS:35724 -msgid "" -":issue:`34555`: Fix for case where it was not possible to have both " -"``HAVE_LINUX_VM_SOCKETS_H`` and ``HAVE_SOCKADDR_ALG`` be undefined." -msgstr "" - -#: ../NEWS:35727 -msgid "" -":issue:`33015`: Fix an undefined behaviour in the pthread implementation of " -":c:func:`PyThread_start_new_thread`: add a function wrapper to always return" -" ``NULL``." -msgstr "" - -#: ../NEWS:35731 -msgid "" -":issue:`34245`: The Python shared library is now installed with write " -"permission (mode 0755), which is the standard way of installing such " -"libraries." -msgstr "" - -#: ../NEWS:35735 -msgid ":issue:`34121`: Fix detection of C11 atomic support on clang." -msgstr "" - -#: ../NEWS:35737 -msgid "" -":issue:`32430`: Rename Modules/Setup.dist to Modules/Setup, and remove the " -"necessity to copy the former manually to the latter when updating the local " -"source tree." -msgstr "" - -#: ../NEWS:35741 -msgid "" -":issue:`30345`: Add -g to LDFLAGS when compiling with LTO to get debug " -"symbols." -msgstr "" - -#: ../NEWS:35743 ../NEWS:36329 ../NEWS:41041 -msgid "" -":issue:`5755`: Move ``-Wstrict-prototypes`` option to ``CFLAGS_NODIST`` from" -" ``OPT``. This option emitted annoying warnings when building extension " -"modules written in C++." -msgstr "" - -#: ../NEWS:35747 ../NEWS:36551 ../NEWS:41045 -msgid "" -":issue:`33614`: Ensures module definition files for the stable ABI on " -"Windows are correctly regenerated." -msgstr "" - -#: ../NEWS:35750 -msgid "" -":issue:`33648`: The --with-c-locale-warning configuration flag has been " -"removed. It has had no effect for about a year." -msgstr "" - -#: ../NEWS:35753 ../NEWS:36554 ../NEWS:41048 -msgid "" -":issue:`33522`: Enable CI builds on Visual Studio Team Services at " -"https://python.visualstudio.com/cpython" -msgstr "" - -#: ../NEWS:35756 -msgid ":issue:`33512`: configure's check for \"long double\" has been simplified" -msgstr "" - -#: ../NEWS:35758 -msgid "" -":issue:`33483`: C compiler is now correctly detected from the standard " -"environment variables. --without-gcc and --with-icc options have been " -"removed." -msgstr "" - -#: ../NEWS:35762 ../NEWS:36702 ../NEWS:41055 -msgid "" -":issue:`33394`: Enable the verbose build for extension modules, when GNU " -"make is passed macros on the command line." -msgstr "" - -#: ../NEWS:35765 ../NEWS:36705 -msgid ":issue:`33393`: Update config.guess and config.sub files." -msgstr "" - -#: ../NEWS:35767 ../NEWS:36707 -msgid "" -":issue:`33377`: Add new triplets for mips r6 and riscv variants (used in " -"extension suffixes)." -msgstr "" - -#: ../NEWS:35770 ../NEWS:36710 -msgid "" -":issue:`32232`: By default, modules configured in ``Modules/Setup`` are no " -"longer built with ``-DPy_BUILD_CORE``. Instead, modules that specifically " -"need that preprocessor definition include it in their individual entries." -msgstr "" - -#: ../NEWS:35774 ../NEWS:36714 -msgid "" -":issue:`33182`: The embedding tests can once again be built with clang 6.0" -msgstr "" - -#: ../NEWS:35776 ../NEWS:36922 ../NEWS:41151 -msgid ":issue:`33163`: Upgrade pip to 9.0.3 and setuptools to v39.0.1." -msgstr "" - -#: ../NEWS:35778 -msgid "" -":issue:`33012`: gcc 8 has added a new warning heuristic to detect invalid " -"function casts and a stock python build seems to hit that warning quite " -"often. The most common is the cast of a METH_NOARGS function (that uses " -"just one argument) to a PyCFunction. Fix this by adding a dummy argument to " -"all functions that implement METH_NOARGS." -msgstr "" - -#: ../NEWS:35784 ../NEWS:37169 -msgid ":issue:`32898`: Fix the python debug build when using COUNT_ALLOCS." -msgstr "" - -#: ../NEWS:35786 -msgid ":issue:`29442`: Replace optparse with argparse in setup.py" -msgstr "" - -#: ../NEWS:35791 -msgid "" -":issue:`35890`: Fix API calling consistency of GetVersionEx and wcstok." -msgstr "" - -#: ../NEWS:35793 -msgid "" -":issue:`32560`: The ``py`` launcher now forwards its ``STARTUPINFO`` " -"structure to child processes." -msgstr "" - -#: ../NEWS:35796 -msgid ":issue:`35854`: Fix EnvBuilder and --symlinks in venv on Windows" -msgstr "" - -#: ../NEWS:35798 -msgid "" -":issue:`35811`: Avoid propagating venv settings when launching via py.exe" -msgstr "" - -#: ../NEWS:35800 -msgid "" -":issue:`35797`: Fix default executable used by the multiprocessing module" -msgstr "" - -#: ../NEWS:35802 -msgid ":issue:`35758`: Allow building on ARM with MSVC." -msgstr "" - -#: ../NEWS:35804 -msgid ":issue:`29734`: Fix handle leaks in os.stat on Windows." -msgstr "" - -#: ../NEWS:35806 -msgid "" -":issue:`35596`: Use unchecked PYCs for the embeddable distro to avoid " -"zipimport restrictions." -msgstr "" - -#: ../NEWS:35809 -msgid "" -":issue:`35596`: Fix vcruntime140.dll being added to embeddable distro " -"multiple times." -msgstr "" - -#: ../NEWS:35812 -msgid ":issue:`35402`: Update Windows build to use Tcl and Tk 8.6.9" -msgstr "" - -#: ../NEWS:35814 -msgid ":issue:`35401`: Updates Windows build to OpenSSL 1.1.0j" -msgstr "" - -#: ../NEWS:35816 -msgid "" -":issue:`34977`: venv on Windows will now use a python.exe redirector rather " -"than copying the actual binaries from the base environment." -msgstr "" - -#: ../NEWS:35819 -msgid ":issue:`34977`: Adds support for building a Windows App Store package" -msgstr "" - -#: ../NEWS:35821 -msgid "" -":issue:`35067`: Remove _distutils_findvs module and use vswhere.exe instead." -msgstr "" - -#: ../NEWS:35823 -msgid ":issue:`32557`: Allow shutil.disk_usage to take a file path on Windows" -msgstr "" - -#: ../NEWS:35825 -msgid "" -":issue:`34770`: Fix a possible null pointer dereference in pyshellext.cpp." -msgstr "" - -#: ../NEWS:35827 -msgid ":issue:`34603`: Fix returning structs from functions produced by MSVC" -msgstr "" - -#: ../NEWS:35829 -msgid "" -":issue:`34581`: Guard MSVC-specific code in socketmodule.c with ``#ifdef " -"_MSC_VER``." -msgstr "" - -#: ../NEWS:35832 -msgid ":issue:`34532`: Fixes exit code of list version arguments for py.exe." -msgstr "" - -#: ../NEWS:35834 -msgid "" -":issue:`34062`: Fixed the '--list' and '--list-paths' arguments for the " -"py.exe launcher" -msgstr "" - -#: ../NEWS:35837 -msgid "" -":issue:`34225`: Ensure INCLUDE and LIB directories do not end with a " -"backslash." -msgstr "" - -#: ../NEWS:35839 -msgid "" -":issue:`34011`: A suite of code has been changed which copied across DLLs " -"and init.tcl from the running Python location into a venv being created. " -"These copies are needed only when running from a Python source build, and " -"the copying code is now only run when that is the case, rather than whenever" -" a venv is created." -msgstr "" - -#: ../NEWS:35845 -msgid "" -":issue:`34006`: Revert line length limit for Windows help docs. The line-" -"length limit is not needed because the pages appear in a separate app rather" -" than on a browser tab. It can also interact badly with the DPI setting." -msgstr "" - -#: ../NEWS:35849 -msgid "" -":issue:`31546`: Restore running PyOS_InputHook while waiting for user input " -"at the prompt. The restores integration of interactive GUI windows (such as " -"Matplotlib figures) with the prompt on Windows." -msgstr "" - -#: ../NEWS:35853 -msgid "" -":issue:`30237`: Output error when ReadConsole is canceled by " -"CancelSynchronousIo instead of crashing." -msgstr "" - -#: ../NEWS:35856 -msgid "" -":issue:`33895`: GIL is released while calling functions that acquire Windows" -" loader lock." -msgstr "" - -#: ../NEWS:35859 ../NEWS:36336 -msgid "" -":issue:`33720`: Reduces maximum marshal recursion depth on release builds." -msgstr "" - -#: ../NEWS:35861 -msgid "" -":issue:`29097`: Fix bug where :meth:`datetime.fromtimestamp` erroneously " -"throws an :exc:`OSError` on Windows for values between 0 and 86400. Patch by" -" Ammar Askar." -msgstr "" - -#: ../NEWS:35865 -msgid ":issue:`33316`: PyThread_release_lock always fails" -msgstr "" - -#: ../NEWS:35867 ../NEWS:36719 -msgid ":issue:`33184`: Update Windows installer to use OpenSSL 1.1.0h." -msgstr "" - -#: ../NEWS:35869 -msgid "" -":issue:`32890`: Fix usage of GetLastError() instead of errno in os.execve() " -"and os.truncate()." -msgstr "" - -#: ../NEWS:35872 ../NEWS:36927 ../NEWS:41392 -msgid "" -":issue:`33016`: Fix potential use of uninitialized memory in " -"nt._getfinalpathname" -msgstr "" - -#: ../NEWS:35875 ../NEWS:36930 ../NEWS:41395 -msgid "" -":issue:`32903`: Fix a memory leak in os.chdir() on Windows if the current " -"directory is set to a UNC path." -msgstr "" - -#: ../NEWS:35878 ../NEWS:37174 -msgid ":issue:`32901`: Update Tcl and Tk versions to 8.6.8" -msgstr "" - -#: ../NEWS:35880 ../NEWS:37176 ../NEWS:41398 -msgid ":issue:`31966`: Fixed WindowsConsoleIO.write() for writing empty data." -msgstr "" - -#: ../NEWS:35882 ../NEWS:37178 ../NEWS:41400 -msgid ":issue:`32409`: Ensures activate.bat can handle Unicode contents." -msgstr "" - -#: ../NEWS:35884 ../NEWS:37180 ../NEWS:41402 -msgid "" -":issue:`32457`: Improves handling of denormalized executable path when " -"launching Python." -msgstr "" - -#: ../NEWS:35887 ../NEWS:37183 ../NEWS:41405 -msgid "" -":issue:`32370`: Use the correct encoding for ipconfig output in the uuid " -"module. Patch by Segev Finer." -msgstr "" - -#: ../NEWS:35890 ../NEWS:37186 ../NEWS:41408 -msgid "" -":issue:`29248`: Fix :func:`os.readlink` on Windows, which was mistakenly " -"treating the ``PrintNameOffset`` field of the reparse data buffer as a " -"number of characters instead of bytes. Patch by Craig Holmquist and SSE4." -msgstr "" - -#: ../NEWS:35894 -msgid "" -":issue:`1104`: Correctly handle string length in " -"``msilib.SummaryInfo.GetProperty()`` to prevent it from truncating the last " -"character." -msgstr "" - -#: ../NEWS:35901 -msgid ":issue:`35401`: Update macOS installer to use OpenSSL 1.1.0j." -msgstr "" - -#: ../NEWS:35903 -msgid "" -":issue:`35025`: Properly guard the use of the ``CLOCK_GETTIME`` et al. " -"macros in ``timemodule`` on macOS." -msgstr "" - -#: ../NEWS:35906 -msgid "" -":issue:`24658`: On macOS, fix reading from and writing into a file with a " -"size larger than 2 GiB." -msgstr "" - -#: ../NEWS:35909 -msgid ":issue:`34405`: Update to OpenSSL 1.1.0i for macOS installer builds." -msgstr "" - -#: ../NEWS:35911 -msgid "" -":issue:`33635`: In macOS stat on some file descriptors (/dev/fd/3 f.e) will " -"result in bad file descriptor OSError. Guard against this exception was " -"added in is_dir, is_file and similar methods. DirEntry.is_dir can also throw" -" this exception so _RecursiveWildcardSelector._iterate_directories was also " -"extended with the same error ignoring pattern." -msgstr "" - -#: ../NEWS:35917 ../NEWS:36564 -msgid "" -":issue:`13631`: The .editrc file in user's home directory is now processed " -"correctly during the readline initialization through editline emulation on " -"macOS." -msgstr "" - -#: ../NEWS:35921 ../NEWS:36724 -msgid ":issue:`33184`: Update macOS installer build to use OpenSSL 1.1.0h." -msgstr "" - -#: ../NEWS:35923 ../NEWS:36936 -msgid "" -":issue:`32726`: Build and link with private copy of Tcl/Tk 8.6 for the macOS" -" 10.6+ installer. The 10.9+ installer variant already does this. This means" -" that the Python 3.7 provided by the python.org macOS installers no longer " -"need or use any external versions of Tcl/Tk, either system-provided or user-" -"installed, such as ActiveTcl." -msgstr "" - -#: ../NEWS:35929 ../NEWS:37193 -msgid ":issue:`32901`: Update macOS 10.9+ installer to Tcl/Tk 8.6.8." -msgstr "" - -#: ../NEWS:35931 -msgid "" -":issue:`31903`: In :mod:`!_scproxy`, drop the GIL when calling into " -"``SystemConfiguration`` to avoid deadlocks." -msgstr "" - -#: ../NEWS:35937 -msgid "" -":issue:`35770`: IDLE macosx deletes Options => Configure IDLE. It previously" -" deleted Window => Zoom Height by mistake. (Zoom Height is now on the " -"Options menu). On Mac, the settings dialog is accessed via Preferences on " -"the IDLE menu." -msgstr "" - -#: ../NEWS:35942 -msgid "" -":issue:`35769`: Change IDLE's new file name from 'Untitled' to 'untitled'" -msgstr "" - -#: ../NEWS:35944 -msgid ":issue:`35660`: Fix imports in idlelib.window." -msgstr "" - -#: ../NEWS:35946 -msgid "" -":issue:`35641`: Proper format ``calltip`` when the function has no " -"docstring." -msgstr "" - -#: ../NEWS:35948 -msgid ":issue:`33987`: Use ttk Frame for ttk widgets." -msgstr "" - -#: ../NEWS:35950 -msgid "" -":issue:`34055`: Fix erroneous 'smart' indents and newlines in IDLE Shell." -msgstr "" - -#: ../NEWS:35952 -msgid ":issue:`35591`: Find Selection now works when selection not found." -msgstr "" - -#: ../NEWS:35954 -msgid ":issue:`35196`: Speed up squeezer line counting." -msgstr "" - -#: ../NEWS:35956 -msgid "" -":issue:`35598`: Update config_key: use PEP 8 names and ttk widgets, make " -"some objects global, and add tests." -msgstr "" - -#: ../NEWS:35959 -msgid ":issue:`28097`: Add Previous/Next History entries to Shell menu." -msgstr "" - -#: ../NEWS:35961 -msgid "" -":issue:`35208`: Squeezer now properly counts wrapped lines before newlines." -msgstr "" - -#: ../NEWS:35963 -msgid "" -":issue:`35555`: Gray out Code Context menu entry when it's not applicable." -msgstr "" - -#: ../NEWS:35965 -msgid "" -":issue:`35521`: Document the IDLE editor code context feature. Add some " -"internal references within the IDLE doc." -msgstr "" - -#: ../NEWS:35968 -msgid "" -":issue:`22703`: The Code Context menu label now toggles between Show/Hide " -"Code Context. The Zoom Height menu now toggles between Zoom/Restore Height. " -"Zoom Height has moved from the Window menu to the Options menu." -msgstr "" - -#: ../NEWS:35972 -msgid ":issue:`35213`: Where appropriate, use 'macOS' in idlelib." -msgstr "" - -#: ../NEWS:35974 -msgid "" -":issue:`34864`: On macOS, warn if the system preference \"Prefer tabs when " -"opening documents\" is set to \"Always\"." -msgstr "" - -#: ../NEWS:35977 -msgid "" -":issue:`34864`: Document two IDLE on MacOS issues. The System Preferences " -"Dock \"prefer tabs always\" setting disables some IDLE features. Menus are " -"a bit different than as described for Windows and Linux." -msgstr "" - -#: ../NEWS:35981 -msgid ":issue:`35202`: Remove unused imports from lib/idlelib" -msgstr "" - -#: ../NEWS:35983 -msgid "" -":issue:`33000`: Document that IDLE's shell has no line limit. A program that" -" runs indefinitely can overfill memory." -msgstr "" - -#: ../NEWS:35986 -msgid ":issue:`23220`: Explain how IDLE's Shell displays output." -msgstr "" - -#: ../NEWS:35988 -msgid "" -":issue:`35099`: Improve the doc about IDLE running user code. The section " -"is renamed from \"IDLE -- console differences\" is renamed \"Running user " -"code\". It mostly covers the implications of using custom " -":samp:`sys.std{xxx}` objects." -msgstr "" - -#: ../NEWS:35993 -msgid "" -":issue:`35097`: Add IDLE doc subsection explaining editor windows. Topics " -"include opening, title and status bar, .py* extension, and running." -msgstr "" - -#: ../NEWS:35996 -msgid "" -":issue:`35093`: Document the IDLE document viewer in the IDLE doc. Add a " -"paragraph in \"Help and preferences\", \"Help sources\" subsection." -msgstr "" - -#: ../NEWS:35999 -msgid "" -":issue:`35088`: Update idlelib.help.copy_string docstring. We now use git " -"and backporting instead of hg and forward merging." -msgstr "" - -#: ../NEWS:36002 -msgid "" -":issue:`35087`: Update idlelib help files for the current doc build. The " -"main change is the elimination of chapter-section numbers." -msgstr "" - -#: ../NEWS:36005 -msgid ":issue:`34548`: Use configured color theme for read-only text views." -msgstr "" - -#: ../NEWS:36007 -msgid "" -":issue:`1529353`: Enable \"squeezing\" of long outputs in the shell, to " -"avoid performance degradation and to clean up the history without losing it." -" Squeezed outputs may be copied, viewed in a separate window, and " -"\"unsqueezed\"." -msgstr "" - -#: ../NEWS:36012 -msgid ":issue:`34047`: Fixed mousewheel scrolling direction on macOS." -msgstr "" - -#: ../NEWS:36014 -msgid "" -":issue:`34275`: Make IDLE calltips always visible on Mac. Some MacOS-tk " -"combinations need .update_idletasks(). Patch by Kevin Walzer." -msgstr "" - -#: ../NEWS:36017 -msgid "" -":issue:`34120`: Fix unresponsiveness after closing certain windows and " -"dialogs." -msgstr "" - -#: ../NEWS:36019 -msgid "" -":issue:`33975`: Avoid small type when running htests. Since part of the " -"purpose of human-viewed tests is to determine that widgets look right, it is" -" important that they look the same for testing as when running IDLE." -msgstr "" - -#: ../NEWS:36023 -msgid ":issue:`33905`: Add test for idlelib.stackview.StackBrowser." -msgstr "" - -#: ../NEWS:36025 -msgid "" -":issue:`33924`: Change mainmenu.menudefs key 'windows' to 'window'. Every " -"other menudef key is lowercase version of main menu entry." -msgstr "" - -#: ../NEWS:36028 -msgid "" -":issue:`33906`: Rename idlelib.windows as window Match Window on the main " -"menu and remove last plural module name." -msgstr "" - -#: ../NEWS:36031 -msgid "" -":issue:`33917`: Fix and document idlelib/idle_test/template.py. The revised " -"file compiles, runs, and tests OK. idle_test/README.txt explains how to use" -" it to create new IDLE test files." -msgstr "" - -#: ../NEWS:36035 -msgid "" -":issue:`33904`: IDLE: In rstrip, rename class RstripExtension as Rstrip" -msgstr "" - -#: ../NEWS:36037 -msgid "" -":issue:`33907`: For consistency and clarity, rename an IDLE module and " -"classes. Module calltips and its class CallTips are now calltip and Calltip." -" In module calltip_w, class CallTip is now CalltipWindow." -msgstr "" - -#: ../NEWS:36041 -msgid ":issue:`33856`: Add \"help\" in the welcome message of IDLE" -msgstr "" - -#: ../NEWS:36043 -msgid "" -":issue:`33839`: IDLE: refactor ToolTip and CallTip and add documentation and" -" tests" -msgstr "" - -#: ../NEWS:36046 -msgid "" -":issue:`33855`: Minimally test all IDLE modules. Add missing files, import " -"module, instantiate classes, and check coverage. Check existing files." -msgstr "" - -#: ../NEWS:36049 ../NEWS:36341 ../NEWS:41071 -msgid "" -":issue:`33656`: On Windows, add API call saying that tk scales for DPI. On " -"Windows 8.1+ or 10, with DPI compatibility properties of the Python binary " -"unchanged, and a monitor resolution greater than 96 DPI, this should make " -"text and lines sharper. It should otherwise have no effect." -msgstr "" - -#: ../NEWS:36054 ../NEWS:36346 ../NEWS:41076 -msgid "" -":issue:`33768`: Clicking on a context line moves that line to the top of the" -" editor window." -msgstr "" - -#: ../NEWS:36057 ../NEWS:36349 ../NEWS:41079 -msgid "" -":issue:`33763`: IDLE: Use read-only text widget for code context instead of " -"label widget." -msgstr "" - -#: ../NEWS:36060 ../NEWS:36352 ../NEWS:41082 -msgid "" -":issue:`33664`: Scroll IDLE editor text by lines. Previously, the mouse " -"wheel and scrollbar slider moved text by a fixed number of pixels, resulting" -" in partial lines at the top of the editor box. The change also applies to " -"the shell and grep output windows, but not to read-only text views." -msgstr "" - -#: ../NEWS:36065 ../NEWS:36357 ../NEWS:41087 -msgid "" -":issue:`33679`: Enable theme-specific color configuration for Code Context. " -"Use the Highlights tab to see the setting for built-in themes or add " -"settings to custom themes." -msgstr "" - -#: ../NEWS:36069 ../NEWS:36361 ../NEWS:41091 -msgid "" -":issue:`33642`: Display up to maxlines non-blank lines for Code Context. If " -"there is no current context, show a single blank line." -msgstr "" - -#: ../NEWS:36072 ../NEWS:36571 ../NEWS:41094 -msgid ":issue:`33628`: IDLE: Cleanup codecontext.py and its test." -msgstr "" - -#: ../NEWS:36074 ../NEWS:36573 ../NEWS:41096 -msgid "" -":issue:`33564`: IDLE's code context now recognizes async as a block opener." -msgstr "" - -#: ../NEWS:36076 ../NEWS:36729 ../NEWS:41101 -msgid "" -":issue:`21474`: Update word/identifier definition from ascii to unicode. In " -"text and entry boxes, this affects selection by double-click, movement " -"left/right by control-left/right, and deletion left/right by control-" -"BACKSPACE/DEL." -msgstr "" - -#: ../NEWS:36081 ../NEWS:36734 ../NEWS:41106 -msgid "" -":issue:`33204`: IDLE: consistently color invalid string prefixes. A 'u' " -"string prefix cannot be paired with either 'r' or 'f'. Consistently color as" -" much of the prefix, starting at the right, as is valid. Revise and extend " -"colorizer test." -msgstr "" - -#: ../NEWS:36086 ../NEWS:36945 ../NEWS:41425 -msgid "" -":issue:`32984`: Set ``__file__`` while running a startup file. Like Python," -" IDLE optionally runs one startup file in the Shell window before presenting" -" the first interactive input prompt. For IDLE, ``-s`` runs a file named in " -"environmental variable :envvar:`IDLESTARTUP` or :envvar:`PYTHONSTARTUP`; " -"``-r file`` runs ``file``. Python sets ``__file__`` to the startup file " -"name before running the file and unsets it before the first prompt. IDLE " -"now does the same when run normally, without the ``-n`` option." -msgstr "" - -#: ../NEWS:36095 ../NEWS:36954 ../NEWS:41434 -msgid "" -":issue:`32940`: Simplify and rename StringTranslatePseudoMapping in pyparse." -msgstr "" - -#: ../NEWS:36097 ../NEWS:37198 ../NEWS:41436 -msgid ":issue:`32916`: Change ``str`` to ``code`` in pyparse." -msgstr "" - -#: ../NEWS:36099 ../NEWS:37200 ../NEWS:41438 -msgid ":issue:`32905`: Remove unused code in pyparse module." -msgstr "" - -#: ../NEWS:36101 ../NEWS:37202 ../NEWS:41440 -msgid ":issue:`32874`: Add tests for pyparse." -msgstr "" - -#: ../NEWS:36103 ../NEWS:37204 ../NEWS:41442 -msgid "" -":issue:`32837`: Using the system and place-dependent default encoding for " -"open() is a bad idea for IDLE's system and location-independent files." -msgstr "" - -#: ../NEWS:36106 ../NEWS:37207 ../NEWS:41445 -msgid "" -":issue:`32826`: Add \"encoding=utf-8\" to open() in IDLE's test_help_about. " -"GUI test test_file_buttons() only looks at initial ascii-only lines, but " -"failed on systems where open() defaults to 'ascii' because readline() " -"internally reads and decodes far enough ahead to encounter a non-ascii " -"character in CREDITS.txt." -msgstr "" - -#: ../NEWS:36112 ../NEWS:36575 ../NEWS:41111 -msgid ":issue:`32831`: Add docstrings and tests for codecontext." -msgstr "" - -#: ../NEWS:36114 ../NEWS:37213 ../NEWS:41451 -msgid "" -":issue:`32765`: Update configdialog General tab docstring to add new widgets" -" to the widget list." -msgstr "" - -#: ../NEWS:36120 -msgid "" -":issue:`35884`: Add a benchmark script for timing various ways to access " -"variables: ``Tools/scripts/var_access_benchmark.py``." -msgstr "" - -#: ../NEWS:36123 -msgid "" -":issue:`34989`: python-gdb.py now handles errors on computing the line " -"number of a Python frame." -msgstr "" - -#: ../NEWS:36126 -msgid "" -":issue:`20260`: Argument Clinic now has non-bitwise unsigned int converters." -msgstr "" - -#: ../NEWS:36128 -msgid "" -":issue:`32962`: python-gdb now catches ``UnicodeDecodeError`` exceptions " -"when calling ``string()``." -msgstr "" - -#: ../NEWS:36131 -msgid "" -":issue:`32962`: python-gdb now catches ValueError on read_var(): when Python" -" has no debug symbols for example." -msgstr "" - -#: ../NEWS:36134 ../NEWS:36742 ../NEWS:41116 -msgid "" -":issue:`33189`: :program:`pygettext.py` now recognizes only literal strings " -"as docstrings and translatable strings, and rejects bytes literals and " -"f-string expressions." -msgstr "" - -#: ../NEWS:36138 ../NEWS:36746 ../NEWS:41120 -msgid "" -":issue:`31920`: Fixed handling directories as arguments in the ``pygettext``" -" script. Based on patch by Oleg Krasnikov." -msgstr "" - -#: ../NEWS:36141 ../NEWS:36749 ../NEWS:41123 -msgid ":issue:`29673`: Fix pystackv and pystack gdbinit macros." -msgstr "" - -#: ../NEWS:36143 -msgid "" -":issue:`25427`: Remove the pyvenv script in favor of ``python3 -m venv`` in " -"order to lower confusion as to what Python interpreter a virtual environment" -" will be created for." -msgstr "" - -#: ../NEWS:36147 ../NEWS:36959 ../NEWS:41125 -msgid "" -":issue:`32885`: Add an ``-n`` flag for ``Tools/scripts/pathfix.py`` to " -"disable automatic backup creation (files with ``~`` suffix)." -msgstr "" - -#: ../NEWS:36150 ../NEWS:37219 ../NEWS:41461 -msgid "" -":issue:`32222`: Fix pygettext not extracting docstrings for functions with " -"type annotated arguments. Patch by Toby Harradine." -msgstr "" - -#: ../NEWS:36153 ../NEWS:36751 ../NEWS:41128 -msgid "" -":issue:`31583`: Fix 2to3 for using with --add-suffix option but without " -"--output-dir option for relative path to files in current directory." -msgstr "" - -#: ../NEWS:36159 -msgid "" -":issue:`35713`: The :c:func:`!PyByteArray_Init` and " -":c:func:`!PyByteArray_Fini` functions have been removed. They did nothing " -"since Python 2.7.4 and Python 3.2.0, were excluded from the limited API " -"(stable ABI), and were not documented." -msgstr "" - -#: ../NEWS:36164 -msgid "" -":issue:`33817`: Fixed :c:func:`_PyBytes_Resize` for empty bytes objects." -msgstr "" - -#: ../NEWS:36166 -msgid "" -":issue:`35322`: Fix memory leak in :c:func:`PyUnicode_EncodeLocale` and " -":c:func:`PyUnicode_EncodeFSDefault` on error handling." -msgstr "" - -#: ../NEWS:36169 -msgid "" -":issue:`35059`: The following C macros have been converted to static inline " -"functions: :c:func:`Py_INCREF`, :c:func:`Py_DECREF`, :c:func:`Py_XINCREF`, " -":c:func:`Py_XDECREF`, :c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`." -msgstr "" - -#: ../NEWS:36174 -msgid "" -":issue:`35296`: ``make install`` now also installs the internal API: " -"``Include/internal/*.h`` header files." -msgstr "" - -#: ../NEWS:36177 -msgid "" -":issue:`35081`: Internal APIs surrounded by ``#ifdef Py_BUILD_CORE`` have " -"been moved from ``Include/*.h`` headers to new header files " -"``Include/internal/pycore_*.h``." -msgstr "" - -#: ../NEWS:36181 -msgid "" -":issue:`35259`: Conditionally declare :c:func:`Py_FinalizeEx()` (new in 3.6)" -" based on Py_LIMITED_API. Patch by Arthur Neufeld." -msgstr "" - -#: ../NEWS:36184 -msgid "" -":issue:`35081`: The :c:func:`!_PyObject_GC_TRACK` and " -":c:func:`!_PyObject_GC_UNTRACK` macros have been removed from the public C " -"API." -msgstr "" - -#: ../NEWS:36188 -msgid ":issue:`35134`: Creation of a new ``Include/cpython/`` subdirectory." -msgstr "" - -#: ../NEWS:36190 -msgid "" -":issue:`34725`: Adds _Py_SetProgramFullPath so embedders may override " -"sys.executable" -msgstr "" - -#: ../NEWS:36193 -msgid "" -":issue:`34910`: Ensure that :c:func:`PyObject_Print` always returns ``-1`` " -"on error. Patch by Zackery Spytz." -msgstr "" - -#: ../NEWS:36196 -msgid "" -":issue:`34523`: Py_DecodeLocale() and Py_EncodeLocale() now use the UTF-8 " -"encoding on Windows if Py_LegacyWindowsFSEncodingFlag is zero." -msgstr "" - -#: ../NEWS:36199 -msgid "" -":issue:`34193`: Fix pluralization in TypeError messages in getargs.c and " -"typeobject.c: '1 argument' instead of '1 arguments' and '1 element' instead " -"of '1 elements'." -msgstr "" - -#: ../NEWS:36203 -msgid "" -":issue:`34127`: Return grammatically correct error message based on argument" -" count. Patch by Karthikeyan Singaravelan." -msgstr "" - -#: ../NEWS:36206 -msgid "" -":issue:`23927`: Fixed :exc:`SystemError` in " -":c:func:`PyArg_ParseTupleAndKeywords` when the ``w*`` format unit is used " -"for optional parameter." -msgstr "" - -#: ../NEWS:36210 -msgid ":issue:`32455`: Added :c:func:`PyCompile_OpcodeStackEffectWithJump`." -msgstr "" - -#: ../NEWS:36212 -msgid "" -":issue:`34008`: Py_Main() can again be called after Py_Initialize(), as in " -"Python 3.6." -msgstr "" - -#: ../NEWS:36215 -msgid "" -":issue:`32500`: Fixed error messages for :c:func:`PySequence_Size`, " -":c:func:`PySequence_GetItem`, :c:func:`PySequence_SetItem` and " -":c:func:`PySequence_DelItem` called with a mapping and " -":c:func:`PyMapping_Size` called with a sequence." -msgstr "" - -#: ../NEWS:36220 -msgid "" -":issue:`33818`: :c:func:`PyExceptionClass_Name` will now return ``const char" -" *`` instead of ``char *``." -msgstr "" - -#: ../NEWS:36223 ../NEWS:36965 -msgid "" -":issue:`33042`: Embedding applications may once again call " -"PySys_ResetWarnOptions, PySys_AddWarnOption, and PySys_AddXOption prior to " -"calling Py_Initialize." -msgstr "" - -#: ../NEWS:36227 ../NEWS:36969 ../NEWS:41134 -msgid "" -":issue:`32374`: Document that m_traverse for multi-phase initialized modules" -" can be called with m_state=NULL, and add a sanity check" -msgstr "" - -#: ../NEWS:36230 -msgid "" -":issue:`30863`: :c:func:`PyUnicode_AsWideChar` and " -":c:func:`PyUnicode_AsWideCharString` no longer cache the ``wchar_t*`` " -"representation of string objects." -msgstr "" - -#: ../NEWS:36236 -msgid "Python 3.7.0 final" -msgstr "Python 3.7.0 final" - -#: ../NEWS:36238 ../NEWS:40821 -msgid "*Release date: 2018-06-27*" -msgstr "*Tanggal rilis: 2018-06-27*" - -#: ../NEWS:36243 -msgid "" -":issue:`33851`: Fix :func:`ast.get_docstring` for a node that lacks a " -"docstring." -msgstr "" - -#: ../NEWS:36249 -msgid "" -":issue:`33932`: Calling Py_Initialize() twice does nothing, instead of " -"failing with a fatal error: restore the Python 3.6 behaviour." -msgstr "" - -#: ../NEWS:36254 -msgid "Python 3.7.0 release candidate 1" -msgstr "Python 3.7.0 kandidat rilis 1" - -#: ../NEWS:36256 -msgid "*Release date: 2018-06-12*" -msgstr "*Tanggal rilis: 2018-06-12*" - -#: ../NEWS:36366 -msgid "Python 3.7.0 beta 5" -msgstr "Python 3.7.0 beta 5" - -#: ../NEWS:36368 -msgid "*Release date: 2018-05-30*" -msgstr "*Tanggal rilis: 2018-05-30*" - -#: ../NEWS:36381 -msgid "" -":issue:`20104`: The new ``os.posix_spawn`` added in 3.7.0b1 was removed as " -"we are still working on what the API should look like. Expect this in 3.8 " -"instead." -msgstr "" - -#: ../NEWS:36515 ../NEWS:40958 -msgid "" -":issue:`32861`: The urllib.robotparser's ``__str__`` representation now " -"includes wildcard entries and the \"Crawl-delay\" and \"Request-rate\" " -"fields. Patch by Michael Lazar." -msgstr "" - -#: ../NEWS:36545 -msgid "" -":issue:`32604`: Remove the _xxsubinterpreters module (meant for testing) and" -" associated helpers. This module was originally added recently in 3.7b1." -msgstr "" - -#: ../NEWS:36557 ../NEWS:41051 -msgid "" -":issue:`33012`: Add ``-Wno-cast-function-type`` for gcc 8 for silencing " -"warnings about function casts like casting to PyCFunction in method " -"definition lists." -msgstr "" - -#: ../NEWS:36579 -msgid "Python 3.7.0 beta 4" -msgstr "Python 3.7.0 beta 4" - -#: ../NEWS:36581 -msgid "*Release date: 2018-05-02*" -msgstr "*Tanggal rilis: 2018-05-02*" - -#: ../NEWS:36639 -msgid "" -":issue:`33185`: Fixed regression when running pydoc with the :option:`-m` " -"switch. (The regression was introduced in 3.7.0b3 by the resolution of " -":issue:`33053`) This fix also changed pydoc to add ``os.getcwd()`` to " -":data:`sys.path` when necessary, rather than adding ``\".\"``." -msgstr "" - -#: ../NEWS:36647 -msgid "" -":issue:`33217`: Deprecate looking up non-Enum objects in Enum classes and " -"Enum members (will raise :exc:`TypeError` in 3.8+)." -msgstr "" - -#: ../NEWS:36756 -msgid "Python 3.7.0 beta 3" -msgstr "Python 3.7.0 beta 3" - -#: ../NEWS:36758 -msgid "*Release date: 2018-03-29*" -msgstr "*Tanggal rilis: 2018-03-29*" - -#: ../NEWS:36786 ../NEWS:40861 -msgid "" -":issue:`33041`: Fixed jumping when the function contains an ``async for`` " -"loop." -msgstr "" - -#: ../NEWS:36884 -msgid "" -":issue:`31639`: http.server now exposes a ThreadedHTTPServer class and uses " -"it when the module is run with ``-m`` to cope with web browsers pre-opening " -"sockets." -msgstr "" - -#: ../NEWS:36974 -msgid "Python 3.7.0 beta 2" -msgstr "Python 3.7.0 beta 2" - -#: ../NEWS:36976 -msgid "*Release date: 2018-02-27*" -msgstr "*Tanggal rilis: 2018-02-27*" - -#: ../NEWS:37041 -msgid "" -":issue:`25988`: Emit a :exc:`DeprecationWarning` when using or importing an " -"ABC directly from :mod:`collections` rather than from " -":mod:`collections.abc`." -msgstr "" - -#: ../NEWS:37050 -msgid "" -":issue:`31333`: ``_abc`` module is added. It is a speedup module with C " -"implementations for various functions and methods in ``abc``. Creating an " -"ABC subclass and calling ``isinstance`` or ``issubclass`` with an ABC " -"subclass are up to 1.5x faster. In addition, this makes Python start-up up " -"to 10% faster. Note that the new implementation hides internal registry and " -"caches, previously accessible via private attributes ``_abc_registry``, " -"``_abc_cache``, and ``_abc_negative_cache``. There are three debugging " -"helper methods that can be used instead ``_dump_registry``, " -"``_abc_registry_clear``, and ``_abc_caches_clear``." -msgstr "" - -#: ../NEWS:37224 -msgid "Python 3.7.0 beta 1" -msgstr "Python 3.7.0 beta 1" - -#: ../NEWS:37226 -msgid "*Release date: 2018-01-30*" -msgstr "*Tanggal rilis: 2018-01-30*" - -#: ../NEWS:37231 -msgid "" -":issue:`32703`: Fix coroutine's ResourceWarning when there's an active error" -" set when it's being finalized." -msgstr "" - -#: ../NEWS:37234 ../NEWS:41179 -msgid "" -":issue:`32650`: Pdb and other debuggers dependent on bdb.py will correctly " -"step over (next command) native coroutines. Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:37237 -msgid "" -":issue:`28685`: Optimize list.sort() and sorted() by using type specialized " -"comparisons when possible." -msgstr "" - -#: ../NEWS:37240 ../NEWS:41182 -msgid "" -":issue:`32685`: Improve suggestion when the Python 2 form of print statement" -" is either present on the same line as the header of a compound statement or" -" else terminated by a semi-colon instead of a newline. Patch by Nitish " -"Chandra." -msgstr "" - -#: ../NEWS:37245 -msgid "" -":issue:`32697`: Python now explicitly preserves the definition order of " -"keyword-only parameters. It's always preserved their order, but this " -"behavior was never guaranteed before; this behavior is now guaranteed and " -"tested." -msgstr "" - -#: ../NEWS:37250 -msgid "" -":issue:`32690`: The locals() dictionary now displays in the lexical order " -"that variables were defined. Previously, the order was reversed." -msgstr "" - -#: ../NEWS:37253 -msgid "" -":issue:`32677`: Add ``.isascii()`` method to ``str``, ``bytes`` and " -"``bytearray``. It can be used to test that string contains only ASCII " -"characters." -msgstr "" - -#: ../NEWS:37257 -msgid "" -":issue:`32670`: Enforce :pep:`479` for all code. This means that manually " -"raising a StopIteration exception from a generator is prohibited for all " -"code, regardless of whether 'from __future__ import generator_stop' was used" -" or not." -msgstr "" - -#: ../NEWS:37262 -msgid "" -":issue:`32591`: Added built-in support for tracking the origin of coroutine " -"objects; see sys.set_coroutine_origin_tracking_depth and " -"CoroutineType.cr_origin. This replaces the asyncio debug mode's use of " -"coroutine wrapping for native coroutine objects." -msgstr "" - -#: ../NEWS:37267 -msgid "" -":issue:`31368`: Expose preadv and pwritev system calls in the os module. " -"Patch by Pablo Galindo" -msgstr "" - -#: ../NEWS:37270 -msgid "" -":issue:`32544`: ``hasattr(obj, name)`` and ``getattr(obj, name, default)`` " -"are about 4 times faster than before when ``name`` is not found and ``obj`` " -"doesn't override ``__getattr__`` or ``__getattribute__``." -msgstr "" - -#: ../NEWS:37274 ../NEWS:41190 -msgid "" -":issue:`26163`: Improved frozenset() hash to create more distinct hash " -"values when faced with datasets containing many similar values." -msgstr "" - -#: ../NEWS:37277 -msgid ":issue:`32550`: Remove the STORE_ANNOTATION bytecode." -msgstr "" - -#: ../NEWS:37279 -msgid "" -":issue:`20104`: Expose posix_spawn as a low level API in the os module. " -"(removed before 3.7.0rc1)" -msgstr "" - -#: ../NEWS:37282 -msgid ":issue:`24340`: Fixed estimation of the code stack size." -msgstr "" - -#: ../NEWS:37284 -msgid ":issue:`32436`: Implement :pep:`567` Context Variables." -msgstr "" - -#: ../NEWS:37286 ../NEWS:41203 -msgid "" -":issue:`18533`: ``repr()`` on a dict containing its own ``values()`` or " -"``items()`` no longer raises ``RecursionError``; OrderedDict similarly. " -"Instead, use ``...``, as for other recursive structures. Patch by Ben " -"North." -msgstr "" - -#: ../NEWS:37291 -msgid "" -":issue:`20891`: Py_Initialize() now creates the GIL. The GIL is no longer " -"created \"on demand\" to fix a race condition when PyGILState_Ensure() is " -"called in a non-Python thread." -msgstr "" - -#: ../NEWS:37295 ../NEWS:41208 -msgid "" -":issue:`32028`: Leading whitespace is now correctly ignored when generating " -"suggestions for converting Py2 print statements to Py3 builtin print " -"function calls. Patch by Sanyam Khurana." -msgstr "" - -#: ../NEWS:37299 -msgid ":issue:`31179`: Make dict.copy() up to 5.5 times faster." -msgstr "" - -#: ../NEWS:37301 -msgid "" -":issue:`31113`: Get rid of recursion in the compiler for normal control " -"flow." -msgstr "" - -#: ../NEWS:37306 -msgid "" -":issue:`25988`: Deprecate exposing the contents of collections.abc in the " -"regular collections module." -msgstr "" - -#: ../NEWS:37309 -msgid "" -":issue:`31429`: The default cipher suite selection of the ssl module now " -"uses a blacklist approach rather than a hard-coded whitelist. Python no " -"longer re-enables ciphers that have been blocked by OpenSSL security update." -" Default cipher suite selection can be configured on compile time." -msgstr "" - -#: ../NEWS:37314 -msgid "" -":issue:`30306`: contextlib.contextmanager now releases the arguments passed " -"to the underlying generator as soon as the context manager is entered. " -"Previously it would keep them alive for as long as the context manager was " -"alive, even when not being used as a function decorator. Patch by Martin " -"Teichmann." -msgstr "" - -#: ../NEWS:37320 -msgid "" -":issue:`21417`: Added support for setting the compression level for " -"zipfile.ZipFile." -msgstr "" - -#: ../NEWS:37323 -msgid ":issue:`32251`: Implement asyncio.BufferedProtocol (provisional API)." -msgstr "" - -#: ../NEWS:37325 -msgid "" -":issue:`32513`: In dataclasses, allow easier overriding of dunder methods " -"without specifying decorator parameters." -msgstr "" - -#: ../NEWS:37328 -msgid "" -":issue:`32660`: :mod:`termios` makes available ``FIONREAD``, ``FIONCLEX``, " -"``FIOCLEX``, ``FIOASYNC`` and ``FIONBIO`` also under Solaris/derivatives." -msgstr "" - -#: ../NEWS:37331 ../NEWS:41283 -msgid "" -":issue:`27931`: Fix email address header parsing error when the username is " -"an empty quoted string. Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:37334 -msgid "" -":issue:`32659`: Under Solaris and derivatives, :class:`os.stat_result` " -"provides a st_fstype attribute." -msgstr "" - -#: ../NEWS:37337 -msgid "" -":issue:`32662`: Implement Server.start_serving(), Server.serve_forever(), " -"and Server.is_serving() methods. Add 'start_serving' keyword parameter to " -"loop.create_server() and loop.create_unix_server()." -msgstr "" - -#: ../NEWS:37341 -msgid "" -":issue:`32391`: Implement :meth:`asyncio.StreamWriter.wait_closed` and " -":meth:`asyncio.StreamWriter.is_closing` methods" -msgstr "" - -#: ../NEWS:37344 -msgid "" -":issue:`32643`: Make Task._step, Task._wakeup and Future._schedule_callbacks" -" methods private." -msgstr "" - -#: ../NEWS:37347 -msgid "" -":issue:`32630`: Refactor decimal module to use contextvars to store decimal " -"context." -msgstr "" - -#: ../NEWS:37350 -msgid ":issue:`32622`: Add :meth:`asyncio.AbstractEventLoop.sendfile` method." -msgstr "" - -#: ../NEWS:37352 ../NEWS:41286 -msgid "" -":issue:`32304`: distutils' upload command no longer corrupts tar files " -"ending with a CR byte, and no longer tries to convert CR to CRLF in any of " -"the upload text fields." -msgstr "" - -#: ../NEWS:37356 ../NEWS:41290 -msgid "" -":issue:`32502`: uuid.uuid1 no longer raises an exception if a 64-bit " -"hardware address is encountered." -msgstr "" - -#: ../NEWS:37359 -msgid "" -":issue:`32596`: ``concurrent.futures`` imports ``ThreadPoolExecutor`` and " -"``ProcessPoolExecutor`` lazily (using :pep:`562`). It makes ``import " -"asyncio`` about 15% faster because asyncio uses only ``ThreadPoolExecutor`` " -"by default." -msgstr "" - -#: ../NEWS:37364 -msgid "" -":issue:`31801`: Add ``_ignore_`` to ``Enum`` so temporary variables can be " -"used during class construction without being turned into members." -msgstr "" - -#: ../NEWS:37367 -msgid "" -":issue:`32576`: Use queue.SimpleQueue() in places where it can be invoked " -"from a weakref callback." -msgstr "" - -#: ../NEWS:37370 -msgid "" -":issue:`32574`: Fix memory leak in asyncio.Queue, when the queue has limited" -" size and it is full, the cancellation of queue.put() can cause a memory " -"leak. Patch by: José Melero." -msgstr "" - -#: ../NEWS:37374 ../NEWS:41300 -msgid "" -":issue:`32521`: The nis module is now compatible with new libnsl and headers" -" location." -msgstr "" - -#: ../NEWS:37377 -msgid "" -":issue:`32467`: collections.abc.ValuesView now inherits from " -"collections.abc.Collection." -msgstr "" - -#: ../NEWS:37380 ../NEWS:41303 -msgid ":issue:`32473`: Improve ABCMeta._dump_registry() output readability" -msgstr "" - -#: ../NEWS:37382 -msgid ":issue:`32102`: New argument ``capture_output`` for subprocess.run" -msgstr "" - -#: ../NEWS:37384 ../NEWS:41305 -msgid "" -":issue:`32521`: glibc has removed Sun RPC. Use replacement libtirpc headers " -"and library in nis module." -msgstr "" - -#: ../NEWS:37387 -msgid ":issue:`32493`: UUID module fixes build for FreeBSD/OpenBSD" -msgstr "" - -#: ../NEWS:37389 -msgid "" -":issue:`32503`: Pickling with protocol 4 no longer creates too small frames." -msgstr "" - -#: ../NEWS:37391 -msgid ":issue:`29237`: Create enum for pstats sorting options" -msgstr "" - -#: ../NEWS:37393 -msgid ":issue:`32454`: Add close(fd) function to the socket module." -msgstr "" - -#: ../NEWS:37395 -msgid "" -":issue:`25942`: The subprocess module is now more graceful when handling a " -"Ctrl-C KeyboardInterrupt during subprocess.call, subprocess.run, or a Popen " -"context manager. It now waits a short amount of time for the child " -"(presumed to have also gotten the SIGINT) to exit, before continuing the " -"KeyboardInterrupt exception handling. This still includes a SIGKILL in the " -"call() and run() APIs, but at least the child had a chance first." -msgstr "" - -#: ../NEWS:37402 -msgid "" -":issue:`32433`: The hmac module now has hmac.digest(), which provides an " -"optimized HMAC digest." -msgstr "" - -#: ../NEWS:37405 -msgid "" -":issue:`28134`: Sockets now auto-detect family, type and protocol from file " -"descriptor by default." -msgstr "" - -#: ../NEWS:37408 -msgid "" -":issue:`32404`: Fix bug where :meth:`datetime.datetime.fromtimestamp` did " -"not call __new__ in :class:`datetime.datetime` subclasses." -msgstr "" - -#: ../NEWS:37411 -msgid "" -":issue:`32403`: Improved speed of :class:`datetime.date` and " -":class:`datetime.datetime` alternate constructors." -msgstr "" - -#: ../NEWS:37414 ../NEWS:41308 -msgid "" -":issue:`32228`: Ensure that ``truncate()`` preserves the file position (as " -"reported by ``tell()``) after writes longer than the buffer size." -msgstr "" - -#: ../NEWS:37417 -msgid "" -":issue:`32410`: Implement ``loop.sock_sendfile`` for asyncio event loop." -msgstr "" - -#: ../NEWS:37419 -msgid "" -":issue:`22908`: Added seek and tell to the ZipExtFile class. This only works" -" if the file object used to open the zipfile is seekable." -msgstr "" - -#: ../NEWS:37422 -msgid ":issue:`32373`: Add socket.getblocking() method." -msgstr "" - -#: ../NEWS:37424 -msgid "" -":issue:`32248`: Add :mod:`importlib.resources` and " -":class:`importlib.abc.ResourceReader` as the unified API for reading " -"resources contained within packages. Loaders wishing to support resource " -"reading must implement the :meth:`get_resource_reader` method. File-based " -"and zipimport-based loaders both implement these APIs. " -":class:`importlib.abc.ResourceLoader` is deprecated in favor of these new " -"APIs." -msgstr "" - -#: ../NEWS:37432 -msgid ":issue:`32320`: collections.namedtuple() now supports default values." -msgstr "" - -#: ../NEWS:37434 -msgid "" -":issue:`29302`: Add contextlib.AsyncExitStack. Patch by Alexander Mohr and " -"Ilya Kulakov." -msgstr "" - -#: ../NEWS:37437 -msgid "" -":issue:`31961`: *Removed in Python 3.7.0b2.* The *args* argument of " -"subprocess.Popen can now be a :term:`path-like object`. If *args* is given " -"as a sequence, it's first element can now be a :term:`path-like object` as " -"well." -msgstr "" - -#: ../NEWS:37442 ../NEWS:41336 -msgid "" -":issue:`31900`: The :func:`locale.localeconv` function now sets temporarily " -"the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` locale to decode " -"``decimal_point`` and ``thousands_sep`` byte strings if they are non-ASCII " -"or longer than 1 byte, and the ``LC_NUMERIC`` locale is different than the " -"``LC_CTYPE`` locale. This temporary change affects other threads. Same " -"change for the :meth:`str.format` method when formatting a number " -"(:class:`int`, :class:`float`, :class:`float` and subclasses) with the ``n``" -" type (ex: ``'{:n}'.format(1234)``)." -msgstr "" - -#: ../NEWS:37451 -msgid "" -":issue:`31853`: Use super().method instead of socket.method in SSLSocket. " -"They were there most likely for legacy reasons." -msgstr "" - -#: ../NEWS:37454 -msgid "" -":issue:`31399`: The ssl module now uses OpenSSL's " -"X509_VERIFY_PARAM_set1_host() and X509_VERIFY_PARAM_set1_ip() API to verify " -"hostname and IP addresses. Subject common name fallback can be disabled with" -" SSLContext.hostname_checks_common_name." -msgstr "" - -#: ../NEWS:37459 -msgid "" -":issue:`14976`: Add a queue.SimpleQueue class, an unbounded FIFO queue with " -"a reentrant C implementation of put()." -msgstr "" - -#: ../NEWS:37465 -msgid "" -":issue:`32724`: Add references to some commands in the documentation of Pdb." -" Patch by Stéphane Wirtel" -msgstr "" - -#: ../NEWS:37468 -msgid "" -":issue:`32649`: Complete the C API documentation, profiling and tracing part" -" with the newly added per-opcode events." -msgstr "" - -#: ../NEWS:37471 ../NEWS:41364 -msgid "" -":issue:`17799`: Explain real behaviour of sys.settrace and sys.setprofile " -"and their C-API counterparts regarding which type of events are received in " -"each function. Patch by Pablo Galindo Salgado." -msgstr "" - -#: ../NEWS:37478 ../NEWS:41374 -msgid "" -":issue:`32721`: Fix test_hashlib to not fail if the _md5 module is not " -"built." -msgstr "" - -#: ../NEWS:37480 -msgid "" -":issue:`28414`: Add test cases for IDNA 2003 and 2008 host names. IDNA 2003 " -"internationalized host names are working since :issue:`31399` has landed. " -"IDNA 2008 are still broken." -msgstr "" - -#: ../NEWS:37484 -msgid "" -":issue:`32604`: Add a new \"_xxsubinterpreters\" extension module that " -"exposes the existing subinterpreter C-API and a new cross-interpreter data " -"sharing mechanism. The module is primarily intended for more thorough " -"testing of the existing subinterpreter support. Note that the " -"_xxsubinterpreters module has been removed in 3.7.0rc1." -msgstr "" - -#: ../NEWS:37490 -msgid "" -":issue:`32602`: Add test certs and test for ECDSA cert and EC/RSA dual mode." -msgstr "" - -#: ../NEWS:37492 -msgid "" -":issue:`32549`: On Travis CI, Python now Compiles and uses a local copy of " -"OpenSSL 1.1.0g for testing." -msgstr "" - -#: ../NEWS:37498 ../NEWS:41386 -msgid "" -":issue:`32635`: Fix segfault of the crypt module when libxcrypt is provided " -"instead of libcrypt at the system." -msgstr "" - -#: ../NEWS:37501 -msgid "" -":issue:`32598`: Use autoconf to detect OpenSSL libs, headers and supported " -"features. The ax_check_openssl M4 macro uses pkg-config to locate OpenSSL " -"and falls back to manual search." -msgstr "" - -#: ../NEWS:37505 -msgid ":issue:`32593`: Drop support of FreeBSD 9 and older." -msgstr "" - -#: ../NEWS:37507 -msgid "" -":issue:`29708`: If the :envvar:`SOURCE_DATE_EPOCH` environment variable is " -"set, :mod:`py_compile` will always create hash-based ``.pyc`` files." -msgstr "" - -#: ../NEWS:37513 -msgid "" -":issue:`32588`: Create standalone _distutils_findvs module and add missing " -"_queue module to installer." -msgstr "" - -#: ../NEWS:37516 -msgid "" -":issue:`29911`: Ensure separate Modify and Uninstall buttons are displayed." -msgstr "" - -#: ../NEWS:37518 -msgid "" -":issue:`32507`: Use app-local UCRT install rather than the proper update for" -" old versions of Windows." -msgstr "" - -#: ../NEWS:37524 -msgid "" -":issue:`32726`: Provide an additional, more modern macOS installer variant " -"that supports macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied" -" third-party libraries to OpenSSL 1.1.0g and to SQLite 3.22.0. The 10.9+ " -"installer now links with and supplies its own copy of Tcl/Tk 8.6." -msgstr "" - -#: ../NEWS:37529 -msgid "" -":issue:`28440`: No longer add /Library/Python/3.x/site-packages to sys.path " -"for macOS framework builds to avoid future conflicts." -msgstr "" - -#: ../NEWS:37535 -msgid "" -":issue:`32681`: Fix uninitialized variable 'res' in the C implementation of " -"os.dup2. Patch by Stéphane Wirtel" -msgstr "" - -#: ../NEWS:37538 -msgid "" -":issue:`10381`: Add C API access to the ``datetime.timezone`` constructor " -"and ``datetime.timezone.UTC`` singleton." -msgstr "" - -#: ../NEWS:37543 -msgid "Python 3.7.0 alpha 4" -msgstr "Python 3.7.0 alfa 4" - -#: ../NEWS:37545 -msgid "*Release date: 2018-01-08*" -msgstr "*Tanggal rilis: 2018-01-08*" - -#: ../NEWS:37550 -msgid "" -":issue:`31975`: The default warning filter list now starts with a " -"\"default::DeprecationWarning:__main__\" entry, so deprecation warnings are " -"once again shown by default in single-file scripts and at the interactive " -"prompt." -msgstr "" - -#: ../NEWS:37555 -msgid "" -":issue:`32226`: ``__class_getitem__`` is now an automatic class method." -msgstr "" - -#: ../NEWS:37557 -msgid "" -":issue:`32399`: Add AIX uuid library support for RFC4122 using uuid_create()" -" in libc.a" -msgstr "" - -#: ../NEWS:37560 -msgid "" -":issue:`32390`: Fix the compilation failure on AIX after the f_fsid field " -"has been added to the object returned by os.statvfs() (:issue:`32143`). " -"Original patch by Michael Felt." -msgstr "" - -#: ../NEWS:37564 -msgid "" -":issue:`32379`: Make MRO computation faster when a class inherits from a " -"single base." -msgstr "" - -#: ../NEWS:37567 -msgid "" -":issue:`32259`: The error message of a TypeError raised when unpack non-" -"iterable is now more specific." -msgstr "" - -#: ../NEWS:37570 ../NEWS:41193 -msgid "" -":issue:`27169`: The ``__debug__`` constant is now optimized out at compile " -"time. This fixes also :issue:`22091`." -msgstr "" - -#: ../NEWS:37573 -msgid "" -":issue:`32329`: The :option:`-R` option now turns on hash randomization when" -" the :envvar:`PYTHONHASHSEED` environment variable is set to ``0``. " -"Previously, the option was ignored. Moreover, " -"``sys.flags.hash_randomization`` is now properly set to 0 when hash " -"randomization is turned off by ``PYTHONHASHSEED=0``." -msgstr "" - -#: ../NEWS:37579 -msgid "" -":issue:`30416`: The optimizer is now protected from spending much time doing" -" complex calculations and consuming much memory for creating large constants" -" in constant folding. Increased limits for constants that can be produced in" -" constant folding." -msgstr "" - -#: ../NEWS:37584 ../NEWS:40863 -msgid "" -":issue:`32282`: Fix an unnecessary ifdef in the include of VersionHelpers.h " -"in socketmodule on Windows." -msgstr "" - -#: ../NEWS:37587 -msgid "" -":issue:`30579`: Implement TracebackType.__new__ to allow Python-level " -"creation of traceback objects, and make TracebackType.tb_next mutable." -msgstr "" - -#: ../NEWS:37590 -msgid "" -":issue:`32260`: Don't byte swap the input keys to the SipHash algorithm on " -"big-endian platforms. This should ensure siphash gives consistent results " -"across platforms." -msgstr "" - -#: ../NEWS:37594 -msgid "" -":issue:`31506`: Improve the error message logic for object.__new__ and " -"object.__init__. Patch by Sanyam Khurana." -msgstr "" - -#: ../NEWS:37597 -msgid "" -":issue:`20361`: ``-b`` and ``-bb`` now inject ``'default::BytesWarning'`` " -"and ``error::BytesWarning`` entries into ``sys.warnoptions``, ensuring that " -"they take precedence over any other warning filters configured via the " -"``-W`` option or the ``PYTHONWARNINGS`` environment variable." -msgstr "" - -#: ../NEWS:37602 -msgid "" -":issue:`32230`: ``-X dev`` now injects a ``'default'`` entry into " -"sys.warnoptions, ensuring that it behaves identically to actually passing " -"``-Wdefault`` at the command line." -msgstr "" - -#: ../NEWS:37606 -msgid "" -":issue:`29240`: Add a new UTF-8 mode: implementation of the :pep:`540`." -msgstr "" - -#: ../NEWS:37608 -msgid "" -":issue:`32226`: :pep:`560`: Add support for ``__mro_entries__`` and " -"``__class_getitem__``. Implemented by Ivan Levkivskyi." -msgstr "" - -#: ../NEWS:37611 -msgid "" -":issue:`32225`: :pep:`562`: Add support for module ``__getattr__`` and " -"``__dir__``. Implemented by Ivan Levkivskyi." -msgstr "" - -#: ../NEWS:37614 -msgid "" -":issue:`31901`: The ``atexit`` module now has its callback stored per " -"interpreter." -msgstr "" - -#: ../NEWS:37617 -msgid "" -":issue:`31650`: Implement :pep:`552` (Deterministic pycs). Python now " -"supports invalidating bytecode cache files bashed on a source content hash " -"rather than source last-modified time." -msgstr "" - -#: ../NEWS:37621 -msgid "" -":issue:`29469`: Move constant folding from bytecode layer to AST layer. " -"Original patch by Eugene Toder." -msgstr "" - -#: ../NEWS:37627 -msgid "" -":issue:`32506`: Now that dict is defined as keeping insertion order, drop " -"OrderedDict and just use plain dict." -msgstr "" - -#: ../NEWS:37630 -msgid "" -":issue:`32279`: Add params to dataclasses.make_dataclasses(): init, repr, " -"eq, order, hash, and frozen. Pass them through to dataclass()." -msgstr "" - -#: ../NEWS:37633 -msgid "" -":issue:`32278`: Make type information optional on " -"dataclasses.make_dataclass(). If omitted, the string 'typing.Any' is used." -msgstr "" - -#: ../NEWS:37636 -msgid "" -":issue:`32499`: Add dataclasses.is_dataclass(obj), which returns True if obj" -" is a dataclass or an instance of one." -msgstr "" - -#: ../NEWS:37639 -msgid "" -":issue:`32468`: Improve frame repr() to mention filename, code name and " -"current line number." -msgstr "" - -#: ../NEWS:37642 -msgid ":issue:`23749`: asyncio: Implement loop.start_tls()" -msgstr "" - -#: ../NEWS:37644 -msgid "" -":issue:`32441`: Return the new file descriptor (i.e., the second argument) " -"from ``os.dup2``. Previously, ``None`` was always returned." -msgstr "" - -#: ../NEWS:37647 -msgid "" -":issue:`32422`: ``functools.lru_cache`` uses less memory (3 words for each " -"cached key) and takes about 1/3 time for cyclic GC." -msgstr "" - -#: ../NEWS:37650 -msgid "" -":issue:`31721`: Prevent Python crash from happening when " -"Future._log_traceback is set to True manually. Now it can only be set to " -"False, or a ValueError is raised." -msgstr "" - -#: ../NEWS:37654 -msgid ":issue:`32415`: asyncio: Add Task.get_loop() and Future.get_loop()" -msgstr "" - -#: ../NEWS:37656 ../NEWS:41311 -msgid "" -":issue:`26133`: Don't unsubscribe signals in asyncio UNIX event loop on " -"interpreter shutdown." -msgstr "" - -#: ../NEWS:37659 -msgid "" -":issue:`32363`: Make asyncio.Task.set_exception() and set_result() raise " -"NotImplementedError. Task._step() and Future.__await__() raise proper " -"exceptions when they are in an invalid state, instead of raising an " -"AssertionError." -msgstr "" - -#: ../NEWS:37664 -msgid "" -":issue:`32357`: Optimize asyncio.iscoroutine() and loop.create_task() for " -"non-native coroutines (e.g. async/await compiled with Cython). " -"'loop.create_task(python_coroutine)' used to be 20% faster than " -"'loop.create_task(cython_coroutine)'. Now, the latter is as fast." -msgstr "" - -#: ../NEWS:37669 -msgid "" -":issue:`32356`: asyncio.transport.resume_reading() and pause_reading() are " -"now idempotent. New transport.is_reading() method is added." -msgstr "" - -#: ../NEWS:37672 -msgid ":issue:`32355`: Optimize asyncio.gather(); now up to 15% faster." -msgstr "" - -#: ../NEWS:37674 -msgid ":issue:`32351`: Use fastpath in asyncio.sleep if delay<0 (2x boost)" -msgstr "" - -#: ../NEWS:37676 -msgid "" -":issue:`32348`: Optimize asyncio.Future schedule/add/remove callback. The " -"optimization shows 3-6% performance improvements of async/await code." -msgstr "" - -#: ../NEWS:37679 -msgid "" -":issue:`32331`: Fix socket.settimeout() and socket.setblocking() to keep " -"socket.type as is. Fix socket.socket() constructor to reset any bit flags " -"applied to socket's type. This change only affects OSes that have " -"SOCK_NONBLOCK and/or SOCK_CLOEXEC." -msgstr "" - -#: ../NEWS:37684 -msgid "" -":issue:`32248`: Add :class:`importlib.abc.ResourceReader` as an ABC for " -"loaders to provide a unified API for reading resources contained within " -"packages. Also add :mod:`importlib.resources` as the port of " -"``importlib_resources``." -msgstr "" - -#: ../NEWS:37689 -msgid ":issue:`32311`: Implement asyncio.create_task(coro) shortcut" -msgstr "" - -#: ../NEWS:37691 -msgid "" -":issue:`32327`: Convert asyncio functions that were documented as coroutines" -" to coroutines. Affected functions: loop.sock_sendall, loop.sock_recv, " -"loop.sock_accept, loop.getaddrinfo, loop.getnameinfo." -msgstr "" - -#: ../NEWS:37695 ../NEWS:41317 -msgid "" -":issue:`32323`: :func:`urllib.parse.urlsplit` does not convert zone-id " -"(scope) to lower case for scoped IPv6 addresses in hostnames now." -msgstr "" - -#: ../NEWS:37698 ../NEWS:41320 -msgid "" -":issue:`32302`: Fix bdist_wininst of distutils for CRT v142: it binary " -"compatible with CRT v140." -msgstr "" - -#: ../NEWS:37701 -msgid "" -":issue:`29711`: Fix ``stop_serving`` in asyncio proactor loop kill all " -"listening servers" -msgstr "" - -#: ../NEWS:37704 -msgid "" -":issue:`32308`: :func:`re.sub` now replaces empty matches adjacent to a " -"previous non-empty match." -msgstr "" - -#: ../NEWS:37707 -msgid "" -":issue:`29970`: Abort asyncio SSLProtocol connection if handshake not " -"complete within 10 seconds." -msgstr "" - -#: ../NEWS:37710 -msgid ":issue:`32314`: Implement asyncio.run()." -msgstr "" - -#: ../NEWS:37712 -msgid "" -":issue:`17852`: Revert incorrect fix based on misunderstanding of " -"_Py_PyAtExit() semantics." -msgstr "" - -#: ../NEWS:37715 -msgid "" -":issue:`32296`: Implement asyncio._get_running_loop() and get_event_loop() " -"in C. This makes them 4x faster." -msgstr "" - -#: ../NEWS:37718 -msgid "" -":issue:`32250`: Implement ``asyncio.current_task()`` and " -"``asyncio.all_tasks()``. Add helpers intended to be used by alternative task" -" implementations: ``asyncio._register_task``, ``asyncio._enter_task``, " -"``asyncio._leave_task`` and ``asyncio._unregister_task``. Deprecate " -"``asyncio.Task.current_task()`` and ``asyncio.Task.all_tasks()``." -msgstr "" - -#: ../NEWS:37724 ../NEWS:41323 -msgid "" -":issue:`32255`: A single empty field is now always quoted when written into " -"a CSV file. This allows to distinguish an empty row from a row consisting of" -" a single empty field. Patch by Licht Takeuchi." -msgstr "" - -#: ../NEWS:37728 ../NEWS:41327 -msgid "" -":issue:`32277`: Raise ``NotImplementedError`` instead of ``SystemError`` on " -"platforms where ``chmod(..., follow_symlinks=False)`` is not supported. " -"Patch by Anthony Sottile." -msgstr "" - -#: ../NEWS:37732 -msgid "" -":issue:`30050`: New argument warn_on_full_buffer to signal.set_wakeup_fd " -"lets you control whether Python prints a warning on stderr when the wakeup " -"fd buffer overflows." -msgstr "" - -#: ../NEWS:37736 -msgid "" -":issue:`29137`: The ``fpectl`` library has been removed. It was never " -"enabled by default, never worked correctly on x86-64, and it changed the " -"Python ABI in ways that caused unexpected breakage of C extensions." -msgstr "" - -#: ../NEWS:37740 -msgid ":issue:`32273`: Move asyncio.test_utils to test.test_asyncio." -msgstr "" - -#: ../NEWS:37742 -msgid ":issue:`32272`: Remove asyncio.async() function." -msgstr "" - -#: ../NEWS:37744 -msgid ":issue:`32269`: Add asyncio.get_running_loop() function." -msgstr "" - -#: ../NEWS:37746 -msgid "" -":issue:`32265`: All class and static methods of builtin types now are " -"correctly classified by inspect.classify_class_attrs() and grouped in pydoc " -"output. Added types.ClassMethodDescriptorType for unbound class methods of " -"builtin types." -msgstr "" - -#: ../NEWS:37751 -msgid "" -":issue:`32253`: Deprecate ``yield from lock``, ``await lock``, ``with (yield" -" from lock)`` and ``with await lock`` for asyncio synchronization " -"primitives." -msgstr "" - -#: ../NEWS:37755 -msgid "" -":issue:`22589`: Changed MIME type of .bmp from 'image/x-ms-bmp' to " -"'image/bmp'" -msgstr "" - -#: ../NEWS:37757 -msgid "" -":issue:`32193`: Convert asyncio to use *async/await* syntax. Old styled " -"``yield from`` is still supported too." -msgstr "" - -#: ../NEWS:37760 -msgid ":issue:`32206`: Add support to run modules with pdb" -msgstr "" - -#: ../NEWS:37762 -msgid "" -":issue:`32227`: ``functools.singledispatch`` now supports registering " -"implementations using type annotations." -msgstr "" - -#: ../NEWS:37765 -msgid "" -":issue:`15873`: Added new alternate constructors " -":meth:`datetime.datetime.fromisoformat`, :meth:`datetime.time.fromisoformat`" -" and :meth:`datetime.date.fromisoformat` as the inverse operation of each " -"classes's respective ``isoformat`` methods." -msgstr "" - -#: ../NEWS:37771 ../NEWS:41331 -msgid "" -":issue:`32199`: The getnode() ip getter now uses 'ip link' instead of 'ip " -"link list'." -msgstr "" - -#: ../NEWS:37774 -msgid ":issue:`32143`: os.statvfs() includes the f_fsid field from statvfs(2)" -msgstr "" - -#: ../NEWS:37776 -msgid "" -":issue:`26439`: Fix ctypes.util.find_library() for AIX by implementing " -"ctypes._aix.find_library() Patch by: Michael Felt" -msgstr "" - -#: ../NEWS:37779 -msgid "" -":issue:`31993`: The pickler now uses less memory when serializing large " -"bytes and str objects into a file. Pickles created with protocol 4 will " -"require less memory for unpickling large bytes and str objects." -msgstr "" - -#: ../NEWS:37783 ../NEWS:41334 -msgid "" -":issue:`27456`: Ensure TCP_NODELAY is set on Linux. Tests by Victor Stinner." -msgstr "" - -#: ../NEWS:37785 -msgid "" -":issue:`31778`: ast.literal_eval() is now more strict. Addition and " -"subtraction of arbitrary numbers no longer allowed." -msgstr "" - -#: ../NEWS:37788 ../NEWS:41345 -msgid "" -":issue:`31802`: Importing native path module (``posixpath``, ``ntpath``) now" -" works even if the ``os`` module still is not imported." -msgstr "" - -#: ../NEWS:37791 -msgid "" -":issue:`30241`: Add contextlib.AbstractAsyncContextManager. Patch by Jelle " -"Zijlstra." -msgstr "" - -#: ../NEWS:37794 -msgid "" -":issue:`31699`: Fix deadlocks in " -":class:`concurrent.futures.ProcessPoolExecutor` when task arguments or " -"results cause pickling or unpickling errors. This should make sure that " -"calls to the :class:`ProcessPoolExecutor` API always eventually return." -msgstr "" - -#: ../NEWS:37799 -msgid "" -":issue:`15216`: ``TextIOWrapper.reconfigure()`` supports changing " -"*encoding*, *errors*, and *newline*." -msgstr "" - -#: ../NEWS:37805 -msgid "" -":issue:`32418`: Add get_loop() method to Server and AbstractServer classes." -msgstr "" - -#: ../NEWS:37810 ../NEWS:41376 -msgid "" -":issue:`32252`: Fix faulthandler_suppress_crash_report() used to prevent " -"core dump files when testing crashes. getrlimit() returns zero on success." -msgstr "" - -#: ../NEWS:37813 -msgid "" -":issue:`32002`: Adjust C locale coercion testing for the empty locale and " -"POSIX locale cases to more readily adjust to platform dependent behaviour." -msgstr "" - -#: ../NEWS:37819 -msgid "" -":issue:`19764`: Implement support for ``subprocess.Popen(close_fds=True)`` " -"on Windows. Patch by Segev Finer." -msgstr "" - -#: ../NEWS:37825 ../NEWS:41457 -msgid "" -":issue:`24960`: 2to3 and lib2to3 can now read pickled grammar files using " -"pkgutil.get_data() rather than probing the filesystem. This lets 2to3 and " -"lib2to3 work when run from a zipfile." -msgstr "" - -#: ../NEWS:37832 -msgid "" -":issue:`32030`: Py_Initialize() doesn't reset the memory allocators to " -"default if the ``PYTHONMALLOC`` environment variable is not set." -msgstr "" - -#: ../NEWS:37835 ../NEWS:41467 -msgid "" -":issue:`29084`: Undocumented C API for OrderedDict has been excluded from " -"the limited C API. It was added by mistake and actually never worked in the " -"limited C API." -msgstr "" - -#: ../NEWS:37839 -msgid "" -":issue:`32264`: Moved the pygetopt.h header into internal/, since it has no " -"public APIs." -msgstr "" - -#: ../NEWS:37842 -msgid "" -":issue:`32241`: :c:func:`!Py_SetProgramName` and :c:func:`!Py_SetPythonHome`" -" now take the ``const wchar *`` arguments instead of ``wchar *``." -msgstr "" - -#: ../NEWS:37847 -msgid "Python 3.7.0 alpha 3" -msgstr "Python 3.7.0 alfa 3" - -#: ../NEWS:37849 ../NEWS:41484 -msgid "*Release date: 2017-12-05*" -msgstr "*Tanggal rilis: 2017-12-05*" - -#: ../NEWS:37854 ../NEWS:41489 -msgid "" -":issue:`32176`: co_flags.CO_NOFREE is now always set correctly by the code " -"object constructor based on freevars and cellvars, rather than needing to be" -" set correctly by the caller. This ensures it will be cleared automatically " -"when additional cell references are injected into a modified code object and" -" function." -msgstr "" - -#: ../NEWS:37860 -msgid "" -":issue:`10544`: Yield expressions are now deprecated in comprehensions and " -"generator expressions. They are still permitted in the definition of the " -"outermost iterable, as that is evaluated directly in the enclosing scope." -msgstr "" - -#: ../NEWS:37864 ../NEWS:41212 -msgid "" -":issue:`32137`: The repr of deeply nested dict now raises a RecursionError " -"instead of crashing due to a stack overflow." -msgstr "" - -#: ../NEWS:37867 -msgid "" -":issue:`32096`: Revert memory allocator changes in the C API: move " -"structures back from _PyRuntime to Objects/obmalloc.c. The memory allocators" -" are once again initialized statically, and so PyMem_RawMalloc() and " -"Py_DecodeLocale() can be called before _PyRuntime_Initialize()." -msgstr "" - -#: ../NEWS:37872 -msgid "" -":issue:`32043`: Add a new \"developer mode\": new \"-X dev\" command line " -"option to enable debug checks at runtime." -msgstr "" - -#: ../NEWS:37875 -msgid "" -":issue:`32023`: SyntaxError is now correctly raised when a generator " -"expression without parenthesis is used instead of an inheritance list in a " -"class definition. The duplication of the parentheses can be omitted only on " -"calls." -msgstr "" - -#: ../NEWS:37880 -msgid "" -":issue:`32012`: SyntaxError is now correctly raised when a generator " -"expression without parenthesis is passed as an argument, but followed by a " -"trailing comma. A generator expression always needs to be directly inside a " -"set of parentheses and cannot have a comma on either side." -msgstr "" - -#: ../NEWS:37885 -msgid "" -":issue:`28180`: A new internal ``_Py_SetLocaleFromEnv(category)`` helper " -"function has been added in order to improve the consistency of behaviour " -"across different ``libc`` implementations (e.g. Android doesn't support " -"setting the locale from the environment by default)." -msgstr "" - -#: ../NEWS:37890 ../NEWS:41495 -msgid "" -":issue:`31949`: Fixed several issues in printing tracebacks " -"(PyTraceBack_Print()). Setting sys.tracebacklimit to 0 or less now " -"suppresses printing tracebacks. Setting sys.tracebacklimit to None now " -"causes using the default limit. Setting sys.tracebacklimit to an integer " -"larger than LONG_MAX now means using the limit LONG_MAX rather than the " -"default limit. Fixed integer overflows in the case of more than ``2**31`` " -"traceback items on Windows. Fixed output errors handling." -msgstr "" - -#: ../NEWS:37898 ../NEWS:41503 -msgid "" -":issue:`30696`: Fix the interactive interpreter looping endlessly when no " -"memory." -msgstr "" - -#: ../NEWS:37901 ../NEWS:41506 -msgid "" -":issue:`20047`: Bytearray methods partition() and rpartition() now accept " -"only bytes-like objects as separator, as documented. In particular they now" -" raise TypeError rather of returning a bogus result when an integer is " -"passed as a separator." -msgstr "" - -#: ../NEWS:37906 ../NEWS:41514 -msgid "" -":issue:`21720`: BytesWarning no longer emitted when the *fromlist* argument " -"of ``__import__()`` or the ``__all__`` attribute of the module contain bytes" -" instances." -msgstr "" - -#: ../NEWS:37910 -msgid "" -":issue:`31845`: Environment variables are once more read correctly at " -"interpreter startup." -msgstr "" - -#: ../NEWS:37913 -msgid "" -":issue:`28936`: Ensure that lexically first syntax error involving a " -"parameter and ``global`` or ``nonlocal`` is detected first at a given scope." -" Patch by Ivan Levkivskyi." -msgstr "" - -#: ../NEWS:37917 ../NEWS:41518 -msgid "" -":issue:`31825`: Fixed OverflowError in the 'unicode-escape' codec and in " -"codecs.escape_decode() when decode an escaped non-ascii byte." -msgstr "" - -#: ../NEWS:37920 -msgid "" -":issue:`31618`: The per-frame tracing logic added in 3.7a1 has been altered " -"so that ``frame->f_lineno`` is updated before either ``\"line\"`` or " -"``\"opcode\"`` events are emitted. Previously, opcode events were emitted " -"first, and therefore would occasionally see stale line numbers on the frame." -" The behavior of this feature has changed slightly as a result: when both " -"``f_trace_lines`` and ``f_trace_opcodes`` are enabled, line events now occur" -" first." -msgstr "" - -#: ../NEWS:37928 ../NEWS:41521 -msgid "" -":issue:`28603`: Print the full context/cause chain of exceptions on " -"interpreter exit, even if an exception in the chain is unhashable or " -"compares equal to later ones. Patch by Zane Bitter." -msgstr "" - -#: ../NEWS:37932 ../NEWS:41525 -msgid "" -":issue:`31786`: Fix timeout rounding in the select module to round correctly" -" negative timeouts between -1.0 and 0.0. The functions now block waiting for" -" events as expected. Previously, the call was incorrectly non-blocking. " -"Patch by Pablo Galindo." -msgstr "" - -#: ../NEWS:37937 -msgid "" -":issue:`31781`: Prevent crashes when calling methods of an uninitialized " -"``zipimport.zipimporter`` object. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:37940 -msgid "" -":issue:`30399`: Standard repr() of BaseException with a single argument no " -"longer contains redundant trailing comma." -msgstr "" - -#: ../NEWS:37943 ../NEWS:41533 -msgid "" -":issue:`31626`: Fixed a bug in debug memory allocator. There was a write to" -" freed memory after shrinking a memory block." -msgstr "" - -#: ../NEWS:37946 ../NEWS:41578 -msgid "" -":issue:`30817`: ``PyErr_PrintEx()`` clears now the ignored exception that " -"may be raised by ``_PySys_SetObjectId()``, for example when no memory." -msgstr "" - -#: ../NEWS:37952 ../NEWS:41584 -msgid "" -":issue:`28556`: Two minor fixes for ``typing`` module: allow shallow copying" -" instances of generic classes, improve interaction of ``__init_subclass__`` " -"with generics. Original PRs by Ivan Levkivskyi." -msgstr "" - -#: ../NEWS:37956 -msgid "" -":issue:`32214`: PEP 557, Data Classes. Provides a decorator which adds " -"boilerplate methods to classes which use type annotations so specify fields." -msgstr "" - -#: ../NEWS:37960 ../NEWS:41588 -msgid "" -":issue:`27240`: The header folding algorithm for the new email policies has " -"been rewritten, which also fixes :issue:`30788`, :issue:`31831`, and " -":issue:`32182`. In particular, RFC2231 folding is now done correctly." -msgstr "" - -#: ../NEWS:37964 ../NEWS:41592 -msgid "" -":issue:`32186`: io.FileIO.readall() and io.FileIO.read() now release the GIL" -" when getting the file size. Fixed hang of all threads with inaccessible NFS" -" server. Patch by Nir Soffer." -msgstr "" - -#: ../NEWS:37968 -msgid ":issue:`32101`: Add :attr:`sys.flags.dev_mode` flag" -msgstr "" - -#: ../NEWS:37970 -msgid "" -":issue:`32154`: The ``asyncio.windows_utils.socketpair()`` function has been" -" removed: use directly :func:`socket.socketpair` which is available on all " -"platforms since Python 3.5 (before, it wasn't available on Windows). " -"``asyncio.windows_utils.socketpair()`` was just an alias to " -"``socket.socketpair`` on Python 3.5 and newer." -msgstr "" - -#: ../NEWS:37976 -msgid "" -":issue:`32089`: warnings: In development (-X dev) and debug mode (pydebug " -"build), use the \"default\" action for ResourceWarning, rather than the " -"\"always\" action, in the default warnings filters." -msgstr "" - -#: ../NEWS:37980 -msgid "" -":issue:`32107`: ``uuid.getnode()`` now preferentially returns universally " -"administered MAC addresses if available, over locally administered MAC " -"addresses. This makes a better guarantee for global uniqueness of UUIDs " -"returned from ``uuid.uuid1()``. If only locally administered MAC addresses " -"are available, the first such one found is returned." -msgstr "" - -#: ../NEWS:37986 -msgid "" -":issue:`23033`: Wildcard is now supported in hostname when it is one and " -"only character in the left most segment of hostname in second argument of " -":meth:`ssl.match_hostname`. Patch by Mandeep Singh." -msgstr "" - -#: ../NEWS:37990 ../NEWS:41596 -msgid "" -":issue:`12239`: Make :meth:`!msilib.SummaryInformation.GetProperty` return " -"``None`` when the value of property is ``VT_EMPTY``. Initial patch by Mark " -"Mc Mahon." -msgstr "" - -#: ../NEWS:37994 -msgid "" -":issue:`28334`: Use :func:`os.path.expanduser` to find the ``~/.netrc`` file" -" in :class:`netrc.netrc`. If it does not exist, :exc:`FileNotFoundError` is" -" raised. Patch by Dimitri Merejkowsky." -msgstr "" - -#: ../NEWS:37998 -msgid "" -":issue:`32121`: Made ``tracemalloc.Traceback`` behave more like the " -"traceback module, sorting the frames from oldest to most recent. " -"``Traceback.format()`` now accepts negative *limit*, truncating the result " -"to the ``abs(limit)`` oldest frames. To get the old behaviour, one can use " -"the new *most_recent_first* argument to ``Traceback.format()``. (Patch by " -"Jesse Bakker.)" -msgstr "" - -#: ../NEWS:38005 ../NEWS:41600 -msgid "" -":issue:`31325`: Fix wrong usage of :func:`collections.namedtuple` in the " -":meth:`RobotFileParser.parse() ` " -"method. Initial patch by Robin Wellner." -msgstr "" - -#: ../NEWS:38009 ../NEWS:41604 -msgid "" -":issue:`12382`: :func:`!msilib.OpenDatabase` now raises a better exception " -"message when it couldn't open or create an MSI file. Initial patch by " -"William Tisäter." -msgstr "" - -#: ../NEWS:38013 -msgid "" -":issue:`19610`: ``setup()`` now warns about invalid types for some fields. " -"The ``distutils.dist.Distribution`` class now warns when ``classifiers``, " -"``keywords`` and ``platforms`` fields are not specified as a list or a " -"string." -msgstr "" - -#: ../NEWS:38018 -msgid "" -":issue:`32071`: Added the ``-k`` command-line option to ``python -m " -"unittest`` to run only tests that match the given pattern(s)." -msgstr "" - -#: ../NEWS:38021 -msgid "" -":issue:`10049`: Added *nullcontext* no-op context manager to contextlib. " -"This provides a simpler and faster alternative to ExitStack() when handling " -"optional context managers." -msgstr "" - -#: ../NEWS:38025 -msgid "" -":issue:`28684`: The new test.support.skip_unless_bind_unix_socket() " -"decorator is used here to skip asyncio tests that fail because the platform " -"lacks a functional bind() function for unix domain sockets (as it is the " -"case for non root users on the recent Android versions that run now SELinux " -"in enforcing mode)." -msgstr "" - -#: ../NEWS:38031 ../NEWS:41608 -msgid "" -":issue:`32110`: ``codecs.StreamReader.read(n)`` now returns not more than " -"*n* characters/bytes for non-negative *n*. This makes it compatible with " -"``read()`` methods of other file-like objects." -msgstr "" - -#: ../NEWS:38035 -msgid "" -":issue:`27535`: The warnings module doesn't leak memory anymore in the " -"hidden warnings registry for the \"ignore\" action of warnings filters. " -"warn_explicit() function doesn't add the warning key to the registry anymore" -" for the \"ignore\" action." -msgstr "" - -#: ../NEWS:38040 -msgid "" -":issue:`32088`: warnings: When Python is build is debug mode " -"(``Py_DEBUG``), :exc:`DeprecationWarning`, :exc:`PendingDeprecationWarning` " -"and :exc:`ImportWarning` warnings are now displayed by default." -msgstr "" - -#: ../NEWS:38044 -msgid "" -":issue:`1647489`: Fixed searching regular expression patterns that could " -"match an empty string. Non-empty string can now be correctly found after " -"matching an empty string." -msgstr "" - -#: ../NEWS:38048 -msgid "" -":issue:`25054`: Added support of splitting on a pattern that could match an " -"empty string." -msgstr "" - -#: ../NEWS:38051 ../NEWS:41612 ../NEWS:46291 -msgid "" -":issue:`32072`: Fixed issues with binary plists: Fixed saving bytearrays. " -"Identical objects will be saved only once. Equal references will be load as " -"identical objects. Added support for saving and loading recursive data " -"structures." -msgstr "" - -#: ../NEWS:38056 -msgid "" -":issue:`32069`: Drop legacy SSL transport from asyncio, ssl.MemoryBIO is " -"always used anyway." -msgstr "" - -#: ../NEWS:38059 -msgid "" -":issue:`32066`: asyncio: Support pathlib.Path in create_unix_connection; " -"sock arg should be optional" -msgstr "" - -#: ../NEWS:38062 -msgid "" -":issue:`32046`: Updates 2to3 to convert from operator.isCallable(obj) to " -"callable(obj). Patch by Donghee Na." -msgstr "" - -#: ../NEWS:38065 -msgid "" -":issue:`32018`: inspect.signature should follow :pep:`8`, if the parameter " -"has an annotation and a default value. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:38068 -msgid ":issue:`32025`: Add time.thread_time() and time.thread_time_ns()" -msgstr "" - -#: ../NEWS:38070 -msgid "" -":issue:`32037`: Integers that fit in a signed 32-bit integer will be now " -"pickled with protocol 0 using the INT opcode. This will decrease the size " -"of a pickle, speed up pickling and unpickling, and make these integers be " -"unpickled as int instances in Python 2." -msgstr "" - -#: ../NEWS:38075 ../NEWS:41617 -msgid "" -":issue:`32034`: Make asyncio.IncompleteReadError and LimitOverrunError " -"pickleable." -msgstr "" - -#: ../NEWS:38078 ../NEWS:41620 -msgid "" -":issue:`32015`: Fixed the looping of asyncio in the case of reconnection the" -" socket during waiting async read/write from/to the socket." -msgstr "" - -#: ../NEWS:38081 ../NEWS:41623 -msgid "" -":issue:`32011`: Restored support of loading marshal files with the " -"TYPE_INT64 code. These files can be produced in Python 2.7." -msgstr "" - -#: ../NEWS:38084 -msgid "" -":issue:`28369`: Enhance add_reader/writer check that socket is not used by " -"some transport. Before, only cases when add_reader/writer were called with " -"an int FD were supported. Now the check is implemented correctly for all " -"file-like objects." -msgstr "" - -#: ../NEWS:38089 -msgid "" -":issue:`31976`: Fix race condition when flushing a file is slow, which can " -"cause a segfault if closing the file from another thread." -msgstr "" - -#: ../NEWS:38092 -msgid "" -":issue:`31985`: Formally deprecated aifc.openfp, sunau.openfp, and " -"wave.openfp. Since change 7bc817d5ba917528e8bd07ec461c635291e7b06a in 1993, " -"openfp in each of the three modules had been pointing to that module's open " -"function as a matter of backwards compatibility, though it had been both " -"untested and undocumented." -msgstr "" - -#: ../NEWS:38098 -msgid "" -":issue:`21862`: cProfile command line now accepts ``-m module_name`` as an " -"alternative to script path. Patch by Sanyam Khurana." -msgstr "" - -#: ../NEWS:38101 ../NEWS:41626 -msgid ":issue:`31970`: Reduce performance overhead of asyncio debug mode." -msgstr "" - -#: ../NEWS:38103 -msgid "" -":issue:`31843`: *database* argument of sqlite3.connect() now accepts a " -":term:`path-like object`, instead of just a string." -msgstr "" - -#: ../NEWS:38106 -msgid "" -":issue:`31945`: Add Configurable *blocksize* to ``HTTPConnection`` and " -"``HTTPSConnection`` for improved upload throughput. Patch by Nir Soffer." -msgstr "" - -#: ../NEWS:38109 -msgid "" -":issue:`31943`: Add a ``cancelled()`` method to :class:`asyncio.Handle`. " -"Patch by Marat Sharafutdinov." -msgstr "" - -#: ../NEWS:38112 ../NEWS:41628 -msgid "" -":issue:`9678`: Fixed determining the MAC address in the uuid module: Using " -"ifconfig on NetBSD and OpenBSD. Using arp on Linux, FreeBSD, NetBSD and " -"OpenBSD. Based on patch by Takayuki Shimizukawa." -msgstr "" - -#: ../NEWS:38116 ../NEWS:41632 -msgid ":issue:`30057`: Fix potential missed signal in signal.signal()." -msgstr "" - -#: ../NEWS:38118 ../NEWS:41634 -msgid "" -":issue:`31933`: Fix Blake2 params leaf_size and node_offset on big endian " -"platforms. Patch by Jack O'Connor." -msgstr "" - -#: ../NEWS:38121 -msgid "" -":issue:`21423`: Add an initializer argument to {Process,Thread}PoolExecutor" -msgstr "" - -#: ../NEWS:38123 ../NEWS:41637 -msgid "" -":issue:`31927`: Fixed compilation of the socket module on NetBSD 8. Fixed " -"assertion failure or reading arbitrary data when parse a AF_BLUETOOTH " -"address on NetBSD and DragonFly BSD." -msgstr "" - -#: ../NEWS:38127 ../NEWS:41641 -msgid "" -":issue:`27666`: Fixed stack corruption in curses.box() and " -"curses.ungetmouse() when the size of types chtype or mmask_t is less than " -"the size of C long. curses.box() now accepts characters as arguments. Based" -" on patch by Steve Fink." -msgstr "" - -#: ../NEWS:38132 -msgid "" -":issue:`31917`: Add 3 new clock identifiers: :const:`time.CLOCK_BOOTTIME`, " -":const:`time.CLOCK_PROF` and :const:`time.CLOCK_UPTIME`." -msgstr "" - -#: ../NEWS:38135 ../NEWS:41646 -msgid "" -":issue:`31897`: plistlib now catches more errors when read binary plists and" -" raises InvalidFileException instead of unexpected exceptions." -msgstr "" - -#: ../NEWS:38138 ../NEWS:41649 -msgid "" -":issue:`25720`: Fix the method for checking pad state of curses WINDOW. " -"Patch by Masayuki Yamamoto." -msgstr "" - -#: ../NEWS:38141 ../NEWS:41652 -msgid "" -":issue:`31893`: Fixed the layout of the kqueue_event structure on OpenBSD " -"and NetBSD. Fixed the comparison of the kqueue_event objects." -msgstr "" - -#: ../NEWS:38144 ../NEWS:41655 -msgid ":issue:`31891`: Fixed building the curses module on NetBSD." -msgstr "" - -#: ../NEWS:38146 -msgid "" -":issue:`31884`: added required constants to subprocess module for setting " -"priority on windows" -msgstr "" - -#: ../NEWS:38149 -msgid "" -":issue:`28281`: Remove year (1-9999) limits on the Calendar.weekday() " -"function. Patch by Mark Gollahon." -msgstr "" - -#: ../NEWS:38152 -msgid "" -":issue:`31702`: crypt.mksalt() now allows to specify the number of rounds " -"for SHA-256 and SHA-512 hashing." -msgstr "" - -#: ../NEWS:38155 -msgid "" -":issue:`30639`: :func:`inspect.getfile` no longer computes the repr of " -"unknown objects to display in an error message, to protect against badly " -"behaved custom reprs." -msgstr "" - -#: ../NEWS:38159 -msgid "" -":issue:`30768`: Fix the pthread+semaphore implementation of " -"PyThread_acquire_lock_timed() when called with timeout > 0 and intr_flag=0: " -"recompute the timeout if sem_timedwait() is interrupted by a signal (EINTR)." -" See also the :pep:`475`." -msgstr "" - -#: ../NEWS:38164 -msgid ":issue:`31854`: Add ``mmap.ACCESS_DEFAULT`` constant." -msgstr "" - -#: ../NEWS:38166 -msgid "" -":issue:`31834`: Use optimized code for BLAKE2 only with SSSE3+. The pure " -"SSE2 implementation is slower than the pure C reference implementation." -msgstr "" - -#: ../NEWS:38169 -msgid "" -":issue:`28292`: Calendar.itermonthdates() will now consistently raise an " -"exception when a date falls outside of the 0001-01-01 through 9999-12-31 " -"range. To support applications that cannot tolerate such exceptions, the " -"new methods itermonthdays3() and itermonthdays4() are added. The new " -"methods return tuples and are not restricted by the range supported by " -"datetime.date." -msgstr "" - -#: ../NEWS:38176 -msgid "" -":issue:`28564`: The shutil.rmtree() function has been sped up to 20--40%. " -"This was done using the os.scandir() function." -msgstr "" - -#: ../NEWS:38179 ../NEWS:41657 -msgid "" -":issue:`28416`: Instances of pickle.Pickler subclass with the " -"persistent_id() method and pickle.Unpickler subclass with the " -"persistent_load() method no longer create reference cycles." -msgstr "" - -#: ../NEWS:38183 -msgid "" -":issue:`31653`: Don't release the GIL if we can acquire a multiprocessing " -"semaphore immediately." -msgstr "" - -#: ../NEWS:38186 ../NEWS:41661 -msgid "" -":issue:`28326`: Fix multiprocessing.Process when stdout and/or stderr is " -"closed or None." -msgstr "" - -#: ../NEWS:38189 -msgid "" -":issue:`20825`: Add ``subnet_of`` and ``superset_of`` containment tests to " -":class:`ipaddress.IPv6Network` and :class:`ipaddress.IPv4Network`. Patch by " -"Michel Albert and Cheryl Sabella." -msgstr "" - -#: ../NEWS:38193 -msgid "" -":issue:`31827`: Remove the os.stat_float_times() function. It was introduced" -" in Python 2.3 for backward compatibility with Python 2.2, and was " -"deprecated since Python 3.1." -msgstr "" - -#: ../NEWS:38197 -msgid "" -":issue:`31756`: Add a ``subprocess.Popen(text=False)`` keyword argument to " -"``subprocess`` functions to be more explicit about when the library should " -"attempt to decode outputs into text. Patch by Andrew Clegg." -msgstr "" - -#: ../NEWS:38201 -msgid ":issue:`31819`: Add AbstractEventLoop.sock_recv_into()." -msgstr "" - -#: ../NEWS:38203 ../NEWS:40983 ../NEWS:41664 -msgid "" -":issue:`31457`: If nested log adapters are used, the inner ``process()`` " -"methods are no longer omitted." -msgstr "" - -#: ../NEWS:38206 ../NEWS:41667 -msgid "" -":issue:`31457`: The ``manager`` property on LoggerAdapter objects is now " -"properly settable." -msgstr "" - -#: ../NEWS:38209 ../NEWS:41670 -msgid "" -":issue:`31806`: Fix timeout rounding in time.sleep(), " -"threading.Lock.acquire() and socket.socket.settimeout() to round correctly " -"negative timeouts between -1.0 and 0.0. The functions now block waiting for " -"events as expected. Previously, the call was incorrectly non-blocking. Patch" -" by Pablo Galindo." -msgstr "" - -#: ../NEWS:38215 -msgid "" -":issue:`31803`: time.clock() and time.get_clock_info('clock') now emit a " -"DeprecationWarning warning." -msgstr "" - -#: ../NEWS:38218 -msgid "" -":issue:`31800`: Extended support for parsing UTC offsets. strptime '%z' can " -"now parse the output generated by datetime.isoformat, including seconds and " -"microseconds." -msgstr "" - -#: ../NEWS:38222 ../NEWS:41676 -msgid "" -":issue:`28603`: traceback: Fix a TypeError that occurred during printing of " -"exception tracebacks when either the current exception or an exception in " -"its context/cause chain is unhashable. Patch by Zane Bitter." -msgstr "" - -#: ../NEWS:38226 -msgid "" -":issue:`30541`: Add new function to seal a mock and prevent the " -"automatically creation of child mocks. Patch by Mario Corchero." -msgstr "" - -#: ../NEWS:38229 -msgid "" -":issue:`31784`: Implement the :pep:`564`, add new 6 new functions with " -"nanosecond resolution to the :mod:`time` module: " -":func:`~time.clock_gettime_ns`, :func:`~time.clock_settime_ns`, " -":func:`~time.monotonic_ns`, :func:`~time.perf_counter_ns`, " -":func:`~time.process_time_ns`, :func:`~time.time_ns`." -msgstr "" - -#: ../NEWS:38235 -msgid "" -":issue:`30143`: 2to3 now generates a code that uses abstract collection " -"classes from collections.abc rather than collections." -msgstr "" - -#: ../NEWS:38238 ../NEWS:41682 -msgid "" -":issue:`31770`: Prevent a crash when calling the ``__init__()`` method of a " -"``sqlite3.Cursor`` object more than once. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38241 ../NEWS:41689 -msgid "" -":issue:`31764`: Prevent a crash in ``sqlite3.Cursor.close()`` in case the " -"``Cursor`` object is uninitialized. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38244 ../NEWS:41692 -msgid "" -":issue:`31752`: Fix possible crash in timedelta constructor called with " -"custom integers." -msgstr "" - -#: ../NEWS:38247 ../NEWS:41701 -msgid "" -":issue:`31620`: an empty asyncio.Queue now doesn't leak memory when " -"queue.get pollers timeout" -msgstr "" - -#: ../NEWS:38250 -msgid "" -":issue:`31690`: Allow the flags re.ASCII, re.LOCALE, and re.UNICODE to be " -"used as group flags for regular expressions." -msgstr "" - -#: ../NEWS:38253 -msgid "" -":issue:`30349`: FutureWarning is now emitted if a regular expression " -"contains character set constructs that will change semantically in the " -"future (nested sets and set operations)." -msgstr "" - -#: ../NEWS:38257 -msgid "" -":issue:`31664`: Added support for the Blowfish hashing in the crypt module." -msgstr "" - -#: ../NEWS:38259 ../NEWS:41704 -msgid "" -":issue:`31632`: Fix method set_protocol() of class _SSLProtocolTransport in " -"asyncio module. This method was previously modifying a wrong reference to " -"the protocol." -msgstr "" - -#: ../NEWS:38263 ../NEWS:41715 -msgid "" -":issue:`15037`: Added a workaround for getkey() in curses for ncurses 5.7 " -"and earlier." -msgstr "" - -#: ../NEWS:38266 -msgid "" -":issue:`31307`: Allow use of bytes objects for arguments to " -":meth:`configparser.ConfigParser.read`. Patch by Vincent Michel." -msgstr "" - -#: ../NEWS:38269 ../NEWS:41735 -msgid "" -":issue:`31334`: Fix ``poll.poll([timeout])`` in the ``select`` module for " -"arbitrary negative timeouts on all OSes where it can only be a non-negative " -"integer or -1. Patch by Riccardo Coccioli." -msgstr "" - -#: ../NEWS:38273 ../NEWS:41739 -msgid "" -":issue:`31310`: multiprocessing's semaphore tracker should be launched again" -" if crashed." -msgstr "" - -#: ../NEWS:38276 ../NEWS:41742 -msgid "" -":issue:`31308`: Make multiprocessing's forkserver process immune to Ctrl-C " -"and other user interruptions. If it crashes, restart it when necessary." -msgstr "" - -#: ../NEWS:38279 -msgid "" -":issue:`31245`: Added support for AF_UNIX socket in asyncio " -"``create_datagram_endpoint``." -msgstr "" - -#: ../NEWS:38282 -msgid "" -":issue:`30553`: Add HTTP/2 status code 421 (Misdirected Request) to " -":class:`http.HTTPStatus`. Patch by Vitor Pereira." -msgstr "" - -#: ../NEWS:38288 ../NEWS:41748 -msgid "" -":issue:`32105`: Added asyncio.BaseEventLoop.connect_accepted_socket " -"versionadded marker." -msgstr "" - -#: ../NEWS:38294 ../NEWS:41761 -msgid "" -":issue:`31380`: Skip test_httpservers test_undecodable_file on macOS: fails " -"on APFS." -msgstr "" - -#: ../NEWS:38297 ../NEWS:41764 -msgid "" -":issue:`31705`: Skip test_socket.test_sha256() on Linux kernel older than " -"4.5. The test fails with ENOKEY on kernel 3.10 (on ppc64le). A fix was " -"merged into the kernel 4.5." -msgstr "" - -#: ../NEWS:38301 -msgid "" -":issue:`32138`: Skip on Android test_faulthandler tests that raise SIGSEGV " -"and remove the test.support.requires_android_level decorator." -msgstr "" - -#: ../NEWS:38304 -msgid "" -":issue:`32136`: The runtime embedding tests have been split out from " -"``Lib/test/test_capi.py`` into a new ``Lib/test/test_embed.py`` file." -msgstr "" - -#: ../NEWS:38307 -msgid "" -":issue:`28668`: test.support.requires_multiprocessing_queue is removed. Skip" -" tests with test.support.import_module('multiprocessing.synchronize') " -"instead when the semaphore implementation is broken or missing." -msgstr "" - -#: ../NEWS:38311 -msgid "" -":issue:`32126`: Skip test_get_event_loop_new_process in " -"test.test_asyncio.test_events when sem_open() is not functional." -msgstr "" - -#: ../NEWS:38314 ../NEWS:41768 -msgid "" -":issue:`31174`: Fix test_tools.test_unparse: DirectoryTestCase now stores " -"the names sample to always test the same files. It prevents false alarms " -"when hunting reference leaks." -msgstr "" - -#: ../NEWS:38321 -msgid "" -":issue:`28538`: Revert the previous changes, the if_nameindex structure is " -"defined by Unified Headers." -msgstr "" - -#: ../NEWS:38324 -msgid "" -":issue:`28762`: Revert the last commit, the F_LOCK macro is defined by " -"Android Unified Headers." -msgstr "" - -#: ../NEWS:38327 -msgid "" -":issue:`29040`: Support building Android with Unified Headers. The first NDK" -" release to support Unified Headers is android-ndk-r14." -msgstr "" - -#: ../NEWS:38330 ../NEWS:41778 -msgid "" -":issue:`32059`: ``detect_modules()`` in ``setup.py`` now also searches the " -"sysroot paths when cross-compiling." -msgstr "" - -#: ../NEWS:38333 ../NEWS:41781 -msgid "" -":issue:`31957`: Fixes Windows SDK version detection when building for " -"Windows." -msgstr "" - -#: ../NEWS:38335 ../NEWS:41783 -msgid ":issue:`31609`: Fixes quotes in PCbuild/clean.bat" -msgstr "" - -#: ../NEWS:38337 ../NEWS:41785 -msgid "" -":issue:`31934`: Abort the build when building out of a not clean source " -"tree." -msgstr "" - -#: ../NEWS:38339 ../NEWS:41787 -msgid "" -":issue:`31926`: Fixed Argument Clinic sometimes causing compilation errors " -"when there was more than one function and/or method in a .c file with the " -"same name." -msgstr "" - -#: ../NEWS:38343 ../NEWS:41791 -msgid ":issue:`28791`: Update Windows builds to use SQLite 3.21.0." -msgstr "" - -#: ../NEWS:38345 ../NEWS:41793 -msgid ":issue:`28791`: Update OS X installer to use SQLite 3.21.0." -msgstr "" - -#: ../NEWS:38347 -msgid ":issue:`28643`: Record profile-opt build progress with stamp files." -msgstr "" - -#: ../NEWS:38349 -msgid ":issue:`31866`: Finish removing support for AtheOS." -msgstr "" - -#: ../NEWS:38354 ../NEWS:41803 -msgid "" -":issue:`1102`: Return ``None`` when ``View.Fetch()`` returns " -"``ERROR_NO_MORE_ITEMS`` instead of raising ``MSIError``. Initial patch by " -"Anthony Tuininga." -msgstr "" - -#: ../NEWS:38358 ../NEWS:41807 -msgid ":issue:`31944`: Fixes Modify button in Apps and Features dialog." -msgstr "" - -#: ../NEWS:38360 -msgid "" -":issue:`20486`: Implement the ``Database.Close()`` method to help closing " -"MSI database objects." -msgstr "" - -#: ../NEWS:38363 -msgid "" -":issue:`31857`: Make the behavior of USE_STACKCHECK deterministic in a " -"multi-threaded environment." -msgstr "" - -#: ../NEWS:38369 ../NEWS:41812 -msgid ":issue:`31392`: Update macOS installer to use OpenSSL 1.0.2m" -msgstr "" - -#: ../NEWS:38374 ../NEWS:41817 -msgid "" -":issue:`32207`: Improve tk event exception tracebacks in IDLE. When tk event" -" handling is driven by IDLE's run loop, a confusing and distracting " -"queue.EMPTY traceback context is no longer added to tk event exception " -"tracebacks. The traceback is now the same as when event handling is driven " -"by user code. Patch based on a suggestion by Serhiy Storchaka." -msgstr "" - -#: ../NEWS:38380 ../NEWS:41823 -msgid "" -":issue:`32164`: Delete unused file idlelib/tabbedpages.py. Use of " -"TabbedPageSet in configdialog was replaced by ttk.Notebook." -msgstr "" - -#: ../NEWS:38383 ../NEWS:41826 -msgid "" -":issue:`32100`: IDLE: Fix old and new bugs in pathbrowser; improve tests. " -"Patch mostly by Cheryl Sabella." -msgstr "" - -#: ../NEWS:38386 ../NEWS:41829 -msgid "" -":issue:`31858`: IDLE -- Restrict shell prompt manipulation to the shell. " -"Editor and output windows only see an empty last prompt line. This " -"simplifies the code and fixes a minor bug when newline is inserted. Sys.ps1," -" if present, is read on Shell start-up, but is not set or changed." -msgstr "" - -#: ../NEWS:38391 ../NEWS:41834 -msgid "" -":issue:`31860`: The font sample in the IDLE configuration dialog is now " -"editable. Changes persist while IDLE remains open" -msgstr "" - -#: ../NEWS:38394 ../NEWS:41837 -msgid "" -":issue:`31836`: Test_code_module now passes if run after test_idle, which " -"sets ps1. The code module uses sys.ps1 if present or sets it to '>>> ' if " -"not. Test_code_module now properly tests both behaviors. Ditto for ps2." -msgstr "" - -#: ../NEWS:38398 ../NEWS:41841 -msgid "" -":issue:`28603`: Fix a TypeError that caused a shell restart when printing a " -"traceback that includes an exception that is unhashable. Patch by Zane " -"Bitter." -msgstr "" - -#: ../NEWS:38402 -msgid "" -":issue:`13802`: Use non-Latin characters in the IDLE's Font settings sample." -" Even if one selects a font that defines a limited subset of the unicode " -"Basic Multilingual Plane, tcl/tk will use other fonts that define a " -"character. The expanded example give users of non-Latin characters a better " -"idea of what they might see in IDLE's shell and editors. To make room for " -"the expanded sample, frames on the Font tab are re-arranged. The Font/Tabs " -"help explains a bit about the additions." -msgstr "" - -#: ../NEWS:38413 -msgid "" -":issue:`32159`: Remove CVS and Subversion tools: remove svneol.py and " -"treesync.py scripts. CPython migrated from CVS to Subversion, to Mercurial, " -"and then to Git. CVS and Subversion are no longer used to develop CPython." -msgstr "" - -#: ../NEWS:38418 ../NEWS:41880 -msgid "" -":issue:`30722`: Make redemo work with Python 3.6 and newer versions. Also, " -"remove the ``LOCALE`` option since it doesn't work with string patterns in " -"Python 3. Patch by Christoph Sarnowski." -msgstr "" - -#: ../NEWS:38425 ../NEWS:41887 -msgid "" -":issue:`20891`: Fix PyGILState_Ensure(). When PyGILState_Ensure() is called " -"in a non-Python thread before PyEval_InitThreads(), only call " -"PyEval_InitThreads() after calling PyThreadState_New() to fix a crash." -msgstr "" - -#: ../NEWS:38429 -msgid "" -":issue:`32125`: The ``Py_UseClassExceptionsFlag`` flag has been removed. It " -"was deprecated and wasn't used anymore since Python 2.0." -msgstr "" - -#: ../NEWS:38432 -msgid "" -":issue:`25612`: Move the current exception state from the frame object to " -"the co-routine. This simplifies the interpreter and fixes a couple of " -"obscure bugs caused by having swap exception state when entering or exiting " -"a generator." -msgstr "" - -#: ../NEWS:38437 -msgid "" -":issue:`23699`: Add Py_RETURN_RICHCOMPARE macro to reduce boilerplate code " -"in rich comparison functions." -msgstr "" - -#: ../NEWS:38440 ../NEWS:41894 -msgid "" -":issue:`30697`: The ``PyExc_RecursionErrorInst`` singleton is removed and " -"``PyErr_NormalizeException()`` does not use it anymore. This singleton is " -"persistent and its members being never cleared may cause a segfault during " -"finalization of the interpreter. See also :issue:`22898`." -msgstr "" - -#: ../NEWS:38447 -msgid "Python 3.7.0 alpha 2" -msgstr "Python 3.7.0 alfa 2" - -#: ../NEWS:38449 -msgid "*Release date: 2017-10-16*" -msgstr "*Tanggal rilis: 2017-10-16*" - -#: ../NEWS:38454 -msgid "" -":issue:`31558`: ``gc.freeze()`` is a new API that allows for moving all " -"objects currently tracked by the garbage collector to a permanent " -"generation, effectively removing them from future collection events. This " -"can be used to protect those objects from having their PyGC_Head mutated. In" -" effect, this enables great copy-on-write stability at fork()." -msgstr "" - -#: ../NEWS:38460 ../NEWS:41530 -msgid "" -":issue:`31642`: Restored blocking \"from package import module\" by setting " -"sys.modules[\"package.module\"] to None." -msgstr "" - -#: ../NEWS:38463 -msgid "" -":issue:`31708`: Allow use of asynchronous generator expressions in " -"synchronous functions." -msgstr "" - -#: ../NEWS:38466 -msgid ":issue:`31709`: Drop support of asynchronous __aiter__." -msgstr "" - -#: ../NEWS:38468 -msgid "" -":issue:`30404`: The -u option now makes the stdout and stderr streams " -"unbuffered rather than line-buffered." -msgstr "" - -#: ../NEWS:38471 ../NEWS:41536 -msgid "" -":issue:`31619`: Fixed a ValueError when convert a string with large number " -"of underscores to integer with binary base." -msgstr "" - -#: ../NEWS:38474 -msgid "" -":issue:`31602`: Fix an assertion failure in ``zipimporter.get_source()`` in " -"case of a bad ``zlib.decompress()``. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38477 ../NEWS:41539 -msgid "" -":issue:`31592`: Fixed an assertion failure in Python parser in case of a bad" -" ``unicodedata.normalize()``. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38480 ../NEWS:41542 -msgid "" -":issue:`31588`: Raise a ``TypeError`` with a helpful error message when " -"class creation fails due to a metaclass with a bad ``__prepare__()`` method." -" Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38484 -msgid "" -":issue:`31574`: Importlib was instrumented with two dtrace probes to profile" -" import timing." -msgstr "" - -#: ../NEWS:38487 ../NEWS:41546 -msgid "" -":issue:`31566`: Fix an assertion failure in ``_warnings.warn()`` in case of " -"a bad ``__name__`` global. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38490 -msgid "" -":issue:`31506`: Improved the error message logic for ``object.__new__`` and " -"``object.__init__``." -msgstr "" - -#: ../NEWS:38493 ../NEWS:41549 -msgid "" -":issue:`31505`: Fix an assertion failure in ``json``, in case " -"``_json.make_encoder()`` received a bad ``encoder()`` argument. Patch by " -"Oren Milman." -msgstr "" - -#: ../NEWS:38497 ../NEWS:41553 -msgid "" -":issue:`31492`: Fix assertion failures in case of failing to import from a " -"module with a bad ``__name__`` attribute, and in case of failing to access " -"an attribute of such a module. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38501 ../NEWS:41561 -msgid "" -":issue:`31478`: Fix an assertion failure in ``_random.Random.seed()`` in " -"case the argument has a bad ``__abs__()`` method. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38504 -msgid "" -":issue:`31336`: Speed up class creation by 10-20% by reducing the overhead " -"in the necessary special method lookups. Patch by Stefan Behnel." -msgstr "" - -#: ../NEWS:38507 -msgid "" -":issue:`31415`: Add ``-X importtime`` option to show how long each import " -"takes. It can be used to optimize application's startup time. Support the " -":envvar:`PYTHONPROFILEIMPORTTIME` as an equivalent way to enable this." -msgstr "" - -#: ../NEWS:38511 -msgid ":issue:`31410`: Optimized calling wrapper and classmethod descriptors." -msgstr "" - -#: ../NEWS:38513 -msgid "" -":issue:`31353`: :pep:`553` - Add a new built-in called ``breakpoint()`` " -"which calls ``sys.breakpointhook()``. By default this imports ``pdb`` and " -"calls ``pdb.set_trace()``, but users may override ``sys.breakpointhook()`` " -"to call whatever debugger they want. The original value of the hook is " -"saved in ``sys.__breakpointhook__``." -msgstr "" - -#: ../NEWS:38519 -msgid "" -":issue:`17852`: Maintain a list of open buffered files, flush them before " -"exiting the interpreter. Based on a patch from Armin Rigo." -msgstr "" - -#: ../NEWS:38522 ../NEWS:41564 -msgid "" -":issue:`31315`: Fix an assertion failure in imp.create_dynamic(), when " -"spec.name is not a string. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38525 ../NEWS:41567 -msgid "" -":issue:`31311`: Fix a crash in the ``__setstate__()`` method of " -"``ctypes._CData``, in case of a bad ``__dict__``. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38528 ../NEWS:41570 -msgid "" -":issue:`31293`: Fix crashes in true division and multiplication of a " -"timedelta object by a float with a bad as_integer_ratio() method. Patch by " -"Oren Milman." -msgstr "" - -#: ../NEWS:38532 ../NEWS:41574 -msgid "" -":issue:`31285`: Fix an assertion failure in ``warnings.warn_explicit``, when" -" the return value of the received loader's ``get_source()`` has a bad " -"``splitlines()`` method. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38536 -msgid "" -":issue:`30406`: Make ``async`` and ``await`` proper keywords, as specified " -"in :pep:`492`." -msgstr "" - -#: ../NEWS:38542 ../NEWS:41680 -msgid ":issue:`30058`: Fixed buffer overflow in select.kqueue.control()." -msgstr "" - -#: ../NEWS:38544 ../NEWS:41685 -msgid "" -":issue:`31672`: ``idpattern`` in ``string.Template`` matched some non-ASCII " -"characters. Now it uses ``-i`` regular expression local flag to avoid non-" -"ASCII characters." -msgstr "" - -#: ../NEWS:38548 ../NEWS:41695 -msgid "" -":issue:`31701`: On Windows, faulthandler.enable() now ignores MSC and COM " -"exceptions." -msgstr "" - -#: ../NEWS:38551 ../NEWS:41698 -msgid "" -":issue:`31728`: Prevent crashes in ``_elementtree`` due to unsafe cleanup of" -" ``Element.text`` and ``Element.tail``. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38554 -msgid "" -":issue:`31671`: Now ``re.compile()`` converts passed RegexFlag to normal int" -" object before compiling. bm_regex_compile benchmark shows 14% performance " -"improvements." -msgstr "" - -#: ../NEWS:38558 -msgid "" -":issue:`30397`: The types of compiled regular objects and match objects are " -"now exposed as ``re.Pattern`` and ``re.Match``. This adds information in " -"pydoc output for the ``re`` module." -msgstr "" - -#: ../NEWS:38562 ../NEWS:41708 -msgid "" -":issue:`31675`: Fixed memory leaks in Tkinter's methods splitlist() and " -"split() when pass a string larger than 2 GiB." -msgstr "" - -#: ../NEWS:38565 ../NEWS:41711 -msgid "" -":issue:`31673`: Fixed typo in the name of Tkinter's method adderrorinfo()." -msgstr "" - -#: ../NEWS:38567 -msgid "" -":issue:`31648`: Improvements to path predicates in ElementTree: Allow " -"whitespace around predicate parts, i.e. \"[a = 'text']\" instead of " -"requiring the less readable \"[a='text']\". Add support for text comparison " -"of the current node, like \"[.='text']\". Patch by Stefan Behnel." -msgstr "" - -#: ../NEWS:38572 ../NEWS:41713 -msgid ":issue:`30806`: Fix the string representation of a netrc object." -msgstr "" - -#: ../NEWS:38574 -msgid "" -":issue:`31638`: Add optional argument ``compressed`` to " -"``zipapp.create_archive``, and add option ``--compress`` to the command line" -" interface of ``zipapp``." -msgstr "" - -#: ../NEWS:38578 ../NEWS:41718 -msgid ":issue:`25351`: Avoid venv activate failures with undefined variables" -msgstr "" - -#: ../NEWS:38580 -msgid "" -":issue:`20519`: Avoid ctypes use (if possible) and improve import time for " -"uuid." -msgstr "" - -#: ../NEWS:38583 -msgid "" -":issue:`28293`: The regular expression cache is no longer completely dumped " -"when it is full." -msgstr "" - -#: ../NEWS:38586 -msgid ":issue:`31596`: Added pthread_getcpuclockid() to the time module" -msgstr "" - -#: ../NEWS:38588 -msgid "" -":issue:`27494`: Make 2to3 accept a trailing comma in generator expressions. " -"For example, ``set(x for x in [],)`` is now allowed." -msgstr "" - -#: ../NEWS:38591 ../NEWS:41724 -msgid "" -":issue:`30347`: Stop crashes when concurrently iterate over " -"itertools.groupby() iterators." -msgstr "" - -#: ../NEWS:38594 -msgid "" -":issue:`30346`: An iterator produced by itertools.groupby() iterator now " -"becomes exhausted after advancing the groupby iterator." -msgstr "" - -#: ../NEWS:38597 -msgid ":issue:`31556`: Cancel asyncio.wait_for future faster if timeout <= 0" -msgstr "" - -#: ../NEWS:38599 -msgid "" -":issue:`31540`: Allow passing a context object in " -":class:`concurrent.futures.ProcessPoolExecutor` constructor. Also, free job " -"resources in :class:`concurrent.futures.ProcessPoolExecutor` earlier to " -"improve memory usage when a worker waits for new jobs." -msgstr "" - -#: ../NEWS:38604 ../NEWS:41727 -msgid "" -":issue:`31516`: ``threading.current_thread()`` should not return a dummy " -"thread at shutdown." -msgstr "" - -#: ../NEWS:38607 -msgid "" -":issue:`31525`: In the sqlite module, require the sqlite3_prepare_v2 API. " -"Thus, the sqlite module now requires sqlite version at least 3.3.9." -msgstr "" - -#: ../NEWS:38610 -msgid "" -":issue:`26510`: argparse subparsers are now required by default. This " -"matches behaviour in Python 2. For optional subparsers, use the new " -"parameter ``add_subparsers(required=False)``. Patch by Anthony Sottile. (As " -"of 3.7.0rc1, the default was changed to not required as had been the case " -"since Python 3.3.)" -msgstr "" - -#: ../NEWS:38616 -msgid "" -":issue:`27541`: Reprs of subclasses of some collection and iterator classes " -"(``bytearray``, ``array.array``, ``collections.deque``, " -"``collections.defaultdict``, ``itertools.count``, ``itertools.repeat``) now " -"contain actual type name instead of hardcoded names of the base class." -msgstr "" - -#: ../NEWS:38621 ../NEWS:41730 -msgid "" -":issue:`31351`: python -m ensurepip now exits with non-zero exit code if pip" -" bootstrapping has failed." -msgstr "" - -#: ../NEWS:38624 -msgid "" -":issue:`31389`: ``pdb.set_trace()`` now takes an optional keyword-only " -"argument ``header``. If given, this is printed to the console just before " -"debugging begins." -msgstr "" - -#: ../NEWS:38631 ../NEWS:41751 -msgid "" -":issue:`31537`: Fix incorrect usage of ``get_history_length`` in readline " -"documentation example code. Patch by Brad Smith." -msgstr "" - -#: ../NEWS:38634 ../NEWS:41754 -msgid "" -":issue:`30085`: The operator functions without double underscores are " -"preferred for clarity. The one with underscores are only kept for back-" -"compatibility." -msgstr "" - -#: ../NEWS:38641 -msgid "" -":issue:`31696`: Improve compiler version information in :data:`sys.version` " -"when Python is built with Clang." -msgstr "" - -#: ../NEWS:38644 -msgid "" -":issue:`31625`: Stop using ranlib on static libraries. Instead, we assume ar" -" supports the 's' flag." -msgstr "" - -#: ../NEWS:38647 -msgid ":issue:`31624`: Remove support for BSD/OS." -msgstr "" - -#: ../NEWS:38649 ../NEWS:41795 -msgid "" -":issue:`22140`: Prevent double substitution of prefix in python-config.sh." -msgstr "" - -#: ../NEWS:38651 -msgid "" -":issue:`31569`: Correct PCBuild/ case to PCbuild/ in build scripts and " -"documentation." -msgstr "" - -#: ../NEWS:38654 ../NEWS:41797 -msgid "" -":issue:`31536`: Avoid wholesale rebuild after ``make regen-all`` if nothing " -"changed." -msgstr "" - -#: ../NEWS:38660 ../NEWS:41853 -msgid "" -":issue:`31460`: Simplify the API of IDLE's Module Browser. Passing a widget " -"instead of an flist with a root widget opens the option of creating a " -"browser frame that is only part of a window. Passing a full file name " -"instead of pieces assumed to come from a .py file opens the possibility of " -"browsing python files that do not end in .py." -msgstr "" - -#: ../NEWS:38666 ../NEWS:41859 -msgid ":issue:`31649`: IDLE - Make _htest, _utest parameters keyword only." -msgstr "" - -#: ../NEWS:38668 ../NEWS:41861 -msgid "" -":issue:`31559`: Remove test order dependence in idle_test.test_browser." -msgstr "" - -#: ../NEWS:38670 ../NEWS:41863 -msgid "" -":issue:`31459`: Rename IDLE's module browser from Class Browser to Module " -"Browser. The original module-level class and method browser became a module " -"browser, with the addition of module-level functions, years ago. Nested " -"classes and functions were added yesterday. For back-compatibility, the " -"virtual event <>, which appears on the Keys tab of the " -"Settings dialog, is not changed. Patch by Cheryl Sabella." -msgstr "" - -#: ../NEWS:38678 ../NEWS:41871 -msgid ":issue:`31500`: Default fonts now are scaled on HiDPI displays." -msgstr "" - -#: ../NEWS:38680 ../NEWS:41873 -msgid "" -":issue:`1612262`: IDLE module browser now shows nested classes and " -"functions. Original patches for code and tests by Guilherme Polo and Cheryl " -"Sabella, respectively." -msgstr "" - -#: ../NEWS:38687 -msgid "" -":issue:`28280`: Make ``PyMapping_Keys()``, ``PyMapping_Values()`` and " -"``PyMapping_Items()`` always return a ``list`` (rather than a ``list`` or a " -"``tuple``). Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38691 ../NEWS:41891 -msgid "" -":issue:`31532`: Fix memory corruption due to allocator mix in getpath.c " -"between Py_GetPath() and Py_SetPath()" -msgstr "" - -#: ../NEWS:38694 -msgid "" -":issue:`25658`: Implement :pep:`539` for Thread Specific Storage (TSS) API: " -"it is a new Thread Local Storage (TLS) API to CPython which would supersede " -"use of the existing TLS API within the CPython interpreter, while " -"deprecating the existing API. PEP written by Erik M. Bray, patch by Masayuki" -" Yamamoto." -msgstr "" - -#: ../NEWS:38702 -msgid "Python 3.7.0 alpha 1" -msgstr "Python 3.7.0 alfa 1" - -#: ../NEWS:38704 -msgid "*Release date: 2017-09-19*" -msgstr "*Tanggal rilis: 2017-09-19*" - -#: ../NEWS:38709 ../NEWS:41929 -msgid "" -":issue:`29781`: SSLObject.version() now correctly returns None when " -"handshake over BIO has not been performed yet." -msgstr "" - -#: ../NEWS:38712 -msgid "" -":issue:`29505`: Add fuzz tests for float(str), int(str), unicode(str); for " -"oss-fuzz." -msgstr "" - -#: ../NEWS:38715 ../NEWS:41932 ../NEWS:46279 -msgid "" -":issue:`30947`: Upgrade libexpat embedded copy from version 2.2.1 to 2.2.3 " -"to get security fixes." -msgstr "" - -#: ../NEWS:38718 ../NEWS:42393 ../NEWS:46321 -msgid "" -":issue:`30730`: Prevent environment variables injection in subprocess on " -"Windows. Prevent passing other environment variables and command arguments." -msgstr "" - -#: ../NEWS:38722 ../NEWS:42397 ../NEWS:46325 -msgid "" -":issue:`30694`: Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of " -"multiple security vulnerabilities including: :cve:`2017-9233` (External " -"entity infinite loop DoS), :cve:`2016-9063` (Integer overflow, re-fix), " -":cve:`2016-0718` (Fix regression bugs from 2.2.0's fix to :cve:`2016-0718`) " -"and :cve:`2012-0876` (Counter hash flooding with SipHash). Note: the " -":cve:`2016-5300` (Use os-specific entropy sources like getrandom) doesn't " -"impact Python, since Python already gets entropy from the OS to set the " -"expat secret using ``XML_SetHashSalt()``." -msgstr "" - -#: ../NEWS:38731 ../NEWS:42406 ../NEWS:46334 -msgid "" -":issue:`30500`: Fix urllib.parse.splithost() to correctly parse fragments. " -"For example, ``splithost('//127.0.0.1#@evil.com/')`` now correctly returns " -"the ``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an " -"authentication (``login@host``)." -msgstr "" - -#: ../NEWS:38736 ../NEWS:42420 ../NEWS:46339 -msgid "" -":issue:`29591`: Update expat copy from 2.1.1 to 2.2.0 to get fixes of " -":cve:`2016-0718` and :cve:`2016-4472`. See " -"https://sourceforge.net/p/expat/bugs/537/ for more information." -msgstr "" - -#: ../NEWS:38743 ../NEWS:41557 -msgid "" -":issue:`31490`: Fix an assertion failure in ``ctypes`` class definition, in " -"case the class has an attribute whose name is specified in ``_anonymous_`` " -"but not in ``_fields_``. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38747 ../NEWS:41938 -msgid "" -":issue:`31471`: Fix an assertion failure in ``subprocess.Popen()`` on " -"Windows, in case the env argument has a bad ``keys()`` method. Patch by Oren" -" Milman." -msgstr "" - -#: ../NEWS:38751 ../NEWS:41942 -msgid "" -":issue:`31418`: Fix an assertion failure in ``PyErr_WriteUnraisable()`` in " -"case of an exception with a bad ``__module__`` attribute. Patch by Oren " -"Milman." -msgstr "" - -#: ../NEWS:38754 ../NEWS:41945 -msgid "" -":issue:`31416`: Fix assertion failures in case of a bad warnings.filters or " -"warnings.defaultaction. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38757 -msgid "" -":issue:`28411`: Change direct usage of PyInterpreterState.modules to " -"PyImport_GetModuleDict(). Also introduce more uniformity in other code that " -"deals with sys.modules. This helps reduce complications when working on " -"sys.modules." -msgstr "" - -#: ../NEWS:38762 -msgid "" -":issue:`28411`: Switch to the abstract API when dealing with " -"``PyInterpreterState.modules``. This allows later support for all dict " -"subclasses and other Mapping implementations. Also add a " -"``PyImport_GetModule()`` function to reduce a bunch of duplicated code." -msgstr "" - -#: ../NEWS:38767 ../NEWS:41948 -msgid "" -":issue:`31411`: Raise a TypeError instead of SystemError in case " -"warnings.onceregistry is not a dictionary. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38770 -msgid "" -":issue:`31344`: For finer control of tracing behaviour when testing the " -"interpreter, two new frame attributes have been added to control the " -"emission of particular trace events: ``f_trace_lines`` (``True`` by default)" -" to turn off per-line trace events; and ``f_trace_opcodes`` (``False`` by " -"default) to turn on per-opcode trace events." -msgstr "" - -#: ../NEWS:38776 ../NEWS:41951 -msgid "" -":issue:`31373`: Fix several possible instances of undefined behavior due to " -"floating-point demotions." -msgstr "" - -#: ../NEWS:38779 ../NEWS:41954 -msgid "" -":issue:`30465`: Location information (``lineno`` and ``col_offset``) in " -"f-strings is now (mostly) correct. This fixes tools like flake8 from " -"showing warnings on the wrong line (typically the first line of the file)." -msgstr "" - -#: ../NEWS:38783 -msgid "" -":issue:`30860`: Consolidate CPython's global runtime state under a single " -"struct. This improves discoverability of the runtime state." -msgstr "" - -#: ../NEWS:38786 -msgid "" -":issue:`31347`: Fix possible undefined behavior in " -"_PyObject_FastCall_Prepend." -msgstr "" - -#: ../NEWS:38788 ../NEWS:41958 -msgid "" -":issue:`31343`: Include sys/sysmacros.h for major(), minor(), and makedev()." -" GNU C library plans to remove the functions from sys/types.h." -msgstr "" - -#: ../NEWS:38791 ../NEWS:41961 -msgid "" -":issue:`31291`: Fix an assertion failure in " -"``zipimport.zipimporter.get_data`` on Windows, when the return value of " -"``pathname.replace('/','\\\\')`` isn't a string. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38795 ../NEWS:41965 -msgid "" -":issue:`31271`: Fix an assertion failure in the ``write()`` method of " -"``io.TextIOWrapper``, when the encoder doesn't return a bytes object. Patch " -"by Oren Milman." -msgstr "" - -#: ../NEWS:38799 ../NEWS:41969 -msgid "" -":issue:`31243`: Fix a crash in some methods of ``io.TextIOWrapper``, when " -"the decoder's state is invalid. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:38802 ../NEWS:41972 -msgid "" -":issue:`30721`: ``print`` now shows correct usage hint for using Python 2 " -"redirection syntax. Patch by Sanyam Khurana." -msgstr "" - -#: ../NEWS:38805 ../NEWS:41975 -msgid ":issue:`31070`: Fix a race condition in importlib _get_module_lock()." -msgstr "" - -#: ../NEWS:38807 -msgid "" -":issue:`30747`: Add a non-dummy implementation of _Py_atomic_store and " -"_Py_atomic_load on MSVC." -msgstr "" - -#: ../NEWS:38810 ../NEWS:41977 ../NEWS:46285 -msgid "" -":issue:`31095`: Fix potential crash during GC caused by ``tp_dealloc`` which" -" doesn't call ``PyObject_GC_UnTrack()``." -msgstr "" - -#: ../NEWS:38813 ../NEWS:41980 -msgid "" -":issue:`31071`: Avoid masking original TypeError in call with * unpacking " -"when other arguments are passed." -msgstr "" - -#: ../NEWS:38816 ../NEWS:41983 -msgid "" -":issue:`30978`: str.format_map() now passes key lookup exceptions through. " -"Previously any exception was replaced with a KeyError exception." -msgstr "" - -#: ../NEWS:38819 ../NEWS:41986 -msgid "" -":issue:`30808`: Use _Py_atomic API for concurrency-sensitive signal state." -msgstr "" - -#: ../NEWS:38821 ../NEWS:41988 ../NEWS:46346 -msgid "" -":issue:`30876`: Relative import from unloaded package now reimports the " -"package instead of failing with SystemError. Relative import from non-" -"package now fails with ImportError rather than SystemError." -msgstr "" - -#: ../NEWS:38825 ../NEWS:41992 -msgid "" -":issue:`30703`: Improve signal delivery. Avoid using Py_AddPendingCall from " -"signal handler, to avoid calling signal-unsafe functions. The tests I'm " -"adding here fail without the rest of the patch, on Linux and OS X. This " -"means our signal delivery logic had defects (some signals could be lost)." -msgstr "" - -#: ../NEWS:38830 ../NEWS:41997 ../NEWS:46350 -msgid "" -":issue:`30765`: Avoid blocking in pthread_mutex_lock() when " -"PyThread_acquire_lock() is asked not to block." -msgstr "" - -#: ../NEWS:38833 ../NEWS:42000 -msgid "" -":issue:`31161`: Make sure the 'Missing parentheses' syntax error message is " -"only applied to SyntaxError, not to subclasses. Patch by Martijn Pieters." -msgstr "" - -#: ../NEWS:38836 ../NEWS:42003 -msgid "" -":issue:`30814`: Fixed a race condition when import a submodule from a " -"package." -msgstr "" - -#: ../NEWS:38838 -msgid "" -":issue:`30736`: The internal unicodedata database has been upgraded to " -"Unicode 10.0." -msgstr "" - -#: ../NEWS:38841 -msgid "" -":issue:`30604`: Move co_extra_freefuncs from per-thread to per-interpreter " -"to avoid crashes." -msgstr "" - -#: ../NEWS:38844 ../NEWS:42005 -msgid "" -":issue:`30597`: ``print`` now shows expected input in custom error message " -"when used as a Python 2 statement. Patch by Sanyam Khurana." -msgstr "" - -#: ../NEWS:38847 ../NEWS:42427 -msgid "" -":issue:`30682`: Removed a too-strict assertion that failed for certain " -"f-strings, such as eval(\"f'\\\\\\n'\") and eval(\"f'\\\\\\r'\")." -msgstr "" - -#: ../NEWS:38850 -msgid "" -":issue:`30501`: The compiler now produces more optimal code for complex " -"condition expressions in the \"if\", \"while\" and \"assert\" statement, the" -" \"if\" expression, and generator expressions and comprehensions." -msgstr "" - -#: ../NEWS:38854 -msgid "" -":issue:`28180`: Implement :pep:`538` (legacy C locale coercion). This means " -"that when a suitable coercion target locale is available, both the core " -"interpreter and locale-aware C extensions will assume the use of UTF-8 as " -"the default text encoding, rather than ASCII." -msgstr "" - -#: ../NEWS:38859 -msgid "" -":issue:`30486`: Allows setting cell values for __closure__. Patch by Lisa " -"Roach." -msgstr "" - -#: ../NEWS:38862 -msgid "" -":issue:`30537`: itertools.islice now accepts integer-like objects (having an" -" __index__ method) as start, stop, and slice arguments" -msgstr "" - -#: ../NEWS:38865 -msgid "" -":issue:`25324`: Tokens needed for parsing in Python moved to C. ``COMMENT``," -" ``NL`` and ``ENCODING``. This way the tokens and tok_names in the token " -"module don't get changed when you import the tokenize module." -msgstr "" - -#: ../NEWS:38869 ../NEWS:42432 -msgid ":issue:`29104`: Fixed parsing backslashes in f-strings." -msgstr "" - -#: ../NEWS:38871 ../NEWS:42434 ../NEWS:46353 -msgid "" -":issue:`27945`: Fixed various segfaults with dict when input collections are" -" mutated during searching, inserting or comparing. Based on patches by " -"Duane Griffin and Tim Mitchell." -msgstr "" - -#: ../NEWS:38875 ../NEWS:42438 ../NEWS:46357 -msgid "" -":issue:`25794`: Fixed type.__setattr__() and type.__delattr__() for non-" -"interned attribute names. Based on patch by Eryk Sun." -msgstr "" - -#: ../NEWS:38878 ../NEWS:42441 -msgid "" -":issue:`30039`: If a KeyboardInterrupt happens when the interpreter is in " -"the middle of resuming a chain of nested 'yield from' or 'await' calls, it's" -" now correctly delivered to the innermost frame." -msgstr "" - -#: ../NEWS:38882 -msgid "" -":issue:`28974`: ``object.__format__(x, '')`` is now equivalent to ``str(x)``" -" rather than ``format(str(self), '')``." -msgstr "" - -#: ../NEWS:38885 -msgid "" -":issue:`30024`: Circular imports involving absolute imports with binding a " -"submodule to a name are now supported." -msgstr "" - -#: ../NEWS:38888 ../NEWS:42445 -msgid "" -":issue:`12414`: sys.getsizeof() on a code object now returns the sizes which" -" includes the code struct and sizes of objects which it references. Patch by" -" Donghee Na." -msgstr "" - -#: ../NEWS:38892 -msgid "" -":issue:`29839`: len() now raises ValueError rather than OverflowError if " -"__len__() returned a large negative integer." -msgstr "" - -#: ../NEWS:38895 -msgid "" -":issue:`11913`: README.rst is now included in the list of distutils standard" -" READMEs and therefore included in source distributions." -msgstr "" - -#: ../NEWS:38898 -msgid "" -":issue:`29914`: Fixed default implementations of __reduce__ and " -"__reduce_ex__(). object.__reduce__() no longer takes arguments, " -"object.__reduce_ex__() now requires one argument." -msgstr "" - -#: ../NEWS:38902 ../NEWS:42449 -msgid "" -":issue:`29949`: Fix memory usage regression of set and frozenset object." -msgstr "" - -#: ../NEWS:38904 ../NEWS:42451 ../NEWS:46360 -msgid "" -":issue:`29935`: Fixed error messages in the index() method of tuple, list " -"and deque when pass indices of wrong type." -msgstr "" - -#: ../NEWS:38907 -msgid "" -":issue:`29816`: Shift operation now has less opportunity to raise " -"OverflowError. ValueError always is raised rather than OverflowError for " -"negative counts. Shifting zero with non-negative count always returns zero." -msgstr "" - -#: ../NEWS:38912 -msgid "" -":issue:`24821`: Fixed the slowing down to 25 times in the searching of some " -"unlucky Unicode characters." -msgstr "" - -#: ../NEWS:38915 -msgid "" -":issue:`29102`: Add a unique ID to PyInterpreterState. This makes it easier" -" to identify each subinterpreter." -msgstr "" - -#: ../NEWS:38918 -msgid "" -":issue:`29894`: The deprecation warning is emitted if __complex__ returns an" -" instance of a strict subclass of complex. In a future versions of Python " -"this can be an error." -msgstr "" - -#: ../NEWS:38922 ../NEWS:42454 -msgid "" -":issue:`29859`: Show correct error messages when any of the pthread_* calls " -"in thread_pthread.h fails." -msgstr "" - -#: ../NEWS:38925 -msgid "" -":issue:`29849`: Fix a memory leak when an ImportError is raised during from " -"import." -msgstr "" - -#: ../NEWS:38928 ../NEWS:42462 -msgid "" -":issue:`28856`: Fix an oversight that %b format for bytes should support " -"objects follow the buffer protocol." -msgstr "" - -#: ../NEWS:38931 ../NEWS:42769 -msgid "" -":issue:`29723`: The ``sys.path[0]`` initialization change for :issue:`29139`" -" caused a regression by revealing an inconsistency in how sys.path is " -"initialized when executing ``__main__`` from a zipfile, directory, or other " -"import location. The interpreter now consistently avoids ever adding the " -"import location's parent directory to ``sys.path``, and ensures no other " -"``sys.path`` entries are inadvertently modified when inserting the import " -"location named on the command line." -msgstr "" - -#: ../NEWS:38939 -msgid "" -":issue:`29568`: Escaped percent \"%%\" in the format string for classic " -"string formatting no longer allows any characters between two percents." -msgstr "" - -#: ../NEWS:38942 ../NEWS:42465 -msgid "" -":issue:`29714`: Fix a regression that bytes format may fail when containing " -"zero bytes inside." -msgstr "" - -#: ../NEWS:38945 -msgid "" -":issue:`29695`: bool(), float(), list() and tuple() no longer take keyword " -"arguments. The first argument of int() can now be passes only as positional " -"argument." -msgstr "" - -#: ../NEWS:38949 ../NEWS:42793 -msgid "" -":issue:`28893`: Set correct __cause__ for errors about invalid awaitables " -"returned from __aiter__ and __anext__." -msgstr "" - -#: ../NEWS:38952 ../NEWS:42457 ../NEWS:46363 -msgid "" -":issue:`28876`: ``bool(range)`` works even if ``len(range)`` raises " -":exc:`OverflowError`." -msgstr "" - -#: ../NEWS:38955 ../NEWS:42796 -msgid "" -":issue:`29683`: Fixes to memory allocation in _PyCode_SetExtra. Patch by " -"Brian Coleman." -msgstr "" - -#: ../NEWS:38958 ../NEWS:42799 -msgid "" -":issue:`29684`: Fix minor regression of PyEval_CallObjectWithKeywords. It " -"should raise TypeError when kwargs is not a dict. But it might cause segv " -"when args=NULL and kwargs is not a dict." -msgstr "" - -#: ../NEWS:38962 ../NEWS:42803 ../NEWS:46374 -msgid "" -":issue:`28598`: Support __rmod__ for subclasses of str being called before " -"str.__mod__. Patch by Martijn Pieters." -msgstr "" - -#: ../NEWS:38965 ../NEWS:42806 -msgid "" -":issue:`29607`: Fix stack_effect computation for CALL_FUNCTION_EX. Patch by " -"Matthieu Dartiailh." -msgstr "" - -#: ../NEWS:38968 ../NEWS:42809 ../NEWS:46377 -msgid "" -":issue:`29602`: Fix incorrect handling of signed zeros in complex " -"constructor for complex subclasses and for inputs having a __complex__ " -"method. Patch by Serhiy Storchaka." -msgstr "" - -#: ../NEWS:38972 ../NEWS:42813 ../NEWS:46381 -msgid "" -":issue:`29347`: Fixed possibly dereferencing undefined pointers when " -"creating weakref objects." -msgstr "" - -#: ../NEWS:38975 -msgid "" -":issue:`29463`: Add ``docstring`` field to Module, ClassDef, FunctionDef, " -"and AsyncFunctionDef ast nodes. docstring is not first stmt in their body " -"anymore. It affects ``co_firstlineno`` and ``co_lnotab`` of code object for" -" module and class. (Reverted in :issue:`32911`.)" -msgstr "" - -#: ../NEWS:38980 ../NEWS:42816 ../NEWS:46384 -msgid ":issue:`29438`: Fixed use-after-free problem in key sharing dict." -msgstr "" - -#: ../NEWS:38982 -msgid "" -":issue:`29546`: Set the 'path' and 'name' attribute on ImportError for " -"``from ... import ...``." -msgstr "" - -#: ../NEWS:38985 -msgid ":issue:`29546`: Improve from-import error message with location" -msgstr "" - -#: ../NEWS:38987 ../NEWS:42468 ../NEWS:46391 -msgid "" -":issue:`29478`: If max_line_length=None is specified while using the " -"Compat32 policy, it is no longer ignored. Patch by Mircea Cosbuc." -msgstr "" - -#: ../NEWS:38990 ../NEWS:42818 ../NEWS:46386 -msgid ":issue:`29319`: Prevent RunMainFromImporter overwriting sys.path[0]." -msgstr "" - -#: ../NEWS:38992 ../NEWS:42820 ../NEWS:46388 -msgid "" -":issue:`29337`: Fixed possible BytesWarning when compare the code objects. " -"Warnings could be emitted at compile time." -msgstr "" - -#: ../NEWS:38995 ../NEWS:42823 -msgid "" -":issue:`29327`: Fixed a crash when pass the iterable keyword argument to " -"sorted()." -msgstr "" - -#: ../NEWS:38998 ../NEWS:42826 -msgid "" -":issue:`29034`: Fix memory leak and use-after-free in os module " -"(path_converter)." -msgstr "" - -#: ../NEWS:39001 ../NEWS:42829 -msgid "" -":issue:`29159`: Fix regression in bytes(x) when x.__index__() raises " -"Exception." -msgstr "" - -#: ../NEWS:39003 -msgid "" -":issue:`29049`: Call _PyObject_GC_TRACK() lazily when calling Python " -"function. Calling function is up to 5% faster." -msgstr "" - -#: ../NEWS:39006 -msgid "" -":issue:`28927`: bytes.fromhex() and bytearray.fromhex() now ignore all ASCII" -" whitespace, not only spaces. Patch by Robert Xiao." -msgstr "" - -#: ../NEWS:39009 ../NEWS:42831 ../NEWS:46749 -msgid ":issue:`28932`: Do not include if it does not exist." -msgstr "" - -#: ../NEWS:39011 ../NEWS:42833 ../NEWS:46754 -msgid "" -":issue:`25677`: Correct the positioning of the syntax error caret for " -"indented blocks. Based on patch by Michael Layzell." -msgstr "" - -#: ../NEWS:39014 ../NEWS:42836 ../NEWS:46757 -msgid "" -":issue:`29000`: Fixed bytes formatting of octals with zero padding in " -"alternate form." -msgstr "" - -#: ../NEWS:39017 -msgid "" -":issue:`18896`: Python function can now have more than 255 parameters. " -"collections.namedtuple() now supports tuples with more than 255 elements." -msgstr "" - -#: ../NEWS:39020 -msgid "" -":issue:`28596`: The preferred encoding is UTF-8 on Android. Patch written by" -" Chi Hsuan Yen." -msgstr "" - -#: ../NEWS:39023 -msgid ":issue:`22257`: Clean up interpreter startup (see :pep:`432`)." -msgstr "" - -#: ../NEWS:39025 ../NEWS:42839 -msgid "" -":issue:`26919`: On Android, operating system data is now always " -"encoded/decoded to/from UTF-8, instead of the locale encoding to avoid " -"inconsistencies with os.fsencode() and os.fsdecode() which are already using" -" UTF-8." -msgstr "" - -#: ../NEWS:39029 ../NEWS:42843 -msgid "" -":issue:`28991`: functools.lru_cache() was susceptible to an obscure " -"reentrancy bug triggerable by a monkey-patched len() function." -msgstr "" - -#: ../NEWS:39032 ../NEWS:43117 -msgid "" -":issue:`28147`: Fix a memory leak in split-table dictionaries: setattr() " -"must not convert combined table into split table. Patch written by INADA " -"Naoki." -msgstr "" - -#: ../NEWS:39035 ../NEWS:42846 -msgid "" -":issue:`28739`: f-string expressions are no longer accepted as docstrings " -"and by ast.literal_eval() even if they do not include expressions." -msgstr "" - -#: ../NEWS:39038 ../NEWS:42849 ../NEWS:46760 -msgid "" -":issue:`28512`: Fixed setting the offset attribute of SyntaxError by " -"PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject()." -msgstr "" - -#: ../NEWS:39041 ../NEWS:42852 -msgid "" -":issue:`28918`: Fix the cross compilation of xxlimited when Python has been " -"built with Py_DEBUG defined." -msgstr "" - -#: ../NEWS:39044 ../NEWS:43147 -msgid "" -":issue:`23722`: Rather than silently producing a class that doesn't support " -"zero-argument ``super()`` in methods, failing to pass the new " -"``__classcell__`` namespace entry up to ``type.__new__`` now results in a " -"``DeprecationWarning`` and a class that supports zero-argument ``super()``." -msgstr "" - -#: ../NEWS:39050 ../NEWS:43153 -msgid "" -":issue:`28797`: Modifying the class __dict__ inside the __set_name__ method " -"of a descriptor that is used inside that class no longer prevents calling " -"the __set_name__ method of other descriptors." -msgstr "" - -#: ../NEWS:39054 -msgid "" -":issue:`28799`: Remove the ``PyEval_GetCallStats()`` function and deprecate " -"the untested and undocumented ``sys.callstats()`` function. Remove the " -"``CALL_PROFILE`` special build: use the :func:`sys.setprofile` function, " -":mod:`cProfile` or :mod:`profile` to profile function calls." -msgstr "" - -#: ../NEWS:39059 -msgid "" -":issue:`12844`: More than 255 arguments can now be passed to a function." -msgstr "" - -#: ../NEWS:39061 ../NEWS:43157 -msgid "" -":issue:`28782`: Fix a bug in the implementation ``yield from`` when checking" -" if the next instruction is YIELD_FROM. Regression introduced by WORDCODE " -"(:issue:`26647`)." -msgstr "" - -#: ../NEWS:39065 -msgid "" -":issue:`28774`: Fix error position of the unicode error in ASCII and Latin1 " -"encoders when a string returned by the error handler contains multiple non-" -"encodable characters (non-ASCII for the ASCII codec, characters out of the " -"U+0000-U+00FF range for Latin1)." -msgstr "" - -#: ../NEWS:39070 ../NEWS:42855 -msgid "" -":issue:`28731`: Optimize _PyDict_NewPresized() to create correct size dict. " -"Improve speed of dict literal with constant keys up to 30%." -msgstr "" - -#: ../NEWS:39073 ../NEWS:43211 -msgid ":issue:`28532`: Show sys.version when -V option is supplied twice." -msgstr "" - -#: ../NEWS:39075 ../NEWS:43213 -msgid "" -":issue:`27100`: The with-statement now checks for __enter__ before it checks" -" for __exit__. This gives less confusing error messages when both methods " -"are missing. Patch by Jonathan Ellington." -msgstr "" - -#: ../NEWS:39079 ../NEWS:43217 -msgid "" -":issue:`28746`: Fix the set_inheritable() file descriptor method on " -"platforms that do not have the ioctl FIOCLEX and FIONCLEX commands." -msgstr "" - -#: ../NEWS:39082 ../NEWS:43220 -msgid "" -":issue:`26920`: Fix not getting the locale's charset upon initializing the " -"interpreter, on platforms that do not have langinfo." -msgstr "" - -#: ../NEWS:39085 ../NEWS:43223 ../NEWS:46766 -msgid "" -":issue:`28648`: Fixed crash in Py_DecodeLocale() in debug build on Mac OS X " -"when decode astral characters. Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:39088 ../NEWS:43229 -msgid ":issue:`28665`: Improve speed of the STORE_DEREF opcode by 40%." -msgstr "" - -#: ../NEWS:39090 ../NEWS:43226 ../NEWS:46769 -msgid "" -":issue:`19398`: Extra slash no longer added to sys.path components in case " -"of empty compile-time PYTHONPATH components." -msgstr "" - -#: ../NEWS:39093 -msgid "" -":issue:`28621`: Sped up converting int to float by reusing faster bits " -"counting implementation. Patch by Adrian Wielgosik." -msgstr "" - -#: ../NEWS:39096 -msgid "" -":issue:`28580`: Optimize iterating split table values. Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:39098 ../NEWS:43231 -msgid "" -":issue:`28583`: PyDict_SetDefault didn't combine split table when needed. " -"Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:39101 ../NEWS:43325 -msgid "" -":issue:`28128`: Deprecation warning for invalid str and byte escape " -"sequences now prints better information about where the error occurs. Patch " -"by Serhiy Storchaka and Eric Smith." -msgstr "" - -#: ../NEWS:39105 ../NEWS:43329 -msgid "" -":issue:`28509`: dict.update() no longer allocate unnecessary large memory." -msgstr "" - -#: ../NEWS:39107 ../NEWS:43331 ../NEWS:46772 -msgid "" -":issue:`28426`: Fixed potential crash in PyUnicode_AsDecodedObject() in " -"debug build." -msgstr "" - -#: ../NEWS:39110 ../NEWS:43334 -msgid "" -":issue:`28517`: Fixed of-by-one error in the peephole optimizer that caused " -"keeping unreachable code." -msgstr "" - -#: ../NEWS:39113 ../NEWS:43337 -msgid "" -":issue:`28214`: Improved exception reporting for problematic __set_name__ " -"attributes." -msgstr "" - -#: ../NEWS:39116 ../NEWS:43340 ../NEWS:46775 -msgid "" -":issue:`23782`: Fixed possible memory leak in _PyTraceback_Add() and " -"exception loss in PyTraceBack_Here()." -msgstr "" - -#: ../NEWS:39119 ../NEWS:43449 -msgid ":issue:`28183`: Optimize and cleanup dict iteration." -msgstr "" - -#: ../NEWS:39121 ../NEWS:43451 -msgid "" -":issue:`26081`: Added C implementation of asyncio.Future. Original patch by " -"Yury Selivanov." -msgstr "" - -#: ../NEWS:39124 ../NEWS:43454 ../NEWS:46778 -msgid "" -":issue:`28379`: Added sanity checks and tests for " -"PyUnicode_CopyCharacters(). Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:39127 ../NEWS:43457 ../NEWS:46781 -msgid "" -":issue:`28376`: The type of long range iterator is now registered as " -"Iterator. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:39130 -msgid "" -":issue:`28376`: Creating instances of range_iterator by calling " -"range_iterator type now is disallowed. Calling iter() on range instance is " -"the only way. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:39134 ../NEWS:43466 ../NEWS:46787 -msgid "" -":issue:`26906`: Resolving special methods of uninitialized type now causes " -"implicit initialization of the type instead of a fail." -msgstr "" - -#: ../NEWS:39137 ../NEWS:43469 ../NEWS:46790 -msgid "" -":issue:`18287`: PyType_Ready() now checks that tp_name is not NULL. Original" -" patch by Niklas Koep." -msgstr "" - -#: ../NEWS:39140 ../NEWS:43472 ../NEWS:46793 -msgid "" -":issue:`24098`: Fixed possible crash when AST is changed in process of " -"compiling it." -msgstr "" - -#: ../NEWS:39143 ../NEWS:43475 -msgid "" -":issue:`28201`: Dict reduces possibility of 2nd conflict in hash table when " -"hashes have same lower bits." -msgstr "" - -#: ../NEWS:39146 ../NEWS:43478 ../NEWS:46796 -msgid "" -":issue:`28350`: String constants with null character no longer interned." -msgstr "" - -#: ../NEWS:39148 ../NEWS:43480 ../NEWS:46798 -msgid ":issue:`26617`: Fix crash when GC runs during weakref callbacks." -msgstr "" - -#: ../NEWS:39150 ../NEWS:43482 ../NEWS:46800 -msgid "" -":issue:`27942`: String constants now interned recursively in tuples and " -"frozensets." -msgstr "" - -#: ../NEWS:39153 -msgid "" -":issue:`28289`: ImportError.__init__ now resets not specified attributes." -msgstr "" - -#: ../NEWS:39155 ../NEWS:43485 ../NEWS:46803 -msgid "" -":issue:`21578`: Fixed misleading error message when ImportError called with " -"invalid keyword args." -msgstr "" - -#: ../NEWS:39158 ../NEWS:43488 -msgid "" -":issue:`28203`: Fix incorrect type in complex(1.0, {2:3}) error message. " -"Patch by Soumya Sharma." -msgstr "" - -#: ../NEWS:39161 ../NEWS:43491 -msgid "" -":issue:`28086`: Single var-positional argument of tuple subtype was passed " -"unscathed to the C-defined function. Now it is converted to exact tuple." -msgstr "" - -#: ../NEWS:39164 ../NEWS:43494 -msgid "" -":issue:`28214`: Now __set_name__ is looked up on the class instead of the " -"instance." -msgstr "" - -#: ../NEWS:39167 ../NEWS:43497 ../NEWS:46809 -msgid "" -":issue:`27955`: Fallback on reading /dev/urandom device when the getrandom()" -" syscall fails with EPERM, for example when blocked by SECCOMP." -msgstr "" - -#: ../NEWS:39170 ../NEWS:43500 -msgid ":issue:`28192`: Don't import readline in isolated mode." -msgstr "" - -#: ../NEWS:39172 -msgid "" -":issue:`27441`: Remove some redundant assignments to ob_size in " -"longobject.c. Thanks Oren Milman." -msgstr "" - -#: ../NEWS:39175 -msgid "" -":issue:`27222`: Clean up redundant code in long_rshift function. Thanks Oren" -" Milman." -msgstr "" - -#: ../NEWS:39178 ../NEWS:43502 -msgid "Upgrade internal unicode databases to Unicode version 9.0.0." -msgstr "Perbarui database unicode internal ke Unicode versi 9.0.0." - -#: ../NEWS:39180 ../NEWS:43504 ../NEWS:46812 -msgid "" -":issue:`28131`: Fix a regression in zipimport's compile_source(). zipimport" -" should use the same optimization level as the interpreter." -msgstr "" - -#: ../NEWS:39183 ../NEWS:43507 -msgid "" -":issue:`28126`: Replace Py_MEMCPY with memcpy(). Visual Studio can properly " -"optimize memcpy()." -msgstr "" - -#: ../NEWS:39186 ../NEWS:43510 -msgid "" -":issue:`28120`: Fix dict.pop() for split dictionary when trying to remove a " -"\"pending key\" (Not yet inserted in split-table). Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:39189 ../NEWS:43513 -msgid "" -":issue:`26182`: Raise DeprecationWarning when async and await keywords are " -"used as variable/attribute/class/function name." -msgstr "" - -#: ../NEWS:39192 ../NEWS:43238 -msgid ":issue:`26182`: Fix a refleak in code that raises DeprecationWarning." -msgstr "" - -#: ../NEWS:39194 ../NEWS:43240 -msgid "" -":issue:`28721`: Fix asynchronous generators aclose() and athrow() to handle " -"StopAsyncIteration propagation properly." -msgstr "" - -#: ../NEWS:39197 -msgid "" -":issue:`26110`: Speed-up method calls: add LOAD_METHOD and CALL_METHOD " -"opcodes." -msgstr "" - -#: ../NEWS:39202 ../NEWS:42011 -msgid "" -":issue:`31499`: xml.etree: Fix a crash when a parser is part of a reference " -"cycle." -msgstr "" - -#: ../NEWS:39205 ../NEWS:41733 -msgid ":issue:`31482`: ``random.seed()`` now works with bytes in version=1" -msgstr "" - -#: ../NEWS:39207 ../NEWS:42014 -msgid "" -":issue:`28556`: typing.get_type_hints now finds the right globalns for " -"classes and modules by default (when no ``globalns`` was specified by the " -"caller)." -msgstr "" - -#: ../NEWS:39210 ../NEWS:42017 -msgid "" -":issue:`28556`: Speed improvements to the ``typing`` module. Original PRs " -"by Ivan Levkivskyi and Mitar." -msgstr "" - -#: ../NEWS:39213 ../NEWS:42020 -msgid "" -":issue:`31544`: The C accelerator module of ElementTree ignored exceptions " -"raised when looking up TreeBuilder target methods in XMLParser()." -msgstr "" - -#: ../NEWS:39216 ../NEWS:42023 -msgid "" -":issue:`31234`: socket.create_connection() now fixes manually a reference " -"cycle: clear the variable storing the last exception on success." -msgstr "" - -#: ../NEWS:39219 ../NEWS:42026 -msgid ":issue:`31457`: LoggerAdapter objects can now be nested." -msgstr "" - -#: ../NEWS:39221 -msgid "" -":issue:`31431`: SSLContext.check_hostname now automatically sets " -"SSLContext.verify_mode to ssl.CERT_REQUIRED instead of failing with a " -"ValueError." -msgstr "" - -#: ../NEWS:39225 -msgid "" -":issue:`31233`: socketserver.ThreadingMixIn now keeps a list of non-daemonic" -" threads to wait until all these threads complete in server_close()." -msgstr "" - -#: ../NEWS:39228 -msgid "" -":issue:`28638`: Changed the implementation strategy for " -"collections.namedtuple() to substantially reduce the use of exec() in favor " -"of precomputed methods. As a result, the *verbose* parameter and *_source* " -"attribute are no longer supported. The benefits include 1) having a smaller" -" memory footprint for applications using multiple named tuples, 2) faster " -"creation of the named tuple class (approx 4x to 6x depending on how it is " -"measured), and 3) minor speed-ups for instance creation using __new__, " -"_make, and _replace. (The primary patch contributor is Jelle Zijlstra with " -"further improvements by INADA Naoki, Serhiy Storchaka, and Raymond " -"Hettinger.)" -msgstr "" - -#: ../NEWS:39239 ../NEWS:42028 -msgid "" -":issue:`31400`: Improves SSL error handling to avoid losing error numbers." -msgstr "" - -#: ../NEWS:39241 -msgid "" -":issue:`27629`: Make return types of SSLContext.wrap_bio() and " -"SSLContext.wrap_socket() customizable." -msgstr "" - -#: ../NEWS:39244 ../NEWS:42030 -msgid "" -":issue:`28958`: ssl.SSLContext() now uses OpenSSL error information when a " -"context cannot be instantiated." -msgstr "" - -#: ../NEWS:39247 -msgid "" -":issue:`28182`: The SSL module now raises SSLCertVerificationError when " -"OpenSSL fails to verify the peer's certificate. The exception contains more " -"information about the error." -msgstr "" - -#: ../NEWS:39251 ../NEWS:42033 -msgid "" -":issue:`27340`: SSLSocket.sendall() now uses memoryview to create slices of " -"data. This fixes support for all bytes-like object. It is also more " -"efficient and avoids costly copies." -msgstr "" - -#: ../NEWS:39255 -msgid "" -":issue:`14191`: A new function " -"``argparse.ArgumentParser.parse_intermixed_args`` provides the ability to " -"parse command lines where there user intermixes options and positional " -"arguments." -msgstr "" - -#: ../NEWS:39260 ../NEWS:42037 -msgid "" -":issue:`31178`: Fix string concatenation bug in rare error path in the " -"subprocess module" -msgstr "" - -#: ../NEWS:39263 ../NEWS:42040 -msgid "" -":issue:`31350`: Micro-optimize :func:`asyncio._get_running_loop` to become " -"up to 10% faster." -msgstr "" - -#: ../NEWS:39266 ../NEWS:42043 ../NEWS:46296 -msgid "" -":issue:`31170`: expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of " -"partial characters for UTF-8 input (libexpat bug 115): " -"https://github.com/libexpat/libexpat/issues/115" -msgstr "" - -#: ../NEWS:39270 ../NEWS:42047 -msgid ":issue:`29136`: Add TLS 1.3 cipher suites and OP_NO_TLSv1_3." -msgstr "" - -#: ../NEWS:39272 -msgid "" -":issue:`1198569`: ``string.Template`` subclasses can optionally define " -"``braceidpattern`` if they want to specify different placeholder patterns " -"inside and outside the braces. If None (the default) it falls back to " -"``idpattern``." -msgstr "" - -#: ../NEWS:39277 -msgid "" -":issue:`31326`: concurrent.futures.ProcessPoolExecutor.shutdown() now " -"explicitly closes the call queue. Moreover, shutdown(wait=True) now also " -"join the call queue thread, to prevent leaking a dangling thread." -msgstr "" - -#: ../NEWS:39281 ../NEWS:42058 -msgid "" -":issue:`27144`: The ``map()`` and ``as_completed()`` iterators in " -"``concurrent.futures`` now avoid keeping a reference to yielded objects." -msgstr "" - -#: ../NEWS:39284 -msgid "" -":issue:`31281`: Fix ``fileinput.FileInput(files, inplace=True)`` when " -"``files`` contain ``pathlib.Path`` objects." -msgstr "" - -#: ../NEWS:39287 ../NEWS:42061 -msgid "" -":issue:`10746`: Fix ctypes producing wrong :pep:`3118` type codes for " -"integer types." -msgstr "" - -#: ../NEWS:39290 -msgid "" -":issue:`27584`: ``AF_VSOCK`` has been added to the socket interface which " -"allows communication between virtual machines and their host." -msgstr "" - -#: ../NEWS:39293 ../NEWS:42064 -msgid "" -":issue:`22536`: The subprocess module now sets the filename when " -"FileNotFoundError is raised on POSIX systems due to the executable or cwd " -"not being found." -msgstr "" - -#: ../NEWS:39297 -msgid "" -":issue:`29741`: Update some methods in the _pyio module to also accept " -"integer types. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:39300 ../NEWS:42068 -msgid "" -":issue:`31249`: concurrent.futures: WorkItem.run() used by " -"ThreadPoolExecutor now breaks a reference cycle between an exception object " -"and the WorkItem object." -msgstr "" - -#: ../NEWS:39304 ../NEWS:42072 -msgid "" -":issue:`31247`: xmlrpc.server now explicitly breaks reference cycles when " -"using sys.exc_info() in code handling exceptions." -msgstr "" - -#: ../NEWS:39307 -msgid "" -":issue:`23835`: configparser: reading defaults in the ``ConfigParser()`` " -"constructor is now using ``read_dict()``, making its behavior consistent " -"with the rest of the parser. Non-string keys and values in the defaults " -"dictionary are now being implicitly converted to strings. Patch by James " -"Tocknell." -msgstr "" - -#: ../NEWS:39313 ../NEWS:40988 -msgid "" -":issue:`31238`: pydoc: the stop() method of the private ServerThread class " -"now waits until DocServer.serve_until_quit() completes and then explicitly " -"sets its docserver attribute to None to break a reference cycle." -msgstr "" - -#: ../NEWS:39317 -msgid "" -":issue:`5001`: Many asserts in ``multiprocessing`` are now more informative," -" and some error types have been changed to more specific ones." -msgstr "" - -#: ../NEWS:39320 -msgid ":issue:`31109`: Convert zipimport to use Argument Clinic." -msgstr "" - -#: ../NEWS:39322 ../NEWS:42075 -msgid "" -":issue:`30102`: The ssl and hashlib modules now call " -"OPENSSL_add_all_algorithms_noconf() on OpenSSL < 1.1.0. The function detects" -" CPU features and enables optimizations on some CPU architectures such as " -"POWER8. Patch is based on research from Gustavo Serra Scalet." -msgstr "" - -#: ../NEWS:39327 -msgid "" -":issue:`18966`: Non-daemonic threads created by a multiprocessing.Process " -"are now joined on child exit." -msgstr "" - -#: ../NEWS:39330 -msgid "" -":issue:`31183`: ``dis`` now works with asynchronous generator and coroutine " -"objects. Patch by George Collins based on diagnosis by Luciano Ramalho." -msgstr "" - -#: ../NEWS:39333 -msgid "" -":issue:`5001`: There are a number of uninformative asserts in the " -"``multiprocessing`` module, as noted in issue 5001. This change fixes two of" -" the most potentially problematic ones, since they are in error-reporting " -"code, in the ``multiprocessing.managers.convert_to_error`` function. (It " -"also makes more informative a ValueError message.) The only potentially " -"problematic change is that the AssertionError is now a TypeError; however, " -"this should also help distinguish it from an AssertionError being *reported*" -" by the function/its caller (such as in issue 31169). - Patch by Allen W. " -"Smith (drallensmith on github)." -msgstr "" - -#: ../NEWS:39343 ../NEWS:42080 -msgid ":issue:`31185`: Fixed miscellaneous errors in asyncio speedup module." -msgstr "" - -#: ../NEWS:39345 -msgid "" -":issue:`31151`: socketserver.ForkingMixIn.server_close() now waits until all" -" child processes completed to prevent leaking zombie processes." -msgstr "" - -#: ../NEWS:39348 -msgid "" -":issue:`31072`: Add an ``include_file`` parameter to " -"``zipapp.create_archive()``" -msgstr "" - -#: ../NEWS:39351 -msgid "" -":issue:`24700`: Optimize array.array comparison. It is now from 10x up to " -"70x faster when comparing arrays holding values of the same integer type." -msgstr "" - -#: ../NEWS:39354 ../NEWS:42082 -msgid "" -":issue:`31135`: ttk: fix the destroy() method of LabeledScale and OptionMenu" -" classes. Call the parent destroy() method even if the used attribute " -"doesn't exist. The LabeledScale.destroy() method now also explicitly clears " -"label and scale attributes to help the garbage collector to destroy all " -"widgets." -msgstr "" - -#: ../NEWS:39360 ../NEWS:42088 -msgid "" -":issue:`31107`: Fix ``copyreg._slotnames()`` mangled attribute calculation " -"for classes whose name begins with an underscore. Patch by Shane Harvey." -msgstr "" - -#: ../NEWS:39363 -msgid "" -":issue:`31080`: Allow ``logging.config.fileConfig`` to accept kwargs and/or " -"args." -msgstr "" - -#: ../NEWS:39366 -msgid "" -":issue:`30897`: ``pathlib.Path`` objects now include an ``is_mount()`` " -"method (only implemented on POSIX). This is similar to " -"``os.path.ismount(p)``. Patch by Cooper Ry Lees." -msgstr "" - -#: ../NEWS:39370 ../NEWS:42091 -msgid ":issue:`31061`: Fixed a crash when using asyncio and threads." -msgstr "" - -#: ../NEWS:39372 -msgid "" -":issue:`30987`: Added support for CAN ISO-TP protocol in the socket module." -msgstr "" - -#: ../NEWS:39374 -msgid "" -":issue:`30522`: Added a ``setStream`` method to ``logging.StreamHandler`` to" -" allow the stream to be set after creation." -msgstr "" - -#: ../NEWS:39377 ../NEWS:42093 -msgid "" -":issue:`30502`: Fix handling of long oids in ssl. Based on patch by " -"Christian Heimes." -msgstr "" - -#: ../NEWS:39380 -msgid ":issue:`5288`: Support tzinfo objects with sub-minute offsets." -msgstr "" - -#: ../NEWS:39382 -msgid "" -":issue:`30919`: Fix shared memory performance regression in multiprocessing " -"in 3.x. Shared memory used anonymous memory mappings in 2.x, while 3.x mmaps" -" actual files. Try to be careful to do as little disk I/O as possible." -msgstr "" - -#: ../NEWS:39386 -msgid "" -":issue:`26732`: Fix too many fds in processes started with the " -"\"forkserver\" method. A child process would inherit as many fds as the " -"number of still-running children." -msgstr "" - -#: ../NEWS:39390 ../NEWS:42103 ../NEWS:46397 -msgid "" -":issue:`29403`: Fix ``unittest.mock``'s autospec to not fail on method-bound" -" builtin functions. Patch by Aaron Gallagher." -msgstr "" - -#: ../NEWS:39393 ../NEWS:42106 ../NEWS:46400 -msgid ":issue:`30961`: Fix decrementing a borrowed reference in tracemalloc." -msgstr "" - -#: ../NEWS:39395 -msgid "" -":issue:`19896`: Fix multiprocessing.sharedctypes to recognize typecodes " -"``'q'`` and ``'Q'``." -msgstr "" - -#: ../NEWS:39398 -msgid "" -":issue:`30946`: Remove obsolete code in readline module for platforms where " -"GNU readline is older than 2.1 or where select() is not available." -msgstr "" - -#: ../NEWS:39401 ../NEWS:42108 -msgid "" -":issue:`25684`: Change ``ttk.OptionMenu`` radiobuttons to be unique across " -"instances of ``OptionMenu``." -msgstr "" - -#: ../NEWS:39404 ../NEWS:42111 ../NEWS:46402 -msgid "" -":issue:`30886`: Fix multiprocessing.Queue.join_thread(): it now waits until " -"the thread completes, even if the thread was started by the same process " -"which created the queue." -msgstr "" - -#: ../NEWS:39408 ../NEWS:42115 ../NEWS:46406 -msgid "" -":issue:`29854`: Fix segfault in readline when using readline's history-size " -"option. Patch by Nir Soffer." -msgstr "" - -#: ../NEWS:39411 -msgid "" -":issue:`30794`: Added multiprocessing.Process.kill method to terminate using" -" the SIGKILL signal on Unix." -msgstr "" - -#: ../NEWS:39414 ../NEWS:42118 -msgid ":issue:`30319`: socket.close() now ignores ECONNRESET error." -msgstr "" - -#: ../NEWS:39416 ../NEWS:42120 -msgid "" -":issue:`30828`: Fix out of bounds write in " -"``asyncio.CFuture.remove_done_callback()``." -msgstr "" - -#: ../NEWS:39419 -msgid "" -":issue:`30302`: Use keywords in the ``repr`` of ``datetime.timedelta``." -msgstr "" - -#: ../NEWS:39421 ../NEWS:42123 ../NEWS:46409 -msgid "" -":issue:`30807`: signal.setitimer() may disable the timer when passed a tiny " -"value. Tiny values (such as 1e-6) are valid non-zero values for setitimer()," -" which is specified as taking microsecond-resolution intervals. However, on " -"some platform, our conversion routine could convert 1e-6 into a zero " -"interval, therefore disabling the timer instead of (re-)scheduling it." -msgstr "" - -#: ../NEWS:39428 ../NEWS:42130 ../NEWS:46416 -msgid "" -":issue:`30441`: Fix bug when modifying os.environ while iterating over it" -msgstr "" - -#: ../NEWS:39430 -msgid "" -":issue:`29585`: Avoid importing ``sysconfig`` from ``site`` to improve " -"startup speed. Python startup is about 5% faster on Linux and 30% faster on " -"macOS." -msgstr "" - -#: ../NEWS:39433 -msgid "" -":issue:`29293`: Add missing parameter \"n\" on " -"multiprocessing.Condition.notify(). The doc claims multiprocessing.Condition" -" behaves like threading.Condition, but its notify() method lacked the " -"optional \"n\" argument (to specify the number of sleepers to wake up) that " -"threading.Condition.notify() accepts." -msgstr "" - -#: ../NEWS:39439 ../NEWS:42132 ../NEWS:46418 -msgid "" -":issue:`30532`: Fix email header value parser dropping folding white space " -"in certain cases." -msgstr "" - -#: ../NEWS:39442 -msgid "" -":issue:`30596`: Add a ``close()`` method to ``multiprocessing.Process``." -msgstr "" - -#: ../NEWS:39444 ../NEWS:42054 -msgid "" -":issue:`9146`: Fix a segmentation fault in _hashopenssl when standard hash " -"functions such as md5 are not available in the linked OpenSSL library. As " -"in some special FIPS-140 build environments." -msgstr "" - -#: ../NEWS:39448 ../NEWS:42861 ../NEWS:46421 -msgid ":issue:`29169`: Update zlib to 1.2.11." -msgstr "" - -#: ../NEWS:39450 ../NEWS:42096 ../NEWS:46309 -msgid "" -":issue:`30119`: ftplib.FTP.putline() now throws ValueError on commands that " -"contains CR or LF. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:39453 ../NEWS:42135 ../NEWS:46423 -msgid "" -":issue:`30879`: os.listdir() and os.scandir() now emit bytes names when " -"called with bytes-like argument." -msgstr "" - -#: ../NEWS:39456 ../NEWS:42138 ../NEWS:46426 -msgid "" -":issue:`30746`: Prohibited the '=' character in environment variable names " -"in ``os.putenv()`` and ``os.spawn*()``." -msgstr "" - -#: ../NEWS:39459 -msgid "" -":issue:`30664`: The description of a unittest subtest now preserves the " -"order of keyword arguments of TestCase.subTest()." -msgstr "" - -#: ../NEWS:39462 -msgid "" -":issue:`21071`: struct.Struct.format type is now :class:`str` instead of " -":class:`bytes`." -msgstr "" - -#: ../NEWS:39465 ../NEWS:42049 -msgid "" -":issue:`29212`: Fix concurrent.futures.thread.ThreadPoolExecutor threads to " -"have a non repr() based thread name by default when no thread_name_prefix is" -" supplied. They will now identify themselves as \"ThreadPoolExecutor-y_n\"." -msgstr "" - -#: ../NEWS:39470 ../NEWS:42141 ../NEWS:46429 -msgid "" -":issue:`29755`: Fixed the lgettext() family of functions in the gettext " -"module. They now always return bytes." -msgstr "" - -#: ../NEWS:39473 ../NEWS:42474 -msgid "" -":issue:`30616`: Functional API of enum allows to create empty enums. Patched" -" by Donghee Na" -msgstr "" - -#: ../NEWS:39476 ../NEWS:42477 -msgid "" -":issue:`30038`: Fix race condition between signal delivery and wakeup file " -"descriptor. Patch by Nathaniel Smith." -msgstr "" - -#: ../NEWS:39479 ../NEWS:42480 -msgid "" -":issue:`23894`: lib2to3 now recognizes ``rb'...'`` and ``f'...'`` strings." -msgstr "" - -#: ../NEWS:39481 -msgid "" -":issue:`24744`: pkgutil.walk_packages function now raises ValueError if " -"*path* is a string. Patch by Sanyam Khurana." -msgstr "" - -#: ../NEWS:39484 ../NEWS:46446 -msgid ":issue:`24484`: Avoid race condition in multiprocessing cleanup." -msgstr "" - -#: ../NEWS:39486 -msgid "" -":issue:`30589`: Fix multiprocessing.Process.exitcode to return the opposite " -"of the signal number when the process is killed by a signal (instead of 255)" -" when using the \"forkserver\" method." -msgstr "" - -#: ../NEWS:39490 ../NEWS:42501 ../NEWS:46448 -msgid "" -":issue:`28994`: The traceback no longer displayed for SystemExit raised in a" -" callback registered by atexit." -msgstr "" - -#: ../NEWS:39493 ../NEWS:42504 ../NEWS:46451 -msgid "" -":issue:`30508`: Don't log exceptions if Task/Future \"cancel()\" method was " -"called." -msgstr "" - -#: ../NEWS:39496 -msgid "" -":issue:`30645`: Fix path calculation in ``imp.load_package()``, fixing it " -"for cases when a package is only shipped with bytecodes. Patch by Alexandru " -"Ardelean." -msgstr "" - -#: ../NEWS:39500 -msgid "" -":issue:`11822`: The dis.dis() function now is able to disassemble nested " -"code objects." -msgstr "" - -#: ../NEWS:39503 -msgid "" -":issue:`30624`: selectors does not take KeyboardInterrupt and SystemExit " -"into account, leaving a fd in a bad state in case of error. Patch by " -"Giampaolo Rodola'." -msgstr "" - -#: ../NEWS:39507 ../NEWS:42099 -msgid "" -":issue:`30595`: multiprocessing.Queue.get() with a timeout now polls its " -"reader in non-blocking mode if it succeeded to acquire the lock but the " -"acquire took longer than the timeout." -msgstr "" - -#: ../NEWS:39511 ../NEWS:42507 ../NEWS:46454 -msgid "" -":issue:`28556`: Updates to typing module: Add generic AsyncContextManager, " -"add support for ContextManager on all versions. Original PRs by Jelle " -"Zijlstra and Ivan Levkivskyi" -msgstr "" - -#: ../NEWS:39515 ../NEWS:42496 -msgid "" -":issue:`30605`: re.compile() no longer raises a BytesWarning when compiling " -"a bytes instance with misplaced inline modifier. Patch by Roy Williams." -msgstr "" - -#: ../NEWS:39518 ../NEWS:42511 ../NEWS:46458 -msgid "" -":issue:`29870`: Fix ssl sockets leaks when connection is aborted in " -"asyncio/ssl implementation. Patch by Michaël Sghaïer." -msgstr "" - -#: ../NEWS:39521 ../NEWS:42514 ../NEWS:46461 -msgid "" -":issue:`29743`: Closing transport during handshake process leaks open " -"socket. Patch by Nikolay Kim" -msgstr "" - -#: ../NEWS:39524 ../NEWS:42517 ../NEWS:46464 -msgid "" -":issue:`27585`: Fix waiter cancellation in asyncio.Lock. Patch by Mathieu " -"Sornay." -msgstr "" - -#: ../NEWS:39527 -msgid "" -":issue:`30014`: modify() method of poll(), epoll() and devpoll() based " -"classes of selectors module is around 10% faster. Patch by Giampaolo " -"Rodola'." -msgstr "" - -#: ../NEWS:39530 ../NEWS:42520 ../NEWS:46467 -msgid "" -":issue:`30418`: On Windows, subprocess.Popen.communicate() now also ignore " -"EINVAL on stdin.write() if the child process is still running but closed the" -" pipe." -msgstr "" - -#: ../NEWS:39534 -msgid "" -":issue:`30463`: Added empty __slots__ to abc.ABC. This allows subclassers " -"to deny __dict__ and __weakref__ creation. Patch by Aaron Hall." -msgstr "" - -#: ../NEWS:39537 -msgid ":issue:`30520`: Loggers are now pickleable." -msgstr "" - -#: ../NEWS:39539 ../NEWS:42531 -msgid "" -":issue:`30557`: faulthandler now correctly filters and displays exception " -"codes on Windows" -msgstr "" - -#: ../NEWS:39542 -msgid "" -":issue:`30526`: Add TextIOWrapper.reconfigure() and a " -"TextIOWrapper.write_through attribute." -msgstr "" - -#: ../NEWS:39545 -msgid "" -":issue:`30245`: Fix possible overflow when organize struct.pack_into error " -"message. Patch by Yuan Liu." -msgstr "" - -#: ../NEWS:39548 ../NEWS:42534 ../NEWS:46471 -msgid "" -":issue:`30378`: Fix the problem that logging.handlers.SysLogHandler cannot " -"handle IPv6 addresses." -msgstr "" - -#: ../NEWS:39551 -msgid ":issue:`16500`: Allow registering at-fork handlers." -msgstr "" - -#: ../NEWS:39553 -msgid "" -":issue:`30470`: Deprecate invalid ctypes call protection on Windows. Patch " -"by Mariatta Wijaya." -msgstr "" - -#: ../NEWS:39556 ../NEWS:42540 ../NEWS:46477 -msgid "" -":issue:`30414`: multiprocessing.Queue._feed background running thread do not" -" break from main loop on exception." -msgstr "" - -#: ../NEWS:39559 ../NEWS:42543 ../NEWS:46480 -msgid "" -":issue:`30003`: Fix handling escape characters in HZ codec. Based on patch " -"by Ma Lin." -msgstr "" - -#: ../NEWS:39562 ../NEWS:42485 ../NEWS:46439 -msgid "" -":issue:`30149`: inspect.signature() now supports callables with variable-" -"argument parameters wrapped with partialmethod. Patch by Donghee Na." -msgstr "" - -#: ../NEWS:39566 -msgid "" -":issue:`30436`: importlib.find_spec() raises ModuleNotFoundError instead of " -"AttributeError if the specified parent module is not a package (i.e. lacks a" -" __path__ attribute)." -msgstr "" - -#: ../NEWS:39570 ../NEWS:42546 ../NEWS:46483 -msgid "" -":issue:`30301`: Fix AttributeError when using SimpleQueue.empty() under " -"*spawn* and *forkserver* start methods." -msgstr "" - -#: ../NEWS:39573 ../NEWS:42553 ../NEWS:46490 -msgid "" -":issue:`30375`: Warnings emitted when compile a regular expression now " -"always point to the line in the user code. Previously they could point into" -" inners of the re module if emitted from inside of groups or conditionals." -msgstr "" - -#: ../NEWS:39577 ../NEWS:42549 ../NEWS:46486 -msgid "" -":issue:`30329`: imaplib and poplib now catch the Windows socket WSAEINVAL " -"error (code 10022) on shutdown(SHUT_RDWR): An invalid operation was " -"attempted. This error occurs sometimes on SSL connections." -msgstr "" - -#: ../NEWS:39581 -msgid "" -":issue:`29196`: Removed previously deprecated in Python 2.4 classes Plist, " -"Dict and _InternalDict in the plistlib module. Dict values in the result of" -" functions readPlist() and readPlistFromBytes() are now normal dicts. You " -"no longer can use attribute access to access items of these dictionaries." -msgstr "" - -#: ../NEWS:39586 -msgid "" -":issue:`9850`: The :mod:`macpath` is now deprecated and will be removed in " -"Python 3.8." -msgstr "" - -#: ../NEWS:39589 -msgid "" -":issue:`30299`: Compiling regular expression in debug mode on CPython now " -"displays the compiled bytecode in human readable form." -msgstr "" - -#: ../NEWS:39592 ../NEWS:42557 ../NEWS:46494 -msgid "" -":issue:`30048`: Fixed ``Task.cancel()`` can be ignored when the task is " -"running coroutine and the coroutine returned without any more ``await``." -msgstr "" - -#: ../NEWS:39595 ../NEWS:42560 -msgid "" -":issue:`30266`: contextlib.AbstractContextManager now supports anti-" -"registration by setting __enter__ = None or __exit__ = None, following the " -"pattern introduced in :issue:`25958`. Patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:39599 -msgid "" -":issue:`30340`: Enhanced regular expressions optimization. This increased " -"the performance of matching some patterns up to 25 times." -msgstr "" - -#: ../NEWS:39602 ../NEWS:42564 -msgid "" -":issue:`30298`: Weaken the condition of deprecation warnings for inline " -"modifiers. Now allowed several subsequential inline modifiers at the start " -"of the pattern (e.g. ``'(?i)(?s)...'``). In verbose mode whitespaces and " -"comments now are allowed before and between inline modifiers (e.g. ``'(?x) " -"(?i) (?s)...'``)." -msgstr "" - -#: ../NEWS:39608 -msgid "" -":issue:`30285`: Optimized case-insensitive matching and searching of regular" -" expressions." -msgstr "" - -#: ../NEWS:39611 ../NEWS:42570 ../NEWS:46497 -msgid "" -":issue:`29990`: Fix range checking in GB18030 decoder. Original patch by Ma" -" Lin." -msgstr "" - -#: ../NEWS:39614 -msgid "" -":issue:`29979`: rewrite cgi.parse_multipart, reusing the FieldStorage class " -"and making its results consistent with those of FieldStorage for " -"multipart/form-data requests. Patch by Pierre Quentel." -msgstr "" - -#: ../NEWS:39618 ../NEWS:42576 ../NEWS:46503 -msgid "" -":issue:`30243`: Removed the __init__ methods of _json's scanner and encoder." -" Misusing them could cause memory leaks or crashes. Now scanner and encoder" -" objects are completely initialized in the __new__ methods." -msgstr "" - -#: ../NEWS:39622 -msgid "" -":issue:`30215`: Compiled regular expression objects with the re.LOCALE flag " -"no longer depend on the locale at compile time. Only the locale at matching" -" time affects the result of matching." -msgstr "" - -#: ../NEWS:39626 ../NEWS:42580 ../NEWS:46507 -msgid "" -":issue:`30185`: Avoid KeyboardInterrupt tracebacks in forkserver helper " -"process when Ctrl-C is received." -msgstr "" - -#: ../NEWS:39629 -msgid "" -":issue:`30103`: binascii.b2a_uu() and uu.encode() now support using ``'`'`` " -"as zero instead of space." -msgstr "" - -#: ../NEWS:39632 ../NEWS:42583 ../NEWS:46510 -msgid "" -":issue:`28556`: Various updates to typing module: add typing.NoReturn type, " -"use WrapperDescriptorType, minor bug-fixes. Original PRs by Jim Fasarakis-" -"Hilliard and Ivan Levkivskyi." -msgstr "" - -#: ../NEWS:39636 ../NEWS:42587 ../NEWS:46514 -msgid "" -":issue:`30205`: Fix getsockname() for unbound AF_UNIX sockets on Linux." -msgstr "" - -#: ../NEWS:39638 -msgid "" -":issue:`30228`: The seek() and tell() methods of io.FileIO now set the " -"internal seekable attribute to avoid one syscall on open() (in buffered or " -"text mode)." -msgstr "" - -#: ../NEWS:39642 -msgid "" -":issue:`30190`: unittest's assertAlmostEqual and assertNotAlmostEqual " -"provide a better message in case of failure which includes the difference " -"between left and right arguments. (patch by Giampaolo Rodola')" -msgstr "" - -#: ../NEWS:39646 -msgid ":issue:`30101`: Add support for curses.A_ITALIC." -msgstr "" - -#: ../NEWS:39648 ../NEWS:42524 -msgid "" -":issue:`29822`: inspect.isabstract() now works during __init_subclass__. " -"Patch by Nate Soares." -msgstr "" - -#: ../NEWS:39651 ../NEWS:42537 ../NEWS:46474 -msgid "" -":issue:`29960`: Preserve generator state when _random.Random.setstate() " -"raises an exception. Patch by Bryan Olson." -msgstr "" - -#: ../NEWS:39654 ../NEWS:42589 ../NEWS:46516 -msgid "" -":issue:`30070`: Fixed leaks and crashes in errors handling in the parser " -"module." -msgstr "" - -#: ../NEWS:39657 -msgid "" -":issue:`22352`: Column widths in the output of dis.dis() are now adjusted " -"for large line numbers and instruction offsets." -msgstr "" - -#: ../NEWS:39660 ../NEWS:42592 ../NEWS:46519 -msgid "" -":issue:`30061`: Fixed crashes in IOBase methods __next__() and readlines() " -"when readline() or __next__() respectively return non-sizeable object. Fixed" -" possible other errors caused by not checking results of PyObject_Size(), " -"PySequence_Size(), or PyMapping_Size()." -msgstr "" - -#: ../NEWS:39665 -msgid "" -":issue:`30218`: Fix PathLike support for shutil.unpack_archive. Patch by " -"Jelle Zijlstra." -msgstr "" - -#: ../NEWS:39668 -msgid "" -":issue:`10076`: Compiled regular expression and match objects in the re " -"module now support copy.copy() and copy.deepcopy() (they are considered " -"atomic)." -msgstr "" - -#: ../NEWS:39671 ../NEWS:42601 ../NEWS:46524 -msgid "" -":issue:`30068`: _io._IOBase.readlines will check if it's closed first when " -"hint is present." -msgstr "" - -#: ../NEWS:39674 ../NEWS:42604 ../NEWS:46527 -msgid "" -":issue:`29694`: Fixed race condition in pathlib mkdir with flags " -"parents=True. Patch by Armin Rigo." -msgstr "" - -#: ../NEWS:39677 ../NEWS:42607 ../NEWS:46530 -msgid "" -":issue:`29692`: Fixed arbitrary unchaining of RuntimeError exceptions in " -"contextlib.contextmanager. Patch by Siddharth Velankar." -msgstr "" - -#: ../NEWS:39680 -msgid "" -":issue:`26187`: Test that sqlite3 trace callback is not called multiple " -"times when schema is changing. Indirectly fixed by switching to use " -"sqlite3_prepare_v2() in :issue:`9303`. Patch by Aviv Palivoda." -msgstr "" - -#: ../NEWS:39684 ../NEWS:42597 -msgid "" -":issue:`30017`: Allowed calling the close() method of the zip entry writer " -"object multiple times. Writing to a closed writer now always produces a " -"ValueError." -msgstr "" - -#: ../NEWS:39688 ../NEWS:42610 ../NEWS:46533 -msgid "" -":issue:`29998`: Pickling and copying ImportError now preserves name and path" -" attributes." -msgstr "" - -#: ../NEWS:39691 -msgid ":issue:`29995`: re.escape() now escapes only regex special characters." -msgstr "" - -#: ../NEWS:39693 -msgid "" -":issue:`29962`: Add math.remainder operation, implementing remainder as " -"specified in IEEE 754." -msgstr "" - -#: ../NEWS:39696 -msgid "" -":issue:`29649`: Improve struct.pack_into() exception messages for problems " -"with the buffer size and offset. Patch by Andrew Nester." -msgstr "" - -#: ../NEWS:39699 -msgid "" -":issue:`29654`: Support If-Modified-Since HTTP header (browser cache). " -"Patch by Pierre Quentel." -msgstr "" - -#: ../NEWS:39702 ../NEWS:42493 ../NEWS:46443 -msgid "" -":issue:`29931`: Fixed comparison check for ipaddress.ip_interface objects. " -"Patch by Sanjay Sundaresan." -msgstr "" - -#: ../NEWS:39705 ../NEWS:42613 -msgid "" -":issue:`29953`: Fixed memory leaks in the replace() method of datetime and " -"time objects when pass out of bound fold argument." -msgstr "" - -#: ../NEWS:39708 ../NEWS:42616 ../NEWS:46536 -msgid "" -":issue:`29942`: Fix a crash in itertools.chain.from_iterable when " -"encountering long runs of empty iterables." -msgstr "" - -#: ../NEWS:39711 -msgid ":issue:`10030`: Sped up reading encrypted ZIP files by 2 times." -msgstr "" - -#: ../NEWS:39713 -msgid "" -":issue:`29204`: Element.getiterator() and the html parameter of XMLParser() " -"were deprecated only in the documentation (since Python 3.2 and 3.4 " -"correspondingly). Now using them emits a deprecation warning." -msgstr "" - -#: ../NEWS:39717 ../NEWS:42619 ../NEWS:46539 -msgid "" -":issue:`27863`: Fixed multiple crashes in ElementTree caused by race " -"conditions and wrong types." -msgstr "" - -#: ../NEWS:39720 -msgid "" -":issue:`25996`: Added support of file descriptors in os.scandir() on Unix. " -"os.fwalk() is sped up by 2 times by using os.scandir()." -msgstr "" - -#: ../NEWS:39723 ../NEWS:42622 ../NEWS:46542 -msgid "" -":issue:`28699`: Fixed a bug in pools in multiprocessing.pool that raising an" -" exception at the very first of an iterable may swallow the exception or " -"make the program hang. Patch by Davin Potts and Xiang Zhang." -msgstr "" - -#: ../NEWS:39727 ../NEWS:42482 ../NEWS:46436 -msgid "" -":issue:`23890`: unittest.TestCase.assertRaises() now manually breaks a " -"reference cycle to not keep objects alive longer than expected." -msgstr "" - -#: ../NEWS:39730 -msgid "" -":issue:`29901`: The zipapp module now supports general path-like objects, " -"not just pathlib.Path." -msgstr "" - -#: ../NEWS:39733 ../NEWS:42626 ../NEWS:46546 -msgid "" -":issue:`25803`: Avoid incorrect errors raised by Path.mkdir(exist_ok=True) " -"when the OS gives priority to errors such as EACCES over EEXIST." -msgstr "" - -#: ../NEWS:39736 ../NEWS:42629 ../NEWS:46549 -msgid "" -":issue:`29861`: Release references to tasks, their arguments and their " -"results as soon as they are finished in multiprocessing.Pool." -msgstr "" - -#: ../NEWS:39739 -msgid "" -":issue:`19930`: The mode argument of os.makedirs() no longer affects the " -"file permission bits of newly created intermediate-level directories." -msgstr "" - -#: ../NEWS:39742 ../NEWS:42632 ../NEWS:46552 -msgid "" -":issue:`29884`: faulthandler: Restore the old sigaltstack during teardown. " -"Patch by Christophe Zeitouny." -msgstr "" - -#: ../NEWS:39745 ../NEWS:42635 ../NEWS:46555 -msgid "" -":issue:`25455`: Fixed crashes in repr of recursive buffered file-like " -"objects." -msgstr "" - -#: ../NEWS:39747 ../NEWS:42637 ../NEWS:46557 -msgid "" -":issue:`29800`: Fix crashes in partial.__repr__ if the keys of " -"partial.keywords are not strings. Patch by Michael Seifert." -msgstr "" - -#: ../NEWS:39750 ../NEWS:42643 ../NEWS:46563 -msgid "" -":issue:`8256`: Fixed possible failing or crashing input() if attributes " -"\"encoding\" or \"errors\" of sys.stdin or sys.stdout are not set or are not" -" strings." -msgstr "" - -#: ../NEWS:39754 -msgid "" -":issue:`28692`: Using non-integer value for selecting a plural form in " -"gettext is now deprecated." -msgstr "" - -#: ../NEWS:39757 -msgid "" -":issue:`26121`: Use C library implementation for math functions erf() and " -"erfc()." -msgstr "" - -#: ../NEWS:39760 -msgid "" -":issue:`29619`: os.stat() and os.DirEntry.inode() now convert inode (st_ino)" -" using unsigned integers." -msgstr "" - -#: ../NEWS:39763 -msgid "" -":issue:`28298`: Fix a bug that prevented array 'Q', 'L' and 'I' from " -"accepting big intables (objects that have __int__) as elements." -msgstr "" - -#: ../NEWS:39766 -msgid "" -":issue:`29645`: Speed up importing the webbrowser module. " -"webbrowser.register() is now thread-safe." -msgstr "" - -#: ../NEWS:39769 ../NEWS:42651 -msgid "" -":issue:`28231`: The zipfile module now accepts path-like objects for " -"external paths." -msgstr "" - -#: ../NEWS:39772 ../NEWS:42654 -msgid "" -":issue:`26915`: index() and count() methods of collections.abc.Sequence now " -"check identity before checking equality when do comparisons." -msgstr "" - -#: ../NEWS:39775 -msgid ":issue:`28682`: Added support for bytes paths in os.fwalk()." -msgstr "" - -#: ../NEWS:39777 -msgid "" -":issue:`29728`: Add new :const:`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) " -"constant. Patch by Nathaniel J. Smith." -msgstr "" - -#: ../NEWS:39780 ../NEWS:42863 -msgid "" -":issue:`29623`: Allow use of path-like object as a single argument in " -"ConfigParser.read(). Patch by David Ellis." -msgstr "" - -#: ../NEWS:39783 -msgid "" -":issue:`9303`: Migrate sqlite3 module to _v2 API. Patch by Aviv Palivoda." -msgstr "" - -#: ../NEWS:39785 ../NEWS:42866 -msgid "" -":issue:`28963`: Fix out of bound iteration in " -"asyncio.Future.remove_done_callback implemented in C." -msgstr "" - -#: ../NEWS:39788 ../NEWS:42869 ../NEWS:46575 -msgid "" -":issue:`29704`: asyncio.subprocess.SubprocessStreamProtocol no longer closes" -" before all pipes are closed." -msgstr "" - -#: ../NEWS:39791 ../NEWS:42872 -msgid "" -":issue:`29271`: Fix Task.current_task and Task.all_tasks implemented in C to" -" accept None argument as their pure Python implementation." -msgstr "" - -#: ../NEWS:39794 ../NEWS:42875 ../NEWS:46578 -msgid "" -":issue:`29703`: Fix asyncio to support instantiation of new event loops in " -"child processes." -msgstr "" - -#: ../NEWS:39797 ../NEWS:42657 ../NEWS:46571 -msgid "" -":issue:`29615`: SimpleXMLRPCDispatcher no longer chains KeyError (or any " -"other exception) to exception(s) raised in the dispatched methods. Patch by " -"Petr Motejlek." -msgstr "" - -#: ../NEWS:39801 -msgid "" -":issue:`7769`: Method register_function() of " -"xmlrpc.server.SimpleXMLRPCDispatcher and its subclasses can now be used as a" -" decorator." -msgstr "" - -#: ../NEWS:39805 ../NEWS:42878 ../NEWS:46581 -msgid "" -":issue:`29376`: Fix assertion error in threading._DummyThread.is_alive()." -msgstr "" - -#: ../NEWS:39807 ../NEWS:42880 -msgid "" -":issue:`28624`: Add a test that checks that cwd parameter of Popen() accepts" -" PathLike objects. Patch by Sayan Chowdhury." -msgstr "" - -#: ../NEWS:39810 ../NEWS:42883 -msgid "" -":issue:`28518`: Start a transaction implicitly before a DML statement. Patch" -" by Aviv Palivoda." -msgstr "" - -#: ../NEWS:39813 ../NEWS:42640 ../NEWS:46560 -msgid "" -":issue:`29742`: get_extra_info() raises exception if get called on closed " -"ssl transport. Patch by Nikolay Kim." -msgstr "" - -#: ../NEWS:39816 -msgid "" -":issue:`16285`: urllib.parse.quote is now based on RFC 3986 and hence " -"includes '~' in the set of characters that is not quoted by default. Patch " -"by Christian Theune and Ratnadeep Debnath." -msgstr "" - -#: ../NEWS:39820 ../NEWS:42886 ../NEWS:46589 -msgid "" -":issue:`29532`: Altering a kwarg dictionary passed to functools.partial() no" -" longer affects a partial object after creation." -msgstr "" - -#: ../NEWS:39823 ../NEWS:42889 ../NEWS:46583 -msgid "" -":issue:`29110`: Fix file object leak in aifc.open() when file is given as a " -"filesystem path and is not in valid AIFF format. Patch by Anthony Zhang." -msgstr "" - -#: ../NEWS:39826 -msgid "" -":issue:`22807`: Add uuid.SafeUUID and uuid.UUID.is_safe to relay information" -" from the platform about whether generated UUIDs are generated with a " -"multiprocessing safe method." -msgstr "" - -#: ../NEWS:39830 -msgid "" -":issue:`29576`: Improve some deprecations in importlib. Some deprecated " -"methods now emit DeprecationWarnings and have better descriptive messages." -msgstr "" - -#: ../NEWS:39833 -msgid "" -":issue:`29534`: Fixed different behaviour of Decimal.from_float() for " -"_decimal and _pydecimal. Thanks Andrew Nester." -msgstr "" - -#: ../NEWS:39836 -msgid "" -":issue:`10379`: locale.format_string now supports the 'monetary' keyword " -"argument, and locale.format is deprecated." -msgstr "" - -#: ../NEWS:39839 -msgid "" -":issue:`29851`: importlib.reload() now raises ModuleNotFoundError if the " -"module lacks a spec." -msgstr "" - -#: ../NEWS:39842 ../NEWS:42892 ../NEWS:46592 -msgid "" -":issue:`28556`: Various updates to typing module: typing.Counter, " -"typing.ChainMap, improved ABC caching, etc. Original PRs by Jelle Zijlstra, " -"Ivan Levkivskyi, Manuel Krebber, and Łukasz Langa." -msgstr "" - -#: ../NEWS:39846 ../NEWS:42896 ../NEWS:46596 -msgid "" -":issue:`29100`: Fix datetime.fromtimestamp() regression introduced in Python" -" 3.6.0: check minimum and maximum years." -msgstr "" - -#: ../NEWS:39849 ../NEWS:42902 ../NEWS:46602 -msgid ":issue:`29416`: Prevent infinite loop in pathlib.Path.mkdir" -msgstr "" - -#: ../NEWS:39851 ../NEWS:42904 ../NEWS:46604 -msgid "" -":issue:`29444`: Fixed out-of-bounds buffer access in the group() method of " -"the match object. Based on patch by WGH." -msgstr "" - -#: ../NEWS:39854 -msgid "" -":issue:`29377`: Add WrapperDescriptorType, MethodWrapperType, and " -"MethodDescriptorType built-in types to types module. Original patch by " -"Manuel Krebber." -msgstr "" - -#: ../NEWS:39858 -msgid "" -":issue:`29218`: Unused install_misc command is now removed. It has been " -"documented as unused since 2000. Patch by Eric N. Vander Weele." -msgstr "" - -#: ../NEWS:39861 -msgid "" -":issue:`29368`: The extend() method is now called instead of the append() " -"method when unpickle collections.deque and other list-like objects. This can" -" speed up unpickling to 2 times." -msgstr "" - -#: ../NEWS:39865 -msgid "" -":issue:`29338`: The help of a builtin or extension class now includes the " -"constructor signature if __text_signature__ is provided for the class." -msgstr "" - -#: ../NEWS:39868 ../NEWS:42907 ../NEWS:46607 -msgid "" -":issue:`29335`: Fix subprocess.Popen.wait() when the child process has " -"exited to a stopped instead of terminated state (ex: when under ptrace)." -msgstr "" - -#: ../NEWS:39871 ../NEWS:42910 ../NEWS:46610 -msgid "" -":issue:`29290`: Fix a regression in argparse that help messages would wrap " -"at non-breaking spaces." -msgstr "" - -#: ../NEWS:39874 ../NEWS:42913 ../NEWS:46613 -msgid ":issue:`28735`: Fixed the comparison of mock.MagickMock with mock.ANY." -msgstr "" - -#: ../NEWS:39876 -msgid ":issue:`29197`: Removed deprecated function ntpath.splitunc()." -msgstr "" - -#: ../NEWS:39878 -msgid "" -":issue:`29210`: Removed support of deprecated argument \"exclude\" in " -"tarfile.TarFile.add()." -msgstr "" - -#: ../NEWS:39881 ../NEWS:42918 ../NEWS:46617 -msgid "" -":issue:`29219`: Fixed infinite recursion in the repr of uninitialized " -"ctypes.CDLL instances." -msgstr "" - -#: ../NEWS:39884 -msgid "" -":issue:`29192`: Removed deprecated features in the http.cookies module." -msgstr "" - -#: ../NEWS:39886 -msgid "" -":issue:`29193`: A format string argument for string.Formatter.format() is " -"now positional-only." -msgstr "" - -#: ../NEWS:39889 -msgid "" -":issue:`29195`: Removed support of deprecated undocumented keyword arguments" -" in methods of regular expression objects." -msgstr "" - -#: ../NEWS:39892 ../NEWS:42923 ../NEWS:46620 -msgid "" -":issue:`28969`: Fixed race condition in C implementation of " -"functools.lru_cache. KeyError could be raised when cached function with full" -" cache was simultaneously called from different threads with the same " -"uncached arguments." -msgstr "" - -#: ../NEWS:39897 -msgid "" -":issue:`20804`: The unittest.mock.sentinel attributes now preserve their " -"identity when they are copied or pickled." -msgstr "" - -#: ../NEWS:39900 ../NEWS:42928 ../NEWS:46625 -msgid "" -":issue:`29142`: In urllib.request, suffixes in no_proxy environment variable" -" with leading dots could match related hostnames again (e.g. .b.c matches " -"a.b.c). Patch by Milan Oberkirch." -msgstr "" - -#: ../NEWS:39904 ../NEWS:42932 ../NEWS:46586 -msgid "" -":issue:`28961`: Fix unittest.mock._Call helper: don't ignore the name " -"parameter anymore. Patch written by Jiajun Huang." -msgstr "" - -#: ../NEWS:39907 ../NEWS:42939 ../NEWS:46878 -msgid "" -":issue:`15812`: inspect.getframeinfo() now correctly shows the first line of" -" a context. Patch by Sam Breese." -msgstr "" - -#: ../NEWS:39910 -msgid "" -":issue:`28985`: Update authorizer constants in sqlite3 module. Patch by " -"Dingyuan Wang." -msgstr "" - -#: ../NEWS:39913 ../NEWS:42951 -msgid ":issue:`29079`: Prevent infinite loop in pathlib.resolve() on Windows" -msgstr "" - -#: ../NEWS:39915 ../NEWS:42953 ../NEWS:46884 -msgid "" -":issue:`13051`: Fixed recursion errors in large or resized " -"curses.textpad.Textbox. Based on patch by Tycho Andersen." -msgstr "" - -#: ../NEWS:39918 ../NEWS:42960 ../NEWS:46891 -msgid "" -":issue:`9770`: curses.ascii predicates now work correctly with negative " -"integers." -msgstr "" - -#: ../NEWS:39921 ../NEWS:42963 ../NEWS:46894 -msgid "" -":issue:`28427`: old keys should not remove new values from " -"WeakValueDictionary when collecting from another thread." -msgstr "" - -#: ../NEWS:39924 ../NEWS:42966 ../NEWS:46897 -msgid ":issue:`28923`: Remove editor artifacts from Tix.py." -msgstr "" - -#: ../NEWS:39926 ../NEWS:42971 ../NEWS:46899 -msgid ":issue:`28871`: Fixed a crash when deallocate deep ElementTree." -msgstr "" - -#: ../NEWS:39928 ../NEWS:42973 ../NEWS:46901 -msgid "" -":issue:`19542`: Fix bugs in WeakValueDictionary.setdefault() and " -"WeakValueDictionary.pop() when a GC collection happens in another thread." -msgstr "" - -#: ../NEWS:39931 ../NEWS:42976 -msgid "" -":issue:`20191`: Fixed a crash in resource.prlimit() when passing a sequence " -"that doesn't own its elements as limits." -msgstr "" - -#: ../NEWS:39934 -msgid "" -":issue:`16255`: subprocess.Popen uses /system/bin/sh on Android as the " -"shell, instead of /bin/sh." -msgstr "" - -#: ../NEWS:39937 ../NEWS:42979 ../NEWS:46907 -msgid "" -":issue:`28779`: multiprocessing.set_forkserver_preload() would crash the " -"forkserver process if a preloaded module instantiated some multiprocessing " -"objects such as locks." -msgstr "" - -#: ../NEWS:39941 ../NEWS:42986 -msgid "" -":issue:`26937`: The chown() method of the tarfile.TarFile class does not " -"fail now when the grp module cannot be imported, as for example on Android " -"platforms." -msgstr "" - -#: ../NEWS:39945 -msgid "" -":issue:`28847`: dbm.dumb now supports reading read-only files and no longer " -"writes the index file when it is not changed. A deprecation warning is now " -"emitted if the index file is missed and recreated in the 'r' and 'w' modes " -"(will be an error in future Python releases)." -msgstr "" - -#: ../NEWS:39950 -msgid "" -":issue:`27030`: Unknown escapes consisting of ``'\\'`` and an ASCII letter " -"in re.sub() replacement templates regular expressions now are errors." -msgstr "" - -#: ../NEWS:39953 ../NEWS:43167 -msgid "" -":issue:`28835`: Fix a regression introduced in warnings.catch_warnings(): " -"call warnings.showwarning() if it was overridden inside the context manager." -msgstr "" - -#: ../NEWS:39956 ../NEWS:43170 -msgid "" -":issue:`27172`: To assist with upgrades from 2.7, the previously documented " -"deprecation of ``inspect.getfullargspec()`` has been reversed. This decision" -" may be revisited again after the Python 2.7 branch is no longer officially " -"supported." -msgstr "" - -#: ../NEWS:39961 -msgid "" -":issue:`28740`: Add sys.getandroidapilevel(): return the build time API " -"version of Android as an integer. Function only available on Android." -msgstr "" - -#: ../NEWS:39964 ../NEWS:43175 -msgid "" -":issue:`26273`: Add new :const:`socket.TCP_CONGESTION` (Linux 2.6.13) and " -":const:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37) constants. Patch written by " -"Omar Sandoval." -msgstr "" - -#: ../NEWS:39968 ../NEWS:43246 -msgid ":issue:`28752`: Restored the __reduce__() methods of datetime objects." -msgstr "" - -#: ../NEWS:39970 ../NEWS:43248 -msgid "" -":issue:`28727`: Regular expression patterns, _sre.SRE_Pattern objects " -"created by re.compile(), become comparable (only x==y and x!=y operators). " -"This change should fix the :issue:`18383`: don't duplicate warning filters " -"when the warnings module is reloaded (thing usually only done in unit " -"tests)." -msgstr "" - -#: ../NEWS:39975 -msgid "" -":issue:`20572`: Remove the subprocess.Popen.wait endtime parameter. It was " -"deprecated in 3.4 and undocumented prior to that." -msgstr "" - -#: ../NEWS:39978 ../NEWS:43256 ../NEWS:46914 -msgid "" -":issue:`25659`: In ctypes, prevent a crash calling the from_buffer() and " -"from_buffer_copy() methods on abstract classes like Array." -msgstr "" - -#: ../NEWS:39981 -msgid "" -":issue:`28548`: In the \"http.server\" module, parse the protocol version if" -" possible, to avoid using HTTP 0.9 in some error responses." -msgstr "" - -#: ../NEWS:39984 ../NEWS:43259 -msgid "" -":issue:`19717`: Makes Path.resolve() succeed on paths that do not exist. " -"Patch by Vajrasky Kok" -msgstr "" - -#: ../NEWS:39987 ../NEWS:43262 -msgid "" -":issue:`28563`: Fixed possible DoS and arbitrary code execution when handle " -"plural form selections in the gettext module. The expression parser now " -"supports exact syntax supported by GNU gettext." -msgstr "" - -#: ../NEWS:39991 ../NEWS:43266 ../NEWS:46923 -msgid "" -":issue:`28387`: Fixed possible crash in _io.TextIOWrapper deallocator when " -"the garbage collector is invoked in other thread. Based on patch by " -"Sebastian Cufre." -msgstr "" - -#: ../NEWS:39995 ../NEWS:43349 ../NEWS:46927 -msgid "" -":issue:`27517`: LZMA compressor and decompressor no longer raise exceptions " -"if given empty data twice. Patch by Benjamin Fogle." -msgstr "" - -#: ../NEWS:39998 ../NEWS:43352 ../NEWS:46930 -msgid ":issue:`28549`: Fixed segfault in curses's addch() with ncurses6." -msgstr "" - -#: ../NEWS:40000 ../NEWS:43354 ../NEWS:46932 -msgid "" -":issue:`28449`: tarfile.open() with mode \"r\" or \"r:\" now tries to open a" -" tar file with compression before trying to open it without compression. " -"Otherwise it had 50% chance failed with ignore_zeros=True." -msgstr "" - -#: ../NEWS:40004 ../NEWS:43358 ../NEWS:46936 -msgid "" -":issue:`23262`: The webbrowser module now supports Firefox 36+ and derived " -"browsers. Based on patch by Oleg Broytman." -msgstr "" - -#: ../NEWS:40007 -msgid "" -":issue:`24241`: The webbrowser in an X environment now prefers using the " -"default browser directly. Also, the webbrowser register() function now has a" -" documented 'preferred' argument, to specify browsers to be returned by " -"get() with no arguments. Patch by David Steele" -msgstr "" - -#: ../NEWS:40012 ../NEWS:43361 ../NEWS:46939 -msgid "" -":issue:`27939`: Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale " -"caused by representing the scale as float value internally in Tk. " -"tkinter.IntVar now works if float value is set to underlying Tk variable." -msgstr "" - -#: ../NEWS:40016 -msgid "" -":issue:`28255`: calendar.TextCalendar.prweek() no longer prints a space " -"after a weeks's calendar. calendar.TextCalendar.pryear() no longer prints " -"redundant newline after a year's calendar. Based on patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:40020 -msgid "" -":issue:`28255`: calendar.TextCalendar.prmonth() no longer prints a space at " -"the start of new line after printing a month's calendar. Patch by Xiang " -"Zhang." -msgstr "" - -#: ../NEWS:40024 ../NEWS:43372 ../NEWS:46947 -msgid "" -":issue:`20491`: The textwrap.TextWrapper class now honors non-breaking " -"spaces. Based on patch by Kaarle Ritvanen." -msgstr "" - -#: ../NEWS:40027 ../NEWS:43375 ../NEWS:46950 -msgid ":issue:`28353`: os.fwalk() no longer fails on broken links." -msgstr "" - -#: ../NEWS:40029 ../NEWS:43377 -msgid "" -":issue:`28430`: Fix iterator of C implemented asyncio.Future doesn't accept " -"non-None value is passed to it.send(val)." -msgstr "" - -#: ../NEWS:40032 ../NEWS:43380 -msgid "" -":issue:`27025`: Generated names for Tkinter widgets now start by the \"!\" " -"prefix for readability." -msgstr "" - -#: ../NEWS:40035 ../NEWS:43383 ../NEWS:46952 -msgid "" -":issue:`25464`: Fixed HList.header_exists() in tkinter.tix module by addin a" -" workaround to Tix library bug." -msgstr "" - -#: ../NEWS:40038 ../NEWS:43386 -msgid "" -":issue:`28488`: shutil.make_archive() no longer adds entry \"./\" to ZIP " -"archive." -msgstr "" - -#: ../NEWS:40040 ../NEWS:43388 -msgid "" -":issue:`25953`: re.sub() now raises an error for invalid numerical group " -"reference in replacement template even if the pattern is not found in the " -"string. Error message for invalid group reference now includes the group " -"index and the position of the reference. Based on patch by SilentGhost." -msgstr "" - -#: ../NEWS:40045 -msgid "" -":issue:`28469`: timeit now uses the sequence 1, 2, 5, 10, 20, 50,... instead" -" of 1, 10, 100,... for autoranging." -msgstr "" - -#: ../NEWS:40048 -msgid "" -":issue:`28115`: Command-line interface of the zipfile module now uses " -"argparse. Added support of long options." -msgstr "" - -#: ../NEWS:40051 ../NEWS:43393 -msgid "" -":issue:`18219`: Optimize csv.DictWriter for large number of columns. Patch " -"by Mariatta Wijaya." -msgstr "" - -#: ../NEWS:40054 ../NEWS:43396 -msgid "" -":issue:`28448`: Fix C implemented asyncio.Future didn't work on Windows." -msgstr "" - -#: ../NEWS:40056 -msgid "" -":issue:`23214`: In the \"io\" module, the argument to BufferedReader and " -"BytesIO's read1() methods is now optional and can be -1, matching the " -"BufferedIOBase specification." -msgstr "" - -#: ../NEWS:40060 ../NEWS:43398 -msgid "" -":issue:`28480`: Fix error building socket module when multithreading is " -"disabled." -msgstr "" - -#: ../NEWS:40063 -msgid "" -":issue:`28240`: timeit: remove ``-c/--clock`` and ``-t/--time`` command line" -" options which were deprecated since Python 3.3." -msgstr "" - -#: ../NEWS:40066 -msgid "" -":issue:`28240`: timeit now repeats the benchmarks 5 times instead of only 3 " -"to make benchmarks more reliable." -msgstr "" - -#: ../NEWS:40069 -msgid "" -":issue:`28240`: timeit autorange now uses a single loop iteration if the " -"benchmark takes less than 10 seconds, instead of 10 iterations. \"python3 -m" -" timeit -s 'import time' 'time.sleep(1)'\" now takes 4 seconds instead of 40" -" seconds." -msgstr "" - -#: ../NEWS:40074 -msgid "" -"Distutils.sdist now looks for README and setup.py files with case " -"sensitivity. This behavior matches that found in Setuptools 6.0 and later. " -"See `setuptools 100 `_ for " -"rationale." -msgstr "" - -#: ../NEWS:40079 -msgid "" -":issue:`24452`: Make webbrowser support Chrome on Mac OS X. Patch by Ned " -"Batchelder." -msgstr "" - -#: ../NEWS:40082 ../NEWS:43403 ../NEWS:46959 -msgid "" -":issue:`20766`: Fix references leaked by pdb in the handling of SIGINT " -"handlers." -msgstr "" - -#: ../NEWS:40085 ../NEWS:43519 -msgid "" -":issue:`27998`: Fixed bytes path support in os.scandir() on Windows. Patch " -"by Eryk Sun." -msgstr "" - -#: ../NEWS:40088 ../NEWS:43522 -msgid ":issue:`28317`: The disassembler now decodes FORMAT_VALUE argument." -msgstr "" - -#: ../NEWS:40090 ../NEWS:43528 -msgid "" -":issue:`28380`: unittest.mock Mock autospec functions now properly support " -"assert_called, assert_not_called, and assert_called_once." -msgstr "" - -#: ../NEWS:40093 ../NEWS:43533 -msgid ":issue:`28229`: lzma module now supports pathlib." -msgstr "" - -#: ../NEWS:40095 ../NEWS:43535 ../NEWS:46966 -msgid "" -":issue:`28321`: Fixed writing non-BMP characters with binary format in " -"plistlib." -msgstr "" - -#: ../NEWS:40098 ../NEWS:43538 -msgid "" -":issue:`28225`: bz2 module now supports pathlib. Initial patch by Ethan " -"Furman." -msgstr "" - -#: ../NEWS:40101 ../NEWS:43541 -msgid ":issue:`28227`: gzip now supports pathlib. Patch by Ethan Furman." -msgstr "" - -#: ../NEWS:40103 -msgid "" -":issue:`28332`: Deprecated silent truncations in socket.htons and " -"socket.ntohs. Original patch by Oren Milman." -msgstr "" - -#: ../NEWS:40106 ../NEWS:43543 -msgid "" -":issue:`27358`: Optimized merging var-keyword arguments and improved error " -"message when passing a non-mapping as a var-keyword argument." -msgstr "" - -#: ../NEWS:40109 ../NEWS:43546 -msgid "" -":issue:`28257`: Improved error message when passing a non-iterable as a var-" -"positional argument. Added opcode BUILD_TUPLE_UNPACK_WITH_CALL." -msgstr "" - -#: ../NEWS:40112 ../NEWS:43549 ../NEWS:46969 -msgid "" -":issue:`28322`: Fixed possible crashes when unpickle itertools objects from " -"incorrect pickle data. Based on patch by John Leitch." -msgstr "" - -#: ../NEWS:40115 ../NEWS:43552 -msgid ":issue:`28228`: imghdr now supports pathlib." -msgstr "" - -#: ../NEWS:40117 ../NEWS:43554 -msgid ":issue:`28226`: compileall now supports pathlib." -msgstr "" - -#: ../NEWS:40119 ../NEWS:43556 -msgid "" -":issue:`28314`: Fix function declaration (C flags) for the getiterator() " -"method of xml.etree.ElementTree.Element." -msgstr "" - -#: ../NEWS:40122 ../NEWS:43559 -msgid "" -":issue:`28148`: Stop using localtime() and gmtime() in the time module. " -"Introduced platform independent _PyTime_localtime API that is similar to " -"POSIX localtime_r, but available on all platforms. Patch by Ed Schouten." -msgstr "" - -#: ../NEWS:40126 ../NEWS:43563 ../NEWS:46978 -msgid "" -":issue:`28253`: Fixed calendar functions for extreme months: 0001-01 and " -"9999-12. Methods itermonthdays() and itermonthdays2() are reimplemented so " -"that they don't call itermonthdates() which can cause datetime.date " -"under/overflow." -msgstr "" - -#: ../NEWS:40131 ../NEWS:43568 ../NEWS:46983 -msgid "" -":issue:`28275`: Fixed possible use after free in the decompress() methods of" -" the LZMADecompressor and BZ2Decompressor classes. Original patch by John " -"Leitch." -msgstr "" - -#: ../NEWS:40135 ../NEWS:43572 ../NEWS:46987 -msgid "" -":issue:`27897`: Fixed possible crash in " -"sqlite3.Connection.create_collation() if pass invalid string-like object as " -"a name. Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:40138 ../NEWS:43575 -msgid "" -":issue:`18844`: random.choices() now has k as a keyword-only argument to " -"improve the readability of common cases and come into line with the " -"signature used in other languages." -msgstr "" - -#: ../NEWS:40142 ../NEWS:43579 ../NEWS:46990 -msgid "" -":issue:`18893`: Fix invalid exception handling in " -"Lib/ctypes/macholib/dyld.py. Patch by Madison May." -msgstr "" - -#: ../NEWS:40145 ../NEWS:43582 -msgid "" -":issue:`27611`: Fixed support of default root window in the tkinter.tix " -"module. Added the master parameter in the DisplayStyle constructor." -msgstr "" - -#: ../NEWS:40148 ../NEWS:43585 ../NEWS:46995 -msgid "" -":issue:`27348`: In the traceback module, restore the formatting of exception" -" messages like \"Exception: None\". This fixes a regression introduced in " -"3.5a2." -msgstr "" - -#: ../NEWS:40152 ../NEWS:43589 ../NEWS:46999 -msgid "" -":issue:`25651`: Allow false values to be used for msg parameter of " -"subTest()." -msgstr "" - -#: ../NEWS:40154 ../NEWS:43591 -msgid "" -":issue:`27778`: Fix a memory leak in os.getrandom() when the getrandom() is " -"interrupted by a signal and a signal handler raises a Python exception." -msgstr "" - -#: ../NEWS:40157 ../NEWS:43594 -msgid "" -":issue:`28200`: Fix memory leak on Windows in the os module (fix " -"path_converter() function)." -msgstr "" - -#: ../NEWS:40160 ../NEWS:43597 -msgid "" -":issue:`25400`: RobotFileParser now correctly returns default values for " -"crawl_delay and request_rate. Initial patch by Peter Wirtz." -msgstr "" - -#: ../NEWS:40163 ../NEWS:43600 ../NEWS:47001 -msgid ":issue:`27932`: Prevent memory leak in win32_ver()." -msgstr "" - -#: ../NEWS:40165 ../NEWS:43602 ../NEWS:47003 -msgid "Fix UnboundLocalError in socket._sendfile_use_sendfile." -msgstr "Perbaiki UnboundLocalError di socket._sendfile_use_sendfile." - -#: ../NEWS:40167 ../NEWS:43604 ../NEWS:47005 -msgid "" -":issue:`28075`: Check for ERROR_ACCESS_DENIED in Windows implementation of " -"os.stat(). Patch by Eryk Sun." -msgstr "" - -#: ../NEWS:40170 ../NEWS:43607 -msgid "" -":issue:`22493`: Warning message emitted by using inline flags in the middle " -"of regular expression now contains a (truncated) regex pattern. Patch by Tim" -" Graham." -msgstr "" - -#: ../NEWS:40174 ../NEWS:43611 ../NEWS:47008 -msgid "" -":issue:`25270`: Prevent codecs.escape_encode() from raising SystemError when" -" an empty bytestring is passed." -msgstr "" - -#: ../NEWS:40177 ../NEWS:43614 ../NEWS:47011 -msgid ":issue:`28181`: Get antigravity over HTTPS. Patch by Kaartic Sivaraam." -msgstr "" - -#: ../NEWS:40179 ../NEWS:43616 ../NEWS:47013 -msgid "" -":issue:`25895`: Enable WebSocket URL schemes in urllib.parse.urljoin. Patch " -"by Gergely Imreh and Markus Holtermann." -msgstr "" - -#: ../NEWS:40182 ../NEWS:43619 -msgid "" -":issue:`28114`: Fix a crash in parse_envlist() when env contains byte " -"strings. Patch by Eryk Sun." -msgstr "" - -#: ../NEWS:40185 ../NEWS:43622 ../NEWS:47016 -msgid "" -":issue:`27599`: Fixed buffer overrun in binascii.b2a_qp() and " -"binascii.a2b_qp()." -msgstr "" - -#: ../NEWS:40188 ../NEWS:43625 ../NEWS:47199 -msgid "" -":issue:`27906`: Fix socket accept exhaustion during high TCP traffic. Patch " -"by Kevin Conway." -msgstr "" - -#: ../NEWS:40191 ../NEWS:43628 ../NEWS:47202 -msgid "" -":issue:`28174`: Handle when SO_REUSEPORT isn't properly supported. Patch by " -"Seth Michael Larson." -msgstr "" - -#: ../NEWS:40194 ../NEWS:43631 ../NEWS:47205 -msgid "" -":issue:`26654`: Inspect functools.partial in asyncio.Handle.__repr__. Patch " -"by iceboy." -msgstr "" - -#: ../NEWS:40197 ../NEWS:43634 ../NEWS:47208 -msgid ":issue:`26909`: Fix slow pipes IO in asyncio. Patch by INADA Naoki." -msgstr "" - -#: ../NEWS:40199 ../NEWS:43636 ../NEWS:47210 -msgid "" -":issue:`28176`: Fix callbacks race in asyncio.SelectorLoop.sock_connect." -msgstr "" - -#: ../NEWS:40201 ../NEWS:43638 ../NEWS:47212 -msgid "" -":issue:`27759`: Fix selectors incorrectly retain invalid file descriptors. " -"Patch by Mark Williams." -msgstr "" - -#: ../NEWS:40204 -msgid "" -":issue:`28325`: Remove vestigial MacOS 9 macurl2path module and its tests." -msgstr "" - -#: ../NEWS:40206 ../NEWS:43641 ../NEWS:47215 -msgid "" -":issue:`28368`: Refuse monitoring processes if the child watcher has no loop" -" attached. Patch by Vincent Michel." -msgstr "" - -#: ../NEWS:40209 ../NEWS:43644 ../NEWS:47218 -msgid "" -":issue:`28369`: Raise RuntimeError when transport's FD is used with " -"add_reader, add_writer, etc." -msgstr "" - -#: ../NEWS:40212 ../NEWS:43647 ../NEWS:47221 -msgid "" -":issue:`28370`: Speedup asyncio.StreamReader.readexactly. Patch by Коренберг" -" Марк." -msgstr "" - -#: ../NEWS:40215 ../NEWS:43650 ../NEWS:47224 -msgid ":issue:`28371`: Deprecate passing asyncio.Handles to run_in_executor." -msgstr "" - -#: ../NEWS:40217 ../NEWS:43652 ../NEWS:47226 -msgid "" -":issue:`28372`: Fix asyncio to support formatting of non-python coroutines." -msgstr "" - -#: ../NEWS:40219 ../NEWS:43654 ../NEWS:47228 -msgid "" -":issue:`28399`: Remove UNIX socket from FS before binding. Patch by " -"Коренберг Марк." -msgstr "" - -#: ../NEWS:40222 ../NEWS:43657 ../NEWS:47231 -msgid ":issue:`27972`: Prohibit Tasks to await on themselves." -msgstr "" - -#: ../NEWS:40224 ../NEWS:43179 -msgid "" -":issue:`24142`: Reading a corrupt config file left configparser in an " -"invalid state. Original patch by Florian Höch." -msgstr "" - -#: ../NEWS:40227 ../NEWS:42527 -msgid "" -":issue:`29581`: ABCMeta.__new__ now accepts ``**kwargs``, allowing abstract " -"base classes to use keyword parameters in __init_subclass__. Patch by Nate " -"Soares." -msgstr "" - -#: ../NEWS:40231 ../NEWS:41720 -msgid "" -":issue:`25532`: inspect.unwrap() will now only try to unwrap an object " -"sys.getrecursionlimit() times, to protect against objects which create a new" -" object on every attribute access." -msgstr "" - -#: ../NEWS:40235 ../NEWS:42661 -msgid "" -":issue:`30177`: path.resolve(strict=False) no longer cuts the path after the" -" first element not present in the filesystem. Patch by Antoine Pietri." -msgstr "" - -#: ../NEWS:40241 ../NEWS:42147 -msgid "" -":issue:`31294`: Fix incomplete code snippet in the ZeroMQSocketListener and " -"ZeroMQSocketHandler examples and adapt them to Python 3." -msgstr "" - -#: ../NEWS:40244 ../NEWS:42150 -msgid "" -":issue:`21649`: Add RFC 7525 and Mozilla server side TLS links to SSL " -"documentation." -msgstr "" - -#: ../NEWS:40247 -msgid ":issue:`31128`: Allow the pydoc server to bind to arbitrary hostnames." -msgstr "" - -#: ../NEWS:40249 ../NEWS:42153 -msgid "" -":issue:`30803`: Clarify doc on truth value testing. Original patch by Peter " -"Thomassen." -msgstr "" - -#: ../NEWS:40252 ../NEWS:42716 ../NEWS:46632 -msgid "" -":issue:`30176`: Add missing attribute related constants in curses " -"documentation." -msgstr "" - -#: ../NEWS:40255 ../NEWS:42719 -msgid "" -":issue:`30052`: the link targets for :func:`bytes` and :func:`bytearray` are" -" now their respective type definitions, rather than the corresponding " -"builtin function entries. Use :ref:`bytes ` and :ref:`bytearray " -"` to reference the latter. In order to ensure this and " -"future cross-reference updates are applied automatically, the daily " -"documentation builds now disable the default output caching features in " -"Sphinx." -msgstr "" - -#: ../NEWS:40263 ../NEWS:42727 ../NEWS:46635 -msgid "" -":issue:`26985`: Add missing info of code object in inspect documentation." -msgstr "" - -#: ../NEWS:40265 -msgid "" -":issue:`19824`: Improve the documentation for, and links to, template " -"strings by emphasizing their utility for internationalization, and by " -"clarifying some usage constraints. (See also: :issue:`20314`, " -":issue:`12518`)" -msgstr "" - -#: ../NEWS:40269 ../NEWS:43036 ../NEWS:46637 -msgid ":issue:`28929`: Link the documentation to its source file on GitHub." -msgstr "" - -#: ../NEWS:40271 ../NEWS:43038 ../NEWS:46639 -msgid "" -":issue:`25008`: Document smtpd.py as effectively deprecated and add a " -"pointer to aiosmtpd, a third-party asyncio-based replacement." -msgstr "" - -#: ../NEWS:40274 ../NEWS:43041 ../NEWS:46642 -msgid "" -":issue:`26355`: Add canonical header link on each page to corresponding " -"major version of the documentation. Patch by Matthias Bussonnier." -msgstr "" - -#: ../NEWS:40277 ../NEWS:43044 ../NEWS:46645 -msgid "" -":issue:`29349`: Fix Python 2 syntax in code for building the documentation." -msgstr "" - -#: ../NEWS:40279 -msgid "" -":issue:`23722`: The data model reference and the porting section in the 3.6 " -"What's New guide now cover the additional ``__classcell__`` handling needed " -"for custom metaclasses to fully support :pep:`487` and zero-argument " -"``super()``." -msgstr "" - -#: ../NEWS:40284 ../NEWS:43295 ../NEWS:47299 -msgid ":issue:`28513`: Documented command-line interface of zipfile." -msgstr "" - -#: ../NEWS:40289 -msgid "" -":issue:`29639`: test.support.HOST is now \"localhost\", a new HOSTv4 " -"constant has been added for your ``127.0.0.1`` needs, similar to the " -"existing HOSTv6 constant." -msgstr "" - -#: ../NEWS:40293 ../NEWS:42159 -msgid ":issue:`31320`: Silence traceback in test_ssl" -msgstr "" - -#: ../NEWS:40295 -msgid "" -":issue:`31346`: Prefer PROTOCOL_TLS_CLIENT and PROTOCOL_TLS_SERVER protocols" -" for SSLContext." -msgstr "" - -#: ../NEWS:40298 ../NEWS:42161 -msgid ":issue:`25674`: Remove sha256.tbs-internet.com ssl test" -msgstr "" - -#: ../NEWS:40300 ../NEWS:42163 -msgid "" -":issue:`30715`: Address ALPN callback changes for OpenSSL 1.1.0f. The latest" -" version behaves like OpenSSL 1.0.2 and no longer aborts handshake." -msgstr "" - -#: ../NEWS:40303 ../NEWS:42166 -msgid "" -":issue:`30822`: regrtest: Exclude tzdata from regrtest --all. When running " -"the test suite using --use=all / -u all, exclude tzdata since it makes " -"test_datetime too slow (15-20 min on some buildbots) which then times out on" -" some buildbots. Fix also regrtest command line parser to allow passing -u " -"extralargefile to run test_zipfile64." -msgstr "" - -#: ../NEWS:40309 ../NEWS:41772 -msgid "" -":issue:`30695`: Add the ``set_nomemory(start, stop)`` and " -"``remove_mem_hooks()`` functions to the ``_testcapi`` module." -msgstr "" - -#: ../NEWS:40312 ../NEWS:42738 ../NEWS:46664 -msgid "" -":issue:`30357`: test_thread: setUp() now uses support.threading_setup() and " -"support.threading_cleanup() to wait until threads complete to avoid random " -"side effects on following tests. Initial patch written by Grzegorz Grzywacz." -msgstr "" - -#: ../NEWS:40317 ../NEWS:42743 ../NEWS:46673 -msgid "" -":issue:`30197`: Enhanced functions swap_attr() and swap_item() in the " -"test.support module. They now work when delete replaced attribute or item " -"inside the with statement. The old value of the attribute or item (or None " -"if it doesn't exist) now will be assigned to the target of the \"as\" " -"clause, if there is one." -msgstr "" - -#: ../NEWS:40323 -msgid ":issue:`24932`: Use proper command line parsing in _testembed" -msgstr "" - -#: ../NEWS:40325 ../NEWS:43059 -msgid "" -":issue:`28950`: Disallow -j0 to be combined with -T/-l in regrtest command " -"line arguments." -msgstr "" - -#: ../NEWS:40328 ../NEWS:43062 -msgid "" -":issue:`28683`: Fix the tests that bind() a unix socket and raise " -"PermissionError on Android for a non-root user." -msgstr "" - -#: ../NEWS:40331 -msgid "" -":issue:`26936`: Fix the test_socket failures on Android - getservbyname(), " -"getservbyport() and getaddrinfo() are broken on some Android API levels." -msgstr "" - -#: ../NEWS:40334 ../NEWS:43300 ../NEWS:47307 -msgid "" -":issue:`28666`: Now test.support.rmtree is able to remove unwritable or " -"unreadable directories." -msgstr "" - -#: ../NEWS:40337 ../NEWS:43303 ../NEWS:47310 -msgid "" -":issue:`23839`: Various caches now are cleared before running every test " -"file." -msgstr "" - -#: ../NEWS:40339 ../NEWS:43435 -msgid "" -":issue:`26944`: Fix test_posix for Android where 'id -G' is entirely wrong " -"or missing the effective gid." -msgstr "" - -#: ../NEWS:40342 ../NEWS:43438 ../NEWS:47312 -msgid ":issue:`28409`: regrtest: fix the parser of command line arguments." -msgstr "" - -#: ../NEWS:40344 ../NEWS:43706 -msgid ":issue:`28217`: Adds _testconsole module to test console input." -msgstr "" - -#: ../NEWS:40346 ../NEWS:43065 -msgid "" -":issue:`26939`: Add the support.setswitchinterval() function to fix " -"test_functools hanging on the Android armv7 qemu emulator." -msgstr "" - -#: ../NEWS:40352 -msgid "" -":issue:`31354`: Allow ``--with-lto`` to be used on all builds, not just " -"``make profile-opt``." -msgstr "" - -#: ../NEWS:40355 -msgid "" -":issue:`31370`: Remove support for building --without-threads. This option " -"is not really useful anymore in the 21st century. Removing lots of " -"conditional paths allows us to simplify the code base, including in " -"difficult to maintain low-level internal code." -msgstr "" - -#: ../NEWS:40360 -msgid "" -":issue:`31341`: Per :pep:`11`, support for the IRIX operating system was " -"removed." -msgstr "" - -#: ../NEWS:40363 ../NEWS:42175 -msgid "" -":issue:`30854`: Fix compile error when compiling --without-threads. Patch by" -" Masayuki Yamamoto." -msgstr "" - -#: ../NEWS:40366 ../NEWS:42752 ../NEWS:46701 -msgid "" -":issue:`30687`: Locate msbuild.exe on Windows when building rather than " -"vcvarsall.bat" -msgstr "" - -#: ../NEWS:40369 -msgid "" -":issue:`20210`: Support the *disabled* marker in Setup files. Extension " -"modules listed after this marker are not built at all, neither by the " -"Makefile nor by setup.py." -msgstr "" - -#: ../NEWS:40373 ../NEWS:42696 -msgid "" -":issue:`29941`: Add ``--with-assertions`` configure flag to explicitly " -"enable C ``assert()`` checks. Defaults to off. ``--with-pydebug`` implies " -"``--with-assertions``." -msgstr "" - -#: ../NEWS:40377 ../NEWS:42700 -msgid "" -":issue:`28787`: Fix out-of-tree builds of Python when configured with " -"``--with--dtrace``." -msgstr "" - -#: ../NEWS:40380 ../NEWS:42703 ../NEWS:46688 -msgid "" -":issue:`29243`: Prevent unnecessary rebuilding of Python during ``make " -"test``, ``make install`` and some other make targets when configured with " -"``--enable-optimizations``." -msgstr "" - -#: ../NEWS:40384 ../NEWS:42707 ../NEWS:46692 -msgid "" -":issue:`23404`: Don't regenerate generated files based on file modification " -"time anymore: the action is now explicit. Replace ``make touch`` with ``make" -" regen-all``." -msgstr "" - -#: ../NEWS:40388 ../NEWS:42711 ../NEWS:46696 -msgid ":issue:`29643`: Fix ``--enable-optimization`` didn't work." -msgstr "" - -#: ../NEWS:40390 ../NEWS:43071 -msgid "" -":issue:`27593`: sys.version and the platform module python_build(), " -"python_branch(), and python_revision() functions now use git information " -"rather than hg when building from a repo." -msgstr "" - -#: ../NEWS:40394 ../NEWS:43075 -msgid "" -":issue:`29572`: Update Windows build and OS X installers to use OpenSSL " -"1.0.2k." -msgstr "" - -#: ../NEWS:40396 -msgid "" -":issue:`27659`: Prohibit implicit C function declarations: use " -"``-Werror=implicit-function-declaration`` when possible (GCC and Clang, but " -"it depends on the compiler version). Patch written by Chi Hsuan Yen." -msgstr "" - -#: ../NEWS:40400 -msgid ":issue:`29384`: Remove old Be OS helper scripts." -msgstr "" - -#: ../NEWS:40402 ../NEWS:43077 -msgid ":issue:`26851`: Set Android compilation and link flags." -msgstr "" - -#: ../NEWS:40404 ../NEWS:43079 -msgid "" -":issue:`28768`: Fix implicit declaration of function _setmode. Patch by " -"Masayuki Yamamoto" -msgstr "" - -#: ../NEWS:40407 ../NEWS:43082 ../NEWS:47350 -msgid "" -":issue:`29080`: Removes hard dependency on hg.exe from PCBuild/build.bat" -msgstr "" - -#: ../NEWS:40409 ../NEWS:43084 ../NEWS:47352 -msgid ":issue:`23903`: Added missed names to PC/python3.def." -msgstr "" - -#: ../NEWS:40411 ../NEWS:43086 -msgid "" -":issue:`28762`: lockf() is available on Android API level 24, but the F_LOCK" -" macro is not defined in android-ndk-r13." -msgstr "" - -#: ../NEWS:40414 ../NEWS:43089 -msgid "" -":issue:`28538`: Fix the compilation error that occurs because if_nameindex()" -" is available on Android API level 24, but the if_nameindex structure is not" -" defined." -msgstr "" - -#: ../NEWS:40418 ../NEWS:43093 -msgid "" -":issue:`20211`: Do not add the directory for installing C header files and " -"the directory for installing object code libraries to the cross compilation " -"search paths. Original patch by Thomas Petazzoni." -msgstr "" - -#: ../NEWS:40422 ../NEWS:43097 -msgid "" -":issue:`28849`: Do not define sys.implementation._multiarch on Android." -msgstr "" - -#: ../NEWS:40424 ../NEWS:43308 ../NEWS:47354 -msgid "" -":issue:`10656`: Fix out-of-tree building on AIX. Patch by Tristan Carel and" -" Michael Haubenwallner." -msgstr "" - -#: ../NEWS:40427 ../NEWS:43311 ../NEWS:47357 -msgid ":issue:`26359`: Rename --with-optimiations to --enable-optimizations." -msgstr "" - -#: ../NEWS:40429 ../NEWS:43426 ../NEWS:47359 -msgid ":issue:`28444`: Fix missing extensions modules when cross compiling." -msgstr "" - -#: ../NEWS:40431 ../NEWS:43428 -msgid "" -":issue:`28208`: Update Windows build and OS X installers to use SQLite " -"3.14.2." -msgstr "" - -#: ../NEWS:40433 ../NEWS:43430 ../NEWS:47361 -msgid "" -":issue:`28248`: Update Windows build and OS X installers to use OpenSSL " -"1.0.2j." -msgstr "" - -#: ../NEWS:40435 -msgid "" -":issue:`21124`: Fix building the _struct module on Cygwin by passing " -"``NULL`` instead of ``&PyType_Type`` to PyVarObject_HEAD_INIT. Patch by " -"Masayuki Yamamoto." -msgstr "" - -#: ../NEWS:40439 -msgid "" -":issue:`13756`: Fix building extensions modules on Cygwin. Patch by Roumen " -"Petrov, based on original patch by Jason Tishler." -msgstr "" - -#: ../NEWS:40442 -msgid "" -":issue:`21085`: Add configure check for siginfo_t.si_band, which Cygwin does" -" not provide. Patch by Masayuki Yamamoto with review and rebase by Erik " -"Bray." -msgstr "" - -#: ../NEWS:40446 ../NEWS:43695 ../NEWS:47363 -msgid "" -":issue:`28258`: Fixed build with Estonian locale (python-config and " -"distclean targets in Makefile). Patch by Arfrever Frehtes Taifersar " -"Arahesis." -msgstr "" - -#: ../NEWS:40449 ../NEWS:43698 ../NEWS:47366 -msgid "" -":issue:`26661`: setup.py now detects system libffi with multiarch wrapper." -msgstr "" - -#: ../NEWS:40451 -msgid "" -":issue:`27979`: A full copy of libffi is no longer bundled for use when " -"building _ctypes on non-OSX UNIX platforms. An installed copy of libffi is " -"now required when building _ctypes on such platforms." -msgstr "" - -#: ../NEWS:40455 ../NEWS:43700 ../NEWS:47371 -msgid "" -":issue:`15819`: Remove redundant include search directory option for " -"building outside the source tree." -msgstr "" - -#: ../NEWS:40458 ../NEWS:43313 ../NEWS:47408 -msgid "" -":issue:`28676`: Prevent missing 'getentropy' declaration warning on macOS. " -"Patch by Gareth Rees." -msgstr "" - -#: ../NEWS:40464 -msgid ":issue:`31392`: Update Windows build to use OpenSSL 1.1.0f" -msgstr "" - -#: ../NEWS:40466 ../NEWS:42181 -msgid "" -":issue:`30389`: Adds detection of Visual Studio 2017 to distutils on " -"Windows." -msgstr "" - -#: ../NEWS:40468 -msgid "" -":issue:`31358`: zlib is no longer bundled in the CPython source, instead it " -"is downloaded on demand just like bz2, lzma, OpenSSL, Tcl/Tk, and SQLite." -msgstr "" - -#: ../NEWS:40471 ../NEWS:42183 -msgid "" -":issue:`31340`: Change to building with MSVC v141 (included with Visual " -"Studio 2017)" -msgstr "" - -#: ../NEWS:40474 ../NEWS:42186 -msgid "" -":issue:`30581`: os.cpu_count() now returns the correct number of processors " -"on Windows when the number of logical processors is greater than 64." -msgstr "" - -#: ../NEWS:40477 -msgid "" -":issue:`30916`: Pre-build OpenSSL, Tcl and Tk and include the binaries in " -"the build." -msgstr "" - -#: ../NEWS:40480 ../NEWS:42189 -msgid "" -":issue:`30731`: Add a missing xmlns to python.manifest so that it matches " -"the schema." -msgstr "" - -#: ../NEWS:40483 -msgid "" -":issue:`30291`: Allow requiring 64-bit interpreters from py.exe using -64 " -"suffix. Contributed by Steve (Gadget) Barnes." -msgstr "" - -#: ../NEWS:40486 -msgid "" -":issue:`30362`: Adds list options (-0, -0p) to py.exe launcher. Contributed " -"by Steve Barnes." -msgstr "" - -#: ../NEWS:40489 -msgid "" -":issue:`23451`: Fix socket deprecation warnings in socketmodule.c. Patch by " -"Segev Finer." -msgstr "" - -#: ../NEWS:40492 ../NEWS:42755 -msgid "" -":issue:`30450`: The build process on Windows no longer depends on " -"Subversion, instead pulling external code from GitHub via a Python script. " -"If Python 3.6 is not found on the system (via ``py -3.6``), NuGet is used to" -" download a copy of 32-bit Python." -msgstr "" - -#: ../NEWS:40497 -msgid ":issue:`29579`: Removes readme.txt from the installer." -msgstr "" - -#: ../NEWS:40499 ../NEWS:43012 -msgid "" -":issue:`25778`: winreg does not truncate string correctly (Patch by Eryk " -"Sun)" -msgstr "" - -#: ../NEWS:40501 -msgid "" -":issue:`28896`: Deprecate WindowsRegistryFinder and disable it by default" -msgstr "" - -#: ../NEWS:40503 ../NEWS:43421 -msgid ":issue:`28522`: Fixes mishandled buffer reallocation in getpathp.c" -msgstr "" - -#: ../NEWS:40505 ../NEWS:43662 -msgid ":issue:`28402`: Adds signed catalog files for stdlib on Windows." -msgstr "" - -#: ../NEWS:40507 ../NEWS:43664 -msgid "" -":issue:`28333`: Enables Unicode for ps1/ps2 and input() prompts. (Patch by " -"Eryk Sun)" -msgstr "" - -#: ../NEWS:40510 ../NEWS:43667 ../NEWS:47335 -msgid ":issue:`28251`: Improvements to help manuals on Windows." -msgstr "" - -#: ../NEWS:40512 ../NEWS:43669 ../NEWS:47337 -msgid "" -":issue:`28110`: launcher.msi has different product codes between 32-bit and " -"64-bit" -msgstr "" - -#: ../NEWS:40515 ../NEWS:43672 -msgid ":issue:`28161`: Opening CON for write access fails" -msgstr "" - -#: ../NEWS:40517 ../NEWS:43674 -msgid "" -":issue:`28162`: WindowsConsoleIO readall() fails if first line starts with " -"Ctrl+Z" -msgstr "" - -#: ../NEWS:40520 ../NEWS:43677 -msgid "" -":issue:`28163`: WindowsConsoleIO fileno() passes wrong flags to " -"_open_osfhandle" -msgstr "" - -#: ../NEWS:40522 ../NEWS:43679 -msgid ":issue:`28164`: _PyIO_get_console_type fails for various paths" -msgstr "" - -#: ../NEWS:40524 ../NEWS:43681 -msgid ":issue:`28137`: Renames Windows path file to ._pth" -msgstr "" - -#: ../NEWS:40526 ../NEWS:43683 -msgid ":issue:`28138`: Windows ._pth file should allow import site" -msgstr "" - -#: ../NEWS:40531 ../NEWS:42195 -msgid "" -":issue:`31493`: IDLE code context -- fix code update and font update timers." -" Canceling timers prevents a warning message when test_idle completes." -msgstr "" - -#: ../NEWS:40534 ../NEWS:42198 -msgid "" -":issue:`31488`: IDLE - Update non-key options in former extension classes. " -"When applying configdialog changes, call .reload for each feature class. " -"Change ParenMatch so updated options affect existing instances attached to " -"existing editor windows." -msgstr "" - -#: ../NEWS:40539 ../NEWS:42203 -msgid "" -":issue:`31477`: IDLE - Improve rstrip entry in doc. Strip trailing " -"whitespace strips more than blank spaces. Multiline string literals are not" -" skipped." -msgstr "" - -#: ../NEWS:40542 ../NEWS:42206 -msgid "" -":issue:`31480`: IDLE - make tests pass with zzdummy extension disabled by " -"default." -msgstr "" - -#: ../NEWS:40545 ../NEWS:42209 -msgid "" -":issue:`31421`: Document how IDLE runs tkinter programs. IDLE calls tcl/tk " -"update in the background in order to make live interaction and " -"experimentation with tkinter applications much easier." -msgstr "" - -#: ../NEWS:40549 ../NEWS:42213 -msgid "" -":issue:`31414`: IDLE -- fix tk entry box tests by deleting first. Adding to " -"an int entry is not the same as deleting and inserting because int('') will " -"fail." -msgstr "" - -#: ../NEWS:40553 ../NEWS:42217 -msgid "" -":issue:`31051`: Rearrange IDLE configdialog GenPage into Window, Editor, and" -" Help sections." -msgstr "" - -#: ../NEWS:40556 ../NEWS:42220 -msgid "" -":issue:`30617`: IDLE - Add docstrings and tests for outwin subclass of " -"editor. Move some data and functions from the class to module level. Patch " -"by Cheryl Sabella." -msgstr "" - -#: ../NEWS:40560 ../NEWS:42224 -msgid "" -":issue:`31287`: IDLE - Do not modify tkinter.message in test_configdialog." -msgstr "" - -#: ../NEWS:40562 ../NEWS:42226 -msgid "" -":issue:`27099`: Convert IDLE's built-in 'extensions' to regular features. " -"About 10 IDLE features were implemented as supposedly optional extensions. " -"Their different behavior could be confusing or worse for users and not good " -"for maintenance. Hence the conversion. The main difference for users is that" -" user configurable key bindings for builtin features are now handled " -"uniformly. Now, editing a binding in a keyset only affects its value in the " -"keyset. All bindings are defined together in the system-specific default " -"keysets in config-extensions.def. All custom keysets are saved as a whole in" -" config-extension.cfg. All take effect as soon as one clicks Apply or Ok. " -"The affected events are '<>', '<>', " -"'<>', '<>', '<>', '<>', '<>', and '<>'. Any (global) " -"customizations made before 3.6.3 will not affect their keyset-specific " -"customization after 3.6.3. and vice versa. Initial patch by Charles " -"Wohlganger." -msgstr "" - -#: ../NEWS:40578 ../NEWS:42242 -msgid "" -":issue:`31206`: IDLE: Factor HighPage(Frame) class from ConfigDialog. Patch " -"by Cheryl Sabella." -msgstr "" - -#: ../NEWS:40581 ../NEWS:42245 -msgid "" -":issue:`31001`: Add tests for configdialog highlight tab. Patch by Cheryl " -"Sabella." -msgstr "" - -#: ../NEWS:40584 ../NEWS:42248 -msgid "" -":issue:`31205`: IDLE: Factor KeysPage(Frame) class from ConfigDialog. The " -"slightly modified tests continue to pass. Patch by Cheryl Sabella." -msgstr "" - -#: ../NEWS:40587 ../NEWS:42251 -msgid "" -":issue:`31130`: IDLE -- stop leaks in test_configdialog. Initial patch by " -"Victor Stinner." -msgstr "" - -#: ../NEWS:40590 ../NEWS:42254 -msgid "" -":issue:`31002`: Add tests for configdialog keys tab. Patch by Cheryl " -"Sabella." -msgstr "" - -#: ../NEWS:40592 ../NEWS:42256 -msgid "" -":issue:`19903`: IDLE: Calltips use ``inspect.signature`` instead of " -"``inspect.getfullargspec``. This improves calltips for builtins converted to" -" use Argument Clinic. Patch by Louie Lu." -msgstr "" - -#: ../NEWS:40596 ../NEWS:42260 -msgid "" -":issue:`31083`: IDLE - Add an outline of a TabPage class in configdialog. " -"Update existing classes to match outline. Initial patch by Cheryl Sabella." -msgstr "" - -#: ../NEWS:40599 ../NEWS:42263 -msgid "" -":issue:`31050`: Factor GenPage(Frame) class from ConfigDialog. The slightly " -"modified tests continue to pass. Patch by Cheryl Sabella." -msgstr "" - -#: ../NEWS:40602 ../NEWS:42266 -msgid "" -":issue:`31004`: IDLE - Factor FontPage(Frame) class from ConfigDialog. " -"Slightly modified tests continue to pass. Fix General tests. Patch mostly by" -" Cheryl Sabella." -msgstr "" - -#: ../NEWS:40606 ../NEWS:42270 -msgid "" -":issue:`30781`: IDLE - Use ttk widgets in ConfigDialog. Patches by Terry Jan" -" Reedy and Cheryl Sabella." -msgstr "" - -#: ../NEWS:40609 ../NEWS:42273 -msgid "" -":issue:`31060`: IDLE - Finish rearranging methods of ConfigDialog Grouping " -"methods pertaining to each tab and the buttons will aid writing tests and " -"improving the tabs and will enable splitting the groups into classes." -msgstr "" - -#: ../NEWS:40613 ../NEWS:42277 -msgid "" -":issue:`30853`: IDLE -- Factor a VarTrace class out of ConfigDialog. " -"Instance tracers manages pairs consisting of a tk variable and a callback " -"function. When tracing is turned on, setting the variable calls the " -"function. Test coverage for the new class is 100%." -msgstr "" - -#: ../NEWS:40618 ../NEWS:42282 -msgid ":issue:`31003`: IDLE: Add more tests for General tab." -msgstr "" - -#: ../NEWS:40620 ../NEWS:42284 -msgid "" -":issue:`30993`: IDLE - Improve configdialog font page and tests. In " -"configdialog: Document causal pathways in create_font_tab docstring. " -"Simplify some attribute names. Move set_samples calls to var_changed_font " -"(idea from Cheryl Sabella). Move related functions to positions after the " -"create widgets function. In test_configdialog: Fix test_font_set so not " -"order dependent. Fix renamed test_indent_scale so it tests the widget. " -"Adjust tests for movement of set_samples call. Add tests for load " -"functions. Put all font tests in one class and tab indent tests in another." -" Except for two lines, these tests completely cover the related functions." -msgstr "" - -#: ../NEWS:40631 ../NEWS:42295 -msgid ":issue:`30981`: IDLE -- Add more configdialog font page tests." -msgstr "" - -#: ../NEWS:40633 ../NEWS:42297 -msgid ":issue:`28523`: IDLE: replace 'colour' with 'color' in configdialog." -msgstr "" - -#: ../NEWS:40635 ../NEWS:42299 -msgid "" -":issue:`30917`: Add tests for idlelib.config.IdleConf. Increase coverage " -"from 46% to 96%. Patch by Louie Lu." -msgstr "" - -#: ../NEWS:40638 ../NEWS:42302 -msgid "" -":issue:`30934`: Document coverage details for idlelib tests. Add section to " -"idlelib/idle-test/README.txt. Include check that branches are taken both " -"ways. Exclude IDLE-specific code that does not run during unit tests." -msgstr "" - -#: ../NEWS:40642 ../NEWS:42306 -msgid "" -":issue:`30913`: IDLE: Document ConfigDialog tk Vars, methods, and widgets in" -" docstrings This will facilitate improving the dialog and splitting up the " -"class. Original patch by Cheryl Sabella." -msgstr "" - -#: ../NEWS:40646 ../NEWS:42310 -msgid "" -":issue:`30899`: IDLE: Add tests for ConfigParser subclasses in config. Patch" -" by Louie Lu." -msgstr "" - -#: ../NEWS:40649 ../NEWS:42313 -msgid "" -":issue:`30881`: IDLE: Add docstrings to browser.py. Patch by Cheryl Sabella." -msgstr "" - -#: ../NEWS:40651 ../NEWS:42315 -msgid "" -":issue:`30851`: IDLE: Remove unused variables in configdialog. One is a " -"duplicate, one is set but cannot be altered by users. Patch by Cheryl " -"Sabella." -msgstr "" - -#: ../NEWS:40655 ../NEWS:42319 -msgid "" -":issue:`30870`: IDLE: In Settings dialog, select font with Up, Down keys as " -"well as mouse. Initial patch by Louie Lu." -msgstr "" - -#: ../NEWS:40658 ../NEWS:42322 -msgid ":issue:`8231`: IDLE: call config.IdleConf.GetUserCfgDir only once." -msgstr "" - -#: ../NEWS:40660 ../NEWS:42324 -msgid "" -":issue:`30779`: IDLE: Factor ConfigChanges class from configdialog, put in " -"config; test. * In config, put dump test code in a function; run it and " -"unittest in 'if __name__ == '__main__'. * Add class config.ConfigChanges " -"based on changes_class_v4.py on bpo issue. * Add class " -"test_config.ChangesTest, partly using configdialog_tests_v1.py. * Revise " -"configdialog to use ConfigChanges; see tracker msg297804. * Revise " -"test_configdialog to match configdialog changes. * Remove configdialog " -"functions unused or moved to ConfigChanges. Cheryl Sabella contributed parts" -" of the patch." -msgstr "" - -#: ../NEWS:40670 ../NEWS:42334 -msgid "" -":issue:`30777`: IDLE: configdialog - Add docstrings and fix comments. Patch " -"by Cheryl Sabella." -msgstr "" - -#: ../NEWS:40673 ../NEWS:42337 -msgid "" -":issue:`30495`: IDLE: Improve textview with docstrings, PEP8 names, and more" -" tests. Patch by Cheryl Sabella." -msgstr "" - -#: ../NEWS:40676 ../NEWS:42340 -msgid "" -":issue:`30723`: IDLE: Make several improvements to parenmatch. Add 'parens' " -"style to highlight both opener and closer. Make 'default' style, which is " -"not default, a synonym for 'opener'. Make time-delay work the same with all " -"styles. Add help for config dialog extensions tab, including help for " -"parenmatch. Add new tests. Original patch by Charles Wohlganger." -msgstr "" - -#: ../NEWS:40682 ../NEWS:42346 -msgid "" -":issue:`30674`: IDLE: add docstrings to grep module. Patch by Cheryl Sabella" -msgstr "" - -#: ../NEWS:40684 ../NEWS:42348 -msgid "" -":issue:`21519`: IDLE's basic custom key entry dialog now detects duplicates " -"properly. Original patch by Saimadhav Heblikar." -msgstr "" - -#: ../NEWS:40687 ../NEWS:42351 -msgid "" -":issue:`29910`: IDLE no longer deletes a character after commenting out a " -"region by a key shortcut. Add ``return 'break'`` for this and other " -"potential conflicts between IDLE and default key bindings." -msgstr "" - -#: ../NEWS:40691 ../NEWS:42355 -msgid "" -":issue:`30728`: Review and change idlelib.configdialog names. Lowercase " -"method and attribute names. Replace 'colour' with 'color', expand overly " -"cryptic names, delete unneeded underscores. Replace ``import *`` with " -"specific imports. Patches by Cheryl Sabella." -msgstr "" - -#: ../NEWS:40696 ../NEWS:42360 -msgid "" -":issue:`6739`: IDLE: Verify user-entered key sequences by trying to bind " -"them with tk. Add tests for all 3 validation functions. Original patch by G " -"Polo. Tests added by Cheryl Sabella." -msgstr "" - -#: ../NEWS:40700 ../NEWS:42667 -msgid "" -":issue:`15786`: Fix several problems with IDLE's autocompletion box. The " -"following should now work: clicking on selection box items; using the " -"scrollbar; selecting an item by hitting Return. Hangs on MacOSX should no " -"longer happen. Patch by Louie Lu." -msgstr "" - -#: ../NEWS:40705 ../NEWS:42672 -msgid "" -":issue:`25514`: Add doc subsubsection about IDLE failure to start. Popup no-" -"connection message directs users to this section." -msgstr "" - -#: ../NEWS:40708 ../NEWS:42675 -msgid "" -":issue:`30642`: Fix reference leaks in IDLE tests. Patches by Louie Lu and " -"Terry Jan Reedy." -msgstr "" - -#: ../NEWS:40711 ../NEWS:42678 -msgid "" -":issue:`30495`: Add docstrings for textview.py and use PEP8 names. Patches " -"by Cheryl Sabella and Terry Jan Reedy." -msgstr "" - -#: ../NEWS:40714 ../NEWS:42681 -msgid "" -":issue:`30290`: Help-about: use pep8 names and add tests. Increase coverage " -"to 100%. Patches by Louie Lu, Cheryl Sabella, and Terry Jan Reedy." -msgstr "" - -#: ../NEWS:40717 ../NEWS:42684 -msgid "" -":issue:`30303`: Add _utest option to textview; add new tests. Increase " -"coverage to 100%. Patches by Louie Lu and Terry Jan Reedy." -msgstr "" - -#: ../NEWS:40720 ../NEWS:42993 -msgid "" -":issue:`29071`: IDLE colors f-string prefixes (but not invalid ur prefixes)." -msgstr "" - -#: ../NEWS:40722 ../NEWS:42995 -msgid "" -":issue:`28572`: Add 10% to coverage of IDLE's test_configdialog. Update and " -"augment description of the configuration system." -msgstr "" - -#: ../NEWS:40728 ../NEWS:42367 -msgid "" -":issue:`30983`: gdb integration commands (py-bt, etc.) work on optimized " -"shared builds now, too. :pep:`523` introduced _PyEval_EvalFrameDefault " -"which inlines PyEval_EvalFrameEx on non-debug shared builds. This broke the" -" ability to use py-bt, py-up, and a few other Python-specific gdb " -"integrations. The problem is fixed by only looking for " -"_PyEval_EvalFrameDefault frames in python-gdb.py. Original patch by Bruno " -"\"Polaco\" Penteado." -msgstr "" - -#: ../NEWS:40736 -msgid ":issue:`29748`: Added the slice index converter in Argument Clinic." -msgstr "" - -#: ../NEWS:40738 -msgid "" -":issue:`24037`: Argument Clinic now uses the converter " -"``bool(accept={int})`` rather than ``int`` for semantical booleans. This " -"avoids repeating the default value for Python and C and will help in " -"converting to ``bool`` in future." -msgstr "" - -#: ../NEWS:40743 ../NEWS:42732 -msgid "" -":issue:`29367`: python-gdb.py now supports also ``method-wrapper`` " -"(``wrapperobject``) objects." -msgstr "" - -#: ../NEWS:40746 ../NEWS:43200 -msgid "" -":issue:`28023`: Fix python-gdb.py didn't support new dict implementation." -msgstr "" - -#: ../NEWS:40748 -msgid "" -":issue:`15369`: The pybench and pystone microbenchmark have been removed " -"from Tools. Please use the new Python benchmark suite " -"https://github.com/python/pyperformance which is more reliable and includes " -"a portable version of pybench working on Python 2 and Python 3." -msgstr "" - -#: ../NEWS:40753 -msgid "" -":issue:`28102`: The zipfile module CLI now prints usage to stderr. Patch by " -"Stephen J. Turnbull." -msgstr "" - -#: ../NEWS:40759 -msgid "" -":issue:`31338`: Added the ``Py_UNREACHABLE()`` macro for code paths which " -"are never expected to be reached. This and a few other useful macros are " -"now documented in the C API manual." -msgstr "" - -#: ../NEWS:40763 -msgid "" -":issue:`30832`: Remove own implementation for thread-local storage. CPython " -"has provided the own implementation for thread-local storage (TLS) on " -"Python/thread.c, it's used in the case which a platform has not supplied " -"native TLS. However, currently all supported platforms (Windows and " -"pthreads) have provided native TLS and defined the Py_HAVE_NATIVE_TLS macro " -"with unconditional in any case." -msgstr "" - -#: ../NEWS:40770 -msgid "" -":issue:`30708`: PyUnicode_AsWideCharString() now raises a ValueError if the " -"second argument is NULL and the wchar_t\\* string contains null characters." -msgstr "" - -#: ../NEWS:40773 -msgid "" -":issue:`16500`: Deprecate PyOS_AfterFork() and add PyOS_BeforeFork(), " -"PyOS_AfterFork_Parent() and PyOS_AfterFork_Child()." -msgstr "" - -#: ../NEWS:40776 -msgid "" -":issue:`6532`: The type of results of PyThread_start_new_thread() and " -"PyThread_get_thread_ident(), and the id parameter of " -"PyThreadState_SetAsyncExc() changed from \"long\" to \"unsigned long\"." -msgstr "" - -#: ../NEWS:40780 -msgid "" -":issue:`27867`: Function PySlice_GetIndicesEx() is deprecated and replaced " -"with a macro if Py_LIMITED_API is not set or set to the value between " -"0x03050400 and 0x03060000 (not including) or 0x03060100 or higher. Added " -"functions PySlice_Unpack() and PySlice_AdjustIndices()." -msgstr "" - -#: ../NEWS:40785 ../NEWS:43023 ../NEWS:46714 -msgid "" -":issue:`29083`: Fixed the declaration of some public API functions. " -"PyArg_VaParse() and PyArg_VaParseTupleAndKeywords() were not available in " -"limited API. PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and " -"Py_BuildValue() were not available in limited API of version < 3.3 when " -"PY_SSIZE_T_CLEAN is defined." -msgstr "" - -#: ../NEWS:40791 -msgid "" -":issue:`28769`: The result of PyUnicode_AsUTF8AndSize() and " -"PyUnicode_AsUTF8() is now of type ``const char *`` rather of ``char *``." -msgstr "" - -#: ../NEWS:40794 ../NEWS:43029 -msgid "" -":issue:`29058`: All stable API extensions added after Python 3.2 are now " -"available only when Py_LIMITED_API is set to the PY_VERSION_HEX value of the" -" minimum Python version supporting this API." -msgstr "" - -#: ../NEWS:40798 -msgid "" -":issue:`28822`: The index parameters *start* and *end* of " -"PyUnicode_FindChar() are now adjusted to behave like ``str[start:end]``." -msgstr "" - -#: ../NEWS:40801 ../NEWS:43187 ../NEWS:47290 -msgid "" -":issue:`28808`: PyUnicode_CompareWithASCIIString() now never raises " -"exceptions." -msgstr "" - -#: ../NEWS:40803 -msgid "" -":issue:`28761`: The fields name and doc of structures PyMemberDef, " -"PyGetSetDef, PyStructSequence_Field, PyStructSequence_Desc, and wrapperbase " -"are now of type ``const char *`` rather of ``char *``." -msgstr "" - -#: ../NEWS:40807 -msgid "" -":issue:`28748`: Private variable _Py_PackageContext is now of type ``const " -"char *`` rather of ``char *``." -msgstr "" - -#: ../NEWS:40810 -msgid "" -":issue:`19569`: Compiler warnings are now emitted if use most of deprecated " -"functions." -msgstr "" - -#: ../NEWS:40813 ../NEWS:43688 -msgid "" -":issue:`28426`: Deprecated undocumented functions " -"PyUnicode_AsEncodedObject(), PyUnicode_AsDecodedObject(), " -"PyUnicode_AsDecodedUnicode() and PyUnicode_AsEncodedUnicode()." -msgstr "" - -#: ../NEWS:40819 -msgid "Python 3.6.6 final" -msgstr "Python 3.6.6 final" - -#: ../NEWS:40823 -msgid "There were no new changes in version 3.6.6." -msgstr "Tidak ada yang baru di versi 3.6.6." - -#: ../NEWS:40828 -msgid "Python 3.6.6 release candidate 1" -msgstr "Python 3.6.6 kandidat rilis 1" - -#: ../NEWS:40830 -msgid "*Release date: 2018-06-11*" -msgstr "*Tanggal rilis: 2018-06-11*" - -#: ../NEWS:41061 -msgid ":issue:`33184`: Update Windows installer to OpenSSL 1.0.2o." -msgstr "" - -#: ../NEWS:41066 -msgid ":issue:`33184`: Update macOS installer build to use OpenSSL 1.0.2o." -msgstr "" - -#: ../NEWS:41098 -msgid "" -":issue:`29706`: IDLE now colors async and await as keywords in 3.6. They " -"become full keywords in 3.7." -msgstr "" - -#: ../NEWS:41139 -msgid "Python 3.6.5 final" -msgstr "Python 3.6.5 final" - -#: ../NEWS:41141 -msgid "*Release date: 2018-03-28*" -msgstr "*Tanggal rilis: 2018-03-28*" - -#: ../NEWS:41155 -msgid "Python 3.6.5 release candidate 1" -msgstr "Python 3.6.5 kandidat rilis 1" - -#: ../NEWS:41157 -msgid "*Release date: 2018-03-13*" -msgstr "*Tanggal rilis: 2018-03-13*" - -#: ../NEWS:41196 -msgid "" -":issue:`32329`: ``sys.flags.hash_randomization`` is now properly set to 0 " -"when hash randomization is turned off by ``PYTHONHASHSEED=0``." -msgstr "" - -#: ../NEWS:41199 -msgid "" -":issue:`30416`: The optimizer is now protected from spending much time doing" -" complex calculations and consuming much memory for creating large constants" -" in constant folding." -msgstr "" - -#: ../NEWS:41226 -msgid "" -":issue:`30353`: Fix ctypes pass-by-value for structs on 64-bit Cygwin/MinGW." -msgstr "" - -#: ../NEWS:41264 -msgid "" -":issue:`32394`: socket: Remove TCP_FASTOPEN, TCP_KEEPCNT flags on older " -"version Windows during run-time." -msgstr "" - -#: ../NEWS:41296 -msgid "" -":issue:`32555`: On FreeBSD and Solaris, os.strerror() now always decode the " -"byte string from the current locale encoding, rather than using " -"ASCII/surrogateescape in some cases." -msgstr "" - -#: ../NEWS:41314 -msgid "" -":issue:`32185`: The SSL module no longer sends IP addresses in SNI TLS " -"extension on platforms with OpenSSL 1.0.2+ or inet_pton." -msgstr "" - -#: ../NEWS:41379 -msgid "" -":issue:`31518`: Debian Unstable has disabled TLS 1.0 and 1.1 for " -"SSLv23_METHOD(). Change TLS/SSL protocol of some tests to PROTOCOL_TLS or " -"PROTOCOL_TLSv1_2 to make them pass on Debian." -msgstr "" - -#: ../NEWS:41412 -msgid ":issue:`32588`: Create standalone _distutils_findvs module." -msgstr "" - -#: ../NEWS:41417 -msgid "" -":issue:`32726`: Provide an additional, more modern macOS installer variant " -"that supports macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied " -"third-party libraries to OpenSSL 1.0.2n, XZ 5.2.3, and SQLite 3.22.0. The " -"10.9+ installer now links with and supplies its own copy of Tcl/Tk 8.6.8." -msgstr "" - -#: ../NEWS:41473 -msgid "Python 3.6.4 final" -msgstr "Python 3.6.4 final" - -#: ../NEWS:41475 -msgid "*Release date: 2017-12-18*" -msgstr "*Tanggal rilis: 2017-12-18*" - -#: ../NEWS:41477 -msgid "There were no new code changes in version 3.6.4 since v3.6.4rc1." -msgstr "Tidak ada perubahan kode di versi 3.6.4 sejak v3.6.4rc1." - -#: ../NEWS:41482 -msgid "Python 3.6.4 release candidate 1" -msgstr "Python 3.6.4 kandidat rilis 1" - -#: ../NEWS:41511 -msgid "" -":issue:`31852`: Fix a segmentation fault caused by a combination of the " -"async soft keyword and continuation lines." -msgstr "" - -#: ../NEWS:41845 -msgid "" -":issue:`13802`: Use non-Latin characters in the IDLE's Font settings sample." -" Even if one selects a font that defines a limited subset of the unicode " -"Basic Multilingual Plane, tcl/tk will use other fonts that define a " -"character. The expanded example give users of non-Latin characters a better " -"idea of what they might see in IDLE's shell and editors. To make room for " -"the expanded sample, frames on the Font tab are re-arranged. The Font/Tabs " -"help explains a bit about the additions." -msgstr "" - -#: ../NEWS:41901 -msgid "Python 3.6.3 final" -msgstr "Python 3.6.3 final" - -#: ../NEWS:41903 -msgid "*Release date: 2017-10-03*" -msgstr "*Tanggal rilis: 2017-10-03*" - -#: ../NEWS:41908 -msgid "" -":issue:`31641`: Re-allow arbitrary iterables in " -"``concurrent.futures.as_completed()``. Fixes regression in 3.6.3rc1." -msgstr "" - -#: ../NEWS:41914 -msgid "" -":issue:`31662`: Fix typos in Windows ``uploadrelease.bat`` script. Fix " -"Windows Doc build issues in ``Doc/make.bat``." -msgstr "" - -#: ../NEWS:41917 -msgid "" -":issue:`31423`: Fix building the PDF documentation with newer versions of " -"Sphinx." -msgstr "" - -#: ../NEWS:41922 -msgid "Python 3.6.3 release candidate 1" -msgstr "Python 3.6.3 kandidat rilis 1" - -#: ../NEWS:41924 -msgid "*Release date: 2017-09-18*" -msgstr "*Tanggal rilis: 2017-09-18*" - -#: ../NEWS:42377 -msgid "Python 3.6.2 final" -msgstr "Python 3.6.2 final" - -#: ../NEWS:42379 -msgid "*Release date: 2017-07-17*" -msgstr "*Tanggal rilis: 2017-07-17*" - -#: ../NEWS:42381 ../NEWS:43105 -msgid "No changes since release candidate 2" -msgstr "Tidak ada perubahan sejak kandidat rilis 2" - -#: ../NEWS:42386 -msgid "Python 3.6.2 release candidate 2" -msgstr "Python 3.6.2 kandidat rilis 2" - -#: ../NEWS:42388 -msgid "*Release date: 2017-07-07*" -msgstr "*Tanggal rilis: 2017-07-07*" - -#: ../NEWS:42413 -msgid "Python 3.6.2 release candidate 1" -msgstr "Python 3.6.2 kandidat rilis 1" - -#: ../NEWS:42415 -msgid "*Release date: 2017-06-17*" -msgstr "*Tanggal rilis: 2017-06-17*" - -#: ../NEWS:42430 -msgid "" -":issue:`30604`: Move co_extra_freefuncs to not be per-thread to avoid " -"crashes" -msgstr "" - -#: ../NEWS:42460 ../NEWS:46366 -msgid ":issue:`29600`: Fix wrapping coroutine return values in StopIteration." -msgstr "" - -#: ../NEWS:42489 ../NEWS:46432 -msgid "" -":issue:`30645`: Fix path calculation in imp.load_package(), fixing it for " -"cases when a package is only shipped with bytecodes. Patch by Alexandru " -"Ardelean." -msgstr "" - -#: ../NEWS:42499 -msgid "" -":issue:`24484`: Avoid race condition in multiprocessing cleanup (#2159)" -msgstr "" - -#: ../NEWS:42573 ../NEWS:46500 -msgid "" -":issue:`26293`: Change resulted because of zipfile breakage. (See also: " -":issue:`29094`)" -msgstr "" - -#: ../NEWS:42647 ../NEWS:46567 -msgid "" -":issue:`28298`: Fix a bug that prevented array 'Q', 'L' and 'I' from " -"accepting big intables (objects that have __int__) as elements. Patch by " -"Oren Milman." -msgstr "" - -#: ../NEWS:42690 -msgid "" -":issue:`27867`: Function PySlice_GetIndicesEx() no longer replaced with a " -"macro if Py_LIMITED_API is not set." -msgstr "" - -#: ../NEWS:42762 -msgid "Python 3.6.1 final" -msgstr "Python 3.6.1 final" - -#: ../NEWS:42764 -msgid "*Release date: 2017-03-21*" -msgstr "*Tanggal rilis: 2017-03-21*" - -#: ../NEWS:42780 -msgid ":issue:`27593`: fix format of git information used in sys.version" -msgstr "" - -#: ../NEWS:42782 -msgid "Fix incompatible comment in python.h" -msgstr "Perbaiki komentar yang tidak kompatibel di python.h" - -#: ../NEWS:42786 -msgid "Python 3.6.1 release candidate 1" -msgstr "Python 3.6.1 kandidat rilis 1" - -#: ../NEWS:42788 -msgid "*Release date: 2017-03-04*" -msgstr "*Tanggal rilis: 2017-03-04*" - -#: ../NEWS:42899 ../NEWS:46599 -msgid "" -":issue:`29519`: Fix weakref spewing exceptions during interpreter shutdown " -"when used with a rare combination of multiprocessing and custom codecs." -msgstr "" - -#: ../NEWS:42915 -msgid "" -":issue:`29316`: Restore the provisional status of typing module, add " -"corresponding note to documentation. Patch by Ivan L." -msgstr "" - -#: ../NEWS:42921 ../NEWS:46615 -msgid "" -":issue:`29011`: Fix an important omission by adding Deque to the typing " -"module." -msgstr "" - -#: ../NEWS:42935 -msgid "" -":issue:`29203`: functools.lru_cache() now respects :pep:`468` and preserves " -"the order of keyword arguments. f(a=1, b=2) is now cached separately from " -"f(b=2, a=1) since both calls could potentially give different results." -msgstr "" - -#: ../NEWS:42942 ../NEWS:46881 -msgid "" -":issue:`29094`: Offsets in a ZIP file created with extern file object and " -"modes \"w\" and \"x\" now are relative to the start of the file." -msgstr "" - -#: ../NEWS:42945 -msgid "" -":issue:`29085`: Allow random.Random.seed() to use high quality OS randomness" -" rather than the pid and time." -msgstr "" - -#: ../NEWS:42948 -msgid "" -":issue:`29061`: Fixed bug in secrets.randbelow() which would hang when given" -" a negative input. Patch by Brendan Donegan." -msgstr "" - -#: ../NEWS:42956 ../NEWS:46887 -msgid "" -":issue:`29119`: Fix weakrefs in the pure python version of " -"collections.OrderedDict move_to_end() method. Contributed by Andra Bogildea." -msgstr "" - -#: ../NEWS:42968 -msgid "" -":issue:`29055`: Neaten-up empty population error on random.choice() by " -"suppressing the upstream exception." -msgstr "" - -#: ../NEWS:42983 ../NEWS:46911 -msgid "" -":issue:`28847`: dbm.dumb now supports reading read-only files and no longer " -"writes the index file when it is not changed." -msgstr "" - -#: ../NEWS:43001 -msgid ":issue:`29579`: Removes readme.txt from the installer" -msgstr "" - -#: ../NEWS:43003 -msgid "" -":issue:`29326`: Ignores blank lines in ._pth files (Patch by Alexey " -"Izbyshev)" -msgstr "" - -#: ../NEWS:43005 -msgid "" -":issue:`28164`: Correctly handle special console filenames (patch by Eryk " -"Sun)" -msgstr "" - -#: ../NEWS:43007 -msgid ":issue:`29409`: Implement :pep:`529` for io.FileIO (Patch by Eryk Sun)" -msgstr "" - -#: ../NEWS:43009 ../NEWS:46704 -msgid "" -":issue:`29392`: Prevent crash when passing invalid arguments into msvcrt " -"module." -msgstr "" - -#: ../NEWS:43014 -msgid "" -":issue:`28896`: Deprecate WindowsRegistryFinder and disable it by default." -msgstr "" - -#: ../NEWS:43019 -msgid "" -":issue:`27867`: Function PySlice_GetIndicesEx() is replaced with a macro if " -"Py_LIMITED_API is not set or set to the value between 0x03050400 and " -"0x03060000 (not including) or 0x03060100 or higher." -msgstr "" - -#: ../NEWS:43049 ../NEWS:46669 -msgid "" -":issue:`28087`: Skip test_asyncore and test_eintr poll failures on macOS. " -"Skip some tests of select.poll when running on macOS due to unresolved " -"issues with the underlying system poll function on some macOS versions." -msgstr "" - -#: ../NEWS:43053 ../NEWS:46679 -msgid "" -":issue:`29571`: to match the behaviour of the ``re.LOCALE`` flag, " -"test_re.test_locale_flag now uses ``locale.getpreferredencoding(False)`` to " -"determine the candidate encoding for the test regex (allowing it to " -"correctly skip the test when the default locale encoding is a multi-byte " -"encoding)" -msgstr "" - -#: ../NEWS:43101 -msgid "Python 3.6.0 final" -msgstr "Python 3.6.0 final" - -#: ../NEWS:43103 -msgid "*Release date: 2016-12-23*" -msgstr "*Tanggal rilis: 2016-12-23*" - -#: ../NEWS:43110 -msgid "Python 3.6.0 release candidate 2" -msgstr "Python 3.6.0 kandidat rilis 2" - -#: ../NEWS:43112 -msgid "*Release date: 2016-12-16*" -msgstr "*Tanggal rilis: 2016-12-16*" - -#: ../NEWS:43120 -msgid "" -":issue:`28990`: Fix asyncio SSL hanging if connection is closed before " -"handshake is completed. (Patch by HoHo-Ho)" -msgstr "" - -#: ../NEWS:43126 -msgid ":issue:`28770`: Fix python-gdb.py for fastcalls." -msgstr "" - -#: ../NEWS:43131 -msgid ":issue:`28896`: Deprecate WindowsRegistryFinder." -msgstr "" - -#: ../NEWS:43136 -msgid "" -":issue:`28898`: Prevent gdb build errors due to HAVE_LONG_LONG redefinition." -msgstr "" - -#: ../NEWS:43140 -msgid "Python 3.6.0 release candidate 1" -msgstr "Python 3.6.0 kandidat rilis 1" - -#: ../NEWS:43142 -msgid "*Release date: 2016-12-06*" -msgstr "*Tanggal rilis: 2016-12-06*" - -#: ../NEWS:43164 -msgid "" -":issue:`27030`: Unknown escapes in re.sub() replacement template are allowed" -" again. But they still are deprecated and will be disabled in 3.7." -msgstr "" - -#: ../NEWS:43182 -msgid ":issue:`28843`: Fix asyncio C Task to handle exceptions __traceback__." -msgstr "" - -#: ../NEWS:43192 -msgid "" -":issue:`23722`: The data model reference and the porting section in the " -"What's New guide now cover the additional ``__classcell__`` handling needed " -"for custom metaclasses to fully support :pep:`487` and zero-argument " -"``super()``." -msgstr "" - -#: ../NEWS:43204 -msgid "Python 3.6.0 beta 4" -msgstr "Python 3.6.0 beta 4" - -#: ../NEWS:43206 -msgid "*Release date: 2016-11-21*" -msgstr "*Tanggal rilis: 2016-11-21*" - -#: ../NEWS:43234 -msgid "" -":issue:`27243`: Change PendingDeprecationWarning -> DeprecationWarning. As " -"it was agreed in the issue, __aiter__ returning an awaitable should result " -"in PendingDeprecationWarning in 3.5 and in DeprecationWarning in 3.6." -msgstr "" - -#: ../NEWS:43253 -msgid "" -":issue:`20572`: The subprocess.Popen.wait method's undocumented endtime " -"parameter now raises a DeprecationWarning." -msgstr "" - -#: ../NEWS:43270 -msgid ":issue:`28600`: Optimize loop.call_soon." -msgstr "" - -#: ../NEWS:43272 ../NEWS:47241 -msgid "" -":issue:`28613`: Fix get_event_loop() return the current loop if called from " -"coroutines/callbacks." -msgstr "" - -#: ../NEWS:43275 -msgid ":issue:`28634`: Fix asyncio.isfuture() to support unittest.Mock." -msgstr "" - -#: ../NEWS:43277 -msgid ":issue:`26081`: Fix refleak in _asyncio.Future.__iter__().throw." -msgstr "" - -#: ../NEWS:43279 ../NEWS:47244 -msgid "" -":issue:`28639`: Fix inspect.isawaitable to always return bool Patch by " -"Justin Mayfield." -msgstr "" - -#: ../NEWS:43282 ../NEWS:47247 -msgid "" -":issue:`28652`: Make loop methods reject socket kinds they do not support." -msgstr "" - -#: ../NEWS:43284 ../NEWS:47249 -msgid ":issue:`28653`: Fix a refleak in functools.lru_cache." -msgstr "" - -#: ../NEWS:43286 ../NEWS:47251 -msgid "" -":issue:`28703`: Fix asyncio.iscoroutinefunction to handle Mock objects." -msgstr "" - -#: ../NEWS:43288 -msgid "" -":issue:`28704`: Fix create_unix_server to support Path-like objects (PEP " -"519)." -msgstr "" - -#: ../NEWS:43290 -msgid ":issue:`28720`: Add collections.abc.AsyncGenerator." -msgstr "" - -#: ../NEWS:43318 -msgid "Python 3.6.0 beta 3" -msgstr "Python 3.6.0 beta 3" - -#: ../NEWS:43320 -msgid "*Release date: 2016-10-31*" -msgstr "*Tanggal rilis: 2016-10-31*" - -#: ../NEWS:43343 -msgid "" -":issue:`28471`: Fix \"Python memory allocator called without holding the " -"GIL\" crash in socket.setblocking." -msgstr "" - -#: ../NEWS:43365 -msgid "" -":issue:`18844`: The various ways of specifying weights for random.choices() " -"now produce the same result sequences." -msgstr "" - -#: ../NEWS:43368 ../NEWS:46943 -msgid "" -":issue:`28255`: calendar.TextCalendar().prmonth() no longer prints a space " -"at the start of new line after printing a month's calendar. Patch by Xiang " -"Zhang." -msgstr "" - -#: ../NEWS:43401 ../NEWS:46957 -msgid ":issue:`24452`: Make webbrowser support Chrome on Mac OS X." -msgstr "" - -#: ../NEWS:43406 -msgid "" -":issue:`28492`: Fix how StopIteration exception is raised in " -"_asyncio.Future." -msgstr "" - -#: ../NEWS:43408 -msgid "" -":issue:`28500`: Fix asyncio to handle async gens GC from another thread." -msgstr "" - -#: ../NEWS:43410 ../NEWS:47233 -msgid "" -":issue:`26923`: Fix asyncio.Gather to refuse being cancelled once all " -"children are done. Patch by Johannes Ebke." -msgstr "" - -#: ../NEWS:43413 ../NEWS:47236 -msgid "" -":issue:`26796`: Don't configure the number of workers for default threadpool" -" executor. Initial patch by Hans Lawrenz." -msgstr "" - -#: ../NEWS:43416 -msgid ":issue:`28544`: Implement asyncio.Task in C." -msgstr "" - -#: ../NEWS:43442 -msgid "Python 3.6.0 beta 2" -msgstr "Python 3.6.0 beta 2" - -#: ../NEWS:43444 -msgid "*Release date: 2016-10-10*" -msgstr "*Tanggal rilis: 2016-10-10*" - -#: ../NEWS:43460 -msgid "" -":issue:`28376`: Creating instances of range_iterator by calling " -"range_iterator type now is deprecated. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:43463 ../NEWS:46784 -msgid "" -":issue:`28376`: The constructor of range_iterator now checks that step is " -"not 0. Patch by Oren Milman." -msgstr "" - -#: ../NEWS:43524 ../NEWS:46962 -msgid "" -":issue:`26293`: Fixed writing ZIP files that starts not from the start of " -"the file. Offsets in ZIP file now are relative to the start of the archive " -"in conforming to the specification." -msgstr "" - -#: ../NEWS:43531 -msgid ":issue:`27181`: remove statistics.geometric_mean and defer until 3.7." -msgstr "" - -#: ../NEWS:43710 -msgid "Python 3.6.0 beta 1" -msgstr "Python 3.6.0 beta 1" - -#: ../NEWS:43712 -msgid "*Release date: 2016-09-12*" -msgstr "*Tanggal rilis: 2016-09-12*" - -#: ../NEWS:43717 -msgid "" -":issue:`23722`: The __class__ cell used by zero-argument super() is now " -"initialized from type.__new__ rather than __build_class__, so class methods " -"relying on that will now work correctly when called from metaclass methods " -"during class creation. Patch by Martin Teichmann." -msgstr "" - -#: ../NEWS:43722 ../NEWS:46815 -msgid "" -":issue:`25221`: Fix corrupted result from PyLong_FromLong(0) when Python is " -"compiled with NSMALLPOSINTS = 0." -msgstr "" - -#: ../NEWS:43725 -msgid "" -":issue:`27080`: Implement formatting support for :pep:`515`. Initial patch " -"by Chris Angelico." -msgstr "" - -#: ../NEWS:43728 -msgid "" -":issue:`27199`: In tarfile, expose copyfileobj bufsize to improve " -"throughput. Patch by Jason Fried." -msgstr "" - -#: ../NEWS:43731 -msgid "" -":issue:`27948`: In f-strings, only allow backslashes inside the braces " -"(where the expressions are). This is a breaking change from the 3.6 alpha " -"releases, where backslashes are allowed anywhere in an f-string. Also, " -"require that expressions inside f-strings be enclosed within literal braces," -" and not escapes like ``f'\\x7b\"hi\"\\x7d'``." -msgstr "" - -#: ../NEWS:43737 -msgid ":issue:`28046`: Remove platform-specific directories from sys.path." -msgstr "" - -#: ../NEWS:43739 -msgid ":issue:`28071`: Add early-out for differencing from an empty set." -msgstr "" - -#: ../NEWS:43741 ../NEWS:46818 -msgid "" -":issue:`25758`: Prevents zipimport from unnecessarily encoding a filename " -"(patch by Eryk Sun)" -msgstr "" - -#: ../NEWS:43744 -msgid "" -":issue:`25856`: The __module__ attribute of extension classes and functions " -"now is interned. This leads to more compact pickle data with protocol 4." -msgstr "" - -#: ../NEWS:43747 -msgid "" -":issue:`27213`: Rework CALL_FUNCTION* opcodes to produce shorter and more " -"efficient bytecode. Patch by Demur Rumed, design by Serhiy Storchaka, " -"reviewed by Serhiy Storchaka and Victor Stinner." -msgstr "" - -#: ../NEWS:43751 -msgid "" -":issue:`26331`: Implement tokenizing support for :pep:`515`. Patch by Georg " -"Brandl." -msgstr "" - -#: ../NEWS:43754 -msgid "" -":issue:`27999`: Make \"global after use\" a SyntaxError, and ditto for " -"nonlocal. Patch by Ivan Levkivskyi." -msgstr "" - -#: ../NEWS:43757 -msgid ":issue:`28003`: Implement :pep:`525` -- Asynchronous Generators." -msgstr "" - -#: ../NEWS:43759 -msgid "" -":issue:`27985`: Implement :pep:`526` -- Syntax for Variable Annotations. " -"Patch by Ivan Levkivskyi." -msgstr "" - -#: ../NEWS:43762 -msgid "" -":issue:`26058`: Add a new private version to the builtin dict type, " -"incremented at each dictionary creation and at each dictionary change. " -"Implementation of the PEP 509." -msgstr "" - -#: ../NEWS:43766 -msgid "" -":issue:`27364`: A backslash-character pair that is not a valid escape " -"sequence now generates a DeprecationWarning. Patch by Emanuel Barry." -msgstr "" - -#: ../NEWS:43769 -msgid "" -":issue:`27350`: ``dict`` implementation is changed like PyPy. It is more " -"compact and preserves insertion order. (Concept developed by Raymond " -"Hettinger and patch by Inada Naoki.)" -msgstr "" - -#: ../NEWS:43773 -msgid "" -":issue:`27911`: Remove unnecessary error checks in " -"``exec_builtin_or_dynamic()``." -msgstr "" - -#: ../NEWS:43776 -msgid "" -":issue:`27078`: Added BUILD_STRING opcode. Optimized f-strings evaluation." -msgstr "" - -#: ../NEWS:43778 -msgid "" -":issue:`17884`: Python now requires systems with inttypes.h and stdint.h" -msgstr "" - -#: ../NEWS:43780 -msgid "" -":issue:`27961`: Require platforms to support ``long long``. Python hasn't " -"compiled without ``long long`` for years, so this is basically a formality." -msgstr "" - -#: ../NEWS:43784 -msgid "" -":issue:`27355`: Removed support for Windows CE. It was never finished, and " -"Windows CE is no longer a relevant platform for Python." -msgstr "" - -#: ../NEWS:43787 -msgid "Implement :pep:`523`." -msgstr "Implementasi :pep:`523`." - -#: ../NEWS:43789 -msgid "" -":issue:`27870`: A left shift of zero by a large integer no longer attempts " -"to allocate large amounts of memory." -msgstr "" - -#: ../NEWS:43792 -msgid "" -":issue:`25402`: In int-to-decimal-string conversion, improve the estimate of" -" the intermediate memory required, and remove an unnecessarily strict " -"overflow check. Patch by Serhiy Storchaka." -msgstr "" - -#: ../NEWS:43796 -msgid "" -":issue:`27214`: In long_invert, be more careful about modifying object " -"returned by long_add, and remove an unnecessary check for small longs. " -"Thanks Oren Milman for analysis and patch." -msgstr "" - -#: ../NEWS:43800 -msgid "" -":issue:`27506`: Support passing the bytes/bytearray.translate() \"delete\" " -"argument by keyword." -msgstr "" - -#: ../NEWS:43803 ../NEWS:46824 -msgid "" -":issue:`27812`: Properly clear out a generator's frame's backreference to " -"the generator to prevent crashes in frame.clear()." -msgstr "" - -#: ../NEWS:43806 ../NEWS:46827 -msgid "" -":issue:`27811`: Fix a crash when a coroutine that has not been awaited is " -"finalized with warnings-as-errors enabled." -msgstr "" - -#: ../NEWS:43809 ../NEWS:46830 -msgid "" -":issue:`27587`: Fix another issue found by PVS-Studio: Null pointer check " -"after use of 'def' in _PyState_AddModule(). Initial patch by Christian " -"Heimes." -msgstr "" - -#: ../NEWS:43812 -msgid "" -":issue:`27792`: The modulo operation applied to ``bool`` and other ``int`` " -"subclasses now always returns an ``int``. Previously the return type " -"depended on the input values. Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:43816 -msgid ":issue:`26984`: int() now always returns an instance of exact int." -msgstr "" - -#: ../NEWS:43818 -msgid "" -":issue:`25604`: Fix a minor bug in integer true division; this bug could " -"potentially have caused off-by-one-ulp results on platforms with unreliable " -"ldexp implementations." -msgstr "" - -#: ../NEWS:43822 -msgid ":issue:`24254`: Make class definition namespace ordered by default." -msgstr "" - -#: ../NEWS:43824 -msgid "" -":issue:`27662`: Fix an overflow check in ``List_New``: the original code was" -" checking against ``Py_SIZE_MAX`` instead of the correct upper bound of " -"``Py_SSIZE_T_MAX``. Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:43828 ../NEWS:46836 -msgid "" -":issue:`27782`: Multi-phase extension module import now correctly allows the" -" ``m_methods`` field to be used to add module level functions to instances " -"of non-module types returned from ``Py_create_mod``. Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:43832 ../NEWS:46840 -msgid "" -":issue:`27936`: The round() function accepted a second None argument for " -"some types but not for others. Fixed the inconsistency by accepting None " -"for all numeric types." -msgstr "" - -#: ../NEWS:43836 ../NEWS:46844 -msgid "" -":issue:`27487`: Warn if a submodule argument to \"python -m\" or " -"runpy.run_module() is found in sys.modules after parent packages are " -"imported, but before the submodule is executed." -msgstr "" - -#: ../NEWS:43840 -msgid "" -":issue:`27157`: Make only type() itself accept the one-argument form. Patch " -"by Eryk Sun and Emanuel Barry." -msgstr "" - -#: ../NEWS:43843 ../NEWS:46848 -msgid "" -":issue:`27558`: Fix a SystemError in the implementation of \"raise\" " -"statement. In a brand new thread, raise a RuntimeError since there is no " -"active exception to reraise. Patch written by Xiang Zhang." -msgstr "" - -#: ../NEWS:43847 -msgid ":issue:`28008`: Implement :pep:`530` -- asynchronous comprehensions." -msgstr "" - -#: ../NEWS:43849 ../NEWS:46873 -msgid ":issue:`27942`: Fix memory leak in codeobject.c" -msgstr "" - -#: ../NEWS:43854 ../NEWS:46917 -msgid ":issue:`28732`: Fix crash in os.spawnv() with no elements in args" -msgstr "" - -#: ../NEWS:43856 ../NEWS:46919 -msgid "" -":issue:`28485`: Always raise ValueError for negative " -"compileall.compile_dir(workers=...) parameter, even when multithreading is " -"unavailable." -msgstr "" - -#: ../NEWS:43860 -msgid "" -":issue:`28037`: Use sqlite3_get_autocommit() instead of setting " -"Connection->inTransaction manually." -msgstr "" - -#: ../NEWS:43863 -msgid "" -":issue:`25283`: Attributes tm_gmtoff and tm_zone are now available on all " -"platforms in the return values of time.localtime() and time.gmtime()." -msgstr "" - -#: ../NEWS:43866 -msgid "" -":issue:`24454`: Regular expression match object groups are now accessible " -"using __getitem__. \"mo[x]\" is equivalent to \"mo.group(x)\"." -msgstr "" - -#: ../NEWS:43869 -msgid "" -":issue:`10740`: sqlite3 no longer implicitly commit an open transaction " -"before DDL statements." -msgstr "" - -#: ../NEWS:43872 -msgid ":issue:`17941`: Add a *module* parameter to collections.namedtuple()." -msgstr "" - -#: ../NEWS:43874 -msgid "" -":issue:`22493`: Inline flags now should be used only at the start of the " -"regular expression. Deprecation warning is emitted if uses them in the " -"middle of the regular expression." -msgstr "" - -#: ../NEWS:43878 -msgid "" -":issue:`26885`: xmlrpc now supports unmarshalling additional data types used" -" by Apache XML-RPC implementation for numerics and None." -msgstr "" - -#: ../NEWS:43881 -msgid "" -":issue:`28070`: Fixed parsing inline verbose flag in regular expressions." -msgstr "" - -#: ../NEWS:43883 -msgid "" -":issue:`19500`: Add client-side SSL session resumption to the ssl module." -msgstr "" - -#: ../NEWS:43885 -msgid "" -":issue:`28022`: Deprecate ssl-related arguments in favor of SSLContext. The " -"deprecation include manual creation of SSLSocket and certfile/keyfile (or " -"similar) in ftplib, httplib, imaplib, smtplib, poplib and urllib." -msgstr "" - -#: ../NEWS:43889 -msgid "" -":issue:`28043`: SSLContext has improved default settings: OP_NO_SSLv2, " -"OP_NO_SSLv3, OP_NO_COMPRESSION, OP_CIPHER_SERVER_PREFERENCE, " -"OP_SINGLE_DH_USE, OP_SINGLE_ECDH_USE and HIGH ciphers without MD5." -msgstr "" - -#: ../NEWS:43893 -msgid "" -":issue:`24693`: Changed some RuntimeError's in the zipfile module to more " -"appropriate types. Improved some error messages and debugging output." -msgstr "" - -#: ../NEWS:43896 -msgid "" -":issue:`17909`: ``json.load`` and ``json.loads`` now support binary input " -"encoded as UTF-8, UTF-16 or UTF-32. Patch by Serhiy Storchaka." -msgstr "" - -#: ../NEWS:43899 -msgid "" -":issue:`27137`: the pure Python fallback implementation of " -"``functools.partial`` now matches the behaviour of its accelerated C " -"counterpart for subclassing, pickling and text representation purposes. " -"Patch by Emanuel Barry and Serhiy Storchaka." -msgstr "" - -#: ../NEWS:43904 ../NEWS:46972 -msgid "" -"Fix possible integer overflows and crashes in the mmap module with unusual " -"usage patterns." -msgstr "" - -#: ../NEWS:43907 ../NEWS:46975 -msgid "" -":issue:`1703178`: Fix the ability to pass the --link-objects option to the " -"distutils build_ext command." -msgstr "" - -#: ../NEWS:43910 ../NEWS:47022 -msgid "" -":issue:`28019`: itertools.count() no longer rounds non-integer step in range" -" between 1.0 and 2.0 to 1." -msgstr "" - -#: ../NEWS:43913 -msgid "" -":issue:`18401`: Pdb now supports the 'readrc' keyword argument to control " -"whether .pdbrc files should be read. Patch by Martin Matusiak and Sam " -"Kimbrel." -msgstr "" - -#: ../NEWS:43917 ../NEWS:47025 -msgid "" -":issue:`25969`: Update the lib2to3 grammar to handle the unpacking " -"generalizations added in 3.5." -msgstr "" - -#: ../NEWS:43920 ../NEWS:47028 -msgid "" -":issue:`14977`: mailcap now respects the order of the lines in the mailcap " -"files (\"first match\"), as required by RFC 1542. Patch by Michael Lazar." -msgstr "" - -#: ../NEWS:43923 -msgid ":issue:`28082`: Convert re flag constants to IntFlag." -msgstr "" - -#: ../NEWS:43925 -msgid "" -":issue:`28025`: Convert all ssl module constants to IntEnum and IntFlags. " -"SSLContext properties now return flags and enums." -msgstr "" - -#: ../NEWS:43928 -msgid ":issue:`23591`: Add Flag, IntFlag, and auto() to enum module." -msgstr "" - -#: ../NEWS:43930 -msgid "" -":issue:`433028`: Added support of modifier spans in regular expressions." -msgstr "" - -#: ../NEWS:43932 ../NEWS:47031 -msgid ":issue:`24594`: Validates persist parameter when opening MSI database" -msgstr "" - -#: ../NEWS:43934 ../NEWS:47033 -msgid "" -":issue:`17582`: xml.etree.ElementTree nows preserves whitespaces in " -"attributes (Patch by Duane Griffin. Reviewed and approved by Stefan " -"Behnel.)" -msgstr "" - -#: ../NEWS:43937 ../NEWS:47036 -msgid "" -":issue:`28047`: Fixed calculation of line length used for the base64 CTE in " -"the new email policies." -msgstr "" - -#: ../NEWS:43940 -msgid ":issue:`27576`: Fix call order in OrderedDict.__init__()." -msgstr "" - -#: ../NEWS:43942 -msgid "email.generator.DecodedGenerator now supports the policy keyword." -msgstr "" - -#: ../NEWS:43944 -msgid "" -":issue:`28027`: Remove undocumented modules from ``Lib/plat-*``: IN, CDROM, " -"DLFCN, TYPES, CDIO, and STROPTS." -msgstr "" - -#: ../NEWS:43947 ../NEWS:47039 -msgid "" -":issue:`27445`: Don't pass str(_charset) to MIMEText.set_payload(). Patch by" -" Claude Paroz." -msgstr "" - -#: ../NEWS:43950 -msgid "" -":issue:`24277`: The new email API is no longer provisional, and the docs " -"have been reorganized and rewritten to emphasize the new API." -msgstr "" - -#: ../NEWS:43953 ../NEWS:47042 -msgid "" -":issue:`22450`: urllib now includes an ``Accept: */*`` header among the " -"default headers. This makes the results of REST API requests more consistent" -" and predictable especially when proxy servers are involved." -msgstr "" - -#: ../NEWS:43957 ../NEWS:47046 -msgid "" -"lib2to3.pgen3.driver.load_grammar() now creates a stable cache file between " -"runs given the same Grammar.txt input regardless of the hash randomization " -"setting." -msgstr "" - -#: ../NEWS:43961 -msgid "" -":issue:`28005`: Allow ImportErrors in encoding implementation to propagate." -msgstr "" - -#: ../NEWS:43963 -msgid ":issue:`26667`: Support path-like objects in importlib.util." -msgstr "" - -#: ../NEWS:43965 ../NEWS:47050 -msgid "" -":issue:`27570`: Avoid zero-length memcpy() etc calls with null source " -"pointers in the \"ctypes\" and \"array\" modules." -msgstr "" - -#: ../NEWS:43968 ../NEWS:47053 -msgid "" -":issue:`22233`: Break email header lines *only* on the RFC specified CR and " -"LF characters, not on arbitrary unicode line breaks. This also fixes a bug " -"in HTTP header parsing." -msgstr "" - -#: ../NEWS:43972 -msgid "" -":issue:`27331`: The email.mime classes now all accept an optional policy " -"keyword." -msgstr "" - -#: ../NEWS:43975 ../NEWS:47057 -msgid "" -":issue:`27988`: Fix email iter_attachments incorrect mutation of payload " -"list." -msgstr "" - -#: ../NEWS:43977 -msgid ":issue:`16113`: Add SHA-3 and SHAKE support to hashlib module." -msgstr "" - -#: ../NEWS:43979 -msgid "Eliminate a tautological-pointer-compare warning in _scproxy.c." -msgstr "" - -#: ../NEWS:43981 -msgid "" -":issue:`27776`: The :func:`os.urandom` function does now block on Linux 3.17" -" and newer until the system urandom entropy pool is initialized to increase " -"the security. This change is part of the :pep:`524`." -msgstr "" - -#: ../NEWS:43985 -msgid "" -":issue:`27778`: Expose the Linux ``getrandom()`` syscall as a new " -":func:`os.getrandom` function. This change is part of the :pep:`524`." -msgstr "" - -#: ../NEWS:43988 ../NEWS:47059 -msgid "" -":issue:`27691`: Fix ssl module's parsing of GEN_RID subject alternative name" -" fields in X.509 certs." -msgstr "" - -#: ../NEWS:43991 -msgid ":issue:`18844`: Add random.choices()." -msgstr "" - -#: ../NEWS:43993 -msgid "" -":issue:`25761`: Improved error reporting about truncated pickle data in C " -"implementation of unpickler. UnpicklingError is now raised instead of " -"AttributeError and ValueError in some cases." -msgstr "" - -#: ../NEWS:43997 -msgid ":issue:`26798`: Add BLAKE2 (blake2b and blake2s) to hashlib." -msgstr "" - -#: ../NEWS:43999 -msgid "" -":issue:`26032`: Optimized globbing in pathlib by using os.scandir(); it is " -"now about 1.5--4 times faster." -msgstr "" - -#: ../NEWS:44002 -msgid "" -":issue:`25596`: Optimized glob() and iglob() functions in the glob module; " -"they are now about 3--6 times faster." -msgstr "" - -#: ../NEWS:44005 -msgid "" -":issue:`27928`: Add scrypt (password-based key derivation function) to " -"hashlib module (requires OpenSSL 1.1.0)." -msgstr "" - -#: ../NEWS:44008 ../NEWS:47062 -msgid "" -":issue:`27850`: Remove 3DES from ssl module's default cipher list to counter" -" measure sweet32 attack (:cve:`2016-2183`)." -msgstr "" - -#: ../NEWS:44011 ../NEWS:47065 -msgid "" -":issue:`27766`: Add ChaCha20 Poly1305 to ssl module's default cipher list. " -"(Required OpenSSL 1.1.0 or LibreSSL)." -msgstr "" - -#: ../NEWS:44014 -msgid ":issue:`25387`: Check return value of winsound.MessageBeep." -msgstr "" - -#: ../NEWS:44016 -msgid "" -":issue:`27866`: Add SSLContext.get_ciphers() method to get a list of all " -"enabled ciphers." -msgstr "" - -#: ../NEWS:44019 -msgid ":issue:`27744`: Add AF_ALG (Linux Kernel crypto) to socket module." -msgstr "" - -#: ../NEWS:44021 ../NEWS:47068 -msgid ":issue:`26470`: Port ssl and hashlib module to OpenSSL 1.1.0." -msgstr "" - -#: ../NEWS:44023 -msgid "" -":issue:`11620`: Fix support for SND_MEMORY in winsound.PlaySound. Based on " -"a patch by Tim Lesher." -msgstr "" - -#: ../NEWS:44026 -msgid "" -":issue:`11734`: Add support for IEEE 754 half-precision floats to the struct" -" module. Based on a patch by Eli Stevens." -msgstr "" - -#: ../NEWS:44029 -msgid "" -":issue:`27919`: Deprecated ``extra_path`` distribution option in distutils " -"packaging." -msgstr "" - -#: ../NEWS:44032 -msgid "" -":issue:`23229`: Add new ``cmath`` constants: ``cmath.inf`` and ``cmath.nan``" -" to match ``math.inf`` and ``math.nan``, and also ``cmath.infj`` and " -"``cmath.nanj`` to match the format used by complex repr." -msgstr "" - -#: ../NEWS:44036 -msgid "" -":issue:`27842`: The csv.DictReader now returns rows of type OrderedDict. " -"(Contributed by Steve Holden.)" -msgstr "" - -#: ../NEWS:44039 ../NEWS:47070 -msgid "" -"Remove support for passing a file descriptor to os.access. It never worked " -"but previously didn't raise." -msgstr "" - -#: ../NEWS:44042 ../NEWS:47073 -msgid ":issue:`12885`: Fix error when distutils encounters symlink." -msgstr "" - -#: ../NEWS:44044 ../NEWS:47075 -msgid "" -":issue:`27881`: Fixed possible bugs when setting " -"sqlite3.Connection.isolation_level. Based on patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:44047 ../NEWS:47078 -msgid "" -":issue:`27861`: Fixed a crash in sqlite3.Connection.cursor() when a factory " -"creates not a cursor. Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:44050 ../NEWS:47081 -msgid ":issue:`19884`: Avoid spurious output on OS X with Gnu Readline." -msgstr "" - -#: ../NEWS:44052 ../NEWS:47083 -msgid "" -":issue:`27706`: Restore deterministic behavior of random.Random().seed() for" -" string seeds using seeding version 1. Allows sequences of calls to " -"random() to exactly match those obtained in Python 2. Patch by Nofar " -"Schnider." -msgstr "" - -#: ../NEWS:44057 ../NEWS:47088 -msgid "" -":issue:`10513`: Fix a regression in Connection.commit(). Statements should " -"not be reset after a commit." -msgstr "" - -#: ../NEWS:44060 -msgid "" -":issue:`12319`: Chunked transfer encoding support added to " -"http.client.HTTPConnection requests. The urllib.request.AbstractHTTPHandler" -" class does not enforce a Content-Length header any more. If a HTTP request" -" has a file or iterable body, but no Content-Length header, the library now " -"falls back to use chunked transfer-encoding." -msgstr "" - -#: ../NEWS:44067 -msgid "" -"A new version of typing.py from https://github.com/python/typing: - " -"Collection (only for 3.6) (:issue:`27598`) - Add FrozenSet to __all__ " -"(upstream #261) - fix crash in _get_type_vars() (upstream #259) - Remove the" -" dict constraint in ForwardRef._eval_type (upstream #252)" -msgstr "" - -#: ../NEWS:44072 -msgid "" -":issue:`27832`: Make ``_normalize`` parameter to ``Fraction`` constructor " -"keyword-only, so that ``Fraction(2, 3, 4)`` now raises ``TypeError``." -msgstr "" - -#: ../NEWS:44075 ../NEWS:47096 -msgid "" -":issue:`27539`: Fix unnormalised ``Fraction.__pow__`` result in the case of " -"negative exponent and negative base." -msgstr "" - -#: ../NEWS:44078 ../NEWS:47099 -msgid "" -":issue:`21718`: cursor.description is now available for queries using CTEs." -msgstr "" - -#: ../NEWS:44080 -msgid "" -":issue:`27819`: In distutils sdists, simply produce the \"gztar\" (gzipped " -"tar format) distributions on all platforms unless \"formats\" is supplied." -msgstr "" - -#: ../NEWS:44083 ../NEWS:47101 -msgid "" -":issue:`2466`: posixpath.ismount now correctly recognizes mount points which" -" the user does not have permission to access." -msgstr "" - -#: ../NEWS:44086 -msgid "" -":issue:`9998`: On Linux, ctypes.util.find_library now looks in " -"LD_LIBRARY_PATH for shared libraries." -msgstr "" - -#: ../NEWS:44089 -msgid ":issue:`27573`: exit message for code.interact is now configurable." -msgstr "" - -#: ../NEWS:44091 ../NEWS:47191 -msgid "" -":issue:`27930`: Improved behaviour of logging.handlers.QueueListener. Thanks" -" to Paulo Andrade and Petr Viktorin for the analysis and patch." -msgstr "" - -#: ../NEWS:44094 -msgid "" -":issue:`6766`: Distributed reference counting added to multiprocessing to " -"support nesting of shared values / proxy objects." -msgstr "" - -#: ../NEWS:44097 ../NEWS:47194 -msgid "" -":issue:`21201`: Improves readability of multiprocessing error message. " -"Thanks to Wojciech Walczak for patch." -msgstr "" - -#: ../NEWS:44100 -msgid "asyncio: Add set_protocol / get_protocol to Transports." -msgstr "" - -#: ../NEWS:44102 ../NEWS:47197 -msgid ":issue:`27456`: asyncio: Set TCP_NODELAY by default." -msgstr "" - -#: ../NEWS:44107 ../NEWS:47262 -msgid "" -":issue:`15308`: Add 'interrupt execution' (^C) to Shell menu. Patch by Roger" -" Serwy, updated by Bayard Randel." -msgstr "" - -#: ../NEWS:44110 ../NEWS:47265 -msgid "" -":issue:`27922`: Stop IDLE tests from 'flashing' gui widgets on the screen." -msgstr "" - -#: ../NEWS:44112 -msgid "" -":issue:`27891`: Consistently group and sort imports within idlelib modules." -msgstr "" - -#: ../NEWS:44114 -msgid ":issue:`17642`: add larger font sizes for classroom projection." -msgstr "" - -#: ../NEWS:44116 ../NEWS:47267 -msgid "Add version to title of IDLE help window." -msgstr "Tambahkan versi ke judul jendela bantuan IDLE." - -#: ../NEWS:44118 ../NEWS:47269 -msgid "" -":issue:`25564`: In section on IDLE -- console differences, mention that " -"using exec means that __builtins__ is defined for each statement." -msgstr "" - -#: ../NEWS:44121 -msgid "" -":issue:`27821`: Fix 3.6.0a3 regression that prevented custom key sets from " -"being selected when no custom theme was defined." -msgstr "" - -#: ../NEWS:44127 -msgid "" -":issue:`26900`: Excluded underscored names and other private API from " -"limited API." -msgstr "" - -#: ../NEWS:44130 -msgid "" -":issue:`26027`: Add support for path-like objects in PyUnicode_FSConverter()" -" & PyUnicode_FSDecoder()." -msgstr "" - -#: ../NEWS:44136 -msgid "" -":issue:`27427`: Additional tests for the math module. Patch by Francisco " -"Couzo." -msgstr "" - -#: ../NEWS:44138 -msgid "" -":issue:`27953`: Skip math and cmath tests that fail on OS X 10.4 due to a " -"poor libm implementation of tan." -msgstr "" - -#: ../NEWS:44141 -msgid "" -":issue:`26040`: Improve test_math and test_cmath coverage and rigour. Patch " -"by Jeff Allen." -msgstr "" - -#: ../NEWS:44144 ../NEWS:47314 -msgid "" -":issue:`27787`: Call gc.collect() before checking each test for \"dangling " -"threads\", since the dangling threads are weak references." -msgstr "" - -#: ../NEWS:44150 ../NEWS:47374 -msgid "" -":issue:`27566`: Fix clean target in freeze makefile (patch by Lisa Roach)" -msgstr "" - -#: ../NEWS:44152 ../NEWS:47376 -msgid ":issue:`27705`: Update message in validate_ucrtbase.py" -msgstr "" - -#: ../NEWS:44154 -msgid "" -":issue:`27976`: Deprecate building _ctypes with the bundled copy of libffi " -"on non-OSX UNIX platforms." -msgstr "" - -#: ../NEWS:44157 -msgid "" -":issue:`27983`: Cause lack of llvm-profdata tool when using clang as " -"required for PGO linking to be a configure time error rather than make time " -"when ``--with-optimizations`` is enabled. Also improve our ability to find " -"the llvm-profdata tool on MacOS and some Linuxes." -msgstr "" - -#: ../NEWS:44162 -msgid ":issue:`21590`: Support for DTrace and SystemTap probes." -msgstr "" - -#: ../NEWS:44164 ../NEWS:47383 -msgid "" -":issue:`26307`: The profile-opt build now applies PGO to the built-in " -"modules." -msgstr "" - -#: ../NEWS:44166 -msgid "" -":issue:`26359`: Add the --with-optimizations flag to turn on LTO and PGO " -"build support when available." -msgstr "" - -#: ../NEWS:44169 -msgid ":issue:`27917`: Set platform triplets for Android builds." -msgstr "" - -#: ../NEWS:44171 -msgid "" -":issue:`25825`: Update references to the $(LIBPL) installation path on AIX. " -"This path was changed in 3.2a4." -msgstr "" - -#: ../NEWS:44174 -msgid "Update OS X installer to use SQLite 3.14.1 and XZ 5.2.2." -msgstr "" - -#: ../NEWS:44176 -msgid ":issue:`21122`: Fix LTO builds on OS X." -msgstr "" - -#: ../NEWS:44178 -msgid "" -":issue:`17128`: Build OS X installer with a private copy of OpenSSL. Also " -"provide a sample Install Certificates command script to install a set of " -"root certificates from the third-party certifi module." -msgstr "" - -#: ../NEWS:44185 ../NEWS:47323 -msgid "" -":issue:`27952`: Get Tools/scripts/fixcid.py working with Python 3 and the " -"current \"re\" module, avoid invalid Python backslash escapes, and fix a bug" -" parsing escaped C quote signs." -msgstr "" - -#: ../NEWS:44192 -msgid "" -":issue:`28065`: Update xz dependency to 5.2.2 and build it from source." -msgstr "" - -#: ../NEWS:44194 ../NEWS:47340 -msgid "" -":issue:`25144`: Ensures TargetDir is set before continuing with custom " -"install." -msgstr "" - -#: ../NEWS:44196 -msgid "" -":issue:`1602`: Windows console doesn't input or print Unicode (PEP 528)" -msgstr "" - -#: ../NEWS:44198 -msgid "" -":issue:`27781`: Change file system encoding on Windows to UTF-8 (PEP 529)" -msgstr "" - -#: ../NEWS:44200 -msgid ":issue:`27731`: Opt-out of MAX_PATH on Windows 10" -msgstr "" - -#: ../NEWS:44202 -msgid ":issue:`6135`: Adds encoding and errors parameters to subprocess." -msgstr "" - -#: ../NEWS:44204 -msgid "" -":issue:`27959`: Adds oem encoding, alias ansi to mbcs, move aliasmbcs to " -"codec lookup." -msgstr "" - -#: ../NEWS:44207 -msgid "" -":issue:`27982`: The functions of the winsound module now accept keyword " -"arguments." -msgstr "" - -#: ../NEWS:44210 -msgid ":issue:`20366`: Build full text search support into SQLite on Windows." -msgstr "" - -#: ../NEWS:44212 -msgid "" -":issue:`27756`: Adds new icons for Python files and processes on Windows. " -"Designs by Cherry Wang." -msgstr "" - -#: ../NEWS:44215 -msgid ":issue:`27883`: Update sqlite to 3.14.1.0 on Windows." -msgstr "" - -#: ../NEWS:44219 -msgid "Python 3.6.0 alpha 4" -msgstr "Python 3.6.0 alfa 4" - -#: ../NEWS:44221 -msgid "*Release date: 2016-08-15*" -msgstr "*Tanggal rilis: 2016-08-15*" - -#: ../NEWS:44226 -msgid "" -":issue:`27704`: Optimized creating bytes and bytearray from byte-like " -"objects and iterables. Speed up to 3 times for short objects. Original " -"patch by Naoki Inada." -msgstr "" - -#: ../NEWS:44230 -msgid "" -":issue:`26823`: Large sections of repeated lines in tracebacks are now " -"abbreviated as \"[Previous line repeated {count} more times]\" by the " -"builtin traceback rendering. Patch by Emanuel Barry." -msgstr "" - -#: ../NEWS:44234 -msgid "" -":issue:`27574`: Decreased an overhead of parsing keyword arguments in " -"functions implemented with using Argument Clinic." -msgstr "" - -#: ../NEWS:44237 -msgid "" -":issue:`22557`: Now importing already imported modules is up to 2.5 times " -"faster." -msgstr "" - -#: ../NEWS:44240 -msgid ":issue:`17596`: Include to help with Min GW building." -msgstr "" - -#: ../NEWS:44242 -msgid "" -":issue:`17599`: On Windows, rename the privately defined REPARSE_DATA_BUFFER" -" structure to avoid conflicting with the definition from Min GW." -msgstr "" - -#: ../NEWS:44245 ../NEWS:46864 -msgid "" -":issue:`27507`: Add integer overflow check in bytearray.extend(). Patch by " -"Xiang Zhang." -msgstr "" - -#: ../NEWS:44248 ../NEWS:46867 -msgid "" -":issue:`27581`: Don't rely on wrapping for overflow check in " -"PySequence_Tuple(). Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:44251 -msgid "" -":issue:`1621`: Avoid signed integer overflow in list and tuple operations. " -"Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:44254 -msgid "" -":issue:`27419`: Standard __import__() no longer look up \"__import__\" in " -"globals or builtins for importing submodules or \"from import\". Fixed a " -"crash if raise a warning about unabling to resolve package from __spec__ or " -"__package__." -msgstr "" - -#: ../NEWS:44259 ../NEWS:46856 -msgid "" -":issue:`27083`: Respect the PYTHONCASEOK environment variable under Windows." -msgstr "" - -#: ../NEWS:44261 ../NEWS:46858 -msgid "" -":issue:`27514`: Make having too many statically nested blocks a SyntaxError " -"instead of SystemError." -msgstr "" - -#: ../NEWS:44264 -msgid "" -":issue:`27366`: Implemented :pep:`487` (Simpler customization of class " -"creation). Upon subclassing, the __init_subclass__ classmethod is called on " -"the base class. Descriptors are initialized with __set_name__ after class " -"creation." -msgstr "" - -#: ../NEWS:44272 -msgid "" -":issue:`26027`: Add :pep:`519`/__fspath__() support to the os and os.path " -"modules. Includes code from Jelle Zijlstra. (See also: :issue:`27524`)" -msgstr "" - -#: ../NEWS:44275 -msgid "" -":issue:`27598`: Add Collections to collections.abc. Patch by Ivan " -"Levkivskyi, docs by Neil Girdhar." -msgstr "" - -#: ../NEWS:44278 -msgid "" -":issue:`25958`: Support \"anti-registration\" of special methods from " -"various ABCs, like __hash__, __iter__ or __len__. All these (and several " -"more) can be set to None in an implementation class and the behavior will be" -" as if the method is not defined at all. (Previously, this mechanism existed" -" only for __hash__, to make mutable classes unhashable.) Code contributed " -"by Andrew Barnert and Ivan Levkivskyi." -msgstr "" - -#: ../NEWS:44285 -msgid "" -":issue:`16764`: Support keyword arguments to zlib.decompress(). Patch by " -"Xiang Zhang." -msgstr "" - -#: ../NEWS:44288 -msgid "" -":issue:`27736`: Prevent segfault after interpreter re-initialization due to " -"ref count problem introduced in code for :issue:`27038` in 3.6.0a3. Patch by" -" Xiang Zhang." -msgstr "" - -#: ../NEWS:44292 -msgid "" -":issue:`25628`: The *verbose* and *rename* parameters for " -"collections.namedtuple are now keyword-only." -msgstr "" - -#: ../NEWS:44295 -msgid "" -":issue:`12345`: Add mathematical constant tau to math and cmath. See also " -":pep:`628`." -msgstr "" - -#: ../NEWS:44298 -msgid "" -":issue:`26823`: traceback.StackSummary.format now abbreviates large sections" -" of repeated lines as \"[Previous line repeated {count} more times]\" (this " -"change then further affects other traceback display operations in the " -"module). Patch by Emanuel Barry." -msgstr "" - -#: ../NEWS:44303 -msgid "" -":issue:`27664`: Add to concurrent.futures.thread.ThreadPoolExecutor() the " -"ability to specify a thread name prefix." -msgstr "" - -#: ../NEWS:44306 -msgid "" -":issue:`27181`: Add geometric_mean and harmonic_mean to statistics module." -msgstr "" - -#: ../NEWS:44308 -msgid ":issue:`27573`: code.interact now prints an message when exiting." -msgstr "" - -#: ../NEWS:44310 -msgid ":issue:`6422`: Add autorange method to timeit.Timer objects." -msgstr "" - -#: ../NEWS:44312 ../NEWS:47104 -msgid "" -":issue:`27773`: Correct some memory management errors server_hostname in " -"_ssl.wrap_socket()." -msgstr "" - -#: ../NEWS:44315 -msgid "" -":issue:`26750`: unittest.mock.create_autospec() now works properly for " -"subclasses of property() and other data descriptors. Removes the never " -"publicly used, never documented unittest.mock.DescriptorTypes tuple." -msgstr "" - -#: ../NEWS:44319 -msgid "" -":issue:`26754`: Undocumented support of general bytes-like objects as path " -"in compile() and similar functions is now deprecated." -msgstr "" - -#: ../NEWS:44322 -msgid "" -":issue:`26800`: Undocumented support of general bytes-like objects as paths " -"in os functions is now deprecated." -msgstr "" - -#: ../NEWS:44325 -msgid "" -":issue:`26981`: Add _order_ compatibility shim to enum.Enum for Python 2/3 " -"code bases." -msgstr "" - -#: ../NEWS:44328 -msgid ":issue:`27661`: Added tzinfo keyword argument to datetime.combine." -msgstr "" - -#: ../NEWS:44330 ../NEWS:47110 -msgid "" -"In the curses module, raise an error if window.getstr() or window.instr() is" -" passed a negative value." -msgstr "" - -#: ../NEWS:44333 ../NEWS:47113 -msgid "" -":issue:`27783`: Fix possible usage of uninitialized memory in " -"operator.methodcaller." -msgstr "" - -#: ../NEWS:44336 ../NEWS:47116 -msgid ":issue:`27774`: Fix possible Py_DECREF on unowned object in _sre." -msgstr "" - -#: ../NEWS:44338 ../NEWS:47118 -msgid ":issue:`27760`: Fix possible integer overflow in binascii.b2a_qp." -msgstr "" - -#: ../NEWS:44340 ../NEWS:47120 -msgid "" -":issue:`27758`: Fix possible integer overflow in the _csv module for large " -"record lengths." -msgstr "" - -#: ../NEWS:44343 ../NEWS:47123 -msgid "" -":issue:`27568`: Prevent HTTPoxy attack (:cve:`2016-1000110`). Ignore the " -"HTTP_PROXY variable when REQUEST_METHOD environment is set, which indicates " -"that the script is in CGI mode." -msgstr "" - -#: ../NEWS:44347 -msgid "" -":issue:`7063`: Remove dead code from the \"array\" module's slice handling. " -"Patch by Chuck." -msgstr "" - -#: ../NEWS:44350 ../NEWS:47127 -msgid ":issue:`27656`: Do not assume sched.h defines any SCHED_* constants." -msgstr "" - -#: ../NEWS:44352 ../NEWS:47129 -msgid "" -":issue:`27130`: In the \"zlib\" module, fix handling of large buffers " -"(typically 4 GiB) when compressing and decompressing. Previously, inputs " -"were limited to 4 GiB, and compression and decompression operations did not " -"properly handle results of 4 GiB." -msgstr "" - -#: ../NEWS:44357 -msgid ":issue:`24773`: Implemented :pep:`495` (Local Time Disambiguation)." -msgstr "" - -#: ../NEWS:44359 -msgid "" -"Expose the EPOLLEXCLUSIVE constant (when it is defined) in the select " -"module." -msgstr "" - -#: ../NEWS:44362 -msgid "" -":issue:`27567`: Expose the EPOLLRDHUP and POLLRDHUP constants in the select " -"module." -msgstr "" - -#: ../NEWS:44365 -msgid "" -":issue:`1621`: Avoid signed int negation overflow in the \"audioop\" module." -msgstr "" - -#: ../NEWS:44367 ../NEWS:47134 -msgid ":issue:`27533`: Release GIL in nt._isdir" -msgstr "" - -#: ../NEWS:44369 ../NEWS:47136 -msgid "" -":issue:`17711`: Fixed unpickling by the persistent ID with protocol 0. " -"Original patch by Alexandre Vassalotti." -msgstr "" - -#: ../NEWS:44372 ../NEWS:47139 -msgid "" -":issue:`27522`: Avoid an unintentional reference cycle in email.feedparser." -msgstr "" - -#: ../NEWS:44374 -msgid "" -":issue:`27512`: Fix a segfault when os.fspath() called an __fspath__() " -"method that raised an exception. Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:44380 ../NEWS:47272 -msgid "" -":issue:`27714`: text_textview and test_autocomplete now pass when re-run in " -"the same process. This occurs when test_idle fails when run with the -w " -"option but without -jn. Fix warning from test_config." -msgstr "" - -#: ../NEWS:44384 -msgid "" -":issue:`27621`: Put query response validation error messages in the query " -"box itself instead of in a separate messagebox. Redo tests to match. Add " -"Mac OSX refinements. Original patch by Mark Roseman." -msgstr "" - -#: ../NEWS:44388 -msgid ":issue:`27620`: Escape key now closes Query box as cancelled." -msgstr "" - -#: ../NEWS:44390 -msgid "" -":issue:`27609`: IDLE: tab after initial whitespace should tab, not " -"autocomplete. This fixes problem with writing docstrings at least twice " -"indented." -msgstr "" - -#: ../NEWS:44394 -msgid "" -":issue:`27609`: Explicitly return None when there are also non-None returns." -" In a few cases, reverse a condition and eliminate a return." -msgstr "" - -#: ../NEWS:44397 ../NEWS:47276 -msgid "" -":issue:`25507`: IDLE no longer runs buggy code because of its tkinter " -"imports. Users must include the same imports required to run directly in " -"Python." -msgstr "" - -#: ../NEWS:44400 ../NEWS:44584 -msgid "" -":issue:`27173`: Add 'IDLE Modern Unix' to the built-in key sets. Make the " -"default key set depend on the platform. Add tests for the changes to the " -"config module." -msgstr "" - -#: ../NEWS:44404 ../NEWS:44591 ../NEWS:47279 -msgid "" -":issue:`27452`: add line counter and crc to IDLE configHandler test dump." -msgstr "" - -#: ../NEWS:44409 -msgid "" -":issue:`25805`: Skip a test in test_pkgutil as needed that doesn't work when" -" ``__name__ == __main__``. Patch by SilentGhost." -msgstr "" - -#: ../NEWS:44412 -msgid "" -":issue:`27472`: Add test.support.unix_shell as the path to the default " -"shell." -msgstr "" - -#: ../NEWS:44414 ../NEWS:47317 -msgid "" -":issue:`27369`: In test_pyexpat, avoid testing an error message detail that " -"changed in Expat 2.2.0." -msgstr "" - -#: ../NEWS:44417 -msgid "" -":issue:`27594`: Prevent assertion error when running test_ast with coverage " -"enabled: ensure code object has a valid first line number. Patch suggested " -"by Ivan Levkivskyi." -msgstr "" - -#: ../NEWS:44424 -msgid ":issue:`27647`: Update bundled Tcl/Tk to 8.6.6." -msgstr "" - -#: ../NEWS:44426 -msgid ":issue:`27610`: Adds :pep:`514` metadata to Windows installer" -msgstr "" - -#: ../NEWS:44428 ../NEWS:47342 -msgid "" -":issue:`27469`: Adds a shell extension to the launcher so that drag and drop" -" works correctly." -msgstr "" - -#: ../NEWS:44431 -msgid "" -":issue:`27309`: Enables proper Windows styles in python[w].exe manifest." -msgstr "" - -#: ../NEWS:44436 ../NEWS:47387 -msgid "" -":issue:`27713`: Suppress spurious build warnings when updating importlib's " -"bootstrap files. Patch by Xiang Zhang" -msgstr "" - -#: ../NEWS:44439 -msgid "" -":issue:`25825`: Correct the references to Modules/python.exp, which is " -"required on AIX. The references were accidentally changed in 3.5.0a1." -msgstr "" - -#: ../NEWS:44442 ../NEWS:47395 -msgid "" -":issue:`27453`: CPP invocation in configure must use CPPFLAGS. Patch by Chi " -"Hsuan Yen." -msgstr "" - -#: ../NEWS:44445 ../NEWS:47398 -msgid "" -":issue:`27641`: The configure script now inserts comments into the makefile " -"to prevent the pgen and _freeze_importlib executables from being cross-" -"compiled." -msgstr "" - -#: ../NEWS:44449 ../NEWS:47402 -msgid "" -":issue:`26662`: Set PYTHON_FOR_GEN in configure as the Python program to be " -"used for file generation during the build." -msgstr "" - -#: ../NEWS:44452 ../NEWS:47405 -msgid "" -":issue:`10910`: Avoid C++ compilation errors on FreeBSD and OS X. Also " -"update FreedBSD version checks for the original ctype UTF-8 workaround." -msgstr "" - -#: ../NEWS:44457 -msgid "Python 3.6.0 alpha 3" -msgstr "Python 3.6.0 alfa 3" - -#: ../NEWS:44459 -msgid "*Release date: 2016-07-11*" -msgstr "*Tanggal rilis: 2016-07-11*" - -#: ../NEWS:44464 ../NEWS:46738 -msgid "" -":issue:`27278`: Fix os.urandom() implementation using getrandom() on Linux. " -"Truncate size to INT_MAX and loop until we collected enough random bytes, " -"instead of casting a directly Py_ssize_t to int." -msgstr "" - -#: ../NEWS:44468 ../NEWS:46742 -msgid "" -":issue:`22636`: Avoid shell injection problems with " -"ctypes.util.find_library()." -msgstr "" - -#: ../NEWS:44473 ../NEWS:46861 -msgid "" -":issue:`27473`: Fixed possible integer overflow in bytes and bytearray " -"concatenations. Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:44476 -msgid "" -":issue:`23034`: The output of a special Python build with defined " -"COUNT_ALLOCS, SHOW_ALLOC_COUNT or SHOW_TRACK_COUNT macros is now off by " -"default. It can be re-enabled using the \"-X showalloccount\" option. It " -"now outputs to stderr instead of stdout." -msgstr "" - -#: ../NEWS:44481 ../NEWS:46870 -msgid "" -":issue:`27443`: __length_hint__() of bytearray iterators no longer return a " -"negative integer for a resized bytearray." -msgstr "" - -#: ../NEWS:44484 -msgid "" -":issue:`27007`: The fromhex() class methods of bytes and bytearray " -"subclasses now return an instance of corresponding subclass." -msgstr "" - -#: ../NEWS:44490 ../NEWS:47141 -msgid "" -":issue:`26844`: Fix error message for imp.find_module() to refer to 'path' " -"instead of 'name'. Patch by Lev Maximov." -msgstr "" - -#: ../NEWS:44493 ../NEWS:47144 -msgid "" -":issue:`23804`: Fix SSL zero-length recv() calls to not block and not raise " -"an error about unclean EOF." -msgstr "" - -#: ../NEWS:44496 ../NEWS:47147 -msgid "" -":issue:`27466`: Change time format returned by http.cookie.time2netscape, " -"confirming the netscape cookie format and making it consistent with " -"documentation." -msgstr "" - -#: ../NEWS:44500 -msgid "" -":issue:`21708`: Deprecated dbm.dumb behavior that differs from common dbm " -"behavior: creating a database in 'r' and 'w' modes and modifying a database " -"in 'r' mode." -msgstr "" - -#: ../NEWS:44504 -msgid "" -":issue:`26721`: Change the socketserver.StreamRequestHandler.wfile attribute" -" to implement BufferedIOBase. In particular, the write() method no longer " -"does partial writes." -msgstr "" - -#: ../NEWS:44508 -msgid "" -":issue:`22115`: Added methods trace_add, trace_remove and trace_info in the " -"tkinter.Variable class. They replace old methods trace_variable, trace, " -"trace_vdelete and trace_vinfo that use obsolete Tcl commands and might not " -"work in future versions of Tcl. Fixed old tracing methods: trace_vdelete() " -"with wrong mode no longer break tracing, trace_vinfo() now always returns a " -"list of pairs of strings, tracing in the \"u\" mode now works." -msgstr "" - -#: ../NEWS:44516 -msgid "" -":issue:`26243`: Only the level argument to zlib.compress() is keyword " -"argument now. The first argument is positional-only." -msgstr "" - -#: ../NEWS:44519 -msgid "" -":issue:`27038`: Expose the DirEntry type as os.DirEntry. Code patch by Jelle" -" Zijlstra." -msgstr "" - -#: ../NEWS:44522 -msgid "" -":issue:`27186`: Update os.fspath()/PyOS_FSPath() to check the return value " -"of __fspath__() to be either str or bytes." -msgstr "" - -#: ../NEWS:44525 -msgid "" -":issue:`18726`: All optional parameters of the dump(), dumps(), load() and " -"loads() functions and JSONEncoder and JSONDecoder class constructors in the " -"json module are now keyword-only." -msgstr "" - -#: ../NEWS:44529 -msgid "" -":issue:`27319`: Methods selection_set(), selection_add(), selection_remove()" -" and selection_toggle() of ttk.TreeView now allow passing multiple items as " -"multiple arguments instead of passing them as a tuple. Deprecated " -"undocumented ability of calling the selection() method with arguments." -msgstr "" - -#: ../NEWS:44534 ../NEWS:47161 -msgid "" -":issue:`27079`: Fixed curses.ascii functions isblank(), iscntrl() and " -"ispunct()." -msgstr "" - -#: ../NEWS:44537 -msgid "" -":issue:`27294`: Numerical state in the repr for Tkinter event objects is now" -" represented as a combination of known flags." -msgstr "" - -#: ../NEWS:44540 -msgid "" -":issue:`27177`: Match objects in the re module now support index-like " -"objects as group indices. Based on patches by Jeroen Demeyer and Xiang " -"Zhang." -msgstr "" - -#: ../NEWS:44543 ../NEWS:47164 -msgid "" -":issue:`26754`: Some functions (compile() etc) accepted a filename argument " -"encoded as an iterable of integers. Now only strings and byte-like objects " -"are accepted." -msgstr "" - -#: ../NEWS:44547 -msgid "" -":issue:`26536`: socket.ioctl now supports SIO_LOOPBACK_FAST_PATH. Patch by " -"Daniel Stokes." -msgstr "" - -#: ../NEWS:44550 ../NEWS:47168 -msgid "" -":issue:`27048`: Prevents distutils failing on Windows when environment " -"variables contain non-ASCII characters" -msgstr "" - -#: ../NEWS:44553 ../NEWS:47171 -msgid ":issue:`27330`: Fixed possible leaks in the ctypes module." -msgstr "" - -#: ../NEWS:44555 ../NEWS:47173 -msgid "" -":issue:`27238`: Got rid of bare excepts in the turtle module. Original " -"patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:44558 ../NEWS:47176 -msgid "" -":issue:`27122`: When an exception is raised within the context being managed" -" by a contextlib.ExitStack() and one of the exit stack generators catches " -"and raises it in a chain, do not re-raise the original exception when " -"exiting, let the new chained one through. This avoids the :pep:`479` bug " -"described in issue25782." -msgstr "" - -#: ../NEWS:44564 -msgid "" -":issue:`16864`: sqlite3.Cursor.lastrowid now supports REPLACE statement. " -"Initial patch by Alex LordThorsen." -msgstr "" - -#: ../NEWS:44567 ../NEWS:47182 -msgid "" -":issue:`26386`: Fixed ttk.TreeView selection operations with item id's " -"containing spaces." -msgstr "" - -#: ../NEWS:44570 -msgid "" -":issue:`8637`: Honor a pager set by the env var MANPAGER (in preference to " -"one set by the env var PAGER)." -msgstr "" - -#: ../NEWS:44573 ../NEWS:47185 -msgid "" -":issue:`16182`: Fix various functions in the \"readline\" module to use the " -"locale encoding, and fix get_begidx() and get_endidx() to return code point " -"indexes." -msgstr "" - -#: ../NEWS:44577 ../NEWS:47189 -msgid "" -":issue:`27392`: Add loop.connect_accepted_socket(). Patch by Jim Fulton." -msgstr "" - -#: ../NEWS:44582 -msgid ":issue:`27477`: IDLE search dialogs now use ttk widgets." -msgstr "" - -#: ../NEWS:44588 -msgid "" -":issue:`27452`: make command line \"idle-test> python test_help.py\" work. " -"__file__ is relative when python is started in the file's directory." -msgstr "" - -#: ../NEWS:44593 -msgid "" -":issue:`27380`: IDLE: add query.py with base Query dialog and ttk widgets. " -"Module had subclasses SectionName, ModuleName, and HelpSource, which are " -"used to get information from users by configdialog and file =>Load Module. " -"Each subclass has itw own validity checks. Using ModuleName allows users to" -" edit bad module names instead of starting over. Add tests and delete the " -"two files combined into the new one." -msgstr "" - -#: ../NEWS:44600 -msgid ":issue:`27372`: Test_idle no longer changes the locale." -msgstr "" - -#: ../NEWS:44602 ../NEWS:47281 -msgid "" -":issue:`27365`: Allow non-ascii chars in IDLE NEWS.txt, for contributor " -"names." -msgstr "" - -#: ../NEWS:44604 ../NEWS:47283 -msgid "" -":issue:`27245`: IDLE: Cleanly delete custom themes and key bindings. " -"Previously, when IDLE was started from a console or by import, a cascade of " -"warnings was emitted. Patch by Serhiy Storchaka." -msgstr "" - -#: ../NEWS:44608 -msgid "" -":issue:`24137`: Run IDLE, test_idle, and htest with tkinter default root " -"disabled. Fix code and tests that fail with this restriction. Fix htests " -"to not create a second and redundant root and mainloop." -msgstr "" - -#: ../NEWS:44612 -msgid "" -":issue:`27310`: Fix IDLE.app failure to launch on OS X due to vestigial " -"import." -msgstr "" - -#: ../NEWS:44617 -msgid "" -":issue:`26754`: PyUnicode_FSDecoder() accepted a filename argument encoded " -"as an iterable of integers. Now only strings and byte-like objects are " -"accepted." -msgstr "" - -#: ../NEWS:44624 ../NEWS:47368 -msgid "" -":issue:`28066`: Fix the logic that searches build directories for generated " -"include files when building outside the source tree." -msgstr "" - -#: ../NEWS:44627 -msgid "" -":issue:`27442`: Expose the Android API level that python was built against, " -"in sysconfig.get_config_vars() as 'ANDROID_API_LEVEL'." -msgstr "" - -#: ../NEWS:44630 -msgid "" -":issue:`27434`: The interpreter that runs the cross-build, found in PATH, " -"must now be of the same feature version (e.g. 3.6) as the source being " -"built." -msgstr "" - -#: ../NEWS:44633 ../NEWS:47420 -msgid ":issue:`26930`: Update Windows builds to use OpenSSL 1.0.2h." -msgstr "" - -#: ../NEWS:44635 -msgid "" -":issue:`23968`: Rename the platform directory from plat-$(MACHDEP) to " -"plat-$(PLATFORM_TRIPLET). Rename the config directory (LIBPL) from " -"config-$(LDVERSION) to config-$(LDVERSION)-$(PLATFORM_TRIPLET). Install the " -"platform specific _sysconfigdata module into the platform directory and " -"rename it to include the ABIFLAGS." -msgstr "" - -#: ../NEWS:44641 -msgid "Don't use largefile support for GNU/Hurd." -msgstr "Jangan gunakan dukungan berkasbesar untuk GNU/Hurd." - -#: ../NEWS:44646 ../NEWS:47327 -msgid "" -":issue:`27332`: Fixed the type of the first argument of module-level " -"functions generated by Argument Clinic. Patch by Petr Viktorin." -msgstr "" - -#: ../NEWS:44649 ../NEWS:47330 -msgid ":issue:`27418`: Fixed Tools/importbench/importbench.py." -msgstr "" - -#: ../NEWS:44654 ../NEWS:48025 -msgid "" -":issue:`19489`: Moved the search box from the sidebar to the header and " -"footer of each page. Patch by Ammar Askar." -msgstr "" - -#: ../NEWS:44657 -msgid "" -":issue:`27285`: Update documentation to reflect the deprecation of " -"``pyvenv`` and normalize on the term \"virtual environment\". Patch by Steve" -" Piercy." -msgstr "" - -#: ../NEWS:44663 -msgid "" -":issue:`27027`: Added test.support.is_android that is True when this is an " -"Android build." -msgstr "" - -#: ../NEWS:44668 -msgid "Python 3.6.0 alpha 2" -msgstr "Python 3.6.0 alfa 2" - -#: ../NEWS:44670 -msgid "*Release date: 2016-06-13*" -msgstr "*Tanggal rilis: 2016-06-13*" - -#: ../NEWS:44675 ../NEWS:47441 -msgid ":issue:`26556`: Update expat to 2.1.1, fixes :cve:`2015-1283`." -msgstr "" - -#: ../NEWS:44677 ../NEWS:47443 -msgid "" -"Fix TLS stripping vulnerability in smtplib, :cve:`2016-0772`. Reported by " -"Team Oststrom." -msgstr "" - -#: ../NEWS:44680 ../NEWS:47446 -msgid "" -":issue:`26839`: On Linux, :func:`os.urandom` now calls ``getrandom()`` with " -"``GRND_NONBLOCK`` to fall back on reading ``/dev/urandom`` if the urandom " -"entropy pool is not initialized yet. Patch written by Colm Buckley." -msgstr "" - -#: ../NEWS:44687 -msgid "" -":issue:`27095`: Simplified MAKE_FUNCTION and removed MAKE_CLOSURE opcodes. " -"Patch by Demur Rumed." -msgstr "" - -#: ../NEWS:44690 -msgid "" -":issue:`27190`: Raise NotSupportedError if sqlite3 is older than 3.3.1. " -"Patch by Dave Sawyer." -msgstr "" - -#: ../NEWS:44693 -msgid "" -":issue:`27286`: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. Calling " -"function with generalized unpacking (PEP 448) and conflicting keyword names " -"could cause undefined behavior." -msgstr "" - -#: ../NEWS:44697 -msgid ":issue:`27140`: Added BUILD_CONST_KEY_MAP opcode." -msgstr "" - -#: ../NEWS:44699 -msgid "" -":issue:`27186`: Add support for os.PathLike objects to open() (part of " -":pep:`519`)." -msgstr "" - -#: ../NEWS:44702 ../NEWS:47463 -msgid "" -":issue:`27066`: Fixed SystemError if a custom opener (for open()) returns a " -"negative number without setting an exception." -msgstr "" - -#: ../NEWS:44705 -msgid "" -":issue:`26983`: float() now always return an instance of exact float. The " -"deprecation warning is emitted if __float__ returns an instance of a strict " -"subclass of float. In a future versions of Python this can be an error." -msgstr "" - -#: ../NEWS:44710 -msgid "" -":issue:`27097`: Python interpreter is now about 7% faster due to optimized " -"instruction decoding. Based on patch by Demur Rumed." -msgstr "" - -#: ../NEWS:44713 -msgid "" -":issue:`26647`: Python interpreter now uses 16-bit wordcode instead of " -"bytecode. Patch by Demur Rumed." -msgstr "" - -#: ../NEWS:44716 -msgid "" -":issue:`23275`: Allow assigning to an empty target list in round brackets: " -"() = iterable." -msgstr "" - -#: ../NEWS:44719 ../NEWS:47585 -msgid "" -":issue:`27243`: Update the __aiter__ protocol: instead of returning an " -"awaitable that resolves to an asynchronous iterator, the asynchronous " -"iterator should be returned directly. Doing the former will trigger a " -"PendingDeprecationWarning." -msgstr "" - -#: ../NEWS:44727 -msgid "" -"Comment out socket (SO_REUSEPORT) and posix (O_SHLOCK, O_EXLOCK) constants " -"exposed on the API which are not implemented on GNU/Hurd. They would not " -"work at runtime anyway." -msgstr "" - -#: ../NEWS:44731 -msgid "" -":issue:`27025`: Generated names for Tkinter widgets are now more meaningful " -"and recognizable." -msgstr "" - -#: ../NEWS:44734 -msgid "" -":issue:`25455`: Fixed crashes in repr of recursive ElementTree.Element and " -"functools.partial objects." -msgstr "" - -#: ../NEWS:44737 -msgid ":issue:`27294`: Improved repr for Tkinter event objects." -msgstr "" - -#: ../NEWS:44739 -msgid "" -":issue:`20508`: Improve exception message of IPv{4,6}Network.__getitem__. " -"Patch by Gareth Rees." -msgstr "" - -#: ../NEWS:44742 ../NEWS:47593 -msgid "" -":issue:`21386`: Implement missing IPv4Address.is_global property. It was " -"documented since 07a5610bae9d. Initial patch by Roger Luethi." -msgstr "" - -#: ../NEWS:44745 -msgid "" -":issue:`27029`: Removed deprecated support of universal newlines mode from " -"ZipFile.open()." -msgstr "" - -#: ../NEWS:44748 -msgid "" -":issue:`27030`: Unknown escapes consisting of ``'\\'`` and an ASCII letter " -"in regular expressions now are errors. The re.LOCALE flag now can be used " -"only with bytes patterns." -msgstr "" - -#: ../NEWS:44752 -msgid "" -":issue:`27186`: Add os.PathLike support to DirEntry (part of :pep:`519`). " -"Initial patch by Jelle Zijlstra." -msgstr "" - -#: ../NEWS:44755 ../NEWS:47596 -msgid "" -":issue:`20900`: distutils register command now decodes HTTP responses " -"correctly. Initial patch by ingrid." -msgstr "" - -#: ../NEWS:44758 -msgid "" -":issue:`27186`: Add os.PathLike support to pathlib, removing its provisional" -" status (part of PEP 519). Initial patch by Dusty Phillips." -msgstr "" - -#: ../NEWS:44761 -msgid "" -":issue:`27186`: Add support for os.PathLike objects to os.fsencode() and " -"os.fsdecode() (part of :pep:`519`)." -msgstr "" - -#: ../NEWS:44764 -msgid "" -":issue:`27186`: Introduce os.PathLike and os.fspath() (part of :pep:`519`)." -msgstr "" - -#: ../NEWS:44766 ../NEWS:47599 -msgid "" -"A new version of typing.py provides several new classes and features: " -"@overload outside stubs, Reversible, DefaultDict, Text, ContextManager, " -"Type[], NewType(), TYPE_CHECKING, and numerous bug fixes (note that some of " -"the new features are not yet implemented in mypy or other static analyzers)." -" Also classes for :pep:`492` (Awaitable, AsyncIterable, AsyncIterator) have " -"been added (in fact they made it into 3.5.1 but were never mentioned)." -msgstr "" - -#: ../NEWS:44774 ../NEWS:47607 -msgid "" -":issue:`25738`: Stop http.server.BaseHTTPRequestHandler.send_error() from " -"sending a message body for 205 Reset Content. Also, don't send Content " -"header fields in responses that don't have a body. Patch by Susumu Koshiba." -msgstr "" - -#: ../NEWS:44779 ../NEWS:47612 -msgid "" -":issue:`21313`: Fix the \"platform\" module to tolerate when sys.version " -"contains truncated build information." -msgstr "" - -#: ../NEWS:44782 -msgid "" -":issue:`23883`: Added missing APIs to __all__ to match the documented APIs " -"for the following modules: cgi, mailbox, mimetypes, plistlib and smtpd. " -"Patches by Jacek Kołodziej." -msgstr "" - -#: ../NEWS:44786 ../NEWS:47615 -msgid "" -":issue:`27164`: In the zlib module, allow decompressing raw Deflate streams " -"with a predefined zdict. Based on patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:44789 ../NEWS:47618 -msgid "" -":issue:`24291`: Fix wsgiref.simple_server.WSGIRequestHandler to completely " -"write data to the client. Previously it could do partial writes and " -"truncate data. Also, wsgiref.handler.ServerHandler can now handle stdout " -"doing partial writes, but this is deprecated." -msgstr "" - -#: ../NEWS:44794 -msgid "" -":issue:`21272`: Use _sysconfigdata.py to initialize distutils.sysconfig." -msgstr "" - -#: ../NEWS:44796 -msgid "" -":issue:`19611`: :mod:`inspect` now reports the implicit ``.0`` parameters " -"generated by the compiler for comprehension and generator expression scopes " -"as if they were positional-only parameters called ``implicit0``. Patch by " -"Jelle Zijlstra." -msgstr "" - -#: ../NEWS:44801 ../NEWS:47623 -msgid "" -":issue:`26809`: Add ``__all__`` to :mod:`string`. Patch by Emanuel Barry." -msgstr "" - -#: ../NEWS:44803 ../NEWS:47625 -msgid "" -":issue:`26373`: subprocess.Popen.communicate now correctly ignores " -"BrokenPipeError when the child process dies before .communicate() is called " -"in more/all circumstances." -msgstr "" - -#: ../NEWS:44807 -msgid "" -"signal, socket, and ssl module IntEnum constant name lookups now return a " -"consistent name for values having multiple names. Ex: signal.Signals(6) now" -" refers to itself as signal.SIGALRM rather than flipping between that and " -"signal.SIGIOT based on the interpreter's hash randomization seed." -msgstr "" - -#: ../NEWS:44812 -msgid "" -":issue:`27167`: Clarify the subprocess.CalledProcessError error message text" -" when the child process died due to a signal." -msgstr "" - -#: ../NEWS:44815 -msgid "" -":issue:`25931`: Don't define socketserver.Forking* names on platforms such " -"as Windows that do not support os.fork()." -msgstr "" - -#: ../NEWS:44818 ../NEWS:47629 -msgid "" -":issue:`21776`: distutils.upload now correctly handles HTTPError. Initial " -"patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:44821 -msgid "" -":issue:`26526`: Replace custom parse tree validation in the parser module " -"with a simple DFA validator." -msgstr "" - -#: ../NEWS:44824 ../NEWS:47632 -msgid "" -":issue:`27114`: Fix SSLContext._load_windows_store_certs fails with " -"PermissionError" -msgstr "" - -#: ../NEWS:44827 ../NEWS:47635 -msgid "" -":issue:`18383`: Avoid creating duplicate filters when using filterwarnings " -"and simplefilter. Based on patch by Alex Shkop." -msgstr "" - -#: ../NEWS:44830 -msgid "" -":issue:`23026`: winreg.QueryValueEx() now return an integer for REG_QWORD " -"type." -msgstr "" - -#: ../NEWS:44832 -msgid "" -":issue:`26741`: subprocess.Popen destructor now emits a ResourceWarning " -"warning if the child process is still running." -msgstr "" - -#: ../NEWS:44835 -msgid "" -":issue:`27056`: Optimize pickle.load() and pickle.loads(), up to 10% faster " -"to deserialize a lot of small objects." -msgstr "" - -#: ../NEWS:44838 -msgid ":issue:`21271`: New keyword only parameters in reset_mock call." -msgstr "" - -#: ../NEWS:44843 ../NEWS:47972 -msgid "" -":issue:`5124`: Paste with text selected now replaces the selection on X11. " -"This matches how paste works on Windows, Mac, most modern Linux apps, and " -"ttk widgets. Original patch by Serhiy Storchaka." -msgstr "" - -#: ../NEWS:44847 -msgid "" -":issue:`24750`: Switch all scrollbars in IDLE to ttk versions. Where needed," -" minimal tests are added to cover changes." -msgstr "" - -#: ../NEWS:44850 -msgid "" -":issue:`24759`: IDLE requires tk 8.5 and availability ttk widgets. Delete " -"now unneeded tk version tests and code for older versions. Add test for IDLE" -" syntax colorizer." -msgstr "" - -#: ../NEWS:44854 -msgid ":issue:`27239`: idlelib.macosx.isXyzTk functions initialize as needed." -msgstr "" - -#: ../NEWS:44856 -msgid "" -":issue:`27262`: move Aqua unbinding code, which enable context menus, to " -"macosx." -msgstr "" - -#: ../NEWS:44859 ../NEWS:47976 -msgid "" -":issue:`24759`: Make clear in idlelib.idle_test.__init__ that the directory " -"is a private implementation of test.test_idle and tool for maintainers." -msgstr "" - -#: ../NEWS:44862 ../NEWS:47979 -msgid "" -":issue:`27196`: Stop 'ThemeChanged' warnings when running IDLE tests. These " -"persisted after other warnings were suppressed in #20567. Apply Serhiy " -"Storchaka's update_idletasks solution to four test files. Record this " -"additional advice in idle_test/README.txt" -msgstr "" - -#: ../NEWS:44867 ../NEWS:47984 -msgid "" -":issue:`20567`: Revise idle_test/README.txt with advice about avoiding tk " -"warning messages from tests. Apply advice to several IDLE tests." -msgstr "" - -#: ../NEWS:44870 -msgid "" -":issue:`24225`: Update idlelib/README.txt with new file names and event " -"handlers." -msgstr "" - -#: ../NEWS:44873 -msgid ":issue:`27156`: Remove obsolete code not used by IDLE." -msgstr "" - -#: ../NEWS:44875 ../NEWS:47987 -msgid "" -":issue:`27117`: Make colorizer htest and turtledemo work with dark themes. " -"Move code for configuring text widget colors to a new function." -msgstr "" - -#: ../NEWS:44878 -msgid "" -":issue:`24225`: Rename many ``idlelib/*.py`` and ``idle_test/test_*.py`` " -"files. Edit files to replace old names with new names when the old name " -"referred to the module rather than the class it contained. See the issue and" -" IDLE section in What's New in 3.6 for more." -msgstr "" - -#: ../NEWS:44883 ../NEWS:47990 -msgid "" -":issue:`26673`: When tk reports font size as 0, change to size 10. Such " -"fonts on Linux prevented the configuration dialog from opening." -msgstr "" - -#: ../NEWS:44886 ../NEWS:47993 -msgid "" -":issue:`21939`: Add test for IDLE's percolator. Original patch by Saimadhav " -"Heblikar." -msgstr "" - -#: ../NEWS:44889 ../NEWS:47996 -msgid "" -":issue:`21676`: Add test for IDLE's replace dialog. Original patch by " -"Saimadhav Heblikar." -msgstr "" - -#: ../NEWS:44892 ../NEWS:47999 -msgid "" -":issue:`18410`: Add test for IDLE's search dialog. Original patch by Westley" -" Martínez." -msgstr "" - -#: ../NEWS:44895 -msgid "" -":issue:`21703`: Add test for undo delegator. Patch mostly by Saimadhav " -"Heblikar ." -msgstr "" - -#: ../NEWS:44898 ../NEWS:48005 -msgid "" -":issue:`27044`: Add ConfigDialog.remove_var_callbacks to stop memory leaks." -msgstr "" - -#: ../NEWS:44900 ../NEWS:48007 -msgid ":issue:`23977`: Add more asserts to test_delegator." -msgstr "" - -#: ../NEWS:44905 -msgid "" -":issue:`16484`: Change the default PYTHONDOCS URL to \"https:\", and fix the" -" resulting links to use lowercase. Patch by Sean Rodman, test by Kaushik " -"Nadikuditi." -msgstr "" - -#: ../NEWS:44909 ../NEWS:48028 -msgid ":issue:`24136`: Document the new :pep:`448` unpacking syntax of 3.5." -msgstr "" - -#: ../NEWS:44911 ../NEWS:48586 -msgid "" -":issue:`22558`: Add remaining doc links to source code for Python-coded " -"modules. Patch by Yoni Lavi." -msgstr "" - -#: ../NEWS:44917 -msgid "" -":issue:`25285`: regrtest now uses subprocesses when the -j1 command line " -"option is used: each test file runs in a fresh child process. Before, the " -"-j1 option was ignored." -msgstr "" - -#: ../NEWS:44921 -msgid "" -":issue:`25285`: Tools/buildbot/test.bat script now uses -j1 by default to " -"run each test file in fresh child process." -msgstr "" - -#: ../NEWS:44927 -msgid "" -":issue:`27064`: The py.exe launcher now defaults to Python 3. The Windows " -"launcher ``py.exe`` no longer prefers an installed Python 2 version over " -"Python 3 by default when used interactively." -msgstr "" - -#: ../NEWS:44931 ../NEWS:48143 -msgid "" -":issue:`17500`: Remove unused and outdated icons. (See also: " -"https://github.com/python/pythondotorg/issues/945)" -msgstr "" - -#: ../NEWS:44937 ../NEWS:48079 -msgid "" -":issue:`27229`: Fix the cross-compiling pgen rule for in-tree builds. Patch" -" by Xavier de Gaye." -msgstr "" - -#: ../NEWS:44940 ../NEWS:48116 -msgid "" -":issue:`26930`: Update OS X 10.5+ 32-bit-only installer to build and link " -"with OpenSSL 1.0.2h." -msgstr "" - -#: ../NEWS:44946 -msgid ":issue:`27186`: Add the PyOS_FSPath() function (part of :pep:`519`)." -msgstr "" - -#: ../NEWS:44948 -msgid "" -":issue:`26282`: PyArg_ParseTupleAndKeywords() now supports positional-only " -"parameters." -msgstr "" - -#: ../NEWS:44954 -msgid "" -":issue:`26282`: Argument Clinic now supports positional-only and keyword " -"parameters in the same function." -msgstr "" - -#: ../NEWS:44959 -msgid "Python 3.6.0 alpha 1" -msgstr "Python 3.6.0 alfa 1" - -#: ../NEWS:44961 -msgid "*Release date: 2016-05-16*" -msgstr "*Tanggal rilis: 2016-05-16*" - -#: ../NEWS:44966 ../NEWS:47450 -msgid "" -":issue:`26657`: Fix directory traversal vulnerability with http.server on " -"Windows. This fixes a regression that was introduced in 3.3.4rc1 and " -"3.4.0rc1. Based on patch by Philipp Hagemeister." -msgstr "" - -#: ../NEWS:44970 ../NEWS:47454 -msgid "" -":issue:`26313`: ssl.py _load_windows_store_certs fails if windows cert store" -" is empty. Patch by Baji." -msgstr "" - -#: ../NEWS:44973 ../NEWS:47457 -msgid "" -":issue:`25939`: On Windows open the cert store readonly in " -"ssl.enum_certificates." -msgstr "" - -#: ../NEWS:44979 ../NEWS:47466 -msgid "" -":issue:`20041`: Fixed TypeError when frame.f_trace is set to None. Patch by " -"Xavier de Gaye." -msgstr "" - -#: ../NEWS:44982 ../NEWS:47469 -msgid "" -":issue:`26168`: Fixed possible refleaks in failing Py_BuildValue() with the " -"\"N\" format unit." -msgstr "" - -#: ../NEWS:44985 ../NEWS:47472 -msgid "" -":issue:`26991`: Fix possible refleak when creating a function with " -"annotations." -msgstr "" - -#: ../NEWS:44987 -msgid "" -":issue:`27039`: Fixed bytearray.remove() for values greater than 127. Based" -" on patch by Joe Jevnik." -msgstr "" - -#: ../NEWS:44990 ../NEWS:47477 -msgid "" -":issue:`23640`: int.from_bytes() no longer bypasses constructors for " -"subclasses." -msgstr "" - -#: ../NEWS:44993 -msgid "" -":issue:`27005`: Optimized the float.fromhex() class method for exact float. " -"It is now 2 times faster." -msgstr "" - -#: ../NEWS:44996 -msgid "" -":issue:`18531`: Single var-keyword argument of dict subtype was passed " -"unscathed to the C-defined function. Now it is converted to exact dict." -msgstr "" - -#: ../NEWS:44999 ../NEWS:47480 -msgid "" -":issue:`26811`: gc.get_objects() no longer contains a broken tuple with NULL" -" pointer." -msgstr "" - -#: ../NEWS:45002 ../NEWS:47483 -msgid "" -":issue:`20120`: Use RawConfigParser for .pypirc parsing, removing support " -"for interpolation unintentionally added with move to Python 3. Behavior no " -"longer does any interpolation in .pypirc files, matching behavior in Python " -"2.7 and Setuptools 19.0." -msgstr "" - -#: ../NEWS:45007 -msgid "" -":issue:`26249`: Memory functions of the :c:func:`PyMem_Malloc` domain " -"(:c:macro:`PYMEM_DOMAIN_MEM`) now use the :ref:`pymalloc allocator " -"` rather than system :c:func:`malloc`. Applications calling " -":c:func:`PyMem_Malloc` without holding the GIL can now crash: use " -"``PYTHONMALLOC=debug`` environment variable to validate the usage of memory " -"allocators in your application." -msgstr "" - -#: ../NEWS:45014 -msgid "" -":issue:`26802`: Optimize function calls only using unpacking like " -"``func(*tuple)`` (no other positional argument, no keyword): avoid copying " -"the tuple. Patch written by Joe Jevnik." -msgstr "" - -#: ../NEWS:45018 ../NEWS:47488 -msgid ":issue:`26659`: Make the builtin slice type support cycle collection." -msgstr "" - -#: ../NEWS:45020 ../NEWS:47490 -msgid "" -":issue:`26718`: super.__init__ no longer leaks memory if called multiple " -"times. NOTE: A direct call of super.__init__ is not endorsed!" -msgstr "" - -#: ../NEWS:45023 ../NEWS:47520 -msgid ":issue:`27138`: Fix the doc comment for FileFinder.find_spec()." -msgstr "" - -#: ../NEWS:45025 ../NEWS:47564 -msgid ":issue:`27147`: Mention :pep:`420` in the importlib docs." -msgstr "" - -#: ../NEWS:45027 ../NEWS:47493 -msgid "" -":issue:`25339`: PYTHONIOENCODING now has priority over locale in setting the" -" error handler for stdin and stdout." -msgstr "" - -#: ../NEWS:45030 ../NEWS:47496 -msgid "" -":issue:`26494`: Fixed crash on iterating exhausting iterators. Affected " -"classes are generic sequence iterators, iterators of str, bytes, bytearray, " -"list, tuple, set, frozenset, dict, OrderedDict, corresponding views and " -"os.scandir() iterator." -msgstr "" - -#: ../NEWS:45035 -msgid "" -":issue:`26574`: Optimize ``bytes.replace(b'', b'.')`` and " -"``bytearray.replace(b'', b'.')``. Patch written by Josh Snider." -msgstr "" - -#: ../NEWS:45038 ../NEWS:47501 -msgid "" -":issue:`26581`: If coding cookie is specified multiple times on a line in " -"Python source code file, only the first one is taken to account." -msgstr "" - -#: ../NEWS:45041 -msgid ":issue:`19711`: Add tests for reloading namespace packages." -msgstr "" - -#: ../NEWS:45043 -msgid "" -":issue:`21099`: Switch applicable importlib tests to use :pep:`451` API." -msgstr "" - -#: ../NEWS:45045 -msgid "" -":issue:`26563`: Debug hooks on Python memory allocators now raise a fatal " -"error if functions of the :c:func:`PyMem_Malloc` family are called without " -"holding the GIL." -msgstr "" - -#: ../NEWS:45049 -msgid "" -":issue:`26564`: On error, the debug hooks on Python memory allocators now " -"use the :mod:`tracemalloc` module to get the traceback where a memory block " -"was allocated." -msgstr "" - -#: ../NEWS:45053 -msgid "" -":issue:`26558`: The debug hooks on Python memory allocator " -":c:func:`PyObject_Malloc` now detect when functions are called without " -"holding the GIL." -msgstr "" - -#: ../NEWS:45057 -msgid "" -":issue:`26516`: Add :envvar:`PYTHONMALLOC` environment variable to set the " -"Python memory allocators and/or install debug hooks." -msgstr "" - -#: ../NEWS:45060 -msgid "" -":issue:`26516`: The :c:func:`PyMem_SetupDebugHooks` function can now also be" -" used on Python compiled in release mode." -msgstr "" - -#: ../NEWS:45063 -msgid "" -":issue:`26516`: The :envvar:`PYTHONMALLOCSTATS` environment variable can now" -" also be used on Python compiled in release mode. It now has no effect if " -"set to an empty string." -msgstr "" - -#: ../NEWS:45067 -msgid "" -":issue:`26516`: In debug mode, debug hooks are now also installed on Python " -"memory allocators when Python is configured without pymalloc." -msgstr "" - -#: ../NEWS:45070 ../NEWS:47504 -msgid "" -":issue:`26464`: Fix str.translate() when string is ASCII and first " -"replacements removes character, but next replacement uses a non-ASCII " -"character or a string longer than 1 character. Regression introduced in " -"Python 3.5.0." -msgstr "" - -#: ../NEWS:45074 ../NEWS:47508 -msgid "" -":issue:`22836`: Ensure exception reports from PyErr_Display() and " -"PyErr_WriteUnraisable() are sensible even when formatting them produces " -"secondary errors. This affects the reports produced by sys.__excepthook__()" -" and when __del__() raises an exception." -msgstr "" - -#: ../NEWS:45079 ../NEWS:47513 -msgid "" -":issue:`26302`: Correct behavior to reject comma as a legal character for " -"cookie names." -msgstr "" - -#: ../NEWS:45082 -msgid "" -":issue:`26136`: Upgrade the warning when a generator raises StopIteration " -"from PendingDeprecationWarning to DeprecationWarning. Patch by Anish Shah." -msgstr "" - -#: ../NEWS:45085 -msgid "" -":issue:`26204`: The compiler now ignores all constant statements: bytes, " -"str, int, float, complex, name constants (None, False, True), Ellipsis and " -"ast.Constant; not only str and int. For example, ``1.0`` is now ignored in " -"``def f(): 1.0``." -msgstr "" - -#: ../NEWS:45090 ../NEWS:47516 -msgid "" -":issue:`4806`: Avoid masking the original TypeError exception when using " -"star (``*``) unpacking in function calls. Based on patch by Hagen Fürstenau" -" and Daniel Urban." -msgstr "" - -#: ../NEWS:45094 -msgid "" -":issue:`26146`: Add a new kind of AST node: ``ast.Constant``. It can be used" -" by external AST optimizers, but the compiler does not emit directly such " -"node." -msgstr "" - -#: ../NEWS:45098 -msgid "" -":issue:`23601`: Sped-up allocation of dict key objects by using Python's " -"small object allocator. (Contributed by Julian Taylor.)" -msgstr "" - -#: ../NEWS:45101 -msgid "" -":issue:`18018`: Import raises ImportError instead of SystemError if a " -"relative import is attempted without a known parent package." -msgstr "" - -#: ../NEWS:45104 -msgid "" -":issue:`25843`: When compiling code, don't merge constants if they are equal" -" but have a different types. For example, ``f1, f2 = lambda: 1, lambda: " -"1.0`` is now correctly compiled to two different functions: ``f1()`` returns" -" ``1`` (``int``) and ``f2()`` returns ``1.0`` (``float``), even if ``1`` and" -" ``1.0`` are equal." -msgstr "" - -#: ../NEWS:45110 -msgid "" -":issue:`26107`: The format of the ``co_lnotab`` attribute of code objects " -"changes to support negative line number delta." -msgstr "" - -#: ../NEWS:45113 ../NEWS:47522 -msgid "" -":issue:`26154`: Add a new private _PyThreadState_UncheckedGet() function to " -"get the current Python thread state, but don't issue a fatal error if it is " -"NULL. This new function must be used instead of accessing directly the " -"_PyThreadState_Current variable. The variable is no more exposed since " -"Python 3.5.1 to hide the exact implementation of atomic C types, to avoid " -"compiler issues." -msgstr "" - -#: ../NEWS:45120 -msgid "" -":issue:`25791`: If __package__ != __spec__.parent or if neither __package__ " -"or __spec__ are defined then ImportWarning is raised." -msgstr "" - -#: ../NEWS:45123 ../NEWS:47539 -msgid "" -":issue:`22995`: [UPDATE] Comment out the one of the pickleability tests in " -"_PyObject_GetState() due to regressions observed in Cython-based projects." -msgstr "" - -#: ../NEWS:45126 ../NEWS:47542 -msgid ":issue:`25961`: Disallowed null characters in the type name." -msgstr "" - -#: ../NEWS:45128 ../NEWS:47544 -msgid "" -":issue:`25973`: Fix segfault when an invalid nonlocal statement binds a name" -" starting with two underscores." -msgstr "" - -#: ../NEWS:45131 ../NEWS:47547 -msgid "" -":issue:`22995`: Instances of extension types with a state that aren't " -"subclasses of list or dict and haven't implemented any pickle-related " -"methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__, or " -"__getstate__), can no longer be pickled. Including memoryview." -msgstr "" - -#: ../NEWS:45136 ../NEWS:47552 -msgid "" -":issue:`20440`: Massive replacing unsafe attribute setting code with special" -" macro Py_SETREF." -msgstr "" - -#: ../NEWS:45139 ../NEWS:47555 -msgid "" -":issue:`25766`: Special method __bytes__() now works in str subclasses." -msgstr "" - -#: ../NEWS:45141 ../NEWS:47557 -msgid "" -":issue:`25421`: __sizeof__ methods of builtin types now use dynamic basic " -"size. This allows sys.getsize() to work correctly with their subclasses with" -" __slots__ defined." -msgstr "" - -#: ../NEWS:45145 ../NEWS:47561 ../NEWS:48171 -msgid "" -":issue:`25709`: Fixed problem with in-place string concatenation and utf-8 " -"cache." -msgstr "" - -#: ../NEWS:45148 -msgid "" -":issue:`5319`: New Py_FinalizeEx() API allowing Python to set an exit status" -" of 120 on failure to flush buffered streams." -msgstr "" - -#: ../NEWS:45151 -msgid ":issue:`25485`: telnetlib.Telnet is now a context manager." -msgstr "" - -#: ../NEWS:45153 ../NEWS:47566 -msgid "" -":issue:`24097`: Fixed crash in object.__reduce__() if slot name is freed " -"inside __getattr__." -msgstr "" - -#: ../NEWS:45156 ../NEWS:47569 -msgid "" -":issue:`24731`: Fixed crash on converting objects with special methods " -"__bytes__, __trunc__, and __float__ returning instances of subclasses of " -"bytes, int, and float to subclasses of bytes, int, and float " -"correspondingly." -msgstr "" - -#: ../NEWS:45161 ../NEWS:48189 -msgid "" -":issue:`25630`: Fix a possible segfault during argument parsing in functions" -" that accept filesystem paths." -msgstr "" - -#: ../NEWS:45164 ../NEWS:48192 -msgid "" -":issue:`23564`: Fixed a partially broken sanity check in the " -"_posixsubprocess internals regarding how fds_to_pass were passed to the " -"child. The bug had no actual impact as subprocess.py already avoided it." -msgstr "" - -#: ../NEWS:45168 ../NEWS:48196 -msgid "" -":issue:`25388`: Fixed tokenizer crash when processing undecodable source " -"code with a null byte." -msgstr "" - -#: ../NEWS:45171 ../NEWS:48199 -msgid "" -":issue:`25462`: The hash of the key now is calculated only once in most " -"operations in C implementation of OrderedDict." -msgstr "" - -#: ../NEWS:45174 ../NEWS:48202 -msgid "" -":issue:`22995`: Default implementation of __reduce__ and __reduce_ex__ now " -"rejects builtin types with not defined __new__." -msgstr "" - -#: ../NEWS:45177 ../NEWS:48208 -msgid "" -":issue:`24802`: Avoid buffer overreads when int(), float(), compile(), " -"exec() and eval() are passed bytes-like objects. These objects are not " -"necessarily terminated by a null byte, but the functions assumed they were." -msgstr "" - -#: ../NEWS:45182 ../NEWS:48205 -msgid "" -":issue:`25555`: Fix parser and AST: fill lineno and col_offset of \"arg\" " -"node when compiling AST from Python objects." -msgstr "" - -#: ../NEWS:45185 ../NEWS:48213 -msgid "" -":issue:`24726`: Fixed a crash and leaking NULL in repr() of OrderedDict that" -" was mutated by direct calls of dict methods." -msgstr "" - -#: ../NEWS:45188 ../NEWS:48216 -msgid "" -":issue:`25449`: Iterating OrderedDict with keys with unstable hash now " -"raises KeyError in C implementations as well as in Python implementation." -msgstr "" - -#: ../NEWS:45191 ../NEWS:48219 -msgid "" -":issue:`25395`: Fixed crash when highly nested OrderedDict structures were " -"garbage collected." -msgstr "" - -#: ../NEWS:45194 -msgid "" -":issue:`25401`: Optimize bytes.fromhex() and bytearray.fromhex(): they are " -"now between 2x and 3.5x faster." -msgstr "" - -#: ../NEWS:45197 -msgid "" -":issue:`25399`: Optimize bytearray % args using the new private " -"_PyBytesWriter API. Formatting is now between 2.5 and 5 times faster." -msgstr "" - -#: ../NEWS:45200 ../NEWS:48222 -msgid "" -":issue:`25274`: sys.setrecursionlimit() now raises a RecursionError if the " -"new recursion limit is too low depending at the current recursion depth. " -"Modify also the \"lower-water mark\" formula to make it monotonic. This mark" -" is used to decide when the overflowed flag of the thread state is reset." -msgstr "" - -#: ../NEWS:45205 ../NEWS:48227 -msgid "" -":issue:`24402`: Fix input() to prompt to the redirected stdout when " -"sys.stdout.fileno() fails." -msgstr "" - -#: ../NEWS:45208 -msgid "" -":issue:`25349`: Optimize bytes % args using the new private _PyBytesWriter " -"API. Formatting is now up to 2 times faster." -msgstr "" - -#: ../NEWS:45211 ../NEWS:48230 -msgid "" -":issue:`24806`: Prevent builtin types that are not allowed to be subclassed " -"from being subclassed through multiple inheritance." -msgstr "" - -#: ../NEWS:45214 -msgid "" -":issue:`25301`: The UTF-8 decoder is now up to 15 times as fast for error " -"handlers: ``ignore``, ``replace`` and ``surrogateescape``." -msgstr "" - -#: ../NEWS:45217 ../NEWS:48233 -msgid "" -":issue:`24848`: Fixed a number of bugs in UTF-7 decoding of misformed data." -msgstr "" - -#: ../NEWS:45219 -msgid "" -":issue:`25267`: The UTF-8 encoder is now up to 75 times as fast for error " -"handlers: ``ignore``, ``replace``, ``surrogateescape``, ``surrogatepass``. " -"Patch co-written with Serhiy Storchaka." -msgstr "" - -#: ../NEWS:45223 ../NEWS:48235 -msgid "" -":issue:`25280`: Import trace messages emitted in verbose (-v) mode are no " -"longer formatted twice." -msgstr "" - -#: ../NEWS:45226 -msgid "" -":issue:`25227`: Optimize ASCII and latin1 encoders with the " -"``surrogateescape`` error handler: the encoders are now up to 3 times as " -"fast. Initial patch written by Serhiy Storchaka." -msgstr "" - -#: ../NEWS:45230 ../NEWS:48238 -msgid "" -":issue:`25003`: On Solaris 11.3 or newer, os.urandom() now uses the " -"getrandom() function instead of the getentropy() function. The getentropy() " -"function is blocking to generate very good quality entropy, os.urandom() " -"doesn't need such high-quality entropy." -msgstr "" - -#: ../NEWS:45235 -msgid "" -":issue:`9232`: Modify Python's grammar to allow trailing commas in the " -"argument list of a function declaration. For example, \"def f(\\*, a = 3,):" -" pass\" is now legal. Patch from Mark Dickinson." -msgstr "" - -#: ../NEWS:45239 -msgid "" -":issue:`24965`: Implement :pep:`498` \"Literal String Interpolation\". This " -"allows you to embed expressions inside f-strings, which are converted to " -"normal strings at run time. Given x=3, then f'value={x}' == 'value=3'. Patch" -" by Eric V. Smith." -msgstr "" - -#: ../NEWS:45244 ../NEWS:47574 -msgid "" -":issue:`26478`: Fix semantic bugs when using binary operators with " -"dictionary views and tuples." -msgstr "" - -#: ../NEWS:45247 ../NEWS:47577 -msgid "" -":issue:`26171`: Fix possible integer overflow and heap corruption in " -"zipimporter.get_data()." -msgstr "" - -#: ../NEWS:45250 ../NEWS:47580 -msgid ":issue:`25660`: Fix TAB key behaviour in REPL with readline." -msgstr "" - -#: ../NEWS:45252 -msgid ":issue:`26288`: Optimize PyLong_AsDouble." -msgstr "" - -#: ../NEWS:45254 -msgid "" -":issue:`26289`: Optimize floor and modulo division for single-digit longs. " -"Microbenchmarks show 2-2.5x improvement. Built-in 'divmod' function is now " -"also ~10% faster. (See also: :issue:`26315`)" -msgstr "" - -#: ../NEWS:45258 ../NEWS:47582 -msgid "" -":issue:`25887`: Raise a RuntimeError when a coroutine object is awaited more" -" than once." -msgstr "" - -#: ../NEWS:45264 ../NEWS:47638 -msgid "" -":issue:`27057`: Fix os.set_inheritable() on Android, ioctl() is blocked by " -"SELinux and fails with EACCESS. The function now falls back to fcntl(). " -"Patch written by Michał Bednarski." -msgstr "" - -#: ../NEWS:45268 ../NEWS:47642 -msgid "" -":issue:`27014`: Fix infinite recursion using typing.py. Thanks to Kalle " -"Tuure!" -msgstr "" - -#: ../NEWS:45270 -msgid "" -":issue:`27031`: Removed dummy methods in Tkinter widget classes: " -"tk_menuBar() and tk_bindForTraversal()." -msgstr "" - -#: ../NEWS:45273 ../NEWS:47644 -msgid "" -":issue:`14132`: Fix urllib.request redirect handling when the target only " -"has a query string. Original fix by Ján Janech." -msgstr "" - -#: ../NEWS:45276 ../NEWS:47647 -msgid "" -":issue:`17214`: The \"urllib.request\" module now percent-encodes non-ASCII " -"bytes found in redirect target URLs. Some servers send Location header " -"fields with non-ASCII bytes, but \"http.client\" requires the request target" -" to be ASCII-encodable, otherwise a UnicodeEncodeError is raised. Based on " -"patch by Christian Heimes." -msgstr "" - -#: ../NEWS:45282 -msgid "" -":issue:`27033`: The default value of the decode_data parameter for " -"smtpd.SMTPChannel and smtpd.SMTPServer constructors is changed to False." -msgstr "" - -#: ../NEWS:45285 -msgid ":issue:`27034`: Removed deprecated class asynchat.fifo." -msgstr "" - -#: ../NEWS:45287 -msgid "" -":issue:`26870`: Added readline.set_auto_history(), which can stop entries " -"being automatically added to the history list. Based on patch by Tyler " -"Crompton." -msgstr "" - -#: ../NEWS:45291 -msgid "" -":issue:`26039`: zipfile.ZipFile.open() can now be used to write data into a " -"ZIP file, as well as for extracting data. Patch by Thomas Kluyver." -msgstr "" - -#: ../NEWS:45294 ../NEWS:47653 -msgid "" -":issue:`26892`: Honor debuglevel flag in urllib.request.HTTPHandler. Patch " -"contributed by Chi Hsuan Yen." -msgstr "" - -#: ../NEWS:45297 ../NEWS:47656 -msgid "" -":issue:`22274`: In the subprocess module, allow stderr to be redirected to " -"stdout even when stdout is not redirected. Patch by Akira Li." -msgstr "" - -#: ../NEWS:45300 ../NEWS:47659 -msgid "" -":issue:`26807`: mock_open 'files' no longer error on readline at end of " -"file. Patch from Yolanda Robla." -msgstr "" - -#: ../NEWS:45303 ../NEWS:47662 -msgid ":issue:`25745`: Fixed leaking a userptr in curses panel destructor." -msgstr "" - -#: ../NEWS:45305 ../NEWS:47664 -msgid "" -":issue:`26977`: Removed unnecessary, and ignored, call to sum of squares " -"helper in statistics.pvariance." -msgstr "" - -#: ../NEWS:45308 -msgid "" -":issue:`26002`: Use bisect in statistics.median instead of a linear search. " -"Patch by Upendra Kuma." -msgstr "" - -#: ../NEWS:45311 -msgid "" -":issue:`25974`: Make use of new Decimal.as_integer_ratio() method in " -"statistics module. Patch by Stefan Krah." -msgstr "" - -#: ../NEWS:45314 -msgid ":issue:`26996`: Add secrets module as described in :pep:`506`." -msgstr "" - -#: ../NEWS:45316 ../NEWS:47667 -msgid "" -":issue:`26881`: The modulefinder module now supports extended opcode " -"arguments." -msgstr "" - -#: ../NEWS:45318 ../NEWS:47669 -msgid "" -":issue:`23815`: Fixed crashes related to directly created instances of types" -" in _tkinter and curses.panel modules." -msgstr "" - -#: ../NEWS:45321 ../NEWS:47672 -msgid "" -":issue:`17765`: weakref.ref() no longer silently ignores keyword arguments. " -"Patch by Georg Brandl." -msgstr "" - -#: ../NEWS:45324 ../NEWS:47675 -msgid "" -":issue:`26873`: xmlrpc now raises ResponseError on unsupported type tags " -"instead of silently return incorrect result." -msgstr "" - -#: ../NEWS:45327 -msgid "" -":issue:`26915`: The __contains__ methods in the collections ABCs now check " -"for identity before checking equality. This better matches the behavior of " -"the concrete classes, allows sensible handling of NaNs, and makes it easier " -"to reason about container invariants." -msgstr "" - -#: ../NEWS:45332 ../NEWS:47678 -msgid "" -":issue:`26711`: Fixed the comparison of plistlib.Data with other types." -msgstr "" - -#: ../NEWS:45334 ../NEWS:47680 -msgid "" -":issue:`24114`: Fix an uninitialized variable in ``ctypes.util``. The bug " -"only occurs on SunOS when the ctypes implementation searches for the " -"``crle`` program. Patch by Xiang Zhang. Tested on SunOS by Kees Bos." -msgstr "" - -#: ../NEWS:45338 ../NEWS:47684 -msgid "" -":issue:`26864`: In urllib.request, change the proxy bypass host checking " -"against no_proxy to be case-insensitive, and to not match unrelated host " -"names that happen to have a bypassed hostname as a suffix. Patch by Xiang " -"Zhang." -msgstr "" - -#: ../NEWS:45343 -msgid "" -":issue:`24902`: Print server URL on http.server startup. Initial patch by " -"Felix Kaiser." -msgstr "" - -#: ../NEWS:45346 -msgid "" -":issue:`25788`: fileinput.hook_encoded() now supports an \"errors\" argument" -" for passing to open. Original patch by Joseph Hackman." -msgstr "" - -#: ../NEWS:45349 ../NEWS:47689 -msgid "" -":issue:`26634`: recursive_repr() now sets __qualname__ of wrapper. Patch by" -" Xiang Zhang." -msgstr "" - -#: ../NEWS:45352 ../NEWS:47692 -msgid "" -":issue:`26804`: urllib.request will prefer lower_case proxy environment " -"variables over UPPER_CASE or Mixed_Case ones. Patch contributed by Hans-" -"Peter Jansen." -msgstr "" - -#: ../NEWS:45356 ../NEWS:47696 -msgid "" -":issue:`26837`: assertSequenceEqual() now correctly outputs non-stringified " -"differing items (like bytes in the -b mode). This affects assertListEqual()" -" and assertTupleEqual()." -msgstr "" - -#: ../NEWS:45360 ../NEWS:47700 -msgid "" -":issue:`26041`: Remove \"will be removed in Python 3.7\" from deprecation " -"messages of platform.dist() and platform.linux_distribution(). Patch by " -"Kumaripaba Miyurusara Athukorala." -msgstr "" - -#: ../NEWS:45364 ../NEWS:47704 -msgid "" -":issue:`26822`: itemgetter, attrgetter and methodcaller objects no longer " -"silently ignore keyword arguments." -msgstr "" - -#: ../NEWS:45367 ../NEWS:47707 -msgid "" -":issue:`26733`: Disassembling a class now disassembles class and static " -"methods. Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:45370 ../NEWS:47710 -msgid "" -":issue:`26801`: Fix error handling in :func:`shutil.get_terminal_size`, " -"catch :exc:`AttributeError` instead of :exc:`NameError`. Patch written by " -"Emanuel Barry." -msgstr "" - -#: ../NEWS:45374 ../NEWS:47714 -msgid "" -":issue:`24838`: tarfile's ustar and gnu formats now correctly calculate name" -" and link field limits for multibyte character encodings like utf-8." -msgstr "" - -#: ../NEWS:45377 ../NEWS:47717 -msgid "" -":issue:`26717`: Stop encoding Latin-1-ized WSGI paths with UTF-8. Patch by " -"Anthony Sottile." -msgstr "" - -#: ../NEWS:45380 -msgid ":issue:`26782`: Add STARTUPINFO to subprocess.__all__ on Windows." -msgstr "" - -#: ../NEWS:45382 -msgid "" -":issue:`26404`: Add context manager to socketserver. Patch by Aviv " -"Palivoda." -msgstr "" - -#: ../NEWS:45384 ../NEWS:47720 -msgid "" -":issue:`26735`: Fix :func:`os.urandom` on Solaris 11.3 and newer when " -"reading more than 1,024 bytes: call ``getrandom()`` multiple times with a " -"limit of 1024 bytes per call." -msgstr "" - -#: ../NEWS:45388 -msgid "" -":issue:`26585`: Eliminate http.server._quote_html() and use " -"html.escape(quote=False). Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:45391 -msgid ":issue:`26685`: Raise OSError if closing a socket fails." -msgstr "" - -#: ../NEWS:45393 ../NEWS:47724 -msgid "" -":issue:`16329`: Add .webm to mimetypes.types_map. Patch by Giampaolo " -"Rodola'." -msgstr "" - -#: ../NEWS:45395 ../NEWS:47726 -msgid "" -":issue:`13952`: Add .csv to mimetypes.types_map. Patch by Geoff Wilson." -msgstr "" - -#: ../NEWS:45397 -msgid "" -":issue:`26587`: the site module now allows .pth files to specify files to be" -" added to sys.path (e.g. zip files)." -msgstr "" - -#: ../NEWS:45400 -msgid "" -":issue:`25609`: Introduce contextlib.AbstractContextManager and " -"typing.ContextManager." -msgstr "" - -#: ../NEWS:45403 ../NEWS:47728 -msgid ":issue:`26709`: Fixed Y2038 problem in loading binary PLists." -msgstr "" - -#: ../NEWS:45405 ../NEWS:47730 -msgid "" -":issue:`23735`: Handle terminal resizing with Readline 6.3+ by installing " -"our own SIGWINCH handler. Patch by Eric Price." -msgstr "" - -#: ../NEWS:45408 -msgid "" -":issue:`25951`: Change SSLSocket.sendall() to return None, as explicitly " -"documented for plain socket objects. Patch by Aviv Palivoda." -msgstr "" - -#: ../NEWS:45411 ../NEWS:47733 -msgid "" -":issue:`26586`: In http.server, respond with \"413 Request header fields too" -" large\" if there are too many header fields to parse, rather than killing " -"the connection and raising an unhandled exception. Patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:45415 -msgid ":issue:`26676`: Added missing XMLPullParser to ElementTree.__all__." -msgstr "" - -#: ../NEWS:45417 ../NEWS:47737 -msgid "" -":issue:`22854`: Change BufferedReader.writable() and " -"BufferedWriter.readable() to always return False." -msgstr "" - -#: ../NEWS:45420 -msgid "" -":issue:`26492`: Exhausted iterator of array.array now conforms with the " -"behavior of iterators of other mutable sequences: it lefts exhausted even if" -" iterated array is extended." -msgstr "" - -#: ../NEWS:45424 -msgid "" -":issue:`26641`: doctest.DocFileTest and doctest.testfile() now support " -"packages (module split into multiple directories) for the package parameter." -msgstr "" - -#: ../NEWS:45427 ../NEWS:47740 -msgid "" -":issue:`25195`: Fix a regression in mock.MagicMock. _Call is a subclass of " -"tuple (changeset 3603bae63c13 only works for classes) so we need to " -"implement __ne__ ourselves. Patch by Andrew Plummer." -msgstr "" - -#: ../NEWS:45431 ../NEWS:47744 -msgid "" -":issue:`26644`: Raise ValueError rather than SystemError when a negative " -"length is passed to SSLSocket.recv() or read()." -msgstr "" - -#: ../NEWS:45434 ../NEWS:47747 -msgid "" -":issue:`23804`: Fix SSL recv(0) and read(0) methods to return zero bytes " -"instead of up to 1024." -msgstr "" - -#: ../NEWS:45437 ../NEWS:47750 -msgid ":issue:`26616`: Fixed a bug in datetime.astimezone() method." -msgstr "" - -#: ../NEWS:45439 -msgid "" -":issue:`26637`: The :mod:`importlib` module now emits an :exc:`ImportError` " -"rather than a :exc:`TypeError` if :func:`__import__` is tried during the " -"Python shutdown process but :data:`sys.path` is already cleared (set to " -"``None``)." -msgstr "" - -#: ../NEWS:45444 -msgid "" -":issue:`21925`: :func:`warnings.formatwarning` now catches exceptions when " -"calling :func:`linecache.getline` and " -":func:`tracemalloc.get_object_traceback` to be able to log " -":exc:`ResourceWarning` emitted late during the Python shutdown process." -msgstr "" - -#: ../NEWS:45449 -msgid "" -":issue:`23848`: On Windows, faulthandler.enable() now also installs an " -"exception handler to dump the traceback of all Python threads on any Windows" -" exception, not only on UNIX signals (SIGSEGV, SIGFPE, SIGABRT)." -msgstr "" - -#: ../NEWS:45453 -msgid "" -":issue:`26530`: Add C functions :c:func:`!_PyTraceMalloc_Track` and " -":c:func:`!_PyTraceMalloc_Untrack` to track memory blocks using the " -":mod:`tracemalloc` module. Add :c:func:`!_PyTraceMalloc_GetTraceback` to get" -" the traceback of an object." -msgstr "" - -#: ../NEWS:45458 -msgid "" -":issue:`26588`: The _tracemalloc now supports tracing memory allocations of " -"multiple address spaces (domains)." -msgstr "" - -#: ../NEWS:45461 ../NEWS:47756 -msgid "" -":issue:`24266`: Ctrl+C during Readline history search now cancels the search" -" mode when compiled with Readline 7." -msgstr "" - -#: ../NEWS:45464 -msgid "" -":issue:`26590`: Implement a safe finalizer for the _socket.socket type. It " -"now releases the GIL to close the socket." -msgstr "" - -#: ../NEWS:45467 -msgid "" -":issue:`18787`: spwd.getspnam() now raises a PermissionError if the user " -"doesn't have privileges." -msgstr "" - -#: ../NEWS:45470 ../NEWS:47759 -msgid "" -":issue:`26560`: Avoid potential ValueError in BaseHandler.start_response. " -"Initial patch by Peter Inglesby." -msgstr "" - -#: ../NEWS:45473 -msgid "" -":issue:`26567`: Add a new function :c:func:`PyErr_ResourceWarning` function " -"to pass the destroyed object. Add a *source* attribute to " -":class:`warnings.WarningMessage`. Add warnings._showwarnmsg() which uses " -"tracemalloc to get the traceback where source object was allocated." -msgstr "" - -#: ../NEWS:45478 ../NEWS:47762 -msgid "" -":issue:`26569`: Fix :func:`pyclbr.readmodule` and " -":func:`pyclbr.readmodule_ex` to support importing packages." -msgstr "" - -#: ../NEWS:45481 ../NEWS:47765 -msgid "" -":issue:`26499`: Account for remaining Content-Length in " -"HTTPResponse.readline() and read1(). Based on patch by Silent Ghost. Also " -"document that HTTPResponse now supports these methods." -msgstr "" - -#: ../NEWS:45485 ../NEWS:47769 -msgid "" -":issue:`25320`: Handle sockets in directories unittest discovery is " -"scanning. Patch from Victor van den Elzen." -msgstr "" - -#: ../NEWS:45488 ../NEWS:47772 -msgid "" -":issue:`16181`: cookiejar.http2time() now returns None if year is higher " -"than datetime.MAXYEAR." -msgstr "" - -#: ../NEWS:45491 ../NEWS:47775 -msgid ":issue:`26513`: Fixes platform module detection of Windows Server" -msgstr "" - -#: ../NEWS:45493 ../NEWS:47777 -msgid "" -":issue:`23718`: Fixed parsing time in week 0 before Jan 1. Original patch " -"by Tamás Bence Gedai." -msgstr "" - -#: ../NEWS:45496 -msgid "" -":issue:`26323`: Add Mock.assert_called() and Mock.assert_called_once() " -"methods to unittest.mock. Patch written by Amit Saha." -msgstr "" - -#: ../NEWS:45499 ../NEWS:47780 -msgid "" -":issue:`20589`: Invoking Path.owner() and Path.group() on Windows now raise " -"NotImplementedError instead of ImportError." -msgstr "" - -#: ../NEWS:45502 ../NEWS:47783 -msgid "" -":issue:`26177`: Fixed the keys() method for Canvas and Scrollbar widgets." -msgstr "" - -#: ../NEWS:45504 -msgid "" -":issue:`15068`: Got rid of excessive buffering in fileinput. The bufsize " -"parameter is now deprecated and ignored." -msgstr "" - -#: ../NEWS:45507 -msgid "" -":issue:`19475`: Added an optional argument timespec to the datetime " -"isoformat() method to choose the precision of the time component." -msgstr "" - -#: ../NEWS:45510 ../NEWS:47788 -msgid "" -":issue:`2202`: Fix UnboundLocalError in " -"AbstractDigestAuthHandler.get_algorithm_impls. Initial patch by Mathieu " -"Dupuy." -msgstr "" - -#: ../NEWS:45514 -msgid "" -":issue:`26167`: Minimized overhead in copy.copy() and copy.deepcopy(). " -"Optimized copying and deepcopying bytearrays, NotImplemented, slices, short " -"lists, tuples, dicts, sets." -msgstr "" - -#: ../NEWS:45518 ../NEWS:47792 -msgid "" -":issue:`25718`: Fixed pickling and copying the accumulate() iterator with " -"total is None." -msgstr "" - -#: ../NEWS:45521 ../NEWS:47795 -msgid "" -":issue:`26475`: Fixed debugging output for regular expressions with the (?x)" -" flag." -msgstr "" - -#: ../NEWS:45524 -msgid ":issue:`26482`: Allowed pickling recursive dequeues." -msgstr "" - -#: ../NEWS:45526 -msgid "" -":issue:`26335`: Make mmap.write() return the number of bytes written like " -"other write methods. Patch by Jakub Stasiak." -msgstr "" - -#: ../NEWS:45529 ../NEWS:47798 -msgid "" -":issue:`26457`: Fixed the subnets() methods in IP network classes for the " -"case when resulting prefix length is equal to maximal prefix length. Based " -"on patch by Xiang Zhang." -msgstr "" - -#: ../NEWS:45533 ../NEWS:47802 -msgid "" -":issue:`26385`: Remove the file if the internal open() call in " -"NamedTemporaryFile() fails. Patch by Silent Ghost." -msgstr "" - -#: ../NEWS:45536 ../NEWS:47805 -msgid "" -":issue:`26402`: Fix XML-RPC client to retry when the server shuts down a " -"persistent connection. This was a regression related to the new " -"http.client.RemoteDisconnected exception in 3.5.0a4." -msgstr "" - -#: ../NEWS:45540 ../NEWS:47809 -msgid "" -":issue:`25913`: Leading ``<~`` is optional now in base64.a85decode() with " -"adobe=True. Patch by Swati Jaiswal." -msgstr "" - -#: ../NEWS:45543 ../NEWS:47812 -msgid "" -":issue:`26186`: Remove an invalid type check in importlib.util.LazyLoader." -msgstr "" - -#: ../NEWS:45545 -msgid "" -":issue:`26367`: importlib.__import__() raises ImportError like " -"builtins.__import__() when ``level`` is specified but without an " -"accompanying package specified." -msgstr "" - -#: ../NEWS:45549 ../NEWS:47818 -msgid "" -":issue:`26309`: In the \"socketserver\" module, shut down the request " -"(closing the connected socket) when verify_request() returns false. Patch " -"by Aviv Palivoda." -msgstr "" - -#: ../NEWS:45553 -msgid "" -":issue:`23430`: Change the socketserver module to only catch exceptions " -"raised from a request handler that are derived from Exception (instead of " -"BaseException). Therefore SystemExit and KeyboardInterrupt no longer trigger" -" the handle_error() method, and will now to stop a single-threaded server." -msgstr "" - -#: ../NEWS:45559 ../NEWS:47822 -msgid "" -":issue:`25995`: os.walk() no longer uses FDs proportional to the tree depth." -msgstr "" - -#: ../NEWS:45561 -msgid "" -":issue:`25994`: Added the close() method and the support of the context " -"manager protocol for the os.scandir() iterator." -msgstr "" - -#: ../NEWS:45564 -msgid "" -":issue:`23992`: multiprocessing: make MapResult not fail-fast upon " -"exception." -msgstr "" - -#: ../NEWS:45566 -msgid "" -":issue:`26243`: Support keyword arguments to zlib.compress(). Patch by Aviv" -" Palivoda." -msgstr "" - -#: ../NEWS:45569 ../NEWS:47824 -msgid "" -":issue:`26117`: The os.scandir() iterator now closes file descriptor not " -"only when the iteration is finished, but when it was failed with error." -msgstr "" - -#: ../NEWS:45572 -msgid "" -":issue:`25949`: __dict__ for an OrderedDict instance is now created only " -"when needed." -msgstr "" - -#: ../NEWS:45575 ../NEWS:47827 -msgid "" -":issue:`25911`: Restored support of bytes paths in os.walk() on Windows." -msgstr "" - -#: ../NEWS:45577 ../NEWS:47829 -msgid "" -":issue:`26045`: Add UTF-8 suggestion to error message when posting a non-" -"Latin-1 string with http.client." -msgstr "" - -#: ../NEWS:45580 -msgid "" -":issue:`26039`: Added zipfile.ZipInfo.from_file() and " -"zipinfo.ZipInfo.is_dir(). Patch by Thomas Kluyver." -msgstr "" - -#: ../NEWS:45583 ../NEWS:47832 -msgid "" -":issue:`12923`: Reset FancyURLopener's redirect counter even if there is an " -"exception. Based on patches by Brian Brazil and Daniel Rocco." -msgstr "" - -#: ../NEWS:45586 ../NEWS:47835 -msgid "" -":issue:`25945`: Fixed a crash when unpickle the functools.partial object " -"with wrong state. Fixed a leak in failed functools.partial constructor. " -"\"args\" and \"keywords\" attributes of functools.partial have now always " -"types tuple and dict correspondingly." -msgstr "" - -#: ../NEWS:45591 ../NEWS:47840 -msgid "" -":issue:`26202`: copy.deepcopy() now correctly copies range() objects with " -"non-atomic attributes." -msgstr "" - -#: ../NEWS:45594 ../NEWS:47843 -msgid "" -":issue:`23076`: Path.glob() now raises a ValueError if it's called with an " -"invalid pattern. Patch by Thomas Nyberg." -msgstr "" - -#: ../NEWS:45597 ../NEWS:47846 -msgid ":issue:`19883`: Fixed possible integer overflows in zipimport." -msgstr "" - -#: ../NEWS:45599 ../NEWS:47848 -msgid "" -":issue:`26227`: On Windows, getnameinfo(), gethostbyaddr() and " -"gethostbyname_ex() functions of the socket module now decode the hostname " -"from the ANSI code page rather than UTF-8." -msgstr "" - -#: ../NEWS:45603 -msgid "" -":issue:`26099`: The site module now writes an error into stderr if " -"sitecustomize module can be imported but executing the module raise an " -"ImportError. Same change for usercustomize." -msgstr "" - -#: ../NEWS:45607 ../NEWS:47852 -msgid "" -":issue:`26147`: xmlrpc now works with strings not encodable with used non-" -"UTF-8 encoding." -msgstr "" - -#: ../NEWS:45610 ../NEWS:47855 -msgid "" -":issue:`25935`: Garbage collector now breaks reference loops with " -"OrderedDict." -msgstr "" - -#: ../NEWS:45612 ../NEWS:47857 -msgid ":issue:`16620`: Fixed AttributeError in msilib.Directory.glob()." -msgstr "" - -#: ../NEWS:45614 ../NEWS:47859 -msgid "" -":issue:`26013`: Added compatibility with broken protocol 2 pickles created " -"in old Python 3 versions (3.4.3 and lower)." -msgstr "" - -#: ../NEWS:45617 -msgid ":issue:`26129`: Deprecated accepting non-integers in grp.getgrgid()." -msgstr "" - -#: ../NEWS:45619 ../NEWS:47862 -msgid ":issue:`25850`: Use cross-compilation by default for 64-bit Windows." -msgstr "" - -#: ../NEWS:45621 -msgid "" -":issue:`25822`: Add docstrings to the fields of urllib.parse results. Patch " -"contributed by Swati Jaiswal." -msgstr "" - -#: ../NEWS:45624 -msgid "" -":issue:`22642`: Convert trace module option parsing mechanism to argparse. " -"Patch contributed by SilentGhost." -msgstr "" - -#: ../NEWS:45627 ../NEWS:47866 -msgid "" -":issue:`24705`: Fix sysconfig._parse_makefile not expanding ${} vars " -"appearing before $() vars." -msgstr "" - -#: ../NEWS:45630 -msgid ":issue:`26069`: Remove the deprecated apis in the trace module." -msgstr "" - -#: ../NEWS:45632 ../NEWS:47869 -msgid "" -":issue:`22138`: Fix mock.patch behavior when patching descriptors. Restore " -"original values after patching. Patch contributed by Sean McCully." -msgstr "" - -#: ../NEWS:45635 ../NEWS:47872 -msgid "" -":issue:`25672`: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode " -"option if it is safe to do so." -msgstr "" - -#: ../NEWS:45638 ../NEWS:47875 -msgid "" -":issue:`26012`: Don't traverse into symlinks for ``**`` pattern in " -"pathlib.Path.[r]glob()." -msgstr "" - -#: ../NEWS:45641 ../NEWS:47878 -msgid "" -":issue:`24120`: Ignore PermissionError when traversing a tree with " -"pathlib.Path.[r]glob(). Patch by Ulrich Petri." -msgstr "" - -#: ../NEWS:45644 -msgid "" -":issue:`21815`: Accept ] characters in the data portion of imap responses, " -"in order to handle the flags with square brackets accepted and produced by " -"servers such as gmail." -msgstr "" - -#: ../NEWS:45648 ../NEWS:47881 -msgid "" -":issue:`25447`: fileinput now uses sys.stdin as-is if it does not have a " -"buffer attribute (restores backward compatibility)." -msgstr "" - -#: ../NEWS:45651 -msgid "" -":issue:`25971`: Optimized creating Fractions from floats by 2 times and from" -" Decimals by 3 times." -msgstr "" - -#: ../NEWS:45654 -msgid "" -":issue:`25802`: Document as deprecated the remaining implementations of " -"importlib.abc.Loader.load_module()." -msgstr "" - -#: ../NEWS:45657 -msgid ":issue:`25928`: Add Decimal.as_integer_ratio()." -msgstr "" - -#: ../NEWS:45659 ../NEWS:47884 -msgid "" -":issue:`25447`: Copying the lru_cache() wrapper object now always works, " -"independently from the type of the wrapped object (by returning the original" -" object unchanged)." -msgstr "" - -#: ../NEWS:45663 -msgid "" -":issue:`25768`: Have the functions in compileall return booleans instead of " -"ints and add proper documentation and tests for the return values." -msgstr "" - -#: ../NEWS:45666 ../NEWS:47888 -msgid "" -":issue:`24103`: Fixed possible use after free in ElementTree.XMLPullParser." -msgstr "" - -#: ../NEWS:45668 ../NEWS:47890 -msgid "" -":issue:`25860`: os.fwalk() no longer skips remaining directories when error " -"occurs. Original patch by Samson Lee." -msgstr "" - -#: ../NEWS:45671 ../NEWS:47893 -msgid ":issue:`25914`: Fixed and simplified OrderedDict.__sizeof__." -msgstr "" - -#: ../NEWS:45673 -msgid "" -":issue:`25869`: Optimized deepcopying ElementTree; it is now 20 times " -"faster." -msgstr "" - -#: ../NEWS:45675 -msgid "" -":issue:`25873`: Optimized iterating ElementTree. Iterating elements " -"Element.iter() is now 40% faster, iterating text Element.itertext() is now " -"up to 2.5 times faster." -msgstr "" - -#: ../NEWS:45679 ../NEWS:47895 -msgid "" -":issue:`25902`: Fixed various refcount issues in ElementTree iteration." -msgstr "" - -#: ../NEWS:45681 -msgid "" -":issue:`22227`: The TarFile iterator is reimplemented using generator. This " -"implementation is simpler that using class." -msgstr "" - -#: ../NEWS:45684 -msgid "" -":issue:`25638`: Optimized ElementTree.iterparse(); it is now 2x faster. " -"Optimized ElementTree parsing; it is now 10% faster." -msgstr "" - -#: ../NEWS:45687 -msgid ":issue:`25761`: Improved detecting errors in broken pickle data." -msgstr "" - -#: ../NEWS:45689 ../NEWS:47897 -msgid "" -":issue:`25717`: Restore the previous behaviour of tolerating most fstat() " -"errors when opening files. This was a regression in 3.5a1, and stopped " -"anonymous temporary files from working in special cases." -msgstr "" - -#: ../NEWS:45693 ../NEWS:47901 -msgid "" -":issue:`24903`: Fix regression in number of arguments compileall accepts " -"when '-d' is specified. The check on the number of arguments has been " -"dropped completely as it never worked correctly anyway." -msgstr "" - -#: ../NEWS:45697 ../NEWS:47905 -msgid "" -":issue:`25764`: In the subprocess module, preserve any exception caused by " -"fork() failure when preexec_fn is used." -msgstr "" - -#: ../NEWS:45700 -msgid "" -":issue:`25771`: Tweak the exception message for " -"importlib.util.resolve_name() when 'package' isn't specified but necessary." -msgstr "" - -#: ../NEWS:45703 ../NEWS:47908 -msgid "" -":issue:`6478`: _strptime's regexp cache now is reset after changing timezone" -" with time.tzset()." -msgstr "" - -#: ../NEWS:45706 ../NEWS:47911 -msgid "" -":issue:`14285`: When executing a package with the \"python -m package\" " -"option, and package initialization fails, a proper traceback is now " -"reported. The \"runpy\" module now lets exceptions from package " -"initialization pass back to the caller, rather than raising ImportError." -msgstr "" - -#: ../NEWS:45711 ../NEWS:47916 -msgid "" -":issue:`19771`: Also in runpy and the \"-m\" option, omit the irrelevant " -"message \". . . is a package and cannot be directly executed\" if the " -"package could not even be initialized (e.g. due to a bad ``*.pyc`` file)." -msgstr "" - -#: ../NEWS:45715 ../NEWS:47920 -msgid "" -":issue:`25177`: Fixed problem with the mean of very small and very large " -"numbers. As a side effect, statistics.mean and statistics.variance should be" -" significantly faster." -msgstr "" - -#: ../NEWS:45719 ../NEWS:47924 -msgid "" -":issue:`25718`: Fixed copying object with state with boolean value is false." -msgstr "" - -#: ../NEWS:45721 ../NEWS:47926 -msgid "" -":issue:`10131`: Fixed deep copying of minidom documents. Based on patch by " -"Marian Ganisin." -msgstr "" - -#: ../NEWS:45724 -msgid "" -":issue:`7990`: dir() on ElementTree.Element now lists properties: \"tag\", " -"\"text\", \"tail\" and \"attrib\". Original patch by Santoso Wijaya." -msgstr "" - -#: ../NEWS:45727 ../NEWS:47929 -msgid "" -":issue:`25725`: Fixed a reference leak in pickle.loads() when unpickling " -"invalid data including tuple instructions." -msgstr "" - -#: ../NEWS:45730 ../NEWS:47932 -msgid "" -":issue:`25663`: In the Readline completer, avoid listing duplicate global " -"names, and search the global namespace before searching builtins." -msgstr "" - -#: ../NEWS:45733 ../NEWS:47935 -msgid "" -":issue:`25688`: Fixed file leak in ElementTree.iterparse() raising an error." -msgstr "" - -#: ../NEWS:45735 ../NEWS:47937 -msgid "" -":issue:`23914`: Fixed SystemError raised by unpickler on broken pickle data." -msgstr "" - -#: ../NEWS:45737 ../NEWS:47939 -msgid "" -":issue:`25691`: Fixed crash on deleting ElementTree.Element attributes." -msgstr "" - -#: ../NEWS:45739 ../NEWS:47941 -msgid "" -":issue:`25624`: ZipFile now always writes a ZIP_STORED header for directory " -"entries. Patch by Dingyuan Wang." -msgstr "" - -#: ../NEWS:45742 ../NEWS:48257 -msgid "" -":issue:`25626`: Change three zlib functions to accept sizes that fit in " -"Py_ssize_t, but internally cap those sizes to UINT_MAX. This resolves a " -"regression in 3.5 where GzipFile.read() failed to read chunks larger than 2 " -"or 4 GiB. The change affects the zlib.Decompress.decompress() max_length " -"parameter, the zlib.decompress() bufsize parameter, and the " -"zlib.Decompress.flush() length parameter." -msgstr "" - -#: ../NEWS:45749 ../NEWS:48264 -msgid "" -":issue:`25583`: Avoid incorrect errors raised by os.makedirs(exist_ok=True) " -"when the OS gives priority to errors such as EACCES over EEXIST." -msgstr "" - -#: ../NEWS:45752 ../NEWS:48267 -msgid ":issue:`25593`: Change semantics of EventLoop.stop() in asyncio." -msgstr "" - -#: ../NEWS:45754 ../NEWS:48269 -msgid "" -":issue:`6973`: When we know a subprocess.Popen process has died, do not " -"allow the send_signal(), terminate(), or kill() methods to do anything as " -"they could potentially signal a different process." -msgstr "" - -#: ../NEWS:45758 -msgid "" -":issue:`23883`: Added missing APIs to __all__ to match the documented APIs " -"for the following modules: calendar, csv, enum, fileinput, ftplib, logging, " -"optparse, tarfile, threading and wave. Also added a " -"test.support.check__all__() helper. Patches by Jacek Kołodziej, Mauro S. M. " -"Rodrigues and Joel Taddei." -msgstr "" - -#: ../NEWS:45764 -msgid "" -":issue:`25590`: In the Readline completer, only call getattr() once per " -"attribute. Also complete names of attributes such as properties and slots " -"which are listed by dir() but not yet created on an instance." -msgstr "" - -#: ../NEWS:45768 ../NEWS:48276 -msgid "" -":issue:`25498`: Fix a crash when garbage-collecting ctypes objects created " -"by wrapping a memoryview. This was a regression made in 3.5a1. Based on " -"patch by Eryksun." -msgstr "" - -#: ../NEWS:45772 ../NEWS:48280 -msgid ":issue:`25584`: Added \"escape\" to the __all__ list in the glob module." -msgstr "" - -#: ../NEWS:45774 ../NEWS:48282 -msgid "" -":issue:`25584`: Fixed recursive glob() with patterns starting with ``**``." -msgstr "" - -#: ../NEWS:45776 ../NEWS:48284 -msgid ":issue:`25446`: Fix regression in smtplib's AUTH LOGIN support." -msgstr "" - -#: ../NEWS:45778 ../NEWS:48286 -msgid "" -":issue:`18010`: Fix the pydoc web server's module search function to handle " -"exceptions from importing packages." -msgstr "" - -#: ../NEWS:45781 ../NEWS:48289 -msgid "" -":issue:`25554`: Got rid of circular references in regular expression " -"parsing." -msgstr "" - -#: ../NEWS:45783 -msgid "" -":issue:`18973`: Command-line interface of the calendar module now uses " -"argparse instead of optparse." -msgstr "" - -#: ../NEWS:45786 ../NEWS:48291 -msgid "" -":issue:`25510`: fileinput.FileInput.readline() now returns b'' instead of ''" -" at the end if the FileInput was opened with binary mode. Patch by Ryosuke " -"Ito." -msgstr "" - -#: ../NEWS:45790 ../NEWS:48295 -msgid "" -":issue:`25503`: Fixed inspect.getdoc() for inherited docstrings of " -"properties. Original patch by John Mark Vandenberg." -msgstr "" - -#: ../NEWS:45793 ../NEWS:48298 -msgid "" -":issue:`25515`: Always use os.urandom as a source of randomness in " -"uuid.uuid4." -msgstr "" - -#: ../NEWS:45795 ../NEWS:48300 -msgid "" -":issue:`21827`: Fixed textwrap.dedent() for the case when largest common " -"whitespace is a substring of smallest leading whitespace. Based on patch by " -"Robert Li." -msgstr "" - -#: ../NEWS:45799 ../NEWS:48304 -msgid "" -":issue:`25447`: The lru_cache() wrapper objects now can be copied and " -"pickled (by returning the original object unchanged)." -msgstr "" - -#: ../NEWS:45802 ../NEWS:48307 -msgid ":issue:`25390`: typing: Don't crash on Union[str, Pattern]." -msgstr "" - -#: ../NEWS:45804 ../NEWS:48309 -msgid "" -":issue:`25441`: asyncio: Raise error from drain() when socket is closed." -msgstr "" - -#: ../NEWS:45806 ../NEWS:48311 -msgid "" -":issue:`25410`: Cleaned up and fixed minor bugs in C implementation of " -"OrderedDict." -msgstr "" - -#: ../NEWS:45809 ../NEWS:48314 -msgid "" -":issue:`25411`: Improved Unicode support in SMTPHandler through better use " -"of the email package. Thanks to user simon04 for the patch." -msgstr "" - -#: ../NEWS:45812 -msgid "" -"Move the imp module from a PendingDeprecationWarning to DeprecationWarning." -msgstr "" - -#: ../NEWS:45815 ../NEWS:48317 -msgid "" -":issue:`25407`: Remove mentions of the formatter module being removed in " -"Python 3.6." -msgstr "" - -#: ../NEWS:45818 ../NEWS:48320 -msgid "" -":issue:`25406`: Fixed a bug in C implementation of OrderedDict.move_to_end()" -" that caused segmentation fault or hang in iterating after moving several " -"items to the start of ordered dict." -msgstr "" - -#: ../NEWS:45822 -msgid "" -":issue:`25382`: pickletools.dis() now outputs implicit memo index for the " -"MEMOIZE opcode." -msgstr "" - -#: ../NEWS:45825 -msgid "" -":issue:`25357`: Add an optional newline parameter to binascii.b2a_base64(). " -"base64.b64encode() uses it to avoid a memory copy." -msgstr "" - -#: ../NEWS:45828 -msgid "" -":issue:`24164`: Objects that need calling ``__new__`` with keyword " -"arguments, can now be pickled using pickle protocols older than protocol " -"version 4." -msgstr "" - -#: ../NEWS:45831 ../NEWS:48324 -msgid ":issue:`25364`: zipfile now works in threads disabled builds." -msgstr "" - -#: ../NEWS:45833 ../NEWS:48326 -msgid "" -":issue:`25328`: smtpd's SMTPChannel now correctly raises a ValueError if " -"both decode_data and enable_SMTPUTF8 are set to true." -msgstr "" - -#: ../NEWS:45836 -msgid "" -":issue:`16099`: RobotFileParser now supports Crawl-delay and Request-rate " -"extensions. Patch by Nikolay Bogoychev." -msgstr "" - -#: ../NEWS:45839 ../NEWS:48329 -msgid "" -":issue:`25316`: distutils raises OSError instead of DistutilsPlatformError " -"when MSVC is not installed." -msgstr "" - -#: ../NEWS:45842 ../NEWS:48332 -msgid "" -":issue:`25380`: Fixed protocol for the STACK_GLOBAL opcode in " -"pickletools.opcodes." -msgstr "" - -#: ../NEWS:45845 ../NEWS:48335 -msgid "" -":issue:`23972`: Updates asyncio datagram create method allowing reuseport " -"and reuseaddr socket options to be set prior to binding the socket. " -"Mirroring the existing asyncio create_server method the reuseaddr option for" -" datagram sockets defaults to True if the O/S is 'posix' (except if the " -"platform is Cygwin). Patch by Chris Laws." -msgstr "" - -#: ../NEWS:45851 ../NEWS:48341 -msgid "" -":issue:`25304`: Add asyncio.run_coroutine_threadsafe(). This lets you " -"submit a coroutine to a loop from another thread, returning a " -"concurrent.futures.Future. By Vincent Michel." -msgstr "" - -#: ../NEWS:45855 ../NEWS:48345 -msgid "" -":issue:`25232`: Fix CGIRequestHandler to split the query from the URL at the" -" first question mark (?) rather than the last. Patch from Xiang Zhang." -msgstr "" - -#: ../NEWS:45858 ../NEWS:48348 -msgid "" -":issue:`24657`: Prevent CGIRequestHandler from collapsing slashes in the " -"query part of the URL as if it were a path. Patch from Xiang Zhang." -msgstr "" - -#: ../NEWS:45861 -msgid "" -":issue:`25287`: Don't add crypt.METHOD_CRYPT to crypt.methods if it's not " -"supported. Check if it is supported, it may not be supported on OpenBSD for " -"example." -msgstr "" - -#: ../NEWS:45865 ../NEWS:48376 -msgid "" -":issue:`23600`: Default implementation of tzinfo.fromutc() was returning " -"wrong results in some cases." -msgstr "" - -#: ../NEWS:45868 ../NEWS:48373 -msgid "" -":issue:`25203`: Failed readline.set_completer_delims() no longer left the " -"module in inconsistent state." -msgstr "" - -#: ../NEWS:45871 -msgid "" -":issue:`25011`: rlcompleter now omits private and special attribute names " -"unless the prefix starts with underscores." -msgstr "" - -#: ../NEWS:45874 -msgid "" -":issue:`25209`: rlcompleter now can add a space or a colon after completed " -"keyword." -msgstr "" - -#: ../NEWS:45877 -msgid ":issue:`22241`: timezone.utc name is now plain 'UTC', not 'UTC-00:00'." -msgstr "" - -#: ../NEWS:45879 -msgid "" -":issue:`23517`: fromtimestamp() and utcfromtimestamp() methods of " -"datetime.datetime now round microseconds to nearest with ties going to " -"nearest even integer (ROUND_HALF_EVEN), as round(float), instead of rounding" -" towards -Infinity (ROUND_FLOOR)." -msgstr "" - -#: ../NEWS:45884 -msgid "" -":issue:`23552`: Timeit now warns when there is substantial (4x) variance " -"between best and worst times. Patch from Serhiy Storchaka." -msgstr "" - -#: ../NEWS:45887 -msgid ":issue:`24633`: site-packages/README -> README.txt." -msgstr "" - -#: ../NEWS:45889 -msgid "" -":issue:`24879`: help() and pydoc can now list named tuple fields in the " -"order they were defined rather than alphabetically. The ordering is " -"determined by the _fields attribute if present." -msgstr "" - -#: ../NEWS:45893 -msgid "" -":issue:`24874`: Improve speed of itertools.cycle() and make its pickle more " -"compact." -msgstr "" - -#: ../NEWS:45896 -msgid "" -"Fix crash in itertools.cycle.__setstate__() when the first argument wasn't a" -" list." -msgstr "" - -#: ../NEWS:45899 -msgid "" -":issue:`20059`: urllib.parse raises ValueError on all invalid ports. Patch " -"by Martin Panter." -msgstr "" - -#: ../NEWS:45902 -msgid "" -":issue:`24360`: Improve __repr__ of argparse.Namespace() for invalid " -"identifiers. Patch by Matthias Bussonnier." -msgstr "" - -#: ../NEWS:45905 -msgid "" -":issue:`23426`: run_setup was broken in distutils. Patch from Alexander " -"Belopolsky." -msgstr "" - -#: ../NEWS:45908 -msgid "" -":issue:`13938`: 2to3 converts StringTypes to a tuple. Patch from Mark " -"Hammond." -msgstr "" - -#: ../NEWS:45910 -msgid "" -":issue:`2091`: open() accepted a 'U' mode string containing '+', but 'U' can" -" only be used with 'r'. Patch from Jeff Balogh and John O'Connor." -msgstr "" - -#: ../NEWS:45913 -msgid "" -":issue:`8585`: improved tests for zipimporter2. Patch from Mark Lawrence." -msgstr "" - -#: ../NEWS:45915 ../NEWS:48918 -msgid "" -":issue:`18622`: unittest.mock.mock_open().reset_mock would recurse " -"infinitely. Patch from Nicola Palumbo and Laurent De Buyst." -msgstr "" - -#: ../NEWS:45918 -msgid "" -":issue:`24426`: Fast searching optimization in regular expressions now works" -" for patterns that starts with capturing groups. Fast searching " -"optimization now can't be disabled at compile time." -msgstr "" - -#: ../NEWS:45922 ../NEWS:48921 -msgid "" -":issue:`23661`: unittest.mock side_effects can now be exceptions again. This" -" was a regression vs Python 3.4. Patch from Ignacio Rossi" -msgstr "" - -#: ../NEWS:45925 -msgid ":issue:`13248`: Remove deprecated inspect.getmoduleinfo function." -msgstr "" - -#: ../NEWS:45927 ../NEWS:48450 -msgid ":issue:`25578`: Fix (another) memory leak in SSLSocket.getpeercer()." -msgstr "" - -#: ../NEWS:45929 ../NEWS:48452 -msgid "" -":issue:`25530`: Disable the vulnerable SSLv3 protocol by default when " -"creating ssl.SSLContext." -msgstr "" - -#: ../NEWS:45932 ../NEWS:48455 -msgid ":issue:`25569`: Fix memory leak in SSLSocket.getpeercert()." -msgstr "" - -#: ../NEWS:45934 ../NEWS:48457 -msgid "" -":issue:`25471`: Sockets returned from accept() shouldn't appear to be " -"nonblocking." -msgstr "" - -#: ../NEWS:45937 ../NEWS:48460 -msgid "" -":issue:`25319`: When threading.Event is reinitialized, the underlying " -"condition should use a regular lock rather than a recursive lock." -msgstr "" - -#: ../NEWS:45940 ../NEWS:47944 -msgid "" -"Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu Davis." -msgstr "" - -#: ../NEWS:45943 ../NEWS:47947 -msgid "" -":issue:`26050`: Add asyncio.StreamReader.readuntil() method. Patch by Марк " -"Коренберг." -msgstr "" - -#: ../NEWS:45946 ../NEWS:47950 -msgid "" -":issue:`25924`: Avoid unnecessary serialization of getaddrinfo(3) calls on " -"OS X versions 10.5 or higher. Original patch by A. Jesse Jiryu Davis." -msgstr "" - -#: ../NEWS:45949 ../NEWS:47953 -msgid "" -":issue:`26406`: Avoid unnecessary serialization of getaddrinfo(3) calls on " -"current versions of OpenBSD and NetBSD. Patch by A. Jesse Jiryu Davis." -msgstr "" - -#: ../NEWS:45952 ../NEWS:47956 -msgid "" -":issue:`26848`: Fix asyncio/subprocess.communicate() to handle empty input. " -"Patch by Jack O'Connor." -msgstr "" - -#: ../NEWS:45955 ../NEWS:47959 -msgid ":issue:`27040`: Add loop.get_exception_handler method" -msgstr "" - -#: ../NEWS:45957 ../NEWS:47961 -msgid ":issue:`27041`: asyncio: Add loop.create_future method" -msgstr "" - -#: ../NEWS:45962 ../NEWS:48009 -msgid "" -":issue:`20640`: Add tests for idlelib.configHelpSourceEdit. Patch by " -"Saimadhav Heblikar." -msgstr "" - -#: ../NEWS:45965 ../NEWS:48012 -msgid "" -"In the 'IDLE-console differences' section of the IDLE doc, clarify how " -"running with IDLE affects sys.modules and the standard streams." -msgstr "" - -#: ../NEWS:45968 ../NEWS:48015 -msgid "" -":issue:`25507`: fix incorrect change in IOBinding that prevented printing. " -"Augment IOBinding htest to include all major IOBinding functions." -msgstr "" - -#: ../NEWS:45971 ../NEWS:48018 -msgid "" -":issue:`25905`: Revert unwanted conversion of ' to ’ RIGHT SINGLE QUOTATION " -"MARK in README.txt and open this and NEWS.txt with 'ascii'. Re-encode " -"CREDITS.txt to utf-8 and open it with 'utf-8'." -msgstr "" - -#: ../NEWS:45975 ../NEWS:48489 -msgid "" -":issue:`15348`: Stop the debugger engine (normally in a user process) before" -" closing the debugger window (running in the IDLE process). This prevents " -"the RuntimeErrors that were being caught and ignored." -msgstr "" - -#: ../NEWS:45979 ../NEWS:48493 -msgid "" -":issue:`24455`: Prevent IDLE from hanging when a) closing the shell while " -"the debugger is active (15347); b) closing the debugger with the [X] button " -"(15348); and c) activating the debugger when already active (24455). The " -"patch by Mark Roseman does this by making two changes. 1. Suspend and resume" -" the gui.interaction method with the tcl vwait mechanism intended for this " -"purpose (instead of root.mainloop & .quit). 2. In gui.run, allow any " -"existing interaction to terminate first." -msgstr "" - -#: ../NEWS:45987 ../NEWS:48501 -msgid "" -"Change 'The program' to 'Your program' in an IDLE 'kill program?' message to" -" make it clearer that the program referred to is the currently running user " -"program, not IDLE itself." -msgstr "" - -#: ../NEWS:45991 ../NEWS:48505 -msgid "" -":issue:`24750`: Improve the appearance of the IDLE editor window status bar." -" Patch by Mark Roseman." -msgstr "" - -#: ../NEWS:45994 ../NEWS:48508 -msgid "" -":issue:`25313`: Change the handling of new built-in text color themes to " -"better address the compatibility problem introduced by the addition of IDLE " -"Dark. Consistently use the revised idleConf.CurrentTheme everywhere in " -"idlelib." -msgstr "" - -#: ../NEWS:45998 ../NEWS:48512 -msgid "" -":issue:`24782`: Extension configuration is now a tab in the IDLE Preferences" -" dialog rather than a separate dialog. The former tabs are now a sorted " -"list. Patch by Mark Roseman." -msgstr "" - -#: ../NEWS:46002 ../NEWS:48516 -msgid "" -":issue:`22726`: Re-activate the config dialog help button with some content " -"about the other buttons and the new IDLE Dark theme." -msgstr "" - -#: ../NEWS:46005 ../NEWS:48519 -msgid "" -":issue:`24820`: IDLE now has an 'IDLE Dark' built-in text color theme. It is" -" more or less IDLE Classic inverted, with a cobalt blue background. Strings," -" comments, keywords, ... are still green, red, orange, ... . To use it with " -"IDLEs released before November 2015, hit the 'Save as New Custom Theme' " -"button and enter a new name, such as 'Custom Dark'. The custom theme will " -"work with any IDLE release, and can be modified." -msgstr "" - -#: ../NEWS:46012 ../NEWS:48526 -msgid "" -":issue:`25224`: README.txt is now an idlelib index for IDLE developers and " -"curious users. The previous user content is now in the IDLE doc chapter. " -"'IDLE' now means 'Integrated Development and Learning Environment'." -msgstr "" - -#: ../NEWS:46016 ../NEWS:48530 -msgid "" -":issue:`24820`: Users can now set breakpoint colors in Settings -> Custom " -"Highlighting. Original patch by Mark Roseman." -msgstr "" - -#: ../NEWS:46019 ../NEWS:48533 -msgid "" -":issue:`24972`: Inactive selection background now matches active selection " -"background, as configured by users, on all systems. Found items are now " -"always highlighted on Windows. Initial patch by Mark Roseman." -msgstr "" - -#: ../NEWS:46023 ../NEWS:48537 -msgid "" -":issue:`24570`: Idle: make calltip and completion boxes appear on Macs " -"affected by a tk regression. Initial patch by Mark Roseman." -msgstr "" - -#: ../NEWS:46026 ../NEWS:48540 -msgid "" -":issue:`24988`: Idle ScrolledList context menus (used in debugger) now work " -"on Mac Aqua. Patch by Mark Roseman." -msgstr "" - -#: ../NEWS:46029 ../NEWS:48543 -msgid "" -":issue:`24801`: Make right-click for context menu work on Mac Aqua. Patch by" -" Mark Roseman." -msgstr "" - -#: ../NEWS:46032 ../NEWS:48546 -msgid "" -":issue:`25173`: Associate tkinter messageboxes with a specific widget. For " -"Mac OSX, make them a 'sheet'. Patch by Mark Roseman." -msgstr "" - -#: ../NEWS:46035 ../NEWS:48549 -msgid "" -":issue:`25198`: Enhance the initial html viewer now used for Idle Help. " -"Properly indent fixed-pitch text (patch by Mark Roseman). Give code snippet " -"a very Sphinx-like light blueish-gray background. Re-use initial width and " -"height set by users for shell and editor. When the Table of Contents (TOC) " -"menu is used, put the section header at the top of the screen." -msgstr "" - -#: ../NEWS:46042 ../NEWS:48556 -msgid ":issue:`25225`: Condense and rewrite Idle doc section on text colors." -msgstr "" - -#: ../NEWS:46044 ../NEWS:48558 -msgid "" -":issue:`21995`: Explain some differences between IDLE and console Python." -msgstr "" - -#: ../NEWS:46046 ../NEWS:48560 -msgid "" -":issue:`22820`: Explain need for *print* when running file from Idle editor." -msgstr "" - -#: ../NEWS:46048 ../NEWS:48562 -msgid "" -":issue:`25224`: Doc: augment Idle feature list and no-subprocess section." -msgstr "" - -#: ../NEWS:46050 ../NEWS:48564 -msgid "" -":issue:`25219`: Update doc for Idle command line options. Some were missing " -"and notes were not correct." -msgstr "" - -#: ../NEWS:46053 ../NEWS:48567 -msgid "" -":issue:`24861`: Most of idlelib is private and subject to change. Use " -"idleib.idle.* to start Idle. See idlelib.__init__.__doc__." -msgstr "" - -#: ../NEWS:46056 ../NEWS:48570 -msgid "" -":issue:`25199`: Idle: add synchronization comments for future maintainers." -msgstr "" - -#: ../NEWS:46058 -msgid "" -":issue:`16893`: Replace help.txt with help.html for Idle doc display. The " -"new idlelib/help.html is rstripped Doc/build/html/library/idle.html. It " -"looks better than help.txt and will better document Idle as released. The " -"tkinter html viewer that works for this file was written by Rose Roseman. " -"The now unused EditorWindow.HelpDialog class and helt.txt file are " -"deprecated." -msgstr "" - -#: ../NEWS:46065 ../NEWS:48579 -msgid "" -":issue:`24199`: Deprecate unused idlelib.idlever with possible removal in " -"3.6." -msgstr "" - -#: ../NEWS:46067 ../NEWS:48581 -msgid "" -":issue:`24790`: Remove extraneous code (which also create 2 & 3 conflicts)." -msgstr "" - -#: ../NEWS:46072 ../NEWS:48030 -msgid "" -":issue:`26736`: Used HTTPS for external links in the documentation if " -"possible." -msgstr "" - -#: ../NEWS:46074 ../NEWS:48032 -msgid "" -":issue:`6953`: Rework the Readline module documentation to group related " -"functions together, and add more details such as what underlying Readline " -"functions and variables are accessed." -msgstr "" - -#: ../NEWS:46078 ../NEWS:48036 -msgid "" -":issue:`23606`: Adds note to ctypes documentation regarding cdll.msvcrt." -msgstr "" - -#: ../NEWS:46080 ../NEWS:48596 -msgid "" -":issue:`24952`: Clarify the default size argument of stack_size() in the " -"\"threading\" and \"_thread\" modules. Patch from Mattip." -msgstr "" - -#: ../NEWS:46083 ../NEWS:48041 -msgid "" -":issue:`26014`: Update 3.x packaging documentation: * \"See also\" links to " -"the new docs are now provided in the legacy pages * links to setuptools " -"documentation have been updated" -msgstr "" - -#: ../NEWS:46090 ../NEWS:48048 -msgid "" -":issue:`21916`: Added tests for the turtle module. Patch by ingrid, Gregory" -" Loyse and Jelle Zijlstra." -msgstr "" - -#: ../NEWS:46093 -msgid "" -":issue:`26295`: When using \"python3 -m test --testdir=TESTDIR\", regrtest " -"doesn't add \"test.\" prefix to test module names." -msgstr "" - -#: ../NEWS:46096 ../NEWS:48051 -msgid "" -":issue:`26523`: The multiprocessing thread pool (multiprocessing.dummy.Pool)" -" was untested." -msgstr "" - -#: ../NEWS:46099 ../NEWS:48054 -msgid "" -":issue:`26015`: Added new tests for pickling iterators of mutable sequences." -msgstr "" - -#: ../NEWS:46101 ../NEWS:48056 -msgid "" -":issue:`26325`: Added test.support.check_no_resource_warning() to check that" -" no ResourceWarning is emitted." -msgstr "" - -#: ../NEWS:46104 -msgid "" -":issue:`25940`: Changed test_ssl to use its internal local server more. " -"This avoids relying on svn.python.org, which recently changed root " -"certificate." -msgstr "" - -#: ../NEWS:46107 ../NEWS:48062 -msgid "" -":issue:`25616`: Tests for OrderedDict are extracted from test_collections " -"into separate file test_ordered_dict." -msgstr "" - -#: ../NEWS:46110 ../NEWS:48610 -msgid ":issue:`25449`: Added tests for OrderedDict subclasses." -msgstr "" - -#: ../NEWS:46112 -msgid "" -":issue:`25188`: Add -P/--pgo to test.regrtest to suppress error output when " -"running the test suite for the purposes of a PGO build. Initial patch by " -"Alecsandru Patrascu." -msgstr "" - -#: ../NEWS:46116 -msgid "" -":issue:`22806`: Add ``python -m test --list-tests`` command to list tests." -msgstr "" - -#: ../NEWS:46118 -msgid "" -":issue:`18174`: ``python -m test --huntrleaks ...`` now also checks for leak" -" of file descriptors. Patch written by Richard Oudkerk." -msgstr "" - -#: ../NEWS:46121 -msgid "" -":issue:`25260`: Fix ``python -m test --coverage`` on Windows. Remove the " -"list of ignored directories." -msgstr "" - -#: ../NEWS:46124 ../NEWS:48617 -msgid "" -"``PCbuild\\rt.bat`` now accepts an unlimited number of arguments to pass " -"along to regrtest.py. Previously there was a limit of 9." -msgstr "" - -#: ../NEWS:46127 ../NEWS:48065 -msgid "" -":issue:`26583`: Skip test_timestamp_overflow in test_import if bytecode " -"files cannot be written." -msgstr "" - -#: ../NEWS:46133 -msgid "" -":issue:`21277`: Don't try to link _ctypes with a ffi_convenience library." -msgstr "" - -#: ../NEWS:46135 ../NEWS:48071 -msgid "" -":issue:`26884`: Fix linking extension modules for cross builds. Patch by " -"Xavier de Gaye." -msgstr "" - -#: ../NEWS:46138 -msgid "" -":issue:`26932`: Fixed support of RTLD_* constants defined as enum values, " -"not via macros (in particular on Android). Patch by Chi Hsuan Yen." -msgstr "" - -#: ../NEWS:46141 ../NEWS:48074 -msgid "" -":issue:`22359`: Disable the rules for running _freeze_importlib and pgen " -"when cross-compiling. The output of these programs is normally saved with " -"the source code anyway, and is still regenerated when doing a native build. " -"Patch by Xavier de Gaye." -msgstr "" - -#: ../NEWS:46146 -msgid "" -":issue:`21668`: Link audioop, _datetime, _ctypes_test modules to libm, " -"except on Mac OS X. Patch written by Chi Hsuan Yen." -msgstr "" - -#: ../NEWS:46149 ../NEWS:48085 -msgid "" -":issue:`25702`: A --with-lto configure option has been added that will " -"enable link time optimizations at build time during a make profile-opt. Some" -" compilers and toolchains are known to not produce stable code when using " -"LTO, be sure to test things thoroughly before relying on it. It can provide " -"a few % speed up over profile-opt alone." -msgstr "" - -#: ../NEWS:46155 ../NEWS:48091 -msgid "" -":issue:`26624`: Adds validation of ucrtbase[d].dll version with warning for " -"old versions." -msgstr "" - -#: ../NEWS:46158 ../NEWS:48094 -msgid "" -":issue:`17603`: Avoid error about nonexistent fileblocks.o file by using a " -"lower-level check for st_blocks in struct stat." -msgstr "" - -#: ../NEWS:46161 ../NEWS:48097 -msgid "" -":issue:`26079`: Fixing the build output folder for tix-8.4.3.6. Patch by " -"Bjoern Thiel." -msgstr "" - -#: ../NEWS:46164 ../NEWS:48100 -msgid ":issue:`26465`: Update Windows builds to use OpenSSL 1.0.2g." -msgstr "" - -#: ../NEWS:46166 -msgid "" -":issue:`25348`: Added ``--pgo`` and ``--pgo-job`` arguments to " -"``PCbuild\\build.bat`` for building with Profile-Guided Optimization. The " -"old ``PCbuild\\build_pgo.bat`` script is removed." -msgstr "" - -#: ../NEWS:46170 ../NEWS:48111 -msgid "" -":issue:`25827`: Add support for building with ICC to ``configure``, " -"including a new ``--with-icc`` flag." -msgstr "" - -#: ../NEWS:46173 ../NEWS:48114 -msgid ":issue:`25696`: Fix installation of Python on UNIX with make -j9." -msgstr "" - -#: ../NEWS:46175 ../NEWS:48628 -msgid "" -":issue:`24986`: It is now possible to build Python on Windows without errors" -" when external libraries are not available." -msgstr "" - -#: ../NEWS:46178 ../NEWS:48102 -msgid "" -":issue:`24421`: Compile Modules/_math.c once, before building extensions. " -"Previously it could fail to compile properly if the math and cmath builds " -"were concurrent." -msgstr "" - -#: ../NEWS:46182 -msgid "" -":issue:`26465`: Update OS X 10.5+ 32-bit-only installer to build and link " -"with OpenSSL 1.0.2g." -msgstr "" - -#: ../NEWS:46185 ../NEWS:48119 -msgid ":issue:`26268`: Update Windows builds to use OpenSSL 1.0.2f." -msgstr "" - -#: ../NEWS:46187 ../NEWS:48121 -msgid "" -":issue:`25136`: Support Apple Xcode 7's new textual SDK stub libraries." -msgstr "" - -#: ../NEWS:46189 ../NEWS:48123 -msgid "" -":issue:`24324`: Do not enable unreachable code warnings when using gcc as " -"the option does not work correctly in older versions of gcc and has been " -"silently removed as of gcc-4.5." -msgstr "" - -#: ../NEWS:46196 ../NEWS:48130 -msgid "" -":issue:`27053`: Updates make_zip.py to correctly generate library ZIP file." -msgstr "" - -#: ../NEWS:46198 ../NEWS:48132 -msgid "" -":issue:`26268`: Update the prepare_ssl.py script to handle OpenSSL releases " -"that don't include the contents of the include directory (that is, 1.0.2e " -"and later)." -msgstr "" - -#: ../NEWS:46202 ../NEWS:48136 -msgid "" -":issue:`26071`: bdist_wininst created binaries fail to start and find 32bit " -"Python" -msgstr "" - -#: ../NEWS:46205 ../NEWS:48139 -msgid ":issue:`26073`: Update the list of magic numbers in launcher" -msgstr "" - -#: ../NEWS:46207 ../NEWS:48141 -msgid "" -":issue:`26065`: Excludes venv from library when generating embeddable " -"distro." -msgstr "" - -#: ../NEWS:46209 ../NEWS:48667 -msgid ":issue:`25022`: Removed very outdated PC/example_nt/ directory." -msgstr "" - -#: ../NEWS:46214 ../NEWS:48149 -msgid "" -":issue:`26799`: Fix python-gdb.py: don't get C types once when the Python " -"code is loaded, but get C types on demand. The C types can change if python-" -"gdb.py is loaded before the Python executable. Patch written by Thomas " -"Ilsche." -msgstr "" - -#: ../NEWS:46219 ../NEWS:48154 -msgid "" -":issue:`26271`: Fix the Freeze tool to properly use flags passed through " -"configure. Patch by Daniel Shaulov." -msgstr "" - -#: ../NEWS:46222 ../NEWS:48157 -msgid "" -":issue:`26489`: Add dictionary unpacking support to Tools/parser/unparse.py." -" Patch by Guo Ci Teo." -msgstr "" - -#: ../NEWS:46225 ../NEWS:48160 -msgid ":issue:`26316`: Fix variable name typo in Argument Clinic." -msgstr "" - -#: ../NEWS:46227 ../NEWS:48672 -msgid ":issue:`25440`: Fix output of python-config --extension-suffix." -msgstr "" - -#: ../NEWS:46229 -msgid "" -":issue:`25154`: The pyvenv script has been deprecated in favour of ``python3" -" -m venv``." -msgstr "" - -#: ../NEWS:46235 -msgid "" -":issue:`26312`: SystemError is now raised in all programming bugs with using" -" PyArg_ParseTupleAndKeywords(). RuntimeError did raised before in some " -"programming bugs." -msgstr "" - -#: ../NEWS:46239 -msgid "" -":issue:`26198`: ValueError is now raised instead of TypeError on buffer " -"overflow in parsing \"es#\" and \"et#\" format units. SystemError is now " -"raised instead of TypeError on programmatical error in parsing format " -"string." -msgstr "" - -#: ../NEWS:46246 -msgid "Python 3.5.5 final" -msgstr "Python 3.5.5 final" - -#: ../NEWS:46248 -msgid "*Release date: 2018-02-04*" -msgstr "*Tanggal rilis: 2018-02-04*" - -#: ../NEWS:46250 -msgid "There were no new changes in version 3.5.5." -msgstr "Tidak ada perubahan baru di versi 3.5.5." - -#: ../NEWS:46255 -msgid "Python 3.5.5 release candidate 1" -msgstr "Python 3.5.5 kandidat rilis 1" - -#: ../NEWS:46257 -msgid "*Release date: 2018-01-23*" -msgstr "*Tanggal rilis: 2018-01-23*" - -#: ../NEWS:46262 -msgid "" -":issue:`32551`: The ``sys.path[0]`` initialization change for :issue:`29139`" -" caused a regression by revealing an inconsistency in how sys.path is " -"initialized when executing ``__main__`` from a zipfile, directory, or other " -"import location. This is considered a potential security issue, as it may " -"lead to privileged processes unexpectedly loading code from user controlled " -"directories in situations where that was not previously the case. The " -"interpreter now consistently avoids ever adding the import location's parent" -" directory to ``sys.path``, and ensures no other ``sys.path`` entries are " -"inadvertently modified when inserting the import location named on the " -"command line. (Originally reported as :issue:`29723` against Python 3.6rc1, " -"but it was missed at the time that the then upcoming Python 3.5.4 release " -"would also be affected)" -msgstr "" - -#: ../NEWS:46275 -msgid "" -":issue:`30657`: Fixed possible integer overflow in PyBytes_DecodeEscape, " -":cve:`2017-1000158`. Original patch by Jay Bosamiya; rebased to Python 3 by " -"Miro Hrončok." -msgstr "" - -#: ../NEWS:46302 -msgid "Python 3.5.4 final" -msgstr "Python 3.5.4 final" - -#: ../NEWS:46304 -msgid "*Release date: 2017-08-07*" -msgstr "*Tanggal rilis: 2017-08-07*" - -#: ../NEWS:46314 -msgid "Python 3.5.4 release candidate 1" -msgstr "Python 3.5.4 kandidat rilis 1" - -#: ../NEWS:46316 -msgid "*Release date: 2017-07-23*" -msgstr "*Tanggal rilis: 2017-07-23*" - -#: ../NEWS:46368 -msgid "" -":issue:`29537`: Restore runtime compatibility with bytecode files generated " -"by CPython 3.5.0 to 3.5.2, and adjust the eval loop to avoid the problems " -"that could be caused by the malformed variant of the " -"BUILD_MAP_UNPACK_WITH_CALL opcode that they may contain. Patch by Petr " -"Viktorin, Serhiy Storchaka, and Nick Coghlan." -msgstr "" - -#: ../NEWS:46650 -msgid "" -":issue:`30822`: Fix regrtest command line parser to allow passing -u " -"extralargefile to run test_zipfile64." -msgstr "" - -#: ../NEWS:46653 -msgid "" -":issue:`30383`: regrtest: Enhance regrtest and backport features from the " -"master branch. Add options: --coverage, --testdir, --list-tests (list test " -"files, don't run them), --list-cases (list test identifiers, don't run them," -" :issue:`30523`), --matchfile (load a list of test filters from a text file," -" :issue:`30540`), --slowest (alias to --slow). Enhance output: add " -"timestamp, test result, currently running tests, \"Tests result: xxx\" " -"summary with total duration, etc. Fix reference leak hunting in regrtest, " -"--huntrleaks: regrtest now warms up caches, create explicitly all internal " -"singletons which are created on demand to prevent false positives when " -"checking for reference leaks. (:issue:`30675`)." -msgstr "" - -#: ../NEWS:46710 -msgid "" -":issue:`27867`: Function PySlice_GetIndicesEx() is replaced with a macro if " -"Py_LIMITED_API is set to the value between 0x03050400 and 0x03060000 (not " -"including) or 0x03060100 or higher." -msgstr "" - -#: ../NEWS:46722 -msgid "Python 3.5.3 final" -msgstr "Python 3.5.3 final" - -#: ../NEWS:46724 -msgid "*Release date: 2017-01-17*" -msgstr "*Tanggal rilis: 2017-01-17*" - -#: ../NEWS:46726 -msgid "There were no code changes between 3.5.3rc1 and 3.5.3 final." -msgstr "Tidak ada perubahan kode antara 3.5.3rc1 dan 3.5.3 final." - -#: ../NEWS:46731 -msgid "Python 3.5.3 release candidate 1" -msgstr "Python 3.5.3 kandidat rilis 1" - -#: ../NEWS:46733 -msgid "*Release date: 2017-01-02*" -msgstr "*Tanggal rilis: 2017-01-02*" - -#: ../NEWS:46747 -msgid "" -":issue:`29073`: bytearray formatting no longer truncates on first null byte." -msgstr "" - -#: ../NEWS:46751 -msgid "" -":issue:`28147`: Fix a memory leak in split-table dictionaries: setattr() " -"must not convert combined table into split table." -msgstr "" - -#: ../NEWS:46763 -msgid "" -":issue:`28991`: functools.lru_cache() was susceptible to an obscure " -"reentrancy bug caused by a monkey-patched len() function." -msgstr "" - -#: ../NEWS:46806 -msgid "" -":issue:`28203`: Fix incorrect type in error message from ``complex(1.0, " -"{2:3})``. Patch by Soumya Sharma." -msgstr "" - -#: ../NEWS:46821 -msgid "" -":issue:`28189`: dictitems_contains no longer swallows compare errors. (Patch" -" by Xiang Zhang)" -msgstr "" - -#: ../NEWS:46833 -msgid "" -":issue:`26020`: set literal evaluation order did not match documented " -"behaviour." -msgstr "" - -#: ../NEWS:46852 -msgid "" -":issue:`27419`: Standard __import__() no longer look up \"__import__\" in " -"globals or builtins for importing submodules or \"from import\". Fixed " -"handling an error of non-string package name." -msgstr "" - -#: ../NEWS:46904 -msgid "" -":issue:`20191`: Fixed a crash in resource.prlimit() when pass a sequence " -"that doesn't own its elements as limits." -msgstr "" - -#: ../NEWS:46955 -msgid "" -":issue:`28488`: shutil.make_archive() no longer add entry \"./\" to ZIP " -"archive." -msgstr "" - -#: ../NEWS:46993 -msgid "" -":issue:`27611`: Fixed support of default root window in the tkinter.tix " -"module." -msgstr "" - -#: ../NEWS:47019 -msgid "" -":issue:`19003`: m email.generator now replaces only ``\\r`` and/or ``\\n`` " -"line endings, per the RFC, instead of all unicode line endings." -msgstr "" - -#: ../NEWS:47091 -msgid "" -"A new version of typing.py from https://github.com/python/typing: Collection" -" (only for 3.6) (:issue:`27598`). Add FrozenSet to __all__ (upstream #261). " -"Fix crash in _get_type_vars() (upstream #259). Remove the dict constraint in" -" ForwardRef._eval_type (upstream #252)." -msgstr "" - -#: ../NEWS:47107 -msgid "" -":issue:`26750`: unittest.mock.create_autospec() now works properly for " -"subclasses of property() and other data descriptors." -msgstr "" - -#: ../NEWS:47151 -msgid ":issue:`26664`: Fix activate.fish by removing mis-use of ``$``." -msgstr "" - -#: ../NEWS:47153 -msgid "" -":issue:`22115`: Fixed tracing Tkinter variables: trace_vdelete() with wrong " -"mode no longer break tracing, trace_vinfo() now always returns a list of " -"pairs of strings, tracing in the \"u\" mode now works." -msgstr "" - -#: ../NEWS:47157 -msgid "" -"Fix a scoping issue in importlib.util.LazyLoader which triggered an " -"UnboundLocalError when lazy-loading a module that was already put into " -"sys.modules." -msgstr "" - -#: ../NEWS:47239 -msgid ":issue:`28600`: Optimize loop.call_soon()." -msgstr "" - -#: ../NEWS:47253 -msgid "" -":issue:`24142`: Reading a corrupt config file left the parser in an invalid " -"state. Original patch by Florian Höch." -msgstr "" - -#: ../NEWS:47256 -msgid "" -":issue:`28990`: Fix SSL hanging if connection is closed before handshake " -"completed. (Patch by HoHo-Ho)" -msgstr "" - -#: ../NEWS:47292 -msgid "" -":issue:`26754`: PyUnicode_FSDecoder() accepted a filename argument encoded " -"as an iterable of integers. Now only strings and bytes-like objects are " -"accepted." -msgstr "" - -#: ../NEWS:47304 -msgid "" -":issue:`28950`: Disallow -j0 to be combined with -T/-l/-M in regrtest " -"command line arguments." -msgstr "" - -#: ../NEWS:47345 -msgid "" -":issue:`27309`: Enabled proper Windows styles in python[w].exe manifest." -msgstr "" - -#: ../NEWS:47378 -msgid "" -":issue:`27983`: Cause lack of llvm-profdata tool when using clang as " -"required for PGO linking to be a configure time error rather than make time " -"when --with-optimizations is enabled. Also improve our ability to find the " -"llvm-profdata tool on MacOS and some Linuxes." -msgstr "" - -#: ../NEWS:47385 -msgid ":issue:`26359`: Add the --with-optimizations configure flag." -msgstr "" - -#: ../NEWS:47390 -msgid "" -":issue:`25825`: Correct the references to Modules/python.exp and ld_so_aix, " -"which are required on AIX. This updates references to an installation path " -"that was changed in 3.2a4, and undoes changed references to the build tree " -"that were made in 3.5.0a1." -msgstr "" - -#: ../NEWS:47413 -msgid "Python 3.5.2 final" -msgstr "Python 3.5.2 final" - -#: ../NEWS:47415 -msgid "*Release date: 2016-06-26*" -msgstr "*Tanggal rilis: 2016-06-26*" - -#: ../NEWS:47425 -msgid "" -":issue:`26867`: Ubuntu's openssl OP_NO_SSLv3 is forced on by default; fix " -"test." -msgstr "" - -#: ../NEWS:47430 -msgid "" -":issue:`27365`: Allow non-ascii in idlelib/NEWS.txt - minimal part for " -"3.5.2." -msgstr "" - -#: ../NEWS:47434 -msgid "Python 3.5.2 release candidate 1" -msgstr "Python 3.5.2 kandidat rilis 1" - -#: ../NEWS:47436 -msgid "*Release date: 2016-06-12*" -msgstr "*Tanggal rilis: 2016-06-12*" - -#: ../NEWS:47474 -msgid "" -":issue:`27039`: Fixed bytearray.remove() for values greater than 127. Patch" -" by Joe Jevnik." -msgstr "" - -#: ../NEWS:47529 -msgid "" -":issue:`26194`: Deque.insert() gave odd results for bounded deques that had " -"reached their maximum size. Now an IndexError will be raised when " -"attempting to insert into a full deque." -msgstr "" - -#: ../NEWS:47533 -msgid "" -":issue:`25843`: When compiling code, don't merge constants if they are equal" -" but have a different types. For example, ``f1, f2 = lambda: 1, lambda: " -"1.0`` is now correctly compiled to two different functions: ``f1()`` returns" -" ``1`` (``int``) and ``f2()`` returns ``1.0`` (``int``), even if ``1`` and " -"``1.0`` are equal." -msgstr "" - -#: ../NEWS:47752 -msgid "" -":issue:`21925`: :func:`warnings.formatwarning` now catches exceptions on " -"``linecache.getline(...)`` to be able to log :exc:`ResourceWarning` emitted " -"late during the Python shutdown process." -msgstr "" - -#: ../NEWS:47785 -msgid "" -":issue:`15068`: Got rid of excessive buffering in the fileinput module. The " -"bufsize parameter is no longer used." -msgstr "" - -#: ../NEWS:47814 -msgid "" -":issue:`26367`: importlib.__import__() raises SystemError like " -"builtins.__import__() when ``level`` is specified but without an " -"accompanying package specified." -msgstr "" - -#: ../NEWS:47864 -msgid ":issue:`17633`: Improve zipimport's support for namespace packages." -msgstr "" - -#: ../NEWS:47963 -msgid "" -":issue:`27223`: asyncio: Fix _read_ready and _write_ready to respect " -"_conn_lost. Patch by Łukasz Langa." -msgstr "" - -#: ../NEWS:47966 -msgid "" -":issue:`22970`: asyncio: Fix inconsistency cancelling Condition.wait. Patch " -"by David Coles." -msgstr "" - -#: ../NEWS:48002 -msgid "" -":issue:`21703`: Add test for IDLE's undo delegator. Original patch by " -"Saimadhav Heblikar ." -msgstr "" - -#: ../NEWS:48038 -msgid "" -":issue:`25500`: Fix documentation to not claim that __import__ is searched " -"for in the global scope." -msgstr "" - -#: ../NEWS:48059 -msgid "" -":issue:`25940`: Changed test_ssl to use self-signed.pythontest.net. This " -"avoids relying on svn.python.org, which recently changed root certificate." -msgstr "" - -#: ../NEWS:48082 -msgid "" -":issue:`21668`: Link audioop, _datetime, _ctypes_test modules to libm, " -"except on Mac OS X. Patch written by Xavier de Gaye." -msgstr "" - -#: ../NEWS:48106 -msgid "" -":issue:`25348`: Added ``--pgo`` and ``--pgo-job`` arguments to " -"``PCbuild\\build.bat`` for building with Profile-Guided Optimization. The " -"old ``PCbuild\\build_pgo.bat`` script is now deprecated, and simply calls " -"``PCbuild\\build.bat --pgo %*``." -msgstr "" - -#: ../NEWS:48164 -msgid "Python 3.5.1 final" -msgstr "Python 3.5.1 final" - -#: ../NEWS:48166 -msgid "*Release date: 2015-12-06*" -msgstr "*Tanggal rilis: 2015-12-06*" - -#: ../NEWS:48177 -msgid "" -":issue:`25715`: Python 3.5.1 installer shows wrong upgrade path and " -"incorrect logic for launcher detection." -msgstr "" - -#: ../NEWS:48182 -msgid "Python 3.5.1 release candidate 1" -msgstr "Python 3.5.1 kandidat rilis 1" - -#: ../NEWS:48184 -msgid "*Release date: 2015-11-22*" -msgstr "*Tanggal rilis: 2015-11-22*" - -#: ../NEWS:48243 -msgid "" -":issue:`25182`: The stdprinter (used as sys.stderr before the io module is " -"imported at startup) now uses the backslashreplace error handler." -msgstr "" - -#: ../NEWS:48246 -msgid "" -":issue:`25131`: Make the line number and column offset of set/dict literals " -"and comprehensions correspond to the opening brace." -msgstr "" - -#: ../NEWS:48249 -msgid "" -":issue:`25150`: Hide the private :samp:`_Py_atomic_{xxx}` symbols from the " -"public Python.h header to fix a compilation error with OpenMP. " -"PyThreadState_GET() becomes an alias to PyThreadState_Get() to avoid ABI " -"incompatibilities." -msgstr "" - -#: ../NEWS:48273 -msgid "" -":issue:`25590`: In the Readline completer, only call getattr() once per " -"attribute." -msgstr "" - -#: ../NEWS:48351 -msgid "" -":issue:`24483`: C implementation of functools.lru_cache() now calculates " -"key's hash only once." -msgstr "" - -#: ../NEWS:48354 -msgid "" -":issue:`22958`: Constructor and update method of weakref.WeakValueDictionary" -" now accept the self and the dict keyword arguments." -msgstr "" - -#: ../NEWS:48357 -msgid "" -":issue:`22609`: Constructor of collections.UserDict now accepts the self " -"keyword argument." -msgstr "" - -#: ../NEWS:48360 -msgid ":issue:`25111`: Fixed comparison of traceback.FrameSummary." -msgstr "" - -#: ../NEWS:48362 -msgid "" -":issue:`25262`: Added support for BINBYTES8 opcode in Python implementation " -"of unpickler. Highest 32 bits of 64-bit size for BINUNICODE8 and BINBYTES8 " -"opcodes no longer silently ignored on 32-bit platforms in C implementation." -msgstr "" - -#: ../NEWS:48367 -msgid "" -":issue:`25034`: Fix string.Formatter problem with auto-numbering and nested " -"format_specs. Patch by Anthon van der Neut." -msgstr "" - -#: ../NEWS:48370 -msgid "" -":issue:`25233`: Rewrite the guts of asyncio.Queue and asyncio.Semaphore to " -"be more understandable and correct." -msgstr "" - -#: ../NEWS:48379 -msgid "" -":issue:`23329`: Allow the ssl module to be built with older versions of " -"LibreSSL." -msgstr "" - -#: ../NEWS:48382 -msgid "Prevent overflow in _Unpickler_Read." -msgstr "Cegah *overflow* di _Unpickler_Read." - -#: ../NEWS:48384 -msgid "" -":issue:`25047`: The XML encoding declaration written by Element Tree now " -"respects the letter case given by the user. This restores the ability to " -"write encoding names in uppercase like \"UTF-8\", which worked in Python 2." -msgstr "" - -#: ../NEWS:48388 -msgid "" -":issue:`25135`: Make deque_clear() safer by emptying the deque before " -"clearing. This helps avoid possible reentrancy issues." -msgstr "" - -#: ../NEWS:48391 -msgid "" -":issue:`19143`: platform module now reads Windows version from kernel32.dll " -"to avoid compatibility shims." -msgstr "" - -#: ../NEWS:48394 -msgid "" -":issue:`25092`: Fix datetime.strftime() failure when errno was already set " -"to EINVAL." -msgstr "" - -#: ../NEWS:48397 -msgid "" -":issue:`23517`: Fix rounding in fromtimestamp() and utcfromtimestamp() " -"methods of datetime.datetime: microseconds are now rounded to nearest with " -"ties going to nearest even integer (ROUND_HALF_EVEN), instead of being " -"rounding towards minus infinity (ROUND_FLOOR). It's important that these " -"methods use the same rounding mode than datetime.timedelta to keep the " -"property: (datetime(1970,1,1) + timedelta(seconds=t)) == " -"datetime.utcfromtimestamp(t). It also the rounding mode used by round(float)" -" for example." -msgstr "" - -#: ../NEWS:48406 -msgid "" -":issue:`25155`: Fix datetime.datetime.now() and datetime.datetime.utcnow() " -"on Windows to support date after year 2038. It was a regression introduced " -"in Python 3.5.0." -msgstr "" - -#: ../NEWS:48410 -msgid "" -":issue:`25108`: Omitted internal frames in traceback functions " -"print_stack(), format_stack(), and extract_stack() called without arguments." -msgstr "" - -#: ../NEWS:48413 -msgid "" -":issue:`25118`: Fix a regression of Python 3.5.0 in os.waitpid() on Windows." -msgstr "" - -#: ../NEWS:48415 -msgid "" -":issue:`24684`: socket.socket.getaddrinfo() now calls " -"PyUnicode_AsEncodedString() instead of calling the encode() method of the " -"host, to handle correctly custom string with an encode() method which " -"doesn't return a byte string. The encoder of the IDNA codec is now called " -"directly instead of calling the encode() method of the string." -msgstr "" - -#: ../NEWS:48421 -msgid ":issue:`25060`: Correctly compute stack usage of the BUILD_MAP opcode." -msgstr "" - -#: ../NEWS:48423 -msgid "" -":issue:`24857`: Comparing call_args to a long sequence now correctly returns" -" a boolean result instead of raising an exception. Patch by A Kaptur." -msgstr "" - -#: ../NEWS:48426 -msgid "" -":issue:`23144`: Make sure that HTMLParser.feed() returns all the data, even " -"when convert_charrefs is True." -msgstr "" - -#: ../NEWS:48429 -msgid "" -":issue:`24982`: shutil.make_archive() with the \"zip\" format now adds " -"entries for directories (including empty directories) in ZIP file." -msgstr "" - -#: ../NEWS:48432 -msgid "" -":issue:`25019`: Fixed a crash caused by setting non-string key of expat " -"parser. Based on patch by John Leitch." -msgstr "" - -#: ../NEWS:48435 -msgid "" -":issue:`16180`: Exit pdb if file has syntax error, instead of trapping user " -"in an infinite loop. Patch by Xavier de Gaye." -msgstr "" - -#: ../NEWS:48438 -msgid "" -":issue:`24891`: Fix a race condition at Python startup if the file " -"descriptor of stdin (0), stdout (1) or stderr (2) is closed while Python is " -"creating sys.stdin, sys.stdout and sys.stderr objects. These attributes are " -"now set to None if the creation of the object failed, instead of raising an " -"OSError exception. Initial patch written by Marco Paolini." -msgstr "" - -#: ../NEWS:48444 -msgid "" -":issue:`24992`: Fix error handling and a race condition (related to garbage " -"collection) in collections.OrderedDict constructor." -msgstr "" - -#: ../NEWS:48447 -msgid "" -":issue:`24881`: Fixed setting binary mode in Python implementation of FileIO" -" on Windows and Cygwin. Patch from Akira Li." -msgstr "" - -#: ../NEWS:48463 -msgid "" -":issue:`21112`: Fix regression in unittest.expectedFailure on subclasses. " -"Patch from Berker Peksag." -msgstr "" - -#: ../NEWS:48466 -msgid "" -":issue:`24764`: cgi.FieldStorage.read_multi() now ignores the Content-Length" -" header in part headers. Patch written by Peter Landry and reviewed by " -"Pierre Quentel." -msgstr "" - -#: ../NEWS:48470 ../NEWS:48735 -msgid "" -":issue:`24913`: Fix overrun error in deque.index(). Found by John Leitch and" -" Bryce Darling." -msgstr "" - -#: ../NEWS:48473 -msgid "" -":issue:`24774`: Fix docstring in http.server.test. Patch from Chiu-Hsiang " -"Hsu." -msgstr "" - -#: ../NEWS:48475 -msgid "" -":issue:`21159`: Improve message in " -"configparser.InterpolationMissingOptionError. Patch from Łukasz Langa." -msgstr "" - -#: ../NEWS:48478 -msgid "" -":issue:`20362`: Honour TestCase.longMessage correctly in assertRegex. Patch " -"from Ilia Kurenkov." -msgstr "" - -#: ../NEWS:48481 -msgid "" -":issue:`23572`: Fixed functools.singledispatch on classes with false " -"metaclasses. Patch by Ethan Furman." -msgstr "" - -#: ../NEWS:48484 -msgid "asyncio: ensure_future() now accepts awaitable objects." -msgstr "" - -#: ../NEWS:48572 -msgid "" -":issue:`16893`: Replace help.txt with help.html for Idle doc display. The " -"new idlelib/help.html is rstripped Doc/build/html/library/idle.html. It " -"looks better than help.txt and will better document Idle as released. The " -"tkinter html viewer that works for this file was written by Mark Roseman. " -"The now unused EditorWindow.HelpDialog class and helt.txt file are " -"deprecated." -msgstr "" - -#: ../NEWS:48589 -msgid "" -":issue:`12067`: Rewrite Comparisons section in the Expressions chapter of " -"the language reference. Some of the details of comparing mixed types were " -"incorrect or ambiguous. NotImplemented is only relevant at a lower level " -"than the Expressions chapter. Added details of comparing range() objects, " -"and default behaviour and consistency suggestions for user-defined classes. " -"Patch from Andy Maier." -msgstr "" - -#: ../NEWS:48599 -msgid "" -":issue:`23725`: Overhaul tempfile docs. Note deprecated status of mktemp. " -"Patch from Zbigniew Jędrzejewski-Szmek." -msgstr "" - -#: ../NEWS:48602 -msgid "" -":issue:`24808`: Update the types of some PyTypeObject fields. Patch by " -"Joseph Weston." -msgstr "" - -#: ../NEWS:48605 -msgid "" -":issue:`22812`: Fix unittest discovery examples. Patch from Pam McA'Nulty." -msgstr "" - -#: ../NEWS:48612 -msgid "" -":issue:`25099`: Make test_compileall not fail when an entry on sys.path " -"cannot be written to (commonly seen in administrative installs on Windows)." -msgstr "" - -#: ../NEWS:48615 -msgid ":issue:`23919`: Prevents assert dialogs appearing in the test suite." -msgstr "" - -#: ../NEWS:48623 -msgid "" -":issue:`24915`: Add LLVM support for PGO builds and use the test suite to " -"generate the profile data. Initial patch by Alecsandru Patrascu of Intel." -msgstr "" - -#: ../NEWS:48626 -msgid ":issue:`24910`: Windows MSIs now have unique display names." -msgstr "" - -#: ../NEWS:48634 -msgid "" -":issue:`25450`: Updates shortcuts to start Python in installation directory." -msgstr "" - -#: ../NEWS:48636 -msgid "" -":issue:`25164`: Changes default all-users install directory to match per-" -"user directory." -msgstr "" - -#: ../NEWS:48639 -msgid "" -":issue:`25143`: Improves installer error messages for unsupported platforms." -msgstr "" - -#: ../NEWS:48641 -msgid "" -":issue:`25163`: Display correct directory in installer when using non-" -"default settings." -msgstr "" - -#: ../NEWS:48644 -msgid "" -":issue:`25361`: Disables use of SSE2 instructions in Windows 32-bit build" -msgstr "" - -#: ../NEWS:48646 -msgid "" -":issue:`25089`: Adds logging to installer for case where launcher is not " -"selected on upgrade." -msgstr "" - -#: ../NEWS:48649 -msgid "" -":issue:`25165`: Windows uninstallation should not remove launcher if other " -"versions remain" -msgstr "" - -#: ../NEWS:48652 -msgid ":issue:`25112`: py.exe launcher is missing icons" -msgstr "" - -#: ../NEWS:48654 -msgid ":issue:`25102`: Windows installer does not precompile for -O or -OO." -msgstr "" - -#: ../NEWS:48656 -msgid "" -":issue:`25081`: Makes Back button in installer go back to upgrade page when " -"upgrading." -msgstr "" - -#: ../NEWS:48659 -msgid ":issue:`25091`: Increases font size of the installer." -msgstr "" - -#: ../NEWS:48661 -msgid "" -":issue:`25126`: Clarifies that the non-web installer will download some " -"components." -msgstr "" - -#: ../NEWS:48664 -msgid "" -":issue:`25213`: Restores requestedExecutionLevel to manifest to disable UAC " -"virtualization." -msgstr "" - -#: ../NEWS:48676 -msgid "Python 3.5.0 final" -msgstr "Python 3.5.0 final" - -#: ../NEWS:48678 -msgid "*Release date: 2015-09-13*" -msgstr "*Tanggal rilis: 2015-09-13*" - -#: ../NEWS:48683 -msgid "" -":issue:`25071`: Windows installer should not require TargetDir parameter " -"when installing quietly." -msgstr "" - -#: ../NEWS:48688 -msgid "Python 3.5.0 release candidate 4" -msgstr "Python 3.5.0 kandidat rilis 4" - -#: ../NEWS:48690 -msgid "*Release date: 2015-09-09*" -msgstr "*Tanggal rilis: 2015-09-09*" - -#: ../NEWS:48695 -msgid ":issue:`25029`: Fixes MemoryError in test_strptime." -msgstr "" - -#: ../NEWS:48700 -msgid "" -":issue:`25027`: Reverts partial-static build options and adds " -"vcruntime140.dll to Windows installation." -msgstr "" - -#: ../NEWS:48705 -msgid "Python 3.5.0 release candidate 3" -msgstr "Python 3.5.0 kandidat rilis 3" - -#: ../NEWS:48707 -msgid "*Release date: 2015-09-07*" -msgstr "*Tanggal rilis: 2015-09-07*" - -#: ../NEWS:48712 -msgid "" -":issue:`24305`: Prevent import subsystem stack frames from being counted by " -"the warnings.warn(stacklevel=) parameter." -msgstr "" - -#: ../NEWS:48715 -msgid "" -":issue:`24912`: Prevent __class__ assignment to immutable built-in objects." -msgstr "" - -#: ../NEWS:48717 -msgid ":issue:`24975`: Fix AST compilation for :pep:`448` syntax." -msgstr "" - -#: ../NEWS:48722 -msgid ":issue:`24917`: time_strftime() buffer over-read." -msgstr "" - -#: ../NEWS:48724 -msgid "" -":issue:`24748`: To resolve a compatibility problem found with py2exe and " -"pywin32, imp.load_dynamic() once again ignores previously loaded modules to " -"support Python modules replacing themselves with extension modules. Patch by" -" Petr Viktorin." -msgstr "" - -#: ../NEWS:48729 -msgid "" -":issue:`24635`: Fixed a bug in typing.py where isinstance([], " -"typing.Iterable) would return True once, then False on subsequent calls." -msgstr "" - -#: ../NEWS:48732 -msgid "" -":issue:`24989`: Fixed buffer overread in BytesIO.readline() if a position is" -" set beyond size. Based on patch by John Leitch." -msgstr "" - -#: ../NEWS:48740 -msgid "Python 3.5.0 release candidate 2" -msgstr "Python 3.5.0 kandidat rilis 2" - -#: ../NEWS:48742 -msgid "*Release date: 2015-08-25*" -msgstr "*Tanggal rilis: 2015-08-25*" - -#: ../NEWS:48747 -msgid "" -":issue:`24769`: Interpreter now starts properly when dynamic loading is " -"disabled. Patch by Petr Viktorin." -msgstr "" - -#: ../NEWS:48750 -msgid "" -":issue:`21167`: NAN operations are now handled correctly when python is " -"compiled with ICC even if -fp-model strict is not specified." -msgstr "" - -#: ../NEWS:48753 -msgid "" -":issue:`24492`: A \"package\" lacking a __name__ attribute when trying to " -"perform a ``from .. import ...`` statement will trigger an ImportError " -"instead of an AttributeError." -msgstr "" - -#: ../NEWS:48760 -msgid ":issue:`24847`: Removes vcruntime140.dll dependency from Tcl/Tk." -msgstr "" - -#: ../NEWS:48762 -msgid ":issue:`24839`: platform._syscmd_ver raises DeprecationWarning" -msgstr "" - -#: ../NEWS:48764 -msgid ":issue:`24867`: Fix Task.get_stack() for 'async def' coroutines" -msgstr "" - -#: ../NEWS:48768 -msgid "Python 3.5.0 release candidate 1" -msgstr "Python 3.5.0 kandidat rilis 1" - -#: ../NEWS:48770 -msgid "*Release date: 2015-08-09*" -msgstr "*Tanggal rilis: 2015-08-09*" - -#: ../NEWS:48775 -msgid "" -":issue:`24667`: Resize odict in all cases that the underlying dict resizes." -msgstr "" - -#: ../NEWS:48780 -msgid "" -":issue:`24824`: Signatures of codecs.encode() and codecs.decode() now are " -"compatible with pydoc." -msgstr "" - -#: ../NEWS:48783 -msgid ":issue:`24634`: Importing uuid should not try to load libc on Windows" -msgstr "" - -#: ../NEWS:48785 -msgid ":issue:`24798`: _msvccompiler.py doesn't properly support manifests" -msgstr "" - -#: ../NEWS:48787 -msgid "" -":issue:`4395`: Better testing and documentation of binary operators. Patch " -"by Martin Panter." -msgstr "" - -#: ../NEWS:48790 -msgid ":issue:`23973`: Update typing.py from GitHub repo." -msgstr "" - -#: ../NEWS:48792 -msgid "" -":issue:`23004`: mock_open() now reads binary data correctly when the type of" -" read_data is bytes. Initial patch by Aaron Hill." -msgstr "" - -#: ../NEWS:48795 -msgid ":issue:`23888`: Handle fractional time in cookie expiry. Patch by ssh." -msgstr "" - -#: ../NEWS:48797 -msgid "" -":issue:`23652`: Make it possible to compile the select module against the " -"libc headers from the Linux Standard Base, which do not include some EPOLL " -"macros. Patch by Matt Frank." -msgstr "" - -#: ../NEWS:48801 -msgid "" -":issue:`22932`: Fix timezones in email.utils.formatdate. Patch from Dmitry " -"Shachnev." -msgstr "" - -#: ../NEWS:48804 -msgid "" -":issue:`23779`: imaplib raises TypeError if authenticator tries to abort. " -"Patch from Craig Holmquist." -msgstr "" - -#: ../NEWS:48807 -msgid "" -":issue:`23319`: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch " -"written by Matthieu Gautier." -msgstr "" - -#: ../NEWS:48810 -msgid "" -":issue:`23254`: Document how to close the TCPServer listening socket. Patch " -"from Martin Panter." -msgstr "" - -#: ../NEWS:48813 -msgid "" -":issue:`19450`: Update Windows and OS X installer builds to use SQLite " -"3.8.11." -msgstr "" - -#: ../NEWS:48815 -msgid "" -":issue:`17527`: Add PATCH to wsgiref.validator. Patch from Luca Sbardella." -msgstr "" - -#: ../NEWS:48817 -msgid ":issue:`24791`: Fix grammar regression for call syntax: 'g(\\*a or b)'." -msgstr "" - -#: ../NEWS:48822 -msgid "" -":issue:`23672`: Allow Idle to edit and run files with astral chars in name. " -"Patch by Mohd Sanad Zaki Rizvi." -msgstr "" - -#: ../NEWS:48825 -msgid "" -":issue:`24745`: Idle editor default font. Switch from Courier to platform-" -"sensitive TkFixedFont. This should not affect current customized font " -"selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg and " -"remove ':samp:`font{xxx}`' entries from [Editor Window]. Patch by Mark " -"Roseman." -msgstr "" - -#: ../NEWS:48831 -msgid "" -":issue:`21192`: Idle editor. When a file is run, put its name in the restart" -" bar. Do not print false prompts. Original patch by Adnan Umer." -msgstr "" - -#: ../NEWS:48834 -msgid "" -":issue:`13884`: Idle menus. Remove tearoff lines. Patch by Roger Serwy." -msgstr "" - -#: ../NEWS:48839 -msgid "" -":issue:`24129`: Clarify the reference documentation for name resolution. " -"This includes removing the assumption that readers will be familiar with the" -" name resolution scheme Python used prior to the introduction of lexical " -"scoping for function namespaces. Patch by Ivan Levkivskyi." -msgstr "" - -#: ../NEWS:48844 -msgid ":issue:`20769`: Improve reload() docs. Patch by Dorian Pula." -msgstr "" - -#: ../NEWS:48846 -msgid "" -":issue:`23589`: Remove duplicate sentence from the FAQ. Patch by Yongzhi " -"Pan." -msgstr "" - -#: ../NEWS:48848 -msgid "" -":issue:`24729`: Correct IO tutorial to match implementation regarding " -"encoding parameter to open function." -msgstr "" - -#: ../NEWS:48854 -msgid "" -":issue:`24751`: When running regrtest with the ``-w`` command line option, a" -" test run is no longer marked as a failure if all tests succeed when re-run." -msgstr "" - -#: ../NEWS:48860 -msgid "Python 3.5.0 beta 4" -msgstr "Python 3.5.0 beta 4" - -#: ../NEWS:48862 -msgid "*Release date: 2015-07-26*" -msgstr "*Tanggal rilis: 2015-07-26*" - -#: ../NEWS:48867 -msgid "" -":issue:`23573`: Restored optimization of bytes.rfind() and bytearray.rfind()" -" for single-byte argument on Linux." -msgstr "" - -#: ../NEWS:48870 -msgid ":issue:`24569`: Make :pep:`448` dictionary evaluation more consistent." -msgstr "" - -#: ../NEWS:48872 -msgid ":issue:`24583`: Fix crash when set is mutated while being updated." -msgstr "" - -#: ../NEWS:48874 -msgid ":issue:`24407`: Fix crash when dict is mutated while being updated." -msgstr "" - -#: ../NEWS:48876 -msgid "" -":issue:`24619`: New approach for tokenizing async/await. As a consequence, " -"it is now possible to have one-line 'async def foo(): await ..' functions." -msgstr "" - -#: ../NEWS:48879 -msgid "" -":issue:`24687`: Plug refleak on SyntaxError in function parameters " -"annotations." -msgstr "" - -#: ../NEWS:48881 -msgid "" -":issue:`15944`: memoryview: Allow arbitrary formats when casting to bytes. " -"Patch by Martin Panter." -msgstr "" - -#: ../NEWS:48887 -msgid "" -":issue:`23441`: rcompleter now prints a tab character instead of displaying " -"possible completions for an empty word. Initial patch by Martin Sekera." -msgstr "" - -#: ../NEWS:48890 -msgid "" -":issue:`24683`: Fixed crashes in _json functions called with arguments of " -"inappropriate type." -msgstr "" - -#: ../NEWS:48893 -msgid "" -":issue:`21697`: shutil.copytree() now correctly handles symbolic links that " -"point to directories. Patch by Eduardo Seabra and Thomas Kluyver." -msgstr "" - -#: ../NEWS:48896 -msgid "" -":issue:`14373`: Fixed segmentation fault when gc.collect() is called during " -"constructing lru_cache (C implementation)." -msgstr "" - -#: ../NEWS:48899 -msgid "" -":issue:`24695`: Fix a regression in traceback.print_exception(). If " -"exc_traceback is None we shouldn't print a traceback header like described " -"in the documentation." -msgstr "" - -#: ../NEWS:48903 -msgid "" -":issue:`24620`: Random.setstate() now validates the value of state last " -"element." -msgstr "" - -#: ../NEWS:48906 -msgid "" -":issue:`22485`: Fixed an issue that caused ``inspect.getsource`` to return " -"incorrect results on nested functions." -msgstr "" - -#: ../NEWS:48909 -msgid "" -":issue:`22153`: Improve unittest docs. Patch from Martin Panter and " -"evilzero." -msgstr "" - -#: ../NEWS:48911 -msgid "" -":issue:`24580`: Symbolic group references to open group in re patterns now " -"are explicitly forbidden as well as numeric group references." -msgstr "" - -#: ../NEWS:48914 -msgid ":issue:`24206`: Fixed __eq__ and __ne__ methods of inspect classes." -msgstr "" - -#: ../NEWS:48916 -msgid "" -":issue:`24631`: Fixed regression in the timeit module with multiline setup." -msgstr "" - -#: ../NEWS:48924 -msgid ":issue:`24608`: chunk.Chunk.read() now always returns bytes, not str." -msgstr "" - -#: ../NEWS:48926 -msgid ":issue:`18684`: Fixed reading out of the buffer in the re module." -msgstr "" - -#: ../NEWS:48928 -msgid "" -":issue:`24259`: tarfile now raises a ReadError if an archive is truncated " -"inside a data segment." -msgstr "" - -#: ../NEWS:48931 -msgid "" -":issue:`15014`: SMTP.auth() and SMTP.login() now support RFC 4954's optional" -" initial-response argument to the SMTP AUTH command." -msgstr "" - -#: ../NEWS:48934 -msgid "" -":issue:`24669`: Fix inspect.getsource() for 'async def' functions. Patch by " -"Kai Groner." -msgstr "" - -#: ../NEWS:48937 -msgid ":issue:`24688`: ast.get_docstring() for 'async def' functions." -msgstr "" - -#: ../NEWS:48942 -msgid "" -":issue:`24603`: Update Windows builds and OS X 10.5 installer to use OpenSSL" -" 1.0.2d." -msgstr "" - -#: ../NEWS:48947 -msgid "Python 3.5.0 beta 3" -msgstr "Python 3.5.0 beta 3" - -#: ../NEWS:48949 -msgid "*Release date: 2015-07-05*" -msgstr "*Tanggal rilis: 2015-07-05*" - -#: ../NEWS:48954 -msgid "" -":issue:`24467`: Fixed possible buffer over-read in bytearray. The bytearray " -"object now always allocates place for trailing null byte and it's buffer now" -" is always null-terminated." -msgstr "" - -#: ../NEWS:48958 -msgid "Upgrade to Unicode 8.0.0." -msgstr "Pembaruan ke Unicode 8.0.0." - -#: ../NEWS:48960 -msgid ":issue:`24345`: Add Py_tp_finalize slot for the stable ABI." -msgstr "" - -#: ../NEWS:48962 -msgid "" -":issue:`24400`: Introduce a distinct type for :pep:`492` coroutines; add " -"types.CoroutineType, inspect.getcoroutinestate, inspect.getcoroutinelocals; " -"coroutines no longer use CO_GENERATOR flag; sys.set_coroutine_wrapper works " -"only for 'async def' coroutines; inspect.iscoroutine no longer uses " -"collections.abc.Coroutine, it's intended to test for pure 'async def' " -"coroutines only; add new opcode: GET_YIELD_FROM_ITER; fix generators wrapper" -" used in types.coroutine to be instance of collections.abc.Generator; " -"collections.abc.Awaitable and collections.abc.Coroutine can no longer be " -"used to detect generator-based coroutines--use inspect.isawaitable instead." -msgstr "" - -#: ../NEWS:48973 -msgid "" -":issue:`24450`: Add gi_yieldfrom to generators and cr_await to coroutines. " -"Contributed by Benno Leslie and Yury Selivanov." -msgstr "" - -#: ../NEWS:48976 -msgid "" -":issue:`19235`: Add new RecursionError exception. Patch by Georg Brandl." -msgstr "" - -#: ../NEWS:48981 -msgid "" -":issue:`21750`: mock_open.read_data can now be read from each instance, as " -"it could in Python 3.3." -msgstr "" - -#: ../NEWS:48984 -msgid "" -":issue:`24552`: Fix use after free in an error case of the _pickle module." -msgstr "" - -#: ../NEWS:48986 -msgid "" -":issue:`24514`: tarfile now tolerates number fields consisting of only " -"whitespace." -msgstr "" - -#: ../NEWS:48989 -msgid "" -":issue:`19176`: Fixed doctype() related bugs in C implementation of " -"ElementTree. A deprecation warning no longer issued by XMLParser subclass " -"with default doctype() method. Direct call of doctype() now issues a " -"warning. Parser's doctype() now is not called if target's doctype() is " -"called. Based on patch by Martin Panter." -msgstr "" - -#: ../NEWS:48995 -msgid "" -":issue:`20387`: Restore semantic round-trip correctness in " -"tokenize/untokenize for tab-indented blocks." -msgstr "" - -#: ../NEWS:48998 -msgid "" -":issue:`24456`: Fixed possible buffer over-read in adpcm2lin() and " -"lin2adpcm() functions of the audioop module." -msgstr "" - -#: ../NEWS:49001 -msgid "" -":issue:`24336`: The contextmanager decorator now works with functions with " -"keyword arguments called \"func\" and \"self\". Patch by Martin Panter." -msgstr "" - -#: ../NEWS:49004 -msgid "" -":issue:`24522`: Fix possible integer overflow in json accelerator module." -msgstr "" - -#: ../NEWS:49006 -msgid "" -":issue:`24489`: ensure a previously set C errno doesn't disturb " -"cmath.polar()." -msgstr "" - -#: ../NEWS:49008 -msgid "" -":issue:`24408`: Fixed AttributeError in measure() and metrics() methods of " -"tkinter.Font." -msgstr "" - -#: ../NEWS:49011 -msgid "" -":issue:`14373`: C implementation of functools.lru_cache() now can be used " -"with methods." -msgstr "" - -#: ../NEWS:49014 -msgid ":issue:`24347`: Set KeyError if PyDict_GetItemWithError returns NULL." -msgstr "" - -#: ../NEWS:49016 -msgid ":issue:`24348`: Drop superfluous incref/decref." -msgstr "" - -#: ../NEWS:49018 -msgid ":issue:`24359`: Check for changed OrderedDict size during iteration." -msgstr "" - -#: ../NEWS:49020 -msgid ":issue:`24368`: Support keyword arguments in OrderedDict methods." -msgstr "" - -#: ../NEWS:49022 -msgid ":issue:`24362`: Simplify the C OrderedDict fast nodes resize logic." -msgstr "" - -#: ../NEWS:49024 -msgid ":issue:`24377`: Fix a ref leak in OrderedDict.__repr__." -msgstr "" - -#: ../NEWS:49026 -msgid ":issue:`24369`: Defend against key-changes during iteration." -msgstr "" - -#: ../NEWS:49031 -msgid "" -":issue:`24373`: _testmultiphase and xxlimited now use tp_traverse and " -"tp_finalize to avoid reference leaks encountered when combining tp_dealloc " -"with PyType_FromSpec (see :issue:`16690` for details)" -msgstr "" - -#: ../NEWS:49038 -msgid "" -":issue:`24458`: Update documentation to cover multi-phase initialization for" -" extension modules (PEP 489). Patch by Petr Viktorin." -msgstr "" - -#: ../NEWS:49041 -msgid "" -":issue:`24351`: Clarify what is meant by \"identifier\" in the context of " -"string.Template instances." -msgstr "" - -#: ../NEWS:49047 -msgid "" -":issue:`24432`: Update Windows builds and OS X 10.5 installer to use OpenSSL" -" 1.0.2c." -msgstr "" - -#: ../NEWS:49052 -msgid "Python 3.5.0 beta 2" -msgstr "Python 3.5.0 beta 2" - -#: ../NEWS:49054 -msgid "*Release date: 2015-05-31*" -msgstr "*Tanggal rilis: 2015-05-31*" - -#: ../NEWS:49059 -msgid "" -":issue:`24284`: The startswith and endswith methods of the str class no " -"longer return True when finding the empty string and the indexes are " -"completely out of range." -msgstr "" - -#: ../NEWS:49063 -msgid "" -":issue:`24115`: Update uses of PyObject_IsTrue(), PyObject_Not(), " -"PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains() to " -"check for and handle errors correctly." -msgstr "" - -#: ../NEWS:49067 -msgid ":issue:`24328`: Fix importing one character extension modules." -msgstr "" - -#: ../NEWS:49069 -msgid "" -":issue:`11205`: In dictionary displays, evaluate the key before the value." -msgstr "" - -#: ../NEWS:49071 -msgid "" -":issue:`24285`: Fixed regression that prevented importing extension modules " -"from inside packages. Patch by Petr Viktorin." -msgstr "" - -#: ../NEWS:49077 -msgid ":issue:`23247`: Fix a crash in the StreamWriter.reset() of CJK codecs." -msgstr "" - -#: ../NEWS:49079 -msgid "" -":issue:`24270`: Add math.isclose() and cmath.isclose() functions as per " -":pep:`485`. Contributed by Chris Barker and Tal Einat." -msgstr "" - -#: ../NEWS:49082 -msgid "" -":issue:`5633`: Fixed timeit when the statement is a string and the setup is " -"not." -msgstr "" - -#: ../NEWS:49085 -msgid "" -":issue:`24326`: Fixed audioop.ratecv() with non-default weightB argument. " -"Original patch by David Moore." -msgstr "" - -#: ../NEWS:49088 -msgid ":issue:`16991`: Add a C implementation of OrderedDict." -msgstr "" - -#: ../NEWS:49090 -msgid "" -":issue:`23934`: Fix inspect.signature to fail correctly for builtin types " -"lacking signature information. Initial patch by James Powell." -msgstr "" - -#: ../NEWS:49095 -msgid "Python 3.5.0 beta 1" -msgstr "Python 3.5.0 beta 1" - -#: ../NEWS:49097 -msgid "*Release date: 2015-05-24*" -msgstr "*Tanggal rilis: 2015-05-24*" - -#: ../NEWS:49102 -msgid ":issue:`24276`: Fixed optimization of property descriptor getter." -msgstr "" - -#: ../NEWS:49104 -msgid "" -":issue:`24268`: PEP 489: Multi-phase extension module initialization. Patch " -"by Petr Viktorin." -msgstr "" - -#: ../NEWS:49107 -msgid "" -":issue:`23955`: Add pyvenv.cfg option to suppress registry/environment " -"lookup for generating sys.path on Windows." -msgstr "" - -#: ../NEWS:49110 -msgid "" -":issue:`24257`: Fixed system error in the comparison of faked " -"types.SimpleNamespace." -msgstr "" - -#: ../NEWS:49113 -msgid "" -":issue:`22939`: Fixed integer overflow in iterator object. Patch by Clement" -" Rouault." -msgstr "" - -#: ../NEWS:49116 -msgid "" -":issue:`23985`: Fix a possible buffer overrun when deleting a slice from the" -" front of a bytearray and then appending some other bytes data." -msgstr "" - -#: ../NEWS:49119 -msgid "" -":issue:`24102`: Fixed exception type checking in standard error handlers." -msgstr "" - -#: ../NEWS:49121 -msgid ":issue:`15027`: The UTF-32 encoder is now 3x to 7x faster." -msgstr "" - -#: ../NEWS:49123 -msgid "" -":issue:`23290`: Optimize set_merge() for cases where the target is empty. " -"(Contributed by Serhiy Storchaka.)" -msgstr "" - -#: ../NEWS:49126 -msgid ":issue:`2292`: PEP 448: Additional Unpacking Generalizations." -msgstr "" - -#: ../NEWS:49128 -msgid "" -":issue:`24096`: Make warnings.warn_explicit more robust against mutation of " -"the warnings.filters list." -msgstr "" - -#: ../NEWS:49131 -msgid "" -":issue:`23996`: Avoid a crash when a delegated generator raises an " -"unnormalized StopIteration exception. Patch by Stefan Behnel." -msgstr "" - -#: ../NEWS:49134 -msgid "" -":issue:`23910`: Optimize property() getter calls. Patch by Joe Jevnik." -msgstr "" - -#: ../NEWS:49136 -msgid "" -":issue:`23911`: Move path-based importlib bootstrap code to a separate " -"frozen module." -msgstr "" - -#: ../NEWS:49139 -msgid ":issue:`24192`: Fix namespace package imports." -msgstr "" - -#: ../NEWS:49141 -msgid "" -":issue:`24022`: Fix tokenizer crash when processing undecodable source code." -msgstr "" - -#: ../NEWS:49143 -msgid "" -":issue:`9951`: Added a hex() method to bytes, bytearray, and memoryview." -msgstr "" - -#: ../NEWS:49145 -msgid "" -":issue:`22906`: PEP 479: Change StopIteration handling inside generators." -msgstr "" - -#: ../NEWS:49147 -msgid ":issue:`24017`: PEP 492: Coroutines with async and await syntax." -msgstr "" - -#: ../NEWS:49152 -msgid "" -":issue:`14373`: Added C implementation of functools.lru_cache(). Based on " -"patches by Matt Joiner and Alexey Kachayev." -msgstr "" - -#: ../NEWS:49155 -msgid "" -":issue:`24230`: The tempfile module now accepts bytes for prefix, suffix and" -" dir parameters and returns bytes in such situations (matching the os module" -" APIs)." -msgstr "" - -#: ../NEWS:49159 -msgid "" -":issue:`22189`: collections.UserString now supports __getnewargs__(), " -"__rmod__(), casefold(), format_map(), isprintable(), and maketrans(). Patch " -"by Joe Jevnik." -msgstr "" - -#: ../NEWS:49163 -msgid "" -":issue:`24244`: Prevents termination when an invalid format string is " -"encountered on Windows in strftime." -msgstr "" - -#: ../NEWS:49166 -msgid ":issue:`23973`: PEP 484: Add the typing module." -msgstr "" - -#: ../NEWS:49168 -msgid "" -":issue:`23086`: The collections.abc.Sequence() abstract base class added " -"*start* and *stop* parameters to the index() mixin. Patch by Devin " -"Jeanpierre." -msgstr "" - -#: ../NEWS:49172 -msgid "" -":issue:`20035`: Replaced the ``tkinter._fix`` module used for setting up the" -" Tcl/Tk environment on Windows with a private function in the ``_tkinter`` " -"module that makes no permanent changes to the environment." -msgstr "" - -#: ../NEWS:49176 -msgid "" -":issue:`24257`: Fixed segmentation fault in sqlite3.Row constructor with " -"faked cursor type." -msgstr "" - -#: ../NEWS:49179 -msgid "" -":issue:`15836`: assertRaises(), assertRaisesRegex(), assertWarns() and " -"assertWarnsRegex() assertments now check the type of the first argument to " -"prevent possible user error. Based on patch by Daniel Wagner-Hall." -msgstr "" - -#: ../NEWS:49183 -msgid "" -":issue:`9858`: Add missing method stubs to _io.RawIOBase. Patch by Laura " -"Rupprecht." -msgstr "" - -#: ../NEWS:49186 -msgid "" -":issue:`22955`: attrgetter, itemgetter and methodcaller objects in the " -"operator module now support pickling. Added readable and evaluable repr for" -" these objects. Based on patch by Josh Rosenberg." -msgstr "" - -#: ../NEWS:49190 -msgid "" -":issue:`22107`: tempfile.gettempdir() and tempfile.mkdtemp() now try again " -"when a directory with the chosen name already exists on Windows as well as " -"on Unix. tempfile.mkstemp() now fails early if parent directory is not valid" -" (not exists or is a file) on Windows." -msgstr "" - -#: ../NEWS:49195 -msgid "" -":issue:`23780`: Improved error message in os.path.join() with single " -"argument." -msgstr "" - -#: ../NEWS:49197 -msgid "" -":issue:`6598`: Increased time precision and random number range in " -"email.utils.make_msgid() to strengthen the uniqueness of the message ID." -msgstr "" - -#: ../NEWS:49200 -msgid "" -":issue:`24091`: Fixed various crashes in corner cases in C implementation of" -" ElementTree." -msgstr "" - -#: ../NEWS:49203 -msgid "" -":issue:`21931`: msilib.FCICreate() now raises TypeError in the case of a bad" -" argument instead of a ValueError with a bogus FCI error number. Patch by " -"Jeffrey Armstrong." -msgstr "" - -#: ../NEWS:49207 -msgid ":issue:`13866`: *quote_via* argument added to urllib.parse.urlencode." -msgstr "" - -#: ../NEWS:49209 -msgid "" -":issue:`20098`: New mangle_from policy option for email, default True for " -"compat32, but False for all other policies." -msgstr "" - -#: ../NEWS:49212 -msgid "" -":issue:`24211`: The email library now supports RFC 6532: it can generate " -"headers using utf-8 instead of encoded words." -msgstr "" - -#: ../NEWS:49215 -msgid ":issue:`16314`: Added support for the LZMA compression in distutils." -msgstr "" - -#: ../NEWS:49217 -msgid ":issue:`21804`: poplib now supports RFC 6856 (UTF8)." -msgstr "" - -#: ../NEWS:49219 -msgid ":issue:`18682`: Optimized pprint functions for builtin scalar types." -msgstr "" - -#: ../NEWS:49221 -msgid ":issue:`22027`: smtplib now supports RFC 6531 (SMTPUTF8)." -msgstr "" - -#: ../NEWS:49223 -msgid "" -":issue:`23488`: Random generator objects now consume 2x less memory on " -"64-bit." -msgstr "" - -#: ../NEWS:49225 -msgid "" -":issue:`1322`: platform.dist() and platform.linux_distribution() functions " -"are now deprecated. Initial patch by Vajrasky Kok." -msgstr "" - -#: ../NEWS:49228 -msgid "" -":issue:`22486`: Added the math.gcd() function. The fractions.gcd() function" -" now is deprecated. Based on patch by Mark Dickinson." -msgstr "" - -#: ../NEWS:49231 -msgid "" -":issue:`24064`: Property() docstrings are now writeable. (Patch by Berker " -"Peksag.)" -msgstr "" - -#: ../NEWS:49234 -msgid ":issue:`22681`: Added support for the koi8_t encoding." -msgstr "" - -#: ../NEWS:49236 -msgid ":issue:`22682`: Added support for the kz1048 encoding." -msgstr "" - -#: ../NEWS:49238 -msgid "" -":issue:`23796`: peek and read1 methods of BufferedReader now raise " -"ValueError if they called on a closed object. Patch by John Hergenroeder." -msgstr "" - -#: ../NEWS:49241 -msgid "" -":issue:`21795`: smtpd now supports the 8BITMIME extension whenever the new " -"*decode_data* constructor argument is set to False." -msgstr "" - -#: ../NEWS:49244 -msgid "" -":issue:`24155`: optimize heapq.heapify() for better cache performance when " -"heapifying large lists." -msgstr "" - -#: ../NEWS:49247 -msgid "" -":issue:`21800`: imaplib now supports RFC 5161 (enable), RFC 6855 " -"(utf8/internationalized email) and automatically encodes non-ASCII usernames" -" and passwords to UTF8." -msgstr "" - -#: ../NEWS:49251 -msgid "" -":issue:`20274`: When calling a _sqlite.Connection, it now complains if " -"passed any keyword arguments. Previously it silently ignored them." -msgstr "" - -#: ../NEWS:49254 -msgid "" -":issue:`20274`: Remove ignored and erroneous \"kwargs\" parameters from " -"three METH_VARARGS methods on _sqlite.Connection." -msgstr "" - -#: ../NEWS:49257 -msgid "" -":issue:`24134`: assertRaises(), assertRaisesRegex(), assertWarns() and " -"assertWarnsRegex() checks now emits a deprecation warning when callable is " -"None or keyword arguments except msg is passed in the context manager mode." -msgstr "" - -#: ../NEWS:49262 -msgid "" -":issue:`24018`: Add a collections.abc.Generator abstract base class. " -"Contributed by Stefan Behnel." -msgstr "" - -#: ../NEWS:49265 -msgid "" -":issue:`23880`: Tkinter's getint() and getdouble() now support Tcl_Obj. " -"Tkinter's getdouble() now supports any numbers (in particular int)." -msgstr "" - -#: ../NEWS:49268 -msgid "" -":issue:`22619`: Added negative limit support in the traceback module. Based " -"on patch by Dmitry Kazakov." -msgstr "" - -#: ../NEWS:49271 -msgid "" -":issue:`24094`: Fix possible crash in json.encode with poorly behaved dict " -"subclasses." -msgstr "" - -#: ../NEWS:49274 -msgid "" -":issue:`9246`: On POSIX, os.getcwd() now supports paths longer than 1025 " -"bytes. Patch written by William Orr." -msgstr "" - -#: ../NEWS:49277 -msgid "" -":issue:`17445`: add difflib.diff_bytes() to support comparison of byte " -"strings (fixes a regression from Python 2)." -msgstr "" - -#: ../NEWS:49280 -msgid "" -":issue:`23917`: Fall back to sequential compilation when ProcessPoolExecutor" -" doesn't exist. Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:49283 -msgid "" -":issue:`23008`: Fixed resolving attributes with boolean value is False in " -"pydoc." -msgstr "" - -#: ../NEWS:49286 -msgid "" -"Fix asyncio issue 235: LifoQueue and PriorityQueue's put didn't increment " -"unfinished tasks (this bug was introduced when JoinableQueue was merged with" -" Queue)." -msgstr "" - -#: ../NEWS:49290 -msgid "" -":issue:`23908`: os functions now reject paths with embedded null character " -"on Windows instead of silently truncating them." -msgstr "" - -#: ../NEWS:49293 -msgid "" -":issue:`23728`: binascii.crc_hqx() could return an integer outside of the " -"range 0-0xffff for empty data." -msgstr "" - -#: ../NEWS:49296 -msgid "" -":issue:`23887`: urllib.error.HTTPError now has a proper repr() " -"representation. Patch by Berker Peksag." -msgstr "" - -#: ../NEWS:49299 -msgid "" -"asyncio: New event loop APIs: set_task_factory() and get_task_factory()." -msgstr "" - -#: ../NEWS:49301 -msgid "asyncio: async() function is deprecated in favour of ensure_future()." -msgstr "" - -#: ../NEWS:49303 -msgid "" -":issue:`24178`: asyncio.Lock, Condition, Semaphore, and BoundedSemaphore " -"support new 'async with' syntax. Contributed by Yury Selivanov." -msgstr "" - -#: ../NEWS:49306 -msgid "" -":issue:`24179`: Support 'async for' for asyncio.StreamReader. Contributed by" -" Yury Selivanov." -msgstr "" - -#: ../NEWS:49309 -msgid "" -":issue:`24184`: Add AsyncIterator and AsyncIterable ABCs to collections.abc." -" Contributed by Yury Selivanov." -msgstr "" - -#: ../NEWS:49312 -msgid "" -":issue:`22547`: Implement informative __repr__ for inspect.BoundArguments. " -"Contributed by Yury Selivanov." -msgstr "" - -#: ../NEWS:49315 -msgid "" -":issue:`24190`: Implement inspect.BoundArgument.apply_defaults() method. " -"Contributed by Yury Selivanov." -msgstr "" - -#: ../NEWS:49318 -msgid "" -":issue:`20691`: Add 'follow_wrapped' argument to " -"inspect.Signature.from_callable() and inspect.signature(). Contributed by " -"Yury Selivanov." -msgstr "" - -#: ../NEWS:49322 -msgid "" -":issue:`24248`: Deprecate inspect.Signature.from_function() and " -"inspect.Signature.from_builtin()." -msgstr "" - -#: ../NEWS:49325 -msgid "" -":issue:`23898`: Fix inspect.classify_class_attrs() to support attributes " -"with overloaded __eq__ and __bool__. Patch by Mike Bayer." -msgstr "" - -#: ../NEWS:49328 -msgid "" -":issue:`24298`: Fix inspect.signature() to correctly unwrap wrappers around " -"bound methods." -msgstr "" - -#: ../NEWS:49334 -msgid "" -":issue:`23184`: remove unused names and imports in idlelib. Initial patch by" -" Al Sweigart." -msgstr "" - -#: ../NEWS:49340 -msgid "" -":issue:`21520`: test_zipfile no longer fails if the word 'bad' appears " -"anywhere in the name of the current directory." -msgstr "" - -#: ../NEWS:49343 -msgid "" -":issue:`9517`: Move script_helper into the support package. Patch by " -"Christie Wilson." -msgstr "" - -#: ../NEWS:49349 -msgid "" -":issue:`22155`: Add File Handlers subsection with createfilehandler to " -"tkinter doc. Remove obsolete example from FAQ. Patch by Martin Panter." -msgstr "" - -#: ../NEWS:49352 -msgid "" -":issue:`24029`: Document the name binding behavior for submodule imports." -msgstr "" - -#: ../NEWS:49354 -msgid ":issue:`24077`: Fix typo in man page for -I command option: -s, not -S" -msgstr "" - -#: ../NEWS:49359 -msgid "" -":issue:`24000`: Improved Argument Clinic's mapping of converters to legacy " -"\"format units\". Updated the documentation to match." -msgstr "" - -#: ../NEWS:49362 -msgid "" -":issue:`24001`: Argument Clinic converters now use accept={type} instead of " -"types={'type'} to specify the types the converter accepts." -msgstr "" - -#: ../NEWS:49365 -msgid ":issue:`23330`: h2py now supports arbitrary filenames in #include." -msgstr "" - -#: ../NEWS:49367 -msgid ":issue:`24031`: make patchcheck now supports git checkouts, too." -msgstr "" - -#: ../NEWS:49371 -msgid "Python 3.5.0 alpha 4" -msgstr "Python 3.5.0 alfa 4" - -#: ../NEWS:49373 -msgid "*Release date: 2015-04-19*" -msgstr "*Tanggal rilis: 2015-04-19*" - -#: ../NEWS:49378 -msgid "" -":issue:`22980`: Under Linux, GNU/KFreeBSD and the Hurd, C extensions now " -"include the architecture triplet in the extension name, to make it easy to " -"test builds for different ABIs in the same working tree. Under OS X, the " -"extension name now includes :pep:`3149`-style information." -msgstr "" - -#: ../NEWS:49383 -msgid "" -":issue:`22631`: Added Linux-specific socket constant CAN_RAW_FD_FRAMES. " -"Patch courtesy of Joe Jevnik." -msgstr "" - -#: ../NEWS:49386 -msgid ":issue:`23731`: Implement :pep:`488`: removal of .pyo files." -msgstr "" - -#: ../NEWS:49388 -msgid "" -":issue:`23726`: Don't enable GC for user subclasses of non-GC types that " -"don't add any new fields. Patch by Eugene Toder." -msgstr "" - -#: ../NEWS:49391 -msgid "" -":issue:`23309`: Avoid a deadlock at shutdown if a daemon thread is aborted " -"while it is holding a lock to a buffered I/O object, and the main thread " -"tries to use the same I/O object (typically stdout or stderr). A fatal " -"error is emitted instead." -msgstr "" - -#: ../NEWS:49396 -msgid "" -":issue:`22977`: Fixed formatting Windows error messages on Wine. Patch by " -"Martin Panter." -msgstr "" - -#: ../NEWS:49399 -msgid "" -":issue:`23466`: %c, %o, %x, and %X in bytes formatting now raise TypeError " -"on non-integer input." -msgstr "" - -#: ../NEWS:49402 -msgid "" -":issue:`24044`: Fix possible null pointer dereference in list.sort in out of" -" memory conditions." -msgstr "" - -#: ../NEWS:49405 -msgid "" -":issue:`21354`: PyCFunction_New function is exposed by python DLL again." -msgstr "" - -#: ../NEWS:49410 -msgid "" -":issue:`23840`: tokenize.open() now closes the temporary binary file on " -"error to fix a resource warning." -msgstr "" - -#: ../NEWS:49413 -msgid "" -":issue:`16914`: new debuglevel 2 in smtplib adds timestamps to debug output." -msgstr "" - -#: ../NEWS:49415 -msgid "" -":issue:`7159`: urllib.request now supports sending auth credentials " -"automatically after the first 401. This enhancement is a superset of the " -"enhancement from :issue:`19494` and supersedes that change." -msgstr "" - -#: ../NEWS:49419 -msgid "" -":issue:`23703`: Fix a regression in urljoin() introduced in 901e4e52b20a. " -"Patch by Demian Brecht." -msgstr "" - -#: ../NEWS:49422 -msgid ":issue:`4254`: Adds _curses.update_lines_cols(). Patch by Arnon Yaari" -msgstr "" - -#: ../NEWS:49424 -msgid "" -":issue:`19933`: Provide default argument for ndigits in round. Patch by " -"Vajrasky Kok." -msgstr "" - -#: ../NEWS:49427 -msgid "" -":issue:`23193`: Add a numeric_owner parameter to tarfile.TarFile.extract and" -" tarfile.TarFile.extractall. Patch by Michael Vogt and Eric Smith." -msgstr "" - -#: ../NEWS:49430 -msgid "" -":issue:`23342`: Add a subprocess.run() function than returns a CalledProcess" -" instance for a more consistent API than the existing call* functions." -msgstr "" - -#: ../NEWS:49433 -msgid "" -":issue:`21217`: inspect.getsourcelines() now tries to compute the start and " -"end lines from the code object, fixing an issue when a lambda function is " -"used as decorator argument. Patch by Thomas Ballinger and Allison Kaptur." -msgstr "" - -#: ../NEWS:49437 -msgid ":issue:`24521`: Fix possible integer overflows in the pickle module." -msgstr "" - -#: ../NEWS:49439 -msgid ":issue:`22931`: Allow '[' and ']' in cookie values." -msgstr "" - -#: ../NEWS:49441 -msgid "" -"The keywords attribute of functools.partial is now always a dictionary." -msgstr "" - -#: ../NEWS:49443 -msgid "" -":issue:`23811`: Add missing newline to the PyCompileError error message. " -"Patch by Alex Shkop." -msgstr "" - -#: ../NEWS:49446 -msgid "" -":issue:`21116`: Avoid blowing memory when allocating a multiprocessing " -"shared array that's larger than 50% of the available RAM. Patch by Médéric " -"Boquien." -msgstr "" - -#: ../NEWS:49450 -msgid "" -":issue:`22982`: Improve BOM handling when seeking to multiple positions of a" -" writable text file." -msgstr "" - -#: ../NEWS:49453 -msgid ":issue:`23464`: Removed deprecated asyncio JoinableQueue." -msgstr "" - -#: ../NEWS:49455 -msgid "" -":issue:`23529`: Limit the size of decompressed data when reading from " -"GzipFile, BZ2File or LZMAFile. This defeats denial of service attacks using" -" compressed bombs (i.e. compressed payloads which decompress to a huge " -"size). Patch by Martin Panter and Nikolaus Rath." -msgstr "" - -#: ../NEWS:49460 -msgid ":issue:`21859`: Added Python implementation of io.FileIO." -msgstr "" - -#: ../NEWS:49462 -msgid "" -":issue:`23865`: close() methods in multiple modules now are idempotent and " -"more robust at shutdown. If they need to release multiple resources, all are" -" released even if errors occur." -msgstr "" - -#: ../NEWS:49466 -msgid "" -":issue:`23400`: Raise same exception on both Python 2 and 3 if sem_open is " -"not available. Patch by Davin Potts." -msgstr "" - -#: ../NEWS:49469 -msgid "" -":issue:`10838`: The subprocess now module includes SubprocessError and " -"TimeoutError in its list of exported names for the users wild enough to use " -"``from subprocess import *``." -msgstr "" - -#: ../NEWS:49473 -msgid "" -":issue:`23411`: Added DefragResult, ParseResult, SplitResult, " -"DefragResultBytes, ParseResultBytes, and SplitResultBytes to " -"urllib.parse.__all__. Patch by Martin Panter." -msgstr "" - -#: ../NEWS:49477 -msgid "" -":issue:`23881`: urllib.request.ftpwrapper constructor now closes the socket " -"if the FTP connection failed to fix a ResourceWarning." -msgstr "" - -#: ../NEWS:49480 -msgid "" -":issue:`23853`: :meth:`socket.socket.sendall` does no more reset the socket " -"timeout each time data is sent successfully. The socket timeout is now the " -"maximum total duration to send all data." -msgstr "" - -#: ../NEWS:49484 -msgid "" -":issue:`22721`: An order of multiline pprint output of set or dict " -"containing orderable and non-orderable elements no longer depends on " -"iteration order of set or dict." -msgstr "" - -#: ../NEWS:49488 -msgid "" -":issue:`15133`: _tkinter.tkapp.getboolean() now supports Tcl_Obj and always " -"returns bool. tkinter.BooleanVar now validates input values (accepted bool, " -"int, str, and Tcl_Obj). tkinter.BooleanVar.get() now always returns bool." -msgstr "" - -#: ../NEWS:49493 -msgid ":issue:`10590`: xml.sax.parseString() now supports string argument." -msgstr "" - -#: ../NEWS:49495 -msgid "" -":issue:`23338`: Fixed formatting ctypes error messages on Cygwin. Patch by " -"Makoto Kato." -msgstr "" - -#: ../NEWS:49498 -msgid ":issue:`15582`: inspect.getdoc() now follows inheritance chains." -msgstr "" - -#: ../NEWS:49500 -msgid "" -":issue:`2175`: SAX parsers now support a character stream of InputSource " -"object." -msgstr "" - -#: ../NEWS:49503 -msgid "" -":issue:`16840`: Tkinter now supports 64-bit integers added in Tcl 8.4 and " -"arbitrary precision integers added in Tcl 8.5." -msgstr "" - -#: ../NEWS:49506 -msgid "" -":issue:`23834`: Fix socket.sendto(), use the C Py_ssize_t type to store the " -"result of sendto() instead of the C int type." -msgstr "" - -#: ../NEWS:49509 -msgid "" -":issue:`23618`: :meth:`socket.socket.connect` now waits until the connection" -" completes instead of raising :exc:`InterruptedError` if the connection is " -"interrupted by signals, signal handlers don't raise an exception and the " -"socket is blocking or has a timeout. :meth:`socket.socket.connect` still " -"raise :exc:`InterruptedError` for non-blocking sockets." -msgstr "" - -#: ../NEWS:49515 -msgid ":issue:`21526`: Tkinter now supports new boolean type in Tcl 8.5." -msgstr "" - -#: ../NEWS:49517 -msgid "" -":issue:`23836`: Fix the faulthandler module to handle reentrant calls to its" -" signal handlers." -msgstr "" - -#: ../NEWS:49520 -msgid "" -":issue:`23838`: linecache now clears the cache and returns an empty result " -"on MemoryError." -msgstr "" - -#: ../NEWS:49523 -msgid "" -":issue:`10395`: Added os.path.commonpath(). Implemented in posixpath and " -"ntpath. Based on patch by Rafik Draoui." -msgstr "" - -#: ../NEWS:49526 -msgid "" -":issue:`23611`: Serializing more \"lookupable\" objects (such as unbound " -"methods or nested classes) now are supported with pickle protocols < 4." -msgstr "" - -#: ../NEWS:49529 -msgid ":issue:`13583`: sqlite3.Row now supports slice indexing." -msgstr "" - -#: ../NEWS:49531 -msgid "" -":issue:`18473`: Fixed 2to3 and 3to2 compatible pickle mappings. Fixed " -"ambiguous reverse mappings. Added many new mappings. Import mapping is no " -"longer applied to modules already mapped with full name mapping." -msgstr "" - -#: ../NEWS:49535 -msgid "" -":issue:`23485`: select.select() is now retried automatically with the " -"recomputed timeout when interrupted by a signal, except if the signal " -"handler raises an exception. This change is part of the :pep:`475`." -msgstr "" - -#: ../NEWS:49539 -msgid "" -":issue:`23752`: When built from an existing file descriptor, io.FileIO() now" -" only calls fstat() once. Before fstat() was called twice, which was not " -"necessary." -msgstr "" - -#: ../NEWS:49543 -msgid "" -":issue:`23704`: collections.deque() objects now support __add__, __mul__, " -"and __imul__()." -msgstr "" - -#: ../NEWS:49546 -msgid "" -":issue:`23171`: csv.Writer.writerow() now supports arbitrary iterables." -msgstr "" - -#: ../NEWS:49548 -msgid "" -":issue:`23745`: The new email header parser now handles duplicate MIME " -"parameter names without error, similar to how get_param behaves." -msgstr "" - -#: ../NEWS:49551 -msgid "" -":issue:`22117`: Fix os.utime(), it now rounds the timestamp towards minus " -"infinity (-inf) instead of rounding towards zero." -msgstr "" - -#: ../NEWS:49554 -msgid "" -":issue:`23310`: Fix MagicMock's initializer to work with __methods__, just " -"like configure_mock(). Patch by Kasia Jachim." -msgstr "" - -#: ../NEWS:49560 -msgid "" -":issue:`23817`: FreeBSD now uses \"1.0\" in the SOVERSION as other operating" -" systems, instead of just \"1\"." -msgstr "" - -#: ../NEWS:49563 -msgid "" -":issue:`23501`: Argument Clinic now generates code into separate files by " -"default." -msgstr "" - -#: ../NEWS:49569 -msgid "" -":issue:`23799`: Added test.support.start_threads() for running and cleaning " -"up multiple threads." -msgstr "" - -#: ../NEWS:49572 -msgid "" -":issue:`22390`: test.regrtest now emits a warning if temporary files or " -"directories are left after running a test." -msgstr "" - -#: ../NEWS:49578 -msgid "" -":issue:`18128`: pygettext now uses standard +NNNN format in the POT-" -"Creation-Date header." -msgstr "" - -#: ../NEWS:49581 -msgid "" -":issue:`23935`: Argument Clinic's understanding of format units accepting " -"bytes, bytearrays, and buffers is now consistent with both the documentation" -" and the implementation." -msgstr "" - -#: ../NEWS:49585 -msgid "" -":issue:`23944`: Argument Clinic now wraps long impl prototypes at column 78." -msgstr "" - -#: ../NEWS:49587 -msgid "" -":issue:`20586`: Argument Clinic now ensures that functions without " -"docstrings have signatures." -msgstr "" - -#: ../NEWS:49590 -msgid "" -":issue:`23492`: Argument Clinic now generates argument parsing code with " -"PyArg_Parse instead of PyArg_ParseTuple if possible." -msgstr "" - -#: ../NEWS:49593 -msgid "" -":issue:`23500`: Argument Clinic is now smarter about generating the " -"\"#ifndef\" (empty) definition of the methoddef macro: it's only generated " -"once, even if Argument Clinic processes the same symbol multiple times, and " -"it's emitted at the end of all processing rather than immediately after the " -"first use." -msgstr "" - -#: ../NEWS:49602 -msgid "" -":issue:`23998`: PyImport_ReInitLock() now checks for lock allocation error" -msgstr "" - -#: ../NEWS:49606 -msgid "Python 3.5.0 alpha 3" -msgstr "Python 3.5.0 alfa 3" - -#: ../NEWS:49608 -msgid "*Release date: 2015-03-28*" -msgstr "*Tanggal rilis: 2015-03-28*" - -#: ../NEWS:49613 -msgid "" -":issue:`23573`: Increased performance of string search operations (str.find," -" str.index, str.count, the in operator, str.split, str.partition) with " -"arguments of different kinds (UCS1, UCS2, UCS4)." -msgstr "" - -#: ../NEWS:49617 -msgid "" -":issue:`23753`: Python doesn't support anymore platforms without stat() or " -"fstat(), these functions are always required." -msgstr "" - -#: ../NEWS:49620 -msgid "" -":issue:`23681`: The -b option now affects comparisons of bytes with int." -msgstr "" - -#: ../NEWS:49622 -msgid "" -":issue:`23632`: Memoryviews now allow tuple indexing (including for multi-" -"dimensional memoryviews)." -msgstr "" - -#: ../NEWS:49625 -msgid ":issue:`23192`: Fixed generator lambdas. Patch by Bruno Cauet." -msgstr "" - -#: ../NEWS:49627 -msgid "" -":issue:`23629`: Fix the default __sizeof__ implementation for variable-sized" -" objects." -msgstr "" - -#: ../NEWS:49633 -msgid "" -":issue:`14260`: The groupindex attribute of regular expression pattern " -"object now is non-modifiable mapping." -msgstr "" - -#: ../NEWS:49636 -msgid "" -":issue:`23792`: Ignore KeyboardInterrupt when the pydoc pager is active. " -"This mimics the behavior of the standard unix pagers, and prevents pipepager" -" from shutting down while the pager itself is still running." -msgstr "" - -#: ../NEWS:49640 -msgid "" -":issue:`23775`: pprint() of OrderedDict now outputs the same representation " -"as repr()." -msgstr "" - -#: ../NEWS:49643 -msgid ":issue:`23765`: Removed IsBadStringPtr calls in ctypes" -msgstr "" - -#: ../NEWS:49645 -msgid ":issue:`22364`: Improved some re error messages using regex for hints." -msgstr "" - -#: ../NEWS:49647 -msgid "" -":issue:`23742`: ntpath.expandvars() no longer loses unbalanced single " -"quotes." -msgstr "" - -#: ../NEWS:49649 -msgid "" -":issue:`21717`: The zipfile.ZipFile.open function now supports 'x' " -"(exclusive creation) mode." -msgstr "" - -#: ../NEWS:49652 -msgid "" -":issue:`21802`: The reader in BufferedRWPair now is closed even when closing" -" writer failed in BufferedRWPair.close()." -msgstr "" - -#: ../NEWS:49655 -msgid "" -":issue:`23622`: Unknown escapes in regular expressions that consist of " -"``'\\'`` and ASCII letter now raise a deprecation warning and will be " -"forbidden in Python 3.6." -msgstr "" - -#: ../NEWS:49659 -msgid "" -":issue:`23671`: string.Template now allows specifying the \"self\" parameter" -" as a keyword argument. string.Formatter now allows specifying the \"self\"" -" and the \"format_string\" parameters as keyword arguments." -msgstr "" - -#: ../NEWS:49663 -msgid ":issue:`23502`: The pprint module now supports mapping proxies." -msgstr "" - -#: ../NEWS:49665 -msgid ":issue:`17530`: pprint now wraps long bytes objects and bytearrays." -msgstr "" - -#: ../NEWS:49667 -msgid "" -":issue:`22687`: Fixed some corner cases in breaking words in tetxtwrap. Got " -"rid of quadratic complexity in breaking long words." -msgstr "" - -#: ../NEWS:49670 -msgid "" -":issue:`4727`: The copy module now uses pickle protocol 4 (PEP 3154) and " -"supports copying of instances of classes whose __new__ method takes keyword-" -"only arguments." -msgstr "" - -#: ../NEWS:49674 -msgid "" -":issue:`23491`: Added a zipapp module to support creating executable zip " -"file archives of Python code. Registered \".pyz\" and \".pyzw\" extensions " -"on Windows for these archives (PEP 441)." -msgstr "" - -#: ../NEWS:49678 -msgid "" -":issue:`23657`: Avoid explicit checks for str in zipapp, adding support for " -"pathlib.Path objects as arguments." -msgstr "" - -#: ../NEWS:49681 -msgid "" -":issue:`23688`: Added support of arbitrary bytes-like objects and avoided " -"unnecessary copying of memoryview in gzip.GzipFile.write(). Original patch " -"by Wolfgang Maier." -msgstr "" - -#: ../NEWS:49685 -msgid "" -":issue:`23252`: Added support for writing ZIP files to unseekable streams." -msgstr "" - -#: ../NEWS:49687 -msgid "" -":issue:`23647`: Increase imaplib's MAXLINE to accommodate modern mailbox " -"sizes." -msgstr "" - -#: ../NEWS:49689 -msgid "" -":issue:`23539`: If body is None, http.client.HTTPConnection.request now sets" -" Content-Length to 0 for PUT, POST, and PATCH headers to avoid 411 errors " -"from some web servers." -msgstr "" - -#: ../NEWS:49693 -msgid "" -":issue:`22351`: The nntplib.NNTP constructor no longer leaves the connection" -" and socket open until the garbage collector cleans them up. Patch by " -"Martin Panter." -msgstr "" - -#: ../NEWS:49697 -msgid "" -":issue:`23704`: collections.deque() objects now support methods for index()," -" insert(), and copy(). This allows deques to be registered as a " -"MutableSequence and it improves their substitutability for lists." -msgstr "" - -#: ../NEWS:49701 -msgid "" -":issue:`23715`: :func:`signal.sigwaitinfo` and :func:`signal.sigtimedwait` " -"are now retried when interrupted by a signal not in the *sigset* parameter, " -"if the signal handler does not raise an exception. signal.sigtimedwait() " -"recomputes the timeout with a monotonic clock when it is retried." -msgstr "" - -#: ../NEWS:49706 -msgid "" -":issue:`23001`: Few functions in modules mmap, ossaudiodev, socket, ssl, and" -" codecs, that accepted only read-only bytes-like object now accept writable " -"bytes-like object too." -msgstr "" - -#: ../NEWS:49710 -msgid "" -":issue:`23646`: If time.sleep() is interrupted by a signal, the sleep is now" -" retried with the recomputed delay, except if the signal handler raises an " -"exception (PEP 475)." -msgstr "" - -#: ../NEWS:49714 -msgid "" -":issue:`23136`: _strptime now uniformly handles all days in week 0, " -"including Dec 30 of previous year. Based on patch by Jim Carroll." -msgstr "" - -#: ../NEWS:49717 -msgid "" -":issue:`23700`: Iterator of NamedTemporaryFile now keeps a reference to " -"NamedTemporaryFile instance. Patch by Bohuslav Kabrda." -msgstr "" - -#: ../NEWS:49720 -msgid "" -":issue:`22903`: The fake test case created by unittest.loader when it fails " -"importing a test module is now picklable." -msgstr "" - -#: ../NEWS:49723 -msgid "" -":issue:`22181`: On Linux, os.urandom() now uses the new getrandom() syscall " -"if available, syscall introduced in the Linux kernel 3.17. It is more " -"reliable and more secure, because it avoids the need of a file descriptor " -"and waits until the kernel has enough entropy." -msgstr "" - -#: ../NEWS:49728 -msgid "" -":issue:`2211`: Updated the implementation of the http.cookies.Morsel class. " -"Setting attributes key, value and coded_value directly now is deprecated. " -"update() and setdefault() now transform and check keys. Comparing for " -"equality now takes into account attributes key, value and coded_value. " -"copy() now returns a Morsel, not a dict. repr() now contains all " -"attributes. Optimized checking keys and quoting values. Added new tests. " -"Original patch by Demian Brecht." -msgstr "" - -#: ../NEWS:49736 -msgid "" -":issue:`18983`: Allow selection of output units in timeit. Patch by Julian " -"Gindi." -msgstr "" - -#: ../NEWS:49739 -msgid "" -":issue:`23631`: Fix traceback.format_list when a traceback has been mutated." -msgstr "" - -#: ../NEWS:49741 -msgid "" -":issue:`23568`: Add rdivmod support to MagicMock() objects. Patch by Håkan " -"Lövdahl." -msgstr "" - -#: ../NEWS:49744 -msgid ":issue:`2052`: Add charset parameter to HtmlDiff.make_file()." -msgstr "" - -#: ../NEWS:49746 -msgid ":issue:`23668`: Support os.truncate and os.ftruncate on Windows." -msgstr "" - -#: ../NEWS:49748 -msgid "" -":issue:`23138`: Fixed parsing cookies with absent keys or values in " -"cookiejar. Patch by Demian Brecht." -msgstr "" - -#: ../NEWS:49751 -msgid "" -":issue:`23051`: multiprocessing.Pool methods imap() and imap_unordered() now" -" handle exceptions raised by an iterator. Patch by Alon Diamant and Davin " -"Potts." -msgstr "" - -#: ../NEWS:49755 -msgid "" -":issue:`23581`: Add matmul support to MagicMock. Patch by Håkan Lövdahl." -msgstr "" - -#: ../NEWS:49757 -msgid "" -":issue:`23566`: enable(), register(), dump_traceback() and " -"dump_traceback_later() functions of faulthandler now accept file " -"descriptors. Patch by Wei Wu." -msgstr "" - -#: ../NEWS:49761 -msgid "" -":issue:`22928`: Disabled HTTP header injections in http.client. Original " -"patch by Demian Brecht." -msgstr "" - -#: ../NEWS:49764 -msgid "" -":issue:`23615`: Modules bz2, tarfile and tokenize now can be reloaded with " -"imp.reload(). Patch by Thomas Kluyver." -msgstr "" - -#: ../NEWS:49767 -msgid "" -":issue:`23605`: os.walk() now calls os.scandir() instead of os.listdir(). " -"The usage of os.scandir() reduces the number of calls to os.stat(). Initial " -"patch written by Ben Hoyt." -msgstr "" - -#: ../NEWS:49774 -msgid ":issue:`23585`: make patchcheck will ensure the interpreter is built." -msgstr "" - -#: ../NEWS:49779 -msgid ":issue:`23583`: Added tests for standard IO streams in IDLE." -msgstr "" - -#: ../NEWS:49781 -msgid "" -":issue:`22289`: Prevent test_urllib2net failures due to ftp connection " -"timeout." -msgstr "" - -#: ../NEWS:49786 -msgid "" -":issue:`22826`: The result of open() in Tools/freeze/bkfile.py is now better" -" compatible with regular files (in particular it now supports the context " -"management protocol)." -msgstr "" - -#: ../NEWS:49792 -msgid "Python 3.5.0 alpha 2" -msgstr "Python 3.5.0 alfa 2" - -#: ../NEWS:49794 -msgid "*Release date: 2015-03-09*" -msgstr "*Tanggal rilis: 2015-03-09*" - -#: ../NEWS:49799 -msgid "" -":issue:`23571`: PyObject_Call() and PyCFunction_Call() now raise a " -"SystemError if a function returns a result and raises an exception. The " -"SystemError is chained to the previous exception." -msgstr "" - -#: ../NEWS:49806 -msgid "" -":issue:`22524`: New os.scandir() function, part of the :pep:`471`: " -"\"os.scandir() function -- a better and faster directory iterator\". Patch " -"written by Ben Hoyt." -msgstr "" - -#: ../NEWS:49810 -msgid "" -":issue:`23103`: Reduced the memory consumption of IPv4Address and " -"IPv6Address." -msgstr "" - -#: ../NEWS:49812 -msgid "" -":issue:`21793`: BaseHTTPRequestHandler again logs response code as numeric, " -"not as stringified enum. Patch by Demian Brecht." -msgstr "" - -#: ../NEWS:49815 -msgid "" -":issue:`23476`: In the ssl module, enable OpenSSL's " -"X509_V_FLAG_TRUSTED_FIRST flag on certificate stores when it is available." -msgstr "" - -#: ../NEWS:49818 -msgid "" -":issue:`23576`: Avoid stalling in SSL reads when EOF has been reached in the" -" SSL layer but the underlying connection hasn't been closed." -msgstr "" - -#: ../NEWS:49821 -msgid ":issue:`23504`: Added an __all__ to the types module." -msgstr "" - -#: ../NEWS:49823 -msgid ":issue:`23563`: Optimized utility functions in urllib.parse." -msgstr "" - -#: ../NEWS:49825 -msgid ":issue:`7830`: Flatten nested functools.partial." -msgstr "" - -#: ../NEWS:49827 -msgid ":issue:`20204`: Added the __module__ attribute to _tkinter classes." -msgstr "" - -#: ../NEWS:49829 -msgid "" -":issue:`19980`: Improved help() for non-recognized strings. help('') now " -"shows the help on str. help('help') now shows the help on help(). Original " -"patch by Mark Lawrence." -msgstr "" - -#: ../NEWS:49833 -msgid "" -":issue:`23521`: Corrected pure python implementation of timedelta division. " -"Eliminated OverflowError from ``timedelta * float`` for some floats; " -"Corrected rounding in timedelta true division." -msgstr "" - -#: ../NEWS:49837 -msgid "" -":issue:`21619`: Popen objects no longer leave a zombie after exit in the " -"with statement if the pipe was broken. Patch by Martin Panter." -msgstr "" - -#: ../NEWS:49840 -msgid "" -":issue:`22936`: Make it possible to show local variables in tracebacks for " -"both the traceback module and unittest." -msgstr "" - -#: ../NEWS:49843 -msgid "" -":issue:`15955`: Add an option to limit the output size in bz2.decompress(). " -"Patch by Nikolaus Rath." -msgstr "" - -#: ../NEWS:49846 -msgid "" -":issue:`6639`: Module-level turtle functions no longer raise TclError after " -"closing the window." -msgstr "" - -#: ../NEWS:49849 -msgid "" -":issue:`814253`: Group references and conditional group references now work " -"in lookbehind assertions in regular expressions. (See also: :issue:`9179`)" -msgstr "" - -#: ../NEWS:49852 -msgid "" -":issue:`23215`: Multibyte codecs with custom error handlers that ignores " -"errors consumed too much memory and raised SystemError or MemoryError. " -"Original patch by Aleksi Torhamo." -msgstr "" - -#: ../NEWS:49856 -msgid "" -":issue:`5700`: io.FileIO() called flush() after closing the file. flush() " -"was not called in close() if closefd=False." -msgstr "" - -#: ../NEWS:49859 -msgid "" -":issue:`23374`: Fixed pydoc failure with non-ASCII files when stdout " -"encoding differs from file system encoding (e.g. on Mac OS)." -msgstr "" - -#: ../NEWS:49862 -msgid ":issue:`23481`: Remove RC4 from the SSL module's default cipher list." -msgstr "" - -#: ../NEWS:49864 -msgid "" -":issue:`21548`: Fix pydoc.synopsis() and pydoc.apropos() on modules with " -"empty docstrings." -msgstr "" - -#: ../NEWS:49867 -msgid "" -":issue:`22885`: Fixed arbitrary code execution vulnerability in the dbm.dumb" -" module. Original patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:49870 -msgid "" -":issue:`23239`: ssl.match_hostname() now supports matching of IP addresses." -msgstr "" - -#: ../NEWS:49872 -msgid "" -":issue:`23146`: Fix mishandling of absolute Windows paths with forward " -"slashes in pathlib." -msgstr "" - -#: ../NEWS:49875 -msgid "" -":issue:`23096`: Pickle representation of floats with protocol 0 now is the " -"same for both Python and C implementations." -msgstr "" - -#: ../NEWS:49878 -msgid "" -":issue:`19105`: pprint now more efficiently uses free space at the right." -msgstr "" - -#: ../NEWS:49880 -msgid "" -":issue:`14910`: Add allow_abbrev parameter to argparse.ArgumentParser. Patch" -" by Jonathan Paugh, Steven Bethard, paul j3 and Daniel Eriksson." -msgstr "" - -#: ../NEWS:49883 -msgid "" -":issue:`21717`: tarfile.open() now supports 'x' (exclusive creation) mode." -msgstr "" - -#: ../NEWS:49885 -msgid ":issue:`23344`: marshal.dumps() is now 20-25% faster on average." -msgstr "" - -#: ../NEWS:49887 -msgid "" -":issue:`20416`: marshal.dumps() with protocols 3 and 4 is now 40-50% faster " -"on average." -msgstr "" - -#: ../NEWS:49890 -msgid ":issue:`23421`: Fixed compression in tarfile CLI. Patch by wdv4758h." -msgstr "" - -#: ../NEWS:49892 -msgid ":issue:`23367`: Fix possible overflows in the unicodedata module." -msgstr "" - -#: ../NEWS:49894 -msgid "" -":issue:`23361`: Fix possible overflow in Windows subprocess creation code." -msgstr "" - -#: ../NEWS:49896 -msgid "" -"logging.handlers.QueueListener now takes a respect_handler_level keyword " -"argument which, if set to True, will pass messages to handlers taking " -"handler levels into account." -msgstr "" - -#: ../NEWS:49900 -msgid "" -":issue:`19705`: turtledemo now has a visual sorting algorithm demo. " -"Original patch from Jason Yeo." -msgstr "" - -#: ../NEWS:49903 -msgid "" -":issue:`23801`: Fix issue where cgi.FieldStorage did not always ignore the " -"entire preamble to a multipart body." -msgstr "" - -#: ../NEWS:49909 -msgid "" -":issue:`23445`: pydebug builds now use \"gcc -Og\" where possible, to make " -"the resulting executable faster." -msgstr "" - -#: ../NEWS:49912 -msgid "" -":issue:`23686`: Update OS X 10.5 installer build to use OpenSSL 1.0.2a." -msgstr "" - -#: ../NEWS:49917 -msgid "" -":issue:`20204`: Deprecation warning is now raised for builtin types without " -"the __module__ attribute." -msgstr "" - -#: ../NEWS:49923 -msgid "" -":issue:`23465`: Implement :pep:`486` - Make the Python Launcher aware of " -"virtual environments. Patch by Paul Moore." -msgstr "" - -#: ../NEWS:49926 -msgid "" -":issue:`23437`: Make user scripts directory versioned on Windows. Patch by " -"Paul Moore." -msgstr "" - -#: ../NEWS:49931 -msgid "Python 3.5.0 alpha 1" -msgstr "Python 3.5.0 alfa 1" - -#: ../NEWS:49933 -msgid "*Release date: 2015-02-08*" -msgstr "*Tanggal rilis: 2015-02-08*" - -#: ../NEWS:49938 -msgid ":issue:`23285`: PEP 475 - EINTR handling." -msgstr "" - -#: ../NEWS:49940 -msgid "" -":issue:`22735`: Fix many edge cases (including crashes) involving custom " -"mro() implementations." -msgstr "" - -#: ../NEWS:49943 -msgid "" -":issue:`22896`: Avoid using PyObject_AsCharBuffer(), PyObject_AsReadBuffer()" -" and PyObject_AsWriteBuffer()." -msgstr "" - -#: ../NEWS:49946 -msgid "" -":issue:`21295`: Revert some changes (:issue:`16795`) to AST line numbers and" -" column offsets that constituted a regression." -msgstr "" - -#: ../NEWS:49949 -msgid "" -":issue:`22986`: Allow changing an object's __class__ between a dynamic type " -"and static type in some cases." -msgstr "" - -#: ../NEWS:49952 -msgid "" -":issue:`15859`: PyUnicode_EncodeFSDefault(), PyUnicode_EncodeMBCS() and " -"PyUnicode_EncodeCodePage() now raise an exception if the object is not a " -"Unicode object. For PyUnicode_EncodeFSDefault(), it was already the case on " -"platforms other than Windows. Patch written by Campbell Barton." -msgstr "" - -#: ../NEWS:49957 -msgid "" -":issue:`21408`: The default __ne__() now returns NotImplemented if __eq__() " -"returned NotImplemented. Original patch by Martin Panter." -msgstr "" - -#: ../NEWS:49960 -msgid "" -":issue:`23321`: Fixed a crash in str.decode() when error handler returned " -"replacement string longer than malformed input data." -msgstr "" - -#: ../NEWS:49963 -msgid "" -":issue:`22286`: The \"backslashreplace\" error handlers now works with " -"decoding and translating." -msgstr "" - -#: ../NEWS:49966 -msgid "" -":issue:`23253`: Delay-load ShellExecute[AW] in os.startfile for reduced " -"startup overhead on Windows." -msgstr "" - -#: ../NEWS:49969 -msgid "" -":issue:`22038`: pyatomic.h now uses stdatomic.h or GCC built-in functions " -"for atomic memory access if available. Patch written by Vitor de Lima and " -"Gustavo Temple." -msgstr "" - -#: ../NEWS:49973 -msgid "" -":issue:`20284`: %-interpolation (aka printf) formatting added for bytes and " -"bytearray." -msgstr "" - -#: ../NEWS:49976 -msgid ":issue:`23048`: Fix jumping out of an infinite while loop in the pdb." -msgstr "" - -#: ../NEWS:49978 -msgid "" -":issue:`20335`: bytes constructor now raises TypeError when encoding or " -"errors is specified with non-string argument. Based on patch by Renaud " -"Blanch." -msgstr "" - -#: ../NEWS:49981 -msgid "" -":issue:`22834`: If the current working directory ends up being set to a non-" -"existent directory then import will no longer raise FileNotFoundError." -msgstr "" - -#: ../NEWS:49984 -msgid "" -":issue:`22869`: Move the interpreter startup & shutdown code to a new " -"dedicated pylifecycle.c module" -msgstr "" - -#: ../NEWS:49987 -msgid ":issue:`22847`: Improve method cache efficiency." -msgstr "" - -#: ../NEWS:49989 -msgid "" -":issue:`22335`: Fix crash when trying to enlarge a bytearray to 0x7fffffff " -"bytes on a 32-bit platform." -msgstr "" - -#: ../NEWS:49992 -msgid "" -":issue:`22653`: Fix an assertion failure in debug mode when doing a " -"reentrant dict insertion in debug mode." -msgstr "" - -#: ../NEWS:49995 -msgid "" -":issue:`22643`: Fix integer overflow in Unicode case operations (upper, " -"lower, title, swapcase, casefold)." -msgstr "" - -#: ../NEWS:49998 -msgid "" -":issue:`17636`: Circular imports involving relative imports are now " -"supported." -msgstr "" - -#: ../NEWS:50000 -msgid "" -":issue:`22604`: Fix assertion error in debug mode when dividing a complex " -"number by (nan+0j)." -msgstr "" - -#: ../NEWS:50003 -msgid "" -":issue:`21052`: Do not raise ImportWarning when sys.path_hooks or " -"sys.meta_path are set to None." -msgstr "" - -#: ../NEWS:50006 -msgid "" -":issue:`16518`: Use 'bytes-like object required' in error messages that " -"previously used the far more cryptic \"'x' does not support the buffer " -"protocol." -msgstr "" - -#: ../NEWS:50010 -msgid "" -":issue:`22470`: Fixed integer overflow issues in \"backslashreplace\", " -"\"xmlcharrefreplace\", and \"surrogatepass\" error handlers." -msgstr "" - -#: ../NEWS:50013 -msgid "" -":issue:`22540`: speed up ``PyObject_IsInstance`` and ``PyObject_IsSubclass``" -" in the common case that the second argument has metaclass ``type``." -msgstr "" - -#: ../NEWS:50016 -msgid "" -":issue:`18711`: Add a new ``PyErr_FormatV`` function, similar to " -"``PyErr_Format`` but accepting a ``va_list`` argument." -msgstr "" - -#: ../NEWS:50019 -msgid "" -":issue:`22520`: Fix overflow checking when generating the repr of a unicode " -"object." -msgstr "" - -#: ../NEWS:50022 -msgid ":issue:`22519`: Fix overflow checking in PyBytes_Repr." -msgstr "" - -#: ../NEWS:50024 -msgid ":issue:`22518`: Fix integer overflow issues in latin-1 encoding." -msgstr "" - -#: ../NEWS:50026 -msgid "" -":issue:`16324`: _charset parameter of MIMEText now also accepts " -"email.charset.Charset instances. Initial patch by Claude Paroz." -msgstr "" - -#: ../NEWS:50029 -msgid "" -":issue:`1764286`: Fix inspect.getsource() to support decorated functions. " -"Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:50032 -msgid ":issue:`18554`: os.__all__ includes posix functions." -msgstr "" - -#: ../NEWS:50034 -msgid ":issue:`21391`: Use os.path.abspath in the shutil module." -msgstr "" - -#: ../NEWS:50036 -msgid "" -":issue:`11471`: avoid generating a JUMP_FORWARD instruction at the end of an" -" if-block if there is no else-clause. Original patch by Eugene Toder." -msgstr "" - -#: ../NEWS:50039 -msgid "" -":issue:`22215`: Now ValueError is raised instead of TypeError when str or " -"bytes argument contains not permitted null character or byte." -msgstr "" - -#: ../NEWS:50042 -msgid "" -":issue:`22258`: Fix the internal function set_inheritable() on Illumos. This" -" platform exposes the function ``ioctl(FIOCLEX)``, but calling it fails with" -" errno is ENOTTY: \"Inappropriate ioctl for device\". set_inheritable() now " -"falls back to the slower ``fcntl()`` (``F_GETFD`` and then ``F_SETFD``)." -msgstr "" - -#: ../NEWS:50048 -msgid "" -":issue:`21389`: Displaying the __qualname__ of the underlying function in " -"the repr of a bound method." -msgstr "" - -#: ../NEWS:50051 -msgid "" -":issue:`22206`: Using pthread, PyThread_create_key() now sets errno to " -"ENOMEM and returns -1 (error) on integer overflow." -msgstr "" - -#: ../NEWS:50054 -msgid "" -":issue:`20184`: Argument Clinic based signature introspection added for 30 " -"of the builtin functions." -msgstr "" - -#: ../NEWS:50057 -msgid "" -":issue:`22116`: C functions and methods (of the 'builtin_function_or_method'" -" type) can now be weakref'ed. Patch by Wei Wu." -msgstr "" - -#: ../NEWS:50060 -msgid "" -":issue:`22077`: Improve index error messages for bytearrays, bytes, lists, " -"and tuples by adding 'or slices'. Added ', not ' for bytearrays. " -"Original patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:50064 -msgid "" -":issue:`20179`: Apply Argument Clinic to bytes and bytearray. Patch by Tal " -"Einat." -msgstr "" - -#: ../NEWS:50067 -msgid ":issue:`22082`: Clear interned strings in slotdefs." -msgstr "" - -#: ../NEWS:50069 -msgid "Upgrade Unicode database to Unicode 7.0.0." -msgstr "Perbarui database Unicode ke Unicode 7.0.0." - -#: ../NEWS:50071 -msgid "" -":issue:`21897`: Fix a crash with the f_locals attribute with closure " -"variables when frame.clear() has been called." -msgstr "" - -#: ../NEWS:50074 -msgid "" -":issue:`21205`: Add a new ``__qualname__`` attribute to generator, the " -"qualified name, and use it in the representation of a generator " -"(``repr(gen)``). The default name of the generator (``__name__`` attribute) " -"is now get from the function instead of the code. Use " -"``gen.gi_code.co_name`` to get the name of the code." -msgstr "" - -#: ../NEWS:50080 -msgid "" -":issue:`21669`: With the aid of heuristics in SyntaxError.__init__, the " -"parser now attempts to generate more meaningful (or at least more search " -"engine friendly) error messages when \"exec\" and \"print\" are used as " -"statements." -msgstr "" - -#: ../NEWS:50084 -msgid "" -":issue:`21642`: In the conditional if-else expression, allow an integer " -"written with no space between itself and the ``else`` keyword (e.g. ``True " -"if 42else False``) to be valid syntax." -msgstr "" - -#: ../NEWS:50088 -msgid "" -":issue:`21523`: Fix over-pessimistic computation of the stack effect of some" -" opcodes in the compiler. This also fixes a quadratic compilation time " -"issue noticeable when compiling code with a large number of \"and\" and " -"\"or\" operators." -msgstr "" - -#: ../NEWS:50093 -msgid "" -":issue:`21418`: Fix a crash in the builtin function super() when called " -"without argument and without current frame (ex: embedded Python)." -msgstr "" - -#: ../NEWS:50096 -msgid "" -":issue:`21425`: Fix flushing of standard streams in the interactive " -"interpreter." -msgstr "" - -#: ../NEWS:50099 -msgid "" -":issue:`21435`: In rare cases, when running finalizers on objects in cyclic " -"trash a bad pointer dereference could occur due to a subtle flaw in internal" -" iteration logic." -msgstr "" - -#: ../NEWS:50103 -msgid "" -":issue:`21377`: PyBytes_Concat() now tries to concatenate in-place when the " -"first argument has a reference count of 1. Patch by Nikolaus Rath." -msgstr "" - -#: ../NEWS:50106 -msgid "" -":issue:`20355`: -W command line options now have higher priority than the " -"PYTHONWARNINGS environment variable. Patch by Arfrever." -msgstr "" - -#: ../NEWS:50109 -msgid ":issue:`21274`: Define PATH_MAX for GNU/Hurd in Python/pythonrun.c." -msgstr "" - -#: ../NEWS:50111 -msgid ":issue:`20904`: Support setting FPU precision on m68k." -msgstr "" - -#: ../NEWS:50113 -msgid "" -":issue:`21209`: Fix sending tuples to custom generator objects with the " -"yield from syntax." -msgstr "" - -#: ../NEWS:50116 -msgid "" -":issue:`21193`: pow(a, b, c) now raises ValueError rather than TypeError " -"when b is negative. Patch by Josh Rosenberg." -msgstr "" - -#: ../NEWS:50119 -msgid "" -":issue:`21176`: PEP 465: Add the '@' operator for matrix multiplication." -msgstr "" - -#: ../NEWS:50121 -msgid "" -":issue:`21134`: Fix segfault when str is called on an uninitialized " -"UnicodeEncodeError, UnicodeDecodeError, or UnicodeTranslateError object." -msgstr "" - -#: ../NEWS:50124 -msgid "" -":issue:`19537`: Fix PyUnicode_DATA() alignment under m68k. Patch by Andreas" -" Schwab." -msgstr "" - -#: ../NEWS:50127 -msgid ":issue:`20929`: Add a type cast to avoid shifting a negative number." -msgstr "" - -#: ../NEWS:50129 -msgid "" -":issue:`20731`: Properly position in source code files even if they are " -"opened in text mode. Patch by Serhiy Storchaka." -msgstr "" - -#: ../NEWS:50132 -msgid "" -":issue:`20637`: Key-sharing now also works for instance dictionaries of " -"subclasses. Patch by Peter Ingebretson." -msgstr "" - -#: ../NEWS:50135 -msgid "" -":issue:`8297`: Attributes missing from modules now include the module name " -"in the error text. Original patch by ysj.ray." -msgstr "" - -#: ../NEWS:50138 -msgid "" -":issue:`19995`: %c, %o, %x, and %X now raise TypeError on non-integer input." -msgstr "" - -#: ../NEWS:50140 -msgid "" -":issue:`19655`: The ASDL parser - used by the build process to generate code" -" for managing the Python AST in C - was rewritten. The new parser is self " -"contained and does not require to carry long the spark.py parser-generator " -"library; spark.py was removed from the source base." -msgstr "" - -#: ../NEWS:50145 -msgid "" -":issue:`12546`: Allow ``\\x00`` to be used as a fill character when using " -"str, int, float, and complex __format__ methods." -msgstr "" - -#: ../NEWS:50148 -msgid ":issue:`20480`: Add ipaddress.reverse_pointer. Patch by Leon Weber." -msgstr "" - -#: ../NEWS:50150 -msgid "" -":issue:`13598`: Modify string.Formatter to support auto-numbering of " -"replacement fields. It now matches the behavior of str.format() in this " -"regard. Patches by Phil Elson and Ramchandra Apte." -msgstr "" - -#: ../NEWS:50154 -msgid "" -":issue:`8931`: Make alternate formatting ('#') for type 'c' raise an " -"exception. In versions prior to 3.5, '#' with 'c' had no effect. Now " -"specifying it is an error. Patch by Torsten Landschoff." -msgstr "" - -#: ../NEWS:50158 -msgid "" -":issue:`23165`: Perform overflow checks before allocating memory in the " -"_Py_char2wchar function." -msgstr "" - -#: ../NEWS:50164 -msgid ":issue:`23399`: pyvenv creates relative symlinks where possible." -msgstr "" - -#: ../NEWS:50166 -msgid "" -":issue:`20289`: cgi.FieldStorage() now supports the context management " -"protocol." -msgstr "" - -#: ../NEWS:50169 -msgid "" -":issue:`13128`: Print response headers for CONNECT requests when debuglevel " -"> 0. Patch by Demian Brecht." -msgstr "" - -#: ../NEWS:50172 -msgid "" -":issue:`15381`: Optimized io.BytesIO to make less allocations and copyings." -msgstr "" - -#: ../NEWS:50174 -msgid "" -":issue:`22818`: Splitting on a pattern that could match an empty string now " -"raises a warning. Patterns that can only match empty strings are now " -"rejected." -msgstr "" - -#: ../NEWS:50178 -msgid "" -":issue:`23099`: Closing io.BytesIO with exported buffer is rejected now to " -"prevent corrupting exported buffer." -msgstr "" - -#: ../NEWS:50181 -msgid "" -":issue:`23326`: Removed __ne__ implementations. Since fixing default __ne__" -" implementation in :issue:`21408` they are redundant." -msgstr "" - -#: ../NEWS:50184 -msgid ":issue:`23363`: Fix possible overflow in itertools.permutations." -msgstr "" - -#: ../NEWS:50186 -msgid ":issue:`23364`: Fix possible overflow in itertools.product." -msgstr "" - -#: ../NEWS:50188 -msgid "" -":issue:`23366`: Fixed possible integer overflow in itertools.combinations." -msgstr "" - -#: ../NEWS:50190 -msgid "" -":issue:`23369`: Fixed possible integer overflow in " -"_json.encode_basestring_ascii." -msgstr "" - -#: ../NEWS:50193 -msgid "" -":issue:`23353`: Fix the exception handling of generators in " -"PyEval_EvalFrameEx(). At entry, save or swap the exception state even if " -"PyEval_EvalFrameEx() is called with throwflag=0. At exit, the exception " -"state is now always restored or swapped, not only if why is WHY_YIELD or " -"WHY_RETURN. Patch co-written with Antoine Pitrou." -msgstr "" - -#: ../NEWS:50199 -msgid "" -":issue:`14099`: Restored support of writing ZIP files to tellable but non-" -"seekable streams." -msgstr "" - -#: ../NEWS:50202 -msgid "" -":issue:`14099`: Writing to ZipFile and reading multiple ZipExtFiles is " -"threadsafe now." -msgstr "" - -#: ../NEWS:50205 -msgid "" -":issue:`19361`: JSON decoder now raises JSONDecodeError instead of " -"ValueError." -msgstr "" - -#: ../NEWS:50207 -msgid "" -":issue:`18518`: timeit now rejects statements which can't be compiled " -"outside a function or a loop (e.g. \"return\" or \"break\")." -msgstr "" - -#: ../NEWS:50210 -msgid "" -":issue:`23094`: Fixed readline with frames in Python implementation of " -"pickle." -msgstr "" - -#: ../NEWS:50212 -msgid ":issue:`23268`: Fixed bugs in the comparison of ipaddress classes." -msgstr "" - -#: ../NEWS:50214 -msgid "" -":issue:`21408`: Removed incorrect implementations of __ne__() which didn't " -"returned NotImplemented if __eq__() returned NotImplemented. The default " -"__ne__() now works correctly." -msgstr "" - -#: ../NEWS:50218 -msgid "" -":issue:`19996`: :class:`email.feedparser.FeedParser` now handles (malformed)" -" headers with no key rather than assuming the body has started." -msgstr "" - -#: ../NEWS:50221 -msgid "" -":issue:`20188`: Support Application-Layer Protocol Negotiation (ALPN) in the" -" ssl module." -msgstr "" - -#: ../NEWS:50224 -msgid "" -":issue:`23133`: Pickling of ipaddress objects now produces more compact and " -"portable representation." -msgstr "" - -#: ../NEWS:50227 -msgid ":issue:`23248`: Update ssl error codes from latest OpenSSL git master." -msgstr "" - -#: ../NEWS:50229 -msgid "" -":issue:`23266`: Much faster implementation of ipaddress.collapse_addresses()" -" when there are many non-consecutive addresses." -msgstr "" - -#: ../NEWS:50232 -msgid ":issue:`23098`: 64-bit dev_t is now supported in the os module." -msgstr "" - -#: ../NEWS:50234 -msgid "" -":issue:`21817`: When an exception is raised in a task submitted to a " -"ProcessPoolExecutor, the remote traceback is now displayed in the parent " -"process. Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:50238 -msgid "" -":issue:`15955`: Add an option to limit output size when decompressing LZMA " -"data. Patch by Nikolaus Rath and Martin Panter." -msgstr "" - -#: ../NEWS:50241 -msgid "" -":issue:`23250`: In the http.cookies module, capitalize \"HttpOnly\" and " -"\"Secure\" as they are written in the standard." -msgstr "" - -#: ../NEWS:50244 -msgid "" -":issue:`23063`: In the distutils' check command, fix parsing of reST with " -"code or code-block directives." -msgstr "" - -#: ../NEWS:50247 -msgid "" -":issue:`23209`: selectors.BaseSelector.get_key() now raises a RuntimeError " -"if the selector is closed. And selectors.BaseSelector.close() now clears its" -" internal reference to the selector mapping to break a reference cycle. " -"Initial patch written by Martin Richard. (See also: :issue:`23225`)" -msgstr "" - -#: ../NEWS:50252 -msgid "" -":issue:`17911`: Provide a way to seed the linecache for a PEP-302 module " -"without actually loading the code." -msgstr "" - -#: ../NEWS:50255 -msgid "" -":issue:`17911`: Provide a new object API for traceback, including the " -"ability to not lookup lines at all until the traceback is actually rendered," -" without any trace of the original objects being kept alive." -msgstr "" - -#: ../NEWS:50259 -msgid "" -":issue:`19777`: Provide a home() classmethod on Path objects. Contributed " -"by Victor Salgado and Mayank Tripathi." -msgstr "" - -#: ../NEWS:50262 -msgid "" -":issue:`23206`: Make ``json.dumps(..., ensure_ascii=False)`` as fast as the " -"default case of ``ensure_ascii=True``. Patch by Naoki Inada." -msgstr "" - -#: ../NEWS:50265 -msgid ":issue:`23185`: Add math.inf and math.nan constants." -msgstr "" - -#: ../NEWS:50267 -msgid "" -":issue:`23186`: Add ssl.SSLObject.shared_ciphers() and " -"ssl.SSLSocket.shared_ciphers() to fetch the client's list ciphers sent at " -"handshake." -msgstr "" - -#: ../NEWS:50271 -msgid ":issue:`23143`: Remove compatibility with OpenSSLs older than 0.9.8." -msgstr "" - -#: ../NEWS:50273 -msgid "" -":issue:`23132`: Improve performance and introspection support of comparison " -"methods created by functool.total_ordering." -msgstr "" - -#: ../NEWS:50276 -msgid ":issue:`19776`: Add an expanduser() method on Path objects." -msgstr "" - -#: ../NEWS:50278 -msgid "" -":issue:`23112`: Fix SimpleHTTPServer to correctly carry the query string and" -" fragment when it redirects to add a trailing slash." -msgstr "" - -#: ../NEWS:50281 -msgid "" -":issue:`21793`: Added http.HTTPStatus enums (i.e. HTTPStatus.OK, " -"HTTPStatus.NOT_FOUND). Patch by Demian Brecht." -msgstr "" - -#: ../NEWS:50284 -msgid "" -":issue:`23093`: In the io, module allow more operations to work on detached " -"streams." -msgstr "" - -#: ../NEWS:50287 -msgid "" -":issue:`23111`: In the ftplib, make ssl.PROTOCOL_SSLv23 the default protocol" -" version." -msgstr "" - -#: ../NEWS:50290 -msgid "" -":issue:`22585`: On OpenBSD 5.6 and newer, os.urandom() now calls " -"getentropy(), instead of reading /dev/urandom, to get pseudo-random bytes." -msgstr "" - -#: ../NEWS:50293 -msgid "" -":issue:`19104`: pprint now produces evaluable output for wrapped strings." -msgstr "" - -#: ../NEWS:50295 -msgid "" -":issue:`23071`: Added missing names to codecs.__all__. Patch by Martin " -"Panter." -msgstr "" - -#: ../NEWS:50297 -msgid "" -":issue:`22783`: Pickling now uses the NEWOBJ opcode instead of the NEWOBJ_EX" -" opcode if possible." -msgstr "" - -#: ../NEWS:50300 -msgid ":issue:`15513`: Added a __sizeof__ implementation for pickle classes." -msgstr "" - -#: ../NEWS:50302 -msgid "" -":issue:`19858`: pickletools.optimize() now aware of the MEMOIZE opcode, can " -"produce more compact result and no longer produces invalid output if input " -"data contains MEMOIZE opcodes together with PUT or BINPUT opcodes." -msgstr "" - -#: ../NEWS:50306 -msgid "" -":issue:`22095`: Fixed HTTPConnection.set_tunnel with default port. The port" -" value in the host header was set to \"None\". Patch by Demian Brecht." -msgstr "" - -#: ../NEWS:50309 -msgid "" -":issue:`23016`: A warning no longer produces an AttributeError when the " -"program is run with pythonw.exe." -msgstr "" - -#: ../NEWS:50312 -msgid "" -":issue:`21775`: shutil.copytree(): fix crash when copying to VFAT. An " -"exception handler assumed that OSError objects always have a 'winerror' " -"attribute. That is not the case, so the exception handler itself raised " -"AttributeError when run on Linux (and, presumably, any other non-Windows " -"OS). Patch by Greg Ward." -msgstr "" - -#: ../NEWS:50318 -msgid "" -":issue:`1218234`: Fix inspect.getsource() to load updated source of reloaded" -" module. Initial patch by Berker Peksag." -msgstr "" - -#: ../NEWS:50321 -msgid "" -":issue:`21740`: Support wrapped callables in doctest. Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:50323 -msgid "" -":issue:`23009`: Make sure selectors.EpollSelector.select() works when no FD " -"is registered." -msgstr "" - -#: ../NEWS:50326 -msgid "" -":issue:`22959`: In the constructor of http.client.HTTPSConnection, prefer " -"the context's check_hostname attribute over the *check_hostname* parameter." -msgstr "" - -#: ../NEWS:50329 -msgid "" -":issue:`22696`: Add function :func:`sys.is_finalizing` to know about " -"interpreter shutdown." -msgstr "" - -#: ../NEWS:50332 -msgid "" -":issue:`16043`: Add a default limit for the amount of data " -"xmlrpclib.gzip_decode will return. This resolves :cve:`2013-1753`." -msgstr "" - -#: ../NEWS:50335 -msgid "" -":issue:`14099`: ZipFile.open() no longer reopen the underlying file. " -"Objects returned by ZipFile.open() can now operate independently of the " -"ZipFile even if the ZipFile was created by passing in a file-like object as " -"the first argument to the constructor." -msgstr "" - -#: ../NEWS:50340 -msgid "" -":issue:`22966`: Fix __pycache__ pyc file name clobber when pyc_compile is " -"asked to compile a source file containing multiple dots in the source file " -"name." -msgstr "" - -#: ../NEWS:50343 -msgid ":issue:`21971`: Update turtledemo doc and add module to the index." -msgstr "" - -#: ../NEWS:50345 -msgid "" -":issue:`21032`: Fixed socket leak if HTTPConnection.getresponse() fails. " -"Original patch by Martin Panter." -msgstr "" - -#: ../NEWS:50348 -msgid "" -":issue:`22407`: Deprecated the use of re.LOCALE flag with str patterns or " -"re.ASCII. It was newer worked." -msgstr "" - -#: ../NEWS:50351 -msgid "" -":issue:`22902`: The \"ip\" command is now used on Linux to determine MAC " -"address in uuid.getnode(). Patch by Bruno Cauet." -msgstr "" - -#: ../NEWS:50354 -msgid "" -":issue:`22960`: Add a context argument to xmlrpclib.ServerProxy constructor." -msgstr "" - -#: ../NEWS:50356 -msgid ":issue:`22389`: Add contextlib.redirect_stderr()." -msgstr "" - -#: ../NEWS:50358 -msgid "" -":issue:`21356`: Make ssl.RAND_egd() optional to support LibreSSL. The " -"availability of the function is checked during the compilation. Patch " -"written by Bernard Spil." -msgstr "" - -#: ../NEWS:50362 -msgid "" -":issue:`22915`: SAX parser now supports files opened with file descriptor or" -" bytes path." -msgstr "" - -#: ../NEWS:50365 -msgid "" -":issue:`22609`: Constructors and update methods of mapping classes in the " -"collections module now accept the self keyword argument." -msgstr "" - -#: ../NEWS:50368 -msgid ":issue:`22940`: Add readline.append_history_file." -msgstr "" - -#: ../NEWS:50370 -msgid ":issue:`19676`: Added the \"namereplace\" error handler." -msgstr "" - -#: ../NEWS:50372 -msgid "" -":issue:`22788`: Add *context* parameter to logging.handlers.HTTPHandler." -msgstr "" - -#: ../NEWS:50374 -msgid "" -":issue:`22921`: Allow SSLContext to take the *hostname* parameter even if " -"OpenSSL doesn't support SNI." -msgstr "" - -#: ../NEWS:50377 -msgid "" -":issue:`22894`: TestCase.subTest() would cause the test suite to be stopped " -"when in failfast mode, even in the absence of failures." -msgstr "" - -#: ../NEWS:50380 -msgid "" -":issue:`22796`: HTTP cookie parsing is now stricter, in order to protect " -"against potential injection attacks." -msgstr "" - -#: ../NEWS:50383 -msgid ":issue:`22370`: Windows detection in pathlib is now more robust." -msgstr "" - -#: ../NEWS:50385 -msgid "" -":issue:`22841`: Reject coroutines in asyncio add_signal_handler(). Patch by " -"Ludovic.Gasc." -msgstr "" - -#: ../NEWS:50388 -msgid "" -":issue:`19494`: Added urllib.request.HTTPBasicPriorAuthHandler. Patch by " -"Matej Cepl." -msgstr "" - -#: ../NEWS:50391 -msgid ":issue:`22578`: Added attributes to the re.error class." -msgstr "" - -#: ../NEWS:50393 -msgid "" -":issue:`22849`: Fix possible double free in the io.TextIOWrapper " -"constructor." -msgstr "" - -#: ../NEWS:50395 -msgid "" -":issue:`12728`: Different Unicode characters having the same uppercase but " -"different lowercase are now matched in case-insensitive regular expressions." -msgstr "" - -#: ../NEWS:50399 -msgid "" -":issue:`22821`: Fixed fcntl() with integer argument on 64-bit big-endian " -"platforms." -msgstr "" - -#: ../NEWS:50402 -msgid ":issue:`21650`: Add an ``--sort-keys`` option to ``json.tool`` CLI." -msgstr "" - -#: ../NEWS:50404 -msgid "" -":issue:`22824`: Updated reprlib output format for sets to use set literals. " -"Patch contributed by Berker Peksag." -msgstr "" - -#: ../NEWS:50407 -msgid "" -":issue:`22824`: Updated reprlib output format for arrays to display empty " -"arrays without an unnecessary empty list. Suggested by Serhiy Storchaka." -msgstr "" - -#: ../NEWS:50410 -msgid "" -":issue:`22406`: Fixed the uu_codec codec incorrectly ported to 3.x. Based on" -" patch by Martin Panter." -msgstr "" - -#: ../NEWS:50413 -msgid "" -":issue:`17293`: uuid.getnode() now determines MAC address on AIX using " -"netstat. Based on patch by Aivars Kalvāns." -msgstr "" - -#: ../NEWS:50416 -msgid "" -":issue:`22769`: Fixed ttk.Treeview.tag_has() when called without arguments." -msgstr "" - -#: ../NEWS:50418 -msgid ":issue:`22417`: Verify certificates by default in httplib (PEP 476)." -msgstr "" - -#: ../NEWS:50420 -msgid "" -":issue:`22775`: Fixed unpickling of http.cookies.SimpleCookie with protocol " -"2 and above. Patch by Tim Graham." -msgstr "" - -#: ../NEWS:50423 -msgid "" -":issue:`22776`: Brought excluded code into the scope of a try block in " -"SysLogHandler.emit()." -msgstr "" - -#: ../NEWS:50426 -msgid "" -":issue:`22665`: Add missing get_terminal_size and SameFileError to " -"shutil.__all__." -msgstr "" - -#: ../NEWS:50429 -msgid "" -":issue:`6623`: Remove deprecated Netrc class in the ftplib module. Patch by " -"Matt Chaput." -msgstr "" - -#: ../NEWS:50432 -msgid "" -":issue:`17381`: Fixed handling of case-insensitive ranges in regular " -"expressions." -msgstr "" - -#: ../NEWS:50435 -msgid "" -":issue:`22410`: Module level functions in the re module now cache compiled " -"locale-dependent regular expressions taking into account the locale." -msgstr "" - -#: ../NEWS:50438 -msgid "" -":issue:`22759`: Query methods on pathlib.Path() (exists(), is_dir(), etc.) " -"now return False when the underlying stat call raises NotADirectoryError." -msgstr "" - -#: ../NEWS:50441 -msgid "" -":issue:`8876`: distutils now falls back to copying files when hard linking " -"doesn't work. This allows use with special filesystems such as VirtualBox " -"shared folders." -msgstr "" - -#: ../NEWS:50445 -msgid ":issue:`22217`: Implemented reprs of classes in the zipfile module." -msgstr "" - -#: ../NEWS:50447 -msgid ":issue:`22457`: Honour load_tests in the start_dir of discovery." -msgstr "" - -#: ../NEWS:50449 -msgid "" -":issue:`18216`: gettext now raises an error when a .mo file has an " -"unsupported major version number. Patch by Aaron Hill." -msgstr "" - -#: ../NEWS:50452 -msgid "" -":issue:`13918`: Provide a locale.delocalize() function which can remove " -"locale-specific number formatting from a string representing a number, " -"without then converting it to a specific type. Patch by Cédric Krier." -msgstr "" - -#: ../NEWS:50456 -msgid "" -":issue:`22676`: Make the pickling of global objects which don't have a " -"__module__ attribute less slow." -msgstr "" - -#: ../NEWS:50459 -msgid ":issue:`18853`: Fixed ResourceWarning in shlex.__nain__." -msgstr "" - -#: ../NEWS:50461 -msgid "" -":issue:`9351`: Defaults set with set_defaults on an argparse subparser are " -"no longer ignored when also set on the parent parser." -msgstr "" - -#: ../NEWS:50464 -msgid "" -":issue:`7559`: unittest test loading ImportErrors are reported as import " -"errors with their import exception rather than as attribute errors after the" -" import has already failed." -msgstr "" - -#: ../NEWS:50468 -msgid "" -":issue:`19746`: Make it possible to examine the errors from unittest " -"discovery without executing the test suite. The new ``errors`` attribute on " -"``TestLoader`` exposes these non-fatal errors encountered during discovery." -msgstr "" - -#: ../NEWS:50473 -msgid "" -":issue:`21991`: Make email.headerregistry's header 'params' attributes be " -"read-only (MappingProxyType). Previously the dictionary was modifiable but " -"a new one was created on each access of the attribute." -msgstr "" - -#: ../NEWS:50477 -msgid "" -":issue:`22638`: SSLv3 is now disabled throughout the standard library. It " -"can still be enabled by instantiating a SSLContext manually." -msgstr "" - -#: ../NEWS:50480 -msgid "" -":issue:`22641`: In asyncio, the default SSL context for client connections " -"is now created using ssl.create_default_context(), for stronger security." -msgstr "" - -#: ../NEWS:50483 -msgid ":issue:`17401`: Include closefd in io.FileIO repr." -msgstr "" - -#: ../NEWS:50485 -msgid "" -":issue:`21338`: Add silent mode for compileall. quiet parameters of " -"compile_{dir, file, path} functions now have a multilevel value. Also, -q " -"option of the CLI now have a multilevel value. Patch by Thomas Kluyver." -msgstr "" - -#: ../NEWS:50489 -msgid "" -":issue:`20152`: Convert the array and cmath modules to Argument Clinic." -msgstr "" - -#: ../NEWS:50491 -msgid ":issue:`18643`: Add socket.socketpair() on Windows." -msgstr "" - -#: ../NEWS:50493 -msgid "" -":issue:`22435`: Fix a file descriptor leak when socketserver bind fails." -msgstr "" - -#: ../NEWS:50495 -msgid "" -":issue:`13096`: Fixed segfault in CTypes POINTER handling of large values." -msgstr "" - -#: ../NEWS:50497 -msgid "" -":issue:`11694`: Raise ConversionError in xdrlib as documented. Patch by " -"Filip Gruszczyński and Claudiu Popa." -msgstr "" - -#: ../NEWS:50500 -msgid ":issue:`19380`: Optimized parsing of regular expressions." -msgstr "" - -#: ../NEWS:50502 -msgid "" -":issue:`1519638`: Now unmatched groups are replaced with empty strings in " -"re.sub() and re.subn()." -msgstr "" - -#: ../NEWS:50505 -msgid ":issue:`18615`: sndhdr.what/whathdr now return a namedtuple." -msgstr "" - -#: ../NEWS:50507 -msgid "" -":issue:`22462`: Fix pyexpat's creation of a dummy frame to make it appear in" -" exception tracebacks." -msgstr "" - -#: ../NEWS:50510 -msgid "" -":issue:`21965`: Add support for in-memory SSL to the ssl module. Patch by " -"Geert Jansen." -msgstr "" - -#: ../NEWS:50513 -msgid "" -":issue:`21173`: Fix len() on a WeakKeyDictionary when .clear() was called " -"with an iterator alive." -msgstr "" - -#: ../NEWS:50516 -msgid "" -":issue:`11866`: Eliminated race condition in the computation of names for " -"new threads." -msgstr "" - -#: ../NEWS:50519 -msgid "" -":issue:`21905`: Avoid RuntimeError in pickle.whichmodule() when sys.modules " -"is mutated while iterating. Patch by Olivier Grisel." -msgstr "" - -#: ../NEWS:50522 -msgid "" -":issue:`11271`: concurrent.futures.Executor.map() now takes a *chunksize* " -"argument to allow batching of tasks in child processes and improve " -"performance of ProcessPoolExecutor. Patch by Dan O'Reilly." -msgstr "" - -#: ../NEWS:50526 -msgid "" -":issue:`21883`: os.path.join() and os.path.relpath() now raise a TypeError " -"with more helpful error message for unsupported or mismatched types of " -"arguments." -msgstr "" - -#: ../NEWS:50530 -msgid "" -":issue:`22219`: The zipfile module CLI now adds entries for directories " -"(including empty directories) in ZIP file." -msgstr "" - -#: ../NEWS:50533 -msgid "" -":issue:`22449`: In the ssl.SSLContext.load_default_certs, consult the " -"environmental variables SSL_CERT_DIR and SSL_CERT_FILE on Windows." -msgstr "" - -#: ../NEWS:50536 -msgid "" -":issue:`22508`: The email.__version__ variable has been removed; the email " -"code is no longer shipped separately from the stdlib, and __version__ hasn't" -" been updated in several releases." -msgstr "" - -#: ../NEWS:50540 -msgid "" -":issue:`20076`: Added non derived UTF-8 aliases to locale aliases table." -msgstr "" - -#: ../NEWS:50542 -msgid "" -":issue:`20079`: Added locales supported in glibc 2.18 to locale alias table." -msgstr "" - -#: ../NEWS:50544 -msgid "" -":issue:`20218`: Added convenience methods read_text/write_text and " -"read_bytes/ write_bytes to pathlib.Path objects." -msgstr "" - -#: ../NEWS:50547 -msgid "" -":issue:`22396`: On 32-bit AIX platform, don't expose os.posix_fadvise() nor " -"os.posix_fallocate() because their prototypes in system headers are wrong." -msgstr "" - -#: ../NEWS:50550 -msgid "" -":issue:`22517`: When an io.BufferedRWPair object is deallocated, clear its " -"weakrefs." -msgstr "" - -#: ../NEWS:50553 -msgid "" -":issue:`22437`: Number of capturing groups in regular expression is no " -"longer limited by 100." -msgstr "" - -#: ../NEWS:50556 -msgid "" -":issue:`17442`: InteractiveInterpreter now displays the full chained " -"traceback in its showtraceback method, to match the built in interactive " -"interpreter." -msgstr "" - -#: ../NEWS:50560 -msgid ":issue:`23392`: Added tests for marshal C API that works with FILE*." -msgstr "" - -#: ../NEWS:50562 -msgid "" -":issue:`10510`: distutils register and upload methods now use HTML standards" -" compliant CRLF line endings." -msgstr "" - -#: ../NEWS:50565 -msgid "" -":issue:`9850`: Fixed macpath.join() for empty first component. Patch by " -"Oleg Oshmyan." -msgstr "" - -#: ../NEWS:50568 -msgid "" -":issue:`5309`: distutils' build and build_ext commands now accept a ``-j`` " -"option to enable parallel building of extension modules." -msgstr "" - -#: ../NEWS:50571 -msgid "" -":issue:`22448`: Improve canceled timer handles cleanup to prevent unbound " -"memory usage. Patch by Joshua Moore-Oliva." -msgstr "" - -#: ../NEWS:50574 -msgid "" -":issue:`22427`: TemporaryDirectory no longer attempts to clean up twice when" -" used in the with statement in generator." -msgstr "" - -#: ../NEWS:50577 -msgid "" -":issue:`22362`: Forbidden ambiguous octal escapes out of range 0-0o377 in " -"regular expressions." -msgstr "" - -#: ../NEWS:50580 -msgid "" -":issue:`20912`: Now directories added to ZIP file have correct Unix and MS-" -"DOS directory attributes." -msgstr "" - -#: ../NEWS:50583 -msgid "" -":issue:`21866`: ZipFile.close() no longer writes ZIP64 central directory " -"records if allowZip64 is false." -msgstr "" - -#: ../NEWS:50586 -msgid "" -":issue:`22278`: Fix urljoin problem with relative urls, a regression " -"observed after changes to issue22118 were submitted." -msgstr "" - -#: ../NEWS:50589 -msgid "" -":issue:`22415`: Fixed debugging output of the GROUPREF_EXISTS opcode in the " -"re module. Removed trailing spaces in debugging output." -msgstr "" - -#: ../NEWS:50592 -msgid "" -":issue:`22423`: Unhandled exception in thread no longer causes unhandled " -"AttributeError when sys.stderr is None." -msgstr "" - -#: ../NEWS:50595 -msgid "" -":issue:`21332`: Ensure that ``bufsize=1`` in subprocess.Popen() selects line" -" buffering, rather than block buffering. Patch by Akira Li." -msgstr "" - -#: ../NEWS:50598 -msgid "" -":issue:`21091`: Fix API bug: email.message.EmailMessage.is_attachment is now" -" a method." -msgstr "" - -#: ../NEWS:50601 -msgid "" -":issue:`21079`: Fix email.message.EmailMessage.is_attachment to return the " -"correct result when the header has parameters as well as a value." -msgstr "" - -#: ../NEWS:50604 -msgid ":issue:`22247`: Add NNTPError to nntplib.__all__." -msgstr "" - -#: ../NEWS:50606 -msgid "" -":issue:`22366`: urllib.request.urlopen will accept a context object " -"(SSLContext) as an argument which will then be used for HTTPS connection. " -"Patch by Alex Gaynor." -msgstr "" - -#: ../NEWS:50610 -msgid "" -":issue:`4180`: The warnings registries are now reset when the filters are " -"modified." -msgstr "" - -#: ../NEWS:50613 -msgid "" -":issue:`22419`: Limit the length of incoming HTTP request in wsgiref server " -"to 65536 bytes and send a 414 error code for higher lengths. Patch " -"contributed by Devin Cook." -msgstr "" - -#: ../NEWS:50617 -msgid "" -"Lax cookie parsing in http.cookies could be a security issue when combined " -"with non-standard cookie handling in some web browsers. Reported by Sergey " -"Bobrov." -msgstr "" - -#: ../NEWS:50621 -msgid "" -":issue:`20537`: logging methods now accept an exception instance as well as " -"a Boolean value or exception tuple. Thanks to Yury Selivanov for the patch." -msgstr "" - -#: ../NEWS:50624 -msgid "" -":issue:`22384`: An exception in Tkinter callback no longer crashes the " -"program when it is run with pythonw.exe." -msgstr "" - -#: ../NEWS:50627 -msgid "" -":issue:`22168`: Prevent turtle AttributeError with non-default Canvas on OS " -"X." -msgstr "" - -#: ../NEWS:50629 -msgid "" -":issue:`21147`: sqlite3 now raises an exception if the request contains a " -"null character instead of truncating it. Based on patch by Victor Stinner." -msgstr "" - -#: ../NEWS:50632 -msgid "" -":issue:`13968`: The glob module now supports recursive search in " -"subdirectories using the ``**`` pattern." -msgstr "" - -#: ../NEWS:50635 -msgid "" -":issue:`21951`: Fixed a crash in Tkinter on AIX when called Tcl command with" -" empty string or tuple argument." -msgstr "" - -#: ../NEWS:50638 -msgid "" -":issue:`21951`: Tkinter now most likely raises MemoryError instead of crash " -"if the memory allocation fails." -msgstr "" - -#: ../NEWS:50641 -msgid "" -":issue:`22338`: Fix a crash in the json module on memory allocation failure." -msgstr "" - -#: ../NEWS:50643 -msgid "" -":issue:`12410`: imaplib.IMAP4 now supports the context management protocol. " -"Original patch by Tarek Ziadé." -msgstr "" - -#: ../NEWS:50646 -msgid "" -":issue:`21270`: We now override tuple methods in mock.call objects so that " -"they can be used as normal call attributes." -msgstr "" - -#: ../NEWS:50649 -msgid "" -":issue:`16662`: ``load_tests()`` is now unconditionally run when it is " -"present in a package's ``__init__.py``. " -"``TestLoader.loadTestsFromModule()`` still accepts use_load_tests, but it is" -" deprecated and ignored. A new keyword-only attribute ``pattern`` is added " -"and documented. Patch given by Robert Collins, tweaked by Barry Warsaw." -msgstr "" - -#: ../NEWS:50655 -msgid "" -":issue:`22226`: First letter no longer is stripped from the \"status\" key " -"in the result of Treeview.heading()." -msgstr "" - -#: ../NEWS:50658 -msgid "" -":issue:`19524`: Fixed resource leak in the HTTP connection when an invalid " -"response is received. Patch by Martin Panter." -msgstr "" - -#: ../NEWS:50661 -msgid "" -":issue:`20421`: Add a .version() method to SSL sockets exposing the actual " -"protocol version in use." -msgstr "" - -#: ../NEWS:50664 -msgid "" -":issue:`19546`: configparser exceptions no longer expose implementation " -"details. Chained KeyErrors are removed, which leads to cleaner tracebacks. " -"Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:50668 -msgid "" -":issue:`22051`: turtledemo no longer reloads examples to re-run them. " -"Initialization of variables and gui setup should be done in main(), which is" -" called each time a demo is run, but not on import." -msgstr "" - -#: ../NEWS:50672 -msgid "" -":issue:`21933`: Turtledemo users can change the code font size with a menu " -"selection or control(command) '-' or '+' or control-mousewheel. Original " -"patch by Lita Cho." -msgstr "" - -#: ../NEWS:50676 -msgid "" -":issue:`21597`: The separator between the turtledemo text pane and the " -"drawing canvas can now be grabbed and dragged with a mouse. The code text " -"pane can be widened to easily view or copy the full width of the text. The " -"canvas can be widened on small screens. Original patches by Jan Kanis and " -"Lita Cho." -msgstr "" - -#: ../NEWS:50682 -msgid "" -":issue:`18132`: Turtledemo buttons no longer disappear when the window is " -"shrunk. Original patches by Jan Kanis and Lita Cho." -msgstr "" - -#: ../NEWS:50685 -msgid "" -":issue:`22043`: time.monotonic() is now always available. " -"``threading.Lock.acquire()``, ``threading.RLock.acquire()`` and socket " -"operations now use a monotonic clock, instead of the system clock, when a " -"timeout is used." -msgstr "" - -#: ../NEWS:50690 -msgid "" -":issue:`21527`: Add a default number of workers to ThreadPoolExecutor equal " -"to 5 times the number of CPUs. Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:50693 -msgid "" -":issue:`22216`: smtplib now resets its state more completely after a quit. " -"The most obvious consequence of the previous behavior was a STARTTLS failure" -" during a connect/starttls/quit/connect/starttls sequence." -msgstr "" - -#: ../NEWS:50697 -msgid "" -":issue:`22098`: ctypes' BigEndianStructure and LittleEndianStructure now " -"define an empty __slots__ so that subclasses don't always get an instance " -"dict. Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:50701 -msgid "" -":issue:`22185`: Fix an occasional RuntimeError in threading.Condition.wait()" -" caused by mutation of the waiters queue without holding the lock. Patch by" -" Doug Zongker." -msgstr "" - -#: ../NEWS:50705 -msgid "" -":issue:`22287`: On UNIX, _PyTime_gettimeofday() now uses " -"clock_gettime(CLOCK_REALTIME) if available. As a side effect, Python now " -"depends on the librt library on Solaris and on Linux (only with glibc older " -"than 2.17)." -msgstr "" - -#: ../NEWS:50710 -msgid "" -":issue:`22182`: Use e.args to unpack exceptions correctly in " -"distutils.file_util.move_file. Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:50713 -msgid "" -"The webbrowser module now uses subprocess's start_new_session=True rather " -"than a potentially risky preexec_fn=os.setsid call." -msgstr "" - -#: ../NEWS:50716 -msgid "" -":issue:`22042`: signal.set_wakeup_fd(fd) now raises an exception if the file" -" descriptor is in blocking mode." -msgstr "" - -#: ../NEWS:50719 -msgid "" -":issue:`16808`: inspect.stack() now returns a named tuple instead of a " -"tuple. Patch by Daniel Shahaf." -msgstr "" - -#: ../NEWS:50722 -msgid "" -":issue:`22236`: Fixed Tkinter images copying operations in NoDefaultRoot " -"mode." -msgstr "" - -#: ../NEWS:50724 -msgid "" -":issue:`2527`: Add a *globals* argument to timeit functions, in order to " -"override the globals namespace in which the timed code is executed. Patch by" -" Ben Roberts." -msgstr "" - -#: ../NEWS:50728 -msgid "" -":issue:`22118`: Switch urllib.parse to use RFC 3986 semantics for the " -"resolution of relative URLs, rather than RFCs 1808 and 2396. Patch by Demian" -" Brecht." -msgstr "" - -#: ../NEWS:50732 -msgid ":issue:`21549`: Added the \"members\" parameter to TarFile.list()." -msgstr "" - -#: ../NEWS:50734 -msgid "" -":issue:`19628`: Allow compileall recursion depth to be specified with a -r " -"option." -msgstr "" - -#: ../NEWS:50737 -msgid "" -":issue:`15696`: Add a __sizeof__ implementation for mmap objects on Windows." -msgstr "" - -#: ../NEWS:50739 -msgid "" -":issue:`22068`: Avoided reference loops with Variables and Fonts in Tkinter." -msgstr "" - -#: ../NEWS:50741 -msgid "" -":issue:`22165`: SimpleHTTPRequestHandler now supports undecodable file " -"names." -msgstr "" - -#: ../NEWS:50743 -msgid ":issue:`15381`: Optimized line reading in io.BytesIO." -msgstr "" - -#: ../NEWS:50745 -msgid "" -":issue:`8797`: Raise HTTPError on failed Basic Authentication immediately. " -"Initial patch by Sam Bull." -msgstr "" - -#: ../NEWS:50748 -msgid "" -":issue:`20729`: Restored the use of lazy iterkeys()/itervalues()/iteritems()" -" in the mailbox module." -msgstr "" - -#: ../NEWS:50751 -msgid "" -":issue:`21448`: Changed FeedParser feed() to avoid *O*\\ (*n*\\ :sup:`2`) " -"behavior when parsing long line. Original patch by Raymond Hettinger." -msgstr "" - -#: ../NEWS:50754 -msgid "" -":issue:`22184`: The functools LRU Cache decorator factory now gives an " -"earlier and clearer error message when the user forgets the required " -"parameters." -msgstr "" - -#: ../NEWS:50757 -msgid "" -":issue:`17923`: glob() patterns ending with a slash no longer match non-dirs" -" on AIX. Based on patch by Delhallt." -msgstr "" - -#: ../NEWS:50760 -msgid ":issue:`21725`: Added support for RFC 6531 (SMTPUTF8) in smtpd." -msgstr "" - -#: ../NEWS:50762 -msgid "" -":issue:`22176`: Update the ctypes module's libffi to v3.1. This release " -"adds support for the Linux AArch64 and POWERPC ELF ABIv2 little endian " -"architectures." -msgstr "" - -#: ../NEWS:50766 -msgid "" -":issue:`5411`: Added support for the \"xztar\" format in the shutil module." -msgstr "" - -#: ../NEWS:50768 -msgid "" -":issue:`21121`: Don't force 3rd party C extensions to be built with " -"-Werror=declaration-after-statement." -msgstr "" - -#: ../NEWS:50771 -msgid "" -":issue:`21975`: Fixed crash when using uninitialized sqlite3.Row (in " -"particular when unpickling pickled sqlite3.Row). sqlite3.Row is now " -"initialized in the __new__() method." -msgstr "" - -#: ../NEWS:50775 -msgid ":issue:`20170`: Convert posixmodule to use Argument Clinic." -msgstr "" - -#: ../NEWS:50777 -msgid "" -":issue:`21539`: Add an *exists_ok* argument to ``Pathlib.mkdir()`` to mimic " -"``mkdir -p`` and ``os.makedirs()`` functionality. When true, ignore " -"``FileExistsErrors``. Patch by Berker Peksag." -msgstr "" - -#: ../NEWS:50781 -msgid "" -":issue:`22127`: Bypass IDNA for pure-ASCII host names in the socket module " -"(in particular for numeric IPs)." -msgstr "" - -#: ../NEWS:50784 -msgid "" -":issue:`21047`: set the default value for the *convert_charrefs* argument of" -" HTMLParser to True. Patch by Berker Peksag." -msgstr "" - -#: ../NEWS:50787 -msgid "Add an __all__ to html.entities." -msgstr "Menambahkan sebuah __all__ ke html.entities." - -#: ../NEWS:50789 -msgid "" -":issue:`15114`: the strict mode and argument of HTMLParser, " -"HTMLParser.error, and the HTMLParserError exception have been removed." -msgstr "" - -#: ../NEWS:50792 -msgid ":issue:`22085`: Dropped support of Tk 8.3 in Tkinter." -msgstr "" - -#: ../NEWS:50794 -msgid "" -":issue:`21580`: Now Tkinter correctly handles bytes arguments passed to Tk. " -"In particular this allows initializing images from binary data." -msgstr "" - -#: ../NEWS:50797 -msgid "" -":issue:`22003`: When initialized from a bytes object, io.BytesIO() now " -"defers making a copy until it is mutated, improving performance and memory " -"use on some use cases. Patch by David Wilson." -msgstr "" - -#: ../NEWS:50801 -msgid "" -":issue:`22018`: On Windows, signal.set_wakeup_fd() now also supports " -"sockets. A side effect is that Python depends to the WinSock library." -msgstr "" - -#: ../NEWS:50804 -msgid "" -":issue:`22054`: Add os.get_blocking() and os.set_blocking() functions to get" -" and set the blocking mode of a file descriptor (False if the O_NONBLOCK " -"flag is set, True otherwise). These functions are not available on Windows." -msgstr "" - -#: ../NEWS:50809 -msgid "" -":issue:`17172`: Make turtledemo start as active on OS X even when run with " -"subprocess. Patch by Lita Cho." -msgstr "" - -#: ../NEWS:50812 -msgid "" -":issue:`21704`: Fix build error for _multiprocessing when semaphores are not" -" available. Patch by Arfrever Frehtes Taifersar Arahesis." -msgstr "" - -#: ../NEWS:50815 -msgid "" -":issue:`20173`: Convert sha1, sha256, sha512 and md5 to ArgumentClinic. " -"Patch by Vajrasky Kok." -msgstr "" - -#: ../NEWS:50818 -msgid "" -"Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError on" -" closed socket. repr(socket.socket) already works fine." -msgstr "" - -#: ../NEWS:50821 -msgid "" -":issue:`22033`: Reprs of most Python implemented classes now contain actual " -"class name instead of hardcoded one." -msgstr "" - -#: ../NEWS:50824 -msgid "" -":issue:`21947`: The dis module can now disassemble generator-iterator " -"objects based on their gi_code attribute. Patch by Clement Rouault." -msgstr "" - -#: ../NEWS:50827 -msgid "" -":issue:`16133`: The asynchat.async_chat.handle_read() method now ignores " -"BlockingIOError exceptions." -msgstr "" - -#: ../NEWS:50830 -msgid "" -":issue:`22044`: Fixed premature DECREF in call_tzinfo_method. Patch by Tom " -"Flanagan." -msgstr "" - -#: ../NEWS:50833 -msgid "" -":issue:`19884`: readline: Disable the meta modifier key if stdout is not a " -"terminal to not write the ANSI sequence ``\"\\033[1034h\"`` into stdout. " -"This sequence is used on some terminal (ex: TERM=xterm-256color\") to enable" -" support of 8 bit characters." -msgstr "" - -#: ../NEWS:50838 -msgid "" -":issue:`4350`: Removed a number of out-of-dated and non-working for a long " -"time Tkinter methods." -msgstr "" - -#: ../NEWS:50841 -msgid "" -":issue:`6167`: Scrollbar.activate() now returns the name of active element " -"if the argument is not specified. Scrollbar.set() now always accepts only 2" -" arguments." -msgstr "" - -#: ../NEWS:50845 -msgid ":issue:`15275`: Clean up and speed up the ntpath module." -msgstr "" - -#: ../NEWS:50847 -msgid "" -":issue:`21888`: plistlib's load() and loads() now work if the fmt parameter " -"is specified." -msgstr "" - -#: ../NEWS:50850 -msgid "" -":issue:`22032`: __qualname__ instead of __name__ is now always used to " -"format fully qualified class names of Python implemented classes." -msgstr "" - -#: ../NEWS:50853 -msgid "" -":issue:`22031`: Reprs now always use hexadecimal format with the \"0x\" " -"prefix when contain an id in form \" at 0x...\"." -msgstr "" - -#: ../NEWS:50856 -msgid "" -":issue:`22018`: signal.set_wakeup_fd() now raises an OSError instead of a " -"ValueError on ``fstat()`` failure." -msgstr "" - -#: ../NEWS:50859 -msgid "" -":issue:`21044`: tarfile.open() now handles fileobj with an integer 'name' " -"attribute. Based on patch by Antoine Pietri." -msgstr "" - -#: ../NEWS:50862 -msgid "" -":issue:`21966`: Respect -q command-line option when code module is ran." -msgstr "" - -#: ../NEWS:50864 -msgid "" -":issue:`19076`: Don't pass the redundant 'file' argument to self.error()." -msgstr "" - -#: ../NEWS:50866 -msgid "" -":issue:`16382`: Improve exception message of warnings.warn() for bad " -"category. Initial patch by Phil Elson." -msgstr "" - -#: ../NEWS:50869 -msgid "" -":issue:`21932`: os.read() now uses a :c:func:`Py_ssize_t` type instead of " -":c:expr:`int` for the size to support reading more than 2 GB at once. On " -"Windows, the size is truncated to INT_MAX. As any call to os.read(), the OS " -"may read less bytes than the number of requested bytes." -msgstr "" - -#: ../NEWS:50874 -msgid "" -":issue:`21942`: Fixed source file viewing in pydoc's server mode on Windows." -msgstr "" - -#: ../NEWS:50876 -msgid "" -":issue:`11259`: asynchat.async_chat().set_terminator() now raises a " -"ValueError if the number of received bytes is negative." -msgstr "" - -#: ../NEWS:50879 -msgid "" -":issue:`12523`: asynchat.async_chat.push() now raises a TypeError if it " -"doesn't get a bytes string" -msgstr "" - -#: ../NEWS:50882 -msgid "" -":issue:`21707`: Add missing kwonlyargcount argument to " -"ModuleFinder.replace_paths_in_code()." -msgstr "" - -#: ../NEWS:50885 -msgid "" -":issue:`20639`: calling Path.with_suffix('') allows removing the suffix " -"again. Patch by July Tikhonov." -msgstr "" - -#: ../NEWS:50888 -msgid "" -":issue:`21714`: Disallow the construction of invalid paths using " -"Path.with_name(). Original patch by Antony Lee." -msgstr "" - -#: ../NEWS:50891 -msgid "" -":issue:`15014`: Added 'auth' method to smtplib to make implementing auth " -"mechanisms simpler, and used it internally in the login method." -msgstr "" - -#: ../NEWS:50894 -msgid "" -":issue:`21151`: Fixed a segfault in the winreg module when ``None`` is " -"passed as a ``REG_BINARY`` value to SetValueEx. Patch by John Ehresman." -msgstr "" - -#: ../NEWS:50897 -msgid "" -":issue:`21090`: io.FileIO.readall() does not ignore I/O errors anymore. " -"Before, it ignored I/O errors if at least the first C call read() succeed." -msgstr "" - -#: ../NEWS:50900 -msgid "" -":issue:`5800`: headers parameter of wsgiref.headers.Headers is now optional." -" Initial patch by Pablo Torres Navarrete and SilentGhost." -msgstr "" - -#: ../NEWS:50903 -msgid ":issue:`21781`: ssl.RAND_add() now supports strings longer than 2 GB." -msgstr "" - -#: ../NEWS:50905 -msgid "" -":issue:`21679`: Prevent extraneous fstat() calls during open(). Patch by " -"Bohuslav Kabrda." -msgstr "" - -#: ../NEWS:50908 -msgid "" -":issue:`21863`: cProfile now displays the module name of C extension " -"functions, in addition to their own name." -msgstr "" - -#: ../NEWS:50911 -msgid "" -":issue:`11453`: asyncore: emit a ResourceWarning when an unclosed " -"file_wrapper object is destroyed. The destructor now closes the file if " -"needed. The close() method can now be called twice: the second call does " -"nothing." -msgstr "" - -#: ../NEWS:50915 -msgid "" -":issue:`21858`: Better handling of Python exceptions in the sqlite3 module." -msgstr "" - -#: ../NEWS:50917 -msgid "" -":issue:`21476`: Make sure the email.parser.BytesParser TextIOWrapper is " -"discarded after parsing, so the input file isn't unexpectedly closed." -msgstr "" - -#: ../NEWS:50920 -msgid ":issue:`20295`: imghdr now recognizes OpenEXR format images." -msgstr "" - -#: ../NEWS:50922 -msgid "" -":issue:`21729`: Used the \"with\" statement in the dbm.dumb module to ensure" -" files closing. Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:50925 -msgid "" -":issue:`21491`: socketserver: Fix a race condition in child processes " -"reaping." -msgstr "" - -#: ../NEWS:50927 -msgid "" -":issue:`21719`: Added the ``st_file_attributes`` field to os.stat_result on " -"Windows." -msgstr "" - -#: ../NEWS:50930 -msgid ":issue:`21832`: Require named tuple inputs to be exact strings." -msgstr "" - -#: ../NEWS:50932 -msgid "" -":issue:`21722`: The distutils \"upload\" command now exits with a non-zero " -"return code when uploading fails. Patch by Martin Dengler." -msgstr "" - -#: ../NEWS:50935 -msgid "" -":issue:`21723`: asyncio.Queue: support any type of number (ex: float) for " -"the maximum size. Patch written by Vajrasky Kok." -msgstr "" - -#: ../NEWS:50938 -msgid "" -":issue:`21711`: support for \"site-python\" directories has now been removed" -" from the site module (it was deprecated in 3.4)." -msgstr "" - -#: ../NEWS:50941 -msgid "" -":issue:`17552`: new socket.sendfile() method allowing a file to be sent over" -" a socket by using high-performance os.sendfile() on UNIX. Patch by " -"Giampaolo Rodola'." -msgstr "" - -#: ../NEWS:50945 -msgid "" -":issue:`18039`: dbm.dump.open() now always creates a new database when the " -"flag has the value 'n'. Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:50948 -msgid "" -":issue:`21326`: Add a new is_closed() method to asyncio.BaseEventLoop. " -"run_forever() and run_until_complete() methods of asyncio.BaseEventLoop now " -"raise an exception if the event loop was closed." -msgstr "" - -#: ../NEWS:50952 -msgid "" -":issue:`21766`: Prevent a security hole in CGIHTTPServer by URL unquoting " -"paths before checking for a CGI script at that path." -msgstr "" - -#: ../NEWS:50955 -msgid ":issue:`21310`: Fixed possible resource leak in failed open()." -msgstr "" - -#: ../NEWS:50957 -msgid "" -":issue:`21256`: Printout of keyword args should be in deterministic order in" -" a mock function call. This will help to write better doctests." -msgstr "" - -#: ../NEWS:50960 -msgid "" -":issue:`21677`: Fixed chaining nonnormalized exceptions in io close() " -"methods." -msgstr "" - -#: ../NEWS:50962 -msgid "" -":issue:`11709`: Fix the pydoc.help function to not fail when sys.stdin is " -"not a valid file." -msgstr "" - -#: ../NEWS:50965 -msgid "" -":issue:`21515`: tempfile.TemporaryFile now uses os.O_TMPFILE flag is " -"available." -msgstr "" - -#: ../NEWS:50967 -msgid "" -":issue:`13223`: Fix pydoc.writedoc so that the HTML documentation for " -"methods that use 'self' in the example code is generated correctly." -msgstr "" - -#: ../NEWS:50970 -msgid ":issue:`21463`: In urllib.request, fix pruning of the FTP cache." -msgstr "" - -#: ../NEWS:50972 -msgid "" -":issue:`21618`: The subprocess module could fail to close open fds that were" -" inherited by the calling process and already higher than POSIX resource " -"limits would otherwise allow. On systems with a functioning /proc/self/fd " -"or /dev/fd interface the max is now ignored and all fds are closed." -msgstr "" - -#: ../NEWS:50977 -msgid "" -":issue:`20383`: Introduce importlib.util.module_from_spec() as the preferred" -" way to create a new module." -msgstr "" - -#: ../NEWS:50980 -msgid "" -":issue:`21552`: Fixed possible integer overflow of too long string lengths " -"in the tkinter module on 64-bit platforms." -msgstr "" - -#: ../NEWS:50983 -msgid "" -":issue:`14315`: The zipfile module now ignores extra fields in the central " -"directory that are too short to be parsed instead of letting a struct.unpack" -" error bubble up as this \"bad data\" appears in many real world zip files " -"in the wild and is ignored by other zip tools." -msgstr "" - -#: ../NEWS:50988 -msgid "" -":issue:`13742`: Added \"key\" and \"reverse\" parameters to heapq.merge(). " -"(First draft of patch contributed by Simon Sapin.)" -msgstr "" - -#: ../NEWS:50991 -msgid "" -":issue:`21402`: tkinter.ttk now works when default root window is not set." -msgstr "" - -#: ../NEWS:50993 -msgid "" -":issue:`3015`: ``_tkinter.create()`` now creates ``tkapp`` object with " -"``wantobjects=1`` by default." -msgstr "" - -#: ../NEWS:50996 -msgid "" -":issue:`10203`: sqlite3.Row now truly supports sequence protocol. In " -"particular it supports reverse() and negative indices. Original patch by " -"Claudiu Popa." -msgstr "" - -#: ../NEWS:51000 -msgid "" -":issue:`18807`: If copying (no symlinks) specified for a venv, then the " -"python interpreter aliases (python, python3) are now created by copying " -"rather than symlinking." -msgstr "" - -#: ../NEWS:51004 -msgid "" -":issue:`20197`: Added support for the WebP image type in the imghdr module. " -"Patch by Fabrice Aneche and Claudiu Popa." -msgstr "" - -#: ../NEWS:51007 -msgid "" -":issue:`21513`: Speedup some properties of IP addresses (IPv4Address, " -"IPv6Address) such as .is_private or .is_multicast." -msgstr "" - -#: ../NEWS:51010 -msgid "" -":issue:`21137`: Improve the repr for threading.Lock() and its variants by " -"showing the \"locked\" or \"unlocked\" status. Patch by Berker Peksag." -msgstr "" - -#: ../NEWS:51013 -msgid "" -":issue:`21538`: The plistlib module now supports loading of binary plist " -"files when reference or offset size is not a power of two." -msgstr "" - -#: ../NEWS:51016 -msgid ":issue:`21455`: Add a default backlog to socket.listen()." -msgstr "" - -#: ../NEWS:51018 -msgid "" -":issue:`21525`: Most Tkinter methods which accepted tuples now accept lists " -"too." -msgstr "" - -#: ../NEWS:51021 -msgid "" -":issue:`22166`: With the assistance of a new internal _codecs._forget_codec " -"helping function, test_codecs now clears the encoding caches to avoid the " -"appearance of a reference leak" -msgstr "" - -#: ../NEWS:51025 -msgid "" -":issue:`22236`: Tkinter tests now don't reuse default root window. New root" -" window is created for every test class." -msgstr "" - -#: ../NEWS:51028 -msgid "" -":issue:`10744`: Fix :pep:`3118` format strings on ctypes objects with a " -"nontrivial shape." -msgstr "" - -#: ../NEWS:51031 -msgid ":issue:`20826`: Optimize ipaddress.collapse_addresses()." -msgstr "" - -#: ../NEWS:51033 -msgid "" -":issue:`21487`: Optimize ipaddress.summarize_address_range() and " -"ipaddress.{IPv4Network,IPv6Network}.subnets()." -msgstr "" - -#: ../NEWS:51036 -msgid "" -":issue:`21486`: Optimize parsing of netmasks in ipaddress.IPv4Network and " -"ipaddress.IPv6Network." -msgstr "" - -#: ../NEWS:51039 -msgid "" -":issue:`13916`: Disallowed the surrogatepass error handler for non UTF-\\* " -"encodings." -msgstr "" - -#: ../NEWS:51042 -msgid "" -":issue:`20998`: Fixed re.fullmatch() of repeated single character pattern " -"with ignore case. Original patch by Matthew Barnett." -msgstr "" - -#: ../NEWS:51045 -msgid "" -":issue:`21075`: fileinput.FileInput now reads bytes from standard stream if " -"binary mode is specified. Patch by Sam Kimbrel." -msgstr "" - -#: ../NEWS:51048 -msgid "" -":issue:`19775`: Add a samefile() method to pathlib Path objects. Initial " -"patch by Vajrasky Kok." -msgstr "" - -#: ../NEWS:51051 -msgid "" -":issue:`21226`: Set up modules properly in PyImport_ExecCodeModuleObject " -"(and friends)." -msgstr "" - -#: ../NEWS:51054 -msgid "" -":issue:`21398`: Fix a unicode error in the pydoc pager when the " -"documentation contains characters not encodable to the stdout encoding." -msgstr "" - -#: ../NEWS:51057 -msgid "" -":issue:`16531`: ipaddress.IPv4Network and ipaddress.IPv6Network now accept " -"an (address, netmask) tuple argument, so as to easily construct network " -"objects from existing addresses." -msgstr "" - -#: ../NEWS:51061 -msgid "" -":issue:`21156`: importlib.abc.InspectLoader.source_to_code() is now a " -"staticmethod." -msgstr "" - -#: ../NEWS:51064 -msgid "" -":issue:`21424`: Simplified and optimized heaqp.nlargest() and nmsmallest() " -"to make fewer tuple comparisons." -msgstr "" - -#: ../NEWS:51067 -msgid "" -":issue:`21396`: Fix TextIOWrapper(..., write_through=True) to not force a " -"flush() on the underlying binary stream. Patch by akira." -msgstr "" - -#: ../NEWS:51070 -msgid "" -":issue:`18314`: Unlink now removes junctions on Windows. Patch by Kim " -"Gräsman" -msgstr "" - -#: ../NEWS:51072 -msgid "" -":issue:`21088`: Bugfix for curses.window.addch() regression in 3.4.0. In " -"porting to Argument Clinic, the first two arguments were reversed." -msgstr "" - -#: ../NEWS:51075 -msgid ":issue:`21407`: _decimal: The module now supports function signatures." -msgstr "" - -#: ../NEWS:51077 -msgid "" -":issue:`10650`: Remove the non-standard 'watchexp' parameter from the " -"Decimal.quantize() method in the Python version. It had never been present " -"in the C version." -msgstr "" - -#: ../NEWS:51081 -msgid "" -":issue:`21469`: Reduced the risk of false positives in robotparser by " -"checking to make sure that robots.txt has been read or does not exist prior " -"to returning True in can_fetch()." -msgstr "" - -#: ../NEWS:51085 -msgid "" -":issue:`19414`: Have the OrderedDict mark deleted links as unusable. This " -"gives an early failure if the link is deleted during iteration." -msgstr "" - -#: ../NEWS:51088 -msgid "" -":issue:`21421`: Add __slots__ to the MappingViews ABC. Patch by Josh " -"Rosenberg." -msgstr "" - -#: ../NEWS:51090 -msgid "" -":issue:`21101`: Eliminate double hashing in the C speed-up code for " -"collections.Counter()." -msgstr "" - -#: ../NEWS:51093 -msgid "" -":issue:`21321`: itertools.islice() now releases the reference to the source " -"iterator when the slice is exhausted. Patch by Anton Afanasyev." -msgstr "" - -#: ../NEWS:51096 -msgid "" -":issue:`21057`: TextIOWrapper now allows the underlying binary stream's " -"read() or read1() method to return an arbitrary bytes-like object (such as a" -" memoryview). Patch by Nikolaus Rath." -msgstr "" - -#: ../NEWS:51100 -msgid "" -":issue:`20951`: SSLSocket.send() now raises either SSLWantReadError or " -"SSLWantWriteError on a non-blocking socket if the operation would block. " -"Previously, it would return 0. Patch by Nikolaus Rath." -msgstr "" - -#: ../NEWS:51104 -msgid "" -":issue:`13248`: removed previously deprecated asyncore.dispatcher " -"__getattr__ cheap inheritance hack." -msgstr "" - -#: ../NEWS:51107 -msgid "" -":issue:`9815`: assertRaises now tries to clear references to local variables" -" in the exception's traceback." -msgstr "" - -#: ../NEWS:51110 -msgid "" -":issue:`19940`: ssl.cert_time_to_seconds() now interprets the given time " -"string in the UTC timezone (as specified in RFC 5280), not the local " -"timezone." -msgstr "" - -#: ../NEWS:51113 -msgid "" -":issue:`13204`: Calling sys.flags.__new__ would crash the interpreter, now " -"it raises a TypeError." -msgstr "" - -#: ../NEWS:51116 -msgid "" -":issue:`19385`: Make operations on a closed dbm.dumb database always raise " -"the same exception." -msgstr "" - -#: ../NEWS:51119 -msgid "" -":issue:`21207`: Detect when the os.urandom cached fd has been closed or " -"replaced, and open it anew." -msgstr "" - -#: ../NEWS:51122 -msgid "" -":issue:`21291`: subprocess's Popen.wait() is now thread safe so that " -"multiple threads may be calling wait() or poll() on a Popen instance at the " -"same time without losing the Popen.returncode value." -msgstr "" - -#: ../NEWS:51126 -msgid "" -":issue:`21127`: Path objects can now be instantiated from str subclass " -"instances (such as ``numpy.str_``)." -msgstr "" - -#: ../NEWS:51129 -msgid "" -":issue:`15002`: urllib.response object to use _TemporaryFileWrapper (and " -"_TemporaryFileCloser) facility. Provides a better way to handle file " -"descriptor close. Patch contributed by Christian Theune." -msgstr "" - -#: ../NEWS:51133 -msgid "" -":issue:`12220`: mindom now raises a custom ValueError indicating it doesn't " -"support spaces in URIs instead of letting a 'split' ValueError bubble up." -msgstr "" - -#: ../NEWS:51136 -msgid ":issue:`21068`: The ssl.PROTOCOL* constants are now enum members." -msgstr "" - -#: ../NEWS:51138 -msgid "" -":issue:`21276`: posixmodule: Don't define USE_XATTRS on KFreeBSD and the " -"Hurd." -msgstr "" - -#: ../NEWS:51140 -msgid "" -":issue:`21262`: New method assert_not_called for Mock. It raises " -"AssertionError if the mock has been called." -msgstr "" - -#: ../NEWS:51143 -msgid "" -":issue:`21238`: New keyword argument ``unsafe`` to Mock. It raises " -"``AttributeError`` in case of an attribute startswith assert or assret." -msgstr "" - -#: ../NEWS:51146 -msgid "" -":issue:`20896`: ssl.get_server_certificate() now uses PROTOCOL_SSLv23, not " -"PROTOCOL_SSLv3, for maximum compatibility." -msgstr "" - -#: ../NEWS:51149 -msgid "" -":issue:`21239`: patch.stopall() didn't work deterministically when the same " -"name was patched more than once." -msgstr "" - -#: ../NEWS:51152 -msgid "" -":issue:`21203`: Updated fileConfig and dictConfig to remove inconsistencies." -" Thanks to Jure Koren for the patch." -msgstr "" - -#: ../NEWS:51155 -msgid "" -":issue:`21222`: Passing name keyword argument to mock.create_autospec now " -"works." -msgstr "" - -#: ../NEWS:51158 -msgid "" -":issue:`21197`: Add lib64 -> lib symlink in venvs on 64-bit non-OS X POSIX." -msgstr "" - -#: ../NEWS:51160 -msgid "" -":issue:`17498`: Some SMTP servers disconnect after certain errors, violating" -" strict RFC conformance. Instead of losing the error code when we issue the" -" subsequent RSET, smtplib now returns the error code and defers raising the " -"SMTPServerDisconnected error until the next command is issued." -msgstr "" - -#: ../NEWS:51165 -msgid "" -":issue:`17826`: setting an iterable side_effect on a mock function created " -"by create_autospec now works. Patch by Kushal Das." -msgstr "" - -#: ../NEWS:51168 -msgid "" -":issue:`7776`: Fix ``Host:`` header and reconnection when using " -"http.client.HTTPConnection.set_tunnel(). Patch by Nikolaus Rath." -msgstr "" - -#: ../NEWS:51171 -msgid "" -":issue:`20968`: unittest.mock.MagicMock now supports division. Patch by " -"Johannes Baiter." -msgstr "" - -#: ../NEWS:51174 -msgid "" -":issue:`21529`: Fix arbitrary memory access in JSONDecoder.raw_decode with a" -" negative second parameter. Bug reported by Guido Vranken. (See also: " -":cve:`2014-4616`)" -msgstr "" - -#: ../NEWS:51178 -msgid "" -":issue:`21169`: getpass now handles non-ascii characters that the input " -"stream encoding cannot encode by re-encoding using the replace error " -"handler." -msgstr "" - -#: ../NEWS:51181 -msgid "" -":issue:`21171`: Fixed undocumented filter API of the rot13 codec. Patch by " -"Berker Peksag." -msgstr "" - -#: ../NEWS:51184 -msgid "" -":issue:`20539`: Improved math.factorial error message for large positive " -"inputs and changed exception type (OverflowError -> ValueError) for large " -"negative inputs." -msgstr "" - -#: ../NEWS:51188 -msgid "" -":issue:`21172`: isinstance check relaxed from dict to collections.Mapping." -msgstr "" - -#: ../NEWS:51190 -msgid "" -":issue:`21155`: asyncio.EventLoop.create_unix_server() now raises a " -"ValueError if path and sock are specified at the same time." -msgstr "" - -#: ../NEWS:51193 -msgid "" -":issue:`21136`: Avoid unnecessary normalization of Fractions resulting from " -"power and other operations. Patch by Raymond Hettinger." -msgstr "" - -#: ../NEWS:51196 -msgid ":issue:`17621`: Introduce importlib.util.LazyLoader." -msgstr "" - -#: ../NEWS:51198 -msgid "" -":issue:`21076`: signal module constants were turned into enums. Patch by " -"Giampaolo Rodola'." -msgstr "" - -#: ../NEWS:51201 -msgid ":issue:`20636`: Improved the repr of Tkinter widgets." -msgstr "" - -#: ../NEWS:51203 -msgid "" -":issue:`19505`: The items, keys, and values views of OrderedDict now support" -" reverse iteration using reversed()." -msgstr "" - -#: ../NEWS:51206 -msgid "" -":issue:`21149`: Improved thread-safety in logging cleanup during interpreter" -" shutdown. Thanks to Devin Jeanpierre for the patch." -msgstr "" - -#: ../NEWS:51209 -msgid "" -":issue:`21058`: Fix a leak of file descriptor in " -":func:`tempfile.NamedTemporaryFile`, close the file descriptor if " -":func:`io.open` fails" -msgstr "" - -#: ../NEWS:51213 -msgid "" -":issue:`21200`: Return None from pkgutil.get_loader() when __spec__ is " -"missing." -msgstr "" - -#: ../NEWS:51215 -msgid "" -":issue:`21013`: Enhance ssl.create_default_context() when used for server " -"side sockets to provide better security by default." -msgstr "" - -#: ../NEWS:51218 -msgid "" -":issue:`20145`: ``assertRaisesRegex`` and ``assertWarnsRegex`` now raise a " -"``TypeError`` if the second argument is not a string or compiled regex." -msgstr "" - -#: ../NEWS:51221 -msgid ":issue:`20633`: Replace relative import by absolute import." -msgstr "" - -#: ../NEWS:51223 -msgid ":issue:`20980`: Stop wrapping exception when using ThreadPool." -msgstr "" - -#: ../NEWS:51225 -msgid "" -":issue:`21082`: In os.makedirs, do not set the process-wide umask. Note this" -" changes behavior of makedirs when exist_ok=True." -msgstr "" - -#: ../NEWS:51228 -msgid ":issue:`20990`: Fix issues found by pyflakes for multiprocessing." -msgstr "" - -#: ../NEWS:51230 -msgid "" -":issue:`21015`: SSL contexts will now automatically select an elliptic curve" -" for ECDH key exchange on OpenSSL 1.0.2 and later, and otherwise default to " -"\"prime256v1\"." -msgstr "" - -#: ../NEWS:51234 -msgid ":issue:`21000`: Improve the command-line interface of json.tool." -msgstr "" - -#: ../NEWS:51236 -msgid "" -":issue:`20995`: Enhance default ciphers used by the ssl module to enable " -"better security and prioritize perfect forward secrecy." -msgstr "" - -#: ../NEWS:51239 -msgid "" -":issue:`20884`: Don't assume that __file__ is defined on importlib.__init__." -msgstr "" - -#: ../NEWS:51241 -msgid "" -":issue:`21499`: Ignore __builtins__ in several test_importlib.test_api " -"tests." -msgstr "" - -#: ../NEWS:51243 -msgid ":issue:`20627`: xmlrpc.client.ServerProxy is now a context manager." -msgstr "" - -#: ../NEWS:51245 -msgid "" -":issue:`19165`: The formatter module now raises DeprecationWarning instead " -"of PendingDeprecationWarning." -msgstr "" - -#: ../NEWS:51248 -msgid "" -":issue:`13936`: Remove the ability of datetime.time instances to be " -"considered false in boolean contexts." -msgstr "" - -#: ../NEWS:51251 -msgid "" -":issue:`18931`: selectors module now supports /dev/poll on Solaris. Patch by" -" Giampaolo Rodola'." -msgstr "" - -#: ../NEWS:51254 -msgid "" -":issue:`19977`: When the ``LC_TYPE`` locale is the POSIX locale (``C`` " -"locale), :py:data:`sys.stdin` and :py:data:`sys.stdout` are now using the " -"``surrogateescape`` error handler, instead of the ``strict`` error handler." -msgstr "" - -#: ../NEWS:51259 -msgid "" -":issue:`20574`: Implement incremental decoder for cp65001 code (Windows code" -" page 65001, Microsoft UTF-8)." -msgstr "" - -#: ../NEWS:51262 -msgid "" -":issue:`20879`: Delay the initialization of encoding and decoding tables for" -" base32, ascii85 and base85 codecs in the base64 module, and delay the " -"initialization of the unquote_to_bytes() table of the urllib.parse module, " -"to not waste memory if these modules are not used." -msgstr "" - -#: ../NEWS:51267 -msgid "" -":issue:`19157`: Include the broadcast address in the usable hosts for IPv6 " -"in ipaddress." -msgstr "" - -#: ../NEWS:51270 -msgid "" -":issue:`11599`: When an external command (e.g. compiler) fails, distutils " -"now prints out the whole command line (instead of just the command name) if " -"the environment variable DISTUTILS_DEBUG is set." -msgstr "" - -#: ../NEWS:51274 -msgid "" -":issue:`4931`: distutils should not produce unhelpful \"error: None\" " -"messages anymore. distutils.util.grok_environment_error is kept but doc-" -"deprecated." -msgstr "" - -#: ../NEWS:51277 -msgid "" -":issue:`20875`: Prevent possible gzip \"'read' is not defined\" NameError. " -"Patch by Claudiu Popa." -msgstr "" - -#: ../NEWS:51280 -msgid "" -":issue:`11558`: ``email.message.Message.attach`` now returns a more useful " -"error message if ``attach`` is called on a message for which " -"``is_multipart`` is False." -msgstr "" - -#: ../NEWS:51284 -msgid "" -":issue:`20283`: RE pattern methods now accept the string keyword parameters " -"as documented. The pattern and source keyword parameters are left as " -"deprecated aliases." -msgstr "" - -#: ../NEWS:51288 -msgid ":issue:`20778`: Fix modulefinder to work with bytecode-only modules." -msgstr "" - -#: ../NEWS:51290 -msgid "" -":issue:`20791`: copy.copy() now doesn't make a copy when the input is a " -"bytes object. Initial patch by Peter Otten." -msgstr "" - -#: ../NEWS:51293 -msgid "" -":issue:`19748`: On AIX, time.mktime() now raises an OverflowError for year " -"outsize range [1902; 2037]." -msgstr "" - -#: ../NEWS:51296 -msgid "" -":issue:`19573`: inspect.signature: Use enum for parameter kind constants." -msgstr "" - -#: ../NEWS:51298 -msgid "" -":issue:`20726`: inspect.signature: Make Signature and Parameter picklable." -msgstr "" - -#: ../NEWS:51300 -msgid ":issue:`17373`: Add inspect.Signature.from_callable method." -msgstr "" - -#: ../NEWS:51302 -msgid "" -":issue:`20378`: Improve repr of inspect.Signature and inspect.Parameter." -msgstr "" - -#: ../NEWS:51304 -msgid "" -":issue:`20816`: Fix inspect.getcallargs() to raise correct TypeError for " -"missing keyword-only arguments. Patch by Jeremiah Lowin." -msgstr "" - -#: ../NEWS:51307 -msgid "" -":issue:`20817`: Fix inspect.getcallargs() to fail correctly if more than 3 " -"arguments are missing. Patch by Jeremiah Lowin." -msgstr "" - -#: ../NEWS:51310 -msgid "" -":issue:`6676`: Ensure a meaningful exception is raised when attempting to " -"parse more than one XML document per pyexpat xmlparser instance. (Original " -"patches by Hirokazu Yamamoto and Amaury Forgeot d'Arc, with suggested " -"wording by David Gutteridge)" -msgstr "" - -#: ../NEWS:51315 -msgid "" -":issue:`21117`: Fix inspect.signature to better support functools.partial. " -"Due to the specifics of functools.partial implementation, positional-or-" -"keyword arguments passed as keyword arguments become keyword-only." -msgstr "" - -#: ../NEWS:51320 -msgid "" -":issue:`20334`: inspect.Signature and inspect.Parameter are now hashable. " -"Thanks to Antony Lee for bug reports and suggestions." -msgstr "" - -#: ../NEWS:51323 -msgid "" -":issue:`15916`: doctest.DocTestSuite returns an empty unittest.TestSuite " -"instead of raising ValueError if it finds no tests" -msgstr "" - -#: ../NEWS:51326 -msgid "" -":issue:`21209`: Fix asyncio.tasks.CoroWrapper to workaround a bug in yield-" -"from implementation in CPythons prior to 3.4.1." -msgstr "" - -#: ../NEWS:51329 -msgid "" -"asyncio: Add gi_{frame,running,code} properties to CoroWrapper (upstream " -":issue:`163`)." -msgstr "" - -#: ../NEWS:51332 -msgid "" -":issue:`21311`: Avoid exception in _osx_support with non-standard compiler " -"configurations. Patch by John Szakmeister." -msgstr "" - -#: ../NEWS:51335 -msgid "" -":issue:`11571`: Ensure that the turtle window becomes the topmost window " -"when launched on OS X." -msgstr "" - -#: ../NEWS:51338 -msgid "" -":issue:`21801`: Validate that __signature__ is None or an instance of " -"Signature." -msgstr "" - -#: ../NEWS:51341 -msgid "" -":issue:`21923`: Prevent AttributeError in " -"distutils.sysconfig.customize_compiler due to possible uninitialized " -"_config_vars." -msgstr "" - -#: ../NEWS:51345 -msgid "" -":issue:`21323`: Fix http.server to again handle scripts in CGI " -"subdirectories, broken by the fix for security :issue:`19435`. Patch by " -"Zach Byrne." -msgstr "" - -#: ../NEWS:51348 -msgid "" -":issue:`22733`: Fix ffi_prep_args not zero-extending argument values " -"correctly on 64-bit Windows." -msgstr "" - -#: ../NEWS:51351 -msgid "" -":issue:`23302`: Default to TCP_NODELAY=1 upon establishing an " -"HTTPConnection. Removed use of hard-coded MSS as it's an optimization that's" -" no longer needed with Nagle disabled." -msgstr "" - -#: ../NEWS:51358 -msgid "" -":issue:`20577`: Configuration of the max line length for the FormatParagraph" -" extension has been moved from the General tab of the Idle preferences " -"dialog to the FormatParagraph tab of the Config Extensions dialog. Patch by " -"Tal Einat." -msgstr "" - -#: ../NEWS:51363 -msgid "" -":issue:`16893`: Update Idle doc chapter to match current Idle and add new " -"information." -msgstr "" - -#: ../NEWS:51366 -msgid "" -":issue:`3068`: Add Idle extension configuration dialog to Options menu. " -"Changes are written to HOME/.idlerc/config-extensions.cfg. Original patch by" -" Tal Einat." -msgstr "" - -#: ../NEWS:51370 -msgid "" -":issue:`16233`: A module browser (File : Class Browser, Alt+C) requires an " -"editor window with a filename. When Class Browser is requested otherwise, " -"from a shell, output window, or 'Untitled' editor, Idle no longer displays " -"an error box. It now pops up an Open Module box (Alt+M). If a valid name is " -"entered and a module is opened, a corresponding browser is also opened." -msgstr "" - -#: ../NEWS:51376 -msgid "" -":issue:`4832`: Save As to type Python files automatically adds .py to the " -"name you enter (even if your system does not display it). Some systems " -"automatically add .txt when type is Text files." -msgstr "" - -#: ../NEWS:51380 -msgid "" -":issue:`21986`: Code objects are not normally pickled by the pickle module. " -"To match this, they are no longer pickled when running under Idle." -msgstr "" - -#: ../NEWS:51383 -msgid "" -":issue:`17390`: Adjust Editor window title; remove 'Python', move version to" -" end." -msgstr "" - -#: ../NEWS:51386 -msgid "" -":issue:`14105`: Idle debugger breakpoints no longer disappear when inserting" -" or deleting lines." -msgstr "" - -#: ../NEWS:51389 -msgid "" -":issue:`17172`: Turtledemo can now be run from Idle. Currently, the entry is" -" on the Help menu, but it may move to Run. Patch by Ramchandra Apt and Lita " -"Cho." -msgstr "" - -#: ../NEWS:51393 -msgid ":issue:`21765`: Add support for non-ascii identifiers to HyperParser." -msgstr "" - -#: ../NEWS:51395 -msgid "" -":issue:`21940`: Add unittest for WidgetRedirector. Initial patch by " -"Saimadhav Heblikar." -msgstr "" - -#: ../NEWS:51398 -msgid "" -":issue:`18592`: Add unittest for SearchDialogBase. Patch by Phil Webster." -msgstr "" - -#: ../NEWS:51400 -msgid "" -":issue:`21694`: Add unittest for ParenMatch. Patch by Saimadhav Heblikar." -msgstr "" - -#: ../NEWS:51402 -msgid "" -":issue:`21686`: add unittest for HyperParser. Original patch by Saimadhav " -"Heblikar." -msgstr "" - -#: ../NEWS:51405 -msgid "" -":issue:`12387`: Add missing upper(lower)case versions of default Windows key" -" bindings for Idle so Caps Lock does not disable them. Patch by Roger Serwy." -msgstr "" - -#: ../NEWS:51409 -msgid "" -":issue:`21695`: Closing a Find-in-files output window while the search is " -"still in progress no longer closes Idle." -msgstr "" - -#: ../NEWS:51412 -msgid ":issue:`18910`: Add unittest for textView. Patch by Phil Webster." -msgstr "" - -#: ../NEWS:51414 -msgid "" -":issue:`18292`: Add unittest for AutoExpand. Patch by Saihadhav Heblikar." -msgstr "" - -#: ../NEWS:51416 -msgid ":issue:`18409`: Add unittest for AutoComplete. Patch by Phil Webster." -msgstr "" - -#: ../NEWS:51418 -msgid "" -":issue:`21477`: htest.py - Improve framework, complete set of tests. Patches" -" by Saimadhav Heblikar" -msgstr "" - -#: ../NEWS:51421 -msgid "" -":issue:`18104`: Add idlelib/idle_test/htest.py with a few sample tests to " -"begin consolidating and improving human-validated tests of Idle. Change " -"other files as needed to work with htest. Running the module as __main__ " -"runs all tests." -msgstr "" - -#: ../NEWS:51426 -msgid "" -":issue:`21139`: Change default paragraph width to 72, the :pep:`8` " -"recommendation." -msgstr "" - -#: ../NEWS:51429 -msgid "" -":issue:`21284`: Paragraph reformat test passes after user changes reformat " -"width." -msgstr "" - -#: ../NEWS:51432 -msgid "" -":issue:`17654`: Ensure IDLE menus are customized properly on OS X for non-" -"framework builds and for all variants of Tk." -msgstr "" - -#: ../NEWS:51435 -msgid "" -":issue:`23180`: Rename IDLE \"Windows\" menu item to \"Window\". Patch by Al" -" Sweigart." -msgstr "" - -#: ../NEWS:51441 -msgid "" -":issue:`15506`: Use standard PKG_PROG_PKG_CONFIG autoconf macro in the " -"configure script." -msgstr "" - -#: ../NEWS:51444 -msgid "" -":issue:`22935`: Allow the ssl module to be compiled if openssl doesn't " -"support SSL 3." -msgstr "" - -#: ../NEWS:51447 -msgid "" -":issue:`22592`: Drop support of the Borland C compiler to build Python. The " -"distutils module still supports it to build extensions." -msgstr "" - -#: ../NEWS:51450 -msgid "" -":issue:`22591`: Drop support of MS-DOS, especially of the DJGPP compiler " -"(MS-DOS port of GCC)." -msgstr "" - -#: ../NEWS:51453 -msgid "" -":issue:`16537`: Check whether self.extensions is empty in setup.py. Patch by" -" Jonathan Hosmer." -msgstr "" - -#: ../NEWS:51456 -msgid "" -":issue:`22359`: Remove incorrect uses of recursive make. Patch by Jonas " -"Wagner." -msgstr "" - -#: ../NEWS:51459 -msgid "" -":issue:`21958`: Define HAVE_ROUND when building with Visual Studio 2013 and " -"above. Patch by Zachary Turner." -msgstr "" - -#: ../NEWS:51462 -msgid "" -":issue:`18093`: the programs that embed the CPython runtime are now in a " -"separate \"Programs\" directory, rather than being kept in the Modules " -"directory." -msgstr "" - -#: ../NEWS:51466 -msgid "" -":issue:`15759`: \"make suspicious\", \"make linkcheck\" and \"make doctest\"" -" in Doc/ now display special message when and only when there are failures." -msgstr "" - -#: ../NEWS:51469 -msgid "" -":issue:`21141`: The Windows build process no longer attempts to find Perl, " -"instead relying on OpenSSL source being configured and ready to build. The " -"``PCbuild\\build_ssl.py`` script has been re-written and re-named to " -"``PCbuild\\prepare_ssl.py``, and takes care of configuring OpenSSL source " -"for both 32 and 64 bit platforms. OpenSSL sources obtained from " -"svn.python.org will always be pre-configured and ready to build." -msgstr "" - -#: ../NEWS:51476 -msgid ":issue:`21037`: Add a build option to enable AddressSanitizer support." -msgstr "" - -#: ../NEWS:51478 -msgid "" -":issue:`19962`: The Windows build process now creates \"python.bat\" in the " -"root of the source tree, which passes all arguments through to the most " -"recently built interpreter." -msgstr "" - -#: ../NEWS:51482 -msgid "" -":issue:`21285`: Refactor and fix curses configure check to always search in " -"a ncursesw directory." -msgstr "" - -#: ../NEWS:51485 -msgid "" -":issue:`15234`: For BerkeleyDB and Sqlite, only add the found library and " -"include directories if they aren't already being searched. This avoids an " -"explicit runtime library dependency." -msgstr "" - -#: ../NEWS:51489 -msgid "" -":issue:`17861`: Tools/scripts/generate_opcode_h.py automatically regenerates" -" Include/opcode.h from Lib/opcode.py if the latter gets any change." -msgstr "" - -#: ../NEWS:51492 -msgid "" -":issue:`20644`: OS X installer build support for documentation build changes" -" in 3.4.1: assume externally supplied sphinx-build is available in /usr/bin." -msgstr "" - -#: ../NEWS:51495 -msgid "" -":issue:`20022`: Eliminate use of deprecated bundlebuilder in OS X builds." -msgstr "" - -#: ../NEWS:51497 -msgid "" -":issue:`15968`: Incorporated Tcl, Tk, and Tix builds into the Windows build " -"solution." -msgstr "" - -#: ../NEWS:51500 -msgid ":issue:`17095`: Fix Modules/Setup *shared* support." -msgstr "" - -#: ../NEWS:51502 -msgid ":issue:`21811`: Anticipated fixes to support OS X versions > 10.9." -msgstr "" - -#: ../NEWS:51504 -msgid "" -":issue:`21166`: Prevent possible segfaults and other random failures of " -"python --generate-posix-vars in pybuilddir.txt build target." -msgstr "" - -#: ../NEWS:51507 -msgid ":issue:`18096`: Fix library order returned by python-config." -msgstr "" - -#: ../NEWS:51509 -msgid "" -":issue:`17219`: Add library build dir for Python extension cross-builds." -msgstr "" - -#: ../NEWS:51511 -msgid "" -":issue:`22919`: Windows build updated to support VC 14.0 (Visual Studio " -"2015), which will be used for the official release." -msgstr "" - -#: ../NEWS:51514 -msgid ":issue:`21236`: Build _msi.pyd with cabinet.lib instead of fci.lib" -msgstr "" - -#: ../NEWS:51516 -msgid "" -":issue:`17128`: Use private version of OpenSSL for OS X 10.5+ installer." -msgstr "" - -#: ../NEWS:51521 -msgid "" -":issue:`14203`: Remove obsolete support for view==NULL in " -"PyBuffer_FillInfo(), bytearray_getbuffer(), bytesiobuf_getbuffer() and " -"array_buffer_getbuf(). All functions now raise BufferError in that case." -msgstr "" - -#: ../NEWS:51525 -msgid "" -":issue:`22445`: PyBuffer_IsContiguous() now implements precise contiguity " -"tests, compatible with NumPy's NPY_RELAXED_STRIDES_CHECKING compilation " -"flag. Previously the function reported false negatives for corner cases." -msgstr "" - -#: ../NEWS:51529 -msgid "" -":issue:`22079`: PyType_Ready() now checks that statically allocated type has" -" no dynamically allocated bases." -msgstr "" - -#: ../NEWS:51532 -msgid ":issue:`22453`: Removed non-documented macro PyObject_REPR()." -msgstr "" - -#: ../NEWS:51534 -msgid "" -":issue:`18395`: Rename ``_Py_char2wchar()`` to :c:func:`Py_DecodeLocale`, " -"rename ``_Py_wchar2char()`` to :c:func:`Py_EncodeLocale`, and document these" -" functions." -msgstr "" - -#: ../NEWS:51538 -msgid "" -":issue:`21233`: Add new C functions: PyMem_RawCalloc(), PyMem_Calloc(), " -"PyObject_Calloc(), _PyObject_GC_Calloc(). bytes(int) is now using " -"``calloc()`` instead of ``malloc()`` for large objects which is faster and " -"use less memory." -msgstr "" - -#: ../NEWS:51543 -msgid "" -":issue:`20942`: PyImport_ImportFrozenModuleObject() no longer sets __file__ " -"to match what importlib does; this affects _frozen_importlib as well as any " -"module loaded using imp.init_frozen()." -msgstr "" - -#: ../NEWS:51550 -msgid "" -":issue:`19548`: Update the codecs module documentation to better cover the " -"distinction between text encodings and other codecs, together with other " -"clarifications. Patch by Martin Panter." -msgstr "" - -#: ../NEWS:51554 -msgid "" -":issue:`22394`: Doc/Makefile now supports ``make venv PYTHON=../python`` to " -"create a venv for generating the documentation, e.g., ``make html " -"PYTHON=venv/bin/python3``." -msgstr "" - -#: ../NEWS:51558 -msgid "" -":issue:`21514`: The documentation of the json module now refers to new JSON " -"RFC 7159 instead of obsoleted RFC 4627." -msgstr "" - -#: ../NEWS:51561 -msgid "" -":issue:`21777`: The binary sequence methods on bytes and bytearray are now " -"documented explicitly, rather than assuming users will be able to derive the" -" expected behaviour from the behaviour of the corresponding str methods." -msgstr "" - -#: ../NEWS:51566 -msgid ":issue:`6916`: undocument deprecated asynchat.fifo class." -msgstr "" - -#: ../NEWS:51568 -msgid "" -":issue:`17386`: Expanded functionality of the ``Doc/make.bat`` script to " -"make it much more comparable to ``Doc/Makefile``." -msgstr "" - -#: ../NEWS:51571 -msgid "" -":issue:`21312`: Update the thread_foobar.h template file to include newer " -"threading APIs. Patch by Jack McCracken." -msgstr "" - -#: ../NEWS:51574 -msgid "" -":issue:`21043`: Remove the recommendation for specific CA organizations and " -"to mention the ability to load the OS certificates." -msgstr "" - -#: ../NEWS:51577 -msgid "" -":issue:`20765`: Add missing documentation for PurePath.with_name() and " -"PurePath.with_suffix()." -msgstr "" - -#: ../NEWS:51580 -msgid "" -":issue:`19407`: New package installation and distribution guides based on " -"the Python Packaging Authority tools. Existing guides have been retained as " -"legacy links from the distutils docs, as they still contain some required " -"reference material for tool developers that isn't recorded anywhere else." -msgstr "" - -#: ../NEWS:51585 -msgid ":issue:`19697`: Document cases where __main__.__spec__ is None." -msgstr "" - -#: ../NEWS:51590 -msgid ":issue:`18982`: Add tests for CLI of the calendar module." -msgstr "" - -#: ../NEWS:51592 -msgid "" -":issue:`19548`: Added some additional checks to test_codecs to ensure that " -"statements in the updated documentation remain accurate. Patch by Martin " -"Panter." -msgstr "" - -#: ../NEWS:51596 -msgid "" -":issue:`22838`: All test_re tests now work with unittest test discovery." -msgstr "" - -#: ../NEWS:51598 -msgid ":issue:`22173`: Update lib2to3 tests to use unittest test discovery." -msgstr "" - -#: ../NEWS:51600 -msgid ":issue:`16000`: Convert test_curses to use unittest." -msgstr "" - -#: ../NEWS:51602 -msgid "" -":issue:`21456`: Skip two tests in test_urllib2net.py if _ssl module not " -"present. Patch by Remi Pointel." -msgstr "" - -#: ../NEWS:51605 -msgid "" -":issue:`20746`: Fix test_pdb to run in refleak mode (-R). Patch by Xavier " -"de Gaye." -msgstr "" - -#: ../NEWS:51608 -msgid "" -":issue:`22060`: test_ctypes has been somewhat cleaned up and simplified; it " -"now uses unittest test discovery to find its tests." -msgstr "" - -#: ../NEWS:51611 -msgid "" -":issue:`22104`: regrtest.py no longer holds a reference to the suite of " -"tests loaded from test modules that don't define test_main()." -msgstr "" - -#: ../NEWS:51614 -msgid "" -":issue:`22111`: Assorted cleanups in test_imaplib. Patch by Milan " -"Oberkirch." -msgstr "" - -#: ../NEWS:51616 -msgid "" -":issue:`22002`: Added ``load_package_tests`` function to test.support and " -"used it to implement/augment test discovery in test_asyncio, test_email, " -"test_importlib, test_json, and test_tools." -msgstr "" - -#: ../NEWS:51620 -msgid "" -":issue:`21976`: Fix test_ssl to accept LibreSSL version strings. Thanks to " -"William Orr." -msgstr "" - -#: ../NEWS:51623 -msgid "" -":issue:`21918`: Converted test_tools from a module to a package containing " -"separate test files for each tested script." -msgstr "" - -#: ../NEWS:51626 -msgid "" -":issue:`9554`: Use modern unittest features in test_argparse. Initial patch " -"by Denver Coneybeare and Radu Voicilas." -msgstr "" - -#: ../NEWS:51629 -msgid "" -":issue:`20155`: Changed HTTP method names in failing tests in " -"test_httpservers so that packet filtering software (specifically Windows " -"Base Filtering Engine) does not interfere with the transaction semantics " -"expected by the tests." -msgstr "" - -#: ../NEWS:51634 -msgid "" -":issue:`19493`: Refactored the ctypes test package to skip tests explicitly " -"rather than silently." -msgstr "" - -#: ../NEWS:51637 -msgid "" -":issue:`18492`: All resources are now allowed when tests are not run by " -"regrtest.py." -msgstr "" - -#: ../NEWS:51640 -msgid "" -":issue:`21634`: Fix pystone micro-benchmark: use floor division instead of " -"true division to benchmark integers instead of floating-point numbers. Set " -"pystone version to 1.2. Patch written by Lennart Regebro." -msgstr "" - -#: ../NEWS:51644 -msgid ":issue:`21605`: Added tests for Tkinter images." -msgstr "" - -#: ../NEWS:51646 -msgid "" -":issue:`21493`: Added test for ntpath.expanduser(). Original patch by " -"Claudiu Popa." -msgstr "" - -#: ../NEWS:51649 -msgid "" -":issue:`19925`: Added tests for the spwd module. Original patch by Vajrasky " -"Kok." -msgstr "" - -#: ../NEWS:51652 -msgid "" -":issue:`21522`: Added Tkinter tests for Listbox.itemconfigure(), " -"PanedWindow.paneconfigure(), and Menu.entryconfigure()." -msgstr "" - -#: ../NEWS:51655 -msgid "" -":issue:`17756`: Fix test_code test when run from the installed location." -msgstr "" - -#: ../NEWS:51657 -msgid "" -":issue:`17752`: Fix distutils tests when run from the installed location." -msgstr "" - -#: ../NEWS:51659 -msgid "" -":issue:`18604`: Consolidated checks for GUI availability. All platforms now" -" at least check whether Tk can be instantiated when the GUI resource is " -"requested." -msgstr "" - -#: ../NEWS:51663 -msgid ":issue:`21275`: Fix a socket test on KFreeBSD." -msgstr "" - -#: ../NEWS:51665 -msgid "" -":issue:`21223`: Pass test_site/test_startup_imports when some of the " -"extensions are built as builtins." -msgstr "" - -#: ../NEWS:51668 -msgid ":issue:`20635`: Added tests for Tk geometry managers." -msgstr "" - -#: ../NEWS:51670 -msgid "Add test case for freeze." -msgstr "Tambahkan kasus pengujian untuk *freeze*." - -#: ../NEWS:51672 -msgid ":issue:`20743`: Fix a reference leak in test_tcl." -msgstr "" - -#: ../NEWS:51674 -msgid ":issue:`21097`: Move test_namespace_pkgs into test_importlib." -msgstr "" - -#: ../NEWS:51676 -msgid ":issue:`21503`: Use test_both() consistently in test_importlib." -msgstr "" - -#: ../NEWS:51678 -msgid "" -":issue:`20939`: Avoid various network test failures due to new redirect of " -"http://www.python.org/ to https://www.python.org: use http://www.example.com" -" instead." -msgstr "" - -#: ../NEWS:51682 -msgid "" -":issue:`20668`: asyncio tests no longer rely on tests.txt file. (Patch by " -"Vajrasky Kok)" -msgstr "" - -#: ../NEWS:51685 -msgid "" -":issue:`21093`: Prevent failures of ctypes test_macholib on OS X if a copy " -"of libz exists in $HOME/lib or /usr/local/lib." -msgstr "" - -#: ../NEWS:51688 -msgid "" -":issue:`22770`: Prevent some Tk segfaults on OS X when running gui tests." -msgstr "" - -#: ../NEWS:51690 -msgid "" -":issue:`23211`: Workaround test_logging failure on some OS X 10.6 systems." -msgstr "" - -#: ../NEWS:51692 -msgid "" -":issue:`23345`: Prevent test_ssl failures with large OpenSSL patch level " -"values (like 0.9.8zc)." -msgstr "" - -#: ../NEWS:51698 -msgid "" -":issue:`22314`: pydoc now works when the LINES environment variable is set." -msgstr "" - -#: ../NEWS:51700 -msgid "" -":issue:`22615`: Argument Clinic now supports the \"type\" argument for the " -"int converter. This permits using the int converter with enums and typedefs." -msgstr "" - -#: ../NEWS:51703 -msgid "" -":issue:`20076`: The makelocalealias.py script no longer ignores UTF-8 " -"mapping." -msgstr "" - -#: ../NEWS:51705 -msgid "" -":issue:`20079`: The makelocalealias.py script now can parse the SUPPORTED " -"file from glibc sources and supports command line options for source paths." -msgstr "" - -#: ../NEWS:51708 -msgid "" -":issue:`22201`: Command-line interface of the zipfile module now correctly " -"extracts ZIP files with directory entries. Patch by Ryan Wilson." -msgstr "" - -#: ../NEWS:51711 -msgid "" -":issue:`22120`: For functions using an unsigned integer return converter, " -"Argument Clinic now generates a cast to that type for the comparison to -1 " -"in the generated code. (This suppresses a compilation warning.)" -msgstr "" - -#: ../NEWS:51715 -msgid "" -":issue:`18974`: Tools/scripts/diff.py now uses argparse instead of optparse." -msgstr "" - -#: ../NEWS:51717 -msgid "" -":issue:`21906`: Make Tools/scripts/md5sum.py work in Python 3. Patch by " -"Zachary Ware." -msgstr "" - -#: ../NEWS:51720 -msgid ":issue:`21629`: Fix Argument Clinic's \"--converters\" feature." -msgstr "" - -#: ../NEWS:51722 -msgid "Add support for ``yield from`` to 2to3." -msgstr "Menambahkan dukungan untuk ``yield from`` ke 2to3." - -#: ../NEWS:51724 -msgid "Add support for the :pep:`465` matrix multiplication operator to 2to3." -msgstr "" -"Tambahkan dukungan untuk :pep:`465` operator perkalian matriks ke 2to3." - -#: ../NEWS:51726 -msgid "" -":issue:`16047`: Fix module exception list and __file__ handling in freeze. " -"Patch by Meador Inge." -msgstr "" - -#: ../NEWS:51729 -msgid ":issue:`11824`: Consider ABI tags in freeze. Patch by Meador Inge." -msgstr "" - -#: ../NEWS:51731 -msgid "" -":issue:`20535`: PYTHONWARNING no longer affects the run_tests.py script. " -"Patch by Arfrever Frehtes Taifersar Arahesis." -msgstr "" - -#: ../NEWS:51737 -msgid ":issue:`23260`: Update Windows installer" -msgstr "" - -#: ../NEWS:51739 -msgid "" -"The bundled version of Tcl/Tk has been updated to 8.6.3. The most visible " -"result of this change is the addition of new native file dialogs when " -"running on Windows Vista or newer. See Tcl/Tk's TIP 432 for more " -"information. Also, this version of Tcl/Tk includes support for Windows 10." -msgstr "" - -#: ../NEWS:51745 -msgid "" -":issue:`17896`: The Windows build scripts now expect external library " -"sources to be in ``PCbuild\\..\\externals`` rather than ``PCbuild\\..\\..``." -msgstr "" - -#: ../NEWS:51748 -msgid "" -":issue:`17717`: The Windows build scripts now use a copy of NASM pulled from" -" svn.python.org to build OpenSSL." -msgstr "" - -#: ../NEWS:51751 -msgid "" -":issue:`21907`: Improved the batch scripts provided for building Python." -msgstr "" - -#: ../NEWS:51753 -msgid "" -":issue:`22644`: The bundled version of OpenSSL has been updated to 1.0.1j." -msgstr "" - -#: ../NEWS:51755 -msgid "" -":issue:`10747`: Use versioned labels in the Windows start menu. Patch by " -"Olive Kilburn." -msgstr "" - -#: ../NEWS:51758 -msgid "" -":issue:`22980`: .pyd files with a version and platform tag (for example, " -"\".cp35-win32.pyd\") will now be loaded in preference to those without tags." -msgstr "" - -#: ../NEWS:51762 -msgid "**(For information about older versions, consult the HISTORY file.)**" -msgstr "**(Untuk informasi tentang versi-versi lama, lihat berkas HISTORY.)**" diff --git a/python-newest.whatsnew--index/id.po b/python-newest.whatsnew--index/id.po deleted file mode 100644 index 44e8c7b..0000000 --- a/python-newest.whatsnew--index/id.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001 Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# oon arfiandwi (OonID) , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.14\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 14:19+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: oon arfiandwi (OonID) , 2021\n" -"Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../../whatsnew/index.rst:5 -msgid "What's New in Python" -msgstr "Apa yang Baru di Python" - -#: ../../whatsnew/index.rst:7 -msgid "" -"The \"What's New in Python\" series of essays takes tours through the most " -"important changes between major Python versions. They are a \"must read\" " -"for anyone wishing to stay up-to-date after a new release." -msgstr "" -"Serial esai \"Apa yang Baru di Python\" membawa tur melalui perubahan yang " -"paling penting antara versi utama Python. Serial tersebut adalah \"wajib " -"dibaca\" untuk siapa saja yang ingin tetap up-to-date setelah ada rilis " -"baru." - -#: ../../whatsnew/index.rst:38 -msgid "" -"The \"Changelog\" is an HTML version of the :pypi:`file built` from " -"the contents of the :source:`Misc/NEWS.d` directory tree, which contains " -"*all* nontrivial changes to Python for the current version." -msgstr ""